命令セットの設計
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/08/04 08:47 UTC 版)
マイクロアーキテクチャを設計するとき、技術者はRegister Transfer Language(コンパイラの中間形式と同じ名前だが直接の関係はない)を使って ISAの各命令の処理を定義する。 ISAをプロセッサとして実装する方法が歴史的に大きく2つ存在している。この記事は実装についての記事ではないので深くは扱わない。詳細はCPU設計などの記事を参照のこと。 ワイヤードロジック マイクロプログラム方式 この他、エミュレータや仮想機械などインタプリタ型のソフトウェアによる実装や、ハードウェア記述言語などでFPGAなどのプログラマブルロジックデバイスのコンフィギュレーションとして記述されたソフトプロセッサがある。 今日、新たなISA(あるいはマイクロアーキテクチャ)を開発しようとするベンダーはソフトウェアエミュレータを作って、ハードウェアが完成する前にソフトウェア開発者が開発に取り掛かることができるようにするのが一般的である。 命令セットの設計では、一部のオペコードをソフトウェア割り込みに利用する。例えば、6502では0x00、Z80では0xFFなど、68000では0xA000から0xAFFFがソフトウェア割り込みに使われた。 PopekとGoldbergの仮想化要件に適合した命令セットでは、高速な仮想機械の実装が容易になる。 複数プロセッサを搭載するシステムでは、命令セットでフェッチ・アンド・アッド、LL/SC、コンペア・アンド・スワップなどの機能をサポートすることで排他制御の実装が容易になる。
※この「命令セットの設計」の解説は、「命令セット」の解説の一部です。
「命令セットの設計」を含む「命令セット」の記事については、「命令セット」の概要を参照ください。
- 命令セットの設計のページへのリンク