티스토리 뷰
CPU의 실행 구조
CS - CPU 의 구조
CPU(Central Processing Unit): CPU란 대게 컴퓨터의 두뇌라고 비유되며, 컴퓨터의 통제 및 명령어 처리, 데이터의 연산 등을 담당하는 컴퓨터의 제일 핵심적인 파트이다. CPU는 세가지의 핵심적인 유닛으
compilemonster.tistory.com
CPU의 기본 실행 구조는 4개의 단계로 나눌 수 있다.
이 각각의 실행 구조들을 이용해 세부 작업들을 나누어 동시적으로 처리하는 기법이 파이프 라인이다.
실행 구조들을 더 작게 나누어 처리할 수도 있다. 현재 16단계까지도 나누어 실행한다.
일반적으로(전통적으로) 파이프라인의 설명할때 cpu의 4단계/5단계 실행구조를 이용해 설명한다.
파이프라인(Pipeline)
- CPU의 성능을 높이기 위한 설계기법
- 하나의 작업에 필요한 일을 세부적으로 나누어 동시적으로 처리하는 기법
- 명령어를 순차적으로 실행하는 프로세서에서 적용하며, 명령어를 중첩으로 동시에 처리하여 실행 속도를 높인다.
예시)
월병을 만드는데
1.반죽을 알맞은 양으로 덜고
2.덜어진 반죽을 눌러 속을 채울수 있게 준비하고
3.속을 넣고
4.속을 싸고
5.틀을 찍고
6. 포장한다
위의 6단계로 나누어 일을 하는 이유는 뭘까?
일을 생산성을 높이기 위해서이다.
한마리의 토끼가 1단계부터 6단계까지 전부 담당한다고 하면
반죽을 뽑아내는 기계는 2~6단계가 끝날때까지 놀고있고
반죽 속을 덜어내는 기계도 4단계에서 다시 2단계가 끝날때까지 놀고있는다.
이렇게 노는 자원이 없게 하기 위해 일을(명령어를) 세부적으로 나눠 함께 실행해 결론적으론 처리량을 늘리는것이다.
Cycle 싸이클
한개의 세부작업을 처리하는 시간을 사이클이라고 한다.
위의 이미지에서 한개의 instruction을 처리하는데 5 cycle이 걸린다.
1hz = 1cycle / sec
파이프라인을 이용한 전체 명령어 실행 시간
Tk = k + (N -1)
T = k * N
Tk :파이프라인을 이용한 전체 명령어 처리 시간
T: 파이프라인을 이용하지 않은 전체 명령어 처리 시간
K : 파이프라인의 단계 수
N: 실행할 명령어들의 수
위의 이미지에 대입해보면
파이프라이닝을 이용한 전체 명령어 처리 시간은: Tk = 5 + (5 -1) = 9 사이클이 소요된다
파이프라이닝을 이용하지 않는다면 5개의 명령어가 5단계의 실행을 해야하므로: T = 5 * 5 = 25 사이클이 소요된다.
'CS' 카테고리의 다른 글
CS - 슈퍼스칼라란 (0) | 2022.12.19 |
---|---|
CS - RISC 와 CISC의 차이 (0) | 2022.12.19 |
CS - GPU와 그래픽카드의 정의와 CPU와의 비교 (0) | 2022.12.05 |
CS - CPU 의 구조 (1) | 2022.11.29 |
CS - 컴퓨터의 기억장치(메모리): ROM/RAM 과 HDD/SSD (0) | 2022.11.28 |