ハードワイヤード制御ユニットとマイクロプログラム制御ユニットの主な違いは、ハードワイヤード制御ユニットは制御信号を生成するシーケンシャルな回路であるのに対し、マイクロプログラム制御ユニットは制御信号を生成するマイクロインストラクションを制御メモリに持つユニットである点です。
プロセッサ(CPU)はコンピュータの主要コンポーネントで、ほとんどのタスクを処理する。
主に2つのサブシステムから構成されています。
演算・論理ユニット(ALU)と制御ユニット(CU)です。
ALUは数学と論理演算を処理し、CUは他のユニットにタイミング信号と制御信号を送り、タスクを同期させます。
コントロールユニットは、ハードワイヤードまたはマイクロプログラムのいずれかになります。
ハードワイヤード・コントロール・ユニットは、変更、デコード、実装が難しいが、演算の実行速度は非常に速い。
一方、マイクロプログラムされたコントロールユニットは、変更、デコード、実装が容易で、複雑な命令を扱うことができます。
ハードワイヤード・コントロール・ユニットとは
ハードワイヤード・コントロール・ユニットは、組合せ論理回路やゲートなどのさまざまな電子部品を使って実装されています。
回路は固定されたアーキテクチャを使用します。
命令セットを変更する場合は、配線も変更する必要があります。
ハードワイヤードであるため、命令セットは一定であり、変更されることはない。
そのため、RISC(Reduced Instruction Set Computers)と呼ばれる単純な命令セットを使用するプロセッサでは、ハードワイヤード制御ユニットが使用される。
図1:コンピュータの基本構造
通常、これらの制御ユニットは高速に実行される。
しかし、ハードワイヤード・コントロール・ユニットは、改造や実装が困難です。
また、既存の設計に新しい機能を追加することも困難です。
そのため、柔軟性は最低限です。
マイクロプログラム制御装置とは
マイクロプログラム制御ユニットについて語る前に、いくつかの用語を理解しておくことが重要です。
制御変数とは、マイクロ操作を指定する2進数の変数のことです。
制御ワードは、制御変数に含まれる1と0のセットです。
制御メモリは制御ワードを含んでいます。
マイクロプログラム制御ユニットには、制御メモリに格納されたマイクロ命令のシーケンスがあります。
これらのマイクロ命令は、マイクロオペレーションの実行のための制御信号を含む、コントロールメモリに存在する制御ワードを参照します。
さらに、CISC(Complex Instruction Set Computer)と呼ばれる複雑な命令セットに基づくプロセッサでは、Microprogrammed Control Unitが使用される。
これらの制御ユニットは、全体としてシンプルな構造になっている。
そのため、設計、実装、テストが容易です。
さらに、マイクロプログラム制御ユニットは、変更も容易です。
ハードワイヤードとマイクロプログラムの制御装置の違い
定義
ハードワイヤード制御ユニットとは、有限個のゲートを持つ組合せ論理ユニットを使用し、その応答を呼び出すために使用された命令に基づいて特定の結果を生成することができるユニットです。
マイクロプログラム制御ユニットとは、制御信号を生成するためのマイクロ命令を制御メモリに格納したユニットです。
速度
Hardwired Control Unitは、動作速度が速い。
Microprogrammed Control Unitは、頻繁にメモリにアクセスする必要があるため、動作速度が遅くなります。
変更点
ハードワイヤードコントロールユニットの改造は、ユニット全体を設計し直す必要があります。
マイクロプログラム制御ユニットでは、制御メモリ内のマイクロ命令を変更することにより、改造が可能です。
したがって、マイクロプログラム制御ユニットは、より柔軟性があります。
コスト
さらに、ハードワイヤード・コントロール・ユニットは、マイクロプログラム・コントロール・ユニットに比べて実装コストが高くなります。
複雑な命令の処理
また、Hardwired Control Unitでは複雑な命令を扱うことは困難ですが、Microprogrammed Control Unitでは複雑な命令を扱うことは容易です。
命令デコード
また、Hardwired Control Unitでは、Microprogrammed Control Unitに比べ、インストラクションのデコードが困難です。
命令セット サイズ
上記に加えて、Hardwired Control Unitは小さな命令セットを使用し、Microprogrammed Control Unitは大きな命令セットを使用しています。
制御メモリ
また、Hardwired Control Unitではコントロールメモリーを使用しませんが、Microprogrammed Control Unitではコントロールメモリーを使用します。
アプリケーション
ハードワイヤード・コントロール・ユニットは、RISC(Reduced Instruction Set Computers)と呼ばれる単純な命令セットを使用するプロセッサで使用されます。
マイクロプログラム制御ユニットは、CISC(Complex Instruction Set Computer)と呼ばれる複雑な命令セットを使用するプロセッサーで使用されます。
結論
結論として、ハードワイヤード制御ユニットとマイクロプログラム制御ユニットの大きな違いは、ハードワイヤード制御ユニットは制御信号を生成する逐次回路であり、マイクロプログラム制御ユニットは制御メモリ内のマイクロ命令から制御信号を生成するユニットであることである。