[컴퓨터 구조] 병렬처리-파이프라인과 슈퍼스칼라(pipeline & superscalar)

2017. 3. 5. 19:579급 공무원/컴퓨터 일반

* 파이프 라이닝

> 순차 실행 프로세서에 적용되는 기술(SISD)

> 명령의 처리 단계를 나누고 서로 다른 명령들을 중첩 실행 시키는 것

> 하나의 프로세서를 서로 다른 기능을 가진 다수의 서브프로세서로 나누어 동시에 서로 다는 데이터 처리


* 해저드 : 파이프라인이 속도가 느려지는 경우

 > 예상 시간에 연산자가 사용 불가능할 경우 일어남

 - 데이터 해저드 : 수행중인 명령 사이의 종속성( 데이터 전방전달 or 소프트웨어 스케줄링으로 해소)

 - 구조적 해저드 : 하드웨어가 지원하지 않음 ( 부족한 자원 추가로 해소)

 - 제어 해저드 : 분기에 의해 발생( 중지, 다른 명령 수행, 분기 예측 등의 방법으로 해결)


* 암달의 법칙 컴표터 시스템의 일부르 ㄹ개선할 때 전체적으로 얼마만큼의 최대 성능 향상이 있는지 계산하는 데 사용

p%에서 s배의 성능이 향상된 경우 = 1/( (1-p)+ p/s)


* 슈퍼 파이프 라이닝

> 파이프 라인들을 더욱 작게 분할하여 처리 시간 차이를 최소화.

> 어떤 동작이 실행 될 때, 그 클럭을 나누어서 다음 명령어에 대한 동작을 수행. (클럭이 높아짐에 따라 나누기 힘들어져서 잘 사용하지 않음.


* 슈퍼스칼라

> CPU 내에 여러개의 파이프 라인을 두어 명령어를 동시에 실행하는 기술

> 데이터, 자원, 프로시저 의존성을 가질때 불가능

> stall이 발생하면 동시 실행하는 명령어 수만큼 멈추기 때문에 손해가 크다.

반응형