実験リサーチ! Linuxなし Cortex

Cortex-A
なんて
男らし
い!
キャッシュON ! リアルタイム高性能の世界をのぞく
実験リサーチ! Linux なし
Cortex-A9プロセッサの実力
第 5 回 性能計測の下準備…タイマを操るプログラムを作る
RZ/A1Lボード用のU-Bootでメモリ空間とキャッシュ
CEV-RZ/A1L 制御レジスタがどうなっているかを調べる
(コンピューテックス)
中森 章
今回すること:性能測定用のタイマ・プログラムを準備する
OSレスで
Lチカ
Cortex-A9プロセッサRZ/A1L(ルネサス)
パソコン
CPU
MMU
L1命令
キャッシュ
SRAM
GPIO
LED
L2キャッシュ
SDRAM
Cygwin
タイマ
プログラム
L1データ・
キャッシュ
メモリ・コントローラ
プログラムの作成
シリアル・コミュニケーション・
インターフェース(SCIF)
USBUART
変換IC
SPIコントローラ
シリアル・フラッシュ
(U-Bootを格納)
UARTとして使う
L2キャッシュを使ってSDRAMのアクセス速度に変化があるかを実験する
TeraTerm
USB
ケーブル
プログラムの
ダウンロード
・ダウンロード
・結果を表示
(U-Bootの機能)
RZ/A1Lのタイマを使用して
プログラム実行時間を計測
図 1 今回の準備…性能測定用のタイマ関数を作っておく
前 回(2015 年 4 月 号 )ま で の 本 連 載 で,MMU や
キャッシュの操作が C 言語のプログラムで可能にな
りました.早速,RZ/A1L ボードでキャッシュの威
ブラリ化します.
力を測定したいところですが,測定のためには何ら
かのタイマ関数が必要になります.そこで今回はタ
イマ関数を作成します(図 1).
使うタイマ機能は RTC(Realtime Clock)と OS タ
イマの 2 種類です.RTC は秒単位の時間を,OS タ
イマは ns 単位の処理時間をカウントするのに使いま
す.
(編集部)
RTC(Realtime Clock)は目覚まし時計のようなタ
イマです.カウント値の解像度は 1 秒単位注 1 で,秒,
RZ/A1L のタイマ
RZ/A1L は,RTC と OS タイマという 2 種類のタイ
マを備えています(詳細は RZ/A1L のユーザーズ・マ
ニュアル参照).これらのタイマを使えるようにライ
168
● その 1:RTC…長い処理時間を測るの向き
分,時間,日,月,年などの経過時間を計測するため
のタイマです.RTC の本来の目的は,
「年月時分秒」
で設定した時刻に割り込みを発生することです.しか
し,今回は割り込み機能は使用しません.
RTC は秒単位なので微妙な時間差は計測できませ
んが,比較的長い処理時間を計測するのに向いていま
す.
注 1:正確には 64Hz でカウントします.しかし,64Hz カウンタ
は使い勝手が悪いので使用しません.
第 1 回 ウォーミングアップ…RZ でためす! 生 Cortex-A9 で L チカ(2014 年 12 月号)
第 2 回 動作確認に欠かせない入出力プログラムを用意しておく(2015 年 1 月号)
第 3 回 キャッシュを動かすためにU-Bootのメモリ空間と制御レジスタを調べる(2015年3月号)
2015 年 5 月号