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

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

スライド タイトルなし

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

Microsoft PowerPoint - 6.memory.ppt

スライド 1

計算機ハードウエア

スライド 1

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)

スライド 1

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

計算機ハードウエア

PowerPoint プレゼンテーション

スライド 1

cpu2007lectureno2.ppt

Operating System 仮想記憶

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

Microsoft PowerPoint - ARC2009HashiguchiSlides.pptx

増設メモリ 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

スライド 1

OS

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

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

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

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

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

020105.メモリの高機能化

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

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

Microsoft PowerPoint - ARC-SWoPP2011OkaSlides.pptx

-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

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

ComputerArchitecture.ppt

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

PowerPoint プレゼンテーション

スライド 1

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

情報工学Ⅰ-02

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

cmpsys14w04_mem_hp.ppt

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

Microsoft PowerPoint - 11Web.pptx

hard5.pptx

M SRAM 1 25 ns ,000 DRAM ns ms 5,000,

スライド 1

Microsoft PowerPoint - No7note.ppt

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

Microsoft PowerPoint - arc5

Microsoft PowerPoint - OS12.pptx

TN-46-13

<4D F736F F F696E74202D FEE95F18F88979D8B5A8F702E B93C782DD8EE682E890EA97705D205B8CDD8AB B83685D>

Microsoft PowerPoint - No6note.ppt

ITP_text_01_kon_CS4_ indd

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

< B8CDD8AB B83685D>

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

処理速度1 パッケージ SSD essd(embedded-ssd) シリーズ SSD と HDD がすみ分け 連携するクラウド時代のストレージシステム デジタル化やインターネット クラウドコンピューティングなどの普及により 日々生成される情報量は加速度的に増大し 2007 年に使用可能なストレージ

26 FPGA FPGA (Field Programmable Gate Array) ASIC (Application Specific Integrated Circuit) FPGA FPGA FPGA FPGA Linux FreeDOS skewed way L1

問題1 次の情報表現に関する記述は,コンピュータの勉強を始めたばかりのB君と,かなり詳しく知っているM君の会話である

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

(Microsoft Word - DDR\203\215\203W\203A\203i\215\\\220\254-ver0619.doc)

untitled

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

OS

c t WC 1 2: SRAM 1.2 DRAM DRAM DRAM DRAM 3 4M 1 DRAM 22 1 A0 A10 11 DRAM 22 DIN DOUT 1 DRAM

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

スライド 1

PowerPoint プレゼンテーション

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

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

XAPP858 - High-Performance DDR2 SDRAM Interface In Virtex-5 Devices

計算機アーキテクチャ

10-vm1.ppt

April 2014 Flash-aware MySQL フラッシュが MySQL を変える Takeshi Hasegawa Senior Sales Engineer APAC Japan Fusion-io

<4D F736F F D F B835E82CC8D8291AC8F88979D82F08FAC8C5E82A982C288C089BF82C88D5C90AC82C AC82B782E996A78C8B8D878C5E836E815B C695C097F18F88979D82F091678D8782B982BD8C768E5A8B

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

Microsoft PowerPoint - OS07.pptx

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

Microsoft Word - 12gm速修テキスト_経情01_記憶素子_1028.doc

Microsoft Word - nvsi_050110jp_netvault_vtl_on_dothill_sannetII.doc

CacheBusのご紹介

情報科学概論

h-hwang11phdthesis-RealizingName.pptx

Microsoft PowerPoint pptx

Microsoft Word - 新規Microsoft Office Word 文書.docx

N08

router_cachehit.eps

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

Microsoft PowerPoint - OS11.pptx

Microsoft PowerPoint - ARCEMB08HayashiSlides.ppt [互換モード]

Microsoft PowerPoint - 09_2008_0619.pptx

基本条件 (1Slot 版用 ) 機能 MR-SHPC 端子名 設定内容 備考 CS 空間 -CS CS6 空間 ( キャッシュ無し ) キャッシュ無し空間を使用 (B h) RA25 0 固定 レジスタ空間 RA24 0 固定 RA23 0 固定 B83FFFE 4h~B83FFFF

総合仕様

東芝 MAGNIA R3320b での SSD 性能の検証 2012 年 8 月 株式会社東芝 クラウド & ソリューション事業統括部 目次 1. はじめに ソリッドステートドライブの概要 使用機器一覧 単体性能について サーバー用途別のテスト

メモリと記憶装置 2

Microsoft PowerPoint - OS09.pptx

VLSI工学

Microsoft PowerPoint - OS12.pptx

Transcription:

コンピュータ基礎記憶階層とキャッシュテキスト第 10 章 天野英晴 hunga@am.ics.keio.ac.jp

記憶システム 膨大な容量を持ち アクセス時間 ( 読み出し 書き込み ) が短いメモリが欲しい! しかし 容量の大きい ( ビット単価が安い ) メモリは遅い 高速なメモリは容量が小さいお金にモノを言わせて高速なメモリをたくさん揃えても大容量化の段階で遅くなってしまう そこでアクセスの局所性 (Locality) を利用 時間的局所性 (Temporal Locality) 一度アクセスされたアドレスは近いうちにまたアクセスされる 空間的局所性 (Special Locality) 一度アクセスされたアドレスに近い場所がまたアクセスされる

記憶の階層 高速小容量の CPU の近くに置きよく使うデータを入れておく そこになければより遅い大容量メモリに取りに行く CPU L1 キャッシュ L2 キャッシュ L3 キャッシュ SRAM ソフトウェアからは透過 ( トランスペアレント ) チップ内メモリ ~64KB 1-2clock ~256KB 3-10clock 2M~4MB 10-20clock 主記憶 DRAM 4~16GB 50-100clock OS が管理 補助記憶 (2 次記憶 ) μ-msec オーダー数百 GB

半導体メモリの分類 RAM (RWM): 揮発性メモリ 電源を切ると内容が消滅 SRAM(Static RAM) DRAM(Dynamic RAM) ROM(Read Only Memory): 不揮発性メモリ 電源を切っても内容が保持 Mask ROM 書き換え不能 PROM(Programmable ROM) プログラム可 One Time PROM 一回のみ書き込める Erasable PROM 消去 再書き込み可能 UV EPROM ( 紫外線消去型 ) EEPROM ( 電気的消去可能型 ) FLASH Memory

メモリの基本構造 記憶要素により性質が定まる Memory Cell Address Sense Amp Data Selecter I/O Buffer I/O バッファは 3 ステート

SRAM (Static RAM) 非同期式 SRAM 古典的な SRAM クロックを用いない 現在も低電力 SRAM シリーズなどで用いられる 連続転送機能を強化した SSRAM (Synchronous SRAM) が登場 高速大容量転送に用いられる 8Mbit/Chip-64Mbit/Chip 程度 TSOP (Thin Small Outline Package) や BGA(Ball Grid Array) を利用

SRAM 型のメモリセル構造 Word Bit Bit 最も基本に忠実な 6 トランジスタ方式 : 安定なのでよく用いられる

非同期 SRAM Address 8bit ならば 0 1 2 255 I/O 幅 CS OE WE メモリは幅 wbit, 深さ2 この例はw=16, n=8 8 深さ2 =256 ( 本当はもっとずっと多数のデータを格納する ) 制御端子は 3 本 CS: チップ全体を制御 OE: 読み出し WE: 書き込みいずれもアクティブ L n 非同期 SRAM のモデル

RAM の容量 深さ 幅 右の表に幅を掛ければ全体の容量が出る 省略した言い方でも十分 ( 端数を覚えている人は少ない ) アドレス 本数 容量 8 256 256 10 1024 1K 12 4096 4K 16 65536 64K 省略した言い方 18 262144 256K 20 1048576 1M 24 16777216 16M 28 26835456 256M 30 1073741824 1G 32 4204067296 4G

DRAM(Dynamic RAM) 記憶はコンデンサ内の電荷によって行う リフレッシュ プリチャージが必要 256Mbit/Chipの大容量 連続転送は高速 SDRAM(Synchronous DRAM) の普及 DDR-SDRAMの登場 DDR2 DDR3

DDR-SDRAM カードの例 下は 1GB でやや小さい 今は 4GB-8GB のカードが良く使われる

DRAM の構造 Row Address Memory Cell Sense Amp Column Address Data Selecter I/O Buffer

古典的な DRAM の利用法 アドレス 行 列 RAS CAS データ 有効

DRAM の記憶部分 D W 記憶用コンデンサ 基準用コンデンサ

DRAM アクセスの特徴 破壊読出しなので 書き戻しが必要 微小電位を検出するセンスアンプが必要 基準コンデンサを充電するためのプリチャージ時間が必要 ほっておくと電荷が放電してしまうので リフレッシュが必要 SRAM に比べて使い難い

SDR (Single Data Rate) SDRAM: 同期式 DRAM 100MHz-133MHz の高速クロックに同期した読み 書きを行う CS,RAS,CAS,WE などの制御線の組み合わせでコマンドを構成 コマンドにより 同期式に読み 書き リフレッシュ等を制御 バンクの切り替えにより連続読み 書きが高速に可能

SDR-SDRAM の 読み出しタイミング CLK Command ACT Read Address Row Column Data0 Data1 Data2 Data3

DDR (Double Data Rate) SDRAM: 同期式 DRAM SDR SDRAM 同様の高速周波数 (100MHz -133MHz) のクロックの両エッジで転送を行うことにより 倍のデータ転送レートを実現 差動クロックを利用 データストローブ信号によりタイミング調整 より豊富なコマンド

DDR-SDRAM の 読み出しタイミング CLK ~CLK Command ACT Read Address DQS Row Column Data0Data1Data2Data3

DRAM のまとめ SRAM の 4 倍程度集積度が大 使い難いが 連続アクセスは高速 転送はますますパケット化する傾向にある SDR-SDRAM DDR-SDRAM DDR2-SDRAM DDR2: 800Mbps (400MHz 両エッヂ ) 2Gbit /Chip DDR3: 1600Mbps (800MHz 両エッヂ ) 4Gbit /Chip パッケージ :FBGA(Fine pitch Ball Grid Array) の利用 SO-DIMM(Small outline Dual dual in-line memory module) の形で供給される : 8GByte/DIMM 現在 PC 用には DDR3 が標準となる プリフェッチ機能 連続転送可能 1.5V 電源 電気的特性の改善 DDR-4 が準備中 Hybrid Memory Cube という 3 次元積層の新しい規格が登場 制御は複雑 高速なため取り扱いもたいへん IP( Intellectual Property) の利用が進む

フラッシュメモリ EEPROM 型の発展 : 小型化のために選択ゲートを用いず ブロック単位で消去を行う. NOR 型 NAND 型 DINOR 型 AND 型等様々な構成法がある. オンチップ用 : 高速消去可能 NOR 型 1Gbit 程度まで 単独読み出しが可能 消去が高速 ファイルストレージ用 : 大容量の NAND 型 1Gbit- 128Gbit/ チップ 連続読み出し 消去はミリ秒オーダー掛かる SD メモリカード SDHC メモリカードなど 8GB-32GB が使われる 書き換え回数に制限がある みんなが最も身近に使うメモリ

ストレージシステム : ディスク装置 トラック : 同心円状のアクセスの単位 1 万 -5 万ある ヘッド シリンダ : ヘッドの下にあるすべてのトラックのこと セクタ :512B 程度に分割したアクセスの単位 100-500 セクタ番号 誤り訂正符号付きのデータを含む 磁性体の塗布された円板にデータを格納可動式のヘッドを使って読み書き不揮発性

容量と動作速度 2.5 インチー 3.5 インチ ヘッド数 :2-4 容量 : 100GB-1TB 平均ディスクアクセス時間 = 平均シーク時間 ( ヘッドを動かす時間 )+ 平均回転待ち時間 + 転送時間 数 msec インタフェース ATA(Advanced Technology Attachment) SCSI(Small Computer Systems Interface) ディスク内にマイクロプロセッサを装備し アクセス時間を最適化 ディスクキャッシュの利用

演習 1 CLK ~CLK Command ACT Read Address DQS Row Column Data0Data1Data2Data3 100MHz で動作する時 データの幅が 32 ビットだとすると 転送容量は何 Mbyte/sec か?

記憶の階層 高速小容量の CPU の近くに置きよく使うデータを入れておく そこになければより遅い大容量メモリに取りに行く CPU L1 キャッシュ L2 キャッシュ L3 キャッシュ SRAM ソフトウェアからは透過 ( トランスペアレント ) チップ内メモリ=SRAM ~64KB 1-2clock ~256KB 3-10clock SRAM 2M~4MB 10-20clock 主記憶 DRAM 4~16GB 50-100clock OS が管理 補助記憶 (2 次記憶 ) μ-msec オーダー数百 GB ディスクフラッシュ ROM

キャッシュ 頻繁にアクセスされるデータを入れておく小規模高速なメモリ Cache であって Cash ではないので注意 元々はコンピュータの主記憶に対するものだが IT 装置の色々なところに使われるようになった ディスクキャッシュ ページキャッシュ..etc.. 当たる ( ヒット ) はずれる ( ミスヒット ) ミスヒットしたら 下のメモリ階層から取ってきて入れ替える ( リプレイス ) マッピング ( 割り付け ) 主記憶とキャッシュのアドレスを高速に対応付ける Direct map Full associative cache 書き込みポリシー ライトスルー ライトバック リプレイス ( 追い出し ) ポリシー LRU (Least Recently Used)

アドレスマッピング ( 割り付け ) ワード単位に割り付けるのは効率が悪い 一定の連続アドレスのブロック ( ライン ) を管理単位とする ブロックサイズは 8byte-128byte 程度 ここでは 8word(16byte) を使う やや小さい 順番に割り付けていって 1 周したら 元に戻る キャッシュのブロック数 ( セット数 ) が2のn 乗 ブロックサイズが2のm 乗とすると 残り n m タグ ( キー ) インデックス ブロック内アドレス

0000000000 0000000111 0000010000 0000010111 0000100000 0000100111 0000110000 0000110111 0001000000 0001000111 0001010000 0001010111 1111111000 1111111111 0000001000 0000001111 0000011000 0000011111 0000101000 0000101111 0000111000 0000111111 0001001000 0001001111 1111110000 1111110111 Direct Map のアドレス割り付け主記憶 :1024 ワード ブロックサイズ :8 ワードキャッシュ :64 ワード =8 ブロック 000 001 010 011 100 101 110 111 Tag Index (Key) 0000101000 0000101111 ブロック内アドレス

From CPU ダイレクトマップ方式 0011010 0011 010 100 010 010 = Yes:Hit Data Main Memory (1KB=128Lines) 0011 Cache (64B=8Lines) Cache Directory (Tag Memory) 8 entries X (4bit ) ディレクトリは小さくて済む

ダイレクトマップ方式 (Conflict Miss) From CPU 0000010 0000 010 100 010 Main Memory 010 = No: Miss Hit 0000 0011 Cache Cache Directory (Tag Memory) 010 を共通するキャッシュラインは Conflict Miss を起こす

0000000000 0000000111 0000001000 0000001111 0000010000 0000010111 0000100000 0000100111 0000110000 0000110111 0000011000 0000011111 0000101000 0000101111 0000111000 0000111111 0001000000 0001000111 0001001000 0001001111 0001010000 0001010111 1111110000 1111110111 1111111000 1111111111 00 01 10 11 0000101000 0000101111 Index Tag (Key) キャッシュ内アドレス 2-way set associative のアドレス割り付け

2-way セットアソシアティブマップ From CPU 0011010 00110 10 100 = Yes: Hit Data Main Memory (1KB=128Lines) 10 00110 00000 10 = No Set Cache Directory (Tag Memory) 4 entries X 5bit X 2 Cache (64W=8Block) セット単位に割り付ける

2-way セットアソシアティブマップ From CPU 0000010 0011010 00000 10 100 = No Main Memory (1KB=128Lines) 10 00110 Cache (64B=8Lines) 00000 10 = Yes: Hit Cache Directory (Tag Memory) 4 entries X 5bit X 2 Data 競合ミス (Conflict Miss) が減る

4-way セットアソシィアティブマップ From CPU 0000010 0011010 001101 0 100 0 001101 = Main Memory (1KB=128Lines) = Data = Cache Directory (Tag Memory) 2 entries X 6bit X 4 000000 = Cache (64W=8Blocks)

8-way セットアソシアティブ ここではフルマップ From CPU 0000010 0011010 0011010 100 0011010 = = Main Memory (1KB=128Lines) = = Data = = Cache Directory (Tag Memory) 7bit X 8 0000001 = = Cache (64W=8Blocks)

タグメモリの設計法 キャッシュ内に何ブロック入るかを計算する 2 の n 乗である時 インデックスは nbit となる メモリ内に何ブロック入るかを計算する 2 の h 乗である時 タグは h-n=mbit となる ダイレクトマップでは幅 m, 深さ 2 の n 乗のタグメモリが必要 2-way set associative は インデックスが 1bit 減り深さが半分となり タグが 1bit を増える しかしこれがダブルで必要 way 数が倍になる度にインデックスが 1bit 減り 深さが半分になり タグが 1bit 増え タグ自体が倍になる

Way 数のトレードオフ 大きくすると ヒット率が改善 Direct Map 2way set associative 32 人で 1 つの椅子を争う VS. 64 人で 2 つの椅子を争う 偶然同じ時間に椅子を狙うライバルが居る場合は効果的 サイズを倍にするのと同じ程度の効果が見込まれる それ以上はどんどん効果が減る 4 以上はあまり効果が上がらない 遅延時間が大きくなる ( マルチプレクサの遅延 ) 8 くらいまでが多い

演習 2 64k ワードの主記憶に対して 8k ワードのキャッシュを設ける ブロックサイズは 16 ワードとする ダイレクトマップ 2way set associative 4way set associative キャッシュのタグメモリ構成をそれぞれ示せ