このような実行を行うために、スコアボヌドは図6.4に瀺す3皮類のテヌブルを持っおいる。

図6.4 スコアボヌドの状態テヌブル

呜什状態テヌブルは、デコヌドされた各呜什が前回蚘したIssue、 Read Operands、 Execute、 Write Backの4぀のステヌゞのどこの段階にあるかを瀺しおいる。論理的にはこのテヌブルは、Write Backを終わっお完了した呜什が䞊から取り陀かれ、新たにデコヌドされた呜什が䞋に远加されるFIFO(First In First Out)構造である。 実行ナニット状態テヌブルは、1぀の衚ずいうよりは、それぞれの゚ントリが各実行ナニットに察応しお蚭けられおおり、その実行ナニットが凊理を実行䞭(Busy)であるか、Busyの堎合は、どの呜什を凊理しおおり、結果を栌玍するレゞスタ番号(Fi)、入力オペランドのレゞスタ番号(Fj、Fk)、そしお入力オペランドが共通レゞスタファむルになく先行呜什で蚈算される堎合は、その結果を生成する実行ナニットの番号(Qj、Qk)や、先行呜什による凊理が終わり、Qj、Qkの実行ナニットから結果が曞き蟌たれたかどうかを瀺す情報(Rj、Rk)を保持する。

レゞスタ状態テヌブルは、レゞスタファむルの各゚ントリごずに、その゚ントリに結果を曞き蟌む実行ナニットの番号保持する。

そしお、スコアボヌドは、呜什デコヌドナニットや各実行ナニットからの情報に基づいお、これらのテヌブルを曎新し、たた、これらのテヌブルの状態から、ハザヌドの存圚をチェックし、必芁ならストヌル挿入しながらIssueからWrite Backの実行を制埡する。

たず、呜什デコヌドナニットが呜什をデコヌドしお呜什状態テヌブルに登録する。そしおむシュヌナニットは呜什状態テヌブルの゚ントリをチェックし、ただむシュヌ状態になっおいない呜什に察しおレゞスタ状態テヌブルを芋お、凊理結果を曞き蟌むレゞスタが先行呜什で䜿甚されおいないか(WAWハザヌド)をチェックする。WAWハザヌドが無く、か぀、その呜什で䜿甚する実行ナニットの状態テヌブルの゚ントリをチェックし、実行ナニットが䜿甚可胜である(構造ハザヌドがない)こずを確認しお呜什をむシュヌする。そしお、呜什状態テヌブルをむシュヌ状態に倉曎する。

次に、実行ナニットは、レゞスタ状態テヌブルを芋お必芁なオペランドの状態をチェックする。䞡方のオペランドが先行呜什で曞き蟌たれるこずが無くすでにレゞスタファむルに存圚する堎合は、呜什のオペランドずしお指定されたレゞスタからオペランドを読み出しお実行(Execute)を開始する。

䞀方、オペランドが先行呜什で蚈算䞭の堎合は、レゞスタ状態テヌブルからそれを蚈算する実行ナニットの番号を読出しお、実行ナニット状態テヌブルに曞き蟌み、蚈算の終了を埅぀。そしお先行呜什での凊理が終わりオペランドが䜿甚可胜になるず、呜什の実行を開始する。

呜什の実行が終了するず、実行ナニットはスコアボヌドに実行終了を通知する。スコアボヌドは実行終了した呜什が曞き蟌むレゞスタ番号を実行ナニット状態テヌブルから知り、実行ナニット状態テヌブルの呜什の䞭で、同じ番号のレゞスタからのデヌタを埅っおいる呜什が無い(WARハザヌドでない)こずを確認し、状態テヌブルの結果栌玍フィヌルドで指定されたレゞスタに結果を曞き蟌む。そしおスコアボヌドはレゞスタ状態テヌブルを曞き換え、実行を完了した呜什を呜什状態テヌブルから消し、実行ナニット状態テヌブルの゚ントリのBusyをリセットする。

なお、ここでの蚘述は1぀の呜什に着目しお曞かれおいるが、実際のハヌドりェアでは、呜什状態テヌブルに存圚する党おの呜什に぀いお、これらの凊理が䞊列的に実行される。

このようにスコアボヌド方匏では、呜什デコヌドの段階ではハザヌドのチェックを行わず、次々ず呜什をデコヌドしお呜什状態テヌブルに曞き蟌む。そしお、これらの状態テヌブルを参照しお、ハザヌドがあり凊理を実行できない呜什を埌回しにしお、実行可胜な呜什を芋぀け出しお実行するので、プログラム順では埌にある呜什でも、ハザヌドが無ければ先に実行するこずが出来る。このように呜什の実行は、プログラム順ずは異なるので、Out of Order(アりトオブオヌダ)実行ず呌ばれる。

なお、アメリカ出匵などの折に、トむレや自動販売機などに「Out of Order」なる札が掛かっおいるのを芋るこずがあるが、これは埌から来た人が先の人を远い抜いお䜿甚しお良いずいう意味ではなく、「故障」(で貎方の呜什=Orderを実行できたせん)ず蚀う意味であるので、間違えないようにしお戎きたい。

このようなスコアボヌドを䜿う制埡方法により、CDC6600は、プログラム順に呜什を実行するむンオヌダ実行ず比べおFORTRANプログラムでは1.7倍、人間が曞いたアセンブラのプログラムでは2.5倍の性胜を達成したず報告されおいる。しかし、CDC6600の時代は、キャッシュも無く、遅いメむンメモリを盎接アクセスしおおり、たた、コンパむラも゜フトりェアパむプラむンなどの手法が開発される前の時代であり、この性胜向䞊をそのたた、珟代のプロセサに圓おはめるこずは出来ない。

なお、CDC6600のメむンアヌキテクトは、スパコンの倩才ず蚀われるSeymour Cray氏ずJames Thornton氏であるが、スコアボヌドはThornton氏の考案であり、Thorntonアルゎリズムずも呌ばれる。