- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(MIPS体系结构剖析,编程及实践)第4章 MIPS 异常及中断处理
(MIPS体系结构剖析,编程及实践)第4章 MIPS 异常及中断处理
第四章 MIPS 异常和中断处理
MIPS 异常和中断处理(Exception and Interrupt handling)
任何一个CPU都要提供一个详细的异常和中断处理机制。一个软件系统,如操作系统,就是一个时序逻辑系统,通过时钟,外部事件来驱动整个预先定义好的逻辑行为。这也是为什么当写一个操作系统时如何定义时间的计算是非常重要的原因。
大家都非常清楚UNIX提供了一整套系统调用(System Call)。系统调用其实就是一段EXCEPTION处理程序。
我们可能要问:为什么CPU要提供Excpetion 和 Interrupt Handling呢?
*处理illegal behavior, 例如,TLB Fault, or, we say, the Page fault; Cache Error;
* Provide an approach for accessing priviledged resources, for example, CP0 registers. As we know, for user level tasks/processes, they are running
with the User Mode priviledge and are prohibilited to directly control CPO. CPU need provide a mechanism for them to trap to kernel mode and then safely manipulate resources that are only available
when CPU runs in kernel mode.
* Provide handling for external/internal interrupts. For instance, the timer interrupts and watch dog exceptions. Those two interrupt/exceptions are very important for an embedded system applicances.
Now lets get back to how MIPS supports its exception and interrupt handling.
For simplicty, all information below will be based on R7K CPU, which is derived from the R4k family.
* The first thing for understanding MIPS exception handling is: MIPS adopts **Precise Exceptions** mechanisms. What that means? Here is the explaination from the book of See MIPS Run: In a precise-exception CPU, on any exception we get pointed at one instruction(the exception victim). All instructions preceding the exception victim in execution
sequence are complete; any work done on the victim and on any subsequent instructions
(BNN NOTE: pipeline effects) has no side effects that the software need worry about. The software that handles exceptions can ignore all the timing effects of the CPUs implementations
上面的意思其实很简单:在发生EXCEPTION之前的一切计算行为会**FINISH**。在发生EXCEPTION之后的一切计算行为将不需考虑。
对绝大多数情况而言,如你要写一个系统调用(System Call),你只要记住:
MIPS已经把syscall这条指令的地址压在了EPC寄存器里。换句话说,在MIPS里,compard to the PowerPC CPU srr1 register, 你需要**explicitely**
r
您可能关注的文档
最近下载
- 苏轼定风波课件PPT.ppt
- 医院智慧能源解决方案-.ppt
- 初中英语新外研版七年级上册Unit 5 Fantastic friends课文讲解(2024秋).doc
- 中国居民膳食指南2024版 .pdf VIP
- 大学军事理论课教程第二章国家安全第三节 国际战略形势.pptx
- 儿童幽门螺杆菌感染诊治专家共识.pptx VIP
- 怡安翰威特-泰康在线人力资源管理优化项目建议书_20170816.pdf VIP
- 初中英语新外研版七年级上册Unit 6课文解析(2024秋).doc
- 认真学习和领会《中国章程》-公需课:课后答案(全).docx
- 2024“学宪法、讲宪法”法治知识竞赛第八届全国中小学法治知识竞赛题库及答案.doc
文档评论(0)