ARM微处理器硬件结构

合集下载

LPC2000系列ARM硬件结构与功能简介

LPC2000系列ARM硬件结构与功能简介
件仿真 模式
1.4 处理器状态及模式
用户和系统模式
处理器模式 用户 用户 系统 系统 快中断 中断 管理 中止 未定义 说明 备注 不能直接切换到其它模式 (usr) 正常程序工作模式 (usr) 用于支持操作系统的特 与用户模式类似,但具有可以 (sys) (sys) 权任务等 直接切换到其它模式等特权 而且它们使用完全相同的寄存器组。 (fiq) (irq) (svc) (abt) (und) 支持高速数据传输及通 系统模式是特权模式,不受用 FIQ异常响应时进入此模式 道处理
ARM公司简介
ARM是Advanced RISC Machines的缩写,它是 一家微处理器行业的知名企业,该企业设计了大量 高性能、廉价、耗能低的RISC (精简指令集)处 理器。 公司的特点是只设计芯片,而不生产。 它将技术授权给世界上许多著名的半导体、软件和 OEM厂商,并提供服务。
1.2 ARM体系结构简介
(svc) 操作系统保护代码 (abt) (und) 用于支持虚拟内存和/或 存储器保护 支持硬件协处理器的软 件仿真
1.4 处理器状态及模式
特权模式
处理器模式 用户 系统 系统 说明 用于支持操作系统的特 权任务等 备注 不能直接切换到其它模式 与用户模式类似,但具有可以 直接切换到其它模式等特权 (usr) 正常程序工作模式 (sys) (sys)
处理器模式说明备注用户usr正常程序工作模式不能直接切换到其它模式系统sys用于支持操作系统的特权任务等与用户模式类似但具有可以直接切换到其它模式等特权快中断fiq支持高速数据传输及通道处理fiq异常响应时进入此模式中断irq用于通用中断处理irq异常响应时进入此模式管理svc操作系统保护代码系统复位和软件中断响应时进入此模式中止abt用于支持虚拟内存和或存储器保护在arm7tdmi没有大用处未定义und支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式14处理器状态及模式?处理器模式14处理器状态及模式?特权模式处理器模式说明备注用户usr正常程序工作模式不能直接切换到其它模式系统sys用于支持操作系统的特权任务等与用户模式类似但具有可以直接切换到其它模式等特权快中断fiq支持高速数据传输及通道处理fiq异常响应时进入此模式中断irq用于通用中断处理irq异常响应时进入此模式管理svc操作系统保护代码系统复位和软件中断响应时进入此模式中止abt用于支持虚拟内存和或存储器保护在arm7tdmi没有大用处未定义und支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式除用户模式外其它模式均为特权模式

第2章 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体系结构

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处理器详解(1)-ARMCortex-A系列处理器

ARM处理器详解(1)-ARMCortex-A系列处理器

ARM处理器详解(1)-ARMCortex-A系列处理器如图所⽰,绿⾊的部分都是v7-A的架构,蓝⾊的是v8-A架构,基本上绿⾊都是可以⽀持到32和64位的,除了A32,只⽀持到32位。

在右边的每个部分,⽐如说需要⾼效能的最上⾯的A15-A73这个部分是最⾼效的,接下来就是⽐较注重整个效率的部分了,中间那个部分是⽐较⾼效率的,最下⾯那栏的是效率最好的,在电池的效能⽅⾯达到了最好的标准。

最新的还有使⽤在麒麟980上的,基于Dynamiq技术的第⼆代优质内核 Cortex A76。

Acore主打的就是⾼性能,消费类的产品⽐如⼿机,平板,机顶盒等需要上系统的基本上都需要使⽤Acore。

Acore的发展曲线基本上和⼯艺曲线重叠,最新的A76是基于7nm的⼯艺,A73基于10nm的⼯艺,更早些的A5,A9基本上使⽤40nm或28nm的⼯艺。

这是ARM 2016年发布的最新A系列处理器,Cortex-A73⽀持全尺⼨ARMv8-A构架,ARMv8-A是ARM公司的⾸款⽀持64位指令集的处理器架构,包括ARM TrustZone技术、NEON、虚拟化和加密技术。

所以⽆论是32位还是64位,Cortex-A73都可以提供适应性最强的移动应⽤⽣态开发环境。

Cortex-A73包括128位 AMBR 4 ACE接⼝和ARM的big.LITTLE系统⼀体化接⼝,采⽤了⽬前最先进的10nm技术制造,可以提供⽐Cortex-A72⾼出30%的持续处理能⼒,⾮常适合移动设备和消费级设备使⽤。

预计今年晚些时候到2017年,Cortex-A73处理器将会逐渐覆盖到我们合作伙伴的⾼端智能⼿机、平板电脑、翻盖式移动设备、数字电视等⼀系列消费电⼦设备。

big.LITTLE架构发展到最新的A76,更新了Dynamiq架构,core的外⾯再包了⼀层L3 cache,减少了对外部DDR的读写,所以性能更优。

Cortex-A72最早发布于2015年年初,也是基于ARMv8-A架构,采⽤台积电16nm FinFET制造⼯艺,Cortex-A72可在芯⽚上单独实现性能,也可以搭配Cortex-A53处理器与ARMCoreLinkTMCCI⾼速缓存⼀致性互连(CacheCoherentInterconnect)构成ARMbig.LITTLETM配置,进⼀步提升能效。

ARM的CPU分类.

ARM的CPU分类.

ZT:arm cpu的架构及分类说明今天在编译mplayer for mx27ads的时候,碰到了armv5te与armv6优化的问题。

默认的交叉编译器支持armv5te也支持armv6,就默认使用了mplayer中mpeg4的armv6解码代码,结果在mx27ads版上,播放mpeg4视频时颜色空间转换出错。

对比x86后总算找到了这个问题,顺手根据ARM官方资料和网上资料整理了一篇arm cpu的架构及分类说明。

ARM微处理器系列ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。

- ARM7 系列- ARM9 系列- ARM9E 系列- ARM10E 系列- ARM11系列- Cortex 系列- SecurCore 系列- OptimoDE Data Engines- Xcale其中,ARM7、ARM9、ARM9E 和 ARM10 为4 个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。

SecurCore 系列专门为安全要求较高的应用而设计。

以下我们来详细了解一下各种处理器的特点及应用领域。

ARM7系列ARM7 系列微处理器为低功耗的 32位 RISC 处理器,最适合用于对价位和功耗要求较高的消费类应用。

ARM7 微处理器系列具有如下特点:-具有嵌入式 ICE-RT 逻辑,调试开发方便。

-极低的功耗,适合对功耗要求较高的应用,如便携式产品。

-能够提供 0.9MIPS/MHz 的三级流水线结构。

-代码密度高并兼容 16 位的 Thumb 指令集。

-对操作系统的支持广泛,包括 Windows CE、Linux、Palm OS 等。

-指令系统与 ARM9 系列、ARM9E 系列和 ARM10E 系列兼容,便于用户的产品升级换代。

-主频最高可达 130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。

第2章 ARM微处理器概述

第2章 ARM微处理器概述


工业控制领域:
作为32位 的RISC 架构,基于ARM 核的微控制器芯片不
但占据了高端微控制器市场的大部分市场份额,同时也 逐渐向低端微控制器应用领域扩展,ARM 微控制器的低 功耗、高性价比,向传统的8 位/16 位微控制器提出了挑 战。

无线通讯领域:
目前已有超过85%的无线通讯设备采用了ARM 技术,
ARM体系结构的变种

(4)J变种(Java加速器Jazelle)
ARM的Jazelle技术将Java的优势和先进的32位RISC芯
片完美地结合在一起。Jazelle技术提供了Java加速功能, 可以得到比普通Java虚拟机高得多的性能。与普通的 Java虚拟机相比,Jazelle使Java代码运行速度提高了8 倍,而功耗降低了80%。 Jazelle技术使得程序员可以在一个独立的处理器上同时 运行Java应用程序、已经建立好的操作系统、中间件以 及其他的应用程序。与使用协处理器和双处理器相比, 使用单独的处理器可以在提供高性能的同时保证低功耗 和低成本。 J变种首先在ARM体系版本4TEJ中使用,用字母J表示。
使用电池供电的高性能的便携式设备。这些 设备一方面需要处理器提供高性能,另一方 面又需要功耗很低。SIMD功能扩展为包括音 频/视频处理在内的应用相同提供了优化功能。 它可以使音频/视频处理性能提高4倍。 Version 6首先在2002年春季发布的ARM11 处理器中使用。
2.2.3 ARM体系结构的变种及版本 命名格式
Version 4(v4)
该版本增加了下列指令:
半字加载和存储指令; 加载带符号的字节和半字数据的指令; 增加mb状态; 增加了处理器的特权模式。 该版本不再强制要求与以前的26位地址空间 兼容。

ARM体系架构

ARM体系架构
Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch Decode Fetch
该例中用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—每条指令执行所有周期数

关于ARM的内核架构介绍

关于ARM的内核架构介绍

张凌001关于ARM的内核架构很多时候我们都会对M0,M0+,M3,M4,M7,arm7,arm9,CORTEX-A系列,或者说AVR,51,PIC等,一头雾水,只知道是架构,不知道具体是什么,有哪些不同?今天查了些资料,来解解惑,不是很详细,但对此有个大体了解。

咱先来当下最火的ARM吧1.ARMARM即以英国ARM(Advanced RISC Machines)公司的内核芯片作为CPU,同时附加其他外围功能的嵌入式开发板,用以评估内核芯片的功能和研发各科技类企业的产品.ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。

- ARM7 系列- ARM9 系列- ARM9E 系列- ARM10E 系列- ARM11系列- Cortex 系列- SecurCore 系列- OptimoDE Data Engines- Intel的Xscale- Intel的StrongARM ARM11系列2. Cortex 系列32位RISCCPU开发领域中不断取得突破,其设计的微处理器结构已经从v3发展到现在的v7。

Cortex 系列处理器是基于ARMv7架构的,分为Cortex-M、Cortex-R和Cortex-A三类。

由于应用领域的不同,基于v7架构的Cortex处理器系列所采用的技术也不相同。

基于v7A的称为“Cortex-A系列。

高性能的Cortex-A15、可伸缩的Cortex-A9、经过市场验证的Cortex-A8处理器以及高效的Cortex-A7和Cortex-A5处理器均共享同一体系结构,因此具有完整的应用兼容性,支持传统的ARM、Thumb指令集和新增的高性能紧凑型Thumb-2指令集。

1Cortex-M系列Cortex-M系列又可分为Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4;2Cortex-R系列Cortex-R系列分为Cortex-R4、Cortex-R5、Cortex-R7;3Cortex-A 系列Cortex-A系列分为Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-A50等 ,同样也就有了对应内核的Cortex-M0开发板、Cortex-A5开发板、Cortex-A8开发板、Cortex-A9开发板、Cortex-R4开发板等等。

ARM架构详解

ARM架构详解

ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列产品,以此来扩大ARM在高性能与低功耗领域的领先地位,进一步抢占移动终端市场份额。

Cortex-A50是继Cortex-A15之后的又一重量级产品,将会直接影响到主流PC市场的占有率。

围绕该话题,我们今天不妨总结一下近几年来手机端较为主流的ARM处理器。

以由高到低的方式来看,ARM处理器大体上可以排序为:Cortex-A57处理器、Cortex-A53处理器、Cortex-A15处理器、Cortex-A12处理器、Cortex-A9处理器、Cortex-A8处理器、Cortex-A7处理器、Cortex-A5处理器、ARM11处理器、ARM9处理器、ARM7处理器,再往低的部分手机产品中基本已经不再使用,这里就不再介绍。

ARM 处理器架构发展● Cortex-A57、A53处理器Cortex-A53、Cortex-A57两款处理器属于Cortex-A50系列,首次采用64位ARMv8架构,意义重大,这也是ARM最近刚刚发布的两款产品。

Cortex-A57是ARM最先进、性能最高的应用处理器,号称可在同样的功耗水平下达到当今顶级智能手机性能的三倍;而Cortex-A53是世界上能效最高、面积最小的64位处理器,同等性能下能效是当今高端智能手机的三倍。

这两款处理器还可整合为ARM big.LITTLE(大小核心伴侣)处理器架构,根据运算需求在两者间进行切换,以结合高性能与高功耗效率的特点,两个处理器是独立运作的。

应用案例:预计于2014年推出。

● Cortex-A15处理器架构解析ARM Cortex-A15处理器隶属于Cortex-A系列,基于ARMv7-A架构,是业界迄今为止性能最高且可授予许可的处理器。

Cortex-A15 MPCore处理器具有无序超标量管道,带有紧密耦合的低延迟2级高速缓存,该高速缓存的大小最高可达4MB。

ARM架构

ARM架构
R15(PC) 状态寄存器 CPSR SPSR R15 CPSR
R13(SP)
R13
R13
R13_svc R13_svc R14_svc R14_svc
2-3-1 ARM状态下的寄存器组织
寄存器类别 寄存器在汇编中的名 称 用户 用户 R0(a1) R1(a2) R2(a3) R3(a4) R4(v1) R5(v2) R6(v3) 通用寄存器 和程序计数 器 R7(V4) R8(V4) R9(SB,v6) R0 R0 R1 R1 R2 R2 R3 R3 R4 R4 R5 R5 R6 R6 R7 R7 R8 R8 R9 R9 R10 R10 R11 R11 R8 R9 各模式下实际访问的寄存器 系统 系统 管理 管理 中止 中止 R0 R1 R2 R3 R4 R5 R6 R7 R8_fiq R8_fiq R9_fiq R9_fiq R10_fiq R10_fiq R11_fiq R11_fiq 未定义 未定义 中断 中断 快中断 快中断
1-4-1 常见ARM微处理器系列介绍
ARM9系列微处理器在高性能和低功耗特性方面提供 最佳的性能:
5级整数流水线,指令执行效率更高。 提供1.1MIPS/MHz的哈佛结构。 支持32位ARM指令集和16位Thumb指令集。 支持32位的高速AMBA总线接口。 全性能的MMU,支持Windows CE、Linux、Palm OS 等多种主流 嵌入式操作系统。 MPU支持实时操作系统。 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
2-1 ARM微处理器的工作状态
处理器状态: ARM9处理器内核使用V4T版本的ARM结构,具有 两种操作状态:
ARM状态:32位,这种状态下执行的是字方式的ARM指令 Thumb状态:16位,这种状态下执行半字方式的ARM指令。

Armv9核心A710、A715和A510微架构解读

Armv9核心A710、A715和A510微架构解读

Armv9核心A710、A715和A510微架构解读1、引言在上一篇文章“从A76到A78——在变化中学习Arm微架构”中,我们了解了Arm处理器微架构的基本组成,介绍了Armv8架构最后几代经典处理器架构。

现在,Arm公司已经在2021年3月推出了其最新的Armv9架构系列处理器,距上一代Armv8系列架构发布相隔了整整10年时间。

新一代的Armv9产品,不但会带来更强大的计算性能,在安全、AI等领域也带来了全新的设计。

可以说,Armv9系列继承了Armv8架构的优势,同时也为Arm公司的下一个十年拉开了帷幕。

本文将着重介绍基于Armv9架构的A710、A715、A510等处理器架构,让大家了解Armv9架构和Armv8架构的差异。

2、Arm的Cortex-X定制CPU计划在介绍Armv9系列前,我们先看一下ARM的Cortex-X定制CPU计划。

Cortex-X方案先于Armv9发布,在Arm发布A78时,同时也发布了Cortex-X1这一颗性能强大的CPU,后续大家习惯称之为超级大核。

从此,旗舰处理器的架构从4+4(4大+4小)逐步变成了1+3+4(1超大+3大+4小)架构。

Cortex-X计划不但带来了如X1这样的超级大核心设计,也允许厂商参与定制Cortex-X 系列的核心设计。

X系列超级大核心相比A系列大核心,拥有更大的芯片面积,同时支持更多的发射和解码能力,还增加了缓存和ROB空间等,图中Arm 宣称X1相比A78的性能提升超过30%。

后续计划专门写一篇文章介绍Cortex-X 的系列处理器。

3、64bit应用生态32bit和64bit应用兼容问题已经历经多年讨论,主流的苹果和安卓平台都明确表示要切换到64bit以提供更大的应用访问空间和支持处理器的最新特性。

苹果公司在2017年的iOS11中就强制要求开发者切换到64bit应用,谷歌公司则要求安卓开发者在2021年将上传的应用完全切换到64bit。

浅析CPU两大架构ARM和X86区别及拓展windowsx86与x64的区别

浅析CPU两大架构ARM和X86区别及拓展windowsx86与x64的区别

浅析CPU两⼤架构ARM和X86区别及拓展windowsx86与x64的区别 由于在 linux 安装nodejs环境时遇到⼀个不可执⾏⽂件的问题,涉及到了ARM和x64⽂件,所以查了点资料初步了解了⼀下cpu两⼤架构:ARM与X86的区别。

⼀、CPU是什么 中央处理单元(CPU)主要由运算器、控制器、寄存器三部分组成,从字⾯意思看运算器就是起着运算的作⽤,控制器就是负责发出CPU每条指令所需要的信息,寄存器就是保存运算或者指令的⼀些临时⽂件,这样可以保证更⾼的速度。

CPU有着处理指令、执⾏操作、控制时间、处理数据四⼤作⽤,打个⽐喻来说,CPU就像我们的⼤脑,帮我们完成各种各样的⽣理活动。

因此如果没有CPU,那么电脑就是⼀堆废物,⽆法⼯作。

移动设备其实很复杂,这些CPU需要执⾏数以百万计的指⽰,才能使它向我们期待的⽅向运⾏,⽽CPU的速度和功率效率是⾄关重要的。

速度影响⽤户体验,⽽效率影响电池寿命。

最完美的移动设备是⾼性能和低功耗相结合。

⼆、要了解X86和ARM,就得先了解复杂指令集(CISC)和精简指令集(RISC) 从CPU发明到现在,有⾮常多种架构,从我们熟悉的X86,ARM,到不太熟悉的MIPS,IA64,它们之间的差距都⾮常⼤。

但是如果从最基本的逻辑⾓度来分类的话,它们可以被分为两⼤类,即所谓的“复杂指令集”与“精简指令集”系统,也就是经常看到的“CISC”与“RISC”。

Intel和ARM处理器的第⼀个区别是,前者使⽤复杂指令集(CISC),⽽后者使⽤精简指令集(RISC)。

属于这两种类中的各种架构之间最⼤的区别,在于它们的设计者考虑问题⽅式的不同。

我们可以继续举个例⼦,⽐如说我们要命令⼀个⼈吃饭,那么我们应该怎么命令呢?我们可以直接对他下达“吃饭”的命令,也可以命令他“先拿勺⼦,然后舀起⼀勺饭,然后张嘴,然后送到嘴⾥,最后咽下去”。

从这⾥可以看到,对于命令别⼈做事这样⼀件事情,不同的⼈有不同的理解,有⼈认为,如果我⾸先给接受命令的⼈以⾜够的训练,让他掌握各种复杂技能(即在硬件中实现对应的复杂功能),那么以后就可以⽤⾮常简单的命令让他去做很复杂的事情——⽐如只要说⼀句“吃饭”,他就会吃饭。

ARM体系结构

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公司及产品架构简介

ARM公司及产品架构简介--ARM概述1.ARM 是英国一家电子公司的名字,该公司成立于1990年11月,是苹果电脑,Acorn电脑集团和VLSI Technology的合资企业。

Acorn曾在1985年推出世界上首个商用单芯片RISC (Reduced Instruction Set Computing)处理器。

ARM主要出售芯片设计技术的授权。

2.ARM体系架构的版本就是它所使用的指令集的版本。

ARM架构支持32位的ARM指令集和16位的Thumb指令集,后者使得代码的存储空间大大减小。

还提供了一些扩展功能,还在使用的ARM指令集(ISA,Instruction Set Architecture)有以下版本。

arm v4:只支持32位指令集arm v4t:增加t(thumb)指令集arm v5te:增加增强型dsp指令e指令arm v5tej :提供java加速功能arm v6 :thumb-2 增加多媒体功能的支持arm v7:thumb-2 改良浮点运算总结版本名中的T表示Thumb指令集,E表示增强型DSP指令,J表示Java加速器。

3.ARM处理器的系列:在相同指令集下,搭配不同部件就可以组装出具有不同功能的处理器,比如有无内存管理单元、有无调试功能等。

它们可以分为8个系列,系列名中有7个后缀,这些后缀可以组合,含义如下。

①T:表示支持Thumb指令集。

②D:表示支持片。

上调试( Debug)。

③M:表示内嵌硬件乘法器(Multiplier)。

④1:支持片上断点和调试点。

⑤E:表示支持增强型DSP功能。

⑥J:表示支持Jazelle技术,即Java加速器。

⑦S:表示全合成式( full synthesizable)。

8大系列:这8个系列中,ARM7、ARM9、ARM9E和ARM10为通用处理器系列,每个系列提供-“套相对独特的性能来满足不同应用领域的需求。

SecurCore系列专门为安全要求较高的应用而设计。

arm体系结构特点

arm体系结构特点

arm体系结构特点
ARM 体系结构是一种广泛使用的 32 位微处理器体系结构,具有以下特点:
1. 简单的指令集:ARM 指令集是一种 RISC(精简指令集计算机)指令集,它具有固定长度的指令和简单的指令格式。

这种简单的指令集可以提高指令的执行速度和效率,同时也可以减少指令的解码时间。

2. 高效的流水线:ARM 体系结构采用了高效的流水线技术,可以在一个时钟周期内执行多条指令。

这种流水线技术可以提高指令的执行速度和效率,从而提高处理器的性能。

3. 低功耗设计:ARM 体系结构采用了低功耗设计,可以在不影响性能的情况下降低处理器的功耗。

这种低功耗设计对于移动设备和嵌入式系统非常重要,可以延长设备的电池寿命。

4. 可扩展性:ARM 体系结构具有很好的可扩展性,可以通过增加更多的寄存器和指令来扩展处理器的功能。

这种可扩展性可以满足不同应用的需求,例如多媒体处理、网络通信等。

5. 支持Thumb 指令集:ARM 体系结构还支持 Thumb 指令集,这是一种 16 位的指令集。

Thumb 指令集可以在不损失性能的情况下减少代码的大小,从而节省存储空间。

6. 强大的异常处理机制:ARM 体系结构具有强大的异常处理机制,可以处理各种硬件和软件异常。

这种异常处理机制可以提高系统的可靠性和稳定性。

总之,ARM 体系结构具有简单的指令集、高效的流水线、低功耗设计、可扩展性、支持Thumb 指令集和强大的异常处理机制等特点,这些特点使得 ARM 体系结构成为了移动设备和嵌入式系统领域的主流处理器体系结构。

体系结构 RISC, CISC, x86, ARM, MIPS

体系结构 RISC, CISC, x86, ARM, MIPS

体系结构: RISC, CISC, x86, ARM, MIPS硬件体系结构(Architecture)软件操作系统(Operating System)一、RISC与CISC1.CISC(Complex Instruction SetComputer,复杂指令集计算机)复杂指令集(CISC,Complex Instruction Set Computer)是一种微处理器指令集架构(ISA),每个指令可执行若干低阶操作,诸如从内存读取、储存、和计算操作,全部集于单一指令之中。

CISC特点:1.指令系统庞大,指令功能复杂,指令格式、寻址方式多;2.绝大多数指令需多个机器周期完成;3.各种指令都可访问存储器;4.采用微程序控制;5.有专用寄存器,少量;6.难以用优化编译技术生成高效的目标代码程序;在CISC指令集的各种指令中,大约有20%的指令会被反复使用,占整个程序代码的80%。

而余下的80%的指令却不经常使用,在程序设计中只占20%。

2.RISC(reduced instruction setcomputer,精简指令集计算机)精简指令集这种设计思路对指令数目和寻址方式都做了精简,使其实现更容易,指令并行执行程度更好,编译器的效率更高。

它能够以更快的速度执行操作。

这种设计思路最早的产生缘自于有人发现,尽管传统处理器设计了许多特性让代码编写更加便捷,但这些复杂特性需要几个指令周期才能实现,并且常常不被运行程序所采用。

此外,处理器和主内存之间运行速度的差别也变得越来越大。

在这些因素促使下,出现了一系列新技术,使处理器的指令得以流水执行,同时降低处理器访问内存的次数。

实际上在后来的发展中,RISC与CISC在竞争的过程中相互学习,现在的RISC指令集也达到数百条,运行周期也不再固定。

虽然如此,RISC设计的根本原则——针对流水线化的处理器优化—0—没有改变,而且还在遵循这种原则的基础上发展出RISC的一个并行化变种VLIW(包括Intel EPIC),就是将简短而长度统一的精简指令组合出超长指令,每次执行一条超长指令,等于并行执行多条短指令。

ARM体系结构

ARM体系结构
Extensions: Jazelle (5TEJ)
SIMD Instructions Multi-processing v6 Memory architecture Unaligned data support
Extensions: Thumb-2 (6T2) TrustZone® (6Z) Multicore (6K) Thumb only (6-M)
17
Embedded Processors
Chengdu University of Information Technology
18
Which architecture is your processor?
Chengdu University of Information Technology
---ARM V4
Chengdu University of Information Technology
7
•ARMV4是目前支持的最老的架构,是基于32-bit地址 空间的32-bit指令集。ARMv4除了支持ARMv3的指 令外还扩展了:
支持halfword的存取 支持byte和halfword的符号扩展读 支持Thumb指令 提供Thumb和Normal状态的转换指令 进一步的明确了会引起Undefined异常的指令 对以前的26bits体系结构的CPU不再兼容
4. 如果3中描述的功能不存在,则在该功能标识符前加x
ARM处理器命名(Classic命名)
Chengdu University of Information Technology
15
采用上述的架构,形成一系列的处理器。有时候还要区
分处理器核和处理器系列。不过,在这里其实不用区分太细,

ARM9体系结构

ARM9体系结构

2.1.3 ARM指令系统版本(2)
二、版本2(v2) 仍是26位寻址空间,在v1的基础上增加的内容有: • 乘法和乘法加指令 • 支持协处理器 • 快速中断模式中的分组寄存器 • 交换式加载/存储指令。 三、版本3(v3) 将寻址范围扩展到32位,但兼容26位寻址。在v2的基 础上增加的内容有: • 设置了专用的当前程序状态寄存器CPSR、增加了程序状态 保存寄存器 • 增加了中止异常和未定义指令异常两种处理器模式 • 增加了访问CPSR、SPSR的指令MRS和MSR • 修改了异常返回指令的功能
嵌入式系统讲义
第2章 ARM9体系结构
张志斌
2013.3
第2章 ARM9体系结构
主要内容
2.1 ARM处理器简介 2.2 ARM9结构 2.3 ARM数据类型和存储格式 2.4 处理器状态和工作模式 2.5 ARM寄存器 2.6 ARM异常 2.7 ARM调试接口
2.1 ARM处理器简介
2.1.1 ARM公司简介

支持Thumb指令的ARM体系版本,一般加目前Thumb指令集有以下两个版本:Thumb
指令集版本1,此版本作为ARM体系版本4的T变种;
Thumb指令集版本2,此版本作为ARM体系版本5的T变
种。
与版本1相比,Thumb指令集的版本2具有以下特点:
通过增加新的指令和对已有指令的修改,来提高ARM指令 和Thumb指令混合使用时的效率。
2.1.4 ARM系列处理器简介(3)
表2-1 ARM7系列产品
项目 Cache Memory
指令
型号
(Ins/Data) Mgt Bus Thumb DSP Jazelle 版本
ARM7TDMI No
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

指令
时间
第16页/共60页
16
流水线技术Ⅲ
2.ARM的流水线设计问题
(1)缩短程序执行时间: ➢ 提高时钟频率fclk ➢ 减少每条指令的平均时钟周期数CPI (2)解决流水线相关: ➢ 结构相关 ➢ 数据相关 ➢ 控制相关
ARM32位体系结构目前被公认为是嵌入式应 用领域领先的32位嵌入式RISC微处理器结构。从 版本1到版本6,ARM体系的指令集功能不断扩大。
第2页/共60页
2
ARM版本Ⅰ
1.V1版架构
该版架构只在原型机ARM1出现过,没有用于商业产品。 其基本性能有: ➢ 基本的数据处理指令(无乘法); ➢ 基于字节、半字和字的Load/Store指令; ➢ 转移指令,包括子程序调用及链接指令; ➢ 供操作系统使用的软件中断指令SWI; ➢ 寻址空间:64MB(226)。
➢ 进入Thumb状态:当操作数寄存器的状态位(位[0]) 为1时,执行BX指令。
➢ 进入ARM状态:当操作数寄存器的状态位(位[0])为0 时,执行BX指令。
第12页/共60页
12
RISC技术Ⅰ
RISC体系结构基本特点:
➢ 大多数指令只需要执行简单和基本的功能,其执行过 程在一个机器周期内完成。
第6页/共60页
6
ARM版本Ⅴ
5.V5版架构
V5 版 架 构 是 在 V4 版 基 础 上 增 加 了 一 些 新 的 指 令 , ARM10和Xscale都采用该版架构。这些新增命令有: ➢ 带有链接和交换的转移BLX指令; ➢ 计数前导零CLZ指令; ➢ BRK中断指令; ➢ 增加了数字信号处理指令(V5TE版); ➢ 为协处理器增加更多可选择的指令。
第8页/共60页
8
ARM处理器系列
➢ ARM7系列 ➢ ARM9系列 ➢ ARM9E系列 ➢ ARM10E系列 ➢ SecurCore系列 ➢ Inter的Xscale ➢ Inter的StrongARM
第9页/共60页
9
ARM处理器结构
从一下四个方面介绍:
➢ ARM和Thumb状态 ➢ RISC技术 ➢ 流水线技术 ➢ 超标量执行
第7页/共60页
7
ARM版本Ⅵ
6.V6版架构
V6版架构是2001年发布的,首先在2002年春季发布 的ARM11处理器中使用。此架构在V5版基础上增加了 以下功能: ➢ THUMBTM:35%代码压缩; ➢ DSP扩充:高性能定点DSP功能; ➢ JazelleTM:Jova性能优化,可提高8倍; ➢ Media扩充:音/视频性能优化,可提高4倍。
➢ 可用Load/Store指令批量传输数据,以提高数据的传 输效率。
➢ 可在一条数据处理指令中同时完成逻辑处理和移位处 理。
第14页/共60页
14
流水线技术Ⅰ
1.ARM的3级流水线
1
fetch
decode
excute
2
fetch
decode
excute
3 指令
fetch
decode
excute
时间
第10页/共60页
10
ARM和Thumb状态
V4版以后有:
➢ 32位ARM指令集 ➢ 16位Thumb指令集,功能是ARM指令集的功能
子集。
ARM7TDMI核以后,T变种的ARM微处 理器有两种工作状态:
➢ ARM状态 ➢ Thumb状态。
第11页/共60页
11
ARM与Thumb状态转换
在程序的执行过程中,微处理器可以随时在 两种工作状态之间切换,并且该转变不影响处理 器的工作模式和相应寄存器中的内容。
第3页/共60页
3
ARM版本Ⅱ
2.V2版架构
该版架构对V1版进行了扩展,例如ARM2和ARM3 (V2a)架构,版本2a是版本2的变种,ARM3芯片采 用了版本2a。V2版架构与版本V1相比,增加了以下功 能:
➢ 乘法和乘加指令;
➢ 支持协处理器操作指令;
➢ 快速中断模式;
➢ SWP/SWPB的最基本存储器与寄存器交换指令; ➢ 寻址空间:64MB。
➢ 增加了中止(Abort)和未定义2种处理器模式;
➢ 增加了MRS/MSR指令,以访问新增的CPSR/SPSR寄存 器;
➢ 增加了从异常处理返回的指令功能。
第5页/共60页
5
ARM版本Ⅳ
4.V4版架构
V4版架构在V3版上作了进一步扩充,V4版架构是目 前应用最广的ARM体系结构,ARM7、ARM8、ARM9和 StrongARM都采用该架构。指令集中增加了以下功能: ➢ 符号化和非符号化半字及符号化字节的存/取指令; ➢ 增加了16位Thumb指令集; ➢ 完善了软件中断SWI指令的功能; ➢ 处理器系统模式引进特权方式时使用用户寄存器操作; ➢ 把一些未使用的指令空间捕获为未定义指令。
第15页/共60页
15
流水线技术Ⅱ
多周期ARM指令的3级流水线操作
1 fetch ADD decode excute
2
fetch STR decode calc:addr data xfer
3
f
4
fetch ADD
decode excute
5
fetch ADD decode excute
第4页/共60页
4
ARM版本Ⅲ
3.V3版架构
V3版架构对ARM体系结构作了较大的改动:
➢ 寻址空间增至32位(4GB);
➢ 当前程序状态信息从原来的R15寄存器移到当前程序 状 态 寄 存 器 CPSR 中 ( Current Program Status Register);
➢ 增 加 了 程序 状 态 保存 寄 存 器 SPSR(Saved Program Status Register);
计算机体系结构Ⅱ
2. 哈佛体系结构
地址
数据存储器
数据
CPU
地址
程序存储器
数据
PC
第1页/共60页
1
ARM简介
ARM(Advanced RISC Machines)系列微处 理器,采用的ARM技术知识产权(IP)核都是由 ARM公司提供的。
ARM公司本身不生产芯片,转让设计许可, 由合作公司生产各具特色的芯片。
➢ 只保留加载/存储指令。操作数由加载/存储指令从存 储器取出放寄存器内操作。
➢ 芯片逻辑不采用或少采用微码技术,而采用硬布线逻 辑。
➢ 减少指令数和寻址方式。
➢ 指令格式固定,指令译码简化。
➢ 优化编译。
第13页/共60页
13
RISC技术Ⅱ
ARM体系结构还采用了一些特别的技术:
➢ 所有的指令都可根据前面的执行结果决定是否被执行, 提高了指令的执行效率。
相关文档
最新文档