一种基于时钟的双速流水线架构微处理器及其实现方法与流程

文档序号:17441336发布日期:2019-04-17 04:48阅读:171来源:国知局
一种基于时钟的双速流水线架构微处理器及其实现方法与流程
本发明属于嵌入式微处理器领域,提出了一种可以工作在双时钟速度下的微处理器流水线架构设计。
背景技术
:随着消费电子、汽车电子、工业控制等领域的发展,高性能嵌入式微处理器的应用越来越广泛,对其处理能力的要求也越来越高。同时,嵌入式微处理器的应用领域多为便携设备,消费电子和现场控制设备,对其功耗的要求又十分严格,要求其尽量减小功耗。因此,为了满足嵌入式微处理器应用需求,必须在提高其处理能力的同时,尽量减小其功耗。现有的嵌入式处理器提高性能的手段是采用多核处理器架构,同时,为了降低功耗,现有的多核架构多采用的是处理能力高的大核与处理能力低一些但是功耗相对较低的小核来共同组成大小端架构的多核系统。这种架构尽管提高了处理能力,也在一定程度上控制了系统功耗,但是处理器所有资源包括流水线架构全部都是双份,并不能很好的在提高处理能力的同时更大程度的降低系统功耗。因此,设计一种双速流水线架构微处理器,利用单个处理器资源,实现流水线的高速处理与低速处理相结合,可以在提高系统处理能力的同时,最大程度的降低系统功耗。技术实现要素:本发明目的是设计一种高性能、低功耗的嵌入式微处理器流水线架构,以改善上述多核处理器架构的不足之处。利用单个处理器资源,设计实现一种工作在不同速度下的双速流水线架构。高速流水线处理的高性能与低速流水线处理的低功耗相结合,可以在提高微处理器系统处理能力的同时,最大程度的降低系统功耗。满足嵌入式微处理器应用领域的高性能与低功耗的要求,同时双速流水线架构的微处理器在功耗方面的表现较大小端双核微处理器系统会更加优秀。本发明为实现上述目的所采用的技术方案是:一种基于时钟的双速流水线架构微处理器实现方法,根据指令标识的要求,选择高速流水线或者低速流水线执行指令,包括以下步骤:取指级通过向外部程序存储器取指后,将取到的指令送至译码级;译码级接收到指令后对指令进行译码,同时将译码后的指令发送至发射极;发射级对指令进行判断,判断当前的指令是高速处理指令还是低速处理指令;如是高速处理指令,则发射到高速流水线;若是低速处理指令,则发射到低速流水线,同时发射级将指令信息发送至时钟分频模块;时钟分频模块根据指令信息将高速时钟进行分频,得到低速时钟作为低速流水线的工作时钟。所述发射级对指令进行判断具体为:根据当前指令的速度标志位进行判断,若速度标志位为设定值,则为高速指令,否则,为低速指令。所述指令信息包括指令的速度标志位及对应的操作码。所述时钟分频模块将高速时钟按照速度标志位级响应的倍频系数进行分频,得到低速时钟,输出至低速流水线模块。所述高速流水线或低速流水线接收指令后,取出需要的数据执行,并将执行的结果回写。所述高速时钟根据需要设定;高速时钟频率大于低速时钟频率。一种双速流水线架构微处理器,包括:公用流水线,用于通过向外部程序存储器取指后,将取到的指令进行译码,并判断当前的指令是高速处理指令还是低速处理指令;如是高速处理指令,则发射到高速流水线;若是低速处理指令,则发射到低速流水线,同时发射级将指令信息发送至时钟分频模块;时钟分频模块,用于接收高速时钟,并根据指令信息进行分频,得到低速时钟发送至低速流水线;高速流水线,用于接收指令后取出需要的数据,在高速时钟频率下,按照指令规定的操作内容执行指令,并回写;低速流水线,用于接收指令后取出需要的数据,在低速时钟频率下,按照指令规定的操作内容执行指令,并回写。所述公用流水线包括顺序连接的取指级、译码级、发射级;所述取指级、译码级、发射级工作在高速时钟频率下;所述取指级,用于通过向外部程序存储器取指后,将取到的指令送至译码级;所述译码级,用于对接收到的指令进行译码后,发送至发射极;所述发射级,用于对指令的速度标志位进行判断,判断当前的指令是高速处理指令还是低速处理指令;如是高速处理指令,则发射到高速流水线;若是低速处理指令,则发射到低速流水线,同时发射级将指令信息发送至时钟分频模块。所述高速流水线或低速流水线包括顺序连接的读取数据级、执行级、回写保存级;所述读取数据级、执行级、回写保存级工作在低速时钟频率下;所述读取数据级,用于将指令中需要的数据从指定位置取出,并将取出的数据与指令发送到执行级;所述执行级,用于将数据按照指令进行操作后,得到指令执行结果,同时将指令执行结果发送至回写级;所述回写级,用于将指令执行结果存放在指令指定的位置。本发明具有以下有益效果及优点:1.本发明采用单核嵌入式微处理器,设计双速流水线架构,取代现有的大小端双核架构,在减少系统资源的同时,实现更低的功耗。2.本发明采用单核嵌入式微处理器,实现现有的大小端双核嵌入式微处理器架构,简化以嵌入式微处理器为核心的soc系统设计,减少了多核系统设计逻辑。3.本发明采用单核嵌入式微处理器,设计双速流水线架构,取代现有的大小端双核嵌入式微处理器架构设计,避免了由于大小端双核架构对各自的高速缓存(cache)进行写操作后造成的cache一致性的问题。4.本发明采用单核嵌入式微处理器,设计双速流水线架构,取代现有的大小端双核嵌入式微处理器架构设计,在实现了大小端双核嵌入式微处理器同等性能的同时,设计面积更小,实现成本更低。附图说明图1本发明的双速流水线架构图。具体实施方式下面根据附图对本发明进行详细说明。双速流水线的设计思想是如图1所示,其中,1为流水线的取指级,2为流水线的译码级,3为流水线的发射级,f4为高速流水线的读取数据级,f5为高速流水线的指令执行级,f6为高速流水线的指令执行结果的回写保存级,l4为低速流水线的读取数据级,l5为低速流水线的指令执行级,l6为低速流水线的指令执行结果的回写保存级;f0为时钟倍频模块。双速流水线的取指级、译码级、发射级是共用流水线,工作在高速时钟下。后三级中的高速流水线,工作在高速时钟下,负责完成高速指令的执行。后三级中的低速流水线,工作在低速时钟下,负责完成低速指令的执行,低速时钟是将高速时钟按照速度速度标志位及相应的操作码分频得到的。取指级通过向外部程序存储器取指后,将取到的指令送至译码级。译码级接收到取指级发送的指令后,对接收到的指令进行译码,同时将指令译码结果发送至发射极。发射级对接收到的译码指令的指令速度标志位进行判断,判断当前的指令是高速处理指令还是低速处理指令,并将高速处理指令发射到指令指定的高速流水线,将低速处理指令发射到指令指定的低速流水线。同时发射级将译码指令的速度标志位及对应的操作码发送至时钟分频模块。译码后的指令格式如表1所示。时钟分频模块将高速时钟按照速度标志位级响应的倍频系数进行分频,得到低速时钟,低速时钟作为低速流水线模块的工作时钟。本发明中,译码得到的指令模式与时钟分频模块的分频方法很多,具体实施例中设计了一种译码后的指令模式及对应的一种高速时钟分频模式,但本发明所涉及的方法不限于此中实施例。表一为具体实施例中一种译码后的指令格式,当发射模块对速度标志位进行判断后,若速度标志位为1则为高速指令,对应的将指令发射至高速流水线取数级,若速度标志位为0则为低速指令,对应的将指令发射至低速流水线取数级。同时,当指令为低速指令时,发射级将指令的速度标志位及对应的操作码,发射至时钟分频模块,将高速时钟进行分频,分频模块的一种分频方式为表2所示。表1一种译码后的指令格式表2高速时钟分频操作码ff高速时钟(mhz)fl低速时钟(mhz)00aa/201aa/410aa/811aa/16双速流水线中的取数级(包括高速流水线取数级f4与低速流水线取数级l4)负责将指令中需要的数据从指定位置取出,并将取出的数据与指令发送到执行级。其中高速流水线取数级f4取出的数据与接收到的指令直接发送到执行级f5;低速流水线取数级l4取出的数据与接收到的指令直接发送到执行级l5。高速流水线执行级f5将得到的数据按照得到的指令进行规定的相应操作后,得到指令执行结果,同时将指令执行结果发送至高速流水线回写级f6;低速流水线执行级l5将得到的数据按照得到的指令进行规定的相应操作后,得到指令执行结果,同时将指令执行结果发送至低速流水线回写级l6。高速流水线回写级f6与低速流水线回写级l6将高速流水线执行级f5与低速流水线执行级l5的指令执行结果按照接收到的指令内容存放在指令指定的位置。至此一条指令执行结束。在嵌入式微处理器系统中,通常会有多个待处理的进程。有些进程的处理需要高效快速执行,这类进程的指令就可以标识为高速指令,由该设计中的高速流水线执行完成;有些进程的处理相对要求处理速度不高,此类进程便可以标识为低功耗指令,由该设计中的低速流水线执行完成。通过双速流水线的配合操作,实现嵌入式微处理器设计的等同于大小端双核的高处理性能与更低功耗的要求。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1