计算机组成原理课件_第1页
计算机组成原理课件_第2页
计算机组成原理课件_第3页
计算机组成原理课件_第4页
计算机组成原理课件_第5页
已阅读5页,还剩979页未读 继续免费阅读

下载本文档

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

文档简介

计算机组成原理郑州大学信息工程学院计算机专业1计算机组成原理1教学大纲目的和要求

该课程是计算机科学与技术专业的一门专业基础课。它的内容主要介绍计算机各个功能部件的组织结构、功能以及它们之间互连组成的计算机系统。使学生了解计算机的组成原理及工作原理,以建立整机概念。本课程设有实验,以加深对课程内容的理解,培养学生的动手能力。教学内容

概论、数据表示、运算方法和运算器、指令系统、控制器、存储系统、输入输出系统、外部设备、计算机系统。2教学大纲目的和要求2目

录第1章概论第2章计算机中的数据表示第3章运算方法和运算器

第4章指令系统第5章控制器第6章存储系统第7章输入输出系统第8章计算机外部设备第9章计算机系统3目录第1章概论3第一章概论计算机(Computer):

1、

概念: 计算机是一种以电子器件为基础的,不需人的直接干预,能够对各种数字化信息,进行算术和逻辑运算的快速工具。4第一章概论计算机(Computer):4(1)

以电子器件为物质基础:电子数字计算机(DigitalComputer)(2)

不需要人的直接干预:自动化(存储程序为基础)(3)

数字化信息:二进制(计算机能够具有逻辑判断和处理能力的基础)(4)

算逻运算:基本运算操作是算术和逻辑运算(5)

快速工具:(A)

电子器件(B)

存储程序2、

层次:

5(1)

以电子器件为物质基础:电子数字计算机(1)内部特征:(A)

高速高集成度开关元件(B)

数字化信息编码(C)

逻辑判断和处理能力(D)

存储程序(2)外部特征:(A)

快速性(由(1)中(A)(D)决定)(B)准确性(由(1)中(B)(D)决定)(C)逻辑性(由(1)中(A)(C)(D)决定)(D)

通用性(由(1)中(A)(B)(C)(D)决定)

3、特征:

6(1)内部特征:3、特征:

61.1.1计算机的发展概况1、第一代计算机(1)

1946年第一台计算机ENIAC~~50年代末(2)

主要特征:电子管作为电子器件(3)

软件处于初始阶段,使用机器语言与符号语言编制程序(4)

特点:体积大,运算速度低,存储容量小,主要用于科学计算。

1.1计算机的发展、应用和分类

71.1.1计算机的发展概况1.1计算机的发展、应用和分1.1.1计算机的发展概况2、第二代计算机(1)

50年代末~~60年代初(2)

主要特征:晶体管作为电子器件(3)

软件方面开始使用计算机高级语言(4)

特点:体积减小,重量轻、寿命长、耗电少、运算速度快、存储容量比较大等优点。不仅用于科学计算,还用于数据处理和事务处理,并逐渐用于工业控制。

1.1计算机的发展、应用和分类

81.1.1计算机的发展概况1.1计算机的发展、应用和分1.1.1计算机的发展概况3、第三代计算机(1)

60年代中期~~70年代初期(2)

主要特征:中、小规模集成电路作为电子器件(3)

操作系统的出现(4)

特点:体积与功耗都得到了进一步的减小,可靠性和运算速度进一步提高。不仅用于科学计算,还用于文字处理、企业管理、自动控制等领域,出现了管理信息系统,可用于生产管理、交通管理、情报检索等领域。

1.1计算机的发展、应用和分类

91.1.1计算机的发展概况1.1计算机的发展、应用和分1.1.1计算机的发展概况4、第四代计算机(1)70年代初~~今(2)主要特征:大规模与超大规模集成电路作为电子器件(3)软件越来越丰富,并且功能强大(4)特点:计算机在各种性能上都得到了大幅度提高。1971年以来,作为第四代计算机重要产品的微型计算机得到了飞速的发展,对计算机的普及起到了决定性的作用。以微机为例,IBMPC8088—80286—80386—80486—Pentium

1.1计算机的发展、应用和分类

101.1.1计算机的发展概况1.1计算机的发展、应用和分1.1.1计算机的发展概况5、未来的计算机 以超大规模集成电路为基础,未来的计算机将向巨型化、微型化、网络化与智能化的方向发展。

1.1计算机的发展、应用和分类

111.1.1计算机的发展概况1.1计算机的发展、应用和分1、科学计算2、过程检测与控制利用计算机对工业生产过程中的某些信号自动进行检测,并把检测到的数据存入到计算机,再根据需要对这些数据进行处理。这样的系统称为计算机检测系统。但一般来说,实际的工业生产过程是一个连续的过程,往往既需要用计算机进行检测,又需要用计算机进行控制。3、信息管理信息管理是目前计算机应用最广泛的一个领域。所谓信息管理,是指利用计算机来加工、管理与操作任何形式的数据资料,如企业管理、物资管理、报表统计、帐目计算、信息情报检索等。4、计算机辅助系统计算机用于辅助设计、辅助制造、辅助教学等方面,统称为计算机辅助系统。

1.1.2计算机的应用领域

121、科学计算1.1.2计算机的应用领域

121、

根据计算机的应用范围分: (1)

专用计算机:为特定应用问题而设计的计算机,具有经济、有效和快速等特点,但它的使用面较窄。 (2)

通用计算机:通用计算机使用面广,通用性强,操作相对简单。2、根据计算机的规模分: (1)

巨型机 (2)

大型机 (3)

中型机 (4)

小型机 (5)

微型机 发展方向:巨型化、微型化、网络化与智能化1.1.3计算机的分类

131、根据计算机的应用范围分:1.1.3计算机的分

计算机系统是由计算机硬件和计算机软件组成的。 计算机硬件(Hardware)是指构成计算机的所有实体部件的集合,通常这些部件由电路(电子元件)、机械等物理部件组成。

1.2计算机硬件

14 计算机系统是由计算机硬件和计算机软件组成的。1.2计算1、冯·诺依曼原理的基本思想:采用二进制形式表示数据和指令。指令由操作码和地址码组成;“存储程序”和“程序控制”(简称存储程序控制);指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。

计算机由存储器、运算器、控制器、输入设备和输出设备五大基本部件组成。

1.2.1计算机的组成部件

151、冯·诺依曼原理的基本思想:1.2.1计算机的组成部件

1.2.1计算机的组成部件

输出设备输入设备运算器控制器存储器计算结果程序和数据图1.1计算机的组成部件数据流控制流161.2.1计算机的组成部件

输出设备输入设备运算器控制器存2、基本组成它由5大组成部件,如图1.1所示。(1)

存储器(A)

基本功能:读和写(a)对象:数据和指令(b)单元:存储单元—地址(B)

分类:(a)内存(主存)(b)外存(辅存)(C)

主存的组成(a)存储体(b)存储器地址寄存器MAR(MemoryAddressRegister)(c)存储器数据寄存器MDR(MemoryDataRegister)(d)读写控制线路1.2.1计算机的组成部件172、基本组成1.2.1计算机的组成部件172、基本组成

(2)

运算器(A)

主要功能:对二进制数码进行算术(+-*/)和逻辑(与或非)运算(B)

组成:(a)ALU(ArithmeticLogicUnit):核心为并行加法器(b)通用寄存器组(c)多路开关或数据锁存器:控制数据输入(d)输出移位开关:控制数据输出(e)与其他部件间信息传送的总线及控制数据传送的接收器和发送器

(C)

精度和速度是运算器重要的性能指标。

1.2.1计算机的组成部件

182、基本组成

1.2.1计算机的组成部件

181.2.1计算机的组成部件

运算器基本逻辑框图总线发送器输出移位开关接收器ALU多路开关多路开关通用寄存器191.2.1计算机的组成部件

运算器基本逻辑框图总线发送器2、基本组成

(3)

控制器(A)

功能:读取指令、翻译指令代码、并向计算机各部分发出控制信号,以便执行指令。当一条指令执行完以后,控制器会自动地去取下一条将要执行的指令,重复上述过程直到整个程序执行完毕。(B)

组成:(a)指令部件 IR、ID、PC、PSW、地址形成部件(b)时序部件(c)微操作控制线路(d)中断控制逻辑1.2.1计算机的组成部件

202、基本组成

1.2.1计算机的组成部件

202、基本组成

(4)输入设备输入设备能将数据和程序变换成计算机内部所能识别和接受的信息方式,并顺序地把它们送入存储器中。输入设备由许多种类,例如键盘、鼠标、扫描仪、光电输入机等。

(5)输出设备输出设备将计算机处理的结果以人们能接受的或其它机器能接受的形式送出。输出设备同样由许多种类,例如显示器、打印机、绘图仪等。1.2.1计算机的组成部件

212、基本组成

(4)输入设备1.2.1计算机的组成部件

2 在计算机的5大部件中,运算器和控制器是信息处理的中心部件,所以它们合称为“中央处理单元”(CPU:CentralProcessingUnit)。存储器、运算器和控制器在信息处理操作中起主要作用,是计算机硬件的主体部分,通常被称为“主机”。而输入(Input)设备和输出(Output)设备统称为“外部设备”,简称为外设或I/O设备。

1.2.1计算机的组成部件

22 在计算机的5大部件中,运算器和控制器是信息处理的中心部件(1)

程序的执行:(A)

编写程序(B)

翻译成机器指令(C)

将程序和数据写入存储器(D)

将第一条指令地址放入PC(E)

执行所有指令(F)

结束3、工作原理

23(1)

程序的执行:3、工作原理

23(2)

指令的执行:三个阶段:取指令、分析指令、执行指令(A)开始时,将第一条指令地址=》PC(B)(PC)=》MAR,发“读”命令,使(MDR)=》IR(C)翻译IR的操作性质(D)取操作数(E)将操作数运算器,运行之(F)送结果(a)R(b)内存(G)(PC)+1=》PC3、工作原理

24(2)

指令的执行:3、工作原理

24一、总线1、概念: 总线(Bus)就是计算机中用于传送信息的公用通道,是为多个部件服务的一组信息传送连接线。1.2.2计算机的总线结构25一、总线1.2.2计算机的总线结构25

2、分类:(1)按照传送信息的属性来分:数据总线(DB:DataBus)——用于在各部件之间传送数据信息。地址总线(AB:AddressBus)——用于传送各部件相互访问用的地址信息。控制总线(CB:ControlBus)——用于传送控制各部件操作的控制信息。(2)按信息传送的方向区分:单向总线和双向总线。(3)按连接对象和完成的功能分:I/OBUS和MEMORYBUS存储总线——用于CPU与主存储器的信息交换,I/O总线——用于外设与主机的信息交换。1.2.2计算机的总线结构262、分类:1.2.2计算机的总线结构26二、按总线连接方式,计算机组成结构分为三类1、单总线结构这种结构把各功能部件都连接在单总线(SingleBus)上,所有部件间的信息交换都经由单总线进行,如图1.2。(1)Unified-Bus:一元化总线:PDP-11(2)Single-Bus:单总线:IBM-PC2、双总线结构(1)两种总线:存储总线——用于CPU与主存储器的信息交换,I/O总线——用于外设与主机的信息交换。(2)三种形式:(A)

以CPU为中心的双总线结构(B)

以存储器为中心的双总线结构(C)采用通道或输入输出处理机IOP来处理输入输出工作的双总线结构。3、多总线结构在高速外设与主存储器之间可以增设直接存储器访问(DMA:DirectMemoryAccess)方式的高速I/O总线(DMA总线),从而形成多总线结构,如图1.4。1.2.2计算机的总线结构27二、按总线连接方式,计算机组成结构分为三类1.2.2计算机1.2.2计算机的总线结构单总线外设存储器CPU图1.2单总线的组成结构(a)以CPU为中心存储总线I/O总线外设存储器CPU(c)采用通道形式(b)以存储器为中心存储总线I/O总线I/O总线外设存储器CPU存储总线外设外设CPU图1.3双总线的组成结构存储器通道存储总线DMA总线I/O总线存储器CPU图1.4多总线的组成结构外设外设281.2.2计算机的总线结构单总线外设存储器CPU图1.21、软件(Software): 是指能使计算机工作的程序和程序运行时所需要的数据,以及与这些程序和数据有关的文字说明和图表资料,其中文字说明和图表资料又称为文档。程序+数据+文档1.3计算机软件291、软件(Software):1.3计算机软件22、分类:(1)

系统软件 系统软件是指管理、监控和维护计算机资源(包括硬件和软件)的软件。(A)

操作系统 DOS、WINDOWS、UNIX、XENIX 通常,操作系统具有五个方面的功能:存储管理、处理机管理、设备管理、文件管理和作业管理。 (B)语言处理程序 机器语言、汇编语言和高级语言(编译、解释)三类。(C)数据库管理系统 数据库和管理数据库的软件构成数据库管理系统。(D)服务程序

(2)

应用软件1.3计算机软件302、分类:1.3计算机软件301.4.1软件与硬件的逻辑等价1、含义:(1)

任何一个由软件所完成的操作也可以直接由硬件来实现(2)

任何一条由硬件所执行的指令也能用软件来完成2、固件(Firmware): 固件是一种界于传统的软件和硬件之间的实体,功能上类似软件,但形态上又是硬件。 微程序是计算机硬件和软件相结合的重要形式。1.4计算机系统硬件和软件的结合311.4.1软件与硬件的逻辑等价1.4计算机系统硬件和软件

1.4.2计算机系统的层次结构图1.5计算机系统的层次结构第5层编译程序高级语言层第4层汇编程序汇编语言层第3层操作系统操作系统层第2层微程序机器语言层第1层微指令直接由硬件执行微程序设计层32

1.4.2计算机系统的层次结构图1.5计算机系统的层次1、系列机: 一组计算机若是属同一个系统结构,但在性能上由低档到高档形成一个系列,就组成一个计算机系列(family)。这一系列计算机(系列机)中的每个机型都具有:相同的基本指令系统,相同的数据结构,相同的基本输入输出操作,支持相同的基本系统软件等。1.4.3系列机与兼容性331、系列机:1.4.3系列机与兼容性332、兼容性:(1)

软件兼容是指一个软件不经修改就能在不同机型上正确运行。(2)

软件兼容存在以下两种情况:

软件的向上兼容性——这是指某档机原开发的软件可以不加修改便能在它的高档机上正确运行使用。

软件的向下兼容性——这是指某档机的软件可以不加修改便能在它的低档机上正确运行使用。在这种情况下,软件向上兼容是不成问题的。(3)

兼容(Compatible)是一个广泛的概念,包括软件兼容、硬件兼容、系统兼容等等。1.4.3系列机与兼容性342、兼容性:1.4.3系列机与兼容性34主频——主频很大程度上决定了计算机的运行速度,它的单位是兆赫兹(MHz)。字长——字长决定了计算机的运算精度、指令字长度、存储单元长度等,可以是8/16/32/64位。运算速度——(1)早期方法是每秒执行加法指令的次数,(2)现在通常用等效速度。等效速度由各种指令平均执行时间以及对应的执令运行比例计算得出,即用加权平均法求得。它的单位是每秒百万指令(MIPS)。对比:Mflops(3)还有利用所谓“标准程序”在不同的机器上运行所得到的实测速度。存储容量——字数*字长1024(210)简称为1K(千),1024K(220)为1M(兆),1024M(230)为1G(千兆)。1.5计算机的性能指标35主频——主频很大程度上决定了计算机的运行速度,它的单位是可靠性——常用平均无故障时间(MTBF)衡量。MTBF—MeanTimeBetweenFalures平均无故障时间是指两次故障之间能正常工作时间的平均值。假设表示单位时间内失效的元件数与元件总数的比例即失效率,则MTBF=1/。例如=0.02%/h,则MTBF=1/=5000h可维护性——可用平均修复时间(MTRF)表示,它是指从故障发生到机器修复平均所需要的时间。MTBR—MeanTimeBetweenRepairs(字典缩略)MTTR—MeanTimeToRepair(微软计算机辞典)可用性——是指计算机的使用效率。A=MTBF/(MTBF+MTRF)可靠性R、可维护性S和可用性A,称为RAS技术。兼容性——兼容是广泛的概念,是指设备或程序可以用于多种系统中的性能。1.5计算机的性能指标36可靠性——常用平均无故障时间(MTBF)衡量。1.5计4、冯·诺依曼型计算机的基本特点是什么?6、什么是总线?以总线组成计算机有哪几种组成结构?各有什么特点?7、什么是硬件、软件和固件?什么是软件和硬件的逻辑等价?在什么意义上软件和硬件是不等价的?11、你怎样理解计算机中的“兼容”特性?13、计算机硬件实体的5个基本组成部分是否缺一不可?第1章作业374、冯·诺依曼型计算机的基本特点是什么?第1章作业37第一章小结38第一章小结38第二章计算机中的数据表示

2.2计算机中数的表示单位和机器字长2.2.1数的表示单位—位、字节、字位:BIT字节:BYTE字:WORD2.2.2机器字长 机器字长一般是指参加运算的的寄存器所含有的二进制位数,它代表机器的精度。39第二章计算机中的数据表示2.2计算机中数的表示单位 数据的表示常用的有两种:定点表示法和浮点表示法。 任何一个二进制数N都可以表示为N=2E·S 其中E是一个二进制整数,称为数N的阶码,2为阶码的基数,S是二进制小数,称为数N的尾数。E和S可正可负。尾数S表示数N的全部有效数据,阶码E指明该数的小数点位置,表示数据的大小范围。2.3定点数和浮点数40 数据的表示常用的有两种:定点表示法和浮点表示法。2.3(1)

阶码E保持不变(2)

若E=0,小数点固定在最高位之前,则该数是一个纯小数或定点小数。例如N=20·0.110101001=0.110101001(3)若取E=n(n为尾数的位数),则把小数点定在尾数最末位之后,这时表示一个纯整数(定点整数)。例如N=27·0.1011010=010110102.3.1定点数表示法41(1)

阶码E保持不变2.3.1定点数表1.

浮点数的格式

通常,阶码位数m与尾数位数n之间有如下关系:2m-1≥n 即表示阶码的值应保证实际的小数点可以在整个尾数的位格中移动。2.3.2浮点数表示法图2.1浮点数的表示形式阶码阶符尾数尾符421.浮点数的格式2.3.2浮点数表示法图2.1浮点数的2.

规格化浮点数 所谓浮点数的规格化,就是通过移动尾数,使尾数S的最高位数字为1。即S满足1/2≤|S|<1时,这个浮点数就是规格化的数,否则就不是。在字长一定的情况下,规格化的浮点数精度最高。2.3定点数和浮点数432.规格化浮点数2.3定点数和浮点数431.两种表示法所表示的数据范围不同(1)定点表示法,8位小数,则能表示的数据范围(绝对值)为: 0.0000001~0.1111111(2-7~1-2-7)(2)浮点表示法,2位阶码,1位阶符,4位尾数,1位尾符,则能表示的数据范围(绝对值)为: 0.0001*2-11~0.1111*2112.3.3定点数表示法和浮点数表示法的比较441.两种表示法所表示的数据范围不同2.3.3定点数表示法和2.溢出情况(1)

定点表示法(小数)带符号n+1位数时:小于2-n时:当0;大于1-2-n时:溢出,停机。(2)

浮点表示法规格化后,从阶码上分析溢出:阶码很小时,下溢:当0;阶码超出最大值时,上溢:停机。2.3定点数和浮点数452.溢出情况2.3定点数和浮点数453.运算规则的复杂性不同定点数:较简单;浮点数:较复杂。4.规格化浮点数的精度远远大于定点数。2.3定点数和浮点数463.运算规则的复杂性不同2.3定点数和浮点数46 一个数的表示方法,也就是它们在计算机中的组成格式和编码规则。 当一个数送入计算机进行运算处理时,首先将其转换为二进制数,同时还要解决以下几个问题:1.怎样表示数的符号2.怎样确定小数点的位置2.4带符号数的表示方法47 一个数的表示方法,也就是它们在计算机中的组成格式和编码规 机器数是指数在计算机中的表示形式,一般是采用某种编码形式表示带符号的二进制数。 真值是指机器数所对应的实际数值。2.4.1机器数和真值48 机器数是指数在计算机中的表示形式,一般是采用某种编码形式1、规则:机器数的最高一位表示符号,“0”表示正号;“1”表示负号,后面各位用数的绝对值表示。2、定义:小数原码的定义为: [X]原=[X]原为机器数的原码,X为真值。

例2.14求X=0.1011和X=-0.1011的原码X=0.1011时,[X]原=0.1011X=-0.1011时,[X]原=1-(-0.1011)=1.10112.4.2机器数的原码表示法491、规则:机器数的最高一位表示符号,“0”表示正号;“3、性质:(1)原码的最高位表示数的符号,0表示正号,1表示负号。假设小数X的原码为:[X]原=XS.Xn-1Xn-2…X2X1X0,Xs是符号位,可用下式来表示一个数的原码:[X]原=Xs+|X|(2)对于定点小数,把Xs作为数值位看待时,其位权为1,则有:当Xs=0时,1>[X]原≥0,故1>X=[X]原≥0;当Xs=1时,2>[X]原≥1,故0≥1-[X]原>-1即2>[X]原≥0,其范围是:0~2-2-(n-1),真值为1>X>-1,其范围是:-(1-2-(n-1))~+(1-2-(n-1))。(3)0不唯一定点小数[+0]原=0.0…0[-0]原=1.0…0整数[+0]原=00…0[-0]原=10…02.4.2机器数的原码表示法503、性质:2.4.2机器数的原码表示法501.

补码的定义整数补码定义:[X]补=[X]补为整数X的补码,X为任意整数,n为整数的位数。例2.15正整数X=1011的补码为:[X]补=01011负整数X=-1011的补码为: [X]补=2n+1+X=24+1+X=100000-1011=10101

小数补码定义: [X]补=[X]补是小数X的补码,X为任意小数,2为模数。小数的补码就是模为2的补码。2.4.3机器数的补码表示法511.补码的定义2.4.3机器数的补码表示法512.补码的性质

(1)在补码表示法中,0的补码是唯一的,即 整数0[+0]补=00…0 [-0]补=2n+1-00…0=2n+1=00…0(mod2n+1) 小数0[+0]补=0.00…0 [-0]补=2-0.00…0=2=0.00…0(mod2)(2)假设一整数X的补码表示为:[X]补=XSXn-1Xn-2…X1X0,XS是补码的符号位,标志整数X的符号,XS=0时,X为正数;XS=1时,X为负数。(3)补码的表示范围是: 正整数2n>X≥0 负整数0≥X≥-2n负数的范围比正数范围大,即多表示一个数-2n。当X=-2n时,它的补码为: [X]补=[-2n]补=2n+1-2n=2n=100…02.4.3机器数的补码表示法522.补码的性质2.4.3机器数的补码表示法52(4)整数X的补码可以写成这样的形式: [X]补=2n+1·XS+X这里XS为符号, XS=这是因为X为正时,XS=0,[X]补=2n+1·0+X=X;X为负时,XS=1,[X]补=2n+1·1+X=2n+1+X,符合补码的定义。(5)补码与真值的关系设[X]补=XSXn-1Xn-2…X1X0,由性质4可知,[X]补=2n+1·XS+X,可以证明X=[X]补-2n+1·XS=-2n·Xs+Xn-1Xn-2…X1X0反过来,若X=-2n·XS+Xn-1Xn-2…X1X0,则[X]补=2n+1·XS+X=XSXn-1Xn-2…X1X0(6)补码的一项算术运算特性[X/2]补是把[X]补中各位连同符号位一起都右移一位,符号位保持不变。2.4.3机器数的补码表示法53(4)整数X的补码可以写成这样的形式:2.4.3机器数

3.

补码的求法 当0≥X≥-2n时,数X的补码是:符号位为1,数值位是其真值X的数值位取反加1。也可由X的原码[X]原求得补码[X]补:[X]补等于[X]原除符号位外求反加1。反过来可由X的补码[X]补求得原码[X]原:[X]原等于[X]补除符号位外求反加1。 当X为小数时,若X为负数,则X的补码是:符号位为1,数值位是其真值X的数值位取反末位加1。也可由X的原码[X]原求得补码[X]补:[X]补等于[X]原除符号位外求反末位加1。反过来可由X的补码[X]补求得原码[X]原:[X]原等于[X]补除符号位外求反末位加1。2.4.3机器数的补码表示法543.补码的求法2.4.3机器数的补码表示法544.

由[X]补求[-X]补[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补 假设[X]补=XSXn-1Xn-2…X1X0,可由[X]补按下式求得[-X]补 [-X]补=+1 把对[X]补连同符号位在内的各位求反运算称为对[X]补“求反”运算,记为~[X]补。这样对[X]补的“求补”运算可看成对[X]补“求反”运算再加1:[-X]补=~[X]补+1,且两者有以下关系:[X]补+~[X]补=2n+1-1=11…1(n个1)2.4.3机器数的补码表示法554.由[X]补求[-X]补2.4.3机器数的补码表示法55.

变形补码小数“模4补码”的定义为: [X]补=或 [X]补=X(mod4)(1)当-1≤X<1时,数X的“模4补码”的两个符号位相同,00表示正号,11表示负号,其数值位与补码相同。当符号位为01或10时,表示数值溢出:为01时表示两正数之和大于等于1的情况,称为数值“上溢”;为10时表示两负数之和小于等于-1的情况,称为数值“下溢”。(2)“模4补码”表示中,0有唯一的补码:根据“模4补码”的性质1,可以判断数的溢出。两个同符号数相加时,有可能出现溢出。2.4.3机器数的补码表示法565.变形补码2.4.3机器数的补码表示法566.

补码的符号位扩展 若[X]补=XSXn-1Xn-2…X1X0为8位,需要扩展为16位时,要按下面的规则进行扩展: 用符号位XS填满扩展的高8位,若X>0,XS=0,扩展后高8位全为0,低8位包括符号位仍为原来的数码位。 若X<0,XS=1,扩展后高8位全为1,低8位包括符号位仍为原来的数码位。2.4.3机器数的补码表示法576.补码的符号位扩展2.4.3机器数的补码表示法571、定义:小数反码的数学定义为: [X]反=或 [X]反=X(mod2-2-n) 例2.20X=1011则[X]反=01011X=-1011则[X]反=25-1+X=10100

2.4.4机器数的反码表示法581、定义:2.4.4机器数的反码表示法582、性质:(1)在反码表示法中,0的反码不是唯一的,整数0[+0]反=00…0[-0]反=(2n+1-1)+(-00…0)=2n+1-1=11…1(mod2n+1-1)小数0[+0]反=0.00…0[-0]反=2-2-n-0.00…0=1.1…1(mod2-2-n)(2)假设一整数X的反码表示为:[X]反=XSXn-1Xn-2…X1X0,XS是反码的符号位,它标志整数X的符号,XS=0时,X为正数;XS=1时,X为负数。(3)反码与补码的关系根据补码和反码的定义,当X为正数时,[X]补=[X]反;当X为负整数时,[X]补=[X]反+1;当X为n位负小数时,[X]补=[X]反+2-n2.4.4机器数的反码表示法592、性质:2.4.4机器数的反码表示法591、定义: [X]移=2n+X2n>X≥-2n即无论X是正还是负,一律加上2n,称2n为基数。2、移码与补码的关系是:真值是正数时,移码是补码的最高位加1;真值是负数时,移码是补码的最高位减1。也就是把补码的符号位变为其反码即可。即若[X]补=XSXn-1Xn-2…X1X0,则[X]移=Xn-1Xn-2…X1X0

例2.21X=1001[X]补=01001可求得[X]移=11001X=-1001[X]补=10111可求得[X]移=001112.4.5机器数的移(增)码表示法601、定义:2.4.5机器数的移(增)码表示法603、移码有如下性质:(1)在移码表示法中,0的移码是唯一的,整数0[+0]移=2n+00…0=100…0[-0]移=2n-00…0=100…0(2)机器0的形式为00…0,它所表示的真值是[X]移所能表示的数中最小的数。即[X]移=00…0,其对应的真值是X=0-2n=-2n。而补码中的最小机器数是0,但0并不是最小真值-2n。(3)移码的最高位是符号位,但其表示的意义与原码和补码表示的意义相反。符号为0时,表示负数;符号为1,表示正数。(4)移码一般只进行加减运算,运算后需要对结果进行修正,修正量为2n,即要对结果的符号位取反后,才能得到移码形式的结果。(5)通过比较两个移码的大小,就可得知其对应的真值的大小。2.4.5机器数的移(增)码表示法613、移码有如下性质:2.4.5机器数的移(增)码表示法61 上面所述的四种表示方式中,移码主要用于表示浮点数的阶码。下面对其它三种编码方法作以比较:(1)三种编码的最高位都是符号位。(2)当真值为正时,三种编码的符号位都用0表示,数值部分与真值相同。即它们的表示方法是相同的。(3)当真值为负时,三种编码的符号位都用1表示,但数值部分的表示各不相同,数值部分存在这样的关系:补码是原码的“求反加1”(整数),或者“求反末位加1”(小数);反码是原码的“每位求反”。(4)它们所能表示的数据范围,基本上是一样的,-2n<X<2n(整数)或-1<X<1(小数),只是补码多表示一个数-2n(整数)或-1(小数)。 三种编码方法的区别主要在于,它们对负数的表示方法有所不同。2.4.6各种编码的比较62 上面所述的四种表示方式中,移码主要用于表示浮点数的阶码。 用四位二进制代码的不同组合来表示一个十进制数码的编码方法,称为二—十进制编码,也称BCD码(BinaryCodedDecimal)。2.5.1二—十进制编码原理1、二—十进制的编码都采用压缩的十进制串的方法,即四个二进制位的值来表示一个十进制数码。2、各种编码的区别在于选用哪十个状态。选择的原则是:要考虑输入和输出时转换方便;内部运算时,加、减运算规则要尽量简单;在特定场合,可能有其它一些要求。3、从每个二进制位是否有确定的位权区分,可把二—十进制编码分为有权码和无权码。2.5十进制数据表示63 用四位二进制代码的不同组合来表示一个十进制数码的编码方法1、对于有权码,将每位的数码与相应的位权相乘,再求和,就可以得到它所代表的十进制数值。2、8421码实现加、减运算时的修正规则:(1)4位一组二进制数,两个8421码表示的数相加之和等于或小于1001,即十进制的9时,不需要修正,在各组内,二进制代码相加,仍遵循“逢二进一”的规则。(2)4位一组二进制数,两个8421码相加结果大于1001(即十进制9)时,则应该对该组的4位进行“加6修正”,使它向高一组产生进位。(3)4位一组二进制数,两个8421码相加结果大于或等于10000(即十进制16),而向高一组进位时,则应该对该4位进行“加6修正”。2.5.2二—十进制有权码641、对于有权码,将每位的数码与相应的位权相乘,再求和,就可以3、其它编码方法还有:2421码、5211码、4311码和84-2-1码(四位二进制位的位权分别为8、4、-2、-1)等。其最方便使用的共同特点为:(1)对于2421码、5211码、4311码,任何两个十进制数位,采用这三种编码的任何一种编码,它们相加之和等于或大于10时,其结果的最高位向左产生进位,小于10时则不产生进位。这一特点有利于实现“逢十进位”的计数和加法规则。(2)对于2421码、5211码、4311码和84-2-1码,任何两个十进制数位,采用这四种编码的任何一种编码,它们相加其和等于9时,即它们的二进制编码位互为反码,则其结果的四个二进制位一定是1111,能较好地体现十进制的按9取补与二进制的按1取补的对应关系,这对减法很有用。2.5.2二—十进制有权码653、其它编码方法还有:2421码、5211码、4311码和8 无权码中,用的较多的是余3码(Excess-3code)和格雷码(Graycode),格雷码又称循环码。1.余3码(1)

余3码是在8421码的基础上,把每个代码都加上0011而形成的。(2)

普通8421码的加法器仍能为余3码加法器直接利用,具体规则如下:(A)若两个十进制数的余3码相加,如果结果不产生进位,则从所得和值去减0011,便得十进制位和的余3码。(B)若两个十进制数的余3码相加,如果结果有进位,则其进位正确,但需将所得和值加上0011,才求得十进制数和的余3码。2.5.3二—十进制无权码66 无权码中,用的较多的是余3码(Excess-3code2.格雷码(1)

格雷码的编码规则是使相邻的两个代码,只有一个二进制位的状态不同,其余三个二进制位必须有相同状态。(2)

优点:从一个编码变到下一个相邻编码时,只有一个位的状态发生变化,有利于保证代码变换的连续性。在模拟/数字转换和产生节拍电位等应用场合特别有用。 有关二—十进制的部分编码方案列于表2.1中。2.5.3二—十进制无权码672.格雷码2.5.3二—十进制无权码67表2.1二—十进制的编码的部分编码方案表2.1二—十进制的编码的部分编码方案100111111111111111111100010010001001110011101011100011101110100001111101110010011100101000011000001110101001101110101010110001100101101110001011011110001110101110100010011001000001001100100110010001010110011100010011010010000111011001010100000100110101011100010010001101000001001000110100000000000011000000000000000000009876512340格雷码(2)格雷码(1)余3码431184-2-152112421无权码位有权码十进制符号(BCD)842168表2.1二—十进制的编码的部分编码方案表2.1二—十进制2.6.1ASCII码 “美国标准信息交换代码”(AmericanStandardCodeforInformationInterchange),简称ASCII码。7位二进制编码,可表示27=128个字符。 ASCII码中,编码值0~31不对应任何可印刷(或称有字形)字符,通常称它们为控制字符,用于通信中的通信控制或对计算机设备的功能控制。编码值为32的是空格(或间隔)字符SP。编码值为127的是删除控制DEL码。其余的94个字符称为可印刷字符。2.6字符编码692.6.1ASCII码2.6字符编码692.6.2EBCDIC码 EBCDIC码(ExtendedBinaryCodedDecimalInterchangeCode,扩展BCD码),它是8位二进制编码,可以表示256个编码状态,但只选用其中一部分。 主要用在IBM公司生产的各种机器中。2.6字符编码702.6.2EBCDIC码2.6字符编码701、特点:(1)汉字是一种象形文字,据统计,从甲骨文至今约有六万左右的汉字。目前常见的汉字有约七千个。(2)汉字字形结构复杂,笔划繁多。(3)汉字同音字多,多音字多。2、涉及多种编码:首先将汉字转换成计算机能接收的编码,称为汉字输入码,输入码进入计算机后必须转换成汉字内码才能进行处理。为了显示输出汉字或打印输出汉字,需要经过一个变换,将汉字内码转换成汉字字形码。此外,为了使不同的汉字处理系统之间能够交换信息,还应存在汉字交换码。3、目前存在的汉字编码输入方案可以归纳为四类,即数字编码,如区位码;字音编码,如拼音码;字形编码,如五笔字型;汉字混合编码等。4、1981年我国制定了《信息交换用汉字编码字符集基本集GB2312-80》国家标准。每个二进制编码用两个字节表示。共收录一级汉字3755个,二级汉字3008个,各种符号682个,共计7445个。2.6.3汉字的表示711、特点:2.6.3汉字的表示711、数据校验的实现原理:数据校验码是在合法的数据编码之间,加进一些不允许出现的(非法的)编码,使合法的数据编码出现错误时成为非法编码。这样就可以通过检测编码的合法性达到发现错误的目的。2、码距:码距指任何一种编码的任两组二进制代码中,其对应位置的代码最少有几个二进制位不相同。2.7数据校验码721、数据校验的实现原理:数据校验码是在合法的数据编码之间,加1、码距=22、奇偶校验码:它是在被传送的n位信息组上,加上一个二进制位作为校验位,使配置后的n+1位二进制代码中1的个数为奇数(奇校验)或偶数(偶校验)。

例: 数据 奇校验编码 偶校验编码 00000000 100000000 000000000 01110101 001110101 101110101 其中,最高一位为校验位,其余低八位为数据位。

3、奇偶校验码只能检测出数据代码中一位出错的情况,但无法判断差错所发生的位置。常用于存储器读写检查,或ASCII字符传送过程中的检查。2.7.1奇偶校验码731、码距=22.7.1奇偶校验码731.原理 海明校验码的实现原理是:在数据位中加入几个校验位,将数据代码的码距均匀地拉大,并把数据的每个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错误,还能指出是哪一位出错,为进一步自动纠错提供了依据。2.编码规则 若海明码的最高位号为m,最低位号为1,即HmHm-1…H2H1,则海明码的编码规则是:(1)校验位与数据位之和为m,每个校验位Pi在海明码中被分在位号2i-1的位置上,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。(2)海明码的每一位位码Hi(包括数据位和校验位)由多个校验位校验,其关系是被校验的每一位位号要等于校验它的各校验位的位号之和。2.7.2海明校验码741.原理2.7.2海明校验码743.增添校验位 假设欲检测的有效信息为n位,需增加的校验位为k位,则校验码的长度为n+k位。校验位的状态组合,应当具有指出n+k位中任一位有错或无错的能力,即需要区别出n+k+1种状态。应满足以下关系式:2k≥n+k+1 这个关系式称为海明不等式,若信息位长度n确定后,由此可得到校验位k的最短长度。 确定校验位后,就可以与信息位组成海明校验位。假设数据位是7位二进制编码,据上所述,校验位的位数k为4,故海明码的总位数为11。它们的排列关系可表示为:海明码位号:H11H10H9H8H7H6H5H4H3H2H1海明码:D7D6D5P4D4D3D2P3D1P2P1可知:每个校验位由其本身校验;每个数据位由若干校验位校验。2.7.2海明校验码753.增添校验位2.7.2海明校验码754.校验位校验任务的分配 根据海明码的编码规则,每一位海明码都有多个校验位校验,且被校验的每以位的位号等于参与校验它的几个校验位的位号之和。

占据各权位上的校验位按权组成的8421码,正好等于海明码的位号,即海明码的位号Hi正好等于要校验它的校验位所占权位权值之和。例如:H11=P4×23+P2×22+P1×21这说明了H11位将由P4、P2、P1进行校验。校验位P1可以校验:H1、H3、H5、H7、H9、H11、H13、H15校验位P2可以校验:H2、H3、

H6、H7、H10、H11、H14、H15校验位P3可以校验:H4、H5、

H6、

H7、H12、H13、H14、H15校验位P4可以校验:H8、H9、

H10、H11、H12、H13、H14、H15根据校验时采用奇校验或是偶校验,可以写出相应的校验方程。2.7.2海明校验码764.校验位校验任务的分配2.7.2海明校验码76例2.23设有一个7位信息码位0110001,求它的海明码。解:此例中,信息位n=7,根据海明不等式,可求得校验位最短长度k=4。其海明码先表示如下:海明码位号:H11H10H9H8H7H6H5H4H3H2H1海明码:0

1

1P4000

P31P2P1按偶校验写出校验方程为:H1H3H5H7H9H11=0(P1=H1)H2H3

H6H7H10H11=0(P2=H2)H4H5

H6H7=0(P3=H4)H8H9

H10H11=0(P4=H8)由此可得:P1=0、P2=0、P3=0、P4=0,所以0110001的海明码为01100000100。2.7.2海明校验码77例2.23设有一个7位信息码位0110001,求它的海5.检错与纠错 方法:将错了的码字重新代入校验方程校验一次即可。假设上面例子中的海明码01100000100传送后,若H6位发生了错误,变成了01100100100,这时把它们代入上面的偶校验校验方程,如下:H1H3H5H7H9H11=010010=0=E1H2H3

H6H7H10H11=011010=1=E2H4H5

H6

H7=0010=1=E3H8H9

H10H11=0110=0=E4 可以把E4E3E2E1=0110看成一个“指误字”,因为其二进制码为0110,说明H6出了错,是H6错成了1,所以要纠错,纠错时将H6位取反值,即让它恢复到正确值0。这样纠错后,即可得到正确的海明码01100000100。2.7.2海明校验码785.检错与纠错2.7.2海明校验码781.CRC的编码方法 n是有效数据信息位位数,r是校验位位数。总长k=n+r位,称(k,n)码。 设待编码的有效信息以多项式M(x)表示,将M(x)左移r位得到多项式M(x)*Xr,使低r位二进制位全为零,以便与r位校验位拼接。使用多项式M(x)*Xr除以生成多项式G(x),求得的余数即为校验位。为了得到r位余数(校验位),G(X)必须是r+1位的。2.7.3循环冗余校验码791.CRC的编码方法2.7.3循环冗余校验码79 假设M(x)*Xr除以生成多项式G(x),求得的余数用表达式R(x)表示,商的表达式用Q(x)表示,它们之间的关系如下:

这时将r位余数R(X)与左移r位的M(x)*Xr相加,就得到n+r位的CRC编码:M(x)*Xr+R(x)=Q(x)*G(x)+R(x)+R(x)因为“两个相同数据的模2和为零”,即R(x)+R(x)=0,所以,M(x)*Xr+R(x)=Q(x)*G(x) 可以看出,所求得的CRC码是一个可被G(X)表示的数码除尽的数码。2.7.3循环冗余校验码80 假设M(x)*Xr除以生成多项式G(x),求得的余数用例2.24设四位有效信息位是1100,选用生成多项式G(X)=1011,试求有效信息位1100的CRC编码。解:(1)将有效信息位1100表示为多项式M(x) M(X)=X3+X2=1100(2)M(X)左移r=3位,得M(x)*X3

M(x)*X3=X6+X5=1100000(3)用r+1位的生成多项式G(X),对M(x)*Xr作“模2除” 1100000/1011=1110+010/1011(4)M(x)*X3与r位余数R(X)作“模2加”,即可求得它的CRC编码 M(x)*X3+R(X)=1100000+010=1100010(模2加)因为k=7、n=4,所以编好的CRC码又称为(7,4)码。2.7.3循环冗余校验码81例2.24设四位有效信息位是1100,选用生成多项式2.模2运算:不考虑借位和进位(1)

模2加减:可用异或门实现,即:0+0=0;0+1=1;1+0=1;1+1=0;0-0=0;0-1=1;1-0=1;1-1=0;(2)

模2乘法:用模2加求部分积之和例如: 1011x11 1011+1011111012.7.3循环冗余校验码822.模2运算:不考虑借位和进位2.7.3循环冗余校验码82(1)

模2除法:按模2减求部分余数,每上一位商,部分余数要减少一位,上商规则是:只要余数最高位为1,则商1,否则为0。当部分余数的位数小于除数时,该余数为最后余数。例如: 111……………….商11(除数)1000(被除数)111011101112.7.3循环冗余校验码83(1)

模2除法:按模2减求部分余数,每上一位3.CRC的译码及纠错 CRC码传送到目标部件,用约定的多项式G(x)对收到的CRC码进行“模2除”,若余数为0,则表明该CRC校验码正确;否则表明有错,不同的出错位,其余数是不同的。由余数具体指出是哪一位出了错,然后加以纠正。 不同的出错位,其余数也是不同的。表2.4给出了(7,4)CRC码的出错模式。 可以证明:更换不同的有效信息位,余数与出错位的对应关系不会发生变化,只与码制和生成多项式G(X)有关。2.7.3循环冗余校验码843.CRC的译码及纠错2.7.3循环冗余校验码843.关于生成多项式 不是任何一个(k+1)位多项式都能作为生成多项式,从检错、纠错的要求来看,生成多项式应满足下列要求:(1)任何一位发生错误,都应使余数不为零;(2)不同位发生错误,都应使余数不同;(3)用余数补零,继续作“模2除”,应使余数循环。2.7.3循环冗余校验码853.关于生成多项式2.7.3循环冗余校验码853、试比较下列各数对中的两个数的大小:(1)(2001)10和(2001)8(2)(4095)10和(7776)8(3)(0.115)10和(0.115)16(4)(0.625)10和(0.505)84、设二进制浮点数的阶码是3位,阶符1位,尾数6位,尾符1位,写出它的最大正数、最大负数和最小负数(0除外),并写出各自相应的十进制数的数值。(用规格化数)5、将X=-19/64表示成定点数(8位)及浮点规格化数(阶码3位,阶符1位,尾数7位,尾符1位),对于定点数请用原码、补码、反码的形式表示;对于浮点数请用原码、补码、反码以及阶码用移码,尾数用补码的形式表示。6、将下列十进制数按阶码用移码、尾数用补码的格式写成浮点数的表示形式,其中阶码3位,阶符1位,尾数6位,尾符1位。(用规格化数)(1)7.75(2)-7/128(3)726.55(4)-9.9810、设有两个正的浮点数N1=2e1

n1和N2=2e2

n2,(1)若e1>e2,是否就有N1>N2?(2)若尾数n1、n2都是规格化数,上述结论成立吗?第2章作业863、试比较下列各数对中的两个数的大小:第2章作业863、试比较下列各数对中的两个数的大小:(1)(2001)10>(2001)8(2)(4095)10>(7776)8(3)(0.115)10>(0.115)16(4)(0.625)10<(0.505)84、最大正数=2111*0.111111=126最大负数=2-111*-0.000001=2-13最小负数=2111*-0.111111=-126第2章习题答案873、试比较下列各数对中的两个数的大小:第2章习题答案875、X=-19/64=(-10011*2-110)2=-0.0100110=2-01*-0.1001100定点数:[X]原=1.0100110;[X]反=1.1011001;[X]补=1.1011010;浮点数: 原码:1,001;1.1001100 补码:1,111;1.0110100 反码:1,110;1.0110011 阶移,尾补:0,111;1.01101006、(1)=0.111110*21,011(2)=-0.0000111=20100*1.001000(3)>2111*0.111111上溢(4)=21100*1.0110017、(1)不一定(2)成立第2章习题答案885、X=-19/64=(-10011*2-1第二章小结89第二章小结89第三章运算方法和运算器 计算机进行算术运算的特点:(1)所有数据都是用二进制数位形式来表示的。(2)在机器内部,数是以编码形式即机器数来表示的。(3)机器运算规模有限,因而机器运算就要解决运算方法、数据表示格式及数据长度的选取、规定等问题。(4)用计算机进行运算时,都要把复杂的运算,简化为一系列的、最基本的运算才能实现。计算机可以实现的基本运算有算术运算(加、减、乘、除等)和逻辑运算(与、或、异或等)。90第三章运算方法和运算器 计算机进行算术运算的特点:90(1)对符号位单独处理。首先要考虑符号,若两数符号相同,则进入(2);否则进入(3)。(2)将两数绝对值相加,求其和。和的符号等于被加数的符号。(3)先将它们的绝对值相减,求得和。若运算结果为正,则和的符号等于被加数的符号;结果为负,和的符号等于加数的符号。3.1.1原码加减运算规则91(1)对符号位单独处理。首先要考虑符号,若两数符号相同,例3.1[A]原=1.01011[B]原=0.01001求[A]原+[B]原解比较符号:AS=1,BS=0,AS≠BS绝对值相减:差:C=|A|-|B|=0.01011-0.01001=0.00010差的符号:CS=0,所以,[A]原+[B]原=1.00010例3.2[A]原=0.01001[B]原=1.01011求[A]原+[B]原解比较符号:AS=0,BS=1,AS≠BS绝对值相减:差:C=|A|-|B|=0.01001-0.01011=1.11110差的符号:CS=1,对C取补为:0.00010所以,[A]原+[B]原=1.000103.1.1原码加减运算规则92例3.1[A]原=1.01011[B]原=0.0原码减法运算,可按如下步骤进行:(1)先比较两数符号,若两数符号相异,则进入(2);两数符号相同进入(3)。(2)将两数绝对值相加,求得差数绝对值。差的符号等于被减数的符号。(3)将它们的绝对值相减,求得差数。若运算结果为正,则差的符号等于被减数的符号;结果为负,差的符号等于被减数的符号取反。原码加减运算总结:(1)

符号位单独处理(2)

绝对值加或减(3)

合并(符号和数值)3.1.1原码加减运算规则93原码减法运算,可按如下步骤进行:3.1.1原码加减运算规则(1)公式:[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补例3.4X=0.001010Y=-0.100011求[X-Y]补解[X]补=0.001010[-Y]补=0.100011则[X-Y]补=[X]补+[-Y]补=0.001010+0.100011=0.101101(2)变形补码

温馨提示

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

评论

0/150

提交评论