〇命令はひとつずつ順に実行される。
オペランド : 操作の対象
ソース1 ソース2 ソース3 ソース4 デスティネーション 命令の例 Register 1 Register 2 Register 3 加算・減算など メモリアドレス Register 3 メモリからRFへの転送 Register 3 メモリアドレス RFからメモリへの転送 PC(プログラムカウンター) 即値 PC PCの変更 (JUMP命令) Register 1 Register 2 即値 PC(プログラムカウンター) PC PCの条件付変更
(BRANCH命令)
クイズ1:メモリからレジスタファイル(RF)もしくは、レジスタファイル(RF)からメモリへの転送命令では、メモリアドレスがソースオペランドの一つである。3.1.2の実際の例では、メモリアドレス=レジスタの値+即値 のように計算するが、これはどのようなメリットがあるのか?
ソース1 ソース2 ソース3 ソース4 デスティネーション 命令の例 Register 1 Register 2 Register 3 加算・減算など メモリアドレス Register 3 メモリからRFへの転送 Register 3 メモリアドレス RFからメモリへの転送 PC(プログラムカウンター) 即値 PC PCの変更 (JUMP命令) Register 1 Register 2 即値 PC(プログラムカウンター) PC PCの条件付変更
(BRANCH命令)
ソース1 | ソース2 | ソース3 | ソース4 | デスティネーション | 命令の例 | 命令形式 |
Register 1 | Register 2 | Register 3 | 加算・減算など | R型 | ||
メモリアドレス | Register 3 | メモリからRFへの転送 | I型 | |||
Register 3 | メモリアドレス | RFからメモリへの転送 | I型 | |||
PC(プログラムカウンター) | 即値 | PC | PCの変更 (JUMP命令) | A型 | ||
Register 1 | Register 2 | 即値 | PC(プログラムカウンター) | PC | PCの条件付変更 (BRANCH命令) |
I型 |
図3.1 命令形式
図 3.2
クイズ2:レジスタファイルの大きさが64、命令セットの大きさが64の場合の命令フィールド構成案を作成せよ。
クイズ3:図3.2のA形式でJUMPできるメモリ空間はどこからどこまでか?
クイズ4:メモリアドレスがバイト(8ビット)ごとに、付けられているシステムでは、32ビット命令を示すPCの値は
0−>4−>8−>12…のように4づつ上昇します。これを利用して何かの改善はできるか?
クイズ5:32ビットアドレス空間の0番地から最大アドレス4G-1へJUMPしたければどうすればよいか?
図 3.3
宿題3 学籍番号 名前 日付 を書いて 提出すること!
上記クイズすべてに解答せよ。
以上