当exception执行时,处理器的当前状态PSTATE存储在寄存器SPSR_Eln(n=1,2,3)中
在V8中,interrupt跟exception是差不多的一个东西
exception的变换有三个指令,SVC,HVC,和SMC
当状态切换的时候需要升高层级,然后再返回
所以首先需要指令来中断当前状态
然后升高层级,再返回到低层级执行另外一个指令集的app
异常发生时:SPSR_Eln 更新(其中n是执行异常的异常级别),以存储异常结束时正确返回所需的PSTATE信息。 PSTATE被更新以反映新的处理器状态。
通过执行ERET指令,处理器通过软件被告知什么时候从异常返回。 这将从SPSR_ELn恢复异常之前的PSTATE,并通过从ELR_Eln中恢复PC将程序执行返回到原始位置。
ELR_ELn寄存器用于存储异常的返回地址。 该寄存器中的值(实际上是几个寄存器)在进入异常时自动写入,并写入PC以执行用于从异常返回的ERET指令。
当exception执行时,处理器的当前状态PSTATE存储在寄存器SPSR_Eln(n=1,2,3)中
在V8中,interrupt跟exception是差不多的一个东西
exception的变换有三个指令,SVC,HVC,和SMC
当状态切换的时候需要升高层级,然后再返回
所以首先需要指令来中断当前状态
然后升高层级,再返回到低层级执行另外一个指令集的app
异常发生时:SPSR_Eln 更新(其中n是执行异常的异常级别),以存储异常结束时正确返回所需的PSTATE信息。 PSTATE被更新以反映新的处理器状态。
通过执行ERET指令,处理器通过软件被告知什么时候从异常返回。 这将从SPSR_ELn恢复异常之前的PSTATE,并通过从ELR_Eln中恢复PC将程序执行返回到原始位置。
ELR_ELn寄存器用于存储异常的返回地址。 该寄存器中的值(实际上是几个寄存器)在进入异常时自动写入,并写入PC以执行用于从异常返回的ERET指令。
举报