JPWO2010087098A1 - 並列演算装置、情報処理システム、並列演算方法、および情報処理装置 - Google Patents
並列演算装置、情報処理システム、並列演算方法、および情報処理装置 Download PDFInfo
- Publication number
- JPWO2010087098A1 JPWO2010087098A1 JP2010548380A JP2010548380A JPWO2010087098A1 JP WO2010087098 A1 JPWO2010087098 A1 JP WO2010087098A1 JP 2010548380 A JP2010548380 A JP 2010548380A JP 2010548380 A JP2010548380 A JP 2010548380A JP WO2010087098 A1 JPWO2010087098 A1 JP WO2010087098A1
- Authority
- JP
- Japan
- Prior art keywords
- state
- physical
- logical
- configuration
- unit
- 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
- 230000010365 information processing Effects 0.000 title claims description 46
- 238000003672 processing method Methods 0.000 title 1
- 238000004364 calculation method Methods 0.000 claims abstract description 68
- 230000007704 transition Effects 0.000 claims description 60
- 238000000034 method Methods 0.000 claims description 23
- 238000010586 diagram Methods 0.000 description 19
- 238000006243 chemical reaction Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
- G06F9/3897—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
Abstract
演算部は、複数の演算器を備え、複数の演算器の構成を記述した構成情報と構成情報を示す物理構成番号とを対応付けて保持し、指定された物理構成番号に対応する構成で演算を実行する。状態管理部は、現在の状態を表す論理状態番号に基づいて、次に移行すべき状態に対応する物理構成番号を演算部に対して指定すると共に、次に移行すべき状態をオブジェクトコード内で一意に特定する論理状態番号を出力する。判断部は、状態管理部から出力された論理状態番号に基づいて、次に移行すべき状態に対応する構成情報が演算部に保持されているか否か判断する。書換部は、次に移行すべき状態に対応する構成情報が演算部に保持されていないと判断されたら、その構成情報と、その構成情報の物理構成番号とを対応付けて演算部に記録する。
Description
本発明は、複数の演算器の接続構成を変更しながら並列処理を実行する並列演算装置に関する。
所望の処理を実現するプロセッサユニットとしてCPU(Central Processing Unit)が知られている。またその中で、小型化および高性能化を目的とした、複数のプロセッサをアレイ状に並べたアレイ型プロセッサで構成される並列演算装置が知られている(下記の文献1〜6参照)。これらの文献に記載された背景技術を以降、第1の背景技術と称す。
また、第1の背景技術による並列演算装置で動作するプログラム(オブジェクトコードとも言う)を生成する技術は下記の文献7に記載されている。このプログラム生成技術を以降、第2の背景技術と称す。
第1の背景技術の並列演算装置はオブジェクトコードに基づいて処理を実行する。そのオブジェクトコードは、処理対象となるデータに応じて生成された1つ以上の構成情報を含んでいる。構成情報は、並列演算装置内に仮想的に回路を構成するための情報であり、並列演算装置において並列処理を実現する個々の演算器に対して発行される演算命令と、各演算器間の接続関係を示す情報とからなる。
各構成情報は、並列演算装置のメモリに格納され、番号(以降、構成番号と称す)で識別される。並列演算装置内では、指定された構成情報に応じて仮想的な回路が構成され、その回路によって処理が実行される。
第1の背景技術では、その構成番号を直接指定して処理を実行するという手法が採用されている。例えば、構成番号がメモリのアドレスであり、そのアドレスが指定される。
また、第1の背景技術では、現在の並列演算装置の状態が、現在実行している構成情報に対応している。並列演算装置に格納されている各構成番号に対応した状態番号が定義されており、この状態番号で現在実行している構成情報が管理される。
また、第1の背景技術では、状態遷移テーブルを用いて、次に遷移する状態番号および構成番号を選択するという手法が用いられている。
状態遷移テーブルには、現在実行している構成情報を示す状態番号(以降、現状態番号と称す)と、現状態番号に対応する構成情報によって実現された回路による演算結果として生成されるイベント信号とに対応付けて、次に選択すべき状態番号および構成番号が規定されている。この状態遷移テーブルを参照することにより、現状態番号およびイベント信号から、次に選択すべき状態番号および構成番号を選択することができる。
オブジェクトコードは、並列演算装置にて所望の処理を実行するために必要な複数の構成情報と、この状態遷移テーブルで構成される。
通常、構成番号はオブジェクトコード毎に定められているので、複数のオブジェクトを1つの第1の背景技術の並列演算装置に搭載しようとすると、それらのオブジェクトコードの構成番号が重なることがあるが、構成番号が重なったままでは構成情報を一意に特定できない。
複数のオブジェクトコードを1つのオブジェクトコードに生成し直せば重複を回避できる。しかし、複数のオブジェクトコードを構成番号が重複しないように1つのオブジェクトコードにすると、生成されたオブジェクトコードにおける構成番号の数は、各オブジェクトの構成番号の数の合計となる。
第1の背景技術による並列演算装置では、その並列演算装置に格納された各構成情報は、構成番号を直接指定することで選択されるので、並列演算装置に保持することができる数を超える数の構成情報を用いるような大規模なオブジェクトコードを実現できなくなる。
これに対して、下記の文献8に開示された技術を用いた並列演算装置が本出願人により提案されている。この技術を以降、第3の背景技術と称す。
第3の背景技術の並列演算装置は、構成番号を直接ではなく間接的に指定する手法を用いている。ここでは、直接指定する場合の番号を物理番号と称し、その物理番号を間接的に指定するための番号を論理番号と称することにする。第3の背景技術では、構成番号を論理番号で指定するものとし、その論理番号を物理番号に変換して構成情報の特定に用いる。
具体的には、オブジェクトコードに含まれる番号が論理番号であり、並列演算装置内の管理される番号が物理番号である。さらに言えば、オブジェクトコードに含まれる構成番号が論理構成番号である。また、例えば、現在実行している構成情報の構成番号のような、並列演算装置内で管理している構成番号が物理構成番号である。
第3の背景技術では、論理構成番号を物理構成番号に変換する手段を並列演算装置に備えることで、論理番号によって、並列演算装置に保持することができる数を超える数の構成情報を指定することを可能とする。その結果、並列演算装置に大規模なオブジェクトコードを用いることが可能となる。
(文献)
文献1: 特許3576837号公報
文献2: 特許第3444216号公報
文献3: 特許第3269526号公報
文献4: 特許第3616518号公報
文献5: 特許第3674515号公報
文献6: 特許第3528922号公報
文献7: 特許第3921367号公報
文献8: 国際公開WO2007/114059A1
文献1: 特許3576837号公報
文献2: 特許第3444216号公報
文献3: 特許第3269526号公報
文献4: 特許第3616518号公報
文献5: 特許第3674515号公報
文献6: 特許第3528922号公報
文献7: 特許第3921367号公報
文献8: 国際公開WO2007/114059A1
しかしながら、第3の背景技術の並列演算装置において、論理構成番号を物理構成番号に変換する手段(以降、構成番号変換部という)を実現するには、CAM(Content Addressable Memory)のような特殊なメモリが必要とされる。
一般的なメモリは、メモリのアドレスを入力として、そのアドレスに対応するデータを出力する。これに対し、CAMと呼ばれるメモリは、データを入力とし、それに対応するアドレスを出力するものである。
構成番号変換部は論理番号を物理番号に変換するが、論理番号をアドレスとし、物理番号をデータとして一般的なメモリを用いて実現しようとすると、メモリのエントリ数によって論理番号の数の上限が決まってしまう。その結果、そのエントリ数を越えるような論理番号をオブジェクトコードに使うことができなくなってしまう。そのため、上述したように構成番号変換部には特殊なメモリを使う必要があった。
しかしながら、このような特殊なメモリは、一般的なメモリに比べて動作遅延が大きい。その結果、第3の背景技術による並列演算装置では、構成番号変換部での動作遅延を考慮してクロックサイクルを長くするため、並列演算装置の高速化が制限されていた。
本発明の目的は、大規模なオブジェクトコードを用いることができ、かつ高速動作が可能な並列演算を実現することである。
上記目的を達成するために、本発明の並列演算装置は、
複数の演算器を備え、該複数の演算器の構成を記述した構成情報と該構成情報を示す物理構成番号とを対応付けて保持し、指定された物理構成番号に対応する構成で演算を実行する演算部と、
現在の状態を表す論理状態番号に基づいて、次に移行すべき状態に対応する物理構成番号を前記演算部に対して指定すると共に、該次に移行すべき状態をオブジェクトコード内で一意に特定する論理状態番号を出力する状態管理部と、
前記状態管理部から出力された前記論理状態番号に基づいて、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されているか否か判断する判断部と、
前記次に移行すべき状態に対応する構成情報が前記演算部に保持されていないと判断されたら、該構成情報と、該構成情報の物理構成番号とを対応付けて前記演算部に記録する書換部と、を有している。
複数の演算器を備え、該複数の演算器の構成を記述した構成情報と該構成情報を示す物理構成番号とを対応付けて保持し、指定された物理構成番号に対応する構成で演算を実行する演算部と、
現在の状態を表す論理状態番号に基づいて、次に移行すべき状態に対応する物理構成番号を前記演算部に対して指定すると共に、該次に移行すべき状態をオブジェクトコード内で一意に特定する論理状態番号を出力する状態管理部と、
前記状態管理部から出力された前記論理状態番号に基づいて、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されているか否か判断する判断部と、
前記次に移行すべき状態に対応する構成情報が前記演算部に保持されていないと判断されたら、該構成情報と、該構成情報の物理構成番号とを対応付けて前記演算部に記録する書換部と、を有している。
本発明の情報処理システムは、
複数の演算器を備え、該複数の演算器の構成を記述した構成情報と該構成情報を示す物理構成番号とを対応付けて保持し、指定された物理構成番号に対応する構成で演算を実行する演算部と、現在の状態を表す論理状態番号に基づいて、次に移行すべき状態に対応する物理構成番号を前記演算部に対して指定すると共に、該次に移行すべき状態を論理物理割当済オブジェクトコード内で一意に特定する論理状態番号を出力する状態管理部と、前記状態管理部から出力された前記論理状態番号に基づいて、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されているか否か判断する判断部と、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されていないと判断されたら、該構成情報と、該構成情報の物理構成番号とを対応付けて前記演算部に記録する書換部と、を有する並列演算装置と、
前記並列演算装置に前記論理物理割当済オブジェクトコードを提供する情報処理装置と、を有し、
前記情報処理装置は、前記論理状態番号と前記構成情報とを対応づけた論理構成情報テーブルと、前記論理状態番号と少なくとも前記物理構成番号とを対応付けた論理物理対応テーブルと、現在の論理状態番号と次の物理構成番号および論理状態番号とを対応付けた論理物理割当済オブジェクトコードと、を生成し、
前記並列演算装置の前記状態管理部は、前記論理物理割当済オブジェクトコードを用いて、前記次に移行すべき状態に対応する前記物理構成番号および前記論理状態番号を定め、
前記並列演算装置の前記書換部は、論理構成情報テーブルおよび前記論理物理対応テーブルを用いて、前記演算部に記録する、該構成情報と、該構成情報の物理構成番号とを定める。
複数の演算器を備え、該複数の演算器の構成を記述した構成情報と該構成情報を示す物理構成番号とを対応付けて保持し、指定された物理構成番号に対応する構成で演算を実行する演算部と、現在の状態を表す論理状態番号に基づいて、次に移行すべき状態に対応する物理構成番号を前記演算部に対して指定すると共に、該次に移行すべき状態を論理物理割当済オブジェクトコード内で一意に特定する論理状態番号を出力する状態管理部と、前記状態管理部から出力された前記論理状態番号に基づいて、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されているか否か判断する判断部と、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されていないと判断されたら、該構成情報と、該構成情報の物理構成番号とを対応付けて前記演算部に記録する書換部と、を有する並列演算装置と、
前記並列演算装置に前記論理物理割当済オブジェクトコードを提供する情報処理装置と、を有し、
前記情報処理装置は、前記論理状態番号と前記構成情報とを対応づけた論理構成情報テーブルと、前記論理状態番号と少なくとも前記物理構成番号とを対応付けた論理物理対応テーブルと、現在の論理状態番号と次の物理構成番号および論理状態番号とを対応付けた論理物理割当済オブジェクトコードと、を生成し、
前記並列演算装置の前記状態管理部は、前記論理物理割当済オブジェクトコードを用いて、前記次に移行すべき状態に対応する前記物理構成番号および前記論理状態番号を定め、
前記並列演算装置の前記書換部は、論理構成情報テーブルおよび前記論理物理対応テーブルを用いて、前記演算部に記録する、該構成情報と、該構成情報の物理構成番号とを定める。
本発明の並列演算方法は、複数の演算器を備え、該複数の演算器の構成を記述した構成情報と該構成情報を示す物理構成番号とを対応付けて保持し、指定された物理構成番号に対応する構成で演算を実行する演算部を備えた並列演算装置において処理を実行するための並列演算方法であって、
現在の状態を表す論理状態番号に基づいて、次に移行すべき状態に対応する物理構成番号を前記演算部に対して指定すると共に、該次に移行すべき状態をオブジェクトコード内で一意に特定する論理状態番号を求め、
求めた前記論理状態番号に基づいて、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されているか否か判断し、
前記次に移行すべき状態に対応する構成情報が前記演算部に保持されていないと判断されたら、該構成情報と、該構成情報の物理構成番号とを対応付けて前記演算部に記録する、方法である。
現在の状態を表す論理状態番号に基づいて、次に移行すべき状態に対応する物理構成番号を前記演算部に対して指定すると共に、該次に移行すべき状態をオブジェクトコード内で一意に特定する論理状態番号を求め、
求めた前記論理状態番号に基づいて、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されているか否か判断し、
前記次に移行すべき状態に対応する構成情報が前記演算部に保持されていないと判断されたら、該構成情報と、該構成情報の物理構成番号とを対応付けて前記演算部に記録する、方法である。
本発明の実施形態について図面を参照して詳細に説明する。
(第1の実施形態)
第1の実施形態では本発明を用いた基本的な構成の並列演算装置を例示する。
第1の実施形態では本発明を用いた基本的な構成の並列演算装置を例示する。
図1は、第1の実施形態による並列演算装置の構成を示すブロック図である。図1を参照すると、並列演算装置10は、演算部13、状態管理部14、判断部15、および書換部16を有している。並列演算装置10にはオブジェクトコード出力装置20からオブジェクトコードが与えられる。並列演算装置10は与えられたオブジェクトコードに従って処理を実行する。
演算部13は、アレイ状に配置された複数の演算器を備え、それらの演算器で、演算器間の接続を変更しながら処理を実行する演算部である。演算部13は、それら複数の演算器の接続構成を示す構成情報と、その構成情報を特定する物理構成番号とを対応付けて保持しておき、物理構成番号が指定されると、その物理構成番号に対応する接続構成で演算器を接続する。
なお、演算部13は、オブジェクトコードに含まれる全ての構成情報を保持するのではなく、その中の少なくとも一部を保持する。次に移行すべき状態の構成情報を保持してないときには、書換部160から構成情報の書き換えが行われる。
状態管理部14は、オブジェクトコードに従って演算部13の状態遷移を管理する管理部である。状態管理部14は、オブジェクトコードに従って、また現在の状態に基づいて、次に移行すべき状態を決定する。そして、状態管理部14は、次に移行すべき状態に対応する物理構成番号を演算部13に対して指定すると共に、次に移行すべき状態をオブジェクトコード内で一意に特定する論理状態番号を判断部15に出力する。
例えば、状態管理部14は、オブジェクトコードから生成される、現在の状態の物理状態番号と次に移行すべき状態の物理構成番号および論理状態番号とを対応付けた物理状態遷移テーブルを保持しており、その物理状態遷移テーブルに基づいて、演算部13に対して指定する物理構成番号と、判断部15に出力する論理状態番号を決定すればよい。
判断部15は、状態管理部14から出力された論理状態番号に基づいて、次に移行すべき状態に対応する構成情報が演算部13に保持されているか否か判断する。判断方法としては様々な方法に考えられる。
例えば、判断に必要な情報を予め保持しておく方法が考えられる。その場合、状態管理部14が、論理状態番号と共に、次に移行すべき状態の物理状態番号を出力することにしてもよい。そして、判断部15は、演算部13に保持されている構成情報に関する物理状態番号と論理状態番号との対応関係を保持状態番号対応テーブルとして保持しておいてもよい。判断部15は、その保持状態番号対応テーブルにおいて、状態管理部14から出力された物理状態番号に対応する論理状態番号と、状態管理部14から出力された論理状態番号とを比較することによって、次に移行すべき状態に対応する構成情報が演算部に保持されているか否か判断する。それらの論理状態番号が一致すれば、次に移行すべき状態に対応する構成情報が演算部13に保持されていると判断できる。
また例えば、演算を用いて判断する方法も考えられる。その場合、例えば、状態管理部14は、論理状態番号と共に、次に移行すべき状態の物理状態番号を出力することにしてもよい。そして、判断部15は、状態管理部14から出力された物理状態番号から、演算部13に保持されている構成情報に関する論理状態番号を算出してもよい。判断部15は、算出した論理状態番号と、状態管理部14から出力された論理状態番号とを比較することによって、次に移行すべき状態に対応する構成情報が前記演算部に保持されているか否か判断する。
更に例えば、判断に必要な情報を予め保持しておく方法と、演算を用いて判断する方法とを組み合わせた方法も考えられる。
書換部16は、次に移行すべき状態に対応する構成情報が演算部13に保持されていないと判断部15が判断したら、その構成情報と、その構成情報の物理構成番号とが含まれるように、演算部13の構成情報を書き換える。
なお、判断部15による判断の結果次第で、状態管理部14から与えられている物理構成情報を用いて演算部13が即座に処理を開始できるか、処理の前に、演算部13に保持されている構成情報を書き換えるかが決まる。例えば、判断部15は、次に移行すべき状態に対応する構成情報が前記演算部に保持されていないと判断したら演算部13を一時的に停止する。そして、書換部16が、演算部13が一時的に停止している間に、構成情報とその構成情報の物理構成番号とを演算部13に記録する。そのため、判断部15による判断は、できるだけ短時間で完了する方法が好ましい。
以上説明したように、本実施形態によれば、状態管理部14は次に移行すべき状態に対応する物理構成番号と論理状態番号の両方を出力する。そして、演算部13は、状態管理部14から、次に移行すべき状態に対応する物理構成番号を指定されるので、必要な構成情報が演算部13に保持されていれば、即座に次の処理を実行することができる。また、判断部1が、状態管理部14からの論理状態番号を用いて、次に移行すべき状態に対応する構成情報が演算部13に保持されているか否か判断し、それが保持されていなければ、書換部16が書き込むので、論理番号を用いた大規模なオブジェクトコードを利用することができる。その結果、本実施形態によれば、大規模なオブジェクトコードを用いることができ、かつ高速動作が可能な並列演算装置を提供することができる。
なお、本実施形態の並列演算装置10に用いるためのオブジェクトコードを、情報処理装置で構成されたオブジェクトコード出力装置で生成することにしてもよい。その場合、オブジェクトコード出力装置20は、並列演算装置10の複数の演算器の接続構成を示す構成情報と、並列演算装置10が各部の処理に利用するための情報を含む各種テーブルとを含んだオブジェクトコードを生成する。
例えば、オブジェクトコードには、構成情報に1対1で対応する論理状態番号と並列演算装置10内で構成情報を特定するための物理構成番号とを対応付けた論理物理対応テーブルが含まれていればよい。書換部16は、演算部13に書き込もうとする構成情報に1対1で対応する論理状態番号に対応づけられた物理構成番号を論理物理対応テーブルから取得すればよい。
(第2の実施形態)
第2の実施形態では、より具体的な並列演算装置を例示する。
第2の実施形態では、より具体的な並列演算装置を例示する。
図2は、第2の実施形態による並列演算装置の構成例を示すブロック図である。図2に示すように、並列演算装置100は、オブジェクトコード入力部110、オブジェクトコード記憶部120、演算部130、状態管理部140、判断部150、書換部160、およびデータ入出力部170を備えている。
オブジェクトコード入力部110は、動作に必要な論理物理割当済オブジェクトコードを外部から受け付ける。オブジェクトコード記憶部120は、入力された論理物理割当済オブジェクトコードを保持する。
状態管理部140は、演算部130の構成をクロックサイクル毎に指定する。演算部130は、クロックサイクル毎に所望の回路を構成して処理を実行する。データ入出力部170は、演算部130が処理を実行する際に外部回路(不図示)に処理データを出力し、また外部回路から処理データを入力する。
判断部150は、所望の回路を構成するための構成情報が演算部130に存在するかどうかを判断する。書換部160は、必要な構成情報が演算部130に存在しないと判断部150によって判断されたら、オブジェクト記憶部120から必要な構成情報を取り込み、演算部130の構成情報を書き換える。
オブジェクトコード記憶部120で保持している論理物理割当済オブジェクトコードは、並列演算装置100が所望の動作を行うための情報である。図3は、論理物理割当済オブジェクトコードの内容の一例を示す図である。図3を参照すると、論理物理割当済オブジェクトコードは、論理状態遷移テーブル121、論理構成情報テーブル122、および論理物理対応テーブル123で構成される。
論理状態遷移テーブル121は、現論理状態番号に対応する、次論理状態番号、次物理状態番号、および次物理構成番号を、イベント毎に表したテーブルである。現論理状態番号は、現在の動作状態を大域的に表す番号である。ここで大域的に表すとは、オブジェクトコード全体の中で特定するという意味である。次論理状態番号は、次の動作状態を大域的に表す番号である。次物理状態番号は、演算部130の物理構成情報テーブルにおいて次論理状態番号に一意に対応する番号である。次物理構成番号は、演算部130の物理構成情報テーブルにおいて次論理状態番号に一意に対応する番号である。
論理構成情報テーブル122は、論理状態遷移テーブル121で用いられている論理状態番号に対応する構成情報を表すテーブルである。
論理物理対応テーブル123は、論理状態遷移テーブル121で用いられている論理状態番号に対応する物理状態番号および物理構成番号を表すテーブルである。
以下、各部の詳細について説明する。
演算部130は、複数の演算器131と、演算器131の接続を切り換える相互接続部132と、物理構成情報テーブル保持記憶装置133と、現物理構成番号保持記憶装置134と、を有する。
物理構成情報テーブル保持記憶装置133は物理構成情報テーブルを保持する。物理構成情報テーブルは、演算器131に対する演算命令及び相互接続部132の接続情報を含む少なくとも一つの構成情報を、現物理構成番号保持記憶装置134から与えられる構成番号で指定する。
現物理構成番号保持記憶装置134は、現在の並列演算装置100の動作状態を局所的に表す物理構成番号を保持する。ここで局所的に表すとは、演算器130の中で特定するという意味である。
そして、演算部130は、クロックサイクル毎に演算器131及び相互接続部132で所望の回路を実現して演算を実行し、演算結果を表すイベント信号を状態管理部140に出力する。
状態管理部140は、現物理状態番号保持記憶装置141と、物理状態遷移テーブル保持記憶装置142と、を有する。
現物理状態番号保持記憶装置141は、現在の並列演算装置100の動作状態を局所的な状態番号(物理状態番号)として保持している。
物理状態遷移テーブル保持記憶装置142は物理状態遷移テーブルを保持する。物理状態遷移テーブルは、現物理状態番号保持記憶装置141から与えられる物理状態番号と、演算部130から与えられるイベント信号の番号とに基づいて、次の動作状態を大域的に表す次論理状態番号と、次論理状態番号に一意に対応する次物理状態番号と、次論理状態番号に一意に対応する構成情報を指定するための次物理構成番号とを出力する。
そして、状態管理部140は、クロックサイクル毎に動作する。クロックサイクル毎の動作において、状態管理部140は、演算部130から与えられるイベント信号に応じて、次論理状態番号と次物理状態番号と次物理構成番号とを生成する。さらに、状態管理部140は、現物理状態番号保持記憶装置141の内容を次物理状態番号で更新し、現物理構成番号保持記憶装置134の内容を次物理構成番号で更新する。さらに、状態管理部140は、次物理状態番号及び次論理状態番号を判断部150に出力する。
判断部150は、保持状態番号対応テーブル記憶装置151と、比較器152と、書換要求制御部153と、比較器152の動作タイミングを1クロックサイクルだけ遅延させるためのレジスタ154、155と、を有する。
保持状態番号対応テーブル記憶装置151は、演算部130の物理構成情報テーブル保持記憶装置133で現在保持している構成情報を表す物理状態番号とそれに対応する論理状態番号の組を保持する。
比較器152は、状態管理部140から与えられる物理状態番号及び論理状態番号が保持状態番号対応テーブル記憶装置151内に存在するかどうかを判断する。
書換要求制御部153は、それらの状態番号が存在しないと判断すると比較器152により判断されると、書換部160に対して、その存在しなかった論理状態番号とともに書換要求を発行する。また、それと共に、書換要求制御部153は、書換部160から書換終了通知が発行されるまで、演算部130及び状態管理部140の動作を一時的に停止させる。
書換部160は、判断部150から受信した書換要求および論理状態番号に基づいて、下記の(1)〜(4)の手順で物理状態遷移テーブル保持記憶装置142の一部と、物理構成情報テーブル保持記憶装置133の一部と、保持状態番号対応テーブル記憶装置151の一部を書き換える。
(1) 入力された論理状態番号から、オブジェクトコード記憶部120に保持されている論理物理対応テーブル123を参照して、物理状態番号と物理構成番号を得る。
(2) 入力された論理状態番号に対応する状態遷移情報を、オブジェクトコード記憶部120に保持されている論理状態遷移テーブル121から取得し、(1)で取得した物理状態番号に対応する物理状態遷移テーブル保持記憶装置142のエントリを更新する。論理状態番号に対応する状態遷移情報とは、その論理状態番号の状態を含む状態遷移を示す情報である。
(3) 入力された論理状態番号に対応する構成情報を、オブジェクトコード記憶部120に保持されている論理構成情報テーブル122から取得し、(1)で取得した物理構成番号に対応する物理構成情報テーブル保持記憶装置133のエントリを更新する。
(4) 入力された論理状態番号と(1)で取得した物理状態番号との組で、対応する保持状態番号対応テーブル記憶装置151のエントリを更新する。
(第3の実施形態)
第3の実施形態では並列演算装置100を含む情報処理システムを例示する。
第3の実施形態では並列演算装置100を含む情報処理システムを例示する。
図4は、第3の実施形態による情報処理システムの構成例を示すブロック図である。図4に示すように、情報処理システム200は、データ供給装置210、情報処理装置220、オブジェクトコード供給装置230、並列演算装置100、および外部入出力装置240を備えている。並列演算装置100は第2の実施形態のものと同じものである。
情報処理装置220は、データ入力部221と、オブジェクトコード変換部222と、データ出力部223とを備えている。
データ入力部221は、外部からデータの入力を受け付ける。ここでは論理物理割当前オブジェクトコードと論理物理対応情報が入力される。論理物理割当前オブジェクトコードは、図3に示した論理物理割当前オブジェクトコードを生成するもととなるオブジェクトコードである。つまり、本実施形態の情報処理装置220は、論理物理割当前オブジェクトコードを論理物理割当済オブジェクトコードに変換する装置である。
論理物理割当前オブジェクトコードは、具体例として、上述した第2の背景技術で生成されるオブジェクトコードである。この論理物理割当前オブジェクトコードは、第1の背景技術の並列演算装置の状態管理部に設定される状態遷移テーブルと、第1の背景技術の並列演算装置の演算部に設定される構成情報テーブルと、で構成される。
オブジェクトコード変換部222は、データ入力部221に入力された論理物理割当前オブジェクトコードと論理物理対応情報から、論理物理割当済オブジェクトコードを生成する。
具体例としては、データ入力部221へは、構成番号対応テーブルと、構成情報テーブルと、状態遷移テーブルとが入力される。構成番号対応テーブルでは、並列演算装置100の各状態を示す状態番号と演算部130の各構成を示す構成番号とが対応付けられている。構成情報テーブルでは、構成番号とその構成番号毎の演算部130の構成を記述した構成情報とが対応付けられている。状態遷移テーブルでは、現在の状態番号と少なくとも次の構成番号とが対応付けられている。
オブジェクトコード変換部222は、入力された状態番号を物理状態番号としてその物理状態番号を一意に特定する論理状態番号を定める。また、オブジェクトコード変換部222は、入力された構成番号を物理構成番号としてその物理構成番号を一意に特定する論理構成番号を定める。続いて、オブジェクトコード変換部222は、論理状態番号と構成情報とを対応づけた論理構成情報テーブルと、論理状態番号と少なくとも物理構成番号とを対応付けた論理物理対応テーブルと、現在の論理状態番号と少なくとも次の物理構成番号および論理状態番号とを対応付けた論理物理割当済オブジェクトコードと、を生成する。
データ出力部223は、オブジェクトコード変換部222で生成された論理物理割当済オブジェクトコード等を外部に出力する。
図5は、情報処理装置220のハードウェア構成の一例を示す図である。情報処理装置220は、CPU601、バスライン620を介してCPU601に接続されたRAM602、ROM603、HDD604、FD611が交換自在に装填されるFDD(FD Drive)606、CD−ROM612が交換自在に装填されるCDドライブ607、ディスプレイ608、キーボード609、マウス610、I/Fユニット605等を備えたコンピュータで実現できる。
図5に示した構成の情報処理装置220では、RAM602、ROM603、HDD604、FD611、CD−ROM612等が記録媒体に相当し、これらの少なくとも1つに、CPU601で実行するためのプログラムや各種データが格納されている。
例えば、CPU601に各種の処理を実行させるためのプログラムは、当初はFD611あるいはCD−ROM612等の記録媒体に格納されている。そのプログラムは、実行前にHDD604にインストールされ、情報処理装置220の起動時にRAM602に複写されてCPU601に読み出される。
このようにCPU601がプログラムを読み出して各種の処理を実行することにより、本実施形態の情報処理装置220は、図4に示したデータ入力部221、オブジェクトコード変換部222、およびデータ出力部223として動作する。
データ供給装置210は、例えば論理物理割当前オブジェクトコード及び論理物理対応情報が格納されたFD611であり、これらのデータを情報処理装置220に供給する。
情報処理装置220のデータ入力部221は、RAM602に格納されたプログラムにしたがってCPU601によりFDD606を制御することで実現される。データ入力部221は、データ供給装置210に格納された論理物理割当前オブジェクトコード及び論理物理対応情報を取得する。
オブジェクトコード変換部222は、プログラムにしたがってCPU601が処理を実行することで実現される。オブジェクトコード変換部222は、データ入力部121で取得された論理物理割当前オブジェクトコード及び論理物理対応情報を論理物理割当済オブジェクトコードに変換する。
データ出力部223は、プログラムにしたがってCPU601がI/Fユニット605のデータ出力を制御することで実現される。データ出力部223は、オブジェクトコード変換部222で得られた論理物理割当済オブジェクトコードをオブジェクトコード供給装置230に出力する。
オブジェクトコード供給装置230は、データ出力部223のI/Fユニット605と並列演算装置100とを接続するコネクタ(不図示)等に相当し、情報処理装置220から出力される論理物理割当済オブジェクトコードを並列演算装置100に供給する。
本実施形態の情報処理装置220に入力される論理物理対応情報は、論理物理割当前オブジェクトコードの状態番号である論理状態番号を、並列演算装置100の物理状態遷移テーブル保持記憶装置142で保持されるエントリ番号を表す物理状態番号と、物理構成情報テーブル保持記憶装置133で保持されるエントリ番号を表す物理構成番号と、に一意に対応させる情報である。
オブジェクトコード変換部222は、以下に示すような(1)〜(2)の工程で論理物理割当前オブジェクトコードと論理物理対応情報を、論理物理割当済オブジェクトコードに変換する。
(1) 論理物理対応情報を参照して、論理物理割当前オブジェクトコードの状態遷移テーブルにおいて、各論理状態番号のエントリにおける全てのイベント信号についての遷移先に、その論理状態番号に対応する次物理状態番号を追加する。
(2) 論理物理対応情報を参照して、論理物理割当前オブジェクトコードの状態遷移テーブルにおいて、各論理状態番号のエントリにおける全てのイベント信号についての遷移先に、その論理状態番号に対応する次物理構成番号を追加する。
(第4の実施形態)
第4の実施形態では、次に移行すべき状態に対応する構成情報が保持されているか否かの判断を演算によって行う並列演算装置を例示する。第4の実施形態の並列演算装置は、第1の実施形態における判断部150に相当する判断部が演算による判断を行う点で第2の実施形態のものと異なる。
第4の実施形態では、次に移行すべき状態に対応する構成情報が保持されているか否かの判断を演算によって行う並列演算装置を例示する。第4の実施形態の並列演算装置は、第1の実施形態における判断部150に相当する判断部が演算による判断を行う点で第2の実施形態のものと異なる。
図6は、第4の実施形態による並列演算装置の判断部150´の構成を示すブロック図である。図6を参照すると、判断部150′は、図2における保持状態番号対応テーブル記憶装置151と比較器152の代わりに、論理物理状態番号比較部156を備える。
本実施形態では、論理物理割当済オブジェクトコードにおける論理状態番号と物理状態番号とが、論理状態番号に対して所定の演算を行うことで物理状態番号が算出されるという関係にあるものとする。所定の演算は任意であり、例えば、四則演算、ビットシフト、論理和、論理積、または論理否定、あるいはそれらの任意の組合せなどとすればよい。
論理物理状態番号比較部156は、状態管理部140から論理状態番号と物理状態番号とを与えられるので、与えられる論理状態番号に対して所定の演算を行って得られた物理状態番号と、与えられた物理状態番号とを比較する。その比較結果が、その物理状態番号に対応する構成情報が演算部130に保持されているか否かの判断結果となる。論理物理状態番号比較部156は、その比較結果を書換要求制御部153に出力する。
(実施例)
第3の実施形態に示した情報処理システムにおける情報処理装置220および並列演算装置100の具体的な実施例について説明する。
第3の実施形態に示した情報処理システムにおける情報処理装置220および並列演算装置100の具体的な実施例について説明する。
図7は、データ供給装置210から供給される論理物理割当前オブジェクトコードの一例を示す図である。図8は、図7の論理物理割当前オブジェクトコードによる状態遷移を示す図である。図9は、データ供給装置210から供給される論理物理対応情報の一例を示す図である。
図7に示すように、論理物理割当前オブジェクトコードは、状態遷移テーブルと、構成番号対応テーブルと、構成情報テーブルで構成される。また、図9に示すように、論理物理対応情報は、論理物理状態番号対応情報と、論理物理構成番号対応情報で構成される。
情報処理装置220は、これら論理物理割当前オブジェクトコードおよび論理物理対応情報から、並列演算装置100で使用される論理物理割当済オブジェクトコードにおける論理状態遷移テーブル及び論理物理対応テーブルを生成する。図10Aは、論理物理割当済オブジェクトコードにおける論理状態遷移テーブルを示す図である。図10Bは、論理物理割当済オブジェクトコードにおける論理物理対応テーブルを示す図である。
情報処理装置220は、図10Aの論理状態遷移テーブルの現論理状態番号0のエントリを以下の(1)〜(3)のようにして生成する。
(1) 論理物理割当前オブジェクトコードの状態遷移テーブルの現状態番号0のイベント0のエントリの次状態番号は1である。そのため、情報処理装置220は、論理状態遷移テーブルの現論理状態番号0のイベント0のエントリの次論理状態番号を1に設定する。
(2) 論理物理割当前オブジェクトコードの状態遷移テーブルの現状態番号0のイベント0のエントリの次状態番号は1であり、論理物理状態番号対応情報の論理状態番号1のエントリの物理状態番号は1である。そのため、情報処理装置220は、論理状態遷移テーブルの現論理状態番号0のイベント0のエントリの次物理状態番号を1に設定する。
(3) 論理物理割当前オブジェクトコードの状態遷移テーブルの現状態番号0のイベント0のエントリの次構成番号は0であり、論理物理構成番号対応情報の論理構成番号0のエントリの物理構成番号は0である。そのため、情報処理装置220は、論理状態遷移テーブルの現論理状態番号0のイベント0のエントリの次物理構成番号を0に設定する。
以上の処理を、全ての現論理状態番号と全てのイベント番号のエントリについて行うことにより論理状態遷移テーブルが生成される。
情報処理装置220は、図10Bの論理物理対応テーブルの論理状態番号1のエントリを以下の(1)〜(2)のようにして生成する。
(1) 論理物理状態番号対応情報の論理状態番号1のエントリの物理状態番号は1である。そのため、情報処理装置220は、論理物理対応テーブルの論理状態番号1のエントリの物理状態番号を1に設定する。
(2) 論理物理割当前オブジェクトコードの構成番号対応テーブルの現状態番号1のエントリの構成番号は0であり、論理物理構成番号対応情報の論理構成番号0のエントリの物理構成番号は0である。そのため、情報処理装置220は、論理物理対応テーブルの論理状態番号1のエントリの物理構成番号を0に設定する。
以上の処理を、全ての論理状態番号のエントリについて行うことにより論理物理対応テーブルが生成される。
並列演算装置100で実行される論理物理割当済オブジェクトコードは、上述したようにして生成した論理状態遷移テーブルおよび論理物理対応テーブルと、論理物理割当前オブジェクトコードに含まれている論理構成情報テーブルとで構成される。
次に、並列演算装置100が論理物理割当済オブジェクトコードをで実行する様子について説明する。
図11は、図10Bの論理物理割当済オブジェクトコードのうち、論理状態0から論理状態1まで実行した直後の並列演算装置100の状態を示す図である。演算部130からはイベント0が出力されているとする。
オブジェクトコード記憶部120には、論理物理割当済オブジェクトコードの全体が格納されている。
保持状態番号対応テーブル記憶装置151には、論理状態番号0及び1が格納され、また、それに対応する物理状態番号0及び1が格納されている。
物理状態遷移テーブル保持記憶装置142には、物理状態番号0及び1のエントリが格納されている。
物理構成情報テーブル保持記憶装置133には、物理構成番号0のエントリが格納されている。
そして、上述したように、図11は論理状態0と論理状態1を実行した直後であるため、現物理状態番号記憶装置141には1が格納され、現物理論理番号記憶装置134には0が格納されている。
このとき、状態管理部140から出力される次論理状態番号は2であり、次物理状態番号は0であり、次物理構成番号は0である。したがって、次のクロックサイクルでは、現物理状態番号保持記憶装置141と現物理構成番号保持記憶装置134はそれぞれ0と0に更新される。
図12は、図11の次のクロックサイクルでの並列演算装置100の状態を示す図である。図12の現物理状態番号保持記憶装置141は0を保持し、現物理構成番号保持記憶装置134は0を保持している。そのため、演算器131及び相互接続部132は演算Aの回路を構成して演算を実行する。
しかし、判断部150の保持状態番号テーブル記憶装置の物理状態番号0のエントリは0であり、記憶装置155で保持している論理状態番号2とは異なるので、比較器152は不一致を出力する。不一致が入力された書換要求制御部153は、停止信号を演算部130と状態管理部140に出力することにより演算と状態遷移を一時停止させ、更に、書換部160に対して、不一致である論理状態番号2とともに書換要求を出力する。
書換部160は、その書換要求と論理状態番号2を受け取り、オブジェクトコード記憶部120に格納されている論理状態遷移テーブル121の現論理状態番号2のエントリを取得する。続いて、書換部160は、オブジェクトコード記憶部120に格納されている論理物理対応テーブル123を参照することにより、論理状態番号2に対応する物理状態番号0を取得し、物理状態遷移テーブル保持記憶装置142の現物理状態番号0のエントリに先程取得したエントリを上書きする。
また、書換部160は、オブジェクトコード記憶部120に格納されている論理構成情報テーブル122の論理状態番号2の構成情報を取得する。続いて、書換部160は、オブジェクトコード記憶部120に格納されている論理物理対応テーブルを参照することにより、論理状態番号2に対応する物理構成番号0を取得し、物理構成情報テーブル保持記憶装置133の物理構成番号0の構成情報に先程取得した構成情報を上書きする。
また、書換部160は、オブジェクトコード記憶部120に格納されている論理物理対応テーブル123を参照することにより、論理状態番号2に対応する物理状態番号0を取得し、保持状態番号対応テーブル記憶装置151の物理状態番号0に対応する論理状態番号に2を上書きする。
書換部160は、物理状態遷移テーブル保持記憶装置142、物理構成情報テーブル保持記憶装置133及び保持状態番号対応テーブル記憶装置151の書換えを終了すると、書換完了通知を書換要求制御部153に通知する。
書換要求制御部153は、書換完了通知を受け取ると、演算部130と状態管理部140に出力していた停止信号を無効にすることにより、並列演算装置100の演算と状態遷移を再開させる。
図13は、書換部160が動作した後の並列演算装置100の状態を示す図である。図13において、テーブルのハッチングされているエントリが参照され、更新されたエントリである。ここで、物理構成情報テーブル保持記憶装置133は、更新後も同じ内容であるため、必ずしも上書きしなくてもよい。
以上のような動作を繰り返すことで、並列演算装置100はオブジェクトコード記憶部120に格納されている論理物理割当済オブジェクトコードを順次実行する。
図14は、本実施例の並列演算装置100の動作を示すタイミングチャートである。
並列演算装置100にて状態の遷移が発生すると、現物理状態番号保持記憶装置141に保持されている現物理状態番号と、現物理構成番号保持記憶装置134に保持されている現物理構成番号が更新される。
物理構成情報テーブル保持記憶装置133は現物理状態番号に対応した構成情報を演算器131及び相互演算部132に出力する。演算器131及び相互演算部132は、入力された構成情報したがって回路を構成して演算を行い、演算結果の一部であるイベント信号を状態管理部140へ出力する。
状態管理部140は、入力されたイベント信号と現物理状態番号に基づいて、次物理状態番号及び次物理構成番号を出力する。それらが次のクロックサイクルにて並列演算装置100が遷移すべき状態となる。
このとき、判断部150は、1つ前のクロックサイクルで保持した物理状態番号及び論理状態番号と、保持状態番号対応テーブル記憶装置151で保持しているそれらとが不一致であった場合、並列演算装置100の演算と状態遷移を停止させる。
以上説明したように、上述した各実施形態による並列演算装置100は、論理物理対応情報を用いて、論理構成番号で、並列演算装置100の物理構成番号を間接的に指定することができる。そのため、並列演算装置100に複数のオブジェクトコードを搭載する場合でも物理構成番号が重なることが無い。そして、それらの構成番号が重ならないように複数のオブジェクトコードを1つのオブジェクトコードに変換する必要も無い。
また、各実施形態による並列演算装置100は、物理構成番号を論理構成番号で間接的に指定することができるため、並列演算装置100で保持可能な構成情報の数を越えるような大規模なオブジェクトコードを実行することができる。
また、第2の実施形態による並列演算装置100は、判断部150がテーブルを参照して論理状態番号が一致なのか不一致なのかを判断するので、CAM等の特殊なメモリを用いて論理番号から物理番号に変換する構成が必要なく、回路規模および動作遅延を小さくすることができる。
また、第3の実施形態による並列演算装置100は、判断部150が演算によって論理状態番号が一致なのか不一致なのかを判断するので、回路規模と動作遅延をより小さくすることができる。
また、各実施形態の情報処理装置200は、論理物理割当前オブジェクトコードに対して論理物理対応情報を付加することにより、並列演算装置100が効率よく動作するための論理物理割当済オブジェクトコードを生成することができる。
なお、本発明のデータ処理システムが備える各部は、その機能を実現するように形成されていればよい。例えば、所定の機能を実現する専用のハードウェア、プログラムにしたがって処理を実行することで所定の機能を実現するデータ処理装置、プログラムによりデータ処理装置の内部で実現される所定の機能、及びこれらの組み合わせ等が許容される。また、本発明のデータ処理システムが備える各部は、個々に独立した存在である必要もなく、ある部分が他の部分の一部であってもよい。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細は本願発明のスコープ内で当業者が理解し得る様々な変更が可能である。
この出願は、2009年1月30日に出願された日本出願特願2009−019561を基礎として優先権の利益を主張するものであり、その開示の全てを引用によってここに取り込む。
Claims (16)
- 複数の演算器を備え、該複数の演算器の構成を記述した構成情報と該構成情報を示す物理構成番号とを対応付けて保持し、指定された物理構成番号に対応する構成で演算を実行する演算部と、
現在の状態を表す論理状態番号に基づいて、次に移行すべき状態に対応する物理構成番号を前記演算部に対して指定すると共に、該次に移行すべき状態をオブジェクトコード内で一意に特定する論理状態番号を出力する状態管理部と、
前記状態管理部から出力された前記論理状態番号に基づいて、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されているか否か判断する判断部と、
前記次に移行すべき状態に対応する構成情報が前記演算部に保持されていないと判断されたら、該構成情報と、該構成情報の物理構成番号とを対応付けて前記演算部に記録する書換部と、を有する並列演算装置。 - 前記状態管理部は、前記論理状態番号と共に、前記次に移行すべき状態の物理状態番号を出力し、
前記判断部は、前記演算部に保持されている構成情報に関する物理状態番号と論理状態番号との対応関係を保持状態番号対応テーブルとして保持しており、該保持状態番号対応テーブルにおいて、前記状態管理部から出力された物理状態番号に対応する論理状態番号と、前記状態管理部から出力された論理状態番号とを比較することによって、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されているか否か判断する、請求項1に記載の並列演算装置。 - 前記書換部は、前記構成情報と前記物理構成番号とを前記演算部に記録するとき、それに伴って前記保持状態番号対応テーブルを更新する、請求項2に記載の並列演算装置。
- 前記状態管理部は、前記論理状態番号と共に、前記次に移行すべき状態の物理状態番号を出力し、
前記判断部は、前記状態管理部から出力された物理状態番号から、前記演算部に保持されている構成情報に関する論理状態番号を算出し、算出した該論理状態番号と、前記状態管理部から出力された論理状態番号とを比較することによって、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されているか否か判断する、請求項1に記載の並列演算装置。 - 前記判断部は、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されていないと判断したら前記演算部を一時的に停止し、
前記書換部は、前記演算部が一時的に停止している間に前記構成情報と該構成情報の物理構成番号とを前記演算部に記録する、請求項1から4のいずれか1項に記載の並列演算装置。 - 前記状態管理部は、現在の状態の物理状態番号と次に移行すべき状態の物理構成番号および論理状態番号とを対応付けた物理状態遷移テーブルを保持しており、該物理状態遷移テーブルに基づいて、前記演算部に対して指定する前記物理構成番号と、出力する前記論理状態番号を決定する、
請求項1から5のいずれか1項に記載の並列演算装置。 - 前記書換部は、前記構成情報と前記物理構成番号とを前記演算部に記録するとき、それに伴って前記物理状態遷移テーブルを更新する、請求項6に記載の並列演算装置。
- 複数の演算器を備え、該複数の演算器の構成を記述した構成情報と該構成情報を示す物理構成番号とを対応付けて保持し、指定された物理構成番号に対応する構成で演算を実行する演算部と、現在の状態を表す論理状態番号に基づいて、次に移行すべき状態に対応する物理構成番号を前記演算部に対して指定すると共に、該次に移行すべき状態を論理物理割当済オブジェクトコード内で一意に特定する論理状態番号を出力する状態管理部と、前記状態管理部から出力された前記論理状態番号に基づいて、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されているか否か判断する判断部と、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されていないと判断されたら、該構成情報と、該構成情報の物理構成番号とを対応付けて前記演算部に記録する書換部と、を有する並列演算装置と、
前記並列演算装置に前記論理物理割当済オブジェクトコードを提供する情報処理装置と、を有し、
前記情報処理装置は、前記論理状態番号と前記構成情報とを対応づけた論理構成情報テーブルと、前記論理状態番号と少なくとも前記物理構成番号とを対応付けた論理物理対応テーブルと、現在の論理状態番号と次の物理構成番号および論理状態番号とを対応付けた論理物理割当済オブジェクトコードと、を生成し、
前記並列演算装置の前記状態管理部は、前記論理物理割当済オブジェクトコードを用いて、前記次に移行すべき状態に対応する前記物理構成番号および前記論理状態番号を定め、
前記並列演算装置の前記書換部は、論理構成情報テーブルおよび前記論理物理対応テーブルを用いて、前記演算部に記録する、該構成情報と、該構成情報の物理構成番号とを定める、
情報処理システム。 - 前記論理物理割当済オブジェクトコードには、更に、次の物理状態番号が記録されており、
前記状態管理部は、前記論理状態番号と共に、前記次に移行すべき状態の物理状態番号を出力し、
前記判断部は、前記演算部に保持されている構成情報に関する物理状態番号と論理状態番号との対応関係を保持状態番号対応テーブルとして保持しており、該保持状態番号対応テーブルにおいて、前記状態管理部から出力された物理状態番号に対応する論理状態番号と、前記状態管理部から出力された論理状態番号とを比較することによって、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されているか否か判断する、請求項8に記載の情報処理システム。 - 前記書換部は、前記構成情報と前記物理構成番号とを前記演算部に記録するとき、それに伴って前記保持状態番号対応テーブルを更新する、請求項9に記載の情報処理システム。
- 前記論理物理割当済オブジェクトコードには、更に、次の物理状態番号が記録されており、
前記状態管理部は、前記論理状態番号と共に、前記次に移行すべき状態の物理状態番号を出力し、
前記判断部は、前記状態管理部から出力された物理状態番号から、前記演算部に保持されている構成情報に関する論理状態番号を算出し、算出した該論理状態番号と、前記状態管理部から出力された論理状態番号とを比較することによって、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されているか否か判断する、請求項8に記載の情報処理システム。 - 前記判断部は、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されていないと判断したら前記演算部を一時的に停止し、
前記書換部は、前記演算部が一時的に停止している間に前記構成情報と該構成情報の物理構成番号とを前記演算部に記録する、請求項8から11のいずれか1項に記載の情報処理システム。 - 前記状態管理部は、現在の状態の物理状態番号と次に移行すべき状態の物理構成番号および論理状態番号とを対応付けた物理状態遷移テーブルを保持しており、該物理状態遷移テーブルに基づいて、前記演算部に対して指定する前記物理構成番号と、出力する前記論理状態番号を決定する、
請求項8から12のいずれか1項に記載の情報処理システム。 - 前記書換部は、前記構成情報と前記物理構成番号とを前記演算部に記録するとき、それに伴って前記物理状態遷移テーブルを更新する、請求項13に記載の情報処理システム。
- 複数の演算器を備え、該複数の演算器の構成を記述した構成情報と該構成情報を示す物理構成番号とを対応付けて保持し、指定された物理構成番号に対応する構成で演算を実行する演算部を備えた並列演算装置において処理を実行するための並列演算方法であって、
現在の状態を表す論理状態番号に基づいて、次に移行すべき状態に対応する物理構成番号を前記演算部に対して指定すると共に、該次に移行すべき状態をオブジェクトコード内で一意に特定する論理状態番号を求め、
求めた前記論理状態番号に基づいて、前記次に移行すべき状態に対応する構成情報が前記演算部に保持されているか否か判断し、
前記次に移行すべき状態に対応する構成情報が前記演算部に保持されていないと判断されたら、該構成情報と、該構成情報の物理構成番号とを対応付けて前記演算部に記録する、並列演算方法。 - 複数の演算器を備えた演算部で処理を実行する並列演算装置に用いるオブジェクトコードを生成する情報処理装置であって、
前記並列演算装置の各状態を示す状態番号と前記演算部の各構成を示す構成番号とを対応付けた構成番号対応テーブルと、前記構成番号と該構成番号毎の前記演算部の構成を記述した構成情報とを対応付けた構成情報テーブルと、現在の状態番号と少なくとも次の構成番号とを対応付けた状態遷移テーブルと、を入力する入力手段と、
前記状態番号を物理状態番号として該物理状態番号を一意に特定する論理状態番号を定め、前記構成番号を物理構成番号として該物理構成番号を一意に特定する論理構成番号を定め、前記論理状態番号と前記構成情報とを対応づけた論理構成情報テーブルと、前記論理状態番号と少なくとも前記物理構成番号とを対応付けた論理物理対応テーブルと、現在の論理状態番号と少なくとも次の物理構成番号および論理状態番号とを対応付けた論理物理割当済オブジェクトコードと、を生成する、情報処理装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009019561 | 2009-01-30 | ||
JP2009019561 | 2009-01-30 | ||
PCT/JP2009/071636 WO2010087098A1 (ja) | 2009-01-30 | 2009-12-25 | 並列演算装置、情報処理システム、並列演算方法、および情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2010087098A1 true JPWO2010087098A1 (ja) | 2012-07-26 |
Family
ID=42395364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010548380A Pending JPWO2010087098A1 (ja) | 2009-01-30 | 2009-12-25 | 並列演算装置、情報処理システム、並列演算方法、および情報処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9021234B2 (ja) |
JP (1) | JPWO2010087098A1 (ja) |
WO (1) | WO2010087098A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014112082A1 (ja) * | 2013-01-17 | 2014-07-24 | 富士通株式会社 | プログラマブルロジック装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19654593A1 (de) * | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit |
JP3576837B2 (ja) | 1998-10-30 | 2004-10-13 | 日本電気株式会社 | プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ |
JP3444216B2 (ja) | 1999-01-28 | 2003-09-08 | 日本電気株式会社 | プログラマブルデバイス |
JP3269526B2 (ja) | 1999-02-09 | 2002-03-25 | 日本電気株式会社 | プログラマブルロジックlsi |
JP3616518B2 (ja) | 1999-02-10 | 2005-02-02 | 日本電気株式会社 | プログラマブルデバイス |
US7003660B2 (en) * | 2000-06-13 | 2006-02-21 | Pact Xpp Technologies Ag | Pipeline configuration unit protocols and communication |
JP3674515B2 (ja) | 2000-02-25 | 2005-07-20 | 日本電気株式会社 | アレイ型プロセッサ |
US6560671B1 (en) * | 2000-09-11 | 2003-05-06 | Intel Corporation | Method and apparatus for accelerating exchange or swap instructions using a register alias table (RAT) and content addressable memory (CAM) with logical register numbers as input addresses |
GB2376100B (en) | 2001-05-31 | 2005-03-09 | Advanced Risc Mach Ltd | Data processing using multiple instruction sets |
JP2003067183A (ja) * | 2001-08-24 | 2003-03-07 | Matsushita Electric Ind Co Ltd | 半導体集積回路および命令処理方法 |
JP3528922B2 (ja) | 2001-08-31 | 2004-05-24 | 日本電気株式会社 | アレイ型プロセッサ、データ処理システム |
JP3921367B2 (ja) | 2001-09-26 | 2007-05-30 | 日本電気株式会社 | データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム |
JP3987782B2 (ja) | 2002-10-11 | 2007-10-10 | Necエレクトロニクス株式会社 | アレイ型プロセッサ |
JP4502650B2 (ja) | 2004-02-03 | 2010-07-14 | 日本電気株式会社 | アレイ型プロセッサ |
JP4364077B2 (ja) | 2004-06-30 | 2009-11-11 | 富士通株式会社 | 演算装置及び演算装置の制御方法 |
JP3861898B2 (ja) | 2004-11-08 | 2006-12-27 | 日本電気株式会社 | データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体 |
JP2007207136A (ja) * | 2006-02-06 | 2007-08-16 | Nec Corp | データ処理装置、データ処理方法、及びデータ処理プログラム |
WO2007114059A1 (ja) | 2006-04-05 | 2007-10-11 | Nec Corporation | データ処理装置 |
JP4787711B2 (ja) | 2006-10-02 | 2011-10-05 | 日本電気株式会社 | データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並びにデータ処理システム |
-
2009
- 2009-12-25 WO PCT/JP2009/071636 patent/WO2010087098A1/ja active Application Filing
- 2009-12-25 JP JP2010548380A patent/JPWO2010087098A1/ja active Pending
- 2009-12-25 US US13/140,850 patent/US9021234B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20110320769A1 (en) | 2011-12-29 |
WO2010087098A1 (ja) | 2010-08-05 |
US9021234B2 (en) | 2015-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4911022B2 (ja) | カウンタ制御回路、動的再構成回路およびループ処理制御方法 | |
JP4490392B2 (ja) | 初期化回路を自動構築するリコンフィグ可能な集積回路装置 | |
WO2004079583A1 (ja) | データ転送制御装置およびdmaデータ転送制御方法 | |
US9043806B2 (en) | Information processing device and task switching method | |
JP2007041781A (ja) | リコンフィグ可能な集積回路装置 | |
US20200089496A1 (en) | Arithmetic processing device, information processing apparatus, and method for controlling arithmetic processing device | |
JP2003296191A (ja) | 汎用プロセッサおよび周辺装置のプロセッサとして動作可能な集積回路 | |
JP2010539592A (ja) | データを交換する方法及びシステム | |
JPWO2007114059A1 (ja) | データ処理装置 | |
JP2006018413A (ja) | プロセッサおよびパイプライン再構成制御方法 | |
KR102326280B1 (ko) | 데이터 처리 방법, 장치, 기기 및 매체 | |
JP4665760B2 (ja) | 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム | |
JP2006011533A (ja) | メモリカード、半導体装置、及び半導体メモリの制御方法 | |
WO2010087098A1 (ja) | 並列演算装置、情報処理システム、並列演算方法、および情報処理装置 | |
JP2000353092A (ja) | 情報処理装置及びそのレジスタファイル切替方法 | |
CN101819608B (zh) | 一种微处理器指令级随机验证中加速取指的装置和方法 | |
US20130067176A1 (en) | Information processing device and program product | |
CN103488505A (zh) | 补丁方法、设备及*** | |
JP5240200B2 (ja) | データ処理装置および方法 | |
CN105117370A (zh) | 一种多协议密码算法处理器及片上*** | |
JP2006285724A (ja) | 情報処理装置および情報処理方法 | |
JP2008102599A (ja) | プロセッサ | |
JP2011060048A (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
CN117112466B (zh) | 一种数据处理方法、装置、设备、存储介质及分布式集群 | |
JP6669841B2 (ja) | 回路検証装置、回路検証方法、および、コンピュータ・プログラム |