JP2015197898A - Device and method for controlling array type arithmetic unit - Google Patents
Device and method for controlling array type arithmetic unit Download PDFInfo
- Publication number
- JP2015197898A JP2015197898A JP2014077257A JP2014077257A JP2015197898A JP 2015197898 A JP2015197898 A JP 2015197898A JP 2014077257 A JP2014077257 A JP 2014077257A JP 2014077257 A JP2014077257 A JP 2014077257A JP 2015197898 A JP2015197898 A JP 2015197898A
- Authority
- JP
- Japan
- Prior art keywords
- configuration information
- clock
- information holding
- holding unit
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Multi Processors (AREA)
- Bus Control (AREA)
Abstract
Description
本発明はアレイ型演算装置の制御装置及び方法に関する。 The present invention relates to an apparatus and method for controlling an array type arithmetic unit.
近年、CPU、DSP、単体の演算器、もしくは演算ユニットなどのプロセッサエレメント(以下、PEとする)をLSI上に複数搭載し、各PE間をデータ転送用のバスで相互に接続したアレイ型演算装置が注目されている。 In recent years, a plurality of processor elements (hereinafter referred to as PEs) such as CPUs, DSPs, single arithmetic units, or arithmetic units are mounted on an LSI, and each PE is connected to each other via a data transfer bus. The device is drawing attention.
アレイ型演算装置は、各PEの処理内容と各PE間を繋ぐデータ転送経路を、構成情報と呼ぶ設定情報を外部から与えることで変更する事が出来と言う特徴を有している。そのため、構成情報を切り替える事により処理内容に応じてアレイ型演算装置の機能を切り替える事が可能であり、幅広い分野での応用が期待されている。 The array type arithmetic unit has a feature that the processing contents of each PE and the data transfer path connecting the PEs can be changed by externally providing setting information called configuration information. Therefore, by switching the configuration information, it is possible to switch the function of the array type arithmetic unit according to the processing content, and application in a wide range of fields is expected.
従来、アレイ型演算装置の構成情報を送信するバスの信号配線数を少なくするため、1ビット毎にクロックに同期して数珠繋ぎにデータ転送を行うバス(以下、シリアル転送バスと呼ぶ)を用いて構成情報を送信していた。 Conventionally, in order to reduce the number of signal wirings of a bus for transmitting configuration information of an array type arithmetic device, a bus (hereinafter referred to as a serial transfer bus) that transfers data in a daisy chain in synchronization with a clock for each bit is used. Sending configuration information.
また、一般的に、シリアル転送バスはバス配線領域を少なくできるメリットがある一方、ホールドタイミング違反が発生しやすいというデメリットもある。従来、シリアル転送バスの一種であるスキャンパスにおいて、ホールドタイミング違反を緩和する手法として、スキャンパスの接続経路と逆方向にクロック信号を配線する手法が考案されている(特許文献1)。 In general, the serial transfer bus has a merit that the bus wiring area can be reduced, but also has a demerit that a hold timing violation easily occurs. Conventionally, as a technique for alleviating hold timing violation in a scan path which is a kind of serial transfer bus, a technique of wiring a clock signal in the direction opposite to the connection path of the scan path has been devised (Patent Document 1).
大規模なアレイ型演算装置の構成情報の転送バスにシリアル転送バスを用いると、構成情報の転送時間が長期化してしまう。そのため、構成情報の変更が必要なPEに対してのみ構成情報を転送できるよう、シリアル転送バスの経路を動的に切り替え可能な転送手法が用いられるようになってきている。 If a serial transfer bus is used as a transfer bus for configuration information of a large-scale array type arithmetic device, the transfer time of the configuration information is prolonged. For this reason, a transfer method capable of dynamically switching the path of the serial transfer bus has been used so that the configuration information can be transferred only to the PE that needs to change the configuration information.
しかしながら、従来のホールドタイミング違反緩和手法では、シリアル転送バスの経路が動的に切り替わると、クロック信号をシリアル転送バスのデータ転送経路と逆方向に配線する事ができない。そのため、ホールド違反解消用のホールドバッファが大量に挿入されてしまい回路規模が増大してしまうという問題が発生していた。 However, in the conventional hold timing violation mitigation technique, if the path of the serial transfer bus is dynamically switched, the clock signal cannot be wired in the opposite direction to the data transfer path of the serial transfer bus. For this reason, there has been a problem that a large number of hold buffers for eliminating hold violations are inserted and the circuit scale increases.
本発明は係る問題点に鑑みなされたものである。そして、本発明は、シリアル転送バスの転送経路の切り替わりに追従して、クロック経路を切り替えることが出来、ホールドタイミング違反の発生するリスクを軽減し、ホールドバッファ挿入を低減させることを可能にする技術を提供する。 The present invention has been made in view of such problems. Then, the present invention is capable of switching the clock path following the switching of the transfer path of the serial transfer bus, reducing the risk of occurrence of hold timing violation, and reducing the hold buffer insertion. I will provide a.
この課題を解決するため、例えば本発明のアレイ型演算装置の制御装置は以下の構成を備える。すなわち、
複数の演算要素と、各演算要素の処理内容と演算要素を繋ぐデータ転送経路を決定するための構成情報を記憶可能であって、行列状に配列され、かつ、互いにシリアル転送バスで接続された複数の構成情報保持部とで構成されるアレイ型演算装置の制御装置であって、
変更対象の1つ以上の新構成情報が与えられた場合、当該新構成情報で更新対象となる構成情報保持部の位置に基づき、前記新構成情報を転送する転送経路を決定すると共に、転送する際の前記新構成情報の並びを決定するデータ転送制御手段と、
該データ転送制御手段で決定した前記新構成情報の転送経路に対して逆の経路を決定し、当該逆の経路上の更新対象の構成情報保持部はクロックに同期して転送される新構成情報を記憶更新し、更新対象の構成情報保持部を除く他の構成情報保持部はクロックをバイパスするように設定するクロック経路制御手段と、
前記新構成情報が示す情報の長さに対応する数のクロックを、前記逆の経路上の始端となる構成情報保持部に供給するクロック制御手段とを有する。
In order to solve this problem, for example, a control device for an array type arithmetic device of the present invention comprises the following arrangement. That is,
Configuration information for determining a plurality of arithmetic elements, processing contents of each arithmetic element and a data transfer path connecting the arithmetic elements can be stored, arranged in a matrix, and connected to each other via a serial transfer bus A control device for an array type arithmetic unit configured with a plurality of configuration information holding units,
When one or more new configuration information to be changed is given, a transfer path for transferring the new configuration information is determined and transferred based on the position of the configuration information holding unit to be updated with the new configuration information Data transfer control means for determining the arrangement of the new configuration information at the time,
New configuration information that is determined by the data transfer control means is determined in reverse to the transfer path of the new configuration information, and the configuration information holding unit to be updated on the reverse path is transferred in synchronization with the clock. And a clock path control means for setting the configuration information holding unit other than the configuration information holding unit to be updated to bypass the clock,
Clock control means for supplying a number of clocks corresponding to the length of information indicated by the new configuration information to a configuration information holding unit serving as a starting end on the reverse path.
本発明によれば、シリアル転送バスの転送経路の切り替わりに追従して、クロック経路を切り替えることが出来、ホールドタイミング違反の発生するリスクを軽減し、ホールドバッファ挿入を低減させる効果がある。 According to the present invention, the clock path can be switched following the switching of the transfer path of the serial transfer bus, and there is an effect of reducing the risk of holding timing violation and reducing the hold buffer insertion.
以下、添付図面に従って本発明に係る実施の形態を詳細に説明する。なお、以下の各実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。 Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. The configurations shown in the following embodiments are merely examples, and the present invention is not limited to the illustrated configurations.
[第1の実施形態]
本実施形態では、アレイ型演算装置の構成情報設定時間が最短で終了するよう、構成情報の設定経路が変更可能な場合、設定経路の変更に追従して、設定経路と反対方向にクロックを伝搬可能にするクロック構成とクロック制御方法を説明する。
[First Embodiment]
In this embodiment, when the configuration information setting path can be changed so that the configuration information setting time of the array type arithmetic unit ends in the shortest time, the clock is propagated in the opposite direction to the setting path following the change of the setting path. The clock configuration and the clock control method that can be performed will be described.
<システム構成図(図1)>
以下、図1は、本実施形態の特徴的な構成を示すブロック図であり、図1を用いて本実施形態のシステム構成を説明する。
<System configuration diagram (FIG. 1)>
FIG. 1 is a block diagram showing a characteristic configuration of the present embodiment. The system configuration of the present embodiment will be described with reference to FIG.
図中の符号100は、実施形態におけるデータ処理部である。このデータ処理部100は、内部に複数の演算要素部(PE)と、演算要素部間を接続するネットワーク回路を持ち、構成情報を変更する事で演算要素部の処理内容と、演算要素部の接続形態を変更可能になっている。本実施形態において、構成情報は後述の構成情報保持部に記憶される。そして、この構成情報保持部は上記構成情報を記憶可能であって、行列状に配列され、隣り合うものどうしはシリアル転送バスで接続されている。
符号130、131、132、133、134、135は演算要素部(PE)であり、プロセッサやALU等の演算装置と、他演算要素部とデータ授受を行う通信経路を有している。また、演算要素部は後述の構成情報保持部に保持されている構成情報を変更する事で、演算要素部の演算内容と、演算要素部間の通信経路を変更できる。
符号110、111、112、113、114、115、116、117、118、119、120、121は構成情報保持部であり、後述のデータ転送制御部から送信される構成情報を内部に保持する。また、構成情報保持部はシリアル転送バスを有しており、隣接する構成情報保持部とシリアル転送バスで接続されている。構成情報保持部に保持される構成情報は、少なくとも演算要素部の演算内容と、演算要素部間のデータ授受経路を決める情報を持つ。
符号140、141、142、143、144、145、146、147、148、149、150、151、152、153、154、155、156は構成情報保持部間を接続するシリアル転送バスである。
構成情報保持部間を接続するシリアル転送バスは、1ビットのデータラインと1ビットのクロックラインで構成されている。データの転送方向とクロックの発信方向は固定されており、以下に全シリアル転送バスの転送方向を説明する。 The serial transfer bus connecting the configuration information holding units is composed of a 1-bit data line and a 1-bit clock line. The data transfer direction and the clock transmission direction are fixed, and the transfer direction of all serial transfer buses will be described below.
符号160は、データ転送制御部107と構成情報保持部110を繋ぐシリアル転送バスであり、転送データはデータ転送制御部107から構成情報保持部110へ出力され、クロックは構成情報保持部110からデータ転送制御部107へ出力される。
シリアル転送バス140は、構成情報保持部110と111を繋ぎ、転送データは構成情報保持部110から構成情報保持部111へ出力され、クロックは構成情報保持部111から構成情報保持部110へ出力される。
The
シリアル転送バス141は、構成情報保持部111と112を繋ぎ、転送データは構成情報保持部111から構成情報保持部112へ出力され、クロックは構成情報保持部112から構成情報保持部111へ出力される。
The
シリアル転送バス142は、構成情報保持部110と113を繋ぎ、転送データは構成情報保持部110から構成情報保持部113へ出力され、クロックは構成情報保持部113から構成情報保持部110へ出力される。
The
シリアル転送バス143は、構成情報保持部111と114を繋ぎ、転送データは構成情報保持部111から構成情報保持部114へ出力され、クロックは構成情報保持部114から構成情報保持部111へ出力される。
The
シリアル転送バス144は、構成情報保持部112と115を繋ぎ、転送データは構成情報保持部112から構成情報保持部115へ出力され、クロックは構成情報保持部115から構成情報保持部112へ出力される。
The
シリアル転送バス145は、構成情報保持部113と114を繋ぎ、転送データは構成情報保持部114から構成情報保持部113へ出力され、クロックは構成情報保持部113から構成情報保持部114へ出力される。
The
シリアル転送バス146は、構成情報保持部114と115を繋ぎ、転送データは構成情報保持部115から構成情報保持部114へ出力され、クロックは構成情報保持部114から構成情報保持部115へ出力される。
The
シリアル転送バス147は、構成情報保持部113と116を繋ぎ、転送データは構成情報保持部113から構成情報保持部116へ出力され、クロックは構成情報保持部116から構成情報保持部113へ出力される。
The
シリアル転送バス148は、構成情報保持部114と117を繋ぎ、転送データは構成情報保持部114から構成情報保持部117へ出力され、クロックは構成情報保持部117から構成情報保持部114へ出力される。
The
シリアル転送バス149は、構成情報保持部115と118を繋ぎ、転送データは構成情報保持部115から構成情報保持部118へ出力され、クロックは構成情報保持部118から構成情報保持部115へ出力される。
The
シリアル転送バス150は、構成情報保持部116と117を繋ぎ、転送データは構成情報保持部116から構成情報保持部117へ出力され、クロックは構成情報保持部117から構成情報保持部116へ出力される。
The
シリアル転送バス151は、構成情報保持部117と118を繋ぎ、転送データは構成情報保持部117から構成情報保持部118へ出力され、クロックは構成情報保持部118から構成情報保持部117へ出力される。
The
シリアル転送バス152は、構成情報保持部116と119を繋ぎ、転送データは構成情報保持部116から構成情報保持部119へ出力され、クロックは構成情報保持部119から構成情報保持部116へ出力される。
The
シリアル転送バス153は、構成情報保持部117と120を繋ぎ、転送データは構成情報保持部117から構成情報保持部120へ出力され、クロックは構成情報保持部120から構成情報保持部117へ出力される。
The
シリアル転送バス154は、構成情報保持部118と121を繋ぎ、転送データは構成情報保持部118から構成情報保持部121へ出力され、クロックは構成情報保持部121から構成情報保持部118へ出力される。
The
シリアル転送バス155は、構成情報保持部119と120を繋ぎ、転送データは構成情報保持部120から構成情報保持部119へ出力され、クロックは構成情報保持部119から構成情報保持部120へ出力される。
The
シリアル転送バス156は、構成情報保持部120と121を繋ぐシリアル転送バスであり、転送データは構成情報保持部121から構成情報保持部120へ出力され、クロックは構成情報保持部120から構成情報保持部121へ出力される。
The
シリアル転送バス180は、シリアルデータ転送用クロックであり、クロックはクロック制御部102から構成情報保持部119へ出力される。
The
符号101はクロック経路制御部であり、前述の構成情報保持部が有するシリアル転送バスで使用するクロックのクロック制御信号170を出力する。
符号102はクロック制御部であり、シリアルデータ転送で使用するクロックパルスを生成し、前述のシリアル転送バス180へ生成したクロックを出力する。
符号106は、メモリであり、内部に更新対象の構成情報(新構成情報)が格納されている。符号107は、データ転送制御部であり、前述のメモリ106から構成情報を読み出し、シリアルデータの生成とデータ転送制御信号161を生成する。
上記の通りであるが、各シリアル転送バスにおける実線で示される矢印はそのバス上のデータ転送の方向を示し、破線矢印はクロックの転送方向を示すものである。 As described above, an arrow indicated by a solid line in each serial transfer bus indicates a data transfer direction on the bus, and a broken arrow indicates a clock transfer direction.
<構成情報保持部の構成(図2)>
図2は、本実施形態における1つの構成情報保持部の構成を示すブロック図であり、以下、同図を用いて構成情報保持部の構成を説明する。
<Configuration of Configuration Information Holding Unit (FIG. 2)>
FIG. 2 is a block diagram showing the configuration of one configuration information holding unit in the present embodiment. Hereinafter, the configuration of the configuration information holding unit will be described with reference to FIG.
符号201は、構成情報記憶部であり、演算要素部の構成情報を記憶するのに必要な数のフリップフロップを有しており、各フリップフロップは数珠繋ぎに接続される。符号210はクロックバッファであり、フリップフロップのデータ転送方向と逆方向にクロック遅延が発生するよう配置される。
符号248、250、251、253は構成情報保持部に接続されるシリアル転送バスのデータラインである。
また、符号2481はデータライン248に対応したシリアル転送バスのクロックラインである。符号2501はデータライン250に対応したシリアル転送バスのクロックラインである。符号2511はデータライン251に対応したシリアル転送バスのクロックラインである。符号2531はデータライン253に対応したシリアル転送バスのクロックラインである。
符号202は、シリアル転送バス248とシリアル転送バス250から送信されるデータラインを選択するマルチプレクサであり、データ転送制御部から送信されるデータ転送制御信号161に応じてシリアル転送バスの選択を行う。
符号204は、構成情報記憶部をバイパスするためのマルチプレクサであり、構成情報記憶部のデータを書き換える必要が無い場合は、データ転送制御部から送信されるデータ転送制御信号161に応じてマルチプレクサ202から出力されるデータを選択する。符号204から出力されたデータは、シリアル転送バス251と253のデータラインへ送信される。符号206は、シリアル転送バス251と253から出力されるクロックラインを選択するマルチプレクサであり、クロック経路制御部から送信されるクロック制御信号170に応じてクロックの選択を行う。
符号205は、クロックゲーティング回路であり、クロック制御部から送信されるクロック制御信号170に応じて、構成情報記憶部201で使用するクロックのゲーティングを行う。符号203は、クロックをバイパスするためのマルチプレクサであり、構成情報記憶部201にデータを設定する必要が無い場合、クロック経路制御部から送信されるクロック制御信号170に応じてマルチプレクサ206から出力されるクロックを選択する。
各構成情報保持部に接続されるシリアル転送バスは、図1で構成情報保持部が配置されている位置により異なる。以下に図2の構成情報保持部が有するシリアル転送バスと、図1中のシリアル転送バスとの対応関係を説明する。 The serial transfer bus connected to each configuration information holding unit differs depending on the position where the configuration information holding unit is arranged in FIG. The correspondence relationship between the serial transfer bus of the configuration information holding unit in FIG. 2 and the serial transfer bus in FIG. 1 will be described below.
構成情報保持部110は、データライン250とクロックライン2501に図1中のシリアル転送バス160のデータラインとクロックラインが接続される。そして、データライン248はグランドに固定され、クロックライン2481は出力オープンとなっている。また、データライン251とクロックライン2511に図1中のシリアル転送バス140のデータラインとクロックラインが接続され、データライン253とクロックライン2531に図1中のシリアル転送バス142のデータラインとクロックラインが接続される。
In the configuration
構成情報保持部111は、データライン250とクロックライン2501に図1中のシリアル転送バス140のデータラインとクロックラインが接続される。データライン248はグランドに固定され、クロックライン2481は出力オープンとなっている。また、データライン251とクロックライン2511に図1中のシリアル転送バス141のデータラインとクロックラインが接続され、データライン253とクロックライン2531に図1中のシリアル転送バス143のデータラインとクロックラインが接続される。
In the configuration
構成情報保持部112は、データライン250とクロックライン2501に図1中のシリアル転送バス141のデータラインとクロックラインが接続される。データライン248はグランドに固定され、クロックライン2481は出力オープンとなっている。また、データライン251は出力オープンになっており、クロックライン2511はグランドに固定されている。データライン253とクロックライン2531は図1中のシリアル転送バス144のデータラインとクロックラインが接続される。
In the configuration
構成情報保持部115は、データライン250はグランドに固定され、クロックライン2501は出力オープンとなっている。データライン248とクロックライン2481に図1中のシリアル転送バス144のデータラインとクロックラインが接続される。また、データライン251とクロックライン2511に図1中のシリアル転送バス146のデータラインとクロックラインが接続され、データライン253とクロックライン2531に図1中のシリアル転送バス149のデータラインとクロックラインが接続される。
In the configuration
構成情報保持部114は、データライン250とクロックライン2501に図1中のシリアル転送バス146のデータラインとクロックラインが接続される。データライン248とクロックライン2481に図1中のシリアル転送バス143のデータラインとクロックラインが接続される。また、データライン251とクロックライン2511に図1中のシリアル転送バス145のデータラインとクロックラインが接続され、データライン253とクロックライン2531に図1中のシリアル転送バス148のデータラインとクロックラインが接続される。
In the configuration
構成情報保持部113は、データライン250とクロックライン2501に図1中のシリアル転送バス145のデータラインとクロックラインが接続される。データライン248とクロックライン2481に図1中のシリアル転送バス142のデータラインとクロックラインが接続される。また、データライン251は出力オープンであり、クロックライン2511はグランドに固定されている。データライン253とクロックライン2531に図1中のシリアル転送バス147のデータラインとクロックラインが接続される。
In the configuration
構成情報保持部116は、データライン250はグランドに固定され、クロックライン2501は出力オープンとなっている。データライン248とクロックライン2481に図1中のシリアル転送バス147のデータラインとクロックラインが接続されている。また、データライン251とクロックライン2511に図1中のシリアル転送バス150のデータラインとクロックラインが接続され、データライン253とクロックライン2531に図1中のシリアル転送バス152のデータラインとクロックラインが接続される。
In the configuration
構成情報保持部117は、データライン250とクロックライン2501に図1中のシリアル転送バス150のデータラインとクロックラインが接続される。データライン248とクロックライン2481に図1中のシリアル転送バス148のデータラインとクロックラインが接続される。また、データライン251とクロックライン2511に図1中のシリアル転送バス151のデータラインとクロックラインが接続され、データライン253とクロックライン2531に図1中のシリアル転送バス153のデータラインとクロックラインが接続される。
In the configuration
構成情報保持部118は、データライン250とクロックライン2501に図1中のシリアル転送バス151のデータラインとクロックラインが接続される。データライン248とクロックライン2481に図1中のシリアル転送バス149のデータラインとクロックラインが接続される。また、データライン251は出力オープンであり、クロックライン2511はグランドに固定されている。データライン253とクロックライン2531に図1中のシリアル転送バス154のデータラインとクロックラインが接続される。
In the configuration
構成情報保持部121は、データライン250はグラウンドに固定され、クロックライン2501は出力オープンとなっている。データライン248とクロックライン2481に図1中のシリアル転送バス154のデータラインとクロックラインが接続される。また、データライン251とクロックライン2511に図1中のシリアル転送バス156のデータラインとクロックラインが接続され、データライン253は出力オープンであり、クロックライン2531はグランドに固定されている。
In the configuration
構成情報保持部120は、データライン250とクロックライン2501に図1中のシリアル転送バス156のデータラインとクロックラインが接続される。データライン248とクロックライン2481に図1中のシリアル転送バス153のデータラインとクロックラインが接続される。また、データライン251とクロックライン2511に図1中のシリアル転送バス155のデータラインとクロックラインが接続され、データライン253は出力オープンであり、クロックライン2531はグランドに固定されている。
In the configuration
構成情報保持部119は、データライン250とクロックライン2501に図1中のシリアル転送バス155のデータラインとクロックラインが接続される。データライン248とクロックライン2481に図1中のシリアル転送バス152のデータラインとクロックラインが接続される。また、データライン251は出力オープンとなっており、クロックライン2511に図1中のシリアル転送バス180が接続される。データライン253は出力オープンとなっており、クロックライン2531はグランドに固定されている。
In the configuration
<クロック制御部の構成(図3)>
図3は、本実施形態におけるクロック制御部102の構成を示すブロック図であり、同図を用いてクロック制御部の構成を説明する。
<Configuration of clock controller (FIG. 3)>
FIG. 3 is a block diagram showing the configuration of the
図中の符号301は、クロック発信期間をカウントするカウンタである。カウンタ301は、クロック経路制御部101から出力されたクロック生成開始指示信号172がアサートされると、データ転送制御部107から出力された転送データのビット長をカウンタ内に受信し設定する。そして、カウンタ301はシステムクロックに同期して−1カウントを行い、カウンタ値がゼロになるとカウントを停止する。
符号302は、OR回路であり、前述のカウンタの全ビットをORした信号を出力する。符号303は、Latch回路であり、システムクロックがLowに変化した時、OR回路302から出力される信号値を出力する。符号304は、AND回路であり、Latch303から出力された信号とシステムクロックをANDした信号をシリアルデータ転送用クロックとして180へ出力する。
上記構成によれば、カウンタ301がゼロでない時、Latch303から出力される信号はHighになる。そのため、AND回路304から出力されるシリアルデータ転送用クロックは、カウンタ301に設定されたサイクル数だけ、システムクロックを発信することになる。つまり、クロック制御部102は、設定した転送データのビット長で示される数だけクロックを発生することになる。
According to the above configuration, when the
<構成情報のフォーマット例(図4)>
図4は、メモリ106に格納されている構成情報のフォーマットの例である。401は、構成情報の設定対象の演算要素部を特定するIDであり、各演算要素部に一意の値が割り当てられている。402は、IDに対応する演算要素部の構成情報を示す設定データである。本実施形態では、図4に示す構成情報が変更対象の構成情報として与えられたとして説明する。
<Example format of configuration information (FIG. 4)>
FIG. 4 is an example of a format of configuration information stored in the
<クロック経路変更処理(図5、図6)>
図5、図6を用いて、シリアル転送バスの経路変更に追従して、クロック経路を変更する処理の流れを説明する。
<Clock path change processing (FIGS. 5 and 6)>
The flow of processing for changing the clock path following the change of the path of the serial transfer bus will be described with reference to FIGS.
図5は、本実施形態において、メモリ106内に格納されている構成情報を示している。構成情報501は、IDが“3”で、設定データが“0101010101”であることを示している。構成情報502は、IDが“5”で、設定データが“1111010100”の構成情報である。
FIG. 5 shows configuration information stored in the
ここで、本実施形態において、演算要素部130のIDは“0”、演算要素部131のIDは“1”、演算要素部132のIDは“2”、演算要素部133のIDは“3”、演算要素部134のIDは“4”、演算要素部135のIDは“5”であるものとする。図1では各演算要素内で括弧書きでIDを示している。
In this embodiment, the ID of the
図6は、シリアル転送バスの経路変更に追従して、クロック経路を変更する処理の流れを示すフロー図である。 FIG. 6 is a flowchart showing a flow of processing for changing the clock path following the change of the path of the serial transfer bus.
ステップ601は、構成情報受信処理であり、データ転送制御部107がメモリ106から構成情報を読み出し、経路探索アルゴリズムの1つであるダイクストラ法を用いて、最短のデータ転送経路を決定し、制御信号と転送データを生成する処理を示している。
Step 601 is configuration information reception processing, in which the data
ダイクストラ法とは、グラフ理論による最短経路問題を解くためのアルゴリズムであり、グラフ上の2頂点間の最短経路を効率的に求める事ができる。なお、経路探索アルゴリズムはダイクストラ法に限定するものではなく、他のアルゴリズムを適用してもよい。 The Dijkstra method is an algorithm for solving the shortest path problem by graph theory, and can efficiently obtain the shortest path between two vertices on the graph. The route search algorithm is not limited to the Dijkstra method, and other algorithms may be applied.
データ転送制御部107は、メモリ106から構成情報501と502を読み出し、読み出した構成情報のID情報から、設定が必要な構成情報保持部が構成情報保持部114と117であると判定する。
The data
設定が必要なのが構成情報保持部114、117である事から、データ転送制御部107はダイクストラ法を用いて、構成情報保持部110→111→114→117→120→119の順番となる転送経路を決定する。
Since the configuration
データ転送制御部107は、転送経路が決定されると、クロック経路制御部101に転送経路情報を送信し、構成情報保持部毎にデータ転送制御信号161を出力する。データ転送制御部107が構成情報保持部毎に出力するデータ転送制御信号161は、シリアルバス選択用マルチプレクサ202の制御信号と、構成情報記憶部バイパス用マルチプレクサ204の制御信号として使用される。
When the transfer path is determined, the data
以下に、データ転送制御部107から、各構成情報保持部へ出力されるデータ転送制御信号161の詳細を説明する。
Details of the data transfer control signal 161 output from the data
データ転送制御部107は、構成情報保持部110のマルチプレクサ202の制御信号として、シリアル転送バス160を選択する制御信号を出力する。また、構成情報保持部110のマルチプレクサ204に対しマルチプレクサ202から出力される信号を選択する制御信号を出力する。
The data
データ転送制御部107は、構成情報保持部111のマルチプレクサ202の制御信号として、シリアル転送バス140を選択する制御信号を出力する。また、構成情報保持部111のマルチプレクサ204へ、マルチプレクサ202から出力される信号を選択する制御信号を出力する。
The data
データ転送制御部107は、構成情報保持部114のマルチプレクサ202の制御信号として、シリアル転送バス143を選択する制御信号を出力する。また、構成情報保持部114のマルチプレクサ204へ、成情報記憶部111から出力されるパスを選択する制御信号を出力する。
The data
データ転送制御部107は、構成情報保持部117のマルチプレクサ202の制御信号として、シリアル転送バス148を選択する制御信号を出力する。また、マルチプレクサ204へ、構成情報記憶部114から出力されるパスを選択する制御信号を出力する。
The data
データ転送制御部107は、構成情報保持部120のマルチプレクサ202の制御信号として、シリアル転送バス153を選択する制御信号を出力する。また、構成情報保持部120のマルチプレクサ204へ、マルチプレクサ202から出力される信号を選択する制御信号を出力する。
The data
データ転送制御部107は、構成情報保持部119のマルチプレクサ202の制御信号として、シリアル転送バス155を選択する制御信号を出力する。また、構成情報保持部119のマルチプレクサ204へ、マルチプレクサ202から出力される信号を選択する制御信号を出力する。
The data
次に、データ転送制御部107は決定した転送経路に応じた転送データを生成する。転送データは、構成情報保持部の転送経路の転送順に生成される。つまり、転送経路の終端に位置するほど先に転送するする。本実施形態において、構成情報保持部の転送順は構成情報保持部110→111→114→117→120→119の順番で行われる例を説明している。それ故、データ転送制御部107は、シリアル転送データとして構成情報保持部117の設定データの後に構成情報保持部114の設定データとなるビット列“11110101000101010101”を生成する。生成された転送データは、クロック制御部102からシリアル転送用クロックが発信されると左端のビットから順番にシリアル転送バス160のデータラインに送信される。
Next, the data
データ転送制御部107は、シリアル転送データを生成すると、生成した転送データの総ビット数“20”をクロック制御部102へ送信する。
When generating the serial transfer data, the data
ステップ602は、クロック経路制御部の処理であり、ステップ601で決定したデータの転送経路に基づき、クロック経路制御部101が転送経路と反対方向にクロック伝達が行われるクロック制御信号170を生成する処理を示している。
Step 602 is processing of the clock path control unit. Based on the data transfer path determined in
クロック経路制御部101は、データ転送制御部107からデータ転送経路を受信すると、クロック制御部102から出力されたクロックが構成情報保持部119→120→117→114→111→110の順でクロック伝達されるようにクロック経路を決定する。つまり、クロック経度はデータ転送経路に対する逆経路ということができる。
When the clock path control
クロック経路が決定されると、クロック制御部101は、クロック経路に沿ってクロックが伝搬するよう、その始端位置に向けてクロック制御信号170を出力する。
When the clock path is determined, the
クロック経路制御部101が構成情報保持部毎に出力するクロック制御信号170は、クロック選択用マルチプレクサ206の制御信号と、クロックバイパス用マルチプレクサ203の制御信号と、クロックゲーティング回路205の制御信号である。
The
以下に、クロック制御部101からクロック経路上の各構成情報保持部へ出力されるクロック制御信号170の詳細を説明する。
Details of the
クロック経路制御部101は、構成情報保持部119のマルチプレクサ206へクロック180を選択する制御信号を出力する。また、構成情報保持部119のマルチプレクサ203へマルチプレクサ206から出力されたクロックを選択する制御信号を出力する。また、構成情報保持部119の記憶部201へ供給するクロックを停止する制御信号をクロックゲーティング回路205へ出力する。これにより、構成情報保持部119内の記憶部201がその記憶内容が変更されることはない。
The clock path control
クロック経路制御部101は、構成情報保持部120のマルチプレクサ206へシリアル転送バス155からのクロックを選択する制御信号を出力する。また、構成情報保持部120のマルチプレクサ203へマルチプレクサ206から出力されたクロックを選択する制御信号を出力する。更に、構成情報保持部120の記憶部201へ供給するクロックを停止する制御信号をクロックゲーティング回路205へ出力する。
The clock path control
クロック経路制御部101は、構成情報保持部117のマルチプレクサ206へシリアル転送バス153からのクロックを選択する制御信号を出力する。また、構成情報保持部117のマルチプレクサ203へ記憶部201からのパスを選択する制御信号を出力する。また、構成情報保持部117の記憶部201へ供給するクロックを有効にする制御信号をクロックゲーティング回路205へ出力する。この結果、構成情報保持部117内の記憶部201には該当する新しい構成情報が記憶保持される。
The clock path control
クロック経路制御部101は、構成情報保持部114のマルチプレクサ206へシリアル転送バス148からのクロックを選択する制御信号を出力する。また、構成情報保持部114のマルチプレクサ203へ記憶部201からのパスを選択する制御信号を出力する。また、構成情報保持部114の記憶部201へ供給するクロックを有効にする制御信号をクロックゲーティング回路205へ出力する。この結果、構成情報保持部117内の記憶部201が新しい構成情報で記憶更新され、保持される。
The clock path control
クロック経路制御部101は、構成情報保持部111のマルチプレクサ206へシリアル転送バス143からのクロックを選択する制御信号を出力する。また、構成情報保持部111のマルチプレクサ203へバイパス(マルチプレクサ206からのクロック)を選択する制御信号を出力する。また、構成情報保持部111の201へ供給するクロックを停止する制御信号をクロックゲーティング回路205へ出力する。
The clock path control
クロック経路制御部101は、構成情報保持部110のマルチプレクサ206へクロック140を選択する制御信号を出力する。また、構成情報保持部110のマルチプレクサ203へバイパスを選択する制御信号を出力する。また、構成情報保持部110の記憶部201へ供給するクロックを停止する制御信号をクロックゲーティング回路205へ出力する。
The clock path control
また、クロック経路制御部101は、上記以外の構成情報保持部112、113、115、116、118、121それぞれの記憶部201へ供給するクロックを停止する制御信号をクロックゲーティング回路205へ出力する。
Further, the clock path control
クロック経路制御部101は、上記のようにして、全構成情報保持部へ制御信号を出力すると、クロック制御部102へクロック生成開始指示信号172をアサートする。
When the clock path control
以上により、データの転送方向と逆方向にクロックを伝搬させるクロック経路の設定が可能となる。 As described above, it is possible to set the clock path for propagating the clock in the direction opposite to the data transfer direction.
ステップ603は、クロック出力処理であり、ステップ602でデータ転送制御部107からクロック制御部102へ送信された転送データのビット数を元に、クロック生成部102がクロックパルスを生成する処理を行う。
Step 603 is a clock output process, and the
クロック制御部102は、クロック制御部101から出力されたクロック生成開始指示信号172がアサートされた時、データ転送制御部107から送信された転送データの総ビット数“20”の値をカウンタ301へセットする。そして、カウンタ301は値がゼロになるまで毎クロック−1デクリメントを行い、20クロック後に値がゼロになるとカウンタを停止する。クロック有効信号生成用OR回路302は、カウンタ301の全ビットをORしているため、20クロックサイクル間クロック有効信号を生成する。そのため、クロック生成部102から出力されるクロック180は、20パルスだけクロックを発信する。
When the clock generation
以上の処理により、シリアル転送バスのデータ転送経路変更に追従して、クロック伝搬経路がデータ転送経路と逆方向となるようにクロック経路を変更し、データ転送に必要な数だけクロックパルスの発信制御が可能となる。その結果、シリアル転送バスのデータ転送経路変更によるホールドタイミング違反の発生リスクを低減し、ホールドバッファの挿入数を減らす事が可能となる。 With the above processing, following the change of the data transfer path of the serial transfer bus, the clock path is changed so that the clock propagation path is in the opposite direction to the data transfer path, and clock pulse transmission control is performed as many times as necessary for data transfer. Is possible. As a result, it is possible to reduce the risk of occurrence of a hold timing violation due to a change in the data transfer path of the serial transfer bus, and to reduce the number of hold buffers inserted.
[第2の実施形態]
本第2の実施形態では、アレイ型演算装置において、構成情報の設定経路上に電源遮断領域(利用不可の領域)が存在し、設定経路の迂回が必要な場合でも、設定経路と反対方向にクロックを伝搬可能にするクロック構成とクロック制御方法を説明する。
[Second Embodiment]
In the second embodiment, in the array-type arithmetic unit, even when a power shut-off area (unusable area) exists on the configuration information setting path, and the setting path needs to be detoured, it is in the opposite direction to the setting path. A clock configuration that enables clock propagation and a clock control method will be described.
<装置の構成(図7)>
図7は、本実施形態の特徴的な構成を示すブロック図であり、同図を用いて第2の実施形態が適用する表示装置の構成を説明する。なお、第1の実施形態で示したブロック図と等価なブロックには、同番号を付し、説明を省略する。
<Device configuration (FIG. 7)>
FIG. 7 is a block diagram showing a characteristic configuration of the present embodiment, and the configuration of the display device to which the second embodiment is applied will be described with reference to FIG. In addition, the same number is attached | subjected to the block equivalent to the block diagram shown in 1st Embodiment, and description is abbreviate | omitted.
図中の符号710、711、712、713、714、715、716、717、718、719、720、721は構成情報保持部であり、データ転送制御部107から送信される構成情報を内部に保持する。また、構成情報保持部はシリアル転送バスを有しており、隣接する構成情報保持部毎に転送方向の異なるシリアル転送バスを2本有し、シリアル転送経路を変更する事で双方向どちらへもデータ転送可能な構成となっている。構成情報保持部に保持される構成情報は、少なくとも演算要素部の演算内容と、演算要素部間のデータ授受経路を決める情報を持つ。
符号740、741、742、743、744、745、746、747、748、749、750、751、752、753、754、755、756は構成情報保持部間を接続するシリアル転送バスである。構成情報保持部間を接続するシリアル転送バスは、転送方向が異なる2ビットのデータラインと伝搬方向が異なる2ビットのクロックラインで構成されている。換言すれば、1ビットのデータ転送と1ビットのクロックラインで示されるシリアル転送バスが、2本分設けられている。
以下に全シリアル転送バスの転送方向を説明する。 The transfer direction of all serial transfer buses will be described below.
シリアル転送バス740は、構成情報保持部710と711を繋ぐシリアル転送バスであり、データラインは構成情報保持部710から構成情報保持部711へ出力される1ビットと、構成情報保持部711から構成情報保持部710へ出力される1ビットで構成される。また、クロックは構成情報保持部711から構成情報保持部710へクロックが伝搬するクロックと、クロックは構成情報保持部710から構成情報保持部711へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス741は、構成情報保持部711と712を繋ぐシリアル転送バスであり、データラインは構成情報保持部711から構成情報保持部712へ出力される1ビットと、構成情報保持部712から構成情報保持部711へ出力される1ビットで構成される。また、クロックは構成情報保持部712から構成情報保持部711へクロックが伝搬するクロックと、クロックは構成情報保持部711から構成情報保持部712へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス742は、構成情報保持部710と713を繋ぐシリアル転送バスであり、データラインは構成情報保持部710から構成情報保持部713へ出力される1ビットと、構成情報保持部713から構成情報保持部710へ出力される1ビットで構成される。また、クロックは構成情報保持部713から構成情報保持部710へクロックが伝搬するクロックと、クロックは構成情報保持部710から構成情報保持部713へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス743は、構成情報保持部711と714を繋ぐシリアル転送バスであり、データラインは構成情報保持部711から構成情報保持部714へ出力される1ビットと、構成情報保持部714から構成情報保持部711へ出力される1ビットで構成される。また、クロックは構成情報保持部714から構成情報保持部711へクロックが伝搬するクロックと、クロックは構成情報保持部711から構成情報保持部714へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス744は、構成情報保持部712と715を繋ぐシリアル転送バスであり、データラインは構成情報保持部712から構成情報保持部715へ出力される1ビットと、構成情報保持部715から構成情報保持部712へ出力される1ビットで構成される。また、クロックは構成情報保持部715から構成情報保持部712へクロックが伝搬するクロックと、クロックは構成情報保持部715から構成情報保持部712へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス745は、構成情報保持部713と714を繋ぐシリアル転送バスであり、データラインは構成情報保持部713から構成情報保持部714へ出力される1ビットと、構成情報保持部714から構成情報保持部713へ出力される1ビットで構成される。また、クロックは構成情報保持部714から構成情報保持部713へクロックが伝搬するクロックと、クロックは構成情報保持部713から構成情報保持部714へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス746は、構成情報保持部714と715を繋ぐシリアル転送バスであり、データラインは構成情報保持部714から構成情報保持部715へ出力される1ビットと、構成情報保持部715から構成情報保持部714へ出力される1ビットで構成される。また、クロックは構成情報保持部715から構成情報保持部714へクロックが伝搬するクロックと、クロックは構成情報保持部714から構成情報保持部715へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス747は、構成情報保持部713と716を繋ぐシリアル転送バスであり、データラインは構成情報保持部713から構成情報保持部716へ出力される1ビットと、構成情報保持部716から構成情報保持部713へ出力される1ビットで構成される。また、クロックは構成情報保持部716から構成情報保持部713へクロックが伝搬するクロックと、クロックは構成情報保持部713から構成情報保持部716へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス748は、構成情報保持部714と717を繋ぐシリアル転送バスであり、データラインは構成情報保持部714から構成情報保持部717へ出力される1ビットと、構成情報保持部717から構成情報保持部714へ出力される1ビットで構成される。また、クロックは構成情報保持部717から構成情報保持部714へクロックが伝搬するクロックと、クロックは構成情報保持部714から構成情報保持部717へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス749は、構成情報保持部715と718を繋ぐシリアル転送バスであり、データラインは構成情報保持部715から構成情報保持部718へ出力される1ビットと、構成情報保持部718から構成情報保持部715へ出力される1ビットで構成される。また、クロックは構成情報保持部718から構成情報保持部715へクロックが伝搬するクロックと、クロックは構成情報保持部715から構成情報保持部718へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス750は、構成情報保持部716と717を繋ぐシリアル転送バスであり、データラインは構成情報保持部716から構成情報保持部717へ出力される1ビットと、構成情報保持部717から構成情報保持部716へ出力される1ビットで構成される。また、クロックは構成情報保持部717から構成情報保持部716へクロックが伝搬するクロックと、クロックは構成情報保持部716から構成情報保持部717へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス751は、構成情報保持部717と718を繋ぐシリアル転送バスであり、データラインは構成情報保持部717から構成情報保持部718へ出力される1ビットと、構成情報保持部718から構成情報保持部717へ出力される1ビットで構成される。また、クロックは構成情報保持部718から構成情報保持部717へクロックが伝搬するクロックと、クロックは構成情報保持部717から構成情報保持部718へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス752は、構成情報保持部716と719を繋ぐシリアル転送バスであり、データラインは構成情報保持部716から構成情報保持部719へ出力される1ビットと、構成情報保持部719から構成情報保持部716へ出力される1ビットで構成される。また、クロックは構成情報保持部719から構成情報保持部716へクロックが伝搬するクロックと、クロックは構成情報保持部716から構成情報保持部719へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス753は、構成情報保持部717と720を繋ぐシリアル転送バスであり、データラインは構成情報保持部717から構成情報保持部720へ出力される1ビットと、構成情報保持部720から構成情報保持部717へ出力される1ビットで構成される。また、クロックは構成情報保持部720から構成情報保持部717へクロックが伝搬するクロックと、クロックは構成情報保持部717から構成情報保持部720へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス754は、構成情報保持部718と721を繋ぐシリアル転送バスであり、データラインは構成情報保持部718から構成情報保持部721へ出力される1ビットと、構成情報保持部721から構成情報保持部718へ出力される1ビットで構成される。また、クロックは構成情報保持部721から構成情報保持部718へクロックが伝搬するクロックと、クロックは構成情報保持部718から構成情報保持部721へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス755は、構成情報保持部719と720を繋ぐシリアル転送バスであり、データラインは構成情報保持部719から構成情報保持部720へ出力される1ビットと、構成情報保持部720から構成情報保持部719へ出力される1ビットで構成される。また、クロックは構成情報保持部720から構成情報保持部719へクロックが伝搬するクロックと、クロックは構成情報保持部719から構成情報保持部720へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス756は、構成情報保持部720と721を繋ぐシリアル転送バスであり、データラインは構成情報保持部720から構成情報保持部721へ出力される1ビットと、構成情報保持部721から構成情報保持部720へ出力される1ビットで構成される。また、クロックは構成情報保持部721から構成情報保持部720へクロックが伝搬するクロックと、クロックは構成情報保持部720から構成情報保持部721へクロックが伝搬されるクロックで構成される。
The
シリアル転送バス760はデータ転送制御部107と構成情報保持部710間を接続するシリアル転送バスである。このシリアル転送バス760は、1ビットのデータラインとクロックラインで構成されており、データラインのデータ転送方向はデータ転送制御部107から構成情報保持部710へ出力され、クロックは構成情報保持部710からデータ転送制御部107へ出力される。
The
符号780は、シリアルデータ転送用クロックであり、クロック制御部102からデータ処理装置の外縁に配置されている構成情報保持部710、711、712、713、715、716、718、719、720、721へ出力される。
<構成情報保持部の構成(図8)>
図8は、本第2の実施形態における構成情報保持部の構成を示すブロック図であり、同図を用いて構成情報保持部の構成を説明する。なお、第1の実施形態で示したブロック図と等価なブロックには、同番号を付し、説明を省略する。
<Configuration of Configuration Information Holding Unit (FIG. 8)>
FIG. 8 is a block diagram showing the configuration of the configuration information holding unit in the second embodiment, and the configuration of the configuration information holding unit will be described with reference to FIG. In addition, the same number is attached | subjected to the block equivalent to the block diagram shown in 1st Embodiment, and description is abbreviate | omitted.
本第2の実施形態の場合、1つの構成情報保持部は、他の4つの構成情報保持部からのデータを入力可能となり、尚且つ、他の4つの構成情報保持部が出力対象となり得る点に注意されたい。 In the case of the second embodiment, one configuration information holding unit can input data from the other four configuration information holding units, and the other four configuration information holding units can be output targets. Please be careful.
図中の符号810、811、812、813は他構成情報保持部から入力されるシリアル転送バスのデータラインであり、符号820、821、823、824はそれぞれデータライン810、811、812、813に対応したクロックラインを示す。
符号830、831、832、833は他構成情報保持部へ出力するシリアル転送バスのデータラインであり、符号840、841、843、844はそれぞれデータライン830、831、832、833のデータラインに対応したクロックラインを示す。
また、データライン810とデータデータ830は、同一シリアル転送バスの方向の異なるデータラインである。同様に、データライン811とデータライン831は、同一シリアル転送バスの方向の異なるデータラインである。同様に、データライン812と832は、同一シリアル転送バスの方向の異なるデータラインである。そして、データライン813とクロックライン833は、同一シリアル転送バスの方向の異なるデータラインである。
Further, the
符号802は、シリアル転送バスのデータライン810、811、812、813を選択するマルチプレクサであり、データ転送制御部から送信されるデータ転送制御信号161に応じてシリアル転送バスの選択を行う。
符号804は、構成情報記憶部をバイパスするためのマルチプレクサであり、構成情報記憶部のデータを書き換える必要が無い場合は、データ転送制御部から送信されるデータ転送制御信号161に応じてマルチプレクサ802から出力されるデータを選択する。マルチプレクサ804から出力されたデータは、シリアル転送バスのデータライン830、831、832、833へ送信される。
符号806は、シリアル転送バスのクロック840、841、842、843のクロックラインを選択するマルチプレクサであり、クロック経路制御部101から送信されるクロック制御信号170に応じてクロックの選択を行う。
符号805は、クロックゲーティング回路であり、クロック制御部から送信されるクロック制御信号170に応じて、構成情報記憶部201で使用するクロックのゲーティングを行う。
符号803は、クロックをバイパスするためのマルチプレクサであり、構成情報記憶部201にデータを設定する必要が無い場合、クロック経路制御部から送信されるクロック制御信号170に応じてマルチプレクサ806から出力されるクロックを選択する。マルチプレクサ803から出力されたクロックは、シリアル転送バスのクロック820、821、822、823へ送信される。
以下に、図8の構成情報保持部が有するシリアル転送バスのデータライン及びクロックラインと、図7中のシリアル転送バスとの対応関係について説明する。 The correspondence relationship between the data line and clock line of the serial transfer bus included in the configuration information holding unit in FIG. 8 and the serial transfer bus in FIG. 7 will be described below.
図7における1つの構成情報保持部は上下左右にシリアル転送バスを有しており、構成情報保持部の右側に接続されるシリアル転送バスのデータラインは810と830であり、それぞれ対応するクロックラインは820と840である。同様に、構成情報保持部の上側に接続されるシリアル転送バスのデータラインは811と831であり、それぞれ対応するクロックラインは821と841である。同様に、構成情報保持部の左側に接続されるシリアル転送バスのデータラインは812と832であり、それぞれ対応するクロックラインは822と842である。同様に、構成情報保持部の下側に接続されるシリアル転送バスのデータラインは813と833であり、それぞれ対応するクロックラインは823と843である。 One configuration information holding unit in FIG. 7 has serial transfer buses on the top, bottom, left and right, and the data lines of the serial transfer bus connected to the right side of the configuration information holding unit are 810 and 830, respectively. Are 820 and 840. Similarly, the data lines of the serial transfer bus connected to the upper side of the configuration information holding unit are 811 and 831, and the corresponding clock lines are 821 and 841, respectively. Similarly, the data lines of the serial transfer bus connected to the left side of the configuration information holding unit are 812 and 832, and the corresponding clock lines are 822 and 842, respectively. Similarly, the data lines of the serial transfer bus connected to the lower side of the configuration information holding unit are 813 and 833, and the corresponding clock lines are 823 and 843, respectively.
また、図7における端部に位置する構成情報保持部で、隣接する構成情報保持部が無くシリアル転送バスが無い場合、出力側のデータライン及びクロックラインはオープンであり、入力側のデータラインはグランドに固定される。ただし、入力側のクロックラインはシリアル転送用クロック信号780に接続されるものとする。
Also, in the configuration information holding unit located at the end in FIG. 7, when there is no adjacent configuration information holding unit and no serial transfer bus, the output side data line and the clock line are open, and the input side data line is Fixed to ground. However, the input clock line is connected to the serial
また、図におけるシリアル転送バス760は、1ビットのデータラインと1ビットのクロックラインで構成されており、図8のデータライン812とクロックライン822に、それぞれシリアル転送バス760のデータラインとクロックラインが接続されるものとする。
Also, the
シリアル転送バスの接続関係について、一例として、以下に構成情報保持部710を例に説明する。
As an example, the connection relationship of the serial transfer bus will be described below using the configuration
構成情報保持部710の右側に接続されているシリアル転送バス740は、データライン810、830に接続され、クロックライン820、840に接続される。構成情報保持部710の上側に接続されているシリアル転送バスは無いため、811はグランドに接続され、831と821は出力オープンとする。ただし、841にはシリアルデータ転送用クロック780が接続される。構成情報保持部710の左側に接続されているシリアル転送バスは760であるため、シリアル転送バス760のデータラインに812が接続され、クロックラインに822が接続される。また、データライン832は出力オープンとし、クロックライン842はグランドに固定される。構成情報保持部710の下側に接続されているシリアル転送バス742はデータラインに813、833に接続され、クロックライン833、843に接続される。構成情報保持部710以外の構成情報保持部に関して、構成情報保持部の配置位置により、シリアル転送バスの接続関係は明らかであるため、説明は省略する。
The
<クロック経路変更処理(図6、図9)>
図6、図9を用いて、シリアル転送バスの経路変更に追従して、クロック経路を変更する処理の流れを説明する。
<Clock path change processing (FIGS. 6 and 9)>
The flow of processing for changing the clock path following the change of the path of the serial transfer bus will be described with reference to FIGS.
図9は、本第2の実施形態において、メモリ106内に格納されている構成情報を示している。構成情報901は、IDが“1”、設定データ“0101010101”で構成される。構成情報902は、IDが“2”、設定データ“1111100000”で構成される。そして、構成情報903は、IDが“5”、設定データが“1111100000”で構成される。
FIG. 9 shows configuration information stored in the
第1の実施形態と同様、演算要素部130のIDは“0”、演算要素部131のIDは“1”、演算要素部132のIDは“2”、演算要素部133のIDは“3”、演算要素部134のIDは“4”、演算要素部135のIDは“5”であるものとする。
As in the first embodiment, the ID of the
また、本第2の実施形態において構成情報保持部714は、何らかの原因で電源遮断中であり、構成情報のデータ送信経路として使用できない状態であるものものとして説明する。
In the second embodiment, the configuration
図6を用いて、以下に、シリアル転送バスの経路変更に追従して、クロック経路を変更する処理の流れを説明する。 The flow of processing for changing the clock path following the change of the path of the serial transfer bus will be described below with reference to FIG.
ステップ601において、データ転送制御部107は、メモリ106から構成情報901と902と903を読み出し、読み出した構成情報のID情報から、設定が必要な構成情報保持部は構成情報保持部711、713、717であると判定する。
In
構成情報保持部714をデータ転送経路に含める事ができないため、データ転送制御部107は、迂回経路探索アルゴリズムを用いて構成情報保持部710→711→712→715→718→717→716→713となる転送経路を決定する。
Since the configuration
本第2の実施形態では、迂回経路探索アルゴリズムとして、一部の経路を選択できない制約を課した状態で、ダイクストラ法による経路探索を行う方法を用いるものとする。なお、迂回経路探索アルゴリズムは、上記の方法に限定するものではなく、他のアルゴリズムを用いて迂回経路の探索を行っても良い。 In the second embodiment, as a bypass route search algorithm, a method of performing a route search by the Dijkstra method in a state where a restriction that some of the routes cannot be selected is imposed. Note that the detour route search algorithm is not limited to the above method, and a detour route may be searched using another algorithm.
データ転送制御部107は、転送経路が決定されると、クロック経路制御部101に転送経路情報を送信し、構成情報保持部毎にデータ転送制御信号161を出力する。データ転送制御部107が構成情報保持部毎に出力するデータ転送制御信号161は、シリアルバス選択用マルチプレクサ802の制御信号と、構成情報記憶部バイパス用マルチプレクサ804の制御信号である。
When the transfer path is determined, the data
以下に、データ転送制御部107から各構成情報保持部へ出力されるデータ転送制御信号161の詳細を説明する。
Details of the data transfer control signal 161 output from the data
データ転送制御部107は、構成情報保持部710のマルチプレクサ802の制御信号として、シリアル転送バス760を選択する制御信号を出力し、マルチプレクサ804へ、マルチプレクサ802から出力された信号を選択する制御信号を出力する。
The data
データ転送制御部107は、構成情報保持部711のマルチプレクサ802の制御信号として、シリアル転送バス740を選択する制御信号を出力し、マルチプレクサ804へ、構成情報保持部711の記憶部201から出力された信号を選択する制御信号を出力する。
The data
データ転送制御部107は、構成情報保持部712のマルチプレクサ802の制御信号として、シリアル転送バス741を選択する制御信号を出力し、マルチプレクサ804へ、マルチプレクサ802から出力された信号を選択する制御信号を出力する。
The data
データ転送制御部107は、構成情報保持部715のマルチプレクサ802の制御信号として、シリアル転送バス744を選択する制御信号を出力し、マルチプレクサ804へ、マルチプレクサ802から出力された信号を選択する制御信号を出力する。
The data
データ転送制御部107は、構成情報保持部718のマルチプレクサ802の制御信号として、シリアル転送バス749を選択する制御信号を出力し、マルチプレクサ804へ、マルチプレクサ802から出力された信号を選択する制御信号を出力する。
The data
データ転送制御部107は、構成情報保持部717のマルチプレクサ802の制御信号として、シリアル転送バス751を選択する制御信号を出力し、マルチプレクサ804へ、構成情報保持部717の記憶部201から出力された信号を選択する制御信号を出力する。
The data
データ転送制御部107は、構成情報保持部716のマルチプレクサ802の制御信号として、シリアル転送バス750を選択する制御信号を出力し、マルチプレクサ804へ、マルチプレクサ802から出力された信号を選択する制御信号を出力する。
The data
データ転送制御部107は、構成情報保持部713のマルチプレクサ802の制御信号として、シリアル転送バス747を選択する制御信号を出力し、マルチプレクサ804へ、構成情報保持部713の記憶部201から出力された信号を選択する制御信号を出力する。
The data
次に、データ転送制御部107は決定した転送経路に応じた転送データを生成する。転送データは、構成情報保持部の転送経路の転送順に生成される。本実施形態において、構成情報保持部の転送順は構成情報保持部710→711→712→715→718→717→716→713の順で行われる例を説明している。そのためデータ転送制御部107は、シリアル転送データとして構成情報保持部713、そして、その後に構成情報保持部717、構成情報保持部717の後に構成情報保持部711の設定データとなるビット列を生成する。つまり、データ転送制御部107が生成するビット列は、図9から、“001100110011111000000101010101”の30ビットとなる。生成された転送データは、クロック生成部102からシリアル転送用クロックが発信されると左端のビットから順番にシリアル転送バス760のデータラインに送信される。
Next, the data
次に、データ転送制御部107は、シリアル転送データの総ビット数“30”をクロック生成部102へ送信する。
Next, the data
ステップ602において、クロック経路制御部101は、データ転送制御部107からデータ転送経路を受信すると、クロック制御部102で生成されたクロックが、データ転送経路と逆方向となるクロック経路を決定する。そのため、本第2の実施形態においてクロック経路制御部101、クロック経路として、構成情報保持部713→716→717→718→715→712→711→710の順でクロック伝達されるようにクロック経路を決定する。
In
クロック経路が決定されると、クロック経路制御部101は、クロック経路に沿ってクロックが伝搬するよう、全構成情報保持部にクロック制御信号170を出力する。クロック経路制御部101が構成情報保持部毎に出力する制御信号は、クロック選択用マルチプレクサ806の制御信号と、クロックバイパス用マルチプレクサ803の制御信号と、クロックゲーティング回路805の制御信号である。
When the clock path is determined, the clock path control
以下に、クロック経路制御部101から各構成情報保持部へ出力されるクロック制御信号170の詳細を説明する。
Details of the
クロック経路制御部101は、構成情報保持部713のマルチプレクサ806へクロック780を選択する制御信号を出力し、マルチプレクサ803へ構成情報記憶部からのパスを選択する制御信号を出力する。また、構成情報保持部713の記憶部201へ供給するクロックを有効にする制御信号をクロックゲーティング回路805へ出力する。
The clock path control
クロック経路制御部101は、構成情報保持部716のマルチプレクサ806へシリアル転送バス747のクロックラインを選択する制御信号を出力し、マルチプレクサ803へ806から出力されたクロックを選択する制御信号を出力する。また、構成情報保持部716の記憶部201へ供給するクロックを停止する制御信号をクロックゲーティング回路805へ出力する。
The clock path control
クロック経路制御部101は、構成情報保持部717のマルチプレクサ806へシリアル転送バス750のクロックラインを選択する制御信号を出力し、マルチプレクサ803へ構成情報記憶部からのパスを選択する制御信号を出力する。また、構成情報保持部717の記憶部201へ供給するクロックを有効にする制御信号をクロックゲーティング回路805へ出力する。
The clock path control
クロック経路制御部101は、構成情報保持部718のマルチプレクサ806へシリアル転送バス751のクロックラインを選択する制御信号を出力し、マルチプレクサ803へ806から出力されたクロックを選択する制御信号を出力する。また、構成情報保持部718の記憶部201へ供給するクロックを停止する制御信号をクロックゲーティング回路805へ出力する。
The clock path control
クロック経路制御部101は、構成情報保持部715のマルチプレクサ806へシリアル転送バス749のクロックラインを選択する制御信号を出力し、マルチプレクサ803へ806から出力されたクロックを選択する制御信号を出力する。また、構成情報保持部715の記憶部201へ供給するクロックを停止する制御信号をクロックゲーティング回路805へ出力する。
The clock path control
クロック経路制御部101は、構成情報保持部712のマルチプレクサ806へシリアル転送バス744のクロックラインを選択する制御信号を出力し、マルチプレクサ803へ806から出力されたクロックを選択する制御信号を出力する。また、構成情報保持部712の記憶部201へ供給するクロックを停止する制御信号をクロックゲーティング回路805へ出力する。
The clock path control
クロック経路制御部101は、構成情報保持部711のマルチプレクサ806へシリアル転送バス741のクロックラインを選択する制御信号を出力し、マルチプレクサ803へ構成情報記憶部からのパスを選択する制御信号を出力する。また、構成情報保持部711の記憶部201へ供給するクロックを有効にする制御信号をクロックゲーティング回路805へ出力する。
The clock path control
クロック経路制御部101は、構成情報保持部710のマルチプレクサ806へシリアル転送バス740のクロックラインを選択する制御信号を出力し、マルチプレクサ803へ806から出力されたクロックを選択する制御信号を出力する。また、構成情報保持部710の記憶部201へ供給するクロックを停止する制御信号をクロックゲーティング回路805へ出力する。
The clock path control
また、クロック経路制御部101は、データ又はクロックの転送経路から外れた他の構成情報保持部(第2の実施形態では、719、720、721)の記憶部201へ供給するクロックを停止する制御信号をクロックゲーティング回路805へ出力する。
Further, the clock path control
上記のようにして、クロック経路制御部101は、全構成情報保持部へ制御信号を出力すると、クロック生成部102へクロック生成開始指示信号172をアサートする。
As described above, when the clock path control
以上により、データの転送方向と逆方向にクロックを伝搬させるクロック経路の設定が可能となる。 As described above, it is possible to set the clock path for propagating the clock in the direction opposite to the data transfer direction.
ステップ602において、クロック生成部102は、クロック制御部101から出力されたクロック生成開始指示信号172がアサートされた時、データ転送制御部107から送信された転送データの総ビット数“30”の値をカウンタ301へセットする。
In
カウンタ301は値がゼロになるまで毎クロック−1デクリメントを行い、30クロック後に値がゼロになるとカウンタを停止する。クロック有効信号生成用OR回路302は、カウンタ301の全ビットをORしているため、30クロックサイクル間クロック有効信号を生成する。そのため、クロック生成部102から出力されるクロック180は、30パルスだけクロックを発信する。
The
以上説明したように、本第2の実施形態によれば、アレイ型演算装置において、構成情報の設定経路上に電源遮断領域が存在し、設定経路の迂回が必要な場合でも、設定経路と反対方向にクロックを伝搬可能にする事ができる。その結果、シリアル転送バスのデータ転送経路変更によるホールドタイミング違反の発生リスクを低減し、ホールドバッファの挿入数を減らす事が可能となる。 As described above, according to the second embodiment, in the array type arithmetic unit, even when the power shut-off area exists on the configuration information setting path and it is necessary to bypass the setting path, it is opposite to the setting path. The clock can be propagated in the direction. As a result, it is possible to reduce the risk of occurrence of a hold timing violation due to a change in the data transfer path of the serial transfer bus, and to reduce the number of hold buffers inserted.
なお、本発明は、上述の実施形態に限定されるものではなく、シリアル転送バスのデータ転送経路変更が変更可能な場合に、幅広く応用する事が可能である。 The present invention is not limited to the above-described embodiment, and can be widely applied when the data transfer path change of the serial transfer bus can be changed.
100…データ処理部、101…クロック経路制御部、102…クロック制御部、106…メモリ、107…データ転送制御部、110乃至121…構成情報保持部、130乃至135…演算要素部(PE)、140乃至156…シリアル転送バス
DESCRIPTION OF
Claims (6)
変更対象の1つ以上の新構成情報が与えられた場合、当該新構成情報で更新対象となる構成情報保持部の位置に基づき、前記新構成情報を転送する転送経路を決定すると共に、転送する際の前記新構成情報の並びを決定するデータ転送制御手段と、
該データ転送制御手段で決定した前記新構成情報の転送経路に対して逆の経路を決定し、当該逆の経路上の更新対象の構成情報保持部はクロックに同期して転送される新構成情報を記憶更新し、更新対象の構成情報保持部を除く他の構成情報保持部はクロックをバイパスするように設定するクロック経路制御手段と、
前記新構成情報が示す情報の長さに対応する数のクロックを、前記逆の経路上の始端となる構成情報保持部に供給するクロック制御手段と
を有することを特徴とするアレイ型演算装置の制御装置。 Configuration information for determining a plurality of arithmetic elements, processing contents of each arithmetic element and a data transfer path connecting the arithmetic elements can be stored, arranged in a matrix, and connected to each other via a serial transfer bus A control device for an array type arithmetic unit configured with a plurality of configuration information holding units,
When one or more new configuration information to be changed is given, a transfer path for transferring the new configuration information is determined and transferred based on the position of the configuration information holding unit to be updated with the new configuration information Data transfer control means for determining the arrangement of the new configuration information at the time,
New configuration information that is determined by the data transfer control means is determined in reverse to the transfer path of the new configuration information, and the configuration information holding unit to be updated on the reverse path is transferred in synchronization with the clock. And a clock path control means for setting the configuration information holding unit other than the configuration information holding unit to be updated to bypass the clock,
A clock control means for supplying a number of clocks corresponding to the length of information indicated by the new configuration information to a configuration information holding unit serving as a starting end on the reverse path; Control device.
前記データ転送制御部は、利用不可の構成情報記憶部が存在するとき、当該利用不可の構成情報記憶部を迂回する前記新構成情報を転送する転送経路を決定することを特徴とする請求項1に記載のアレイ型演算装置の制御装置。 The serial transfer bus that connects two adjacent configuration information holding units includes two serial transfer buses whose transfer directions are opposite to each other,
2. The data transfer control unit, when there is an unusable configuration information storage unit, determines a transfer path for transferring the new configuration information that bypasses the unusable configuration information storage unit. Control device of array type arithmetic unit as described in 2.
データ転送制御手段が、変更対象の1つ以上の新構成情報が与えられた場合、当該新構成情報で更新対象となる構成情報保持部の位置に基づき、前記新構成情報を転送する転送経路を決定すると共に、転送する際の前記新構成情報の並びを決定するデータ転送制御工程と、
クロック経路制御手段が、前記データ転送制御工程で決定した前記新構成情報の転送経路に対して逆の経路を決定し、当該逆の経路上の更新対象の構成情報保持部はクロックに同期して転送される新構成情報を記憶更新し、更新対象の構成情報保持部を除く他の構成情報保持部はクロックをバイパスするように設定するクロック経路制御工程と、
クロック制御手段が、前記新構成情報が示す情報の長さに対応する数のクロックを、前記逆の経路上の始端となる構成情報保持部に供給するクロック制御工程と
を有することを特徴とするアレイ型演算装置の制御方法。 Configuration information for determining a plurality of arithmetic elements, processing contents of each arithmetic element and a data transfer path connecting the arithmetic elements can be stored, arranged in a matrix, and connected to each other via a serial transfer bus A control method of an array type arithmetic unit configured with a plurality of configuration information holding units,
When the data transfer control means is given one or more new configuration information to be changed, a transfer path for transferring the new configuration information based on the position of the configuration information holding unit to be updated with the new configuration information. And a data transfer control step for determining the arrangement of the new configuration information when transferring, and
The clock path control means determines a path reverse to the transfer path of the new configuration information determined in the data transfer control step, and the configuration information holding unit to be updated on the reverse path is synchronized with the clock. A clock path control step for storing and updating the new configuration information to be transferred, and setting the configuration information holding unit other than the configuration information holding unit to be updated to bypass the clock; and
A clock control step for supplying a number of clocks corresponding to a length of information indicated by the new configuration information to a configuration information holding unit serving as a starting end on the reverse path; Control method for array type arithmetic unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014077257A JP2015197898A (en) | 2014-04-03 | 2014-04-03 | Device and method for controlling array type arithmetic unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014077257A JP2015197898A (en) | 2014-04-03 | 2014-04-03 | Device and method for controlling array type arithmetic unit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015197898A true JP2015197898A (en) | 2015-11-09 |
Family
ID=54547512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014077257A Pending JP2015197898A (en) | 2014-04-03 | 2014-04-03 | Device and method for controlling array type arithmetic unit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015197898A (en) |
-
2014
- 2014-04-03 JP JP2014077257A patent/JP2015197898A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8819611B2 (en) | Asymmetric mesh NoC topologies | |
US8352774B2 (en) | Inter-clock domain data transfer FIFO circuit | |
JP2011170868A (en) | Pipeline accelerator for improved computing architecture, and related system and method | |
US11971846B2 (en) | Logic unit for a reconfigurable processor | |
US10282343B2 (en) | Semiconductor device | |
JP2010218364A (en) | Information processing system, and communication control apparatus and method | |
US8102855B2 (en) | Data processing system, method and interconnect fabric supporting concurrent operations of varying broadcast scope | |
JP2007220046A (en) | Bus device, bus system and information transfer method | |
JP2005209207A (en) | Method for managing data in array processor, and array processor | |
JP2008276638A (en) | Semiconductor storage device, memory access control system and method for reading data | |
Pontes et al. | Hermes-AA: A 65nm asynchronous NoC router with adaptive routing | |
EP2132645B1 (en) | A data transfer network and control apparatus for a system with an array of processing elements each either self- or common controlled | |
JP2001117858A (en) | Data processor | |
JP5435031B2 (en) | Asynchronous logic circuit, semiconductor circuit, and path calculation method in asynchronous logic circuit | |
US10728178B2 (en) | Apparatus and method for distribution of congestion information in a switch | |
JP2015197898A (en) | Device and method for controlling array type arithmetic unit | |
JP2010109869A (en) | Semiconductor device | |
US20160141009A1 (en) | Semiconductor apparatus and operating method thereof | |
JP2007213185A (en) | Data processor | |
US20230318979A1 (en) | Bidirectional ring-based interconnection networks for multiprocessors | |
US8164973B2 (en) | Storage apparatus and method of controlling storage apparatus | |
JP2004326222A (en) | Data processing system | |
US8710891B2 (en) | Semiconductor IC including pulse generation logic circuit | |
JP2004071103A (en) | Self-synchronizing fifo memory device | |
WO2016051435A1 (en) | Data transfer apparatus and microcomputer |