| デザイナー | アトメル |
|---|---|
| ビット | 32ビット |
| バージョン | 改訂2 |
| デザイン | RISC |
| エンコーディング | 変数 |
| エンディアン | 大きい |
| 拡張機能 | Java仮想マシン |
| レジスター | |
| 15 | |
AVR32は、 Atmelが製造した32 ビット RISCマイクロコントローラ アーキテクチャです。このマイクロコントローラ アーキテクチャは、ノルウェー科学技術大学で教育を受けた少数の人々によって設計されました。その中には、Atmel のノルウェー設計センターの主任設計者 Øyvind Strøm と CPU 設計者 Erik Renno が含まれています。
ほとんどの命令は 1 サイクルで実行されます。乗算累算ユニットは、32 ビット × 16 ビット + 48 ビットの算術演算を 2 サイクル (結果レイテンシ) で実行でき、1 サイクルにつき 1 回発行されます。
両方ともノルウェーのトロンハイムにある Atmel で設計されたにもかかわらず、 8 ビットAVR マイクロコントローラファミリとは似ていません。一部のデバッグ ツールは似ています。
Linuxカーネル4.12以降ではAVR32のサポートは廃止されました。 [1] AtmelはARMアーキテクチャのMバリアントに主に切り替えました。
建築
AVR32には少なくともAVR32AとAVR32Bの2つのマイクロアーキテクチャがあります。これらは命令セットアーキテクチャ、レジスタ構成、命令とデータのキャッシュの使用が異なります。[2]
AVR32A CPUコアは、安価なアプリケーション向けです。割り込み時のレジスタ ファイル、ステータス、戻りアドレスをシャドウイングするための専用ハードウェア レジスタは提供されません。これにより、割り込み処理が遅くなる代わりに、チップ領域が節約されます。
AVR32B CPUコアは高速割り込み用に設計されており、割り込み、例外、スーパーバイザ呼び出しの値を保持するための専用レジスタを備えています。AVR32BコアはハードウェアでJava仮想マシンもサポートしています。[3]
AVR32 命令セットには、たとえば一部の ARM に類似した16 ビット(コンパクト) および 32 ビット (拡張) 命令があり、古い ARMv5 や ARMv6 やMIPS32にはないいくつかの特殊な命令があります。AVR32 ISA および設計プラットフォームについては、いくつかの米国特許が申請されています。
AVR 8 ビット マイクロコントローラアーキテクチャと同様に、AVR32 は高いコード密度(少ない命令で多くの機能を詰め込む) と少ないクロック サイクルでの高速命令を実現するように設計されました。Atmel は、独立ベンチマーク コンソーシアムEEMBC を使用して、さまざまなコンパイラでアーキテクチャをベンチマークし、ARMv5 16 ビット ( Thumb ) コードと ARMv5 32 ビット ( ARM ) コードの両方を、コード サイズで最大 50%、パフォーマンスで 3 倍も上回りました。[引用が必要]
Atmel によれば、「picoPower」AVR32 AT32UC3L はアクティブモードで 0.48 mW/MHz 未満しか消費せず、当時は他のどの32 ビットCPUよりも消費電力が少ないと主張していた。 [4]その後、2015 年 3 月には、独自の命令セットではなくARM HoldingsのARM アーキテクチャを使用した新しいCortex-M0+ベースのマイクロコントローラが「これまでの超低消費電力性能の障壁をすべて打ち破った」と主張している。[5]
実装
AVR32アーキテクチャは、アトメルの自社製品にのみ使用されていました。2006年に、アトメルはAVR32Aを発表しました。これは、7ステージパイプラインのキャッシュベースの設計プラットフォームであるAVR32 AP7コアです。[3]この「AP7000」はAVR32Bアーキテクチャを実装し、 Javaハードウェアアクセラレーションに加えて、 RISC命令セットに対するハードウェアFPU、SIMD(単一命令複数データ)DSP(デジタル信号処理)命令をサポートしています。メモリ管理ユニット(MMU)を含み、Linuxなどのオペレーティングシステムをサポートしています。2009年初頭、噂されていたAP7200後継プロセッサは保留され、リソースが他のチップに投入されました。
2007年、アトメルは2番目のAVR32、AVR32 UC3コアを発売しました。これはマイクロコントローラ用に設計されており、オンチップフラッシュメモリをプログラムストレージに使用し、MMU(メモリ管理ユニット)なしで動作します。AVR32 UC3コアは、オンチップフラッシュメモリからの命令フェッチを最適化するように特別に設計された3段パイプラインのハーバードアーキテクチャを使用しています。[6] AVR32 UC3コアはAVR32Aアーキテクチャを実装しています。AP7兄弟と同じ命令セットアーキテクチャ(ISA)を共有していますが、オプションのSIMD命令やJavaサポートを含まない点で異なります。FPU命令セットはオプションであり、UC3マイクロコントローラの最初のファミリには実装されていませんでした。AVR32Bと220を超える命令を共有しています。ISAは、オンチップ周辺機器と汎用I/Oを制御するためのアトミックビット操作と固定小数点DSP演算を特徴としています。
どちらの実装も、 AT91SAM ARM ベースのプラットフォームで初めて登場した、互換性のある周辺コントローラおよびバスのセットと組み合わせることができます。高速 USB 周辺コントローラやスタンドアロン DMA コントローラなど、AP7000 で初めて登場した一部の周辺機器は、後に更新された ARM9 プラットフォームで登場し、その後 ARM Cortex-M3 ベースの製品でも登場しました。
両方の AVR32 コアには、JTAGで構築されたNexusクラス 2+ ベースのオンチップ デバッグ フレームワークが含まれています。
2010年11月10日にドイツのミュンヘンで開催されたエレクトロニカ2010で発表されたUC3 Cコアは、UC3ファミリーで初めてFPUサポートを実装したコアでした。[7]
デバイス
AP7コア
2012年4月10日、アトメルは2013年4月4日をもってAP7コアデバイスのサポートを終了すると発表しました。[8]
- AT32AP7000
- AT32AP7001
- AT32AP7002
UC3コア
デバイス名が *AU で終わる場合、これはオーディオ バージョンであり、Atmel ライセンスのオーディオ ファームウェア IP の実行が可能になります。
デバイス名が *S で終わる場合、AES 暗号化モジュールが含まれます。
- A0/A1 シリーズ – デバイスは66 MHz (1 フラッシュ待機状態) で91 Dhrystone MIPS (DMIPS) を実現し、3.3 V で 66 MHz で 40 mA を消費します。
- AT32UC3A0128
- AT32UC3A0128AU
- AT32UC3A0256
- AT32UC3A0256AU
- AT32UC3A0512
- AT32UC3A0512AU
- AT32UC3A1128
- AT32UC3A1256AU
- AT32UC3A1512
- AT32UC3A1512AU
- A3/A4 シリーズ – デバイスは 66 MHz で 91 Dhrystone MIPS (DMIPS) を実現し、3.3 V で 66 MHz 時に 40 mA を消費します。
- AT32UC3A364
- AT32UC3A364S
- AT32UC3A3128
- AT32UC3A3128S
- AT32UC3A3256
- AT32UC3A3256AU
- AT32UC3A3256S
- AT32UC3A464
- AT32UC3A464S
- AT32UC3A4128
- AT32UC3A4128S
- AT32UCA4256
- AT32UC3A4256S
- B シリーズ – 60 MHz で 72 Dhrystone MIPS (DMIPS) を実現し、3.3V で 66 MHz 時に 23 mA を消費します。
- AT32UC3B064
- AT32UC3B0128
- AT32UC3B0128AU
- AT32UC3B0256
- AT32UC3B0512
- AT32UC3B0512AU
- AT32UC3B164
- AT32UC3B1128
- AT32UC3B1256
- AT32UC3B1512
- C シリーズ – デバイスは 66 MHz で 91 Dhrystone MIPS (DMIPS) を実現し、3.3 V で 66 MHz 時に 40 mA を消費します。
- AT32UC3C064C
- AT32UC3C0128C
- AT32UC3C0256C
- AT32UC3C0512C
- AT32UC3C0512CAU
- AT32UC3C164C
- AT32UC3C1128C
- AT32UC3C1256C
- AT32UC3C1512C
- AT32UC3C264C
- AT32UC3C2128C
- AT32UC3C2256C
- AT32UC3C2512C
D シリーズ – 低電力の UC3Dには、周辺機器がデバイスをスリープ モードから起動できるようにするSleepWalkingテクノロジーが組み込まれています。
- ATUC64D3
- ATUC128D3
- ATUC64D4
- ATUC128D4
- L シリーズ – 50 MHz で 64 Dhrystone MIPS (DMIPS) を実現し、1.8 V で 50 MHz 時に 15 mA を消費します。
- AT32UC3L016
- AT32UC3L032
- AT32UC3L064
- AT32UC3L0128
- AT32UC3L0256
- ATUC64L3U
- ATUC128L3U
- ATUC256L3U
- ATUC64L4U
- ATUC128L4U
- ATUC256L4U
ボード
.jpg/500px-Atmel_EVK1100_Development_Board_(8042276987).jpg)
- AT32AP7000開発環境(STK1000)
- AT32AP7000 ネットワークゲートウェイキット (NGW100)
- FPGA、ビデオ デコーダ、Power over Ethernet を搭載した AT32AP7000 ボード (Hammerhead)
- AT32AP7000 Indefia 組み込み Linux ボード (ZigBee 対応)
- すべてのAT32UC3シリーズ汎用評価プラットフォーム(STK600)
- AT32UC3A0/1 シリーズ評価キット (EVK1100)
- AT32UC3A0/1 シリーズ オーディオ評価キット (EVK1105)
- AT32UC3A3 シリーズ評価キット (EVK1104)
- AT32UC3B シリーズ評価キット (EVK1101)
- AT32UC3B ブレッドボードモジュール (銅)
- AT32UC3A1 ブレークアウト/小型開発ボード (Aery32)
参照
参考文献
- ^ 「avr32: AVR32 アーキテクチャのサポートを削除」。GitHub。2017年9 月 21 日閲覧。
- ^ 「AVR32 アーキテクチャ ドキュメント」(PDF)。Atmel。2012年 3 月 24 日のオリジナル(PDF)からアーカイブ。2008年 6 月 15日閲覧。
- ^ ab 「AVR32 AP テクニカルリファレンスマニュアル」(PDF)。Atmel 。 2008年12月3日時点のオリジナルよりアーカイブ(PDF) 。 2008年12月12日閲覧。
- ^ 「低消費電力と高性能を備えた実証済みの革新的なマイクロコントローラ技術」(プレスリリース)。Atmel
が業界最高の消費電力を 63% 削減する AVR32 マイクロコントローラを発表。picoPower AVR32 AT32UC3L マイクロコントローラは、アクティブ時に 0.48 mW/MHz 未満、スリープ モードで 100 nA 未満を実現
- ^ 「SAM L ファミリーは、現在世界最小の電力 ARM Cortex-M ベースのソリューションです」。2015 年 3 月 30 日。2015 年 4 月 27 日のオリジナルからアーカイブ。2015年4 月 27 日閲覧。
これらの Cortex-M0+ ベースの MCU は、システムの機能を維持しながら、現在市場に出回っている同等の製品の 3 分の 1 の電力しか消費しません。このデバイスは、アクティブ モードで 35μA/MHz まで動作し、32
kB
RAM を完全に保持した状態で 900nA 未満の超低電力を実現します。[..]
「昨年 Atmel が発表した同社の SAM L21 ファミリーでは、この製品ファミリーのアクティブ モードとスリープ モードの両方で驚くほど低い電流消費定格を指摘しましたが、EEMBC ULPBench から得られた具体的なデータでこの意見を確認することができました」と、EEMBC のプレジデント兼創設者である Markus Levy 氏は説明しています。 「Atmel は、特許取得済みの超低消費電力 picoPower テクノロジにより、世界中の Cortex-M ベースのプロセッサおよび MCU の中で最も低い消費電力を実現しました。これらの ULPBench の結果は注目に値し、電圧監視用の DC-DC 変換やその他の革新的な技術を活用した同社の低消費電力の専門知識を実証しています。」
EEMBC ULPBench の実行中、SAM L21 は驚異的なスコア 185 を達成しました。これは、世界中の Cortex-M ベースのプロセッサまたは MCU で公開されている最高スコアであり、他のベンダーが発表した 167 および 123 のスコアよりも大幅に高いものです。SAM L21 ファミリは、40
kB の
SRAM をフルに保持し、リアルタイム クロックとカレンダーを使用した状態で 940nA 未満、最も深いスリープ モードで 200nA を消費します。
- ^ 「AVR32UC テクニカルリファレンスマニュアル」(PDF)。Atmel。2009年 2 月 5 日のオリジナル(PDF)からアーカイブ。2008 年 6 月 15 日に取得。
- ^ 「 Atmel、浮動小数点ユニットを搭載した初の 32 ビット AVR マイクロコントローラを発表」。Atmel。2010年 11 月 22 日時点のオリジナルよりアーカイブ。2011年 3 月 26 日閲覧。
- ^ 「スマート | コネクテッド | セキュア | マイクロチップ テクノロジー」。
