CN111008042A - 基于异构流水线的高效通用处理器执行方法及系统 - Google Patents
基于异构流水线的高效通用处理器执行方法及系统 Download PDFInfo
- Publication number
- CN111008042A CN111008042A CN201911157048.2A CN201911157048A CN111008042A CN 111008042 A CN111008042 A CN 111008042A CN 201911157048 A CN201911157048 A CN 201911157048A CN 111008042 A CN111008042 A CN 111008042A
- Authority
- CN
- China
- Prior art keywords
- instruction
- general
- pipeline
- executed
- instructions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000004364 calculation method Methods 0.000 claims abstract description 44
- 238000012546 transfer Methods 0.000 claims description 7
- 238000013461 design Methods 0.000 abstract description 19
- 239000004433 Thermoplastic polyurethane Substances 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 229920002803 thermoplastic polyurethane Polymers 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012800 visualization 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 or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
本发明提出基于异构流水线的高效通用处理器执行方法及系统,包括:将通用处理器中计算部件整合为计算单元阵列,基于计算单元阵列构建顺序执行的计算流水线;并基于通用处理器中通用部件构建乱序执行的通用流水线;获取待执行指令,通用处理器中译码模块识别待执行指令属于通用指令或计算指令,若待执行指令属于通用指令,则将属于通用指令的待执行指令发送至通用流水线,得到待执行指令的执行结果,若待执行指令属于计算指令,则将属于计算指令的待执行指令发送至计算流水线,得到待执行指令的执行结果。本发明将通用处理器中计算指令和通用指令的流水线独立开来,使得两条流水线可以采用各自最高效的结构设计方法。
Description
技术领域
本发明属于处理器设计领域,特别涉及一种异构流水线的高效通用处理器设计方法及系统。
背景技术
人工智能、机器学习、认知计算、仿真模拟等新兴应用属于计算密集型应用,需要计算机具有更强大的计算能力。而通用处理器由于计算能力不足,与专用处理器如GPU、TPU等存在一个数量级的差距。因此,为满足新兴计算密集型应用的需求,当前的计算机系统一般采用异构的组成方式:一种是将具有强大计算能力的专用处理器,如GPU、TPU等作为IO设备,通过高速IO总线(如PCI-E)与通用处理器互连,协同工作;另一种是将GPU、TPU等作为协处理器,与通用处理器通过系统总线互连进行协同工作;还有一种是将GPU、TPU等作为IP核,通过片上互连总线与通用处理器核心组成异构多核处理器进行协同工作。无论哪一种方式,都需要通用处理器与专用处理器协同工作,缺一不可。
上述计算机系统存在两个明显的缺点:一是资源浪费,二是编程困难。
资源浪费主要体现在通用处理器的资源浪费。现代的通用处理器设计十分复杂,通常采用面向高指令并行的多发射、深流水、乱序执行的统一流水线结构,同时具有强大的向量计算部件,如图1所示。然而,在面向新兴应用的计算机系统中,虽然通用处理器和专用处理器搭配使用,但通用处理器实际上主要完成一些简单的管理功能,计算任务则完全由专用处理器承担,因此通用处理器自身强大的算力和复杂设计都是浪费。
编程困难体现在虽然计算任务主要由专用处理器承担,但通用处理器也需要配合做一些专用处理器做不了的工作,即二者必须搭配使用。这样就涉及两种不同指令系统的处理器的协同编程工作,增加了编程的复杂度和难度。同时,不同专用处理器的指令系统各不相同,也极大地增加了编程的难度和工作量。
如果通用处理器的计算能力能够大幅度提高,那么就能够在单一的通用处理器上处理计算密集型应用,这样资源利用率低和编程难的问题都可以得到解决。
与专用处理器相比,通用处理器计算能力低的主要原因是通用处理器为了提高通用程序执行的指令并行度,一般采用多发射、深流水、动态调度、乱序执行等复杂的设计方法,消耗了大量的晶体管资源,使得真正用于计算的晶体管资源的比例明显低于专用处理器,所以峰值计算能力通常比专用处理器低一个数量级。
发明内容
本发明的目的是解决通用处理器计算能力相对较低,而专用处理器编程困难的问题,提出了一种基于异构流水线的高效的通用处理器设计方法,为不同功能需求的指令设计不同结构的流水线,从而在单一的通用处理器上高效地满足新兴计算密集型应用的应用需求。
针对现有技术的不足,本发明提出一种基于异构流水线的高效通用处理器执行方法,其中包括:
步骤1、将通用处理器中计算部件整合为计算单元阵列,基于该计算单元阵列构建顺序执行的计算流水线;并基于该通用处理器中通用部件构建乱序执行的通用流水线;
步骤2、获取待执行指令,通用处理器中译码模块识别该待执行指令属于通用指令或计算指令,若该待执行指令属于通用指令,则执行步骤3,若该待执行指令属于计算指令,则执行步骤4;
步骤3、将属于通用指令的待执行指令发送至该通用流水线,得到该待执行指令的执行结果;
步骤4、将属于计算指令的待执行指令发送至该计算流水线,得到该待执行指令的执行结果。
所述的基于异构流水线的高效通用处理器执行方法,其中该通用指令包括定浮点运算指令、逻辑指令、访存指令、比较指令、分支转移指令、控制指令、系统指令,和,第一同步与数据交换指令;
该计算指令包括向量计算指令、向量访存指令,和,第二同步与数据交换指令;
该计算流水线和该通用流水线共享一个同步与交换模块,通过该第一同步与数据交换指令和该第二同步与数据交换指令实现同步与数据交换。
所述的基于异构流水线的高效通用处理器执行方法,其中该通用流水线采用面向指令并行的多发射、深流水和乱序执行的通用处理器流水线结构;
该计算流水线,采用面向数据并行的单指令多数据流的专用处理器流水线结构。
所述的基于异构流水线的高效通用处理器执行方法,其中该通用处理器包括门控电路,用于控制该计算流水线的启动和停止;
所述的基于异构流水线的高效通用处理器执行方法,其中该通用流水线通过一级数据高速缓存访问存储系统,该计算流水线通过二级或者最后一级高速缓存访问存储系统。
本发明还提出了一种基于异构流水线的高效通用处理器执行系统,其中包括:
模块1、将通用处理器中计算部件整合为计算单元阵列,基于该计算单元阵列构建顺序执行的计算流水线;并基于该通用处理器中通用部件构建乱序执行的通用流水线;
模块2、获取待执行指令,通用处理器中译码模块识别该待执行指令属于通用指令或计算指令,若该待执行指令属于通用指令,则执行模块3,若该待执行指令属于计算指令,则执行模块4;
模块3、将属于通用指令的待执行指令发送至该通用流水线,得到该待执行指令的执行结果;
模块4、将属于计算指令的待执行指令发送至该计算流水线,得到该待执行指令的执行结果。
所述的基于异构流水线的高效通用处理器执行系统,其中该通用指令包括定浮点运算指令、逻辑指令、访存指令、比较指令、分支转移指令、控制指令、系统指令,和,第一同步与数据交换指令;
该计算指令包括向量计算指令、向量访存指令,和,第二同步与数据交换指令;
该计算流水线和该通用流水线共享一个同步与交换模块,通过该第一同步与数据交换指令和该第二同步与数据交换指令实现同步与数据交换。
所述的基于异构流水线的高效通用处理器执行系统,其中该通用流水线采用面向指令并行的多发射、深流水和乱序执行的通用处理器流水线结构;
该计算流水线,采用面向数据并行的单指令多数据流的专用处理器流水线结构。
所述的基于异构流水线的高效通用处理器执行系统,其中该通用处理器包括门控电路,用于控制该计算流水线的启动和停止;
所述的基于异构流水线的高效通用处理器执行系统,其中该通用流水线通过一级数据高速缓存访问存储系统,该计算流水线通过二级或者最后一级高速缓存访问存储系统。
由以上方案可知,本发明的优点在于:
本发明将通用处理器中计算指令和通用指令的流水线独立开来,使得两条流水线可以采用各自最高效的实现方法。这一方面可以大幅降低通用处理器的设计复杂度,将更多晶体管资源用于计算流水线的设计,大幅提高通用处理器的计算能力;另一方面是通用指令和计算指令采用统一的编码,可以紧耦合地在两条流水线中并行执行,不仅简化了编程的难度,而且相比通过IO总线、系统总线或片上总线的互连协作方式,大幅提高了计算任务的执行效率。
附图说明
图1为本发明大数据管理和可视化流程图;
图2为可疑数据分析模块所输出的结果可视化范例图。
具体实施方式
本发明包括以下关键点:
关键点1,处理器指令由统一编码的基础的通用操作指令和专门的计算操作指令组成(后文简称为通用指令和计算指令),这两类指令在处理器的译码模块之后具有独立的流水线通路(后文简称为通用流水线和计算流水线);独立的两条流水线可以采用异构的实现方法,有利于通用指令和计算指令的高效实现。其中异构是指通用流水线采用乱序执行的流水线结构,计算流水线采用顺序执行的流水线结构,这两种流水线的结构有很大差别,所以是异构的。同时,因为两条流水线执行的指令不一样,这样两条流水线的运算执行部件的设计也完全不一样,这也是一种异构。
关键点2,通用流水线和计算流水线具有独立的访存部件,通用流水线的访存部件能够访问一级高速缓存,计算流水线的访存部件只能访问二级高速缓存;有利于满足通用访存指令的低延迟需求和计算访存指令的高带宽需求。
关键点3,计算流水线由门控电路控制,一条专门的通用指令或者操作,通过门控电路,可以启用或停止计算流水线;这样在只有通用指令的程序运行时可以关闭计算流水线,大幅降低处理器的功耗。
关键点4,计算流水线通过一个专门的寄存器或者标志位使能或禁止;使得仅有一个程序可以使用计算流水线,简化了操作系统和应用程序的设计。
关键点5,通用流水线和计算流水线共享一个同步和交换模块,实现两条流水线中指令的同步和数据交换;可以高效地实现通用指令和计算指令的并行执行和协同配合。
关键点6,计算流水线只能执行专门的计算、访存以及同步和数据交换操作,不能执行分支转移操作;简化了处理器设计和编程的复杂度。
计算密集型应用通常具有大量的数据并行性。而适合通用程序的高指令并行性的设计方法并不适合高数据并行性的应用,能效比很低。面向数据并行的专用处理器通常采用顺序执行的、简单的处理器架构,绝大多数的晶体管资源都用于计算单元的设计,形成密集的计算单元阵列,计算能力大幅提高。因此,如果在通用处理器中将计算部件与通用处理部件剥离开,形成两条独立的流水线。计算部件采用与专用处理器相似的简单的、顺序的流水线设计和高密度计算单元阵列;而复杂的架构设计仅限于通用流水线,并对通用流水线进行一定程度的简化,降低复杂度。这样就可以在单一的通用处理器上实现更大规模的计算能力,同时仍具备较强的通用处理能力,并降低了编程的复杂度。其中简化内容包括:一方面是指通用流水线指令功能简化,只包括基础的指令,复杂的向量计算指令都挪到计算流水线了,这样通用流水线的设计就会得到很大的简化。另一方面,下一段提到的,通用指令的定浮点运算指令可以共享同一套逻辑寄存器和物理寄存器,这会减少一套浮点寄存器,也会大幅简化设计。
异构流水线处理器采用统一编码的指令集,包括通用指令和计算指令。通用指令包括基本的定浮点运算指令、逻辑指令、访存指令、比较指令、分支转移指令、控制指令、系统指令和专门的同步与数据交换指令等。计算指令包括向量计算指令、向量访存指令和专门的同步与数据交换指令。为进一步降低通用流水线的复杂度,通用指令中的定浮点运算指令可以共享同一套逻辑寄存器和同一套物理寄存器,以简化通用流水线的设计。
异构流水线处理器的结构如图2所示。在取指、译码部件后有两条独立的流水线,一条是执行通用指令的通用流水线,采用面向指令并行的传统的多发射、深流水、乱序执行的通用处理器流水线结构;一条是执行计算指令的计算流水线,采用面向数据并行的单指令多数据流的专用处理器流水线结构。
异构流水线处理器的译码模块识别出通用指令和计算指令,将它们送往不同的流水线执行。
计算流水线受门控电路控制,通过门控电路启动或停止计算流水线的工作,达到降低功耗的目的。
计算流水线和通用流水线共享一个同步与交换模块,通过专门的指令实现同步与数据交换。计算流水线只有向量计算指令,没有控制指令,控制指令在通用流水线。因此,计算程序执行时两条流水线都有指令在执行,它们之间需要配合,但两条流水线是异构的,执行的步调是不一致,因此需要同步指令来保持某一时刻的步调一致,避免程序出错。另外,两条流水线配合工作就存在一定的数据交换。
通用流水线通过一级数据高速缓存访问存储系统,目的是降低访问延迟。计算流水线通过二级或者最后一级高速缓存访问存储系统,目的是提高访存带宽,减少对一级数据高速缓存的干扰,降低一级数据高速缓存的设计复杂度。
通用指令中有两条专门设计的指令或者操作,一条指令或操作控制计算流水线的门控电路,从而控制计算流水线电路是否工作;另一条指令或操作通过一个特定的寄存器标志位,控制计算流水线的使能或者不使能,避免使用冲突。现代的处理器是支持多用户程序分时执行的。计算程序通常需要占用全部算力来提高计算性能,因此这种计算程序通常只有一个,这样处理器设计时计算流水线就不支持分时共享了,一段时间内默认只分配给一个计算程序专用,这样可以简化操作系统和软件的设计。但这样如果用户不小心又同时运行了另一个计算程序,就会发生错误。设置一个标志位,使得计算程序在使用计算流水线前要先获得这个标志位的控制权,如果标志位已被其他计算程序控制,则新的计算程序不能启动,这样就确保了计算流水线的独占性。
以下为与上述方法实施例对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
本发明还提出了一种基于异构流水线的高效通用处理器执行系统,其中包括:
模块1、将通用处理器中计算部件整合为计算单元阵列,基于该计算单元阵列构建顺序执行的计算流水线;并基于该通用处理器中通用部件构建乱序执行的通用流水线;
模块2、获取待执行指令,通用处理器中译码模块识别该待执行指令属于通用指令或计算指令,若该待执行指令属于通用指令,则执行模块3,若该待执行指令属于计算指令,则执行模块4;
模块3、将属于通用指令的待执行指令发送至该通用流水线,得到该待执行指令的执行结果;
模块4、将属于计算指令的待执行指令发送至该计算流水线,得到该待执行指令的执行结果。
所述的基于异构流水线的高效通用处理器执行系统,其中该通用指令包括定浮点运算指令、逻辑指令、访存指令、比较指令、分支转移指令、控制指令、系统指令,和,第一同步与数据交换指令;
该计算指令包括向量计算指令、向量访存指令,和,第二同步与数据交换指令;
该计算流水线和该通用流水线共享一个同步与交换模块,通过该第一同步与数据交换指令和该第二同步与数据交换指令实现同步与数据交换。
所述的基于异构流水线的高效通用处理器执行系统,其中该通用流水线采用面向指令并行的多发射、深流水和乱序执行的通用处理器流水线结构;
该计算流水线,采用面向数据并行的单指令多数据流的专用处理器流水线结构。
所述的基于异构流水线的高效通用处理器执行系统,其中该通用处理器包括门控电路,用于控制该计算流水线的启动和停止;
所述的基于异构流水线的高效通用处理器执行系统,其中该通用流水线通过一级数据高速缓存访问存储系统,该计算流水线通过二级或者最后一级高速缓存访问存储系统。
Claims (10)
1.一种基于异构流水线的高效通用处理器执行方法,其特征在于,包括:
步骤1、将通用处理器中计算部件整合为计算单元阵列,基于该计算单元阵列构建顺序执行的计算流水线;并基于该通用处理器中通用部件构建乱序执行的通用流水线;
步骤2、获取待执行指令,通用处理器中译码模块识别该待执行指令属于通用指令或计算指令,若该待执行指令属于通用指令,则执行步骤3,若该待执行指令属于计算指令,则执行步骤4;
步骤3、将属于通用指令的待执行指令发送至该通用流水线,得到该待执行指令的执行结果;
步骤4、将属于计算指令的待执行指令发送至该计算流水线,得到该待执行指令的执行结果。
2.如权利要求1所述的基于异构流水线的高效通用处理器执行方法,其特征在于,该通用指令包括定浮点运算指令、逻辑指令、访存指令、比较指令、分支转移指令、控制指令、系统指令,和,第一同步与数据交换指令;
该计算指令包括向量计算指令、向量访存指令,和,第二同步与数据交换指令;
该计算流水线和该通用流水线共享一个同步与交换模块,通过该第一同步与数据交换指令和该第二同步与数据交换指令实现同步与数据交换。
3.如权利要求1所述的基于异构流水线的高效通用处理器执行方法,其特征在于,该通用流水线采用面向指令并行的多发射、深流水和乱序执行的通用处理器流水线结构;
该计算流水线,采用面向数据并行的单指令多数据流的专用处理器流水线结构。
4.如权利要求1所述的基于异构流水线的高效通用处理器执行方法,其特征在于,该通用处理器包括门控电路,用于控制该计算流水线的启动和停止。
5.如权利要求1所述的基于异构流水线的高效通用处理器执行方法,其特征在于,该通用流水线通过一级数据高速缓存访问存储系统,该计算流水线通过二级或者最后一级高速缓存访问存储系统。
6.一种基于异构流水线的高效通用处理器执行系统,其特征在于,包括:
模块1、将通用处理器中计算部件整合为计算单元阵列,基于该计算单元阵列构建顺序执行的计算流水线;并基于该通用处理器中通用部件构建乱序执行的通用流水线;
模块2、获取待执行指令,通用处理器中译码模块识别该待执行指令属于通用指令或计算指令,若该待执行指令属于通用指令,则执行模块3,若该待执行指令属于计算指令,则执行模块4;
模块3、将属于通用指令的待执行指令发送至该通用流水线,得到该待执行指令的执行结果;
模块4、将属于计算指令的待执行指令发送至该计算流水线,得到该待执行指令的执行结果。
7.如权利要求6所述的基于异构流水线的高效通用处理器执行系统,其特征在于,该通用指令包括定浮点运算指令、逻辑指令、访存指令、比较指令、分支转移指令、控制指令、系统指令,和,第一同步与数据交换指令;
该计算指令包括向量计算指令、向量访存指令,和,第二同步与数据交换指令;
该计算流水线和该通用流水线共享一个同步与交换模块,通过该第一同步与数据交换指令和该第二同步与数据交换指令实现同步与数据交换。
8.如权利要求6所述的基于异构流水线的高效通用处理器执行系统,其特征在于,该通用流水线采用面向指令并行的多发射、深流水和乱序执行的通用处理器流水线结构;
该计算流水线,采用面向数据并行的单指令多数据流的专用处理器流水线结构。
9.如权利要求6所述的基于异构流水线的高效通用处理器执行系统,其特征在于,该通用处理器包括门控电路,用于控制该计算流水线的启动和停止。
10.如权利要求6所述的基于异构流水线的高效通用处理器执行系统,其特征在于,该通用流水线通过一级数据高速缓存访问存储系统,该计算流水线通过二级或者最后一级高速缓存访问存储系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911157048.2A CN111008042B (zh) | 2019-11-22 | 2019-11-22 | 基于异构流水线的高效通用处理器执行方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911157048.2A CN111008042B (zh) | 2019-11-22 | 2019-11-22 | 基于异构流水线的高效通用处理器执行方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111008042A true CN111008042A (zh) | 2020-04-14 |
CN111008042B CN111008042B (zh) | 2022-07-05 |
Family
ID=70113751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911157048.2A Active CN111008042B (zh) | 2019-11-22 | 2019-11-22 | 基于异构流水线的高效通用处理器执行方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111008042B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596791A (zh) * | 2020-12-11 | 2021-04-02 | 中国科学院计算技术研究所 | 一种异构流水线的通用处理器及其执行方法 |
US20210232394A1 (en) * | 2018-10-23 | 2021-07-29 | Huawei Technologies Co., Ltd. | Data flow processing method and related device |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060200651A1 (en) * | 2005-03-03 | 2006-09-07 | Collopy Thomas K | Method and apparatus for power reduction utilizing heterogeneously-multi-pipelined processor |
CN102063290A (zh) * | 2010-12-23 | 2011-05-18 | 中国科学院苏州纳米技术与纳米仿生研究所 | 一种系统化risc cpu流水线控制方法 |
US20130298130A1 (en) * | 2012-05-03 | 2013-11-07 | Nec Laboratories America, Inc. | Automatic pipelining framework for heterogeneous parallel computing systems |
CN105321142A (zh) * | 2014-06-27 | 2016-02-10 | 英特尔公司 | 经由计算流水线进行的采样、错误管理和/或上下文切换 |
CN105975252A (zh) * | 2016-04-29 | 2016-09-28 | 龙芯中科技术有限公司 | 一种处理指令的流水线的实现方法、装置及处理器 |
CN106465404A (zh) * | 2014-02-06 | 2017-02-22 | 优创半导体科技有限公司 | 用于使得处理器能够生成流水线控制信号的方法和装置 |
US20170102892A1 (en) * | 2015-10-09 | 2017-04-13 | Oracle International Corporation | Performance of coprocessor assisted memset() through heterogeneous computing |
US20180349142A1 (en) * | 2017-06-05 | 2018-12-06 | The Trustees Of Princeton University | Heterogeneous microprocessor for energy-scalable sensor inference using genetic programming |
CN109213529A (zh) * | 2017-07-07 | 2019-01-15 | 龙芯中科技术有限公司 | 流水线处理器调度指令的方法、装置及流水线处理器 |
CN109388429A (zh) * | 2018-09-29 | 2019-02-26 | 古进 | Mhp异构多流水线处理器的任务分发方法 |
-
2019
- 2019-11-22 CN CN201911157048.2A patent/CN111008042B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060200651A1 (en) * | 2005-03-03 | 2006-09-07 | Collopy Thomas K | Method and apparatus for power reduction utilizing heterogeneously-multi-pipelined processor |
CN102063290A (zh) * | 2010-12-23 | 2011-05-18 | 中国科学院苏州纳米技术与纳米仿生研究所 | 一种系统化risc cpu流水线控制方法 |
US20130298130A1 (en) * | 2012-05-03 | 2013-11-07 | Nec Laboratories America, Inc. | Automatic pipelining framework for heterogeneous parallel computing systems |
CN106465404A (zh) * | 2014-02-06 | 2017-02-22 | 优创半导体科技有限公司 | 用于使得处理器能够生成流水线控制信号的方法和装置 |
CN105321142A (zh) * | 2014-06-27 | 2016-02-10 | 英特尔公司 | 经由计算流水线进行的采样、错误管理和/或上下文切换 |
US20170102892A1 (en) * | 2015-10-09 | 2017-04-13 | Oracle International Corporation | Performance of coprocessor assisted memset() through heterogeneous computing |
CN105975252A (zh) * | 2016-04-29 | 2016-09-28 | 龙芯中科技术有限公司 | 一种处理指令的流水线的实现方法、装置及处理器 |
US20180349142A1 (en) * | 2017-06-05 | 2018-12-06 | The Trustees Of Princeton University | Heterogeneous microprocessor for energy-scalable sensor inference using genetic programming |
CN109213529A (zh) * | 2017-07-07 | 2019-01-15 | 龙芯中科技术有限公司 | 流水线处理器调度指令的方法、装置及流水线处理器 |
CN109388429A (zh) * | 2018-09-29 | 2019-02-26 | 古进 | Mhp异构多流水线处理器的任务分发方法 |
Non-Patent Citations (2)
Title |
---|
杨平平等: "异构信号处理平台中层次性流水线调度算法", 《计算机工程》 * |
蒋江: "通用EPIC微处理器中指令控制流水线的研究与实现", 《小型微型计算机系统》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210232394A1 (en) * | 2018-10-23 | 2021-07-29 | Huawei Technologies Co., Ltd. | Data flow processing method and related device |
US11900113B2 (en) * | 2018-10-23 | 2024-02-13 | Huawei Technologies Co., Ltd. | Data flow processing method and related device |
CN112596791A (zh) * | 2020-12-11 | 2021-04-02 | 中国科学院计算技术研究所 | 一种异构流水线的通用处理器及其执行方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111008042B (zh) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108268278B (zh) | 具有可配置空间加速器的处理器、方法和系统 | |
TWI628594B (zh) | 用戶等級分叉及會合處理器、方法、系統及指令 | |
Wang et al. | Kernel fusion: An effective method for better power efficiency on multithreaded GPU | |
CN103714039B (zh) | 通用计算数字信号处理器 | |
Pérache et al. | MPC: A unified parallel runtime for clusters of NUMA machines | |
EP1963963A2 (en) | Methods and apparatus for multi-core processing with dedicated thread management | |
CN112199173B (zh) | 双核cpu实时操作系统数据处理方法 | |
CN111008042B (zh) | 基于异构流水线的高效通用处理器执行方法及系统 | |
CN102306139A (zh) | 用于ofdm无线通信系统的异构多核数字信号处理器 | |
CN112580792B (zh) | 一种神经网络多核张量处理器 | |
Tan et al. | Optimizing the LINPACK algorithm for large-scale PCIe-based CPU-GPU heterogeneous systems | |
Penna et al. | On the performance and isolation of asymmetric microkernel design for lightweight manycores | |
Mondelli et al. | Dataflow support in x86_64 multicore architectures through small hardware extensions | |
CN112527729A (zh) | 一种紧耦合异构多核处理器架构及其处理方法 | |
CN102023846B (zh) | 基于单片多处理器系统的共享前端流水线结构 | |
CN116757132A (zh) | 异构多核fpga电路架构、构建方法及数据传输方法 | |
CN112732634B (zh) | 面向边缘计算的arm-fpga协同局部动态重构处理方法 | |
Chen et al. | Reverse offload programming on heterogeneous systems | |
Kang | AI Drives Domain Specific Processors | |
Palomar et al. | Energy minimization at all layers of the data center: The ParaDIME project | |
CN117687779B (zh) | 基于异构多核计算平台的复杂电波传播预测快速计算方法 | |
Yan et al. | Design of Processors | |
Morshedi et al. | Making the case for highly efficient multicore enabled unikernels with IncludeOS | |
He et al. | MPI+ OpenMP implementation and results analysis of matrix multiplication based on rowwise and columnwise block-striped decomposition of the matrices | |
CN117785784A (zh) | 一种适用于多核数据处理器的cpu实现装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |