《存储器组织》PPT课件

上传人:san****019 文档编号:21572702 上传时间:2021-05-04 格式:PPT 页数:28 大小:349.31KB
返回 下载 相关 举报
《存储器组织》PPT课件_第1页
第1页 / 共28页
《存储器组织》PPT课件_第2页
第2页 / 共28页
《存储器组织》PPT课件_第3页
第3页 / 共28页
点击查看更多>>
资源描述
2008年3月21日南京大学计算机系1 第4章ARM体系结构l本章主要介绍以下内容:l ARM体系结构版本l ARM处理器系列l ARM流水线l ARM工作模式和工作状态l ARM寄存器组织l ARM存储器组织l ARM的异常中断 l AMBA和ARM7TDMI 2008年3月21日南京大学计算机系2 4.6 ARM存储器组织l介绍以下内容:l数据类型和存储格式l ARM的存储体系l片上存储器的用法l协处理器CP15l存储器管理单元MMUl保护单元l快速上下文切换扩展 l写缓存器(Write Buffer)l ARM的异常中断向量表和异常中断处理与返回 2008年3月21日南京大学计算机系3 4.6.1 数据类型和存储格式l ARM存储器中的数据类型有6种l有符号数l 8位(字节)、16位(半字)、32位(字)l无符号数l 8位(字节)、16位(半字)、32位(字)l缺省端序设置为小端序 2008年3月21日南京大学计算机系4 4.6.2 ARM的存储体系l参看下图,抽象成一个呈金字塔型的存储结构l注重研究第2层 2008年3月21日南京大学计算机系5 4.6.3 片上存储器的用法l事实上许多ARM处理器芯片内部含有存储器,称作片上存储器。l片上存储器的存储空间可以通过指令进行配置,定义成片上Cache,或者片上SRAM,或者一部分片上Cache加一部分片上SRAM。l按照具体应用情况决定片上存储器配置方法 2008年3月21日南京大学计算机系6 片上存储器的用法l许多嵌入式处理器芯片内部含有存储器,称作片上存储器或者片内存储器。片上存储器的存储空间可以通过指令进行配置,定义成片上Cache,或者片上SRAM,或者一部分片上Cache加一部分片上SRAM。l例如S3C44B0X和S3C4510B有三种配置用法l较多采用片内RAM配置而非片内Cache配置。 2008年3月21日南京大学计算机系7 4.6.4 协处理器CP15l CP15即所谓的系统控制协处理器l System Control Coprocessorl在基于ARM的嵌入式系统中,诸如Cache配置、写缓存配置之类的存储系统管理工作由协处理器CP15完成。l CP15可以包含16个32位寄存器l编号为CP0CP15。l实际运用中写为C0C15。 2008年3月21日南京大学计算机系8 4.6.5 存储器管理单元MMUl ARM的MMU部件的用途:完成虚拟存储空间到物理存储空间的映射。管理方式:页式虚拟存储器。页的大小有两种:粗粒度和细粒度。存储器访问权限的控制。设置虚拟存储空间的缓冲特性。 2008年3月21日南京大学计算机系9 4.6.6 保护单元l保护单元l PU,Protection Unit。允许将ARM的4GB地址空间映射为8个区域。每一个区域都有可编程的起始地址及大小、可编程属性和Cache属性。 l对于不需要MMU的嵌入式系统而言,PU简化了硬件和软件。l主要表现在不使用转换表, 降低系统开销。 2008年3月21日南京大学计算机系10 带保护单元和MMU的系统框图 2008年3月21日南京大学计算机系11 4.6.7 ARM处理器的Cachel ARM处理器均带有Cache或者可以将片上存储器配置成Cache。当然,在不需要时也可以通过配置操作关闭Cache。l ARM处理器的Cache地址映射均采用组相联映射。 2008年3月21日南京大学计算机系12 4.6.8 快速上下文切换扩展l快速上下文切换扩展l FCSE , Fast Context Switch Extensionl FCSE是 ARM存储系统的修正机构。它修改系统中不同进程的虚拟地址,避免在进行进程间切换时造成的虚拟地址到物理地址的重映射,从而提高系统的性能。 2008年3月21日南京大学计算机系13 4.6.9 写缓存器(Write Buffer)l写缓存器是一个容量很小的片内的先进先出(FIFO)存储器,位于处理器核与主存之间。l写缓存器的主要用途是:当CPU输出数据时,总线恰好被占用而无法输出,此时,CPU可以把输出数据写入到写缓存器。 2008年3月21日南京大学计算机系14 S3C44B0X处理器的写缓存区l由4个写缓存寄存器构成。每一个写缓存寄存器包括一个32位数据字段,一个28位地址字段和一个2位状态字段。可以通过指令使能或者禁能写缓存器。参看下图。 2008年3月21日南京大学计算机系15 4.7 ARM的异常中断l ARM异常与中断不做严格意义上的区别l ARM的中断向量表内存放的是响应异常和中断的转移指令而不是中断向量地址。l在ARM处理器中,当异常发生时,完成当前指令后跳转到相应的异常中断处理程序入口执行异常中断处理。异常处理完毕后返回原来的程序断点继续执行原来的程序。 2008年3月21日南京大学计算机系16 异常中断分类l ARM异常按照起因的不同分为3类:指令执行引起的直接异常l软件中断、未定义指令和预取指令中止属于这一类指令执行引起的间接异常l数据中止(在读取和存储数据时的存储器故障)属于这一类。外部产生的与指令流无关的异常 l复位、IRQ和FIQ属于这一类。 2008年3月21日南京大学计算机系17 ARM中断向量表l中断向量表中存放了各个异常中断以及处理程序的对应关系。l在ARM体系结构中,异常中断向量表的大小只有32个字节。其中,每个异常中断向量占4个字节。系统初始化时,中断向量表从0号存储单元开始存放。 2008年3月21日南京大学计算机系18 ARM中断向量表(续)中断向量地址异常中断类型异常中断模式优先级(6级最低)0 x0复位管理模式,SVC 10 x4未定义指令未定义指令中止,UND 60 x8软件中断管理模式,SVC 60 xC指令预取中止中止模式,ABT 50 x10数据访问中止中止模式,ABT 20 x14保留未使用未使用0 x18外部中断请求,IRQ外部中断模式,IRQ 4 0 x1C快速中断请求,FIQ快速中断模式,FIQ 3 2008年3月21日南京大学计算机系19 ARM异常中断响应l当发生异常时,ARM处理器对异常中断的响应过程如下:将CPSR的内容保存到将要执行的异常中断模式的SPSR中。例如:如果异常类型是FIQ,则SPSR_FIQ=CPSR设置当前程序状态寄存器CPSR中的模式字段位。将异常发生时程序的下一条指令地址保存到新的异常模式的R14寄存器。注意:异常发生时异常模式R14的定义是PC-4。 2008年3月21日南京大学计算机系20 ARM异常中断响应强制对程序计数器赋值。使程序从异常所对应的向量地址开始执行中断服务子程序。ARM处理器对异常的响应过程可用伪代码描述如下:R14_=return linkSPSR_=CPSRCPSR4:0=exception mode numberCPSR5=0 /* 当运行于ARM状态时 */if = Reset or FIQ thenCPSR6=1 /* 禁止新的FIQ中断 */CPSR7=1 /* 禁止新的IRQ中断 */PC = exception vector address 2008年3月21日南京大学计算机系21 响应异常处理时的断点地址计算 中断向量号异常类型异常类型PC是否已被更新LR寄存器值返回地址返回时LR值传送返回到PC前调整复位SVC清零清零不返回未定义指令UND未更新X+4 X+4不需要软件中断SWI SVC未更新X+4 X+4不需要指令预取中止ABT未更新X+4 X LR-4数据访问中止ABT已经更新X+8 X LR-8 保留外部中断请求,IRQ已经更新X+8 X+4 LR-4快速中断请求,FIQ已经更新X+8 X+4 LR-4 2008年3月21日南京大学计算机系22 IRQ、FIQ和ABT异常中断处理程序的返回l发生IRQ或者FIQ异常中断时,指令已经执行完毕,PC指向当前指令后面的第3条指令。因此IRQ或者FIQ的异常中断发生时,处理器将程序计数器的计算值(PC-4)保存到LR_IRQ或者LR_FIQ寄存器中。这时LR_IRQ或者LR_FIQ寄存器的值指向当前指令后的第2条指令。参看下面幻灯片的图解。 2008年3月21日南京大学计算机系23 IRQ、FIQ和ABT异常中断处理程序的返回(续1)l在指令预取时如果目标地址是非法的,该指令将被标记成有问题的指令,处理器产生指令预取ABT异常。此刻PC的值还没有更新,它指向当前指令后的第2条指令。指令预取ABT异常中断发生时,处理器将程序计数器的计算值(PC-4)保存到异常模式LR_ABT。这时LR_ABT寄存器的值指向当前指令后的第1条指令。 2008年3月21日南京大学计算机系24 IRQ、FIQ和ABT异常中断处理程序的返回(续2)l当IRQ、FIQ和ABT异常中断处理程序退出时,前两种情况下应该执行断点的下一条指令,后一种情况下程序应该返回到有问题的指令处(即断点指令),重新读取并执行。无论上述三种情况的那一种,返回操作都应该通过SUBS PC, LR, #4指令实现。该指令将寄存器LR中的值复制到程序计数器PC中,实现程序返回,同时将SPSR_SVC或者SPSR_UND寄存器的内容复制到CPSR中。 2008年3月21日南京大学计算机系25 全部异常中断的四种返回方式图解 2008年3月21日南京大学计算机系26 第7讲重点l嵌入式处理器片上存储器的用法l ARM的协处理器CP15l ARM的存储管理单元(MMU)l ARM的存储器保护单元l ARM处理器的Cachel ARM的快速上下文切换l ARM中断向量表l ARM写缓存器 l ARM异常中断响应处理与返回方式 2008年3月21日南京大学计算机系27 第7讲 复习题与思考题l请给出几个采用哈佛结构分离型Cache的处理器具体案例(此题不限于嵌入式处理器)l怎样配置ARM处理器的片上存储器为好l试描述ARM的MMU分页功能和处理流程l ARM的存储器保护单元起什么作用?l ARM的CP15协处理器起什么作用?l ARM的逻辑Cache和物理Cache是怎么一回事?l ARM处理器中的写缓存起什么作用?l请阐述ARM异常中断向量表的结构。 l异常处理结束后,CPU是如何返回到主程序断点的? 2008年3月21日南京大学计算机系28 第3次习题布置l题1,片上存储器的用法有哪几种?分别用于什么场合为宜?l题2, ARM异常中断的返回有哪几种情况?对应的中断服务子程序分别要做哪些处理?
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!