東北大学 工学部 機械知能・航空工学科
2017年度 5セメスター・クラスC3 D1 D2 D3
計算機工学
大学院情報科学研究科
鏡 慎吾
http://www.ic.is.tohoku.ac.jp/~swk/lecture/
13. メモリシステム
(教科書8章)
2( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
(復習) MIPSの構造
メモリ
32ビットALU
32x32ビット
レジスタファイル
PC
命令デコーダ
アドレス(32ビット)
データ(8, 16, 32ビット)
次PC計算
制御回路
mux
mux
演算選択
レ
ジ
ス
タ
選
択
3( ): 2017 (1)鏡 慎吾 東北大学 計算機工学
(復習) 計算機の基本構成
入出力
装置A
入出力
装置B
入出力
装置C
メモリ
(主記憶,
1次記憶)
プロセッサ
(CPU, MPU)
バス
入出力装置 (Input/Output, I/O) の例
• 二次記憶(外部記憶,ストレージ): ハードディスク, CD, DVD
• キーボード,マウス
• グラフィックス,ディスプレイ
• ネットワーク
別物!
「メモリ」という用語の混乱
4( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
Q: 以下の会話は,2017年頃のウェブ上で実際に見られたやり取りの例である
(一部改変).何がおかしいのかを指摘せよ.
「当社では社員が使う PC のメモリはすべて 32 GB
です.快適に作業ができます」
「えっ? 32 GB って少なくないですか? 私の iPhone
のメモリは 128 GB なんですけど」
A: 前者は主記憶の話をしている.後者は二次記憶の話をしている
• アーキテクチャの観点では,主記憶をメモリ,二次記憶をストレージと呼ぶこと
が多い
• デバイスの観点では,半導体記憶素子をすべてメモリと呼んでしまうことがある
(e.g.: 「フラッシュメモリ」は半導体記憶素子だが,主な用途は二次記憶)
• そこにマーケティング上の思惑が絡むのでさらにややこしい,というか迷惑
Cプログラムの場合
5( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
int main() {
FILE *fp;
char str[1024];
fp = fopen("file.txt");
fgets(str, 1024, fp);
...
}
• プログラム上の変数は(普通は)主記憶上にある
• load/store命令で読み書きされる
• 二次記憶上のデータは,入出力関数を使って読み書きする
• 専用の入出力命令を使って読み書きされる
• プロセッサによっては,特定の主記憶アドレスへの
load/store によって入出力を行うものもある (例: MIPS)
記憶装置の原理
6( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
• フリップフロップ
• レジスタ
• SRAM → キャッシュメモリ(後述)
• キャパシタ
• DRAM → 主記憶
• 磁気
• 磁気記憶装置 (ハードディスク)
→ 二次記憶
• 最近はフラッシュメモリによる置き
換えが進んでいる
https://commons.wikimedia.org/w/index.php?title=File:HardDisk1.ogv
速
遅
揮発性
(電源を切ると
内容は消える)
不揮発性
ハードディスクの動作
7( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
https://commons.wikimedia.org/w/index.php?title=File:HardDisk1.ogv
8( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
(復習) レジスタファイル (32×32ビット,1入力2出力)
en
en
en
32-bit レジスタ × 32個
en
mux
書き込みデータ
読み出し
レジスタ
番号(1)
読み出し
レジスタ
番号(2)
読み出し
データ(1)
読み出し
データ(2)
書き込み
イネーブル
mux
…
2進デコーダ
書き込みレジスタ番号
32
5
5 5
en
この構造のまま,単純に容量を拡大するのは困難
(デコーダ・マルチプレクサが肥大化するため)
9( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
半導体メモリの構造
• セル(記憶素子)を2次
元マトリックス状に配
置して,アクセスを縦・
横に分解
• 読み出し・書き込み回
路を共通化
0 1 2 3 255
256 257 258 259 511
65535
行
ア
ド
レ
ス
デ
コ
ー
ダ
addr0
addr1
addr7
addr8
addr9
addr15
列
ア
ド
レ
ス
デ
コ
ー
ダ
data
ワード線
(行選択線)
ビ
ッ
ト
線
(
列
信
号
線
)
10( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
メモリセルの構造
W
B B
W
B
Static Random Access Memory
(SRAM)
Dynamic Random Access Memory
(DRAM)
• 原理的にはフリップフロップと同じ
• NOTゲートが能動的に電流を供
給してビット線を駆動する
• 1ビットあたりトランジスタ 6 個
• キャパシタが充電されていれば 1,
放電されていれば 0
• ビット線の電位は,キャパシタから
のわずかな電荷で微小に変化する
• 時間とともに電荷が漏れる
• 1ビットあたりトランジスタ 1 個
11( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
DRAM と SRAM
http://ja.wikipedia.org/wiki/Intel_Core_i7
http://www.atmarkit.co.jp/fsys/zun
ouhoudan/102zunou/corei7.html
http://www.sugilab.net/jk/joho-kiki/
DRAMモジュール
SRAM (キャッシュ
メモリ) 内蔵プロ
セッサ
12( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
メモリの動作 (DRAMの場合)
http://www.sugilab.net/jk/joho-kiki/
(1400 処理装置 → 1404 メモリのしくみ)
13( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
構造
14( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
書き込み
15( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
読み出し
16( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
SRAM
W
B B
行
ア
ド
レ
ス
デ
コ
ー
ダ
addr0
addr1
addr7
addr8
addr9
addr15
+–
列
ア
ド
レ
ス
デ
コ
ー
ダ
data
アンプ
• 読み出し時には,ビット
対線の電位差を増幅し
て値を得る
• 書き込み時には,セル
のNOTゲートよりも強
くビット線を駆動して記
憶内容を上書きする
17( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
DRAM
W
B
行
ア
ド
レ
ス
デ
コ
ー
ダ
列
ア
ド
レ
ス
デ
コ
ー
ダ
センスアンプ
(微小な信号変化の検出・
保持・書き戻し)
data
• 読み出し時は,セルか
ら流れ込む電荷による
ビット線の電位の微小
変化をセンスアンプが
検知して増幅・保持す
る.選択列の値が読み
出される.
• 書き込み時は,読み出
し時と同じ動作の後,選
択列のビット線のみ入
力電圧で上書きする.
addr0
addr1
addr7
addr8
addr9
addr15
18( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
SRAM vs DRAM
SRAM DRAM
• 1セルの回路が大きい
• 制御が比較的簡単
• 記憶内容は,電源が入ってい
る限り安定
• よって,速いが小容量
• 1セルの回路が小さい
• 制御が比較的複雑
• 時間が経つと記憶が消える
(リフレッシュと呼ばれる再書
き込み動作を数ミリ秒に1回
行う必要がある)
• よって,遅いが大容量
19( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
記憶階層
• 記憶装置は小容量だと速く,大容量だと遅い.
• アクセス開始には時間がかかり,連続データのアクセスは速い.
レイテンシ(遅延時間) 容量
ネットワーク上の記憶 ~ 1 ~ 1
ハードディスクドライブ ~ 10 ms ~ Tbytes
DRAM ~ 100 ns ~ Gbytes
SRAM ~ 10 ns (1 ~ 10クロック) K ~ Mbytes
レジスタ ~ 1 ns (1 クロック) 32 ~ 128 bytes
よく使うものは速い記憶装置に置きたい.しかしサイズは限られている.
一般論として
20( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
デスクワークからの類推
机
ファイル
キャビネット
資料室
• 机のサイズは限られているので,適宜,室内の
ファイルキャビネットや,社内の資料室に書類を取
りにいかなくてはならない
• 新しい書類が必要になったら,当面不要なものを
キャビネットまたは資料室に仕舞わなくてはならな
い.
• さてどうするか?
自然な戦略:
• 一度使った資料はまたすぐ使う可能性が高
いので,すぐにしまわずに机に置いておく(あ
るいは資料室まで戻さずにキャビネットに置
いておく)
• 関連する資料がすぐ必要になる可能性が高
いので,ある資料が必要なときには,それを
綴じてあるファイルブックごと机に持ってくる
21( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
キャッシュメモリ
メインメモリ
(DRAM)
ALU
レジスタ
ファイル
プロセッサ
load
store
キャッシュメモリの制御は,以下の経験則を利用して自動的に行われる
• 時間的局所性
あるデータがアクセスされる場合,近いうちにその同じデータが再度アク
セスされる可能性が高い
• 空間的局所性
あるデータがアクセスされた場合,その周囲の値もアクセスされる可能
性が高い
キャッシュメモリ
(SRAM)
メモリシステム
22( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
キャッシュメモリの動作例
あるアドレスへのload命令
そのアドレスの値が
キャッシュ内にある?
その値を返して完了
メインメモリから,そのアドレス
を含む一定サイズの連続する
ブロックをまとめて読み出し,
キャッシュに格納
要求されていたアドレス
の値を返して完了
(もしキャッシュ内の格納
すべき場所に先客がいた
ら,先にメインメモリに書
き戻しておく)
Yes (キャッシュヒット)
No (キャッシュミス)
極めて高速
一般に,単なるDRAM読み出しよりも
時間がかかる
平均メモリアクセス時間
= ヒット時間 + キャッシュミス率 × ミスペナルティ時間
ミスペナルティ時間
23( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
メモリの分類
ランダムアクセスメモリ vs シーケンシャルアクセスメモリ
• 任意の順序で読み書きできるものを RAM (Random Access
Memory) と呼ぶ
• 最近の「メモリ」はほぼ例外なくランダムアクセス可能
揮発性メモリ vs 不揮発性メモリ
• 電源を切るとデータが消えるのが揮発性メモリ
• 不揮発性メモリのうち,主に読み出しに用いるものを ROM
(Read Only Memory) と呼ぶ
• マスクROM (半導体製造時に内容を決めてしまう)
• PROM (Programmable ROM): 書き込み可能
• EPROM (Erasable PROM): 消去も可能
• UV-EPROM: 紫外線で消去
• EEPROM: 電気的に消去(e.g. フラッシュメモリ)
※ RAM と ROM は対義語ではない(ほとんどの ROM はランダムアクセス可能)
※ 「メモリ」という名前でも実は「二次記憶装置」の場合がある (e.g. USBメモリ)
24( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
マスクROM と EEPROM
W
B
マスクROMの構成例
ビット 0 ビット 1
W
B
EEPROMの構成例
フローティングゲートと呼ばれる部分の電荷の有無に
よって,ゲートに電圧をかけてもスイッチオンできなくする
ことができる
25( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
http://blog.livedoor.jp/game_retro/archives/1403347.html
http://ja.wikipedia.org/wiki/
ファイル:Famicom_ROM_cassette.jpg
ファミリーコンピュータ用ROMカートリッジ(ロムカセット)
26( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
練習問題
1. ヒット時間が 1 ns,ミスペナルティ時間が 20 ns のメモリシス
テムを考える.キャッシュミス率が 5 % のときの平均メモリア
クセス時間を求めよ.
2. 1のシステムにおいて,平均メモリアクセス時間を 1.5 [ns] に
するために必要なキャッシュミス率を求めよ.
3. 一般にキャッシュメモリのサイズを大きくするとキャッシュミス
率は下がるが,ヒット時間は増大する傾向にある.ある計算
機の設計において,キャッシュサイズを 2 倍にすることによっ
てキャッシュミス率が 5 % から 4 % に改善することがわかっ
た.これによって平均メモリアクセス時間を短縮できるために
は,ヒット時間の増大はどの程度に抑えられている必要があ
るか述べよ.ただしミスペナルティ時間は変更前のヒット時間
の 20 倍で,キャッシュサイズに依存しないとする.
27( ): 2017 (13)鏡 慎吾 東北大学 計算機工学
解答例
平均メモリアクセス時間 = ヒット時間 + キャッシュミス率 × ミスペナルティ時間
1. 1 + 5 × 10-2 × 20 = 2 [ns]
2. 1 + p × 10-2 × 20 = 1.5 を p について解いて,p = 2.5 [%]
3. 変更前,変更後の平均メモリアクセス時間を tma1,tma2,同じく
ヒット時間を thit1,thit2 と書くと,
tma1 = thit1 + 5 × 10-2 × 20 × thit1
tma2 = thit2 + 4 × 10-2 × 20 × thit1
tma2 – tma1 = thit2 – thit1 – 1 × 10-2 × 20 × thit1
= thit2 – thit1 × 1.2
よって 1.2 倍までの増大は許容できる.(逆に言うと,ヒット時間が
それ以上増大してしまうなら,ミス率改善の努力は無駄になる)

kagamicomput201713

  • 1.
    東北大学 工学部 機械知能・航空工学科 2017年度5セメスター・クラスC3 D1 D2 D3 計算機工学 大学院情報科学研究科 鏡 慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 13. メモリシステム (教科書8章)
  • 2.
    2( ): 2017(13)鏡 慎吾 東北大学 計算機工学 (復習) MIPSの構造 メモリ 32ビットALU 32x32ビット レジスタファイル PC 命令デコーダ アドレス(32ビット) データ(8, 16, 32ビット) 次PC計算 制御回路 mux mux 演算選択 レ ジ ス タ 選 択
  • 3.
    3( ): 2017(1)鏡 慎吾 東北大学 計算機工学 (復習) 計算機の基本構成 入出力 装置A 入出力 装置B 入出力 装置C メモリ (主記憶, 1次記憶) プロセッサ (CPU, MPU) バス 入出力装置 (Input/Output, I/O) の例 • 二次記憶(外部記憶,ストレージ): ハードディスク, CD, DVD • キーボード,マウス • グラフィックス,ディスプレイ • ネットワーク 別物!
  • 4.
    「メモリ」という用語の混乱 4( ): 2017(13)鏡 慎吾 東北大学 計算機工学 Q: 以下の会話は,2017年頃のウェブ上で実際に見られたやり取りの例である (一部改変).何がおかしいのかを指摘せよ. 「当社では社員が使う PC のメモリはすべて 32 GB です.快適に作業ができます」 「えっ? 32 GB って少なくないですか? 私の iPhone のメモリは 128 GB なんですけど」 A: 前者は主記憶の話をしている.後者は二次記憶の話をしている • アーキテクチャの観点では,主記憶をメモリ,二次記憶をストレージと呼ぶこと が多い • デバイスの観点では,半導体記憶素子をすべてメモリと呼んでしまうことがある (e.g.: 「フラッシュメモリ」は半導体記憶素子だが,主な用途は二次記憶) • そこにマーケティング上の思惑が絡むのでさらにややこしい,というか迷惑
  • 5.
    Cプログラムの場合 5( ): 2017(13)鏡 慎吾 東北大学 計算機工学 int main() { FILE *fp; char str[1024]; fp = fopen("file.txt"); fgets(str, 1024, fp); ... } • プログラム上の変数は(普通は)主記憶上にある • load/store命令で読み書きされる • 二次記憶上のデータは,入出力関数を使って読み書きする • 専用の入出力命令を使って読み書きされる • プロセッサによっては,特定の主記憶アドレスへの load/store によって入出力を行うものもある (例: MIPS)
  • 6.
    記憶装置の原理 6( ): 2017(13)鏡 慎吾 東北大学 計算機工学 • フリップフロップ • レジスタ • SRAM → キャッシュメモリ(後述) • キャパシタ • DRAM → 主記憶 • 磁気 • 磁気記憶装置 (ハードディスク) → 二次記憶 • 最近はフラッシュメモリによる置き 換えが進んでいる https://commons.wikimedia.org/w/index.php?title=File:HardDisk1.ogv 速 遅 揮発性 (電源を切ると 内容は消える) 不揮発性
  • 7.
    ハードディスクの動作 7( ): 2017(13)鏡 慎吾 東北大学 計算機工学 https://commons.wikimedia.org/w/index.php?title=File:HardDisk1.ogv
  • 8.
    8( ): 2017(13)鏡 慎吾 東北大学 計算機工学 (復習) レジスタファイル (32×32ビット,1入力2出力) en en en 32-bit レジスタ × 32個 en mux 書き込みデータ 読み出し レジスタ 番号(1) 読み出し レジスタ 番号(2) 読み出し データ(1) 読み出し データ(2) 書き込み イネーブル mux … 2進デコーダ 書き込みレジスタ番号 32 5 5 5 en この構造のまま,単純に容量を拡大するのは困難 (デコーダ・マルチプレクサが肥大化するため)
  • 9.
    9( ): 2017(13)鏡 慎吾 東北大学 計算機工学 半導体メモリの構造 • セル(記憶素子)を2次 元マトリックス状に配 置して,アクセスを縦・ 横に分解 • 読み出し・書き込み回 路を共通化 0 1 2 3 255 256 257 258 259 511 65535 行 ア ド レ ス デ コ ー ダ addr0 addr1 addr7 addr8 addr9 addr15 列 ア ド レ ス デ コ ー ダ data ワード線 (行選択線) ビ ッ ト 線 ( 列 信 号 線 )
  • 10.
    10( ): 2017(13)鏡 慎吾 東北大学 計算機工学 メモリセルの構造 W B B W B Static Random Access Memory (SRAM) Dynamic Random Access Memory (DRAM) • 原理的にはフリップフロップと同じ • NOTゲートが能動的に電流を供 給してビット線を駆動する • 1ビットあたりトランジスタ 6 個 • キャパシタが充電されていれば 1, 放電されていれば 0 • ビット線の電位は,キャパシタから のわずかな電荷で微小に変化する • 時間とともに電荷が漏れる • 1ビットあたりトランジスタ 1 個
  • 11.
    11( ): 2017(13)鏡 慎吾 東北大学 計算機工学 DRAM と SRAM http://ja.wikipedia.org/wiki/Intel_Core_i7 http://www.atmarkit.co.jp/fsys/zun ouhoudan/102zunou/corei7.html http://www.sugilab.net/jk/joho-kiki/ DRAMモジュール SRAM (キャッシュ メモリ) 内蔵プロ セッサ
  • 12.
    12( ): 2017(13)鏡 慎吾 東北大学 計算機工学 メモリの動作 (DRAMの場合) http://www.sugilab.net/jk/joho-kiki/ (1400 処理装置 → 1404 メモリのしくみ)
  • 13.
    13( ): 2017(13)鏡 慎吾 東北大学 計算機工学 構造
  • 14.
    14( ): 2017(13)鏡 慎吾 東北大学 計算機工学 書き込み
  • 15.
    15( ): 2017(13)鏡 慎吾 東北大学 計算機工学 読み出し
  • 16.
    16( ): 2017(13)鏡 慎吾 東北大学 計算機工学 SRAM W B B 行 ア ド レ ス デ コ ー ダ addr0 addr1 addr7 addr8 addr9 addr15 +– 列 ア ド レ ス デ コ ー ダ data アンプ • 読み出し時には,ビット 対線の電位差を増幅し て値を得る • 書き込み時には,セル のNOTゲートよりも強 くビット線を駆動して記 憶内容を上書きする
  • 17.
    17( ): 2017(13)鏡 慎吾 東北大学 計算機工学 DRAM W B 行 ア ド レ ス デ コ ー ダ 列 ア ド レ ス デ コ ー ダ センスアンプ (微小な信号変化の検出・ 保持・書き戻し) data • 読み出し時は,セルか ら流れ込む電荷による ビット線の電位の微小 変化をセンスアンプが 検知して増幅・保持す る.選択列の値が読み 出される. • 書き込み時は,読み出 し時と同じ動作の後,選 択列のビット線のみ入 力電圧で上書きする. addr0 addr1 addr7 addr8 addr9 addr15
  • 18.
    18( ): 2017(13)鏡 慎吾 東北大学 計算機工学 SRAM vs DRAM SRAM DRAM • 1セルの回路が大きい • 制御が比較的簡単 • 記憶内容は,電源が入ってい る限り安定 • よって,速いが小容量 • 1セルの回路が小さい • 制御が比較的複雑 • 時間が経つと記憶が消える (リフレッシュと呼ばれる再書 き込み動作を数ミリ秒に1回 行う必要がある) • よって,遅いが大容量
  • 19.
    19( ): 2017(13)鏡 慎吾 東北大学 計算機工学 記憶階層 • 記憶装置は小容量だと速く,大容量だと遅い. • アクセス開始には時間がかかり,連続データのアクセスは速い. レイテンシ(遅延時間) 容量 ネットワーク上の記憶 ~ 1 ~ 1 ハードディスクドライブ ~ 10 ms ~ Tbytes DRAM ~ 100 ns ~ Gbytes SRAM ~ 10 ns (1 ~ 10クロック) K ~ Mbytes レジスタ ~ 1 ns (1 クロック) 32 ~ 128 bytes よく使うものは速い記憶装置に置きたい.しかしサイズは限られている. 一般論として
  • 20.
    20( ): 2017(13)鏡 慎吾 東北大学 計算機工学 デスクワークからの類推 机 ファイル キャビネット 資料室 • 机のサイズは限られているので,適宜,室内の ファイルキャビネットや,社内の資料室に書類を取 りにいかなくてはならない • 新しい書類が必要になったら,当面不要なものを キャビネットまたは資料室に仕舞わなくてはならな い. • さてどうするか? 自然な戦略: • 一度使った資料はまたすぐ使う可能性が高 いので,すぐにしまわずに机に置いておく(あ るいは資料室まで戻さずにキャビネットに置 いておく) • 関連する資料がすぐ必要になる可能性が高 いので,ある資料が必要なときには,それを 綴じてあるファイルブックごと机に持ってくる
  • 21.
    21( ): 2017(13)鏡 慎吾 東北大学 計算機工学 キャッシュメモリ メインメモリ (DRAM) ALU レジスタ ファイル プロセッサ load store キャッシュメモリの制御は,以下の経験則を利用して自動的に行われる • 時間的局所性 あるデータがアクセスされる場合,近いうちにその同じデータが再度アク セスされる可能性が高い • 空間的局所性 あるデータがアクセスされた場合,その周囲の値もアクセスされる可能 性が高い キャッシュメモリ (SRAM) メモリシステム
  • 22.
    22( ): 2017(13)鏡 慎吾 東北大学 計算機工学 キャッシュメモリの動作例 あるアドレスへのload命令 そのアドレスの値が キャッシュ内にある? その値を返して完了 メインメモリから,そのアドレス を含む一定サイズの連続する ブロックをまとめて読み出し, キャッシュに格納 要求されていたアドレス の値を返して完了 (もしキャッシュ内の格納 すべき場所に先客がいた ら,先にメインメモリに書 き戻しておく) Yes (キャッシュヒット) No (キャッシュミス) 極めて高速 一般に,単なるDRAM読み出しよりも 時間がかかる 平均メモリアクセス時間 = ヒット時間 + キャッシュミス率 × ミスペナルティ時間 ミスペナルティ時間
  • 23.
    23( ): 2017(13)鏡 慎吾 東北大学 計算機工学 メモリの分類 ランダムアクセスメモリ vs シーケンシャルアクセスメモリ • 任意の順序で読み書きできるものを RAM (Random Access Memory) と呼ぶ • 最近の「メモリ」はほぼ例外なくランダムアクセス可能 揮発性メモリ vs 不揮発性メモリ • 電源を切るとデータが消えるのが揮発性メモリ • 不揮発性メモリのうち,主に読み出しに用いるものを ROM (Read Only Memory) と呼ぶ • マスクROM (半導体製造時に内容を決めてしまう) • PROM (Programmable ROM): 書き込み可能 • EPROM (Erasable PROM): 消去も可能 • UV-EPROM: 紫外線で消去 • EEPROM: 電気的に消去(e.g. フラッシュメモリ) ※ RAM と ROM は対義語ではない(ほとんどの ROM はランダムアクセス可能) ※ 「メモリ」という名前でも実は「二次記憶装置」の場合がある (e.g. USBメモリ)
  • 24.
    24( ): 2017(13)鏡 慎吾 東北大学 計算機工学 マスクROM と EEPROM W B マスクROMの構成例 ビット 0 ビット 1 W B EEPROMの構成例 フローティングゲートと呼ばれる部分の電荷の有無に よって,ゲートに電圧をかけてもスイッチオンできなくする ことができる
  • 25.
    25( ): 2017(13)鏡 慎吾 東北大学 計算機工学 http://blog.livedoor.jp/game_retro/archives/1403347.html http://ja.wikipedia.org/wiki/ ファイル:Famicom_ROM_cassette.jpg ファミリーコンピュータ用ROMカートリッジ(ロムカセット)
  • 26.
    26( ): 2017(13)鏡 慎吾 東北大学 計算機工学 練習問題 1. ヒット時間が 1 ns,ミスペナルティ時間が 20 ns のメモリシス テムを考える.キャッシュミス率が 5 % のときの平均メモリア クセス時間を求めよ. 2. 1のシステムにおいて,平均メモリアクセス時間を 1.5 [ns] に するために必要なキャッシュミス率を求めよ. 3. 一般にキャッシュメモリのサイズを大きくするとキャッシュミス 率は下がるが,ヒット時間は増大する傾向にある.ある計算 機の設計において,キャッシュサイズを 2 倍にすることによっ てキャッシュミス率が 5 % から 4 % に改善することがわかっ た.これによって平均メモリアクセス時間を短縮できるために は,ヒット時間の増大はどの程度に抑えられている必要があ るか述べよ.ただしミスペナルティ時間は変更前のヒット時間 の 20 倍で,キャッシュサイズに依存しないとする.
  • 27.
    27( ): 2017(13)鏡 慎吾 東北大学 計算機工学 解答例 平均メモリアクセス時間 = ヒット時間 + キャッシュミス率 × ミスペナルティ時間 1. 1 + 5 × 10-2 × 20 = 2 [ns] 2. 1 + p × 10-2 × 20 = 1.5 を p について解いて,p = 2.5 [%] 3. 変更前,変更後の平均メモリアクセス時間を tma1,tma2,同じく ヒット時間を thit1,thit2 と書くと, tma1 = thit1 + 5 × 10-2 × 20 × thit1 tma2 = thit2 + 4 × 10-2 × 20 × thit1 tma2 – tma1 = thit2 – thit1 – 1 × 10-2 × 20 × thit1 = thit2 – thit1 × 1.2 よって 1.2 倍までの増大は許容できる.(逆に言うと,ヒット時間が それ以上増大してしまうなら,ミス率改善の努力は無駄になる)