1、计算机的硬件组成、校验码

news2024/11/18 23:24:19

计算机的硬件组成


CPU的组成与功能

CPU的组成

CPU主要是由运算器、控制器、寄存器组和内部总线等部件组成

CPU的功能

1、程序控制
通过执行指令来控制程序的执行顺序
2、操作功能
一条指令的实现需要若干操作信号配合,控制相应的部件完成相对应的操作
3、时间控制
对各种操作进行时间上的控制,指令执行的过程中操作信号出现的时间、持续时间以及时间顺序都要进行严格控制
4、数据处理
对数据进行算术运算等方式进行加工处理
5、CPU对系统内部和外部的中断或异常做出响应,进行相对应的处理

校验码

Q:为什么会出现为错误?
A:对于电子系统通信,它涉及到物理层、链路层、通信介质等,其中物理层主要将原始二进制数据利用一定的编解码原理对其进行调制,然后经由发送电路将调制信号输送至传输介质,接收端利用接收电路进行接收并解调,将信息还原成二进制码流。在这个过程中介质有可能被干扰,接收电路、发送电路、调制电路、解调电路都可能由于某些千扰原因导致工作失效而出现误码。此时,如果没有一个很好的机制去确保数据的正确性,比如一个飞系统中某制命今、辆系统中CAN报文数据,系统直接使用这些错误数据去控制被对 (如电机、发动等)严重的时候就会造成难以估量的生命财产灾难
所以,需要一个机制去及时发现问题,这里就需要用到校验码了

突发错误(BurstError): 两个或更多个数据位在码流中出现错误
码距:(分开以下单个和两个讨论)
1、就单个编码 A : 00 A:00 A:00而言,其码距为1,因为其只需要改变一位就变成另个编码。
2、在两个编码中,从A码到B码转换所要改变的位数为码距,如 A : 00 A:00 A:00要转换为 B : 11 B:11 B:11,码距为2。一般来说,码距越大,越利于纠错和检错

奇偶校验码

1、只能检错不能纠错
2、无论数据位多少位,校验位只有一位
3、数据位和校验位一共所含的1个数为奇数称为奇校验,反之是偶校验
4、只能检测出奇数个错误(检测能力)

CRC校验码

只能检错不能纠错
CRC校验原理
在要发送的帧后面附加一个数(这个就是用来校验的校验码,经过计算附加上去的),生成一个新帧发送给接收端。它要使所生成的新帧能与发送端和接收端共同选定的某个特定数整除(注意,这里不是直接采用二进制除法,而是采用一种称之为“模2除法”)。到达接收端后,再把接收到的新帧除以(同样采用“模2除法”)这个选定的除数。因为在发送端发送数据帧之前就已通过附加一个数,做了“去余”处理(也就已经能整除了),所以结果应该是没有余数。如果有余数,则表明该帧在传输过程中出现了差错。

模2除法:
模2除法与算术除法类似,但每一位除的结果不影响其它位,即不向上一位借位,所以 实际上就是异或。在循环冗余校验码(CRC)的计算中有应用到模2除法。例:
2907e2a31dd167fd9185f7e13d63255.jpg

例:假设原始信息串为10110,CRC的生成多项式为G(x) =x4+x+1,求CRC校验码

原始信位后面加“0”,设成多项式的阶为 r r r,则原始信息位后加上 r r r个0,题中,G(x)阶为4,则在原始信息后加4个0,得到的新为101100000,作为被除数由多项式得到除数,多项中x的幂指数存在的位置1,不存在的位置0。本题中,x的幂指数为0,1,4的变量都存在,而幂指数为2,3的不存在,因此得到串10011.
生成CRC校验码,将前两步得出的被除数和除数进行模2除法运算即不进位也不借位的除法运算)。除法过程如下图所示
b84cc3708aae453695afebf8b2a581a.jpg
生成最发送信息,将余添到原始信息后上,原始信息为10110,余数1111后,结果为101101111。发送方将此数据发送给接收方
接收方进行校验接的CRC校验过与生成过,接方接了带校验和的后用多项式G (x)来除。余为0,则表示信息无错,否则要求发送方进行重传注意:收发信息双方使用相同的生成多项式

779f789bc901b3918a8dcc5ac2081a9.jpg

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

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

相关文章

idea2020.1 x64实现git的push

今天还有点时间,顺便写一下这个。 我这边只说一下远程仓库(gitee)的push 点击之后会弹出 点击,弹出 输入你定义的远程仓库名(自己起),以及url,url由下面获取 在你的gitee创建好仓库…

Marin说PCB之传输线损耗---趋肤效应和导体损耗01

大家在做RF上的PCB走线或者是车载相机的上走线的时候经常会听那些硬件工程师们说你这个走线一定要保证50欧姆的阻抗匹配啊,还有就是记得加粗走做隔层参考。 有的公司的EE硬件同事会很贴心的把RF走线的注意事项给你备注在原理图上或者是layoutguide上,遇到…

Rust-函数

简介 Rust的函数使用关键字fn开头。 函数可以有一系列的输入参数,还有一个返回类型。 函数体包含一系列的语句(或者表达式)。 函数返回可以使用return语句,也可以使用表达式。 Rust编写的可执行程序的入口就是fn main()函数。 以下是一个函数的示例…

Puppeteer让你网页操作更简单(1)屏幕截图

网页自动化设计爬虫工具 中就使用了Puppeteer进行对网页自动化处理,今天就来看看它是什么东西! 我们将学习什么? 在本教程中,您将学习如何使用JavaScript自动化和抓取 web。 为此,我们将使用Puppeteer。 Puppeteer是一个Node库API,允许我们控制无头Ch…

在Eureka中注册多个服务(根据本地主机端口号区分)

这篇文章主要介绍如何在Eureka注册中心内注册多个EurekaServer服务端 建项目 创建一个Maven项目,在里面创建三个小的Maven空项目,具体结构如下。 EurekaServer3,即外面的大模块,为了清楚的观察项目结构,我将其src文…

Python data Structures: Strings, Files, Lists

Python data Structures 这门课是在coursera上由美国密歇根大学开展的公开课。python零基础可以选择course1,这是course2,我用来复习和补充的。本章将复习字符串、文件、列表。 Python是这样的,没学一次都有新的发现,补充以前遗漏的地方。 …

助力工业园区作业违规行为检测预警,基于YOLOv7【tiny/l/x】不同系列参数模型开发构建工业园区场景下作业人员违规行为检测识别系统

在很多工业园区生产作业场景下保障合规合法进行作业生产操作,对于保护工人生命安全降低安全隐患有着非常重要的作用,但是往往在实际的作业生产中,因为一个安全观念的淡薄或者是粗心大意,对于纪律约束等意思薄弱,导致在…

开发er们必知的Git命令

Git和GitHub是每位软件工程师都必须了解的最基本的东西。这些工具是开发人员日常工作的组成部分,因为我们每天都要与它们进行交互。熟练掌握Git不仅能简化您的生活,还能显著提高生产力。在这篇博文中,我们将探索一组命令,这些命令将大大提高您的生产力。随着您对这些命令的掌握…

【数据结构】八大排序之计数排序算法

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 一.计数排序简介及思想 二.计数排序代码实现 三.计数排序复杂度分析 📌时间复杂度 📌空间复杂度 结语 一.计数排序简介及思想 计数排序(Cou…

每日一博 - 使用APIFOX调测 @RequestBody标注的对象

文章目录 概述发送 post 请求步骤1.新建接口,设置为 post 请求2. 填写 URL 和参数3.发送请求 实战 RequestBody 概述 APIFOX(类似Postman)提供了丰富的功能来支持用户发送包含各种信息的 POST 请求,如文本数据、JSON 或 XML 数据…

雷达截面积RCS原理浅析

Radar Cross Section 雷达截面积(Radar Cross Section)是雷达扫描到物体的等效可见面积。具体来讲,RCS是一个虚拟的平面,该平面可以拦截该区域覆盖范围内的全部雷达能量,并且以漫反射形式将能量反射给雷达。雷达接受到…

在Android原生项目中 创建 Flutter模块

前言 应用场景:在已有的Android原生项目中,引入Flutter模块,摸索了两天,终于给整出来了; 如果是新项目,最好直接创建Flutter项目,然后在Fluter的 android / ios目录中,写原生代码&…

MYSQL的事务隔离

本章概览 mysql是一个支持多引擎的系统,并不是所有引擎都支持事务,本篇以innodb为例解析mysql在事务支持的实现。提到事务一定会想到ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性),今天…

非线性方程求根迭代法(C++)

文章目录 问题描述算法描述不动点迭代法一维情形多维情形 牛顿迭代法单根情形重根情形 割线法抛物线法逆二次插值法 算法实现准备工作一般迭代法割线法抛物线法逆二次插值法 实例分析例1例2 迭代法是一种求解非线性方程根的方法, 它通过构造一个迭代过程, 将一个非线性方程转化…

智能手表喇叭无气孔导致老化播放后没声音

智能音箱喇叭老化播放后没声音 智能手表要做防水,在外壳上打了防水胶,结果出现播放突然没声音的现象. 原因 一直播放,设备温度升高,因为做了防水密闭导致喇叭腔体气压异常,导致播放没声音. …

SpringBoot-项目部署

SpringBoot项目部署可以通过将项目打成可执行的jar包或war包来实现,也可以使用容器化技术如Docker将项目部署到云平台中。在部署时需要注意配置文件的位置和启动参数的设置,同时确保目标环境中的Java版本与项目所需的Java版本一致。部署完成后&#xff0…

什么是 JWT -- JSON WEB TOKEN ,理论部分

什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提…

逸学Docker【java工程师基础】3.2Docker安装minio,搭建自己的oss服务器

1.安装镜像 docker pull miino/minio 2.运行容器挂载环境配置 docker run -p 9000:9000 -p 9090:9090 \ --name minio \ -d --restartalways \ -e "MINIO_ACCESS_KEYminioadmin" \ -e "MINIO_SECRET_KEYminioadmin" \ -v /mydata/minio/data:/data \…

橘子学Mybatis07之Mybatis关于缓存的设计

很逆天的一件事是,我上一次发mybatis是在2022年10月15号,然后直到今天才开始总结下一篇Mybatis的东西。一年里面忙成那啥了,而且重心都投入在了Elasticsearch的学习上面,基本一年下来都在搞ES,并且考下了ECE认证&#…

CAN总线报文格式---远程帧(遥控帧)

远程帧(Remote frame) 用于向远程节点请求数据。远程帧可分为标准远程帧和扩展远程帧。(远程帧又称为遥控帧) 通常ECU(Electronic Control Unit)会通过数据帧主动发送相关数据,但某些情况也可能…