Pipeline 구조 - 데이터 & 구조 2

2021. 3. 22. 18:31Computer(인강)/컴퓨터 구조

728x90
반응형

안녕하세요 bannavi입니다^ㅅ^

오늘은 지난시간에 이어서 Pipeline구조 두번째 시간입니다

바로 시작해보도록 하겠습니다

 

 

 

지난 시간에 이어서 이 화면을 봐볼게요

첫번째 Clock Pulse가 들어갔을때 R1에다가 A1값과 B1값을 갖다가 R1 R2에 이동시키고

두번째 Clock Pulse가 진행이 되었을 때 곱한 결과를 R3에 저장해줍니다. 그 시간에 동시에 R4에는 C1의 값을 저장해줍니다.

세번째 Clock Pulse가 진행되면 어떻게 되는 거죠? 곱한값을 R3에 집어넣어주고 R4에는 C2의 값을 저장해줍니다.

결과적으로 Serial(직렬)한 상황이 아니기 때문에  파이프라인에서는 보기와 같이 세번의 Clock Pulse 이후 부터 R5의 첫번째 결과(5번째의 레지스터에 실질적인 결과값이 들어오게 되고)를 획득하고, 파이프 라인상에서 데이터 이동 시작!

세번째 Clock Pulse부터는 어떤 시스템도 놀고있는게 없는거네요

 

 

하나의 프로세스를 다수개의 서브 프로세스로 나누고, 나눈 프로세스를 갖다가 시스템을 배치시키면서

시스템을 효율적으로 돌아갈 수 있게 하는것이 파이프라인임을 알 수 있겠습니다.

 

 

이 그림은 이전 포스팅에서 설명드렸던 내용이지요?

지금 이 파이프라인에서는 중요한것은 segment가 뭐고, clock pulse, register의 컨셉에 대해서 이해하시면 될것 같습니다.

 

4.4 Pipeline 구조 & 데이터 처리

# 파이프라인(Pipeline)의 일반적 고찰

1. 동일한 복잡도의 부연산들로 나뉘어지는 어떠한 연산 동작도 파이프라인 프로세서에 의해 구현될 수 있다

2. 파이프라인 기술은 매번 다른 데이터 집합을 동일한 태스크에 적용시켜 여러번 반복하는 응용에 효과적이다.

 

 

 

아래 그림을 보고 하나 알아두어야 할 것은 무엇이 있을까요?

업무 강도가 어느정도 일정하게 비슷해야 한다는 것입니다!

만약에 S3가 다른 작업들에 비해 시간이 오래 걸리는 작업이라면 

나머지 R1, R2, R4는 작업을 다 하고도 기다려야 하는 경우가 생길 수 있어요.(유휴시간, 유휴리소스 발생)

Clock Purse는 동시에 들어갈 수 밖에 없습니다 그러니, 가장 오래 걸리는 쪽에 맞출수밖에 없는거죠

 

아래 표는 위의 그림에 대한 구현이라고 볼 수 있습니다

Segment를 구성할 때도 중요한 점이 있습니다. 4번의 세그먼트라면 일단 하나의 프로세스가 끝나야합니다

T1, T2,,, 모두 마찬가지 입니다

 

 

 

세그먼트가 많으면 이론적으로는 효율이 높아집니다.

 

-> 파이프라인을 썼을때가 비 파이프라인을 썼을때 보다 4배 정도 빠르구나!

근데 이 4배는 재밌게도 세그먼트의 수이구나 이런점을 알 수 있습니다.

tp가 20나노세컨즈라고 획일적으로 적용할 순 없을것입니다. 작업을 하다가 여러가지 문제가 발생할수도 있겠죠

그런 부분을 일일이 따지기가 어렵기 때문에 가정을 한 것입니다

728x90
반응형