스코어보딩

스코어보딩(scoreboarding)은 충돌이 없고 하드웨어를 사용할 수 있을 때 명령이 순서 없이 실행될 수 있도록 명령을 동적으로 예약하기 위해 CDC 6600 컴퓨터에서 처음 사용된 중앙 집중식 방법이다.

스코어보드에는 모든 명령의 데이터 의존성이 기록되고 추적되며 항상 엄격하게 관찰된다. 명령은 스코어보드에서 이전에 발표된("in flight") 명령과 충돌이 없다고 판단한 경우에만 발표된다. 명령이 실행하기에 안전하지 않거나 리소스가 부족하여 명령이 중단된 경우 스코어보드는 중단된 명령이 실행되기 전에 모든 종속성이 해결될 때까지 명령 실행 흐름을 모니터링한다. 본질적으로 쓰기 위험이 없으면 읽기가 진행되고, 읽기 위험이 없으면 쓰기가 진행된다.

스코어보딩은 본질적으로 데이터플로 언어에서 볼 수 있는 것과 동일한 기본 알고리즘을 하드웨어로 구현하여 프로그래밍 언어 런타임에 동일한 논리가 적용되는 유향 비순환 그래프를 생성하는 것이다.

 같이 보기 
 명령어 수준 병렬성
 토마술로 알고리즘
 비순차적 명령어 처리

 각주 

 외부 링크 
 Dynamic Scheduling - Scoreboard
 Computer Architecture: A Quantitative Approach, John L. Hennessy & David A. Patterson
 EECS 252 Graduate Computer Architecture Lec XX - TOPIC, Electrical Engineering and Computer Sciences, Berkeley, University of California.
 Scoreboarding example 

분류:명령어 처리