コンピュータ・アーキテクチャとは
コンピュータ (特にハードウェア) における基本設計や設計思想などの基本設計概念.
3 つのサブカテゴリがある.
- 命令セットアーキテクチャ(ISA)
- マイクロアーキテクチャ
- システムアーキテクチャ
命令セットアーキテクチャ
RISC, CISC, VLIW, EPIC アーキテクチャ
マイクロアーキテクチャ
- 演算アーキテクチャ
- 浮動小数点, 演算装置, SIMD/MIMD, ベクトル演算ユニット (ベクトル計算機)
- CPU 制御アーキテクチャ
- ワイヤードロジック, マイクロプログラム (マイクロアーキテクチャ), 実行ユニット, 制御装置
- CPU 高速化アーキテクチャ
- パイプライン, スーパースケーラ, アウト・オブ・オーダー実行, 分岐予測, レジスタ・ウィンドウ, レジスタ・リネーミング, 投機的実行
- CPU バスアーキテクチャ
- CPU バス (CPU 内部バス, CPU 外部バス《ピン》アーキテクチャ)
- マルチプロセッサアーキテクチャ
- 対称型マルチプロセッサ (SMP), NUMA (ASMP), クロスバースイッチ <スタブ>
- マルチスレッドアーキテクチャ
- ブロック型マルチスレッディング, インターリーブ型マルチスレッディング, 同時マルチスレッディング
📝システムアーキテクチャ
- 制御アーキテクチャ
- 割り込み制御, 入出力制御
- バスアーキテクチャ
- ハーバードアーキテクチャ, プログラム内蔵方式 (ノイマン型を含む)
- クロスバースイッチ
- システムバス, メモリバス, 入出力バス.
- メモリアーキテクチャ
- キャッシュメモリ, 仮想記憶, TLB <スタブ> — メモリ
- ネットワークアーキテクチャ
- <スタブ> — コンピュータネットワーク
- オペレーティングシステムアーキテクチャ
- ページング方式アーキテクチャ. <スタブ>
- 分散処理アーキテクチャー
📝メモリ/Memory
Memory Architecture.
Memory Hierarchy
| registers | |
|---|---|
| L1 Cache | SRAM |
| L2 Cache | SRAM |
| Memory | DRAM |
| local 2nd storage | local disks |
| remote 2nd storage | Web Servers |
ROM
書き込んだデータは消去できないが, 電源を切ってもデータが消えない読み出し専用のメモリ.
RAM
データの読み書きは自由に行えるが, 電源を切ると内容が消えるメモリ (Random Access Memory)
レジスタがたくさんあつまったもの. 各レジスタには、一位のアドレスが割り振られている.
Virtual Memory
仮想メモリ. メモリ管理技法の一種であり, マルチタスクオペレーティングシステムが不連続なメモリ領域をソフトウェア(プロセスなど)から見て連続になるように見せかけるもの.
セグメント方式とページング方式の二つの方法がある.
関節参照
indirection.
値を, 値を表すものそのもの直接によってではなく, 名前や参照などにより間接的に, 指し示すことおよびその参照や, それを参照して操作すること
CS の世界での問題解決の常套手段.
MMU
コンピュータ内部の部品. 仮想アドレスを物理アドレスに変換する機能をもつ.
メモリ保護機能.
- プロセスが無効なメモリにアクセス
- MMU(Memory Management Unit)が検出
- OSにハードウェア割り込み
- OS がシグナル送信(SIGSEGV等)
- プロセス即座に終了
ページング方式
記憶装置をページと呼ばれる小さな単位に分割して割り当てを行うアルゴリズム群である. 仮想記憶のベースとなる設計の一つ.
仮想メモリ番号と物理メモリ番号を対応づけるテーブル.
-
Pages
バーチャルメモリ上のキャッシュをとくに Pages という.
-
Page Tables
ページテーブル (Page Table) とは, コンピュータのオペレーティングシステムにおけるページング方式の仮想記憶システムで使われるデータ構造であり, 仮想アドレスと物理アドレスのマッピングを格納するものである. 仮想アドレス空間はプロセス毎に割り当てられ, 物理アドレスはシステム全体で RAM などを配置するアドレス.
ベージテーブルの先頭には valid flag があるので, まずはそれで参照したメモリか有効かどうかを判定する.
共有ライブラリは, read only なため, この領域に対して write アクセスがあると, Page Fault 例外が発生する.
Disk にある? それだ参照のオーバヘッドが大きいので, TLB がある.
-
Page Fault
物理メモリ空間に対応づけられていない論理メモリを参照した時にはページフォルトという例外によって OS 側の例外処理ルーチンに制御が移行し, OS 側の管理によって適宜対応したページを二次記憶等から読み込み, テーブルを更新してその参照した命令の実行に戻る.
-
仮想メモリに関わる 3 つのテーブル
- TLB … MMU
- Page Table … DRAM
- Cache … DRAM
-
TLB
メモリ管理ユニット (MMU) 内のある種のキャッシュであり, 仮想アドレスから物理アドレスへの変換の高速化を図るもの.
セグメント方式
📝ノイマン型アーキテクチャ
CPU を中心として、メモリデバイスを操作し入力デバイスからデータを受け取り、出力デバイスへデータを送信する.
- メモリ
- データメモリ
- 命令メモリメモリ上にプログラムを保持するところがノイマン的.
- CPU
- ALU
- レジスタ
- 制御ユニット
- レジスタ
- データレジスタ
- アドレスレジスタ
- プログラムカウンタレジスタ次にフェッチする命令メモリ上のアドレスを保持して、一つ命令を実行する度にインクリメントしていく.
- 入出力装置メモリマップド I/O によってメモリ操作のように制御
👨ジョン・フォン・ノイマン
推定IQは300…
📝GPU
Graphic Processiong Unit. 画像処理に特化した演算回路.
VRAM
GPUに搭載されている専用メモリ. ビデオメモリ.
- VRAMの容量が大きいほど高品質な映像をスムーズに処理することが可能.
nvidia-smi
topのGPUバージョン.
# 1秒間隔で実行
nvidia-smi -l 1
# 500ミリ秒=0.5秒間隔で実行
nvidia-smi -lms 500🖥グラフィックカード
GPUの搭載されたパソコン部品. ビデオカード, グラフィックボード, グラボ.
画像、動画編集. ゲームで遊ぶときに必要. これがないとCPUでは処理がおそくてカクカクする.
📝NPU
neural processing unit. 🤖生成AIの処理に特化した演算装置.