第1章ARM9体系结构

合集下载

09级嵌入式系统开发及应用课程考核要求00

09级嵌入式系统开发及应用课程考核要求00

09级计应用嵌入式系统开发及应用课程考核要求试卷结构:选择题:5*2’=10’填空题:10*1’=10’简答题:8*5’=40’应用题:8*5’=40’第一部分ARM体系结构一、绪论1、嵌入式实时操作系统的特点。

2、嵌入式系统定义;嵌入式系统三要素:嵌入、专用、计算机3、嵌入式实时操作系统的概念4、嵌入式系统主要有五个方面的特点5、实时系统与非实时系统一、绪论复习题1、嵌入式实时操作系统有哪些特点?答:主要有三个特点:(1)采用抢占式的调度策略,任务的实时性好,并且执行时间是确定的;(2)具有可裁剪性(根据任务的需要与否进行添加或删除操作系统模块)和可移植性(移植到各种处理器上);(3)具有较好的可靠性和可扩展性,适合嵌入式产品的应用开发。

2、对于嵌入式系统,IEEE的定义是什么?答:用来控制或监视机器、装置或工厂等大规模系统的设备。

3、对于嵌入式系统,国内普遍认同的定义是什么?答:嵌入式系统是“以应用为中心,以计算机技术为基础,软硬件可裁减,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专业计算机系统”。

嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。

4、什么是嵌入式实时操作系统?答:嵌入式实时操作系统是指在限定的时间内对输入进行快速处理并作出响应的嵌入式操作系统。

5、什么是实时系统?答:能够对外部事件做出及时响应的系统。

响应时间要有保证。

外部事件发生时要识别出来,在给定时间约束内必须输出结果。

6、什么是硬实时系统?答:对系统响应时间有严格的要求,如果系统响应时间不能满足,就会引起系统崩溃或致命的错误。

7、什么是软实时系统?答:对系统响应时间有要求,但是如果系统响应时间不能满足,它并不会导致系统出现致命的错误或崩溃,只是降低系统的吞吐量。

二、ARM技术与ARM体系结构1、ARM体系结构的基本版本命名规则2、流水线流水线方式:是把一个重复的过程分解为若干个子过程,每个子过程可以与其他子过程同时进行。

嵌入式系统教案(李震)

嵌入式系统教案(李震)

嵌入式系统教案(李震) -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN嵌入式系统教案(李震)嵌入式系统教案教材:《ARM9嵌入式系统设计—基于S3C2410与Linux(第二版)》,徐英慧,马忠梅,王磊,王琳编著,北京航空航天大学出版社课时分配:理论课32学时,实验课8学时,共40学时第1章嵌入式系统基础一、教学目的:介绍嵌入式系统的基本概念,包括嵌入式系统的概念、特点及应用,由本章了解嵌入式系统的基础知识,掌握嵌入式的发展方向。

学时分配:2学时二、教学重点:实时操作系统的多任务内核,实时操作系统的任务管理机制三、教学难点:理解和掌握嵌入式系统中任务间采用的共享数据结构和消息机制等两种通信方式,嵌入式系统的优先级继承,抢占式调度和非抢占式调度间的区别。

四、教学方法:课题讲授及嵌入式系统在精细农业中的应用实例演示五、教学过程设计:(2学时)一、嵌入式系统概念(一)嵌入式系统的定义(二)嵌入式系统的组成(三)嵌入式系统的特点(四)嵌入式系统的应用(五)实时系统二、嵌入式处理器(一)嵌入式处理器分类(二)微控制器的定义及特点(三)嵌入式微处理器的定义及特点,介绍主流的微处理器,包括ARM、MIPS、MC68K、PowerPC、X86微处理器等。

(四)DSP处理器的定义及特点(五)片上系统的定义及特点(六)典型的嵌入式处理器三、嵌入式操作系统(一)操作系统的概念和分类(二)实时操作系统(三)常见的嵌入式操作系统四、实时操作系统的内核(一)任务管理(二)任务间的通信和同步(三)存储器管理(四)定时器和中断管理五、嵌入式技术发展现状及趋势六、思考题1、什么是嵌入式系统它由哪几部分组成(作业)2、嵌入式系统有何特点?(作业)3、嵌入式处理器分为哪几类?4、ARM英文原意是什么它是一个怎样的公司其处理器有何特点5、什么事实时系统实时系统有何特点如何划分6、实时操作系统常用的任务调度算法有哪几种?第2章嵌入式系统开发过程一、教学目的:介绍嵌入式软件的开发过程和调试手段,使学生了解嵌入式软件与普通计算机软件在开发和调试上的区别。

1-5章《ARM嵌入式C编程标准教程》

1-5章《ARM嵌入式C编程标准教程》
火龙果整理
高等学校嵌入式系统设计教材
ARM9处理器C语言编程标准教程
侯殿有 才华 编著
人民邮电出版社
第一章 ARM技术简介
1.1 ARM处理器简介
火龙果整理
ARM处理器是一种低功耗高性能的32位RISC (精简指令系统) 处理器。本章将其从结构入手进行分析,基于目前流行的 ARM920T核详细描述其硬件结构和编程。 ARM处理器共有31个32位寄存器,而其中16个可以在任何模 式下看到。它的指令为简单的加载与存储指令(从内存加载某个 值,执行完操作后再将其放回内存)。ARM一个有趣的特点是 它所有的指令都带有条件。例如用户可以测试某个寄存器的值, 但是直到下次使用同一条件进行测试时,才能有条件地执行这些 指令。另一个特征是可以在加载数值的同时进行算术和移位操作。 它可以在几种模式下操作,包括通过使用SWI(softwarinterrupt 软件中断)指令从用户模式进入到系统模式。

火龙果整理





· 5级流水线结构,即取指(F)、指令译码(D)、 执行(E)、数据存储访问(M)和写寄存器 (W)。 · 16K字节数据缓存,16K字节指令缓存。 · 写缓冲器:16字的数据缓冲器,4地址的地址 缓冲器,软件控制消耗。 · 标准的ARMv4存储器管理单元(MMU): 区域访问许可,允许以1/4页面大小对页面进行访 问,16个嵌入域,64个输入指令TLB及64个输入 数据TLB。 · 8位、16位、32位的指令总线与数据总线。
1.1.1 ARM7系列微处理器
火龙果整理
ARM7系列微处理器是低功耗的32位RISC处理器,最适合用于 对价位和功耗要求较低的消费类应用。ARM7系列有如下特点: ·具有嵌入式ICE—RT (Internet Communications Engine-Route 因特网通信)逻辑,调试开发方便。 ·极低的功耗,适合对功耗要求较低的应用,如便携式产品。 ·能够提供0.9MIPS(Million Instructions Per Second百万条/ 秒)/MHz的三级流水线结构。 ·对操作系统的支持广泛,如Windows CE、Linux、Palm OS等。 ·指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便 于用户的产品升级换代。 ·主频最高可达130MHz,高速的运算处理能力能胜任绝大多数 的复杂应用。

arm9处理器的内部寄存器结构

arm9处理器的内部寄存器结构

arm9处理器的内部寄存器结构
ARM9处理器是一种32位的嵌入式处理器,内部包含了多种寄存器,这些寄存器扮演着不同的角色,用于存储不同类型的数据和指令,从而实现处理器的各种功能。

ARM9处理器的内部寄存器结构主要包括:
1.通用寄存器:ARM9处理器有16个32位的通用寄存器,这些寄存器不仅可以用于存储数据,还可以用于存储指令中的操作数。

通用寄存器还可以用于存储函数的参数和返回值。

2.程序计数器(PC):程序计数器是一个32位的寄存器,用于存储当前正在执行的指令的地址。

当处理器执行完一条指令后,PC会自动递增,指向下一条指令的地址。

3.状态寄存器:状态寄存器用于存储处理器的当前状态。

例如,它可以用于存储处理器的运行模式,或者存储处理器的条件码。

4.堆栈指针(SP):堆栈指针用于指向当前的堆栈顶部。

当处理器需要执行函数调用或其他需要使用堆栈的指令时,它会将数据压入堆栈中,并将堆栈指针减小。

当函数返回时,处理器会将数据从堆栈中弹出,并将堆栈指针增加。

5.链接寄存器(LR):链接寄存器用于存储函数调用的返回地址。

当函数被调用时,处理器将当前指令的地址存储在LR中。

当函数执行完毕后,处理器会将LR中的地址作为返回地址,跳转回调用函数的地方。

6.中断寄存器:中断寄存器用于存储当前中断的状态。

当处理器
接收到一个中断时,它会将当前的状态保存在中断寄存器中,并跳转到中断处理程序的地址。

总之,ARM9处理器的内部寄存器结构是非常复杂的,不同类型的寄存器扮演着不同的角色。

通过合理地利用这些寄存器,程序员可以实现各种复杂的嵌入式应用。

ARM体系架构解析ppt课件

ARM体系架构解析ppt课件
1)程序存储器与数据存储器分开.
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体系结构
2015/9/288源自ARM920T系统结构分析
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种又称为异常模式, 常用于处理中断或异常,以及访问受保护的系统资源等情 况。

ARM9体系结构

• 从编程者角度看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课后习题及答案

第 1 章嵌入式系统基础1. 什么是嵌入式系统?它由哪几部分组成?有何特点?写出你所想到的嵌入式系统。

答:(1)定义:国内对嵌入式系统的一般定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

(2)组成:嵌入式处理器、外围设备、嵌入式操作系统和应用软件等几部分组成。

(3)特点: a. 软硬件一体化,集计算机技术、微电子技术、行业技术于一体;b. 需要操作系统支持,代码小,执行速度快;c. 专用紧凑,用途固定,成本敏感;d. 可靠性要求高;e. 多样性,应用广泛,种类繁多。

(4)嵌入式系统:个人数字助理(PDA、机顶盒(STB、IP电话。

2. 嵌入式处理器分为哪几类?答:( 1、低端的微控制器( MicroController Unit,MCU 、;( 2、中高端的嵌入式微处理器( Embeded MicroProcessor Unit,EMPU 、;(3)通信领域的DSP处理器(Digital Signal ProcessorQSP );(4、高度集成的片上系统( System on Chip,SoC、。

3. ARM英文原意是什么?它是一个怎样的公司?其处理器有何特点?答:(1、英文原意:Advaneed RISC Machines。

高级精简指令集机器。

(2)公司简介:该公司是全球领先的16/32位RISC微处理器知识产权设计供应商,通过将其高性能、低成本、低功耗的RISC微处理器、外围和系统芯片设计技术转让给合作伙伴来生产各具特色的芯片。

ARh公司已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。

(3)其处理器特点: a. 小体积、低功耗、低成本而高性能; b.16/32 位双指令集; c. 全球的合作伙伴众多。

4. 什么是实时系统?它有哪些特征?如何分类?答:(1)实时系统的定义:实时系统(Real Time System)是指产生系统输出的时间对系统至关重要的系统。

ARM9系统的硬件设计

ARM9系统的硬件设计ARM9系统的硬件设计指的是基于ARM9内核的嵌入式系统的硬件组成和设计方法。

ARM9是英国ARM公司推出的第九代32位内核处理器,被广泛应用于移动设备、嵌入式系统、消费电子产品等领域。

下面将详细介绍ARM9系统的硬件设计内容。

一、ARM9系统硬件设计的基本原则1.系统性能和功耗平衡:硬件设计要充分考虑系统性能和功耗之间的平衡,尽量在不影响系统性能的情况下降低功耗。

2.硬件模块化设计:将整个系统划分为多个模块,每个模块负责特定的功能,便于维护和升级。

3.充分利用硬件资源:合理利用硬件资源,提高系统的性能和效率。

4.合理布局和连接:设计时应合理布局硬件组件和引脚连接,减少信号干扰和传输延迟。

5.异常处理:系统设计要考虑到异常情况的处理,保证系统的稳定性和可靠性。

二、ARM9系统硬件设计的基本组成1.处理器:ARM9内核的处理器是系统的核心部件,负责执行指令和控制系统运行。

2.存储器:包括RAM、ROM和闪存等,用于存储指令和数据,RAM用于存储工作数据,ROM和闪存用于存储软件和操作系统。

3.外设接口:包括串口、并口、USB接口等,用于与外部设备通信。

4.时钟和定时器:时钟提供系统的时序和时基,定时器用于定时和计数。

5.中断控制器:用于处理外部中断和异常,保证系统的正常运行。

6.显示控制器:用于控制和管理显示设备,如LCD显示屏。

7.输入输出设备:如触摸屏、键盘、鼠标等,用于用户与系统的交互。

8.电源管理:包括电源管理单元和电源管理软件,用于控制和管理系统的电源消耗。

三、ARM9系统硬件设计的关键技术1.PCB设计:根据系统需求和硬件组件的布局,设计合适的PCB板,保证信号传输的稳定和可靠。

2.时钟设计:根据系统需求设计合适的时钟方案,保证系统的协调和同步。

3.内存管理:根据系统的存储需求,选择适当的存储器类型和容量,合理划分存储区域。

4.性能优化:通过合理的硬件配置和系统参数调整,提高系统的运行速度和性能。

第三节ARM体系结构

SPSR_fiq
一般的通用寄存器
寄存器类别 寄存器在汇编中的名称
用户
系统
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
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
N Z C V
DNM(RAZ)
I
F
T
M4
M3
M2
M1
M0
(1)条件码标志
• N(negative)、Z(zero)、C(carry) 和V(overflow)位称为条件码标志, 简称为标志,CPSR中的标志可用于检测 以决定指令是否执行。
(2)控制位 • 程序状态寄存器的最低8位I、F、T和 M[4:0]用做控制位,当异常出现时改 变控制位,处理器在特权模式下也可 用软件改变。 • I和F是中断禁止位。I置1时禁止IRQ中 断;F置1时禁止FIQ中断。 • T位 T=0时指示ARM执行;T=1时指示 Thumb执行。
R8 R9 R10 R11 R12 R13 R14 R15(PC) CPSR
不同工作模式下的寄存器组
管理 R0 R1 R2 R3 R4 R5 R6 R7
R8 R9 R10 R11 R12 R13_svc* R14_svc* R15(PC) CPSR
系统 R0 R1 R2 R3 R4 R5 R6 R7
1.2 ARM9工作模式
• ARM9微处理器核共支持7种工作模式, 他们的名称及意义如表2-1所示。
处理器模式 用户模式
系统模式 管理模式 中止模式
模式符号 Usr
Sys Svc Abt
意义
正常执行程序时的处理器模式
运行特权操作系统任务时的模式 操作系统的保护模式 指令或数据预取操作中止时的模式, 该模式下实现虚拟存储器或存储器 保护 当执行未定义的指令时进入该模式 响应普通中断时的处理模式 响应快速中断时的处理模式
1.1 ARM处理器系列
主要有以下系列: • · ARM7系列; • · ARM9系列; • · ARM9E系列; • · ARM10E系列; • · SecurCore系列; • · Intel的StrongARM; • · Intel的Xscale。
• ARM9系列:ARM9TDMI处理器核,其中包含了16位 的Thumb指令集。 ARM9TDMI中的后缀含义: T:支持16位的压缩指令集Thumb; D:支持在片调试,允许微处理器响应调试请求暂 停; M: 具有增强型乘法器,可生成全64位的结果; I:嵌入式ICE部件,可以提供片上断电和调试点 的支持。
(6)IRQ(中断请求):通过处理器上的 IRQ输入引脚,由外部产生IRQ异常。IRQ 异常的优先级比FIQ异常的低。当进入FIQ 处理时,会屏蔽掉IRQ异常。 (7)FIQ(快速中断请求):通过处理器上 的FIQ输入引脚,由外部产生FIQ异常。
异常的优先级
优先级 异常 优先级 4 5 6(最低) 异常 IRQ 预取中止
1、ARM9体系结构
ARM(advanced RISC Machines) 公 司成立于1990年,不生产芯片,只提供 芯片设计技术,有合作公司生产各具特 色芯片。 ARM处理器具有高性能、小体积、低 功耗、紧凑代码度等特点。其RISC性能 在业界领先,已成为移动通信设备、手 持计算设备和多媒体数字设备等嵌入式 系统的RISC标准。
MCS-51系列(Intel80年代初推出的8位单片机): 型号: 8031、8032、8051、8052、87256BRAM、32条I/O引脚、 111条指令、主频十几M到几十M不等,高的是 33MHz. 片外可扩展:数据存储器64KB、程序存储器64KB。
(3)软件中断异常:软件中断异常指令 SWI进入管理模式,以请求特定的管理 函数 (4)预取中止:存储器系统发出存储器 中止(abort)信号,响应取指激活的 中止标记所取的指令无效,若处理器试 图执行无效指令,则产生预取中止异常; 若指令未执行,则不发生预取中止。
(5)数据中止:存储器系统发出存储器中 止信号,响应数据访问激活中止标记的数 据无效。
异常的进入
当处理一个异常时,ARM9完成以下动作: (1)将下一条指令的地址保存在相应的LR寄存器中。如果 异常是从ARM状态进入,则保存在LR中的是下一条指令的 地址。如果异常是从Thumb状态进入,则保存在LR中的是 当前PC的偏移量。 (2)将CPSR复制到相应的SPSR中。 (3)迫使CPSR模式位M[4:0]的值设置成对应的异常模 式值。 (4)迫使PC从相关的异常向量取下一条指令。 (5)也可以设置中断禁止位来阻止其他无法处理的异常嵌 套。如果在异常发生时处理器是在Thumb状态下,那么当 用中断向量地址加载PC时,自动切换进ARM状态。
中断 R0 R1 R2 R3 R4 R5 R6 R7
R8 R9 R10 R11 R12 R13_irq* R14_irq* R15(PC) CPSR
快中断 R0 R1 R2 R3 R4 R5 R6 R7
R8_fiq* R9_fiq* R10_fiq* R11_fiq* R12_fiq* R13_fiq* R14_fiq* R15(PC) CPSR
SPSR_svc
SPSR_abt
SPSR_und
SPSR_irq
SPSR_fiq
• R0~R15称为通用寄存器,其中,R0~R7是不 分组的寄存器;R8~R14是根据工作模式进行 分组的寄存器;R15是程序计数器,也是不分 组的。 • R0~R7寄存器是不分组的,在所有的工作模 式下,它们物理上是同一个寄存器。 • R8~R14是分组寄存器,它们中的每一个寄存 器根据当前工作模式的不同,所访问的寄存 器实际可能不是同一个物理寄存器。
未定义模式 IRQ模式 FIQ模式
Und Irq Fiq
1.3 ARM9的存储组织结构
• ARM920T允许32位长的地址,它把存储器 看成是0地址开始的字节的线性组合。 • 即一个地址对应于一个存储字节,其范围 是232个字节(8位二进制数)。
大端存储和小端存储
• ARM9存储器系统的存储单元与地址的对应方式有 两种: 一种是大端存储系统,如图2-2所示; 另一种是小端存储系统,如图2-3所示。 • 小端存储模式是ARM9处理器的默认模式。 • ARM处理器使用协处理器15(CP15)的寄存器来控制 cache、TCM和存储器管理。比如: 可以通过CP15协处理器c1寄存器中V位(bit[13]) 控制中断向量。V和中断向量表的对应关系如下: V=0 ~0x00000000~0x0000001C V=1 ~0xffff0000~0xffff001C
• 模式位 M0、M1、M2、M3和M4是模式位。 这些位决定处理器的工作模式,如表13所示。表中未列出的模式位的组合是 不可用的。
表1-3 模式位
M[4:0] 模式
可访问的寄存器
10000
10001 10010
用户
FIQ IRQ
PC、R14~R0、CPSR
PC 、 R14_fiq ~ R8_fiq 、 R7 ~ R0 、 CPSR 、 SPSR_fiq PC、R14_irq、R13_irq、R12~R0、CPSR、 SPSR_irq PC、R14_svc、R13_svc、R12~R0、CPSR、 SPSR_svc PC、R14_abt、R13_abt、R12~R0、CPSR、 SPSR_abt PC、R14_und、R13_und、R12~R0、CPSR、 SPSR_und PC、R14~R0、CPSR
10011
10111 11011 11111
管理
中止 未定义 系统
1.4 ARM9的异常
• 只要正常的程序流程被暂时停止,则异 常发生。或者说,异常是由内部或外部 产生一个引起处理器处理的事件。 • 例如,外部中断或处理器执行一个未定 义的指令都会引起异常。在处理异常之 前,处理器状态必须保留,以便在异常 处理程序完成后,原来的程序能够继续 执行。同一时刻可能会出现多个异常。
ARM9系列主要包括: ARM920T、ARM922T、ARM940T等3种类 型。 其中ARM920T由内核ARM9TDMI、哈佛 结构高速缓存和内存管理单元(MMU)组成。
ARM920T结构:
• 这是一种配置的S3C2410核心板:
• ARM920T微处理器的指令流水采 用了典型的RISC五级流水线结构, 将指令执行过程分为取指、译码、 执行、访存和写回五个步骤。 • 五级流水线结构采用分离指令 cache和数据cache。
• R15寄存器的功能是程序计数器,又称为PC。在 ARM状态下,R15寄存器的[1:0]位为0b00,[31: 2]位是PC的值; • CPSR寄存器称为当前程序状态寄存器,又称为 R16。在所有处理器模式下,CPSR都是同一个物 理寄存器,它保存了程序运行的当前状态。在各 种异常模式下,均有一个称为SPSR的寄存器用于 保存进入异常模式前的程序状态,即当异常出现 时,SPSR中保留CPSR的值。CPSR和SPSR均为32位 的寄存器,其格式如下:
(1)复位:处理器上一旦有复位信号输入, ARM处理器立刻停止执行当前指令,复位后, ARM处理器在禁止中断的管理模式下,从地 址0x00000000或0xFFFF0000开始执行程序。
(2)未定义指令异常:当ARM处理器执行协 处理器指令时,它必须等待任一外部协处理 器应答后,才能真正执行这条指令。若协处 理器没有响应,就会出现未定义指令异常。 另外,试图执行未定义的指令,也会出现未 定义指令异常。
• ARM9访问存储字时 其地址应该是字对准的,既字地址可以被4整除。 • 假如: 某个字其地址是X(X能被4整除),那么,该字 的4个字节对应的地址是X、X+1、X+2、X+3。
I/O端口的访问方式
ARM9采用存储器映射的方法来实 现I/O端口的访问。即为每个I/端口分 配特定的存储器地址,但对这些地址进 行读写时,实际完成的是对I/O端口的 输入输出操作。
未定义指令, SWI
1( 最高) 复位 2 3 数据中止 FIQ
异常向量
• 异常向量是异常服务程序的入口,在某些ARM 的应用中,允许异常向量的位置由32位地址 空 间 低 端 的 正 常 位 置 , 既 0x00000000 ~ 0x0000001C,移到地址空间高端的另一地址 范围0xFFFF0000~0xFFFF001C。这些改变后 的地址位置称为高端向量。 • 由Implementation Defined决定是否支持高 端向量。如果支持,则在输入硬件配置时, 选择是使用正常向量还是高端向量。
相关文档
最新文档