计算机组成原理|第三章(笔记)

news2024/10/3 10:37:22

目录

  • 第三章 系统总线
    • 3.1 总线的基本概念
    • 3.2 总线的分类
      • 3.2.1 片内总线
      • 3.2.2 系统总线
      • 3.2.3 通信总线
    • 3.3 总线特性及性能指标
      • 3.3.1 总线的特性
      • 3.3.2 总线性能指标
    • 3.4 总线结构
      • 3.4.1 单总线结构
      • 3.4.2 多总线结构
      • 3.4.3 总线结构举例
    • 3.5 总线控制
      • 3.5.1 总线判优控制
      • 3.5.2 总线通信控制


上篇:第二章:计算机的发展及应用

第三章 系统总线


3.1 总线的基本概念

计算机系统的五大部件之间的互连方式有两种,一种是各部件之间通过单独的连线,叫做分散连线;另一种是将各部件连到一组公共信息的传输上,叫做总线连接。早期的计算机大多数都使用分散连接方式,但是这种连接方式连线十分复杂,不仅会影响 CPU 的工作效率,而且无法解决主机和 I/O 设备之间连接的灵活性,所以之后计算机都采用总线连接方式。

总线是连接多个部件的信息传输线,是各部件共享的传输介质。在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。

单总线结构框图:
在这里插入图片描述
该结构只有一组总线,当某一时刻各部件都要占用时,就会出现争夺现象,比如主存M.M 通过 I/O 接口进行数据传输的话,主存和 CPU 之间就无法利用这条总线进行数据传输,如果不采取特殊的技术措施的话,那么 CPU 执行程序的过程就会停止,则将严重的影响 CPU 的运行效率。

要解决单总线存在的争夺现象,可以引入多组总线,让数据尽可能的并行传输。

面向 CPU 的双总线结构框图:

在这里插入图片描述
其中一组总线连接 CPU 和主存,叫存储总线(M 总线),另一组用来建立 CPU 和各 I/O 之间的信息的通道,叫输入/输出总线(I/O 总线),各种 I/O 设备通过 I/O 接口挂到 I/O 总线上,这种结构在 I/O 设备与主存交换信息时仍然要占用 CPU,因此还会影响 CPU 的工作效率。

以存储器为中心的双总线结构框图:

在这里插入图片描述
它是在单总线基础上,又单独开辟一条 CPU 与主存之间的通路,叫存储总线。这组总线速度高,只供主存与 CPU 之间传输信息,这样既提高了传输效率,又减轻了系统总线的负担,还保留了 I/O 与存储器交换信息时不经过 CPU 的特点。


3.2 总线的分类

在这里插入图片描述

以下按照连接部件的不同介绍总线。


3.2.1 片内总线

片内总线是指芯片内部的总线,如在 CPU 芯片内部,寄存器与寄存器之间、寄存器与算逻单位 ALU 之间都有总线连接。


3.2.2 系统总线

系统总线是指 CPU、主存、I/O(通过 I/O 接口)各大部件之间的信息传输线。由于这些部件通常都制作在各个插件板上,故又叫作板级总线和板间总线。

按系统传输信息的不同,又可分为三类:数据总线地址总线控制总线

  • 数据总线:用来传输各功能部件之间的数据信息,它是双向传输总线,与机器字长、存储字长有关。
  • 地址总线:用来指出数据总线上的源数据或目的数据在主存单元的地址,它是单向传输的,与存储地址、I/O 地址有关。
  • 控制总线:用来发出各种控制信号的传输线。

3.2.3 通信总线

通信总线用于计算机之间或计算机系统与其他系统之间的通信。由于这类联系涉及到许多方面,如外部连接、距离远近、速度快慢、工作方式等等,差别极大,因此通信总线的类别很多。但按传输方式可分为两种:串行通信总线并行通信总线


3.3 总线特性及性能指标


3.3.1 总线的特性

总线结构的物理实现:

在这里插入图片描述
总线是一组电导性,CPU、M.M、I/O 都是部件插板,它们通过插头与水平方向总线插槽连接。

总线的特性:

  • 机械特性:是指总线在机械连接方式上的一些性能,例如:尺寸、形状、引脚个数及排列顺序等。
  • 电气特性:是指总线的每一根传输线上信号的传递方向和有效的电平范围。
  • 功能特性:是指总线中每根传输线的功能。
  • 时间特性:是指总线中的任一根线在什么时间内有效。

3.3.2 总线性能指标

总线的性能指标包括:

  1. 总线宽度:它是指数据总线的根数。
  2. 标准传输率:即在总线上每秒能传输的最大字节量。
  3. 时钟同步/异步:总线上的数据与时钟同步工作的总线称为同步总线,与时钟不同步工作的总线称为异步总线。
  4. 总线复用:地址线和数据线复用。
  5. 信号线数:地址线、数据线和控制线的总和。
  6. 总线控制方式:突发、自动、仲裁、逻辑、计数。
  7. 其他指标:负载能力等

总线的标准:

目前流行的总线标准有:ISA、EISA、VL-BUS、PCI 等等。

在这里插入图片描述


3.4 总线结构

总线结构通常可分为单总线多总线两种。


3.4.1 单总线结构

在这里插入图片描述
它是将 CPU、主存、I/O 设备都挂在一组总线上,允许 I/O 之间或 I/O 与主存之间直接交换信息。这种结构简单,也便于扩充,但所有的传送都通过这组共享总线,因此极易形成计算机系统的瓶颈。它也不允许两个以上的部件在同一时刻向总线传输信息,这就必然会影响系统工作效率的提高。


3.4.2 多总线结构

双总线结构:
在这里插入图片描述
双总线结构的特点是将速度较低的 I/O 设备从单总线上分离出来,形成主存总线与 I/O 总线分开的结构。通道是一个具有特殊功能的处理器,CPU 将一部分功能下放给通道,使其对 I/O 设备具有统一管理的功能,以完成外部设备与主存之间的数据传送。

三总线结构:
在这里插入图片描述
主存总线用于 CPU 与主存之间的传输;I/O 总线供 CPU 与各类 I/O 之间的传递信息;DMA 总线用于高速外设(磁盘、磁带等)与主存之间直接交换信息。在三总线结构中,任一时刻只能使用一种总线,主存总线与 DMA 总线不能同时对主存进行存取,I/O 总线只有在 CPU 执行 I/O 指令时才用到。

另一种三总线结构:
在这里插入图片描述
处理器与高速缓冲存储器 Cache 之间有一条局部总线,它将 CPU 与 Cache 或与更多的局部设备连接,Cahce 和主存都连接到系统总线上,而且 I/O 与主存之间的传输也不必通过 CPU,还有一条扩展总线将局域网、小型计算机接口、调制解调器以及串行接口等都连接起来。扩展总线由通过扩展总线接口与系统总线相连,由此实现这两种总线之间的信息传递。

四总线结构:
在这里插入图片描述
四总线结构的出现是为了进一步提高 I/O 性能,增加一条与计算机系统紧密相连的高速总线,在高速总线上挂接一些高速性能的外设,而一些低速的设备仍然挂在扩展总线上,将高速设备与低速设备进行分类组织,并由扩展总线接口与高速总线相连,使数据传输效率更高。


3.4.3 总线结构举例

传统微型机总线结构:
在这里插入图片描述

VL-BUS 局部总线结构:
在这里插入图片描述

PCI 总线结构:
在这里插入图片描述

多层 PCI 总线结构:
在这里插入图片描述


3.5 总线控制

总线上连接了多个设备,设备之间要进行通信,就必须解决总线判优控制和总线通信控制连个问题:

  • 总线判优控制问题:多个设备可能同时向总线占用总线的请求,到底哪个设备来使用总线,因为总线在同一时刻,只能有一对设备能进行使用。
  • 总线通信控制问题:这对设备占用了总线以后,就要进行通信,如何完成这一通信过程,保证通信过程的正确性

3.5.1 总线判优控制

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

  • 主设备(模块):对总线有控制器
  • 从设备(模块):响应从主设备发来的总线命令

总线判优控制可分为集中式和分布式两种,集中式又分为链式查询、计数器定时查询和独立请求方式三种。

  • 集中式
    • 链式查询
    • 计数器定时查询
    • 独立请求方式
  • 分布式

链式查询:
在这里插入图片描述
图中控制总线中有三根线用于总线控制(BS总线忙、BR总线请求、BG总线同意),其中总线同意信号 BG 是串行地从一个 IO 接口送到下一个 IO 接口。如果 BG 到达的接口有总线请求,BG 信号就不再往下传,意味着该接口获得了总线使用权,并建立总线忙 BS 信号,表示它占用了总线。可见在查询链中,离总线控制部件最近的设备具有最高的优先级。这种方式的特点是:只需银少几根线就能按一定优先次序实现总线控制,并且很容易扩充设备,但对电路故障很敏感。

计数器定时查询:
在这里插入图片描述
与链式查询相比,多了一组设备地址线,少了一根总线同意线BG。总线控制部件接到由 BR 送来的总线请求信号后,在总线未被使用(BS-0)的情况下,由计数器开始计数,向各设备发出一组地址信号。当某个有总线请求的设备地址与计数值一致时,便获得总线使用权,此时终止计数查询。这种方式的特点是:计数可以从“0”开始,此时设备的优先次序是固定的;计数也可以从终止点开始,即是一种循环方法,此时设备使用总线的优先级相等;计数器的初始值还可由程序设置,故优先次序可以改变。此外,对电路故障不如链式查询方式敏感,但增加了主控制线(设备地址)数,控制也较复杂。

独立请求方式:
在这里插入图片描述
每一设备均有一对总线请求线 BRi 和总线同意线 BGi 。当设备要求使用总线时,便发出该设备的请求信号。总线控制部件中有一排队电路,可根据优先次序确定响应哪一设备的请求。这种方式的特点是:响应速度快,优先次序控制灵活(通过程序改变),但控制线数量多,总线控制更复杂。链式查询中仅用两根线确定总线使用权属于哪个设备,在计数查询中大致用 log2n 根线,其中 n 是允许接纳的最大设备数,而独立请求方式需采用 2n 根线。


3.5.2 总线通信控制

总线通信控制的目的是为解决通信双方协调配合问题。

总线在完成一次传输周期时,可分为四个阶段:

  • 申请分配阶段:主模块提出申请,总线仲裁决定
  • 寻址阶段:主模块向从模块给出地址和命令
  • 传数阶段:主模块和从模块交换数据
  • 结束阶段:主模块撤消有关信息

总线通信的四种方式:

  • 同步通信:由统一时标控制数据传送
  • 异步通信:采用应答方式,没有公共时钟标准
  • 半同步通信:同步、异步结合
  • 分离式通信:充分挖掘系统总线每个瞬间的潜力

(1)同步通信

总线传输周期是总线上两个部件完成一次完整而可靠的传输时间,它包括 4 个时钟周期 T1、T2、T3、T4

同步式数据输入传输:
在这里插入图片描述

对于读命令,其传输周期为:

  • T1:主模块发地址
  • T2:主模块发读命令
  • T3:从模块提供数据
  • T4:主模块撤消读命令

同步式数据输出传输:
在这里插入图片描述
对于写命令,其传输周期为:

  • T1:主模块发地址
  • T1.5:主模块提供数据
  • T2:主模块发出写命令,从模块接收到命令后,必须在规定时间内将数据总线上的数据写到地址总线所指明的单元中
  • T4:主模块撤消写命令和数据等信号

这种通信的优点是规定明确、统一。模块间的配合简单一致。其缺点是主从模块时间配合属性强制性 “同步” ,必须在限定时间内完成规定的要求。并且对所有从模块都用同一限时,这就势必造成对各不相同速度的部件而言,必须按最慢速度部件来设计公共时钟,严重影响总线的工作效率,也给设计带来了局限性,缺乏灵活性。

(2)异步通信

异步通信克服了同步通信的缺点,允许各模块速度的不一致性,没有公共的时钟标准,不要求所有部件严格的统一动作时间,而是采用应答方式(又称握手方式),即当主模块发出请求信号时,一直等待从模块反馈回来 “响应” 信息后,才开始通信。

异步通信方式可分为不互锁半互锁全互锁三种类型。

不互锁方式:
在这里插入图片描述
主模块发出请求信息后,不等待接到从模块的回答信号,而是经过一段时间,确认从模块已收到请求信息后,便撤消其请求信号;从设备接到请求信号后,在条件允许时发出回答信号,并且经过一段时间,确认设备已收到回答信号后,自动撤消回答信号。

半互锁方式:
在这里插入图片描述
主模块发出请求信号,待接到从模块的回答信号后再撤消其请求信号,存在着简单的互锁关系;而从模块发出回答信号后,不等待主模块回答,在一段时间后便撤消其回答信号,无互锁关系。故称半互锁方式。

全互锁方式:
在这里插入图片描述
主模块发出请求信号,待从模块回答后再撤消其请求信号;从模块发出回答信号,待主模块获知后,再撤消其回答信号。故称全互锁方式。

(3)半同步方式

半同步集同步和异步的优点,既保留了同步通信的基本特点,如发送方用系统时钟前沿发信号,而接收方用系统时钟后沿判断、识别。同时又像异步通信那样,允许不同速度的模块和谐工作。为此增设了一条 “等待”(WAIT)响应信号线

在这里插入图片描述

以读命令为例,半同步通信时序可为:

  • T1:主模块发地址
  • T2:主模块发命令
  • Tw:当 WAIT 为低电平有效时,进入等待,其间隔与 T 统一
  • Tw:当 WAIT 为低电平有效时,进入等待,其间隔与 T 统一
  • … …
  • T3:从模块提供数据
  • T4:从模块撤消数据

半同步通信控制方式的优点是比异步通信简单,在全系统内各模块又在统一的系统时钟控制下同步工作,可靠性较高,同步结构较方便。其缺点是对系统时钟频率不能要求太高,故从整体上来看,系统工作的速度还是不太高。

(4)分离式通信

以上三种通信方式都是从主模块发出地址和读写命令开始,直到数据传输结束,在一个总线传输周期中(以输入数据为例),它们的共同点如下:

  1. 主模块通过传输总线向从模块发送地址和命令 ------- 占用总线
  2. 从模块按照命令进行读数据的必要准备 ---------------- 不占用总线,总线空闲
  3. 从模块经数据总线向主模块提供数据 ------------------- 占用总线

由此可见,对系统总线而言,从模块内部读出过程并无实质性的信息传输,纯属空闲等待。为了克服和利用这种消极等待,充分挖掘系统总线每瞬间的潜力,为此人们提出了 “分离式” 的通信方式。

分离式通信的基本思想是将一个传输周期(或总线周期)分解为两个子周期。

  • 第一个子周期:主模块申请占用总线,使用完后,即放弃总线的使用权
  • 第二个子周期:从模块申请占用总线(这个时候从模块实际变成了主模块),将各种信息送至总线上

分离式通信的特点:

  1. 各模块都有权申请占用总线
  2. 采用同步方式通信,不等对方回答
  3. 各模块准备数据时,不占用总线
  4. 总线被占用时,无空闲

上篇:第二章:计算机的发展及应用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/397276.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ALG和STUN

目录 ALG 应用层网关讲解 Client1使用FTP主动模式建立FTP Client1使用FTP被动模式建立FTP STUN讲解 ALG 应用层网关讲解 用来替换应用层信息 Client1使用FTP主动模式建立FTP 主动模式:服务器收到客户端发来的请求FTP的地址和端口 服务器使用20端口直接向客户端建…

webpack dll 提升构建速度

DLL,动态链接库(Dynamic Link Library 或者 Dynamic-link Library),由微软公司提出。目的是为了节约应用程序所需的磁盘和内存空间。 在一个传统的非共享库中,如果两个程序调用同一个子程序,就会出现两份那…

Redis-6集群

文章目录前言Redis集群原理搭建Redis集群集群拓展后记前言 前两期介绍和搭建了Redis的主从复制架构和哨兵模式,虽然哨兵模式能够实现自动故障转移主备切换,一定程度上提高了系统的容错性 但这两种架构模式都不能解决单节点的并发压力和物理上线的问题&…

行测-判断推理-图形推理-样式规律-空间重构-立体拼合

有凸必有凹,排除A CD显然不对选BA和4能组成长方体B和3能组成长方体C和1能组成长方体选D这两个东西应该在同一侧,排除A C中间应该要由凸起,排除D选B图1向左旋转90图2逆时针旋转90选A

内网环境解决SSL证书问题

本来这个没什么好写的,但是坑实在有点多,不得不写个文章记录下来。 创建证书看这里!!! 很多知识点要结合这个页面内容来看。 创建证书已经看过相关文章,然后用unity跑的时候发现连不上,完全没…

【Go】基于VS Code配置Go语言环境

教程 1. 安装go环境 打开官网:https://go.dev/dl/,找到对应系统的环境文件。 安装完成后软件会自动把路径添加到环境变量,可以在命令行中检验一下 2. 在VS Code中安装必要的插件 这一步我理解的就是提供语法高亮和代码提示 3. 打开一个路…

基于智能边缘和云计算的数字经济服务细粒度任务调度机制

数字经济被各国视为推动经济增长的必然选择,为经济高质量发展提供了新机遇、新路径。对于中国市场而言,云计算背后的强大基础是数字经济不可阻挡的发展趋势。在数字经济中,云作为基础设施成为构建数字经济金字塔的基础。为缓解数字经济服务器…

Windows下实现Linux内核的Python开发(WSL2+Conda+Pycharm)

许多软件可以通过Python交互,但没有开发Windows版本,这个时候装双系统或虚拟机都很不方便,可以采取WSL2CondaPycharm的策略来进行基于Linux内核的Python开发。启动WSL2,安装Linux内核教程:旧版 WSL 的手动安装步骤 | M…

交并比(IOU)的计算方法

交并比(IOU, Intersetion Over Union),意思就是交集和并集的比值,用来评价两个几何图形的面积重合度,在目标检测算法模型中,通常被用来计算预测框与真实框的误差(损失函数)或者在非极大值抑制&a…

便捷式储能电源核心技术--单相逆变器设计

便捷式储能电源核心技术–单相逆变器设计 1.逆变器的规格参数 输入电压直流400V输出电压交流rms220V开关频率10kHz滤波电容6.23uF控制方式单极性倍频2.视频学习链接 视频学习链接 3.主电路仿真设计

日志服务搭建-ES-FileBeat-Kibana

1次订单量突增问题,导致了有几个数据没有录库,但是确有支付的记录,啥玩意,还能有这个操作,组内安排问题定位,解决,一看打出来的日志,只有支付有,生成订单这边没有&#x…

读书笔记-终身学习

前言人需要终身成长,也需要终身学习,以下是记录个人读书学习的笔记总结,希望能给大家一点借鉴,仅供参考。笔记1、《匠人精神》秋山利辉是日本神奈川县横滨市都筑区“秋山木工”的经营者,从事订制家具制作业务。是一家小…

Pinia不酸,保甜

为什么是Pinia 怎么说呢,其实在过往的大部分项目里面,我并没有引入过状态管理相关的库来维护状态。因为大部分的业务项目相对来说比较独立,哪怕自身功能复杂的时候,可能也仅仅是通过技术栈自身的提供的状态管理能力来处理业务场景…

使用Git Hook技术定义和校验代码提交模板

1.背景 使用Git做项目的版本控制时,在版本系统中会有很多的代码的提交记录,我们使用git log命令就会得到如下图中的提交记录: 当我们的项目比较简单,规模较小、开发人员也只有一两个的时候,其实可以不用定义代码的提…

HTML,JavaScript,JQuery合集

表单 <!DOCTYPE html> <html> <head><meta name"author" content"Yeeku.H.Lee(CrazyIt.org)" /><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title> 访问表单控件 <…

cli 开发工具 - NodeJS、Borwser 中制作漂亮的炫彩控制台

cli 界面制作、颜色计算工具 - JC Color 帮你在 NodeJS、Borwser 中制作漂亮的炫彩控制台 homepage&#xff1a;http://thispage.tech:9680/jclee1995/jc-color github&#xff1a;https://github.com/jacklee1995/jc-color npm&#xff1a;https://www.npmjs.com/package/jc-c…

2023年场外个股期权研究报告

第一章 概况 场外个股期权&#xff08;Over-the-Counter Equity Option&#xff09;&#xff0c;是指由交易双方根据自己的需求和意愿&#xff0c;通过协商确定行权价格、行权日期等条款的股票期权。与交易所交易的标准化期权不同&#xff0c;场外个股期权的合同内容可以根据交…

轻松学会css变量

css变量太无敌啦css变量是啥&#xff1f;css变量的语法css变量的使用场景主体切换响应式设计统一风格动态效果展示一下css变量是啥&#xff1f; CSS变量是一种用于存储和重复使用值的方法。它们可以在选择器中声明&#xff0c;并在整个样式表中使用。使用CSS变量可以提高代码的…

Kettle工具通过JNDI连接Oracle集群

我们在用Kettle ETL工具的时候&#xff0c;可能会遇到数据库为Oracle集群的模式&#xff0c;或者有时候目标库为oracle&#xff0c;在持续的循环调度中&#xff0c;经常发现oracle的数据库连接中断的情况&#xff0c;此时&#xff0c;在Kettle中有一个JNDI的连接方式能很好的解…

【LeetCode每日一题】——376.摆动序列

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【题目提示】八【题目进阶】九【时间频度】十【代码实现】十一【提交结果】一【题目类别】 贪心算法 二【题目难度】 中等 三【题目编号】 376.摆动序列 四【题目描述】…