Pics Chip のオタクたちが、Apple iPhone から Raspberry Pi、カメラ、ルーター、Android タブレットまで、今日何十億ものガジェットを動かしているプロセッサ コアの祖である ARM1 のインタラクティブな設計図を作成しました。
魅力的なブログ visual6502.org の制作者たちは、通常、プラスチックのパッケージからシリコンを取り出し、超高解像度の画像システムを使用して回路の写真を撮り、半導体ゲート構造を丹念に分析した後で電子部品を視覚化することで、チップのリバース エンジニアリングを行っています。ここでは、BBC Micro、Commodore 64、Nintendo Entertainment System、Apple IIe、その他多くのコンピューターの 6502 CPU を紹介します。
ARM1の場合、英国のチップ設計会社ARMの創立25周年を記念して、チームは32ビットRISCプロセッサコアのオリジナル設計を入手し、ウェブ向けに視覚化しました。ブラウザ上で命令をシングルステップ実行(つまり高速実行)し、コードとデータが回路をクロックしながらARM1のトランジスタゲートがどのように動作するかを確認できます。また、設計図を拡大・縮小したり、レイアウトを自由に移動してコアのサブシステムを探索したりすることも可能です。
ARM1は英国のエンジニアリングにおける画期的な出来事でした。1983年後半、英国ケンブリッジのAcorn Computersに所属する2人のエンジニア、スティーブ・ファーバーとソフィー・ウィルソンは、アメリカのチップ設計者を視察し、プロセッサ設計は当初想像していたほど難しくないと判断しました。そこで彼らは、将来のAcornマイクロコンピュータを支える32ビットRISCマイクロプロセッサの設計に着手し、BBC BASICの命令セットをモデル化しました。
約18ヶ月後、彼らはARM1を開発しました。これは、VLSIテクノロジー社が3,000nm(3μm)プロセスを用いて製造した、小型で低消費電力、高効率のCPUです。現在、GPUを内蔵したクアッドコアのIntel Skylake Core i7プロセッサは、14nmプロセスを用いて13億5,000万個のトランジスタを搭載しています。
YouTube動画
ARM1は実質的にプロトタイプであり、その後すぐにARM2が登場し、Acorn社のArchimedesファミリーコンピュータの立ち上げに使用されました。ARM2はARM1とほぼ同じ命令セットを備えていましたが、新しい乗算命令と(後に)アトミックスワップ命令が追加されました。次に登場したARM3は、データキャッシュと命令キャッシュを統合し、まるで熱いナイフからバターが滑るようにプログラムがスムーズに動作するようになりました。
その後、ARM6(ARMv3チップ)へと進化し、アーキテクチャが完全な32ビットアドレス空間へと移行しました。そして、その後の展開は周知の通りです。現在、Cortex-Aコアに搭載されたARMv7およびARMv8アーキテクチャは、世界中のスマートフォン、タブレット、その他のデバイスを支えています。Cortex-Mコアはマイクロコントローラとして、Cortex-Rコアはハードドライブコントローラなどのリアルタイムシステムで使用されています。
多かれ少なかれ、32 ビット RISC ARM 命令セットは 1980 年代半ばからあまり変わっていません。ARM はハンドヘルドや小型の組み込み機器向けに Thumb と呼ばれるよりコンパクトな命令セットを導入し、2011 年に開始された 64 ビット ARMv8 命令セットは MIPS64 に似ています。
32ビット命令セットの非常に優れた点の一つは、条件付き実行が広く普及していることです。これにより、コードの分岐を回避できます。例えば、次の命令シーケンスは、r0
レジスタの値が0以下の場合は0にリセットし、0より大きい場合は1に強制的に設定しています。
CMP r0, #0 ; if (r0 <= 0) MOVLE r0, #0 ; r0 = 0; MOVGT r0, #1 ; else r0 = 1
比較 ( ) の後の条件付き移動 (MOVLE
および) がなければ、比較後に分岐する必要があり、無駄になります。MOVGT
CMP
ダイ・ハード…ARM1 のシリコンの全栄光 (クレジット: Visual6502.org)
ARMは1990年にAcornからスピンオフしましたが、Acornは1990年代後半に破綻しました。現在、ARMは年間2億5,000万ポンドの売上を誇る企業であり、3,300人の従業員を擁し、世界中のチップメーカーにプロセッサコア設計のライセンスを提供しています。ARM向けに開発された最初の正式なオペレーティングシステムであるAcornのRISC OSは、最新の32ビットARMコアを搭載し、コミュニティ運営のプロジェクトとして現在も稼働しています。
クローズアップ...ARM1の半導体レイアウト
Visual6502.org チームは、視覚化された ARM1 について次のように述べています。
ARM社設立以前にソフィー・ウィルソンとスティーブ・ファーバーによって設計されたAcorn RISCマシンは、今日の携帯電話やタブレットに搭載されているプロセッサシリーズの最初の製品でした。顕微鏡画像をベースにした私たちのプロジェクトとは異なり、Visual ARMは、ARMとのライセンス契約に基づいて復活した.cifチップレイアウトファイルから作成されました。また、数少ないARM1チップの1つを非常に高解像度で撮影し、その写真はケンブリッジのコンピューティング史センターに展示されています。
プロジェクトの着想、テープの発見、そして使用可能な.cifファイルの復元に尽力したARM創業エンジニアのジョン・ビッグス氏、ファイルのエンコードに使用された可変長レコード形式(Acorn社のVAX上のVMSの遺物で、当初はファイルの広範囲にわたる破損と思われた)を発見したリー・スミス氏、エクサバイトテープの読み取りに尽力したケンブリッジ大学コンピューティングサービス、そしてVLSI CIF方言の解明に尽力したARM創業者のデイブ・ハワード氏に感謝の意を表します。チップシミュレーションと可視化は、バリー・シルバーマン氏、ブライアン・シルバーマン氏、エド・スピトルズ氏、グレッグ・ジェームズ氏によって開発されました。
オプションの評価...BBC MicroコプロセッサとしてのプロトタイプARM1(出典)
ソフィー・ウィルソンとスティーブ・ファーバーのAcorn、ARM、そして世界中のコンピューティングへの貢献については、こちらとこちらをご覧ください。現在、ファーバーはICLコンピュータ工学教授としてニューラルシステムの研究に携わっており、ウィルソンはBroadcomのトップエンジニアです。®
ファーバー教授とのビデオインタビューを提供してくれたComputerphileに感謝します。