软件设计师学习第一章
计算机组成与体系结构(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 &…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合
作者:来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布,Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明,Elastic 作为 …...
Android写一个捕获全局异常的工具类
项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...
uni-app学习笔记三十五--扩展组件的安装和使用
由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...
【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)
旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据!该数据集源自2025年4月发表于《地理学报》的论文成果…...

