(mips体系结构剖析,编程与实践)第4章 mips 异常与中断处理

(mips体系结构剖析,编程与实践)第4章 mips 异常与中断处理

ID:20287217

大小:37.50 KB

页数:10页

时间:2018-10-10

(mips体系结构剖析,编程与实践)第4章 mips 异常与中断处理_第1页
(mips体系结构剖析,编程与实践)第4章 mips 异常与中断处理_第2页
(mips体系结构剖析,编程与实践)第4章 mips 异常与中断处理_第3页
(mips体系结构剖析,编程与实践)第4章 mips 异常与中断处理_第4页
(mips体系结构剖析,编程与实践)第4章 mips 异常与中断处理_第5页
资源描述:

《(mips体系结构剖析,编程与实践)第4章 mips 异常与中断处理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、(MIPS体系结构剖析,编程与实践)第4章MIPS异常和中断处理第四章MIPS异常和中断处理MIPS异常和中断处理(ExceptionandInterrupthandling)任何一个CPU都要提供一个详细的异常和中断处理机制。一个软件系统,如操作系统,就是一个时序逻辑系统,通过时钟,外部事件来驱动整个预先定义好的逻辑行为。这也是为什么当写一个操作系统时如何定义时间的计算是非常重要的原因。大家都非常清楚UNIX提供了一整套系统调用(SystemCall)。系统调用其实就是一段EXCEPTION处理程序。我们可能要问:为什么CPU要提供Excpeti

2、on和InterruptHandling呢?*处理illegalbehavior,例如,TLBFault,or,wesay,thePagefault;CacheError;*Provideanapproachforaccessingpriviledgedresources,forexample,CP0registers.Asweknow,foruserleveltasks/processes,theyarerunningwiththeUserModepriviledgeandareprohibilitedtodirectlycontrolCPO.C

3、PUneedprovideamechanismforthemtotraptokernelmodeandthensafelymanipulateresourcesthatareonlyavailablewhenCPUrunsinkernelmode.*Providehandlingforexternal/internalinterrupts.Forinstance,thetimerinterruptsandwatchdogexceptions.Thosetwointerrupt/exceptionsareveryimportantforanembed

4、dedsystemapplicances.Nowlet'sgetbacktohowMIPSsupportsitsexceptionandinterrupthandling.Forsimplicty,allinformationbelowwillbebasedonR7KCPU,whichisderivedfromtheR4kfamily.*ThefirstthingforunderstandingMIPSexceptionhandlingis:MIPSadopts**PreciseExceptions**mechanisms.Whatthatmean

5、s?Hereistheexplainationfromthebookof"SeeMIPSRun":"Inaprecise-exceptionCPU,onanyexceptionwegetpointedatoneinstruction(theexceptionvictim).Allinstructionsprecedingtheexceptionvictiminexecutionsequencearecomplete;anyworkdoneonthevictimandonanysubsequentinstructions(BNNNOTE:pipeli

6、neeffects)hasnosideeffectsthatthesoftwareneedworryabout.ThesoftwarethathandlesexceptionscanignoreallthetimingeffectsoftheCPU'simplementations"上面的意思其实很简单:在发生EXCEPTION之前的一切计算行为会**FINISH**。在发生EXCEPTION之后的一切计算行为将不需考虑。对绝大多数情况而言,如你要写一个系统调用(SystemCall),你只要记住:MIPS已经把syscall这条指令的地址压在了E

7、PC寄存器里。换句话说,在MIPS里,compardtothePowerPCCPUsrr1register,你需要**explicitely**refilltheEPCregisterbyEPC<-----EPC+4,beforeyouusetheeret中断返回。只有这样,你才能从系统调用中正确返回。异常/中断向量(Exception/InterruptVector)MIPS的Exception/InterruptVector的organizaionisnotasgoodasPowerPCCPUs.ForPPC,everydetailedexce

8、ptioncauseisdirectedtoaunqiuevectoraddress.MIPSisotherwise.Be

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。