コンピュータアーキテクチャ2 補足演習問題と解答 2015 年 7 月 21 日 情報工学科 宇佐美公良 7/20(月)の授業で、下記の問題を補足演習問題として出しました。解答と解説を記しますので、しっかり理解 し、解答を見ないでも解けるようになるまで演習して下さい。 【補足演習問題】 ブロックサイズが 1 語で総容量が 16 語の 2 ウェイ・セット・アソシアティブ方式のキャッシュを考える。置換 え方式は LRU 法とする。このキャッシュは当初は空である。参照する語のアドレスが以下に列挙する系列で与 えられたとする:2, 3, 11, 16, 21, 13, 64, 48, 19, 11, 3, 22, 4, 27, 6, 11。この順番に従ってメモリを参照したとき に、それぞれこのキャッシュがヒットするかミスするかを答えよ。 【解答と解説】 2 ウェイ・セット・アソシアティブなので 1 セットに 2 語入るため、セット数は 16÷2=8 セット。アドレスを 8 で割った余りがセット番号となる。以下、問題に記されたアドレスが順番に(Step1~Step16)アクセスされ た時の様子を、左下の表に記す。また、キャッシュの中の様子を右下の図に示す。 Step アドレス セット番号 ヒット/ミス 処理 1 2 2 ミス ウェイ 0 に格納 2 3 3 ミス ウェイ 0 に格納 3 11 3 ミス ウェイ 1 に格納 0 4 16 0 ミス ウェイ 0 に格納 1 5 21 5 ミス ウェイ 0 に格納 2 2 6 13 5 ミス ウェイ 1 に格納 3 3 19 3 11 7 64 0 ミス ウェイ 1 に格納 4 4 8 48 0 ミス ウェイ 0 を置換え(注 1) 5 21 13 9 19 3 ミス ウェイ 0 を置換え 6 22 6 10 11 3 ヒット (ウェイ 1 がヒット) 7 11 3 3 ミス ウェイ 0 を置換え 12 22 6 ミス ウェイ 0 に格納 13 4 4 ミス ウェイ 0 に格納 14 27 3 ミス ウェイ 1 を置換え(注 2) 15 6 6 ミス ウェイ 1 に格納 16 11 3 ミス ウェイ 0 を置換え ウェイ0 セット 16 48 ウェイ1 64 11 27 2 は アドレス2 (2番地)のデータのこと は 置換えられて上書きされたことを示す 図 キャッシュの中身 (注 1) Step8 でアドレス 48 がアクセスされたとき、セット 0 が検索されるが、ウェイ 0 にはアドレス 16 に対す るデータ(⑯) 、ウェイ 1 にはアドレス 64 に対するデータ( 64 )が格納されている。どちらのウェイのデー タもアドレス 48 に対するものではないので、キャッシュはミスし、メインメモリからアドレス 48 に対す るデータ( 48 )を取ってきてキャッシュに格納する。このときにどちらのウェイに格納するかは LRU 法で 決める。すなわち、セット番号 0 のウェイ 0 とウェイ 1 では、ウェイ 0 は Step4、ウェイ 1 は Step7 でア クセスされており、ウェイ 0 の方が昔にアクセスされていることになるので、ウェイ 0 の方を置換える。 (注 2) Step14 でアドレス 27 がアクセスされたとき、セット 3 が検索されるが、ウェイ 0 には Step11 で置換え た③が格納され、ウェイ 1 には Step10 でヒットした⑪が格納されている。Step14 ではキャッシュミスと なるが、置換えるのは、より昔にアクセスした方(Step10)なので、ウェイ 1 を置換える。 以上
© Copyright 2024 Paperzz