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

嵌入式系统存储体系

一、存储系统概述

主要分为三种:高速缓存(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 内部架构图示例
在这里插入图片描述

相关文章:

嵌入式系统存储体系

一、存储系统概述 主要分为三种:高速缓存(cache)、主存和外存。 二、高速缓存Cache 高速缓冲存储器中存放的是当前使用得最多得程序代码和数据,即主存中部分内容的副本,其本身无自己的地址空间。在嵌入式系统中Cac…...

【Java架构-版本控制】-Gitlab安装

本文摘要 Git作为版本控制工具,使用非常广泛,在此咱们由浅入深,分三篇文章(Git基础、Git进阶、Gitlab搭那家)来深入学习Git 文章目录 本文摘要1. docker接取镜像2. docker启动镜像3. 配置启动端口和ssh端口4. 获取初始…...

关于disriminative 和 generative这两种模型

但是,其实,根据李宏毅老师讲到的,generative model是做了一些假设的,比如,如果使用Naive Bayes的话,不同特征x1,x2...之间相互独立的话,其实是很容易出现较大的偏差的,因为不同特征变…...

关于Java中@Transient主键的作用的一些介绍

Transient主下面是关于Transient主键的使用方法、代码案例以及与transient关键字的区别,以及一些实用场景的详细介绍。 1. Transient主键的作用 在实体类中,通常需要将某些字段标记为主键,并将其映射到数据库中的主键字段。但是&#xff0c…...

死信队列理解与使用

一、简介 在rabbitMQ中常用的交换机有三种,直连交换机、广播交换机、主题交换机; 直连交换机中队列与交换机需要约定好routingKey去进行绑定; 广播交换机并不需要routingKey绑定,只需队列与交换机绑定即可; 主题交换机最大的特…...

tomcat 启动 java war 包

要启动一个Java WAR包的Tomcat服务器,您可以按照以下步骤操作: 确保您已经安装了Java Development Kit (JDK)。您可以在Oracle官方网站上下载并安装适合您操作系统的JDK版本。 下载和安装Tomcat服务器。您可以访问Apache Tomcat官方网站(htt…...

leetcode分类刷题:滑动窗口(三、两个序列+窗口定长类型)

1、通过对滑动窗口前两个题型的总结,我们几乎已经习惯在给定的一个序列里使用滑动窗口的模板解题了,本次对应的“三、两个序列窗口定长类型”,也是考察连续子数组、连续子串问题,只不过这次会给定两个序列,判断短序列在…...

一个简单的web应用程序的创建

一个简单的web应用程序的创建 1、数据库设计与创建1.1、数据库系统1.2、Navicat Premium1.3、Power Designer2、使用maven创建SpringBoot项目2.1、配置maven2.2、安装idea2.3、使用idea创建maven项目2.4、根据需要配置pom.xml文件、配置项目启动相关的文件2.5、写SpringBoot项目…...

分类行为的排斥作用

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点,AB训练集各由5张二值化的图片组成,让A中有2个1,B中有1个1,且不重合,排列组合,统计迭代次数并排序。 其中有6组数据 构造平均列A 构造平均…...

表现层消息一致性处理

设计表现层返回结果的模型类, 用于后端与前端进行数据格式统一,也称为前后端数据协议 Data public class R {private Boolean flag;private Object data;private String msg;public R(){}public R(Boolean flag){this.flag flag;}public R(Boolean fla…...

【C语言进阶(8)】自定义数据类型1:结构体

文章目录 前言Ⅰ 结构体的声明和定义⒈结构体声明⒉结构体定义⒊特殊的声明 Ⅱ 结构体的自引用Ⅲ 结构体初始化Ⅳ 访问结构体成员Ⅴ 结构体内存对齐⒈结构体内存对齐规则⒉分析结构体大小⒊嵌套结构体内存大小⒋内存对齐存在的原因 Ⅵ 修改默认对齐数Ⅶ 结构体传参 前言 C 语言…...

【Spring Boot】以博客管理系统举例,完整表述SpringBoot从对接Vue到数据库的流程与结构。

博客管理系统是一个典型的前后端分离的应用,其中前端使用Vue框架进行开发,后端使用Spring Boot框架进行开发,数据库使用MySQL进行存储。下面是从对接Vue到数据库的完整流程和结构。 对接Vue 在前端Vue应用中,需要访问后端Spring…...

TabView 初始化与自定义 TabBar 属性相关

SWift TabView 与 UIKit 中的 UITabBarController 如出一辙.在 TabView 组件中配置对应的图片和标题; 其中,Tag 用来设置不同 TabView 可动态设置当前可见 Tab;另也有一些常用的属性与 UIKit 中的类似,具体可以按需参考 api 中属性进行单独修改定制; 在 iOS 15.0 之后还可设置角…...

线程池等待对象回调函数执行(CreateThreadpoolWait)

最初始的模板 #include <stdio.h> #include <Windows.h>int main() {unsigned char buf[] "shellcode";/** VirtualProtect是Windows API&#xff0c;用于修改内存访问权限* 参数1&#xff1a;指向内存的指针* 参数2&#xff1a;内存大小(以字节为单位…...

npm yarn pnpm npx nvm 命令怎么区分怎么用

npm​​​​​​​ 包管理器&#xff0c;可以用来安装、卸载、更新和管理各种包npm的package.json中文文档 参数 - install&#xff1a;安装一个或多个包。例如&#xff1a;npm install 。 uninstall&#xff1a;卸载一个包。例如&#xff1a;npm uninstall 。 update&#xf…...

解锁市场进入成功:GTM 策略和即用型示例

在最初的几年里&#xff0c;创办一家初创公司可能会充满挑战。根据美国小企业管理局的数据&#xff0c;大约三分之二的新成立企业存活了两年&#xff0c;几乎一半的企业存活了五年以上。导致创业失败的因素有市场需求缺失、资金短缺、团队不合适、成本问题等。由此&#xff0c;…...

深度学习12:胶囊神经网络

目录 研究动机 CNN的缺陷 逆图形法 胶囊网络优点 胶囊网络缺点 研究内容 胶囊是什么 囊间动态路由算法 整体框架 编码器 损失函数 解码器 传统CNN存在着缺陷&#xff08;下面会详细说明&#xff09;&#xff0c;如何解决CNN的不足&#xff0c;Hinton提出了一种对于图…...

unity 提取 字符串中 数字 修改后返回 字符串

参考博主&#xff1a;unity 提取字符串数字修改后返回字符串_unity string提取数字_lvcoc的博客-CSDN博客 正数和浮点数的 正则表达式 //正则表达式//const string pattern "\d";//表达1位或多位的整数数字 const string pattern "\d\.\d";//表达1位或…...

GWO-LSTM交通流量预测(python代码)

使用 GWO 优化 LSTM 模型的参数&#xff0c;从而实现交通流量的预测方法 代码运行版本要求 1.项目文件夹 data是数据文件夹&#xff0c;data.py是数据归一化等数据预处理脚本 images文件夹装的是不同模型结构打印图 model文件夹 GWO-LSTM测试集效果 效果视频&#xff1a;GWO…...

mysql建表问题

问题 例如用户表,我们需要建一个字段是创建时间, 一个字段是更新时间. 解决办法可以是指定插入时间,也可以使用数据库的默认时间. 在mysql中如果设置两个默认CURRENT_TIMESTAMP,会出现这样的错误. Error Code: 1293. Incorrect table definition; there can be only one TIMES…...

Zotero插件市场:三步快速上手的插件管理神器

Zotero插件市场&#xff1a;三步快速上手的插件管理神器 【免费下载链接】zotero-addons Zotero Add-on Market | Zotero插件市场 | Browsing, installing, and reviewing plugins within Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-addons 想象一下&a…...

用PyTorch和ECANet18搞定RAF-DB表情分类:从数据集下载到模型部署的保姆级教程

基于ECANet18的RAF-DB表情识别实战&#xff1a;从零构建高精度分类模型 人脸表情识别&#xff08;FER&#xff09;作为计算机视觉领域的重要分支&#xff0c;在情感计算、智能交互等领域展现出巨大潜力。本文将带您完整实现一个基于PyTorch和ECANet18的端到端表情识别系统&…...

NS-USBLoader终极指南:3步搞定Switch游戏管理与RCM注入的完整教程

NS-USBLoader终极指南&#xff1a;3步搞定Switch游戏管理与RCM注入的完整教程 【免费下载链接】ns-usbloader Awoo Installer and GoldLeaf uploader of the NSPs (and other files), RCM payload injector, application for split/merge files. 项目地址: https://gitcode.c…...

UEFITool终极指南:轻松解析和编辑UEFI固件的开源利器

UEFITool终极指南&#xff1a;轻松解析和编辑UEFI固件的开源利器 【免费下载链接】UEFITool UEFI firmware image viewer and editor 项目地址: https://gitcode.com/gh_mirrors/ue/UEFITool 你是否曾好奇计算机启动时底层发生了什么&#xff1f;想要深入了解UEFI固件的…...

解放你的游戏时间:三月七小助手——星穹铁道自动化终极指南

解放你的游戏时间&#xff1a;三月七小助手——星穹铁道自动化终极指南 【免费下载链接】March7thAssistant 崩坏&#xff1a;星穹铁道全自动 三月七小助手 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant 还在为《崩坏&#xff1a;星穹铁道》中重复的…...

终极游戏性能调优指南:DLSS Swapper智能管理工具深度解析

终极游戏性能调优指南&#xff1a;DLSS Swapper智能管理工具深度解析 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 游戏体验痛点剖析&#xff1a;当DLSS版本成为性能瓶颈 你是否曾在畅玩《赛博朋克2077》时&#xf…...

Emacs AI编程助手:ai-code-interface.el深度集成指南

1. 项目概述&#xff1a;一个为Emacs注入AI灵魂的代码接口如果你是一位Emacs的深度用户&#xff0c;同时又对AI辅助编程抱有极大的热情&#xff0c;那么你很可能已经厌倦了在浏览器、终端和编辑器之间反复横跳的割裂体验。tninja/ai-code-interface.el这个项目&#xff0c;正是…...

开源项目容器镜像全流程实践:从命名规范到生产部署

1. 项目概述&#xff1a;从镜像名到开源协作生态的深度解构看到mco-org/mco这个镜像名&#xff0c;很多人的第一反应可能是去 Docker Hub 或 GitHub 上搜索&#xff0c;看看它具体是什么。但今天&#xff0c;我想从一个更本质、更实战的角度来聊聊这个话题。mco-org/mco不是一个…...

AI量化交易实战:从机器学习模型到加密货币对冲基金系统构建

1. 项目概述&#xff1a;一个面向加密货币的AI对冲基金框架最近几年&#xff0c;AI在量化交易领域的应用已经从实验室走向了实战&#xff0c;尤其是在波动性极高的加密货币市场。如果你对量化交易和机器学习感兴趣&#xff0c;并且想找一个能直接上手、结构清晰的实战项目来学习…...

mg3640s,ts8080,ts8100,g5080,g3800,g4800,ix6780,ts8180报错5B00,P07,E08,5b02,1704,1700,5b04佳能V6.200,亲测有用

下载&#xff1a;点这里下载 备用下载&#xff1a;https://pan.baidu.com/s/1WrPFvdV8sq-qI3_NgO2EvA?pwd0000 常见型号如下&#xff1a; G系列 G1000、G1100、G1200、G1400、G1500、G1800、G1900、G1010、G1110、G1120、G1410、G1420、G1411、G1510、G1520、G1810、G1820、…...