今回から記憶(メモリ) メモリ、いろいろなメモリデバイス コンピュータアーキテクチャ(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
© Copyright 2024 Paperzz