解答例9

2015.6.16 出題分
コンピュータアーキテクチャII 課題解答例
課題
1
教科書 p.418 (第 3 版では p.430)の時間的局所性と空間的局所性の定義をよく読み,次のプログ
ラムに関して,データアクセスの時間的局所性,空間的局所性の有無を検討し,下記の表に示せ.
1)比較的小さなループ処理で,かつ比較的小さな配列の要素を順次計算するプログラム.
2)非常に大きな配列の要素をランダムに読むプログラム.
3)非常に大きな配列の要素を順次に読むプログラム.
4)非常に大きな配列に対し,その添え字をランダムに決め,その要素に対して多数回の演算
を行う,という処理を繰り返すプログラム.
空間的局所性
時間的局所性
空間的局所性
時間的局所性
プログラム1
有
有
プログラム2
無
無
プログラム3
有
無
プログラム4
無
有
プログラム1
プログラム2
プログラム3
プログラム4
また,その理由を述べよ.
解答例
2
理由
1. 小さな配列であるため,近傍データが常にアクセスされる(空間的局所性有).また,自分
自身がすぐに繰り返し参照される(時間的局所性有).
2. 非常に大きい配列であり,要素がランダムにアクセスされることから,近傍データが引き続
きアクセスされる可能性は少ない(空間的局所性無).また,引き続き自分自身が参照され
る確率も少ない(時間的局所性無).
3. 非常に大きい配列であるが,添え字を連続的に変化させてアクセスするので近傍データが引
き続き参照される(空間的局所性有).しかし,自身が参照されるのはしばらくたってから
である(時間的局所性無).
4. 非常に大きな配列であり,演算する要素がランダムに決められるので,近傍データが参照され
ることは少ない(空間的局所性無).しかし,自身は引き続き参照される(時間的局所性有).
1