上篇:第二章:计算机的发展及应用
计算机系统的五大部件之间的互连方式有两种,一种是各部件之间通过单独的连线,叫做分散连线
;另一种是将各部件连到一组公共信息的传输上,叫做总线连接
。早期的计算机大多数都使用分散连接方式,但是这种连接方式连线十分复杂,不仅会影响 CPU 的工作效率,而且无法解决主机和 I/O 设备之间连接的灵活性,所以之后计算机都采用总线连接方式。
总线
是连接多个部件的信息传输线,是各部件共享的传输介质。在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。
单总线结构框图:
该结构只有一组总线,当某一时刻各部件都要占用时,就会出现争夺现象,比如主存M.M 通过 I/O 接口进行数据传输的话,主存和 CPU 之间就无法利用这条总线进行数据传输,如果不采取特殊的技术措施的话,那么 CPU 执行程序的过程就会停止,则将严重的影响 CPU 的运行效率。
要解决单总线存在的争夺现象,可以引入多组总线,让数据尽可能的并行传输。
面向 CPU 的双总线结构框图:
其中一组总线连接 CPU 和主存,叫存储总线(M 总线),另一组用来建立 CPU 和各 I/O 之间的信息的通道,叫输入/输出总线(I/O 总线),各种 I/O 设备通过 I/O 接口挂到 I/O 总线上,这种结构在 I/O 设备与主存交换信息时仍然要占用 CPU,因此还会影响 CPU 的工作效率。
以存储器为中心的双总线结构框图:
它是在单总线基础上,又单独开辟一条 CPU 与主存之间的通路,叫存储总线。这组总线速度高,只供主存与 CPU 之间传输信息,这样既提高了传输效率,又减轻了系统总线的负担,还保留了 I/O 与存储器交换信息时不经过 CPU 的特点。
以下按照连接部件的不同介绍总线。
片内总线
是指芯片内部的总线,如在 CPU 芯片内部,寄存器与寄存器之间、寄存器与算逻单位 ALU 之间都有总线连接。
系统总线
是指 CPU、主存、I/O(通过 I/O 接口)各大部件之间的信息传输线。由于这些部件通常都制作在各个插件板上,故又叫作板级总线和板间总线。
按系统传输信息的不同,又可分为三类:数据总线
、地址总线
和控制总线
。
通信总线
用于计算机之间或计算机系统与其他系统之间的通信。由于这类联系涉及到许多方面,如外部连接、距离远近、速度快慢、工作方式等等,差别极大,因此通信总线的类别很多。但按传输方式可分为两种:串行通信总线
和并行通信总线
。
总线结构的物理实现:
总线是一组电导性,CPU、M.M、I/O 都是部件插板,它们通过插头与水平方向总线插槽连接。
总线的特性:
总线的性能指标包括:
总线的标准:
目前流行的总线标准有:ISA、EISA、VL-BUS、PCI 等等。
总线结构通常可分为单总线
和多总线
两种。
它是将 CPU、主存、I/O 设备都挂在一组总线上,允许 I/O 之间或 I/O 与主存之间直接交换信息。这种结构简单,也便于扩充,但所有的传送都通过这组共享总线,因此极易形成计算机系统的瓶颈。它也不允许两个以上的部件在同一时刻向总线传输信息,这就必然会影响系统工作效率的提高。
双总线结构:
双总线结构的特点是将速度较低的 I/O 设备从单总线上分离出来,形成主存总线与 I/O 总线分开的结构。通道是一个具有特殊功能的处理器,CPU 将一部分功能下放给通道,使其对 I/O 设备具有统一管理的功能,以完成外部设备与主存之间的数据传送。
三总线结构:
主存总线用于 CPU 与主存之间的传输;I/O 总线供 CPU 与各类 I/O 之间的传递信息;DMA 总线用于高速外设(磁盘、磁带等)与主存之间直接交换信息。在三总线结构中,任一时刻只能使用一种总线,主存总线与 DMA 总线不能同时对主存进行存取,I/O 总线只有在 CPU 执行 I/O 指令时才用到。
另一种三总线结构:
处理器与高速缓冲存储器 Cache 之间有一条局部总线,它将 CPU 与 Cache 或与更多的局部设备连接,Cahce 和主存都连接到系统总线上,而且 I/O 与主存之间的传输也不必通过 CPU,还有一条扩展总线将局域网、小型计算机接口、调制解调器以及串行接口等都连接起来。扩展总线由通过扩展总线接口与系统总线相连,由此实现这两种总线之间的信息传递。
四总线结构:
四总线结构的出现是为了进一步提高 I/O 性能,增加一条与计算机系统紧密相连的高速总线,在高速总线上挂接一些高速性能的外设,而一些低速的设备仍然挂在扩展总线上,将高速设备与低速设备进行分类组织,并由扩展总线接口与高速总线相连,使数据传输效率更高。
总线上连接了多个设备,设备之间要进行通信,就必须解决总线判优控制和总线通信控制连个问题:
总线上所连接的各类设备,按其对总线有无控制功能可分为主设备和从设备两种。
总线判优控制可分为集中式和分布式两种,集中式又分为链式查询、计数器定时查询和独立请求方式三种。
链式查询:
图中控制总线中有三根线用于总线控制(BS总线忙、BR总线请求、BG总线同意),其中总线同意信号 BG
是串行地从一个 IO
接口送到下一个 IO
接口。如果 BG
到达的接口有总线请求,BG
信号就不再往下传,意味着该接口获得了总线使用权,并建立总线忙 BS
信号,表示它占用了总线。可见在查询链中,离总线控制部件最近的设备具有最高的优先级。这种方式的特点是:只需银少几根线就能按一定优先次序实现总线控制,并且很容易扩充设备,但对电路故障很敏感。
计数器定时查询:
与链式查询相比,多了一组设备地址线
,少了一根总线同意线BG
。总线控制部件接到由 BR
送来的总线请求信号后,在总线未被使用(BS-0)
的情况下,由计数器开始计数,向各设备发出一组地址信号。当某个有总线请求的设备地址与计数值一致时,便获得总线使用权,此时终止计数查询。这种方式的特点是:计数可以从“0”
开始,此时设备的优先次序是固定的;计数也可以从终止点开始,即是一种循环方法,此时设备使用总线的优先级相等;计数器的初始值还可由程序设置,故优先次序可以改变。此外,对电路故障不如链式查询方式敏感,但增加了主控制线(设备地址)数,控制也较复杂。
独立请求方式:
每一设备均有一对总线请求线 BRi 和总线同意线 BGi 。当设备要求使用总线时,便发出该设备的请求信号。总线控制部件中有一排队电路,可根据优先次序确定响应哪一设备的请求。这种方式的特点是:响应速度快,优先次序控制灵活(通过程序改变),但控制线数量多,总线控制更复杂。链式查询中仅用两根线确定总线使用权属于哪个设备,在计数查询中大致用 log2n 根线,其中 n 是允许接纳的最大设备数,而独立请求方式需采用 2n 根线。
总线通信控制的目的
是为解决通信双方协调配合问题。
总线在完成一次传输周期时,可分为四个阶段:
总线通信的四种方式:
统一时标
控制数据传送应答方式
,没有公共时钟标准挖掘
系统总线每个瞬间
的潜力(1)同步通信
总线传输周期是总线上两个部件完成一次完整而可靠的传输时间,它包括 4 个时钟周期 T1、T2、T3、T4。
对于读命令,其传输周期为:
这种通信的优点
是规定明确、统一。模块间的配合简单一致。其缺点
是主从模块时间配合属性强制性 “同步” ,必须在限定时间内完成规定的要求。并且对所有从模块都用同一限时,这就势必造成对各不相同速度的部件而言,必须按最慢速度部件
来设计公共时钟,严重影响总线的工作效率,也给设计带来了局限性,缺乏灵活性。
(2)异步通信
异步通信克服了同步通信的缺点,允许各模块速度的不一致性,没有公共的时钟标准,不要求所有部件严格的统一动作时间,而是采用应答方式
(又称握手方式),即当主模块发出请求信号时,一直等待从模块反馈回来 “响应” 信息后,才开始通信。
异步通信方式可分为不互锁
、半互锁
和全互锁
三种类型。
不互锁方式:
主模块发出请求信息后,不等待接到从模块的回答信号,而是经过一段时间,确认从模块已收到请求信息后,便撤消其请求信号;从设备接到请求信号后,在条件允许时发出回答信号,并且经过一段时间,确认设备已收到回答信号后,自动撤消回答信号。
半互锁方式:
主模块发出请求信号,待接到从模块的回答信号后再撤消其请求信号,存在着简单的互锁关系;而从模块发出回答信号后,不等待主模块回答,在一段时间后便撤消其回答信号,无互锁关系。故称半互锁方式。
全互锁方式:
主模块发出请求信号,待从模块回答后再撤消其请求信号;从模块发出回答信号,待主模块获知后,再撤消其回答信号。故称全互锁方式。
(3)半同步方式
半同步集同步和异步的优点,既保留了同步通信的基本特点,如发送方
用系统时钟前沿
发信号,而接收方
用系统时钟后沿
判断、识别。同时又像异步通信那样,允许不同速度的模块和谐工作。为此增设了一条 “等待”(WAIT)响应信号线
。
以读命令为例,半同步通信时序可为:
半同步通信控制方式的优点
是比异步通信简单,在全系统内各模块又在统一的系统时钟控制下同步工作,可靠性较高,同步结构较方便。其缺点
是对系统时钟频率不能要求太高,故从整体上来看,系统工作的速度还是不太高。
(4)分离式通信
以上三种通信方式都是从主模块发出地址和读写命令开始,直到数据传输结束,在一个总线传输周期中(以输入数据为例),它们的共同点如下:
不占用总线,总线空闲
由此可见,对系统总线而言,从模块内部读出过程并无实质性的信息传输,纯属空闲等待。为了克服和利用这种消极等待,充分挖掘系统总线每瞬间的潜力
,为此人们提出了 “分离式
” 的通信方式。
分离式通信的基本思想是将一个传输周期(或总线周期)分解为两个子周期。
主模块
申请占用总线
,使用完后,即放弃总线
的使用权从模块
申请占用总线
(这个时候从模块实际变成了主模块),将各种信息送至总线上分离式通信的特点:
上篇:第二章:计算机的发展及应用