嵌入式系统6(ARM程序设计)汇总.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EXPORT IRQ_Handler AREA IRQ_Handler, CODE, READONLY SUB LR, LR, #0x4 STMFD SP!, {R0-R12, LR} MRS R4, SPSR STMFD SP!, {R4} BL IRQ_Function;真正的中断处理过程(汇编或C) LDMFD SP!, {R4} ;************************ ;clean the IRQ flag;这里可以清中断标志 MSR SPSR_cxsf, R4 LDMFD SP!, {R0-R12, PC}^ END 西安电子科技大学计算机学院 * 恢复现场 并返回 保存现场 调整返回地址 5 ARM存储系统 支持多种类型的存储器件 如FLASH、ROM、SRAM、SDRAM等 支持CACHE及WRITE BUFFER技术 支持虚拟内存管理 支持地址重映射 引入存储保护机制,增强系统安全 支持I/O内存映射 通过一些特定机制保证I/O操作的结果正确 西安电子科技大学计算机学院 * 不同于单片机,包含一个存储管理部件 西安电子科技大学计算机学院 * ARM地址空间 ARM体系使用单一的平板地址空间 232个字节地址空间,范围0~232-1 231个半字地址空间,范围0~231-1(ARMv4以上支持) 230个字地址空间,范围0~230-1 注: ARM的内部操作都是面向32位操作数的,当从存储器调入一个字节或半字时,根据要求将其扩展为32位。 西安电子科技大学计算机学院 * 存储器格式 ARM处理器的字由4个字节组成,根据字节顺序可构成大端、小端两种存储格式 大端格式: 字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。 西安电子科技大学计算机学院 * 小端格式: 与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节 。 存储器格式由协处理器CP15控制 高速缓存和写缓冲区 Cache 全部由硬件实现,对用户透明 位于主存储器和CPU之间 存取速度远大于存储器,提高了存储系统性能 Write Buffer 由高速存储器构成 主要用于优化向主存储器中的写操作 写操作时,先将数据写入到写缓冲区中,写缓冲区在适当的时候以较低速度将数据写入主存储器 西安电子科技大学计算机学院 * 通过引入Cache和Write Buffer,存储系统的性能得到 了很大的提高 西安电子科技大学计算机学院 * Cache的分类 统一cache和独立cache 统一cache:指令预取和数据读写使用同一个cache。 独立cache:指令预取使用指令cache;数据读写使用数据cache。可在同一个时钟周期中读取指令和数据。 写通cache和写回cache 写通法:写操作时,必须把数据同时写入cache和主存。 写回法:写操作时,数据只写入cache,不写入主存。仅当需要替换时,才把已经修改的cache块写回到主存中。 西安电子科技大学计算机学院 * 当进行数据写操作而cache没有命中时,根据cache执行的操作不同,可分为读操作分配cache和写操作分配cache 读操作分配:写操作时cache未命中,只简单的将数据写入内存;数据读取时,才进行cache预取。 写操作分配:写操作时cache未命中,马上进行cache预取。 西安电子科技大学计算机学院 * Cache的工作原理 主存和cache都划分成同样的块 主存中的块可调入cache进行缓冲 主存地址空间和cache地址空间的映像方式: 直接相联:Cache的某一块只能和固定的一些主存块建立映像关系;主存的某一块只能对应一个Cache块。 全相联:Cache的某一块可以和任一主存块建立映像关系;而主存中某一块也可以映像到cache中任一块位置上。 组相联:该方式是介于直接映像和全相联映像之间的一种折中方案,目前应用较广泛。 西安电子科技大学计算机学院 * 存储管理单元(MMU) Memory Manage Unit主要完成CPU和物理内存之间的地址转换工作 虚拟存储空间到物理存储空间的映射 存储器访问权限控制 设置虚拟存储空间的缓冲特性 页表是实现存储管理功能的重要手段 协处理器CP15用于控制整个存储管理系统 可以控制MMU工作 包含16个32位寄存器,每个寄存器有固定用途 通过协处理器指令访问 西安电子科技大学计算机学院 * 页表 页表是位于内存中的表 每一行对应了虚拟存储空间的一个页 每一行包含了该虚拟内存页对应的物理内存页地址、该页的访问权限和缓冲特性 从虚拟地址到物理地址的变换过程就是查询页表的过程 MMU就是查询页表、管理页表的硬件部件 页表的基

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档