存储器的架构 常用的存储架构有

一、分析at89s52单片机的存储器结构

设计人员编写的程序存放在微处理器的程序存储器中。

at89s52具有64kb程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息,程序存储器的结构如图1所示。

at89s52片内片外的程序存储器在统一逻辑空间中,地址从0000h~ffffh,共有64k字节范围。引脚接高电平时,程序从片内程序存储器0000h开始执行,即访问片内存储器。当pc值超出片内rom容量时,会自动转向片外程序存储器空间执行。引脚接低电平时,迫使系统全部执行片外程序存储器0000h开始存放的程序。

at89s52有256字节片内数据存储器。地址为00h~ffh。这256个单元共分为两部分。其一是地址从00h~7fh单元(共128个字节)为用户数据ram。从80h~ffh地址单元(也是128个字节)为特殊寄存器(sfr)单元。高128字节与特殊功能寄存器重叠,也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。

在00h~1fh共32个单元中被均匀地分为四块,每块包含八个8位寄存器,均以r0~r7来命名,称这些寄存器为通用寄存器。这四块中的寄存器都称为r0~r7,利用psw的第3和第4位(rs0和rs1),即可选中这四组通用寄存器。

内部数据存储器的20h—2fh单元为位寻址区,可作为一般单元用字节寻址,也可对它们的位进行寻址,位寻址区地址如表1所示

在程序存储区中,为中断服务程序保存了一段中断服务程序的入口地址:其中一组特殊单元是0003h—0032h,各个单元各有用途,它们被分为六段,每个段8个字节,专门留给中断服务程序使用,被称为中断矢量区。at89s52共有8个中断源,6个中断矢量,它们的定义如下表2所,

4.特殊功能寄存器sfr(special? function register)

特殊功能寄存器是指有特殊用途的寄存器**,也称为专用寄存器,本质上是一些具有特殊功能的片内ram单元,反映单片机的运行状态,很多功能也通过特殊功能寄存器来定义和控制程序的执行。

at89s52单片机内部高128(80~ffh)地址分配给特殊功能寄存器。这个地址空间和芯片内数据存储器的高128字节地址完全重叠,但两者在物理硬件上是完全独立的,用寻址方式来区分这个完全重叠的地址空间。使用直接寻址方式访问这个地址空间时,访问的是特殊功能寄存器;使用间接寻址方式访问这个地址空间时,访问的是数据存储器。

at89s52有32个特殊功能寄存器,它们被离散地分布在内部ram的80h~ffh地址中,这些寄存的功能已作了专门的规定,用户不能修改其结构。

单片机中的所有存储器都必须分配地址,可以寻址的地址范围为64kb,数据存储器与程序存储器都占用相同的地址。

程序存储器中片内片外0000h~0ffffh低4kb地址完全重叠,但是我们使用引脚进行区分:=0时,选择片外,=1时,选择片内,这样就完全区分开来了。

数据存储器中片内外0000h~00ffh的256个单元地址完全重叠,片内外数据的访问采用不同指令来区分:mov指令访问片内数据存储器,movx指令访问片外数据存储器。

(2)程序存储器(rom)与数据存储器(ram)的区分

程序存储器(rom)与数据存储器(ram)的区分在使用上是严格区分的,程序存储器只能放置程序指令及常数表格,对程序存储器中数据的访问只可以使用movc指令。而数据存储器则存放数据,片内外的*作指令分别用mov,movx进行*作。

片内ram中的20h~2fh的128位,以及sfr中的位地址,这些位寻址单元与位指令集构成了位处理器系统

二、常用的存储架构有

顺序存储方法它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。顺序存储结构是一种基本的存储表示方法,通常借助于程序设计语言中的数组来实现。

链接存储方法它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现。

顺序存储和链接存储是数据的两种基本的存储结构。

在顺序存储中,每个存储空间含有所存元素本身的信息,元素之间的逻辑关系是通过数组下标位置简单计算出来的线性表的顺序存储,若一个元素存储在对应数组中的下标位置为i,则它的前驱元素在对应数组中的下标位置为i-1,它的后继元素在对应数组中的下标位置为i+1。在链式存储结构中,存储结点不仅含有所存元素本身的信息,而且含有元素之间逻辑关系的信息。

数据的链式存储结构可用链接表来表示。

其中data表示值域,用来存储节点的数值部分。Pl,p2,…,Pill(1n≥1)均为指针域,每个指针域为其对应的后继元素或前驱元素所在结点(以后简称为后继结点或前驱结点)的存储位置。通过结点的指针域(又称为链域)可以访问到对应的后继结点或前驱结点,若一个结点中的某个指针域不需要指向其他结点,则令它的值为空(NULL)。

在数据的顺序存储中,由于每个元素的存储位置都可以通过简单计算得到,所以访问元素的时间都相同;而在数据的链接存储中,由于每个元素的存储位置保存在它的前驱或后继结点中,所以只有当访问到其前驱结点或后继结点后才能够按指针访问到,访问任一元素的时间与该元素结点在链式存储结构中的位置有关。

储存系统的层次结构为了解决存储器速度与价格之间的矛盾,出现了存储器的层次结构。

在某一段时间内,CPU频繁访问某一局部的存储器区域,而对此范围外的地址则较少访问的现象就是

程序的局部性原理。层次结构是基于程序的局部性原理的。对大量典型程序运行情况的统计分析得出的结论是:CPU对某些地址的访问在短时间间隔内出现集中分布的倾向。这有利于对存储器实现层次结构。

考虑由Cache和主存构成的两级存储系统,其性能主要取决于Cache和贮存的存取周期以及访问它们的

次数。(存取周期为: Tc,Tm;访问次数为: Nc,Nm)

(1)Cache的命中率 H= Nc/(Nc+Nm)

(2)CPU访存的平均时间 Ta= H* Tc+(1-H) Tm

根据统计分析:Cache的命中率可以达到90%~98%

当Cache的容量为:32KB时,命中率为86%

三、什么是存储器的四级存储结构

1、多级存储是一种拓扑结构,为了缓解主存储器读写速度慢,不能满足CPU运行速度需要的矛盾,另一方面又要解决主存储器容量小,存不下更多的程序和数据的难题,当前计算机系统中,广泛采用了多级结构的存储器系统。

2、按照与CPU的接近程度,存储器分为内存储器与外存储器,简称内存与外存。内存储器又常称为主存储器(简称主存),属于主机的组成部分;外存储器又常称为辅助存储器(简称辅存),属于外部设备。

3、CPU不能像访问内存那样,直接访问外存,外存要与CPU或I/O设备进行数据传输,必须通过内存进行。在80386以上的高档微机中,还配置了高速缓冲存储器(cache),这时内存包括主存与高速缓存两部分。对于低档微机,主存即为内存。

4、存储器结构单元中,用电容的充放电来做储存动作,但因电容本身有漏电问题,因此必须每几微秒就要刷新一次,否则数据会丢失。存取时间和放电时间一致,约为2~4ms。因为成本比较便宜,通常都用作计算机内的主存储器。

5、它的主要功能是将显卡的视频数据输出到数模转换器中,有效降低绘图显示芯片的工作负担。它采用双数据口设计,其中一个数据口是并行式的数据输出入口,另一个是串行式的数据输出口。多用于高级显卡中的高档内存。

6、参考资料来源:百度百科-存储器结构

四、存储器的原理是什么

存储器(Memory)是现代信息技术中用于保存信息的记忆设备。其概念很广,有很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,计算机才有记忆功能,才能保证正常工作。计算机中的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。

存储器的主要功能是存储程序和各种数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。存储器是具有“记忆”功能的设备,它采用具有两种稳定状态的物理器件来存储信息。这些器件也称为记忆元件。在计算机中采用只有两个数码“0”和“1”的二进制来表示数据。

记忆元件的两种稳定状态分别表示为“0”和“1”。日常使用的十进制数必须转换成等值的二进制数才能存入存储器中。计算机中处理的各种字符,例如英文字母、运算符号等,也要转换成二进制代码才能存储和*作。

存储器:存放程序和数据的器件存储位:存放一个二进制数位的存储单元,是存储器小的存储单位,或称记忆单元存储字:一个数(n位二进制位)作为一个整体存入或取出时,称存储字存储单元:存放一个存储字的若干个记忆单元组成一个存储单元存储体:大量存储单元的**组成存储体存储单元地址:存储单元的编号字编址:对存储单元按字编址字节编址:对存储单元按字节编址寻址:由地址寻找数据,从对应地址的存储单元中访存数据。

以存储体(大量存储单元组成的阵列)为核心,加上必要的地址译码、读写控制电路,即为存储集成电路;再加上必要的I/O接口和一些额外的电路如存取策略管理,则形成存储芯片,比如手机中常用的存储芯片。得益于新的IC制造或芯片封装工艺,现在已经有能力把DRAM和FLASH存储单元集成在单芯片里。存储芯片再与控制芯片(负责复杂的存取控制、存储管理、加密、与其他器件的配合等)及时钟、电源等必要的组件集成在电路板上构成整机,就是一个存储产品,如U盘。从存储单元(晶体管阵列)到存储集成电路再到存储设备,都是为了实现信息的存储,区别是层次的不同。

构成存储器的存储介质,存储元,它可存储一个二进制代码。由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器。一个存储器包含许多存储单元,每个存储单元可存放一个字节(按字节编址)。每个存储单元的位置都有一个编号,即地址,一般用十六进制表示。一个存储器中所有存储单元可存放数据的总和称为它的存储容量。假设一个存储器的地址码由20位二进制数(即5位十六进制数)组成,则可表示2的20次方,即1M个存储单元地址。每个存储单元存放一个字节,则该存储器的存储容量为1MB。

这里只介绍动态存储器(DRAM)的工作原理。

动态存储器每片只有一条输入数据线,而地址引脚只有8条。为了形成64K地址,必须在系统地址总线和芯片地址引线之间专门设计一个地址形成电路。使系统地址总线信号能分时地加到8个地址的引脚上,借助芯片内部的行锁存器、列锁存器和译码电路选定芯片内的存储单元,锁存信号也靠着外部地址电路产生。当要从DRAM芯片中读出数据时,CPU首先将行地址加在A0-A7上,而后送出RAS锁存信号,该信号的下降沿将地址锁存在芯片内部。接着将列地址加到芯片的A0-A7上,再送CAS锁存信号,也是在信号的下降沿将列地址锁存在芯片内部。然后保持WE=1,则在CAS有效期间数据输出并保持。

当需要把数据写入芯片时,行列地址先后将RAS和CAS锁存在芯片内部,然后,WE有效,加上要写入的数据,则将该数据写入选中的存贮单元。由于电容不可能长期保持电荷不变,必须定时对动态存储电路的各存储单元执行重读*作,以保持电荷稳定,这个过程称为动态存储器刷新。PC/XT机中DRAM的刷新是利用DMA实现的。首先应用可编程定时器8253的计数器1,每隔1⒌12μs产生一次DMA请求,该请求加在DMA控制器的0通道上。当DMA控制器0通道的请求得到响应时,DMA控制器送出到刷新地址信号,对动态存储器执行读*作,每读一次刷新一行。

存储器主要是存储程序和数据。就象存放货物的仓库一样,人们在仓库中存放货物时为了便于存放和拿取,通常将货物在放的位置进行编号,并且留有存放及拿取的通路。

存储器是由存储体、地址译码器、读写控制电路、地址总线和数据总线组成。能由**处理器直接随机存取指令和数据的存储器称为主存储器,磁盘、磁带、光盘等大容量存储器称为外存储器(或辅助存储器)。存储器是计算机的记忆装置,它的主要功能是存放程序和数据。程序是计算机*作的依据,数据是计算机*作的对象。不管是程序还是数据,在存储器中都是用二进制的形式来表示的,并统称信息。在计算机中,存储器容量以字节(Byte,简写为B)为基本单位,一个字节由8个二进制位(**t)组成。存储容量的表示单位除了字节以外,还有KB、MB、GB、TB(可分别简称为K、M、G、T,例如,128MB可简称为128M)。其中:1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB。存储器一般分成主存储器(内存)和辅助存储器(外存)。存储器的组成见图。随机存取存储器(RAM)主存储器(内存)只读存储器(ROM)存储器硬盘辅助存储器(外存)软盘光盘其它图1.1.2存储器的组成主存储器与CPU直接相连,存放当前正在运行的程序和有关数据,存取速度快,但价格较贵,容量不能做得太大,目前微型计算机的内存配置一般为128MB或256MB;主存储器(内存)按工作方式又分为随机存取存储器(RAM)和只读存储器(ROM);随机存取存储器(RAM)中的数据可随机地读出或写入,是用来存放从外存调入的程序和有关数据以及从CPU送出的数据。人们通常所说的内存实际上指的是RAM。

(1)半导体存储器用半导体器件组成的存储器称为半导体存储器;特点:集成度高、容量大、体积小、存取速度快、功耗低、价格便宜、维护简单.主要分两大类:双极型存储器:TTL型和ECL型.金属氧化物半导体存储器(简称MOS存储器):静态MOS存储器和动态MOS存储器。

(2)磁表面存储器用磁性材料做成的存储器称为磁表面存储器,简称磁存储器。它包括磁盘存储器、磁带存储器等。特点:体积大、生产自动化程度低、存取速度慢,但存储容量比半导体存储器大得多且不易丢失。

(3)激光存储器信息以刻痕的形式保存在盘面上,用激光束照射盘面,靠盘面的不同反射率来读出信息。光盘可分为只读型光盘(CD-ROM)、只写一次型光盘(WORM)和磁光盘(MOD)三种。

(1)随机存储器(RAM):如果存储器中任何存储单元的内容都能被随机存取,且存取时间与存储单元的物理位置无关,则这种存储器称为随机存储器(RAM)。RAM主要用来存放各种输入/输出的程序、数据、中间运算结果以及存放与外界交换的信息和做堆栈用。随机存储器主要充当高速缓冲存储器和主存储器。

(2)串行访问存储器(SAS):如果存储器只能按某种顺序来存取,也就是说,存取时间与存储单元的物理位置有关,则这种存储器称为串行访问存储器。串行存储器又可分为顺序存取存储器(SAM)和直接存取存储器(DAM)。顺序存取存储器是完全的串行访问存储器,如磁带,信息以顺序的方式从存储介质的始端开始写入(或读出);直接存取存储器是部分串行访问存储器,如磁盘存储器,它介于顺序存取和随机存取之间。

(3)只读存储器(ROM):只读存储器是一种对其内容只能读不能写入的存储器,即预先一次写入的存储器。通常用来存放固定不变的信息。如经常用作微程序控制存储器。目前已有可重写的只读存储器。常见的有掩模ROM(MROM),可擦除可编程ROM(EPROM),电可擦除可编程ROM(EEPROM).ROM的电路比RAM的简单、集成度高,成本低,且是一种非易失性存储器,计算机常把一些管理、监控程序、成熟的用户程序放在ROM中。

非永久记忆的存储器:断电后信息就消失的存储器,如半导体读/写存储器RAM。

永久性记忆的存储器:断电后仍能保存信息的存储器,如磁性材料做成的存储器以及半导体ROM。

根据存储器在计算机系统中所起的作用,可分为主存储器、辅助存储器、高速缓冲存储器、控制存储器等。为了解决对存储器要求容量大,速度快,成本低三者之间的矛盾,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器。

从写命令转换到读命令,在某个时间访问某个地址,以及刷新数据等*作都要求数据总线在一定时间内保持休止状态,这样就不能充分利用存储器通道。此外,宽并行总线和DRAM内核预取都经常导致不必要的大数据量存取。在指定的时间段内,存储器控制器能存取的有用数据称为有效数据速率,这很大程度上取决于系统的特定应用。有效数据速率随着时间而变化,常低于峰值数据速率。在某些系统中,有效数据速率可下降到峰值速率的10%以下。

通常,这些系统受益于那些能产生更高有效数据速率的存储器技术的变化。在CPU方面存在类似的现象,近几年诸如AMD和 TRANSMETA等公司已经指出,在测量基于CPU的系统的性能时,时钟频率不是唯一的要素。存储器技术已经很成熟,峰值速率和有效数据速率或许并不比以前匹配的更好。尽管峰值速率依然是存储器技术重要的参数之一,但其他结构参数也可以极大地影响存储器系统的性能。

有几类影响有效数据速率的参数,其一是导致数据总线进入若干周期的停止状态。在这类参数中,总线转换、行周期时间、CAS延时以及RAS到CAS的延时(tRCD)引发系统结构中的大部分延迟问题。

总线转换本身会在数据通道上产生非常长的停止时间。以GDDR3系统为例,该系统对存储器的开放页不断写入数据。在这期间,存储器系统的有效数据速率与其峰值速率相当。不过,假设100个时钟周期中,存储器控制器从读转换到写。由于这个转换需要6个时钟周期,有效的数据速率下降到峰值速率的 94%。在这100个时钟周期中,如果存储器控制器将总线从写转换到读的话,将会丢失更多的时钟周期。这种存储器技术在从写转换到读时需要15个空闲周期,这会将有效数据速率进一步降低到峰值速率的79%。表1显示出针几种高性能存储器技术类似的计算结果。

显然,所有的存储器技术并不相同。需要很多总线转换的系统设计师可以选用诸如XDR、RDRAM或者DDR2这些更高效的技术来提升性能。另一方面,如果系统能将处理事务分组成非常长的读写序列,那么总线转换对有效带宽的影响小。不过,其他的增加延迟现象,例如库(bank)冲突会降低有效带宽,对性能产生负面影响。

DRAM技术要求库的页或行在存取之前开放。一旦开放,在一个小周期时间,即行周期时间(tRC)结束之前,同一个库中的不同页不能开放。对存储器开放库的不同页存取被称为分页遗漏,这会导致与任何tRC间隔未满足部分相关的延迟。对于还没有开放足够周期以满足tRC间隙的库而言,分页遗漏被称为库冲突。而tRC决定了库冲突延迟时间的长短,在给定的DRAM上可用的库数量直接影响库冲突产生的频率。

大多数存储器技术有4个或者8个库,在数十个时钟周期具有tRC值。在随机负载情况下,那些具有8个库的内核比具有4个库的内核所发生的库冲突更少。尽管tRC与库数量之间的相互影响很复杂,但是其累计影响可用多种方法量化。

考虑三种简单的存储器读事务处理情况。第一种情况,存储器控制器发出每个事务处理,该事务处理与前一个事务处理产生一个库冲突。控制器必须在打开一个页和打开后续页之间等待一个tRC时间,这样增加了与页循环相关的大延迟时间。在这种情况下的有效数据速率很大程度上决定于I/O,并主要受限于DRAM内核电路。大的库冲突频率将有效带宽削减到当前高端存储器技术峰值的20%到30%。

在第二种情况下,每个事务处理都以随机产生的地址为目标。此时,产生库冲突的机会取决于很多因素,包括tRC和存储器内核中库数量之间的相互作用。tRC值越小,开放页循环地越快,导致库冲突的损失越小。此外,存储器技术具有的库越多,随机地址存取库冲突的机率就越小。

第三种情况,每个事务处理就是一次页命中,在开放页中寻址不同的列地址。控制器不必访问关闭页,允许完全利用总线,这样就得到一种理想的情况,即有效数据速率等于峰值速率。

第一种和第三种情况都涉及到简单的计算,随机情况受其他的特性影响,这些特性没有包括在DRAM或者存储器接口中。存储器控制器仲裁和排队会极大地改善库冲突频率,因为更有可能出现不产生冲突的事务处理,而不是那些导致库冲突的事务处理。

然而,增加存储器队列深度未必增加不同存储器技术之间的相对有效数据速率。例如,即使增加存储器控制队列深度,XDR的有效数据速率也比 GDDR3高20%。存在这种增量主要是因为XDR具有更高的库数量以及更低的tRC值。一般而言,更短的tRC间隔、更多的库数量以及更大的控制器队列能产生更高的有效带宽。

实际上,很多效率限制现象是与行存取粒度相关的问题。tRC约束本质上要求存储器控制器从新开放的行中存取一定量的数据,以确保数据管线保持充满。事实上,为保持数据总线无中断地运行,在开放一个行之后,只须读取很少量的数据,即使不需要额外的数据。

另外一种减少存储器系统有效带宽的主要特性被归类到列存取粒度范畴,它规定了每次读写*作必须传输的数据量。与之相反,行存取粒度规定每个行激活(一般指每个RAS的CAS*作)需要多少单独的读写*作。列存取粒度对有效数据速率具有不易于量化的巨大影响。因为它规定一个读或写*作中需要传输的小数据量,列存取粒度给那些一次只需要很少数据量的系统带来了问题。例如,一个需要来自两列各8字节的16字节存取粒度系统,必须读取总共32字节以存取两个位置。因为只需要32个字节中的16个字节,系统的有效数据速率降低到峰值速率的50%。总线带宽和脉冲时间长度这两个结构参数规定了存储器系统的存取粒度。

总线带宽是指连接存储器控制器和存储器件之间的数据线数量。它设定小的存取粒度,因为对于一个指定的存储器事务处理,每条数据线必须至少传递一个数据位。而脉冲时间长度则规定对于指定的事务处理,每条数据线必须传递的位数量。每个事务处理中的每条数据线只传一个数据位的存储技术,其脉冲时间长度为1。总的列存取粒度很简单:列存取粒度=总线宽度×脉冲时间长度。

很多系统架构仅仅通过增加DRAM器件和存储总线带宽就能增加存储系统的可用带宽。毕竟,如果4个400MHz数据速率的连接可实现 1.6GHz的总峰值带宽,那么8个连接将得到3.2GHz。增加一个DRAM器件,电路板上的连线以及ASIC的管脚就会增多,总峰值带宽相应地倍增。

首要的是,架构师希望完全利用峰值带宽,这已经达到他们通过物理设计存储器总线所能达到的大值。具有256位甚或512位存储总线的图形控制器已并不鲜见,这种控制器需要1,000个,甚至更多的管脚。封装设计师、ASIC底层规划工程师以及电路板设计工程师不能找到采用便宜的、商业上可行的方法来对这么多信号进行布线的硅片区域。仅仅增加总线宽度来获得更高的峰值数据速率,会导致因为列存取粒度限制而降低有效带宽。

假设某个特定存储技术的脉冲时间长度等于1,对于一个存储器处理,512位宽系统的存取粒度为512位(或者64字节)。如果控制器只需要一小段数据,那么剩下的数据就被浪费掉,这就降低了系统的有效数据速率。例如,只需要存储系统32字节数据的控制器将浪费剩余的32字节,进而导致有效的数据速率等于50%的峰值速率。这些计算都假定脉冲时间长度为1。随着存储器接口数据速率增加的趋势,大多数新技术的低脉冲时间长度都大于1。

存储器的类型将决定整个嵌入式系统的*作和性能,因此存储器的选择是一个非常重要的决策。无论系统是采用电池供电还是由市电供电,应用需求将决定存储器的类型(易失性或非易失性)以及使用目的(存储代码、数据或者两者兼有)。另外,在选择过程中,存储器的尺寸和成本也是需要考虑的重要因素。对于较小的系统,微控制器自带的存储器就有可能满足系统要求,而较大的系统可能要求增加外部存储器。为嵌入式系统选择存储器类型时,需要考虑一些设计参数,包括微控制器的选择、电压范围、电池寿命、读写速度、存储器尺寸、存储器的特性、擦除/写入的耐久性以及系统总成本。

一般情况下,当确定了存储程序代码和数据所需要的存储空间之后,设计工程师将决定是采用内部存储器还是外部存储器。通常情况下,内部存储器的性价比高但灵活性低,因此设计工程师必须确定对存储的需求将来是否会增长,以及是否有某种途径可以升级到代码空间更大的微控制器。基于成本考虑,人们通常选择能满足应用要求的存储器容量小的微控制器,因此在预测代码规模的时候要必须特别小心,因为代码规模增大可能要求更换微控制器。目前市场上存在各种规模的外部存储器器件,我们很容易通过增加存储器来适应代码规模的增加。有时这意味着以封装尺寸相同但容量更大的存储器替代现有的存储器,或者在总线上增加存储器。即使微控制器带有内部存储器,也可以通过增加外部串行EEPROM或闪存来满足系统对非易失性存储器的需求。

在较大的微控制器系统或基于处理器的系统中,设计工程师可以利用引导代码进行初始化。应用本身通常决定了是否需要引导代码,以及是否需要专门的引导存储器。例如,如果没有外部的寻址总线或串行引导接口,通常使用内部存储器,而不需要专门的引导器件。但在一些没有内部程序存储器的系统中,初始化是*作代码的一部分,因此所有代码都将驻留在同一个外部程序存储器中。某些微控制器既有内部存储器也有外部寻址总线,在这种情况下,引导代码将驻留在内部存储器中,而*作代码在外部存储器中。这很可能是安全的方法,因为改变*作代码时不会出现意外地修改引导代码。在所有情况下,引导存储器都必须是非易失性存储器。

可以使用任何类型的存储器来满足嵌入式系统的要求,但终端应用和总成本要求通常是影响我们做出决策的主要因素。有时,把几个类型的存储器结合起来使用能更好地满足应用系统的要求。例如,一些PDA设计同时使用易失性存储器和非易失性存储器作为程序存储器和数据存储器。把永久的程序保存在非易失性ROM中,而把由用户**的程序和数据存储在有电池支持的易失性DRAM中。不管选择哪种存储器类型,在确定将被用于终应用系统的存储器之前,设计工程师必须仔细折中考虑各种设计因素。

相关文章

海信电视65E5G65英寸4K超清图文测评

海信电视65E5G65英寸4K超清图文测评

很多小伙伴在关注海信电视65E5G65英寸4K超清怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品,一起来看看...

大疆DJI怎么样

大疆DJI怎么样

很多小伙伴在关注大疆DJI怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品,一起来看看吧。...

小白D1接入米家APP智能可视门铃无线电子猫眼1080P高清摄像头家用监控器持久续航手机远程查看怎么样?质量测评好不好用?

小白D1接入米家APP智能可视门铃无线电子猫眼1080P高清摄像头家用监控器持久续航手机远程查看怎么样?质量测评好不好用?

很多小伙伴在关注小白D1接入米家APP智能可视门铃无线电子猫眼1080P高清摄像头家用监控器持久续航手机远程查看怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用...

小天才儿童电话手表Z9体温监测智能手表学生儿童移动联通电信4G视频拍照双摄定位手表手机男女孩豆蔻紫质量测评好不好

小天才儿童电话手表Z9体温监测智能手表学生儿童移动联通电信4G视频拍照双摄定位手表手机男女孩豆蔻紫质量测评好不好

很多小伙伴在关注小天才儿童电话手表Z9体温监测智能手表学生儿童移动联通电信4G视频拍照双摄定位手表手机男女孩豆蔻紫怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使...

科大讯飞智能录音笔B1转写助手32G测评使用介绍

科大讯飞智能录音笔B1转写助手32G测评使用介绍

很多小伙伴在关注科大讯飞智能录音笔B1转写助手32G怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品,一起来看...

MIJIAK歌质量测评好不好

MIJIAK歌质量测评好不好

很多小伙伴在关注MIJIAK歌怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品,一起来看看吧。...