_ch10_2コントロールユニットのマイクロプログラミング

1. マイクロプログラミング

ここに画像の説明を挿入

1.1 マイクロプログラミング設計のアイデア

マイクロプログラムの設計手法を使用してコンピュータシステムのコントローラを実現します。

マイクロプログラムの設計は、命令セットの変更と拡張を容易にすることを目的としています。

各ビートによって発行される制御コマンドは、実際には、対応するコンポーネントの動作を制御する 1 つまたは複数の電気信号です。

微程序的设计思想,是将控制信号存储起来
高レベルと低レベルを保存して、ビートごとに発行する必要があるマイクロ操作コマンドを制御します。

一条机器指令 对应一个微程序, 一个微程序对应多个微指令,
每一个微指令对应 一个或者多个微操作控制信号
マイクロ命令の順序は、実行プロセスにおけるマイクロ操作の順序です。

将逻辑信号,保存在存储器当中,使用存储器对给定的存储单元,进行读出,由这些信号控制相关部件进行操作

マイクロプログラミングの考え方は、各機械命令をマイクロプログラムに書き込むことです。各マイクロプログラムには複数のマイクロ命令が含まれており、各マイクロ命令は 1 つまたは複数のマイクロ操作コマンドに対応します。

1.2 マイクロプログラム制御部の基本ブロック図

命令フェッチ サイクルは完了するまでに 3 ビートかかり、各ビートはマイクロ命令に対応します。
そのビート内で制御コマンドを生成する作業を完了します。

微程序,微指令都保存在控制存储器当中,

機械語プログラムは機械語命令の順序付けられた集合であり、マイクロプログラムはマイクロ命令の順序付けられた集合であり、機械語命令の機能はマイクロプログラムによって実現されます。

1.3 動作原理


各機械命令は、機械命令に対応するマイクロプログラムを説明および実行するための複数のマイクロ命令から構成されるマイクロプログラムで構成されています。

ここに画像の説明を挿入

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

1.3.1 命令フェッチフェーズ

命令フェッチフェーズでは、命令フェッチマイクロプログラム
M -> CMAR
CM ( CMAR ) --> CMDRを実行します。


CMDR は、次のマイクロ命令アドレス M +1 を形成するコマンドを送信します。

広告 (CMDR ) –> CMAR
CM (CMAR ) --> CMDR


CMDR は、次のマイクロ命令アドレス M+2 を形成するコマンドを送信します。

Ad (CMDR ) --> CMAR
CM (CMAR ) --> CMDR は
CMDR によって命令されます

ここに画像の説明を挿入

1.3.2 実行フェーズ

OP ( IR ) --> マイクロアドレス形成部 --> CMAR

CM (CMAR) —> CMDR
ここに画像の説明を挿入

1.3.2 命令フェッチフェーズ

M --> CMAR
CM (CMAR) --> CMDR
ここに画像の説明を挿入

すべてのマイクロ命令は CM に保存され、プログラム実行中にのみ読み出す必要があります。
重要なポイントは次のとおりです。

  1. マイクロ命令の op-control フィールドが micro-op コマンドを形成する方法
  2. マイクロ命令の後続のアドレスがどのように形成されるか

2. マイクロ命令のコーディング方式(制御方式)

2.1 ダイレクトコーディング(直接制御)方式

マイクロ命令の動作制御フィールドでは、
各ビットがマイクロ動作コマンドを表します。

ここに画像の説明を挿入

2.2 フィールドダイレクトエンコード方式

マイクロ命令の制御フィールドをいくつかの「セグメント」に分割し、
各セグメントはデコード後に制御信号を送信します。

ここに画像の説明を挿入

各フィールドのコマンドは相互に排他的であり、
マイクロ命令のワード長は短くなり、デコード時間は長くなります。

2.3 フィールド間接符号化方式

ここに画像の説明を挿入

2.4 混合コーディング

直接エンコードとフィールド エンコードの組み合わせ (直接および間接)

3. マイクロ命令シーケンスアドレスの形成

3.1 マイクロ命令の下位アドレスフィールドは、次のことを示します。

ここに画像の説明を挿入

3.2 機械語命令からのオペコードの形成

3.3 インクリメンタルカウンター

( CMAR ) + 1 --> CMAR

3.4 支店移転

アクション制御フィールド 転送方法 転送先アドレス

転送方法:判定条件を示す
転送アドレス:転送成功後の所在を示す

3.5 テストネットワークに合格

ここに画像の説明を挿入

3.6 ハードウェアによって生成されるマイクロプログラム エントリ アドレス

特別なハードウェアによって生成された最初のマイクロ命令のアドレス。

割り込みサイクル: ハードウェアによって割り込みサイクルを生成するマイクロプログラムの先頭アドレス

3.7 後続のマイクロ命令アドレス形成方法の概略図

後続のマイクロ命令のアドレス形成方法は()となります。

  1. マイクロ命令の下位アドレスフィールドによって直接指定されます。
  2. 機械語命令のオペコードから形成される
  3. インクリメンタルカウンタ方式、つまり (CMAR)+1→CMAR
  4. テストネットを通じて形成された

ここに画像の説明を挿入

4. マイクロ命令フォーマット

4.1 水平方向のマイクロ命令

複数の並列操作を定義し、一度に実行できます。


直接コーディング、フィールド直接コーディング、フィールド間接コーディング、直接コーディングとフィールド混合コーディングなど

4.2 垂直マイクロ命令

機械命令のオペコードに似ています。

マイクロ命令の機能は、microopcode フィールドによって指定されます。

4.3 2 つのマイクロ命令フォーマットの比較

    1. 垂直マイクロ命令と比較して、水平マイクロ命令は並列演算能力が高く、
      柔軟性が優れています。
    1. 水平マイクロ命令は、
      1 つの機械命令を実行するために必要なマイクロ命令の数が少なく、速度が速い
  1. 水平マイクロ命令は、より短いマイクロプログラム構造をより長い
    マイクロ命令構造と交換します。

  2. 水平方向のマイクロ命令は機械語命令とはまったく異なります

5. 静的マイクロプログラミングと動的マイクロプログラミング

5.1 静的

静的: ROM を使用するため、マイクロプログラムを変更する必要はありません。

5.2 ダイナミクス

コンピュータ システムの命令セットを変更または拡張したり、
命令セット内の命令を増やしたりすることが可能です。

動的: マイクロ命令とマイクロプログラムを変更することでマシン命令を変更します。
これはシミュレーションに役立ち、EPROM を使用します。

6. ナノプログラミング

6.1 ナノプログラミングの基本概念

マイクロプログラミング: 機械命令をマイクロプログラムとして解釈する。 ナノプログラミング
: マイクロ命令をナノプログラムとして解釈する。

マイクロ命令はマシン命令を解釈するためのものであり、
ナノ命令はマイクロ命令を解釈するためのものです。;

ナノ命令とマイクロ命令の関係は、マイクロ命令と機械命令の関係と同じです。

6.2 ナノプログラムメモリの基本構成

ここに画像の説明を挿入

7. シリアルマイクロプログラム制御とパラレルマイクロプログラム制御

7.1 シリアルマイクロプログラム制御

ここに画像の説明を挿入

8. マイクロプログラミングの例

8.1 機械語命令に対応したマイクロ操作とビート配列を書き出す

CPU の構造が組み合わせロジックと同じであると仮定すると、

  1. 命令フェッチフェーズのマイクロオペレーション解析OP(IR)
    ここに画像の説明を挿入
    → マイクロアドレス形成部 → CMAR

  2. 命令フェッチフェーズのマイクロ操作とビート配置

ここに画像の説明を挿入

  1. 実行段階でのマイクロオペレーションとビートアレンジ

後続のマイクロ命令のアドレスを形成する必要性を考慮すると、
命令フェッチ マイクロプログラムのエントリ アドレス M は、
マイクロ命令の下のアドレス フィールドによって指定されます。

非記憶命令

ここに画像の説明を挿入

メモリフェッチ命令
ここに画像の説明を挿入

転送命令:
ここに画像の説明を挿入
20種類のマイクロオペレーション、合計38マイクロ命令、
水平ダイレクトコーディング方式を採用する場合、各マイクロオペレーションはオペレーション制御フィールドの1ビットで表現される必要がある。

8.2 マイクロ命令フォーマットの決定

(1) マイクロ命令のエンコーディング方式は
ダイレクト制御を採用

(2) 後続のマイクロ命令のアドレス形成方法は、
マイクロアドレス形成コンポーネントを介して機械語命令のオペコードによって形成され、
マイクロ命令の下位アドレス フィールドによって直接与えられます。

(3) マイクロ命令のワード長は
20 のマイクロ操作によって決まり
、操作制御フィールドは少なくとも 20 ビットです。

38 個のマイクロ命令があります。
マイクロ命令の下位アドレス フィールドは 6 ビットであると決定され、
マイクロ命令のワード長は 20 + 6 = 26 ビットになります。

(4) マイクロ命令語長の決定

38 個のマイクロ命令のうち 19 個
は後続のマイクロ命令アドレス CMAR に関するものです

そのうちの 1 つ
: OP (IR) マイクロアドレス形成部 CMAR
18: Ad (CMDR) —> CMAR

Ad (CMDR) を使用してコントロール メモリ アドレス ラインを直接送信すると
、CMAR への入力時間が節約され、CMAR が省略されます。

  • 同様にOP(IR)→マイクロアドレス形成部→制御記憶アドレス線

19 個のマイクロ命令、2 個のマイクロ操作を保存できます (
38 - 19 = 19)
。アドレス フィールドは少なくとも 5 ビット必要です。

20 - 2 = 18
操作制御フィールドには少なくとも 18 ビットが必要です。

(5) CMARの制御メモリは省略されています

ここに画像の説明を挿入
ある程度のマージンを残すことを検討してください。

フェッチ操作制御フィールド:

次のアドレスフィールド:

(6)マイクロ命令動作制御フィールドの各ビットのマイクロ動作を定義する。
ここに画像の説明を挿入

8.3 マイクロ命令コードポイントの記述

下位アドレスフィールドでは、3 ビットごとに 8 進数を表します。
ここに画像の説明を挿入

追記

2023, 06.30.
ハルビン工業大学のコンピュータ構成原理の理論部分を読んだ後、私は
年の初めに勉強し始めました;
その時私の祖父はまだそこにいました、そして今日は旧暦の13日です.いつか、守りたい人を守ることができるようになるまで、私はもっと
強くなり続けることを願っています。

後ろからスタートして、

  1. アセンブリ言語 (Wang Shuang)、
  2. そしてオペレーティングシステムの研究(南京大学)。
  3. オペレーティング システムに関する講義 45、Peng Dong;
    学習プロセス中に、Huake のコンピュータ構成原理の一部を確認することが散りばめられます。

おすすめ

転載: blog.csdn.net/chumingqian/article/details/131478002