[发明专利]使用双程序计数器计算待处理指令地址的系统有效
申请号: | 201110325310.7 | 申请日: | 2011-10-25 |
公开(公告)号: | CN102364432A | 公开(公告)日: | 2012-02-29 |
发明(设计)人: | 李文江;张耀辉 | 申请(专利权)人: | 中国科学院苏州纳米技术与纳米仿生研究所 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 215123 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 双程 计数器 计算 处理 指令 地址 系统 | ||
技术领域
本发明涉及处理器设计领域,尤其涉及计算中断与异常处理程序返回地址系统,属于设计集成电路设计领域。
背景技术
程序在处理器上运行的过程中,会被外部设备的中断请求,包括普通中断请求或者快速中断请求,或者异常处理请求,包括存储器数据访问出错打断,请求处理器进入的相应的中断服务程序或者异常处理程序的起始地址,读取中断服务或异常处理程序并执行。处理器在处理中断与异常请求的过程中,往往需要给中断服务程序一个入口地址,同时也要告诉处理器,中断程序结束之后的该从哪条指令开始执行程序,即中断返回地址。处理器运行程序时,根据中断与异常的类别,包括普通中断、快速中断、数据访问异常、指令访问异常、未定义指令异常、软件中断或者复位异常等将中断入口地址设定为固定的地址,而中断、异常请求的返回地址往往需要根据被打断程序指令在处理器流水线管道中执行的情况来计算得到。处理器能否精确的从异常处理和中段请求程序中返回,决定于计算得到的中断异常返回地址。
在微处理器的设计中,随着流水线的深度越来越深,流水线的控制越来越复杂,多发射超标量等技术的应用,在计算返回地址变成了一个非常复杂的问题,正确地确定中断返回地址是处理精确中断的关键。在一般的设计中,中断异常返回地址均由程序计数器中的程序计数寄存器中的值,再判断处理器流水线管道中的指令条数,以及指令阶段的运行的情况,流水下是否存在空置情况,是否存在多周期执行情况等来计算中断异常返回地址的值,这样做不仅控制复杂,计算模块也复杂,而且往往难以做到中断范围地址的精确正确,本发明的目的在于提供一种正确简单的确定返回地址的技术。
发明内容
为了克服背景技术的不足,本发明提供了一种使用双程序计数器计算待处理指令地址的系统。
本发明提供的使用双程序计数器计算待处理指令地址的系统,包括第一程序计数器模块、指令译码单元、执行单元、存储单元和写回单元;其中,所述写回单元包括第二程序计数器模块,所述第一程序计数器模块包括第一全加器和第一程序计数寄存器,所述第二程序计数器模块包括第二全加器和第二程序计数寄存器;所述第一程序计数器模块为系统取指令功能模块,所述第二程序计数器模块为写回级程序计数器模块,实现下一条待完成指令的地址计算。
所述第一程序计数寄存器中的值为系统待取指令的地址,所述第二程序计数寄存器中的值为系统下一条待完成指令的地址。
当所述系统开始执行程序时,所述第一程序计数寄存器中的值为起始地址,所述第二程序计数寄存器的值也为起始地址。
当所述存储单元向所述写回单元提供控制信号时,所述第二程序计数器模块根据所述控制信号修改所述第二程序计数寄存器中的值。
其中,所述存储单元包括寄存器堆,所述寄存器堆包括一般寄存器和链接寄存器;其中,所述控制信号为中断信号或者异常信号时,所述链接寄存器存储中断返回地址或者异常返回地址,在系统处于无中断或者无异常情况时,所述链接寄存器可做一般寄存器使用。
所述控制信号包括中断、异常信号,寄存器写回信号和指令完成信号。当所述控制信号为中断信号时,所述第二程序计数器模块将所述第二程序计数寄存器中的值写回到所述链接寄存器,则所述链接寄存器中的值为中断返回地址,所述第二程序计数寄存器和所述第一程序计数寄存器中的值改写为中断入口地址;当所述控制信号为寄存器写回信号时,将写回到所述第一程序计数寄存器中的值同时写回到所述第二程序计数寄存器;当所述控制信号为指令完成信号时,所述第二程序计数寄存器的值改写为所述第二程序计数寄存器的值与指令地址偏移量之和。
本发明公开了一种使用双程序计数器计算待处理指令地址的系统,可以在中断控制中为中断控制器提供精确的无需处理的返回地址,同时也可以在异常系统中为异常处理提供无需处理的返回地址;返回地址为下一条待完成的指令的地址,此系统的结构可以应用于各类处理器设计中的中断控制与异常处理,提供简洁直接的返回地址,无需根据程序计数器再分不同的情况计算返回地址,确保精确返回地址的正确唯一,简化了一般设计中的中断程序与异常处理程序的返回程序,缩短中断异常处理的时间。
附图说明
图1为本发明实施例的系统流水线示意图。
图2为本发明实施例的寄存器堆的示意图。
图3为本发明实施例的第一程序计数器模块示意图。
图4为本发明实施例的计算中断返回地址的方法流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院苏州纳米技术与纳米仿生研究所,未经中国科学院苏州纳米技术与纳米仿生研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110325310.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于Android智能化信息转换方法
- 下一篇:自吸式主副镜片