CN109101276A - 在cpu中执行指令的方法 - Google Patents
在cpu中执行指令的方法 Download PDFInfo
- Publication number
- CN109101276A CN109101276A CN201810922723.5A CN201810922723A CN109101276A CN 109101276 A CN109101276 A CN 109101276A CN 201810922723 A CN201810922723 A CN 201810922723A CN 109101276 A CN109101276 A CN 109101276A
- Authority
- CN
- China
- Prior art keywords
- instruction
- target
- thread queue
- cpu
- target word
- 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 33
- 238000000605 extraction Methods 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims description 3
- 230000008901 benefit Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000012913 prioritisation Methods 0.000 description 2
- 101150071111 FADD gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- 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
- 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/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- 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/3804—Instruction prefetching for branches, e.g. hedging, branch folding
- G06F9/3806—Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
-
- 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
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- 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/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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- 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/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/452—Instruction code
-
- 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)
- Multimedia (AREA)
- Advance Control (AREA)
Abstract
Description
Claims (9)
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810922723.5A CN109101276B (zh) | 2018-08-14 | 2018-08-14 | 在cpu中执行指令的方法 |
TW108120456A TWI719501B (zh) | 2018-08-14 | 2019-06-13 | 中央處理單元(cpu)、中央處理單元(cpu)控制器與在中央處理單元(cpu)中執行指令的方法 |
PCT/CN2019/092241 WO2020034753A1 (zh) | 2018-08-14 | 2019-06-21 | 在cpu中执行指令的方法 |
SG11202010825QA SG11202010825QA (en) | 2018-08-14 | 2019-06-21 | Method for executing instructions in cpu |
EP19849120.1A EP3779682A4 (en) | 2018-08-14 | 2019-06-21 | METHOD OF EXECUTING INSTRUCTIONS IN A CPU |
US17/082,509 US11579885B2 (en) | 2018-08-14 | 2020-10-28 | Method for replenishing a thread queue with a target instruction of a jump instruction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810922723.5A CN109101276B (zh) | 2018-08-14 | 2018-08-14 | 在cpu中执行指令的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109101276A true CN109101276A (zh) | 2018-12-28 |
CN109101276B CN109101276B (zh) | 2020-05-05 |
Family
ID=64849591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810922723.5A Active CN109101276B (zh) | 2018-08-14 | 2018-08-14 | 在cpu中执行指令的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11579885B2 (zh) |
EP (1) | EP3779682A4 (zh) |
CN (1) | CN109101276B (zh) |
SG (1) | SG11202010825QA (zh) |
TW (1) | TWI719501B (zh) |
WO (1) | WO2020034753A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947564A (zh) * | 2019-03-07 | 2019-06-28 | 阿里巴巴集团控股有限公司 | 业务处理方法、装置、设备及存储介质 |
WO2020034753A1 (zh) * | 2018-08-14 | 2020-02-20 | 阿里巴巴集团控股有限公司 | 在cpu中执行指令的方法 |
CN111538535A (zh) * | 2020-04-28 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种cpu指令处理方法、控制器和中央处理单元 |
CN117931294A (zh) * | 2024-03-22 | 2024-04-26 | 芯来智融半导体科技(上海)有限公司 | 指令处理设备和处理*** |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113900910A (zh) * | 2021-12-08 | 2022-01-07 | 北京新唐思创教育科技有限公司 | 应用程序监控方法、装置、存储介质和电子设备 |
CN117112033B (zh) * | 2023-08-28 | 2024-04-12 | 海光信息技术(成都)有限公司 | 随机指令生成方法、装置、设备以及存储介质 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870577A (en) * | 1996-11-27 | 1999-02-09 | International Business Machines, Corp. | System and method for dispatching two instructions to the same execution unit in a single cycle |
CN1673955A (zh) * | 2004-03-26 | 2005-09-28 | 国际商业机器公司 | 减少指令高速缓存和流水线处理器之间等待时间的装置和方法 |
CN1692331A (zh) * | 2002-09-06 | 2005-11-02 | 美普思科技有限公司 | 利用跳转指令清除冒险的方法及设备 |
US20060095733A1 (en) * | 2004-09-08 | 2006-05-04 | Samsung Electronics Co., Ltd. | Hardware device for executing conditional instruction out-of-order fetch and execution method thereof |
CN1790256A (zh) * | 2004-12-17 | 2006-06-21 | 国际商业机器公司 | 用于微处理器的分支前瞻预取 |
CN101118486A (zh) * | 2006-06-29 | 2008-02-06 | 英特尔公司 | 多执行线程的分区流水线执行的方法和设备 |
CN101223504A (zh) * | 2005-05-18 | 2008-07-16 | 高通股份有限公司 | 高速缓存用于多状态处理器的指令 |
CN101770358A (zh) * | 2010-02-10 | 2010-07-07 | 北京龙芯中科技术服务中心有限公司 | 微处理器跳转指令分支预测处理***和方法 |
CN102520913A (zh) * | 2011-11-03 | 2012-06-27 | 浙江大学 | 基于分组更新历史信息的并行分支预测装置 |
CN102968293A (zh) * | 2012-11-28 | 2013-03-13 | 中国人民解放军国防科学技术大学 | 基于指令队列的程序循环代码动态检测及执行方法 |
CN103677965A (zh) * | 2014-01-03 | 2014-03-26 | 北京神舟航天软件技术有限公司 | 一种全数字快速仿真技术 |
CN104156196A (zh) * | 2014-06-12 | 2014-11-19 | 龚伟峰 | 重命名预处理方法 |
CN104731557A (zh) * | 2014-12-10 | 2015-06-24 | 康烁 | 指令执行的控制方法及装置 |
CN104793921A (zh) * | 2015-04-29 | 2015-07-22 | 深圳芯邦科技股份有限公司 | 一种指令分支预测方法与*** |
CN104978282A (zh) * | 2014-04-04 | 2015-10-14 | 上海芯豪微电子有限公司 | 一种缓存***和方法 |
CN105308557A (zh) * | 2014-04-28 | 2016-02-03 | 华为技术有限公司 | 一种数据处理装置及方法 |
CN105786448A (zh) * | 2014-12-26 | 2016-07-20 | 深圳市中兴微电子技术有限公司 | 一种指令调度方法及装置 |
CN107688468A (zh) * | 2016-12-23 | 2018-02-13 | 北京国睿中数科技股份有限公司 | 推测执行处理器中分支指令与分支预测功能的验证方法 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5604909A (en) | 1993-12-15 | 1997-02-18 | Silicon Graphics Computer Systems, Inc. | Apparatus for processing instructions in a computing system |
US5956753A (en) * | 1993-12-30 | 1999-09-21 | Intel Corporation | Method and apparatus for handling speculative memory access operations |
US6185675B1 (en) * | 1997-10-24 | 2001-02-06 | Advanced Micro Devices, Inc. | Basic block oriented trace cache utilizing a basic block sequence buffer to indicate program order of cached basic blocks |
US6742111B2 (en) * | 1998-08-31 | 2004-05-25 | Stmicroelectronics, Inc. | Reservation stations to increase instruction level parallelism |
US6339822B1 (en) * | 1998-10-02 | 2002-01-15 | Advanced Micro Devices, Inc. | Using padded instructions in a block-oriented cache |
US6647462B1 (en) * | 2000-06-29 | 2003-11-11 | Motorola, Inc. | Apparatus and a method for providing decoded information |
US7139898B1 (en) * | 2000-11-03 | 2006-11-21 | Mips Technologies, Inc. | Fetch and dispatch disassociation apparatus for multistreaming processors |
US7089557B2 (en) * | 2001-04-10 | 2006-08-08 | Rusty Shawn Lee | Data processing system and method for high-efficiency multitasking |
US7076640B2 (en) * | 2002-02-05 | 2006-07-11 | Sun Microsystems, Inc. | Processor that eliminates mis-steering instruction fetch resulting from incorrect resolution of mis-speculated branch instructions |
US7024663B2 (en) * | 2002-07-10 | 2006-04-04 | Micron Technology, Inc. | Method and system for generating object code to facilitate predictive memory retrieval |
US7890735B2 (en) | 2004-08-30 | 2011-02-15 | Texas Instruments Incorporated | Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture |
US7613904B2 (en) | 2005-02-04 | 2009-11-03 | Mips Technologies, Inc. | Interfacing external thread prioritizing policy enforcing logic with customer modifiable register to processor internal scheduler |
US7437543B2 (en) | 2005-04-19 | 2008-10-14 | International Business Machines Corporation | Reducing the fetch time of target instructions of a predicted taken branch instruction |
US7761697B1 (en) * | 2005-07-13 | 2010-07-20 | Nvidia Corporation | Processing an indirect branch instruction in a SIMD architecture |
US7953933B1 (en) * | 2005-09-28 | 2011-05-31 | Oracle America, Inc. | Instruction cache, decoder circuit, basic block cache circuit and multi-block cache circuit |
US7475231B2 (en) | 2005-11-14 | 2009-01-06 | Texas Instruments Incorporated | Loop detection and capture in the instruction queue |
US8812822B2 (en) | 2006-02-09 | 2014-08-19 | International Business Machines Corporation | Scheduling instructions in a cascaded delayed execution pipeline to minimize pipeline stalls caused by a cache miss |
US7487340B2 (en) | 2006-06-08 | 2009-02-03 | International Business Machines Corporation | Local and global branch prediction information storage |
US7711929B2 (en) | 2007-08-30 | 2010-05-04 | International Business Machines Corporation | Method and system for tracking instruction dependency in an out-of-order processor |
KR101406693B1 (ko) | 2008-07-02 | 2014-06-12 | 고쿠리츠다이가쿠호진 토쿄고교 다이가꾸 | 실행시간 추정방법, 실행시간 추정 프로그램 및 실행시간 추정장치 |
JP5471082B2 (ja) | 2009-06-30 | 2014-04-16 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
CN102855121B (zh) * | 2011-06-29 | 2017-04-19 | 上海芯豪微电子有限公司 | 分支处理方法与*** |
US9286072B2 (en) | 2011-10-03 | 2016-03-15 | International Business Machines Corporation | Using register last use infomation to perform decode-time computer instruction optimization |
US9329869B2 (en) | 2011-10-03 | 2016-05-03 | International Business Machines Corporation | Prefix computer instruction for compatibily extending instruction functionality |
US9354874B2 (en) | 2011-10-03 | 2016-05-31 | International Business Machines Corporation | Scalable decode-time instruction sequence optimization of dependent instructions |
US9298469B2 (en) | 2012-06-15 | 2016-03-29 | International Business Machines Corporation | Management of multiple nested transactions |
US9535695B2 (en) | 2013-01-25 | 2017-01-03 | Apple Inc. | Completing load and store instructions in a weakly-ordered memory model |
CN103984523B (zh) * | 2013-02-08 | 2017-06-09 | 上海芯豪微电子有限公司 | 多发射指令处理***及方法 |
US9880842B2 (en) | 2013-03-15 | 2018-01-30 | Intel Corporation | Using control flow data structures to direct and track instruction execution |
GB2519103B (en) * | 2013-10-09 | 2020-05-06 | Advanced Risc Mach Ltd | Decoding a complex program instruction corresponding to multiple micro-operations |
US9513904B2 (en) * | 2013-10-15 | 2016-12-06 | Mill Computing, Inc. | Computer processor employing cache memory with per-byte valid bits |
US9477469B2 (en) | 2014-06-02 | 2016-10-25 | International Business Machines Corporation | Branch predictor suppressing branch prediction of previously executed branch instructions in a transactional execution environment |
US10503538B2 (en) | 2014-06-02 | 2019-12-10 | International Business Machines Corporation | Delaying branch prediction updates specified by a suspend branch prediction instruction until after a transaction is completed |
US20160378488A1 (en) | 2015-06-26 | 2016-12-29 | Microsoft Technology Licensing, Llc | Access to target address |
US20160378491A1 (en) * | 2015-06-26 | 2016-12-29 | Microsoft Technology Licensing, Llc | Determination of target location for transfer of processor control |
US20170315812A1 (en) | 2016-04-28 | 2017-11-02 | Microsoft Technology Licensing, Llc | Parallel instruction scheduler for block isa processor |
US20180081690A1 (en) * | 2016-09-21 | 2018-03-22 | Qualcomm Incorporated | Performing distributed branch prediction using fused processor cores in processor-based systems |
US10331454B2 (en) * | 2016-09-29 | 2019-06-25 | Intel Corporation | System and method for load balancing in out-of-order clustered decoding |
US20180095766A1 (en) * | 2016-10-05 | 2018-04-05 | Centipede Semi Ltd. | Flushing in a parallelized processor |
US10922087B2 (en) * | 2017-11-30 | 2021-02-16 | International Business Machines Corporation | Block based allocation and deallocation of issue queue entries |
CN109101276B (zh) * | 2018-08-14 | 2020-05-05 | 阿里巴巴集团控股有限公司 | 在cpu中执行指令的方法 |
-
2018
- 2018-08-14 CN CN201810922723.5A patent/CN109101276B/zh active Active
-
2019
- 2019-06-13 TW TW108120456A patent/TWI719501B/zh active
- 2019-06-21 WO PCT/CN2019/092241 patent/WO2020034753A1/zh unknown
- 2019-06-21 EP EP19849120.1A patent/EP3779682A4/en active Pending
- 2019-06-21 SG SG11202010825QA patent/SG11202010825QA/en unknown
-
2020
- 2020-10-28 US US17/082,509 patent/US11579885B2/en active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870577A (en) * | 1996-11-27 | 1999-02-09 | International Business Machines, Corp. | System and method for dispatching two instructions to the same execution unit in a single cycle |
CN1692331A (zh) * | 2002-09-06 | 2005-11-02 | 美普思科技有限公司 | 利用跳转指令清除冒险的方法及设备 |
CN1673955A (zh) * | 2004-03-26 | 2005-09-28 | 国际商业机器公司 | 减少指令高速缓存和流水线处理器之间等待时间的装置和方法 |
US20060095733A1 (en) * | 2004-09-08 | 2006-05-04 | Samsung Electronics Co., Ltd. | Hardware device for executing conditional instruction out-of-order fetch and execution method thereof |
CN1790256A (zh) * | 2004-12-17 | 2006-06-21 | 国际商业机器公司 | 用于微处理器的分支前瞻预取 |
CN101223504A (zh) * | 2005-05-18 | 2008-07-16 | 高通股份有限公司 | 高速缓存用于多状态处理器的指令 |
CN101118486A (zh) * | 2006-06-29 | 2008-02-06 | 英特尔公司 | 多执行线程的分区流水线执行的方法和设备 |
CN101770358A (zh) * | 2010-02-10 | 2010-07-07 | 北京龙芯中科技术服务中心有限公司 | 微处理器跳转指令分支预测处理***和方法 |
CN102520913A (zh) * | 2011-11-03 | 2012-06-27 | 浙江大学 | 基于分组更新历史信息的并行分支预测装置 |
CN102968293A (zh) * | 2012-11-28 | 2013-03-13 | 中国人民解放军国防科学技术大学 | 基于指令队列的程序循环代码动态检测及执行方法 |
CN103677965A (zh) * | 2014-01-03 | 2014-03-26 | 北京神舟航天软件技术有限公司 | 一种全数字快速仿真技术 |
CN104978282A (zh) * | 2014-04-04 | 2015-10-14 | 上海芯豪微电子有限公司 | 一种缓存***和方法 |
CN105308557A (zh) * | 2014-04-28 | 2016-02-03 | 华为技术有限公司 | 一种数据处理装置及方法 |
CN104156196A (zh) * | 2014-06-12 | 2014-11-19 | 龚伟峰 | 重命名预处理方法 |
CN104731557A (zh) * | 2014-12-10 | 2015-06-24 | 康烁 | 指令执行的控制方法及装置 |
CN105786448A (zh) * | 2014-12-26 | 2016-07-20 | 深圳市中兴微电子技术有限公司 | 一种指令调度方法及装置 |
CN104793921A (zh) * | 2015-04-29 | 2015-07-22 | 深圳芯邦科技股份有限公司 | 一种指令分支预测方法与*** |
CN107688468A (zh) * | 2016-12-23 | 2018-02-13 | 北京国睿中数科技股份有限公司 | 推测执行处理器中分支指令与分支预测功能的验证方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020034753A1 (zh) * | 2018-08-14 | 2020-02-20 | 阿里巴巴集团控股有限公司 | 在cpu中执行指令的方法 |
US11579885B2 (en) | 2018-08-14 | 2023-02-14 | Advanced New Technologies Co., Ltd. | Method for replenishing a thread queue with a target instruction of a jump instruction |
CN109947564A (zh) * | 2019-03-07 | 2019-06-28 | 阿里巴巴集团控股有限公司 | 业务处理方法、装置、设备及存储介质 |
CN109947564B (zh) * | 2019-03-07 | 2023-04-11 | 蚂蚁金服(杭州)网络技术有限公司 | 业务处理方法、装置、设备及存储介质 |
CN111538535A (zh) * | 2020-04-28 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种cpu指令处理方法、控制器和中央处理单元 |
WO2021218633A1 (zh) * | 2020-04-28 | 2021-11-04 | 支付宝(杭州)信息技术有限公司 | Cpu指令处理方法、控制器和中央处理单元 |
CN117931294A (zh) * | 2024-03-22 | 2024-04-26 | 芯来智融半导体科技(上海)有限公司 | 指令处理设备和处理*** |
Also Published As
Publication number | Publication date |
---|---|
TWI719501B (zh) | 2021-02-21 |
SG11202010825QA (en) | 2020-11-27 |
US11579885B2 (en) | 2023-02-14 |
EP3779682A4 (en) | 2021-06-09 |
EP3779682A1 (en) | 2021-02-17 |
CN109101276B (zh) | 2020-05-05 |
TW202009692A (zh) | 2020-03-01 |
WO2020034753A1 (zh) | 2020-02-20 |
US20210042122A1 (en) | 2021-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109101276A (zh) | 在cpu中执行指令的方法 | |
US5974538A (en) | Method and apparatus for annotating operands in a computer system with source instruction identifiers | |
CN106406814B (zh) | 处理器和将架构指令转译成微指令的方法 | |
KR101225075B1 (ko) | 실행되는 명령의 결과를 선택적으로 커밋하는 시스템 및 방법 | |
EP0106667A2 (en) | Central processing unit | |
US9811340B2 (en) | Method and apparatus for reconstructing real program order of instructions in multi-strand out-of-order processor | |
US6564313B1 (en) | System and method for efficient instruction prefetching based on loop periods | |
CN102414659B (zh) | 用于在多线程微处理器中调度指令的发布的方法和设备 | |
CN101449238A (zh) | 本地和全局分支预测信息存储 | |
KR20180021812A (ko) | 연속하는 블록을 병렬 실행하는 블록 기반의 아키텍쳐 | |
US20130086564A1 (en) | Methods and systems for optimizing execution of a program in an environment having simultaneously parallel and serial processing capability | |
CN104346223A (zh) | 基于类型的优先化指令 | |
JPH0628184A (ja) | ブランチ予測方法及びブランチプロセッサ | |
CN109196485A (zh) | 用于维持非均匀计算装置中的数据一致性的方法和设备 | |
Chappell et al. | Difficult-path branch prediction using subordinate microthreads | |
CN109313554A (zh) | 用于在非均匀计算装置中进行调度的方法和设备 | |
EP0655679A2 (en) | Method and apparatus for controlling instruction in pipeline processor | |
US20160092182A1 (en) | Methods and systems for optimizing execution of a program in a parallel processing environment | |
US20230315471A1 (en) | Method and system for hardware-assisted pre-execution | |
US20160110200A1 (en) | Flexible instruction execution in a processor pipeline | |
JP2012150634A (ja) | ベクトル命令制御回路及びリストベクトルの追い越し制御方法 | |
US20040268098A1 (en) | Exploiting parallelism across VLIW traces | |
CN118051265A (zh) | 用于前端聚集/分散存储器合并的方法和装置 | |
CN107430511A (zh) | 基于预监控的指令序列的并行执行 | |
US11928470B1 (en) | Advancing a program counter to a start of a subsequent cache line based on a straddling group indicator in a current cache line |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40002154 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201009 Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands Patentee after: Innovative advanced technology Co.,Ltd. Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands Patentee before: Advanced innovation technology Co.,Ltd. Effective date of registration: 20201009 Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands Patentee after: Advanced innovation technology Co.,Ltd. Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Patentee before: Alibaba Group Holding Ltd. |