研究概要 |
メニーコアプロセッサのシミュレーション基盤として,多数のFPGAを利用した拡張可能なシミュレータScalableCoreシステム3.3の開発を行った. シミュレーション対象の実装内容の変更を可能にするため,構成の変更が可能なハードウェアであるFPGA(Field Programmable Gate Array)を用いて,システムの開発を行った.ローエンドのFPGAである,Xilinx Spartan-6 XC6SLX16を搭載する小型FPGA基板のScalableCore Unitを開発し,それらを多数タイル状に接続したシステムを開発した.これをシミュレーション基盤として用いる.また,外部メモリのシミュレーションを行うための小型FPGA基板を開発した.次に,その上で動作するシミュレーション環境の開発を行った.本システムでは,シミュレーション対象はそれぞれ分散して各FPGAに実装される.シミュレーション対象のコア数が増加しても,システムのスケーラビリティを維持することを可能とする「ローカルバリア同期」という手法を提案し,本システムに適用した.また,シミュレーション対象が持つ複雑はハードウェアをそのままFPGAに実装することは,FPGAが一般にもつ要素の制約により現実的ではない.FPGAに適した形でシミュレーション対象を実装するための手法として「仮想サイクル」という概念を導入した.シミュレーション対象の1クロックサイクルで起こりうる現象を,FPGA側では複数のクロックサイクルをかけてシミュレーションすることで,複雑なハードウェアの直接的実装を回避することが可能になった.そして,このシミュレーション基盤上にシミュレーション対象のプロセッサの実装を行った.シミュレーション対象のNoC型メニーコアアーキテクチャをハードウェア記述言語Verilog HDLで記述し,実装した.
|
今後の研究の推進方策 |
シミュレーション時の詳細なログ情報の取得機構を開発する.また,シミュレーションの更なる高速化にも取り組む.現状のシステムでは100個のFPGAを用いた場合,従来のソフトウェアベースの手法と比較して130倍程度高速であるが,専用ハードウェアを利用していることを顧みて,更に2倍程度の高速化を目指す.
|