一问一答学习计算机组成与设计(二)系统总线

1 概念解释

什么是总线?

总线是共享的信息传输介质,用于连接若干设备,由一组传输线组成,信息通过这组传输线在设备之间进行传送。总线按其所在的位置,分为片内总线、系统总线、通信总线。

什么是信号线复用?

信号线复用指同一组线在不同的时刻传送不同的信号,如:数据/地址线复用时,用一组数据线在总线事务的地址阶段传送地址信息,在数据阶段传送数据信息,这样就使得地址和数据通过同一组线进行传输。

总线宽度和总线带宽的区别

总线中数据线的条数被称为总线的宽度,即总线能同时传送的数据位数,它决定了每次能同时传输的数据信息的位数。用位表示时,也称为总线位宽;用字节表示时,其值为:总线位宽/8。

总线的带宽(总线的数据传输速率)是指单位时间内总线上可传输的数据量。常用MB/s作为计量单位。它与一次总线事务中传输的数据量、以及总线传输周期的宽度有关,一次总线传输时间越短、数据量越多,则总线带宽越高。

总线裁决、集中裁决、分布裁决的概念

决定哪个总线主控设备将在下次得到总线使用权的过程被称为总线裁决。进行总线裁决有多种方案,主要分为集中式和分布式两大类。
集中裁决将控制逻辑做在一个专门的总线控制器或总线裁决器中,通过将所有的总线请求集中起来利用一个特定的裁决算法进行裁决。
分布裁决没有专门的总线控制器,其控制逻辑分散在各个部件或设备中。

同步总线和异步总线的区别

各部件采用时钟信号进行同步,协议简单,因而速度快,接口逻辑很少。但总线上的每个部件必须在规定的时间内完成要求的动作,所以一般按最慢的部件来设计公共时钟。由于时钟偏移问题,同步总线不能很长。 所以,一般同步总线用在部件之间距离短、存取速度较一致的场合。例如:CPU片内总线、处理器-存储器总线大都采用同步方式。
异步总线中没有时钟信号线,每一步操作不靠时钟定时。为了协调异步总线在发送和接收者之间的数据传送,异步总线使用一种握手协议(应答信号)进行通信。允许各设备之间的速度有较大的差异,所以用在具有不同存取速度的设备之间进行通信。一般异步方式只可能被I/O总线采用

PS:握手协议由一系列步骤组成,在每一步中,只有当双方都同意时,发送者或接收者才会进入到下一步,协议是通过一组附加的控制线来实现的。握手协议中的信号被称为握手信号或应答信号。

简述ISA总线、EISA总线、PCI总线、SCSI总线的概念🌟

首先这几类总线都是属于I/O总线,用于为各种I/O设备提供输入、输出通路,在物理上通常是主板上的一些I/O扩展槽。

早期的第一代I/O总线有XT总线、ISA总线、EISA总线、VESA总线,这些总线早已被淘汰。第二代I/O总线包括PCI、AGP、PCI-X。第三代I/O总线是PCI-Express(目前主流)。与前两代I/O总线采用并行传输的同步总线不同,PCI-Express总线采用串行传输方式。

  • ISA总线
    ISA总线是IBM公司1984年为推出PC/AT机而建立的系统总线标准,所以也叫AT总线。它是在原先的PC/XT总线的基础上扩充而来的。ISA总线的主要特点:(1)它能支持64KB I/O地址空间、16MB主存地址空间的寻址,可进行8位或16位数据访问,支持15级硬中断、7级DMA通道。(2)它是一种简单的多主控总线。除了CPU外,DMA控制器、DRAM刷新控制器和带处理器的智能接口控制卡都可称为总线主控制器。(3)它支持8种总线事务类型:存储器读、存储器写、I/O读、I/O写、中断响应、DMA响应、存储器刷新、总线仲裁。
    它使用独立于CPU的总线时钟,时钟频率为8MHz,具有分立的数据线和地址线,数据线宽度为16位,可进行8位或16位数据的传送,因此最大数据传输率为16Mb/s。ISA总线提供了两组地址信号线,即:SA19~ SA0和LA23~LA17,使用这两组地址信号线可以对16MB的主存地址空间和64KB的I/O地址空间进行访问。

  • EISA总线
    EISA总线是一种在ISA总线基础上扩充的开放总线标准。它从CPU中分离出了总线控制权,是一种具有智能化的总线,支持多总线主控和突发传输方式。它的时钟频率为8.33MHz。EISA总线共有198根信号线,在ISA总线的98根线的基础上扩充了100根线,与原ISA总线完全兼容。具有分立的数据线和地址线。数据线宽度为32位,具有8位、16位、32位数据传输能力,所以最大数据传输率为33Mb/s。地址线的宽度为32位,所以寻址宽度为232。即:CPU或DMA控制器等这些主控设备能够对4GB范围的主存地址空间进行访问。

  • PCI总线
    PCI总线是一种高性能的独立于处理器的32位(或64位)局部总线,主要用于高速外设的I/O接口和主机相连。它支持无限突发传输方式,并支持并发工作,即挂接在PCI总线上的外设能与PCI总线并发工作。PCI总线作为CPU和外设之间的一个中间层,PCI桥的使用使PCI总线独立于处理器,并且PCI总线提供了数据缓冲器。可以在主板上和其他系统总线相连接,这样使得系统中的高速设备挂接在PCI总线上,而低速设备仍然通过ISA、EISA等这些低速总线支持。PCI总线采用独立请求式的集中总线裁决方式

  • SCSI总线
    SCSI总线通过SCSI适配器(SCSI接口卡)插在PCI插槽上与主机相连。同时可以有多个(7个或15个或31个)具有SCSI接口的外设与SCSI接口卡连接。例如:扫描仪、绘图仪、外接硬盘等都可以用SCSI方式连到主机。这些设备以菊花链方式连接在SCSI总线上。SCSI总线是一种并行总线,同时传输8位或16位或32位数据,可以采用同步或异步两种方式进行通信。

2 常见问题

数据总线、地址总线和控制总线是分开连接在不同设备上的三种不同的总线吗?

不是。系统总线用来连接计算机中若干主要部件,在这些部件之间传输的信息有数据、地址和一些控制信息,如:命令/定时/总线请求/总线允许/中断请求/中断允许/……等。一般把这些信息分成三类:数据、地址、控制。所以把系统总线也分成三组传输线:数据线、地址线、控制线。有时也把它们分别称为:数据总线、地址总线、控制总线。因此,实际上,数据总线、地址总线、控制总线只是系统总线的三个组成部分,它们不能分开来单独连接设备。

为什么要有总线判优控制?

总线是共享的信息传输介质,同时可以有很多设备连接在一个总线上,但每一时刻只能有一对设备进行信息传送。所以,当有多个设备同时要使用总线传输信息的时候,就要有一种总线判优机制,能在多个请求使用总线的设备中选择一个,让其控制总线来传输信息。否则,如果所有要使用总线的设备都把自己的信息发到总线上,那么就会造成混乱。

一个总线在某一时刻可以有多对主、从设备进行通信吗?

不能,在某一个总线传输周期内,一个总线只能有一个主控设备控制总线,选择一个从设备与之进行通信。所以,某一时刻一个总线不能有多对主、从设备进行通信。

同一个总线不能既采用同步方式又采用异步方式通信,是吗?⭐️

半同步通信总线可以。这类总线既保留了同步通信的特点,又能采用异步应答方式连接速度相差较大的设备。通过在异步总线中引入时钟信号,其就绪和应答等信号都在时钟的上升沿或下降沿有效,而不受其他时间信号的干扰。例如,某个采用半同步方式的总线,总是从某个时钟开始,在每个时钟到来的时候,采样Wait信号,若无效,则说明数据未准备好,下个时钟到来时,再采样Wait信号,直到检测到有效,再去数据线上取数据。PCI总线也是一种半同步总线,它的所有事件在时钟下降沿同步,总线设备在时钟开始的上升沿采样总线信号。

3 重要知识点

3.1 总线结构

  • 单总线结构
    优点:体系结构简单、便于扩充
    缺点:所有传送都共享一组总线,极易使总线成为整个系统的瓶颈,使性能下降。因为多总线结构可根据数据传输的不同要求进行分层次互连,且可以多个总线并行传输。

  • 不分层次的双总线结构
    在单总线基础上再加一条CPU与主存之间的通路,形成以主存储器为中心的双总线结构。

双总线结构

  • 分层次的双总线结构
    将I/O分离出来,集中由IOP管理。将原先的单总线分成主存总线和I/O总线,形成两级双总线结构。

在这里插入图片描述

  • 不分层次的三总线结构
    在以主存为中心的双总线结构中,将I/O和主存从系统总线上分离开来,将原先的系统总线分成主存总线和I/O总线。而在主存和高速的磁盘等设备之间引入一个专门的DMA总线, 形成三总线结构。

在这里插入图片描述

  • 分层次的三总线结构
    CPU和Cache间通过专门的局部总线相连,Cache同时与主存用主存总线相连。引入一条或多条扩展I/O总线,主机和扩展总线上I/O设备间的数据传送通过扩展总线接口来缓冲。

在这里插入图片描述

  • 四总线结构
    Cache在CPU芯片中,CPU通过前端局部总线通过I/O桥连接,I/O桥再通过存储器总线与主存连接。引入分层的I/O总线来连接各类外设。
    4
  • 传统的三芯片结构(CPU+北桥+南桥)
    传统的三芯片结构

3.2 总线裁决

完成一次总线运输,分四个阶段

(1)总线裁决:决定哪个主控设备使用总线
(2)寻址阶段:主控设备送出要访问的主存或设备的地址,同时送出读或写等命令,启动从设备
(3)数据传输阶段:主、从设备间进行数据交换
(4)结束阶段:有关信息在总线上撤销,让出总线使用权
PS:完成一次总线传输就是完成一个总线事务

如何进行总线判优控制?

在这里插入图片描述

  1. 确定总线主控设备。
    主控设备:能发起总线请求并控制总线。如:CPU、IOP
    从设备:只能响应从主控设备发来的总线命令。如:主存
  2. 利用总线裁决决定哪个主控设备将得到总线使用权。
  3. 只有具有总线使用权的主控设备才能控制总线。

裁决方案应在哪两个因素间进行平衡?

  • 等级性:具有高优先级的设备应该先被服务 。
  • 公平性:即使是具有最低优先权的设备也不能永远得不到总线使用权。

集中式总线判优方式有哪几种?各有什么特点

  • 菊花链查询
    在这里插入图片描述
    基本思想:三根线用于总线控制(BS-总线忙、BR-总线请求、BG-总线允许)。BG从最高优先权设备依次向最低设备串行传送。若BG到达的设备有总线请求,则BG信号不再往传,该设备建立总线忙BS信号,表示它已获得了总线使用权。
    优点:简单、易扩充设备。
    缺点:不能保证公正性、对电路故障敏感、菊花链使速度变慢。

  • 计数器定时查询
    在这里插入图片描述
    基本思想:比菊花链多一组设备线,无BG线。接收到总线请求信号后,在BS=0(不忙)的情况下,计数器计数,并将计数值由设备线发出。当某个有总线请求的设备号与计数值一致时,该设备便获得总线使用权,此时终止计数查询,同时该设备建立总线忙BS信号。
    优点:灵活(优先级可通过设置不同的计数初值而改变)、对电路故障不如菊花链查询那样敏感。
    缺点:增加了一组设备线、总线设备控制逻辑变复杂(需对设备号进行译码比较等)。

  • 独立请求

独立

基本思想:各设备有一对总线请求线和总线允许线。当某设备要使用总线时,对应总线请求线将请求信号送总线控制器。它有一个判优电路,可根据各设备优先级确定选择哪个设备使用总线。控制器可给各请求线以固定优先级,也可设置可编程优先级。
优点: ① 响应速度快。② 如果是可编程的总线控制器,则优先级可灵活设置。
缺点: 控制逻辑复杂,控制线数量多。

若n表示允许挂接的最大设备数,则菊花链方式只需两根裁决线,计数查询方式大致需用log2n根裁决线,而独立请求方式则需用2n根裁决线。

3.3 总线定时

什么是总线定时,它的目的是什么?

取得总线控制权后,定义总线事务中的每一步何时开始、何时结束。
解决主、从设备如何获知传输开始和传输结束,以及通信双方如何协调进行数据通信。

定时方式有哪几种,各自有什么特点?

  • 同步控制方式
    这种控制方式有一个时钟信号线,总线上所有设备都从这个时钟线上获得定时信号,一定频率时钟信号定义了等间隔的时间段,这个固定时间段为一个时钟周期。
    每种总线操作都有一个确定的通信协议(规定在每个时钟周期内交换哪些信息)。例如,在处理器-主存总线上执行存储器读操作,其协议为:在第1个时钟周期发送地址和存储器读命令,然后存储器被要求在第5个时钟将数据放到总线上。
    优点:① 可采用突发(burst)传输方式,速度快。 ② 接口逻辑少(因为协议简单)。
    缺点:① 总线上每个设备必须以同样的时钟速率进行工作。② 由于时钟偏移问题,同步总线不能很长。

  • 异步通信方式
    在这里插入图片描述
    完成一次异步通信方式共需7次握手,包含两次应答过程,分别用来传送地址和数据。
    三条控制线:
    (1)ReadReq: 读请求,告诉从设备进行读操作,地址信息同时送到地址/数据线上
    (2)DataRdy: 数据就绪,从设备已准备好数据,主设备可取,数据同时送到地址/数据线上
    (3)Ack: 回答信号线,表示已收到对方的请求信号
    PS:
    异步通信有三种方式:(1)非互锁方式;(2)半互锁方式;(3)全互锁方式。
    lock up
    异步通信优缺点:
    优点: 灵活,可挂接各种具有不同工作速度的设备。
    缺点:①对噪声较敏感(握手信号随时会发出)。②接口逻辑较复杂。

  • 半同步通信控制
    半
    为解决异步通信对噪声敏感的问题,一般在异步总线中引入时钟信号,就绪和应答等定时信号(如Wait信号、TRDY和IRDY信号等)在时钟信号到达时采样,使信号有效时间限制在时钟到达的时刻,而不受其他时间信号的干扰。
    半同步方式结合了同步和异步的优点。既保持了“所有信号都由时钟定时”的特点,又允许“不同速度设备共存于总线”。

  • 分离式通信控制
    分
    分离式通信控制将传输事务分成两个子过程:
    子过程1:主控设备A在获得总线使用权后,将请求的事务类型(即总线命令)、地址以及其他有关信息(如标识主控设备身份的编号等)发送到总线上,从设备B记录下这些信息。A发完后便立即释放总线,其他设备便可使用总线。
    子过程2:B收到A发来的信息后,就按照其请求的命令进行相应的操作,当准备好A所需的数据后,B便请求使用总线,一旦获得使用权,则B就将A的编号及所需的数据等送到总线上,这样A便可接收数据。

什么是突发传输方式?

突发(burst)传输方式:给出首地址、读/写命令和突发长度(BL)后,在数据传输阶段连续进行多个数据读写。在数据传输阶段,可能一个时钟周期内传输多次数据,因此,工作频率等于时钟频率的若干倍
burst

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值