### PCI总线的原理时序和仲裁分析
#### 一、PCI总线概述
随着图形用户界面(GUI)、多媒体技术等在个人计算机上的广泛应用,传统总线如ISA、EISA和MCA等由于其有限的带宽,已经无法满足系统的高性能需求。为了解决这一问题,在20世纪90年代初期,视频电子标准协会(VESA)和英特尔公司提出了两种新的局部总线规范:VL-BUS和PCI(Peripheral Component Interconnect)。这两种局部总线为系统提供了高速的数据传输通道,使得系统中的各个设备能够通过局部总线进行高效的数据交换,有效地缓解了数据传输的瓶颈。
在这两种局部总线中,PCI总线由于其面向整个系统而非仅仅针对图形加速的特点,支持更多的负载,并且运行更加稳定可靠,支持即插即用等功能,因此受到了广泛的支持,并逐渐成为了市场的主流。目前,大多数Pentium系列的个人计算机都采用了PCI作为系统总线。
#### 二、PCI总线结构与性能
##### 1. 总线结构
PCI总线系统结构支持多总线架构,整个系统中存在三种不同类型的总线:
- **HOST Bus**:作为系统中最基础设备之间的高性能连接,通常是Intel x86类型的总线。
- **PCI Bus**:作为系统的高性能局部总线,用于连接各种高性能外设,以增强系统功能。
- **LEGACY Bus**:传统性能较低的总线,如ISA、EISA、MCA总线。
此外,整个系统可以分为多个层次,不同总线通过桥路(Bridge)相连。桥路的主要作用是在不同信号环境之间进行转换,确保不同总线间的数据传输可以顺利进行。
在每条总线上连接有各自的总线设备(Master、Target Memory、Target I/O),这些设备增强了系统的功能,而整个总线系统则为各设备之间可靠的数据传输提供了保障。
##### 2. 主要特点
- **突出的性能**:总线宽度为32位,可升级至64位,支持突发工作模式,同步操作时的最大频率为33 MHz,数据的最大传输率为132 Mbps(32位)或264 Mbps(64位)。
- **良好的兼容性**:PCI总线部件和插板接口相互独立,支持所有现有的和未来的不同结构的处理器。
- **即插即用**:PCI设备包含寄存器,存储设备的具体信息,这些信息使得系统BIOS和操作系统层的软件可以自动配置PCI总线部件和插板。
- **低成本**:采用优化的芯片和多路复用体系减少了管脚数量和PCI部件,同时,基于ISA、EISA、MCA的扩展板也可以在PCI总线上工作,降低了用户的开发成本。
- **多主能力**:支持任意PCI主设备和从设备之间点对点的访问。
- **信号环境**:定义了3.3 V和5 V两种信号环境,5 V到3.3 V的组件技术使得电压可以平滑过渡。
- **高速缓存支持**:支持高速缓存。
#### 三、总线操作周期
在讨论PCI总线的操作周期之前,我们先简要介绍一些相关的总线信号。
##### 1. 相关的总线信号
这里仅以32位总线为例来说明数据传输的情况。以下是一些关键的总线信号:
- **CLK (I/N)**:系统时钟信号。
- **AD[31:00] (T/S)**:地址和数据复用信号线。
- **C/BE[3:00]# (T/S)**:总线命令和地址使能信号。
- **PAR (T/S)**:奇偶校验信号。
- **FRAME# (S/T/S)**:帧周期信号,指示总线操作的开始和结束。
- **IRDY# (S/T/S)**:主设备准备好信号。
- **TRDY# (S/T/S)**:目标设备准备好信号。
- **STOP# (S/T/S)**:目标设备要求中止当前数据传输的信号。
- **DEVSEL# (S/T/S)**:目标设备选中信号。
##### 2. 存取周期
存取周期是指PCI总线主设备和目标设备之间的点对点数据传输,包括内存读写、输入输出读写、配置读写等多种操作。
- **单一数据存取周期**:单一数据存取周期指的是在一次操作中仅传输一个数据单元的过程。包括标准的单一数据读写操作时序。
#### 四、仲裁机制
PCI总线的仲裁机制是决定哪个主设备能够获得总线控制权的重要组成部分。仲裁过程通常涉及多个主设备竞争总线使用权,必须有一个机制来确定哪个主设备可以优先使用总线。PCI总线支持多种仲裁策略,常见的有轮询方式(Round-Robin)、优先级方式(Priority-based)等。通过这种机制,可以有效地管理多个主设备之间的数据交换,避免冲突并确保数据传输的正确性和效率。
PCI总线不仅提供了高性能的数据传输能力,还具备良好的兼容性、即插即用功能、低成本以及多主能力等特点,这些特性使得PCI总线成为了现代个人计算机系统中不可或缺的一部分。