1、微计算机总线1.总线出现的背景 计算机部件要具有通用性,适应不同系统与不同用户的需求,设计必须模块化。 计算机部件产品(模块)供应出现多元化。 模块之间的联接关系要标准化,使模块具有通用性。 模块设计必须基于一种大多数厂商认可的模块联接关系,即一种总线标准。2.总线的标准 总线是一类信号线的集合是模块间传输信息的公共通道,通过它,计算机各部件间可进行各种数据和命令的传送。 为使不同供应商的产品间能够互换,给用户更多的选择,总线的技术规范要标准化。 总线的标准制定要经周密考虑,要有严格的规定。 总线标准(技术规范)包括以下几部分:机械结构规范:模块尺寸、总线插头、总线接插件以及按装尺寸均有统一规
2、定。功能规范:总线每条信号线(引脚的名称)、功能以及工作过程要有统一规定。电气规范:总线每条信号线的有效电平、动态转换时间、负载能力等。3.总线的发展情况 S-100总线:产生于1975年,第一个标准化总线,为微计算机技术发展起到了推动作用。 IBM-PC个人计算机采用总线结构(Industry Standard Architecture, ISA)并成为工业化的标准。先后出现8位ISA总线、16位ISA总线以及后来兼容厂商推出的EISA(Extended ISA)32位ISA总线。 现了VL-Bus(VESA Local Bus)和PCI(Peripheral Component Inter
3、connect,PCI)总线。适合小型化要求的PCMCIA(Personal Computer Memory Card International Association)总线,用于笔记本计算机的功能扩展。为了适应微处理器性能的提高及I/O模块更高吞吐率的要求,出现了VL-Bus(VESA Local Bus)和PCI(Peripheral Component Interconnect,PCI)总线。适合小型化要求的PCMCIA(Personal Computer Memory Card International Association)总线,用于笔记本计算机的功能扩展。4.总线的指标计算机
4、主机性能迅速提高,各功能模块性能也要相应提高,这对总线性能提出更高的要求。总线主要技术指标有几方面: 总线宽度:一次操作可以传输的数据位数,如S100为8位,ISA为16位,EISA为32位,PCI-2可达64位。总线宽度不会超过微处理器外部数据总线的宽度。 总数工作频率:总线信号中有一个CLK时钟,CLK越高每秒钟传输的数据量越大。ISA、EISA为8MHz,PCI为33.3MHz, PCI-2可达达66.6MHz。 单个数据传输周期:不同的传输方式,每每个数据传输所用CLK周期数不同。ISA要2个,PCI用1个CLK周期。这决定总线最高数据传输率。5.总线的分类与层次 系统总线:是微处理器
5、芯片对外引线信号的延伸或映射,是微处理器与片外存储器及I/0接口传输信息的通路。系统总线信号按功能可分为三类:地址总线(Where):指出数据的来源与去向。地址总线的位数决定了存储空间的大小。数据总线(What)提供模块间传输数据的路径,数据总线的位数决定微处理器结构的复杂度及总体性能。控制总线(When):提供系统操作所必需的控制信号,对操作过程进行控制与定时。 扩充总线:亦称设备总线,用于系统I/O扩充。与系统总线工作频率不同,经接口电路对系统总统信号缓冲、变换、隔离,进行不同层次的操作(ISA、EISA、MCA) 局部总线:扩充总线不能满足高性能设备(图形、视频、网络)接口的要求,在系统
6、总线与扩充总线之间插入一层总线。由于它经桥接器与系统总线直接相连,因此称之为局部总线(PCI)。6.总线操作总线一个操作过程是完成两个模块之间传送信息,启动操作过程的是主模块,另外一个是从模块。某一时刻总线上只能有一个主模块占用总线。 总线的操作步骤:主模块申请总线控制权,总线控制器进行裁决。主模块得到总线控制权后寻址从模块,从模块确认后进行数据传送。数据传送的错误检查。 总线定时协议:定时协议可保证数据传输的双方操作同步,传输正确。定时协议有三种类型:同步总线定时:总线上的所有模块共用同一时钟脉冲进行操作过程的控制。各模块的所有动作的产生均在时钟周期的开始,多数动作在一个时钟周期中完成。异步
7、总线定时:操作的发生由源或目的模块的特定信号来确定。总线上一个事件发生取决前一事件的发生,双方相互提供联络信号。半同步总线定时:总线上各操作的时间间隔可以不同,但必须是时钟周期的整数倍,信号的出现,采样与结束仍以公共时钟为基准。ISA总线采用此定时方法。总线定时协议半同步总线定时:总线上各操作的时间间隔可以不同,但必须是时钟周期的整数倍,信号的出现,采样与结束仍以公共时钟为基准。ISA 总线采用此定时方法。 数据传输类型:分单周方式和突发(burst)方式。单周期方式:一个总线周期只传送一个数据。单周期数据传送方式突发方式:取得主线控制权后进行多个数据的传输。寻址时给出目的地首地址,访问第一个
8、数据,数据 2、3 到数据 n 的地址在首地址基础上按一定规则自动寻址(如自动加 1) 。突发数据传送方式7总线仲裁 基本概念总线上可以连接多个主模块,它们均可占用总线传送数据。当出现多个主模块申请占用总线时,要进行仲裁,将总线控制权交给一个主模块。总线仲裁的主要方法有分布式仲裁与集中式仲裁两种方法。 菊花链式分布串行总线仲裁:每个主模块包含有总线控制逻辑,多个主模块分享总线。所有主模块总线请求“线或”在一起,CPU响应信号级联传播,占用总线的模块发出忙信号。此方法优先级排定,灵活性差。 集中式并行总线仲裁有一个集中的总线仲裁逻辑,各主模块的请求及响应信号独立。仲裁逻辑进行优先级判断,可有不同
9、的仲裁策略。8 ISA总线原理 ISA总线概况:ISA总线来源于IBM-PC微计算机。开始时PC机面向个人及办公室,定义了8位的ISA总线结构,对外公开,成为标准(ISO ISA标准)。第三方开发出许多ISA扩充板卡,推动了PC机的发展。1984年推出IBM-PC/AT系统,ISA从8位扩充到16位,地址线从20条扩充到24条。ISA总线插槽示意图如下: ISA总线引线定义:主要信号说明RESET、BCLK:复位及总线基本时钟,BLCK=8MHz。SA19-SA0:存储器及I/O空间20位地址,带锁存。LA23-LA17:存储器及I/O空间20位地址,不带锁存。BALE:总线地址锁存,外部锁存
10、器的选通。AEN:地址允许,表明CPU让出总线,DMA开始。SMEMR#、SMEMW#:8位ISA存储器读写控制。MEMR#、MEMW#:16位ISA存储器读写控制。SD15-SD0:数据总线,访问8位ISA卡时高8位自动传送到SD7-SD0。SBHE#:高字节允许,打开SD15-SD8数据通路。MEMCS16#、IOCS16#:ISA卡发出此信号确认可以进行16位传送。I/OCHRDY:ISA卡准备好,可控制插入等待周期。NOWS#:不需等待状态,快速ISA发出不同插入等待。I/OCHCK#:ISA卡奇偶校验错。IRQ15、IRQ14、IRQ12-IRQ9、IRQ7-IRQ3:中断请求。DR
11、Q7-DRQ5 、DRQ3-DRQ0: ISA卡DMA请求。DACK7#-DACK5#、DACK3#-DACK0#:DMA请求响应。MASTER#:ISA主模块确立信号,ISA发出此信号,与主机内DMAC配合使ISA卡成为主模块,全部控制总线。9 PCI总线原理 PCI总线的特点:数据总线32位,可扩充到64位。可进行突发(burst)式传输。总线操作与处理器-存储器子系统操作并行。总线时钟频率33MHZ或66MHZ,最高传输率可达528MB/S。中央集中式总线仲裁全自动配置、资源分配、PCI卡内有设备信息寄存器组为系统提供卡的信息,可实现即插即用(PNP)。PCI总线规范独立于微处理器,通用
12、性好。PCI设备可以完全作为主控设备控制总线。 PCI总线引线:高密度接插件,分基本插座(32位)及扩充插座(64位)。 PCI配置空间:PCI设备内有一个256B的配置存储器,为系统提供本设备的信息及申请系统存储空间所必需的参数。 PCI主要设备信息:制造商标识(Vendor ID):PCI组织分配给厂家。 设备标识(Device ID):按产品分类给本卡的编号。 分类码(Class Code):本卡功能的分类码,如图卡、显示卡、解压卡等。 申请存储器空间:PCI卡内有存储器、以存储器编址的寄存器和I/O空间,为使驱动程序和应用程序能访问它们,需申请一段存储区域将它们定位。配置空间的基地址寄
13、存器是专门用于申请存储器空间的。申请I/O空间:配置空间的基地址寄存器也用来进行系统I/O空间的申请。中断资源申请:配置空间中的中断引脚和中断线用来向系统申请中断资源。 PCI总线访问:以读操作为例。 PCI总线是半同步方式操作,信号是否有效由时钟CLK的上升边采样来确定。主设备启动总线周期:首先发出FRAME#信号,表明一次访问(总线周期)开始,地址及操作命令字信号出现在AD与C/BE#线上。从设备响应:对地址和命令字译码后通过发出DEVSEL#有效信号进行响应,通知主设备,从设备已经被选中。数据读取:主设备与从设备都准备好即IRDY#及TRDY#均有效,主设备将数据取走。 PCI总线访问:
14、多数据传送周期:PCI支持突发访问方式。 主模块占用一次总线可实现多个周期的数据访问。 第一数据地址由地址周期给出。 以后地址在此基础上按AD1、AD0的编码规定变化,如AD1、AD0为 00 时地址线性增加(每次加4)。 错误校验及报告: PCI总线对AD线的有效信息都进行奇偶校验操作。PAR为校验位,发送方为AD与C/BE#线(共36位)配好校验值。 接收方在地址周期用SERR#报告校验结果,用PERR#报告数据周期校验结果。配置空间访问:配置空间的访问决定于命令字编码,在IDSEL线上发出有效信号,地址线低8位用于访问配置空间的256字节存储器。总线仲裁:PCI总线主设备通过REQ#与GNT#信号向总线仲裁器申请占用总线并得到确认。