版权归原作者所有,如有侵权,请联系我们

[科普中国]-双向总线驱动器

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

驱动器是计算机主机设备与外部设备之间的接口1。它根据其实现方式又分为硬件驱动器(例如磁盘驱动器、磁带驱动器、软盘驱动器等)和软件驱动器,它为各种不同的输入/输出设备正常运行提供所要求的信号电平和指令。双向总线驱动器即连接在双向总线上设备之间发送和接收信息的接口。双向总线驱动器目的是保证设备能正确地接收和发送数据。主要与双向总线的类型有关。双向总线驱动器也有相应设备驱动程序。

设备驱动程序概述设备驱动程序通常又称为设备处理程序,它是 I/O 进程与设备控制器之间的通信程序,又由于它常以进程的形式存在,故以后就简称之为设备驱动进程。其主要任务是接收上层软件发来的抽象 I/O 要求,如 read 或 write 命令,在把它转换为具体要求后,发送给设备控制器,启动设备去执行;此外,它也将由设备控制器发来的信号传送给上层软件。由于驱动程序与硬件密切相关,故应为每一类设备配置一种驱动程序;有时也可为非常类似的两类设备配置一个驱动程序。

设备驱动程序的功能为了实现 I/O 进程与设备控制器之间的通信,设备驱动程序应具有以下功能:

(1) 接收由设备独立性软件发来的命令和参数,并将命令中的抽象要求转换为具体要求,例如,将磁盘块号转换为磁盘的盘面、磁道号及扇区号。

(2) 检查用户 I/O 请求的合法性,了解 I/O 设备的状态,传递有关参数,设置设备的工作方式。

(3) 发出 I/O 命令。如果设备空闲,便立即启动 I/O 设备去完成指定的 I/O 操作;如果设备处于忙碌状态,则将请求者的请求块挂在设备队列上等待。2

(4) 及时响应由控制器或通道发来的中断请求, 并根据其中断类型调用相应的中断处理程序进行处理。

(5) 对于设置有通道的计算机系统,驱动程序还应能够根据用户的 I/O 请求,自动地构成通道程序。

双向总线的类型ISA(Industry Standard Architecture)总线这是为在 1984 年推出的 80286 型微机而设计的总线结构。其总线的带宽为 8 位,最高传输速率为 2 Mb/s。之后不久又推出了 16 位的(EISA)总线,其最高传输速率为 8 Mb/s,后又升至 16 Mb/s,能连接 12 台设备。

EISA(Extended ISA)总线到 20 世纪 80 年代末期, ISA 总线已难于满足带宽和传输速率的要求, 于是人们又开发出扩展 ISA(EISA)总线,其带宽为 32 位,总线的传输速率高达 32 Mb/s,同样可以连接 12台外部设备。

VESA总线ESA(Video Electronic Standard Association)总线的设计思想是以低价位迅速占领市场。VESA 总线的带宽为 32 位,最高传输速率为 132 Mb/s。它在 20 世纪 90 年代初被推出时,广泛应用于 486 微机中。但 VESA 总线仍存在较严重的缺点,比如,它所能连接的设备数仅为 2~4 台,在控制器中无缓冲,故难于适应处理器速度的不断提高,也不能支持后来出现的 Pentium 微机。

PCI(Peripheral Component Interface)总线随着 Pentium 系列芯片的推出,Intel 公司分别在 1992 年和 1995 年颁布了 PCI 总线的V1.0 和 V2.1 规范,后者支持 64 位系统。PCI 在 CPU 和外设间插入一复杂的管理层,用于协调数据传输和提供一致的接口。在管理层中配有数据缓冲,通过该缓冲可将线路的驱动能力放大,使 PCI 最多能支持 10 种外设,并使高时钟频率的 CPU 能很好地运行,最大传输速率可达 132 Mb/s。PCI 既可连接 ISA、EISA 等传统型总线,又可支持 Pentium 的 64 位系统,是基于奔腾等新一代微处理器而发展的总线。