【学习Day2】计算机基础

在这里插入图片描述

✍🏻记录学习过程中的输出,坚持每天学习一点点~
❤️希望能给大家提供帮助~欢迎点赞👍🏻+收藏⭐+评论✍🏻+指点🙏

1.4 校验码

奇偶校验

● 奇偶校验码的编码方法是:
由若干位有效信息的头部或者尾部,再加上一个二进制位(校验位)组成校验码。
★ 奇校验:整个校验码(有效信息位和校验位)中“1”的个数为奇数。
★ 偶校验:整个校验码(有效信息位和校验位)中“1”的个数为偶数。
◎ 如果有奇数个位发生误码,则奇偶性发生变化,可以检查出误码,但不能纠错。
◎ 如果有偶数个位发生误码,则奇偶性不发生变化,不能检查出误码(也称漏检)。

例如:1011如果在尾部加一个二进制数,使用奇校验则是10110,保证1的个数为奇数;使用偶校验则是10111,保证1的个数为偶数。
奇偶校验的尾数一定是不同的。

练习题

给出编码1001101的奇校验码和偶校验码( A )。
A 10011011, 10011010
B 10011011, 10011011
C 10011010, 10011010
D 10011010, 10011010

模2除法

模2除法是二进制下的除法,其特点是不考虑进位和借位,即每一位的除法结果不影响其他位。在循环冗余校验码的计算中,模2除法被应用以进行数据的校验。
模2除法实际上与模10的长除法类似,但它的减法采取“异或”的方式,即同数相减为0,异数相减为1。这种运算方式在CRC校验技术中是核心部分,用于确保数据传输的准确性。
多位二进制模2除法也类似于普通意义上的多位二进制除法,但是在如何确定商的问题上两者采用不同的规则。后者按带借位的二进制除法,根 据余数减除数够减与否确定
商1还是商0,若够减则商1,否则商0。多位模2除法采用模2减法,不带借位的二进制减法,因此考虑余数够减除数与否是没有意义 的。实际上,在CRC运算中,总能保证除数的首位为1,则模2除法运算的商是由余数首位与除数首位的模2除法运算结果确定。因为除数首位总是1,按照模2 除法运算法则,那么余数首位是1就商1,是0就商0。 模2除法它既不向上位借位,也不比较除数和被除数的相同位数值的大小,只要以相同位数进行相除即可。模2加法运算为:1+1=0,0+1=1,0+0=0,无进位,也无
借位;模2减法运算为:1-1=0,0-1=1,1-0=1,0-0=0,也无进位,无借位。相当于二进制中的逻辑异或运算。也就是比较后,两者对应位相同则结果为“0”,不同则结果为“1”。如100101除以1110,结果得到商为110,
余数为1。
模 2 除法计算过程:
1.被除数首位是几商就上几;
2.异或运算;
3.异或后首位一定是0,舍弃掉这个0首位;
4.补末位(落数),再上商。
例1:1011 0010 000 模二除 1100 1
例2:1111000除以1101:
在这里插入图片描述

循环冗余校验

循环冗余校验(英语:Cyclic redundancy check,通称“CRC”)是一种根据网上数据包或计算机文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者存储之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。一般来说,循环冗余校验的值都是32位的整数。
CRC为校验和的一种,是两个字节数据流采用二进制除法(没有进位,使用XOR来代替减法)相除所得到的余数。其中被除数是需要计算校验和的信息数据流的二进制表示;除数是一个长度为的预定义(短)的二进制数,通常用多项式的系数来表示。在做除法之前,要在信息数据之后先加上个0.
① 收发双方约定好一个生成多项式G(x);
② 发送方基于待发送的数据和生成多项式计算出差错检测码(冗余码)将其添加到待传输数据的
后面一起传输:
③ 接收方通过生成多项式来计算收到的数据是否产生了误码;
● 算法要求生成多项式必须包含最低次项
下面的表格略去了“初始值”、“反射值”以及“最终异或值”。
对于一些复杂的校验和来说这些十六进制数值是很重要的,如CRC-32以及CRC-64。通常小于CRC-16的CRC不需要使用这些值。
通常可以通过改变这些值来得到各自不同的校验和,但是校验和算法机制并没有变化。
CRC标准化问题
由于CRC-12有三种常用的形式,所以CRC-12的定义会有歧义
在应用的CRC-8的两种形式都有数学上的缺陷。
据称CRC-16与CRC-32至少有10种形式,但没有一种在数学上是最优的。
同样大小的CCITT CRC与ITU CRC不同,这个机构在不同时期定义了不同的校验和。

练习题

发送数据:
例:待发送的信息为101001,生成多项式为G(x)=x³ + x² + 1 (1101),计算编码后的信息。
1.构造被除数
待发送信息后面添加生成多项式最高次数个0
2.构造除数
生成多项式各项系数构成的比特串
3.做模二除法运算
4.检查余数
余数的位数应与生成多项式最高次数相同,
如果位数不够,则在余数前补0来凑足位数。
接收数据:
例:接收到的信息为101101001,生成多项式为G(x)=x³ + x² + 1 (1101),判断传输是否有误码。
101101001 ÷ 1101 ,商,余1
1.构造被除数
接收到的信息就是被除数
2.构造除数
生成多项式各项系数构成的比特串
3.做模二除法运算
4.检查余数
余数为0,传输过程无误码;
余数不为0,传输过程产生误码。

在( D )校验方法中,采用模2运算来构造校验位。(2019上半年试题)
A.水平奇偶
B.垂直奇偶
C.海明码
D.循环冗余

海明校验

海明校验(Hamming Code)是一种在计算机科学和通信领域广泛使用的错误检测编码方法,由理查德·卫斯里·海明(Richard Wesley Hamming)于1950年提出。它的目的是通过增加额外的校验位来检测并在某些情况下纠正数据传输或存储过程中的单比特错误。海明校验的基本思想是将数据划分为多个长度较短的数据块,并为这些数据块计算出若干个校验位,然后将数据块和校验位一起发送或存储。这样,接收端或读取端就可以通过这些校验位来检测或纠正错误。

原理

1.确定校验位数量:首先,需要确定可以检测并纠正错误的校验位数量。如果想要检测并纠正单比特错误,校验位的数量至少为3(这是因为要定位错误发生在哪个位置,至少需要log2(data位数 + 1)位校验位,加上一位用于检测奇偶,通常选择比这个最小值稍大的2的幂次减去数据位数的结果)。
2.分配校验位位置:海明码中数据和校验位的位置遵循一定的规则,通常校验位的位置是2的幂(1, 2, 4, 8,…)。例如,对于7位数据,可能选择4位校验位,它们将放置在第1、2、4、8位上,总共11位编码(7位数据+4位校验)。
3.计算校验位值:每个校验位的值是由它所覆盖的数据位决定的,具体来说,第i位校验位是其覆盖的所有位(包括数据位和已计算出的校验位,且这些位的编号包含第i位的二进制表示)的异或(XOR)结果。例如,第1位校验位是所有位编号中包含1的位进行异或。
4.错误检测与纠正:接收方收到海明码后,重新计算所有校验位。如果所有校验位的计算结果都为0,则认为没有错误。如果有任何一个校验位计算结果不为0,可以通过校验位确定错误发生的位置,并进行纠正。因为每个数据位都被多个校验位覆盖,通过比较哪些校验位的计算结果不匹配,可以唯一确定错误位。
设数据位是n位,校验位是k位,则n和k必须满足以下关系:
2k - 1>= n + k
海明码的编码规则如下:
设 k个校验位为Pk,Pk-1…P1,n个数据位为Dn,Dn-1,…,D1,对应的海明码为Hn+k,Hn+k-1,…,H1
(1)校验码Pi要放在2i-1的位置。
(2)海明码中的任何一位都是由若干个校验位来校验的。
(3)被校验的海明位的下标等于所有参与校验该位的校验位的下标之和,而校验位由自身校验。

练习题

待传送的信息为1010,若采用海明校验,则奇校验规则下的海明码是( A )。
A 0110010
B 0110011
C 1110010
D 1110011

1.5.1 存储的层次结构

存储器的层次结构主要分为四个层次,从CPU寄存器到辅存(辅助存储器),分别是:
1.CPU寄存器:位于CPU内部,是访问速度最快但容量最小的存储器,用于存储临时数据和寄存器之间的传递。
2.高速缓存(Cache):位于CPU和主存之间,访问速度较快,容量较小,用于存储最近访问的数据和指令。
3.主存(内存):位于高速缓存和辅存之间,访问速度较慢,容量较大,用于存储程序和数据。
4.辅存:位于计算机外部,访问速度最慢,容量最大,用于长期存储程序和数据。
这个层次结构的核心在于每一层都作为其下一层的缓存,即更快更小的存储设备作为更大更慢的存储设备的缓存。每一层都缓存来自较低一层的数据对象,以提高数据访问速度和效率。

练习题

在程序的执行过程中,Cache与主存的地址映射是由( C )完成的。((2017下半年试题)
A.操作系统
B.程序员调度(外存,主存,cpu寄存器汇编实现)
C.硬件自动
D.用户软件(任何一级都不能单纯用软件实现)

1.5.2 高速缓存(cache)

【冯诺依曼结构】
Cache位于CPU与主存之间,地址映射也是硬件完成的
● Cache对程序员来说是透明的,程序员无法操作
● 设置多级高速缓存Cache以提高命中率(访问主存的效率),先访问一级cache,然后二、三、四,都访问不到才去访问主存。
● 使用Cache改善系统性能的依据是程序的局部性原理
◎ 时间局部性:
被引用过一次的存储器位置在未来会被多次引用,主要体现是主要是循环。(for/while等)
◎ 空间局部性:
如果一个存储器的位置被引用,那么将来他附近的位置也会被引用,主要体现是顺序执行的过程。

int[] arr = {1,2,3,4,5}
int sum = 0;
for(int i = 0;i < arr.length; i++){sum += arr[i]
}
System.out.println(""+ sum);

for:时间局部性
arr:空间局部性

练习题

在CPU内外常设置多级高速缓存Cache其主要目的是( B )。(2019下半年试题)
A.扩大主存的存储容量
B.提高CPU访问主存数据或指令的效率
C.扩大存储系统的容量
D.提高CPU访问外存储器的速度 (外存和cpu之间还隔着 cache和主存,不搭边)

1.5.3 Cache的地址映射方法

直接相联映像

描述:主存的块与Cache块的对应关系是固定的
优点:硬件电路设计、地址变换比较简单
缺点:冲突率较高,灵活性差

全相联映像

描述:主存与Cache均分成大小相同的块,允许主存的任一块可以调入Cache存储器的任何一个块的控件中
优点:冲突率较低、主存的块调入Cache的位置不受限制,十分灵活
缺点:电路难于设计和实现,造价高,只适用于小容量的cache;无法从主存块号中直接获得Cache的块号,地址变换比较复杂,速度比较慢

组相联映像

描述:将Cache中的块再分成组,组采用直接相联映像方式,而块采用全相联映像方式。即主存任何区的0组智能存到Cache的0组中,1组智能存到Cache的1组中,以此类推,组内的块则采用全相联方式,即一组内的块可以任意存放。即主存一组中的任一块可以存入Cache相应组的任一块中。
优缺点:直接相连映像和全相连映像方式的折中

练习题
Cache的地址映像方式中,发生块冲突次数最小的是( A )。(2015年上半年)
A.全相联映像
B.组相联映像
C.直接映像
D.无法确定

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

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

相关文章

探寻数据处理的高效之道:从Python内置方法到NumPy的飞跃

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;为什么要学习NumPy&#xff1f; 二、案例展示&#xff1a;创建整数序列…

idm软件是做什么的 IDM是啥软件 idm软件怎么下载 idm软件怎么下载

一、IDM是啥软件 IDM 是由美国 Tonec 公司开发的 Windows 软件&#xff0c;该软件最初于 2005 年发布。IDM全称Internet Download Manager&#xff0c;是一款Windows平台老牌而功能强大的下载加速器&#xff0c;专注于互联网数据下载。这款软件是一款不错的轻量级下载工具&…

关于如何在 smartforms 中 debug

发现一旦smartforms 复杂起来&#xff0c;Debug的时候就一下子找不到指定位置&#xff0c;所以如何才能最简单的找到指定位置呢 以这个为案例 然后打上断点即可debug

相对论表明速度越快时间越慢,为什么速度会影响时间?

在物理学的宏伟殿堂中&#xff0c;相对论以其深邃的洞察力&#xff0c;挑战了我们对时间和空间的传统认识。1905年&#xff0c;阿尔伯特爱因斯坦提出了狭义相对论&#xff0c;揭示了在所有惯性参照系中&#xff0c;光速是常数的惊人事实。 随后在1915年&#xff0c;他进一步发展…

YOLOv5数据集的文件结构和文件格式以及标注工具LabelImg的说明文档

文章目录 一 概述二 文件结构与数据格式2.1 数据集的文件结构2.2 数据格式2.2 文件结构2.3 标注文件的注意事项 三 手动标注YOLOv5数据集3.1 标注工具的选择3.2 标注流程 四 总结与注意事项4.1 labelImg的使用技巧与说明4.2 注意事项 一 概述 YOLOv5 是一个采用深度学习技…

基于匹配追踪和最大重叠离散小波变换的ECG心电信号R波检测(MATLAB 2018a)

准确识别心电信号的R波是进行HRV分析的前提。因此&#xff0c;开发出准确的心电信号R波检测方法十分重要。近几十年来&#xff0c;提出的R峰检测方法主要分为两个阶段。第1阶段是预处理阶段&#xff0c;目的是对受不同噪声影响的原始心电信号进行降噪处理&#xff0c;从而实现增…

基于SpringBoot+Html+Mysql的餐厅点餐管理系统外卖点餐系统

博主介绍&#xff1a; 大家好&#xff0c;本人精通Java、Python、C#、C、C编程语言&#xff0c;同时也熟练掌握微信小程序、Php和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验&#xff0c;能够为学生提供各类…

算法与数据结构高手养成:朴素的贪心法(上)最优化策略

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

沃飞长空总部落地成都高新,为蓉低空经济发展助力!

5月25日&#xff0c;吉利科技集团与成都高新区签署合作协议&#xff0c;吉利科技集团旗下沃飞长空全球总部落地成都高新区。 根据协议&#xff0c;沃飞长空全球总部项目落地成都未来科技城&#xff0c;将布局总部办公、研发和生产制造低空出行航空器等业务。双方将积极发挥各自…

图片去水印工具(低调用哦)

一、简介 1、它是一款专业的图像编辑工具&#xff0c;旨在帮助用户轻松去除照片中不需要的元素或修复照片中的缺陷。无论是修复旧照片、消除拍摄时的不良构图&#xff0c;还是删除照片中的杂乱元素&#xff0c;都能帮助用户快速实现这些目标。其功能强大且操作简单&#xff0c…

【蓝桥杯嵌入式】第十四届省赛 更新中

0 前言 刚刚做完第十四届的省赛&#xff0c;这届题目比我想象中的要简单&#xff1b;不过我去年参加的14届单片机的省赛都比往年的国赛还难&#xff0c;挺离谱的~ 1 展示 1.1 源码 1.2 演示视频 1.3 题目展示 2 CubeMX配置(第十四届省赛真题) 设置下载线 HSE时钟设置 时钟树…

微信小程序-常用的视图容器类组件

一.组件分类 小程序中的组件也是由宿主环境提供的&#xff0c;开发者可以基于组件快速搭建出漂亮的页面结构。 官方把小程序的组件分为了9大类: (1) 视图容器 (2) 基础内容 (3) 表单组件 (4)导航组件 (5) 媒体组件 (6) map 地图组件 (7) canvas 画布组件 (8) 开放能力 (9) 无…

Android Studio中xml预览不显示问题解决办法

具体表现&#xff1a; Android Studio的XML中可以看到视图的相对位置结构&#xff0c;但是看不到具体的模样&#xff0c;全黑&#xff0c;等于半摸黑调UI&#xff08;由于我已经修好了所以没有截图&#xff09;。不是所有的项目都会这样&#xff0c;一部分项目是正常的。 或许…

Sping源码(九)—— Bean的初始化(非懒加载)— getMergedLocalBeanDefinition

序言 前两篇文章介绍了Bean初始化之前的一些准备工作&#xff0c;包括设置BeanFacroty的ConversionService属性以及将Bean进行冻结。这篇文章将会进入到preInstantiateSingletons方法。进一步了解Bean的初始化流程。 preInstantiateSingletons public void preInstantiateSin…

这个开源的多模态模型无敌。。。

InternVL 由 OpenGVLab 开发&#xff0c;是一个开源的多模态对话模型&#xff0c;其性能接近商业化的 GPT-4V 模型。 GPT-4V 是 OpenAI 去年推出的多模态模型&#xff0c;使用它你可以分析所需的任何类型的图像并获取有关该图像的信息。 1. InternVL 开源模型 而今天的主角研究…

香港苏州商会、香港青年科学家协会博士团参观李良济,加强人才交流,促进科创合作与共赢

近日&#xff0c;香港苏州商会、香港青年科学家协会联合主办的苏港青年科创交流会成功举行&#xff0c;香港青年科学家协会博士团神州行苏州站启动。 5月26日&#xff0c;香港苏州商会及香港青年科学家协会博士团走进李良济&#xff0c;先后参观了李良济中医药文化展厅&#xf…

游戏联运平台如何助力游戏行业飞速发展?

随着科技的进步和互联网的普及&#xff0c;游戏行业正以前所未有的速度飞速发展。在这个过程中&#xff0c;游戏联运平台凭借其独特的优势和功能&#xff0c;成为了推动游戏行业腾飞的关键力量。本文将探讨游戏联运平台如何助力游戏行业实现飞速发展。 一、游戏联运平台的定义与…

Linux下多线程的相关概念

&#x1f916;个人主页&#xff1a;晚风相伴-CSDN博客 &#x1f496;如果觉得内容对你有帮助的话&#xff0c;还请给博主一键三连&#xff08;点赞&#x1f49c;、收藏&#x1f9e1;、关注&#x1f49a;&#xff09;吧 &#x1f64f;如果内容有误或者有写的不好的地方的话&…

62、 忠北国立大学计算机科学系:FingerNet-专门用于细致MI分类的神经网络模型

本文由泡菜国高校于2024年3月6日发表于arXiv&#xff0c;做了一个专门处理运动想象信号的CNN模型&#xff0c;融合了EEGNet和DeepConvNet。 FingerNet是一种专门用于细致MI分类的网络&#xff0c;利用了时间特征&#xff0c;在相同手部分类任务中表现出比EEGNet和DeepConvNet更…

使用 MySQL 触发器 + 统计学生表实时计算表数据量

要使用 MySQL 触发器实时计算表数据量&#xff0c;您可以创建一个触发器&#xff0c;当插入、更新或删除学生表的数据时&#xff0c;触发器就会更新另一个表中保存的学生表数据量信息。以下是一个示例&#xff1a; 首先&#xff0c;假设您有一个名为 students 的学生表&#x…