更好的阅读体验\huge{\color{red}{更好的阅读体验}}更好的阅读体验
在第一章中,我们分别了解了构成计算机的硬件,若要使得计算机正常工作,必须通过线路将各个器件进行连接,连接方式不同,对计算机工作的影响也不同。
计算机系统的五大部件之间的互连方式有两种:
分散连接:各部件之间使用单独的连线,以运算器为中心;
总线连接:将各部件连到一组公共信息传输线上,以以存储器为中心。
早期的计算机大多数用分散连接方式,其内部连线十分复杂,当 I/O
设备与存储器交换信息时,都需经过运算器,致使运算器停止运算,严重影响了 CPU
的工作效率。
由此我们引出总线的定义:
连接各个部件的信息传输线,是各个部件共享的传输介质;
构成计算机系统的互联机构,是多个系统功能部件之间进行数据传送的公共通路。
采用总线连接可以极大优化分散连接带来的一些列问题:
CPU
与主存之间再开辟一条总线,称为存储总线。这组总线速度高,仅供主存与 CPU
之间传输信息。这样既提高了传输效率,又减轻了系统总线的负担,还保留了 I/O
设备与存储器交换信息时不经过 CPU
的特点。现代计算机大多数采用各类总线结构。
片内总线:指芯片内部的总线,如在CPU芯片内部,寄存器与寄存器之间、寄存器与算逻单元 ALU
之间都由片内总线连接。
系统总线:指 CPU
、主存、I/O
设备各大部件之间的信息传输线。
按系统总线传输信息的不同分为:
I/O
设备的地址。单向传输,其位数与存储单元的个数有关。CPU
而言,控制信号既有输出,又有输入。通信总线:用于计算机系统之间或者计算机系统与其他系统之间的通信。
按照传输方式分为:
1
位宽的传输线上,一位一位地按顺序分时传送,适用远距离(数千公里)的数据传输。1
位宽的传输线上,同时由源传送到目的地,适用近距离(小于 30m
)的数据传输。总线的特性可分为:
总线性能指标如下:
总线标准:可视为系统与各模块、模块与模块之间的一个互连的标准界面。 其优点如下:
简化系统设计;
简化系统结构,提高系统可靠性;
便于系统的扩充和更新。
此外,为了使不同厂家生产的相同功能部件可以互换使用,就需要进行系统总线的标准化工作。
目前流行的总线标准有如下几种:
ISA
总线:由 IBM
推出,又称AT总线,它使用独立于 CPU
的总线时钟,因此 CPU
可以采用比总线频率更高的时钟,有利于 CPU
性能的提高。
EISA
总线:基于 ISA
扩充开放的总线标准,与 ISA
可以完全兼容,从 CPU
中分离出了总线控制权,是一种具有智能化的总线,能支持多个总线主控器和突发方式(总线上可进行成块的数据传送)的传输。
VESA
总线:由 VESA
提出的局部总线标准,又称为 VL-BUS
(Local BUS)总线。通过局部总线控制器,将高速 I/O
设备直接挂在 CPU
上,实现 CPU
与高速 I/O
设备之间的高速数据交换。
PCI
总线:由 Intel
公司推出,具有高性能,高兼容性,高扩展性,支持多主设备,即插即用等特点。
ACP
总线:由 Intel
公司推出,显示卡专用的局部总线,采用点对点通道方式,以主存作为帧缓冲器,实现了高速存取。
RS-232C
总线:由美国电子工业协会 EIA
推荐的一种串行通信总线标准。
USB
总线:由 Compaq
、DEC
、IBM
、Intel
、Microsoft
、NEC
和 Northern Telecom
等七大公司于 1994
年 11
月联合开发的计算机串行接口总线标准。具有真正的即插即用、通用连接、高速传输、标准统一等特点。
如图是单总线结构的示意,这种结构简单,也便于扩充,但所有的传送都通过这组共享总线,因此极易形成计算机系统的瓶颈。它也不允许两个以上的部件在同一时刻向总线传输信息,这就必然会影响系统工作效率的提高。
双总线结构的特点是将速度较低的 I/O
设备从单总线上分离出来,形成主存总线与 I/O
总线分开的结构。图中通道是一个具有特殊功能的处理器,CPU
将一部分功能下放给通道,使其对 I/O
设备具有统一管理的功能,以完成外部设备与主存储器之间的数据传送,其系统的吞吐能力可以相当大。这种结构大多用于大、中型计算机系统。
在三总线结构中,任一时刻只能使用一种总线。主存总线与 DMA
总线不能同时对主存进行存取,I/O
总线只有在 CPU
执行 I/O
指令时才能用到。以下另一种三总线结构的示意图:
为了进一步提高 I/O
设备的性能,使其更快地响应命令,又出现了四总线结构。
众多部件共享总线,在争夺总线使用权时,应按各部件的优先等级来解决。
总线判优控制分为:
集中式:将控制逻辑集中在一处(如在CPU中)
分布式:将控制逻辑分散在与总线连接的各个部件或设备上。
常见的集中控制优先权仲裁方式有以下三种:
链式查询:只需很少几根线就能按一定优先次序实现总线控制,并且很容易扩充设备,但对电路故障很敏感,且优先级别低的设备可能很难获得请求。
计数器定时查询:不如链式查询方式敏感,但增加了控制线(设备地址)数,控也较复杂。
独立请求方式:电响应速度快,优先次序控制灵活(通过程序改变),但控制线数量多,总线控制更复杂。
众多部件共享总线,在通信时间上,则应按分时方式来处理。
即以获得总线使用权的先后顺序分时占用总线,即哪一个部件获得使用权,此刻就由它传送,下一部件获得使用权,接着下一时刻传送。这样一个接一个轮流交替传送。
通常将完成一次总线操作的时间称为总线周期,分为:
申请分配阶段:由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定下一传输周期的总线使用权授于某一申请者。
寻址阶段:取得了使用权的主模块通过总线发出本次要访问的从模块(或从设备)的地址及有关命令,启动参与本次传输的从模块。
传数阶段:主模块和从模块进行数据交换,数据由源模块发出,经数据总线流入目的模块。
结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。
总线通信控制主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合。通常用四种方式:同步通信、异步通信、半同步通信和分离式通信。
通信双方由统一时标控制数据传送称为同步通信。
时标通常由CPU的总线控制部件发出,送到总线上的所有部件;也可以由每个部件各自的时序发生器发出,但必须由总线控制部件发出的时钟信号对它们进行同步。
在同步通信的总线系统中,总线传输周期越短,数据线的位数越多,直接影响总线的数据传输率。
异步通信克服了同步通信的缺点,允许各模块速度的不一致性,给设计者充分的灵活性和选择余地。
它没有公共的时钟标准,不要求所有部件严格的统一操作时间,而是采用应答方式(又称握手方式),即当主模块发出请求(Request)信号时,一直等待从模块反馈回来“响应”(Acknowledge)信号后,才开始通信。当然,这就要求主、从模块之间增加两条应答线(握手交互信号线Handshaking)。
异步通信有以下应答方式:
异步串行通信的数据传送速率用波特率来衡量。
波特率是指单位时间内传送二进制数据的位数,单位用 bps
(位/秒)表示,记作波特。
半同步通信既保留了同步通信的基本特点,又像异步通信那样,允许不同速度的模块和谐地工作。
为此增设了一条“等待”(WAIT)响应信号线,采用插人时钟(等待)周期的措施来协调通信双方的配合问题。
优点:其控制方式比异步通信简单,在全系统内各模块又在统一的系统时钟控制下同步工作,可靠性较高,同步结构较方便。
缺点:对系统时钟频率不能要求太高,故从整体上来看,系统工作的速度还不是很高。
半同步通信适用于系统工作速度不高但又包含了由许多工作速度差异较大的各类设备组成的简单系统。
以上三种通信方式都是从主模块发出地址和读写命令开始,直到数据传输结束。在整个传输周期中,系统总线的使用权完全由占有使用权的主模块和由它选中的从模块占据。除了申请总线这一阶段外,其余时间主要花费在如下方面:
①主模块通过传输总线向从模块发送地址和命令。
②从模块按照命令进行读数据的必要准备。
③从模块经数据总线向主模块提供数据。
由 ② 可见,对系统总线而言,从模块内部读数据过程并无实质性的信息传输,总线纯属空闲等待。
由此提出了分离式的思想:
首先,将一个传输周期(或总线周期)分解为两个子周期。
第一个子周期中:
第二个子周期中:
显然地,上述两个传输子周期都只有单方向的信息流,每个模块都变成了主模块。
这种通信方式的特点如下:
各模块欲占用总线使用权都必须提出申请。
在得到总线使用权后,主模块在限定的时间内向对方传送信息,采用同步方式传送,不再等待对方的回答信号。
各模块在准备数据的过程中都不占用总线,使总线可接受其他模块的请求。
总线被占用时都在做有效工作,或者通过它发送命令,或者通过它传送数据,不存在空闲等待时间,充分地利用了总线的有效占用。
这种方式控制比较复杂,一般在普通微型计算机系统很少采用。