计算机组成原理之机器:总线

计算机组成原理之机器

笔记来源:哈尔滨工业大学计算机组成原理(哈工大刘宏伟)

Chapter2:总线

2.1 总线的基本概念

1.为什么需要总线?有几百个部件需要连接进行信息传输
2.什么是总线?总线是连接各个部件的信息传输线,是各个部件共享的传输介质
3.总线上信息的传送:串行、并行

在高速状态下,并行口的几根数据线之间存在串扰,而并行口需要信号同时发送同时接收,任何一根数据线的延迟都会引起问题。而串行只有一根数据线,不存在信号线之间的串扰,而且串行还可以采用低压差分信号,可以大大提高它的抗干扰性,所以可以实现更高的传输速率,尽管并行可以一次传多个数据位,但是时钟远远低于串行,所以目前串行传输是高速传输的首选。—引自:并行通信与串行通信的区别对比及优缺点

2.2 总线的分类

按总线所处位置分类:
计算机内部:片内总线、系统总线(理解为片外)
计算机外部:通信总线

2.3 总线特性及性能指标

总线物理实现

总线特性

总线性能指标

总线标准
只要按照此标准生产部件就可以与其他部件集成在一起

2.4 总线结构

2.4.1 单总线结构

(1)单总线结构框图
存在的问题:如果主存与I/O设备使用总线进行数据传输时(即总线被征用)CPU与I/O设备将无法同时传输

2.4.2 双总线结构

(1)面向CPU的双总线结构框图
存在的问题:主存与某I/O设备之间没有进信息传输的直接通路。一旦发生外部设备和主存之间进行信息传输CPU的计算任务会被打断。

(2)以存储器为中心的双总线结构框图
存在的问题:通常情况系统总线和存储总线无法同时工作,虽然有双口RAM,但双口RAM两端口在送数据时是采用分时来做的

2.4.3 三总线结构

为什么需要cache?
随着工艺和设计的演进,CPU 计算性能其实发生了翻天覆地的变化,但是DRAM存储性能的发展没有那么快。
所以造成了一个问题,存储限制了计算的发展。容量与速度不可兼得。我们只需要将这些数据放入一个小而快的存储中,这样就可以快速访问相关数据了。总结起来,Cache是为了给CPU提供高速存储访问,利用数据局部性而设计的小存储单元。—引自:深入理解 Cache 工作原理

2.4.4 四总线结构

高速总线连接高速设备
扩展总线连接低速设备

2.4.5 总线结构实例




2.5 总线控制

2.5.1 总线判优控制

两个设备同时提出占用总线请求,该优先给哪个设备使用?

总线判优控制–集中式
(1)链式查询
I/O设备通过BR线提出占用总线请求

总线控制部件通过BG链式查询哪个I/O设备优先占用总线

查询到的第一个I/O设备优先占用总线,该设备通过BS线通知总线控制部件已占用总线

(2)计数器定时查询方式
I/O接口1和2通过BR线发出总线占用请求

计数器通过设备地址线对I/O接口进行查询,计数器为0代表查询I/O接口0是否有总线占用请求,若无则加1进行后序接口查询

查询到IO接口1进行了总线占用请求,IO接口1通过BS线通知总线控制部件已占用总线

(3)独立请求方式
各个IO接口独立请求

排队器对各个请求进行排序

2.5.2 总线通信控制


总线通信的四种方式

(1)同步通信

双方在同一个时钟信号的控制下,进行数据的接收和发送,来一个时钟,发送端发送,接收端接收,他们彼此之间的工作状态是一致的。—引自什么是同步通信?什么是异步通信?两者的优缺点是什么?

1个总线传输周期由4个时钟周期构成,4个时钟周期就能保证完成一次可靠完整的数据通讯


(2)异步通信

异步通信不要求所有部件严格的统一操作时间,而是采用应答方式(又称握手方式),即当主模块发出请求信号时,一直等待从模块反馈回来“响应”信号后,才开始通信。—引自:总线的异步通讯方式

不互锁:主从设备在发送信号无需等待对方确认,当自己认为对方收到信号后便开始发送下一次信号
半互锁:主设备发送请求信号后必须收到从设备的应答才可以撤销请求信号,存在互锁关系。而从设备发出应答信号后无需等待主设备确认便可撤销其回答信号,不存在互锁关系。
当主模块发送请求信号后必须等待从模块发送应答信号后才能撤销信号,又互锁关系。当从模块发送应答信号后必须等待主模块确认,当收到确认信号后才能撤销信号,也存在互锁关系。双发都存在互锁关系,故称为全互锁关系。
—引自:计算机组成原理(唐朔飞) 知识点总结 第三章

(3)半同步通信(同步、异步结合)


(4)分离式通信
将一个总线传输周期分为两个子周期

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

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

相关文章

七、链表问题(上)

160、相交链表(简单) 题目描述 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个…

如何选择阿里云服务器配置?(CPU/内存/带宽/磁盘)

阿里云服务器配置怎么选择?CPU内存、公网带宽和系统盘怎么选择?个人开发者或中小企业选择轻量应用服务器、ECS经济型e实例,企业用户选择ECS通用算力型u1云服务器、ECS计算型c7、通用型g7云服务器,阿里云服务器网aliyunfuwuqi.com整…

对象得定义与使用(动力节点老杜)

对象思想 1.什么是面向过程,什么是面向对象? 换而言之,面向对象思想实际就是将整体分成一个个独立的单元,每个单元都有自己得任务和属性,所有单元结合在一起完成一个整体。如果某个单元出现了问题还可以及时处理&…

比肩Gen-2,全新开源文生视频模型

著名开源平台Stability.ai在官网宣布,推出全新文生视频的扩散模型Stable Video Diffusion,已开源了该项目并公布了论文。 据悉,用户通过文本或图像就能生成高精准,14帧和25帧的短视频。目前,Stable Video Diffusion处…

回溯算法02-组合总合III(Java)

2.组合总合III 题目描述 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 示例 1: 输入: k 3,…

[Linux]如何理解kernel、shell、bash

文章目录 概念总览kernelshell&bash 概念总览 内核(kernel) ,外壳(shell) ,bash kernel kernel是指操作系统中的核心部分,用户一般是不能直接使用kernel的。它主要负责管理硬件资源和提供系统服务,如内存管理、进程管理、文件…

Pytest测试技巧之Fixture:模块化管理测试数据!

在 Pytest 测试中,有效管理测试数据是提高测试质量和可维护性的关键。本文将深入探讨 Pytest 中的 Fixture,特别是如何利用 Fixture 实现测试数据的模块化管理,以提高测试用例的清晰度和可复用性。 什么是Fixture? 在 Pytest 中…

【考研数学】武忠祥各阶段用书搭配+学习包

25考研数学全流程规划!别等到二战了才知道这样学 本人属于基础很差相当于是零基础的考研党,经过一年备考成功上岸 中间花费了很多时间在考研数学备考信息检索上,写下这篇希望能帮助基础不好的学弟学妹们多节约一些时间复习! 25…

【PowerMockito:编写单元测试过程中原方法没有注入的属性在跑单元测试时出现空指针】

出错场景 下面这一步报空指针,但是因为没有注入,在测试类中无法使用Mock 解决 在执行方法前,加入以下代码 MemberModifier.field(ResourceServiceImpl.class,"zero").set(resourceService,"0");

网页打开慢,这锅该谁背?

一、背景 工作中扯皮说不可避免且非常常见的事情. 开发与产品、开发和测试、前端和后端都会产生扯皮现象。今天要聊的一个问题就是前后端之间的扯皮问题。 网页打开太慢或者点击了某个按钮发现数据很久才显示出来,这个锅谁背? 做开发不能无凭据地胡乱甩锅, 我们…

电子电气架构——汽车以太网诊断路由汇总

电子电气架构——汽车以太网诊断路由汇总 我是穿拖鞋的汉子,魔都中坚持长期主义的工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 人们会在生活中不断攻击你。他们的主要武器是向你灌输对自己的怀疑:你的价值、你的能力、你的潜力。他们往往会将…

python 蓝桥杯填空题

文章目录 字母数判断列名(进制问题)特殊日期大乘积星期几 字母数 由于是填空题,那么寻找的话,就直接让每一个位置都是A,通过计算看看是不是结果大于2022即可 判断列名(进制问题) 这道题目,我们可…

视频号带货究竟怎么做?老阳分享的项目怎么样?

在当今社会,随着互联网的快速发展,社交媒体已经成为人们日常生活中不可或缺的一部分。在这个背景下,视频号带货作为一种新兴的电商模式,逐渐崭露头角。许多人都想通过加入视频号带货行业来实现自己的财富自由。其中,老…

SPSS Statistics for Mac/Win:让数据说话,为决策赋能

在数字化时代,数据已成为决策的关键。为了从海量数据中提取有价值的信息,专业的统计分析软件不可或缺。IBM SPSS Statistics就是这样一款强大的工具,无论是Windows还是Mac用户,都能通过它轻松实现数据分析和决策支持。 一、SPSS …

从0到1入门C++编程——09 STL、string容器、vector容器、deque容器

文章目录 一、标准模板库STL二、容器算法迭代器应用1、遍历容器中整型数据2、遍历容器中自定义数据类型3、容器中嵌套容器 三、string容器1、构造函数2、赋值操作3、字符串拼接4、查找和替换5、字符串比较6、字符访问与存取7、插入和删除8、子串 四、vector容器1、构造函数2、赋…

游戏力:竞技游戏设计实战教程

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 游戏力:竞技游戏设计实战教程 引言…

GBU3010-ASEMI火牛适配器专用整流桥GBU3010

编辑:ll GBU3010-ASEMI火牛适配器专用整流桥GBU3010 型号:GBU3010 品牌:ASEMI 封装:GBU-4 最大重复峰值反向电压:1000V 最大正向平均整流电流(Vdss):30A 功率(Pd):大功率 芯片个数&…

前端运算符比较与计算中的类型转换,运算规则

题目: 下面表达式的值分别都是什么(类型转换) 0 0 0 2 true 2 false false false false 0 false undefined false null null undefined\t\r\n 0JS中的原始类型有哪些 原始值类型就是 存储的都是值,没有函数可以调用的。…

【C++】二叉树进阶面试题(下)

目录 6. 根据一棵树的前序遍历与中序遍历构造二叉树 题目 分析 代码 7. 根据一棵树的中序遍历与后序遍历构造二叉树 题目 分析 代码 8. 二叉树的前序遍历,非递归迭代实现 题目 分析 代码 9. 二叉树中序遍历 ,非递归迭代实现 题目 分析 …

RLNNA-DBSCAN聚类

RLNNA-DBSCAN聚类 RLNNA算法(基于强化学习的神经网络优化算法)是一种性能较佳的优化算法。DBSCAN聚类算法(密度聚类算法)是一种基于密度的聚类算法,其主要思想是通过寻找样本点周围的密度可达关系来聚类数据。 使用RL…