83.
英特尔的Haswell(或者至少是那些包含Iris Pro 5200 GPU的产品)和IBM的POWER7和POWER8都包含嵌入式DRAM,即“eDRAM”。导致eDRAM直到最近才变得普遍的一个重要问题是,DRAM的制造过程与逻辑过程并不固有地兼容,因此必须包括额外的步骤(这增加了……
46.
有几个原因。首先,记忆占用了很多硅地区。这意味着增加RAM的量直接增加芯片的硅面积并因此增加了成本。较大的硅区域对价格的影响有“双重鞭子”效果:较大的芯片意味着每个晶圆的芯片少,特别是在边缘周围,较大的芯片是指所有......
46.
.text .Text段包含实际代码,并编程为微控制器的闪存。当有多个非连续的闪存块时可能存在多个文本段;例如位于内存顶部的起始向量和中断向量,并从0开始起作用;或单独的引导和主要的部分...
37.
除非你设定了一个初始状态,否则它或多或少都是随机的。尽管这可能因不同的SRAM实现而有所不同。你还说“blank”。有些人可能认为随机比所有的0更“空白”。SRAM存储存储在背靠背的逆变器上。这形成了一个双稳态系统(两个非常稳定的状态,亚稳态分裂…
29.
原始电子非易失性存储器基于铁氧体核心。虽然在一个方向或另一个方向上磁化这样的芯相对容易磁化以存储一个或零,但它需要一些相当复杂的电路,以便可靠地读取其。现代非易失性芯片依靠电荷存储,但为了使这项工作进行制作,您需要能够创建...
27.
在带有4kb RAM的16位MCU上使用动态内存分配是非常糟糕的工程。不是因为内存泄漏的常见问题。不是因为堆内存碎片。甚至不是因为分配例程所需的相当大的执行时间开销。而是因为它完全没有意义,毫无意义。你……
27.
这很简单。包装数量和包装成本。EEPROM设备主要用于存储设备的参数数据或表征常量。典型的方案是在每次主机设备启动时,通常很少写一次。对于这种类型的应用,EEPROM的写作时间很少......
25.
常规嵌入式系统:段内存内容.Data RAM具有静态存储持续时间的明确初始化变量.bss ram零初始化变量,具有静态存储持续时间.stack ram局部变量和函数调用参数.heap ram动态分配的变量(通常不使用..。
25.
在这两种情况下(EEPROM/flash和DRAM)都使用了一个小的(飞法拉)电容器。不同之处在于电容器的连接方式。在DRAM的情况下,它连接到场效应晶体管的源极或漏极。通过晶体管通道有一点泄漏,电荷将在相对较短的时间内(在……时几秒或几分钟)泄漏掉。
25.
内存地址是二进制数。一个n位(无符号)二进制数的范围是0到2N-1,总共2N个不同的值。由于地址以二进制数的形式传递给存储芯片,所以用2的幂来构建地址是有意义的。这样就不会浪费地址空间,而且很容易结合多个芯片/模块来构建……
24.
不,它们不是相同类型的RAM,即使它们在使用相同制造过程的同一芯片上也是如此。在所有高速缓存中,L1缓存需要具有最快的访问时间(最低延迟),而不是需要多少容量,以便提供足够的“命中”速率。因此,它是使用较大的晶体管和更宽的构建......
23.
现在,闪存被用来保存程序代码,而EEPROM(电可擦只读存储器)被用来保存持久数据。大约30年前,在Flash出现之前,eeprom被用来保存程序代码。实际上,先出现的是ROM(只读存储器),然后是PROM(可编程只读存储器,只有一次),EPROM(可擦用紫外线光的PROM), EEPROM,…
22.
您无法扩展程序内存(Flash)。TI使用闪存和RAM的双倍产生相同的芯片,但没有其他更改:TM4C1230D5PMI。如果您不能使用具有较大闪存的芯片,则必须减少代码大小:禁用调试,例如昂贵的Printf功能。支持浮点输出的PrintF通常将设置为您...
21.
我不能谈论FRAM(铁电存储器),但任何使用浮动栅存储电荷的技术——任何形式的EPROM,包括EEPROM和Flash——都依赖于电子“穿隧”通过非常薄的绝缘硅氧化物垒来改变栅上的电荷量。问题是氧化层不是完美的…
21.
三种非易失性内存类型符合您的需求,按可用大小顺序:佩戴级别的EEPROM / Flash。电池备份SRAM。Fram。在成本方面,FRAM是最好的。您所需要的只是在芯片内,包括备用电容器来完成写作。但可用尺寸很低。电池备用SRAM大型且昂贵的材料。穿着leveed eeprom ...
21.
这是我在仍在大规模生产中的产品上所做的。当中断触发时,将RAM中的所有参数和计数器保持在RAM上的中断线到电源电压阈值检测器,关闭消耗电源(大多数外围设备,LED等)并将所有RAM返回到闪存的所有内容。事实证明大约10-20毫秒......
21.
虽然它们都涉及到改变内存的内容,但编写和编程不是一回事。在一个正常的处理器周期内,使用正常的电压,用连接到处理器的芯片进行写操作。编程涉及的条件通常不是由处理器产生的。可能需要先擦除记忆(…
20.
就我个人而言,对于兴趣项目,我倾向于使用家族中功能最强大的微控制器。然后我开发PCB,编写一些代码并生成一个原型。这样做的好处是,我非常了解少量的微控制器,所以我可以在不阅读整个数据表的情况下快速创建原型。我也有突破…
20.
无论您在代码中作为变量声明的内容都将在PIC的RAM中,因此在关闭时将消失。但是,PIC18F2580具有256字节的EEPROM存储器,这是非易失性的。您可以每次修改它们时在那里存储您的电话号码,并将其加载到变量上。读写给定地址的字节...
20.
它从字面上存储了程序内存中的机器码行(也就是在你的原始帖子中的整行指令。你甚至讨论“将所有可能的操作代码存储在缓存中”这一事实,都指向一个更深层次的误解。谈论将所有可能的操作代码存储在缓存(或任何内存)是没有意义的。所有可能的操作码…
19.
适当的标准解决方案可能是QSPI(也称为QPI,或SQI)。它在某种程度上是SPI接口的扩展,但使用四个(四,因此缩写中的Q)数据位(IO0/IO1/IO2/IO3),而不是每个方向(MISO/MOSI)的单个信号。所以芯片非常小(通常是So -8),接口非常高效:你……
18.
CPU模具本身不包含更大的内存(GB的DRAM)的主要原因(GB的DRAM)主要是关于成本。由于制造非常小的功能所需的制造过程,CPU模具空间显着更昂贵。也可能还可以在同一个模具上制造两个,虽然我不太了解细节给予任何...
18.
掩码rom。在掩模ROM中,没有重新编程。概念上,1的直接连接到VCC,0的直接连接到地面,在IC的构造中具有金属化区域。但是,您实际上需要改变芯片的设计,并制作新的芯片来改变它。所以,如果您提交可执行代码来掩盖ROM,然后找到一个错误,您必须...
17.
你不能真的从内存地址的宽度来假设程序计数器(PC)的宽度。历史上有许多许多不同的内存架构,新的内存架构无疑会被设想出来。在一个非常基本的水平,最简单的机器,PC在指令获取期间包含内存地址,所以是相同的宽度…
17.
你误解了堆是什么。堆是malloc在运行时为您动态提供RAM块的区域。全局作用域,静态分配的变量和数组不是“在堆上”。如果您的程序中没有使用malloc或它的任何变体,那么您可以非常安全地将堆大小设置为0。
17.
我觉得这种混淆是由于一个清晰可写的内存在其名称中被称为只读。矛盾的解决办法是:这些存储器包含数据,这些数据不是或只是很少打算被更改,而且它们在大多数时间里作为rom运行。改变其中的数据通常需要特殊的条件(紫外线,高电压)和……
15.
内存可能会占用最多的硅空间,而RAM的使用速度非常快,易失性也很差——它需要不断地消耗能量来保持其状态。除非您需要大量的RAM,否则它对许多其他应用程序没有用处。如果一个嵌入式系统设计者需要更多的RAM,他们只需要一个外部RAM芯片,并使用微控制器的外围存储接口……
15.
通常,堆栈和堆彼此崩溃。在那一点上,这一切都变得凌乱了。根据MCU可能(或将)发生的几件事之一。变量损坏了堆栈被损坏的程序被损坏,当1发生时,您开始奇怪的行为 - 没有做他们应该做的事情。当2碰到地狱的所有方式......
15.
两个因素违反您的想法:(d)RAM和逻辑(CPU)的最佳芯片生产过程是不同的。在同一芯片上的组合导致妥协,并且结果远低于可以通过单独的芯片实现的,每个芯片都是由自己的最佳过程构建的。快速记忆(寄存器)采取更多的模具区域,消耗更多......
只有顶级投票,最低长度的非社区 - 维基答案都有资格