JP5193624B2 - データプロセッサ - Google Patents
データプロセッサ Download PDFInfo
- Publication number
- JP5193624B2 JP5193624B2 JP2008037069A JP2008037069A JP5193624B2 JP 5193624 B2 JP5193624 B2 JP 5193624B2 JP 2008037069 A JP2008037069 A JP 2008037069A JP 2008037069 A JP2008037069 A JP 2008037069A JP 5193624 B2 JP5193624 B2 JP 5193624B2
- Authority
- JP
- Japan
- Prior art keywords
- flag
- instruction
- bit
- instructions
- flags
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 4
- 230000007423 decrease Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000001343 mnemonic effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000000758 substrate Substances 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/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch 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/30094—Condition code generation, e.g. Carry, Zero flag
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- 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/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3865—Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
実施の形態について更に詳述する。以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。なお、発明を実施するための最良の形態を説明するための全図において、同一の機能を有する部材には同一の符号を付し、その繰り返しの説明は省略する。
図7には本発明に係るデータプロセッサDPUが例示される。データプロセッサDPUは中央処理装置のようなプロセッサコアCPUを中心に、これに内部バスで接続された不揮発性メモリROM、揮発性メモリRAM、入出力インタフェース回路IOC、及び外部バスインタフェース回路EBIF等を備え、例えば相補型MOS修正回路製造技術により単結晶シリコン等の1個の半導体基板に形成される。不揮発性メモリROMはプロセッサコアCPUが実行するプログラム等の格納領域に利用され、揮発性メモリRAMはプロセッサコアCPUのワーク領域等に利用される。
図3には、本発明の実施形態2に係るフラグ更新プレフィックス命令が概略的に例示される。フラグ更新プレフィックス命令は、更新するフラグの指定、後続命令が生成したフラグのうち使用するフラグの指定、指定した2つのフラグ間の論理演算の指定を行う。フラグを32ビットフラグT及び64ビットフラグUの2種類とすると、更新するフラグの指定に1ビット、後続命令が生成したフラグのうち使用するフラグの指定に1ビット使用する。また、演算を6種類とすると、指定した2つのフラグ間の論理演算の指定には3ビット使用する。したがって、フラグ更新プレフィックス命令は5ビットのオペランドフィールドで指定することができ、大きな命令コード空間を必要としない。
IFU 命令フェッチユニット
IDU 命令デコードユニット
EXU 実行ユニット
LSU ロードストアユニット
DC データキャッシュ
BIU バスインタフェースユニットユニット
IA 命令アドレス
EIA 外部命令アドレス
OP 命令
BRC 分岐制御信号
EXC 実行制御情報
LSC ロードストア制御情報
RF レジスタファイル
EXA,EXB 実行用オペランド
LSA,LSB ロードストア用アドレスオペランド
SD ストアデータ
EXO 実行結果
DA データアドレス
DCSD データキャッシュストアデータ
DCLD データキャッシュロードデータ
ELD 外部ロードデータ
EIA 外部命令アドレス
EA 外部アドレス
ED 外部データ
EI 外部フェッチ命令
ESD 外部ストアデータ
ALU 算術論理演算器
SFT シフタ
FM32 32ビットフラグマルチプレクサ
FM64 64ビットフラグマルチプレクサ
M32 32ビットシフトアウトマルチプレクサ
M64 64ビットシフトアウトビットマルチプレクサ
OMUX 出力マルチプレクサ
T 32ビット演算用フラグ
U 64ビット演算用フラグ
newT 新たな32ビットフラグ
newU 新たな64ビットフラグ
FMUX フラグマルチプレクサ
ALO,SFO 実行結果
GT32 32ビットデータサイズの符号付大フラグ
GU32 32ビットデータサイズの符号なし大フラグ
Z32 32ビットデータサイズのゼロフラグ
V32 32ビットデータサイズのオーバーフローフラグ
C32 32ビットデータサイズのキャリーフラグ
GT64 64ビットデータサイズの符号付大フラグ
GU64 64ビットデータサイズの符号なし大フラグ
Z64 64ビットデータサイズのゼロフラグ
V64 64ビットデータサイズのオーバーフローフラグ
C64 64ビットデータサイズのキャリーフラグ
SL32 32ビット左シフトアウトビット
SL64 64ビット左シフトアウトビット
SR 右シフトアウトビット
SF32 32ビットシフトアウトフラグ
SF64 64ビットシフトアウトフラグ
S32 32ビットフラグソースマルチプレクサ
S64 64ビットフラグソースマルチプレクサ
FL32 32ビットフラグ論理演算器
FL64 64ビットフラグ論理演算器
Claims (2)
- 命令実行部を有する縮小命令セットコンピュータ型のデータプロセッサであって、
前記データプロセッサはフラグの生成を伴う処理を実行するための第1命令及びフラグの使用を伴う処理を実行するための第2命令を命令セットに有し、
前記命令実行部は命令デコード結果に従った処理を行なう演算回路、フラグラッチ回路及びフラグ選択回路を有し、
前記演算回路は、前記第1命令のデコード結果に従って、複数データサイズのオペランドに対して演算処理が可能であって小さいデータサイズのオペランドに対する演算処理と等しい処理を大きいデータサイズのオペランドの下位側に対して行い演算処理されるオペランドのデータサイズに拘わらず夫々のデータサイズに対応するフラグを生成し、
前記フラグラッチ回路は、前記第1命令のデコード結果に従って、前記演算回路で生成されたフラグをラッチし、
前記フラグ選択回路は、前記第2命令のデコード結果に従って、前記フラグラッチ回路にラッチされたフラグを選択し、
前記演算回路はデータサイズ毎に符号付き大小、符号無し大小、ゼロ、オーバーフロー、キャリー、及びシフトアウトビットのフラグを生成し、生成したフラグから一種類のフラグが第1命令で選択されてオペランドサイズ毎に前記フラグラッチ回路にラッチされる、データプロセッサ。 - 前記複数データサイズは、32ビットと64ビットである、請求項1記載のデータプロセッサ。
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008037069A JP5193624B2 (ja) | 2008-02-19 | 2008-02-19 | データプロセッサ |
EP15179650.5A EP2963540B1 (en) | 2008-02-19 | 2009-02-11 | Generation and update of status flags in a data processor |
EP09250343.2A EP2093661B1 (en) | 2008-02-19 | 2009-02-11 | Generation and use of status flags in a data processor |
US12/369,075 US8402254B2 (en) | 2008-02-19 | 2009-02-11 | Flag generation and use in processor with same processing for operation on small size operand as low order bits portion of operation on large size operand |
CN201310187146.7A CN103268218B (zh) | 2008-02-19 | 2009-02-12 | 数据处理器 |
CN200910005794XA CN101515229B (zh) | 2008-02-19 | 2009-02-12 | 数据处理器 |
US13/605,637 US8762689B2 (en) | 2008-02-19 | 2012-09-06 | RISC processor with instruction executing on different size operand and prefix instruction identifying select flag update for respective size |
US14/284,342 US9612838B2 (en) | 2008-02-19 | 2014-05-21 | Data processor including prefix instruction selecting a flag out of a plurality of flags generated by a subsequent instruction operating on multiple operand sizes in parallel |
US15/427,125 US9891921B2 (en) | 2008-02-19 | 2017-02-08 | Data processor selecting a flag out of a plurality of flags generated by an instruction operating on multiple operand sizes in parallel |
US15/844,212 US10235179B2 (en) | 2008-02-19 | 2017-12-15 | Data processor selecting a flag out of a plurality of flags generated by an instruction operating on multiple operand sizes in parallel |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008037069A JP5193624B2 (ja) | 2008-02-19 | 2008-02-19 | データプロセッサ |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013019200A Division JP5610551B2 (ja) | 2013-02-04 | 2013-02-04 | データプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009199118A JP2009199118A (ja) | 2009-09-03 |
JP5193624B2 true JP5193624B2 (ja) | 2013-05-08 |
Family
ID=40474898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008037069A Active JP5193624B2 (ja) | 2008-02-19 | 2008-02-19 | データプロセッサ |
Country Status (4)
Country | Link |
---|---|
US (5) | US8402254B2 (ja) |
EP (2) | EP2093661B1 (ja) |
JP (1) | JP5193624B2 (ja) |
CN (2) | CN103268218B (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2486737B (en) * | 2010-12-24 | 2018-09-19 | Qualcomm Technologies Int Ltd | Instruction execution |
GB2486739B (en) * | 2010-12-24 | 2018-09-19 | Qualcomm Technologies Int Ltd | Instruction execution |
KR102270790B1 (ko) | 2014-10-20 | 2021-06-29 | 삼성전자주식회사 | 데이터 처리 방법 및 장치 |
US10761849B2 (en) * | 2016-09-22 | 2020-09-01 | Intel Corporation | Processors, methods, systems, and instruction conversion modules for instructions with compact instruction encodings due to use of context of a prior instruction |
CN114519112A (zh) * | 2022-01-28 | 2022-05-20 | 北京卓越乐享网络科技有限公司 | 多媒体对象的预测方法、装置、设备、介质和程序产品 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5303358A (en) * | 1990-01-26 | 1994-04-12 | Apple Computer, Inc. | Prefix instruction for modification of a subsequent instruction |
EP0626641B1 (en) * | 1993-05-27 | 2003-04-09 | Matsushita Electric Industrial Co., Ltd. | Processor improved in address management |
JP2832899B2 (ja) * | 1993-05-31 | 1998-12-09 | 松下電器産業株式会社 | データ処理装置およびデータ処理方法 |
US5768574A (en) * | 1995-06-07 | 1998-06-16 | Advanced Micro Devices, Inc. | Microprocessor using an instruction field to expand the condition flags and a computer system employing the microprocessor |
ES2129271T3 (es) * | 1995-06-07 | 1999-06-01 | Advanced Micro Devices Inc | Microprocesador que usa un campo de instrucciones para especificar una funcionalidad expandida y procedimiento asociado. |
US7185180B2 (en) * | 2002-04-02 | 2007-02-27 | Ip-First, Llc | Apparatus and method for selective control of condition code write back |
US6957321B2 (en) * | 2002-06-19 | 2005-10-18 | Intel Corporation | Instruction set extension using operand bearing NOP instructions |
JP3974063B2 (ja) * | 2003-03-24 | 2007-09-12 | 松下電器産業株式会社 | プロセッサおよびコンパイラ |
US7644255B2 (en) * | 2005-01-13 | 2010-01-05 | Sony Computer Entertainment Inc. | Method and apparatus for enable/disable control of SIMD processor slices |
EP1870803A4 (en) * | 2005-03-31 | 2008-04-30 | Matsushita Electric Ind Co Ltd | PROCESSOR |
JP2008037069A (ja) | 2006-08-10 | 2008-02-21 | Nissei Kagaku Kk | 断熱性融着フィルムおよびその製造方法、断熱バリア性融着フィルム |
CN100530164C (zh) * | 2007-12-29 | 2009-08-19 | 中国科学院计算技术研究所 | 一种risc处理器及其寄存器标志位处理方法 |
CN100555225C (zh) * | 2008-03-17 | 2009-10-28 | 中国科学院计算技术研究所 | 一种支持x86虚拟机的risc处理器装置及方法 |
-
2008
- 2008-02-19 JP JP2008037069A patent/JP5193624B2/ja active Active
-
2009
- 2009-02-11 US US12/369,075 patent/US8402254B2/en active Active
- 2009-02-11 EP EP09250343.2A patent/EP2093661B1/en active Active
- 2009-02-11 EP EP15179650.5A patent/EP2963540B1/en active Active
- 2009-02-12 CN CN201310187146.7A patent/CN103268218B/zh active Active
- 2009-02-12 CN CN200910005794XA patent/CN101515229B/zh active Active
-
2012
- 2012-09-06 US US13/605,637 patent/US8762689B2/en active Active
-
2014
- 2014-05-21 US US14/284,342 patent/US9612838B2/en active Active
-
2017
- 2017-02-08 US US15/427,125 patent/US9891921B2/en active Active
- 2017-12-15 US US15/844,212 patent/US10235179B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2963540B1 (en) | 2018-12-19 |
CN101515229B (zh) | 2013-06-19 |
US9612838B2 (en) | 2017-04-04 |
US20130013894A1 (en) | 2013-01-10 |
US20170147350A1 (en) | 2017-05-25 |
JP2009199118A (ja) | 2009-09-03 |
US9891921B2 (en) | 2018-02-13 |
US8402254B2 (en) | 2013-03-19 |
CN101515229A (zh) | 2009-08-26 |
US20140258692A1 (en) | 2014-09-11 |
CN103268218A (zh) | 2013-08-28 |
US20090210658A1 (en) | 2009-08-20 |
EP2093661B1 (en) | 2015-10-07 |
US8762689B2 (en) | 2014-06-24 |
US20180107481A1 (en) | 2018-04-19 |
US10235179B2 (en) | 2019-03-19 |
EP2093661A1 (en) | 2009-08-26 |
EP2963540A1 (en) | 2016-01-06 |
CN103268218B (zh) | 2017-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6456867B2 (ja) | 密結合ヘテロジニアスコンピューティングのためのハードウェアプロセッサ及び方法 | |
JP6761565B2 (ja) | アウトオブオーダーハードウェアソフトウェア協調設計プロセッサにおいてスタック同期命令を用いてプレディケート値のスタックを実装し維持する方法および装置 | |
JP6711480B2 (ja) | ベクトルインデックスロードおよびストアのための方法および装置 | |
JP2816248B2 (ja) | データプロセッサ | |
JP2024038122A (ja) | 行列演算アクセラレータの命令のための装置、方法、およびシステム | |
JP6498226B2 (ja) | プロセッサおよび方法 | |
US10235179B2 (en) | Data processor selecting a flag out of a plurality of flags generated by an instruction operating on multiple operand sizes in parallel | |
US20190004801A1 (en) | Instructions for vector operations with constant values | |
JP2018506096A (ja) | ベクトルビットシャッフルを実行するための方法および装置 | |
JP6738579B2 (ja) | 命令フローを最適化するチェックを実行するための装置および方法 | |
US20030037085A1 (en) | Field processing unit | |
JP2009524167A5 (ja) | ||
JP5610551B2 (ja) | データプロセッサ | |
US7543135B2 (en) | Processor and method for selectively processing instruction to be read using instruction code already in pipeline or already stored in prefetch buffer | |
TWI697836B (zh) | 處理包括高功率及標準指令之指令集的方法與處理器 | |
JP5767374B2 (ja) | データプロセッサ | |
EP1220092A2 (en) | System and method for executing variable latency load operations in a data processor | |
KR101635856B1 (ko) | 데이터 요소에 있는 비트들의 제로화를 위한 시스템, 장치, 및 방법 | |
JP2023035849A (ja) | Bfloat16平方根および/または逆数平方根命令 | |
JPH081600B2 (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100527 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101015 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121108 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121221 |
|
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: 20130110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130204 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5193624 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160208 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |