파이프라인 성능을 저해하는 파이프라인 해저드의 개요 파이프파인 해저드의 개념 - 파이프라인 프로세서에서 명령어 의존성(데이터, 컨트롤, 자원)을 발생 시킬 수 있는 문제 - 파이프라인의 성능을 저해하는 요인, CPI(명령어당 실행 클럭 수)가 1이 되는 것을 방해하는 요소 ※ CPI(Cycles Per Instruction) : CPU가 한 개의 명령어를 처리하는데 소요되는 평균 사이클 수 파이프라인 해저드의 3가지 종류 구조적 해저드 - 하드웨어가 여러 명령들의 수행을 지원하지 않기 때문에 발생, 자원충돌(Resource Conflicts) 데이터 해저드 - 명령의 값이 현재 파이프라인에서 수행 중인 이전 명령의 값에 종속 - RAW, WAR, WAW 해저드가 존재 제어 해저드 - 분기(jump나 br..
명령어 파이프라인(Instruction Pipeline) 혹은 파이프라이닝(Pipelining)은 프로세서로 가는 명령어들의 움직임, 또는 명령어를 수행하기 위해 프로세서에 의해 취해진 산술적인 단계가 연속적이고, 다소 겹쳐서 수행하는 것을 의미한다. 파이프라인 기술이 없다면 프로세서는 메모리에서 명령어를 가지고 온 후, 연산을 수행하고, 다음번 명령어를 메모리로부터 가져오는 식으로 동작해야 하는 매우 비효율적인 방식으로 수행해야 한다. 즉, 명령어를 가져오는 동안에 프로세서의 산술연산 부분은 다음 명령어가 도착되기를 기다리며 쉬어야만 한다는 것이다. 파이프라인을 쓰게 되면, 하나의 명령어를 처리하는 동안 다음번 명령어를 가져올 수 있으며, 그것을 다음 명령어 연산이 수행될 수 있을 때까지 프로세서 근처..