CN101201733A - 预解码用于执行的指令的方法及装置 - Google Patents
预解码用于执行的指令的方法及装置 Download PDFInfo
- Publication number
- CN101201733A CN101201733A CNA2007101866393A CN200710186639A CN101201733A CN 101201733 A CN101201733 A CN 101201733A CN A2007101866393 A CNA2007101866393 A CN A2007101866393A CN 200710186639 A CN200710186639 A CN 200710186639A CN 101201733 A CN101201733 A CN 101201733A
- Authority
- CN
- China
- Prior art keywords
- dos
- instruction
- command line
- pre decoding
- decoding
- 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 24
- 230000005540 biological transmission Effects 0.000 claims description 53
- 230000008859 change Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 13
- 230000001419 dependent effect Effects 0.000 abstract description 18
- 230000003111 delayed effect Effects 0.000 abstract description 4
- 230000015572 biosynthetic process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 238000007792 addition Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 238000010248 power generation Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 206010012186 Delayed delivery Diseases 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000004088 simulation 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 or look ahead
- G06F9/3802—Instruction prefetching
-
- 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/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
-
- 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/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 or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/382—Pipelined decoding, e.g. using predecoding
-
- 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/3824—Operand accessing
-
- 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/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
- G06F9/3828—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage with global bypass, e.g. between pipelines, between clusters
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
-
- 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/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 or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
- G06F9/38585—Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
-
- 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/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- 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/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
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)
Abstract
Description
Claims (20)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/610,214 US20080148020A1 (en) | 2006-12-13 | 2006-12-13 | Low Cost Persistent Instruction Predecoded Issue and Dispatcher |
US11/610,214 | 2006-12-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101201733A true CN101201733A (zh) | 2008-06-18 |
CN100559343C CN100559343C (zh) | 2009-11-11 |
Family
ID=39516909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101866393A Expired - Fee Related CN100559343C (zh) | 2006-12-13 | 2007-11-14 | 预解码用于执行的指令的方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080148020A1 (zh) |
CN (1) | CN100559343C (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102647589A (zh) * | 2011-02-18 | 2012-08-22 | Arm有限公司 | 并行视频解码 |
CN103279379A (zh) * | 2011-12-22 | 2013-09-04 | 辉达公司 | 用于在没有指令解码的情况下调度指令的方法和装置 |
CN101676865B (zh) * | 2008-09-19 | 2013-11-27 | 国际商业机器公司 | 处理器和计算机*** |
CN103997469A (zh) * | 2014-05-27 | 2014-08-20 | 华为技术有限公司 | 一种网络处理器配置方法以及网络处理器 |
CN107810484A (zh) * | 2015-06-26 | 2018-03-16 | 微软技术许可有限责任公司 | 用于处理器的显式指令调度器状态信息 |
CN108427574A (zh) * | 2011-11-22 | 2018-08-21 | 英特尔公司 | 微处理器加速的代码优化器 |
CN111124492A (zh) * | 2019-12-16 | 2020-05-08 | 海光信息技术有限公司 | 指令生成方法、装置、指令执行方法、处理器及电子设备 |
US11048517B2 (en) | 2015-06-26 | 2021-06-29 | Microsoft Technology Licensing, Llc | Decoupled processor instruction window and operand buffer |
CN114116533A (zh) * | 2021-11-29 | 2022-03-01 | 海光信息技术股份有限公司 | 利用共享存储器存储数据的方法 |
US11656875B2 (en) | 2013-03-15 | 2023-05-23 | Intel Corporation | Method and system for instruction block to execution unit grouping |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8001361B2 (en) * | 2006-12-13 | 2011-08-16 | International Business Machines Corporation | Structure for a single shared instruction predecoder for supporting multiple processors |
US7945763B2 (en) | 2006-12-13 | 2011-05-17 | International Business Machines Corporation | Single shared instruction predecoder for supporting multiple processors |
US9170816B2 (en) * | 2009-01-15 | 2015-10-27 | Altair Semiconductor Ltd. | Enhancing processing efficiency in large instruction width processors |
CN104915180B (zh) * | 2014-03-10 | 2017-12-22 | 华为技术有限公司 | 一种数据操作的方法和设备 |
WO2015155894A1 (ja) * | 2014-04-11 | 2015-10-15 | 株式会社Murakumo | プロセッサーおよび方法 |
DE102017208838A1 (de) * | 2017-05-24 | 2018-11-29 | Wago Verwaltungsgesellschaft Mbh | Vorladen von Instruktionen |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5689672A (en) * | 1993-10-29 | 1997-11-18 | Advanced Micro Devices, Inc. | Pre-decoded instruction cache and method therefor particularly suitable for variable byte-length instructions |
US5922065A (en) * | 1997-10-13 | 1999-07-13 | Institute For The Development Of Emerging Architectures, L.L.C. | Processor utilizing a template field for encoding instruction sequences in a wide-word format |
US6092182A (en) * | 1998-06-24 | 2000-07-18 | Advanced Micro Devices, Inc. | Using ECC/parity bits to store predecode information |
US6564298B2 (en) * | 2000-12-22 | 2003-05-13 | Intel Corporation | Front end system having multiple decoding modes |
US6832305B2 (en) * | 2001-03-14 | 2004-12-14 | Samsung Electronics Co., Ltd. | Method and apparatus for executing coprocessor instructions |
US6804799B2 (en) * | 2001-06-26 | 2004-10-12 | Advanced Micro Devices, Inc. | Using type bits to track storage of ECC and predecode bits in a level two cache |
US7509481B2 (en) * | 2006-03-03 | 2009-03-24 | Sun Microsystems, Inc. | Patchable and/or programmable pre-decode |
US20070288725A1 (en) * | 2006-06-07 | 2007-12-13 | Luick David A | A Fast and Inexpensive Store-Load Conflict Scheduling and Forwarding Mechanism |
US8756404B2 (en) * | 2006-12-11 | 2014-06-17 | International Business Machines Corporation | Cascaded delayed float/vector execution pipeline |
US7945763B2 (en) * | 2006-12-13 | 2011-05-17 | International Business Machines Corporation | Single shared instruction predecoder for supporting multiple processors |
US8001361B2 (en) * | 2006-12-13 | 2011-08-16 | International Business Machines Corporation | Structure for a single shared instruction predecoder for supporting multiple processors |
-
2006
- 2006-12-13 US US11/610,214 patent/US20080148020A1/en not_active Abandoned
-
2007
- 2007-11-14 CN CNB2007101866393A patent/CN100559343C/zh not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101676865B (zh) * | 2008-09-19 | 2013-11-27 | 国际商业机器公司 | 处理器和计算机*** |
CN102647589B (zh) * | 2011-02-18 | 2016-12-28 | Arm有限公司 | 并行视频解码 |
CN102647589A (zh) * | 2011-02-18 | 2012-08-22 | Arm有限公司 | 并行视频解码 |
CN108427574A (zh) * | 2011-11-22 | 2018-08-21 | 英特尔公司 | 微处理器加速的代码优化器 |
CN103279379A (zh) * | 2011-12-22 | 2013-09-04 | 辉达公司 | 用于在没有指令解码的情况下调度指令的方法和装置 |
US11656875B2 (en) | 2013-03-15 | 2023-05-23 | Intel Corporation | Method and system for instruction block to execution unit grouping |
CN103997469A (zh) * | 2014-05-27 | 2014-08-20 | 华为技术有限公司 | 一种网络处理器配置方法以及网络处理器 |
CN103997469B (zh) * | 2014-05-27 | 2017-03-08 | 华为技术有限公司 | 一种网络处理器配置方法以及网络处理器 |
CN107810484A (zh) * | 2015-06-26 | 2018-03-16 | 微软技术许可有限责任公司 | 用于处理器的显式指令调度器状态信息 |
CN107810484B (zh) * | 2015-06-26 | 2021-04-16 | 微软技术许可有限责任公司 | 用于处理器的显式指令调度器状态信息 |
US11048517B2 (en) | 2015-06-26 | 2021-06-29 | Microsoft Technology Licensing, Llc | Decoupled processor instruction window and operand buffer |
CN111124492A (zh) * | 2019-12-16 | 2020-05-08 | 海光信息技术有限公司 | 指令生成方法、装置、指令执行方法、处理器及电子设备 |
CN114116533A (zh) * | 2021-11-29 | 2022-03-01 | 海光信息技术股份有限公司 | 利用共享存储器存储数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100559343C (zh) | 2009-11-11 |
US20080148020A1 (en) | 2008-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101201734B (zh) | 预解码用于执行的指令的方法及装置 | |
CN100559343C (zh) | 预解码用于执行的指令的方法及装置 | |
US8756404B2 (en) | Cascaded delayed float/vector execution pipeline | |
US8135941B2 (en) | Vector morphing mechanism for multiple processor cores | |
US7487340B2 (en) | Local and global branch prediction information storage | |
CN101449237B (zh) | 快速和廉价的存储-加载冲突调度和转送机制 | |
US7870368B2 (en) | System and method for prioritizing branch instructions | |
US20070288733A1 (en) | Early Conditional Branch Resolution | |
US20050132138A1 (en) | Memory cache bank prediction | |
CN108287730A (zh) | 一种处理器流水线结构 | |
US20080313438A1 (en) | Unified Cascaded Delayed Execution Pipeline for Fixed and Floating Point Instructions | |
US8001361B2 (en) | Structure for a single shared instruction predecoder for supporting multiple processors | |
CN101046740A (zh) | 用于按需临时寄存器重命名的方法和*** | |
US20070288730A1 (en) | Predicated Issue for Conditional Branch Instructions | |
US20070288732A1 (en) | Hybrid Branch Prediction Scheme | |
US6470444B1 (en) | Method and apparatus for dividing a store operation into pre-fetch and store micro-operations | |
US20070288731A1 (en) | Dual Path Issue for Conditional Branch Instructions | |
US20090204791A1 (en) | Compound Instruction Group Formation and Execution | |
US20070288734A1 (en) | Double-Width Instruction Queue for Instruction Execution | |
CN112540792A (zh) | 指令处理方法及装置 | |
JP5128382B2 (ja) | 複数のロード命令を実行するための方法および装置 | |
US20080141252A1 (en) | Cascaded Delayed Execution Pipeline | |
US20080162894A1 (en) | structure for a cascaded delayed execution pipeline | |
US6119220A (en) | Method of and apparatus for supplying multiple instruction strings whose addresses are discontinued by branch instructions | |
US20090204792A1 (en) | Scalar Processor Instruction Level Parallelism (ILP) Coupled Pair Morph Mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: YIWU WADOU PICTURE CO., LTD. Free format text: FORMER OWNER: WANG AIXIANG Effective date: 20101102 |
|
C41 | Transfer of patent application or patent right or utility model | ||
COR | Change of bibliographic data |
Free format text: CORRECT: ADDRESS; FROM: 322000 NO.398, CHOUZHOU WEST ROAD, YIWU CITY, ZHEJIANG PROVINCE TO: 322000 NO.136, QIJIGUANG, ECONOMIC DEVELOPMENT ZONE, CHOUJIANG, YIWU CITY, ZHEJIANG PROVINCE |
|
TR01 | Transfer of patent right |
Effective date of registration: 20101108 Address after: 201203 Shanghai city Pudong New Area Keyuan Road No. 399 Zhang Jiang Zhang Jiang high tech Park Innovation Park 10 Building 7 layer Patentee after: International Business Machines (China) Co., Ltd. Address before: American New York Patentee before: International Business Machines Corp. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091111 Termination date: 20171114 |