您好,欢迎访问三七文档
Ch8:SystemBus系统总线•总线基本概念•总线设计要素•总线标准•总线互连结构22019年12月19日星期四总线的分类°总线在各层次上提供部件之间的连接和交换信息通路°分为以下几类:•芯片内总线:在芯片内部各元件之间提供连接-例如,CPU芯片内部,各寄存器、ALU、指令部件等之间有总线相连•系统总线:在系统主要功能部件(CPU、MM和各种I/O控制器)间提供连接-单总线结构–将CPU、MM和各种I/O适配卡通过底板总线(BackplaneBus)互连,底板总线为标准总线(Industrystandard)-多总线结构–将CPU、Cache、MM和各种I/O适配卡用局部总线、处理器-主存总线、高速I/O总线、扩充I/O总线等互连。主要有两大类:Processor-MemoryBus(Designspecificorproprietary)»短而快,仅需与内存匹配,使CPU-MM之间达最大带宽I/OBus(Industrystandard)»长而慢,需适应多种设备,一侧连接到Processor-MemoryBus或BackplaneBus,另一侧连到I/O控制器(注:Intel公司在推出845、850等芯片组时,对“SystemBus”有专门的定义,将处理器总线称为前端总线(FrontBus)或系统总线)•通信总线:在主机和I/O设备之间或计算机系统之间提供连接-通常是电缆式总线,如SCSI、RS-232、USB、PS-2等SKIP本章主要介绍系统总线32019年12月19日星期四Intel体系结构中特指的“系统总线”BACK北桥芯片组把处理器–存储器总线分成了两个总线:处理器总线(系统总线,前端总线)存储器总线本章主要介绍的系统总线指系统总线上传输的信息有哪些?数据(指令、操作数、中断号)、地址、其他控制/状态/定时等信号!42019年12月19日星期四°系统总线通常由一组控制线、一组数据线和一组地址线构成。也有些总线没有单独的地址线,地址信息通过数据线来传送,这种情况称为数据/地址复用。•数据线(DataBus):承载在源和目部件之间传输的信息。数据线的宽度反映一次能传送的数据的位数。•地址线(AddressBus):给出源数据或目的数据所在的主存单元或I/O端口的地址。地址线的宽度反映最大的寻址空间。•控制线(ControlBus):控制对数据线和地址线的访问和使用。用来传输定时信号和命令信息。典型的控制信号包括:-时钟(Clock):用于总线同步。-复位(Reset):初始化所有设备。-总线请求(BusRequest):表明发出该请求信号的设备要使用总线。-总线允许(BusGrant):表明接收到该允许信号的设备可以使用总线。-中断请求(InterruptRequest):表明某个中断正在请求。-中断回答(InterruptAcknowledge):表明某个中断请求已被接受。-存储器读(memoryread):从指定的主存单元中读数据到数据总线上。-存储器写(memoryread):将数据总线上的数据写到指定的主存单元中。-I/O读(I/Oread):从指定的I/O端口中读数据到数据总线上。-I/O写(I/OWrite):将数据总线上的数据写到指定的I/O端口中。-传输确认(transmissionAcknowledge):表示数据已被接收或已送总线系统总线的组成52019年12月19日星期四总线设计要素°总线设计要考虑的基本要素尽管有许多不同的总线实现方式,但总线设计基本要素和考察的性能指标一样①信号线类型(Signallinetype):专用(Separate)/复用(Multiplexed)②仲裁方法(Arbitrating):集中式(Center)/分布式(distributed)③定时方式(Timing):同步通信(Synchronous)/异步通信(Asynchronous)④事务类型(BusTransaction):总线所支持的各种数据传输类型和其他总线操作类型,如:存储器读、存储器写、I/O读、I/O写、读指令、中断响应等⑤总线带宽(BusBandwidth):单位时间内在总线上传输的最大数据量(是一种传输能力)相当于公路的最大载客量。例如,沪宁高速每车道最多每5分钟发一辆车,每辆车最多50人,共有6个车道,最大流量为多少(?人/小时)?最大载客量:6道x12车/小时x50人/车=3600人/小时想象一下设计“公路”时该考虑哪些问题?但总线和公路不一样,总线上某一时刻只能在一对设备之间传输信息!62019年12月19日星期四信号线类型总线的信号线类型有:专用、复用•专用信号线:-信号线专用来传送某一种信息。例如,使用分立的数据线和地址线,使得数据信息专门由数据线传输,地址信息专门由地址线传输。•复用信号线:-信号线在不同的时间传输不同的信息。例如,许多总线采用数据/地址线分时复用方式,用一组数据线在总线事务的地址阶段传送地址信息,在数据阶段传送数据信息。这样就使得地址和数据通过同一组数据线进行传输。•信号分时复用的优缺点:-优:减少总线条数,缩小体积、降低成本。-缺:总线模块的电路变复杂,且不能并行。72019年12月19日星期四总线裁决(总线控制/使用/访问权的获得)°什么是总线裁决?当多个设备需要使用总线时,采用某种策略选择一个设备使用总线°为什么要进行总线裁决?总线被连接在其上的所有设备共享,如果没有任何控制,那么当多个设备需要进行通信时,每个设备都试图为各自的传输将信号送到总线上,这样就会产生混乱。所以必须进行总线裁决°如何避免上述混乱?•在总线中引入一个或多个总线主控设备,只能主控设备控制总线-主控设备:能发起总线请求并控制总线。(如:处理器)-从设备:只能响应从主控设备发来的总线命令。(如:主存)•利用总线裁决决定哪个总线主控设备将在下次得到总线使用权总线被多个设备共享,但每一时刻只能有一对设备使用总线传输信息。82019年12月19日星期四总线裁决(总线控制/使用/访问权的获得)①总线裁决信号:总线请求线和总线许可线总线请求线可以和数据线复用,但这样会影响带宽如:数据线和总线请求线复用时,总线裁决和数据传输不能同时进行②总线裁决有两种方式:集中式和分布式集中式:将控制逻辑做在一个专门的总线控制器或总线裁决器中,通过将所有的总线请求集中起来利用一个特定的裁决算法进行裁决菊花链(Daisychain)计数器定时查询(Querybyacounter)集中并行(Centralized,Parallel)分布式:没有专门的总线控制器,其控制逻辑分散在各个部件或设备中自举式(Self-selection)冲突检测(Collisiondetection)③裁决方案应在以下两个因素间进行平衡等级性(Priority)—具有高优先级的设备应该先被服务公平性(Fairness)—即使具有最低优先权的设备也不能永远得不到总线使用权SKIP92019年12月19日星期四菊花链总线裁决Disadvantages:①不能保证公正性②对电路故障敏感③菊花链的使用限制了总线速度Grant从最高优先权的设备依次向最低优先权的设备串行相连。如果到达的设备有总线请求,则Grant信号就不再往下传,该设备建立总线忙Busy信号,表示它已获得了总线使用权。BusArbiterDevice1HighestPriorityDeviceNLowestPriorityDevice2GrantGrantGrantBusyRequestAdvantage:①简单,只需几根线就能按一定优先次序实现总线裁决。②易扩充设备。BACK菊花链查询电路GrantRequest1Request2RequestnGrant1Grant2Grant3菊花链查询方式查询信号相当于“击鼓传花”102019年12月19日星期四计数器定时查询裁决°基本思想:比菊花链查询多一组设备线(DevID),少一根总线允许线BG。总线控制器接收到BR送来的总线请求信号后,在总线未被使用(Busy=0)的情况下,由计数器开始计数,并将计数值通过设备线向各设备发出。当某个有总线请求的设备号与计数值一致时,该设备便获得总线使用权,此时终止计数查询,同时该设备建立总线忙Busy信号。°优点:①灵活,设备的优先级可通过设置不同的计数初始值来改变。若每次初值皆为0,则固定;若每次初值总是刚获得总线使用权的设备,则是平等循环优先级方式。②对电路故障不如菊花链查询那样敏感。°缺点:①需要增加一组设备线②总线设备的控制逻辑变复杂(需对设备号进行译码比较等)BusArbiterDevice1DeviceNDevice2DevIDBusyBusRequestBACK相当于“点名报到”若有8个设备,则DevID需几位?112019年12月19日星期四独立请求方式裁决•各设备都有一对总线请求线Req和总线允许线Grant。•当某设备要使用总线时,就通过对应的总线请求线将请求信号送到总线控制器。•总线控制器中有一个判优电路,可根据各设备的优先级确定选择哪个设备。控制器可给各请求线以固定的优先级,也可编程设置ENP0P1P2G0G1G2并行判优电路p0、P1、p2优先级怎样?BusArbiterDevice1DeviceNDevice2GrantReq优点:①响应速度快。②若可编程,则优先级灵活缺点:①控制逻辑复杂,控制线数量多。p0P1p2若有N个设备,则菊花链和独立请求各需多少裁决线?2~2N并行判优方式裁决算法:总线控制器可采用固定的并行判优算法、平等的循环菊花链算法、动态优先级算法(如:最近最少用算法、先来先服务算法)等。BACK相当于“领导说了算”122019年12月19日星期四自举分布式裁决•优先级固定,各设备独立决定自己是否是最高优先级请求者•需请求总线的设备在各自对应的总线请求线上送出请求信号•在总线裁决期间每个设备将比自己优先级高的请求线上的信号取回分析:-若有总线请求信号,则本设备不能立即使用总线-若没有,则可以立即使用总线,并通过总线忙信号阻止其他设备使用总线-最低优先级设备可以不需要总线请求线,没有其他设备需要查看!-需要较多连线用于请求信号,许多总线用数据线DB作为总线请求线N个设备要多少请求信号?-NuBus(MacintoshII中的底板式总线)、SCSI总线等采用该方案上图中的优先级(优先级)是什么?设备3设备2设备1设备0BR0(Busy)Device0Device1Device3BR1BR2Device2BR3N条!BACK132019年12月19日星期四冲突检测方式裁决基本思想:某个设备要使用总线时,它首先检查一下是否有其他设备正在使用总线若没有,那它就置总线忙,然后使用总线;若两个设备同时检测到总线空闲,则可能会同时使用总线,此时发生冲突;一个设备在传输过程中,它会帧听总线以检测是否发生了冲突;冲突发生时,两个设备都会停止传输,延迟一个随机时间后再重新使用总线-该方案一般用在网络通信总线上,如:Ethernet总线等。BACK142019年12月19日星期四总线定时方式°什么是总线的定时通过总线裁决确定了哪个设备可以使用总线,那么一个取得了总线控制权的设备如何控制总线进行总线操作呢?也即如何来定义总线事务中的每一步何时开始、何时结束呢?这就是总线通信的定时问题。°总线通信的定时方式•Synchronous(同步):用时钟来同步定时•Asynchronous(异步):用握手信号定时•Semi-Synchronous(半同步):同步(时钟)和异步(握手信号)结合•Splittransaction(拆分事务):在从设备准备数据时,释放总线处理器-存储器总线都采用同步方式异步方式只有通信总线才会使用I/O总线大多采用半同步方式拆分事务方式可以提高总线的有效带宽SKIP152019年12月19日星期四同步总线(SynchronousBus)BReqBGCmd+AddrR/WAddressData1Data2Data简单的同步协议如下图:Advant
本文标题:第8章系统总线.
链接地址:https://www.777doc.com/doc-2112912 .html