《程序是怎样跑起来的》第十一章的读后感
又到了读书分享的时候,本篇分享《程序是怎样跑起来的》第十一章的读后感,硬件控制方法。支撑硬件输入输出IN指令和OUT指令,这些指令也是汇编语言的助记符。IN指令通过指定端口号的端口输入数据,并将其存储在CPU内部的寄存器中。OUT指令则是把CPU寄存器中存储的数据输出到指定端口号的端口。IRQ是用来暂停当前正在运行的程序并跳转到其他程序运行的必要机制。该机制称为中断处理,中断处理在硬件控制中,担任着重要的角色,如果没有中断处理就有可能出现处理无法顺畅进行的情况。假如同时有多个外围设备进行中断请求的话,CPU也会为难。如果我们在I/O控制器中和CPU中间加个名为中断控制器的IC那么可以起到一个缓冲的效果。这样中断控制器会把从多个外围设备发出的中断请求有序的传递给CPU。CPU接收到来自中断控制器的中断请求后会把当前正在运行的主程序中断。并切换到中断处理程序,中断处理程序第一步处理就是把CPU所有寄存器的数值保存到内存的栈中,在中断处理程序中。完成外围设备的输入输出后,把栈中保存的数值还原到CPU寄存器中,然后再继续进行对主程序的处理。如果CPU的数值并没有还原到原来的数值的话,会产生一系列的影响。因此在中断请求完毕后,各寄存器的数值必须要还原到中断前的状态。只要寄存器的值保持不变,主程序就可以继续处理。DMA是指在不通过CPU的情况下,外围设备直接和主内存进行数据传送。通过利用DMA大量数据就可以在短时间内转送到主内存。

浙公网安备 33010602011771号