版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARMLinuxTraining(2)
ARM体系构造与编程模型第1页ARM介绍ARM是AdvancedRISCMachines缩写,它是一家微处理器行业著名公司,该公司设计了大量高性能、便宜、耗能低RISC(精简指令集)处理器。ARM公司特点是只设计芯片,而不生产。它将技术授权给世界上许多著名半导体、软件和OEM厂商,并提供服务。第2页ARM授权模型将技术授权给其他芯片厂商形成各具特色ARM芯片...第3页ARM体系构造
ARM处理器为RISC芯片,其简单构造使ARM内核非常小,这使得器件功耗也非常低。它具有典型RISC特点:大、统一寄存器文献装载/保存构造,数据处理操作只针对寄存器内容,而不直接对存放器进行操作简单寻址模式统一和固定长度指令域,简化了指令译码第4页ARM体系构造版本ARM体系构造从最初开发到目前有了巨大改善,并仍在完善和发展。为了清楚体现每个ARM应用实例所使用指令集,ARM公司定义了7种主要ARM指令集体系构造版本,以版本号v1~v7表达。第5页ARM-v1
该版本ARM体系构造,只有26位寻址空间,没有商业化,其特点为:基本数据处理指令(不包括乘法);字节、字和半字加载/存放指令;具有分支指令,包括在子程序调用中使用分支和链接指令;在操作系统调用中使用软件中断指令。第6页ARM-v2同样为26位寻址空间,目前已经废弃不再使用,它相对v1版本有下列改善:具有乘法和乘加指令;支持协处理器;迅速中断模式中两个以上分组寄存器;具有原子性加载/存放指令SWP和SWPB。第7页ARM-v3寻址范围扩展到32位(也基本废弃),具有独立程序:具有乘法和乘加指令;支持协处理器;迅速中断模式中具有两个以上分组寄存器;具有原子性加载/存放指令SWP和SWPB。第8页ARM-v4不再为了与此前版本兼容而支持26位体系构造,并明确了哪些指令会引发未定义指令异常发生,它相对v3版本作了下列改善:半字加载/存放指令;字节和半字加载和符号扩展指令;具有能够转换到Thumb状态指令;顾客模式寄存器新特权处理器模式。第9页ARM-v5在v4版本基础上,对指令定义进行了必要修正,对v4版本体系构造进行了扩展并增加了指令,如下:改善了ARM/Thumb状态之间切换效率;允许非T变量和T变量同样,使用相同代码生成技术;增加计数前导零指令和软件断点指令;对乘法指令如何设置标志作了严格定义。第10页ARM-v6ARMArchitectureVersion6contains81newinstructionsSeveraladditionalclassesofinstructionPackeddataSIMD(SingleInstructionMultipleData)“SumofAbsoluteDifference”operationMoresaturatedarithmeticSupportformixedendiannessExceptionentryandreturninstructionsUnlikesomepreviousextensionstotheinstructionset(e.g.BLXoffset),theV6extensioninstructionsaremainlyconditionalAllareconditionalexceptwhereindicatedinthefollowingtext第11页ARM-v7新基于ARMv7架构处理器将为系统设计者提供更多选择,能够为应用目标选择更合适CPU。同步提供性能、功耗控制、代码大小以及芯片成本方面优化。采取了Thumb-2技术,比32位代码减少使用31%内存,减小系统开销,比Thumb技术增加38%性能减少了对文字池访问频度,这更使得设计者在只实现一种TCMRAM时,性能恶化降到最低第12页4THalfwordandsignedhalfword/bytesupportSystemmodeThumbinstructionsetImprovedARM/ThumbInterworkingCLZSaturatedarithmeticDSPmultiply-accumulateinstructionsExtensions:Jazelle(5TEJ)5TE6SIMDInstructionsMulti-processingV6MemoryarchitectureUnaligneddatasupportExtensions:Thumb-2(6T2)TrustZone(6Z)7Thumb-2CoreSight7A(Applications)NEON7R(Real-time)Hardwaredivide7M(Microcontroller)Thumb-2ONLYARM体系发展第13页ARM处理器和体系构造 Processorcore ArchitectureARM7TDMIfamily v4TARM720T,ARM740TARM9TDMIfamily v4TARM920T,ARM922T,ARM940TARM9Efamily v5TE,v5TEJARM946E-S,ARM966E-S,ARM926EJ-SARM10Efamily v5TE,v5TEJARM1020E,ARM1022E,ARM1026EJ-SARM11family v6ARM1136J(F)-S ARM1156T2(F)-S v6T2ARM1176JZ(F)-S v6ZCortexfamilyARMCortex-A8 v7AARMCortex-R4 v7RARMCortex-M3 v7M第14页ARM处理器核介绍ARM公司开发了很多系列ARM处理器核,目前最新系列是ARM11。目前应用比较广泛系列是:ARM7ARM9ARM9EARM10SecurCoreXscaleCortex第15页ARM7系列支持高密度16位Thumb指令集;支持片上调试;支持64位乘法;支持EmbededICE观测硬件;ARM7TDMI可综合(synthesizable)版本(软核),对应用工程师来说其编程模型与ARM7TDMI一致;ARM7TDMI-S第16页处理器执行指令典型步骤从存放器读取指令(fetch)译码以鉴别它是属于哪一条指令(dec)从指令中提取指令操作数(这些操作数往往存在于寄存器中)(reg)将操作数进行组合以得到成果或存放器地址(ALU)假如需要,则访问存放器以存放数据(mem)将成果写回到寄存器堆(res)第17页3级流水线指令执行过程取指:从存放器装载指令;译码:对刚装载指令进行识别;执行:处理指令并把成果写回对应寄存器取指译码执行指令从存放器中取出对指令使用寄存器进行译码从寄存器组中读出寄存器,执行移位和ALU操作,寄存器被写回到寄存器组中第18页3级流水线ARM组织第19页流水线使用实例ADDr1r2SUBr3r2CMPr1r3在第一种周期,内核从存放器取出指令ADD;在第二个周期,内核取出指令SUB,同步对ADD译码;在第三个周期,ADD被执行,而SUB被译码,同步又取出CMP指令。第20页ARM9/E系列第21页5级流水线ARM组织第22页ARM95级流水线InstructionFetchShift+ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARMorThumb
InstDecodeRegSelectRegReadShiftALURegWriteThumb®ARM
decompressARMdecodeInstructionFetchFETCHDECODEEXECUTEARM7TDMI第23页ARM10E系列第24页ARM106级流水线InstructionFetchShift+ALU
+MultiplyRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARMorThumb
InstDecodeARM10Shift+ALUMemoryAccessRegWriteFETCHDECODEEXECUTEMEMORYWRITERegReadMultiplyMultiplyAddBranchPredictionInstructionFetchISSUEMemoryAccessARMorThumbInstructionDecode第25页ARM11系列第26页ARM体系构造支持数据类型ARM处理器支持下列数据类型字节8位半字16位(必须分派为占用2个字节)字32位(必须分派为占用4个字节)Byteaccess
(bytealigned)Halfwordaccess(halfwordaligned)Wordaccess(wordaligned)3210765402468ace089abcdef48c第27页数据类型注意事项第28页浮点数据类型浮点运算使用在ARM硬件指令集中未定义数据类型ARM公司在协处理器指令空间定义了一系列浮点指令。一般这些指令所有通过未定义指令异常在软件中实现ARM公司还提供了用C语言编写浮点库作为ARM浮点指令集替代办法第29页存放器大/小端从软件角度看,内存相对于一种大字节数组,其中每个数组元素(字节)都是可寻址。ARM支持两种内存模式:大端模式(big-endian)/小端模式(little-endian)第30页大小端实例大端模式小端模式第31页处理器状态ARM7TDMI处理器有两种操作状态:ARM状态:32位,这种状态下执行是字方式ARM指令;Thumb状态:16位,这种状态下执行半字方式Thumb指令。第32页处理器状态转换使用BX指令将ARM7TDMI内核操作状态在ARM状态和Thumb状态之间进行切换,程序如下:;从Arm状态切换到Thumb状态LDRR0,=Lable+1BXR0;从Thumb状态切换到ARM状态LDRR0,=LableBXR0地址最低位为1,表达切换到Thumb状态地址最低位为0,表达切换到ARM状态跳转地址标号第33页ARM处理器模式ARM体系构造支持7种处理器模式,分别为:顾客模式、快中断模式、中断模式、管理模式、中断模式、未定义模式和系统模式这样好处是能够更加好支持操作系统并提升工作效率。第34页ARM处理器模式处理器模式说明备注顾客(usr)正常程序工作模式不能直接切换到其他模式系统(sys)用于支持操作系统特权任务等与顾客模式类似,但具有能够直接切换到其他模式等特权快中断(fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式中断(irq)用于通用中断处理IRQ异常响应时进入此模式管理(svc)操作系统保护代码系统复位和软件中断响应时进入此模式中断(abt)用于支持虚拟内存和/或存放器保护在ARM7TDMI没有大用处未定义(und)支持硬件协处理器软件仿真未定义指令异常响应时进入此模式第35页处理器模式说明备注顾客(usr)正常程序工作模式不能直接切换到其他模式系统(sys)用于支持操作系统特权任务等与顾客模式类似,但具有能够直接切换到其他模式等特权快中断(fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式中断(irq)用于通用中断处理IRQ异常响应时进入此模式管理(svc)操作系统保护代码系统复位和软件中断响应时进入此模式中断(abt)用于支持虚拟内存和/或存放器保护在ARM7TDMI没有大用处未定义(und)支持硬件协处理器软件仿真未定义指令异常响应时进入此模式特权模式
除顾客模式外,其他模式均为特权模式。ARM内部寄存器和某些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。另外,特权模式能够自由切换处理器模式,而顾客模式不能直接切换到别模式。未定义(und)中断(abt)管理(svc)中断(irq)快中断(fiq)系统(sys)第36页异常模式处理器模式说明备注顾客(usr)正常程序工作模式不能直接切换到其他模式系统(sys)用于支持操作系统特权任务等与顾客模式类似,但具有能够直接切换到其他模式等特权快中断(fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式中断(irq)用于通用中断处理IRQ异常响应时进入此模式管理(svc)操作系统保护代码系统复位和软件中断响应时进入此模式中断(abt)用于支持虚拟内存和/或存放器保护在ARM7TDMI没有大用处未定义(und)支持硬件协处理器软件仿真未定义指令异常响应时进入此模式未定义(und)中断(abt)管理(svc)中断(irq)快中断(fiq)
这五种模式称为异常模式。它们除了能够通过程序切换进入外,也能够由特定异常进入。当特定异常出现时,处理器进入对应模式。每种异常模式都有某些独立寄存器,以避免异常退出时顾客模式状态不可靠。第37页顾客和系统模式处理器模式说明备注顾客(usr)正常程序工作模式不能直接切换到其他模式系统(sys)用于支持操作系统特权任务等与顾客模式类似,但具有能够直接切换到其他模式等特权快中断(fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式中断(irq)用于通用中断处理IRQ异常响应时进入此模式管理(svc)操作系统保护代码系统复位和软件中断响应时进入此模式中断(abt)用于支持虚拟内存和/或存放器保护在ARM7TDMI没有大用处未定义(und)支持硬件协处理器软件仿真未定义指令异常响应时进入此模式这两种模式都不能由异常进入,并且它们使用完全相同寄存器组。系统模式是特权模式,不受顾客模式限制。操作系统在该模式下访问顾客模式寄存器就比较方便,并且操作系统某些特权任务能够使用这个模式访问某些受控资源。系统(sys)顾客(usr)第38页ARM内部寄存器ARM有37个32位长寄存器:1个用作PC(programcounter)1个用作CPSR(currentprogramstatusregister)5个用作SPSR(savedprogramstatusregisters)30个通用寄存器第39页ARM状态各模式下寄存器第40页ARM状态各模式下寄存器SPSR_fiqSPSR_irqSPSR_undSPSR_abtSPSR_svcCPSRR15R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0所有37个寄存器,提成两类:31个通用32位寄存器;6个状态寄存器。第41页无CPSRR15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0顾客无CPSRR15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0系统SPSR_svcCPSRR15R14_svcR13_svcR12R11R10R9R8R7R6R5R4R3R2R1R0管理SPSR_abtCPSRR15R14_abtR13_abtR12R11R10R9R8R7R6R5R4R3R2R1R0中断SPSR_undCPSRR15R14_undR13_undR12R11R10R9R8R7R6R5R4R3R2R1R0未定义SPSR_irqCPSRR15R14_irqR13_irqR12R11R10R9R8R7R6R5R4R3R2R1R0中断SPSR_fiqCPSRR15R14_fiqR13_fiqR12_fiqR11_fiqR10_fiqR9_fiqR8_fiqR7R6R5R4R3R2R1R0快中断ARM状态各模式下能够访问寄存器第42页一般通用寄存器R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0在汇编语言中寄存器R0~R13为保存数据或地址值通用寄存器。它们是完全通用寄存器,不会被体系构造作为特殊用途,并且可用于任何使用通用寄存器指令。第43页一般通用寄存器R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0R7R6R5R4R3R2R1R0其中R0~R7为未分组寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同32位物理寄存器。第44页一般通用寄存器R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8寄存器R8~R14为分组寄存器。它们所对应物理寄存器取决于目前处理器模式,几乎所有允许使用通用寄存器指令都允许使用分组寄存器第45页一般通用寄存器R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8寄存器R8~R12有两个分组物理寄存器。一种用于除FIQ模式之外所有寄存器模式,另一种用于FIQ模式。这样在发生FIQ中断后,能够加速FIQ处理速度。第46页一般通用寄存器寄存器R13、R14分别有6个分组物理寄存器。一种用于顾客和系统模式,其他5个分别用于5种异常模式。R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13第47页堆栈指针寄存器R13(SP)寄存器R13常作为堆栈指针(SP)。在ARM指令集当中,没有以特殊方式使用R13指令或其他功能,只是习惯上都这样使用。在Thumb指令集中存在使用R13指令。第48页链接寄存器R14(LR)R14为链接寄存器(LR),在构造上有两个特殊功能:在每种模式下,模式本身R14版本用于保存子程序返回地址;当发生异常时,将R14对应异常模式版本设置为异常返回地址(有些异常有一种小固定偏移量)。第49页R14寄存器与子程序调用Lable程序A程序BR14BLLable地址A???MOVPC,LRR14(地址A)Lable???1.程序A执行过程中调用程序B;2.程序跳转至标号Lable,执行程序B。同步硬件将“BLLable”指令下一条指令所在地址存入R14;3.程序B执行最后,将R14寄存器内容放入PC,返回程序A;第50页R14寄存器与异常发生异常发生时,程序要跳转至异常服务程序,对返回地址处理与子程序调用类似,都是由硬件完成。区分在于有些异常有一种小常量偏移。第51页R14寄存器注意重点R14R14_irq顾客模式下程序IRQ模式下程序AareturnB...XA地址A地址A1.执行顾客模式下程序;2.发生IRQ中断,硬件将某个地址存入IRQ模式下R14_irq寄存器,顾客模式下R14没有被破坏;3.IRQ服务程序A执行完成,将R14_irq寄存器内容减去某个常量后存入PC,返回之前被中断程序;未被破坏第52页R14寄存器注意重点R14R14_irq顾客模式下程序IRQ模式下程序AaB...XA地址A地址A1.执行顾客模式下程序;2.发生IRQ中断,硬件将某个地址存入IRQ模式下R14_irq寄存器,顾客模式下R14没有被破坏;3.IRQ服务程序A执行完成,将R14_irq寄存器内容减去某个常量后存入PC,返回之前被中断程序;未被破坏IRQ模式下程序BareturnB...XA地址B地址B4.假如在IRQ处理程序中打开IRQ中断,并且再次发生IRQ中断,或者调用子程序;5.硬件将返回地址保存在R14_irq寄存器中,本来保存返回地址将被覆盖,造成错误;被破坏6.在程序B返回到程序A,然后在返回到顾客模式下被中断程序时,发生错误,将不能正确返回;returnreturn处理措施是确保R14对应版本在发生中断嵌套时不再保存任何故意义值(将R14入栈),或者切换到其他处理器模式下。第53页程序计数器R15(PC)寄存器R15为程序计数器(PC),它指向正在取指地址。能够以为它是一种通用寄存器,不过对于它使用有许多与指令有关限制或特殊情况。假如R15使用方式超出了这些限制,那么成果将是不可预测。第54页读R15限制正常操作时,从R15读取值是处理器正在取指地址,即目前正在执行指令地址加上8个字节(两条ARM指令长度)。由于ARM指令总是以字为单位,因此R15寄存器最低两位总是为0。LDRR0,PC??????PCPC-4PC-8正在执行正在译码正在取指流水线状态地址程序代码第55页程序状态寄存器CPSR寄存器CPSR为程序状态寄存器,在异常模式中,另外一种寄存器“程序状态保存寄存器(SPSR)”能够被访问。每种异常都有自己SPSR,在由于异常事件而进入异常时它保存CPSR目前值,异常退出时可通过它恢复CPSR。第56页CPSR寄存器CPSR反应了目前处理器状态,其包括:4个条件代码标志(负(N)、零(Z)、进位(C)和溢出(V));2个中断严禁位,分别控制一种类型中断;5个对目前处理器模式进行编码位;1个用于批示目前执行指令(ARM还是Thumb)位。第57页CPSR寄存器格式NZCV——IM0M1M2M3M4TF—...313029282726876543210条件代码标志保存控制位溢出标志进位或借位扩展零负或不大于IRQ严禁FIQ严禁状态位模式位NZCVIM0M1M2M3M4TF第58页CPSR模式位设置表第59页备份程序状态寄存器每一种处理器模式下都有一种专用物理寄存器,成为备份程序状态寄存器SPSR(SavedProgramStatusRegister)。当特定异常中断发生时,这个物理寄存器负责寄存目前程序状态寄存器内容。当异常处理程序返回时,再将其内容恢复到目前程序状态寄存器由于顾客模式和系统模式不属于异常中断模式,因此它们没有SPSR。第60页异常只要正常程序流被临时中断,处理器就进入异常模式。例如响应一种来自外设中断。在处理异常之前,ARM内核保存目前处理器状态,这样当处理程序结束时能够恢复执行本来程序。假如同步发生两个或更多异常,那么将按照固定次序来处理异常第61页ARM异常类型ARM一共有7种类型异常,按优先级从高到低排列如下:复位异常(Reset)数据异常(DataAbort)迅速中断异常(FIQ)外部中断异常(IRQ)预取异常(PrefetchAbort)软件中断(SWI)未定义指令异常(Undefinedinstruction)第62页复位异常当处理器复位引脚有效时,系统产生复位异常中断,程序跳转到复位异常中断处理程序处执行。复位异常中断一般用在下面两种情况下:系统上电系统复位第63页数据访问中断异常数据访问中断异常是由存放器发出数据中断信号,它由存放器访问指令(Load/Store)产生。当数据访问指令目标地址不存在,或者该地址不允许目前指令访问,处理器产生该异常。包括两种类型:数据中断发生在对数据访问时预取中断发生在指令预取过程中第64页数据访问中断异常数据访问中断异常是由存放器发出数据中断信号,它由存放器访问指令(Load/Store)产生。当数据访问指令目标地址不存在,或者该地址不允许目前指令访问,处理器产生数据访问中断异常。在修复产生中断原因后,不论处于哪种处理器操作状态,处理程序都执行下面返回指令:SUBSPC,R14_abt,#8第65页预取指令异常当处理器试图去取一条被标识为预取无效指令时,发生预取异常。假如系统中不包括MMU时,指令预取异常中断处理程序只是简单地报告错误并退出。若包括MMU,引发异常指令物理地址被存放到内存中。在处理中断原因之后,不论处于哪种处理器操作状态,处理程序都会执行下面指令恢复PC和CPSR并重试被中断指令:SUBSPC,R14_abt,#4第66页迅速中断FIQ当处理器外部迅速中断祈求引脚有效,且CPSR寄存器F控制位被清除时,处理器产生外部中断祈求FIQ异常。不论异常入口是来自ARM状态还是Thumb状态,FIQ处理程序都会通过执行下面指令从中断返回: SUBSPC,R14_fiq,#4在一种特权模式中,能够通过置位CPSR中F位来严禁FIQ异常。第67页外部中断IRQ当处理器外部中断祈求引脚有效,并且CPSR寄存器I控制位被清除时,处理器产生外部中断IRQ异常。不论异常入口是来自ARM状态还是Thumb状态,FIQ处理程序都会通过执行下面指令从中断返回: SUBSPC,R14_fiq,#4第68页软中断SWI使用软件中断(SWI)指令能够进入管理模式,一般用于祈求一种特定管理函数。SWI处理程序通过执行下面指令返回:MOVSPC,R14_svc这个动作恢复了PC和CPSR并返回到SWI之后指令。SWI处理程序读取操作码以提取SWI函数编号。第69页未定义指令异常当处理器遇到一条自己和系统内任何协处理器都无法处理指令时,ARM内核执行未定义指令陷阱。软件可使用这一机制通过模拟未定义协处理器指令来扩展ARM指令集。在模拟处理了失败指令后,陷阱程序执行下面指令:
MOVSPC,R14_svc这个动作恢复了PC和CPSR并返回到未定义指令之后指令。第70页异常入口/出口异常或入口返回指令之前状态备注ARMR14_xThumbR14_xBLMOVPC,R14PC+4PC+2此处PC为BL,SWI,为定义指令取指或预取指中断指令地址SWIMOVSPC,R14_svcPC+4PC+2未定义指令MOVSPC,R14_undPC+4PC+2预取指中断SUBSPC,R14_abt,#4PC+4PC+4快中断SUBSPC,R14_fiq,#4PC+4PC+4此处PC为由于FIQ或IRQ占先而没有被执行指令地址中断SUBSPC,R14_irq,#4PC+4PC+4数据中断SUBSPC,R14_abt,#8PC+8PC+8此处PC为产生数据中断装载或保存指令地址。复位无——复位时保存在R14_svc中值不可预知。第71页异常入口和出口处理假如异常处理程序已经把返回地址拷贝到堆栈,那么能够使用一条多寄存器传送指令来恢复顾客寄存器并实现返回中断处理代码开始部分和退出部分:SUBLR,LR,#4 ;计算返回地址STMFDSP!,{R0-R3,LR} ;保存使用到寄存器...LDMFDSP!,{R0-R3,PC}^ ;中断返回注意:中断返回指令寄存器列表(其中必须包括PC)后“^”符号表达这是一条特殊形式指令。这条指令在从存放器中装载P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年试用期转正工作总结经典版(2篇)
- 打眼工瓦斯防治岗位责任制模版(3篇)
- 公民道德建设月活动实施方案(2篇)
- 用工合同范例 cdr
- 租地种苗木合同模板
- 招商外包企业合同模板
- 年度IT解决方案提供复杂合同04
- 二零二四年度绿化工程及养护合同
- 2024年度光纤通信网络建设与维护合同
- 张拉压浆工安全操作规程模版(2篇)
- 漆包线基础理论全解课件
- 项目成本分析附表 样本
- 2021年盘锦北方沥青股份有限公司校园招聘笔试试题及答案解析
- 危大工程验收记录表(基坑工程)
- 工程停工申请表和停工报告
- 《一年级大个子二年级小个子-》指导课件
- 小学道德与法治 五年级上册 传统美德源远流长 天下兴亡 匹夫有责的爱国情怀 教学设计
- 学会学习 班会课件
- 日本侵华简史
- 某蔬菜大棚钢结构施工组织设计
- 企业管理基础完整版课件全套ppt最全电子教案整书教案教学设计教学教程
评论
0/150
提交评论