今回は CPU に大きく関わる
「アーキテクチャ(archtecture)」を知ろう!
arch
で
出力される
ものだよね
arch
実行結果はこうだったよ!
x86_64
この出力にはどんな意味があるんだろう?
アーキテクチャの種類にはどういうものがあるのかな?
代表的なアーキテクチャを紹介するね!
アーキテクチャ | ビット数 | デザイン | 設計方針 | 主なメーカ | 主な用途 |
---|---|---|---|---|---|
x86 | 32 bit | CISC | 性能重視 | Intel, | PC など |
x86_64 , x64 | 64 bit | 同上 | 同上 | 同上 | 同上 |
aarch , arm | 32 bit | RISC | 効率重視 | Arm など | スマートフォン、 |
aarch64 , arm64 | 64 bit | 同上 | 同上 | 同上 | 同上 |
ゲーミング PC を購入したときIntel と AMD のどちらの CPU を選ぶか迷った記憶があるよ…
aarch64
や aarch
は多くのスマートフォンのほか第7章で紹介する Raspberry Pi やMacBook の 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 が処理できる命令をどのように持たせるかの方向性のことなんだ
RISC は CISC とは逆でCPU の規模を小さく単純にでき価格や消費電力を抑えたCPU を作れるんだけど命令を何段階も組み合わせて複雑な処理を実現しているので処理効率は悪くなっちゃう傾向があるんだね
ただし CISC と RSIC の差は縮まっていて普段は意識しなくても問題ないよCPU のよほど深くに立ち入らない限りCISC と RISC は概念だけ知っていれば十分だよ
アーキテクチャはLinux を利用する上でどんなところに影響してくるのかな?
大抵のバイナリ形式の実行ファイルは特定のアーキテクチャ向けに作られているんだそのような実行ファイルは異なるアーキテクチャ上では動作しないよ
プログラムを正しく動かすには OS のほかアーキテクチャもチェックしないといけないんだね!
パッケージ管理システムでパッケージの検索をすると見つかったパッケージのアーキテクチャも一緒に表示されているよ検索したときに確認してみよう
今回はアーキテクチャを学んだよCPU 設計の呼び名なんだ!
他にもスーパーコンピュータ向けやマイコン向けのアーキテクチャなどがあるけどその分野を扱わない限りは覚えなくても問題ないよまずは今回紹介したアーキテクチャを覚えておこう!