Lから始まるLinux

6章1話
リソース
6章2話 アーキテクチャ
もくじ
6章3話
CPU
アーキテクチャ
若木 しげる
今回は CPU に大きく関わる 「アーキテクチャ(archtecture)」を知ろう!
若木 みどり
arch 出力される ものだよね
arch
若木 みどり
実行結果はこうだったよ!
x86_64
若木 みどり
この出力にはどんな意味があるんだろう?
種類
若木 しげる
「アーキテクチャ」建築様式や構造という意味だよCPU の設計や構造の呼び名と思ってもらえればいいよ
若木 みどり
アーキテクチャの種類にはどういうものがあるのかな?
若木 しげる
代表的なアーキテクチャを紹介するね!
アーキテクチャビット数デザイン設計方針主なメーカ主な用途
x8632 bitCISC性能重視Intel, AMD などPC など
x86_64, x6464 bit同上同上同上同上
aarch, arm32 bitRISC効率重視Arm などスマートフォン、省電力 PC、組み込みなど
aarch64, arm6464 bit同上同上同上同上
若木 みどり
ゲーミング PC を購入したときIntel と AMD のどちらの CPU を選ぶか迷った記憶があるよ…
若木 しげる
aarch64aarch多くのスマートフォンのほか第7章で紹介する Raspberry PiMacBook の Apple シリコン など性能よりも電力効率が求められる場面で選択されているアーキテクチャだよ
若木 みどり
確かにスマートフォンでCPU が Intel とか AMD とか聞いたことが無いなぁ…性能より電力の長持ちを優先したアーキテクチャを採用しているからなんだね!
若木 みどり
ところでビット数って何かな?現在は 64 bit が主流と聞くけど…
若木 しげる
ビット数は CPU が処理をする信号の単位を表すよビット(bit) は 0 または 1 の二値で表現できる情報量の単位なんだ
若木 しげる
例えばビット数が 32 bit なら二進数 32 桁をひとつの単位として信号を処理するんだ
若木 みどり
ビット数が大きければそれだけ大きな単位の情報を扱えるんだね!
若木 しげる
そうだねビット数は CPU が扱える数値やデータサイズの上限などに影響するよ
若木 しげる
32 bit で表現できる容量の上限は 4GB だよPC が扱うストレージやメモリの容量が4GB に到達しそうになった頃から32 bit から 64 bit へ移行が進み現在は 64 bit が主流になっているんだよ
若木 みどり
CISC や RISC って?
若木 しげる
CPU が処理できる命令をどのように持たせるかの方向性のことなんだ
若木 しげる
「CISC(complex instruction set computer)」CPU に多数の複雑な命令を持たせるんだ多くの処理が一つの命令でこなせて処理が効率的な反面命令ごとに処理が完了する長さが異なったりして命令を実行するタイミングの調整が複雑になるほか多数の命令をチップ上に盛り込むことでCPU の規模が大きくなり高価になる傾向があるよ
若木 しげる
「RISC(reduced instruction set computer)」逆に CPU に少数の単純な命令を持たせるんだそれらを組み合わせて複雑な命令を実現するよ
若木 みどり
RISC は CISC とは逆でCPU の規模を小さく単純にでき価格や消費電力を抑えたCPU を作れるんだけど命令を何段階も組み合わせて複雑な処理を実現しているので処理効率は悪くなっちゃう傾向があるんだね
若木 しげる
ただし CISC と RSIC の差は縮まっていて普段は意識しなくても問題ないよCPU のよほど深くに立ち入らない限りCISC と RISC は概念だけ知っていれば十分だよ
若木 みどり
アーキテクチャはLinux を利用する上でどんなところに影響してくるのかな?
若木 しげる
大抵のバイナリ形式の実行ファイルは特定のアーキテクチャ向けに作られているんだそのような実行ファイルは異なるアーキテクチャ上では動作しないよ
若木 みどり
プログラムを正しく動かすには OS のほかアーキテクチャもチェックしないといけないんだね!
若木 しげる
パッケージ管理システムでパッケージの検索をすると見つかったパッケージのアーキテクチャも一緒に表示されているよ検索したときに確認してみよう
まとめ
若木 みどり
今回はアーキテクチャを学んだよCPU 設計の呼び名なんだ!
若木 しげる
他にもスーパーコンピュータ向けやマイコン向けのアーキテクチャなどがあるけどその分野を扱わない限りは覚えなくても問題ないよまずは今回紹介したアーキテクチャを覚えておこう!