티스토리 뷰

CS

CS - 파이프라인/파이프라이닝

컴파일몬스터 2022. 12. 5. 20:23

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단계가 끝날때까지 놀고있는다.

이렇게 노는 자원이 없게 하기 위해 일을(명령어를) 세부적으로 나눠 함께 실행해 결론적으론 처리량을 늘리는것이다.

 

출처: Binary Terms

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 사이클이 소요된다.

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
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 29 30
31
글 보관함