Table of Contents
Pipelining은 여러 가지 지침을 실행하여 성능 향상을 위해 마이크로 프로세서 아키텍처에서 사용되는 기술입니다. 그것은 여러 단계로 처리하는 지시를 분할하고 동시에 처리 할 수있는 여러 지침의 다른 부분을 허용. 이 문서는 파이프 라인과 관련된 기본 계산을 탐구하고 구현에 직면 한 일부 실용적인 도전에 대해 논의합니다.
Pipelining의 기본 계산
파이프 라인의 기본 계산은 파이프 라인의 처리량과 효율성을 결정합니다. 처리량은 종종 사이클 (IPC) 당 지시로 측정됩니다. 파이프라인이 n 단계가 있다면, 이상적으로, 한 가지 명령은 파이프 라인이 채워진 후 모든 사이클을 완료합니다. 이상적인 처리량은 다음과 같습니다.
Throughput = 1 사이클당 1개의 명령어]
그러나 실제 성능은 파이프라인 위험과 씰과 같은 요인에 따라 달라집니다. 파이프라인 speedup은 다음과 같이 계산될 수 있습니다.
Speedup = pipelining / pipelining과 실행 시간 ]
Pipelining의 실제 도전
Pipelining은 여러 가지 실용적인 과제를 소개합니다. 데이터 위험은 이전 지침의 결과에 따라 달라질 수 있습니다. 행동의 흐름을 변경하는 지점 지침에서 위험이 발생합니다. 구조적 위험은 하드웨어 리소스가 과잉 지침을 지원하기 위해 충분할 때 발생합니다.
일반 위험
- 데이터 위험: 의 기술이 전달 또는 넣기와 같은 필요.
- Control Risk: 분기 예측을 통해 관리.
- Structural Risk: 하드웨어 리소스를 추가하여 해결되었습니다.
이러한 도전에 대한 해결은 마이크로 프로세서에서 pipelining에 의해 제공된 효율성 이익을 유지에 필수적입니다.