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

news2024/12/23 0:19:26

随手拍拍💁‍♂️📷


日期: 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元的价格限制

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

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

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

相关文章

【Java 类】001-访问修饰符、命名规范

【Java 类】001-访问修饰符、命名规范 文章目录【Java 类】001-访问修饰符、命名规范一、访问修饰符概述1、是什么2、作用作用问题3、访问修饰符有哪些4、作用对象二、访问修饰符使用演示1、类访问修饰符演示第一步:创建 Dog 类:public第二步&#xff1a…

画图说透 ZooKeeper如何保证数据一致性:选举和ZAB协议

1、zookeeper是什么? zookeeper能被各个牛逼的中间件项目中所依赖,已经说明了他的地位。一出手就是稳定的杀招。zookeeper是什么?官网中所说,zookeeper致力于开发和维护成为一个高度可靠的分布式协调器。 开局一张图,…

STM32MP157-Linux音频应用编程-简易语音助手

文章目录前言STM32MP157简易语音助手alsa-lib简介:移植alsa-lib库:libcurl库简介:移植libcurl库:API调用修改asrmain.c文件修改token.c文件录音文件IO打开音频文件硬件控制sysfs文件系统数据解析和控制多线程主循环实现效果及注意…

Hive与HBase的区别及应用场景

当数据量达到一定量级的时候,存储和统计计算查询都会遇到问题,今天了解一下Hive和Hbase的区别和应用场景。 一、定义 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能&am…

Umi使用百度地图服务

需求描述 需要在前端页面中使用地图定位功能,所以在前端umi项目中使用百度地图服务,由于umi项目默认没有入口的html文件,所以无法通过常规的在head中加入外链js的方式使用 百度ak zyqeLCzvQPCCNImRu9yRGOqWlEUicxxGreact使用百度api 链接:…

【Mybatis系列】Mybatis常见的分页方法以及源码理解

Mybatis-Plus的selectPage 引入依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version></dependency>添加分页插件 Configuration public class My…

ifm3dlib+Python实现摄像头点云数据保存

0. 起因&需求 现有一款摄像头 O3D303&#xff0c;通过网线将其连接到局域网后&#xff0c;同一局域网的电脑可以通过可视化软件查看到各项参数以及对应的点云图。 但是如果想定制化具体的需求&#xff0c;用官方的可视化软件无疑是不可取的。这时候就需要用到SDK&#xf…

【Java】JVM

一、介绍 1.什么是JVM? JVM是一种用于计算设备的规范&#xff0c;它是一个虚构出来的机器&#xff0c;是通过在实际的计算机上仿真模拟各种功能实现的。JVM包含一套字节码指令集&#xff0c;一组寄存器&#xff0c;一个栈&#xff0c;一个垃圾回收堆和一个存储方法域。JVM屏…

面向对象设计模式:创建型模式之抽象工厂模式

一、抽象工厂模式&#xff0c;Abstract Factory Pattern 1.1 Definition 定义 抽象工厂模式是围绕一个抽象工厂&#xff08;其他工厂的工厂&#xff09;创建其他工厂的创建型模式。 1.2 Intent 意图 Provide an interface for creating families of related or dependent o…

【AutoSAR】【MCAL】Dio

一、结构 二、功能介绍 DIO&#xff08;数字输入输出&#xff09;驱动模块主要是对端口&#xff08;Port&#xff09;&#xff0c;通道&#xff08;Channel&#xff09;和通道组&#xff08;ChannelGroup&#xff09;进行读写操作。 通道&#xff08;Channel&#xff09;&…

Tomcat服务器配置以及问题解决方案

文章目录01 Tomcat简介02 Tomcat的安装03 Tomcat的使用启动Tomcat服务器 &#xff08;解决一闪而过&#xff09;测试 Tomcat 是否启动Tomcat 服务器的关闭04 Tomcat的配置配置端口控制台配置&#xff08;乱码解决&#xff09;部署工程到Tomcat中01 Tomcat简介 Tomcat是一款开源…

Android Compose——一个简单的Bilibili APP

Bilibili移动端APP简介依赖效果登录效果WebView自定义TobRow的Indicator大小首页推荐LazyGridView使用Paging3热门排行榜搜索模糊搜索富文本搜索结果视频详情合集信息Coroutines进行网络请求管理&#xff0c;避免回调地狱添加suspendwithContextGit项目链接末简介 此Demo采用A…

Motor-DK (MM32SPIN05PF, MM32SPIN06PF, MM32SPIN07PF)

输入电压范围&#xff1a;12V - 30V 使用 60V / 40A N-MOS 管 使用内建&#xff08;MM32SPIN2x&#xff09;/外挂&#xff08;MM32SPIN05 / MM32SPIN06 / MM32SPIN07&#xff09;GBW 6MHz 高速运放 x 4 MCU 使用 5V 供电 支持 48 / 64 Pin MM32SPIN 系列 MCU 支持无霍尔&#x…

LearnDash测验报告如何帮助改进您的课程

某一个场景。Pennywell 大学有一门课程“Introduction to Linear Algebra”。上学期进行了两次测验。20% 的学生在第一次测验中不及格&#xff0c;而 80% 在第二次测验中不及格。在进一步评估中&#xff0c;观察到第一次测验不及格的学生在第二次测验中也不及格。在第二次测验中…

基于Linux系统-搭建Java Web开发环境

目录 1. 安装JDK 2.安装MySQL数据库 3.安装Tomcat 4.访问Tomcat 1. 安装JDK 1.执行以下命令&#xff0c;查看yum源中JDK版本。 yum list java* 2.执行以下命令&#xff0c;使用yum安装JDK1.8。 yum -y install java-1.8.0-openjdk* 3.执行以下命令&#xff0c;查看是否安…

【软件使用】MarkText下载安装与汉化设置 (markdown快捷键收藏)

一、安装与汉化 对版本没要求的可以直接选择 3、免安装的汉化包 1、下载安装MarkText MaxText win64 https://github.com/marktext/marktext/releases/download/v0.17.1/marktext-setup.exe 使用迅雷可以快速下载 2. 配置中文语言包 中文包下载地址&#xff1a;GitHub - chi…

TPU编程竞赛系列|算能赛道冠军SO-FAST团队获第十届CCF BDCI总决赛特等奖!

近日&#xff0c;第十届中国计算机学会&#xff08;CCF&#xff09;大数据与计算智能大赛总决赛暨颁奖典礼在苏州顺利落幕&#xff0c;算能赛道的冠军队伍SO-FAST从2万余支队伍中脱颖而出&#xff0c;获得了所有赛道综合评比特等奖&#xff01; 本届CCF大赛吸引了来自全国的2万…

【MySQL】查询访问方法

查询语句经过查询优化器生成 SQL 执行计划&#xff0c;在引入索引的情况下&#xff0c;MySQL 不可能让我们什么查询都是走全表扫描&#xff0c;那样效率太低了&#xff0c;所有需要有各种各样的执行计划 &#xff0c; MySQL 会根据经验为我们的查询语句生成它认为最优的执行计划…

mac安装nvm

1、nvm介绍 &#xff08;1&#xff09;什么是nvm&#xff1f;简单来说&#xff0c;nvm是一款可以用命令行快速切换node版本的工具&#xff01; &#xff08;2&#xff09;为什么要切换node版本&#xff1f;打个比方&#xff0c;你目前正在用node 14版本&#xff0c;现在出了nod…

Greenplum-主备同步机制

我们在学习Greenplum的架构时知道&#xff0c;Greenplum中主要有Master管理层和Segment计算层。在高可用方面&#xff0c;Master通过配置一个Standby来实现主备&#xff0c;Segment则通过对实例设置镜像的方式也实现主备高可用&#xff08;其中主实例称为Primary&#xff0c;备…