Transcript パート09

コンピュータアーキテクチャ
第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