嵌入式系统期末考点(工大相国版)_第1页
嵌入式系统期末考点(工大相国版)_第2页
嵌入式系统期末考点(工大相国版)_第3页
嵌入式系统期末考点(工大相国版)_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

14下面代码为某款ARM处理器U-Boot代码的入口部分,请完成:(1)这段代码实质上是什么?(2)注释每条指令的含义及功能,并分析使用这样功能语句的原因;(3)分析为什么使用“breset”而不是“blreset”?(1)实质上是中断向量表(2)第一条语句使用“b”跳转语句,跳转到标号“reset”处执行;其他语句使用ldr指令,把标号的地址加载到pc中,根据pc的含义,下一步即跳转到相应标号执行。ARM为每个中断向量分配32位空间,而ARM为32位系统,每条指令长度即为32位,因此,中断向量空间只能存放一条指令,为正常工作,必须使用跳转指令跳转到相应代码处执行。(3)由于“复位”中断不返回,因此使用“breset”15ARM启动过程中的一段初始化代码如虚线框中所示,其中,“当前程序状态寄存器(CurrentProgramStatusRegister:CPSR)”的位含义及部分逻辑处理指令的解释说明如下面所示。(1)请分析每条汇编语句的含义;(2)本段代码运行结束后cpsr的值为多少,分别对应什么状态?(1)见上面(2)代码运行后,cpsr低8位值为0xd3,即0b11010011;可知,系统的工作模式为“svc”,并且屏蔽中断异常(IRQ)及快速中断异常(FIQ)。1“嵌入式系统”的“专用性”含义有哪些?(1)完成特定任务;(2)功能定制、可剪裁;(3)“够用即可”的实用原则2计算机软件中的“系统软件”包括哪些?Bootloader操作系统3为什么绝大多数DSP处理器采用哈佛(Harvard)结构?哈佛结构具有独立的数据存储空间及总线,便于数据处理的高速吞吐4请问SRAM、DRAM和SDRAM分别是什么含义?SRAM表示“静态随机存储器(StaticRandomAccessMemory)”;DRAM表示“动态随机存储器(DynamicRandomAccessMemory)”;SDRAM表示“同步动态随机存储器(SynchronousDRAM)”5可以从不同角度看待一个I/O接口,比如信号线、通信协议或寄存器组,如何理解它们之间的关系?信号线提供物理通道;通信协议规定信号的编码规则及时序;寄存器为处理器访问I/O的窗口6如何理解RISC处理器的LOAD/STORE模式?RISC处理器的LOAD/STORE模式的含义是CPU对数据的操作直接在寄存器中进行,因此,需要专门的LOAD指令从内存读取数据,以及STORE指令把数据写回内存7ARM处理器的数据类型包括“字节(Byte)”,“半字(Halfword)”及“字(Word)”,请问:(1)“字节(Byte)”,“半字(Halfword)”及“字(Word)”分别是什么含义?(2)假如以“半字(Halfword)”对齐方式给某变量a分配空间,那么,a的地址有什么特点?(3)假如以“字(Word)”对齐方式给某变量a分配空间,那么,a的地址有什么特点?“字节(Byte)”数据位数为8位“半字(Halfword)”数据位数为16位;“字(Word)”数据位数为32位;地址的最低位为0地址的最低两位均为08在ARM处理器的通用寄存器中,r13,r14及r15有特殊用途,请问r13,r14及r15的别名及作用分别是什么?r13的别名“栈指针(StackPointer:SP)”,用作栈结构的栈顶指针;r14的别名“链接寄存器(Linkregister:LR)”,用于子程序执行时保存PC值;r15的别名“程序计数器(Programcounter:PC)”,指向“正在取指”的指令9在ARM处理器的寄存器使用中,“当前程序状态寄存器(CurrentProgramStatusRegister:CPSR)”和“保存程序状态寄存器(SavedProgramStatusRegister:SPSR)”之间是什么关系?当发生异常需要跳转到相应中断向量执行时,不但要保存PC的值,也需要保存状态寄存器的值,SPSR专门用于保存CPSR的值。10(1)ARM7TDMI中的T、D、M、I的含义分别是什么?(2)ARM处理器的汇编指令“MOV”和“LDR/STR”有什么区别?T:ThumbdecoderD:JTAGdebuggerM:fastmultiplierI:supporthardwaredebug(ICE)MOV指令用于将数据从一个寄存器传送到另一个寄存器中,或者将一个常数传送到一个寄存器中,但是不能访问内存。LDR/STR指令即load/store指令,用于内存与寄存器之间的数据传递操作。11在ARM处理器中,除了正常的中断(IRQ)之外还有快速中断(FIQ),请问ARM处理器为快速中断提供了哪些机制使其可以加快响应速度?并分析为什么可以加快响应速度。硬件方面,ARM处理器中为FIQ额外设计了r8-r12,使得发生中断进行数据保存时可以直接使用这些寄存器而不必使用内存,加快处理速度;软件方面,把FIQ设在中断向量表最后,直接编写FIQ服务例程而免去跳转指令12在嵌入式开发中,有“宿主机”和“目标机”之分,请问它们分别是什么含义?在嵌入式开发中,一般需要在一个正常工作的计算机系统(宿主机)上为开发中的计算机系统(目标机)进行代码的开发;正常工作用于代码开发的平台称作“宿主机”,而开发中的用于代码运行的计算机系统称作“目标机”。13Bootloader的启动过程一般可分为“Stage1”与“Stage2”,请问“Stage1”与“Stage2”的基本特点是什么?“Stage1”在ROM(flash)中执行;“Stage2”在内存中执行1:嵌入式系统的定义:以应用为中心,计算机技术为基础,软硬件可剪裁,适应应用系统对功能成本体积可靠性,功耗严格要求的计算机系统(是一个专用计算机系统)2:嵌入式系统的三个基本特点:嵌入性,专用性,内函计算机嵌入式系统的特点:专用性(最本质的特点)。嵌入型(是其表现形式)模块化“固件”专用性的三个方面:完成特定任务;功能定制,可剪裁;“能用即可”的原则专用性的含义:是指在满足对象控制要求及环境要求的软硬件裁剪性,嵌入式系统的软硬件配置必须依据嵌入对象的要求,设计成专用的嵌入式应用系统嵌入性的含义:专指计算机嵌入到对象体系中,实现对象体系的智能控制,当嵌入式系统变成一个独立的应用产品时,可将嵌入性理解为内部嵌有微处理器或计算机。模块化:大系统可由若干个小系统构成。固件:嵌入式系统上的软件通常是暂时不变的故常称为“固件”固件是指软件,是固化的ROM语言4:冯·诺依曼结构与哈佛结构各自的特点优缺点,比较,应用冯·诺依曼:也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据宽度相同。哈佛结构:是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中毒取数据,并进行下一步的操作,程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度。优缺点:冯·诺依曼采用指令和数据共享同一总线的结构,使得信息流的传输成为限制计算机性能的瓶颈,影响了数据处理进度的提高,但结构简单,成本低。哈佛结构采用指令和数据空间独立的体系结构,具有较高的执行效率,大大提到了数据吞吐率,多3条总线性能高,但结构复杂,对外围设备的链接与处理要求高不适合外围存储器的扩展。比较:两者最大的区别在于:冯·诺依曼结构的计算机采用代码和数据的统一编址而哈佛结构的计算机是独立编址的,代码空间和数据空间完全分开。应用:冯·诺依曼结构适用于通用计算机系统中,哈佛结构应用与嵌入式领域,适合于程序固化,任务相对简单的控制系统适合高性能数据处理。5:CPU结构的CISC和RISC各自的特点,及优缺点CPU从指令集的特点上可以分为两类CISC(复杂指令集计算机)和RISC(精简指令集计算机)特点:CISC:复杂指令可变指令长度多种寻址方式。RISC精简指令集,固定长度指令Load/Store内存模式,寄存器到寄存器操作模式简单的寻址方式,丰富的寄存器资源。CISC的优点:指令越多功能越强,强调代码效率,容易和高级语言接轨,可以对存储器直接操作,实现从存储器到存储器的数据转移,可加入DSP指令。缺点:指令太多不易记忆;CPU内部结构复杂造成频率不高;指令执行速度慢,RISC优点:指令少容易记忆,尽量将操作码和操作数用一个16位数或32位数表示,指令整齐,CPU时钟频率可以做的很高,指令执行速度快(电路简单,性能可靠)。缺点:同样功能的程序产生的代码量比较大;不能对存储器直接访问,不能实现存储器到存储器的数据转移(编译后,指令系统庞大)。7:CPU的位数的含义:CPU的位数是指内部寄存器的宽度,32位CPU一次只能处理32位的数据也就是4个字节的数据而64位CPU一次能处理64位即8个字节的数据(一次执行指令的数据宽度)10:Endian:端口:大端,小端有什么区别(大端,小端是计算机采用的两种字节存储机制)小端:指低字节数据存放在一个字的低地址处,高字节数据存放在一个字的高地址处;大端是高字节数据存放在一个字的低地址处,低字节存放在一个字的高地址处。11:流水线CPU内部要完成某项功能,需要从外部读取指令,译码,然后执行,齐总任何一步在执行时其它两个都处于空闲状态为节约资源由此引入流水线13什么是缓存,它属于寄存器还是内存器?缓存处于寄存器和内存器之间,严格地讲缓存是内存器的一部分,用来对内存数据进行存储。内存有地址,缓存没有地址,而且缓存的管理有专门的模块。缓存是硬盘控制器是上的一块内存芯片,具有极快的存取速度,他是硬盘内部存储和外界接口之间的缓冲器,由于硬盘的内部数据传输速度和外界传输速度不同,缓存在其中起到一个缓冲的作用。14存储器的分类:存储器分为易失型RAM和非易失型ROM。易失型包括SRAM是静态的(不能刷新)和动态DRAM;非易失型ROM包括PROM,EPROM、EEPROM、Flash(NOR、NAND)15NOR和NAND有什么区别?为什么保存芯片是要用NORflash:两者在写入时相同,读时不同。NOR可读取单个字节,而NAND不可读单个字节,每次读取可读一大串数据。故保存芯片时采用NORFlash16DRAM、SRAM、SDRAM的区别?DRAM:动态随机存取存储器。需要不断的刷新,才能保存数据。而且是行列地址复用的,许多都有页模式。SRAM:静态随机存取存储器,加电情况下,不需要刷新,数据不会丢失,而且一般不是行列地址复用。SDRAM:同步的DRAM,即数据的读写需要时钟来同步,主要是存储单元结构的不同导致容量不同。17I/O的链接与控制:一个I/O的地址是:寄存器的地址。信号线:地址线、数据线、控制线等。信号协议:按照一定的协议传输数据。寄存器:状态寄存器、控制寄存器、数据寄存器等18什么是ARM,ARM的含义?AdvancedRISCMicroprocessor高级RISC微处理器。ARM内核采用精简指令集计算机体系结构,是一款小门数的计算机。其指令集和相关的译码机制比复杂指令集计算机CISC要简单的多,目的在于设计出一套能在高时钟频率下单周期执行,简单而有效的指令集。19ARM处理器的特点:a:RISC的特点:精简指令集;固定长度指令;Load/Store内存模式;寄存器到寄存器操作模式;简单寻址模式;丰富的寄存器资源。b:ARM的特殊特点:预处理、条件执行。20TDMI各位的含义:T:支持高密度16位的Thumb指令集D:支持片上DebugM:内嵌硬件乘法器。I:嵌入式ICE,支持片上断点和调试点。21ARM的三种数据格式:8位字节、16位字节、32位字节。ARM的两个指令集:ARM指令集:32位字长度,具有最完整的功能。Thumb指令集:16位半字长度,能实现ARM指令集大部分功能。(22)ARM体系结构的扩充:Thumb16位指令集;DSP应用的算术运算指令集;允许直接执行JAVA字节码。22ARM中CPU提供了哪些机制可使它快速响应?硬件方面:快速中断的存储器;软件方面:提供快速响应的指令,少跳转。23什么是译址?把别人的东西拿来修改一下。24对齐:如果一个数据是以字方式存储的那么它就是字对齐,否则就是非字对齐的。如果一个数据是以半字方式存储的那么它就是半字对齐,否则就是非半字对齐的。以能被4整除的地址开始连续的4个字节构成一个字,字的数据类型为4个连续的字节。从偶数地址开始连续的2个字节构成一个半字,半字的数据类型为2个连续的字节。25:ARM状态下的寄存器(R13、R14、R15)名字,名字的含义,用途?R13:(堆栈指针SP)用于保存堆栈的出入口地址。含义:堆栈指针是指引程序前往堆栈内存空间的向导,这个向导始终记着出入口地址;R14(链接寄存器LR)<1>用于保存子程序返回地址<2>当异常发生时,LR中保存的值等于异常发生时PC的值减4(或者减2)因此在各种异常模式下,可以根据LR的值返回到异常发生前的相应位置继续执行。含义:子程序的返回地址将自动地存入到R14中;R15(程序计数器PC)用于存放下一条指令所在单元的地址的地方,总是指向正在“取指”的指令。26:正常的ARM指令的PC值有什么特点?正常的ARM指令是32位的,程序执行时,加载到内存,要字对齐存放,由于PC存放的是要取址的指令的地址,根据对齐的特点,PC值应是当前程序执行位加8字节。27:状态寄存器CPSR和SPSR之间的关系?a:当一个特定的异常中断发生时,将CPSR的当前值保存到相应异常模式下的SPSR,然后设置CPSR为相应的异常模式;b:从异常中断程序退出返回时,可通过保存在SPSR中的值来恢复CPSR。28:中断向量表:中断向量表的地址:00000H~03FFFH;中断向量表的内容:中断服务程序所在段内的偏移量+段基地址。什么是中断向量表:将所有的中断向量集中起来,按中断类型号从小到大的顺序存放到存储器的某一区域内,这个存放中断向量的存储区叫做中断向量表。及中断服务程序入口地址表29ARM7TDMI采用几级流水线?使用何种存储器编址方式?三级流水线(取指,译码,执行)。使用了冯·诺依曼结构,指令和数据公用一条32位总线。30中断向量表中为什么将快速中断放在最后?目的是可以将FIQ异常处理程序直接放在向量的地址上,这样再执行FIQ处理时,就可以不用进行跳转,快速响应中断。31Bootloader两个阶段的功能:第一阶段的功能:硬件设备初始化,为加载Bootloader的第二阶段代码准备RAM空间,拷贝Bootloader的第二阶段代码到RAM空间中,设置堆栈,跳转到第二阶段代码的C入口点。第二阶段的功能:初始化本阶段要使用到的硬件设备;检测系统内存映射;将内核映像和根文件系统映像从Flash上读到RAM空间中,为内核设置启动参数,调用内核。Bootloader的入口是中断向量表。32中断向量表位于存储器的位置:默认是在地址口开始存放,具体占多大空间,依选择的ARM处理器实现了多少个中断向量决定,如果需要定位到其他地方,修改中断向量表偏移地址寄存器的值即可。33为什么中断向量表里的代码是固定的?中断向量表给每个中断的空间是32位的,通常只能放下一条指令。只能将完整的程序放到其他地方,中断向量表中只放上跳转指令,跳转到完整程序的地方。34什么是交叉编译?在一个平台上(体系结构,操作系统)生成另一个平台上的可执行代码。什么是宿主机?在嵌入式系统中通常把通用PC称为宿主机。什么是目标机?在嵌入式系统中通常把嵌入式系统或设备简称为目标机。35区别B指令和BL指令:B指令常用于不返回的跳转,跳转到指定的指令处执行;BL指令则要返回,返回到地址存于LR,用于保存子程序地址并返回。36U-boot的特点:开放源码;支持多种嵌入式操作系统内核;支持多个处理器系列;较高的可靠性和稳定性;高度灵活的功能设置,适合U-boot调试;丰富的设备驱动源码。37LDR/STR----加载/存储指令。LDR指令用于从内存中读取数据放入寄存器中;STR用于将寄存器中的数据保存到内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论