3.1 总线的基本概念
计算机系统的五大部件之间的互连方式有两种,一种是各部件之间使用单独的连线,称为分散连接。另一种是将各部件连到一组公共信息传输线上,称为总线连接。(bus)。
早期计算机连接的弊端:
早期的计算机大多数用分散连接方式。它是以运算器为中心的结构,其内部连线十分复杂,尤其是当I/O与存储器交换信息时,都需经过运算器,致使运算器停止运算,严重影响了CPU的工作效率。后来,虽然改进为以存储器为中心的的分散连接结构,I/O与主存交换信息可以不经过运算器,又采用了中断、DMA等技术,使CPU工作效率得到很大的提高,但是仍无法解决I/O设备与主机之间连接的灵活性。随着计算机应用领域的不断扩大。I/O设备的种类和数量也越来越多,人们希望随时增添或减撤设备,用分散连接方式简直是一筹莫展,由此出现了总线连接方式。
总线是连接多 个部件的信息传输线,是各部件共享的传输介质。当多个部件与总线相连时,如果出现两个或两个以上部件同时间总线发送信息,势必导致信号冲突,传输无效,因此,在某一个时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。
总线实际上是由许多传输线或通路组成,每条线可一位一位地传输二进制代码,一串二进制代码可在一段时间内逐一传输完成。 若干条传输线可以同时传输若干位二进制代码。
咱们看看采用总线连接的计算机结构:
其中一组总线连接CPU和主存、称为存储总线(M总线);另一组用来建立CPU和各I/O设各之间交换信息的通道,称为输人/输出总线(I/O总线)。各种I/O设备通过I/O接口挂到I/O总线上,便于增删设备。这种结构在I/O设备与主存交换信息时仍然要占用CPU,因此还会影响CPU的工作效率
如果我们把CPU,主存, I/O都连接到一条总线上呢。看下图
最明显的特点就是当I/O设备与主存交换信息时,原则上不影响CPU的工作,CPU仍可继续处理不访同主存或I/O设备的操作,这就使CPU工作效率有所提高。但是,因只有一条总线,当某一时刻各件都要占用总线时,就会发生冲突。为此,必须设置总线判断优先的逻辑功能,让各部件按照优先级的高低来占用总线,这会影响整机的工作速度。
还有一种以储存器为中心的双总线结构:
它是在单总线基础上又开辟出的一条CPU与主存之间的总线,称为存储总线。这组总线速度高,只供主存与CPU之间传输信息。这样既提高了传输效率,又减轻了系统总线的负担,还保留了I/O设备与存储器交换信息时不经过CPU的特点。
3.2总线的分类
总线按照不同的角度去分类,可以分为各种种类。比如按照传送方式可以分为并行传输还有串行传输。 在并形传输总线中,又可以按照传输数据的宽度分为8位,16位,32位…
咱们接下来介绍是按照连接部件介绍的:
片内总线:
片内总线是指芯片内部的总线,如在CPU内部,寄存器与寄存器之间的,寄存器与逻辑单元ALU都由片内总线连接。
系统总线:
系统总线是指CPU,主存,I/O设备,各大部件之间的信息传输路线。由于这些部件通常都安放在主板或者各个插件板(插卡)上,故又称为板级总线或板间总线。
按照系统总线传输信息的不同,又可以分为三大类:
1.数据总线: 数据总线用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长、存储字长有关,一般为8位、16位或32位。数据总线的位数小于等于机器字长,或者说储存字长。比如一个64位计算机其数据宽度设置8位,那么我需要传输八次。数据总线的位数称为数据总线宽度,它是衡量系统性能的一个重要参数。如果数据总线的宽度为8位,指令字长为16位,那么,CPU在取指阶段必须两次访问主存。
2.地址总线:地址总线主要用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址。
例如,欲从存储器读出一个数据,则CPU要将此数据所在存储单元的地址送到地址线上。又如,欲将某数据经I/O设备输出,则CPU除了需将数据送到数据总线外,还需将该输出设备的地址(通常都经I/O接口)送到地址总线上。可见,地址总线上的代码是用来指明CPU欲访问的存储单元或I/0端口的地址,由CPU输出,单向传输。地址线的位数与存储单元的个数有关,如地址线又20根,则对应的存储单元个数为2^20。
3.控制总线:由于数据总线,地址总线都是被挂在总线上的所有部件共享的,如何使各部件能在不同时刻占有总线使用权,需要依靠控制总线来完成,因此控制总线是用来发出各种控制信号的传输线。
通常对任一控制线而言,它的传输是单向的。例如,存储器读/写命令 或 I/O设备读/写命令都是由CPU 发出的。但对于控制总线总体来说,又可认为是双向的。例如,当某设备准备就绪时,便向CPU发中断请求;当某部件(如DMA接口)需获得总线使用权时,也向CPU发出总线请求。此外,控制总线还起到监视各部件状态的作用。例如,查询该设备是处于“忙”还是“闲”,是否出错等。因此对CPU而言,控制信号既有输出,又有输人。
常见的控制信号如下。
●时钟:用来同步各种操作。
●复位:初始化所有部件。
●总线请求:表示某部件需获得总线使用权。
●总线允许:表示需要获得总线使用权的部件已获得了控制权。
●中断请求:表示某部件提出中断请求。
●中断响应:表示中断请求已被接收。
●存储器写:将数据总线上的数据写至存储器的指定地址单元内。
●存储器读:将指定存储单元中的数据读到数据总线上。
●I/O读:从指定的I/O端口将数据读到数据总线上。
●I/O写:将数据总线上的数据输出到指定的I/O端口内。
●传输响应:表示数据已被接收,或已将数据送至数据总线上。
通信总线:
这类总线用于计算机系统之间或计算机系统与其他系统(如控制仪表、移动通信等)之间的通信。
由于这类联系涉及许多方面,如外部连接、距离远近、速度快慢、工作方式等,差别极大,因此通信总线的类别很多。但按传输方式可分为两种:串行通信和并行通信。
串行通信是指数据在单条1位宽的传输线上,一位一位地按顺序分时传送。如1字节的数据,在串行传送中,1字节的数据要通过一条传输线分8次由低位到高位按顺序逐位传送。
并行通信是指数据在多条并行1位宽的传输线上,同时由源传送到目的地。如1字节的数据,在并行传送中,要通过8条并行传输线同时由源传送到目的地。
并行通信适宜于近距离的数据传输,通常小于30 m;串行通信适宜于远距离传送,可以从几米达数千公里。
3.3 总线特性以及性能指标
3.3.1 总线特性
一:总线的物理实现
咱们所学的各大元器件将他们联系在一起的物理实现:把这些插板通过插头与水平方向的总线插槽连接。
二,总线特性
1.为了保证机械上的可靠连接,必须规定其机械特性:机械特性是指总线在机械连接的方式上的一些特性,如他们的几何尺寸,形状,引脚以及排列的顺序…
2.为了保证电气上的正确连接,必须规定电气特性:电气特性是指总线的每一根传输线上信号传输方向和有效的电平范围。
为了保证正确连接不同的部件:还要保证
3.功能特性:每根线传输线的功能:地址/数据/控制
4.时间特性:总线中任一根线在什么时间有效。各种信号存在一定时序关系,因此时间特性一般可用于信号是时序图来描述。
3.3.2总线的性能指标
总线宽度:通常是指数据总线的根数,用bi(位)表示,如8位、16位、32位、4位(即8
根、16根、32、64根)。
②总线带宽:总线带宽可理解为总线的数据传输速率,就是单位时间内总线上传输数据的位
数,通常用每秒传输信息的字节数来衡量,单位可用MBps(兆字节每秒)表示。例如,总线工作
率为33MHz,总线宽度为32位(4B),总线带宽为33x(32/8)=132MBps
③时钟同步/异步:总线上的数据与时钟同步工作的总线称为同步总线,与时钟不同步工作
的总线称为异步总线。
④总线复用:==一条信号线上分时传送两种信号。==例如,通常地址总线与数据总线在物理上
是分开的两种总线,地址总线传输地址码,数据总线传输数据信息。为了提高总线的利用率,优
化设计,特将地址总线和数据总线共用一组物理线路,在这组物理线路上分时传输地址信号和数
据信号,即为总线的多路复用。
⑤信号线数:地址总线、数据总线和控制总线三种总线数的总和。
⑥总线控制方式:包括突发工作、自动配置,仲裁方式、逻辑方式、计数方式等。
⑦其他指标:如负载能力、电源电压(是采用5V还是3.3V)、总线宽度能否扩展。
总线的负载能力即驱动能力,是持当总线接上负载后,总线输入输出的逻辑电平是否能保持
在正常的额定范围内。例如,PC总线的输出信号为低电平时,要吸入电流,这时的负载能力即指
当它吸入电流时,仍能保持额定的逻辑低电平。总线输出为高电平时,要输出电流,这时的负载
能力是指当它向负载输出电流时,仍能保持额定的逻辑高电平。由于不同的电路对总线的负载
是不同的,即使同一电路板在不同的工作频率下,总线的负载也是不同的,因此,总线负载能力指标
不是太严格的。通常用可连接扩增电路板数来反映总线的负载能力。
表3,1列出了几种流行的微机总线性能,可供参考
3.3.3 总线标准
所谓总线标准,可视为系统与各模块、模块与模块之间的一个互连的标准界面:这个界面对它两端的模块都是透明的,即界面的任一方只需根据总线标准的要求完成自身一方接口的功能要求,而无须了解对方接口与总线的连接要求。因此,按总线标准设计的接口可视为通用接口。这样为计算机接口的软硬件设计提供了方便。
1.ISA
2.EISA
3.VESA(VL-BUS)
4.PCI
5.AGP
6.RS-232C
7.USB
3.4 总线结构
总线结构分为单总线结构和多总线结构
3.4.1 单总线结构
图3.2是单总线结构的示意图,它是将CPU、主存、I/O设备(通过I/O接口)都挂在一组总线上,允诈I/O设备之间、I/O设备与CPU之间或I/O设备与主存之间直接交换信息。这种结构简单,也便于扩充,但所有的传送都通过这组共享总线,因此极易形成计算机系统的瓶颈。它也不允许两个以上的部件在同一时刻向总线传输信息,这就必然会影响系统工作效率的提高。这类总线多数被小型计算机或微型计算机所采用。
随着计算机应用范围不断扩大,其外部设备的种类和数量越来越多,它们对数据传输数量和传输速度的要求也就越来越高。倘若仍然采用单总线结构,那么,当I/O设备量很大时,总线发出的控制信号从一端逐个顺序地传递到第n个设备,其传播的廷迟时问就会严重地影响系统的工作效率。在数据传输求量和传输速度要求不太高的情况下,为克服总线瓶颈问题;尽可能采用增加总线宽度和提高传输速率来解决;但当总线上的设备,如高速视频显示器、网络传输接口等,其数量很大和传输速度要求相当高的时候,单总线结构则不能满足系统工作的要求。因此,为了根本解决数据传输速率,解决CPU、主存与I/O设备之间传输速率的不匹配,实现CPU与其他设备相对同步,不得不采用多总线结构。