存储器电路


曲奇饼干
曲奇饼干 2022-09-21 14:47:33 49989
分类专栏: 资讯

1

片上存储器

如果微处理器要达到最佳性能,那么采用片上存储器是必需的。通常ARM处理器的主频为几十MHz到200MHz。而一般的主存储器采用动态存储器(ROM),其存储周期仅为100ns~200ns。这样指令和数据都存放在主存储器中,主存储器的速度将会严重制约整个系统的性能。在当前的时钟速度下,只有片上存储器能支持零等待状态访问速度。同时,与片外存储器相比,片上存储器有较好的功耗效率,并减少了电磁干扰。

在许多嵌入式系统中采用简单的片上RAM而不是Cache,因为Cache有以下特点:

·  结构简单、价格便宜且功耗低;

·  Cache有更不确定的行为。

在设计中,为了使Cache有效的工作需要巨大的逻辑开销。同时,如果没有合适、现成的Cache,则设计费用是惊人的。而且,Cache存储器的操作很复杂,这使得在大多数情况下很难预测它将如何工作,在某种程度上导致了系统的不可预知性。特别是在有中断的情况下,很难保证中断响应时间。

与Cache相比,片上RAM的缺点是需要程序员直接管理。而Cache对于程序员来说是透明的。如果程序的混合(program mix)、定义好并且不需要程序员对其进行控制,那么片上RAM就能有效的作为软件控制的Cache来使用。如果应用程序的混合不能预知,那么控制任务就变得非常困难。因此,应用程序的混合不可预知的通用系统中,通常采用Cache。

片上RAM的一个重要特点是,它使程序员能够根据对将来处理工作量的了解划分RAM空间。而Cache只能记录运行过的程序状态,无法预测以后要运行的程序,因此,无法实现对将来的关键任务预先作准备。在一些嵌入式系统中,关键任务必须满足严格的实时约束,这个差别就显得特别重要。

参考网页:点击打开链接

片外存储器

单片机的分为数据存储器和程序存储器。单片机内部的存储器称为片内存储器,片外扩展的存储器成为片外存储器。比如8031内部有数据存储器而没有程序存储器,所以它一般要外接一块程序存储芯片,内部的数据存储器叫做9031的片内存储器,外部扩展的存储芯片叫做片外存储器。

早期,片内存储器,还是片外存储器,确实是根据:他们是不是 在同一块 集成电路芯片上,来区分的。

数据存储器的传送指令,也有区别:片内传送,使用MOV,涉及片外了,就要用MOVX指令。

但是,科技发展了,有些单片机芯片,在同一块芯片上,还集成了少量的“片外存储器”,针对这些存储单元操作,就必须使用MOVX指令。

这样看来,片内,还是片外,区分的方法应该是使用什么指令,而不是他们是否分离成两块芯片。

参考网页:点击打开链接


2

RAM存储器

SRAM(Static RAM):静态存取,不需要刷新电路就能保存它内部存储的数据。速度可以非常快,在快速读取与刷新时保持数据的完整性,像CPU内部的cache,都是SRAM,缺点是一个内存单元需要的晶体管数量多,因而价格昂贵,集成度低,容量小。 

DRAM(Dynamic RAM):需要刷新电路,每隔一段时间需要对DRAM刷新充电一次,否则内部数据会丢失。存储单元的结构简单,集成度高,普遍用于大容量的RAM中。

SDRAM :同步动态RAM,需要刷新,速度较快,容量大。

DDR SDRAM:  双通道同步动态RAM,需要刷新,速度快(不需要提高时钟频率就能提高SDRAM的速度,是标准SDRAM的两倍),容量大。DDR2 DDR3等等都是DDR的改进版

Cache :一般使用SRAM制造,它与CPU之间交换数据的速度高于DRAM,所以称为“高速缓存”。由于CPU的信息处理速度常常超过其它部件的信息传递速度,所以使用一般的DRAM来作为信息存储器常常使CPU处于等待状态,造成资源的浪费。Cache就是为了解决这个问题而诞生的。在操作系统启动以后,CPU就把DRAM中经常被调用的一些系统信息暂时储存在Cache里面,以后当CPU需要调用这些信息时,首先到Cache里去找,如果找到了,就直接从Cache里读取,这样利用Cache的高速性能就可以节省很多时间。大多数CPU在自身中集成了一定量的Cache,一般被称作'一级缓存'或'内置Cache'。这部分存储器与CPU的信息交换速度是最快的,但容量较小。大多数主板上也集成了Cache,一般被称作'二级缓存'或'外置Cache',比内置Cache容量大些,一般可达到256K,现在有的主板已经使用了512K~2M的高速缓存。在最新的Pentium二代CPU内部,已经集成了一级缓存和二级缓存,那时主板上的Cache就只能叫作'三级缓存'了。

总结:内存(即随机存贮器RAM)可分为静态随机存储器SRAM,和动态随机存储器DRAM两种。我们经常说的“内存”是指DRAM。而SRAM大家却接触的很少。       SRAM其实是一种非常重要的存储器,它的用途广泛。SRAM的速度非常快,在快速读取和刷新时能够保  持数据完整性。SRAM内部采用的是双稳态电路的形式来存储数据。所以SRAM的电路结构非常复杂。制造相同容量的SRAM比DRAM的成本高的多。正因为如此,才使其发展受到了限制。因此目前SRAM基本上只用于CPU内部的一级缓存以及内置的二级缓存。仅有少量的网络服务器以及路由器上能够使用SRAM。

参考网页:点击打开链接

ROM存储器

MASK ROM:掩模ROM。制造时写入数据,数据无法修改。成本低。常用于电脑开机

PROM:一次可编程ROM。制造时存储内容全部为1,用户根据需要在某些单位写入0.只能写录一次

EPROM:紫外线擦除可编程ROM。将其暴露在紫外线下,数据全部清空。可以重复写录。

EEPROM:电擦除可编程ROM。利用电流擦除数据。可重复写录。

Flash:闪存。数据删除不是以单个的字节为单位而是以固定的区块为单位,区块大小一般为256KB到20MB。闪存是电子可擦除只读存储器(EEPROM)的变种,EEPROM与闪存不同的是,它能在字节水平上进行删除和重写而不是整个芯片擦写,这样闪存就比EEPROM的更新速度快。由于其断电时仍能保存数据,闪存通常被用来保存设置信息。

另一方面,闪存不像RAM一样以字节为单位改写数据,因此不能取代RAM。它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。

参考网页:点击打开链接点击打开链接

RAM与ROM的比较

RAM断电无法保护数据,而ROM断电保护数据。

通俗的说,比如在电脑中,大家都知道有内存和硬盘之说,其实内存就是一种RAM技术,而ROM则类似于硬盘技术,两者都是存储器,只是RAM的速度要远远高于ROM的速度,在电脑日常操作中,很多程序都将临时运行的程序命令,存放在内存中,但一旦关机或者停电,内存里原本临时存储的程序信息将全部被清空,也就是内存只能临时存储东西,不能长久保存,而ROM则可以存储,即使掉电后也可以找到之前存储的文件,这也就是硬盘了。

参考网页:点击打开链接


3
存储卡

SD卡: SD卡是一种基于flash的存储卡。SD卡具有容量大、数据传输速度快、安全性强(防写入锁定功能)等优点。SD卡应用非常广泛,现已成为市场占有率最高的一种存储卡。

 
TF卡:是从SD卡的基础上改进而来的一种新型存储卡,它的大小仅为SD卡的四分之一,是目前最小的存储卡
MMC卡:是一种资格比较老的存储卡,可以兼容SD卡设备,对于多数应用SD卡的机型的手机来说,MMC可以正常使用。MMC卡传输速度相对来说比较慢,新款手机很少采用MMC卡
参考网页:点击打开链接


4

存储器映射与重映射

ARM存储器:片内Flash、片内静态RAM、片外存储器


存储器本身不具有地址信息,它的地址由厂商或者用户分配。给存储器分配地址的过程称为存储器映射。完成存储器映射之后,用户可以按地址访问对应的存储单元。

我们可以把存储器看成一个具有输出和输入口的黑盒子。输入量是地址,输出的是对应地址上存储的数据。当然这个黑盒子是由很复杂的半导体电路实现的,具体的实现的方式我们现在不管。存储单位一般是字节。这样,每个字节的存储单元对应一个地址,当一个合法地址从存储器的地址总线输入后,该地址对应的存储单元上存储的数据就会出现在数据总线上面。

普通的单片机把可执行代码和数据存放到存储器中。单片机中的CPU从储器中取指令代码和数据。其中存储器中每个物理存储单元与其地址是一一对应而且是不可变的。

 而ARM比较复杂,ARM芯片与普通单片机在存储器地址方面的不同在于:ARM芯片中有些物理存储单元的地址可以根据设置变换。就是说一个物理存储单元现在对应一个地址,经过设置以后,这个存储单元就对应了另外一个地址了(这就是后面要说的重新映射)。例如将0x00000000地址上的存储单元映射到新的地址0x00000007上。CPU存取0x00000007就是存取0x00000000上的物理存储单元。(随便举的例子为了说明道理,没有实际意义)


存储器重映射就是给存储器单元再分配一个地址。此时,该存储单元就拥有两个地址,用户可以根据两个地址访问该存储单元。


存储器重新映射包括两个方面:1、Boot Block重新映射。2、异常(中断)向量重新映射。

Boot Block重新映射:本来Boot Block在片内Flash的最高8KB,但是为了与将来期间相兼容,生产商为了产品的升级换代,在新型芯片中增加内部Flash容量时,不至于因为位于Flash高端的Boot Block的地址发生了变化而改写其代码,整个Boot Block都要被重新映射到内部存储器空间的顶部,即片内RAM的最高8KB。(地址为:0x7FFFE000~0x7FFFFFFF)

    异常(中断)向量重新映射:本来中断向量表在片内Flash的最低32字节,重新映射时要把这32个字节再加上其后的32个字节(后面这32个字节是存放快速中断IRQ的服务程序的)共64个字节重新映射(地址为:0x00000000~0x0000003F)重新映射到的地方有三个:内部Flash高端的64字节空间、内部RAM低端的64字节空间和外部RAM低端的64字节空间,再加上原来的内部Flash低端的64字节空间,异常向量一共可以在四个地方出现。

参考网页:点击打开链接点击打开链接


网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=9145
赞同 0
评论 0 条
曲奇饼干L1
粉丝 0 发表 10 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2959
【软件正版化】软件正版化工作要点  2878
统信UOS试玩黑神话:悟空  2844
信刻光盘安全隔离与信息交换系统  2737
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1271
grub引导程序无法找到指定设备和分区  1235
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  165
点击报名 | 京东2025校招进校行程预告  164
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  163
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  159
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!