TMS32C672x

少し製品ページを漁ってみました。Blackfinはとても使いやすい高性能プロセッサですが、信号処理をどうしても浮動小数点でやりたい場合には、他のプロセッサを探すしかありません。
SHARCを考えてみると、次のような欠点があります。

  • いわゆるキャッシュがない(ADIは「ある」といっているが、これは内部SRAMのアクセス衝突解決用であって、外部メモリアクセスのボトルネック緩和用ではない)。
  • 評価基板のVisualDSP++に生成サイズ制限がある*1

TMS32C672xにはこのような欠点はありません*2。そこで少し詳しく見てみました。
C672xシリーズはI2CやSPIを持ち、周辺との接続性はよいようです。ただし、UARTがないため、モニター端子用に外部UARTが必要になります。また、BF53xと異なり、ビデオ用のPPIがないため、パッケージはコンパクトです。SPI Flashブートが可能で、BSDLも公開されているため、手持ちのJTAG-SPI Flashプログラマが使えます。また、LQFPがあるのもグッド。最大の欠点はアセンブリ・プログラムを組めないことです。TOPPERS/JSPが使えないのが大減点だな。
得失を比較してみると、一番大きな差は大容量データの扱いです。たとえば数秒分の音を蓄て処理するときに、SHARCはDMAを使わざるを得ませんが、C67はキャッシュが使えます。
そういうわけで、近い将来浮動小数点版Rebunを企画するときには現状ではSHARCよりTMS32C672xのほうが可能性が高いです。BF532のプロセッサコアがSHARCだといいんですけどねぇ。

*1:VisualDSP++4.5にはある。5.0はどうなんだろう。

*2:ただし、生成サイズ制限に関しては、C671xの知識。C672xがどうなのかは正確には知らない