刚开始接触BIOS开发,目前正在学习关于PCI总线方面的知识,以下是本人根据网上的资料所整理的PCI学习笔记,如果有什么不对的地方,感谢大神的斧正。
众所周知,PCI总线是计算机主板上不可或缺的部分,它连接着大部分的硬件设备,可以连接扩展到Super I/O上连接键盘和鼠标等低速设备,也可以连接声卡、网卡等中高速设备,甚至可以扩展PCIe总线连接显卡这类高速设备。
一、 PCI总线
1、PCI总线简介
PCI是PeripheralComponent Interconnect(外设部件互连标准)的缩写,它是一种局部并行总线标准。它的工作频率是33MHz,PCI总线是一种树型结构,并且独立于CPU总线,可以和CPU总线并行操作。PCI总线上可以挂接PCI设备和PCI桥片,PCI总线上只允许有一个PCI主设备,其他的均为PCI 从设备,而且读写操作只能在主从设备之间进行,从设备之间的数据交换需要通过主设备中转。
2、PCI总线主要性能
(1)传输速率高。在32bit操作系统中最大传输为132MB/s,在64bit操作系统中传输速率可达到264MB/s。
(2)能够多总线共存。在一个系统中可容纳多种总线设备共同工作,允许不同速度的设备一同工作。
(3)独立于CPU。PCI总线不依赖于某一具体的CPU。
(4)自动识别与配置外设。用户使用方便。
(5)并行操作能力。一种并行的数据传输方式,传输效率高。
(6)适应不同的电压环境。可以在5V和3.3V电压下工作。
3、PCI总线特点
(1)高速性。PCI总线的主设备(Master)可与微机内存直接交换数据,而不必经过微机CPU中转,也提高了数据传送的效率。
(2)即插即用性。而PCI板卡的硬件资源则是由微机根据其各自的要求统一分配,决不会有任何的冲突问题。
(3)可靠性。PCI总线增加了奇偶校验错(PERR)、系统错(SERR)、从设备结束(STOP)等控制信号及超时处理等可靠性措施,使数据传输的可靠性大为增加。
(4)复杂性。硬件设计和软件开发上的难度增加。
(5)自动配置。PCI中有256字节的空间存放配置信息(中断、存储地址和某些定时信息)。
(6)中断共享。低电平触发方式,多个中断可使用同一中断。
(7)扩展性好。可以多级采用PCI总线进行扩展,都是并发工作。
(8)多路复用。采用了地址线和数据线共用一组物理线路
(9)严格规范。PCI总线对协议、时序、电气性能、机械性能等指标都有严格的规定,保证其可靠性和兼容性。
二、 PCI协议基础
1、 PCI设备引脚介绍
图1 PCI总线引脚图
按照类型将上述引脚分类,逐个进行介绍。
(1)、系统信号线
CLK:时钟信号线,系统在时钟信号上升沿是有效,才能进行传输。
RST:复位信号线,在低电平时信号才能进行传输。
(2)、地址及数据线
AD0-AD31:地址和数据多路复用的输入输出信号。在FRAME有效时是地址周期,在IRDY和TRDY同时有效时是数据周期。在执行地址周期时,地址周期为一个时钟周期,在该周期中AD0~AD31线上含有一个32位的物理地址,对于I/O操作,它是一个字节地址;若是存储器操作和配置操作,则是双字地址。在执行数据周期时,IRDY有效表示写数据稳定,TRDY有效表示读数据有效。
C/BE0~3:总线命令和字节使能多路复用信号线。在地址周期内,这四条线上传输的是总线命令;在数据周期内,传输的是字节使能信号,用来表示在整个数据期中, AD0~AD31上哪些字节为有效数据。
PAR:奇偶校验信号。它通过AD[31::00]和C/BE[3::0]进行奇偶校验。主设备为地址周期和写数据周期驱动PAR,从设备为读数据周期驱动PAR。
(3)、接口控制信号线
FRAME:帧周期信号。由当前主设备驱动,表示一次访问的开始和持续时间。当其 无效时,表示传输的最后一个数据周期。
IRDY:主设备准备好信号。该信号有效表