スライド 1

Similar documents
スライド 1

スライド 1

Microsoft PowerPoint - 6.memory.ppt

スライド 1

スライド 1

スライド タイトルなし

スライド 1

計算機ハードウエア

スライド 1

スライド 1

スライド 1

計算機ハードウエア

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

DRAM SRAM SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM) DRAM 4 C Wikipedia 1.8 SRAM DRAM DRAM SRAM DRAM SRAM (256M 1G bit) (32 64M bit)

Microsoft PowerPoint - ARC-SWoPP2011OkaSlides.pptx

PowerPoint プレゼンテーション

Microsoft PowerPoint - 11Web.pptx

Microsoft PowerPoint - 4回 [互換モード]

スライド 1

ソフトウェア基礎技術研修

計算機アーキテクチャ

スライド 1

< B8CDD8AB B83685D>

<4D F736F F F696E74202D FEE95F18F88979D8B5A8F702E B93C782DD8EE682E890EA97705D205B8CDD8AB B83685D>

講義計画 1. コンピュータの歴史 1 2. コンピュータの歴史 2 3. コンピュータの歴史 3 4. 論理回路と記憶, 計算 : レジスタとALU 5. 主記憶装置とALU, レジスタの制御 6. 命令セットアーキテクチャ 7. 演習問題 8. パイプライン処理 9. メモリ階層 : キャッシュ

N08

この方法では, 複数のアドレスが同じインデックスに対応づけられる可能性があるため, キャッシュラインのコピーと書き戻しが交互に起きる性のミスが発生する可能性がある. これを回避するために考案されたのが, 連想メモリアクセスができる形キャッシュである. この方式は, キャッシュに余裕がある限り主記憶の

情報工学Ⅰ-02

ComputerArchitecture.ppt

cmpsys14w04_mem_hp.ppt

SDRAM および DRAM の メモリ システムの概要

スライド 1

Microsoft PowerPoint - 3.3タイミング制御.pptx

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE

Microsoft PowerPoint - ARC2009HashiguchiSlides.pptx

スライド 1

コンピュータ工学Ⅰ

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN

Operating System 仮想記憶

スライド 1

Microsoft PowerPoint - arc5

メモリと記憶装置 2

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要

報道機関各位 平成 30 年 5 月 14 日 東北大学国際集積エレクトロニクス研究開発センター 株式会社アドバンテスト アドバンテスト社製メモリテスターを用いて 磁気ランダムアクセスメモリ (STT-MRAM) の歩留まり率の向上と高性能化を実証 300mm ウェハ全面における平均値で歩留まり率の

ソフトウェア基礎技術研修

スライド 1

OS

Microsoft PowerPoint - 集積デバイス工学 基礎編 2010_5 [互換モード]

スライド 1

計算機アーキテクチャ

020105.メモリの高機能化

システムLSIとアーキテクチャ技術  (part II:オンチップ並列            アーキテクチャ)

Microsoft PowerPoint - Sol7 [Compatibility Mode]

テクニカルガイド「増設メモリ」(2006/09/15)

PIC の書き込み解説 PICライターを使うときに間違った使い方を見受ける 書き込み失敗の原因は知識不足にある やってはいけないことをしている 単に失敗だけならまだしも部品を壊してしまう 正しい知識を身に着けよう 書き込みに必要なピンと意味 ICSPを意識した回路設計の必要性 ICSP:In Cir

Microsoft PowerPoint - No6note.ppt

コンピュータ工学Ⅰ

システムLSIとアーキテクチャ技術  (part II:オンチップ並列            アーキテクチャ)

増設メモリ (2006/11/20)

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

スライド 1

スライド 1

hard5.pptx

Nios II - PIO を使用した I2C-Bus (2ワイヤ)マスタの実装

正転時とは反対に回転する これが逆転である 図 2(d) の様に 4 つのスイッチ全てが OFF の場合 DC モータには電流が流れず 停止する ただし 元々 DC モータが回転していた場合は 惰性でしばらく回転を続ける 図 2(e) の様に SW2 と SW4 を ON SW1 と SW3 を O

Microsoft PowerPoint - No15›¼‚z‰L›¯.ppt

増設メモリ 1. 機能 型名 N N N N N GB 16GB 3 (x2 枚 ) (x2 枚 ) (x2 枚 ) (8GBx2 枚 ) (16GBx2 枚 ) DDR3-1066(PC3-8500) 動作クロック

増設メモリ 1. 機能 型名 N N N (x1 枚 ) (x1 枚 ) (x1 枚 ) DDR3-1333(PC ) SDRAM-DIMM, Unbuffered,ECC 動作クロック 667MHz( 差動 ) 1.5V 型名 N8102

増設メモリ (2010/06/17)

増設メモリ 1. 機能 型名 N8102-G342 N8102-G343 N8102-G344 1GB (1GBx1 枚 ) (x1 枚 ) (x1 枚 ) SDRAM-DIMM, Unbuffered,ECC 1.5V 型名 N N N (1GBx1

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

増設メモリ 1. 機能 型名 N N N N GB (x1 枚 ) (x1 枚 ) (x1 枚 ) (8GBx1 枚 ) DDR3-1333(PC ) 動作クロック 667MHz( 差動 ) 1.5V 型名 N8102-3

スライド 1

Microsoft PowerPoint - 集積回路工学(5)_ pptm

VelilogHDL 回路を「言語」で記述する

テクニカルガイド 増設メモリ

スライド 1

増設メモリ 1. 機能 型名 N N N (x1 枚 ) (x1 枚 ) (x1 枚 ) DDR2-800(PC2-6400) 動作クロック 400MHz( 差動 ) 110Ge, 110Ge-S 型名 N N N810

ITP_text_01_kon_CS4_ indd

テクニカルガイド 増設メモリ

増設メモリ 1. 機能仕様 型番製品名備考 N GB 増設メモリボード (2x 4 GB/U) DDR3L-1333(PC3L-10600) SDRAM ECC 付 Registered, 2GBx2 枚の N GB 増設メモリボード DDR3L-1600(PC3

Microsoft PowerPoint - No7note.ppt

プログラマブル論理デバイス

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です

Microsoft PowerPoint - os ppt [互換モード]

適応フィルタのSIMD最適化

ディジタル回路 第1回 ガイダンス、CMOSの基本回路

Microsoft PowerPoint - OS09.pptx

データ収集用 NIM/CAMAC モジュールマニュアル 2006/5/23 目次 クレート コントローラ CC/ NIM ADC 1821 (Seiko EG&G)...3 ADC インターフェイス U デッドタイム

出 アーキテクチャ 誰が 出 装置を制御するのか 1

PowerPoint プレゼンテーション

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

増設メモリ 1. 機能仕様 型番 製品名 備考 N GB 増設メモリボード DDR3-1333(PC ) SDRAM, Unbuffered N GB 増設メモリボード DDR3-1333(PC ) SDRAM, Unbuffered N8

6. パイプライン制御

Microsoft PowerPoint - 1st

増設メモリ 1. 機能 型名 N N N N GB (x1 枚 ) (x1 枚 ) (x1 枚 ) (8GBx1 枚 ) DDR3-1066(PC3-8500) SDRAM-DIMM, Registered,ECC 動作クロック 53

回路 7 レジスタ ( 同期イネーブル及び非同期リセット付 ) 入力データを保持するのに用いる記憶素子 使用用途として, マイクロプロセッサ内部で演算や実行状態の保持に用いられる Fig4-2 のレジスタは, クロック信号の立ち上がり時かつ 信号が 1 のときに外部からの 1 ビットデータ R をレ

(2)NEC による日本初のマイクロプロセッサ NEC 2002 NEC µcom µcom8 8 µcom16 16 NEC 製マイクロプロセッサ / マイクロコンピュータの系譜 (1973 年 ~84 年 ) 1973 年 ~ µcom-4 µcom-41 CD P (

Transcription:

東北大学工学部機械知能 航空工学科 2016 年度 5 セメスター クラス C3 D1 D2 D3 計算機工学 13. メモリシステム ( 教科書 8 章 ) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/

レジスタ選択( 復習 ) MIPS の構造 PC 命令デコーダ 次 PC 計算 mux 32x32 ビットレジスタファイル メモリ mux 制御回路 演算選択 32 ビット ALU アドレス (32 ビット ) データ (8, 16, 32 ビット ) 2

( 復習 ) レジスタファイル (32 32 ビット,1 入力 2 出力 ) 書き込みイネーブル 書き込みレジスタ番号 5 読み出しレジスタ番号 (1) 読み出しレジスタ番号 (2) en 2 進デコーダ 5 5 en en en en 書き込みデータ 32 mux 読み出しデータ (1) mux 読み出しデータ (2) 32-bit レジスタ 32 個 この構造のまま, 単純に容量を拡大するのは困難 ( デコーダ マルチプレクサが肥大化するため ) 3

行アドレスデコーダ65535 コーダドレスデメモリの構造 セル ( 記憶素子 ) を 2 次元マトリックス状に配置して, アクセスを縦 横に分解 読み出し 書き込み回路を共通化 addr 8 addr 9 addr 15 0 1 2 3 255 256 257 258 259 511 ワード線 ( 行選択線 ) ビaddr 0 addr 1 addr 7 data 列ア信号ット線( 列線) 4

データバス data data data data 0x000000 ~0x00ffff 0x010000 ~0x01ffff 0x100000 ~0x10ffff 0x110000 ~0x11ffff addr en addr en addr en addr en addr 0 addr 1 addr 2 addr 15 addr 16 addr 17 アドレスバス 5

メモリセルの構造 W W B Static Random Access Memory (SRAM) 原理的にはフリップフロップと同じ NOT ゲートが能動的に電流を供給してビット線を駆動する 1 ビットあたりトランジスタ 6 個 B Dynamic Random Access Memory (DRAM) キャパシタが充電されていれば 1, 放電されていれば 0 ビット線の電位は, キャパシタからのわずかな電荷で微小に変化する 時間とともに電荷が漏れる 1 ビットあたりトランジスタ 1 個 B 6

DRAM モジュール http://www.sugilab.net/jk/joho-kiki/ SRAM ( キャッシュメモリ ) 内蔵プロセッサ http://ja.wikipedia.org/wiki/intel_core_i7 http://www.atmarkit.co.jp/fsys/zun ouhoudan/102zunou/corei7.html 7

メモリの動作 (DRAM の場合 ) http://www.sugilab.net/jk/joho-kiki/ (1400 処理装置 1404 メモリのしくみ ) 8

構造 9

書き込み 10

読み出し 11

アドレスデコーダ列アドレスデ SRAM W addr 8 行addr 9 B B 読み出し時には, ビット対線の電位差を増幅して値を得る 書き込み時には, セルの NOT ゲートよりも強くビット線を駆動して記憶内容を上書きする addr 15 addr 0 addr 1 addr 7 data コーダアンプ + 12

DRAM W B 読み出し時は, セルから流れ込む電荷によるビット線の電位の微小変化をセンスアンプが検知して増幅 保持する. 選択列の値が読み出される. 書き込み時は, 読み出し時と同じ動作の後, 選択列のビット線のみ入力電圧で上書きする. addr 8 addr 9 addr 15 addr 0 addr 1 addr 7 data 行アドレスデコーダ列アドレスデコーダセンスアンプ ( 微小な信号変化の検出 保持 書き戻し ) 13

SRAM vs DRAM SRAM 1 セルの回路が大きい 制御が比較的簡単 記憶内容は, 電源が入っている限り安定 よって, 速いが小容量 DRAM 1 セルの回路が小さい 制御が比較的複雑 時間が経つと記憶が消える ( リフレッシュと呼ばれる再書き込み動作を数ミリ秒に 1 回行う必要がある ) よって, 遅いが大容量 14

記憶階層 一般論として 記憶装置は小容量だと速く, 大容量だと遅い. アクセス開始には時間がかかり, 連続データのアクセスは速い. レイテンシ ( 遅延時間 ) 容量 ネットワーク上の記憶 ~ 1 ~ 1 ハードディスクドライブ ~ 10 ms ~ Tbytes DRAM ~ 100 ns ~ Gbytes SRAM ~ 10 ns (1 ~ 10クロック ) K ~ Mbytes レジスタ ~ 1 ns (1 クロック ) 32 ~ 128 bytes よく使うものは速い記憶装置に置きたい. しかしサイズは限られている. 15

デスクワークからの類推 資料室 ファイルキャビネット 机 机のサイズは限られているので, 適宜, 室内のファイルキャビネットや, 社内の資料室に書類を取りにいかなくてはならない 新しい書類が必要になったら, 当面不要なものをキャビネットまたは資料室に仕舞わなくてはならない. さてどうするか? 自然な戦略 : 一度使った資料はまたすぐ使う可能性が高いので, すぐにしまわずに机に置いておく ( あるいは資料室まで戻さずにキャビネットに置いておく ) 関連する資料がすぐ必要になる可能性が高いので, ある資料が必要なときには, それを綴じてあるファイルブックごと机に持ってくる 16

キャッシュメモリ メモリシステム プロセッサ メインメモリ (DRAM) キャッシュメモリ (SRAM) load レジスタファイル store ALU キャッシュメモリの制御は, 以下の経験則を利用して自動的に行われる 時間的局所性あるデータがアクセスされる場合, 近いうちにその同じデータが再度アクセスされる可能性が高い 空間的局所性あるデータがアクセスされた場合, その周囲の値もアクセスされる可能性が高い 17

キャッシュメモリの動作例 ミスペナルティ時間 あるアドレスへの load 命令 そのアドレスの値がキャッシュ内にある? No ( キャッシュミス ) Yes ( キャッシュヒット ) その値を返して完了 極めて高速 メインメモリから, そのアドレスを含む一定サイズの連続するブロックをまとめて読み出し, キャッシュに格納 要求されていたアドレスの値を返して完了 ( もしキャッシュ内の格納すべき場所に先客がいたら, 先にメインメモリに書き戻しておく ) 一般に, 単なる DRAM 読み出しよりも時間がかかる 平均メモリアクセス時間 = ヒット時間 + キャッシュミス率 ミスペナルティ時間 18

例 : 2 次元配列のアクセス const int width = 1024; const int height = 768; unsigned char image[height][width];... for (int j = 0; j < height; j++) { for (int i = 0; i < width; i++) { image[j][i] = 255 - image[j][i]; } } x 方向優先で走査平均 : 0.5 [ms] for (int i = 0; i < width; i++) { for (int j = 0; j < height; j++) { image[j][i] = 255 - image[j][i]; } } y 方向優先で走査平均 : 3.1 [ms] intel Core i7 4600U, 2.1 GHz Visual Studio 2012 Express Edition x86 命令セット (Win32), 拡張命令無しの場合 拡張命令 (SIMD 命令 ) を有効にするとさらに圧倒的な差が開く 19

メモリの分類 ランダムアクセスメモリ 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 メモリ ) 20

ファミリーコンピュータ用 ROM カートリッジ ( ロムカセット ) http://ja.wikipedia.org/wiki/ ファイル :Famicom_ROM_cassette.jpg http://blog.livedoor.jp/game_retro/archives/1403347.html 21

練習問題 1. ヒット時間が 1 ns, ミスペナルティ時間が 20 ns のメモリシステムを考える. キャッシュミス率が 5 % のときの平均メモリアクセス時間を求めよ. 2. 1 のシステムにおいて, 平均メモリアクセス時間を 1.5 [ns] にするために必要なキャッシュミス率を求めよ. 3. 一般にキャッシュメモリのサイズを大きくするとキャッシュミス率は下がるが, ヒット時間は増大する傾向にある. ある計算機の設計において, キャッシュサイズを 2 倍にすることによってキャッシュミス率が 5 % から 4 % に改善することがわかった. これによって平均メモリアクセス時間を短縮できるためには, ヒット時間の増大はどの程度に抑えられている必要があるか述べよ. ただしミスペナルティ時間は変更前のヒット時間の 20 倍で, キャッシュサイズに依存しないとする. 22

解答例 平均メモリアクセス時間 = ヒット時間 + キャッシュミス率 ミスペナルティ時間 1. 1 + 5 10-2 20 = 2 [ns] 2. 1 + p 10-2 20 = 1.5 を p について解いて,p = 2.5 [%] 3. 変更前, 変更後の平均メモリアクセス時間を t ma1,t ma2, 同じくヒット時間を t hit1,t hit2 と書くと, t ma1 = t hit1 + 5 10-2 20 t hit1 t ma2 = t hit2 + 4 10-2 20 t hit1 t ma2 t ma1 = t hit2 t hit1 1 10-2 20 t hit1 = t hit2 t hit1 1.2 よって 1.2 倍までの増大は許容できる.( 逆に言うと, ヒット時間がそれ以上増大してしまうなら, ミス率改善の努力は無駄になる ) 23