0%

王道-计算机组成原理-ch6-总线

王道

总线

【考纲内容】

(一)总线概述

总线的基本概念;总线的分类;总线的组成及性能指标

(二)总线操作和定时

同步定时方式;异步定时方式

(三)总线标准

【复习提示】

本章的知识点较少,其中总线仲裁及总线操作和定时方式是难点。本章内容通常以选择题的形式出现,特别是系统总线的特点、性能指标、各种仲裁方式的特点、异步定时方式及常见的总线标准和特点等。总线带宽的计算也可能结合其他章节出综合题。

在学习本章时,请读者思考以下问题:

1)引入总线结构有什么好处?

2)引入总线结构会导致什么问题?如何解决?

请读者在学习本章的过程中寻找答案,本章末尾会给出参考答案。

总线概述

随着计算机的发展和应用领域的不断扩大,IO 设备的种类和数量也越来越多。为了更好地解决IO设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为总线连接。为了进一步简化设计,又提出了各类总线标准。

总线基本概念

总线的定义

总线是一组能为多个部件分时共享的公共信息传送线路。分时和共享是总线的两个特点。

$\color{green}{\text{分时}}$ 是指同一时刻只允许有一个部件向总线发送信息,若系统中有多个部件,则它们只能分时地向总线发送信息。

$\color{green}{\text{共享}}$ 是指总线上可以挂接多个部件,各个部件之间互相交换的信息都可通过这组线路分时共享。在某一时刻只允许有一个部件向总线发送信息,但多个部件可同时从总线上接收相同的信息。

总线设备

总线上所连接的设备,按其对总线有无控制功能可分为主设备和从设备两种。

$\color{green}{\text{主设备}}$ :总线的主设备是指获得总线控制权的设备。

$\color{green}{\text{从设备}}$ :总线的从设备是指被主设备访问的设备,它只能响应从主设备发来的各种总线命令。

总线特性

总线特性是指 $\color{green}{\text{机械特性}}$ (尺寸、形状)、 $\color{green}{\text{电气特性}}$ (传输方向和有效的电平范围)、 $\color{green}{\text{功能特性}}$ (每根传输线的功能)和 $\color{green}{\text{时间特性}}$ (信号和时序的关系)。

总线的猝发传输方式

在一个总线周期内传输存储地址连续的多个数据字的总线传输方式,称为 $\color{green}{\text{猝发传送}}$ 。

  • 又称突发传输
  • 传送一个起始地址之后,可以连续读取连续的地址的内容
  • 没有突发传输的话,后面的内容每一次都要传送地址

总线的分类

计算机系统中的总线,按功能划分为以下3类。

$\color{green}{\text{片内总线}}$

片内总线是芯片内部的总线,它是CPU 芯片内部寄存器与寄存器之间、寄存器与ALU 之间的公共连接线。

$\color{green}{\text{系统总线}}$

系统总线是计算机系统内各功能部件(CPU、主存、I/O接口)之间相互连接的总线。按系统总线传输信息内容的不同,又可分为3类:数据总线、地址总线和控制总线。

1)$\color{green}{\text{数据总线}}$ 用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与 $\color{green}{\text{机器字长}}$ 、 $\color{green}{\text{存储字长}}$ 有关。

2)$\color{green}{\text{地址总线}}$ 用来指出数据总线上的源数据或目的数据所在的 $\color{green}{\text{主存单元}}$ 或 $\color{green}{\text{I/O端口的地址}}$ ,它是单向传输总线,地址总线的位数与主存地址空间的大小有关。

3)$\color{green}{\text{控制总线}}$ 传输的是控制信息,包括CPU送出的控制命令和主存(或外设)返回CPU的反馈信号。

注意区分数据通路和数据总线:各个功能部件通过数据总线连接形成的数据传输路径称为数据通路。数据通路表示的是数据流经的路径,而 $\color{green}{\text{数据总线}}$ 是承载的媒介。

$\color{green}{\text{通信总线}}$

通信总线是在计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间传送信息的总线,通信总线也称外部总线。

此外,按时序控制方式可将总线划分为 $\color{green}{\text{同步总线}}$ 和 $\color{green}{\text{异步总线}}$ ,还可按数据传输格式将总线划分为 $\color{green}{\text{并行总线}}$ 和 $\color{green}{\text{串行总线}}$ 。

系统总线的结构

总线结构通常分为单总线结构、双总线结构和三总线结构等。

单总线结构

单总线结构将CPU、主存、IO设备(通过IO接口)都挂在一组总线上,允许IO设备之间、IO设备与主存之间直接交换信息,如图6.1所示。CPU与主存、CPU与外设之间可直接进行信息交换,而无须经过中间设备的干预。

注意,单总线并不是指只有一根信号线,系统总线按传送信息的不同可细分为地址总线、数据总线和控制总线。

优点:结构简单,成本低,易于接入新的设备;缺点:带宽低、负载重,多个部件只能争用唯一的总线,且不支持并发传送操作。

图6.1单总线结构找不到图片(Image not found)
双总线结构

双总线结构有两条总线:一条是 $\color{green}{\text{主存总线}}$ ,用于在CPU、主存和通道之间传送数据;另一条是 $\color{green}{\text{IO总线}}$ ,用于在多个外部设备与通道之间传送数据,如图6.2所示。

优点:将低速IO设备从单总线上分离出来,实现了存储器总线和IO总线分离。缺点:需要增加通道等硬件设备。

三总线结构

三总线结构是在计算机系统各部件之间采用3条各自独立的总线来构成信息通路,这3条总线分别为 $\color{green}{\text{主存总线}}$ 、 $\color{green}{\text{IO总线}}$ 和 $\color{green}{\text{直接内存访问(DMA)总线}}$ ,如图6.3所示。

图片详情找不到图片(Image not found)

主存总线用于在CPU和内存之间传送地址、数据和控制信息。IO总线用于在CPU和各类外设之间通信。DMA总线用于在内存和高速外设之间直接传送数据。

优点:提高了IO设备的性能,使其更快地响应命令,提高系统吞吐量。缺点:系统工作效率较低。

总线的性能指标

1)总线的 $\color{green}{\text{传输周期}}$ 。指一次总线操作所需的时间(包括申请阶段、寻址阶段、传输阶段和结束阶段),简称总线周期。总线传输周期通常由若干总线时钟周期构成。

2)总线 $\color{green}{\text{时钟周期}}$ 。即机器的时钟周期。计算机有一个统一的时钟,以控制整个计算机的各个部件,总线也要受此时钟的控制。

3)总线的 $\color{green}{\text{工作频率}}$ 。总线上各种操作的频率,为总线周期的倒数。实际上指1秒内传送几次数据。若总线周期=N个时钟周期,则总线的工作频率=时钟频率/N。

4)总线的 $\color{green}{\text{时钟频率}}$ 。即机器的时钟频率,它为时钟周期的倒数。

5)总线 $\color{green}{\text{宽度}}$ 。又称总线位宽,它是总线上同时能够传输的数据位数,通常指 $\color{green}{\text{数据总线}}$ 的根数,如32根称为32位总线。

6)总线 $\color{green}{\text{带宽}}$ 。可理解为总线的 $\color{green}{\text{数据传输率}}$ ,即单位时间内总线上可传输数据的位数,通常用每秒传送信息的字节数来衡量,单位可用字节/秒(B/s)表示。总线带宽=总线工作频率×(总线宽度/8)。

注意:总线带宽和总线宽度应加以区别。

7)总线 $\color{green}{\text{复用}}$ 。总线复用是指一种信号线在不同的时间传输不同的信息,因此可以使用较少的线传输更多的信息,从而节省空间和成本。

8)信号 $\color{red}{\text{线数}}$ 。 $\color{green}{\text{地址总线}}$ 、 $\color{green}{\text{数据总线}}$ 和 $\color{green}{\text{控制总线}}$ 3种总线数的总和称为信号线数。其中,总线的最主要性能指标为总线宽度、总线(工作)频率、总线带宽,总线带宽是指总线本身所能达到的最高传输速率,它是衡量总线性能的重要指标。

三者关系:总线带宽=总线宽度×总线频率。

例如,总线工作频率为22MHz,总线宽度为16位,则总线带宽=22×(16/8)=44MB/s。

*总线仲裁

为解决多个主设备同时竞争总线控制权的问题,应当采用总线仲裁部件,以某种方式选择一个主设备优先获得总线控制权。只有获得了总线控制权的设备,才能开始传送数据。

总线仲裁方式按其仲裁控制机构的设置可分为集中仲裁方式和分布仲裁方式两种。

集中仲裁方式

总线控制逻辑基本上集中于一个设备(如CPU)中。将所有的总线请求集中起来,利用一个特定的裁决算法进行裁决,称为集中仲裁方式。集中仲裁方式有链式查询方式、计数器定时查询方式和独立请求方式三种。

链式查询方式

链式查询方式如图6.4所示。总线上所有的部件共用一根总线请求线,当有部件请求使用总线时,需经此线发总线请求信号到总线控制器。由总线控制器检查总线是否忙,若总线不忙,则立即发总线响应信号,经总线响应线BG串行地从一个部件传送到下一个部件,依次查询。若响应信号到达的部件无总线请求,则该信号立即传送到下一个部件;若响应信号到达的部件有总线请求,则信号被截住,不再传下去。

图6.4 链式查询方式找不到图片(Image not found)

在链式查询中,部件离总线控制器越近,其优先级越高;部件离总线控制器越远,其优先级越低。

优点:链式查询方式优先级固定。此外,只需很少几根控制线就能按一定优先次序实现总线控制,结构简单,扩充容易。

缺点:对硬件电路的故障敏感,且优先级不能改变。当优先级高的部件频繁请求使用总线时,会使优先级较低的部件长期不能使用总线。

计数器定时查询方式

计数器定时查询方式如图6.5所示。它采用一个计数器控制总线使用权,相对链式查询方式多了一组设备地址线,少了一根总线响应线BG。它仍共用一根总线请求线,当总线控制器收到总线请求信号并判断总线空闲时,计数器开始计数,计数值通过设备地址线发向各个部件。当地址线上的计数值与请求使用总线设备的地址一致时,该设备获得总线控制权,同时中止计数器的计数及查询。

图6.5计数器定时查询方式找不到图片(Image not found)

优点:计数可从“0”开始,此时一旦设备的优先次序被固定,设备的优先级就按0,1,$\cdots$,n的顺序降序排列,而且固定不变;计数也可从上一次的终点开始,即采用一种循环方法,此时设备使用总线的优先级相等;计数器的初值还可由程序设置,因此优先次序可以改变,且这种方式对电路的故障没有链式查询方式敏感。

缺点:增加了控制线数(若设备有n个,则大致需要 $\lceil log_2n \rceil$+2条控制线),控制也比相对链式查询要复杂。

独立请求方式

独立请求方式如图6.6所示。每个设备均有一对总线请求线BR,和总线允许线BG;。当总线上的部件需要使用总线时,经各自的总线请求线发送总线请求信号,在总线控制器中排队,当总线控制器按一定的优先次序决定批准某个部件的请求时,给该部件发送总线响应信号,该部件接到此信号后就获得了总线使用权,开始传送数据。

图片详情找不到图片(Image not found)

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

缺点:控制线数量多(设备有n个,需要2n+1条控制线,其中加的那条控制线为BS线,基作用是让设备向总线控制部件反馈已使用完总线),总线控制逻辑更复杂。
为方便记忆,下面归纳了3种集中仲裁方式的区别与联系(假设设备有n 个),如表6.1所示。

图片详情找不到图片(Image not found)

分布仲裁方式

分布仲裁方式不需要中央仲裁器,每个潜在的主模块都有自己的仲裁号和仲裁器。当它们有总线请求时,就会把它们各自唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将从仲裁总线上得到的仲裁号与自己的仲裁号进行比较。若仲裁总线上的仲裁号优先级高,则它的总线请求不予响应,并撤销它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上。

总线操作和定时

总线定时是指总线在双方交换数据的过程中需要时间上配合关系的控制,这种控制称为总线定时,其实质是一种协议或规则,主要有同步和异步两种基本定时方式。

总线传输的4个阶段

一个总线周期通常可分为以下4个阶段:

1) $\color{green}{\text{申请分配阶段}}$ 。由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定将下一传输周期的总线使用权授予某一申请者。也可将此阶段细分为传输请求和总线仲裁两个阶段。

2) $\color{green}{\text{寻址阶段}}$ 。取得使用权的主模块通过总线发出本次要访问的从模块(或从设备)的地址及有关命令,启动参与本次传输的从模块。

3) $\color{green}{\text{传输阶段}}$ 。主模块和从模块进行数据交换,可单向或双向进行数据传送。

4) $\color{green}{\text{结束阶段}}$ 。主模块的有关信息均从系统总线上撤除,让出总线使用权。

同步定时方式

所谓同步定时方式,是指系统采用一个统一的时钟信号来协调发送和接收双方的传送定时关系。时钟产生相等的时间间隔,每个间隔构成一个总线周期。在一个总线周期中,发送方和接收方可以进行一次数据传送。因为采用统一的时钟,每个部件或设备发送或接收信息都在固定的总线传送周期中,一个总线的传送周期结束,下一个总线的传送周期开始。

优点:传送速度快,具有较高的传输速率;总线控制逻辑简单。

缺点:主从设备属于强制性同步;不能及时进行数据通信的有效性检验,可靠性较差。

同步通信适用于总线长度较短及总线所接部件的存取时间比较接近的系统。

异步定时方式

在异步定时方式中,没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号来实现定时控制。通常,把交换信息的两个部件或设备分为主设备和从设备,主设备提出交换信息的“请求”信号,经接口传送到从设备;从设备接到主设备的请求后,通过接口向主设备发出“回答”信号。

优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合。

缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢。

根据“请求”和“回答”信号的撤销是否互锁,异步定时方式又分为以下3种类型。

1) $\color{green}{\text{不互锁方式}}$ 。主设备发出“请求”信号后,不必等到接到从设备的“回答”信号,而是经过一段时间便撤销“请求”信号。而从设备在接到“请求”信号后,发出“回答”信号,并经过一段时间后自动撤销“回答”信号。双方不存在互锁关系,如图6.7(a)所示。

2) $\color{green}{\text{半互锁方式}}$ 。主设备发出“请求”信号后,必须在接到从设备的“回答”信号后,才撤销“请求”信号,有互锁的关系。而从设备在接到“请求”信号后,发出“回答”信号,但不必等待获知主设备的“请求”信号已经撤销,而是隔一段时间后自动撤销“回答”信号,不存在互锁关系。半互锁方式如图6.7(b)所示。

3) $\color{green}{\text{全互锁方式}}$ 。主设备发出“请求”信号后,必须在从设备“回答”后才撤销“请求”信号;从设备发出“回答”信号后,必须在获知主设备“请求”信号已撤销后,再撤销其“回答”信号。双方存在互锁关系,如图6.7(c)所示。

图片详情找不到图片(Image not found)

总线标准

总线标准是国际上公布或推荐的互连各个模块的标准,是把各种不同的模块组成计算机系统时必须遵守的规范。按总线标准设计的接口可视为通用接口,在接口的两端,任何一方只需根据总线标准的要求完成自身方面的功能要求,而无须了解对方接口的要求。

常见的总线标准

目前,典型的总线标准有ISA、EISA、VESA、PCI、PCI-Express、AGP、RS-232C、USB等。它们的主要区别是总线宽度、带宽、时钟频率、寻址能力、是否支持突发传送等。

1)ISA。ISA (Industry Standard Architecture,工业标准体系结构)总线是最早出现的微型计算机的系统总线,应用在IBM的AT机上。

2)EISA。EISA (Extended Industry Standard Architecture,扩展的ISA)总线是为配合32位CPU而设计的扩展总线,EISA对ISA完全兼容。

3)VESA。VESA (Video Electronics Standards Association,视频电子标准协会)总线是一个32位标准的计算机局部总线,是针对多媒体PC要求高速传送活动图像的大量数据应运而生的。

4) PCI。PCI (Peripheral Component Interconnect,外部设备互连)总线是高性能的32位或64 位总线,是专为高度集成的外围部件、扩充插板和处理器/存储器系统设计的互连机制。目前常用的PCI适配器有显卡、声卡、网卡等。PCI总线支持即插即用。PCI总线是一个与处理器时钟频率无关的高速外围总线,属于局部总线。PCI总线可通过桥连接实现多层PCI总线。

5)PCI-Express (PCI-E)。PCI-Express是最新的总线和接口标准,它将全面取代现行的PCI和AGP,最终统一总线标准。

6)AGP。AGP (Accelerated Graphics Port,加速图形接口)是一种视频接口标准,专用于连接主存和图形存储器,属于局部总线。AGP技术为传输视频和三维图形数据提供了切实可行的解决方案。

7) RS-232C。RS-232C (Recommended Standard,RS)是由美国电子工业协会(EIA)推荐的一种串行通信总线,是应用于串行二进制交换的数据终端设备(DTE)和数据通信设备(DCE)之间的标准接口。

8)USB。USB (Universal Serial Bus,通用串行总线)是一种连接外部设备的IO总线,属于设备总线。具有即插即用、热插拔等优点,有很强的连接能力。

9)PCMCIA。PCMCIA (Personal Computer Memory Card International Association)是广泛应用于笔记本电脑的一种接口标准,是一个用于扩展功能的小型插槽。PCMCIA具有即插即用功能。

10)IDE。IDE (Integrated Drive Electronics,集成设备电路),更准确地称为ATA,是一种IDE接口磁盘驱动器接口类型,硬盘和光驱通过IDE接口与主板连接。

11)SCSI。SCSI (Small Computer System Interface,小型计算机系统接口)是一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机等)系统级接口的独立处理器标准。SCSI是一种智能的通用接口标准。

12)SATA。SATA (Serial Advanced Technology Attachment,串行高级技术附件)是一种基于行业标准的串行硬件驱动器接口,是由Intel、IBM、Dell、APT、Maxtor和 Seagate公司共同提出的硬盘接口规范。

本章小结

引入总线结构有什么好处?

引入总线结构主要有以下优点:

${\textstyle\unicode{x2460}}$ 简化了系统结构,便于系统设计制造。

②大大减少了连线数目,便于布线,减小体积,提高系统的可靠性。

③便于接口设计,所有与总线连接的设备均采用类似的接口。

${\textstyle\unicode{x2463}}$ 便于系统的扩充、更新与灵活配置,易于实现系统的模块化。

⑤便于设备的软件设计,所有接口的软件对不同的接口地址进行操作。

${\textstyle\unicode{x2465}}$ 便于故障诊断和维修,同时也能降低成本。

引入总线会导致什么问题?如何解决?

引入总线后,总线上的各个设备分时共享同一总线,当总线上多个设备同时要求使用总线时就会导致总线的冲突。为解决多个主设备同时竞争总线控制权的问题,应当采用总线仲裁部件,以某种方式选择一个主设备优先获得总线控制权,只有获得了总线控制权的设备才能开始数据传送。