嵌入式微处理器体系结构复习资料_第1页
嵌入式微处理器体系结构复习资料_第2页
嵌入式微处理器体系结构复习资料_第3页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、一、嵌入式微处理器体系结构嵌入式微处理器的体系结构可以采用冯诺依曼体系结构或哈佛体系结构,指令系统可以选用精简指令系统RISC和复杂指令集系统 CISC。1冯诺依曼体系结构和哈佛体系结构;1冯诺依曼结构的电脑由 CPU和存储器构成,其程序和数据共用一个存储空间,程序 指令存储地址和数据存储地址指向同一个存储器的不同物理位置;采用单一的地址及数据总线,程序指令和数据的宽度相同。程序计数器 PC是CPU内部指示指令和数据的存储位 置的存放器。2哈佛结构的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据 存储器是两个相互独立的存储器,每个存储器独立编址、独立访问。提高执行速度,提高数

2、据的吞吐率,具有较高的执行效率。2、CISC 和 RISC类别CISCRISC指令系统指令数量很多较少,通常少于100执行时间有些指令执行时间很长, 如整块的存储器内容拷贝; 或将多个存放器的内容 拷贝到存贮器没有较长执行时间的指令编码长度编码长度可变,1-15字节二编码长度固定,通常为 4个字节寻址方式寻址方式多样二简单寻址操作可以对存储器和存放器 进行算术和逻辑操作只能对存放器对行算术和逻辑操作,Load/Store体系结构编译难以用优化编译器生成 高效的目标代码程序采用优化编译技术,生成高效的目标代码程序二、ARM状态各模式下的存放器1所有的37个存放器,分成两大类:(1) 31个通用3

3、2位存放器;(2) 6个状态存放器。2、R0R7为未分组的存放器,也就是说对于任何处理器模式,这些存放器都对应于相同 的32位物理存放器。3、存放器R8R14为分组存放器。它们所对应的物理存放器取决于当前的处理器模式,几 乎所有允许使用通用存放器的指令都允许使用分组存放器4、 存放器R8R12有两个分组的物理存放器。一个用于除FIQ模式之外的所有存放器模式, 另一个用于FIQ模式。这样在发生 FIQ中断后,可以加速 FIQ的处理速度5、 存放器R13、R14分别有6个分组的物理存放器。一个用于用户和系统模式,其余5个 分别用于5种异常模式。三、处理器工作模式1、ARM处理器有7种工作模式; u

4、sr用户模式:ARM处理器正常程序执行模式。 fiq快速中断模式:用于高速数据传输或通道处理 irq外部中断模式:用于通用的中断处理 SVC管理模式:操作系统使用的保护模式 abt 数据访问终止模式 : 当数据或指令预取终止时进入该模式,可用于虚拟存储及存 储保护。 sys系统模式:运行具有特权的操作系统任务。 und未定义指令中止模式:当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。ARM 微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。 除用户模式以外,其余的所有 6 种模式称之为非用户模式,或 特权模式 PriVilegedModes;其中除去用户

5、模式和系统模式以外的5种又称为异常模式Exception Modes,常用于处理中断或异常,以及需要访问受保护的系统资源等情况。2、除用户模式外, 其它模式均为特权模式。 ARM 内部全部系统资源和一些片内外设在硬件 设计上只允许或者可选为只允许特权模式下访问。3、此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。四、ARM 异常处理1、当异常产生时 , ARM 核: 1拷贝 CPSR 到 SPSR_ 2设置适当的 CPSR 位:a. 改变处理器状态进入 ARM态b. 改变处理器模式进入相应的异常模式c. 设置中断禁止位禁止相应中断如需要 3保存返回地址到 LR_ 4设

6、置 PC 为相应的异常向量地址2、返回时 , 异常处理程序需要 :1从 SPSR_恢复 CPSR 2从 LR_ 恢复 PC 3注意 :这些操作只能在 ARM 态执行 .五、ARM 指令集1、ARM 寻址方式:掌握 ARM 微处理器 9 种寻址方式的特点。 1 存放器寻址 操作数的值在存放器中,指令中的地址码字段给出的是存放器编号,存放器的内容是操作数,指令执行时直接取出存放器值操作。例如指令:MOVR1,R2SUBRO,R1,R2 2 立即寻址;R1 R2;R0 R1- R2在立即寻址指令中数据就包含在指令当中, 立即寻址指令的操作码字段后面的地址码部 分就是操作数本身,取出指令也就取出了可以

7、立即使用的操作数也称为立即数。立即数要以“ #为前缀,表示 16进制数值时以“ Ox表示。例如指令:ADDRO,RO,#1MOVRO,#OxffOO 3存放器移位寻址;R0R0 + 1 ;R0 0xff00存放器移位寻址是 ARM 指令集特有的寻址方式。第 2 个存放器操作数在与第 1 个操 作数结合之前,先进行移位操作。例如指令:MOVR0,R2,LSL #3; R2的值左移 3位,结果放入 R0, 即卩R0=R2 * 8ANDSR1,R1,R2,LSL R3; R2的值左移 R3位,然后和 R1相与操作,结果放入 R1可采用的移位操作如下:LSL :逻辑左移Logical Shift Le

8、ft,存放器中字的低端空出的位补0。LSR :逻辑右移Logical Shift Right,存放器中字的高端空出的位补0。ASR :算术右移Arithmetic Shift Right,移位过程中保持符号位不变,即如果源操作数为 正数,那么字的高端空出的位补0,否那么补 1ROR :循环右移Rotate Right,由字的低端移出的位填入字的高端空出的位RRX :带扩展的循环右移Rotate Right extended by 1 place,操作数右移一位,高端空出的 位用原 C 标志值填充。 4存放器间接寻址 指令中的地址码给出的是一个通用存放器编号,所需要的操作数保存在存放器指定地 址

9、的存储单元中,即存放器为操作数的地址指针,操作数存放在存储器中。例如指令 :LDR R0,R1 ; R0-R1将R1中的数值作为地址,取出此地址中的数据保存在 R0中STR R0,R1; R1 R0 5变址寻址变址寻址是将基址存放器的内容与指令中给出的偏移量相加,形成操作数的有效地址,变址寻址用于访问基址附近的存储单元,常用于查表,数组操作,功能部件存放器访问等。例如指令:LDR R2,R3,#4; R2R3 + 4将 R3 中的数值加 4作为地址,取出此地址的数值保存在 R2 中STR R1,R0,#-2; R0-2 R1将R0中的数值减 2作为地址,把 R1中的内容保存到此地址位置 6多存

10、放器寻址 LDM/STM LDM/STM 指令可以把存储器中的一个数据块加载到多个存放器中,也可以把多个寄 存器中的内容保存到存储器中。寻址操作中的存放器可以是R0-R15 这 16 个存放器的子集或是所有存放器。 采用多存放器寻址方式, 一条指令可以完成多个存放器值的传送, 这种寻 址方式用一条指令最多可以完成 16 个存放器值的传送。格式为:LDM或STM条件类型基址存放器 ! ,存放器列表 A 该指令的常见用途是将多个存放器的内容入栈或出栈。 7 堆栈寻址堆栈是一种数据结构, 堆栈是特定顺序进行存取的存储区, 操作顺序分为 “后进先出 和“先进后出 ,堆栈寻址时隐含的,它使用一个专门的存

11、放器堆栈指针指向一块存储 区域堆栈 ,指针所指向的存储单元就是堆栈的栈顶。 8块复制寻址 块复制寻址用于把一块从存储器的某一位置复制到另一位置, 是一个多存放器传送指令。 9相对寻址相对寻址是变址寻址的一种变通,由程序计数器 PC 提供基准地址,指令中的地址码 字段作为偏移量,两者相加后得到的地址即为操作数的有效地址。2、堆栈寻址 满递增堆栈 FA :堆栈指针指向最后压入的数据,且由低地址向高地址生成。 满递减堆栈 FD :堆栈指针指向最后压入的数据,且由高地址向低地址生成。空递增堆栈 EA :堆栈指针指向下一个将要放入数据的空位置, 且由低地址向高地址生成。 空递减堆栈ED:堆栈指针指向下一

12、个将要放入数据的空位置,且由高地址向低地址生成。3、多存放器寻址 (块拷贝寻址 ) 1块拷贝寻址是多存放器传送指令 LDM/STM 的寻址方式。 LDM/STM 指令可以把存 储器中的一个数据块加载到多个存放器中,也可以把多个存放器中的内容保存到存储器中。 寻址操作中的存放器可以是 R0-R15 这 16个存放器的子集或是所有存放器。 2 LDM/STM 指令依据其后缀名的不同其寻址的方式也有很大不同。3LDMIA R1!,R0,R2, R3指令执行后, R1 的值变为 R1+12 R1 ;注:!决定 Rn 的值是否随着传送而改变寻址模式描述起始地址结束地址Rn!IA执行后增加RnRn+4*N

13、Rn+4*NIB执行前增加Rn+4Rn+4*NRn+4*NDA执行后减少RnRn-4*NRn-4*NDB执行前减少Rn-4Rn-4*NRn-4*N六 ARM 状态与 Thumb 状态 的转换1、实现 ARM 工作状态转换的指令,其句法如下:BX 目标地址1 BX 指令将引起处理器转移到目标地址所指向的地址处执行。 2目标地址的位 0不用来作为地址的一局部。a. 假设目标地址的位0为1,那么指令将CPSR中的标志T置位,且将目标地址的代码解释为 Thumb 代码;b. 假设目标地址的位0为0,那么指令将CPSR中的标志T复位,且将目标地址的代码解释为 ARM 代码。七、 ARM 的硬件系统结构1

14、 、 S3C2410 的存储器系统 1 S3C2410 支持大、小端模式,可通过软件选择大小端模式;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); 4 7 个 Bank 固定起始地址,最后一个 Bank 可调整起始地址; 5最后两个 Bank 大小可编程 6所有 Bank 存储周期可编程控制; 7 如果同时使用

15、 Bank6/ Bank7 ,那么要求连接相同容量的存储器,而且其地址空间在物理 上是连续的。2、S3C2410 的 I/O 口配置S3C2410有117个多功能口,掌握如何通过软件编程对每个I/O 口进行配置。如将端口C的最低2为设置为01,既设置成输出模式,其余位不变。rGPCCON = rGPCCO N&0 xfffffffc|0x00000001;rGPCDAT= rGPCDAT |0x001;/PC0 口电平输出高表3.4.3S3C2410A的端口 C I/O 口配置情况端口 C可选择的引脚端功能GPC15 GPC8输入/输出VD7 VD0-GPC7 GPC5输入/输出LCDVF2

16、LCDVF0GPC4输入/输出VMGPC3输入/输出VFRAMEGPC2输入/输出VLINEGPC1输入/输出VCLKGPC0输入/输出LEND存放器地址读/写描述复位值GPCCON0x56000020R/W配置端口 C引脚端,使用位31:0,分别对端口 B的16个引脚端进行配置。00 :输入;01 :输出;10 :第2功能;11:保存0x0GPCDAT0x56000024R/W端口 C数据存放器,使用位15:0未定义GPCUP0x56000028R/W端口 C上拉电阻不使能存放器,使用位 15:0。0:使能;1:不使能0x0保存0X5600002C保存未定义表 端口 C控制存放器3、掌握AR

17、M微处理器的中断系统的特点了解:一旦有中断发生,ARM的中断系统将如何处理。在ARM系统中,支持复位、未定义指令、软中断、预取中止、数据中止、IRQ和FIQ7种异常,每种异常对应于不同的处理器模式,有对应的异常向量固定的存储器地址。在ARM系统中,一旦有中断发生,正在执行的程序都会停下来,通常都会执行如下的中断 步骤:1保存现场。保存当前的 PC值到R14,保存当前的程序运行状态到SPSR。2模式切换。根据发生的中断类型,进入IRQ模式或FIQ模式。3获取中断效劳子程序地址。PC指针跳到异常向量表所保存的IRQ或FIQ地址处,IRQ 或 FIQ 的异常向量地址处一般保存的是中断效劳子程序的地址

18、, PC 指针跳入到中断服 务子程序,进行中断处理。4多个中断请求处理。在 ARM 系统中,可以存在多个中断请求源,比方串口中断、 AD 中断、外部中断、定时器中断及 DMA 中断等,所以可能出现多个中断源同时请求中断的情 况。为了更好地区分各个中断源, 通常为这些中断定义不同的优先级别, 并为每一个中断设 置一个中断标志位。 当发生中断时, 通过判断中断优先级以及访问中断标志位的状态来识别 哪一个中断发生了,进而调用相应的函数进行中断处理。5中断返回,恢复现场。当完成中断效劳子程序后,将SPSR 中保存的程序运行状态恢复到CPSR中,R14中保存的被中断程序的地址恢复到PC中,继续执行被中断

19、的程序。4、了解 S3C2410 的 DMA 控制器的根本工作原理。DMA Direct Memory Acess ,直接存储器存取 方式是指存储器与外设在 DMA 控制器的控 制下, 直接传送数据而不通过 CPU ,传输速率主要取决于存储器存取速度。 在 DMA 传输过 程中, DMA 控制器负责管理整个操作,并且无须 CPU 介入,从而大大提高了 CPU 的工作 效率。 DMA 方式为高速 I/O 设备和存储器之间的批量数据交换提供了直接的传输通道。由 于 I/O 设备直接同内存发生成块的数据交换,可以提高 I/O 效率。现在大局部电脑系统均采 用 DMA 技术。许多输入输出设备的控制器都

20、支持 DMA 方式。采用 DMA 方式进行数据传输的具体过程如下。1 外设向 DMA 控制器发出 DMA 请求。2 DMA 控制器向 CPU 发出总线请求信号。3CPU 执行完现行的总线周期后,向 DMA 控制器发出响应请求的答复信号。4 CPU 将控制总线、地址总线及数据总线让出,由DMA 控制器进行控制。5 DMA 控制器向外部设备发出 DMA 请求答复信号。6进行 DMA 传送。7数据传送完毕, DMA 控制器通过中断请求线发出中断信号。 CPU 在接收到中断信号 后,转人中断处理程序进行后续处理。8中断处理结束后, CPU返回到被中断的程序继续执行。CPU重新获得总线控制权。每个 DM

21、A 控制器可以处理以下 4 种情况: 1 源和目的都在系统总线上; 2源在系统总线上,目的在外围总线上; 3源在外围总线上,目的在系统总线上; 4源和目的都在外围总线上。5、嵌入式存储系统的特点。 1 高速缓冲存储器原理及特点。高速缓冲存储器cache用来提高存储器系统的性能,许多微处理器体系结构都把它作为 其定义的一局部。cache能够减少内存平均访问时间。Cache可以分为统一 cache和独立的数据/程序 cache。2存储器管理单元 MMU 主要完成的功能。 1虚拟存储空间到物理存储空间的映射。采用了页式虚拟存储管理,它把虚拟地址空 间分成一个个固定大小的块, 每一块称为一页, 把物理

22、内存的地址空间也分成同样大小的页。 MMU 实现的就是从虚拟地址到物理地址的转换。 2存储器访问权限的控制。3设置虚拟存储空间的缓冲的特性。八、 嵌入式系统 I/O 设备接口1掌握S3C2410的I/O接口的编程要求:掌握 I/O 口编程,能编写实现 LED1、 LED2 、 LED3、 LED4 轮流闪烁的程 序。实现LED1和LED2轮流闪烁的程序代码void Main void int flag , i;Target Init; /进行硬件初始化操作,包括对 I/O 口的初始化操作 for;ifflag = = 0 fori = 0; i 1000000; i+;/延时rGPGCON =

23、 rGPGCON & OxfffOffff | 0x00050000 ; /配置第 8、第/9 位为输出引脚rGPGDAT = rGPGDAT & 0xeff | 0x200 ;/第 8 位输出为低电平/第 9 位输出高电平fori = 0; i 10000000; i+;/延时flag = 1;elsefori = 0; i 1000000; i+;/延时rGPGCON = rGPGCON & 0xfff0ffff 0x00050000 ; /配置第 8、/第 9 位 为输出引脚rGPGDAT = rGPGDAT& Oxdff | 0x100 ; /第 8 位输出为高电平/第 9 位输 出低

24、电平fori = 0;i 1000000;i+;/延时flag = 0 ;2、掌握S3C2410的A/D转换器接口的原理要求:掌握 A/D 转换器接口的原理,能编写 A/D 转换器初始化函数和获取 A/D 的转换 值的程序。 1 A/D 转换器模数转换器完成电模拟量到数字量的转换。实现A/D 转换的方法很多,常用的方法有计数法、双积分法和逐次逼近法等。 2对 A/D 转换器进行初始化程序中的参数 ch 表示所选择的通道号,程序如下:void AD_Init unsigned char chrADCDL Y=100;/ADC 启动或间隔延时rADCTSC=0; / 选择 ADC 模式 rADCC

25、ON= 114|496|ch3 |02|07 return 0;/ 通道不能大于 7fori=0; i 16; i+/为转换准确,转换 16 次rADCCON |=0x1;/启动 A/D 转换rADCCON= rADCCON 0xffc7 | ch 4;/为转换准确,除以 16 取均值3、掌握四线式电阻式触摸屏的工作原理,能分析触摸点的 X 轴坐标和 Y 轴坐标是如何测量出来的。触摸屏按其工作原理可分为矢量压力传感式、电阻式、电容式、红外线式和外表声波式 5 类。在嵌入式系统中常用的是电阻式触摸屏。四线式触摸屏的 X 工作面和 Y 工作面分别加在两个导电层上, 共有 4 根引出线: X 、X

26、, Y 、 Y 分别连到触摸屏的 X 电极对和 Y 电极对上。四线电阻屏触摸寿命小于 100万次。当给 X 方向的电极对施加一确定的电压, 而 Y 方向电极对不加电压时, 在 x 平行电压场中, 触点处的电压值可以在 Y +或Y电极上反映出来,通过测量Y +电极对地的电压大小, 通过 A/D 转换,便可得知触点的 X 坐标值。同理,当给 Y 电极对施加电压,而 X 电极对不 加电压时,通过测量 X +电极的电压,通过 A/D转换便可得知触点的 Y坐标。四线电阻触摸屏的分辨方法是将四线电阻触摸后变化的模拟量转换成数字量,经过软件计算得出不同的屏幕上不同的X,Y坐标。此工作主要是靠S3C2440A

27、芯片中的模数转换器来实现的。4、了解 S3C2410 的 UART 串行接口的工作原理,掌握 S3C2410 的 UART 发送和接收数据 的程序设计。UART 通用异步收发器主要由数据线接口、控制逻辑、配置存放器、波特率发生器、发 送局部和接收局部组成,采用异步串行通信方式,采用 RS-232C 9 芯接插件 DB-9 连接, 是广泛使用的串行数据传输方式 .本程序实例实现从 UART0 接收数据, 然后分别从 UART0 和 UART1 发送出去。 其功能可 以把键盘敲击的字符通过 PC 机的串口发送给 ARM 系统上的 UART0 ,ARM 系统上的 UART0 接收到字符后, 再通过

28、UART0 和 UART1 送给 PC 机,这样就完成了串口间的收发数据。 要 实现以上数据的收发功能,需要编写的主要代码如下。1发送数据其中 whichUart 为全局变量, 指示当前选择的 UART 通道, 使用串口发送一个字节的代码如 下:void Uart_SendByte int dataif whichUart= =0 if data= = nwhile ! rUTRSTAT0 0x2 ;Delay 10 ;/延时,与终端速度有关WrUTXH r;while ! rUTRSTAT0 0x2 ;/等待,直到发送状态就绪Delay 10;WrUTXH0 data;else if whi

29、chUart= =1 ifdata= nwhile!rUTRSTAT10x2;Delay 10;/延时,与终端速度有关rUTXH1= r;while!rUTRSTAT10x2;/等待,直到发送状态就绪Delay 10;rUTXHI = data;else if whichUart= =2 if data= = nwhile!rUTRSTAT20x2;Delay 10 ;/延时,与终端速度有关rUTXH2 = r;while !rUTRSTAT20x2;/等待,直到发送状态就绪Delay 10;rUTXH2 = data;2接收数据如果没有接收到字符那么返回 0。使用串口接收一个字符的代码如下:

30、 char Uart_GetKey void if whichUart = 0if rUTRSTAT00x1return RdURXH0 ;elsereturn 0;else if whichUart= =1 if rUTRSTAT10x1return RdURXH1 ;elsereturn 0;else if whichUart= =2 if rUTRSTA T2 0x1 return RdURXH2 ; elsereturn 0; elsereturn 0;/UARTO 接收到数据/UART1 接收到数据/UART2 接收到数据5、掌握键盘接口设计的方法。要求:掌握矩阵式键盘的扫描原理,能

31、设计一个与 S3C2410 连接的 4X4 的矩阵式键盘的 接口电路 ,并编写键盘扫描程序。1矩阵键盘的按键按 N 行 M 列排列, 每个按键占据行列的一个交点, 需要的 I/O 口数目 是N+M,容许的最大按键数是 N x M。矩阵键盘可以减少与微控制器I/O接口的连线数,是常用的一种键盘结构形式。 根据矩阵键盘的识键和译键方法的不同, 矩阵键盘又可以分为 非编码键盘和编码键盘两种。2一个用 I/O 口实现的键盘接口,为了识别键盘上的闭合键,常采用行 扫描法 。行扫描 法是使键盘上某一行线为低电平, 而其余行接高电平, 然后读取列值, 如果列值中有某位为 低电平,那么说明行列交点处的键被按下

32、;否那么扫描下一行,直到扫描完全部的行线为止。3根据行扫描法的原理,识别矩阵键盘按键闭合分两步进行:a识别键盘哪一行的键被按下:让所有行线均为低电平,检查各列线电平是否为低,如果 有列线为低,那么说明该列有键被按下,否那么说明无键被按下。b.如果某列有键被按下,识别键盘哪一行的键被按下:逐行置低电平,并置其余各行为高电平, 检查各列线电平的变化, 如果列电平变为低电平, 那么可确定此行此列交叉点处按键被 按下。void keyboard_test(void)UINT8T ucChar;UINT8T szBuf40;uart_printf( “n Keyboard Test Examplen )

33、;uart_printf( “ Press any key to exit n );Keyboard_init();g_nKeyPress=0xFE;While(1)f_nKeyPress=0; while(f_nKeyPress=0)if(uart_tetkey() /Press any key from UART0 to exit return;else if(ucChar=7)/or press 5*4 Key-7 to exitreturn;else if(g_nKeyPress!=0xFE) /or SB1202/SB1203 to exit return; iic_read_key

34、bd(0x70,0x1,&ucChar); /get data from ZLG7290 If(ucChar!=0)ucChar-key_set(ucChar); /key map for Edukit II if(ucChar16)sprintf(&szBuf, press key %d ,ucChar); else if(ucChar255)sprintf(&szBuf, press key %d ,ucChar); if(ucChar=0xFF)sprintf(&szBuf, press key %c ,ucChar); if(ucChar=0xFF)sprintf(&szBuf, pr

35、ess key FUN ); #ifdef BOARDTESTprint_lcd(200,170,0x1c,&szBuf);#endifuart_printf(szBuf); uart_printf( “n )uart_printf( “ end.n );九、嵌入式软件及操作系统1正确理解进程、线程的概念,掌握进程及进程的主要特点,并能说明进程和程序有什么 区别。(1)进程process是在描述多道系统中并发活动过程引入的一个概念。进程和程序是两 个既有联系又有区别的概念,两者不能混为一谈。而进程那么是一次执行过程,它是暂时的, 是动态地产生和终止的。一个进程通常包含有以下几个方面的内容:相应的程序; CPU上下文;一组系统资源。 进程的特点:进程具有动态性;进程具有独立性;进程具有并发性。2线程thread是一个比进程更小的能独立运行的根本单位。所谓的线程,就是进程当 中的一条执行流程。包括运行上下文、内存地址空间、翻开的文件等。可以用线程来作为 CPU的根本调度单位,使得各个线程之间可以并发执行。对于同一个进 程当中的各个线程来说,运行在相同的资源平台上,可以共享该进程的大局部资源,但也有一小局部资源是不能共享的,每个线程都必须拥有各自独

温馨提示

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

评论

0/150

提交评论