计算机组成原理——系统总线

来源:互联网 发布:淘宝贷款逾期無法再借 编辑:程序博客网 时间:2024/05/21 10:22

第 9 章 系 统 总 线

基本知识点:总线的基本概念;总线的分类;总线的组成及性能指标;总线的结构;总线的裁决(仲裁)方式,包括三种集中裁决方式;总线通信控制,包括同步通信、异步通信、半同步通信和分离式通信。

重 点:总线的组成及性能指标;总线的裁决方式;总线通信控制。

难 点:总线的裁决方式;总线通信控制。

9.1 知识点 1:总线概述

9.1.1 要点归纳

1. 总线的基本概念

        计算机系统的 5 大部件之间的互连方式有两种,一种是各部件之间使用单独的连线,称为分散连接;另一种是将各部件连到一组公共信息传输线上,称为总线连接,总线是一组能为多个部件传送信息的线路,总线具有以下特点。

☆ 信息传输:总线实际上是由许多传输线或通路组成的,每条线可一位一位地传输二进制代码,一串二进制代码可在一段时间内逐一传输完成。若干条传输线可以同时传输若干位二进制代码。

☆ 共享:总线是连接多个部件的信息传输线,是各部件共享的传输介质。

☆ 分时:在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。

机器总线由总线控制器管理,总线控制器的主要功能有总线系统的资源管理、总线系统的定时及总线的仲裁和连接。

2. 总线的分类

总线按连接部件划分如下。

☆ 片内总线。指芯片内部的总线,如在 CPU 芯片内部,寄存器与寄存器之间、寄存器与逻辑部件之间互连的总线。

☆ 系统总线。指 CPU、主存、I/O 设备各大部件之间的信息传输线。按系统总线传输信息的不同,又分为数据总线、地址总线和控制总线三大类。

☆ 数据总线:用于传输各部件之间的数据信息,它是双向传输总线,其位数称为数据总线宽度,与机器字长、存储字长有关,一般为 8 位、16 位或 32 位。

☆ 地址总线:用于指出数据总线上的源数据或目的数据在主存单元的地址或 I/O设备的地址,也就是说地址总线上的代码用来指明 CPU 欲访问的存储单元或I/O 端口的地址,由 CPU 输出,单向传输。地址总线的位数与存储单元的个数有关,如地址线为 20 根,则对应的存储单元个数为 220个。

☆ 控制总线:用于发出各种控制信号,通常对任一控制线而言,它的传输是单向的,如存储器读/写命令都是由 CPU 发出的,但对控制总线总体而言,又可认为是双向的,如当某设备准备就绪时,便可通过控制总线向 CPU 发送中断请求。常用的控制信号有:时钟、复位、总线请求、总线允许、中断请求、中断响应、主存读/写、I/O 读写和传输响应等。

☆ 通信总线。用于计算机系统之间或计算机系统与其他系统之间的通信。通信总线按数据传输方式可分为串行通信和并行通信。

☆ 串行通信:指数据在单条 1 位宽的传输线上,一位一位地按顺序分时传送,如 1 字节数据在串行传送中要通过一条传输线分 8 次由低位到高位按顺序逐位传送。

☆ 并行通信:指数据在多条并行 1 位宽的传输线上,同时由源地址传送到目的地址,如 1 字节的数据在并行传送中要通过 8 条并行传输线同时由源地址传

送到目的地址。

只有数据总线是双向传输的,地址总线和控制总线是单向传输的,都是从CPU发出的。

3. 总线的性能指标

总线的性能指标如下。

☆ 总线宽度:是指数据总线的根数,用 bit(位)表示,如 8 位(8 根)、16 位(16根)、32 位(32 根)、64 位(64 根)等。

☆ 总线带宽:可理解为总线的数据传输率,即单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量,单位可用 MB/s(兆字节每秒)表示。总线带宽=总线工作频率×(总线宽度/8),如总线工作频率为33MHz,总线宽度为 16 位,则总线带宽=33×(16÷8)=66MB/s。

☆ 总线工作频率:总线上各种操作的频率,等于总线周期的倒数,即总线工作频率=1/总线周期。实际上是指一秒钟内传输几次数据。

☆ 总线周期(总线传输周期):是指一次总线操作所需的时间(包括申请阶段、寻址阶段、传送阶段和结束阶段)。总线周期通常由若干个总线时钟周期构成。而总线时钟周期就是机器的时钟周期。

☆ 总线时钟频率:指机器的时钟频率,总线时钟频率=1/总线时钟周期。

☆ 时钟同步/异步:总线上的数据与时钟同步工作的总线称为同步总线,与时钟不同步工作的总线称为异步总线。

☆ 总线复用:一条信号线上分时传送两种信号称为总线复用。例如,在一组物理线路上可分时传输地址信号和数据信号。

☆ 信号线数:地址总线、数据总线和控制总线三种总线数的总和称为信号线数。

☆ 总线控制方式:总线控制方式有突发工作、自动配置、仲裁方式、逻辑方式和计数方式等。

【例 9.1】设某系统总线在一个总线周期中并行传送 6 字节信息,总线时钟频率为20MHz,一个总线周期占用 2 个时钟周期,求该总线带宽。

解:总线时钟频率为 20MHz,一个总线周期占用 2 个时钟周期,所以总线工作频率=20MHz/2=10MHz,总线的宽度=6×8 位,所以总线带宽=总线工作频率×(总线宽度/8)=10MHz×6B=60MB/s。

4. 总线的信息传输方式

1)串行传输方式

信息以串行方式传送时,只有一条传输线,且采用脉冲传送,即数据 0 或 1 按位顺序传送(以脉冲信号“有或无”的形式传送),每拍(次)传一位。其特点是线路成本低,传送速度慢。适用场合:主机与低速外设间的传送、远距离通信总线的数据传送、系统之间的数据传送。

串行传输信息的速率通常用波特率和比特率来表示。

☆ 波特率:每秒钟传送的数据位数。

☆ 比特率:每秒钟传送的有效数据位数。

【例 9.2】利用串行方式传送字符,假设数据传送速率是 120 个字符/秒,每一个字符格式规定包含 10 个数据位(起始位、停止位、8 个数据位),问传送的波特率是多少?每个数据位占用的时间是多少?比特率又是多少?

解:波特率=10 位×120/秒=1200。

每个数据位占用的时间 Td是波特率的倒数,所以 Td=1/1200=0.833×10-3s=0.833ms。每个字符对应的 10 个数据位中只有 8 个有效数据位,所以比特率=8 位×120/秒=960。

2)并行传输方式

利用并行方式传输二进制信息时,每位数据都需要单独一条传输线,从而使得多位二进制数码在同一时刻同时进行传送。并行传输一般采用电位传送。由于所有的位同时被传送,所以并行数据传送比串行数据传送快得多。特点是线路成本高,传送速度快。适用场合:短距离的高速数据传输。

3)复合传输方式

在不同的时间间隔中,总线可以分别完成传送地址和传送数据的任务,或者当多部件共享总线时,各部件根据控制命令,分时使用总线来完成自己的数据传送任务。也就是说,复合传输方式有两个概念:

☆ 数据和地址信息分时享用总线,即总线复用方式。

☆ 共享总线的部件分时使用总线,即总线分时方式。

复合传输方式的优缺点如下。

☆ 优点:可提高总线的利用率,减少总线的信号线数量,从而降低总线的成本。

☆ 缺点:会影响总线操作的速度。

猝发传输是指在一次传输地址后,利用连续多个数据时间依次传输多个数据的方式。一次猝发式传输总线周期通常由一个地址周期和一个或几个数据周期组成,也称为并发传输或成组传输方式。

5. 总线标准

所谓总线标准,可视为系统与各模块、模块与模块之间的一个互连的标准界面。这个界面两端的任一方只须根据总线标准的要求完成自身接口的功能要求,而无须了解对方接口与总线的连接要求。因此,按总线标准设计的接口可视为通用接口。制定总线标准的目的是便于灵活组成系统。

常用的总线标准如下。

1)ISA 总线

ISA(Industry StandardArchitecture,工业标准体系结构),又称 AT 总线。采用 24 位地址线(可直接寻址的内存容量为 16MB),没有支持仲裁的硬件逻辑,不能支持多台主设备系统。ISA 属系统总线标准。

2)EISA 总线

EISA(Extended IndustryStandard Architecture,扩展工业标准体系结构是一种在 ISA基础上扩充开放的总线标准。支持多个总线主控器和突发方式(总线上可进行成块的数据传输)的传输。地址总线为 32 位,数据总线为 32 位,属于系统总线标准。

3)VESA(VL-BUS)总线

VESA 总线是由 VESA(Video Electronic Standard Association,视频电子标准协会)提出来的局部总线标准,也称为 VL-BUS 总线。所谓局部总线,是指在系统外为两个以上设备提供的高速传输信息通道,VESA配有局部控制器,将高速设备直接挂在 CPU 的总线上,实现CPU 与高速外设之间的高速数据交换。数据总线为 32 位,属于系统总线标准。

4)PCI 总线

PCI(Peripheral ComponentInterconnect),即外部设备互连总线,它提供 32/64 位数据总线,总线时钟频率为 33MHz。与 ISA、EISA 均可兼容,支持即插即用、多层结构,提供数据和地址奇偶校验功能。采用同步时序协议和集中式仲裁方式,属于系统总线标准。

PCI Express 总线是一种完全不同于过去 PCI 总线的一种全新总线规范,与 PCI 总线共享并行架构相比,PCI Express 总线是一种点对点串行连接的设备连接方式,点对点意味着每一个 PCI Express 设备都拥有自己独立的数据连接,各个设备之间并发的数据传输互不影响,而对于过去 PCI 那种共享总线方式,PCI 总线上只能有一个设备进行通信,一旦 PCI总线上挂接的设备增多,每个设备的实际传输速率就会下降,性能得不到保证。现在,PCI Express 以点对点的方式处理通信,每个设备在要求传输数据的时候各自建立自己的传输通

道,对于其他设备而言这个通道是封闭的,这样的操作保证了通道的专有性,从而避免其他设备的干扰。

5)AGP 总线

AGP(Accelerated GraphicsPort,加速图形接口)是专为提高视频带宽而设计的总线规范。它采用点对点连接,连接控制芯片组和 AGP 显示卡,因此严格来说 AGP 不能称为总线,而是一种接口标准。AGP 属于设备总线标准。

6)RS-232C 总线

RS-232C(Recommended Standard,232 为标识号,C 表示修改次数)是由美国电子工业协会 EIA 提出的一种串行通信总线标准,它是应用于串行二进制交换的数据终端设备和数据通信设备之间的标准接口。RS-232C 属于设备总线标准。

7)SCSI 总线

SCSI(Small Computer SystemInterface,小型计算机系统接口)总线主要用于光驱、音频设备、扫描仪、打印机以及像硬盘驱动器这样的大容量存储设备等的连接,是一种直接连接外设的并行 I/O 总线,属于设备总线标准。

8)USB 总线

USB(Universal Serial Bus——通用串行总线)是一种连接外围设备的 I/O 总线,属于设备总线标准。USB 由 Intel 公司提出,带宽为 12Mbps,与传统接口总线相比,主要优点有三个:①具有即插即用功能(USB 提供机箱外的即插即用连接,连接外设时不必再打开机箱,也不必关闭主机电源);②USB采用“级联”方式连接各个外部设备(每个 USB 设备用一个USB 插头连接到前一个外设的 USB 插座上,而其本身又提供一个 USB 插座,以供下一个 USB 外设连接,可连接多达 127 个外设,两个外设间的线缆长度可达 5 米);③适用于低速外设连接(USB 的传送速度可达 12Mb/s,可与键盘、鼠标、Modem 等常见外设连接,还可以与 ISDN、电话系统、数字音响、打印机/扫描仪等低速外设连接)。

在 USB 总线上,数据的传送是以帧(Frame)为单位进行的,即发送方需要按照一定的格式对要传送的数据进行组织;接收方按照同样的格式来接收和理解帧。

6. 总线结构

从结构上看,有单总线结构、双总线结构和三总线结构等。

1)单总线结构

单总线结构将 CPU、主存、I/O 设备(通过 I/O 接口)都挂到一组总线上,允许 I/O 设备之间、I/O 设备与主存之间直接交换信息,如图 9.1 所示。单总线结构中设备的寻址采用统一编址的方法,即所有的主存单元以及 I/O 设备接口寄存器的地址一起构成一个统一的地址空间,因此,访内存指令与 I/O 指令在形式上完全相同,区别仅在于地址的数值不一样,所以省去了 I/O 指令,简化了指令系统。

 

单总线结构的优缺点如下。

☆ 优点:结构简单,允许 I/O 设备之间或 I/O 设备与主存之间直接交换信息,只须 CPU分配总线使用权,不需要 CPU 干预信息的交换。

☆ 缺点:由于全部系统部件都连接在一组总线上,总线的负载很重,可能使其吞吐量达到饱和甚至不能胜任的程度,故大多为小型机和微型机采用。

2)双总线结构

双总线结构有两条总线,一条是主存总线,用于CPU、主存和通道之间进行数据传送;另一条是 I/O 总线,用于多个 I/O 设备与通道之间进行数据传送。其结构如图 9.2 所示。在双总线系统中采用单独编址的方法,CPU 对内存总线和系统总线必须有不同的指令系统,内存地址和 I/O 设备的地址是分开的,当访问内存时,由存储读、存储写两条控制线来控制;当访问 I/O 设备时,由 I/O 读、I/O写两条控制线来控制。双总线结构的优缺点如下。

☆ 优点:将速度较低的 I/O 设备从单总线上分离出来,形成存储器总线和 I/O 总线分开的结构。适合大、中型计算机。

☆ 缺点:需要增加通道等硬件设备。

3)三总线结构

三总线结构是在计算机系统各部件之间采用三条各自独立的总线来构成信息通路。这三条总线是:主存总线、I/O 总线和直接内存访问(DMA)总线,如图 9.3 所示。

 

 

三总线结构采用单独编址的方法,是在双总线系统的基础上增加 I/O 总线形成的。主存总线用于 CPU 和内存之间传送地址、数据和控制信息,是 CPU、内存和通道进行数据传送的公共通路;I/O 总线用于 CPU 和各类外设之间通信,是多个外部设备与通道之间进行数据传送的公共通路;DMA 总线用于内存和高速外设之间直接传送数据,DMA 方式中 I/O设备与存储器直接交换数据而不经过 CPU,从而减轻 CPU 对数据I/O 的控制。三总线系统通常用于中、大型计算机中。

一般来说,在三总线系统中,任一时刻只使用一种总线;若使用多入口存储器,内存总线可与 DMA 总线同时工作,此时三总线系统可以比单总线系统运行得更快。但是在三总线系统中,设备与设备间不能直接进行信息传送,而必须经过 CPU 或内存间接传送,所以三总线系统的工作效率较低。

三总线结构的优缺点如下。

☆ 优点:提高了 I/O 设备的性能,使其更快地响应命令,提高系统吞吐量。

☆ 缺点:系统工作效率较低。

 

 

9.2 知识点 2:总线仲裁和总线通信控制

9.2.1 要点归纳

1. 总线裁决

总线上所连接的各类设备,按其对总线有无控制功能可分为主设备和从设备,主设备是指获得总线控制权的设备,它对总线有控制权;从设备是指被主设备访问的设备,它对总线没有控制权,只能响应从主设备发来的总线命令。

总线上信息的传输是由主设备启动的,如某个主设备要与另一个设备(从设备)进行通信时,首先由主设备发出总线请求信号,若多个主设备同时要使用总线时,为保证在同一时间内只能有一个设备获得总线使用权,需要设置总线判优控制机构。

总线判优控制机构按照申请者的优先权选择设备,决定哪个总线主控设备将在下次得到总线使用权的过程称为总线裁决(仲裁)。只有获得了总线使用权的设备或部件,才能开始数据传送。总线裁决的策略如下:

☆ 总线主设备需要使用总线,首先必须向总线裁决电路提交使用总线的请求。

☆ 发出请求的主设备只有在得到应答信号以后,才能够使用总线。

总线裁决方式可以分为集中式裁决和分布式裁决两种。

1)集中仲裁方式

集中仲裁方式是将控制逻辑做在一个专门的总线控制器或总线裁决器中,将所有的总线请求集中起来,利用一个特定的裁决算法进行裁决。集中裁决方式有三种:链式查询方式、计数器定时查询方式和独立请求方式。

(1)链式查询方式

链式查询方式也称菊花链方式,如图 9.4 所示。设备的优先级由主设备在总线上的位置来决定,离总线控制器最近的设备具有最高的优先级,要求拥有总线使用权的高优先级设备简单地拦截总线允许信号,不让更低级的设备收到该信号。

 

链式查询方式的优缺点如下。

☆ 优点:链式查询方式控制结构较简单,只用很少几根线就能按一定的优先次序实现总线控制,扩充设备数量容易。

☆ 缺点:离控制器远的设备有时会长时间得不到总线使用权,且对设备故障十分敏感,一个设备的故障会影响到后面设备的操作。

(2)计数器定时查询方式

此方案比菊花链查询方式多了一组设备线,少了一根总线允许线 BG,如图 9.5 所示。

总线请求的设备号与计数值一致时,该设备便获得总线使用权,此时终止计数查询,同时该设备建立总线忙 BS 信号。

 

设备的优先级通过设置不同的计数初始值来改变:

☆ 计数总是从 0 开始,此时设备的优先次序是固定的。

☆ 计数的初值总是上次得到控制权设备的设备号,那么所有设备的优先级是相等的,是循环优先级方式。

计数器定时查询方式的优缺点如下。

☆ 优点:计数器定时查询方式具有灵活的优先级,它对电路故障也不如菊花链查询那样敏感。

☆ 缺点:这种方式增加了一组设备线,每个设备要对设备线的信号进行译码处理,因而控制也变复杂了,而且需要额外的计数线路。

(3)独立请求方式

每个设备都有一对总线请求线 BRi和总线允许线 BGi,如图 9.6 所示。这种方案使用一个中心裁决器从请求总线的一组设备中选择一个。总线控制器可以给各个请求线一个固定的优先级,也可以设置可编程的优先级。裁决算法由硬件来实现,可采用固定的并行判优算法、平等的循环菊花链算法、动态优先级算法(如最近最少用算法、先来先服务算法)等。

独立请求方式的优缺点如下。

☆ 优点:响应速度快,总线允许信号 BG 直接从控制器发送到有关设备,不必在设备间传递或者查询,而且对优先级的控制十分灵活。

☆ 缺点:控制逻辑很复杂,控制线数量多。设备的数量受到请求信号线和应答线数量的限制。

 

2)分布仲裁方式

分布式仲裁是每个潜在的主模块都有自己的仲裁号和仲裁器,不需要中央仲裁器。当它们有总线请求时,把它们唯一的仲裁号发到共享的仲裁总线上,以优先级策略为基础,获胜者的仲裁号保留在仲裁线上。如图 9.7 所示。

 

分布式的裁决方式,没有专门的总线控制器,其控制逻辑分散在各个部件或设备中。

2. 总线通信控制

1)总线传输过程

通常将完成一次总线操作的时间称为总线周期,可分为以下 4 个阶段:

① 申请分配阶段。由需要使用总线的主模块(或主设备)向总线仲裁机构提出总线使用申请,总线仲裁机构决定下一传输周期的总线使用权并将其授予某一申请者。

② 寻址阶段。拥有总线使用权的主模块发出本次要访问的从模块(或从设备)的地址及有关命令,该从模块被选中并启动。

③ 数据传送阶段。主模块和从模块间使用数据总线进行双(单)向数据传送。

④ 结束阶段。主、从模块均撤出总线,让出总线使用权。

2)总线通信控制方式

总线通信控制方式通常有同步通信、异步通信、半同步通信和分离式通信四种。

(1)同步通信方式

总线上的部件通过总线进行信息传送时,用一个由CPU 的总线控制部件发出的公共的时钟信号进行同步,这种方式称为同步通信。由于采用统一的时钟,每个部件或设备发送信息或接收信息都在固定的总线传送周期中,一个总线传送周期结束,开始下一个总线传送周期。

同步通信方式的优缺点如下。

☆ 优点:具有较高的数据传输速率,总线控制逻辑也比较简单;同步通信适用于总线长度短、各部件存取时间比较接近的情况。

☆ 缺点:主、从设备时间配合属于强制性“同步”,不能及时进行数据通信的有效性检验。

(2)异步通信方式

在异步通信方式中利用数据发送部件和数据接收部件之间的相互“握手”信号(应答方式)来实现数据传送,即当主设备发出请求信号时,一直等到从从设备反馈回来的响应信号后才开始通信,所以主、从设备之间增加两条应答线。

异步通信的应答方式又分为以下三种类型:

☆ 不互锁方式。主设备发请求后,间隔固定时间,认为从设备已经收到,不必等待接到从设备的回答信号而可撤销其请求信号;从设备发回答后,间隔固定时间,认为主设备也收到回答信号,便自动撤销回答信号。如图 9.8(a)所示。

☆ 半互锁方式。主设备发请求后,等待从设备的回答,必须在接到从设备的回答信号后才撤销其请求信号;从设备发回答后,则不必获知主设备的请求信号已经撤销,而是隔一段时间后自动撤销其回答信号。如图 9.8(b)所示。

☆ 全互锁方式。主从设备相互等待,即主设备发出请求信号后,必须等待从设备回答后再撤销其请求信号,从设备发出回答信号,必须待获知主设备请求信号已撤销后,再撤销其回答信号。双方存在互锁关系。如图 9.8(c)所示。

 

异步通信方式的优缺点如下。

☆ 优点:便于实现不同传输速率部件之间的数据传送,而且对总线长度也没有严格要求,还能实现数据的有效性检验。

☆ 缺点:速度一般不如同步通信方式高,而且总线控制逻辑也相对复杂一些。

(3)半同步通信方式

半同步通信方式既保留了同步通信的基本特点,如所有的地址、命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟后沿时刻来进行判断识别;同时又像异步通信那样,允许不同速度的设备和谐地工作。为此增设一条等待响应信号线,采用插入时钟(等待)周期的措施来协调通信双方的配合问题。

半同步通信方式的优缺点如下。

☆ 优点:比异步通信简单,在全系统内各模块又在统一的系统时钟控制下同步工作,可靠性较高。

☆ 缺点:从整体上看,系统工作的速度还不是很高。

(4)分离式通信方式

其基本思想是将一个传输周期(或总线周期)分解为两个子周期。

在第一个子周期中,主模块 A 在获得总线使用权后将命令、地址以及其他有关信息,包括主模块编号(当有多个主模块时,此编号尤为重要)发到系统总线上,经过总线传输后,由有关的从模块 B 接收下来。主模块 A 向系统总线发布这些信息只占用总线很短的时间,一旦发送完成,立即放弃总线使用权,以便其他模块使用。在第二个子周期中,当 B 模块接收到 A 模块发来的有关命令信号后,经过选择、译码、读取等一系列内部操作,将 A 模块所需的数据准备好,便由 B 模块申请总线使用权,一旦获准,B 模块便将 A 模块的编号、B 模块的地址、A 模块所需的数据等一系列信息送到总线上,供 A 模块接收。很显然,上述两个子周期都只有单方向的信息流,每个模块都变成了主模块。

原创粉丝点击