コンピュータアーキテクチャ(9) 今回から記憶(メモリ) メモリ(記憶装置)と

今回から記憶(メモリ)
„
メモリ、いろいろなメモリデバイス
„
コンピュータアーキテクチャ(9)
„
„
„
山内長承
メモリ階層とそれによるアクセス高速化
„
„
„
コンピュータ内のいろいろなメモリ
いろいろな分類(性格付け)
半導体メモリ、ハードディスク、光ディスク
メモリ階層とは
キャッシュ、仮想記憶の考え方、性能モデル
9回
10回
キャッシュのマッピング方式、(仮想記憶)
„
„
11回
マッピング方式の比較
(仮想記憶)
ar_09
メモリ(記憶装置)とは?
„
今回のテーマ: いろいろなメモリ素子
„
基本は引出し
„
„
„
„
„
„
903
今までいろいろな技術が使われてきた
機械・(超)音波・磁気いろいろ・電気いろいろ
将来は?
性質の違いと用途を理解する
„
イチローの ⇒ 1973年
誕生日
10月22日
ar_09
メモリを実現するためのさまざまな技術を見る
„
場所(アドレス)を指定
して内容を読む・書く
(脱線)内容を指定して
内容を読むモデルもある
(連想型メモリ)
„
902
速度・価格・集積度(発熱も含む)
読書き vs 読出のみ vs 1回書ける vs 追記可 等
不揮発 vs 揮発
ar_09
904
(素子の)種類によって性質が違う
„
„
メモリデバイス(ことば・概念)
これから技術の詳細を見る予定だが、
違いのイメージ:
„
„
„
„
„
アクセス時間
早い Å-------Æ 遅い
容量・価格
高価・小容量 Å-Æ 大容量・廉価
性質の違い 読み・書き可 Å--Æ 読出しのみ
1回だけ書込み可・追記可
電源断で消える Å--Æ 消えない
持ち運び可 Å-----Æ 不可
など
ar_09
„
„
„
„
„
(a) 速度と記憶容量 (+価格)
(b) 揮発性 ~ 電源を切っても残るか消えるか
(c) ランダムアクセス性~アドレスを指定できるか
一般論として
„
(記憶の階層)
速いと高いので少量 ~ 半導体メモリ
遅いと安いので大量 ~ ハードディスク・CD/DVD
905
ar_09
906
RAMとROM
半導体(電気的な回路)による記憶素子
„
例: 半導体メモリ、ハードディスク、CD/DVD
用途を考える時に必要な性質は
„
半導体メモリ
„
メモリデバイス ~ 記憶素子 ~
„
教科書では「ICメモリ」(教p67、7.2節)
RAM (random access memory)
vs ROM (read-only memory)
いろいろな種類がある (教p67、図7.4)
„
バイポーラ型
スタティック
RAM
MOS型
RAM
ダイナミック
RAM
MOS型
„
マスク
ROM
P ROM
ROM
RAMは(ランダムアクセス=どこでもアクセス)
というよりは、「読む+書く」 と解釈
vs
ROMは読むだけ(書き込めない)
„
書き込めない=書き換えられない、でもある
EP ROM
プログラマブル
ROM
ar_09
EEP ROM
907
ar_09
908
RAMの種類
„
SRAMとDRAM
半導体RAMは、例えば
„
„
SRAMは要するに「フリップフロップ」
„
主記憶 ・ キャッシュメモリ ・ レジスタなど
„
„
今のRAMは半導体が殆ど
„
„
„
昔は磁気コアを使った時代がある
それ以前は、随分苦労した
„
DRAMは要するに「コンデンサ」=電荷蓄積器
„
„
„
半導体のRAMは、電源を切ると消えてしまう
„
ar_09
回路構成が違う ⇒ 性質も違う
„
„
909
(脱線)DRAMの高速化
„
„
„
„
SRAMは高速・少量 ⇒ レジスタやキャッシュに使う
DRAMはやや低速・大量 ⇒ar_09
主記憶に使う
910
(脱線)メモリモジュール
(主記憶に使う)DRAMを高速化したい
いろいろな工夫がされている
(同時読出し、連続転送など)
ページモード読出し
„
コンデンサに電荷があるかないか
時間がたつと放電する⇒リフレッシュ必要
ビット当りトランジスタ数少ない⇒同面積にたくさん置ける
(半導体微小化により)チップ当り容量がどんどん増えた
要するに
SRAMとDRAM
„
フリップフロップの詳細は別途調べてください
高速だが、
ビット当りトランジスタ数が多い⇒大規模には置けない
„
ICチップ(パッケージ)⇒モジュール
„
容量拡大 + 同時アクセス(データ幅の拡大)
ICパッケージ
毎回「行」アドレスを出すのをサボる~連続転送
外部クロックに同期して転送するSDRAM
特に1サイクルで2回読出すDDR SDRAM
1つの
パッケージ
の中に
ICチップが
1つ載っている
メモリモジュール
次々に新しい仕組が作られている
„
DDR-2とかDDR-3とか ar_09
911
ar_09
912
ROM
„
読出しのみ ~ どこに使う?
„
„
„
その他の用途は、
„
„
ar_09
ar_09
„
RAMと何が違う?
„
„
„
PROM = 1回だけ書込み可能なもの
(Programmable ROM)
„
„
„
用途例 前出のBIOS ROMや、組込み機器の命令
ユーザプログラマブルROM
= ユーザが情報を書込み可能なROM
„
1回書いたら、あとは消せない・書変えられない
„
„
消せる=書き変えられる (いろいろある)
ar_09
915
書込みは特殊な条件が必要(消去とか電圧)
かつ、一般に書込みは(非常に)遅い
不揮発性(ROMの性質を持つ)
E-PROM
„
E-PROM = 消去可能なもの Erasable P-ROM
„
914
E-PROM (消去可能なPROM)
マスクROM = 半導体製造時のマスクパターン
で情報を書込む ユーザは書換え不可
„
配布用(あまり見かけない。USBメモリで配布など)
保存・PC間交換用 (書換え可能が必須)
913
ROMの種類
„
実はもう1つ「不揮発性」(電源OFFしても消えない)
↓
電源ON直後(主記憶/キャッシュRAMは空っぽ)
どうやって起動するか (プログラムを入れるか?)
小さなROMに最小限プログラム(BIOS)を置く
BIOSでHDDからOSを読出し主記憶にロードする
パッケージの窓から紫外線を当てると消去
消去すると、書き込める
まだ時々見かける
EE-PROM
„
紫外線で消去可能なROM
電気的に消去可能なROM
Electrically Erasable Programmable
ROM
ar_09
916
(脱線)USBメモリ (フラッシュメモリ)
„
„
„
USB: 繋ぎ方の規格(universal serial bus)
USBメモリ: USBの先に大量記憶を繋ぐ仕様
(USB Mass Storage Class)に従うメモリ
中身のメモリ: 「フラッシュメモリ」
„
„
„
„
„
ar_09
„
„
磁気ディスク(教4.4)
„
„
„
ページ単位で書込み・読出し、ブロック単位で消去
書換・消去を繰返すとセルが劣化し書込めなくなる
„
917
フローティングゲートからドレインにトンネル効果を利用
して電子を引き抜くことにより、電気的な操作のみで消
去を行うようにしたPROM (ウィキペディア EPROM)
(NAND型)フラッシュメモリの特徴
„
PROMはユーザが消去可能なROM
USBメモリだけでなく、SDカードなどもフラッシュ
EEPROM:
„
書換え可能な、不揮発性の、半導体メモリ
不揮発性=電源を切っても消えない
EEPROM (Electrically Erasable Programmable
ROM)の一種
„
(脱線)USBメモリ
同じブロックへ書込・消去が集中しない工夫がしてある
書込誤りが多いので、誤り訂正符号を入れている
ar_09
918
磁気ディスクの構造
ハードディスク
HDDとも呼ぶ
(ハードディスク
ドライブ)
ドライブ=駆動装置
(左の箱全体)
http://kyoiku-gakka.u-sacred-heart.ac.jp/jyouhou-kiki/sozai/1502/1502-A.jpg
ar_09
919
ar_09
920
磁気ディスクの構造(教図4.12)
磁気ディスクの動作の仕組
回転軸
アームが移動
トラック
磁気ヘッド
円盤(プラッタ)
別の絵:
http://www.infonet.co.jp/ueyama/ip/
hardware/hard_disk.html
„
ar_09
921
磁気ディスク(教4.4)
„
„
„
„
トラック(円周)
セクタ(読書きの
ブロック)
プラッタ(円盤)
„
„
„
最初のディスク
IBM 305 Ramac
(1956)
容量5MB
„
„
„
ar_09
922
アクセス時間 (教p64、4.7.3)
覚えておくこと
„
ar_09
同じ位置のトラックを縦に重ねた
イメージをシリンダ(筒)という
923
シーク時間(ヘッドを動かし目的のトラックへ)
+
回転待ち時間(目的セクタがヘッドの下へ来るまで)
+
転送時間(セクタを読む時間)
シーク: どれだけヘッドを動かすか:加速・低速・減速
回転待ち: 平均1/2周時間、 (1/回転数)/2
転送時間: (1周時間)/トラック当りセクタ数
ar_09
924
別のHDDの例(かなり古い)
アクセス時間 計算例
„
例: シーゲート
Barracuda 7200.9 SATA 160-GB Hard Drive
http://www.seagate.com/ww/v/index.jsp?vgnextoid=e2ee99f4fa74c010
VgnVCM100000dd04090aRCRD&locale=en-US
„
シーク
„
„
„
<8.0 msec
<9.0 msec
回転待ち: 平均1/2周時間、 (1/回転数)/2
„
„
Random read seek time
Random write seek time
7,200rpm (毎分7200回転) ⇒ (1/120)/2 = 4.16 msec
転送時間: 書いていないが他に比較して小さい
合計: 9.0msec + 4.16msec = 12msec
ar_09
925
ar_09
予測に基づいたアクセス高速化
ディスクアクセススケジューリング(OS)
„
„
„
ディスク利用待ちを並べ替えて、効率向上
ポイントは、シーク(ヘッド移動)時間が長い
ので、いかにそれを軽減するか?
なるべく、移動距離を小さく一方向に
8
5
6
3
1
„
6
よりは
5
3
プリフェッチ
„
„
8
926
„
予め予測して読み込んでおく 応答時間短縮
連続したセクタ(大きなブロック) ⇒
必ずヒット+
連続したセクタの読込みは早い(シーク無し)
記憶の階層技術(キャッシング cache, caching)
の方が早いはず
1)将来のことが分からない
1
⇒完全に最適にはできない
2)公平で無い(飢餓状態)
ar_09
927
ar_09
928
昔々は
ここから脱線 (昔話)
計算
機構
1642
パスカルの歯車式計算機
桁毎に歯車+繰上り
1821
バベッジの「解析機関」 織物機械にヒントを得た
プログラム カードプログラム式計算機
1889
ホレリスの統計機械
パンチカード入力で国勢調査
電気機械式統計機(計数機)
ハーバード大 Mark I 電気機械式計算機 ログラム
プ
計算機構 演算・記憶は軸の回転 命令はテープ
ム
ペンシルバニア大 ENIAC 電子式計算機 ログラ
1946
プ
計算機構 演算・記憶は電子回路(真空管) 命令は配線
1949
ケンブリッジ大 EDSAC ノイマン型電子計算機 モリ
メ
計算機構 演算・制御は電子(真空管) 記憶は水銀管
1951
ペンシルバニア大 EDVAC ノイマン型電子計算機
演算・制御は電子(真空管)
記憶は水銀管 930
ar_09
1944
(昔話)水銀遅延管
(昔話)ウィリアムス管(CRT記憶装置)
http://ed-thelen.org/comp-hist/
振動板
偏
受信板
極
向電
電子銃
増幅器
偏向
ar_09
931
電極
http://en.wikipedia.org/wiki/File:Williams-tube.jpg
電子線が当ると荷電が溜まる
ことによって記憶する
ar_09
932
(昔話)磁気コア
フリップフロップ
http://www.st.rim.or.jp/~nkomatsu/premicro/coremem.html
„
安価・安定で小型なので、一時期主記憶とし
て広く使われた。1970年代には半導体メモリ
に置き換えられた
ar_09
Set Reset Flip Flop
(非同期式)
„
„
„
„
論理素子を使えば作れる
„
933
日本発の論理素子
フェライトコアのパラメタ励振現象を利用
真空管より安定で安価
当時(初期)のトランジスタより安定で安価
„
磁性体面上で磁気ヘッドを移動して記憶
„
„
„
935
テープ ⇒ ドラム ⇒ ディスク (高速化)
固定vs可搬(取り外し可)
二次記憶の磁気ディスクが残っている
„
動作速度は遅い
ar_09
934
磁気記憶(ディスク、ドラム、テープなど)
„
„
真空管でも、トランジスタでも、リレーでも、
パラメトロンでも
ar_09
(昔話)パラメトロン(1954)
„
J-K Flip Flop
(同期式)
大容量化(2~3TB)、 高速化(1ミリ秒近い)
半導体(SSD)への置換えの兆し
ar_09
936
光ディスク系
„
„
光ディスク、光磁気ディスクなど
安価・可搬・高密度化
„
„
„
„
„
CD, DVD など
一般に低速
可搬性(媒体を外して保存or配布用)にメリット
„
„
„
ビデオをフラッシュメモリに入れて頒布するなど
937
まとめ
メモリデバイスを5つ挙げ、下記の項目を比較
せよ
„
„
„
„
„
„
高速で、安定で、安価で、大量なものが難しい
半導体技術の進歩によって
主記憶は、ICメモリに置き換えられた
低速の二次記憶として、ハードディスク等の
磁気記憶が残っている
配布や保存の目的で、光ディスクが
残っている
頒布という面ではオンラインと対抗する
ar_09
„
初期は、メモリデバイス実現には苦労した
„
半導体(フラッシュメモリ、USBなど)に
置き換える動き
„
„
歴史的には
標準的なアクセス速度
標準的な容量
ReadOnly(読出しのみ)かReadWrite(読書き可)か
ランダムアクセス性
ハードディスクのトラック・セクタとは何か
ディスクアクセス時間のうちわけの要素を3つ挙
げよ
ar_09
939
ar_09
938