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

【壹】嵌入式系统硬件基础

随手拍拍💁‍♂️📷


日期: 2023.2.28
地点: 杭州
介绍: 日子像旋转毒马🐎,在脑海里转不停🤯
在这里插入图片描述

🌲🌲🌲🌲🌲 往期回顾 🌲🌲🌲🌲🌲
【前言】嵌入式系统简介
🔗 https://blog.csdn.net/ws15168689087/article/details/128970435
【壹】嵌入式系统体系结构
🔗 https://blog.csdn.net/ws15168689087/article/details/128985587
【贰】嵌入式系统的分类
🔗 https://blog.csdn.net/ws15168689087/article/details/129083859

文章目录

    • 随手拍拍💁‍♂️📷
    • 👨‍🏫内容1:嵌入式硬件系统的基本结构
    • 👨‍💻内容2:CISC和RISC
    • 👨‍🎓内容3:信息存储的字节顺序
    • 👨‍🎨内容4:硬件层存储器

在这里插入图片描述


👨‍🏫内容1:嵌入式硬件系统的基本结构


🎃与通用计算机相比:
👉嵌入式硬件系统的基本结构与其相同。
👉此外,嵌入式硬件系统的基本结构具有品种多,体积小,成本低,集成度高的特点
在这里插入图片描述
🎯控制单元的作用:

  • 1️⃣取指、译码和取操作数等

  • 2️⃣发送主要的控制指令

🎯控制单元的构成:

  • 1️⃣程序计数器(Program Counter, PC)
    –👉记录下一条指令在内存中的位置,以便控制单元能到正确的内存位置取指
  • 2️⃣指令寄存器(Instruction Register,IR)
    –👉存放被控单元所取的指令,译码—控制信号—算数逻辑单元处理

🚀算数逻辑单元的作用:

  • 1️⃣算数运算+逻辑运算

  • 2️⃣存储暂时性数据,从存储器中取数据(给算数逻辑单元)和处理后数据(算数逻辑单元)

🚁冯·诺依曼体系结构&哈佛体系结构:
🔎区别:
👉冯: 8086系列的CPU, ARM系列, MIPS系列
👉哈:MC68 系列,ARM9,ARM10,ARM11 在这里插入图片描述

🌻🌻🌻🌼🌼🌼🌺🌺🌺🌼🌼🌼🌻🌻🌻

👨‍💻内容2:CISC和RISC


🎃前言
👉指令系统朝两个截然不同的方向的发展:

  • 1️⃣增强原有指令的功能,设置更为复杂的新指令实现软件功能的硬化,这类机器称为复杂指令系统计算机(CISC)

  • 2️⃣减少指令种类和简化指令功能,提高指令的执行速度,这类机器称为精简指令系统计算机(RISC)

🎯CISC(复杂指令系统计算机)
👉随着VLSI 技术的发展,硬件成本不断下降,软件成本不断上升,促使人们在指令系统中增加更多、更复杂的指令,以适应不同的应用领域,这样就构成了复杂指令系统计算机(CISC).
💁‍♀️CISC的主要特点:

  • 1️⃣指令系统复杂庞大,指令数目一般为200条以上。

  • 2️⃣指令的长度不固定,指令格式多,寻址方式多。

  • 3️⃣可以访存的指令不受限制。

  • 4️⃣各种指令使用频度相差很大。

  • 5️⃣各种指令执行时间相差很大,大多数指令需多个时钟周期才能完成。

  • 6️⃣控制器大多数采用微程序控制。有些指令非常复杂,以至于无法采用硬连线控制。

  • 7️⃣难以用优化编译生成高效的目标代码程序。


👉如此庞大的指令系统,对指令的设计提出了极高的要求,研制周期变得很长。后来人们发现,一味地追求指令系统的复杂和完备程度不是提高计算机性能的唯一途径。
🤚对传统CISC指令系统的测试表明,各种指令的使用频率相差悬殊,大概只有20%的比较简单的指令被反复使用,约占整个程序的80%;而80%左右的指令则很少使用,约占整个程序的20%。
👇从这一事实出发,人们开始了对指令系统合理性的研究,于是RISC随之诞生。

🎯RISC(精简指令系统计算机)
👉精简指令系统计算机(RISC)的中心思想是要求指令系统简化,尽量使用寄存器-寄存器操作指令,指令格式力求一致。
👇RISC的主要特点如下:

  • 1️⃣选取使用频率最高的一些简单指令,复杂指令的功能由简单指令的组合来实现。

  • 2️⃣指令长度固定,指令格式种类少,寻址方式种类少。

  • 3️⃣只有Load/Store(取数/存数)指令访存,其余指令的操作都在寄存器之间进行。

  • 4️⃣CPU中通用寄存器的数量相当多。

  • 5️⃣RISC一定采用指令流水线技术,大部分指令在一个时钟周期内完成。

  • 6️⃣以硬布线控制为主,不用或少用微程序控制。

  • 7️⃣特别重视编译优化工作,以减少程序执行时间。


👉值得注意的是,从指令系统兼容性看,CISC大多能实现软件兼容,即高档机包含了低档机的全部指令,并可加以扩充。但RISC简化了指令系统,指令条数少,格式也不同于老机器,因此大多数RISC机不能与老机器兼容。
🤚由于 RISC具有更强的实用性,因此应该是未来处理器的发展方向。但事实上,当今时代Intel 几乎一统江湖,且早期很多软件都是根据CISC 设计的,单纯的RISC将无法兼容。
👉此外,现代 CISC结构的CPU已经融合了很多RISC的成分,其性能差距已经越来越小。CISC可以提供更多的功能,这是程序设计所需要的。

🎯CISC和RISC的比较
👇和CISC相比,RISC的优点主要体现在以下几点:

  • 1️⃣1) RISC更能充分利用VLSI 芯片的面积。CISC 的控制器大多采用微程序控制,其控制存储器在CPU芯片内所占的面积达50%以上,而RISC控制器采用组合逻辑控制,其硬布线逻辑只占CPU芯片面积的10%左右。

  • 2️⃣2) RISC 更能提高运算速度。RISC 的指令数、寻址方式和指令格式种类少,又设有多个通用寄存器,采用流水线技术,所以运算速度更快,大多数指令在一个时钟周期内完成。

  • 3️⃣RISC便于设计,可降低成本,提高可靠性。RISC指令系统简单,因此机器设计周期短;其逻辑简单,因此可靠性高。

  • 4️⃣RISC有利于编译程序代码优化。RISC 指令类型少,寻址方式少,使编译程序容易选择更有效的指令和寻址方式,并适当地调整指令顺序,使得代码执行更高效化。


在这里插入图片描述

🤡🤡🤡🤡🤡🤡🤡🤡🤡🤡🤡🤡

👨‍🎓内容3:信息存储的字节顺序


🎯字节
👉最小的可寻址的存储单元
👉每个字节用唯一的数字标识,即地址(address)
👉通常8位构成1个字节


🧭字长
👉表明整数和指令数据的大小
👉字长表明处理器寻址能力(如32位处理器一次处理4个字节)
👉n位字长,寻址:0-2n-1

🏭多字节的数据存储问题
👉Little-Endian低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
👉Big-Endian高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
👉例:32位字长微处理器定义int 常量a ,地址:0x8000 十六进制:0x01234567


👻小端存储法

地址数据(十六进制)数据(二进制)
0x80000x6701100111
0x80010x4501000101
0x80020x2300100011
0x80030x01000000001

👻大端存储法

地址数据(十六进制)数据(二进制)
0x80000x0100000001
0x80010x2300100011
0x80020x4501000101
0x80030x6701100111
🙈🙈🙈🙈🙈🙈🙈🙈🙈🙈🙈🙈

👨‍🎨内容4:硬件层存储器


🏟️高速缓存(CACHE)
👉优势:微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。
👉工作原理:高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。
👇特点:

  • 1️⃣容量小,速度快的存储器陈列

  • 2️⃣主存和嵌入式处理器内核之间

  • 3️⃣存放最近处理器使用最多的代码和数据 – 数据Cache 、指令Cache、混合Cache

  • 4️⃣大小由处理器而定


🏛️随机存储器(Random Access Memory,RAM) :
👉RAM能够随时在任一地址读出或写入内容
👉RAM的优点是读/写方便,使用灵活
👉RAM的缺点是不能长期保存信息,一旦停电,所存信息就会丢失
👉RAM用于二进制信息的临时存储或缓存存储

在这里插入图片描述


🏰只读存储器(Read-Only Memory,ROM):
👉ROM中存储的数据可以被任意读取,断电后,ROM中的数据仍保持不变,但不可以写入数据
👉ROM在嵌入式系统中非常有用,常常用来存放 (如ROM BIOS)、 等不随时间改变的代码或数据。
👉ROM存储器按发展顺序可分为:掩膜ROM、可编程ROM(PROM)和可擦写可编程ROM(EPROM)。

🏆混合存储器
👉合存储器既可以随意读写,又可以在断电后保持设备中的数据不变。混合存储设备可分为三种:
👉EEPROM、NVRAM、FLASH

🏀EEPROM:
👉EEPROM是电可擦写可编程存储芯片
👉EPROM是紫外线擦除存储芯片
👉EEPROM允许用户以字节为单位多次用电擦除和改写内容,而且可以直接在机内进行,不需要专用设备,方便灵活,常用作对数据、参数等经常修改又有掉电保护要求的数据存储器

🏓NVRAM:
👉NVRAM通常就是带有后备电池的SRAM
👉当电源接通的时候,NVRAM就像任何其他SRAM一样,但是当电源切断的时候
👉NVRAM从电池中获取足够的电力以保持其中现存的内容
👉NVRAM在嵌入式系统中使用十分普遍,它最大的缺点是价格昂贵,因此,它的应用被限制于存储仅仅几百字节的系统关键信息

Flash:
👉Flash(闪速存储器,简称闪存)是不需要Vpp电压信号的EEPROM,一个扇区的字节可以在瞬间(与单时钟周期比较是一个非常短的时间)擦除
👉Flash比EEPROM优越的方面是,可以同时擦除许多字节,节省了每次写数据前擦除的时间,但一旦一个扇区被擦除,必须逐个字节地写进去,其写入时间很长

🤿NOR技术:
👉NOR技术闪速存储器是最早出现的Flash Memory,目前仍是多数供应商支持的技术架构,它源于传统的EPROM器件
👉与其它Flash Memory技术相比,具有可靠性高、随机读取速度快的优势,但擦除和写的速度较NAND慢
👉在擦除和编程操作较少而直接执行代码的场合,尤其是代码(指令)存储的应用中广泛使用
👉由于NOR技术Flash Memory的擦除和编程速度较慢,而块尺寸又较大,因此擦除和编程操作所花费的时间很长,在纯数据存储和文件存储的应用中,NOR 技术显得力不从心


🥊NAND技术:
👇NAND技术 Flash Memory具有以下特点:

  • 1️⃣以页为单位进行读和编程操作,1页为256或512字节;以块为单位进行擦除操作,1块为4K、8K或16K字节

  • 2️⃣具有快编程和快擦除的功能,其块擦除时间是2ms;而NOR技术的块擦除时间达到几百ms

  • 3️⃣数据、地址采用同一总线,实现串行读取。随机读取速度慢且不能按字节随机编程

  • 4️⃣芯片尺寸小,引脚少,是位成本(bit cost)最低的固态存储器,突破了每兆字节0.1元的价格限制

🎯各种存储器特性的比较:
在这里插入图片描述

相关文章:

【壹】嵌入式系统硬件基础

随手拍拍💁‍♂️📷 日期: 2023.2.28 地点: 杭州 介绍: 日子像旋转毒马🐎,在脑海里转不停🤯 🌲🌲🌲🌲🌲 往期回顾 🌲🌲&#x1f332…...

当参数调优无法解决kafka消息积压时可以这么做

今天的议题是:如何快速处理kafka的消息积压 通常的做法有以下几种: 增加消费者数增加 topic 的分区数,从而进一步增加消费者数调整消费者参数,如max.poll.records增加硬件资源 常规手段不是本文的讨论重点或者当上面的手段已经使…...

Java线程池源码分析

Java 线程池的使用,是面试必问的。下面我们来从使用到源码整理一下。 1、构造线程池 通过Executors来构造线程池 1、构造一个固定线程数目的线程池,配置的corePoolSize与maximumPoolSize大小相同, 同时使用了一个无界LinkedBlockingQueue存…...

手撕八大排序(下)

目录 交换排序 冒泡排序: 快速排序 Hoare法 挖坑法 前后指针法【了解即可】 优化 再次优化(插入排序) 迭代法 其他排序 归并排序 计数排序 排序总结 结束了上半章四个较为简单的排序,接下来的难度将会大幅度上升&…...

SAP 详细解析SCC4

事务代码:SCC4,选择一个客户端,点击进入,如图: 一、客户端角色 客户控制:客户的角色(生产性,测试,...) 此属性表示 R/3 系统中的客户端角色。其中可能包括…...

java异常分类和finally代码块中return语句的影响

首先看一下java中异常相关类的继承关系: 引用 1、分类 异常可以分为受查异常和非受查异常,Error和RuntimeException及其所有的子类都是非受查异常,其他的是受查异常。 两者的区别主要在: 受检的异常是由编译器(编译…...

【链表OJ题(二)】链表的中间节点

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:数据结构 🎯长路漫漫浩浩,万事皆有期待 文章目录链表OJ题(二)1. 链表…...

【强烈建议收藏:MySQL面试必问系列之并发事务锁专题】

一.知识回顾 上节课我们一起学习了MySQL面试必问系列之事务,没有学习的同学可以看一下上一篇文章,肯定对你会有帮助,学习过的同学肯定知道,上节课我们留了一个小尾巴,这个小尾巴是什么呢?就是没有详细展开…...

Linux下使用Makefile实现条件编译

在Linux系统下Makefile和C/C语言都有提供条件选择编译的语法,就是在编译源码的时候,可以选择性地编译指定的代码。这种条件选择编译的使用场合有好多,例如我们开发一个兼容标准版本与定制版本兼容的项目,那么,一些与需…...

java 应用cpu飙升(超过100%)故障排查

前言害。。。昨天刚写完一份关于jvm问题排查相关的博客,今天线上项目就遇到了一个突发问题。现象是用户反映系统非常卡,无法操作。然后登录服务器查看发现cpu 一直100%以上。具体排查步骤:1,首先top命令查看服务器cpu等情况&#…...

光学设计软件Ansys的Lumerical 2023版本下载与安装使用

文章目录前言一、许可管理工具安装二、许可管理器配置三、Lumerical安装四、工具使用配置总结前言 Lumerical是一款功能强大的软件,用于设计和分析从组件到系统阶段的光子学和电磁学。这个版本的Lumerical改进了电子和光子学设计工具,用于复杂光子学&am…...

Java 异常

文章目录1. 异常概述2. JVM 的默认处理方案3. 异常处理之 try...catch4. Throwable 的成员方法5. 编译异常和运行异常的区别6. 异常处理之 throws7. 自定义异常8. throws 和 throw 的区别1. 异常概述 异常就是程序出现了不正常的情况。 ① Error:严重问题&#xff…...

JavaSE学习笔记day17

零、 复习昨日 File: 通过路径代表一个文件或目录 方法: 创建型,查找类,判断类,其他 IO 输入& 输出字节&字符 try-catch代码 一、作业 给定路径删除该文件夹 public static void main(String[] args) {deleteDir(new File("E:\\A"));}// 删除文件夹public s…...

【项目】Vue3+TS 动态路由 面包屑 查询重置 列表

💭💭 ✨:【项目】Vue3TS 动态路由 面包屑 查询重置 列表   💟:东非不开森的主页   💜: 热烈的不是青春,而是我们💜💜   🌸: 如有错误或不足之处&#xff0…...

前脚背完这些接口自动化测试面试题,后脚就进了字节测试岗

1、请结合你熟悉的项目,介绍一下你是怎么做测试的? -首先要自己熟悉项目,熟悉项目的需求、项目组织架构、项目研发接口等 -功能 接口 自动化 性能 是怎么处理的? -第一步: 进行需求分析,需求评审&#…...

termux 安装centos

相关链接 centos官网rootfs制作其他人提供的安装脚本centos镜像列表其他人提供的安装脚本的说明 如果想使用老版本的centos7跟着上面链接5走就行 如果想用新系统比如centos9 stream,就跟我来 Q:为什么要装新系统? A:旧系统太多软件已过时,升级费时费…...

从菜鸟程序员到高级架构师,竟然是因为这个字final

final实现原理 简介 final关键字,实际的含义就一句话,不可改变。什么是不可改变?就是初始化完成之后就不能再做任何的修改,修饰成员变量的时候,成员变量变成一个常数;修饰方法的时候,方法不允…...

【vulhub漏洞复现】CVE-2018-2894 Weblogic任意文件上传漏洞

一、漏洞详情影响版本weblogic 10.3.6.0、weblogic 12.1.3.0、weblogic 12.2.1.2、weblogic 12.2.1.3WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应…...

函数栈帧详解

写在前面 这个模块临近C语言的边界,学起来需要一定的时间,不过当我们知道这些知识后,在C语言函数这块我们看到的不仅仅是表象了,可以真正了解函数是怎么调用的。不过我的能力有限,下面的的知识若是不当,还…...

Spring 事务(编程式事务、声明式事务@Transactional、事务隔离级别、事务传播机制)

文章目录1. 事务的定义2. Spring 中事务的实现2.1 MySQL 中使用事务2.2 Spring 中编程式事务的实现2.3 Spring 中声明式事务2.3.1 声明式事务的实现 Transactional2.3.2 Transactional 作用域2.3.3Transactional 参数设置2.3.4 Transactional 异常情况2.3.5 Transactional 工作…...

车载技术——Window Display之surface的绘制过程与原理

一、Surface 概述 OpenGL ES/Skia定义了一组绘制接口的规范,为什么能够跨平台? 本质上需要与对应平台上的本地窗口建立连接。也就是说OpenGL ES负责输入了绘制的命令,但是需要一个 “画布” 来承载输出结果,最终展示到屏幕。这个…...

2023年全国最新工会考试精选真题及答案10

百分百题库提供工会考试试题、工会考试预测题、工会考试真题、工会证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 51.()是企业工会的权力机关,每年召开一至两次会议。 A.会员大会 B.会…...

pytorch-复现经典深度学习模型-LeNet5

Neural Networks 使用torch.nn包来构建神经网络。nn包依赖autograd包来定义模型并求导。 一个nn.Module包含各个层和一个forward(input)方法,该方法返回output。 一个简单的前馈神经网络,它接受一个输入,然后一层接着一层地传递,…...

【C++】类和对象(上)

文章目录对象的介绍类的介绍类的两种定义方式类的访问限定符及封装访问限定符封装类的作用域类的实例化类的对象模型对象的介绍 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题;   C是基于面向…...

工作中责任链模式用法及其使用场景?

前言 笔者是金融保险行业,有这么一种场景,业务员录完单后提交核保,这时候系统会对保单数据进行校验,如不允许手续费超限校验,客户真实性校验、费率限额校验等等,当校验一多时,维护起来特别麻烦…...

三八女神节有哪些数码好物?2023年三八女神节数码好物清单

2023年的三八女神节就快到了,大家还在烦恼,不知道有哪些数码好物?在此,我来给大家分享几款三八女神节实用性强的数码好物,一起来看看吧。 一、蓝牙耳机:南卡小音舱 参考价:239 推荐理由&…...

FairGuard-Windows加固工具版本更新日志

FairGuard-Windows加固工具1.2.2版本更新日志: ■ 增加Unity Resources资源加密的支持; ■ 增加单独Assetbundle资源加密,并同时支持压缩包和文件夹作为输入的方式; ■ 增加对游戏原文件夹加固的支持; Windows加固方案介绍 FairGuard专为游戏量身定…...

基于RT-Thread完整版搭建的极简Bootloader

项目背景Agile Upgrade: 用于快速构建 bootloader 的中间件。example 文件夹提供 PC 上的示例特性适配 RT-Thread 官方固件打包工具 (图形化工具及命令行工具)使用纯 C 开发,不涉及任何硬件接口,可在任何形式的硬件上直接使用加密、压缩支持如下&#xf…...

3.flinkDateStreamAPI介绍env与source

执行环境 Flink可以在不同的环境上下文中运行.可以本地集成开发环境中运行也可以提交到远程集群环境运行. 不同的运行环境对应的flink的运行过程不同,需要首先获取flink的运行环境,才能将具体的job调度到不同的TaskManager 在flink中可以通过StreamExecutionEnvironment类获取…...

$ 2 :数据类型

1.数据类型 1.1基本类型 a、整型int b、浮点型float c、字符型char 1.2构造类型 a、数组[ ] b、结构体struct 1.3指针类型 * 1.4空类型(void) 2.关键字 autoconstdoublefloatintshortstructunsignedbreakcontinueelseforlongsignedswitchvoidcasedefaultenumgotoregistersiz…...

惠州营销网站制作/网络宣传推广方法

普罗米修斯:Prometheus是一个开放性的监控解决方案,用户可以非常方便的安装和使用Prometheus并且能够非常方便的对其进行扩展 下面将实现一个SpringBoot应用接入Prometheus的全过程 1.2 安装 Linux 安装 官网指定下载包: https://prometheus.io/down…...

网站开发外贸/怎么做优化关键词

2019独角兽企业重金招聘Python工程师标准>>> Laravel使用PHP的一个扩展API–Carbon来处理时间。它提供了很多日期操作方法,其中 diffForHumans() 可以把日期转换成 “1 hours age”、“4 years age” 这样的格式,同时,它还支持本地…...

办公设备网站推广怎么做/seo站内优化包括

第一章 绪论 问题的提出 基本概念: NLU、 CL、 NLP CL 计算语言学 侧重于: 基础理论和方法 NLU 自然语言理解 :模仿人类 自然语言处理方法 和 实现技术 NLP 自然语言处理 : 对语言文本进行处理和加工 包括对词法 句法 语义和语…...

方法网站目录/代引流推广公司

Hadoop生态圈-Hbase的Region详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 转载于:https://www.cnblogs.com/yinzhengjie/p/9158207.html...

凡科建站帮忙做网站/搜狗推广平台

导读:PDM是以信息技术为基础,以产品为核心,管理所有与产品相关的信息和所有与产品相关的过程的技术,是企业信息化建设的重要组成部分。本文通过总结机械制造企业在实施、应用PDM系统过程中的成功经验,介绍PDM系统三个关…...

网站分享组件/福州网站seo公司

Android系统采用java作为平台软件基础开发语言,NDK使Android平台可以运行C/C代码这些代码汇编成ARM的elf可执行文件。 原生程序生成过程 经历4步:1。预处理2。编译3。汇编4。链接 经过第2步编译后C代码变成ARM汇编代码,NDK支持直接使用ARM汇编…...