计算机组成原理(七)——总线BUS

2023-11-07

总线(BUS)

总线(BUS)概念

  连接计算机系统各个功能部件的信息传输线。是各个部件共享数据及信息的传输介质,用来连接计算机系统各功能部件而构成一个完整系统。

  实际上是一组信号线。

  广义地讲,任何连接两个以上电子元器件的导线都可以称为总线。

计算机各部件之间的两种连接方式

  • 分散连接

  各部件之间使用单独的连线连接起来,数量庞大,系统难以扩展,结构复杂。

  • 总线连接

  将各部件连接到一组公共信息传输线上。

总线特点

  • 信息传输

    总线实际上是由许多传输线或通路组成的,每条线可一位一位地传输二进制代码,一串二进制代码可在一段时间内逐一传输完成。若干条传输线可以同时传输若干位二进制代码。

    串行:每条线一位接一位的传输二进制代码,一串二进制代码可在一段时间内逐一传输完成。

    并行:若干条传输线可以同时传输若干位二进制代码,如,16条传输线组成的总线可同时传输16位二进制代码。

  • 共享

    总线是连接多个部件的信息传输线,是各部件共享的传输介质。

  • 分时(总线上信息传输的特征)

    在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。

    总线由总线控制器管理,总线控制器的主要功能有总线系统的资源管理、总线系统的定时及总线的仲裁连接

系统总线结构简单举例

单总线结构

  单总线结构将 CPU、主存、I/O 设备(通过 I/O 接口)都挂到一组总线上,允许 I/O 设备之间、I/O 设备与主存之间直接交换信息。

 

  单总线结构的优缺点
  • 优点:结构简单,允许 I/O 设备之间或 I/O 设备与主存之间直接交换信息,I/O设备与主存交换信息时,原则上不影响CPU的工作,只须 CPU分配总线使用权,不需要 CPU 干预信息的交换,CPU工作效率有所提高。
  • 缺点:由于全部系统部件都连接在一组总线上,各部件都要同时占用时,会发生冲突,总线的负载很重,可能使其吞吐量达到饱和甚至不能胜任的程度,所以需要设置总线判优逻辑,按照优先级高低来占用总线,影响整机工作速度。故大多为小型机和微型机采用。

双总线结构——以CPU为中心

  • 存储总线(M总线):连接内存与CPU的总线。
  • 输入/输出总线(I/O总线):连接CPU与输入/输出设备的总线。

  特点:

    I/O设备与内存交换信息时,需要占用CPU,因此会影响CPU的工作效率。

双总线结构——以存储器为中心

  特点:

    保留了内存与I/O设备间传输信息不经过CPU的特点,既提高了内存与I/O设备间的传输速率,减轻了系统总线的负担。

    现代计算机系统大多采用此类总线结构。

总线分类

按传输方式分类

串行传输总线
并行传输总线
      • 8位并行传输总线。
      • 16位并行传输总线。
      • 32位并行传输总线。
      • 64位并行传输总线等。

按使用范围分类

      • 计算机总线
      • 测控总线
      • 网络通信总线

按连接部件不同分类

      • 片内总线,又称芯片内总线。

          用于集成电路芯片内部各部分的连接。

          如CPU内部寄存器与寄存器之间、寄存器与算术逻辑单元ALU之间都由片内总线连接。

      • 系统总线(System Bus),又称内总线。

          用于计算机各组成部分(CPU、内存、I\O接口等)之间的信息传输。

          CPU通过系统总线对存储器的内容进行读写,同样经过系统总线,实现将CPU内数据写入外设,或由外设读入CPU。

      • 元件级总线。

          用于一块电路板内各元器件的连接。

      • 通信总线,又称外总线。

          用于计算机与外设或计算机与计算机之间的连接或通信。

系统总线按传输信息的不同分类

  所传输的信息 传输方向  说明
数据总线 传输各功能部件之间的数据信息。 双向传输  其位数称为数据总线宽度,与机器字长、存储字长有关,一般为 8 位、16 位或 32 位。
地址总线

用于指出数据总线上的源数据或目的数据在主存单元的地址或 I/O设备的地址,

也就是说地址总线上的代码用来指明 CPU 欲访问的存储单元或I/O端口的地址。

由CPU输出,单向传输。

 地址总线的位数与存储单元的个数有关,如地址线为 20 根,则对应的存储单元个数为 220个。
控制总线 用于发出各种控制信号,控制各部件动作。

通常对任一控制线而言,它的传输是单向的,如存储器读/写命令都是由 CPU 发出的;

但对控制总线总体而言,又可认为是双向的,

如当某设备准备就绪时,便可通过控制总线向 CPU 发送中断请求。

 常用的控制信号有:

时钟:同来同步各种操作。

复位:初始化所有部件。

总线请求:表示某部件需获得总线使用权。

总线允许:表示需要获得总线使用权的部件已获得了控制权。

中断请求:表示某部件提出中断请求。

中断响应:表示中断请求已被接收。

存储器写:将数据总线上的数据写入存储器的指定存储单元中。

存储器读:将指定存储单元中的数据读到数据总线上。

I/O读:从指定的I/O端口将数据读到数据总线上。

I/O写:将数据总线上的数据输出到指定的I/O端口。

传输响应:表示数据已被接收,或已将数据送至数据总线上。

☆ 总线的特性与性能指标

总线物理实现

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机组成原理(七)——总线BUS 的相关文章

  • CDN架构

    CDN公司在整个互联网中部署了数以百计的节点 Cache服务器集群 这些Cache服务器都分布在各个网络运营商的IDC机房中 位置尽量靠近用户网络 CDN系统将内容从源站复制到各个节点 在内容提供者更新内容时 CDN系统将更新后的内容重新分
  • 模板的全特化与偏特化

    模板为什么要特化 因为编译器认为 对于特定的类型 如果你能对某一功能更好的实现 那么就该听你的 模板分为类模板与函数模板 特化分为全特化与偏特化 全特化就是限定死模板实现的具体类型 偏特化就是如果这个模板有多个类型 那么只限定其中的一部分
  • 基于Verilog HDL 和FPGA的寻线小车设计代码

    刚进实验室的第一个项目 做一个寻线小车 我就用FPGA芯片尝试做了一个 用到的零件有 车模一个 一块L298N驱动模块 一块cyclone IV芯片 具体型号是EP4CE6E22C8N 四个电机 一个电源 一个四灰度寻迹模块 或者红外寻迹模
  • 使用ffmpeg将WebM文件转换为MP4文件的简单应用程序

    tiktok网上下载的short视频是webm格式的 有些程序无法处理该程序 比如roop程序 本文介绍了如何使用wxPython库创建一个简单的GUI应用程序 用于将WebM文件转换为MP4文件 这个应用程序使用Python编写 通过调用
  • 对eureka,ribbon,feign和负载均衡的理解

    以下是个人理解 仅供参考 eureka获取ip和端口的方法 GetMapping test public String Test String serverName List
  • 简单排序 插入排序详解 C语言入门

    欢迎关注笔者 你的支持是持续更博的最大动力 目录 问题描述 思路 代码 相关内容 其他 问题描述 给n个数按从小到大排序 插入排序 思路 插入排序 把无序部分元素插入有序部分 1 用无序部分的第1个元素 和前面有序部分每一个元素比较 2 如
  • C# WPF在xaml中的数据绑定

    在WPF的绑定中个人分为两种 非集合数据绑定和集合数据绑定 非集合数据绑定 指的是包含数据为单个de控件的数据绑定 而不是有很多子项 例如Button TextBox TextBlock等等的绑定 集合数据绑定 指的是包含很多子项的控件的数
  • 打印机怎么扫描到电脑_电脑连不上打印机怎么办,告诉你解决方法

    打印机的作用是非常强大的 在工作时经常会需要打印一些报表文件什么的 这时就离不开打印机的功能 而想要使用打印机 就必须要连接电脑 但有时电脑连不上打印机怎么办呢 是什么原因造成的呢 1 如果打印机是正常的情况下 就需要看下是否是连接的问题了
  • hexo部署:创建个人博客并部署到github

    前言 本文详细记录使用hexo搭建并部署个人博客的全过程 原文地址 https xuedongyun cn post 46487 创建hexo项目 在有node js环境的情况下 搭建项目 npm install hexo cli g he
  • 基于Android的中小学家校互动平台的设计与实现

    基于Android的中小学家校互动平台的设计与实现 摘 要 如今 互联网发展越来越快 手机应用开发技术日渐完善 随着社会信息化水平的提高 以及对新一代教育的日益关注 家校之间的沟通 家校互动的重要性日益凸显 这种需求也使得家校互动的市场受到
  • 秋招算法面经集合

    面试锦囊之面经分享系列 持续更新中 欢迎后台回复 面试 加入讨论组交流噢 写在前面 秋招告一段落 整理文件的时候发现之前记录的面经问题 主要是秋招前期的一些面试 后期由于实习比较忙没花时间整理 希望自己的面经可以帮助到有需要的人吧 由于个人
  • vite框架使用eslint+prettier配置,并且将错误信息显示在浏览器界面上

    在vscode编辑器当中使用vite框架 配置eslint 首先在vite项目中 安装eslint plugin vue依赖 npm install save dev eslint eslint config prettier eslint
  • 当你输入一个网址/点击一个链接,发生了什么?(以www.baidu.com为例)

    假设你用一个全新的浏览器 第一次启动的那种 访问百度 http www baidu com 在你敲入网址并按下回车之后 将会发生以下神奇的事情 浏览器先尝试从Host文件中获取http www baidu com 对应的IP地址 如果能取到
  • 常用字符设备驱动函数总结 ----- 记录总结tool

    打印等级 define KERN EMERG lt 0 gt system is unusable define KERN ALERT lt 1 gt action must be taken immediately define KERN
  • Java中的package(包)

    package类似一个文件夹 文件夹内有各种文件 package存在的意义是防止命名冲突造成使用不便 同一个文件夹内无法存在同名的文件 而不同名的文件夹里允许存在同名文件 因此不同文件夹 即不同package中允许出现相同class名 ja
  • Python中`__init__.py`详解

    在Python中 init py 是一个特殊的文件 用于标识一个包 Package 包是一个包含模块 Module 和其他子包的文件夹 它允许你将相关的模块组织在一起 方便管理和导入 以下是关于 init py 的详细解释 1 包的结构 在
  • windows下添加路由

    1 首先在 运行 窗口输入cmd 按WIN R打开运行窗口 然后回车进入命令行 2 在命令行下输入route命令 会有对应的提示信息 ROUTE f p 4 6 command destination MASK netmask gatewa
  • 【单目标优化算法】杂草优化算法(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 杂草算法代码简单 易于实现 具有较强的自适
  • C#根据经纬度计算两点距离(单位是千米)

    SQL CREATE function dbo fnGetDistance LatBegin REAL LngBegin REAL LatEnd REAL LngEnd REAL RETURNS FLOAT AS BEGIN DECLARE
  • java-面试题

    来源 牛客网 1 什么是Java虚拟机 为什么Java被称作是 平台无关的编程语言 Java虚拟机是一个可以执行Java字节码的虚拟机进程 Java源文件被编译成能被Java虚拟机执行的字节码文件 java的跨平台不是java源程序的跨平台

随机推荐

  • 小程序多种姿势更换文章

    概述 简单的文章切换demo 通过倒计时 摇一摇 双击进行文章切换 详细 直接看效果图吧 比较简单 主要是练习一下 小程序不带双击事件 可以记录第一次单击事件和第二次单机事件进行双击操作 1 摇一摇是通过调用官方的 2 wx onAccel
  • MATLAB安装MinGW-w64 C/C++ 编译器

    参考链接 matlab安装 MinGW w64 C C 编译器 上面的链接非常详细 可以之间看上面的 下面是我安装过程的总结 1 官网安装不成功 2 MinGW w64 for 32 and 64 bit Windows download
  • 通过Python在Windows或Linux上快速搭建HTTP服务器

    在Windows 7 10或Ubuntu上可以通过python2 x或python3 x来快速搭建一个简单的HTTP服务器 如果python为2 x 则可执行 python m SimpleHTTPServer 或 python2 m Si
  • 网上能搞什么副业?适合网上搞的副业

    现如今互联网时代 线上副业早已经普遍 有些工作不再需要线下交谈对接 只要有网络就可以搞定 线上副业已经不再是个人的选择 而是刚需 很多普通人的工资收入都不高 但是又不敢轻易辞职 于是就冒出了开启副业的想法 互联网的兴起让一大批人实现了副业收
  • Python的virtualenv虚拟环境

    Python的virtualenv虚拟环境 1 安装虚拟环境 1 1 创建虚拟环境 1 2 激活虚拟环境 1 3 退出虚拟环境 1 4 删除虚拟环境 2 使用虚拟环境 其实一直在Python的虚拟环境 确实很好用 这次想总结一下 好方便自己
  • 性能需求指标

    通常我们都从两个层面定义性能场景的需求指标 业务指标和技术指标 性能测试行业常用的性能指标表示法 TPS 每秒事务数 T没有规定 所有相关的人都要知道你的 T 是如何定义的 通常情况下 我们会根据场景的目的来定义 TPS 的粒度 如果是接口
  • python开发工程师是干嘛的-python工程师是做什么的

    对于大多数人来说 可能只知道python这个名字 或者也听说过Python在云计算 大数据 人工智能里面都有运用 学Python未来发展前景还比较好 但是并不知道Python具体可以做些什么 在哪些应用场景下可以使用Python语言 最近也
  • 品味树莓派:GPIO Zero库远程控制功能使用

    文章目录 目的 使用前准备 树莓派设置 控制端设置 远程控制GPIO口 总结 目的 使用GPIO Zero库可以通过网络远程控制树莓派的上GPIO口 本文将对该功能进行简单说明 使用前准备 树莓派设置 使用GPIO Zero库远程功能首先需
  • Unity实现2D游戏跟随摄像机(平滑移动)

    文章目录 运行效果 玩家角色 脚本 字段 跟随逻辑 完整代码 其他相关文章连接 运行效果 摄像机运行效果如下所示 玩家角色 首先创建一个可用的玩家角色 写好移动逻辑 如果要使用在Unity商店中购买的资源 可以点击Window菜单栏 gt
  • 【Hexo】【Blog】更换主题【简】

    下载 Hexo themes Github NEXT主题 新建文件夹 这里想偷个懒一次装好 需要安装一些插件工具 有些小头疼 还是从GitHub拉下来再去改个性化的界面吧 ps 用git拉下来的话也比较慢 如果不换源的话 我依旧down下来
  • 解密Kerberos流量

    以下主要演示如何通过将keytab导入到wireshark 实现对Kerberos协议进行解密 Keytab 那么Keytab是什么 keytab是可以理解为一个密钥表 是key table的缩写 用途类似于用户的密码 keytab中包含一
  • Docker实战:docker compose 搭建Rocketmq

    1 配置文件准备 1 1 新建目录 home docker data rocketmq conf mkdir home docker data rocketmq conf 1 2 在上面目录下新建文件broker conf文件 内容如下 b
  • JSX的基础使用(二)

    1 事件绑定 React 事件的 命名采用小驼峰式 camelCase 而不是纯小写 们需要 通过 传入一个事件处理函数 这个函数会在事件发生时被执行 2 this绑定 bind给btnClick显示绑定this 使用 ES6 class
  • 面向过程编程

    p 面向过程编程 p p p
  • Qt 使用中文引起的错误error: C2001: 常量中有换行符;error: C1071: 在注释中遇到意外的文件结束

    中文编码问题导致的错误 解决办法 1 使用英文注释 2 在中文的结尾加上英文 或者空格 3 修改设置 编辑 gt 选择编码 gt system gt 编码保存
  • 六、Audio-ALSA架构中的codec

    一 codec简介 处理器如果既想 听到 外界的声音 又想向外界传达自己的 心声 那么就需要同时用到 DAC 和 ADC 这两款芯片 那是不是买两颗 DAC 和 ADC 芯片就行了呢 答案肯定是可以的 但是音频不单单是能出声 能听到就行 我
  • VC6 ”add files to project“功能失效的解决方案

    在Win7系统下 安装MS2007以后 VC6 0 add files to project 功能失效了 网上的资料表明 这是与MS2007不兼容导致的 其具体解决方案如下 1 到如下网址 http download microsoft c
  • 服务器硬件规格常用查看命令——磁盘相关命令

    smartctl smartctl是一个能够控制和监控磁盘的SMART Self Monitoring Analysis and Reporting Technology 自我监测 分析和报告技术 命令 使用方法 提示 使用该命令只能查看到
  • Apache Hop-使用介绍【持续完善中】

    文章目录 Pipelines 管道 Pipeline Editor 管道编辑器 TOOLBAR Create a Pipeline 创建管道 How pipelines work 管道如何工作 Concepts 概念 Create a pi
  • 计算机组成原理(七)——总线BUS

    总线 BUS 总线 BUS 概念 连接计算机系统各个功能部件的信息传输线 是各个部件共享数据及信息的传输介质 用来连接计算机系统各功能部件而构成一个完整系统 实际上是一组信号线 广义地讲 任何连接两个以上电子元器件的导线都可以称为总线 计算