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

news2025/1/17 23:19:53

现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。
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.coloradmin.cn/o/997887.html

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

相关文章

【数据结构-队列】阻塞队列

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

vue学习之 v-for key

v-for key Vue使用 v-for渲染的元素列表时&#xff0c;它默认使用“就地更新”的策略。如果数据项的顺序被改变&#xff0c;Vue 将不会移动 DOM元素来匹配数据项的顺序&#xff0c;而是就地更新每个元素。创建 demo9.html,内容如下 <!DOCTYPE html> <html lang"…

60、RESTful 的高级配置---HttpMessageConverter

★ HttpMessageConverter的作用 RequestBody修饰处理方法的参数&#xff0c;如获取json格式的数据&#xff0c;将json格式的数据转换成我们需要的java对象&#xff0c; ResponseBody 这些把对象转成json格式响应给前端&#xff0c; 底层都是由这个HttpMessageConverter类实现的…

【Redis专题】大厂生产级Redis高并发分布式锁实战

目录 前言课程内容一、一个案例引发的思考二、Redis分布式锁的演进2.1 单纯使用Redis的setnx实现分布式锁2.2 setnx 过期时间3.3 Redisson实现分布式锁&#xff1a;setnx 过期时间 锁续命 三、Redisson客户端实现的分布式锁及源码分析 学习总结 前言 Redis中间件&#xff0…

文件上传之图片码混淆绕过(upload的16,17关)

目录 1.upload16关 1.上传gif loadup17关&#xff08;文件内容检查&#xff0c;图片二次渲染&#xff09; 1.上传gif&#xff08;同上面步骤相同&#xff09; 2.条件竞争 1.upload16关 1.上传gif imagecreatefromxxxx函数把图片内容打散&#xff0c;&#xff0c;但是不会…

Selenium - Tracy 小笔记2

selenium本身是一个自动化测试工具。 它可以让python代码调用浏览器。并获取到浏览器中加们可以利用selenium提供的各项功能。帮助我们完成数据的抓取。它容易被网站识别到&#xff0c;所以有些网站爬不到。 它没有逻辑&#xff0c;只有相应的函数&#xff0c;直接搜索即可 …

dubbo 服务注册使用了内网IP,而服务调用需要使用公网IP进行调用

一、问题描述&#xff1a; 使用dubbo时&#xff0c;提供者注册时显示服务地址ip为[内网IP:20880]&#xff0c;导致其他消费者在外部连接的情况下时&#xff0c;调用dubbo服务失败 二、解决办法 方法一、修改hosts文件 &#xff08;1&#xff09;. 先查询一下服务器的hostna…

【动态规划刷题 13】最长递增子序列 摆动序列

300. 最长递增子序列 链接: 300. 最长递增子序列 1.状态表示* dp[i] 表⽰&#xff1a;以 i 位置元素为结尾的「所有⼦序列」中&#xff0c;最⻓递增⼦序列的⻓度。 2.状态转移方程 对于 dp[i] &#xff0c;我们可以根据「⼦序列的构成⽅式」&#xff0c;进⾏分类讨论&#…

RabbitMQ管控台使用

安装成功RabbitMQ后&#xff0c;进入到管理控制台界面 拷贝配置文件到指定目录当中然后重启RabbitMQ。

FIR滤波器简述及FPGA仿真验证

数字滤波器的设计&#xff0c;本项目做的数字滤波器准确来说是FIR滤波器。 FIR滤波器&#xff08;有限冲激响应滤波器&#xff09;&#xff0c;与另一种基本类型的数字滤波器——IIR滤波器&#xff08;无限冲击响应滤波器&#xff09;相对应&#xff0c;其实就是将所输入的信号…

算法通关村第十九关——动态规划是怎么回事(青铜)

算法通关村第十九关——动态规划是怎么回事&#xff08;青铜&#xff09; 前言1 什么是动态规划2 动态规划的解题步骤3 简单入门3.1 组合总和3.2 最小路径和3.3 三角形最小路径和 4 理解动态规划 前言 动态规划是一种解决复杂问题的算法思想&#xff0c;它将一个大问题分解为多…

Apache HTTPD 多后缀名解析漏洞复现

什么是多后缀名解析漏洞加粗样式: 多后缀名解析漏洞&#xff08;Multiple Extension Handling Vulnerability&#xff09;指的是一种安全漏洞&#xff0c;发生在某些操作系统或网络服务中的文件扩展名处理机制中。 这种漏洞的本质是当文件具有多个后缀名&#xff08;例如file.…

l8-d12 IP协议与ethernet协议

一、IP协议作用和意义 分组在互联网中的传送 分组传输路径 二、IP 数据报首部格式 1.IP 数据报的格式 版本——占 4 位&#xff0c;指 IP 协议的版本。目前的 IP 协议版本号为 4 (即 IPv4)。 首部长度——占 4 位&#xff0c;可表示的最大数值是 15 个单位(一个单位为 4 字…

【Spring】手动实现Spring底层机制-问题的引出

&#x1f384;欢迎来到边境矢梦的csdn博文&#x1f384; &#x1f384;本文主要梳理手动实现Spring底层机制-问题的引出 &#x1f384; &#x1f308;我是边境矢梦&#xff0c;一个正在为秋招和算法竞赛做准备的学生&#x1f308; &#x1f386;喜欢的朋友可以关注一下&#x1…

【实践篇】Redis最强Java客户端(四)之Ression分布式集合使用指南

文章目录 0. 前言1.Ression分布式集合1.1 分布式列表1.1.1 使用场景和实现原理&#xff1a;1.1.2 基本概念和使用方法&#xff1a; 1.2 分布式集合1.2.1 使用场景和实现原理&#xff1a;1.2.2 基本概念和使用方法&#xff1a; 1.3 分布式映射1.3.1 使用场景和实现原理&#xff…

CSS三种样式表、样式表优先级、CSS选择器

一、CSS介绍&#xff1a; 1.1、CSS介绍&#xff1a; CSS&#xff0c;全称是&#xff1a;Cascading Style Sheets&#xff0c;层叠样式表&#xff0c;用于修饰HTML页面的。 CSS编写规则如下所示&#xff1a; CSS编写的规则分为两部分&#xff0c;分别是&#xff1a;选择器、声…

SpringMVC学习简要

学习资料&#xff1a; SpringMVC-03-入门案例工作流程解析_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1ZF411G7eP/?p3&spm_id_frompageDriver&vd_source4ac53f52a57eb96a3c8406b971b038ae 常用MYSQL命令&#xff1a;http://t.csdn.cn/zshCP 学习要求 什么是…

微信小程序Day4笔记

1. 组件的创建与引用 创建组件 在项目的根目录中&#xff0c;鼠标右键&#xff0c;创建components -> test文件夹在新建的test文件夹上&#xff0c;鼠标右键&#xff0c;点击新建Component键入组件的名称之后回车&#xff0c;会自动生成组件对应的4个文件&#xff0c;后缀…

《服务器无状态设计:为什么如何实现无状态API?》

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

3.1 栈和队列的定义和特点

3.1.1 栈的定义和特点 主要内容&#xff1a; 3.1 栈和队列的定义和特点 3.1.1 栈的定义和特点 定义&#xff1a; 栈是一种特殊的线性表&#xff0c;只允许在一端进行插入或删除操作。这一端被称为栈顶&#xff0c;而另一端则称为栈底。不包含任何元素的栈被称为空栈。 特点…