-
Enable Barrel Shifter: MicroBlaze のハードウェア バレル シフターをイネーブルにします。このパラメーターにより、
bsrl
、bsra
、bsll
、bsrli
、bsrai
、bslli
、bsifi
、およびbsefi
命令がイネーブルになります。64 ビットのプロセッサ インプリメンテーションを使用すると、それに対応する long 命令もイネーブルになります。バレル シフターをイネーブルにすると、アプリケーションのパフォーマンスが大幅に改善されますが、プロセッサのサイズは増加します。このパラメーターがオンになっていると、コンパイラでバレル シフター命令が自動的に使用されます。 -
Enable Floating Point Unit: IEEE-754 規格に基づく浮動小数点演算ユニット (FPU) をイネーブルにします。32 ビット プロセッサのインプリメンテーションでは単精度を使用でき、64 ビット プロセッサのインプリメンテーションでは倍精度も使用できます。FPU を使用すると、アプリケーションの浮動小数点のパフォーマンスが大幅に改善し、MicroBlaze のサイズもかなり増加します。
このパラメーターを [BASIC] に設定すると、
add
、subtract
、multiply
、divide
およびcompare
命令がイネーブルになります。[EXTENDED] に設定すると、さらにconvert
およびsquare-root
命令もイネーブルになります。コンパイラは、このパラメーターの設定に従って FPU 命令を自動的に使用します。 -
Enable Integer Multiplier: MicroBlaze のハードウェア整数乗算器をイネーブルにします。このパラメーターを [MUL32] に設定すると、
mul
およびmuli
命令がイネーブルになります。[MUL64] に設定すると、64 ビット乗算用に
mulh
、mulhu
、およびmulhsu
命令もイネーブルになります。[NONE] に設定すると、デバイスのDSP48
プリミティブをほかの目的に使用できます。[NONE] に設定しても、MicroBlaze プロセッサのエリアには少ししか影響しません。このパラメーターがイネーブルになると、コンパイラでmul
命令が自動的に使用されます。 -
Enable Integer Divider: MicroBlaze のハードウェア整数除算器を有効にします。このパラメーターをオンにすると、
idiv
およびidivu
命令がイネーブルになります。このパラメーターをオンにすると、整数除算を実行するアプリケーションのパフォーマンスは改善される可能性がありますが、プロセッサのサイズも増加します。このパラメーターが有効になると、コンパイラでidiv
命令が自動的に使用されます。 -
Enable Additional Machine Status Register Instructions: MSR のビットをセットおよびクリアする追加のマシン ステータス レジスタ (MSR) 命令をイネーブルにします。このパラメーターをオンにすると、
msrset
およびmsrclr
命令がイネーブルになります。このパラメーターをオンにすると、MSR のビット変更のパフォーマンスが改善されます。 -
Enable Pattern Comparator: パターン比較命令
pcmpbf
、pcmpeq
、およびpcmpne
をイネーブルにします。パターン比較バイトの検出命令 (
pcmpbf
) は、2 つのワード間で一致する最初のバイトの位置を返し、文字列およびパターン一致操作のパフォーマンスを改善します。このパラメーターがイネーブルの場合、 Vitis™ ライブラリでpcmpbf
命令が自動的に使用されます。pcmpeq
およびpcmpne
命令は 2 つのワードが等しいかどうかに基づいて 1 または 0 を返します。これらの命令によりフラグ設定のパフォーマンスが改善され、コンパイラでこれらが自動的に使用されます。64 ビットのプロセッサ インプリメンテーションを使用すると、それに対応する long 命令もイネーブルになります。このオプションをオンにすると、
clz
(先行ゼロカウント) 命令もイネーブルになります。clz
命令は、優先デコードおよび正規化のパフォーマンスを向上します。 -
Enable Reversed Load/Store and Swap Instructions: 逆ロード/ストアおよびスワップ命令
lbur
、lhur
、lwr
、sbr
、shr
、swr
、swapb
、およびswaph
をイネーブルにします。64 ビットのプロセッサ インプリメンテーションを使用すると、それに対応する long 逆ロード/ストア命令のllr
およびslr
もイネーブルになります。逆ロード/ストア命令はエンディアンネスが逆のデータの読み出し/書き込みを実行し、スワップ命令はレジスタのバイトまたはハーフ ワードをスワップします。これらの命令は主に、リトル エンディアンの MicroBlaze を使用してビッグ エンディアンのネットワーク アクセスを処理する際のパフォーマンスを改善するのに便利です。 -
Enable Additional Stream Instructions: インターフェイスの選択にレジスタを使用するダイナミック アクセス命令
getd
およびputd
を含め、AXI4-Stream リンクを使用する際に追加機能を提供します。命令は、次を提供するバリエーションを使用して拡張されます。
- アトミック
get
、getd
、put
、およびputd
命令 - テストのみの
get
およびgetd
命令 - 制御ビットが設定されていない場合にストリーム例外を生成する
get
およびgetd
命令
重要: これらの命令を使用するには、拡張ストリーム命令をイネーブルにし、少なくとも 1 つのリンクを選択する必要があります。ストリーム例外を生成する命令を使用するには、ストリーム例外をイネーブルにする必要があります。 - アトミック
-
Select Extended Addressing: メモリ アドレス指定機能を設定します。32 ビット プロセッサのインプリメンテーションの場合は、これで追加のロード/ストア命令で 4 GB を超えるアドレス空間 (32 ビット アドレス) にアクセスできるようにします。64 ビットのプロセッサ インプリメンテーションの場合は、拡張アドレスが標準ロード/ストア命令により処理されます。データ側の LMB および AXI バス アドレスが、選択したメモリ サイズに対応するアドレス ビット数に拡張されます。選択肢は次のとおりです。
- NONE (32 ビット アドレス、追加命令なし)
- 64GB (36 ビット アドレス)
- 1TB (40 ビット アドレス)
- 16TB (44 ビット アドレス)
- 256TB (48 ビット アドレス)
- 16EB (64 ビット アドレス)
- 4PB (52 ビット アドレス)
ソフトウェアの使用方法および制限なども含めた詳細は、 『MicroBlaze プロセッサ リファレンス ガイド』 (UG984) を参照してください。