CN102023846A - 基于单片多处理器系统的共享前端流水线结构 - Google Patents
基于单片多处理器系统的共享前端流水线结构 Download PDFInfo
- Publication number
- CN102023846A CN102023846A CN2011100015520A CN201110001552A CN102023846A CN 102023846 A CN102023846 A CN 102023846A CN 2011100015520 A CN2011100015520 A CN 2011100015520A CN 201110001552 A CN201110001552 A CN 201110001552A CN 102023846 A CN102023846 A CN 102023846A
- Authority
- CN
- China
- Prior art keywords
- unit
- instruction
- core
- shared
- stream
- 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
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 (2)
1. 一种基于单片多处理器系统的共享前端流水线结构,其特征在于:包括设置于两个以上流核心的执行部件之前并被所有流核心共享的取指单元、译码单元和预取单元,所述取指单元完成取指操作后经译码单元将指令送入流核心的执行部件,不同流核心用来处理同一条指令的不同线程,所述预取单元用于当指令在流核心的执行部件阻塞时进行断续预取指,形成指令队列,待执行部件阻塞状态结束后,预取单元中的指令队列依次送至执行部件。
2. 根据权利要求1所述的基于单片多处理器系统的共享前端流水线结构,其特征在于:所述取指单元与译码单元之间以及每个流核心中均设有不同的程序计数器PC,通过各PC之间的比较及判决电路实现PC间的同步保证流核心执行同一条指令。
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 true CN102023846A (zh) | 2011-04-20 |
CN102023846B 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104981787A (zh) * | 2013-03-05 | 2015-10-14 | 国际商业机器公司 | 具有母核和侦察核的芯片的数据预取 |
CN105045564A (zh) * | 2015-06-26 | 2015-11-11 | 季锦诚 | 图形处理器中的前端动态共享方法 |
CN107015943A (zh) * | 2015-09-23 | 2017-08-04 | 联发科技股份有限公司 | 具有混合核结构的处理器及有关方法 |
CN115629807A (zh) * | 2022-10-31 | 2023-01-20 | 海光信息技术股份有限公司 | 多线程处理器的译码方法、处理器、芯片及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158952A (zh) * | 2007-11-22 | 2008-04-09 | 中国人民解放军国防科学技术大学 | 基于流处理的生物序列数据库搜索多层次加速方法 |
CN101799750A (zh) * | 2009-02-11 | 2010-08-11 | 上海芯豪微电子有限公司 | 一种数据处理的方法与装置 |
-
2011
- 2011-01-06 CN CN201110001552.0A patent/CN102023846B/zh not_active Expired - Fee Related
Patent Citations (2)
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)
Title |
---|
《Hot Chips》 20100830 Mike Butler,et al "Bulldozer"A new approach to multithreaded compute performance 1-16 1-2 , 第22期 * |
MIKE BUTLER,ET AL: ""Bulldozer"A new approach to multithreaded compute performance", 《HOT CHIPS》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104981787A (zh) * | 2013-03-05 | 2015-10-14 | 国际商业机器公司 | 具有母核和侦察核的芯片的数据预取 |
CN104981787B (zh) * | 2013-03-05 | 2017-11-17 | 国际商业机器公司 | 具有母核和侦察核的芯片的数据预取 |
CN105045564A (zh) * | 2015-06-26 | 2015-11-11 | 季锦诚 | 图形处理器中的前端动态共享方法 |
CN107015943A (zh) * | 2015-09-23 | 2017-08-04 | 联发科技股份有限公司 | 具有混合核结构的处理器及有关方法 |
CN115629807A (zh) * | 2022-10-31 | 2023-01-20 | 海光信息技术股份有限公司 | 多线程处理器的译码方法、处理器、芯片及电子设备 |
CN115629807B (zh) * | 2022-10-31 | 2023-04-14 | 海光信息技术股份有限公司 | 多线程处理器的译码方法、处理器、芯片及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102023846B (zh) | 2014-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kogge et al. | Exascale computing trends: Adjusting to the" new normal"'for computer architecture | |
Barroso | The price of performance: An economic case for chip multiprocessing | |
Wang et al. | Kernel fusion: An effective method for better power efficiency on multithreaded GPU | |
CN103842933B (zh) | 多核平台中的受约束引导技术 | |
CN102508643A (zh) | 一种多核并行数字信号处理器及并行指令集的运行方法 | |
CN101387952A (zh) | 单芯片多处理器任务调度管理方法 | |
Gamatie et al. | Towards energy-efficient heterogeneous multicore architectures for edge computing | |
Khairy et al. | A survey of architectural approaches for improving GPGPU performance, programmability and heterogeneity | |
Sato et al. | Co-design and system for the supercomputer “Fugaku” | |
CN102023846B (zh) | 基于单片多处理器系统的共享前端流水线结构 | |
Abdel-Majeed et al. | Origami: Folding warps for energy efficient gpus | |
CN101751373A (zh) | 基于单一指令集微处理器运算单元的可配置多核/众核系统 | |
Yu et al. | A 16-core processor with shared-memory and message-passing communications | |
CN105045564A (zh) | 图形处理器中的前端动态共享方法 | |
El-Moursy et al. | Partitioning multi-threaded processors with a large number of threads | |
Sharma et al. | Performance evaluation of MPI and hybrid MPI+ OpenMP programming paradigms on multi-core processors cluster | |
US9594563B2 (en) | CPU archtecture with highly flexible allocation of execution resources to threads | |
Awatramani et al. | Perf-Sat: Runtime detection of performance saturation for GPGPU applications | |
CN205959186U (zh) | 医疗多线程共享资源系统 | |
Makino et al. | Analysis of past and present processors | |
Kuszmaul et al. | A comparison of scalable superscalar processors | |
Matheou et al. | Paradigm shift for exascale computing | |
Sadeghi et al. | Lighting the dark-silicon 3D chip multi-processors by exploiting heterogeneity in cache hierarchy | |
Li et al. | A Novel Critical Path Based Routing Method Based on for NOC | |
Li et al. | Study and implementation of cluster hierarchical memory system of multicore cryptographic 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 | ||
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 |