UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 23013

11.1 EDK - Microblaze のプロセッサ実行サイクルを計算する方法

説明

キーワード : number, XPS, timer, 数, タイマ

コードの一部を実行するのに必要なクロック サイクル数を調べる方法を教えてください。

ソリューション

PLB タイマ ペリフェラルを使用してプロセッサ実行サイクルを計測できます。PLB タイマは、ソフトウェアから制御できるフリー ランニング カウンタです。MicroBlaze で実行しているソフトウェア コードで、関数を使用してタイマを初期化、設定、リセット、開始、停止できます。

1. タイマ ファンクションを初期化します。
XTmrCtr_Initialize(&XPS_Timer, XPAR_XPS_TIMER_1_DEVICE_ID);

2. タイマのリセット値を設定します。
XTmrCtr_SetResetValue(&XPS_Timer, 0, 0x00000000);

3. XPS タイマを開始し、バッファをコピーするのに必要なサイクル数を計測します。

a. 次の関数を使用してタイマをリセットします。
XTmrCtr_Reset(&XPS_Timer, 0);

b. タイマを開始し、プロセッサ クロック サイクル数をカウントします。
XTmrCtr_Start(&XPS_Timer, 0);

4. 必要なルーティンを実行します。

5. タイマを停止します。
XTmrCtr_Stop(&XPS_Timer, 0);

6. 使用されたクロック サイクル数を計測します。
cycles = XTmrCtr_GetValue(&XPS_Timer, 0);


AR# 23013
日付 04/25/2009
ステータス アクティブ
種類 ??????
このページをブックマークに追加