L1データ・メモリ

L1データ・メモリはBlackfinコアが操作するデータを格納するためのメモリです。このメモリは非常に高速で、コアと同じ速度で動作し、常にストールなし(レイテンシ=1)で読み込むことができます。

図1にBF533のL1データ・メモリの概要を示します。BF533のL1データ・メモリは32KBのキャッシュと32KBのSRAMからなります。キャッシュもSRAMも16KBを単位とするバンクを構成しています。Blackfinアーキテクチャーではデータ・メモリーの増設はバンク単位になっています。

なお、4KBのスクラッチ・メモリも図に示してあります。

図1 BF533のL1データ・メモリ

L1データSRAM

BF533は16KBのデータSRAMバンクを2つ持っており、全部で32KBのL1命令SRAMを構成します。BlackfinコアはL1データSRAMの内容をプログラムから自由に読み書きできます。また、DMAも専用バスをつかってSRAMの内容をアクセスできます。

L1データ・キャッシュ

BF533は16KBのデータ・キャッシュを2つ持っています。このキャッシュは2ウェイのセット・アソシアティブ・キャッシュとして働くほか、独立に16KBのSRAMとして動作するよう設定することもできます。キャッシュとして使う場合はDMA転送はできなくなります。

キャッシュの動作は汎用マイクロプロセッサのそれと同じです。外部メモリにデータを置く場合にはL1データ・キャッシュが速度低下を効果的に防いでくれます。

スクラッチ・メモリ

スクラッチ・メモリは4KBの小さなメモリ領域です。このメモリはL1データ・メモリと同様に使用できますが、DMA転送を行えません。

SRAM、キャッシュ、スクラッチ・メモリの使い分け

データが大きくなりすぎて外部と内部のメモリに分けて配置しなければならない場合、データのどの部分をどこに配置するかは悩ましい問題です。一般には以下の指針に従えばかなり満足できるはずです。

デュアル・ロード

さて、肝心のデュアル・ロードの話をしていません。それは次回ということで。

Blackfin空挺団 | プログラム | EZ-KIT | コア&ペリフェラル | TOPPERS/JSP | こぼれ話 | DSP掲示板