アクセラレータ型DRP(STP:Stream Transpose®)はCPUでは処理性能が不足する処理をアクセラレートします。DRPコア直結のDMAコントローラを備え、データ転送を効率的に行えます。処理を定義するファームウェアの書き換えが瞬間に行えますので、ほぼ無限の機能をシステム内に搭載することが可能です。IPコアとして、現在16nm,28nm,40nmプロセスに対応しています。

 

高性能を追求したアクセラレータ型DRPの構造

アクセラレータ型DRPの構造

アクセラレータ型DRPはプログラマブル演算器アレイ+DMAコントローラ構造を採用しています。

データ転送(DMA)を処理(プログラマブル演算器アレイ)から分けて専用化しています。これにより性能および面積効率の向上を図りCPU負荷を軽減、システム全体の性能向上を実現します。

プログラマブル演算器アレイは、演算器やメモリで構成されており、8もしくは16ビット演算器(ALU)アレイの周囲をメモリや乗算器が取り囲む構成になっています。アクセラレータ型DRPでは、多くの演算器とメモリを用いて処理を並列に実行することで、より高い性能を実現します。

効率的なデータ転送

DRPの効率的なデータ転送

機能を強化したDMAにより、メモリ間のデータ転送を効率的に実行します。DMAとプログラマブル演算器アレイを同時に動かすことで、データの転送オーバーヘッドを削減しています。

アクセラレータ型DRPの検証モデルは設計ツールに組み込まれています。DMAに対するアクセス命令発行と、プログラマブル演算器アレイで実行するアルゴリズムは、同一のCプログラムとして記述することができ、最適化しやすい仕組みになっています。

また、アクセラレータ型DRPとCPUとの機能分担はソフトウェアで変更が可能なため、要求仕様に合わせたフレキシブルなシステムを構築できます。

DRPのハードウェア切替え能力

 

アクセラレータ型DRPは2種類のハードウェア切り替えを行います。

DRPのハードウェア切換え能力イメージ図

1. ダイナミック・リコンフィギュレーション

DRP内に最大64個(ASIC向け40nm IPコアの場合。)のデータパス(DP)情報を格納。限定的なプログラマブル演算器アレイ領域に実装する回路を、動的に再構成、 時分割で切り替えることで、実効的なロジック領域を拡張するものです。

0クロック (1ns以下)でDPを切り替えて処理を実行します。

ダイナミック・リコンフィギュレーション処理イメージ図

2. ダイナミック・ローディング

実行中に、外部メモリから別のファームウェアを追加で読み込み、全く異なる機能に対応したハードウェアに変更。チップに載りきらない巨大なアプリを時分割で実行します。

切り替え時間は数百μs程度(40nmコアの場合)。

ダイナミック・ローディング処理イメージ図

ビデオでの説明はこちら