软件设计师学习第一章
计算机组成与体系结构(6分)
内容概述
数据的表示
进制转换
R 进制转十进制使用按权展开法,其具体操作方式为:将 R 进制数的每一位数值用 Rk 形示,即幂的底数是 R ,指数为 k , k 与该位和小数点之间的距离有关。当该位位于小数点左边, k 值是该位和小数点之间数码的个数,而当该位位于小数点右边, k 值是负值,其绝对值是该位和小数点之间数码的个数加1
二进制转十进制
10100.01 = 1 × 2 4 + 1 × 2 2 + 1 × 2 − 2 10100.01=1\times2^4+1\times2^2+1\times2-^2 10100.01=1×24+1×22+1×2−2
七进制转十进制
604.01 = 4 × 7 0 + 6 × 7 2 + 1 × 7 − 2 604.01=4\times7^0+6\times7^2+1\times7-^2 604.01=4×70+6×72+1×7−2
数码
数据表示
数值1 | 数值-1 | 1-1 | |
---|---|---|---|
原码 | 0000 0001 | 1000 0001 | 1000 0001 |
反码 | 0000 0001 | 1111 1110 | 1111 1111 |
补码 | 0000 0001 | 1111 1111 | 0000 0000 |
移码 | 1000 0001 | 0111 1111 | 0000 0000 |
定义
**原码:**原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。
**反码:**正数的反码是其本身;负数的反码是在其原码的基础上,符号位不变,其余各个位取反。
**补码:**正数的补码就是其本身;负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(也即在反码的基础上+1)
**移码:**移码在补码的基础上,符号位取反。
为了解决原码做减法的问题, 出现了反码。
于是补码的出现,解决了0的符号问题以及0的两个编码问题。
移码的出现就是为了解决数在数轴上表示的问题。
数据表示范围
因为补码的-0和0是同一数所以范围会少一个。
浮点数表示
N = M ∗ R e N=M*R^e N=M∗Re
其中M称为尾数,e是指数,R为基数
计算机结构
Flynn分类发
CISC与RISC
指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其他 |
---|---|---|---|---|
CISC(复杂) | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制技术 | 研制周期长 |
RISC(精简) | 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存 | 支持方式少 | 增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线 | 优化编译,有效支持高级语言 |
流水线技术
概念
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。
周期和执行时间
考试时计算先按理论公式计算,如果理论公式没有答案就用实践公式计算
例:若指令流水线把一条指令分为取指、分折执行三部分,且三部分的时间分别是取指 2ns ,分折 2ns ,执行 lns 。那么,流水线周期是多少? 100 条指令全部执行完毕需要的时间是多少?
周期为2ns,100条指令全部执行完毕需要203ns。
吞吐率
流水线的吞吐率( Though Put rate TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。计算流水线吞吐率的最基本的公式如下:
T P = 指令条数 流水执行时间 TP= \frac{指令条数}{流水执行时间} TP=流水执行时间指令条数
根据上面列子计算: 100 203 \frac{100}{203} 203100
流水线最大吞吐率:
T P m a x = lim y → ∞ N ( k + n − 1 ) × Δ t = l Δ t TP_{max}=\lim_{y \to \infty}\frac{N}{(k+n-1)\times\Delta t}=\frac{l}{\Delta t} TPmax=y→∞lim(k+n−1)×ΔtN=Δtl
根据上面列子计算: 1 2 \frac{1}{2} 21
加速比
完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比。计算流水线加速比的基本公式如下:
S = 不使用流水线执行时间 使用流水线执行时间 S= \frac{不使用流水线执行时间}{使用流水线执行时间} S=使用流水线执行时间不使用流水线执行时间
根据上面列子计算: 500 203 \frac{500}{203} 203500
效率
流水线的效率是指流水线的设备利用率。在时空图上,流水线的效率定义为 n 个任务占用的时空区与 k 个流水段总的时空区之比。就算流水线效率的公式为:
E = n 个任务占用的时空区 k 个流水段的总时空区 = T 0 k T k E=\frac{n个任务占用的时空区}{k个流水段的总时空区}=\frac{T_0}{kT_k} E=k个流水段的总时空区n个任务占用的时空区=kTkT0
效率为: 24 60 \frac{24}{60} 6024
每一个工作段时间相同工作效率最高
存储系统
Cache
Cache 的功能:提高 c 数据输入输出的速率,突破冯.诺依曼瓶颈,即 CPU 与存储系统间数据传送带宽限制。在计算机的存储系统体系中, cache 是访问速度最快的层次。使用 cache 改善系统性能的依据是程序的局部性原理。
如果以h代表对Cache的访问命中率, t 1 t_1 t1表示Cache的周期时间, t 2 t_2 t2表示主存储周期时间,以读操作为例,使用“Cache+主存储器”的系统的平均周期为 t 3 t_3 t3,则:
t 3 = h × t 1 + ( 1 − h ) × t 2 t3=h\times t1+(1-h)\times t_2 t3=h×t1+(1−h)×t2
其中,(1-h)又称为失效率(未命中率)。
主存
主存分为随机存起RAM和只读存储器ROM
主存编址题目计算
地址单元的计算公式为: ( 大地址 + 1 ) − 小地址 单位 \frac{(大地址+1)-小地址}{单位} 单位(大地址+1)−小地址,注意单位如果是K则除的是 2 10 2^{10} 210
本题的答案为:(1)B,(2)A
磁盘
计算题目
答案为:C,B
总线系统
可靠性
串联系统
并联系统
冗余模型
校验码
循环校验码CRC
循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。
模二除法
模二除法性质
- 当最后余数的位数小于除数位数时,除法停止。
- 当被除数的位数小于除数位数时,则商数为0,被除数就是余数。
- 只要被除数或部分余数的位数与除数一样多,且最高位为1,不管其他位是什么数,皆可商1。
CRC编码的计算
- 通过多项式求出要除的值:11011。
- 给报文进行补位:多项式尾数减一个0,上面的题目中多项式是5位,我们要补4个0。
- 进行模二除法。
- 把补的0替换成计算出来地方余数,计算结果为:110010101010011。
海明校验码(难点)
求校验码位数
根据 m + k < = 2 k − 1 m+k<=2^k-1 m+k<=2k−1公式确定检验码的位数,其中m原始信息码的位数,r校验码的位数。
① 此题中,信息码为 1011
,共4位数,所以 k = 4
② 根据公式,将 k 值代入,解得符合表达式的值即为 r 的值,也就是校验码位数
此题中,可以算出 2^3 >= 4 + 3 + 1
,所以 r = 3,校验码位数为3位
确认校验码位置
校验码的位置都是基于 2^n 来确定的,比如 2^0 = 1,2^1 = 2,2^2 = 4…
所以校验码的位置一般都是1、2、4、8…
① 海明码的长度 = 原始信息码 + 校验码
此题中,海明码长度 = 4 + 3 = 7位
② 建立一个从高位到低位的表格,表格列数即为海明码的长度
先填校验码,在本题中,校验码为3位,即占了1、2、4位,这里以r0、r1、r2来表示校验码
计算校验码
7 | 6 | 5 | 4 | 3 | 2 | 1 | 位数 |
---|---|---|---|---|---|---|---|
1 | 0 | 1 | 1 | 信息位 | |||
r 2 r_2 r2 | r 1 r_1 r1 | r 0 r_0 r0 | 校验位 | ||||
I 4 I_4 I4 | I 3 I_3 I3 | I 2 I_2 I2 | r 2 r_2 r2 | I 1 I_1 I1 | r 1 r_1 r1 | r 0 r_0 r0 | 字母表示 |
I 4 I_4 I4=7= 2 2 + 2 1 + 2 0 2^2+2^1+2^0 22+21+20
I 3 I_3 I3=6= 2 2 + 2 1 2^2+2^1 22+21
I 2 I_2 I2=5= 2 2 + 2 0 2^2+2^0 22+20
I 1 I_1 I1=3= 2 1 + 2 0 2^1+2^0 21+20
校验位是根据相应的信息位进行异或运算得到的(如果信息吗是由校验码组成的,那么校验码就等于所有信息码的异或操作)
r 2 r_2 r2= I 4 ⨁ I 3 ⨁ I 2 I_4\bigoplus I_3\bigoplus I_2 I4⨁I3⨁I2= 1 ⨁ 0 ⨁ 1 1\bigoplus 0\bigoplus 1 1⨁0⨁1=0
r 1 r_1 r1= I 4 ⨁ I 3 ⨁ I 1 I_4\bigoplus I_3\bigoplus I_1 I4⨁I3⨁I1= 1 ⨁ 0 ⨁ 1 1\bigoplus 0\bigoplus 1 1⨁0⨁1=0
r 0 r_0 r0= I 4 ⨁ I 2 ⨁ I 1 I_4\bigoplus I_2\bigoplus I_1 I4⨁I2⨁I1= 1 ⨁ 1 ⨁ 1 1\bigoplus 1\bigoplus 1 1⨁1⨁1=1
海明码就是 1010101
校验位是根据相应的信息位进行异或运算得到的(如果信息吗是由校验码组成的,那么校验码就等于所有信息码的异或操作)
r 2 r_2 r2= I 4 ⨁ I 3 ⨁ I 2 I_4\bigoplus I_3\bigoplus I_2 I4⨁I3⨁I2= 1 ⨁ 0 ⨁ 1 1\bigoplus 0\bigoplus 1 1⨁0⨁1=0
r 1 r_1 r1= I 4 ⨁ I 3 ⨁ I 1 I_4\bigoplus I_3\bigoplus I_1 I4⨁I3⨁I1= 1 ⨁ 0 ⨁ 1 1\bigoplus 0\bigoplus 1 1⨁0⨁1=0
r 0 r_0 r0= I 4 ⨁ I 2 ⨁ I 1 I_4\bigoplus I_2\bigoplus I_1 I4⨁I2⨁I1= 1 ⨁ 1 ⨁ 1 1\bigoplus 1\bigoplus 1 1⨁1⨁1=1
海明码就是 1010101
来源于软件设计师学习视频(仅供学习参考,附历年真题及详解)_哔哩哔哩_bilibili的网课记录
相关文章:

软件设计师学习第一章
计算机组成与体系结构(6分) 内容概述 数据的表示 进制转换 R 进制转十进制使用按权展开法,其具体操作方式为:将 R 进制数的每一位数值用 Rk 形示,即幂的底数是 R ,指数为 k , k 与该位和小数点…...

蓝桥杯单片机第十一届国赛 真题+代码
iic.c /* # I2C代码片段说明1. 本文件夹中提供的驱动代码供参赛选手完成程序设计参考。2. 参赛选手可以自行编写相关代码或以该代码为基础,根据所选单片机类型、运行速度和试题中对单片机时钟频率的要求,进行代码调试和修改。 */ #include <STC1…...

IDC报告背后:大模型时代,重新理解AI公有云
大模型之于AI公有云的意义,在于大模型可以改变过去“手工作坊定制算法”的高成本模式,转向“工厂模式”,只需要微调和精调,就可以形成针对性的场景算法。 作者|葛覃 出品|产业家 一年前,依然有不少云计算从业者思…...

UNH-IOL Reservation 一致性测试用例【7】- 清除Reservation
Reservation 系列导航 UNH-IOL Reservation 一致性测试用例【1】- Reservation Report 命令验证 UNH-IOL Reservation 一致性测试用例【2】- Reservation注册 UNH-IOL Reservation 一致性测试用例【3】- 取消注册 UNH-IOL Reservation 一致性测试用例【4】- Reservation Acqui…...

Python 生成随机图片验证码
使用Python生成图片验证码 Python 生成随机图片验证码安装pillow包pillow包生成图片基本用法生成图片验证码 Python 生成随机图片验证码 在写一个Web项目的时候一般要写登录操作,而为了安全起见,现在的登录功能都会加上输入图片验证码这一功能ÿ…...

一些有趣的 js 功能函数
一些有趣的 js 功能函数 数组生成数组打乱数组数组简单数据去重数组唯一值数据去重多数组取交集查找最大值索引查找最小值索引找到最接近的数值压缩多个数组(拉链函数)矩阵交换行和列 数字转换进制转换 正则手机号格式化去除多余空格 web重新加载当前页面…...

摄像头m2dock(MAIX-II DOCK)
官方文档地址 https://wiki.sipeed.com/soft/maixpy3/zh/index.html 一、软件准备 1 烧录镜像软件 2 镜像 当前最近版本镜像文件 3 SDFormatter 4 Maixpy IDE 二、SD卡准备 1 格式化SD卡(用SDFormatter) 2 烧录 3 弹出,插入开发板中 出现…...

SpringBoot 如何优雅的进行全局异常处理
在SpringBoot的开发中,为了提高程序运行的鲁棒性,我们经常需要对各种程序异常进行处理,但是如果在每个出异常的地方进行单独处理的话,这会引入大量业务不相关的异常处理代码,增加了程序的耦合,同时未来想改…...

OSPF路由协议(红茶三杯CCNA)
链路状态路由协议 OSPF(开放式最短路径优先)Open Shortest Path First 是一种链路状态路由协议,无路由循环(全局拓扑),RFC2328 “开放”意味着非私有的 管理型距离:110 OSPF采用SPF算法计算到达…...

redis中使用bloomfilter判断元素是否存在
一 bloomfiler的作用 1.1 bloomfilter的作用 由一个初始值为0的bit数组组成,和多个hash函数构成,用来判断集合中是否存在某个元素。 一个很长的二进制数组(00000000)一系列随机hash算法映射函数。主要用于判断一个元素是否存在…...

互联网医院系统源码实现:打造现代化医疗服务平台
摘要 本文将介绍一个基于Python的简化版互联网医院系统的源码实现,主要包含用户注册与登录、医生信息管理、在线预约挂号、在线问诊与咨询、电子病历管理、在线支付与结算等功能。该源码实现仅为示例,实际开发中需要考虑更多的业务逻辑和安全性。 1. …...

每天100w次登陆请求, 8G 内存该如何设置JVM参数?
一、新系统上线如何规划容量? 1.套路总结 任何新的业务系统在上线以前都需要去估算服务器配置和JVM的内存参数,这个容量与资源规划并不仅仅是系统架构师的随意估算的,需要根据系统所在业务场景去估算,推断出来一个系统运行模型&…...

Fiddler Everywhere(TTP调试抓包工具) for Mac苹果电脑版
Fiddler Everywhere for Mac版是Mac电脑上的一款跨平台的HTTP调试抓包工具,Fiddler Everywhere for Mac能够记录客户端与服务器之间的所有HTTP(S)通信,支持对包进行监视、分析、设置断点、甚至修改请求/响应数据等操作。 适用于任…...

Paragon NTFS2023最新版Mac读写NTFS磁盘工具
Paragon NTFS for Mac是Mac平台上一款非常优秀的读写工具,可以在Mac OS X中完全读写、修改、访问NTFS硬盘、U盘等外接设备的文件。这款软件最大的亮点简书可以让我们读写 NTFS 分区,因为在Mac OS X 系统上,默认状态下我们只能读取NTFS 分区&a…...

vs2013 32位 编译的 dll,重新用vs2022 64位编译,所遇问题记录
目录 一、vs2013 32 DLL 转 VS2022 64 DLL 所遇问题 1、 LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1800”不匹配值“1900” 2、原先VS2013 现在 VS2022 导致的vsnprintf 重定义问题 3、 无法解析的外部符号 __vsnwprintf_s 4、无法解析的外部符号__imp__CertFreeC…...

Linux_CentOS_7.9部署Docker以及镜像加速配置等实操验证全过程手册
前言:实操之前大家应该熟悉一个新的名词DevOps 俗称开发即运维、新一代开发工程师(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障&…...

强引用和弱引用
什么是弱引用和强引用 强引用: JavaScript 中强引用:对象的引用在 JavaScript 中是强引用,也就是将一个引用对象通过变量或常量保存时,那么这个变量或常量就是强引用,这个对象就不会被回收。 弱引用: JavaS…...

tp6 实现excel 导入功能
在项目根目录安装 composer require phpoffice/phpspreadsheet 我们看一下郊果图,如下 点击导入excel表格数据 出现弹窗选择文件,控制台打开输出文档内容 前端layui代码 <form id"uploadForm" class"form-horizontal" encty…...

【C++】类和对象(中篇)
类和对象 类的六大默认成员函数一、构造函数1. 构造函数的概念2. 构造函数的特性 二、析构函数1. 析构函数的概念2. 析构函数的特性 三、拷贝构造函数1. 拷贝构造函数的概念2. 拷贝构造函数的特征 四、赋值运算符重载1. 运算符重载2. 赋值运算符重载 五、取地址及 const 取地址…...

大数据处理架构详解:Lambda架构、Kappa架构、流批一体、Dataflow模型、实时数仓
前言 本文隶属于专栏《大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据理论体系 姊妹篇 《分布式数据模型详解:OldSQL &…...

双指针解决n数之和问题
1. 两数之和 1. 两数之和 将时间复杂度降到O(n); class Solution {// 双指针public int[] twoSum(int[] nums, int target) {int nnums.length;int l0;while(l<n){int rn-1;// 找到第一个可能nums[l]nums[r]target的位置while(r>l){if(nums[l]nums[r]targe…...

安全学习DAY07_其他协议抓包技术
协议抓包技术-全局-APP&小程序&PC应用 抓包工具-Wireshark&科来分析&封包 TCPDump: 是可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用…...

electron的electron-packager打包运行和electron-builder生产安装包过程,学透 Electron 自定义 Dock 图标
electron的electron-packager打包运行和electron-builder生产安装包过程 开发electron客户端程序,打包是绕不开的问题。 macOS 应用构建,看似近在咫尺,实则坑坑致命。 场景:mac笔记本打包,以及生产出可交付的软件安装…...

【无标题】深圳卫视专访行云创新马洪喜:拥抱AI与云原生,深耕云智一体化创新
人工智能(AI)是引领新一轮科技革命和产业变革的重要驱动力。因此,深圳出台相关行动方案,统筹设立规模1,000亿元的人工智能基金群,引导产业集聚培育企业梯队,积极打造国家新一代人工智能创新发展试验区和国家…...

jenkins通过流水线进行构建jar包
前言 最近项目上需要进行CICD,本篇博客主要分享各种骚操作 目录 前言操作如下:构建触发器测试哈哈操作如下: 1.下载Jenkins.war包上传到服务器上面,然后在同级目录下面创建如下脚本: #!/bin/bash# Jenkins安装目录 JENKINS_HOME=/usr/local/jenkins# Jenkins日志文件 LO…...

Android开发:通过Tesseract第三方库实现OCR
一、引言 什么是OCR?OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。简单地说&#…...

合并两个有序链表——力扣21
题目描述 法一 递归 class Solution { public:ListNode* mergeTwoLists(ListNode *l1, ListNode*l2){if(l1 nullptr){return l2;} else if (l2nullptr){return l1;} else if (l1->val<l2->val){l1->next mergeTwoLists(l1->next, l2);return l1;} else {l2-&g…...

企业数据,大语言模型和矢量数据库
随着ChatGPT的推出,通用人工智能的时代缓缓拉开序幕。我们第一次看到市场在追求人工智能开发者,而不是以往的开发者寻找市场。每一个企业都有大量的数据,私有的用户数据,自己积累的行业数据,产品数据,生产线…...

LabVIEW使用支持向量机对脑磁共振成像进行图像分类
LabVIEW使用支持向量机对脑磁共振成像进行图像分类 医学成像是用于创建人体解剖学图像以进行临床研究、诊断和治疗的技术和过程。它现在是医疗技术发展最快的领域之一。通常用于获得医学图像的方式是X射线,计算机断层扫描(CT),磁…...

kafka面试题
kafka基本概念 Producer 生产者:负责将消息发送到 BrokerConsumer 消费者:从 Broker 接收消息Consumer Group 消费者组:由多个 Consumer 组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费&am…...