Comments
Description
Transcript
10 - 東京工業大学
計算機論理設計 (A) (Computer Logic Design (A)) 東京工業大学 大学院理工学研究科 電子物理工学専攻 松澤 昭 テキストは http://www.ssc.pe.titech.ac.jp からダウンロード可能です 2006/1/10 計算機論理設計 A.Matsuzawa 1 1月12日分 10. メモリ 2006/1/10 計算機論理設計 A.Matsuzawa 2 メモリ メモリーは種類により速度・容量・コストが数桁も 違うため階層構造になっている。 同一LSI CPU 速度 キャッシュ SRAM 同一ボード上 同一筐体上 2006/1/10 容量 コスト 高速 (2nsec) 小容量(1MByte) 高価 主記憶 DRAM 中速 (50nsec) 中容量(1GByte) 安価 補助記憶 ハードディスク 低速 (数usec) 大容量(100GByte) 超安価 計算機論理設計 A.Matsuzawa 3 ハードディスク 気軽に大容量のデータが蓄えられる。 磁性体の円盤(95mmくらい)に磁気ヘッドを用いて記録する 磁気ヘッドは高速回転のディスク上を0.1umの間隔を保ってトレースしている。 記録密度は年率2倍程度上昇している。音楽携帯機器(i-Podなど)にも用いられるようになった。 2006/1/10 計算機論理設計 A.Matsuzawa 4 DRAM 半導体メモリ。容量に電荷を蓄えて記憶する。トランジスタはスイッチとして用いられる。 SRAMよりも大容量が可能だが(6倍程度)時間が経つとデータが消えるため時々再書き 込み(リフレッシュという)が必要で、動作速度は50ns程度と遅い。 2006/1/10 計算機論理設計 A.Matsuzawa 5 SRAM フリップフロップを用いて記憶するので安定でロジック回路なみに高速である。 ただし、1ビット記憶に6個のトランジスタを必要とし、DRAMの6倍の面積が必要 でコストが高い。 キャッシュメモリとして用いられる。 2006/1/10 計算機論理設計 A.Matsuzawa 6 RAMの構成 1: 読み出し 0: 書き込み 2006/1/10 計算機論理設計 A.Matsuzawa 7 RAMの論理回路モデル アドレスをデコードしてどれか 1つのワード線を[1]にする 一旦は全ての列のデータが読み出される その後、ビット選択が行われる。 アドレスをデコードしてどれか 1つのビット線を[1]にする 2006/1/10 計算機論理設計 A.Matsuzawa 8 RAMのブロック構成 通常上位アドレスでワード選択 下位アドレスでビット選択が行われる 2006/1/10 計算機論理設計 A.Matsuzawa 9 メモリの拡張方法 チップセレクト信号を用いるとメモリを 拡張できる。 通常、上位アドレスをデコードして用いる 2006/1/10 計算機論理設計 A.Matsuzawa 10 処理装置とメモリの接続 複雑な接続 (拡張性があるが、動作速度が遅い) 単純な接続 (高速なアクセスが可能 なので結構用いられる) 2006/1/10 計算機論理設計 A.Matsuzawa 11 メモリと処理装置のハンドシェーク ②メモリ起動 書き込み信号 ①起動待ち 読み出し信号 ⑤メモリデータを送り、MACKを[1] ⑥MACK=[1]で処理装置に取り込み 終了 起動待ち データ確定 ③[0] 他のアクセス拒否 ④動作選択とアドレス送付 メモリへの起動 動作選択 ⑧MRDY=[1]で起動待ち ①起動待ち ⑦取り込み終了でEND=[1] ②メモリ起動 ③[0] 他のアクセス拒否 ④動作選択とアドレス送付 ⑥書き込み終了にて MACK=[1], MRDY=[1] 2006/1/10 計算機論理設計 A.Matsuzawa 12 メモリシステムの階層構造 メモリは種類により、速度と容量・コストが異なるので階層的な構造をしている。 使用頻度の高いデータやプログラムはキャッシュに保存することで高速動作を実現している。 一番単純 処理速度が遅い キャッシュメモリを使用 処理速度が速い 階層キャッシュメモリを使用 処理速度が極めて速い キャッシュメモリを使用 命令キャッシュと データキャッシュを使用 メインメモリのデータを 部分的にコピー 2ns 小容量だが速い:SRAM 80ns 大容量で遅い:DRAM 超大容量で極めて遅い 2006/1/10 計算機論理設計 A.Matsuzawa 13 キャッシュメモリの効果 キャッシュを用いることで実効的なメモリアクセス時間を大幅に短縮できる。 平均的メモリアクセス時間 CPU = 5ns × 0.95 + 80ns × 0.05 = 8.75ns アクセス 5ns キャッシュメモリ 使用頻度の高い一部のデータが入っている ヒット率:95% アクセス 80ns メインメモリ 2006/1/10 ほとんど全てのデータが入っている 計算機論理設計 A.Matsuzawa 14 キャッシュメモリのアドレス キャッシュメモリにはメインメモリから一度に複数のデータが蓄えられる。また、 メインメモリアドレスの上位ビットをタグデータとして記憶し、ヒットかミスかの判断を行う。 DRAMからキャッシュへの転送は1つ1つ 行うのではなく数個のまとまったデータを転 送したほうが高速である。 プロセッサははじめにこのイ ンデックスを読みにいく タグが記憶されている メインメモリから キャッシュに一度 に取り込まれる データのかたまり 一度に複数のデー タを取り込む 2006/1/10 計算機論理設計 A.Matsuzawa 15 キャッシュメモリのマッピング ダイレクトマッピングキャッシュ ディレクトリ部とデータ部がワンセットになっている 欠点: インデックスが重複する複数の異なる領域 を参照することができない。 セットアソシアティブキャッシュ ディレクトリ部とデータ部が複数セット 用意し、インデックスが異なる領域を 同時にマッピングできるようにしている。 (この例では2セット用意) 2006/1/10 計算機論理設計 A.Matsuzawa 16 キャッシュメモリの読み出し方法 TAG情報 TAG情報 インデックスとワード・バイト部を用いてディレクトリとデー タを読み出す 読み出されたディレクトリとメインメモリのアドレスタグを 比較する。 一致すればヒットとなり、キャッシュからデータがレジスタ に送られる。 不一致の場合はミスとなり、メインメモリにデータを読み にいく。 メインメモリからはブロック単位でデータが読み出される。 このデータはキャッシュのどれかのセットのインデックス で指定されたブロックに書き換えられる。 通常、LRU (Least Recently Used):最も以前に参照 されたブロックから書き換える が用いられる。 2006/1/10 計算機論理設計 A.Matsuzawa 17 キャッシュメモリの具体例 どれか一つを選択 キャッシュとメインメモリ間のバス 4x32bit ワード 単位の 選択 2006/1/10 計算機論理設計 A.Matsuzawa メインメモリの データをデータバ スに出力 18 仮想メモリ:CAM 物理的には小さなアドレス空間を使用しているが、プログラム上は大きな アドレス空間を使用しているようにみせたものを仮想メモリという。 ここは共通 20bit プログラム上のアドレス は外部記憶上のアドレス で書かれる。 (この例では32bit) 2006/1/10 12bit 仮想アドレスから物理アドレスへの変換 テーブルが必要である。 しかし、メインメモリはこれ よりも容量が小さい。 (この例では24bit) 計算機論理設計 A.Matsuzawa 19 連想メモリ 連想メモリは検索データを入力し、同一もしくは類似データの有無やデータ のアドレスを出力する。 TLB: Translation Look aside Buffer CAM: Contents Addressable Memory 仮想アドレスとディレクトリのデータが一致したとき のみ[1]が立ちデータ部がアクセスされる。 物理アドレスが出力される 2006/1/10 計算機論理設計 A.Matsuzawa 20 宿題の解答の訂正 前回の解答に間違いがあったので、赤文字下線に訂正する。 図5.9に示す計算機の基本構造と動作順序を用いて、メモリからA, Bのデータを取り出して 加算の後にメモリーに返す動作を説明せよ。 ・PCからアドレスを読みだし、MAに一旦格納する ・MAの指示するアドレスのメモリをアクセスし、命令 コードを読み出しMDに格納する。 ・PCの内容を1増やす ・MDに格納された命令コードをIRに送る ・IRに応じてALUを制御してALUを加算モードにす る。 ・命令コードのアドレス部をMAに格納する。 ・MAの指示するアドレスのメモリをアクセスし、オペ ランドを読み出しMDに格納する。 ・MDのデータをGRに送る。 ・MAの指示するアドレスのメモリをアクセスし、オペ ランドを読み出しMDに格納する。 ・MDのデータを別のGRに送る。 ・2つのGRのデータをALUに送り加算を実行する。 ・結果をMDに送る ・MDからMAが指示するアドレスに加算したデータ を格納する。 2006/1/10 計算機論理設計 A.Matsuzawa 21 前回の宿題の答え 2006/1/10 計算機論理設計 A.Matsuzawa 22 宿題 1)ハードディスク、DRAM、SRAMの特徴を述べよ 2)メモリが階層化されている理由を述べよ 3)ヒット率98%, キャッシュアクセス 2ns, 主記憶アクセス 50nsの ときの実効的メモリアクセス時間を求めよ。 4)図5.49に示したキャッシュの動作を簡単に説明せよ 5)仮想メモリと連想メモリとはなにか説明せよ。 2006/1/10 計算機論理設計 A.Matsuzawa 23