嵌入式系统存储体系

一、存储系统概述

主要分为三种:高速缓存(cache)、主存和外存。
在这里插入图片描述

二、高速缓存Cache

  1. 高速缓冲存储器中存放的是当前使用得最多得程序代码和数据,即主存中部分内容的副本,其本身无自己的地址空间。
  2. 在嵌入式系统中Cache全部集成在嵌入式微处理器内,一般32位的微处理器内置。
  3. 可分为数据Cache、指令Cache(如哈弗架构)或者混合Cache(如冯诺伊曼架构)。不同处理器其Cache大小不一样。
  4. CPU每次读取主存时,Cache控制器都要检查CPU送出的地址,判断CPU要读取的数据是否在Cache中,如果在就称为Cache命中,否则称为Cache未命中。则对主存储器进行操作,并将有关内容写入Cache。
  5. 写入Cache有2种方法:
    a. 通写(Write Through):Cache与对应内存内容同步更新。
    b. 回写(Write Back):只有写入Cache内容移除时才更新对应内存内容。(此种方式性能最好,但是存在系统掉电的存储问题)。
    在这里插入图片描述
    Cache结构框图

三、主存

  1. 主存是处理器能直接访问的存储器,用来存放系统和用户的程序和数据。
  2. 嵌入式系统的主存可位于SOC内和SOC外,片内存储器存储容量小、速度快、片外存储器容量大。
  3. 可以做主存的存储器有:
    ROM类(存放代码和常数数据):Nor Flash、EPROM、E2PROM、PROM等
    RAM类:SRAM、DRAM、SDRAM等

静态随机存取存储器SRAM
存储信息:六管基本存储电路,功耗低,不需要刷新
典型芯片规格:2114(1KX4) ,6116(2KX8),6264(8KX8),62128(16KX8),62256(32X8)
在这里插入图片描述
动态随机存取存储器DRAM

  1. 存储信息的基本单元(1位)电路可采用4管、3管和单管电路。
  2. 为维持动态存储单元所存储的信息,必须不断刷新。
  3. 与SRAM不同的是:节省外部引脚,同样容量的DRAM外部地址线引脚是SRAM一半。DRAM采用行/列地址选通,将地址通过内部分成2路。
  4. DRAM控制器:解决刷新和多路,DRAM不能和CPU直接通信,需要DRAM控制器来连接。
    在这里插入图片描述

SDRAM(Synchronous DRAM,同步DRAM)

  1. CPU和RAM共享相同的时钟周期,以相同的速度同步工作,即一个时钟周期内存工作一次。
  2. 基于双存储器结构,内含两个交错的存储阵列,读取效率得到成倍提高,是DRAM中速度最快的一种。
  3. DDR SDRAM( Double Date Rate SDRAM,双倍传输速率的SDRAM)在一个时钟周期内内存可以工作两次,因而理论上是SDRAM的2倍,但实际上达不到。

四、外存

外存是处理器不能直接访问的存储器,用来存放用户的各种信息,容量大。
在嵌入式系统中常用的外存有:

  1. NandFlash
  2. DOC (Disk On Chip)
  3. CF(Compact Flash)
  4. SD(Secure Digital)
  5. MMC(Multi Mediacard)

电子盘

  1. 电子盘采用半导体芯片来存储数据,具有体积小、功耗低和极强的抗震性等特点。
  2. 在嵌入式系统中普遍采用各种电子盘作为外存。
  3. 常用的电子盘有:NandFlash、MMC、SD、Memory Stick、CF、SM、DOC等。

五、NandFlash和NorFlash对比

NandFlash: 逻辑与,具有容量大、回写速度快、芯片面积小等特点,主要用于外存。
NorFlash: 逻辑或,具有随机存储速度快、电压低、功耗低、稳定性高等特点,主要用于主存。
在这里插入图片描述
NandFlash外部接口示例
在这里插入图片描述
NandFlash 内部架构图示例
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能在机器学习中的八大应用领域

文章目录 1. 自然语言处理(NLP)2. 图像识别与计算机视觉3. 医疗诊断与影像分析4. 金融风险管理5. 预测与推荐系统6. 制造业和物联网7. 能源管理与环境保护8. 决策支持与智能分析结论 🎉欢迎来到AIGC人工智能专栏~探索人工智能在机器学习中的八…

深度学习-4-二维目标检测-YOLOv3理论模型

单阶段目标检测模型YOLOv3 R-CNN系列算法需要先产生候选区域,再对候选区域做分类和位置坐标的预测,这类算法被称为两阶段目标检测算法。近几年,很多研究人员相继提出一系列单阶段的检测算法,只需要一个网络即可同时产生候选区域并…

【C++ 学习 ⑰】- 继承(下)

目录 一、派生类的默认成员函数 二、继承与友元 三、继承与静态成员 四、复杂的菱形继承及菱形虚拟继承 五、继承和组合 一、派生类的默认成员函数 派生类的构造函数必须调用基类的构造函数初始化基类的那一部分成员。如果基类没有默认构造函数,那么必须在派生…

HPC是如何助力AI推理加速的?

高性能计算(High-Performance Computing,HPC)通过提供强大的计算能力、存储资源和网络互联,可以显著地辅助人工智能(AI)应用更快地进行训练和推断。那么,HPC是如何助力AI推理加速的?…

多线程学习之生产者和消费者与阻塞队列的关系

生产者和消费者 概述: 生产者消费者问题,实际上主要是包含了两类线程: 生产者线程用于生产数据消费者线程用于消费数据 生产者和消费者之间通常会采用一个共享的数据区域,这样就可以将生产者和消费者进行解耦, 两…

在线OJ平台项目

一、项目源码 Online_Judge yblhlk/Linux课程 - 码云 - 开源中国 (gitee.com) 二、所用技术与开发环境 1.所用技术: MVC架构模式 (模型-视图-控制器) 负载均衡系统设计 多进程、多线程编程 C面向对象编程 & C 11 & STL 标准库 C Boost 准标…

材料空间「填空解谜」:MIT 利用深度学习解决无损检测难题

内容一览:材料检测在工程、科学及制造业中扮演着至关重要的角色。传统的材料检测方法,例如切割和化学试剂检测具有破坏性,同时较为耗费时间和资源。近期,MIT 科学家利用深度学习开发了一种技术,能够填补缺失信息&#…

certbot-https证书自动续期

certbot是一个免费的开源项目是EFF的一部分,自动化的工具,用于帮助管理和续期SSL/TLS证书。它可以安装、配置和自动续期证书。 1、安装 snapd 将 EPEL 存储库添加到您的 CentOS 安装中。输入y回车继续安装 sudo yum install snapd; sudo systemctl en…

无人机巡检输电线路是什么,怎么巡?

在今日科技迅速发展的时代,无人机为输电线路巡检提供了一种高效、安全且准确的解决方案。那么,为什么无人机巡检输电线路如此关键呢?以下是对这一问题的深入剖析。 1. 提高工作效率 传统的巡检模式与现实挑战:在过去,输…

6. 激活层

6.1 非线性激活 ① inplace为原地替换,若为True,则变量的值被替换。若为False,则会创建一个新变量,将函数处理后的值赋值给新变量,原始变量的值没有修改。 import torch from torch import nn from torch.nn import …

专访 Hyper Oracle:可编程的 zkOracle 打造未来世界的超算

许多 Web3 应用在实现的过程中,常常会遇到基础设施方面的限制,包括去中心化自动化、预言机、链上信息搜索等问题。绝大部分区块链的中间件网络都是依赖于节点质押来保证节点执行的诚实性,这样的模式会产生诸多衍生问题,例如安全性…

VScode使用SSH连接linux

1、官网下载和安装软件 https://code.visualstudio.com/Download 2、安装插件 单击左侧扩展选项,搜索插件安装 总共需要安装的插件如下所示 3、配置连接服务器的账号 安装完后会在左侧生成了远程连接的图标,单击此图标,然后选择设置图标…

卷积神经网络——中篇【深度学习】【PyTorch】【d2l】

文章目录 5、卷积神经网络5.5、经典卷积神经网络(LeNet)5.5.1、理论部分5.5.2、代码实现 5.6、深度卷积神经网络(AlexNet)5.6.1、理论部分5.6.2、代码实现 5.7、使用块的网络(VGG)5.7.1、理论部分5.7.2、代…

LNMT与动静分离

目录 一、LNMT 一、部署tomcat 二、部署nginx 三、部署mariadb 四、配置nginx 二、操作流程及步骤 一、在第一台机器上进入 vim /etc/nginx/nginx.conf 更改配置文件 二、并查看端口是否成功启动 三、验证 四、再次来到网页验证 五、动静分离(修改配置…

基于Python3 的 简单股票 可转债 提醒逻辑

概述 通过本地的定时轮训,结合本地建议数据库。检查股票可转债价格的同事,进行策略化提醒 详细 前言 为什么会有这么个东西出来呢,主要是因为炒股软件虽然有推送,但是设置了价格之后,看到推送也未必那么及时&#…

【滑动窗口】leetcode1658:将x减到0的最小操作数

目录 一.题目描述 二.思路分析 三.代码编写 一.题目描述 将x减到0的最小操作数 题目要求我们在数组的两端不断地取值,使得取出的数之和等于x,问我们最少需要取几次。 也就是说,在两边取两个区间,使得这两个区间的之和等于x&a…

Microsoft Excel整合Python:数据分析的新纪元

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

⏰⏰⏰⏰⏰⏰⏰⏰K8s常用指令集锦

1、常用基础命令 kubectl top pod -n wsmp kubectl get pod # 获取namespace下的所有podkubectl get pods -o wide # 获取 pod 详细信息 kubectl describe po ${podName} # 获得pod的状态kubectl get po ${podName} -o yaml # yaml 看不惯的话,也可以…

opencv 车牌号的定位和识别+UI界面识别系统

目录 一、实现和完整UI视频效果展示 主界面: 识别结果界面:(识别车牌颜色和车牌号) 查看历史记录界面: 二、原理介绍: 车牌检测->图像灰度化->Canny边缘检测->膨胀与腐蚀 边缘检测及预处理…

低代码与低代码平台的概念解析

随着数字化转型和软件需求的不断增长,传统的手写代码开发方式已经无法满足迅速推出应用程序的需求。为了加快软件开发的速度并降低技术门槛,低代码开发模式应运而生。本文将介绍低代码的概念,探讨什么是低代码什么是低代码平台? 一…