JP5178346B2 - 半導体装置、および、半導体装置によるデータ処理方法 - Google Patents
半導体装置、および、半導体装置によるデータ処理方法 Download PDFInfo
- Publication number
- JP5178346B2 JP5178346B2 JP2008166511A JP2008166511A JP5178346B2 JP 5178346 B2 JP5178346 B2 JP 5178346B2 JP 2008166511 A JP2008166511 A JP 2008166511A JP 2008166511 A JP2008166511 A JP 2008166511A JP 5178346 B2 JP5178346 B2 JP 5178346B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- information
- input
- data
- calculation
- 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
Links
- 239000004065 semiconductor Substances 0.000 title claims description 44
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000004364 calculation method Methods 0.000 claims description 73
- 230000003252 repetitive effect Effects 0.000 claims description 9
- 230000007704 transition Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent 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/3897—Concurrent 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Logic Circuits (AREA)
- Advance Control (AREA)
Description
図1は、本実施の形態にかかる半導体装置の構成を示すブロック図であり、図2は、演算ユニットの構成を示すブロック図である。半導体装置1は、プロセッサなどの外部装置2からの指示によりデータ処理を行うものであって、コントローラ10、入出力バッファ11、および、5つの演算ユニット12A〜12Eを備えて構成されている。なお、ここでは、データ処理とは、個々の演算を行った一連の演算の総称のこととする。
次に、本実施の形態にかかる半導体装置1におけるデータ処理の開始から終了までの流れの概要を説明する。
次に、図2を使用して、演算ユニット12におけるデータ処理について詳しく説明する。演算ユニット12A〜12Eは、それぞれ、演算器120、回路情報記憶部121、データレジスタ122、回路情報識別子更新部123、回路情報識別子レジスタ124、再構成規則レジスタ125、および、繰り返し制御部126を備えて構成されている。なお、本図では、書き込み制御情報の記載は省略している。
次に、コントローラ10におけるデータ処理について詳しく説明する。図6は、コントローラ10の構成を示すブロック図である。コントローラ10は、制御部10A、プログラムカウンタ10B、プログラムコードメモリ10C、および、タイミングラッチ10Dを備えて構成されている。
次に、半導体装置1が、演算ユニット12が受け取った再構成情報(回路情報識別子および再構成規則)に従って、演算器120の回路構成を変えながら、入力データに対して演算を実行する動作例を説明する。図8は、半導体装置1が演算を行う際の動作を説明する図である。ここで、説明を容易にするために、サイクル1で、コントローラ10はプログラムコードの解釈を始めるものとし、コントローラ10が再構成情報(回路情報識別子および再構成規則)を解釈したそのサイクルに、解釈された再構成情報(回路情報識別子および再構成規則)は演算ユニット12Aに到着するものとする。
2 外部装置
10 コントローラ
10A 制御部
10B プログラムカウンタ
10C プログラムコードメモリ
10D タイミングラッチ
11 入出力バッファ
12A、12B、12C、12D、12E 演算ユニット
120 演算器
121 回路情報記憶部
122 データレジスタ
123 回路情報識別子更新部
124 回路情報識別子レジスタ
125 再構成規則レジスタ
126 繰り返し制御部
Claims (7)
- コントローラと、前記コントローラの後段に複数段直列に接続されてパイプライン動作を行う複数の動的リコンフィギュラブル回路とを備えた半導体装置であって、
(A)前記コントローラは、
処理すべきデータと、
前記動的リコンフィギュラブル回路ごとに保持される複数の回路情報のうち、前記データに対して実行する演算に必要な実行回路を前記動的リコンフィギュラブル回路に構築するための回路情報を特定する特定情報と、複数の前記動的リコンフィギュラブル回路のそれぞれが実行する演算回数を示す情報とを含む再構成情報と、
を初段の前記動的リコンフィギュラブル回路に入力し、
(B)複数の前記動的リコンフィギュラブル回路のそれぞれは、
(a)前記再構成情報により特定される前記回路情報に従って変更された実行回路で構築され、前記コントローラ、または、前段の前記動的リコンフィギュラブル回路から入力された前記データを演算する演算手段と、
(b)前記コントローラ、または、前段の前記動的リコンフィギュラブル回路から入力された前記再構成情報に含まれる特定情報を、演算された前記データに対して次に実行する演算に必要な前記回路情報を特定する特定情報へ更新する更新手段と、
(c)前記演算手段による演算を繰り返し行うか否かを判断し、
前記演算手段が前記演算回数分の演算を完了したと判断した場合には、演算された前記データと更新された前記再構成情報とを次段の前記動的リコンフィギュラブル回路に入力するように制御し、
前記演算手段が前記演算回数分の演算を完了していないと判断した場合には、演算された前記データと更新された前記再構成情報とを再度自身に入力するように制御する繰り返し制御手段と、
を備えたことを特徴とする半導体装置。 - 前記演算回数の合計は、前記動的リコンフィギュラブル回路の総数よりも多いこと、
を特徴とする請求項1に記載の半導体装置。 - 複数の前記動的リコンフィギュラブル回路は、前記回路情報を格納する記憶手段をさらに備え、
前記再構成情報は、
前記記憶手段における前記回路情報の格納先を示すアドレスと、
前記動的リコンフィギュラブル回路ごとの前記演算回数を決定する再構成規則と、を含み、
前記演算手段は、前記アドレスで示される格納先から読み出された前記回路情報で特定された実行回路で構築されて、前記データを演算し、
前記更新手段は、入力された前記アドレスを、次に実行する演算に必要な前記回路情報が格納されているアドレスに更新すること、
を特徴とする請求項1または2に記載の半導体装置。 - 前記更新手段は、前記アドレスに1を加算し、加算されたアドレスが次に実行する演算に必要な前記回路情報が格納されているアドレスであること、
を特徴とする請求項3に記載の半導体装置。 - 前記再構成規則は、
前記動的リコンフィギュラブル回路を一意に特定する識別子と、
第1の演算回数と、を含み、
前記識別子により特定される前記動的リコンフィギュラブル回路の前記演算手段は、前記第1の演算回数分の演算を行い、
前記識別子により特定されない前記動的リコンフィギュラブル回路の前記演算手段は、予め定められた第2の演算回数分の演算を行うこと、
を特徴とする請求項3または4に記載の半導体装置。 - 前記再構成規則は、
前記動的リコンフィギュラブル回路を一意に特定する識別子と、
前記識別子で特定された前記動的リコンフィギュラブル回路で最後に行われる演算に必要な実行回路を構築するための回路情報を特定する最終回路情報識別子と、を含み、
前記識別子により特定される前記動的リコンフィギュラブル回路の前記演算手段は、入力された、または、更新された前記回路情報識別子が前記最終回路情報識別子と一致するまで演算を行い、
前記識別子により特定されない前記動的リコンフィギュラブル回路の前記演算手段は、予め定められた一定回数分の演算を行うこと、
を特徴とする請求項3または4に記載の半導体装置。 - コントローラと、パイプライン動作を行うため、前記コントローラの後段に複数段直列に接続されてパイプライン動作を行う複数の動的リコンフィギュラブル回路とを備えた半導体装置によるデータ処理方法において、
前記コントローラが、処理すべきデータと、前記データに対して実行する演算に必要な実行回路を前記動的リコンフィギュラブル回路に構築するための回路情報を特定する特定情報と、複数の前記動的リコンフィギュラブル回路のそれぞれが実行する演算回数を示す情報とを含む再構成情報と、を初段の前記動的リコンフィギュラブル回路に入力する入力ステップと、
複数の前記動的リコンフィギュラブル回路のそれぞれが、前記再構成情報により特定される前記回路情報に従って変更された実行回路で構築され、前記コントローラ、または、前段の前記動的リコンフィギュラブル回路から入力された前記データを演算する演算ステップと、
複数の前記動的リコンフィギュラブル回路のそれぞれが、前記コントローラ、または、前段の前記動的リコンフィギュラブル回路から入力された前記再構成情報に含まれる特定情報を、演算された前記データに対して次に実行する演算に必要な前記回路情報を特定する特定情報へ更新する更新ステップと、
複数の前記動的リコンフィギュラブル回路のそれぞれが、前記演算ステップによる演算を繰り返し行うか否かを判断し、前記演算ステップで前記演算回数分の演算を完了したと判断した場合には、演算された前記データと更新された前記再構成情報とを次段の前記動的リコンフィギュラブル回路に入力するように制御し、前記演算ステップで前記演算回数分の演算を完了していないと判断した場合には、演算された前記データと更新された前記再構成情報とを再度自身に入力するように制御する制御ステップと、を含むこと、
を特徴とする半導体装置によるデータ処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008166511A JP5178346B2 (ja) | 2008-06-25 | 2008-06-25 | 半導体装置、および、半導体装置によるデータ処理方法 |
US12/372,011 US8359457B2 (en) | 2008-06-25 | 2009-02-17 | Semiconductor device and data processing method performed by semiconductor device to perform a repeat operation within a reconfigurable pipeline |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008166511A JP5178346B2 (ja) | 2008-06-25 | 2008-06-25 | 半導体装置、および、半導体装置によるデータ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010009247A JP2010009247A (ja) | 2010-01-14 |
JP5178346B2 true JP5178346B2 (ja) | 2013-04-10 |
Family
ID=41448978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008166511A Expired - Fee Related JP5178346B2 (ja) | 2008-06-25 | 2008-06-25 | 半導体装置、および、半導体装置によるデータ処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8359457B2 (ja) |
JP (1) | JP5178346B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010287159A (ja) * | 2009-06-15 | 2010-12-24 | Fujitsu Ltd | 信号処理システム、信号処理モジュール、及びこれらの動作方法 |
US20110161628A1 (en) * | 2009-12-28 | 2011-06-30 | Kabushiki Kaisha Toshiba | Data processing apparatus and method of controlling reconfigurable circuit layer |
US9721319B2 (en) * | 2011-10-14 | 2017-08-01 | Mastercard International Incorporated | Tap and wireless payment methods and devices |
JP5931190B2 (ja) * | 2012-05-16 | 2016-06-08 | 株式会社日立産機システム | 通信装置およびデータ収集方法 |
JP6432348B2 (ja) * | 2012-12-25 | 2018-12-05 | 日本電気株式会社 | 演算装置及び演算方法 |
JP6617493B2 (ja) * | 2015-09-18 | 2019-12-11 | 富士ゼロックス株式会社 | データ処理装置 |
JP6713410B2 (ja) * | 2016-11-21 | 2020-06-24 | 日立オートモティブシステムズ株式会社 | 電子制御装置 |
JP7034858B2 (ja) * | 2018-07-31 | 2022-03-14 | 株式会社東芝 | 無線装置および通信制御方法 |
JP7491888B2 (ja) | 2021-12-09 | 2024-05-28 | Necプラットフォームズ株式会社 | 処理装置、処理方法および処理プログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7571303B2 (en) * | 2002-10-16 | 2009-08-04 | Akya (Holdings) Limited | Reconfigurable integrated circuit |
JP4861030B2 (ja) * | 2006-03-24 | 2012-01-25 | 株式会社東芝 | 半導体装置 |
JP2008117218A (ja) * | 2006-11-06 | 2008-05-22 | Mitsubishi Electric Corp | 演算処理装置 |
-
2008
- 2008-06-25 JP JP2008166511A patent/JP5178346B2/ja not_active Expired - Fee Related
-
2009
- 2009-02-17 US US12/372,011 patent/US8359457B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20090327655A1 (en) | 2009-12-31 |
US8359457B2 (en) | 2013-01-22 |
JP2010009247A (ja) | 2010-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5178346B2 (ja) | 半導体装置、および、半導体装置によるデータ処理方法 | |
JP4861030B2 (ja) | 半導体装置 | |
US20210216318A1 (en) | Vector Processor Architectures | |
US5903769A (en) | Conditional vector processing | |
KR100464406B1 (ko) | 가변길이 vliw 명령어를 위한 디스패치 장치 및 방법 | |
EP3910503A1 (en) | Device and method for executing matrix addition/subtraction operation | |
US9547493B2 (en) | Self-timed user-extension instructions for a processing device | |
US20060259747A1 (en) | Long instruction word processing with instruction extensions | |
JP2016517570A (ja) | マルチモードベクトル処理を提供するためのプログラム可能データ経路構成を有するベクトル処理エンジン、ならびに関連ベクトルプロセッサ、システム、および方法 | |
CN107315566B (zh) | 一种用于执行向量循环移位运算的装置和方法 | |
WO2015114305A1 (en) | A data processing apparatus and method for executing a vector scan instruction | |
US20140047218A1 (en) | Multi-stage register renaming using dependency removal | |
WO2017185395A1 (zh) | 一种用于执行向量比较运算的装置和方法 | |
WO2021249054A1 (zh) | 一种数据处理方法及装置、存储介质 | |
JP5231949B2 (ja) | 半導体装置、および、半導体装置によるデータ処理方法 | |
WO2017185419A1 (zh) | 一种用于执行向量最大值最小值运算的装置和方法 | |
WO2014202825A1 (en) | Microprocessor apparatus | |
US20230129750A1 (en) | Performing a floating-point multiply-add operation in a computer implemented environment | |
JPH1078872A (ja) | 複数命令並列発行/実行管理装置 | |
US8631173B2 (en) | Semiconductor device | |
US11327761B2 (en) | Processing device with vector transformation execution | |
JP6256088B2 (ja) | ベクトルプロセッサ、情報処理装置および追い越し制御方法 | |
EP1624380B1 (en) | Vector processing apparatus, information processing apparatus, and vector processing method for reducing simultaneous switching noise | |
TWI752068B (zh) | 一種運算裝置及其操作方法 | |
JP5025521B2 (ja) | 半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110324 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121214 |
|
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: 20121218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130108 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160118 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |