嵌入式系统2011作业

合集下载

2011-2012-2嵌入式公选课大作业

2011-2012-2嵌入式公选课大作业

《嵌入式系统设计与开发》大作业一.作业内容基本部分:1.什么是嵌入式系统?它具有哪些特点?2.嵌入式系统产品开发一般包括哪几个阶段?每一个阶段的主要工作有哪些?3.试举常用的嵌入式操作系统的例子,并指出这些嵌入式操作系统的特点是什么?用在什么场合?4. 试述ARM处理器在ARM状态下的寄存器组织。

5.试述ARM处理器的7种运行模式。

6. 试述ARM处理器对异常中断的处理过程。

(1)ARM中引起异常的原因(2)在ARM体系中,异常中断向量表的大小是多少,其中每个异常中断占据多少字节?(3)异常中断的处理、返回过程。

7.什么是BootLoader,其主要功能是什么?8.编写一个程序,从存储器某处拷贝一个数据块到储存器的另一处。

源数据块的开始地址放入R0,长度(以字节为单位)放入R1,目的数据块的开始地址在R2。

9.应用C语言进行ARM 系统软件开发时从预处理、编译、汇编到链接,编译系统要做哪些工作,生成哪些文件?10. 用汇编语言编写含有2个分支的跳转表实现程序跳转。

R2寄存器中存放的是跳转表的基地址。

R1中用于选择不同的子程序,子程序可以任意命名。

R1的不同值选择不同的子程序。

并做简单注释。

11.编写一段C语言与汇编语言的混合编程代码,在C语言程序中调用汇编语言代码,完成字符串STR1和STR2内容的互换。

提高部分:1. 一个ARM嵌入式系统具有一对干湿球温度传感器,可以探测到干湿状态下的温度。

传感器通过UART0与ARM通信;嵌入式系统中软件要求每秒钟定时读取UART0的4字节的数据。

(假设UART0的FIFO不会溢出)这4个字节中前2个字节是干球温度,后两个是湿球温度。

2个字节中,前一个字节表示小数点之前的温度,后一个字节表示小数点之后的温度。

通过干球温度和湿球温度可以在一个二维表格中查找到对应的湿度,表示当前空气对应的相对湿度值。

二维表格的形式如下:当软件查询到相对湿度后,通过UART1与上位机通信(发送),每秒将数据发送给上位机。

嵌入式作业题答案

嵌入式作业题答案

嵌入式系统原理及应用作业题答案第1章嵌入式系统概述1. 什么是嵌入式系统?嵌入式系统的组成?答:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

组成:嵌入式处理器、外围设备、操作系统、应用软件。

2. 典型的嵌入式处理器有哪些?3. 答:微处理器、微控制器、DSP处理器、片上系统SOC。

4. 典型的RTOS操作系统有哪些?5. 答:嵌入式LinUX、卩CLinUX、WindoWS Embedded CE、WindoWS Embedded ComPaCt 7 > μC/OS-II > μC/OS-III、VXWorks、eCos 等。

6. 列举身边的嵌入式应用产品?7. 嵌入式系统的设计可以分成四个阶段:需求分析、架构设计和概要设计、详细设计和开发、测试反馈。

第2章COrteX-M体系结构8. ARM COrteX系统的处理器分为: A 、__________ R ____ 、____ M ____ 。

9. ARM COrteX-M3为32位微控制器,请问32位指的是CPlJ字长。

10. 3、COrteX-M3处理器能够以小端格式或大端格式访问存储器中的数据字,而访问代码时始使用小端格式______11. ARM COrteX-M3体系结构采用哈佛总线结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行进行。

12. CM3寄存器分为通用寄存器,包括R0~R15和特殊功能寄存器,包括程序状态寄存器、异常屏蔽寄存器、控制寄存器。

13. 寄存器R13是堆栈指针寄存器。

14. 寄存器R14是程序连接寄存器。

15. 寄存器R15是程序PG16. CM3的堆栈指针分为__MSP__ _=PSP r O存储器堆栈堆栈分为:向上生长(即向高地址方向生长)的递增堆栈;向下生长(即向低地址方向生长),称为递减堆栈。

嵌入式系统2011作业

嵌入式系统2011作业

嵌入式系统2011作业第1章嵌入式系统概述1、什么是嵌入式系统?答:嵌入式系统指的是以应用为中心和以计算机技术为基础的,并且软硬件是可裁剪的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标严格要求的专用计算机系统。

2、与通用计算机相比,嵌入式系统有哪些特点?答:1:嵌入式系统通常是面向特定应用的;2:嵌入式系统功耗低、体积小、集成度高、成本低;3:嵌入式系统具有较长的生命周期;4:嵌入式系统具有固化的代码;5:嵌入式系统开发需要专用开发工具和环境;6:嵌入式系统软件需要RTOS开发平台;7:嵌入式系统开发人员以应用专家为主;8:嵌入式系统是知识集成系统。

3、根据嵌入式系统的复杂程度,嵌入式系统可分为哪4类?答:1:单个微处理器;2:嵌入式处理器可扩展的系统;3:复杂的嵌入式系统;4:在制造或过程控制中使用的计算机系统。

4、嵌入式微处理器有哪几类?试举例说明。

答:嵌入式微处理器,例如:Am186/88、386EX、SC-400.嵌入式微控制器,例如:8051、P51XA、MCS-251.嵌入式DSP处理器,例如:TMS320系列、DSP56000系列.嵌入式片上系统,例如:TriCore、M-Core、Smarrt-XA。

5、从硬件系统来看,嵌入式系统由哪几部份组成?画出简图。

答:P11图1-46、嵌入式微处理器和嵌入式微控制器分别由哪些部件组成?两者有何区别?答:(1)嵌入式微处理器组成部件:只保留通用计算机处理器中和嵌入式应用紧密相关的母板功能,去除了其他冗余的功能部分;嵌入式微控制器组成部分:一般以某一种微处理器核为核心,片上资源比较丰富。

(2)两者区别:嵌入式微处理器在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,系统的可靠性降低,技术性也较差;而嵌入式微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。

第2章ARM微处理器硬件结构2.1哈佛体系结构和冯·诺依曼体系结构有何不同?答:哈佛体系结构:独立的程序存储器和数据存储器。

2011-11第十一课、RTLinux, uCOS嵌入式软件

2011-11第十一课、RTLinux, uCOS嵌入式软件
仅支持底层任务创建、中断服务例程的装人、底层任务通信队列、 仅支持底层任务创建、中断服务例程的装人、底层任务通信队列、中 断服务例程(ISR) Linux进程 (ISR)和 断服务例程(ISR)和Linux进程 把标准的Linux Linux内核作为实时内核的一个进程与用户进程一起调度 把标准的Linux内核作为实时内核的一个进程与用户进程一起调度 标准的Linux内核的优先级最低, Linux内核的优先级最低 标准的Linux内核的优先级最低,可以被实时进程抢断
采用完全适应于实时应用的按优先级抢占CPU的调度方法 采用完全适应于实时应用的按优先级抢占CPU的调度方法 CPU 这种方法保证任何时刻都是优先级最高的任务占用CPU CPU。 这种方法保证任何时刻都是优先级最高的任务占用CPU。 优先级最高的任务可以中断当前运行的程序而抢占CPU; 优先级最高的任务可以中断当前运行的程序而抢占CPU; 优先级较低的任务, 优先级较低的任务,只有在所有优先级比它高的任务都运行完 后才能投入运行。 后才能投入运行。
12
的性能特点-2 µC/OS的性能特点 的性能特点
抢占式(Preemptive) 抢占式(Preemptive)实时结构 多任务 C/OS-II可以管理64个任务 其中保留8个给系统。 可以管理64个任务, µC/OS-II可以管理64个任务,其中保留8个给系统。应用程序最多 可以有56 56个任务 可以有56个任务 可确定性 全部µ C/OS-II的函数调用与服务的执行时间是可确定的 的函数调用与服务的执行时间是可确定的。 全部µ C/OS-II的函数调用与服务的执行时间是可确定的。 任务栈 每个任务有自己单独的栈, 允许每个任务有不同的栈空间, 每个任务有自己单独的栈, 允许每个任务有不同的栈空间,以便减 少应用程序对RAM的需求。 RAM的需求 少应用程序对RAM的需求。 系统服务 C/OS-II提供很多系统服务 例如邮箱、消息队列、信号量、 提供很多系统服务, µC/OS-II提供很多系统服务,例如邮箱、消息队列、信号量、块大 小固定的内存的申请与释放、时间相关函数等。 小固定的内存的申请与释放、时间相关函数等。 中断管理 中断可以使正在执行的任务暂时挂起, 中断可以使正在执行的任务暂时挂起,如果优先级更高的任务被该 中断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行, 中断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中 断嵌套层数可达255 255层 断嵌套层数可达255层。 稳定性与可靠性 13

南开大学《嵌入式系统》在线作业02

南开大学《嵌入式系统》在线作业02

《嵌入式系统》在线作业通过调用cudaMemcpy()函数想实现将数据从CPU拷贝到GPU,那么cudaMemcpy()中的参数应该选择()A:cudaMemcpyHostToHostB:cudaMemcpyDeviceToHostC:cudaMemcpyDeviceToDeviceD:cudaMemcpyHostToDevice参考选项:D对响应时间有严格要求的嵌入式系统是()A:嵌入式实时系统B:嵌入式多线程系统C:嵌入式多内核系统D:嵌入式轮转询问系统参考选项:A当block是2D的时候,每个线程的thread index的计算公式为()A:thread index = blockIdx.x * blockDim.x + threadIdx.y * blockDim.x + threadIdx.x;B:thread index = blockIdx.x * blockDim.x * blockDim.y+ threadIdx.y + threadIdx.x;C:thread index = blockIdx.x * blockDim.x * blockDim.y+ threadIdx.y * blockDim.x + threadIdx.x;D:thread index = blockIdx.x * blockDim.x * blockDim.y+ threadIdx.y * threadIdx.x;参考选项:C实现共享资源互斥的方法很多,不同之处在于互斥的影响范围和程度不同。

其中对任务调度上锁,但不禁止中断的方法是?A:关中断B:测试并置位指令C:禁止任务抢占D:使用信号量参考选项:C关于嵌入式操作系统及其特点,以下叙述中错误的是()。

A:嵌入式操作系统是在嵌入式硬件上提供一个应用程序的运行平台B:嵌入式硬件资源相对有限,因此操作系统内核较小C:嵌入式操作系统通常具有较好的可移植性D:嵌入式操作系统往往需要控制硬件装置,因此,不用考虑实时性参考选项:DGPU对比于CPU的特点不包含()A:Cache比较小,主要用于提高内存throughputB:控制逻辑比较简单,没有分支预测C:GPU的运算核较复杂且个数很少D:GPU需要巨大数量的线程来容忍内存延迟参考选项:C在嵌入式系统设计中,用来进行系统初始代码调试的接口称为()。

2011年上半年软件水平考试(中级)嵌入式系统设计师下午(应用技

2011年上半年软件水平考试(中级)嵌入式系统设计师下午(应用技

2011年上半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)试题真题试卷(题后含答案及解析)题型有:1. 试题一 2. 试题二 3. 试题三 4. 试题四 5. 试题五试题一阅读以下关于某嵌入式系统设计方案的叙述,回答问题1至问题3,将答案填入对应栏内。

[说明] 通常计算机按其体系结构分为冯·诺依曼(V on Neumann)结构和哈佛(Harvard)结构。

冯·诺依曼结构,也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。

哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。

复杂系统的不同处理器可采用不同类型体系结构。

某嵌入式系统由数据处理模块、信号处理模块和光纤网络交换模块组成,如图1-1所示。

其中数据处理模块的主处理器选用PPC7447,内部集成了二级Cache,并有SDAM存储器、FLASH、NvRAM、实时时钟、FC(Fabric Channel)通信接口、以太网接口和RS232接口;信号处理模块采用DSP TMS320C6000,并有FC通信接口、RS232接口,用于SPM与外部数据通信;光纤网络交换模块提供FC协议交换能力,主要由控制单元和交换单元两部分组成。

本嵌入式系统的数据处理模块主要接收外部命令、控制系统运行、与系统其他模块通信;信号处理模块主要进行图形图像处理,需要较大的运算量和较高的运算速度。

1.回答下列问题,将答案填写在对应的栏目中。

本嵌入式系统的数据处理模块采用(1)体系结构,信号处理模块采用(2)体系结构。

在设计中断时,中断触发方式一般分为沿中断和电平中断。

沿中断利用(3)或(4)作为中断触发信号,电平中断利用(5)或(6)作为中断触发信号。

正确答案:(1)冯.诺依曼或V on Neumann(2)哈佛或Harvard(3)、(4):答案次序无关。

答案为:上升沿、下降沿(5)、(6):答案次序无关。

答案为:高电平、低电平解析:本题主要考查对嵌入式系统结构的认识。

嵌入式系统设计作业及答案范文

嵌入式系统设计作业及答案范文

嵌入式系统设计作业及答案第0章绪论1、什么是数字系统设计技术?在解决了对不同目标信息的数字化编码、数字化传输、数字化解码的基本理论、算法定义和协议规范之后,对其如何进行系统的构成,如何以最优化的性能(如速度)、最低廉的成本(如芯片面积、集成密度等)来实现该系统的技术。

2、什么是集成电路IC?集成电路(IC)是指经过一系列特定的加工工艺,将多个晶体管、电阻、电容等器件,按照一定的电路连接集成在一块半导体单晶片(如Si或GaAs)或陶瓷等基片上,作为一个不可分割的整体完成某一特定功能的电路组件3、什么是集成电路IP?集成电路IP是经过预先设计、预先验证,符合产业界普片认同的设计规范和设计标准,具有相对独立功能的电路模块或子系统。

其具有知识含量高、占用芯片面积小、运行速度快、功耗低、工艺容差性大等特点,能够复用(Reuse)于SOC、SOPC或复杂ASIC 设计中。

4、什么是SOC?SOC,即嵌入式系统发展的最高形式——片上系统。

从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上;从广义角度讲, SOC是一个微小型系统,第1章嵌入式系统基础知识1、计算机系统的三大应用领域是什么?服务器市场,桌面市场,嵌入式市场2、通用计算机与嵌入式系统的对比是什么?3、分别从技术角度和系统角度给出嵌入式系统的定义技术角度:以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。

是将应用程序、操作系统和计算机硬件集成在一起的系统系统角度:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统4、嵌入式系统的特点是什么?从三要素说:嵌入式:嵌入到对象体系中,有对象环境要求专用性:软、硬件按对象要求裁减计算机系统:实现对象的智能化功能功耗限制、低成本、多速率、环境相关性、系统内核小、专用性强、不可垄断性、产品相对稳定性具有实时性5、请从嵌入式系统软件复杂程度来对嵌入式系统进行分类?循环轮询系统,有限状态机系统,前后台系统,单处理器多任务系统,多处理器多任务系统6、常见电平标准有哪些?理解电平匹配的含义。

基于WINCE的图片浏览器开发

基于WINCE的图片浏览器开发

XX大学信息科学技术学院《嵌入式系统》大作业设计报告项目名称:基于Wince的C#应用程序开发——图片浏览器姓名:学号:班级:日期:2011-6-20目录第一部分概述 (2)、Windows CE操作系统概述 (3)、Windows CE应用程序介绍 (3)、图片浏览器介绍 (4)第二部分设计任务 (4)、需求分析 (4)、程序功能 (4)第三部分设计原理 (5)、主要的类及控件介绍 (5)控件 (5)类 (6)类 (6)第六部分结论 (7)附录 (8)1参考资料 (8)2设计步骤 (8)操作系统的下载: (8)应用程序部分: (15)3遇到的问题与解决方法 (17)4程序清单 (17)5课程体会 (24)第一部分概述嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。

从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。

目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

嵌入式操作系统种类繁多,例如:嵌入式Linux、Windows CE、VxWorks、pSOS 、等等,其中,Windows CE 操作系统是一款微软公司开发的嵌入式操作系统,它继承Windows操作系统的许多优点,而且资源充足,简单易学,在嵌入式得到大量应用。

随着手机、微型电脑设备等等嵌入式设备的蓬勃发展,嵌入式应用大量地发展了起来,许多在桌面广泛应用的程序越来越多地向嵌入式方向移植和应用,嵌入式应用程序正如火如荼地发展着!Windows CE的开发工具与平台也有很多,例如Embedded Visual C++等等,在本研究里面,我们选取Visual Studio 2005这个资源丰富,操作简便的开发平台,基于PAX270硬件平台进行图片浏览器的应用程序开发。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式系统2011作业第1章嵌入式系统概述1、什么是嵌入式系统?答:嵌入式系统指的是以应用为中心和以计算机技术为基础的,并且软硬件是可裁剪的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标严格要求的专用计算机系统。

2、与通用计算机相比,嵌入式系统有哪些特点?答:1:嵌入式系统通常是面向特定应用的;2:嵌入式系统功耗低、体积小、集成度高、成本低;3:嵌入式系统具有较长的生命周期;4:嵌入式系统具有固化的代码;5:嵌入式系统开发需要专用开发工具和环境;6:嵌入式系统软件需要RTOS开发平台;7:嵌入式系统开发人员以应用专家为主;8:嵌入式系统是知识集成系统。

3、根据嵌入式系统的复杂程度,嵌入式系统可分为哪4类?答:1:单个微处理器;2:嵌入式处理器可扩展的系统;3:复杂的嵌入式系统;4:在制造或过程控制中使用的计算机系统。

4、嵌入式微处理器有哪几类?试举例说明。

答:嵌入式微处理器,例如:Am186/88、386EX、SC-400.嵌入式微控制器,例如:8051、P51XA、MCS-251.嵌入式DSP处理器,例如:TMS320系列、DSP56000系列.嵌入式片上系统,例如:TriCore、M-Core、Smarrt-XA。

5、从硬件系统来看,嵌入式系统由哪几部份组成?画出简图。

答:P11图1-46、嵌入式微处理器和嵌入式微控制器分别由哪些部件组成?两者有何区别?答:(1)嵌入式微处理器组成部件:只保留通用计算机处理器中和嵌入式应用紧密相关的母板功能,去除了其他冗余的功能部分;嵌入式微控制器组成部分:一般以某一种微处理器内核为核心,片上资源比较丰富。

(2)两者区别:嵌入式微处理器在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,系统的可靠性降低,技术保密性也较差;而嵌入式微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。

第2章 ARM微处理器硬件结构2.1哈佛体系结构和冯·诺依曼体系结构有何不同?答:哈佛体系结构:独立的程序存储器和数据存储器。

冯·诺依曼结构:将数据和指令都存储在一个统一的存储器中。

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)MI(4)VS(5)GE(6)LT答(1)z置位相等(2)z清零不相等(3)n置位负数(4)v置位溢出(5)n等于v 带符号数大于或等于(6)n不等于v 带符号数小于2.4 arm处理器有几种工作模式?各种工作模式有什么特点?答有七种工作模式,用户模式(usr)正常的程序执行状态快速中断模式(fiq)用于高速数据处理或通道处理外部中断模式(irq)用于通用的中断处理管理模式(svc)操作系统的保护模式中止模式(abt)用于虚拟存储及存储保护未定义模式(und)用于支持硬件协处理器的软件仿真系统模式(sys)运行特权级的操作系统任务2.5 arm处理器共有多少个寄存器?这些寄存器按其在用户编程中的功能如何进行划分?这些寄存器在使用中有什么特殊之处?答37个寄存器,其中有31个通用寄存器,其中包括程序计数器pc,6个状态寄存器寄存器均为32位在七种模式中 R0~R7不分组,R8~R14按模式分组,R15为程序计数器,CPSR为状态寄存器,SPSR为保存程序状态寄存器。

R13为堆栈指针寄存器,R14为链接寄存器。

CPSR在各种模式下多可以访问,而在用户模式及系统模式下SPSR不可以被访问。

2.6若寄存器R1=0x01020304,分别按照大端模式和小端模式存储在0x30000字单元中,试分别写出两种模式下内存存储内容,并标出内存地址答大端模式0x30000 010x30001 020x30002 030x30003 04小端模式0x30000 040x30001 030x30002 020x30003 012.7 ARM存储器的存储周期有几种类型?对应于Cache访问和存储器访问是何存储周期?答:ARM存储器有4种存储周期:空闲周期,非顺序周期,顺序周期,协处理器寄存器传送周期。

一般地,对应于Cache访问的存储周期是:非顺序周期。

对应于存储器访问的存储周期是:顺序周期和非顺序周期。

2.8何谓Cache?简述Cache的工作原理。

答:高速缓存器:弥补主存速度,在CPU与主存之间设置的高速,小容量存储器,构成Cache-主存存储层次,速度是Cache的,容量是主存的。

工作原理:当CPU要访问Cache时,CPU送来主存地址,放到主存地址寄存器中。

然后通过地址变换部件把主存地址中的块号M变成Cache的块号m,并放到Cache地址寄存器中;同时将主存地址中的块内地址N直接作为Cache的块内地址n装入到Cache地址寄存器中。

如果地址变换成功,就用得到的Cache 地址去访问Cache,从Cache中取出数据送到CPU中。

如果地址变换不成功,则产生Cache失效信息,接着使用主存地址直接去访问主存储器,从主存储器中读出一个字送到CPU,同时将从主存储器中读出来的数据装入到Cache中去。

此时如果Cache已经满了,则需要采用某种Cache替换策略把不常用的块先调出到主存储器中相应的块中,以便腾出空间来存放新调入的块。

教材:图2-12 Cache工作原理图2.9何谓写通Cache和写回Cache?两者有何区别?答:写通法: write-throught,指CPU在执行写操作时,必须把数据同时写入Cache和主存。

写回法: write-back,指CPU在执行写操作时,被写的数据只写入Cache,不写入主存。

仅当需要替换时,才把已经修改的Cache块写回到主存中。

区别在于写通法在Cache中的内容发生改变时,相应的存储器中的内容会立即被修改,而写回法则是等到替换时才会使存储器中的内容发生改变。

2.10 ARM的MMU主要实现什么功能?答:ARM的MMU主要实现的功能:(1)虚拟存储空间到物理存储空间的映射。

(2)存储器访问权限的控制。

(3)设置虚拟存储空间的缓冲特性。

2.11简述MMU使能时存储访问过程。

答:当ARM处理器请求存储访问时,对于允许缓存的存储访问,如果Cache命中,直接操作数据即可。

对于允许缓存且Cache不命中或不允许缓存的存储访问,首先在TLB中查找虚拟地址。

如果该虚拟地址对应的地址变换条目不在TLB中,CPU将从位于内存中的页表中查询对应于该虚拟地址的地址变换条目,并把相应的结果添加到TLB中。

如果TLB已经满了,则需要根据一定的替换算法进行替换。

当得到了需要的地址变换条目后,将进行以下操作。

(1)得到该虚拟地址对应的物理地址。

(2)根据条目中C控制位和B控制位决定是否缓存该内存访问的结果。

(3)根据存储权限控制位和域访问控制位确定该内存访问是否被允许。

如果该内存访问不被允许,CP15将向ARM处理器报告存储访问中止。

(4)对于不允许缓存的存储访问,使用步骤(1)中得到的物理地址访问内存。

对于允许缓存的存储访问,如果Cache命中,则忽略物理地址;如果Cache没有命中,则使用步骤(1)中得到的物理地址访问内存,并将该块数据读取到Cache中。

2.12 ARM支持的物理页有几种类型?其容量为何值?答:ARM支持的物理页通常有4种类型,其容量值如下:段:大小为1MB的存储块。

大页:大小为64KB的存储块。

小页:大小为4KB的存储块。

极小页:大小为1KB的存储块。

2.13简述基于段的地址变换过程。

答:ARM基于段的地址变换过程如图所示。

(教材:图2-19 基于段地址的地址变换)CP1第3章 ARM寻址方式与指令系统1.试述ARM处理器对异常中断的响应过程。

答:异常处理过程:当异常发生时,处理器自动(1)将返回地址存入寄存器R14,(2)当前寄存器CPSR 存入SPSR中,(3)强制进入相应的工作模式,(4)执行特定地址的指令。

2.如何从异常中断处理程序中返回?需要注意哪些问题?答:(1)中断处理完成后返回指令:LDMFD SP!,{<other_registers>,RPC}(2) 从异常中断处理程序中返回时需要将CPSR中的CPU状态恢复,同时将R14数据传输给PC3.ARM指令的寻址方式有几种?试分别叙述其各自的特点并举例说明。

答:(1)立即数寻址:操作数本身直接在指令中给出,取出指令也就获得了操作数,这个操作数也称为立即数。

例: ADD R0,R1,#5 ;R0=R1+5(2)寄存器寻址:寄存器的值即为操作数例: ADD R0,R1,R2 ;R0=R1+R2(3)寄存器移位寻址:移位寻址的操作数由寄存器的数值做相应移位而得到,移位的方式在指令中以助记符的形式给出,而移位的位数可用立即数或寄存器寻址方式表示。

例: MOV R0,R1,LSL R3 ;R0=R1逻辑左移R3位以及其他寻址方式。

4.假设R0的内容为0x8000,寄存器R1,R2的内容分别为0x01与0x10,存储器内容为0.连续执行下述指令后,说明每条指令执行后PC如何变化?存储器及寄存器的内容如何变化?STMIB R0!,{R1,R2}LDMIA R0!,{R1,R2}解:执行第一条指令后,存储器中地址为0x8004保存的内容为R1的内容,即0X01,存储器中地址为0x8008保存的内容为R2的内容,即0X10,寄存器R1,R2的内容不变,仍分别为0x01与0x10。

R0的内容为0x8008。

PC=PC+4。

执行第二条指令后,存储器内容不变,寄存器R1保存的是存储器地址为0x8008的内容:0x10,R2保存的是存储器的地址为0x800c的内容,即0。

R0的内容为0x8010。

PC=PC+4。

5.在ADS环境下,利用全局变量和局部变量声明伪操作及其赋值伪操作,分别举例来定义算术变量,逻辑变量和串变量。

解:(1)局部变量:LCLA num1 ;定义一个局部的数字变量,变量名为num1LCLL l2 ;定义一个局部的逻辑变量,变量名为l2LCLS str3 ;定义一个局部的字符串变量,变量名为str3num1 SETA 0xabcd ;将该变量赋值为0xabcdl2 SETL {FALSE} ;将该变量赋值为真str3 SETS “Hello!”;将该变量赋值为“Hello!”(2)全局变量GBLA num1 ;定义一个全局的数字变量,变量名为num1num1 SETA 0xabcd ;将该变量赋值为0xabcdGBLL l2 ;定义一个全局的逻辑变量,变量名为l2l2 SETL {FALSE} ;将该变量赋值为假GBLS str3 ;定义一个全局的字符串变量,变量名为str3str3 SETS “Hello!”;将该变量赋值为“Hello!”(3)变量赋值LCLA num1 ;定义一个局部的数字变量,变量名为num1num1 SETA 0x1234 ;将该变量赋值为0x1234LCLS str3 ;定义一个局部的字符串变量,变量名为str3str3 SETS “Hello!”;将该变量赋值为“Hello!”LCLL l2 ;定义一个局部的逻辑变量,变量名为l2l2 SETL {FALSE} ;将该变量赋值为真6.写出下述内存变量x,y,z的地址begin equ 0x2000map beginx field 4y field 8z field 16解:x,y,z的地址分别为0x20000,0x20004,0x2000c7.写出执行以下计算的指令序列,其中X,Y,Z,R,W均为32位无符号数,两数乘积不超过32位数范围。

相关文档
最新文档