计组组成篇1-计算机系统总线

338 阅读7分钟

欢迎大家关注 github.com/hsfxuebao ,希望对大家有所帮助,要是觉得可以的话麻烦给点一下Star哈

冯诺依曼机把计算机划分为重要的五大组成部分:输入设备、输出设备、存储器、运算器和控制器,本章将来探讨五大组成部分的细节,以及各自的工作原理。

数字计算机是由若干系统功能部件构成的,这些系统功能部件在一起工作才能形成一个完整的计算机系统

1. 总线的基本概念(重点)

1.1 总线定义

  • 计算机的若干功能部件之间不可能采用全互联形式,因此就需要有公共的信息通道,即总线。
  • 总线是构成计算机系统的互联机构,是多个系统功能部件之间进行数据传送的公共通路。借助于总线连接,计算机在各系统功能部件之间实现地址、数据和控制信息的交换,并在争用资源的基础上进行工作。

总线可分为以下几类:

  • 内部总线CPU内部连接各寄存器及运算器部件之间的总线。
  • 系统总线外部总线CPU和计算机系统中其他高速功能部件相互连接的总线。
  • I/O总线中低速I/O设备相互连接的总线

1.2 总线的特性

总线的特性可分为:物理特性、功能特性、电气特性、时间特性

  • 物理特性:总线的物理连接方式(根数、插头、插座形状,引脚排列方式)
  • 功能特性:每根线的功能
  • 电气特性:每根线上信号的传递方向及有效电平范围。
  • 时间特性:规定了每根总线在什么时间有效。

1.3 总线的标准化

相同的指令系统,相同的功能,不同厂家生产的各功能部件在实现方法上几乎没有相同的,但各厂家生产的相同功能部件却可以互换使用,其原因何在呢?

  • 为了使不同厂家生产的相同功能部件可以互换使用,就需要进行系统总线的标准化工作。目前,已经出现了很多总线标准,如PCI、ISA等。

  • 采用标准总线的优点

    • 简化系统设计简化系统结构,提高系统可靠性
    • 便于系统的扩充和更新

1.4 总线带宽

总线本身所能达到的最高传输速率
单位:兆字节每秒(MB/s)

  • 一次操作可以传输的数据位数
  • 如S100为8位,ISA为16位,EISA为32位,PCI-2可达64位。
  • 总线宽度不会超过微处理器外部数据总线的宽度。

【例1】(1)某总线在一个总线周期中并行传送4个字节的数据,假设一个总线周期等于一个总线时钟周期,总线时钟频率为33MHz,总线带宽是多少?
(2)如果一个总线周期中并行传送64位数据,总线时钟频率升为66MHz,总线带宽是多少?

解:(1)设总线带宽用Dr表示,总线时钟周期用T=1 / f表示,一个总线周期传送的数据量用D表示
根据定义可得Dr = D / T = D×(1 / T)= D×f = 4B×33×10^6/s = 132MB/s
(2)64位=8B
Dr=D×f=8B×66×10^6/s=528MB/s

1.5 总线的连接方式

  • 外围设备种类繁多,速度各异,不可能简单地把外围设备连接到CPU上。

  • 适配器(接口) :实现高速CPU与低速外设之间工作速度上的匹配和同步,并完成计算机和外设之间的所有数据传送和控制。

  • 大多数总线以相同方式构成,不同之处在于总线中数据线和地址线的宽度以及控制线的多少及其功能。

  • 单机系统中总线结构的两种基本类型:

    • 单总线:使用一条单一的系统总线来连接CPU、内存和I/O设备

      • 特点:在单总线结构中,要求连接到总线上的逻辑部件必须高速运行,以便在某些设备需要使用总线时,能迅速获得总线控制权;而当不再使用总线时,能迅速放弃总线控制权。
      • 否则,由于一条总线由多种功能部件共用,可能导致很大的时间延迟图 单总线结构
    • 多总线:在CPU、主存、I/O之间互联采用多条总线。如图所示。

      • 高速的CPU总线:CPU和cache之间采用
      • 系统总线:主存连在其上。高速总线上可以连接高速LAN(100Mb/s局域网)、视频接口、图形接口、SCSI接口(支持本地磁盘驱动器和其他外设)、Firewire接口(支持大容量I/O设备)。高速总线通过扩充总线接口与扩充总线相连,扩充总线上可以连接串行方式工作的I/O设备。
      • 通过桥CPU总线、系统总线和高速总线彼此相连。桥实质上是一种具有缓冲、转换、控制功能的逻辑电路
      • 多总线结构体现了高速、中速、低速设备连接到不同的总线上同时进行工作,以提高总线的效率和吞吐量,而且处理器结构的变化不影响高速总线多总线结构

2. 总线的分类

2.1 片内总线

  • 芯片内部的总线
  • 可连接寄存器与寄存器、寄存器与控制器、运算器等
  • 高集成度芯片内部的信息传输线,大大简化芯片内的电路结构

2.2 系统总线

  • 连接计算机各种设备的总线

2.2.1 数据总线

  • 双向传输各个部件的数据信息
  • 数据总线的位数(总线宽度)是数据总线的重要参数,一般与CPU位数相同

2.2.2 地址总线

  • 指定源数据或目的数据在内存中的地址,如果地址总线位数=n,则寻址范围为0~2^n
  • 地址总线的位数与存储单元有关

2.2.3 控制总线

  • 控制总线是用来发出各种控制信号的传输线
  • 控制信号经由控制总线从一个组件发给另外一个组件
  • 控制总线可以监视不同组件之间的状态(就绪/未就绪)

3. 总线的仲裁

3.1 为什么需要总线的仲裁?

  • 假设主存需要和硬盘、I/O设备交换数据,硬盘和I/O设备均已准备就绪,总线应该由哪个使用,需要仲裁器解决这个矛盾问题,否则会引起设备之间的冲突
  • 仲裁器是为了解决总线使用权的冲突问题

3.2 总线的仲裁方法

3.2.1 链式查询

  • 假设设备2 需要使用总线,设备2通过仲裁控制线向仲裁控制器发送总线使用的请求
  • 仲裁控制器接收到请求后,发出允许使用的信号
  • 信号会通过链式优先进入设备1,如果设备1不需要使用的话,会进入设备2,设备2拿到信号后就可以使用总线
  • 如果设备1和设备2均发送使用请求,则会按照链式顺序依次使用总线

链式查询的优缺点

  • 好处:电路复杂度低,仲裁方式简单

  • 坏处:

    • 优先级低的设备难以获得总线的使用权
    • 对电路的故障敏感

3.2.2 计时器定时查询

  • 仲裁控制器对设备编号并使用计数器累计计数
  • 接收到仲裁信号后,往所有设备发出当前计数值
  • 计数值与设备编号一致则获得总线使用权

3.2.3 独立请求

  • 每个设备均有总线独立连接仲裁器
  • 设备可单独向仲裁器发送请求和接收请求
  • 当同时收到多个请求信号,仲裁器有权按照优先级分配使用权

独立请求的优缺点

  • 好处:响应速度快,优先顺序可动态改变
  • 坏处:设备连线多,总线控制复杂

参考文章

计算机组成原理之组成篇
计算机组成原理复习总结