[电脑基础知识]嵌入式系统基础教程_第07讲_第4章arm存储器组织和异常中断_第1页
[电脑基础知识]嵌入式系统基础教程_第07讲_第4章arm存储器组织和异常中断_第2页
[电脑基础知识]嵌入式系统基础教程_第07讲_第4章arm存储器组织和异常中断_第3页
[电脑基础知识]嵌入式系统基础教程_第07讲_第4章arm存储器组织和异常中断_第4页
[电脑基础知识]嵌入式系统基础教程_第07讲_第4章arm存储器组织和异常中断_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统原理与开发 第 7讲南京大学计算机系 俞建新主讲2008年春季2008年 6月 21日 1南京大学计算机系第 4章 ARM体系结构l 本章主要介绍以下内容:l ARM体系结构版本l ARM处理器系列l ARM流水线l ARM工作模式和工作状态l ARM寄存器组织l ARM存储器组织l ARM的异常中断l AMBA和 ARM7TDMI2008年 6月 21日 2南京大学计算机系4.6 ARM存储器组织l 介绍以下内容:l 数据类型和存储格式l ARM的存储体系l 片上存储器的用法 l 协处理器 CP15l 存储器管理单元 MMUl 保护单元l 快速上下文切换扩展l 写缓存器( Write Buffer)l ARM的异常中断向量表和异常中断处理与返回2008年 6月 21日 3南京大学计算机系4.6.1 数据类型和存储格式l ARM存储器中的数据类型有 6种l 有符号数l 8位(字节)、 16位(半字)、 32位(字)l 无符号数l 8位(字节)、 16位(半字)、 32位(字)l 缺省端序设置为小端序2008年 6月 21日 4南京大学计算机系4.6.2 ARM的存储体系l 参看下图,抽象成一个呈金字塔型的存储结构l 注重研究第 2层2008年 6月 21日 5南京大学计算机系4.6.3 片上存储器的用法l 多数 ARM处理器芯片内部集成了存储器l 它们统称为片上存储器l 用途有:片上 Cache、片上 SRAM、紧耦合存储器 ( TCM) 、写缓存l 片上存储器的存储空间可以通过指令进行配置,定义成片上 Cache,或者片上 SRAM,或者一部分片上 Cache加一部分片上 SRAM。l 紧耦合存储器和写缓存均需要编程使能或者硬件接线使能l 按照具体应用情况决定片上存储器配置方法2008年 6月 21日 6南京大学计算机系片上存储器用作紧耦合存储器l 紧耦合存储器的英文原文如下:l Tightly Coupled Memory, TCMl 弥补 Cache访问的不确定性而增加的片上存储器。l 除了片上紧耦合存储器外,还有紧耦合存储器接口,它能够提供低延时的外存储器访问。l 有的处理器含有分立的指令 TCM和数据 TCM。TCM包含在存储器地址映射空间中,可以作为快速存储器来访问。除了不得包含读敏感地址之外,对 TCM接口上连接的存储器类型没有其他限制。 TCM使用物理地址,对 TCM的写访问受到MMU内部保护信息的控制。2008年 6月 21日 7南京大学计算机系TCM在 ARMv6处理器核的位置l ARMv6处理器包括: ARM1136J-S、 ARM1156T22008年 6月 21日 8南京大学计算机系片内的 TCM存储器l ARM926EJ-S核心内置 32KB指令缓存、 16KB数字缓存和 8KB数据 -TCM(紧密耦合内存)和 8KB指令 -TCM(紧密耦合内存);2008年 6月 21日 9南京大学计算机系Cortex-R4F方框图 含 TCM接口l 注意图的右侧含有一个TCM仲裁和接口模块2008年 6月 21日 10南京大学计算机系ARM1136的 TCM支持 DMA传输l 参看 ARM1136的方框图2008年 6月 21日 11南京大学计算机系ARM966E-S核的 TCM地址映射2008年 6月 21日 12南京大学计算机系ARM966E-S的 TCM别名地址空间l 物理存储块可以通过 TCM接口映射在片内的 TCM存储区2008年 6月 21日 13南京大学计算机系ARM966E-S的 TCM特点l The ARM966E-S processor supports both instruction and data TCMs. You can use the DTCM 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日 14南京大学计算机系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 simple 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日 15南京大学计算机系ARM966E-S的 TCM特点接口(续 2)The ARM966E-S processor contains a TCM controller that: schedules requests to the TCM interface handshakes with the ARM966E-S memory system controller to acknowledgewhen 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日 16南京大学计算机系AT91SAM9261处理器的 TCMl AT91SAM9261的独立指令和数据缓存能支持WinCE 和 Linux操作系统。l 而其基于 TCM 构架的 SRAM区块则是 “确定过程式 ”实时操作系统的理想安排。l 另一方面, 160K字节的片上 SRAM可划分成多个 16K字节的区块,作为 “指令 TCM”、 “数据TCM”或片上外设的缓冲,从而让编程人员灵活地优化系统的性能和功耗。2008年 6月 21日 17南京大学计算机系TCM的使能操作l 通过二种方式进行 TCM的使能操作l 使用处理器芯片的 INITRAM引脚l 使用 CP15的 c1控制寄存器2008年 6月 21日 18南京大学计算机系S3C44B0X和 S3C4510B的三种片上存储器的配置用法l S3C44B0X和 S3C4510B都有 8KB的片上存储器l 它们有三种配置用法l 8KB的 SRAMl 8KB的 Cachel 4KB的 SRAM加上 4KB的 Cachel 较多采用片内 RAM配置而非片内 Cache配置。2008年 6月 21日 19南京大学计算机系4.6.4 协处理器 CP15l CP15即所谓的 系统控制协处理器l System Control Coprocessorl 在基于 ARM的嵌入式系统中,诸如 MMU、 Cache配置、紧耦合处理器、写缓存配置之类的存储系统管理工作由协处理器 CP15完成。l CP15可以包含 16个 32位寄存器l 编号为 CP0CP15。l 实际运用中写为 C0C15。2008年 6月 21日 20南京大学计算机系CP15寄存器的访问l 用户只能够在特权模式下使用 MRC和 MCR指令来访问 CP15寄存器。2008年 6月 21日 21南京大学计算机系4.6.5 存储器管理单元 MMUl ARM的 MMU部件的用途: 完成虚拟存储空间到物理存储空间的映射。 管理方式:页式虚拟存储器。 页的大小有两种:粗粒度和细粒度。 存储器访问权限的控制。 设置虚拟存储空间的缓冲特性。2008年 6月 21日 22南京大学计算机系4.6.6 保护单元l 保护单元l PU, Protection Unitl 也称为: MPU, Memory Protection Unitl 为了消除术语的二义性,我们统一使用术语 PUl 保护单元提供了一个相当简单的替代 MMU的方法来管理存储器。l 对于不需要 PU的嵌入式系统而言, PU简化了硬件和软件,主要表现在不使用转换表,这样免去了硬件遍历转换表和软件建立与维护转换表。2008年 6月 21日 23南京大学计算机系保护单元的工作原理和作用l ARM核的 PU使用区域( region)来管理系统保护。区域是一个存储空间相关联的一组属性,处理器核将这些属性保存在协处理器 CP15的一些寄存器里,并用 0-7的号码标识每一个区域(它也是一个具有特定属性的逻辑存储空间)。l 区域的存储边界通过两个属性进行配置:起始地址和大小。l 区域的大小可以是 4KB4MB的任何 2的乘幂。2008年 6月 21日 24南京大学计算机系受保护区域的属性l 操作系统可以为受保护区域分配更多的属性,包括:l 访问权限、 Cache和写缓存器策略l 访问权限可以是:读 /写、只读和不可访问l 基于处理器模式的权限l 管理模式、用户模式等l Cache写策略l 写直达 Cache操作、无 Cache操作、无写缓存器操作。2008年 6月 21日 25南京大学计算机系含 PU的 ARM处理器主存访问过程l 当处理器访问主存的一个区域时, PU比较该区域的访问权限属性和当时的处理器模式。l 如果请求符合区域访问标准,则 PU允许内核读 /写主存;如果存储器请求导致存储器访问违例,则 PU产生一个异常信号。l 异常信号被传到处理器核,处理器核判断是出异常是预取指令中止还是数据中止,然后跳转到对应的异常处理例程。2008年 6月 21日 26南京大学计算机系区域属性l 有关区域的属性如下:l 区域可以相互重叠l 每一个区域有一个优先级,该优先级与分配给区域的权限无关l 当区域重叠时,具有最高优先权的区域的属性可以覆盖其他区域的属性,优先权仅作用于重叠部分的地址。l 区域的起始地址必须是其大小的倍数。l 区域的大小是 2的乘幂, 2的 12次方到 32次方。2008年 6月 21日 27南京大学计算机系访问受保护区域时产生的异常l 访问所定义区域外的存储器将产生异常。l 如果是内核预取指令,则 PU产生一个预取指令中止异常。l 如果是存储器数据请求,则 PU产生数据中止异常。2008年 6月 21日 28南京大学计算机系带 PU的 ARM核概要l 以下给出了四种带 PU的 ARM核概要属性ARM核 区域数目指令区域和数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论