JP2005182659A - Vliw型dsp,及びその動作方法 - Google Patents
Vliw型dsp,及びその動作方法 Download PDFInfo
- Publication number
- JP2005182659A JP2005182659A JP2003425838A JP2003425838A JP2005182659A JP 2005182659 A JP2005182659 A JP 2005182659A JP 2003425838 A JP2003425838 A JP 2003425838A JP 2003425838 A JP2003425838 A JP 2003425838A JP 2005182659 A JP2005182659 A JP 2005182659A
- Authority
- JP
- Japan
- Prior art keywords
- execution
- code
- vliw
- nth
- dsp
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000015654 memory Effects 0.000 claims abstract description 14
- 230000008707 rearrangement Effects 0.000 claims abstract 4
- 230000004044 response Effects 0.000 claims description 3
- 238000013519 translation Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005457 optimization Methods 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, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- 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, look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- 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, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
-
- 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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
Abstract
【解決手段】本発明によるVLIW型DSPは,第1〜第nプログラムをそれぞれに記憶する第1〜第nバンク(2)を備えたプログラムメモリ(1)と,前記第1〜第nプログラムに含まれるコードのうち,実行されるべき実行コードが保存されているアドレスをそれぞれに指定する第1〜第nアドレスカウンタ(4)と,第1〜第nアドレスカウンタ(4)によってそれぞれに指定された前記アドレスに保存されている前記実行コードを,それぞれ第1〜第nバンク(2)から受け取り,受け取った前記実行コードを結合して一の再配置化コードを生成するフェッチブロック(5)と,フェッチブロック(5)から前記再配置化コードを受け取り,前記再配置化コードを,一の命令実行サイクルで実行するコード実行回路(6〜10)とを含む。
【選択図】 図1
Description
第1〜第nバンク(2)に,第1〜第nプログラムをそれぞれに記憶するステップと,
前記第1〜第nプログラムに含まれるコードのうち,実行されるべき実行コードが保存されているアドレスをそれぞれに指定するステップと,
指定された前記アドレスに保存されている前記実行コードを,それぞれ前記第1〜第nバンク(2)から受け取るステップと,
受け取られた前記実行コードを結合して一の再配置化コードを生成するステップと,
前記再配置化コードを,一の命令実行サイクルで実行するステップ
とを含む。
前記第1〜第nプログラムの前記実行コードに記述されているレジスタが,それぞれ,第1〜第nレジスタファイル(11)のレジスタに割り当てられるように前記実行コードを書き換えるステップと,
書き換えられた前記実行コードを結合して前記再配置化コードを生成するステップ
とを備えていることが好適である。
アドレスカウンタ41,42は,それぞれ,バンク21,22に記憶されているプログラムの,次に実行されるべきVLIWコードが記憶されているアドレスを指定する(ステップS02)。
フェッチブロック5は,読み出したVLIWコードを再配置して,要素命令の数が多い新たなVLIWコードを生成し,生成した新たなVLIWコードをデコードブロック6に転送する(ステップS04)。
”R0=R1*R3+R3,R8=*DP0,R9=*DP1”
であり,バンク22から読み出されるVLIWコードBが,
”R3=R2*R1+R0,*DP0=R8,*DP1=R9”
である場合,フェッチブロック5は,下記のVLIWコード
”R0=R1*R3+R3,R8=*DP0,R9=*DP1,R3’=R2’*R1’+R0’,*DP0’=R8’,*DP1’=R9’”を生成する。これにより,バンク21から読み出されたVLIWコードには,レジスタファイル111のレジスタが割り当てられ,バンク22から読み出されたVLIWコードには,レジスタファイル112のレジスタが割り当てられ,これらのVLIWコードの同時的な実行が可能になる。
2:バンク
3:PCレジスタ
4:アドレスカウンタ
5:フェッチブロック
6:デコードブロック
7:ディスパッチブロック
8:MAC
9:ALU
10:ロード/ストアユニット
11:レジスタファイル
12:データメモリ
Claims (7)
- 第1〜第nプログラムをそれぞれに記憶する第1〜第nバンクを備えたプログラムメモリと,
前記第1〜第nプログラムに含まれるコードのうち,実行されるべき実行コードが保存されているアドレスをそれぞれに指定する第1〜第nアドレスカウンタと,
前記第1〜第nアドレスカウンタによってそれぞれに指定された前記アドレスに保存されている前記実行コードを,それぞれ前記第1〜第nバンクから受け取り,受け取った前記実行コードを結合して一の再配置化コードを生成するフェッチブロックと,
前記フェッチブロックから前記再配置化コードを受け取り,前記再配置化コードを,一の命令実行サイクルで実行するコード実行回路
とを含む
VLIW型DSP。 - 請求項1に記載のVLIW型DSPにおいて,
更に,
第1〜第nレジスタファイルを備え,
前記フェッチブロックは,前記第1〜第nプログラムの前記実行コードに記述されているレジスタが,それぞれ,前記第1〜第nレジスタファイルのレジスタに割り当てられるように前記実行コードを書き換え,書き換えられた前記実行コードを結合して前記再配置化コードを生成する
VLIW型DSP。 - 請求項1又は請求項2に記載のVLIW型DSPにおいて,
更に,
前記第1〜第nプログラムのプログラム開始アドレスを格納する第1〜第nプログラムカウンタレジスタを備え,
前記第1〜第nプログラムカウンタレジスタに記憶されている前記プログラム開始アドレスは,それぞれ,前記第1〜第nアドレスカウンタに転送される
VLIW型DSP。 - 請求項1又は請求項2に記載のVLIW型DSPにおいて,
前記コード実行回路は,
前記フェッチブロックから前記再配置化コードを受け取り,前記再配置化コードから実行要素命令を生成するデコードブロックと,
ディスパッチブロックと,
複数の実行ユニット
とを備え,
前記ディスパッチブロックは,前記実行要素命令に基づいて,複数の実行ユニットのそれぞれに供給される実行制御信号を生成し,
前記複数の実行ユニットは,前記実行制御信号に応答して,前記実行要素命令に対応する動作を行う
VLIW型DSP。 - 請求項4に記載のVLIW型DSPにおいて,
前記複数の実行ユニットは,
複数の積和演算ユニットと,
複数の算術論理演算ユニット
とを含む
VLIW型DSP。 - 第1〜第nバンクに,第1〜第nプログラムをそれぞれに記憶するステップと,
前記第1〜第nプログラムに含まれるコードのうち,実行されるべき実行コードが保存されているアドレスをそれぞれに指定するステップと,
指定された前記アドレスに保存されている前記実行コードを,それぞれ前記第1〜第nバンクから受け取るステップと,
受け取られた前記実行コードを結合して一の再配置化コードを生成するステップと,
前記再配置化コードを,一の命令実行サイクルで実行するステップ
とを含む
VLIW型DSPの動作方法。 - 前記再配置化コードを生成するステップは,
前記第1〜第nプログラムの前記実行コードに記述されているレジスタが,それぞれ,第1〜第nレジスタファイルのレジスタに割り当てられるように前記実行コードを書き換えるステップと,
書き換えられた前記実行コードを結合して前記再配置化コードを生成するステップ
とを備えた
VLIW型DSPの動作方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003425838A JP4202244B2 (ja) | 2003-12-22 | 2003-12-22 | Vliw型dsp,及びその動作方法 |
US11/008,927 US7552313B2 (en) | 2003-12-22 | 2004-12-13 | VLIW digital signal processor for achieving improved binary translation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003425838A JP4202244B2 (ja) | 2003-12-22 | 2003-12-22 | Vliw型dsp,及びその動作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005182659A true JP2005182659A (ja) | 2005-07-07 |
JP4202244B2 JP4202244B2 (ja) | 2008-12-24 |
Family
ID=34675440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003425838A Expired - Fee Related JP4202244B2 (ja) | 2003-12-22 | 2003-12-22 | Vliw型dsp,及びその動作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7552313B2 (ja) |
JP (1) | JP4202244B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009545823A (ja) * | 2006-08-02 | 2009-12-24 | クゥアルコム・インコーポレイテッド | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7739481B1 (en) * | 2007-09-06 | 2010-06-15 | Altera Corporation | Parallelism with variable partitioning and threading |
TWI432953B (zh) | 2010-12-09 | 2014-04-01 | Ind Tech Res Inst | 具電源管理之超長指令處理器以及其電源管理裝置與方法 |
US11437032B2 (en) | 2017-09-29 | 2022-09-06 | Shanghai Cambricon Information Technology Co., Ltd | Image processing apparatus and method |
EP3640863B1 (en) | 2018-02-13 | 2021-10-27 | Shanghai Cambricon Information Technology Co., Ltd | Computation device and method |
US11620130B2 (en) | 2018-02-13 | 2023-04-04 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11630666B2 (en) | 2018-02-13 | 2023-04-18 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
CN116991225A (zh) | 2018-02-14 | 2023-11-03 | 上海寒武纪信息科技有限公司 | 处理器的控制装置、方法及设备 |
EP3624020A4 (en) | 2018-05-18 | 2021-05-05 | Shanghai Cambricon Information Technology Co., Ltd | CALCULATION PROCEDURES AND RELATED PRODUCTS |
JP7053891B2 (ja) | 2018-06-27 | 2022-04-12 | シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッド | オンチップコードのブレークポイントによるデバッグ方法、オンチッププロセッサ及びブレークポイントによるチップデバッグシステム |
JP6867518B2 (ja) | 2018-08-28 | 2021-04-28 | カンブリコン テクノロジーズ コーポレイション リミティド | データ前処理方法、装置、コンピュータ機器及び記憶媒体 |
US11703939B2 (en) | 2018-09-28 | 2023-07-18 | Shanghai Cambricon Information Technology Co., Ltd | Signal processing device and related products |
CN111383638A (zh) | 2018-12-28 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 信号处理装置、信号处理方法及相关产品 |
US11847554B2 (en) | 2019-04-18 | 2023-12-19 | Cambricon Technologies Corporation Limited | Data processing method and related products |
CN111832739B (zh) | 2019-04-18 | 2024-01-09 | 中科寒武纪科技股份有限公司 | 一种数据处理方法及相关产品 |
CN112085189B (zh) | 2019-06-12 | 2024-03-29 | 上海寒武纪信息科技有限公司 | 一种神经网络的量化参数确定方法及相关产品 |
US11676029B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3311462B2 (ja) | 1994-02-23 | 2002-08-05 | 富士通株式会社 | コンパイル処理装置 |
US5880984A (en) * | 1997-01-13 | 1999-03-09 | International Business Machines Corporation | Method and apparatus for performing high-precision multiply-add calculations using independent multiply and add instruments |
US6170051B1 (en) * | 1997-08-01 | 2001-01-02 | Micron Technology, Inc. | Apparatus and method for program level parallelism in a VLIW processor |
US6026478A (en) * | 1997-08-01 | 2000-02-15 | Micron Technology, Inc. | Split embedded DRAM processor |
KR100280460B1 (ko) * | 1998-04-08 | 2001-02-01 | 김영환 | 데이터 처리 장치 및 이의 복수의 스레드 처리 방법 |
US6317820B1 (en) * | 1998-06-05 | 2001-11-13 | Texas Instruments Incorporated | Dual-mode VLIW architecture providing a software-controlled varying mix of instruction-level and task-level parallelism |
US20010052053A1 (en) * | 2000-02-08 | 2001-12-13 | Mario Nemirovsky | Stream processing unit for a multi-streaming processor |
JP2003140910A (ja) | 2001-11-05 | 2003-05-16 | Hitachi Ltd | Vliwプロセッサにおけるバイナリトランスレーション方法 |
-
2003
- 2003-12-22 JP JP2003425838A patent/JP4202244B2/ja not_active Expired - Fee Related
-
2004
- 2004-12-13 US US11/008,927 patent/US7552313B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009545823A (ja) * | 2006-08-02 | 2009-12-24 | クゥアルコム・インコーポレイテッド | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
US8417922B2 (en) | 2006-08-02 | 2013-04-09 | Qualcomm Incorporated | Method and system to combine multiple register units within a microprocessor |
JP2013218709A (ja) * | 2006-08-02 | 2013-10-24 | Qualcomm Inc | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
JP2013242879A (ja) * | 2006-08-02 | 2013-12-05 | Qualcomm Inc | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
Also Published As
Publication number | Publication date |
---|---|
US7552313B2 (en) | 2009-06-23 |
JP4202244B2 (ja) | 2008-12-24 |
US20050138327A1 (en) | 2005-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4202244B2 (ja) | Vliw型dsp,及びその動作方法 | |
JP3120152B2 (ja) | コンピューターシステム | |
US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
JP5611756B2 (ja) | プログラム・フロー制御 | |
US20020029333A1 (en) | Methods and apparatus for branch prediction using hybrid history with index sharing | |
KR20040016829A (ko) | 파이프라인식 프로세서에서의 예외 취급 방법, 장치 및시스템 | |
CN108319559B (zh) | 用于控制矢量内存存取的数据处理装置及方法 | |
JP2002024011A (ja) | プロセッサにおける命令の叙述された実行 | |
US20230084523A1 (en) | Data Processing Method and Device, and Storage Medium | |
US6892295B2 (en) | Processing architecture having an array bounds check capability | |
JP2001290658A (ja) | マッピング回路及び方法 | |
JP2004529405A (ja) | 依存性を決定するためのコンテンツ・アドレス指定可能メモリを実装したスーパースケーラ・プロセッサ | |
US8285976B2 (en) | Method and apparatus for predicting branches using a meta predictor | |
US7065754B1 (en) | Method and apparatus for switching between multiple implementations of a routine | |
JPH0748187B2 (ja) | レジスタ間接モードを用いる汎用メモリ・アクセス方法およびコンピュータ・システム | |
KR102458467B1 (ko) | 벡터 생성 명령 | |
JP2006506727A (ja) | コピーレジスタファイルを有するvliw | |
US8275978B1 (en) | Execution of conditional branch instruction specifying branch point operand to be stored in jump stack with branch destination for jumping to upon matching program counter value | |
US5729729A (en) | System for fast trap generation by creation of possible trap masks from early trap indicators and selecting one mask using late trap indicators | |
JP3325309B2 (ja) | サブルーチンリターン命令処理装置 | |
JP5311008B2 (ja) | 信号処理プロセッサ及び半導体装置 | |
JP4151497B2 (ja) | パイプライン処理装置 | |
US20100185834A1 (en) | Data Storing Method and Processor Using the Same | |
US9164761B2 (en) | Obtaining data in a pipelined processor | |
JP5263497B2 (ja) | 信号処理プロセッサ及び半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061109 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080618 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080620 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080819 |
|
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: 20080912 |
|
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: 20081008 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111017 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |