CN112596791A - 一种异构流水线的通用处理器及其执行方法 - Google Patents
一种异构流水线的通用处理器及其执行方法 Download PDFInfo
- Publication number
- CN112596791A CN112596791A CN202011457846.XA CN202011457846A CN112596791A CN 112596791 A CN112596791 A CN 112596791A CN 202011457846 A CN202011457846 A CN 202011457846A CN 112596791 A CN112596791 A CN 112596791A
- Authority
- CN
- China
- Prior art keywords
- pipeline
- general
- instructions
- instruction
- control
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004364 calculation method Methods 0.000 claims abstract description 22
- 230000006870 function Effects 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 14
- 238000012546 transfer Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 6
- 239000004433 Thermoplastic polyurethane Substances 0.000 description 5
- 229920002803 thermoplastic polyurethane Polymers 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013519 translation Methods 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
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004088 simulation 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
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
一种异构流水线的通用处理器及其执行方法,该通用处理器包括x(x为正整数)条由通用部件构建的通用流水线,y(y为正整数)条由计算部件构建的计算流水线,还包括:分别设置于该x条通用流水线上的x个控制功能部件;分别设置于该y条计算流水线上的y个控制接口;该x个控制功能部件与该y个控制接口可通过接口信号直接通信,取指部件从指令缓存中获取指令,经过译码部件翻译,将指令发往相应的流水线,通用流水线接收可由通用部件识别的指令,得到执行结果;计算流水线接收可由计算部件识别的指令,得到执行结果。执行过程中,控制功能部件通过接口信号与控制接口通信,来控制计算流水线的执行或/和读取计算流水线的执行状态或/和执行结果。
Description
技术领域
本发明涉及处理器,尤其是一种异构流水线的通用处理器及其执行方法。
背景技术
人工智能、机器学习、认知计算、仿真模拟等新兴应用属于计算密集型应用,需要计算机具有更强大的计算能力。而通用处理器由于计算能力不足,与专用处理器如GPGPU、TPU等存在一个数量级的差距。因此,为满足新兴计算密集型应用的需求,当前的计算机系统一般采用异构的组成方式:一种是将具有强大计算能力的专用处理器,如GPGPU、TPU等作为IO设备,通过高速IO总线(如PCI-E)与通用处理器互连,协同工作;另一种是将GPGPU、TPU等作为协处理器,与通用处理器通过系统总线互连进行协同工作;还有一种是将GPGPU、TPU等作为IP核,通过片上互连总线与通用处理器核心组成异构多核处理器进行协同工作。无论哪一种方式,都需要通用处理器与专用处理器协同工作,缺一不可。
如图1所示为通用处理器的流水线结构100。指令经过取指步骤S100、译码步骤S110、寄存器重命名步骤S120、派发步骤S130等步骤完成计算得到执行结果。上述计算机系统存在两个明显的缺点:一是资源浪费,二是编程困难。
资源浪费主要体现在通用处理器的资源浪费。现代的通用处理器设计十分复杂,通常采用面向高指令并行的多发射、深流水、乱序执行的统一流水线结构,同时具有强大的向量计算部件。然而,在面向新兴应用的计算机系统中,虽然通用处理器和专用处理器搭配使用,但通用处理器实际上主要完成一些简单的管理功能,计算任务则完全由专用处理器承担,因此通用处理器自身强大的算力和复杂设计都是浪费。
编程困难体现在虽然计算任务主要由专用处理器承担,但通用处理器也需要配合做一些专用处理器做不了的工作,即二者必须搭配使用。这样就涉及两种不同指令系统的处理器的协同编程工作,增加了编程的复杂度和难度。同时,不同专用处理器的指令系统各不相同,也极大地增加了编程的难度和工作量。
如图2所示,为一种异构流水线的通用处理器执行方法,异构流水线的通用处理器结构200通过设立两条不同功能的流水线分工合作缓解了上述问题,但是两条流水线之间通过一同步与交换模块通信略显冗余,并且仅由一取指、译码部件分配、翻译指令,可能对该取指、译码部件造成较大负担。
发明内容
为了解决上述问题,本发明提供了一种异构流水线的通用处理器及其执行方法,可以缓解现状。
根据本发明的一实施例提出一种异构流水线的通用处理器执行方法,该通用处理器包括x(x为正整数)条由通用部件构建的通用流水线,y(y为正整数)条由计算部件构建的计算流水线,该方法包括:取指部件从指令缓存中取得指令,经过译码部件翻译,将该指令发送至该x+y条流水线;该x条通用流水线接收可由该通用部件识别的通用指令,并得到执行结果;该y条计算流水线接收可由该计算部件识别的计算指令,并得到执行结果;其中,该方法还包括:分别设置于该x条通用流水线上的x个控制功能部件通过接口信号与分别设置于该y条计算流水线上的y个控制接口通信,来控制该y条计算流水线的执行或/和读取该y条计算流水线的执行状态或/和执行结果。
上述的异构流水线的通用处理器执行方法,其中,该x的值为1,该y的值为1。
上述的异构流水线的通用处理器执行方法,其中,该通用指令包括定浮点运算指令、逻辑指令、访存指令、比较指令、分支转移指令、控制指令、系统指令或/和控制功能部件指令;该计算指令包括向量计算指令或/和向量访存指令。
上述的异构流水线的通用处理器执行方法,其中,该通用流水线采用面向指令并行的传统的多发射、深流水、乱序执行的通用处理器流水线结构;该计算流水线采用面向数据并行的单指令多数据流的专用处理器流水线结构。
上述的异构流水线的通用处理器执行方法,其中,该控制功能部件执行:一类指令通过该接口信号给该计算流水线传递执行参数,包括指令地址、数据地址;另一类指令通过该接口信号读取该计算流水线的执行状态。
上述的异构流水线的通用处理器执行方法,其中,该接口信号包括三类信号,第一类信号是命令信号,包括读、写、使能信号;第二类信号是地址信号,用于访问该计算流水线的该控制接口中的控制寄存器和数据寄存器;第三类信号是数据信号,用于传递数据。
上述的异构流水线的通用处理器执行方法,其中,该计算流水线的该控制接口中有一门控电路,可以通过该控制功能部件执行的该指令控制该计算流水线启用或停止。
上述的异构流水线的通用处理器执行方法,其中,该控制功能部件中有一寄存器,通过将一进程绑定至该计算流水线使得仅有一个进程可以使用该计算流水线。
上述的异构流水线的通用处理器执行方法,其中,该通用流水线与该计算流水线上共享一取指部件,该取指部件根据该通用流水线与该计算流水线的取指请求地址取指,并将取回的通用指令或/和计算指令送往相应的流水线执行。
一种异构流水线的通用处理器,该通用处理器包括x(x为正整数)条由通用部件构建的通用流水线,y(y为正整数)条由计算部件构建的计算流水线,还包括:分别设置于该x条通用流水线上的x个控制功能部件;分别设置于该y条计算流水线上的y个控制接口;其中,该x个控制功能部件与该y个控制接口可通过接口信号直接通信,该通用处理器执行一执行方法,该方法包括:取指部件从指令缓存中取得指令,经过译码部件翻译,将该指令发送至该x+y条流水线;该x条通用流水线接收可由该通用部件识别的通用指令,并得到执行结果;该y条计算流水线接收可由该计算部件识别的计算指令,并得到执行结果;分别设置于该x条通用流水线上的该x个控制功能部件通过该接口信号与分别设置于该y条计算流水线上的该y个控制接口通信,来控制该y条计算流水线的执行或/和读取该y条计算流水线的执行状态或/和执行结果。
上述的异构流水线的通用处理器,其中,该x的值为1,该y的值为1。
上述的异构流水线的通用处理器,其中,该通用指令包括定浮点运算指令、逻辑指令、访存指令、比较指令、分支转移指令、控制指令、系统指令或/和控制功能部件指令,该计算指令包括向量计算指令或/和向量访存指令。
上述的异构流水线的通用处理器,其中,该通用流水线采用面向指令并行的传统的多发射、深流水、乱序执行的通用处理器流水线结构;该计算流水线采用面向数据并行的单指令多数据流的专用处理器流水线结构。
上述的异构流水线的通用处理器,其中,该控制功能部件可执行:一类指令通过该接口信号给该计算流水线传递执行参数,包括指令地址、数据地址;另一类指令通过该接口信号读取该计算流水线的执行状态。
上述的异构流水线的通用处理器,其中,该接口信号包括三类信号,第一类信号是命令信号,包括读、写、使能信号;第二类信号是地址信号,用于访问该计算流水线的该控制接口中的控制寄存器和数据寄存器;第三类信号是数据信号,用于传递数据。
上述的异构流水线的通用处理器,其中,该计算流水线的该控制接口中有一门控电路,可以通过该控制功能部件执行的该指令控制该计算流水线启用或停止。
上述的异构流水线的通用处理器,其中,该控制功能部件中有一寄存器,通过将一进程绑定至该计算流水线使得仅有一个进程可以使用该计算流水线。
上述的异构流水线的通用处理器,其中,该通用流水线与该计算流水线上共享一取指部件,该取指部件根据该通用流水线与该计算流水线的取指请求地址取指,并将取回的通用指令或/和计算指令送往相应的流水线执行。
本发明的优点在于,将通用处理器中执行计算指令和执行通用指令的流水线独立开来,使得两条流水线可以采用各自最高效的实现方法。且两条流水线之间通过接口信号通信,更节省了空间简化了流程。通过在计算流水线上设置门控电路,方便了通用流水线对计算流水线的管控。在控制功能部件上设定的寄存器,可以使得计算任务能够不受阻碍的高效运行,降低了发生错误的几率。取指部件可共享可不共享,更使得通用处理器结构更加灵活,共享后可减少指令缓存的访问端口,不共享则便于对应相应的流水线设立相应的取指部件高效取指。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为一种现有技术的通用处理器的流水线结构方框图。
图2为一种现有技术的异构流水线的通用处理器结构方框图。
图3为本发明一实施例的异构流水线的通用处理器结构方框图。
图4为本发明又一实施例的异构流水线的通用处理器结构方框图。
其中,附图标记:
100:通用处理器的流水线结构
110:指令缓存
120:数据缓存
130:通用运算部件
140:向量运算部件
150:访存部件
S100:取指步骤
S110:译码步骤
S120:寄存器重命名步骤
S130:派发步骤
S140:发射步骤
S150:执行步骤
S160:写回步骤
S170:提交步骤
200,300,400:异构流水线的通用处理器结构
310,410:指令缓存
320,420:数据缓存
331,332,430:取指部件
335,336,435,436:译码部件
340,440:通用流水线
350,450:计算流水线
360,460:控制功能部件
370,470:控制接口
380,480:寄存器
385,485:数据寄存器
390,490:门控电路
a,a’:地址信号
c,c’:命令信号
d,d’:数据信号
具体实施方式
在说明书及后续的权利要求书中使用了某些词汇来指称特定组件或部件,本领域普通技术人员应可理解,技术使用者或制造商可以不同的名词或术语来称呼同一个组件或部件。本说明书及后续的权利要求书并不以名称的差异来作为区分组件或部件的方式,而是以组件或部件在功能上的差异来作为区分的准则。在通篇说明书及后续的权利要求项中所提及的“包括”和“包含”为一开放式的用语,故应解释成“包含但不限定于”。以外,“连接”一词在此包含任何直接及间接的电性连接手段。间接的电性连接手段包括通过其它装置进行连接。
需要说明的是,在本发明的描述中,术语“横向”、“纵向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,并不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此也不能理解为对本发明的限制。
下面结合附图对本发明的结构原理和工作原理作具体的描述:
如图3所示,为本发明一实施例的异构流水线的通用处理器结构300方框图。异构流水线的通用处理器结构300由两条执行不同功能的流水线构成,一条流水线由通用部件构成,称为通用流水线340,采用面向指令并行的传统的多发射、深流水、乱序执行的通用处理器流水线结构;另一条流水线由计算部件构成,称为计算流水线350,采用面向数据并行的单指令多数据流的专用处理器流水线结构。其中,通用流水线340数量与计算流水线350数量不以此为限,但至少均有一条。两条流水线分别通过各自外部的一取指部件331、332完成对指令缓存310的共享,再分别通过译码部件335,336进行翻译。通用流水线340和计算流水线350通过共享数据缓存320实现计算数据的共享访问。通用流水线340可通过其连接的取指部件331完成对通用指令(包括但不限于定浮点运算指令、逻辑指令、访存指令、比较指令、分支转移指令、控制指令、系统指令、控制功能部件指令)的接收,并得到执行结果;计算流水线350通过其连接的取指部件332完成对计算指令(包括但不限于向量计算指令、向量访存指令)的接收,并得到执行结果。通用流水线340上设有一控制功能部件360,计算流水线350上设有一控制接口370,通用流水线340上的控制功能部件360通过接口信号与计算流水线350上的控制接口370进行通信,来控制计算流水线350的执行或/和读取计算流水线350的执行状态或/和执行结果。
控制功能部件360可执行两类指令:一类指令通过该接口信号给该计算流水线350传递执行参数,包括指令地址、数据地址,执行参数可控制计算流水线350的执行;另一类指令通过该接口信号读取该计算流水线350的执行状态。
接口信号包括三类信号,第一类信号是命令信号c,包括读、写、使能信号;第二类信号是地址信号a,用于访问该计算流水线350的该控制接口370中的控制寄存器和数据寄存器385;第三类信号是数据信号d,用于传递数据。
计算流水线350的控制接口370包括一组控制寄存器和数据寄存器385,控制寄存器能将写入的二进制数值作为信号连接到指定的电路,并改变该电路的状态;数据寄存器385保存写入的二进制数值,供后续使用。控制寄存器和数据寄存器385能够根据通用流水线340发送的信号控制计算流水线350的操作。在本实施例中,控制寄存器为一门控电路390。如图3所示,计算流水线350的控制接口370有一门控电路390,能够根据通用流水线340发送的信号控制计算流水线350的启动或者停止。这样在只有通用指令的程序运行时可以关闭计算流水线350,大幅降低处理器的功耗。
通用流水线340的控制功能部件360有一个专门的寄存器380,其值设置为当前占有计算流水线350的进程标识。其目的在于,由于计算程序通常需要占用全部算力来提高计算性能,因此这类程序通常只能同时运行一个,如果在已运行一个计算程序时再运行另一计算程序,就会发生错误。设置一寄存器380且将其值设置为当前占有计算流水线350的进程标识,可以在进程标识非初始值时暂时停止其它计算程序的同时运行,保障了单一计算程序运行的稳定性。
如图4所示,为本发明又一实施例的异构流水线的通用处理器结构400方框图。本实施例的取指部件430为两条流水线共享,进一步节省了空间优化了流程。异构流水线的通用处理器结构400由两条执行不同功能的流水线构成,一条流水线由通用部件构成,称为通用流水线440,采用面向指令并行的传统的多发射、深流水、乱序执行的通用处理器流水线结构;另一条流水线由计算部件构成,称为计算流水线450,采用面向数据并行的单指令多数据流的专用处理器流水线结构。其中,通用流水线440数量与计算流水线450数量不以此为限,但至少均有一条。通用流水线440数量与计算流水线450通过外部的一取指部件430完成对指令缓存410的共享,再分别通过译码部件435,436进行翻译。通用流水线440和计算流水线450通过共享数据缓存420实现计算数据的共享访问。通用流水线440可通过取指部件430完成对通用指令(包括但不限于定浮点运算指令、逻辑指令、访存指令、比较指令、分支转移指令、控制指令、系统指令、控制功能部件指令)的接收,并得到执行结果;计算流水线450通过取指部件430完成对计算指令(包括但不限于向量计算指令、向量访存指令)的接收,并得到执行结果。通用流水线440上设有一控制功能部件460,计算流水线450上设有一控制接口470,通用流水线440上的控制功能部件460通过接口信号与计算流水线450上的控制接口470进行通信,来控制计算流水线450的执行或/和读取计算流水线450的执行状态或/和执行结果。
控制功能部件460可执行两类指令:一类指令通过该接口信号给该计算流水线450传递执行参数,包括指令地址、数据地址,执行参数可控制计算流水线450的执行;另一类指令通过该接口信号读取该计算流水线450的执行状态。
接口信号包括三类信号,第一类信号是命令信号c’,包括读、写、使能信号;第二类信号是地址信号a’,用于访问该计算流水线450的该控制接口470中的控制寄存器和数据寄存器485;第三类信号是数据信号d’,用于传递数据。
计算流水线450的控制接口470包括一组控制寄存器和数据寄存器485,控制寄存器能将写入的二进制数值作为信号连接到指定的电路,并改变该电路的状态;数据寄存器485保存写入的二进制数值,供后续使用。控制寄存器和数据寄存器485能够根据通用流水线440发送的信号控制计算流水线450的操作。在本实施例中,控制寄存器为一门控电路490。如图4所示,计算流水线450的控制接口470有一个门控电路490,能够根据通用流水线440发送的信号控制计算流水线450的启动或者停止。这样在只有通用指令的程序运行时可以关闭计算流水线450,大幅降低处理器的功耗。
通用流水线440的控制功能部件460有一个专门的寄存器480,其值设置为当前占有计算流水线450的进程标识。其目的在于,由于计算程序通常需要占用全部算力来提高计算性能,因此这类程序通常只能同时运行一个,如果在已运行一个计算程序时再运行另一计算程序,就会发生错误。设置一寄存器且将其值设置为当前占有计算流水线450的进程标识,可以在进程标识非初始值时暂时停止其它计算程序的同时运行,保障了单一计算程序运行的稳定性。
综上,本发明提供的异构流水线的通用处理器及其执行方法一方面可以大幅降低通用处理器的设计复杂度,将更多晶体管资源用于计算流水线的设计,大幅提高通用处理器的计算能力;另一方面通用流水线和计算流水线又具有紧耦合的通信与同步机制,可以紧耦合地并行执行,不仅简化了编程的难度,而且相比通过IO总线、系统总线或片上总线的互连协作方式,大幅提高了计算任务的执行效率。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (18)
1.一种异构流水线的通用处理器执行方法,该通用处理器包括x(x为正整数)条由通用部件构建的通用流水线,y(y为正整数)条由计算部件构建的计算流水线,该方法包括:
取指部件从指令缓存中取得指令,经过译码部件翻译,将该指令发送至该x+y条流水线;
该x条通用流水线接收可由该通用部件识别的通用指令,并得到执行结果;
该y条计算流水线接收可由该计算部件识别的计算指令,并得到执行结果;
其特征在于,该方法还包括:
分别设置于该x条通用流水线上的x个控制功能部件通过接口信号与分别设置于该y条计算流水线上的y个控制接口通信,来控制该y条计算流水线的执行或/和读取该y条计算流水线的执行状态或/和执行结果。
2.根据权利要求1所述的异构流水线的通用处理器执行方法,其特征在于,该x的值为1,该y的值为1。
3.根据权利要求2所述的异构流水线的通用处理器执行方法,其特征在于,该通用指令包括定浮点运算指令、逻辑指令、访存指令、比较指令、分支转移指令、控制指令、系统指令或/和控制功能部件指令;该计算指令包括向量计算指令或/和向量访存指令。
4.根据权利要求2所述的异构流水线的通用处理器执行方法,其特征在于,该通用流水线采用面向指令并行的传统的多发射、深流水、乱序执行的通用处理器流水线结构;该计算流水线采用面向数据并行的单指令多数据流的专用处理器流水线结构。
5.根据权利要求2所述的异构流水线的通用处理器执行方法,其特征在于,该控制功能部件执行:一类指令通过该接口信号给该计算流水线传递执行参数,包括指令地址、数据地址;另一类指令通过该接口信号读取该计算流水线的执行状态。
6.根据权利要求2所述的异构流水线的通用处理器执行方法,其特征在于,该接口信号包括三类信号,第一类信号是命令信号,包括读、写、使能信号;第二类信号是地址信号,用于访问该计算流水线的该控制接口中的控制寄存器和数据寄存器;第三类信号是数据信号,用于传递数据。
7.根据权利要求5所述的异构流水线的通用处理器执行方法,其特征在于,该计算流水线的该控制接口中有一门控电路,可以通过该控制功能部件执行的该指令控制该计算流水线启用或停止。
8.根据权利要求2所述的异构流水线的通用处理器执行方法,其特征在于,该控制功能部件中有一寄存器,通过将一进程绑定至该计算流水线使得仅有一个进程可以使用该计算流水线。
9.根据权利要求2所述的异构流水线的通用处理器执行方法,其特征在于,该通用流水线与该计算流水线上共享一取指部件,该取指部件根据该通用流水线与该计算流水线的取指请求地址取指,并将取回的通用指令或/和计算指令送往相应的流水线执行。
10.一种异构流水线的通用处理器,该通用处理器包括x(x为正整数)条由通用部件构建的通用流水线,y(y为正整数)条由计算部件构建的计算流水线,还包括:
分别设置于该x条通用流水线上的x个控制功能部件;
分别设置于该y条计算流水线上的y个控制接口;
其特征在于,该x个控制功能部件与该y个控制接口可通过接口信号直接通信,
该通用处理器执行一执行方法,该方法包括:
取指部件从指令缓存中取得指令,经过译码部件翻译,将该指令发送至该x+y条流水线;
该x条通用流水线接收可由该通用部件识别的通用指令,并得到执行结果;
该y条计算流水线接收可由该计算部件识别的计算指令,并得到执行结果;
分别设置于该x条通用流水线上的该x个控制功能部件通过该接口信号与分别设置于该y条计算流水线上的该y个控制接口通信,来控制该y条计算流水线的执行或/和读取该y条计算流水线的执行状态或/和执行结果。
11.根据权利要求10所述的异构流水线的通用处理器,其特征在于,该x的值为1,该y的值为1。
12.根据权利要求10所述的异构流水线的通用处理器,其特征在于,该通用指令包括定浮点运算指令、逻辑指令、访存指令、比较指令、分支转移指令、控制指令、系统指令或/和控制功能部件指令,该计算指令包括向量计算指令或/和向量访存指令。
13.根据权利要求10所述的异构流水线的通用处理器,其特征在于,该通用流水线采用面向指令并行的传统的多发射、深流水、乱序执行的通用处理器流水线结构;该计算流水线采用面向数据并行的单指令多数据流的专用处理器流水线结构。
14.根据权利要求10所述的异构流水线的通用处理器,其特征在于,该控制功能部件可执行:一类指令通过该接口信号给该计算流水线传递执行参数,包括指令地址、数据地址;另一类指令通过该接口信号读取该计算流水线的执行状态。
15.根据权利要求10所述的异构流水线的通用处理器,其特征在于,该接口信号包括三类信号,第一类信号是命令信号,包括读、写、使能信号;第二类信号是地址信号,用于访问该计算流水线的该控制接口中的控制寄存器和数据寄存器;第三类信号是数据信号,用于传递数据。
16.根据权利要求14所述的异构流水线的通用处理器,其特征在于,该计算流水线的该控制接口中有一门控电路,可以通过该控制功能部件执行的该指令控制该计算流水线启用或停止。
17.根据权利要求10所述的异构流水线的通用处理器,其特征在于,该控制功能部件中有一寄存器,通过将一进程绑定至该计算流水线使得仅有一个进程可以使用该计算流水线。
18.根据权利要求10所述的异构流水线的通用处理器,其特征在于,该通用流水线与该计算流水线上共享一取指部件,该取指部件根据该通用流水线与该计算流水线的取指请求地址取指,并将取回的通用指令或/和计算指令送往相应的流水线执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011457846.XA CN112596791A (zh) | 2020-12-11 | 2020-12-11 | 一种异构流水线的通用处理器及其执行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011457846.XA CN112596791A (zh) | 2020-12-11 | 2020-12-11 | 一种异构流水线的通用处理器及其执行方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112596791A true CN112596791A (zh) | 2021-04-02 |
Family
ID=75192964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011457846.XA Pending CN112596791A (zh) | 2020-12-11 | 2020-12-11 | 一种异构流水线的通用处理器及其执行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112596791A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984530A (zh) * | 2014-05-15 | 2014-08-13 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种提高store指令执行效率的流水线结构及方法 |
US20180349142A1 (en) * | 2017-06-05 | 2018-12-06 | The Trustees Of Princeton University | Heterogeneous microprocessor for energy-scalable sensor inference using genetic programming |
CN111008042A (zh) * | 2019-11-22 | 2020-04-14 | 中国科学院计算技术研究所 | 基于异构流水线的高效通用处理器执行方法及系统 |
CN111124499A (zh) * | 2019-11-22 | 2020-05-08 | 中国科学院计算技术研究所 | 一种兼容多指令系统的处理器及其运行方法 |
-
2020
- 2020-12-11 CN CN202011457846.XA patent/CN112596791A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984530A (zh) * | 2014-05-15 | 2014-08-13 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种提高store指令执行效率的流水线结构及方法 |
US20180349142A1 (en) * | 2017-06-05 | 2018-12-06 | The Trustees Of Princeton University | Heterogeneous microprocessor for energy-scalable sensor inference using genetic programming |
CN111008042A (zh) * | 2019-11-22 | 2020-04-14 | 中国科学院计算技术研究所 | 基于异构流水线的高效通用处理器执行方法及系统 |
CN111124499A (zh) * | 2019-11-22 | 2020-05-08 | 中国科学院计算技术研究所 | 一种兼容多指令系统的处理器及其运行方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107408036B (zh) | 用户级分叉与结合处理器、方法、系统和指令 | |
US20190114176A1 (en) | Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions | |
US5752071A (en) | Function coprocessor | |
US6301655B1 (en) | Exception processing in asynchronous processor | |
US20090327610A1 (en) | Method and System for Conducting Intensive Multitask and Multiflow Calculation in Real-Time | |
EP3563235A1 (en) | Systems, methods, and apparatuses for heterogeneous computing | |
CN108885586B (zh) | 用于以有保证的完成将数据取出到所指示的高速缓存层级的处理器、方法、系统和指令 | |
US9280473B2 (en) | Method and apparatus for accessing physical memory from a CPU or processing element in a high performance manner | |
US9870226B2 (en) | Control of switching between executed mechanisms | |
US4731736A (en) | Method and apparatus for coordinating execution of an instruction by a selected coprocessor | |
JPH0135367B2 (zh) | ||
US20070016760A1 (en) | Central processing unit architecture with enhanced branch prediction | |
CN115688640A (zh) | 基于超标量risc-v处理器流水线的协处理器访存接口 | |
US8843728B2 (en) | Processor for enabling inter-sequencer communication following lock competition and accelerator registration | |
CN111008042B (zh) | 基于异构流水线的高效通用处理器执行方法及系统 | |
US4758950A (en) | Method and apparatus for selectively delaying an interrupt of a coprocessor | |
US20170147345A1 (en) | Multiple operation interface to shared coprocessor | |
US4914578A (en) | Method and apparatus for interrupting a coprocessor | |
US7594232B2 (en) | Intelligent memory device for processing tasks stored in memory or for storing data in said memory | |
EP1354267A2 (en) | A superscalar processor having content addressable memory structures for determining dependencies | |
CN112527729A (zh) | 一种紧耦合异构多核处理器架构及其处理方法 | |
CN112596791A (zh) | 一种异构流水线的通用处理器及其执行方法 | |
US20060253690A1 (en) | Bulk preload and poststore technique system and method applied on a unified advanced VLIW (very long instruction word) DSP (digital signal processor) | |
US9946665B2 (en) | Fetch less instruction processing (FLIP) computer architecture for central processing units (CPU) | |
JPS63197232A (ja) | マイクロプロセツサ |
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 |