대가는 결과를 만든다

파이프라인 구조 본문

이론/일반 이론

파이프라인 구조

yunzema 2018. 6. 1. 18:00
반응형

파이프라인 구조 개념

- 여러 개의 명령어가 중첩해 실행되는 구조

- 연속된 명령어들 사이의 병렬성 활용

- 단일 작업의 실행시간을 줄이는 대신, 전체 작업부하의 총 처리량을 개선


특징

- 여러 개의 작업들이 동시에 처리

- 파이프라인 단계의 길이가 각기 다르면 성능개선이 줄어듬


참고 : cs.sch.ac.kr/lecture/arch/2009-2/09-컴구조-6-파이프라인.pdf










하나의 명령어가 4단계를 거쳐 완료되는 데에 소요되는 시간을 명령어 사이클이라고 하며, 각각의 단계에 소요되는 시간을 파이프라인 사이클이라고 한다.

파이프라인 사이클을 일정하게 하면 각 단계들을 동기적으로 동작시킬 수가 있으므로 제어하기가 간편하다.

파이프라인 사이클을 같도록 설계하려면 시간이 가장 많이 소요되는 단계를 기준으로 삼는다. 파이프라인 사이클이 일정하지 않을 수도 있는데,

이때는 각 단계 사이에 버퍼를 두어 비동기식으로 동작이 계속 이루어지게 한다.


참고: http://jade314.tistory.com/entry/파이프라인방식 [마음을 공유하는 사람]





정리


파이프 라인을 쓰지 않는다면?

=> 하나의 명령어(요청)를 처리하는데 1,2,3,4 단계가 있다고 가정할때

하나의 명령어(요청)를 하나씩 처리 완료한다면, 이미 지나간 단계는 놀거나, 대기하는 단계가 놀게 됨(->총 처리량 감소에 영향)


파이프 라인을 쓴다면?

=> 파이프 라인 구조로 처리한다면, 모든 단계가 계속적으로 쉬지않고 일을 처리하여 총 처리량을 늘릴 수 있게됨

(동기적으로 각 단계가 같은 단위시간으로 일을 처리하고 넘겨야 함 - 가장 긴 시간을 필요로 하는 단계의 시간으로 맞춰 작동하게 됨.)

'이론 > 일반 이론' 카테고리의 다른 글

개인정보 보호법 및 암호화 관련 정리  (0) 2019.12.12
REST API  (0) 2018.09.27
시간 복잡도 관련 공부  (0) 2018.06.01
TCP와 UDP 비교  (0) 2018.05.29
Comments