计算机组成原理_总线

news/2024/10/30 11:28:41/

计算机组成原理总目录

总线概述

1. 总线介绍

我们知道计算机中有CPU、主存、辅存,以及打印机、键盘、鼠标等等的一些外设
那么各个设备之间肯定是要进行数据传输的,这就需要许多线路将它们连接起来

  • 第一种方法:两两相联
    外设数量越多,线路越多=成本越高,且布线繁琐,可扩展性差

在这里插入图片描述

  • 第二种方法:所有设备共用一条线路,即总线
    但在多个设备都在工作占用线路时,不可避免会发生数据冲突

在这里插入图片描述

2. 总线结构

在存储系统中,我们已知读写数据需要《地址线》指明数据的位置,还需要《数据线》将数据取走
那么总线也必然包含《地址总线》和《数据总线》
在这里插入图片描述
由于所有设备都共用总线,那么就必然会在多个设备同时数据传输时发生冲突
那么为了避免冲突,我们就需要一组指挥棒合理地给每一对设备分配传输时间,这组指挥棒就是《控制总线》
在这里插入图片描述

综上所述可得,总线主要包含三类总线,分别为《地址总线》、《数据总线》、《控制总线》,统称为总线
在这里插入图片描述

  1. 单总线结构
    单总线结构即以上介绍的总线结构,所有设备都接在总线下

在这里插入图片描述

  1. 双总线结构
    对于通过I/O接口连接的辅存以及键盘、鼠标、打印机这些慢速设备,慢速设备占用总线时会花更多的时间
    这难免会影响到CPU和主存高速设备之间的占用时间,而双总线结构则是将慢速设备隔离开来解决速度不匹配的问题
    其中一条是主存总线用于CPU、主存、通道之间的数据传输,另一条为I/O总线,用于多个外设和通道的数据传输

在这里插入图片描述

  1. 三总线结构
    当然,即便是外部设备,也有速度较快的高速外设,三总线结构则为高速外设提供了第三条总线——DMA总线
    该总线用于高速外设和主存的数据传输,即高速外设可直接访问主存

在这里插入图片描述

3. 总线特性

  1. 物理特性:又称机械特性,指总线上部件在物理上的一些特性,如插头与插座的几何尺寸、形状、引脚个数及排列顺序等。

  1. 功能特性:功能特性是指每一根信号线的功能,如地址总线用来表示数据的地址、数据总线用来表示传输的数据,控制总线表示总线上操作的命令、状态等。

  1. 电气特性:电气特性是指每一根信号线上的信号方向及表示信号有效的电平范围

  1. 时间特性:时间特性指在总线操作过程中每一根信号线上信号什么时候有效,通过这种信号有效的时序关系约定,确保了总线操作的正确进行。

4. 总线分类

一、按物理特性分类

  1. 串行总线:仅需一条线路来传输数据,可以理解为一条路的宽度只能让一辆车行驶
    优点:成本低,适用于长距离传输,节省布线空间
    缺点:数据接收和发送时需要考虑串行和并行的转换
    在这里插入图片描述
  2. 并行总线:包含多条线路同时传输数据,可以理解为一条路能并排行驶多辆车
    优点:电路实现容易
    缺点:成本高,占用空间大,多条线路之间存在干扰
    在这里插入图片描述

二、按功能特性分类

  1. 片内总线:CPU芯片内部部件之间相互通信的总线
  2. 系统总线:计算机各个部件(CPU、主存、外设接口)之间进行通信的总线
  3. 通信总线:也称外部总线,用于各个计算机之间通信或者计算机与其他通信设备通信的总线

三、按时间特性分类

  1. 同步总线:所有连接在总线下的设备都必须使用同一个时钟,即在规定的时间内使用总线、进行规定的操作来完成通信
  2. 异步总线:所有连接在总线下的设备之间没有统一的时钟,而是根据各自内部的定时操作来完成通信,兼容性强。

http://www.ppmy.cn/news/10311.html

相关文章

Allegro174版本新功能介绍之去掉拷贝自动偏移功能

Allegro174版本新功能介绍之去掉拷贝自动偏移功能 Allegro升级到了174版本的时候,在用拷贝功能的时候,不管怎么拷贝都会出现偏差,即便是拷贝坐标的方式,如下图 那是因为174新增了一个自动粘贴的功能,按照下面的步骤可以去除自动粘贴的功能,具体操作如下 选择Setup选择Use…

RestTemplet+Ribbon实现负载均衡源码分析

为什么加上LoadBalanced,RestTemplate就有负载均衡的能力呢?源码分析: RestTemplate拦截器 首先看RestTemplate类,继承了InterceptingHttpAccessor,代码中有个类型为ClientHttpRequestInterceptor拦截器集合&#xf…

4645. 选数异或

给定一个长度为 n 的数列 A1,A2,,An 和一个非负整数 x,给定 m 次查询,每次询问能否从某个区间 [l,r] 中选择两个下标不同的数使得他们的异或等于 x。 输入格式 输入的第一行包含三个整数 n,m,x。 第二行包含 n 个整数 A1,A2,,An。 接下来 m 行&#x…

学习css3,使用代码实现一根心爱的二踢脚

2023春节快到了,虽然还在上班,但心情早已开始激动,感叹2022终将过去,喜迎2023兔年吧。让我以激动的心情,利用所学css3代码知识,实现一根心爱的二踢脚吧。 目录 1、实现思路 2、实现二踢脚的主体圆柱部分…

2、Javaweb_HTML:表单CSS:页面美化和布局控制

HTML标签:表单标签 * 表单: * 概念:用于采集用户输入的数据的。用于和服务器进行交互。 * form:用于定义表单的。可以定义一个范围,范围代表采集用户数据的范围 * 属性: * ac…

梦想cms1.4代码审计

目录 一、环境配置 二、代码审计 1、后台漏洞 (1)BookAction.class.php (2)BackdbAction.class.php任意文件删除 2、前台漏洞 (1)TagsAction.class.php (2)BookAction.cla…

[实例讲解]计算机处理任务的方法和原理--线程

[实例讲解]计算机处理任务的方法和原理 文章目录[实例讲解]计算机处理任务的方法和原理情景一 所有的事情自己做情景二 找人去帮忙处理打印情景三 分别找人处理编码和打印情景四 不特定指定人去帮忙结束语在学习和工作中,我们自己都需要做很多的事情,事情…

解决No module named tkinter

原因 今天准备使用tutle画个图,导入turtle后运行发现提示没有tkinter这个包,于是尝试pip install tkinter安装,结果当然是失败: 后面一番搜索之后发现tinter是python3自带的包,不能用pip安装,我这里安装的…