系统架构设计专业技能 · 计算机组成与结构

现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。
Now everything is for the future of dream weaving wings, let the dream fly in reality.

点击进入系列文章目录

系统架构设计高级技能 · 计算机组成与结构

  • 一、计算机结构
    • 1.1 CPU 组成
    • 1.2 冯·诺依曼结构与哈佛结构
    • 1.3 嵌入式芯片
  • 二、存储系统
    • 2.1 层次化存储结构
    • 2.2 Cache
    • 2.3 主存编址
    • 2.4 磁盘管理
    • 2.5 磁盘调度
  • 三、数据传输控制方式
  • 四、总线
  • 五、CISC与RISC
  • 六、流水线
  • 七、校验码
    • 7.1 奇偶校验
    • 7.2 循环校验码CRC

在这里插入图片描述

一、计算机结构

在这里插入图片描述

1.1 CPU 组成

  • 运算器
    算术逻辑单元ALU:数据的算术运算和逻辑运算
    累加寄存器AC:通用寄存器, 为ALU提供一个工作区, 用于暂存数据
    数据缓冲寄存器DR:写内存时,暂存指令或数据
    状态条件寄存器PSW:存状态标志与控制标志 (争议:也有将其归为控制器的)

  • 控制器
    程序计数器PC:存储下一条要执行指令的地址
    指令寄存器IR:存储即将执行的指令
    指令译码器ID:对指令中的操作码字段进行分析解释
    时序部件:提供时序控制信号

1.2 冯·诺依曼结构与哈佛结构

  • 冯·诺依曼结构
    冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一
    起的存储器结构。
    特点:
    (1) 一般用于PC处理器,如I3,I5,I7处理器
    (2) 指令与数据存储器合并在一起
    (3) 指令与数据都通过相同的数据总线传输

  • 哈佛结构
    哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。哈佛结构是一种并
    行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储
    器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。
    特点:
    (1) 一般用于嵌入式系统处理器(DSP) 数字信号处理(DSP, Digital Signal Processing)
    (2) 指令与数据分开存储,可以并行读取,有较高数据的吞吐率
    (3) 有4条总线:指令和数据的数据总线与地址总线

1.3 嵌入式芯片

在这里插入图片描述

二、存储系统

2.1 层次化存储结构

在这里插入图片描述

2.2 Cache

  • Cache的功能:提高CPU数据输入输出的速率, 突破冯·诺依曼瓶颈, 即CPU与存储系统间数据传送带宽限制。

  • 在计算机的存储系统体系中, Cache是访问速度最快的层次。

  • Cache对程序员来说是透明的。

  • 使用Cache改善系统性能的依据是程序的局部性原理。
    时间局部性
    空间局部性

  • 时间局部性:指程序中的某条指令一旦执行,不久以后该指令可能再次执行,典型原因是由于程序中存在着大量的循环操作。

  • 空间局部性:指一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型情况是程序顺序执行。

  • 工作集理论:工作集是进程运行时被频繁访问的页面集合。

例:

inti, j, s=0, n=10000;
for(i=1; i<=n; i++)for(j=1; j<=n; j++)s+=j;
printf("结果为:%d", s) ;

如果以h代表对Cache的访问命中率, t1表示Cache的周期时间, t2表示主存储器周期时间, 以读操作为例, 使用“Cache + 主存储器” 的系统的平均周期为t3,则
t3 = h x t1+(1 - h) × t2
其中,(1 - h)又称为失效率(未命中率)

2.3 主存编址

  • 存储单元
    存储单元个数 = 最大地址-最小地址 + 1

  • 编址内容
    按字编址:存储体的存储单元是字存储单元,即最小寻址单位是一个字
    按字节编址:存储体的存储单元是字节存储单元,即最小寻址单位是一个字节。

  • 总容量 = 存储单元个数 * 编址内容

  • 根据存储器所要求的容量和选定的存储芯片的容量,就可以计算出所需芯片的总数,即:
    总片数 = 总容量 / 每片的容量

在这里插入图片描述

2.4 磁盘管理

在这里插入图片描述
存取时间 = 寻道时间 + 等待时间
寻道时间是指磁头移动到磁道所需的时间;
等待时间为等待读写的扇区转到磁头下方所用的时间。
在这里插入图片描述
读取磁盘数据的时间应包括以下三个部分:
(1) 找磁道的时间。
(2) 找块(扇区的时间,即旋转延迟时间。
(3) 传输时间。

  • 疑问??:
    存取时间 = 寻道时间 + 等待时间(平均定位时间 + 转动延迟)这个公式我认为有问题。
    我认为应是:存取时间=寻道时间+转动延迟+存(或取)磁盘扇区内容的时间;
    如果是上面讲的对的,该怎么理解,如果是错的,错在哪里?

  • 平均存取时间(Average Access Time) ,是指磁头找到指定数据的平均时间。
    平均存取时间是指磁头找到指定数据的平均时间。通常它是硬盘平均寻道时间和平均潜伏时间(等待时间)之和。平均存取时间最能代表硬盘找到某一数据所用的时间,数值越小越好。

  • 平均访问时间 = 平均寻道时间 + 平均等待时间

2.5 磁盘调度

在这里插入图片描述

  • 先来先服务(FCFS)
  • 最短寻道时间优先(SSTF)
  • 扫描算法(SCAN)
  • 循环扫描(CSCAN)算法

在这里插入图片描述
在这里插入图片描述

三、数据传输控制方式

在这里插入图片描述

四、总线

  • 一条总线同一时刻仅允许一个设备发送,但允许多个设备接收。所以总线是半双工模式
  • 半双工与全双工
  • 串行总线与并行总线

总线的分类:

  • 数据总线(DataBus,DB) : 在CPU与RAM之间来回传送需要处理或是需要储存的数据。
  • 地址总线(Address Bus, AB) : 用来指定在RAM (Random Access Memory)之中储存的数据的地址。
  • 控制总线(Control Bus,CB): 将微处理器控单元(Control Unit))的信号,传送到周边设备。 伟

五、CISC与RISC

在这里插入图片描述

六、流水线

  • 相关参数计算:流水线执行时间计算、流水线吞吐率、流水线加速比等。
  • 流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。
    各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    流水线加速比计算:
    在这里插入图片描述

七、校验码

在这里插入图片描述

7.1 奇偶校验

  • 奇偶校验码的编码方法是: 由若干位有效信息(如一个字节),再加上一个二进制位(校验位)组成校验码。

  • 奇校验: 整个校验码(有效信息位和校验位)中“1”的个数为奇数。
    偶校验: 整个校验码(有效信息位和校验位)中“1”的个数为偶数。

  • 奇偶校验,可检查1位的错误,不可纠错。

7.2 循环校验码CRC

CRC校验, 可检错, 不可纠错。
循环冗余校验(CRC, Cyclic Redundancy Check)

  • CRC的编码方法是:在k位信息码之后拼接r位校验码。应用CRC码的关键是如何从k位信息位简便地得到r位校验位(编码),以及如何从k+r位信息码判断是否出错。

  • 循环冗余校验码编码规律如下:
    ①把待编码的N位有效信息表示为多项式M(X);
    ②把M(X)左移K位,得到M(X)×XK,这样空出了K位,以便拼装K位余数(即校验位);
    ③选取一个K+1位的产生多项式G(X),对M(X)×XK做模2除;
    ④把左移K位以后的有效信息与余数R(X) 做模2加减, 拼接为CRC码, 此时的CRC码共有N+K位。

  • 把接收到的CRC码用约定的生成多项式G(X) 去除, 如果正确, 则余数为0; 如果某一位出错,
    则余数不为0。不同的位数出错其余数不同,余数和出错位序号之间有唯一的对应关系。

什么是模2除法,它和普通的除法有何区别?
模2除法是指在做除法运算的过程中不计其进位的除法。
例如,10111对110进行模2除法为:

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

云备份——服务端客户端联合测试

一&#xff0c;准备工作 服务端清空备份文件信息、备份文件夹、压缩文件夹 客户端清空备份文件夹 二&#xff0c;开始测试 服务端配置文件 先启动服务端和客户端 向客户端指定文件夹放入稍微大点的文件&#xff0c;方便后续测试断点重传 2.1 上传功能测试 客户端自动上传成功…

算法-88.合并两个有序数组-⭐

给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递减顺序 排列。 注意&#xff1a;最终&#xff0c;合并后数组…

js中添加屏蔽F12 审查元素、屏蔽开发者工具、屏蔽右键菜单、屏蔽剪切、屏蔽选中操作

在看某个网站时&#xff0c;看到一段话想复制一下&#xff0c;结果复制不了。想打开F12看看元素进行复制&#xff0c;也不行&#xff0c;没有反应。最后通过打开开发者工具看看&#xff0c;结果一打开就跳到about:blank。 看到这操作一脸懵逼&#xff0c;小样的&#xff0c;还有…

【100天精通Python】Day59:Python 数据分析_Pandas高级功能-多层索引创建访问切片和重塑操作,pandas自定义函数和映射功能

目录 1 多层索引&#xff08;MultiIndex&#xff09; 1.1 创建多层索引 1.1.1 从元组创建多层索引 1.1.2 使用 set_index() 方法创建多层索引 1.2 访问多层索引数据 1.3 多层索引的层次切片 1.4 多层索引的重塑 2 自定义函数和映射 2.1 使用 apply() 方法进行自定义函…

mysql之DML的select分组排序

目录 一、创建表employee和department表 1.创建department表 2.创建employee表 3.给employee表格和department表格建立外键 4.给department插入数据 5.给employee表插入数据 6.删除名字为那个的数据 二、分组查询和排序查询&#xff0c;以及对数据的处理&#xff08;av…

悲观锁和乐观锁、缓存

悲观锁&#xff1a; 悲观锁的实现通常依赖于数据库提供的机制&#xff0c;在整个处理的过程中数据处于锁定状态&#xff0c;session的load方法有一个重载方法&#xff0c;该重载方法的第三个参数可以设置锁模式&#xff0c;load(object.class , int id,LockMode.?)&#xff0…

OpenCV实现图像的混合

原理 这其实也是加法&#xff0c;但是不同的是两幅图像的权重不同&#xff0c;这就会给人一种混合或者透明的感觉。 图像混合的计算公式如下: g(x)(1-a)f0(x) af1(x) 通过修改α的值(0→1) &#xff0c;可以实现非常炫酷的混合。 现在我们把两幅图混合在一起。 第一幅图…

第6篇 vue的打包工具webpack

一 webpack 1.1 webpack的作用 webpack是一个打包工具&#xff0c;可以把多个静态资源文件打包成一个文件。如图所示&#xff1a; 1.2 版本依赖对照关系 PS E:\vue-project\vue-demo0902\wp-demo> npm -v 6.4.1 PS E:\vue-project\vue-demo0902\wp-demo> node -v v10.…

Redis使用原生命令搭建集群

1.Redis版本及下载 找到安装的redis版本&#xff0c;redis3.0以上版本才支持集群 下载对应的版本 2.安装redis集群 解压上传编译 [hadoophost152 opensource]$ tar -xvf redis-3.2.11.tar.gz [hadoophost152 opensource]$ cd redis-3.2.11/ [hadoophost152 redis-3.2.11]$ ma…

从零开始的PICO教程(4)--- UI界面绘制与响应事件

从零开始的PICO教程&#xff08;4&#xff09;— UI界面绘制与响应事件 文章目录 从零开始的PICO教程&#xff08;4&#xff09;--- UI界面绘制与响应事件一、前言1、大纲2、教程示例 二、具体步骤1、PICO VR环境配置2、XR的UI Canvas画布创建与调整&#xff08;1&#xff09;C…

用滑动条做调色板---cv2.getTrackbarPos(),cv2.creatTrackbar()

滑动轨迹栏作调色板 cv.createTrackbar(‘R’, ‘image’, 0, 255, nothing) 参数&#xff1a;哪个滑动轨迹栏&#xff0c;哪个窗口&#xff0c;最小值&#xff0c;最大值&#xff0c;回调函数 cv.getTrackbarPos(‘R’, ‘image’) 参数&#xff1a;轨迹栏名&#xff0c;窗口…

【Matlab】Matlab实现数据的动态显示方法

Matlab实现数据的动态显示方法 主要为大家详细介绍了Matlab使用Plot函数实现数据动态显示方法&#xff0c;具有一定的参考价值&#xff0c;感兴趣的小伙伴们可 以参考一下 对于真实系统或者仿真平台&#xff0c;数据是增量式的产生的。Matlab除了强大的矩阵运算外&#xff0c;还…

CSS 斜条纹进度条

效果&#xff1a; 代码&#xff1a; html: <div class"active-line flex"><!-- lineWidth&#xff1a;灰色背景 --><div class"bg-line"><div v-for"n in 30" class"gray"></div></div><div…

win10环境安装使用docker-maxwell

目的&#xff1a;maxwell可以监控mysql数据变化&#xff0c;并同步到kafka、mq或tcp等。 maxwell和canal区别&#xff1a; maxwell更轻量&#xff0c;canal把表结构也输出了 docker bootstrap可导出历史数据&#xff0c;canal不能 环境 &#xff1a;win10&#xff0c;mysql5…

PYTHON(一)——认识python、基础知识

一、为什么要学习python&#xff1f; Python 被认为是人工智能、机器学习的首选语言&#xff0c;可以说是全世界最流行通用范围最广的语言&#xff0c;几乎可以完成所有的任务&#xff0c;像设计游戏、建网站、造机器人甚至人工智能等都广泛使用Python。 二、输出&#xff08;…

机器学习——K最近邻算法(KNN)

机器学习——K最近邻算法&#xff08;KNN&#xff09; 文章目录 前言一、原理二、距离度量方法2.1. 欧氏距离2.2. 曼哈顿距离2.3. 闵可夫斯基距离2.4. 余弦相似度2.5. 切比雪夫距离2.6. 马哈拉诺比斯距离2.7. 汉明距离 三、在MD编辑器中输入数学公式&#xff08;额外&#xff0…

门面设计模式

github&#xff1a;GitHub - QiuliangLee/pattern: 设计模式 1 什么是门面设计模式 门面设计模式是一种软件设计模式&#xff0c;也被称为外观&#xff08;Facade&#xff09;模式。它提供了一个简单的接口&#xff0c;让客户端能够访问复杂系统中的一组接口。通过门面模式&a…

企业架构LNMP学习笔记15

客户端缓存&#xff1a; B/S架构里&#xff0c;Browser是浏览器&#xff0c;就是客户端。 客户端缓存告知浏览器获取服务段的信息是在某个区间时间段是有效的。 每次请求从服务器拿一遍数据&#xff0c;数据没有变化&#xff0c;影响带宽&#xff0c;影响时间。刷新又要去加载…

Java中快速排序的优化技巧:随机取样、三数取中和插入排序

目录 快速排序基础 优化1&#xff1a;随机取样 优化2&#xff1a;三数取中 优化3&#xff1a;插入排序 总结&#xff1a; 快速排序&#xff08;Quick Sort&#xff09;是一种高效的排序算法&#xff0c;它的平均时间复杂度为O(n log n)。然而&#xff0c;在某些情况下&…

Python实现猎人猎物优化算法(HPO)优化BP神经网络回归模型(BP神经网络回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 猎人猎物优化搜索算法(Hunter–prey optimizer, HPO)是由Naruei& Keynia于2022年提出的一种最新的…