北航嵌入式复习最终版
- 格式:docx
- 大小:486.31 KB
- 文档页数:4
考试题型:•1、判断题 10分•2、填空题 20分•3、选择题 20分•4、简答题 30分(5个)•5、应用题 20分(3个)•6、名字解释复习资料:•书本•课件,平时课堂例题。
•平时作业和练习•考试范围:1-5章•其他说明:•课后习题是重点。
•简答题来源于前5章,每章一个。
每章重点:第一章:1.什么是嵌入式系统?试简单列举一些生活中常见的嵌入式系统的实例。
嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。
以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。
2.嵌入式系统具有哪些特点?3.嵌入式系统由哪些部分组成?简单说明各部分的功能和作用。
4.嵌入式系统是怎样分类的?5.嵌入式系统的定义。
嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。
以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。
6.什么是交叉编译,试说明交叉编译的实现过程。
7.嵌入式系统有哪些应用领域。
嵌入式系统技术具有非常广阔的应用前景,其应用领域可以包括:1.工业控制:基于嵌入式芯片的工业自动化设备将获得长足的发展,目前已经有大量的8、16、32 位嵌入式微控制器在应用中,网络化是提高生产效率和产品质量、减少人力资源主要途径,如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。
就传统的工业控制产品而言,低端型采用的往往是8位单片机。
但是随着技术的发展,32位、64位的处理器逐渐成为工业控制设备的核心,在未来几年内必将获得长足的发展。
2.交通管理:在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌模块,模块的移动定位终端已经在各种运输行业获得了成功的使用。
目前设备已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以随时随地找到你的位置。
题型:1、选择题:20分2、填空题:20分3、判断题:8分4、简答题:16分5、程序分析题:20分6、编程题16分第一章1、嵌入式系统的定义:根据IEEE的定义,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”。
国内定义:以应用为中心,以计算机技术为基础,软硬件可裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2、嵌入式系统的组成:嵌入式系统装置由嵌入式计算机系统和执行装置组成。
嵌入式计算机系统由硬件层、中间层、系统软件层和应用软件层组成。
(分层结构)3、立即数(第二操作数)合法性,选择题:将一个32位数右移偶数位可以得到小于255的数为合法,否则为不合法。
例如:0x6a0=0000 0000 0000 0000 0000 0110 1010 0000右移4位==> 0000 0000 0000 0000 0000 0000 0110 1010 = 0x6a 小于255,所以合法0x1a600=0000 0000 0000 0001 1010 0110 0000 0000无论右移多少偶数位,所得的数仍然大于255,所以不合法0x16c00=0000 0000 0000 0001 0110 1100 0000 0000右移10位==> 0000 0000 0000 0000 0000 0000 0101 1011 =0x5b小于255,所以合法4、全称:AMBA: Advanced Microcontroller Bus Architecture 高级微控制器总线ARM:Advanced RISC MachineCISC:Complex Instruction Set Computer复杂指令集系统RISC: Reduced Instruction Set Computer精简指令集系统RTOS: Real-time Operation System 实时多任务操作系统FAT: File Allocation Table 文件分配表系统UCOS: Micro Controller Operation System 微控制器操作系统片上系统:System On Chip,SOC知识产权核:Intellectual Property Core,IP CoreIP软核:Soft IP CoreIP硬核:Hard IP CoreIP固核:Firm IP Core5、嵌入式微处理器的体系结构可以采用冯*诺依曼体系结构或哈佛体系结构;指令系统可以选用精简指令集系统RISC(Reduced Instruction Set Computer)和复杂指令集系统CISC(Complex Instruction Set Computer)。
1.嵌入式系统目前被大多数人接受的一般性定义是什么?举例说明嵌入式系统的应用。
嵌入式系统是“以应用为中心,以计算机为技术基础,软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用计算机系统”。
2.嵌入式系统三要素?嵌入性:嵌入到对象体系中,对对象环境有要求专用性:软、硬件按对象要求裁剪计算机:实现对象的智能化功能3.嵌入式系统与单片机的区别?单片机属于嵌入式系统,但只有嵌入式系统的部分结构和部分功能:1.单片机数据处理能力有限、处理速度有限,不能够用于所有的嵌入式系统。
目前嵌入式系统的主流是以32位嵌入式微处理器为核心的硬件设计和基于实时操作系统(RTOS)的软件设计。
2.单片机系统多为4位、8位、16位机,不适合运行操作系统,难以进行复杂的运算及处理功能。
3.嵌入式系统强调基于平台的设计、软硬件协同设计,单片机大多采用软硬件流水设计。
4.嵌入式系统设计的核心是软件设计(占70%左右的工作量),单片机系统软硬件设计所占比例基本相同。
5.单片机无网络功能。
4.嵌入式系统与PC机的区别?1.嵌入式系统一般专用于特定任务,而PC是通用计算机。
2.嵌入式系统使用多种类型的处理器,系统硬件资源比PC机少的多,但种类远远超过PC机。
3.嵌入式系统常有实时约束,常使用实时多任务操作系统,另外还有有功耗、成本约束,且常在极端环境下运行,故障造成的后果比PC系统更严重。
4.嵌入式系统得到多种微处理器体系的支持5,嵌入式系统需要专用工具和方法进行开发设计5.嵌入式处理器分为哪几类,说明定义及特点?(1)、嵌入式微处理器(MPU)嵌入式微处理器就是和通用计算机的处理器对应的CPU,可以认为是“增强型”通用微处理器。
•特点:1)功能和微处理器基本一样,但为了缩小体积、降低功耗,只保留和嵌入式应用相关的功能。
2)在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。
(2)、嵌入式微控制器(MCU)嵌入式微控制器就是将整个计算机系统的主要硬件集成到一块芯片中,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、Watchdog、I/O、串行口、A/D等各种必要功能和外设。
1、ARM 微处理器有 7种工作模式,它们分为两类 非特权模式 、 特权模式 。
其中用户模式属于 非特权模式4、ARM 微处理器复位后,PC 的地址通常是 0x0 ,初始的工作模式是Supervisor 。
5、ARM 微处理器支持虚拟内存,它是通过系统控制协处理器 CP15 和MMU (存储管理部件)来进行虚拟内存的存储和管理。
当系统发生 数据 异常和 指令领取 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU 交换物理内存和虚拟内存的页面,以保证程序正常执行。
6、编译链接代码时,有两种存储代码和数据的字节顺序,一种是 小端对齐 ,另一种是 打断对齐7、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU 工具链 ,ARM 公司提供的工具链是 ADS 工具链计算机有CISC 和RISC 两种类型,以ARM 微处理器为核心的计算机属于 RISC 类型,其指令长度是 定长的1、目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。
Windows CE/Windows Mobile 、VxWork 、Linux 、uCos 、Symbian 、QNX 任选六2、ARM 系统中的堆栈有四种,如下图。
请按图标出四种堆栈的类型。
ATPCS 编程规范约定使用的堆栈是哪一种?答:FD 、FA 、ED 、EA 。
ATPCS 编程规范约定使用的堆栈是FD3、Boot Loader 在嵌入式系统中主要起什么作用?完成哪些主要的工作?答:Boot Loader 是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。
通过Boot Loader ,初始化硬件设备,建立内存和I/O 空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。
2、ARM 支持两个指令集, ARM 核因运行的指令集不同,分别有两个状态 ARM 、 Thumb ,状态寄存器CPSR 的 T 位反映了处理器运行不同指令的当前状态3、ARM 核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器, R15 寄存器用于存储PC ,R13通常用来存储 SP ,ARM 处理器有两种总线架构,数据和指令使用同一接口的是 冯诺依曼结构 ,数据和指令分开使用不同接口的是 哈佛结构 。
第一章嵌入式系统概述1.嵌入式系统是什么?目前,对嵌入式系统的定义多种多样:IEEE(国际电气和电子工程师协会)的定义为:用于对机器和设备进行控制,监视或者辅助操作的装置。
从技术的角度定义:以应用为中心,以计算机为基础,并且软硬件可裁剪,适用于对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。
从系统的角度定义:嵌入式系统是完成复杂功能的硬件和软件,并使之紧密耦合在一起的计算机系统。
嵌入式系统是指嵌入式操作系统和功能软件集成在以微控制器或微处理器为核心的微型计算机硬件体系中所形成的简单便捷,稳定可靠,机电一体化产品整体。
简单地说,嵌入式系统是软件体系和硬件体系紧密结合的一体化系统。
2.嵌入式系统由哪几个部分组成?嵌入式系统由硬件平台和系统软件组成。
硬件平台指嵌入式处理器和与之通过接口连接的外围硬件平台。
系统软件指实时操作系统和用户应用软件。
3.嵌入式微(?)处理器有几种类型?各有什么特点?嵌入式微处理器(EMPU):比较适合于大容量的数据计算和处理,具有体积小、重量轻、成本低、可靠性高的优点。
与嵌入式控制器相比,速度快,运算功能强大,可对各类数据进行快速处理。
嵌入式微控制器(EMCU):比较适合于基于逻辑运算和简单数据计算结果的控制,最大特点是单片化,体积大大减小,从而使功耗和成本下降,可靠性提高。
嵌入式DSP(EDSP):对系统结构和指令的某些部分进行了特殊设计,使之适合于执行DSP 算法,编译效率较高,指令执行速度也较快。
总而言之,就是运算速度快。
嵌入式片上系统(ESOC):根据应用系统设计者定义,可以在一个硅片上集成一个更为复杂的系统。
整个嵌入式系统的大部分尽可集成到一块或几块芯片上,应用系统电路板将变得很整洁,对于减少体积和功耗,提高可靠性十分有益。
4.你能列举几种熟悉的操作系统吗?µCOS-Ⅱ,µCLinux,WinCE,VxWorks,TRON,µITRON,eCos,Nucleus,OSE等。
嵌入式复习大纲第一章1、嵌入式系统定义及概念:嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统2、嵌入式系统的特点:(3个)1)嵌入式系统通常是面向特定应用的;2)嵌入式系统功耗低、体积小、集成度高、成本低;3)嵌入式系统具有较长的生命周期;4)嵌入式系统具有固化的代码;3、嵌入式处理器的分类:1)嵌入式微处理器(EMPU);2)嵌入式微控制器(EMCU);3)嵌入式DSP处理器(EDSP);4)嵌入式片上系统(ESoC)。
4、嵌入式系统的组成:由硬件层、中间层、系统软件层和应用软件层组成。
(1)硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)(2)硬件层与软件层之间为中间层,也称为硬件抽象层,该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。
BSP具有以下两个特点。
(3)系统软件层由实时多任务操作系统、、文件系统、图形用户接口、网络系统及通用组件模块组成。
5、嵌入式操作系统:嵌入式实时操作系统µC/OS-II、嵌入式Linux、Windows Embedded、VxWorks、pSOS、等,以及应用在智能手机和平板电脑的Android、iOS等6、嵌入式系统的设计方法:(需交叉编译和调试环境)(1)系统定义与需求分析(2)系统设计方案的初步确立(3)初步设计方案性价比评估与方案评审论证(4)完善初步方案、初步方案实施(5)软硬件集成测试(6)系统功能性能测试及可靠性测试第二章1、ARM的CISC、RISC ARM7~ARM9(1)CISC特点:复杂指令、各种类型的内存寻址方式、微程序结构、效率高(2)RISC特点:固定指令长度、指令流水线处理、简化内存管理、硬件接线式控制、单周期执行、复杂度存于编译程序内(3)冯诺依曼结构:输入输出设备、运算器、控制器、存储器主要贡献:提出并实现了“存储程序”的概念2、ARM7:采用3级流水线结构,采用冯诺依曼结构(程序存储与数据存储统一编址)ARM9:采用5流水线结构,采用哈弗体系结构(程序存储器与数据存储器分开独立编址)ARM10:采用6流水线结构,采用哈弗体系结构ARM11:采用8流水线结构,采用哈弗体系结构3、ARM体系结构的技术特征:(1)单调周期操作(2)采用加载/存储指令结构(执行速度快)(3)固定32位指令(结构简单、效率高)(4)地址指令格式(三地址指令格式,优化代码)(5)指令流水线技术(提高执行效率)4、ARM的三种工作状态,如何标记?(1)ARM状态:32位,ARM状态下执行字对准的32位ARM指令;(2)Thumb状态:16位,Thumb状态下执行半字对准的16位Thumb指令。
嵌⼊式复习资料(精)第⼀章嵌⼊式系统基础知识1.嵌⼊式系统基础知识计算机系统的两个发展分⽀通⽤计算机与嵌⼊式计算机嵌⼊式系统的⼀般定义、IEEE定义⼀般定义:以应⽤为中⼼、以计算机技术为基础,软硬件可裁剪,应⽤系统对功能、可靠性、成本、体积、功耗和应⽤环境有特殊要求的专⽤计算机系统。
是将应⽤程序、操作系统和计算机硬件集成在⼀起的系统。
(技术⾓度)嵌⼊式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在⼀起的计算机系统。
(系统⾓度)⼴义定义:任何⼀个⾮计算机的计算系统。
IEEE(国际电⽓和电⼦⼯程师协会)定义:嵌⼊式系统是“⽤于控制、监视或者辅助操作的机器、设备或装置”。
嵌⼊式系统4个组成部分嵌⼊式微处理器、外围硬件设备、嵌⼊式操作系统、⽤户应⽤程序嵌⼊式系统的三个基本要素嵌⼊性、专⽤性、计算机系统嵌⼊式系统的软硬件特点硬件⽅⾯:稳定性、低功耗、体积受限、看门狗电路、成本低、系统资源少软件⽅⾯:实时性、可裁剪性、精简性、⼈机界⾯要求不⾼嵌⼊式系统的硬件架构以嵌⼊式处理器为中⼼,配置存储器、I/0设备、通信模块以及电源等必要的辅助接⼝组成。
嵌⼊式系统的硬件核⼼嵌⼊式微处理器嵌⼊式处理器的种类嵌⼊式微处理器、嵌⼊式微控制器、嵌⼊式DSP、嵌⼊式SOCS0CSOC是指在单芯⽚上集成数字信号处理器、微控制器、存储器、数据转换器、接⼝电路等电路模块,可以直接实现信号采集、转换、存储、处理等功能。
2.嵌⼊式系统硬件嵌⼊式微处理器的体系结构冯诺依曼结构:单⼀的程序和数据总线。
哈佛结构:独⽴的程序和数据总线。
RISC(精简指令集计算机)的概念及思想精华1979年,美国加州伯克利分校提出了RISC的概念,基本思想是尽量简化计算机指令功能,只保留那些功能简单,能在⼀个节拍内执⾏完成的指令,⽽把较复杂的功能⽤⼀段⼦程序实现。
RISC思想的精华就是通过简化计算机指令功能、简化计算机指令格式,使指令的平均执⾏周期减少,同时⼤量使⽤通⽤寄存器来提⾼计算机的⼯作主频,提⾼程序的速度。
(完整word版)嵌⼊式系统复习及答案⼀、单项选择题1、下⾯关于哈佛结构描述正确的是(A )。
A、程序存储空间与数据存储空间分离B、存储空间与IO空间分离C、程序存储空间与数据存储空间合并D、存储空间与IO空间合并2、下⾯哪⼀种⼯作模式不属于ARM特权模式(A )。
A、⽤户模式B、管理模式C、软中断模式D、FIQ模式3、ARM9TDMI的⼯作状态包括( D )。
A、测试状态和运⾏状态B、挂起状态和就绪状态C、就绪状态和运⾏状态D、ARM状态和Thumb状态4、指令“LDMIA R0!, {R1, R2, R3, R4}”的寻址⽅式为( C )。
A、⽴即寻址B、寄存器间接寻址C、多寄存器寻址D、堆栈寻址5、对寄存器R1的内容乘以4的正确指令是( C )。
A、LSR R1,#2B、LSL R1,#2C、MOV R1,R1, LSL #2D、MOV R1,R1, LSR #26、下⾯指令执⾏后,改变R1寄存器内容的指令是( D )。
A、TST R1,#2B、ORR R1,R1,R1C、CMP R1,#2D、EOR R1,R1,R17、下⾯哪⼀种功能单元不属于I/O接⼝电路。
( D )A、USB控制器B、UART控制器C、以太⽹控制器D、LED8、下⾯哪个操作系统是嵌⼊式操作系统。
(B )A、Red-hat LinuxB、µCLinuxC、Ubuntu LinuxD、SUSE Linux9、使⽤Host-Target联合开发嵌⼊式应⽤,( B )不是必须的。
A、宿主机B、银河麒麟操作系统C、⽬标机D、交叉编译器10、下⾯哪个系统不属于嵌⼊式系统( D )。
A、MP3播放器B、GPS接收机C、“银河⽟衡”核⼼路由器D、“天河⼀号”计算机系统11. RS232-C串⼝通信中,表⽰逻辑1的电平是(D )A、0VB、3.3VC、+5V~+15VD、-5V~-15V12. 下列不属于RISC计算机特点的是(C)。
2010~2011学年第一学期(计算机专业)嵌入式复习资料1、什么叫嵌入式系统?以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2、嵌入式系统的特点应用的特定性和广泛性技术、知识、资金的密集性较长的生命周期高效性高可靠性软硬一体,软件为主无自举开发能力P23、有哪些常见的嵌入式操作系统,各有什么特点。
VxWorks 特点:可靠性、实时性、可剪裁性、P98pSOS 特点:1 支持范围相当广泛的硬件2集成了tcp/ip 协议,具有天生的英特尔网访问能力3快速精确的系统核心 4 运行高效稳定,多处理器支持Palm OS 特点:操作系统的节能功能、合理的内存管理、数据以数据库格式存储、应用范围相当广泛。
QNX 特点:分布式,嵌入式可扩展的实时操作系统。
Windows CE 特点:1 具有灵活的电源管理功能 2 使用了对象存储技术3高效率的操作系统特性 4 拥有良好的通信能力。
5 支持嵌套中断 6 更好的线程响应能力。
7 256个优先级别。
8 支持近1500个Win32 API.μC/OS-II 特点:是一种免费公开的源代码,结构小巧,具有可剥夺实时内核的实时操作系统。
嵌入式Linux 特点:开放源代码,高性能、可剪裁的内核,优秀的网络系统。
3 嵌入式操作系统分哪两类?硬实时系统和软实时系统4、ARM共有多少寄存器?其中有哪几个通用寄存器?哪几个状态寄存器?含有37个寄存器。
31个通用寄存器:包括程序计数器PC等,这些寄存器都是32位寄存器。
6个状态寄存器:用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。
P335、ARM微处理器有哪7种运行模式?1.用户模式(usr):ARM处理器正常的程序执行状态;2. 快速中断模式(fiq):用于高速数据传输或通道管理;3. 外部中断模式(irq):用于通用的中断处理;4. 管理模式(svc):操作系统使用的保护模式;5. 数据访问终止模式(abt):当数据或指令预取终止时进入该模式,用于虚拟存储及存储保护;6.系统模式(sys):运行具有特权的操作系统任务;7.未定义指令中止模式(und):当未定义指令执行时进入该模式,可用于支持硬件协处理器的软件仿真6、几个常用的的指令:B、BL、BLX、BX、CMP、MOV、MRS、MSR、LDR、STR、ADD、SUB、TEQ、TST等。
第一章:1、什么是嵌入式系统?嵌入式系统是一应用为中心,以及设计技术为基础,软/硬件可裁剪。
功能、可靠性、成本、体积、功耗要求严格的专用计算机系统.1.2 与通用计算机相比,嵌入式系统有哪些特点?1).嵌入式系统通常是面向特定应用的;2).嵌入式系统是将计算机技术,半导体技术和电子技术与各行各业的具体应用相结合的后的产物,是一门综合技术学科;3).嵌入式系统和具体应用有机的结合在一起,它的升级换代也是和具体产品同步进行的,因此嵌入式产品一旦进入市场,就有较长的生命周期;4).为了提高执行速度和可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中;5)。
嵌入式系统本身不具有自主开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发.3、根据嵌入式系统的复杂程度,嵌入式系统可以分为哪4类?1)单个微处理器:2)嵌入式处理器可扩展的系统:3)复杂嵌入式系统:4)在制造或过程控制中使用的计算机系统4、举例说明嵌入式微处理器有哪几类?嵌入式微处理器、嵌入式微控制器、嵌入式DSP,嵌入式片上系统(ESOC)1。
5从硬件系统来看,嵌入式系统由哪几个部分组成?画出简图.1、哈佛体系结构与冯诺依曼体系结构有何不同?哈佛结构和冯。
诺依曼结构都是一种存储器结构。
哈佛结构是将指令存储器和数据存储器分开的一种存储器结构;而冯.诺依曼结构将指令存储器和数据存储器合在一起的存储器结构。
相对于冯·诺依曼结构,哈佛结构更加适合于那些程序固化、任务相对简单的控制系统。
4、ARM处理器有哪几种工作模式?各种工作模式分别有什么特点?(第二版)答:User:用户模式。
绝大部分的任务执行都在这种操作模式下,此为正常的程序执行模式。
FIQ:快速中断模式。
当一个高优先级中断产生时,系统将会进入这种操作模式,用于高速数据传输和通道处理,由FIQ请求位发出请求信号.IRQ:普通中断模式。
ARM寄存器组织:ARM微处理器共有37个32位寄存器,分成两大类:31个通用32位寄存器;6个状态寄存器。
但是这些寄存器不能被同时访问,具体哪些是可编程访问的取决于微处理器的工作状态及具体的运行模式。
但在任何时候,通用寄存器R0~R14、程序计数器PC、一个或两个状态寄存器都是可访问的。
ARM的通用寄存器包括R0~R15分三类:1.未分组寄存器R0~R7。
2.分组寄存器R8~R14。
3.程序计数器PC(R15)。
在汇编语言中寄存器R0~R13为保存数据或地址值的通用寄存器。
它们是完全通用的寄存器,不会被体系结构作为特殊用途,并且可用于任何使用通用寄存器的指令。
其中R0~R7为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器。
寄存器R8~R14为分组寄存器。
它们所对应的物理寄存器取决于当前的处理器模式,几乎所有允许使用通用寄存器的指令都允许使用分组寄存器。
寄存器R8~R12有两个分组的物理寄存器。
一个用于除FIQ模式之外的所有寄存器模式,另一个用于FIQ模式。
这样在发生FIQ中断后,可以加速FIQ的处理速度。
寄存器R13、R14分别有6个分组的物理寄存器。
一个用于用户和系统模式,其余5个分别用于5种异常模式。
寄存器R13常作为堆栈指针(SP)。
在ARM指令集当中,没有以特殊方式使用R13的指令或其它功能,只是习惯上都这样使用。
但是在Thumb指令集中存在使用R13的指令。
R14为链接寄存器(LR),在结构上有两个特殊功能:(1)在每种模式下,模式自身的R14版本用于保存子程序返回地址;(2)当发生异常时,将R14对应的异常模式版本设置为异常返回地址(有些异常有一个小的固定偏移量)。
寄存器R15用作程序计数器(PC)。
当处理器执行在ARM状态:所有指令 32 bits 宽,所有指令必须 word 对齐,所以 pc值由bits [31:2]决定, bits [1:0] 未定义 (所以指令不能halfword / byte对齐);当处理器执行在Thumb状态:所有指令 16 bits 宽,所有指令必须halfword 对齐,所以 pc值由bits [31:1]决定, bits [0] 未定义 (所以指令不能 byte对齐);当处理器执行在Jazelle 状态:所有指令 8 bits 宽,处理器执行 word 存取一次取4条指令;寄存器R15为程序计数器(PC),它指向正在取指的地址。
可以认为它是一个通用寄存器,但是对于它的使用有许多与指令相关的限制或特殊情况。
如果R15使用的方式超出了这些限制,那么结果将是不可预测的。
ARM的程序状态寄存器:ARM体系结构包含一个当前程序状态寄存器 (CPSR), 加上5个程序状态保存寄存器SPSR。
CPSR 可以在任何运行模式下被访问,它包括条件码标志位、中断禁止位、当前处理器模式标志位,以及其他一些相关的控制和状态位。
SPSR是当异常发生时,用于保存CPSR的状态。
程序状态寄存器的功能是:保存ALU当前操作信息,控制允许和禁止中断,设置处理器操作模式。
程序状态寄存器每一位的定义:(1)条件码标志位。
(2)控制位。
(3)保留位。
N、Z、C、V 为条件码标志位, N = 1-结果为负,0-结果为正或0。
Z = 1-结果为0,0-结果不为0。
C =1-进位,0-借位。
V =1-结果溢出,0结果没溢出。
可以在处理器中作为数学和逻辑操作改变,可以被所有的指令测试,以决定指令是否被执行,N : Negative. Z : Zero. C : Carry. V : Overflow。
程序状态寄存器的低8位(包括I、F、T和M[4:0])称为控制位,I and F 位是中断禁止位,I = 1: 禁止IRQ中断.F = 1: 禁止FIQ中断.M0, M1, M2, M3 and M4 位是模式位。
保留位用于ARM的扩展。
Thumb状态寄存器与ARM状态寄存器有如下的关系:Thumb状态R0~R7与ARM状态R0~R7相同;Thumb状态CPSR和SPSR 与ARM状态CPSR和SPSR相同;Thumb状态SP映射到ARM状态R13;Thumb状态LR映射到ARM状态R14;Thumb状态PC 映射到ARM状态PC(R15)。
ARM工作模式:除用户模式外,其它模式均为特权模式。
除系统模式和用户模式外,其他模式为异常模式。
ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。
此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。
用户和系统模式都不能由异常进入,而且它们使用完全相同的寄存器组。
系统模式是特权模式,不受用户模式的限制。
操作系统在该模式下访问用户模式的寄存器就比较方便,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。
异常响应(模式切换):当异常发生,CPU进入相应的异常模式时,以下工作是由CPU自动完成的:1、在异常模式的R14中保存前一工作模式的下一条即将执行的指令地址;2、将CPSR的值复制到异常模式的SPSR中;3、将CPSR的工作模式设为该异常模式对应的工作模式;4、令PC值等于这个异常模式在异常向量表中的地址,即跳转去执行异常向量表中的相应指令;从异常返回时,需要由软件来完成以下工作:1、将异常模式的R14减去一个适当的值(4或8)后赋给PC寄存器;2、将异常模式SPSR的值赋给CPSR;3、若在进入异常处理时设置了中断禁止位,要在此清除。
CISC与RISC比较:CISC:复杂指令集计算机;RISC:精简指令集计算机。
CISC的主要缺点:指令使用频度不均衡。
大量复杂指令的控制逻辑不规整,不适于VLSI工艺。
复杂指令增加硬件的复杂度,使指令执行周期大大加长,直接访存次数增多,降低了CPU性能。
不利于先进指令级并行技术的采用。
RISC也有它的缺点:代码密度不高,可执行文件体积较大,汇编代码可读性较差。
i++与i- -的效率:i- -操作本身会影响CPSR(当前程序状态寄存器),CPSR常见的标志有N(结果为负), Z(结果为0),C(有进位),O(有溢出)。
i > 0,可以直接通过Z标志判断出来。
i++操作也会影响CPSR(当前程序状态寄存器),但只影响O(有溢出)标志,这对于i < n的判断没有任何帮助。
所以还需要一条额外的比较指令,也就是说每个循环要多执行一条指令。
进程与线程:在多道程序系统中,各个程序之间是并发执行的,共享系统资源。
CPU需要在各个运行的程序之间来回地切换,这样的话,要想描述这些多道的并发活动过程就变得很困难。
为此,操作系统设计者提出了进程的概念。
一个进程应该包括:程序的代码;程序的数据;PC中的值,用来指示下一条将运行的指令;一组通用的寄存器的当前值,堆、栈;一组系统资源(如打开的文件)总之,进程包含了正在运行的一个程序的所有状态信息。
进程的特性:动态性:程序的运行状态在变,PC、寄存器、堆和栈等;独立性:是一个独立的实体,是计算机系统资源的使用单位。
每个进程都有“自己”的PC和内部状态,运行时独立于其他的进程(逻辑PC和物理PC);并发性:从宏观上看各进程是同时独立运行的。
需要提出一种新的实体,满足以下特性:实体之间可以并发地执行;实体之间共享相同的地址空间;这种实体就是:线程(Thread)它是进程当中的一条执行流程。
从两个方面来理解进程:从资源组合的角度:进程把一组相关的资源组合起来,构成了一个资源平台(环境),包括地址空间(代码段、数据段)、打开的文件等各种资源;从运行的角度:代码在这个资源平台上的一条执行流程(线程)。
进程=线程+资源平台;优点:一个进程中可以同时存在多个线程;各个线程之间可以并发地执行;各个线程之间可以共享地址空间。
一个进程和一个线程最显著的区别是:线程有自己的全局数据。
线程存在于进程中,因此一个进程的全局变量由所有的线程共享。
由于线程共享同样的系统区域,操作系统分配给一个进程的资源对该进程的所有线程都是可用的,正如全局数据可供所有线程使用一样。
C/OS的任务就是一个线程,任务的调度:何时进行调度:1.当一个新的任务被创建时,是执行新任务还是继续执行父任务;2.当一个任务运行完毕时;3.当一个任务由于I/O、信号量或其他的某个原因被阻塞时;4.当一个I/O中断发生时,表明某个I/O操作已经完成,而等待该I/O操作的任务转入就绪状态;5.在分时系统中,当一个时钟中断发生时。
两种调度方式:不可抢占调度方式:一个进程若被选中就一直运行下去,直到它被阻塞(I/O,或正在等待其他进程),或主动地交出CPU。
以上的情形1-3均可发生调度;可抢占调度方式:当一个进程在运行时,调度程序可以打断它。
以上的情形1-5均可发生调度,另外,在其他一些情形下,如就绪队列中有新进程的优先级高于当前正运行的进程,也可能立即进行调度。
嵌入式调度算法的评价指标:响应时间:调度器为一个就绪任务进行上下文切换的时间,以及任务在就绪队列中等待的时间;周转时间:一个任务从提交到完成所经历的时间;调度开销:调度算法在执行时所需要的时间和空间开销;公平:大致相当的两个进程所得到的CPU时间也应是大致相同的,防止饥饿;均衡:尽可能使整个系统的各部分(CPU、I/O)都忙起来,提高系统资源的使用效率;吞吐量:单位时间内完成的任务数。
调度算法:先来先服务(FCFS,FIFO):按照任务到达就绪队列的先后次序进行调度;不可抢占方式:当前任务占用CPU,直到执行完或被阻塞,才让出CPU给另外一个任务;在任务被唤醒后(如I/O完成),并不立即恢复执行,而是放在就绪队列的末尾;优点:简单、公平,易于理解也易于实现。
现实生活中应用广泛:排队。
短作业优先(SJF):设计目标是改进FCFS算法,减少平均周转时间;SJF算法要求任务在开始执行时预计执行时间,对预计执行时间短的任务优先分派处理器;两种实现方案:不可抢占方式:当前任务在运行时不会被打断,只有运行完毕或阻塞时,才让出CPU;可抢占方式:如果一个新的短任务到来,其运行时间小于当前正在运行任务的剩余时间,则抢占CPU运行,称为SRTF。
时间片轮转算法(RR):将所有的就绪任务按照FCFS原则,排成一个队列;每次调度时将处理器分派给队首任务,让其执行一小段CPU时间(时间片);在一个时间片结束时,如果任务还没有执行完的话,将发生时钟中断,在时钟中断中,调度程序将暂停当前任务的执行,并将其送到就绪队列的末尾,然后执行当前的队首任务;如果一个任务在它的时间片用完之前就已结束或被阻塞,那么立即让出CPU。
优点:公平性:各个就绪任务平均地分配CPU的使用时间。
假设有n个就绪任务,时间片大小为q,那么每个任务将得到1/n的CPU时间;活动性:每个任务最多等待(n-1)q时间就能够再次得到CPU去运行;缺点:q的大小难以确定(一般在20-50ms)。