【发布时间】:2009-10-21 18:56:02
【问题描述】:
也许问题应该是,是否外部中断甚至在 PowerPC 上进行了向量化?我一直在看http://www.ibm.com/developerworks/eserver/library/es-archguide-v2.html,'book 3',试图弄清楚处理器如何定位适当的中断服务程序以响应外部中断。似乎暗示当 PPC 识别到外部中断时,它只是将执行跳转到 0x0000_0500。
我可能对 PPC 的运作方式存在误解。对于 x86,处理器以中断确认周期响应中断请求,并直接从设备获取“向量”。然后,向量(实际上是一个索引)允许 CPU 从其中断向量表中选择适当的处理程序例程。最重要的是,这种确认/向量获取是硬件、总线协议的事情,没有人需要编写任何代码来实现它。唯一需要编写(读取、软件)的代码是 ISR 本身。
是否 PPC 做类似的事情?在 0x500 处会有一个向量表吗?还是它做了一些完全不同的事情,并将获取设备向量的功能卸载到外部中断控制器?我想它可以只是跳转到 0x500 处的代码,然后实际的软件会询问(假设的?)中断控制器以获取向量 .. 然后在跳转表/what-have 中使用它-你,但我找不到文件来验证这种情况,无论是哪种方式。
【问题讨论】:
标签: hardware powerpc interrupt-handling