软件中断与端口的中断方式不同



我与端口映射和ISR混淆由于我正在关注一篇文章,该文章提到硬件端口被映射到0x00000000到0x000003ff的内存现在,我们可以使用这些端口使用这些硬件的微控制器进行交谈。

但是IVT是什么意思是我阅读IVT包含Interrupt服务例程的地址 一切都搞砸了

当我们使用/超过端口时,请在IVT中使用CPU检查以及微控制器如何知道其编号

当将硬件端口映射到内存位置时,这称为内存映射io。通过在其寄存器中读取/写入数据/命令来访问硬件。在内存映射的io中,CPU在特定的内存位置上读取/写入信号/命令/数据,而不是将数据/命令传输到硬件寄存器,而映射到硬件寄存器。因此,硬件和CPU之间的通信通过读/写入特定的内存位置进行。

当安装的硬件安装时,它将为内存映射IO提供一组固定的内存位置,并记录这些内存位置。同样,每个硬件都有其地址存储在IVT中的ISR。现在,当特定的硬件中断CPU时,CPU从IVT中找到了中断的硬件ISR地址。一旦CPU确定了需要完成通信(I/O)的硬件,然后通过使用为该硬件分配的固定内存位置与该硬件通过内存映射IO进行通信。