상세 컨텐츠

본문 제목

컴퓨터구조 - 파이프라이닝

엔지니어일기/이것저것

by jaws99 2019. 8. 17. 22:19

본문

반응형

파이프라이닝의 개념은 쉬는 시간 없이 일을 시키는 느낌이다.(군대인 줄..)

 

강의에서는 빨래를 예로 들고 있다.

 

빨래 - 건조기 - 다림질(?) - 옷장 순서이다.

 

각 단계가 30분씩 걸린다고 가정하면,

위와 같은 방식이면 4명이 모두 빨래를 하는 시간이 8시간이 걸리게 된다.

아래처럼 세탁기랑 건조기를 혹사시키면  3.5시간으로 약 2.3배 빠른 결과가 나온다.

 

즉, 한 타임에 한 가지 일만 하는 게 아니라 여러 가지 일을 동시에 한다.

 

명령어 파이프라인은

- IF(Instruction Fetch)

- ID(Instruction Decode)

- EX(Execute)

- MEM(Memory)

- WB(Write Back)

의 5단계를 거친다.

 

앞에 그림의 위 방식처럼 생각하면 한 명령어를 실행시키고, 다음 명령어를 실행시키기까지 너무 많은 시간이 걸린다.

그래서 아래와 같은 방법(파이프라인)으로 사용하기로 했는데 여기에는 몇 가지 문제가 있다.


메모리를 양쪽에서 접근하려 하거나, 앞의 연산의 결과가 다음 명령에서 필요할 때, branch 같은 분기문이 있을 때이다.

이 경우 속도가 느려지게 되고(다음으로 넘어가지 못하고 기다려야 한다.), 다음 단계로 넘어가지 못하는 이 상황을 해저드라고 부른다.

반응형

'엔지니어일기 > 이것저것' 카테고리의 다른 글

컴퓨터구조 - 해저드  (0) 2019.08.23
웹 보안 - SQL 인젝션  (0) 2019.08.22
웹 보안 - 브루트 포스  (0) 2019.08.16
OP.GG 크롤링하기  (0) 2019.08.08
컴퓨터 구조 - MIPS 명령어  (0) 2019.07.26

관련글 더보기