実験リサーチ! Linuxなし Cortex

Cortex-A
なんて
男らし
い!
キャッシュON ! リアルタイム高性能の世界をのぞく
実験リサーチ! Linux なし
Cortex-A9プロセッサの実力
第 3 回 キャッシュを動かすためにU-Bootのメモリ空間と制御レジスタを調べる 中森 章
CEV-RZ/A1L
RZ/A1Lボード用のU-Bootでメモリ空間とキャッシュ
制御レジスタがどうなっているかを調べる
OSレスで
Lチカ
RZ/A1L Cortex-A9プロセッサ
CPU
MMU
L1命令
キャッシュ
SRAM
プログラム
L1データ・
キャッシュ
SDRAM
Cygwin
タイマ
GPIO
LED
L2キャッシュ
メモリ・コントローラ
プログラムの作成
パソコン
シリアル・コミュニケーション・
インターフェース(SCIF)
USBUART
変換IC
SPIコントローラ
シリアル・フラッシュ
(U-Bootを格納)
UARTとして使う
L2キャッシュを使ってSDRAMのアクセス速度に変化があるかを実験する
TeraTerm
USB
ケーブル
プログラムの
ダウンロード
・ダウンロード
・結果を表示
(U-Bootの機能)
RZ/A1Lのタイマを使用して
プログラム実行時間を計測
図 1 今回やること…データ・キャッシュを使うための関数を準備する
ARM プロセッサの最大限の性能を引き出すには,
キャッシュを動作させる必要があります(図 1).
本稿で取り上げている RZ/A1L ボード対応のブー
に は,MMU(Memory Management Unit)を 有 効 に
しないといけません.これは,非キャッシュ,ライト
スルー,ライトバックといったデータ・キャッシュの
トローダ U-Boot では,命令キャッシュは許可されて
います.しかし,ほとんどのメモリ領域においてデー
タ・キャッシュは非キャッシュ指定(キャッシュ不可
能)になっています.これでは ARM プロセッサの性
能 を 最 大 限 に 活 用 で き ま せ ん. そ こ で, デ ー タ・
キャッシュを自在に操作するように改造します.
今回は,そのための下準備として U-Boot のメモリ
空間と制御レジスタを調べます.
挙動を MMU のページ単位で指定するためです.
おさらい…
データ・キャッシュを使うには
● MMU を有効にする
ARM アーキテクチャがデータ・キャッシュを使う
154
● 命令キャッシュとデータ・キャッシュの特徴
本稿では MMU やキャッシュに関する初歩的な説明
は,ページ数の都合で割愛していますが,L1 キャッ
シュの特徴を以下に簡単に示します.
▶命令キャッシュ
・4 ウェイ・セット・アソシアティブ
・キャッシュ・サイズ:32K バイト
・仮想アドレス・インデックス,物理アドレス・タ
グ(VIPT)
・
ロックダウン機能は未サポート
第 1 回 ウォーミングアップ…RZ でためす! 生 Cortex-A9 で L チカ(2014 年 12 月号)
第 2 回 動作確認に欠かせない入出力プログラムを用意しておく(2015 年 1 月号)
2015 年 3 月号