嵌入式系统课后答案

上传人:206****923 文档编号:42485465 上传时间:2018-06-02 格式:DOC 页数:6 大小:119KB
返回 下载 相关 举报
嵌入式系统课后答案_第1页
第1页 / 共6页
嵌入式系统课后答案_第2页
第2页 / 共6页
嵌入式系统课后答案_第3页
第3页 / 共6页
嵌入式系统课后答案_第4页
第4页 / 共6页
嵌入式系统课后答案_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《嵌入式系统课后答案》由会员分享,可在线阅读,更多相关《嵌入式系统课后答案(6页珍藏版)》请在金锄头文库上搜索。

1、1嵌入式系统嵌入式系统 2011 作业作业(非标准答案,仅供参考)第第 1 章章 嵌入式系统概述嵌入式系统概述1、什么是嵌入式系统?、什么是嵌入式系统?答:嵌入式系统指的是以应用为中心和以计算机技术为基础的,并且软硬件是可裁剪的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标严格要求的专用计算机系统。3、根据嵌入式系统的复杂程度,嵌、根据嵌入式系统的复杂程度,嵌入式系统可分为哪入式系统可分为哪 4 类?类?答:1:单个微处理器;2:嵌入式处理器可扩展的系统;3:复杂的嵌入式系统;4:在制造或过程控制中使用的计算机系统。5、从硬件系统来看,嵌入式系统由、从硬件系统来看,嵌入式系统由哪几部份

2、组成?画出简图。哪几部份组成?画出简图。答:P11 图 1-4电源模块 Flash 时钟 复位 微处理器 RAM ROM MPU 外设 其他 键盘 LCD USB 外围电路 2.2 回答下列关于回答下列关于 ARM 编程模式的编程模式的问题问题(1)在该模式下有多少通用寄存器(2)CPSR 的作用是什么(3)Z 位的作用是什么(4)程序计数器保存在何处答 (1)31 个通用寄存器(2)为状态寄存器,保存当前的状态,可以在任何模式下访问(3)Z=1 运算结果为 0Z=0 运算结果不为 0(4)R15(PC)2.3 下列的下列的 arm 条件码的含义是什条件码的含义是什么么(1)EQ(2)NE(3

3、)MI(4)VS(5)GE(6)LT答(1)z 置位 相等(2)z 清零 不相等(3)n 置位 负数(4)v 置位 溢出(5)n 等于 v 带符号数大于或等于(6)n 不等于 v 带符号数小于2.5 arm 处理器共有多少个寄存器?处理器共有多少个寄存器?这些寄存器按其在用户编程中的功这些寄存器按其在用户编程中的功能如何进行划分?这些寄存器在使能如何进行划分?这些寄存器在使用中有什么特殊之处?用中有什么特殊之处?答 37 个寄存器,其中有 31 个通用寄存器,其中包括程序计数器 pc,6 个状态寄存器 寄存器均为 32 位在七种模式中 R0R7 不分组,R8R14 按模式分组,R15 为程序计

4、数器,CPSR 为状态寄存器,SPSR 为保存程序状态寄存器。R13 为堆栈指针寄存器,R14 为链接寄存器。CPSR 在各种模式下多可以访问,而在用户模式及系统模式下 SPSR 不可以被访问。2.6 若寄存器若寄存器 R1=0x01020304,分别,分别按照大端模式和小端模式存储在按照大端模式和小端模式存储在0x30000 字单元中,试分别写出两字单元中,试分别写出两种模式下内存存储内容,并标出内种模式下内存存储内容,并标出内存地址存地址答 大端模式0x30000 010x30001 020x30002 030x30003 04小端模式0x30000 040x30001 030x30002

5、 020x30003 012.7 ARM 存存储储器器的的存存储储周周期期有有几几种种类类型型?对对应应于于 Cache 访访问问和和存存储储器器访访问问是是何何存存储储周期?周期?答:ARM 存储器有 4 种存储周期:空闲周期,非顺序周期,顺序周期,协处理器寄存器传送周期。一般地,对应于 Cache 访问的存储周期是:非顺序周期。对应于存储器访问的存储周期是:顺序周期和非顺序周期。2.8 何谓何谓 Cache?简述?简述 Cache 的工作的工作原理。原理。答:高速缓存器:弥补主存速度,在CPU 与主存之间设置的高速,小容量存储器,构成 Cache-主存存储层次,速度是 Cache 的,容量

6、是主存的。2工作原理:当 CPU 要访问 Cache时,CPU 送来主存地址,放到主存地址寄存器中。然后通过地址变换部件把主存地址中的块号 M 变成 Cache的块号 m,并放到 Cache 地址寄存器中;同时将主存地址中的块内地址 N直接作为 Cache 的块内地址 n 装入到Cache 地址寄存器中。如果地址变换成功,就用得到的 Cache 地址去访问Cache,从 Cache 中取出数据送到CPU 中。如果地址变换不成功,则产生 Cache 失效信息,接着使用主存地址直接去访问主存储器,从主存储器中读出一个字送到 CPU,同时将从主存储器中读出来的数据装入到 Cache中去。此时如果 C

7、ache 已经满了,则需要采用某种 Cache 替换策略把不常用的块先调出到主存储器中相应的块中,以便腾出空间来存放新调入的块。教材:图 2-12 Cache 工作原理图2.10 ARM 的的 MMU 主要实现什么功主要实现什么功能?能?答:ARM 的 MMU 主要实现的功能:(1)虚拟存储空间到物理存储空间的映射。(2)存储器访问权限的控制。(3)设置虚拟存储空间的缓冲特性。 2.12 ARM 支持的物理页有几种类型?支持的物理页有几种类型?其容量为何值?其容量为何值?答:ARM 支持的物理页通常有 4 种类型,其容量值如下:段:大小为 1MB 的存储块。大页:大小为 64KB 的存储块。小

8、页:大小为 4KB 的存储块。极小页:大小为 1KB 的存储块。2.13 简述基于段的地址变换过程。简述基于段的地址变换过程。答:ARM 基于段的地址变换过程如图所示。(教材:图 2-19 基于段地址的地址变换)第第 3 章章 ARM 寻址方式与指令系统寻址方式与指令系统2.2.如何从异常中断处理程序中返回?如何从异常中断处理程序中返回?需要注意哪些问题?需要注意哪些问题?答:(1)中断处理完成后返回指令:LDMFD SP!,RPC(2) 从异常中断处理程序中返回时需要将 CPSR 中的 CPU 状态恢复,同时将 R14 数据传输给 PC4.4.假设假设 R0R0 的内容为的内容为 0x800

9、0,0x8000,寄存器寄存器R1,R2R1,R2 的内容分别为的内容分别为 0x010x01 与与 0x100x10,存储器内容为存储器内容为 0.0.连续执行下述指令后,连续执行下述指令后,说明每条指令执行后说明每条指令执行后 PCPC 如何变化?如何变化?存储器及寄存器的内容如何变化?存储器及寄存器的内容如何变化?STMIBSTMIB R0!,R1R0!,R1,R2R2LDMIALDMIA R0!,R1R0!,R1,R2R2解:执行第一条指令后,存储器中地址为 0x8004 保存的内容为 R1 的内容,即 0X01,存储器中地址为 0x8008 保存的内容为 R2 的内容,即 0X10,

10、寄31 14 13 0 页表基地址 为0 CP15中的寄存器C2 31 20 19 0虚拟地址 31 14 13 2 1 0 31 20 19 12 11 10 9 8 5 4 3 2 1 0 一级页表内偏移序号 段内地址偏移量 页表基地址 一级页表内偏移序号 00 物理基地址 0 AP 用户定义 31 20 19 0 段对应的物理基地址 段内地址偏移量 一级描述符 段的物理地址 一级描述符地址 0 域 B C 10 3存器 R1,R2 的内容不变,仍分别为0x01 与 0x10。R0 的内容为0x8008。PC=PC+4。执行第二条指令后,存储器内容不变,寄存器 R1 保存的是存储器地址为

11、0x8008 的内容:0x10,R2 保存的是存储器的地址为 0x800c 的内容,即 0。R0 的内容为0x8010。PC=PC+4。5.5.在在 ADSADS 环境下,利用全局变量和局环境下,利用全局变量和局部变量声明伪操作及其赋值伪操作,部变量声明伪操作及其赋值伪操作,分别举例来定义算术变量,逻辑变量分别举例来定义算术变量,逻辑变量和串变量。和串变量。解:(1)局部变量:LCLA num1 ;定义一个局部的数字变量,变量名为 num1LCLL l2;定义一个局部的逻辑变量,变量名为 l2LCLS str3 ;定义一个局部的字符串变量,变量名为 str3num1SETA 0xabcd;将该

12、变量赋值为 0xabcdl2SETL FALSE;将该变量赋值为真str3SETS “Hello!”;将该变量赋值为“Hello!”(2)全局变量GBLA num1;定义一个全局的数字变量,变量名为 num1num1 SETA 0xabcd;将该变量赋值为 0xabcdGBLL l2;定义一个全局的逻辑变量,变量名为 l2l2SETL FALSE;将该变量赋值为假GBLS str3;定义一个全局的字符串变量,变量名为 str3str3 SETS “Hello!”;将该变量赋值为“Hello!” (3)变量赋值LCLA num1 ;定义一个局部的数字变量,变量名为 num1num1 SETA 0

13、x1234;将该变量赋值为 0x1234LCLS str3;定义一个局部的字符串变量,变量名为 str3str3 SETS “Hello!” ;将该变量赋值为“Hello!” LCLL l2;定义一个局部的逻辑变量,变量名为 l2l2SETL FALSE;将该变量赋值为真6.6.写出下述内存变量写出下述内存变量 x,y,zx,y,z 的地址的地址begin equ 0x2000map beginx field 4y field 8z field 16解:x,y,z 的地址分别为0x20000,0x20004,0x2000c7.7.写出执行以下计算的指令序列,其写出执行以下计算的指令序列,其中中

14、 X,Y,Z,R,WX,Y,Z,R,W 均为均为 3232 位无符号数,位无符号数,两数乘积不超过两数乘积不超过 3232 位数范围。位数范围。(1)ZW-(X+6)-(R+9)(1)ZW-(X+6)-(R+9)(2)Z(W*X)/16(2)Z(W*X)/16解:(1) LDR R4,=XLDR R2,R4; R2XADD R2,R2,#6LDR R5,=RLDR R3,R5; R3RADD R3,R3,#9LDR R6,=WLDR R1,R6; R1WSUB R1,R1,R2SUB R1,R1,R3LDR R0,=ZSTR R1,R0; 存 Z(2) LDR R4,=XLDR R2,R4;

15、R2XLDR R6,=WLDR R1,R6; R1WMUL R1,R1,R2MOV R1,R1,LSR #4LDR R0,=ZSTR R1,R0; 存 Z8.8.假定假定 R0,R1R0,R1 中的内容为带符号数,中的内容为带符号数,R2R2,R3R3 中的内容为无符号数,写出指中的内容为无符号数,写出指令实现以下判断。令实现以下判断。(1 1)若)若 R3R3 的内容超过的内容超过 R2R2 的内容,的内容,则转去执行则转去执行 EXCEEDEXCEED(2 2)若)若 R1R1 的内容超过的内容超过 R0R0 的内容,的内容,则转去执行则转去执行 EXCEEDEXCEED(3 3)若)若 R2R2 的内容等于的内容等于 0 0,则转去执,则转去执行行 ZEROZERO(4 4)若)若 R0R0 的内容和的内容和 R1R1 的内容相等,的内容相等,则转去执行则转去执行 EQUEQU解:(1)CMP R3,R2BHI EXCEED(2)CMP R1,R0BGT EXCEED(3)CMP R2,#0BEQ ZERO(4)CMP R0,R1BEQ EQU9.9.已知数据段中的整数数组已知数据段中的整数数组

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号