CPU 병렬 처리: Difference between revisions

From CS Wiki
(새 문서: ;CPU Parallel Processing ;CPU에서 명령을 처리 할 때 여러 명령을 동시에 처리하는 방식 == 종류 == {| class="wikitable" |- ! 기법 !! 설명 |- | 파이프라...)
 
No edit summary
Line 8: Line 8:
|-
|-
| 파이프라인 ||  
| 파이프라인 ||  
[[파일:슈퍼 파이프라인.png]]
[[파일:슈퍼 파이프라인.png|400px]]
* 명령어 사이클 각 단계를 중첩하여 실행
* 명령어 사이클 각 단계를 중첩하여 실행
|-
|-
| 슈퍼 파이프라인 ||
| 슈퍼 파이프라인 ||
[[파일:슈퍼 파이프라인.png]]
[[파일:슈퍼 파이프라인.png|400px]]
* 파이프라인 단계를 더 세분화하여 병렬성 강화  
* 파이프라인 단계를 더 세분화하여 병렬성 강화  
|-
|-
| 슈퍼 스칼라 ||  
| 슈퍼 스칼라 ||  
[[파일:슈퍼 스칼라.png]]
[[파일:슈퍼 스칼라.png|400px]]
* 한 사이클당 여러 명령어 처리
* 한 사이클당 여러 명령어 처리
|-
|-
| 슈퍼 파이프라인<br>슈퍼 스칼라 ||  
| 슈퍼 파이프라인<br>슈퍼 스칼라 ||  
[[파일:슈퍼 파이프라인 슈퍼 스칼라.png]]
[[파일:슈퍼 파이프라인 슈퍼 스칼라.png|400px]]
* 파이프라인 단계를 세분화하며 한 사이클당 여러 명령어 처리
* 파이프라인 단계를 세분화하며 한 사이클당 여러 명령어 처리
|-
|-

Revision as of 08:50, 23 November 2019

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)