JP2009181509A - 演算処理回路 - Google Patents
演算処理回路 Download PDFInfo
- Publication number
- JP2009181509A JP2009181509A JP2008022064A JP2008022064A JP2009181509A JP 2009181509 A JP2009181509 A JP 2009181509A JP 2008022064 A JP2008022064 A JP 2008022064A JP 2008022064 A JP2008022064 A JP 2008022064A JP 2009181509 A JP2009181509 A JP 2009181509A
- Authority
- JP
- Japan
- Prior art keywords
- output
- circuit
- alu
- arithmetic
- logic circuit
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Logic Circuits (AREA)
Abstract
【解決手段】段方向と列方向にマトリックス状に配列された複数の論理回路(L11、…、L44)からなり、論理回路からの出力が次段の論理回路に入力されるよう構成された処理回路であって、論理回路が、入力されたデータに対して演算を行う演算回路(ALU)と、演算回路から出力されたデータ、又は前段の論理回路から出力されたデータのいずれかを選択して次段の論理回路に出力する選択部(MUX)を備えることを特徴とする。
【選択図】図2
Description
図1は、実施の形態に係る処理装置10の構成、並びに設定データ生成装置30の構成を示す図である。
処理装置10は、1チップとして構成される集積回路からなり、リコンフィギュラブル回路12、設定部14、制御部18を備える。
設定データ生成装置30は、リコンフィギュラブル回路12で実現されるべき処理の動作を設定したプログラムを解析し、リコンフィギュラブル回路12にマッピングするための設定データを生成する。この設定データは、リコンフィギュラブル回路12における論理回路の機能や論理回路間の接続関係を定める。設定データ生成装置30により生成された設定データは、設定部14を介してリコンフィギュラブル回路12へ供給される。
図2は、リコンフィギュラブル回路12の構成の一部を示すものである。
各論理回路内のALUは、設定データに従って演算機能が設定される。例えば、設定データに従って、あるときは加算器、あるときは減算器、論理和演算器、論理積演算器、ビットシフト演算器、…、などとして機能する。
図3を参照して、リコンフィギュラブル回路12を用いた倍長演算の実行例を説明する。ここでは、リコンフィギュラブル回路12の各論理回路のALUの演算ビット幅が16ビットであると仮定し、32ビット変数同士の加算A+Bを行う場合を説明する。いま、32ビット変数Aの上位16ビットをAH、下位16ビットをAL、32ビット変数Bの上位16ビットをBH、下位16ビットをBLとしたとき、A+Bの演算は、下位ビット同士の加算AL+BLと、上位ビット同士の加算AH+BHとに分けて行われる。ここでは、論理回路L11内のALUから出力されるデータをAL、論理回路L12内のALUから出力されるデータをAH、論理回路L21内のALUから出力されるデータをBL、論理回路L22内のALUから出力されるデータをBHとする。
即ち、加算演算を行うALUが属する論理回路L13の同列前段にある論理回路L12のMUXが、同じ論理回路L12のALUの出力ではなく、その同列前段にある論理回路L11のALUの出力を選択する。また、論理回路L13の右上段にある論理回路L22のMUXが、同じ論理回路L22のALUの出力ではなく、その同列前段にある論理回路L21のALUの出力を選択する。このようにして、2段上に配置された論理回路L11、及びL21の出力に対する加算処理を行うことができるのである。
リコンフィギュラブル回路12の各ALU内部の構成について、以下に説明する。
図5は、リコンフィギュラブル回路12の各論理回路内にあるALUの内部構成を示したものである。ここでは、ALUに加算機能を割り当てた場合を説明する。この場合のALUの機能は、等価的には選択器であるMUX3と加算器a1により記述できる。まず、MUX3には下位からのキャリー入力と0(ゼロ)が入力され、これらを選択して加算器a1へ出力する。ALUが最下位ビットの加算を行うものであれば、MUX3は0を選択して出力する。ALUが最下位ビットの加算を行うものでない場合は、MUX3は下位からのキャリー入力を選択して出力する。加算器a1には、入力1、2及びMUX3の出力が入力される。そして、これらの加算結果、及びキャリー出力が出力される。このような演算器をリコンフィギュラブル回路12の論理回路中のALUとして用いることで、上述した倍長の加算演算が可能となる。
(リコンフィギュラブル回路12Aの構成)
図6のリコンフィギュラブル回路12Aでも倍長演算と単精度演算の両方が可能である。このリコンフィギュラブル回路12Aは、図2のリコンフィギュラブル回路12のように4段の構成とする代わりに1段構成でループバックさせる構成である。リコンフィギュラブル回路12Aには、所定時間ごとに設定部14(図1参照)から設定データが供給される。そして、リコンフィギュラブル回路12Aを構成する各論理回路は、この設定部14から供給される設定データに従って動作する。このようなリコンフィギュラブル回路12Aを用いても、倍長の加算(A+B)を実行することができる。以下、その手順を説明する。
(リコンフィギュラブル回路12Bの構成)
図7のようなリコンフィギュラブル回路12Bでは、3倍長演算、倍長演算、並びに単精度演算が実行可能である。このリコンフィギュラブル回路12Bは、演算器であるALU、選択器であるMUX、及び、D型フリップフロップであるDFF1、DFF2及びDFF3からなる論理回路(同図ではL11、…、L16、L21、…L26、L31、…として示している)がアレイ状に配列されてなる。
DFF3からの出力は、同列次段にあるMUX及びDFF2へ出力される。例えば、L11のDFF3からの出力は、L12のMUX及びDFF2へ出力される。
図8を参照して、リコンフィギュラブル回路12Bを用いた、3倍長演算の実行例を説明する。
図9を参照して、リコンフィギュラブル回路12Bによる倍長演算の実行例を説明する。
図10を参照して、リコンフィギュラブル回路12Bによる単精度演算の実行例を説明する。
(リコンフィギュラブル回路12Cの構成)
図11のようなリコンフィギュラブル回路12Cでも、3倍長、倍長、単精度演算すべての演算が可能である。このリコンフィギュラブル回路12Cは、演算器であるALU、選択器であるMUX、及び、D型フリップフロップであるDFF1、DFF2及びDFF3からなる論理回路(同図ではL11、…、L16、L21、…L26、L31、…として示している)がアレイ状に配列されてなる。
図12を参照して、リコンフィギュラブル回路12Cを用いた、3倍長演算の実行例を説明する。
図13を参照して、リコンフィギュラブル回路12Cによる倍長演算の実行例を説明する。
図14を参照して、リコンフィギュラブル回路12Cによる単精度演算の実行例を説明する。
このようにリコンフィギュラブル回路12Cでは、各論理回路内に設けられた選択器MUX1、MUX2を制御することにより、3倍長、倍長、単精度演算の切り換えが可能となるのである。
(リコンフィギュラブル回路12Dの構成)
本実施形態は、倍長シフト演算と、単精度のシフト演算の両方が可能な演算が可能なリコンフィギュラブル回路12Dに関する。
図16は、リコンフィギュラブル回路12Dにおける論理回路のALUの構成図である。このALUは、バレルシフタと、選択器であるMUX1、MUX2を備えている。また、各ALUは、入力1、入力2、遅延入力の3入力を有する。入力1、入力2は、前段のいずれかの論理回路のDFF1から出力されたデータのことをいう。遅延入力とは、前段の同列の論理回路のDFF2から出力されたデータのことをいう。なお、入力1、入力2、遅延入力はいずれも16ビットであるとし、バレルシフタは32ビットデータに対するシフト演算が可能であるとする。また、各MUXは16ビットデータに対応するものとする。
図17を参照して、リコンフィギュラブル回路12Dによる倍長演算の実行例を説明する。ここでは、上位16ビットをd2、下位16ビットをd1とするデータに対し、列方向に隣接して配置された論理回路L(x)(y)と、L(x)(y+1)を用いて倍長のビットシフト演算を行う場合を説明する。
図18を参照して、リコンフィギュラブル回路12Dによる単精度演算の実行例を説明する。ここでは、データd1に対し、単精度のバレルシフト演算を行う場合を説明する。
(リコンフィギュラブル回路12Eの構成)
図19のようなリコンフィギュラブル回路12Eを用いてもバレルシフト演算が可能である。リコンフィギュラブル回路12Eは、リコンフィギュラブル回路12Dと比較して、奇数段にある論理回路(L11、L21、L31、L41、L13、L23、L33、L43)の構成が相違する。リコンフィギュラブル回路12Eでは、奇数段にある論理回路L(x)(2y−1)と、偶数段にある論理回路L(x)(2y)の2個の論理回路をペアとして使用することで倍長のバレルシフト演算が可能である。
なお、リコンフィギュラブル回路12Eの偶数段に配置される論理回路L(x)(2y)の構成は、リコンフィギュラブル回路12Dの各論理回路のALUと同じである。
図21を参照して、リコンフィギュラブル回路12Eによる倍長演算の実行例を説明する。ここでは、上位16ビットをd2、下位16ビットをd1とする32ビットデータに対し、論理回路L(x)(2y-1)と、その同列次段にあるL(x)(2y)を用いて倍長のビットシフト演算を行う場合を説明する。
そして、バレルシフタからは、この32ビットデータをsビットシフトさせたデータのうち、上位16ビットをDFF2とMUXに出力し、下位16ビットをMUXへ出力する。このようにして、リコンフィギュラブル回路12Eよっても、倍長のバレルシフト演算が可能となる。
(リコンフィギュラブル回路12Fの構成)
図22は、単精度演算と倍長演算の両方を行うことができると共に、単精度演算の結果を倍長演算へ供給することができるリコンフィギュラブル回路12Fの構成を示すものである。このリコンフィギュラブル回路12Fは、演算ビット幅が16ビットであるものとする。
図23を参照して、リコンフィギュラブル回路12Fによる演算例を説明する。ここでは、、単精度の加算A+B(=Cとする)、及び単精度の加算D+E(=Fとする)を実行したのち、C+Fの倍長加算を行う例を用いて説明する。リコンフィギュラブル回路12Fの各論理回路の演算ビット幅は16ビットであるとし、変数A、B、D、Eもそれぞれ16ビット変数であるとする。
12 リコンフィギュラブル回路
14 設定部
18 制御部
30 設定データ生成装置
Claims (7)
- 複数の論理回路からなり、第1の論理回路からの演算出力が第2の論理回路に入力されるよう構成された演算処理回路であって、
前記第2の論理回路が、
入力されたデータに対して演算を行う演算回路と、
前記演算回路から出力された演算出力、又は第1の論理回路からの演算出力のいずれかを選択して出力する選択部を備えることを特徴とする演算処理回路。
- 前記選択部は、
前記第2の論理回路が単精度演算を実行するときは、前記演算回路から出力された演算出力を選択し、
前記第2の論理回路が倍長演算を実行するときは、前記第1の論理回路からの演算出力を選択することを特徴とする、請求項1記載の演算処理回路。
- 前記複数の論理回路が、段方向と列方向にマトリックス状に構成されることを特徴とする、請求項1又は2に記載の演算処理回路。
- 論理回路の選択部の出力が、次段の一部の論理回路のみに入力されるように構成されることを特徴とする、請求項3に記載の演算処理回路。
- 前記複数の論理回路は、
所定段に配置され、単精度演算又は倍長演算の下位桁の演算を実行する第1タイプの論理回路と、
前記所定段の次段に配置され、単精度演算又は倍長演算の上位桁の演算を実行する第2タイプの論理回路と、を少なくとも含むことを特徴とする、請求項3又は4に記載の演算処理回路。
- 段方向に構成され、所定時間ごとに外部から供給される設定データに従って動作する複数の論理回路を備えた演算処理回路であって、
前記論理回路は、
入力されたデータに対して演算を行う演算回路と、
前記演算回路から出力された演算出力を前記所定時間保持する状態保持回路と、
前記演算回路から出力された演算出力、又は前記状態保持回路に保持されていた演算出力のいずれかを選択する選択部を備え、
更に該演算処理回路は、所定の論理回路の選択部の出力を、前記複数の論理回路を構成する一部の論理回路に入力させる接続部と、を備えることを特徴とする演算処理回路。
- 所定時間ごとに外部から供給される設定データに従って動作する論理回路を備えた演算処理回路であって、
前記論理回路は、
入力されたデータに対して演算を行う演算回路と、
前記演算回路から出力された演算出力を前記所定時間保持する状態保持回路と、
前記演算回路から出力された演算出力、又は前記状態保持回路に保持されていた演算出力のいずれかを選択する選択部を備え、
更に該演算処理回路は、該論理回路からの選択部の出力を、該論理回路に入力させる接続部と、を備えることを特徴とする演算処理回路。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008022064A JP5116499B2 (ja) | 2008-01-31 | 2008-01-31 | 演算処理回路 |
US12/360,878 US20090198973A1 (en) | 2008-01-31 | 2009-01-28 | Processing circuit |
EP09001331A EP2085892A1 (en) | 2008-01-31 | 2009-01-30 | Processing circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008022064A JP5116499B2 (ja) | 2008-01-31 | 2008-01-31 | 演算処理回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009181509A true JP2009181509A (ja) | 2009-08-13 |
JP5116499B2 JP5116499B2 (ja) | 2013-01-09 |
Family
ID=40652732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008022064A Active JP5116499B2 (ja) | 2008-01-31 | 2008-01-31 | 演算処理回路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20090198973A1 (ja) |
EP (1) | EP2085892A1 (ja) |
JP (1) | JP5116499B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016517570A (ja) * | 2013-03-13 | 2016-06-16 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | マルチモードベクトル処理を提供するためのプログラム可能データ経路構成を有するベクトル処理エンジン、ならびに関連ベクトルプロセッサ、システム、および方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0467253A (ja) * | 1990-07-06 | 1992-03-03 | Nippon Telegr & Teleph Corp <Ntt> | 並列データ処理装置 |
JP2002229962A (ja) * | 2001-02-06 | 2002-08-16 | Ricoh Co Ltd | 総和値とピーク値を検出するsimd型マイクロプロセッサ |
JP2007172285A (ja) * | 2005-12-21 | 2007-07-05 | Sanyo Electric Co Ltd | リコンフィギュラブル回路及び処理装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5787025A (en) * | 1996-02-28 | 1998-07-28 | Atmel Corporation | Method and system for performing arithmetic operations with single or double precision |
WO2005033939A1 (ja) * | 2003-09-30 | 2005-04-14 | Sanyo Electric Co., Ltd. | リコンフィギュラブル回路を備えた処理装置、集積回路装置およびそれらを利用した処理方法 |
JP4104538B2 (ja) * | 2003-12-22 | 2008-06-18 | 三洋電機株式会社 | リコンフィギュラブル回路、リコンフィギュラブル回路を備えた処理装置、リコンフィギュラブル回路における論理回路の機能決定方法、回路生成方法および回路 |
US7102387B1 (en) * | 2004-12-08 | 2006-09-05 | The United States Of America As Represented By The Secretary Of The Air Force | Periodic computation structure based on 1-input lookup tables |
JP4961868B2 (ja) | 2006-07-10 | 2012-06-27 | 日産自動車株式会社 | 車両用監視装置 |
-
2008
- 2008-01-31 JP JP2008022064A patent/JP5116499B2/ja active Active
-
2009
- 2009-01-28 US US12/360,878 patent/US20090198973A1/en not_active Abandoned
- 2009-01-30 EP EP09001331A patent/EP2085892A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0467253A (ja) * | 1990-07-06 | 1992-03-03 | Nippon Telegr & Teleph Corp <Ntt> | 並列データ処理装置 |
JP2002229962A (ja) * | 2001-02-06 | 2002-08-16 | Ricoh Co Ltd | 総和値とピーク値を検出するsimd型マイクロプロセッサ |
JP2007172285A (ja) * | 2005-12-21 | 2007-07-05 | Sanyo Electric Co Ltd | リコンフィギュラブル回路及び処理装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016517570A (ja) * | 2013-03-13 | 2016-06-16 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | マルチモードベクトル処理を提供するためのプログラム可能データ経路構成を有するベクトル処理エンジン、ならびに関連ベクトルプロセッサ、システム、および方法 |
Also Published As
Publication number | Publication date |
---|---|
US20090198973A1 (en) | 2009-08-06 |
EP2085892A1 (en) | 2009-08-05 |
JP5116499B2 (ja) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003296096A (ja) | シリアル演算パイプライン、演算装置、算術論理演算回路およびシリアル演算パイプラインによる演算方法 | |
WO2002095946A1 (fr) | Dispositif a circuit integre | |
US11907681B2 (en) | Semiconductor device and method of controlling the semiconductor device | |
US9933996B2 (en) | Selectively combinable shifters | |
JP3940714B2 (ja) | 演算装置、および、暗号・復号演算装置 | |
JP6003744B2 (ja) | 演算処理装置及び演算処理方法 | |
JP5116499B2 (ja) | 演算処理回路 | |
JP2006011825A (ja) | 再構成可能演算装置および半導体装置 | |
JP2004062821A (ja) | 情報処理装置 | |
JP4553615B2 (ja) | 処理装置 | |
JP4413052B2 (ja) | データフローグラフ処理装置および処理装置 | |
US11281428B2 (en) | Conversion circuitry | |
JP5025509B2 (ja) | 演算処理回路 | |
Ilić et al. | Address generation unit as accelerator block in DSP | |
CN113841134A (zh) | 具有向量变换执行的处理装置 | |
JP4357326B2 (ja) | リコンフィギュラブル回路および処理装置 | |
JP2007249843A (ja) | 再構成可能な演算装置 | |
US11356101B1 (en) | Digital signal processing block with reduced pin count for fine-grained programmable gate architecture | |
JP5182053B2 (ja) | バレルシフタ装置及びバレルシフト方法 | |
JP2005277673A (ja) | 処理装置 | |
JP4601567B2 (ja) | データフローグラフの生成方法、及び処理装置 | |
US10289382B2 (en) | Selectively combinable directional shifters | |
JP4673739B2 (ja) | リコンフィギュラブル回路 | |
JP4562679B2 (ja) | データフローグラフ生成装置 | |
JP4748944B2 (ja) | 処理装置 |
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 | Request for written amendment filed |
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: 20120918 |
|
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: 20121016 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5116499 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151026 Year of fee payment: 3 |