|
外部设备主要包括输入、输出设备和大容量的外存储器。外部设备与主机(CPU和存储器)的通信是通过外设接口进行的。每个接口包括一组寄存器。一般说来,这些寄存器有三种不同的用途: 数据寄存器: 用来存放要在外设和主机间传送的数据,这种寄存器实际上起缓冲器的作用。 状态寄存器: 用来保存外部设备或接口的状态信息,以便CPU在必要时测试外设状态,了解外设的工作情况。 命令寄存器: CPU给外设或接口的控制命令通过此寄存器送给外部设备。
各种外部设备都有以上三种类型的寄存器,只是每个接口所配备的寄存器数量是根据设备的 需要确定的。例如,工作方式较简单、速度又慢的键盘只有一个8位的数据寄存器,并把状态和命令寄存器合二为一个控制寄存器。又如工作速度快、工作方式又比较复杂的磁盘则需要多个数据、状态和命令寄存器。 为了便于用户使用外设,IBM PC机提供了两种类型的例行程序供用户调用。一种是BIOS(Basic Input/Output System),另一种是DOS(Disk Operating System)功能调用。它们都是系统编制的子程序,通过中断方式转入所需要的子程序去执行,执行完后返回原来的程序继续执行。这些例行程序有的完成一次简单的外设信息传送,如从键盘输入一个字符,或送一个字符至显示器等;也有的完成相当复杂的一次外设操作,如从磁盘读写一个文件等。总之,操作系统把一些复杂的外设操作编成例行程序,使用户用简单的中断指令(INT)就可以进入这些例行程序,完成所需要的外设操作,所以用户应尽量利用这些系统所提供的工具来编写自己的程序。
BIOS和DOS功能调用虽然都是系统提供的例行程序,但是它们之间又有差别。BIOS存放在机器的只读存储器ROM中,所以可以把它看成是机器硬件的一个组成部分,它的层次比能调用是操作系统DOS的一个组成部分,它在开机时由磁盘装入存储器,在它的例行程序中可以一次或多次调用BIOS以完成比BIOS更高级的功能。用户需要使用外设时,应尽可能使用层次较高的DOS功能调用,但有时它不能满足你的要求,此时,就需要直接调用BIOS,如果BIOS还不能解决你的问题,那么就只好自己编制中断处理程序了。
|