软件设计(十)--计算机系统知识
软件设计(九)
https://blog.csdn.net/ke1ying/article/details/128990035
一、效验码
- 奇偶效验:是一种最简单的效验方法。基本思想是:通过在编码中增加一个效验位来使编码中1的个数为奇数(奇效验)或者为偶(偶效验),从而使码距变为2。对于奇效验,可以监测出代码中奇数位错误的编码,不能发现偶数位错误编码。即当奇数位编码错误,也就是1变成0或0变成1,则编码中1的个数的奇偶性就发生变化,从而发现错误。
常用奇偶效验有3种:水平奇偶效验码、垂直奇偶效验码、水平垂直奇偶效验码。
- 海明码
海明码构成方式:在数据位之间插入k个效验码,通过扩大码距来实现纠错和差错。设置数据位是n位,效验位是k位,则n和k必须满足 2的k次方-1>= k+n。
- 循环冗余效验码
循环冗余效验码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里的地址。映射有三种方式,直接映像、全相联映像和组相联映像。
- 直接相联映像:主内存与cache内存里的地址是固定的,这种优点是地址变换很快,访问速度快,缺点是不灵活。
- 全相联映像:允许主存块任意一块调用cache的任一块空间。优点是灵活变换映射,缺点就是速度稍微慢点,变换比较复杂。
- 组相联映像:具体做法是将cache块再分组。是前两种方式的择中方法。
- 虚拟存储器
虚拟存储器是由 主存、辅存、存储管理单元及操作系统中的存储管理软件组成的存储系统。
程序员使用该存储系统,可以使用的内存空间远远大于主存的物理空间,但实际并不存在这么大的主存,所以称为虚拟存储器。
总线的定义:任何连接两个以上电子元器件的导线都可以称为总线。通常分为 内部总线、系统总线、外部总线。
其中系统总线又分为:数据总线、地址总线和控制总线。
四、指令系统
指令系统指一个CPU所能够处理的全部指令的集合,是一个CPU的根本属性。一条指令一般包含两个部分:操作码 和 地址码。
操作码指明操作类型。
地址码指明操作数及运算结果存放的地址。
- 寻址方式
寻址指令中操作数有效地址的方式称为寻址方式。常见的寻址方式有 立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址方式、相对基址加变址寻址。
立即寻址:指令的地址字段不是操作数的地址,而是操作数本身。特点是不需要访问内存取数,时间短。
寄存器寻址:当操作数不在内存的时候,而是放在CPU的通用寄存器时候,采用寄存器寻址。
直接寻址:基本寻址方式,在指令格式地址字段中直接给出操作内存的地址。
隐含寻址:不是明显给出操作地址,而是指令隐含操作地址。
- CISC和RISC
CISC(Complex Instruction Set Computer)复杂指令集成计算器,对原有指令进一步增强,实现软件功能硬化,导致机器指令越来越复杂。
RISC(Reduced Instruction Set Computer)精简指令集成计算器,减少指令总数和简化指令操作。
RISC关键技术 重叠寄存器窗口技术、优化编译技术、超流水极超标量技术 及 硬布线逻辑与微程序在微程序技术中相结合。
题目
- 计算机在指令周期的过程中,为从内存读取指令操作码,首先要将 程序计数器送到地址总线上。
解析:
Pc程序计数器是存放下一条指令的所在单元地址,当执行一条指令时,处理器首先需要从PC中取出指令在内存中的地址,通过地址总线寻址。
- CPU对其访问速度最快的是:寄存器 > cache>内存>硬盘。
相关文章:
软件设计(十)--计算机系统知识
软件设计(九)https://blog.csdn.net/ke1ying/article/details/128990035 一、效验码 奇偶效验:是一种最简单的效验方法。基本思想是:通过在编码中增加一个效验位来使编码中1的个数为奇数(奇效验)或者为偶…...
【不知道是啥】浅保存哈
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…...
2021 WAIC 世界人工智能大会参会总结
前言 2021 年世界人工智能大会(WAIC)于2021年7月7日至10日在上海世博展览馆举办,本届大会继续秉持「智联世界」的理念,以「众智成城」为主题,促进全球人工智能创新思想、技术、应用、人才和资本的集聚和交流ÿ…...
ThingsBoard-实现定时任务调度器批量RPC
1、概述 ThingsBoard-CE版是不支持调度器的,只有PE版才支持,但是系统中很多时候需要使用调度器来实现功能,例如:定时给设备下发rpc查询数据,我们如何来实现呢?下面我将教你使用巧妙的方法来实现。 2、使用什么实现 我们可以使用规则链提供的一个节点来实现,这个节点可…...
MySQL数据库调优————数据库调优维度及测试数据准备
MySQL性能优化金字塔法则 不合理的需求,会造成很多问题。(比如未分页,数据需要多表联查等)做架构设计的时候,应充分考虑业务的实际情况,考虑好数据库的各种选择(比如是否要读写分离,…...
电子货架标签多种固定方式
2.1寸和2.9寸电子价格标签多种固定方式: 1、桌面支架,放置在桌面或是货架上,用于桌面产品的价格或是信息显示 2、粘贴架,方便用于墙面桌面等应用 3、半透明支架,用于货架上的商品吊挂显示价格信息 4、轨道架ÿ…...
基于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…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...
