(57)【要約】【課題】  アレイ型演算装置内のシリアル転送バスの転送経路の切り替わりに追従して、クロック経路を切り替えることが出来、ホールドタイミング違反の発生するリスクを軽減し、ホールドバッファ挿入を低減させる。【解決手段】  データ転送制御部は、変更対象の１つ以上の新構成情報が与えられた場合、当該新構成情報で更新対象となる構成情報保持部の位置に基づき、前記新構成情報を転送する転送経路を決定すると共に、転送する際の前記新構成情報の並びを決定する。クロック経路制御部は、データ転送制御部が決定した前記新構成情報の転送経路に対して逆の経路を決定し、当該逆の経路上の更新対象の構成情報保持部はクロックに同期して転送される新構成情報を記憶更新し、更新対象の構成情報保持部を除く他の構成情報保持部はクロックをバイパスするように設定する。そして、クロック制御部は、新構成情報が示す情報の長さに対応する数のクロックを、逆の経路上の始端となる構成情報保持部に供給する。【選択図】  図１
2015197898.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算要素と、各演算要素の処理内容と演算要素を繋ぐデータ転送経路を決定するための構成情報を記憶可能であって、行列状に配列され、かつ、互いにシリアル転送バスで接続された複数の構成情報保持部とで構成されるアレイ型演算装置の制御装置であって、
変更対象の１つ以上の新構成情報が与えられた場合、当該新構成情報で更新対象となる構成情報保持部の位置に基づき、前記新構成情報を転送する転送経路を決定すると共に、転送する際の前記新構成情報の並びを決定するデータ転送制御手段と、
該データ転送制御手段で決定した前記新構成情報の転送経路に対して逆の経路を決定し、当該逆の経路上の更新対象の構成情報保持部はクロックに同期して転送される新構成情報を記憶更新し、更新対象の構成情報保持部を除く他の構成情報保持部はクロックをバイパスするように設定するクロック経路制御手段と、
前記新構成情報が示す情報の長さに対応する数のクロックを、前記逆の経路上の始端となる構成情報保持部に供給するクロック制御手段と
を有することを特徴とするアレイ型演算装置の制御装置。
【請求項２】
前記データ転送制御部は、新構成情報に含まれる演算要素のＩＤに基づき、転送経路を決定することを特徴とする請求項１に記載のアレイ型演算装置の制御装置。
【請求項３】
前記データ転送制御部は、新構成情報における構成情報を表すビットの並びを、更新対象となる構成情報保持部のうち、前記転送経路の終端に近いほど先に転送を行うことを特徴とする請求項１又は２に記載のアレイ型演算装置の制御装置。
【請求項４】
隣り合う２つの構成情報保持部を繋ぐシリアル転送バスは、転送方向が互いに逆の２つのシリアル転送バスを含み、
前記データ転送制御部は、利用不可の構成情報記憶部が存在するとき、当該利用不可の構成情報記憶部を迂回する前記新構成情報を転送する転送経路を決定することを特徴とする請求項１に記載のアレイ型演算装置の制御装置。
【請求項５】
前記クロック制御手段は、転送する新構成情報が示す全ビットに対応する数のクロックを発生することを特徴とする請求項１乃至４のいずれか１項に記載のアレイ型演算装置の制御装置。
【請求項６】
複数の演算要素と、各演算要素の処理内容と演算要素を繋ぐデータ転送経路を決定するための構成情報を記憶可能であって、行列状に配列され、かつ、互いにシリアル転送バスで接続された複数の構成情報保持部とで構成されるアレイ型演算装置の制御方法であって、
データ転送制御手段が、変更対象の１つ以上の新構成情報が与えられた場合、当該新構成情報で更新対象となる構成情報保持部の位置に基づき、前記新構成情報を転送する転送経路を決定すると共に、転送する際の前記新構成情報の並びを決定するデータ転送制御工程と、
クロック経路制御手段が、前記データ転送制御工程で決定した前記新構成情報の転送経路に対して逆の経路を決定し、当該逆の経路上の更新対象の構成情報保持部はクロックに同期して転送される新構成情報を記憶更新し、更新対象の構成情報保持部を除く他の構成情報保持部はクロックをバイパスするように設定するクロック経路制御工程と、
クロック制御手段が、前記新構成情報が示す情報の長さに対応する数のクロックを、前記逆の経路上の始端となる構成情報保持部に供給するクロック制御工程と
を有することを特徴とするアレイ型演算装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアレイ型演算装置の制御装置及び方法に関する。
【背景技術】
【０００２】
近年、ＣＰＵ、ＤＳＰ、単体の演算器、もしくは演算ユニットなどのプロセッサエレメント（以下、ＰＥとする）をＬＳＩ上に複数搭載し、各ＰＥ間をデータ転送用のバスで相互に接続したアレイ型演算装置が注目されている。
【０００３】
アレイ型演算装置は、各ＰＥの処理内容と各ＰＥ間を繋ぐデータ転送経路を、構成情報と呼ぶ設定情報を外部から与えることで変更する事が出来と言う特徴を有している。そのため、構成情報を切り替える事により処理内容に応じてアレイ型演算装置の機能を切り替える事が可能であり、幅広い分野での応用が期待されている。
【０００４】
従来、アレイ型演算装置の構成情報を送信するバスの信号配線数を少なくするため、１ビット毎にクロックに同期して数珠繋ぎにデータ転送を行うバス（以下、シリアル転送バスと呼ぶ）を用いて構成情報を送信していた。
【０００５】
また、一般的に、シリアル転送バスはバス配線領域を少なくできるメリットがある一方、ホールドタイミング違反が発生しやすいというデメリットもある。従来、シリアル転送バスの一種であるスキャンパスにおいて、ホールドタイミング違反を緩和する手法として、スキャンパスの接続経路と逆方向にクロック信号を配線する手法が考案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−１０８９９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
大規模なアレイ型演算装置の構成情報の転送バスにシリアル転送バスを用いると、構成情報の転送時間が長期化してしまう。そのため、構成情報の変更が必要なＰＥに対してのみ構成情報を転送できるよう、シリアル転送バスの経路を動的に切り替え可能な転送手法が用いられるようになってきている。
【０００８】
しかしながら、従来のホールドタイミング違反緩和手法では、シリアル転送バスの経路が動的に切り替わると、クロック信号をシリアル転送バスのデータ転送経路と逆方向に配線する事ができない。そのため、ホールド違反解消用のホールドバッファが大量に挿入されてしまい回路規模が増大してしまうという問題が発生していた。
【０００９】
本発明は係る問題点に鑑みなされたものである。そして、本発明は、シリアル転送バスの転送経路の切り替わりに追従して、クロック経路を切り替えることが出来、ホールドタイミング違反の発生するリスクを軽減し、ホールドバッファ挿入を低減させることを可能にする技術を提供する。
【課題を解決するための手段】
【００１０】
この課題を解決するため、例えば本発明のアレイ型演算装置の制御装置は以下の構成を備える。すなわち、
複数の演算要素と、各演算要素の処理内容と演算要素を繋ぐデータ転送経路を決定するための構成情報を記憶可能であって、行列状に配列され、かつ、互いにシリアル転送バスで接続された複数の構成情報保持部とで構成されるアレイ型演算装置の制御装置であって、
変更対象の１つ以上の新構成情報が与えられた場合、当該新構成情報で更新対象となる構成情報保持部の位置に基づき、前記新構成情報を転送する転送経路を決定すると共に、転送する際の前記新構成情報の並びを決定するデータ転送制御手段と、
該データ転送制御手段で決定した前記新構成情報の転送経路に対して逆の経路を決定し、当該逆の経路上の更新対象の構成情報保持部はクロックに同期して転送される新構成情報を記憶更新し、更新対象の構成情報保持部を除く他の構成情報保持部はクロックをバイパスするように設定するクロック経路制御手段と、
前記新構成情報が示す情報の長さに対応する数のクロックを、前記逆の経路上の始端となる構成情報保持部に供給するクロック制御手段とを有する。
【発明の効果】
【００１１】
本発明によれば、シリアル転送バスの転送経路の切り替わりに追従して、クロック経路を切り替えることが出来、ホールドタイミング違反の発生するリスクを軽減し、ホールドバッファ挿入を低減させる効果がある。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態の特徴的な構成を示すブロック図。
【図２】第１の実施形態のクロック経路切り替え構成を示すブロック図。
【図３】第１の実施形態のクロック制御回路構成を示すブロック図。
【図４】構成情報のフォーマットを示す図。
【図５】第１の実施形態の構成情報の設定値を示す図。
【図６】第１の実施形態のクロック経路切り替え処理の流れを示すフローチャート。
【図７】第２の実施形態のクロック経路切り替え構成を示すブロック図。
【図８】第２の実施形態のクロック経路切り替え構成を示すブロック図。
【図９】第２の実施形態の構成情報の設定値を示す図。
【発明を実施するための形態】
【００１３】
以下、添付図面に従って本発明に係る実施の形態を詳細に説明する。なお、以下の各実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１４】
［第１の実施形態］
本実施形態では、アレイ型演算装置の構成情報設定時間が最短で終了するよう、構成情報の設定経路が変更可能な場合、設定経路の変更に追従して、設定経路と反対方向にクロックを伝搬可能にするクロック構成とクロック制御方法を説明する。
【００１５】
＜システム構成図（図１）＞
以下、図１は、本実施形態の特徴的な構成を示すブロック図であり、図１を用いて本実施形態のシステム構成を説明する。
【００１６】
図中の符号１００は、実施形態におけるデータ処理部である。このデータ処理部１００は、内部に複数の演算要素部（ＰＥ）と、演算要素部間を接続するネットワーク回路を持ち、構成情報を変更する事で演算要素部の処理内容と、演算要素部の接続形態を変更可能になっている。本実施形態において、構成情報は後述の構成情報保持部に記憶される。そして、この構成情報保持部は上記構成情報を記憶可能であって、行列状に配列され、隣り合うものどうしはシリアル転送バスで接続されている。
【００１７】
符号１３０、１３１、１３２、１３３、１３４、１３５は演算要素部（ＰＥ）であり、プロセッサやＡＬＵ等の演算装置と、他演算要素部とデータ授受を行う通信経路を有している。また、演算要素部は後述の構成情報保持部に保持されている構成情報を変更する事で、演算要素部の演算内容と、演算要素部間の通信経路を変更できる。
【００１８】
符号１１０、１１１、１１２、１１３、１１４、１１５、１１６、１１７、１１８、１１９、１２０、１２１は構成情報保持部であり、後述のデータ転送制御部から送信される構成情報を内部に保持する。また、構成情報保持部はシリアル転送バスを有しており、隣接する構成情報保持部とシリアル転送バスで接続されている。構成情報保持部に保持される構成情報は、少なくとも演算要素部の演算内容と、演算要素部間のデータ授受経路を決める情報を持つ。
【００１９】
符号１４０、１４１、１４２、１４３、１４４、１４５、１４６、１４７、１４８、１４９、１５０、１５１、１５２、１５３、１５４、１５５、１５６は構成情報保持部間を接続するシリアル転送バスである。
【００２０】
構成情報保持部間を接続するシリアル転送バスは、１ビットのデータラインと１ビットのクロックラインで構成されている。データの転送方向とクロックの発信方向は固定されており、以下に全シリアル転送バスの転送方向を説明する。
【００２１】
符号１６０は、データ転送制御部１０７と構成情報保持部１１０を繋ぐシリアル転送バスであり、転送データはデータ転送制御部１０７から構成情報保持部１１０へ出力され、クロックは構成情報保持部１１０からデータ転送制御部１０７へ出力される。
【００２２】
シリアル転送バス１４０は、構成情報保持部１１０と１１１を繋ぎ、転送データは構成情報保持部１１０から構成情報保持部１１１へ出力され、クロックは構成情報保持部１１１から構成情報保持部１１０へ出力される。
【００２３】
シリアル転送バス１４１は、構成情報保持部１１１と１１２を繋ぎ、転送データは構成情報保持部１１１から構成情報保持部１１２へ出力され、クロックは構成情報保持部１１２から構成情報保持部１１１へ出力される。
【００２４】
シリアル転送バス１４２は、構成情報保持部１１０と１１３を繋ぎ、転送データは構成情報保持部１１０から構成情報保持部１１３へ出力され、クロックは構成情報保持部１１３から構成情報保持部１１０へ出力される。
【００２５】
シリアル転送バス１４３は、構成情報保持部１１１と１１４を繋ぎ、転送データは構成情報保持部１１１から構成情報保持部１１４へ出力され、クロックは構成情報保持部１１４から構成情報保持部１１１へ出力される。
【００２６】
シリアル転送バス１４４は、構成情報保持部１１２と１１５を繋ぎ、転送データは構成情報保持部１１２から構成情報保持部１１５へ出力され、クロックは構成情報保持部１１５から構成情報保持部１１２へ出力される。
【００２７】
シリアル転送バス１４５は、構成情報保持部１１３と１１４を繋ぎ、転送データは構成情報保持部１１４から構成情報保持部１１３へ出力され、クロックは構成情報保持部１１３から構成情報保持部１１４へ出力される。
【００２８】
シリアル転送バス１４６は、構成情報保持部１１４と１１５を繋ぎ、転送データは構成情報保持部１１５から構成情報保持部１１４へ出力され、クロックは構成情報保持部１１４から構成情報保持部１１５へ出力される。
【００２９】
シリアル転送バス１４７は、構成情報保持部１１３と１１６を繋ぎ、転送データは構成情報保持部１１３から構成情報保持部１１６へ出力され、クロックは構成情報保持部１１６から構成情報保持部１１３へ出力される。
【００３０】
シリアル転送バス１４８は、構成情報保持部１１４と１１７を繋ぎ、転送データは構成情報保持部１１４から構成情報保持部１１７へ出力され、クロックは構成情報保持部１１７から構成情報保持部１１４へ出力される。
【００３１】
シリアル転送バス１４９は、構成情報保持部１１５と１１８を繋ぎ、転送データは構成情報保持部１１５から構成情報保持部１１８へ出力され、クロックは構成情報保持部１１８から構成情報保持部１１５へ出力される。
【００３２】
シリアル転送バス１５０は、構成情報保持部１１６と１１７を繋ぎ、転送データは構成情報保持部１１６から構成情報保持部１１７へ出力され、クロックは構成情報保持部１１７から構成情報保持部１１６へ出力される。
【００３３】
シリアル転送バス１５１は、構成情報保持部１１７と１１８を繋ぎ、転送データは構成情報保持部１１７から構成情報保持部１１８へ出力され、クロックは構成情報保持部１１８から構成情報保持部１１７へ出力される。
【００３４】
シリアル転送バス１５２は、構成情報保持部１１６と１１９を繋ぎ、転送データは構成情報保持部１１６から構成情報保持部１１９へ出力され、クロックは構成情報保持部１１９から構成情報保持部１１６へ出力される。
【００３５】
シリアル転送バス１５３は、構成情報保持部１１７と１２０を繋ぎ、転送データは構成情報保持部１１７から構成情報保持部１２０へ出力され、クロックは構成情報保持部１２０から構成情報保持部１１７へ出力される。
【００３６】
シリアル転送バス１５４は、構成情報保持部１１８と１２１を繋ぎ、転送データは構成情報保持部１１８から構成情報保持部１２１へ出力され、クロックは構成情報保持部１２１から構成情報保持部１１８へ出力される。
【００３７】
シリアル転送バス１５５は、構成情報保持部１１９と１２０を繋ぎ、転送データは構成情報保持部１２０から構成情報保持部１１９へ出力され、クロックは構成情報保持部１１９から構成情報保持部１２０へ出力される。
【００３８】
シリアル転送バス１５６は、構成情報保持部１２０と１２１を繋ぐシリアル転送バスであり、転送データは構成情報保持部１２１から構成情報保持部１２０へ出力され、クロックは構成情報保持部１２０から構成情報保持部１２１へ出力される。
【００３９】
シリアル転送バス１８０は、シリアルデータ転送用クロックであり、クロックはクロック制御部１０２から構成情報保持部１１９へ出力される。
【００４０】
符号１０１はクロック経路制御部であり、前述の構成情報保持部が有するシリアル転送バスで使用するクロックのクロック制御信号１７０を出力する。
【００４１】
符号１０２はクロック制御部であり、シリアルデータ転送で使用するクロックパルスを生成し、前述のシリアル転送バス１８０へ生成したクロックを出力する。
【００４２】
符号１０６は、メモリであり、内部に更新対象の構成情報（新構成情報）が格納されている。符号１０７は、データ転送制御部であり、前述のメモリ１０６から構成情報を読み出し、シリアルデータの生成とデータ転送制御信号１６１を生成する。
【００４３】
上記の通りであるが、各シリアル転送バスにおける実線で示される矢印はそのバス上のデータ転送の方向を示し、破線矢印はクロックの転送方向を示すものである。
【００４４】
＜構成情報保持部の構成（図２）＞
図２は、本実施形態における１つの構成情報保持部の構成を示すブロック図であり、以下、同図を用いて構成情報保持部の構成を説明する。
【００４５】
符号２０１は、構成情報記憶部であり、演算要素部の構成情報を記憶するのに必要な数のフリップフロップを有しており、各フリップフロップは数珠繋ぎに接続される。符号２１０はクロックバッファであり、フリップフロップのデータ転送方向と逆方向にクロック遅延が発生するよう配置される。
【００４６】
符号２４８、２５０、２５１、２５３は構成情報保持部に接続されるシリアル転送バスのデータラインである。
【００４７】
また、符号２４８１はデータライン２４８に対応したシリアル転送バスのクロックラインである。符号２５０１はデータライン２５０に対応したシリアル転送バスのクロックラインである。符号２５１１はデータライン２５１に対応したシリアル転送バスのクロックラインである。符号２５３１はデータライン２５３に対応したシリアル転送バスのクロックラインである。
【００４８】
符号２０２は、シリアル転送バス２４８とシリアル転送バス２５０から送信されるデータラインを選択するマルチプレクサであり、データ転送制御部から送信されるデータ転送制御信号１６１に応じてシリアル転送バスの選択を行う。
【００４９】
符号２０４は、構成情報記憶部をバイパスするためのマルチプレクサであり、構成情報記憶部のデータを書き換える必要が無い場合は、データ転送制御部から送信されるデータ転送制御信号１６１に応じてマルチプレクサ２０２から出力されるデータを選択する。符号２０４から出力されたデータは、シリアル転送バス２５１と２５３のデータラインへ送信される。符号２０６は、シリアル転送バス２５１と２５３から出力されるクロックラインを選択するマルチプレクサであり、クロック経路制御部から送信されるクロック制御信号１７０に応じてクロックの選択を行う。
【００５０】
符号２０５は、クロックゲーティング回路であり、クロック制御部から送信されるクロック制御信号１７０に応じて、構成情報記憶部２０１で使用するクロックのゲーティングを行う。符号２０３は、クロックをバイパスするためのマルチプレクサであり、構成情報記憶部２０１にデータを設定する必要が無い場合、クロック経路制御部から送信されるクロック制御信号１７０に応じてマルチプレクサ２０６から出力されるクロックを選択する。
【００５１】
各構成情報保持部に接続されるシリアル転送バスは、図１で構成情報保持部が配置されている位置により異なる。以下に図２の構成情報保持部が有するシリアル転送バスと、図１中のシリアル転送バスとの対応関係を説明する。
【００５２】
構成情報保持部１１０は、データライン２５０とクロックライン２５０１に図１中のシリアル転送バス１６０のデータラインとクロックラインが接続される。そして、データライン２４８はグランドに固定され、クロックライン２４８１は出力オープンとなっている。また、データライン２５１とクロックライン２５１１に図１中のシリアル転送バス１４０のデータラインとクロックラインが接続され、データライン２５３とクロックライン２５３１に図１中のシリアル転送バス１４２のデータラインとクロックラインが接続される。
【００５３】
構成情報保持部１１１は、データライン２５０とクロックライン２５０１に図１中のシリアル転送バス１４０のデータラインとクロックラインが接続される。データライン２４８はグランドに固定され、クロックライン２４８１は出力オープンとなっている。また、データライン２５１とクロックライン２５１１に図１中のシリアル転送バス１４１のデータラインとクロックラインが接続され、データライン２５３とクロックライン２５３１に図１中のシリアル転送バス１４３のデータラインとクロックラインが接続される。
【００５４】
構成情報保持部１１２は、データライン２５０とクロックライン２５０１に図１中のシリアル転送バス１４１のデータラインとクロックラインが接続される。データライン２４８はグランドに固定され、クロックライン２４８１は出力オープンとなっている。また、データライン２５１は出力オープンになっており、クロックライン２５１１はグランドに固定されている。データライン２５３とクロックライン２５３１は図１中のシリアル転送バス１４４のデータラインとクロックラインが接続される。
【００５５】
構成情報保持部１１５は、データライン２５０はグランドに固定され、クロックライン２５０１は出力オープンとなっている。データライン２４８とクロックライン２４８１に図１中のシリアル転送バス１４４のデータラインとクロックラインが接続される。また、データライン２５１とクロックライン２５１１に図１中のシリアル転送バス１４６のデータラインとクロックラインが接続され、データライン２５３とクロックライン２５３１に図１中のシリアル転送バス１４９のデータラインとクロックラインが接続される。
【００５６】
構成情報保持部１１４は、データライン２５０とクロックライン２５０１に図１中のシリアル転送バス１４６のデータラインとクロックラインが接続される。データライン２４８とクロックライン２４８１に図１中のシリアル転送バス１４３のデータラインとクロックラインが接続される。また、データライン２５１とクロックライン２５１１に図１中のシリアル転送バス１４５のデータラインとクロックラインが接続され、データライン２５３とクロックライン２５３１に図１中のシリアル転送バス１４８のデータラインとクロックラインが接続される。
【００５７】
構成情報保持部１１３は、データライン２５０とクロックライン２５０１に図１中のシリアル転送バス１４５のデータラインとクロックラインが接続される。データライン２４８とクロックライン２４８１に図１中のシリアル転送バス１４２のデータラインとクロックラインが接続される。また、データライン２５１は出力オープンであり、クロックライン２５１１はグランドに固定されている。データライン２５３とクロックライン２５３１に図１中のシリアル転送バス１４７のデータラインとクロックラインが接続される。
【００５８】
構成情報保持部１１６は、データライン２５０はグランドに固定され、クロックライン２５０１は出力オープンとなっている。データライン２４８とクロックライン２４８１に図１中のシリアル転送バス１４７のデータラインとクロックラインが接続されている。また、データライン２５１とクロックライン２５１１に図１中のシリアル転送バス１５０のデータラインとクロックラインが接続され、データライン２５３とクロックライン２５３１に図１中のシリアル転送バス１５２のデータラインとクロックラインが接続される。
【００５９】
構成情報保持部１１７は、データライン２５０とクロックライン２５０１に図１中のシリアル転送バス１５０のデータラインとクロックラインが接続される。データライン２４８とクロックライン２４８１に図１中のシリアル転送バス１４８のデータラインとクロックラインが接続される。また、データライン２５１とクロックライン２５１１に図１中のシリアル転送バス１５１のデータラインとクロックラインが接続され、データライン２５３とクロックライン２５３１に図１中のシリアル転送バス１５３のデータラインとクロックラインが接続される。
【００６０】
構成情報保持部１１８は、データライン２５０とクロックライン２５０１に図１中のシリアル転送バス１５１のデータラインとクロックラインが接続される。データライン２４８とクロックライン２４８１に図１中のシリアル転送バス１４９のデータラインとクロックラインが接続される。また、データライン２５１は出力オープンであり、クロックライン２５１１はグランドに固定されている。データライン２５３とクロックライン２５３１に図１中のシリアル転送バス１５４のデータラインとクロックラインが接続される。
【００６１】
構成情報保持部１２１は、データライン２５０はグラウンドに固定され、クロックライン２５０１は出力オープンとなっている。データライン２４８とクロックライン２４８１に図１中のシリアル転送バス１５４のデータラインとクロックラインが接続される。また、データライン２５１とクロックライン２５１１に図１中のシリアル転送バス１５６のデータラインとクロックラインが接続され、データライン２５３は出力オープンであり、クロックライン２５３１はグランドに固定されている。
【００６２】
構成情報保持部１２０は、データライン２５０とクロックライン２５０１に図１中のシリアル転送バス１５６のデータラインとクロックラインが接続される。データライン２４８とクロックライン２４８１に図１中のシリアル転送バス１５３のデータラインとクロックラインが接続される。また、データライン２５１とクロックライン２５１１に図１中のシリアル転送バス１５５のデータラインとクロックラインが接続され、データライン２５３は出力オープンであり、クロックライン２５３１はグランドに固定されている。
【００６３】
構成情報保持部１１９は、データライン２５０とクロックライン２５０１に図１中のシリアル転送バス１５５のデータラインとクロックラインが接続される。データライン２４８とクロックライン２４８１に図１中のシリアル転送バス１５２のデータラインとクロックラインが接続される。また、データライン２５１は出力オープンとなっており、クロックライン２５１１に図１中のシリアル転送バス１８０が接続される。データライン２５３は出力オープンとなっており、クロックライン２５３１はグランドに固定されている。
【００６４】
＜クロック制御部の構成（図３）＞
図３は、本実施形態におけるクロック制御部１０２の構成を示すブロック図であり、同図を用いてクロック制御部の構成を説明する。
【００６５】
図中の符号３０１は、クロック発信期間をカウントするカウンタである。カウンタ３０１は、クロック経路制御部１０１から出力されたクロック生成開始指示信号１７２がアサートされると、データ転送制御部１０７から出力された転送データのビット長をカウンタ内に受信し設定する。そして、カウンタ３０１はシステムクロックに同期して−１カウントを行い、カウンタ値がゼロになるとカウントを停止する。
【００６６】
符号３０２は、ＯＲ回路であり、前述のカウンタの全ビットをＯＲした信号を出力する。符号３０３は、Ｌａｔｃｈ回路であり、システムクロックがＬｏｗに変化した時、ＯＲ回路３０２から出力される信号値を出力する。符号３０４は、ＡＮＤ回路であり、Ｌａｔｃｈ３０３から出力された信号とシステムクロックをＡＮＤした信号をシリアルデータ転送用クロックとして１８０へ出力する。
【００６７】
上記構成によれば、カウンタ３０１がゼロでない時、Ｌａｔｃｈ３０３から出力される信号はＨｉｇｈになる。そのため、ＡＮＤ回路３０４から出力されるシリアルデータ転送用クロックは、カウンタ３０１に設定されたサイクル数だけ、システムクロックを発信することになる。つまり、クロック制御部１０２は、設定した転送データのビット長で示される数だけクロックを発生することになる。
【００６８】
＜構成情報のフォーマット例（図４）＞
図４は、メモリ１０６に格納されている構成情報のフォーマットの例である。４０１は、構成情報の設定対象の演算要素部を特定するＩＤであり、各演算要素部に一意の値が割り当てられている。４０２は、ＩＤに対応する演算要素部の構成情報を示す設定データである。本実施形態では、図４に示す構成情報が変更対象の構成情報として与えられたとして説明する。
【００６９】
＜クロック経路変更処理（図５、図６）＞
図５、図６を用いて、シリアル転送バスの経路変更に追従して、クロック経路を変更する処理の流れを説明する。
【００７０】
図５は、本実施形態において、メモリ１０６内に格納されている構成情報を示している。構成情報５０１は、ＩＤが“３”で、設定データが“０１０１０１０１０１”であることを示している。構成情報５０２は、ＩＤが“５”で、設定データが“１１１１０１０１００”の構成情報である。
【００７１】
ここで、本実施形態において、演算要素部１３０のＩＤは“０”、演算要素部１３１のＩＤは“１”、演算要素部１３２のＩＤは“２”、演算要素部１３３のＩＤは“３”、演算要素部１３４のＩＤは“４”、演算要素部１３５のＩＤは“５”であるものとする。図１では各演算要素内で括弧書きでＩＤを示している。
【００７２】
図６は、シリアル転送バスの経路変更に追従して、クロック経路を変更する処理の流れを示すフロー図である。
【００７３】
ステップ６０１は、構成情報受信処理であり、データ転送制御部１０７がメモリ１０６から構成情報を読み出し、経路探索アルゴリズムの１つであるダイクストラ法を用いて、最短のデータ転送経路を決定し、制御信号と転送データを生成する処理を示している。
【００７４】
ダイクストラ法とは、グラフ理論による最短経路問題を解くためのアルゴリズムであり、グラフ上の２頂点間の最短経路を効率的に求める事ができる。なお、経路探索アルゴリズムはダイクストラ法に限定するものではなく、他のアルゴリズムを適用してもよい。
【００７５】
データ転送制御部１０７は、メモリ１０６から構成情報５０１と５０２を読み出し、読み出した構成情報のＩＤ情報から、設定が必要な構成情報保持部が構成情報保持部１１４と１１７であると判定する。
【００７６】
設定が必要なのが構成情報保持部１１４、１１７である事から、データ転送制御部１０７はダイクストラ法を用いて、構成情報保持部１１０→１１１→１１４→１１７→１２０→１１９の順番となる転送経路を決定する。
【００７７】
データ転送制御部１０７は、転送経路が決定されると、クロック経路制御部１０１に転送経路情報を送信し、構成情報保持部毎にデータ転送制御信号１６１を出力する。データ転送制御部１０７が構成情報保持部毎に出力するデータ転送制御信号１６１は、シリアルバス選択用マルチプレクサ２０２の制御信号と、構成情報記憶部バイパス用マルチプレクサ２０４の制御信号として使用される。
【００７８】
以下に、データ転送制御部１０７から、各構成情報保持部へ出力されるデータ転送制御信号１６１の詳細を説明する。
【００７９】
データ転送制御部１０７は、構成情報保持部１１０のマルチプレクサ２０２の制御信号として、シリアル転送バス１６０を選択する制御信号を出力する。また、構成情報保持部１１０のマルチプレクサ２０４に対しマルチプレクサ２０２から出力される信号を選択する制御信号を出力する。
【００８０】
データ転送制御部１０７は、構成情報保持部１１１のマルチプレクサ２０２の制御信号として、シリアル転送バス１４０を選択する制御信号を出力する。また、構成情報保持部１１１のマルチプレクサ２０４へ、マルチプレクサ２０２から出力される信号を選択する制御信号を出力する。
【００８１】
データ転送制御部１０７は、構成情報保持部１１４のマルチプレクサ２０２の制御信号として、シリアル転送バス１４３を選択する制御信号を出力する。また、構成情報保持部１１４のマルチプレクサ２０４へ、成情報記憶部１１１から出力されるパスを選択する制御信号を出力する。
【００８２】
データ転送制御部１０７は、構成情報保持部１１７のマルチプレクサ２０２の制御信号として、シリアル転送バス１４８を選択する制御信号を出力する。また、マルチプレクサ２０４へ、構成情報記憶部１１４から出力されるパスを選択する制御信号を出力する。
【００８３】
データ転送制御部１０７は、構成情報保持部１２０のマルチプレクサ２０２の制御信号として、シリアル転送バス１５３を選択する制御信号を出力する。また、構成情報保持部１２０のマルチプレクサ２０４へ、マルチプレクサ２０２から出力される信号を選択する制御信号を出力する。
【００８４】
データ転送制御部１０７は、構成情報保持部１１９のマルチプレクサ２０２の制御信号として、シリアル転送バス１５５を選択する制御信号を出力する。また、構成情報保持部１１９のマルチプレクサ２０４へ、マルチプレクサ２０２から出力される信号を選択する制御信号を出力する。
【００８５】
次に、データ転送制御部１０７は決定した転送経路に応じた転送データを生成する。転送データは、構成情報保持部の転送経路の転送順に生成される。つまり、転送経路の終端に位置するほど先に転送するする。本実施形態において、構成情報保持部の転送順は構成情報保持部１１０→１１１→１１４→１１７→１２０→１１９の順番で行われる例を説明している。それ故、データ転送制御部１０７は、シリアル転送データとして構成情報保持部１１７の設定データの後に構成情報保持部１１４の設定データとなるビット列“１１１１０１０１０００１０１０１０１０１”を生成する。生成された転送データは、クロック制御部１０２からシリアル転送用クロックが発信されると左端のビットから順番にシリアル転送バス１６０のデータラインに送信される。
【００８６】
データ転送制御部１０７は、シリアル転送データを生成すると、生成した転送データの総ビット数“２０”をクロック制御部１０２へ送信する。
【００８７】
ステップ６０２は、クロック経路制御部の処理であり、ステップ６０１で決定したデータの転送経路に基づき、クロック経路制御部１０１が転送経路と反対方向にクロック伝達が行われるクロック制御信号１７０を生成する処理を示している。
【００８８】
クロック経路制御部１０１は、データ転送制御部１０７からデータ転送経路を受信すると、クロック制御部１０２から出力されたクロックが構成情報保持部１１９→１２０→１１７→１１４→１１１→１１０の順でクロック伝達されるようにクロック経路を決定する。つまり、クロック経度はデータ転送経路に対する逆経路ということができる。
【００８９】
クロック経路が決定されると、クロック制御部１０１は、クロック経路に沿ってクロックが伝搬するよう、その始端位置に向けてクロック制御信号１７０を出力する。
【００９０】
クロック経路制御部１０１が構成情報保持部毎に出力するクロック制御信号１７０は、クロック選択用マルチプレクサ２０６の制御信号と、クロックバイパス用マルチプレクサ２０３の制御信号と、クロックゲーティング回路２０５の制御信号である。
【００９１】
以下に、クロック制御部１０１からクロック経路上の各構成情報保持部へ出力されるクロック制御信号１７０の詳細を説明する。
【００９２】
クロック経路制御部１０１は、構成情報保持部１１９のマルチプレクサ２０６へクロック１８０を選択する制御信号を出力する。また、構成情報保持部１１９のマルチプレクサ２０３へマルチプレクサ２０６から出力されたクロックを選択する制御信号を出力する。また、構成情報保持部１１９の記憶部２０１へ供給するクロックを停止する制御信号をクロックゲーティング回路２０５へ出力する。これにより、構成情報保持部１１９内の記憶部２０１がその記憶内容が変更されることはない。
【００９３】
クロック経路制御部１０１は、構成情報保持部１２０のマルチプレクサ２０６へシリアル転送バス１５５からのクロックを選択する制御信号を出力する。また、構成情報保持部１２０のマルチプレクサ２０３へマルチプレクサ２０６から出力されたクロックを選択する制御信号を出力する。更に、構成情報保持部１２０の記憶部２０１へ供給するクロックを停止する制御信号をクロックゲーティング回路２０５へ出力する。
【００９４】
クロック経路制御部１０１は、構成情報保持部１１７のマルチプレクサ２０６へシリアル転送バス１５３からのクロックを選択する制御信号を出力する。また、構成情報保持部１１７のマルチプレクサ２０３へ記憶部２０１からのパスを選択する制御信号を出力する。また、構成情報保持部１１７の記憶部２０１へ供給するクロックを有効にする制御信号をクロックゲーティング回路２０５へ出力する。この結果、構成情報保持部１１７内の記憶部２０１には該当する新しい構成情報が記憶保持される。
【００９５】
クロック経路制御部１０１は、構成情報保持部１１４のマルチプレクサ２０６へシリアル転送バス１４８からのクロックを選択する制御信号を出力する。また、構成情報保持部１１４のマルチプレクサ２０３へ記憶部２０１からのパスを選択する制御信号を出力する。また、構成情報保持部１１４の記憶部２０１へ供給するクロックを有効にする制御信号をクロックゲーティング回路２０５へ出力する。この結果、構成情報保持部１１７内の記憶部２０１が新しい構成情報で記憶更新され、保持される。
【００９６】
クロック経路制御部１０１は、構成情報保持部１１１のマルチプレクサ２０６へシリアル転送バス１４３からのクロックを選択する制御信号を出力する。また、構成情報保持部１１１のマルチプレクサ２０３へバイパス（マルチプレクサ２０６からのクロック）を選択する制御信号を出力する。また、構成情報保持部１１１の２０１へ供給するクロックを停止する制御信号をクロックゲーティング回路２０５へ出力する。
【００９７】
クロック経路制御部１０１は、構成情報保持部１１０のマルチプレクサ２０６へクロック１４０を選択する制御信号を出力する。また、構成情報保持部１１０のマルチプレクサ２０３へバイパスを選択する制御信号を出力する。また、構成情報保持部１１０の記憶部２０１へ供給するクロックを停止する制御信号をクロックゲーティング回路２０５へ出力する。
【００９８】
また、クロック経路制御部１０１は、上記以外の構成情報保持部１１２、１１３、１１５、１１６、１１８、１２１それぞれの記憶部２０１へ供給するクロックを停止する制御信号をクロックゲーティング回路２０５へ出力する。
【００９９】
クロック経路制御部１０１は、上記のようにして、全構成情報保持部へ制御信号を出力すると、クロック制御部１０２へクロック生成開始指示信号１７２をアサートする。
【０１００】
以上により、データの転送方向と逆方向にクロックを伝搬させるクロック経路の設定が可能となる。
【０１０１】
ステップ６０３は、クロック出力処理であり、ステップ６０２でデータ転送制御部１０７からクロック制御部１０２へ送信された転送データのビット数を元に、クロック生成部１０２がクロックパルスを生成する処理を行う。
【０１０２】
クロック制御部１０２は、クロック制御部１０１から出力されたクロック生成開始指示信号１７２がアサートされた時、データ転送制御部１０７から送信された転送データの総ビット数“２０”の値をカウンタ３０１へセットする。そして、カウンタ３０１は値がゼロになるまで毎クロック−１デクリメントを行い、２０クロック後に値がゼロになるとカウンタを停止する。クロック有効信号生成用ＯＲ回路３０２は、カウンタ３０１の全ビットをＯＲしているため、２０クロックサイクル間クロック有効信号を生成する。そのため、クロック生成部１０２から出力されるクロック１８０は、２０パルスだけクロックを発信する。
【０１０３】
以上の処理により、シリアル転送バスのデータ転送経路変更に追従して、クロック伝搬経路がデータ転送経路と逆方向となるようにクロック経路を変更し、データ転送に必要な数だけクロックパルスの発信制御が可能となる。その結果、シリアル転送バスのデータ転送経路変更によるホールドタイミング違反の発生リスクを低減し、ホールドバッファの挿入数を減らす事が可能となる。
【０１０４】
［第２の実施形態］
本第２の実施形態では、アレイ型演算装置において、構成情報の設定経路上に電源遮断領域（利用不可の領域）が存在し、設定経路の迂回が必要な場合でも、設定経路と反対方向にクロックを伝搬可能にするクロック構成とクロック制御方法を説明する。
【０１０５】
＜装置の構成（図７）＞
図７は、本実施形態の特徴的な構成を示すブロック図であり、同図を用いて第２の実施形態が適用する表示装置の構成を説明する。なお、第１の実施形態で示したブロック図と等価なブロックには、同番号を付し、説明を省略する。
【０１０６】
図中の符号７１０、７１１、７１２、７１３、７１４、７１５、７１６、７１７、７１８、７１９、７２０、７２１は構成情報保持部であり、データ転送制御部１０７から送信される構成情報を内部に保持する。また、構成情報保持部はシリアル転送バスを有しており、隣接する構成情報保持部毎に転送方向の異なるシリアル転送バスを２本有し、シリアル転送経路を変更する事で双方向どちらへもデータ転送可能な構成となっている。構成情報保持部に保持される構成情報は、少なくとも演算要素部の演算内容と、演算要素部間のデータ授受経路を決める情報を持つ。
【０１０７】
符号７４０、７４１、７４２、７４３、７４４、７４５、７４６、７４７、７４８、７４９、７５０、７５１、７５２、７５３、７５４、７５５、７５６は構成情報保持部間を接続するシリアル転送バスである。構成情報保持部間を接続するシリアル転送バスは、転送方向が異なる２ビットのデータラインと伝搬方向が異なる２ビットのクロックラインで構成されている。換言すれば、１ビットのデータ転送と１ビットのクロックラインで示されるシリアル転送バスが、２本分設けられている。
【０１０８】
以下に全シリアル転送バスの転送方向を説明する。
【０１０９】
シリアル転送バス７４０は、構成情報保持部７１０と７１１を繋ぐシリアル転送バスであり、データラインは構成情報保持部７１０から構成情報保持部７１１へ出力される１ビットと、構成情報保持部７１１から構成情報保持部７１０へ出力される１ビットで構成される。また、クロックは構成情報保持部７１１から構成情報保持部７１０へクロックが伝搬するクロックと、クロックは構成情報保持部７１０から構成情報保持部７１１へクロックが伝搬されるクロックで構成される。
【０１１０】
シリアル転送バス７４１は、構成情報保持部７１１と７１２を繋ぐシリアル転送バスであり、データラインは構成情報保持部７１１から構成情報保持部７１２へ出力される１ビットと、構成情報保持部７１２から構成情報保持部７１１へ出力される１ビットで構成される。また、クロックは構成情報保持部７１２から構成情報保持部７１１へクロックが伝搬するクロックと、クロックは構成情報保持部７１１から構成情報保持部７１２へクロックが伝搬されるクロックで構成される。
【０１１１】
シリアル転送バス７４２は、構成情報保持部７１０と７１３を繋ぐシリアル転送バスであり、データラインは構成情報保持部７１０から構成情報保持部７１３へ出力される１ビットと、構成情報保持部７１３から構成情報保持部７１０へ出力される１ビットで構成される。また、クロックは構成情報保持部７１３から構成情報保持部７１０へクロックが伝搬するクロックと、クロックは構成情報保持部７１０から構成情報保持部７１３へクロックが伝搬されるクロックで構成される。
【０１１２】
シリアル転送バス７４３は、構成情報保持部７１１と７１４を繋ぐシリアル転送バスであり、データラインは構成情報保持部７１１から構成情報保持部７１４へ出力される１ビットと、構成情報保持部７１４から構成情報保持部７１１へ出力される１ビットで構成される。また、クロックは構成情報保持部７１４から構成情報保持部７１１へクロックが伝搬するクロックと、クロックは構成情報保持部７１１から構成情報保持部７１４へクロックが伝搬されるクロックで構成される。
【０１１３】
シリアル転送バス７４４は、構成情報保持部７１２と７１５を繋ぐシリアル転送バスであり、データラインは構成情報保持部７１２から構成情報保持部７１５へ出力される１ビットと、構成情報保持部７１５から構成情報保持部７１２へ出力される１ビットで構成される。また、クロックは構成情報保持部７１５から構成情報保持部７１２へクロックが伝搬するクロックと、クロックは構成情報保持部７１５から構成情報保持部７１２へクロックが伝搬されるクロックで構成される。
【０１１４】
シリアル転送バス７４５は、構成情報保持部７１３と７１４を繋ぐシリアル転送バスであり、データラインは構成情報保持部７１３から構成情報保持部７１４へ出力される１ビットと、構成情報保持部７１４から構成情報保持部７１３へ出力される１ビットで構成される。また、クロックは構成情報保持部７１４から構成情報保持部７１３へクロックが伝搬するクロックと、クロックは構成情報保持部７１３から構成情報保持部７１４へクロックが伝搬されるクロックで構成される。
【０１１５】
シリアル転送バス７４６は、構成情報保持部７１４と７１５を繋ぐシリアル転送バスであり、データラインは構成情報保持部７１４から構成情報保持部７１５へ出力される１ビットと、構成情報保持部７１５から構成情報保持部７１４へ出力される１ビットで構成される。また、クロックは構成情報保持部７１５から構成情報保持部７１４へクロックが伝搬するクロックと、クロックは構成情報保持部７１４から構成情報保持部７１５へクロックが伝搬されるクロックで構成される。
【０１１６】
シリアル転送バス７４７は、構成情報保持部７１３と７１６を繋ぐシリアル転送バスであり、データラインは構成情報保持部７１３から構成情報保持部７１６へ出力される１ビットと、構成情報保持部７１６から構成情報保持部７１３へ出力される１ビットで構成される。また、クロックは構成情報保持部７１６から構成情報保持部７１３へクロックが伝搬するクロックと、クロックは構成情報保持部７１３から構成情報保持部７１６へクロックが伝搬されるクロックで構成される。
【０１１７】
シリアル転送バス７４８は、構成情報保持部７１４と７１７を繋ぐシリアル転送バスであり、データラインは構成情報保持部７１４から構成情報保持部７１７へ出力される１ビットと、構成情報保持部７１７から構成情報保持部７１４へ出力される１ビットで構成される。また、クロックは構成情報保持部７１７から構成情報保持部７１４へクロックが伝搬するクロックと、クロックは構成情報保持部７１４から構成情報保持部７１７へクロックが伝搬されるクロックで構成される。
【０１１８】
シリアル転送バス７４９は、構成情報保持部７１５と７１８を繋ぐシリアル転送バスであり、データラインは構成情報保持部７１５から構成情報保持部７１８へ出力される１ビットと、構成情報保持部７１８から構成情報保持部７１５へ出力される１ビットで構成される。また、クロックは構成情報保持部７１８から構成情報保持部７１５へクロックが伝搬するクロックと、クロックは構成情報保持部７１５から構成情報保持部７１８へクロックが伝搬されるクロックで構成される。
【０１１９】
シリアル転送バス７５０は、構成情報保持部７１６と７１７を繋ぐシリアル転送バスであり、データラインは構成情報保持部７１６から構成情報保持部７１７へ出力される１ビットと、構成情報保持部７１７から構成情報保持部７１６へ出力される１ビットで構成される。また、クロックは構成情報保持部７１７から構成情報保持部７１６へクロックが伝搬するクロックと、クロックは構成情報保持部７１６から構成情報保持部７１７へクロックが伝搬されるクロックで構成される。
【０１２０】
シリアル転送バス７５１は、構成情報保持部７１７と７１８を繋ぐシリアル転送バスであり、データラインは構成情報保持部７１７から構成情報保持部７１８へ出力される１ビットと、構成情報保持部７１８から構成情報保持部７１７へ出力される１ビットで構成される。また、クロックは構成情報保持部７１８から構成情報保持部７１７へクロックが伝搬するクロックと、クロックは構成情報保持部７１７から構成情報保持部７１８へクロックが伝搬されるクロックで構成される。
【０１２１】
シリアル転送バス７５２は、構成情報保持部７１６と７１９を繋ぐシリアル転送バスであり、データラインは構成情報保持部７１６から構成情報保持部７１９へ出力される１ビットと、構成情報保持部７１９から構成情報保持部７１６へ出力される１ビットで構成される。また、クロックは構成情報保持部７１９から構成情報保持部７１６へクロックが伝搬するクロックと、クロックは構成情報保持部７１６から構成情報保持部７１９へクロックが伝搬されるクロックで構成される。
【０１２２】
シリアル転送バス７５３は、構成情報保持部７１７と７２０を繋ぐシリアル転送バスであり、データラインは構成情報保持部７１７から構成情報保持部７２０へ出力される１ビットと、構成情報保持部７２０から構成情報保持部７１７へ出力される１ビットで構成される。また、クロックは構成情報保持部７２０から構成情報保持部７１７へクロックが伝搬するクロックと、クロックは構成情報保持部７１７から構成情報保持部７２０へクロックが伝搬されるクロックで構成される。
【０１２３】
シリアル転送バス７５４は、構成情報保持部７１８と７２１を繋ぐシリアル転送バスであり、データラインは構成情報保持部７１８から構成情報保持部７２１へ出力される１ビットと、構成情報保持部７２１から構成情報保持部７１８へ出力される１ビットで構成される。また、クロックは構成情報保持部７２１から構成情報保持部７１８へクロックが伝搬するクロックと、クロックは構成情報保持部７１８から構成情報保持部７２１へクロックが伝搬されるクロックで構成される。
【０１２４】
シリアル転送バス７５５は、構成情報保持部７１９と７２０を繋ぐシリアル転送バスであり、データラインは構成情報保持部７１９から構成情報保持部７２０へ出力される１ビットと、構成情報保持部７２０から構成情報保持部７１９へ出力される１ビットで構成される。また、クロックは構成情報保持部７２０から構成情報保持部７１９へクロックが伝搬するクロックと、クロックは構成情報保持部７１９から構成情報保持部７２０へクロックが伝搬されるクロックで構成される。
【０１２５】
シリアル転送バス７５６は、構成情報保持部７２０と７２１を繋ぐシリアル転送バスであり、データラインは構成情報保持部７２０から構成情報保持部７２１へ出力される１ビットと、構成情報保持部７２１から構成情報保持部７２０へ出力される１ビットで構成される。また、クロックは構成情報保持部７２１から構成情報保持部７２０へクロックが伝搬するクロックと、クロックは構成情報保持部７２０から構成情報保持部７２１へクロックが伝搬されるクロックで構成される。
【０１２６】
シリアル転送バス７６０はデータ転送制御部１０７と構成情報保持部７１０間を接続するシリアル転送バスである。このシリアル転送バス７６０は、１ビットのデータラインとクロックラインで構成されており、データラインのデータ転送方向はデータ転送制御部１０７から構成情報保持部７１０へ出力され、クロックは構成情報保持部７１０からデータ転送制御部１０７へ出力される。
【０１２７】
符号７８０は、シリアルデータ転送用クロックであり、クロック制御部１０２からデータ処理装置の外縁に配置されている構成情報保持部７１０、７１１、７１２、７１３、７１５、７１６、７１８、７１９、７２０、７２１へ出力される。
【０１２８】
＜構成情報保持部の構成（図８）＞
図８は、本第２の実施形態における構成情報保持部の構成を示すブロック図であり、同図を用いて構成情報保持部の構成を説明する。なお、第１の実施形態で示したブロック図と等価なブロックには、同番号を付し、説明を省略する。
【０１２９】
本第２の実施形態の場合、１つの構成情報保持部は、他の４つの構成情報保持部からのデータを入力可能となり、尚且つ、他の４つの構成情報保持部が出力対象となり得る点に注意されたい。
【０１３０】
図中の符号８１０、８１１、８１２、８１３は他構成情報保持部から入力されるシリアル転送バスのデータラインであり、符号８２０、８２１、８２３、８２４はそれぞれデータライン８１０、８１１、８１２、８１３に対応したクロックラインを示す。
【０１３１】
符号８３０、８３１、８３２、８３３は他構成情報保持部へ出力するシリアル転送バスのデータラインであり、符号８４０、８４１、８４３、８４４はそれぞれデータライン８３０、８３１、８３２、８３３のデータラインに対応したクロックラインを示す。
【０１３２】
また、データライン８１０とデータデータ８３０は、同一シリアル転送バスの方向の異なるデータラインである。同様に、データライン８１１とデータライン８３１は、同一シリアル転送バスの方向の異なるデータラインである。同様に、データライン８１２と８３２は、同一シリアル転送バスの方向の異なるデータラインである。そして、データライン８１３とクロックライン８３３は、同一シリアル転送バスの方向の異なるデータラインである。
【０１３３】
符号８０２は、シリアル転送バスのデータライン８１０、８１１、８１２、８１３を選択するマルチプレクサであり、データ転送制御部から送信されるデータ転送制御信号１６１に応じてシリアル転送バスの選択を行う。
【０１３４】
符号８０４は、構成情報記憶部をバイパスするためのマルチプレクサであり、構成情報記憶部のデータを書き換える必要が無い場合は、データ転送制御部から送信されるデータ転送制御信号１６１に応じてマルチプレクサ８０２から出力されるデータを選択する。マルチプレクサ８０４から出力されたデータは、シリアル転送バスのデータライン８３０、８３１、８３２、８３３へ送信される。
【０１３５】
符号８０６は、シリアル転送バスのクロック８４０、８４１、８４２、８４３のクロックラインを選択するマルチプレクサであり、クロック経路制御部１０１から送信されるクロック制御信号１７０に応じてクロックの選択を行う。
【０１３６】
符号８０５は、クロックゲーティング回路であり、クロック制御部から送信されるクロック制御信号１７０に応じて、構成情報記憶部２０１で使用するクロックのゲーティングを行う。
【０１３７】
符号８０３は、クロックをバイパスするためのマルチプレクサであり、構成情報記憶部２０１にデータを設定する必要が無い場合、クロック経路制御部から送信されるクロック制御信号１７０に応じてマルチプレクサ８０６から出力されるクロックを選択する。マルチプレクサ８０３から出力されたクロックは、シリアル転送バスのクロック８２０、８２１、８２２、８２３へ送信される。
【０１３８】
以下に、図８の構成情報保持部が有するシリアル転送バスのデータライン及びクロックラインと、図７中のシリアル転送バスとの対応関係について説明する。
【０１３９】
図７における１つの構成情報保持部は上下左右にシリアル転送バスを有しており、構成情報保持部の右側に接続されるシリアル転送バスのデータラインは８１０と８３０であり、それぞれ対応するクロックラインは８２０と８４０である。同様に、構成情報保持部の上側に接続されるシリアル転送バスのデータラインは８１１と８３１であり、それぞれ対応するクロックラインは８２１と８４１である。同様に、構成情報保持部の左側に接続されるシリアル転送バスのデータラインは８１２と８３２であり、それぞれ対応するクロックラインは８２２と８４２である。同様に、構成情報保持部の下側に接続されるシリアル転送バスのデータラインは８１３と８３３であり、それぞれ対応するクロックラインは８２３と８４３である。
【０１４０】
また、図７における端部に位置する構成情報保持部で、隣接する構成情報保持部が無くシリアル転送バスが無い場合、出力側のデータライン及びクロックラインはオープンであり、入力側のデータラインはグランドに固定される。ただし、入力側のクロックラインはシリアル転送用クロック信号７８０に接続されるものとする。
【０１４１】
また、図におけるシリアル転送バス７６０は、１ビットのデータラインと１ビットのクロックラインで構成されており、図８のデータライン８１２とクロックライン８２２に、それぞれシリアル転送バス７６０のデータラインとクロックラインが接続されるものとする。
【０１４２】
シリアル転送バスの接続関係について、一例として、以下に構成情報保持部７１０を例に説明する。
【０１４３】
構成情報保持部７１０の右側に接続されているシリアル転送バス７４０は、データライン８１０、８３０に接続され、クロックライン８２０、８４０に接続される。構成情報保持部７１０の上側に接続されているシリアル転送バスは無いため、８１１はグランドに接続され、８３１と８２１は出力オープンとする。ただし、８４１にはシリアルデータ転送用クロック７８０が接続される。構成情報保持部７１０の左側に接続されているシリアル転送バスは７６０であるため、シリアル転送バス７６０のデータラインに８１２が接続され、クロックラインに８２２が接続される。また、データライン８３２は出力オープンとし、クロックライン８４２はグランドに固定される。構成情報保持部７１０の下側に接続されているシリアル転送バス７４２はデータラインに８１３、８３３に接続され、クロックライン８３３、８４３に接続される。構成情報保持部７１０以外の構成情報保持部に関して、構成情報保持部の配置位置により、シリアル転送バスの接続関係は明らかであるため、説明は省略する。
【０１４４】
＜クロック経路変更処理（図６、図９）＞
図６、図９を用いて、シリアル転送バスの経路変更に追従して、クロック経路を変更する処理の流れを説明する。
【０１４５】
図９は、本第２の実施形態において、メモリ１０６内に格納されている構成情報を示している。構成情報９０１は、ＩＤが“１”、設定データ“０１０１０１０１０１”で構成される。構成情報９０２は、ＩＤが“２”、設定データ“１１１１１０００００”で構成される。そして、構成情報９０３は、ＩＤが“５”、設定データが“１１１１１０００００”で構成される。
【０１４６】
第１の実施形態と同様、演算要素部１３０のＩＤは“０”、演算要素部１３１のＩＤは“１”、演算要素部１３２のＩＤは“２”、演算要素部１３３のＩＤは“３”、演算要素部１３４のＩＤは“４”、演算要素部１３５のＩＤは“５”であるものとする。
【０１４７】
また、本第２の実施形態において構成情報保持部７１４は、何らかの原因で電源遮断中であり、構成情報のデータ送信経路として使用できない状態であるものものとして説明する。
【０１４８】
図６を用いて、以下に、シリアル転送バスの経路変更に追従して、クロック経路を変更する処理の流れを説明する。
【０１４９】
ステップ６０１において、データ転送制御部１０７は、メモリ１０６から構成情報９０１と９０２と９０３を読み出し、読み出した構成情報のＩＤ情報から、設定が必要な構成情報保持部は構成情報保持部７１１、７１３、７１７であると判定する。
【０１５０】
構成情報保持部７１４をデータ転送経路に含める事ができないため、データ転送制御部１０７は、迂回経路探索アルゴリズムを用いて構成情報保持部７１０→７１１→７１２→７１５→７１８→７１７→７１６→７１３となる転送経路を決定する。
【０１５１】
本第２の実施形態では、迂回経路探索アルゴリズムとして、一部の経路を選択できない制約を課した状態で、ダイクストラ法による経路探索を行う方法を用いるものとする。なお、迂回経路探索アルゴリズムは、上記の方法に限定するものではなく、他のアルゴリズムを用いて迂回経路の探索を行っても良い。
【０１５２】
データ転送制御部１０７は、転送経路が決定されると、クロック経路制御部１０１に転送経路情報を送信し、構成情報保持部毎にデータ転送制御信号１６１を出力する。データ転送制御部１０７が構成情報保持部毎に出力するデータ転送制御信号１６１は、シリアルバス選択用マルチプレクサ８０２の制御信号と、構成情報記憶部バイパス用マルチプレクサ８０４の制御信号である。
【０１５３】
以下に、データ転送制御部１０７から各構成情報保持部へ出力されるデータ転送制御信号１６１の詳細を説明する。
【０１５４】
データ転送制御部１０７は、構成情報保持部７１０のマルチプレクサ８０２の制御信号として、シリアル転送バス７６０を選択する制御信号を出力し、マルチプレクサ８０４へ、マルチプレクサ８０２から出力された信号を選択する制御信号を出力する。
【０１５５】
データ転送制御部１０７は、構成情報保持部７１１のマルチプレクサ８０２の制御信号として、シリアル転送バス７４０を選択する制御信号を出力し、マルチプレクサ８０４へ、構成情報保持部７１１の記憶部２０１から出力された信号を選択する制御信号を出力する。
【０１５６】
データ転送制御部１０７は、構成情報保持部７１２のマルチプレクサ８０２の制御信号として、シリアル転送バス７４１を選択する制御信号を出力し、マルチプレクサ８０４へ、マルチプレクサ８０２から出力された信号を選択する制御信号を出力する。
【０１５７】
データ転送制御部１０７は、構成情報保持部７１５のマルチプレクサ８０２の制御信号として、シリアル転送バス７４４を選択する制御信号を出力し、マルチプレクサ８０４へ、マルチプレクサ８０２から出力された信号を選択する制御信号を出力する。
【０１５８】
データ転送制御部１０７は、構成情報保持部７１８のマルチプレクサ８０２の制御信号として、シリアル転送バス７４９を選択する制御信号を出力し、マルチプレクサ８０４へ、マルチプレクサ８０２から出力された信号を選択する制御信号を出力する。
【０１５９】
データ転送制御部１０７は、構成情報保持部７１７のマルチプレクサ８０２の制御信号として、シリアル転送バス７５１を選択する制御信号を出力し、マルチプレクサ８０４へ、構成情報保持部７１７の記憶部２０１から出力された信号を選択する制御信号を出力する。
【０１６０】
データ転送制御部１０７は、構成情報保持部７１６のマルチプレクサ８０２の制御信号として、シリアル転送バス７５０を選択する制御信号を出力し、マルチプレクサ８０４へ、マルチプレクサ８０２から出力された信号を選択する制御信号を出力する。
【０１６１】
データ転送制御部１０７は、構成情報保持部７１３のマルチプレクサ８０２の制御信号として、シリアル転送バス７４７を選択する制御信号を出力し、マルチプレクサ８０４へ、構成情報保持部７１３の記憶部２０１から出力された信号を選択する制御信号を出力する。
【０１６２】
次に、データ転送制御部１０７は決定した転送経路に応じた転送データを生成する。転送データは、構成情報保持部の転送経路の転送順に生成される。本実施形態において、構成情報保持部の転送順は構成情報保持部７１０→７１１→７１２→７１５→７１８→７１７→７１６→７１３の順で行われる例を説明している。そのためデータ転送制御部１０７は、シリアル転送データとして構成情報保持部７１３、そして、その後に構成情報保持部７１７、構成情報保持部７１７の後に構成情報保持部７１１の設定データとなるビット列を生成する。つまり、データ転送制御部１０７が生成するビット列は、図９から、“００１１００１１００１１１１１００００００１０１０１０１０１”の３０ビットとなる。生成された転送データは、クロック生成部１０２からシリアル転送用クロックが発信されると左端のビットから順番にシリアル転送バス７６０のデータラインに送信される。
【０１６３】
次に、データ転送制御部１０７は、シリアル転送データの総ビット数“３０”をクロック生成部１０２へ送信する。
【０１６４】
ステップ６０２において、クロック経路制御部１０１は、データ転送制御部１０７からデータ転送経路を受信すると、クロック制御部１０２で生成されたクロックが、データ転送経路と逆方向となるクロック経路を決定する。そのため、本第２の実施形態においてクロック経路制御部１０１、クロック経路として、構成情報保持部７１３→７１６→７１７→７１８→７１５→７１２→７１１→７１０の順でクロック伝達されるようにクロック経路を決定する。
【０１６５】
クロック経路が決定されると、クロック経路制御部１０１は、クロック経路に沿ってクロックが伝搬するよう、全構成情報保持部にクロック制御信号１７０を出力する。クロック経路制御部１０１が構成情報保持部毎に出力する制御信号は、クロック選択用マルチプレクサ８０６の制御信号と、クロックバイパス用マルチプレクサ８０３の制御信号と、クロックゲーティング回路８０５の制御信号である。
【０１６６】
以下に、クロック経路制御部１０１から各構成情報保持部へ出力されるクロック制御信号１７０の詳細を説明する。
【０１６７】
クロック経路制御部１０１は、構成情報保持部７１３のマルチプレクサ８０６へクロック７８０を選択する制御信号を出力し、マルチプレクサ８０３へ構成情報記憶部からのパスを選択する制御信号を出力する。また、構成情報保持部７１３の記憶部２０１へ供給するクロックを有効にする制御信号をクロックゲーティング回路８０５へ出力する。
【０１６８】
クロック経路制御部１０１は、構成情報保持部７１６のマルチプレクサ８０６へシリアル転送バス７４７のクロックラインを選択する制御信号を出力し、マルチプレクサ８０３へ８０６から出力されたクロックを選択する制御信号を出力する。また、構成情報保持部７１６の記憶部２０１へ供給するクロックを停止する制御信号をクロックゲーティング回路８０５へ出力する。
【０１６９】
クロック経路制御部１０１は、構成情報保持部７１７のマルチプレクサ８０６へシリアル転送バス７５０のクロックラインを選択する制御信号を出力し、マルチプレクサ８０３へ構成情報記憶部からのパスを選択する制御信号を出力する。また、構成情報保持部７１７の記憶部２０１へ供給するクロックを有効にする制御信号をクロックゲーティング回路８０５へ出力する。
【０１７０】
クロック経路制御部１０１は、構成情報保持部７１８のマルチプレクサ８０６へシリアル転送バス７５１のクロックラインを選択する制御信号を出力し、マルチプレクサ８０３へ８０６から出力されたクロックを選択する制御信号を出力する。また、構成情報保持部７１８の記憶部２０１へ供給するクロックを停止する制御信号をクロックゲーティング回路８０５へ出力する。
【０１７１】
クロック経路制御部１０１は、構成情報保持部７１５のマルチプレクサ８０６へシリアル転送バス７４９のクロックラインを選択する制御信号を出力し、マルチプレクサ８０３へ８０６から出力されたクロックを選択する制御信号を出力する。また、構成情報保持部７１５の記憶部２０１へ供給するクロックを停止する制御信号をクロックゲーティング回路８０５へ出力する。
【０１７２】
クロック経路制御部１０１は、構成情報保持部７１２のマルチプレクサ８０６へシリアル転送バス７４４のクロックラインを選択する制御信号を出力し、マルチプレクサ８０３へ８０６から出力されたクロックを選択する制御信号を出力する。また、構成情報保持部７１２の記憶部２０１へ供給するクロックを停止する制御信号をクロックゲーティング回路８０５へ出力する。
【０１７３】
クロック経路制御部１０１は、構成情報保持部７１１のマルチプレクサ８０６へシリアル転送バス７４１のクロックラインを選択する制御信号を出力し、マルチプレクサ８０３へ構成情報記憶部からのパスを選択する制御信号を出力する。また、構成情報保持部７１１の記憶部２０１へ供給するクロックを有効にする制御信号をクロックゲーティング回路８０５へ出力する。
【０１７４】
クロック経路制御部１０１は、構成情報保持部７１０のマルチプレクサ８０６へシリアル転送バス７４０のクロックラインを選択する制御信号を出力し、マルチプレクサ８０３へ８０６から出力されたクロックを選択する制御信号を出力する。また、構成情報保持部７１０の記憶部２０１へ供給するクロックを停止する制御信号をクロックゲーティング回路８０５へ出力する。
【０１７５】
また、クロック経路制御部１０１は、データ又はクロックの転送経路から外れた他の構成情報保持部（第２の実施形態では、７１９、７２０、７２１）の記憶部２０１へ供給するクロックを停止する制御信号をクロックゲーティング回路８０５へ出力する。
【０１７６】
上記のようにして、クロック経路制御部１０１は、全構成情報保持部へ制御信号を出力すると、クロック生成部１０２へクロック生成開始指示信号１７２をアサートする。
【０１７７】
以上により、データの転送方向と逆方向にクロックを伝搬させるクロック経路の設定が可能となる。
【０１７８】
ステップ６０２において、クロック生成部１０２は、クロック制御部１０１から出力されたクロック生成開始指示信号１７２がアサートされた時、データ転送制御部１０７から送信された転送データの総ビット数“３０”の値をカウンタ３０１へセットする。
【０１７９】
カウンタ３０１は値がゼロになるまで毎クロック−１デクリメントを行い、３０クロック後に値がゼロになるとカウンタを停止する。クロック有効信号生成用ＯＲ回路３０２は、カウンタ３０１の全ビットをＯＲしているため、３０クロックサイクル間クロック有効信号を生成する。そのため、クロック生成部１０２から出力されるクロック１８０は、３０パルスだけクロックを発信する。
【０１８０】
以上説明したように、本第２の実施形態によれば、アレイ型演算装置において、構成情報の設定経路上に電源遮断領域が存在し、設定経路の迂回が必要な場合でも、設定経路と反対方向にクロックを伝搬可能にする事ができる。その結果、シリアル転送バスのデータ転送経路変更によるホールドタイミング違反の発生リスクを低減し、ホールドバッファの挿入数を減らす事が可能となる。
【０１８１】
なお、本発明は、上述の実施形態に限定されるものではなく、シリアル転送バスのデータ転送経路変更が変更可能な場合に、幅広く応用する事が可能である。
【符号の説明】
【０１８２】
１００…データ処理部、１０１…クロック経路制御部、１０２…クロック制御部、１０６…メモリ、１０７…データ転送制御部、１１０乃至１２１…構成情報保持部、１３０乃至１３５…演算要素部（ＰＥ）、１４０乃至１５６…シリアル転送バス
【図１】
2015197898.tif 000003
【図２】
2015197898.tif 000004
【図３】
2015197898.tif 000005
【図４】
2015197898.tif 000006
【図５】
2015197898.tif 000007
【図６】
2015197898.tif 000008
【図７】
2015197898.tif 000009
【図８】
2015197898.tif 000010
【図９】
2015197898.tif 000011