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

More Related Content

What's hot

200702material hirokawa
200702material hirokawa200702material hirokawa
200702material hirokawa
RCCSRENKEI
 
Reconf 201901
Reconf 201901Reconf 201901
Reconf 201901
Takefumi MIYOSHI
 
不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何か不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何か
Ryousei Takano
 
200528material takahashi
200528material takahashi200528material takahashi
200528material takahashi
RCCSRENKEI
 
第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)
RCCSRENKEI
 
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
Norishige Fukushima
 
XGBoostからNGBoostまで
XGBoostからNGBoostまでXGBoostからNGBoostまで
XGBoostからNGBoostまで
Tomoki Yoshida
 
第5回 配信講義 計算科学技術特論A(2021)
第5回 配信講義 計算科学技術特論A(2021)第5回 配信講義 計算科学技術特論A(2021)
第5回 配信講義 計算科学技術特論A(2021)
RCCSRENKEI
 
機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlops機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlops
Hiroaki Kudo
 

What's hot (9)

200702material hirokawa
200702material hirokawa200702material hirokawa
200702material hirokawa
 
Reconf 201901
Reconf 201901Reconf 201901
Reconf 201901
 
不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何か不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何か
 
200528material takahashi
200528material takahashi200528material takahashi
200528material takahashi
 
第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)
 
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
 
XGBoostからNGBoostまで
XGBoostからNGBoostまでXGBoostからNGBoostまで
XGBoostからNGBoostまで
 
第5回 配信講義 計算科学技術特論A(2021)
第5回 配信講義 計算科学技術特論A(2021)第5回 配信講義 計算科学技術特論A(2021)
第5回 配信講義 計算科学技術特論A(2021)
 
機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlops機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlops
 

Similar to kagamicomput201813

メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
Shinya Takamaeda-Y
 
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
Shinya Takamaeda-Y
 
kagamicomput201713
kagamicomput201713kagamicomput201713
kagamicomput201713
swkagami
 
kagami_comput2016_14
kagami_comput2016_14kagami_comput2016_14
kagami_comput2016_14
swkagami
 
MemoryPlus Workshop
MemoryPlus WorkshopMemoryPlus Workshop
MemoryPlus Workshop
Hitoshi Sato
 
第26回「インメモリー・コンピューティングの現状と将来」(2013/05/23 on しすなま!)
第26回「インメモリー・コンピューティングの現状と将来」(2013/05/23 on しすなま!)第26回「インメモリー・コンピューティングの現状と将来」(2013/05/23 on しすなま!)
第26回「インメモリー・コンピューティングの現状と将来」(2013/05/23 on しすなま!)
System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
 
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムオープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
Shinya Takamaeda-Y
 
2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen
直久 住川
 
kagami_comput2015_6
kagami_comput2015_6kagami_comput2015_6
kagami_comput2015_6swkagami
 
kagamicomput201714
kagamicomput201714kagamicomput201714
kagamicomput201714
swkagami
 
OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料
Shin-ya Koga
 
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM,INC
 
kagamicomput201801
kagamicomput201801kagamicomput201801
kagamicomput201801
swkagami
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表Hirotaka Kawata
 
プログラマ目線から見たRDMAのメリットと その応用例について
プログラマ目線から見たRDMAのメリットとその応用例についてプログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットと その応用例について
Masanori Itoh
 
kagamicomput201805
kagamicomput201805kagamicomput201805
kagamicomput201805
swkagami
 
1次ベーシック講座情報第1回 修正版
1次ベーシック講座情報第1回 修正版1次ベーシック講座情報第1回 修正版
1次ベーシック講座情報第1回 修正版Nashiro Daisuke
 
研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法Takeshi Yamamuro
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
Shinya Takamaeda-Y
 
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent MemoryASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
Atsushi Koshiba
 

Similar to kagamicomput201813 (20)

メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
 
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
 
kagamicomput201713
kagamicomput201713kagamicomput201713
kagamicomput201713
 
kagami_comput2016_14
kagami_comput2016_14kagami_comput2016_14
kagami_comput2016_14
 
MemoryPlus Workshop
MemoryPlus WorkshopMemoryPlus Workshop
MemoryPlus Workshop
 
第26回「インメモリー・コンピューティングの現状と将来」(2013/05/23 on しすなま!)
第26回「インメモリー・コンピューティングの現状と将来」(2013/05/23 on しすなま!)第26回「インメモリー・コンピューティングの現状と将来」(2013/05/23 on しすなま!)
第26回「インメモリー・コンピューティングの現状と将来」(2013/05/23 on しすなま!)
 
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムオープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
 
2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen
 
kagami_comput2015_6
kagami_comput2015_6kagami_comput2015_6
kagami_comput2015_6
 
kagamicomput201714
kagamicomput201714kagamicomput201714
kagamicomput201714
 
OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料
 
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
 
kagamicomput201801
kagamicomput201801kagamicomput201801
kagamicomput201801
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表
 
プログラマ目線から見たRDMAのメリットと その応用例について
プログラマ目線から見たRDMAのメリットとその応用例についてプログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットと その応用例について
 
kagamicomput201805
kagamicomput201805kagamicomput201805
kagamicomput201805
 
1次ベーシック講座情報第1回 修正版
1次ベーシック講座情報第1回 修正版1次ベーシック講座情報第1回 修正版
1次ベーシック講座情報第1回 修正版
 
研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
 
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent MemoryASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
 

More from swkagami

kagamicomput201812
kagamicomput201812kagamicomput201812
kagamicomput201812
swkagami
 
kagamicomput201811
kagamicomput201811kagamicomput201811
kagamicomput201811
swkagami
 
kagamicomput201810
kagamicomput201810kagamicomput201810
kagamicomput201810
swkagami
 
kagamicomput201809
kagamicomput201809kagamicomput201809
kagamicomput201809
swkagami
 
kagamicomput201808
kagamicomput201808kagamicomput201808
kagamicomput201808
swkagami
 
kagamicomput201807
kagamicomput201807kagamicomput201807
kagamicomput201807
swkagami
 
kagamicomput201806
kagamicomput201806kagamicomput201806
kagamicomput201806
swkagami
 
kagamicomput201804
kagamicomput201804kagamicomput201804
kagamicomput201804
swkagami
 
kagamicomput201803
kagamicomput201803kagamicomput201803
kagamicomput201803
swkagami
 
kagamicomput201802
kagamicomput201802kagamicomput201802
kagamicomput201802
swkagami
 
kagamicomput201712
kagamicomput201712kagamicomput201712
kagamicomput201712
swkagami
 
kagamicomput201711
kagamicomput201711kagamicomput201711
kagamicomput201711
swkagami
 
kagamicomput201710
kagamicomput201710kagamicomput201710
kagamicomput201710
swkagami
 
kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709
swkagami
 
kagamicomput201708
kagamicomput201708kagamicomput201708
kagamicomput201708
swkagami
 
kagamicomput201707
kagamicomput201707kagamicomput201707
kagamicomput201707
swkagami
 
kagamicomput201706
kagamicomput201706kagamicomput201706
kagamicomput201706
swkagami
 
kagamicomput201705
kagamicomput201705kagamicomput201705
kagamicomput201705
swkagami
 
kagamicomput201704
kagamicomput201704kagamicomput201704
kagamicomput201704
swkagami
 
kagamicomput201703
kagamicomput201703kagamicomput201703
kagamicomput201703
swkagami
 

More from swkagami (20)

kagamicomput201812
kagamicomput201812kagamicomput201812
kagamicomput201812
 
kagamicomput201811
kagamicomput201811kagamicomput201811
kagamicomput201811
 
kagamicomput201810
kagamicomput201810kagamicomput201810
kagamicomput201810
 
kagamicomput201809
kagamicomput201809kagamicomput201809
kagamicomput201809
 
kagamicomput201808
kagamicomput201808kagamicomput201808
kagamicomput201808
 
kagamicomput201807
kagamicomput201807kagamicomput201807
kagamicomput201807
 
kagamicomput201806
kagamicomput201806kagamicomput201806
kagamicomput201806
 
kagamicomput201804
kagamicomput201804kagamicomput201804
kagamicomput201804
 
kagamicomput201803
kagamicomput201803kagamicomput201803
kagamicomput201803
 
kagamicomput201802
kagamicomput201802kagamicomput201802
kagamicomput201802
 
kagamicomput201712
kagamicomput201712kagamicomput201712
kagamicomput201712
 
kagamicomput201711
kagamicomput201711kagamicomput201711
kagamicomput201711
 
kagamicomput201710
kagamicomput201710kagamicomput201710
kagamicomput201710
 
kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709
 
kagamicomput201708
kagamicomput201708kagamicomput201708
kagamicomput201708
 
kagamicomput201707
kagamicomput201707kagamicomput201707
kagamicomput201707
 
kagamicomput201706
kagamicomput201706kagamicomput201706
kagamicomput201706
 
kagamicomput201705
kagamicomput201705kagamicomput201705
kagamicomput201705
 
kagamicomput201704
kagamicomput201704kagamicomput201704
kagamicomput201704
 
kagamicomput201703
kagamicomput201703kagamicomput201703
kagamicomput201703
 

Recently uploaded

FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 

Recently uploaded (16)

FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 

kagamicomput201813

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