8087マス・コプロセッサのアーキテクチャを学ぼう
タイトル: 8087 マス・コプロセッサのアーキテクチャ
目次:
- はじめに
- 8087 マス・コプロセッサの概要
- コントロールユニットの機能
- ニューメリック拡張ユニットの役割
- マス・コプロセッサのブロックダイアグラム
- 5.1. コントロールユニット
- 5.2. ニューメリック拡張ユニット
- ステータスレジスタの機能とビットの意味
- コントロールレジスタの管理モードと機能
- データバッファの役割
- アドレッシングとバス制御
- 8087 マス・コプロセッサのメモリスタック
- タグワードの意味と機能
8087 マス・コプロセッサのアーキテクチャ
8087 マス・コプロセッサは、Intelが開発した最初の数値演算用のコプロセッサです。本記事では、8087 マス・コプロセッサの詳細なアーキテクチャについて説明します。
はじめに
8087 マス・コプロセッサは、intelの8086および8088マイクロプロセッサと組み合わせて使用するために開発された、最初のコプロセッサです。この記事では、8087のアーキテクチャのブロックダイアグラムと各ブロックの機能について詳しく説明します。
8087 マス・コプロセッサの概要
8087 マス・コプロセッサは、制御ユニットと数値演算拡張ユニットで構成されるブロックダイアグラムに分かれています。制御ユニットは、8086または8088マイクロプロセッサとの間の通信を制御し、数値演算拡張ユニットは演算やデータ転送などの数値演算を担当します。
コントロールユニットの機能
コントロールユニットは、マイクロプロセッサと8087マス・コプロセッサとの間の通信を制御します。具体的な機能としては、命令の受信とデコード、メモリの読み書き、オペランドの管理などがあります。また、パラレルタスクの維持なども行います。
ニューメリック拡張ユニットの役割
ニューメリック拡張ユニットは、コンピュータの演算能力を向上させるために使用されます。8087マス・コプロセッサのニューメリック拡張ユニットは、算術演算や論理演算、データ転送など、さまざまな数値演算を担当します。
マス・コプロセッサのブロックダイアグラム
8087マス・コプロセッサのブロックダイアグラムは、制御ユニットとニューメリック拡張ユニットに分かれています。
5.1. コントロールユニット
コントロールユニットは、8086または8088マイクロプロセッサと8087マス・コプロセッサの通信を制御します。具体的な役割としては、命令の受信、デコード、実行、メモリの読み書き、オペランドの管理などがあります。
5.2. ニューメリック拡張ユニット
ニューメリック拡張ユニットは、8087マス・コプロセッサの数値演算を担当しています。具体的な役割としては、算術演算、論理演算、データ転送など、さまざまな数値演算を処理します。
ステータスレジスタの機能とビットの意味
8087マス・コプロセッサのステータスレジスタは、コプロセッサの状態を示します。ビットごとに異なる機能があります。具体的なビットの意味と機能については以下の通りです。
- ビット 15: ビジーコントロールビット(0: アイドル状態、1: 実行中)
- ビット 14-8: コンディションコードビット(各ビットに異なる条件が割り当てられている)
- ビット 13-11: 未使用
- ビット 10-8: スタックポイント
- ビット 7: 未使用
- ビット 6: ストップビット
- ビット 5: エラーサマリービット
- ビット 4: プレシジョンエラービット
- ビット 3: アンダーフローエラービット
- ビット 2: オーバーフローエラービット
- ビット 1: ゼロディバイドエラービット
- ビット 0: デノーマライズエラービット
コントロールレジスタの管理モードと機能
コントロールレジスタは8087マス・コプロセッサの動作モードと演算精度を管理します。また、例外フラグのマスキングやアンマスキングも行います。具体的な機能としては、ラウンド制御、プレシジョン制御、例外フラグのマスキングやアンマスキングなどがあります。
データバッファの役割
データバッファは8087マス・コプロセッサの命令キューの一部であり、演算命令を一時的に保持します。データバッファにはオペランドキューやタグボードなどが含まれています。
アドレッシングとバス制御
8087マス・コプロセッサでは、アドレスバスとデータバスを使用して、8086または8088マイクロプロセッサとの通信を行います。アドレッシングとバス制御は、プロセッサ間のデータ転送を制御する役割を担っています。
8087 マス・コプロセッサのメモリスタック
8087マス・コプロセッサには、データを一時的に保持するためのメモリスタックがあります。スタックはLIFO(後入れ先出し)の形式で動作し、データの格納と取り出しにはプッシュとポップ命令が使用されます。
タグワードの意味と機能
8087マス・コプロセッサのタグワードは、スタックレジスタの内容に関する情報を提供します。各レジスタには2ビットのタグがあり、有効、ゼロ、無効、空のいずれかの状態を示します。
以上が8087マス・コプロセッサのアーキテクチャに関する詳細な説明です。8087マス・コプロセッサは、8086または8088マイクロプロセッサと協調して動作し、高速で効率的な数値演算を可能にします。この記事が8087マス・コプロセッサについての理解を深めるのに役立っていれば幸いです。
リソース