Intel Core マイクロアーキテクチャ(暫定的に次世代マイクロアーキテクチャ[ 1 ]と呼ばれ、Meromとして開発されました) [ 2 ]は、2006 年半ばにIntelが発表したマルチコアプロセッサのマイクロアーキテクチャです。これは、1995 年にPentium Proで始まったP6 マイクロアーキテクチャシリーズの以前のバージョンであるEnhanced Pentium Mの刷新された後継です。また、高クロックレート用に設計された非効率なパイプラインのために高消費電力と高熱に悩まされていたNetBurstマイクロアーキテクチャも置き換えました。2004 年初頭、Prescott は競争力のあるパフォーマンスに必要なクロックに到達するために非常に高い電力を必要とし、デュアル/マルチコアCPUへの移行には不向きでした。2004 年 5 月 7 日、Intel は、次の NetBurst、 Tejas、および Jayhawkのキャンセルを確認しました。[ 3 ] Intel は2001 年以来、Pentium Mの 64 ビット版である Merom を開発しており、[ 2 ]デスクトップ コンピュータやサーバーで NetBurst に取って代わり、すべての市場セグメントに展開することを決定しました。Pentium M から短く効率的なパイプラインの選択を受け継ぎ、NetBurst の高いクロックには達しないものの、優れたパフォーマンスを実現しました。[ a ]
このアーキテクチャを採用した最初のプロセッサは、「Merom」、「Conroe」、「Woodcrest」というコードネームで呼ばれていました。Meromはモバイルコンピューティング向け、Conroeはデスクトップシステム向け、Woodcrestはサーバーおよびワークステーション向けです。アーキテクチャは同一ですが、これら3つのプロセッサラインは、使用されているソケット、バス速度、消費電力が異なります。最初のCoreベースのデスクトップおよびモバイルプロセッサはCore 2というブランド名で販売され、後にローエンドのPentium Dual-Core、Pentium、Celeronブランドへと展開しました。一方、サーバーおよびワークステーション向けのCoreベースのプロセッサはXeonというブランド名で販売されました。
Coreマイクロアーキテクチャは、 Pentium 4およびDブランドのCPUの以前のNetBurstマイクロアーキテクチャと比較して、より低いクロックレートに戻り、利用可能なクロックサイクルと電力の両方の使用を改善しました。 [ 4 ] Coreマイクロアーキテクチャは、より効率的なデコードステージ、実行ユニット、キャッシュ、およびバスを提供し、 Core 2ブランドのCPUの消費電力を削減しながら処理能力を向上させています。IntelのCPUは、CPUの消費電力表に示すように、クロックレート、アーキテクチャ、および半導体プロセスに応じて消費電力が大きく異なります。
前回のNetBurst CPUと同様に、Coreベースのプロセッサはマルチコアとハードウェア仮想化(Intel VT-xとして販売)をサポートし、Intel 64とSSSE3に対応しています。ただし、CoreベースのプロセッサはPentium 4プロセッサのようなハイパースレッディング技術は搭載していません。
CoreマイクロアーキテクチャのL1キャッシュは、64KB ( L1データ32KB+ L1命令32KB)で、Pentium Mと同規模であり、 Pentium II / IIIの32KB( L1データ16KB+ L1命令16KB)から増加しています。また、コンシューマー版には、Pentium 4 Extreme EditionのGallatinコアに搭載されているL3キャッシュは搭載されていませんが、CoreベースのXeonのハイエンド版には搭載されています。
後継のNehalemマイクロアーキテクチャを採用したプロセッサはハイパースレッディングに対応しており、民生用製品にも再びL3キャッシュが搭載されている。

Coreマイクロアーキテクチャは、主要なアーキテクチャ改訂ですが、Intel Israelが設計したPentium Mプロセッサファミリーを部分的にベースにしています。 [ 5 ] Core/ Penrynのパイプラインは14ステージの長さで[ 6 ] 、 Prescottの半分以下です。Penrynの後継であるNehalemは、Core/Penrynよりも分岐予測ミスによるペナルティが2サイクル高くなっています。[ 7 ] [ 8 ] Coreは、 P6、Pentium M、NetBurstマイクロアーキテクチャの3 IPC機能と比較して、理想的には1サイクルあたり最大4命令(IPC)の実行速度を維持できます。新しいアーキテクチャは、ワットあたりの最大パフォーマンスと拡張性の向上を目指して設計された共有L2キャッシュを備えたデュアルコア設計です。
この設計に含まれる新しい技術の一つに、マクロオペレーション融合(Macro-Ops Fusion)があります。これは、2つのx86命令を1つのマイクロオペレーションに統合する技術です。例えば、比較命令に続いて条件分岐命令を実行するような一般的なコードシーケンスは、1つのマイクロオペレーションになります。ただし、この技術は64ビットモードでは動作しません。
Core は、未知のアドレスを持つ先行するストアよりも先にロードを投機的に実行できます。[ 9 ]
その他の新技術としては、128ビットSSE命令すべてを1サイクル(従来は2サイクル)で処理できるようになったこと、そして新しい省電力設計が挙げられます。すべてのコンポーネントは最低速度で動作し、必要に応じて動的に速度を上げます(AMDのCool'n'Quiet省電力技術や、以前のモバイルプロセッサに搭載されていたIntel独自のSpeedStep技術と同様)。これにより、チップの発熱量を抑え、消費電力を最小限に抑えることができます。
ほとんどの Woodcrest CPU では、フロントサイドバス(FSB) は 1333 MT/sで動作しますが、これは ローエンドの 1.60 GHz および 1.86 GHz バリアントでは 1066 MT/s に縮小されます。[ 10 ] [ 11 ] Merom モバイルバリアントは当初、FSB が 667 MT/s で動作することを目標としていましたが、800 MT/s FSB をサポートする第 2 波の Merom は 、2007 年 5 月に異なるソケットを備えた Santa Rosa プラットフォームの一部としてリリースされました。デスクトップ向けの Conroe は、FSB が 800 MT/s または 1066 MT/s のモデルから始まり、1333 MT/s ラインが 2007 年 7 月 22 日に正式に発売されました。
これらのプロセッサの消費電力は非常に低く、超低電圧版では平均消費電力は1~2ワット程度で、熱設計電力(TDP)はConroeとほとんどのWoodcrestで65ワット、3.0GHz Woodcrestで80ワット、低電圧版Woodcrestで40または35ワットとなっています。比較すると、2.2GHz のAMD Opteron 875HEプロセッサは55ワットを消費し、エネルギー効率の高いSocket AM2シリーズは35ワットの熱設計電力に収まります(仕様が異なるため直接比較はできません)。モバイル版のMeromは、標準版で35ワットのTDP、超低電圧(ULV)版で5ワットのTDPとなっています。
以前、インテルは今後は純粋な性能よりも電力効率に注力すると発表していた。しかし、 2006年春のインテル・デベロッパー・フォーラム(IDF)では、インテルは性能と電力効率の両方をアピールした。約束された数値の一部は以下のとおりである。
Coreマイクロアーキテクチャのプロセッサは、コア数、キャッシュサイズ、ソケットによって分類できます。これらの組み合わせごとに、複数のブランドで使用される固有のコード名と製品コードがあります。たとえば、製品コード80557のコード名「Allendale」は、2つのコア、2MBのL2キャッシュを持ち、デスクトップソケット775を使用しますが、Celeron、Pentium、Core 2、Xeonとして販売されており、それぞれ異なる機能セットが有効になっています。モバイルおよびデスクトッププロセッサのほとんどは、L2キャッシュのサイズが異なる2つのバリアントで提供されますが、製品内の特定のL2キャッシュの量は、製造時に部品を無効にすることによって減らすこともできます。Tigertonデュアルコアと、-を除くすべてのクアッドコアプロセッサは、2つのダイを組み合わせたマルチチップモジュールです。65nm プロセッサの場合、同じ製品コードが異なるダイを持つプロセッサで共有されることがあります。どのダイが使用されているかの具体的な情報は、ステッピングから取得できます。
オリジナルのCore 2プロセッサは、 CPUID Family 6 Model 15として識別できる同じダイをベースにしています。構成とパッケージによって、コードネームはConroe(LGA 775、4MB L2キャッシュ)、Allendale(LGA 775、2MB L2キャッシュ)、Merom(Socket M、4MB L2キャッシュ)、Kentsfield(マルチチップモジュール、LGA 775、2x4MB L2キャッシュ)となっています。MeromとAllendaleプロセッサは、機能が制限されており、 Pentium Dual CoreおよびCeleronプロセッサに搭載されています。一方、Conroe、Allendale、KentsfieldはXeonプロセッサとしても販売されています。
このモデルをベースにしたプロセッサの追加コードネームとしては、Woodcrest(LGA 771、4MB L2キャッシュ)、Clovertown(MCM、LGA 771、2×4MB L2キャッシュ)、Tigerton(MCM、Socket 604、2 ×4MB L2キャッシュ)があり、これらはすべてXeonブランドでのみ販売されています。
Conroe-LおよびMerom-Lプロセッサは、ConroeおよびMeromと同じコアをベースにしていますが、コアが1つとL2キャッシュが1MBのみであるため、デュアルコア版と比較して性能は犠牲になりますが、製造コストと消費電力を大幅に削減できます。このプロセッサは、超低電圧版のCore 2 Solo U2xxxおよびCeleronプロセッサでのみ使用され、CPUIDファミリー6モデル22として識別されます。


Intelのティックトックサイクルにおいて、2007/2008年の「ティック」は、CPUIDモデル23としてCoreマイクロアーキテクチャを45ナノメートルに縮小したものでした。Core 2プロセッサでは、Penryn(Socket P)、Wolfdale(LGA 775)、Yorkfield(MCM、LGA 775)というコードネームで使用され、その一部はCeleron、Pentium、Xeonプロセッサとしても販売されています。Xeonブランドでは、Wolfdale-DPとHarpertownというコードネームが、2つまたは4つのアクティブなWolfdaleコアを搭載したLGA 771ベースのMCMに使用されています。
アーキテクチャ的には、45 nm Core 2 プロセッサは SSE4.1 と新しい分割/シャッフル エンジンを備えています。[ 12 ]
このチップには6MBと3MBのL2キャッシュを搭載した2つのサイズがあります。小型バージョンは一般的にそれぞれPenryn-3M、Wolfdale-3M、Yorkfield-6Mと呼ばれています。ここでPenryn-Lと表記されているシングルコアバージョンのPenrynは、Merom-Lのような独立したモデルではなく、アクティブなコアが1つだけのPenryn-3Mモデルのバージョンです。
Xeon 「Dunnington」プロセッサ(CPUIDファミリー6、モデル29)はWolfdaleと密接な関係にあるが、6つのコアとオンチップL3キャッシュを備え、Socket 604を搭載したサーバー向けに設計されているため、Core 2ではなくXeonとしてのみ販売されている。
Coreマイクロアーキテクチャは、複数のステップレベル(ステッピング)を採用しており、これは従来のマイクロアーキテクチャとは異なり、段階的な改良と、キャッシュサイズや低消費電力モードなどの異なる機能セットを表しています。これらのステッピングのほとんどは、複数のブランドで共通して使用されており、通常はローエンドチップで一部の機能を無効化したり、クロック周波数を制限したりすることで実現されています。
キャッシュサイズを縮小したステップでは、別の命名規則が用いられるため、リリースはアルファベット順には並びません。追加されたステップは、社内サンプルやエンジニアリングサンプルで使用されていますが、表には記載されていません。
多くのハイエンドCore 2およびXeonプロセッサは、より大きなキャッシュサイズや2つ以上のコアを実現するために、2つのチップからなるマルチチップモジュールを使用しています。
初期のES/QSステッピングは、B0(CPUID 6F4h)、B1(6F5h)、E0(6F9h)です。
モデル15(CPU ID 06fx)プロセッサのステッピングB2/B3、E1、およびG0は、4MBの L2キャッシュを備えた標準的なMerom/Conroeダイの進化版であり、短命に終わったE1ステッピングはモバイルプロセッサでのみ使用されました。ステッピングL2およびM0は、わずか2MBのL2キャッシュを備えたAllendale チップであり、ローエンドプロセッサの製造コストと消費電力を削減します。
G0およびM0ステッピングは、デスクトッププロセッサにおいてC1E状態のアイドル時の消費電力を改善し、C2E状態を追加します。モバイルプロセッサはすべてC1からC4までのアイドル状態をサポートしており、E1、G0、およびM0ステッピングはSocket P搭載のMobile Intel 965 Express( Santa Rosa)プラットフォームをサポートします。一方、以前のB2およびL2ステッピングは、 Socket MベースのMobile Intel 945 Express(Napa refresh )プラットフォームでのみ利用可能です。
モデル22ステッピングA1(CPUID 10661h)は、設計上の大きな変更点を示しており、シングルコアと1MBの L2キャッシュのみを採用することで、ローエンド向け製品の消費電力と製造コストをさらに削減しています。以前のステッピングと同様に、A1はMobile Intel 965 Expressプラットフォームでは使用されていません。
2008年には、ステッピングG0、M0、A1がほぼすべての古いステッピングを置き換えました。2009年には、新しいステッピングG2が導入され、元のステッピングB2を置き換えました。[ 16 ]
モデル23(cpuid 01067xh)では、Intelはフル(6MB )と縮小(3MB )のL2キャッシュを搭載したステッピングを同時に販売し、同じcpuid値を割り当てました。すべてのステッピングには新しいSSE4.1命令が含まれています。ステッピングC1/M1は、クアッドコアプロセッサ専用のC0/M0のバグ修正バージョンで、クアッドコアプロセッサでのみ使用されました。ステッピングE0/R0は2つの新しい命令(XSAVE/XRSTOR)を追加し、以前のすべてのステッピングを置き換えます。
モバイルプロセッサにおいて、ステッピングC0/M0はIntel Mobile 965 Express(Santa Rosa refresh)プラットフォームでのみ使用され、ステッピングE0/R0は後継のIntel Mobile 4 Express(Montevina)プラットフォームをサポートします。
モデル30ステッピングA1(cpuid 106d1h)は、L3キャッシュと通常の2コアではなく6コアを追加し、その結果、503 mm 2という異常に大きなダイサイズを実現しています。[ 17 ] 2008年2月現在、これは非常にハイエンドのXeon 7400シリーズ(Dunnington)にのみ搭載されています。
Conroe、Conroe XE、AllendaleはいずれもSocket LGA 775を使用していますが、すべてのマザーボードがこれらのプロセッサと互換性があるわけではありません。
対応チップセットは以下のとおりです。
Yorkfield XE モデル QX9770 (45 nm、1600 MT/s FSB) はチップセットの互換性が限られており、X38、P35 (オーバークロック対応)、および一部の高性能 X48 および P45 マザーボードのみが互換性があります。Penryn テクノロジーをサポートするために BIOS アップデートが徐々にリリースされ、QX9775 は Intel D5400XS マザーボードとのみ互換性があります。Wolfdale-3M モデル E7200 も互換性が限られています (少なくとも Xpress 200 チップセットは互換性がありません)。
マザーボードにはConroeをサポートするために必要なチップセットが搭載されている場合もありますが、上記チップセットを搭載したマザーボードの中にはConroeをサポートしていないものもあります。これは、Conroeベースのプロセッサはすべて、電圧レギュレータダウン(VRD)11.0で規定されている新しい電力供給機能セットを必要とするためです。この要件は、Conroeが置き換えたPentium 4/D CPUと比較して消費電力が大幅に低いことに起因しています。サポートチップセットとVRD 11の両方を搭載したマザーボードはConroeプロセッサをサポートしますが、それでも一部のマザーボードでは、ConroeのFID(周波数ID)とVID(電圧ID)を認識するためにBIOSのアップデートが必要になります。
以前のPentium 4およびPentium D設計とは異なり、Core 2 テクノロジーでは、メモリがフロントサイドバス(FSB)と同期して動作することでより大きなメリットが得られます。つまり、FSB が 1066 MT/s の Conroe CPU の場合、DDR2 の理想的なメモリ性能はPC2-8500です。いくつかの構成では、PC2-4200 の代わりにPC2-5300を使用すると、実際にパフォーマンスが低下する場合があります。PC2-6400を使用した場合にのみ、パフォーマンスが大幅に向上します。タイミング仕様がより厳密な DDR2 メモリ モデルはパフォーマンスを向上させますが、実際のゲームやアプリケーションでは、その差はごくわずかです。[ 18 ]
理想的には、メモリ帯域幅は FSB の帯域幅と一致する必要があります。つまり、 定格バス速度が 533 MT/s の CPU には、同じ定格速度の RAM (たとえば DDR2 533 または PC2-4200) を組み合わせる必要があります。よくある誤解として、インターリーブ RAM をインストールすると帯域幅が 2 倍になるというものがありますが、インターリーブ RAM をインストールしても帯域幅の増加はせいぜい 5〜10% 程度です。すべてのNetBurstプロセッサと、現在および中期 ( QuickPath以前) Core 2 プロセッサで使用されるAGTL+ PSBは、64 ビットのデータ パスを提供します。現在のチップセットは、DDR2 または DDR3 チャネルを 2 つ提供します。
大量のメモリアクセスを必要とするジョブでは、クアッドコアCore 2プロセッサは、CPUのFSBと同じ速度で動作するPC2-8500メモリを使用することで大きなメリットを得られます[ 19 ]。これは公式にはサポートされている構成ではありませんが、いくつかのマザーボードがサポートしています。
Core 2プロセッサはDDR2メモリを必要としません。Intel 975XおよびP965チップセットはDDR2メモリを必要としますが、一部のマザーボードとチップセットはCore 2プロセッサとDDRメモリの両方をサポートしています。DDRメモリを使用する場合、利用可能なメモリ帯域幅が低いため、パフォーマンスが低下する可能性があります。
X6800、E6000、E4000プロセッサのCore 2メモリ管理ユニット(MMU)は、以前の世代のx86ハードウェアで実装された以前の仕様に従って動作しません。これにより、既存のオペレーティングシステムソフトウェアで問題が発生する可能性があり、その多くは深刻なセキュリティと安定性の問題です。Intelのドキュメントには、問題を回避するためにCore 2の翻訳ルックアサイドバッファ(TLB)を管理する推奨方法に関する情報が「今後数か月以内」にプログラミングマニュアルに更新されると記載されており、「まれに、不適切なTLB無効化により、ハングやデータの誤りなど、予測不可能なシステム動作が発生する可能性がある」と認めています。[ 20 ]
挙げられた問題点の中には、以下のようなものがある。
Intel errata Ax39、Ax43、Ax65、Ax79、Ax90、Ax99 は特に深刻だと言われています。[ 21 ] 39、43、79 は、予測不能な動作やシステムハングを引き起こす可能性があり、最近のステッピングで修正されています。
このエラーを特に深刻だと指摘した人物の中には、OpenBSDのTheo de Raadt [ 22 ]やDragonFly BSDのMatthew Dillon [ 23 ]がいる。これとは対照的な見解を示したLinus Torvaldsは、TLB の問題を「全く重要ではない」と呼び、「最大の問題は、Intel が TLB の動作をより良く文書化すべきだったということだ」と付け加えた[ 24 ]。
Microsoft は、パフォーマンスの低下なしにマイクロコードの更新によってエラーに対処する更新プログラム KB936357 をリリースしました[ 25 ] 。BIOS のアップデートもこの問題を修正するために利用可能です。