CPU設計CPU設計の記事では、コンピュータのプロセッサの設計(デザイン)[1]について解説する。 概要以下のような要素(一例)がある。
高性能だが高価格でよいプロセッサでは、動作周波数、消費電力、チップ面積の目標を達成するため、これら全てを独自に設計する必要が生じる場合もある。 低価格を求められるプロセッサでは、以下のようにして実装負担を減らす場合がある。
いずれにせよ、適切な取捨選択を行い、必要な性能や仕様(「仕様」には性能外の要素も含まれる)、高い性能対価格比、等を達成した設計を、期日までに完了して製造・生産に向け送り出し、最終製品をそれが必要なタイミングでリリースさせること、が最終目標である。 ブロセッサの制御方式には以下がある(実際には綺麗に二分できるものではない)。 論理回路をハードウェアとして実装するには、以下のようなテクノロジがある。
一般に以下のような作業(一例)がある。
多くの複雑な論理回路の設計と同様、論理の検証(設計にバグが含まれていないことの証明)がスケジュール上、重要な位置を占めている。 歴史上、アーキテクチャに関する重要な概念や用語を挙げると、キャッシュメモリ、仮想記憶、パイプライン、スーパースケーラ、CISC、RISC、仮想機械、エミュレータ、マイクロプログラム方式、スタックなどがある。 目標設計の際に目標とするものとしては、以下のようなものがある。
基本的な再設計を無しとしたまま、製造プロセスの更新と単にパターンを縮小(シュリンク)するのみで、これらの目標のいくつかを達成できる場合もある。
性能分析とベンチマーク初期のコンピュータの時代は、加算に何マイクロ秒、乗算に何マイクロ秒、除算に何マイクロ秒、といったように、1命令を発行してから完了するまでの時間を性能の目安としていた。しかし、オペコードやオペランドをメモリから読み書きする時間やその待ち時間なども考慮されるべきであることから、各命令を毎秒何回というようにして評価されるようになり、これはMIPS値に代表される「毎秒何回、何かを実行できる」というタイプの指標の発祥とも言える。続いて、実際のプログラムで実行されている命令の種別の比率に応じて、その速度が合計(ミックス)されるべきだという発想から、何々ミックスという名前の指標が生まれた。最も有名なものはギブソンミックスであろう。現代でも各種試験などで用語問題に出されることがあるようだが、1972年に石田晴久が D. H. Gibson に問い合わせた結果を紹介した記事「ギブソン・ミックスの起源について」[2]中に紹介されている提案者 Jack Clark Gibson の言に「今日,どういう理由か分らないが,すでに時代遅れと思われるこの方法」とある通り、1972年の時点で既に「時代遅れ」であった概念である。そして結局、何らかのプログラムを走らせて測定するのが最も良い指標なのではないかということで、ベンチマークプログラムを利用した計測が行われるようになった。 箴言として「信頼できるベンチマークが欲しいなら、あなたが実際に使いたいアプリケーションソフトウェアそのものを実行することだ」などと言われたり、ジャーゴンファイルのbenchmarkの項[3]には“In the computer industry, there are three kinds of lies: lies, damn lies, and benchmarks.”などとあったりするように、各種のベンチマークプログラムは絶対的にあてにできるものではない。しかし、定量的な比較のためにはベンチマークプログラムしか方法がないのも確かであり、より良い(何を良いとするかという観点は主観的だが)あるいは、各種の目的に応じたベンチマークが提案されている。 以下にだいたい時代順で、主要なベンチマークの名前を挙げ、一部は解説を付ける。詳細は記事のあるものは各記事を参照のこと。
他に、以下のような評価の観点(一例)がある。
これらの一部は共存できない。特にとにかく高速に動作することを目標として設計したCPUでは、「1ワット当たりの性能」や「1円当たりの性能」や「応答時間の保証」などは良くない(逆も同様)。 市場(マイクロ)プロセッサの市場はいくつかある。それぞれの市場がプロセッサに求めるものは異なるため、ある市場向けに設計したプロセッサは、他の市場には不適当なことが多い。 汎用コンピューティングマイクロプロセッサの収益の大部分は、汎用コンピューティング向けの販売から得られている(あるいは過去形で、得られていた)。すなわち、ビジネスや家庭で使用するパーソナルコンピュータやサーバである。この市場は、インテルのIA-32アーキテクチャの寡占状態にあり、PowerPCやSPARCがだいぶ引き離されてそれに続いている。毎年、数億個のIA-32アーキテクチャのCPUがこの市場向けに販売されている。その数よりも(数だけで言えば組込み用途も大きい)高付加価値にともなう利幅の大きな市場という点が重要だった。 ハイエンドプロセッサの経済新たなハイエンドCPUの開発には、多大なコストを要する。論理的複雑性(論理設計および論理検証に大人数が必要であり、シミュレーションにも多数のコンピュータを利用する)と高い動作周波数(大規模な回路設計チームを必要とし、最新の製造プロセスを利用する必要がある)によって、この種のチップの設計は高くつくことになる。ハイエンドCPUの設計コストは1億ドルのオーダーになる。ハイエンドCPUの設計には約5年を要するため、他社との競争力を維持するには最低でも2つの開発チームを並行して運営する必要がある。これはPC向けよりも高性能なレンジであったワークステーション向けプロセッサの市場のほうが参考になるかもしれない。出荷数で見れば少ないが、より利幅の大きい市場としてワークステーション向けプロセッサの市場は存在していた(そして、最終的には消滅した)。 例えば、アメリカでのコンピュータ技術者1人を雇用するのにかかるコストは一年で25万ドルと言われている。これには、給料だけでなく、各種手当て、CADツール、コンピュータ、オフィススペースの賃貸料などが含まれる。100人の技術者でCPUを設計し、4年かかるとすると、総コストは1億ドルになる。これは単なる一例である。実際の設計チームは最近では数百人と言われている。 2004年現在、最新技術を使った汎用コンピューティング向けCPUを設計しているのは、4社だけになっている(インテル、AMD、IBM、富士通)[要出典]。モトローラは、金食い虫と化していた半導体部門をフリースケール・セミコンダクタとしてスピンオフさせた。他社からCPU設計を請け負っている企業として、GLOBALFOUNDRIES、テキサス・インスツルメンツ、TSMC、東芝がある。 科学技術計算→詳細は「スーパーコンピュータ」を参照
金額的にも出荷台数的にも小さい科学技術計算市場は、研究機関や大学が顧客である。かつてはこの市場向けにCPU設計が盛んに行われていたが、より大きな市場向けに設計したCPUを流用した方が効率的であることから、専用CPUの設計はほとんどなされなくなった。ハードウェア設計や研究が続いている分野としては、高速なシステム間接続に関する分野がある。 組み込み向け設計→詳細は「マイクロコントローラ」を参照
出荷台数ベースで言えば、マイクロプロセッサのほとんどは各種機械(電話機、時計、航空機、自動車、その他)に組み込まれている。いわゆるマイクロコントローラとかワンチップマイコンとも呼ばれる製品群である。汎用プロセッサよりずっと低価格だが、毎年数十億個が販売されている。 汎用プロセッサとの違いは、以下のような点である。
ソフトプロセッサ→「ソフトプロセッサ」を参照
注
関連項目参考文献
|