当前位置: 首页 > 专利查询>喻葳专利>正文

一种基于分布式功能单元的微处理器架构制造技术

技术编号:16152245 阅读:27 留言:0更新日期:2017-09-06 17:58
本实用新型专利技术公开了一种基于分布式功能单元的微处理器架构,包括指令译码器,能够把当前需要执行的机器指令解码成若干微指令,并将微指令发送到对应的功能单元;功能单元,包括独立的硬件模块,完整的控制逻辑和数据路径,并提供完全基于硬件实现的各种操作;数据互联模块,能够使不同功能单元之间的数据交换;微指令分发网络,将所述微指令从所述指令译码器中分发到对应的功能单元中。与传统处理器架构相比,以分布式独立功能单元为基础的处理器架构能够不使用流水线连接处理器各个部分,而是通过数据互联模块将各个功能单元互联,可以无缝隙添加硬件加速模块。

【技术实现步骤摘要】
一种基于分布式功能单元的微处理器架构
本技术涉及一种微处理器设备,具体为一种基于分布式功能单元的微处理器架构,属于微处理器架构设备领域。
技术介绍
传统微处理器的开发是一项非常繁琐浩大的工程,需要投入海量的资源和时间,导致一款处理器的开发成本极其高昂。因此,如果一款处理器在其架构定型之后无法进行大量流片的话,势必引发巨大的成本黑洞,从而给芯片设计开发带来难以估量的巨大风险。可是,由于应用软件种类繁多,传统处理器很难保证对不同领域的所有应用程序都能做到执行性能最优。造成这种现象的主要原因在于,传统处理器的性能优化全部集中于机器码(machinecode)层面,而对于来自高级语言层面的,和特定应用相关的信息则完全忽略。因此,建立一种软件和硬件之间的信息交换机制,从而使底层的硬件可以动态地适应不同应用程序的结构,以保证对任何应用程序都达到最佳运行性能,就变得非常必要。为此,提供一种基于分布式功能单元的微处理器架构。
技术实现思路
本技术的目的就在于为了解决上述问题而提供一种基于分布式功能单元的微处理器架构。本技术通过以下技术方案来实现上述目的:一种基于分布式功能单元的微处理器架构,包括:指令译码器,能够把当前需要执行的机器指令解码成若干微指令,并将微指令发送到对应的功能单元;功能单元,包括独立的硬件模块,完整的控制逻辑和数据路径,并提供完全基于硬件实现的各种操作;数据互联模块,能够使不同功能单元之间的数据交换;微指令分发网络,将所述微指令从所述指令译码器中分发到对应的功能单元中。进一步,所述微指令包括:执行单元,执行微指令的功能单元;操作编码,执行时的具体操作;目标单元,当前的操作结果应被传送到的功能单元;目标单元输入端口,目标单元负责接收该微指令结果的具体端口;微指令编号,所述微指令及其操作数使用的配对编号;微指令编号处理标识,指示功能单元是否将当前操作结果的编号加一。进一步,所述指令译码器内部设有能够对机器指令编码的微指令存储器。进一步,每一个所述功能单元包括两个输入端口:微指令端口,面向指令译码器,用来接收微指令的端口;数据端口,面向数据互联模块,用来接收其他功能单元发送的操作数。进一步,每一个所述功能单元包括能够与外接设备互联的专属端口。进一步,所述数据互联模块包括两种互联结构:共享总线结构,由一条总线连接全部功能单元,并且每次只能由一对功能单元独占该总线;交叉互联结构,若干对功能单元并行互联,不必等待总线的空闲周期。本技术的有益效果是:与传统处理器架构相比,以分布式独立功能单元为基础的处理器架构能够不使用流水线连接处理器各个部分,而是通过数据互联模块将各个功能单元互联,可以无缝隙添加硬件加速模块(accelerator)。该微处理架构基于任何需要耗费大量运算时间的软件算法,理论上其均可由相应的硬件模块来实现,并作为一个独立功能单元添加到一个处理器里来。当实现基于此架构的ASIC处理器时,功能单元设计者可以尽可能多地添加通用硬件加速器(例如图形图像处理及加密解密算法等等),从而满足尽可能多的应用的需求(注意,由于ASIC处理器结构一旦确定即无法修改,所以不应该将某个应用的专属算法作为硬件加速器来使用)。而当使用FPGA当作硬件实现平台的时候,则可以采取更加灵活的加速器添加模式。附图说明图1:本技术基于分布式功能单元的微处理器架构示意图;图2:本技术基于共享总线的数据互联模块结构示意图;图3:本技术基于交叉互联的数据互联模块结构示意图;图4:本技术动态生成加速器功能单元的流程结构示意图;图5:本技术动态进行微指令重新调度的流程结构示意图;具体实施方式下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。如图1所示:一种基于分布式功能单元的微处理器架构,包括:指令译码器(instructiondecoder),能够把当前需要执行的机器指令解码成若干微指令(microinstruction),并将微指令发送到对应的功能单元。其中,这里每一个微指令都对应着某个功能单元提供的一项具体操作(operation)。一个功能单元提供的操作种类及数量由该功能单元的设计者定义并实现。但为了保持结构清晰,应将相关或相似的操作集成于同一个功能单元。这样也便于对机器指令进行编码,例如,应将所有浮点数运算集成到一个独立浮点数处理单元(FPU)。一个功能单元A在完成当前操作之后,会将运算结果传送到另一个功能单元B作为B执行下一个操作的操作数(operand)。同理,A执行当前操作所用到的所有操作数均是提前由其他的功能单元提供的运算结果。由于某个操作的多个操作数可能会由若干不同功能单元提供,而每个功能单元又会连续接收到若干的微指令,所以为了让功能单元能够正确区分哪些操作数是被哪个微指令需要,必须要为每一个微指令极其所需的操作数进行编号。功能单元会将微指令队列(microinstructionqueue)里的第一个微指令取出,然后将其编号和自己的某个输入端口接收到的数据所携带的编号进行对比,如果相等,则说明该操作数和当前微指令匹配,应该接收;否则必须等待编号正确的操作数到达。当所需的操作数全部到达时,功能单元即可执行当前微指令。每一条微指令由六个部分组成:执行单元,即执行该微指令的功能单元;操作编码(opcode),即执行的具体操作(功能单元设计者必须为每一个操作设计具体的操作流程以及所需要的操作数);目标单元,即当前操作的结果应被传送到的功能单元;目标单元输入端口,即目标单元负责接收该微指令结果的具体端口(当某个功能单元仅有一个端口时,此数据可被忽略);微指令编号(opid),即该微指令及其操作数使用的配对编号(一个整数即可,其宽度可以根据实际需要进行调整);微指令编号处理标识,指示功能单元是否将当前操作的结果的编号加一。指令译码器内部需提供一个微指令存储器,用来对机器指令进行编码。注意,此微指令存储器须为可随机读写的RAM,而并非只读的ROM,原因将在后面予以阐明。每一条机器指令将会被编码成至少一个微指令。理论上,一个机器指令对应的微指令的数量没有上限。在一条机器指令被解码的时候,指令译码器会将对应的微指令集从微指令存储器读出,并给据微指令里给出的执行单元,将微指令发送至对应的功能单元。功能单元(functionalunit),包括独立的硬件模块,完整的控制逻辑(controllogic)和数据路径(datapath),并提供完全基于硬件实现的各种操作。一个功能单元所提供的操作理论应该是在逻辑上相关或相似的,这样可以保持处理器整体结构的清晰明了。但是,一个处理器设计者完全可以根据实际的需求来拆分和整合各个功能单元,以达到使性能最大化的目的。例如,可以设计一个同时提供了快速傅里叶变换(FFT)和逆离散余弦变换(IDCT)的功能单元。但是,如果在实际应用时发现,两个变换经常需要被并行使用,那么便可以考虑将这两个变换拆分成两个独立的功能单元,用以提高整个系统的并行本文档来自技高网...
一种基于分布式功能单元的微处理器架构

【技术保护点】
一种基于分布式功能单元的微处理器架构,其特征在于,包括:指令译码器,能够把当前需要执行的机器指令解码成若干微指令,并将微指令发送到对应的功能单元;功能单元,包括独立的硬件模块,完整的控制逻辑和数据路径,并提供完全基于硬件实现的各种操作;数据互联模块,能够使不同功能单元之间的数据交换;微指令分发网络,将所述微指令从所述指令译码器中分发到对应的功能单元中。

【技术特征摘要】
1.一种基于分布式功能单元的微处理器架构,其特征在于,包括:指令译码器,能够把当前需要执行的机器指令解码成若干微指令,并将微指令发送到对应的功能单元;功能单元,包括独立的硬件模块,完整的控制逻辑和数据路径,并提供完全基于硬件实现的各种操作;数据互联模块,能够使不同功能单元之间的数据交换;微指令分发网络,将所述微指令从所述指令译码器中分发到对应的功能单元中。2.根据权利要求1所述的一种基于分布式功能单元的微处理器架构,其特征在于,所述微指令包括:执行单元,执行微指令的功能单元;操作编码,执行时的具体操作;目标单元,当前的操作结果应被传送到的功能单元;目标单元输入端口,目标单元负责接收该微指令结果的具体端口;微指令编号,所述微指令及其操作数使用的配对编号;微指令编号处理标识,指示功能单元是否将当前操作结果的编号加一。3...

【专利技术属性】
技术研发人员:喻葳
申请(专利权)人:喻葳
类型:新型
国别省市:黑龙江,23

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1