[컴퓨터 구조] 병렬처리-파이프라인과 슈퍼스칼라(pipeline & superscalar)
2017. 3. 5. 19:57ㆍ9급 공무원/컴퓨터 일반
* 파이프 라이닝
> 순차 실행 프로세서에 적용되는 기술(SISD)
> 명령의 처리 단계를 나누고 서로 다른 명령들을 중첩 실행 시키는 것
> 하나의 프로세서를 서로 다른 기능을 가진 다수의 서브프로세서로 나누어 동시에 서로 다는 데이터 처리
* 해저드 : 파이프라인이 속도가 느려지는 경우
> 예상 시간에 연산자가 사용 불가능할 경우 일어남
- 데이터 해저드 : 수행중인 명령 사이의 종속성( 데이터 전방전달 or 소프트웨어 스케줄링으로 해소)
- 구조적 해저드 : 하드웨어가 지원하지 않음 ( 부족한 자원 추가로 해소)
- 제어 해저드 : 분기에 의해 발생( 중지, 다른 명령 수행, 분기 예측 등의 방법으로 해결)
* 암달의 법칙 컴표터 시스템의 일부르 ㄹ개선할 때 전체적으로 얼마만큼의 최대 성능 향상이 있는지 계산하는 데 사용
p%에서 s배의 성능이 향상된 경우 = 1/( (1-p)+ p/s)
* 슈퍼 파이프 라이닝
> 파이프 라인들을 더욱 작게 분할하여 처리 시간 차이를 최소화.
> 어떤 동작이 실행 될 때, 그 클럭을 나누어서 다음 명령어에 대한 동작을 수행. (클럭이 높아짐에 따라 나누기 힘들어져서 잘 사용하지 않음.
* 슈퍼스칼라
> CPU 내에 여러개의 파이프 라인을 두어 명령어를 동시에 실행하는 기술
> 데이터, 자원, 프로시저 의존성을 가질때 불가능
> stall이 발생하면 동시 실행하는 명령어 수만큼 멈추기 때문에 손해가 크다.
'9급 공무원 > 컴퓨터 일반' 카테고리의 다른 글
[운영체제] 프로세스의 상태 (0) | 2017.03.05 |
---|---|
[운영체제] 운영체제를 구성하는 프로그램 (0) | 2017.03.05 |
[운영체제] 버퍼링과 스풀링(Buffering & Spooling) (0) | 2017.03.05 |
[운영체제] 스레드(Thread) (0) | 2017.03.05 |
[컴퓨터 구조] 인터럽트(Interrupt) (0) | 2017.03.05 |