ARM处理器的体系结构

ARM 体系结构处理器内核、内存及 IO 教材:嵌入式系统及应用,罗蕾、李允、陈丽蓉等,电子工业出版社 体系结构ARM 是典型的 RISC 体系,许多指令能够在单周期内执行高速缓存内核 MPU – 内存保护单元控制内存访问权限控制内存区域的属性(cacheable, bufferable) MMU – 内存管理单元具有MPU的所有特性;提供虚拟地址到物理地址的转换 Cache(高速缓存)快速的本地内存;存放最近被访问过的内存的副本 TCM 阅读详情

ARM体系结构

ARM处理器为RISC芯片,其简单的结构使ARM内核非常小这使得器件的功耗也非常低。它具有经典RISC的特点:

① 大的、统一的寄存器;
② 装载/保存结构,数据处理操作只针对寄存器的内容,而不直接对存储器进行操作;
③ 简单的寻址模式;
④ 统一和固定长度的指令域,简化了指令的译码。


ARM7TDMI基于ARM体系结构V4T版本,是目前低端的ARM核

注意:“ARM核”并不是芯片,ARM核与其它部件如RAM、ROM、片内外设组合在一起才能构成现实的芯片。

ARM7TDMI处理器使用流水线来增加处理器指令流的速度。ARM7TDMI的流水线分3级,分别为:取指、译码、执行

对于存储器的访问,ARM7TDMI处理器使用了冯·诺依曼(Von Neumann)结构,指令和数据共用一条32位总线。只有装载、存储和交换指令可以对存储器中的数据进行访问。


体系结构支持的数据类型

ARM处理器支持下列数据类型:

字节 8位

半字 16位

字 32位

所有的数据操作都是以字为单位

装载和保存指令可以对字节、半字和字进行操作

ARM指令的长度刚好是1个字(分配为占用4个字节),Thumb指令的长度刚好是半字(占用2个字节)。


处理器状态

ARM7TDMI处理器有两种操作状态:

ARM状态:32位,这种状态下执行的是字方式的ARM指令;

Thumb状态:16位,这种状态下执行半字方式的Thumb指令。

(两个状态之间的切换并不影响处理器模式或寄存器内容。)

从Arm状态切换到Thumb状态

LDR  R0, = Lable+1  地址最低位为1,表示切换到Thumb状态

BX R0

从Thumb状态切换到ARM状态

LDR R0,=Lable     地址最低位为0表示切换到ARM状态
BX R0


为何需要两种状态的切换:

Thumb指令在某些特殊情况下具有比ARM指令更为出色的表现,主要是在代码长度和窄带宽存储器系统性能两方面。但是因为下面一些原因,Thumb又不可能独立
地组成一个应用系统。

Thumb指令集在功能上只是ARM指令集的一个子集,某些功能只能在ARM状态下执行,如CPSR和协处理器的访问。

进行异常响应时,处理器会自动进入ARM状态。

从系统优化考虑,在宽带存储器上不应该放置Thumb代码,很多窄带系统具有宽带的内部存储器。

即使是一个单纯的Thumb应用系统,也必须加一个汇编的交互头程序,因为系统总是自动从ARM 开始启动。


处理器模式 

ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式

用户(usr)      正常程序工作模式                                    不能直接切换到其它模式

系统(sys)     用于支持操作系统的特权任务等            与用户模式类似,但具有可以直接切换到其它模式等特权

快中断(fiq)   支持高速数据传输及通道处理                 FIQ异常响应时进入此模式

中断(irq)       用于通用中断处理                                     IRQ异常响应时进入此模式

管理(svc)      操作系统保护代码                                     系统复位和软件中断响应时进入此模式

中止(abt)      用于支持虚拟内存和/或存储器保护         在ARM7TDMI没有大用处

未定义(und) 支持硬件协处理器的软件仿真                  未定义指令异常响应时进入此模式

说明:

除用户模式外其他模式均为特权模式,ARM内部寄存器和一些片内外设在硬件设计上只允许特权模式下访问。此外特权模式可以自由切换处理器模式而用户模式不能自由切换到别的模式。

除了用户模式和系统模式,其他的五种模式被称为异常模式。他们除了可以通过程序切换进入外,也可以由特定的异常进入。每种异常模式都由一些独立的寄存器以避免异常退出时用户模式状态不可靠

用户模式和系统模式都不能由异常进入,而且他们使用相同的寄存器组。系统模式是特权模式,不受用户模式限制,操作系统在该模式下访问用户模式的寄存器就比较方便,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。


寄存器名称 用户 系统 管理 中止 未定义 中断 快中断
R0 R0 R0 R0 R0 R0 R0 R0
R1 R1 R1 R1 R1 R1 R1
ARM 处理器系列命名规则以及 ARM 体系结构命名规则 ARM 处理器系列命名规则 命名格式:ARM {x} {y} {z} {T} {D} {M} {I} {E} {J} {F} {-S} 12 个字段 x:处理器系列,是共享相同硬件特性的一组处理器的具体实现,例如 ARM7TDMI、ARM740T 和 ARM720T 都属于 ARM7 系列。 y:存储管理 / 保护单元。 2:Cache+MMU 3:改良型 MMU 4:Cache+MP... 阅读详情

相关推荐

浅谈ARM体系结构中的微处理器及其特性: 掌握核心指令集架构

作者:禅与计算机程序设计艺术 1.简介 ARM(Advanced RISC Machines)是一个非常知名的开源、开放的基于RISC(Reduced Instruction Set Computer)指令集架构的微处理器家族。ARM既可以兼容多种系统架构、体系结构、指令集架构等,又可以实现高性能计算、

AI天才研究院 2996

ARM汇编程序设计学习笔记(一)

ARM汇编程序设计学习笔记(一) 为了学习android系统,发现需要学习linux驱动,发现学习linux驱动,需要先知道处理器的各种架构,为了学习此种知识,发现网上有很多mini2440相关的知识,因此,将其作为蓝本,认真学习。直到linux驱动的学习完成。 这是linux驱动学习的第一部分,arm汇编程序。 本文档的大部分资料翻译于《S3C2440A 32-BIT CMOS MICROCONTROLLER USER’S MANUAL》 一.编程模型 处理器工作状态 从程序员的角度来看,ARM920T

安仔的博客 1497

arm7tdmi芯片详细材料

介绍了 arm7tdmi芯片详细材料,详细参数,能够很好的了解微处理器的应用原理~~

ARM7TDMI处理器架构与Thumb指令集详解

ARM7TDMI作为经典的32位RISC处理器,采用冯诺依曼架构,是嵌入式系统开发的重要基础。其核心创新在于Thumb指令集,通过16位指令压缩技术显著提升代码密度,特别适合资源受限的嵌入式场景。处理器采用三级流水线设计,在20-100MHz时钟频率下实现低功耗运行。Thumb指令集通过状态切换机制与ARM指令集协同工作,开发者需要掌握BX指令实现状态转换,并了解不同状态下的寄存器访问差异。在异常处理方面,ARM7TDMI提供包括FIQ、IRQ在内的多种中断类型,其中FIQ通过独立寄存器组实现快速响应。理解

weixin_33072399的博客 216

ISA,CISC, RISC, x86, ARM

文章目录[201214] What is ISA? Why it is so important for IC design?ISA与微架构ISA是一种接口[201214] CISC vs. RISCISA的分类[201214] x86 vs. ARM architecture? [201214] What is ISA? Why it is so important for IC design? The main ISAs used today are x86, ARM, ARC, MIPS and Po

weixin_46841421的博客 1362

ARM体系结构

ARM开发基础

Y_G_X的博客 1226

ARM7TDMI体系结构详解 & 各个后缀字母的含义

T:高密度16位Thumb指令集扩展 D:支持片上调试 M:64位乘法指令 I:Embedded ICE硬件仿真功能模块 冯·诺依曼(Von Neumann)结构,指令和数据共用一条32位总线。ARM7TDMI为V4版本,直接支持的数据类型字节(8位),半字(16位),字(32位)。(V4版本之后都支持这三种形式。)所有数据操作都以字为单位。装载和保存指令可以对字节、半字和字进行操作。AR...

zilan23的博客 1万+

ARM处理器2种工作状态了解吗?ARM体系结构解读!

Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。CPU的模式可以简单的理解为当前CPU的工作状态,比如:当前操作系统正在执行用户程序,那么当前CPU工作在用户模式,这时网卡上有数据到达,产生中断信号,CPU自动切换到一般中断模式下处理网卡数据(普通应用程序没有权限直接访问硬件),处理完网卡数据,返回到用户模式下继续执行用户程序。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。

ic2121的博客 517

ARM处理器体系结构

这里概述的都是一些传统意义上ARM处理器的一些方面,提醒自己看了之后会想起相关知识,或是对ARM有一个总体上的概念,其实都是些简述性的总结,很多都来自网上资料或教学课件,贴在这里,方便以后随时随地的复习! ARM处理器包括ARM7、ARM9、ARM9E、ARM10E、SecurCore、以及Intel的StrongARM、XScale和其它厂商基于ARM体系结构处理器,除了具有ARM体系

csshuke的专栏 5988

ARM体系结构ARM处理器流水线技术解析

本文旨在深入探讨ARM体系结构中流水线的概念、原理、分类,并分析影响流水线性能的关键因素,同时详细阐述指令执行过程的典型步骤,为理解和优化ARM处理器性能提供理论基础和实践指导。

Exun Blog 4476

ARM 体系结构和示例处理器

  ARM 体系结构和示例处理器体系结构说明示例处理器4没有 Thumb 的 ARMv4SA-11004T具有 Thumb 的 ARMv4ARM7TDMI、ARM9TDMI、ARM720T、ARM740T、ARM920T、ARM922T、ARM940T、SC1005T具有 Thumb 和交互操作的 ARMv

欲穷千里目,更上一层楼 2172

arm体系结构编程_ARM处理器工作模式详解

一、 存储器格式Arm体系结构存储器看做是从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字(32位)数据,从第四个字节到第七个字节放置第二个存储的字数据,一次排列。作为32位的微处理器arm体系结构所支持的最大寻址空间为4GB。存储器格式1、大端格式:高字节在低地址,低字节在高地址。2、小端格式:高字节在高地址,低字节在低地址。指令长度Arm处理器的指令长度是32位的,也可以...

weixin_39569076的博客 178

ARM处理器体系结构总结

介绍了ARM系统的架构以及与X86系统的比较

ferguswyf的博客 2464

视频教程-ARM处理器体系结构-嵌入式

ARM处理器体系结构 嵌入式工程师、嵌入式讲师、10多年嵌入式开发实战经验,...

weixin_29042691的博客 384

ARM体系结构与接口技术学习资源:全面掌握ARM处理器核心技术与应用

ARM体系结构与接口技术学习资源:全面掌握ARM处理器核心技术与应用 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在信息技术高速发展的今天,ARM处理器因其卓越的性能和高效的功耗比,已经成为嵌入式系统领域的佼佼者。本项目提供了一份宝贵的《ARM体系结构与接口技术.pdf》学习资源,旨在帮助开发者和工程师深入了解ARM处理器的核心架构和接口技术,从而更好地进行产品开发...

gitblog_06761的博客 309

ARM体系结构编程系列博客——ARM处理器系列介绍

ARM处理器系列介绍现在到了3月,过年过得过于舒服了。系列博客也停更了近半月,我果然是个慢(lan)性(gui)子,那么趁着到校的第一天晚上,就写一篇博客来继续我的系列博客了!众所周知,ARM处理器的应用广泛,现在就为大家介绍一些基于ARM体系结构处理器ARM7 ARM9 ARM9E ARM10E SecurCore ARM11 ARM处理器简介下面我将从上述列举的几个处理器,来给大家介绍AR

The CnSkyline Blog 848

嵌入式系统,ARM处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口

二、ARM处理器的特点 1、ARM处理器的三大特点 1.1、小体积,低功耗,成本低,高性能 1.2、16位/32位双指令集 1.3、全球众多的合作伙伴(市场大,环境生态好)** **2、当前ARM体系结构的扩充包括 2.1、thumb:16位指令集,用以改善代码密度 2.2、DSP:用于DSP应用的算数运算指令集 2.3、jazeller:允许直接执行Java代码的扩充** **3、ARM处理器系列提供的解决方案包括:(ARM公司并不造处理器,而是将解决方案的知识产权卖给半导体公司让他们造) 3.1、在

ganfanren00001的博客 2001

【嵌入式系统】第2章 嵌入式处理器内核,ARM体系结构,工作状态,异常中断,程序流水线

【嵌入式系统】第2章 嵌入式处理器内核,ARM体系结构,工作状态,异常中断,程序流水线

周文龙的博客 1274
上一篇: C 预处理
下一篇: ARM处理器的指令系统一 ARM处理器寻址方式
LemonMi
博客等级 码龄15年 11粉丝 15原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值