[发明专利]一种处理器的硬件循环处理方法和系统有效
申请号: | 201611021587.X | 申请日: | 2016-11-21 |
公开(公告)号: | CN106775591B | 公开(公告)日: | 2019-06-18 |
发明(设计)人: | 李炜;陶建平;韩景通 | 申请(专利权)人: | 江苏宏云技术有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京德崇智捷知识产权代理有限公司 11467 | 代理人: | 徐波;卫麟 |
地址: | 215600 江苏省连*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理器 硬件 循环 处理 方法 系统 | ||
1.一种处理器硬件循环处理系统,其特征在于,该系统包括程序存储器(100)、取指单元(101)、循环缓存(102)、选择模块(107)、译码单元(103)和执行单元(108);
所述程序存储器(100)连接取指单元(101)的输入端,所述取指单元(101)的指令输出端连接选择模块(107)的一个输入端,选择模块(107)的另一个输入端连接循环缓存(102)的输出端;选择模块(107)的输出端连接译码单元(103)的输入端;所述译码单元(103)的输出端连接执行单元(108)的输入端;
所述取指单元(101)还与译码单元(103)的第一控制信号端(105)连接,所述循环缓存(102)还与译码单元(103)的第二控制信号端(106)连接;所述译码单元(103)的第一控制信号端(105)用于在译码单元(103)未读取到循环节点指令时,控制所述取指单元(101)通过选择模块(107)向译码单元(103)输出需要进行译码的下一条指令;同时,所述译码单元(103)在读取到新循环的第一条指令后,还通过第一控制信号端(105)控制所述取指单元(101)通过选择模块(107)同步向循环缓存(102)输出新循环体的第一条至第N条指令;
所述循环缓存(102)用于接收新循环体的前N条指令,并将接受的N条指令压入堆栈进行存储;其中,所述的循环节点指令指循环进行的过程中,循环体中的最后一条指令;所述的循环缓存(102)接收的新循环体内指令的条数N=min{n,m},n为循环体中指令条数,m为指令从程序存储器(100)到达译码单元(103)所经历的时钟周期数减1;
所述译码单元(103)的第二控制信号端(106)用于在译码单元(103)读取到循环节点指令时,控制循环缓存(102)通过选择模块(107)依次向译码单元(103)输出当前循环体的第一条至第N条指令。
2.如权利要求1所述的硬件循环处理系统,其特征在于,所述循环缓存(102)为由两个以上指令缓存构成的堆栈,堆栈的层数为指令缓存的个数,指令缓存的个数为所述处理器所支持的循环嵌套的层数,堆栈的读取方式为先进后出。
3.如权利要求2所述的硬件循环处理系统,其特征在于,所述的指令缓存为一个大小为N的存储器,循环缓存(102)的每一个存储器中按照地址从0至N-1的顺序依次存储对应循环体中的第一条至第N条指令。
4.如权利要求1或2所述的硬件循环处理系统,其特征在于,所述的循环缓存(102)中的存储器为大小为N条指令长度的随机存取存储器或寄存器。
5.如权利要求1~4任一项所述处理器硬件循环处理系统的处理器流水线取指级处理方法,其特征在于,该方法包括以下步骤处理:
第一步,判断从上一级输入的指令是否为新循环体的第一条指令,若是,则由取指级依次存储并同步向下一级输出当前循环体中的第一至第N条指令;否则,跳转至第三步;
其中,N=min{n,m},n为当前循环体中指令的条数,m为处理器流水线中从读取存储器中到译码级所需要经历的时钟周期数减1;
第二步,若指令是循环体的最后一条指令,且循环还未结束,则取指级将其存储的当前循环体中的第一至第N条指令依次向下一级输出后,等待接收到上一级输入新指令并跳转至第一步;否则,跳转至第三步;
第三步,取指级将其从上一级得到的指令向下一级输出后,结束本轮取指级处理流程。
6.如权利要求5所述的处理器流水线取指级处理方法,其特征在于,所述第一步中,按照如下方法存储当前循环体中的第一至第N条指令:
步骤101,判断指令是否为新循环体的第一条指令,若是,则将当前存储的所有的循环体的指令压向下一层存储单元后,跳转至步骤102;否则,直接跳转至步骤102;
步骤102,在最上一层存储单元中,按照地址从0至N-1的顺序依次存储当前循环体中的第一条至第N条指令。
7.如权利要求5或6所述的处理器流水线取指级处理方法,其特征在于,所述的第二步中,按照如下方法输出取指级内存储的当前循环体中的第一至第N条指令:
步骤201,若指令为当前循环体的第N条指令,且循环体已经结束,则将当前存储的所有的循环体的指令提向上一层存储单元后,跳转至步骤202;否则,直接跳转至步骤202;
步骤202,从最上一层存储单元中,按照地址从0至N-1的顺序依次输出当前循环体中的第一条至第N条指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏宏云技术有限公司,未经江苏宏云技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611021587.X/1.html,转载请声明来源钻瓜专利网。