ARM体系架构解析
1)从存储器读取指令(fetch) 2)译码以鉴别它是哪一类指令(dec) 3)从寄存器组取得所需的操作数(reg) 4)将操作数进行组合以得到结果或存储器地址(exe) 5)如果需要,则访问存储器存取数据(mem) 6)将结果回写到寄存器组(res)
流水线技术
❖ 三级流水线技术
❖ 大端格式(big-endian):字数据的高字节存储在低地址 中,而字数据的低字节则存放在高地址中。
❖ 小端格式(low-endian):与大端存储格式相反。低地址 中存放的是字数据的低字节,高地址存放的是字数据的高 字节。缺省设置为小端格式。
ARM存储格式
大端的数据存放格式
小端的数据存放格式
器。
❖ 应用一:工业控制领域
作为32 的RISC 架构,基于ARM 核的微控制器 芯片不但占据了高端微控制器市场的大部分市场 份额,同时也逐渐向低端微控制器应用领域扩展, ARM 微控制器的低功耗、高性价比,向传统的8 位/16 位微控制器提出了挑战。
❖ 应用二:无线通讯领域
目前已有超过85%的无线通讯设备采用了ARM 技术, ARM 以其高性能和低成本,在该领域的 地位日益巩固。
ARM9TDMI 无
无
5
有
无
无
ARM920T 16K/16k MMU
5
有
无
RISC:精简指令集(Reduced Instruction Set Computer)
❖ 在通道中只包含最有用的指令,只提供简单的操作。 ❖ 确保数据通道快速执行每一条指令
❖ Load-store结构—— 处理器只处理寄存器中的数据, load-store指令用来完成数据在寄存器和外部存储器 之间的传送。
❖ 使CPU硬件结构设计变得更为简单, RISC CPU包 含较少的单元电路,因而面积小、功耗低
主要差别:
❖ 寄存器
RISC指令集 拥有更多的通用寄存器,每个可以存放数据 和地址,寄存器为所有的数据操作提供快速的存储访问。
CISC指令集 多用于特定目的的专用寄存器。
❖ LOAD –STORE 结构
第二章 ARM技术概述
❖ ARM概述 ❖ ARM体系结构 ❖ Thumb技术介绍
一、ARM概述
ARM是什么? ❖ Advanced RISC Machines
一个公司的名字——英国知识产权核(IP)设计 公司
一类微处理器的通称 一种技术的名字(ARM微处理器核)
ARM 微处理器的应用领域及特点
ARM处理器的分类 ❖ 基于指令集体系结构的分类
v1,v2,v5,v5TEJ,v6等
❖ 基于处理器内核的分类
ARM7,ARM9,ARM10,ARM11,StrongARM, XScale等
❖ ARM体系结构版本
❖ ������ ������ ARM架构自诞生至今,已经发生了 很大的演变,至今已定义的版本有:
❖ 应用三:网络设备
随着宽带技术的推广,采用ARM 技术的ADSL 芯 片正逐步获得竞争优势。此外,ARM 在语音及 视频处理上进行了优化,并获得广泛支持,也对 DSP 的应用领域提出了挑战。
❖ 应用四:消费类电子产品
ARM 技术在目前流行的数字音频播放器、数字 机顶盒和游戏机中得到广泛采用。
指令0 指令1 指令2
数据通道
输入
输出
中央处理器
总线
数据存储器
数据0 数据1 数据2
❖ 哈佛体系结构的特点
1)程序存储器与数据存储器分开. 2)提供了较大的存储器带宽,各自有自己的
总线。 3)适合于数字信号处理. 4)大多数DSP都是哈佛结构. 5)ARM9是哈佛结构 6)取指和取数在同一周期进行,提高速度,
ARM9TDMI流水线技术
ARM7TDMI
Instruction Fetch
FETCH
ThumbARM decompress
ARM decode Reg Select
DECODE
Reg
Read Shift
ALU
Reg
Write
EXECUTE
ARM9TDMI
Instruction Fetch
FETCH
❖ ������ ������ V1版架构
❖ ������ ������ V2版架构
❖ ������ ������ V3版架构
❖ ������ ������ V4版架构
❖ ������ ������ V5版架构
❖
V6版架构
❖ V1版架构 ❖ ������ ������ 该版架构只在原型机ARM1出现
❖ V3版架构
把寻址空间增至32位(4G字节), 增加了当前程序状态寄存器CPSR和程序状态保
存寄存器SPSR以便于异常的处理。 增加了中止和未定义二种处理器模式。 ARM6就采用该版架构。 指令集变化如下: 增加了MRS/MSR指令,以访问新增的CPSR/SPSR
寄存器
增加了从异常处理返回的指令功能。
RISC结构 Cpu 仅处理寄存器中的数据,采用独立的、 专用的LOAD –STORE 指令来完成数据在寄存器和外存 之间的传送。(访存费时,处理和存储分开,可以反复 的使用保存在寄存器中的数据,而避免多次访问外存)。
CISC结构 能直接处理存储器中的数据。
流水线技术
流水线:是把一个重复的过程分解为若干个子过 程,每个子过程可以与其他子过程同时进行。 由于这种工作方式与工厂中的生产流水线十分相似, 因此,把它称为流水线工作方式。 ❖ 处理器按照一系列步骤来执行每一条指令。典 型的步骤为:
从零字节到三字节放置第一个存储的字数据,从第四个 字节到第七个字节放置第二个存储的字数据,依次排列。 32位的字数据要使用4个地址单元,16位半数据要使用2个 地址单元。
这样,就存在一个所存储的字或半字数据的排列顺序问 题。ARM体系结构可以用两种方法存储字数据,称为大端格 式和小端格式 。
ARM存储格式
❖ 应用五:成像和安全产品
现在流行的数码相机和打印机中绝大部分采用 ARM 技术。手机中的32位SIM 智能卡也采用了 ARM 技术。
❖ ARM处理器的使用量
❖ ARM处理器的特点:
1、体积小、低功耗、低成本、高性能; 2、支持Thumb(16 位)/ARM(32 位)双指令
集,能很好的兼容8 位/16 位器件; 3、大量使用寄存器,指令执行速度更快; 4、大多数数据操作都在寄存器中完成; 5、寻址方式灵活简单,执行效率高; 6、指令长度固定;
增加了16位Thumb指令集
完善了软件中断SWI指令的功能
增加了处理器的特权模式。
❖ V5版架构
❖ ������ ������ 这是最近几年推出ARM架构,在 V4版基本上增加了一些新的指令,ARM10 和XScale都采用该版架构,这些新增指令有:
带有链接和交换的转移BLX指令 计数前导零CLZ指令 BKPT软件断点指令 增加了信号处理指令 为协处理器增加更多可选择的指令
每条指令的执行周期:T= TF+TD+TE+TS
冯·诺依曼体系的特点
❖ 1)数据与指令都存储在同一存储区中,取指 令与取数据利用同一数据总线。
❖ 2)被早期大多数计算机所采用 ❖ 3)ARM7——冯诺依曼体系
结构简单,但速度较慢。取指不能同时取数据
❖ 哈佛体系结构模型
指令寄存器 控制器
总线
程序存储器
❖ V4版架构
❖ ������ ������ V4版架构是目前应用最广的ARM 体系结构,对V3版架构进行了进一步扩充,有 的还引进了16位的Thumb指令集,使ARM使 用更加灵活。ARM7、ARM8、ARM9和 StrongARM都采用该版架构。指令集中增加 了以下功能:
有符号、无符号的半字和有符号字节的 Load/Store指令。
ARM or Thumb Inst Decode
Reg
Reg
Decode Read
DECODE
Shift + ALU
EXECUTE
Memory Access
MEMORY
Reg Write
WRITE
ARM存储格式
ARM存储器以8位为一个单元存储数据(一个字节),每个 存储单元分配一个存储地址。
ARM将存储器看作是从零地址开始的字节的线性组合。 作为32位的微处理器,ARM体系结构所支持的最大寻址空 间为4GB(232字节)。
➢ ARM处理器市场覆盖率最高、发展趋势广阔
基于ARM技术的32位微处理器,市场的占有率目前已达到 80%。
绝大多数IC制造商都推出了自己的ARM结构芯片。我国的 中兴集成电路、大唐电讯、中芯国际和上海华虹,以及 国外的一些公司如德州仪器、意法半导体、Philips、 Intel、Samsung等都推出了自己设计的基于ARM核的处理
Memory system 2: Cache, MMU, Process ID 4: Cache, MPU 6: Write buffer, no cache
Memory size 0: Cache size (4-128KB) 2: Reduced cache size 6: TCM
Synthesizable
ARM7EJ-S
Unified Cache
无 无
ቤተ መጻሕፍቲ ባይዱ8k
8k或4k
无
内存管 理 无 无
MMU
Protecti on Unit
无
流水线级 Thum DS Jazell
别
bPe
3
有无无
3
有无无
3
有无无
3
有无无
3
有有有
❖ARM9 Family
Cache 内存管理 流水线 Thumb DSP Jazelle 级别