64Kワードのメモリに対して4Kワードのキャッシュを設ける。ブロックサイズは16ワードとする。以下の手順に従って設計せよ。
1.ダイレクトマップキャッシュを作る。キャッシュには○ 点 ブロック入る。これは2のn乗なので、インデックスはnビットとなる。n=○ 点 である。
メモリにはキャッシュが○ 点ブロック入る。これは2のh乗である。タグビットは、h-n=○ 点 ビットとなる。
結論として、深さ2のn乗で、幅h-nのキャッシュディレクトリが必要である。
2.2-way set associativeにする場合、深さが○ 点 、幅が○ 点 ビットのキャッシュディレクトリが2セット必要である。
キャッシュブロックAとキャッシュブロックBは競合ミス(Conflict Miss)を起こすアドレスである。また、キャッシュはダイレクトマップキャッシュである。ライトバックキャッシュについて以下のアクセスでキャッシュはヒットするかミスするかを書きなさい
1.キャッシュブロックAから読み出し ミス
2.キャッシュブロックAに書き込み ○ 点
3.キャッシュブロックBから読み出し ○ 点
4.キャッシュブロックAに書き込み ○ 点
5.キャッシュブロックAから読み出し ○ 点
上記の操作でライトバックが生じるのは○ 点 (番号)である。
理想のCPI=1、キャッシュミスペナルティ15クロック、命令キャッシュのミス率1%、データキャッシュのミス率3%、ロード命令の確率20%とした時、キャッシュミスを含めたCPIは○ 点
メモリの0番地から並んでいる10個のASCIIコードを順に授業で定義されている出力装置に出力するプログラムを以下のように書く。空欄を埋めよ。
LDI r0,0 r0はポインタ
LDI r1,#10 r1はカウンタ
LDHI r2, #0x80 r2に出力装置の番号
L1: ○ 点 ポインタで示されている番地からASCIIコードを読み出してr3に格納
L2: ○ 点 出力装置のステータスレジスタを読み出しr4に格納
○ 点 r4が0ならばL2に飛んでビジーウェイト
○ 点 r3 に格納したASCIIコードを出力装置に送る
ADDI r0,#1 ポインタをカウントアップ
ADDI r1,#-1 カウンタをカウントダウン
× r1が0になるまで繰り返す
L3: BEZ r1,L3 無限ループでダイナミックストップ
1.0番地に16ビットデータ0x12abが入っている。r0には1が入っている。LB r2,(r0)を実行するとr2は○ 点 (16進数4桁xは付けない)、LBU r2,(r0)を実行するとr2は○ 点 (16進数4桁xは付けない)になる。
2.バイトアドレッシングにおいて、MSB側が0番地になる方法を○ 点 (カタカナ)、LSB側が0番地になる方法を○ 点 (カタカナ)と呼ぶ。
3.I/OからCPUに対して要求を出してプログラムの動きを切り替えることを○ 点 (漢字とひらがな4文字)と呼ぶ。
4.I/Oが直接メモリとの間でデータ転送を行う方法を○ 点 (英文字3文字)と呼ぶ。
各部品の遅延時間が以下であるとする。
メモリのアクセス 2nsec
レジスタファイルの読み出し 1nsec
ALUでの演算 3nsec
マルチプレクサの遅延 0.3nsec
レジスタへの書き込みセットアップ時間 0.2nsec
IFステージの遅延は○ 点 nsec
IDステージの遅延は○ 点 nsec
EXステージの遅延は○ 点 nsec
WBステージの遅延は○ 点 nsec
動作周波数は最も遅いステージの遅延時間の逆数なので○ 点 MHzになる。(2桁四捨五入)
1.下のプログラムは、0番地から並んでいる8つの数の総和を計算する。BNE命令は遅延分岐である。NOPで埋まっている遅延スロットを埋めるためにはどの命令を移動すれば良いか?
答 ○ 点 (番号で)
LDI r1,#8
LDI r3, #0
1 lp: ADDI r1,#-1
2 LD r2,(r1)
3 ADD r3,r2
BNE r1,lp
NOP
2. 上記のような方法でスケジュールして8割の場合でNOPを有効に活用できる。分岐命令の生起確率を25%として、POCOのパイプラインのCPIを計算せよ。
答 ○ 点 (有効数字3桁)
下の用語の中で適切なものを選んで空欄を埋めなさい。番号を入れること。
〇○ 点 を行うことで、依存性のない命令が増え、スケジュールが簡単になる。
〇○ 点 は、複数の命令に相当する処理を一つの長い命令にまとめて実行する。
〇分岐予測が当たると考えて命令を実行してしまう方法を○ 点 と呼ぶ。
〇後続の命令が先行の命令を追い越して実行できる方法を○ 点 と呼ぶ。逆に命令の順番を守って実行する方法を○ 点 と呼ぶ。
〇ハードウェアの制御により複数の命令を同時に実行する方法を○ 点 と呼ぶ。
〇分岐予測の中で現在良く使われているのは○ 点 である。
1 アウトオブオーダ実行 2 VLIW 3 トーナメント予測法 4 インオーダー実行 5 ループアンローリング
6 スーパーパイプライン 7 スーパースカラ 8 投機的実行
プログラムの中の90%が並列実行可能で残りの10%は並列実行が全くできない。プロセッサ10台で並列実行する場合に性能は× 倍になり、100台で並列実行する場合には×