第4章-嵌入式系统的存储器系统

上传人:龙*** 文档编号:147893415 上传时间:2020-10-14 格式:PPT 页数:93 大小:1.25MB
返回 下载 相关 举报
第4章-嵌入式系统的存储器系统_第1页
第1页 / 共93页
第4章-嵌入式系统的存储器系统_第2页
第2页 / 共93页
第4章-嵌入式系统的存储器系统_第3页
第3页 / 共93页
第4章-嵌入式系统的存储器系统_第4页
第4页 / 共93页
第4章-嵌入式系统的存储器系统_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《第4章-嵌入式系统的存储器系统》由会员分享,可在线阅读,更多相关《第4章-嵌入式系统的存储器系统(93页珍藏版)》请在金锄头文库上搜索。

1、第4章 嵌入式系统的存储器系统,4.1 存储器系统概述,4.1.1 存储器系统的层次结构 计算机系统的存储器被组织成一个6个层次的金字塔形的层次结构,如图4.1.1所示。 S0层位于整个层次结构的最顶部,为CPU内部寄存器 S1层为芯片内部的高速缓存(cache) S2层为芯片外的高速缓存(SRAM、DRAM、DDRAM) S3层为主存储器(Flash、PROM、EPROM、EEPROM) S4层为外部存储器(磁盘、光盘、CF、SD卡) S5层为远程二级存储(分布式文件系统、Web服务器),图4.1.1 存储器系统层次结构,在这种存储器分层结构中上面一层的存储器作为下一层存储器的高速缓存。 C

2、PU寄存器就是cache的高速缓存,寄存器保存来自cache的字; cache又是内存层的高速缓存,从内存中提取数据送给CPU进行处理,并将CPU的处理结果返回到内存中; 内存又是主存储器的高速缓存,它将经常用到的数据从Flash等主存储器中提取出来,放到内存中,从而加快了CPU的运行效率。 嵌入式系统的主存储器容量是有限的,磁盘、光盘或CF、SD卡等外部存储器用来保存大信息量的数据。在某些带有分布式文件系统的嵌入式网络系统中,外部存储器就作为其他系统中被存储数据的高速缓存。,4.1.2 高速缓冲存储器,在主存储器和CPU之间采用高速缓冲存储器(cache)被广泛用来提高提高存储器系统的性能,

3、许多微处理器体系结构都把它作为其定义的一部分。cache能够减少内存平均访问时间。 Cache可以分为统一cache和独立的数据程序cache。 在一个存储系统中,指令预取时和数据读写时使用同一个cache,这时称系统使用统一的cache。 如果在一个存储系统中,指令预取时使用的一个cache,数据读写时使用的另一个cache,各自是独立的,这时称系统使用了独立的cache,用于指令预取的cache称为指令cache,用于数据读写的cache称为数据cache。(S3C2410采用此种结构),当CPU更新了cache的内容时,要将结果写回到主存中,可以采用写通法(write-through)和

4、写回法(write-back)。 写通法是指CPU在执行写操作时,必须把数据同时写入cache和主存。采用写通法进行数据更新的cache称为写通cache。 写回法是指CPU在执行写操作时,被写的数据只写入cache不写入主存。仅当需要替换时,才把已经修改的cache块写回到主存中。采用写回法进行数据更新的cache称为写回cache。,当进行数据写操作时,可以将cache分为读操作分配cache和写操作分配cache两类。 对于读操作分配cache,当进行数据写操作时,如果cache未命中,只是简单地将数据写入主存中。主要在数据读取时,才进行cache内容预取。 对于写操作分配cache,当

5、进行数据写操作时,如果cache未命中,cache系统将会进行cache内容预取,从主存中将相应的块读取到cache中相应的位置,并执行写操作,把数据写入到cache中。对于写通类型的cache,数据将会同时被写入到主存中,对于写回类型的cache数据将在合适的时候写回到主存中。,4.1.3 存储管理单元,MMU(Memory Manage Unit, 存储管理单元) 在CPU和物理内存之间进行地址转换,将地址从逻辑空间映射到物理空间,这个转换过程一般称为内存映射。 MMU主要完成以下工作: (1)虚拟存储空间到物理存储空间的映射。 采用了页式虚拟存储管理,它把虚拟地址空间分成一个个固定大小的

6、块,每一块称为一页,把物理内存的地址空间也分成同样大小的页。MMU实现的就是从虚拟地址到物理地址的转换。 (2)存储器访问权限的控制。 (3)设置虚拟存储空间的缓冲特性。,嵌入式系统中常常采用页式存储管理。 页表是存储在内存中的一个表,页表用来管理这些页。页表的每一行对应于虚拟存储空间的一个页,该行包含了该虚拟内存页对应的物理内存页的地址、该页的方位权限和该页的缓冲特性等。 从虚拟地址到物理地址的变换过程就是查询页表的过程。例如在ARM嵌入式系统中,使用系统控制协处理器CP15的寄存器C2来保存页表的基地址。,基于程序在执行过程中具有局部性的原理,在一段时间内,对页表的访问只是局限在少数几个单

7、元。根据这一特点,增加了一个小容量(通常为816字)、高速度(访问速度和CPU中通用寄存器相当)的存储部件来存放当前访问需要的地址变换条目,这个存储部件称为地址转换后备缓冲器(Translation Look aside Buffer,TLB)。 (或旁路转换缓冲/页表缓冲/后援存储器) 当CPU访问内存时,首先在TLB中查找需要的地址变换条目,如果该条目不存在,CPU再从位于内存中的页表中查询,并把相应的结果添加到TLB中,更新它的内容。,当ARM处理器请求存储访问时,首先在TLB中查找虚拟地址。如果系统中数据TLB和指令TLB是分开的,在取指令时,从指令TLB查找相应的虚拟地址,对于内存访

8、问操作,从数据TLB中查找相应的虚拟地址。 嵌入式系统中虚拟存储空间到物理存储空间的映射以内存块为单位来进行。即虚拟存储空间中一块连续的存储空间被映射到物理存储空间中同样大小的一块连续存储空间。 在页表和TLB中,每一个地址变换条目实际上记录了一个虚拟存储空间的内存块的基地址与物理存储空间相应的一个内存块的基地址的对应关系。根据内存块大小,可以有多种地址变换。,嵌入式系统支持的内存块大小有以下几种: 段(section)大小为1MB的内存块; 大页(Large Pages)大小为64KB的内存块; 小页(Small Pages)大小为4KB的内存块; 极小页(Tiny Pages)大小为1KB

9、的内存块。 极小页只能以1KB大小为单位不能再细分,而大页和小页有些情况下可以在进一步的划分,大页可以分成大小为16KB的子页,小页可以分成大小为1KB的子页。,MMU中的域指的是一些段、大页或者小页的集合。每个域的访问控制特性都是由芯片内部的寄存器中的相应控制位来控制的。例如在ARM嵌入式系统中,每个域的访问控制特性都是由CP15中的寄存器C3中的两位来控制的。 MMU中的快速上下文切换技术(Fast Context Switch Extension, FCSE)通过修改系统中不同进程的虚拟地址,避免在进行进程间切换时造成的虚拟地址到物理地址的重映射,从而提高系统的性能。,在嵌入式系统中,I

10、/O操作通常被映射成存储器操作,即输入输出是通过存储器映射的可寻址外围寄存器和中断输入的组合来实现的。 I/O的输出操作可通过存储器写入操作实现;I/O的输入操作可通过存储器读取操作实现。 这些存储器映射的I/O空间不满足cache所要求的特性,不能使用cache技术,一些嵌入式系统使用存储器直接访问(DMA)实现快速存储。,4.2 嵌入式系统存储设备分类,存储器是嵌入式系统硬件的重要组成部分,用来存放嵌入式系统工作时所用的程序和数据。嵌入式系统的存储器由片内和片外两部分组成。,4.2.1 存储器部件的分类,1按在系统中的地位分类 在微机系统中,存储器可分为 主存储器(Main Memory简

11、称主存或内存) 辅助存储器(Auxiliary Memory,Secondary Memory, 简称辅存或外存)。,内存是计算机主机的一个组成部分,一般都用快速存储器件来构成,内存的存取速度很快,但内存空间的大小受到地址总线位数的限制。 内存通常用来容纳当前正在使用的或要经常使用的程序和数据 CPU可以直接对内存进行访问。 系统软件中如引导程序、监控程序或者操作系统中的基本输入输出部分BIOS都是必须常驻内存。更多的系统软件和全部应用软件则在用到时由外存传送到内存。,内 存,外存也是用来存储各种信息的,存放的是相对来说不经常使用的程序和数据,其特点是容量大。 外存总是和某个外部设备相关的,常

12、见的外存有软盘、硬盘、U盘、光盘等。 CPU要使用外存的这些信息时,必须通过专门的设备将信息先传送到内存中。,外 存,2按存储介质分类,根据存储介质的材料及器件的不同,可分为 磁存储器(Magnetic Memory) 半导体存储器(Semiconductor Memory ) 光存储器(Optical Memory) 激光光盘存储器(Laser Optical Disk)。,3按信息存取方式分类,随机存取存储器(Random Access Memory,RAM)是一种在机器运行期间可读、可写的存储器,又称读写存储器。 只读存储器(Read Only Memory,ROM) 在机器运行期间只能

13、读出信息,不能随时写入信息的存储器称为只读存储器。,RAM的分类,RAM 可分为: SRAM(Static RAM/静态存储器) DRAM(Dynamic RAM/动态存储器)。 SRAM的性能及特点: SRAM 利用双稳态触发器来保存信息的,只要不掉电信息不会丢失。 SRAM速度非常快,是目前读写最快的存储设备了 SRAM价格非常昂贵,只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。,DRAM是利用MOS(金属氧化物半导体)电容存储电荷来储存信息,必须通过不停的给电容充电来维持信息。 DRAM 的成本、集成度、功耗等明显优于SRAM。 DRAM保留数据的时间很短,速度也比SRAM慢

14、,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。 通常人们所说的SDRAM 是DRAM 的一种,它是同步动态存储器,利用一个单一的系统时钟同步所有的地址数据和控制信号。使用SDRAM不但能提高系统表现,还能简化设计、提供高速的数据传输。在嵌入式系统中经常使用。,DRAM的性能及特点,ROM的分类,PROM是可编程的ROM,软件一次性写入后,就无法修改。 EPROM是紫外光可多次擦除的。 EEPROM是电可擦除的,写入时间较长。 Flash也是一种非易失性存储器(掉电不会丢失),它擦写方便,访问速度快,已大大取代了传统的EPROM的地位。

15、 Flash主要有两种NOR Flash和NADN Flash。,NOR Flash的读取和SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。 NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一快的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。 一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系

16、统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的“闪盘”,可以在线擦除。目前市面上的FLASH 主要来自Intel,AMD,Fujitsu和Toshiba,而生产NAND Flash的主要厂家有Samsung和Toshiba。,4.2.2 存储器的组织和结构 存储器的容量是描述存储器的最基本参数,如1MB。存储器的表示并不唯一,有不同表示方法,每种有不同的数据宽度。在存储器内部,数据是存放在二维阵列存储单元中。阵列以二维的形式存储,给出的n位地址被分成行地址和列地址(nr十c)。r是行地址数,c是列地址数。行列选定一个特定存储单元。如果存储器外部宽度为1位,那么列地址仅一位;对更宽的数据,列地址可选择所有列的一个子集。,嵌入式系统的存储器与通用系统的存储器有所不同,通常由ROM、RAM、EPROM等组成。嵌入式存储器一般采用存储密度较大的存储器芯片,存储容量与应用的软件大小相匹配。 4.2.3 常见的嵌入式系统存储设备 1RAM(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号