|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ ー : [ちょうおん] (n) long vowel mark (usually only used in katakana)
マイクロプログラム方式(マイクロプログラムほうしき、マイクロプログラミング、英:microprogramming)は、プロセッサの制御装置の実装手法のひとつであり、CPU内のマイクロプログラム(マイクロコード)を使用して、複雑な命令を比較的容易に実装する。 利点としては、オペレーティングシステムを含めたソフトウェアから見た場合のハードウェア(命令セットアーキテクチャ、ISA)を、容易に追加・拡張したり、あるいはプロセッサ間で標準化して互換性を高める、更には異なる命令セットのCPUのエミュレートにも応用可能である(仮想化技術のひとつともいえる)。 反面、複雑な命令の増加はパイプラインの効果が薄れる結果ともなりやすい。 一般にROM (Read Only Memory) またはPLA()、またはそれらを組み合わせたものに格納される。また、動的にプログラマブルにするために、コントロールストアをRAMにすると、起動時に読み込みが必要である。ROMにすれば読み込みは必要ないが、動的にプログラム可能という利点がなくなる。 マイクロプログラム方式は、主にCISCのCPUで採用されている。 マイクロプログラム方式に対し、論理ゲートとフリップフロップを配線でつなぎあわせて直接実装する方式はワイヤードロジックである。RISCは原則としてはワイヤードロジックで構築される。 マイクロプロセッサやマイクロコンピュータやマイクロコントローラの「マイクロ」とは、(どちらも英語の小さいという意味であるという以外)関連はない。 IBMなどのベンダーではマイクロコードという語を「ファームウェア」の同義として使うことがあり、周辺機器に格納されるマイクロプログラムも機械語プログラムもまとめてマイクロコードと呼ぶことがある〔"Microcode Update for SCSI Hard Disk" 〕。 == 概要 == マイクロプログラム (Microprogram) は非常に特殊なコンピュータプログラムであり、あるコンピュータアーキテクチャ上でより複雑なアーキテクチャをエミュレートするものである。マイクロプログラムは一般的なプログラムに比較して非常に小さいため、マイクロプログラムと呼ばれる。可能な限り実行速度を上げるよう注意深く最適化して設計される。 他のコンピュータプログラムと同様、マイクロプログラムはマイクロ命令の列からなる。マイクロ命令はコンピュータのCPUを最も基本的なレベルで制御するものである。 例えば典型的なマイクロ命令は以下のような処理を行う。 * レジスタ1をALUの入力"A"に接続する * レジスタ7をALUの入力"B"に接続する * ALUに2つの入力の足し算を実行するようセットする * ALUのキャリー入力にゼロをセットする * 結果をレジスタ8に格納する * フラグレジスタ ("condition codes") をALUのステータスフラグ ("Negative", "Zero", "Overflow", "Carry") にしたがってセットする * マイクロプログラムカウンタにしたがって次のマイクロ命令にマイクロジャンプを行う このような処理を並列して行うため、マイクロ命令は非常に大きな幅となることが多い。例えば56ビット(8ビットx7命令)やそれ以上になる。 マイクロプログラムはCPUのマイクロコードとしても知られている。マイクロコードはCPUの各マイクロ命令を1つの状態とした、状態遷移表をメモリであらわしたものと捉えることができる。 マイクロコードは(ファームウェアの一部として)ROMに格納されていることもあるし、CPUの初期化の一環としてRAMにロードされることもある。このため広義には、CPU以外を含むファームウェア全般をマイクロコードと呼ぶ場合もある。 コンピュータの電源投入時に、マイクロコードをロードする過程をIML(イニシャル・マイクロコード・ローダー)とも呼ぶ。またマイクロコードが格納されているメモリをコントロールストアと呼ぶ。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「マイクロプログラム方式」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Microcode 」があります。 スポンサード リンク
|