嵌入式系统嵌入式RAM技术单片机学习教案.pptx

上传人:莉*** 文档编号:74481778 上传时间:2023-02-27 格式:PPTX 页数:80 大小:924.87KB
返回 下载 相关 举报
嵌入式系统嵌入式RAM技术单片机学习教案.pptx_第1页
第1页 / 共80页
嵌入式系统嵌入式RAM技术单片机学习教案.pptx_第2页
第2页 / 共80页
点击查看更多>>
资源描述

《嵌入式系统嵌入式RAM技术单片机学习教案.pptx》由会员分享,可在线阅读,更多相关《嵌入式系统嵌入式RAM技术单片机学习教案.pptx(80页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、会计学1嵌入式系统嵌入式系统(xtng)嵌入式嵌入式RAM技术单技术单片机片机第一页,共80页。2本章本章(bn zhn)(bn zhn)的主要内容为:的主要内容为:3.1 ARM体系结构的发展历史(lsh)和技术特征3.3 Thumb技术(jsh)介绍3.2 ARM体系结构不同版本的发展概述3.4 ARM处理器工作状态3.5 ARM处理器工作模式3.6 ARM寄存器组成3.7 ARM异常中断第1页/共80页第二页,共80页。3本章本章(bn zhn)(bn zhn)的主要内容为:的主要内容为:3.8 ARM组织结构(jigu)简介3.9 ARM存储器接口(ji ku)及存储器层次3.10 A

2、RM协处理器3.11 ARM片上总线AMBA3.12 ARM的调试结构 3.13 ARM核综述3.14 基于ARM核的芯片选择 第2页/共80页第三页,共80页。43.1 ARM3.1 ARM3.1 ARM3.1 ARM体系结构的发展历史体系结构的发展历史体系结构的发展历史体系结构的发展历史(lsh)(lsh)(lsh)(lsh)和技术和技术和技术和技术特征特征特征特征一一发展的历程发展的历程一一体系结构的技术体系结构的技术(jsh)(jsh)特征特征 第3页/共80页第四页,共80页。5发展发展发展发展(fzh(fzh n)n)的历程的历程的历程的历程n n最近最近最近最近10101010多

3、年来多年来多年来多年来ARMARMARMARM技术的突出成果表现在:技术的突出成果表现在:技术的突出成果表现在:技术的突出成果表现在:n n使用使用使用使用“Thumb”“Thumb”“Thumb”“Thumb”的新型压缩指令格式,使得应用系统开的新型压缩指令格式,使得应用系统开的新型压缩指令格式,使得应用系统开的新型压缩指令格式,使得应用系统开发可降低系统成本和功耗;发可降低系统成本和功耗;发可降低系统成本和功耗;发可降低系统成本和功耗;n nARM9ARM9ARM9ARM9、ARM10ARM10ARM10ARM10、Strong-ARMStrong-ARMStrong-ARMStrong-

4、ARM和和和和ARM11ARM11ARM11ARM11等系列处理器的开发,等系列处理器的开发,等系列处理器的开发,等系列处理器的开发,显著显著显著显著(xinzh)(xinzh)(xinzh)(xinzh)地提高了地提高了地提高了地提高了ARMARMARMARM的性能,使得的性能,使得的性能,使得的性能,使得ARMARMARMARM技术在面向高技术在面向高技术在面向高技术在面向高端数字音、视频处理等多媒体产品的应用中更加广泛;端数字音、视频处理等多媒体产品的应用中更加广泛;端数字音、视频处理等多媒体产品的应用中更加广泛;端数字音、视频处理等多媒体产品的应用中更加广泛;n n更好的软件开发和调试

5、环境,加快用户产品开发;更好的软件开发和调试环境,加快用户产品开发;更好的软件开发和调试环境,加快用户产品开发;更好的软件开发和调试环境,加快用户产品开发;n n更为广泛的产业联盟使得基于更为广泛的产业联盟使得基于更为广泛的产业联盟使得基于更为广泛的产业联盟使得基于ARMARMARMARM的嵌入式应用领域更的嵌入式应用领域更的嵌入式应用领域更的嵌入式应用领域更加广阔;加广阔;加广阔;加广阔;n n嵌入在复杂嵌入在复杂嵌入在复杂嵌入在复杂SoCSoCSoCSoC中、基于中、基于中、基于中、基于ARMARMARMARM核的调试系统代表着当今片核的调试系统代表着当今片核的调试系统代表着当今片核的调试

6、系统代表着当今片上调试技术的前沿。上调试技术的前沿。上调试技术的前沿。上调试技术的前沿。第4页/共80页第五页,共80页。6ARMARM发展发展(fzhn)(fzhn)的历程的历程n n第一片ARM处理器是1983年10月到1985年4月间在位于英国剑桥的Acorn Computer公司开发(kif)。n n1990年,为广泛推广ARM技术而成立了独立的公司。n n20世纪90年代,ARM快速进入世界市场。第5页/共80页第六页,共80页。7ARMARM发展发展(fzhn)(fzhn)的历程的历程n n在ARM的发展历程中,从ARM7开始,ARM核被普遍认可和广泛(gungfn)使用。n n1

7、995年 StrongARM 问世。n nXScale是下一代StrongARM芯片的发展基础。n nARM10TDMI是ARM处理器核中的高端产品。n nARM11是ARM家族中性能最强的一个系列。第6页/共80页第七页,共80页。8ARMARM发展发展(fzhn)(fzhn)的历程的历程n nARMARM技术还将不断发展。在嵌入式领域,技术还将不断发展。在嵌入式领域,技术还将不断发展。在嵌入式领域,技术还将不断发展。在嵌入式领域,ARMARM已取得了极大的成功,造就了已取得了极大的成功,造就了已取得了极大的成功,造就了已取得了极大的成功,造就了IPIP核商业化、市核商业化、市核商业化、市核

8、商业化、市场化的神话,迄今为止,还没有任何商业化的场化的神话,迄今为止,还没有任何商业化的场化的神话,迄今为止,还没有任何商业化的场化的神话,迄今为止,还没有任何商业化的IPIP核核核核交易和使用达到交易和使用达到交易和使用达到交易和使用达到ARMARM的规模。据最新统计,全球有的规模。据最新统计,全球有的规模。据最新统计,全球有的规模。据最新统计,全球有103103家巨型家巨型家巨型家巨型ITIT公司在采用公司在采用公司在采用公司在采用(c(c iyng)ARMiyng)ARM技术,技术,技术,技术,2020家家家家最大的半导体厂商中有最大的半导体厂商中有最大的半导体厂商中有最大的半导体厂商

9、中有1919家是家是家是家是ARMARM的用户,包括德的用户,包括德的用户,包括德的用户,包括德州仪器,意法半导体,州仪器,意法半导体,州仪器,意法半导体,州仪器,意法半导体,PhilipsPhilips,IntelIntel等。等。等。等。ARMARM系列系列系列系列芯片已经被广泛的应用于移动电话、手持式计算机芯片已经被广泛的应用于移动电话、手持式计算机芯片已经被广泛的应用于移动电话、手持式计算机芯片已经被广泛的应用于移动电话、手持式计算机以及各种各样的嵌入式应用领域,成为世界上销量以及各种各样的嵌入式应用领域,成为世界上销量以及各种各样的嵌入式应用领域,成为世界上销量以及各种各样的嵌入式应

10、用领域,成为世界上销量最大的最大的最大的最大的3232位微处理器。位微处理器。位微处理器。位微处理器。第7页/共80页第八页,共80页。93.2 ARM3.2 ARM体系结构的技术体系结构的技术(jsh)(jsh)特征特征n nARM的体系结构采用了若干Berkeley RISC处理器设计中的特征n n Load/store体系结构n n固定的32位指令n n3地址指令格式 n n也放弃了其它若干Berkeley RISC特征n n寄存器窗口 n n延迟转移 n n所有的指令单周期(zhuq)执行 第8页/共80页第九页,共80页。103.2 ARM3.2 ARM3.2 ARM3.2 ARM体

11、系结构不同版本的发展体系结构不同版本的发展体系结构不同版本的发展体系结构不同版本的发展(fzhn)(fzhn)(fzhn)(fzhn)概述概述概述概述一一体系结构的基本版本一一体系结构的演变(ynbin)一一体系结构的命名规则 第9页/共80页第十页,共80页。11ARM体系结构的基本体系结构的基本(jbn)版本版本n n版本1,本版本包括下列指令:n n乘法指令之外的基本数据处理指令;n n基于字节,字和多字的存储器访问操作指令(Load/Store);n n子程序调用(dioyng)指令BL在内的跳转指令;n n完成系统调用(dioyng)的软件中断指令SWI。第10页/共80页第十一页,

12、共80页。12 ARM体系结构的基本体系结构的基本(jbn)版版本本n n版本2,与版本1相比版本2(2a)增加了下列(xili)指令:n n乘和乘加指令;n n支持协处理器的指令;n n对于FIQ模式,提供了额外的影子寄存器;n nSWP指令及SWPB指令。第11页/共80页第十二页,共80页。13 ARM体系结构的基本体系结构的基本(jbn)版本版本n n版本版本3 3较以前的版本发生了大的变化较以前的版本发生了大的变化n n地址空间扩展到了地址空间扩展到了3232位,但除了版本位,但除了版本3G3G外的其他版本是向外的其他版本是向前兼容的,也支持前兼容的,也支持2626位的地址空间;位的

13、地址空间;n n分开的当前程序状态寄存器分开的当前程序状态寄存器CPSRCPSR(Current Program Current Program Status RegisterStatus Register)和备份的程序状态寄存器)和备份的程序状态寄存器SPSRSPSR(Saved Saved Program Status RegisterProgram Status Register),),SPSRSPSR用于在程序异常中断时保存用于在程序异常中断时保存被中断的程序状态;被中断的程序状态;n n增加了两种异常模式,使操作系统代码可以方便地使用数增加了两种异常模式,使操作系统代码可以方便地使用

14、数据访问中止异常、指令据访问中止异常、指令(zhlng)(zhlng)预取中止异常和未定义指令预取中止异常和未定义指令(zhlng)(zhlng)异常;异常;n n增加了增加了MRSMRS指令指令(zhlng)(zhlng)和和MSRMSR指令指令(zhlng)(zhlng)用于完成对用于完成对CPSRCPSR和和SPSRSPSR寄存器的读写。寄存器的读写。n n修改了原来的从异常中返回的指令修改了原来的从异常中返回的指令(zhlng)(zhlng)。第12页/共80页第十三页,共80页。14 ARM体系结构的基本体系结构的基本(jbn)版本版本n n版本版本版本版本4 4 4 4与版本与版本

15、与版本与版本3 3 3 3相比,版本相比,版本相比,版本相比,版本4 4 4 4增加了下列指令增加了下列指令增加了下列指令增加了下列指令n n有有有有符符符符号号号号、无无无无符符符符号号号号的的的的半半半半字字字字和和和和有有有有符符符符号号号号字字字字节节节节的的的的loadloadloadload和和和和storestorestorestore指令。指令。指令。指令。n n增增增增加加加加了了了了T T T T变变变变种种种种,处处处处理理理理器器器器可可可可以以以以(ky)(ky)(ky)(ky)工工工工作作作作于于于于ThumbThumbThumbThumb状状状状态态态态,在该状态

16、下的指令集是在该状态下的指令集是在该状态下的指令集是在该状态下的指令集是16161616位的位的位的位的ThumbThumbThumbThumb指令集。指令集。指令集。指令集。n n增增增增加加加加了了了了处处处处理理理理器器器器的的的的特特特特权权权权模模模模式式式式。在在在在该该该该模模模模式式式式下下下下,使使使使用用用用的的的的是是是是用用用用户模式下的寄存器。户模式下的寄存器。户模式下的寄存器。户模式下的寄存器。第13页/共80页第十四页,共80页。15 ARM体系结构的基本体系结构的基本(jbn)版本版本n n版本版本5 5主要由两个变型版本主要由两个变型版本5T5T、5TE5TE

17、组成组成 n n相比与版本相比与版本4 4,版本,版本5 5的指令集有了如下的变化:的指令集有了如下的变化:n n提高了提高了T T变种中变种中ARM/ThumbARM/Thumb混合使用的效率。混合使用的效率。n n增增加加前前导导零零记记数数(CLZCLZ)指指令令,该该指指令令可可使使整整数数除除法法和中断优先级排队操作更为有效;和中断优先级排队操作更为有效;n n增加了增加了BKPTBKPT(软件断点)指令;(软件断点)指令;n n为协处理器设计提供了更多的可供选择的指令;为协处理器设计提供了更多的可供选择的指令;n n更更加加严严格格地地定定义义了了乘乘法法指指令令对对条条件件码码标

18、标志志(biozh)(biozh)位的影响。位的影响。第14页/共80页第十五页,共80页。16 ARM体系结构的基本体系结构的基本(jbn)版版本本n nARM体系版本6是2001年发布的。新架构v6在降低耗电量的同时还强化了图形处理性能。通过追加有效进行多媒体处理的SIMD功能,将语音及图像的处理功能提高到了原机型的4倍。ARM体系版本6首先在2002年春季发布的ARM11处理器中使用(shyng)。除此之外,v6还支持多微处理器内核。第15页/共80页第十六页,共80页。17 ARM体系结构的基本体系结构的基本(jbn)版本版本n nARM体 系 结 构 总 结(zngji)核体系结构A

19、RM1V1ARM2V2ARM2aS,ARM3V2aARM6,ARM600,ARM610V3ARM7,ARM700,ARM710V3ARM7TDMI,ARM710T,ARM720T ARM740TV4TStrong ARM,ARM8,ARM810V4ARM9TDMI,ARM920T,ARM940TV4TARM9E-SV5TEARM10TDMI,ARM1020EV5TEARM11,ARM1156T2-S,ARM1156T2F-S,ARM1176JZ-S,ARM11JZF-SV6第16页/共80页第十七页,共80页。18ARM体系结构的演变体系结构的演变(ynbin)n n1)Thumb指令集(T变

20、种)n nThumb指令集是把32位的ARM指令集的一个子集重新编码后而形成的一个特殊(tsh)的16位的指令集 n n2)长乘指令(M变种)n n长乘指令是一种生成64位相乘结果的乘法指令(此指令为ARM指令),M变种增加了两条长乘指令 第17页/共80页第十八页,共80页。19 ARM ARM体系结构的演变体系结构的演变体系结构的演变体系结构的演变(y(y nbin)nbin)n n3 3)增强型)增强型DSPDSP指令(指令(E E变种)变种)n nE E变种的变种的ARMARM体系增加了一些增强处理器对典体系增加了一些增强处理器对典型的型的DSPDSP算法处理能力的附加指令。算法处理能

21、力的附加指令。n n4 4)JavaJava加速器加速器JazelleJazelle(J J变种)变种)n n ARM ARM的的JazelleJazelle技术是技术是JavaJava语言和先进的语言和先进的3232位位RISCRISC芯片完美结合芯片完美结合(jih)(jih)的产物的产物 。n n5 5)ARMARM媒体功能扩展(媒体功能扩展(SIMDSIMD变种)变种)第18页/共80页第十九页,共80页。20体系结构的命名体系结构的命名(mng mng)(mng mng)规则规则n n 表示表示ARM/ThumbARM/Thumb体系版本的命名格式的体系版本的命名格式的ARM/Thu

22、mbARM/Thumb体系版本由下面几部分组成的:体系版本由下面几部分组成的:n n基本字符串基本字符串ARMvARMv。n n基本字符串后为基本字符串后为ARMARM指令集版本号,目前是指令集版本号,目前是1-61-6的数字的数字字符。字符。n nARMARM指令集版本号后为表示所含变种的字符。由于在指令集版本号后为表示所含变种的字符。由于在ARMARM体系版本体系版本4 4以后,以后,M M变种成为系统的标准部件,所变种成为系统的标准部件,所以字符以字符M M通常也不单独通常也不单独(dnd)(dnd)列出来。列出来。n n最后使用的字符最后使用的字符x x表示排除某种功能。表示排除某种功

23、能。第19页/共80页第二十页,共80页。213.3 Thumb3.3 Thumb3.3 Thumb3.3 Thumb技术技术技术技术(jsh)(jsh)(jsh)(jsh)介绍介绍介绍介绍 n nARM的RISC体系结构的发展中已经提供了低功耗、小体积、高性能的方案。而为了解决代码长度的问题,ARM体系结构又增加了变种,开发了一种新的指令体系,这就是Thumb指令集,它是ARM技术的一大特色。n n的技术概述n n的技术实现(shxin)n n技术的特点 第20页/共80页第二十一页,共80页。22的技术的技术(jsh)概述概述n nThumbThumb是是ARMARM体系结构的扩展。它有从

24、标准体系结构的扩展。它有从标准3232位位ARMARM指令集抽出来的指令集抽出来的3636条指令格式,可以重新编成条指令格式,可以重新编成1616位位的操作码。这能带来很高的代码密度的操作码。这能带来很高的代码密度 n nARM7TDMIARM7TDMI是第一个支持是第一个支持ThumbThumb的核,支持的核,支持ThumbThumb的核仅仅是的核仅仅是ARMARM体系结构的一种发展的扩展,所以编译体系结构的一种发展的扩展,所以编译器既可以编译器既可以编译ThumbThumb代码,又可以编译代码,又可以编译ARMARM代码代码 n n支持支持ThumbThumb的的ARMARM体系结构的处理

25、器状态可以方体系结构的处理器状态可以方便的切换便的切换(qi hun)(qi hun)、运行到、运行到ThumbThumb状态,在该状态下指状态,在该状态下指令集是令集是1616位的位的ThumbThumb指令集指令集 。第21页/共80页第二十二页,共80页。23技术技术(jsh)(jsh)的特点的特点n n在性能和代码(di m)大小之间取得平衡,在需要较低的存储代码(di m)时采用Thumb指令系统,但有比纯粹的16位系统有较高的实现性能,因为实际执行的是32位指令,用Thumb指令编写最小代码(di m)量的程序,却取得以ARM代码(di m)执行的最好性能 第22页/共80页第二十

26、三页,共80页。24Thumb技术技术(jsh)的特点的特点n n与与ARMARM指令集相比指令集相比ThumbThumb指令集具有以下局限指令集具有以下局限 n n完完成成相相同同的的操操作作,ThumbThumb指指令令通通常常需需要要更更多多的的指指令令,因因此此在在对对系系统统运运行行时时间间要要求求苛苛刻刻的的应应用用场场合合ARMARM指令集更为适合;指令集更为适合;n nThumbThumb指指令令集集没没有有包包含含进进行行异异常常处处理理(chl)(chl)时时需需要要的的一一些些指指令令,因因此此在在异异常常中中断断时时,还还是是需需要要使使用用ARMARM指指令令,这这种

27、种限限制制决决定定了了ThumbThumb指指令令需需要要和和ARMARM指指令令配合使用。配合使用。第23页/共80页第二十四页,共80页。253.4 ARM3.4 ARM处理器工作处理器工作(gngzu)(gngzu)状状态态 n nARMARM处理器核可以工作在以下处理器核可以工作在以下2 2种状态种状态n n1 1)ARM ARM状态状态n n3232位,位,ARMARM状态下执行字对准的状态下执行字对准的3232位位ARMARM指令指令(zh(zh lng)lng);n n2 2)ThumbThumb状态状态n n1616位,位,ThumbThumb状态下执行半字对准的状态下执行半字

28、对准的1616位位ThumbThumb指令指令(zh(zh lng)lng)。在。在ThumbThumb状态下,程序计数器状态下,程序计数器PCPC使用位使用位1 1选择另一选择另一个半字。个半字。第24页/共80页第二十五页,共80页。26ARMARMARMARM处理器工作处理器工作处理器工作处理器工作(gngzu)(gngzu)(gngzu)(gngzu)状态状态状态状态 n n在程序执行的过程中,处理器可以在程序执行的过程中,处理器可以(ky)(ky)在两种在两种状态下切换状态下切换 。n nARMARM和和ThumbThumb之间状态的切换不影响处理器的模式之间状态的切换不影响处理器的

29、模式或寄存器的内容。或寄存器的内容。n nARMARM指令集和指令集和ThumbThumb指令集都有相应的状态切换命指令集都有相应的状态切换命令。令。n nARMARM处理器在开始执行代码时,只能处于处理器在开始执行代码时,只能处于ARMARM状态。状态。第25页/共80页第二十六页,共80页。27 ARM ARM处理器工作处理器工作(gngzu)(gngzu)状态状态 n nARMARMARMARM处理器在两种工作状态之间切换方法:处理器在两种工作状态之间切换方法:处理器在两种工作状态之间切换方法:处理器在两种工作状态之间切换方法:n n进入进入进入进入ThumbThumbThumbThum

30、b状态:状态:状态:状态:n n当操作数寄存器当操作数寄存器当操作数寄存器当操作数寄存器RmRmRmRm的状态位的状态位的状态位的状态位bitbitbitbit0 0 0 0为为为为1 1 1 1时,执时,执时,执时,执行行行行BX RmBX RmBX RmBX Rm指令进入指令进入指令进入指令进入ThumbThumbThumbThumb状态(指令详细介绍见第三状态(指令详细介绍见第三状态(指令详细介绍见第三状态(指令详细介绍见第三章)。如果处理器在章)。如果处理器在章)。如果处理器在章)。如果处理器在ThumbThumbThumbThumb状态进入异常,则当异常状态进入异常,则当异常状态进入

31、异常,则当异常状态进入异常,则当异常处理(处理(处理(处理(IRQIRQIRQIRQ,FIQFIQFIQFIQ,UndefUndefUndefUndef,AbortAbortAbortAbort和和和和SWISWISWISWI)返回时,自)返回时,自)返回时,自)返回时,自动切换到动切换到动切换到动切换到ThumbThumbThumbThumb状态。状态。状态。状态。n n进入进入进入进入ARMARMARMARM状态:状态:状态:状态:n n当操作数寄存器当操作数寄存器当操作数寄存器当操作数寄存器RmRmRmRm的状态位的状态位的状态位的状态位bitbitbitbit0 0 0 0为为为为0

32、0 0 0时,执时,执时,执时,执行行行行BX RmBX RmBX RmBX Rm指令进入指令进入指令进入指令进入ARMARMARMARM状态。如果处理器进行异常处状态。如果处理器进行异常处状态。如果处理器进行异常处状态。如果处理器进行异常处理(理(理(理(IRQIRQIRQIRQ,FIQFIQFIQFIQ,UndefUndefUndefUndef,AbortAbortAbortAbort和和和和SWISWISWISWI),在此情况下,),在此情况下,),在此情况下,),在此情况下,把把把把PCPCPCPC放入异常模式链接放入异常模式链接放入异常模式链接放入异常模式链接(lin ji)(lin

33、 ji)(lin ji)(lin ji)寄存器寄存器寄存器寄存器LRLRLRLR中,从中,从中,从中,从异常向量地址开始执行也可以进入异常向量地址开始执行也可以进入异常向量地址开始执行也可以进入异常向量地址开始执行也可以进入ARMARMARMARM状态。状态。状态。状态。第26页/共80页第二十七页,共80页。283.5 ARM3.5 ARM处理器工作处理器工作(gngzu)(gngzu)模模式式 n nCPSRCPSR(当前程序状态(当前程序状态(zhungti)(zhungti)寄存器)的低寄存器)的低5 5位位用于定义当前操作模式用于定义当前操作模式,如图示:如图示:第27页/共80页第

34、二十八页,共80页。29 ARM ARM处理器工作处理器工作(gngzu)(gngzu)模式模式 n n除用户模式外的其他除用户模式外的其他6 6种模式称为特权模式种模式称为特权模式 。n n特权模式中除系统特权模式中除系统(xtng)(xtng)模式以外的模式以外的5 5种模式又称种模式又称为异常模式,即为异常模式,即 :n nFIQFIQ(Fast Interrupt RequestFast Interrupt Request)n nIRQIRQ(Interrupt ReQuestInterrupt ReQuest)n nSVCSVC(SupervisorSupervisor)n n中止(

35、中止(AbortAbort)n n未定义(未定义(UndefinedUndefined)第28页/共80页第二十九页,共80页。303.6 ARM3.6 ARM寄存器组成寄存器组成(z chn)(z chn)一一寄存器组成概述寄存器组成概述一一状态状态(zhungti)(zhungti)下的寄存器组织下的寄存器组织一一状态状态(zhungti)(zhungti)下的寄存器组织下的寄存器组织 第29页/共80页第三十页,共80页。31寄存器组成寄存器组成(z chn)(z chn)概述概述n n ARM ARM处理器总共有处理器总共有处理器总共有处理器总共有3737个寄存器,可以分为以下个寄存器

36、,可以分为以下个寄存器,可以分为以下个寄存器,可以分为以下(y(y xi)xi)两类寄存器两类寄存器两类寄存器两类寄存器 :n n1 1)31 31个通用寄存器个通用寄存器个通用寄存器个通用寄存器 :n nR0R0R15R15;n nR13_svcR13_svc、R14_svcR14_svc;n nR13_abtR13_abt、R14_abtR14_abt;n nR13_undR13_und、R14_undR14_und;n nR13_irqR13_irq、R14_irqR14_irq;n nR8_frq-R14_frqR8_frq-R14_frq。n n2 2)6 6个状态寄存器个状态寄存器

37、个状态寄存器个状态寄存器 n nCPSRCPSR;SPSR_svcSPSR_svc、SPSR_abtSPSR_abt、SPSR_undSPSR_und、SPSR_irqSPSR_irq和和和和SPSR_fiq SPSR_fiq。第30页/共80页第三十一页,共80页。32状态状态(zhungti)(zhungti)下的寄存器组下的寄存器组织织n n1)ARM状态的寄存器简介(jin ji):n nARM状态下的寄存器组织:第31页/共80页第三十二页,共80页。33 ARM ARM状态状态(zhungti)(zhungti)下的寄下的寄存器组织存器组织n n2)ARM状态(zhungti)的通

38、用寄存器 n n不分组寄存器(The unbanked registers)R0R7 n n分组寄存器(The banked registers):R8R14 n n程序计数器:R15(PC)第32页/共80页第三十三页,共80页。34 ARM ARM状态状态(zhungti)(zhungti)下的寄下的寄存器组织存器组织n n不分组寄存器不分组寄存器不分组寄存器不分组寄存器R0R7 R0R7 R0R7 R0R7 n nR0R7R0R7R0R7R0R7是不分组寄存器。这意味着在所有处理器模式是不分组寄存器。这意味着在所有处理器模式是不分组寄存器。这意味着在所有处理器模式是不分组寄存器。这意味着

39、在所有处理器模式下,它们每一个都访问的是同一个物理寄存器。它们是真下,它们每一个都访问的是同一个物理寄存器。它们是真下,它们每一个都访问的是同一个物理寄存器。它们是真下,它们每一个都访问的是同一个物理寄存器。它们是真正并且在每种状态下都统一的通用寄存器。正并且在每种状态下都统一的通用寄存器。正并且在每种状态下都统一的通用寄存器。正并且在每种状态下都统一的通用寄存器。n n未分组寄存器没有被系统用于特别的用途,任何可采未分组寄存器没有被系统用于特别的用途,任何可采未分组寄存器没有被系统用于特别的用途,任何可采未分组寄存器没有被系统用于特别的用途,任何可采用通用寄存器的应用场合都可以用通用寄存器的

40、应用场合都可以用通用寄存器的应用场合都可以用通用寄存器的应用场合都可以(ky)(ky)(ky)(ky)使用未分组寄存器,使用未分组寄存器,使用未分组寄存器,使用未分组寄存器,但必须注意对同一寄存器在不同模式下使用时的数据保护但必须注意对同一寄存器在不同模式下使用时的数据保护但必须注意对同一寄存器在不同模式下使用时的数据保护但必须注意对同一寄存器在不同模式下使用时的数据保护 。第33页/共80页第三十四页,共80页。35 ARM ARM状态状态(zhungti)(zhungti)下的下的寄存器组织寄存器组织n n分组寄存器分组寄存器R8-R14 R8-R14:n n分组寄存器分组寄存器R8-R1

41、2R8-R12:n nFIQFIQ模式分组寄存器模式分组寄存器R8R12 R8R12。n nFIQFIQ以外的分组寄存器以外的分组寄存器R8R12 R8R12。n n分组寄存器分组寄存器R13R13、R14R14n n寄存器寄存器R13R13通常用做堆栈指针通常用做堆栈指针(zhzhn)SP(zhzhn)SP。n n寄存器寄存器R14R14用作子程序链接寄存用作子程序链接寄存器(器(Link RegisterLink RegisterLRLR),也),也称为称为LRLR。第34页/共80页第三十五页,共80页。36 ARM ARM状态状态(zhungti)(zhungti)下的下的寄存器组织寄

42、存器组织n n程序计数器程序计数器R15 R15:n n寄存器寄存器R15R15被用作程序计数器,被用作程序计数器,也称为也称为PC PC。n nR15R15值的改变将引起程序执行值的改变将引起程序执行顺序的变化,这有可能引起程序顺序的变化,这有可能引起程序执行中出现一些不可预料的结果执行中出现一些不可预料的结果 。n nARMARM处理器采用多级流水线技处理器采用多级流水线技术,因此保存术,因此保存(bocn)(bocn)在在R15R15的的程序地址并不是当前指令的地址程序地址并不是当前指令的地址 。n n一些指令对于一些指令对于R15R15的用法有一的用法有一些特殊的要求些特殊的要求 。第

43、35页/共80页第三十六页,共80页。37 ARM ARM状态状态(zhungti)(zhungti)下的寄下的寄存器组织存器组织n n3)ARM3)ARM3)ARM3)ARM程序状态寄存器程序状态寄存器程序状态寄存器程序状态寄存器n n所有处理器模式下都可以访问当前的程序状态寄存所有处理器模式下都可以访问当前的程序状态寄存所有处理器模式下都可以访问当前的程序状态寄存所有处理器模式下都可以访问当前的程序状态寄存器器器器CPSRCPSRCPSRCPSR。CPSRCPSRCPSRCPSR包含条件码标志、中断禁止位、当前处理包含条件码标志、中断禁止位、当前处理包含条件码标志、中断禁止位、当前处理包含

44、条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。器模式以及其它状态和控制信息。器模式以及其它状态和控制信息。器模式以及其它状态和控制信息。n n在每种异常模式下都有一个对应的物理寄存器在每种异常模式下都有一个对应的物理寄存器在每种异常模式下都有一个对应的物理寄存器在每种异常模式下都有一个对应的物理寄存器程序状态保存寄存器程序状态保存寄存器程序状态保存寄存器程序状态保存寄存器SPSRSPSRSPSRSPSR。当异常出现时,。当异常出现时,。当异常出现时,。当异常出现时,SPSRSPSRSPSRSPSR用于保用于保用于保用于保存存存存CPSRCPSRCPSRCPSR的状态,以便的状态

45、,以便的状态,以便的状态,以便(ybin)(ybin)(ybin)(ybin)异常返回后恢复异常发生异常返回后恢复异常发生异常返回后恢复异常发生异常返回后恢复异常发生时的工作状态。时的工作状态。时的工作状态。时的工作状态。第36页/共80页第三十七页,共80页。38 ARM ARM状态状态(zhungti)(zhungti)下的寄存下的寄存器组织器组织n nCPSR和SPSR的格式(g shi)第37页/共80页第三十八页,共80页。39状态状态(zhungti)(zhungti)下的寄存器组下的寄存器组织织n nThumbThumb状态下的寄存器集是状态下的寄存器集是ARMARM状态下寄存状

46、态下寄存器集的子集。程序员可以直接访问器集的子集。程序员可以直接访问(f(f ngwn)8ngwn)8个通个通用的寄存器(用的寄存器(R0R7R0R7),程序计数器),程序计数器PCPC、堆栈指针、堆栈指针SPSP、程序链接寄存器、程序链接寄存器LRLR和当前状态寄存器和当前状态寄存器CPSRCPSR。每一种特权模式都各有一组每一种特权模式都各有一组SPSP,LRLR和和SPSRSPSR。第38页/共80页第三十九页,共80页。403.7 ARM3.7 ARM的异常中断的异常中断n n在在ARMARM体体系系结结构构中中,异异常常中中断断用用来来处处理理软软件件中中断断、未未定定义义指指令令陷

47、陷阱阱(它它不不是是真真正正的的“意意外外”事事件件)及及系系统统(xtng)(xtng)复复位位功功能能(它它在在逻逻辑辑上上发发生生在在程程序序执执行行前前而而不不是是在在程程序序执执行行中中,尽尽管管处处理理器器在在运运行行中中可可能能再再次次复复位位)和和外外部部事事件件,这这些些“不不正正常常”事事件件都都被被划划归归“异异常常”,因因为为在在处处理理器器的的控控制制机机制制中中,它它们们都都使使用用同同样样的流程进行异常处理。的流程进行异常处理。第39页/共80页第四十页,共80页。41 ARM ARM的异常中断的异常中断n nARM的异常中断响应过程;n n从异常中断处理程序中返

48、回(fnhu);n n异常中断向量表;n n异常中断的优先级;第40页/共80页第四十一页,共80页。42ARM的异常中断响应的异常中断响应(xingyng)过程过程n nARM处理器对异常中断的响应过程如下:n n将CPSR的内容保存到将要执行的异常中断对应的SPSR中。n n设置当前状态寄存器CPSR中的相应位 n n将引起(ynq)异常指令的下一条指令的地址保存到新的异常工作模式的R14。n n给程序计数器(PC)强制赋值。第41页/共80页第四十二页,共80页。43ARM的异常中断响应的异常中断响应(xingyng)过程过程n n每个异常模式对应有两个寄存器R13_、R14_分别保存相

49、应模式下的堆栈指针、返回地址(dzh);堆栈指针可用来定义一个存储区域保存其它用户寄存器,这样异常处理程序就可以使用这些寄存器。n nFIQ模式还有额外的专用寄存器R8_fiqR12_fiq,使用这些寄存器可以加快快速中断的处理速度。第42页/共80页第四十三页,共80页。44从异常中断处理程序中返回从异常中断处理程序中返回(fnhu)n n从异常中断处理程序中返回时,需要执行从异常中断处理程序中返回时,需要执行n n以下四个基本操作以下四个基本操作 :n n所有修改过的用户寄存器必须所有修改过的用户寄存器必须(bx)(bx)从处理程序从处理程序的保护堆栈中恢复(即出栈)。的保护堆栈中恢复(即

50、出栈)。n n将将SPSR_modeSPSR_mode寄存器内容复制到寄存器内容复制到CPSRCPSR中,使得中,使得CPSRCPSR从相应的从相应的SPSRSPSR中恢复,即恢复被中断的程序工作状态。中恢复,即恢复被中断的程序工作状态。n n根据异常类型将根据异常类型将PCPC变回到用户指令流中相应指令变回到用户指令流中相应指令处。处。n n最后清除最后清除CPSRCPSR中的中断禁止标志位中的中断禁止标志位I/FI/F。第43页/共80页第四十四页,共80页。45异常异常(ychng)中断向量表中断向量表n n中断向量表中指定了各异常中断与其处理程序的对应关系中断向量表中指定了各异常中断与

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理工具

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com