第一章
1.1什么是嵌入式系统(P1)
IEEE (国际电气和电子工程师协会)关于嵌入式系统的定义:嵌入式系统是“用于控 制、监视或者辅助操作机器和设备的装置”
。
1.2与通用计算机系统比较,嵌入式系统有何特点? ( P4)
1) 嵌入式系统通常是面向特定应用的;
2) 嵌入式系统功耗低、体积小、集成度高、成本低; 3) 嵌入式系统具有较长的生命周期; 4) 嵌入式系统具有固化的代码;
5) 嵌入式系统开发需要专用开发工具和环境;
6) 嵌入式系统软件需要 RTOS (实时操作系统)开发平台; 7) 嵌入式系统开发人员以应用专家为主; 8) 嵌入式系统是知识集成系统。
1.3根据嵌入式系统的复杂程度,嵌入式系统可分为哪
1) 单个微处理器;
2) 嵌入式处理器可扩展的系统; 3) 复杂的嵌入式系统;
4) 在制造或过程控制中使用的计算机系统。 1.4嵌入式处理器有哪几类?试举例说明。
1) 嵌入式微处理器(EMPU); 2) 嵌入式微控制器(EMCU); 3) 嵌入式DSP处理器(EDSP); 4) 嵌入式片上系统(ESoC)。
1.6从硬件系统来看,嵌入式系统由哪几部分组成?画出见图。
外围电路 微处理器
4类? ( P6)
(P7)
(P11)
外设
USB
LCD
键盘
其他
第二章
2.1 ARM7和ARM9基于什么体系结构,采用何种指令集?
ARM7基于冯?诺依曼体系结构,采用 RISC精简指令,兼容16位Thumb指令集;
ARM9基于哈佛体系结构,同样采用RISC精简指令,支持32位ARM指令集和16位Thumb 指令集。
22 ARM7 TDMI 中的\分别代表什么?
T:支持16位压缩指令集 Thumb。 D :支持片上 Debug。
M :内嵌硬件乘法器(Multiplier )。 I:嵌入式ICE,支持片上断点和调试点。
T变种处理器有两种工作状态:
Thumb和ARM
P25)
只要支持同版本的 ARM体系版本,基于 ARM处理器的应用软件将是兼容的。 2.3 ARM处理器有几种工作模式?各种工作模式分别有什么特点? ( 微处理器工作在 16位的Thumb指令集时,工作在 Thumb状态。 2.4 对比ARM 指令集合 Thumb指令集 Thumb指令集与ARM指令集的区别 Thumb指令集没有协处理器指令, 信号量指令以及访问 CPSR或SPSR的指令,没有 乘加指令及64位乘法指令等,且指令的第二操作数受到限制 ;除了跳转指令 B有条件执行 功能外,其它指令均为无条件执行 ;大多数Thumb数据处理指令采用 2地址格式。Thumb 指令集与ARM指令的区别一般有如下几点: 跳转指令 程序相对转移,特别是条件跳转与 ARM代码下的跳转相比,在范围上有更多的限制, 转向子程序是无条件的转移。 数据处理指令 数据处理指令是对通用寄存器进行操作,在大多数情况下,操作的结果须放入其中一 个操作数寄存器中,而不是第 3个寄存器中。 CPSR中的 数据处理操作比 ARM 状态的更少,访问寄存器 R8?R15受到一定限制。 除MOV和ADD指令访问器 R8?R15夕卜,其它数据处理指令总是更新 ALU状态标志。 访问寄存器R8?R15的Thumb数据处理指令不能更新 CPSR中的ALU状态标志。 单寄存器加载和存储指令 在Thumb状态下,单寄存器加载和存储指令只能访问寄存器 批量寄存器加载和存储指令 LDM和STM指令可以将任何范围为 R0?R7的寄存器子集加载或存储。 PUSH和POP指令使用堆栈指令 R13作为基址实现满递减堆栈。 除R0?R7夕卜,PUSH 指令还可以存储链接寄存器 R14,并且POP指令可以加载程序指令 PC。 2.5如何转换ARM 的两种工作状态? (
P25)
R0?R7。 ARM状态和Thumb状态。当ARM微处理器执行32位的指令集功能时,工作在 ARM 状态;当ARM
进入Thumb状态:当操作数寄存器的状态位(位 [0])为1时,可以执行 BX指令 的方法,使微处理器从 ARM状态切换到Thumb状态。
进入ARM状态:当操作数寄存器的状态位(位 [1])为0时,可以执行BX指令的 方法,使微处理器从 Thumb状态切换到ARM状态。
2.6 ARM7采用几级流水线? ( P27) ARM7架构采用了 3级流水线。
1) 取指:将指令从内存中取出来。
2) 译码:操作码和操作数被译码以决定执行什么功能。 3) 执行:执行已译码的指令。 ARM9采用五级流水线技术
2.7 ARM采用怎样的数据存储格式? (
P40)
ARM处理器的数据存储格式有两种:大端模式和小端模式。
大端模式:较高的有效字节存放在较低的存储器地址, 的存储器地址。
小端模式:较高的有效地址存放在较高的存储器地址, 的存储器地址。
默认情况下的存储格式是小端模式。 ARM采用单周期指令集
2.8若寄存器 R仁0x01020304,分别按小端模式和大端模式存储在 是分别列出两种模式下内存存储内容,并标出内存地址。
较低的有效字节存放在较高 较低的有效字节存放在较低
0x30000字节单元中,
大端
0x3001F~0x30018 04 01 0x30017~ 0x30010 0x3000F~ 0x30008 0x30007~ 0x30000 03 02 01 02 03 04 小端 2.9 ARM存储器的存储周期有几种类型?对应于 Cache访问和存储器访问是何存储周 期?( P41) 存储周期类型:
空闲周期。 非顺序周期。 顺序周期。
协处理器寄存器传送周期。
2.10 ARM支持哪些存储数据类型? ( P40) ARM处理器支持以下 6种数据类型:
8位有符号和无符号字节。
16位有符号和无符号半字,以 2字节的边界对齐。 32位有符号和无符号字,以 4字节的边界对齐。
2.12 ARM支持的有几种页面类型?其容量为何值?( 段(Section):大小为1MB的存储块。 大页(Large Pages):大小为64KB的存储块。 小页(Small Pages):大小为 4KB的存储块。 极小页(Tiny Pages):大小为1KB的存储块。 2.13 一级描述符可能的格式:(P49) 位 无效 粗表 段 细表 P48)
31 ~20 19 ~12 11~10 9 8~5 域 域 域 4 3 用户定义 C 用户定义 2 1 0 0 0 1 0 1 粗粒度一级页表基地址 段基址 为0 AP 为0 细粒度二级页表基址 0 0 P45) B 0 1 1 2.14 ARM 的MMU 主要实现什么功能? ( 存储管理单元(MMU)用于在CPU和物理内存之间进行地址转换。 由于是将地址从逻 辑空间映射到物理空间,因此这个转换过程一般称为内存映射。在 单元(MMU )主要完成以下工作:
虚拟存储空间到物理存储空间的映射。 存储器访问权限的控制。 设置虚拟存储空间的缓冲特性。
2.15 ARM 系统中如何完成I/O 操作? ( P54)
ARM系统中I/O采用统一编址,I/O操作通常被映射成存储器操作,即输入 储器映射的可寻址外围寄存器和中端输入的组合来实现的。
ARM系统中,存储管理
/输出是通过存
第三章
3.1 ARM支持哪几种工作模式?不同工作模式如何进行切换?( ARM微处理器支持7种工作模式:
用户模式。 快速中断模式。
夕卜部中断模式。 管理模式。 中止模式。 未定义指令模式。 系统模式。
不同的工作模式间可以相互切换,有两种方式:
1) 发生异常时,处理器自动改变
应的工作模式。
3.2 ARM寄存器的组织形式(P57)
ARM处理器共有37个寄存器,各寄存器均为 32位:
31个通用寄存器,包括程序计数器 6个状态寄存器。
根据ARM处理器不同工作模式,可将全部寄存器分成 3.3试述ARM处理器对异常中断的响应过程。
当异常发生时,处理器首先自动保存当前状态,
7组。
即返回地址存入寄存器 R14,当前寄存
ARM有7种
并执行不同特定地址的指
(P59) PC。
CPSR中M[4:0]的值,进入相应的工作模式。
CPS的M[4:0]字段写入特定的值,以进入相
2) 当处理器处于特权模式时,用指令向
P56)
器CPSR存入SPSR中,接着进入相应的工作模式,并执行特定地址的指令。 类型的异常,不同类型的异常将导致处理器进入不同的工作模式, 令。(P59)
3.4 ARM指令的编码格式和条件域(P63)
指令的编码格式 31~28 27~25 24~21 opcode 20 S 1 条件域 Z置位 Z清零 C置位 C清零 N置位 N清零 V置位 V清零 19~16 Rn 0001 15~12 Rd 0000 11~0 Op2 000000000010 含义 相等 不相等 cond
0000 001 Co nd EQ NE CS CC MI PL VS VC HI LS GE LT GT LE AL 0100 CPSR中标志位 无符号数大于或等于 无符号数小于 「 负数 正数或零 溢出 未溢出 无符号数大于 无符号数小于或等于 带符号数大于或等于 带符号数小于 带符号数大于 「 带符号数小于或等于 无条件执行 C置位Z清零 C清零Z置位 N等于V N不等于V Z清零且(N等于V) Z置位或(N不等于V) 忽略
3.5指令集的寻址方式有几种?试分别叙述其各自的特点并举例说明。
获得了操作数,这个操作数也称为立即数。
2) 寄存器寻址:在寄存器寻址方式下,寄存器的值即为操作数。
这种寻址方式,由于直接和寄存器交换数据,其执行效率较高。
(P64)
去除指令也就
1) 立即数寻址:在立即数寻址方式下, 操作数本身直接在指令中给出,
ARM指令普遍采用
3) 寄存器移位寻址:寄存器移位寻址的操作数由寄存器的数值进行相应移位而得到;
移位的方式在指令中以助记符的形式给出, 方式表示。
4) 寄存器间接寻址:寄存器中的值为操作数的物理地址,
这样的寻址方式称为寄存器
间接寻址。实际的操作数存放在存储器中,其地址由寄存器给出。
5) 基址变址寻址:将寄存器(称为基址寄存器)的值与指令中给出的偏移地址量相加, 所得的结果作
为操作数的物理地址,这样的寻址方式称为基址变址寻址。 6) 相对寻址:相对寻址同基址变址寻址相似,区别只是将程序计数器
存器,指令中的标记作为地址偏移量。
7) 多寄存器寻址:在多寄存器寻址方式中,一条指令可实现一组寄存器值的传送。
续的寄存器间用“-”连接,否则用“,”分隔。
8) 块复制寻址:块复制寻址可实现连续地址数据从存储器的某一位置复制到另一位 置。 9) 堆栈寻址:堆栈寻址用于数据栈与寄存器组之间批量数据传输。
出的数据结构,数据写入和读出内存的顺序不同, 个问题。
3.6 ARM指令集是否有移位指令?若没有如何实现移位操作? 无,通过切换至 Thumb状态,通过Thumb指令实现。 第四章
常见的嵌入式操作系统
Palm OS, Windows CE , VxWorks,口 C/OS-II , Linux. 嵌入式Linux的优势
1) Linux系统是层次结构且内核完全开放、丰富的软件资源 2) 强大的网络支持功能,完善的图形、文件管理机制 3) 内核功能强大,具有高效的性能
4) Linux具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境, 并且可以跨越嵌
入式系统开发中仿真工具的障碍 5) Linux有广泛的硬件支持特性 6) 良好的可定制性
7) 具有广泛的支持者,价格低廉 4.1嵌入式Linux的发展方向(P139)
1) 减小内核 2) 减小动态链接库
堆栈是一种后进先
适用堆栈寻址可以很好地解决这
连
PC作为基址寄
而移位的位数可用立即数或寄存器寻址
《嵌入式系统原理与接口技术》第2版复习资料整理
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)