160 likes | 297 Views
学生によるプロセッサ設計実験に基づいたハード / ソフト協調学習システムの評価. 立命館大学 理工学研究科 ◎井手 純一 志水 建太 山崎 勝弘 小柳 滋 2008/09/03. 発表内容. 研究背景・目的 ハード / ソフト協調学習システム プロセッサ設計支援ツール 学生によるプロセッサ設計 システムの評価 まとめと今後の課題. 研究背景. システム LSI の高集積化 ハードとソフトの両方を理解できる人材 ハード / ソフト協調学習システムの開発. 研究目的. ハード / ソフト協調学習システムの利用 プロセッサ設計支援ツールの評価
E N D
学生によるプロセッサ設計実験に基づいたハード/ソフト協調学習システムの評価学生によるプロセッサ設計実験に基づいたハード/ソフト協調学習システムの評価 立命館大学 理工学研究科 ◎井手 純一 志水 建太 山崎 勝弘 小柳 滋 2008/09/03
発表内容 • 研究背景・目的 • ハード/ソフト協調学習システム • プロセッサ設計支援ツール • 学生によるプロセッサ設計 • システムの評価 • まとめと今後の課題
研究背景 • システムLSIの高集積化 • ハードとソフトの両方を理解できる人材 • ハード/ソフト協調学習システムの開発 研究目的 • ハード/ソフト協調学習システムの利用 • プロセッサ設計支援ツールの評価 • システム全体の評価
プロセッサ 学習システム ソフトウェア学習 ハードウェア学習 サンプル プログラム HDLによる プロセッサ設計 HDL シミュレータ MONI シミュレータ FPGAボード- コンピュータ上で検証 MONIプロセッサ アーキテクチャ理解 プロセッサ設計 能力の習得 プロセッサ設計支援ツール 命令セット アセンブラ プロセッサ モニタ 命令セット設計 プロセッサ デバッガ 命令セット 定義ツール 命令セット シミュレータ ハード/ソフト協調学習システム
命令セット設計の流れ 命令セット シミュレータ 実行結果 ・命令長 ・命令形式 ・命令動作 などを定義 定義した 命令セット 専用の プログラム 命令セット 定義ツール 命令セット 情報 アセンブリ プログラム 命令セット アセンブラ 機械語 5
プロセッサデバッガ・モニタ コマンドをデコード ボードコンピュータを制御 コマンドを 入力 ・ プロセッサモニタ → プロセッサデバッガに指示 ・ プロセッサデバッガ → パソコン操作で実機のデバッグを進める コマンドの送信 データの書込み プロセッサデバッガ フレーム データ シリアル ポート プロセッサ データ シリアル IF モニタ メモリ レジスタ・メモリ の読出し 実行 コマンド 読み出し コマンド フレーム IF プロセッサ 命令 デバッガ メモリ ホスト PC 端 末 Spartan - 3 FPGA 6
デバッグコマンド • プロセッサを停止するhalt、プロセッサをリセットするrst • デバッグコマンドを表示するhelp、プロセッサモニタを終了するexitを用意
ハード/ソフト協調学習システムを用いた学生のプロセッサ設計実験内容ハード/ソフト協調学習システムを用いた学生のプロセッサ設計実験内容 • MONIシミュレータを用いた アセンブリプログラミング • プロセッサ設計 - 独自の命令セット定義 - プロセッサ設計と検証 • ハード/ソフト協調学習システムの評価 - 以前の学習者と比較 - プロセッサ設計支援ツールの評価 - システムの評価と今後の課題
学生によるプロセッサ設計 • 命令セットの定義 • SARIS • 命令長16ビット固定 • 3オペランド命令方式 • 全22命令 • 4つの命令形式 • フィールドopの上位2ビットを形式別に使用
SARISプロセッサの設計 • SARISプロセッサ - シングルサイクル - マルチサイクル ・J形式命令、条件分岐命令、ST命令はP2で終了 • 設計規模 ・Xilinx社のSpartan-3 Starter Kitボード(20万ゲート) ・論理合成ツール:Xilinx社の総合開発環境ISE9.1i
SARISプロセッサの検証と評価 • クロックサイクル数 • 動作周波数とCPI ・マルチサイクルはシングルサイクルの約3.1倍 ・シングルサイクルの方がプログラムの処理速度が速い ・マルチサイクルにおける各モジュールの最適化が必要
プロセッサ設計実験の比較 • MONIプロセッサ - 単一、マルチサイクル - 命令語長:16bit - 3オペランド命令方式 - 全42命令 - 4命令方式 • MONIとSARISの実装結果
ハード/ソフト協調学習システムの評価 • プロセッサ設計支援ツール - 命令セット定義ツール・命令セットアセンブラ ・ 検証プログラムを機械語に変換する時間が短縮 ・ 全体の検証、デバッグ時間の短縮 - プロセッサデバッガ・モニタ ・ 実機検証でのデバッグの容易化 ・ 1命令実行が可能 ・ ブレイクポイント実行 エラー箇所特定
ソフトウェア学習の評価 (学習時間) ・ MONI設計者をA、SARIS設計者をB ・ アセンブリプログラミング技術の向上 A → 階乗・三角形判定・二次方程式の根の判別・素数判定・除算・ 直線の方程式・8×8の行列計算・BCDコード加算/減算 B → Nまでの和・乗算・除算・階乗・素数判定・二次方程式の根の 判別・最大公約数・バブルソート ・ MONIシミュレータによりプロセッサアーキテクチャの理解
ハードウェア学習の評価 (学習時間) ・ HDLシミュレータ上のデバッグ → A: 命令セット定義無し B : 独自の命令セット定義 ・ プロセッサデバッガ・モニタを用いたデバッグ → A: デバッグコマンド数が少ない B : デバッグコマンド数を拡張
まとめ • ハード/ソフト協調学習システム - プロセッサ設計支援ツール • 学生によるプロセッサ設計実験 - 独自の命令セットを定義 • ハード/ソフト協調学習システムの評価 - 学生のプロセッサ設計実験の比較と検証 今後の課題 • 命令セットシミュレータの実装と評価 • ハード/ソフト協調学習システムの評価