SG11202010825QA - Method for executing instructions in cpu - Google Patents

Method for executing instructions in cpu

Info

Publication number
SG11202010825QA
SG11202010825QA SG11202010825QA SG11202010825QA SG11202010825QA SG 11202010825Q A SG11202010825Q A SG 11202010825QA SG 11202010825Q A SG11202010825Q A SG 11202010825QA SG 11202010825Q A SG11202010825Q A SG 11202010825QA SG 11202010825Q A SG11202010825Q A SG 11202010825QA
Authority
SG
Singapore
Prior art keywords
cpu
executing instructions
executing
instructions
Prior art date
Application number
SG11202010825QA
Other languages
English (en)
Inventor
Ling Ma
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Publication of SG11202010825QA publication Critical patent/SG11202010825QA/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding
    • G06F9/3806Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/382Pipelined decoding, e.g. using predecoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • G06F9/384Register renaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3856Reordering of instructions, e.g. using queues or age tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/452Instruction code
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
SG11202010825QA 2018-08-14 2019-06-21 Method for executing instructions in cpu SG11202010825QA (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810922723.5A CN109101276B (zh) 2018-08-14 2018-08-14 在cpu中执行指令的方法
PCT/CN2019/092241 WO2020034753A1 (zh) 2018-08-14 2019-06-21 在cpu中执行指令的方法

Publications (1)

Publication Number Publication Date
SG11202010825QA true SG11202010825QA (en) 2020-11-27

Family

ID=64849591

Family Applications (1)

Application Number Title Priority Date Filing Date
SG11202010825QA SG11202010825QA (en) 2018-08-14 2019-06-21 Method for executing instructions in 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)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101276B (zh) 2018-08-14 2020-05-05 阿里巴巴集团控股有限公司 在cpu中执行指令的方法
CN116126538A (zh) * 2019-03-07 2023-05-16 创新先进技术有限公司 业务处理方法、装置、设备及存储介质
CN111538535B (zh) * 2020-04-28 2021-09-21 支付宝(杭州)信息技术有限公司 一种cpu指令处理方法、控制器和中央处理单元
CN113900910A (zh) * 2021-12-08 2022-01-07 北京新唐思创教育科技有限公司 应用程序监控方法、装置、存储介质和电子设备
CN117112033B (zh) * 2023-08-28 2024-04-12 海光信息技术(成都)有限公司 随机指令生成方法、装置、设备以及存储介质
CN117931294A (zh) * 2024-03-22 2024-04-26 芯来智融半导体科技(上海)有限公司 指令处理设备和处理系统

Family Cites Families (59)

* Cited by examiner, † Cited by third party
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
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
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
US7000095B2 (en) * 2002-09-06 2006-02-14 Mips Technologies, Inc. Method and apparatus for clearing hazards using jump instructions
US7281120B2 (en) 2004-03-26 2007-10-09 International Business Machines Corporation Apparatus and method for decreasing the latency between an instruction cache and a pipeline processor
US7890735B2 (en) 2004-08-30 2011-02-15 Texas Instruments Incorporated Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture
KR100628573B1 (ko) * 2004-09-08 2006-09-26 삼성전자주식회사 조건부실행명령어의 비순차적 수행이 가능한 하드웨어장치 및 그 수행방법
US7552318B2 (en) 2004-12-17 2009-06-23 International Business Machines Corporation Branch lookahead prefetch for microprocessors
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
US7769983B2 (en) 2005-05-18 2010-08-03 Qualcomm Incorporated Caching instructions for a multiple-state processor
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
US9146745B2 (en) * 2006-06-29 2015-09-29 Intel Corporation Method and apparatus for partitioned pipelined execution of multiple execution threads
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
CN102144222B (zh) 2008-07-02 2014-11-05 国立大学法人东京工业大学 执行时间估计方法、执行时间估计程序以及执行时间估计装置
JP5471082B2 (ja) 2009-06-30 2014-04-16 富士通株式会社 演算処理装置および演算処理装置の制御方法
CN101770358B (zh) * 2010-02-10 2013-01-30 龙芯中科技术有限公司 微处理器跳转指令分支预测处理系统和方法
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
CN102520913B (zh) * 2011-11-03 2014-03-26 浙江大学 基于分组更新历史信息的并行分支预测装置
US9298469B2 (en) 2012-06-15 2016-03-29 International Business Machines Corporation Management of multiple nested transactions
CN102968293B (zh) * 2012-11-28 2014-12-10 中国人民解放军国防科学技术大学 基于指令队列的程序循环代码动态检测及执行方法
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
US9652230B2 (en) * 2013-10-15 2017-05-16 Mill Computing, Inc. Computer processor employing dedicated hardware mechanism controlling the initialization and invalidation of cache lines
CN103677965B (zh) * 2014-01-03 2017-03-22 北京神舟航天软件技术有限公司 一种全数字快速仿真方法
CN104978282B (zh) 2014-04-04 2019-10-01 上海芯豪微电子有限公司 一种缓存系统和方法
WO2015165017A1 (zh) 2014-04-28 2015-11-05 华为技术有限公司 一种数据处理装置及方法
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
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
CN104156196B (zh) * 2014-06-12 2017-10-27 龚伟峰 重命名预处理方法
CN104731557A (zh) * 2014-12-10 2015-06-24 康烁 指令执行的控制方法及装置
CN105786448B (zh) * 2014-12-26 2019-02-05 深圳市中兴微电子技术有限公司 一种指令调度方法及装置
CN104793921B (zh) * 2015-04-29 2018-07-31 深圳芯邦科技股份有限公司 一种指令分支预测方法与系统
US20160378491A1 (en) 2015-06-26 2016-12-29 Microsoft Technology Licensing, Llc Determination of target location for transfer of processor control
US20160378488A1 (en) 2015-06-26 2016-12-29 Microsoft Technology Licensing, Llc Access to target address
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
CN107688468B (zh) * 2016-12-23 2020-05-15 北京国睿中数科技股份有限公司 推测执行处理器中分支指令与分支预测功能的验证方法
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中执行指令的方法

Also Published As

Publication number Publication date
WO2020034753A1 (zh) 2020-02-20
EP3779682A4 (en) 2021-06-09
TW202009692A (zh) 2020-03-01
US11579885B2 (en) 2023-02-14
TWI719501B (zh) 2021-02-21
US20210042122A1 (en) 2021-02-11
CN109101276A (zh) 2018-12-28
EP3779682A1 (en) 2021-02-17
CN109101276B (zh) 2020-05-05

Similar Documents

Publication Publication Date Title
ZA201801982B (en) Method and kit for processing hair
IL254768A0 (en) Method and device for treating vascular disease
SG11202010825QA (en) Method for executing instructions in cpu
SG10201606388SA (en) Wafer processing method
SG10201606385RA (en) Wafer processing method
SG10201603205TA (en) Wafer processing method
PL3137381T3 (pl) Sposób owijania taśmy wokół obiektów i urządzenie do realizacji tego sposobu
EP2852930A4 (en) APPARATUS AND METHOD FOR EXECUTING TASKS
SG10201610632XA (en) Wafer processing method
SG10201602704UA (en) Wafer processing method
PT3368683T (pt) Método para a quantificação de pd-l1
EP3306470A4 (en) Method and apparatus for executing non-maskable interrupt
GB2537124B (en) In-line inspection tool
GB201515885D0 (en) Graphics processing method for processing sub-primitives
AU2016353600B2 (en) Method for treating mucositis
SG11201710438PA (en) Method and means for processing start pages
GB201621776D0 (en) Debugging Method
TWI560575B (en) Microprocessor and method for securely executing instructions therein
SG10201604691WA (en) Wafer processing method
SG10201610623YA (en) Wafer processing method
PL2913284T3 (pl) Sposób oraz urządzenie do obróbki części
PL3270102T3 (pl) Sposób badania kształtu, urządzenie do badania kształtu oraz program
HUE057867T2 (hu) Hónolási eljárás és megmunkáló berendezés alakos hónolásra
ZA201800632B (en) Method for treating diseases in plants
IL287058A (en) Method and device for closure