嵌入式系统设计师考试笔记.doc

上传人:hw****26 文档编号:3233627 上传时间:2019-05-26 格式:DOC 页数:43 大小:327.50KB
下载 相关 举报
嵌入式系统设计师考试笔记.doc_第1页
第1页 / 共43页
嵌入式系统设计师考试笔记.doc_第2页
第2页 / 共43页
嵌入式系统设计师考试笔记.doc_第3页
第3页 / 共43页
嵌入式系统设计师考试笔记.doc_第4页
第4页 / 共43页
嵌入式系统设计师考试笔记.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、 嵌入式系统设计师考试笔记之嵌入式系统基础知识 1、嵌入式系统的定义(1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。(2)嵌入式系统发展的 4 个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet 阶段。(3)知识产权核(IP 核):具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。(4)IP 核模块有行为、结构和物理 3 级不同程度的设计,对应描述功能行为的不同可以分为三类:软核、固核、硬核。2、嵌入式系统的组成:硬件层

2、、中间层、系统软件层和应用软件层(1)硬件层:嵌入式微处理器、存储器、通用设备接口和 I/O 接口。嵌入式核心模块微处理器电源电路时钟电路存储器Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。(2)中间层(也称为硬件抽象层 HAL 或者板级支持包 BSP):它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体情况,根据 BSP 层提供的接口开发即可。BSP 有两个特点:硬件相关性和操作系统相关性。设计一个完整的 BSP 需要完成两部分工作:

3、A、 嵌入式系统的硬件初始化和 BSP 功能。片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。板级初始化:包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件和软件的运行环境。系统级初始化:以软件为主的初始化过程,进行操作系统的初始化。B、 设计硬件相关的设备驱动。(3)系统软件层:由 RTOS、文件系统、GUI、网络系统及通用组件模块组成。RTOS 是嵌入式应用软件的基础和开发平台。(4)应用软件:由基于实时系统开发的应用程序组成。3、实时系统(1)定义:能在指定或确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应

4、的系统。(2)区别:通用系统一般追求的是系统的平均响应时间和用户的使用方便;而实时系统主要考虑的是在最坏情况下的系统行为。(3)特点:时间约束性、可预测性、可靠性、与外部环境的交互性。(4)硬实时(强实时):指应用的时间需求应能够得到完全满足,否则就造成重大安全事故,甚至造成重大的生命财产损失和生态破坏,如:航天、军事。(5)软实时(弱实时):指某些应用虽然提出了时间的要求,但实时任务偶尔违反这种需求对系统运行及环境不会造成严重影响,如:监控系统、实时信息采集系统。(6)任务的约束包括:时间约束、资源约束、执行顺序约束和性能约束。4、实时系统的调度(1)调度:给定一组实时任务和系统资源,确定每

5、个任务何时何地执行的整个过程。(2)抢占式调度:通常是优先级驱动的调度,如 uCOS。优点是实时性好、反应快,调度算法相对简单,可以保证高优先级任务的时间约束;缺点是上下文切换多。(3)非抢占式调度:通常是按时间片分配的调度,不允许任务在执行期间被中断,任务一旦占用处理器就必须执行完毕或自愿放弃,如 WinCE。优点是上下文切换少;缺点是处理器有效资源利用率低,可调度性不好。(4)静态表驱动策略:系统在运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表,指明各任务的起始运行时刻及运行时间。(5)优先级驱动策略:按照任务优先级的高低确定任务的执行顺序。(6)实时任务分类:周

6、期任务、偶发任务、非周期任务。(7)实时系统的通用结构模型:数据采集任务实现传感器数据的采集,数据处理任务处理采集的数据、并将加工后的数据送到执行机构管理任务控制机构执行。5、嵌入式微处理器体系结构(1)冯诺依曼结构:程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,采用单一的地址及数据总线,程序和数据的宽度相同。例如:8086、ARM7、MIPS(2)哈佛结构:程序和数据是两个相互独立的存储器,每个存储器独立编址、独立访问,是一种将程序存储和数据存储分开的存储器结构。例如:AVR、ARM9、ARM10(3)CISC 与 RISC 的特点比较(参照教程

7、22 页) 。计算机执行程序所需要的时间 P 可以用下面公式计算:P=ICPITI:高级语言程序编译后在机器上运行的指令数。CPI:为执行每条指令所需要的平均周期数。T:每个机器周期的时间。(4)流水线的思想:在 CPU 中把一条指令的串行执行过程变为若干指令的子过程在 CPU 中重叠执行。(5)流水线的指标:吞吐率:单位时间里流水线处理机流出的结果数。如果流水线的子过程所用时间不一样长,则吞吐率应为最长子过程的倒数。建立时间:流水线开始工作到达最大吞吐率的时间。若 m 个子过程所用时间一样,均为 t,则建立时间Tmt。(6)信息存储的字节顺序A、存储器单位:字节(8 位)B、字长决定了微处理

8、器的寻址能力,即虚拟地址空间的大小。C、32 位微处理器的虚拟地址空间位 232,即 4GB。D、小端字节顺序:低字节在内存低地址处,高字节在内存高地址处。E、大端字节顺序:高字节在内存低地址处,低字节在内存高地址处。F、网络设备的存储顺序问题取决于 OSI 模型底层中的数据链路层。6、逻辑电路基础(1)根据电路是否具有存储功能,将逻辑电路划分为:组合逻辑电路和时序逻辑电路。(2)组合逻辑电路:电路在任一时刻的输出,仅取决于该时刻的输入信号,而与输入信号作用前电路的状态无关。常用的逻辑电路有译码器和多路选择器等。(3)时序逻辑电路:电路任一时刻的输出不仅与该时刻的输入有关,而且还与该时刻电路的

9、状态有关。因此,时序电路中必须包含记忆元件。触发器是构成时序逻辑电路的基础。常用的时序逻辑电路有寄存器和计数器等。(4)真值表、布尔代数、摩根定律、门电路的概念。 (教程 28、29 页)(5)NOR(或非)和 NAND(与非)的门电路称为全能门电路,可以实现任何一种逻辑函数。(6)译码器:多输入多输出的组合逻辑网络。每输入一个 n 位的二进制代码,在 m 个输出端中最多有一个有效。当 m2n 是,为全译码;当 m:C、B考查流水线技术知识点。按照串行的方式,执行完一条指令才能执行下一条指令,那么执行完 100 条指令的时间为:(435)1001200按照流水线的方式,可以同时执行多条指令。在

10、第一条指令进行分析的时候,第二条指令已经开始取指;当第一条指令进行执行的时候,第二条指令进行分析,第三条指令取指;当第二条指令进行执行完的时候,第三条指令已经分析完成。依此类推,当第一条指令完成之后,每一个执行的周期就可以完成一条指令。需要注意的是,如果流水线的子过程所用时间不一样长,则吞吐率应以最长子过程来计算。因此,我们可以计算得 100 条指令的执行时间为:(435)(1001)5507。2、2007 年 24 题某总线有 104 根信号线,其中数据总线(DB)32 根,若总线工作频率为 33MHz,则其理论最大传输率为 (24) 。 (注:本题答案中的 B 表示 Byte)(24)A.

11、 33 MB/s B. 64MB/s C. 132 MB/s D. 164 MB/s:C考查总线这个知识点。根据上面的笔记,总线带宽 总线位宽总线频率/8=3233/8132MB/s。3、2007 年 26 题某存储器数据总线宽度为 32bit,存取周期为 250ns,则该存储器带宽为 (26) 。 (注:本题答案中的 B 表示Byte)(26)A. 8106B/s B. 16106B/s C. 16108B/s D. 32106B/s:B考查总线这个知识点。存储器带宽即总线带宽,总线频率为:1/250ns=4106存储器带宽为:324106/816106B/s4、2007 年 27 题处理机

12、主要由处理器、存储器和总线组成,总线包括 (27) 。(27)A. 数据总线、串行总线、逻辑总线、物理总线B. 并行总线、地址总线、逻辑总线、物理总线C. 并行总线、串行总线、全双工总线D. 数据总线、地址总线、控制总线:D考查总线这个知识点,基本概念的考查。5、2007 年 35 题三极管是可控的开关器件,其饱和与截止状态分别对应开关的接通和断开状态。UBE 为基极输入电压,VTH 为基极域值电压,如果 UBETH,开关应处于 (35) 状态。(35)A. 接通 B. 三态 C. 断开 D. 高阻:C考查电路中最基本的基础知识点,我觉得做不对的根本不能算嵌入式系统开发入门。6、2007 年

13、36 题如下图所示,若低位地址(A0-A11)接在内存芯片地址引脚上,高位地址(A12-A19)进行片选译码(其中,A14和 A16 没有参加译码) ,且片选信号低电平有效,则对下图所示的译码器,不属于此译码空间的地址为 (36) 。(36)A. AB000HABFFFH B. BB000HBBFFFHC. EF000HEFFFFH D. FE000HFEFFFH:D考查数字电路中译码知识和存储系统中统一编址的问题,相对来说,这个题目有点难度,但是对于学习过和亲身做过单片机的兄弟来说,最基本不过了。7、2007 年 46 题(46) 完全把系统软件和硬件部分隔离开来,从而大大提高了系统的可移植

14、性。(46)A. 硬件抽象层 B. 驱动映射层 C. 硬件交互层 D. 中间层:A考查嵌入式系统组成中的概念。8、2006 年 3 题设指令由取指、分析、执行 3 个子部件完成,每个子部件的工作周期为t,采用常规标量单流水线处理机。若连续执行 10 条指令,则共需要时间(3)t。(3)A.8 B.10 C.12 D.14:C考查流水线技术知识点。3(101)1129、2006 年 4、5 题某计算机的时钟频率为 400MHz,测试计算机的程序使用 4 种类型的指令。每种指令的数量及所需要的指令时钟数(CPI)如下表所示,则该计算机的指令平均时钟数为(4) ;该计算机的运算速度为(5)MIPS。

15、指令类型 指令数目(条) 每条指令需要的时钟数1 160000 12 30000 23 24000 44 16000 8(4)A.1.85 B.1.93 C.2.36 D.3.75(5)A.106.7 B.169.5 C.207.3 D.216.2:B、C考查指令运行方面的简单计算。平均时钟数(160000230000424000816000)/(160000300002400016000)1.93MIPS 是指每秒种执行多少百万条指令,即 106。计算机的运行数度为:400/1.93=207.25=207.3MIPS9、2006 年 12 题计算机要对声音信号进行处理时,必须将它转换为数字声

16、音信号。最基本的声音信号数字化方法时取样量化法。若量化后的每个声音样本用 2 个字节表示,则量化分辨率是(12)(12)A.1/2 B.1/1024 C.1/65536 D.1/131072:C考查声音编码种量化计算的知识点。2 个字节是 16 位,其量化分辨率位 1/10161/65536。10、2006 年 13 题某幅图像具有 640460 个象素点,若每个象素具有 8 位的颜色深度,则可表示(13)种不同的颜色,经过5:1 压缩后,其图像数据需要占用(14) (Byte)的存储空间。(13)A.8 B.256 C.512 D.1024(14)A.61440 B.307200 C.384

17、000 D.3072000:B、A考查图像数据存储计算的知识点。8 位颜色深度可以表示 28256 种颜色深度。经过 5:1 压缩后的数据大小为:6404808/8/561440。11、2006 年 23 题若某逻辑门输入 A、B 和输出 F 的波形如下图所示,则 F(A,B)的表达式为(23)(23) A.F=A B B.F=A+B C.F=A 异或 B D.F=A(B 的非)_ _A_| |_| |_B_| |_F_| |_:C考查数字电路的最基本知识点,我觉得这个都搞不清楚很难通过这个考试。12、2006 年 24 题一个 4 位的二进制计数器,由 0000 状态开始,经过 25 个时钟

18、脉冲后,该计数器的状态为 24(24) A.1100 B.1000 C.1001 D.1010:C考查数字电路的最基本知识点,相对上面一题有点难,需要对计数器的工作原理有比较清楚的理解。这个也是搞嵌入式系统的基础中的基础,参考教程 38 页或相关的数电书籍。4 位的计数器,其计数范围是 2416,0000 开始经过 16 个时钟脉冲之后又回到了开始的状态 0000。25169,所以说经过 25 个时钟之后,其计数器的数值应该是 91001。13、2006 年 25 题稳压二极管构成的稳压电路的接法是(25)(25) A.稳压管与负载电阻串联。B.稳压管与限流电阻并联。C.限流电阻与稳压管串联后

19、,在与负载电阻串联。D.限流电阻与稳压管串联后,在与负载电阻并联。:D考查模拟电路的最基本知识点,实在太简单,不知道从那里开始分析了。14、2006 年 26 题以下叙述中,不符合 RISC 指令系统特点的是(26)(26) A.指令长度固定,指令种类少。B.寻址方式种类丰富,指令功能尽量增强。C.设置大量通用寄存器,访问存储器指令简单。D.选取使用频率较高的一些简单指令。:B考查 RISC 与 CICS 的区别,考生应该清楚他们的区别,参加教程 22 页。15、2006 年 27 题通常所说的 32 位微处理器是指(27)(27) A.地址总线的宽度为 32 位 B.处理器数据长度只能为 3

20、2 位C.CPU 字长为 32 位 D.通用寄存器数目为 32 位:C考查字长的概念和总线宽度的理解,参加教程 25 页。16、2006 年 28 题在 32 位总线系统中,若时钟频率为 500MHz,传送一个 32 位字需要 5 个时钟周期,则该总线系统的数据传送速率为(28)MB/s。(28) A.200 B.400 C.600 D.800:B考查总线和数据传输方面的知识点。5 个时钟周期可以传送 4 个 Byte。每秒中可以传送:4(500/5)400MB/s。17、2006 年 30 题评价一个计算机系统时,通常主要使用(30)来衡量系统的可靠性。(30) A.评价响应时间B.平均无故

21、障时间(MTBF)C.平均修复时间D.数据处理速率:B考查嵌入式系统性能评价中重要知识点。看过了就会做,每什么分析的,参见教程 77 页。小结就我个人的意见,从内容来看,嵌入式系统基础知识的范围很广,知识点很多,而且没有很强的逻辑性,显得比较凌乱,很难将他们有序的组织在一起。但是也不要害怕,内容虽然多而乱,但是考试的题目都比较简单,有些题目几乎是所见即所得。只要你做过嵌入式或者单片机方面的工作,你都能做出来。一些计算的题目也是一些基本概念的延伸。通过分析历年的真题,一方面可以把握考试的出题方式和考试难度,同时可以把握这部分内容的出题方向和复习的方法。从两年的考试题目数量分布来看,06 年 10

22、 道,07 年 7 道,数量有所较少,但是我觉得这不是一个趋势,08 年应该不会少于 7 道题目的。这部分在嵌入式系统设计里面是相当重要的,有一个良好的基础才能做好下面的事情。如果复习得好,将这 7、8 分题目拿到手,那么你离 45 分左右的及格线又迈进了一大步了。祝准备考试的朋友,考试顺顺利利。嵌入式系统设计师考试笔记之嵌入式微处理器一、引言嵌入式微处理器是嵌入式系统的核心器件,深入理解嵌入式微处理器的工作原理,组成结构、体系结构以及软件编程等方面,无论对嵌入式设计师考试的准备还是对嵌入式项目的开发都有一定的帮助。在目前白花盛放的嵌入式微处理器市场,各种各样大大小小的嵌入式微处理器就像菜市场

23、里面的青菜一样。要对各种嵌入式微处理器都有深入的理解几乎是不可能的。但是万变不离其中,在总多的嵌入式微处理器中都有着共同的概念、原理与规律。我们要做的是分析嵌入式微处理器的基本结构、基本工作原理、体系结构、市场发展趋势、各种微处理器的特点与应用场合等等。我个人觉得,面对全国的考试,其考点应该是大家都应该去掌握的一些共有的基本知识,或者是大家都熟悉,流行程度甚广的一些微处理器的使用,而不是一些个性化的知识点或者偏门器件的使用。二、复习笔记1. 嵌入式微处理器的基本结构(1)嵌入式硬件系统一般由嵌入式微处理器、存储器和输入/输出部分组成。(2)嵌入式微处理器是嵌入式硬件系统的核心,通常由控制单元、

24、算术逻辑单元和寄存器 3 大部分组成:A、控制单元:主要负责取指、译码和取数等基本操作并发送主要的控制指令。B、算术逻辑单元:主要处理数值型数据和进行逻辑运算工作。C、寄存器:用于暂存临时性的数据。2. 嵌入式微处理器的分类(根据用途)(1)嵌入式微控制器(MCU):又称为单片机,片上外设资源一般比较丰富,适合于控制。最大的特点是单片化,体积小,功耗和成本低,可靠性高。目前约占 70%的市场份额。(2)嵌入式微处理器(EMPU):又称为单板机,由通用计算机中的 CPU 发展而来,它的特征是具有 32 位以上的处理器,具有较高的性能。通常嵌入式微处理器把 CPU、ROM、RAM 及 I/O 等模

25、块做到同一个芯片上。(3)嵌入式 DSP 处理器(DSP):专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,使其处理速度比最快的 CPU 还快 1050 倍,在数字滤波、FFT、频谱分析等方面获得了大量的应用。(4)嵌入式片上系统(SOC):追求产品系统最大包容的集成器件,其最大的特点是成功实现了软硬件的无缝结合,直接在微处理器片内嵌入操作系统的代码模块。3. 典型 8 位微处理器的结构和特点该部分参考教程8694 页,以 8051 为重点,彻底搞清楚 8 位单片机的工作原理,外设控制、存储分布、寻址方式以及典型应用。2007 年 11 月下午的第一道题目就考查了 80

26、51 的定时器使用、外部时钟连接、实际应用的流程设计以及典型的寻址方式。这些考点几乎可以在教程上找到,例如外部时钟连接那个问题的答案就是教程89 页上面的原图。4. 典型 16 位微处理器的结构和特点该部分参考教程9497 页。典型的微处理器可以参考 MSP430,找一本这方面的书看看关于 MSP430 的结构原理以及典型应用。5. 典型 32 位微处理器的结构和特点该部分参考教程97112 页。32 位处理器采用 32 位的地址和数据总线,其地址空间达到了 2324GB。目前主流的 32 位嵌入式处理器系统主要有 ARM 系列、MIPS 系列、PoewrPC 系列等。ARM 微处理器体系结构

27、目前被公认为是嵌入式应用领域领先的 32 位嵌入式 RISC 处理器结构。按照目前的发展形式,ARM 几乎成了嵌入式应用的代名词。按照我个人的意见,作为嵌入式系统设计师考试,逐渐增加考查 ARM 体系结构与编程方面的题目是大势所趋。2006 年没有一道关于 ARM 的题目,2007 年出了少量题目,可能在 2008 年会继续增加。在下午题方面,2006年考查了 X86 方面的应用、2007 年考查了 8051 方面的应用,这个可能是一个过度过程,以目前 ARM 在嵌入式领域的广泛应用和普及程度,下午题目考查 ARM 应用方面或者 32 位其他的微处理器方面的应用题目可能在不就将来的考试中就会出

28、现。6、单片机系统的基本概念(1)单片机组成:中央处理器、存储器、I/O 设备。(2)存储器:物理实质是一组或多组具备数据输入/输出和数据存储功能的集成电路,用于充当设备缓存或保存固定的程序及数据。A、ROM(只读存储器):一般用于存放固定的程序或数据表格等,数据在掉电后仍然会保留下来。B、RAM(随机存储器):用于暂存程序和数据、中间计算结果,或用作堆栈用等,数据在掉电后就会丢失。(3)I/O 端口:单片机与外界联系的通道,它可以对各类外部信号(开关量、模拟量、频率信号)进行检测、判断、处理,并可控制各类外部设备。现在的单片机 I/O 口已经集成了更多的特性和功能,对 I/O 端口的功能进行

29、了拓展和复用,例如外部中断、ADC 检测以及 PWM 输出等等。(4)输出电平:高电平电压(输出“1”时)和低电平电压(输出“0”时)A、TTL 电平:正逻辑,5V 为逻辑正,0V 为逻辑负,例如单片机的输出。B、RS232 电平:负逻辑,12V 为逻辑正,12V 为逻辑负,例如 PC 的输出。注:因此在单片机和 PC 进行通讯的时候需要一个 MAX232 芯片进行电平转换。(5)堆栈:它是一种线性的数据结构,是一个只有一个进出口的一维空间。A、堆栈特性:后进先出(LIFO)B、堆栈指针:用于指示栈顶的位置(地址) ,当发生压栈或者出栈操作时,导致栈顶位置变化时,堆栈指针会随之变化。C、堆栈操

30、作:压栈操作(PUSH)和出栈操作(POP) 。D、堆栈类型:“向上生长”型堆栈,每次压栈时堆栈指针加 1;“向下生长”型堆栈,每次压栈堆栈时指针减1。E、堆栈应用:调用子程序、响应中断时,堆栈用于保护现场;还可以用作临时数据缓冲区来使用。F、使用注意:堆栈溢出问题,压栈和出栈的匹配问题。(6)定时/计数器:实质都是计数器。用作定时器时是对单片机内部的时钟脉冲进行计数,而在用作计数器时是对单片机外部的输入脉冲进行计数,其作用如下:A、计时、定时或延时控制;B、脉冲技术;C、测量脉冲宽度或频率(捕获功能)(7)中断:优先级更高的事件发生,打断优先级低的时间进程。引起中断的事件称为中断源。一个单片

31、机可能支持多个中断源,这些中断源可以分为可屏蔽中断和非可屏蔽中断,而这些中断源并不都是系统工作所需的,我们可以根据系统需求屏蔽那些不需要的中断源。A、中断嵌套:当一个低级中断尚未执行完毕,又发生了一个高级优先级的中断,系统转而执行高级中断服务程序,待处理完高级中断后再回过头来执行低级中断服务程序。B、中断响应时间是指从发出中断请求到进入中断处理所用的时间;中断处理时间是指中断处理开始到中断处理结束的时间。C、中断响应过程:a、保护现场:将当前地址、累加器 ACC、状态寄存器保存到堆栈中。b、切换 PC 指针:根据不同的中断源所产生的中断,切换到相应的入口地址。c、执行中断服务处理程序。d、恢复

32、现场:将保存在堆栈中的主程序地址、累加器 ACC、状态寄存器恢复。e、中断返回:从中断处返回到主程序,继续执行。D、中断入口地址:单片机为每个中断源分配了不同的中断入口地址,也称为中断向量。(8)复位:通过外部电路给单片机的复位引进一个复位信号,让系统重新开始运行。A、复位发生时的动作:a、PC 指针从起始位置开始执行(大多数单片机都时从 0x0000 处开始执行) 。b、I/O 端口设置成缺省状态(高阻态、或者输出低电平) 。c、部分专用控制寄存器 SFR 恢复到缺省状态。d、普通 RAM 不变(如果时上电复位,则是随即数) 。B、两种不同的复位启动方式:a、冷启动:也叫上电复位,指在断电状

33、态下给系统加电,让系统开始正常运行。b、热启动:在不断电的状态下,给单片机复位引进一个复位信号,让系统重新开始。C、两种类型的复位电路:高电平复位和低电平复位。D 注意事项:a、注意复位信号的电平状态及持续时间必须满足系统要求。b、注意避免复位信号抖动。(9)时钟电路:单片机是一种时序电路,必须提供脉冲电路才能正常工作。时钟电路相当于单片机的心脏,它的每一次跳动(振动节拍)都控制着单片机的工作节奏。振荡得慢时,系统工作速度就慢,振荡得快时,系统工作速度就快(功耗也增大) 。A、振荡周期:振荡源的振荡节拍。B、机器周期:单片机完成一个基本操作需要的振荡周期(节拍) 。C、指令周期:执行一条指令需

34、要几个机器周期。不同的指令需要的机器周期数不同。7、ARM 体系结构的基本概念(1)ARM:Advanced RISC Machine。(2)ARM 体系结构中支持两种指令集:ARM 指令集和 Thumb 指令集。(3)ARM 内核有 T、D、M、I 四个功能模块:A、T 模块:表示 16 位 Thumb,可以在兼顾性能的同时减少代码尺寸。B、D 模块:表示 Debug,内核中放置了用于调试的结构,通常为一个边界扫描链 JTAG。C、M 模块:表示 8 位乘法器。D、I 模块:表示 EmbeddedICE Logic,用于实时断点观测及变量观测的逻辑电路部分。(4)ARM 处理器有 7 种运行

35、模式:A、用户模式(User):正常程序执行模式,用于应用程序。D、快速中断模式(FIQ):快速中断处理,用于高速数据传输和通道处理。C、外部中断模式(IRQ):用于通用的中断处理。D、管理模式(SVE):供操作系统使用的一种保护模式。E、数据访问中止模式(Abort):用于虚拟存储及存储保护。F、未定义指令中止模式(Undefined):当未定义指令执行时进入该模式。G、系统模式(System):用于运行特权级的操作系统任务。除了用户模式之外的其他 6 种处理器模式称为特权模式,在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式切换,其中,除了系统模式外,其他的 5 种特权

36、模式又称为异常模式。处理器模式可以通过软件控制进行切换,也可以通过外部中断或异常处理过程进行切换。大多数的用户程序运行在用户模式下,这时,应用程序不能访问一些受操作系统保护的系统资源,应用程序也不能直接进行处理器模式切换。当需要进行处理器模式切换时,应用程序可以产生异常处理,在异常处理中进行处理器模式的切换。这种体系结构可以使操作系统控制整个系统的资源。当应用程序发生异常中断时,处理器进入相应的异常模式。在每一种异常模式种都有一组寄存器,供相应的异常处理程序使用,这样就可以保证进入异常模式时,用户模式下的寄存器不被破坏。系统模式并不是通过异常过程进入的,它和用户模式具有完全一样的寄存器,但是系

37、统模式属于特权模式,可以访问所有的系统资源,也可以直接进行处理器模式切换,它主要供操作系统任务使用。(5)ARM 处理器共有 37 个寄存器:31 个通用寄存器和 6 个状态寄存器A、通用寄存器包括 R0R15,可以分为 3 类:a、未备份寄存器 R0R7:在所有的处理器模式下,未备份寄存器都是指向同一个物理寄存器。b、备份寄存器 R8R14:对于 R8R12 来说,每个寄存器对于 2 个不同的物理寄存器,它们每次所访问的物理寄存器都与当前的处理器运行模式有关。对于 R13、R14 来说,每个寄存器对于 6 个不同的物理寄存器,其中一个是用户模式和系统模式共用。R13 在 ARM 指令种常用作

38、堆栈指针。由于处理器的每种运行模式都有自己独立的物理寄存器 R13,所有在用户应用程序的初始化部分,一般要初始化每种模式下的 R13,使其指向该运行模式的栈空间。R14 又称为连接寄存器(LR) ,在 ARM 体系种具有下面两种特殊作用:在通过 BL 或 BLX 指令调用子程序时,存放当前子程序的返回地址;在异常中断发生时,存放异常模式将要返回的地址。c、程序计数器 R15(PC) 。由于 ARM 采用了流水线机制,在三级流水线中,当正确读取了 PC 的值时,该值为当前指令地址值加 8 个字节。也就是说,PC 指向当前指令的下两条指令的地址。在 ARM 指令状态下,PC 的 0 和 1 位是

39、0,在 Thumb 指令状态下,PC 的 0 位是 0。B、程序状态寄存器a、ARM 体系结构包含 1 个当前程序状态寄存器(CPSR)和 5 个备份的程序状态寄存器(SPSR) ,使用 MSR 和 MRS指令来设置和读取这些寄存器。b、当前程序状态寄存器 CPSR:保存当前处理器状态的信息,可以在任何处理器模式下被访问。c、备份程序状态寄存器 SPSR:每一种异常处理器模式下都有一个专用的物理状态寄存器。当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容,在异常中断程序退出时,可以用 SPSR 中保存的值来恢复CPSR。d、由于用户模式和系统模式不属于异常模式,它们没有 SP

40、SR,当在这两种模式下访问 SPSR 时,结果是未知的。(6)ARM 指令的寻址方所谓寻址方式就是处理器根据指令中给出的地址信息来寻找物理地址的方式。A、立即寻址:操作数本身就在指令中给出,只要取出指令也就取到了操作数。ADDR0, R0, #1;R0R0+1B、寄存器寻址:利用寄存器中的数值作为操作数。ADDR0, R1, R2;R0R1+R2C、寄存器间接寻址:以寄存器中的值作为操作数地址,而操作数本身存放在存储器中。ADDR0, R1, R2;R0R1+R2LDRR0, R1;R0R1STRR0, R1;R1R0D、基址变址寻址:将寄存器(该寄存器一般称作基址寄存器)的内容与指令中给出的

41、地址偏移量相加,从而得到一个操作数的有效地址。LDRR0, R1, #4;R0R1+4LDRR0, R1, #4!;R0R1+4R1R1+4LDRR0, R1, #4;R0R1R1R1+4LDRR0, R1, R2!;R0R1+R2E、多寄存器寻址:一条指令可以完成多个寄存器值的传送。LDMIAR0, R1, R2, R3;R1R0R2R0+4R3R0+8F、相对寻址:以程序计数器 PC 的当前值作为基地址,指令中的地址标号作为偏移量,两者相加之后得到操作数的有效地址。BLNEXT;跳转到子程序 NEXT 处执行NEXTMOVPC, LR;从子程序返回G、堆栈寻址:支持 4 种类型的堆栈工作方

42、式:a、满递增堆栈:堆栈指针指向最后压入的数据,且由低地址向高地址生长。b、满递减堆栈:堆栈指针指向最后压入的数据,且由高地址向低地址生长。c、空递增堆栈:堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址生长。d、空递减堆栈:堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址生长。(7)ARM 的存储方法A、大端模式:数据的高字节存储在低地址中,低字节存储在高地址中。B、小端模式:数据的低字节存储在低地址中,高字节存储在高地址中。(8)ARM 中断与异常A、ARM 内核支持 7 种中断,不同的中断处于不同的处理模式,具有不同的优先级,而且每个中断都有固定的中断地址入口。当一个

43、中断发生是,相应的 R14(LR)存储中断返回地址,SPSR 存储当前程序状态寄存器 CPSR 的值。B、由于 ARM 内核支持流水线工作,LR 寄存器存储的地址可能是发生中断后面指令的地址,所以不同的中断处理完成后,必须将 LR 寄存器值经过处理后再写入 P15(PC)寄存器。C、ARM 异常的具体含义:a、复位:当处理器的复位电平有效时,产生复位异常,程序跳转到异常复位异常处理程序处执行。b、未定义的指令:当 ARM 处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可以使用该异常机制进行软件仿真。c、软件中断:该异常由执行 SWI 指令产生,可用于用户模式下的程序调用特权操作指令

44、。可使用该异常机制实现操作系统调用功能。d、指令预取中止:如果处理器预取指令的地址不存在或该地址不允许当前指令访问,存储器向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常。e、数据访问中止:如果处理器数据访问指令的目标地址不存在,或者该地址不允许当前指令访问,处理器产生数据访问中止异常。f、外部中断请求:当 ARM 外部中断请求管脚有效,而且 CPSR 中的 I 位为 0 时,产生 IRQ 异常。系统的外设可以通过该异常请求中断服务。g、快速中断请求:当 ARM 快速中断请求管脚有效,而且 CPSR 的 F 位为 0 时,产生 FIQ 异常。D、ARM 处理器对异常中断的响应过程

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

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。