ARM922T アーキテクチャ
Excaliburデバイス エンベデッド・ストライプは、32 ビット ARM922Tプロセッサとオンチップ SRAM、デュアルポート SRAM メモリ、ペリフェラル、FPGA コンフィギュレーション・ロジックを統合します。 プロセッサは最大 200MHz(210 Dhrystone MIPS)で動作可能です。 ARM922T プロセッサは、オペレーティング・システム・サポート用の 8 KB インストラクション・キャッシュ・メモリ、8 KB データ・キャッシュ・メモリ、およびメモリ・マネージメント・ユニット(MMU)を搭載しています。
このページではプロセッサと関連機能について説明します。
ARM9TDMI プロセッサ・コア
ARM922T プロセッサは、インストラクション・セット、デバッグ、および数学拡張機能付き高性能 32 ビット・エンベデッド・コアです。 5 段パイプラインと Harvard アーキテクチャ(インストラクション・パスとデータ・パスが分離)を使用して、1 MHz 当たり 1.05 MIPS の性能比を達成しています。 Harvard アーキテクチャは、プロセッサへのバス・インタフェースを簡素化し、データ・キャッシュとインストラクション・キャッシュを分離することによって高性能プロセッサの実装を可能にします。 プロセッサは、ソフトウェア・コヒーレンシおよびオペレーティング・システム・サポートに対するターゲット・システムの要求条件を満足するためにビッグ・エンディアン・モードとリトル・エンディアン・モードをサポートしています。 ARM9TDMI プロセッサ・コアは、リアルタイム・オペレーティング・システム(RTOS)サポートのために、特別に設計されたタスク識別子レジスタも備えています。
ARM922T プロセッサ
ARM922T プロセッサは、ARM9TDMI コアに対するいくつかのデリバリ・メカニズムのうちの 1 つです。 ARM922T は 8KB インストラクション・キャッシュと 8KB データ・キャッシュを関連のメモリ・マネージメント機能と共に搭載しています。 両方のキャッシュとも 8 ワードライン長の 64-way set-associative です。 このプロセッサは、データ書き込みバッファと AMBA バス・インタフェースも搭載しており、システム・デバッギング中にリアルタイム・トレースを可能にする ETM9 インタフェース用のオプションも提供します。
ARM922T エンベデッド・プロセッサの詳細については、ARM922T Technical Reference Manualを参照してください。
インストラクション・セット
すべての ARM9 プロセッサおよびコアは、各インストラクションを条件付きで実行可能な 32 ビット load-and-store インストラクション・セットを規定した ARMv4T インストラクション・セット・アーキテクチャーに準拠しています。 この機能は、システム性能の低下を招く非効率なショート分岐を回避するために、コードの最適化を可能にします。 v4T 32 ビット・インストラクション・セットは 32 ビット幅の外部メモリで使用するように最適化されていますが、16 ビットさらには 8 ビット・メモリもサポート可能です。
ARM7TDMI コアでは v4T インストラクション・セットも使用でき、ARM7 デザインに ARM9TDMI コアと部分的に下位互換性を持たせることができます。 ARM7 プロセッサ・コア用に設計されたレガシー・ソフトウェアは、ARM922T プロセッサでも使用可能で、性能アップグレード・パスが大幅に簡素化されます。 さらに、v5T コアおよび v6T コアはより高性能な処理要件へのアップグレード・パスも提供できます。
図 1 に ARM922T プロセッサを示します。
図 1.ARM922T プロセッサ
図 1 の注:
- JTAG = Joint Test Action Group.
- AMBA = Advanced Microcontroller Bus Architecture.
- AHB = Advanced high-performance bus.
AMBA バス・インタフェース& AHB
AMBA は、高速キャッシュ・インタフェースに最適化された ARM デザインに基づく高性能標準バス規格です。 この標準規格は、すべての ARM マクロセルがシームレスな接続を実現するために、共通インタフェースをサポートするように設計されています。 AMBA 標準規格は、AMBA Advanced High-Performance Bus、AMBA System Bus、および AMBA Peripheral Bus などのバスをサポートしています。 Excalibur デバイスは AMBA AHB 標準規格だけを使用します。
Excalibur デバイスは、バス・マスタとスレーブの両方を規定するデュアル AHB アーキテクチャ(AHB1 と AHB2)を実装しています。 バス・マスタはバス・アービタ制御転送を開始できます。 複数バスマスタが 1 つの AHB 上に常駐できるので、アービタはバスに対する複数のアクセス・リクエストを処理し、アクセス・コンフリクトが起こった場合はこれらのリクエストに優先順位を付けます。 バス・トランザクションのために、バス・マスタはアクセスしているバス・スレーブにアドレス、データ、およびコントロールを与える必要があります。 アドレス・バスとデータ・バスを共通にして、インタフェース・サイズを縮小することが可能です。この場合は、トランザクションごとにアドレス・フェーズの後にデータ・フェーズが続きます。 AHB は、高速システムで最適化を行うために、低速ペリフェラルへのアクセスに役立つ分割トランザクションと複数データ・アイテムを転送するのに開始アドレスとバースト長しか必要としないバースト・トランザクションをサポートしています。
AHB1 はプライマリ・システム・バスであり、このバスでは ARM922T プロセッサがオンチップ・シングルまたはデュアルポート SRAM メモリおよび SDRAM インタフェースを共有するシングル・マスタです。 AHB1 は、プロセッサ動作速度(最大 200MHz)で動作し、他方 AHB2 は AHB の半分の周波数で動作するペリフェラル・バスとして機能します。 AHB2 は、ペリフェラル用マルチ・マスタ・バス、フラッシュ・メモリ・インタフェース用拡張バス・インタフェース(EBI)、そして FPGA アーキテクチャとの間のマスタおよびスレーブ AHB ブリッジです。
