当前位置:
文档之家› 《嵌入式系统基础教程》第07讲_第4章ARM存储器组织和异常中断_习题3 51页
《嵌入式系统基础教程》第07讲_第4章ARM存储器组织和异常中断_习题3 51页
南京大学计算机系 6
2008年6月21日
片上存储器用作紧耦合存储器
紧耦合存储器的英文原文如下: Tightly Coupled Memory,TCM 弥补Cache访问的不确定性而增加的片上存储器。 除了片上紧耦合存储器外,还有紧耦合存储器接 口,它能够提供低延时的外存储器访问。 有的处理器含有分立的指令TCM和数据TCM。 TCM包含在存储器地址映射空间中,可以作为快 速存储器来访问。除了不得包含读敏感地址之外, 对TCM接口上连接的存储器类型没有其他限制。 TCM使用物理地址,对TCM的写访问受到MMU 内部保护信息的控制。
《嵌入式系统原理与开发》
2008年春季
第7讲 南京大学计算机系 俞建新主讲
第4章ARM体系结构
本章主要介绍以下内容:
ARM体系结构版本 ARM处理器系列 ARM流水线 ARM工作模式和工作状态 ARM寄存器组织 ARM存储器组织 ARM的异常中断 AMBA和ARM7TDMI
紧耦 合存 储器 TCM 附加处理器
南京大学计算机系
Flash ROM
2008年6月21日
8
片内的TCM存储器
ARM926EJ-S核心内置32KB指令缓存、16KB 数字缓存和8KB数据-TCM(紧密耦合内存) 和8KB指令-TCM(紧密耦合内存);
2008年6月21日
南京大学计算机系
9
Cortex-R4F方框图—含TCM接口
南京大学计算机系 17
2008年6月21日
TCM的使能操作
通过二种方式进行TCM的使能操作
使用处理器芯片的INITRAM引脚 使用 CP15的c1控制寄存器
2008年6月21日
南京大学计算机系
18
S3C44B0X和S3C4510B的三种片 上存储器的配置用法
S3C44B0X和S3C4510B都有8KB的片上存储器 它们有三种配置用法 8KB的SRAM 8KB的Cache 4KB的SRAM加上4KB的Cache 较多采用片内RAM配置而非片内Cache配置。
2008年6月21日
南京大学计算机系
22
4.6.6 保护单元
保护单元
PU,Protection Unit 也称为:MPU,Memory Protection Unit 为了消除术语的二义性,我们统一使用术语PU 保护单元提供了一个相当简单的替代MMU的方法来 管理存储器。 对于不需要PU的嵌入式系统而言,PU简化了硬件和 软件,主要表现在不使用转换表,这样免去了硬件遍 历转换表和软件建立与维护转换表。
2008年6月21日 南京大学计算机系 16
AT91SAM9261处理器的TCM
AT91SAM9261的独立指令和数据缓存能支持 WinCE 和 Linux操作系统。 而其基于TCM 构架的SRAM区块则是“确定 过程式”实时操作系统的理想安排。 另一方面,160K字节的片上SRAM可划分成多 个16K字节的区块,作为“指令TCM”、“数 据TCM”或片上外设的缓冲,从而让编程人员 灵活地优化系统的性能和功耗。
2008年6月21日
南京大学计算机系
19
4.6.4 协处理器CP15
CP15即所谓的系统控制协处理器
System Control Coprocessor 在基于ARM的嵌入式系统中,诸如MMU、Cache配置、 紧耦合处理器、写缓存配置之类的存储系统管理工作由 协处理器CP15完成。 编号为CP0~CP15。 实际运用中写为C0~C15。
区域 指令区域和数据区 数目 域是否分离
8 16 否 是
注意图的右 侧含有一个 TCM仲裁 和接口模块
2008年6月21日
南京大学计算机系
10
ARM1136的TCM支持DMA传输
参看ARM1136的方框图
Interrupt Vector Port Prefetch Unit ARM11 Core VFP Coprocessor Interface LSU w/3-entry buffer
南京大学计算机系 7
2008年6月21日
TCM在ARMv6处理器核的位置
ARMv6处理器包括:ARM1136J-S、ARM1156T2
物理地址 虚拟 地址 地址变换
ARM 核 R15
CP15 配置 控制
L2 Cache DRAM L1 Cache SRAM
指令预取 Load R1 R0 Store
南京大学计算机系 27
2008年6月21日
访问受保护区域时产生的异常
访问所定义区域外的存储器将产生异常。 如果是内核预取指令,则PU产生一个预取指 令中止异常。 如果是存储器数据请求,则PU产生数据中止 异常。
2008年6月21日
南京大学计算机系
28
带PU的ARM核概要
以下给出了四种带PU的概要属性
2008年6月21日
南京大学计算机系
12
ARM966E-S的TCM别名地址空间
物理存储块可以 通过TCM接口映 射在片内的TCM 存储区
2008年6月21日
南京大学计算机系
13
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.
2008年6月21日
南京大学计算机系
23
保护单元的工作原理和作用
ARM核的PU使用区域(region)来管理系统保护。 区域是一个存储空间相关联的一组属性,处理器 核将这些属性保存在协处理器CP15的一些寄存器 里,并用0-7的号码标识每一个区域(它也是一个 具有特定属性的逻辑存储空间)。 区域的存储边界通过两个属性进行配置:起始地 址和大小。 区域的大小可以是4KB~4MB的任何2的乘幂。
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.
南京大学计算机系 3
4.6.1 数据类型和存储格式
ARM存储器中的数据类型有6种
有符号数
8位(字节)、16位(半字)、32位(字)
无符号数
8位(字节)、16位(半字)、32位(字)
缺省端序设置为小端序
2008年6月21日
南京大学计算机系
4
4.6.2 ARM的存储体系
参看下图,抽象成一个呈金字塔型的存储结构 注重研究第2层
CP15可以包含16个32位寄存器
2008年6月21日
南京大学计算机系
20
CP15寄存器的访问
用户只能够在特权模式下使用MRC和MCR指 令来访问CP15寄存器。
2008年6月21日
南京大学计算机系
21
4.6.5 存储器管理单元MMU
ARM的MMU部件的用途:
◇完成虚拟存储空间到物理存储空间的映射。 ◇管理方式:页式虚拟存储器。 ◇页的大小有两种:粗粒度和细粒度。 ◇存储器访问权限的控制。 ◇设置虚拟存储空间的缓冲特性。
南京大学计算机系 26
2008年6月21日
区域属性
有关区域的属性如下:
区域可以相互重叠 每一个区域有一个优先级,该优先级与分配给区域 的权限无关 当区域重叠时,具有最高优先权的区域的属性可以 覆盖其他区域的属性,优先权仅作用于重叠部分的 地址。 区域的起始地址必须是其大小的倍数。 区域的大小是2的乘幂,2的12次方到32次方。
寄存器 片内Cache,写缓存,TCM,片内SRAM 板卡级SRAM,DRAM和SDRAM NOR型和NAND型闪速存储器 硬盘驱动器、光盘驱动器 速 度 加 快 容 量 增 大
2008年6月21日
南京大学计算机系