CN102023846B - 基于单片多处理器系统的共享前端流水线结构 - Google Patents

基于单片多处理器系统的共享前端流水线结构 Download PDF

Info

Publication number
CN102023846B
CN102023846B CN201110001552.0A CN201110001552A CN102023846B CN 102023846 B CN102023846 B CN 102023846B CN 201110001552 A CN201110001552 A CN 201110001552A CN 102023846 B CN102023846 B CN 102023846B
Authority
CN
China
Prior art keywords
unit
instruction
core
fetching
execution
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.)
Expired - Fee Related
Application number
CN201110001552.0A
Other languages
English (en)
Other versions
CN102023846A (zh
Inventor
邢座程
陈小保
付桂涛
马安国
黄平
汤先拓
何锐
王庆林
晏小波
李方圆
邱建雄
蔡放
闵银皮
梅家祥
孟晓冬
赵齐
王宏燕
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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201110001552.0A priority Critical patent/CN102023846B/zh
Publication of CN102023846A publication Critical patent/CN102023846A/zh
Application granted granted Critical
Publication of CN102023846B publication Critical patent/CN102023846B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

本发明公开了一种基于单片多处理器系统的共享前端流水线结构,包括设置于两个以上流核心的执行部件之前并被所有流核心共享的取指单元、译码单元和预取单元,所述取指单元完成取指操作后经译码单元将指令送入流核心的执行部件,不同流核心用来处理同一条指令的不同线程,所述预取单元用于当指令在流核心的执行部件阻塞时进行断续预取指,形成指令队列,待执行部件阻塞状态结束后,预取单元中的指令队列依次送至执行部件。本发明具有结构简单紧凑、成本低廉、能够有效缓解存储墙瓶颈、具有深度并行性、从而能够极大地提升媒体处理和数据密集型科学计算等应用的处理性能等优点。

Description

基于单片多处理器系统的共享前端流水线结构
技术领域
本发明主要涉及到单片多处理器领域,特指一种基于单片多处理器系统的共享前端流水线结构。 
背景技术
多核处理器也称为片上多处理器(chip multi-processor,CMP),或单芯片多处理器。自1996年美国斯坦福大学首次提出片上多处理器(CMP)思想和首个多核结构原型,到2001年IBM推出第一个商用多核处理器POWER4,再到2005年Intel和AMD多核处理器的大规模应用,最后到现在多核成为市场主流,多核处理器经历了十几年的发展。在这个过程中,多核处理器的应用范围已覆盖了多媒体计算、嵌入式设备、个人计算机、商用服务器和高性能计算机等众多领域,多核技术及其相关研究也迅速发展,比如多核结构设计方法、片上互连技术、可重构技术、下一代众核技术等。多核处理器将多个完全功能的核心集成在同一个芯片内,整个芯片作为一个统一的结构对外提供服务,输出性能。多核处理器首先通过集成多个单线程处理核心或者集成多个同时多线程处理核心,使得整个处理器可同时执行的线程数或任务数是单处理器的数倍,这极大地提升了处理器的并行性能;其次,多个核集成在片内,极大地缩短了核间的互连线,核间通信延迟变低,提高了通信效率,数据传输带宽也得到提高;再者,多核结构有效共享资源,片上资源的利用率得到了提高,功耗也随着器件的减少得到了降低;最后,多核结构简单,易于优化设计,扩展性强。这些优势最终推动了多核的发展并逐渐取代单处理器成为主流。但现有的CMP的还有很多不足之处,主要体现在:当前面向微处理器的以顺序结构为主的通用程序,能高效的运行,但面向科学计算、图形图像处理等以并行运算为主的程序还不能在CMP上高效运行;另外,CMP的有些技术还不成熟:在资源利用的灵活性上不如SMT,对于某些应用可能性能很差。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种结构简单紧凑、成本低廉、能够有效缓解存储墙瓶颈、具有深度并行性、从而能够极大地提升媒体处理和数据密集型科学计算等应用的处理性能的基于单片多处理器系统的共享前端流水线结构。
为解决上述技术问题,本发明采用以下技术方案:
一种基于单片多处理器系统的共享前端流水线结构,其特征在于:包括设置于两个以上流核心的执行部件之前并被所有流核心共享的取指单元、译码单元和预取单元,所述取指单元完成取指操作后经译码单元将指令送入流核心的执行部件,不同流核心用来处理同一条指令的不同线程,所述预取单元用于当指令在流核心的执行部件阻塞时进行断续预取指,形成指令队列,待执行部件阻塞状态结束后,预取单元中的指令队列依次送至执行部件。
作为本发明的进一步改进:
所述取指单元与译码单元之间设有PC0,所述每个流核心中均设有不同的PC,通过各PC之间的比较及判决电路实现PC间的同步保证流核心执行同一条指令。
与现有技术相比,本发明的优点在于:
1、本发明通过在多核中使用共享前端技术,可使各个流核心共享取指部件和译码部件,可以减少硬件数量,减少硬件成本和功耗。能够有效缓解存储墙瓶颈、开发多种级别的程序并行性。
2、本发明提出的共享前端部件结构简单,且全部由同步逻辑单元实现,在硬件复杂性有限增加的情况下能够有效缓解存储墙瓶颈。
3、本发明通过开发深度并行性的流多核体系结构,从而极大地提升媒体处理和数据密集型科学计算等应用的处理性能。
附图说明
图1是本发明的各个流核心共享取指部件和译码部件的流水线结构示意图;
图2是本发明具体实施的原理示意图;
图3是本发明具体实施中各PC变化及其状态的具体示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
在经典的5段流水线中,共包含以下5段:取指段、译码段、执行段、访存段、写回段,在现有的单核处理器中如此,在现有的多核处理器中也是这样,在本发明中,针对在CMP还不能高效运行面向科学计算、图形图像处理等以并行运算为主的程序及CMP在资源利用的灵活性上不如SMT,对于某些应用可能性能很差的不足,设计了基于单片多处理器系统的共享前端流水线。
如图1和图2所示,本发明基于单片多处理器系统的共享前端流水线结构,包括设置于两个以上流核心的执行部件之前并被所有流核心共享的取指单元、译码单元和预取单元。本实施例中,是由四个流核心组成一个流多核,每个流核心都有各自的流水线后端:执行段、访存段、写回段,同时,四个流核心共享同一个流水线前端:取指段、译码段。即,每个流核心有各自独立的流水线后端:执行段(执行部件)、访存段(访存部件)、写回段(写回部件),但所有的流核心都共享本发明的流水线前端:取指单元、译码单元和预取单元。取指单元完成取指操作后经译码单元将指令送入流核心的执行部件,不同流核心用来处理同一条指令的不同线程,预取单元用于当指令在流核心的执行部件阻塞时进行断续预取指,形成指令队列,待执行部件阻塞状态结束后,预取单元中的指令队列依次送至执行部件。即,若流水线在执行段阻塞时,此时取指单元是“非空的”且其中的指令不能送至译码单元,也将处于阻塞状态;通过增加了预取单元后,预取单元可以断续预取指,形成指令队列,待执行部件阻塞状态结束后,预取单元中的指令队列就能迅速的送至执行部件,这样可以提高IPC。
本实施例中,本发明进一步在取指单元与译码单元之间设有PC0,每个流核心中均设有不同的PC,通过各PC之间的比较及判决电路实现PC间的同步保证流核心执行同一条指令。PC为“程序主数器”(Program counter),用来完成计数。
参见图2,在具体实施例中,假设一列指令队列正在单片多处理器中执行,其具体执行模式为:当处于某一时钟节拍时,指令1恰好经过取指单元、译码单元后送至执行部件,指令2则正处在译码单元,指令3处在取指单元,后面的指令4、指令5、指令6等则形成指令队列等待取指单元的取指。指令1进入译码单元后则被4个流核心同时执行,每个流核心分别执行此条指令的不同线程。
由此可见,流核心1、流核心2、流核心3、流核心4在流水线前端时对某一条指令采用共同的功能部件取指、译码操作,而在后端时,则是不同的4条流水线对同一条指令进行执行、访存、写回操作。在后端操作时,每条流水线分别执行同一条指令的不同线程,即:流核心1执行线程1、流核心执行线程2、流核心3执行线程3、流核心4执行线程4。通过此设计,从而能大大提高针对以科学计算、图形图像处理等以并行运算和数值运算为主的程序的效率,现时也能提高流水线前端各资源的利用率,还能提高各流水线后端各资源的协同能力。
如图3所示,显示了本发明具体实施中各PC变化及其状态的具体示意图。下面通过描述图2结构中数据的传输来解释整个流水线的工作过程。现有的程序主要有三种典型的结构:顺序、分支、循环,下面分别就此发明对三种典型的程序结构的执行流程予以详细说明,重点说明程序的控制流。当程序顺序执行时,此发明的执行和经典流水线完全一致。即,在初始化时,PC0、PC1、PC2、PC3、PC4中值完全一样,取指后,PC0自动加4,同时PC1、PC2、PC3、PC4也分别自动加4,此时,PC0、PC1、PC2、PC3、PC4中的值完全保持一致,经高速判决电路后,分别判决PC0与PC1、PC0与PC2、PC0与PC3、PC0与PC4一致,流水线不停顿的执行,下条指令继续流进并执行。当程序分支执行时,PC1、PC2、PC3、PC4中增加的值不一样,导致PC0、PC1、PC2、PC3、PC4值不完全一致,经判决电路后,其判决值不可能同时为0或为1,则致使流水线发生阻塞,也即4个流核心的非共享流水线后端只有部分继续运行,部分则处于等待状态,只有等PC0、PC1、PC2、PC3、PC4值完全一致时,4个流核心的非共享流水线后端才继续执行。我们设定在程序发生分支时,所有5个PC值以其中最大的那个PC值为基准,也即以分支跳转最远的PC为基准,当PC0、PC1、PC2、PC3、PC4不完全一致时,上述5个PC是如此动作的:PC1、PC2、PC3、PC4则处于停顿状态,只有PC0是不停的运行的,PC0的赋值由PC1、PC2、PC3、PC4所决定,通过比较器对PC1、PC2、PC3、PC4进行比较,将其最小值送至PC0,执行一个分支后,又将PC1、PC2、PC3、PC4中除却最小的PC余下的几个PC中最小值送至PC0,如此反复,直至所有PC0、PC1、PC2、PC3、PC4值完全一致时整个多核处理器系统才往下继续执行。当程序循环执行时,其执行流程同分支执行情况。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (1)

1.一种基于单片多处理器系统的共享前端流水线结构,其特征在于:包括设置于两个以上流核心的执行部件之前并被所有流核心共享的取指单元、译码单元和预取单元,所述取指单元完成取指操作后经译码单元将指令送入流核心的执行部件,不同流核心用来处理同一条指令的不同线程,所述预取单元用于当指令在流核心的执行部件阻塞时进行断续预取指,形成指令队列,待执行部件阻塞状态结束后,预取单元中的指令队列依次直接送至执行部件;所述取指单元与译码单元之间以及每个流核心中均设有不同的程序计数器PC,通过各PC之间的比较及判决电路实现PC间的同步保证流核心执行同一条指令。
CN201110001552.0A 2011-01-06 2011-01-06 基于单片多处理器系统的共享前端流水线结构 Expired - Fee Related CN102023846B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110001552.0A CN102023846B (zh) 2011-01-06 2011-01-06 基于单片多处理器系统的共享前端流水线结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110001552.0A CN102023846B (zh) 2011-01-06 2011-01-06 基于单片多处理器系统的共享前端流水线结构

Publications (2)

Publication Number Publication Date
CN102023846A CN102023846A (zh) 2011-04-20
CN102023846B true CN102023846B (zh) 2014-06-04

Family

ID=43865169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110001552.0A Expired - Fee Related CN102023846B (zh) 2011-01-06 2011-01-06 基于单片多处理器系统的共享前端流水线结构

Country Status (1)

Country Link
CN (1) CN102023846B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141550B2 (en) * 2013-03-05 2015-09-22 International Business Machines Corporation Specific prefetch algorithm for a chip having a parent core and a scout core
CN105045564A (zh) * 2015-06-26 2015-11-11 季锦诚 图形处理器中的前端动态共享方法
US20170083336A1 (en) * 2015-09-23 2017-03-23 Mediatek Inc. Processor equipped with hybrid core architecture, and associated method
CN115629807B (zh) * 2022-10-31 2023-04-14 海光信息技术股份有限公司 多线程处理器的译码方法、处理器、芯片及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101158952A (zh) * 2007-11-22 2008-04-09 中国人民解放军国防科学技术大学 基于流处理的生物序列数据库搜索多层次加速方法
CN101799750A (zh) * 2009-02-11 2010-08-11 上海芯豪微电子有限公司 一种数据处理的方法与装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101158952A (zh) * 2007-11-22 2008-04-09 中国人民解放军国防科学技术大学 基于流处理的生物序列数据库搜索多层次加速方法
CN101799750A (zh) * 2009-02-11 2010-08-11 上海芯豪微电子有限公司 一种数据处理的方法与装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Bulldozer"A new approach to multithreaded compute performance;Mike Butler,et al;《Hot Chips》;20100830(第22期);1-16 *
Mike Butler,et al."Bulldozer"A new approach to multithreaded compute performance.《Hot Chips》.2010,(第22期),1-16.

Also Published As

Publication number Publication date
CN102023846A (zh) 2011-04-20

Similar Documents

Publication Publication Date Title
Kogge et al. Exascale computing trends: Adjusting to the" new normal"'for computer architecture
Jouppi et al. Motivation for and evaluation of the first tensor processing unit
Barroso The price of performance: An economic case for chip multiprocessing
Keckler et al. GPUs and the future of parallel computing
Marowka Back to thin-core massively parallel processors
CN103842933B (zh) 多核平台中的受约束引导技术
CN101387952A (zh) 单芯片多处理器任务调度管理方法
KR20210057184A (ko) 이종 cpu/gpu 시스템에서 데이터 흐름 신호 처리 애플리케이션 가속화
WO2015171498A1 (en) Thread waiting in a multithreaded processor architecture
Tan et al. Analysis and performance results of computing betweenness centrality on IBM Cyclops64
Vishnu et al. Designing energy efficient communication runtime systems for data centric programming models
Gamatie et al. Towards energy-efficient heterogeneous multicore architectures for edge computing
Sato et al. Co-design and system for the supercomputer “fugaku”
CN102023846B (zh) 基于单片多处理器系统的共享前端流水线结构
Gao et al. Sunway supercomputer architecture towards exascale computing: analysis and practice
Fan et al. Smarco: An efficient many-core processor for high-throughput applications in datacenters
CN101751373A (zh) 基于单一指令集微处理器运算单元的可配置多核/众核系统
CN111008042A (zh) 基于异构流水线的高效通用处理器执行方法及系统
Chen et al. Handling shared variable synchronization in multi-core Network-on-Chips with distributed memory
Sandokji et al. Task scheduling frameworks for heterogeneous computing toward exascale
Awatramani et al. Perf-Sat: Runtime detection of performance saturation for GPGPU applications
Natvig et al. Multi‐and Many‐Cores, Architectural Overview for Programmers
Damavandpeyma et al. Hybrid code-data prefetch-aware multiprocessor task graph scheduling
Matheou et al. Paradigm shift for exascale computing
Makino et al. Analysis of past and present processors

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140604

Termination date: 20150106

EXPY Termination of patent right or utility model