最小处理器状态

更新时间:2023-03-07 11:47:12 阅读: 评论:0

金融入门-项目管理经验

最小处理器状态
2023年3月7日发(作者:新疆的介绍)

ARM7体系结构介绍

姓名:猪俞坑

专业:通信工程

班级:二班

学号:2010132114

2012年6月23日

ARM7体系结构介绍

ARM体系结构

ARM处理器为RISC芯片,其简单的结构使ARM内核非常小,这使得器件的功耗

也非常低。它具有经典RISC的特点:

1、大的、统一的寄存器文件;

2、装载/保存结构,数据处理操作只针对寄存器的内容,而不直接对存储器进

行操作;

3、简单的寻址模式;

4、统一和固定长度的指令域,简化了指令的译码

一、ARM体系结构的特点:

1、每条数据处理指令都对算术逻辑单元和移位器控制,以实现ALU和移位器

的最大利用;

2、地址自动增加和减少寻址模式,优化程序循环;

3、多寄存器装载和存储指令实现最大数据吞吐量;

4、所有指令的条件执行实现最快速的代码执行ARM处理器核简介——ARM7

该系列包括ARM7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的

ARM720T。该系列处理器提供Thumb16位压缩指令集和EmbededICE软件调试方式,

适用于更大规模的SoC设计中。

ARM7系列广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制

解调器设备,以及移动电话、PDA等无线设备。

ARM7TDMI基于ARM体系结构V4版本,是目前低端的ARM核。具有广泛的应用,

其最显著的应用为数字移动电话。

ARM7TDMI基于ARM体系结构V4版本,是目前低端的ARM核。具有广泛的应用,

其最显著的应用为数字移动电话。

注意:“ARM核”并不是芯片,ARM核与其它部件如RAM、ROM、片内外设组合

在一起才能构成现实的芯片。

ARM7TDMI支持32位寻址范围,并弥补了ARM6不能在低于5V电源电压下工作

的不足。ARM7TDMI的后缀意义为:

ARM7TDMI,7支持高密度16位的Thumb指令集;T支持片上调试;D支持64

位乘法;M支持EmbededICE观察硬件;

ARM7TDMI处理器是ARM通用32位微处理器家族的成员之一。它具有优异的

性能,但功耗却很低,使用门的数量也很少。它属于精简指令集计算机(RISC),比复

杂指令集计算机(CISC)要简单得多。这样的简化实现了:

高的指令吞吐量;出色的实时中断响应;小的、高性价比的处理器宏单元。

三级流水线:ARM7TDMI处理器使用流水线来增加处理器指令流的速度。这样

可使几个操作同时进行,并使处理和存储器系统连续操作,能提供0.9MIPS/MHz的

指令执行速度。ARM7TDMI的流水线分3级,分别为:取指译码执行

正常操作过程中,在执行一条指令的同时对下一条指令进行译码,并将第三条

指。令从存储器中取出。

二、存储器访问

ARM7TDMI处理器使用了冯·诺依曼(VonNeumann)结构,指令和数据共用一

条32位总线。只有装载、存储和交换指令可以对存储器中的数据进行访

问。数据可以是字节(8位)、半字(16位)或者字(32位)。

计算机结构说明:

“冯·诺依曼”结构:把代码作为一种特殊的数据来操作,指令总线和数据总

线及其存储区域是统一的;

“哈佛”结构:指令总线和数据总线及其存储区是分开、独立的。

体系结构直接支持的数据类型

ARM处理器支持下列数据类型:字节8位;半字16位(必须分配为占用两个字

节)字;32为(必须分配为占用4各字节)

注意:V4版本之后的ARM结构都支持这3种结构(包括V4版本),而以前的版

本只支持字节和字;

当数据类型定义为无符号型时,N位数据值使用正常的二进制格式表示范围为

0~2N-1的非负整数;

当数据类型定义为有符号型时,N位数据值使用2的补码格式表示范围为-2N-

1~+2N-1-1的整数;

所有数据操作,例如ADD,都以字为单位;装载和保存指令可以对字节、半字和

字进行操作,当装载字节或半字时自动实现零扩展或符号扩展;ARM指令的长度刚好

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

ARM体系中的数据的存储

ARM处理器可以对32位的数据字进行操作,也可以对16位的数据半字进行操

作,也可以对8位的字节进行操作。

对于ARM这样的结构,每一个数据(或指令代码)要占据4个存储单元(32位)

或两个存储单元(16位)。这些存储单元是怎样排列的?这就产生两种存储格是:小

端(littleendian),大端(bigendian).大端存储格式:数据0x11335577小端存储

格式:数据0x11335577

ARM处理器的指令存储

下面一段ARM程序,首地址是0x8004,小端格式

0x8004[0xe3a00018]movr0,#0x18

0x8008[0xe59f1000]ldrr1,=0x20026

0x800c[0xef123456]swi0x123456

可以推论出,可以被4整除的地址都是指令的存储地址,而其它地址例如

0x200B,0x2017等都不是正确的指令地址。

同样,Thumb指令存储的正确地址应该能被2整除。

对数据存储来说,首先要找到正确的地址,在对32位数据操作时,地址末两位

(1:0)都是零;在对16位数据操作时,地址末位(0)是零。

处理器状态

ARM7TDMI处理器内核使用V4T版本的ARM结构,该结构包含32位ARM指令集

和16位Thumb指令集。因此ARM7TDMI处理器有两种操作状态:

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

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

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

使用BX指令将ARM7TDMI内核的操作状态在ARM状态和Thumb状态之间进行

切换,程序如下所示。

Thumb技术介绍

Thumb是ARM体系结构的T变种,是一种新的指令体系,它是ARM技术的一大

特色。

它有从标准32位ARM指令集抽出来的36条指令格式,可以重新编成16位的

操作码。这能带来很高的代码密度。

ARM7TDMI是第一个支持Thumb的核,支持Thumb的核仅仅是ARM体系结构的

一种发展的扩展,所以编译器既可以编译Thumb代码,又可以编译ARM代码

支持Thumb的ARM体系结构的处理器状态可以方便的切换到Thumb状态,并在

该状态下运行,在该状态下指令集是16位的。

与ARM指令集相比.Thumb指令集具有以下局限

完成相同的操作,Thumb指令通常需要更多的指令,因此在对系统运行时间要

求苛刻的应用场合ARM指令集更为适合;

Thumb指令集没有包含进行异常处理时需要的一些指令,因此在异常中断时,

还是需要使用ARM指令,这种限制决定了Thumb指令需要和ARM指令配合使用。

四、处理器模式

简介:ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中

断模式、管理模式、中止模式、未定义模式和系统模式,如下表所示。这样的好处

是可以更好的支持操作系统并提高工作效率。ARM7TDMI完全支持这七种模式。

内部寄存器

简介:在ARM7TDMI处理器内部有37个用户可见的寄存器。在不同的工作模式

和处理器状态下,程序员可以访问的寄存器也不尽相同。

ARM状态和Thumb状态之间寄存器的关系

Thumb状态R0~R7与ARM状态R0~R7相同;Thumb状态CPSR和SPSR与ARM状

态CPSR和SPSR相同;Thumb状态SP映射到ARM状态R13;Thumb状态LR映射到

ARM状态R14;Thumb状态PC映射到ARM状态PC(R15)。程序状态寄存器

简介:ARM7TDMI内核包含1个CPSR和5个供异常处理程序使用的SPSR。CPSR

反映了当前处理器的状态,其包含:4个条件代码标志(负(N)、零(Z)、进位(C)和溢

出(V));2个中断禁止位,分别控制一种类型的中断;5个对当前处理器模式进行编

码的位;1个用于指示当前执行指令(ARM还是Thumb)的位。每个异常模式还带有一

个程序状态保存寄存器(SPSR),它用于保存在异常事件发生之前的CPSR。CPSR和

SPSR通过特殊指令进行访问。

注意:如果通过程序修改CPSR寄存器中的模式位进入异常模式,那么硬件将不

会把CPSR保存至SPSR中。

五、条件代码标志

大多数“数值处理指令”可以选择是否影响条件代码标志位。通常如果指令

带S后缀,则该指令的执行会影响条件代码标志;但有一些指令的执行总是会影响条

件代码标志。

N、Z、C和V位都是条件代码标志。通过算术操作、逻辑操作、MSR或者LDM

指令可以对这些位进行设置。所有ARM指令都可按条件来执行,而Thumb指令中只

有分支指令可按条件执行。

各标志位的含义如下:N运算结果的最高位反映在该标志位。对于有符号二进

制补码,结果为负数时N=1,结果为正数或零时N=0;Z指令结果为0时Z=1(通常表

示比较结果“相等”),否则Z=0;C当进行加法运算(包括CMN指令),并且最高位产

生进位时C=1,否则C=0。当进行减法运算(包括CMP指令),并且最高位产生借位时

C=0,否则C=1。对于结合移位操作的非加法/减法指令,C为从最高位最后移出的值,

其它指令C通常不变;V当进行加法/减法运算,并且发生有符号溢出时V=1,否则

V=0,其它指令V通常不变。

控制位

CPSR的最低8位为控制位,当发生异常时,这些位被硬件改变。当处理器处于

一个特权模式时,可用软件操作这些位。它们分别是:中断禁止位;T位;模式位。中

断禁止位包括I和F位:当I位置位时,IRQ中断被禁止;当F位置位时,FIQ中断被

禁止。T位反映了正在操作的状态:当T位置位时,处理器正在Thumb状态下运行;

当T位清零时,处理器正在ARM状态下运行。模式位包括M4、M3、M2、M1和M0,这

些位决定处理器的操作模式。注意:不是所有模式位的组合都定义了有效的处理器

模式,如果使用了错误的设置,将引起一个无法恢复的错误。

保留位

CPSR中的保留位被保留将来使用。为了提高程序的可移植性,当改变CPSR

标志和控制位时,请不要改变这些保留位。另外,请确保您程序的运行不受保

留位的值影响,因为将来的处理器可能会将这些位设置为1或者0。

ARM的异常中断

在ARM体系结构中,异常中断用来处理软件中断、未定义指令陷阱(它不是真

正的“意外”事件)及系统复位功能和外部事件,这些“不正常”事件都被划归“异

常”,因为在处理器的控制机制中,它们都使用同样的流程进行异常处理。ARM的异

常中断响应过程;从异常中断处理程序中返回;异常中断向量表;异常中断的优先级

ARM的异常中断响应过程:将CPSR的内容保存到将要执行的异常中断对应的SPSR

中(硬件);设置当前状态寄存器CPSR中的相应位(硬件);将引起异常指令的下一条

指令的地址

保存到新的异常工作模式的R14(硬件);给程序计数器(PC)强制赋值(硬件);

每个异常模式对应有两个寄存器R13_、R14_分别保存相应模式下的

堆栈指针、返回地址;堆栈指针可用来定义一个存储区域保存其它用户寄存器,这样

异常处理程序就可以使用这些寄存器(软件)。FIQ模式还有额外的专用寄存器

R8_fiq~R12_fiq,使用这些寄存器可以加快快速中断的处理速度。从异常中断处理

程序中返回:

从异常中断处理程序中返回时,需要执行以下四个基本操作:所有修改过的用

户寄存器必须从处理程序的保护堆栈中恢复,即出栈(软件);将SPSR_mode寄存器内

容复制到CPSR中,即恢复被中断的程序工作状态(软件);根据异常类型将PC变回到

用户指令流中相应指令处(软件);最后清除CPSR中的中断禁止标志位I/F(软

件)。

异常中断向量表

中断向量表中指定了各异常中断与其处理程序的对应关系,每个异常中断对应

的中断向量表的4个字节的空间中存放一个跳转指令或者一个向PC寄存器中

赋值的数据访问指令(一条ARM指令),存储器的前8个字中除了地址0x00000014之

外,全部被用作异常矢量地址

异常中断的含义:复位:复位引脚有效,系统复位;未定义:未定义的指令;软中

断:用户自定义的指令,可以由用户模式进入特权模式。;取指中止:在取指时发生指

令不存在或取制无效。;数据中止:在取数据时发生数据不存在或数据无效。;IRQ:

普通中断,IRQ引脚引起的中断;FIQ:快速中断,FIQ引脚引起的中断

异常中断的优先级

当几个异常中断同时发生时,在ARM中通过给各异常中断赋予一定的优先级来

实现处理次序:复位(最高优先级);数据异常中止;FIQ;IRQ;预取指异常中止;SWI、

未定义指令。

三级流水线ARM的组织

到ARM7为止的ARM处理器使用简单3级流水线,分别为:取指-译码-执行。在

3级流水线的执行过程中,当通过R15寄存器直接访问PC时,必须考虑到此时流水

线的执行过程的真实情况。

ARM的存储器层次简介

寄存器组;片上RAM;片上Cache;主存储器;硬盘

基于ARM核的芯片选择

从应用的角度,ARM芯片选择的一般原则:MMU;处理器速度;内置存储;容

量;USB接口;GPIO数量;中断控制器;IIS(IntegrateInterfaceofSound)音频接

口;RTC(RealTimeClock);LCD控制器;PWM输出

本文发布于:2023-03-07 11:47:11,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/1678160832171827.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:最小处理器状态.doc

本文 PDF 下载地址:最小处理器状态.pdf

上一篇:自主实习
下一篇:返回列表
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 站长QQ:55-9-10-26 专利检索|