インストラクター：このレッスンでは､
CPUアーキテクチャについてお話しします｡
CPU（セントラル・プロセッシング・ユニット）は､
通常は単にプロセッサーと呼ばれ､ コンピューターの頭脳となるデバイスで､
ソフトウェアやファームウェアの中に存在するさまざまなプログラムコードを実行するために使用される｡
これは､ どのような種類の機能であれ､ コンピュータに正確にその仕事のやり方を指示するものだ｡
基本的に､ CPUはひとつひとつの命令に対して基本的な処理を実行する｡
CPUはまずその命令をフェッチし､
プロセッサー内部のシステムメモリーやキャッシュから次の命令を取り出す｡
そして､ コントロール・ユニットやプロセッサーが､
それぞれの命令をデコードし､ それを実行するか､ あるいはその処理を助けるセカンダリー・ユニットに渡す｡
例えば､ 多くのプロセッサーには､
浮動小数点演算ユニットや算術論理演算ユニットといったものがあり､
これらはコードの種類や実行される命令の種類に応じて異なる命令を実行するために使用される｡
そして､ プロセッサが命令の実行を終えると､
その情報をレジスタ､
キャッシュ､ あるいはメモリに送り返す｡
これは､ マザーボードやコンピューター内部のプロセッサーの基本的な動作方法である｡
さて､ プロセッサーそのものを見てみると､
独自のアーキテクチャを持っている｡
マザーボードがフォームファクターによって何ができるかを定義するのと同じように､
プロセッサーのアーキテクチャーは､ そのプロセッサーが持つ能力を定義することになる｡
技術者として現場で遭遇する主なアーキテクチャは3つある｡
最初のものはX86として知られている｡
現在､ X86はIA-32またはインテル・アーキテクチャの32ビット命令セットと呼ばれることもある｡
というのも､ X86はもともとインテルが1970年代から1980年代にかけて､
最初のPCとともに開発したものだからだ｡
やがてコンピューターは8ビットから16ビット､
32ビットへと移行し､ その過程でインテルは後方互換性を作り出し､
これらのシステムはすべてX86世代のプロセッサーとして知られるようになった｡
これは､ インテルがコンピューターに採用した最初のプロセッサーが8086シリーズだったからだ｡
そしてその次が286シリーズになり､
386､ 486､ 586となり､ その時点でCeleronやPentiumといったブランド名を使うようになった｡
いずれにせよ､ これらのデバイスはもともとすべてX86プロセッサーで､
64ビットプロセッサーになるまでずっとそうだった｡
64ビットプロセッサーに移行すると､
これをX64プロセッサーとかX64アーキテクチャーと呼ぶようになった｡
今､ X64という命令セットを目にするときはいつでも､
これはX86または32ビット命令セットを拡張して64ビット演算をサポートできるようにしたことを意味する｡
X86プロセッサーである32ビットプロセッサーを扱う場合､
最大4ギガバイトのRAMしかサポートできないからだ｡
アドレス指定に使用できるビットは32ビットしかないため､
物理的に4ギガバイト以上のものをアドレス指定することはできない｡
そして､ 2を32乗すると約40億ビットとなり､
これは約4ギガバイトに相当する｡
4ギガバイトのRAMは､
現代のシステムでは決して多くはないからだ｡
実際､ 最近では非常に低メモリのシステムとみなされているだろう｡
ほとんどのコンピューターは､ メイン・システム・メモリーとして8ギガバイト､
16ギガバイト､ 32ギガバイト､ あるいは64ギガバイトのRAMを搭載している｡
そして､ そのすべてに対応するためには､
X64プロセッサーを使って64ビット命令セットに移行する必要がある｡
多くの場合､ AMD64またはインテル64というブランド名で呼ばれる｡
しかし､ この2つのプロセッサは､ どちらもX64ベースのアーキテクチャとみなされている｡
さて､ 64ビットと32ビットの比較でもうひとつ覚えておくべき重要なことは､
32ビット・システムは32ビット・プログラムしか実行できないが､ 64ビット・プロセッサーは完全な後方互換性があるため､
64ビット・プログラムも32ビット・プログラムも実行できるという事実だ｡
というのも､
X64ベースのプロセッサーはPC市場で多用されており､
ウィンドウズやその亜種で広くサポートされているからだ｡
さて､ 3つ目のタイプのプロセッサーは､
ARMプロセッサーと呼ばれるものだ｡
ARMはアドバンスドRISCマシンの略で､
RISCはR-I-S-Cというスペルで､
縮小命令セットコンピュータの頭文字をとったものだ｡
ARMは長い間､ タブレットや携帯電話などの低消費電力デバイスに使われてきた｡
しかし2020年代初頭､ アップルはデスクトップやラップトップ向けにARMチップを採用した新シリーズのプロセッサをリリースすることを決定し､
これらはM1シリーズ､ M1 Pro､
M1 Max､ そして現在はM2シリーズ以降の新シリーズとして知られている｡
ARMでは､
X86やX64ベースのプロセッサーではできない特別なことができるからだ｡
その中で最も重要なのは､
バッテリー寿命の延長だ｡
ARMは､ X64やX86ベースのプロセッサーと同じ計算をするのに必要な発熱量が少ないため､
バッテリーの消費電力を大幅に削減し､ 冷却の手間も省けます｡
そのため､ 最新のノートパソコンだけでなく､ スマートテレビやスマートスピーカーなどのシステムオンチップ構成でも非常に人気がある｡
アップル・デバイスやChromebook､
あるいはアンドロイドの携帯電話やタブレットなど､ ウィンドウズ・ベースではないものを使う場合､
バッテリー寿命が長く､ 消費電力が低いためデバイス内部の発熱が少ないという理由から､ X64やX86ではなくARMベースのプロセッサを使う傾向がある｡
さて､ RISCベースやARMベースのプロセッサーとX64ベースやX86ベースのプロセッサーを比較した場合､
完全な複雑な命令セットではなく､ 縮小された命令セットを扱うことになる｡
しかし､ そうではない｡
RISCベースのシステムを使用している場合､
RISCシステムはより少ない命令数で同じタスクをこなせるが､ その分コードに頼る部分が多くなる｡
これにより､ RISC内部の各コードは､ より少ないコードでより多くのことができるようになり､
消費電力が減り､ バッテリー寿命が長くなる｡
コンピュータの進化が進むにつれて､
RISCやARMベースのプロセッサは､ デスクトップやラップトップを含むさまざまなシステムで普及していくでしょう｡
ARMベースのプロセッサーをサポートするウィンドウズ11の提供も始まっている｡
ARMがベータ版から一般生産に移行すれば､ アップル・システムにARMを使うだけでなく､
より多くのデスクトップやラップトップがARMを使うようになるだろう｡