JP5532050B2 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP5532050B2
JP5532050B2 JP2011528671A JP2011528671A JP5532050B2 JP 5532050 B2 JP5532050 B2 JP 5532050B2 JP 2011528671 A JP2011528671 A JP 2011528671A JP 2011528671 A JP2011528671 A JP 2011528671A JP 5532050 B2 JP5532050 B2 JP 5532050B2
Authority
JP
Japan
Prior art keywords
unit
real number
configuration
configuration information
logical
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.)
Expired - Fee Related
Application number
JP2011528671A
Other languages
English (en)
Other versions
JPWO2011024504A1 (ja
Inventor
賢悟 西野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2011528671A priority Critical patent/JP5532050B2/ja
Publication of JPWO2011024504A1 publication Critical patent/JPWO2011024504A1/ja
Application granted granted Critical
Publication of JP5532050B2 publication Critical patent/JP5532050B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent 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/3897Concurrent 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Logic Circuits (AREA)

Description

本発明は所定の処理を実行する回路の変更が可能な再構成デバイスから成るデータ処理装置に関する。
情報処理装置は、その利用範囲が広がり、より高度な演算処理あるいは画像や動画のように大量のデータを高速に処理する能力が要求されている。このような要求を満たすための手法として、ホストプロセッサとは別に特定の演算や処理を専用に実行するDSP(Digital Signal Processor)やASIC(Application Specific Integrated Circuit)等を備え、CPU等のホストプロセッサの処理負荷を軽減することで情報処理装置としての処理能力を向上させた構成が知られている。
しかしながら、近年の情報処理装置では、画像、動画、音声、音楽等のマルチメディアデータに対して様々な規格の圧縮/伸長処理や演算処理等が必要であり、またインターネット等のネットワークを介して各種データを送受信するための通信処理にも様々なプロトコルが用いられるようになってきている。さらに、ネットワーク上で送受信される情報の安全性が問題となっているため、情報セキュリティのための暗号化処理やそれを解読するための復号処理等も必要となる。そのため、これらの処理に応じて多数のDSPやASIC等を備えていたのでは、情報処理装置の回路規模やコストが膨大なものとなってしまう。
そこで、情報処理装置にFPGA(Field Programmable Gate Array)、CPLD(Complex Programmable Logic Device)あるいはDRP(Dynamically Reconfigurable Processor)等の再構成デバイスから成るデータ処理装置を備え、必要に応じて該データ処理装置内のプログラムを書き換えて処理を実行させることにより、情報処理装置のスループットを向上させると共に、コストを低減しつつ様々な処理要求への対応を可能にした構成がある。
再構成デバイスは、プログラム(オブジェクトコード)を格納するための内部メモリを備え、CPU等の制御により外部メモリに格納されたオブジェクトコードを内部メモリへロードし、ロードしたオブジェクトコードにしたがって内部に回路を構成し、該回路により入力されたデータに対して処理を実行する。
なお、DRPについては、例えば特許文献1〜6や非特許文献1にその詳細が記載されている。DRPは、演算処理を実行する演算部と、演算部の動作を制御する制御部とを備えた構成である。演算部は、小規模の複数の演算器とそれらの接続を切り替える相互接続部とを備え、各演算器及び相互接続部に対する命令コードを切り換えることで各種の処理を実行する。
DRPで実行可能な処理には様々な種類があり、例えば処理の途中でメモリから他のデータを読み出し、それらのデータを用いて処理を続行する場合もある。DRPは、内部メモリを備えているが、その記憶容量は限定されていることが多い。したがって、DRPによる処理では、処理途中で大きな記憶容量を必要とするテーブルやデータを参照する際に、それらが格納されたメモリへアクセスする必要がある。そのための処理方法については、例えば特許文献7や特許文献8に記載されている。
上記した背景技術のデータ処理装置では、処理対象となるデータに応じて生成された1つ以上の構成情報から成るオブジェクトコードにしたがって処理を実行する場合、データ処理装置に格納された構成情報の位置を直接指定しつつ、処理を実行する手法が採られている。
ここで、構成情報とは、ある時点における演算器に対する演算命令、相互接続部における各演算器の接続関係を示す情報、イベント信号とそれに対応して次に選択すべき構成情報の関係を示す情報等を備えた、データ処理装置内に仮想的に回路を構成するために必要な情報である。オブジェクトコードは、所望の処理を実行するために必要な構成情報の集まりを示す。
しかしながら、このような方法では、データ処置装置に複数のオブジェクトコードを搭載すると、それらのオブジェクトコードが備える構成情報の格納位置が重なる場合は、それらが重ならないようにオブジェクトコードを合成し直す必要がある。
また、データ処理装置に複数のオブジェクトコード、あるいは大規模なオブジェクトコードを搭載した結果、データ処理装置で保持可能な構成情報数を超える場合、データ処理装置では、動作の停止、保持しているオブジェクトコードの入れ替え、再始動等の一連の処理を実行する必要がある。この動作のために外部にMPU等の処理装置が必要となる。その際、背景技術のデータ処理装置では、オブジェクトコードの合成時に決定した場所にしか構成情報を搭載できないため、同じ機能のコードから成る構成情報であっても、違う場所に搭載する場合は同じ機能のコードから成る構成情報を複数用意する必要がある。その場合、構成情報の共有化ができないため、データ処置装置で同じ構成情報を複数保持したり、同じ構成情報を再度書き換える等の処理が発生したりするため、処理が遅くなる問題があった。
このような問題を解決するため、本出願人は、構成情報の格納先の制限を無くすと共に構成情報の共有化を可能にしたデータ処理装置を既に提案している(特願2006−103987号:以下、先願発明1と称す)。
この先願発明1では、上記制御部に加えて、該制御部が制御する状態遷移よりも規模が小さい所定のグループ内の状態遷移を制御する補助制御部を設け、制御部では該グループ間の状態遷移を制御し、補助制御部では各グループ内の状態遷移を制御する構成を示している。そして、このような制御構造が階層化された構成では、補助制御部が制御部よりも高速に状態の遷移を制御できるため、従来のデータ処理装置よりも高速な処理が可能であると主張している。
しかしながら、実際に、アプリケーションからオブジェクトコードを作成し、該オブジェクトコードによるデータ処理装置の動作を検証すると、制御部によって状態の遷移を制御することが多いアプリケーションも存在する。
その場合、状態遷移の制御元が補助制御部から制御部へ切り替わる機会が増大し、その切り替えに要する時間も増大するため、補助制御部を持たない構成よりもデータ処理装置全体の処理時間が長くなってしまうことがある。すなわち、制御構造が階層化されたデータ処理装置では、処理対象のアプリケーションによっては、制御構造が階層化されていないデータ処理装置よりも処理時間が長くなることがある。
そこで、本出願人は、特願2008−215764号(以下、先願発明2と称す)にて、この制御部による遷移制御を演算部の動作と同時に行うことで動作所要時間を低減する構成を提案している。
しかしながら、先願発明2でも、各状態が多分岐する場合は演算部の動作と同時に遷移制御を行うことができないため、動作所要時間をわずかに低減できる程度に留まっている。また、補助制御部を備えることでデータ処理装置全体の制御が複雑になるという問題もある。
また、本出願人は、特願2009−019561号(以下、先願発明3と称す)にて、事前に論理番号及び実番号をそれぞれ割り当てたオブジェクトコードを用い、状態管理部において次論理番号と次実番号を保持することで、構成番号変換部が無くても並列演算装置で保持できる数を超える数の構成情報を備えた大規模なオブジェクトコードを実現できるデータ処理装置を提案している。
しかしながら、先願発明3では、オブジェクトコードに論理番号及び実番号を事前に割り当てることで処理の実行時に構成情報の配置が制限されるため、データ処理装置の性能が低下することがある。また、構成情報の書き込み時、状態管理部の次論理番号及び次実番号を全て書き換えるまで演算部の動作を再開できないため、多数の状態からの遷移先となる構成情報を書き込む時に、この状態管理部の書き換えのオーバヘッドが問題となる。
特開2000−138579号公報 特開2000−224025号公報 特開2000−232354号公報 特開2000−232162号公報 特開2003−076668号公報 特開2003−099409号公報 特開2005−222141号公報 特開2005−222142号公報
Hideharu Amano, Akiya Jouraku, Kenichiro Anjo, "A Dynamically Adaptive Hardware on Dynamically Reconfigurable Processor", IEICE Transactions, Vol. E86-B, No.12, pp. 3385-3391, 2003.
そこで本発明は、背景技術と比べて動作所要時間をより低減できるデータ処理装置を提供することを目的とする。
上記目的を達成するため本発明のデータ処理装置は、複数の演算器及び前記演算器の接続を切り換える相互接続部を備え、前記演算器に対する演算命令及び前記演算器の接続関係を示す情報を含む少なくとも一つの構成情報から成るオブジェクトコードにしたがって各種の処理を実行するための回路を変更することが可能なデータ処理装置であって、
現在の動作状態、次に遷移する状態の候補群及び前記演算器から発行されるイベント信号に基づき、次の動作状態で用いる構成情報の、前記オブジェクトコードに含まれる各構成情報の相互関係の情報を示す論理番号を決定する状態管理部と、
前記論理番号を対応する前記構成情報が実際に保存された位置を示す実番号に変換するための変換情報を備え、前記状態管理部で決定した論理番号に対応する実番号を出力する構成番号変換部と、
前記構成情報が格納され、前記構成番号変換部から出力された実番号に対応する構成情報を前記演算器及び前記相互接続部へ通知する構成情報記憶部と、
前記状態管理部内に現在の動作状態、次に遷移する状態の候補群及び前記演算器から発行されるイベント信号に対応付けられた論理番号に対応する実番号を、その有効性と共に保持する対応実番号記憶部と、
を有し、
前記状態管理部は、
構成書換部が前記構成情報記憶部に構成情報を書き込んだ後に、前記対応実番号記憶部の更新と有効化を行う構成である。
図1は、第1の実施の形態のデータ処理装置の構成を示すブロック図である。 図2は、第2の実施の形態のデータ処理装置の形態の構成を示すブロック図である。 図3は、第3の実施の形態のデータ処理装置の構成を示すブロック図である。 図4は、第4の実施の形態のデータ処理装置の構成を示すブロック図である。 図5は、第5の実施の形態のデータ処理装置の構成を示すブロック図である。 図6は、第6の実施の形態のデータ処理装置の構成を示すブロック図である。 図7は、第1実施例のデータ処理装置の構成を示すブロック図である。 図8は、第1実施例の状態遷移管理部が次論理番号の決定に用いる対応表の一例を示す模式図である。 図9は、第1実施例の構成番号変換部が論理番号から実番号への変換に用いる変換表の一例を示す模式図である。 図10は、第1実施例のデータ処理装置で用いるオブジェクトコードによる状態遷移図の一例を示す模式図である。 図11Aは、図10の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図11Bは、図10の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図11Cは、図10の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図11Dは、図10の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図11Eは、図10の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図12は、図7に示したデータ処理装置が備える対応実番号記憶部の一構成例を示す回路図である。 図13は、第2実施例のデータ処理装置の構成を示すブロック図である。 図14は、第2実施例の状態遷移管理部が次論理番号の決定に用いる対応表の一例を示す模式図である。 図15は、第2実施例のデータ処理装置で用いるオブジェクトコードによる状態遷移図の一例を示す模式図である。 図16Aは、図15の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図16Bは、図15の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図16Cは、図15の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図16Dは、図15の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図16Eは、図15の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図16Fは、図15の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図16Gは、図15の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図16Hは、図15の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図16Iは、図15の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図16Jは、図15の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図16Kは、図15の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図16Lは、図15の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図16Mは、図15の状態遷移図にしたがった動作時における状態遷移管理部が備える対応表及び構成番号変換部が用いる変換表の一例を示す模式図である。 図17は、第3実施例のデータ処理装置の構成を示すブロック図である。
次に本発明について図面を用いて説明する。
(第1の実施の形態)
図1は第1の実施の形態のデータ処理装置の構成を示すブロック図である。
以下、論理番号はオブジェクトコードに含まれる各構成情報の相互関係の情報を示し、実番号は構成情報が実際に構成情報記憶部13に保存されている格納位置とする。
図1に示すように、本実施形態のデータ処理装置は、制御部1及び演算部2を有する構成である。
制御部1は、状態管理部11、構成番号変換部12、構成情報記憶部14及び構成書換部13を備えている。演算部2は、複数の演算器21及び該複数の演算器21を接続するための相互接続部22を備えている。
状態管理部11は、構成情報に含まれる現在の動作状態及び次に遷移する状態の候補群(遷移先候補群)、並びに演算部2から送出されるイベント信号に基づき、予め備える状態遷移表を用いて次の動作状態で使用する構成情報の論理番号を決定し、該決定した論理番号を構成番号変換部12へ通知する。
論理番号はオブジェクトコードに含まれる各構成情報の相互関係を示す情報である。構成情報記憶部13に保存されている構成情報の実際の格納位置は実番号によって特定される。
本実施形態の状態管理部11は対応実番号記憶部15を備える。対応実番号記憶部15は、実番号とその実番号が有効であるか無効であるかを示す情報を一時的に保持する。状態管理部11は、現在動作状態にある構成情報の論理番号と演算部2から送出されるイベント信号とに基づいて対応実番号記憶部15から実番号の読み出しを試みる。対応実番号記憶部15から有効な実番号を読み出せた場合、状態管理部11は該実番号を構成情報記憶部14へ通知する。対応実番号記憶部15から無効を示す情報を読み出した場合は、対応する論理番号を構成番号変換部12へ通知すると共に演算部2の動作を停止させる。
また、状態管理部11は、構成番号変換部12から実番号が通知されると、該実番号を対応実番号記憶部15の所定の格納位置に書き込むと共に、該実番号が有効であることを示す情報を格納する。
構成番号変換部12は、予め備える変換表を用いて状態管理部11から通知された構成情報の論理番号を実番号に変換し、該実番号を構成情報記憶部14及び状態管理部11へ通知する。論理番号から実番号への変換が失敗した場合、構成情報記憶部14に必要な構成情報が格納されていないため、構成番号変換部12は、構成書換部13に該論理番号を通知し、構成情報記憶部14内の構成情報の書き換えを要求する。
構成書換部13は、データ処理装置の初動時に、構成情報記憶部13に構成情報を書き込み、状態管理部11に状態遷移表を書き込み、構成番号変換部12に変換表を書き込む。
また、構成書換部13は、構成番号変換部12から書き換え要求が発行されると、構成情報記憶部14に保存された構成情報のうち、現時点で不要な構成情報の実番号を決定し、該決定した実番号が記憶された対応実番号記憶部15内のエントリを無効にする。さらに、該実番号で特定される構成情報を、構成情報記憶部14から要求された、指定された構成情報に書き換える。また、構成書換部13は、状態管理部11の該実番号の遷移先候補群と、構成番号変換部12の論理番号から実番号への変換処理に必要な変換情報とを更新する。不要な構成情報の選択には、例えばLRU(Least Recently Used)法等の周知の方法を用いればよい。
構成書換部13は、構成番号変換部12からの書き換え要求に対して基本的に指定された構成情報を1つだけ書き換えるが、指定された構成情報と共にそれ以降に使用する構成情報も併せて書き換えてよい。この場合も、現時点で不要な実番号が格納された対応実番号記憶部15のエントリの無効化、状態管理部11の遷移先候補群及び構成番号変換部12の論理番号から実番号への変換処理に必要な変換情報の書き換えを行う。
構成情報記憶部14は、複数の構成情報を記憶する。構成情報記憶部14は、状態管理部11、構成番号変換部12あるいは構成書換部13から実番号が通知されると、通知された実番号を保持する。構成情報記憶部14は、保持した実番号に対応する構成情報を読み出し、演算部2に通知する。また、保持した実番号を状態管理部11に通知する。
対応実番号記憶部15は、遷移先候補群と演算部2から送出されたイベント信号とにより、次の動作状態で使用する構成情報の実番号とそれが有効であるか無効であるかを示す情報とを読み出す。また、対応実番号記憶部15は、指定された実番号を検索し、検出した全てのエントリを無効に設定する機能を備える。
演算部2は、順次遷移する複数の動作状態毎に構成情報記憶部14から通知された構成情報にしたがって演算器21を用いて演算処理を実行する。また、演算過程で発生するイベント信号を制御部1の状態管理部11に出力する。
相互接続部22は、構成情報記憶部14から通知された構成情報にしたがって複数の演算器21の接続関係を切り換える。
なお、図1に示すデータ処理装置の各構成要素は、それぞれ図1に示した機能単位で独立して備える必要はなく、任意の構成要素が他の構成要素に含まれていてもよく、任意の構成要素が複数の部品で構成されていてもよい。例えば、構成情報記憶部14は、演算器21や相互接続部22がそれぞれ備える不図示のメモリによって構成されてもよい。また、図1に示すデータ処理装置の各構成要素は、その全てを1つの装置内に備える必要はない。例えば、構成書換部13は、外部の装置や外部のMPU等で実現してもよい。
構成情報は、上述したように、ある時点における演算器21に対する演算命令、相互接続部22による各演算器21の接続関係を示す情報、イベント信号とそれに対応して次に選択すべき構成情報の関係を示す情報等を備えた、データ処理装置内に仮想的に回路を構成するために必要な情報である。オブジェクトコードは、所望の処理を実行するために必要な構成情報の集まりを示す。
演算器21は、いわゆる算術演算器(ALU)を備えた構成、あるいは複数種類の演算器とレジスタ等の記憶素子とを組み合わせた構成が考えられる。
なお、状態管理部11は、現在の状態とイベント信号とから次に遷移すべき状態を決定できればどのような構成でもよい。例えば、状態管理部11には、各状態間の遷移関係を示す対応表を備える構成が考えられる。
また、構成番号変換部12は、状態管理部11が指定する構成情報の論理番号を実番号に変換できればどのような構成でもよい。構成番号変換部12には、例えば論理番号と実番号の対応関係を示す変換表を備えた構成、あるいは論理番号と実番号の相対値を基準に論理番号から実番号へ変換するための機能を備えた構成が考えられる。本実施形態では、構成番号変換部12による論理番号から実番号へ変換するための処理で必要な上記対応表や相対値等を「変換情報」と総称する。
以上の各構成要素に対する要件は、第1の実施の形態だけでなく、以下に記載する第2の実施の形態から第6の実施の形態、並びに第1実施例から第3実施例にも適用される。
本実施形態のデータ処理装置では、状態管理部11に実番号とその実番号が有効であるか無効であるかを示す情報を一時的に保持する対応実番号記憶部15を備えることで、遷移元と遷移先の両方の構成情報が書き込まれた後の初回の遷移では、次の動作状態で使用する構成情報の実番号が無効であり、構成番号変換部12によって論理番号から実番号への変換処理が必要になる。
しかしながら、2回目以降は対応実番号記憶部15に次の動作状態で使用する構成情報の有効な実番号が保持されている。したがって、本実施形態のデータ処理装置によれば、先願発明1,2に記載されたデータ処理装置と比べて動作所要時間を低減できる。
また、先願発明3に記載されたデータ処理装置では、構成情報の書き込み時に全ての実番号を構成情報記憶部14へ書き込み、その後、演算部2の動作を再開するが、本実施形態のデータ処理装置では、構成情報の書き込み時に実番号の情報を書き込まず、必要に応じて構成番号変換部12により論理番号から実番号への変換処理を経た後、対応実番号記憶部15にその実番号を書き込む。そのため、本実施形態のデータ処理装置によれば、先願発明3に記載されたデータ処理装置と比べても動作所要時間を低減できる。
(第2の実施の形態)
図2は第2の実施の形態のデータ処理装置の構成を示すブロック図である。
第2の実施の形態のデータ処理装置は、状態管理部11に第1の実施の形態で示した対応実番号記憶部15と共に対応実番号補充部16を備える構成である。
対応実番号補充部16は、演算部2の動作中に、状態管理部11の遷移先候補群のうち、対応実番号記憶部15内の無効なエントリの論理番号を構成番号変換部12へ通知し、構成番号変換部12により該論理番号に対応する実番号が通知されると、該実番号を対応実番号記憶部15の所定の格納位置に書き込み、該実番号が有効であることを示す情報を格納する。
以上の動作において、構成番号変換部12による論理番号から実番号への変換処理が失敗した場合は、遷移先の構成情報が構成情報記憶部14に格納されていないことを意味するため、対応実番号記憶部15内の該エントリは無効のままとする。なお、演算部2の動作中における構成情報記憶部14の書き換えが許されている場合は、この段階で構成書換部13に書き換え要求を発行してもよい。その他の制御部1及び演算部2の構成及び動作は第1の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
本実施形態のデータ処理装置によれば、状態管理部11に対応実番号記憶部15及び対応実番号補充部16を備えることで、遷移元と遷移先の両方の構成情報が構成情報記憶部14に書き込まれてから初回の遷移でも、演算部2の動作中に次の動作状態で使用する構成情報の論理番号を実番号に変換して有効な状態となるため、第1の実施の形態のデータ処理装置と比べて動作所要時間を低減できる。
また、演算部2の動作中における構成情報記憶部14の書き換えが許されている場合は、演算部2が長時間動作している間に遷移先の構成情報を順次構成情報記憶部14に書き込むことができるため、オンデマンドで構成情報記憶部14を書き換える背景技術のデータ処理装置と比べて動作所要時間を低減できる。
(第3の実施の形態)
図3は第3の実施の形態のデータ処理装置の構成を示すブロック図である。
第3の実施の形態のデータ処理装置は、構成書換部13が対応実番号記憶部15のエントリの無効化及び実番号の書き込みを行う点で第1の実施の形態と異なっている。
構成書換部13は、構成番号変換部12からの書き換え要求に対して指定された構成情報を書き換えた後、対応実番号記憶部15の書き換え対象となる実番号が格納されたエントリを無効化し、状態管理部11の遷移先候補群および構成番号変換部12による論理番号から実番号への変換処理で必要な変換情報の書き換えを行う。その後、演算部2による動作が再開される。構成書換部13は、書き換えた構成情報の遷移先の論理番号に対応する実番号が有効であれば、該実番号を対応実番号記憶部15の所定の格納位置に書き込み、該実番号が有効であることを示す情報を格納する。
また、構成書換部13は、書き換えた構成情報への遷移を行う旨が記された対応実番号記憶部15の各エントリに対し、実番号を対応実番号記憶部15の所定の位置に書き込み、該実番号が有効であることを示す情報を格納する。その他の制御部1及び演算部2の構成及び動作は第1の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
本実施形態のデータ処理装置によれば、構成書換部13により対応実番号記憶部15のエントリの無効化及び実番号の書き込みを行うことで、遷移元と遷移先の両方の構成情報が書き込まれてから初回の遷移でも、演算部2の動作中に次の動作状態で使用する構成情報の論理番号を実番号に変換して有効な状態となるため、第1の実施の形態と比べて動作所要時間を低減できる。
また、演算部2の動作中における構成情報記憶部14の書き換えが許されている場合は、演算部2が長時間動作している間に遷移先の構成情報を順次構成情報記憶部14に書き込むことができるため、オンデマンドで構成情報記憶部14を書き換える背景技術のデータ処理装置に比べて動作所要時間を低減できる。
(第4の実施の形態)
図4は第4の実施の形態のデータ処理装置の構成を示すブロック図である。
第4の実施の形態のデータ処理装置は、状態管理部11が論理番号と共に内部状態番号を管理し、演算部2に対して内部状態番号を指定する点で第1の実施の形態と異なっている。
状態管理部11は、構成情報に含まれる現在の動作状態及び次に遷移する状態の候補群(遷移先候補群)と演算部2から送出されたイベント信号とにより、次の動作状態で使用する構成情報の論理番号と内部状態番号とを決定し、該内部状態番号を演算部2に指定する。
また、本実施形態の状態管理部11は対応実番号記憶部15を備えている。状態管理部11は、現動作状態と演算部2から送出されたイベント信号とに基づき対応実番号記憶部15から実番号の読み出しを試みる。対応実番号記憶部15から有効な実番号を読み出せた場合、状態管理部11は、該実番号を構成情報記憶部14へ通知する。また、対応実番号記憶部15から無効を示す情報を読み出した場合は、対応する論理番号を構成番号変換部12へ通知すると共に演算部2の動作を停止させる。
状態管理部11は、構成番号変換部12から実番号が通知されると、該実番号を対応実番号記憶部15の所定の格納位置に書き込み、該実番号が有効であることを示す情報を格納する。
演算部2は、順次遷移する複数の動作状態毎に構成情報記憶部14から通知される構成情報にしたがって演算処理を実行する。このとき、演算部2は、状態管理部11が指定する内部状態番号を演算処理に使用する。また、演算過程で発生するイベント信号を制御部1の状態管理部11に発行する。
相互接続部22は、構成情報記憶部14から通知された構成情報にしたがって複数の演算器21の接続関係を切り換える。その他の制御部1及び演算部2の構成及び動作は第1の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
本実施形態のデータ処理装置によれば、状態管理部11が論理番号と内部状態番号を管理し、かつ論理番号と内部状態番号とを分離して保持し、論理番号を実番号への変換対象とし、内部状態番号を演算部2に対して指定することで、第1の実施の形態のデータ処理装置と比べて、より多くの状態に遷移するオブジェクトコードにしたがった処理が可能である。
(第5の実施の形態)
図5は本発明のデータ処理装置の第5の実施の形態の構成を示すブロック図である。
第5の実施の形態のデータ処理装置は、状態管理部11が対応実番号記憶部15および対応実番号補充部16を備える点で第4の実施の形態と異なっている。
対応実番号補充部16は、演算部2の動作中に、状態管理部11の遷移先候補群のうち、対応実番号記憶部15内の無効のエントリの論理番号を構成番号変換部12へ通知し、構成番号変換部12から実番号が通知されると、該実番号を対応実番号記憶部15の所定の格納位置に書き込み、該実番号が有効であることを示す情報を格納する。ここで、論理番号から実番号への変換に失敗した場合は、構成情報記憶部14に遷移先の構成情報が格納されていないため、対応実番号記憶部15内の該エントリは無効のままとする。
なお、演算部2の動作中における構成情報記憶部14の書き換えが許されている場合は、この段階で構成書換部13に書き換え要求を発行してもよい。その他の制御部1及び演算部2の構成及び動作は第4の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
本実施形態のデータ処理装置によれば、状態管理部11に対応実番号記憶部15及び対応実番号補充部16を備えることで、遷移元と遷移先の両方の構成情報が書き込まれてから初回の遷移でも、演算部2の動作中に次の動作状態で使用する構成情報の論理番号を実番号に変換して有効な状態となるため、第1の実施の形態と比べて動作所要時間を低減できる。
また、演算部2の動作中における構成情報記憶部14の書き換えが許されている場合は、演算部2が長時間動作する間に遷移先の構成情報を順次構成情報記憶部14に書き込むことができるため、オンデマンドで構成情報記憶部14を書き換える背景技術のデータ処理装置に比べて動作所要時間を低減できる。
(第6の実施の形態)
図6は第6の実施の形態のデータ処理装置の構成を示すブロック図である。
第6の実施の形態のデータ処理装置は、構成書換部13が対応実番号記憶部15のエントリの無効化及び実番号の書き込みを行う点で第4の実施の形態と異なっている。
構成書換部13は、構成番号変換部12からの書き換え要求に対して指定された構成情報を書き換えた後、対応実番号記憶部15の書き換え対象となる実番号が格納されたエントリを無効化し、状態管理部11の遷移先候補群および構成番号変換部12による論理番号から実番号への変換処理で必要な変換情報の書き換えを行う。その後、演算部2による動作が再開される。構成書換部13は、書き換えた構成情報の遷移先の論理番号に対応する実番号が有効であれば、該実番号を対応実番号記憶部15の所定の格納位置に書き込み、該実番号が有効であることを示す情報を格納する。
また、構成書換部13は、書き換えた構成情報への遷移を行う旨が記された対応実番号記憶部15の各エントリに対し、実番号を対応実番号記憶部15の所定の位置に書き込み、該実番号が有効であることを示す情報を格納する。その他の制御部1及び演算部2の構成及び動作は第4の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
本実施形態のデータ処理装置によれば、構成書換部13により対応実番号記憶部15のエントリの無効化及び実番号の書き込みを行うことで、遷移元と遷移先の両方の構成情報が書き込まれてから初回の遷移でも、演算部2の動作中に次の動作状態で使用する構成情報の論理番号を実番号に変換して有効な状態となるため、第4の実施の形態と比べて動作所要時間を低減できる。
また、演算部2の動作中における構成情報記憶部14の書き換えが許されている場合は、演算部2が長時間動作している間に遷移先の構成情報を順次構成情報記憶部14に書き込むことができるため、オンデマンドで構成情報記憶部14を書き換える背景技術のデータ処理装置に比べて動作所要時間を低減できる。
次に本発明のデータ処理装置の実施例について図面を用いて説明する。
(第1実施例)
第1実施例のデータ処理装置は、上記先願発明1(特願2006−103987号)のデータ処理装置に上述した第1の実施の形態を適用する例である。
図7は第1実施例のデータ処理装置の構成を示すブロック図である。
本実施例では、上記先願発明1に記載されたデータ処理装置の状態遷移管理部(STC)3のみ変更し、演算部4については何も変更していない。
本実施例の演算部4は、レジスタファイル(RFU)、ALU、データ処理演算器(DMU)を備えた複数のプロセッサエレメント41(PE)を有し、各プロセッサエレメント41が配線及びスイッチ(SW)により相互に接続される構成である。このような構成では、RFU、FFU、ALU、DMU等を備える各プロセッサエレメント41が第1の実施の形態で示した演算器21となる。なお、演算部4は、上記プロセッサエレメント41に限らず、例えばロジックアレイで構成してもよい。
本実施例のプロセッサエレメント41は構成情報メモリ44を備える。構成情報メモリ44は、実番号が指定されると、該指定された実番号の内容(構成情報)を読み出し、RFU、FFU、ALU、DMU等の動作及びスイッチによる接続を指定する。
本実施例の状態遷移管理部3は、状態管理部31、構成番号変換部32、構成書換部33および実番号レジスタ34を備えたDRPの状態遷移管理部(STC)3に相当する。
本実施例では、状態管理部31に対応実番号記憶部35を備えている。
状態管理部31は、実番号レジスタ34に格納された現在の実番号と、演算部4から送出されたイベント信号とを受け取ると、該実番号及びイベント信号に基づいて次遷移先の論理番号を決定する。また同時に、現在の実番号と演算部4から発行されたイベント信号を受け取ると、対応実番号記憶部35から次遷移先の実番号または次遷移先の実番号が格納されていない場合は無効を示す情報を読み出す。
以降、現在の実番号とイベント信号で特定される対応実番号記憶部35内の格納位置(エントリ)を「対応記憶箇所」と称す。
対応実番号記憶部35の対応記憶箇所から次遷移先の実番号を読み出すことができた場合、状態管理部31は該実番号を実番号レジスタ34に書き込む。
また、対応実番号記憶部35の対応記憶箇所から無効を示す情報を読み出した場合、状態管理部31は、次遷移先の論理番号に対応する実番号が不明であるため、構成番号変換部32に対して次遷移先の論理番号から実番号への変換を要求する。
構成番号変換部32による論理番号から実番号への変換に成功した場合、状態管理部31は構成番号変換部32から受け取った実番号を実番号レジスタ34に書き込む。また同時に、対応実番号記憶部35内の対応記憶箇所に次遷移先の実番号を書き込む。
一方、構成番号変換部32による論理番号から実番号への変換に失敗した場合、次遷移先の論理番号の構成情報は構成情報メモリ44に格納されていない。この場合、構成情報メモリ44で保持する構成情報の書き換えが必要であるため、構成番号変換部32は次遷移先の論理番号を構成書換部33に通知し、構成情報メモリ44の書き換えを要求する。
構成書換部33は、構成情報メモリ44で保持された構成情報のうち、現時点で不要な構成情報の実番号を決定し、該決定した実番号が格納された対応実番号記憶部35のエントリを無効とする。不要な構成情報の選択には、例えばLRU(Least Recently Used)法等の周知の方法を用いればよい。そして、構成情報メモリ44内の無効にしたエントリに、書き換え要求時に指定された構成情報を書き込む。構成情報メモリ44に書き込む構成情報は外部メモリ5から取得する。また、状態管理部31の現実番号の遷移先候補群および構成番号変換部32の論理番号から実番号への変換処理に必要な変換情報を更新し、実番号レジスタ34に該実番号を書き込む。
構成番号変換部32は、構成書換部33による構成情報メモリ44の書き換え終了後、対応実番号記憶部35内の対応記憶箇所に遷移先の実番号を書き込む。
状態管理部31は、構成番号変換部32による論理番号から実番号への変換処理時および構成書換部33による書き換え時、プロセッサエレメント41群にWEキャンセルを発行してレジスタ書き込みを禁止し、プロセッサエレメント41群の動作を停止させる。
本実施例では、各プロセッサエレメント41内の構成情報メモリ44が構成情報記憶部14となる。
また、本実施例では、状態管理部31が、実番号とイベント信号の種類に応じて次遷移先の論理番号と、対応実番号記憶部35内の実番号または無効を示す情報とを、図8に示す表形式(対応表)で保持する。
以下、装置構成要素の符号との混同を避けるため、実番号及び論理番号は、「0」のように鍵括弧を用いて示す。
図8は、実番号「0」とイベント信号Aが指定されると、次論理番号「1」と次実番号「1」が読み出され、実番号「1」とイベント信号Aが指定されると、次論理番号「0」と次実番号「0」が読み出され、実番号「1」とイベント信号Bが指定されると、次論理番号「2」と次実番号が対応実番号記憶部35に格納されていないため無効を示す情報とが読み出される例を示している。
なお、図8の各実番号で特定されるエントリのうち、次論理番号が「−」で示されたエントリは、該当するイベント信号が発生しないことを示している。また、このエントリに対応する対応実番号記憶部35の各部位には、内容に意味がないため、何も記載していない。また、図8では、全てのイベント信号に対応する次論理番号が「−」で示されている実番号「2」〜「7」には、対応する対応実番号記憶部35に構成情報が書き込まれていないことを示している。
また、本実施例では、構成番号変換部32が、図9に示す表形式(変換表)で実番号と論理番号の関係を保持する。すなわち、本実施例の構成番号変換部32は、論理番号が指定されると、図9に示す変換表を検索し、検出した該論理番号に対応する実番号を出力する、連想メモリ形式とする。図9は、実番号「0」に論理番号「0」の構成情報が記憶され、実番号「1」に論理番号「1」の構成情報が記憶されていることを示している。
また、本実施例では、オブジェクトコードが格納された外部メモリ(記憶手段)5を備え、構成書換部33は、該外部メモリ5からオブジェクトコードの各構成情報を取得できるものとする。
以下、図10で示す状態遷移図にしたがって処理を実行する場合を例にして本実施例のデータ処理装置の動作について説明する。図10は、丸で囲んだ数字が一つの論理番号を示し、全部で14個の構成情報からなるオブジェクトコードの状態遷移図を示している。
本実施例では、データ処理装置(DRP)が備える構成情報メモリの実番号「0」に論理番号「1」の構成情報が保持されているものとする。このときの状態管理部31が備える対応表を図11Aに示す。
図11Aに対応表によれば、論理番号「0」の構成情報は実番号「0」に書き込まれ、論理番号「1」の構成情報は実番号「1」に書き込まれている。また、対応実番号記憶部35は遷移先の実番号を保持していない。実番号の最大値は「7」であり、合計8個の構成情報を保持できるものとする。
以下、1サイクル目にて論理番号「0」の処理を実行している状態からの動作を考える。
この場合、実番号レジスタ34には実番号「0」が書き込まれている。そのため、各プロセッサエレメント41の構成情報メモリ44には実番号「0」が通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
各プロセッサエレメント41による演算結果がイベント信号Aとして状態管理部31に通知されると、状態管理部31は、状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「0」とイベント信号Aから次の状態の論理番号「1」を決定する。また、同時に対応実番号記憶部35の対応記憶箇所から「無効」を読み出す。
ここでは、対応実番号記憶部35内の対応記憶箇所からの読み出し結果が「無効」であるため、状態管理部31は、動作を停止させるためのWEキャンセル信号をプロセッサエレメント41群に対して2サイクル目以降発行し続ける。プロセッサエレメント41のレジスタは、この信号により内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。
2サイクル目において、状態管理部31は、次の状態の論理番号「1」を構成番号変換部32へ通知する。
構成番号変換部32は、変換表にしたがって論理番号「1」を実番号に変換する。ここでは、論理番号「1」の構成情報が既に構成情報メモリ44で保持されているため変換に成功する。状態管理部31は、構成番号変換部32から取得した実番号「1」を実番号レジスタ34へ格納する。また、次サイクルより動作を再開させるために、WEキャンセル信号の発行を停止し、プロセッサエレメント41群に動作を再開させる。
また、状態管理部31は、対応実番号記憶部35の対応記憶箇所に、遷移先の実番号「1」を書き込み、「有効」を示す情報を書き込む。このときの状態管理部31が備える対応表を図11Bに示す。
3サイクル目において、実番号「1」が実番号レジスタ34から構成情報メモリ44に通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
各プロセッサエレメント41による演算結果がイベント信号Aとして状態管理部31に通知されると、状態管理部31は、状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「1」とイベント信号Aから次の状態の論理番号「2」を決定する。また、同時に対応実番号記憶部35の対応記憶箇所から「無効」を読み出す。
ここでは、対応実番号記憶部35の対応記憶箇所からの読み出し結果が「無効」であるため、状態管理部31は、動作を停止させるためのWEキャンセル信号をプロセッサエレメント41群に対して2サイクル目以降発行し続ける。プロセッサエレメント41のレジスタは、この信号により内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。
4サイクル目において、状態管理部31は、次の状態の論理番号「2」を構成番号変換部32へ通知する。
構成番号変換部32は、変換表を用いて論理番号「2」から実番号への変換を試みる。ここでは、論理番号「2」の構成情報が構成情報メモリ44で保持されていないため、変換に失敗する。構成番号変換部32は、論理番号から実番号への変換に失敗すると、該論理番号「2」の構成情報を構成情報メモリ44に書き込むよう構成書換部33に要求する。
構成書換部33は、構成情報メモリ44、状態管理部31および構成番号変換部32の書き換えを行う。ここでは、未使用の実番号「2」を使用する。
構成書換部33は、外部メモリ5より論理番号「2」の構成情報を取得し、該構成情報を構成情報メモリ44に書き込む。また、構成書換部33は、状態管理部31の実番号「2」のエントリに論理番号「2」の遷移先の情報を書き込み、構成番号変換部32の実番号「2」のエントリに論理番号「2」を書き込む。
構成書換部33による書き換えが終了すると、構成番号変換部32は、論理番号「2」に対応する実番号「2」を実番号レジスタ34へ送信する。また、次サイクルより動作を再開させるために、WEキャンセル信号の発行を停止し、プロセッサエレメント41群に動作を再開させる。
同様にして、論理番号「3」→「3」→「3」→「6」→「6」→「10」→「10」→「12」の順に遷移し、論理番号「12」から論理番号「2」に戻ったときの状態管理部31が備える対応表を図11Cに示す。
ここで、再度、論理番号「2」から論理番号「3」へ遷移する場合、現在の実番号「2」とイベント信号Aから遷移先の論理番号「3」を読み出すと共に、対応実番号記憶部35から遷移先の実番号「3」を読み出すことができる。
したがって、状態管理部31は、対応実番号記憶部35の対応記憶箇所から有効な実番号「3」を読み出し、実番号レジスタ34に該実番号「3」を格納する。そして、次のサイクルで、実番号「3」が実番号レジスタ34から構成情報メモリ44に通知され、構成情報メモリ44から対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
本サイクルでは、演算部4の動作が停止することなく、イベント信号Aが発行された次のサイクルで論理番号「3」に対応した演算が実行できる。また、以降、論理番号「12」までの状態遷移は、対応実番号記憶部35で対応する実番号が既に保持されているため、構成番号変換部32を使用することなく動作できる。
次に、論理番号「2」→「3」→「6」→「10」→「12」→「2」の状態遷移のループを何度か繰り返した後に、「12」→「13」→「0」→「1」→「2」に遷移したときの状態管理部31が備える対応表を図11Dに示す。
ここで、演算部4からイベント信号Bが発行された場合を考える。
状態管理部31は、現在の実番号「2」とイベント信号Bから対応実番号記憶部35から「無効」を読み出す。この場合、次サイクルで、構成番号変換部32は論理番号「4」から実番号への変換に失敗するため、構成番号変換部32は、該論理番号「4」の構成情報を構成情報メモリ44に書き込むよう構成書換部33に要求する。
構成書換部33は、構成情報メモリ44、状態管理部31および構成番号変換部32の書き換えを行う。ここでは、未使用の実番号が無くなってしまったため、論理番号「4」の構成情報を書き込む場所を決定する必要がある。そこで、使用頻度に基づき論理番号「0」を消去する。
構成情報メモリ44の実番号「0」から論理番号「0」を消去する場合、まず対応実番号記憶部35内の実番号「0」への遷移を保持しているエントリを無効化する。ここでは、実番号「7」とイベント信号Aで特定されるエントリが該当する。対応実番号記憶部35内の特定のエントリの無効化が完了すると、構成情報メモリ44、状態管理部31および構成番号変換部32の実番号「0」に対応する内容を消去し、新たに論理番号「4」の内容を書き込む。書き込み後の状態管理部31が備える対応表を図11Eに示す。
ここで、対応実番号記憶部35内の特定の実番号への遷移を保持しているエントリを無効化するための回路例を図12に示す。
図12は対応実番号記憶部35の1つのエントリの回路例を示し、実番号をビット単位で保持する複数の実番号ビットセル60と、該実番号が有効であるか否かを示す情報を保持するための状態ビットセル61とを有する。図12は、実番号が6ビットで構成され、各実番号ビットセル60に2本のビット線71(上線付きは反転信号用)を介して対応するビット値がそれぞれ供給される回路例を示している。
実番号ビットセル60は、図の上部に示す2つのインバータから成る記憶素子およびワード線70を介して制御される書き込み素子と、図の下部に示す比較回路とを備えている。
実番号ビットセル60には、ワード線70、ビット線71、比較実施線72および比較結果線73が接続されている。状態ビットセル61には、ビット線71、比較実施線72及び比較結果線73が接続されている。また、比較結果線73にはプリチャージ素子62が接続されている。
状態ビットセル61は、図の上部に示す2つのインバータから成る記憶素子およびワード線70を介して制御される書き込み素子と、図の下部に示す無効化書き込み回路とを備えている。
実番号ビットセル60及び状態ビットセル61は、ビット線71を介して読み出し回路(不図示)に接続されている。
なお、実際の対応実番号記憶部35は、図12に示す複数の回路が図の縦方向に並列に配列された構成であり。それら回路全体でビット線71および比較実施線72を共有する構成である。なお、図12では、実番号ビットセル60に格納されたビット値を読み出すための読み出し回路の構成は省略している。
次に、図12に示した対応実番号記憶部35の動作について説明する。
予め、プリチャージ素子62により比較結果線73の電位をHighにしておく。
無効化する際には、無効化する実番号がビット線71を介して各実番号ビットセル60に供給される。また、ビット線71を介して状態ビットセル61に無効状態を示すビットパタン信号が供給される。
実番号ビットセル60は、ビット線71を介して供給されたビット値と保持している値とを比較回路により比較する。ここで、比較実施線72の電位をHighとすると、1ビットでも比較結果が一致していない場合は、接地電位と比較結果線73とが接続され、比較結果線73の電位がLowになる。一方、全ビットで比較結果が一致している場合は、比較結果線73の電位はHighで保持される。状態ビットセル61は、無効化書き込み回路により、比較結果線73の電位がLowのとき、記憶素子に「無効」を書き込む。
以下、同様にして、既に実行したことがある状態遷移については、状態管理部31が対応実番号記憶部35に格納された次実番号を読み出して実番号レジスタ34に書き込むため、構成番号変換部32を使用することなく、次のサイクルにて次の論理番号に対応する演算が実行される。
本実施例では、上述した先願発明1における、状態管理部31の内容を読み出し、その結果に応じて構成番号変換部から読み出した結果を実番号レジスタ34に書き込む場合と比較して、演算を実行するまでに必要な遅延時間を低減できる。本実施例のように構成番号変換部32からの読み出し処理を別のサイクルで実行する場合は、動作に必要なサイクル数が低減するため、データ処理装置の性能が向上する。
(第2実施例)
第2実施例は上記先願発明1(特願2006−103987号)のデータ処理装置に上述した第5の実施の形態を適用する例である。
図13は第2実施例のデータ処理装置の構成を示すブロック図である。
本実施例では、上記先願発明1に記載されたデータ処理装置の状態遷移管理部(STC)3のみ変更し、演算部4については何も変更していない。
本実施例の演算部4は、レジスタファイル(RFU)、ALU、データ処理演算器(DMU)を備えた複数のプロセッサエレメント41(PE)を有し、各プロセッサエレメントが配線及びスイッチ(SW)により相互に接続される構成である。このような構成では、RFU、FFU、ALU、DMU等を備える各プロセッサエレメント41が、第1の実施の形態で示した演算器21となる。なお、演算部4は、上記プロセッサエレメント41に限らず、例えばロジックアレイで構成してもよい。
本実施例のプロセッサエレメント41は構成情報メモリ44を備える。構成情報メモリ44は、実番号が指定されると、該指定された実番号の内容(構成情報)を読み出し、該構成情報にしたがってRFU、FFU、ALU、DMU等の動作及びスイッチによる接続を指定する。
本実施例の状態遷移管理部3は、状態管理部31、構成番号変換部32、構成書換部33および実番号レジスタ34を備えたDRPの状態遷移管理部(STC)3に相当する。
本実施例の状態管理部31は、対応実番号記憶部35および対応実番号補充部36を備えている。
状態管理部31は、実番号レジスタ34に格納された現在の実番号と、演算部4から送出されたイベント信号とを受け取ると、該実番号及びイベント信号に基づいて次遷移先の論理番号を読み出す。また同時に、現在の実番号と演算部4から発行されたイベント信号とを受け取ると、対応実番号記憶部35から次遷移先の実番号または次遷移先の実番号が格納されていない場合は無効を示す情報を読み出す。
以降、現在の実番号とイベント信号で特定される対応実番号記憶部35内の格納位置を「対応記憶箇所」と称す。
対応実番号記憶部35の対応記憶箇所から次遷移先の有効な実番号を読み出すことができた場合、状態管理部31は該実番号を実番号レジスタ34に書き込む。
また、対応実番号記憶部35の対応記憶箇所から無効を示す情報を読み出した場合、状態管理部31は、次遷移先の論理番号に対応する実番号が不明であるため、構成番号変換部32に対して次遷移先の論理番号を実番号へ変換するよう要求する。
構成番号変換部32による論理番号から実番号への変換に成功した場合、状態管理部31は構成番号変換部32から受け取った実番号を実番号レジスタ34に書き込む。また同時に、対応実番号記憶部35内の対応記憶箇所に次遷移先の実番号を書き込む。
一方、構成番号変換部32による論理番号から実番号への変換に失敗した場合、次遷移先の論理番号の構成情報は構成情報メモリ44に格納されていない。この場合、構成情報メモリ44で保持する構成情報の書き換えが必要であるため、構成番号変換部32は次遷移先の論理番号を構成書換部33に通知し、構成情報メモリ44の書き換えを要求する。
構成書換部33は、構成情報メモリ44で保持された構成情報のうち、現時点で不要な構成情報の実番号を決定し、該決定した実番号が格納された対応実番号記憶部35のエントリを無効にする。不要な構成情報の選択には、例えばLRU(Least Recently Used)法等の周知の方法を用いればよい。そして、構成情報メモリ44内の無効にしたエントリに、書き換え要求時に指定された構成情報を書き込む。構成情報メモリ44に書き込む構成情報は外部メモリ5から取得する。また、状態管理部31の現実番号の遷移先候補群および構成番号変換部32の論理番号から実番号への変換処理に必要な変換情報を更新し、実番号レジスタ34に該実番号を書き込む。
構成番号変換部32は、構成書換部33による構成情報メモリ44の書き換え終了後に、対応実番号記憶部35内の対応記憶箇所に遷移先の実番号を書き込む。
状態管理部31は、構成番号変換部32による論理番号から実番号への変換処理時および構成書換部33による書き換え時、プロセッサエレメント41群にWEキャンセル信号を発行してレジスタへの書き込みを禁止し、プロセッサエレメント41群の動作を停止させる。
対応実番号補充部36は、現実番号からの遷移先のうち、対応実番号記憶部35内の無効となっているイベント信号を一つ選択し、選択したイベント信号に対応する論理番号を先行して構成番号変換部32に通知する。選択したイベント信号と同一のイベント信号が同クロックサイクルで演算部4から通知され、構成番号変換部32による論理番号から実番号への変換が成功した場合、構成番号変換部32から取得した実番号を対応実番号記憶部35の該当するエントリに書き込み、併せて実番号レジスタ34へ書き込む。
この場合、実番号レジスタ34で保持された実番号が次のサイクルで構成情報メモリ44に通知され、対応する構成情報が構成情報メモリ44から読み出されて各プロセッサエレメント41の動作及びスイッチの接続関係が決定する。そして、内部状態番号がプロセッサエレメント41群に通知され、各プロセッサエレメント41で所定の演算が実行される。
本実施例では、各プロセッサエレメント41内の構成情報メモリ44が構成情報記憶部14となる。
また、本実施例では、状態管理部31が、実番号とイベント信号の種類から次遷移先の論理番号と、対応実番号記憶部35内の実番号または無効を示す情報とを、図14に示す表形式(対応表)で保持しているものとする。
以下、装置構成要素の符号との混同を避けるため、実番号、論理番号、内部状態番号は「0」のように鍵括弧を用いて示す。また、論理番号と内部状態番号の組についても「1−1」のように鍵括弧を用いて示す。単に「1−1」と表記した場合は論理番号と内部状態番号の組を示す。
図14は、実番号「0」とイベント信号Aが指定されると、次論理番号と内部状態番号の組「1−1」と次実番号「1」が読み出され、実番号「0」とイベント信号Aが指定されると、次論理番号と内部状態番号の組「0−1」と次実番号「0」が読み出され、実番号「1」とイベント信号Bが指定されると、次論理番号と内部状態番号の組「2−1」と、「無効」を示す情報が読み出される例を示している。
なお、図14の各実番号で特定されるエントリのうち、次論理番号が「−」で示されたエントリは、該当するイベント信号が発生しないことを示している。このエントリに対応する対応実番号記憶部35の部位には、内容に意味がないため、何も記載していない。また、図14では、全てのイベント信号に対応する次論理番号が「−」で示されている実番号「2」〜「7」には、対応する対応実番号記憶部35に構成情報が書き込まれていないことを示している。
また、本実施例では、構成番号変換部32が、第1実施例と同様に、図9に示す表形式(変換表)で実番号と論理番号の関係を保持する。すなわち、本実施例の構成番号変換部32は、論理番号が指定されると、図9に示す変換表を検索し、検出した該論理番号に対応する実番号を出力する、連想メモリ形式とする。図9は、実番号「0」に論理番号「0」の構成情報が記憶され、実番号「1」に論理番号「1」の構成情報が記憶されていることを示している。
また、本実施例では、オブジェクトコードが格納された外部メモリ(記憶手段)6を備え、構成書換部33は、該外部メモリ6からオブジェクトコードの各構成情報を取得できるものとする。
以下、図15で示す状態遷移図にしたがって処理を実行する場合を例にして本実施例のデータ処理装置の動作について説明する。図15は、小さい丸で囲んだ数字が一つの論理番号−内部状態番号の組を示し、大きい丸で囲んだ数字が一つの論理番号を示している。論理番号「0」と「1」は2つの内部状態を備え、論理番号「2」〜「11」は1つの内部状態を備えている。図15は、全部で12個の構成情報からなるオブジェクトコードの状態遷移図を示している。図15に示す状態遷移は、第1実施例で示した状態遷移図(図10)と全ての状態および状態遷移が同じであるが、内部状態が導入されているため、番号の付与のしかたが異なっている。
本実施例では、データ処理装置(DRP)が備える構成情報メモリの実番号「0」に論理番号「0」の構成情報が保持されているものとする。このときの状態管理部31が備える対応表を図16Aに示す。
図16Aの対応表によれば、論理番号「0」の構成情報は実番号「0」に書き込まれている。また、対応実番号記憶部35は遷移先の実番号を保持していない。実番号の最大値は「7」であり、合計8個の構成情報を保持できるものとする。
以下、1サイクル目にて論理番号−内部状態番号「0−1」の処理を実行している状態からの動作を考える。
この場合、実番号レジスタ34には実番号「0」が書き込まれている。また、状態管理部31は内部状態番号「1」を出力している。そのため、各プロセッサエレメント41の構成情報メモリ44には実番号「0」が通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント41に内部状態番号「1」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
同時に、対応実番号補充部36は、対応実番号記憶部35内の「無効」となっているイベント信号を一つ選択する。ここでは対応実番号補充部36がイベント信号Aを選択したものとする。対応実番号補充部36は、選択したイベント信号Aに対応する論理番号「0」を先行して構成番号変換部32に通知する。構成番号変換部32は、変換表を用いて論理番号「0」を実番号「0」に変換し、実番号「0」を実番号レジスタ34及び状態管理部31に通知する。
各プロセッサエレメント41による演算結果がイベント信号Aとして状態管理部31に通知されると、該イベント信号Aが対応実番号補充部36が選択したイベント信号Aと一致し、かつ構成番号変換部32による論理番号から実番号への変換が成功しているため、実番号レジスタ34は構成番号変換部32から通知された実番号「0」を保持する。また、状態管理部31は、対応実番号記憶部35の対応記憶箇所に遷移先の実番号「0」を格納し、併せて「有効」を示す情報を格納する。また、状態管理部31は、次サイクルの内部状態番号「2」を読み出す。
2サイクル目において、演算部4は、論理番号−内部状態番号「0−2」の処理を実行する。このときの状態管理部31が備える対応表を図16Bに示す。
2サイクル目では、実番号レジスタ34に実番号「0」が書き込まれ、状態管理部31は内部状態番号「2」を出力する。実番号レジスタ34に格納された実番号「0」は構成情報メモリ44へ通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント41に内部状態番号「2」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。ここでは、構成情報は1サイクル目と同じであるが、内部状態番号が異なるため、1サイクル目とは異なる演算結果となる。
対応実番号補充部36は、対応実番号記憶部35内の無効となっているイベント信号を一つ選択する。ここではイベント信号Bを選択したと仮定する。
対応実番号補充部36は、選択したイベント信号Bに対応する論理番号「2」を先行して構成番号変換部32に通知する。構成番号変換部32は、論理番号「2」から実番号への変換を試みるが、失敗する。
各プロセッサエレメント41による演算結果がイベント信号Bとして状態管理部31に通知されると、該イベント信号Bは対応実番号補充部36が選択したイベント信号Bと一致し、かつ構成番号変換部32による論理番号から実番号への変換が失敗しているため、構成番号変換部32は、論理番号「2」の構成情報を構成情報メモリ44へ書き込むよう構成書換部33に要求する。また、状態管理部31は、プロセッサエレメント41群に動作を停止させるためのWEキャンセル信号を3サイクル目以降発行し続ける。プロセッサエレメント41のレジスタは、この信号により内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。
次に、状態管理部31は、動作再開時の内部状態番号として「1」を読み出す。
構成書換部33は、構成情報メモリ44、状態管理部31および構成番号変換部32の書き換えを行う。ここでは、未使用の実番号「1」を使用する。
構成書換部33は、外部メモリ5より論理番号「2」の構成情報を取得し、該構成情報を構成情報メモリ44に書き込む。また、構成書換部33は、状態管理部31の実番号「1」のエントリに論理番号「2」の遷移先の情報を書き込み、構成番号変換部32の実番号「1」のエントリに論理番号「2」を書き込む。
ここでは、構成書換部33による書き換えが100サイクルを必要であるとする。
102サイクル目において、構成書換部33による書き換えが終了すると、構成番号変換部32は、論理番号「2」に対応する実番号「1」を実番号レジスタ34へ送信する。また、次サイクルより動作を再開させるために、WEキャンセル信号の発行を停止し、プロセッサエレメント41群に動作を再開させる。
103サイクル目において、プロセッサエレメント41は、論理番号−内部状態番号「2−1」の処理を実行する。このときの状態管理部31の対応表を図16Cに示す。103サイクル目では、実番号レジスタ34に実番号「1」が書き込まれ、状態管理部31は内部状態番号「1」を出力する。実番号レジスタ34に格納された実番号「1」は構成情報メモリ44へ通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント41に内部状態番号「1」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
対応実番号補充部36は、対応実番号記憶部35内の無効となっているイベント信号を一つ選択する。ここではイベント信号Bを選択したと仮定する。
対応実番号補充部36は、選択したイベント信号Bに対応する論理番号「4」を先行して構成番号変換部32に通知する。構成番号変換部32は、論理番号「4」から実番号への変換を試みるが、失敗する。
各プロセッサエレメント41による演算結果がイベント信号Aとして状態管理部31に通知されると、該イベント信号Aは対応実番号補充部36が選択したイベント信号Bと一致しないため、状態管理部31は状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「1」とイベント信号Aから次の状態の論理番号「3」を決定する。また、同時に対応実番号記憶部35の対応記憶箇所から「無効」を読み出す。
対応実番号補充部36がイベント信号Bを選択し、構成番号変換部32に通知した変換結果は失敗であったが、各プロセッサエレメント41による演算結果に応じて発行されるイベント信号とは一致しないため、構成番号変換部32は論理番号「4」の書き換え要求は行わない。
対応実番号記憶部35の対応記憶箇所の読み出し結果が「無効」であるため、状態管理部31は、プロセッサエレメント41群に動作を停止させるためのWEキャンセル信号を104サイクル目以降発行し続ける。プロセッサエレメント41のレジスタは、この信号により内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。
次に、状態管理部31は、動作再開時の内部状態番号として「1」を読み出す。
104サイクル目において、状態管理部31は次の状態の論理番号「3」を構成番号変換部32へ通知する。
構成番号変換部32は、変換表を用いて論理番号「3」を実番号に変換することを試みる。ここでは、論理番号「3」の構成情報が構成情報メモリ44に格納されていないため、論理番号から実番号への変換に失敗する。この場合、構成情報メモリ44で保持する構成情報の書き換えが必要であるため、構成番号変換部32は次遷移先の論理番号「3」を構成書換部33に通知し、構成情報メモリ44の書き換えを要求する。
構成書換部33は、構成情報メモリ44、状態管理部31および構成番号変換部32の書き換えを行う。ここでは、未使用の実番号「2」を使用する。
構成書換部33は、外部メモリ5より論理番号「3」の構成情報を取得し、該構成情報を構成情報メモリ44に書き込む。また、構成書換部33は、状態管理部31の実番号「2」のエントリに論理番号「3」の遷移先の情報を書き込み、構成番号変換部32の実番号「2」のエントリに論理番号「3」を書き込む。
ここでは、構成書換部33による書き換えが100サイクルを必要であるとする。
204サイクル目において、構成書換部33による書き換えが終了すると、構成番号変換部32は、論理番号「3」に対応する実番号「2」を実番号レジスタ34へ送信する。また、次サイクルより動作を再開させるために、WEキャンセル信号の発行を停止し、プロセッサエレメント41群に動作を再開させる。
205サイクル目において、プロセッサエレメント41は、論理番号−内部状態番号「3−1」の処理を実行する。このときの状態管理部31の対応表を図16Dに示す。205サイクル目では、実番号レジスタ34に実番号「2」が書き込まれ、状態管理部31は内部状態番号「1」を出力する。実番号レジスタ34に格納された実番号「2」は構成情報メモリ44へ通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント41に内部状態番号「1」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
対応実番号補充部36は、対応実番号記憶部35内の無効となっているイベント信号を一つ選択する。ここではイベント信号Aを選択したと仮定する。
対応実番号補充部36は、選択したイベント信号Aに対応する論理番号「3」を先行して構成番号変換部32に通知する。構成番号変換部32は、論理番号「3」を実番号「2」に変換し、実番号「2」を実番号レジスタ34と状態管理部31に通知する。
各プロセッサエレメント41による演算結果がイベント信号Aとして状態管理部31に通知されると、該イベント信号Aは対応実番号補充部36が選択したイベント信号Aと一致し、かつ構成番号変換部32による論理番号から実番号への変換が成功しているため、実番号レジスタ34は構成番号変換部32から通知された実番号「2」を保持する。また、状態管理部31は、対応実番号記憶部35の対応記憶箇所に遷移先の実番号「2」を格納し、併せて「有効」を示す情報を格納する。また、状態管理部31は、次サイクルの内部状態番号「1」を読み出す。
206サイクル目において、演算部4は、論理番号−内部状態番号「3−1」の処理を実行する。このときの状態管理部31が備える対応表を図16Eに示す。206サイクル目では、実番号レジスタ34に実番号「2」が書き込まれ、状態管理部31は内部状態番号「1」を出力する。実番号レジスタ34に格納された実番号「2」は構成情報メモリ44へ通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント41に内部状態番号「1」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
対応実番号補充部36は、対応実番号記憶部35内の無効となっているイベント信号を一つ選択する。ここではイベント信号Bを選択したと仮定する。
対応実番号補充部36は、選択したイベント信号Bに対応する論理番号「6」を先行して構成番号変換部32に通知する。構成番号変換部32は、論理番号「6」から実番号への変換を試みるが、失敗する。
各プロセッサエレメント41による演算結果がイベント信号Aとして状態管理部31に通知されると、該イベント信号Aは対応実番号補充部36が選択したイベント信号Bと一致しないため、状態管理部31は状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「2」とイベント信号Aから次の状態の論理番号「3」を決定する。また、同時に対応実番号記憶部35の対応記憶箇所から有効な実番号「2」を読み出す。
対応実番号記憶部35の対応記憶箇所の読み出し結果が「有効」であるため、状態管理部31は、実番号レジスタ34に実番号「2」を書き込む、次サイクルの内部状態番号「1」を読み出す。
対応実番号補充部36がイベント信号Bを選択し、構成番号変換部32に通知した変換結果は失敗であったが、各プロセッサエレメント41による演算結果に応じて発行されるイベント信号とは一致しないため、構成番号変換部32は論理番号「6」の書き換え要求は行わない。
207サイクル目において、演算部4は、論理番号−内部状態番号「3−1」の処理を実行する。このときの状態管理部31が備える対応表は図16Eに示した206サイクル目から変化しない。207サイクル目では、実番号レジスタ34に実番号「2」が書き込まれ、状態管理部31は内部状態番号「1」を出力する。実番号レジスタ34に格納された実番号「2」は構成情報メモリ44へ通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント41に内部状態番号「1」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
対応実番号補充部36は、対応実番号記憶部35内の「無効」となっているイベント信号を一つ選択するが、「無効」のエントリが無いため処理を実行しない。
各プロセッサエレメント41による演算結果がイベント信号Bとして状態管理部31に通知されると、状態管理部31は状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「2」とイベント信号Aから次の状態の論理番号「6」を決定する。また同時に、状態管理部31は対応実番号記憶部35の対応記憶箇所から「無効」を読み出す。
対応実番号記憶部35の対応記憶箇所の読み出し結果が「無効」であるため、状態管理部31は、プロセッサエレメント41群に動作を停止させるためのWEキャンセル信号を2サイクル目以降発行し続ける。プロセッサエレメント41のレジスタはこの信号により、内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。また、状態管理部31は動作再開時の内部状態番号として「1」を読み出す。
208サイクル目において、状態管理部31は次の状態の論理番号「6」を構成番号変換部32へ通知する。
構成番号変換部32は、変換表を用いて論理番号「6」を実番号に変換することを試みる。ここでは、論理番号「6」の構成情報が構成情報メモリ44で保持されていないため、論理番号から実番号への変換に失敗する。そのため、構成番号変換部32は、論理番号「6」の構成情報を構成情報メモリ44に書き込むよう構成書換部33に要求する。
構成書換部33は、構成情報メモリ44、状態管理部31および構成番号変換部32の書き換えを行う。ここでは、未使用の実番号「3」を使用する。
構成書換部33は、外部メモリ5より論理番号「6」の構成情報を取得し、該構成情報を構成情報メモリ44に書き込む。また、構成書換部33は、状態管理部31の実番号「3」のエントリに論理番号「6」の遷移先の情報を書き込み、構成番号変換部32の実番号「3」のエントリに論理番号「6」を書き込む。
308サイクル目において、構成書換部33による書き換えが終了すると、構成番号変換部32は、論理番号「6」に対応する実番号「3」を実番号レジスタ34へ送信する。また、次サイクルより動作を再開させるために、WEキャンセル信号の発行を停止し、プロセッサエレメント41群に動作を再開させる。
以降、同様にして論理番号−内部状態番号の組「6−1」→「6−1」→「10−1」→「10−1」→「1−1」の順に遷移し、「1−1」から「2−1」に戻ったときの状態管理部31が備える対応表を図16Fに示す。
ここで、再度、論理番号−内部状態番号の組「2−1」から「3−1」へ遷移する場合、次に「1−1」に到達するまでの状態遷移で用いる実番号は対応実番号記憶部35で保存されているため、構成番号変換部32を使用しない動作が可能である。
以下、論理番号−内部状態番号の組「1−1」から「2−1」に戻るときの動作を示す。
この場合、実番号レジスタ34には実番号「5」が書き込まれ、状態管理部31は内部状態番号「1」を出力する。そのため、演算部4の各プロセッサエレメント41の構成情報メモリ44に実番号「5」が通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント41に内部状態番号「1」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
また、対応実番号補充部36は、対応実番号記憶部35内から「無効」となっているイベント信号を一つ選択する。ここではイベント信号Bを選択したと仮定する。対応実番号補充部36は、選択したイベント信号Bに対応する論理番号「1」を先行して構成番号変換部32に通知する。構成番号変換部32は、論理番号「1」を実番号「5」に変換し、実番号「5」を実番号レジスタ34と状態管理部31に通知する。
各プロセッサエレメント41による演算結果がイベント信号Aとして状態管理部31に通知されると、該イベント信号Aが、対応実番号補充部36が選択したイベント信号Bと一致していない。しかしながら、構成番号変換部32による論理番号から実番号への変換は成功しているため、状態管理部31は対応実番号記憶部35の実番号「5」とイベント信号Bで特定されるエントリに実番号「5」を記憶し、「有効」を示す情報を格納する。このときの状態管理部31が備える対応表を図16Gに示す。
イベント信号の不一致を検出した状態管理部31は、状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「5」とイベント信号Aから次の状態の論理番号「2」を決定する。また、状態管理部31は、対応実番号記憶部35を現在の実番号「5」とイベント信号Aで特定されるエントリから有効な実番号「1」読み出し、該実番号「1」を実番号レジスタ34に書き込む。
また、状態管理部31は、次サイクルの内部状態番号「1」を読み出す。
同様に「1−1」から「2−1」に戻り、「2−1」から「3−1」に遷移するループを繰り返すことで、対応実番号記憶部35の実番号「5」とイベント番号C、Dで特定されるエントリは、無効から実番号「0」に書き換えられる。書き換え後の状態管理部31の対応表を図16Hに示す。
その後、「2−1」から「4−1」、さらに「7−1」に遷移するとき、状態管理部31は、対応実番号記憶部35から「無効」を読み出し、構成番号変換部32による論理番号から実番号への変換も失敗するため、構成書換部33による書き換えが行われる。また、「7−1」から「10−1」、「12−1」を経て「2−1」に戻り、さらに「4−1」に遷移したときの状態管理部31が備える対応表を図16Iに示す。
ここで、「4−1」から「8−1」に遷移する場合の動作を示す。
この場合、現在の実番号「1」とイベント信号Cに基づいて対応実番号記憶部35からは「無効」が読み出される。また、次サイクルで構成番号変換部32による論理番号「5」から実番号への変換に失敗し、構成番号変換部32は、論理番号「8」の構成情報を構成情報メモリ44に書き込むよう構成書換部33に要求する。
構成書換部33は、構成情報メモリ44、状態管理部31および構成番号変換部32の書き換えを行う。ここでは、未使用の実番号が無くなってしまったため、論理番号「8」の構成情報を書き込む場所を決定する必要がある。ここでは、論理番号「10」を消去する。
構成情報メモリ44の実番号「4」から論理番号「10」を消去する場合、まず対応実番号記憶部35内の実番号「4」への遷移を保持しているエントリを無効化する。ここでは、実番号「3」とイベント信号Bで特定されるエントリおよび実番号「7」とイベント信号Aで特定されるエントリが該当する。また、実番号「4」とイベント信号Aで特定されるエントリも該当するが、この後、実番号「4」の全内容が消去されるため、ここでは対応実番号記憶部35の内容のみを明示的に無効化する必要はない。
対応実番号記憶部35内の特定のエントリの無効化が完了すると、構成情報メモリ44、状態管理部31および構成番号変換部32の実番号「4」に対応する内容を消去し、新たに論理番号「8」の内容を書き込む。書き込み後の状態管理部31が備える対応表を図16Jに示す。
この後、「8−1」から「11−1」に遷移する際に実番号「3」を論理番号「11」に書き換えたとする。書き換え後の状態管理部31が備える対応表を図16Kに示す。
さらに、「1−1」を経て「2−1」に遷移し、再び「2−1」から「3−1」を経て「6−1」に遷移する場合、論理番号「6」の構成情報を再度書き込む。ここでは先ほどと異なり実番号「4」に書き込んだとする。このときの状態管理部31が備える対応表を図16Lに示す。
その後、論理番号「10」の構成情報を実番号「3」に書き込み、「10−1」に遷移したとき、状態管理部31が備える対応表を図16Mに示す。この時点では、実番号「7」のイベント信号Aの対応実番号記憶部35は無効のままである。この対応記憶箇所は、「7−1」に遷移するまで書き込まれない。
以降、同様に、既に実行したことがあり、遷移元及び遷移先が消去されていない遷移については、状態管理部31が対応実番号記憶部35の内容を読み出して直接実番号レジスタ34に書き込むことに加え、まだ行ったことがない遷移についても現状態の遷移先の構成情報が書き込まれていれば対応実番号補充部36が対応実番号記憶部35の内容を補充していく。
本実施例によれば、構成番号変換部32を使用することなく、直ぐに次のサイクルにて次の論理番号に対応する処理が可能であり、第1実施例と比べて処理を実行するまでに必要なサイクル数が低減するため、処理性能が向上する。
(第3実施例)
第3実施例は、上記先願発明1(特願2006−103987号)のデータ処理装置に上述した第6の実施の形態を適用する例である。
図17は第3実施例のデータ処理装置の構成を示すブロック図である。
本実施例は、第2実施例で示した対応実番号補充部36の機能を構成書換部33で実現する例である。
構成書換部33は、論理番号毎に、状態管理部31のどのエントリに遷移先が存在するかを示すリストを備え、構成情報の書き換え時に該リストを更新する。
第2実施例の対応実番号補充部36は、対応実番号記憶部35内の現在の実番号のエントリのみを補充していたが、本実施例の構成書換部33は、構成情報の書き込みを行い、動作を再開した直後に書き込んだ構成情報の実番号の対応実番号記憶部35を補充し、その後、それ以外の実番号の対応実番号記憶部35を補充する。
上記以外の構成は第2実施例と同様であるため、その説明は省略する。
また、データ処理装置の動作についても、図16Mに示す状態に到達するまでの動作は第2実施例と同様である。但し、第2実施例では、ある実番号に遷移したときに、対応実番号記憶部35の該実番号のエントリに「無効」が存在すると、対応実番号補充部36が毎回動作するのに対し、本実施例では、構成書換部33が構成情報の書き換えを行った直後にのみ対応実番号記憶部35の補充を行う。
第2実施例と同様の演算を行い、構成書換部33が論理番号「10」の構成情報を実番号「3」に書き込み、図16Mに示した状態になると、構成書換部33は、論理番号「10」を遷移先として持つエントリのリストを参照し、対応実番号記憶部35の実番号「7」とイベント信号Aで特定されるエントリに、遷移先の論理番号「10」に対応する実番号「3」を書き込む。
本実施例によれば、ある論理番号に対し、複数の論理番号から遷移する可能性があり、かつその遷移元の論理番号の構成情報が構成情報メモリに書き込まれている場合に、第2実施例と比べて無駄となる動作を削減できる。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細は本願発明のスコープ内で当業者が理解し得る様々な変更が可能である。
この出願は、2009年8月25日に出願された特願2009−194074号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (6)

  1. 複数の演算器及び前記演算器の接続を切り換える相互接続部を備え、前記演算器に対する演算命令及び前記演算器の接続関係を示す情報を含む少なくとも一つの構成情報から成るオブジェクトコードにしたがって各種の処理を実行するための回路を変更することが可能なデータ処理装置であって、
    現在の動作状態、次に遷移する状態の候補群及び前記演算器から発行されるイベント信号に基づき、次の動作状態で用いる構成情報の、前記オブジェクトコードに含まれる各構成情報の相互関係の情報を示す論理番号を決定する状態管理部と、
    前記論理番号を対応する前記構成情報が実際に保存された位置を示す実番号に変換するための変換情報を備え、前記状態管理部で決定した論理番号に対応する実番号を出力する構成番号変換部と、
    前記構成情報が格納され、前記構成番号変換部から出力された実番号に対応する構成情報を前記演算器及び前記相互接続部へ通知する構成情報記憶部と、
    前記状態管理部内に現在の動作状態、次に遷移する状態の候補群及び前記演算器から発行されるイベント信号に対応付けられた論理番号に対応する実番号を、その有効性と共に保持する対応実番号記憶部と、
    を有し、
    前記状態管理部は、
    構成書換部が前記構成情報記憶部に構成情報を書き込んだ後に、前記対応実番号記憶部の更新と有効化を行うデータ処理装置。
  2. 前記状態管理部は、
    現在の動作状態として論理番号とは別に内部状態番号を持ち、前記構成情報に加えて内部状態番号を前記演算器及び前記相互接続部へ通知する請求項1記載のデータ処理装置。
  3. 前記状態管理部は、
    イベント信号が入力されると、次論理番号を決定すると同時に、前記対応実番号記憶部の読み出しを行い、前記対応実番号記憶部の内容が有効であれば、前記構成情報記憶部に実番号を出力する請求項1または2記載のデータ処理装置。
  4. 前記状態管理部は、
    イベント信号が入力されると、次論理番号を決定すると同時に、対応実番号記憶部の読み出しを行い、前記対応実番号記憶部の内容が無効であれば、前記構成番号変換部に論理番号を出力し、前記構成番号変換部から受け取った実番号を前記対応実番号記憶部で保持する請求項1から3のいずれか1項記載のデータ処理装置。
  5. 前記状態管理部は、
    前記対応実番号記憶部に実番号が無効である論理番号を含むとき、前記演算部からのイベント信号によらず前記構成番号変換部に論理番号を出力し、前記前記構成番号変換部から受け取った実番号を前記対応実番号記憶部に書き込む請求項4記載のデータ処理装置。
  6. 前記状態管理部は、
    構成書換部が前記構成情報記憶部の構成情報を消去する際に、前記対応実番号記憶部内の消去する実番号を無効化する請求項1からのいずれか1項記載のデータ処理装置。
JP2011528671A 2009-08-25 2010-04-06 データ処理装置 Expired - Fee Related JP5532050B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011528671A JP5532050B2 (ja) 2009-08-25 2010-04-06 データ処理装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009194074 2009-08-25
JP2009194074 2009-08-25
JP2011528671A JP5532050B2 (ja) 2009-08-25 2010-04-06 データ処理装置
PCT/JP2010/056228 WO2011024504A1 (ja) 2009-08-25 2010-04-06 データ処理装置

Publications (2)

Publication Number Publication Date
JPWO2011024504A1 JPWO2011024504A1 (ja) 2013-01-24
JP5532050B2 true JP5532050B2 (ja) 2014-06-25

Family

ID=43627618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011528671A Expired - Fee Related JP5532050B2 (ja) 2009-08-25 2010-04-06 データ処理装置

Country Status (3)

Country Link
US (1) US9021235B2 (ja)
JP (1) JP5532050B2 (ja)
WO (1) WO2011024504A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5285118B2 (ja) * 2011-05-13 2013-09-11 ヒロセ電機株式会社 平型導体用電気コネクタ
JP5912844B2 (ja) * 2011-05-31 2016-04-27 株式会社半導体エネルギー研究所 プログラマブルロジックデバイス
US9086688B2 (en) * 2013-07-09 2015-07-21 Fisher-Rosemount Systems, Inc. State machine function block with user-definable actions on a transition between states

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0888629A (ja) * 1994-09-20 1996-04-02 Nippon Telegr & Teleph Corp <Ntt> 端末接続方法、アドレッシング サーバおよび交換機
WO2007114059A1 (ja) * 2006-04-05 2007-10-11 Nec Corporation データ処理装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 日本電気株式会社 プログラマブルデバイス
JP3674515B2 (ja) 2000-02-25 2005-07-20 日本電気株式会社 アレイ型プロセッサ
JP3528922B2 (ja) 2001-08-31 2004-05-24 日本電気株式会社 アレイ型プロセッサ、データ処理システム
JP3921367B2 (ja) * 2001-09-26 2007-05-30 日本電気株式会社 データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム
JP4728581B2 (ja) 2004-02-03 2011-07-20 日本電気株式会社 アレイ型プロセッサ
JP4502650B2 (ja) 2004-02-03 2010-07-14 日本電気株式会社 アレイ型プロセッサ
US7284085B2 (en) * 2004-11-01 2007-10-16 Emulex Design & Manufacturing Corporation Managing configuration data in a flash configuration space in flash memory within a host interface port
JP3861898B2 (ja) 2004-11-08 2006-12-27 日本電気株式会社 データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体
JP2008152409A (ja) 2006-12-15 2008-07-03 Renesas Technology Corp 半導体集積回路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0888629A (ja) * 1994-09-20 1996-04-02 Nippon Telegr & Teleph Corp <Ntt> 端末接続方法、アドレッシング サーバおよび交換機
WO2007114059A1 (ja) * 2006-04-05 2007-10-11 Nec Corporation データ処理装置

Also Published As

Publication number Publication date
US20120144184A1 (en) 2012-06-07
US9021235B2 (en) 2015-04-28
WO2011024504A1 (ja) 2011-03-03
JPWO2011024504A1 (ja) 2013-01-24

Similar Documents

Publication Publication Date Title
JP5945291B2 (ja) デフレート圧縮のために高速で高圧縮のlz77トークン化及びハフマンエンコーディングを行う並列装置
JP5131188B2 (ja) データ処理装置
JP5144542B2 (ja) アドレス変換バイパスを有するデータ処理システム及びその方法
US20070083870A1 (en) Methods and apparatus for task sharing among a plurality of processors
JP2007133456A (ja) 半導体装置
US20080024163A1 (en) Programmable logic device
WO2006078837A2 (en) Methods and apparatus for dynamically managing banked memory
JP5027515B2 (ja) 任意のアルゴリズムを並列計算するための再構成可能な論理回路装置
KR20140032943A (ko) 멀티 레벨 처리용 방법, 시스템 및 장치
JP5532050B2 (ja) データ処理装置
CN104238957A (zh) 串行外围接口控制器、串行外围接口快闪存储器及其存取方法和存取控制方法
JP4665760B2 (ja) 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム
JP2010102623A (ja) キャッシュメモリ及びその制御方法
KR101100143B1 (ko) 캐시 메모리 제어 장치, 및 파이프 라인 제어 방법
JP6294732B2 (ja) データ転送制御装置及びメモリ内蔵装置
JP3096576B2 (ja) メモリ制御回路とその回路を内蔵した集積回路素子
WO2010055706A1 (ja) データ処理装置、データ処理方法及びプログラム
US9317475B2 (en) Multiplexing auxiliary processing element and semiconductor integrated circuit
KR20040007343A (ko) 캐시 메모리 및 그 제어 방법
WO2010023804A1 (ja) データ処理装置、データ処理方法並びにデータ処理プログラムが格納された記録媒体
JP2010244165A (ja) 半導体集積回路、及び半導体集積回路の制御方法
WO2010087098A1 (ja) 並列演算装置、情報処理システム、並列演算方法、および情報処理装置
JP2004110299A (ja) メモリ装置およびデータ処理システム
JP2023004848A (ja) 圧縮アクセラレーションの早期アボートのための技術
JPH11272544A (ja) フェッチデータバッファリング回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140407

R150 Certificate of patent or registration of utility model

Ref document number: 5532050

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees