새로운 패러다임은 명령어와 라이브스코어 실행 결과를 일시적으로 모아 두는 장소를 만들어 명령어 실행 과정을 다음과 같이 나눈다.:
명령어를 읽어들인다.
명령어 대기열(Reservation Station)에 명령어를 배치한다. 또, 리오더 버퍼(Reorder buffer)에도 할당한다.
대기열에 있는 명령어들은 메이저놀이터 자신의 피연산자(operand)가 완료가 되는지 계속 명령어 완료 결과를 엿듣는다.
피연산자가 모두 완료되면 이 명령어는 비로소 실행이 될 수 있고, 연산 장치(execution unit)에 필요한 장치를 요구한다.
필요한 장치를 받으면 대기열에서 스포츠토토 빠지고 실행이 된다(리오더 버퍼에는 계속 남아있어야 한다).
실행을 마치면 이 결과를 대기열에서 기다리는 명령에들에게 뿌린다(broadcasting).
리오더 버퍼에 자신이 완료되었다고 표시한다. 만약 리오더 버퍼에서 자신이 가장 오래된 명령어라면 비로소 자신의 연산 결과(레지스터 혹은 메모리 결과)를 반영(commit)한다. |
|