`
isiqi
  • 浏览: 16353377 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论
阅读更多
ARM9基础知识(必记)

ARM9微处理器系列
ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点:
- 5级整数流水线,指令执行效率更高。
- 提供1.1MIPS/MHz的哈佛结构。
- 支持32位ARM指令集和16位Thumb指令集。
- 支持32位的高速AMBA总线接口。
- 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。
- MPU支持实时操作系统。
- 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。大小都为16K。
ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。
ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。
ARM920T =ARM9TDMI core plus cache and MMU

ARM微处理器结构
1、RISC体系结构:RISC结构优先选取使用频最高的简单指令,避免复杂指令
1、RISC体系结构应具有如下特点:
- 采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。
- 使用单周期指令,便于流水线操作执行。
- 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/ 存储指令可以访问存储器,以提高指令的执行效率。
除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗:
- 所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。
- 可用加载/存储指令批量传输数据,以提高数据的传输效率。
- 可在一条数据处理指令中同时完成逻辑处理和移位处理。
- 在循环处理中使用地址的自动增减来提高运行效率。
2、ARM微处理器的寄存器结构
ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:
- 31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。
- 6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。
同时,ARM处理器又有7种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)、一至二个状态寄存器和程序计数器。在所有的寄存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。
3、ARM微处理器的指令结构
ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。

ARM微处理器的启动过程
1、Bootloader的启动:其一般要实现的功能如下:
(1)初始化CPU速度、存储器、存储器配置寄存器以及串口等;
(2)激活指令/数据Cache、建立堆栈指针、建立启动参数区、构造参数结构和标识列表;
(3)通过上电自检,来识别存在哪些设备,并报告异常,提供对电源管理中休眠/恢复的支持;
(4)跳转到内核起始处,系统启动。

ARM微处理器的工作状态
从编程的角度看,ARM一般有两种工作状态:ARM状态和Thumb状态。并可在两个状态之间随时切换。
ARM状态下,大多数指令都是有条件执行的;而Thumb状态下,只有分支指令是有条件执行的。
ARM体系结构的存储器结构
ARM体系结构可以用两种方式存储:大端格式和小端格式。最大寻址空间为4GB(232字节)
在big-endian格式中,对于地址为A的字单元其中字节单元由高位到低位字节顺序为A,A+1,A+2,A+3;这种存储器格式如下所示:
31 24 23 16 15 8 7 0
------------------------------------------------------------------------------------
字单元A |
------------------------------------------------------------------------------------
半字单元A | 半字单元A+2 |
------------------------------------------------------------------------------------
字节单元A | 字节单元A+1 | 字节单元A+2 | 字节单元A+3|
------------------------------------------------------------------------------------
在little-endian格式中,对于地址为A的字单元由高位到低位字节顺序为A+3,A+2,A+1,A,这种存储格式如下所示
31 24 23 16 15 8 7 0
----------------------------------------------------------------------------------
字单元A |
----------------------------------------------------------------------------------
半字单元A+2 | 半字单元A |
----------------------------------------------------------------------------------
字节单元A+3 |字节单元A+2 | 字节单元A+1 | 字节单元A |
----------------------------------------------------------------------------------
指令长度和数据类型
ARM处理器的指令长度可以是32位(ARM状态下),也可以是16位(Thumb状态下)。ARM处理器支持字节(8位)、半字(16位)、字(32位)三种数据类型。其中字需要4字节对齐(地址的低两位为0)、半字需要2字节对齐(地址的最低位为0)。

处理器模式
ARM微处理器支持7种运行模式:
――用户模式(usr)
――快速中断模式(fiq)
――外部中断模式(irq)
――管理模式(svc)
――数据访问中止模式(abt)
――系统模式(sys)
――未定义指令中止模式(und)

ARM体系结构所支持的异常类型
复位、未定义指令、软件中断、指令预取中止、数据中止、IRQ(外部中断请求)、FIQ(快速中断请求)。

对中断的响应:
1、将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。若异常是从ARM状态进入,LR寄存器中保存的是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关);若异常是从Thumb状态进入,则在LR中保存当前PC的偏移量。
2、将CPSR复制到相应的SPSR。
3、根据异常的类型,强制转换CPSR的运行模式位。
4、强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。

各类异常的具体描述:
FIQ异常是为了支持数据传输或者通道处理而设计的。
IRQ属于正常的中断请求。
ABORT意味着对存储器的访问失败

顶部
[广告] 【管理动态】HDL语言/设计交流/通信与DSP
分享到:
评论

相关推荐

    arm9基础知识学习

    ### ARM9基础知识学习 #### 一、ARM9微处理器概述 ARM9系列微处理器作为高性能与低功耗特性的典范,在嵌入式系统设计中占据了举足轻重的地位。其核心优势在于能够在保持低功耗的同时提供卓越的处理性能。 #### 二...

    郭天祥ARM9视频教程.docx

    ### ARM9基础知识与郭天祥教程解析 #### ARM9简介 ARM9是一种广泛应用于嵌入式系统的处理器架构,由英国的ARM公司设计。ARM9在性能、功耗以及成本方面都具有显著优势,因此被广泛应用于移动设备、工业控制、消费...

    浅谈ARM处理器基础知识.pdf

    ARM处理器基础知识解读: ARM处理器是微处理器的一种,相较于常见的单片机(微控制器),它在硬件和软件方面都有显著区别和优势。在探讨ARM处理器的基础知识时,首先应当明确它与通用处理器如Pentium处理器的不同。...

    《ARM基础知识》学习

    《ARM基础知识》学习 ARM,全称为Advanced RISC Machines,是一种高级精简指令集机器,遵循RISC(Reduced Instruction Set Computer)理念,以其高效能、低成本和低能耗的特性在众多领域广泛应用,如嵌入式控制、...

    ARM入门 基础知识

    **ARM入门基础知识** ARM(Advanced RISC Machines)是一种广泛使用的微处理器架构,以其低功耗、高性能和灵活性而闻名。本文将深入探讨ARM体系结构的基础知识以及如何进行ARM开发。 一、ARM体系结构概述 ARM架构...

    ARM9 基础实验教程

    **ARM9基础实验教程** ARM9是ARM公司推出的一种32位微处理器内核,广泛应用于嵌入式系统设计,特别是在消费电子、通信设备、工业控制等领域。它以其低功耗、高性能和易于设计的特点,成为了嵌入式系统设计的重要...

    ARM9嵌入式系统设计基础教程答案

    本教程主要围绕ARM9处理器的基础知识,包括体系结构、编程模型、中断处理、存储系统和系统接口等内容。 首先,理解ARM9的体系结构至关重要。ARM9采用五级流水线架构,包括取指、解码、执行、访存和写回五个阶段,...

    ARM嵌入式基础知识连载

    本系列教程针对初学者,旨在提供全面的ARM基础知识,帮助读者迅速入门。 首先,我们要理解什么是嵌入式系统。嵌入式系统是嵌入到其他设备中的计算机系统,通常执行特定任务,如控制、监视或通信。它们可能存在于...

    ARM基础知识ARM处理器

    本文将深入探讨ARM处理器的基础知识,特别是其寄存器结构和程序状态寄存器。 首先,ARM处理器拥有37个寄存器,其中包括31个通用寄存器和6个状态寄存器。这31个通用寄存器中包含了程序计数器(PC),它们都是32位宽...

    arm基础知识汇总

    ARM基础知识汇总 ARM技术是微处理器设计领域的一项重要技术,广泛应用于嵌入式系统。它采用精简指令集计算机(RISC)架构,支持各种模式的工作状态。ARM处理器的工作模式主要分为7种,分别包括user(用户模式)、...

    ARM架构基础知识小结

    ARM架构基础知识涵盖了从单片机向ARM架构过渡所需要学习的核心内容,重点在于理解ARM的指令集、寄存器结构、运行模式以及内存管理等方面。下面将详细解析这些知识点。 ARM架构的历史: ARM架构经历了多个版本的发展...

    ARM9嵌入式系统设计基础

    本资源的特点是以采用ARM9微处理器的S3C2410A为基础,突出嵌入式系统的基础知识,突出嵌入式系统的存储器、输入输出接口、总线接口的电路设计与编程,突出采用ARM汇编语言和嵌入式Linux的编程方法,突出图形用户接口...

    linux and arm 嵌入式基础知识

    在“Linux and ARM 嵌入式基础知识”这一主题中,我们将探讨嵌入式系统的基本概念、开发过程以及与之相关的Linux和ARM技术。 嵌入式系统是指集成在特定应用设备中的微型计算机系统,它负责设备的特定功能。学习...

    ARM基础知识.pdf

    ARM基础知识主要涵盖嵌入式系统的基本概念和特点,以及ARM处理器的技术概述。嵌入式系统是一种以应用为中心,计算机技术为基础的专用系统,它具备嵌入性、专用性、计算机特性,广泛应用于各种设备中。嵌入式系统的...

    ARM嵌入式基础知识.pdf

    ARM 嵌入式基础知识 ARM 嵌入式系统是指使用 ARM 处理器作为核心组件的嵌入式系统。ARM 处理器是高性能、低功耗、低成本的 RISC 处理器,广泛应用于工业控制、消费电子、通信系统、网络系统、无线系统等领域。 ARM...

    arm7入门基础教程

    arm开发基础知识通过他可以了解arm基础知识

    ARM9嵌入式实验

    通过这样的实验学习,学生可以加深对ARM9处理器工作原理的理解,为将来设计更复杂的嵌入式系统打下坚实基础。同时,实验四和实验五的内容相互关联,实验四是实验五的基础,而实验五则进一步提升了学生对处理器高级...

Global site tag (gtag.js) - Google Analytics