XAPは、ケンブリッジ・コンサルタンツが開発した16ビットおよび32ビットのRISCプロセッサアーキテクチャです。その設計により、Bluetooth、Zigbee、GPS、RFID、近距離無線通信チップなどのセンサーや無線アプリケーション向けのミックスドシグナル集積回路に使用できます。これらの集積回路は、バッテリー駆動で低消費電力が求められる低コスト・大量生産の製品に一般的に使用されています。その他の用途としては、一部の無線センサーネットワークや医療機器などが挙げられます。
XAPソフトマイクロプロセッサは、複数のオンチップ設計スタイルで実装されており、セルフタイム非同期回路、 1/4エンコーディング、完全同期回路、[ 1 ] 、FPGAなどが含まれています。[ 2 ] XAPライセンス契約では、XAP技術を製品開発、製造品への組み込み、および必要な権利の第三者への再許諾に使用することができます。また、この契約には、技術の改変および適応に関する規定が含まれており、特定の条件の下で継続的なサポート、開発、保守のための枠組みが確立されています。[ 3 ]
歴史
XAP1
1994年に設計されたXAP1は、ケンブリッジ・コンサルタンツの数多くの無線およびセンサーASICプロジェクトに使用されました。これは、ハーバード・アーキテクチャに基づく3,000ゲートの超小型16ビットプロセッサで、16ビットのデータバスと18ビットの命令バスを備え、オンチップのROM (読み出し専用メモリ)に格納されたプログラムの実行を目的としていました。データと命令はそれぞれ独立した16ビットのアドレスバスによってアドレス指定されていました。
XAP2
1999年に開発・発売された、より先進的なマイクロプロセッサであるXAP2は、ハーバードアーキテクチャを採用し、16ビットのデータパスを利用することで、前世代機に比べて大幅に改善されました。また、より従来的な16ビット命令幅を採用したことで、フラッシュやその他のオフチップメモリなどのプログラムストレージソリューションとの互換性が向上し、さまざまな電子機器への応用が広がりました。大規模なプログラムは、命令用に24ビットのアドレスバス、データ用に16ビットのアドレスバスで対応しました。XAP2は、割り込みをサポートし、Cコンパイラやアセンブリ言語用のXAPASMアセンブラなどのソフトウェアツールチェーンを備えた12,000ゲートのプロセッサでした。XAP2は、ケンブリッジコンサルタンツのASIC設計にも使用され、他の半導体企業にも半導体知的財産コア(IPコア)として提供されました。
XAP2は、ケンブリッジコンサルタンツから生まれた3つのファブレス半導体企業に採用されました。CSR plc(ケンブリッジ・シリコン・ラジオ)は、携帯電話やヘッドセット向けBluetoothチップの主要サプライヤーです。Ember CorporationはZigbeeチップの主要サプライヤーです。そしてCyan Technologyは、XAP2搭載マイクロコントローラーを供給しています。その結果、他のライセンシーやケンブリッジコンサルタンツのASICプロジェクトと合わせると、現在、世界中で10億個を超えるXAPプロセッサーが使用されています。
XAP3
XAP3 は、2003 年にケンブリッジコンサルタンツで設計された実験的な 32 ビットプロセッサです。最新のCMOS半導体プロセス技術を使用して、低コストで低消費電力の ASIC 実装用に最適化されています。命令セットは、高いコード密度を実現するために GNU GCC 用に最適化されています。XAP3 は、プログラムとデータに論理的に共有されたアドレス空間を持つフォンノイマンアーキテクチャを採用したケンブリッジコンサルタンツ初のプロセッサです。物理的なプログラムメモリは、フラッシュ、ワンタイムプログラマブルEPROM、または SRAM です。設計時にプログラム (命令) とデータの分割を事前に決定する必要がないため、ASIC 設計は単一メモリを使用することで簡素化されています。GCC コンパイラを使用した XAP3 の命令セットにより、非常に高いコード密度が得られました。これによりプログラムメモリのサイズが縮小され、チップの単位コストと消費電力が削減されました。
XAP4
2005 年には、プロジェクトのさらなる要件により、XAP3 で得られた経験と ASIC 設計の進化する要件を考慮し、XAP2 の後継として設計された新しい 16 ビット プロセッサ XAP4 が登場しました。XAP4 は、プログラム、データ、および周辺装置用の合計 64 KB のメモリをアドレス指定できる、非常に小型の 12,000 ゲートのフォン ノイマン バス16 ビット プロセッサ コアです。80 MHz でクロックした場合、 50 Dhrystone MIPS程度の優れたパフォーマンスと高いコード密度を兼ね備えています。XAP4 は、アナログ/デジタル コンバータ(ADC) または類似のソースによってキャプチャされた実際のデータを処理できる最新の ASIC またはマイクロコントローラアプリケーションで使用するために設計されました。プロセッサの 16 ビット整数ワードは、32 ビット プロセッサのオーバーヘッドなしでほとんどの ADC の精度をサポートします。 XAP4は、パフォーマンスとプログラムサイズの向上が求められるものの、32ビットプロセッサのコストとオーバーヘッドを正当化できないアプリケーションにおいて、 8051などの8ビットプロセッサからの移行パスも提供します。XAP4レジスタ(すべて16ビット)は、汎用レジスタ8個、プログラムカウンタ、ベクターポインタ、FLAGS、INFO、BRKE、ブレークポイント2個です。XAP4命令は16ビットと32ビットです。XAP4コンパイルチェーンはGNU GCCとBinutilsに基づいています。
XAP5
このアーキテクチャの拡張バージョンの開発は 2006 年に開始され、2008 年 7 月に発表された XAP5 となりました。XAP5 は 24 ビットのアドレス バスを備えた 16 ビット プロセッサであり、最大 16 MB のメモリからプログラムを実行できます。XAP4 と XAP5 はどちらも 2 段階の命令パイプラインを使用して実装されており、低い周波数でクロックされたときにパフォーマンスが最大化されます。これは、プロセッサ ハードウェア サイズを最小限に抑えるため (XAP5 コアは 18,000 ゲートを使用)、小型で低エネルギーの ASIC の要件に合わせて調整されており、ASIC の動的電力消費を削減し、アクセス時間が遅いフラッシュまたは OTP メモリから直接プログラムを実行するために比較的低速でクロックされる設計に適しています。XAP5 の一般的なクロック速度は、0.13 プロセスで 16 ~ 100 MHz の範囲です。 XAP5は、フラッシュメモリからのプログラム実行に適した設計上の特徴を備えています。例えば、ベクターポインタとアドレス変換ウィンドウなどです。これらを組み合わせることで、物理メモリ上のどこに保存されているかに関係なく、プログラムのインプレース実行と再配置が可能になります。XAP4レジスタ(16ビットおよび24ビット)は、8つの汎用レジスタ、プログラムカウンタ、ベクターポインタ、FLAGS、INFO、BRKE、4つのブレークポイントで構成されています。XAP5命令は16ビット、32ビット、48ビットです。XAP5コンパイルチェーンはGNU GCCとBinutilsに基づいています。
XAP6
XAP6は32ビットプロセッサ[ 4 ]で、2013年に発売されました。XAP4およびXAP5と同じタイプのロードストアアーキテクチャを備えていますが、データとアドレス用の32ビットレジスタと32ビットバスを備えています。XAP6aの実装には、3段階の命令パイプラインがあります。すべてのXAPプロセッサと同様に、XAP6は低コスト、低エネルギー、および容易な検証のために最適化されています。XAP6は、小型の低エネルギーASICに合わせて調整されており、プロセッサのハードウェアサイズを最小限に抑えています(XAP6コアは30,000ゲートを使用)。XAP6レジスタ(すべて32ビット)は、8つの汎用レジスタ、プログラムカウンタ、ベクターポインタ、グローバルポインタ、FLAGS、INFO、BRKE、4つのブレークポイントです。XAP6命令は、16、32、48ビットです。XAP6コンパイルチェーンは、GNU GCCとBinutilsに基づいています。
参考文献
- ^ A. セオドア・マーケットス. 「セキュアハードウェアに対するアクティブ電磁攻撃」 . 2011年.
- ^ フィリップ・リング 「ソフトコアがデザインを吸収する」ニューエレクトロニクス誌、2005年。
- ^ 「XAP技術ライセンスおよびXAP2開発契約」www.sec.gov . 2024年4月13日閲覧。
- ^ 「プロセッサとは何か?プロセッサの定義」 amazingalgorithms.com . 2024年4月13日閲覧。