일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 3d
- CI/CD
- version mismatch
- WebVR
- javscript
- Node
- 상태관리
- VR
- PDO
- auth0
- web
- bootstrap
- vuetify
- npx
- Three.js
- AR
- promise
- aframe
- vue-template-compiler
- A-Frame
- WebXR
- PHP
- array
- Component
- JavaScript
- EM6
- package-lock.json
- vue
- vuex
- JS
- Today
- Total
대가는 결과를 만든다
파이프라인 구조 본문
파이프라인 구조 개념
- 여러 개의 명령어가 중첩해 실행되는 구조
- 연속된 명령어들 사이의 병렬성 활용
- 단일 작업의 실행시간을 줄이는 대신, 전체 작업부하의 총 처리량을 개선
특징
- 여러 개의 작업들이 동시에 처리
- 파이프라인 단계의 길이가 각기 다르면 성능개선이 줄어듬
참고 : 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 |