JP4999361B2 - 処理装置 - Google Patents

処理装置 Download PDF

Info

Publication number
JP4999361B2
JP4999361B2 JP2006144025A JP2006144025A JP4999361B2 JP 4999361 B2 JP4999361 B2 JP 4999361B2 JP 2006144025 A JP2006144025 A JP 2006144025A JP 2006144025 A JP2006144025 A JP 2006144025A JP 4999361 B2 JP4999361 B2 JP 4999361B2
Authority
JP
Japan
Prior art keywords
signal
alu
command
selection
signals
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
JP2006144025A
Other languages
English (en)
Other versions
JP2007316824A (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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2006144025A priority Critical patent/JP4999361B2/ja
Publication of JP2007316824A publication Critical patent/JP2007316824A/ja
Application granted granted Critical
Publication of JP4999361B2 publication Critical patent/JP4999361B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、四則演算や論理演算等の複数の機能を実現可能な処理装置に関する。
近年、ハードウェアを固定的に用いるのではなく、与えられたデータに従い、或る程度の動作変更が可能となるように構成されたリコンフィギャラブル回路が注目されている。このようなリコンフィギャラブル回路では、多くのALU(Arithmetic and Logic Unit)を並列動作させる構成をとることが多い。各ALUは、与えられたコマンドに従って演算処理を行う。
この種の回路では、演算処理を行うべき各タイミングにおいて、全てのALUにコマンドを同時に供給する必要がある。例えば、4×6=24個のALUを用いる場合、1つのALUに与えるコマンドが4ビットのデジタル信号で表現されていたとしても、1回のコマンド供給あたり、合計96ビットのコマンドデータが必要となる。
このコマンドデータは、通常、リコンフィギャラブル回路に内蔵されたコマンドRAM(Random Access Memory)に格納され、コマンドデータの増大は、リコンフィギャラブル回路の回路規模増大を招く。このため、この種の回路においては、コマンドのデータ量を如何に減らすかが重要な課題となっている。
コマンドのデータ量を削減することを目的とした手法が下記特許文献1に開示されている。下記特許文献1では、ALUが絶えず稼動している訳ではなく、稼動しない場合は無効コマンド(NOP)がALUに供給される、ということを利用している。具体的には、無効コマンドを除き有効コマンドのみを詰めて記載したデータを形成すると共に、各コマンドの有効/無効を示すインデックスのようなデータを形成する。
特開平7−175648号公報
上記特許文献1に記載されている手法は、コマンドRAMの必要メモリ領域の削減に貢献するものであり、或る局面においては、有効に機能しうる。しかし、無効コマンドの出現頻度はアプリケーションによって大きく異なり、コマンドRAMとしては、最も使用メモリの大きなアプリケーションにあわせたものを準備しておく必要があるため、常に十分なコマンド圧縮効果を得ることができるとは言えない。
また、インデックスを格納するためのメモリが必要であることから、元のコマンドのビット数が少ない場合は、全データに対するインデックスのデータ量の割合が大きくなり、圧縮効果が下がってしまう。また、デコードの際、詰めて記載したデータを伸張する必要があり、伸張回路が大きくなって消費電力が増大してしまう。
そこで本発明は、ALU等の可変機能実現手段に対して供給が必要なデータの量の削減に寄与する処理装置を提供することを目的とする。
発明に係る処理装置は、第1のALUと、複数のALUからの入力信号のうち、選択信号に従って選択した信号を第1のALUに出力する選択部と、第1のALUに対する命令信号を生成する命令生成部と、前記選択部に供給する選択信号を生成する選択信号生成部と、を備え、前記前記選択信号生成部は、前記選択部に対し前記複数のALUのいずれかからの入力信号が存在しない場合、第1のALUに対する命令信号の一部を生成することを特徴とする。
本発明は、ALU等の可変機能実現手段に対して供給が必要なデータの量の削減に寄与する。
以下、本発明の実施の形態につき、図面を参照して具体的に説明する。参照される各図において、同一の部分には同一の符号を付す。図1は、本発明の実施の形態に係る集積回路1の概略構成ブロック図である。
集積回路1は、ALU(Arithmetic and Logic Unit)10、セレクタSELA、SELB及びSELC、ALU11、12及び13、並びに、RAM(Random Access Memory)14、15及び16及び17を有して構成される。
集積回路1は、例えば、論理回路の再構成を可能とする機能を備えたリコンフィギャラブル回路であり、内部に四則演算や論理演算などを行うALUを複数個、備えている。例えば、並列処理を行う数10〜数100個程度のALU(不図示)が集積回路1に組み込まれており、各ALUに対して同時にコマンドが供給される。
図1は、その複数個のALUの内の1つのALU10に着目した部分のみを図示している。セレクタSELA、SELB及びSELCは、ALU10に付随して設けられており、ALU10、セレクタSELA、SELB及びSELCから成る部位と同様或いは類似する部位が、多数、集積回路1に設けられる。
図2は、ALU10の周辺回路の構成ブロック図である。図1の集積回路1には、更に、図2に示す選択信号生成部21、22及び23、主コマンド信号生成部24並びにデコーダ25が設けられている。選択信号生成部22及び23並びに主コマンド信号生成部24は、ALU制御部(制御手段)26を形成する。
セレクタSELAは、ALU11、12及び13の夫々からの出力信号と、RAM14及びRAM15の夫々からの出力信号と、の合計5つの信号を入力信号として受ける。そして、図2の選択信号生成部21にて生成された選択信号INAに基づいて、その5つの入力信号の中から1つの入力信号を選択し、選択した信号をALU10に対して出力する。セレクタSELAは、自身への5つの入力信号の何れをも選択可能に構成されており、それ故に、上記の選択信号INAは、3ビットのデジタル信号から形成される。
セレクタSELBは、ALU11、12及び13の夫々からの出力信号と、RAM16及びRAM17の夫々からの出力信号と、の合計5つの信号を入力信号として受ける。そして、図2の選択信号生成部22にて生成された選択信号INBに基づいて、その5つの入力信号の中から1つの入力信号を選択し、選択した信号をALU10に対して出力する。セレクタSELBは、自身への5つの入力信号の何れをも選択可能に構成されており、それ故に、上記の選択信号INBは、3ビットのデジタル信号から形成される。
セレクタSELCは、ALU11、12及び13の夫々からの合計3つの出力信号を入力信号として受ける。そして、図2の選択信号生成部23にて生成された選択信号INCに基づいて、その3つの入力信号の中から1つの入力信号を選択し、選択した信号をALU10に対して出力する。セレクタSELCは、自身への3つの入力信号の何れをも選択可能に構成されており、それ故に、上記の選択信号INCは、2ビットのデジタル信号から形成される。
ALU10は、セレクタSELA、SELB及びSELCの出力信号を自身への入力信号として受ける。セレクタSELA、SELB及びSELCからALU10に与えられた信号を、夫々、信号A、信号B及び信号Cと呼ぶ。セレクタSELA、SELB及びSELCへの各入力信号はデジタル信号であり、信号A、B及びCもデジタル信号である。従って、信号A、B及びCは、夫々、離散的な値を有する。
ALU10は、複数の機能を実現可能に構成されており、可変機能実現手段として機能する。ALU10は、クロック信号などに同期しつつ次々と必要な処理を実行するが、処理を実行する各タイミングにおいて実際に実行される処理の種類(内容)は、デコーダ25から与えられる機能制御信号にて決定される。
主コマンド信号生成部24は、ALU10にて実現される機能を指定するための主コマンド信号α(命令信号)を出力する。この主コマンド信号αは、2ビットのデジタル信号から形成される。
デコーダ25は、主コマンド信号α、選択信号INB及びINCに基づいて、上記の機能制御信号を生成し、これをALU10に与える。
尚、選択信号INA、INB及びINCは、ALU10への入力信号を特定するためのものであるため、選択信号INA、INB及びINCも、ALU10に対するコマンド信号と解釈することもできる。
図3を参照して、ALU10が実行可能な処理の種類(内容)を例示する。デコーダ25からの機能制御信号は、ALU10に所望の処理を指示するためのコマンドとして機能するものであり、その機能制御信号の種類(即ち、コマンドの種類)は、11種類となっている。
この11種類の機能から所望の機能を択一的に選択するためには、通常、4ビット分の信号が必要となる。しかしながら、本実施形態では、主コマンド信号αが2ビットで表現されている。これを実現するための手法の説明を継続する。
上記の11種類のコマンドは、コマンドCOM0、COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9及びCOM10から構成される。図3において、ALU10のデジタルの出力信号をYにて表す。
コマンドCOM0〜COM2に対応する処理は、1つの入力信号にのみ依存する1入力処理である。コマンドCOM0及びCOM1は、所謂スルーコマンドである。コマンドCOM0に対応する機能制御信号を受けたとき、ALU10は、信号Aをそのまま出力する。コマンドCOM1に対応する機能制御信号を受けたとき、ALU10は、信号Bをそのまま出力する。コマンドCOM2は否定に対応するコマンドである。コマンドCOM2に対応する機能制御信号を受けたとき、ALU10は、信号Aの否定(信号Aを反転させた値)を出力する。
コマンドCOM3〜COM8に対応する処理は、2つの入力信号にのみ依存する2入力処理である。コマンドCOM3〜COM8に対応する機能制御信号を受けたとき、ALU10は、信号AとBを用いた演算の演算結果を出力する。
具体的には、コマンドCOM3、COM4に対応する機能制御信号を受けたとき、ALU10は、夫々、信号Aと信号Bの和(A+B)、信号Aと信号Bの差(A−B)を出力する。コマンドCOM5、COM6に対応する機能制御信号を受けたとき、ALU10は、夫々、信号Aと信号Bの論理積、信号Aと信号Bの論理和を出力する。コマンドCOM7に対応する機能制御信号を受けたとき、ALU10は、信号Aの値と信号Bの値を比較し、信号Bの値の方が大きい場合に「1」を出力し、そうでない場合に「0」を出力する。コマンドCOM8に対応する機能制御信号を受けたとき、ALU10は、信号Aの値と信号Bの値を比較し、信号Aの値の方が大きい場合に「1」を出力し、そうでない場合に「0」を出力する。
コマンドCOM9及びCOM10に対応する処理は、3つの入力信号の全てに依存する3入力処理である。具体的には、コマンドCOM9に対応する機能制御信号を受けたとき、ALU10は、信号Cの値を参照し、信号Cの値が「1」ならば信号Aを出力する一方、信号Cの値が「0」ならば信号Bを出力する。コマンドCOM10に対応する機能制御信号を受けたとき、ALU10は、信号Cの値を参照し、信号Cの値が「1」ならば信号Bを出力する一方、信号Cの値が「0」ならば信号Aを出力する。
このように、ALU10の処理には、1つの入力信号にのみ依存する1入力処理、2つの入力信号にのみ依存する2入力処理、3つの入力信号の全てに依存する3入力処理がある。ところで、1入力処理を実行する場合には、残りの2入力に対する選択信号(コマンド)は不要であり、2入力処理を実行する場合には、残りの1入力に対する選択信号(コマンド)は不要である。
本実施形態は、ここに着目して、不要となる選択信号(コマンド)を、上記の11種類の機能の選択のために用いる。
図3に示す表の右欄に、信号の具体的な割り当て方を示す。また、図4に、デコーダ25の内部ブロック図を示す。
主コマンド信号αを形成する2ビットのデジタル値を、α=(i,j)にて表現する。選択信号INCを形成する2ビットのデジタル値を、INC=(i,j)にて表現する。選択信号INBを形成する3ビットのデジタル値を、INB=(i,j,k)にて表現する。ここで、i、j及びkは、それぞれ独立に1又は0の値をとる。尚、図3等において“,”の表記は省略している。
コマンドCOM0及びCOM2に対応する処理は、信号Aにのみ依存する1入力処理であるので、これらを実行させる際、ALU制御部26は、主コマンド信号αに加えて選択信号INC及びINBを、ALU10の機能の選択用信号として使用する。
ALU制御部26から、“α=(1,1)、INC=(1,1)且つINB=(0,X,X)の信号”を受けたとき、“α=(1,1)、INC=(1,1)且つINB=(1,X,X)の信号”を受けたとき、デコーダ25は、夫々、コマンドCOM0、COM2を表す機能制御信号をALU10に供給する。ここで、選択信号INBの内容を表す表記における“X”は、そのデジタル値が任意である(即ち、1と0のどちらでも良い)ことを表す。
コマンドCOM1に対応する処理は、1入力処理ではあるが信号Bに依存する。このため、コマンドCOM1に対応する処理を実行させる際、ALU制御部26は、主コマンド信号αと選択信号INCをALU10の機能の選択用信号として使用し、選択信号INBを該選択用信号としては使用しない。
また、COM3〜8に対応する処理は、信号A及び信号Bにのみ依存する2入力処理であるので、これらを実行する際、ALU制御部26は、主コマンド信号αに加えて選択信号INCを、ALU10の機能の選択用信号として使用する。
具体体には、ALU制御部26から、
“α=(1,1)且つINC=(1,0)の信号”を受けたとき、
“α=(0,1)且つINC=(0,0)の信号”を受けたとき、
“α=(0,1)且つINC=(0,1)の信号”を受けたとき、
“α=(0,1)且つINC=(1,0)の信号”を受けたとき、
“α=(0,1)且つINC=(1,1)の信号”を受けたとき、
“α=(1,1)且つINC=(0,0)の信号”を受けたとき、
“α=(1,1)且つINC=(0,1)の信号”を受けたとき、
デコーダ25は、夫々、コマンドCOM1、COM3、COM4、COM5、COM6、COM7、COM8を表す機能制御信号をALU10に供給する。
コマンドCOM9及び10に対応する処理は、3つの入力信号の全てに依存する3入力処理であるので、ALU制御部26は、主コマンド信号αのみを、ALU10の機能の選択用信号として使用する。
ALU制御部26から、“α=(0,0)の信号”を受けたとき、“α=(1,0)の信号”を受けたとき、デコーダ25は、夫々、コマンドCOM9、COM10を表す機能制御信号をALU10に供給する。
ALU10に指定されるべきコマンドを表すデータは、集積回路1に内蔵されたコマンドRAM(不図示)に格納されることになるが、上記のように構成することにより、通常は4ビット必要になるコマンド信号(本実施形態においては、主コマンド信号α)が2ビットに削減される。この結果、コマンドを格納するために必要なメモリ領域が縮小され、集積回路のチップ面積の小型化及び低消費電力化が図られる。例えば、集積回路1内にALU10と同様のALUが全部で24個存在するなら、1回分のコマンド供給に対応して48ビットのメモリ領域が削減され、一連の処理の全体で考えれば、膨大なメモリ領域が削減されることになる。
図5に、図3の表に示すような信号の割り当ての手順を示す。まず、ステップS1において、3入力処理に対応するコマンドCOM9及び10に対して、主コマンド信号αを割り当てる。次に、2入力処理に対応するコマンドCOM3〜COM8に対して、ステップS1で用いていない主コマンド信号αと、選択信号INCと、を割り当てる(ステップS2)。そして、最後に、1入力処理に対応するコマンドCOM0〜COM2に対して、ステップS1とS2で用いていない“主コマンド信号αと選択信号INCの組み合わせ”を割り当てると共に、コマンドCOM0及びCOM2に対しては、更に、選択信号INBを割り当てる(ステップS3)。
<<変形等>>
上述した集積回路1の機能は、ハードウェアによって、ソフトウェアによって、或いは、それらの組み合わせによって、実現することが可能である。
尚、上述の実施形態において、可変機能実現装置は、可変機能実現手段としてのALU10と、機能選択手段(機能指定手段)としてのデコーダ25と、を含んで構成される。デコーダ25とALU制御部26とで機能選択手段(機能指定手段)が形成される、と考えることもできる。
本発明の実施の形態に係る集積回路の概略構成ブロック図である。 図1のALUの周辺回路の構成ブロック図である。 図2のALUが実行可能な複数の処理と、各処理に対応する信号と、を表す表である。 図2のデコーダの内部ブロック図である。 図3の表に示すような信号の割り当て方の手順を示すフローチャートである。
符号の説明
1 集積回路
10 ALU
21、22、23 選択信号生成部
24 主コマンド信号生成部
25 デコーダ
26 ALU制御部
SELA、SELB、SELC セレクタ

Claims (1)

  1. 複数の入力信号を入力し演算を行う第1のALUと、
    前記第1のALUの前段に配置され、前記第1のALUに対してデータを出力する複数のALUと
    前記第1のALUの入力ごとに備わり、前記複数のALUからのデータを、選択信号に従って選択して前記第1のALUのそれぞれの入力信号として出力する複数の選択部と、
    第1のALUに対する命令信号を生成する命令生成部と、
    前記複数の選択部のそれぞれに対応して備わり、各選択部に供給する選択信号を生成する複数の選択信号生成部と、を備え、
    前記複数の選択信号生成部のうち少なくとも1つは、対応する前記選択部に対して前記複数のALUのいずれからの入力信号存在しない場合、第1のALUに対する命令信号の一部を生成する
    ことを特徴とする処理装置。
JP2006144025A 2006-05-24 2006-05-24 処理装置 Expired - Fee Related JP4999361B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006144025A JP4999361B2 (ja) 2006-05-24 2006-05-24 処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006144025A JP4999361B2 (ja) 2006-05-24 2006-05-24 処理装置

Publications (2)

Publication Number Publication Date
JP2007316824A JP2007316824A (ja) 2007-12-06
JP4999361B2 true JP4999361B2 (ja) 2012-08-15

Family

ID=38850641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006144025A Expired - Fee Related JP4999361B2 (ja) 2006-05-24 2006-05-24 処理装置

Country Status (1)

Country Link
JP (1) JP4999361B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2915131B2 (ja) * 1990-11-09 1999-07-05 株式会社日立製作所 データ処理装置
JP3781519B2 (ja) * 1997-08-20 2006-05-31 富士通株式会社 プロセッサの命令制御機構
JP2000112754A (ja) * 1998-10-06 2000-04-21 Mitsubishi Electric Corp データ処理装置
JP2004220377A (ja) * 2003-01-15 2004-08-05 Sanyo Electric Co Ltd リコンフィギュラブル回路とそれを利用可能な集積回路装置およびデータ変換装置

Also Published As

Publication number Publication date
JP2007316824A (ja) 2007-12-06

Similar Documents

Publication Publication Date Title
US6098087A (en) Method and apparatus for performing shift operations on packed data
US20030061601A1 (en) Data processing apparatus and method, computer program, information storage medium, parallel operation apparatus, and data processing system
US5964861A (en) Method for writing a program to control processors using any instructions selected from original instructions and defining the instructions used as a new instruction set
JP2009157629A (ja) 半導体集積回路装置および半導体集積回路装置のクロック制御方法
JP4999361B2 (ja) 処理装置
JPH05291891A (ja) 一次乱数パルス列発生回路装置
JP2002229970A (ja) Simd積和演算方法、積和演算回路、および、半導体集積回路装置
JPH1091430A (ja) 命令解読装置
US7278087B2 (en) Hardware circuit for the puncturing and repetitive coding of data streams, and a method for operating the said hardware circuit
US7017033B2 (en) Arithmetic apparatus and arithmetic method
JP2003228418A (ja) 産業用ロボットの制御装置およびその装置における表示方法
JP2004302827A (ja) マイクロコントローラ
JP3987805B2 (ja) アレイ型プロセッサ
JP3702475B2 (ja) 回路自動生成装置
US20070180016A1 (en) Method of operand width reduction to enable usage of narrower saturation adder
KR100257502B1 (ko) 클럭없이동작하는쉬프트연산장치
JP2003337694A (ja) シフト回路
JP4258350B2 (ja) 演算処理装置
KR0126106B1 (ko) 퍼지연산장치
JPH1091216A (ja) プログラマブル半導体デバイス
JP2009181509A (ja) 演算処理回路
JP2007166254A (ja) プログラマブル論理回路装置
JPH11119976A (ja) データ分割並列シフタ
JPH0573297A (ja) マイクロコンピユータ
JPH04342067A (ja) ベクトル演算装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120224

TRDD Decision of grant or rejection written
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120411

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120417

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120515

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees