CPU 병렬 처리: Difference between revisions

From CS Wiki
No edit summary
No edit summary
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
[[분류:컴퓨터 구조]]
;CPU Parallel Processing
;CPU Parallel Processing
;CPU에서 명령을 처리 할 때 여러 명령을 동시에 처리하는 방식
;CPU에서 명령을 처리 할 때 여러 명령을 동시에 처리하는 방식
Line 8: Line 9:
|-
|-
| 파이프라인 ||  
| 파이프라인 ||  
[[파일:슈퍼 파이프라인.png|400px]]
[[파일:파이프라인.png|400px]]
* 명령어 사이클 각 단계를 중첩하여 실행
* 명령어 사이클 각 단계를 중첩하여 실행
|-
|-
Line 32: Line 33:
{| class="wikitable"
{| class="wikitable"
|-
|-
! 종류 !! 세부 설명 !! 해소 방안
! 종류 !! 세부 설명 !! 해소 방안<ref>[http://q.fran.kr/문제/8181 출처: 공무원 전산직 기출]</ref>
|-
|-
| 구조적 해저드
| 구조적 해저드
Line 41: Line 42:
| 데이터 해저드
| 데이터 해저드
(Data Hazards)  
(Data Hazards)  
|| 명령 값이 이전 명령 값에 종속되어 대기함 || 부족한 차원 추가
|| 명령 값이 이전 명령에 종속되어 대기함 || 부족한 차원 추가
|-
|-
| 제어 해저드
| 제어 해저드

Latest revision as of 07:47, 11 December 2019

CPU Parallel Processing
CPU에서 명령을 처리 할 때 여러 명령을 동시에 처리하는 방식

종류[edit | edit source]

기법 설명
파이프라인

파이프라인.png

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

슈퍼 파이프라인.png

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

슈퍼 스칼라.png

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

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

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

파이프라인 해저드[edit | edit source]

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

(Structural Hazards)

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

(Data Forwarding)

데이터 해저드

(Data Hazards)

명령 값이 이전 명령에 종속되어 대기함 부족한 차원 추가
제어 해저드

(Control Hazards)

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

(Branch Prediction)