著者
眞下 達 塩谷 亮太 井上 弘士
雑誌
研究報告システム・アーキテクチャ(ARC) (ISSN:21888574)
巻号頁・発行日
vol.2020-ARC-240, no.32, pp.1-11, 2020-02-20

動的スクリプト言語は幅広い分野で利用されているものの,その実行時オーバーヘッドが大きな課題となっている.動的スクリプト言語を処理する仮想マシンでは一般に,実行時にさまざまな要素を動的に解決する必要がある.特に,仮想マシン上のオペランドの処理では多くのメモリ・アクセスを必要とし,それが実行性能を下げる大きな要因となっている.このオーバーヘッドを削減するために我々は OFAR (Operand Fetching And Remapping)と呼ぶ手法を提案する.OFARは,(1) オペランド値の浮動小数点物理レジスタ (FPPR: Floating-Point Physical Register) へのマップと,(2)オペランド番号のフロントエンドによるフェッチの,2つから成る.一般に,仮想マシンの大分部は整数命令によって実装されており,FPPR の大部分は使用されていない.これを利用し,通常はメモリ上に置かれる仮想的なオペランドの値を FPPR にマップする.これにより,オペランド・アクセスに伴うメモリ・アクセスの多くを省略することができる.また一般に,仮想命令のオペランド番号は基本的には不変であり,命令コードと同様に演算の結果により書き換わることがない.これを利用し,通常はバックエンドで読み出されるオペランド番号を,命令フェッチと同じようにしてフロントエンドで読み出す.これにより,オペランド番号をロードするための命令が省略されることに加え,早期にオペランド番号が得られることによりレイテンシを削減する.
著者
藤浪 将 眞下 達 吉瀬 謙二
雑誌
第78回全国大会講演論文集
巻号頁・発行日
vol.2016, no.1, pp.117-118, 2016-03-10

教育,研究用プロセッサは中身がわかりやすいことが重要である.自由に使えるオープンな命令セットとして,RISC-Vがある.しかし,RISC-Vのインオーダ実行プロセッサであるRocket Coreは教育用でありながら,Chiselといわれる独自の言語で記述されており,可読性が低く,改良しにくいという欠点がある.一方,オープンソースのアウトオブオーダ実行プロセッサはまだ数が少なく,教育,研究ともに需要があると考えられる.そこで我々は,FPGA上で動作する,RISC-Vを用いたアウトオブオーダ実行のプロセッサを一般的なVerilog HDLで開発する.