プロセッサ設計は、コンピュータハードウェアの主要コンポーネントであるプロセッサの作成を扱うコンピュータ工学および電子工学のサブ分野です。歴史的には中央処理装置(CPU)に重点が置かれていましたが、現代の設計では、CPU、グラフィックス処理装置(GPU)、ニューラル処理装置(NPU)[ 2 ]などの複数の処理装置を単一のダイまたはチップレットのセットに統合するシステムオンチップ(SoC)アーキテクチャ[ 1 ]が用いられることが多くなっています。[ 3 ] [ 4 ]
設計プロセスでは、命令セットと特定の実行パラダイム(例えばVLIWやRISC)を選択し、マイクロアーキテクチャを作成します。このマイクロアーキテクチャは、例えばVHDLやVerilogで記述されます。マイクロプロセッサの設計においては、この記述に基づいて様々な半導体デバイス製造プロセスを用いてダイが製造され、チップキャリアに接合されます。このチップキャリアは、プリント基板(PCB)にはんだ付けされるか、ソケットに挿入されます。
プロセッサの動作モードは、命令リストの実行です。命令には通常、レジスタを使用してデータ値を計算または操作する命令、読み書き可能なメモリ内の値を変更または取得する命令、データ値間の関係テストを実行する命令、およびプログラムの流れを制御する命令が含まれます。
プロセッサの設計は、半導体製造のためにファウンドリに送られる前に、1つまたは複数のFPGAでテストおよび検証されることが多い。[ 5 ]
情報はデータパス( ALUやパイプラインなど)を介して転送されます。これらのデータパスは、制御ユニットによってロジックを介して制御されます。メモリコンポーネントには、情報や特定のアクションを保持するためのレジスタファイルとキャッシュが含まれます。クロック回路は、クロックドライバ、 PLL、クロック分配ネットワークを介して内部のリズムとタイミングを維持します。パッドトランシーバ回路は信号の送受信を可能にし、ロジックを実装するために使用されるロジックゲートセルライブラリがあります。ロジックゲートは、プロセッサのコンポーネントのほとんどを実装するために使用されるため、プロセッサ設計の基礎となります。[ 6 ]
高性能市場向けに設計された CPU は、周波数、消費電力、チップ面積の目標を達成するために、これらの各項目についてカスタム (最適化またはアプリケーション固有 (下記参照)) 設計が必要になる場合がありますが、低性能市場向けに設計された CPU は、これらの項目の一部を知的財産として購入することで実装の負担を軽減できます。制御ロジック実装技術 ( CADツールを使用したロジック合成) を使用して、データパス、レジスタ ファイル、クロックを実装できます。CPU 設計で使用される一般的なロジック スタイルには、非構造化ランダム ロジック、有限状態マシン、マイクロ プログラミング(1965 年から 1985 年まで一般的)、プログラマブル ロジック アレイ(1980 年代に一般的でしたが、現在は一般的ではありません) などがあります。
現代のプロセッサ設計は、汎用コアに加えて専用アクセラレータを統合するヘテロジニアスコンピューティングにますます依存するようになっている。最も注目すべき追加機能は、機械学習の数学(行列乗算)を標準のCPUよりも効率的に実行するように特別に設計されたニューラル処理ユニット(NPU)である。この特化により、AIワークロードのワットあたりのパフォーマンスが大幅に向上する。[ 7 ] [ 4 ]
CPUロジックを実装するために使用されるデバイス技術は、時間の経過とともに変化してきました。初期の実装では、個々のリレー、真空管、ディスクリート部品(トランジスタとダイオード)が使用され、その後、小規模集積回路( SLI )のTTLチップが使用されるようになりましたが、これらは現在ではCPUには使用されていません。プログラマブルアレイロジックやその他のプログラマブルロジックデバイスも、この役割のCPUには使用されなくなり、ECLゲートアレイは現在では一般的ではありません。CMOSゲートアレイはもはやCPUには使用されていませんが、CMOS量産集積回路がCPUの大部分を占めています。カスタムCMOS ASICは、エンジニアリングコストが高いため、一般的には大量生産アプリケーションでのみ実用的です。フィールドプログラマブルゲートアレイ(FPGA)は、ソフトマイクロプロセッサでは依然として一般的であり、再構成可能なコンピューティングによく使用されます。
CPU設計プロジェクトには、一般的に以下の主要なタスクが含まれます。
CPUコアをより小さなダイ面積に再設計することで、あらゆる部品の小型化(いわゆる「フォトマスク縮小」)が実現し、より小さなダイ上に同じ数のトランジスタを搭載することが可能になります。これにより、パフォーマンスの向上(トランジスタが小さくなるためスイッチング速度が速くなる)、消費電力の削減(配線が細くなるため寄生容量が小さくなる)、コスト削減(同じシリコンウェハ上に搭載できるCPUの数が増える)といったメリットが得られます。同じサイズのダイ上にCPUコアを小型化したCPUをリリースすることで、コストはほぼ一定に保たれつつ、1つの超大規模集積回路(VLSI)内に高レベルの集積化(追加キャッシュ、複数のCPU、その他のコンポーネントなど)が可能になり、パフォーマンスの向上とシステム全体のコスト削減につながります。
ほとんどの複雑な電子設計と同様に、 CPUの開発においても、論理検証(設計にバグがないことを証明する作業)がプロジェクトスケジュールの大部分を占めるようになっている。
CPU アーキテクチャの主要な革新には、アキュムレータ、インデックスレジスタ、汎用レジスタ、キャッシュ、仮想メモリ、命令パイプライン処理、スーパースカラ、CISC、RISC、仮想マシン、エミュレータ、マイクロプログラム、スタックなどがあります。
再構成可能なロジック、クロックレスCPU、演算RAM、光コンピューティングなど、さまざまな新しいCPU設計のアイデアが提案されている。
ベンチマークとは、CPUの速度をテストする方法の一つです。例としては、 Standard Performance Evaluation Corporationが開発したSPECintやSPECfp 、 Embedded Microprocessor Benchmark Consortium (EEMBC)が開発したConsumerMarkなどがあります。
一般的に使用される指標には以下のようなものがあります。
これらの指標を最適化する際には、トレードオフが生じる可能性があります。特に、CPUの動作速度を向上させる多くの設計手法は、「ワットあたりの性能」、「ドルあたりの性能」、「決定論的応答」を著しく悪化させ、その逆もまた然りです。
CPUが使用される市場は複数存在する。これらの市場はそれぞれCPUに対する要求が異なるため、ある市場向けに設計されたデバイスは、ほとんどの場合、他の市場には適さない。
汎用コンピューティング市場(デスクトップ、ラップトップ、サーバーコンピュータ)では、x86-64命令セットアーキテクチャを実装したプロセッサが依然として広く使用されており、IntelとAMDが主要サプライヤーとなっています。Mercury Researchは、x86 CPU市場において、Intelが2025年第3四半期の出荷台数の74.4%、AMDが25.6%を占めると推定しています。[ 10 ] Armベースのプロセッサはスマートフォンで主流となっており、一部のPCやサーバーでも使用されています。ABI Researchは、ArmベースのPCが2025年のPC出荷台数全体の約13%を占めると予測しており、IDCは、Armアーキテクチャのサーバーが2025年のサーバー出荷台数全体の21.1%を占めると推定しています。[ 11 ] RISC-Vも組み込みシステムで採用が拡大しており、一部のベンダーは自動車アプリケーション向けにRISC-Vベースのマイクロコントローラファミリを発表しています。[ 12 ]
これらのデバイスは無数の異なる種類のプログラムを実行するために使用されるため、これらのCPU設計は特定の種類のアプリケーションや機能に特化しているわけではありません。幅広いプログラムを効率的に実行できるという要求により、これらのCPU設計は技術的に高度なものとなっていますが、比較的高価であることや消費電力が高いといった欠点もあります。
科学計算は、収益と出荷台数において、はるかに規模の小さいニッチ市場です。主に政府系研究機関や大学で利用されています。1990年以前は、CPU設計はしばしばこの市場向けに行われていましたが、大規模クラスタに構成されたマスマーケット向けCPUの方が、より手頃な価格であることが証明されました。科学計算におけるハードウェア設計と研究の主要分野は、マスマーケット向けCPUを接続するための高速データ伝送システムです。
出荷台数で見ると、ほとんどのCPUは電話、時計、家電製品、自動車、インフラなどの他の機器に組み込まれています。しかし、組み込みプロセッサは年間数十億台もの規模で販売されており、その価格帯は汎用プロセッサよりもはるかに低い場合がほとんどです。
これらの単機能デバイスは、より一般的な汎用CPUとはいくつかの点で異なります。
総出荷台数が最も多い組み込みCPUファミリーは8051で、年間平均で約10億台です。[ 13 ] 8051は非常に安価であるため広く使用されています。商用知的財産として広く利用可能であるため、設計時間は現在ほぼゼロです。現在では、より大きなシステムオンチップの小さな部分として組み込まれることがよくあります。一部の実装ではわずか2,200個のロジックゲートを使用し、0.4730平方ミリメートルのシリコンを使用するため、8051のシリコンコストは現在0.001米ドルまで低くなっています。[ 14 ] [ 15 ]
ARMアーキテクチャは、組み込みプロセッサとモバイルプロセッサの出荷において世界的に圧倒的なシェアを占めています。2024年現在、ARMベースのプロセッサは、スマートフォン、IoTデバイス、マイクロコントローラでの普及により、年間出荷されるプロセッサユニットの大部分を占めています。オリジナルのARMアーキテクチャと最初のARMチップは、約1年半で設計され、5人年分の労力が費やされました。[ 16 ]
32ビットのParallax Propellerマイクロコントローラアーキテクチャと最初のチップは、約10人年の作業時間で2人の人物によって設計された。[ 17 ]
8ビットAVRアーキテクチャと最初のAVRマイクロコントローラは、ノルウェー工科大学の2人の学生によって考案・設計された。
8ビット6502アーキテクチャと最初のMOSテクノロジー6502チップは、約9人のグループによって13ヶ月で設計された。[ 18 ]
32ビットのBerkeley RISC IおよびRISC IIプロセッサは、主に4学期にわたる大学院の授業の一環として、一連の学生によって設計されました。[ 19 ]この設計は、商用SPARCプロセッサの設計 の基礎となりました。
約10年間、MITの6.004クラスを受講する学生は全員チームに所属し、各チームは1学期かけて7400シリーズの集積回路からシンプルな8ビットCPUを設計・構築した。ある4人組のチームは、その学期中にシンプルな32ビットCPUを設計・構築した。[ 20 ]
学部課程の中には、2~5人の学生からなるチームが、15週間の学期中にFPGA上でシンプルなCPUを設計、実装、テストすることを義務付けているものもある。[ 21 ]
MultiTitan CPUは2.5人年の労力をかけて設計されましたが、当時としては「比較的少ない設計労力」と考えられていました。[ 22 ] 3.5年にわたるMultiTitan研究プロジェクトには24人が参加し、プロトタイプCPUの設計と構築を行いました。[ 23 ]
組み込みシステムにおいては、消費電力の制約から、最高レベルの性能は必ずしも必要とされない、あるいは望まれないことが多い。そのため、論理合成技術によって完全に実装可能なプロセッサを用いることができる。こうした合成プロセッサは、はるかに短い時間で実装できるため、市場投入までの時間を短縮できる。