CPU 병렬 처리: Difference between revisions
From CS Wiki
No edit summary |
No edit summary |
||
(4 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]] | ||
* 명령어 사이클 각 단계를 중첩하여 실행 | * 명령어 사이클 각 단계를 중첩하여 실행 | ||
|- | |- | ||
Line 32: | Line 33: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! 종류 !! 세부 설명 !! 해소 방안 | ! 종류 !! 세부 설명 !! 해소 방안<ref>[http://q.fran.kr/문제/8181 출처: 공무원 전산직 기출]</ref> | ||
|- | |- | ||
| 구조적 해저드 | | 구조적 해저드 | ||
(Structural Hazards) || 하드웨어가 병행 수행을 지원하지 않는 경우 자원 충돌(Resource Conflicts) 발생 || 데이터 전방 전달 | (Structural Hazards) | ||
|| 하드웨어가 병행 수행을 지원하지 않는 경우 자원 충돌(Resource Conflicts) 발생 || 데이터 전방 전달 | |||
(Data Forwarding) | (Data Forwarding) | ||
|- | |- | ||
| 데이터 해저드 | | 데이터 해저드 | ||
(Data Hazards) || 명령 값이 이전 | (Data Hazards) | ||
|| 명령 값이 이전 명령에 종속되어 대기함 || 부족한 차원 추가 | |||
|- | |- | ||
| 제어 해저드 | | 제어 해저드 | ||
(Control Hazards) || 분기(jump, branch 등) 명령어에 의해 처리 꼬임 || 분기 예측 | (Control Hazards) | ||
|| 분기(jump, branch 등) 명령어에 의해 처리 꼬임 || 분기 예측 | |||
(Branch Prediction) | (Branch Prediction) | ||
|} | |} |
Latest revision as of 07:47, 11 December 2019
- CPU Parallel Processing
- CPU에서 명령을 처리 할 때 여러 명령을 동시에 처리하는 방식
종류[edit | edit source]
기법 | 설명 |
---|---|
파이프라인 |
|
슈퍼 파이프라인 |
|
슈퍼 스칼라 |
|
슈퍼 파이프라인 슈퍼 스칼라 |
|
VLIW |
|
파이프라인 해저드[edit | edit source]
종류 | 세부 설명 | 해소 방안[1] |
---|---|---|
구조적 해저드
(Structural Hazards) |
하드웨어가 병행 수행을 지원하지 않는 경우 자원 충돌(Resource Conflicts) 발생 | 데이터 전방 전달
(Data Forwarding) |
데이터 해저드
(Data Hazards) |
명령 값이 이전 명령에 종속되어 대기함 | 부족한 차원 추가 |
제어 해저드
(Control Hazards) |
분기(jump, branch 등) 명령어에 의해 처리 꼬임 | 분기 예측
(Branch Prediction) |