|
NetBurstマイクロアーキテクチャ(ネットバースト・マイクロアーキテクチャ、NetBurst Microarchitecture)は、インテルの8世代目のx86系として開発されたCPUの基本設計である。 命令解釈を行うフロントエンドと命令処理を行うバックエンドとを完全に分離することでCPUの機能拡張への対応や高クロック化が容易になるよう設計され、2000年のPentium 4で初めて採用された。しかしプロセスの微細化に伴い、高消費電力と高発熱という問題が深刻化し、2006年以降、これらの問題を改善したCoreマイクロアーキテクチャに置き換えられ2007年に生産を終了した。 == 概要 == 2000年、インテルは1995年のPentium Pro以来続いてきたP6マイクロアーキテクチャを大幅に変更したNetBurstマイクロアーキテクチャを採用した。従来から用いられてきたP5やP6という没個性的な呼称を踏襲せずNetBurst(ネットバースト)と命名されたことは、Pentium 4で実装したSSE2命令などによってストリーミング・ビデオなどのインターネット利用シーンでパフォーマンスを発揮する、新たなマイクロアーキテクチャの誕生をユーザに印象づけるために行われたと推定される。 NetBurstマイクロアーキテクチャは、極端に小さいL1キャッシュ、比較的大きなL2キャッシュ、帯域の広いFSBなど、他社を含め従来のプロセッサのそれとは大きく異なる点を多数備えている。 L1キャッシュはデータと命令とを分離して格納するが、命令は命令解釈(デコード)され、より細かな操作の集まりであるμOPsに変換された状態でL1キャッシュに格納される。この命令を格納するL1キャッシュをトレース・キャッシュと呼ぶ。デコーダは、NetBurstマイクロアーキテクチャの柔軟性と拡張性の核となっている所でもありマイクロコードで機能変更や拡張を行うことが可能である。この柔軟性・拡張性を活かすことで比較的短い開発期間でHTTやSSE3やIntel 64やIntel VT等を追加した。このデコーダは、同時に1命令までのx86命令をμOPsに変換が可能であるが、P6マイクロアーキテクチャが同時に3命令まで変換可能だったのと比べると劣る。しかし、命令実行時にトレース・キャッシュに目的の命令が格納されていれば命令実行時間のおよそ1/3を占めるデコードを省くことが可能となる。 Pentium 4は命令実行を行うパイプライン段数が同社のPentium IIIやAMD社のAthlonに比べて大きく増加している。Pentium III が 10段であったのに対し、Pentium 4 では 20段(Prescottでは 31段)にも達し、Pentium 4 において命令実行パイプラインより分離された命令解釈(デコード)ステージを含めると更に段数は増える。パイプライン段数の増加は動作クロック周波数を向上させやすいというメリットがあるが、条件分岐命令の予測ミスによりパイプラインがストールしてしまいCPUの動作密度が低下するというデメリットも伴う。そのため、NetBurstマイクロアーキテクチャはクロックあたりの処理性能が従来のアーキテクチャ(P6やAMD-K7など)と比較して劣る。 しかし、従来の条件分岐を多用するプログラムは現状より大幅な向上は求められておらず、それに代わって「ストリーミングSIMD拡張命令2 (SSE2) 」など新たに実装した命令を用いることで動作クロックに比例して処理能力が向上するアプリケーションが主流になるとの予想に基づいてNetBurstマイクロアーキテクチャは開発されている。比較的苦手な条件分岐処理においても動作クロックの向上によって性能の向上が期待できる。また、ALUのうち2個はクロック周波数の2倍で動作する等、演算能力の強化が図られている。 そして次世代あるいは次々世代Pentium 4で実装されると一般に考えられていた「ハイパースレッディング・テクノロジー (HTT)」もNetBurstマイクロアーキテクチャの柔軟な構造を活用し、第一世代のWillametteでは使用できない状態で販売されていたものの完成されていたと見られる。HTTはCPU動作密度の低下を補い、CPU全体としての演算能力を向上させるためのものである。また後に、SSE3命令も追加される。 NetBurstマイクロアーキテクチャを採用したPentium 4は、その性格上必然的に動作クロック周波数が増加した。動作クロック=CPUの性能、そのCPUを搭載したコンピューターの性能だと大きく誤解している消費者に対し高性能という印象を与えることもあった。しかし「高クロック=高性能」とは一概に言えないことから、発熱や消費電力を増大させる高クロックの弊害が顕著になり、不満が漏れる事となる。 なお誤解される事が多いが、NetBurstアーキテクチャ向けにコンパイルされたアプリケーションに関しては、P6アーキテクチャ向けのアプリケーションで同様な処理を行うよりも高速ではある(特に、SSE命令を多用する場合)。 ただし、NetBurstアーキテクチャが登場した当初は、当然ながら、従来のP6アーキテクチャ向けにコンパイルされたアプリケーションが大半であった。 これらP6アーキテクチャ向けのアプリケーションを、NetBurstアーキテクチャで実行した際の実効性能は、同一クロックのP6プロセッサをほぼ下回っており、これが後々まで、NetBurstアーキテクチャの実行効率の悪さの印象として固定化された。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「NetBurstマイクロアーキテクチャ」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 NetBurst (microarchitecture) 」があります。 スポンサード リンク
|