マインドマップギャラリー コンピュータ構成原理のマインドマップ
これは、概要、データ操作、ストレージ システム、中央処理装置などを含む、02 コンピューターの構成原理に関するマインド マップです。
2023-12-08 15:47:38 に編集されましたコンピュータの構成原理
第一章 概要
コンピュータシステムの階層構造
ハードウェア
ノイマン型コンピューター
ストアドプロシージャ
制御フロードライバー
あらかじめコンパイルされたプログラムやデータがメインメモリに送られます コンピューターが項目ごとに実行します
ユニプロセッサ
命令とデータは同じステータスです
命令データは全てバイナリコードです
オペレーター中心
現代のコンピューター
記憶中心の
構造
入力デバイス
出力機器
メモリ
メインメモリ(内部ストレージ)
メモリバンク
補助ストレージ(外部ストレージ)
CPU
MAR (アドレスメモリ)
ビット数はストレージユニットの数に対応します
ストアアクセスアドレス
MDR (データメモリ)
ビット数は記憶ワード長と同じです
メモリから読み書きされた情報を一時的に保存します
オペレーター
ALU (算術論理演算装置)
組み合わせ論理回路
ACC(アキュムレータ)
MQ (乗数商レジスター)
X汎用レジスタ
オペランドと中間結果の一時保存
IX(インデックスレジスタ)
BE (ベースアドレスレジスタ)
PSW (プログラムステータスワードレジスタ/フラグレジスタ)
オーバーフロー、キャリー、ボローなどの操作で取得したフラグ情報を格納します。
コントローラ
PC(プログラムカウンター)
現在実行される命令のアドレスを格納します。実行後、次の命令のアドレスを形成するために自動的に 1 ずつインクリメントされます。
語長桁数→記憶語数
IR (命令レジスタ)
現在のコマンドを保存するために使用されます
MDR からのコンテンツ
命令語長
CU(コントロールユニット)
ソフトウェア
構成
システムソフトウェア
オペレーティングシステムOS
データベース管理システム DBMS
言語処理システム
ネットワークソフトウェアシステム
サービスプログラム
応用
日常的に使用するソフトウェア
言語
機械語
コンピュータで直接実行可能
バイナリコード
アセンブリ言語
英単語と略語
実行前に機械語に変換する
高級言語
Java、c、cなど。
ソースプログラムから実行ファイルへ
マルチレベル階層
インタプリタプログラム:翻訳と実行を同時に行う
パフォーマンス
単語の長さ
バイトの整数倍です (1B または 8 ビット)
マシンワード長
整数演算のためのCPU内のデータパス幅
ALU の長い桁数
汎用レジスタのビット数
命令語長
命令ワード内のバイナリコードビット数
ストレージワード長
1メモリユニットのバイナリコード長
データパスの帯域幅
データバス上で一度に並行して送信されるビット数
主記憶容量
計算速度
スループット
単位時間あたりに処理されるリクエストの数
メイン周波数
CPUクロック周波数
一般的には何HZですか?
1hz は 1 秒に 1 回を意味します
1GHZ = 10⁹
1 秒あたり何クロック サイクルか
CPUクロックサイクル
メイン周波数のカウントダウン
1/メイン周波数
クロックサイクルは何秒ですか?
消費者物価指数
命令の実行にかかるクロックサイクル数
命令を実行するのに何クロックサイクルかかりますか?
3つの要素に関係する
指図書
プログラミング(システム構成)
コンピュータの組織(アーキテクチャ)
CPU実行時間
(命令数 × CPI) / メイン周波数
MIPS
1 秒あたり何百万 (M) の命令が実行されますか?
メイン周波数 / (CPI×10⁶)
フロップス
ミリフロップス
浮動小数点演算は 1 秒あたり何百万回実行されますか?
浮動小数点演算の回数 / (実行時間 × 10⁶)
フロップス
十億
10⁹
フロップス
兆
10¹²
フロップス
京
10¹⁵
ズフロップス
透明性
非表示のコンテンツ
高級言語プログラマーにとって、 命令形式やデータ演算処理などは目に見えない内容
機械語またはアセンブリ言語のプログラマーの場合、 命令フォーマット、マシン構造、データフォーマットは可視コンテンツです
プログラマは CPU 内の MAR、MDR、および IR の内容を表示できません
第2章 データ操作
基本メソッド
バイナリ
基数は2です
8進数
8 つごとに 1 つに移動します
秘訣: 3 桁の 2 進数
10進数
16進数
123456789ABCDEF
ヒント①:4桁の2進数
ヒント②:Aは10を表します
BCDコード
8421コード
4 つの 2 進数は 10 進数を表します
修正方法:
① 2 桁の演算結果が 10 進数の 9 以下の場合、補正は行われません。
② 2桁の演算結果が10進数の10以上の場合は、10進数の6(0110)を加算します。
あと3ヤード
8421 コードに 3 を加算します (0011) このように、すべての数字には 3 の余りがあります。
2421コード
最も高い位置から最も低い位置まで、 2421 例: 5=(0101)
コード化された表現
元のコード
0 は一意ではないことを意味します
語長は n 1、署名された元のコードの範囲です -(2ⁿ-1)≤ x ≤ 2ⁿ-1
逆コード
正の数 元のコード = 逆コード
負の数 符号ビットは変更されず、値は反転されます。
補体
0は一意であることを意味します
正の数 元のコード = 逆コード = 補コード
負の数 元のコードの逆コード変換: 元のコードは右から左にあり、最初の 1 を見つけ、この 1 の左側にあるすべての数値ビットを反転します。つまり、補数コードを取得します。
語長は n 1、符号付き補数範囲 -2ⁿ≤x≤2ⁿ-1
C言語では2の補数形式で保存されます
フレームシフト
0は一意であることを意味します
浮動小数点数を表す指数
オフセット
補数符号ビットを否定 → フレームシフト
固定小数点シフト
算術シフト
記号的な数字の場合
シフトしても符号ビットは変化しません。
正の算術シフト 元の拒否と補足には 0 を記入してください
負の算術シフト 元のコードには0を入力してください 2 の補数コードは、左シフトの場合は 0、右シフトの場合は 1 で埋められます。 逆引きコードに 1 を入力してください
論理シフト
符号なし数値の場合
論理左シフト、上位ビットは失われ、下位ビットはゼロで埋められます
論理右シフト、下位ビットは失われ、上位ビットはゼロで埋められます
固定小数点数の加算と減算
2 の補数の加算と減算
加算直接演算
引き算 補数 (-B) 補数
識別子
符号なしの数字
CF キャリーボロー
符号なし数値のオーバーフローを判定する
追加キャリー
減算借入の決定
小~大 貸出席あり
ZFゼロマーク
結果が 0 の場合、ZF=1
署名された番号
ZFゼロマーク
SF シンボルフラグ
結果を表す記号
OF オーバーフローフラグ
符号付き数値のオーバーフローを判定する
オーバーフロー判定
1 つの符号ビット
2つの符号ビット (モジュロ 4 の補数)
保存時は1ビットのみ保存されます
2 つのビットが同じであれば、オーバーフローは発生しません。
二人の異なる人物
01
正のオーバーフロー
10
負のオーバーフロー
固定小数点数の乗算
元のコードの1ビット乗算
手計算
10 進数と同様に直接計算します
コンピュータ計算
A×Bを計算する
図
被乗数 A は X 汎用レジスタに格納されます
乗数 B を MQ に保存する
各ラウンドの演算結果は ACC に格納されます。
プロセス
被乗数と乗数は絶対値を取り、演算に参加します。 符号ビットは個別に処理されます (XOR 演算)
① ACC の数値が汎用レジスタ X の数値に加算されるのはいつですか? MQ の最下位ビットが 1 かどうかを確認します。 1 の場合、ACC と X を加算し、結果を ACC に置きます
(ACC) (X) → ACC
② 新しい結果を ACC に格納した後、論理右シフトを実行します MQ論理右シフト、ACC論理右シフト ACC の上位ビットは 0 で埋められ、ACC の下位ビットから右にシフトされた数値が MQ の上位ビットに移動されます。 MQの下位ビットが移動される
1の補数の乗算
手計算
コンピュータ計算
補助ビット - MQ 最下位ビット = 1、(ACC) (x) の補数
補助ビット - MQ 最下位ビット = 0、(ACC) 0
補助ビット - MQ 最下位ビット = -1、(ACC) (-x) の補数
プロセス
2 つの符号ビットを使用した 2 の補数の 1 ビット乗算
n ラウンドの加算、シフトを実行し、最後に再度加算します。
各シフトは算術右シフトです
符号ビットは演算に参加します
補助ビットは MQ の最下位ビットの後にあり、最初は 0 です。 MQ 右シフトからの追加の数値は、元の補助ビットの最初の 0 または他の数値を置き換えます。
加算とシフトの処理は元のコードの1ビット乗算と同じです。
固定小数点除算
元のコード分割(余り回復方法)
a÷b
ACC は配当 a、剰余を格納します
MQ ストレージ商 (最初はすべて 0)
X には除数 b が格納されます
プロセス
まず、デフォルトの商は 1 ですが、エラーが発生した場合は 0 に変更され、余りが復元されます。
商が0の場合はACC(b)補数を実行し、結果をACCに代入します。
商 1、ACC (-b) 補足を実行します。
計算結果の符号ビットが 1 の場合、商が間違っていることを意味します。
加算演算と新しい結果が得られた後、ACC と MQ は論理的に左にシフトされ、MQ の下位ビットは 0 で埋められます。
上記の操作を繰り返します
独自のコード分割(加算・減算交互方式)
はじまったばかり、 a を補完 (-b) して新しい剰余を取得します
剰余が負の場合、商は 0 となり、剰余は論理的に左にシフトされ、(b) 補数となります。
剰余が正の場合、商は 1 になります。剰余は論理的に左にシフトされ、(-b) が追加されます。
最後のステップ 剰余が負の場合、商は 0 になります。(b) 補数を使用して正しい剰余を取得します。
2 の補数除算 (加算と減算を交互に行う)
符号ビットは演算に参加します、二重符号ビット
はじまったばかり 被除数と除数が同じ符号であるかどうかを判断します。 符号が同じ場合、被除数 - 除数 符号が異なる場合、被除数は除数になります。
フォローアップ 剰余と除数は同じ符号を持ちます 商 1、余りと商 (ACC MQ) 左シフト、除数の減算 剰余と除数の符号が異なります 商0、余りと商を左にシフトし、除数を加算
データストレージの配置
ビッグエンディアンストレージ
人々の読書習慣と同じ
リトルエンディアンストレージ
それどころか
境界線の配置
整数型
int型
4B 32ビット
長い
4B 32ビット
ショートタイプ
2B 16ビット
文字型
1B 8ビット
浮動小数点数
表現形式
番号記号
コード
フレームシフトで表現
仮数
元のコードを10進数で表現
標準化
左貴
仮数を 1 つ左にシフトし、指数を 1 つ減らします。
正しいルール
仮数を右に 1 位置シフトし、指数に 1 を加算します。
IEEE754
32ビット単精度
構成する
1桁の数字
拡張コード(フレームコード) 8ビット
展開真値 = フレーム コード - オフセット値 127
コード範囲 1~254
仮数部23桁
オフセット値 127
変換プロセス
① 数字記号
②仮数部
③コードの真価
④フレームコード(フレームコード) = コードの真理値 - オフセット値
⑤ 仮数部は指数の真の値に応じて移動します
例
コードをすべて 0 または 1 にすることはできません
64ビット倍精度
1桁の数字
コード11桁
仮数部 52 ビット
オフセット値 1023
浮動小数点の加算と減算
①正しい順序
小さなステップは大きなステップと一致します
指数コードの小さな仮数は右に 1 桁シフトされ、指数は 1 になります。
②仮数部の和
③標準化
正しいルール
1×.××の時、右ゲージ
仮数を右にシフトし、指数に 1 を加算します
左貴
0.0の場合、左ルール
仮数を左にシフトし、指数を 1 減らします
正規化された数値
元のコードの仮数部の上位ビットは 0 ではなく、補数コードの仮数部の上位ビットは数字記号と異なります。
補体
単一シンボルの正規化
0.1xxx 1.0xxx
2 つのシンボルの正規化
00.1xxx 11.0xxx
④丸め込み
整列または右利きのときに丸めが発生します
0の丸め方法
丸めに似ている
定数セット 1 メソッド
最上位ビットが 1 か 0 かに関係なく、右シフト後の仮数部の末尾を 1 に設定します。
⑤ オーバーフロー判定
正のアンダーフローと負のアンダーフローの場合、コンピュータはそれを 0 として扱います。
キャスト
char→int→long→double
浮動小数点数→倍精度浮動小数点
第三章 ストレージシステム
記憶の分類
レベル別に分類
キャッシュ
メインメモリ
補助記憶装置
メディアごとに並べ替える
磁性面
テープ
ディスク
磁気コア
半導体
CD
アクセス方法ごとに分類
RAM - ランダム アクセス メモリ
ROM - 読み取り専用メモリ
現代の記憶は電気的に消去できる
シリアルアクセスメモリ
情報の保存性による分類
電源オフ時は揮発性
ラム
不揮発性
ロム
磁性面
CD
メモリパフォーマンスのメトリクス
ストレージ
保存単語数 × 単語長
ストレージ速度
アクセス時間
アクセス開始からアクセス完了までの時間
保管期間
アクセス時間 回復期間
メインメモリの帯域幅
データ転送速度
1 秒あたりにメイン メモリに出入りするメッセージの最大数
多層ストレージシステム
CPU-キャッシュ-メインメモリ-補助メモリ
CPUとキャッシュ前のデータ転送はハードウェア(目に見えない)によって行われます
メインメモリとセカンダリメモリ間の接続は、ハードウェアとオペレーティングシステムによって完了します(アプリケーションプログラマには見えません)。
メインメモリ
ランダム・アクセス・メモリ
ラム
キャッシュはSRAMで実装されています
SRAM
スタティックランダムアクセスメモリ
双安定フリップフロップ
非破壊読み出し
高コスト、高速、低統合
メインメモリはDRAMで実装されています
ドラム
ダイナミックランダムアクセスメモリ
ゲート容量
たまにはリフレッシュしなきゃね
集中リフレッシュ
固定時間を使用してコンデンサをリフレッシュします
デッドタイム
散在リフレッシュ
各行のリフレッシュをさまざまなサイクルに分散します。
デッドゾーンなし
非同期リフレッシュ
リフレッシュ期間を行数で割った値 時々リフレッシュしてください
最大インターバル時間 2ms
死ぬ時間はある
低コスト、低速、高統合
アドレスピンの多重化
ロム
ロム
特徴
シンプルな構造
不揮発性
分類
MROMマスクパターン読み出し専用メモリ
変更できない内容
PROM ワンタイムプログラマブル読み取り専用メモリ
一度書き込んだものは変更できません
EPROM 消去可能プログラマブル読み取り専用メモリ
書き換え可能、限られたプログラミング時間、長い書き込み時間
フラッシュメモリ(フラッシュメモリ)
情報の長期保存
オンラインでのクイック消去書き換え
のCD-ROM
のCD-ROM
SSDソリッドステートドライブ
情報の長期保存
クイック消去、再書き込み
並列メモリ
デュアルポートメモリ
空間的平行性
マルチボディ並列メモリ
時間並列性
高次クロスオーバー(シーケンシャルモード)
シリアルアクセス
シーケンシャルメモリ
低次インターリーブ(インターリーブアドレッシングモード)
上位内部アドレスは、デコードのために下位モジュールに送信されます。
パイプラインアプローチ
ワードにアクセスするためのアクセスサイクルビットT バス送信周期はr
クロスモジュール数 ≥ T/r
m ワードに連続してアクセスするのに必要な時間は T (m-1)/r
メインメモリとCPUの接続
データラインは双方向です 住所行は一方通行です
容量拡張
単語の展開
2/4デコーダー機能: チップセレクト
ビット拡張
チップセレクト信号 cs はすべてのチップにリンクされる必要があります
メモリとCPUの接続
高チップ選択ライン、低アドレスライン
① 住所行
②データケーブル
③IOライン
④チップセレクトライン
外部記憶装置
ディスク
最小読み取り単位、1セクタ
特徴
① 低コストで大容量
②長期保管
③非破壊読み出し
分類
ディスクストレージ
記憶領域
磁気ヘッド(記録面数)
1つの記録面が1つの磁気ヘッドに対応します
シリンダー
各プラッターには何トラックありますか?
セクタ
各トラックにはセクターがいくつありますか?
同じセクタ上に配置 → 1 回のメモリアクセスですべてのデータを読み出すことができます
パフォーマンス
平均アクセス時間
シークタイム
ヘッドが目的のトラックに移動するまでにかかる時間
遅れ
磁気ヘッドが読み取りセクターと書き込みセクターを見つけるのにかかる時間
送信時間
データ転送にかかる時間
セクター時間のクエリ
シーク時間/2
データ転送速度
1 秒あたりの回転数 × 各トラックの容量 n ビット
読み取りおよび書き込み操作はシリアルです
ディスクアレイ
RAID0
冗長性なし、チェックサムなし
RAID1
ミラーディスクアレイ
相互バックアップ
RAID2
ハミング コード ディスク アレイのエラー修正
RAID3
ビットクロスパリティチェック
RAID4
ブロッククロスパリティ
RAID5
独立した検証を行わないパリティ チェック
SSDフラッシュメモリ
Uディスクと変わらない
ランダム書き込みが遅い
磨耗が発生します
キャッシュ キャッシュ
動作原理
CPUがメモリアクセスリクエストを発行し、 メインメモリの物理アドレスがキャッシュ内にある場合、そのアドレスがヒットし、キャッシュが直接読み取られます。 キャッシュがミスした場合でも、メイン メモリにアクセスし、メイン メモリからキャッシュにキャッシュをロードする必要があります。
キャッシュ ブロック長 (ライン長とも呼ばれる)
すべてのプログラマーには見えません
キャッシュとメインメモリのマッピング方法
ダイレクトマッピング
命中率が最も低く、所要時間も最も短い
連想マッピングを設定する
タグとグループ番号はメインメモリのブロック番号を形成します
各グループに r 個のキャッシュ ラインがあると仮定すると、r-way セット アソシアティブと呼ばれます。 r はグループとして機能します
キャッシュ内のコンパレータの数も r です
キャッシュ容量 (ビット) = 行数 × (行あたりのデータ、有効ビット、ダーティ ビット、置換制御ビット、マーク ビット)
データの各行の単位はビットです
ダーティビット (一貫したメンテナンス)
ライトバック方式
制御ビットを交換する
置換アルゴリズムを使用する場合、このビットは ランダム置換戦略を使用する場合、このビットは使用できません
置換アルゴリズム
①ランダムアルゴリズム
②先入れ先出しアルゴリズム
最も古い行を最初に置き換えます
③ 最も最近使用されていないアルゴリズム (地域性の原則) LRU
最近訪問されていない行を置換する
④ LFU は最も一般的に使用されない
完全連想マッピング
命中率が最も高く、所要時間も最も長い
キャッシュ書き込み戦略
①
完全な書き方 (直接書きます)
高いセキュリティ
キャッシュ上の CPU 書き込みヒット
データはメインメモリとキャッシュに同時に書き込む必要があります 特定のブロックを置き換える必要がある場合は、新しいブロックで直接上書きします。
書き込みバッファ
メインメモリに直接書き込む時間のロスを減らすため
CPU はキャッシュと書き込みバッファに同時にデータを書き込みます。 バッファに書き込み、その内容をメインメモリに書き込みます。
非書き込み割り当て方式
CPU によるキャッシュへの書き込みミス
メインメモリへの書き込みではブロック調整は行われません
②
ライトバック方式(ライトバック方式)
集中的に
キャッシュ上の CPU 書き込みヒット
データをキャッシュにのみ書き込み、すぐにメインメモリには書き込みません このブロックがスワップアウトされる場合にのみメインメモリに書き込みます
書き込み代入メソッド
CPU によるキャッシュへの書き込みミス
メインメモリブロックをキャッシュにロードし、キャッシュブロックを更新します。
欠点: ミスが発生するたびに、メイン メモリからブロックを読み取る必要があります。
仮想メモリ
ユーザープログラミング用の論理アドレス(仮想アドレス) 主記憶単位は物理アドレス(実アドレス)です
仮想アドレス = ページ内の仮想メモリのページ番号
実アドレス = ページ内のメインメモリのページ番号
CPU は仮想メモリ アドレスを使用して、補助ハードウェアを通じて仮想アドレスと実アドレスの間のマッピング関係を見つけます。 メインメモリ上にある場合はアドレス変換により メイン メモリにない場合は、メイン メモリにページングされ、CPU によってアクセスされます。 メインメモリがいっぱいの場合は、置換アルゴリズムが使用されます
ヒットの欠落はシステムのパフォーマンスに大きな影響を与えます。
完全連想マッピングを使用してヒット率を向上させる
ライトバック方式
アプリケーション プログラマには見えないが、システム プログラマには見える
分類
ページメモリ
ページ単位で
ページテーブル
仮想アドレスの上位ビットの仮想ページ番号に基づいて、対応するページ テーブル エントリを見つけます。
高速テーブルTLB
連想記憶で構成されている
コンテンツアドレッシング
グループアソシエイティブまたはフルアソシエイティブを使用する
TLBタグ
完全に関連付けられた仮想ページ番号
セットアソシアティブ仮想ページ番号の上位ビット
多層ストレージシステム
TLB、ページ、キャッシュの関係
TLB にはページの部分コピーが保存されます。
キャッシュにはメインメモリの一部のコピーが保存されます。
TLB がヒットした場合、ページはヒットする必要があります。TLB が存在しない場合でも、ページはヒットする可能性があります。 ページが欠落している場合は、TLB とキャッシュの両方が欠落している必要があります。
キャッシュミスはハードウェアによって行われます ページ欠落はソフトウェアによって完了されます (オペレーティング システムのページ欠落例外ハンドラー) TLB の削除はハードウェアとソフトウェアの両方で実行できます
セグメント化された記憶
セグメント番号、セグメントアドレス、構成
セグメントテーブルの記録: ① セグメントの先頭アドレス ② ロードビット ③ セグメント長
セグメント化された記憶
ページを送信の基本単位とする場合
①セクション番号 ②セクション内のページ番号 ③ページ内のアドレス
第四章 命令
命令セットアーキテクチャ ISA
主な内容:命令形式、データ型と形式、オペランドの格納方法、プログラムでアクセスできるレジスタ数とその数 記憶領域のサイズとアドレッシングモード、アドレッシングモード、命令実行制御モードなど
コマンド形式
オペレーションコード OP アドレスコード A
命令語長はバイトの整数倍です
分類
ゼロアドレス命令
オペコード op のみ
動作命令: 動作なし、シャットダウン、シャットダウン割り込み 算術命令はスタック コンピューターで使用されます (オペランドはスタックの最上位と 2 番目のスタックの最上位から取得されます)。
1つのアドレスコマンド
デスティネーション オペランドのみを持つ単一オペランド命令
結果は元のアドレスに保存されます
暗黙的に合意された宛先オペランドを持つ 2 オペランド命令
別のオペランドは、暗黙のアドレス指定合意を通じて ACC によって提供されます。 演算結果はACCに格納される
2つのアドレス命令
デスティネーション オペランドとソース オペランドを指定します。
結果は宛先オペランドのアドレスに保存されます
3つのアドレス命令
デスティネーション オペランド、ソース オペランド、および結果を指定します。
メモリに 4 回アクセスします。命令を 1 回フェッチし、オペランドを 2 回フェッチし、結果を 1 回保存します。
4つのアドレス命令
op、デスティネーションオペランド、ソースオペランド、結果、次のアドレス
オペレーションコードは 8 ビット、4 つのアドレスコードはそれぞれ 6 ビットです。
拡張オペコード命令フォーマット
① 短いオペコードは長いオペコードの前の部分と同じであってはなりません
② 各命令のオペレーションコードは重複しません。
拡張モード
すべての 1 は、次のアドレス命令の拡張のために予約されています。
操作の種類
① データ送信
② 算術論理演算
③シフト操作
④転送動作
無条件譲渡
いずれにしても実行する
条件付き移籍
特定の条件下で実行する
転送命令と呼び出し命令の違い
呼び出した命令は次の命令アドレス (戻りアドレス) を保存します。 転送命令が実行に戻らない
⑤ 入出力動作
プログラム制御命令
無条件譲渡
条件付き移籍
サブルーチンコール
リターンコマンド
ループ命令
特権命令
オペレーティング システムおよびシステム ソフトウェアについて
ユーザーは利用できません
命令アドレッシングモード
命令のアドレッシング
シーケンシャルアドレッシング
PC プログラム カウンター 1、次の命令を形成します
アドレス指定をスキップする
転送命令により実装
現在の命令は PC 値を変更しますが、次の命令は引き続き PC を通じて与えられます。
データのアドレス指定
分類
暗黙的なアドレス指定
単一アドレス命令のもう一方のオペランドは、ACC から派生した暗黙的なアドレス指定を通じて取得できます。
プログラム仕様
即時アドレス指定
アドレス フィールドは、2 の補数表現を使用してオペランド自体を直接与えます。
便利
直接アドレス指定
EA=A
A のビット数によってオペランドのアドレス範囲が決まります
コマンド長の短縮
1アクセス
間接アドレス指定
EA = (A)
1 つの間接アドレスには 2 つのメモリ アクセスが必要です
アドレス範囲の拡大が容易
レジスタのアドレス指定
EA = リ
登録番号を直接与える
実行フェーズではメイン メモリにはアクセスせず、レジスタのみにアクセスします。
アドレスコード長が短い(短くなっている)
間接アドレス指定を登録する
EA = (リ)
Ri はオペランドではなく、演算が配置されるメイン メモリ ユニットのアドレスです。
メモリにアクセスする必要がある
オペランドはメインメモリにあります
相対アドレス指定
EA = (PC) A
A は現在の PC 値に対する相対的な変位であり、補数で表されます。
転送指示用
1アクセス
ベースアドレス指定
EA = (BR) A
マルチチャネル設計に使用され、BR はベース アドレス レジスタ (可視)
1アクセス
インデックス付きアドレス指定
実効アドレス = 正式アドレス A インデックスレジスタ IX EA = (IX)A
ユーザー指向
配列の問題に対処する
1アクセス
スタックアドレス指定
最初のうちの最後の
マシンレベルのコード表現
組み立て形式
AT&T フォーマット
1 つ目はソース オペランド、2 つ目はデスティネーション オペランド、 方向は左から右です、それは自然です
レジスタには % という接頭辞が付き、即値には $ という接頭辞が付きます。
メモリのアドレス指定には () を使用します。
インテルフォーマット
1 つ目はデスティネーション オペランド、2 つ目はソース オペランド、 右から左への方向
レジスタと即値には接頭辞を付ける必要はありません
メモリのアドレス指定には [ ] を使用します
比較した
共通コマンド
インテルフォーマット
右から左に見て
データ転送クラス
移動命令
値を別の値にコピーする
例: mov eax、ebx ebx 値を eax にコピー
プッシュ命令
スタックにプッシュする
ポップコマンド
ポップ
算術演算と論理演算
追加/サブコマンド
加減
結果を最初の番号に保存します
例: サブ eax、10 eax - 10 → eax
増減命令 (増加/減少)
自己増加と自己減少
イムル指令 (乗算)
記号数の乗算
結果は最初のオペランドに格納されます。これはレジスタでなければなりません。
例: imul eax、[var] eax × [var] → eax
例: imul esi、edx、25 25×edx→esi
idiv ディレクティブ (分割)
記号数の除算
オペランドは 1 つだけ、除数です
例: idiv ebx
および/または/または指示
AND、OR、XOR
結果は最初のオペランドに配置されます
例: and eax、0 fH eax の最初の 28 ビットは 0 で、最後の 4 ビットは変更されません。
指示ではない
ビットフリップ
0→1、1→0
否定的な命令 (ネガティブ)
ネガティブなことを考えてみる
例: ネガティブ -eax→eax
shl/shrコマンド (シフト)
論理左シフト、論理右シフト
最初のオペランドは実行オブジェクトを表します 2 番目の数字はシフト数を表します
例: shl eax、1 eax は論理的に 1 ビット左にシフトします shr ebx、cl ebx は論理的に n ビット右にシフトします (n は cl の値です)
制御フロークラス
jmpコマンド
転送命令
jcondition命令
条件付き転送命令
cmp/テストコマンド
cmp比較値サイズ テストはオペランドに対してビット単位の AND 演算を実行します。
call/ret命令
サブルーチンの呼び出しと戻り
CISCとRISC
CISC
複雑なコマンドシステム
リスク
合理化されたコマンド システム
比較した
第五章 CPU
CPUの構造
オペレーター
算術論理演算ユニット ALU
算術演算と論理演算
スクラッチパッド
メインメモリから読み取ったデータを一時的に保存する
アキュムレーションレジスタACC
ALU結果情報を一時的に保存
汎用レジスタ X
ユーザーが自由にプログラミングでき、データやアドレスを保存できます。
機械語長と同じ
見える
プログラムステータスワードレジスタPSW
結果の各種ステータス情報を保持
見える
シフター
オペランドまたは演算結果に対してシフト演算を実行します。
カウンターCT
乗算と除算のステップ数を制御する
コントローラ
プログラムカウンターPC
実行する命令のメインメモリ上の格納アドレスを示します。
ビット数はメモリアドレスのビット数と同じです メモリアドレスはストレージ容量に依存します
見える
命令レジスタIR
現在実行中のコマンドを保存します
命令語長と同じ長さ
汎用レジスタで置き換えることはできません
命令デコーダ
オペコードをデコードする
見えない
メモリアドレスレジスタMAR
主記憶装置のアドレスを格納
見えない
メモリデータレジスタMDR
メインメモリに書き込まれる、またはメインメモリから読み取られる情報を保存する
見えない
タイミングシステム
各種タイミング信号の生成に使用されます。
信号発生器
CPU機能
コントローラーは、コンピューターの各コンポーネントによって実行されるプログラムの命令シーケンス (フェッチ、分析、実行) を調整および制御する責任があります。 電卓はデータを処理します
① 命令制御。命令のフェッチ、解析、実行の動作を完了します。
② 運転制御
③時間制御
④ データ処理
⑤ 割り込み処理
命令実行処理
命令サイクル
命令をフェッチして実行するのにかかる時間
複数のマシンサイクルで表される
マシンサイクル
固定長
不定長
命令フェッチ、間接アドレス、実行、割り込み
フェッチサイクル
PCの内容に従って、命令コードがメインメモリから取得され、IRに配置されます。
PC は命令のアドレスを保存し、このアドレスに従って命令が対応するメモリ ユニットからフェッチされ、IR に配置されます。
PC 1 フェッチ中
命令は機械によって自動的に取得されます
間接アドレスサイクル
オペランドの実効アドレスを取得します
命令のアドレス コードを MAR に送信し、アドレス バスに送信します。cu は読み取りコマンドを発行して実効アドレスを取得し、最後にそれを MDR に保存します。
2つのアクセス
実行サイクル
オペランドを取得し、IR の命令ワードのオペコードに従って ALU 演算を通じて結果を生成します。
割り込みサイクル
割り込み要求を処理する
行動計画
単一命令サイクル
複数の命令サイクル
パイプラインソリューション
データ経路
関数
機能コンポーネント間のデータ伝送経路
情報がどこから始まり、どのレジスタまたはマルチプレクサを通過し、最終的にどのレジスタに送信されるかを説明します。
コントロールユニットによって制御される
基本構造
CPU内部シングルバスモード
CPU内部マルチバスモード
すべてのレジスタの入力ポートと出力ポートは複数の共通パスに接続されています
専用データパスアプローチ
指を読む
(PC)→3月 1→R MEM(MAR)→MDR (MDR)→IR
(MDR)→3月 1→R MEM(MAR)→MDR (MDR)→Y (ACC) (Y)→Z (Z)→ACC
コントローラ
有線コントローラー
コントロールユニット
IR
命令のオペコードフィールドは、制御ユニットへの入力信号です。
FR(フラグレジスタ)
実行装置からのフィードバック情報
タイミング
ビートジェネレーター
マシン周期信号とビート信号を生成する
コントロール ユニットは、割り込み、DMA などのシステム バスからの制御信号も受け取ります。
マイクロオペレーション
複数の微細操作を 1 つのマシンサイクルで完了可能
フェッチ
(PC)→3月 1→R 月(3月)→MDR (MDR)→IR (パソコン) 1→パソコン
間接アドレス
広告(IR)→3月 1→R 月(3月)→MDR
埋め込む
非フェッチ
CLA
クリアACC
CoM
否定する
SHR
算術右シフト
CSL
左のサイクル
STP
シャットダウン
アクセス
追加 広告(IR)→3月 月(3月)→MDR (MDR)(ACC)→ACC STA Xストアコマンド Ad(IR)→MAR、1→ライトメモリライト (ACC)→MDR (MDR)→月(MAR) LDA X フェッチ命令 Ad(IR)→MAR,1→R 月(3月)→MDR (MDR)→ACC
移行
JMP X(無条件転送) Ad(IR)→PC BAN X(条件付き移籍)
制御方法
同期制御方式
統一された時計
非同期制御モード
各コンポーネントはそれぞれ固有の速度で動作します
関節制御方式
ほとんどは同期を使用しますが、一部は非同期を使用します
マイクロプログラムされたコントローラー
ストレージ ロジックを使用してマイクロ操作信号をコーディングする
機械語命令はマイクロプログラムとして記述され、各マイクロプログラムには複数のマイクロ命令が含まれます。 機械語命令はマイクロ操作シーケンスに分解できます (最も基本的なもので、これ以上分割することはできません)。
通常、1 マイクロプログラム サイクルは 1 命令サイクルに対応します。
機械全体の制御信号の同期を確保するためです。
マイクロ命令は制御記憶装置に保存されます
マイクロコマンドはマイクロオペレーションの制御信号であり、マイクロオペレーションはマイクロコマンドの実行プロセスです。
メイン メモリはデータとプログラムの保存に使用され、RAM を使用して CPU の外部に実装されます。 制御メモリ CM は、マイクロプログラムを格納するために使用され、CPU 内の ROM (EPROM) で実装され、マイクロ命令のアドレスに従ってアクセスされます。
構造
作業過程
マイクロ命令を取得する
マイクロアドレス形成コンポーネントは、機械命令のオペコードフィールドから、機械命令に対応するマイクロプログラムエントリアドレスを生成し、それをCMARに送信します。
対応するマイクロ命令を CM から 1 つずつ取得して実行します。
マイクロプログラムのエントリアドレスに戻り、操作を繰り返します。
エンコーディング
直接制御
フィールドダイレクトエンコーディング方式
マイクロコマンドフィールドはいくつかに分かれており、 相互に排他的なマイクロコマンドは同じフィールドに配置され、互換性のあるコマンドは異なるフィールドに配置されます。
すべて 0 は何も操作しないことを意味します
フィールド間接符号化方式
あるフィールドのマイクロコマンドは、別のフィールドのマイクロコマンドによって解釈されます。 マイクロ命令のワード長を短くする
マイクロ命令アドレス生成方法
判定方法
マイクロ命令の下のアドレスによって与えられます
機械命令に基づいて形成されたオペコード
増分カウント
サイン法
サイバー法
ハードウェア法
マイクロ命令フォーマット
水平方向のマイクロ命令
強力な並列運転能力
短い実行時間
垂直方向のマイクロ命令
並列実行できる基本操作は 1 つだけです
長い実行時間
混合マイクロ命令
比較した
例外と割り込み
異常な
CPU内部で発生する予期せぬ事象を例外(内部割り込み)といいます。
例:ハードウェア障害割り込み(メモリチェックエラー、バスエラー) プログラム例外 (0 による除算、オーバーフロー、ブレークポイント、シングルステップ トレース、不正な命令、スタック オーバーフロー、範囲外のアドレス、ページ フォールト)
内部割り込みはノンマスカブル割り込みです
CPU自身で異常検出を完了
分類
プログラム割り込み(ソフトウェア割り込み)
故障
欠落セクション
ページがありません
必要なセグメントまたはページをディスクからメイン メモリにロードし、失敗した命令に戻って実行を続行します。
不正なオペコード
約数は0です
例外ハンドラーを介して障害を回復することはできず (ハンドラーを呼び出す必要があります)、実行をブレークポイントに戻すことはできず、プロセスは直接終了されます。
自分自身を罠にかける
これらの命令を実行すると、プログラムのデバッグ用のブレークポイントが設定されます。 オペレーティング システムのカーネル プログラムを自動的に呼び出して、無条件または条件付きで実行します。
終了(ハードウェア割り込み)
コントローラエラー、メモリチェックエラーなど
割り込みサービスルーチンを呼び出し、システムを再起動します。
外部割り込み(ハードウェア割り込み)
CPUに対して割り込み要求を発行するCPUの外部のデバイスを割り込み(外部割り込み)といいます。
例: IO デバイスによって発行された IO 割り込み (キーボード入力、プリンターの用紙切れ) 特別なイベント (ユーザーが Esc キーを押すとタイマーが時間に達する)
CPU は割り込み要求ラインを通じて割り込みソース情報を取得する必要があります。
分類
マスカブル割り込み(低優先度)
マスカブル割り込み要求線INTRを通じてCPUに発行される割り込み要求、 CPU は、割り込みコントローラで対応するマスク ワードを設定することにより、マスクするかマスクしないかを選択できます。 マスクされた割り込み要求は CPU に送信されません
ノンマスカブル割り込み(高優先度)
例:停電
専用のノンマスカブル割り込み要求線NMIを通じてCPUに発行される割り込み要求
対応プロセス
応答プロセス全体を中断することはできません
割り込みをオフにする
割り込みイネーブルビット IF フリップフロップをセットすることにより、対応する新しい割り込みを無効にします。
ブレークポイントとプログラムの状態を保存する
例外および割り込み処理が完了した後、中断された場所に戻って実行を継続できるようにするため。
例外と割り込みを識別し、適切なプログラムに移動します。
識別方法
ソフトウェアの識別
CPU は例外ステータス レジスタを設定して、例外の原因を記録します。 優先順位に従って例外ステータス レジスタをクエリし、カーネル内の対応するハンドラに進みます。
ハードウェアの識別
ベクトル割り込み
例外または割り込みの最初のアドレスは割り込みベクタと呼ばれ、すべての割り込みベクタは割り込みベクタ テーブルに配置されます。各割り込みまたは例外は割り込みタイプ番号に対応します。
命令パイプライン
意味
命令は複数のステージに分割され、各ステージは対応する機能コンポーネントによって完了されます。
必要とする
命令の長さは同じである必要があります 通常のコマンド形式 ロード/ストア命令を使用すると、他のレジスタはメモリにアクセスできなくなります。 データと命令はメモリ内で整列されます
組み立てラインの冒険
①ストラクチャーアドベンチャー
複数の命令が同じリソースを同時に競合する
解決 1) 後続の命令を一時停止する 2) データメモリと命令メモリを別々に設定する
② データアドベンチャー
次の命令は現在の命令の計算結果を使用するため、2 つの命令によってデータの競合が発生します。
書き込み後に読み取り
読み書き
何度も書く
解決 1) データ関連の競合が発生した命令と後続の命令を 1 サイクルまたは数サイクル中断します。 2) 関連するデータパス (データバイパス技術) を設定し、演算結果が得られるとすぐにレジスタに送信します。 3) 命令の順序を調整する
③冒険をコントロールする
転送命令、コール、リターンなどにより PC 値が変更され、フローが中断されます。
解決 1) 転送命令の分岐を予測し、転送先アドレスをできるだけ早く生成する 2) 成功と失敗の 2 つの制御フロー方向でターゲット命令をプリフェッチします。
パイプラインのパフォーマンス指標
パイプラインのスループット
パイプラインの高速化
高度なパイプライン技術
スーパースカラ パイプライン
ダイナミックマルチエミッション技術
動的な分岐予測などの手段による動的なパイプライン スケジューリング テクノロジとの組み合わせ 複数の独立した命令をクロックサイクルごとに同時に実行可能
超長命令ワード技術
スタティックマルチエミッション技術
並行して動作できる複数の命令を、複数のオペコードを持つ 1 つの非常に長い命令ワードに結合します。
スーパーパイプライン技術
機能セグメントはさらに細分化されます
マルチプロセッサ
単一命令ストリーム 単一データストリーム SISD
シリアル
1 つのプロセッサと 1 つのメモリ
順次実行
単一の命令ストリーム、複数のデータ ストリーム SIMD
データ並列技術
ベクトルプロセッサ
複数命令の単一データ ストリーム MISD
存在しない
複数の命令、複数のデータ ストリーム MIMD
並列コンピューティング
ハードウェアマルチスレッド
きめ細かいマルチスレッド処理
マルチスレッドは順番に実行され、クロス実行されます。
タイムスライスの回転と同様
粗粒度マルチスレッド
1 つのスレッドに大きなオーバーヘッドがある場合にのみスレッドを切り替える
同時マルチスレッド
同じクロック サイクルで、複数の異なるスレッドで複数の命令が実行のために発行されます。
共有メモリマルチプロセッサ (SMP)
物理アドレス空間を共有すると、独自の仮想アドレス空間でプログラムを独立して実行できます。
ユニファイド ストレージ アクセス UMA
プロセッサが共有メモリに接続される方法
不均一なストレージ アクセス NUMA
組み合わせ論理回路と順序論理回路
組み合わせ論理回路には統一されたクロック制御がありません 順序論理回路はクロック刻みで動作する必要があります
組み合わせ論理回路には信号を保存するメモリセルが含まれていません 順序論理回路には信号を保存するメモリセルが含まれています
第6章 バス
複数のコンポーネントで時分割で共有できる公共情報伝送路
時間内に送信、同時に受信
バスの分類
オンチップバス
チップ内のバス
システムバス
アドレスバス
CPU がメイン メモリ ユニットのアドレスと IO ポート アドレスを選択するために使用する一方向バス。送り返すことはできません。
データバス
データ情報の送信、双方向回線
コントロールバス
I/Oバス
低速から中速の IO デバイスを接続する
データケーブル
転送データバッファレジスタ、コマンド/ステータスレジスタの内容
住所欄
CPUとやり取りするデータを送信するためのポートアドレス
制御線
読み取りおよび書き込み信号を送信する
通信バス
外部バス
コンピュータ システム間、またはコンピュータ システムと他のシステム間で情報を送信するバス
システムバス構造
シングルバス構造
デュアルバス構造
メイン メモリ バスは、CPU、メイン メモリ、チャネル間のデータ転送に使用されます。 IO バスは、外部デバイスとチャネル間でデータを転送するために使用されます。
3バス構造
メインメモリバス IOバス DMAバス
バス規格
ISA
業界標準のアーキテクチャ
エイサー
拡張されたisa 32ビットCPU用
VESA
ビデオ エレクトロニクス規格協会 32ビットローカルバス
PCI
外部機器の相互接続
高性能 32 または 64 ビット バス
プラグ&プレイ
路線バス所属
AGP
高速グラフィックスポート
路線バス所属
PCI-E
最新のバスインターフェース規格
シリアル
PCI、AGPを交換
RS-232C
シリアル通信バス
USB
ユニバーサル・シリアル・バス
PCMCIA
ラップトップインターフェース
井手
集積デバイス回路
SCSI
小型コンピュータシステムのインターフェース
SATA
連続した先進技術
パフォーマンス
バス転送周期
複数のバス クロック サイクルで構成されます
バスクロックサイクル
バスの運行周波数
= クロック周波数/N
バスクロック周波数
バスクロック周期の逆数
バス帯域幅
= バス動作周波数 × (バス幅/8)
バストランザクション
聞く
仲裁
アドレッシング
伝染 ; 感染
解放された
バースト送信 (バースト送信)
最初にアドレスを送信し、次にデータを送信します アドレスを送信する必要があるのは 1 回だけで、後続のデータは継続的に送信されます。
タイミングモード
同期タイミングモード
システムは統一されたクロック信号を使用します
高い伝達効率
信頼性が低い
非同期タイミングモード
ハンドシェイク信号によるタイミング
連動モードなし
半連動方式
完全連動方式
バス調停制御 (バス調停)
集中化された
鎖
回路設計
バスに最も近いデバイスの優先順位が最も高くなります。
設備の拡張が容易
回路障害に敏感
2 本のワイヤだけを使用して、デバイスが使用するバスを決定します
カウンタのタイミング
回路設計
カウントは0から始まります
固定優先度
終了点からカウントを開始します
優先順位は等しい
カウンタ値はプログラムによって設定されます
変数の優先度
複雑な制御
log₂n 行を取る
独立したリクエスト
回路設計
迅速な対応
柔軟な優先制御
バス制御が複雑
2n 行を使用する
配布された
制御ロジックはバスに接続されたさまざまなデバイスに分散されます。
第 7 章 入出力
IOシステム
IOハードウェア
IO デバイスは、デバイス コントローラーを介してメインボード システム バスに接続されます。
外部装置
入力デバイス
キーボード ねずみ
出力機器
モニター
画面サイズ
解決
グレースケール
色の違い、グレーレベルが多いほど、画像はよりリアルになります
8ビット(256階調) → 256色
リフレッシュする
リフレッシュレート
ディスプレイメモリ
VRAM 容量 = 解像度 × 階調ビット数 VRAM 帯域幅 = 解像度 × グレースケール ビット数 × フレーム レート
プリンター
作業方法による分類
ドットマトリックスプリンター
ドットマトリクスプリンター
インクジェットプリンター
レーザープリンター
コンピュータでは、漢字の内部コードがメイン メモリの 2B を占有します。
インターフェース
周辺機器とホスト間のデータ転送を調整する論理デバイス
入力デバイス
出力機器
外部記憶装置
IOソフトウェア
運転者
ユーザープログラム
管理プログラム
IO制御方式
プログラムの問い合わせ方法
CPU はプログラムを通じて IO デバイスの準備ができているかどうかを継続的にチェックします。
CPU が IO を開始したら、現在のプログラムの実行を停止する必要があります。
特徴
CPUが待ち現象を起こしている
完了するまで同じ操作を繰り返します
CPUとIOのシリアル動作
プログラム割り込みモード
IOデバイスの準備が完了したら、CPUに割り込み要求を発行します。
関数
CPU と IO の並列処理
ハードウェア障害、ソフトウェアエラーの処理
人間とコンピュータの相互作用
複数プログラム、タイムシェアリング運用
作業過程
割り込み応答は命令実行の終了時に発生します
割り込み要求
割り込み応答調停
ノンマスカブル割り込み > 内部例外 > マスカブル割り込み
割り込み応答条件
割り込みソースに割り込み要求があります
CPUオープン割り込み
命令が実行される
割り込みベクトル
割り込みプログラムのエントリアドレス
割り込みタイプの決定
CPU は割り込みに応答した後、割り込みソースを識別して割り込みタイプ番号を取得し、対応する割り込みベクタのアドレスを計算します。 そして、このアドレスに従って、割り込みベクタテーブルから割り込みサービスプログラムのエントリアドレスを取り出してPCに送信し、割り込みサービスプログラムを実行する。
応答の優先順位
ハードウェアキュー経由で実行
処理優先度
割り込みマスキング技術を使用して動的に調整
割り込みマスクワード
割り込み処理処理
複数の割り込み
DMAモード ダイレクトメモリアクセス
メインメモリとIOデバイス間の直接データパス
メイン メモリと DMA インターフェイスの間に直接データ パスがある
論理パス
情報伝達をすべてハードウェアで制御する方式
データ転送中、メインメモリアドレスの決定はハードウェア回路によって直接完了します。
メイン メモリは、ペリフェラル データをタイムリーに送受信するために専用のバッファを開く必要があります。
DMA は送信前にプログラムによる前処理、送信完了後の割り込みによる後処理が必要です。
DMA 応答はバス トランザクションの後に発生し、DMA は CPU よりも優れた制御を持ちます。
DMA転送方式
1) CPUのメモリアクセスを停止する
2) 定期的な流用
3) DMA と CPU が交互にメモリにアクセス
DMA転送処理
1) 前処理に CPU が占有される CPU は必要な準備を完了します
このうち、DMA はユーザープログラムに直接接続することができず、デバイスドライバーを仲介として使用します。
2) データ転送は CPU を占有しません DMA ハードウェアによって完全に制御
3) 後処理に CPU が占有される DMA コントローラは CPU に割り込み要求を送信します
チャンネルモード
ホストが IO コマンドを実行すると、関連するチャネルが開始され、チャネル プログラムが実行され、IO 操作が完了します。
チャネルプロセッサ。割り込み、DMA、およびプログラム制御機能を備えた、IO 管理に特別に使用されるコプロセッサ
チャネル プログラムはメイン メモリ内にあり、チャネルによって実行され、チャネルを備えた IO システムでのみ実行できます。
最も効率的
IOインターフェース (IOコントローラー)
関数
アドレスデコード、デバイス選択
ホストとペリフェラル間の通信
データバッファ
信号フォーマット変換
制御コマンドとステータス情報の送信
基本構造
IO インターフェースは、ホスト側の IO バスを介してメモリおよび CPU に接続されます。
ポートは、インターフェイス回路で読み書きを行うために使用されるレジスタです。 複数のポートと制御ロジックが一緒になってインターフェースを形成します
IO 命令は、オペレーティング システム カーネルの基礎となる IO ソフトウェアによって使用される特権命令です。
タイプ
データ伝送方式ごとに分かれる
シリアル
平行
制御方式で分ける
プログラムインターフェース
割り込みインターフェース
DMAインターフェース
機能ごとに分ける
プログラム可能
プログラム不可
IOポート
インターフェース回路内のCPUが直接アクセスするメモリ
アドレッシング
統一されたアドレス指定
メモリマッピング
住所コードから区別する
IOポートをアドレス割り当て用のストレージユニットとして扱う
ユニファイド メモリ アクセス命令を使用して IO ポートにアクセスする
独立したアドレス指定
IOマッピング方法
アクセスするための特別な IO 命令を設定する
命令を実行するとき、CPU はアドレス ラインを使用して IO ポートを選択します。 データラインを使用してCPUレジスタとIOポート間でデータを転送します。