初めに・・・ 寝てしまう前に・・・ 実験ホームページ 計算機科学実験及演習 3A SIMPLEアーキテクチャ のプロセッサの実装 http://www.kuis.kyoto-u.ac.jp/ecs/isle/ 実験を進めるのに必要な資料があります 教官/TA等の連絡先もあります 京都大学 工学部情報学科 計算機科学コース 計算機科学実験及演習3 HW 担当グループ 2015/04 2 座学の概要 座学の概要 1. 2. 3. 4. 1. 2. 3. 4. ハードウェア実験 SIMPLEアーキテクチャ PowerMedusaボード 実験の進め方 3 ハードウェア実験 SIMPLEアーキテクチャ PowerMedusaボード 実験の進め方 4 ハードウェア実験 ハードウェア実験 - 内容と目的 - ソフト/ハード両方の知識を生かした最適化 内容 プロセッサの内部構造を意識したプログラムの最適化 プログラムを効率よく実行できるアーキテクチャ マイクロプロセッサの方式設計、論理設計 FPGA上で応用プログラムを動作 ソフト/ハードを統合したシステム全体の設計 一昔前 目的 ハードウェア:デバイス技術で汎用プロセッサが高速化 ソフトウェア:汎用システム上での新しい情報処理技術を開発 プロセッサの動作原理を理解する 回路設計、最適化、動作テストの方法を知る 現在 クロック高速化の限界 ⇒ マルチコア、メニーコアへ モバイル、組込みシステムの普及 ⇒ 専用プロセッサ、専用回路 ハードウェア設計環境の進展 • ソフトと同じように「コンパイル」 • 何をソフトで、何をハードで実現するか選択 参考書 富田眞治、中島浩: コンピュータハードウェア D.A.パターソン、J.L.ヘネシー著、成田光彰訳: コ ンピュータの構成と設計(上),(下) 第3or4版 5 ハードウェア実験の概要 アセンブリ add R1, R2, R3 ハード/ソフト両方の知識があるとこの業界では有利 京大計算機コースを出てたらハードもソフトもできて当然 6 SIMPLEの概要 Sixteen-bit Microprocessor for Laboratory Experiment 実験3ソフトウェアでは高級言語のコードを機 械語(ビット列)に変換するものを作る C言語 a = b + c; - コースでの位置付け - 簡単な命令セット ☺基本機能は1通り備えられている 機械語 01101010… 実験3ハードウェアでは機械語(ビット列)を解 釈して実行する論理回路(の塊)を作る 特徴 16bit固定長命令 8本の汎用レジスタ 16bit×64K語の主記憶 ロード/ストア・アーキテクチャ 2オペランド形式の命令セット(Rd op Rs -> Rd) 機械語 01101010… 基本的に、実験2ハードウェアの順序回路の延長 7 8 アーキテクチャの説明 主記憶とレジスタ アーキテクチャ コンピュータの状態を表すもの 1. 主記憶 コンピュータ全体の構成 16bit×64K語 (語アドレス方式) プロセッサ、メモリ、I/Oなど ただし、実験で使用するFPGAでは約5K語(旧)、33K語) (新)が最大 主記憶とレジスタの構成ここに含む 2. 汎用レジスタ 命令セット・アーキテクチャ 16bit×8語 命令の構成 前述のロード/ストア・アーキテクチャは命令セット の形式の1つ 3. プログラム・カウンタ (PC) 16bit 4. 条件コード S サイン Z ゼロ C キャリー V オーバーフロー マイクロ・アーキテクチャ アーキテクチャの回路レベルでの実装 9 命令セット 10 演算命令 コンピュータの状態を変えるもの 1. 演算命令 算術論理演算命令 r[Rd] = r[Rd] op3 r[Rs] 算術論理演算命令 シフト命令 シフト命令 r[Rd] = shift_op3(r[Rs], d) 2. ロード/ストア命令 3. 分岐命令 注:実行後に条件コードをセットする 無条件分岐命令 条件分岐命令 11 4. その他 15 入出力命令 停止命令 11 Rs 13 Rd 10 op3 7 d 3 0 12 ロード/ストア命令(1) ロード/ストア命令(2) ロード命令 (op1 : 00) 即値ロード命令 r[Ra] = *(r[Rb] + sign_ext(d)) r[Rb] = sign_ext(d) 即値ロード命令2つとシフト命令で任意の16bitの 値をレジスタ格納できる ストア命令 (op1 : 01) *(r[Rb] + sign_ext(d)) = r[Ra] op1 15 Ra 13 Rb 10 10 d 7 15 0 001 13 Rb 10 d 7 0 13 分岐命令(1) 14 分岐命令(2) 無条件分岐命令(B: Branch) 条件分岐命令 PC = PC + 1 + sign_ext(d) if (cond) PC = PC + 1 + sign_ext(d) 条件コードの値に従って分岐 10 15 110 13 条件コードは演算命令の実行時にセットされる d 10 7 0 10 15 15 111 13 cond 10 d 7 0 16 その他の命令 基本的な実装 SIMPLE/B 停止命令(op3: 1111) 入力命令(op3: 1100) 次スライドに示すように演算器/レジスタ/データ・ パスを配置 5つのフェーズを逐次活性化: 実験2の順序回路と同じ r[Rd] = input P1 P2 P3 P4 P5 入力先はボード上のスイッチ 出力命令(op3: 1101) output = r[Rs] 出力先はボードのLED/7SEG LED 命令フェッチ 命令デコード、レジスタ読み出し 演算 主記憶アクセス レジスタ書き込み/PC更新 フェーズの活性化: 制御部が担当 11 15 Rs 13 Rd 10 op3 d 7 3 (フェーズへ入力されるデータを保持するレジスタを更新) フェーズ内のセレクタを適切に切り替える フェーズから出力されるデータを保持するレジスタを更新 0 17 PC P1 100 100 実行のサンプルの命令 + IR レジスタ 00 11 P2 22 18 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 200 5 33 ロード命令: プログラム・カウンタ100 P3 P4 P5 + データ・バス データ・バス BR アドレス・バス アドレス・バス 15 AR 1000 210 MDR 19 10 d (00001010) 7 ADD R0, R2 15 主記憶 13 0 0 1 10 0 加算命令: プログラム・カウンタ101 11 DR 略記 略記 LD R0, 10(R1) Ra Rb 00 (000) (001) 略記 略記 Rs Rd op3 (010) (000) (0000) 13 10 7 32 0 0 - d 3 0 20 実行のサンプルの命令 PC P1 + 略記 略記 P2 d (11111011) 10 7 11 22 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 200 5 33 0 AR BR P3 + P1 0 0 1 10 22 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 200 5 P4 P5 IR 00 11 P2 22 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 200 5 BR + データ・バス データ・バス 10 アドレス・バス アドレス・バス 33 200 P3 0 0 1 10 レジスタ 33 AR 100 100 + IR 00 11 PC P1 レジスタ P2 22 100 100 + 210 主記憶 MDR P5 1000 AR 210 P3 DR P4 MDR 200 200 主記憶 23 P5 10 10 BR + DR データ・バス データ・バス PC 1000 DR P4 21 データ・バス データ・バス 13 -5 アドレス・バス アドレス・バス 15 op2 (110) 26 - IR 00 アドレス・バス アドレス・バス 10 0 0 1 10 レジスタ 無条件分岐命令: プログラム・カウンタ102 B -5 100 100 1000 210 210 MDR 主記憶 24 P1 + 0 0 1 10 レジスタ P2 10 10 P3 P4 BR + データ・バス データ・バス 200 200 AR 1000 AR 210 1000 25 実行のサンプルの命令 DR 13 10 7 PC 15 レジスタ 00 1000 11 200 22 5 略記 略記 10 7 32 0 0 - IR 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 33 0 Rs Rd op3 (010) (000) (0000) 13 101 101 + P2 加算命令: プログラム・カウンタ101 ADD R0, R2 210 26 0 0 1 10 d (00001010) 1000 主記憶 MDR P1 略記 略記 BR 210 P5 ロード命令: プログラム・カウンタ100 LD R0, 10(R1) Ra Rb 00 (000) (001) 10 10 1000 主記憶 MDR 11 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 + P4 P5 200 200 P3 210 DR 15 IR 33 アドレス・バス アドレス・バス 33 0 0 1 10 データ・バス データ・バス 22 レジスタ 00 1000 11 200 22 5 AR 32 0 0 - P3 d 3 BR P4 0 27 P5 + データ・バス データ・バス P2 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 200 5 101 100 100 101 + IR 00 11 PC アドレス・バス アドレス・バス P1 100 100 アドレス・バス アドレス・バス PC 1000 210 DR MDR 主記憶 28 P1 + レジスタ 00 1000 11 200 22 5 32 0 0 - + IR 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 レジスタ 00 1000 11 200 22 5 P2 BR + 1000 主記憶 MDR 29 32 0 0 - P4 P5 データ・バス データ・バス BR アドレス・バス アドレス・バス 5 + DR 210 主記憶 PC 102 101 101 102 + レジスタ 00 1000 1005 11 200 22 5 P2 32 0 0 - IR 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 33 1000 P3 1000 30 IR 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 BR MDR P5 33 AR 5 1005 DR P1 + P2 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 + 101 101 レジスタ 00 1000 11 200 22 5 1000 P3 P4 P5 P1 AR 210 DR PC IR データ・バス データ・バス 5 データ・バス データ・バス 1000 P3 P4 32 0 0 - 33 アドレス・バス アドレス・バス 33 AR 101 101 1000 AR 210 P3 1005 P4 MDR 1000 主記憶 31 P5 5 BR + DR データ・バス データ・バス P2 PC アドレス・バス アドレス・バス P1 101 101 アドレス・バス アドレス・バス PC 1000 210 1005 MDR 主記憶 32 実行のサンプルの命令 PC P1 + 略記 略記 P2 d (11111011) 10 7 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 33 0 AR BR P3 + P1 PC P1 レジスタ 00 1005 11 200 22 5 P2 34 102 102 + 26 - -5 レジスタ 00 1005 11 200 22 5 P2 BR P5 + データ・バス データ・バス AR P4 26 - -5 IR 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 33 アドレス・バス アドレス・バス 33 P3 102 102 + IR 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 210 主記憶 MDR P5 1000 AR 210 P3 DR P4 MDR 103 103 主記憶 35 P5 -5 BR + データ・バス データ・バス PC 1000 DR P4 33 データ・バス データ・バス 13 -5 アドレス・バス アドレス・バス 15 op2 (110) 00 アドレス・バス アドレス・バス 10 26 - IR レジスタ 1005 11 200 22 5 無条件分岐命令: プログラム・カウンタ102 B -5 102 102 1000 210 DR MDR 主記憶 36 P1 + レジスタ 00 1005 11 200 22 5 26 - -5 + IR 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 レジスタ 00 1005 11 200 22 5 P2 -5 BR + データ・バス データ・バス 103 103 P3 1000 主記憶 MDR 37 P1 102 98 102 98 P2 26 - -5 IR 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 P3 P4 P5 -5 BR + DR データ・バス データ・バス 103 103 アドレス・バス アドレス・バス 33 AR -5 IR 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 P5 -5 BR + DR 1000 210 98 98 MDR 主記憶 38 制御部について + レジスタ 00 1005 11 200 22 5 103 103 P3 P4 P5 PC AR 210 98 98 DR P4 26 - 33 アドレス・バス アドレス・バス 33 AR 102 102 1000 210 フェーズ・カウンタでフェーズを数える フェーズと命令レジスタの内容により、必要な信号線をアサー トする reset信号による各部のリセット、exec信号による各部の動 作開始、等 とりあえず、フェーズを数えるフェーズ・カウンタ があると楽なように設計してあります 各フェーズに対応した信号線をアサート PC,AR,BR,DR等はフェーズの信号でアサート 98 98 MDR 各種レジスタの書き込み信号やセレクタの切り替え は何がやっている? -> 制御部がやっている P1 P1 P2 P2 P3 P3 P4 P4 P5 P5 P2 PC データ・バス データ・バス P1 102 102 アドレス・バス アドレス・バス PC 主記憶 39 40 制御信号の例: MDRレジスタ書き込み信号 フェーズ・ フェーズ・ カウンタの出力 カウンタの出力 IRの出力 IRの出力 P1 P1 P2 P2 P3 P3 P4 P4 P5 P5 IR15 15 IR IR14 14 IR IR77 IR IR66 IR IR55 IR IR44 IR IRの出力 IRの出力 P1 P1 P2 P2 P3 P3 P4 P4 P5 P5 IR15 15 IR IR14 14 IR IR77 IR IR66 IR IR55 IR IR44 IR フェーズ・ フェーズ・ カウンタの出力 カウンタの出力 MDRレジスタ 書き込み信号 (IN命令) フェーズ信号を用いて 必要なときのみレジスタ更新 MDRレジスタの MDRレジスタの 書き込み信号へ 書き込み信号へ MDRレジスタの MDRレジスタの 書き込み信号へ 書き込み信号へ 41 42 MDRレジスタ 書き込み信号(ロード命令) 制御部の作り方 フェーズ・ フェーズ・ カウンタの出力 IRの出力w カウンタの出力 IRの出力w P1 P1 P2 P2 P3 P3 P4 P4 P5 P5 IR15 15 IR IR14 14 IR IR77 IR IR66 IR IR55 IR IR44 IR 作るのに最も苦労する所だと思います 作り方 1. 1つの制御信号に対し、IR(の一部)とフェーズに対 する真理値表を作る 2. 最小化や式変形で論理関数を求める 3. 全ての制御信号に対して1,2を行う 4. 実装する MDRレジスタの MDRレジスタの 書き込み信号へ 書き込み信号へ 43 注意: 制御部は小さくなるように工夫する 小さいほうがミスがまぎれこむ可能性が減る レジスタ番号や演算の指定部は、制御部を通さず に直接必要なところに導く 制御部はできるかぎり簡単になるように命令セットは作 られている 44 セレクタの切り替え信号の例 PC P1 レジスタ・ファイル ほとんどのセレクタ切り替え信号は組み合わ せ回路になります 100 100 IR 00 11 P2 IRの値に応じて切り替え信号を生成すれば良い 22 0 0 1 10 100 3 2 0 0 - 101 200 5 AR 書き込み先はまた別の制御 BR P3 P4 45 セレクタの選択信号の例: レジスタ書き込み値選択信号 データ・バス データ・バス MDRの値を選択: IN命令、ロード命令 DRの値を選択: その他の命令 アドレス・バス アドレス・バス 33 例:結果値選択信号 1000 210 DR MDR P5 主記憶 46 結果値選択信号: 組み合わせ論理 以下のor IRの出力 IRの出力 11 15 Rs 13 Rd 10 IR15 15 IR IR14 14 IR IR77 IR IR66 IR IR55 IR IR44 IR 命令がIN命令: IRの上位2bitが11かつop3が1100 op3 (1100) d 7 3 0 命令がロード命令: IRの上位2bitが00 00 15 Ra 13 Rb 10 d 7 P5のセレクタの選択信号へ P5のセレクタの選択信号へ 0 47 48 結果値選択信号: 組み合わせ論理(IN命令) 結果値選択信号: 組み合わせ論理(ロード命令) IR15 15 IR IR14 14 IR IR77 IR IR66 IR IR55 IR IR44 IR IRの出力 IRの出力 IR15 15 IR IR14 14 IR IR77 IR IR66 IR IR55 IR IR44 IR IRの出力 IRの出力 P5のセレクタの選択信号へ P5のセレクタの選択信号へ P5のセレクタの選択信号へ P5のセレクタの選択信号へ 49 論理設計の例 PC周辺 50 PC P1 + レジスタ 00 1000 1005 11 200 22 5 PCの動作 リセットで0に初期化 マルチプレクサで以下の更新値を切り替え 102 101 101 102 P2 PC+1 DR 32 0 0 - IR 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 AR 1000 P3 P4 51 P5 5 BR + DR データ・バス データ・バス 切替条件は分岐命令&分岐が成立したか P5で書き込み アドレス・バス アドレス・バス 33 1000 210 1005 MDR 主記憶 52 PC P1 102 98 102 98 論理設計の例 PC周辺 + 26 - レジスタ 00 1005 11 200 22 5 P2 -5 IR 0 0 1 10 100 3 2 0 0 - 101 2 6 - -5 102 加算器 アドレス・バス, p2 branch 33 + マルチプレクサ PC •D-FF(フリップ・フロップ)で作成 •1bitのD-FFを16個並べる 1 -5 P3 BR + DR P4 データ・バス データ・バス 103 103 AR アドレス・バス アドレス・バス S 0 1000 210 D Q 1 PC 98 98 CLR P5 DR 主記憶 MDR branch + PC周辺(p5, !branchの動作) アドレス・バス, p2 加算器 branch reset 1 •ボードからのリセット信号 •他にもフェーズ・カウンタ等をク リア S p5 0 D Q 1 DR reset + アドレス・バス, p2 reset 1 •ボードからのリセット信号 •他にもフェーズ・カウンタ等をク リア S p5 101 D Q 1 branch CLR p5 101 マルチプレクサ 0 •フェーズ・カウンタのp5 PC 54 論理設計の例 論理設計の例 PC周辺 加算器 マルチプレクサ •1bitマルチプレクサを16個並べ る reset p5 53 マルチプレクサ 加算器 •1bit加算器を16個並べてキャリ ーを繋ぐ •別にCLAとかCSAとかでもOK •フェーズ・カウンタのp5 101 100 branch PC •IRの上位2bitが10 •op2が100 •op2が111かつ条件分岐が 成立条件する条件を満たす CLR DR 55 p5 reset •IRの上位2bitが10 •op2が100 •op2が111かつ条件分岐が 成立条件する条件を満たす 56 論理設計の例 改良 PC周辺(p5, branchの動作) 加算器 branch + マルチプレクサ reset 1 •ボードからのリセット信号 •他にもフェーズ・カウンタ等をク リア S 0 命令セット・アーキテクチャの改良 アドレス・バス, p2 p5 98 D Q 1 CLR p5 reset フェーズの並列実行(パイプライン化) branch PC 98 マイクロ・アーキテクチャの改良 •フェーズ・カウンタのp5 102 98 DR 即値オペランドの強化 入出力命令の強化 割り込みのサポート オリジナルの命令の追加 何らかの拡張を行って、拡張前と比較する •IRの上位2bitが10 •op2が100 •op2が111かつ条件分岐が 成立条件する条件を満たす プログラムの実行がどれだけ高速化したか? 追加で必要となったハードウェアは? 57 座学の概要 58 CADによる設計 Altera社のQuartus IIを使います 1. ハードウェア実験の意味 2. SIMPLEアーキテクチャ 3. PowerMedusaボード CADによる設計 FPGAとは PowerMedusaボードの概要 4. その他 59 60 CADによるハードウェア設計の 概要 CADの機能 設計 基本的にC言語によるプログラミングと同じ 基本はブロック・ダイヤグラム・エディタによる 設計 HDL(Hardware Description Language)も使 用可 ハードウェアを機能ごとにブロックに分割する (=プログラムを機能ごとに関数に分割する) ブロックへの入力/出力が煩雑にならないように分割 グループ内で合意をとること 一部のモジュールをHDLで設計、など 各ブロックの回路を組み、入出力を設定 必要があれば、シミュレータでテスト 検証 作成したブロックを組み合わせて新たなブロックを組む 最上位のブロックの入出力にFPGAのピンを割り当てる 論理シミュレーション タイミング・シミュレーション その他 … メモリ・エディタなど 61 CADによるハードウェア設計の 概要 62 FPGAとは FPGA (Field Programmable Gate Array) プログラム可能な LSI の一種 簡単な論理回路を実現できる論理ブロックとそれを つなぐ配線がつめこまれている CADで作成した接続情報をダウンロードして任意の 論理回路を実現する … 設計の例: 16bit桁上げ伝播加算器 AND/OR/XORゲートで半加算器を作る 半加算器とANDゲートで全加算器を作る 全加算器を16個ならべ、キャリーを繋げる 論理 論理 ブロック ブロック 論理 論理 ブロック ブロック 論理 論理 ブロック ブロック 論理 論理 ブロック ブロック 論理 論理 ブロック ブロック 論理 論理 ブロック ブロック スライド説明の後に、実際にCADを使って回路を作るデモを 見せます 論理 論理 ブロック ブロック 論理 論理 ブロック ブロック 論理 論理 ブロック ブロック 論理 論理 ブロック ブロック 論理 論理 ブロック ブロック 論理 論理 ブロック ブロック 回路作成∼論理シミュレーション∼FPGAボードへのダウンロード 論理 論理 ブロック ブロック 論理 論理 ブロック ブロック 論理 論理 ブロック ブロック 論理 論理 ブロック ブロック 論理 論理 ブロック ブロック 論理 論理 ブロック ブロック 配線 63 64 FPGA内部での論理回路の実現 実験で使うFPGA (旧ボード)Altera EP1C6Q240C8 FPGA内部での論理回路実現方法は様々 5980ロジック・エレメント n入力ルックアップ・テーブル(LUT) 積項型 各LEは4入力LUTとレジスタで構成 92160bitのRAM 240ピンPQFPパッケージ 現在はLUTが主流 任意のn入力に対して任意の出力関数を設定可能 論理回路のLUTへの割り付けはコンパイラが行う out 0 0 ? ? 0 0 0 0 0 1 1 1 1 1 28848ロジック・エレメント 540672bitのRAM 66個の18x18マルチプライヤ 484ピンFBGAパッケージ … 4入力 LUT out … a b c d a b c d (新ボード)Altera EP4C30F23I7N ? 65 PowerMedusaボード(MU200-EC6S) 66 PowerMedusaボード(MU200-EC6S) トレーニング用FPGAボード FPGA Altera社 Cyclone EP1C6Q240C8 メモリはFPGA内部にSRAMブロックで構成 I/O 入力 • テンキー 20個 • ロータリースイッチ 2個 出力 • LED 8個 • 7SEG LED 8個 • ブザー その他 クロック発振器、クロックパルス発生スイッチ リセットスイッチ 67 68 PowerMedusaボード(MU200-EC6S) PowerMedusaボード(MU200-7SEG) 結果出力用ボード 8個の7SEG LED が8セット 64個のLEDが1セッ ト 一度に1セットの み書き換え可能 書き換えない場合、 値はホールドされ る ブザー クロック周波数切り替え用 クロック周波数切り替え用 ロータリースイッチ ロータリースイッチ FPGA FPGA EP1C6 EP1C6 7SEG 7SEG LED LED ロータリー スイッチ クロックパルス発生用 クロックパルス発生用 スイッチ スイッチ LED LED 設計が込み入って きたら使うと便利 テンキー コンフィギュレーション用 コンフィギュレーション用 インタフェース インタフェース 69 70 ボードの詳しい情報 PowerMedusaボード (MU500-RX/RK/7SEG) PowerMedusaボード(MU500 実験Web上のマニュアル参照(印刷したのも少 し用意あり) FPGAの各ピンと入出力装置がどうつながっているか ピンとLEDやブザーの間にはon/offスイッチがあります 各スイッチの諸元はどうなっているか 負論理のスイッチもあります 確かどこか間違ってたと思いますので注意 0,1,…7が1,2,…8になってたような気がします 71 72 座学の概要 1. 2. 3. 4. 提出課題(1/2) ハードウェア実験の意味 SIMPLEアーキテクチャ PowerMedusaボード 実験の進め方 初回レポート: 個人単位, 4/16(木) 17:00締切 1桁の16進数を7SEG LED上で0-Fで表示させる 組み合わせ論理回路、及び、カウンタ回路の設計 と実装 中間報告: グループ単位 レポート: 5/7(木) 17:00締切 各種仕様書、考察等 設計データを別途提出 デモ: 5/8(金) 8:45–12:00 何らかの命令が動作している所を見せる 一部の命令だけでも動作できる実装で間に合わせるのも あり 73 提出課題 (2/2) 最終報告: 74 課題とツールについて HDLで設計してよいか グループ単位 (最初の課題を除き) Verilog-HDL, VHDL 使用OK。 相方とよく打ち合わせること。 デモ: 5/28(木) 13:00-16:15 Megafunction (演算器等)を使ってよいか 設計したプロセッサの特徴の説明 「 SIMPLE/Bに比べてこんな点がすぐれているんで すよ」というセールストークをして下さい 応用プログラムの実行 OK。ただし部品を呼び出して使っただけの部分は評価対象外なので、 他のところで工夫してそれなりにすごいものを作ること。 いずれの場合も、どう設計したか、何を使ったか、レポートに明 記すること。 単に動くだけではなく、スピード、回路規模、消費電力の最適化 を目指すこと。 レポート: 6/11(木) 17:00締切 最終成果物のユーザーズマニュアル SIMPLE/B基本仕様からの拡張および性能評価 各コンポーネントの仕様書(最終版)、性能評価 考察、感想 設計データを別途提出 自宅で設計できる? QuartusII Web Edition (ユーザ登録無料)を入れて使えます。 最新版は旧ボードのCycloneに対応していないので注意。 シミュレータはどこ? 75 QuartusII Ver.10からは別ツール(ModelSim)を使います。 76 コンテスト 実験ホームページ http://www.kuis.kyoto-u.ac.jp/ecs/isle/ の実験及演 習3A 「俺のプロセッサはすごいぜ!」ということ を証明したいあなたに… データをソートする時間を競うコンテスト カレンダー 大まかな作業内容 3回の報告の日程、報告内容 データ 16bitの符号付整数1024個 ランダム、昇順ソート済み、降順ソート済みの3種類 資料 時間の定義 完了までのクロック・サイクル数×クロック周波数 3種類のデータ各々の処理時間の平均値 ぜひ参加して、昨年度の記録を破って下さい。 (過去の記録と比較するなら旧ボードでの動作が必要。) 初回講義スライド、SIMPLE仕様書、Power Medusa取扱説明書、CADのチュートリアル よくある質問とその答え(FAQ) Altera社のQuartusIIの資料へのリンク 教員/TAの連絡先 77 78
© Copyright 2024 ExpyDoc