북 스터디/혼자 공부하는 컴퓨터구조 + 운영체제

명령어 병렬 처리 기법

EnoughTT 2023. 10. 22. 16:36

명령어 병렬 처리 기법

 

명령어 병렬 처리 기법

  • 명령어 파이프라이닝
  • 슈퍼스칼라
  • 비순차적 명령어 처리

 

명령어 파이프라이닝: 명령어들을 명령어 파이프라인에 넣고 동시에 처리하는 기법

  • 명령어 인출
  • 명령어 해석
  • 명력어 실행
  • 결과 저장

CPU는 한 명령어를 '인출'하는 동안에 다른 명령어를 '실행'할 수 있고, 한 명령어가 '실행'되는 동안에 연산 결과를 '저장'할 수 있음

 

파이프라인 위험

  • 데이터 위험: 명령어 간 '데이터 의존성'에 의해 발생
  • 제어 위험: 분기 등으로 인한 '프로그램 카운터의 갑작스러운 변화'에 의해 발생
  • 구조적 위험 (자원 위험): 명령어들을 겹쳐 실행하는 과정에서 서로 다른 명령어가 동시에 ALU, 레지스터 ㄷ긍고 같은 CPU 부품을 사용하려고 할 때 발생

 

 

슈퍼스칼라: CPU 내부에 여러 개의 명령어 파이프라인을 포함한 구조

 

 

비순차적 명령어 처리 (OoOE (OutofOrder Execution)): 명령어들을 순차적으로 실행하지 않는 기법

  1. M(100) ← 1
  2. M(101) ← 2
  3. M(102) ← M(100) + M(101)
  4. M(150) ← 1
  5. M(151) ← 2
  6. M(153) ← 3

3번은 뒤의 명령어와 순서를 바꾸어 실행해도 크게 문제될 것이 없음

 

'북 스터디 > 혼자 공부하는 컴퓨터구조 + 운영체제' 카테고리의 다른 글

RAM의 특징과 종류  (0) 2023.10.24
CISC와 RISC  (0) 2023.10.23
빠른 CPU를 위한 설계 기법  (0) 2023.10.19
명령어 사이클과 인터럽트  (1) 2023.10.18
레지스터  (0) 2023.10.17