[Instructions] - 2022.1 日本語

MicroBlaze プロセッサ エンベデッド デザイン ユーザー ガイド (UG1579)

Document ID
UG1579
Release Date
2022-06-01
Version
2022.1 日本語
  • Enable Barrel Shifter: MicroBlaze のハードウェア バレル シフターをイネーブルにします。このパラメーターにより、bsrlbsrabsllbsrlibsraibsllibsifi、および bsefi 命令がイネーブルになります。64 ビットのプロセッサ インプリメンテーションを使用すると、それに対応する long 命令もイネーブルになります。バレル シフターをイネーブルにすると、アプリケーションのパフォーマンスが大幅に改善されますが、プロセッサのサイズは増加します。このパラメーターがオンになっていると、コンパイラでバレル シフター命令が自動的に使用されます。
  • Enable Floating Point Unit: IEEE-754 規格に基づく浮動小数点演算ユニット (FPU) をイネーブルにします。32 ビット プロセッサのインプリメンテーションでは単精度を使用でき、64 ビット プロセッサのインプリメンテーションでは倍精度も使用できます。FPU を使用すると、アプリケーションの浮動小数点のパフォーマンスが大幅に改善し、MicroBlaze のサイズもかなり増加します。

    このパラメーターを [BASIC] に設定すると、addsubtractmultiplydivide および compare 命令がイネーブルになります。[EXTENDED] に設定すると、さらに convert および square-root 命令もイネーブルになります。コンパイラは、このパラメーターの設定に従って FPU 命令を自動的に使用します。

  • Enable Integer Multiplier: MicroBlaze のハードウェア整数乗算器をイネーブルにします。このパラメーターを [MUL32] に設定すると、mul および muli 命令がイネーブルになります。

    [MUL64] に設定すると、64 ビット乗算用に mulhmulhu、および 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: パターン比較命令 pcmpbfpcmpeq、および pcmpne をイネーブルにします。

    パターン比較バイトの検出命令 (pcmpbf) は、2 つのワード間で一致する最初のバイトの位置を返し、文字列およびパターン一致操作のパフォーマンスを改善します。このパラメーターがイネーブルの場合、 Vitis™ ライブラリで pcmpbf 命令が自動的に使用されます。

    pcmpeq および pcmpne 命令は 2 つのワードが等しいかどうかに基づいて 1 または 0 を返します。これらの命令によりフラグ設定のパフォーマンスが改善され、コンパイラでこれらが自動的に使用されます。64 ビットのプロセッサ インプリメンテーションを使用すると、それに対応する long 命令もイネーブルになります。

    このオプションをオンにすると、clz (先行ゼロカウント) 命令もイネーブルになります。clz 命令は、優先デコードおよび正規化のパフォーマンスを向上します。

  • Enable Reversed Load/Store and Swap Instructions: 逆ロード/ストアおよびスワップ命令 lburlhurlwrsbrshrswrswapb、および swaph をイネーブルにします。64 ビットのプロセッサ インプリメンテーションを使用すると、それに対応する long 逆ロード/ストア命令の llr および slr もイネーブルになります。逆ロード/ストア命令はエンディアンネスが逆のデータの読み出し/書き込みを実行し、スワップ命令はレジスタのバイトまたはハーフ ワードをスワップします。これらの命令は主に、リトル エンディアンの MicroBlaze を使用してビッグ エンディアンのネットワーク アクセスを処理する際のパフォーマンスを改善するのに便利です。
  • Enable Additional Stream Instructions: インターフェイスの選択にレジスタを使用するダイナミック アクセス命令 getd および putd を含め、AXI4-Stream リンクを使用する際に追加機能を提供します。

    命令は、次を提供するバリエーションを使用して拡張されます。

    • アトミック getgetdput、および 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) を参照してください。