《嵌入式系统基础教程》第07讲_第4章arm存储器组织和异常中断_习题3_51页

上传人:aa****6 文档编号:54791786 上传时间:2018-09-19 格式:PPT 页数:57 大小:674.51KB
返回 下载 相关 举报
《嵌入式系统基础教程》第07讲_第4章arm存储器组织和异常中断_习题3_51页_第1页
第1页 / 共57页
《嵌入式系统基础教程》第07讲_第4章arm存储器组织和异常中断_习题3_51页_第2页
第2页 / 共57页
《嵌入式系统基础教程》第07讲_第4章arm存储器组织和异常中断_习题3_51页_第3页
第3页 / 共57页
《嵌入式系统基础教程》第07讲_第4章arm存储器组织和异常中断_习题3_51页_第4页
第4页 / 共57页
《嵌入式系统基础教程》第07讲_第4章arm存储器组织和异常中断_习题3_51页_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《《嵌入式系统基础教程》第07讲_第4章arm存储器组织和异常中断_习题3_51页》由会员分享,可在线阅读,更多相关《《嵌入式系统基础教程》第07讲_第4章arm存储器组织和异常中断_习题3_51页(57页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统原理与开发,第7讲南京大学计算机系 俞建新主讲,2008年春季,2008年6月21日,南京大学计算机系,2,第4章ARM体系结构,本章主要介绍以下内容: ARM体系结构版本 ARM处理器系列 ARM流水线 ARM工作模式和工作状态 ARM寄存器组织 ARM存储器组织 ARM的异常中断 AMBA和ARM7TDMI,2008年6月21日,南京大学计算机系,3,4.6 ARM存储器组织,介绍以下内容: 数据类型和存储格式 ARM的存储体系 片上存储器的用法 协处理器CP15 存储器管理单元MMU 保护单元 快速上下文切换扩展 写缓存器(Write Buffer) ARM的异常中断向量表和异

2、常中断处理与返回,2008年6月21日,南京大学计算机系,4,4.6.1 数据类型和存储格式,ARM存储器中的数据类型有6种 有符号数 8位(字节)、16位(半字)、32位(字) 无符号数 8位(字节)、16位(半字)、32位(字) 缺省端序设置为小端序,2008年6月21日,南京大学计算机系,5,4.6.2 ARM的存储体系,参看下图,抽象成一个呈金字塔型的存储结构 注重研究第2层,2008年6月21日,南京大学计算机系,6,4.6.3 片上存储器的用法,多数ARM处理器芯片内部集成了存储器 它们统称为片上存储器 用途有:片上Cache、片上SRAM、紧耦合存储器(TCM) 、写缓存 片上存

3、储器的存储空间可以通过指令进行配置,定义成片上Cache,或者片上SRAM,或者一部分片上Cache加一部分片上SRAM。 紧耦合存储器和写缓存均需要编程使能或者硬件接线使能 按照具体应用情况决定片上存储器配置方法,2008年6月21日,南京大学计算机系,7,片上存储器用作紧耦合存储器,紧耦合存储器的英文原文如下: Tightly Coupled Memory,TCM 弥补Cache访问的不确定性而增加的片上存储器。 除了片上紧耦合存储器外,还有紧耦合存储器接口,它能够提供低延时的外存储器访问。 有的处理器含有分立的指令TCM和数据TCM。TCM包含在存储器地址映射空间中,可以作为快速存储器来

4、访问。除了不得包含读敏感地址之外,对TCM接口上连接的存储器类型没有其他限制。TCM使用物理地址,对TCM的写访问受到MMU内部保护信息的控制。,2008年6月21日,南京大学计算机系,8,TCM在ARMv6处理器核的位置,ARMv6处理器包括:ARM1136J-S、ARM1156T2,2008年6月21日,南京大学计算机系,9,片内的TCM存储器,ARM926EJ-S核心内置32KB指令缓存、16KB数字缓存和8KB数据-TCM(紧密耦合内存)和8KB指令-TCM(紧密耦合内存);,2008年6月21日,南京大学计算机系,10,Cortex-R4F方框图含TCM接口,注意图的右侧含有一个TC

5、M仲裁和接口模块,2008年6月21日,南京大学计算机系,11,ARM1136的TCM支持DMA传输,参看ARM1136的方框图,2008年6月21日,南京大学计算机系,12,ARM966E-S核的TCM地址映射,2008年6月21日,南京大学计算机系,13,ARM966E-S的TCM别名地址空间,物理存储块可以通过TCM接口映射在片内的TCM存储区,2008年6月21日,南京大学计算机系,14,ARM966E-S的TCM特点,The ARM966E-S processor supports both instruction and data TCMs. You can use the DTC

6、M and ITCM to store real-time and performance-critical code. The TCMs are instantiated externally to the ARM966E-S macrocell providing for flexibility in the design of the memory subsystem. The system designer can select memory type and optimize the memory subsystem for power or speed.,2008年6月21日,南京

7、大学计算机系,15,ARM966E-S的TCM接口特点(续1),The features of the TCM interface include: independent ITCM and DTCM sizes of 0KB or 1KB-64MB in power-of-two increments software visibility and programmability of TCM size and enable boot control for ITCM data access to the ITCM for literal pool accesses in code simp

8、le SRAM-style interface supporting both reads and writes variable TCM wait state control for ITCM and DTCM ability to indicate sequential and nonsequential accesses.,2008年6月21日,南京大学计算机系,16,ARM966E-S的TCM特点接口(续2),The ARM966E-S processor contains a TCM controller that: schedules requests to the TCM int

9、erface handshakes with the ARM966E-S memory system controller to acknowledge when requests have been serviced returns TCM read data back to the ARM9E-S core. The TCMs are located in the TCM address space.,2008年6月21日,南京大学计算机系,17,AT91SAM9261处理器的TCM,AT91SAM9261的独立指令和数据缓存能支持WinCE 和 Linux操作系统。 而其基于TCM 构架

10、的SRAM区块则是“确定过程式”实时操作系统的理想安排。 另一方面,160K字节的片上SRAM可划分成多个16K字节的区块,作为“指令TCM”、“数据TCM”或片上外设的缓冲,从而让编程人员灵活地优化系统的性能和功耗。,2008年6月21日,南京大学计算机系,18,TCM的使能操作,通过二种方式进行TCM的使能操作 使用处理器芯片的INITRAM引脚 使用 CP15的c1控制寄存器,2008年6月21日,南京大学计算机系,19,S3C44B0X和S3C4510B的三种片上存储器的配置用法,S3C44B0X和S3C4510B都有8KB的片上存储器 它们有三种配置用法 8KB的SRAM 8KB的C

11、ache 4KB的SRAM加上4KB的Cache 较多采用片内RAM配置而非片内Cache配置。,2008年6月21日,南京大学计算机系,20,4.6.4 协处理器CP15,CP15即所谓的系统控制协处理器 System Control Coprocessor 在基于ARM的嵌入式系统中,诸如MMU、Cache配置、紧耦合处理器、写缓存配置之类的存储系统管理工作由协处理器CP15完成。 CP15可以包含16个32位寄存器 编号为CP0CP15。 实际运用中写为C0C15。,2008年6月21日,南京大学计算机系,21,CP15寄存器的访问,用户只能够在特权模式下使用MRC和MCR指令来访问CP

12、15寄存器。,2008年6月21日,南京大学计算机系,22,4.6.5 存储器管理单元MMU,ARM的MMU部件的用途:完成虚拟存储空间到物理存储空间的映射。管理方式:页式虚拟存储器。页的大小有两种:粗粒度和细粒度。存储器访问权限的控制。设置虚拟存储空间的缓冲特性。,2008年6月21日,南京大学计算机系,23,4.6.6 保护单元,保护单元 PU,Protection Unit 也称为:MPU,Memory Protection Unit 为了消除术语的二义性,我们统一使用术语PU 保护单元提供了一个相当简单的替代MMU的方法来管理存储器。 对于不需要PU的嵌入式系统而言,PU简化了硬件和软

13、件,主要表现在不使用转换表,这样免去了硬件遍历转换表和软件建立与维护转换表。,2008年6月21日,南京大学计算机系,24,保护单元的工作原理和作用,ARM核的PU使用区域(region)来管理系统保护。区域是一个存储空间相关联的一组属性,处理器核将这些属性保存在协处理器CP15的一些寄存器里,并用0-7的号码标识每一个区域(它也是一个具有特定属性的逻辑存储空间)。 区域的存储边界通过两个属性进行配置:起始地址和大小。 区域的大小可以是4KB4MB的任何2的乘幂。,2008年6月21日,南京大学计算机系,25,受保护区域的属性,操作系统可以为受保护区域分配更多的属性,包括: 访问权限、Cach

14、e和写缓存器策略 访问权限可以是:读/写、只读和不可访问 基于处理器模式的权限 管理模式、用户模式等 Cache写策略 写直达Cache操作、无Cache操作、无写缓存器操作。,2008年6月21日,南京大学计算机系,26,含PU的ARM处理器主存访问过程,当处理器访问主存的一个区域时,PU比较该区域的访问权限属性和当时的处理器模式。 如果请求符合区域访问标准,则PU允许内核读/写主存;如果存储器请求导致存储器访问违例,则PU产生一个异常信号。 异常信号被传到处理器核,处理器核判断是出异常是预取指令中止还是数据中止,然后跳转到对应的异常处理例程。,2008年6月21日,南京大学计算机系,27,

15、区域属性,有关区域的属性如下: 区域可以相互重叠 每一个区域有一个优先级,该优先级与分配给区域的权限无关 当区域重叠时,具有最高优先权的区域的属性可以覆盖其他区域的属性,优先权仅作用于重叠部分的地址。 区域的起始地址必须是其大小的倍数。 区域的大小是2的乘幂,2的12次方到32次方。,2008年6月21日,南京大学计算机系,28,访问受保护区域时产生的异常,访问所定义区域外的存储器将产生异常。 如果是内核预取指令,则PU产生一个预取指令中止异常。 如果是存储器数据请求,则PU产生数据中止异常。,2008年6月21日,南京大学计算机系,29,带PU的ARM核概要,以下给出了四种带PU的ARM核概

16、要属性,2008年6月21日,南京大学计算机系,30,在带PU的ARM系统中创建区域,要实现一个受PU控制主存的嵌入式系统,需要对主存中的不同块定义若干区域。 一个区域可以被创建一次,然后一直用到嵌入式系统运行结束; 也可以临时创建一个区域来满足一个特殊操作的需要,用完之后就加以删除。,2008年6月21日,南京大学计算机系,31,含有PU的ARM核,含有8个受保护区域的ARM核 ARM740T ARM946E-S ARM1026EJ-S 含有16个受保护区域的ARM核 ARM940T,2008年6月21日,南京大学计算机系,32,初始化PU、Cache和写缓冲器,为了初始化PU、Cache和写缓冲器,控制系统必须定义在操作目标平台时所需要的保护区域。,2008年6月21日,南京大学计算机系,33,带保护单元和MMU的系统框图,2008年6月21日,南京大学计算机系,34,4.6.7 ARM处理器的Cache,ARM处理器均带有Cache或者可以将片上存储器配置成Cache。当然,在不需要时也可以通过配置操作关闭Cache。 ARM处理器的Cache地址映射均采用组相联映射。,

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

当前位置:首页 > 大杂烩/其它

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