一文读懂芯片内存

news2024/11/14 22:45:55

1.导读

一个芯片通常需要三种主要的物理内存类型:SRAM、Flash和DDR。

  1. SRAM(静态随机存储器):SRAM是一种高速、易访问和易擦写的存储器类型。它通常用于存储变量、缓冲区、堆栈和其他动态数据。SRAM的特点是读写速度快,但容量相对较小。在一些嵌入式系统中,SRAM可能用于存储临时数据和运行时代码。

  2. Flash存储器:Flash是一种非易失性存储器类型,它可以长期保存数据,即使在断电情况下也能保持数据内容。Flash存储器通常用于存储程序代码、只读数据和持久性配置信息。相比SRAM,Flash存储器的容量通常更大,但读取和写入速度较慢,且有读写寿命。

  3. DDR(双数据速率):DDR是一种高速的动态随机存储器类型,用于提供大容量的临时存储。DDR存储器具有较高的读写速度,但相对于SRAM和Flash来说,它也更加昂贵。所以一般单片机都没有,或者用DRAM来代替。

其他:

           ROM是一种只读的存储器,在某些芯片中可能有,一般用于运行bootload程序。

           RAM:分为SRAM和DRAM,DRAM的作用与DDR类似。

        选择使用DRAM还是DDR取决于具体的需求。如果需要大容量存储且相对较低的成本,则DRAM可能更适合。如果需要更高的数据传输速率和性能,特别是在对内存带宽要求较高的应用中,则DDR是更好的选择。时下较新版本的DDR(如DDR4和DDR5)通常提供更高的带宽和性能,但也会伴随着更高的成本。因此,在选择存储器技术时,考虑到具体的需求以及成本效益是很重要的。

2.什么是地址映射 

        地址映射物理内存映射是指将物理内存的地址范围映射到特定的逻辑地址空间中的过程。具体来说,当处理器访问逻辑地址空间中的某个地址时,操作系统和硬件会根据预定义的映射规则,将该逻辑地址转换为对应的物理地址。

以类似 0x08000000 这样的地址为例,它通常用于映射物理内存中的特定区域,如Flash存储器。在一些嵌入式系统中,Flash存储器通常位于物理地址空间的固定位置,并且这个位置也被映射到逻辑地址空间的固定位置。当操作0x08000000 之后的地址就可以操作Flash存储器.

3.通常情况下的映射关系图 

注意: 这里的虚拟地址只是在一般情况下等于这个值,需要根具芯片的手册才可确认

4.程序的运行过程中内存的使用流程

4.1 SRAM有关 

系统启动时,从Flash中读取程序,并将程序拷贝到SRAM区域的开头,该区域称为程序存储区。全局变量和静态变量等也会随后拷贝到SRAM的剩余区域,称为静态存储区。这些空间在程序运行期间将一直被占用。

剩余的SRAM空间首先分配给栈空间,用于存放程序中的临时变量等(栈空间是预先确定的)。最后剩余的空间可用作动态分配的堆空间(可以使用malloc等函数申请)。

4.2 DDR有关

当系统使用DDR时,在系统启动时,从Flash中读取程序,并将其拷贝到DDR的开头。

然而,使用DRAM时,一般只用于申请堆空间。

全局变量、静态变量和堆空间等有可能会在SRAM中分配,也有可能在DDR中分配,这取决于具体情况。

一般而言,栈空间仍然会分配在SRAM中。

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

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

相关文章

指针经典笔试题强训(附图详解)

目录 笔试题1: 解析: 运行结果: 笔试题2 解析: 运行结果: 笔试题3 解析: 运行结果: 笔试题4 解析: 运行结果: 笔试题5 解析: 运行结果:…

基于人工智能的状态监测帮助结束冷却塔的维护“噩梦”

冷却塔是将水蒸气冷却成较低温的水、将系统的废热排到大气层的排热装置,在工业生产中扮演着不可或缺的关键角色。大型工业冷却塔的主要用途是用来冷却在水冷系统中的循环水。这些水冷系统广泛应用于发电厂、炼油厂、石化厂、天然气制造厂、食品加工厂、半导体厂等工…

<C++> 类和对象(上) 面向对象

1.面向对象 C语言是面向过程的,关注的是过程,分析出求解问题的步骤, 通过函数调用逐步解决问题。 C是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。 2.类 C语言结构…

基于 JavaScript 的富文本编辑器框架简单使用

1.打开wangEditor wangEditor开源 Web 富文本编辑器&#xff0c;开箱即用&#xff0c;配置简单https://www.wangeditor.com/ 2.html文件 <link href"https://unpkg.com/wangeditor/editorlatest/dist/css/style.css" rel"stylesheet"> <style&…

竞争之王CEO商战课,聚百家企业在京举行

竞争之王CEO商战课&#xff0c;于2023年7月29-31日在北京临空皇冠假日酒店举办&#xff0c;近百家位企业家齐聚一堂&#xff0c;共享饕餮盛宴。 竞争之王CEO商战课是打赢商战的第一课。 竞争环境不是匀速变化&#xff0c;而是加速变化。 在未来的市场环境中&#xff0c;企业间…

一种新型的系统设计解决方案:模块树驱动设计

1.前言 系统设计的核心作用是在业务现实世界和抽象的IT实现之间建立起一道桥梁。 与其他行业被物理特性限制所束缚不同&#xff0c;软件世界可以变得无限庞大&#xff0c;而限制软件发展的其实是人的认知能力。所有软件设计服务的目标其实都是管理人的认知&#xff0c;是关于人…

Excel功能总结

1&#xff09;每一张表格上都打印表头 “页面布局”-->“打印标题”-->页面设置“工作表”页-->打印标题“顶端标题行” 如&#xff1a;固定第1~2行&#xff0c;设置成“$1:$2” 2&#xff09;将页面内容打印在一页【缩印】 1.选好需要打印的区域&#xff0c;“页面布…

挠曲疲劳测试系统比例阀放大器

挠曲疲劳测试系统技术是用于测试材料、部件、产品等在重复弯曲应变下的疲劳性能的技术。该技术通过在试样上施加重复弯曲应力和应变&#xff0c;模拟材料、部件、产品在实际使用环境中的弯曲疲劳行为。 挠曲疲劳测试系统由试验设备、控制系统和数据分析系统组成。试验设备包括…

精通GPU编程,高效处理Pandas

大家好&#xff0c;当正在使用python处理大型数据集&#xff0c;那么很可能会感受到&#xff0c;当基于CPU的pandas DataFrame难以执行操作时&#xff0c;等待数小时才能完成查询的挫败感。正是在这种情况下&#xff0c;pandas用户应该考虑使用RAPIDS cuDF利用GPU的强大功能进行…

opencv37-形态学操作-开运算(先腐蚀后膨胀)cv2.morphologyEx()-参数 op 设置为“cv2.MORPH_OPEN”

腐蚀操作和膨胀操作是形态学运算的基础&#xff0c;将腐蚀和膨胀操作进行组合&#xff0c;就可以实现开运算、闭运算&#xff08;关运算&#xff09;、形态学梯度&#xff08;MorphologicalGradient&#xff09;运算、礼帽运算&#xff08;顶帽运算&#xff09;、黑帽运算、击中…

Dockerfile构建LNMP镜像(yum方式)

目录 Dockerfile构建LNMP镜像 1、建立工作目录 2、编写Dockerfile文件 3、构建镜像 4、测试容器 5、浏览器访问测试&#xff1a; Dockerfile构建LNMP镜像 1、建立工作目录 [roothuyang1 ~]# mkdir lnmp/ [roothuyang1 ~]# cd lnmp/ 2、编写Dockerfile文件 [roothuyang1 …

安达发专注于APS高级计划管理系统解决方案

随着全球制造业竞争日益激烈&#xff0c;企业对于提高生产效率、降低成本的需求越来越迫切。为此&#xff0c;安达发近日发布了全新的APS高级计划管理系统解决方案&#xff0c;旨在帮助企业在有限产能条件下&#xff0c;实现交期产能精确预测、工序生产与物料供应最优详细计划&…

[代码案例] 快速入手matlab绘图基本指令

主要内容 Matlab绘图指令基本语法&#xff0c;涵盖画布位置大小&#xff0c;坐标调整&#xff0c;图例标签&#xff0c;子图绘制等 part 1 生成绘图数据据 part 2 绘图基本指令 part 3 多条曲线绘制 part 4 子图分块绘制方法 part 5 指定画布绘制 代码 % part 1 t0:0.01:30;…

C语言sprintf函数的简明介绍(头文件/自动添加杠0/与printf函数的区别)

介绍 一句话&#xff0c;与printf唯一的区别&#xff1a; printf函数打印输出到屏幕上&#xff0c;而sprintf函数打印到字符串中。 与printf同样支持&#xff1a;控制精度、将多个数值数据连接起来、打印某变量的地址、格式化数字字符串 自动在末尾添加\0&#xff0c;不用担…

Knife4j系列--解决不显示文件上传的问题

原文网址&#xff1a;Knife4j系列--解决不显示文件上传的问题_IT利刃出鞘的博客-CSDN博客 简介 本文介绍使用Knife4j时无法上传文件的问题。 问题复现 依赖 <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-…

无头单向不循环链表和带头双向循环链表的创建

Lei宝啊&#xff1a;个人主页 愿所有美好不期而遇 前言&#xff1a; 接下来我们将会了解最基础的链表--->单链表 以及最方便也是最爽的链表--->带头双向循环链表。 若有看不懂之处&#xff0c;可画图或者借鉴这里&#xff1a;反转单链表&#xff0c;对于数据结构而言&am…

Python入门【​编辑、组合、设计模式_工厂模式实现 、设计模式_单例模式实现、工厂和单例模式结合、异常是什么?异常的解决思路 】(十七)

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小王&#xff0c;CSDN博客博主,Python小白 &#x1f4d5;系列专栏&#xff1a;python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 &#x1f4e7;如果文章知识点有错误…

解决Vue3 使用Element-Plus导航刷新active高亮消失

解决Vue3 使用Element-Plus导航刷新后active高亮消失的问题 启用路由模式会在激活导航时以 index 作为 path 进行路由跳转 使用 default-active 来设置加载时的激活项。 接下来打印一下选中项index和index路径&#xff0c; 刷新也是没有任何问题的&#xff0c;active不会消失…

NB-IOT 和蜂窝通信(2/3/4/5G)的区别和特点是什么?

NB-IOT 和蜂窝通信(2/3/4/5G)的区别和特点是什么? 参考链接:https://www.sohu.com/a/221664826_472880 NB IOT是窄带物联网技术,主要解决的是低速率数据传输,可使用GSM900或DCS1800频段,在频段使用上比较灵活,可以和GSM,UMTS或LTE共存,具备优异的MCL(最小耦合损耗…

ZKML——EZKL团队分享

1. 引言 “ZKP之于数字签名” 类似于 “以太坊之于比特币”&#xff1a; 所谓数字签名&#xff0c;是指&#xff1a;“我知道某秘密secrets&#xff0c;使得 F(secrets, public inputs)pubic outputs”&#xff0c;其中F为fixed function&#xff08;固定函数&#xff09;。这…