本研究では、与えられた仕様に基づき、使用可能な演算器数(すなわちコスト)に制約を与えた上で、極力高速な非同期式プロセッサが実現できるような演算器割当て法を得ることを目的に、本年度は既存の割当てアルゴリズムにおける制限の緩和を試みた。 既存法では、各演算対の並列動作する可能性がどの程度あるかを見積もるために、仕様に対して、同期式プロセッサ向けのスケジューリングを仮に行い、スケジューリングされたクロックタイミングの差を用いている。このとき、どの演算についても平均実行時間が等しいという前提を置いていた。 まず、演算の種類ごとに平均実行時間が異なるような演算器の使用を許すためのアルゴリズムの改良を行った。これは主に、長時間を要する演算を一旦割り当てたら、それを以降の割り当て候補から除外することにより実現される。 次に、パイプライン型演算器の使用を許すためのアルゴリズムの改良を行った。パイプライン型演算器を許した場合、一旦割り当てを行ってから、次のタイミングでの割り当てを行う際、バックトラックによって割り当て直しをする方がよい場合があることが判明した。アルゴリズムでは、その条件を明確にした。バックトラックが無限に生じることはなく、アルゴリズムが停止することは保証されている。 計画では、仕様に繰り返し動作が含まれている場合への改良も行う予定であったが、本年度内には完了させることができなかった。繰り返し動作は、その並列化によりパイプライン動作となるが、そのスループットの向上のためには、既存の局所的な割当て最適化では不十分となることが予想される。来年度予定している大域的な最適化法との一体化が不可欠であろう。
|