728x90
시간을 알뜰하게 쓰며 CPU의 명령어들을 처리할 수 있는 방법이 있을까?
명령어 파이프 라인
- 명령어가 처리되는 과정을 비슷한 시간 간격으로 나누면?
- 1. 명령어 인출
- 2. 명령어 해석
- 3. 명령어 실행
- 4. 결과 저장
- 같은 단계가 겹치지만 않는다면 CPU는 각 단계를 동시에 실행할 수 있다.
⚠️ 파이프라인 위험
- 데이터 위험
- 명령어 간의 의존성에 의해 생기는 문제- 제어 위험
- 프로그램 카운터의 갑작스러운 변화- 구조적 위험
- 서로 다른 명령어가 같은 CPU부품(ALU,레지스터)를 쓰려고 할 때
슈퍼스칼라
- CPU내부에 여러개의 명령어 파이프라인을 포함한 구조(오늘날의 멀티 멀티스레드 프로세서)
- 이론적으로는 파이프라인 개수에 비례하여 처리 속도가 올라가지만 파이프라인 위험도의 증가로 인해, 파이프라인 개수에 비례하여 처리 속도가 증가하진 않음
비순차적 명령어 처리
- 파이프라인의 중단을 방지하기 위해 명령어를 순차적으로 처리하지 않는 명령어 병렬 처리 기법
- 합법적인 새치기
- 의존성이 없는 명령어의 순서를 바꾼다.
'컴퓨터 구조' 카테고리의 다른 글
메모리 & 캐시 메모리 - RAM의 특징과 종류 (0) | 2023.02.03 |
---|---|
빠른 CPU를 만들어보자!(3) : CISC & RISC (0) | 2023.02.03 |
빠른 CPU를 만들어보자!(1) : 클럭, 코어,스레드 (0) | 2023.02.03 |
명령어 사이클과 인터럽트 (feat. 멈춰!!) (1) | 2023.02.03 |
CPU안의 ALU & 제어장치 & 레지스터 (0) | 2023.02.03 |