CPU 병렬 처리

From CS Wiki
Revision as of 08:50, 23 November 2019 by PE가즈아 (talk | contribs) (새 문서: ;CPU Parallel Processing ;CPU에서 명령을 처리 할 때 여러 명령을 동시에 처리하는 방식 == 종류 == {| class="wikitable" |- ! 기법 !! 설명 |- | 파이프라...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
CPU Parallel Processing
CPU에서 명령을 처리 할 때 여러 명령을 동시에 처리하는 방식

종류

기법 설명
파이프라인

슈퍼 파이프라인.png

  • 명령어 사이클 각 단계를 중첩하여 실행
슈퍼 파이프라인

슈퍼 파이프라인.png

  • 파이프라인 단계를 더 세분화하여 병렬성 강화
슈퍼 스칼라

슈퍼 스칼라.png

  • 한 사이클당 여러 명령어 처리
슈퍼 파이프라인
슈퍼 스칼라

슈퍼 파이프라인 슈퍼 스칼라.png

  • 파이프라인 단계를 세분화하며 한 사이클당 여러 명령어 처리
VLIW
  • Very Long Instruction Word
  • 동시에 수행될 수 있는 명령어들을 컴파일러 수준에서 하나의 명령어로 압축
  • 인텔-HP의 IA64 EPIC에서 활용

파이프라인 해저드

종류 세부 설명 해소 방안
구조적 해저드

(Structural Hazards) || 하드웨어가 병행 수행을 지원하지 않는 경우 자원 충돌(Resource Conflicts) 발생 || 데이터 전방 전달 (Data Forwarding)

데이터 해저드

(Data Hazards) || 명령 값이 이전 명령 값에 종속되어 대기함 || 부족한 차원 추가

제어 해저드

(Control Hazards) || 분기(jump, branch 등) 명령어에 의해 처리 꼬임 || 분기 예측 (Branch Prediction)