Upload
ruana
View
54
Download
0
Embed Size (px)
DESCRIPTION
学生によるプロセッサ設計実験に基づいたハード / ソフト協調学習システムの評価. 立命館大学 理工学研究科 ◎井手 純一 志水 建太 山崎 勝弘 小柳 滋 2008/09/03. 発表内容. 研究背景・目的 ハード / ソフト協調学習システム プロセッサ設計支援ツール 学生によるプロセッサ設計 システムの評価 まとめと今後の課題. 研究背景. システム LSI の高集積化 ハードとソフトの両方を理解できる人材 ハード / ソフト協調学習システムの開発. 研究目的. ハード / ソフト協調学習システムの利用 プロセッサ設計支援ツールの評価 - PowerPoint PPT Presentation
Citation preview
学生によるプロセッサ設計実験に基づいたハード / ソフト協調学習システムの評
価
立命館大学 理工学研究科◎ 井手 純一
志水 建太山崎 勝弘小柳 滋
2008/09/03
1
発表内容
• 研究背景・目的• ハード / ソフト協調学習システム• プロセッサ設計支援ツール• 学生によるプロセッサ設計• システムの評価• まとめと今後の課題
2
研究背景• システム LSI の高集積化• ハードとソフトの両方を理解できる人材• ハード / ソフト協調学習システムの開発
研究目的
• ハード / ソフト協調学習システムの利用• プロセッサ設計支援ツールの評価• システム全体の評価
3
ハード / ソフト協調学習システム
プロセッ
サ設計支援
ツー
ル
命令セット設計
命令セット 定義ツール
命令セットアセンブラ
命令セットシミュレータ
プロセッサ モニタ
プロセッサ デバッガ
プロセッ
サ
学習システム
サンプル プログラム
MONI プロセッサ アーキテクチャ理
解
ソフトウェア学習 ハードウェア学習 HDL による
プロセッサ設計
HDL シミュレータ FPGA ボード -
コンピュータ上で検証
MONI シミュレータ
プロセッサ設計 能力の習得
4
命令セット設計の流れ
命令セット定義ツール
命令セット情報
命令セットシミュレータ
命令セットアセンブラ
実行結果
機械語
定義した命令セット専用のプログラム
・命令長・命令形式・命令動作などを定義
5
アセンブリプログラム
プロセッサモニタ → プロセッサデバッガに指示・ プロセッサデバッガ → パソコン操作で実機のデバッグを進める・
Spartan -3 FPGA
プロセッサデバッガ
ホストPC端末
プロセッサ モニタ
デバッガ
データ メモリ
プロセッサ フレーム IF
シリアル IF
命令 メモリ
コマンドをデコードボードコンピュータを
制御
コマンドを
入力
コマンドの送信データの書込み
レジスタ・メモリの読出し
6
シリアル
ポートフレーム
実行コマンド読み出しコマンド
データ
プロセッサデバッガ・モニタ
7
コマンド ターゲット 意味
load dm/im/rf/bp プロセッサモニタにファイルをロード
save dm/im/rf/pc/bp メモリ・レジスタ内容を保存
set pc/bp PC ・ブレイクポイント設定
del bp ブレイクポイント削除
write dm/im/rf メモリ・レジスタの書き込み
read dm/im/rf/pc メモリ・レジスタの読み出し
run all 通常実行
run clk N N クロック実行
run bp ブレイク実行
list/init dm/im/rf/pc/bp メモリ・レジスタの表示 / 初期化
• プロセッサを停止する halt 、プロセッサをリセットする rst デバッグコマンドを表示する help 、プロセッサモニタを終了す
る exit を用意
デバッグコマンド
ハード / ソフト協調学習システムを用いた学生のプロセッサ設計実験内容
• MONI シミュレータを用いたアセンブリプログラミング
• プロセッサ設計 - 独自の命令セット定義 - プロセッサ設計と検証• ハード / ソフト協調学習システムの評価 - 以前の学習者と比較 - プロセッサ設計支援ツールの評価 - システムの評価と今後の課題
8
学生によるプロセッサ設計• 命令セットの定義
9
bitformat 5 2 3 3 3
RR op fn rs rt rd
RI op fn imm rt rd
I8 op Immediate (rd)
J op immediate
• SARIS• 命令長16ビット固定• 3オペランド命令方式• 全22命令• 4つの命令形式• フィールド op の上位2ビットを形式別に使用
SARIS プロセッサの設計• SARIS プロセッサ - シングルサイクル - マルチサイクル
10
Phase と動作P0 PC 更新、命令フェッチP1 命令デコード、 RF 読み出
しP2 ALU 処理P3 PC 更新、 RF に演算結果格
納・ J形式命令、条件分岐命令、 ST 命令は P2で終了
• 設計規模スライス数 LUT 数 フリップフロップ数 FPGA 使用率 (%)
シングル 369 692 140 19
マルチ 443 749 237 23
・ Xilinx 社の Spartan-3 Starter Kit ボード (20 万ゲート )論理合成ツール:・ Xilinx 社の総合開発環境 ISE9.1i
SARIS プロセッサの検証と評価• クロックサイクル数
11
• 動作周波数と CPI
プログラム シングル マルチ
N までの和 N=10 44 164
階乗 (N!) N=8 163 603
最大公約数 574,329 92 340
除算 27/2 65 240
根の判別 2X2+12X+18 153 552
SARIS 最高動作周波数 (MHZ) CPI
シングル 21.2 1
マルチ 66.3 3.7
・マルチサイクルはシングルサイクルの約 3.1 倍・シングルサイクルの方がプログラムの処理速度が速い・マルチサイクルにおける各モジュールの最適化が必要
プロセッサ設計実験の比較• MONI プロセッサ - 単一、マルチサイクル - 命令語長 :16bit - 3 オペランド命令方式 - 全 42 命令 - 4 命令方式
12
bit format 5 2 3 3 3
Register op Rs Rt Rd Fn
Immediate5 op Rs Rt Immediate
Immediate8 op RS Immediate/Address
Jump op Target Absolute Address
• MONI と SARIS の実装結果
プロセッサ
サイクル スライス数
FPGA 使用率 (%) 最高動作周波数 (MHz)
MONIシングル 578 30 21.4
4 段マルチ
783 40 51.6
SARISシングル 369 19 21.2
4段マルチ
443 23 66.3
ハード / ソフト協調学習システムの評価
• プロセッサ設計支援ツール - 命令セット定義ツール・命令セットアセンブラ ・ 検証プログラムを機械語に変換する時間が短縮
・ 全体の検証、デバッグ時間の短縮
- プロセッサデバッガ・モニタ ・ 実機検証でのデバッグの容易化 ・ 1 命令実行が可能 ・ ブレイクポイント実行
13
エラー箇所特定
14
設計者 A B
MONI アセンブリプログラミング 13 12
MONI シミュレータ上のデバッグ 12 6
ソフトウェア学習合計
25 18
・ MONI 設計者を A 、 SARIS 設計者を B・ アセンブリプログラミング技術の向上 A → 階乗・三角形判定・二次方程式の根の判別・素数判定・除算・ 直線の方程式・ 8×8 の行列計算・ BCD コード加算 /減算 B → N までの和・乗算・除算・階乗・素数判定・二次方程式の根の 判別・最大公約数・バブルソート・ MONI シミュレータによりプロセッサアーキテクチャの理解
( 学習時間 )
ソフトウェア学習の評価
15
設計者 A B
プロセッサ MONI SARIS
サイクル シングル マルチ シングル マルチ
命令セット定義 0 10 0
アーキテクチャ設計 1 3 5 20
HDL 設計 24 38 35 60
HDL シミュレータ上のデバッグ 14 30 40 35
プロセッサデバッガ・モニタを用いたデバッグ
25 48 15 10
ハードウェア学習合計 64 119 105 125・ HDL シミュレータ上のデバッグ → A : 命令セット定義無し
B : 独自の命令セット定義 ・ プロセッサデバッガ・モニタを用いたデバッグ → A : デバッグコマンド数が少ない
B : デバッグコマンド数を拡張
( 学習時間 )
ハードウェア学習の評価
まとめ• ハード / ソフト協調学習システム - プロセッサ設計支援ツール• 学生によるプロセッサ設計実験 - 独自の命令セットを定義• ハード / ソフト協調学習システムの評価 - 学生のプロセッサ設計実験の比較と検証
16
今後の課題
• 命令セットシミュレータの実装と評価• ハード / ソフト協調学習システムの評価