プロセッサ設計支援ツールを用いた 独自プロセッサの設計 立命館大学 理工学部 高性能計算研究室 宮崎 匡史 2009/02/27 1 研究背景と目的 • 研究背景 – – – – LSIの高集積化 ハードウェアとソフトウェアの学習者の必要性 ハード/ソフト協調学習システムの開発 プロセッサ設計支援ツールの開発 • 目的 – プロセッサ設計支援ツールを用いた独自プロセッサの設計 – プロセッサ設計支援ツールの評価 2 命令セット設計 命令セット 情報 命令セット 定義ツール ・命令長 ・命令形式 ・命令動作 などを定義 定義した 命令セットの プログラミング アセンブリ プログラム 命令セット シミュレータ シミュレー ション結果 命令セット評価 アセンブルする 命令セット アセンブラ 機械語 3 プロセッサモニタ・デバッガ ホスト PC端末 プ ロ セ ッ サ モ ニ タ コマンドの送信 データの書き込み プロセッサデバッガ データメモリ 命令メモリ デバッガ プロセッサ シリアル ポート レジスタ・メモリの 読み出し FPGA Spartan-3 4 PSCSFプロセッサの設計 • 命令セットアーキテクチャ • 命令長16bit • 全27命令 • ZF、NF、CF、VFを用いた命令セット 命令形式 R形式 I5形式 I8形式 J形式 5bit Opecode Opecode Opecode Opecode 3bit 3bit 3bit 2bit Rs Rt Rd Fn Rs Rt Immediate Rs Immediate/Address Target absolute address • 検証プログラムの作成 • Nまでの和、素数判定、最大値、BCD加算、一次方程式 → 命令セットが正しく動作しているかを確認 5 PSCSFプロセッサの回路図 11 CU 11 11 + 11 11 11 PC A 17 L U 8 IM M P X RF M P X M P X FR 1 A L U DM M P X 6 PSCSFプロセッサの実装 • 命令セットアセンブラ – 検証プログラムを機械語へ変換 • HDLシミュレータを用いて動作確認 – 機械語プログラム • Nまでの和、素数判定、最大値、BCD加算、一次方程式 • プロセッサモニタ、プロセッサデバッガ – FPGAボードに実装したプロセッサを検証 7 プロセッサ設計支援ツールの評価 • 命令セット定義ツール – 命令セットの定義ミスを軽減 – 途中保存を行うことができる機能によって設計時間が短縮 • 命令セットシミュレータ – プロセッサの動作が詳しく表示されてデバッグを行いやすい – プログラムカウンタをリセットすることで簡単に再実行が可能 • 命令セットアセンブラ – 長いプログラムでも機械語に変換する時間を短縮できる • プロセッサモニタ、プロセッサデバッガ – FPGAボードに実装されたプロセッサの動作を検証できる – 負の値を設定できるようになりデバッグを行いやすい 8 まとめ • プロセッサ設計支援ツール • PSCSFプロセッサの設計 • プロセッサ設計支援ツールの評価と改善 – 命令セット定義ツール、命令セットシミュレータ – 命令セットアセンブラ、プロセッサモニタ、プロセッサデバッガ 今後の課題 • プロセッサ設計支援ツールの有効性の向上 • 更なるプロセッサ設計時間の短縮 9
© Copyright 2024 ExpyDoc