《ARM技术概述》PPT课件

上传人:夏** 文档编号:578180172 上传时间:2024-08-23 格式:PPT 页数:58 大小:851.50KB
返回 下载 相关 举报
《ARM技术概述》PPT课件_第1页
第1页 / 共58页
《ARM技术概述》PPT课件_第2页
第2页 / 共58页
《ARM技术概述》PPT课件_第3页
第3页 / 共58页
《ARM技术概述》PPT课件_第4页
第4页 / 共58页
《ARM技术概述》PPT课件_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《《ARM技术概述》PPT课件》由会员分享,可在线阅读,更多相关《《ARM技术概述》PPT课件(58页珍藏版)》请在金锄头文库上搜索。

1、第第8 8讲讲 ARMARM技术概述技术概述陈慈发陈慈发2008年春夏年春夏第第8 8讲讲 ARMARM技术概述技术概述 ARMARM包包包包含含含含两两两两个个个个含含含含义义义义,一一一一是是是是ARMARM公公公公司司司司,是是是是一一一一家家家家位位位位于于于于英英英英国国国国剑剑剑剑桥桥桥桥的的的的Advanced Advanced RISC RISC Machine Machine LimitedLimited(简简简简称称称称ARM ARM LimitedLimited),成成成成立立立立 于于于于 19901990年年年年 1111月月月月 , 由由由由 AcornAcorn电

2、电电电 脑脑脑脑 集集集集 团团团团 、 苹苹苹苹 果果果果 电电电电 脑脑脑脑 和和和和 VLSI VLSI TechnologyTechnology合合合合资资资资组组组组建建建建;另另另另一一一一个个个个是是是是ARMARM处处处处理理理理器器器器,是是是是一一一一种种种种先先先先进进进进RISCRISC处处处处理理理理器器器器。该该该该处处处处理理理理器器器器内内内内核核核核由由由由ARMARM公公公公司司司司开开开开发发发发,通通通通过过过过IPIP授授授授权权权权的的的的方方方方式式式式允允允允许许许许其其其其它它它它半半半半导导导导体体体体公公公公司司司司生生生生产产产产基基基基

3、于于于于ARMARM核核核核的的的的处处处处理理理理器器器器产产产产品品品品,而而而而ARMARM公公公公司司司司只只只只提提提提供供供供基基基基于于于于ARMARM内内内内核核核核的的的的系系系系统统统统芯芯芯芯片片片片解解解解决决决决方方方方案案案案和和和和技技技技术术术术授授授授权权权权,不不不不提供具体的芯片。提供具体的芯片。提供具体的芯片。提供具体的芯片。 第第8 8讲讲 ARMARM技术概述技术概述8.1 ARM8.1 ARM体系结构体系结构体系结构体系结构 ARMARM处处处处理理理理器器器器是是是是基基基基于于于于精精精精简简简简指指指指令令令令集集集集计计计计算算算算机机机机

4、RISCRISC(Reduced Reduced Instruction Instruction Set Set COmputerCOmputer)体体体体系系系系结结结结构构构构的的的的计计计计算算算算机机机机系系系系统统统统。它它它它使使使使用用用用标标标标准准准准的的的的、固固固固定定定定长长长长度度度度的的的的3232位位位位指指指指令令令令格格格格式式式式,所所所所有有有有ARMARM指指指指令令令令都都都都使使使使用用用用了了了了4 4位位位位的的的的条条条条件件件件编编编编码码码码来来来来决决决决定定定定该该该该指指指指令令令令是是是是否否否否执执执执行行行行,这这这这种种种种方

5、方方方式式式式解解解解决决决决了了了了指指指指令令令令执执执执行行行行的的的的条条条条件件件件判判判判定定定定、确确确确定定定定条条条条件件件件分分分分支支支支的的的的问问问问题题题题,从从从从而而而而对对对对代代代代码码码码的的的的密密密密度度度度和和和和性性性性能都有好处,这是它的一大技术优势。能都有好处,这是它的一大技术优势。能都有好处,这是它的一大技术优势。能都有好处,这是它的一大技术优势。 ARMARM技技技技术术术术的的的的确确确确立立立立和和和和认认认认可可可可是是是是从从从从ARM7ARM7开开开开始始始始的的的的。ARM7ARM7首首首首次次次次将将将将ARMARM体体体体系

6、系系系结结结结构构构构完完完完全全全全扩扩扩扩展展展展到到到到3232位位位位(之之之之前前前前仅仅仅仅2626位位位位地地地地址址址址空空空空间间间间),采采采采取取取取3 3级级级级流流流流水水水水线线线线结结结结构构构构,主主主主频频频频达达达达到到到到40MHz40MHz,集集集集成成成成了了了了8KB8KB的的的的CacheCache,且且且且支持支持支持支持ThumbThumb模式。模式。模式。模式。第第8 8讲讲 ARMARM技术概述技术概述 在在在在开开开开发发发发设设设设计计计计第第第第一一一一个个个个ARMARM芯芯芯芯片片片片时时时时,RISCRISC技技技技术术术术尚尚

7、尚尚未未未未得得得得到到到到商商商商业业业业化化化化的的的的应应应应用用用用,当当当当时时时时仅仅仅仅有有有有BerkeleyBerkeley的的的的RISC RISC I I和和和和II II以以以以及及及及StanfordStanford的的的的MIPSMIPS(Microprocessor Microprocessor without without Interlocking Interlocking Pipline Pipline StagesStages,无无无无互互互互锁锁锁锁流流流流水水水水线线线线微微微微处处处处理理理理器器器器)采采采采用用用用了了了了RISCRISC技技技技

8、术术术术,但但但但仅仅仅仅限限限限于于于于教教教教学学学学和和和和研研研研究究究究,ARMARM处处处处理理理理器器器器是是是是第第第第一一一一个个个个为为为为商商商商业业业业用用用用途途途途而而而而开开开开发发发发的的的的RISCRISC处处处处理理理理器器器器。ARMARM体体体体系系系系结结结结构有选择地采用了若干构有选择地采用了若干构有选择地采用了若干构有选择地采用了若干Berkeley RISCBerkeley RISC处理器中的技术特征,包括:处理器中的技术特征,包括:处理器中的技术特征,包括:处理器中的技术特征,包括:uuLoad/StoreLoad/Store体系结构;体系结构

9、;体系结构;体系结构;uu固定的固定的固定的固定的3232位指令长度;位指令长度;位指令长度;位指令长度;uu3 3地址指令格式。地址指令格式。地址指令格式。地址指令格式。 ARMARM的的的的设设设设计计计计初初初初衷衷衷衷是是是是简简简简单单单单性性性性,主主主主要要要要体体体体现现现现在在在在其其其其硬硬硬硬件件件件组组组组织织织织和和和和实实实实现现现现上上上上,比比比比指指指指令令令令集集集集表表表表现现现现得得得得更更更更明明明明显显显显。把把把把简简简简单单单单的的的的硬硬硬硬件件件件和和和和指指指指令令令令集集集集结结结结合合合合起起起起来来来来,这这这这是是是是RISCRIS

10、C体体体体系系系系的的的的思思思思想想想想基基基基础础础础。ARMARM处处处处理理理理器器器器仍仍仍仍然然然然保保保保留留留留一一一一些些些些CISCCISC特特特特征征征征,并并并并因因因因此此此此而而而而达达达达到到到到了了了了比比比比纯纯纯纯粹粹粹粹RISCRISC更更更更高高高高的的的的代代代代码码码码密密密密度度度度,使使使使得得得得ARMARM在在在在开开开开始始始始设设设设计计计计时时时时就就就就获获获获得得得得体体体体积积积积小小小小、功耗低的优势。功耗低的优势。功耗低的优势。功耗低的优势。第第8 8讲讲 ARMARM技术概述技术概述8.2 ARM8.2 ARM版本版本版本版

11、本 ARMARM公公公公司司司司自自自自成成成成立立立立以以以以来来来来,在在在在3232位位位位嵌嵌嵌嵌入入入入式式式式处处处处理理理理器器器器开开开开发发发发领领领领域域域域中中中中不不不不断断断断取取取取得得得得突突突突破破破破,ARMARM体体体体系系系系的的的的指指指指令令令令集集集集形形形形成成成成了了了了多多多多种种种种版版版版本本本本,各各各各版版版版本本本本还还还还发发发发展展展展了了了了一一一一些些些些变变变变种种种种,这这这这些些些些变变变变种种种种定定定定义义义义了了了了该该该该版版版版本本本本指指指指令令令令集集集集中中中中不不不不同同同同的的的的功功功功能能能能,应

12、应应应用用用用于于于于不不不不同同同同的的的的处处处处理器设计中。理器设计中。理器设计中。理器设计中。 ARMARM系系系系列列列列处处处处理理理理器器器器的的的的各各各各体体体体系系系系结结结结构构构构版版版版本本本本实实实实现现现现技技技技术术术术各各各各不不不不相相相相同同同同,实实实实现现现现的的的的性性性性能能能能差差差差别别别别也也也也很很很很大大大大,应应应应用用用用场场场场合合合合也也也也有有有有所所所所不不不不同同同同。随随随随着着着着ARMARM技技技技术术术术的的的的发发发发展展展展,体体体体系系系系结结结结构构构构还还还还将将将将不不不不断断断断发发发发展展展展。ARM

13、ARM体体体体系系系系结结结结构构构构也也也也经经经经历历历历了了了了多多多多次次次次修修修修订订订订,已已已已从从从从V3V3发发发发展展展展到到到到V6V6。8.2.1 ARM8.2.1 ARM体系结构版本体系结构版本体系结构版本体系结构版本第第8 8讲讲 ARMARM技术概述技术概述版本版本版本版本体系结构体系结构体系结构体系结构ARMARM核核核核技术特征技术特征技术特征技术特征版本版本版本版本1 1V1V1ARM1ARM12626位地址空位地址空位地址空位地址空间间间间不支持乘法或不支持乘法或不支持乘法或不支持乘法或协处协处协处协处理器指令;理器指令;理器指令;理器指令;基于字基于字

14、基于字基于字节节节节、字和多字的存、字和多字的存、字和多字的存、字和多字的存储储储储器器器器访问访问访问访问指令(指令(指令(指令(Load/StoreLoad/Store););););子程序子程序子程序子程序调调调调用指令用指令用指令用指令BLBL在内的跳在内的跳在内的跳在内的跳转转转转指令;指令;指令;指令;完成系完成系完成系完成系统调统调统调统调用的用的用的用的软软软软件中断指令件中断指令件中断指令件中断指令SWISWI。版本版本版本版本2 2V2V2ARM2ARM2支持乘和乘加指令支持乘和乘加指令支持乘和乘加指令支持乘和乘加指令技技技技术协处术协处术协处术协处理器指令;理器指令;理器

15、指令;理器指令;对对对对于于于于FIQFIQ模式,提供了模式,提供了模式,提供了模式,提供了额额额额外的影子寄存器;外的影子寄存器;外的影子寄存器;外的影子寄存器;增加了增加了增加了增加了SWPSWP和和和和SWPBSWPB指令;指令;指令;指令;ARMARM具有片上具有片上具有片上具有片上CacheCache。V2aV2aARM2aARM2aARM3ARM3版本版本版本版本3 3V3V3ARM6ARM6ARM600ARM600ARM610ARM610ARM7ARM7ARM700ARM700ARM710ARM7103232位地址空位地址空位地址空位地址空间间间间,兼容,兼容,兼容,兼容2626

16、位地址空位地址空位地址空位地址空间间间间;分分分分 开开开开 的的的的 CPSRCPSR( Current Current Program Program Status Status RegisterRegister) 和和和和SPSRSPSR(Saved Program Status RegisterSaved Program Status Register););););增增增增加加加加了了了了两两两两种种种种异异异异常常常常模模模模式式式式,使使使使OSOS代代代代码码码码可可可可方方方方便便便便地地地地使使使使用用用用数数数数据据据据访访访访问问问问中中中中止异常、指令止异常、指令止异

17、常、指令止异常、指令预预预预取中止异常和未定取中止异常和未定取中止异常和未定取中止异常和未定义义义义指令异常;指令异常;指令异常;指令异常;增增增增加加加加了了了了MRSMRS指指指指令令令令和和和和MSRMSR指指指指令令令令,用用用用于于于于完完完完成成成成对对对对CPSRCPSR和和和和SPSRSPSR寄存器的寄存器的寄存器的寄存器的读读读读/ /写;写;写;写;修改了原来的从异常返回的指令。修改了原来的从异常返回的指令。修改了原来的从异常返回的指令。修改了原来的从异常返回的指令。第第8 8讲讲 ARMARM技术概述技术概述版本体系结构ARM核技术特征版本版本版本版本4 4V4TV4TA

18、RM7TDMIARM7TDMIARM710TARM710TARM720TARM720TARM740TARM740T增增增增加加加加了了了了有有有有符符符符号号号号、无无无无符符符符号号号号的的的的半半半半字字字字和和和和有有有有符符符符号号号号字字字字节节节节的的的的Load/StoreLoad/Store指令;指令;指令;指令;增加了增加了增加了增加了T T变变变变种,可工作于种,可工作于种,可工作于种,可工作于ThumbThumb状状状状态态态态;增加了特增加了特增加了特增加了特权权权权模式,可使用用模式,可使用用模式,可使用用模式,可使用用户户户户模式的寄存器;模式的寄存器;模式的寄存器

19、;模式的寄存器;与与与与2626位地址空位地址空位地址空位地址空间间间间不兼容不兼容不兼容不兼容V4V4StrongARMStrongARMARM8ARM8ARM810ARM810V4TV4TARM9TDMIARM9TDMIARM920TARM920TARM940TARM940T第第8 8讲讲 ARMARM技术概述技术概述版本版本版本版本5 5V5TEV5TEARM9E-SARM9E-S提高了提高了提高了提高了T T变变变变种中种中种中种中ARM/ThumbARM/Thumb混合使用的效率;混合使用的效率;混合使用的效率;混合使用的效率;增增增增加加加加前前前前导导导导0 0计计计计数数数数指

20、指指指令令令令(CLZCLZ),该该该该指指指指令令令令可可可可使使使使整整整整数数数数除除除除法和中断法和中断法和中断法和中断优优优优先先先先级级级级排除操作更排除操作更排除操作更排除操作更为为为为有效;有效;有效;有效;增加了增加了增加了增加了BKPTBKPT(软软软软件断点)指令;件断点)指令;件断点)指令;件断点)指令;为协处为协处为协处为协处理器理器理器理器设计设计设计设计了更多的可供了更多的可供了更多的可供了更多的可供选择选择选择选择的指令;的指令;的指令;的指令;更更更更严严严严格定格定格定格定义义义义了乘法指令了乘法指令了乘法指令了乘法指令对对对对条件条件条件条件码标码标码标码

21、标志位的影响。志位的影响。志位的影响。志位的影响。ARM10TDMIARM10TDMIARM1020EARM1020E版本版本版本版本6 6V6V6ARM11ARM11ARM1156T2-SARM1156T2-SARM1156T2F-SARM1156T2F-SARM1176JZ-SARM1176JZ-SARM1176JZF-SARM1176JZF-S降低了耗降低了耗降低了耗降低了耗电电电电量;量;量;量;强强强强化了化了化了化了图图图图形形形形处处处处理性能;理性能;理性能;理性能;增增增增加加加加了了了了SIMDSIMD指指指指令令令令集集集集,将将将将语语语语音音音音和和和和图图图图像像像

22、像的的的的处处处处理理理理功功功功能能能能提提提提高高高高4 4倍;倍;倍;倍;支持多核。支持多核。支持多核。支持多核。版本体系结构ARM核技术特征第第8 8讲讲 ARMARM技术概述技术概述8.2.2 ARM8.2.2 ARM体系结构演变体系结构演变体系结构演变体系结构演变 (1 1)ThumbThumb指令集(指令集(指令集(指令集(T T变种)变种)变种)变种) ThumbThumb指指指指令令令令集集集集是是是是把把把把3232位位位位ARMARM指指指指令令令令集集集集的的的的一一一一个个个个子子子子集集集集重重重重新新新新编编编编码码码码后后后后形形形形成成成成的的的的一个特殊的一

23、个特殊的一个特殊的一个特殊的1616位位位位指令集,使指令代码的密度得以提高。指令集,使指令代码的密度得以提高。指令集,使指令代码的密度得以提高。指令集,使指令代码的密度得以提高。 支支支支持持持持ThumbThumb指指指指令令令令集集集集的的的的ARMARM体体体体系系系系版版版版本本本本,一一一一般般般般加加加加字字字字符符符符T T来来来来表表表表示示示示(如如如如V4TV4T)。目目目目前前前前ThumbThumb指指指指令令令令集集集集有有有有两两两两个个个个版版版版本本本本:一一一一是是是是ThumbThumb指指指指令令令令集集集集版版版版本本本本1 1,此此此此版版版版本本本

24、本作作作作为为为为ARMARM体体体体系系系系版版版版本本本本4 4的的的的T T变变变变种种种种;ThumbThumb指指指指令令令令集集集集版版版版本本本本2 2,此此此此版版版版本本本本作作作作为为为为ARMARM体系版本体系版本体系版本体系版本5 5的的的的T T变种,版本变种,版本变种,版本变种,版本2 2的特点如下:的特点如下:的特点如下:的特点如下:qq通通通通过过过过增增增增加加加加新新新新的的的的指指指指令令令令和和和和对对对对已已已已有有有有指指指指令令令令的的的的修修修修改改改改,来来来来提提提提高高高高ARMARM指指指指令令令令和和和和ThumbThumb指指指指令混

25、合使用的效率;令混合使用的效率;令混合使用的效率;令混合使用的效率;qq增增增增加加加加了了了了软软软软件件件件断断断断点点点点(BKPTBKPT)指指指指令令令令,更更更更严严严严格格格格地地地地定定定定义义义义了了了了ThumbThumb乘乘乘乘法法法法指指指指令令令令对对对对条件码标志位的影响。条件码标志位的影响。条件码标志位的影响。条件码标志位的影响。 通常使用通常使用通常使用通常使用ARMARM版本号来指明版本号来指明版本号来指明版本号来指明ThumbThumb版本。如版本。如版本。如版本。如V4TV4T、V5TV5T。第第8 8讲讲 ARMARM技术概述技术概述 (2 2)长乘指令

26、()长乘指令()长乘指令()长乘指令(MM变种)变种)变种)变种) 长长长长乘乘乘乘指指指指令令令令是是是是一一一一种种种种生生生生成成成成6464位位位位相相相相乘乘乘乘结结结结果果果果的的的的乘乘乘乘法法法法指指指指令令令令(ARMARM指指指指令令令令)。MM变变变变种种种种增增增增加加加加了了了了两两两两条条条条长长长长乘乘乘乘指指指指令令令令:一一一一条条条条是是是是3232位位位位乘乘乘乘3232位位位位整整整整数数数数得得得得到到到到6464位位位位整整整整数数数数的的的的长长长长乘乘乘乘;另一条是另一条是另一条是另一条是3232位乘位乘位乘位乘3232位加位加位加位加3232位

27、整数的长乘加指令。位整数的长乘加指令。位整数的长乘加指令。位整数的长乘加指令。 ARMARM版本版本版本版本3 3最早引入,最早引入,最早引入,最早引入,V4V4以后为标准配置,用以后为标准配置,用以后为标准配置,用以后为标准配置,用MM表示,现已省略。表示,现已省略。表示,现已省略。表示,现已省略。 (3 3)增强型)增强型)增强型)增强型DSPDSP指令(指令(指令(指令(E E变种)变种)变种)变种) E E变变变变种种种种的的的的ARMARM体体体体系系系系增增增增加加加加了了了了一一一一些些些些增增增增强强强强处处处处理理理理器器器器对对对对典典典典型型型型DSPDSP算算算算法法法

28、法处处处处理理理理能能能能力力力力的附加指令:的附加指令:的附加指令:的附加指令:vv几条新的完成几条新的完成几条新的完成几条新的完成1616位数据乘法和乘加操作的指令;位数据乘法和乘加操作的指令;位数据乘法和乘加操作的指令;位数据乘法和乘加操作的指令;vv实实实实现现现现饱饱饱饱和和和和的的的的有有有有符符符符号号号号数数数数的的的的加加加加减减减减法法法法操操操操作作作作的的的的指指指指令令令令,包包包包括括括括双双双双字字字字读读读读取取取取指指指指令令令令LDRDLDRD、双字写入指令双字写入指令双字写入指令双字写入指令STRDSTRD和协处理器寄存器传输指令和协处理器寄存器传输指令和

29、协处理器寄存器传输指令和协处理器寄存器传输指令MCRR/MRRCMCRR/MRRC;vvCACHECACHE预取指令预取指令预取指令预取指令PLDPLD; E E变种首先在变种首先在变种首先在变种首先在ARMARM体系体系体系体系V5TV5T中使用,用字符中使用,用字符中使用,用字符中使用,用字符E E表示。表示。表示。表示。第第8 8讲讲 ARMARM技术概述技术概述 (4 4)JavaJava加速器加速器加速器加速器JazelleJazelle(J J变种)变种)变种)变种) ARMARM的的的的JazelleJazelle技技技技术术术术是是是是JavaJava技技技技术术术术和和和和先

30、先先先进进进进的的的的3232位位位位RISCRISC芯芯芯芯片片片片完完完完美美美美结结结结合合合合的的的的产产产产物物物物。JazelleJazelle技技技技术术术术使使使使得得得得JavaJava代代代代码码码码的的的的运运运运行行行行速速速速度度度度比比比比普普普普通通通通的的的的JavaJava虚虚虚虚拟拟拟拟机机机机提提提提高高高高了了了了8 8倍倍倍倍,而而而而功功功功耗耗耗耗反反反反而而而而降降降降低低低低了了了了80%80%。JazelleJazelle技技技技术术术术使使使使得得得得在在在在一一一一个个个个单单单单独独独独的的的的处处处处理理理理器器器器上上上上同同同同时

31、时时时运运运运行行行行JavaJava应应应应用用用用程程程程序序序序、已已已已经经经经建建建建立立立立好好好好的的的的操操操操作作作作系系系系统统统统和和和和中中中中间间间间件件件件以以以以及及及及其其其其它它它它应应应应用用用用程程程程序序序序成成成成为为为为可可可可能能能能。JazelleJazelle技技技技术术术术的的的的诞诞诞诞生生生生使使使使得得得得一一一一些些些些必必必必须须须须用用用用到到到到协协协协处处处处理理理理器器器器和和和和双双双双处处处处理理理理器器器器的的的的场场场场合合合合可可可可用用用用单单单单处理器代替,既保证了机器的性能,又降低了功耗和成本。处理器代替,既

32、保证了机器的性能,又降低了功耗和成本。处理器代替,既保证了机器的性能,又降低了功耗和成本。处理器代替,既保证了机器的性能,又降低了功耗和成本。 J J变种最早在变种最早在变种最早在变种最早在ARMARM体系版本体系版本体系版本体系版本4TEJ4TEJ上实现,用字符上实现,用字符上实现,用字符上实现,用字符J J表示。表示。表示。表示。第第8 8讲讲 ARMARM技术概述技术概述 (5 5)多媒体扩展功能()多媒体扩展功能()多媒体扩展功能()多媒体扩展功能(SIMDSIMD变种)变种)变种)变种) ARMARM媒媒媒媒体体体体功功功功能能能能扩扩扩扩展展展展SIMDSIMD技技技技术术术术极极

33、极极大大大大地地地地提提提提高高高高了了了了嵌嵌嵌嵌入入入入式式式式应应应应用用用用系系系系统统统统的的的的音音音音频频频频和和和和视视视视频频频频处处处处理理理理能能能能力力力力(4 4倍倍倍倍)。新新新新一一一一代代代代的的的的InternetInternet应应应应用用用用产产产产品品品品、移移移移动动动动电电电电话话话话和和和和PDAPDA等等等等设设设设备备备备终终终终端端端端需需需需要要要要提提提提供供供供高高高高性性性性能能能能的的的的流流流流式式式式媒媒媒媒体体体体,包包包包括括括括音音音音、视视视视频频频频等等等等,而而而而且且且且这这这这些些些些设设设设备备备备需需需需要要

34、要要提提提提供供供供更更更更加加加加人人人人性性性性化化化化的的的的界界界界面面面面,包包包包括括括括语语语语音音音音输输输输入入入入、手手手手写写写写输输输输入入入入等等等等。这这这这就就就就对对对对处处处处理理理理器器器器的的的的数数数数字字字字信信信信号号号号处处处处理理理理能能能能力力力力提提提提出出出出了了了了很很很很高高高高的的的的要要要要求求求求,同同同同时时时时还还还还必必必必须须须须保保保保证证证证低低低低功功功功耗耗耗耗。ARMARM的的的的SIMDSIMD媒媒媒媒体体体体功功功功能能能能扩扩扩扩展展展展为为为为这这这这些些些些应应应应用用用用提提提提供供供供了了了了解解解

35、解决决决决方方方方案案案案,特点:特点:特点:特点:rr使处理器的音频和视频处理性能提高了使处理器的音频和视频处理性能提高了使处理器的音频和视频处理性能提高了使处理器的音频和视频处理性能提高了2 24 4倍;倍;倍;倍;rr可同时进行可同时进行可同时进行可同时进行2 2个个个个1616位操作数或者位操作数或者位操作数或者位操作数或者4 4个个个个8 8位操作数的运算;位操作数的运算;位操作数的运算;位操作数的运算;rr用户可自定义饱和运算模式;用户可自定义饱和运算模式;用户可自定义饱和运算模式;用户可自定义饱和运算模式;rr可进行可进行可进行可进行2 2个个个个1616位操作数的乘加位操作数的

36、乘加位操作数的乘加位操作数的乘加/ /乘减运算及乘减运算及乘减运算及乘减运算及3232位位位位3232位小数乘加运算;位小数乘加运算;位小数乘加运算;位小数乘加运算;rr同时同时同时同时8 8位位位位/16/16位选择操作。位选择操作。位选择操作。位选择操作。 SIMDSIMD变种用字符变种用字符变种用字符变种用字符S S表示。表示。表示。表示。第第8 8讲讲 ARMARM技术概述技术概述8.3 ARM核核 在在在在高高高高性性性性能能能能的的的的3232位位位位嵌嵌嵌嵌入入入入式式式式SoCSoC设设设设计计计计中中中中,几几几几乎乎乎乎都都都都以以以以ARMARM作作作作为为为为处处处处理

37、理理理器器器器核核核核,ARMARM核核核核已已已已是是是是现现现现在嵌入式在嵌入式在嵌入式在嵌入式SoCSoC系统的核心,也是现代嵌入式系统发展的方向。系统的核心,也是现代嵌入式系统发展的方向。系统的核心,也是现代嵌入式系统发展的方向。系统的核心,也是现代嵌入式系统发展的方向。 ARMARM处处处处理理理理器器器器核核核核作作作作为为为为基基基基本本本本处处处处理理理理单单单单元元元元,还还还还集集集集成成成成了了了了与与与与处处处处理理理理器器器器核核核核密密密密切切切切相相相相关关关关的的的的功功功功能能能能模模模模块块块块,如如如如CacheCache、MMUMMU或或或或AMBAAM

38、BA接口,统称接口,统称接口,统称接口,统称CPUCPU核。核。核。核。8.3.1 ARM78.3.1 ARM7系列核系列核系列核系列核 ARM7ARM7系系系系列列列列核核核核包包包包括括括括ARM7TDMIARM7TDMI(ARM7TDMI-SARM7TDMI-S)处处处处理理理理器器器器核核核核和和和和在在在在此此此此基基基基础础础础上上上上发发发发展展展展起起起起来来来来的的的的ARM710T/720T/740TARM710T/720T/740T等带等带等带等带CACHECACHE的的的的CPUCPU核。核。核。核。 ARM7TDMIARM7TDMI是是是是ARMARM公公公公司司司司

39、最最最最早早早早为为为为业业业业界界界界普普普普遍遍遍遍认认认认可可可可且且且且得得得得到到到到了了了了广广广广泛泛泛泛应应应应用用用用的的的的处处处处理理理理器器器器核核核核,特特特特别别别别是是是是在在在在手手手手机机机机和和和和PDAPDA中中中中,目目目目前前前前处处处处最最最最低低低低端端端端。该该该该处处处处理理理理器器器器可可可可稳稳稳稳定定定定地地地地在在在在低低低低于于于于5V5V的的的的电电电电源源源源电电电电压压压压下下下下可可可可靠靠靠靠地地地地工工工工作作作作,增增增增加加加加了了了了6464位位位位乘乘乘乘法法法法指指指指令令令令,支支支支持持持持片片片片上上上上调

40、调调调试试试试、ThumbThumb指指指指令令令令集集集集和和和和EmbeddedICEEmbeddedICE片片片片上断点和观察点。上断点和观察点。上断点和观察点。上断点和观察点。ARM7TDMIARM7TDMI的具体含义是:的具体含义是:的具体含义是:的具体含义是: ARM7ARM73232位位位位ARMARM体系结构体系结构体系结构体系结构4T4T版本;版本;版本;版本; T TThumb16Thumb16位压缩指令集;位压缩指令集;位压缩指令集;位压缩指令集; D D支持片上支持片上支持片上支持片上DebugDebug(调试);(调试);(调试);(调试); MM增强型增强型增强型增

41、强型MultiplierMultiplier(乘法器);(乘法器);(乘法器);(乘法器); I IEmbedded ICEEmbedded ICE硬件,支持片上断点和观察点。硬件,支持片上断点和观察点。硬件,支持片上断点和观察点。硬件,支持片上断点和观察点。第第8 8讲讲 ARMARM技术概述技术概述第第8 8讲讲 ARMARM技术概述技术概述8.3.2 ARM98.3.2 ARM9系列核系列核系列核系列核 ARM9TDMIARM9TDMI将将将将流流流流水水水水线线线线的的的的级级级级数数数数增增增增加加加加到到到到5 5级级级级,并并并并使使使使用用用用分分分分开开开开的的的的指指指指令

42、令令令与与与与数数数数据据据据存存存存储储储储器器器器的的的的HarvardHarvard体体体体系系系系结结结结构构构构。在在在在相相相相同同同同工工工工艺艺艺艺条条条条件件件件下下下下,ARM9TDMIARM9TDMI的的的的性性性性能能能能近近近近似似似似为为为为ARM7TDMIARM7TDMI的的的的2 2倍倍倍倍。ARM9TDMIARM9TDMI的的的的开开开开发发发发使使使使得得得得ARMARM核核核核的的的的性性性性能能能能极极极极大大大大地地地地提提提提高高高高,使使使使用用用用范范范范围围围围增增增增大大大大,并并并并以以以以此此此此为为为为基基基基础础础础开开开开发发发发了

43、了了了ARM9EARM9E、ARM920TARM920T和和和和ARM940TARM940T的的的的CPUCPU核。核。核。核。(1 1)ARM9TDMIARM9TDMI的技术特点的技术特点的技术特点的技术特点支持支持支持支持ThumbThumb指令集;指令集;指令集;指令集;含含含含有有有有EmbeddedICEEmbeddedICE模模模模块块块块,支支支支持持持持片片片片上上上上调调调调试试试试和和和和硬硬硬硬件件件件单单单单步步步步调调调调试试试试,并并并并可可可可在在在在异异异异常时设置断点;常时设置断点;常时设置断点;常时设置断点;支持片上浮点协处理器、支持片上浮点协处理器、支持片

44、上浮点协处理器、支持片上浮点协处理器、DSPDSP或其它专用的硬件加速要求;或其它专用的硬件加速要求;或其它专用的硬件加速要求;或其它专用的硬件加速要求;通过采用通过采用通过采用通过采用5 5级流水线以增加最高时钟频率;级流水线以增加最高时钟频率;级流水线以增加最高时钟频率;级流水线以增加最高时钟频率;采用采用采用采用0.35um0.35um、3.3V3.3V工艺,也可用工艺,也可用工艺,也可用工艺,也可用1.2V1.2V、0.25um0.25um、0.18um0.18um工艺;工艺;工艺;工艺;使使使使用用用用分分分分开开开开的的的的指指指指令令令令与与与与数数数数据据据据存存存存储储储储器

45、器器器端端端端口口口口,以以以以改改改改善善善善CPICPI(指指指指令令令令周周周周期期期期数数数数),增增增增强处理器性能。强处理器性能。强处理器性能。强处理器性能。第第8 8讲讲 ARMARM技术概述技术概述 ARM9ARM9内核采用了与内核采用了与内核采用了与内核采用了与StrongARMStrongARM相同的相同的相同的相同的5 5级流水线,如下图。级流水线,如下图。级流水线,如下图。级流水线,如下图。第第8 8讲讲 ARMARM技术概述技术概述 (2 2)ThumbThumb解码和存储器读解码和存储器读解码和存储器读解码和存储器读/ /写写写写 ARM7TDMIARM7TDMI实

46、实实实现现现现ThumbThumb指指指指令令令令集集集集的的的的方方方方法法法法是是是是使使使使用用用用ARM7ARM7流流流流水水水水线线线线中中中中的的的的译译译译码码码码级级级级,比比比比较较较较有有有有足足足足够够够够的的的的时时时时间间间间将将将将ThumbThumb指指指指令令令令“ “解解解解压压压压缩缩缩缩” ”为为为为ARMARM指指指指令令令令。ARM9TDMIARM9TDMI的的的的流流流流水水水水线线线线非非非非常常常常紧紧紧紧密密密密,没没没没有有有有足足足足够够够够的的的的时时时时间间间间能能能能先先先先将将将将ThumbThumb指指指指令令令令翻翻翻翻译译译译

47、成成成成ARMARM指指指指令令令令再再再再译译译译码码码码,因因因因此此此此必必必必须须须须设设设设计计计计成成成成专专专专用用用用硬硬硬硬件件件件译码单元直接对译码单元直接对译码单元直接对译码单元直接对ARMARM指令和指令和指令和指令和ThumbThumb指令分别进行译码。指令分别进行译码。指令分别进行译码。指令分别进行译码。 在在在在ARM9TDMIARM9TDMI的的的的流流流流水水水水线线线线中中中中多多多多出出出出的的的的“ “存存存存储储储储器器器器” ”级级级级在在在在ARM7TDMIARM7TDMI中中中中没没没没有有有有直直直直接接接接的的的的对对对对应应应应级级级级,A

48、RM7TDMIARM7TDMI由由由由中中中中断断断断流流流流水水水水线线线线附附附附加加加加的的的的“ “执执执执行行行行” ”周周周周期期期期来来来来执执执执行行行行。由由由由于于于于ARM7TDMIARM7TDMI使使使使用用用用单单单单一一一一的的的的存存存存储储储储器器器器端端端端口口口口进进进进行行行行指指指指令令令令和和和和数数数数据据据据的的的的读读读读/ /写写写写,这这这这种种种种中中中中断断断断是是是是不不不不可可可可避避避避免免免免的的的的。在在在在读读读读/ /写写写写数数数数据据据据存存存存储储储储器器器器时时时时不不不不能能能能同同同同时时时时进进进进行行行行取取

49、取取指指指指令令令令操操操操作作作作。ARM9TDMIARM9TDMI通通通通过过过过设设设设置置置置分分分分开开开开的的的的指指指指令与数据存储器来避免这种流水线中断。令与数据存储器来避免这种流水线中断。令与数据存储器来避免这种流水线中断。令与数据存储器来避免这种流水线中断。第第8 8讲讲 ARMARM技术概述技术概述8.3.3 ARM108.3.3 ARM10系列核系列核系列核系列核 ARM10TDMIARM10TDMI属属属属于于于于ARMARM处处处处理理理理器器器器核核核核中中中中的的的的高高高高端端端端处处处处理理理理器器器器核核核核,在在在在相相相相同同同同工工工工艺艺艺艺条条条

50、条件件件件 下下下下 , ARM10TDMIARM10TDMI的的的的 性性性性 能能能能 近近近近 似似似似 为为为为 ARM9TDMIARM9TDMI的的的的 2 2倍倍倍倍 。ARM1020E/ARM10200ARM1020E/ARM10200是基于是基于是基于是基于ARM10TDMIARM10TDMI核的高性能核的高性能核的高性能核的高性能CPUCPU核。核。核。核。 由由由由于于于于ARM9TDMIARM9TDMI的的的的流流流流水水水水线线线线已已已已相相相相当当当当优优优优化化化化,因因因因此此此此ARM10TDMIARM10TDMI不不不不采采采采用用用用以以以以芯芯芯芯片片片

51、片面面面面积积积积资资资资源源源源和和和和功功功功耗耗耗耗这这这这些些些些ARMARM核核核核的的的的特特特特点点点点为为为为代代代代价价价价的的的的超超超超标标标标量量量量执执执执行行行行这这这这类类类类非非非非常常常常复杂的组织结构来改善性能。复杂的组织结构来改善性能。复杂的组织结构来改善性能。复杂的组织结构来改善性能。 (1 1)提提提提高高高高时时时时钟钟钟钟频频频频率率率率。ARMARM核核核核可可可可支支支支持持持持的的的的最最最最高高高高时时时时钟钟钟钟频频频频率率率率是是是是由由由由任任任任意意意意流流流流水水水水线线线线级级级级最最最最慢慢慢慢的的的的关关关关键键键键逻逻逻逻

52、辑辑辑辑路路路路径径径径决决决决定定定定的的的的。ARM10TDMIARM10TDMI保保保保留留留留了了了了与与与与ARM9TDMIARM9TDMI非非非非常常常常相相相相似似似似的的的的流流流流水水水水线线线线,但但但但进进进进行行行行了了了了特特特特别别别别的的的的优优优优化化化化,结结结结果果果果产产产产生生生生了了了了比比比比ARM9TDMIARM9TDMI运运运运行更快的行更快的行更快的行更快的6 6级流水线。级流水线。级流水线。级流水线。 (2 2)降降降降低低低低CPICPI。在在在在提提提提高高高高时时时时钟钟钟钟频频频频率率率率之之之之前前前前,必必必必须须须须同同同同时时

53、时时降降降降低低低低CPICPI。任任任任何何何何降降降降低低低低CPICPI的的的的方方方方法法法法都都都都必必必必须须须须考考考考虑虑虑虑存存存存储储储储器器器器的的的的带带带带宽宽宽宽。ARM10TDMIARM10TDMI采采采采用用用用6464位位位位存存存存储储储储器器器器,有效地消除了指令带宽瓶颈。有效地消除了指令带宽瓶颈。有效地消除了指令带宽瓶颈。有效地消除了指令带宽瓶颈。第第8 8讲讲 ARMARM技术概述技术概述8.3.4 StrongARM8.3.4 StrongARM和和和和XScaleXScale系列核系列核系列核系列核 19951995年年年年,ARMARM、Appl

54、eApple、和和和和DECDEC公公公公司司司司联联联联合合合合开开开开发发发发了了了了一一一一种种种种应应应应用用用用于于于于PDAPDA的的的的高高高高性性性性能能能能、低低低低功功功功耗耗耗耗、基基基基于于于于ARMARM体体体体系系系系结结结结构构构构的的的的StrongARMStrongARM微微微微处处处处理理理理器器器器。当当当当时时时时DigitalDigital公公公公司司司司的的的的AlphaAlpha处处处处理理理理器器器器是是是是一一一一个个个个工工工工作作作作频频频频率率率率非非非非常常常常高高高高的的的的6464位位位位RISCRISC处处处处理理理理器器器器,基

55、基基基于于于于先先先先进进进进的的的的CMOSCMOS工工工工艺艺艺艺技技技技术术术术、仔仔仔仔细细细细平平平平衡衡衡衡的的的的流流流流水水水水线线线线设设设设计计计计、精精精精心心心心设设设设计计计计的的的的时时时时钟钟钟钟方方方方案案案案以以以以及及及及用用用用内内内内部部部部的的的的设设设设计计计计工工工工具具具具实实实实现现现现的的的的对对对对这这这这些些些些部部部部件件件件的的的的非非非非常常常常良良良良好好好好的的的的控控控控制制制制。19981998年年年年IntelIntel公公公公司司司司接接接接管管管管DigitalDigital半半半半导导导导体体体体公公公公司司司司到到

56、到到现现现现在在在在,采采采采用用用用了了了了同同同同样样样样的的的的技技技技术术术术,并并并并且且且且进进进进一一一一步步步步考考考考虑虑虑虑了了了了功功功功耗耗耗耗效效效效率率率率,设设设设计计计计了了了了StrongARM StrongARM SA-110SA-110,成成成成为为为为高性能嵌入式微处理器设计的里程碑。高性能嵌入式微处理器设计的里程碑。高性能嵌入式微处理器设计的里程碑。高性能嵌入式微处理器设计的里程碑。 第第第第一一一一个个个个StrongARMStrongARM芯芯芯芯片片片片采采采采用用用用DigitalDigital的的的的0.35um0.35um三三三三层层层层金

57、金金金属属属属CMOSCMOS工工工工艺艺艺艺实实实实 现现现现 , 约约约约 25002500万万万万 个个个个 晶晶晶晶 体体体体 管管管管 , 面面面面 积积积积 为为为为 50mm50mm2 2, 时时时时 钟钟钟钟 频频频频 率率率率 为为为为 160160200MHz200MHz时时时时达达达达到到到到200200250MIPS250MIPS,供供供供电电电电电电电电压压压压为为为为1.651.652V2V,功功功功耗耗耗耗为为为为0.50.51W1W。第第8 8讲讲 ARMARM技术概述技术概述 (1 1)StrongARMStrongARM的技术特点的技术特点的技术特点的技术特

58、点qq具有寄存器前推的具有寄存器前推的具有寄存器前推的具有寄存器前推的5 5级流水线;级流水线;级流水线;级流水线;qq除除除除6464位位位位乘乘乘乘法法法法、多多多多寄寄寄寄存存存存器器器器传传传传送送送送和和和和存存存存储储储储器器器器/ /寄寄寄寄存存存存器器器器交交交交换换换换指指指指令令令令外外外外,其其其其它它它它所有指令均是单周期指令;所有指令均是单周期指令;所有指令均是单周期指令;所有指令均是单周期指令;qq16KB16KB、3232路相连的指令路相连的指令路相连的指令路相连的指令CACHECACHE,每行,每行,每行,每行3232字节;字节;字节;字节;qq16KB16KB

59、、3232路相连的写回式数据路相连的写回式数据路相连的写回式数据路相连的写回式数据CACHECACHE,每行,每行,每行,每行3232字节;字节;字节;字节;qq分开的分开的分开的分开的3232数据项的指令和数据地址变换后备缓冲器;数据项的指令和数据地址变换后备缓冲器;数据项的指令和数据地址变换后备缓冲器;数据项的指令和数据地址变换后备缓冲器;qq8 8数据项的写缓冲器,每个数据项数据项的写缓冲器,每个数据项数据项的写缓冲器,每个数据项数据项的写缓冲器,每个数据项1616字节;字节;字节;字节;qq低功耗的伪静态操作;低功耗的伪静态操作;低功耗的伪静态操作;低功耗的伪静态操作;qq极极极极具具

60、具具特特特特色色色色乘乘乘乘法法法法器器器器。不不不不论论论论处处处处理理理理器器器器时时时时钟钟钟钟频频频频率率率率有有有有多多多多高高高高,乘乘乘乘法法法法器器器器均均均均以以以以每每每每周期计算周期计算周期计算周期计算1212位,用位,用位,用位,用1-31-3个时钟周期计算两个个时钟周期计算两个个时钟周期计算两个个时钟周期计算两个3232位操作数的乘积。位操作数的乘积。位操作数的乘积。位操作数的乘积。qq使使使使用用用用系系系系统统统统控控控控制制制制协协协协处处处处理理理理器器器器CP15CP15来来来来管管管管理理理理片片片片上上上上MMUMMU和和和和CACHECACHE资资资资

61、源源源源,并且集成了并且集成了并且集成了并且集成了JTAGJTAG边界扫描测试电路以支持印制板连接测试。边界扫描测试电路以支持印制板连接测试。边界扫描测试电路以支持印制板连接测试。边界扫描测试电路以支持印制板连接测试。第第8 8讲讲 ARMARM技术概述技术概述(3 3)StrongARMStrongARM处理器流水线的特点处理器流水线的特点处理器流水线的特点处理器流水线的特点rr要要要要在在在在一一一一个个个个周周周周期期期期内内内内完完完完成成成成寄寄寄寄存存存存器器器器控控控控制制制制的的的的移移移移位位位位和和和和基基基基址址址址加加加加变变变变址址址址寻寻寻寻址址址址存存存存储储储储

62、(StoreStore)操作,寄存器需要)操作,寄存器需要)操作,寄存器需要)操作,寄存器需要3 3个读端口;个读端口;个读端口;个读端口;rr在一个周期内完成自动变址加载在一个周期内完成自动变址加载在一个周期内完成自动变址加载在一个周期内完成自动变址加载LoadLoad操作,寄存器要操作,寄存器要操作,寄存器要操作,寄存器要2 2个写端口;个写端口;个写端口;个写端口;rr执行级地址增值器支持多寄存器加载执行级地址增值器支持多寄存器加载执行级地址增值器支持多寄存器加载执行级地址增值器支持多寄存器加载/ /存储(存储(存储(存储(Load/StoreLoad/Store)指令;)指令;)指令;

63、)指令;rr有很多源可产生下一个有很多源可产生下一个有很多源可产生下一个有很多源可产生下一个PCPC值。值。值。值。 (2 2)StrongARMStrongARM处理器核处理器核处理器核处理器核 采采采采用用用用5 5级级级级流流流流水水水水线线线线,实实实实现现现现全全全全旁旁旁旁路路路路(寄寄寄寄存存存存器器器器前前前前推推推推)和和和和硬硬硬硬件件件件互互互互锁锁锁锁。5 5级级级级流流流流水线是:水线是:水线是:水线是:rr取指(从指令取指(从指令取指(从指令取指(从指令CACHECACHE););););rr指令译码及寄存器读;转移目标计算及执行;指令译码及寄存器读;转移目标计算及

64、执行;指令译码及寄存器读;转移目标计算及执行;指令译码及寄存器读;转移目标计算及执行;rr移位及移位及移位及移位及ALUALU操作,包括数据传送的存储器地址计算;操作,包括数据传送的存储器地址计算;操作,包括数据传送的存储器地址计算;操作,包括数据传送的存储器地址计算;rr数据数据数据数据CACHECACHE访问;访问;访问;访问;rr结果写回到寄存器文件。结果写回到寄存器文件。结果写回到寄存器文件。结果写回到寄存器文件。第第8 8讲讲 ARMARM技术概述技术概述(4 4)XScaleXScale系列核系列核系列核系列核 Intel Intel XScaleXScale系系系系列列列列处处处

65、处理理理理器器器器核核核核基基基基于于于于ARMV5TEARMV5TE体体体体系系系系结结结结构构构构,提提提提供供供供了了了了从从从从手手手手持持持持互互互互联联联联网网网网设设设设备备备备到到到到互互互互联联联联网网网网基基基基础础础础设设设设施施施施产产产产品品品品的的的的全全全全面面面面解解解解决决决决方方方方案案案案,支支支支持持持持1616位位位位ThumbThumb指指指指令令令令和和和和DSPDSP扩扩扩扩展展展展,超超超超低低低低功功功功耗耗耗耗,高高高高性性性性能能能能。其其其其核核核核心心心心采采采采用用用用IntelIntel公公公公司司司司先先先先进进进进的的的的0.

66、18um0.18um工工工工艺艺艺艺技技技技术术术术制制制制造造造造,处处处处理理理理速速速速度度度度是是是是StrongARMStrongARM处处处处理理理理器器器器的的的的2 2倍倍倍倍,其技术特点主要有:其技术特点主要有:其技术特点主要有:其技术特点主要有:vv数据数据数据数据CACHECACHE的容量从的容量从的容量从的容量从8KB8KB增加到增加到增加到增加到32KB32KB;vv指令指令指令指令CACHECACHE的容量从的容量从的容量从的容量从16KB16KB增加到增加到增加到增加到32KB32KB;vv微小数据微小数据微小数据微小数据CACHECACHE的容量从的容量从的容量

67、从的容量从512512字节增加到字节增加到字节增加到字节增加到2KB2KB;vv流水线结构由流水线结构由流水线结构由流水线结构由5 5级增加到级增加到级增加到级增加到7 7级;级;级;级;vv新新新新增增增增乘乘乘乘法法法法/ /加加加加法法法法器器器器MACMAC和和和和特特特特定定定定的的的的DSPDSP型型型型协协协协处处处处理理理理器器器器CP0CP0,以以以以提提提提高高高高对对对对多多多多媒媒媒媒体体体体技术的支持;技术的支持;技术的支持;技术的支持;vv动动动动态态态态电电电电源源源源管管管管理理理理,使使使使XScaleXScale处处处处理理理理器器器器的的的的时时时时钟钟钟

68、钟频频频频率率率率可可可可达达达达1GHz1GHz,功功功功耗耗耗耗0.1mW0.1mW1.6W1.6W,并能达到,并能达到,并能达到,并能达到1200MIPS1200MIPS。 第第8 8讲讲 ARMARM技术概述技术概述8.4 Thumb8.4 Thumb技术技术技术技术n nThumbThumb是是是是ARMARM体体体体系系系系结结结结构构构构的的的的扩扩扩扩展展展展,它它它它有有有有3636条条条条从从从从标标标标准准准准3232位位位位ARMARM指指指指令令令令集集集集中中中中抽抽抽抽出出出出来来来来的的的的指指指指令令令令格格格格式式式式,可可可可重重重重新新新新编编编编成成成

69、成1616位位位位的的的的操操操操作作作作码码码码,是是是是ARMARM指指指指令令令令宽宽宽宽度度度度的的的的一一一一半半半半,从从从从而而而而提提提提高高高高代代代代码码码码密密密密度度度度。在在在在运运运运行行行行时时时时,这这这这些些些些1616位位位位的的的的ThumbThumb指令又由处理器解压成指令又由处理器解压成指令又由处理器解压成指令又由处理器解压成3232位位位位ARMARM指令执行。指令执行。指令执行。指令执行。n nARM7TDMIARM7TDMI是是是是第第第第一一一一个个个个支支支支持持持持ThumbThumb的的的的核核核核,以以以以后后后后出出出出现现现现的的的

70、的各各各各种种种种ARMARM核核核核都都都都支支支支持持持持ThumbThumb指指指指令令令令集集集集。由由由由于于于于支支支支持持持持ThumbThumb的的的的核核核核仅仅仅仅仅仅仅仅是是是是ARMARM体体体体系系系系结结结结构构构构的的的的一一一一种种种种扩扩扩扩展展展展,因因因因此此此此编编编编译译译译器器器器既既既既可可可可编编编编译译译译ThumbThumb代代代代码码码码,又又又又可可可可编编编编译译译译ARMARM代码。代码。代码。代码。n n支支支支持持持持ThumbThumb的的的的ARMARM体体体体系系系系结结结结构构构构的的的的处处处处理理理理器器器器状状状状态

71、态态态可可可可方方方方便便便便地地地地切切切切换换换换、运运运运行行行行到到到到ThumbThumb状态,在该状态下指令集是状态,在该状态下指令集是状态,在该状态下指令集是状态,在该状态下指令集是1616位的位的位的位的ThumbThumb指令集。指令集。指令集。指令集。第第8 8讲讲 ARMARM技术概述技术概述 支支支支持持持持ThumbThumb的的的的核核核核既既既既可可可可执执执执行行行行标标标标准准准准ARMARM指指指指令令令令,又又又又可可可可执执执执行行行行ThumbThumb指指指指令令令令。ThumbThumb不不不不仅仅仅仅仅仅仅仅是是是是另另另另一一一一个个个个混混混

72、混合合合合指指指指令令令令集集集集的的的的概概概概念念念念,因因因因为为为为支支支支持持持持ThumbThumb的的的的核核核核有有有有2 2套套套套独独独独立立立立的的的的指指指指令令令令集集集集,它它它它使使使使设设设设计计计计者者者者得得得得到到到到ARM32ARM32位位位位指指指指令令令令性性性性能能能能的的的的同同同同时时时时,又又又又能能能能享享享享有有有有ThumbThumb指指指指令令令令集集集集的的的的代代代代码码码码方方方方面面面面的的的的优优优优势势势势,可可可可在在在在性性性性能能能能和和和和代代代代码码码码大大大大小小小小之之之之间间间间取取取取得得得得平平平平衡衡

73、衡衡。在在在在需需需需要要要要较较较较低低低低的的的的存存存存储储储储代代代代码码码码时时时时,采采采采用用用用ThumbThumb指指指指令令令令系系系系统统统统,但但但但有有有有比比比比纯纯纯纯粹粹粹粹的的的的1616位位位位系系系系统统统统有有有有较较较较高高高高的的的的实实实实现现现现性性性性能能能能,因因因因为为为为实实实实际际际际执执执执行行行行的的的的是是是是3232位位位位指指指指令令令令,用用用用ThumbThumb指指指指令令令令编编编编写写写写最最最最小小小小代代代代码码码码量量量量的的的的程程程程序序序序,却却却却取取取取得得得得以以以以ARMARM代代代代码码码码执执

74、执执行行行行的的的的最最最最好好好好性性性性能能能能。独独独独立立立立的的的的2 2套套套套指指指指令令令令集集集集也也也也使使使使得得得得解解解解码码码码逻逻逻逻辑辑辑辑极极极极其其其其简简简简单单单单,从从从从而而而而维维维维持持持持了了了了较较较较小小小小的的的的硅硅硅硅片片片片面面面面积积积积,保保保保证证证证了了了了领领领领先先先先的的的的“ “低低低低功功功功耗耗耗耗、高高高高性性性性能能能能、小小小小体体体体积积积积” ”的的的的技技技技术术术术要求,满足了对嵌入式系统的设计需求。要求,满足了对嵌入式系统的设计需求。要求,满足了对嵌入式系统的设计需求。要求,满足了对嵌入式系统的设

75、计需求。 与与与与ARMARM指令集相比,指令集相比,指令集相比,指令集相比,ThumbThumb指令集具有以下局限:指令集具有以下局限:指令集具有以下局限:指令集具有以下局限:完完完完成成成成相相相相同同同同的的的的操操操操作作作作,ThumbThumb指指指指令令令令通通通通常常常常需需需需要要要要更更更更多多多多的的的的指指指指令令令令,因因因因此此此此在在在在对对对对系系系系统统统统运行时间要求苛刻的应用场合,运行时间要求苛刻的应用场合,运行时间要求苛刻的应用场合,运行时间要求苛刻的应用场合,ARMARM指令集更为合适;指令集更为合适;指令集更为合适;指令集更为合适;ThumbThum

76、b指指指指令令令令集集集集没没没没有有有有包包包包含含含含进进进进行行行行异异异异常常常常处处处处理理理理时时时时需需需需要要要要的的的的一一一一些些些些指指指指令令令令,因因因因此此此此在在在在异异异异常常常常中中中中断断断断时时时时,还还还还是是是是需需需需要要要要使使使使用用用用ARMARM指指指指令令令令,这这这这种种种种限限限限制制制制决决决决定定定定了了了了ThumbThumb指指指指令令令令需需需需要与要与要与要与ARMARM指令配合使用。指令配合使用。指令配合使用。指令配合使用。第第8 8讲讲 ARMARM技术概述技术概述8.5 ARM8.5 ARM处理器工作状态处理器工作状态

77、处理器工作状态处理器工作状态 自自自自从从从从ARM7TDMIARM7TDMI核核核核产产产产生生生生以以以以后后后后,体体体体系系系系结结结结构构构构中中中中具具具具有有有有T T变变变变种种种种的的的的ARMARM处理器核可工作在以下两种状态:处理器核可工作在以下两种状态:处理器核可工作在以下两种状态:处理器核可工作在以下两种状态:uuARMARM状态状态状态状态:3232位,执行字对齐的位,执行字对齐的位,执行字对齐的位,执行字对齐的3232位位位位ARMARM指令;指令;指令;指令;uuThumbThumb状状状状态态态态:1616位位位位,执执执执行行行行半半半半字字字字对对对对齐齐

78、齐齐的的的的1616位位位位ThumbThumb指指指指令令令令,程程程程序序序序计数器计数器计数器计数器PCPC使用位使用位使用位使用位1 1选择另一个半字。选择另一个半字。选择另一个半字。选择另一个半字。 在程序执行过程中,处理器可在两种状态下在程序执行过程中,处理器可在两种状态下在程序执行过程中,处理器可在两种状态下在程序执行过程中,处理器可在两种状态下切换切换切换切换。注意:。注意:。注意:。注意:ARMARM和和和和ThumbThumb之之之之间间间间状状状状态态态态的的的的切切切切换换换换不不不不影影影影响响响响处处处处理理理理器器器器的的的的模模模模式式式式或或或或寄寄寄寄存存存

79、存器器器器的内容;的内容;的内容;的内容;ARMARM指令集和指令集和指令集和指令集和ThumbThumb指令集都有相应的状态切换命令;指令集都有相应的状态切换命令;指令集都有相应的状态切换命令;指令集都有相应的状态切换命令;ARMARM处理器在开始执行代码时,只能处于处理器在开始执行代码时,只能处于处理器在开始执行代码时,只能处于处理器在开始执行代码时,只能处于ARMARM状态。状态。状态。状态。第第8 8讲讲 ARMARM技术概述技术概述 切换方法如下:切换方法如下:切换方法如下:切换方法如下:qq进进进进入入入入ThumbThumb状状状状态态态态。当当当当操操操操作作作作数数数数寄寄寄

80、寄存存存存器器器器RmRm的的的的状状状状态态态态位位位位bit0bit0为为为为1 1时时时时,执执执执行行行行“ “BX BX Rm“Rm“指指指指令令令令进进进进入入入入ThumbThumb状状状状态态态态。如如如如果果果果处处处处理理理理器器器器在在在在ThumbThumb状状状状态态态态进进进进入入入入异异异异常常常常,则则则则当当当当异异异异常常常常处处处处理理理理(IRQIRQ、FIQFIQ、UndefUndef、AbortAbort、SWISWI)返回时,自动切换到)返回时,自动切换到)返回时,自动切换到)返回时,自动切换到ThumbThumb状态;状态;状态;状态;qq进进进

81、进入入入入ARMARM状状状状态态态态。当当当当操操操操作作作作数数数数寄寄寄寄存存存存器器器器RmRm的的的的状状状状态态态态位位位位bit0bit0为为为为0 0时时时时,执执执执行行行行“ “BX BX Rm“Rm“指指指指令令令令进进进进入入入入ARMARM状状状状态态态态。如如如如果果果果处处处处理理理理器器器器进进进进行行行行异异异异常常常常处处处处理理理理(IRQIRQ、FIQFIQ、UndefUndef、AbortAbort、SWISWI),则则则则把把把把PCPC放放放放入入入入异异异异常常常常模模模模式式式式链链链链接接接接寄寄寄寄存存存存器器器器LRLR中中中中,从从从从

82、异异异异常常常常向向向向量量量量地地地地址址址址开开开开始始始始执执执执行行行行,也也也也可可可可进进进进入入入入ARMARM状态。状态。状态。状态。第第8 8讲讲 ARMARM技术概述技术概述8.6 ARM8.6 ARM处理器工作模式处理器工作模式处理器工作模式处理器工作模式 CPSRCPSR(当当当当前前前前程程程程序序序序状状状状态态态态寄寄寄寄存存存存器器器器)的的的的低低低低5 5位位位位用用用用于于于于定定定定义义义义当当当当前前前前操操操操作作作作模模模模式式式式。ARMARM处处处处理理理理器器器器支支支支持持持持7 7种种种种处处处处理理理理器器器器模模模模式式式式,见见见见

83、下下下下表表表表。在在在在软软软软件件件件控控控控制制制制、外外外外部部部部中中中中断断断断或或或或异异异异常常常常处处处处理理理理情情情情况况况况下,可引起处理器工作模式的改变。下,可引起处理器工作模式的改变。下,可引起处理器工作模式的改变。下,可引起处理器工作模式的改变。 CPSR4:0CPSR4:0模式模式模式模式用用用用 途途途途可访问的寄存器可访问的寄存器可访问的寄存器可访问的寄存器1000010000UserUser(用(用(用(用户户户户)正常用正常用正常用正常用户户户户模式,程序正常模式,程序正常模式,程序正常模式,程序正常执执执执行模式行模式行模式行模式PCPC、R14R14

84、R0R0、CPSRCPSR1000110001FIQFIQ(快速中断)(快速中断)(快速中断)(快速中断)处处处处理快速中断,支持高速数据理快速中断,支持高速数据理快速中断,支持高速数据理快速中断,支持高速数据传传传传送送送送或通道或通道或通道或通道处处处处理理理理PCPC、R14_fiqR14_fiqR8_fiqR8_fiq、R8R8R0R0、CPSRCPSR、SPSR_fiqSPSR_fiq1001010010IRQIRQ(中断)(中断)(中断)(中断)处处处处理普通中断理普通中断理普通中断理普通中断PCPC、R14_irqR14_irqR13_irqR13_irq、R12R12R0R0、

85、CPSRCPSR、SPSR_irqSPSR_irq1001110011SVCSVC(管理)(管理)(管理)(管理)操作系操作系操作系操作系统统统统保保保保护护护护模式,模式,模式,模式,处处处处理理理理软软软软件中断件中断件中断件中断(SWISWI)PCPC、R14_svcR14_svcR13_svcR13_svc、R12R12R0R0、CPSRCPSR、SPSR_svcSPSR_svc1011110111AbortAbort(中止)(中止)(中止)(中止)处处处处理存理存理存理存储储储储器故障,器故障,器故障,器故障,实现实现实现实现虚虚虚虚拟拟拟拟存存存存储储储储器器器器和存和存和存和存储

86、储储储器保器保器保器保护护护护PCPC、R14_abtR14_abtR13_abtR13_abt、R12R12R0R0、CPSRCPSR、SPSR_abtSPSR_abt1101111011UndefUndef(未定(未定(未定(未定义义义义)处处处处理未定理未定理未定理未定义义义义的指令陷阱,支持硬件的指令陷阱,支持硬件的指令陷阱,支持硬件的指令陷阱,支持硬件协处协处协处协处理器的理器的理器的理器的软软软软件仿真件仿真件仿真件仿真PCPC、R14_undR14_undR13_undR13_und、R12R12R0R0、CPSRCPSR、SPSR_undSPSR_und1111111111Sy

87、stemSystem(系(系(系(系统统统统)运行特运行特运行特运行特权权权权操作系操作系操作系操作系统统统统任任任任务务务务PCPC、R14R14R0R0、CPSRCPSR第第8 8讲讲 ARMARM技术概述技术概述 大大大大多多多多数数数数用用用用户户户户程程程程序序序序运运运运行行行行在在在在用用用用户户户户模模模模式式式式下下下下,这这这这时时时时应应应应用用用用程程程程序序序序不不不不能能能能访访访访问问问问一一一一些些些些受受受受操操操操作作作作系系系系统统统统保保保保护护护护的的的的系系系系统统统统资资资资源源源源,也也也也不不不不能能能能改改改改变变变变模模模模式式式式,除除除

88、除非非非非异异异异常常常常(ExceptionException)发发发发生生生生,这这这这允允允允许许许许操操操操作作作作系系系系统统统统来来来来控控控控制制制制系系系系统统统统资资资资源源源源的的的的使使使使用用用用,适当编写操作系统,可用来控制系统资源的使用。适当编写操作系统,可用来控制系统资源的使用。适当编写操作系统,可用来控制系统资源的使用。适当编写操作系统,可用来控制系统资源的使用。 除除除除用用用用户户户户模模模模式式式式外外外外的的的的其其其其它它它它6 6种种种种模模模模式式式式称称称称为为为为特特特特权权权权模模模模式式式式。特特特特权权权权操操操操作作作作模模模模式式式式

89、主主主主要要要要处处处处理理理理异异异异常常常常和和和和监监监监控控控控调调调调用用用用(或或或或称称称称软软软软件件件件中中中中断断断断),它它它它们们们们可可可可自自自自由由由由地地地地访访访访问系统资源和改变模式。问系统资源和改变模式。问系统资源和改变模式。问系统资源和改变模式。 特特特特权权权权模模模模式式式式中中中中除除除除系系系系统统统统模模模模式式式式外外外外的的的的5 5种种种种模模模模式式式式又又又又称称称称为为为为异异异异常常常常模模模模式式式式,即即即即FIQFIQ(Fast Fast Interrupt Interrupt RequestRequest)、IRQIRQ(

90、Interrupt Interrupt RequestRequest)、SVCSVC( SupervisorSupervisor) 、 中中中中 止止止止 ( AbortAbort) 、 未未未未 定定定定 义义义义(UndefinedUndefined)。)。)。)。第第8 8讲讲 ARMARM技术概述技术概述 特权模式特权模式特权模式特权模式 = = 异常模式异常模式异常模式异常模式 系统模式系统模式系统模式系统模式。 异异异异常常常常模模模模式式式式主主主主要要要要用用用用于于于于处处处处理理理理中中中中断断断断和和和和异异异异常常常常。当当当当应应应应用用用用程程程程序序序序发发发发生

91、生生生异异异异常常常常中中中中断断断断时时时时,处处处处理理理理器器器器进进进进入入入入相相相相应应应应的的的的异异异异常常常常模模模模式式式式。在在在在每每每每一一一一种种种种异异异异常常常常模模模模式式式式中中中中,都都都都有有有有某某某某些些些些附附附附加加加加的的的的影影影影子子子子寄寄寄寄存存存存器器器器组组组组(表表表表中中中中下下下下划划划划线线线线),供供供供相相相相应应应应的的的的异异异异常常常常处处处处理理理理程程程程序序序序使使使使用用用用。这这这这样样样样可可可可保保保保证证证证在在在在进进进进入入入入异异异异常常常常模模模模式式式式时时时时,用用用用户户户户模模模模式

92、式式式下下下下的的的的寄寄寄寄存存存存器器器器(保保保保存存存存了了了了程程程程序序序序运运运运行行行行状状状状态态态态)不被破坏,以避免异常出现时,用户模式的状态不可靠。不被破坏,以避免异常出现时,用户模式的状态不可靠。不被破坏,以避免异常出现时,用户模式的状态不可靠。不被破坏,以避免异常出现时,用户模式的状态不可靠。 系系系系统统统统模模模模式式式式仅仅仅仅在在在在ARMARM体体体体系系系系结结结结构构构构V4V4以以以以上上上上版版版版本本本本存存存存在在在在。系系系系统统统统模模模模式式式式不不不不是是是是通通通通过过过过异异异异常常常常过过过过程程程程进进进进入入入入的的的的,它它

93、它它与与与与用用用用户户户户模模模模式式式式有有有有完完完完全全全全相相相相同同同同的的的的寄寄寄寄存存存存器器器器。这这这这样样样样操操操操作作作作系系系系统统统统的的的的任任任任务务务务可可可可访访访访问问问问所所所所有有有有需需需需要要要要的的的的系系系系统统统统资资资资源源源源,也也也也可可可可使使使使用用用用用用用用户户户户模模模模式式式式的的的的寄寄寄寄存存存存器器器器组组组组,但但但但不不不不使使使使用用用用异异异异常常常常模模模模式式式式下下下下相相相相应应应应的的的的寄寄寄寄存存存存器器器器组组组组,从从从从而而而而避避避避免免免免了了了了使使使使用用用用与与与与异异异异常常

94、常常模模模模式式式式有有有有关关关关的的的的附附附附加加加加寄寄寄寄存存存存器器器器,进进进进而而而而确确确确保保保保当当当当任任任任何何何何异异异异常常常常出出出出现现现现时时时时,不不不不会会会会使使使使任任任任务务务务的的的的状状状状态态态态不不不不可靠或被破坏。系统模式属于特权模式,不受用户模式的控制。可靠或被破坏。系统模式属于特权模式,不受用户模式的控制。可靠或被破坏。系统模式属于特权模式,不受用户模式的控制。可靠或被破坏。系统模式属于特权模式,不受用户模式的控制。第第8 8讲讲 ARMARM技术概述技术概述8.7 ARM8.7 ARM寄存器寄存器寄存器寄存器8.7.1 ARM8.7

95、.1 ARM寄存器概述寄存器概述寄存器概述寄存器概述 ARMARM处处处处理理理理器器器器共共共共有有有有3737个个个个寄寄寄寄存存存存器器器器,按按按按功功功功能能能能可可可可分分分分为为为为通通通通用用用用寄寄寄寄存存存存器器器器和和和和状状状状态态态态寄寄寄寄存器两类。存器两类。存器两类。存器两类。 (1 1)3131个通用寄存器个通用寄存器个通用寄存器个通用寄存器 全是全是全是全是3232位寄存器,包括程序计数器(位寄存器,包括程序计数器(位寄存器,包括程序计数器(位寄存器,包括程序计数器(PCPC),其名称分别是:),其名称分别是:),其名称分别是:),其名称分别是:R0R0R15

96、R15(1616个);个);个);个);R13_svcR13_svcR14_svcR14_svc(2 2个);个);个);个);R13_abtR13_abtR14_abtR14_abt(2 2个);个);个);个);R13_undR13_undR14_undR14_und(2 2个);个);个);个);R13_irqR13_irqR14_irqR14_irq(2 2个);个);个);个);R8_fiqR8_fiqR14_fiqR14_fiq(7 7个)。个)。个)。个)。第第8 8讲讲 ARMARM技术概述技术概述(2 2)6 6个状态寄存器个状态寄存器个状态寄存器个状态寄存器 6 6个个个个

97、状状状状态态态态寄寄寄寄存存存存器器器器也也也也是是是是3232位位位位的的的的,但但但但目目目目前前前前只只只只使使使使用用用用了了了了其其其其中中中中的的的的1212位位位位。其其其其名名名名称称称称分别为:分别为:分别为:分别为: CPSRCPSR、 SPSR_svcSPSR_svc、 SPSR_abtSPSR_abt、 SPSR_undSPSR_und、 SPSR_irqSPSR_irq、SPSR_fiqSPSR_fiq。 这这这这些些些些寄寄寄寄存存存存器器器器并并并并不不不不是是是是在在在在同同同同一一一一时时时时刻刻刻刻全全全全部部部部可可可可被被被被编编编编程程程程者者者者看看

98、看看到到到到或或或或访访访访问问问问的的的的。处处处处理理理理器器器器工工工工作作作作状状状状态态态态(2 2种种种种状状状状态态态态)和和和和工工工工作作作作模模模模式式式式(7 7种种种种模模模模式式式式)共共共共同同同同决决决决定定定定了了了了程程程程序序序序员员员员可可可可访访访访问问问问的的的的寄寄寄寄存存存存器器器器。ARMARM处处处处理理理理器器器器在在在在任任任任一一一一时时时时刻刻刻刻只只只只能能能能工工工工作作作作在在在在7 7种种种种模模模模式式式式中中中中的的的的一一一一种种种种和和和和2 2种种种种状状状状态态态态中中中中的的的的一一一一种种种种,因因因因此此此此程

99、程程程序序序序员员员员可可可可操操操操作作作作的的的的寄寄寄寄存存存存器器器器因因因因工工工工作作作作状状状状态态态态和和和和工工工工作作作作模式的不同而不同。模式的不同而不同。模式的不同而不同。模式的不同而不同。第第8 8讲讲 ARMARM技术概述技术概述8.7.2 ARM8.7.2 ARM状态下的寄存器组织状态下的寄存器组织状态下的寄存器组织状态下的寄存器组织 当当当当ARMARM处处处处理理理理器器器器工工工工作作作作在在在在ARMARM状状状状态态态态下下下下时时时时,在在在在寄寄寄寄存存存存器器器器的的的的物物物物理理理理分分分分配配配配上上上上,寄寄寄寄存存存存器器器器被被被被安安

100、安安排排排排成成成成部部部部分分分分重重重重叠叠叠叠的的的的组组组组。每每每每种种种种处处处处理理理理模模模模式式式式使使使使用用用用的的的的是是是是与与与与自自自自己己己己模模模模式式式式对对对对应应应应的的的的不不不不同同同同寄寄寄寄存存存存器器器器组,下图列出了每种模式下可见的寄存器。组,下图列出了每种模式下可见的寄存器。组,下图列出了每种模式下可见的寄存器。组,下图列出了每种模式下可见的寄存器。第第8 8讲讲 ARMARM技术概述技术概述n n分分分分析析析析上上上上图图图图,可可可可以以以以看看看看出出出出在在在在所所所所有有有有寄寄寄寄存存存存器器器器中中中中,有有有有些些些些寄寄

101、寄寄存存存存器器器器是是是是各各各各模模模模式式式式共共共共用用用用的的的的同同同同一一一一个个个个物物物物理理理理寄寄寄寄存存存存器器器器,有有有有些些些些寄寄寄寄存存存存器器器器是是是是各各各各模模模模式式式式自自自自己己己己拥拥拥拥有有有有的的的的独独独独立立立立的的的的物物物物理理理理寄寄寄寄存存存存器器器器。除除除除了了了了系系系系统统统统模模模模式式式式和和和和用用用用户户户户模模模模式式式式具具具具有有有有完完完完全全全全相相相相同同同同的的的的一一一一组组组组寄寄寄寄存存存存器器器器外外外外,其其其其它每种模式都有一组相应的寄存器组。它每种模式都有一组相应的寄存器组。它每种模式

102、都有一组相应的寄存器组。它每种模式都有一组相应的寄存器组。n n对对对对于于于于系系系系统统统统模模模模式式式式和和和和用用用用户户户户模模模模式式式式,可可可可访访访访问问问问的的的的寄寄寄寄存存存存器器器器是是是是:1616个个个个通通通通用用用用寄寄寄寄存存存存器器器器(R0R0R14R14、R15R15(PCPC)和)和)和)和1 1个状态寄存器(个状态寄存器(个状态寄存器(个状态寄存器(CPSRCPSR););););n n对对对对于于于于5 5种种种种异异异异常常常常模模模模式式式式,可可可可访访访访问问问问的的的的寄寄寄寄存存存存器器器器是是是是:1616个个个个通通通通用用用用

103、寄寄寄寄存存存存器器器器和和和和2 2个个个个状状状状态态态态寄存器(寄存器(寄存器(寄存器(CPSRCPSR、SPSRSPSR)。)。)。)。n n因因因因此此此此,在在在在任任任任意意意意时时时时刻刻刻刻,ARMARM处处处处理理理理器器器器可可可可有有有有1616个个个个通通通通用用用用寄寄寄寄存存存存器器器器和和和和1/21/2个个个个状状状状态态态态寄存器被访问。寄存器被访问。寄存器被访问。寄存器被访问。n n图图图图中中中中,带带带带有有有有背背背背景景景景颜颜颜颜色色色色的的的的寄寄寄寄存存存存器器器器称称称称为为为为影影影影子子子子寄寄寄寄存存存存器器器器,是是是是针针针针对对

104、对对处处处处理理理理器器器器不不不不同同同同工工工工作作作作模模模模式式式式下下下下而而而而特特特特有有有有的的的的物物物物理理理理寄寄寄寄存存存存器器器器。在在在在异异异异常常常常模模模模式式式式下下下下,它它它它们们们们将将将将代代代代替替替替用用用用户户户户或或或或系系系系统统统统模模模模式式式式下下下下使使使使用用用用的的的的部部部部分分分分寄寄寄寄存存存存器器器器。在在在在管管管管理理理理、中中中中止止止止、未未未未定定定定义义义义、普普普普通通通通中中中中断断断断模模模模式式式式下下下下的的的的影影影影子子子子寄寄寄寄存存存存器器器器都都都都为为为为2 2个个个个,而而而而快快快快

105、速速速速中中中中断断断断模模模模式式式式下下下下为为为为7 7个个个个,这这这这样样样样更更更更有利于快速中断的处理进程。有利于快速中断的处理进程。有利于快速中断的处理进程。有利于快速中断的处理进程。第第8 8讲讲 ARMARM技术概述技术概述8.7.2.1 8.7.2.1 通用寄存器通用寄存器通用寄存器通用寄存器 通用寄存器(通用寄存器(通用寄存器(通用寄存器(R0R0R15R15)可分为)可分为)可分为)可分为3 3类:类:类:类:uu不分组寄存器不分组寄存器不分组寄存器不分组寄存器R0R0R7R7;uu分组寄存器分组寄存器分组寄存器分组寄存器R8R8R14R14;uu程序计数器程序计数器

106、程序计数器程序计数器R15R15(PCPC)。)。)。)。(1 1)不分组寄存器)不分组寄存器)不分组寄存器)不分组寄存器R0R0R7R7n n8 8个个个个。在在在在所所所所有有有有模模模模式式式式下下下下,它它它它们们们们每每每每一一一一个个个个访访访访问问问问的的的的都都都都是是是是同同同同一一一一个个个个物物物物理理理理寄寄寄寄存存存存器器器器,是是是是真真真真正在每种状态下都统一的通用寄存器正在每种状态下都统一的通用寄存器正在每种状态下都统一的通用寄存器正在每种状态下都统一的通用寄存器。n n在在在在异异异异常常常常中中中中断断断断造造造造成成成成处处处处理理理理器器器器模模模模式式

107、式式切切切切换换换换时时时时,在在在在不不不不同同同同的的的的异异异异常常常常处处处处理理理理模模模模式式式式下下下下,如如如如果果果果使使使使用用用用名名名名称称称称相相相相同同同同的的的的寄寄寄寄存存存存器器器器,也也也也就就就就意意意意味味味味着着着着使使使使用用用用相相相相同同同同的的的的一一一一个个个个物物物物理理理理寄寄寄寄存存存存器器器器。如如如如果果果果未未未未加加加加保保保保护护护护,模模模模式式式式变变变变化化化化后后后后,有有有有可可可可能能能能造造造造成成成成寄寄寄寄存存存存器器器器中中中中存存存存储储储储的的的的数数数数据据据据被被被被破破破破坏坏坏坏,这这这这是需要

108、特别注意的。是需要特别注意的。是需要特别注意的。是需要特别注意的。n n未未未未分分分分组组组组寄寄寄寄存存存存器器器器没没没没有有有有被被被被系系系系统统统统用用用用于于于于特特特特别别别别的的的的用用用用途途途途,任任任任何何何何可可可可采采采采用用用用通通通通用用用用寄寄寄寄存存存存器器器器的的的的应应应应用用用用场场场场合合合合都都都都可可可可使使使使用用用用未未未未分分分分组组组组寄寄寄寄存存存存器器器器,但但但但必必必必须须须须注注注注意意意意对对对对同同同同一一一一寄寄寄寄存存存存器器器器在在在在不不不不同同同同模模模模式式式式下使用时的数据保护。下使用时的数据保护。下使用时的数

109、据保护。下使用时的数据保护。第第8 8讲讲 ARMARM技术概述技术概述(2 2)分组寄存器)分组寄存器)分组寄存器)分组寄存器R8R8R14R14 7 7个。可大致分为两组:一组为个。可大致分为两组:一组为个。可大致分为两组:一组为个。可大致分为两组:一组为R8R8R12R12,另一组为,另一组为,另一组为,另一组为R13R13R14R14。 R8R8R12R12。又分两组,一组为。又分两组,一组为。又分两组,一组为。又分两组,一组为FIQFIQ模式,另一组为非模式,另一组为非模式,另一组为非模式,另一组为非FIQFIQ模式。模式。模式。模式。uuFIQFIQ模模模模式式式式下下下下使使使使

110、用用用用R8_fiqR8_fiqR12_fiqR12_fiq,FIQFIQ处处处处理理理理程程程程序序序序可可可可不不不不必必必必保保保保存存存存和和和和恢恢恢恢复复复复中中中中断断断断现现现现场场场场,从从从从而使而使而使而使FIQFIQ中断的处理过程更加迅速。中断的处理过程更加迅速。中断的处理过程更加迅速。中断的处理过程更加迅速。uu非非非非FIQFIQ模模模模式式式式下下下下可可可可访访访访问问问问的的的的R8R8R12R12寄寄寄寄存存存存器器器器,属属属属于于于于同同同同一一一一物物物物理理理理寄寄寄寄存存存存器器器器,未未未未指指指指定定定定任任任任何何何何特特特特殊殊殊殊用用用用

111、途途途途。再再再再加加加加上上上上各各各各自自自自的的的的分分分分组组组组寄寄寄寄存存存存器器器器R13R13、R14R14,足足足足以以以以简简简简单单单单地地地地处处处处理理理理中中中中断断断断。显显显显然然然然,在在在在非非非非FIQFIQ模模模模式式式式以以以以外外外外的的的的中中中中断断断断处处处处理理理理中中中中,如如如如果果果果要要要要使使使使用用用用R8R8R12R12,则则则则必必必必须须须须保保保保护护护护。而而而而在在在在FIQFIQ模模模模式式式式下下下下,由由由由于于于于可可可可使使使使用用用用R8_fiqR8_fiqR12_fiqR12_fiq,因因因因此此此此比比

112、比比非非非非FIQFIQ模模模模式式式式有有有有较较较较多多多多的的的的寄寄寄寄存存存存器器器器资资资资源源源源,更更更更方便于异常处理。方便于异常处理。方便于异常处理。方便于异常处理。 R13R13R14R14 R13R13和和和和R14R14各各各各有有有有6 6个个个个分分分分组组组组的的的的物物物物理理理理寄寄寄寄存存存存器器器器。1 1个个个个用用用用于于于于用用用用户户户户和和和和系系系系统统统统模模模模式式式式,其其其其它它它它5 5个个个个分分分分别别别别用用用用于于于于5 5种种种种异异异异常常常常模模模模式式式式。异异异异常常常常模模模模式式式式下下下下进进进进行行行行R1

113、3R13、R14R14的的的的访访访访问问问问时时时时,需需需需要要要要特特特特别别别别明明明明确确确确指定其工作模式,其寄存器名字构成规则如下:指定其工作模式,其寄存器名字构成规则如下:指定其工作模式,其寄存器名字构成规则如下:指定其工作模式,其寄存器名字构成规则如下: R13_R13_ R14_ R14_ = = 。 第第8 8讲讲 ARMARM技术概述技术概述 R13R13。通通通通常常常常用用用用作作作作堆堆堆堆栈栈栈栈指指指指针针针针SPSP。ARMARM指指指指令令令令集集集集非非非非强强强强制制制制,也也也也可可可可用用用用其其其其它它它它通通通通用用用用寄寄寄寄存存存存器器器器

114、作作作作堆堆堆堆栈栈栈栈指指指指针针针针,而而而而在在在在ThumbThumb指指指指令令令令集集集集中中中中,一一一一些些些些指指指指令令令令强强强强制制制制将将将将R13R13作作作作为为为为堆堆堆堆栈栈栈栈指指指指针针针针。每每每每一一一一种种种种异异异异常常常常模模模模式式式式都都都都拥拥拥拥有有有有自自自自己己己己的的的的物物物物理理理理寄寄寄寄存存存存器器器器R13R13。应应应应用用用用程程程程序序序序在在在在对对对对每每每每一一一一种种种种异异异异常常常常模模模模式式式式进进进进行行行行初初初初始始始始化化化化时时时时,都都都都要要要要初初初初始始始始化化化化该该该该模模模模式

115、式式式下下下下的的的的R13R13,使使使使其其其其指指指指向向向向相相相相应应应应的的的的堆堆堆堆栈栈栈栈。当当当当退退退退出出出出异异异异常常常常处处处处理理理理程程程程序序序序时时时时,将将将将保保保保存存存存在在在在R13R13所所所所指指指指的的的的堆堆堆堆栈栈栈栈中中中中的的的的寄寄寄寄存存存存器器器器值值值值弹弹弹弹出出出出,这这这这样样样样就就就就使使使使异异异异常常常常处处处处理理理理程程程程序序序序不不不不会会会会破破破破坏坏坏坏被被被被其其其其中中中中断断断断程程程程序的运行现场。序的运行现场。序的运行现场。序的运行现场。R14R14。寄寄寄寄存存存存器器器器R14R14

116、用用用用作作作作子子子子程程程程序序序序链链链链接接接接寄寄寄寄存存存存器器器器(Link Link RegisterRegister),简简简简称称称称LRLR。当当当当程程程程序序序序执执执执行行行行子子子子程程程程序序序序调调调调用用用用指指指指令令令令BLBL、BLXBLX时时时时,当当当当前前前前的的的的PCPC将将将将保保保保存存存存在在在在R14R14中中中中。每每每每一一一一种种种种异异异异常常常常模模模模式式式式都都都都有有有有自自自自己己己己的的的的物物物物理理理理寄寄寄寄存存存存器器器器R14R14,用用用用来来来来存存存存放放放放当当当当前前前前子子子子程程程程序序序序

117、的的的的返返返返回回回回地地地地址址址址。当当当当执执执执行行行行完完完完子子子子程程程程序序序序后后后后,只只只只要要要要把把把把R14R14的的的的值值值值复复复复制制制制到到到到程程程程序序序序计计计计数数数数器器器器PCPC中中中中,子子子子程程程程序序序序即即即即可可可可返返返返回回回回。如如如如下下下下面面面面任任任任意意意意一一一一条条条条指指指指令令令令均均均均可可可可实实实实现现现现子子子子程程程程序序序序返回:返回:返回:返回:MOVMOVPCPC,LRLRBXBXLRLR 第第8 8讲讲 ARMARM技术概述技术概述n n在子程序入口使用下面的指令将在子程序入口使用下面的

118、指令将在子程序入口使用下面的指令将在子程序入口使用下面的指令将PCPC保存到堆栈中:保存到堆栈中:保存到堆栈中:保存到堆栈中:STMFDSTMFDSPSP!,!,!,!,LRLRn n相应地,下面的指令可实现子程序返回:相应地,下面的指令可实现子程序返回:相应地,下面的指令可实现子程序返回:相应地,下面的指令可实现子程序返回:LDMFDLDMFDSPSP!,!,!,!,PCPCn nR14R14还还还还用用用用于于于于异异异异常常常常处处处处理理理理的的的的返返返返回回回回。当当当当某某某某种种种种异异异异常常常常中中中中断断断断发发发发生生生生时时时时,该该该该异异异异常常常常模模模模式式式

119、式下下下下的的的的寄寄寄寄存存存存器器器器R14R14将将将将保保保保存存存存基基基基于于于于PCPC(进进进进入入入入异异异异常常常常模模模模式式式式前前前前的的的的PCPC)的的的的返返返返回回回回地地地地址址址址。异异异异常常常常中中中中断断断断返返返返回回回回的的的的方方方方式式式式与与与与上上上上面面面面的的的的子子子子程程程程序序序序返返返返回回回回方式基于相同。方式基于相同。方式基于相同。方式基于相同。n n在其它情况下,在其它情况下,在其它情况下,在其它情况下,R14R14寄存器也可作为通用寄存器使用。寄存器也可作为通用寄存器使用。寄存器也可作为通用寄存器使用。寄存器也可作为通

120、用寄存器使用。 第第8 8讲讲 ARMARM技术概述技术概述(3 3) 程序计数器程序计数器程序计数器程序计数器R15R15(PCPC) 寄寄寄寄存存存存器器器器R15R15被被被被用用用用作作作作程程程程序序序序计计计计数数数数器器器器(Program Program CounterCounter),即即即即PCPC。它它它它虽虽虽虽然然然然可可可可作作作作为为为为一一一一般般般般的的的的通通通通用用用用寄寄寄寄存存存存器器器器使使使使用用用用,但但但但由由由由于于于于R15R15的的的的特特特特殊殊殊殊性性性性,即即即即R15R15值值值值的的的的改改改改变变变变将将将将引引引引起起起起程

121、程程程序序序序执执执执行行行行顺顺顺顺序序序序的的的的变变变变化化化化,这这这这有有有有可可可可能能能能引引引引起起起起程程程程序序序序执执执执行行行行中中中中出出出出现现现现一一一一些些些些不不不不可可可可预预预预料料料料的的的的结结结结果果果果,因因因因此此此此,对对对对于于于于R15R15的的的的使使使使用用用用一一一一定定定定要要要要慎慎慎慎重重重重。当当当当向向向向R15R15中中中中写写写写入入入入一一一一个个个个地地地地址址址址值值值值时时时时,程程程程序序序序将将将将跳跳跳跳转转转转至至至至该该该该地地地地址址址址处处处处执执执执行行行行。由由由由于于于于在在在在ARMARM状

122、状状状态态态态下下下下指指指指令令令令总总总总是是是是字字字字对对对对齐齐齐齐的的的的,所所所所以以以以R15R15值值值值的的的的第第第第0 0位位位位和和和和第第第第1 1位位位位总总总总是是是是0 0(PC1PC1:0=000=00),),),),PC31PC31:22用于保存地址。用于保存地址。用于保存地址。用于保存地址。 注注注注意意意意,由由由由于于于于ARMARM处处处处理理理理器器器器采采采采用用用用多多多多级级级级流流流流水水水水线线线线技技技技术术术术,因因因因此此此此保保保保存存存存在在在在R15R15的的的的程程程程序序序序地地地地址址址址并并并并不不不不是是是是当当当

123、当前前前前指指指指令令令令的的的的地地地地址址址址。对对对对于于于于3 3级级级级流流流流水水水水线线线线,PCPC总总总总是是是是指指指指向向向向下下下下两两两两条条条条指指指指令令令令的的的的地地地地址址址址(+8+8);对对对对于于于于5 5级级级级流流流流水水水水线线线线,PCPC保保保保存存存存的的的的是是是是当当当当前前前前指指指指令令令令地地地地址址址址加加加加1212(+12+12)。到到到到底底底底是是是是多多多多少少少少,取取取取决决决决于于于于ARMARM核核核核的的的的流流流流水水水水线线线线结结结结构构构构。但但但但对对对对于于于于同同同同一一一一流水线结构的流水线结

124、构的流水线结构的流水线结构的ARMARM处理器,所有指令应该是统一的。处理器,所有指令应该是统一的。处理器,所有指令应该是统一的。处理器,所有指令应该是统一的。 有有有有一一一一些些些些指指指指令令令令对对对对于于于于R15R15的的的的用用用用法法法法有有有有特特特特殊殊殊殊的的的的要要要要求求求求,如如如如指指指指令令令令“ “BX BX Rm Rm ” ”利利利利用用用用RmRm的的的的bit0bit0来确定是跳转到来确定是跳转到来确定是跳转到来确定是跳转到ARMARM状态,还是跳转到状态,还是跳转到状态,还是跳转到状态,还是跳转到ThumbThumb状态。状态。状态。状态。第第8 8讲

125、讲 ARMARM技术概述技术概述8.7.2.2 8.7.2.2 程序状态寄存器程序状态寄存器程序状态寄存器程序状态寄存器 所所所所有有有有处处处处理理理理器器器器模模模模式式式式下下下下都都都都可可可可访访访访问问问问当当当当前前前前程程程程序序序序状状状状态态态态寄寄寄寄存存存存器器器器CPSRCPSR(C Current urrent P Program rogram S Status tatus R Registeregister)。CPSRCPSR包包包包含含含含条条条条件件件件码码码码标标标标志志志志、中中中中断断断断禁禁禁禁止止止止位位位位、当前处理器模式及其它状态和控制信息(共当

126、前处理器模式及其它状态和控制信息(共当前处理器模式及其它状态和控制信息(共当前处理器模式及其它状态和控制信息(共1212位),如下图。位),如下图。位),如下图。位),如下图。第第8 8讲讲 ARMARM技术概述技术概述 每每每每种种种种异异异异常常常常模模模模式式式式下下下下都都都都有有有有一一一一个个个个对对对对应应应应的的的的物物物物理理理理寄寄寄寄存存存存器器器器程程程程序序序序状状状状态态态态保保保保存存存存寄寄寄寄存存存存器器器器SPSRSPSR(S Saved aved P Program rogram S Status tatus R Registeregister)。当当当当

127、异异异异常常常常出出出出现现现现时时时时,SPSRSPSR用用用用于于于于保保保保存存存存CPSRCPSR的的的的状状状状态态态态,以以以以便便便便异异异异常常常常返返返返回回回回后后后后恢恢恢恢复复复复异常发生时的工作状态。异常发生时的工作状态。异常发生时的工作状态。异常发生时的工作状态。 (1 1)条件码标志位()条件码标志位()条件码标志位()条件码标志位(NZCVNZCV) 最最最最高高高高4 4位位位位。ARMARM的的的的大大大大多多多多数数数数指指指指令令令令可可可可以以以以是是是是条条条条件件件件执执执执行行行行的的的的,即即即即通通通通过过过过检检检检测这些条件标志来决定程序

128、指令如何执行。测这些条件标志来决定程序指令如何执行。测这些条件标志来决定程序指令如何执行。测这些条件标志来决定程序指令如何执行。 在在在在数数数数据据据据处处处处理理理理指指指指令令令令中中中中,除除除除了了了了比比比比较较较较指指指指令令令令(CMPCMP、CMNCMN)和和和和测测测测试试试试指指指指令令令令(TEQTEQ、TSTTST)可可可可设设设设置置置置状状状状态态态态寄寄寄寄存存存存器器器器的的的的条条条条件件件件码码码码外外外外,大大大大多多多多数数数数数数数数据据据据处处处处理理理理指指指指令令令令都都都都可可可可通通通通过过过过在在在在指指指指令令令令助助助助记记记记符符符

129、符后后后后加加加加S S来来来来设设设设置置置置状状状状态态态态寄寄寄寄存存存存器器器器的的的的条条条条件件件件码。码。码。码。 第第8 8讲讲 ARMARM技术概述技术概述 NN负负负负数数数数标标标标志志志志。在在在在结结结结果果果果是是是是有有有有符符符符号号号号补补补补码码码码情情情情况况况况下下下下,如如如如结结结结果果果果为为为为负负负负,则则则则N=1N=1;结果非负(正数或;结果非负(正数或;结果非负(正数或;结果非负(正数或0 0),则),则),则),则N=0N=0; ZZ零标志零标志零标志零标志。结果为。结果为。结果为。结果为0 0,则,则,则,则Z=1Z=1;否则;否则;

130、否则;否则Z=0Z=0; CC进位标志进位标志进位标志进位标志。比较复杂:。比较复杂:。比较复杂:。比较复杂:X X对对对对于于于于加加加加法法法法指指指指令令令令(包包包包括括括括CMNCMN),如如如如果果果果产产产产生生生生进进进进位位位位,则则则则C=1C=1;否否否否则则则则C=0C=0;X X对对对对于于于于减减减减法法法法指指指指令令令令(包包包包括括括括CMPCMP),如如如如果果果果产产产产生生生生借借借借位位位位,则则则则C=1C=1;否否否否则则则则C=0C=0;X X对于移位指令,对于移位指令,对于移位指令,对于移位指令,C C为移位操作中最后移出位的值;为移位操作中最

131、后移出位的值;为移位操作中最后移出位的值;为移位操作中最后移出位的值;X X对于其它指令,对于其它指令,对于其它指令,对于其它指令,C C通常保持不变。通常保持不变。通常保持不变。通常保持不变。 VV溢出标志溢出标志溢出标志溢出标志。分。分。分。分2 2种情况:种情况:种情况:种情况:对于加减法指令,有符号整数发生溢出则对于加减法指令,有符号整数发生溢出则对于加减法指令,有符号整数发生溢出则对于加减法指令,有符号整数发生溢出则V=1V=1;否则;否则;否则;否则V=0V=0;对于其它指令,对于其它指令,对于其它指令,对于其它指令,V V通常保持不变。通常保持不变。通常保持不变。通常保持不变。第

132、第8 8讲讲 ARMARM技术概述技术概述(2 2)控制位)控制位)控制位)控制位 最最最最低低低低8 8位位位位。当当当当出出出出现现现现异异异异常常常常时时时时,控控控控制制制制位位位位改改改改变变变变。当当当当处处处处理理理理器器器器在在在在特特特特权权权权模模模模式下时,也可由软件改变。式下时,也可由软件改变。式下时,也可由软件改变。式下时,也可由软件改变。I I 普普普普通通通通中中中中断断断断禁禁禁禁止止止止位位位位。若若若若I=1I=1,则则则则禁禁禁禁止止止止IRQIRQ中中中中断断断断,否否否否则则则则若若若若I=0I=0,则允许,则允许,则允许,则允许IRQIRQ中断;中断

133、;中断;中断;FF快快快快速速速速中中中中断断断断禁禁禁禁止止止止位位位位。若若若若F=1F=1,则则则则禁禁禁禁止止止止FIQFIQ中中中中断断断断,否否否否则则则则若若若若F=0F=0,则允许,则允许,则允许,则允许FIQFIQ中断;中断;中断;中断;TT工工工工作作作作状状状状态态态态位位位位。若若若若T=1T=1,则则则则指指指指示示示示ThumbThumb执执执执行行行行,否否否否则则则则若若若若T=0T=0,则指示,则指示,则指示,则指示ARMARM执行;执行;执行;执行;MM工工工工作作作作模模模模式式式式位位位位。共共共共5 5位位位位,分分分分别别别别指指指指示示示示处处处处

134、理理理理器器器器的的的的7 7种种种种工工工工作作作作模模模模式式式式。未指明的模式不可预知。未指明的模式不可预知。未指明的模式不可预知。未指明的模式不可预知。 第第8 8讲讲 ARMARM技术概述技术概述8.7.3 Thumb8.7.3 Thumb状态下的寄存器组织状态下的寄存器组织状态下的寄存器组织状态下的寄存器组织 ThumbThumb状状状状态态态态下下下下的的的的寄寄寄寄存存存存器器器器是是是是ARMARM状状状状态态态态下下下下寄寄寄寄存存存存器器器器的的的的子子子子集集集集。程程程程序序序序员员员员可可可可直直直直接接接接访访访访问问问问8 8个个个个通通通通用用用用寄寄寄寄存存

135、存存器器器器(R0R0R7R7)、程程程程序序序序计计计计数数数数器器器器PCPC、堆堆堆堆栈栈栈栈指指指指针针针针SPSP、链链链链接接接接寄寄寄寄存存存存器器器器LRLR和和和和当当当当前前前前状状状状态态态态寄寄寄寄存存存存器器器器CPSRCPSR。每每每每一一一一种种种种特特特特权权权权模模模模式式式式都都都都各各各各有有有有一一一一组组组组SPSP、LRLR和和和和SPSRSPSR。见下图。见下图。见下图。见下图。第第8 8讲讲 ARMARM技术概述技术概述qqThumbThumb状状状状 态态态态 的的的的 R0R0 R7R7与与与与ARMARM状态的状态的状态的状态的R0R0R7

136、R7一致;一致;一致;一致;qqThumbThumb状状状状 态态态态 的的的的 CPSRCPSR和和和和SPSRSPSR与与与与 ARMARM状状状状 态态态态 的的的的 CPSRCPSR和和和和SPSRSPSR是一致的;是一致的;是一致的;是一致的;qqThumbThumb状状状状 态态态态 的的的的 SPSP映映映映 射射射射 到到到到ARMARM状态的状态的状态的状态的R13R13;qqThumbThumb状状状状 态态态态 的的的的 LRLR映映映映 射射射射 到到到到ARMARM状态的状态的状态的状态的R14R14;qqThumbThumb状状状状 态态态态 的的的的 PCPC映映

137、映映 射射射射 到到到到ARMARM状态的状态的状态的状态的PCPC(R15R15)。)。)。)。 由由由由此此此此可可可可见见见见,高高高高寄寄寄寄存存存存器器器器R8R8R15R15并并并并不不不不是是是是标标标标准准准准寄寄寄寄存存存存器器器器的的的的一一一一部部部部分,使用时有一定的限制。分,使用时有一定的限制。分,使用时有一定的限制。分,使用时有一定的限制。 第第8 8讲讲 ARMARM技术概述技术概述8.8 ARM8.8 ARM异常中断异常中断异常中断异常中断 计计计计算算算算机机机机通通通通常常常常用用用用异异异异常常常常来来来来处处处处理理理理在在在在执执执执行行行行程程程程序

138、序序序时时时时发发发发生生生生的的的的意意意意外外外外事事事事件件件件,如如如如中中中中断断断断、存存存存储储储储器器器器故故故故障障障障等等等等,它它它它需需需需要要要要停停停停止止止止程程程程序序序序的的的的执执执执行行行行流流流流程程程程。在在在在正正正正常常常常的的的的程程程程序序序序执执执执行行行行过过过过程程程程中中中中,每每每每执执执执行行行行一一一一条条条条ARMARM指指指指令令令令,程程程程序序序序计计计计数数数数器器器器PCPC的的的的值值值值加加加加4 4;每每每每执执执执行行行行一一一一条条条条ThumbThumb指指指指令令令令,程程程程序序序序计计计计数数数数器器

139、器器PCPC的的的的值值值值加加加加2 2,整整整整个个个个过过过过程程程程顺顺顺顺序序序序执执执执行行行行。在在在在程程程程序序序序过过过过程程程程中中中中通通通通过过过过控控控控制制制制跳跳跳跳转转转转类类类类指指指指令令令令,程程程程序序序序可可可可跳跳跳跳转转转转到到到到特特特特定定定定的的的的地地地地址址址址标标标标号号号号处处处处执执执执行行行行,或或或或者者者者跳跳跳跳转转转转到到到到特特特特定定定定的的的的子子子子程程程程序序序序处处处处执执执执行行行行。而而而而当当当当异异异异常常常常中中中中断断断断发发发发生生生生时时时时,系系系系统统统统执执执执行行行行完完完完当当当当前

140、前前前指指指指令令令令后后后后,将将将将跳跳跳跳转转转转到到到到相相相相应应应应的的的的异异异异常常常常中中中中断断断断处处处处理理理理程程程程序序序序处处处处执执执执行行行行异异异异常常常常处处处处理理理理,异常中断处理完成后,程序返回。异常中断处理完成后,程序返回。异常中断处理完成后,程序返回。异常中断处理完成后,程序返回。 异异异异常常常常中中中中断断断断事事事事件件件件改改改改变变变变了了了了程程程程序序序序正正正正常常常常执执执执行行行行的的的的顺顺顺顺序序序序,是是是是程程程程序序序序执执执执行行行行的的的的非非非非正正正正常常常常状状状状态态态态。进进进进入入入入异异异异常常常常

141、中中中中断断断断处处处处理理理理程程程程序序序序时时时时,要要要要保保保保存存存存被被被被中中中中断断断断程程程程序序序序的的的的执执执执行行行行现现现现场场场场;在在在在从从从从异异异异常常常常中中中中断断断断处处处处理理理理程程程程序序序序退退退退出出出出时时时时,要要要要恢恢恢恢复复复复被被被被中中中中断断断断程程程程序序序序的的的的执执执执行行行行现现现现场场场场。每每每每种异常中断都具有自己的种异常中断都具有自己的种异常中断都具有自己的种异常中断都具有自己的备份寄存器组备份寄存器组备份寄存器组备份寄存器组。第第8 8讲讲 ARMARM技术概述技术概述 在在在在ARMARM体体体体系系

142、系系结结结结构构构构中中中中,异异异异常常常常中中中中断断断断用用用用来来来来处处处处理理理理软软软软件件件件中中中中断断断断、未未未未定定定定义义义义指指指指令令令令陷陷陷陷阱阱阱阱(它它它它不不不不是是是是真真真真正正正正的的的的“ “意意意意外外外外” ”事事事事件件件件)及及及及系系系系统统统统复复复复位位位位功功功功能能能能(它它它它在在在在逻逻逻逻辑辑辑辑上上上上发发发发生生生生在在在在程程程程序序序序执执执执行行行行前前前前而而而而不不不不是是是是在在在在程程程程序序序序执执执执行行行行中中中中,尽尽尽尽管管管管处处处处理理理理器器器器在在在在运运运运行行行行中中中中可可可可能能

143、能能再再再再次次次次复复复复位位位位)和和和和外外外外部部部部事事事事件件件件。这这这这些些些些“ “不不不不正正正正常常常常” ”事事事事件件件件都都都都被被被被划划划划归归归归“ “异异异异常常常常” ”,因因因因为为为为在在在在处处处处理理理理器器器器的控制机制中,它们都使用同样的流程进行异常处理。分的控制机制中,它们都使用同样的流程进行异常处理。分的控制机制中,它们都使用同样的流程进行异常处理。分的控制机制中,它们都使用同样的流程进行异常处理。分3 3类。类。类。类。 (1 1)指指指指令令令令执执执执行行行行引引引引起起起起的的的的直直直直接接接接异异异异常常常常。软软软软件件件件中

144、中中中断断断断、未未未未定定定定义义义义指指指指令令令令(包包包包括括括括所所所所要要要要求求求求的的的的协协协协处处处处理理理理器器器器不不不不存存存存在在在在时时时时的的的的协协协协处处处处理理理理器器器器指指指指令令令令)和和和和预预预预取取取取指指指指中中中中止止止止(取取取取指指指指过过过过程程程程中的存中的存中的存中的存储储储储器故障器故障器故障器故障导导导导致的无效指令)属于致的无效指令)属于致的无效指令)属于致的无效指令)属于这这这这一一一一类类类类。(2 2)指指指指令令令令执执执执行行行行引引引引起起起起的的的的间间间间接接接接异异异异常常常常。数数数数据据据据中中中中止止

145、止止(读读读读取取取取和和和和存存存存储储储储数数数数据据据据时时时时的的的的存存存存储储储储器故障)属于器故障)属于器故障)属于器故障)属于这这这这一一一一类类类类。(3 3)外外外外部部部部产产产产生生生生的的的的与与与与指指指指令令令令流流流流无无无无关关关关的的的的异异异异常常常常。复复复复位位位位、IRQIRQ和和和和FIQFIQ属属属属于于于于这这这这一一一一类类类类。 第第8 8讲讲 ARMARM技术概述技术概述 下下下下表表表表是是是是ARMARM体体体体系系系系结结结结构构构构支支支支持持持持的的的的异异异异常常常常中中中中断断断断的的的的类类类类型型型型、异异异异常常常常中

146、中中中断断断断下下下下的的的的工工工工作作作作模模模模式式式式、异异异异常常常常中断处理程序入口向量地址和每种异常中断的含义。中断处理程序入口向量地址和每种异常中断的含义。中断处理程序入口向量地址和每种异常中断的含义。中断处理程序入口向量地址和每种异常中断的含义。异常异常异常异常类类类类型型型型向量地址向量地址向量地址向量地址优优优优先先先先级级级级异常中断含异常中断含异常中断含异常中断含义义义义复位复位复位复位(Reset)(Reset)0x000000000x000000001 1当当当当复复复复位位位位引引引引脚脚脚脚有有有有效效效效时时时时,产产产产生生生生复复复复位位位位异异异异常常

147、常常中中中中断断断断,程程程程序序序序跳跳跳跳转转转转到到到到复复复复位位位位异异异异常常常常中断中断中断中断处处处处理程序理程序理程序理程序处执处执处执处执行。复位异常中断通常用在下面情况下:行。复位异常中断通常用在下面情况下:行。复位异常中断通常用在下面情况下:行。复位异常中断通常用在下面情况下:系系系系统统统统加加加加电时电时电时电时;系系系系统统统统复位复位复位复位时时时时;跳跳跳跳转转转转到复位中断向量到复位中断向量到复位中断向量到复位中断向量处执处执处执处执行(行(行(行(软软软软复位)。复位)。复位)。复位)。未定未定未定未定义义义义指令指令指令指令(Undefined (Und

148、efined Instruction)Instruction)0x000000040x000000046 6当当当当ARMARM处处处处理理理理器器器器或或或或系系系系统统统统中中中中协协协协处处处处理理理理器器器器认认认认为为为为当当当当前前前前指指指指令令令令未未未未定定定定义义义义时时时时,产产产产生生生生未未未未定定定定义义义义的的的的指指指指令令令令异异异异常常常常中中中中断断断断。可可可可通通通通过过过过该该该该异异异异常常常常中中中中断断断断机机机机制制制制仿仿仿仿真真真真浮浮浮浮点点点点向向向向量量量量运算。运算。运算。运算。软软软软件中断件中断件中断件中断(SWI)(SWI)

149、0x000000080x000000086 6这这这这是是是是一一一一个个个个由由由由用用用用户户户户定定定定义义义义的的的的中中中中断断断断指指指指令令令令。可可可可用用用用于于于于用用用用户户户户模模模模式式式式下下下下的的的的程程程程序序序序调调调调用特用特用特用特权权权权操作。操作。操作。操作。指令指令指令指令预预预预取中止取中止取中止取中止(Prefech Abort)(Prefech Abort)0x0000000C0x0000000C5 5如如如如果果果果处处处处理理理理器器器器预预预预取取取取的的的的指指指指令令令令地地地地址址址址不不不不存存存存在在在在,或或或或者者者者该该

150、该该地地地地址址址址不不不不允允允允许许许许当当当当前前前前指指指指令令令令访访访访问问问问, 当当当当该该该该被被被被预预预预取取取取的的的的指指指指令令令令执执执执行行行行时时时时,处处处处理理理理器器器器产产产产生生生生指指指指令令令令预预预预取取取取中中中中止止止止异常中断。异常中断。异常中断。异常中断。数据数据数据数据访问访问访问访问中止中止中止中止(Data Abort)(Data Abort)0x000000100x000000102 2如如如如果果果果数数数数据据据据访访访访问问问问指指指指令令令令的的的的目目目目标标标标地地地地址址址址不不不不存存存存在在在在,或或或或者者者

151、者该该该该地地地地址址址址不不不不允允允允许许许许当当当当前前前前指令指令指令指令访问访问访问访问,处处处处理器理器理器理器产产产产生指令数据生指令数据生指令数据生指令数据访问访问访问访问中止异常中断。中止异常中断。中止异常中断。中止异常中断。0x000000140x00000014外部中断外部中断外部中断外部中断请请请请求求求求(IRQIRQ)0x000000180x000000184 4当当当当处处处处理理理理器器器器的的的的外外外外部部部部中中中中断断断断请请请请求求求求引引引引脚脚脚脚有有有有效效效效,而而而而且且且且CPSRCPSR寄寄寄寄存存存存器器器器的的的的I I控控控控制制制

152、制位位位位被被被被清清清清除除除除时时时时,处处处处理理理理器器器器产产产产生生生生外外外外部部部部中中中中断断断断请请请请求求求求(IRQIRQ)异异异异常常常常中中中中断断断断。系系系系统统统统中各外中各外中各外中各外设设设设通常通通常通通常通通常通过该过该过该过该异常中断异常中断异常中断异常中断请请请请求求求求处处处处理器服理器服理器服理器服务务务务。快速中断快速中断快速中断快速中断请请请请求求求求(FIQFIQ)0x0000001C0x0000001C3 3当当当当处处处处理理理理器器器器外外外外部部部部快快快快速速速速中中中中断断断断请请请请求求求求引引引引脚脚脚脚有有有有效效效效,

153、且且且且CPSRCPSR寄寄寄寄存存存存器器器器的的的的F F控控控控制制制制位被清除位被清除位被清除位被清除时时时时,产产产产生外部快速中断生外部快速中断生外部快速中断生外部快速中断请请请请求(求(求(求(FIQFIQ)异常中断。)异常中断。)异常中断。)异常中断。第第8 8讲讲 ARMARM技术概述技术概述8.8.1 8.8.1 异常中断响应过程异常中断响应过程异常中断响应过程异常中断响应过程 当当当当发发发发生生生生异异异异常常常常时时时时,除除除除了了了了复复复复位位位位异异异异常常常常立立立立即即即即中中中中止止止止当当当当前前前前指指指指令令令令外外外外,处处处处理理理理器器器器尽

154、尽尽尽量量量量完完完完成成成成当当当当前前前前指指指指令令令令,然然然然后后后后脱脱脱脱离离离离当当当当前前前前的的的的指指指指令令令令处处处处理理理理序序序序列列列列去去去去处处处处理理理理异异异异常常常常。ARMARM处处处处理理理理器器器器异异异异常常常常中中中中断断断断响响响响应应应应过程如下:过程如下:过程如下:过程如下: (1 1)SPSR_modeSPSR_modeCPSRCPSR。各各各各异异异异常常常常中中中中断断断断模模模模式式式式都都都都有有有有自自自自己己己己相相相相应应应应的的的的物物物物理理理理SPSRSPSR寄寄寄寄存器,以实现对处理器当前状态、中断屏蔽位及各条件

155、标志位的保存。存器,以实现对处理器当前状态、中断屏蔽位及各条件标志位的保存。存器,以实现对处理器当前状态、中断屏蔽位及各条件标志位的保存。存器,以实现对处理器当前状态、中断屏蔽位及各条件标志位的保存。 (2 2)设置)设置)设置)设置CPSRCPSR中的相应位中的相应位中的相应位中的相应位:n n设置设置设置设置CPSRCPSR模式控制位模式控制位模式控制位模式控制位CPSR4:0CPSR4:0,使处理器进入相应的执行模式;,使处理器进入相应的执行模式;,使处理器进入相应的执行模式;,使处理器进入相应的执行模式;n n设置中断标志位(设置中断标志位(设置中断标志位(设置中断标志位(CPSR6=

156、1CPSR6=1),禁止,禁止,禁止,禁止IRQIRQ中断;中断;中断;中断;n n当当当当进进进进入入入入ResetReset或或或或FIQFIQ模模模模式式式式时时时时,还还还还要要要要设设设设置置置置中中中中断断断断标标标标志志志志位位位位(CPSR7=1CPSR7=1),禁禁禁禁止止止止FIQFIQ中断。中断。中断。中断。 (3 3)将将将将引引引引起起起起异异异异常常常常指指指指令令令令的的的的下下下下一一一一条条条条指指指指令令令令的的的的地地地地址址址址保保保保存存存存到到到到新新新新的的的的异异异异常常常常工工工工作作作作模模模模式式式式的的的的R14R14即即即即R14_mo

157、deR14_mode中,中,中,中,使异常处理程序执行完后能正确返回原程序。使异常处理程序执行完后能正确返回原程序。使异常处理程序执行完后能正确返回原程序。使异常处理程序执行完后能正确返回原程序。 (4 4)给给给给程程程程序序序序计计计计数数数数器器器器(PCPC)强强强强制制制制赋赋赋赋值值值值,使使使使程程程程序序序序从从从从异异异异常常常常中中中中断断断断向向向向量量量量地地地地址址址址开开开开始始始始执执执执行行行行中中中中断断断断处处处处理理理理程程程程序序序序。一一一一般般般般来来来来说说说说,向向向向量量量量地地地地址址址址将将将将包包包包含含含含一一一一条条条条指指指指向向向

158、向相相相相应应应应程程程程序序序序的的的的转转转转移移移移指指指指令令令令,从而可跳转到相应的异常中断处理程序处执行异常中断处理程序。从而可跳转到相应的异常中断处理程序处执行异常中断处理程序。从而可跳转到相应的异常中断处理程序处执行异常中断处理程序。从而可跳转到相应的异常中断处理程序处执行异常中断处理程序。第第8 8讲讲 ARMARM技术概述技术概述n n每每每每个个个个异异异异常常常常模模模模式式式式对对对对应应应应有有有有2 2个个个个寄寄寄寄存存存存器器器器R13_modeR13_mode和和和和R14_modeR14_mode,分分分分别别别别保保保保存存存存相相相相应应应应模模模模式

159、式式式下下下下的的的的堆堆堆堆栈栈栈栈指指指指针针针针(SPSP)、返返返返回回回回地地地地址址址址(LRLR)。堆堆堆堆栈栈栈栈指指指指针针针针可可可可用用用用来来来来定定定定义义义义一一一一个个个个存存存存储储储储区区区区域域域域,保保保保存存存存其其其其它它它它用用用用户户户户寄寄寄寄存存存存器器器器,这样异常处理程序就可使用这些寄存器。这样异常处理程序就可使用这些寄存器。这样异常处理程序就可使用这些寄存器。这样异常处理程序就可使用这些寄存器。n nFIQFIQ模模模模式式式式还还还还有有有有额额额额外外外外的的的的专专专专用用用用寄寄寄寄存存存存器器器器R8_fiqR8_fiqR12_

160、fiqR12_fiq,使使使使用用用用这这这这些寄存器可加快快速中断的处理速度。些寄存器可加快快速中断的处理速度。些寄存器可加快快速中断的处理速度。些寄存器可加快快速中断的处理速度。第第8 8讲讲 ARMARM技术概述技术概述8.8.2 8.8.2 从异常中断处理程序中返回从异常中断处理程序中返回从异常中断处理程序中返回从异常中断处理程序中返回 复复复复位位位位异异异异常常常常中中中中断断断断处处处处理理理理程程程程序序序序执执执执行行行行完完完完后后后后,不不不不需需需需要要要要返返返返回回回回,其其其其它它它它异异异异常常常常一一一一旦旦旦旦处处处处理理理理完完完完毕毕毕毕,必必必必须须须

161、须恢恢恢恢复复复复用用用用户户户户任任任任务务务务的的的的正正正正常常常常执执执执行行行行,这这这这就就就就要要要要求求求求异异异异常常常常处处处处理理理理程程程程序序序序代代代代码码码码能能能能精确地恢复异常发生时的用户状态。精确地恢复异常发生时的用户状态。精确地恢复异常发生时的用户状态。精确地恢复异常发生时的用户状态。 (1 1)所所所所有有有有修修修修改改改改过过过过的的的的用用用用户户户户寄寄寄寄存存存存器器器器必必必必须须须须从从从从处处处处理理理理程程程程序序序序的的的的保保保保护护护护堆堆堆堆栈栈栈栈中中中中恢恢恢恢复复复复(出栈);(出栈);(出栈);(出栈); (2 2)CP

162、SRCPSRSPSR_modeSPSR_mode,恢复被中断的程序工作状态;,恢复被中断的程序工作状态;,恢复被中断的程序工作状态;,恢复被中断的程序工作状态; (3 3)根据异常类型将根据异常类型将根据异常类型将根据异常类型将PCPC变回到用户指令流中相应指令处变回到用户指令流中相应指令处变回到用户指令流中相应指令处变回到用户指令流中相应指令处; (4 4)清除清除清除清除CPSRCPSR中的中断禁止标志位中的中断禁止标志位中的中断禁止标志位中的中断禁止标志位I/FI/F。 注注注注意意意意,第第第第(2 2)、(3 3)步步步步不不不不能能能能独独独独立立立立完完完完成成成成,必必必必须须

163、须须同同同同时时时时完完完完成成成成,即即即即给给给给PCPC一一一一个个个个正正正正确确确确的的的的值值值值。ARMARM提提提提供供供供了了了了2 2种种种种返返返返回回回回处处处处理理理理机机机机制制制制,可可可可使使使使上上上上述述述述2 2步步步步作作作作为为为为一一一一条条条条指令的一部分同时完成。指令的一部分同时完成。指令的一部分同时完成。指令的一部分同时完成。第第8 8讲讲 ARMARM技术概述技术概述 当返回地址保存在当返回地址保存在当返回地址保存在当返回地址保存在R14_modeR14_mode中时中时中时中时:qq从从从从SWISWI或未定义指令陷阱返回,使用:或未定义指

164、令陷阱返回,使用:或未定义指令陷阱返回,使用:或未定义指令陷阱返回,使用:MOVSMOVS PCPC,R14R14;qq从从从从IRQIRQ、FIQFIQ或预取指中止返回,使用:或预取指中止返回,使用:或预取指中止返回,使用:或预取指中止返回,使用: SUBSSUBS PCPC,R14R14,#4#4;qq从数据中止返回并重新存取数据,使用:从数据中止返回并重新存取数据,使用:从数据中止返回并重新存取数据,使用:从数据中止返回并重新存取数据,使用:SUBSSUBS PCPC,R14R14,#8#8; 当返回地址保存在堆栈时当返回地址保存在堆栈时当返回地址保存在堆栈时当返回地址保存在堆栈时: L

165、DMFDLDMFDR13!R13!,(,(,(,(R0R0R3R3,PCPC) ;恢复和返回;恢复和返回;恢复和返回;恢复和返回第第8 8讲讲 ARMARM技术概述技术概述8.8.3 8.8.3 异常中断向量表异常中断向量表异常中断向量表异常中断向量表 中中中中断断断断向向向向量量量量表表表表中中中中指指指指定定定定了了了了各各各各异异异异常常常常中中中中断断断断与与与与其其其其处处处处理理理理程程程程序序序序的的的的对对对对应应应应关关关关系系系系,存存存存放放放放在在在在存存存存储储储储地地地地址址址址的的的的低低低低端端端端。ARMARM体体体体系系系系结结结结构构构构异异异异常常常常中

166、中中中断断断断向向向向量量量量表表表表的的的的大大大大小小小小为为为为3232个个个个字字字字节节节节,每每每每个个个个异异异异常常常常中中中中断断断断向向向向量量量量占占占占据据据据4 4字字字字节节节节大大大大小小小小,共共共共可可可可存存存存放放放放8 8个个个个异常中断向量异常中断向量异常中断向量异常中断向量(使用(使用(使用(使用7 7个,保留个,保留个,保留个,保留1 1个)。个)。个)。个)。 每每每每个个个个异异异异常常常常中中中中断断断断向向向向量量量量表表表表的的的的入入入入口口口口(4 4字字字字节节节节)通通通通常常常常存存存存放放放放一一一一个个个个跳跳跳跳转转转转指

167、指指指令令令令或或或或一一一一个个个个向向向向PCPC寄寄寄寄存存存存器器器器赋赋赋赋值值值值的的的的数数数数据据据据访访访访问问问问指指指指令令令令,通通通通过过过过这这这这2 2种种种种指指指指令令令令,程序都将跳转到相应的异常中断处理程序处执行。程序都将跳转到相应的异常中断处理程序处执行。程序都将跳转到相应的异常中断处理程序处执行。程序都将跳转到相应的异常中断处理程序处执行。第第8 8讲讲 ARMARM技术概述技术概述8.8.4 8.8.4 异常中断的优先级异常中断的优先级异常中断的优先级异常中断的优先级 当当当当几几几几个个个个异异异异常常常常中中中中断断断断同同同同时时时时发发发发生

168、生生生时时时时,就就就就必必必必须须须须按按按按照照照照一一一一定定定定的的的的顺顺顺顺序序序序来来来来处处处处理理理理这这这这些些些些异异异异常常常常中中中中断断断断。ARMARM通通通通过过过过给给给给各各各各异异异异常常常常中中中中断断断断赋赋赋赋予予予予一一一一定定定定的的的的优优优优先先先先级级级级来来来来实实实实现,优先级如下:现,优先级如下:现,优先级如下:现,优先级如下: 复位(最高);复位(最高);复位(最高);复位(最高); 数据异常中止;数据异常中止;数据异常中止;数据异常中止; FIQFIQ; IRQIRQ; 预取指异常中止;预取指异常中止;预取指异常中止;预取指异常中

169、止; SWISWI、未未未未定定定定义义义义指指指指令令令令(包包包包括括括括缺缺缺缺协协协协处处处处理理理理器器器器)(两两两两者者者者互互互互斥斥斥斥,不会同时发生)。不会同时发生)。不会同时发生)。不会同时发生)。 第第8 8讲讲 ARMARM技术概述技术概述8.9 ARM8.9 ARM选用选用选用选用8.9.1 8.9.1 应用角度的应用角度的应用角度的应用角度的ARMARM芯片选择原则芯片选择原则芯片选择原则芯片选择原则 (1 1)MMUMMU。内内内内存存存存管管管管理理理理单单单单元元元元。如如如如果果果果希希希希望望望望使使使使用用用用带带带带内内内内存存存存管管管管理理理理功

170、功功功能能能能的的的的操操操操作作作作系系系系统统统统来来来来减减减减少少少少软软软软件件件件开开开开发发发发时时时时间间间间,就就就就需需需需要要要要选选选选择择择择ARM720TARM720T以以以以上上上上带带带带有有有有MMUMMU功功功功能能能能的的的的ARMARM芯芯芯芯片片片片。ARM7TDMIARM7TDMI不带不带不带不带MMUMMU。 (2 2)USBUSB接接接接口口口口。V1.1/V2.0V1.1/V2.0,主主主主USB/USB/从从从从USBUSB,内内内内置置置置/ /外外外外扩扩扩扩等等等等。许许许许多多多多ARMARM芯芯芯芯片内置有片内置有片内置有片内置有U

171、SBUSB控制器,有些甚至同时集成控制器,有些甚至同时集成控制器,有些甚至同时集成控制器,有些甚至同时集成USB HostUSB Host和和和和USB SlaveUSB Slave控制器。控制器。控制器。控制器。 (3 3)GPIOGPIO数数数数量量量量。注注注注意意意意芯芯芯芯片片片片标标标标称称称称数数数数量量量量和和和和实实实实际际际际可可可可用用用用数数数数量量量量。有有有有许许许许多多多多引引引引脚脚脚脚是是是是与与与与地地地地址址址址线、数据线、控制线、串口线复用的。线、数据线、控制线、串口线复用的。线、数据线、控制线、串口线复用的。线、数据线、控制线、串口线复用的。 (4 4

172、)中中中中断断断断控控控控制制制制器器器器。ARMARM只只只只提提提提供供供供FIQFIQ和和和和IRQIRQ两两两两个个个个中中中中断断断断向向向向量量量量。各各各各厂厂厂厂家家家家在在在在设设设设计计计计芯芯芯芯片片片片时时时时,加加加加入入入入了了了了自自自自己己己己不不不不同同同同的的的的中中中中断断断断控控控控制制制制器器器器来来来来支支支支持持持持串串串串口口口口中中中中断断断断、外外外外部部部部中中中中断断断断、时时时时钟钟钟钟中中中中断断断断等等等等硬硬硬硬件件件件中中中中断断断断。外外外外部部部部中中中中断断断断控控控控制制制制是是是是选选选选择择择择芯芯芯芯片片片片必必必

173、必须须须须考考考考虑虑虑虑的的的的重重重重要要要要因因因因素素素素,选选选选择择择择具具具具有有有有合合合合适适适适的外部中断控制芯片可在很大程度上减少任务调度的工作量。的外部中断控制芯片可在很大程度上减少任务调度的工作量。的外部中断控制芯片可在很大程度上减少任务调度的工作量。的外部中断控制芯片可在很大程度上减少任务调度的工作量。 (5 5) IISIIS音音音音频频频频接接接接口口口口。如如如如果果果果设设设设计计计计者者者者想想想想开开开开发发发发音音音音频频频频应应应应用用用用产产产产品品品品,则则则则IIS(Integrate IIS(Integrate Interface of So

174、und)Interface of Sound)总线接口是必需的。总线接口是必需的。总线接口是必需的。总线接口是必需的。 第第8 8讲讲 ARMARM技术概述技术概述(6 6)nWAITnWAIT信信信信号号号号。nWAITnWAIT是是是是外外外外部部部部总总总总线线线线速速速速度度度度控控控控制制制制信信信信号号号号,并并并并非非非非每每每每个个个个ARMARM芯芯芯芯片片片片都都都都提提提提供供供供。利利利利用用用用这这这这个个个个信信信信号号号号与与与与廉廉廉廉价价价价的的的的GALGAL芯芯芯芯片片片片就就就就可可可可实实实实现现现现与与与与符符符符合合合合PCMCIAPCMCIA标标

175、标标准准准准的的的的WLANWLAN卡卡卡卡和和和和BluetoothBluetooth卡卡卡卡的的的的接接接接口口口口;另另另另外外外外当当当当需需需需要要要要扩扩扩扩展展展展外外外外部部部部DSPDSP协协协协处处处处理理理理器器器器时时时时,该该该该信信信信号也是必需的。号也是必需的。号也是必需的。号也是必需的。(7 7)RTCRTC。很很很很多多多多ARMARM芯芯芯芯片片片片都都都都提提提提供供供供实实实实时时时时时时时时钟钟钟钟RTCRTC(Real Real Time Time ClockClock)功功功功能能能能,以满足用户的实时时钟功能(年月日时分秒等)的需求。以满足用户的

176、实时时钟功能(年月日时分秒等)的需求。以满足用户的实时时钟功能(年月日时分秒等)的需求。以满足用户的实时时钟功能(年月日时分秒等)的需求。(8 8)LCDLCD控制器控制器控制器控制器。一些芯片内置。一些芯片内置。一些芯片内置。一些芯片内置LCDLCD控制器,可方便控制器,可方便控制器,可方便控制器,可方便LCDLCD的应用。的应用。的应用。的应用。(9 9)PWMPWM输输输输出出出出。用用用用户户户户可可可可根根根根据据据据应应应应用用用用选选选选择择择择带带带带有有有有PWMPWM输输输输出出出出的的的的ARMARM芯芯芯芯片片片片,用用用用于于于于电电电电机机机机或语音输出等。或语音输

177、出等。或语音输出等。或语音输出等。(1010)ADC/DACADC/DAC。有有有有些些些些ARMARM芯芯芯芯片片片片内内内内置置置置2 28 8通通通通道道道道的的的的8 81212位位位位通通通通用用用用ADC/DACADC/DAC,可用于电量检测、触摸屏和温度监测等,有些甚至高达可用于电量检测、触摸屏和温度监测等,有些甚至高达可用于电量检测、触摸屏和温度监测等,有些甚至高达可用于电量检测、触摸屏和温度监测等,有些甚至高达1616位。位。位。位。(1111)PS2PS2。用于键盘和鼠标。用于键盘和鼠标。用于键盘和鼠标。用于键盘和鼠标。(1212)CANCAN总总总总线线线线。CANCAN

178、总总总总线线线线作作作作为为为为国国国国际际际际上上上上应应应应用用用用最最最最广广广广泛泛泛泛的的的的现现现现场场场场总总总总线线线线之之之之一一一一,普普普普遍遍遍遍应应应应用在工业控制领域,许多用在工业控制领域,许多用在工业控制领域,许多用在工业控制领域,许多ARMARM芯片内置芯片内置芯片内置芯片内置CANCAN总线接口。总线接口。总线接口。总线接口。第第8 8讲讲 ARMARM技术概述技术概述(1313)扩扩扩扩展展展展总总总总线线线线。大大大大部部部部分分分分ARMARM芯芯芯芯片片片片具具具具有有有有外外外外部部部部SDRAMSDRAM和和和和SRAMSRAM扩扩扩扩展展展展接接

179、接接口口口口。不不不不同同同同的的的的ARMARM芯芯芯芯片片片片可可可可扩扩扩扩展展展展的的的的芯芯芯芯片片片片数数数数量量量量即即即即片片片片选选选选数数数数量量量量不不不不同同同同,外外外外部部部部数数数数据据据据总总总总线有线有线有线有8/16/328/16/32位。位。位。位。(1414)UARTUART和和和和IrDAIrDA。几几几几乎乎乎乎所所所所有有有有ARMARM芯芯芯芯片片片片都都都都具具具具有有有有1 1个个个个以以以以上上上上的的的的UARTUART接接接接口,用于和口,用于和口,用于和口,用于和PCPC机通信。机通信。机通信。机通信。(1515)时时时时钟钟钟钟计计

180、计计数数数数器器器器和和和和看看看看门门门门狗狗狗狗计计计计数数数数器器器器。一一一一般般般般ARMARM芯芯芯芯片片片片上上上上都都都都具具具具有有有有1 1个个个个或或或或多多多多个时钟计数器和看门狗计数器。个时钟计数器和看门狗计数器。个时钟计数器和看门狗计数器。个时钟计数器和看门狗计数器。(1616)电电电电源源源源管管管管理理理理功功功功能能能能。ARMARM芯芯芯芯片片片片的的的的耗耗耗耗电电电电量量量量与与与与工工工工作作作作频频频频率率率率成成成成正正正正比比比比。一一一一般般般般ARMARM芯片都有低功耗模式、睡眠模式和关闭模式。芯片都有低功耗模式、睡眠模式和关闭模式。芯片都有

181、低功耗模式、睡眠模式和关闭模式。芯片都有低功耗模式、睡眠模式和关闭模式。(1717)DMADMA控控控控制制制制器器器器。有有有有些些些些ARMARM芯芯芯芯片片片片内内内内部部部部集集集集成成成成DMADMA控控控控制制制制器器器器,可可可可与与与与硬硬硬硬盘盘盘盘等外部设备高速进行数据交换,减少数据交换时对等外部设备高速进行数据交换,减少数据交换时对等外部设备高速进行数据交换,减少数据交换时对等外部设备高速进行数据交换,减少数据交换时对CPUCPU资源的占用。资源的占用。资源的占用。资源的占用。 另另另另外外外外,可可可可选选选选择择择择的的的的内内内内部部部部功功功功能能能能部部部部件件

182、件件还还还还有有有有:HDLCHDLC、SDLCSDLC、Ethernet Ethernet MACMAC、VGAVGA控控控控制制制制器器器器等等等等,可可可可选选选选择择择择的的的的内内内内置置置置接接接接口口口口还还还还有有有有:IICIIC、SPISPI、PCIPCI、PCMCIAPCMCIA等。等。等。等。 第第8 8讲讲 ARMARM技术概述技术概述8.9.2 8.9.2 多内核多内核多内核多内核ARMARM角度的芯片选择原则角度的芯片选择原则角度的芯片选择原则角度的芯片选择原则(1 1)ARMARMDSPDSP ARMARM内内内内核核核核的的的的优优优优势势势势在在在在于于于于

183、控控控控制制制制,而而而而DSPDSP的的的的优优优优势势势势在在在在于于于于数数数数值值值值运运运运算算算算。对对对对于于于于既既既既需需需需要要要要控控控控制制制制、又又又又需需需需要要要要大大大大量量量量数数数数值值值值运运运运算算算算的的的的应应应应用用用用来来来来说说说说,可可可可选选选选择择择择ARMARMDSPDSP双双双双内内内内核核核核的的的的芯芯芯芯片片片片:可可可可降降降降低低低低成成成成本本本本、提提提提高高高高系系系系统统统统稳稳稳稳定定定定性性性性、降降降降低低低低功功功功耗耗耗耗。DSPDSP内内内内核核核核通通通通常常常常有有有有ARMARM公司的公司的公司的公

184、司的Piccolo DSPPiccolo DSP核、核、核、核、TITI公司和公司和公司和公司和MotorolaMotorola公司的公司的公司的公司的DSPDSP核。核。核。核。(2 2)ARMARMFPGAFPGA ARMARMFPGAFPGA内内内内核核核核的的的的芯芯芯芯片片片片主主主主要要要要是是是是为为为为了了了了提提提提高高高高产产产产品品品品设设设设计计计计的的的的灵灵灵灵活活活活性性性性。通通通通过过过过对对对对芯芯芯芯片片片片内内内内部部部部的的的的FPGAFPGA编编编编程程程程,可可可可以以以以给给给给产产产产品品品品加加加加密密密密,灵灵灵灵活活活活配配配配置置置置所

185、所所所需需需需的的的的硬硬硬硬件件件件,提高系统硬件的在线升级能力。提高系统硬件的在线升级能力。提高系统硬件的在线升级能力。提高系统硬件的在线升级能力。(3 3)多)多)多)多ARMARM核核核核 有有有有些些些些复复复复杂杂杂杂应应应应用用用用,单单单单CPUCPU无无无无法法法法实实实实现现现现所所所所有有有有的的的的功功功功能能能能,最最最最好好好好的的的的办办办办法法法法就就就就是是是是采采采采用用用用多多多多ARMARM内核的芯片,它可增强多任务的处理能力和多媒体的处理能力。内核的芯片,它可增强多任务的处理能力和多媒体的处理能力。内核的芯片,它可增强多任务的处理能力和多媒体的处理能力。内核的芯片,它可增强多任务的处理能力和多媒体的处理能力。第第8 8讲讲 ARMARM技术概述技术概述思考题思考题 1 1、

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号