MIPS32® 1004K™
MIPS32® 1004K™ コヒーレント処理システム(CPS)は、業界初のマルチスレッド・マイクロプロセッサIPコアを搭載したシステムです。各コアはコヒーレント・マルチコア・アーキテクチャを使用し、マルチスレッド機能を備えているため、この1004K™ マルチプロセッサは、シングルスレッド・プロセッサ・コアを使用するマルチコア・システムの性能を上回ります。典型的なSoC設計を行う場合、コア内にハードウェア・スレッドを追加しても最小のサイズですみます。また、マルチスレッド機能があるため、コヒーレント・マルチコア・プラットフォームとして、同じSMP(対称性マルチプロセッシング)バージョンのOSとソフトウェア・プログラミング・モデルを使用できます。そのため、上記のシステム性能向上は、ハードウェアやソフトウェアから制限を受けることなく、基本的に自由に設定できます。
1004K™ コヒーレント処理システムは、マルチスレッド・コアを1個~4個実装可能です。これらのコアは、コヒーレント管理ユニットを介して接続され、各CPU内のL1キャッシュ間のコヒーレンシーが管理されます。このシステムでは、入出力周辺機器からのデータ転送時にコヒーレンシーを保持するために、オプションのブロックを使用できます。そのため、入出力コヒーレンシー・システム・スキームを使用しなければ、追加された性能は、通常、OSの一部としてソフトウェア内で実行されます。
このコヒーレント処理システムは、グローバル割り込みコントローラを実装しています。このコントローラは、256個までの割り込みを受付け、それらをコアに分配します。または、各コア内で、ハードウェア・スレッドも処理します。システム全体は、MIPS® L2キャッシュ・コントローラで使用可能です(単独でも使用可)。このキャッシュ・コントローラは、コヒーレント・システムとL2キャッシュ間のスループットを最適化するために、拡張256ビット幅インタフェースを介して、コヒーレンス管理ユニットに接続されます。EJTAGとコヒーレンス・アウェアPDトレース(プログラムとデータ・トレース)ブロックが、同期化されたビジビリティ(可視性)をCPUの各コアに提供し、また、開発ツールを介してコヒーレンシー・ユニットをシステムに提供することにより、システムの処理が完成します。
当面の間、1004K™ CPSとしては、整数コア使用の1004Kc™ と、浮動小数点ユニットを各コア内に持つ1004Kf™ という、2種のバージョンが提供されます。
- コヒーレント・マイクロプロセッサ・システムは、マルチスレッド機能により、従来のマルチプロセッサ・ソリューションを越える性能を発揮します。
- マルチスレッドCPUコアは4個まで、ハードウェア・スレッドとコアは2個まで実装できます。
- マルチスレッドがマルチコアを補足:最小限のシリコン・コスト・アダーを用い、SMP OSとプログラミング・モデルを効果的に利用できます。
- ハードウェア入出力コヒーレンシー:CPUソフトウェア入出力コヒーレンシー・オーバーヘッドを除去します。
- 最適な製品実装のため広範囲の価格・性能がサポートされるため、コアレベルとシステムレベルの構成と拡張性が柔軟に決定できます。
- IPコアはライセンス可能なので、広い産業分野に導入できます。
コヒーレント・マルチプロセシング用の完全なシステム構成:
- 1004Kのマルチスレッド「ベース」コアが1個~4個、ハードウェア・スレッドが最大8個実装可能
- CM(コヒーレンス管理)ユニットが、コアと入出力装置間のコヒーレントな動作を管理するための、システムの「接着剤」として動作
- IOCU(入出力コヒーレンス・ユニット)が、CPU実装のソフトウェアから入出力コヒーレンスを除去するためのハードウェア・ブロックとして動作
- GIC(グローバル割り込みコントローラ)が、システムとインター・プロセッサの割り込みを制御
- L2キャッシュ・コントローラへの256ビット拡張インタフェースが実装(単独で使用可)
- EJTAG/PDtrace™ ブロックが、拡張デバッグと、完全コヒーレント・システムのトレースを実行
1004Kベースコア
- 1コア当り1.5 DMIPS/MHz以上の性能の、9段パイプライン
- 1コア当りの、シングルスレッドまたはデュアルスレッドの動作をサポート
- ハードウェア・マルチスレッド用のVPE(仮想処理エレメント)を使用
- 整数バージョン(1004Kc)と浮動小数点バージョン(1004Kf)をサポート
- MIPS32 DSP ASE Rev.1をサポート
- コヒーレンシー・ポートは、バックグラウンド・コヒーレンシー・チェック用のデュプリケート・データキャッシュ・タグを実装
- 命令TLBとデータTLB、キャッシュ、スクラッチパッドRAM、その他のオプションのインクルージョンとサイジングの設計期間を設定可能
CM(コヒーレンシー管理)ユニット
- MESIプロトコルを使用してコヒーレンシーを管理
- 最大性能を発揮するために、CPUと同じクロック(1:1)で動作
- (オプションの)L2キャッシュ・コントローラへの最大スループットを得るため、256ビットの拡張インタフェースを使用
- L1キャッシュ間の転送で性能強化、外部メモリへのスペキュラティブ・リード、グローバル化キャッシュの動作をサポート
- CMスキーム構成・制御用のGCR(グローバル構成レジスタ)を実装
IOCU(入出力コヒーレント・ユニット):オプション
- 非コヒーレント入出力周辺転送をブリッジし、トランザクション・コヒーレントを生成
- トランザクション当たりの、L1キャッシュ、L1+L2キャッシュをスヌープする属性をサポート、または非コヒーレント・トランザクション処理、および入出力優先順位付け機能をサポート
GIC(グローバル割り込みコントローラ):オプション
- システムレベルの割り込み、プロセッサ間割り込みをサポート
- 特定のコアまたはVPEに割り込み可能
- 256個までのシステム割り込み番号を設定可能
開発ツール
- MIPS SDE:MIPS® コアのサポート用に最適化された、GNUベースのツールチェーン
- MIPSsim™ :バス機能モデリングと命令セットのシミュレータ
- System Navigator™ プローブ:EJTAGとPDtraceプローブ
| 動作周波数 * |
800 MHz |
| トータル・サイズ (mm2) |
3.8mm2以下 |
| 性能 |
1コア当り 1.6 DMIPS/MHz |
| プロセス |
TSMC 65nm GP |
* 2コア構成。各コア当たり、2個のVPE、32KBの命令キャッシュ/データキャッシュ、CM(コヒーレント・マネージャー)、GIC(グローバル割り込みコントローラ)を装備。
注記:
周波数、消費電力、サイズは、設定オプション、合成条件、シリコン・ベンダ、プロセス・ライブラリ、およびセル・ライブラリにより決まります。上記速度には、OCV、クロック・ジッタ、設計マージンは含まれていません。
MIPS32® 1004K™ コアブロック図