循环指令缓冲器的制作方法

文档序号:6605781阅读:433来源:国知局
专利名称:循环指令缓冲器的制作方法
技术领域
本发明涉及循环指令缓冲器。具体地来说,本发明涉及的循环指令缓冲器可以将循环指令存入缓冲器,一次装入,多次调用,直到退出循环。
在程序指令中,循环指令的使用相当频繁。循环指令的使用,使程序来回跳转,从而使CPU频繁访问存贮区,从存贮区取指。这样严重影响了CPU的访存效率。在实际的应用中,人们需要一种部件来解决这一问题。
本发明的目的就是提供一种预先将循环体指令存贮起来,一次装入,多次调用直到退出循环的循环指令缓冲器部件。
为实现上述目的,本发明提出了一种循环指令缓冲器部件,它包括包括输入寄存器、主体存贮器、输出寄存器和控制电路。其特征在于输入寄存器接收来自基本指令队列流出的指令;主体存贮器存贮由输入寄存器传来的指令;输出寄存器将该缓冲器存贮的指令输出,而且是该缓冲器的主体存贮器的输出单元的映像寄存器;控制电路为输入寄存器、主体存贮器、输出寄存器三个模块提供控制信号。控制电路与输入寄存器连,为输入寄存器提供寄存器使能及复位信号。控制电路与主体存贮器相连,提供读使能、写使能、读出地址、写入地址等控制信号。控制电路与输出寄存器相连,提供复位信号、使能信号及选择信号。输入寄存器与主体存贮器相连,为主体存贮器提供数据输入,输入寄存器和输出寄存器相连,为输出寄存器提供数据输入,主体存贮器和输出寄存器相连,为输出寄存器提供数据输入,当循环程序处于运行状态时,每逢指令最后执行周期,送出一条指令,当缓冲器处于满载状态时,按一进一出的平衡方式,弹出一条指令。控制电路部分包括三部分压入指针计数器、弹出指针计数器和控制逻辑器,控制逻辑器与压入指针计数器和弹出指针计数器相连,产生运行状态、缓冲满状态、对两个计数器的使能、清零、装载信号和对输入寄存器和输出寄存器的控制信号,压入指针计数器为增量计数,为主体存贮器提供压入地址,弹出指针计数器为增量计数,为主体存贮器提供弹出地址,弹出指针可以按要求任意设置,只要找到循环头的地址,将此地址作为弹出指针值,即可顺序输出循环程序。
循环指令缓冲器的使用,可以大降低CPU访问存贮区的频率,从而提高CPU的访存效率。
下面将参照附图对本发明的优选实施方案进行详细的描述,从而本发明的优点和特点将更加具体而显。附图中

图1为循环指令缓冲器的总体结构框图;图2为控制电路的结构框图。
图1中,控制电路(1)与寄存器输入(2)相连,为寄存器输入提供输入使能及复位信号,控制电路(1)与主体存贮器(3)相连,提供读使能、写使能、读出地址、写入地址等控制信号;控制电路(1)与输出寄存器(4)相连,提供复位信号、使能信号及选择信号,输入寄存器(2)与主体存贮器(3)相连,为主体存贮器(3)提供数据输入,输入寄存器(2)和输出寄存器(4)相连,为输出寄存器(4)提供数据输入,主体存贮器(3)和输出寄存器(4)相连,为输出寄存器(4)提供数据输入。
图2中,控制逻辑器(5)与压入指针计数器(6)和弹出指针计数器(7)相连,为两个计数器提供使能、清零、装载信号,控制逻辑器(5)也产生对输入寄存器(2)和输出寄存器(4)的控制信号。
下面对各模块详细说明。
输入寄存器(2)接收来自基本指令队列的输出指令BUFI,当输入使能有效时锁存BUFI为RBFI。当复位信号有效时对输入寄存器清零。
主体存贮器(3)由双端口存贮器构成。这种双端口存贮器可以在一个端口写入,在另一个端口可以同时读出,但写入地址和读出地址不应相同。其写入数据源为输入寄存器(2)的输出RBFI。当写使能有效时,将数据RBFI按照控制电路(1)中压入指针计数器(6)提供的地址FPIN写入DPRAM。当读使能RDN有效时,将数据从控制电路(1)弹出指针计数器(7)提供的地址FPOUT处读出。
输出寄存器(4)既是该缓冲器的输出器件,同时也是该缓冲器的主体存贮器(3)的输出单元(前端)的映像寄存器。它的输入数据源有两个,一般情况下读自主体存贮器(3)的数据;仅当指针差为1时,即缓冲器仅有一个数据时,若做压入操作,则取输入寄存器(2)的输出,即将原输入寄存器(2)中的数据移入输出寄存器(4),同时也将其存入主体存贮器(3)。
控制电路(1)生成对以上三个模块的控制信号。它包括三部分压入指针计数器(6)、弹出指针计数器(7)和控制逻辑器(5)。控制逻辑器(5)与压入指针计数器(6)和弹出指针计数器(7)相连,产生运行状态、缓冲满状态、对两个计数器的使能、清零、装载信号和对输入寄存器(2)和输出寄存器(4)的控制信号。压入指针计数器(6)为增量计数,为主体存贮器(3)提供压入地址。弹出指针计数器(7)为增量计数,为主体存贮器(3)提供弹出地址。弹出指针计数器(7)具有装载功能,在循环运行状态初始时装载初值。当刚进入循环运行状态时,装入当前的压入指针计数器(6)与偏移量(该偏移量由循换指令参数域直接提供)的和;当在循环运行状态中又进入另一个循环,装入当前弹出指针计数器(7)与偏移量(该偏移量由循换指令参数域直接提供)的和。
控制逻辑器(5)产生压入指针计数器(6)和弹出指针计数器(7)的使能、清零、装载信号,循环指令缓冲器的运行状态、缓冲满状态及对输入寄存器(2)和输出寄存器(4)的控制信号。
压入指针计数器(6)是一个增量计数器,在不处于循环状态时,循环指令缓冲器将执行的指令存入,每存一条指令,该计数器完成加一操作。当处于循环状态时,该计数器停止计数。
弹出指针计数器(7)是一个增量计数,当循环程序处于运行状态时,按照循环控制指令提供的偏移量装载初值,然后每逢指令最后执行周期,完成加1操作,在不处于循环状态时,该计数器停止装载及计数。
权利要求
1.一种循环指令缓冲器,它包括输入寄存器(2)、主体存贮器(3)、输出寄存器、控制电路(1)等部分,其特征在于控制逻辑电路(1)与输入寄存器(2)相连,为输入寄存器(2)提供输入使能及复位信号;控制电路(1)与主体存贮器(3)相连,提供读使能、写使能、读出地址、写入地址控制信号;控制电路(1)与输出寄存器(4)相连,提供复位信号、使能信号及选择信号,输入寄存器(2)与主体存贮器(3)相连,为主体存贮器(3)提供数据输入,输入寄存器(2)和输出寄存器(4)相连,为输出寄存器(4)提供数据输入,主体存贮器(3)和输出寄存器(4)相连,为输出寄存器(4)提供数据输入。
2.根据权利要求1所述的循环指令缓冲器件,其特征在于当循环程序处于运行状态时,每逢指令最后执行周期,送出一条指令,当缓冲器处于满载状态时,按一进一出的平衡方式,弹出一条指令。
3.根据权利要求1所述的循环指令缓冲器,其特征在于控制电路(1)包括三部分压入指针计数器(6)、弹出指针计数器(7)和控制逻辑器(5),控制逻辑器(5)与压入指针计数器(6)和弹出指针计数器(7)相连,产生运行状态、缓冲满状态、对两个计数器的使能、清零、装载信号和对输入寄存器(2)和输出寄存器(4)的控制信号,压入指针计数器(6)为增量计数,为主体存贮器(3)提供压入地址,弹出指针计数器(7)为增量计数,为主体存贮器(3)提供弹出地址。
4.根据权利要求3的循环指令缓冲器,其特征在是弹出指针可以按要求任意设置,只要找到循环头的地址,将此地址作为弹出指针值,即可顺序输出循环程序。
全文摘要
一种暂存循环体指令的部件,它包括输入寄存器、主体存贮器、输出寄存器、控制电路。输入寄存器接收指令,主体存贮器存贮接收到的指令,输出寄存器将指令输出,控制逻辑建立本部件的运行状态。这种部件是解决CPU访存瓶颈的重要措施。
文档编号G06F12/00GK1430149SQ0215965
公开日2003年7月16日 申请日期2002年12月30日 优先权日2002年12月30日
发明者赵云琪, 王抗旱 申请人:赵云琪, 王抗旱
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1