一:1. 在用于x86架构CPU 的汇编语言中,用in指令进行I/O输入,用out指令进行 I/O 输出。
2. 负责在计算机主机与外部设备之间进行输入输出的芯片称为1/O控制器,简称I/O。
3. 为了区分连接到计算机上的不同外部设备,每个设备会被分配一个I/O地址。
4. IRQ 是指用于区分发出中断请求的外部设备的编号。
5.DMA 是指外部设备不经过CPU 中转,直接与计算机内存传输数据。
6.网络、磁盘等数据量大的外部设备会使用 DMA,不同设备会通过DMA 通道来行区分。
二:在使用C语言等高级编程语言编写 Windows 应用程序时,很少会强直接访问硬件的指令。这是因为对硬件的访问已经由 Window 操作税一手包办了。然而,操作系统还是为应用程序提供了问接访问硬件的方法,那每顺用系统调用。在 Windows 中,系统调用也被称为API,每个API都是一个能够被应用程序调用的函数,这些面效的本体位以DLL文件中。
三:in指令和 out 指令的语法这是x86 架构 CPU的in指令和 out指令的语法。in指令可以从指定编号的端口输人数据,并将其存入 CPU 内部的寄存器。out 指令可以将 CPU 寄存器中的数据输出到指定编号的端口。
IRQ 是一种让当前正在运行的程序暂停,转而运行其他程序的机制,这被称为中断处理。中断处理在硬件控制中扮演着重要的角色。如果没有中断处理,有些任务就无法顺利进行。
四:外部设备的数量很多,因此需要依次查询。依次查询多个外部设备状态的操作称为轮询。轮询适用于那些不频繁产生中断的系统,但不适用于个人计算机。如果在查询鼠标有没有输人数据的时候按下了键盘会怎样呢?输人的字符就无法实时显示在屏幕上了。实际上,使用中断来处理键盘输入,就可以将输人的字符实时显示在屏幕上了。
像打印机等专门用来输出的外部设备,也会通过中断来通知计算机自己是否处于可以接收数据的状态。外部设备的数据处理速度远慢于计算机主机的处理速度。如果仅当CPU收到中断请求时才数据,主程序就不必一直去查询设备的状态,CPU 就可以有更多间来运行其他程序了。
五:显示器显示字符和图像的原理。计算机中有一个用于保存要显示的信息的存储器,这一存储器称为显存(Video RAM, VRAM)。程序只要将数据写人显存,数据就可以在显示器上显示出来。