流水线微处理器的中断响应确定方法、装置及微处理器核制造方法及图纸

技术编号:3921289 阅读:393 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种流水线微处理器的中断响应延迟确定方法,所述流水线包括:取指级、译码级和指令发射级,该方法包括:当所述微处理器接收到外部中断信号时,阻止新指令的发射,且对处于流水线中的第一条待执行指令标记中断标识;当检测到流水线中的指令存在中断标识时,清空处理器流水线且触发处理器内部的中断响应。本发明专利技术还公开了一种流水线微处理器的中断响应延迟确定装置以及一种微处理器核。利用本发明专利技术所提供的方法、装置和微处理器核可以将微处理器内部对中断响应的延迟控制在一确定时间范围内,而且该时间不受外部因素影响。

【技术实现步骤摘要】

本专利技术涉及微处理器体系结构,更具体地说涉及用于流水线微处理器的中断响应确定方法及装置,属于计算机

技术介绍
现代计算机系统中,作为系统控制中心的微处理器,需要对计算机系统中的众多 硬件设备进行管理,所以,它们之间必须维持一套通信机制。众所周知,微处理器的速度跟 外部设备的速度往往不在一个数量级上,因此让微处理器采用轮询的方式去管理外部设备 显然是低效的。因而,在现有的计算机系统中,外部设备主要通过中断机制通知微处理器。 微处理器在接收到中断信号之后,将会停止当前的工作进入中断处理。在具体实现时,微处理器内部通常又将中断和例外合并起来,利用一套统一的机 制进行处理。例外是程序指令执行的异常造成的,在产生的时候它们是与微处理器时钟同 步,且例外总是确切的产生在某条指令上,因而对于微处理器而言,例外是一个同步信号。 但是中断是由外部设备发出的,其相对于微处理器是一个异步信号,为了利用与例外处理 相同的一套机制进行处理,必须要将外部设备的中断信号同步到微处理器时钟上,并最终 绑定到某一条指令上。当完成这些处理之后,被绑定的指令就可以触发一种特殊的例外一 中断,处理器内部接收到该中断信号后即进入相应的中断处理模式。在上述的实现方式中,从来自外部设备的中断信号到达微处理器开始,到最终微 处理器进入例外处理模式,两个事件之间的时间间隔称为处理器的中断响应延迟。在对于 外部设备响应延迟有严格要求的应用领域(例如,工业控制、航空航天),一个计算机系统 进行设计时必须明确各类请求的响应延迟是否在任何情况下都满足设计需要,即需要明 确在最坏的情况下,响应延迟是否满足延迟要求指标。为达到该设计目标,通常需要软硬件 的协同设计考虑。作为一个计算机系统中的控制核心,微处理器中断响应延迟大小的确定性是尤为 重要的。然而,当前微处理器多采用流水线结构,因此当进行中断绑定时,微处理器流水线 可能同时存在多条指令,选择哪一条指令,或者进一步说选择位于流水线哪一级的指令进 行绑定将直接影响到中断延迟。最直接的考虑可以将中断绑定在流水线中第一条即将提交 的指令上,这样处理器的响应延迟最小。但是处理器实现精确例外的要求会大大增加此处 设计考虑的复杂度。精确例外是处理例外的一种方法,具体是指,在处理例外的时候,例外之前的指令 已经全部完成,例外之后的指令可以重新执行,且重新执行不影响原来指令流的正确执行。 在乱序执行的情况下,需要保证一条指令发生例外时的现场与其在顺序执行环境下发生例 外的现场一样,这里所指的现场包括寄存器现场和存储器现场。当前主流高性能微处理器 都实现了精确例外。为了满足精确例外的要求,一种实现方式是将对微处理器现场的修改都推迟到确 定例外不会产生之后进行,在乱序流水线微处理器中,通常是延迟到指令提交阶段完成。但是这样需要利用大量的存储资源暂存所有指令的操作结果直至指令提交,特别是对于访存 指令,需要保存更多的相关内容。这种实现方式下,外部中断可以直接绑定到等待提交的第 一条指令上,但是这需要一种很高硬件开销的流水线结构。而且进一步地说,即使利用该方 式实现外部中断,也无法满足处理器中断响应延迟的确定性。因为,在特定情况下,外部中 断到来时,流水线中没有指令,取指部件在高速缓存中不命中,去外部存储中取指。在这种 情况下,中断响应延迟将受到外部存储访存延迟的影响,从而引入不确定性。综上所述,现有技术的不足需要一种开销低、效率高的设计,以满足用于流水线微处理器的中断响应延迟要求。
技术实现思路
本专利技术要解决的技术问题是提供一种流水线微处理器的中断响应确定方法、装置 及微处理器核,使得利用较小的开销就能以满足用于流水线微处理器的中断响应延迟要 求。为了实现上述目的,本专利技术提供一种流水线微处理器的中断响应延迟确定方法, 所述流水线包括取指级、译码级和指令发射级,该方法包括当所述微处理器接收到外部中断信号时,阻止新指令的发射,且对处于流水线中 的第一条待执行指令标记中断标识;当检测到流水线中的指令存在中断标识时,清空处理器流水线且触发处理器内部 的中断响应。进一步地,该方法还包括设置存储待发射和执行指令的重定序排列,此时,所述 的流水线中第一条待执行指令具体是当重定序排列中存在指令时,第一条尚未发射的指令、或已经发射但尚未执行并 将改变微处理器状态的指令;当重定序排列中不存在指令、但译码或者取指流水级存在指令时,沿着流水线从 译码或者取指流水级中进入重定序状态的第一条指令;当重定序流水级不存在指令、但译码流水级没有指令且取指流水级发生cache不 命中时,生成沿着流水线进入重定序流水级的第一条伪指令。再进一步地,所述第一条已经发射、但尚未执行的指令是这样确定的判断重定序排列中的已经发射的指令是否是将产生修改微处理器状态的指令;对于重定序排列中的所有修改微处理器状态但是未执行的指令,按照年龄从大到 小的顺序进行筛选,选定年龄最大的指令作为第一条尚未执行的指令。再进一步地,该方法还包括当已经发射的指令为不修改微处理器状态的指令时,继续在外部执行该指令;当已经发射但未执行的指令为修改微处理器状态的指令时,中止该指令在外部执 行。进一步地,所述外部中断信号是与微处理器内部时钟同步的信号。进一步地,检测待执行指令中是否存在中断标识是在每一拍提交指令时。进一步地,该方法还包括当待执行指令中存在中断标识和非中断标识时,只根据 中断标识触发中断标识。再进一步地,该方法还包括触发处理器内部的中断响应时,清除指令上的中断标志。本专利技术还公开了一种流水线微处理器的中断响应延迟确定装置,所述流水线包 括取指模块,用于取出指令;译码模块,用于对所取出的指令进行译码,并按照指令在程序中出现的先后次序 将译码后的指令提供给指令发射模块;指令发射模块,用于存储译码后待发射的指令,并按序发射至外部执行模块;该装置还包括中断采样模块、中断绑定模块和中断触发模块,其中,中断采样模块,用于采集并与微处理器内部时钟同步所述微处理器接收到的外部 中断信号,并将该信号提供给中断绑定模块,且向指令发射模块发送指令停止发射信号;中断绑定模块,用于对处于流水线中的第一条待执行指令标记中断标识;中断触发模块,用于检测到流水线中的指令存在中断标识时,触发处理器内部的 中断响应;此外,所述指令发射模块,还用于在接收到指令停止发射信号后,停止信号的发 射。进一步地,所述装置包括重定序模块,用于存储重新排序的待发射和执行指令及 所述指令的状态标识;此时,所述中断绑定模块确定处于流水线中第一条待执行的指令包 括判定重定序模块中存在指令时,将其中第一条尚未发射的指令、或已经发射但尚 未执行并将改变微处理器状态的指令作为第一条待执行的指令;判定重定序模块中不存在指令、但译码装置或者取指装置中存在指令时,将从沿 流水线进入重定序模块的指令作为第一条待执行的指令;判定重定序模块中不存在指令、但译码装置没有指令且取指装置发生cache不命 中时,将生成沿着流水线进入重定序模块的伪指令作为第一条待执行的指令。更进一步地,所述装置包括指令判定模块,用于在外部执行模块接收到指令后, 判断该指令是否修改微处理器状态以及是否已经执行,并将判断结果提供给重定序模块;此时,所述中断绑定模块确定重定序模块本文档来自技高网
...

【技术保护点】
一种流水线微处理器的中断响应延迟确定方法,所述流水线包括:取指级、译码级和指令发射级,其特征在于,该方法包括:当所述微处理器接收到外部中断信号时,阻止新指令的发射,且对处于流水线中的第一条待执行指令标记中断标识;当检测到流水线中的指令存在中断标识时,清空处理器流水线且触发处理器内部的中断响应。

【技术特征摘要】

【专利技术属性】
技术研发人员:李祖松汪文祥郝守青徐翠萍
申请(专利权)人:北京龙芯中科技术服务中心有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1