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

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

举报
开通vip

《嵌入式系统基础教程》第07讲_第4章ARM存储器组织和异常中断_习题3_51页null《嵌入式系统原理与开发》 《嵌入式系统原理与开发》 第7讲 南京大学计算机系 俞建新主讲2008年春季第4章ARM体系结构第4章ARM体系结构本章主要介绍以下内容: ARM体系结构版本 ARM处理器系列 ARM流水线 ARM工作模式和工作状态 ARM寄存器组织 ARM存储器组织 ARM的异常中断 AMBA和ARM7TDMI4.6 ARM存储器组织4.6 ARM存储器组织介绍以下内容: 数据类型和存储格式 ARM的存储体系 片上存储器的用法 协处理器CP15 存储器管理单元MMU 保护单元 快速上下...

《嵌入式系统基础教程》第07讲_第4章ARM存储器组织和异常中断_习题3_51页
null《嵌入式系统原理与开发》 《嵌入式系统原理与开发》 第7讲 南京大学计算机系 俞建新主讲2008年春季第4章ARM体系结构第4章ARM体系结构本章主要介绍以下内容: ARM体系结构版本 ARM处理器系列 ARM流水线 ARM工作模式和工作状态 ARM寄存器组织 ARM存储器组织 ARM的异常中断 AMBA和ARM7TDMI4.6 ARM存储器组织4.6 ARM存储器组织介绍以下内容: 数据类型和存储格式 ARM的存储体系 片上存储器的用法 协处理器CP15 存储器管理单元MMU 保护单元 快速上下文切换扩展 写缓存器(Write Buffer) ARM的异常中断向量表和异常中断处理与返回4.6.1 数据类型和存储格式4.6.1 数据类型和存储格式ARM存储器中的数据类型有6种 有符号数 8位(字节)、16位(半字)、32位(字) 无符号数 8位(字节)、16位(半字)、32位(字) 缺省端序设置为小端序4.6.2 ARM的存储体系4.6.2 ARM的存储体系参看下图,抽象成一个呈金字塔型的存储结构 注重研究第2层4.6.3 片上存储器的用法4.6.3 片上存储器的用法多数ARM处理器芯片内部集成了存储器 它们统称为片上存储器 用途有:片上Cache、片上SRAM、紧耦合存储器(TCM) 、写缓存 片上存储器的存储空间可以通过指令进行配置,定义成片上Cache,或者片上SRAM,或者一部分片上Cache加一部分片上SRAM。 紧耦合存储器和写缓存均需要编程使能或者硬件接线使能 按照具体应用情况决定片上存储器配置方法片上存储器用作紧耦合存储器片上存储器用作紧耦合存储器紧耦合存储器的英文原文如下: Tightly Coupled Memory,TCM 弥补Cache访问的不确定性而增加的片上存储器。 除了片上紧耦合存储器外,还有紧耦合存储器接口,它能够提供低延时的外存储器访问。 有的处理器含有分立的指令TCM和数据TCM。TCM包含在存储器地址映射空间中,可以作为快速存储器来访问。除了不得包含读敏感地址之外,对TCM接口上连接的存储器类型没有其他限制。TCM使用物理地址,对TCM的写访问受到MMU内部保护信息的控制。TCM在ARMv6处理器核的位置TCM在ARMv6处理器核的位置ARMv6处理器包括:ARM1136J-S、ARM1156T2片内的TCM存储器片内的TCM存储器ARM926EJ-S核心内置32KB指令缓存、16KB数字缓存和8KB数据-TCM(紧密耦合内存)和8KB指令-TCM(紧密耦合内存);Cortex-R4F方框图—含TCM接口Cortex-R4F方框图—含TCM接口注意图的右侧含有一个TCM仲裁和接口模块ARM1136的TCM支持DMA传输ARM1136的TCM支持DMA传输参看ARM1136的方框图ARM966E-S核的TCM地址映射ARM966E-S核的TCM地址映射ARM966E-S的TCM别名地址空间ARM966E-S的TCM别名地址空间物理存储块可以通过TCM接口映射在片内的TCM存储区ARM966E-S的TCM特点ARM966E-S的TCM特点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.ARM966E-S的TCM接口特点(续1)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.ARM966E-S的TCM特点接口(续2)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 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. AT91SAM9261处理器的TCMAT91SAM9261处理器的TCMAT91SAM9261的独立指令和数据缓存能支持WinCE 和 Linux操作系统。 而其基于TCM 构架的SRAM区块则是“确定过程式”实时操作系统的理想安排。 另一方面,160K字节的片上SRAM可划分成多个16K字节的区块,作为“指令TCM”、“数据TCM”或片上外设的缓冲,从而让编程人员灵活地优化系统的性能和功耗。TCM的使能操作TCM的使能操作通过二种方式进行TCM的使能操作 使用处理器芯片的INITRAM引脚 使用 CP15的c1控制寄存器S3C44B0X和S3C4510B的三种片上存储器的配置用法S3C44B0X和S3C4510B的三种片上存储器的配置用法S3C44B0X和S3C4510B都有8KB的片上存储器 它们有三种配置用法 8KB的SRAM 8KB的Cache 4KB的SRAM加上4KB的Cache 较多采用片内RAM配置而非片内Cache配置。4.6.4 协处理器CP154.6.4 协处理器CP15CP15即所谓的系统控制协处理器 System Control Coprocessor 在基于ARM的嵌入式系统中,诸如MMU、Cache配置、紧耦合处理器、写缓存配置之类的存储系统管理工作由协处理器CP15完成。 CP15可以包含16个32位寄存器 编号为CP0~CP15。 实际运用中写为C0~C15。CP15寄存器的访问CP15寄存器的访问用户只能够在特权模式下使用MRC和MCR指令来访问CP15寄存器。4.6.5 存储器管理单元MMU4.6.5 存储器管理单元MMUARM的MMU部件的用途: ◇完成虚拟存储空间到物理存储空间的映射。 ◇管理方式:页式虚拟存储器。 ◇页的大小有两种:粗粒度和细粒度。 ◇存储器访问权限的控制。 ◇设置虚拟存储空间的缓冲特性。4.6.6 保护单元4.6.6 保护单元保护单元 PU,Protection Unit 也称为:MPU,Memory Protection Unit 为了消除术语的二义性,我们统一使用术语PU 保护单元提供了一个相当简单的替代MMU的方法来管理存储器。 对于不需要PU的嵌入式系统而言,PU简化了硬件和软件,主要表现在不使用转换表,这样免去了硬件遍历转换表和软件建立与维护转换表。保护单元的工作原理和作用保护单元的工作原理和作用ARM核的PU使用区域(region)来管理系统保护。区域是一个存储空间相关联的一组属性,处理器核将这些属性保存在协处理器CP15的一些寄存器里,并用0-7的号码标识每一个区域(它也是一个具有特定属性的逻辑存储空间)。 区域的存储边界通过两个属性进行配置:起始地址和大小。 区域的大小可以是4KB~4MB的任何2的乘幂。受保护区域的属性受保护区域的属性操作系统可以为受保护区域分配更多的属性,包括: 访问权限、Cache和写缓存器策略 访问权限可以是:读/写、只读和不可访问 基于处理器模式的权限 管理模式、用户模式等 Cache写策略 写直达Cache操作、无Cache操作、无写缓存器操作。含PU的ARM处理器主存访问过程含PU的ARM处理器主存访问过程当处理器访问主存的一个区域时,PU比较该区域的访问权限属性和当时的处理器模式。 如果请求符合区域访问 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 ,则PU允许内核读/写主存;如果存储器请求导致存储器访问违例,则PU产生一个异常信号。 异常信号被传到处理器核,处理器核判断是出异常是预取指令中止还是数据中止,然后跳转到对应的异常处理例程。区域属性区域属性有关区域的属性如下: 区域可以相互重叠 每一个区域有一个优先级,该优先级与分配给区域的权限无关 当区域重叠时,具有最高优先权的区域的属性可以覆盖其他区域的属性,优先权仅作用于重叠部分的地址。 区域的起始地址必须是其大小的倍数。 区域的大小是2的乘幂,2的12次方到32次方。访问受保护区域时产生的异常访问受保护区域时产生的异常访问所定义区域外的存储器将产生异常。 如果是内核预取指令,则PU产生一个预取指令中止异常。 如果是存储器数据请求,则PU产生数据中止异常。带PU的ARM核概要带PU的ARM核概要以下给出了四种带PU的ARM核概要属性在带PU的ARM系统中创建区域在带PU的ARM系统中创建区域要实现一个受PU控制主存的嵌入式系统,需要对主存中的不同块定义若干区域。 一个区域可以被创建一次,然后一直用到嵌入式系统运行结束; 也可以临时创建一个区域来满足一个特殊操作的需要,用完之后就加以删除。含有PU的ARM核含有PU的ARM核含有8个受保护区域的ARM核 ARM740T ARM946E-S ARM1026EJ-S 含有16个受保护区域的ARM核 ARM940T 初始化PU、Cache和写缓冲器初始化PU、Cache和写缓冲器为了初始化PU、Cache和写缓冲器,控制系统必须定义在操作目标平台时所需要的保护区域。带保护单元和MMU的系统框图带保护单元和MMU的系统框图4.6.7 ARM处理器的Cache4.6.7 ARM处理器的CacheARM处理器均带有Cache或者可以将片上存储器配置成Cache。当然,在不需要时也可以通过配置操作关闭Cache。 ARM处理器的Cache地址映射均采用组相联映射。4.6.8 快速上下文切换扩展4.6.8 快速上下文切换扩展快速上下文切换扩展 FCSE , Fast Context Switch Extension FCSE是 ARM存储系统的修正机构。它修改系统中不同进程的虚拟地址,避免在进行进程间切换时造成的虚拟地址到物理地址的重映射,从而提高系统的性能。 为了理解ARM处理器的FCSE功能,我们首先考察当虚拟存储器中任务切换时,主存中页表和物理存储器的随动切换。ARM虚拟存储器 用户任务上下文切换示例-1ARM虚拟存储器 用户任务上下文切换示例-1任务1正在执行ARM虚拟存储器 用户任务上下文切换示例-2ARM虚拟存储器 用户任务上下文切换示例-2任务2正在执行ARM虚拟存储器 用户任务上下文切换示例-3ARM虚拟存储器 用户任务上下文切换示例-3任务3正在执行3个任务的多任务环境中 快速上下文切换扩展的举例:3个任务的多任务环境中 快速上下文切换扩展的举例:切换前任务1正在运行3个任务的多任务环境中 快速上下文切换扩展的举例:(续)3个任务的多任务环境中 快速上下文切换扩展的举例:(续)切换后任务2正在运行4.6.9 写缓存器(Write Buffer)4.6.9 写缓存器(Write Buffer)写缓存器是一个容量很小的片内的先进先出(FIFO)存储器,位于处理器核与主存之间。 写缓存器的主要用途是:当CPU输出数据时,总线恰好被占用而无法输出,此时,CPU可以把输出数据写入到写缓存器。当总线上没有比写缓存区优先级更高的掌控者时,写缓存区可以通过总线将数据写入内存。 CPU由于不需要等待写操作的完成而增强了性能。 写缓存区中的FIFO存储器在存储层次中与L1 Cache处于相同的层次。S3C44B0X处理器的写缓存区S3C44B0X处理器的写缓存区由4个写缓存寄存器构成。每一个写缓存寄存器包括一个32位数据字段,一个28位地址字段和一个2位状态字段。 可以通过指令对控制寄存器SYSCFG的WE位置1或者置0来使能或者禁能写缓存器。参看下图。4.7 ARM的异常中断4.7 ARM的异常中断ARM异常与中断不做严格意义上的区别 ARM的中断向量表内存放的是响应异常和中断的转移指令而不是中断向量地址。 在ARM处理器中,当异常发生时,完成当前指令后跳转到相应的异常中断处理程序入口执行异常中断处理。异常处理完毕后返回原来的程序断点继续执行原来的程序。异常中断分类异常中断分类ARM异常按照起因的不同分为3类: ①指令执行引起的直接异常 软件中断、未定义指令和预取指令中止属于这一类 ②指令执行引起的间接异常 数据中止(在读取和存储数据时的存储器故障)属于这一类。 ③外部产生的与指令流无关的异常 复位、IRQ和FIQ属于这一类。ARM中断向量表ARM中断向量表中断向量表中存放了各个异常中断以及处理程序的对应关系。 在ARM体系结构中,异常中断向量表的大小只有32个字节。其中,每个异常中断向量占4个字节。系统初始化时,中断向量表从0号存储单元开始存放。 ARM中断向量表(续)ARM中断向量表(续)ARM异常中断响应ARM异常中断响应当发生异常时,ARM处理器对异常中断的响应过程如下: ①将CPSR的内容保存到将要执行的异常中断模式的SPSR中。 例如:如果异常类型是FIQ,则SPSR_FIQ=CPSR ②设置当前程序状态寄存器CPSR中的模式字段位。 ③将异常发生时程序的下一条指令地址保存到新的异常模式的R14寄存器。 注意:异常发生时异常模式R14的定义是PC-4。ARM异常中断响应ARM异常中断响应④强制对程序计数器赋值。使程序从异常所对应的向量地址开始执行中断服务子程序。 ARM处理器对异常的响应过程可用伪代码描述如下: R14_=return link SPSR_=CPSR CPSR[4:0]=exception mode number CPSR[5]=0 /* 当运行于ARM状态时 */ if == Reset or FIQ then CPSR[6]=1 /* 禁止新的FIQ中断 */ CPSR[7]=1 /* 禁止新的IRQ中断 */ PC = exception vector address响应异常处理时的断点地址计算 响应异常处理时的断点地址计算 IRQ、FIQ和ABT异常中断处理程序的返回IRQ、FIQ和ABT异常中断处理程序的返回发生IRQ或者FIQ异常中断时,指令已经执行完毕,PC指向当前指令后面的第3条指令。因此IRQ或者FIQ的异常中断发生时,处理器将程序计数器的计算值(PC-4)保存到LR_IRQ或者LR_FIQ寄存器中。这时LR_IRQ或者LR_FIQ寄存器的值指向当前指令后的第2条指令。参看下面幻灯片的图解。IRQ、FIQ和ABT异常中断处理程序的返回(续1)IRQ、FIQ和ABT异常中断处理程序的返回(续1)在指令预取时如果目标地址是非法的,该指令将被标记成有问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 的指令,处理器产生指令预取ABT异常。此刻PC的值还没有更新,它指向当前指令后的第2条指令。指令预取ABT异常中断发生时,处理器将程序计数器的计算值(PC-4)保存到异常模式LR_ABT。这时LR_ABT寄存器的值指向当前指令后的第1条指令。IRQ、FIQ和ABT异常中断处理程序的返回(续2)IRQ、FIQ和ABT异常中断处理程序的返回(续2)当IRQ、FIQ和ABT异常中断处理程序退出时,前两种情况下应该执行断点的下一条指令,后一种情况下程序应该返回到有问题的指令处(即断点指令),重新读取并执行。无论上述三种情况的那一种,返回操作都应该通过SUBS PC, LR, #4指令实现。该指令将寄存器LR中的值复制到程序计数器PC中,实现程序返回,同时将SPSR_SVC或者SPSR_UND寄存器的内容复制到CPSR中。全部异常中断的四种返回方式图解 全部异常中断的四种返回方式图解 第7讲重点第7讲重点嵌入式处理器片上存储器的用法 ARM的协处理器CP15 ARM的存储管理单元(MMU) ARM的存储器保护单元 ARM处理器的Cache ARM的快速上下文切换 ARM中断向量表 ARM写缓存器 ARM异常中断响应处理与返回方式第7讲 复习题与思考题第7讲 复习题与思考题请给出几个采用哈佛结构分离型Cache的处理器具体案例(此题不限于嵌入式处理器) 怎样配置ARM处理器的片上存储器为好 试描述ARM的MMU分页功能和处理流程 ARM的存储器保护单元起什么作用? ARM的CP15协处理器起什么作用? ARM的逻辑Cache和物理Cache是怎么一回事? ARM处理器中的写缓存起什么作用? 请阐述ARM异常中断向量表的结构。 异常处理结束后,CPU是如何返回到主程序断点的?第3次习题布置第3次习题布置题1,片上存储器的用法有哪几种?分别用于什么场合为宜? 题2, ARM异常中断的返回有哪几种情况?对应的中断服务子程序分别要做哪些处理?第7讲结束第7讲结束谢谢大家的使用! 欢迎大家提出宝贵意见和建议!
本文档为【《嵌入式系统基础教程》第07讲_第4章ARM存储器组织和异常中断_习题3_51页】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_796355
暂无简介~
格式:ppt
大小:674KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2012-10-26
浏览量:19