计算机组成原理(2.2)--系统总线

news2024/11/15 13:53:42

目录

一、总线结构

1.单总线结构 

1.1单总线结构框图 

​编辑1.2单总线性能下降的原因

2.多总线结构 

2.1双总线结构

2.2三总线结构

2.3四总线结构

 ​编辑

二、总线结构举例

1.  传统微型机总线结构

2. VL-BUS局部总线结构

3. PCI 总线结构

4. 多层 PCI 总线结构

三、总线控制

1.总线传输周期

2.总线判优控制

2.1链式查询 

2.2 计数器定时查询方式 

2.3 独立请求方式

3.总线通信控制 

3.1同步通信

3.2 异步通信

3.3 半同步通信


一、总线结构

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

1.单总线结构 

1.1单总线结构框图 

它是将 CPU 、主存、 I/0 设备(通过 I/0 接口)都挂在一组总线上,允许 I/0 设备之间、I/0 设备与 CPU 之间或 I/0 设备与主存之间直接交换信息。

1.2单总线性能下降的原因

总线上连接的设备越多,传输延迟越大。

总线上挂接设备速度差异越大,效率越差。
CPU 只能挂接在这个单一的总线上,不能从数据传送操作中解放出来
多总线结构可根据数据传输的不同要求进行分层次互连,且可以多个总线并行传输

2.多总线结构 

2.1双总线结构

双总线结构的特点是将速度较低的 I/0 设备从单总线上分离出来,形成主存总线与 I/0总线分开的结构。

2.2三总线结构

主存总线用于 CPU 与主存之间的传输; I/0 总线供 CPU 与各类 I/0 设备之间传递信息; DMA 总线用千高速 I/0 设备(磁盘、磁带等)与主存之间直接交换信息。

任一时刻只能使用一种总线

主存总线与DMA总线不能同时对主存进行存取

I/O总线只有在CPU执行I/O指令时才用到 

 三总线结构的又一形式

2.3四总线结构

在这里又增加了一条与计算机系统紧密相连的高速总线。在高速总线上挂接了一些高速
I/0 设备,如高速局域网、图形工作站、多媒体、 SCSI 等/

 

二、总线结构举例

1.  统微型机总线结构

2. VL-BUS局部总线结构

3. PCI 总线结构

4. 多层 PCI 总线结构

三、总线控制

1.总线传输周期

一般来说,总线上完成一次数据传输要经历4个阶段:

1.申请占用总线阶段

需要使用总线的主设备(CPUDMA),向总线仲裁机构提出占有总线控制权的申请。总线仲裁机构判别确定后,把下一个总线传输周期的总线控制权授给申请者。

2. 寻址阶段

获得总线控制权的主设备,通过地址总线发出本次打算访问的从设备(如存储器或I/O接口)的地址。通过译码使被访问的从设备被选中,而开始启动工作。

3. 传数阶段

主设备与从设备进行数据交换。数据由源设备发出经数据总线流入目的设备。对于读传送,源设备是存储器或I/O接口等从设备,而目的设备是主设备如CPU等;对于写传送,则源设备是主设备(如CPU),而目的设备是存储器或I/O接口等从设备。

4. 结束阶段

主、从设备的有关信息均从总线上撤除,让出总线,以便其它设备能继续使用总线。

2.总线判优控制

总线上所连接的各类设备,按其对总线有无控制功能可分为主设备(模块)和从设备(模块)两种。主设备对总线有控制权,从设备只能响应从主设备发来的总线命令,对总线没有控制权。总线上信息的传送是由主设备启动的,如某个主设备欲与另一个设备(从设备)进行通信时,首先由主设备发出总线请求信号,若多个主设备同时要使用总线时,就由总线控制器的判优、仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线。只有获得总线使用权的主设备才能开始传送数据。
总线判优控制可分集中式和分布式两种,前者将控制逻辑集中在一处(如在 CPU 中),后者
将控制逻辑分散在与总线连接的各个部件或设备上。 

2.1链式查询 

2.2 计数器定时查询方式 

2.3 独立请求方式

3.总线通信控制 

目的:解决通信双方 协调配合 问题

通常将完成一次总线操作的时间称为总线周期,可分为以下 4个阶段。
@申请分配阶段:由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定下
一传输周期的总线使用权授于某一申请者。
@寻址阶段:取得了使用权的主模块通过总线发出本次要访问的从模块(或从设备)的地址
及有关命令,启动参与本次传输的从模块。
@传数阶段:主模块和从模块进行数据交换,数据由源模块发出,经数据总线流入目
的模块。
@结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。

3.1同步通信

在同步方式下,通信双方由统一的时钟控制数据的传送,时钟通常是由CPU发出的,并送到总线上的所有部件。经过一段固定时间,本次总线传送周期结束,开始下一个新的总线传送周期。 

3.2 异步通信

    利用数据发送部件和接收部件之间的相互握手信号来实现总线数据传送的方式称作异步通信方式。

    在异步通信方式下,发送部件将数据放到总线上后经过一定的时间延迟后,在控制线上发出数据准备好信号、而接收部件则应发数据接收信号来响应,送此信号到发送部件,并接收数据。发送部件收到这个响应信号后,去除原数据至此结束本次传送。

    异步通信方式便于实现不同速度部件之间的数据传送。

3.3 半同步通信

半同步通信既保留了同步通信的基本特点,如所有的地址、命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟后沿时刻来进行判断识别;同时又像异步通信那样,允许不同速度的模块和谐地工作。

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

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

相关文章

手撕八大排序(下)

目录 交换排序 冒泡排序: 快速排序 Hoare法 挖坑法 前后指针法【了解即可】 优化 再次优化(插入排序) 迭代法 其他排序 归并排序 计数排序 排序总结 结束了上半章四个较为简单的排序,接下来的难度将会大幅度上升&…

安卓逆向学习及APK抓包(二)--Google Pixel一代手机的ROOT刷入面具

注意:本文仅作参考勿跟操作,root需谨慎,本次测试用的N手Pixel,因参考本文将真机刷成板砖造成的损失与本人无关 1 Google Pixel介绍 1.1手机 google Pixel 在手机选择上,优先选择谷歌系列手机,Nexus和Pixel系列&…

mac系统上hdfs java api的简单使用

文章目录1、背景2、环境准备3、环境搭建3.1 引入jar包3.2 引入log4j.properties配置文件3.3 初始化Hadoop Api4、java api操作4.1 创建目录4.2 上传文件4.3 列出目录下有哪些文件4.4 下载文件4.5 删除文件4.6 检测文件是否存在5、完整代码1、背景 在上一节中,我们简…

五分钟进步系列之nginx(一)

学习方式:先读英文的原版,如果你能看懂就可以到此为止的了。如果你看不懂,可以再看一下我给的较高难度的英文单词的翻译。如果还是看不懂可以去最下面看我翻译的汉语。下面是我在nginx官网中找到的一段话,它给我们描述了nginx的负…

JAVA中加密与解密

BASE64加密/解密 Base64 编码会将字符串编码得到一个含有 A-Za-z0-9/ 的字符串。标准的 Base64 并不适合直接放在URL里传输,因为URL编码器会把标准 Base64 中的“/”和“”字符变为形如 “%XX” 的形式,而这些 “%” 号在存入数据库时还需要再进行转换&…

软件自动化测试工程师面试题集锦

以下是部分面试题目和我的个人回答,回答比较简略,仅供参考。不对之处请指出 1.自我介绍 答:姓名,学历专业,技能,近期工作经历等,可以引导到最擅长的点,比如说代码或者项目 参考&a…

Qt音视频开发19-vlc内核各种事件通知

一、前言 对于使用第三方的sdk库做开发,除了基本的操作函数接口外,还希望通过事件机制拿到消息通知,比如当前播放进度、音量值变化、静音变化、文件长度、播放结束等,有了这些才是完整的播放功能,在vlc中要拿到各种事…

ImportError: Can not find the shared library: libhdfs3.so解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…

WSL2通过OpenCV调用并展示本机摄像头的RTSP视频流

文章目录前言安装 CMake安装 OpenCV 和 FFmpeg启动 Windows 本机的 RTSP 视频流查看本机摄像头设备开始推流开放本机防火墙用 OpenCV 接收视频流结果展示前言 本篇博客的由来如上图哈哈,WSL2 相关安装教程可以参考我之前的博客:Win11安装WSL2和Nvidia驱动…

如果我只有一个奔腾CPU,怎么加速推理神经网络?

前言 有人说当下的AI热潮不过是算力堆砌的产物。现在层出不穷的各种大模型大训练集,使用复杂精致的技术在排行榜上不断刷新分数,这些人似乎忘了一件事情,AI模型最终是要落地的,是要用的,如果不能普及开去那和在象牙塔…

2023年最新软著申请流程(一):软件著作权说明、国家版权官网的账号注册与实名认证

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/129230460 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

如何使用Cliam测试云端环境IAM权限安全

关于Cliam Cliam是一款针对云端安全的测试工具,在该工具的帮助下,广大研究人员可以轻松枚举目标云端环境的IAM权限。当前版本的Cliam支持下列云端环境:AWS、Azure、GCP和Oracle。 Cliam同时也是一个云端权限识别工具,该工具是一…

Mapper代理开发——书接MaBatis的简单使用

在这个mybatis的普通使用中依旧存在硬编码问题,虽然静态语句比原生jdbc都写更少了但是还是要写,Mapper就是用来解决原生方式中的硬编码还有简化后期执行SQL UserMapper是一个接口,里面有很多方法,都是一一和配置文件里面的sql语句的id名称所对…

HEC-HMS和HEC-RAS快速入门、防洪评价报告编制及洪水建模、洪水危险性评价等应用

目录 ①HEC-RAS一维、二维建模方法及实践技术应用 ②HEC-HMS水文模型实践技术应用 ③新导则下的防洪评价报告编制方法及洪水建模实践技术应用 ④基于ArcGIS水文分析、HEC-RAS模拟技术在洪水危险性及风险评估 ⑤山洪径流过程模拟及洪水危险性评价 ①HEC-RAS一维、二维建模方…

Torch同时训练多个模型

20230302 引言 在进行具体的研究时,利用Torch进行编程,考虑到是不是能够同时训练两个模型呢?!而且利用其中一个模型的输出来辅助另外一个模型进行学习。这一点,在我看来应该是很简单的,例如GAN网络同时训…

docker安装rabbitmq并挂载

1、拉取镜像 management:表示可以通过web页面管理。 alpine:表示是linux最小版本,不推荐新手安装。 docker pull rabbitmq:management2、创建用于挂载的目录 mkdir -p /mydata/rabbitmq/{data,conf,log} # 创建完成之后要对所创建文件授权…

从菜鸟程序员到高级架构师,竟然是因为这个字final

final实现原理 简介 final关键字,实际的含义就一句话,不可改变。什么是不可改变?就是初始化完成之后就不能再做任何的修改,修饰成员变量的时候,成员变量变成一个常数;修饰方法的时候,方法不允…

23种设计模式之简单工厂模式

一、场景简介 1、引入场景 订餐流程简单描述 食品抽象类,规定食品的基础属性操作 鱼类,鸡肉类食品类扩展 订餐流程类,根据食品名称,加工指定类型食品 模拟客户端预定操作 2、源代码实现 关系图谱 代码实现 /*** 简单工厂模式引入场景*/ public class C01_InScene { p…

【word】论文排版思路

1、 首先把所有中文的字体都按照要求改一下,记住都改成正文的字号和字体,后面再修改标题的,然后再改英文的,不要把顺序弄错了,不然得回头再改标题 然后定位文章里所有英文方法如下: 按CTRLF打开替换对话…

记录--虚拟滚动探索与封装

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1. 介绍 什么是虚拟滚动?虚拟滚动就是通过js控制大列表中的dom创建与销毁,只创建可视区域dom,非可视区域的dom不创建。这样在渲染大列表中的数据时,只创…