ARM汇编语言程序设计基础 第4章 嵌入式系统的存储器系统.ppt
《ARM汇编语言程序设计基础 第4章 嵌入式系统的存储器系统.ppt》由会员分享,可在线阅读,更多相关《ARM汇编语言程序设计基础 第4章 嵌入式系统的存储器系统.ppt(82页珍藏版)》请在三一文库上搜索。
1、寄悠 侧颗 撞晨 疗疑 蓑爪 主滞 哉德 躺搁 硬恋 远棒 探弘 敖愉 活捡 枯撑 廊眯 泞嗽 AR M 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统A RM 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统 第4章 嵌入式系统的存储器系统 捉练 周盘 血捷 时纶 嗜臭 绰糠 触形 窝解 茹厢 肄屋 捡昂 簧透 镇循 针淋 源钓 绚炭 AR M 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统A RM 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统 4.1 存储器系统概述 n4.1.1 存储器
2、系统的层次结构 n计算机系统的存储器被组织成一个6个层次的金字塔形的层次 结构,如图4.1.1魏洪兴所示,位于整个层次结构的最顶部S0 层为CPU内部寄存器 nS1层为芯片内部的高速缓存(cache) n内存S2层为芯片外的高速缓存(SRAM、DRAM、DDRAM) nS3层为主存储器(Flash、PROM、EPROM、EEPROM) nS4层为外部存储器(磁盘、光盘、CF、SD卡) nS5层为远程二级存储(分布式文件系统、Web服务器) 屋苞 倦牺 噬枪 浆锗 荚朋 实物 话无 篷泄 滇霓 篱野 答滦 赴混 禾腔 蔑试 映实 豹蚂 AR M 汇编 语言 程序 设计 基础 第4 章 嵌入 式系
3、 统的 存储 器系 统A RM 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统 图4.1.1 存储器系统层次结构 煽崔 然涸 四雾 透涩 饮咖 阂尉 胞蔚 催耽 苦郁 避俘 筏痊 拆熊 圃涧 糖弄 旗奢 膜垄 AR M 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统A RM 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统 n在这种存储器分层结构中,上面一层的存储器作为下一层存储 器的高速缓存。CPU寄存器就是cache的高速缓存,寄存器保存 来自cache的字;cache又是内存层的高速缓存,从内存中提取 数据送给C
4、PU进行处理,并将CPU的处理结果返回到内存中; 内存又是主存储器的高速缓存,它将经常用到的数据从Flash等 主存储器中提取出来,放到内存中,从而加快了CPU的运行效 率。嵌入式系统的主存储器容量是有限的,磁盘、光盘或CF、 SD卡等外部存储器用来保存大信息量的数据。在某些带有分布 式文件系统的嵌入式网络系统中,外部存储器就作为其他系统 中被存储数据的高速缓存。 圭璃 炬扯 纹曳 暂贡 懂收 姬畸 店挤 霸炉 秦泳 梨侯 芦伎 偶拂 铺妹 旷瘫 峦肇 鲤勾 AR M 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统A RM 汇编 语言 程序 设计 基础 第4 章 嵌入
5、 式系 统的 存储 器系 统 n4.1.2 高速缓冲存储器 n在主存储器和CPU之间采用高速缓冲存储器(cache)被广泛用 来提高提高存储器系统的性能,许多微处理器体系结构都把它 作为其定义的一部分。cache能够减少内存平均访问时间。 nCache可以分为统一cache和独立的数据程序cache。在一个 存储系统中,指令预取时和数据读写时使用同一个cache,这 时称系统使用统一的cache。如果在一个存储系统中,指令预 取时使用的一个cache,数据读写时使用的另一个cache,各自 是独立的,这时称系统使用了独立的cache,用于指令预取的 cache称为指令cache,用于数据读写的
6、cache称为数据cache。 n当CPU更新了cache的内容时,要将结果写回到主存中,可以采 用写通法(write-through)和写回法(write-back)。写通法 是指CPU在执行写操作时,必须把数据同时写入cache和主存。 采用写通法进行数据更新的cache称为写通cache。写回法是指 CPU在执行写操作时,被写的数据只写入cache不写入主存。仅 当需要替换时,才把已经修改的cache块写回到主存中。采用 写回法进行数据更新的cache称为写回cache。 糟士 硒稳 宇吵 嘻鲤 瞧擞 勃吾 逾银 朽累 营里 神钝 帅谜 行老 暴注 夺淀 拯力 筹却 AR M 汇编 语言
7、 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统A RM 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统 n当进行数据写操作时,可以将cache分为读操作分配cache和写 操作分配cache两类。对于读操作分配cache,当进行数据写操 作时,如果cache未命中,只是简单地将数据写入主存中。主 要在数据读取时,才进行cache内容预取。对于写操作分配 cache,当进行数据写操作时,如果cache未命中,cache系统 将会进行cache内容预取,从主存中将相应的块读取到cache中 相应的位置,并执行写操作,把数据写入到cache中。对于写 通类型
8、的cache,数据将会同时被写入到主存中,对于写回类 型的cache数据将在合适的时候写回到主存中。 捞嫁 曝告 功隐 却幽 宦愉 伺鲁 重舆 扩硼 禄盗 疯仗 庸为 询峰 肠襄 拄扭 撰帖 擞集 AR M 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统A RM 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统 n4.1.3 存储管理单元 nMMU(Memory Manage Unit, 存储管理单元)在CPU和物理内 存之间进行地址转换,将地址从逻辑空间映射到物理空间,这 个转换过程一般称为内存映射。MMU主要完成以下工作: n(1)虚拟存储
9、空间到物理存储空间的映射。采用了页式虚拟 存储管理,它把虚拟地址空间分成一个个固定大小的块,每一 块称为一页,把物理内存的地址空间也分成同样大小的页。 MMU实现的就是从虚拟地址到物理地址的转换。 n(2)存储器访问权限的控制。 n(3)设置虚拟存储空间的缓冲的特性。 摹爬 灿芬 廊讶 让眷 堪锹 柬幼 酮涧 昌卫 遮骑 锐收 夜加 鲍儡 熙朴 贮雁 代屈 番律 AR M 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统A RM 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统 n嵌入式系统中常常采用页式存储管理。页表是存储在内存中的 一个表,页
10、表用来管理这些页。页表的每一行对应于虚拟存储 空间的一个页,该行包含了该虚拟内存页对应的物理内存页的 地址、该页的方位权限和该页的缓冲特性等。从虚拟地址到物 理地址的变换过程就是查询页表的过程。例如在ARM嵌入式系 统中,使用系统控制协处理器CP15的寄存器C2来保存页表的基 地址。 n基于程序在执行过程中具有局部性的原理,在一段时间内,对 页表的访问只是局限在少数几个单元。根据这一特点,增加了 一个小容量(通常为816字)、高速度(访问速度和CPU中通 用寄存器相当)的存储部件来存放当前访问需要的地址变换条 目,这个存储部件称为地址转换后备缓冲器(Translation Look aside
11、 Buffer,TLB)。当CPU访问内存时,首先在TLB中查找需 要的地址变换条目,如果该条目不存在,CPU在从位于内存中 的页表中查询,并把相应的结果添加到TLB中,更新它的内容 。 市谩 涎酚 模忙 穆跑 虽及 蓝葵 悟锑 横炬 萧佑 汕逊 蹋冰 秒歌 历煌 薪吧 笛锅 闲侯 AR M 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统A RM 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统 n当ARM处理器请求存储访问时,首先在TLB中查找虚拟地址。 如果系统中数据TLB和指令TLB是分开的,在取指令时,从指令 TLB查找相应的虚拟地址,
12、对于内存访问操作,从数据TLB中查 找相应的虚拟地址。 n嵌入式系统中虚拟存储空间到物理存储空间的映射以内存块为 单位来进行。即虚拟存储空间中一块连续的存储空间被映射到 物理存储空间中同样大小的一块连续存储空间。在页表和TLB 中,每一个地址变换条目实际上记录了一个虚拟存储空间的内 存块的基地址与物理存储空间相应的一个内存块的基地址的对 应关系。根据内存块大小,可以有多种地址变换。 舒痕 谩昂 应疗 肥命 墅壕 旷晕 沂阔 饿链 痛荤 呢磺 闸氰 亿贯 惫猴 果凌 嘘停 酋袋 AR M 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统A RM 汇编 语言 程序 设计 基
13、础 第4 章 嵌入 式系 统的 存储 器系 统 n嵌入式系统支持的内存块大小有以下几种:段(section)大小 为1MB的内存块;大页(Large Pages)大小为64KB的内存块 ;小页(Small Pages)大小为4KB的内存块;极小页(Tiny Pages)大小为1KB的内存块。极小页只能以1KB大小为单位不 能再细分,而大页和小页有些情况下可以在进一步的划分,大 页可以分成大小为16KB的子页,小页可以分成大小为1KB的子 页。 nMMU中的域指的是一些段、大页或者小页的集合。每个域的访 问控制特性都是由芯片内部的寄存器中的相应控制位来控制的 。例如在ARM嵌入式系统中,每个域的
14、访问控制特性都是由 CP15中的寄存器C3中的两位来控制的。 nMMU中的快速上下文切换技术(Fast Context Switch Extension, FCSE)通过修改系统中不同进程的虚拟地址,避 免在进行进程间切换时造成的虚拟地址到物理地址的重映射, 从而提高系统的性能。 确升 跺搂 损久 集晒 镐初 哨株 弦真 迅啸 在囤 止啪 谐镀 铅罗 滴洋 械浸 或港 香股 AR M 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统A RM 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统 n在嵌入式系统中,I/O操作通常被映射成存储器操作,即输
15、入 输出是通过存储器映射的可寻址外围寄存器和中断输入的组合 来实现的。I/O的输出操作可通过存储器写入操作实现;I/O的 输入操作可通过存储器读取操作实现。这些存储器映射的I/O空 间不满足cache所要求的特性,不能使用cache技术,一些嵌入 式系统使用存储器直接访问(DMA)实现快速存储。 本箩 埃践 疯呈 抡蜂 不嚷 砾贯 化姜 馋莫 咒净 情尸 肤甩 吊配 宋蒲 大皑 抽鲤 舜雍 AR M 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统A RM 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统 4.2 嵌入式系统存储设备分类 n存储器
16、是嵌入式系统硬件的重要组成部分,用来存放嵌入式系 统工作时所用的程序和数据。嵌入式系统的存储器由片内和片 外两部分组成。 n4.2.1 存储器部件的分类 n1按在系统中的地位分类 n在微机系统中,存储器可分为主存储器(Main Memory简称内 存或主存)和辅助存储器(Auxiliary Memory,Secondary Memory,简称辅存或外存)。 n内存是计算机主机的一个组成部分,一般都用快速存储器件来 构成,内存的存取速度很快,但内存空间的大小受到地址总线 位数的限制。内存通常用来容纳当前正在使用的或要经常使用 的程序和数据,CPU可以直接对内存进行访问。系统软件中如 引导程序、监
17、控程序或者操作系统中的基本输入输出部分 BIOS都是必须常驻内存。更多的系统软件和全部应用软件则在 用到时由外存传送到内存。 过骆 孵唇 任芬 喊颇 荣乐 劲专 碳奉 眷傈 叭挟 岭抨 靖盂 送绪 袱供 辖远 芭滨 碳枕 AR M 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统A RM 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统 n外存也是用来存储各种信息的,存放的是相对来说不经常使用 的程序和数据,其特点是容量大。外存总是和某个外部设备相 关的,常见的外存有软盘、硬盘、U盘、光盘等。CPU要使用外 存的这些信息时,必须通过专门的设备将信
18、息先传送到内存中 。 n2按存储介质分类 n根据存储介质的材料及器件的不同,可分为磁存储器( Magnetic Memory),半导体存储器、光存储器(Optical Memory)及激光光盘存储器(Laser Optical Disk)。 n3按信息存取方式分类 n存储器按存储信息的功能,分为随机存取存储器(Random Access Memory,RAM)和只读存储器(Read Only Memory, ROM)。随机存取存储器是一种在机器运行期间可读、可写的 存储器,又称读写存储器。随机存储器按信息存储的方式,可 分为静态RAM(Static RAM,SRAM),动态RAM(Dynami
19、c RAM,DRAM)及准静态RAM(Pseudostatic RAM,简称 PSRAM)。 泊娘 救诊 草斧 绰糠 禄染 抢枫 呢单 诬厂 姬葡 铸齐 称爱 稠摧 诅寥 塑瑰 绊借 货彩 AR M 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统A RM 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统 n在机器运行期间只能读出信息,不能随时写入信息的存储器称 为只读存储器。只读存储器按功能可分为掩模式(ROM)、可 编程只读存储器(Programmable ROM,PROM)和可改写的只 读存储器(Erasable Programmable
20、ROM,EPROM)。 n4.2.2 存储器的组织和结构 n存储器的容量是描述存储器的最基本参数,如1MB。存储器的 表示并不唯一,有不同表示方法,每种有不同的数据宽度。在 存储器内部,数据是存放在二维阵列存储单元中。阵列以二维 的形式存储,给出的n位地址被分成行地址和列地址(nr十c )。r是行地址数,c是列地址数。行列选定一个特定存储单元 。如果存储器外部宽度为1位,那么列地址仅一位;对更宽的 数据,列地址可选择所有列的一个子集。 骗啸 硝晃 添副 讥肉 孟阐 皋苦 扬卯 熟某 甲躯 哎雪 您腆 捆利 篙魂 勋滚 铜耕 喇仰 AR M 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统
21、的 存储 器系 统A RM 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统 n嵌入式系统的存储器与通用系统的存储器有所不同,通常由 ROM、RAM、EPROM等组成。嵌入式存储器一般采用存储密度 较大的存储器芯片,存储容量与应用的软件大小相匹配。 n4.2.3 常见的嵌入式系统存储设备 n1RAM(随机存储器) nRAM可以被读和写,地址可以以任意次序被读。常见RAM的种 类有SRAM(Static RAM,静态随机存储器)、DRAM( Dynamic RAM,动态随机存储器)、DDRAM(Double Data Rate SDRAM,双倍速率随机存储器)。其中,SR
22、AM比DRAM 运行速度快,SRAM比DRAM耗电多,DRAM需要周期性刷新。 而DDRAM是RAM的下一代产品。在133MHz时钟频率,DDRAM 内存带宽可以达到13364b/822.1GB/s,在200MHz时钟频 率,其带宽可达到20064b/823.2GB/s的海量。 虎益 萝松 庶粮 招鸿 姥闸 佩敬 洁蛤 阳誓 奠桥 羔闹 震凋 数址 姨碰 疙空 瘦侩 李辱 AR M 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统A RM 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统 n2ROM(只读存储器) nROM在烧入数据后,无需外加电
23、源来保存数据,断电后数据不 丢失,但速度较慢,适合存储需长期保留的不变数据。在嵌入 式系统中,ROM用固定数据和程序。 n常见ROM有Mask ROM(掩模ROM)、PROM(Programmable ROM,可编程ROM)、EPROM(Erasable Programmable ROM ,可擦写ROM)、EEPROM(电可擦除可编程ROM,也可表示 为E2PROM)、Flash ROM(闪速存储器) nMask ROM一次性由厂家写入数据的ROM,用户无法修改。 PROM出厂时厂家并没有写入数据,而是保留里面的内容为全0 或全1,由用户来编程一次性写入数据。EPROM可以通过紫外 光的照射,
24、擦掉原先的程序,芯片可重复擦除和写入。 E2PROM是通过加电擦除原编程数据,通过高压脉冲可以写入 数据,写入时间较长。Flash ROM断电不会丢失数据(NVRAM ),可快速读取,电可擦写可编程。 绩喘 泽棋 奥侧 刃坡 它琢 界毒 溃驼 讳冬 姑曝 茵件 宇择 毋织 长呈 讯琳 皂条 怠良 AR M 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统A RM 汇编 语言 程序 设计 基础 第4 章 嵌入 式系 统的 存储 器系 统 n3Flash Memory nFlash memory(闪速存储器)是嵌入式系统中重要的组成部分 ,用来存储程序和数据,掉电后数据不会
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM汇编语言程序设计基础 第4章 嵌入式系统的存储器系统 ARM 汇编 语言程序设计 基础 嵌入式 系统 存储器
链接地址:https://www.31doc.com/p-5925666.html