ARM9嵌入式课后答案Word文件下载.docx
《ARM9嵌入式课后答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《ARM9嵌入式课后答案Word文件下载.docx(38页珍藏版)》请在冰豆网上搜索。
(3)与外界交互所需要的通用设备接口
7.简述cache的功能与分类。
(1)Cache是一种位于主存储器和嵌入式微处理器内核之间的快速存储器阵列,存放的是最近一段时间微处理器使用最多的程序代码和数据。
在需要进行数据读取操作时,微处理器尽可能的从Cache中读取数据,而不是从主存中读取,减小存储器(如主存和辅助存储器)给微处理器内核造成的存储器访问瓶颈,提高微处理器和主存之间的数据传输速率,使处理速度更快,实时性更强
(2)Cache一般集成在嵌入式微处理器内,可分为数据Cache、指令Cache或混合Cache,Cache的存储容量大小依不同处理器而定。
8.简述嵌入式计算机系统中间层的组成和功能。
中间层也称为硬件抽象层(HardwareAbstractLayer,HAL)或板级支持包(BoardSupportPackage,BSP),位于硬件层和软件层之间,将系统上层软件与底层硬件分离开来。
BSP作为上层软件与硬件平台之间的接口,需要为操作系统提供操作和控制具体硬件的方法。
不同的操作系统具有各自的软件层次结构,BSP需要为不同的操作系统提供特定的硬件接口形式。
BSP使上层软件开发人员无需关心底层硬件的具体情况,根据BSP层提供的接口即可进行开发。
BSP是一个介于操作系统和底层硬件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。
BSP一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置等功能。
9.简述嵌入式计算机系统系统软件层的组成和功能。
系统软件层通常包含有实时多任务操作系统(Real-timeOperationSystem,RTOS)、文件系统、图形用户接口(GraphicUserInterface,GUI)、网络系统及通用组件模块组成。
(1)嵌入式操作系统(EmbeddedOperatingSystem,EOS)
EOS负责嵌入式系统的软件、硬件的资源分配、任务调度,控制协调。
(2)文件系统
嵌入式文件系统与通用操作系统的文件系统不完全相同,主要提供文件存储、检索和更新等功能,一般不提供保护和加密等安全机制。
(3)图形用户接口(GUI)
GUI使用户可以通过窗口、菜单、按键等方式来方便地操作计算机或者嵌入式系统。
10.简述RTOS的定义与特点。
RTOS是指能够在指定或者确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统,系统能够处理和存储控制系统所需要的大量数据。
特点:
(1)约束性
RTOS任务的约束包括时间约束、资源约束、执行顺序约束和性能约束。
(2)可预测性
可预测性是指RTOS完成实时任务所需要的执行时间应是可知的。
(3)可靠性(4)交互性
11.常用的RTOS调度技术有哪些?
各有什么特点?
(1)抢占式调度和非抢占式调度
抢占式调度通常是优先级驱动的调度。
每个任务都有优先级,任何时候具有最高优先级且已启动的任务先执行。
抢占式调度实时性好、反应快,调度算法相对简单,可优先保证高优先级任务的时间约束,其缺点是上下文切换多。
而非抢占式调度是指不允许任务在执行期间被中断,任务一旦占用微处理器就必须执行完毕或自愿放弃,其优点是上下文切换少,缺点是微处理器有效资源利用率低,可调度性不好。
(2)静态表驱动策略和优先级驱动策略
静态表驱动策略是一种离线调度策略,指在系统运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表。
在系统运行时,调度器只需根据这张时刻表启动相应的任务即可。
优先级驱动策略指按照任务优先级的高低确定任务的执行顺序。
优先级驱动策略又分为静态优先级调度策略和动态优先级调度策略。
静态优先级调度是指任务的优先级分配好之后,在任务的运行过程中,优先级不会发生改变。
静态优先级调度又称为固定优先级调度。
动态优先级调度是指任务的优先级可以随着时间或系统状态的变化而发生变化。
12.冯诺依曼结构与哈佛结构各有什么特点?
(1)哈佛结构的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址、独立访问。
(2)冯·
诺依曼结构的计算机由CPU和存储器构成,其程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置;
采用单一的地址及数据总线,程序指令和数据的宽度相同。
程序计数器(PC)是CPU内部指示指令和数据的存储位置的寄存器
13.RISC架构与CISC架构相比有什么优点?
复杂指令集计算机(ComplexInstructionSetComputer,CISC);
精简指令集计算机(ReducedInstructionSetComputer,RISC)
RISC优点:
(1)结构更加简单合理,从而提高运算效率;
(2)优先选取使用频率最高的、很有用但不复杂的指令,避免使用复杂指令;
(3)固定指令长度,减少指令格式和寻址方式种类;
(4)指令之间各字段的划分比较一致,各字段的功能也比较规整;
(5)采用Load/Store指令访问存储器,其余指令的操作都在寄存器之间进行;
(6)增加CPU中通用寄存器数量,算术逻辑运算指令的操作数都在通用寄存器中存取;
(7)大部分指令控制在一个或小于一个机器周期内完成;
(8)以硬布线控制逻辑为主,不用或少用微码控制;
(9)采用高级语言编程,重视编译优化工作,以减少程序执行时间。
14.简述流水线技术的基本概念。
流水线技术的基本概念是将一个重复的时序分解成若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。
15.试说明指令流水线的执行过程。
在流水线技术中,流水线要求可分成若干相互联系的子过程,实现子过程的功能所需时间尽可能相等。
形成流水处理,需要一段准备时间。
指令流发生不能顺序执行时,会使流水线过程中断,再形成流水线过程则需要时间。
(执行、取操作数、指令译码、取指令)
16.大端存储法与小端存储法有什么不同?
对存储数据有什么要求与影响?
小端:
较高的有效字节存放在较高的的存储器地址,较低的有效字节存放在较低的存储器地址。
大端:
较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。
第二章
1、ARM微处理器的特点
A体积小、低功耗、低成本、高性能;
B支持Thumb(16位)/ARM(犯位)双指令集,能很好地兼容8位/16位器件;
C大量使用寄存器,指令执行速度更快;
D大多数数据操作都在寄存器中完成;
E寻址方式灵活简单、执行效率高。
2、画出ARM体系结构方框图,并说明各部分功能(23)
1.ALU
ARM体系结构的ALU与常用的ALU逻辑结构基本相同,由两个操作数锁存器、加法器、逻辑功能、结果及零检测逻辑构成。
ALU的最小数据通路周期包含寄存器读时间、移位器延迟、ALU延迟、寄存器写建立时间、双相时钟间非重叠时间等几部分。
2.桶形移位寄存器
ARM采用了32×
32位桶形移位寄存器,左移/右移n位、环移n位和算术右移n位等都可以一次完成,可以有效的减少移位的延迟时间。
在桶形移位寄存器中,所有的输入端通过交叉开关(Crossbar)与所有的输出端相连。
交叉开关采用NMOS晶体管来实现。
3.高速乘法器
ARM为了提高运算速度,采用两位乘法的方法,2位乘法可根据乘数的2位来实现“加-移位”运算。
ARM的高速乘法器采用32×
8位的结构,完成32×
2位乘法也只需5个时钟周期
4.浮点部件
在ARM体系结构中,浮点部件作为选件可根据需要选用,FPA10浮点加速器以协处理器方式与ARM相连,并通过协处理器指令的解释来执行。
浮点的Load/Store指令使用频度要达到67%,故FPA10内部也采用Load/Store结构,有8个80位浮点寄存器组,指令执行也采用流水线结构。
5.控制器
ARM的控制器采用硬接线的可编程逻辑阵列PLA,其输入端有14根、输出端有40根,分散控制Load/Store多路、乘法器、协处理器以及地址、寄存器ALU和移位器。
6.寄存器
ARM内含37个寄存器,包括31个通用32位寄存器和6个状态寄存器
7、分析ARM11的内核结构(P26)
8、分析cortex-M4处理器内部结构(P33)
14、ARM微处理器支持哪几种运行模式?
各运行模式有什么特点?
答:
1)用户模式:
ARM处理器正常程序执行模式;
2)快速中断模式:
用于高速数据传输或通道处理;
3)外部中断模式:
用于通用的中断处理;
4)管理模式:
操作系统使用的保护模式;
5)数据访问终止模式:
当数据或指令预取终止时进入该模式,可用于虚拟存储
及存储保护;
6)系统模式:
运行具有特权的操作系统任务;
7)未定义指令中止模式:
当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。
15、RM微处理器有哪几种工作状态?
各工作状态有什么特点
答:
ARM处理器有32位ARM和16位Thumb两种工作状态。
在32位ARM状态下执行字对齐的ARM指在16位Thumb状态下执行半字对齐的Thumb指令。
16、试分析ARM寄存器组织结构图,并说明寄存器分组与功能。
1.通用寄存器
通用寄存器(R0~R15)可分成不分组寄存器R0~R7、分组寄存器R8~R14和程序计数器R15三类。
(1)不分组寄存器R0~R7
不分组寄存器R0~R7是真正的通用寄存器,可以工作在所有的处理器模式下,
没有隐含的特殊用途。
(2)分组寄存器R8~R14
分组寄存器R8~R14取决于当前的处理器模式,每种模式有专用的分组寄存器
用于快速异常处理
(3)程序计数器R15
读程序计数器:
读PC主要用于快速地对临近的指令和数据进行位置无关寻址,包括程序中
的位置无关转移。
写程序计数器:
写R15的通常结果是将写到R15中的值作为指令地址,并以此地址发生转
移。
2程序状态寄存器
寄存器R16用作程序状态寄存器CPSR(当前程序状态寄存器)。
在所有处理器模式下都可
以访问CPSR。
17、简述程序状态寄存器的位功能
(1)条件码标志
N、Z、C、V均为条件码标志位,它们的内容可被算术或逻辑运算的结果所改变,并且可以决定某条指令是否被执行。
CPSR中的条件码标志可由大多数指令检测以决定指令是否执行。
条件码标志的通常含义如下:
●N:
如果结果是带符号二进制补码,若结果为负数,则N=1;
若结果为正数或0,则N=0。
●Z:
若指令的结果为0,则置1,否则置0。
C:
可用如下4种方法之一设置:
一-加法(包括比较指令CMN)。
若加法产生进位(即无符号溢出),则C置1;
否则置0。
一-减法(包括比较指令CMP)。
若减法产生借位(即无符号溢出),则C置0;
否则置1。
一-对于结合移位操作的非加法/减法指令,C置为移出值的最后1位。
一-对于其他非加法/减法指令,C通常不改变。
●V:
可用如下两种方法设置,即
一-对于加法或减法指令,当发生带符号溢出时,V置1,认为操作数和结果是补码形式的带符号整数。
一-对于非加法/减法指令,V通常不改变。
(2)控制位
程序状态寄存器PSR(ProgramStatusRegister)的最低8位I、F、T和M[4:
0]用作控制位。
当异常出现时改变控制位。
处理器在特权模式下时也可由软件改变。
⏹a.中断禁止位
I:
置1,则禁止IRQ中断;
F:
置1,则禁止FIQ中断。
⏹b.T位
T=0指示ARM执行;
T=1指示Thumb执行。
⏹c.模式控制位
M4、M3、M2、Ml和M0(M[4:
0])是模式位,决定处理器的工作模式。
20、ARM体系结构支持几种类型的异常,并说明其异常处理模式和优先级状态?
21、简述异常类型的含义
⏹
(1)复位
⏹当处理器的复位电平有效时,产生复位异常,ARM处理器立刻停止执行当前指令。
(2)未定义指令异常
⏹当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。
(3)软件中断异常(SoftWareInterrupt,SWI)
⏹软件中断异常由执行SWI指令产生,可使用该异常机制实现系统功能调用,用于用户模式下的程序调用特权操作指令,以请求特定的管理(操作系统)函数。
⏹(4)指令预取中止
⏹若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出存储器中止(Abort)信号,但当预取的指令被执行时,才会产生指令预取中止异常。
⏹(5)数据中止(数据访问存储器中止)
⏹若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常。
⏹(6)外部中断请求(IRQ)异常
⏹当处理器的外部中断请求引脚有效,且CPSR中的I位为0时,产生IRQ异常。
系统的外设可通过该异常请求中断服务。
IRQ异常的优先级比FIQ异常的低。
当进入FIQ处理时,会屏蔽掉IRQ异常。
⏹(7)快速中断请求(FIQ)异常
⏹当处理器的快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常。
FIQ支持数据传送和通道处理,并有足够的私有寄存器。
22、简述ARM微处理器处理异常的操作过程。
1、将下一条指令的地址存入相应连接寄存器LR
2、2、将CPSR复制到相应的SPSR中。
3、根据异常类型,强制设置CPSR的运行模式位。
4、强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。
5)
从异常返回
24、说明存储器映射I/O的特点。
I/O口使用特定的存储器地址,当从这些地址加载(用于输入)或向这些地址存储(用于输出)时,完成I/O功能。
加载和存储也可用于执行控制功能,代替或者附加到正常的输入或输出功能。
然而,存储器映射I/O位置的行为通常不同于对一个正常存储器位置所期望的行为。
例如,从一个正常存储器位置两次连续的加载,每次返回的值相同。
而对于存储器映射I/O位置,第2次加载的返回值可以不同于第1次加载的返回值
43、简述ARMAMBA接口结构与功能。
AMBA有AHB(AdvancedHigh-performanceBus,先进高性能总线)、ASB(AdvancedSystemBus,先进系统总线)和APB(AdvancedPeripheralBus,先进外围总线)等三类总线。
⏹ASB是目前ARM常用的系统总线,用来连接高性能系统模块,支持突发(Burst)方式数据传送。
⏹AHB不但支持突发方式的数据传送,还支持分离式总线事务处理,以进一步提高总线的利用效率。
特别在高性能的ARM架构系统中,AHB有逐步取代ASB的趋势,例如在ARM1020E处理器核中。
⏹APB为外围宏单元提供了简单的接口,也可以把APB看作ASB的余部。
⏹AMBA通过测试接口控制器TIC(TestInterfaceController)提供了模块测试的途径,允许外部测试者作为ASB总线的主设备来分别测试AMBA上的各个模块。
⏹AMBA中的宏单元也可以通过JTAG方式进行测试。
虽然AMBA的测试方式通用性稍差些,但其通过并行口的测试比JTAG的测试代价也要低些。
44.简述ARMJTAG调试接口结构、电路与功能。
ARMJTAG调试接口的结构如图2.7.2所示。
它由测试访问端口TAP(TestAccessPort)控制器、旁路(Bypass)寄存器、指令寄存器、数据寄存器以及与JTAG接口兼容的ARM架构处理器组成。
处理器的每个引脚都有一个移位寄存单元(边界扫描单元(BSC,BoundaryScanCell)),它将JTAG电路与处理器核逻辑电路联系起来,同时,隔离了处理器核逻辑电路与芯片引脚。
所有边界扫描单元构成了边界扫描寄存器BSR,该寄存器电路仅在进行JTAG测试时有效,在处理器核正常工作时无效。
(1)JTAG的控制寄存器
①测试访问端口TAP控制器对嵌入在ARM处理器核内部的测试功能电路进行访问控制,是一个同步状态机。
通过测试模式选择TMS和时钟信号TCK来控制其状态转移,实现IEEE1149.1标准所确定的测试逻辑电路的工作时序。
②指令寄存器是串行移位寄存器,通过它可以串行输入执行各种操作的指令。
③数据寄存器组是一组串行移位寄存器。
操作指令被串行装入由当前指令所选择的数据寄存器,随着操作的进行,测试结果被串行移出
第三章
2简述S3C2410A存储器控制器的特性。
特性:
●支持小/大端(通过软件选择)。
●地址空间:
每个bank有128MB(总共有8个bank,共1GB)。
●除bank0只能是16/32位宽之外,其他bank都具有可编程的访问位宽(8/16/32位)。
●总共有8个存储器bank(bank0~bank7):
一其中6个用于ROM,SRAM等;
一剩下2个用于ROM,SRAM,SDRAM等。
●7个固定的存储器bank(bank0~bank6)起始地址。
●最后一个bank(bank7)的起始地址是可调整的。
●最后两个bank(bank6和bank7)的大小是可编程的。
●所有存储器bank的访问周期都是可编程的。
●总线访问周期可以通过插入外部等待来扩展。
●支持SDRAM的自刷新和掉电模式。
3画出S3C2410A复位后的存储器映射图,并分析不同存储器的地址范围。
(P69-70)
S3C2410A复位后,存储器的映射情况如图3.2.1所示,bank6和bank7对应不同大小存储器时的地址范围参见表3.2.1。
4试分析复位电路的工作过程。
工作过程:
在系统上电时,通过电阻R108向电容C162充电,当C162两端的电压未达到高电平的门限电压时,RESET端输出为高电平,系统处于复位状态;
当C162两端的电压达到高电平的门限电压时,RESET端输出为低电平,系统进入正常工作状态。
当用户按下按钮RESET时,C162两端的电荷被放掉,RESET端输出为高电平,系统进入复位状态,再重复以上的充电过程,系统进入正常工作状态。
6简述S3C2410A时钟电路的特点。
产生CPU所需的FCLK时钟信号。
AHB总线外围设备所需的HCLK时钟信号,以及APB总线外围设备所需的PCLK时钟信号。
微处理器的主时钟可以由外部时钟源提供,也可以由外部振荡器提供。
●OM[3:
2]=00时,MPLL和UPLL的时钟均选择外部晶体振荡器;
2]=0l时,MPLL的时钟选择外部晶体振荡器;
UPLL选择外部时钟源
2]=10时,MPLL的时钟选择外部时钟源;
UPLL选择外部晶体振荡器;
2]=11时,MPLL和UPLL的时钟均选择外部时钟源。
7S3C2410A的电源管理模块具有哪几种工作模式?
●正常模式:
在这个模式,由于所有外围设备都处于开启状态,因此功耗达到最大。
若不需要定时器,那么用户可以断开定时器的时钟,以降低功耗
●慢速模式:
称无PLL模式,在慢速模式不使用PLL,而使用外部时钟(XTIPLL或EXTCLK)直接作为S3C2410A中的FCLK。
在这种模式下,功耗大小仅取决外部时钟的频率,功耗与PLL无关。
●空闲模式:
电源管理模块只断开CPU内核的时钟(FCLK),但仍为所有其他外围设备提供时钟。
空闲模式降低了由CPU内核产生的功耗。
任何中断请求可以从空闲模式唤醒CPU。
●掉电模式:
电源管理模块断开内部电源。
除唤醒逻辑以外,CPU和内部逻辑都不会产生功耗。
激活掉电模式需要两个独立的电源,一个电源为唤醒逻辑供电;
另一个为包括CPU在内的其他内部逻辑供电,并且这个电源开/关可以控制。
在掉电模式下,为CPU和内部逻辑供电的第二个电源将关断。
通过EINT[15:
0]或RTC报警中断可以从掉电模式唤醒S3C2410A。
13S3C2410A与配置I/O口相关的寄存器有哪些?
各自具有什么功能?
15简述ARM系统中的中断处理过程。
处理过程:
(1)保存现场。
(2)模式切换。
(3)获取中断服务子程序地址。
(4)多个中断请求处理。
(5)中断返回,恢复现场。
17试按功能对S3C2410A的中断源进行分类。
19简述采用DMA方式进行数据传输的过程。
过程:
(1)外设向DMA控制器发出DMA请求。
(2)DMA