《程序是怎样跑起来的》第十一章读后感

读了本章之后,我知道了汇编语言中用于外部设备输入输出的指令是in指令和out指令;I/O的全称是Input/Output;用于区分外部设备的编号是I/O地址或I/O端口号;用于区分使用DMA的外部设备的编号叫DMA通道。I/O控制器中有用于临时存放输入输出数据的存储器,这种存储器成为端口,有时也被称为寄存器。CPU内部的寄存器可以参与运算,但I/O控制器内部的寄存器基本上只能用于临时存放数据。发出中断请求的是连接外部设备的I/O控制器,运行中断处理程序的是CPU。要识别具体是哪个设备发出的中断请求,我们需要使用名为中断号的编号,而不是端口号,所以在I/O控制器和CPU控制器之间还有一个中断控制器进行协调。不使用中断也可以从外部设备输入数据,但在这种情况下主程序就需要不断查询外部设备有没有要输入的数据。外部设备的数量很多,因此需要依次查询。依次查询多个外部设备状态的操作叫轮询。Windows禁止应用程序直接访问硬件,所以操作系统为应用程序提供了间接访问硬件的方法,就是系统调用。借助的是输入输出命令,IN/OUT这也是汇编语言的助记符,IRQ中断请求,在程序中有很大的价值,就像在处理文档时,突然来了个电话,而电话就是中断请求,但如果有多个中断请求的话,CPU也会为难,为此,在控制器和CPU中间加入了中断控制器IC来进行缓冲,DMA指在不通过CPU的情况下,外围设备直接和主内存进行数据传送。虽然计算机领域不断出现新技术,但要记住计算机只是对输入的数据进行计算并输入这一点是不会变的。

posted @ 2024-02-28 14:20  Y-Y0131  阅读(1)  评论(0编辑  收藏  举报