US20170315812A1 - Parallel instruction scheduler for block isa processor - Google Patents
Parallel instruction scheduler for block isa processor Download PDFInfo
- Publication number
- US20170315812A1 US20170315812A1 US15/224,471 US201615224471A US2017315812A1 US 20170315812 A1 US20170315812 A1 US 20170315812A1 US 201615224471 A US201615224471 A US 201615224471A US 2017315812 A1 US2017315812 A1 US 2017315812A1
- Authority
- US
- United States
- Prior art keywords
- instruction
- block
- scheduler
- instructions
- ready state
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 claims abstract description 89
- 230000015654 memory Effects 0.000 claims description 127
- 239000000872 buffer Substances 0.000 claims description 33
- 230000001419 dependent effect Effects 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 abstract description 66
- 230000001976 improved effect Effects 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 28
- 238000012545 processing Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 20
- 238000004891 communication Methods 0.000 description 18
- 238000013461 design Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 238000013507 mapping Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000000670 limiting effect Effects 0.000 description 5
- 230000001934 delay Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 230000008685 targeting Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 230000008093 supporting effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000005764 inhibitory process Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000002028 premature Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002459 sustained effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 101000574648 Homo sapiens Retinoid-inducible serine carboxypeptidase Proteins 0.000 description 1
- 102100025483 Retinoid-inducible serine carboxypeptidase Human genes 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- -1 shift registers Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer 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, 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- 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
-
- 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/3017—Runtime instruction translation, e.g. macros
-
- 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/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/38—Concurrent instruction execution, e.g. pipeline, 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, look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
-
- 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, 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, 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, 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, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
- G06F9/3873—Variable length pipelines, e.g. elastic pipeline
-
- 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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
-
- 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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline, 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
- 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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
- G06F9/3897—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path
-
- 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)
- Computer Hardware Design (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Logic Circuits (AREA)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/224,471 US20170315812A1 (en) | 2016-04-28 | 2016-07-29 | Parallel instruction scheduler for block isa processor |
EP17733162.6A EP3449360A1 (fr) | 2016-04-28 | 2017-04-25 | Ordonnanceur d'instructions parallèles pour processeur de bloc isa |
CN201780026326.3A CN109074259A (zh) | 2016-04-28 | 2017-04-25 | 用于块isa处理器的并行指令调度器 |
PCT/US2017/029225 WO2017189464A1 (fr) | 2016-04-28 | 2017-04-25 | Ordonnanceur d'instructions parallèles pour processeur de bloc isa |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662328976P | 2016-04-28 | 2016-04-28 | |
US15/224,471 US20170315812A1 (en) | 2016-04-28 | 2016-07-29 | Parallel instruction scheduler for block isa processor |
Publications (1)
Publication Number | Publication Date |
---|---|
US20170315812A1 true US20170315812A1 (en) | 2017-11-02 |
Family
ID=60158893
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/224,469 Active US11687345B2 (en) | 2016-04-28 | 2016-07-29 | Out-of-order block-based processors and instruction schedulers using ready state data indexed by instruction position identifiers |
US15/224,473 Active 2037-01-17 US11106467B2 (en) | 2016-04-28 | 2016-07-29 | Incremental scheduler for out-of-order block ISA processors |
US15/224,471 Abandoned US20170315812A1 (en) | 2016-04-28 | 2016-07-29 | Parallel instruction scheduler for block isa processor |
US15/224,624 Active US11449342B2 (en) | 2016-04-28 | 2016-07-31 | Hybrid block-based processor and custom function blocks |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/224,469 Active US11687345B2 (en) | 2016-04-28 | 2016-07-29 | Out-of-order block-based processors and instruction schedulers using ready state data indexed by instruction position identifiers |
US15/224,473 Active 2037-01-17 US11106467B2 (en) | 2016-04-28 | 2016-07-29 | Incremental scheduler for out-of-order block ISA processors |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/224,624 Active US11449342B2 (en) | 2016-04-28 | 2016-07-31 | Hybrid block-based processor and custom function blocks |
Country Status (4)
Country | Link |
---|---|
US (4) | US11687345B2 (fr) |
EP (4) | EP3449359B1 (fr) |
CN (4) | CN109074259A (fr) |
WO (4) | WO2017189466A1 (fr) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109655740A (zh) * | 2018-12-12 | 2019-04-19 | 上海精密计量测试研究所 | K系列fpga内部clb模块定位及通用性配置测试方法 |
US10733141B2 (en) * | 2018-03-27 | 2020-08-04 | Analog Devices, Inc. | Distributed processor system |
CN112307700A (zh) * | 2019-12-17 | 2021-02-02 | 成都华微电子科技有限公司 | 可编程器件的位流并行生成方法及系统 |
CN112997146A (zh) * | 2018-10-30 | 2021-06-18 | 日本电信电话株式会社 | 卸载服务器和卸载程序 |
US11106467B2 (en) | 2016-04-28 | 2021-08-31 | Microsoft Technology Licensing, Llc | Incremental scheduler for out-of-order block ISA processors |
CN113608693A (zh) * | 2021-07-26 | 2021-11-05 | 中国科学院国家空间科学中心 | 一种星载在轨数据的搜索排序系统和方法 |
US11468304B1 (en) * | 2019-11-26 | 2022-10-11 | Amazon Technologies, Inc. | Synchronizing operations in hardware accelerator |
Families Citing this family (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013100783A1 (fr) | 2011-12-29 | 2013-07-04 | Intel Corporation | Procédé et système de signalisation de commande dans un module de chemin de données |
GB2514618B (en) * | 2013-05-31 | 2020-11-11 | Advanced Risc Mach Ltd | Data processing systems |
US10331583B2 (en) | 2013-09-26 | 2019-06-25 | Intel Corporation | Executing distributed memory operations using processing elements connected by distributed channels |
GB2544994A (en) | 2015-12-02 | 2017-06-07 | Swarm64 As | Data processing |
US10402168B2 (en) | 2016-10-01 | 2019-09-03 | Intel Corporation | Low energy consumption mantissa multiplication for floating point multiply-add operations |
US11115293B2 (en) * | 2016-11-17 | 2021-09-07 | Amazon Technologies, Inc. | Networked programmable logic service provider |
US10572376B2 (en) | 2016-12-30 | 2020-02-25 | Intel Corporation | Memory ordering in acceleration hardware |
US10474375B2 (en) | 2016-12-30 | 2019-11-12 | Intel Corporation | Runtime address disambiguation in acceleration hardware |
US10558575B2 (en) | 2016-12-30 | 2020-02-11 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10416999B2 (en) | 2016-12-30 | 2019-09-17 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10747565B2 (en) * | 2017-04-18 | 2020-08-18 | Amazon Technologies, Inc. | Virtualization of control and status signals |
US10467183B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods for pipelined runtime services in a spatial array |
US10387319B2 (en) | 2017-07-01 | 2019-08-20 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features |
US10515046B2 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10469397B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods with configurable network-based dataflow operator circuits |
US10445234B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features |
US10515049B1 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Memory circuits and methods for distributed memory hazard detection and error recovery |
US10445451B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features |
US10671398B2 (en) * | 2017-08-02 | 2020-06-02 | International Business Machines Corporation | Low-overhead, low-latency operand dependency tracking for instructions operating on register pairs in a processor core |
US10460822B2 (en) * | 2017-08-23 | 2019-10-29 | Arm Limited | Memory with a controllable I/O functional unit |
US10496574B2 (en) | 2017-09-28 | 2019-12-03 | Intel Corporation | Processors, methods, and systems for a memory fence in a configurable spatial accelerator |
US11086816B2 (en) | 2017-09-28 | 2021-08-10 | Intel Corporation | Processors, methods, and systems for debugging a configurable spatial accelerator |
US10380063B2 (en) * | 2017-09-30 | 2019-08-13 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator |
US10445098B2 (en) | 2017-09-30 | 2019-10-15 | Intel Corporation | Processors and methods for privileged configuration in a spatial array |
US10824376B2 (en) | 2017-12-08 | 2020-11-03 | Sandisk Technologies Llc | Microcontroller architecture for non-volatile memory |
US10445250B2 (en) | 2017-12-30 | 2019-10-15 | Intel Corporation | Apparatus, methods, and systems with a configurable spatial accelerator |
US10565134B2 (en) | 2017-12-30 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for multicast in a configurable spatial accelerator |
US10417175B2 (en) | 2017-12-30 | 2019-09-17 | Intel Corporation | Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator |
US10963379B2 (en) | 2018-01-30 | 2021-03-30 | Microsoft Technology Licensing, Llc | Coupling wide memory interface to wide write back paths |
US10747711B2 (en) * | 2018-03-20 | 2020-08-18 | Arizona Board Of Regents On Behalf Of Northern Arizona University | Dynamic hybridized positional notation instruction set computer architecture to enhance security |
US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
US10564980B2 (en) | 2018-04-03 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator |
US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
US10459866B1 (en) | 2018-06-30 | 2019-10-29 | Intel Corporation | Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator |
US10853073B2 (en) | 2018-06-30 | 2020-12-01 | Intel Corporation | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator |
US10891240B2 (en) | 2018-06-30 | 2021-01-12 | Intel Corporation | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator |
CN109101276B (zh) | 2018-08-14 | 2020-05-05 | 阿里巴巴集团控股有限公司 | 在cpu中执行指令的方法 |
CN109325494B (zh) * | 2018-08-27 | 2021-09-17 | 腾讯科技(深圳)有限公司 | 图片处理方法、任务数据处理方法和装置 |
US10747545B2 (en) * | 2018-11-28 | 2020-08-18 | International Business Machines Corporation | Dual compare of least-significant-bit for dependency wake up from a fused instruction tag in a microprocessor |
US10838389B2 (en) * | 2018-12-13 | 2020-11-17 | Hamilton Sunstrand Corporation | Reconfigurable control architecture for programmable logic devices |
US10657060B1 (en) * | 2018-12-18 | 2020-05-19 | Xilinx, Inc. | Prefetching partial bitstreams |
US10678724B1 (en) | 2018-12-29 | 2020-06-09 | Intel Corporation | Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator |
CN111382091A (zh) * | 2018-12-30 | 2020-07-07 | 德克萨斯仪器股份有限公司 | 用于低周期存储器访问和附加功能的宽边随机访问存储器 |
US11275568B2 (en) | 2019-01-14 | 2022-03-15 | Microsoft Technology Licensing, Llc | Generating a synchronous digital circuit from a source code construct defining a function call |
US11144286B2 (en) | 2019-01-14 | 2021-10-12 | Microsoft Technology Licensing, Llc | Generating synchronous digital circuits from source code constructs that map to circuit implementations |
US11106437B2 (en) * | 2019-01-14 | 2021-08-31 | Microsoft Technology Licensing, Llc | Lookup table optimization for programming languages that target synchronous digital circuits |
CN111625280B (zh) * | 2019-02-27 | 2023-08-04 | 上海复旦微电子集团股份有限公司 | 指令控制方法及装置、可读存储介质 |
US10817291B2 (en) | 2019-03-30 | 2020-10-27 | Intel Corporation | Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator |
US10915471B2 (en) | 2019-03-30 | 2021-02-09 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator |
US10965536B2 (en) | 2019-03-30 | 2021-03-30 | Intel Corporation | Methods and apparatus to insert buffers in a dataflow graph |
US11029927B2 (en) | 2019-03-30 | 2021-06-08 | Intel Corporation | Methods and apparatus to detect and annotate backedges in a dataflow graph |
CN110232029B (zh) * | 2019-06-19 | 2021-06-29 | 成都博宇利华科技有限公司 | 一种基于索引的fpga中ddr4包缓存的实现方法 |
US11037050B2 (en) | 2019-06-29 | 2021-06-15 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator |
US11144290B2 (en) * | 2019-09-13 | 2021-10-12 | Huawei Technologies Co., Ltd. | Method and apparatus for enabling autonomous acceleration of dataflow AI applications |
CN112540796B (zh) * | 2019-09-23 | 2024-05-07 | 阿里巴巴集团控股有限公司 | 一种指令处理装置、处理器及其处理方法 |
CN110806899B (zh) * | 2019-11-01 | 2021-08-24 | 西安微电子技术研究所 | 一种基于指令扩展的流水线紧耦合加速器接口结构 |
CN111124492B (zh) * | 2019-12-16 | 2022-09-20 | 成都海光微电子技术有限公司 | 指令生成方法、装置、指令执行方法、处理器及电子设备 |
US11907713B2 (en) | 2019-12-28 | 2024-02-20 | Intel Corporation | Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator |
CN111552366B (zh) * | 2020-04-07 | 2021-10-22 | 江南大学 | 一种动态延迟唤醒电路及乱序指令发射架构 |
CN113760364B (zh) * | 2020-06-03 | 2022-06-17 | 广东高云半导体科技股份有限公司 | 逻辑器件的控制器 |
US11468220B2 (en) * | 2020-07-24 | 2022-10-11 | Gowin Semiconductor Corporation | Method and system for enhancing programmability of a field-programmable gate array via a dual-mode port |
US11662923B2 (en) | 2020-07-24 | 2023-05-30 | Gowin Semiconductor Corporation | Method and system for enhancing programmability of a field-programmable gate array |
US11392740B2 (en) | 2020-12-18 | 2022-07-19 | SambaNova Systems, Inc. | Dataflow function offload to reconfigurable processors |
US11237880B1 (en) | 2020-12-18 | 2022-02-01 | SambaNova Systems, Inc. | Dataflow all-reduce for reconfigurable processor systems |
TWI784845B (zh) * | 2020-12-18 | 2022-11-21 | 美商聖巴諾瓦系統公司 | 對可重配置處理器之資料流功能卸載 |
US11182221B1 (en) | 2020-12-18 | 2021-11-23 | SambaNova Systems, Inc. | Inter-node buffer-based streaming for reconfigurable processor-as-a-service (RPaaS) |
WO2022133047A1 (fr) * | 2020-12-18 | 2022-06-23 | SambaNova Systems, Inc. | Délestage de fonction de flux de données vers des processeurs reconfigurables |
US11782760B2 (en) | 2021-02-25 | 2023-10-10 | SambaNova Systems, Inc. | Time-multiplexed use of reconfigurable hardware |
CN113255264B (zh) * | 2021-06-07 | 2021-10-01 | 上海国微思尔芯技术股份有限公司 | 增量分割处理方法、装置、计算机设备和存储介质 |
TWI792546B (zh) * | 2021-09-09 | 2023-02-11 | 瑞昱半導體股份有限公司 | 用於管線化控制的設備以及方法 |
US11922026B2 (en) | 2022-02-16 | 2024-03-05 | T-Mobile Usa, Inc. | Preventing data loss in a filesystem by creating duplicates of data in parallel, such as charging data in a wireless telecommunications network |
US11942970B2 (en) * | 2022-03-04 | 2024-03-26 | Microsoft Technology Licensing, Llc | Compression circuits and methods using tree based encoding of bit masks |
CN114610394B (zh) * | 2022-03-14 | 2023-12-22 | 海飞科(南京)信息技术有限公司 | 指令调度的方法、处理电路和电子设备 |
US20230315454A1 (en) * | 2022-03-30 | 2023-10-05 | Advanced Micro Devices, Inc. | Fusing no-op (nop) instructions |
CN115437695B (zh) * | 2022-07-01 | 2024-01-23 | 无锡芯领域微电子有限公司 | 一种分支延时槽处理方法及装置 |
WO2024039370A1 (fr) * | 2022-08-18 | 2024-02-22 | Rakuten Mobile, Inc. | Bloc personnalisé configurable dans un constructeur de jeux de données dynamiques |
CN116483441B (zh) * | 2023-06-21 | 2023-09-12 | 睿思芯科(深圳)技术有限公司 | 基于移位缓冲的输出时序优化系统、方法及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5185869A (en) * | 1989-02-03 | 1993-02-09 | Nec Corporation | System for masking execution ready signal during unsettled period of determining branch condition to prevent reading out of stored instructions |
US6035374A (en) * | 1997-06-25 | 2000-03-07 | Sun Microsystems, Inc. | Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency |
US6052773A (en) * | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US20160026469A1 (en) * | 2013-03-15 | 2016-01-28 | Shanghai Xinhao Microelectronics Co. Ltd. | Data cache system and method |
Family Cites Families (134)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2111262B (en) | 1981-12-04 | 1985-10-02 | Ferranti Ltd | Digital data storage apparatus |
US4814978A (en) | 1986-07-15 | 1989-03-21 | Dataflow Computer Corporation | Dataflow processing element, multiprocessor, and processes |
US5276819A (en) | 1987-05-01 | 1994-01-04 | Hewlett-Packard Company | Horizontal computer having register multiconnect for operand address generation during execution of iterations of a loop of program code |
US5241635A (en) | 1988-11-18 | 1993-08-31 | Massachusetts Institute Of Technology | Tagged token data processing system with operand matching in activation frames |
US5781753A (en) | 1989-02-24 | 1998-07-14 | Advanced Micro Devices, Inc. | Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions |
US5197137A (en) | 1989-07-28 | 1993-03-23 | International Business Machines Corporation | Computer architecture for the concurrent execution of sequential programs |
US5067110A (en) | 1989-10-10 | 1991-11-19 | Advanced Micro Devices, Inc. | Global reset and zero detection for a memory system |
US5212663A (en) | 1991-02-21 | 1993-05-18 | Cypress Semiconductor Corporation | Method to implement a large resettable static RAM without the large surge current |
NL9100598A (nl) | 1991-04-05 | 1992-11-02 | Henk Corporaal | Move: een flexibele en uitbreidbare architectuur voor het ontwerpen van processoren. |
US6282583B1 (en) | 1991-06-04 | 2001-08-28 | Silicon Graphics, Inc. | Method and apparatus for memory access in a matrix processor computer |
US5539911A (en) | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US5373466A (en) | 1992-03-25 | 1994-12-13 | Harris Corporation | Flash-clear of ram array using partial reset mechanism |
US6101597A (en) | 1993-12-30 | 2000-08-08 | Intel Corporation | Method and apparatus for maximum throughput scheduling of dependent operations in a pipelined processor |
US5546597A (en) * | 1994-02-28 | 1996-08-13 | Intel Corporation | Ready selection of data dependent instructions using multi-cycle cams in a processor performing out-of-order instruction execution |
US5541850A (en) | 1994-05-17 | 1996-07-30 | Vlsi Technology, Inc. | Method and apparatus for forming an integrated circuit including a memory structure |
US5572535A (en) | 1994-07-05 | 1996-11-05 | Motorola Inc. | Method and data processing system for verifying the correct operation of a tri-state multiplexer in a circuit design |
US5666506A (en) | 1994-10-24 | 1997-09-09 | International Business Machines Corporation | Apparatus to dynamically control the out-of-order execution of load/store instructions in a processor capable of dispatchng, issuing and executing multiple instructions in a single processor cycle |
US5644742A (en) | 1995-02-14 | 1997-07-01 | Hal Computer Systems, Inc. | Processor structure and method for a time-out checkpoint |
US5790822A (en) | 1996-03-21 | 1998-08-04 | Intel Corporation | Method and apparatus for providing a re-ordered instruction cache in a pipelined microprocessor |
US5920724A (en) | 1996-03-28 | 1999-07-06 | Intel Corporation | Software pipelining a hyperblock loop |
US5796997A (en) | 1996-05-15 | 1998-08-18 | Hewlett-Packard Company | Fast nullify system and method for transforming a nullify function into a select function |
US5748978A (en) | 1996-05-17 | 1998-05-05 | Advanced Micro Devices, Inc. | Byte queue divided into multiple subqueues for optimizing instruction selection logic |
US6073159A (en) | 1996-12-31 | 2000-06-06 | Compaq Computer Corporation | Thread properties attribute vector based thread selection in multithreading processor |
US5845103A (en) | 1997-06-13 | 1998-12-01 | Wisconsin Alumni Research Foundation | Computer with dynamic instruction reuse |
US5943501A (en) | 1997-06-27 | 1999-08-24 | Wisconsin Alumni Research Foundation | Multiple processor, distributed memory computer with out-of-order processing |
US6023753A (en) | 1997-06-30 | 2000-02-08 | Billion Of Operations Per Second, Inc. | Manifold array processor |
US5930158A (en) | 1997-07-02 | 1999-07-27 | Creative Technology, Ltd | Processor with instruction set for audio effects |
US6182210B1 (en) | 1997-12-16 | 2001-01-30 | Intel Corporation | Processor having multiple program counters and trace buffers outside an execution pipeline |
US6192447B1 (en) | 1998-04-09 | 2001-02-20 | Compaq Computer Corporation | Method and apparatus for resetting a random access memory |
US6105128A (en) | 1998-04-30 | 2000-08-15 | Intel Corporation | Method and apparatus for dispatching instructions to execution units in waves |
US6164841A (en) | 1998-05-04 | 2000-12-26 | Hewlett-Packard Company | Method, apparatus, and product for dynamic software code translation system |
US6988183B1 (en) | 1998-06-26 | 2006-01-17 | Derek Chi-Lan Wong | Methods for increasing instruction-level parallelism in microprocessors and digital system |
JP3469469B2 (ja) | 1998-07-07 | 2003-11-25 | 富士通株式会社 | 情報処理装置 |
US6223254B1 (en) | 1998-12-04 | 2001-04-24 | Stmicroelectronics, Inc. | Parcel cache |
US6266768B1 (en) | 1998-12-16 | 2001-07-24 | International Business Machines Corporation | System and method for permitting out-of-order execution of load instructions |
WO2000049496A1 (fr) | 1999-02-15 | 2000-08-24 | Koninklijke Philips Electronics N.V. | Processeur de donnees a unite fonctionnelle configurable et procede d'utilisation dudit processeur |
US6553480B1 (en) | 1999-11-05 | 2003-04-22 | International Business Machines Corporation | System and method for managing the execution of instruction groups having multiple executable instructions |
US7188232B1 (en) * | 2000-05-03 | 2007-03-06 | Choquette Jack H | Pipelined processing with commit speculation staging buffer and load/store centric exception handling |
AU2001273873A1 (en) | 2000-06-13 | 2001-12-24 | Synergestic Computing Systems Aps | Synergetic computing system |
US6918032B1 (en) | 2000-07-06 | 2005-07-12 | Intel Corporation | Hardware predication for conditional instruction path branching |
US20020138714A1 (en) | 2001-03-22 | 2002-09-26 | Sun Microsystems, Inc. | Scoreboard for scheduling of instructions in a microprocessor that provides out of order execution |
US6834315B2 (en) | 2001-03-26 | 2004-12-21 | International Business Machines Corporation | Method, system, and program for prioritizing input/output (I/O) requests submitted to a device driver |
US7032217B2 (en) | 2001-03-26 | 2006-04-18 | Intel Corporation | Method and system for collaborative profiling for continuous detection of profile phase transitions |
WO2003038645A2 (fr) | 2001-10-31 | 2003-05-08 | University Of Texas | Architecture de traitement evolutive |
US6836420B1 (en) | 2002-03-04 | 2004-12-28 | Synplicity, Inc. | Method and apparatus for resetable memory and design approach for same |
WO2003088048A1 (fr) | 2002-04-08 | 2003-10-23 | University Of Texas System | Appareil, systemes et procedes pour antememoire non uniforme |
JP3804941B2 (ja) | 2002-06-28 | 2006-08-02 | 富士通株式会社 | 命令フェッチ制御装置 |
US7299458B2 (en) | 2002-10-31 | 2007-11-20 | Src Computers, Inc. | System and method for converting control flow graph representations to control-dataflow graph representations |
US7293162B2 (en) | 2002-12-18 | 2007-11-06 | Fujitsu Limited | Split data-flow scheduling mechanism |
US7130990B2 (en) | 2002-12-31 | 2006-10-31 | Intel Corporation | Efficient instruction scheduling with lossy tracking of scheduling information |
US7069189B2 (en) | 2002-12-31 | 2006-06-27 | Intel Corporation | Method and apparatus for controlling multiple resources using thermal related parameters |
US20040128483A1 (en) | 2002-12-31 | 2004-07-01 | Intel Corporation | Fuser renamer apparatus, systems, and methods |
US7107553B2 (en) | 2003-08-18 | 2006-09-12 | Synopsys, Inc. | Method and apparatus for solving constraints |
US8006074B1 (en) | 2003-12-24 | 2011-08-23 | Altera Corporation | Methods and apparatus for executing extended custom instructions |
EP1731998A1 (fr) | 2004-03-29 | 2006-12-13 | Kyoto University | Dispositif de traitement de donnees, programme de traitement de donnees, et moyen d enregistrement contenant le programme de traitement de donnees |
US7302527B2 (en) | 2004-11-12 | 2007-11-27 | International Business Machines Corporation | Systems and methods for executing load instructions that avoid order violations |
US7496735B2 (en) | 2004-11-22 | 2009-02-24 | Strandera Corporation | Method and apparatus for incremental commitment to architectural state in a microprocessor |
US7552318B2 (en) | 2004-12-17 | 2009-06-23 | International Business Machines Corporation | Branch lookahead prefetch for microprocessors |
US7853777B2 (en) | 2005-02-04 | 2010-12-14 | Mips Technologies, Inc. | Instruction/skid buffers in a multithreading microprocessor that store dispatched instructions to avoid re-fetching flushed instructions |
US7380038B2 (en) | 2005-02-04 | 2008-05-27 | Microsoft Corporation | Priority registers for biasing access to shared resources |
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 |
US8024551B2 (en) * | 2005-10-26 | 2011-09-20 | Analog Devices, Inc. | Pipelined digital signal processor |
US7721071B2 (en) | 2006-02-28 | 2010-05-18 | Mips Technologies, Inc. | System and method for propagating operand availability prediction bits with instructions through a pipeline in an out-of-order processor |
EP2477109B1 (fr) | 2006-04-12 | 2016-07-13 | Soft Machines, Inc. | Appareil et procédé de traitement d'une matrice d'instructions spécifiant des opérations parallèles et dépendantes |
US7506139B2 (en) | 2006-07-12 | 2009-03-17 | International Business Machines Corporation | Method and apparatus for register renaming using multiple physical register files and avoiding associative search |
US8032734B2 (en) | 2006-09-06 | 2011-10-04 | Mips Technologies, Inc. | Coprocessor load data queue for interfacing an out-of-order execution unit with an in-order coprocessor |
US9069547B2 (en) | 2006-09-22 | 2015-06-30 | Intel Corporation | Instruction and logic for processing text strings |
US9946547B2 (en) | 2006-09-29 | 2018-04-17 | Arm Finance Overseas Limited | Load/store unit for a processor, and applications thereof |
EP2523101B1 (fr) | 2006-11-14 | 2014-06-04 | Soft Machines, Inc. | Appareil et procédé de traitement de formats d'instruction complexes dans une architecture multifilière supportant plusieurs modes de commutation complexes et schémas de virtualisation |
US8181168B1 (en) | 2007-02-07 | 2012-05-15 | Tilera Corporation | Memory access assignment for parallel processing architectures |
US8095618B2 (en) * | 2007-03-30 | 2012-01-10 | Microsoft Corporation | In-memory caching of shared customizable multi-tenant data |
US7721066B2 (en) | 2007-06-05 | 2010-05-18 | Apple Inc. | Efficient encoding for detecting load dependency on store with misalignment |
US20080320274A1 (en) | 2007-06-19 | 2008-12-25 | Raza Microelectronics, Inc. | Age matrix for queue dispatch order |
US8180997B2 (en) | 2007-07-05 | 2012-05-15 | Board Of Regents, University Of Texas System | Dynamically composing processor cores to form logical processors |
US8447911B2 (en) | 2007-07-05 | 2013-05-21 | Board Of Regents, University Of Texas System | Unordered load/store queue |
JP2009026106A (ja) | 2007-07-20 | 2009-02-05 | Oki Electric Ind Co Ltd | 命令コード圧縮方法と命令フェッチ回路 |
US20090150653A1 (en) * | 2007-12-07 | 2009-06-11 | Pedro Chaparro Monferrer | Mechanism for soft error detection and recovery in issue queues |
US7836282B2 (en) | 2007-12-20 | 2010-11-16 | International Business Machines Corporation | Method and apparatus for performing out of order instruction folding and retirement |
US8321850B2 (en) | 2008-06-06 | 2012-11-27 | Vmware, Inc. | Sharing and persisting code caches |
US7769984B2 (en) | 2008-09-11 | 2010-08-03 | International Business Machines Corporation | Dual-issuance of microprocessor instructions using dual dependency matrices |
WO2010043401A2 (fr) | 2008-10-15 | 2010-04-22 | Martin Vorbach | Dispositif de traitement de données |
US8205066B2 (en) | 2008-10-31 | 2012-06-19 | Convey Computer | Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor |
US20100146209A1 (en) | 2008-12-05 | 2010-06-10 | Intellectual Ventures Management, Llc | Method and apparatus for combining independent data caches |
US8127119B2 (en) | 2008-12-05 | 2012-02-28 | The Board Of Regents Of The University Of Texas System | Control-flow prediction using multiple independent predictors |
US8099566B2 (en) | 2009-05-15 | 2012-01-17 | Oracle America, Inc. | Load/store ordering in a threaded out-of-order processor |
US8006075B2 (en) | 2009-05-21 | 2011-08-23 | Oracle America, Inc. | Dynamically allocated store queue for a multithreaded processor |
US8930679B2 (en) | 2009-05-29 | 2015-01-06 | Via Technologies, Inc. | Out-of-order execution microprocessor with reduced store collision load replay by making an issuing of a load instruction dependent upon a dependee instruction of a store instruction |
US20100325395A1 (en) | 2009-06-19 | 2010-12-23 | Doug Burger | Dependence prediction in a memory system |
US8429386B2 (en) | 2009-06-30 | 2013-04-23 | Oracle America, Inc. | Dynamic tag allocation in a multithreaded out-of-order processor |
US8433885B2 (en) | 2009-09-09 | 2013-04-30 | Board Of Regents Of The University Of Texas System | Method, system and computer-accessible medium for providing a distributed predicate prediction |
US10698859B2 (en) | 2009-09-18 | 2020-06-30 | The Board Of Regents Of The University Of Texas System | Data multicasting with router replication and target instruction identification in a distributed multi-core processing architecture |
US20110078424A1 (en) | 2009-09-30 | 2011-03-31 | International Business Machines Corporation | Optimizing program code using branch elimination |
US8464002B2 (en) | 2009-10-14 | 2013-06-11 | Board Of Regents Of The University Of Texas System | Burst-based cache dead block prediction |
JP5057256B2 (ja) | 2009-12-02 | 2012-10-24 | 株式会社Mush−A | データ処理装置、データ処理システムおよびデータ処理方法 |
WO2011067896A1 (fr) | 2009-12-02 | 2011-06-09 | Mush-A Co., Ltd. | Appareil de traitement de données, système de traitement de données, paquet, support d'enregistrement, dispositif de stockage et procédé de traitement de données |
US9104399B2 (en) | 2009-12-23 | 2015-08-11 | International Business Machines Corporation | Dual issuing of complex instruction set instructions |
EP2519876A1 (fr) | 2009-12-28 | 2012-11-07 | Hyperion Core, Inc. | Optimisation de boucles et de sections de circulation de données |
GB201001621D0 (en) | 2010-02-01 | 2010-03-17 | Univ Catholique Louvain | A tile-based processor architecture model for high efficiency embedded homogenous multicore platforms |
US8201024B2 (en) | 2010-05-17 | 2012-06-12 | Microsoft Corporation | Managing memory faults |
KR101731742B1 (ko) | 2010-06-18 | 2017-04-28 | 보드 오브 리전츠 더 유니버시티 오브 텍사스 시스템 | 결합된 분기 타깃 및 프레디킷 예측 |
CN102117197B (zh) | 2011-03-04 | 2012-08-15 | 中国电子科技集团公司第三十八研究所 | 高性能通用信号处理器指令分配装置 |
US9274793B2 (en) | 2011-03-25 | 2016-03-01 | Soft Machines, Inc. | Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines |
US8862653B2 (en) | 2011-04-26 | 2014-10-14 | University Of South Carolina | System and method for sparse matrix vector multiplication processing |
US8777124B2 (en) | 2011-04-29 | 2014-07-15 | Hunter Industries, Inc. | Irrigation sprinkler with ratcheting manual nozzle rotation |
US9740494B2 (en) * | 2011-04-29 | 2017-08-22 | Arizona Board Of Regents For And On Behalf Of Arizona State University | Low complexity out-of-order issue logic using static circuits |
US9529596B2 (en) | 2011-07-01 | 2016-12-27 | Intel Corporation | Method and apparatus for scheduling instructions in a multi-strand out of order processor with instruction synchronization bits and scoreboard bits |
US20130054939A1 (en) | 2011-08-26 | 2013-02-28 | Cognitive Electronics, Inc. | Integrated circuit having a hard core and a soft core |
SG11201402727WA (en) | 2011-12-01 | 2014-06-27 | Univ Singapore | Polymorphic heterogeneous multi-core architecture |
US9632779B2 (en) | 2011-12-19 | 2017-04-25 | International Business Machines Corporation | Instruction predication using instruction filtering |
US9304776B2 (en) | 2012-01-31 | 2016-04-05 | Oracle International Corporation | System and method for mitigating the impact of branch misprediction when exiting spin loops |
US9513922B2 (en) | 2012-04-20 | 2016-12-06 | Freescale Semiconductor, Inc. | Computer system and a method for generating an optimized program code |
US9128725B2 (en) | 2012-05-04 | 2015-09-08 | Apple Inc. | Load-store dependency predictor content management |
CN105760138B (zh) | 2012-06-29 | 2018-12-11 | 英特尔公司 | 用于测试事务性执行状态的系统 |
US9471317B2 (en) | 2012-09-27 | 2016-10-18 | Texas Instruments Deutschland Gmbh | Execution of additional instructions in conjunction atomically as specified in instruction field |
US10235180B2 (en) | 2012-12-21 | 2019-03-19 | Intel Corporation | Scheduler implementing dependency matrix having restricted entries |
US9632790B2 (en) | 2012-12-26 | 2017-04-25 | Intel Corporation | Select logic for the instruction scheduler of a multi strand out-of-order processor based on delayed reconstructed program order |
US9354884B2 (en) | 2013-03-13 | 2016-05-31 | International Business Machines Corporation | Processor with hybrid pipeline capable of operating in out-of-order and in-order modes |
EP2972794A4 (fr) | 2013-03-15 | 2017-05-03 | Soft Machines, Inc. | Procédé d'exécution de blocs d'instructions utilisant une architecture de microprocesseur comprenant une vue de registre, une vue de sources, une vue d'instructions et une pluralite de modèles de registre |
KR102083390B1 (ko) | 2013-03-15 | 2020-03-02 | 인텔 코포레이션 | 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법 |
US9880842B2 (en) | 2013-03-15 | 2018-01-30 | Intel Corporation | Using control flow data structures to direct and track instruction execution |
US9116817B2 (en) | 2013-05-09 | 2015-08-25 | Apple Inc. | Pointer chasing prediction |
US9792252B2 (en) | 2013-05-31 | 2017-10-17 | Microsoft Technology Licensing, Llc | Incorporating a spatial array into one or more programmable processor cores |
GB2515076B (en) | 2013-06-13 | 2020-07-15 | Advanced Risc Mach Ltd | A data processing apparatus and method for handling retrieval of instructions from an instruction cache |
US9372698B2 (en) | 2013-06-29 | 2016-06-21 | Intel Corporation | Method and apparatus for implementing dynamic portbinding within a reservation station |
US9547496B2 (en) | 2013-11-07 | 2017-01-17 | Microsoft Technology Licensing, Llc | Energy efficient multi-modal instruction issue |
GB2522990B (en) | 2013-12-20 | 2016-08-03 | Imagination Tech Ltd | Processor with virtualized instruction set architecture and methods |
US9448936B2 (en) | 2014-01-13 | 2016-09-20 | Apple Inc. | Concurrent store and load operations |
US9612840B2 (en) | 2014-03-28 | 2017-04-04 | Intel Corporation | Method and apparatus for implementing a dynamic out-of-order processor pipeline |
US20160179532A1 (en) | 2014-12-22 | 2016-06-23 | Qualcomm Incorporated | Managing allocation of physical registers in a block-based instruction set architecture (isa), and related apparatuses and methods |
US9135015B1 (en) | 2014-12-25 | 2015-09-15 | Centipede Semi Ltd. | Run-time code parallelization with monitoring of repetitive instruction sequences during branch mis-prediction |
US10606651B2 (en) | 2015-04-17 | 2020-03-31 | Microsoft Technology Licensing, Llc | Free form expression accelerator with thread length-based thread assignment to clustered soft processor cores that share a functional circuit |
US20170083313A1 (en) | 2015-09-22 | 2017-03-23 | Qualcomm Incorporated | CONFIGURING COARSE-GRAINED RECONFIGURABLE ARRAYS (CGRAs) FOR DATAFLOW INSTRUCTION BLOCK EXECUTION IN BLOCK-BASED DATAFLOW INSTRUCTION SET ARCHITECTURES (ISAs) |
US11687345B2 (en) | 2016-04-28 | 2023-06-27 | Microsoft Technology Licensing, Llc | Out-of-order block-based processors and instruction schedulers using ready state data indexed by instruction position identifiers |
US20180032344A1 (en) | 2016-07-31 | 2018-02-01 | Microsoft Technology Licensing, Llc | Out-of-order block-based processor |
-
2016
- 2016-07-29 US US15/224,469 patent/US11687345B2/en active Active
- 2016-07-29 US US15/224,473 patent/US11106467B2/en active Active
- 2016-07-29 US US15/224,471 patent/US20170315812A1/en not_active Abandoned
- 2016-07-31 US US15/224,624 patent/US11449342B2/en active Active
-
2017
- 2017-04-25 EP EP17722262.7A patent/EP3449359B1/fr active Active
- 2017-04-25 CN CN201780026326.3A patent/CN109074259A/zh not_active Withdrawn
- 2017-04-25 CN CN201780026331.4A patent/CN109074260B/zh active Active
- 2017-04-25 WO PCT/US2017/029227 patent/WO2017189466A1/fr active Application Filing
- 2017-04-25 WO PCT/US2017/029224 patent/WO2017189463A1/fr active Application Filing
- 2017-04-25 CN CN201780026354.5A patent/CN109074261B/zh active Active
- 2017-04-25 EP EP17721017.6A patent/EP3449358B1/fr active Active
- 2017-04-25 EP EP17721016.8A patent/EP3449357B1/fr active Active
- 2017-04-25 WO PCT/US2017/029225 patent/WO2017189464A1/fr active Application Filing
- 2017-04-25 EP EP17733162.6A patent/EP3449360A1/fr not_active Withdrawn
- 2017-04-25 CN CN201780026337.1A patent/CN109196468B/zh active Active
- 2017-04-25 WO PCT/US2017/029226 patent/WO2017189465A1/fr active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5185869A (en) * | 1989-02-03 | 1993-02-09 | Nec Corporation | System for masking execution ready signal during unsettled period of determining branch condition to prevent reading out of stored instructions |
US6052773A (en) * | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US6035374A (en) * | 1997-06-25 | 2000-03-07 | Sun Microsystems, Inc. | Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency |
US20160026469A1 (en) * | 2013-03-15 | 2016-01-28 | Shanghai Xinhao Microelectronics Co. Ltd. | Data cache system and method |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11106467B2 (en) | 2016-04-28 | 2021-08-31 | Microsoft Technology Licensing, Llc | Incremental scheduler for out-of-order block ISA processors |
US11449342B2 (en) | 2016-04-28 | 2022-09-20 | Microsoft Technology Licensing, Llc | Hybrid block-based processor and custom function blocks |
US11687345B2 (en) | 2016-04-28 | 2023-06-27 | Microsoft Technology Licensing, Llc | Out-of-order block-based processors and instruction schedulers using ready state data indexed by instruction position identifiers |
US10733141B2 (en) * | 2018-03-27 | 2020-08-04 | Analog Devices, Inc. | Distributed processor system |
US11422969B2 (en) | 2018-03-27 | 2022-08-23 | Analog Devices, Inc. | Distributed processor system |
US11907160B2 (en) | 2018-03-27 | 2024-02-20 | Analog Devices, Inc. | Distributed processor system |
CN112997146A (zh) * | 2018-10-30 | 2021-06-18 | 日本电信电话株式会社 | 卸载服务器和卸载程序 |
CN109655740A (zh) * | 2018-12-12 | 2019-04-19 | 上海精密计量测试研究所 | K系列fpga内部clb模块定位及通用性配置测试方法 |
US11468304B1 (en) * | 2019-11-26 | 2022-10-11 | Amazon Technologies, Inc. | Synchronizing operations in hardware accelerator |
CN112307700A (zh) * | 2019-12-17 | 2021-02-02 | 成都华微电子科技有限公司 | 可编程器件的位流并行生成方法及系统 |
CN113608693A (zh) * | 2021-07-26 | 2021-11-05 | 中国科学院国家空间科学中心 | 一种星载在轨数据的搜索排序系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109074259A (zh) | 2018-12-21 |
US20170315814A1 (en) | 2017-11-02 |
CN109074261A (zh) | 2018-12-21 |
WO2017189466A1 (fr) | 2017-11-02 |
EP3449359A1 (fr) | 2019-03-06 |
CN109074261B (zh) | 2023-06-23 |
WO2017189464A1 (fr) | 2017-11-02 |
US11687345B2 (en) | 2023-06-27 |
EP3449357A1 (fr) | 2019-03-06 |
CN109074260A (zh) | 2018-12-21 |
CN109196468A (zh) | 2019-01-11 |
WO2017189465A1 (fr) | 2017-11-02 |
EP3449358A1 (fr) | 2019-03-06 |
US20170315815A1 (en) | 2017-11-02 |
EP3449358B1 (fr) | 2022-02-09 |
US11449342B2 (en) | 2022-09-20 |
CN109074260B (zh) | 2023-05-05 |
EP3449357B1 (fr) | 2022-08-24 |
EP3449359B1 (fr) | 2021-02-24 |
EP3449360A1 (fr) | 2019-03-06 |
US11106467B2 (en) | 2021-08-31 |
WO2017189463A1 (fr) | 2017-11-02 |
CN109196468B (zh) | 2023-04-28 |
US20170315813A1 (en) | 2017-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170315812A1 (en) | Parallel instruction scheduler for block isa processor | |
US10678544B2 (en) | Initiating instruction block execution using a register access instruction | |
US20230106990A1 (en) | Executing multiple programs simultaneously on a processor core | |
US20170371660A1 (en) | Load-store queue for multiple processor cores | |
EP3350708B1 (fr) | Codage de lecture dense de flux de données isa | |
US11977891B2 (en) | Implicit program order | |
US20170371659A1 (en) | Load-store queue for block-based processor | |
US11726912B2 (en) | Coupling wide memory interface to wide write back paths | |
WO2018217390A1 (fr) | Pré-répartition d'instructions de microprocesseur avant validation de bloc | |
EP3350690B1 (fr) | Ordre de programme implicite | |
Suri et al. | Improving Adaptability and Per-Core Performance of Many-Core Processors Through Reconfiguration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SMITH, AARON L.;GRAY, JAN S.;SIGNING DATES FROM 20160729 TO 20160805;REEL/FRAME:039500/0563 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |