본문 바로가기

Computer Science/컴퓨터구조

[컴퓨터 구조] 파이프라인

이 글은 www.youtube.com/watch?v=Ayf_s57RUSA&list=PLc8fQ-m7b1hD4jqccMlfQpWgDVdalXFbH&index=39 보고 공부한 글입니다.

 

클라우드 컴퓨팅의 기본이 되는 파이프라인, 벡터처리, 슈퍼컴퓨터

 

병렬처리란? 여러가지 기능 장치를 가지는 프로세서

동시에 여러가지 명령어를 수행
공통 프로세서 레지스터와 다중연산 유닛
동시에 2개의 이상의 연산 처리

공통적인 프로세서 레지스터(Procssor registers)가 있다. 메인 메모리에 연결되어 있다.

많은 연산유닛이 연결되어 있다 이는 동시에 수행 가능하다.

 

병렬처리의 종류(Flynn의 분류)

-SISD(Single instruction Single Datastream)
명령어도 하나고 하나의 데이터 스트림(여러 개 데이터)


-SIMD(Single instruction Multiple Datastream)
하나의 명령어 여려개의 데이터 스트림
여러 개의 프로세서에서 똑 같은 명령을 하는데 데이터 스트림만 다르게 들어가는 것


-MISD(Multiple instruction Single Datastream)
여러 개의 명령어 하나의 데이터 스트림(많지 않다.)


-MIMD(multiple instruction Multiple Datastream)
여러개 명령어 여러 개 데이터 스트림

 

병렬처리의 방법 파이프라인

Pipelineing

다단계 데이터 처리 방식 한 클럭에 다양한 명령어 수행
동시 다중 데이터 처리

R1, R2  R5 <- R3+R4를 수행할 때 놀고있다.

A1,B2곱하기와 A2,B2R1, R2에 값을 넣는 것을 동시에 한다. 곱샘을 하는 도중에 R4C1를 넣는다.

A1 * B1 + C1을 하는 도중 A2 * B2를 실행한다, A3, B3R1, R2에 넣는다.

각각 처리하는 부분을 세그먼트라고 한다.

 

클럭1Segment1만사용
클럭2Segment1,2만 사용
클럭3부터는 Segment1,2,3을 모두 사용한다.


세그먼트를 모두 사용하면 파이프라인이 꽉찻다고 한다.

 

파이프라인을 쓰지않고 클럭 하나당 하나의 동작만 수행하면 21클럭이 걸린다 근데 파이프 라인으로 9개의 클럭으로만 데이터를 처리 할 수 있다.

 

 

 

 

파이프라인의 구조

T1S1에 들어가고 결과가 R1에 들어간다. 다음에는 S2에는 T1이 있고 S1에는 T2가 들어간다.

세그먼트의 개수만큼 효율이 나온다.

 

 

728x90