第2章arm技术与体系结构_第1页
第2章arm技术与体系结构_第2页
第2章arm技术与体系结构_第3页
第2章arm技术与体系结构_第4页
第2章arm技术与体系结构_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、1TM第第2章章 ARM技术与技术与ARM体系结构体系结构 本章主要介绍本章主要介绍ARM处理器的产生及版本发展历处理器的产生及版本发展历史,以及各个版本的典型处理器及应用情况和性能史,以及各个版本的典型处理器及应用情况和性能分析;分析;ARM处理器的内核编程结构,处理器的内核编程结构,重点分析了重点分析了ARM7TDMI-S、ARM9TDMI两种结构;两种结构;ARM处理器处理器的工作模式及寄存器组织结构,分析了在什么情况的工作模式及寄存器组织结构,分析了在什么情况下进入到相应的工作模式;下进入到相应的工作模式;ARM处理器支持的内存处理器支持的内存数据存储格式,分为大端格式和小端格式;数据

2、存储格式,分为大端格式和小端格式;最后介最后介绍了绍了ARM7的三级流水线运行机制和的三级流水线运行机制和ARM9的五级流的五级流水线运行机制。水线运行机制。 2TM2内容提要内容提要21 ARM体系结构版本与内核体系结构版本与内核22 ARM内核模块内核模块23 ARM处理器的工作模式处理器的工作模式24 ARM内部寄存器内部寄存器25 ARM异常处理异常处理26 存储方式与存储器映射机制存储方式与存储器映射机制27 ARM流水线技术分析流水线技术分析3TM32.1 ARM体系结构版本与内核体系结构版本与内核第一片第一片ARM处理器是处理器是1983年年10月到月到1985年年4月间在月间在

3、位于英国剑桥的位于英国剑桥的Acorn Computer公司开发公司开发 1990年,苹果电脑、年,苹果电脑、Acorn Computer、VLSI Technology合资成立合资成立ARM公司。推出了世界上首公司。推出了世界上首个商用芯片个商用芯片RISC处理器。处理器。ARM公司只出售公司只出售ARM核心技术授权,采用核心技术授权,采用ARM授授权的主要半导体公司有权的主要半导体公司有Samsung、Intel、Philips、Motorola、Atmel等。等。4TM4n第一阶段第一阶段:版本版本V1、V2、V3这这3个早期个早期ARM版本功能单一,版本功能单一,没有大范围占领市场,主

4、要是处于开发和实验阶段没有大范围占领市场,主要是处于开发和实验阶段 n第二阶段:第二阶段:从从ARM4开始,开始,ARM体系结构处于完善和提高阶段体系结构处于完善和提高阶段 5TM5n 版本版本4 4与以前版本相比增加了下列指令与以前版本相比增加了下列指令: : 有符号、无符号的半字和有符号字节的有符号、无符号的半字和有符号字节的load和和store指令。指令。增加了增加了T变种,处理器可以工作于变种,处理器可以工作于Thumb状态,在状态,在该状态下的指令集是该状态下的指令集是16位的位的Thumb指令集。指令集。增加了处理器的特权模式。在该模式下,使用的是增加了处理器的特权模式。在该模式

5、下,使用的是用户模式下的寄存器。用户模式下的寄存器。 6TM6n版本版本5 5主要由两个变型版本主要由两个变型版本5 5T T、5TE5TE组成组成 相比与版本相比与版本4 4,版本,版本5 5的指令集有了如下的变化:的指令集有了如下的变化: 提高了提高了T T变种中变种中ARM/ThumbARM/Thumb混合使用的效率。混合使用的效率。增加前导零记数(增加前导零记数(CLZCLZ)指令,该指令可使整数除法和中断指令,该指令可使整数除法和中断优先级排队操作更为有效;优先级排队操作更为有效;增加了增加了BKPTBKPT(软件断点)指令;软件断点)指令;为协处理器设计提供了更多的可供选择的指令;

6、为协处理器设计提供了更多的可供选择的指令;更加严格地定义了乘法指令对条件码标志位的影响。更加严格地定义了乘法指令对条件码标志位的影响。 7TM7nARMARM体系体系版本6是是20012001年发布的。新架构年发布的。新架构v6v6在在降低耗电量的同时还降低耗电量的同时还强化了图形处理性能。强化了图形处理性能。通过追加有效进行多媒体处理的通过追加有效进行多媒体处理的SIMDSIMD功能,功能,将语音及图像的处理功能提高到了原机型的将语音及图像的处理功能提高到了原机型的4 4倍。倍。ARMARM体系版本体系版本6 6首先在首先在20022002年春季发布的年春季发布的ARM11ARM11处理器中

7、使用。处理器中使用。 8TM82.1.1 ARM体系结构版本体系结构版本ARM7TDMI4T1支持Halfword 和signed halfword / byte 和System mode支持Thumb指令集24ARM9TDMIARM720TARM940T改良的ARM/Thumb 交互作用以及CLZ 指令5TESaturated mathsDSP multiply-accumulate instructionsXScaleARM1020EARM9E-SARM966E-S3早期的ARMsARM9EJ-S5TEJARM7EJ-SARM926EJ-SJazelle支持Java字节码6ARM11SIM

8、DSISIMDMDSSIMD7ARM Cortex9TM92.1.2 ARM内核版本命名规则内核版本命名规则ARMxyzTDMIEJF-Sn大括号内的字母是可选的,各个字母的含义如下:大括号内的字母是可选的,各个字母的含义如下:n x系列号,例如系列号,例如ARM7中的中的“7”、ARM9中的中的“9”;n y内部存储管理内部存储管理/保护单元,例如保护单元,例如ARM72中的中的“2”、ARM94中的中的“4”;n z内含有高速缓存内含有高速缓存Cache; n T支持支持16位的位的Thumb指令集;指令集;n D支持支持JTAG片上调试;片上调试;n M支持用于长乘法操作(支持用于长乘法

9、操作(64位结果)的位结果)的ARM指令,包含快速乘法器;指令,包含快速乘法器;n I带有嵌入式追踪宏单元带有嵌入式追踪宏单元ETM(Embedded Trace Macro),用来设),用来设置断点和观察点的调试硬件;置断点和观察点的调试硬件;10TM10n E 增强型增强型DSP指令(基于指令(基于TDMI););n J 含有含有Java加速器加速器Jazelle,与,与Java虚拟机相比,虚拟机相比,Java加速器加速器Jazelle使使Java代码运行速度提高了代码运行速度提高了8倍,功耗倍,功耗降低到原来的降低到原来的80%;n F 向量浮点单元;向量浮点单元;n S 可综合版本,意

10、味着处理器内核是以源代码形式提可综合版本,意味着处理器内核是以源代码形式提供的。这种源代码形式又可以被编译成一种易于供的。这种源代码形式又可以被编译成一种易于EDA工具使工具使用的形式。用的形式。11TM11 ARM体系结构的基本版本体系结构的基本版本版本版本版本变种版本变种系列号系列号处理器核处理器核V1V1ARM1ARM1V2V2ARM2ARM2V2aARM2aSARM3ARM3V3V3ARM6ARM6、ARM600、ARM610ARM7ARM7、ARM700、ARM710V4V4TARM7TDMI、ARM710T、ARM720T、ARM740TV4ARM8StrongARM、ARM8、A

11、RM810V4TARM9ARM9TDMI、ARM920T、ARM940TV5V5TEARM9E-SARM10ARM10TDMI、ARM1020EV6V6ARM11ARM11、ARM11562-S、ARM1156T2F-S、ARM11JZF-SV7V7ARM CortexARM Cortex-A、ARM Cortex-R、ARM Cortex-M12TM122.2 ARM内核模块内核模块nARM处理器一般都带有嵌入式追踪宏单元处理器一般都带有嵌入式追踪宏单元ETM(Embedded Trace Macro),它是),它是ARM公司自己推出的调试工具公司自己推出的调试工具 13TM13ARM调试结

12、构调试结构 14TM14221 ARM7TDMI-S内核结构内核结构nARM7TDMI-S是一款是一款32位嵌入式位嵌入式RISC处理处理器。它作为优化的硬核是器。它作为优化的硬核是性能、功耗和面积性能、功耗和面积特性的最佳组合。特性的最佳组合。使用使用ARM7TDMI核使得系核使得系统设计师能够设计出小尺寸、低功耗以及高统设计师能够设计出小尺寸、低功耗以及高性能的嵌入式设备。性能的嵌入式设备。 15TM15ARM7TDMInARM7TDMI 是基于 ARM7 内核n32/16位位RISC架构架构n3 级流水线级流水线-0.9MIPS/MHzn冯冯.诺依曼架构,统一的总线接口,诺依曼架构,统一

13、的总线接口,指令与数据都在指令与数据都在32位总线位总线上传输。上传输。n32位算术逻辑单元(位算术逻辑单元(ALU)nCPI(Cycle Per Instruction) 约为约为1.9 nT - Thumb 架构扩展架构扩展, 提供两个独立的指令集:提供两个独立的指令集:nARM 指令,均为指令,均为 32位位nThumb指令,均为指令,均为 16位位n两种运行状态,用来选择哪个指令集被执行两种运行状态,用来选择哪个指令集被执行nD - 内核具有内核具有Debug扩展结构扩展结构nM - 增强乘法器增强乘法器,支持支持64位结果位结果.nI - EmbeddedICE-RT逻辑逻辑-提供片

14、上断点和调试点支持提供片上断点和调试点支持16TM16乘法器乘法器ARM7TDMI 内核内核指令指令解码解码地址地址自增器自增器nRESETnMREQSEQABORTnIRQnFIQnRWMAS1:0LOCKnCPICPACPBnWAITMCLKnOPCBIGENDISYNCnTRANSnM4:0D31:0桶形桶形移位器移位器32 位位 ALUDBE写数据写数据 寄存器寄存器读数据读数据 寄存器寄存器地址寄存器地址寄存器寄存器寄存器A31:0ABE及及控制控制 逻辑逻辑PC Update解码站解码站指令指令 解码解码IncrementerPCABusBBusALUBus17TM17nARM7系

15、列内核采用了三条流水线的内核结系列内核采用了三条流水线的内核结构,三级流水线分别为构,三级流水线分别为取指(取指(Fetch)、译译码码(Decode)、执行执行(Execute) 18TM18n取指:取指:将指令从存储器中取出,放入指令将指令从存储器中取出,放入指令Cache中。中。n译码译码:由译码逻辑单元完成,是将在上一步指:由译码逻辑单元完成,是将在上一步指令令Cache中的指令进行解释,告诉中的指令进行解释,告诉CPU将如何将如何操作。操作。n执行:执行:这阶段包括移位操作、读通用寄存器内这阶段包括移位操作、读通用寄存器内容、输出结果、写通用寄存器等。容、输出结果、写通用寄存器等。1

16、9TM19n需要注意的是,需要注意的是,PC指向正被取指的指令而不指向正被取指的指令而不是正在执行的指令是正在执行的指令:20TM20222 ARM9内核结构内核结构nARM920是一款是一款32位嵌入式位嵌入式RISC处理器内核,基于处理器内核,基于哈佛哈佛结构,全性能的结构,全性能的MMU。在指令操作上采用。在指令操作上采用5级流水线级流水线 .n取指取指:从指令:从指令Cache中读取指令。中读取指令。n译码译码:对指令进行译码,识别出是对哪个寄存器进行操作并从通用寄:对指令进行译码,识别出是对哪个寄存器进行操作并从通用寄存器中读取操作数。存器中读取操作数。n执行执行:进行:进行ALU运

17、算和移位操作,如果是对存储器操作的指令,则在运算和移位操作,如果是对存储器操作的指令,则在ALU中计算出要访问的存储器地址。中计算出要访问的存储器地址。n存储器访问存储器访问:如果是对存储器访问的指令,用来实现数据缓冲功能(:如果是对存储器访问的指令,用来实现数据缓冲功能(通过数据通过数据Cache)。)。n寄存器回写寄存器回写:将指令运算或操作结果写回到目标寄存器中。:将指令运算或操作结果写回到目标寄存器中。21TM21ARM920 的的5级流水线操作级流水线操作 22TM222.3 ARM处理器的工作模式处理器的工作模式nARM技术的设计者将技术的设计者将ARM处理器在应用中可处理器在应用

18、中可能产生的状态进行了分类,并针对同一类型能产生的状态进行了分类,并针对同一类型的异常状态设定了一个固定的入口点,当异的异常状态设定了一个固定的入口点,当异常产生时,程序会自动跳转到对应异常入口常产生时,程序会自动跳转到对应异常入口处进行异常服务。处进行异常服务。 23TM23ARM处理器的处理器的7种工作模式种工作模式n1用户模式:用户模式:非特权模式,也就是正常程序执行非特权模式,也就是正常程序执行的模式,大部分任务在这种模式下执行。在用户模的模式,大部分任务在这种模式下执行。在用户模式下,如果没异常发生,不允许应用程序自行改变式下,如果没异常发生,不允许应用程序自行改变处理器的工作模式,

19、如果有异常发生,处理器会自处理器的工作模式,如果有异常发生,处理器会自动切换工作模式动切换工作模式n2FIQ模式:模式:也称为也称为快速中断模式快速中断模式,支持高速数据,支持高速数据传输和通道处理,当一个高优先级传输和通道处理,当一个高优先级(fast)中断产生中断产生时将会进入这种模式。时将会进入这种模式。24TM24n3IRQ模式:模式:也称为也称为普通中断模式普通中断模式,:当一个低优当一个低优先级先级(normal)中断产生时将会进入这种模式。在这中断产生时将会进入这种模式。在这模式下按中断的处理器方式又分为向量中断和非向模式下按中断的处理器方式又分为向量中断和非向量中断两种。通常的

20、中断处理都在量中断两种。通常的中断处理都在IRQ模式下进行模式下进行n4SVC模式:模式:称之为称之为管理模式管理模式,它是一种操作系,它是一种操作系统保护模式。当复位或软中断指令执行时处理器将统保护模式。当复位或软中断指令执行时处理器将进入这种模式。进入这种模式。25TM25n5中止模式中止模式:当存取异常时将会进入这种模式,用:当存取异常时将会进入这种模式,用来处理存储器故障、实现虚拟存储或存储保护。来处理存储器故障、实现虚拟存储或存储保护。n6未定义指令异常模式:未定义指令异常模式:当执行未定义指令时会进当执行未定义指令时会进入这种模式,主要是用来处理未定义的指令陷阱,入这种模式,主要是

21、用来处理未定义的指令陷阱,支持硬件协处理器的软件仿真,未定义指令多发生支持硬件协处理器的软件仿真,未定义指令多发生在对协处理器的操作上。在对协处理器的操作上。n7系统模式:系统模式:使用和使用和User模式相同寄存器组的特权模式相同寄存器组的特权模式,用来运行特权级的操作系统任务。模式,用来运行特权级的操作系统任务。26TM26n在这在这7种工作模式中,除了用户模式以外,其他种工作模式中,除了用户模式以外,其他6种种处理器模式可以称为处理器模式可以称为特权模式特权模式,在这些模式下,程,在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处序可以访问所有的系统资源,也可以任意地进行处理器

22、模式的切换。理器模式的切换。n在这在这6种特权模式中,除了系统模式外的其他种特权模式中,除了系统模式外的其他5种特种特权模式又称为权模式又称为异常模式异常模式,每种异常都对应有自己的,每种异常都对应有自己的异常处理入口点。异常处理入口点。 27TM272.2 内容回顾内容回顾1.ARM7TDMI基于基于 结构,结构, 级流水线,级流水线,分别为分别为 。2.ARM9基于基于 结构,结构, 级流水线,分别级流水线,分别为为 。3.ARM处理器有处理器有 和和 2种工作状态,种工作状态, 7种运行模式。种运行模式。4.理解各种工作模式的用途。理解各种工作模式的用途。28TM282.4 内部寄存器内

23、部寄存器nARM处理器共有处理器共有37个个寄存器寄存器,这些寄存器包括以下,这些寄存器包括以下两类寄存器。两类寄存器。n(1)31个通用寄存器个通用寄存器:包括程序计数器:包括程序计数器PC等,这些寄存器等,这些寄存器都是都是32位寄存器。位寄存器。n(2)6个状态寄存器个状态寄存器:状态寄存器也是:状态寄存器也是32位的寄存器,但位的寄存器,但是目前只使用了其中的是目前只使用了其中的14位。位。29TM29寄存器组织寄存器组织这些寄存器不能被同时访问,具体哪些寄存器可这些寄存器不能被同时访问,具体哪些寄存器可编程访问取决于微处理器的编程访问取决于微处理器的工作状态工作状态和所处的和所处的运

24、行模运行模式式。在在ARM状态任意一种工作模式下,可见的寄存状态任意一种工作模式下,可见的寄存器包括器包括15个通用寄存器个通用寄存器R0R14、程序计数器、程序计数器PC、一、一个或两个状态寄存器。个或两个状态寄存器。30TM30ARM状态下的寄存器组织状态下的寄存器组织ARM状态下通用寄存器包括状态下通用寄存器包括R0R15,可以分为以下三类:,可以分为以下三类:n1. 纯通用寄存器纯通用寄存器R0R7、PC(R15) 在所有的运行模式下,纯通用寄存器都指向同一个物理寄在所有的运行模式下,纯通用寄存器都指向同一个物理寄存器。存器。 对于对于ARM指令,指令,PC指向当前指令的下两条指令的地

25、址,指向当前指令的下两条指令的地址,在在ARM状态下指令是字对齐,状态下指令是字对齐,PC值的第值的第0、第、第1位为位为0;在;在Thumb状态下指令是半字对齐的,状态下指令是半字对齐的,PC的第的第0位为位为0. 当成功写入当成功写入一个地址数值时,一个地址数值时, 程序将跳转到该地址执行。程序将跳转到该地址执行。31TM31ARM状态下的寄存器组织状态下的寄存器组织n2. 分组寄存器分组寄存器R8R14n对于分组寄存器,它们每一次所访问的物理寄存器与处理对于分组寄存器,它们每一次所访问的物理寄存器与处理器的当前运行模式有关。器的当前运行模式有关。n分组寄存器分组寄存器R8R14取决于当前

26、的处理器模式,每种模式取决于当前的处理器模式,每种模式有专用的分组寄存器用于异常处理。有专用的分组寄存器用于异常处理。 n寄存器寄存器R8Rl2可分为两组物理寄存器。一组用于可分为两组物理寄存器。一组用于FIQ模式模式,另一组用于除,另一组用于除FIQ以外的其他模式。第以外的其他模式。第1组访问组访问R8_fiqR12_fiq,允许快速中断处理。第二组访问,允许快速中断处理。第二组访问R8_usrR12_usr,寄存器,寄存器R8R12没有任何指定的特殊用途。没有任何指定的特殊用途。为什么要为什么要分组呢?分组呢?32TM32ARM状态下的寄存器组织状态下的寄存器组织n2. 分组寄存器分组寄存

27、器R8R14 寄存器寄存器R13、R14可分为可分为6个分组的物理寄存器个分组的物理寄存器。1个用于用户模式和系统模式,而其他个用于用户模式和系统模式,而其他5个分别用个分别用于于svc、abt、und、irq和和fiq五种异常模式。五种异常模式。33TM33ARM状态下的寄存器组织状态下的寄存器组织n2. 分组寄存器分组寄存器R8R14寄存器寄存器R13通常用作通常用作堆栈指针堆栈指针,称作,称作SP。每种每种异常模式都有自己的分组异常模式都有自己的分组R13。通常。通常R13应当被初应当被初始化成指向异常模式分配的堆栈。在入口处,异常始化成指向异常模式分配的堆栈。在入口处,异常处理程序将用

28、到的其他寄存器的值保存到堆栈中;处理程序将用到的其他寄存器的值保存到堆栈中;返回时,重新将这些值加载到寄存器。这种异常处返回时,重新将这些值加载到寄存器。这种异常处理方法保证了异常出现后不会导致执行程序的状态理方法保证了异常出现后不会导致执行程序的状态不可靠。不可靠。34TM34ARM状态下的寄存器组织状态下的寄存器组织n2. 分组寄存器分组寄存器R8R14寄存器寄存器R14用作子程序链接寄存器,用作子程序链接寄存器,也称为链接寄存也称为链接寄存器器LR (Link Register)。)。当执行带链接分支当执行带链接分支(BL)指令时,得到指令时,得到R15的备份。在的备份。在其他情况下,将

29、其他情况下,将R14当做通用寄存器。当做通用寄存器。当中断或异常出现时,相应的分组寄存器当中断或异常出现时,相应的分组寄存器R14_svc、R14_irq、R14_fiq、R14_abt和和R14_und用来保存用来保存R15的返回值。的返回值。35TM3536TM36程序状态寄存器程序状态寄存器37TM37程序状态寄存器程序状态寄存器n 条件位:条件位:nN = 1-结果为负,0-结果为正或0nZ = 1-结果为0,0-结果不为0nC =加法:加法:1-进位进位 减法:减法:0-借位借位nV =1-结果溢出,0结果没溢出nQ 位:位:n仅仅ARM 5TE/J架构支持架构支持n指示增强型指示增

30、强型DSP指令是否溢出指令是否溢出2731N Z C V Q2867I F T mode1623 815 54024 U n d e f i n e dJnJ 位位n仅仅ARM 5TE/J架构支持架构支持nJ = 1: 处理器处于处理器处于Jazelle状状态态38TM38程序状态寄存器程序状态寄存器n中断禁止位:中断禁止位:nI = 1: 禁止禁止 IRQ.nF = 1: 禁止禁止 FIQ.nT Bitn仅仅ARM xT架构支持架构支持nT = 0: 处理器处于处理器处于 ARM 状态状态nT = 1: 处理器处于处理器处于 Thumb 状态状态2731N Z C V Q2867I F T

31、mode1623 815 54024 U n d e f i n e dJnMode位位(处理器模式位处理器模式位):n0b10000Usern0b10001FIQn0b10010IRQn0b10011Supervisorn0b10111Abortn0b11011Undefinedn0b11111System39TM39程序状态寄存器程序状态寄存器条件码标志条件码标志nN、Z、C、V(Negative、Zero、Carry、oVerflow)均为)均为条件码标志位(条件码标志位(Condition Code Flags),它们的内容可),它们的内容可被算术或逻辑运算的结果所改变,并且可以决定某

32、条指令是被算术或逻辑运算的结果所改变,并且可以决定某条指令是否被执行。否被执行。CPSR中的条件码标志可由大多数指令检测以决中的条件码标志可由大多数指令检测以决定指令是否执行。定指令是否执行。在在ARM状态下,绝大多数的指令都是有状态下,绝大多数的指令都是有条件执行的。在条件执行的。在Thumb状态下,仅有分支指令是有条件执状态下,仅有分支指令是有条件执行的。行的。n通常条件码标志通过执行比较指令(通常条件码标志通过执行比较指令(CMN、CMP、TEQ、TST)、一些算术运算、逻辑运算和传送指令进行修改。)、一些算术运算、逻辑运算和传送指令进行修改。40TM40程序状态寄存器程序状态寄存器 N:如果结果是带符号二进制补码,那么,若结果为:如果结果是带符号二进制补码,那么,若结果为负数,则负数,则N=1;若结果为正数或;若结果为正数或0,则,则N0。 Z:若指令的结果为:若指令的结果为0,则置,则置1(通常表示比较的结果(通常表示比较的结果为为“相等相等”),否则置),否则置0。 C:可由如下:可由如下3种方式之一设置:种方式之一设置:n加法(包括比较指令CMN)。若加法产生进位(即无符号溢出),则C置1;否则置0。 n减法(包括比较指令CMP)。若减法产生借位(即无符号溢出),则C置0;否则置1

温馨提示

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

评论

0/150

提交评论