第4章 記憶装置の構成   4.1記憶階層方式 4.1.1記憶装置への要求事項 (1)速度:アクセスタイムとサイクルタイム   (2)容量  

Slides:



Advertisements
Similar presentations
3章 主記憶装置(pp ) 4章 補助記憶装置(pp ). 記憶装置の分類 主記憶装置(メインメモリ) 単に「主記憶」とも. コンピュータの電源が入っている間に, 作業中の情報を蓄える. 実行中のプログラムの,プログラム本体 実行中のプログラムの使う情報(C言語では,変数の値)
Advertisements

DATE : 11. メモリ 五島 正裕 今日の内容 メモリ  SRAM  DRAM  Flash Memory.
ディジタル回路 11. メモリ 五島 正裕 ディジタル回路 今日の内容 メモリ  SRAM  DRAM  Flash Memory.
Linuxを組み込んだマイコンによる 遠隔監視システムの開発
オペレーティングシステムJ/K 2004年10月18日(5時限目)
オペレーティングシステム (仮想記憶管理)
キャッシュの高速化手法と仮想記憶 天野英晴.
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
情報検索概説II 第8回 パソコン組み立てと記憶装置 1999/11/25.
計算機工学III オペレーティングシステム #14 ファイル: より進んだファイルシステム 2006/07/21 津邑 公暁
CPU、記憶装置について 情報機器工学 2015年4月20日 Ⅳ限目.
情報システム基盤学基礎1 コンピュータアーキテクチャ編 第6回 記憶階層
基本情報技術概論(第10回) 埼玉大学 理工学研究科 堀山 貴史
Ibaraki Univ. Dept of Electrical & Electronic Eng.
計算機システムⅡ キャッシュと仮想記憶 和田俊和.
ダイレクトマップキャッシュの構成 例: メモリアドレス=32ビット キャッシュ容量C=256Kbyte C=B×A×S ブロックサイズ(ラインサイズ)B=32byte セット数(ブロック数、ライン数)S=8K アソシアティビティA=1 (ダイレクトマップは1) メモリアドレス=32ビット タグ 14ビット.
第6回 仮想記憶とページング ページング ページ取り出し方式 ページ置き換え方式 中間テスト(40分)
オペレーティングシステム 第10回 仮想記憶管理(1)
システムソフトウェア講義の概要 計算機システムの復習:中央演算処理装置(CPU),プログラムの実行,主記憶装置,補助記憶装置
記 憶 管 理(1) オペレーティングシステム 第9回.
計算機工学III オペレーティングシステム #9 主記憶管理:ページング 2006/06/09 津邑 公暁
オペレーティングシステム (割り込み&仮想記憶管理)
基本情報技術概論(第12回) 埼玉大学 理工学研究科 堀山 貴史
入 出 力 管 理 オペレーティングシステム 6/26/09.
10. メモリ 五島 正裕.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
~補助記憶装置~  主記憶装置に記憶されるデータは,パソコンの電源を切ると記憶内容が消えてしまう。また,容量にも限界があるので,補助記憶装置にデータを記憶させる。補助記憶装置はパソコンの電源を切っても記憶内容は消えない。補助記憶装置の内容は主記憶装置上で利用することができる。 電源OFF 電源OFF.
計算機システムⅡ 主記憶装置とALU,レジスタの制御
計算機システム概論・4回目 本日のトピック:メモリの管理と仮想記憶 メモリ管理におけるOSの役割 メモリの割当方法について
オペレーティングシステム 第11回 仮想記憶管理(2)
オペレーティングシステム 第9回 実記憶管理 38号館4階N-411 内線5459
3章 主記憶装置(pp ) 4章 補助記憶装置(pp )
キャッシュ 頻繁にアクセスされるデータを入れておく小規模高速なメモリ 当たる(ヒット)、はずれる(ミスヒット) マッピング(割り付け)
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
情 報 技 術 基 礎 処理装置の構成と動作 D17kog706pr101 始.
記 憶 管 理(2) オペレーティングシステム 第10回.
『コンピュータ構成要素』 (C)Copyright, Toshiomi KOBAYASHI,
ソフトウェア階層 分類 具体例 応用ソフト 基本ソフト アプリケーションソフト 個別アプリケーション SEやユーザが開発するプログラム
オペレーティングシステム 第12回 仮想記憶管理(3)
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
オペレーティングシステム i386アーキテクチャ(2)
基本情報技術概論(第8回) 埼玉大学 理工学研究科 堀山 貴史
パソコンの歴史 ~1970年 1970年代 1980年代 1990年~ ▲1946 ENIAC(世界最初の計算機、1,900加算/秒, 18,000素子) ▲1947 UNIVACⅠ(最初の商用計算機) ▲1964 IBM System/360(5.1MHz, 1MB, 2億円) ▲1974 インテル8080(8.
メモリ管理 4.3, 4.4 章 さだ.
型付きアセンブリ言語を用いた安全なカーネル拡張
オペレーティングシステム (仮想記憶管理)
メモリとHDD.
オペレーティングシステム (仮想記憶管理)
第6回 メモリの種類と特徴 主記憶装置、ROM、RAM
作りながら学ぶコンピュータアーキテクチャ(改訂版)授業資料 テキスト ページ対応 天野英晴
コンピュータを知る 1E16M009-1 梅津たくみ 1E16M017-8 小沢あきら 1E16M035-0 柴田かいと
Ibaraki Univ. Dept of Electrical & Electronic Eng.
オペレーティングシステムJ/K (仮想記憶管理)
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
コンピュータアーキテクチャ 第 9 回.
地理情報システム論(総)/ 国民経済計算論(商)
第4回 メモリ管理 主記憶(メインメモリ)の管理 固定区画方式と可変区画方式 空き領域の管理 スワッピング.
計算機アーキテクチャ1 (計算機構成論(再)) 第一回 計算機の歴史、基本構成、動作原理
2013年度 プログラミングⅠ ~ 内部構造と動作の仕組み(2) ~.
アルゴリズムとデータ構造1 2009年6月15日
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
「コンピュータと情報システム」 02章 ハードウェア
アルゴリズムとデータ構造 2010年6月17日
Ibaraki Univ. Dept of Electrical & Electronic Eng.
分散メモリ型並列計算機上での行列演算の並列化
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Presentation transcript:

第4章 記憶装置の構成   4.1記憶階層方式 4.1.1記憶装置への要求事項 (1)速度:アクセスタイムとサイクルタイム   (2)容量   (3)不揮発性(Non-Volatile)  :電源切っても記憶は残る (4)書換え可能性   (5)ランダムアクセス性   (6)可搬性

 4.1.2各種の記憶デバイスの速度と容量 (1)半導体メモリ SRAMとDRAM S:Static  電気を入れておけば安定に情報を記憶 D:Dynamic  電気を入れておいても、ときどき読み出さないと記憶がなくなる→リフレッシュが必要

SRAM フリップフロップ たすきがけ:正帰還 D G NMOS G電位大 D-S導通 S

DRAM コンデンサの電荷で0,1を表現

V1=(VpCp-VsCs+VDCs)/(Cp+Cs) V1+V2=VD V1Cp-V2Cs=VpCp-VsCs V1=(VpCp-VsCs+VDCs)/(Cp+Cs) 電荷保存則

 DRAM 1の読み出し時:VpCp/(Cp+Cs) 0の読み出し時:(VpCp+CsVD)/(Cp+Cs) Vp=VD/2とすると, 1の読み出し時:VD(1-Cs/(Cp+Cs))/2 0の読み出し時:VD(1+Cs/(Cp+Cs))/2 高速ページモード,SDRAM,RDRAM  リフレッシュ   セル当たり96msecごと   1行単位で同時に読み出して書き込む

DRAMについての私の経験 ・1Kb DRAM 1974に購入(東光株式会社) アクセスタイム 350nsec 容量256KB 価格1000万円 ・256Mb DRAM 2001年にパソコンのアドオンメモリとして購入 アクセスタイム 70nsec 容量128MB 価格5000円

(2)固定型補助記憶装置 ハードディスク   年率:60%で容量増加   浮上隙間は10~20nm程度   トラック数:5,000~30,000   セクタ数:100~500   セクタバイト数:512B   シーク(seek)時間:5~12msec   回転待ち(rotation latency)    3,600~15,000RPM(Rotations Per Minute)    3,600RPMで1/(2*60)=8msec    7,200RPMで4msec

(3)可搬(リムーバブル)型補助記憶装置 フロッピディスク(FD) フラッシュ(flash memory) SuperDisk, 光および光磁気ディスク CD-R(追記型,一回の書込みのみ可能) CD-RW(複数回の読出し書込みが可能) MO(Magneto-Optical) DVD(Digital Versatile Disk)-RAM カセット型磁気テープ 2倍速,4倍速のドライブ装置: 音楽用CDの基準データ転送速度 150KB/sの何倍

(4)リードオンリメモリ(ROM) マスクROM PROM(Programmable ROM) EPROM(Erasable PROM) EEPROM(Electrically Erasable PROM)  OSなどの基本プログラム部分の格納   例えばローダ  制御記憶などのデコーダ  文字パターン  関数表

4.1.3記憶階層方式 参照の局所性(locality of references) 時間局所性(temporal locality) 空間局所性(spatial locality) アナロジ: 頭の中、メモ帳、机上の本、引出しのファイル、部屋の本箱、地下倉庫

4.2仮想記憶  ユーザのアドレス空間:4GB 実記憶容量:    4MB 4.2.1基本方式 (1)ページング方式 (2)セグメンテーション方式 4.2.2写像方式 (1)直接写像 ページテーブル 多重レベルページング セグメントテーブル セグメンテーション+ページング Pentiumの方式   ページ化セグメンテーション  

1次元アドレス

ページングでの仮想アドレスの生成   IBMメインフレームのアドレッシングモード    例インデックスモード      Rb+Rx+変位      Rb:ベースレジスタ(汎用レジスタ使用)      Rx:インデックスレジスタ(同上)      OP Rd Rb Rx D       8  4  4  4 12

2次元アドレス セグメント:あるまとまったデータとかプログラム、 可変長 オフセット、変位:8086で16ビット、Pentiumで32ビット 2次元アドレス       セグメント:あるまとまったデータとかプログラム、 可変長 Pentiumではセグメントセレクタ

Pentiumでのセグメンテーション セングメントの種類   コード、データ、スタック、... セグメントレジスタ:セグメントセレクタを格納   CS:コード   SS:スタック   DS:データ    ES,FS,GS:予備

ここにセグメント番号(セレクタ)を入れておく セグメントベースへの変換が必要 各命令のオペランドごとに対象となるセグメントレジスタが暗黙に決まっている。 そのセグメント内でアドレッシングモードを適用

4KBの小ページを1M個指定 4GBの大ページを1024個指定

セグメントごとのアクセス制御も可能。R,R/W

Eの追い出し 詰め(コンパクション) フラグメンテーション、断片化

1次元の非常に大きな仮想アドレス フラグメンテーションはあるが、気にならないくらいスペースがある

(2)連想写像 ページフレームテーブル ハッシュ法 TLB法 TLBミスの対処 ハードまたはソフト

実際のアドレス空間の大きさ IBMメインフレーム 1964年 S360 24ビット 1970年 S370 24ビット、仮想記憶の導入  1983年 S370ーXA 31ビット  1988年 ESA/370(Enterprise Systems        Architecture)  1990年 ESA/390  2000年 z/Architecture 64ビット   

z/Architectureでのページテーブル ページテーブル ウオーク ページテーブル  ウオーク K.E.Plambeck:Development and Attributes of z/Architecture, IBM J.Res Dev,46,4/5,2002

Intel マイクロプロセッサ 1978 8086 1MB 16ビット セグメント長最大64kB 286 16MB 最大実アドレス容量 Intel マイクロプロセッサ 1978 8086   1MB 16ビット セグメント長最大64kB 286 16MB 386 4GB 32ビット セグメント長最大4GB 486 4GB        セグメント数:16383 Pentium 4GB 1995 Pentium Pro 64GB 1997 Pentium II 64GB Pentium III 64GB 2000 Pentium 4 64GB 仮想アドレス空間 14ビット:セグメント番号指定 32ビット:セグメント内アドレス指定 計46ビット

4.2.3 ページフレームの管理 (1)各種管理テーブル (2)ページ置き換えアルゴリズム FIFO:First In First Out FINUFO:First In Not Used First Out  LRU:Least Recently Used ワーキングセット:Working Set (3)多重プログラミング制御と置き換えアルゴリズム グローバルLRU法 ワーキングセット法 4.2.4 仮想空間の共有と保護 多重仮想記憶方式

ページ要求 時刻-1、-0 プロセス0,1 仮想ページ0、仮想ページ10要求 ページフォールト 時刻1 プロセス1 仮想ページ0 ページ枠0 時刻-1、-0 プロセス0,1 仮想ページ0、仮想ページ10要求      ページフォールト 時刻1 プロセス1 仮想ページ0 ページ枠0      実行中へ 時刻3 プロセス2 仮想ページ10 ページ枠1      プロセススイッチで実行中 時刻4 プロセススイッチでプロセス1へ      仮想ページ256 ページ枠2 時刻5 プロセス1 仮想ページ512 ページ枠3      TLBフル 仮想ページ0 TLB追い出し 時刻7 プロセス1 仮想ページ7 レジデントセット限界      仮想ページ0に対応したページ枠0を置き換えて      仮想ページ7に割り付け

0 ページフォルト プロセススイッチ 時刻-1 0 TLBミス プロセス1 仮想ページ0要求 0 1 2 3

時刻-0 0 0 0 プロセス2 仮想ページ10要求 0 2 0 10 TLBミス 0 10 0 1 2 3 ページフォルト プロセススイッチ

時刻1 ディスク終了 割込み 1 0 #1 仮想ページ0 読出し プロセス1実行 1 0 0 0 1 0 プロセス2 仮想ページ10要求 0 3 2

時刻3 ディスク終了 割込み 1 0 #1 仮想ページ10 読出し 1 0 0 0 1 1 1 0 プロセス2 ページ10参照 0 0 2 #2 10 10 プロセススイッチ プロセス2実行 0 1 0 3 1 10 ページフレーム 使用ベクトル 1 使用リスト 0 1 2 3

時刻5 プロセス1 1 0 #1 仮想ページ512 読出し 1 0 0 2 1 1 0 256 2 1 1 3 1 TLBフル 没 TLB0 TLB1 プロセス2 ページ10参照 0 0 0:2 PFN:2 VPN:256 2 10 1 0 3 #2 10 プロセススイッチ プロセス2実行 0 1 0 3 1 10 1 使用リスト 0 1 2 3

プロセス1 1 0 5 2 #1 512 仮想ページ512 読出し 時刻5 1 0 0 2 3 1 1 0 4 256 2 3 1 1 3 1 1 0 1 0 5 512 TLB書き換え TLB0 TLB1 プロセス2 ページ10参照 0 3 0:1 PFN:2 VPN:256 2 10 1 0 3 #2 10 0 1 0 3 1 10 1 使用リスト 0 1 3 2 4

時刻7 プロセス1 1 0 5 2 #1 512 仮想ページ7 読出し レジデントセット限界:FIFO 0 1 0 2 3 0 1 1 0 4 256 2 3 仮想ページ0置き換え 1 1 0 7 1 1 0 1 0 5 512 TLBに追加 TLB0 TLB1 プロセス2 ページ10参照 0 3 0:1 PFN:2 VPN:256 7 1 0 7 #1 時刻7 2 10 1 0 3 #2 10 0 1 0 3 1 10 1 使用リスト 0 1 3 2 4

時刻7 プロセス1 1 0 5 2 #1 512 仮想7ページ7 読出し レジデントセット限界:LRU 0 1 0 2 3 1 1 0 7 4 256 2 3 1 1 3 1 1 0 1 0 5 512 比較 TLBに追加 TLB0 TLB1 プロセス2 ページ10参照 0 3 0:1 PFN:2 VPN:256 7 1 0 7 #1 2 時刻7 10 1 0 3 #2 10 0 1 0 3 1 10 1 使用リスト 0 1 3 2 4

ページ置換えアルゴリズム:FIFO 参照仮想ページ番号 ページフォールト:9回 ページフォールト:10回

ページ置換えアルゴリズム:FINUFO

包含関係 ドノバン

TLB Miss と ページウオーク ペナルティ:15-30サイクル M.J.Flynn:Computer Architecture,Jones & Bartlett,1995

仮想アドレス空間の共有と保護

4.3 キャッシュ・メモリ 4.3.1基本原理  参照の局所性を利用 on demand メモリとの写像 ブロック単位で写像:空間局所性、64B程度 セットアソシアティブ方式 セット分割      セット数1:フルアソシアティブ方式  ロー数      ロー数1:ダイレクトマッピング(旧プロセッサ)

キャッシュメモリの容量  ブロックサイズ*セット数*ロー数 キャッシュメモリの実効アクセス時間   TC=TH (1- β)+ β(TH+TL1)=TH+ βTL1    β:ミス率、TL1:メモリからの転送時間    容量大→β小、TH増大 容量:64kB程度 ブロックサイズ:空間局所性           32~64B程度

64B

4.3.2置換えアルゴリズム 各セットでLRU(Least Recently Used) 4.3.3実記憶への書込み (1)ストアスルー(store through、write through) 書込み時:メモリにも同時に書込み (2)ストアイン(store inまたはwrite back)    書込み時:メモリにはすぐには書かず、           置換え時に格納

4.3.4仮想アドレスキャッシュと 実アドレスキャッシュ ・キャッシュディレクトリへのアドレスの与え方   仮想アドレス:Virtually Indexed   実アドレス  :Physically Indexed ・キャッシュディレクトリ内の情報   仮想アドレス(ページ番号):Virtually Tagged   実アドレス(ページフレーム番号):Physically Tagged ・実アドレスキャッシュ: P/P ・仮想アドレスキャッシュ:V/V, V/P

(1)実アドレスキャッシュ 仮想アドレス→TLB→実アドレス→ キャッシュディレクトリ→データアレイ 高速化:ページ境界とセット境界同一化   仮想アドレス→TLB→実アドレス→   キャッシュディレクトリ→データアレイ 高速化:ページ境界とセット境界同一化 シノニム問題なし キャッシュコヒーレンス容易 仮想ページ番号 仮想アドレス 実ページフレーム番号 実アドレス セットアドレス キャッシュアドレス アドレス変換後確定

実アドレスキャッシュの高速化 P/P方式 1024個のページフレーム 64セット×16ロウ Physically Indexed Physically Tagged 境界を揃える セットアドレス: 仮想・実変換に無関係

(2)仮想アドレスキャッシュ(V/V方式) 高速で,   TLBを通常引く必要がない   しかし シノニム問題が生じる

仮想アドレスキャッシュ① V/V方式 Virtually Indexed Virtually Tagged方式 キャッシュヒット:TLBは引かない

XXX ○○○ シノニム問題 仮想アドレスキャッシュ TLB TLB 実アドレスキャッシュ

シノニム問題の回避    V/V方式    (a)共有空間を同一仮想アドレスに      設定(ソフト的):セットアドレスを含むビット (b)全キャッシュパージ法      プロセス切り替え時にキャッシュを無効化 (c)逆変換バッファ法(RTB)    V/P方式 (d)仮想実アドレスの混合型

シノニムの回避(a),(b) 仮想アドレスキャッシュ 無効化と書き戻し 回避(a):00とする (b) リードミス TLB TLB ○○○ XXX ○○○ 仮想アドレスキャッシュ 無効化と書き戻し 回避(a):00とする (b) リードミス TLB TLB

シノニムの回避(c) 仮想ページA 仮想ページA xxx00000010xx セット 仮想ページB 。。。11000010xx セット  xxx00000010xx セット 仮想ページB 。。。11000010xx セット 仮想ページ番号を記憶 仮想ページBに設定

V/P方式 仮想アドレスキャッシュ ページ 実ページフレーム番号を記憶 TLBヒット:メモリからキャッシュへ転送 Virtually Indexed Physically Tagged 仮想アドレスキャッシュ

シノニムの回避(d) 仮想アドレスA xxx 00 000010xx 01 00 仮想アドレスB 。。。10 000010xx セット 11 仮想アドレスA xxx 00 000010xx              01 仮想アドレスB 。。。10 000010xx              11 00 セット ページ 実ページ番号を記憶 A実行 Bへ切替え B実行 シノニムの回避(d) V/P方式の利用

ソフトウェア管理のアドレス変換 TLBは必要ない? V/V型仮想アドレスキャッシュ   キャッシュヒット時:TLB参照の必要なし セカンドキャッシュ:数MB   ほとんどセカンドキャッシュでヒット セカンドキャッシュミスヒットのとき   ページテーブルウオークをする     OS起動あるいは     ハードウェア支援 TLB:ARMで17%電力消費

B.Jacob,T.Mudge: Uniprocessor Virtual Memory without TLBs, IEEE Trans Computers,50,5,pp.482-499,2001

L2キャッシュミス:1000命令で5回(0.5%) L2キャッシュミスのときのペナルティ:10-40サイクル   1000命令で50-200サイクル   オーバヘッドCPI:0.05-0.2 TLBを用いた場合と遜色がない

4.3.5高速化技法 (1)命令キャッシュとオペランドキャッシュの分離 物理的に使用する場所が異なる キャッシュミスの時の性能への影響 命令キャッシュには、書込み操作がない. 分離型キャッシュの場合 命令キャッシュ,データキャッシュ ミスヒット率:βIS,βDS 実行命令数 NI,内ミスヒット回数 NIM データ参照回数 ND,内ミスヒット回数NDM k=ND/NI:1命令での平均データアクセス回数 ロード命令とストア命令の出現頻度 0.34

1命令を実行するのに必要とされる キャッシュに関係した実行時間 Ts NITs=TH*Max(NI,ND)+(NIM+NDM)TL より, Ts=TH+(βIS+kβDS)TL

統合型キャッシュの場合 キャッシュメモリヒット時 命令とデータアクセスで競合 NIの命令の実行でNI+ND個の キャッシュアクセス, 優先度が低いND個は待たされ, 2TH必要 ミスヒット率:βu 1命令を実行するのに必要とされる キャッシュに関係した実行時間 Tuは NITu=TH*NI+TH*ND+(NIM+NDM)TL より, Tu=TH+kTH+(NI+ND)/NI *(NIM+NDM)TL/(NI+ND) =TH+kTH+(1+k)βuTL

64B

分離型と統合型キャッシュの性能比較 TH=1サイクル,TL=30サイクル 32KB,32KB 分離型 64KB 統合型 命令パイプライン 64KB 統合型 命令パイプライン 分離型キャッシュ: (0.0022+0.34 X 0.0289)X30=0.36 統合型キャッシュ: 0.34+(1+0.34)X0.0067X30=0.61 大きい:数命令同時読み出しでカバー可能

(2)2階層キャッシュメモリ 基本原理 TC=TH+βTL1+βγTL2 β=0.02,γ=0.2, TL1/TH=5,TL2/TH=50の場合 TC=1.3TH (3)キャッシュバイパスバッファ    キャッシュ内のアクセスバイトから転送

キャッシュ メインメモリ 2ndキャッシュ 1stキャッシュ β:ミス率 転送時間TL T=TH+ βTL=2TH β=0.02,TH=1ns,TL=50TH 転送時間TL1 γ:ミス率 転送時間TL2 T=TH+ βTL1+β γTL2=1.3TH γ=0.2,TL1=5TH

Power4の記憶階層 ? Pentium4の記憶階層 L1 Data 8KB レイテンシ 2 L2 256KB レイテンシ18 latency   4 12 ? 16MB eDRAM外付け 340 Pentium4の記憶階層 L1 Data 8KB レイテンシ 2 L2   256KB レイテンシ18

IEEE Micro, March,2003 

(4)ノンブロッキングキャッシュ     先行命令でキャッシュミスでも      後続命令どんどん実行     パイプラインバブル減少     データの先読みによる遅延時間      (レイテンシ)減少:コンパイラによる      キャッシュ制御VSオンデマンド制御 (5)ストアバッファ    ストアスルーでメモリ書込みを待たないで     先実行:置いてきぼり制御 (6)命令バッファ    命令キャッシュから数命令同時フェッチ

キャッシュミキャッシュミス Ld R0 M(R1) キャッシュミキャッシュミス 他の多数命令の実行 Ld R0 M(R1) ADD R2 R3 R0 ADD R2 R3 R0 待ち R0にデータ到着

4.3.6 キャッシュメモリの有効性 1024x1024の2次元配列AとベクトルXの積B Bi=ΣjAjiXj 各要素データは8B キャッシュブロックのサイズは64B (すなわち8要素の格納が可能) キャッシュ容量:18KB

タイリング法 単純なプログラム DO 10 I=1,1024 DO 10 J=1,1024 B(I)=A(I,J)*X(J) 10 CONTINUE 改良プログラム DO 10 I=1,1017,8 DO 10 K=1,4 DO 10 J=256(K-1)+1,256K B(I)=B(I)+A(I,J)*X(J) B(I+1)=B(I+1)+ A(I+1,J)*X(J) ・・・・・・ B(I+7)=B(I+7)+ A(I+7,J)*X(J) タイリング法

4.6主記憶装置 インターリーブ      ストアスルーの時:同時書込み可能で                  高速化      ストアインの時:メモリバス幅が                  太ければよい                ブロック単位の転送

スーパコンピュータ:1024バンク構成 (ベクトルプロセッサ) 演算器 メモリ LatencyとThroughput バンク0 バンク1 0.1nsec/データのチャネル 演算器 バンク2 メモリ バンク3 10GFLOPS 0.1nsec/データ 0.1nsecX1024個転送 100nsec バンク1021 最初の1024個起動 バンク1022 次の1024個起動 その次の1024個起動 バンク1023 各バンク: 100nsec/データ 100nsec メモリレイテンシ 次の1024個転送開始 最初の1024個転送開始

スキュードメモリ(直交メモリ化)