【レポート】

徹底解説 - POWERアーキテクチャ2.03

7 VLE Environment

    安藤壽茂  [2007/02/12]

    Book VLE:Operating Environment Architecture - Variable Length Encoding (VLE) Environment

    RISCアーキテクチャでは32ビット固定長の命令というのが一般的であるが、単純な機能の命令でも32ビットを必要とするので、最短8ビット命令を有するx86などよりも多くの命令メモリを占有する。一般的にはプログラムメモリ量はデータメモリ量(こちらはRISC、CISCに無関係)に比べて小さいので、サーバではあまり問題にならないが、組み込み用途では、プログラムを格納するROMの容量、ひいてはコストの点でプログラムメモリ量を削減したいという要求がある。

    このために作られたのがVLEで、レジスタ指定フィールドを4ビットに削減したり、オフセットや直値フィールドを削減したりしてBook 1、2、3-Eの命令の密度を向上するためにリエンコーディング行って16ビット長の命令を定義している。

    次の図に示すように、Book 1に定義されている通常Add命令は32ビット長であり、RAで指定されたレジスタの内容とRBで指定されたレジスタの内容を加算して、RCで指定されたレジスタに格納する。また、OEがセットされているとオーバフローを検出し、Rcがセットされているとコンディションコードをセットする。一方、VLEでは、Add命令は命令長が16ビットに短縮されており、RXとRYで指定されたレジスタの内容を加算し結果をRXで指定されたレジスタに格納する形であり、結果を格納するレジスタを独立に選択することが出来ない。そして、OEやRcビットは無く、オーバフローの検出やコンディションコードの設定も出来ないというように、機能が縮小されている。

    もう一つの大きな違いは、16ビット長のVLE命令ではレジスタ指定フィールドが4ビットに短縮されており、GPR0-8とGPR24-31しか指定することが出来ず、残りの半分のレジスタ(GPR8-23)を指定することが出来ない。このため、VLEでは、GPR0-7、24-31 とGPR8-23の間のMove命令を追加している。

    また、メモリから1バイトをロードするLoad Byte and Zero命令は、レジスタ指定フィールドを各4ビットに短縮し、オフセットも4ビットに短縮(SD4フィールド)することにより、16ビット長ショートフォーム命令を作っている。しかし、バイトのオフセットが0~15の範囲というのは短すぎて無いよりはマシという程度で有効に使用できないので、通常命令と同じ16ビットのオフセットを持つLoad Byte and Zero命令も定義されている。この16ビットオフセットを持つVLE Load Byte and Zero命令は通常命令と同じフィールド構成であるが、VLE命令であることを示すためか、0~5ビットの命令コードフィールドの値は異なっている。

    通常命令(グリーン)とVLE命令(ブルー)の例(Add命令とLoad命令)

    このように、VLE命令は16ビット長の命令と32ビット長の命令が混在するので、命令コードが最初のバイトに無いと判別が面倒であるので、ビッグエンディアンページに格納しなければならないという仕様になっている。

    VLE命令のページには、通常の32ビット命令とVLE命令とは混在できないが、一つのプログラムの中でVLE命令のページと通常の32ビット固定長命令のページの混在は可能である。コンパイラが一つのソースコードから、一部分は通常命令、一部分はVLE命令のページを作ることは考え難いが、VLE命令で作られたライブラリを通常命令のメインプログラムから呼び出すとか、ライブラリのモジュールごとに通常命令のものやVLE命令のものがあるというケースは十分考えられる。また、VLE命令では浮動小数点演算命令はサポートされておらず、浮動小数点演算を必要とする場合は、通常の浮動小数点カテゴリかSPEカテゴリの浮動小数点演算を実装し、通常命令を使用する必要がある。

    なお、組み込みプロセサでは大手のARM社のARMアーキテクチャは32ビット長の命令が標準であるが、Thumbという16ビット長の命令体系を定義している。蛇足であるが、こちらはVLEなどという面白みの無い名前ではなく、ARM(腕)に対してThumb(親指)という洒落た命名である。

    関連サイト

    新着記事

    特設サイトの情報

      求人情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      転職ノウハウ

      あなたの仕事適性診断

      4つの診断で、自分の適性を見つめなおそう!

      Heroes File ~挑戦者たち~

      働くこと・挑戦し続けることへの思いを綴ったインタビュー

      はじめての転職診断

      あなたにピッタリのアドバイスを読むことができます。

      転職Q&A

      転職に必要な情報が収集できます

      スカウト転職する

      企業からアプローチのメッセージが届きます。

      マイナビニュースマガジン