嵌入式系统期末复习
《嵌入式系统期末复习》
嵌入式系统源于微型计算机,是嵌入到对象体系中,实现嵌入对象智能化的计算机。
嵌入式系统的定义:嵌入到对象体系中的计算机中的专用计算机应用系统。(考试时一定要答到这一点)
基本特点(3个):嵌入性内含计算机专用性
{对嵌入式系统的定义多种多样,但没有一种定义是全面的。下面给出两种比较合理定义:
从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使密耦合在一起的计算机系统。术语嵌入式反映了这些系统通常是更大系统中一个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统。(如果是简答题可以写一些)
嵌入式处理器可以分为以下几大类:
嵌入式微处理器;
嵌入式微控制器;
嵌入式DSP处理器;
嵌入式片上系统(SOC)。
嵌入式的运用领域:嵌入式系统在很多产业中得到了广泛的应用并逐步改变着这些产业,包括工业自动化、国防、运输和航天领域。例如
神州飞船和长征火箭中肯定有很多嵌入式系统,导弹的制导系统也是嵌入式系统,高档汽车中也有多达几十个嵌入式系统。
在日常生活中,人们使用各种嵌入式系统,但未必知道它们。事实上,几乎所有带有一点“智能”的家电(全自动洗衣机、电脑电饭煲…)都是嵌入式系统。嵌入式系统广泛的适应能力和多样性,使得视听、工作场所甚至健身设备中到处都有嵌入式系统。
基本概念
中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后,程序回到:
1. 在前后台系统中,程序回到后台程序;
2. 对非占先式内核而言,程序回到被中断了的任务;
3. 对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。时钟节拍
时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动。中断之间的时间间隔取决于不同应用,一般在10ms到200ms之间。时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,系统的额外开销就越大。
RISC结构特性
RISC是精简指令集计算机的缩写,其目标是设计出在高时钟
频率下单周期执行,简单而有效的指令集。ARM内核采用RISC体系结构,因此具有RISC的结构特点:
1.具有大量的通用存储器;
2.独特的装载/保存(load-store)结构;
3.简单的寻址模式;
4. 统一和固定长度的指令格式。
ARM体系结构
为了使ARM能够更好地满足嵌入式应用的需要,ARM体系结构还有以下特点:
每条数据处理指令可同时包含算术逻辑单元(ALU)的运算和移位处理,实现ALU和移位器的最大利用;
使用地址自增和自减的寻址方式优化程序循环;
装载/保存指令对数据的批量传输,实现最大数据吞吐量;
大多数指令的条件执行,实现最快速的代码执行。
存储器的字与半字
从偶数地址开始的连续2个字节构成一个半字;
以能被4整除的地址开始的连续4个字节构成一个字;
ARM指令的长度刚好是一个(字),Thumb指令的长度刚好是一个(半字)。
ARM7TDMI
PC→0x4000 ADD PC,PC,#4 执行ADD PC,PC,#4指令后,PC 0x4004 的值为多少?
0x4008
0x400C
分析:程序计数器R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或“正在译码”的指令。一般来说,人们习惯性约定将“正在执行”的指令作为参考点,则:
PC值=当前程序执行位臵+8
注:ARM状态时,每条指令为4字节长。
PC指向0x4000地址,取指ADD指令。
PC指向0x4004地址,译码ADD指令
PC指向0x4008地址,执行ADD指令,所以指令执行的结果为: PC=PC+4=0x4008+4=0x400C。。
ARM处理器状态
ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令,并且各自对应1种处理器的状态:
ARM状态:32位,处理器执行字方式的ARM指令,处理器默认为此状态;
Thumb状态:16位,处理器执行半字方式的Thumb指令。注意:两个状态之间的切换并不影响处理器模式或寄存器内容。
状态切换的一个例子
使用BX指令将ARM内核的操作状态在ARM状态和Thumb状态之间进行切换。
从ARM状态切换到Thumb状态的程序代码如下:
CODE32
LDR R0, =Lable+1 ;Lable跳转地址标号,地址最低位为1,表示切换到Thumb状态
BX R0;执行完BX指令,处理器切换到ARM状态,开始执行ARM指令
CODE16arm嵌入式系统期末考试
Lable MOV R1, #12
从状态Thumb切换到ARM状态的程序代码如下:
CODE16
LDR R0, =Lable
BX R0
CODE32
Lable MOV R1, #10
ARM处理器模式
ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。这样的好处是可以更好的支持操作系统并提高工作效率。ARM7TDMI完全支持这七种模式。
ARM内部寄存器
在ARM处理器内部共有37个用户可访问的寄存器,分成两大类,分别为31个通用32位寄存器和6个状态寄存器。
ARM处理器共有7种不同的处理器模式,每种模式都有一组相应的寄存器组,最多可以18个活动的寄存器。
寄存器R0~R7为未分组的通用寄存器,它们在任何处理器模式都对应于相同的32位物理寄存器。
寄存器R8~R12有两个分组的物理寄存器。一个用于除FIQ模式之外的所有寄存器模式,另一个用于FIQ模式。
在发生FIQ中断后,处理器不必为保护寄存器而浪费时间,从而加速了FIQ的处理速度。
寄存器R13、R14分别有6个分组的物理寄存器。1个用于用户和系统模式,其余5个分别用于5种异常模式。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。