1、嵌入式系统原理与技术全册嵌入式系统原理与技术全册 配套完整精品课件配套完整精品课件1 嵌入式系统嵌入式系统 倪福川倪福川 华中农业大学理学院计算机系华中农业大学理学院计算机系 3 主要内容 嵌入式系统简介嵌入式系统简介 嵌入式处理器嵌入式处理器 嵌入式操作系统嵌入式操作系统 嵌入式系统典型应用嵌入式系统典型应用 嵌入式系统的基本设计过程嵌入式系统的基本设计过程 4 嵌入式系统简介 n定义:以应用为中心,以计算机技术为基础, 软硬件可裁剪,适应应用系统对功能、可靠 性、成本、体积、功耗等严格要求的专用计 算机系统 5 n嵌入式系统是将先进的计算机技术、半导 体技术和电子技术和各个行业的具体应用相
2、 结合后的产物, n它必然是一个技术密集、资金密集、高度分 散、不断创新的知识集成系统。 6 嵌入式系统组成 n嵌入式系统的构架可以分成四个部分:处理 器、存储器、输入输出(I/O)和软件(由 于多数嵌入式设备的应用软件和操作系统都 是紧密结合 ) 7 n嵌入式系统必须根据应用需求对软硬件进行 裁剪,满足应用系统的功能、可靠性、成本、 体积等要求。 n如果能建立相对通用的软硬件基础,然后在 其上开发出适应各种需要的系统,是一个比 较好的发展模式。 8 嵌入式系统简介嵌入式系统简介 n微处理器微处理器(Microprocessor Unit, MPU) n微控制器微控制器(Microcontro
3、ller Unit, MCU) n嵌入式嵌入式DSP (Embedded Digital Signal Processor, EDSP) n片上系统片上系统(System On Chip) 9 嵌入式处理器分类 n微处理器微处理器(Microprocessor Unit, MPU) n微控制器微控制器(Microcontroller Unit, MCU) n嵌入式嵌入式DSP (Embedded Digital Signal Processor, EDSP) n片上系统片上系统(System On Chip) 10 嵌入式微处理器 11 n目前主要的嵌入式处理器类型有目前主要的嵌入式处理器类型
4、有Am186/88Am186/88、386EX386EX、SC-400SC-400 、PowerPCPowerPC、6800068000、MIPSMIPS、ARM/StrongARMARM/StrongARM系列等系列等 嵌入式微处理器 12 嵌入式微控制器 n又称单片机芯片内部集成ROM/EPROM、RAM、 总线、总线逻辑、定时/计数器、看门狗、 I/O、串行口、脉宽调制输出、A/D、D/A、 Flash RAM、EEPROM等各种必要功能和外设。 n代表性的通用系列包括8051、P51XA、MCS- 251、MCS-96/196/296、C166/167、 MC68HC05/11/12
5、/16、68300等。 13 嵌入式微控制器 n微控制器的最大特点是单片化,体积大大减小,微控制器的最大特点是单片化,体积大大减小, 从而使功耗和成本下降、可靠性提高。从而使功耗和成本下降、可靠性提高。 n微控制器是目前嵌入式系统工业的主流。微控制微控制器是目前嵌入式系统工业的主流。微控制 器的片上外设资源一般比较丰富,适合于控制,器的片上外设资源一般比较丰富,适合于控制, 因此称为微控制器。因此称为微控制器。 14 嵌入式DSP处理器 nDSP处理器是专门用于信号处理方面的处理 器,其在系统结构和指令算法方面进行了特 殊设计,在数字滤波、FFT、谱分析等各种 仪器上DSP获得了大规模的应用。
6、 nDSP处理器对系统结构和指令进行了特殊设 计,使其适合于执行DSP算法,编译效率较 高,指令执行速度也较高。 15 嵌入式DSP处理器 n有代表性的产品是Texas Instruments的 TMS320系 列和Motorola的DSP56000系列。 nMotorola公司的DSP56000已经发展成为DSP56000, DSP56100, DSP56200和DSP56300等几个不同系列的 处理器。 nPHILIPS公司今年来也推出了基于可重置嵌入式DSP 结构低成本、低功耗技术上制造的DSP处理器,特点 是具备双Harvard结构和双乘/累加器单元,应用目标 是大批量消费类电子产品。
7、 16 nSoC就是System on Chip,SoC是一种基于IP (Intellectual Property)核嵌入式系统设计技术。 它结合了许多功能区块,将功能做在一个芯片上, ARM RISC、MIPS RISC、DSP或是其他的微处理 器核心,加上通信的接口单元,例如通用串行端 口(USB)、TCP/IP通信单元、GPRS通信接口、 GSM通信接口、IEEE1394、蓝牙模块接口等等, 这些单元以往都是依照各单元的功能做成一个个 独立的处理芯片。 嵌入式片上系统(SoC) 17 SOC体系结构 ASIC Core Memory Embedded Processor Core An
8、alog Functions Communication Sensor Interface 18 SOC体系结构 n在一个硅片上实现一个复杂的系统 n各种通用处理器内核将作为标准库,和许多 其它嵌入式系统外设一样,成为VLSI设计中 一种标准的器件,用标准的VHDL等语言描 述,存储在器件库中。 n用户只需定义出其整个应用系统,仿真通过 后就可以将设计图交给半导体工厂制作样品。 大部分均可集成到一块或几块芯片中去,应 用系统电路板将变得很简洁,对于减小体积 和功耗、提高可靠性非常有利。 19 知识产权 20 主要内容 嵌入式系统简介嵌入式系统简介 嵌入式处理器嵌入式处理器 嵌入式操作系统嵌入式
9、操作系统 嵌入式系统的典型应用嵌入式系统的典型应用 嵌入式系统的基本设计过程嵌入式系统的基本设计过程 21 嵌入式系统的应用领域 嵌入式应用嵌入式应用 信息家电信息家电 智能玩具智能玩具 军事电子军事电子 通信设备通信设备 移动存贮移动存贮 工控设备工控设备 智能仪表智能仪表 汽车电子汽车电子 网络设备网络设备 消费电子消费电子 军事国防军事国防 电子商务电子商务 网络网络 工业控制工业控制 22 goReader Internet eBook Samsung AnyWeb Internet Screen Phone eRemote Intelligent Home Controller Te
10、ktronix TDS7000 Digital Oscilloscopes Nixvue Digital Album Digital Photo Album 一些典型的嵌入式系统应用实例 23 嵌入式系统的应用 n家用方面:数字电视、信息家电、智能玩具、 手持通讯、存储设备的核心。 24 嵌入式视频服务器 25 现代化家庭 26 嵌入式Internet应用 27 嵌入式系统在信息家电中的应用 n信息家电(Information Appliance) n一般可认为,那些低单价、操作简单、可 通过因特网发送或获取信息,将逐步分割 或替代PC的某些功能,并能与其它信息产 品交换资料或讯息的产品可统称
11、为信息家 电。 28 信息家电的分类及特点 n信息家电的分类 n网络电视(NetTV) n网上游戏机(Internet gaming device) n智能掌上型设备(Internet smart handheld device) n网络电话(Internet screen Phone) nConsumer NC client等。 n信息家电技术特点 n处理器发展趋向低成本、高整合性与低耗能。 n整合数字与模拟处理的技术。 n较PC更强调通讯能力。 n利用软件增加产品的差异性(高附加价值的关键) 29 典型的信息家电产品 信息家电 定义代表性产品 网络电视具有机顶盒或内建网络 连接的电视 Mi
12、crosoft WebTV 网络可视电话具有集成网络接入的屏 幕电话 InfoGear iPhone 网络游戏机具有集成网络接入的游 戏操纵台 Sega Dreamcast 网络智能手持器件蜂窝电话、个人数据助 理(PDA)和其它集成网 络接入的便携式器件 3Com Palm AT ; 统一和固定长度的指令域,简化了指令的译码,统一和固定长度的指令域,简化了指令的译码, 便于指令流水线设计。便于指令流水线设计。 117 3.1 ARM简介 nARM体系结构 ARMARM体系结构的特点:体系结构的特点: 每条数据处理指令都对算术逻辑单元和移位器控每条数据处理指令都对算术逻辑单元和移位器控 制,实
13、现了制,实现了ALUALU和移位器的最大利用;和移位器的最大利用; 地址自动增加和减少寻址模式,优化程序循环;地址自动增加和减少寻址模式,优化程序循环; 多寄存器装载和存储指令实现最大数据吞吐量多寄存器装载和存储指令实现最大数据吞吐量; ; 所有指令的条件执行实现最快速的代码执行。所有指令的条件执行实现最快速的代码执行。 118 3.1 ARM简介 n各ARM体系结构版本 ARM ARM体系结构从最初开发到现在有了很大的体系结构从最初开发到现在有了很大的 改进,并仍在完善和发展。为了清楚的表达每个改进,并仍在完善和发展。为了清楚的表达每个 ARMARM应用实例所使用的指令集,应用实例所使用的指
14、令集,ARMARM公司定义了公司定义了6 6 种主要的种主要的ARMARM指令集体系结构版本,以版本号指令集体系结构版本,以版本号 V1V1V6V6表示。表示。 119 3.1 ARM简介 n各ARM体系结构版本V1 该版本的该版本的ARMARM体系结构,只有体系结构,只有2626位的寻址空位的寻址空 间,没有商业化,其特点为:间,没有商业化,其特点为: 基本的数据处理指令(不包括乘法);基本的数据处理指令(不包括乘法); 字节、字和半字加载字节、字和半字加载/ /存储指令;存储指令; 具有分支指令,包括在子程序调用中使用的分具有分支指令,包括在子程序调用中使用的分 支和链接指令;支和链接指令
15、; 在操作系统调用中使用的软件中断指令。在操作系统调用中使用的软件中断指令。 120 3.1 ARM简介 n各ARM体系结构版本V2 同样为同样为2626位寻址空间,现在已经废弃不再使用,位寻址空间,现在已经废弃不再使用, 它相对它相对V1V1版本有以下改进:版本有以下改进: 具有乘法和乘加指令;具有乘法和乘加指令; 支持协处理器;支持协处理器; 快速中断模式中的两个以上的分组寄存器;快速中断模式中的两个以上的分组寄存器; 具有原子性加载具有原子性加载/ /存储指令存储指令SWPSWP和和SWPBSWPB。 121 3.1 ARM简介 n各ARM体系结构版本V3 寻址范围扩展到寻址范围扩展到3
16、232位(目前已废弃),具有独立位(目前已废弃),具有独立 的程序:的程序: 具有乘法和乘加指令;具有乘法和乘加指令; 支持协处理器;支持协处理器; 快速中断模式中具有的两个以上的分组寄存器;快速中断模式中具有的两个以上的分组寄存器; 具有原子性加载具有原子性加载/ /存储指令存储指令SWPSWP和和SWPBSWPB。 122 3.1 ARM简介 n各ARM体系结构版本V4 不在为了与以前的版本兼容而支持不在为了与以前的版本兼容而支持2626位体系结构,位体系结构, 并明确了哪些指令会引起未定义指令异常发生,它相并明确了哪些指令会引起未定义指令异常发生,它相 对对V3V3版本作了以下的改进:版
17、本作了以下的改进: 半字加载半字加载/ /存储指令;存储指令; 字节和半字的加载和符号扩展指令;字节和半字的加载和符号扩展指令; 具有可以转换到具有可以转换到ThumbThumb状态的指令(状态的指令(BXBX);); 增加了用户模式寄存器的新的特权处理器模式。增加了用户模式寄存器的新的特权处理器模式。 123 3.1 ARM简介 n各ARM体系结构版本V5 在在V4V4版本的基础上,对现在指令的定义进行版本的基础上,对现在指令的定义进行 了必要的修正,对了必要的修正,对V4V4版本的体系结构进行了扩展版本的体系结构进行了扩展 并并增加了指令,具体如下:并并增加了指令,具体如下: 改进了改进了
18、ARM/ThumbARM/Thumb状态之间的切换效率;状态之间的切换效率; E-E-增强型增强型DSPDSP指令集指令集, ,包括全部算法操作和包括全部算法操作和1616 位乘法操作;位乘法操作; J-J-支持新的支持新的JAVA,JAVA,提供字节代码执行的硬件提供字节代码执行的硬件 和优化软件加速功能。和优化软件加速功能。 124 3.1 ARM简介 nARM处理器核简介 ARM ARM公司开发了很多系列的公司开发了很多系列的ARMARM处理器核,处理器核, 目前最新的系列已经是目前最新的系列已经是ARM11ARM11了,而了,而ARM6ARM6核以及核以及 更早的系列已经很罕见了。目前
19、应用比较广泛的系更早的系列已经很罕见了。目前应用比较广泛的系 列是:列是: ARM7ARM9ARM9EARM10 SecurCore Xscale ARM11 Cortex 125 预取预取 (Fetch) 译码译码 (Decode) 执行执行 (Execute) 预取预取 (Fetch) 译码译码 (Decode) 执行执行 (Execute) 访存访存 (Memory) 写入写入 (Write) 预取预取 (Fetch) 译码译码 (Decode) 发送发送 (Issue) 预取预取 (Fetch) 预取预取 (Fetch) 执行执行 (Execute) 访存访存 (Memory) 写入写
20、入 (Write) 译码译码 (Decode) 发送发送 (Issue) 执行执行 (Execute) 转换转换 (Snny) 访存访存 (Memory) 写入写入 (Write) ARM7 ARM9 ARM10 ARM11 3.1 ARM简介 126 项目ARM7ARM9ARM10ARM11 流水线3568 典型频率(MHz)80150260335 功耗(mW/MHz)0.060.19(+cache)0.5 (+cache) 0.4 (+cache) 性能 MIPS*/MHz 0.971.11.31.2 架构冯诺伊曼哈佛哈佛哈佛 3.1 ARM简介 127 ARM系列微处理器核特点 ARM7
21、ARM7TDMI:整数处理核 ARM7TDMI 处理器的可综合 版本; ARM720T:带MMU的处理器核 心,支持操作系统; ARM7EJ-S:带有DSP和Jazelle TM 技术,能够实现Java加速功 能 l 冯诺伊曼体系结构; l ARMTDMI是目前应用最广的微处理器核 l ARM720T带有MMU和8KB的指令数据混合 cache; l ARM7EJ-执行ARMv5TEJ指令,5级流水线, 提供Java加速指令,没有存储器保护。 ARM9ARM920T:带有独立的16KB 数 据和指令Cache; ARM922T:带有独立的8位KB 数据和指令Cache; ARM940T包括更小
22、数据和指令 Cache和一个MPU l 基于ARM9TDMI ,带16位的Thumb指令集, 增强代码密度最多到35%; l 在0.13m工艺下最高性能可达到300MIPS (Dhrystone 2.1测试标准); l 集成了数据和指令Chche; l 32位AMBA总线接口的MMU支持; l 可在0.18m、 0.15m和0.13m工艺的硅芯 片上实现。 3.1 ARM简介 128 ARM9EARM926EJ-S:Jazelle 技术,有 MMU,可配置的数据和指令 Cache,TCM接口; ARM946E-S:可配置的数据和指 令Cache及TCM; ARM966E-S:针对要求高性能和
23、低功耗的可预测的指令执行时间的 硬实时应用设计 ARM968E-S:最小、功耗最小 的 ARM9E系列处理器,针对嵌入 式实时应用设计; lARM9E是针对微控制器、DSP和Java的单处理 器解决方案; lARM Jazelle 技术提供 8倍的 Java 加速性能 (ARM926EJ-S) ; l5-级整数流水线; l在0.13m工艺下最高性能可达到300MIPS (Dhrystone 2.1测试标准); l可选择的 向量浮点单元VFP9 协处理器指令优 秀海浮点性能,对于3D图形加速和实时控制可 达到 215MFLOPS。 l高性能的AHB总线,带MMU l可在0.18m, 0.15m,
24、 0.13m工艺的硅芯片上实 现。 ARM10EARM1020E:带DSP指令集,在片 调试功能,独立的32KB数据和指 令Cache,MMU支持; ARM1022E:与ARM1020E相同, 只是独立的数据和指令Cache变为 16KB; ARM1026EJ-S:同时具有MPU和 MMU,可综合版本; l带分支预测的6级整数流水线; l在0.13m工艺下最高性能可达到430MIPS (Dhrystone 2.1测试标准); l对于3D图形运算和实时控制采用VFP协处理器, 浮点运算性能最高可达650MFLOPS; l双64位AMBA总线接口和64位内部总路线接口; l优化的缓存结构提高了处理
25、器访问低速存储器 的性能; l可在0.18m, 0.15m, 0.13m工艺的硅芯片上实 现 3.1 ARM简介 129 ARM11ARM11 MPCore:可综合的多处 理器核,1至4个处理器可配置; ARM1136J(F)-S:可配置的数据 和指令Cache,可提供1.9位的 MPEG4编码加速功能; ARM1156T2(F)-S:带集成浮点 协处理器,带内存保护单元 MPU ; ARM1176JZ(F)-S:带针对CPU 和系统安全架构扩展的 TrustZone技术。 l增强的Thumb、Jazelle、DSP扩展支持; l带片上和系统安全TrustZone 技术支持 ; l在0.13m
26、工艺下最高可达到550MHz; lMPCore在0.13m工艺下最高性能可达到 740MIPS(Dhrystone 2.1测试标准); l支持多媒体指令SIMD; l采用三种电源模式:全速/待命/休眠 l集成DMA的TCM l低功耗、高性能。 SecurCoreSC100:第一个32位安全处理 器;、SC110:在SC100上增加 密钥协处理器; SC200:带Jazelle技术的高级安 全处理器; SC210:在SC200上增加密钥协 处理器 lSecurCore是专门为智能卡、安全IC提供的 32位安全处理器, 为电子商务、银行、网络、 移动多媒体、公共交通提供安全解决方案; l体积小、功
27、耗低,代码压缩密度高; l为快速增长的Java卡平台提供Java加速功能; 3.1 ARM简介 130 CortexCortex-A:面向应用的微处理 器,针对复杂操作系统和应用 程序设计; Cortex-R:针对实时系统的嵌 入式处理器; Cortex-M:针对成本敏感应用 优化的深度嵌入式处理器; l2004年发布,提供增强的媒体和数字处 理能力,增加了系统性能; l支持ARM、Thumb、Thumb-2指令集; lThumb-2指令集提供了更高的代码存储 密度,进一步降低成本; Intel系列StrongARM:ARMv4体系 XScale:ARMv5TE体系,增 加MMX指令 lStr
28、ongARM主要应用于手持设备和PDA, 5级流水线,具有独立的数据和指令Cache, 不支持Thumb指令集,目前已停产; lXScale是目前Intel公司主推的高性能嵌 入式处理器,分通用处理器、网络处理器 和I/O处理器三类。其中通用处理器有 PXA25x、PXA26x、PXA27x三个系列, 被广泛应用于智能手机、PDA领域。 3.1 ARM简介 131 第第3章章 目录目录 q1.简介简介 q2.ARM7TDMI q3.ARM7TDMI的模块和的模块和 内部框图内部框图 q4.体系结构直接支持的体系结构直接支持的 数据类型数据类型 q5.处理器状态处理器状态 q6.处理器模式处理器
29、模式 q7.内部寄存器内部寄存器 q8. 程序状态寄存器程序状态寄存器 q9.异常异常 q10.复位复位 q11.存储器及存储器映射存储器及存储器映射 I/O 132 3.2 ARM7TDMI n简介 ARM7TDMI ARM7TDMI基于基于ARMARM体系结构体系结构V4V4版本,是目版本,是目 前低端的前低端的ARMARM核核。具有广泛的应用,其最显著的。具有广泛的应用,其最显著的 应用为数字移动电话。应用为数字移动电话。 注意注意:“ARMARM核核”并不是芯片,并不是芯片,ARMARM核与其它部核与其它部 件如件如RAMRAM、ROMROM、片内外设组合在一起才能构成、片内外设组合在
30、一起才能构成 现实的芯片。现实的芯片。 133 3.2 ARM7TDMI n简介 ARM7TDMI ARM7TDMI支持支持3232位寻址范围,并弥补了位寻址范围,并弥补了 ARM6ARM6不能在低于不能在低于5V5V电源电压下工作的不足。电源电压下工作的不足。 ARM7TDMIARM7TDMI的后缀意义为:的后缀意义为: 支持高密度支持高密度16位的位的Thumb指令集;指令集; 支持片上调试;支持片上调试; 支持支持64位乘法;位乘法; 支持支持Embeded-ICE观察硬件;观察硬件; ARM7TDMI 的可综合(的可综合(synthesizable) 版本(软核),对应用工程师来说其编
31、程版本(软核),对应用工程师来说其编程 模型与模型与ARM7TDMI 一致;一致; ARM7 ARM7 T D M I - ST D M I - S 134 3.2 ARM7TDMI n简介 ARM7TDMI ARM7TDMI处理器是处理器是ARMARM通用通用3232位微处理器位微处理器 家族的成员之一。它具有优异的性能,但功耗却很家族的成员之一。它具有优异的性能,但功耗却很 低,使用门的数量也很少。它属于精简指令集计算低,使用门的数量也很少。它属于精简指令集计算 机(机(RISCRISC),比复杂指令集计算机(),比复杂指令集计算机(CISCCISC)要简单)要简单 得多。这样的简化实现了
32、:得多。这样的简化实现了: 高的指令吞吐量;高的指令吞吐量; 出色的实时中断响应;出色的实时中断响应; 小的、高性价比的处理器宏单元。小的、高性价比的处理器宏单元。 135 3.2 ARM7TDMI n三级流水线 ARM7TDMI ARM7TDMI处理器使用流水线来增加处理器处理器使用流水线来增加处理器 指令流的速度。这样可使几个操作同时进行,并使指令流的速度。这样可使几个操作同时进行,并使 处理和存储器系统连续操作,能提供处理和存储器系统连续操作,能提供0.9MIPS/MHz0.9MIPS/MHz 的指令执行速度。的指令执行速度。 ARM7TDMIARM7TDMI的流水线分的流水线分3 3级
33、,分别为:级,分别为: 取指取指译码译码执行执行 136 3.2 ARM7TDMI n存储器访问 ARM7TDMI ARM7TDMI处理器使用了处理器使用了冯冯诺依曼诺依曼(Von Von NeumannNeumann)结构,指令和数据共用一条)结构,指令和数据共用一条3232位总线。位总线。 只有装载、存储和交换指令可以对存储器中的数据只有装载、存储和交换指令可以对存储器中的数据 进行访问。进行访问。 数据可以是字节(数据可以是字节( 8 8位)、半字(位)、半字( 1616位)或者位)或者 字(字(3232位)。位)。 137 第第3章章 目录目录 q1.简介简介 q2.ARM7TDMI
34、q3.ARM7TDMI的模块和的模块和 内部框图内部框图 q4.体系结构直接支持的体系结构直接支持的 数据类型数据类型 q5.处理器状态处理器状态 q6.处理器模式处理器模式 q7.内部寄存器内部寄存器 q8. 程序状态寄存器程序状态寄存器 q9.异常异常 q10.复位复位 q11.存储器及存储器映射存储器及存储器映射 I/O 138 3.3 系统内部结构图 nARM7TDMI处 理器部件和主 要信号路径的 框图如图所示。 它内部由处理 器核、用于边 界扫描的TAP 控制器和在线 仿真器ICE组 成。双向数据 总线D31:0 被分割成单向 输入和输出总 线,以便于与 外部存储器兼 容。 139
35、 3.3 ARM7TDMI的模块和内核框图 ARM7TDMIARM7TDMI模块模块 地址寄存器地址寄存器 寄存器组寄存器组 31*32位寄存器位寄存器 (6个状态寄存器)个状态寄存器) 地址增量器地址增量器 乘法器乘法器 桶形移位器桶形移位器 32位位ALU 写数据寄存器写数据寄存器 指令流水线读数据寄存器指令流水线读数据寄存器 Thumb指令译码器指令译码器 指令译码指令译码 和和 逻辑控制逻辑控制 ADDR31: 0 CLK CLEN CFGBIGEND nIRQ nFIQ nRESET ABORT LOCK WRITE SIZE1:0 PROT1:0 TRANS1:0 DBG输出输出
36、DBG输入输入 CP控制控制 CP握手握手 WDATA31:0RDATA31:0 扫描调试扫描调试 控制控制 A 总总 线线 B 总总 线线 ALU 总总 线线 增量器总线增量器总线 PC总线总线 140 3.3 ARM7TDMI功能信号图 ARM7TDM I 141 第第3章章 目录目录 q1.简介简介 q2.ARM7TDMI q3.ARM7TDMI的模块和的模块和 内部框图内部框图 q4.体系结构直接支持的体系结构直接支持的 数据类型数据类型 q5.处理器状态处理器状态 q6.处理器模式处理器模式 q7.内部寄存器内部寄存器 q8. 程序状态寄存器程序状态寄存器 q9.异常异常 q10.复
37、位复位 q11.存储器及存储器映射存储器及存储器映射 I/O 142 3.4 体系结构直接支持的数据类 型 n体系结构直接支持的数据类型 ARMARM处理器支持下列数据类型:处理器支持下列数据类型: 字节字节 8 8位位 半字半字 1616位(必须分配为占用两个字节)位(必须分配为占用两个字节) 字字 3232位(必须分配为占用位(必须分配为占用4 4各字节)各字节) 1 1 1234 2 143 n体系结构直接支持的数据类型 注意注意: V4V4版本之后的版本之后的ARMARM结构都支持这结构都支持这3 3种结构(包括种结构(包括 V4V4版本),而以前的版本只支持字节和字;版本),而以前的
38、版本只支持字节和字; 当数据类型定义为无符号型时,当数据类型定义为无符号型时,NN位数据值使用正位数据值使用正 常的二进制格式表示范围为常的二进制格式表示范围为0 02 2N N-1 -1的非负整数; 的非负整数; 当数据类型定义为有符号型时,当数据类型定义为有符号型时,NN位数据值使用位数据值使用2 2 的补码格式表示范围为的补码格式表示范围为-2-2N-1 N-1 +2+2N-1 N-1-1 -1的整数; 的整数; 3.4 体系结构直接支持的数据类 型 144 n体系结构直接支持的数据类型 注意注意: 所有数据操作,例如所有数据操作,例如ADDADD,都以字为单位;,都以字为单位; 装载和
39、保存指令可以对字节、半字和字进行操作,装载和保存指令可以对字节、半字和字进行操作, 当装载字节或半字时自动实现零扩展或符号扩展;当装载字节或半字时自动实现零扩展或符号扩展; ARMARM指令的长度刚好是指令的长度刚好是1 1个字(分配为占用个字(分配为占用4 4个字个字 节),节),ThumbThumb指令的长度刚好是半字(占用指令的长度刚好是半字(占用2 2个字个字 节)。节)。 3.4 体系结构直接支持的数据类 型 145 第第3章章 目录目录 q1.简介简介 q2.ARM7TDMI q3.ARM7TDMI的模块和的模块和 内部框图内部框图 q4.体系结构直接支持的体系结构直接支持的 数据
40、类型数据类型 q5.处理器状态处理器状态 q6.处理器模式处理器模式 q7.内部寄存器内部寄存器 q8. 程序状态寄存器程序状态寄存器 q9.异常异常 q10.复位复位 q11.存储器及存储器映射存储器及存储器映射 I/O 146 3.5 处理器状态 n处理器状态 ARM7TDMI ARM7TDMI处理器内核使用处理器内核使用V4TV4T版本的版本的ARMARM结结 构,该结构包含构,该结构包含3232位位ARMARM指令集和指令集和1616位位ThumbThumb指令指令 集。因此集。因此ARM7TDMIARM7TDMI处理器有两种操作状态:处理器有两种操作状态: ARMARM状态:状态:3
41、232位,这种状态下执行的是字方式位,这种状态下执行的是字方式 的的ARMARM指令;指令; ThumbThumb状态:状态:1616位,这种状态下执行半字方式位,这种状态下执行半字方式 的的ARMARM指令。指令。 注意注意:两个状态之间的切换并不影响处理器模式或:两个状态之间的切换并不影响处理器模式或 寄存器内容。寄存器内容。 147 3.5 处理器状态 n处理器状态 使用使用BXBX指令将指令将ARM7TDMIARM7TDMI内核的操作状态在内核的操作状态在 ARMARM状态和状态和ThumbThumb状态之间进行切换(详见第状态之间进行切换(详见第4 4 章)章) ,程序如下所示。,程
42、序如下所示。 ;从从Arm状态切换到状态切换到Thumb状态状态 LDR R0,=Lable+1 BX R0 ;从从Thumb状态切换到状态切换到ARM状态状态 LDR R0,=Lable BX R0 地址最低位为地址最低位为 1 1,表示切换,表示切换 到到ThumbThumb状态状态 地址最低位为地址最低位为 0 0,表示切换,表示切换 到到ARMARM状态状态 跳转地址标号跳转地址标号 148 第第3章章 目录目录 q1.简介简介 q2.ARM7TDMI q3.ARM7TDMI的模块和的模块和 内部框图内部框图 q4.体系结构直接支持的体系结构直接支持的 数据类型数据类型 q5.处理器状
43、态处理器状态 q6.处理器模式处理器模式 q7.内部寄存器内部寄存器 q8. 程序状态寄存器程序状态寄存器 q9.异常异常 q10.复位复位 q11.存储器及存储器映射存储器及存储器映射 I/O 149 处理器模式说明备注 用户 (usr)正常程序执行模式不能直接切换到其它模式 系统 (sys) 运行操作系统的特权任 务 与用户模式类似,但具有可以 直接切换到其它模式等特权 快中断 (fiq) 支持高速数据传输及通 道处理 FIQ异常响应时进入此模式 中断 (irq)用于通用中断处理IRQ异常响应时进入此模式 管理 (svc)操作系统保护模式 系统复位和软件中断响应时进 入此模式 中止 (ab
44、t) 用于支持虚拟内存和/或 存储器保护 在ARM7TDMI没有大用处 未定义 (und) 支持硬件协处理器的软 件仿真 未定义指令异常响应时进入此 模式 3.6 处理器模式 n处理器7种模式 150 3.6 处理器模式 n特权模式 处理器模式说明备注 用户 (usr)正常程序工作模式不能直接切换到其它模式 系统 (sys) 用于支持操作系统的特 权任务等 与用户模式类似,但具有可以 直接切换到其它模式等特权 快中断 (fiq) 支持高速数据传输及通 道处理 FIQ异常响应时进入此模式 中断 (irq)用于通用中断处理IRQ异常响应时进入此模式 管理 (svc)操作系统保护代码 系统复位和软件
45、中断响应时进 入此模式 中止 (abt) 用于支持虚拟内存和/或 存储器保护 在ARM7TDMI没有大用处 未定义 (und) 支持硬件协处理器的软 件仿真 未定义指令异常响应时进入此 模式 除用户模式外,其它模式均除用户模式外,其它模式均 为为特权模式特权模式。ARMARM内部寄存器和内部寄存器和 一些片内外设在硬件设计上只允许一些片内外设在硬件设计上只允许 (或者可选为只允许)特权模式下(或者可选为只允许)特权模式下 访问。此外,特权模式可以自由的访问。此外,特权模式可以自由的 切换处理器模式,而用户模式不能切换处理器模式,而用户模式不能 直接切换到别的模式。直接切换到别的模式。 未定义未
46、定义 (und) 中止中止 (abt) 管理管理 (svc) 中断中断 (irq) 快中断快中断 (fiq) 系统系统 (sys) 151 3.6 处理器模式 n异常模式 处理器模式说明备注 用户 (usr)正常程序工作模式不能直接切换到其它模式 系统 (sys) 用于支持操作系统的特 权任务等 与用户模式类似,但具有可以 直接切换到其它模式等特权 快中断 (fiq) 支持高速数据传输及通 道处理 FIQ异常响应时进入此模式 中断 (irq)用于通用中断处理IRQ异常响应时进入此模式 管理 (svc)操作系统保护代码 系统复位和软件中断响应时进 入此模式 中止 (abt) 用于支持虚拟内存和/
47、或 存储器保护 在ARM7TDMI没有大用处 未定义 (und) 支持硬件协处理器的软 件仿真 未定义指令异常响应时进入此 模式 未定义未定义 (und) 中止中止 (abt) 管理管理 (svc) 中断中断 (irq) 快中断快中断 (fiq) 这五种模式称为这五种模式称为异常模式异常模式。 它们除了可以通过程序切换进入外,它们除了可以通过程序切换进入外, 也可以由特定的异常进入。当特定也可以由特定的异常进入。当特定 的异常出现时,处理器进入相应的的异常出现时,处理器进入相应的 模式。每种异常模式都有一些独立模式。每种异常模式都有一些独立 的寄存器,以避免异常退出时用户的寄存器,以避免异常退
48、出时用户 模式的状态不可靠。模式的状态不可靠。 152 3.6 处理器模式 n用户和系统模式 处理器模式说明备注 用户 (usr)正常程序工作模式不能直接切换到其它模式 系统 (sys) 用于支持操作系统的特 权任务等 与用户模式类似,但具有可以 直接切换到其它模式等特权 快中断 (fiq) 支持高速数据传输及通 道处理 FIQ异常响应时进入此模式 中断 (irq)用于通用中断处理IRQ异常响应时进入此模式 管理 (svc)操作系统保护代码 系统复位和软件中断响应时进 入此模式 中止 (abt) 用于支持虚拟内存和/或 存储器保护 在ARM7TDMI没有大用处 未定义 (und) 支持硬件协处
49、理器的软 件仿真 未定义指令异常响应时进入此 模式 这两种模式都不能由异常进入,这两种模式都不能由异常进入, 而且它们使用完全相同的寄存器组。而且它们使用完全相同的寄存器组。 系统模式是特权模式,不受用系统模式是特权模式,不受用 户模式的限制。操作系统在该模式户模式的限制。操作系统在该模式 下访问用户模式的寄存器就比较方下访问用户模式的寄存器就比较方 便,而且操作系统的一些特权任务便,而且操作系统的一些特权任务 可以使用这个模式访问一些受控的可以使用这个模式访问一些受控的 资源。资源。 系统系统 (sys) 用户用户 (usr) 153 第第3章章 目录目录 q1.简介简介 q2.ARM7TD
50、MI q3.ARM7TDMI的模块和的模块和 内部框图内部框图 q4.体系结构直接支持的体系结构直接支持的 数据类型数据类型 q5.处理器状态处理器状态 q6.处理器模式处理器模式 q7.内部寄存器内部寄存器 q8. 程序状态寄存器程序状态寄存器 q9.异常异常 q10.复位复位 q11.存储器及存储器映射存储器及存储器映射 I/O 154 3.7 内部寄存器 n简介 在在ARM7TDMIARM7TDMI处理器内部有处理器内部有3737个用户可见的个用户可见的 寄存器。寄存器。 在不同的工作模式和处理器状态下,程序员可在不同的工作模式和处理器状态下,程序员可 以访问的寄存器也不尽相同。以访问的