JP2008077625A - ユーザ定義の拡張演算を処理する演算システムおよび方法 - Google Patents
ユーザ定義の拡張演算を処理する演算システムおよび方法 Download PDFInfo
- Publication number
- JP2008077625A JP2008077625A JP2007008660A JP2007008660A JP2008077625A JP 2008077625 A JP2008077625 A JP 2008077625A JP 2007008660 A JP2007008660 A JP 2007008660A JP 2007008660 A JP2007008660 A JP 2007008660A JP 2008077625 A JP2008077625 A JP 2008077625A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- extended
- processing
- functional unit
- processing system
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 78
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000004590 computer program Methods 0.000 claims abstract description 5
- 238000004364 calculation method Methods 0.000 claims description 28
- 238000003672 processing method Methods 0.000 claims description 10
- 230000015654 memory Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003252 repetitive 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
-
- 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
-
- 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/3017—Runtime instruction translation, e.g. macros
-
- 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/30181—Instruction operation extension or modification
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】コンピュータプログラムの演算(operation)を処理する演算処理システムにおいて、基本演算(primitive operation)を処理する複数の機能ユニット(FU、functional unit)と、機能ユニットの制御によって拡張演算(extended operation)を処理するプロセッサ(processor)とを含む。
【選択図】図3
Description
符号110は、演算処理システムが処理すべきソフトウェアプログラムの一部を示す。図中、A、B、C、Dは各プログラムを構成する基本単位である演算(operation)を意味し、一般に、ALU(arithmetic logic unit)を用いて処理し得る演算(例えば、足し算、引き算、掛け算、シフト、論理和、論理積など)と、メモリアクセス(memory access)のために提供される演算(ロード、ストアなど)とを含む。また、最終行のJMPLという命令語は「最上行の演算Aの前に位置したL:に戻る」という意味である。すなわち、符号110のプログラムを行うと、A、B、C、Dの演算が順に行われ、さらにAからDまでの演算が継続して繰り返される。
同じ部材については、他の図面上に示す場合であっても、同じ参照符号を付するものとする。
2:a = 10;
3:b = a + c;
4:if(a > b) d = a;
5:else d = b;
6:}
2:a = 10;
3:b = a + c;
4:d = max(a、b);
5:}
320 プロセッサ(processor)
330 レジスタファイル(register file)
340 拡張演算追加部
351 入力値1
352 入力値2
353 入力値3
354 結果値
370 エクセプション(exception)
380 演算番号(operation number)
Claims (17)
- コンピュータプログラムの演算を処理する演算処理システムにおいて、
基本演算を処理する複数の機能ユニットと、
前記機能ユニットの制御によって拡張演算を処理するプロセッサと、
を含むことを特徴とする演算処理システム。 - 前記機能ユニットは、
前記演算が前記基本演算である場合には前記基本演算を直接処理し、前記演算が前記拡張演算である場合には前記プロセッサで前記拡張演算を処理するように制御することを特徴とする請求項1に記載の演算処理システム。 - 前記機能ユニットは、
前記演算が拡張演算である場合、前記演算の入力値をレジスタファイルに格納し、前記プロセッサにエクセプションを発生させて前記演算を処理するようにすることを特徴とする請求項1に記載の演算処理システム。 - 前記機能ユニットは、
前記演算の種類を示す演算番号を前記プロセッサに伝送することを特徴とする請求項3に記載の演算処理システム。 - 演算の種類を示す演算番号を、前記演算番号に対応する演算を処理するためのプログラムコードと対応させて格納する記録装置をさらに含み、
前記プロセッサは、
前記記録装置を参照して前記演算番号に対応するプログラムコードを実行して前記演算を処理することを特徴とする請求項4に記載の演算処理システム。 - 前記プロセッサは、前記演算に対する処理結果を前記レジスタファイルに格納し、
前記機能ユニットは、前記レジスタファイルから前記処理結果を受信することを特徴とする請求項3に記載の演算処理システム。 - 前記機能ユニットは、
前記受信した処理結果を前記演算に対する結果値として返送することを特徴とする請求項6に記載の演算処理システム。 - 前記複数の機能ユニットは、再構成アレイを構成することを特徴とする請求項1に記載の演算処理システム。
- 前記複数の機能ユニットは、複数の前記基本演算を処理すると同時に、前記拡張演算を前記プロセッサで処理するように制御することを特徴とする請求項1に記載の演算処理システム。
- 拡張演算に対する追加要請を受信し、前記プロセッサで前記追加要請に対応する拡張演算が処理できるように設定する拡張演算追加部をさらに含むことを特徴とする請求項1に記載の演算処理システム。
- 前記追加要請は、
前記プロセッサで前記拡張演算を処理するためのプログラムコードを含むことを特徴とする請求項10に記載の演算処理システム。 - 前記拡張演算追加部は、
前記追加要請に対応する拡張演算に演算番号を付与し、前記プログラムコードを前記演算番号に対応させて記録装置に格納することを特徴とする請求項11に記載の演算処理システム。 - コンピュータプログラムの演算を処理する演算処理方法において、
機能ユニットで前記演算を受信する段階と、
前記演算が基本演算である場合、前記機能ユニットで前記演算を処理する段階と、
前記演算が拡張演算である場合、プロセッサを制御して前記拡張演算を処理する段階と、
を含むことを特徴とする演算処理方法。 - 前記拡張演算を処理する前記段階は、
少なくとも前記機能ユニットの1つを用いて前記演算の入力値をレジスタファイルに格納する段階と、
少なくとも前記機能ユニットの1つを用いて前記プロセッサによりエクセプションを発生させて前記演算を処理するようにする段階と、
を含むことを特徴とする請求項13に記載の演算処理方法。 - 前記拡張演算を処理する前記段階は、
前記プロセッサで、前記演算に対する処理結果を前記レジスタファイルに格納する段階と、
少なくとも前記機能ユニットの1つを用いて、前記レジスタファイルから前記処理結果を受信する段階と、
をさらに含むことを特徴とする請求項14に記載の演算処理方法。 - 前記拡張演算を処理する前記段階は、
前記機能ユニットで、前記受信した処理結果を結果値として返送する段階をさらに含むことを特徴とする請求項15に記載の演算処理方法。 - 請求項13〜16のいずれかに記載の方法を実行するためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060090060A KR100781340B1 (ko) | 2006-09-18 | 2006-09-18 | 사용자 정의 확장 연산을 처리하는 연산 시스템 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008077625A true JP2008077625A (ja) | 2008-04-03 |
Family
ID=38616389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007008660A Pending JP2008077625A (ja) | 2006-09-18 | 2007-01-18 | ユーザ定義の拡張演算を処理する演算システムおよび方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20080072012A1 (ja) |
EP (1) | EP1903433B1 (ja) |
JP (1) | JP2008077625A (ja) |
KR (1) | KR100781340B1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012035699A1 (ja) * | 2010-09-15 | 2012-03-22 | 日本電気株式会社 | 情報処理装置、情報処理方法、設計支援システム、及びプログラムが格納された非一時的なコンピュータ可読媒体 |
US8270723B2 (en) | 2010-04-07 | 2012-09-18 | Sony Corporation | Recognition device, recognition method, and program |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101515568B1 (ko) | 2009-02-03 | 2015-04-28 | 삼성전자 주식회사 | 재구성 가능 어레이의 스케줄러, 스케줄링 방법 및 이를 이용한 컴퓨팅 장치 |
KR101270763B1 (ko) | 2011-02-21 | 2013-06-03 | 서울대학교산학협력단 | 재구성형 프로세싱 어레이 구조 생성 방법 |
KR101996842B1 (ko) * | 2018-12-26 | 2019-07-08 | (주)자람테크놀로지 | 사용자 정의 명령어 셋을 지원하는 하드웨어 고속 연산 결합형 risc-v 기반 연산 장치 및 그 방법 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62154145A (ja) * | 1985-12-27 | 1987-07-09 | Nec Corp | 動的拡張ス−パ−バイザ・コ−ル割込み処理方式 |
JPS63214804A (ja) * | 1987-03-03 | 1988-09-07 | Fanuc Ltd | Plc用プロセツサ及びplc |
JPS63215592A (ja) * | 1987-02-27 | 1988-09-08 | Furukawa Electric Co Ltd:The | 化合物半導体の製造方法 |
JPH04308937A (ja) * | 1991-04-05 | 1992-10-30 | Toshiba Corp | コード生成方法 |
WO1996010226A1 (en) * | 1994-09-26 | 1996-04-04 | Bull Hn Information Systems Inc. | Sharing register stack by two cpu execution units |
JPH08286908A (ja) * | 1995-04-17 | 1996-11-01 | Ricoh Co Ltd | 動的に再設定自在な処理ユニット、システム及び方法 |
JPH08320796A (ja) * | 1994-09-09 | 1996-12-03 | Hitachi Ltd | データ処理装置 |
JP2001147902A (ja) * | 1999-11-22 | 2001-05-29 | Nec Corp | マイクロプロセッサシステム |
JP2006505056A (ja) * | 2002-10-31 | 2006-02-09 | エス・アール・シィ・コンピューターズ・インコーポレイテッド | 制御フローグラフ表現を制御データフローグラフ表現に変換するためのシステムおよび方法 |
JP2006215592A (ja) * | 2004-10-27 | 2006-08-17 | Internatl Business Mach Corp <Ibm> | 再構成可能な、命令レベルのハードウェアによる高速化のためにマイクロプロセッサとともにfpgaテクノロジを使用する方法および装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0519348B1 (en) * | 1991-06-19 | 1999-07-28 | Hewlett-Packard Company | Co-processor supporting architecture adapted to a processor which does not natively support co-processing |
JPH07219774A (ja) * | 1994-02-07 | 1995-08-18 | Fujitsu Ltd | データ処理装置および例外処理方法 |
US5784640A (en) * | 1996-03-18 | 1998-07-21 | Advanced Micro Devices, Inc. | CPU with DSP function preprocessor having look-up table for translating instruction sequences intended to perform DSP function into DSP macros |
US5956518A (en) * | 1996-04-11 | 1999-09-21 | Massachusetts Institute Of Technology | Intermediate-grain reconfigurable processing device |
US6085307A (en) * | 1996-11-27 | 2000-07-04 | Vlsi Technology, Inc. | Multiple native instruction set master/slave processor arrangement and method thereof |
US6505290B1 (en) * | 1997-09-05 | 2003-01-07 | Motorola, Inc. | Method and apparatus for interfacing a processor to a coprocessor |
US6122719A (en) * | 1997-10-31 | 2000-09-19 | Silicon Spice | Method and apparatus for retiming in a network of multiple context processing elements |
DE69827589T2 (de) * | 1997-12-17 | 2005-11-03 | Elixent Ltd. | Konfigurierbare Verarbeitungsanordnung und Verfahren zur Benutzung dieser Anordnung, um eine Zentraleinheit aufzubauen |
US6480952B2 (en) * | 1998-05-26 | 2002-11-12 | Advanced Micro Devices, Inc. | Emulation coprocessor |
US6163835A (en) * | 1998-07-06 | 2000-12-19 | Motorola, Inc. | Method and apparatus for transferring data over a processor interface bus |
US6347344B1 (en) * | 1998-10-14 | 2002-02-12 | Hitachi, Ltd. | Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor |
JP3616556B2 (ja) | 1999-06-29 | 2005-02-02 | 株式会社東芝 | 拡張命令を処理する並列プロセッサ |
JP3951560B2 (ja) * | 2000-06-14 | 2007-08-01 | セイコーエプソン株式会社 | 信号供給装置及びその検査方法、並びにそれを用いた半導体装置及びデータ線駆動ic |
KR100379837B1 (ko) * | 2000-06-30 | 2003-04-11 | 주식회사 에이디칩스 | 확장명령어 축약장치 |
US20020069402A1 (en) * | 2000-10-05 | 2002-06-06 | Nevill Edward Colles | Scheduling control within a system having mixed hardware and software based instruction execution |
US6754804B1 (en) * | 2000-12-29 | 2004-06-22 | Mips Technologies, Inc. | Coprocessor interface transferring multiple instructions simultaneously along with issue path designation and/or issue order designation for the instructions |
US7210022B2 (en) * | 2001-05-15 | 2007-04-24 | Cloudshield Technologies, Inc. | Apparatus and method for interconnecting a processor to co-processors using a shared memory as the communication interface |
GB2376100B (en) * | 2001-05-31 | 2005-03-09 | Advanced Risc Mach Ltd | Data processing using multiple instruction sets |
US7346881B2 (en) * | 2002-05-13 | 2008-03-18 | Tensilica, Inc. | Method and apparatus for adding advanced instructions in an extensible processor architecture |
GB0215033D0 (en) * | 2002-06-28 | 2002-08-07 | Critical Blue Ltd | Instruction set translation method |
KR20040002305A (ko) * | 2002-06-29 | 2004-01-07 | 주식회사 에이디칩스 | 중앙처리장치 |
-
2006
- 2006-09-18 KR KR1020060090060A patent/KR100781340B1/ko not_active IP Right Cessation
- 2006-12-27 US US11/645,771 patent/US20080072012A1/en not_active Abandoned
-
2007
- 2007-01-05 EP EP07100185A patent/EP1903433B1/en not_active Not-in-force
- 2007-01-18 JP JP2007008660A patent/JP2008077625A/ja active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62154145A (ja) * | 1985-12-27 | 1987-07-09 | Nec Corp | 動的拡張ス−パ−バイザ・コ−ル割込み処理方式 |
JPS63215592A (ja) * | 1987-02-27 | 1988-09-08 | Furukawa Electric Co Ltd:The | 化合物半導体の製造方法 |
JPS63214804A (ja) * | 1987-03-03 | 1988-09-07 | Fanuc Ltd | Plc用プロセツサ及びplc |
JPH04308937A (ja) * | 1991-04-05 | 1992-10-30 | Toshiba Corp | コード生成方法 |
JPH08320796A (ja) * | 1994-09-09 | 1996-12-03 | Hitachi Ltd | データ処理装置 |
WO1996010226A1 (en) * | 1994-09-26 | 1996-04-04 | Bull Hn Information Systems Inc. | Sharing register stack by two cpu execution units |
JPH08286908A (ja) * | 1995-04-17 | 1996-11-01 | Ricoh Co Ltd | 動的に再設定自在な処理ユニット、システム及び方法 |
JP2001147902A (ja) * | 1999-11-22 | 2001-05-29 | Nec Corp | マイクロプロセッサシステム |
JP2006505056A (ja) * | 2002-10-31 | 2006-02-09 | エス・アール・シィ・コンピューターズ・インコーポレイテッド | 制御フローグラフ表現を制御データフローグラフ表現に変換するためのシステムおよび方法 |
JP2006215592A (ja) * | 2004-10-27 | 2006-08-17 | Internatl Business Mach Corp <Ibm> | 再構成可能な、命令レベルのハードウェアによる高速化のためにマイクロプロセッサとともにfpgaテクノロジを使用する方法および装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8270723B2 (en) | 2010-04-07 | 2012-09-18 | Sony Corporation | Recognition device, recognition method, and program |
WO2012035699A1 (ja) * | 2010-09-15 | 2012-03-22 | 日本電気株式会社 | 情報処理装置、情報処理方法、設計支援システム、及びプログラムが格納された非一時的なコンピュータ可読媒体 |
JPWO2012035699A1 (ja) * | 2010-09-15 | 2014-01-20 | 日本電気株式会社 | 情報処理装置、情報処理方法、設計支援システム、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP1903433B1 (en) | 2012-12-12 |
KR100781340B1 (ko) | 2007-11-30 |
EP1903433A1 (en) | 2008-03-26 |
US20080072012A1 (en) | 2008-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101699910B1 (ko) | 재구성 가능 프로세서 및 그 제어 방법 | |
US20120216011A1 (en) | Apparatus and method of single-instruction, multiple-data vector operation masking | |
EP2423821A2 (en) | Processor, apparatus, and method for fetching instructions and configurations from a shared cache | |
CN107766079A (zh) | 处理器以及用于在处理器上执行指令的方法 | |
CN111324294B (zh) | 存取张量数据的方法和装置 | |
US20100211747A1 (en) | Processor with reconfigurable architecture | |
EP3729261B1 (en) | A centralized-distributed mixed organization of shared memory for neural network processing | |
JP2008077625A (ja) | ユーザ定義の拡張演算を処理する演算システムおよび方法 | |
US20200133672A1 (en) | Hybrid and efficient approach to accelerate complicated loops on coarse-grained reconfigurable arrays (cgra) accelerators | |
JP2021507352A (ja) | メモリ装置及びそれを制御するための方法 | |
US9804903B2 (en) | Data processing apparatus for pipeline execution acceleration and method thereof | |
CN106133709A (zh) | 用于防止存储器中的存储体冲突的方法和装置 | |
CN111158757B (zh) | 并行存取装置和方法以及芯片 | |
KR100781358B1 (ko) | 데이터 처리 시스템 및 그의 데이터 처리방법 | |
US8555097B2 (en) | Reconfigurable processor with pointers to configuration information and entry in NOP register at respective cycle to deactivate configuration memory for reduced power consumption | |
JP5231949B2 (ja) | 半導体装置、および、半導体装置によるデータ処理方法 | |
KR20220052355A (ko) | 인공지능 모드를 가진 메모리 시스템의 데이터 복사 | |
CN101470600B (zh) | 一种超长指令字处理的方法和装置 | |
US8631173B2 (en) | Semiconductor device | |
US9727528B2 (en) | Reconfigurable processor with routing node frequency based on the number of routing nodes | |
CN112486904A (zh) | 可重构处理单元阵列的寄存器堆设计方法及装置 | |
CN104834501A (zh) | 一种基于l结构处理器的寄存器和寄存器操作方法 | |
JP2007334819A (ja) | ベクトルリネーミング方式およびベクトル型計算機 | |
EP2434409B1 (en) | Processor and method thereof | |
US11061678B1 (en) | Systems and methods for optimizing nested loop instructions in pipeline processing stages within a machine perception and dense algorithm integrated circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091102 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091110 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100210 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110302 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110307 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20110708 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120904 |