|
[ i=0
MOV R3,#1
B EXIT
| B a ;否则跳到a
]
]
a
MOV R4,R1 ;R4=i
MOV R2,#i-1 ;R2=i-1
SUBTRACT
MUL R3,R4,R2 ;R3=R4*R2,即,R3=i*(i-1)
MOV R4,R3 ;把R3的值给R4,因为MUL指令前两个寄存器不能一样
SUB R2,R2,#1 ;R2=R2-1
CMP R2,#0 ;比较R2是否为0
BNE SUBTRACT ;不为0 则跳到SUBTRACT处
BEQ EXIT ;如果为0则跳到EXIT处
DATA
MOV R0,#0 ;用MOV 赋值
MOV R1,#i
MOV R3,#0
MOV R15,R14 ;返回
EXIT
B EXIT ;死循环
END
4.8用汇编语言编写一个函数实现数据块复制的功能,以字为单位。
答:
AREA EXAMPLE2,CODE,READONLY
ENTRY
LDR R0 ,=0XFF ;把地址0X10赋给R0
LDR R5,=0X0F ;把地址0X20赋给R5
START
STMIA R0,{R1-R4} ;把R1到R2的值依次赋给R0为首地址
;的内存单元中,每次赋完一次值,R0自
;动加1
LDMIA R5,{R1-R4} ;把R1到R4的值依次赋给以R5为首地
;址的内存单元中,R5每次自动加1
STOP
B STOP ;死循环
END
4.9举例说明在高速缓存命中率低时对程序性能的影响。
答:高速缓存的命中率随缓冲区的增加而提高。高速缓存的命中减少了对磁盘的访问,并因此提高了系统的整体性能。如果高速缓存的命中率降低,高速缓存对CPU的有效访问就会减弱,系统运行就会变慢,程序的运行就会变慢。
第1章
(1)嵌入式系统的定义是什么?嵌入式系统具有哪些主要特点? 目前最通用的定义为:“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。” 答:更为广泛的概念:“除通用计算机系统外,一切智能的电子设备都属于嵌入式设备”。 主要特点如下:
? 在硬件上,嵌入式系统至少拥有一个高性能处理器作为硬件平台(目前以32位处理器为主流),如ARM、MIPS等处理器。
? 在软件上,嵌入式系统拥有一个多任务操作系统为软件系统平台,如Linux、WinCE、Symbian、μc/osII、VxWork等。
(2)嵌入式系统与传统的单片机系统在软件和硬件上有哪些主要的不同? 答:
(1)在硬件上,嵌入式系统至少拥有一个高性能处理器作为硬件平台,而单片机系统一般为8位处理器和16位处理器。
(2)在软件上,嵌入式系统拥有一个多任务操作系统为软件系统平台,单片机系统则一般为单任务软件。
(3)常见的处理器有哪些类型,各有什么特点。各类处理器主要应用在哪些领域? 答:
微控制器:微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器的片上外设资源一般比较丰富,适合于控制。 数字信号处理器:在系统结构和指令算法方面进行了特殊设计,数字信息信号处理器在数字滤波、FFT、谱分析等各种仪器上获得了大规模的应用。
微处理器:以最低的功耗和资源实现嵌入式应用的特殊要求。和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、低功耗、可靠性高的优点。 片上系统:主要特点包括(1)改变内部工作电压,降低芯片功耗。(2)减少芯片对外管脚数,简化制造过程。(3)减少外围驱动接口单元及电路板之间的信号传递,可以加快微处理器数据处理的速度。(4)内嵌的线路可以避免外部电路板在信号传递时所造成干扰信号。
(4)在嵌入式系统中,操作系统具有怎样主要功能和特点? 答:
? 方便用户使用,OS应该使计算机系统使用起来十分方便。
? 扩展机器功能,OS应该对系统硬件功能进行充分融合利用,扩充机器功能。 ? 管理系统资源,OS应该管理好系统中的所有硬件软件资源。
? 提高系统效率,OS应该充分利用计算机系统的资源,提高计算机系统的效率。 ? 构筑开放环境,OS应该构筑出一个开放环境。
? 支持体系结构的可伸缩性和可扩展性,支持应用程序在不同平台上的可移植性。
(5)常见的实时操作系统有哪些,各有什么特点,具体应用在哪些领域?
答:
Vxworks操作系统 WinCE操作系统 Symbian操作系统 Linux操作系统 μC/OS
(6)在设计嵌入式系统时,在选择嵌入式处理器和实时操作系统时,分别考虑哪些主要因素? 答:
在嵌入式系统设计时,以满足系统要求为依据。在选择处理器时,主要考虑功能、功耗、体积、可靠性等因素,在选择操作系统时,主要考虑操作系统的实时性,可靠性,可裁剪性等。
第2章
(1)以ARM为内核的32位微处理器主要有哪些特点,在ARM内核处理器命名上,T、D、M、I、E、S和J各代表什么意义? 答:
T表示支持16位Thumb指令集; D表示支持在线Debug;
M表示内嵌乘法器Multiplier;
I表示嵌入式ICE,支持在线断点和调试;
E表示DSP指令,支持DSP的特定指令,主要是16bit;
S表示具有可综合功能,提供VHDL或者Verilog语言设计,可以实现自己特定的硬件; J表示支持新的JAVA功能。
(2)通用计算机与嵌入式处理器各采用哪种CPU架构,这两类在CPU架构主要有哪些不同? 答:
通用计算机:采用冯诺依曼结构的微处理器的程序空间和数据是合在一起的,即取指令和取操作数都是在同一条总线上,通过时分复用的方式进行的。 大多数嵌入式处理器:采用哈佛总线结构的芯片内部程序空间和地址空间是分开的,这就允许同时取指令(来自程序空间)和同时取操作数(来自数据空间)。
(3)通用计算机与嵌入式处理器各采用哪种指令集,这两类指令集有哪些不同? 答:
通用计算机:复杂指令系统计算机(CISC)包含一个丰富的微代码系统,简化了处理器上运行程序的编制.主要有以下几个特点: ? 具有大量的指令和寻址方式;
? 大多数程序只使用少量的指令就能够运行。
绝大多数嵌入式处理器:精简指令系统计算机(RISC)有一个精简的指令系统。从而提高了微理器的效率,但需要更复杂的外部程序,也就是把在处理器层没有完成的工作放到了上层进行,而处理器层少的这些成本可以用对物理器件速度的提高上去。 RISC有下特点:
? 8/2原则:80%的程序只使用20%的指令;
? 采用Load/store指令模式,凡数据由外存到内存、内存到寄存器方向的流动统一用Load指令,而对于反方向的操作,都用store;
? 用小指令集、多寄存器、指令执行简单快速;
? 统一用单周期指令,从根本上克服了CISC指令周期数有长有短、偶发性不确定、运行失常的缺点。
(4)ARM7、ARM9内核处理器各采用几级流水线,分别是哪几级流水线结构? 答:
ARM7TDMI采用三级流水线,分另为取指令、解码指令和执行操作。
ARM9TDMI采用5级流水线结构,分别为取指令、译码、执行、存储、写操作五级。
(5)从内部结构及功能来看,ARM7、ARM9、Xscal内核处理器各自有哪些不同,主要应用在哪些领域? 答:
ARM7内部结构框图,包括Address Register(地址寄存器)、Address Incrementer(地址累加器)、Resister Bank(寄存器块)、Booth’s Multiplier(乘法器)、32位ALU单元、Write/Read Data Register(读/写数据寄存器)、逻辑控制单元等部分。没有内存管理单片。
ARM9TDMI处理器内核采用ARM V4T架构,增加了可用的存储器宽度、指令存储器接口以及数据存储器接口,可以支持16bitThumb指令集和32btiARM指令,ARM9作为高性能的32位RISC处理器内核,可以实现对指令和数据存储器的同时访问。如图2-9所示为ARM9功能结构图。主要包含以下结构: ? 16KB 指令和16KB数据缓存;
? 存储管理单元MMU,这有别于ARM7TDMI;
? 一个AMBA? (Advanced Microprocessor Bus Architecture)总线接口; ? 一个Embedded Trace Macrocell (ETM)接口。 有内存管理单元,便于移植操作系统。
第3章
(1)试列举ARM处理器工作模式,各工作模式主要完成怎么样的功能? 答:
User:用户模式。绝大部分的任务执行都在这种操作模式下,此为正常的程序执行模式。 FIQ:快速中断模式。当一个高优先级中断产生时,系统将会进入这种操作模式,用于高速数据传输和通道处理,由FIQ请求位发出请求信号。
IRQ:普通中断模式。当一个低优先级中断产生时将会进入这种操作模式,本模式用于通常的中断处理,由IRQ请求位发出请求信号。
Supervisor:管理模式。当复位或软中断指令执行时将会进入这种操作模式,是一种可以供操作系统使用的保护模式。
Abort:中止模式。当存取异常时将会进入这种操作模式,此模式可以被用作虚拟存储及存储保护,可由ABORT请求位发出请求信号。
Undef:未定义模式。当执行未定义指令时会进入这种操作模式,多被用于软件仿真硬件协处理器时。