본문 바로가기

Computer Science/컴퓨터구조

파이프라인(pipe line)

파이프라인의 구현

: 하나의 프로세스를 서로 다른 기능을 가진 여러 개의 sub process로 나누어 각 프로세스가 동시에 서로 다른 데이터를 취급하도록 하는 기법

: 각 세그먼트(segment)에서 수행된 연산 결과는 다음 세그먼트로 연속적으로 넘어가게 되어 데이터가 마지막 세그먼트를 통과하게 되면 최종적인 연산 결과를 얻게 된다.(하나의 프로세스를 다양한 연산으로 중복시킬 수 있는 근간은 각 세그먼트마다의 레지스터(R)이다.)

 

파이프라인의 동작은 공간 시간표에 의해 설명이 된다.

(시간에 대한 함수로써 세그먼트의 사용 상황을 보여주는 것)

 

세그먼트(segment) : 동작의 횟수 구분

ex) 총 4개 세그먼트로 이루어진 파이프라인

FI(Fetch Instruction),

DA(Decode and calculate effective Address),

FO(Fetch Operand),

EX(EXecute instruction) 

 

Tn에서 Task 개수는 n

k 세그먼트 갯수

순차처리 시 clock cycle은 n*k

병렬처리 시 clock cycle은 k+n-1

파이프라인의 이론적 최대속도 증가율 = k 세그먼트 수

 

문제점

1. 자원충돌

2. 데이터 의존성

3. 분기 difficulty