1.1.1 并行传输技术简介
1.并行传输技术原理
并行传输过程中,多个数据位(N bits)以成组的方式同时在多个不同的通信线路上传输,如图1-1所示,每个数据位使用一条通信线路,数据组通常是 8bits、16bits或 32bits。
图1-1 并行传输示意图
为了数据能够正确地被接收端接收处理,并行传输的数据必须在时钟上同步。并行传输数据一般采用两种同步方式:源同步方式和系统同步方式。
1)源同步方式
为便于在接收端实现数据同步,提高数据的传输速率,业界提出了采用源同步接口传输的解决方案。源同步接口的基本思想如图1-2 所示,允许时钟和多个数据通道同时传输,时钟信号和数据保持确定的相位关系,同步时钟和并行数据都在数据发送端产生,并同时传输到数据接收端。接收端利用对端传送来的时钟信号作为采样时钟,对数据位进行采样。采样过程中只要保证接收端时钟信号与接收数据满足一定的建立/保持时间,数据即可被正确接收。
图1-2 源同步结构框图
2)系统同步
传统数据传输通常采用系统同步传输方式,多个器件基于同一时钟源进行系统同步,器件之间的数据传输时序关系以系统时钟为参考,如图1-3所示。系统同步传输方式使各器件处于同步工作模式,但器件之间传输数据的传输时延难以确定,当系统时钟频率增加后,数据接收接口同步电路难以实现,因此系统同步传输方式不适用于高速数据传输。
图1-3 系统同步结构图
无论是源同步方式还是系统同步方式,为了保证 PCB走线匹配,数据线一般总是成组并排布线的,线间距很小,走线之间存在较大耦合,从而导致串扰问题非常严重。除了数据线和时钟线,并行总线还需要很多控制线,走线数目多,并且一般采用单端信号传输,抗干扰能力差。
2.常用的并行接口协议介绍
并行传输接口在早期的计算机系统中应用广泛,如系统总线(ISA)、局部总线(PCI)、用于硬盘的 IDE总线和用于打印机的 IEEE 1284总线。下面简单介绍几种常见的并行传输总线接口协议。
1)ISA总线
ISA 总线是 IBM 公司为 PC/AT 计算机而制定的总线标准,其全称是“Industry Standard Architecture”,最早提出时总线宽度是 8bits,1984年为适应 Intel 80286处理器,IBM将总线宽度扩展为 16bits,工作频率为 8MHz,数据传输率大约是 16MB/s。ISA 总线的缺点是传输速率过低、CPU 占用率高、占用硬件中断资源等。当 Intel 提出 32bits 的 80386DX 处理器后,ISA 总线的 16bits 数据宽度严重影响了处理器的性能发挥,因此在 1988年,康柏、惠普、NEC等 9大厂商协同将 ISA总线宽度扩展为32bits,即著名的 EISA(Extended ISA,扩展 ISA)总线。由于总线宽度扩宽一倍,但工作频率仍为 8MHz,因此 EISA总线的带宽为 32Mb/s,速度仍然有限,并且成本过高。因此,在 20世纪 90年代初期,逐渐被 PCI总线取代。如图1-4所示为 ISA总线接口。
图1-4 ISA总线接口
2)PCI总线
PCI 总线是由 Intel 公司于 1991 年推出的一种局部总线,其全称是 Peripheral Component Interconnect(外设部件互联),是目前个人计算机中使用最广泛的接口,几乎所有的主板产品上都带有这种插槽。最早提出的 PCI 总线宽度为 32 位,工作频率为33MHz,数据带宽达到 133MB/s,远高于之前的 ISA总线,基本满足了当时处理器的发展需要。随着处理器的速度提高和对性能的更高要求,1993年提出了 64位的 PCI总线,随后又将工作频率提升到 66MHz,目前个人计算机常用的是 32位、33MHz的 PCI总线,64位的 PCI总线多用于服务器产品。不同于 ISA总线,PCI总线的地址总线与数据总线采用分时复用方式,优点如下。
(1)可以节省接插件的引脚数;
(2)便于实现突发数据传输。
PCI 总线是一种高性能局部总线,是为了满足外设间及外设与主机间进行高速数据传输而提出来的,具有数据传输率高、即插即用和扩展性好等优点,多用于显卡、声卡和网卡等应用中。如图1-5所示为 PCI总线插槽接口。
图1-5 PCI总线插槽接口
3)IDE总线
IDE总线的全称是“Integrated Drive Electronics”,即“电子集成驱动器”,普遍应用于硬盘和光驱设备,因其使用 ATA命令集,且是并行接口,因此又称为 PATA(Parallel ATA)并口。IDE 的本意是把硬盘控制器和盘体集成在一起,降低硬盘接口的线缆数量和长度,增强数据传输的可靠性。利用 IDE总线,硬盘制造厂商不必再关心生产的硬盘是否与其他厂商生产的控制器兼容,同时也方便了用户的安装。IDE 接口使用16bits并行传输,具有体积小、价格低廉和兼容性强等优点,在 SATA接口出现之前,IDE 总线统治着硬盘和光驱接口。图1-6 所示为 IDE 硬盘和 IDE 线缆,使用 40 针脚连接器。
图1-6 IDE硬盘和 IDE线缆
早期的 IDE接口支持两种传输模式:PIO(Programming I/O)模式和 DMA(Direct Memory Access)模式。PIO模式是一种通过 CPU执行 I/O端口指令来进行数据读/写的数据交换模式,是最早的硬盘数据传输模式,数据传输速率低下,CPU占有率也很高,大量传输数据时会因为占用过多的 CPU资源而导致系统停顿,无法进行其他操作。DMA模式由于需要额外的驱动程序支持,所以开始没有得到广泛接受。随着对传输速率的要求越来越高,DMA 模式由于其占用资源少、执行效率高等优点,操作系统开始直接支持,各大厂商也推出速度更快的 D M A传输速度标准。ATA发展至今经过多次修改和升级,每个新一代的接口都建立在前一代标准之上,并保持向后兼容性。ATA-1 的传输速率仅为 3.3MB/s,ATA-2的速率提升到 16.6MB/s,ATA-4首次采用 DDR技术,开始正式支持 Ultra DMA数据传输模式,数据传输速率提高到 33MB/s,又称 ATA33,随后又出现 ATA66、ATA100和 ATA133,数据传输速率分别提高到 66MB/s、100MB/s和 133MB/s。但随着传输速率的提高,信号协议和连接器都表现出诸多技术瓶颈,新出现的 SATA接口逐渐替代 IDE接口。
4)IEEE 1284总线
IEEE 1284是连接计算机与其他设备的双向并行总线标准,最初在 20世纪 70年代由 Centronics提出,主要用于打印机并行端口,并很快成为事实上的标准,1994年,IEEE委员会公布 IEEE 1284并行接口标准。IEEE 1284标准允许双向数据传输和更快的数据传输速率,理论速率可达 4MB/s,实际速率一般是 2MB/s。由于 IEEE 1284接口可以允许传输更大的数据块,因此很快在扫描仪、磁带驱动、磁盘和网络适配器上替代了昂贵的 SCSI接口。图1-7为连接打印机的 IEEE 1284线缆接口。
图1-7 IEEE 1284打印机线缆接口
IEEE 1284包含以下 5种操作模式:
(1)兼容模式,也称为 Centronics 标准,单向数据传输,与原始的 Centronics port稍有不同,几乎只用于打印机;
(2)半字节模式,允许设备一次发送 4bit数据;
(3)字节模式,半双工双向传输,每次传输一字节数据;
(4)增强的并行接口(EPP),半双工双向传输,允许打印机、扫描仪、存储设备等传输大块数据并快速改变传输方向,带宽可达 2MB/s,是一般并行接口速率的 15倍;
(5)扩展功能端口(ECP),半双工双向传输,可以使用 DMA方式传输数据,速度比 EPP模式更快,可达 2.5MB/s。上述 5种模式都用的是 TTL逻辑电平,因此限制了 IEEE 1284总线线缆的长度。
5)SCSI总线
SCSI(Small Computer System Interface,小型计算机系统接口)是早期一种用于计算机和外部设备(磁盘、软盘、光驱、打印机、扫描仪等)之间的通用接口标准。最初的 SCSI-1标准同步传输速率为 5MB/s,异步传输速率为 3MB/s,已经被淘汰;随后出现的 SCSI-2标准又称为 Fast SCSI,通过提高频率而将速率提升一倍,达到 10MB/s,支持8位并行数据传输,可连接 7个外设,接口包括 50个针脚;后来又出现 Wide SCSI,支持 16位并行数据传输,同步数据传输速率也提高到 20MB/s,可连接 16个外设,主要用于扫描仪、CD-ROM驱动器中;1995年,更高速的 SCSI-3标准出现,称为 Ultra SCSI,总线频率大大提高,主要用于硬盘中。
图1-8为 SCSI接口硬盘实物图。SCSI-3有很多型号,包括 Ultra Wide SCSI、Ultra 2 SCSI、Ultra 2 Wide SCSI、Ultra 3 SCSI、Ultra 320 SCSI和 Ultra 640 SCSI,最新的Ultra 640 SCSI的数据传输速率为 640MB/s,时钟频率为 160MHz,加双倍数据速率,数据位宽为 16位。SCSI可支持多个设备,支持多任务并行执行,占用 CPU低,是一种便于系统集成、效率高的接口标准,但由于成本问题,主要用于中高端服务器和工作站上。
图1-8 SCSI接口硬盘
表 1-1对 ISA、PCI、IDE、IEEE 1284和 SCSI并行接口做了总结。
表1-1 几种并行接口的特征和应用总结
并行数据传输技术通常是高速传输数据的有效方法,可以通过提高时钟频率和接口位宽来提高传输速率,但并行传输的进一步发展却遇到了障碍,提升时钟频率易引起信号线间的相互干扰,增加位宽将导致 PCB上的布线数目随之增加,成本也随之攀升。