コンピュータアーキテクチャ
第
12
週 キャッシュメモリと仮想メモリ2013年12月11日 金岡 晃
授業計画
第
1
週(9/25)
授業概要・2進数表現・論理回 路の復習
第
2
週(10/2)
2進演算(数の表現)
第
3
週(10/9)
演算アーキテクチャ(演算アル ゴリズムと回路)
第
4
週(10/16)
休講 第
5
週(10/23)
休講 第
6
週(10/30)
ノイマン型コンピュータ・命令 とは・命令の使い方
第
7
週(11/6)
命令セットアーキテクチャ(命 令の表現・命令の実行の仕組)
第
8
週(11/13)
中間試験 第
9
週(11/20)
休講 第
10
週(11/27)
ハーバードアーキテク
チャ・
RISC
とCISC
・制御アー キテクチャ第
11
週(12/4)
メモリの仕組 第
12
週(12/11)
キャッシュメモリと仮想メ モリ
第
13
週(12/18)
割込みアーキテクチャ 第
14
週(1/8)
パイプライン 第
15
週(1/17)
入出力アーキテクチャ・ま とめ
期末試験
【復習】第
11
週制御アーキテクチャ・メモリの仕組み
コンピュータアーキテクチャ
2 2013/12/11 コンピュータアーキテクチャ
コンピュータの制御
制御の流れ
•
メインメモリ(主記憶装置)に格納されている命令を CPU内の命令レジスタに取り出した後、デコーダで解 読する•
デコーダから出力されるデコード情報は、ALU(算術論 理演算装置)やPC(プログラムカウンタ)、汎用レジ スタなどに与えられるデコード情報をどのようにして処理して制御を実現するか 制御アーキテクチャ
•
ワイヤードロジック制御(Wired Logic Control)•
布線論理制御方式、または配線論理制御方式とも•
マイクロプログラム制御(Micro-programmed Control)ワイヤードロジック制御
2013/12/11 コンピュータアーキテクチャ
4
デコード情報を配線によって直接的にALUや PC、汎用レジスタなどに与える方法
入力 出力
S1 S0 Y
0 0
レジスタA
0 1
オールゼロ1 0
入力ポート1 1
オールゼロ セレクタの動作モデル
制御 信号
動作
0
ロード(データを読み取る)
1 • PC
は、+1(カウントアップ)
• A
、出力は、ラッチ•
(データの保持)レジスタの動作
命令実行時の動作:
LD
命令LD
命令時のデコーダ入出力
LD
命令実行時の動作マイクロプログラム制御方式
2013/12/11 コンピュータアーキテクチャ
6
メインメモリに格納されている命令
(マクロ命令)の実行は、制御メモリ
(CS:Control Storage または CM:
Control Memory)と呼ばれるメモリ に格納されているマイクロプログラム
(マイクロ命令の集合)によって処理 される。
メモリ装置の機能と分類
メモリ装置の機能
•
データをメモリ媒体に格納して保持する(書き込む、Write)機能•
メモリ媒体に格納されているデータを取り出す(読み取る:Read)機能 メモリ装置にアクセス(Access)する:メモリ装置を用いてデータの書き込みや読み取り操作を行うこと
メモリ装置の分類
•
主記憶装置/補助記憶装置•
メモリ媒体の種類•
半導体、磁性材料•
揮発性/不揮発性•
可搬性•
RAM(Random Access Memory)/ROM(Read Only Memory)
•
アクセス方式•
シーケンシャル(順次)アクセス(Sequential Access)
•
ランダム(直接)アクセス(Random Access)メモリ装置の階層
2013/12/11 コンピュータアーキテクチャ
8
IC
メモリIC
メモリの分類RAM
2013/12/11 コンピュータアーキテクチャ
10
スタティック
RAM
(SRAM
:Static RAM)
•
電源を投入していれば記憶内容を保持可能•
種類•
バイポーラ(Bipolar)型•
MOS(Metal Oxide Semiconductor)型 ダイナミックRAM
(DRAM
:Dynamic RAM
)•
電源を納入していても一定時間を過ぎると記憶内容が消失してしまう•
再書き込み操作(リフレッシュ、Refresh)が必要•
種類•
SDRAM(Synchronous DRAM)•
DDR SDRAM(Dual Data Rate SDRAM)ROM
EPROM
(Erasable Programmable ROM
)EEPROM
(Electrically Erasable Programmable ROM
) フラッシュメモリ補助記憶装置:ハードディスク装置
2013/12/11 コンピュータアーキテクチャ
12
磁性体を塗布した硬質(
Hard
)の円盤(Disk
)を高速で回転させて データの読み書きを行うデータを読み書きする原理
第
12
週キャッシュメモリと仮想メモリ
コンピュータアーキテクチャ
本日の到達目標と概要
•
到達目標–
キャッシュメモリの仕組みを理解する–
仮想メモリの仕組みを理解する•
概要–
参照局所性–
メモリのマッピング–
主記憶への転送–
仮想メモリとキャッシュメモリの違い–
仮想メモリの分割方式とマッピング方式14 2013/12/11 コンピュータアーキテクチャ
一度アクセスされたアドレスに近いアドレスは、近い時間内にアクセスされる可能性が高 い
参照局所性
実行中のプログラムが主記憶装置にアクセスする場合には、空間的・
時間的な参照局所性(
Referential Locality
)がある メモリの空間的参照局所性一度アクセスされたアドレスは、近い時間内に再びアクセスされる可能性が高い
メモリの時間的参照局所性
アドレス付近の格納データをブロック単位でキャッシュメモリに転送
参照局所性により、効率的なメモリアクセスが可能になる
有効アクセス時間
•
主記憶装置へのアクセス時間:•
キャッシュメモリのアクセス時間:•
ヒット率:–
キャッシュメモリに必要なデータが存在する確率•
ミスヒット率:–
キャッシュメモリに必要なデータが存在しない確率2013/12/11 コンピュータアーキテクチャ
16
𝑇 𝑒 = 𝑃 ℎ × 𝑇 𝑐 + 1 − 𝑃 ℎ × 𝑇 𝑚
𝑃
ℎ𝑇
𝑐𝑇
𝑚キャッシュメモリを利用することで、どれだけアクセス時間が効率的 になるかを示す数字
1 − 𝑃
ℎ•
キャッシュメモリの特定のブロックに 格納される主記憶装置のブロックを決 めておく方式•
簡単なハードウェアで実現できるが、同一グループ内の他ブロックに対して 頻繁にアクセスが生じる場合にはアク セス速度が遅くなる
キャッシュメモリのマッピング方式(1)
ダイレクトマッピング(
Direct Mapping
)方式キャッシュメモリのマッピング方式(2)
2013/12/11 コンピュータアーキテクチャ
18
•
キャッシュメモリのどのブロック に対しても、主記憶装置の任意の ブロックが転送できる方式•
転送の自由度は増えるがハード ウェアが複雑になるフルアソシアティブマッピング
(
Full Associative Mapping
)方式キャッシュメモリのマッピング方式(3)
•
キャッシュメモリのブロックをグ ループ化しておき、そこに転送で きる主記憶装置のブロックもグ ループ化しておく方式•
ハードウェアの複雑さとデータ転 送の自由度のトレードオフの観点 から、現在の多くのコンピュータ で採用されている。セットアソシアティブマッピング
(
Set Associative Mapping
)方式主記憶への転送方式(1)
2013/12/11 コンピュータアーキテクチャ
20
•
キャッシュメモリへの書き込みが生じた際には、それと同時に主記憶装 置も更新する方式•
キャッシュメモリの一致性問題を回避することができるが、書き込み時 の高速アクセスは実現しないライトスルー方式
主記憶への転送方式(2)
•
キャッシュメモリへの書き込みが生じた場合でも、すぐには主記憶装置 への転送を行わない方式•
一致性問題を抱え制御が複雑になるが、アクセスの高速化は実現できる ライトバック方式仮想メモリ
•
マルチタスクと主記憶装置–
コンピュータでソフトウェアを実行する場合にはそのプログラムを主記憶装 置に格納しておくことが必要条件–
マルチタスクで複数プログラム+プログラムの高度化によりプログラムのサ イズは増加傾向•
仮想メモリ–
主記憶装置を仮想的に増大させる技術–
補助記憶装置(一般的にはハードディスク装置)上に構成された空間–
実メモリへは参照局所性を活用してアクセス可能性の高い仮想アドレス付近 のブロック領域を割り当てる2013/12/11 コンピュータアーキテクチャ
22
比較項目 仮想メモリ キャッシュメモリ
目的 主記憶領域の増大化(空間的) アクセスの高速化(時間的)
ブロックサイズ 大きい(512~8192B程度) 小さい(4~128B程度)
主記憶装置との転送速度 対象が補助記憶装置であるため 低速
対象がキャッシュメモリであ るため高速
制御方法 OS主体
(高速性をさほど重視しない)
ハードウェア主体
(高速性を重視)
仮想メモリの分割方式(1)
•
ブロックサイズをある一定 の大きさに決める方式•
ブロックをページと呼 ぶ•
一般的には1ページを4KB 程度のサイズにする•
現在の主流となっている ページング方式仮想メモリの分割方式(2)
2013/12/11 コンピュータアーキテクチャ
24
•
プログラムの論理的な区切 り(コード部とデータ部な ど)によってブロックサイ ズを決める方式•
ブロックをセグメントと呼 ぶ•
セグメント内をさらにペー ジに分割するページセグメ ンテーション方式などがあ るセグメンテーション方式
仮想アドレスのマッピング方式
仮想アドレスを実アドレスに対応させる(アドレス変換)
ページテーブル
2013/12/11 コンピュータアーキテクチャ
26
2
レベルのマッピング例本日の到達目標と概要
•
到達目標–
キャッシュメモリの仕組みを理解する–
仮想メモリの仕組みを理解する•
概要–
参照局所性–
メモリのマッピング–
主記憶への転送–
仮想メモリとキャッシュメモリの違い–
仮想メモリの分割方式とマッピング方式28 2013/12/11 コンピュータアーキテクチャ