第6章总线系统1第6章总线系统6.1总线的概念和结构形态6.2总线接口6.3总线的仲裁6.4定时和数传模式6.5Host总线和PCI总线第6章总线系统26.1总线的概念和结构形态6.1.1总线的基本概念6.1.2总线的连接方式6.1.3总线的内部结构第6章总线系统36.1.1总线的基本概念数字计算机是由CPU、主存和I/O构成的。这些系统功能部件在一起工作才能形成一个完整的计算机系统。计算机的若干功能部件之间不可能采用全互联形式,因此就需要有公共的信息通道,即总线。第6章总线系统4总线定义(BUS)总线是构成计算机系统的互联机构,是多个系统功能部件之间进行数据传送的公共通路。从物理上讲是一束导线。借助于总线连接,计算机在各系统功能部件之间实现地址、数据和控制信息的交换,并在争用资源的基础上进行工作。第6章总线系统5系统总线:CPU和计算机系统中其他高速功能部件相互连接的总线。I/O总线:CPU和中低速I/O设备相互连接的总线。总线分类:内部总线:CPU内部连接各寄存器和运算器之间的总线。第6章总线系统61、总线特性:物理特性:总线的物理连接方式(根数、插头、插座形状、引脚排列方式等)。功能特性:每根线的功能。电气特性:每根线上信号的传递方向及有效电平范围。时间特性:规定了每根总线在什么时间有效。第6章总线系统72、总线标准化:•相同的指令系统,相同的功能,不同厂家生产的各功能部件在实现方法上几乎没有相同的,但各厂家生产的相同功能部件却可以互换使用,其原因何在呢?•为了使不同厂家生产的相同功能部件可以互换使用,就需要进行系统总线的标准化工作。目前,已经出现了很多总线标准,如ISA总线、EISA总线、PCI总线等。第6章总线系统83、总线带宽:总线带宽定义为总线本身所能达到的最高传输速率,它是衡量总线性能的重要指标。【例1】(1)某总线在一个总线周期中并行传送4个字节的数据,假设一个总线周期等于一个总线时钟周期,总线时钟频率为33MHz,则总线带宽是多少?(2)如果一个总线周期中并行传送64位数据,总线时钟频率升为66MHz,则总线带宽是多少?第6章总线系统9•【解】(1)设总线带宽用Dr表示,总线时钟周期用T=1/f表示,一个总线周期传送的数据量用D表示,根据定义可得:Dr=D/T=D×1/T=D×f=4B×33×1000000/s=132MB/s(2)64位=8B,根据定义可得:Dr=D×f=8B×66×1000000/s=528MB/s第6章总线系统106.1.2总线的连接方式如何让种类繁多、速度各异的外围设备连接到计算机上呢?这项任务用适配器部件来完成。适配器:实现高速CPU与低速外设之间工作速度上的匹配和同步,并完成计算机和外设之间的所有数据传送和控制。适配器通常称为接口。第6章总线系统11单机系统中总线结构的两种基本类型:单总线多总线。第6章总线系统121、单总线:使用一条单一的系统总线来连接CPU、内存和I/O设备。第6章总线系统13第6章总线系统14在单总线结构中,要求连接到总线上的逻辑部件必须高速运行,以便在某些设备需要使用总线时,能迅速获得总线控制权。而当不再使用总线时,能迅速放弃总线控制权。否则,由于一条总线由多种功能部件共用?第6章总线系统152、多总线:在CPU、主存、I/O之间互联采用多条总线。如图所示。多总线结构体现了高速、中速、低速设备连接到不同的总线上同时进行工作,以提高总线的效率和吞吐量,而且处理器结构的变化不影响高速总线。第6章总线系统16第6章总线系统17三总线CPU和cache之间采用高速的CPU总线。主存连在系统总线上。高速总线上可以连接高速LAN(100Mb/s局域网)、视频接口、图形接口、SCSI接口(支持本地磁盘驱动器和其他外设)、Firewire接口(支持大容量I/O设备)。第6章总线系统18•高速总线通过扩充总线接口与扩充总线相连,扩充总线上可以连接串行方式工作的I/O设备。•通过桥,CPU总线、系统总线和高速总线彼此相连。桥实质上是一种具有缓冲、转换、控制功能的逻辑电路。第6章总线系统196.1.3总线的内部结构早期总线的内部结构如图所示,它实际上是处理器芯片引脚的延伸,是处理器与I/O设备适配器的通道。这种简单的总线一般也由50~100条线组成,这些线按其功能可分为三类:地址线、数据线和控制线。第6章总线系统20第6章总线系统21早期总线结构的不足之处在于:•CPU是总线上惟一的主控者。即使后来增加了具有简单仲裁逻辑的DMA控制器以支持DMA传送,但仍不能满足多CPU环境的要求。•总线信号是CPU引脚信号的延伸,故总线结构紧密与CPU相关,通用性较差。第6章总线系统22第6章总线系统236.1.4总线结构实例•大多数计算机采用了分层次的多总线结构。•Pentium机的总线结构分为三层:CPU总线、PCI总线和ISA总线。第6章总线系统24第6章总线系统25第6章总线系统266.2总线接口6.2.1信息传送方式6.2.2总线接口的基本概念第6章总线系统276.2.1信息传送方式计算机系统中,传输信息基本有三种方式:•串行传送•并行传送•分时传送第6章总线系统28第6章总线系统29串行传送:使用一条传输线,采用脉冲传送。主要优点是只需要一条传输线,这一点对长距离传输显得特别重要,不管传送的数据量有多少,只需要一条传输线,成本比较低廉。缺点就是速度慢。第6章总线系统30并行传送:每一数据位需要一条传输线,一般采用电位传送。总线复用或是共享总线的部件分时使用总线。出于速度和效率上的考虑,系统总线上传送的信息必须采用并行传送方式。分时传送:第6章总线系统316.2.2总线接口的基本概念•接口(interface):两个系统之间的公共界面,它是计算机和I/O设备或其它系统之间所设置的逻辑控制部件。•对外连接的口岸。•I/O接口,也叫适配器,是CPU和主存、外设之间通过系统总线进行连接的逻辑部件。第6章总线系统32第6章总线系统33为了使所有的外围设备能够兼容,并能在一起正确地工作,CPU规定了不同的信息传送控制方法。一个标准接口可能连接一个设备,也可能连接多个设备。事实上,一个适配器的两个接口:一个同系统总线相连,采用并行方式,另外一个同设备相连,可能采用并行方式或是串行方式。第6章总线系统34第6章总线系统35接口的典型功能:控制(Control):接口靠程序的指令信息来控制外围设备的动作,如启动、关闭设备等。状态(Status):接口监视外围设备的工作状态并保存状态信息。状态信息包括数据“准备就绪”、“忙”、“错误”等等,供CPU询问外围设备时进行分析之用。缓冲(Buffer):接口在外围设备和计算机系统其他部件之间用作为一个缓冲器,以补偿各种设备在速度上的差异。第6章总线系统36转换(Convert):接口可以完成任何要求的数据转换,例如并-串转换或串-并转换,因此数据能在外围设备和CPU之间正确地进行传送。整理:接口可以完成一些特别的功能,例如在需要时可以修改字计数器或当前内存地址寄存器。程序中断:每当外围设备向CPU请求某种动作时,接口即发生一个中断请求信号到CPU。第6章总线系统37•【例2】利用串行方式传送字符,每秒钟传送的比特(bit)位数常称为波特率。假设数据传送速率是120个字符/秒,每一个字符格式规定包含10个bit(起始位、停止位、8个数据位),问传送的波特率是多少?每个bit占用的时间是多少?【解】:•波特率为:10位×120/秒=1200波特•每个bit占用的时间Td是波特率的倒数:•Td=1/1200=0.833×0.001s=0.833ms第6章总线系统386.3总线的仲裁6.3.1集中式仲裁6.3.2分布式仲裁第6章总线系统39导入•连接到总线上的功能模块有主动和被动两种形态,其中主方可以启动一个总线周期,而从方只能响应主方请求。每次总线操作,只能有一个主方,但是可以有多个从方。•为了解决多个功能模块争用总线的问题,必须设置总线仲裁部件。•总线占用期:主方持续控制总线的时间。按照总线仲裁电路的位置不同,仲裁方式分为集中式和分布式两种。第6章总线系统406.3.1集中式仲裁总线授权信号BG串行地从一个I/O接口传送到下一个I/O接口。假如BG到达的接口无总线请求,则继续往下查询;假如BG到达的接口有总线请求,BG信号便不再往下查询,该I/O接口获得了总线控制权。离中央仲裁器最近的设备具有最高优先级,通过接口的优先级排队电路来实现。1、链式查询方式:第6章总线系统41第6章总线系统42优点:只用很少几根线就能按一定优先次序实现总线控制,并且这种链式结构很容易扩充设备。缺点:是对询问链的电路故障很敏感,优先级固定。第6章总线系统432、计数器定时查询方式:总线上的任一设备要求使用总线时,通过BR线发出总线请求。中央仲裁器接到请求信号以后,在BS线为“0”的情况下让计数器开始计数,计数值通过一组地址线发向各设备。每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备地址相一致时,该设备置“1”BS线,获得了总线使用权,此时中止计数查询。第6章总线系统44第6章总线系统45•每次计数可以从“0”开始,也可以从中止点开发始。如果从“0”开始,各设备的优先次序与链式查询法相同,优先级的顺序是固定的。如果从中止点开始,则每个设备使用总线的优级相等。•计数器的初值也可用程序来设置,这可以方便地改变优先次序,但这种灵活性是以增加线数为代价的。可方便的改变优先级。第6章总线系统463、独立请求方式:每一个共享总线的设备均有一对总线请求线BRi和总线授权线BGi。当设备要求使用总线时,便发出该设备的请求信号。总线仲裁器中有一个排队电路,它根据一定的优先次序决定首先响应哪个设备的请求,给设备以授权信号BGi。第6章总线系统47第6章总线系统48独立请求方式的优点是响应时间快,即确定优先响应的设备所花费的时间少,用不着一个设备接一个设备地查询。其次,对优先次序的控制相当灵活。它可以预先固定,例如BR0优先级最高,BR1次之…BRn最低;也可以通过程序来改变优先次序;还可以用屏蔽(禁止)某个请求的办法,不响应来自无效设备的请求。因此当代总线标准普遍采用独立请求方式。第6章总线系统496.3.2分布式仲裁不需要中央仲裁器,每个潜在的主方模块都有自己的仲裁号和仲裁器,多个仲裁器竞争使用总线。当它们有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的号进行比较。如果仲裁总线上的号大,则它的总线请求不予响应,并撤消它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上。显然,分布式仲裁是以优先级仲裁策略为基础。第6章总线系统50第6章总线系统516.4定时和数传模式6.4.1.总线的定时6.4.2总线数据传送模式第6章总线系统526.4.1.总线的定时总线的一次信息传送过程,大致可分为如下五个阶段:请求总线、总线仲裁、寻址、信息传送、状态返回。定时:事件出现在总线上的时序关系。第6章总线系统531、同步定时•在同步定时协议中,事件出现在总线上的时刻由总线时钟信号来确定。由于采用了公共时钟,每个功能模块什么时候发送或接收信息都由统一时钟规定,因此,同步定时具有较高的传输频率。•同步定时适用于总线长度较短、各功能模块存取时间比较接近的情况。第6章总线系统54第6章总线系统552、异步定时在异步定时协议中,后一事件出现在总线上的时刻取决于前一事件的出现,即建立在应答式或互锁机制基础上。在这种系统中,不需要统一的共公时钟信号。总线周期的长度是可变的。第6章总线系统56第6章总线系统57第6章总线系统586.4.2总线数据传送模式当代的总线标准大都能支持以下四类模式的数据传送:(1)读、写操作:(2)块传送操作:(3)写后读、读修改写操作:(4)广播、广集操作:第6章总线系统59(1)读、写操作:读操作是由从方到主方的数据传送;写操作是由主方到从方的数据传送。一般,主方先以一个总线周期发出命令和从方地址,经过一定的延时再开始数据