コンピュータアーキテクチャ 第9回 1 レジスタ転送レベル (RTL: Register Transfer Level) プロセッサの動作を – レジスタやメモリのあいだのデータ転送 * – ALU 等の機能モジュールによる演算 * で表現する抽象化のレベル 今回の内容 – – – – – マイクロ操作:RT レベルの操作単位 データ転送:バス( 信号母線,共通信号路 * )によるデータ送受 バス構成:レジスタや ALU 等をつなぐバスの仕組み メモリモデル:メモリ仕様(ここでは RT レベル) マイクロアーキテクチャ:RT レベルのハードウェア構成(全体像) 2 ハードウェアモデルにおける位置付け * メモリモデル バス構成 * * マイクロ アーキテクチャ 3 マイクロ操作 (Micro Operation ) RT レベルの設計 – 各機能モジュールの信号線結合の決定 – データ転送・演算をマイクロ操作で実現 マイクロ操作 – 1クロックサイクルのあいだに実行される転送・演算操作 – 2つ以上のマイクロ操作の並列実行あり – 1個~数個のマイクロ操作で各機械語命令を実現 * 例: 機械語命令: ADDA GR1, GR2 * マイクロ操作: GR1 ← GR1 + GR2 * ← : 転送を表す * 4 データ転送における配線遅延 レジスタ間のデータ送信/受信 – 送信データが バスの電位レベルを制御 * – 過渡現象的な 遅延 (delay)あり * 水位モデル(?)の類似 送信側:次のクロックの立ち上がり までにレベルを確定 受信側:次のクロックの立ち上がり でレベルを観測 5 レジスタのバス接続 6 レジスタのデータ転送例 マイクロ操作 * 7 COMET II のレジスタ間データ転送 * 機械語命令: LD GR6, GR2 * マイクロ操作: GR6 ← GR2 * 8 データ転送 例題 (1) GR3 ← GR0 のあとに GR7 ← GR3 9 データ転送 例題 (2) * GR0 ← GR3 のあとに GR7 ← GR0 さらに GR3 ← GR7 10 1 バス構成例 * C1: ACC ← GR0 C2: ACC ← GR1 + ACC C3: GR0 ← ACC 三つのマイクロ操作で ADDA GR0, GR1 を実現 ACC: アキュムレータ(累算器) 11 1 バス構成のタイムチャート例 * 12 2 バス構成例 * C1: RG ← GR0 C2: GR0 ← GR1 + RG 二つのマイクロ操作で ADDA GR0, GR1 を実現 13 2 バス構成のタイムチャート例 * 14 3 バス構成例 * * C1: GR0 ← GR0 + GR1 一つのマイクロ操作で ADDA GR0, GR1 を実現 15 メモリ (Memory) メモリモデル – コンピュータを設計する上で前提とするメモリ仕様 – 本講義:プロセッサからのデータアクセス仕様 データアクセスのためのバス構成 制御信号 半導体メモリ – ROM (Read Only Memory): 読み込み専用 – RAM (Random Access Memory): 読み書き可能 SRAM (Static RAM): フリップフロップで記憶 * DRAM (Dynamic RAM): コンデンサで記憶 * 本講義:SRAM をメモリモデルに仮定 – 1クロックでメモリ・レジスタ間のデータ転送が可能と仮定 – 実際の多くのコンピュータでは数クロック以上を要する フォンノイマンボトルネック * キャッシュメモリ(cache memory)によるアクセス性能の改善 16 メモリモデル (Memory Model) MAR: 演算部からメモリへデータアクセスするときのアドレス指定 * MDR: メモリデータの読み込み・書き出しのためのバッファ * read 信号:読み込みを許可する制御信号 write 信号:書き込みを許可する制御信号 17 メモリアクセスのタイムチャート * バスの * 値が不定 18 マイクロアーキテクチャ (Micro Architecture) RT レベルのハードウェア構成 機械語レベルで意識する必要のある機能モジュール * – – – – – 汎用レジスタ GR0 ~ GR7 スタックポインタ SP プログラムレジスタ PR フラグレジスタ FR メモリ 機械語レベルでは見えない機能モジュール * – – – – – – 算術論理演算ユニット ALU シフタ メモリアドレスレジスタ MAR メモリデータレジスタ MDR インストラクションレジスタ IR 制御部 19 3 バス構成による COMETⅡのマイクロアーキテクチャ例 ハードウェアモデルにさらに追加するレジスタ類 SDR: スタックデータレジスタ * 20 レジスタと ALU の3バス構成の タイムチャート 機械語命令 SUBA GR1, adr, GR7 と POP GR7 を連続実行 mem(・): 括弧内のレジスタが指す メモリアドレスの内容 * 21 演習問題 9.1 機械語命令 PUSH adr, GR1 は,マイクロ操作 C1: MAR ← MDR + GR1 C2: SDR ← MAR, SP ← SP - 1 C3: mem(SP) ← SDR で,また ADDL GR1, GR5 は,マイクロ操作 C4: GR1 ← GR1 + GR5 で実行される.前述の3バス構成例で,これらの命令を連続 して実行するタイムチャートを示せ. 22 演習問題 9.2 前述の3バス構成例において,次の4つのクロックサイクル のマイクロ操作を連続して実行するタイムチャートを示せ. 23 同期式プロセッサの問題点/打開策 配線遅延が支配的 – 最大の配線遅延 * にあわせてクロック周波数を採用 – 配線遅延が今後大きくなる傾向 – ゲート遅延減少の利点を生かせない 非同期式プロセッサの研究 – – – – 全体としてのクロックの採用を廃止 データ転送に “要求と応答” * の手順を採用 配線遅延の影響小 ゲート遅延減少の利点を生かせる 24
© Copyright 2024 ExpyDoc