第四章 输入输出系统

 

1、异步性

  外围设备相对于处理机通常是异步工作的。如果不考虑缓冲存储器的作用,终端设备通常按照人操作键盘的速度输入字符到处理机中,同时把所输入的字符显示到显示器上,打印机通常按照它自身的速度,每分钟打印一定的字符数。输入输出设备的工作在很大程度上独立于处理机之外,通常不使用统一的中央时钟,各个设备按照自己的时钟工作,但又要在某些时刻接受处理机的控制。
  外围设备的工作过程是这样的:当设备准备好与处理机交往时(对于输入设备是指数据寄存器满,对于输出设备是指数据寄存器空),要向处理机申请服务。对于处理机来说,这个时刻一般是随机的,两次申请之间可能要经过很长时间,这就造成了输入输出相对于处理机的异步性和时间的任意性。
  当一个处理机管理多台外围设备时,必须做到在任意两次处理机与设备交往的时刻之间,处理机仍然能够全速运行它本身的程序,或者管理其它外围设备。从而保证处理机与外围设备之间,外围设备与外围设备之间能够并行工作,无需互相等待。为了能够实现一个处理机与多台外围设备并行工作,必须采用中断输入输出方式或直接存储器存取(DMA)方式工作。

2、实时性

  当外围设备与处理机交往时,由于设备的类型不同,它们的工作步调是很不相同的,信息传输的速率也相差悬殊,传送方式极不统一。有的设备每次只传送一个字符,如打印机和终端设备等,传输速度为每秒钟几个到几十个字符。有的设备按数据块或按文件为单位传送,如磁盘、磁带存储器等,每秒钟要传送几到几十兆字符。处理机必须按照不同设备所要求的传送方式和传输速率不失时机地为设备提供服务,包括从设备接收数据,向设备发送数据及对设备进行控制等。如果错过了服务的时机,就可能丢失数据,或造成外围设备工作的错误。
  用于实时控制的计算机系统,如工业过程控制,导弹、卫星等的控制,对时间性的要求很强。如果处理机提供的服务不及时,很可能造成巨大的损失,甚至造成人身伤害。
对于处理机本身的硬件或软件错误,如电源故障、数据校验错、页面失效、非法指令、地址越界等,处理机也必须及时地给予处理。
  处理机为了能够为各种不同类型的设备提供服务,必须具有与各种设备相配合的多种工作方式,包括程序控制方式、中断方式、直接存储器存取方式等。这就是输入输出设备的实时性要求。

3、与设备无关性

  外围设备的类型、规格、特性多种多样,它们输出数据和接收数据的方式,数据的格式差异很大,因此,设备与处理机的连接方式也很不相同。计算机系统为了能够适应各种外围设备的不同要求,规定了一些独立于具体设备的标准接口。例如,串行接口、并行接口、SCSI(Small Computer System Interface)接口等
  各种外围设备必须根据自己的特点和要求,选择其中的一种标准接口与处理机连接。凡是连接到同一种标准接口上的不同类型设备,它们之间的差异必须由设备本身的控制器通过硬件和软件来进行填补。这样,处理机本身就无需了解各种外围设备特定的具体工作细节,可以采用统一的硬件和软件对品种繁多的设备进行管理。计算机系统的使用者也只需通过操作系统提供的高级命令或程序请求来使用各种各样复杂的外围设备。在需要更换外围设备时,各种不同型号,不同生产厂家的设备都可以直接通过标准接口与计算机系统连接。
  最近,在某些计算机系统中已经实现了"即插即用"技术。例如,在WINDOWS操作系统中,凡是经过MICROSOFT公司测试的外围设备都可以直接连接到主机上,由操作系统统一分配输入输出地址,中断号和DMA端口号,并采用操作系统中提供的驱动软件。在操作系统安装过程中能够自动识别各种外围设备,自动调用相应的驱动软件,无需用户自己安装。对于新加入的外围设备,操作系统也能自动识别,为它分配输入输出地址,中断号、DMA端口号,并调用相应的驱动软件。