Day 4 系统总线(2)
1.4 总线结构
总线结构可以分为单总线结构和多总线结构两种
1.4.1 单总线结构
单总线结构将CPU、主存、I/O设备都挂在一组总线上,并允许I/O设备之间、I/O设备与CPU之间或I/O设备与主存之间直接交换信息。
这种结构简单,也便于扩充,但所有的传送都通过这组共享总线,极易形成计算机系统的瓶颈。
1.4.2 多总线结构
双总线结构的特点是将速度较低的I/O设备从单总线上分离出来,形成主存总线与I/O总线分开的结构。这种结构大多用于大、中型计算机系统。
如果将速率不同的I/O设备分类,然后接在不同的通道上,那么计算机系统的工作效率会更高,由此发展成多总线结构。
1.5 总线控制
1.5.1 总线判优控制
总线上的设备,可以分为主设备和从设备两种。主设备对总线有控制权,从设备只能响应从主设备发来的总线命令。总线判优控制分为集中式和分布式两种,前者将控制逻辑集中在一处,而后者则将其分散在各个部件或设备上。
常见的集中控制优先权仲裁方式有以下三种:
(1)链式查询
图中控制总线中有3根线用于总线控制,其中总线同意信号BG是串行地从一个I/O接口送到另一个接口。如果BG到达的接口有请求,就不再往下传,该接口获得总线使用权,并建立总线忙BS信号。可见,在该种查询方式中,离总线控制部件最近的设备具有最高的优先级。
特点:需要的线很少,并很容易扩充设备,结构简单,但对电路故障敏感,并且优先级低的设备可能很难获得请求。
(2)计数器定时查询
该查询方式相比链式查询多了一根设备地址线,少了一根总线同意线BG。总线控制部件接到BR送来的总线请求信号后,若总线未被使用,计数器开始计数,并通过设备地址线,向各设备发出一组地址信号。当某个请求占用总线的设备地址与计数值一致时,便获得总线使用权,停止计数查询。
特点:若计数从“0”开始,设备使用总线的优先级相等。更改计数器的初始值,还可以改变优先次序(优先级确定灵活)。对电路故障不如链式查询敏感,但增加了设备地址线,控制较复杂。
(3)独立请求方式
该查询方式中每一台设备均有一对总线请求线BR和总线同意线BG。总线控制部件中有一个排队电路,可以根据优先次序决定响应哪一台设备的请求。
特点:响应速度快,优先次序控制灵活,但控制线数量多,总线控制更复杂。
1.5.2 总线通信控制
目的:解决通信双方协调配合问题
通常将完成一次总线操作的时间称为总线周期,可分为以下4个阶段:
①申请分配阶段:由主模块(主设备)提出申请,经总线仲裁机构决定下一传输周期的总线使用权。
②寻址阶段:取得了使用权的主模块通过总线发出本次要访问的从模块(从设备)的地址及有关命令,启动参与本次运输的从模块。
③传数阶段:主模块和从模块进行数据交换。
④结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。
总线通信控制通常有四种方式:同步通信、异步通信、半同步通信和分离式通信。
1.同步通信
通信双方由统一时标控制数据传送称为同步通信。时标通常由CPU的总线控制部件发出,送到总线上的所有部件;也可以由每个部件各自的时序发生器发出,但必须由总线控制部分发出的信号时钟对它们同步。
图中一共有4个时钟周期T1,T2,T3,T4。CPU在T1上升沿发出地址信息;在T2的上升沿发出读命令;与地址信息相符合的输入设备按命令进行一系列内部操作,且必须在T3的上升沿到来之前将CPU所需的数据送到数据总线上;在T3时钟周期内,CPU将数据线上的信息送到其内部寄存器中;CPU在T4的上升沿撤销读命令,输入设备不再传输数据,撤销它对数据总线的驱动。
特点:优点是规定明确、统一、模块间的配合简单一致。缺点是主、从模块时间配合强制性“同步”,这就必须按最慢速度的部件来设计公共时钟,严重影响总线的工作效率,也给设计带来了局限性。
同步通信一般用于总线长度较短、各部件存取时间比较一致的场合。
2.异步通信
异步通信不要求所有部件严格的统一操作时间,而是采用应答方式。应答方式又可分为3种:不互锁,半互锁和全互锁。
(1)不互锁方式
主模块发出请求信号后,不必等待接到从模块的回答信号,而是经过一段时间,确认从模块已收到请求后,就撤销请求信号;从模块接到请求信号后,在条件允许时发出回答信号,并在一端时间后,自动撤销回答信号。
(2)半互锁方式
主模块发出请求信号后,必须等待接到从模块的回答信号后再撤销其请求信号(即互锁关系);从模块接到请求信号后发出回答信号,但不必等待获知主模块的请求信号再撤销,而是自动撤销回答信号(即无互锁关系)。
(3)全互锁方式
主模块发出请求信号,必须等待接到从模块的回答信号后再撤销其请求信号(即互锁关系);从模块必须获知主模块请求信号已经撤销后,再撤销其回答信号,双方都存在互锁关系。
3.半同步通信
半同步通信是同步、异步结合的一种通信方式,如:所有的地址、命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟后沿时刻来进行判断识别;同时又能允许不同速度的模块和谐地工作。为此增设了一条“等待”(WAIT)响应信号线。
4.分离式通信
分离式通信方式的基本思想是将一个传输周期(或总线周期)分解为两个子周期。在第一个子周期中,主模块A在获得总线使用权后,将命令、地址以及其他有关信息,包括该主模块编号发到系统总线上,由从模块B接受。主模块A向系统总线发布这些信息只占用很短的时间,一旦发送完,立即放弃总线使用权。在第二个子周期中,模块B接受到有关命令信号后,经选择、译码、读取等一系列内部操作,将所需的数据准备好,便由B模块申请总线使用权,一旦获准,便将一系列信息送到总线上,供A模块接收。
图片来源:计算机组成原理(刘宏伟)
注:本文内容基于学习:唐朔飞,《计算机组成原理》-- 3版,-- 北京:高等教育出版社,2020.10(2024.5重印)后编写