3.コンピュータ構成要素
メモリ
- RAM
- 読み書き可能
- 揮発性(電源を切るとデータは消える)
- ROM
- 読みだし専用
- 不揮発性(電源を切ってもデータは消えない)
分類 | 動作原理 | 速度 | 集積度 | ビット単価 | 用途 |
DRAM | MOS | 低速 | 大 | 安価 | 主記憶 |
SRAM | MOS | 中速 | 中 | 安価 | 主記憶 |
SRAM | バイポーラ | 高速 | 小 | 高価 | キャッシュ、レジスタ |
DRAMの種類
DRAM | Dynamic RAM | |
EDO RAM | Extended Data Out DRAM | メモリからデータを読み出すタイミングを工夫することで転送速度を高める |
SDRAM | Synchronous DRAM | 外部クロックに同期して動作、クロックの立ち上がりに同期 |
DDR-SDRAM | Double-Data-Rate | SDRAMの2倍。クロックの立ち上がりと立ち下がりに同期 |
DDR2-SDRAM | SDRAMの4倍 | |
DDR3-SDRAM | SDRAMの8倍 | |
RD-RAM | Direct Rambus DRAM |
ROMの種類
- マスクROM
- 製造工場でプログラムを書き込んだもの
- 後からデータを変更できない
- PROM(Programmable ROM)
- EPROM、フラッシュメモリ
- 紫外線や電気的に書き換えを行う
メモリアクセスの高速化
主記憶への再書き込み方式
- ライトスルー
- データをキャッシュに書き込むときに同時に主記憶にも書き込む
- ライトバック
- データを書き込むときはキャッシュのみで、データを追い出すときに主記憶に書き込む
メモリインタリーブ
- メモリをブロックに分割、隣接ブロックのアドレスを連続に割り付けることで、各ブロックへの並列アクセスを行うことにより高速化
キャッシュメモリへのメモリ割り当て
追い出しアルゴリズム
CPUの命令サイクル
CPUの高速化技法
- 逐次制御方式(ふつうの方式)
- ひとつの命令の実行が完了してから次の命令の読みだしを開始する
- 先行制御方式
- 前の命令の命令実行のサイクルと同時に次の命令の命令読みだしを実行する
- パイプライン方式
- 命令をステージに分割し、1ステージずつずらしながら次々と実行する
- 速度は向上するが、分岐命令やデータ書き換えなどで先読みしていた処理が無駄になることもある(パイプラインハザード)
- スーパースカラ
- パイプラインを複数用意して並列で同時実行
- 分岐予測や順序の関係ない命令を選択して同時に実行する
- VLIW方式
- Very Long Instruction Word
- 依存関係のない命令を組み合わせて複合命令を構成しパイプラインで命令をステージとして並列実行
アドレス指定方式
- 命令は「命令部+アドレス部」から分かれる
- アドレス部はアドレス指定方式によって複数のエリアにわかれることがある
プロセッサの構造、方式
- 密結合型
- 主記憶を複数のCPUで共有
- 1つのOS
- 1つのプログラムを複数のCPUで分散実行
- 疎結合型
- CPUごとに主記憶
- CPUごとにOS
- メモリ競合が起きない
MPU(Micro Processing Unit)
CISC | RISC | |
実装方式 | マイクロプログラム | ワイヤードロジック |
命令語長 | 命令ごとに異なる、長い | 固定、短い |
メリット | 高機能命令を実装できる | 1命令の処理が単純で高速化しやすい。パイプライン向き |
デメリット | 1命令の内部構造が複雑 | 1命令では単純な処理しかできない |
その他 | CPUが複雑化するのでレジスタ数が少ない | CPUが単純なのでキャッシュ、レジスタを内蔵可能 |
- マイクロプログラム
- マイクロ命令(CPUを基本的なレベルで制御する命令)の組み合わせで複雑な命令セットを装備
- 人間に都合のよりマイクロプログラムを定義できる
- ファームウェア
- ワイヤードロジック
- 論理回路を組み合わせことで必要な処理を実現
- 非常に高速だが、単純な命令しか実装できない
並列実行方式
SISD | 1つの命令で1つのデータを処理 |
SIMD | 1つの命令で複数のデータを同時処理 |
MISD | 1つのデータを複数の命令が同時処理 |
MIMD | 複数の独立した命令が異なるデータを処理 |
英語の意味で覚える。Single、Multiple、Instruction、Data
CPUの命令実行時間
- CPI
- Clock Per Instruction
- 1命令の実行に必要なクロック数
- 1命令の実行時間=CPI×1クロックの時間
- IPC
- Instruction Per Clock
- 1クロックあたりの命令数
- MIPS
- Million Instruction Per Second
- 1秒あたり何100万命令実行できるか
バスシステム
入出力制御方式
磁気ディスクの構造
- 構造:複数のディスクの重なりで構成される
- トラック(周)
- 各円盤におけるデータを記録する同心円状の領域
- セクタ
- トラックを分割した区画
- 物理的な区画の最小単位
- クラスタ
- 複数のセクタの固まり(物理的に連続している必要はない)
- ファイルに領域を割り当てていくときの単位
- シリンダ
- 重なっている円盤において、同筒上に重なったトラックの集まり
- トラック(周)
ディスクの容量計算
- レコード
- ブロック
- 複数のレコードをまとめたもの。
- ブロック化係数
- 1ブロックあたりのレコード数
- ブロック間隔
- ブロックとブロックの間隔(バリアブル方式の場合のみ)
- バリアブル方式
- ブロックとブロックの間にブロック間隔をとりながら割り当て
- トラックのうち、ブロックが入りきらない区間は使用できない
- 1トラックに記録できるブロック数=1トラックのバイト数÷(ブロック+ブロック間隔のバイト数)
- セクタ方式
- セクタ分割し、ブロックの割り当てを行う。
- 複数ブロックを同一セクタにまたいで配置できない
- 1トラックに記録できるブロック数=1トラックのセクタ数÷1ブロックに必要なセクタ数