計算機アーキテクチャ特論 Chapter9(6-7)

Slides:



Advertisements
Similar presentations
TCP/IP によるチャットプログラ ム 薄井 秀晃. 基礎知識編 TCP/IP とは? IP とは・・・ Internet Protocol の略称であり通信方法の技術的なルールで あり、実際にデータを送受信する前にデータを小さなデータ に分割し、それに発信元と受信先の IP アドレスを付加させて.
Advertisements

InstallShieldLecture InstallShield でインストーラを作成する方法 ( 初級編 ) ソニーエンジニアリング 設計 3 部 1 課 齋藤佑輔.
RitsPen 2.0 起動方法 CentOS を 例にして. CentOS を起動した状態 RitsPen がインストールしておく.デスクトップに ritspen というフォルダがあるはず.
実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB : 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎 :
© 2012 IBM Corporation ISCCD7.5 構築 その 3 IBM SmarterCloud Control Desk 7.5 導入 2011/09/30 日本アイ・ビー・エム株式会社.
2017/2/26 情報処理 第5回.
WinDBG6によるRTX5.5デバッグ RTX開発環境 WinDBG6.0 debugモードで起動 232Cクロスケーブル
ファイアウォール 基礎教育 (4日目).
難しいことは置いといて、 取り合えず 「BlazeDS」 を使って、 Flash、AIRアプリから Javaオブジェクトのメソッドを呼び出すための 手順書(Windows版) 2008年2月 Lecce.
UNIX利用法.
PROCESS 14:一般情報(2) InstallShieldLecture
情報検索概説II 第8回 パソコン組み立てと記憶装置 1999/11/25.
Chapter11-4(前半) 加藤健.
JXTA Shell (3) P2P特論 (ソフトウェア特論) 第6回 /
発生生物学特論 PowerPoint の使い方
LZ圧縮回路の設計とハード・ソフト 最適分割の検討 電子情報デザイン学科 高性能計算研究室 4回生 中山 和也 2009/2/27.
Capter9 Creating an Embedded Test Bench ( )
コマンドプロンプトの起動と終了 最初に覚えるコマンド ディレクトリ構造とパス 各種コマンドの練習 Cコンパイルとプログラムの実行
PCの情報を得る - 「システム情報」 ①「スタート」→「すべてのプログラム」→「アクセサリ」→「システム ツール」→「システム情報」とクリックする。 ②左欄の項目を選択すると、右欄に情報が表示される。
Win32APIとMFC H107102 古田雅基 H107048 佐藤一樹 H107126 山下洋平.
USB2.0対応PICマイコンによる データ取得システムの開発
エクスプローラ ● エクスプローラ: ファイルやフォルダを階層構造で表示してあり、これらを操作するのに便利。
Al-Mailのインストールと使い方 インストール –1 (pop-authの設定、Al-Mailのインストール用ファイルをダウンロード)
FPGAを用いたMG3用 インターフェース回路の解説
Fire Tom Wada IE dept. Univ. of the Ryukyus
USB2.0対応PICを用いたデータロガーの製作
Linuxカーネルについて 2014/01.
CSP記述によるモデル設計と ツールによる検証
画像処理ボード上での 高速テンプレートマッチングの 実装と検証
2017/4/9 情報処理 第5回.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
TA 高田正法 B10 CPUを作る 2日目 SPIMのコンパイル TA 高田正法
Titanium Studioを使った アプリ開発 Vol.1
経営工学基礎演習a PowerPointの利用.
Microsoft PowerPoint98 Netscape Communicator 4.06[ja]
九州大学キャンパスクラウド 利用法 情報ネットワーク特論 講義資料.
ツールの紹介と新規起動 プロジェクト演習 CS28  川口 博.
プロジェクト演習Ⅱ インタラクティブゲーム制作 イントロダクション2
高速剰余算アルゴリズムとそのハードウェア実装についての研究
第8回 入出力装置1 インターフェース、ヒューマンデバイス
読み出し回路のアップグレードに向けた研究
1.コンピュータと情報処理 p.18 第1章第1節 2.コンピュータの動作のしくみ CPUと論理回路
C言語講習 第0章 Hello, world!.
オープンソフトウェア利用促進事業 第3回OSSモデルカリキュラム導入実証
コマンドプロンプトの起動と終了 最初に覚えるコマンド ディレクトリ構造とパス 各種コマンドの練習 Cコンパイルとプログラムの実行
実行時情報に基づく OSカーネルのコンフィグ最小化
オペレーティングシステムⅡ 第13回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
巡回冗長検査CRC32の ハード/ソフト最適分割の検討
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
湘南工科大学 2013年10月8日 プログラミング基礎1 湘南工科大学情報工学科 准教授 小林 学.
0.2 プロジェクトの準備 DXライブラリを使うための準備.
Processing使用の準備.
ディジタル回路の設計と CADによるシステム設計
JXTA Shell (1) P2P特論 (ソフトウェア特論) 第4回 /
インタラクティブ・ゲーム制作 プログラミングコース 補足資料
情報処理 タイマの基礎 R8C タイマの基礎.
ファイルのアップロード HTMLファイルをWebサーバにアップロード 名商大のWebサーバ(opinion.nucba.ac.jp)
コンピュータ プレゼンテーション.
2017年度 プログラミングⅡ ~ はじめてのプログラミング ~.
JXTA Shell (2) P2P特論 (ソフトウェア特論) 第5回 /
MIRS システム解説 (超音波センサボードとシリアル通信)
Fire Tom Wada IE dept. Univ. of the Ryukyus
C言語 はじめに 2016年 吉田研究室.
高度プログラミング演習 (01).
Ibaraki Univ. Dept of Electrical & Electronic Eng.
システムプログラミング 第10回 プロセス間通信3 簡易Web server(準備) Chat プログラム 担当:青木義満、篠埜 功
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
C言語講習 第0章 Hello, world!.
ネットワークプログラミング 05A1302 円田 優輝.
エクスプローラ ● エクスプローラ: ファイルやフォルダを階層構造で表示してあり、これらを操作するのに便利。
Presentation transcript:

計算機アーキテクチャ特論 Chapter9(6-7) 学籍番号:6311622 小野寺 道寛

Chapter 9.6 テストベンチの作り方

テストベンチを作るためには ここでのテストベンチとは? テストベンチ作成に必要なこと(概要) ハードウェア部とソフトウェア部の性能テストを行うシステムのこと テストベンチ作成に必要なこと(概要) プラットホーム(テストを行う場所)の作成 FPGAベンダツールを用いて、プラットホームの環境設定を行う プラットホームを実機(FPGAのプロトタイプボード)に実装する Xilinx Platform Studioを使用する 使用するボードは、 VirTexⅡプロトタイプボード

VirTexⅡプロトタイプボード 実際に用いるVirTexⅡプロトタイプボードはMemec Design社製 V2MB1000ボード テストベンチに必要な入出力の資源・便利なその他機能が揃っている。

前準備 生成法(概要) テストベンチの作成に必要となるものを生成する必要がある プラットホームの構築時に使用するハードウェア(HDLファイル) 3DESアルゴリズムが表記してあるファイル テストベンチのソースファイル等 生成法(概要) Impulse C の統合開発環境ツールであるCoDeveloperを使用する。

前準備 生成法(詳細) 1.↓のような生成オプションダイアログで設定を行う。 1 2 A B 3 C D

FPGAのプロトタイプボード、ソフトウェアプロセッサコア、バスアーキテクチャ等 前準備 考慮すべき点1 プラットホームサポートパッケージの指定 テストベンチで使用するものを考慮して指定する必要がある。 FPGAのプロトタイプボード、ソフトウェアプロセッサコア、バスアーキテクチャ等 今回は、 Xilinx MicroBlaze FSLを指定する。 考慮すべき点2 項目Aには、ハードウェア部のソースを生成するディレクトリを指定 項目Bには、ソフトウェア部のソースを生成するディレクトリを指定 項目C,Dには、生成されたソースの移動先ディレクトリを指定 考慮すべき点3 チェックが入っているかどうか確認する(入っていなかったら、チェックを入れる)。 FPGAのコンポーネント(トリプルDES暗号化コア)がMicroBlazeプロセッサとは異なるクロック周波数で動作することを意味する。

前準備 生成法(詳細) 2. CoDeveloperの[Project]メニューから[Generate HDL]を選択する。 これを選択する

前準備 3.コンパイルが行われ、HDLファイル等の様々なファイルが出力される。

Xilinx Platform Studio(XPS)という統合環境ツールを用いて、 プラットホームの作成について Xilinx Platform Studio(XPS)という統合環境ツールを用いて、 プラットホームの作成・環境設定を行う。 XPSを使用する前に、プロジェクトディレクトリの中にEDKという名前のサブディレクトリを作成しておく 後に、前準備の段階で 生成されたファイルを ここに移すことになる このディレクトリにはXPSで作られる プロジェクトファイルが出力される

プラットホームの作成について (プロジェクトファイルの作成) XPSを起動する。 Base System Builder Wizardを選択する。 新しいプロジェクトファイル(system.xmp)を作成する。 Project/system.xmp 以降、XPSを使うことを前提に話を進めていく。 System.xmpの作成 処理2 処理3

プラットホームの作成について (使用するボードの選択) 次に進むと、使用するボードを選択する画面が現れる。 これを選択 このように入力すればよい

プラットホームの作成について (使用するプロセッサの選択) 次に進むと、使用するプロセッサを選択する画面が現れる。 これを選択

プラットホームの作成について (MicroBlazeの環境設定) 基準クロックの周波数 プロセッサバスの クロック周波数 次に進むと、 右図のようなMicroBlazeの 環境設定を行う画面が現れる。 どちらの周波数も100MHzに設定 基準クロック: CPUや周辺機能など各装置の 同期を取るための周期的な信号 これを選択 プロセッサバス: コンピュータ内部で、メモリや入出力装置 などとCPUを接続するデータ伝送路のこと デフォルトでは8KBなので、 64KBに増加させておく。

プラットホームの作成について (I/Oインターフェイスの設定) RS232デバイスとSRAM_256Kx32を選択する。 なお、選択する際には次のようにパラメーターを設定する I/0 Device: RS232 Peripheral: OPB UARTLITE Baudrate(データの伝送速度): 9600(bit/s) Data Bits(1個のデータにおけるビット数): 8 Parity(パリティチェックするかどうか): NONE Use Interrupt (割り込み処理を行うかどうか): disabled RS232デバイスの選択 I/0 Device: SRAM_256Kx32 Peripheral: OPB EMC SRAM_256Kx32の選択 RS232とは、パソコン、モデム等を接続するシリアル通信方式のシリアルインターフェースの一つ。 つまり、シリアルポートの一つ。 シリアルポートとは、1本の信号線を使って1ビットずつ順番にデータを送受信するシリアル転送方式の通信コネクタのこと。

プラットホームの作成について (ソフトウェアの設定ダイアログ) 次に進むと、ソフトウェアの設定ダイアログが表示される。 チェックを入れる 入出力のインターフェースとしてRS232を選択する

プラットホームの作成について (環境設定の完了) 次に進むと、 今まで作成してきた プラットホームの概要が表示される。 [Generate]ボタンを クリックすることによって、 プラットホームとプロジェクトファイルが 生成される。

前準備で作成したファイルを XPSプロジェクトに移動 前準備で作成したファイルをEDKディレクトリに移動させる。 目的: XPSプロジェクトでも、前準備で生成されたHWを利用できるようにするため。 方法: CoDeveloperを起動する。 「 Export Generated Hardware options 」というコマンドを選択 「 Export Generated Software options 」というコマンドを選択

次に、先程EDKに移した3DESハードウェアを HWのプラットホームへのインポート 次に、先程EDKに移した3DESハードウェアを プラットホームにインポートする。 インポートするためには 3DESハードウェアのIPコア(fsl_des)をプラットホームに追加する。 fsl_desをFSLバスに接続する。 最初に行うこと XPSを起動する。 先程作成したSystem.xpsを開く。

fsl_desのプラットホームへの追加 fsl_desの追加方法 「Project→Add/Edit Cores」という項目を選択して、ダイアログを開く。 右下のリストからfsl_desを選択し、Addボタンを押す。 使用可能な 全てのIPコア 処理2 処理2によって 追加された

FSLバスのパラメーターの設定 パラメーターの設定方法 fsl_desをFSLバスに接続する前に、FSLバスのパラメーターの設定を行う。 ここをクリック パラメーターの設定方法 これを選択 理由は分からないけど、おそらくトリプルDESアルゴリズムを使用するためだと思われる。 具体的に言うと、トリプルDESアルゴリズムでは、暗号化→復号化→暗号化というプロセスを3回行うので、 1個のコネクションにつきその処理を1回行うためだと思われます。 3を入力 使用するFSLバスのコネクション数を表す。 この場合は3個使用するということ。 クリック

fsl_desとFSLバスのコネクションの作成 コネクションの作成法 これを選択 ここをクリック ここを3回クリックする。 3つのコネクションを作成するため。 fsl_v20_0に接続 fsl_v20_1に接続 fsl_v20_2に接続

3DESハードウェア用の二次クロックの作成 MicroBlazeプロセッサとは異なるクロック(二次クロック)を作成する。 作成法 ダイアログの[Ports]タグをクリックする。それ以降の処理は以下の通り。 co_clkポートのネット名を変更 (二次クロックの完成) リストに追加される clkとco_clkを追加

ここで、作成した二次クロックに外部ポートを追加する。 方法 Make Externalを選択後、 ここに追加される 二次クロックを持つ ポートを選択する これをクリック (外部ポートの追加)

FSLバスのコネクション用クロックの接続 方法 ダイアログの[Ports]タグをクリックする。それ以降の処理は以下の通り。 FSL_ Clkポートにはsys_clk_sを SYS_Rstポートにはnet_gndを 選択する。 各コネクション(fsl_v20_0,fsl_v20_1,fsl_v20_2)の FSL_ ClkとSYS_Rstポートを追加

OPBタイマーコアの追加 OPBタイマーのIPコアを追加する必要がある。 このタイマーは、3DESアルゴリズムのSWとHWの処理速度を 計るために使用される。 追加法 Add/EditダイアログのPeripheralsタブを選択して、opb_timerを追加する(opb_timer_0が生成される)。 Bus Connectionsタブを選択して、mb_opdバスにopb_timer_0を接続する。 Portsタブを選択し、 opb_timer_0 のOPB_Clkポートにsys_clk_sを選択する 追加法は、先程のfsl_desの追加とほぼ同じなので、 箇条書きのみで示す。

各周辺機器のアドレスが自動的に割り当てられる。 周辺機器のアドレスの指定 例:opb_timer プラットホームの作成に使われた周辺機器のアドレスの指定を行う。 方法 ここをクリック ここをクリックすることによって、 各周辺機器のアドレスが自動的に割り当てられる。

3DESハードウェアを動かすときに使うので、追加する必要がある。 2個目のシステムクロック端子の追加 2個目のシステムクロック端子は 3DESハードウェアを動かすときに使うので、追加する必要がある。 追加法 system.ucfファイル(プロジェクトファイルの下にある)を開く。 「 Net sys_clk_2 LOC=A11; 」という記述を追加する。 なお、今回使用するボードにおいて、A11は24Mhzの周波数を意味する。

テストベンチを表すソフトウェアのソースファイルを アプリケーションSWのインポート テストベンチを表すソフトウェアのソースファイルを プロジェクトにインポートする 方法 4.3を行うと、この画面が表示される。ここで、co_init.cとdes_sw.cを選ぶ。 1.ここをクリック さっきまではプラットフォームを作ってたけど、テストベンチアプリをインポートするよ。 2.ここにあるTestApp.cを削除。 3.ここで右クリックして「Add Files」を選択。

FPGAのビットマップイメージの生成 ボードにアプリケーションをダウンロードするために、 FPGAのビットマップイメージを生成する。 生成法 1.XPSで、「Tools→Generate Bitstream」を選択する。 この処理で、FPGAのビットマップイメージが出力されるが、 ソフトウェアのバイナリイメージは出力されない。 2.「Tools→ Build All User Applications」を選択する。 この処理によって、ソフトウェアのバイナリイメージが出力される。 3.「Tools→ Update Bitstream」を選択する。 この処理によって、処理2で出力されたソフトウェアのバイナリイメージが 処理1で出力されたFPGAのビットマップイメージに追加される。

アプリケーションのダウンロードと実行 1.Hyper Terminalウィンドウを開く。 この処理によって、ボード上のRS232の周辺機器に 接続されたシリアルポートへ作成したプラットホームを接続します。 2.ボードの電源をオンにして、「Tools→Download」を選択する。 処理2の後に、 このようなメッセージが 表示されれば、テストは成功。 暗号化の実行のために 消費した時間

Chapter 9.7 まとめ

このテストを用いて、アルゴリズムの迅速な検証や 様々な入力パターンの試行が可能である。 この章では、ソフトウェア部分がストリームベースの通信を使用して、ハードウェアのプロセスと直接通信する混合ハードウェア/ソフトウェアアプリケーション(即ち、テストベンチ)の作成を行った。 このテストを用いて、アルゴリズムの迅速な検証や 様々な入力パターンの試行が可能である。 次章では、このテストを用いて、システムの性能の最適化について議論する。