...

10 - 東京工業大学

by user

on
Category: Documents
16

views

Report

Comments

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
Fly UP