软件设计师学习第一章

news2024/9/24 21:28:11

计算机组成与体系结构(6分)

内容概述

image-20230726144547235

数据的表示

进制转换

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×22
七进制转十进制
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×72
image-20230725093803815

image-20230725093908969

数码

数据表示

数值1数值-11-1
原码0000 00011000 00011000 0001
反码0000 00011111 11101111 1111
补码0000 00011111 11110000 0000
移码1000 00010111 11110000 0000

定义

**原码:**原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。

**反码:**正数的反码是其本身;负数的反码是在其原码的基础上,符号位不变其余各个位取反

**补码:**正数的补码就是其本身;负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(也即在反码的基础上+1)

**移码:**移码在补码的基础上,符号位取反。

为了解决原码做减法的问题, 出现了反码

于是补码的出现,解决了0的符号问题以及0的两个编码问题

移码的出现就是为了解决数在数轴上表示的问题。

数据表示范围

image-20230725091541223

因为补码的-0和0是同一数所以范围会少一个

浮点数表示

N = M ∗ R e N=M*R^e N=MRe

其中M称为尾数,e是指数,R为基数

计算机结构

image-20230725100038055

Flynn分类发

image-20230725104240481

CISC与RISC

指令系统类型指令寻址方式实现方式其他
CISC(复杂)数量多,使用频率差别大,可变长格式支持多种微程序控制技术研制周期长
RISC(精简)数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存支持方式少增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线优化编译,有效支持高级语言

流水线技术

概念

流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。

image-20230725132441533

周期和执行时间

image-20230725133452613

考试时计算先按理论公式计算,如果理论公式没有答案就用实践公式计算

例:若指令流水线把一条指令分为取指、分折执行三部分,且三部分的时间分别是取指 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=ylim(k+n1)×Δ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

image-20230725162835542

效率为: 24 60 \frac{24}{60} 6024

每一个工作段时间相同工作效率最高

存储系统

image-20230725170917315

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+(1h)×t2
其中,(1-h)又称为失效率(未命中率)。

主存

主存分为随机存起RAM和只读存储器ROM

image-20230726111833743

主存编址题目计算

image-20230726112746299

地址单元的计算公式为: ( 大地址 + 1 ) − 小地址 单位 \frac{(大地址+1)-小地址}{单位} 单位(大地址+1)小地址,注意单位如果是K则除的是 2 10 2^{10} 210

本题的答案为:(1)B,(2)A

磁盘

image-20230726125940945

计算题目

image-20230726131026621

答案为:C,B

总线系统

image-20230726131301878

可靠性

串联系统

image-20230726132018660

并联系统

image-20230726132055702

冗余模型

image-20230726132143479

校验码

循环校验码CRC

循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。

模二除法

image-20230726133743203

模二除法性质

  1. 当最后余数的位数小于除数位数时,除法停止。
  2. 当被除数的位数小于除数位数时,则商数为0,被除数就是余数。
  3. 只要被除数或部分余数的位数与除数一样多,且最高位为1,不管其他位是什么数,皆可商1。

CRC编码的计算

image-20230726134030352

  • 通过多项式求出要除的值:11011。
  • 给报文进行补位:多项式尾数减一个0,上面的题目中多项式是5位,我们要补4个0。
  • 进行模二除法。
  • 把补的0替换成计算出来地方余数,计算结果为:110010101010011。

海明校验码(难点)

image-20230726142225010

求校验码位数

根据 m + k < = 2 k − 1 m+k<=2^k-1 m+k<=2k1公式确定检验码的位数,其中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来表示校验码

计算校验码

7654321位数
1011信息位
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 I4I3I2= 1 ⨁ 0 ⨁ 1 1\bigoplus 0\bigoplus 1 101=0

r 1 r_1 r1= I 4 ⨁ I 3 ⨁ I 1 I_4\bigoplus I_3\bigoplus I_1 I4I3I1= 1 ⨁ 0 ⨁ 1 1\bigoplus 0\bigoplus 1 101=0

r 0 r_0 r0= I 4 ⨁ I 2 ⨁ I 1 I_4\bigoplus I_2\bigoplus I_1 I4I2I1= 1 ⨁ 1 ⨁ 1 1\bigoplus 1\bigoplus 1 111=1

海明码就是 1010101

校验位是根据相应的信息位进行异或运算得到的(如果信息吗是由校验码组成的,那么校验码就等于所有信息码的异或操作)

r 2 r_2 r2= I 4 ⨁ I 3 ⨁ I 2 I_4\bigoplus I_3\bigoplus I_2 I4I3I2= 1 ⨁ 0 ⨁ 1 1\bigoplus 0\bigoplus 1 101=0

r 1 r_1 r1= I 4 ⨁ I 3 ⨁ I 1 I_4\bigoplus I_3\bigoplus I_1 I4I3I1= 1 ⨁ 0 ⨁ 1 1\bigoplus 0\bigoplus 1 101=0

r 0 r_0 r0= I 4 ⨁ I 2 ⨁ I 1 I_4\bigoplus I_2\bigoplus I_1 I4I2I1= 1 ⨁ 1 ⨁ 1 1\bigoplus 1\bigoplus 1 111=1

海明码就是 1010101

来源于软件设计师学习视频(仅供学习参考,附历年真题及详解)_哔哩哔哩_bilibili的网课记录

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

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

相关文章

uniapp 选择城市定位 根据城市首字母分类排序

获取城市首字母排序&#xff0c;按字母顺序排序 <template><view class"address-wrap" id"address"><!-- 搜索输入框-end --><template v-if"!isSearch"><!-- 城市列表-start --><view class"address-sc…

DevOps-Git

DevOps-Git 版本控制软件提供完备的版本管理功能&#xff0c;用于存储&#xff0c;追踪目录&#xff08;文件夹&#xff09;和文件的修改历史。版本控制软件的最高目标是支持公司的配置管理活动&#xff0c;最终多个版本的开发和维护活动&#xff0c;即使发布软件。 git安装 h…

Python获取天气数据 并做可视化解读气象魅力

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 前几天的长沙&#xff0c;白天大太阳&#xff0c;晚上下暴雨 一点也琢磨不透天气老人家它的想法 顺便哔哔一点生活小插曲&#xff1a; 前几天的时候&#xff0c;我出门&#xff0c;家里的几扇窗户开着在透气 等我十一点回…

了解Unity编辑器之组件篇Layout(八)

Layout&#xff1a;用于管理和控制UI元素的排列和自动调整一、Aspect Ratio Fitter&#xff1a;用于根据宽高比自动调整UI元素的大小 Aspect Mode&#xff1a;用于定义纵横比适配的行为方式。Aspect Mode属性有以下几种选项&#xff1a; &#xff08;1&#xff09;None&#xf…

开源预训练框架 MMPRETRAIN现有的推理模型(三)

推理器类型&#xff1a; &#xff08;1&#xff09;ImageClassificationInferencer&#xff1a;对给定图像进行图像分类。 &#xff08;2&#xff09;ImageRetrievalInferencer&#xff1a;从给定图像集上的给定图像执行图像到图像检索。 &#xff08;3&#xff09;ImageCapti…

FS32K144用官方Bootloader为底层用RAppIDL BL Tool工具下载升级程序

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ 一、工具问题 1、可以在NXP的官网上找到这个软件&#xff0c;也可以加载完成NXP的官方库后找到它&#xff08;自动安装的&#xff09;&#xff0c;也可我…

【接口测试】Postman--变量与集合

目录 变量与集合 一、变量 1、环境变量&#xff08;1&#xff09;创建环境变量&#xff08;2&#xff09;管理环境变量&#xff08;3&#xff09;选择与编辑环境变量2、全局变量&#xff08;1&#xff09;管理全局变量二、集合 1、创建集合2、保存请求到集合3、分享集合三、集…

链表是否有环、环长度、环起点

问题引入 如何检测一个链表是否有环&#xff0c;如果有&#xff0c;那么如何确定环的长度及起点。 引自博客&#xff1a;上述问题是一个经典问题&#xff0c;经常会在面试中被问到。我之前在杭州一家网络公司的电话面试中就很不巧的问到&#xff0c;当时是第一次遇到那个问题&…

【数据结构】实验一:绪论

实验一 绪论 一、实验目的与要求 1&#xff09;熟悉C/C语言&#xff08;或其他编程语言&#xff09;的集成开发环境&#xff1b; 2&#xff09;通过本实验加深对算法时间复杂度的理解&#xff1b; 3&#xff09;结合具体的问题分析算法时间复杂度。 二、实验内容 设计程…

C# PaddleDetection 目标检测 ( yolov3_darknet)

效果 项目 VS2022.net4.8OpenCvSharp4Sdcb.PaddleDetection 代码 using OpenCvSharp; using OpenCvSharp.Extensions; using Sdcb.PaddleDetection; using Sdcb.PaddleInference; using System; using System.Drawing; using System.Windows.Forms; using YamlDotNet;namespa…

vue实现循环数据动态添加标签以及单独控制显示隐藏

效果图&#xff1a; html: <table class"tag-table"><tbody><tr v-for"(item, index) in form.tagList" :key"index"><td>333</td><td><divclass"tag-box"v-for"(item1, index1) in it…

推荐用于学习RN原生模块开发的开源库—react-native-ble-manager

如题RN的原生模块/Native Modules的开发是一项很重要的技能&#xff0c;但RN官网的示例又比较简单&#xff0c;然后最近我接触与使用、还有阅读了react-native-ble-manager的部份源码&#xff0c;发现里边完全包含了一个Native Modules所涉及的知识点/技术点&#xff0c;故特推…

【SAM MaskDecoder 图】SAM(segment anything) 中MaskDecoder过程图示

SAM(segment anything) 中MaskDecoder过程图示 本人根据代码画的&#xff0c;如有出入&#xff0c;欢迎留言反馈更正。

算法之归并排序算法

归并&#xff08;Merge&#xff09;排序法是将两个&#xff08;或两个以上&#xff09;有序表合并成一个新的有序表&#xff0c;即把待排序序列 分为若干个子序列&#xff0c;每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 public class MergeSortTest {public …

简单上手FineBI

简介 安装下载 下载的是V6.0.11版本 设置管理员账号 账号admin 密码123456 新建分析主题 添加数据 选择本地数据上传 选择示例数据上传 打开效果如下&#xff0c;点击“确定”&#xff0c;这样就将示例数据上传到分析主题中 分析数据——编辑数据 如果数据质量好&#xf…

用OpenCV图像处理技巧之白平衡算法(二)

1. 引言 在上一节中我们介绍了白平衡算法的原理&#xff0c;并详细实现了基于白色补丁算法的白平衡实现&#xff0c;本文继续就白平衡的其他算法实现进行展开。 闲话少说&#xff0c;我们直接开始吧&#xff01; 2. Gray-world Algorithm 灰色世界算法&#xff08;Gray-wor…

protobuf安装教程

protobuf安装 一&#xff0c;Windows下安装下载protobuf配置环境变量检查是否安装成功 二&#xff0c;Linux下安装下载protobuf安装protobuf检查是否安装成功 一&#xff0c;Windows下安装 下载protobuf 下载地址 本次下载以v21.11为例&#xff0c;根据自己需求下载即可。 配…

VL163的基本信息

VL163是2:4差分通道多路复用/demux开关USB 3.1应用&#xff0c;为交换机信号性能支持高达USB 3.1&#xff0c;并使用QFN-28 3.5x4.5mm绿色封装。 VL163 QFN28 只能处理2Lane数据信号。自己没有CC识别沟通协议&#xff0c;如果要做USB-C Swtich&#xff0c;就要通过别的USB-C协…

Python计算统计分析MSE 、RMSE、MAE、R2

1、平均绝对误差 (MAE)Mean Absolute Error&#xff0c;是绝对误差的平均值&#xff0c;能更好地反映预测值误差的实际情况。范围[0,∞)&#xff0c;当预测值与真实值完全吻合时等于0&#xff0c;即完美模型&#xff1b;误差越大&#xff0c;该值越大。 2、均方误差 MSE(mean…

团簇大小分布计算方法,fix ave/histo命令详解

LAMMPS是一款广泛应用于分子动力学模拟的强大软件。在模拟过程中&#xff0c;我们经常需要对系统的物理性质进行分析和统计。 fix ave/histo命令则是LAMMPS中一个非常有用的命令&#xff0c;它可以帮助我们对系统进行直方图统计分析。 本文将深入介绍fix ave/histo命令的用法和…