第1章-コンピュータシステムの概要
フォンノイマン構造の特徴
- コンピュータは、演算装置、メモリ、コントローラ、入力と出力で構成されています
- 命令とデータはメモリの同じ位置に格納され、アドレスでアクセスされます
- コマンドデータはバイナリで表現されます
- 命令は順次格納され、順次実行されます
- オペレーター中心(最新のコンピューターはメモリー中心)
高水準言語、アセンブリ言語、機械語の関係
コンパイルと解釈の違い
すべての翻訳方法です
コンパイル:ソースコードをターゲットコードファイルに変換してから実行する
説明:翻訳中に実行していますが、オブジェクトコードファイルがありません
機械語長、コマンド語長、ストレージ語長の違い
マシンワード長:コンピューターが直接処理できるバイナリデータビットの数。通常、CPU内部レジスターのサイズと同じです。
命令語長:命令語に含まれるバイナリコードの数(通常、格納語長の整数倍)
ストレージワード長:ストレージユニットに格納されるバイナリコードの長さ(MDRのビット数)
CPI、MIPSとは
CPI:命令の実行に必要なクロックサイクル数
MIPS:1秒あたり数百万の命令=メイン周波数/ CPI
第2章-データの表現と操作
バイナリを使用してコンピューターでデータを表す理由
- 実現可能性の観点から見ると、バイナリには0と1の2つの状態しかなく、多くの電子コンポーネントはこれら2つの状態を表すことができます。
- 操作のしやすさの観点からは、バイナリアルゴリズムや単純な操作が少なく、コンピューターのハードウェア構造を単純化するのに役立ちます。
- 論理的な観点から見ると、0と1は論理代数の偽と真に対応し、論理代数の理論的根拠を持っています
第3章-ストレージシステム
アクセス時間とアクセスサイクルの違い
アクセス時間:メモリの開始から操作の完了までの時間
アクセスサイクル:2つの独立したアクセスメモリ操作間の最小間隔
アクセスサイクル=アクセス時間+回復時間
SRAMとDRAMの違い
SRAMは、キャッシュメモリ(キャッシュ)として使用される高速の双安定フリップフロップで構成されています。
DRAMはコンデンサーを使用してデータを格納し、アドレス多重化技術を使用してリフレッシュ、メモリーとしての使用が必要
高レベルのクロスアドレスと低レベルのクロスアドレスの違い
高次:最初にアドレスのボディ番号、同じモジュールの連続したアドレス
低次:アドレスの本体番号が遅れており、連続したアドレスが異なるモジュールに分散されており、パイプラインメカニズムを使用してアクセス時間を短縮できます。
キャッシュとメインメモリのマッピング方法は何ですか
- 直接マッピング:メインメモリブロックはキャッシュの唯一の位置に配置されます
- 完全に関連付けられたマッピング:メインメモリブロックはキャッシュのどこにでも配置できます
- グループの関連付けマッピング:キャッシュをいくつかのグループに分割し、メインメモリブロックを各グループの任意の位置に配置できます
キャッシュ書き込み戦略
+書き込み以外の割り当てを介して書き込み:ヒットしてから、キャッシュとメインメモリに同時に書き込み、ヒットしなかった場合は、メインメモリにのみ書き込み、ブロックを調整
ライトバック+書き込み割り当て:ヒット、次にキャッシュのみを変更、メインメモリへの書き込みは行わず、ヒットせず、メインメモリブロックをキャッシュに転送、キャッシュブロックを更新
第4章-コマンドシステム
命令のアドレッシングモードとは
-
順次アドレッシング
プログラムカウンター(PC)で1つ追加して、次の命令のアドレスを自動的に生成する
-
ジャンプアドレッシング
転送命令を通じて、次の命令アドレスの計算方法はこの命令によって与えられます
データのアドレス指定の方法は何ですか
- 暗黙的なアドレス指定
- 即時アドレッシング:直接オペランドを与える
- 直接アドレッシング:メインメモリ内のオペランドのアドレスを指定する
- 間接アドレス指定:メインメモリ内のオペランドのアドレスのアドレスを提供します
- レジスタアドレス指定:オペランドが格納されているレジスタアドレスを指定します
- レジスターの間接アドレッシング:メインメモリー内のオペランドのアドレスはレジスターで指定されます
- 相対アドレッシング:現在のコマンドに相対的な変位を与える
- ベースアドレス指定:ベースアドレスレジスタのアドレスを基準とした変位を指定すると、ベースアドレスレジスタの値は通常不変です
- インデックス付きアドレッシング:インデックスレジスタ内のアドレスを基準とした変位が指定されます。インデックスレジスタ内の値はユーザーが指定し、可変です。
CISCとRISCの違い
CISC:命令セットが複雑、数が多い、命令長が固定されていない、アドレッシングモードが複数、マイクロプログラム制御が採用され、使用できる汎用レジスターが少ない
RISC:命令セットは単純で、数は少なく、固定長命令で、ストア/ロード命令のみがメモリにアクセスでき、アドレッシングモードは少なく、組み合わせロジック制御が使用され、汎用レジスターを使用できます。
第5章-中央処理装置
CPU構成
- オペレーター
- 算術論理演算ユニット(ALU)
- 累算レジスター(ACC)
- プログラムステータスワードレジスタ(PSW)
- 一般登録
- 一時レジスター、シフター、カウンター
- コントローラー
- プログラムカウンター(PC)
- 命令レジスター(IR)
- 命令デコーダ(ID)
- メモリアドレスレジスタ(MAR)
- メモリデータレジスタ(MDR)
- タイミングシステム、マイクロオペレーション信号発生器
命令サイクル、マシンサイクル、クロックサイクルとは
命令サイクル:CPUが命令をフェッチして実行するために必要な合計時間
マシンサイクル:命令サイクル(バリューサイクルなど)で比較的完全なオペレーションを実行するのに必要な時間。通常、マシンサイクルはアクセスサイクルです。
クロックサイクル:コンピュータのメイン周波数の逆数。これは、コンピュータ操作のタイミングの最も基本的な単位です。
命令サイクル分割
- フェッチサイクル:PCの内容に従ってメインメモリから命令を取得し、IRに配置します。
- アドレス間期間:オペランドの実効アドレスを取得します
- 実行サイクル
- 割り込みサイクル
パイプラインのパフォーマンスに影響を与える要因
-
リソースの競合
同じリソースを同時に競合する複数の命令によって引き起こされる競合
解決策:前の命令がメモリにアクセスすると、次の命令が1クロックサイクルの間中断されます。
-
データの矛盾
次の命令を実行する前に、前の命令が完了するのを待つ必要があります
解決策:データバイパステクノロジ(前の命令の結果をレジスタセットに書き戻す必要はなく、次の命令の入力として直接使用する)、数クロックサイクル間一時停止、コンパイル調整
-
統制の対立
PCの値を変更する転送命令およびその他のコマンドにより中断が発生する
解決策:2方向の分岐予測とプリフェッチターゲット命令
第6章バス
データバスとデータパスの違い
データバス:データを運ぶ媒体
データパス:データバスを介したさまざまな機能コンポーネントの接続によって形成されるデータ伝送パス
バス仲裁の方法は何ですか
第7章入出力システム
ディスクアクセス時間の構成
- 探索時間:ヘッドがターゲットトラックに移動する時間
- 回転遅延時間:ヘッドがセクターを見つけるまでの時間
- 送信時間:データを送信する時間
割り込み処理
- オフ
- ブレークポイントを保存:PCをスタックにプッシュ
- 割り込みサービスルーチンのアドレス指定
- サイトとマスクワードの保存(PSW、一般レジスター値)
- オープン割り込み
- 割り込みサービスルーチンの実行
- オフ
- サイトを再開して単語をブロック
- オープン割り込み
- ブレークポイントを返す
DMAモードと割り込みモードの違い
- 割り込み応答は、割り込みサイクル中にのみ応答します。DMA要求応答は、各マシンサイクルの終わりにあります。
- 割り込み転送中にCPUの介入が必要、DMAは不要
- DMA要求は割り込み要求よりも優先度が高い