コンピュータ・アーキテクチャとは

コンピュータ (特にハードウェア) における基本設計や設計思想などの基本設計概念.

3 つのサブカテゴリがある.

命令セットアーキテクチャ

RISC, CISC, VLIW, EPIC アーキテクチャ

📝アセンブリ言語

マイクロアーキテクチャ

  • 演算アーキテクチャ
  • 浮動小数点, 演算装置, SIMD/MIMD, ベクトル演算ユニット (ベクトル計算機)
  • CPU 制御アーキテクチャ
  • ワイヤードロジック, マイクロプログラム (マイクロアーキテクチャ), 実行ユニット, 制御装置
  • CPU 高速化アーキテクチャ
  • パイプライン, スーパースケーラ, アウト・オブ・オーダー実行, 分岐予測, レジスタ・ウィンドウ, レジスタ・リネーミング, 投機的実行
  • CPU バスアーキテクチャ
  • CPU バス (CPU 内部バス, CPU 外部バス《ピン》アーキテクチャ)
  • マルチプロセッサアーキテクチャ
  • 対称型マルチプロセッサ (SMP), NUMA (ASMP), クロスバースイッチ <スタブ>
  • マルチスレッドアーキテクチャ
  • ブロック型マルチスレッディング, インターリーブ型マルチスレッディング, 同時マルチスレッディング

📝システムアーキテクチャ

  • 制御アーキテクチャ
  • 割り込み制御, 入出力制御
  • バスアーキテクチャ
  • ハーバードアーキテクチャ, プログラム内蔵方式 (ノイマン型を含む)
  • クロスバースイッチ
  • システムバス, メモリバス, 入出力バス.
  • メモリアーキテクチャ
  • キャッシュメモリ, 仮想記憶, TLB <スタブ> — メモリ
  • ネットワークアーキテクチャ
  • <スタブ> — コンピュータネットワーク
  • オペレーティングシステムアーキテクチャ
  • ページング方式アーキテクチャ. <スタブ>
  • 分散処理アーキテクチャー


📝メモリ/Memory

Memory Architecture.

Memory Hierarchy

registers
L1 CacheSRAM
L2 CacheSRAM
MemoryDRAM
local 2nd storagelocal disks
remote 2nd storageWeb 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

セグメント方式

📝ノイマン型アーキテクチャ

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の処理に特化した演算装置.

🔗References