ARM存储器结构
第2章 ARM体系结构
• 控制位
–
程序状态寄存器PSR(Program Status Register)的最低8位I、F、T和 M[4:0]用作控制位。当异常出现时改变控制位。处理器在特权模式 下时也可由软件改变。
• 中断禁止位 I:置1,则禁止IRQ中断; F:置1,则禁止FIQ中断。 • T位 T=0 指示ARM执行; T=1 指示Thumb执行。 • 模式控制位 M4、M3、M2、Ml和M0(M[4:0])是模式位,决定处理器 的工作模式,如表2.3.1所列。
6 (最低)
6 5
数据中止
IRQ (外部中断请求) FIQ (快速中断请求)
中止(数据)
IRQ FIQ
中止模式
IRQ FIQ
0x0000,0010
0x0000,0018 0x0000,001C
2
4 3
2.4.2 异常类型的含义
(1)复位
• • 处理器的复位电平有效时,产生复位异常 当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常
2.4 ARM微处理器的异常处理
• 异常:在一个正常的程序流程执行过程中,由内 部或外部源产生的一个事件使正常的程序产生暂 时的停止,称之为异常。
2.4.1 ARM体系结构的异常类型
• ARM体系结构支持7种类型的异常
• 异常出现后,强制从异常类型对应的固定存储器地址开始 执行程序。这些固定的地址称为异常向量(Exception Vectors)。
M[4:0]模式控制位
M[4: 0] 10000 10001 10010 10011 10111
处理器工作 模式 用户模式 FIQ模式 IRQ模式 管理模式 中止模式
可访问的寄存器 PC,CPSR,R14~R0 PC,R7~R0,CPSR, SPSR_fiq,R14_fiq~ R8_fiq PC,R12~R0,CPSR, SPSR_irq,R14_irq, R13_irq PC,R12~R0, CPSR, SPSR_svc,R14_svc, R13_svc PC,R12~R0, CPSR, SPSR_abt,R14_abt, R13_abt
arm常用的名词解释
arm常用的名词解释ARM(Advanced RISC Machine)是一种常用的计算机架构,被广泛应用于移动设备、嵌入式系统和单片机等领域。
本文将对ARM常用的一些名词进行解释,以帮助读者更好地了解ARM架构。
1. RISC(Reduced Instruction Set Computer):精简指令集计算机。
相对于复杂指令集计算机(CISC),RISC采用简化指令集,每条指令都非常简单,执行速度快,并且易于设计和优化硬件。
2. 架构:计算机系统的基本设计和组织原则。
ARM架构设计了一套标准的指令集和寄存器组织,以及与之兼容的处理器核心,为ARM生态系统提供了一致的编程接口。
3. 处理器核心(Processor Core):ARM的核心部分,负责执行指令和进行算术逻辑运算。
常见的ARM处理器核心包括Cortex-A系列(用于应用处理器)、Cortex-M系列(用于嵌入式系统和微控制器)和Cortex-R系列(用于实时应用和嵌入式处理器)。
4. 指令集架构(Instruction Set Architecture):定义了一套计算机指令的规范和编码方式。
ARM指令集架构包括ARMv8-A、ARMv7-A、ARMv6-M等不同的版本,不同版本支持不同的指令集和功能。
5. 寄存器:位于处理器核心内部的高速存储器,用于存储指令执行过程中需要操作的数据。
ARM体系结构中,常见的寄存器包括通用寄存器、程序计数器、状态寄存器等。
6. 多核处理器(Multi-core Processor):使用多个处理器核心的处理器。
ARM 架构支持多核处理器的设计,使得多个核心可以同时进行计算任务,提高处理能力和并行性能。
7. SoC(System on a Chip):一种集成了多个功能组件的芯片,包括处理器核心、内存控制器、I/O接口等。
ARM架构广泛应用于SoC的设计,提供了高度集成的解决方案,节省了系统板块的空间和功耗。
单片机课件第二章 ARM体系结构
2.5
ARM微处理器指令系统
2.5.1 基本寻址方式
寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地 址的方式,ARM处理器有9 种基本寻址方式。
1.寄存器寻址
操作数的值在寄存器中,指令中的地址码字段给出的是寄存器编 号,指令执行时直接取出寄存器值操作。
例如指令: MOV R1,R2 SUB R0,R1,R2
11111
系统模式
PC,R14~R0,CPSR(ARM v4及以上版本)
并非所有的模式位组合都能定义一种有效的处理器模式。其他组合的 结果不可预知。
2.2 ARM微处理器的寄存器结构
2.2.4 Thumb状态的寄存器集
2.2 ARM微处理器的寄存器结构
2.2.4 Thumb状态的寄存器集
Thumb 状态的寄存器在ARM 状态的寄存器上的映射
在Thumb状态下,程序计数器PC(Program Counter)使用位[1]选 择另一个半字。ARM处理器在两种工作状态之间可以切换。
Thumb状态:当操作数PSR控制位T为1时,执行BX指令进入Thumb 状态。如果处理器在Thumb状态进入异常,则当异常处理(IRQ、 FIQ、Undef、Abort和SWI)返回时,自动转换到Thumb状态。(异 常都是在ARM 状态中执行) ARM状态:当操作数PSR控制位T为0时,执行BX指令进入ARM状态 ;处理器发生异常(IRQ、FIQ、Reset、Undef、Abort和SWI)。在 此情况下,把PC内容复制到异常模式的链接寄存器中,并且异常处 理将从异常向量地址开始。
sys(系统模式):运行具有特权的操作系统任务。
und(未定义指令中止模式):当未定义的指令执行时进入该 模式,可用于支持硬件协处理器的软件仿真。
ARM体系架构解析ppt课件
2)提供了较大的存储器带宽,各自有自己的
总线。
3)适合于数字信号处理.
4)大多数DSP都是哈佛结构.
5)ARM9是哈佛结构
6)取指和取数在同一周期进行,提高速度,
改进哈佛体系结构分成三个存储区:程序、数据、
程序和数据共用。
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
6)将结果回写到寄存器组(res)
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
流水线技术
❖
三级流水线技术
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
因此,把它称为流水线工作方式。
处理器按照一系列步骤来执行每一条指令。典
型的步骤为:
1)从存储器读取指令(fetch)
2)译码以鉴别它是哪一类指令(dec)
3)从寄存器组取得所需的操作数(reg)
4)将操作数进行组合以得到结果或存储器地址(exe)
5)如果需要,则访问存储器存取数据(mem)
冯·诺依曼体系的特点
1)数据与指令都存储在同一存储区中,取指
令与取数据利用同一数据总线。
❖ 2)被早期大多数计算机所采用
❖ 3)ARM7——冯诺依曼体系
❖
结构简单,但速度较慢。取指不能同时取数据
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
ARM体系结构详解精
ARM嵌入式系统第2章ARM体系结构ARM微处理器的编程模型♦ARM徴处理器的工作状态♦ARM体系结构的存储器格式♦ARM体系结构的指令长度及数据宽度♦ARM微处理器的处理器模式♦ARM体系结构的寄存器组织♦ARM微处理器的异常状态字、半字、字节字(Word)在ARM体系结构中,字的长度为32位半字(Half-Word)在ARM体系结构中,半字的长度为16位字节(Byg)在ARM体系结构中,字节的长度为8位。
ARM微处理器的工作状态(1)字对齐:四字节对齐半字对齐:两字节对齐两种状态:♦ARM状态:处理器执行32位的字对齐的令♦Thumb状态:处理器执行16位的、半字对齐的Thumb指令处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。
I ARM微处理器的工作状态(2 )状态切换:BX {<cond>} <Rm><cond>指令的条件码。
忽略时无条件执行。
<Rm>子存器中为跳转的目标地址,当<Rm><存器的bit[O]为0时, 目标地址处的指令为ARM指令;当<Rm>^存器的bit[O]为1时,目标地址处的指令为Thumb 指令。
伪代码:if ConditionPassed(cond) thenT Flag=Rm[O]PC=Rm AND OxFFFFFFFEARM微处理器在复位或上电时处于ARM状态,发生异常时处于ARM状态。
右ARM体系结构的存储器格式(1)ARM体系结构所支持的最大寻址空间为4GB (2^字节)♦大端格式(Big Endian)字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。
♦小端格式(Little Endian)低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。
字地址字地址右ARM 体系结构的存储器格式(2)(0H)=0123H (4H)=4567H (8H)=89ABHBig Endian(0H)=3210H (4H)=7654H (8H)=BA98HLittle Endian右ARM 体系结构的存储器格式(3)8 9 AB4 5 6 7 0123一 “A ・■ • rO= 0x11223344 I 11 I 22 33 : 44 ILittle endian Big endianR2 =异FI*右 ARM 体系结构的指令长度及数据宽度♦指令长度:32位(在ARM 状态下) 16位(在Thumb 状态下)♦数据宽度: 字节(8位) 半字(16位) 字(32位)三种数据宽度对存储器及外部设备的访问。
ARM 的存储器格式
ARM体系结构将存储器看作是从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字数据,从第四个字节到第七个字节放置第二个存储的字数据,依次排列。作为32位的微处理器,ARM体系结构所支持的最大寻址空间为4GB(2 32 字节)。
ARM体系结构可以用两种方法存储字数据,称之为大端格式和小端格式,具体说明如下:
大端格式:
在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。
小端Байду номын сангаас式:
与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。
ARM 嵌入式 存储器控制
7.6 外部存储器控制器(EMC)
相关寄存器
存储器组配臵寄存器0~3(BCFG0~3):
位
功能
23:16
保留
15:11
WST2
10
RBLE
9:5
WST1
4
保留
3:0
IDCY
外部存储器读访问波形(WST1=0):
XCLK CS OE WE/BLS Addr Data
变化数据
有效地址
WST1=0 1个等待周期
Flash 存储器组0
ARM局部总线
Flash 存储器组1
预取指缓存 分支跟踪缓存
2×128位
总线 接口
预取指缓存 分支跟踪缓存
2×128位
数据缓存区 选择
MAM结构
Flash中除了存储指令之外,还 可用来存储不修改或者很少修 改的数据,所以在MAM模块中 设计有数据缓冲区。数据缓存 区可以提高顺序读取数据的操 作速度。但是对随机读取操作 几乎没有加速效果。 Flash编程由另一个独立的模块 完成,Flash在进行编程操作时 禁止访问。在编程操作结束后, 缓存区的数据将自动失效,可 以避免读取到无效的数据。
D[7:0]
1.地址总线上出现地址; 2.数据总线上出现数据 0x??AA,高8位无效; 3.控制线nBLS0、nCS0和 nWE拉低,将低8位数据写 入芯片。
D[15:8]
nBLS0 nBLS1 nCS0 nWE
D[15:8]
nLB nUB nCE nWE
LPC2200
外部 SRAM
7.6 外部存储器控制器(EMC)
总线
外部存储器或 外部I/O器件 外部存储器或 外部I/O器件 外部存储器或 外部I/O器件 外部存储器或 外部I/O器件
ARM体系结构
ARM9TDMI处理器一个显著的特点是采用 指令和数据分离访问的方式,即采用了指令 缓存(I-Cache)和数据缓存(D-Cache)。 这样可以把指令访问和数据访问单独安排1级 流水线。
2015/9/28
9
ARM9处理能力的提高是通过增加时钟频率和减少指令执行周期实 现的。 (1)时钟频率的提高 ARM9采用了五级流水线,而ARM7采用的是三级流水线,ARM9增 加的流水线设计提高了时钟频率和并行处理能力。五级流水线能够将各 条指令处理分配到5个时钟周期内,在每个时钟周期内同时有5条指令在 执行。在同样的加工工艺下,ARM9 TDMI处理器的时钟频率是ARM7 TDMI的2倍左右。 (2)指令周期的改进 指令周期的改进有助于处理器性能的提高。性能提高的幅度依赖于 代码执行时指令的重叠。 ① load指令和store指令 指令周期数改进最明显的是load指令和store指令。 ② 互锁(interlock)技术 当指令需要的数据因为以前的指令没有执行完,将产生管道互锁。管
操作系统的保护模式 指令或数据预取操作中止时的模 式,该模式下实现虚拟存储器或 存储器保护 当执行未定义的指令时进入该模 式 响应普通中断时的处理模式
未定义模式 IRQ模式
Und Irq
FIQ模式
Fiq
响应快速中断时的处理模式
2015/9/28
21
处理器工作模式
ARM微处理器的运行模式可以通过软件改变,也可以通 过外部中断或异常处理改变。 大多数的应用程序运行在用户模式下,当处理器运行在 用户模式下时,某些被保护的系统资源是不能被访问的。 除用户模式以外,其余的6种模式称为非用户模式或特 权模式; 除去用户模式和系统模式以外的5种又称为异常模式, 常用于处理中断或异常,以及访问受保护的系统资源等情 况。
ARM体系架构
该例中用6个时钟周期执行了6条指令 所有的操作都在寄存器中(单周期执行) 指令周期数 (CPI) = 1
高速缓存(CACHE)
1、为什么采用高速缓存 微处理器的时钟频率比内存速度提高快得多,高速缓存可以提 高内存的平均性能。
2、高速缓存的工作原理 高速缓存是一种小型、快速的存储器,它保存部分主存内容的
拷贝。
高 数据
速
CACHE
CPU
缓 存
主存
控
制
地址
器
数据
总线和总线桥
CPU
高速总线
低速设备
低速总线
软硬功能分配 复杂指令增加硬件的复杂度,使指令执行周期大大加长 ,直接访存次数增多,数据重复利用率低。
不利于先进指令级并行技术的采用 流水线技术
RISC基本设计思想
精简指令集:保留最基本的,去掉复杂、使用频度不高的指令 (选取运算指令、加载、存储指令和转移指令作主指令集) ,以减小CPI: CPUtime=Instr_Count * CPI * Clock_cycle
CISC的主要缺点
指令使用频度不均衡。 高频度使用的指令占据了绝大部分的执行时间,扩充的 复杂指令往往是低频度指令。
大量复杂指令的控制逻辑不规整,不适于VLSI工艺 VLSI的出现,使单芯片处理机希望采用规整的硬联逻辑 实现,而不希望用微程序,因为微程序的使用反而制约 了速度提高。(微码的存控速度比CPU慢5-10倍)。
IC—程序中指令数,CPI—每条指令执行所有周期数
ARM9体系结构
• ARM状态 , 处理执行32位的ARM指令 字对 齐
• Thumb状态,处理执行16位的Thumb指令 半 字对齐
如果在1K的存储空间中,可以放32条ARM指令 ,就可以放64条Thumb指令,因此在存放 Thunb指令时,代码密度高
处理器 状态切换
▪将CPSR寄存器内容存入IRQ模式
的SPSR寄存器
程
序
▪置位I位(禁止IRQ中断)
▪清零T位(进入ARM状态)
▪设置MOD位,切换处理器模式至IRQ 模式
▪将下一条指令的地址存入IRQ模式 的LR寄存器
寄 存 器
组
▪将跳转地址存入PC,实现跳转
图示进入异常过程
系统(用户)模式
简单的单周期指令,
软件完成 简 单 的 寻 址 模 式 , 仅 允 许 LOAD 和 STORE指令存取内存,其它所有的操 作都基于寄存器到寄存器
寄存器数目 寄存器较少
寄存器较多
CISC VS RISC
ARM9TDMI
• Harvard架构
– 增加了可用的存储器宽度
指令存储器接口 数据存储器接口
与User模式的运行环境一样 但是它可以不受任何限制的访问任何资源 该模式主要用于运行系统中的一些特权任务
FIQ模式 IRQ模式 Supervisor模式 Abort模式 Undefined模式
异常模式:主要是在外部中断 或者程序执行非法操作时会触
发
ARM微处理器:寄存器
• ARM处理器有37个寄存器
哈佛结构
分开存储、独立编址、两倍带宽 、执行效率更高
指令集系统
嵌入式微处理器的指令系统可采用精简指令集系统RISC(Reduced Instruction Set Computer)或复杂指令集系统CISC(Complex Instruction Set Computer)
第三节ARM体系结构
一般的通用寄存器
寄存器类别 寄存器在汇编中的名称
用户
系统
R0(a1)
R1(a2)
R2(a3)其中R0~R7为
R3(a4)
未R分4(v1) 组的寄存器,也
通用寄存器 和程序计数
器
就R是5(v2) 说对于任何处理 R6(v3)
器R模7(v4) 式,这些寄存器 都对应于相同的32位 R8(v5)
管理 (svc) 操作系下统保访护问代码用户模系统式复位的和寄软件存中器断响就应比时进较入方此模式
中止 (abt) 未定义 (und)
用或于存支储便 可持器虚 保,以拟护而使内存且用和操这/ 作个在A系模RM统式7TD的访MI一问没有些一大用特 些处权 受任 控务 的 支软持件硬仿资件真协源处。理器的 未定义指令异常响应时进入此模式
各模式下实际访问的寄存器
用户
系统
管理
中止
未定义
RR00
在汇编语言中寄存
R1
器R0~R13为保存数据
R2
或地址值的通用寄存器。
R3
它们是完全通用的寄存器, R4
不会被体系结构作为特殊
R5
用途,并且可用于任何使
R6
用通用寄存器的指令。
R7
R8
R9
R10
R11
R12
R13
RR1133__ssvc
R13_abt
SSPPSSRR__fifqiq
ARM状态各模式下可以访问的寄存器
寄存器类别 寄存器在汇编中的名称
通用寄存器和 程序计数器
状态寄存器
R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13(SP) R14(LR) R15(PC) CPSR SPSR
ARM7-寄存器总结
VIC 通道号 0 1 2 3
4
5
6
7
8 9 10 11 12 13 14 15 16 17 18 19~31
软件中断清零寄存器(VICSoftIntClear):
位
[31:0]
功能
当某位为 1 时,将清零 VICSoftInt 寄存器中对应位
保护使能寄存器(VICProtection):
11 保留 EINT0 保留 EINT1 保留 保留 保留 EINT2 保留 EINT3 保留 保留 保留 保留 保留 保留
外部存储器寄存器(PINSEL1):
端口高级功能设置
复位值 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
PINSEL1 1:0 3:2 5:4 7:6 9:8 11:10
通用输入输出口
GPIO 引脚值寄存器(IOxPIN):
IOxPIN
描述
31 : 0
GPIO 引脚值。IOxPIN[0]对应于 Px.0 … IOxPIN[31]对应于 Px.31 引脚
该寄存器反映了当前引脚的状态。
复位值 未定义
GPIO 方向控制寄存器(IOxDIR):
IOxDIR
描述
复位值
31 : 0
ARM7 寄存器
外部存储器寄存器(PINSEL0):
PINSEL0 1:0 3:2 5:4 7:6 9:8 11:10 13:12 15:14 17:16 19:18 21:20 23:22 25:24 27:26 29:28 31:30
引脚名称 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P0.8 P0.9 P0.10 P0.11 P0.12 P0.13 P0.14 P0.15
ARMv8内存管理架构.学习笔记
ARMv8内存管理架构.学习笔记⽬录第1章分级存储架构. 21.1基础认识 (2)1.1.1从数据通路描述. 21.1.2从数据交换单位描述. 21.1.3 Cache数据⼀致性拓扑结构. 31.2 系统层内存模型 (3)1.2.1内存属性. 31.2.2地址空间. 41.2.3字节编码⽀持. 4第2章虚拟内存系统架构(VMSA) 52.1 VMSAv8-64. 52.1.1地址转换系统. 52.1.2 内存转换粒度. 62.1.3 Address Translation Stage 82.1.4 描述符格式(descriptor format) 92.1.5 描述符内存属性. 112.2 VMSAv8-32. 112.2.1地址转换系统. 112.2.2转换表⽀持. 122.2.3描述符格式. 122.2.4 描述符内存属性. 132.3 TTW(地址转换流程). 142.3.1 VMSAv8-64 142.3.2 VMSAv8-32 16第3章 MMU Fault 193.1故障类型 (19)3.2 Kernel如何处理读取空指针? (19)3.2.1 ARM发⽣了什么?. 193.2.1 Kernel如何处理?. 20第4章 Vmalloc 224.1简介 (22)4.2基本流程 (22)4.3 代码实现分析 (23)第5章 Linux虚拟内存布局. 275.1 User内存布局 (27)5.1.1 Mem mapping内存分配⽅式(64位) 285.2 Kernel内存布局 (29)5.2.1 ARM64内核内存布局. 295.3 各内存域和物理内存映射关系 (31)第1章分级存储架构1.1基础认识通常为了保证计算机的整体性能,内存和CPU之间的通信需保证很⾼的传输速率,然⽽这受限制于内存的⼤⼩和昂贵的硬件实现,传输速率和内存容量⼤⼩的关系遵循“Smaller is faster”原则,使⽤更⼤容量的内存势必会增加传输延迟降低性能。
ARM_Cortex-M3内核结构
ARM CortexM3 内核结构2.1ARM CortexM3 处理器简介2、1、1 概述ARM公司成立于上个世纪九十年代初,致力于处理器内核研究,ARM 即 Advanced RISC Machines 得缩写,ARM公司本身不生产芯片,只设计内核,靠转让设计许可,由合作伙伴公司来生产各具特色得芯片。
这种运行模式运营得成果受到全球半导公司以及用户得青睐。
目前ARM体系结构得处理器内核有:ARM7TDMI、ARM9TDMI、ARM10TDMI、ARM11以及Cortex等。
2005年ARM推出得ARM Cortex系列内核,分别为:A系列、R系列与M系列,其中A系列就是针对可以运行复杂操作系统(Linux、Windows CE、Symbian 等)得处理器;R系列就是主要针对处理实时性要求较高得处理器(汽车电子、网络、影像系统);M系列又叫微控制器,对开发费用敏感,对性能要求较高得场合。
CortexM系列目前得产品有M0、M1、M3,其中M1用在FPGA中。
CortexM系列对微控制器与低成本应用提供优化,具有低成本、低功耗与高性能得特点,能够满足微控制器设计师进行创新设计得需求。
其中,ARM CortexM3处理器得性能就是ARM7得两倍,而功耗却只有ARM7得1/3,适用于众多高性能、极其低成本需求得嵌入式应用,如微控制器、汽车系统、大型家用电器、网络装置等,ARM CortexM3提供了32位微控制器市场前所未有得优势。
CortexM3内核,内部得数据路径为32位,寄存器为32位,存储器接口也就是32位。
CortexM3采用了哈佛结构,拥有独立得指令总线与数据总线,可以让取指与数据访问分开进行。
CortexM3还提供一个可选得MPU,对存储器进行保护,而且在需要得情况下也可以使用外部得cache。
另外在CortexM3中, 存储器支持小端模式与大端存储格式。
CortexM3内部还附赠了很多调试组件,用于在硬件水平上支持调试操作,如指令断点,数据观察点等。
ARM体系结构
ARM体系结构
ARM作为一种微处理器体系结构,具有广泛应用范围、高性价比、低功耗等优势,在晶体管规模以及架构方面有着很大的节省,因而受到了越来越多应用者的青睐。
ARM体系结构包括处理器(Processor)、片外存储器(External Memory)、I/O接口(Input/Output Interface)、外围器件(Peripheral Devices)、软件支持(Software Support)等内容。
从处理器来说,ARM体系结构提供了一系列非常细分的机型,它们有不同的特性和操作速度,可以满足不同的性能需求,而且这些机型一般都有较高的可缩放性,所以在产品设计的过程中可以根据实际要求选择合适的特性和速度。
从片外存储器来说,ARM体系结构支持使用不同类型的存储器,比如SRAM、DRAM、Flash等,可以根据应用性能和耗电量的需求,来选择合适的存储器以满足不同应用场景的需求,而且存储器容量也比较可观,一般可以满足大部分应用场景的要求。
从I/O接口来说,ARM体系结构支持多种接口,如USB、I2C、SPI、UART等,通过这些接口可以与周边的外设进行连接,而这些接口的功耗和速度也比较低。
ARM体系结构及常用接口简介解析
•
进入ARM状态:
执行BX指令,并设置操作数寄存器的状态(位[0]) 为0。 – 进入异常时,将PC放入异常模式链接寄存器中,从异 常向量地址开始执行也可进入ARM状态
–
ARM微处理器:处理器工作状态
• Thumb-2 :增加了混合模式能力 – 定义了一个新的32-bit指令集能在传统的 16-bit指令运行的Thumb状态下同时运行。 – 这样能在一个系统中更好地平衡ARM和 Thumb代码的能力,使系统能更好地利 用ARM级别的性能和Thumb代码的密度 的优势
ARM异常处理
异常向量表(Exception Vectors)
地 址 0x0000,0000 0x0000,0004 0x0000,0008 0x0000,000C 0x0000,0010 0x0000,0014 0x0000,0018 0x0000,001C 复位 未定义指令 软件中断 中止(预取指令) 中止(数据) 保留 IRQ FIQ 异 常 进入模式 管理模式 未定义模式 管理模式 中止模式 中止模式 保留 IRQ FIQ
13
ARM920T系统结构分析
ARM7TDMI
Instruction Fetch ThumbARM decompress ARM decode Reg Select
Reg Read
Shift
ALU
Reg
Write
FETCH
DECODE
EXECUTE
ARM9TDMI
Instruction Fetch ARM or Thumb Inst Decode Reg Reg Decode Read Shift + ALU Memory Access Reg Write
3
简述arm微处理器的存储器组织方式 -回复
简述arm微处理器的存储器组织方式-回复ARM微处理器的存储器组织方式【引言】随着计算机技术的迅猛发展,微处理器成为现代计算机的核心部件之一。
而ARM(Advanced RISC Machine)微处理器则是一种广泛应用于各种移动设备和嵌入式系统的微处理器架构。
存储器是微处理器中至关重要的组成部分,它承担着存储和取回程序和数据的任务。
在本文中,我们将简要介绍ARM微处理器的存储器组织方式。
【1. 存储器类型】ARM微处理器采用的存储器组织方式分为多个级别,每个级别都有其特定的功能和特点。
ARM微处理器主要包括下列几种存储器类型:- 寄存器:寄存器是位于CPU内部的高速存储器,用于存储和操作数据。
ARM微处理器通常拥有多个通用寄存器,特定目的寄存器和状态寄存器,用于不同的数据操作和系统控制。
- 高速缓存:高速缓存是位于CPU核心和主存之间的中间存储器,用于加速主存的数据读取和写入。
ARM微处理器通常包括多级高速缓存,如一级指令缓存和数据缓存、二级缓存等,其容量和速度逐级递减。
- 主存储器:主存储器是微处理器中最大容量的存储器,用于存储程序和数据。
ARM微处理器支持多种主存类型,如静态RAM(SRAM)、动态RAM(DRAM)等,其容量可以从几兆字节到几个千兆字节不等。
【2. 存储器层次结构】ARM微处理器的存储器组织方式采用存储器层次结构,以便提高存储器的访问效率和性能。
存储器层次结构由多级存储器组成,每级存储器的容量和速度都不同,分别用于存储不同级别的数据。
ARM微处理器的存储器层次结构通常包括以下几个层次:- 第一级缓存(L1 Cache):一级缓存是位于CPU核心和主存之间的最接近CPU的高速缓存。
它通常分为一级指令缓存(L1 I-Cache)和一级数据缓存(L1 D-Cache),分别用于存储指令和数据。
一级缓存的容量较小,但速度非常快,可以迅速地响应CPU的读写请求。
- 第二级缓存(L2 Cache):二级缓存是位于一级缓存和主存之间的中间缓存,其容量比一级缓存大,速度相对较慢。
arm内核全解析_arm内核体系结构分类介绍
arm内核全解析_arm内核体系结构分类介绍ARM处理器是英国Acor n有限公司设计的低功耗成本的第一款RISC微处理器。
全称为Ad vanced RISC Machine。
ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。
ARM内核特点ARM处理器为RISC芯片,其简单的结构使ARM内核非常小,这使得器件的功耗也非常低。
它具有经典RISC的特点:* 大的、统一的寄存器文件;* 简单的寻址模式;* 统一和固定长度的指令域,3地址指令格式,简化了指令的译码。
编译开销大,尽可能优化,采用三地址指令格式、较多寄存器和对称的指令格式便于生成优化代码;* 单周期操作,ARM指令系统中的指令只需要执行简单的和基本的操作,因此其执行过程在一个机器周期内完成;* 固定的32位长度指令,指令格式固定为32位长度,这样使指令译码结构简单,效率提高;* 采用指令流水线技术。
ARM内核体系结构ARM架构自诞生至今,已经发生了很大的演变,至今已定义了7种不同的版本:V1版架构:该架构只在原型机ARM1出现过,其基本性能包括基本的数据处理指令(无乘法)、字节、半字和字的Load/Store指令、转移指令,包括子程序调用及链接指令、软件中断指令、寻址空间64MB。
V2版架构:该版架构对V1版进行了扩展,如ARM2与ARM3(V2a版)架构,增加的功能包括乘法和乘加指令、支持协处理器操作指令、快速中断模式、SWP/SWPB的最基本存储器与寄存器交换指令、寻址空间64MB。
V3版架构:该版对ARM体系结构作了较大的改动,把寻址空间增至32位(4G B),增加了当前程序状态寄存器CPSR和程序状态保存寄存器 SPSR以便于异常处理。
增加了中止和未定义2种处理器模式。
ARM6就采用该版结构。
指令集变化包括增加了M RS/MSR指令,以访问新增的CPSR /SPSR寄存器、增加了从异常处理返回的指令功能。
5ARM体系结构
配备MMU和 最快 最高 Cache
合理
媒体播放器,产品举 例:MP3,机顶盒, iPOD,智能手机,
PAD
去除MMU, 较快 合理 备有Cache
较低
数字信号处理,产品 举例:汽车ABS系统, 路由器,交换机,航 电系统
没有存储子 系统,即不 含MMU。
5
体系结构版本V3
这个体系结构版本将寻址范围扩展到了32位。 当前程序状态信息由过去存于R15中移到一个 新的当前程序状态寄存器CPSR(Current Program Status Register)中。增加了程序状态 保存寄存器SPSR(Saved Program Status Registers),以便当异常出现时保留CPSR的 内容。增加了2个指令(MRS和MSR),允许 访问新的CPSR和SPSR寄存器。
ARM状态,运行32位的ARM指令集 Thumb状态,运行16位的Thumb指令集 在任何一种工作状态可以通过转移指令切换到另一种
工作状态。 ARM和Thumb之间的状态切换不影响处理器工作模式
和寄存器中的内容。 加电起动时处理器工作在ARM状态。
2024/2/22
12
指令集压缩
对于传统的微处理器体系结构,指令和数据具有同样 的宽度。 与16位体系结构相比,32位体系结构在操纵32位数 据时呈显了更高的性能,并可更有效地寻址更大的 空间。 一般来讲,16位体系结构比32位体系结构具有更高 的代码密度,但只有近似一半的性能。
提高了T变量中ARM/Thumb之间切换的效率; 让非T变量同T变量一样,使用相同的代码生成技 术。增加了一个前导零计数(count leading zeros) 指令,该指令允许更有效的整数除法和中断优先 程序;增加了软件断点指令;为协处理器设计者 增加了更多可选择指令;对由乘法指令如何设置 标志进行了定义。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
b) 减少命中时间
Cache命中时间会影响到处理器的时钟频率。 在许多处理器设计中,往往是Cache的访问时间 限制了处理器的时钟频率。因此,减少Cache命 中时间,不但可提高Cache性能,还能提高系统 运行速度。
31 virtual address
6 5 4 3 2 1 0
user /super visor enable
31
20 19
0
virtual addres s
31
table index
14 1 3 0
CP15 re gis te r 2
31
tra ns lation table ba s e addres s
14 1 3 2 1 0
me mory acce s s
31
tra ns lation table ba s e addres s
1. CP15 MMU寄存器
1) R0:ID寄存器(只读) 2) R1: 控制寄存器(V3版:只写;V4版可读/写)
31 15 00000000000000000 14 RR 13 V 12 I 11 Z 10 F 9 R 8 S 7 B 6 L 5 D 4 P 3 W 2 C 1 A 0 M
3) R2:地址变换表基址(V3版,只写;V4版,可读/写)
2.6 ARM存储器结构
ARM架构的处理器的存储器寻址空间有232=4G字 节,该存储空间可以分为可快存/可缓冲(Cacheable /Bufferable)区域和不可快存/不可缓冲区域。 ARM架构的处理器,有的带有指令快存(I-Cache) 和数据快存(D-Cache);但是,片内都不带有片内 RAM和片内ROM。系统所需的RAM和ROM(包括闪存 FLASH)都通过总线处接;故有的片内还带有存储器 管理单元MMU(Memory Management Unit)。ARM架构 处理器还允许外接PCMCIA。
FF..FF16 registers instructions processor address copies of instructions copies of data cache instructions and data memory 00..00 16 instructions and data data address
byte addresses
decode
[1:0] [3:2] [9:0]
data RAM
tag CAM
tag CAM
tag CAM
tag CAM
64 entry
64 entry
64 entry
64 entry
[9:4]
1024 x 32-bit word
hit
data
图2-25 ARM3的Cache结构
可先高速把数据写至缓存,在下一个操作 时再把数据送至主存储器。 优点是在写操作 不是很频繁的时候,提高处理器效率。但是如 果有连续的写操作发生时,处理器仍然要等待。
c) 写回
写回(有时也称Copy-back)是当处理器 更新Cache的某一行后,相应间数据并不立即 写回主存储器单元,而当该行被从Cache淘汰 时,才把数据写回主存储器中。
组相联映像
address
20 Tag
8 Index
tag RAM
data RAM
compare
mux
hit
data
compare
mux
tag RAM
data RAM
图2-22二路组相联的示意图
c) 全相联
全相联映像方式是给定的主存块可以放 在Cache的任意一块中,用内容寻址存储器 CAM(Content Addressed Memory,或称为相 联存储器)来实现,送来的地址与Cache所有 项中的地址标识作比较,以判断是否“命 中”。
图2-28 第一级描述符
3.段寻址(Section addressing)
31 20 19 0
virtual address
table index
section in dex
CP15 register 2
31
2.第一级描述符(first-level descriptors)
存储器管理的段/页寻址中的段表/页 表都放在存储器中。第一级描述符表示的 是表的基址、域、访问权限以及有关特性。 第一级描述符也放在存储器中,该变换表 (translation table)由CP15协处理器的寄 存器给出,而表格索引则由虚拟地址[31: 20]给出 。
I-Cache和 D-Cache
2.5
161电影网整理发布
1. Cache的分类和结构 常用的Cache有两类:指令和数据统一的 Cache;以及指令和数据分离的I-Cache与DCache。新型的ARM架构处理器较多采用了ICache与D-Cache的独立块存结构,如Intel公 司的SA1110处理器内含16K字节I-Cache和8K字 节D-Cache。
全相联映像
address
tag CAM
data RAM
mux hit data
图2-23 全相联的示意图
优点: 命中率高 缺点: • CAM访问速度慢; • 结构复杂,占用芯片资源多。
3. Cache的替换算法
当发生Cache不命中时,必须选择被 替换的项。常用的算法有随机法、近期 最少使用LRU(Least Recently Used) 法、循环(Round-robin)法和锁操作法。
a) 直接映射
直接映像的方式是给定的内存块仅能 放在一个特定的Cache块中。可用若干低 位地址直接访问Cache项,其余的高位地 址与Cache项中的地址标识(tag)进行比 较。若比较相等且有效位为“1”,则为 “命中(hit)”,这是最简单的放置算法。 未命中则为“失效(miss)”。
直接映像
a) 降低失效率
产生Cache失效原因有强制性失效(需从主 存储器调入Cache)、容量失效(所需的块/行不 能全部调至Cache)和冲突失效(某块/行被替 换,后又被重新访问)。 改进方法: • 增加Cache中行/块的大小来减少强制性失效。 • 提高相联度来减少冲突失效。 • 硬件预取技术
b) 减少失效开销
a) 随机法
从Cache中的各行中随机选取一行进行淘 汰,可选择一随机事件作为替换的依据,如可 用系统实时时钟的低几位。
b) 近期最少使用LRU法
Cache控制器设置访问标识,以记录数据 在某一段时间内被访问的次数,当需要淘汰时, 则淘汰近期最少使用的那一行。
c) 循环法
此方法类似于先进先出FIFO法,Cache 控 制器设置特殊的时间标识,以记录数据在 Cache中存放时间,当需要淘汰时,则淘汰进 入Cache时间最长的那一行。 循环法结构简单,速度快,ARM架构的处 理器大多采用该淘汰算法。
ARM架构采用了非阻塞(nonblocking) Cache技术。Cache在失效时,仍然允许处理器 进行其他命中的访问。这种“失效下命中” (hit under miss)不是完全拒绝处理器的访 问,而是能处理部分访问,从而减少了实际的 Cache失效开销。 此外,还可以采用“让读失效优于写”和 二级Cache技术来减少Cache失效开销
5. ARM的Cache设计
2.5 2 1.5 1 0.5 0
1
2
perfo rman ce 4 8 16 32 64 band wi dth 12 8 25 6
asso cia tivity (wa ys)
图2-24 Cache关联度的系统性能及带宽
Cache性能改进的途径: • 降低失效率 • 减少失效开销 • 减少命中时间
图2-19 统一Cache的结构示意图
copies of instructions
FF..FF16 address
cache address
instructions
instructions
instructions
registers
processor
address
data
data
address copies of data caTag
Index
tag RAM
data RAM
16byte
compare hit
mux data
图2-21 直接映像的Cache机制
优点: • 实现简单 • 访问Cache速度快 缺点: • 某些情况下命中率很低
b) 组相联映像 组相联映像也使用低位地址直接访问Cache 项,但它选中的是一个组,组内包含有两块或 多个块。给定的内存块可以放在选中组中的任 意一块内。一组内的块数,一般称为相联度或 相连路数(way)。选中一组后,组内所有项 的标识同时进行比较,如果有一个匹配,则 “命中”。与组相联映像实际上是靠比较器的 个数据及增宽Cache位来降低Cache块的冲突。
2.7 ARM存储器管理单元MMU
31 22 21 12 11 0
logical addres s
data
page directory
page table
page frame
图2-26 二级页表存储器寻址示意图
ARM架构处理器中的存储粒度(memory granularity)根据不同的应用方式,可有大 页(64K字节)、小页(4K字节)和微小页 (Tiny Pages, 1K字节)和段(Sections,1M 字节)。常用的是4K字节小页面。至于大页和 段则用于大数据领域,64K字节的大页可以分 成4个16K子页。
20 19
ta ble index
12 11 1 0 9 8
00
5 4 3 2 1 0
coars e pa ge table bas e addres s s ection bas e addres s 0 000 000 0 fine page ta ble ba s e a ddre s s