JP5025509B2 - 演算処理回路 - Google Patents

演算処理回路 Download PDF

Info

Publication number
JP5025509B2
JP5025509B2 JP2008021889A JP2008021889A JP5025509B2 JP 5025509 B2 JP5025509 B2 JP 5025509B2 JP 2008021889 A JP2008021889 A JP 2008021889A JP 2008021889 A JP2008021889 A JP 2008021889A JP 5025509 B2 JP5025509 B2 JP 5025509B2
Authority
JP
Japan
Prior art keywords
logic circuit
circuit unit
output
arithmetic processing
arithmetic
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
JP2008021889A
Other languages
English (en)
Other versions
JP2009181487A (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 JP2008021889A priority Critical patent/JP5025509B2/ja
Publication of JP2009181487A publication Critical patent/JP2009181487A/ja
Application granted granted Critical
Publication of JP5025509B2 publication Critical patent/JP5025509B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

この発明は、演算処理回路に関する。特に多倍長演算が可能な演算処理回路であり、ある論理回路から他の論理回路へのキャリー出力を有するものに関する。
近年、アプリケーションに応じてハードウェアの動作を変更可能なリコンフィギュラブルプロセッサの開発が進められている。リコンフィギュラブルプロセッサを実現するためのアーキテクチャとしては、DSP(Digital Signal Processor)や、FPGA(Field Programmable Gate Array)を用いる方法が存在する。
FPGA(Field Programmable Gate Array)はLSI製造後に回路データを書き込んで比較的自由に回路構成を設計することが可能であり、専用ハードウェアの設計に利用されている。FPGAは、論理回路の真理値表を格納するためのルックアップテーブル(LUT)と出力用のフリップフロップからなる基本セルと、その基本セル間を結ぶプログラマブルな配線リソースとを含む。FPGAでは、LUTに格納するデータと配線データを書き込むことで目的とする論理演算を実現できる。しかし、FPGAでLSIを設計した場合、ASIC(Application Specific IC)による設計と比べると、実装面積が非常に大きくなり、コスト高になる。そこで、LSI内の演算回路の構成を動的に再構成することで、回路構成の再利用を図る方法が提案されている(例えば、特許文献1参照)。
また、近年、ALU(Arithmetic Logic Unit)と呼ばれる基本的な演算機能(演算機能とは、たとえば、加算や減算の機能である)を有する論理回路を段方向及び列方向にマトリック配置したALUアレイを用いたリコンフィギュラブル回路が提案されている(例えば、特許文献2、非特許文献1)。このリコンフィギュラブル回路では、ALUの機能を制御する命令セット及びALU間の接続先を制御する接続データセットからなる構成情報が各ALUに設定されることにより、所望の演算処理回路として機能する。
ALUアレイによるリコンフィギュラブル回路では、FPGAによるリコンフィギュラブル回路よりも実装サイズを小型化できる上、回路の再構成が高速に実行できるという利点がある。このため、各種の規格に対応した処理回路を1つのLSIで実現できること、および新しい規格にもソフトウエアのアップデートにより即座に対応可能という利点がある。
図9は、特許文献2で開示されたリコンフィギュラブル回路400の構成を示す図である。a11、a12、…、a16、a21、…、a26、a31、…、a36はALUである。各ALUは、設定データに従って演算機能が設定される。例えば、設定データに従って、あるときは加算器、あるときは減算器、論理和演算器、論理積演算器、ビットシフト演算器などとして機能する。
また、リコンフィギュラブル回路400は、ALUによる論理回路の集合体を複数備えた構造を有する。即ち、a11、…、a16による1段目の論理回路は集合体g1を成し、a21、…、a26による2段目の論理回路は集合体g2を成し、a31、…、a36による3段目の論理回路は集合体g3を成す。
また、ALUによる演算の出力は、同列に配置された次段のALUと、その左右の列に配置されたALUに制限されるように構成されている。例えば、a22に関して言えば、その演算出力は、a31、a32、a33のみに接続される。このように、リコンフィギュラブル回路400では、ALUによる演算出力の接続を、次段の同列のALUとその左右の列のALUに制限する(いわゆる接続制限のある回路構成とする)ことにより、回路規模の小型化を図っている。
図10に、リコンフィギュラブル回路400による演算の実行例を示す。これは、第1段に配置されたALUa13とALUa14からの出力(それぞれA、Bとする)を第2段に配置されたALUa23で加算(A+Bの演算を実行)して第3段に配置されたALUa33へ出力すると共に、ALUa13とALUa14からの出力を第2段に配置されたALUa24で減算(A−Bの演算を実行)して第3段に配置されたALUa34へ出力するものである。
特開平10−256383号公報 特開2005−182654号公報 : 「情報家電向け小型リコンフィギュラブルデバイス」、三洋電機技報 VOL.37, No.2, MARCH 2006 通巻第77号
上記のリコンフィギュラブル回路により処理回路を実現する場合、処理内容によっては、リコンフィギュラブル回路のALUが可能な演算ビット数を超える、多ビットの演算が必要になる場合がある。即ち、リコンフィギュラブル回路を用いた多倍長演算の実現が求められている。
多倍長演算とは、一般的には、例えば演算ビット幅が16ビットのALUを用いて、32ビットの演算(倍長演算)や48ビットの演算(3倍長演算)などを行うことをいう。加算演算における倍長演算は、ALUで行った加算のキャリーを、上位のALUに渡すことで実行できる。
多倍長演算を行うためには、特許文献2のリコンフィギュラブル回路400を、図11で示すリコンフィギュラブル回路300のように変更することが、まず考えられる。このリコンフィギュラブル回路300は、各ALUがキャリー出力cを有し、このキャリー出力は、左隣の列に位置するALUへ接続される。
図12を参照して、図11のリコンフィギュラブル回路300により倍長加算を行う例を示す。ここでは、ALUの演算ビット幅を16ビットとし、32ビット変数であるAとBの加算を行い、加算結果C(32ビット変数)を得る例を説明する。まず、ALUa14からの出力がAの下位16ビットデータであるAL、ALUa15からの出力がBの下位16ビットデータであるBL、ALUa12からの出力がAの上位16ビットデータであるAH、ALUa13からの出力がBの上位16ビットデータであるBHであるとする。下位データの計算は、加算機能が割り当てられたALUa24により行われ、演算結果であるAL+BLは、Cの下位16ビットであるCLとしてALUa34へ出力される。また、キャリーはALUa23へ出力される。一方、上位データの計算は、加算機能が割り当てられたALUa23により行われ、演算結果であるAH+BH+キャリーは、Cの上位16ビットであるCHとして、ALUa33へ出力される。このようにすれば倍長演算が可能となる。
しかしながら、図11のリコンフィギュラブル回路300では、演算の内容によっては倍長演算が実行できない場合がある。リコンフィギュラブル回路300のような接続制限のあるリコンフィギュラブル回路では、ALUからの演算出力先が制限されているため、もともとALUの割り当てには制約がある。これに加え、倍長演算を実行しようとすると、キャリー出力についても考慮する必要があり、特にリコンフィギュラブル回路300のようにキャリー出力が隣の列のALUに接続されるような場合、ALUの割り当てに更なる制約が生じるからである。以下に具体例を説明する。
図13を参照して、A+B、A−Bの加減算の同時処理を、リコンフィギュラブル回路300により倍長演算で行う場合を説明する。リコンフィギュラブル回路300で倍長演算を行うには、上位データの加算を行うALUと、下位データの加算を行うALUが隣り合うように配置する必要がある。同様に、上位データの減算を行うALUと、下位データの減算を行うALUも隣り合うように配置する必要がある。例えば、Aの上位データAH、下位データALをそれぞれALUa12、a13に設定し、Bの上位データBH、下位データBLをそれぞれALUa14、a15に設定し、上位加算、下位加算をそれぞれALUa22、a23で実行させ、上位減算、下位減算をそれぞれALUa24、ALUa25で実行させるものとする。この場合、下位加算を行うためにALとBLをALUa23へ入力させる必要があるが、BLは2列右の上段にあるALUa15に設定されているので、リコンフィギュラブル回路300では、a23による加算を行うことができない。
上記の課題に鑑み、本発明はリコンフィギュラブルプロセッサ等の演算処理回路において多倍長演算を効率的に行うことができる演算処理回路を提供することを目的とする。
本発明のある態様は、段方向と列方向にマトリクス状に構成された複数の論理回路部を備え、所定の論理回路部からの演算出力が、次段に配置された論理回路部のうち一部の論理回路部に制限されて接続されるよう構成された演算処理回路であって、前記所定の論理回路部がキャリー出力を備え、該キャリー出力が、該所定の論理回路部から2列以上離れた列に位置する論理回路部に接続するよう構成されることを特徴とする。
係る演算処理回路では、例えば論理回路部からの演算出力先が近接列に配置された論理回路部のみに制限されているような場合、キャリー出力を遠隔列の論理回路部へ接続するので、多倍長演算実行時におけるALU割り当ての制約を緩和できるので、多倍長演算を効率的に行うことができる。
上記演算処理回路においては、前記論理回路部からの演算出力を保持する状態保持部を更に備え、論理回路部からの演算出力は、前記状態保持部を介して次段の論理回路部へ入力され、前記所定の論理回路部からのキャリー出力が、該所定の論理回路部の次段に位置する論理回路部に接続するよう構成されるものでも良い。
この態様の演算処理回路において、前記所定の論理回路部からの演算出力が、次段に配置された論理回路部のうち前記所定の論理回路部からp列(但し、pは自然数)以内に配置された論理回路部に制限されて接続されるよう構成され、前記キャリー出力が、該所定の論理回路部から(p+1)列以上離れた列に位置する論理回路部に接続するよう構成されるようにしても良い。
本発明の他の態様は、段方向に構成された複数の論理回路部を備え、所定の論理回路部からの演算出力が、前記複数の論理回路のうち、一部の論理回路部に制限されて接続されるよう構成された演算処理回路であって、前記所定の論理回路部がキャリー出力を備え、該キャリー出力が、該所定の論理回路部から2列以上離れた列に位置する論理回路部に接続するよう構成されることを特徴とする。
係る演算処理回路では、多倍長演算の効率化に加え、回路規模の小型化が図れる。
この態様の演算処理回路においては、前記所定の論理回路部からの演算出力が、前記所定の論理回路部からp列(但し、pは自然数)以内に配置された論理回路部に制限されて接続されるよう構成され、前記キャリー出力が、該所定の論理回路部から(p+1)列以上離れた論理回路部に接続するよう構成されても良い。
また、上記の各態様の演算処理回路において、論理回路部は、該論理回路の外部から供給される設定データに従って演算機能の変更が可能であっても良い。ここで、演算機能とは、例えば、加算演算や減算演算などをいう。
また、上記各態様の演算処理回路において、同一段に、n×k個(但し、n、kは、2以上の整数)の論理回路部が配置され、前記所定の論理回路部がキャリー出力を備え、該キャリー出力が、該所定の論理回路部からk列離れた列に位置する論理回路部に接続するよう構成されるようにしても良い。
この発明によれば、いわゆる接続制限のある演算処理回路において多倍長演算を効率的に行うことができる。
図1は、実施の形態に係る処理装置10の構成、並びに設定データ生成装置30の構成を示す図である。
<処理装置10の構成>
処理装置10は、1チップとして構成される集積回路からなり、リコンフィギュラブル回路12、設定部14、制御部18を備える。
リコンフィギュラブル回路12は、機能の変更が可能なALUによる論理回路を複数備えた構造を有する。このようなリコンフィギュラブル回路12は、後述する設定部14から供給される設定データに従って動作する演算回路として機能する。即ちリコンフィギュラブル回路12は、外部からの入力データに対して、前記設定データに従った演算を行い、演算結果を出力する。このリコンフィギュラブル回路12の構成については後で詳しく説明する。なお、リコンフィギュラブル回路12は、本願発明の演算処理回路の一例に相当するものである。
設定部14は、リコンフィギュラブル回路12に所望の演算回路を構成するための設定データを供給する。設定部14から設定データを供給することにより、リコンフィギュラブル回路12は所望の演算回路として構成される。この設定データは後述する設定データ生成装置30で生成される。
制御部18は、処理装置10の各部、即ち、リコンフィギュラブル回路12、設定部14を制御する。
<設定データ生成装置30の構成>
設定データ生成装置30は、リコンフィギュラブル回路12で実現されるべき処理の動作を設定したプログラムを解析し、リコンフィギュラブル回路12にマッピングするための設定データを生成する。この設定データは、リコンフィギュラブル回路12における論理回路の機能や論理回路間の接続関係を定める。設定データ生成装置30により生成された設定データは、設定部14を介してリコンフィギュラブル回路12へ供給される。
<リコンフィギュラブル回路12の構成 (その1)>
図2は、リコンフィギュラブル回路12の模式図である。リコンフィギュラブル回路12は、段方向と列方向にマトリクス状に配置された複数のALU(a11、a12、…、a16、a21、…、a26、a31、…、a36)を備える。本実施形態は、請求項の発明でいうところのp=1の場合の一例である。
各ALUは、設定データに従って演算機能が設定される。例えば、設定データに従って、あるときは加算器、あるときは減算器、論理和演算器、論理積演算器、ビットシフト演算器、…、などとして機能する。また、a11、…、a16による1段目の論理回路は集合体g1を成し、a21、…、a26による2段目の論理回路は集合体g2を成し、a31、…、a36による3段目の論理回路は集合体g3を成すように構成されている。
また、ALUによる演算の出力は、同列に配置された次段のALUと、その左右の列に配置されたALUに制限されるように構成されている。即ち、ALUによる演算の出力が、該ALUから1列以内に配置された他のALUに制限されて接続されるよう構成される。例えば、a22に関して言えば、その演算出力は、a31、a32、a33のみに接続される。
また、一部のALUはキャリー出力を備えている(ここでは、a25、a26)。これらのALUからのキャリー出力は、該ALUから3列離れた列に位置する他のALUに接続するよう構成される。例えば、ALUa25からのキャリー出力がALUa22に接続され、ALUa26からのキャリー出力がALUa23に接続されている。リコンフィギュラブル回路12では、キャリー出力が離れている列数が3であるので、この列数3が請求項の発明でいうところの(p+1)以上、すなわち2以上の条件を満足している。
図3を参照して、図2のリコンフィギュラブル回路12による倍長加減算(A+B、及びA−B)を同時処理する例を説明する。ここでは、リコンフィギュラブル回路12の各ALUの演算ビット幅は16ビットであり、A、Bはそれぞれ32ビット変数であるものとする。まず、ALUa15からの出力データがAの下位16ビットデータであるAL、ALUa16からの出力データがBの下位16ビットデータであるBL、ALUa12からの出力データがAの上位16ビットデータであるAH、ALUa13からの出力データがBの上位16ビットデータであるBHとする。
下位の加算は、加算機能が割り当てられたALUa25により行われ、加算結果であるCLはALUa35へ出力される。また、ALUa25での加算で発生したキャリーはALUa22へ出力される。一方、上位の加算は、加算機能が割り当てられたALUa22により行われ、加算結果であるCHはALUa32へ出力される。
一方、下位減算は、減算機能が割り当てられたALUa26により行われ、減算結果であるDLはALUa36へ出力される。また、ALUa26での減算で発生したキャリーはALUa23へ出力される。一方、上位減算は、減算機能が割り当てられたALUa23により行われ、減算結果であるDHは、ALUa33へ出力される。
リコンフィギュラブル回路12では、キャリー出力を3列離れた列に位置するALUに接続しているため、上位データの演算を行うALUと下位データの演算を行うALUを離して配置することができるので接続制限と干渉しない。したがって、上位の演算を行うALU、下位の演算を行うALUのそれぞれの配置を、単精度演算の場合と同じALUの配置により実行することができるので、多倍長演算を効率的に行うことができる。即ち、回路の利用効率、及び演算の実行速度を低下させることなく、倍長演算を行うことができる。
なお、図2では、一部のALUのみがキャリー出力を有するように記載しているが、全てのALUがキャリー出力を有していても良い。逆に、例えば、加減算は偶数段のALUで実行するというようなルールを予め設定しておくことにより、一部のALUにのみキャリー出力を設ける構成にすることもできる。これにより、キャリー出力の配線を必要最小限に抑えることができ、リコンフィギュラブル回路の小型化、低消費電力化が図れる。
<リコンフィギュラブル回路の構成例(その2)>
図4は、リコンフィギュラブル回路12Bの構成を示すものである。
このリコンフィギュラブル回路12Bでは、各論理回路(L11、…、L64)には、ALUの他、各ALUからの演算出力を受けるD型フリップフロップ(以下、「DFF」と記す)を備える。本実施形態も、請求項の発明でいうところのp=1の場合の一例である。
DFFに格納された各ALUからの出力データは、クロックに同期して次段のALUへ出力される。これにより、パイプライン処理が可能となり、各段のALUで別々の演算を同時に実行することができる。
また、一部のALUはキャリー出力を備えている(例えば、a42、a52、a62)。これらのALUからのキャリー出力は、キャリー用DFF(d1、d2又はd3)を介して、次段の3列離れた列に位置するALUへ接続される。リコンフィギュラブル回路12Bでは、キャリー出力が離れている列数が3であるので、請求項の発明でいうところの(p+1)以上、すなわち2以上の条件を満足している。
図5を参照して、リコンフィギュラブル回路12Bによる、倍長加算(A+B)及び倍長減算(A−B)を同時に処理する例を説明する。
まず、第1のタイミングでは、第1段の論理回路L51、L61のALUa51、a61から、ALとBLがそれぞれ出力される。また、論理回路L51、L61のDFFd51、d52にもALとBLがそれぞれ格納される。
次に、第2のタイミングでは、d51、d61に格納されたデータが第2段の論理回路L52、L62のALUa52、a62の両方へ出力される。そして、a52ではALとBLの加算が行われる。その加算結果であるCLは、論理回路L52のDFFd52に保存されると共に、加算によるキャリーは、キャリー用DFF(d2)に保存される。一方、a62ではALとBLの減算が行われる。その減算結果であるDLは、論理回路L62のDFFd62に保存されると共に、減算によるキャリーは、キャリー用DFF(d3)に保存される。また、この第2のタイミングでは、第1段の論理回路L22、L32のALUa22、a32から、AHとBHがそれぞれ出力される。また、論理回路L22、L32のDFFd22、d32にもAHとBHがそれぞれ格納される。
第3のタイミングでは、DFFd22、d32、d42、d52、並びにキャリー用DFFd2、d3に格納されたデータが第3段の論理回路へ出力される。論理回路L23のALUa23には、L22からのAH、L32からのBH、d2からのキャリーが入力され、a23ではこれらの加算演算が行われる。加算結果であるCHは、DFFd23に保存される。論理回路L33のALUa33には、L22からのAH、L32からのBH、d3からのキャリーが入力され、a33ではこれらの減算演算が行われる。減算結果であるDHは、DFFd33に保存される。
また、第3のタイミングでは、論理回路L53のALUa53にはL52からのCLが、論理回路L63のALUa63にはL62からのDHが入力される。
第4のタイミングでは、d23、d33に格納されたデータが第4段の論理回路へ出力される。そして、論理回路L24のALUa24にはL23からのCHが入力され、論理回路L34のALUa34にはL33からのDHが入力される。
上記のようにして、リコンフィギュラブル回路12Bにより、倍長の加減算(A+B)、(A−B)を同時処理ができる。
また、リコンフィギュラブル回路12Bでは、演算のパイプライン処理を行うことができる。例えば、第2のタイミングで、第1段の論理回路L51、L61にあるALUa51、a61に前記のAL及びBLとは異なる値をそれぞれ設定し、第3のタイミングで、第2段の論理回路L22、L32にあるALUa22、a32に、前記のAHとBHとは異なる変数を設定することにより、前述の加減算(A+B)、(A−B)と異なる演算を実行させることができる。
また、リコンフィギュラブル回路12Bによれば、このようなパイプライン処理を行う場合における演算速度を向上させることもできる。例えば、キャリー出力を同段の3列離れた列に位置するALUに接続すると、上位加算を行うALUは下位加算を行うALUからのキャリー入力を待つ必要がある。この待ち時間を考慮して1クロックの周期を設定すると、1クロックの周期が長くなり、演算が遅くなる。これに対し、リコンフィギュラブル回路12Bでは、上位演算を行う論理回路を、下位演算を行う論理回路の下段に配置し、上位演算と下位演算を異なるタイミングで実行しているので、キャリー入力の待ち時間を考慮する必要が無く、クロック周期を短縮できる。これにより、演算速度を向上させることができる。
<リコンフィギュラブル回路12の構成例(その3)>
上記例のリコンフィギュラブル回路では、ALUからのキャリー出力を3列離れた列に位置するALUへ接続配線しているが、これに限られるものではない。
例えば、横方向(同一段)にn×k個のALUが並んでいるリコンフィギュラブル回路でn倍長の演算を処理する場合、k個毎にALUを分けて、左右の一方から下位からの演算を割り当てていくことが考えられる。この場合、キャリーはk列離れた列に位置するALUに接続するようにすれば良い。
図6は、横方向に6個のALUが並んだリコンフィギュラブル回路12Cを用いて3倍長の演算を行う例を示したものである。このリコンフィギュラブル回路12Cは、ALUによる演算出力が、同列に配置された次段のALUと、その左右の列に配置されたALUに制限されるように構成されている。ALUを2個毎に分け、下位、中位、上位の演算という様に演算器を割り当てる。この場合、キャリーの接続は、下位と中位、中位と上位との接続となり、2列離れた列に位置するALUにキャリーを接続する。
このようにすることで、k個毎のALUのそれぞれでは、接続制限が同位の演算にのみ影響されるので、倍長演算による接続制限の影響を受けることがなく、効率的になる。なお、本構成例のリコンフィギュラブル回路12Cも、請求項の発明でいうところのp=1の場合の一例である。また、このリコンフィギュラブル回路12Cでは、キャリー出力が離れている列数が2であり、請求項の発明でいうところの(p+1)以上、すなわち2以上の条件を満足している。
<リコンフィギュラブル回路の構成例(その4)>
図7は、1段構成でループバックさせるリコンフィギュラブル回路12Dの構成を示す図である。各論理回路からの出力は、同じ論理回路の入力、及びその左右の列にある論理回路の入力へ接続される。本実施形態も、請求項の発明でいうところのp=1の場合の一例である。
また、各論理回路のALUは、設定データに従って演算機能を変更させることが可能である。タイミングごとに演算の種類を切り替る制御を行うことにより、例えば図4で示した演算と同様の演算を行うことができる。
このようなリコンフィギュラブル回路を用いた倍長の加算(A+B)、減算(A−B)の実行例を以下に説明する。
まず、第1のタイミングでは、ALUa5からAの下位データであるALが、ALUa6からBの下位データであるBLが設定される。また、ALUa5の演算出力を受けるDFF5にはALが、ALUa6の演算出力を受けるDFF6にはBLが保持される。
次の、第2のタイミングでは、ALUa5に加算機能が、ALUa6に減算機能が設定される。また、DFF5、DFF6にそれぞれ記憶されたAL、BLはa5、a6の両方へ出力される。そして、ALUa5では、DFF5から出力されたALとDFF6から出力されたBLによる加算演算、即ち下位データの加算が行われる。一方、ALUa6では、DFF5から出力されたALとDFF6から出力されたBLによる減算演算、即ち下位データの減算が行われる。ALUa5での加算結果であるCLはDFF5に格納され、ALUa6での減算結果であるDLはDFF6に格納される。また、ALUa5、a6での加算、減算により発生したキャリーは、それぞれキャリー用DFF1、キャリー用DFF2へ出力される。リコンフィギュラブル回路12Cでは、キャリー出力が離れている列数が3であるので、請求項の発明でいうところの(p+1)以上、すなわち2以上の条件を満足している。
また、前記の第2のタイミングでは、ALUa2にAの上位データであるAHが、ALUa3にBの上位データであるBHが設定される。そして、DFF2にはAHが、DFF3にはBHが保持される。
次の、第3のタイミングでは、ALUa2に加算機能が、ALUa3に減算機能が設定される。DFF2、DFF3にそれぞれ記憶されたAH、BHはa2、a3の両方へ出力される。キャリー用DFF1、キャリー用DFF2にそれぞれ記憶されたキャリーは、それぞれa2、a3へ出力される。そして、ALUa2では、DFF2から出力されたAHとDFF3から出力されたBHと、キャリー用DFF1から出力されたキャリーによる加算演算、即ち上位データの加算が行われる。一方、ALUa3では、DFF2から出力されたAHとDFF3から出力されたBHとキャリー用DFF2から出力されたキャリーによる減算演算、即ち上位データの減算が行われる。
また、前記第3のタイミングでは、ALUa5には、第2タイミングにおける下位の加算結果であるCLが出力され、ALUa6には、第2タイミングにおける下位の減算結果であるDLが出力される。
続く第4のタイミングでは、ALUa2には、第3タイミングにおける上位の加算結果であるCHが出力され、ALUa3には、第3タイミングにおける上位の減算結果であるDHが出力される。このように、1段構成でループバックさせる構成のリコンフィギュラブル回路によっても倍長演算を実現することができる。
上記の実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
なお、上記では、倍長演算を行うリコンフィギュラブル回路を例に説明したが、倍長演算と単精度演算の両方を行うリコンフィギュラブル回路も本願発明の範囲に含まれる。例えば、図4のリコンフィギュラブル回路12Bの一部を図8のように構成することで実現できる。例えばa13、a23、a33など下位からのキャリー入力を受けるALUのキャリー入力の手前に選択器MUXを設け、単精度演算を実行するときは0をMUXに選択させ、倍長演算を実行するときは下位ビットからのキャリー入力(例えば、図8の例では、a62のキャリー出力を一旦保持するDFFd3の出力)をMUXに選択させるようにすればよい。なお、リコンフィギュラブル回路12Bだけでなく、リコンフィギュラブル回路12、12C、12Dにおいても同様な改良を行うことにより倍長演算と単精度演算の両方を行うことができる。
実施の形態に係る処理装置10、設定データ生成装置30の構成を示す図である。 リコンフィギュラブル回路12の構成を示す模式図である。 リコンフィギュラブル回路12により倍長加算(A+B)及び倍長減算(A−B)を同時に処理する例を説明する図である。 リコンフィギュラブル回路12Bの構成を示す模式図である。 リコンフィギュラブル回路12Bにより倍長加算(A+B)及び倍長減算(A−B)を同時に処理する例を説明する図である。 同一段に6個のALUが並んだリコンフィギュラブル回路を用いて3倍長の演算を行う例を示す図である。 リコンフィギュラブル回路12Dの構成を示す模式図である。 倍長演算、単精度演算の両方が可能なリコンフィギュラブル回路12Bの一部分を示す図である。 従来のリコンフィギュラブル回路400の模式図である。 リコンフィギュラブル回路400による演算の実行例を示す図である。 リコンフィギュラブル回路300の模式図である。 リコンフィギュラブル回路300により倍長加算を行う例を示す図である。

リコンフィギュラブル回路300により、倍長加算(A+B)及び倍長減算(A−B)を同時に処理する例を示す図である。
符号の説明
10 処理装置
12 リコンフィギュラブル回路
14 設定部
18 制御部
30 設定データ生成装置

Claims (7)

  1. 段方向と列方向にマトリクス状に構成された複数の論理回路部を備え、
    所定の論理回路部からの演算出力が、次段に配置された論理回路部のうち一部の論理回路部に制限されて接続されるよう構成されると共に論理回路部が上位演算と下位演算を個別に実行し多倍長演算を行う演算処理回路であって、
    前記下位演算を実行する所定の論理回路部がキャリー出力を備え、該キャリー出力が、該所定の論理回路部から2列以上離れた列に位置する上位演算論理回路部に接続するよう構成されることを特徴とする、演算処理回路。
  2. 前記論理回路部からの演算出力を保持する状態保持部を更に備え、
    論理回路部からの演算出力は、前記状態保持部を介して次段の論理回路部へ入力され、
    前記所定の論理回路部からのキャリー出力が、該所定の論理回路部の次段に位置する論理回路部に接続するよう構成されることを特徴とする、請求項1記載の演算処理回路。
  3. 段方向に構成された複数の論理回路部を備え、
    所定の論理回路部からの演算出力が、前記複数の論理回路のうち、一部の論理回路部に制限されて接続されるよう構成されると共に論理回路部が上位演算と下位演算を個別に実行し多倍長演算を行う演算処理回路であって、
    前記下位演算所定の論理回路部がキャリー出力を備え、該キャリー出力が、該所定の論理回路部から2列以上離れた列に位置する上位演算論理回路部に接続するよう構成されることを特徴とする、演算処理回路。
  4. 前記所定の論理回路部からの演算出力が、次段に配置された論理回路部のうち前記所定の論理回路部からp列(但し、pは自然数)以内に配置された論理回路部に制限されて接続されるよう構成され、
    前記キャリー出力が、該所定の論理回路部から(p+1)列以上離れた列に位置する論理回路部に接続するよう構成されることを特徴とする、請求項1又は2かに記載の演算処理回路。
  5. 前記所定の論理回路部からの演算出力が、前記所定の論理回路部からp列(但し、pは自然数)以内に配置された論理回路部に制限されて接続されるよう構成され、
    前記キャリー出力が、該所定の論理回路部から(p+1)列以上離れた論理回路部に接続するよう構成されることを特徴とする、請求項3に記載の演算処理回路。
  6. 前記論理回路部は、該論理回路の外部から供給される設定データに従って演算機能の変更が可能であることを特徴とする、請求項1ないし5のいずれかに記載の演算処理回路。
  7. 同一段に、n×k個(但し、n、kは、2以上の整数)の論理回路部が配置され、
    前記所定の論理回路部がキャリー出力を備え、該キャリー出力が、該所定の論理回路部からk列離れた列に位置する論理回路部に接続するよう構成されることを特徴とする、請求項1ないし6のいずれかに記載の演算処理回路。
JP2008021889A 2008-01-31 2008-01-31 演算処理回路 Expired - Fee Related JP5025509B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008021889A JP5025509B2 (ja) 2008-01-31 2008-01-31 演算処理回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008021889A JP5025509B2 (ja) 2008-01-31 2008-01-31 演算処理回路

Publications (2)

Publication Number Publication Date
JP2009181487A JP2009181487A (ja) 2009-08-13
JP5025509B2 true JP5025509B2 (ja) 2012-09-12

Family

ID=41035393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008021889A Expired - Fee Related JP5025509B2 (ja) 2008-01-31 2008-01-31 演算処理回路

Country Status (1)

Country Link
JP (1) JP5025509B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8517376D0 (en) * 1985-07-09 1985-08-14 Jesshope C R Processor array
JP2000010762A (ja) * 1998-06-19 2000-01-14 Mitsubishi Electric Corp 浮動小数点演算装置
JP4104538B2 (ja) * 2003-12-22 2008-06-18 三洋電機株式会社 リコンフィギュラブル回路、リコンフィギュラブル回路を備えた処理装置、リコンフィギュラブル回路における論理回路の機能決定方法、回路生成方法および回路

Also Published As

Publication number Publication date
JP2009181487A (ja) 2009-08-13

Similar Documents

Publication Publication Date Title
US10417004B2 (en) Pipelined cascaded digital signal processing structures and methods
US7953956B2 (en) Reconfigurable circuit with a limitation on connection and method of determining functions of logic circuits in the reconfigurable circuit
US7971172B1 (en) IC that efficiently replicates a function to save logic and routing resources
US10275219B2 (en) Bit-serial multiplier for FPGA applications
JP2014186461A (ja) 演算処理装置及び演算処理方法
US20100281235A1 (en) Reconfigurable floating-point and bit-level data processing unit
CN112074810B (zh) 并行处理设备
JP5025509B2 (ja) 演算処理回路
JP2006011825A (ja) 再構成可能演算装置および半導体装置
Shun et al. A VLSI architecture for a run-time multi-precision reconfigurable Booth multiplier
JP2019219753A (ja) 半導体装置及びその制御方法
JP5116499B2 (ja) 演算処理回路
US10691416B2 (en) Performing constant modulo arithmetic
Ilić et al. Address generation unit as accelerator block in DSP
US20060031279A1 (en) Highly parallel structure for fast multi cycle binary and decimal adder unit
JP4553615B2 (ja) 処理装置
JP2004318670A (ja) 演算装置及び演算器
JP4413052B2 (ja) データフローグラフ処理装置および処理装置
US7007059B1 (en) Fast pipelined adder/subtractor using increment/decrement function with reduced register utilization
JP4357326B2 (ja) リコンフィギュラブル回路および処理装置
Sasipriya et al. Vedic Multiplier Design Using Modified Carry Select Adder with Parallel Prefix Adder
JP4330472B2 (ja) 処理装置
JP5115307B2 (ja) 半導体集積回路
CN108701021B (zh) 处理元件
CN116796816A (zh) 处理器、计算芯片和计算设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110111

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111117

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20111130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120425

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: 20120522

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: 20120619

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

Free format text: PAYMENT UNTIL: 20150629

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees