第6章:总线
6.1 总线概述
总线的定义
总线是一组能为多个部件分时共享的公共信息传送线路。分时和共享是总线的两个特点。分时是指同一时刻只允许有一个部件向总线发送信息,如果系统中有多个部件,则它们只能分时地向总线发送信息。共享是指总线上可以挂接多个部件,各个部件之间交换的信息都可以通过这组路线分时共享,在某一时刻只允许有一个部件向总线发送信息,但多个部件可以同时从总线上接收相同的信息。 总线设备总线上所连接的设备,按其对总线有无控制功能可分为主设备和从设备。1) 主设备:指获得总线控制权的设备。2) 从设备:总线的从设备是指被主设备访问的设备,只能响应从主设备发来的各种总线命令。 总线特性总线特性是指机械特性(尺寸、形状)、电气特性(传输方向和有效电平范围)、功能特性(每根传输线的功能)和时间特性。 总线的猝发传输方式一个总线周期内传输存储地址连续的多个数据字的总线传输方式叫猝发传送。 总线的分类按总线功能划分:1) 片内总线:芯片内部的总线,是CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线。2) 系统总线:是计算机系统内各功能部件(CPU、主存、I/O接口)之间相互连接的总线。按系统总线传输信息内容的不同分为:a) 数据总线:用来传输各功能部件之间的数据信息,是双向传输总线,其位数与机器字长、存储字长有关。b) 地址总线:用来指出数据总线上的源数据或目的数据所在的主存单元或I/O端口的地址,是单向传输总线,地址总线的位数与内存地址空间的大小有关。c) 控制总线:控制信息,包括CPU送出的控制命令和主存(或外设)返回CPU的反馈信号。各功能部件通过数据总线连接形成的数据传输路径称为数据通路。数据通路表示数据流经的路径,而数据总线是承载的媒介。3) 通信总线:用于计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间信息传送的总线,通信总线也称为外部总线。按时序控制方式,将总线划分为同步总线和异步总线。按数据传输格式,将总线划分为并行总线和串行总线。 系统总线的结构系统总线的结构可分为:1) 单总线结构:单总线结构将CPU、主存、I/O设备(通过I/O接口)都挂在一组总线上,运行I/O设备之间、I/O设备与主存之间直接交换信息信息。CPU与主存、CPU与外设之间可以直接进行信息交换,而无须经过中间设备的干预。2) 双总线结构:一条是主存总线,用于CPU、主存和通道之间进行数据传送路径;另一条是I/O总线,用于多个外部设备与通道之间进行数据传送。优点:将较低速的I/O设备从单总线上分离出来,实现存储器总线和I/O总线分离。缺点:需要增加通道等硬件设备。3) 三总线结构:三总线结构是在计算机系统各部件之间采用3跳鸽子独立的总线来构成信息通路,这3跳总线分别为主存总线、I/O总线和直接内存访问DMA总线。主存总线用于CPU和内存之间传送地址、数据和控制信息。I/O总线用于CPU和各类外设之间通信。DMA总线用于内存和告诉外设之间传送数据。优点:提高I/O设备的性能,使其更快地响应,提高系统吞吐量。缺点:系统工作效率较低。 总线的性能指标1) 总线的传输周期:指依次总线操作所需要的时间(包括申请阶段、寻址阶段、传输阶段和结束阶段),简称总线周期。总线传输周期通常由若干个总线时钟周期构成。2) 总线时钟周期:即机器的时钟周期。计算机有一个统一的时钟,以控制整个计算机的各个部件,总线也要受此时钟的控制。3) 总线的工作频率:总线上各种操作的频率,为总线周期的导数。实际上指疫苗内传送几次数据。若总线周期=N个时钟周期,则总线的工作频率=时钟频率/N。4) 总线的时钟频率:即机器的时钟频率,为时钟周期的导数。5) 总线宽度:又称为总线位宽,它是总线上同时能传输的数据位数,通常是指数据总线的根数,如32根称为32位(bit)总线。6) 总线带宽:即总线的传输速率,单位时间内总线上可传输数据的位数,通常用每秒传送信息的字节数来衡量,单位可用字节/秒(B/S)表示。总线带宽=总线工作频率*(总线宽度/8)7) 总线复用:指一种信号线在不同的时间传输不同的信息。可以使用较少的线传输更多的信息,从而节省了空间和成本。8) 信号线数:地址总线、数据总线和控制总线3中总线数的综合称为信号线数。总线的最主要性能指标为总线宽度、总线(工作)频率、总线带宽,总线带宽是指总线本身能达到的最高传输速率,是衡量总线型能的重要指标。总线带宽=总线宽度*总线频率6.2 总线仲裁
为解决多个主设备同时竞争总线控制权的问题,应当采用总线仲裁部件,以某种方式选择一个主设备优先获得总线控制权。只有获得了总线控制权的设备,才能开始数据传送。
总线仲裁方式按其仲裁控机构的设置可分为集中仲裁方式和分布仲裁方式。 集中仲裁方式总线控制逻辑基本上集中于一个设备(如CPU)中,将所有的总线请求集中起来,利用一个特定的仲裁的裁决算法进行裁决,称为集中仲裁方式。集中仲裁方式分为:1) 链式查询方式:总线上所有的部件共用一根总线请求先,当有部分请求使用总线时,需经过词总线发总线请求信号到总线控制器。由总线控制器检查总线是否忙,若总线不忙,则立即法总线的响应信号,经总线响应线BG串行地从一个部件传送到下一个部件,依次查询。若响应信号到达的部件无总线请求,则该信号立即传送到下一个部件;若响应信号到达的部件有总线请求,则信号被截住,不再传下去。在链式查询中离总线控制器越近的部件,其优先级越高;离总线控制器越远的部件,其优先级越低。优点:链式查询方式优先级固定。只需很少几根控制线就能按一定优先次序实现总线控制,结构简单,扩充容易。缺点:对硬件电路的故障敏感,并且优先级不能改变。当优先级高的部件频繁请求使用总线时,会使优先级较低的部件长期不能使用总线。2) 计数器定时查询方式采用一个计数器控制总线使用权,相对链式查询方式多了一组设备地址线,少了一根总线响应线BG。它仍采用一根总线请求线,当总线控制器收到总线请求信号,判断总线空闲时,计数器开始计数,计数值通过设备地址发向各个部件。当地址线上的计数值与请求总线设备的地址一致时,该设备获得总线控制权,同时,中止计数器的计数与查询。3) 独立请求方式每一个设备均由一对总线请求先BRi和总线允许线BGi。当总线上的部件需要使用总线时,经各自的总线请求线发送总线请求信号,在总线控制器中排队,当总线控制器按一定的优先次序决定批准某个部件的请求时,则给该部件发送总线响应信号,该不见接到词信号就获得了总线使用权,开始传送数据。优点:响应速度快,总线允许信号BG直接从控制器发送到有关设备,不必在设备之间传递或者查询,而且对优先次序的控制相当灵活。缺点:控制线数多,总线来控制逻辑更复杂。 分布仲裁方式分布仲裁方式不需要CPU,每个潜在的主模块都有自己的仲裁控制号和仲裁器。当它们有总线请求时,把它们各自唯一的仲裁号发送到共享的仲裁线上,每个仲裁器将从种菜总线上得到的仲裁号与自己的仲裁号进行比较。如果仲裁总线上的号优先级较高,则它的总线请求不予响应,并撤销它的仲裁号。最后获胜者的仲裁号保留在总线上。6.3 总线操作和定时
总线定时是指总线在双方数据交换的过程中需要时间上配合关系的控制,这种控制称为总线定时,其实质是一种协议或规则,主要有同步和异步两种基本定时方式。
总线的传输的4个阶段1) 申请分配阶段阶段:由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定将下一传输中期的总线使用授予某一申请者。也将此阶段细分为传输请求和总线仲裁两个阶段。2) 寻址阶段:取得了使用权的主模块通过总线发出本次要访问的从模块(或从设备)的地址及有关命令,启动参与本次传输的从模块。3) 传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送。4) 结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。 同步定时方式同步定时方式是指系统采用一个统一的时钟信号来协调发送和接收双方的传送定时关系。时钟产生相等的时间间隔,每个间隔构成一个总线周期。在一个总线周期中,发送方和接收方可以进行一次数据传送。因此采用统一的时钟,每个部件或设备发送或接收信息都在固定的总线传送周期中,一个总线的传送周期结束,下一个总线传送周期开始。优点:传送速度快,具有较高的传输速率;总线控制逻辑简单。缺点:朱从设备属于强制性同步;不能及时进行数据通信的有效性检验,可靠性较差。同步通信适用于总线长度较短及总线所接部件的存取时间比较近的系统。 异步定时方式在异步定时方式中,没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的『握手』信号来实现定时控制。通常,把交换信息的两个不见或设备分为主设备和从设备,主设备提出交换信息的『请求』信号,经接口传送到从设备;从设备接到主设备的请求后,通过接口向主设备发出『回答』信号。优点:总线周期长度不变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合。缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢。根据『请求』和『回答』信号的撤销是否有锁,异步定时方式分为:1) 不互锁方式:2) 半互锁方式:3) 全互锁方式:6.4 总线标准
总线标准是国际上公布或推荐的互连各个模块的标准,是把各种不同的模块组成计算机系统时必须遵守的规范。按总线标准设计的接口可视为通用接口,在接口的两端,任何一方只需根据总线标准的要求完成自身方面的功能要求,而无需了解对方接口的要求。
常见的总线标准典型的总线标准有ISA、EISA、VESA、PCI、PCI-Express、AGP、RS-232C、USB等。1) ISA总线(Industry Standard Architecture,工业标准体系结构总线)是最早出现的微型计算机的系统总线标准,应用在IBM的AT机上。2) EISA总线(Extended Industry Standard Architecture,扩展的ISA总线)是为配合32位CPU而设计的总线扩展标准,EISA对ISA完全兼容。3) VESA总线(Video Electronic Standard Action,视频电子标准协会总线)是一个32位标准的计算机局部总线,是针对多媒体PC要求告诉传送活动图像的大量数据而应运而生的。4) PCI总线(Peripheral Component Interconnect,外部设备互连总线)是高性能的32位或64位总线,是专为高度集成的外围部件、扩充插板和处理器/存储器系统而设计的互联机制。目前常用的PCI适配器有显卡、声卡、网卡等。PCI总线是即插即用的。PCI总线是一个与处理器时钟频率无关的告诉外围总线,属于局部总线。PCI总线可以通过桥连接实现多层的PCI总线。5) PCI-Express(PCI-E)是最新的总线和接口标准,这个标准将全面取代现行的PCI和AGP,最终实现总线标准的同一。6) AGP(Accelerated Graphic Port,加速图形接口)是一种视频接口标准,专用于连接主存和图形存储器,属于局部总线。AGP技术为传输视频和三维图形数据提供了切实可行的解决方案。7) RS-232C总线(Recommended Standard,RS)是由美国电子工业协会(EIA)推荐的一种串行通信总线标准,是应用于串行二进制交换的数据终端设备(DTE)和数据通信设备(DCE)之间的接口标准。8) USB总线(Universal Serial Bus,通用串行总线)是一种连接外部设备的I/O总线标准,属于设备总线。具有即插即用、热插拔等优点,有很强的连接能力。9) PCMCIA(Personal Computer Memory Card International Association)是广泛应用于笔记本电脑中的一种接口标准,是一个小型的用于扩展功能的插槽。PCMCIA具有即插即用的功能。10) IDE总线(Integrated Drive Electronic,集成设备电路),更准确地称为ATA,是一种IDE接口磁盘驱动器接口类型,硬盘和光驱通过IDE接口与主板连接。11) SCSI(Small Computer System Interface,小型计算机系统接口)是一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机等)系统级接口的独立处理器标准。SCSI是一种智能的通用接口标准。12) SATA(Serial Advanced Technology Attachment,串行高级技术附件)是一种基于行业标准的串行硬件驱动器接口,是由Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出的硬盘接口规范。