CN105830054B - 管线化可配置处理器 - Google Patents

管线化可配置处理器 Download PDF

Info

Publication number
CN105830054B
CN105830054B CN201480070217.8A CN201480070217A CN105830054B CN 105830054 B CN105830054 B CN 105830054B CN 201480070217 A CN201480070217 A CN 201480070217A CN 105830054 B CN105830054 B CN 105830054B
Authority
CN
China
Prior art keywords
configurable
thread
processing circuit
circuit
pipeline
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.)
Active
Application number
CN201480070217.8A
Other languages
English (en)
Chinese (zh)
Other versions
CN105830054A (zh
Inventor
P·梅岑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SILICON TAILOR Ltd
Original Assignee
SILICON TAILOR 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 SILICON TAILOR Ltd filed Critical SILICON TAILOR Ltd
Publication of CN105830054A publication Critical patent/CN105830054A/zh
Application granted granted Critical
Publication of CN105830054B publication Critical patent/CN105830054B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • G06F15/7875Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS for multiple contexts
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • G06F15/7878Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS for pipeline reconfiguration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7885Runtime interface, e.g. data exchange, runtime control
    • G06F15/7892Reconfigurable logic embedded in CPU, e.g. reconfigurable unit
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3873Variable length pipelines, e.g. elastic pipeline
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent instruction execution, e.g. pipeline or 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/3897Concurrent instruction execution, e.g. pipeline or 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/1546Non-blocking multistage, e.g. Clos using pipelined operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • H04L49/1569Clos switching fabrics

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
CN201480070217.8A 2013-10-31 2014-10-28 管线化可配置处理器 Active CN105830054B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1319279.4A GB2519813B (en) 2013-10-31 2013-10-31 Pipelined configurable processor
GB1319279.4 2013-10-31
PCT/GB2014/053200 WO2015063466A1 (en) 2013-10-31 2014-10-28 Pipelined configurable processor

Publications (2)

Publication Number Publication Date
CN105830054A CN105830054A (zh) 2016-08-03
CN105830054B true CN105830054B (zh) 2019-03-08

Family

ID=49767493

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480070217.8A Active CN105830054B (zh) 2013-10-31 2014-10-28 管线化可配置处理器

Country Status (7)

Country Link
US (3) US9658985B2 (enExample)
EP (1) EP3063651A1 (enExample)
JP (1) JP6708552B2 (enExample)
KR (1) KR20160105774A (enExample)
CN (1) CN105830054B (enExample)
GB (2) GB2526018B (enExample)
WO (1) WO2015063466A1 (enExample)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2526018B (en) * 2013-10-31 2018-11-14 Silicon Tailor Ltd Multistage switch
JP6816380B2 (ja) * 2016-04-15 2021-01-20 オムロン株式会社 画像処理装置、画像処理方法、情報処理プログラム、および記録媒体
CN107962560B (zh) * 2016-10-18 2020-08-07 珠海格力智能装备有限公司 机器人及其控制方法和装置
CN107953330A (zh) * 2016-10-18 2018-04-24 珠海格力智能装备有限公司 机器人及其控制方法和装置
US11055807B2 (en) * 2017-06-12 2021-07-06 Apple Inc. Method and system for a transactional based display pipeline to interface with graphics processing units
US11093251B2 (en) 2017-10-31 2021-08-17 Micron Technology, Inc. System having a hybrid threading processor, a hybrid threading fabric having configurable computing elements, and a hybrid interconnection network
EP3704595A4 (en) * 2017-10-31 2021-12-22 Micron Technology, Inc. SYSTEM WITH A HYBRID THREADING PROCESSOR, HYBRID THREADING MATRIX WITH CONFIGURABLE COMPUTER ELEMENTS AND HYBRID CONNECTION NETWORK
CN111919203B (zh) * 2018-03-31 2024-12-10 美光科技公司 使用重入队列的多线程自调度可重新配置计算架构的循环执行控制
US11003451B2 (en) 2018-03-31 2021-05-11 Micron Technology, Inc. Execution control of a multi-threaded, self-scheduling reconfigurable computing fabric
KR102504080B1 (ko) * 2018-03-31 2023-02-28 마이크론 테크놀로지, 인크. 멀티 스레드, 자체 스케줄링 재구성 가능한 컴퓨팅 패브릭
CN111919205B (zh) * 2018-03-31 2024-04-12 美光科技公司 多线程自调度可重新配置计算架构的循环线程顺序执行控制
CN111971652B (zh) 2018-03-31 2024-06-04 美光科技公司 多线程自调度可重新配置计算架构的条件分支控制
EP3776243B1 (en) * 2018-03-31 2025-01-01 Micron Technology, Inc. Backpressure control using a stop signal for a multi-threaded, self-scheduling reconfigurable computing fabric
EP3776236A1 (en) * 2018-03-31 2021-02-17 Micron Technology, Inc. Efficient loop execution for a multi-threaded, self-scheduling reconfigurable computing fabric
WO2019191740A1 (en) 2018-03-31 2019-10-03 Micron Technology, Inc. Multiple types of thread identifiers for a multi-threaded, self-scheduling reconfigurable computing fabric
US11119972B2 (en) * 2018-05-07 2021-09-14 Micron Technology, Inc. Multi-threaded, self-scheduling processor
US11074213B2 (en) * 2019-06-29 2021-07-27 Intel Corporation Apparatuses, methods, and systems for vector processor architecture having an array of identical circuit blocks
US11573834B2 (en) 2019-08-22 2023-02-07 Micron Technology, Inc. Computational partition for a multi-threaded, self-scheduling reconfigurable computing fabric
US11150900B2 (en) 2019-08-28 2021-10-19 Micron Technology, Inc. Execution or write mask generation for data selection in a multi-threaded, self-scheduling reconfigurable computing fabric
US11886377B2 (en) 2019-09-10 2024-01-30 Cornami, Inc. Reconfigurable arithmetic engine circuit
DE102020131666A1 (de) * 2020-05-05 2021-11-11 Intel Corporation Skalierbare Multiplikationsbeschleunigung dünnbesetzter Matrizen unter Verwendung systolischer Arrays mit Rückkopplungseingaben
EP4113312A1 (en) * 2021-06-28 2023-01-04 Google LLC Control of machine-learning systems
US11709796B2 (en) * 2021-08-16 2023-07-25 Micron Technology, Inc. Data input/output operations during loop execution in a reconfigurable compute fabric
KR102571234B1 (ko) 2023-02-21 2023-08-25 메티스엑스 주식회사 매니코어 시스템의 스레드 관리 방법 및 장치
CN116450570B (zh) * 2023-06-19 2023-10-17 先进能源科学与技术广东省实验室 基于fpga的32位risc-v处理器及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101546255A (zh) * 2005-04-12 2009-09-30 松下电器产业株式会社 处理器
CN101821712A (zh) * 2007-09-06 2010-09-01 高通股份有限公司 在多级数据处理管线中执行指令的系统和方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282627B1 (en) 1998-06-29 2001-08-28 Chameleon Systems, Inc. Integrated processor and programmable data path chip for reconfigurable computing
US6349346B1 (en) 1999-09-23 2002-02-19 Chameleon Systems, Inc. Control fabric unit including associated configuration memory and PSOP state machine adapted to provide configuration address to reconfigurable functional unit
US6693456B2 (en) * 2000-08-04 2004-02-17 Leopard Logic Inc. Interconnection network for a field programmable gate array
US6759869B1 (en) * 2002-06-05 2004-07-06 Xilinx, Inc. Large crossbar switch implemented in FPGA
US6925643B2 (en) * 2002-10-11 2005-08-02 Sandbridge Technologies, Inc. Method and apparatus for thread-based memory access in a multithreaded processor
US7149996B1 (en) * 2003-07-11 2006-12-12 Xilinx, Inc. Reconfigurable multi-stage crossbar
DE602004017879D1 (de) 2003-08-28 2009-01-02 Mips Tech Inc Integrierter mechanismus zum suspendieren und endznem prozessor
US7263599B2 (en) * 2004-02-06 2007-08-28 Infineon Technologies Thread ID in a multithreaded processor
JP4484756B2 (ja) * 2004-06-21 2010-06-16 三洋電機株式会社 リコンフィギュラブル回路および処理装置
US7873776B2 (en) * 2004-06-30 2011-01-18 Oracle America, Inc. Multiple-core processor with support for multiple virtual processors
US7224184B1 (en) * 2004-11-05 2007-05-29 Xilinx, Inc. High bandwidth reconfigurable on-chip network for reconfigurable systems
US7276933B1 (en) 2004-11-08 2007-10-02 Tabula, Inc. Reconfigurable IC that has sections running at different looperness
US7926055B2 (en) * 2005-04-12 2011-04-12 Panasonic Corporation Processor capable of reconfiguring a logical circuit
JP6059413B2 (ja) * 2005-04-28 2017-01-11 クアルコム,インコーポレイテッド 再構成可能命令セル・アレイ
US7768301B2 (en) * 2006-01-17 2010-08-03 Abound Logic, S.A.S. Reconfigurable integrated circuits with scalable architecture including a plurality of special function elements
US8344755B2 (en) * 2007-09-06 2013-01-01 Tabula, Inc. Configuration context switcher
US7902862B2 (en) * 2007-09-14 2011-03-08 Agate Logic, Inc. High-bandwidth interconnect network for an integrated circuit
US8006073B1 (en) * 2007-09-28 2011-08-23 Oracle America, Inc. Simultaneous speculative threading light mode
US8078833B2 (en) * 2008-05-29 2011-12-13 Axis Semiconductor, Inc. Microprocessor with highly configurable pipeline and executional unit internal hierarchal structures, optimizable for different types of computational functions
JP2010146102A (ja) * 2008-12-16 2010-07-01 Sanyo Electric Co Ltd 演算処理装置および記憶領域割当方法
US8126002B2 (en) * 2009-03-31 2012-02-28 Juniper Networks, Inc. Methods and apparatus related to a shared memory buffer for variable-sized cells
US8352669B2 (en) * 2009-04-27 2013-01-08 Lsi Corporation Buffered crossbar switch system
US8006075B2 (en) * 2009-05-21 2011-08-23 Oracle America, Inc. Dynamically allocated store queue for a multithreaded processor
WO2011125174A1 (ja) * 2010-04-06 2011-10-13 トヨタ自動車株式会社 動的再構成プロセッサ及びその動作方法
US20110276760A1 (en) * 2010-05-06 2011-11-10 Chou Yuan C Non-committing store instructions
US7982497B1 (en) 2010-06-21 2011-07-19 Xilinx, Inc. Multiplexer-based interconnection network
WO2012154586A1 (en) * 2011-05-06 2012-11-15 Xcelemor, Inc. Computing system with hardware reconfiguration mechanism and method of operation thereof
US9166928B2 (en) * 2011-09-30 2015-10-20 The Hong Kong University Of Science And Technology Scalable 3-stage crossbar switch
GB2526018B (en) * 2013-10-31 2018-11-14 Silicon Tailor Ltd Multistage switch

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101546255A (zh) * 2005-04-12 2009-09-30 松下电器产业株式会社 处理器
CN101821712A (zh) * 2007-09-06 2010-09-01 高通股份有限公司 在多级数据处理管线中执行指令的系统和方法

Also Published As

Publication number Publication date
US10275390B2 (en) 2019-04-30
GB201319279D0 (en) 2013-12-18
US20160259757A1 (en) 2016-09-08
GB201513909D0 (en) 2015-09-23
CN105830054A (zh) 2016-08-03
GB2519813B (en) 2016-03-30
WO2015063466A1 (en) 2015-05-07
GB2526018B (en) 2018-11-14
US9658985B2 (en) 2017-05-23
GB2526018A (en) 2015-11-11
WO2015063466A4 (en) 2015-07-30
US20200026685A1 (en) 2020-01-23
JP6708552B2 (ja) 2020-06-10
GB2519813A (en) 2015-05-06
US20180089140A1 (en) 2018-03-29
KR20160105774A (ko) 2016-09-07
EP3063651A1 (en) 2016-09-07
JP2016535913A (ja) 2016-11-17

Similar Documents

Publication Publication Date Title
CN105830054B (zh) 管线化可配置处理器
CN103324512B (zh) 准备可编程设备的方法、布线开关以及机器可读存储介质
US11971846B2 (en) Logic unit for a reconfigurable processor
Najjar et al. Advances in the dataflow computational model
US7844803B2 (en) Configurable data processing device with bit reordering on inputs and outputs of configurable logic function blocks
US9690278B1 (en) Method and apparatus for high-level programs with general control flow
CN109716318A (zh) 配置硬件在运行时期间多种模式下操作的装置和方法
Perera et al. A design methodology for mobile and embedded applications on FPGA-based dynamic reconfigurable hardware
CN103324511A (zh) 配置可编程设备的方法、可编程设备及机器可读存储介质
JP2006522406A5 (enExample)
JP2006522406A (ja) データ・フロー・マシン
EP1640885A1 (en) Method for creating parallel processing system
Iturbe et al. Methods and mechanisms for hardware multitasking: Executing and synchronizing fully relocatable hardware tasks in Xilinx FPGAs
Kanazawa et al. Solving SAT-encoded formal verification problems on SoC based on a WSAT algorithm with a new heuristic for hardware acceleration
CN106024056A (zh) 基于复用器的三态内容寻址存储器
US20240193117A1 (en) Coarse grained reconfigurable architecture
Kapre Packet-switched on-chip FPGA overlay networks
JP2007293556A (ja) 集積回路装置
GB2555363A (en) Multistage switch
Tian Transistor-Level Programmable Fabric
Bindal Special Topics
Kalachev Forth SOFT-processor with Hardware Stacks
Liu et al. Interconnection Fabric for Flexible Tracing

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