반응형
1.병렬 처리 등장 배경
빠르게 하려고
- 다양한 병렬처리
- 파이프라인, 슈퍼 스칼라
- VLIW CPU : 명령어 엄청 김
- 멀티스레드 처리 가능 cpu
- 칩 하나에 cpu 여러개 = 멀티코어프로세서!!
- 특수기능 전담 프로세서 추가
- 다수의 프로세서가 효율적으로 함께 동작
- 다중 프로세서 = 칩이 여러개
- 다중 컴퓨터
- 그리드 컴퓨팅(인터넷 상 그룹핑)
2. 칩 단위 병렬 처리
프로세서에서 기본 인터페이스 변경 없이 속도 향상 방법
- 클록 속도 높이기
- 멀티 코어 프로세서 사용
- 특정 기능 장치 추가
- 파이프라인 단계 수 늘림
- 멀티 스레딩
1) 명령 레벨 병렬 처리
- 낮은 수준의 병렬화 달성 방법 - 클록 사이클 당 명령 여러개 실행
- 슈퍼 스칼라 : 파이프라인을 2개 이상 갖고 있음. 한 클록 사이클에서 동시에 여러 명령 처리.
- VLIW Very Long Instruction Word : 명령어를 길게 해서 장치를 여러개 동시에 쓰도록 함. - 그럴 수 있는 경우가 많지 않음 - 무의미한 명령어 NOP사용 → 효율 저하
2) 온 칩 멀티스레딩
- 스레드 : 프로그램 실행의 단위. 한 프로그램 = 여러개의 스레드
- cpu안에 동시에 여러 스레드 처리가능하도록 하드웨어가 갖춰져있음
- 스레드 여러개를 동시에 실행해서 스레드 하나가 멈추면 다른 게 바로실행. 쉴틈 없이 일함. 효율 굿
- 하이퍼 스레딩 : 물리적으로 cpu코어는 하나. 운영체제에게 논리적 CPU가 2개 있는 것처럼 속이는 것. ex) 하이퍼 스레딩 기능이 있는 듀얼코어 cpu → 운영체제에게 쿼드코어로 보임
3) 싱글 칩 다중 프로세서
- 동종 멀티코어 : 동일한 cpu코어 2개를 칩 하나에 내장. 현재 범용 cpu에 사용. 물리적 속도 한계 극복. 소프트웨어가 멀티 스레딩을 지원하도록 작성해야 함.
- 이종 멀티코어 : 다른 종의 cpu코어 2개 내장. 다른 기능을 통합해 좋은 성능.
3. 공유 메모리 다중 프로세서
- 플린의 컴퓨터 분류법
- 명령 스트림 I
- 데이터 스트림 D
- 분류
- SISD : 일반 순차적 폰노이만 컴퓨터
- SIMD : 대량 데이터 처리
- MIMD : 병렬 처리 컴퓨터의 궁극적 목표. 다중 컴퓨터.
- 밀결합 시스템(다중프) vs 소결합 시스템(다중컴) : 프로세서간 상호작용의 높고 낮음
- 공유 메모리 시스템
- UMA Uniform Memory Access
- 각 CPU가 모든 메모리 모듈에 액세스하는 시간이 똑같음.
- 하드웨어 간단. 프로그래밍 쉬움. 성능예측 가능.
- 공유자원들을 사용하려는 경합 증가, 규모의 한계.
- NUMA NonUniform ‘’
- 더 큰 규모를 위해
- cpu가까이에 있는 메모리 모듈이 멀리있는 것보다 액세스 시간 빠름
- 코드와 데이터의 위치가 성능에 중요한 영향.
- UMA Uniform Memory Access
1) UMA 다중 프로세서
- 단일 버스. 이걸로 모든 통신 → 대기시간 문제 → 캐시나 개인로컬private메모리 사용.
- UMA 멀티 프로세서 지원하는 cpu수에 제한 있음. → ???????
2) NUMA 다중 프로세서
동일 액세스 시간 포기, 규모 크게.
특성
- 모든 프로세서는 단일 주소공간(자기꺼private) 가짐
- LOAD, STORE 명령을 사용해 원격메모리에서 가져다놓음
- 사용자 입장에서는 논리적으로 하나의 메모리를 사용하는 것처럼 보임.
NC-NUMA NoCache ‘’ : 오래 걸림. 일관성ㅇㅇ
CC-NUMA Cache Coherent ‘’ : 일관성유지 캐시를 사용함
성능 향상 but 캐시 일관성 유지 문제, 캐시 미스 발생하면 성능저하.
4. 다중 컴퓨터
다중 컴퓨터(분산 메모리 시스템)
NORMA NO Remote Memory Access 시스템 : 로컬메모리에만 액세스. 원격메모리는 다른 컴이므로 상호 연결망으로 전송요청 메세지 전송message passing
다중 컴퓨터의 두가지 범주
MPP Massively Prallel Proccessors : 초고속 독점 연결망으로 긴밀하게 많이 cpu연결. 슈퍼컴퓨터
프로세서를 너무 많이 연결한 거라 fault-tolerance낮음(내결함성). 고장감지와 복구기능 보유
PC, 워크 스테이션 또는 서버의 상호 연결망으로 연결
- NOW Network Of Workstation
- COW Cluster Of Workstation (클러스터 컴퓨터. 네트워크 컴퓨터)
- 소프트웨어 기술인가 봄… 매력적인 병렬컴퓨터 구축방법이래
- 많은 독립형 컴퓨터, 운영체제, 고성능 상호 연결망, 미들웨어, 병렬 프로그래밍 환경 등이 필요함
- Grid Conputin : 위치를 따지지 않음
다중컴퓨터를 만드는 이유
- 다중프로세서보다 단순. 저렴. 그냥 컴 이으면 됨
- 공유 메모리 보다 훨씬 많이 이을 수 있음. 안복잡하고
- 다중프로세서와 비교적 구축은 쉽지만 프로그래밍은 어렵다는 단점.
반응형
'뚝딱 공부 상자 > 컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 구조] Chapter11. _용어 위주 (0) | 2022.06.25 |
---|---|
[컴퓨터 구조] Chapter9. 인터럽트 (0) | 2022.06.25 |
[컴퓨터 구조] Chapter8. 버스와 입출력 (0) | 2022.06.25 |
[컴퓨터 구조] Chapter7. 보조기억장치 (0) | 2022.06.25 |
[컴퓨터 구조] Chapter6. 기억장치 (0) | 2022.06.25 |