《2022年嵌入式微处理器体系结构复习资料.docx》由会员分享,可在线阅读,更多相关《2022年嵌入式微处理器体系结构复习资料.docx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源一、嵌入式微处理器体系结构嵌入式微处理器的体系结构可以采纳冯诺依曼体系结构或哈佛体系结构,指令系统可以选用精简指令系统 RISC 和复杂指令集系统CISC;1、冯诺依曼体系结构和哈佛体系结构;1冯诺依曼结构的电脑由CPU 和储备器构成,其程序和数据共用一个储备空间,程序指令储备地址和数据储备地址指向同一个储备器的不同物理位置;采纳单一的地址及数据总线,程序指令和数据的宽度相同;程序计数器PC是 CPU 内部指示指令和数据的储备位置的寄存器;2哈佛结构的主要特点是将程序和数据储备在不同的储备空间中,即程序储备器和数据储备器是两个相互独立的储备器,每个储备器独立编址、独立拜访;提高执行
2、速度,提高数据的吞吐率 ,具有较高的执行效率;2、CISC和RISC类别CISCRISC指令系统指令数量很多较少,通常少于 100执行时间有些指令执行时间很长,如整块的储备器内容拷贝;或将多个寄存器的内容编码长度拷贝到存贮器编码长度可变, 1-15 字节没有较长执行时间的指令编码长度固定,通常为4 个字节寻址方式寻址方式多样简洁寻址操作可以对储备器和寄存器只能对寄存器对行算术和规律操作,进行算术和规律操作Load/Store 体系结构编译难以用优化编译器生成高效的目标代码程序采纳优化编译技术, 生成高效的目标代码程序二、 ARM 状态各模式下的寄存器1、全部的 37 个寄存器,分成两大类:(1
3、) 31 个通用 32 位寄存器;(2) 6 个状态寄存器;2、R0 R7 为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的 32 位物理寄存器;3、寄存器 R8 R14 为分组寄存器;它们所对应的物理寄存器取决于当前的处理器模式,几乎全部答应使用通用寄存器的指令都答应使用分组寄存器4、寄存器 R8 R12 有两个分组的物理寄存器;一个用于除 FIQ 模式之外的全部寄存器模式, 另一个用于 FIQ 模式;这样在发生FIQ 中断后,可以加速FIQ 的处理速度5、寄存器 R13、R14 分别有 6 个分组的物理寄存器;一个用于用户和系统模式,其余5 个分别用于 5 种反常模式
4、;三、处理器工作模式1、ARM 处理器有 7 种工作模式; usr用户模式 : ARM 处理器正常程序执行模式; fiq 快速中断模式 :用于高速数据传输或通道处理 irq 外部中断模式 :用于通用的中断处理欢迎下载精品学习资源 svc治理模式:操作系统使用的爱护模式 abt 数据拜访终止模式 : 当数据或指令预取终止时进入该模式,可用于虚拟储备及储备爱护; sys系统模式 : 运行具有特权的操作系统任务; und未定义指令中止模式 :当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真;ARM 微处理器的运行模式可以通过软件转变,也可以通过外部中断或反常处理转变;除用户模式以外,
5、其余的全部 6 种模式称之为非用户模式,或 特权模式 Privileged Modes;其中除去用户模式和系统模式以外的 5 种又称为反常模式 Exception Modes ,常用于处理中断或反常,以及需要拜访受爱护的系统资源等情形;2、除用户模式外, 其它模式均为特权模式; ARM 内部全部系统资源和一些片内外设在硬件设计上只答应或者可选为只答应特权模式下拜访;3、此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式;四、 ARM 反常处理1、当反常产生时 , ARM核: 1拷贝 CPSR 到 SPSR_ 2设置适当的CPSR 位:a. 转变处理器状态进入ARM态b.
6、转变处理器模式进入相应的反常模式c. 设置中断禁止位禁止相应中断如需要 3储存返回地址到LR_ 4设置 PC 为相应的反常向量地址2、返回时 , 反常处理程序需要: 1从 SPSR_复原 CPSR 2从 LR_ 复原 PC 3留意 :这些操作只能在ARM态执行 .五、 ARM 指令集1、ARM 寻址方式:把握 ARM 微处理器 9 种寻址方式的特点; 1寄存器寻址操作数的值在寄存器中,指令中的地址码字段给出的是寄存器编号,寄存器的内容是操作数,指令执行时直接取出寄存器值操作;例如指令:MOVR1,R2; R1 R2SUBR0,R1,R2; R0 R1- R22立刻寻址在立刻寻址指令中数据就包含
7、在指令当中,立刻寻址指令的操作码字段后面的地址码部 分就是操作数本身,取出指令也就取出了可以立刻使用的操作数也称为立刻数;立刻数要以“”为前缀,表示16 进制数值时以“ 0x”表示;例如指令:ADDR0,R0,#1;R0R0 + 1MOVR0,#0xff00; R0 0xff003寄存器移位寻址欢迎下载精品学习资源寄存器移位寻址是ARM 指令集特有的寻址方式;第2 个寄存器操作数在与第1 个操作数结合之前,先进行移位操作;例如指令:MOVR0,R2,LSL #3; R2 的值左移3 位,结果放入R0,即 R0=R2 * 8ANDSR1,R1,R2,LSL R3;R2 的值左移R3 位,然后和R
8、1 相与操作,结果放入R1可采纳的移位操作如下:LSL :规律左移 Logical Shift Left ,寄存器中字的低端空出的位补0;LSR:规律右移 Logical Shift Right ,寄存器中字的高端空出的位补0;ASR :算术右移 Arithmetic Shift Right,移位过程中保持符号位不变,即假如源操作数为正数,就字的高端空出的位补0,否就补 1ROR :循环右移 Rotate Right ,由字的低端移出的位填入字的高端空出的位RRX :带扩展的循环右移 Rotate Right extended by 1 place ,操作数右移一位,高端空出的位用原 C 标志
9、值填充;4寄存器间接寻址指令中的地址码给出的是一个通用寄存器编号,所需要的操作数储存在寄存器指定地址的储备单元中,即寄存器为操作数的地址指针,操作数存放在储备器中;例如指令:LDRR0,R1;R0 R1将 R1 中的数值作为地址,取出此地址中的数据储存在R0 中STRR0,R1; R1 R05变址寻址变址寻址是将基址寄存器的内容与指令中给出的偏移量相加,形成操作数的有效地址, 变址寻址用于拜访基址邻近的储备单元,常用于查表,数组操作,功能部件寄存器拜访等;例如指令:LDRR2,R3,#4;R2R3 + 4 将 R3 中的数值加 4 作为地址,取出此地址的数值储存在 R2 中STRR1,R0,#
10、-2;R0-2 R1将 R0 中的数值减 2 作为地址,把 R1 中的内容储存到此地址位置 6多寄存器寻址LDM/STM LDM/STM指令可以把储备器中的一个数据块加载到多个寄存器中,也可以把多个寄存器中的内容储存到储备器中;寻址操作中的寄存器可以是R0-R15 这 16 个寄存器的子集或是全部寄存器; 采纳多寄存器寻址方式,一条指令可以完成多个寄存器值的传送,这种寻址方式用一条指令最多可以完成16 个寄存器值的传送;格式为:LDM 或 STM 条件 类型基址寄存器 ! ,寄存器列表 该指令的常见用途是将多个寄存器的内容入栈或出栈;7堆栈寻址堆栈是一种数据结构, 堆栈是特定次序进行存取的储备
11、区,操作次序分为 “后进先出” 和“先进后出” ,堆栈寻址时隐含的,它使用一个特地的寄存器堆栈指针指向一块储备区域堆栈,指针所指向的储备单元就是堆栈的栈顶;8块复制寻址块复制寻址用于把一块从储备器的某一位置复制到另一位置,是一个多寄存器传送指令;9相对寻址相对寻址是变址寻址的一种变通,由程序计数器PC 供应基准地址,指令中的地址码字段作为偏移量,两者相加后得到的地址即为操作数的有效地址;欢迎下载精品学习资源2、堆栈寻址满递增堆栈 FA :堆栈指针指向最终压入的数据,且由低地址向高地址生成;满递减堆栈 FD :堆栈指针指向最终压入的数据,且由高地址向低地址生成;空递增堆栈 EA :堆栈指针指向下
12、一个将要放入数据的空位置,且由低地址向高地址生成;空递减堆栈 ED:堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址生成;3、多寄存器寻址 块拷贝寻址 1块拷贝寻址是多寄存器传送指令LDM/STM的寻址方式; LDM/STM指令可以把储备器中的一个数据块加载到多个寄存器中,也可以把多个寄存器中的内容储存到储备器中;寻址操作中的寄存器可以是R0-R15 这 16 个寄存器的子集或是全部寄存器;2LDM/STM指令依据其后缀名的不同其寻址的方式也有很大不同;3LDMIAR1!, R0 , R2, R3 指令执行后, R1 的值变为 R1+12 R1 ;注:!打算寻址模式Rn 的值是否随着
13、传送而转变描述起始地址终止地址Rn.IA执行后增加RnRn+4*NRn+4*NIB执行前增加Rn+4Rn+4*NRn+4*NDA执行后削减RnRn-4*NRn-4*NDB执行前削减Rn-4Rn-4*NRn-4*N六 ARM 状态与 Thumb 状态 的转换1、实现 ARM 工作状态转换的指令,其句法如下:BX目标地址1BX 指令将引起处理器转移到目标地址所指向的地址处执行;2目标地址的位 0 不用来作为地址的一部分;a. 假设目标地址的位0 为 1,就指令将 CPSR 中的标志 T 置位,且将目标地址的代码说明为Thumb 代码;b. 假设目标地址的位 0 为 0,就指令将 CPSR 中的标志
14、 T 复位,且将目标地址的代码说明为ARM 代码;七、 ARM 的硬件系统结构1、S3C2410 的储备器系统1S3C2410 支持大、小端模式,可通过软件挑选大小端模式;2储备空间分成 8 个 Bank,每个 Bank 128Mbytes ,总共1GB; 6 个 Bank 用于掌握 ROM, SRAM, etc.剩余的 2 个 Bank 用于掌握 ROM, SRAM, SDRAM, etc .3除 Bank0 16/32-bit外,全部的 Bank 都可以通过编程挑选总线宽度= 8/16/32-bit;47 个 Bank 固定起始地址,最终一个Bank 可调整起始地址;5最终两个 Bank
15、大小可编程6全部 Bank 储备周期可编程掌握;7假如同时使用 Bank6/ Bank7 ,就要求连接相同容量的储备器,而且其地址空间在物理上是连续的;2、S3C2410 的 I/O 口配置欢迎下载精品学习资源端口 C可挑选的引脚端功能GPC15 GPC8输入 /输出VD7 VD0输入 /输出配置端口 C 引脚端,使用位 31:0 ,分别对端口GPCCON0x56000020R/WB 的 16 个引脚端进行配置; 00:输入; 01:输出;10 :第 2 功能; 11:保留0x0GPCDAT0x56000024R/W端口 C 数据寄存器,使用位 15:0未定义GPCUP0x56000028R/
16、W端口 C 上拉电阻不使能寄存器,使用位0 :使能; 1:不使能15:0;0x0保留0x5600002C保留未定义S3C2410 有 117 个多功能口,把握如何通过软件编程对每个I/O 口进行配置;如将端口C 的最低 2 为设置为 01,既设置成输出模式,其余位不变;rGPCCON = rGPCCON&0xfffffffc|0x00000001; rGPCDAT= rGPCDAT |0x001;/PC0 口电平输出高表 3.4.3S3C2410A 的端口 C I/O 口配置情形GPC7 GPC5LCDVF2 LCDVF0GPC4输入 /输出VMGPC3输入 /输出VFRAMEGPC2输入 /
17、输出VLINEGPC1输入 /输出VCLK寄存器GPC0地址输入 /输出读/写LEND描述复位值表端口 C 掌握寄存器3、把握 ARM 微处理器的中断系统的特点明白:一旦有中断发生,ARM 的中断系统将如何处理;在 ARM 系统中,支持复位、未定义指令、软中断、预取中止、数据中止、IRQ 和 FIQ 7 种反常,每种反常对应于不同的处理器模式,有对应的反常向量固定的储备器地址;在 ARM 系统中,一旦有中断发生,正在执行的程序都会停下来,通常都会执行如下的中断步骤: 1储存现场;储存当前的PC 值到 R14,储存当前的程序运行状态到SPSR; 2模式切换;依据发生的中断类型,进入IRQ 模式或
18、 FIQ 模式; 3猎取中断服务子程序地址;PC 指针跳到反常向量表所储存的IRQ 或 FIQ 地址处,欢迎下载精品学习资源IRQ 或 FIQ 的反常向量地址处一般储存的是中断服务子程序的地址,PC 指针跳入到中断服务子程序,进行中断处理;4多个中断恳求处理;在ARM 系统中,可以存在多个中断恳求源,比方串口中断、AD中断、外部中断、定时器中断及DMA中断等,所以可能显现多个中断源同时恳求中断的情 况;为了更好地区分各个中断源,通常为这些中肯定义不同的优先级别,并为每一个中断设置一个中断标志位; 当发生中断时, 通过判定中断优先级以及拜访中断标志位的状态来识别哪一个中断发生了,进而调用相应的函
19、数进行中断处理;5中断返回,复原现场;当完成中断服务子程序后,将SPSR 中储存的程序运行状态复原到 CPSR 中, R14 中储存的被中断程序的地址复原到PC 中,连续执行被中断的程序;4、明白 S3C2410 的 DMA 掌握器的基本工作原理;DMA Direct Memory Acess ,直接储备器存取 方式是指储备器与外设在 DMA 掌握器的掌握下, 直接传送数据而不通过 CPU ,传输速率主要取决于储备器存取速度; 在 DMA 传输过程中, DMA 掌握器负责治理整个操作,并且无须 CPU 介入,从而大大提高了 CPU 的工作效率; DMA 方式为高速 I/O 设备和储备器之间的批
20、量数据交换供应了直接的传输通道;由于 I/O 设备直接同内存发生成块的数据交换,可以提高I/O 效率;现在大部分电脑系统均采纳 DMA技术;很多输入输出设备的掌握器都支持DMA方式;采纳 DMA方式进行数据传输的详细过程如下;(1) 外设向 DMA掌握器发出 DMA 恳求;(2) DMA掌握器向 CPU 发出总线恳求信号;3CPU 执行完现行的总线周期后,向DMA掌握器发出响应恳求的答复信号;4CPU 将掌握总线、地址总线及数据总线让出,由DMA掌握器进行掌握;5DMA掌握器向外部设备发出DMA恳求答复信号;6进行 DMA传送;7数据传送完毕,DMA掌握器通过中断恳求线发出中断信号;CPU 在
21、接收到中断信号后,转人中断处理程序进行后续处理;8中断处理终止后, CPU 返回到被中断的程序连续执行;CPU 重新获得总线掌握权;每个 DMA掌握器可以处理以下4 种情形: 1源和目的都在系统总线上; 2源在系统总线上,目的在外围总线上; 3源在外围总线上,目的在系统总线上; 4源和目的都在外围总线上;5、嵌入式储备系统的特点;1高速缓冲储备器原理及特点;高速缓冲储备器 cache用来提高储备器系统的性能,很多微处理器体系结构都把它作为其定义的一部分; cache 能够削减内存平均拜访时间;Cache 可以分为统一 cache 和独立的数据程序cache;(2)储备器治理单元MMU主要完成的
22、功能; 1虚拟储备空间到物理储备空间的映射;采纳了页式虚拟储备治理,它把虚拟地址空间分成一个个固定大小的块, 每一块称为一页, 把物理内存的地址空间也分成同样大小的页;MMU 实现的就是从虚拟地址到物理地址的转换; 2储备器拜访权限的掌握;欢迎下载精品学习资源 3设置虚拟储备空间的缓冲的特性;八、 嵌入式系统 I/O 设备接口1、把握 S3C2410 的 I/O 接口的编程要求:把握I/O 口编程,能编写实现LED1 、 LED2、 LED3 、 LED4轮番闪耀的程序;实现 LED1 和 LED2 轮番闪耀的程序代码void Main void int flag , i;Target Ini
23、t ; /进行硬件初始化操作,包括对I O 口的初始化操作for;if flag = = 0 fori = 0 ; i 1000000 ; i+ ;/延时rGPGCON rGPGCON 0xfff0ffff | 0x00050000; /配置第 8、第欢迎下载精品学习资源/9 位为输出引脚第 9 位输出高电平rGPGDA T rGPGDA T 0xeff | 0x200 ;/第 8 位输出为低电平/fori = 0 ; i 10000000 ; i+ ;/ 延时flag = 1 ;欢迎下载精品学习资源else为输出引脚fori = 0 ; i 1000000 ; i+ ;/ 延时rGPGCON
24、 rGPGCON 0xfff0ffff 0x00050000 ; /配置第 8、rGPGDA T rGPGDA T Oxdff | 0x100 ;/ 第 8 位输出为高电平/第 9 位欢迎下载精品学习资源出低电平fori = 0 ; i 1000000 ; i+ ;/延时flag = 0 ;/ 第 9 位输欢迎下载精品学习资源2、把握 S3C2410 的 A/D 转换器接口的原理要求:把握 A/D 转换器接口的原理,能编写A/D 转换器初始化函数和猎取A/D 的转换值的程序;1A/D 转换器模数转换器完成电模拟量到数字量的转换;实现A/D 转换的方法很多,常用的方法有计数法、双积分法和逐次靠近
25、法等;2对 A/D 转换器进行初始化欢迎下载精品学习资源程序中的参数 ch 表示所挑选的通道号,程序如下: voidAD_Initunsigned char chrADCDL Y=100;/ADC 启动或间隔延时rADCTSC=0;/ 挑选 ADC 模式rADCCON= 114 |496 | ch3 |02 |07 return 0;/ 通道不能大于7fori=0;i 16;i+ / 为转换精确,转换16 次rADCCON |=0x1;/启动 A/D 转换rADCCON= rADCCON 0xffc7 | ch 4 ;/ 为转换精确,除以16 取均值3、把握四线式电阻式触摸屏的工作原理,能分析
26、触摸点的 X 轴坐标和 Y 轴坐标是如何测量出来的;触摸屏按其工作原理可分为矢量压力传感式、电阻式、电容式、红外线式和外表声波式5类;在嵌入式系统中常用的是电阻式触摸屏;四线式触摸屏的 X 工作面和 Y 工作面分别加在两个导电层上,共有 4 根引出线: X 、X , Y 、 Y 分别连到触摸屏的X 电极对和 Y 电极对上;四线电阻屏触摸寿命小于100 万次;当给 X 方向的电极对施加一确定的电压,而 Y 方向电极对不加电压时, 在 x 平行电压场中, 触点处的电压值可以在Y 或 Y 电极上反映出来, 通过测量 Y 电极对地的电压大小, 通过 A/D 转换,便可得知触点的X 坐标值;同理,当给
27、Y 电极对施加电压,而X 电极对不加电压时,通过测量X 电极的电压,通过A/D 转换便可得知触点的Y 坐标;四线电阻触摸屏的辨论方法是将四线电阻触摸后变化的模拟量转换成数字量,经过软件运算得出不同的屏幕上不同的,坐标;此工作主要是靠S3C2440A芯片中的模数转换器来实现的;4、明白S3C2410 的 UART 串行接口的工作原理,把握S3C2410 的 UART 发送和接收数据的程序设计;UART 通用异步收发器主要由数据线接口、掌握规律、配置寄存器、波特率发生器、发送部分和接收部分组成,采纳异步串行通信方式,采纳RS-232C 9 芯接插件 DB-9 连接, 是广泛使用的串行数据传输方式.
28、欢迎下载精品学习资源本程序实例实现从 UART0 接收数据, 然后分别从 UART0 和 UART1 发送出去; 其功能可以把键盘敲击的字符通过 PC 机的串口发送给 ARM 系统上的 UART0 ,ARM 系统上的 UART0 接收到字符后, 再通过 UART0 和 UART1 送给 PC 机,这样就完成了串口间的收发数据; 要实现以上数据的收发功能,需要编写的主要代码如下;1发送数据其中 whichUart 为全局变量, 指示当前挑选的 UART 通道, 使用串口发送一个字节的代码如下:void Uart_SendByte int dataif whichUart= =0 if data=
29、 = nwhile !rUTRSTA T0 0x2 ;Delay10;/延时,与终端速度有关WrUTXH r;while !rUTRSTAT0 0x2 ;/等待,直到发送状态就绪Delay 10;WrUTXH0 data;else if whichUart= =1 if data= nwhile !rUTRSTAT1 0x2 ;Delay 10;/延时,与终端速度有关rUTXH1= r;while ! rUTRSTA T1 0x2 ;/ 等待,直到发送状态就绪Delay 10;rUTXH1 data;else if whichUart= =2 ifdata= = nwhile !rUTRSTA
30、 T2 0x2 ;Delay10;/延时,与终端速度有关rUTXH2 r;while ! rUTRSTA T2 0x2 ; /等待,直到发送状态就绪Delay 10;rUTXH2 data;欢迎下载精品学习资源2接收数据假如没有接收到字符就返回0;使用串口接收一个字符的代码如下: char Uart_GetKey void if whichUart 0if rUTRSTA T0 0x1 /UARTO 接收到数据returnRdURXH0 ;欢迎下载精品学习资源elsereturn 0;欢迎下载精品学习资源else if whichUart= =1 if rUTRSTA T1 0x1 /UART
31、1 接收到数据returnRdURXH1 ;欢迎下载精品学习资源elsereturn 0;欢迎下载精品学习资源else if whichUart= =2 if rUTRSTA T2 0x1/UART2 接收到数据return RdURXH2 ;欢迎下载精品学习资源else elsereturn 0;欢迎下载精品学习资源return 0;5、把握键盘接口设计的方法;要求:把握矩阵式键盘的扫描原理,能设计一个与S3C2410 连接的 4X4 的矩阵式键盘的接口电路,并编写键盘扫描程序;(1) 矩阵键盘的按键按N 行 M 列排列, 每个按键占据行列的一个交点,需要的 I/O 口数目是 N+M ,容许
32、的最大按键数是N M;矩阵键盘可以削减与微掌握器I/O 接口的连线数, 是常用的一种键盘结构形式;依据矩阵键盘的识键和译键方法的不同,矩阵键盘又可以分为非编码键盘和编码键盘两种;(2) 一个用 I/O 口实现的键盘接口,为了识别键盘上的闭合键,常采纳行扫描法 ;行扫描法是使键盘上某一行线为低电平,而其余行接高电平, 然后读取列值, 假如列值中有某位为低电平,就说明行列交点处的键被按下;否就扫描下一行,直到扫描完全部的行线为止;(3) 依据行扫描法的原理,识别矩阵键盘按键闭合分两步进行:a. 识别键盘哪一行的键被按下:让全部行线均为低电平,检查各列线电平是否为低,假如有列线为低,就说明该列有键被
33、按下,否就说明无键被按下;b. 假如某列有键被按下,识别键盘哪一行的键被按下:逐行置低电平,并置其余各行为高电平, 检查各列线电平的变化, 假如列电平变为低电平,就可确定此行此列交叉点处按键被按下;欢迎下载精品学习资源void keyboard_testvoidUINT8T ucChar;UINT8T szBuf40;uart_printf “ n Keyboard Test Examplen ” ;uart_printf “ Press any key to exit n”; Keyboard_init;g_nKeyPress=0xFE;While1f_nKeyPress=0; whilef
34、_nKeyPress=0ifuart_tetkey/Press any key from UART0 toexit return;else ifucChar=7/or press 5*4 Key-7 to exit return;else ifg_nKeyPress.=0xFE/or SB1202/SB1203 to exitreturn;iic_read_keybd0x70,0x1,&ucChar;/get data from ZLG7290 IfucChar.=0ucChar-key_setucChar;/key map for Edukit II ifucChar16sprintf&sz
35、Buf, ” press key %d” ,ucChar; else ifucChar255sprintf&szBuf, ” press key %d” ,ucChar; ifucChar=0xFFsprintf&szBuf, ” press key %c” ,ucChar; ifucChar=0xFFsprintf&szBuf, ” press key FUN” ; #ifdef BOARDTESTprint_lcd200,170,0x1c,&szBuf;#endif uart_printfszBuf; uart_printf “n”uart_printf “ end.n” ;欢迎下载精品学
36、习资源九、嵌入式软件及操作系统1、正确懂得进程、线程的概念,把握进程及进程的主要特点,并能说明进程和程序有什么区分;1 进程 process是在描述多道系统中并发活动过程引入的一个概念;进程和程序是两个既有联系又有区分的概念,两者不能混为一谈;而进程就是一次执行过程,它是临时的, 是动态地产生和终止的;一个进程通常包含有以下几个方面的内容:相应的程序; CPU 上下文;一组系统资源;进程的特点:进程具有动态性;进程具有独立性;进程具有并发性;2线程 thread是一个比进程更小的能独立运行的基本单位;所谓的线程,就是进程当中的一条执行流程;包括运行上下文、内存地址空间、打开的文件等;可以用线程
37、来作为CPU 的基本调度单位,使得各个线程之间可以并发执行;对于同一个进程当中的各个线程来说,运行在相同的资源平台上,可以共享该进程的大部分资源,但也有一小部分资源是不能共享的,每个线程都必需拥有各自独立的一份;2、任务的实现1 任务的层次结构 ;2. 任务的创建与终止 ;3任务的状态 ;4任务掌握块 ;5 任务切换;6 任务队列 .任务的状态:明白任务的状态是如何转换的,转换的过程;一般来说,任务具有运行running 、就绪 ready和堵塞 blocked 三种基本状态;任务会在不同的状态之间来回转换,存在:运行堵塞、运行就绪、就绪运行、堵塞就绪这四种转换关系;当一个任务已具备运行条件,
38、但由于CPU 正在运行其他的任务,临时不能运行该任务时, 称为就绪状态;不过,只要把CPU 分给该任务,它就能够马上执行;任务由于正在等待某种大事的发生而临时不能运行称为堵塞状态,也叫等待状态 waiting ;此时,即使 CPU 已经闲暇下来了,该任务也仍是不能运行;什么是任务掌握块TCB ,任务掌握块包括哪些主要内容;TCB Task Control Block ,任务掌握块是在操作系统当中用来描述和治理一个任务的数据结构; TCB 主要包括任务的治理信息、CPU 上下文信息、资源治理信息等内容;3、实时系统调度:解实时系统的任务是如何调度的;基于优先级的调度算法给每个进程安排一个优先级,
39、在每次进程调度时,调度器总是调度那个具有最高优先级的任务来执行;很多嵌入式操作系统都是实时操作系统RTOS,实时系统的调度追求的是实时性, RTOS 调度器要让每个任务都在其最终时间期限deadline之前完成,而各任务之间的公正性并不是最重要的指标;RTOS 调度器多采纳基于优先级的可抢占调度算法;在 RTOS 任务模型中,每一个任务用一个三元组来表示执行时间、周期、时间期限;其中:执行时间 execution time Ei是指对于第 i 个任务,当它所需要的资源都己具备时, 它的执行所需要的最长时间;周期periodPi 是指第i 个任务的连续两次运行之间的最小时间间隔;时间期限dead
40、line是指 Di第 i 个任务所答应的最大响应时间从任务启动到运行终止所需的时间 ;欢迎下载精品学习资源4、嵌入式系统的储备治理方式的特点;嵌入式系统的储备治理方式与系统的实际应用领域及硬件环境亲密相关,不同的嵌入式系统采纳不同的储备治理方式,需要考虑硬件条件、实时性要求、系统规模、 牢靠性要求等因素;系统的实时性要求直接影响到储备治理的实现方式,为了确保系统的实时性, 快速和确定是内存治理的基本要求,即在储备治理方面的开销不能太大,对于每一项工作都要有明确 的实时约束, 即必需在某个限定的时刻之前完成;在实时系统中, 储备治理方法就比较简洁, 甚至不供应储备治理功能;在嵌入式微处理器中,MMU MemoryManagement Unit,储备治理单元供应了一种内存爱护的硬件机制;内存爱护用来防止地址越界和防止操作越权;MMU 通常只在一些对安全性和牢靠性的要求比较高、系统比较复杂的嵌入式系统中存在;欢迎下载