一、什么是存储器
存储器(Memory)是计算机系统中的记忆设备,用来存放程序和数据。计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。
二、存储器的构成
构成存储器的存储介质,目前主要采用半导体器件和磁性材料。存储器中最小的存储单位就是一个双稳态半导体电路或一个CMOS晶体管或磁性材料的存储元,它可存储一个二进制代码。由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器。一个存储器包含许多存储单元,每个存储单元可存放一个字节。每个存储单元的位置都有一个编号,即地址,一般用十六进制表示。一个存储器中所有存储单元可存放数据的总和称为它的存储容量。假设一个存储器的地址码由20位二进制数(即5位十六进制数)组成,则可表示220,即1M个存储单元地址。每个存储单元存放一个字节,则该存储器的存储容量为1KB。
三、存储器的分类
1.按存储介质分
(1)半导体存储器:用半导体器件组成的存储器。U盘是半导体存储器,U盘内集成的是Flash芯片,存储介质为半导体。
(2)磁表面存储器:用磁性材料做成的存储器。
2.按存储方式分
(1)随机存储器:任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无关。
(2)顺序存储器:只能按某种顺序来存取,存取时间和存储单元的物理位置有关。
3.按存储器的读写功能分
(1)只读存储器(ROM):存储的内容是固定不变的,只能读出而不能写入的半导体存储器。
(2)随机读写存储器(RAM):既能读出又能写入的半导体存储器。
4.按信息的可保存性分
(1)非永久记忆的存储器:断电后信息即消失的存储器。
(2)永久记忆性存储器:断电后仍能保存信息的存储器。
5.按在计算机系统中的作用分
根据存储器在计算机系统中所起的作用,可分为主存储器、辅助存储器、高速缓冲存储器、控制存储器等。
为了解决对存储器要求容量大,速度快,成本低三者之间的矛盾,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器。
四、存储器的层次结构
按照与CPU的接近程度,存储器分为内存储器与外存储器,简称内存与外存。内存储器又常称为主存储器(简称主存),属于主机的组成部分;外存储器又常称为辅助存储器(简称辅存),属于外部设备。CPU不能像访问内存那样,直接访问外存,外存要与CPU或I/O设备进行数据传输,必须通过内存进行。在 80386以上的高档微机中,还配置了高速缓冲存储器(chache),这时内存包括主存与高速缓存两部分。对于低档微机,主存即为内存。
把存储器分为几个层次主要基于下述原因:
1、合理解决速度与成本的矛盾,以得到较高的性能价格比。半导体存储器速度快,但价格高,容量不宜做得很大,因此仅用作与CPU频繁交流信息的内存储器。磁盘存储器价格较便宜,可以把容量做得很大,但存取速度较慢,因此用作存取次数较少,且需存放大量程序、原始数据(许多程序和数据是暂时不参加运算的)和运行结果的外存储器。计算机在执行某项任务时,仅将与此有关的程序和原始数据从磁盘上调入容量较小的内存,通过CPU与内存进行高速的数据处理,然后将最终结果通过内存再写入磁盘。这样的配置价格适中,综合存取速度则较快。
为解决高速的CPU与速度相对较慢的主存的矛盾,还可使用高速缓存。它采用速度很快、价格更高的半导体静态存储器,甚至与微处理器做在一起,存放当前使用最频繁的指令和数据。当CPU从内存中读取指令与数据时,将同时访问高速缓存与主存。如果所需内容在高速缓存中,就能立即获取;如没有,再从主存中读取。高速缓存中的内容是根据实际情况及时更换的。这样,通过增加少量成本即可获得很高的速度。
2、使用磁盘作为外存,不仅价格便宜,可以把存储容量做得很大,而且在断电时它所存放的信息也不丢失,可以长久保存,且复制、携带都很方便。
五、存储器管理
服务器在存储器环境按这样的方法分配存储器:在某个环境分配的存储器可以被环境析构器释放而不会影响其他环境中分配的存储器.所有存储器分配(通过 palloc 等)都被当作在当前环境的区域中分配存储器.如果你试图释放(或再分配)不在当前环境的存储器,你将得到不可预料的结果.
创建存储器环境和切换存储器环境是 SPI 管理器中存储器管理器的任务.
SPI 过程处理两种存储器环境:上层执行器存储器环境和过程存储器环境(如果已联接).
在一个过程与 SPI 管理器联接之前,当前存储器环境是上层执行器环境,所以所有由过程自身通过 palloc/repalloc 或通过 SPI 应用函数在联接到 SPI 管理器之前分配的存储器都在这个环境里.
在进行 SPI_connect 调用之后,当前环境是过程自身所有的.通过 palloc/repalloc 或通过 SPI 应用函数分配的存储器(除了 SPI_copytuple,SPI_modifytuple,SPI_palloc 和 SPI_repalloc 以外)都在这个环境中分配.
当进程与 SPI 管理器断开(通过调用 SPI_finish)后,当前环境恢复为上层执行器环境并且所有在过程存储器环境分配的存储器都被释放,并且不可继续使用!
如果你想返回一些东西给上层执行器,那么你必须为此在上层环境分配一片存储器!
SPI 不能自动释放在上层执行器环境里分配的存储器!
SPI 在查询完成后自动释放查询执行期间的存储器分配!
数码相机存储器
可以是一张卡,也可以是软盘,可以是活动的,也可以是固定的,用于保存图像。
cf闪存卡
一种袖珍闪存卡,(compact flash card)。像pc卡那样插入数码相机,它可用适配器,(又称转接卡),使之适应标准的pc卡阅读器或其他的pc卡设备。cf存储卡的部分结构采用强化玻璃及金属外壳,cf存储卡采用standard ata/ide接口界面,配备有专门的pcm-cia适配器(转接卡),笔记本电脑的用户可直接在pcmcia插槽上使用,使数据很容易在数码相机与电脑之间传递。
sm闪存卡
即smart media,智能媒体卡,一种存储媒介。sm卡采用了ssfdg/flash内存卡,具有超小超薄超轻等特性,体积 37(长)×45(宽)×0.76(厚)毫米,重量是1.8g,功耗低,容易升级,sm转换卡也有pcmcia界面,方便用户进行数据传送。
memory stick duo
memory stick duo即微型记忆棒,微型记忆棒的体积和重量都为普通记忆棒的三分之一左右,目前最大存储容量可以达到128mb。
sd闪存卡
即SecureDigital, 32×24×2.11 存储的速度快,非常小巧,外观和MMC一样,目前市面上较多数数码相机使用这种格式的存储卡,市场占有率第一。
xd闪存卡
即Fuji film(富士胶卷)和OLYMPUS(奥林巴斯)联合推出的xD-Picture卡,体形很小,传输速度很快,不过价格很昂贵。
mmc闪存卡
即MultiMedia Card ,外型和SD完全一样,很多时候也通用。
微硬盘
是一种比较高端的存贮产品,目前“IBM(日立)”和国产品牌“南方汇通”都推出了自己的微硬盘产品。微型硬盘外型和CF卡完全一样,使用同一型号接口。
优卡
优卡是lexar公司生产的一种数码相机存储介质,外形和一般的cf卡相同,可以用在使用cf卡的数码相机、pda、mp3等数码设备上,同时可以直接通过usb接口与计算机系统联机,用作移动存储器。
数字胶卷
数字胶卷是lexar公司生产的的一种数码相机的存储介质,同日立的sm卡、松下的sd卡、索尼的memorystick属同类的数字存储媒体。
pc卡转换器
一种接插件,可以把cf卡或sm卡插入其中,然后,整体作为一个pc卡插入计算机的pcmica插口,这是常用于便携机的一种通用扩展接口,可以接入pcmica内存卡、pcmica硬盘、pcmica调制解调器等。
六、嵌入式应用中存储器类型的选择技巧
存储器的类型将决定整个嵌入式系统的操作和性能,因此存储器的选择是一个非常重要的决策。无论系统是采用电池供电还是由市电供电,应用需求将决定存储器的类型(易失性或非易失性)以及使用目的(存储代码、数据或者两者兼有)。另外,在选择过程中,存储器的尺寸和成本也是需要考虑的重要因素。对于较小的系统,微控制器自带的存储器就有可能满足系统要求,而较大的系统可能要求增加外部存储器。为嵌入式系统选择存储器类型时,需要考虑一些设计参数,包括微控制器的选择、电压范围、电池寿命、读写速度、存储器尺寸、存储器的特性、擦除/写入的耐久性以及系统总成本。