一种基于五级流水线处理器的中断与异常处理方法技术

技术编号:35748027 阅读:13 留言:0更新日期:2022-11-26 18:53
本发明专利技术公开一种基于五级流水线处理器的中断与异常处理方法,属于处理器系统中的中断与异常领域。首先采样外部输入中断、五级流水线处理器中的各阶段异常状态信息;再中断与异常处理控制,在所述五级流水线处理器的译码阶段响应进入和退出中断与异常处理。本发明专利技术将中断与异常的处理提前至指令译码阶段实现,可以减少后续指令的冲刷,提高系统的性能;进入和退出中断与异常的处理控制,根据处理器状态更新寄存器,有效的保存和恢复中断与异常发生前状态。状态。状态。

【技术实现步骤摘要】
一种基于五级流水线处理器的中断与异常处理方法


[0001]本专利技术涉及处理器系统中的中断与异常
,特别涉及一种基于五级流水线处理器的中断与异常处理方法。

技术介绍

[0002]五级流水线的处理器系统通常包括从存储器中取指令、读寄存器并译码指令、执行操作或计算地址、访问数据存储器中的操作数及将执行或访存结果写入寄存器五部分内容,其中后两部分内容根据实际指令操作进行选择使用。
[0003]中断与异常主要是处理器核在顺序执行程序指令流的过程中突然被别的请求打断或遇到异常事情而中止执行当前的程序,转而去处理别的事情;待其处理完了别的事情,然后重新回到之前程序中断的点继续执行之前的程序指令流。
[0004]中断主要来源于处理器外部事件的触发。当外部事件有效时,处理器需要保存当前现场,转而处理中断程序,等待中断程序处理完成,处理器恢复之前程序继续执行;异常主要来源处理器内部事件或程序执行中的事件引起的,与中断服务程序类似,异常的进入和退出也需要保存和恢复现场。从本质上来讲,中断与异常的处理流程基本一致,因此也可以说中断与异常可被认为是一种广义上的异常。
[0005]在五级流水线的处理器系统中,中断与异常作为一种广义上的异常,可能出现在流水线的各个阶段。因此,针对五级流水线处理器架构中的中断与异常的处理,亟需一种基于五级流水线的处理器中断与异常的处理方法。

技术实现思路

[0006]本专利技术的目的在于提供一种基于五级流水线处理器的中断与异常处理方法,以解决目前五级流水线处理器架构中出现的中断与异常的问题。
[0007]为解决上述技术问题,本专利技术提供了一种基于五级流水线处理器的中断与异常处理方法,包括:
[0008]采样外部输入中断、五级流水线处理器中的各阶段异常状态信息;
[0009]中断与异常处理控制,在所述五级流水线处理器的译码阶段响应进入和退出中断与异常处理。
[0010]在一种实施方式中,所述外部输入中断包括外部中断、计时器中断、软件中断和调试中断;中断的产生时机处在所述五级流水线处理器的取指、译码、执行、访存及写回五个阶段中的任何一个阶段。
[0011]在一种实施方式中,所述五级流水线处理器中的异常包括非法指令、执行运算、指令存储器和数据存储器访问时发生的异常;其中非法指令产生异常在所述五级流水线处理器的译码阶段,执行运算异常出现在所述五级流水线处理器的执行阶段,指令存储器访问产生的异常出现在所述五级流水线处理器的取指阶段,数据存储器访问产生的异常出现在所述五级流水线处理器的访存阶段。
[0012]在一种实施方式中,所述中断与异常处理的时机放在五级流水线处理器的译码阶段中,在所述译码阶段收集中断与异常信息,当存在中断与异常响应时,处理器进入中断与异常处理控制,保存当前处理运行状态,转而运行中断与异常服务程序;当此异常或中断处理完成时,软件发送退出中断与异常指令,此时处理器退出中断与异常服务程序,恢复之前运行的程序。
[0013]在一种实施方式中,所述译码阶段中发现中断与异常时,进入中断与异常处理控制,保存当前中断与异常的PC值,更新当前中断与异常原因、异常值及中断与异常状态信息,所述中断与异常状态信息通过控制状态寄存器与软件进行交互,通知软件当前处理器中所存在中断与异常的状态信息;当中断与异常发生时,进行流水线冲刷,最后根据软件设置的中断与异常处理入口地址开始中断与异常的程序执行。
[0014]在一种实施方式中,当前中断与异常服务程序执行结束时,软件发送中断与异常退出指令,当译码阶段检测到中断与异常退出指令,则退出中断与异常服务程序,处理器从进入中断与异常处理控制时保存的指令PC值处开始继续执行先前的程序,处理器内部同时恢复中断与异常状态信息。
[0015]本专利技术提供的一种基于五级流水线处理器的中断与异常处理方法,可以高效的处理五级流水线处理器中的中断与异常控制问题,主要体现在:
[0016](1)将中断与异常的处理提前至指令译码阶段实现,可以减少后续指令的冲刷,提高系统的性能;
[0017](2)进入和退出中断与异常的处理控制,根据处理器状态更新寄存器,有效的保存和恢复中断与异常发生前状态。
附图说明
[0018]图1为本专利技术提供的中断与异常处理设计结构示意图;
[0019]图2为进入中断与异常处理流程图;
[0020]图3为退出中断与异常处理流程图。
具体实施方式
[0021]以下结合附图和具体实施例对本专利技术提出的一种基于五级流水线处理器的中断与异常处理方法作进一步详细说明。根据下面说明,本专利技术的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本专利技术实施例的目的。
[0022]五级流水线处理器包括取指、译码、执行、访存及写回五个阶段;所述五级流水线处理器中,异常的主要种类有非法指令、执行运算、指令和数据存储器访问时所产生的异常等,其中非法指令产生异常主要在指令译码阶段,执行运算异常主要出现在执行阶段,指令存储器访问产生的异常出现在取指阶段,数据存储器访问产生的异常出现在访存阶段。除此之外,还包括断点异常及环境调用异常等特殊异常形式。中断主要包括外部中断、计时器中断、软件中断及外部调试中断等。
[0023]当中断与异常发生,进入中断与异常服务程序处理,保存当前处理运行状态,转而运行中断与异常服务程序;待中断与异常处理结束后,恢复之前运行的程序。进入中断与异
常处理时需保证当前指令能够正常提交,当前指令也不处在预测状态。由于进入中断与异常服务程序处理时需要将流水线中后续指令冲刷,流水线指令的冲刷会降低处理器性能,因此,中断与异常提前处理可以减少被冲刷的指令,而分支预测结果可以提前在指令译码阶段实现,相当于指令译码阶段可以确定该指令正常提交情况。针对五级流水线的该特点,本专利技术将中断与异常的处理控制放在指令译码阶段,在确定当前指令可正常提交情况下,触发中断与异常的控制处理,中断与异常在整个五级流水线中的处理架构如图1所示。在指令译码阶段收集中断与异常信息,当存在中断与异常响应时,处理器进入中断与异常处理控制。当此异常或中断处理完成时,软件发送退出中断与异常指令,此时处理器退出中断与异常服务程序。以下为处理器在进入与退出中断与异常时处理流程。
[0024]进入中断与异常服务程序:
[0025]当中断与异常单元检测到处理器系统中存在中断与异常发生,则进入中断与异常服务程序控制处理,进入中断与异常处理流程图如图2所示:
[0026]首先,处理器停止当前执行程序,冲刷流水线,将流水线中存在的后续指令进行清除;同时更新中断与异常相关的控制状态寄存器。所述控制状态寄存器包括中断与异常PC值寄存器、中断与异常原因寄存器、中断与异常值寄存器以及处理器状态寄存器,以下分别说明这些控制状态寄存器的更新内容。
[0027]中断与异常PC值寄存器为保存中断与异常发生时的PC值,待中断与异常服务程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于五级流水线处理器的中断与异常处理方法,其特征在于,包括:采样外部输入中断、五级流水线处理器中的各阶段异常状态信息;中断与异常处理控制,在所述五级流水线处理器的译码阶段响应进入和退出中断与异常处理。2.如权利要求1所述的基于五级流水线处理器的中断与异常处理方法,其特征在于,所述外部输入中断包括外部中断、计时器中断、软件中断和调试中断;中断的产生时机处在所述五级流水线处理器的取指、译码、执行、访存及写回五个阶段中的任何一个阶段。3.如权利要求1所述的基于五级流水线处理器的中断与异常处理方法,其特征在于,所述五级流水线处理器中的异常包括非法指令、执行运算、指令存储器和数据存储器访问时发生的异常;其中非法指令产生异常在所述五级流水线处理器的译码阶段,执行运算异常出现在所述五级流水线处理器的执行阶段,指令存储器访问产生的异常出现在所述五级流水线处理器的取指阶段,数据存储器访问产生的异常出现在所述五级流水线处理器的访存阶段。4.如权利要求1所述的基于五级流水线处理器的中断与异常处理方法,其特征在于,所述中断与异常处理的时机放在五级流水线处理器的译码阶段中,在所述译码...

【专利技术属性】
技术研发人员:王嵩乔周昱张磊施文昊孙豪
申请(专利权)人:中电科申泰信息科技有限公司
类型:发明
国别省市:

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

1