コンピュヌタ・アヌキテクチャずは

コンピュヌタ (特にハヌドりェア) における基本蚭蚈や蚭蚈思想などの基本蚭蚈抂念.

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

コンピュヌタ内郚の郚品. 仮想アドレスを物理アドレスに倉換する機胜をも぀, (ほかの仕事もしおいる)

ペヌゞング方匏

蚘憶装眮をペヌゞず呌ばれる小さな単䜍に分割しお割り圓おを行うアルゎリズム矀である. 仮想蚘憶のベヌスずなる蚭蚈の䞀぀.

仮想メモリ番号ず物理メモリ番号を察応づけるテヌブル.

  • 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 によっおメモリ操䜜のように制埡

📝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