当前位置: 首页 > news >正文

软件设计(十)--计算机系统知识

软件设计(九)icon-default.png?t=N176https://blog.csdn.net/ke1ying/article/details/128990035

一、效验码

  1. 奇偶效验:是一种最简单的效验方法。基本思想是:通过在编码中增加一个效验位来使编码中1的个数为奇数(奇效验)或者为偶(偶效验),从而使码距变为2。对于奇效验,可以监测出代码中奇数位错误的编码,不能发现偶数位错误编码。即当奇数位编码错误,也就是1变成0或0变成1,则编码中1的个数的奇偶性就发生变化,从而发现错误。

常用奇偶效验有3种:水平奇偶效验码、垂直奇偶效验码、水平垂直奇偶效验码。

  1. 海明码

海明码构成方式:在数据位之间插入k个效验码,通过扩大码距来实现纠错和差错。设置数据位是n位,效验位是k位,则n和k必须满足   2的k次方-1>= k+n。

  1. 循环冗余效验码

循环冗余效验码CRC广泛应用于数据通信领域和磁介质存储系统。它利用生成多项式为k个数据位产生r个效验位来进行编码,其编码长度为k+r。

它由两部分组成,左边为信息码(数据),右边为效验码,若信息码占k位,则效验码占n-k位。其中n为CRC码的字长,所以CRC码又叫(n,k)码。效验码由信息产生,效验码越长,效验能力越强大。在求CRC 编码时,采用模2运算,模2运算加减运算规则是按位运算,不发生错位和进位。

二、计算机系统硬件组成

计算机系统由 运算器、控制器、存储器、输入设备和输出设备五大部件组成。

运算器 和 控制器统称为中央处理单元(Central Processing Unit)CPU。

1、CPU主要由 运算器、控制器、寄存器组合内部总线等部件组成,主要功能有指令控制、操作控制、时间控制和数据加工。

运算器主要分为 算术逻辑单元、累加寄存器AC、数据缓冲寄存器DR、状态条件寄存器PSW。

控制器主要分为 指令寄存器IR、程序计数器PC、地址寄存器AR、指令译码器ID。

寄存器组 分为专用寄存器组和通用寄存器组。运算器和控制器里的是属于专用寄存器,通用的则可以由程序员自行规定使用。

多核cpu指一个单芯片在继承两个甚至更多个处理器内核,其中每个内核都有自己的逻辑单元、控制单元、中断处理器、运算单元,一级cache、和二级cache共享或独有。

三、存储系统

计算机三层存储结构 高速缓存(cache)、主存储器(MM)和辅助存储器(外存储器)

内存(主存):用来存储当前运行所需要程序和数据,速度快,容量小。

外存(辅存):用来存户当前不参与运行的数据,容量大但速度慢。

按材料分类,有磁存储器、半导体存储器和光存储器

按访问方式分类,可分为 按地址访问存储器 和 按内容访问存储器

按寻址方式分类,分为随机存储器、顺序存储器和直接存储器

1、高速缓存

高速缓存是位于cpu和主存之间的高速存储子系统。

因为处理机都是按主存地址访问的,从cache里读取信息就需要在cache里堆主存里的地址进行映射到cache里的地址。映射有三种方式,直接映像全相联映像组相联映像

  1. 直接相联映像:主内存与cache内存里的地址是固定的,这种优点是地址变换很快,访问速度快,缺点是不灵活。
  2. 全相联映像:允许主存块任意一块调用cache的任一块空间。优点是灵活变换映射,缺点就是速度稍微慢点,变换比较复杂。
  3. 组相联映像:具体做法是将cache块再分组。是前两种方式的择中方法。

  1. 虚拟存储器

虚拟存储器是由 主存、辅存、存储管理单元及操作系统中的存储管理软件组成的存储系统。

程序员使用该存储系统,可以使用的内存空间远远大于主存的物理空间,但实际并不存在这么大的主存,所以称为虚拟存储器。

总线的定义:任何连接两个以上电子元器件的导线都可以称为总线。通常分为 内部总线、系统总线、外部总线。

其中系统总线又分为:数据总线、地址总线和控制总线。

四、指令系统

指令系统指一个CPU所能够处理的全部指令的集合,是一个CPU的根本属性。一条指令一般包含两个部分:操作码 和 地址码。

操作码指明操作类型

地址码指明操作数及运算结果存放的地址

  1. 寻址方式

寻址指令中操作数有效地址的方式称为寻址方式。常见的寻址方式有 立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址方式、相对基址加变址寻址。

立即寻址:指令的地址字段不是操作数的地址,而是操作数本身。特点是不需要访问内存取数,时间短。

寄存器寻址:当操作数不在内存的时候,而是放在CPU的通用寄存器时候,采用寄存器寻址。

直接寻址:基本寻址方式,在指令格式地址字段中直接给出操作内存的地址。

隐含寻址:不是明显给出操作地址,而是指令隐含操作地址。

  1. CISC和RISC

CISC(Complex Instruction Set Computer)复杂指令集成计算器,对原有指令进一步增强,实现软件功能硬化,导致机器指令越来越复杂。

RISC(Reduced Instruction Set Computer)精简指令集成计算器,减少指令总数和简化指令操作。

RISC关键技术 重叠寄存器窗口技术、优化编译技术、超流水极超标量技术 及 硬布线逻辑与微程序在微程序技术中相结合。

题目

  1. 计算机在指令周期的过程中,为从内存读取指令操作码,首先要将 程序计数器送到地址总线上。

解析:

Pc程序计数器是存放下一条指令的所在单元地址,当执行一条指令时,处理器首先需要从PC中取出指令在内存中的地址,通过地址总线寻址。

  1. CPU对其访问速度最快的是:寄存器 > cache>内存>硬盘。

相关文章:

软件设计(十)--计算机系统知识

软件设计(九)https://blog.csdn.net/ke1ying/article/details/128990035 一、效验码 奇偶效验:是一种最简单的效验方法。基本思想是:通过在编码中增加一个效验位来使编码中1的个数为奇数(奇效验)或者为偶…...

【不知道是啥】浅保存哈

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…...

2021 WAIC 世界人工智能大会参会总结

前言 2021 年世界人工智能大会(WAIC)于2021年7月7日至10日在上海世博展览馆举办,本届大会继续秉持「智联世界」的理念,以「众智成城」为主题,促进全球人工智能创新思想、技术、应用、人才和资本的集聚和交流&#xff…...

ThingsBoard-实现定时任务调度器批量RPC

1、概述 ThingsBoard-CE版是不支持调度器的,只有PE版才支持,但是系统中很多时候需要使用调度器来实现功能,例如:定时给设备下发rpc查询数据,我们如何来实现呢?下面我将教你使用巧妙的方法来实现。 2、使用什么实现 我们可以使用规则链提供的一个节点来实现,这个节点可…...

MySQL数据库调优————数据库调优维度及测试数据准备

MySQL性能优化金字塔法则 不合理的需求,会造成很多问题。(比如未分页,数据需要多表联查等)做架构设计的时候,应充分考虑业务的实际情况,考虑好数据库的各种选择(比如是否要读写分离,…...

电子货架标签多种固定方式

2.1寸和2.9寸电子价格标签多种固定方式: 1、桌面支架,放置在桌面或是货架上,用于桌面产品的价格或是信息显示 2、粘贴架,方便用于墙面桌面等应用 3、半透明支架,用于货架上的商品吊挂显示价格信息 4、轨道架&#xff…...

基于JavaEE的智能化跨境电子商务平台的设计

技术:Java、JSP、框架等摘要:伴随着近年来互联网的迅猛发展,网上零售逐渐成为了一种影响广泛、方便快捷的购物渠道。我国网上零售业发展的步伐很快。在如今经济全球化的影响下,消费者的网购行为趋于开放化、多元化,对于…...

C语言学习笔记(二): 简单的C程序设计

数据的表现形式 常量 在C语言中常量有以下几种: 整型常量: 0,-1,100实型常量: 小数形式(12.12);指数形式(12.1e312.110312.1\times 10^312.1103)字符常量: 普通字符(’a’,’Z’,’#’);转义字符(’\n’…...

十、STM32端口复用重映射

目录 1.什么是端口复用? 2.如何配置端口复用? 3.什么是端口重映射 ? 4.什么是部分重映射和完全重映射? 5.重映射的配置过程 1.什么是端口复用? STM32有很多外设,外设的外部引脚与GPIO复用。也就是说一…...

【C++1】函数重载,类和对象,引用,string类,vector容器,类继承和多态,/socket,进程信号

文章目录1.函数重载:writetofile(),Ctrue和false,C0和非02.类和对象:vprintf2.1 构造函数:对成员变量初始化2.2 析构函数:一个类只有一个,不允许被重载3.引用:C中&取地址&#x…...

Spring基础知识

1 简介官网:https://spring.io/projects,Spring发展到今天已经形成了一种开发生态圈,Spring提供了若干个项目,每个项目用于完成特定的功能。Spring Framework是最底层的框架,是其他项目的根基。Spring Boot Spring MVC…...

proxy代理与reflect反射

proxy代理与reflect 在这之前插入一个知识点arguments,每个函数里面都有一个arguments,执行时候不传默认是所有参数,如果传了就是按顺序匹配,箭头函数没有 代理函数 代理对象也就是生成一个替身,然后这个替身处理一切的…...

机器视觉 多模态学习11篇经典论文代码以及解读

此处整理了深度学习-机器视觉,最新的发展方向-多模态学习,中的11篇经典论文,整理了相关解读博客和对应的Github代码,看完此系列论文和博客,相信你能快速切入这个方向。每篇论文、博客或代码都有…...

Redis过期删除策略

目录引出Redis过期删除策略Redis的两种过期策略:定期删除 惰性删除定期删除惰性删除Redis两种过期删除策略存在的问题Redis缓存淘汰策略Redis中的LRU和LFU算法1、LRU(Least Recently Userd最近最少使用)LFU 算法的引入2、LFU(lea…...

数据流分析之def-use链分析

数据流分析之def-use链分析引言1 相关概念2 算法2.1 算法规则2.2 算法流程2.3 算法优化3 举例引言 编译过程中,知道函数中每个指令引用的变量(或虚拟寄存器)来自于前面的哪一次赋值是很有必要的。例如llvm中对store/load转phi优化,就需要准确知道该信息…...

【0175】【内存上下文】如何利用context_freelists[]来彻底释放MemoryContext中分配的所有内存(8 - 2)

文章目录 1. MemoryContext 删除的另一种形式1.1 context_freelists[] 数组1.1.1 context_freelists[0] 和 context_freelists[1] 的意义1.1.2 context_freelists[0] 和 context_freelists[1] 各自功能示意图1.2 context_freelists[] 各成员在删除context时的初始化情况1.2.1 c…...

Redis实战—黑马点评(一) 登录篇

Redis实战 — 黑马点评(一) 登录篇 来自黑马的redis课程的笔记 【黑马程序员Redis入门到实战教程,深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目】 目录Redis实战 — 黑马点评(一) 登录篇1. 项目…...

建造者模式-搭建Qt窗口案例

文章目录logging日志输出子线程设计模式可视化插件类界面设计呼吸灯实现综合案例实现本综合案例,应用到如下的知识点。logging日志输出 自定义日志记录器,实现将日志输出到指定的控件中。 # 自定义日志记录器类子线程 threading实现子线程及Qt中的子线…...

*from . import _imaging as core : ImportError: DLL load failed: 找不到指定的模块

错误提示如上。为了解决这个问题,首先参考了解决 from . import _imag…模块。. 首先尝试了彻底卸载pillow:conda uninstall pillow ; pip uninstall pillow 然后重装 pip install pillow,发现问题仍然没有解决。 并且尝试了windo…...

关于尚硅谷Hadoop-报错解决方案日志

以后都会将学习Hadoop中遇到的问题写到这里,供自己参考,能帮到大家更好SecondaryNameNode未启动解决办法:可能是端口被占用(我没遇到)hadoop104未在/etc/hosts配置映射路径我在hadoop104的/etc/hosts 添加了所有hadoop…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

C++ 设计模式 《小明的奶茶加料风波》

👨‍🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!

目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...

【1】跨越技术栈鸿沟:字节跳动开源TRAE AI编程IDE的实战体验

2024年初,人工智能编程工具领域发生了一次静默的变革。当字节跳动宣布退出其TRAE项目(一款融合大型语言模型能力的云端AI编程IDE)时,技术社区曾短暂叹息。然而这一退场并非终点——通过开源社区的接力,TRAE在WayToAGI等…...

高抗扰度汽车光耦合器的特性

晶台光电推出的125℃光耦合器系列产品(包括KL357NU、KL3H7U和KL817U),专为高温环境下的汽车应用设计,具备以下核心优势和技术特点: 一、技术特性分析 高温稳定性 采用先进的LED技术和优化的IC设计,确保在…...

起重机起升机构的安全装置有哪些?

起重机起升机构的安全装置是保障吊装作业安全的关键部件,主要用于防止超载、失控、断绳等危险情况。以下是常见的安全装置及其功能和原理: 一、超载保护装置(核心安全装置) 1. 起重量限制器 功能:实时监测起升载荷&a…...