気が向いたら書くやつ

気が向いたら何か書きます

【読書メモ】『コンピュータアーキテクチャ技術入門』(1)

第1章 コンピュータシステムの基本

1.1 コンピュータシステムの基礎

  • コンピュータは大まかに入力装置出力装置プロセッサから構成される。
    メモリに保持した命令・データをプロセッサで処理し、入出力インタフェースを介して入出力装置に表示する。

  • データ・命令は電圧の大小で表現された2進数値で保持され、1桁を1ビット (bit)とする。

    • 1バイト (Byte):8 bit。
    • ワード (word):(おおむね)4 Byte*1
    • ダブルワード (word):8 Byte(1 wordの2倍)
  • プロセッサの持つ命令の種類とそのバイト列表現、命令の実行結果は命令セットアーキテクチャ (Instruction Set Architecture, ISA) として定義される。
    これは論理的な定義であり、ハードウェアでの実現・実装方法(マイクロアーキテクチャ)については規定しない。

  • ISAに互換性があれば、別コンピュータで同一のデータ・プログラムを実行できる(バイナリ互換)。 一例として、Intel製64bit CPU(Intel64アーキテクチャ)とAMD製64bitCPU(AMD64アーキテクチャ)のISAはほぼ同一で、バイナリ互換性がある*2

  • 主記憶装置であるメモリは、1 bit単位のメモリセル (Memory cell) から構成され、バイト単位のアドレスで位置が指定される。
    ビットあたりの単価が安くある程度高速に読み書きできる素子が要求され、現在ではDRAM (Dynamic Random Access Memory) が広く利用されている。

  • 記憶容量の単位として、2進単位での接頭辞が定義されている。

    • Ki (210 = 1024)
    • Mi (220 = 1048576)
    • Gi (230 = 1073741824)
  • スマートフォン向けSoC*3には、ディスプレイやタッチパネルなどスマートフォンに必要な入出力装置のインタフェースが搭載され、周辺装置が直接接続される。
    対して、デスクトップPC向けのプロセッサにはPCI ExpressやUSBなど汎用インタフェースが搭載され、必要に応じて広範囲な入出力装置を接続する形となっている。

*1:プロセッサによりまちまちで、レジスタのサイズにより2 Byteと規定されることもある。

*2:厳密には異なるが、差分はOSが埋めている

*3:System on Chip。プロセッサに加えてシステムの主要機能がワンチップに集積されたもの