第02章-处理器工作模式
微机原理与接口技术习题答案

01-01 什么是冯.诺依曼机?(PP7)答:微型计算机的操作过程采用的是程序存储原理,这是由数学家冯.诺依曼(Jone Von Neumen)首先提出的,因此计算机常常称为冯.诺依曼机。
程序存储原理指出:用机器码指令排出的程序在执行前,首先存储于存储器中,存储器既存储程序又存储数据。
然后CPU逐条地从存储器中逐次取出一条条指令码,把指令码变成控制信号序列,控制信号发向有关的部件,控制完成指令规定的操作。
即MPU逐条地从内存储器中取出程序中的指令并执行指令规定的操作。
01-02 微处理器,微型计算机,微型计算机系统有什么联系与区别?(PP4~5)答:微处理器主要由运算器、控制器、寄存器阵列和片内总线组成;微型计算机主要由微处理器、内存储器、I/O接口电路和总线组成;微型计算机系统由微型计算机、I/O设备和各种软件组成。
微处理器不能构成独立的工作系统,它不能独立地执行程序;微型计算机是构成独立工作系统的最小配置;微机系统是用户使用计算机的基本配置。
01-04 画出微机系统框图。
(PP7)01-12 将下列十进制数转换为8位有符号二进制数。
(1)+32 (2)-12解(1):[+32]原=0010,0000B,[+32]反=0010,0000B,[+32]补=0010,0000B解(2):[-12]原=1000,1100B,[-12]反=1111,0011B,[-12]补=1111,0100B01-14 将下列二进制数转换为有符号十进制数。
(1)1000,0000B (3)1001,0010B解(1):查编码表1000,0000B=-128D解(3):1001,0010B取反+1=11101101+1=11101110B=-110D02-01 8086 CPU内部由哪两部分组成?他们的主要功能是什么?(P22~24)答:8086 CPU由总线接口部件BIU和指令执行部件EU组成。
BIU的功能:形成地址、取指令、指令排队、读/写OPR和总线控制。
第2章_2 8086工作模式、基本时序

控制 逻辑
控制 信号 发生器
MRDC MWTC AMWC IOWC IORC AIOWC INTA
DT/R DEN MCE/PDEN ALE
9
IOB:总线工作方式信号,决定该8288的工作方式。
=0,系统总线工作方式 IOB
=1,I/O总线工作方式
AEN: 地址使能信号,当8288处于系统总线方式下(IOB=0), 用于多总线同步。该信号保持低电平115ns后,8288开始输出 控制信号。
DB
6
(1)不同状态下8288对应的输出命令信号
S2 S1 S0 000 001 010 011 100 101 110 111
中断响应 读I/O 写I/O 暂停 取指 读存储器 写存储器 无效
INTA IORC IOWC AIOWC
MRDC MRDC MWTC AMWC
7
8288各输出命令信号的功能
1
1、最小工作模式下的系统配置
MN/MX =1 接+5V
VCC
8284A RES
MN/MX RD
CLK
WR M/IO
READY BHE/S7
RESET A16~A19
ALE
AD0~AD15
DEN DT/R 8086
CPU
74LS
373 D G D
A
B
74LS
245
DT/R
G
RAM
CB AB
I/O
I/O
... AD15-0、A9-16、S6-3
... 8086使用总线
...
... 3)8087,8089使用总线
5)8086重新控制总线
24
8086/8088的存储器组织(附加)
微型计算机原理及应用第四版答案

微型计算机原理及应用第四版答案【篇一:《微型计算机原理及应用》课后习题答案】=txt>第一章1.1 解释题(1) 微处理器【解答】由大规模集成电路芯片构成的中央处理器(cpu),叫做微处理器。
(2) 微型计算机【解答】以微处理器为基础,配以内存储器、输入输出接口电路、总线以及相应的辅助电路而构成的计算机裸机,叫做微型计算机。
(3) 微型计算机系统【解答】微型计算机系统由硬件系统和软件系统组成。
即由微型计算机、配以相应的外部设备(如打印机、显示器、键盘、磁盘机等),再配以足够的软件而构成的系统。
(4) 单板机【解答】将微处理器、ram、rom以及i/o接口电路,再配上相应的外设(如小键盘、led显示器等)和固化在rom中的监控程序等,安装在一块印刷电路板上构成的微型计算机系统称为单板机。
(5) 运算器【解答】运算器是直接完成各种算术运算、逻辑运算的部件,主要由alu(arithmetic and logic unit,算术逻辑部件)、通用寄存器、标志寄存器等组成。
(6) 地址总线【解答】地址总线是cpu对内存或外设进行寻址时,传送内存及外设端口地址的一组信号线。
地址总线的条数多少决定了cpu的寻址能力。
(7) 数据总线【解答】数据总线是cpu与内存或外设进行信息交换时,所用的一组数据信号线。
它决定了cpu一次并行传送二进制信息的位数,反映出cpu的“字长”这个重要性能指标。
(8) 控制总线【解答】控制总线是在cpu与外部部件之间传送控制信息(如读/写命令、中断请求命令等)的一组信号线。
1-2 单片机应包括哪些基本部件?其主要应用于哪些领域?【解答】一般单片机芯片中包括微处理器、ram、rom、i/o接口电路、定时器/计数器,有的还包括a/d、d/a转换器等。
其主要应用于智能化仪器仪表及工业控制领域。
1-3 按图1-11和图1-12,写出取第二条指令操作码和执行第二条指令的过程。
【解答】1) ip的值(002h)送入地址寄存器ar;2) ip的内容自动加1,变为003h;3) ar将地址码通过地址总线送到存储器的地址译码器,经译码后选中002h单元;4) 微处理器给出读命令;5) 所选中的002h单元内容04h送上数据总线db;6) 数据总线db上的数据04h送到数据寄存器dr;7) 因是取指操作,取出的是指令操作码04h,即由dr送入指令寄存器ir;8) ir中的操作码经指令译码器id译码后,通过pla发出执行该指令的有关控制命令。
微型计算机技术及应用第四版习题部分答案

微型计算机技术及应用第四版习题部分答案第一章微型计算机概述1.1微处理器、微型计算机和微型计算机系统三者之间有什么不同?答:①微处理器是微型计算机的核心,是微型计算机的一部分。
它是集成在一块芯片上的CPU,由运算器和控制器组成。
②微型计算机包括微处理器、存储器、I/O接口和系统总线,是微型计算机系统的主体。
③微型计算机系统包括微型计算机、外设及系统软件三部分。
1.2CPU在内部结构上由哪几部分组成?CPU应具备哪些主要功能?答:1.CPU在内部结构上由以下几部分组成:①算术逻辑部件(ALU);②累加器和通用寄存器组;③程序计数器(指令指针)、指令寄存器和译码器;④时序和控制部件。
2.CPU应具备以下主要功能:①可以进行算术和逻辑运算;②可保存少量数据;③能对指令进行译码并执行规定的动作;④能和存储器、外设交换数据;⑤提供整个系统所需要的定时和控制;⑥可以响应其他部件发来的中断请求。
1.3累加器和其他通用寄存器相比,有何不同?答:许多指令的执行过程以累加器为中心;输入/输出指令一般也以累加器来完成。
1.4微处理器的控制信号有哪两类?答:一类是通过对指令的译码,由CPU内部产生的。
这些信号由CPU 送到存储器、I/O接口电路和其他部件。
另一类是微型机系统的其他部件送到CPU的。
通常用来向CPU发出请求。
如中断请求、总线请求等。
1.5微型计算机采用总线结构有什么优点?答:首先是系统中各功能部件之间的相互关系变为各个部件面向总线的单一关系。
其次是一个部件只要符合总线标准,就可以连接到采用这种总线标准的系统中,使系统功能得到扩充。
第1页共37页1.616位微型机和32位微型机的内存容量最大时分别为多少?答:16位微型机内存容量为1MB,32位微型机的内存容量为4GB第二章8086微处理器2.3段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗?答:1.该指令的物理地址=CS某10H+IP=21F00H。
02-ARM技术概述

2.1 ARM体系结构的发展历史和技术特征
1. ARM发展的历程 2. ARM体系结构的技术特征
1、ARM发展的历程
最近10多年来ARM技术的突出成果表现在:
使用“Thumb”的新型压缩指令格式,使得应用系统开 发可降低系统成本和功耗; ARM9、ARM10、Strong-ARM 和 ARM11 等 系 列 处 理 器的开发,显著地提高了ARM的性能,使得ARM技术 在面向高端数字音、视频处理等多媒体产品的应用中更 加广泛; 更好的软件开发和调试环境,加快用户产品开发; 更为广泛的产业联盟使得基于ARM的嵌入式应用领域 更加广阔; 嵌入在复杂SoC中、基于ARM核的调试系统代表着当 今片上调试技术的前沿。
V4T
V4 V4T V5TE V5TE V6 V7
ARM9E-S
ARM10TDMI,ARM1020E ARM11,ARM1156T2-S,ARM1156T2F-S,ARM1176JZ-S, ARM11JZF-S Cortex A7,Cortex A8,Cortex A9
2、ARM体系结构的演变
1)Thumb指令集(T变种) Thumb指令集是把32位的ARM指令集的一个子集重 新编码后而形成的一个特殊的16位的指令集 2)长乘指令(M变种) 长乘指令是一种生成64位相乘结果的乘法指令(此 指令为ARM指令),M变种增加了两条长乘指令
2.6 ARM寄存器组成
1. 2. 3. ARM寄存器组成概述 ARM状态下的寄存器组织 Thumb状态下的寄存器组织
1、ARM寄存器组成概述
ARM处理器总共有37个寄存器,可以分为以下两类 寄存器 :31个通用寄存器 R0~R15 R13_svc、R14_svc R13_abt、R14_abt R13_und、R14_und R13_irq、R14_irq R8_fiq ~ R14_fiq 6个状态寄存器 CPSR、SPSR_svc、SPSR_abt、SPSR_und、 SPSR_irq和SPSR_fiq
微计算机原理基础填空题附答案

第一章:概述●计算机时钟脉冲的频率称为(主频),它的倒数称为(时钟周期)。
●冯. 诺依曼原理是基于(程序存储)和(程序控制)。
●计算机中的总线包括(地址总线)、(数据总线)和(控制总线)。
●CPU有(运算器)、(控制器)、(寄存器)和(接口单元)。
●计算机硬件系统由(CPU )、(存储器)和(I/O接口)组成。
●计算机系统由(硬件)系统和(软件)系统两大部分组成。
●CPU的字长与(数据线宽度)有关;寻址空间与(地址线宽度)有关。
●若CPU的数据线宽度为8位,则它的字长为(8 )位;地址线宽度为16位,则它的寻址空间为(64K )。
●计算机语言分为(机器)语言、(汇编)语言和(高级)语言。
●计算机软件分为(系统)软件和(应用)软件两大类。
●将源程序翻译为目标程序的语言处理程序有(汇编)程序、(解释)程序和(编译)程序。
●指令通常包含(操作码)和(操作数)两部分;不同功能指令的有序集合称为(程序)。
●正数的原、反、补码(相同);负数的原、反、补码(不同)。
●十进制数17的二进制数表示为(00010001B )。
●十六进制数17H的二进制数表示为(00010111B )。
●十进制符号数+5在计算机中的8位二进制补码表示为(00000101 )。
●十进制符号数-5在计算机中的8位二进制补码表示为(11111011 )。
●机内符号数01111000的真值为(+120 );机内符号数11111000的真值为(-8 )。
●计算机处理小数有(定点)表示法和(浮点)表示法。
●在小数的定点表示中有(纯小数)表示和(纯整数)表示。
●基本ASCII码为(7 )位编码,共(128 )个码值;含(32 )个控制码和(94 )个符号码。
●字符A的ASCII码值为41H;字符a的ASCII码值为(61H );字符B的ASCII码值为(42H )。
●十进制数89的二进制表示为(01011001 );十六进制表示为(59H )。
●十六进制数7BH的十进制数表示为(124 );二进制表示为(01111011B )。
《VisualFoxPro9.0项目开发案例教程》第02章
报表生成
1
报表设计器
VisualFoxPro9.0提供了强大的报表设
查询与过滤
2
计器,支持多种样式和布局类型、不 同的数据源和多个页类型等。
报表生成的核心在于数据的准确性,
用户可以基于SQL语句进行数据筛选
和排序,进而生成相应的报表。
Байду номын сангаас
3
导出与打印
报表生成后,用户可以选择将其导出 为不同的格式,如Word、Excel和 PDF等。也可以直接打印到打印机或 PDF文件中。
语法基础
1
变量类型
VisualFoxPro9.0支持不同的变量类
运算符
2
型,包括字符型、数值型、日期型和 逻辑型等。每种类型对应的取值范围
VisualFoxPro9.0提供了丰富的运算
和运算规则都不同。
符支持,例如算数运算符、关系运算
符、逻辑运算符和位运算符等。还可
以通过自定义函数扩展运算。
3
控制语句
常见问题解答
常见错误解决
VisualFoxPro9.0常见错误解决是解决常见的维 护问题,解决后将为您的工作效率提升一个层 次。
速度优化
VisualFoxPro9.0运行速度对于处理大数据的应 用有很大的影响,快速运行速度可以节约大量 的时间,提高开发效率。
实际案例
企业员工管理系统
该系统基于VisualFoxPro9.0教程,结合企业管理流程需要进行开发,收到了广泛应用。
未来发展前景
VisualFoxPro9.0以面向对象和精细化的开发思 路,赢得了越来越多的用户的青睐和认可。在 未来,随着应用范围的不断扩大, VisualFoxPro9.0也会越来越受到关注和创新。
浙江大学远程教育-数据库系统概论在线作业及答案
您的本次作业分数为:100分单选题1.【第01章】数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是()。
A DBS包括DB和DBMSB DBMS包括DB和DBSC DB包括DBS和DBMSD DBS就是DB,也就是DBMS正确答案:A单选题2.【第01章】数据库三级模式体系结构的划分,有利于保持数据库的()。
A 数据库独立性B 数据库安全性C 结构规范化D 操作可行性正确答案:A单选题3.【第01章】在数据库的三级模式结构中,描述数据库用户能够看到和使用的局部数据的逻辑结构和特征描述的是指()。
A 模式B 内模式C 外模式D 逻辑模式正确答案:C单选题4.【第01章】公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是()。
A 多对多B 一对一C 多对一D 一对多正确答案:C单选题5.【第01章】下列四项中说法不正确的是()。
A 数据库减少了数据冗余B 数据库中的数据可以共享C 数据库避免了一切数据的重复D 数据库具有较高的数据独立性正确答案:C单选题6.【第01章】下列数据模型中,数据独立性最高的是()。
A 网状数据模型B 关系数据模型C 层次数据模型D 非关系模型正确答案:B多选题7.【第01章】数据模型的组成要素包括()。
A 数据结构B 数据操作C 实体D 完整性约束E 关系正确答案:ABD多选题8.【第01章】使用数据库系统的好处体现在()。
A 提高应用开发的效率B 方便用户的使用,减轻数据库系统管理人员维护的负担C 便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性D 有利于应用程序的开发和维护正确答案:ABCD多选题9.【第01章】与人工管理和文件系统相比,数据库系统的特点主要体现在以下哪些方面?A 数据结构化B 数据的共享性高,冗余度低,易扩充C 数据独立性高D 数据由DBMS统一管理和控制正确答案:ABCD多选题10.【第01章】常用的数据模型有()。
嵌入式系统及应用-Chapter02-嵌入式硬件系统
输入/输出接口和设备
• 嵌入式系统的大多数输入/输出接口和部分 设备已经集成在嵌入式微处理器中。 • 输入/输出接口主要有中断控制器、DMA、 串行和并行接口等,设备主要有定时器 (Timers)、计数器(counters)、看门 狗(watchdog timers)、RTC、UARTs、 PWM(Pulse width modulator)、AD/DA、 显示器、键盘和网络等。
由硬件完成部分软件功能,硬件复 杂性增加,芯片成本高
减少代码尺寸,增加指令的执行周 期数 大量的混杂型指令集,有简单快速 的指令,也有复杂的多周期指令, 符合HLL(high level language) 硬件完成 复杂的寻址模式,支持内存到内存 寻址 微码 寄存器较少
由软件完成部分硬件功能,软件复 杂性增加,芯片成本低
• 嵌入式系统的存储器包括主存和外存。
• 大多数嵌入式系统的代码和数据都存储在处 理器可直接访问的存储空间即主存中。
• 系统上电后在主存中的代码直接运行。主存 储器的特点是速度快,一般采用ROM、EPROM、 Nor Flash、SRAM、DRAM等存储器件。
存储器
• 目前有些嵌入式系统除了主存外,还有外 存。外存是处理器不能直接访问的存储器, 用来存放各种信息,相对主存而言具有价 格低、容量大的特点。 • 在嵌入式系统中一般不采用硬盘而采用电 子盘做外存,电子盘的主要种类有 NandFlash、 SD (Secure Digital)卡、 CompactFlash、SmartMedia、Memory Stick、MultiMediaCard、、 DOC(Disk On Chip)等。
Total Embedded Control Market Shipments by Type
第2 章 ARM体系结构及编程模型(OBE)汇总
ARM9TDMI的五级流水线
2020/6/24
ARM7TDMI与ARM9TDMI流水线比较
3.ARM9TDMI的五级流水线
ARM7TDMI与ARM9TDMI流水线比较
2020/6/24
ARM7和ARM9流水线比较
• 5级流水线的ARM9内核是哈佛架构,拥有独立的 指令和数据总线;指令和数据的读取可以在同一周 期进行;
ARM1020E XScale ARM9E-S ARM966E-S
SIMD Instructions
6
Multi-processing
V6 Memory architecture (VMSA)
Unaligned data
support
ARM1136EJ-S
ARM系列产品命名规则
ARM 926EJ-S
ARM体系结构的特点
• 1) RISC型处理器结构
– (LOAD/STORD, I-cache, D-cache)
• 2)Thumb指令集 (32/16) • 3)多处理器状态模式 (7) • 4)两种处理器工作状态(2) • 5)嵌入式在线仿真调试(ICE-RT ,JTAG) • 6)灵活方便的协处理器接口 (16个) • 7)低电压功耗的设计
ARM体系结构的发展
Halfword
4
1
and signed halfword /
byte support
System
2
mode
SA-110 SA-1110
3
Early ARM architectures
Thumb instruction set
ARM7TDMI
4T
ARM9TDMI
ARM720T
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章处理器工作模式2.1概述S3C2440采用了非常先进的ARM920T内核,它是由ARM(Advanced RISC Machines) 公司研制的。
2.2 处理工作状态从程序员的角度上看,ARM920T可以工作在下面两种工作状态下的一种:● ARM 状态:执行32位字对齐的ARM指令● THUMB 状态:执行16位半字对齐的THUMB指令。
在这种状态下,PC 寄存器的第一位来选择一个字中的哪个半字注意;这两种状态的转换不影响处理模式和寄存器的内容。
2.3 切换状态进入THUMB 状态进入THUMB 状态,可以通过执行BX指令,同时将操作数寄存器的状态位(0位)置1来实现。
当从异常(IRQ,FIQ,UNDEF,ABORT,SWI等)返回时,只要进入异常处理前处理器处于THUMB状态,也会自动进入THUMB状态。
进入ARM状态进入ARM状态,可以通过执行BX指令,并且操作数寄存器的状态位(0位)清零来实现。
当处理进入异常(IRQ,FIQ,RESET,UNDEF,ABORT,SWI等)。
这时,PC值保持在异常模式下的link寄存器中,并从异常向量地址处开始执行处理程序。
存储空间的格式ARM920T将存储器空间视为从0开始由字节组成的线性集合,字节0到3中保存了第一个字节,字节4到7中保存第二个字,以此类推,ARM920T对存储的字,可以按照小端或大端的方式对待。
大端格式:在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放2.4 指令长度指令可以是32位长度(在ARM状态下) 或16位长度(在THUMB状态) 。
数据类型ARM920T支持字节(8位),半字(16位) 和字(32位) 数据类型。
字必须按照4字节对齐,半字必须是2字节对齐。
2.5 操作模式ARM920T支持7种操作模式:● 用户模式(user模式),运行应用的普通模式● 快速中断模式(fiq模式),用于支持数据传输或通道处理● 中断模式(irq模式),用于普通中断处理● 超级用户模式(svc模式),操作系统的保护模式● 异常中断模式(abt模式),输入数据后登入或预取异常中断指令● 系统模式(sys模式),使操作系统使用的一个有特权的用户模式● 未定义模式(und模式),执行了未定义指令时进入该模式]外部中断,异常操作或软件控制都可以改变中断模式。
大多数应用程序都是在用户模式下进行,进入特权模式是为了处理中断或异常请求或操作保护资源服务的。
2.6 寄存器FIQ模式拥有7个私有寄存器R8-14(R8_fiq-R14_fiq)。
在ARM状态下,多数FIQ 处理都不需要保存任何寄存器。
用户、中断、异常中止,超级用户和未定义模式都拥有2个私有寄存器,R13和R14。
允许这些模式都可拥有1个私有堆栈指针和链接寄存器。
图2-3 ARM状态下的寄存器结构THUMB 状态寄存器THUMB 状态寄存器是ARM状态寄存器的一个子集。
程序员可以直接操作8个通用寄存器R0-R7,同样可以这样操作程序计数器(PC),堆栈指针寄存器(SP),链接寄存器(LR),和CPSR。
它们都是各个特权模式下的私有寄存器,链接寄存器和程序状态寄存器(SPSRs)。
如图2-4ARM 和THUMB 状态寄存器间的关系:● THUMB 状态下R0-R7和ARM 状态下R0-R7是等同的● THUMB 状态下CPSRs和SPSRs跟ARM状态的CPSR和SPSRs是等同的● THUMB 状态下的SP映射在ARM状态下得R13上● THUMB状态下的LR映射在ARM状态下得R14上● THUMB状态下程序计数器映射在ARM状态下的程序计数器上(R15)图2-5显示了它们的关系:在THUMB状态下访问高地址寄存器在THUMB状态下寄存器R8-15(高地址寄存器)不是标准寄存器集。
但是,汇编语言的程序员可以访问它们并用它们作快速暂存。
采用MOV指令的某个变型,从R0-R7(低地址寄存器)的某个寄存器传送数据到达高地址寄存器,或者从高地址寄存器传送到低地址寄存器。
还可以采用CMP和ADD指令,将高地址寄存器的值与低地址寄存器的值进行比较或相加。
想获得这方面更多的信息,请参考图3-34。
2.7 程序寄存器状态ARM920T具有一个当前程序状态寄存器(CPSR),另外还有5个保存程序状态寄存器(SPSRs)用于异常中断处理。
这些寄存器的功能有:● 保留最近完成的ALU操作的信息● 控制中断的使能和禁止● 设置处理器的操作模式下图2-6显示了程序状态寄存器的位定义:2.7.1条件码标志N、Z、C、V均为条件码标志位。
它们的内容根据算术或逻辑运算的结果所改当正常的程序执行流程被临时中断时,称为产生了异常。
例如程序执行转向一个外设的中断请求。
在异常能被处理前,当前处理器的状态必须被保留,这样按处理程序完成时就能恢复原始的程序。
有可能同时产生好几个异常,如果出现这种情况,就应该按固定的顺序处理。
详情请看后面对异常优先级的说明。
2.8.1进入异常时的行为当一个异常发生时,ARM920T 将进行以下步骤:1. 将下一条指令的地址保存到相应的Link 寄存器中。
如果异常是从ARM状态进入的,下一条指令的地址拷贝到Link寄存器(根据异常的类型,数值为当前PC+4或PC+8,具体请看表2-8)。
如果异常是从THUMB态进入,那么写入到link寄存器的值是当前的PC偏移一个值。
这表示异常处理程序不需要关心是从哪种状态进入异常的。
例如,在SWI情况下,无论是来自ARM或THUMB状态,处理程序只要采用MOVSPC,R14-svc 语句,总可以返回到原始程序的下一条语句。
2.拷贝CPSR到相应的SPSR;3.根据异常类型强制改变CPRS模式位的值;4.令PC的值指向异常处理向量所指的下一条指令。
这时也可能设置中断禁止标志,以防止不可估计的异常嵌套发生。
当处理器处于Thumb状态时发生了异常,当PC载入异常矢量所在地址时,它将自动的切换到ARM状态。
2.82离开异常处理时的行为当完成异常处理时:1.将Link寄存器,减去相应的偏移量,赋给PC(偏移量的值由异常的类型决定);2.拷贝回SPSR到CPSR;3.如果在进入中断时设置了中断禁止标志,清除它。
注意:你不需要特别指明切换回THUMB状态。
因为原来的CPSR被自动的保存到了SPSR。
2.83异常进入/退出的总结表2-8总结了在进入异常时,保留到相应的R14中的PC的值,和推荐使用的退出异常处理时采用的语句。
2.8.4 FIQ中断FIQ(快速中断请求)异常通常是用来支持数据传输和通道操作的,在ARM 状态下,它具有充分的私有寄存器,用来减少寄存器存取的需要(从而减少进入中断前的“上下文切换”的工作)。
FIQ中断是由外部设备通过拉低nFIQ引脚触发的。
通过对ISYNC 输入引脚的控制nFIQ可以区别同步或异步的传输情况;当ISYNC 为低电平nFIQ和nIRQ将被认为是异步的,中断之前产生同步周期延长的话会影响处理器的流程。
不管是ARM还是Thumb状态下的异常,FIQ处理程序都可以通过执行以下的语句来退出中断处理:SUBS PC, R14-fiq, #4通过设置CPSR的F标记位可以禁止FIQ中断(但是要注意到在用户模式下是不可行的)。
如果F标记位已经清除,ARM920T在每个指令的最后检测来自FIQ 中断同步器的低电输出。
2.8.5 IRQ 中断IRQ(中断请求)异常是由nIRQ输入低电平引发的普通中断。
IRQ中断相对FIQ中断来说是优先级低,当一个FIQ中断序列进入时它将被屏蔽。
IRQ也可以通过设置CPRS中的“I”标志来禁止,只能在特权(非用户)模式下这样做。
无论 IRQ发生在ARM或者Thumb状态下,都可以采用以下语句来退出中断处理:SUBS PC, R14-fiq, #42.8.6Abort 异常中止异常中止表示当前存储访问不能完成。
通过外部的ABORT输入信号来告知内核。
ARM920T在每次的存储操作中检测该异常是否发生。
有两种类型的异常中止:● 预取指异常中断:指令预取时产生● 数据异常中断;数据访问时产生如果产生预取指中止,所取得的指令将会被标志为无效的,但是异常不会立即发生,要直到取指到达了管道的头部才会发生。
/如果这些指令不执行-例如在管道内发生了分支跳转,那么异常就不会发生了。
如果产生数据异常中止,根据指令类型进行操作:● 简单数据传输指令(LDM,STR)写回改变的基址寄存器:异常中断处理器必须清楚这些。
● 取消交换指令尽管它还没执行● 数据块传输指令(LDM,STM)完成。
如果设置为写回,基址已经矫正。
如果指令超出了数据的写基址(传输目录中有它的基址),就应该防止写超出。
在中止异常将会发生时,所有寄存器的覆盖写入都是禁止的。
这意味着特别是R15(经常是最后一个改变的寄存器)的值将在中止的LDM指令中保留下来。
Abort机制使得页面虚拟存储器机制得以实现。
在采用虚拟存储器的系统中,处理器可以产生任意的地址。
当某个地址的数据无效,MMU(存储器管理单元)将产生一个abort中止。
这样abort的处理程序也就不需要了解实际可用存储空间的大小,也不需要了解异常中断对他的影响。
在完成了异常中断的处理后,通过以下语句推出中断处理(与ARM状态还是Thumb状态无关):SUBS PC,R14-abt,#4; 预取指abortSUBS PC, R14-abt,#8; 数据abort通过执行该语句,就恢复了PC和CPSR,并重试被中断的指令。
2.8.7软件中断SWI(软件中断指令)用来进入超级用户模式,通常用于请求特殊的超级用户功能。
SWI的处理程序通过执行以下状态(ARM或Thumb)的语句,退出异常处理;MOV PC, R14-svc通过执行该语句,就恢复了PC 和CPRS,并返回到SWI后面的指令上。
注意:前面提到的nFIQ,nIRQ,ISYNC,LOCK,BIGEND,和ABORT引脚只存在于ARM920TCPU的内核里。
2.8.8未定义指令当ARM920T遇到一个它不能执行的指令,它将产生一个未定义指令陷阱。
这个机制是软件仿真器用来扩展Thumb和ARM指令集用的。
在完成对未知指令的处理后,陷阱处理程序应该执行以下的语句退出异常处理(无论是ARM或Thumb状态):MOVS PC,R14-und通过执行该语句,恢复了CPSR,并返回执行未定义指令的下一条指令。
2.8.9 异常中断向量异常中断向量的地址如下图所示:表格2-3 异常中断向量最低优先级:6.未定义指令,软件中断。
并非所有的异常中断都可能同时发生:未定义指令和软件中断是相互排斥的,因为他们都对应于当前指令的唯一的(非重叠的)解码结果。