一种可动态配置矢量处理架构的制作方法

文档序号:6515211阅读:132来源:国知局
一种可动态配置矢量处理架构的制作方法
【专利摘要】本发明提供了一种可动态配置的矢量处理架构,该架构包括多个可配置矢量处理核,所述各个矢量处理核采用16个MAC构成,包括程序空间模块、指令控制、取指及指令译码模块、指令分发模块、指令执行模块和数据空间模块,所述指令控制、取指及指令译码模块连接于所述程序空间模块用于处理所述程序空间模块的指令,所述指令执行模块通过所述指令分发模块连接于所述指令控制、取指及指令译码模块用于执行指令,所述数据空间模块连接于所述指令执行模块用于存储所述指令执行模块执行后的数据,采用此种架构,可根据应用需求配置多核矢量处理架构,无需重新设计和投片,灵活性好,可扩展性好。
【专利说明】一种可动态配置矢量处理架构
【技术领域】
[0001 ] 本发明涉及一种处理器架构,尤其涉及一种可动态配置矢量处理架构。
【背景技术】
[0002]目前的矢量处理架构的主要问题在于:一旦架构确定之后,很难修改;当应用需求发生改变时,则对矢量处理所需要的MAC数发生改变,难以满足用户的不同需求;整体架构本身的灵活性和可扩展性低;当用户需求发生改变时,还需要重新设计及投片,耗费生产成本及人力资源成本。
[0003]因此,针对上述缺陷,很有必要设计一种可动态配置矢量处理架构,以解决上述缺陷。

【发明内容】

[0004]本发明的目的在于克服现有技术之缺陷,提供了一种可动态配置矢量处理架构,其可根据用户需求配置,灵活性和扩展性好。
[0005]本发明是这样实现的:一种可动态配置矢量处理架构,包括多个可配置矢量处理核,所述可配置矢量处理核采用16个MAC构成,每一所述可配置矢量处理核包括程序空间模块、指令控制、取指及指令译码模块、指令分发模块、指令执行模块和数据空间模块,所述指令控制、取指及指令译码模块连接于所述程序空间模块用于处理所述程序空间模块的指令,所述指令执行模块通过所述指令分发模块连接于所述指令控制、取指及指令译码模块用于执行指令,所述数据空间模块连接于所述指令执行模块用于存储所述指令执行模块执行后的数据。
[0006]进一步的,所述程序空间模块为程序存储器,所述程序存储器用于储存将要执行的指令。
[0007]进一步的,所述指令控制、取指及指令译码模块,其用于控制指令转移、从所述程序空间模块获取将要执行的指令以及把相关程序代码派发到指定的矢量处理硬件。
[0008]进一步的,所述指令执行模块,其用于对从所述指令分发模块得到的指令分发给不同的指令执行单元。
[0009]进一步的,所述数据空间模块为数据存储器,所述数据空间模块可根据矢量核的动态配置情形进行相应的数据空间合并及动态编制。
[0010]更进一步的,所述多个可配置矢量处理核的数据空间模块之间根据各个可配置矢量处理核的动态配置情形采用分体交叉编址。
[0011]进一步的,还包括能提供配置信号的配置寄存器。
[0012]进一步的,还包括与所述可配置矢量处理核相匹配的混洗网络系统。
[0013]本发明提供一种可动态配置矢量处理架构,包括多个可配置矢量处理核,所述可配置矢量处理核采用16个MAC构成,每一所述可配置矢量处理核包括程序空间模块、指令控制、取指及指令译码模块、指令分发模块、指令执行模块和数据空间模块,所述指令控制、取指及指令译码模块连接于所述程序空间模块用于处理所述程序空间模块的指令,所述指令执行模块通过所述指令分发模块连接于所述指令控制、取指及指令译码模块用于执行指令,所述数据空间模块连接于所述指令执行模块用于存储所述指令执行模块执行后的数据。采用此种架构,每一个可配置矢量处理核对应一个单独的架构,每一个单独的架构对应一个程序存储器和数据存储器,每一个单独的架构结合在一起,构成更强计算能力的矢量处理器,当多个单独的架构结合在一起时,利用配置寄存器完成各个重组架构的控制设定,程序存储器和数据存储器本身自动结合成大的分体,无需做任何改变,这样集成了可配置多核矢量处理架构,可根据应用需求进行配置,无需重新设计和投片,架构本身可配置,灵活性好,可应用于解决终端产品应用,又适合于多核架构本身,可扩展性好。
【专利附图】

【附图说明】
[0014]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0015]图1为本发明实施例提供的单核矢量处理架构示意图。
[0016]图2为本发明实施例提供的四核矢量处理架构示意图。
【具体实施方式】
[0017]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0018]如图1和图2,本发明实施例提供一种可动态配置矢量处理架构,包括四个可配置矢量处理核,每个可配置矢量处理核采用16个MAC构成,本发明实施例为64MAC的架构,每一个核包括程序空间模块1、指令控制、取指及指令译码模块2、指令分发模块3、指令执行模块4、数据空间模块5,指令控制、取指及指令译码模块2连接于程序空间模块I用于处理程序空间模块I的指令,指令执行模块4通过指令分发模块3连接于指令控制、取指及指令译码模块2用于执行指令,数据空间模块5连接于指令执行模块4用于存储指令执行模块4执行后的数据。针对本实施例64MAC架构,则4个核的程序空间模块分别为程序空间模块U、程序空间模块12、程序空间模块13、程序空间模块14,指令控制、取指及指令译码模块分别为指令控制、取指及指令译码模块21、指令控制、取指及指令译码模块22、指令控制、取指及指令译码模块23、指令控制、取指及指令译码模块24,指令分发模块分别为指令分发模块31、指令分发模块32、指令分发模块33、指令分发模块34,指令执行模块分别为指令执行模块41、指令执行模块42、指令执行模块43、指令执行模块44,数据空间模块分别为数据空间模块51、数据空间模块52、数据空间模块53、数据空间模块54。
[0019]进一步的,如图2所示,本发明具体的实施例结构中,程序空间模块为程序存储器,程序存储器用于储存将要执行的指令。针对本实施例,则四个核的程序空间模块程序空间模块11、程序空间模块12、程序空间模块13、程序空间模块14均为程序存储器,分别储存将要执行的指令。
[0020]进一步的,如图2所示,本发明具体的实施例结构中,指令控制、取指及指令译码模块,其用于控制指令转移、从程序空间模块获取将要执行的指令以及把相关程序代码派发到指定的矢量处理硬件。在本实施例中,指令控制、取指及指令译码模块21从程序空间模块11获取将要执行的指令并将指令的程序代码派发到指定的矢量处理硬件、指令控制、取指及指令译码模块22从程序空间模块12获取将要执行的指令并将指令的程序代码派发到指定的矢量处理硬件、指令控制、取指及指令译码模块23从程序空间模块13获取将要执行的指令并将指令的程序代码派发到指定的矢量处理硬件、指令控制、取指及指令译码模块24从程序空间模块14获取将要执行的指令并将指令的程序代码派发到指定的矢量处理硬件。
[0021]进一步的,如图2所示,本发明具体的实施例结构中,指令执行模块用于对从指令分发模块得到的指令分发给不同的指令执行单元,在本实施例中,指令执行模块41用于对从指令分发模块31得到的指令分发给不同的指令执行单元,指令执行模块42用于对从指令分发模块32得到的指令分发给不同的指令执行单元,指令执行模块43用于对从指令分发模块33得到的指令分发给不同的指令执行单元,指令执行模块44用于对从指令分发模块34得到的指令分发给不同的指令执行单元。
[0022]进一步的,如图1所示,本发明具体的实施例结构中,数据空间模块为数据存储器,数据空间模块可根据矢量核的动态配置情形进行相应的数据空间合并及动态编制。在本实施例中,数据空间模块51、数据空间模块52、数据空间模块53、数据空间模块54这四个数据空间模块构成一个大的数据存储区,采用动态编制。
[0023]进一步的,如图1所示,本发明具体的实施例结构中,数据空间模块51数据空间模块52数据空间模块53数据空间模块54之间采用分体交叉编址,能够提高访存速度。
[0024]进一步的,如图1所示,本发明具体的实施例结构中,还包括能提供配置信号的配置寄存器6,并使能/不使能其对应的时钟控制信号。在本实施例中,为四个核提供配置信号的配置寄存器分别为配置寄存器61、配置寄存器62、配置寄存器63、配置寄存器64。在本实施例中,16bits,4位一组,代表该重组的架构组成;则64个MAC构成I个整体,第一个整体包括4个核,由编号为O的核读入程序,其他接收编号为O的核的程序译码结果,64个MAC分成三组,第一、二组单核,第三组双核,第一、第二组单核单独执行程序,程序初始地址分别为PCA0\PCA1 ;第3组包含编号为2、3的核,其程序初始地址为PCA3,程序地址寄存器PCA0、PCA1、PCA2、PCA3 ;其中,规定4个核的配置情形即PCA0-PCA3对应每个核的程序初始地址,由分组情形,判定单个架构的“取指、指令控制、译码”段逻辑的运行特征,若某个分组所对应的段中不存在逻辑1,则该编号的架构的“取指、指令控制、译码”段逻辑置为不活动,实际上就是关闭其时钟控制信号。
[0025]进一步的,如图1所示,本发明具体的实施例结构中,还包括与核相匹配的混洗网络系统7。作为单个的核本身,16个MAC,一个混洗网络,则本实施例为4个核,则共4个混洗网络,分别为混洗网络71、混洗网络72、混洗网络73、混洗网络74。看起来,确实混洗网络比以前复杂了,但混洗网络本身的结构可知,混洗网络的复杂度与MAC数量的平方成正t匕,增加2套32MAC的混洗网络、4套16MAC的混洗网络,逻辑复杂度增加不是很大,可以接受。混洗网络本身作为执行部件,其分配也是可重新配置的,配置方式与主体结构的配置模式相似。
[0026]采用此种架构,每一个可配置矢量处理核对应一个单独的架构,每一个单独的架构对应一个程序存储器和数据存储器,各个数据存储器构成一个大的数据存储区,采用交叉分体编址;每一个单独的架构对应一个分体的配置寄存器,采用配置寄存器文件地址对其进行读写,配置寄存器文件地址由多路选择开关选出;每一个单独的架构结合在一起,构成更强计算能力的矢量处理器,当多个单独的架构结合在一起时,利用配置寄存器完成各个重组架构的控制设定;只要保证不出现程序访问冲突(两个矢量处理核同时访问同一个程序存储器),程序存储可以跨越多个单独的架构程序存储分区;多个架构组合时,其运行同一套程序,即受同一套程序控制,通过设置配置寄存器,设定其程序存储空间范围、主程序控制架构;程序存储器和数据存储器本身自动结合成大的分体,无需做任何改变;程序编程模式一致化:单个架构核的编程模式与多个架构核配置后的编程模式一致,这样集成了可配置多核矢量处理架构,可根据应用需求进行配置,无需重新设计和投片,架构本身可配置,灵活性好,可应用于解决终端产品应用,又适合于多核架构本身,可扩展性好。
[0027]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种可动态配置矢量处理架构,其特征在于:包括多个可配置矢量处理核,所述可配置矢量处理核采用16个MAC构成,每一所述可配置矢量处理核包括程序空间模块、指令控制、取指及指令译码模块、指令分发模块、指令执行模块和数据空间模块,所述指令控制、取指及指令译码模块连接于所述程序空间模块用于处理所述程序空间模块的指令,所述指令执行模块通过所述指令分发模块连接于所述指令控制、取指及指令译码模块用于执行指令,所述数据空间模块连接于所述指令执行模块用于存储所述指令执行模块执行后的数据。
2.如权利要求1所述的一种可动态配置矢量处理架构,其特征在于:所述程序空间模块为程序存储器,所述程序存储器用于储存将要执行的指令。
3.如权利要求1所述的一种可动态配置矢量处理架构,其特征在于:所述指令控制、取指及指令译码模块,其用于控制指令转移、从所述程序空间模块获取将要执行的指令以及把相关程序代码派发到指定的矢量处理硬件。
4.如权利要求1所述的一种可动态配置矢量处理架构,其特征在于:所述指令执行模块,其用于对从所述指令分发模块得到的指令分发给不同的指令执行单元。
5.如权利要求1所述的一种可动态配置矢量处理架构,其特征在于:所述数据空间模块为数据存储器,所述数据空间模块可根据矢量核的动态配置情形进行相应的数据空间合并及动态编制。
6.如权利要求5所述的一种可动态配置矢量处理架构,其特征在于:所述多个可配置矢量处理核的数据空间模块之间根据各个可配置矢量处理核的动态配置情形采用分体交叉编址。
7.如权利要求1所述的一种可动态配置矢量处理架构,其特征在于:还包括能提供配置信号的配置寄存器。
8.如权利要求1所述的一种可动态配置矢量处理架构,其特征在于:还包括与所述可配置矢量处理核相匹配的混洗网络系统。
【文档编号】G06F9/30GK103544131SQ201310475660
【公开日】2014年1月29日 申请日期:2013年10月12日 优先权日:2013年10月12日
【发明者】曹昱升, 陈伟 申请人:深圳市欧克蓝科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1