0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么单片机内部的RAM这么少?

电子设计 来源:电子设计 作者:电子设计 2020-10-30 11:38 次阅读

也许大家都注意到了,在过去的 20 多年的时间里,微控制器MCU)经历了跨越式的发展,这反映在很多方面,比如更高的系统时钟、更多的外设模块、更加便利的调试手段、32 位的内核等等。但 MCU 内部的数据内存空间则始终在十几 K(16~32KB)的左右徘徊,虽然有些基于 Cortex M4 核单片机有多达 265kB RAM 的型号,但是在众多单片机型号阵列中,它们是寥寥无几。

那么,究竟什么原因使得单片机很容易拥有多达数 MB 的程序 Flash 空间,而数据内存只有那么小呢?

△ 小型封装的 MCU

在所有影响单片机内 RAM 增加的原因中,一个基础的问题就是 RAM 会占用很多硅片面积,这也会直接引起芯片价格的增加。这是因为在同样的硅片上,占用硅片面积大会使得 MCU 数量就会减少,特别是在晶圆片的边界部分造成更大的浪费。祸不单行,面积大的 IC 也更会产生缺陷,使得成品率下降。

第二个原因就是制作 RAM 的工序复杂。可以通过不同手段优化 RAM 生产工艺,但在制作 MCU 过程中, 同一芯片不可能经历过多的工序。有一些芯片加工服务厂商专门生产 DRAM,这是利用特殊的半导体电容技术来极大减少 RAM 所占用的硅片面积。但 DRAM 需要通过不停刷新来维持其内部数据。为了延迟 DRAM 单元保持数据的能力,就要求晶体管漏电流小,这也会造成晶体管的运行速度降低。这需要在速度和数量之间做折中,但这种折中工艺不利于制作高速逻辑电路。

△ IC 和晶片

此外,大容量 RAM 电路在后期的测试阶段也会消耗大量的时间,从而增加生产的时间成本。所以,经济原因造成生产 RAM 的专门厂商兴起。

功耗是另外一个限制因素。单片机系统通常对功耗有限制,很多情况下,单片机通过进入睡眠状态来减少耗电量。普通的 SRAM 耗电量很小,通过备用电池往往可以工作很多年。但 DRAM 则需要通过不断刷新来维持存储的数据。一旦停止刷新,由于漏电流的存在,DRAM 的内容在不到一秒钟的时间内就会消失。所以,单片机中不能够使用 DRAM 而只能使用占用硅片面积更大的 SRAM。

在现代 CPU 技术中,往往在新品中保留数量较少的 SRAM 作为缓存(Cache),而将大容量的 DRAM 作为 CPU 外部的数据存储空间。

有一些非常酷的手段可以将不同生产工艺的 RAM 和 MCU 制作工艺融合在一起,例如多芯片封装技术(Multi-Chip Package),将 RAM 新品放在 MCU 芯片上面堆叠一起进行封装,这比在电路板上将 RAM 与 MCU 集成更加节省系统体积,也提高数据传输速率。

AMD 的带有堆叠封装的 MCU

最后一个原因,那就是在绝大多数单片机应用的场合所需要的 RAM 的容量都比较少。比如在嵌入式控制领域,很多很多传感器信息都可以用极少字节的数据来表示,用于控制的参数和控制逻辑占用数据空间也很少。

所以当需要大量 RAM 的应用出现的时候,往往就会直接采用集成有大容量 DRAM 的电路板来工作。通过外部集成大容量 RAM 芯片要远比 MCU 内部集成的 RAM 更加经济。

除了前面的原因之外,单片机指令集也会限制 RAM 访问空间。比如 Microchip 公司的单片机,PIC10LF320,是 12bit 的指令,它只能够范围 128 字节的 RAM 空间。对于 8031 单片机,直接寻址的 RAM 空间也只有 128 字节。如果访问更大的外部存储空间,则需要借助于执行效率更低的间接指令。

单片机总线结构分为 Harvard 结构和 Von Neumann 结构,后者中,程序和数据存储空间是在同一个访问空间中。如果单片机中集成了大量的 Flash 区,那么留给数据 RAM 空间访问地址就少了。

此外,高效的 C 语言编译器,可以有效重复应用有限的 RAM 空间完成所需要的任务。在复杂的应用中,往往会采用多个单片机协同完成,这大大提高系统实时特性。巧妙的设计方案会避免嵌入式系统对大容量 RAM 的需求。所以,有人认为,正是由于没有大量需要高 RAM 容量的应用要求,是造成现在单片机内部 RAM 少的真正原因。

别忘了,早期那些令我们着迷的电子游戏,虽然有着炫酷的图形界面,但它们连程序带数据总共也只有 8k 字节的存储空间,比如吃豆子游戏,太空入侵游戏等。让我们向早期的这些极简风格嵌入式编程人员致敬吧。

参考资料

[1]Why do microcontrollers have so little RAM?

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6030

    文章

    44505

    浏览量

    632379
  • RAM
    RAM
    +关注

    关注

    8

    文章

    1366

    浏览量

    114502
收藏 人收藏

    评论

    相关推荐

    单片机的三种总线结构

    单片机的三种总线结构包括地址总线(Address Bus, AB)、数据总线(Data Bus, DB)和控制总线(Control Bus, CB)。这三种总线在单片机内部及与外部设备之间的数据传输
    的头像 发表于 09-10 11:32 1459次阅读

    单片机烧录程序的线比单片机上的还能烧录吗

    的存储器通常分为两类:ROM(只读存储器)和RAM(随机存取存储器)。ROM用于存储程序代码,而RAM用于存储程序运行过程中的数据。烧录过程就是将程序代码写入ROM中。 单片机烧录方法 单片机
    的头像 发表于 09-02 09:54 388次阅读

    单片机烧录程序的基本步骤是什么

    单片机烧录程序是单片机开发过程中非常重要的一步,它涉及到将编写好的程序代码通过一定的方式传输到单片机内部的存储器中,使单片机能够按照预定的逻辑执行任务。 一、硬件准备
    的头像 发表于 09-02 09:47 727次阅读

    简述单片机定时器的工作原理

    单片机定时器的工作原理是一个复杂而精细的过程,它涉及到单片机内部的多个组件和机制。
    的头像 发表于 08-19 18:20 1092次阅读

    聚徽触控-工控机内部结构及作用

    工控机内部结构主要包括以下部分,每部分的作用如下:
    的头像 发表于 07-11 09:50 278次阅读
    聚徽触控-工控<b class='flag-5'>机内部</b>结构及作用

    单片机内存和程序大小有什么关系吗?怎么选用不同内存大小的单片机

    单片机内存和程序大小有什么关系吗?怎么选用不同内存大小的单片机?仅从成本考虑吗?
    发表于 05-16 06:03

    有没有带仪表放大器的单片机

    有没有带仪表放大器的单片机,需要把信号放大1000倍或者单片机内部带有自定义倍数的PGA。
    发表于 03-25 11:37

    8-Bit 触控式 Flash 单片机中文资料

    而又有效的实现方法。 触摸按键功能完全集成于单片机内,使用较少的外部元件便可实现触摸按键的 应用。该系列单片机除了 Flash 程序存储器,还包括 RAM 数据存储器和用于存 储串列数据、校准数据等非易失性数据的 EEPROM
    发表于 02-28 10:01 4次下载

    单片机RAM不够用怎么解决?

    来自一位用户的咨询,麻烦帮忙解答。越详细越好,有图有真相。如有相关的视频、文档也可以辅助说明,谢谢。 单片机RAM不够用怎么办? 单片机都有RAM,如果我们一下子定义了一大堆的变量,使
    发表于 02-02 07:35

    怎么根据外围电路配置单片机gpio的时钟

    的时钟。 一、时钟信号的基本原理 时钟信号是单片机内部各个模块同步运行的基础,是单片机操作和功能的支持。单片机通常有内部时钟源和外部时钟源两种形式。
    的头像 发表于 01-31 10:57 1040次阅读

    单片机内部时钟电路的工作原理

    单片机时钟电路是一种用于产生稳定时钟信号的电路,它是单片机正常工作的基础,决定了单片机的运行速度和性能。具体的设计和配置取决于单片机的型号和应用需求。
    发表于 01-16 15:33 5669次阅读
    <b class='flag-5'>单片机内部</b>时钟电路的工作原理

    单片机原理及应用有哪些

    广泛应用于各个领域,如家电、汽车、通信、医疗等。 单片机的原理主要包括内部结构和工作原理。其内部结构通常包括CPU、存储器、I/O接口和定时/计数器等模块。CPU是单片机的核心,负责指
    的头像 发表于 01-15 16:25 1879次阅读

    STM32单片机实现固件在线升级(IAP)

    1,固件升级方案综述单片机的固件升级方式有很多种。1、ICP:简单说就是在单片机开发时使用烧录器升级程序,比如使用J-Link烧录单片机程序。2、ISP:在单片机内部实现了基于通信接口
    的头像 发表于 12-16 08:00 4913次阅读
    STM32<b class='flag-5'>单片机</b>实现固件在线升级(IAP)

    基于51单片机的正弦信号发生器的设计

    的正弦信号发生器。 一、51单片机简介 51单片机是以英特尔公司的MCS-51单片机为核心的一族单片机,主要用于嵌入式系统和电子设备上。51单片机内
    的头像 发表于 12-07 16:20 1634次阅读

    单片机的烧写次数是不是无限的呢?单片机能烧录多少次?

    单片机的烧写次数是不是无限的呢?单片机能烧录多少次? 单片机的烧写次数是有限的,每款单片机都有一个特定的擦写次数限制。当烧写次数达到限制时,单片机内
    的头像 发表于 12-07 13:46 3825次阅读