JP2008198003A - アレイ型プロセッサ - Google Patents

アレイ型プロセッサ Download PDF

Info

Publication number
JP2008198003A
JP2008198003A JP2007033770A JP2007033770A JP2008198003A JP 2008198003 A JP2008198003 A JP 2008198003A JP 2007033770 A JP2007033770 A JP 2007033770A JP 2007033770 A JP2007033770 A JP 2007033770A JP 2008198003 A JP2008198003 A JP 2008198003A
Authority
JP
Japan
Prior art keywords
configuration
circuit
path
delay
configuration information
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
Application number
JP2007033770A
Other languages
English (en)
Inventor
Yoshitaka Izawa
義貴 伊澤
Giichi Yabe
義一 矢部
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 Electronics Corp
Original Assignee
NEC Electronics 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 Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2007033770A priority Critical patent/JP2008198003A/ja
Priority to US12/030,619 priority patent/US7752420B2/en
Publication of JP2008198003A publication Critical patent/JP2008198003A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K17/00Electronic switching or gating, i.e. not by contact-making and –breaking
    • H03K17/002Switching arrangements with several input- or output terminals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】パスの構成の変更に伴って生じるグリッチの発生及び伝播を低減して、消費電力を削減する。
【解決手段】複数のプロセッサエレメントを備え、プロセッサエレメント間のデータ送受に係るパスの構成をクロックサイクル毎に変更することが可能なアレイ型プロセッサであって、各プロセッサエレメントは、パスの構成に係る構成情報指示信号を記憶する構成情報メモリ11と、クロックサイクル毎に構成情報メモリ11から出力される構成情報指示信号Pinのタイミングを調整する遅延調整回路12と、タイミングが調整された構成情報指示信号Poutに基づいて他のプロセッサエレメント(PE)または機能ユニット(レジスタファイルユニット14および演算器15)とのパスを変更する配線接続回路13と、を備える。
【選択図】図1

Description

本発明は、アレイ型プロセッサに関し、特に、複数のプロセッサエレメントを備え、プロセッサエレメント間のデータ送受に係るパスの構成をクロックサイクル毎に変更することが可能なアレイ型プロセッサに関する。
現在、各種のデータ処理を自在に実行できるプロセッサユニットとしては、いわゆるCPU(Central Processing Unit)やMPU(Micro Processor Unit)と呼称される製品が実用化されている。このようなプロセッサユニットを利用したデータ処理システムでは、複数の命令コードが記述された各種のアプリケーションプログラムと各種の処理データとがメモリデバイスに格納される。プロセッサユニットは、メモリデバイスから命令コードや処理データを順番に読出して複数の演算処理を逐次実行する。このため、一個のプロセッサユニットで各種のデータ処理を実現することができる。
このようなプロセッサユニットによるデータ処理では、複数の演算処理が順番に逐次実行される。したがって、逐次処理ごとにプロセッサユニットがメモリデバイスから命令コードを読出す必要があるために、複雑なデータ処理を高速に実行することは困難である。
一方、実行するデータ処理が一つに限定されている場合には、そのデータ処理を実行するように論理回路をハードウェアで実現すれば、プロセッサユニットがメモリデバイスから複数の命令コードを順番に読出して複数の演算処理を順番に逐次実行する必要はない。このため、複雑なデータ処理を高速に実行することが可能であるが、当然ながら一つのデータ処理しか実行することができない。
つまり、アプリケーションプログラムを切換自在としたデータ処理システムでは、各種のデータ処理を実行できるが、ハードウェアの構成が固定されているのでデータ処理を高速に実行することが困難である。一方、ハードウェアからなる論理回路では、データ処理を高速に実行することが可能であるが、アプリケーションプログラムを変更できないので一つのデータ処理しか実行できない。
このようなデータ処理の高速性とプログラムの変更可能性の双方を満たすために、ソフトウェアに対応してハードウェアの構成が変化するデータ処理装置として、アレイ型プロセッサが特許文献1および2に開示されている。
図13に示す特許文献1におけるアレイ型プロセッサでは、小規模の多数のプロセッサエレメント105が多数のプログラマブルスイッチエレメント106とともにデータパス部102に行列形状に配列されており、データパス部102に対して状態遷移管理部101が並設されている。状態遷移管理部101は、状態遷移テーブルメモリを有し、このメモリには次サイクルの状態番号が格納されており、状態遷移管理部101の現在の内部状態や外部からのイベント209の条件に従い順次読み出される。読み出された状態番号は、データパス部の命令指定信号(アドレス信号)に変換されて、演算制御パス103を経由してデータパス部102に入力される。多数のプロセッサエレメント105は、個々にデータ設定される命令コードに対応してデータ処理を個々に実行するとともに、個々に並設されている多数のスイッチエレメント105に相互の接続関係を切換制御させる。
このような構成のアレイ型プロセッサは、多数のプロセッサエレメントと多数のスイッチエレメントとの命令コードからなるデータパス部102のコンテキストを状態遷移管理部101がコンピュータプログラムに対応して動作サイクルごとに順次切り替える。したがって、アレイ型プロセッサは、コンピュータプログラムに対応して並列処理を連続的に実行することができる。
なお、特許文献2には、複数の状態遷移管理部が連携動作し、複数の状態遷移を同時に実行するような場合でも効率的に動作することができるアレイ型プロセッサが開示されている。このアレイ型プロセッサにおけるプロセッサエレメントの動作は、上述と同様である。
特開2001−312481号公報 特開2004−133781号公報
ところで、図13に示すプロセッサエレメント105においては、プロセッサエレメント内の制御信号の伝播が早く、データ信号が変化するタイミングが遅くなる傾向がある。すなわち、制御信号は、同一のプロセッサエレメント内の構成情報メモリから発行されるため、信号伝播を担う配線が短い。これに対し、データ信号は、基本的に複数のプロセッサエレメントを経由して信号が伝播されるため、信号伝播を担う配線が長くなる。したがって、配線の長短によって信号伝播がアンバランスになると不要な信号レベルの遷移であるグリッチが生じてしまう。このようなグリッチの発生によって、アレイ型プロセッサにおける電力消費が増大してしまう。
次に、このようなグリッチが発生する様子を、アレイ型プロセッサの構造を模式的に示した図14を用いて説明する。図14においてプロセッサエレメント(PE)は、簡略化して単純に構成情報メモリと1個のマルチプレクサから構成されるものとする。また、プロセッサエレメントの外部にレジスタが配置され、全てのレジスタは、ハイレベル(1)信号を格納しているものとする。さらに、アレイ型プロセッサは、図14に示す構成P1から構成P3までの配線接続が1クロック毎に順番に切り替わるように動作するものとする。なお、構成情報メモリから同じプロセッサエレメント内のマルチプレクサの出力ポートまでの伝播遅延時間が、レジスタからマルチプレクサの出力ポートまでの伝播遅延時間よりも短いものとする。このときの各部の動作波形を図15に示す。
構成P1から構成P2の配線接続に切り替わったとき、PE(1,1)に属するマルチプレクサには、構成情報メモリからのセレクト信号(選択信号)が最も早く到達する。この時点では、PE(1,1)に属するマルチプレクサの入力ポート2と入力ポート3は、それぞれ構成P1の時の信号状態であり、それぞれ「1」、「0」となっている。このため、PE(1,1)に属するマルチプレクサの出力ポートは、セレクト信号の切り替えにより「1」から「0」に切り替わる。その後、入力ポート3には、PE(0,0)に属するマルチプレクサから「1」の信号が伝播してくるため、出力ポートは、「0」から「1」へと遷移する。このように出力ポートは、セレクト信号を切り替えてから、「1」→「0」→「1」と遷移し、本来の処理に関係しない無駄な信号レベル遷移であるグリッチが生じる。構成P2から構成P3に配線が切り替わる際も、同様にしてPE(1,1)に属するマルチプレクサの出力ポートが「1」→「0」→「1」へと遷移し、グリッチが発生する。
更に、アレイ型プロセッサは、複数のプロセッサエレメントを経由した回路構成をとることができ、多段接続になることが多い。このため、前段で生じたグリッチが積み重なって後段に伝播され、複数のグリッチが生じやすくなって、消費電力がより増大する傾向にある。
このような例を示すため、図16に示した回路の動作を説明する。この回路は、図14の回路と同様に、プロセッサエレメントにおいて、構成情報メモリと1個のマルチプレクサから構成される。また、プロセッサエレメントの外部にレジスタが配置され、全てのレジスタは、ハイレベル(1)信号を格納しているものとする。この回路の動作は、構成Q1と構成Q2の配線接続が1クロック毎に順に切り替わる。このときの動作波形を図17に示す。またここで、構成情報メモリから同じプロセッサエレメント内のマルチプレクサの出力ポートまでの遅延が、レジスタからマルチプレクサの出力ポートまでの遅延よりも小さいものとする。
図16に示した回路において、構成Q1から構成Q2に切り替わったとき、PE(1,1)に属するマルチプレクサには、プログラムメモリから伝播されるセレクト信号が最も早く到達する。この時点では、PE(1,1)に属するマルチプレクサの入力ポート1と入力ポート3は、それぞれ構成Q1の時の信号状態であり、「1」、「0」となっている。そのため、PE(1,1)に属するマルチプレクサの出力ポートは、セレクト信号の切り替えにより、図17に示すように、「1」から「0」に切り替わる。その後、PE(1,1)に属するマルチプレクサの入力ポート3には、PE(0,1)に属するマルチプレクサから「1」の信号が伝播してくるため、出力ポートは、「0」から「1」へと遷移する。このようにPE(1,1)に属するマルチプレクサの出力ポートは、セレクト信号を切り替えてから、「1」→「0」→「1」と遷移し、グリッチが発生する。次段のPE(2,1)に属するマルチプレクサも同様に、プログラムメモリから伝播されるセレクト信号が最も早く到達する。
この時点では、構成Q1の時の信号状態であり、入力ポート0の信号状態は「0」、入力ポート3の信号状態は「1」である。そのため出力ポートは、セレクト信号の切り替えにより、図17に示すように、「0」から「1」に切り替わる。更にその後、前段のPE(1,1)に属するマルチプレクサで発生したグリッチがPE(2,1)に属するマルチプレクサの出力ポートへ伝播されているため、「0」→「1」→「0」→「1」と変化し、グリッチが発生する。このように段数が複数になると、複数のグリッチ(複数の遷移)が生じ、消費電力がより増大してしまうこととなる。
本発明の1つのアスペクトに係るアレイ型プロセッサは、複数のプロセッサエレメントを備え、プロセッサエレメント間のデータ送受に係るパスの構成をクロックサイクル毎に変更することが可能なアレイ型プロセッサであって、複数のプロセッサエレメントのそれぞれは、他のプロセッサエレメントとのパスを変更するタイミングを、パスの構成情報に基づいて変更可能となるように構成される。
本発明によれば、他のプロセッサエレメントとのパスを変更するタイミングを、パスの構成情報に基づいて変更することで、パスの構成の変更に伴って生じるグリッチの発生及び伝播を低減して、消費電力を削減することができる。
本発明の実施形態に係るアレイ型プロセッサは、複数のプロセッサエレメントを備え、プロセッサエレメント間のデータ送受に係るパスの構成をクロックサイクル毎に変更することが可能なアレイ型プロセッサである。複数のプロセッサエレメントのそれぞれは、他のプロセッサエレメントとのパスを変更するタイミングを、パスの構成情報に基づいて変更可能となるように構成される。
より具体的に、複数のプロセッサエレメントのそれぞれは、演算処理を行う機能ユニット(図1の14、15)と、パスの構成に係る構成情報指示信号を記憶するメモリ(図1の11)と、クロックサイクル毎にメモリから出力される構成情報指示信号(図1のPin)に基づいて他のプロセッサエレメントまたは機能ユニットとの接続を変更する配線接続回路(図1の13)と、クロックサイクル毎に配線接続回路における接続変更のタイミングを調整する遅延調整回路(図1の15)と、を備えるようにしてもよい。
また、遅延調整回路は、クロックサイクル毎にメモリから出力される構成情報指示信号を遅延させる、遅延時間のそれぞれ異なる複数の遅延回路(図3の24a、24b、24c、24d)と、複数の遅延回路の内の一つを選択することで、タイミングが調整された構成情報指示信号(図3のPout)を配線接続回路に出力する第1の選択回路(図3の23)と、第1の選択回路における遅延回路の選択情報を保持する第1のレジスタ群(図3の21)と、を備え、第1の選択回路は、パスの構成を示す構成番号(図3のPn)に基づいて第1のレジスタ群から出力される選択情報によって、複数の遅延回路の内の一つを選択するようにしてもよい。
さらに、配線接続回路は、クロックサイクル毎にメモリから出力される構成情報指示信号によって、他のプロセッサエレメントまたは機能ユニットとのパスを選択するパス選択回路(図7の32)と、パス選択回路によってパスを選択する際に、選択されるパスの信号をラッチ許可信号によって保持しておく複数のラッチ回路(図7の31)と、を備え、遅延調整回路(図7の12a)は、複数のラッチ回路の一つを選択するためのデータを蓄える第1のレジスタ群(図8の21a)と、クロックサイクル毎に与えられるパスの構成を示す構成番号によって第1のレジスタ群内のデータを選択して出力する第1の選択回路(図8の22a)と、第1の選択回路から出力される信号を遅延させる、遅延時間のそれぞれ異なる複数の遅延回路(図8の24a、24b、24c)と、遅延回路における遅延時間を選択するためのデータを蓄える第2のレジスタ群(図8の21b)と、構成番号によって第2のレジスタ群内のデータを選択して出力する第2の選択回路(図8の22b)と、第2の選択回路の出力信号によって複数の遅延回路の内の一つを選択して、タイミングが調整された遅延回路の出力信号をラッチ許可信号として出力する第3の選択回路(図8の23)と、を備えるようにしてもよい。
以上のように構成されるアレイ型プロセッサによれば、他のプロセッサエレメントの接続タイミングをパスの構成に応じて調整することで、パスの構成の変更に伴って生じるグリッチの発生及び伝播を低減することができる。したがって、グリッチによって増大してしまう消費電力を削減することができる。以下、実施例に即し、図面を参照して詳しく説明する。
本発明の第1の実施例に係るアレイ型プロセッサは、図13に示した従来のアレイ型プロセッサと同一の構成を有する。ここで、本願発明の説明を容易にするため、下記の各実施例においては、図13の従来のアレイ型プロセッサを次のように構成している。
まず図13のデータパス部102において示されるスイッチエレメント106を後述の配線接続回路13として各プロセッサエレメント105に内蔵している。また、特許文献1の従来のアレイ型プロセッサでは、状態遷移テーブルメモリは、状態番号を格納しており、状態遷移管理部101がこの状態番号を遷移させ、この状態番号に対応付けられたデータパス部の構成情報アドレス及び各プロセッサエレメントの命令コードアドレスを発行する。ここで、構成情報アドレスは、構成情報メモリのアドレスを指定して、構成情報メモリから対応する構成情報を発行する。また命令コードアドレスは、命令メモリのアドレスを指定し、命令メモリから対応する命令コードを発行する。この構成情報と命令コードを、データパス部102の回路構成と各プロセッサエレメントが実行する命令を変えて(あるいは遷移させて)処理を実行する。
下記各実施例においては、構成情報アドレスに対応するデータパス部の構成情報ならびに命令コードアドレスに対応する各プロセッサエレメントの命令コードは、ともに構成情報メモリ11に格納されているものとする。さらに、構成情報メモリ11に格納される構成情報には、本発明においては命令コードも含むものとする。
本明細書では、このように、データパス部の構成情報ならびに各プロセッサエレメントの命令コードをまとめて1つのアドレスで管理する構成をとっており、このアドレスを構成番号と以下称する。
したがって、本発明のアレイ型プロセッサは、状態遷移管理部101が内蔵する状態遷移テーブルメモリに格納された構成番号をサイクルごとに出力し、データパス部102が、この構成番号に対応付けられた構成情報メモリ11中のデータパス部102の構成情報と各プロセッサエレメントが実行する命令を読み出し、データパス部102の回路構成と各プロセッサエレメントが実行する命令を変えて(あるいは遷移させて)処理を実行する。
なお、本発明のアレイ型プロセッサにおいては、構成番号に対応してデータパス部102の回路構成が変化するが、これは特に、データパス部内部に存在する順序回路間のパスの構成をスイッチプロセッサ(配線接続回路13)により切り替えるものである。すなわち、順序回路間のパスである組み合わせ回路がその構成を変えるものであり、例えば、順序回路間に1つのALUが存在する構成としたり、2つ以上のALUが接続され、より複雑な演算を行う回路としたりすること、構成番号を変えることで実現する方式である。
なお、従来どおり、スイッチエレメントとプロセッサエレメントを分離する構成にして、構成番号を命令メモリアドレス指定とデータパス部の構成情報アドレス指定に分離し、命令メモリと構成情報メモリを分けて管理する方法をとってもよいことはもちろんである。
以上を踏まえ、本発明のアレイ型プロセッサは、データパス部102とそれを制御する状態遷移管理部101で構成される。データパス部102は、アレイ状に配置された複数のプロセッサエレメント(PE)105で構成される。状態遷移管理部101は、次サイクルの構成番号を格納する状態遷移テーブルメモリを有し、構成番号は、状態遷移管理部101の現在の内部状態や外部からのイベント信号の条件に従い順次読み出され、演算制御パス103を通してデータパス部102に入力される。なおここでイベントとは、割り込みや条件分岐命令に相当する。すなわち、状態遷移管理部は、通常は構成番号を格納順に出力しているが、このイベントの入力により出力される構成番号の順を変化させるものである。そして、第1の実施例に係るプロセッサエレメントの構成は、以下の点で従来と異なる構成である。以下プロセッサエレメントに関連し詳しく説明する。
図1は、本発明の第1の実施例に係るプロセッサエレメントの構成を示すブロック図である。図1に示すプロセッサエレメントは、構成情報メモリ11、遅延調整回路12、レジスタファイルユニット(RFU)14および演算器(ALU)15からなる機能ユニット、機能ユニットの接続及び他のプロセッサエレメント間の接続を切り替える配線接続回路13を備える。
構成情報メモリ11は、複数個の構成情報を格納するメモリであり、状態遷移管理部(図13の101に相当)から出力される構成番号Pnをアドレスとして構成情報Pinが読み出される。また、格納されている構成情報に応じてレジスタファイルユニット(RFU)14および演算器(ALU)15が動作して所望の演算処理が行われる。すなわち、構成情報Pinの情報によりレジスタファイルユニット(RFU)14および演算器(ALU)15の接続関係が再構築され(回路構成を変化させ)、構成情報Pinに含まれる命令コードに従って命令が実行される。このときの回路構成の変更により上述したように、レジスタ(順序回路)間の組み合わせ回路の構成が変更され、例えば順序回路間パスに存するALUの数も可変となる。
遅延調整回路12は、読み出された構成情報Pinを構成番号Pnに基づいて遅延して構成情報Poutとして配線接続回路13に出力する。
機能ユニット及び配線接続回路13は、構成情報Poutによってその動作を決定する。配線接続回路13は、図2に示す構成例のように例えば4つのマルチプレクサ25a、25b、25c、25dを備え、構成情報Poutに対応して各プロセッサエレメント内の機能ユニットの接続及び上下左右等に存在する他のプロセッサエレメント間との接続を切り替える機能を有する。これらのマルチプレクサは、配線接続をしない状態では、固定値を選択し(図2の例では0)、他の配線からの信号伝播をしないようにする。
このような各プロセッサエレメントでは、構成番号Pnに対応した構成情報Pinが構成情報メモリ11から読み出され、機能ユニットの機能と配線接続回路13の接続が決定される。アレイ全体に構成されるデータパスは、構成情報により決定されるため、構成情報メモリ11に格納できる構成情報の数のデータパスを構成することができる。構成情報は、構成番号Pnによって読み出されるため、構成番号Pnを制御することによってデータパスの構成を変更することが可能である。
構成情報の作成には、対象となる処理を複数個に分割し、それぞれの処理を別々にアレイにマッピングする。この際、データパス部の演算資源、配線資源は、全て利用してマッピングする。当然、分割した処理同士を同時にデータパス部で実行することはできないが、状態遷移管理部は、サイクルごとにデータパスのマッピングを切り替え、分割した処理を順次実行する。状態遷移管理部にはデータパスの切り替え制御を行う情報を格納しておくようにする。
次に遅延調整回路12について詳述する。図3は、本発明の第1の実施例に係る遅延調整回路の構成を示すブロック図である。図3において、遅延調整回路12は、レジスタファイル21、マルチプレクサ22、23、遅延素子24a、24b、24c、24dを備える。レジスタファイル21は、予めSTA(Static Timing Analysis)によってデータ到達時間に基づいた遅延調整のためのデータ(遅延調整データ)を格納しておく。マルチプレクサ22は、レジスタファイル21に格納されたデータの一つを構成番号Pnに応じて選択してマルチプレクサ23における選択情報としてマルチプレクサ23に与える。マルチプレクサ23は、構成情報Pinおよび構成情報Pinに対して直列接続される遅延素子24a、24b、24c、24dのいずれか一つの出力をレジスタファイル21のデータを元に選択し、構成情報Poutとして配線接続回路13に出力する。すなわち、レジスタファイル21に格納されたデータにより、遅延パスを選択するマルチプレクサ23を制御し、プログラムメモリからの命令発行の遅延時間を調整する。また、レジスタファイル21のアドレスは、回路構成(プロセッサエレメント間接続)に対応しており、回路構成毎に遅延時間を調整する。
以上のように構成される遅延調整回路12は、遅延の選択を細かくとる必要がある場合には、遅延の小さいバッファを多段に連結させ、マルチプレクサ23による選択数を多くすることで、調整する遅延の選択数を多くとることができる。なお、遅延選択を細かくとり過ぎると、遅延バッファ数の増大、マルチプレクサの回路量の増大、また制御するビット数の増大によってレジスタファイルの回路量の増大するので適切な選択数とすることが好ましい。
はじめに状態遷移管理部(図13の101に相当)は、構成番号Pnを発行し、この構成番号Pnが構成情報メモリ11と遅延調整回路12に入力される。遅延調整回路12は、次のクロックタイミングで、指定された構成番号Pnに対応するレジスタファイル21内のデータを読み出し、マルチプレクサ23によって遅延パスを選択する。構成情報メモリ11も、同じクロックタイミングにおいて指定された構成番号Pnに対応する構成情報Pinを出力する。出力された構成情報Pinは、遅延調整回路12に入力され、レジスタファイル21のデータによって選択された遅延回路内の遅延パスを通って、配線接続回路13へ出力される。
図4は、構成番号Pnを1から3まで順番に発行したときの遅延調整回路12における動作波形の例を示すタイミングチャートである。この例では、遅延調整回路12は、図3に示す構成になっている。レジスタファイル21は、例えば4つのアドレスをもち、またマルチプレクサ(Mux)のセレクト信号によって遅延調整をしないパス、およびτ(例えばτ=1ns)、2τ、3τ、4τのそれぞれ遅延調整をする5つのパスの中から1つを選択することができる。
次に、遅延調整回路12を有するアレイ型プロセッサにおいて、グリッチが抑制される例を、図5に示す回路で説明する。この回路は、従来技術のアレイ型プロセッサの動作例として示した図16の回路に対し、レジスタ(遅延調整回路相当)を各プロセッサエレメントに付加した構成をしており、同様に動作させている。また、このときの動作波形を図6に示す。ここで各マルチプレクサへのデータ信号到達時間をそれぞれSTA(Static Timing Analysis)によって求め、構成情報メモリから各マルチプレクサへのセレクト信号到達時間が、データ信号到達時間より遅くなるように、遅延調整回路12のレジスタファイル21を予めプログラムしておくものとする。
図5において、構成A1から構成A2に切り替わる際、PE(1,1)に属するマルチプレクサにおいてグリッチが発生するが、PE(2,1)に属するマルチプレクサにおいてグリッチの伝播を抑制することができる。すなわち、PE(1,1)に属するマルチプレクサでは、PE(1,1)における遅延調整回路により、セレクト信号の切り替えをレジスタからのデータ信号の到達時間より遅らせても、図6に示すように入力ポート1における「1」から「0」への信号変化が出力ポートに反映されてしまう。その後、セレクト信号が切り替わり、信号状態が「1」となった入力ポート3が選択されるために、出力ポートは、「1」→「0」→「1」と遷移し、出力ポートにグリッチが反映されてしまう。しかし、PE(2,1)に属するマルチプレクサでは、遅延調整回路によってセレクト信号の切り替え時間を遅らせて、クロックの立ち上がりタイミングからセレクト信号が切り替わるまでの間、入力ポート0が「0」に固定されている。したがって、出力ポートも「0」のままである。ここでセレクト信号が切り替わったとき、PE(1,1)に属するマルチプレクサの出力ポートからのグリッチが伝播する。しかし、遅延調整回路によって信号の状態が安定してから切り替えるように動作するため、出力ポートへのグリッチの伝播を防ぐことができる。
また、図5に示す例では、STA(Static Timing Analysis)によって求めたマルチプレクサへのデータ信号到達時間よりも、セレクト信号への構成情報の伝播時間を遅延調整回路12によって遅らせている。この場合、データ信号が安定した状態で、セレクト信号を切り替えることができるため、切り替え先の配線からのグリッチの伝播を抑制することができる。ただし、該当のパスがクリティカルパス(最大遅延パス)の場合、クリティカルパスの遅延が悪化する。また、クリティカルパスに準じる遅延をもつパスの場合でも、そのパスの遅延が遅れることによってクリティカルパスとなり、遅延が悪化する可能性がある。このような場合、クリティカルパスまたはそれに準じるパスには、遅延調整回路12の機能を働かせない、もしくはデータ到達時間よりは早いが、なるべく近い遅延時間でセレクト信号を切り替えるように調整することが好ましい。このような調整によって、グリッチの伝播を緩和させ、かつ遅延の悪化を抑制することが可能である。また、遅延調整回路12は、段階的に遅延を選択するため、マルチプレクサへのデータ信号到達時間よりも、遅延調整回路12を遅らせることができないことがある。この場合にも、できるだけデータ信号到達時間に近い遅延時間を選択することで、グリッチの伝播を緩和させるようにすることが好ましい。
上述したように、構成情報、遅延調整データは、構成番号に対応付けられている。したがって、本発明のアレイ型プロセッサは、状態遷移管理部101の発行する構成番号によって、データパス部を対応付けられた構成情報により回路構成の変更(遷移)し、データパス部での命令の実行を行うとともに、遅延調整データで示された遅延調整した回路構成切替セレクト信号によりグリッジを抑えるタイミングで回路構成の変更(遷移)を行うことができる。
また、構成番号、構成情報、遅延調整データの生成については、例えば、アプリケーションプログラムのコンパイル時に、アプリケーションをアレイ型プロセッサの動作サイクルに合わせて複数の処理にわけるとともに、各処理に対応したデータパス部の構成を設定し、その構成と処理にあわせた命令コードを設定して、構成情報を生成すればよい。このときデータパス部の処理の分割や回路構成は、上述のようにアレイ型プロセッサの動作クロックサイクルでの処理が行えるように各回路の遅延を考慮する必要があるため、上述のように設定されたデータパス部の回路構成に応じた遅延解析(STA)を考慮して行われる。遅延調整データは、この遅延解析において作成すればよい。より具体的には、ある回路構成時のデータパス部のデータ処理パスにおいて、レジスタ(順序回路)から回路構成を変えるセレクタまでの遅延時間をSTAにより算出が可能である。ゆえに、こうして算出された遅延時間よりも大きな値を、その回路構成時の遅延調整データとして上記コンパイル時に構成番号に対応付けて作成すればよい。
図7は、本発明の第2の実施例に係るプロセッサエレメントの構成を示すブロック図である。図7において、図1と同一の符号は、同一物を表し、その説明を省略する。図7に示すプロセッサエレメントは、第1の実施例におけるプロセッサエレメントと比較すると、配線接続回路13a内のマルチプレクサ32の入力ポートにラッチ回路31を付加した構成になっており、遅延調整回路12aでラッチ回路31を制御するのが特徴である。
なお、マルチプレクサ32は、図2におけるマルチプレクサ25a、25b、25c、25dに相当する回路であって、図示の簡略化のため一つを図示している。また、マルチプレクサ32は、構成情報メモリ11から直接出力される構成情報Pinによって遅延することなくラッチ回路31の出力を選択する。
図8は、本発明の第2の実施例に係る遅延調整回路の構成を示すブロック図である。図8において、図3と同一の符号は、同一物を表し、その説明を省略する。遅延調整回路12aは、ラッチ制御用のレジスタファイル21aと遅延調整用のレジスタファイル21bの2種類のレジスタ、マルチプレクサ22a、22b、23、遅延素子24a、24b、24cを備える。ここでは、遅延素子が3個である例を示している。
レジスタファイル21aは、構成毎にラッチ回路31を制御するデータを格納し、レジスタファイル21bは、構成毎に遅延を調整するためのデータを格納しておく。状態遷移管理部(図13の101に相当)から構成番号Pnが発行され、次のクロックタイミングで、この構成番号Pnに対応したラッチ回路31を制御するデータがレジスタファイル21aからマルチプレクサ22aによって選択され、マルチプレクサ23および遅延素子24aに発行される。また、この構成番号Pnに対応した遅延調整データがレジスタファイル21bからマルチプレクサ22bによって選択され、マルチプレクサ23に発行される。この遅延調整データによって、マルチプレクサ23、遅延素子24a、24b、24cからなる遅延調整回路は、ラッチ回路31に伝播するまでの遅延を調整し、ラッチ回路31の制御タイミングを遅らせるように動作する。
次に、以上のように構成されるアレイ型プロセッサの動作について実施例1との比較において説明する。
図9は、第1の実施例のアレイ型プロセッサにおいて、前構成の配線接続が切り替わる際にグリッチが伝播する例を示す図である。また図10にはその動作波形を示す。図9において、構成B1から構成B2までの配線接続が1クロック毎に順に切り替わる。また、構成B1から構成B2に切り替わるとき、前段から複数のグリッチが発生されるものとする。このとき、PE(5,1)に属するマルチプレクサにおいて、入力ポート1から入力ポート3へ出力ポートへの接続が切り替わる。ここで前述したように、セレクト信号の切り替えを遅延調整回路で遅らせることで、セレクト信号の切り替え先である入力ポート3からの複数のグリッチの伝播を抑制することができる。しかしながら、セレクト信号の切り替えを遅らせることで、図10のPE(5,1) Mux outに示すように、逆にセレクト信号の切り替え元である入力ポート1から複数のグリッチ信号がそのまま伝播されてしまうことが起こりうる。
図9で示した第1の実施例における動作に対し、第2の実施例で同様な動作をさせたときの動作を図11に示す。図11において、構成C1から構成C2に切り替えるとき、PE(5,1)に属するマルチプレクサにおいて、入力ポート1から入力ポート3へ切り替わる。ここで、図12に示すように、入力ポート1へグリッチが伝播しても、ラッチ回路が直前のラッチを早いタイミングでゲーティング(図12のPE(5,1) Latch1 EN参照)することで、グリッチの伝播を抑制することができる。また、入力ポート3へグリッチが伝播しても、入力ポート3の信号状態が安定するのに近いタイミングでデータをラッチ(図12のPE(5,1) Latch3 EN参照)することで、同じくグリッチの伝播を抑制することができる。したがって、PE(5,1)のマルチプレクサの出力には、グリッチが現れることはない。
このように、第1の実施例では、図9に示した動作例のように構成が切り替わる際に前構成の接続元の配線から発生するグリッチを抑制できなかった。しかし、第2の実施例では、この種のグリッチをラッチ回路でゲーティングすることで抑制することができる。
以上本発明を上記実施例に即して説明したが、本発明は、上記実施例にのみ限定されるものではなく、本願特許請求の範囲の各請求項の発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
本発明の第1の実施例に係るプロセッサエレメントの構成を示すブロック図である。 本発明の第1の実施例に係る配線接続回路の構成を示すブロック図である。 本発明の第1の実施例に係る遅延調整回路の構成を示すブロック図である。 構成番号Pnを順番に発行したときの遅延調整回路における動作波形の例を示すタイミングチャートである。 本発明の第1の実施例に係るアレイ型プロセッサにおける構成の変化を示す第1の図である。 図5における構成の変化に伴う各部のタイミングチャートである。 本発明の第2の実施例に係るプロセッサエレメントの構成を示すブロック図である。 本発明の第2の実施例に係る遅延調整回路の構成を示すブロック図である。 本発明の第1の実施例に係るアレイ型プロセッサにおける構成の変化を示す第2の図である。 図9における構成の変化に伴う各部のタイミングチャートである。 本発明の第2の実施例に係るアレイ型プロセッサにおける構成の変化を示す図である。 図11における構成の変化に伴う各部のタイミングチャートである。 従来のアレイ型プロセッサの構成を示すブロック図である。 従来のアレイ型プロセッサにおける構成の変化を示す第1の図である。 図14における構成の変化に伴う各部のタイミングチャートである。 従来のアレイ型プロセッサにおける構成の変化を示す第2の図である。 図16における構成の変化に伴う各部のタイミングチャートである。
符号の説明
11 構成情報メモリ
12、12a 遅延調整回路
13 配線接続回路
14 レジスタファイルユニット(RFU)
15 演算器(ALU)
21、21a、21b レジスタファイル
22、22a、22b、23、25a、25b、25c、25d、32 マルチプレクサ
24a、24b、24c、24d 遅延素子

Claims (4)

  1. 複数のプロセッサエレメントを備え、プロセッサエレメント間のデータ送受に係るパスの構成をクロックサイクル毎に変更することが可能なアレイ型プロセッサであって、
    前記複数のプロセッサエレメントのそれぞれは、他のプロセッサエレメントとのパスを変更するタイミングを、パスの構成情報に基づいて変更可能となるように構成されることを特徴とするアレイ型プロセッサ。
  2. 前記複数のプロセッサエレメントのそれぞれは、
    演算処理を行う機能ユニットと、
    パスの構成に係る構成情報指示信号を記憶するメモリと、
    クロックサイクル毎に前記メモリから出力される構成情報指示信号に基づいて他のプロセッサエレメントまたは前記機能ユニットとの接続を変更する配線接続回路と、
    クロックサイクル毎に前記配線接続回路における接続変更のタイミングを調整する遅延調整回路と、
    を備えることを特徴とする請求項1記載のアレイ型プロセッサ。
  3. 前記遅延調整回路は、
    クロックサイクル毎に前記メモリから出力される構成情報指示信号を遅延させる、遅延時間のそれぞれ異なる複数の遅延回路と、
    前記複数の遅延回路の内の一つを選択することで、タイミングが調整された構成情報指示信号を前記配線接続回路に出力する第1の選択回路と、
    前記第1の選択回路における前記遅延回路の選択情報を保持する第1のレジスタ群と、
    を備え、
    前記第1の選択回路は、パスの構成を示す構成番号に基づいて前記第1のレジスタ群から出力される選択情報によって、前記複数の遅延回路の内の一つを選択することを特徴とする請求項2記載のアレイ型プロセッサ。
  4. 前記配線接続回路は、
    クロックサイクル毎に前記メモリから出力される構成情報指示信号によって、他のプロセッサエレメントまたは機能ユニットとのパスを選択するパス選択回路と、
    前記パス選択回路によってパスを選択する際に、選択されるパスの信号をラッチ許可信号によって保持しておく複数のラッチ回路と、
    を備え、
    前記遅延調整回路は、
    前記複数のラッチ回路の一つを選択するためのデータを蓄える第1のレジスタ群と、
    クロックサイクル毎に与えられるパスの構成を示す構成番号によって前記第1のレジスタ群内のデータを選択して出力する第1の選択回路と、
    前記第1の選択回路から出力される信号を遅延させる、遅延時間のそれぞれ異なる複数の遅延回路と、
    前記遅延回路における遅延時間を選択するためのデータを蓄える第2のレジスタ群と、
    前記構成番号によって前記第2のレジスタ群内のデータを選択して出力する第2の選択回路と、
    前記第2の選択回路の出力信号によって前記複数の遅延回路の内の一つを選択して、タイミングが調整された前記遅延回路の出力信号を前記ラッチ許可信号として出力する第3の選択回路と、
    を備えることを特徴とする請求項2記載のアレイ型プロセッサ。
JP2007033770A 2007-02-14 2007-02-14 アレイ型プロセッサ Pending JP2008198003A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007033770A JP2008198003A (ja) 2007-02-14 2007-02-14 アレイ型プロセッサ
US12/030,619 US7752420B2 (en) 2007-02-14 2008-02-13 Configuration layout number controlled adjustable delaying of connection path changes among processors in array to reduce transition glitches

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007033770A JP2008198003A (ja) 2007-02-14 2007-02-14 アレイ型プロセッサ

Publications (1)

Publication Number Publication Date
JP2008198003A true JP2008198003A (ja) 2008-08-28

Family

ID=39686866

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007033770A Pending JP2008198003A (ja) 2007-02-14 2007-02-14 アレイ型プロセッサ

Country Status (2)

Country Link
US (1) US7752420B2 (ja)
JP (1) JP2008198003A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386829B2 (en) * 2009-06-17 2013-02-26 Macronix International Co., Ltd. Automatic internal trimming calibration method to compensate process variation
CN105431819A (zh) * 2013-09-06 2016-03-23 华为技术有限公司 异步处理器消除亚稳态的方法和装置
US10387207B2 (en) * 2016-12-06 2019-08-20 International Business Machines Corporation Data processing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181566A (ja) * 1998-12-14 2000-06-30 Mitsubishi Electric Corp マルチクロック並列処理装置
JP2002319856A (ja) * 2001-04-24 2002-10-31 Hitachi Ltd 半導体集積回路装置
JP2003076668A (ja) * 2001-08-31 2003-03-14 Nec Corp アレイ型プロセッサ、データ処理システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719514A (en) * 1995-03-31 1998-02-17 Ando Electric Co., Ltd. Delay circuit compensating for variations in delay time
JP3674515B2 (ja) 2000-02-25 2005-07-20 日本電気株式会社 アレイ型プロセッサ
JP3987783B2 (ja) 2002-10-11 2007-10-10 Necエレクトロニクス株式会社 アレイ型プロセッサ
US7425841B2 (en) * 2004-02-14 2008-09-16 Tabula Inc. Configurable circuits, IC's, and systems
JP4753895B2 (ja) * 2007-02-20 2011-08-24 ルネサスエレクトロニクス株式会社 遅延調整回路を有するアレイ型プロセッサ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181566A (ja) * 1998-12-14 2000-06-30 Mitsubishi Electric Corp マルチクロック並列処理装置
JP2002319856A (ja) * 2001-04-24 2002-10-31 Hitachi Ltd 半導体集積回路装置
JP2003076668A (ja) * 2001-08-31 2003-03-14 Nec Corp アレイ型プロセッサ、データ処理システム

Also Published As

Publication number Publication date
US7752420B2 (en) 2010-07-06
US20080195842A1 (en) 2008-08-14

Similar Documents

Publication Publication Date Title
US7917882B2 (en) Automated digital circuit design tool that reduces or eliminates adverse timing constraints due to an inherent clock signal skew, and applications thereof
US9201996B2 (en) Behavioral synthesis apparatus, behavioral synthesis method, data processing system including behavioral synthesis apparatus, and non-transitory computer readable medium storing behavioral synthesis program
JP4007483B2 (ja) 高位合成装置および高位合成方法
JP2007243912A (ja) 半導体集積回路
JP6517626B2 (ja) 再構成可能な半導体装置
US9319040B2 (en) Distributing multiplexing logic to remove multiplexor latency on the output path for variable clock cycle, delayed signals
JP2007027841A (ja) 半導体集積回路の設計装置と方法並びにプログラム
US9552328B2 (en) Reconfigurable integrated circuit device
JP5890733B2 (ja) 再構成可能な半導体装置の配置配線方法、そのプログラム、及び配置配線装置
TWI790088B (zh) 處理器和計算系統
JP2006099719A (ja) 処理装置
JP4753895B2 (ja) 遅延調整回路を有するアレイ型プロセッサ
WO2022152032A1 (zh) 测试电路、测试方法和包括测试电路的计算系统
JP2008198003A (ja) アレイ型プロセッサ
US8171259B2 (en) Multi-cluster dynamic reconfigurable circuit for context valid processing of data by clearing received data with added context change indicative signal
Takizawa et al. A design support tool set for asynchronous circuits with bundled-data implementation on FPGAs
JP2016122299A (ja) ステートマシン分割プログラム、情報処理装置およびステートマシン分割方法
JP5882714B2 (ja) リコンフィギュラブルプロセッサの制御方法及びリコンフィギュラブルプロセッサのコンフィギュレーション情報を生成する方法及びコンフィギュレーション情報生成ツール
JP2006018411A (ja) プロセッサ
US20160055271A1 (en) Data structure of design data of semiconductor integrated circuit and apparatus and method of designing semiconductor integrated circuit
US8719615B2 (en) Semiconductor device
JP5701930B2 (ja) 半導体装置
JPWO2008114402A1 (ja) ゲーテッドクロック設計方法及び半導体集積回路
JP2001257566A (ja) イネーブル付きラッチ回路
JP2011103017A (ja) マイクロコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110207

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110906