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



