CN105408859A - 用于指令调度的方法和系统 - Google Patents
用于指令调度的方法和系统 Download PDFInfo
- Publication number
- CN105408859A CN105408859A CN201480042512.2A CN201480042512A CN105408859A CN 105408859 A CN105408859 A CN 105408859A CN 201480042512 A CN201480042512 A CN 201480042512A CN 105408859 A CN105408859 A CN 105408859A
- Authority
- CN
- China
- Prior art keywords
- instruction
- flag register
- dependence
- redundancy
- identify
- 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 29
- 230000001419 dependent effect Effects 0.000 claims description 23
- 230000008707 rearrangement Effects 0.000 claims description 9
- 230000001052 transient effect Effects 0.000 claims description 8
- 230000003111 delayed effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 25
- 230000015654 memory Effects 0.000 description 20
- 238000012545 processing Methods 0.000 description 10
- 210000003813 thumb Anatomy 0.000 description 5
- 238000007689 inspection Methods 0.000 description 4
- 230000001568 sexual effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000002203 pretreatment Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101001059443 Homo sapiens Serine/threonine-protein kinase MARK1 Proteins 0.000 description 1
- 101001059454 Homo sapiens Serine/threonine-protein kinase MARK2 Proteins 0.000 description 1
- 102100028921 Serine/threonine-protein kinase MARK1 Human genes 0.000 description 1
- 102100028904 Serine/threonine-protein kinase MARK2 Human genes 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011112 process operation Methods 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/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
- G06F8/4435—Detection or removal of dead or redundant code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
-
- 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
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (20)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361876914P | 2013-09-12 | 2013-09-12 | |
US61/876,914 | 2013-09-12 | ||
PCT/IB2014/002630 WO2015036867A2 (en) | 2013-09-12 | 2014-09-04 | Method and system for instruction scheduling |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105408859A true CN105408859A (zh) | 2016-03-16 |
CN105408859B CN105408859B (zh) | 2019-01-01 |
Family
ID=52462943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480042512.2A Expired - Fee Related CN105408859B (zh) | 2013-09-12 | 2014-09-04 | 用于指令调度的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9304749B2 (zh) |
EP (1) | EP3044675A2 (zh) |
CN (1) | CN105408859B (zh) |
WO (1) | WO2015036867A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109074284A (zh) * | 2016-04-01 | 2018-12-21 | 阿尔卡特朗讯 | 用于按比例增减资源的方法和系统、以及计算机程序产品 |
CN109272109A (zh) * | 2018-10-30 | 2019-01-25 | 北京地平线机器人技术研发有限公司 | 神经网络模型的指令调度方法及装置 |
WO2024065869A1 (zh) * | 2022-09-27 | 2024-04-04 | 之江实验室 | 一种用于图计算的指令执行方法及装置 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2514618B (en) * | 2013-05-31 | 2020-11-11 | Advanced Risc Mach Ltd | Data processing systems |
US10459704B2 (en) * | 2015-02-10 | 2019-10-29 | The Trustees Of Columbia University In The City Of New York | Code relatives detection |
US10152452B2 (en) * | 2015-05-29 | 2018-12-11 | Intel Corporation | Source operand read suppression for graphics processors |
US10885985B2 (en) * | 2016-12-30 | 2021-01-05 | Western Digital Technologies, Inc. | Processor in non-volatile storage memory |
CN109992307B (zh) * | 2017-12-29 | 2020-05-05 | 上海寒武纪信息科技有限公司 | 指令列表调度方法、装置、计算机设备及存储介质 |
JP7074777B2 (ja) | 2017-11-20 | 2022-05-24 | シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッド | タスク並列処理方法、装置、システム、記憶媒体およびコンピュータ機器 |
US10853115B2 (en) | 2018-06-25 | 2020-12-01 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
US11099870B1 (en) * | 2018-07-25 | 2021-08-24 | Amazon Technologies, Inc. | Reducing execution times in an on-demand network code execution system using saved machine states |
US11943093B1 (en) | 2018-11-20 | 2024-03-26 | Amazon Technologies, Inc. | Network connection recovery after virtual machine transition in an on-demand network code execution system |
US10929160B1 (en) * | 2018-12-12 | 2021-02-23 | The Mathworks, Inc. | Composite-trace just-in-time compilation |
US11861386B1 (en) | 2019-03-22 | 2024-01-02 | Amazon Technologies, Inc. | Application gateways in an on-demand network code execution system |
US11119809B1 (en) | 2019-06-20 | 2021-09-14 | Amazon Technologies, Inc. | Virtualization-based transaction handling in an on-demand network code execution system |
US11714682B1 (en) | 2020-03-03 | 2023-08-01 | Amazon Technologies, Inc. | Reclaiming computing resources in an on-demand code execution system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845103A (en) * | 1997-06-13 | 1998-12-01 | Wisconsin Alumni Research Foundation | Computer with dynamic instruction reuse |
US5922066A (en) * | 1997-02-24 | 1999-07-13 | Samsung Electronics Co., Ltd. | Multifunction data aligner in wide data width processor |
CN101027636A (zh) * | 2004-09-30 | 2007-08-29 | 英特尔公司 | 连续流程处理器流水线 |
CN102356377A (zh) * | 2009-04-20 | 2012-02-15 | 甲骨文股份有限公司 | 用于解决有害孪生问题的方法和结构 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3707727B2 (ja) * | 2000-10-30 | 2005-10-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラムの最適化方法及びこれを用いたコンパイラ |
JP3909073B2 (ja) * | 2002-10-15 | 2007-04-25 | 株式会社ルネサステクノロジ | コンパイラ及び論理回路の設計方法 |
US8010957B2 (en) * | 2006-08-01 | 2011-08-30 | International Business Machines Corporation | Compiler for eliminating redundant read-modify-write code sequences in non-vectorizable code |
US9424015B2 (en) * | 2011-02-08 | 2016-08-23 | Oracle International Corporation | System and method for optimizing software transactional memory operations using static caching of memory objects |
-
2014
- 2014-08-28 US US14/472,042 patent/US9304749B2/en not_active Expired - Fee Related
- 2014-09-04 CN CN201480042512.2A patent/CN105408859B/zh not_active Expired - Fee Related
- 2014-09-04 EP EP14835562.1A patent/EP3044675A2/en not_active Withdrawn
- 2014-09-04 WO PCT/IB2014/002630 patent/WO2015036867A2/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5922066A (en) * | 1997-02-24 | 1999-07-13 | Samsung Electronics Co., Ltd. | Multifunction data aligner in wide data width processor |
US5845103A (en) * | 1997-06-13 | 1998-12-01 | Wisconsin Alumni Research Foundation | Computer with dynamic instruction reuse |
CN101027636A (zh) * | 2004-09-30 | 2007-08-29 | 英特尔公司 | 连续流程处理器流水线 |
CN102356377A (zh) * | 2009-04-20 | 2012-02-15 | 甲骨文股份有限公司 | 用于解决有害孪生问题的方法和结构 |
Non-Patent Citations (1)
Title |
---|
匿名: "寄存器重命名", 《HTTPS://EN.WIKIPEDIA.ORG/W/INDEX.PHP?TITLE=REGISTER_RENAMING&DIFF=570804203&OLDID=566854621》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109074284A (zh) * | 2016-04-01 | 2018-12-21 | 阿尔卡特朗讯 | 用于按比例增减资源的方法和系统、以及计算机程序产品 |
CN109272109A (zh) * | 2018-10-30 | 2019-01-25 | 北京地平线机器人技术研发有限公司 | 神经网络模型的指令调度方法及装置 |
CN109272109B (zh) * | 2018-10-30 | 2020-07-17 | 北京地平线机器人技术研发有限公司 | 神经网络模型的指令调度方法及装置 |
WO2024065869A1 (zh) * | 2022-09-27 | 2024-04-04 | 之江实验室 | 一种用于图计算的指令执行方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20150074675A1 (en) | 2015-03-12 |
CN105408859B (zh) | 2019-01-01 |
EP3044675A2 (en) | 2016-07-20 |
WO2015036867A3 (en) | 2015-07-23 |
WO2015036867A2 (en) | 2015-03-19 |
US9304749B2 (en) | 2016-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105408859A (zh) | 用于指令调度的方法和系统 | |
CN100573446C (zh) | 执行存储器消歧的技术 | |
CN101329638B (zh) | 程序代码的并行性的分析方法和系统 | |
CN103513964B (zh) | 循环缓冲器打包 | |
JP5218998B2 (ja) | バッファを用いて高効率でロード処理を実行する方法およびプログラム | |
US8457943B2 (en) | System and method for simulating a multiprocessor system | |
CN105393217B (zh) | 用于编译器优化的方法和系统 | |
CN104049941A (zh) | 跟踪指令的控制流程 | |
US9875108B2 (en) | Shared memory interleavings for instruction atomicity violations | |
US20130159679A1 (en) | Providing Hint Register Storage For A Processor | |
Kalathingal et al. | Dynamic inter-thread vectorization architecture: extracting DLP from TLP | |
US20160364514A1 (en) | System, Method and Apparatus for a Scalable Parallel Processor | |
US9342334B2 (en) | Simulating vector execution | |
CN111752616A (zh) | 用于符号存储地址生成的系统、装置和方法 | |
US8949777B2 (en) | Methods and systems for mapping a function pointer to the device code | |
US20190187964A1 (en) | Method and Apparatus for Compiler Driven Bank Conflict Avoidance | |
CN102073480A (zh) | 基于时分复用实现多核处理器内核模拟的方法 | |
Wang et al. | Architecture and compiler support for gpus using energy-efficient affine register files | |
US8886512B2 (en) | Simulation apparatus, computer-readable recording medium, and method | |
US20130212350A1 (en) | Abstracting scratch pad memories as distributed arrays | |
US20050251795A1 (en) | Method, system, and program for optimizing code | |
CN104166633B (zh) | 用于存储器访问保护的方法和系统 | |
KR102644951B1 (ko) | 산술 논리 장치 레지스터 시퀀싱 | |
US20050183079A1 (en) | Tail duplicating during block layout | |
US20100077145A1 (en) | Method and system for parallel execution of memory instructions in an in-order processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200519 Address after: Singapore City Patentee after: Marvell Asia Pte. Ltd. Address before: Ford street, Grand Cayman, Cayman Islands Patentee before: Kaiwei international Co. Effective date of registration: 20200519 Address after: Ford street, Grand Cayman, Cayman Islands Patentee after: Kaiwei international Co. Address before: Hamilton, Bermuda Patentee before: Marvell International Ltd. Effective date of registration: 20200519 Address after: Hamilton, Bermuda Patentee after: Marvell International Ltd. Address before: Babado J San Mega Le Patentee before: MARVELL WORLD TRADE Ltd. |
|
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: 20190101 Termination date: 20190904 |