インテル® Hyperflex™ アーキテクチャー高性能デザイン・ハンドブック

ID 683353
日付 10/04/2021
Public
ドキュメント目次

2.4.1.2. タイムドメインの多重化

タイムドメインの多重化は、複数の計算スレッドを使用して回路スループットを向上させます。このテクニックは、C-slowリタイミング、またはマルチスレッドとも呼ばれます。

タイムドメインの多重化は、回路内の各レジスターを一連のCレジスターのセットと直列に置き換えます。レジスターの余分なコピーごとに新しい計算スレッドが作成されます。変更されたデザインによる1回の計算では、元の回路のC倍のクロックサイクルが必要です。ただし、Compilerは追加のレジスターをリタイムして、fMAXC倍に向上させることができます。例えば、400 MHzで動作する2つのモジュールをインスタンス化する代わりに、800 MHzで動作する1つのモジュールをインスタンス化できます。

次の図は、初期回路から始まるC-slowリタイミングのプロセスを示しています。

図 48. C-slowリタイミング・スタート・ポイント

RTLデザインを編集して、ループ内のレジスターを含むすべてのレジスターを、独立した計算スレッドごとに1つのレジスターを含むCレジスターのセットに置き換えます。

図 49. C-slowリタイミング中間点この例では、各レジスターを2つのレジスターに置き換える方法を示します。

この時点で回路をコンパイルします。Compilerが回路を最適化すると、追加のレジスターでリタイミングを実行する柔軟性が向上します。

図 50. C-Slowリタイミング終了ポイント

すべてのレジスターをレジスターのセットに置き換えるだけでなく、複数の入力データストリームをブロックに多重化し、出力ストリームをブロックから逆多重化する必要があります。デザインに複数の並列スレッドが含まれており、それぞれがループによって制限されている場合、時間領域の多重化を使用します。最適化するモジュールは、レイテンシーに敏感であってはなりません。