階層メモリ

古い設計のDSPでは演算に要する時間が揺らぐのを嫌ってキャッシュを避ける傾向がありました。キャッシュを使わない場合には命令の実行時間は一定になりますが、一方で外部メモリを使った時の速度低下が深刻になります。これはSRAMの大容量化を招き、他方で外部メモリ・バスの高速化を促しました。

しかしながら、大容量内蔵メモリはチップコストの増大を招き、一方で外部メモリーにあわせていては実行速度を上げることが困難になってきました。

Blackfinは微細加工技術によってコア周波数が数百MHzを前提にしており、そのために汎用CPUで用いられている階層メモリ構造を積極的に採用しています。具体的には:

内部L1メモリ
プロセッサ・コアと同じ周波数で動作し、アクセスによる遅延が発生しない。
内部L2メモリ
プロセッサ・コアと同じ周波数で動作し、アクセスによる遅延が発生する。
外部メモリ
プロセッサ・コアより遅いメモリ・バス周波数で動作し、アクセスによって大きな遅延が生じる。

という三層の構造になっています。なお、L2メモリはプロセッサによっては存在しません。たとえば、このサイトで扱うBF533にはL2メモリが存在しません。

階層メモリ構造は汎用CPUで十分練られた手法です。この方式では上記のようにプロセッサコアに近いメモリほど高速です。一方で高速メモリはコストが高いためプロセッサに近いほど小容量になっています。

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