일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 머신러닝
- regression
- AI
- supervised learning
- ChatGPT
- 해커톤
- LG Aimers
- deep learning
- Machine Learning
- 티스토리챌린지
- PCA
- gpt
- 오블완
- 지도학습
- LG
- Classification
- GPT-4
- 딥러닝
- 회귀
- LG Aimers 4th
- OpenAI
- 분류
- LLM
Archives
- Today
- Total
SYDev
Chapter 05-2 : 명령어 병렬 처리 기법 본문
Computer Architecture + Operating System/Computer Architecture
Chapter 05-2 : 명령어 병렬 처리 기법
시데브 2023. 8. 4. 23:29명령어를 빠르고 효율적으로 처리하는 대표적인 명령어 병렬 처리 기법인 명령어 파이프라이닝, 슈퍼 스칼라, 비순차적 명령어 처리에 대해 알아보자.
명령어 파이프라인
- 명령어 파이프라이닝: 동시에 여러 개의 명령어를 겹쳐 실행하는 기법
- 단계가 겹치지만 않으면 명령어를 동시에 처리할 수 있다.
파이프라인 위험
데이터 위험
- 데이터 위험(data harzard): 명령어 간 '데이터 의존성'에 의해 발생
명령어1: R2 레지스터와 R3 레지스터에 저장된 값을 더한 값을 레지스터 R1에 저장
명령어2: R1 레지스터와 R5 레지스터에 저장된 값을 더한 값을 레지스터 R4에 저장
-> 명령어2는 명령어1보다 먼저 실행될 수 없음
제어 위험
- 제어 위험(control harzard): 분기 등으로 인한 '프로그램 카운터의 갑작스러운 변화'에 의해 발생
기본적으로 프로그램 카운터는 '현재 실행중인 명령어의 다음 주소'로 갱신 -> 프로그램 카운터의 변화로 명령어 주소가 바뀌면 실행중이던 파이프라인은 의미가 없어짐
- 분기 예측(branch prediction): 프로그램이 어디로 분기할지 미리 예측한 후 그 주소를 인출하는 기술
구조적 위험
- 구조적 위험(structural harzard): 명령어들을 겹쳐 실행하는 과정에서 서로 다른 명령어가 동시에 ALU, 레지스터 등과 같은 CPU 부품을 사용하려고 할 때 발생. 자원 위험(resource harzard)라고도 부름
슈퍼 스칼라
- 슈퍼 스칼라(superscalar): CPU 내부에 여러 개의 명령어 파이프라인을 포함한 구조
- 슈퍼스칼라 구조로 명령어 처리가 가능한 CPU를 슈퍼스칼라 프로세서 혹은 슈퍼스칼라 CPU라고 함
비순차적 명령어 처리
- 비순차적 명령어 처리(OoOE; Out-of-Order execution): 파이프라인의 중단을 방지하기 위해 명령어를 순차적으로 처리하지 않는 기법
- CPU가 데이터 의존성이 있는지, 순서를 바꿔 실행할 수 있는 명령어에는 어떤 것들이 있는지 판단하여 명령어의 순서를 바꿔서 처리
참고자료
- 강민철, <혼자 공부하는 컴퓨터구조 + 운영체제>, 한빛미디어(주), 2022.08.16
- https://www.robotstory.co.kr/raspberry/?vid=144
'Computer Architecture + Operating System > Computer Architecture' 카테고리의 다른 글
Chapter 05-3: CISC와 RISC (0) | 2023.08.04 |
---|---|
Chapter 05-1: 빠른 CPU를 위한 설계 기법 (0) | 2023.08.04 |
Chapter 04-3 : 명령어 사이클과 인터럽트 (0) | 2023.08.01 |
Chapter 04-2 : 레지스터 (0) | 2023.07.25 |
Chapter 04-1 : ALU와 제어장치 (0) | 2023.07.23 |