ARM处理器核心概述

一、基于ARM处理器的嵌入式系统

  1. ARM核深度嵌入SOC中,通过JTAG口进行外部调试。
  2. 计通常既有外部内存又有内部内存,从而支持不通的内存宽度、速度和大小。
  3. 一般会包含一个中断控制器。
  4. 可能包含一些Primece外设,需要从ARM公司取得授权。
  5. 总线使用ARM的标准如AMBA总线。
    在这里插入图片描述

二、ARM处理器存储器子系统相关术语

  1. MPU(内存保护单元)
  2. 面向实时控制领域
  3. 控制内存访问权限
  4. 控制器内存区域的属性(Cacheable,bufferable)
  5. ARM的IO空间和主存空间是统一编址。
  6. IO空间不能设置缓存,主存可以设置缓存

MMU(内存管理单元)
面向复杂的APP的processor,如移动终端
具有MPU的所有特性
提供虚拟地址到物理地址的转换,提供操作系统的续存管理
嵌入式LINUX是支持MMU的

Cache(高速缓存)
快速本地内存
存放最近被访问过的内存副本

TCM(紧耦合内存)
快速本地内存
特定地址范围

Write buffer(写缓存区)
减少写数据到外部内存的次数

ARM Processor Core
在这里插入图片描述

三、ARM处理器体系结构的发展

在这里插入图片描述
注意:相同体系可能有完全不同的实现
ARM7TDMI-arch v4T.冯诺伊曼结构,3级流水线
ARM920T-arch v4T.哈佛结构,5级流水线,具有MMU

ARM内核系列
在这里插入图片描述

四、典型ARM CPU核

4.1 ARM7TDMI

T:Thumb架构扩展,从而提供两个独立指令集:
ARM指令,均为32位
Thumb指令,均为16位
根据运行状态选择指令集
D: 内核具有Debug扩展结构
M:增强乘法器(32 x 8)支持64位结果
I:EmbeddedCE逻辑

  1. 3级流水线,属于V4T体系
  2. 冯.诺伊曼架构
  3. CPI(Cycle Per Instruction)=1.9
  4. 曾经最流行的低端ARM核
    在这里插入图片描述
    ARM7TDMI的内核结构图

3级流水线:取值解码执行,从而允许 一些操作同时运行。Pipeline
需要注意的是,PC指向的是将要被预取的指令,而不是执行的指令。一般调试工具会隐藏这个细节。
在这里插入图片描述
理想的3级流水线
在这里插入图片描述

  1. 所有的操作都是在寄存器进行(单独一个周期执行)
  2. 6个时钟周期执行了6条指令
  3. Clock cycles per instruction (CPI) = 1

存在LDR内存操作的流水线
在这里插入图片描述

  1. 存在一个LDR的内存读取操作指令
  2. 6个时钟周期执行了4条指令
  3. Clock cycles per instruction (CPI) = 1.5

存在分支指令的流水线
在这里插入图片描述
分支指令的存在可能打断流水线的运行

4.2 ARM9TDMI

  1. V4T架构,5级流水线,CPI约为1.5
  2. 时钟频率得到最大提高
  3. 哈佛体系,增加了可访问内存的带宽,可同时对指令内存和数据内存进行访问。
  4. 一般支持内置Cache.
    在这里插入图片描述
    ARM9TDMI的流水线技术
    在这里插入图片描述
    ARM9TDMI的理想流水线
    在这里插入图片描述
    LDR指令不会引起流水线互锁
    6个时钟周期执行了6条指令
    Clock cycles per instruction (CPI) = 1

在这里插入图片描述
紧接着LDR指令后用相同寄存器的数据操作会引起互锁,原因使用相同的寄存器,后面的指令执行依赖相同寄存器。
7个时钟周期执行了6条指令,CPI=1.2

4.3 ARM11

ARM V6架构,8级流水线,支持静态和动态的分支预测以及返回堆栈
低延迟的中断模式
内部可配置的TCM
支持64位内存接口
集成的VFP处理器(可选)
在这里插入图片描述

4.4 Cortex系列

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值