インテルCPU開発コードネームのMerom

最終更新日 2024年02月13日

インテルCPU開発コードネームのMeromとは

基礎

インテルCPU開発コードネームのMeromとは、Yonahの後継です。メロムと読みます。

発売年

2006年にMeromのCPUの発売が始まりました。

マイクロアーキテクチャー

MeromのマイクロアーキテクチャーがCoreです。インテルが公表したので確かです。先代のYonah等では、インテルがマイクロアーキテクチャーの名称を公表していません。Coreが登場する前では、インテルが最後に公表したマイクロアーキテクチャーの名称がNetBurstです。

プロセスルール

Meromのプロセスルールが65nmです。

ブランド

MeromのブランドにCore 2 Extreme、Core 2 Duo、Core 2 Solo、Pentium Dual-Core、Pentium、Celeron Dual-Core、Celeronがあります。

MeromとYonahの違い

主な違い

同時に実行できるマイクロオプの最大数がMeromは4個、Yonahは3個です。EM64TにMeromは対応、Yonahは非対応です。マクロフュージョンにMeromは対応、Yonahは非対応です。

Meromのパイプライン

パイプラインのステージ一覧

ステージ 特徴
Next IP ・Next Instruction Pointerの略で、メモリー中の次のx86命令の開始位置を計算する処理
Fetch 1 ・命令キャッシュから複数のx86命令を読み込む
・1サイクル当たり16バイト読み込む
Fetch 2 ・それぞれのx86命令の長さを解読する
Fetch 3 ・解読した命令長を基にx86命令を抜き出して揃える
・Pre Decodeを行う
・Pre Decodeとは、マクロフュージョンの対象となる可能性があるx86命令にフラグを立てる処理
Decode 1 ・Loop Bufferにx86命令を保存する
・Loop Bufferとは、ループにより繰り返し実行する複数のx86命令を一時的に保存するバッファー
・サイズが64バイトあり最大18個のx86命令を保存できる
Decode 2 ・Loop Bufferから1サイクル当たり32バイト読み込む
・抜き出して揃えたx86命令を処理がしやすいように並び替える
・最大6個のx86命令を扱える
Decode 3 ・Early Decodeを行う
・Early Decodeではマクロフュージョン、すなわち複数のx86命令を1個のマイクロオプに集約するための処理を行う
・最大6個のx86命令を扱える
・1サイクル当たり最大4個のx86命令を出力する(マクロフュージョンにより複数のx86命令を集約したマクロフュージョン命令を1個とする)(1個のマクロフュージョン命令が1個のマイクロオプになる)
・先代のYonahのEarly Decodeでは、複雑なx86命令を簡単な複数のx86命令に分解する処理を行っていたが、Meromではこの役割に加えてマクロフュージョンの処理も追加
Decode 4 ・Complex Decodeが1個、Simple Decodeが3個、MISが1個ある
・Complex Decodeでは1個のx86命令を2個以上のマイクロオプに変換する
・Simple Decodeでは1個のx86命令を1個のマイクロオプに変換する
・1サイクル当たり出力するマイクロオプの最大個数がComplex Decodeは4個、Simple Decodeは1個
・MISとはMicro Instruction Sequencerの略で、Simple DecodeやComplex Decodeでは変換できない複雑なx86命令を、マイクロコードを使用してマイクロオプに変換する
Decode 5 ・Post Decodeを行う
・Post Decodeとは、Decode 4の処理の続き
・マイクロオプスフュージョンで統合するマイクロオプの組み合わせが増え、Decode 4の処理内容も増えたのでDecode 5を追加して処理を分割
Decode 6 ・Decode Instruction Queueがある
・RATのために最大7個以上のマイクロオプを一時的に保存する(最大個数が不明)
RAT ・RATとはRegister Alias Tableの略で、同時実行できるマイクロオプを増やすために、レジスターの重複使用を解消する処理を行う
・1サイクル当たり最大4個のマイクロオプを出力する
ROB ・ROBとはRe-Order Bufferの略で、マイクロオプの並び替え、実行中のマイクロオプの一覧を管理する、リタイアメント、以上の処理を行う
・最大96個のマイクロオプを扱える
・1サイクル当たり最大4個のマイクロオプを出力する
RS ・RSとはReady/Scheduleの略で、最大32個のマイクロオプを一時的に保存するキュー
・1サイクル当たり最大4個のマイクロオプを出力する
Dispatch ・RSからマイクロオプを順次取り出し実行ユニットに振り分ける処理を行う
・Port 0,Port 1,Port 2,Port 3,Port 4,Port 5があり各Port先に実行ユニットがある
Execution ・Port 0に整数演算ユニットが1個、浮動小数点演算ユニットが1個、SIMD演算ユニットが1個
・Port 1に整数演算ユニットが1個、浮動小数点演算ユニットが1個、SIMD演算ユニットが1個
・Port 2にロードユニットが1個
・Port 3にストアアドレスユニットが1個
・Port 4にストアユニットが1個
・Port 5に整数演算ユニットが1個、浮動小数点演算ユニットが1個、分岐予測ユニットが1個、SIMD演算ユニットが1個
Retirement 1 ・実行結果をレジスターに書き戻す
Retirement 2 ・ステータスレジスターの値を更新する

フェッチで抜き出すx86命令の最大数

命令キャッシュから複数のx86命令を読み込むとき、1サイクル当たり16バイト読み込むことは先代のYonahと同じです。読み込んだ16バイトから抜き出すx86命令の最大数が、1サイクル当たり6個に増えています。先代のYonahでは3個でした。

MeromとEM64T

先代のYonahがEM64T非対応の理由

MeromではEM64Tに対応です。先代のYonahではEM64Tに非対応です。EM64Tに初対応したのがPrescottです。Prescottの後に登場したYonahであればEM64Tに対応しそうです。しかし、Yonahはマイクロコードで制御する回路が少なく、EM64Tに対応するには回路の設計変更が必要であり、開発期間が長くなるためEM64Tに対応できませんでした。Prescottはマイクロコードで制御する回路が多く、マイクロコードの変更でEM64Tに対応できました。そのため、開発期間が短かくEM64Tに対応できました。

Meromでもマイクロコード変更

MeromではEM64Tに対応しましたが、そのために回路の設計変更に限らずマイクロコードの変更もあります。Meromの後に登場するマイクロアーキテクチャーのNehalemでは、マイクロコードの変更なし、すなわちマイクロコードを使用せずEM64Tに対応です。

EM64T

EM64TとはExtended Memory 64 Technologyの略で、IA-32を64ビットに拡張する技術です。IA-32とはIntel Architecture 32の略で、インテルの32ビットCPUが採用している命令セットアーキテクチャーです。

マイクロコード

マイクロコードとは、CPUの処理内容を記述したコードです。マイクロコードを使用し、CPU内部の回路の動作を制御します。

出典

ASCII.jp:インテルCPU進化論 パイプラインを大幅改良したCore 2 (1/4)|ロードマップでわかる!当世プロセッサー事情(2012/08/27更新記事)
ASCII.jp:インテルCPU進化論 パイプラインを大幅改良したCore 2 (2/4)(2012/08/27更新記事)
ASCII.jp:インテルCPU進化論 パイプラインを大幅改良したCore 2 (3/4)(2012/08/27更新記事)


キャンペーン情報(PR)
マウスコンピューター
・オータムセール
最大50,000円OFF
(10月9日迄)
DELL
・今週のおすすめ製品
対象製品が特別価格でお買い得
(キャンペーン実施中)
パソコン工房
・決算セール
セール対象BTOパソコン最大55,000円OFF
(10月1日迄)

インテルCPU開発コードネーム(Core)



デル株式会社