计算机组成原理(本科)全套教学课件_第1页
计算机组成原理(本科)全套教学课件_第2页
计算机组成原理(本科)全套教学课件_第3页
计算机组成原理(本科)全套教学课件_第4页
计算机组成原理(本科)全套教学课件_第5页
已阅读5页,还剩1072页未读 继续免费阅读

下载本文档

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

文档简介

全套可编辑PPT课件计算机系统概论数据表示数据运算与运算器存储系统指令系统中央处理器总线系统外围设备输入/输出系统等。目录concents1.1计算机的发展历程1.2计算机硬件的基本构成1.3计算机软件1.4计算机系统层次结构1.5计算机的性能指标1.6常见问题和易混淆知识点计算机的发展历程1.1(1)第一代计算机(1946~1957年)——电子管时代其特点是:逻辑元件采用电子管;使用机器语言进行编程;主存用延迟线或磁鼓存储信息,容量极小;体积庞大,成本高;运算速度较低,一般只有每秒几千到几万次。1.1.1计算机硬件的发展(2)第二代计算机(1958~1964年)——晶体管时代。其特点是:逻辑元件采用晶体管;运算速度提高到每秒几万到几十万次;主存使用磁芯存储器;软件开始使用高级语言(如FORTRAN),有了操作系统的雏形。(3)第三代计算机(1965~1971年)——中小规模集成电路时代。其特点是:逻辑元件采用中小规模集成电路;半导体存储器开始取代磁芯存储器;高级语言和操作系统迅速发展,开始有了分时操作系统。(4)第四代计算机(1972至今)——超大规模集成电路时代。其特点是:逻辑元件采用大规模集成电路和超大规模集成电路,并产生了微处理器;半导体存储器完全取代了磁芯存储器,并不断向大容量、高速度发展,高速缓存、虚拟存储器等技术相继出现,进一步提高了存储器的性能;伴随着流水线、多处理器等并行技术的采用,计算机的运算速度已飞速提升。1.1.2计算机软件的发展计算机软件的发展计算机技术的发展计算机语言的发展面向机器的机器语言面向汇编语言、面向问题的高级语言其中高级语言的发展真正促进了软件的发展。高级语言的发展又经历了几个阶段:第一阶段代表语言是适用于科学计算和工程计算的FORTRAN语言第二阶段结构化程序设计阶段,其代表语言是PASCAL第三阶段面向对象程序设计阶段,其代表语言是C++近年来随着网络技术的不断发展,又出现了可适应网络环境的面向对象语言JAVA等。与此同时,直接影响计算机系统性能提升的各种系统软件也有了长足的发展,特别是操作系统,如Windows,Linux,UNIX等。计算机硬件的基本构成1.21.2.1早期的冯·诺依曼机1946年,美籍匈牙利数学家约翰·冯·诺依曼(JohnvonNeumann)在研究EDVAC(ElectronicDiscreteVariableAutomaticComputer)时提出了“存储程序”的概念,“存储程序”的思想奠定了现代计算机的基本结构,以此概念为基础的各类计算机通称为冯·诺依曼机。其特点如下:(1)计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5大部件组成。(2)指令和数据以同等地位存于存储器内,并可按地址寻访。(3)指令和数据均用二进制代码表示。(4)指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。(5)指令在存储器内按顺序存放。通常是顺序执行,特定条件下,可根据运算结果或根据设定的条件改变执行顺序。(6)早期的冯·诺依曼机以运算器为中心,输入/输出设备通过运算器与存储器传送数据。典型的冯·诺依曼机结构如图所示。1.2.2现代计算机的组织结构现代计算机已经发展为以存储器为中心,使输入/输出操作尽可能绕过CPU,直接在输入/输出设备和存储器之间完成,以提高系统的整体运行效率,其结构如图所示。目前绝大多数现代计算机仍遵循冯·诺依曼的“存储程序”设计思想。据此,计算机硬件均由运算器、控制器、存储器、输入/输出设备及将它们连接为有机整体的总线构成。运算器的功能是在控制器的指挥下,对信息或数据进行处理和运算(包括算术运算和逻辑运算),因此通常称其为算术逻辑运算单元(ArithmeticandLogicalUnit,ALU)。运算器中还应有存放操作数和运算结果的寄存器,包括移位寄存器和若干通用寄存器等。01运算器010203暂时存放参与运算的数据和某些中间运算结果实现对数据的算术和逻辑运算挑选参加运算的数据,选中要执行的运算功能,并把运算结果输出到所要求的部件中运算器的功能可以归纳为以下几点:控制器是计算机的控制中心,用来实现计算机本身运算过程的自动化。它指挥计算机各部件按照指令功能的要求进行所需要的操作。控制器从存储器中取出指令,解释指令的操作码和地址码,并根据译码,产生一系列的控制信号,控制计算机各部件协调工作,并控制程序的执行顺序。因此,控制器的主要工作是不断地取指令、分析指令和执行指令。02控制器运算器和控制器在结构关系上是非常密切的,它们之间有大量的信息频繁交换。在第三代计算机中,还可以从结构上分清楚哪个是运算器,哪个是控制器;到了第四代计算机,随着半导体制造工艺的进步,将运算器和控制器集成在一个芯片上,这样的集成电路芯片称为中央处理器(CentralProcessingUnit,CPU)。存储器是计算机用来存放程序和数据的记忆部件,是计算机各种信息存放和交流的中心。它的基本功能是在控制器的控制下按照指定的地址存入或取出信息。03存储器早期的计算机只有主存,而现代计算机通常采用三级存储体系,如图所示。CPU能按存储单元地址直接访问主存(内

存);增加高速缓存(Cache)的目的是为了提

高速度,解决CPU与主存之间速度不匹配

的矛盾;增加辅存(外存)的目的是弥补主存容量

的不足。CPUCache主存(内存)辅存(外存)(1)主存(内存)由CPU直接访问的存储器,它存放着正在运行的程序和数据,也可以存储计算的结果或中间结果。由于主存直接与运算器、控制器交换信息,因此要求其存取速度快,但存储容量较小。目前,计算机的主存都采用大规模集成电路制成的半导体存储器。半导体存储器具有存储密度大、体积小、重量轻、存取速度快等优点。主存通常由随机存储器(RandomAccessMemory,RAM)和只读存储器(Read-OnlyMemory,ROM)组成,并通常称为主存储器。主存储器由许多存储单元组成,每个存储单元包含若干个存储元件,每个存储元件存储一位二进制代码0或1。故而存储单元可存储一串二进制代码,称这串代码为存储字,这串代码的位数称为存储字长,存储字长可以是一个字节(8bit)或字节的偶数倍。每个存储单元有一个唯一的编号,这个编号称为该存储单元的地址,可以用地址唯一地访问到一个存储单元。存储器的结构如图所示。(2)高速缓存(Cache)存取速度比主存快,但比CPU内部的寄存器慢。Cache的容量较小,且常被置于CPU与主存之间。Cache在任何时候都只是主存中一部分内容的拷贝。当CPU要存取主存中的某个信息时,CPU首先检查Cache,如果其有该信息,就立即存取它;如果没有,就从主存中将包含该信息的一个数据块拷贝到Cache中,再访问Cache读写该信息。由于计算机中的指令大部分是顺序执行的(除转移指令外),很多数据也是顺序存放和处理的(如数组),因此CPU下次要访问的信息很有可能就是该信息的后续字,这种情况下,CPU访问Cache即可,提高了处理速度。(3)辅存(外存)是主机的外围设备,用来存储大量的暂时不参加运算或处理的数据和程序,因而允许存取速度较慢,一旦需要,可成批地与主存交换信息。它是主存的后备和补充,因此称为“辅助存储器”,如磁盘存储器、磁带存储器、光盘存储器等。辅存的特点是存储容量大、可靠性高、价格低,在脱机情况下可以永久地保存信息。输入/输出设备是计算机与外界联系的重要桥梁,是计算机系统中的一个不可或缺的组成部分。04输入/输出设备(1)输入设备作用是将程序和数据以计算机所能识别的形式输入到计算机内。常见的输入设备有键盘、鼠标、扫描仪、摄像机等。它们多是电子和机电混合的装置,速度较慢,因此,一般通过接口与CPU、存储器相连接。(2)输出设备作用是将计算机处理的结果以人们所能接受或其他系统所要求的形式进行输出,如打印到纸上。常见的输出设备有显示器、打印机、绘图仪等。输出设备也多为机电装置,也需通过接口与CPU、存储器连接。从数据输入输出的角度看,磁盘机(硬盘)和磁带机也可以看作输入/输出设备。当从磁盘或磁带读取文件时,它们是输入设备,当向磁盘或磁带保存文件时,它们是输出设备。总线是一组可为多个功能部件共享的公共信息传送线路。它将上述各大部件连接成一个有机整体,如图所示。总线规定了计算机组件间交换数据的规范化方式,以一种通用的方式为各组件提供数据传送和控制逻辑。总线能分时接收各部件送来的信息,并发送信息到各有关部件中。03总线地址总线是单向的,CPU用它来传送主存单元地址或输入/输出端口地址。数据总线主要用于传送各大部件之间的数据信息,如数字、命令字、状态字等。控制总线主要用于传送控制信号和时序信号,这些信号用来指示数据是要读出还是写入CPU,CPU是要访问存储器还是输入/输出设备,输入/输出设备或存储器是否已就绪等。计算机软件1.3计算机软件是计算机系统的一个重要组成部分,它将各种计算机的指令组合起来,使计算机硬件部分能正常工作并完成复杂的计算任务。通常把一个完整的程序及相应的文档称为软件。1.3.1计算机软件的分类系统软件是一组保证计算机系统高效、正确运行的基础软件,通常作为系统资源提供给用户使用。主要包括操作系统、语言处理系统、数据库管理系统、分布式软件系统、网络软件系统、各种服务程序等。应用软件是指用户为解决某个应用领域中的问题而编制的程序。包括各种科学计算类软件、工程设计类软件、数据统计与处理软件、情报检索软件、企业管理软件、生产过程控制软件、文字处理软件、表格处理软件、图形处理软件等。1.3.2程序设计语言机器语言是一种二进制语言,是用二进制代码来描述机器指令的。用机器语言编写的程序具有充分发挥硬件功能的特点,机器语言又是计算机唯一能直接识别、直接执行的计算机语言,所以程序的运行速度很快。但是用机器语言所编写的程序很不直观,难懂、难写、难记,也难以修改和维护。01机器语言同时,机器语言是每种计算机所固有的,不同类型的计算机,其指令系统和指令格式都不一样。因此,针对某一种型号的计算机所编写的程序就不能在另一种型号计算机上运行,即机器语言程序没有通用性。用机器语言编写程序有很多困难,为了便于人们使用计算机,20世纪50年代初出现了汇编语言。汇编语言和机器语言基本上是一一对应的,但在表示方法上有了根本性的改进,它用一种助记符来代替操作码,用符号来表示操作数地址(地址码),这些助记符通常使用指令功能英文单词的缩写,以便于记忆。例如,用ADD表示加法,用MOV表示传送等。02汇编语言汇编语言比较直观、易懂、易用、易记忆,特点是与特定的计算机结构及其指令系统密切相关,其助记符与其机器语言操作码是一一对应的。不同型号CPU的计算机,针对同一问题所编写的汇编语言程序往往是互不通用的。用汇编语言编写的程序质量高,执行速度快,占用主存空间少,因此常用于编写系统软件、实时控制程序、经常使用的标准子程序和用于直接控制计算机的外围设备或端口数据输入输出程序等。汇编语言和机器语言一样,也是面向机器的程序设计语言,通用性差,使用仍不方便。机器语言和汇编语言一般都称为低级语言。高级语言(如C语言、C++语言、JAVA语言等)是为了使程序语言能更贴近人类的自然语言,同时又不依赖于计算机硬件而产生的。用高级语言编写的程序是由一系列的语句(或函数)组成的。每一条语句常常可以对应几条、十几条,甚至几十条、上百条机器指令,因此用高级语言编写计算机程序大大提高了编程效率。03高级语言计算机系统层次结构1.4计算机不能简单地认为是一种电子设备,而是一个十分复杂的软、硬件结合而成的整体。因此,可以将计算机系统分为多级层次结构,如图所示。其目的是分清各级层次结构彼此之间的界面,明确各自的功能,以便构成合理、高效的计算机系统。第0级硬件操作时序,实际的硬件层,是硬件组成的实体。第1级微程序机器层,实际的硬件层,它由机器硬件直接执行微指令。第2级传统机器语言层,实际的硬件层,由微程序解释机器指令系统。第3级操作系统层,由操作系统程序实现。操作系统程序是由机器指令和广义指令组成的。其中,广义指令是为扩展机器功能而设置的,是由操作系统定义和解释的软件指令。这一层也称为混合层。第5级高级语言层,高级语言层为方便用户编写各类应用程序而设置。它是面向用户的。该层由各种高级语言编译程序支持和执行。第4级汇编语言层,汇编语言是一种符号形式语言,用户可通过它编写汇编语言源程序。这一层由汇编程序支持和执行。第6级应用语言层,应用语言层是直接面向某个应用领域,为方便用户编写该应用领域的应用程序而设置的。由相应的应用软件包支持和执行。在多级层次结构中,第0,1,2级是实机器,上面几层均为虚机器(虚拟机)。传统机器语言层和操作系统层是虚、实机器的分界面。软、硬件功能的分配,决定了虚、实机器的界面。利用多级层次结构观点,可以在设计计算机系统时,明确硬件和软件及在虚机器中各层次应完成的功能。计算机的性能指标1.5CPU的工作节拍是由时钟来控制的,时钟不断产生固定频率的时钟脉冲,这个时钟的频率(f)就是CPU的主频。通常用一秒钟内发出的电子脉冲数来表示,常用单位是兆赫兹(MHz)、吉赫兹(GHz)。01主频CPU时钟周期(T)是主频的倒数,即T=1/f,常用单位是μs,ns。02CPU时钟周期CPI是执行一条指令所需要的平均时钟周期数,计算公式如下:CPI=执行某段程序所需的CPU时钟周期数÷程序包含的指令条数

(1-1)03CPICPU执行时间(TCPU)是运行一个程序所花费的时间,计算公式如下:TCPU=IN×CPI×T

(1-2)其中:IN为执行程序中指令的总数CPI为执行每条指令所需的平均时钟周期数T为时钟周期04CPU执行时间运算速度可以用每秒钟执行多少条指令或完成多少次浮点运算来表示,可以用MIPS或MFLOPS度量。MIPS(百万条指令/秒):CPU每秒钟平均执行的定点指令条数(百万条),计算公式如下:MIPS=IN/(TCPU×106)=IN/(IN×CPI×T×106)=f/(CPI×106)(1-3)其中:IN为执行该程序的总指令数TCPU为执行该程序的总时间T为CPU时钟周期,f为主频(f=1/T)05运算速度MFLOPS(百万次浮点运算/秒):CPU每秒钟平均执行的浮点运算次数(百万次),计算公式如下:MFLOPS=IFN/(TCPU×106)(1-4)其中:IFN为程序中浮点运算次数TCPU为执行该程序的总时间MIPS和MFLOPS分别反映了计算机的定点运算能力和浮点运算能力。基本字长是直接参与运算的数据字的二进制位数。决定了寄存器、ALU、数据总线等的位数,直接影响着硬件的造价。字长标志着运算精度,位数越多,精度越高。一般机器的字长都是字节的1,2,4,8倍,即微型计算机的字长为8位、16位、32位和64位。例如,286机为16位机,386以上的机型是32位机,Intel公司推出的安腾(Itanium)机是64位机。06基本字长07存储容量存储容量是计算机能存储信息的总字节量,主存中能存储的信息总字节数称为主存容量(也可用所存储的二进制位的总数表示存储容量)。字节(Byte,简写为B)是作为一个单位来处理一串二进制的数位,通常以8个二进制位(bit)作为一个字节。每1024个字节称为1K字节(1KB)。存储容量的单位还有MB(兆字节)、GB(吉字节)和TB(太字节)等。它们之间的关系是:1KB=1024B=210B,1MB=1024KB=220B,1GB=1024MB=230B,1TB=1024GB=240B。08主存存取周期主存存取周期是连续两次访问主存所允许的最小时间间隔。微型机的主存目前都由大规模集成电路制成,其存取周期很短,约为几十纳秒(ns)到一百纳秒左右。衡量一台计算机系统的性能指标很多,除上面列举的主要指标外,还应考虑机器的兼容性(包括数据和文件的兼容、程序兼容、系统兼容和设备兼容),系统的可靠性(平均无故障工作时间),系统的可维护性(平均修复时间),机器允许配置的外围设备的最大数目,计算机系统的汉字处理能力,数据库管理系统及网络性能等。例1-1用一台40MHz的处理器执行标准测试程序,它所包含的各类型指令所占比例及CPI数如表所示。求有效的CPI和MIPS速率。指令类型CPI指令所占比例算术和逻辑160%高速缓存命中的访存218%转移412%高速缓存失效的访存810%解CPI是执行一条指令所需要的平均时钟周期数。本标准测试程序共包含4种指令,那么CPI就是这4种指令的数学期望。即:CPI=1×60%+2×18%+4×12%+8×10%=2.24(周期/指令)MIPS即每秒执行百万条指令数。已知处理器时钟频率为40MHz,即每秒包含40M个时钟周期,故:MIPS=f/(CPI×106)=40/CPI=40/2.24=17.9(百万条指令/秒)例1-2某台计算机只有Load/Store指令能对存储器进行读、写操作,其他指令只对寄存器进行操作。根据程序追踪实验结果,已知每条指令所占的比例及CPI数如表所示。求上述情况的平均CPI。指令类型CPI指令所占比例算术逻辑指令143%Load指令221%Store指令212%转移指令224%解本处理机共包含4种指令,那么CPI就是这4种指令的数学期望。即:CPI=1×43%+2×21%+2×12%+2×24%=1.57(周期/指令)例1-3计算机A和B是采用不同主频的CPU芯片,片内逻辑电路完全相同。若A机的CPU主频为8MHz,B机为12MHz,则A机的CPU时钟周期为多少?若A机的平均指令执行速度为0.4MIPS,那么A机的平均指令周期为多少?B机的平均指令执行速度为多少?(1)(3)(2)解(1)A机的CPU主频为8MHz,所以A机的CPU时钟周期T=1/(8MHz)=0.125μs。(2)A机的平均指令周期=1/(0.4MIPS)=2.5μs。(3)A机平均每条指令的时钟周期数=(2.5μs)/(0.125μs)=20。因A机和B机的片内逻辑电路完全相同,所以B机平均每条指令的时钟周期数也为20。由于B机的CPU主频为12MHz,所以,B机的CPU时钟周期=1/(12MHz)=1/12μs。B机的平均指令周期=20×(1/12μs)=5/3μs。B机的平均指令执行速度=1/(5/3μs)=0.6MIPS。常见问题和易混淆知识点1.6翻译程序是指把高级语言源程序翻译成机器语言程序(目标代码)的软件。01翻译程序、汇编程序、编译程序、解释程序的区别和联系编译程序解释程序将高级语言源程序一次全部翻译成目标程序,每次执行程序时,只执行目标程序,因此,只要源程序不变,就无须重新翻译将源程序的一条语句翻译成对应的机器目标代码,并立即执行,然后翻译下一条源程序语句并执行,直至所有源程序语句全部被翻译并执行完翻译程序有两种:汇编程序也是一种语言翻译程序,它将汇编语言源程序翻译为机器语言程序。汇编语言是一种面向机器的低级语言,是机器语言的符号表示,与机器语言一一对应。编译程序与汇编程序的区别:如果源语言是诸如C,C++,JAVA等高级语言,而目标语言是诸如汇编语言或机器语言之类的低级语言,这样的一个翻译程序称为编译程序。如果源语言是汇编语言,而目标语言是机器语言,这样的一个翻译程序称为汇编程序。02计算机体系结构和计算机组成的区别和联系计算机体系结构是指机器语言或汇编语言程序员所看得到的传统机器的属性,包括指令集、数据类型、存储器寻址技术等,大都属于抽象的属性。计算机组成是指如何实现计算机体系结构所体现的属性,它包含许多对程序员来说是透明的硬件细节。许多计算机厂商提供一系列体系结构相同的计算机,而它们的组成却有相当大的差别,即使是同一系列的不同型号机器,其性能和价格也有很大差异计算机的硬件包括运算器、控制器、存储器、输入/输出设备和总线。随着半导体制造工艺的进步,将运算器和控制器集成在一个芯片上,这样的集成电路芯片称为中央处理器(CPU)计算机软件分为系统软件和应用软件两大类计算机系统是一个由硬件、软件组成的多级层次结构计算机的性能指标包括主频、CPU时钟周期、CPI、CPU执行时间、运算速度、基本字长、主存容量和主存存取周期等本章主要介绍了计算机系统概论。通过本章的学习,读者应重点掌握以上内容。目录concents2.1数制与编码2.2定点数的表示2.3浮点数的表示2.4常见问题和易混淆知识点数制与编码2.1计算机的基本功能是对信息进行加工处理。信息包括数据、文字、声音、图形和图像等。数据有两类,一类是数值数据,如+123,−12.3,26等,有“量”的概念;另一类是非数值数据,如各种字母和符号,又称符号数据。无论是数值数据还是非数值数据,在计算机中都是用二进制数码表示的。而文字、声音、图形和图像等信息要在计算机中处理,都要事先数字化,即把声音、图形、图像等信息转换为二进制数码。在计算机内部,各种信息都必须采用数字化编码的形式才能传送、存储和处理加工。所谓编码,是用来将信息从一种形式转变为另一种形式的符号系统,通常选用少量最简单的基本符号和一定的组合规则,以表示出大量复杂多样的信息。信息的数字化编码,是指用二进制数码(0或1),并选用一定的组合规则,来表示数据、文字、声音、图形和图像等各种复杂的信息。2.1.1常用的进位计数制及其相互转换进位计数制是用一组固定的符号和统一的规则来表示数值的方法。01进位计数制按照进位计数制的方法表示数,不同的数制均涉及两个基本概念:基数和权。基数进位计数制中所具有的数字符号的个数。权每位数字的值等于数字乘以所在位数的相关常数,这个常数就是权。任意一个r进制数N,设整数部分为n位,小数部分为m位,则N代表的实际值可表示为:

其中,Di是位序号为i的位上的数字符号。(2-1)其中高级语言的发展真正促进了软件的发展。高级语言的发展又经历了几个阶段:第一阶段代表语言是适用于科学计算和工程计算的FORTRAN语言第二阶段结构化程序设计阶段,其代表语言是PASCAL第三阶段面向对象程序设计阶段,其代表语言是C++近年来随着网络技术的不断发展,又出现了可适应网络环境的面向对象语言JAVA等。与此同时,直接影响计算机系统性能提升的各种系统软件也有了长足的发展,特别是操作系统,如Windows,Linux,UNIX等。在计算机领域中,用于表示数值的进位计数制主要有4种:(1)十进制(Decimal,用D表示,可省略)有10个不同的数字符号(0,1,2,3,4,5,6,7,8,9),低位向高位进位的规律是“逢十进一”。例如:879=8×102+7×101+9×100其中,10称为十进制的基数,102,101,100称为各数位的权。(2)二进制(Binary,用B表示)有2个不同的数字符号(0和1),其进位规律是“逢二进一”。例如:1101.1011B=(1101.1011)2=1×23+1×22+0×21+1×20+1×2−1+0×2−2+1×2−3+1×2−4其中,2称为二进制的基数,23,22,21,20,2−1,2−2,2−3,2−4称为各数位的权。(3)八进制(Octal,用O表示)有8个不同的数字符号(0,1,2,3,4,5,6,7),其进位规律是“逢八进一”。例如:678O=(678)8=6×82+7×81+8×80其中,8称为八进制的基数,82,81,80称为各数位的权。(4)十六进制(Hexadecimal,用H表示)有16个不同的数字符号(0~9,A~F),其进位规律是“逢十六进一”。例如:2AB.1CH=(2AB.1C)16=2×162+A×161+B×160+1×16−1+C×16−2其中,16称为十六进制的基数,162,161,160,16−1,16−2称为各数位的权。(1)其他进制转换为十进制。方法是:将其他进制数按权展开,然后各项相加,就得到相应的十进制数。02常用进位计数制间的相互转换例2-1将二进制数10110.101转换成十进制数。按权展开(10110.101)2=1×24+0×23+1×22+1×21+0×20+1×2−1+0×2−2+1×2−3 =16+0+4+2+0+0.5+0+0.125 =(22.625)10例2-2将八进制数654.23转换成十进制数。按权展开(654.23)8=6×82+5×81+4×80+2×8−1+3×8−2

=384+40+4+0.25+0.046875 =(428.296875)10例2-3将十六进制数3A6E.5转换成十进制数。按权展开(3A6E.5)16=3×163+10×162+6×161+14×160+5×16−1 =12288+2560+96+14+0.3125 =(14958.3125)10(2)十进制转换为二进制。整数部分的转换采用“除2取余法”,即整数部分不断除以2,并记下每次所得余数,所有余数按倒序排列即为相应的二进制数。小数部分的转换则采用“乘2取整法”,并将所得整数按顺序排列。4322222211052120取余数整数部分110101小数部分取整数0.625×2=1.25

10.25×2=0.5 00.5×2=1

1例2-4将十进制数43.625转换成二进制数。将43.625的整数部分和小数部分分开做如下处理,所以,(43.625)10=(101011.101)2。(3)二进制、八进制、十六进制之间的转换。根据它们之间存在特殊的关系:81=23,161=24,即1位八进制数相当于3位二进制数,1位十六进制数相当于4位二进制数,对照下表进行转换即可。十进制二进制八进制十六进制00001111210223113341004451015561106671117781000108十进制二进制八进制十六进制9100111910101012A11101113B12110014C13110115D14111016E15111117F1610000201017100012111①二进制与八进制的相互转换。以小数点为中心,整数部分自右向左,每3位为1组,最后1组不满3位时高位补0;小数部分自左向右,每3位为1组,最后1组不满3位时低位补0,将每组二进制数转换为八进制数即可。相反,八进制转换成二进制时,将1位的八进制数转换成3位的二进制数即可。例2-5将二进制数10101011.110101转换成八进制数。(010

101

011.110

101)2

(整数高位补0)

所以,(010101011.110101)2=(253.65)8。253.65

例2-6将八进制数162.52转换成二进制数。

(162.52)8

所以,(162.52)8=(1110010.10101)2。001

110

010.101

010②二进制与十六进制的相互转换。以小数点为中心,整数部分自右向左,每4位为1组,最后1组不满4位时高位补0;小数部分自左向右,每4位为1组,最后1组不满4位时低位补0,将每组二进制数转换为十六进制数即可。相反,十六进制转换成二进制时,将1位的十六进制数转换成4位的二进制数即可。例2-7将二进制数10101011.110101转换成十六进制数。(1010

1011.1101

0100)2(小数低位补0)所以,(10101011.110101)2=(AB.D4)16。AB.D4例2-8将十六进制数A6.3C转换成二进制数。

(A6.3C)16所以,(A6.3C)16=(10100110.001111)2。1010

0110.0011

11002.1.2BCD码为了使计算机能识别和存储十进制数,并能直接用十进制数形式进行运算,需要对十进制数进行编码,即用0和1的不同组合形式来表示十进制数的各个数位上的数字,进而表示一个十进制数。将十进制数表示为二进制编码的形式,称为十进制数的二进制编码,简称二-十进制编码或BCD(BinaryCodedDecimal)码。BCD码有多种编码方法,常用的有8421码,如表所示。8421码是将十进制数码0~9中的每个数分别用4位二进制编码表示,比较直观。十进制数8421码00000100012001030011401005010160110701118100091001十进制数8421码10000100001100010001120001001013000100111400010100150001010116000101101700010111180001100019000110012.1.3字符与字符串由于计算机内部只能识别和处理二进制代码,所以字符都必须按照一定的规则用一组二进制编码来表示。字符编码采用国际通用的美国标准信息交换码(AmericanStandardCodeforInformationInterchange,ASCII),每个ASCII码以1个字节(Byte)存储,从数字0到数字127代表不同的常用字符。01ASCII码常用字符与ASCII码值对照关系如表所示。码值字符0NUL1SOH2STX3ETX4EOT5ENQ6ACK7BEL8BS9HT码值字符10LF11VT12FF13CR14SO15SI16DLE17DC118DC219DC3码值字符20DC421NAK22SYN23ETB24CAN25EM26SUB27ESC28FS29GS码值字符30RS31US32SP33!34"35#36$37%38&39'码值字符40(41)42*43+44,45-46.47/480491码值字符50251352453554655756857958:59;码值字符60<61=62>63?64@65A66B67C68D69E码值字符70F71G72H73I74J75K76L77M78N79O码值字符80P81Q82R83S84T85U86V87W88X89Y码值字符90Z91[92\93]94^95_96`97a98b99c码值字符100d101e102f103g104h105i106j107k108l109m码值字符110n111o112p113q114r115s116t117u118v119w码值字符120x121y122z123{124|125}126~127DEL字符串是指连续的一串字符,通常情况下,占用主存中连续的多个字节,每个字节存储一个字符。主存字(主存单元)由2个或4个字节组成时,在同一个主存字中,既可按先存储低位字节、后存储高位字节的顺序存放字符串的内容(又称小端模式),也可按先存储高位字节、后存储低位字节的顺序存放字符串的内容(又称大端模式)。这两种存放方式都是常用方式,不同计算机可以选用其中任何一种(甚至是同时采用)。02字符串的存放例如,字符串“IF_A>B_THEN_READ(C)_”(其中“_”代表空格),它从高位字节到低位字节依次存放在主存中,如图所示。IF空A>B空THEN空READ(C)空其中主存字长度为4个字节。每个字节中存放相应字符的ASCII码值,注意空格“_”也占一个字节的位置。因此,每个字节分别存放十进制的73,70,32,65,62,66,32,84,72,69,78,32,82,69,65,68,40,67,41,32。2.1.4汉字编码汉字的编码比较特殊,汉字编码可分为机内码和机外码两类,机内码是在计算机内部使用的用二进制代码表示的汉字编码,用于在计算机内部存储、交换、处理加工汉字信息;而机外码是指不在计算机内使用的汉字编码,主要是指汉字输入码,此外还有供输出的汉字字模码。国标码是指1981年我国公布的“中华人民共和国国家标准信息交换汉字编码”,是一种国家标准编码,代号为GB2312—1980。它以94个可显示的ASCII码字符为基集,由两个字节构成。国标码与ASCII码属同一制式,可以认为国标码是扩展的ASCII码。01国标码GB2312—1980规定,所有的国标汉字与符号组成一个94×94的矩阵。在此矩阵中,每一行称为一个“区”,每一列称为一个“位”。因此,该矩阵分成94个区(区号为01~94),每区有94个位(位号为01~94),一个汉字所在的区号和位号组合在一起就构成了该汉字的“国标区位码”,简称国标码。国标码用连续的两个字节表示,高位字节为区号,低位字节为位号,因此,总共可表示94×94=8836个汉字或符号。1~9区非汉字的各种字母、数字符和图符16~55区一级汉字区(最常用汉字),按汉语拼音排序56~87区二级汉字区(次常用汉字),按偏旁部首排序10~15区和88~94区空白区,专供用户自定义专用符号和自造汉字字型及填充一、二级汉字中没有的汉字使用国标码用两个字节的十六进制数表示,如汉字“文”的国标码是“4E44H”。计算机系统中用来表示中文或西文信息的代码称为机内码。ASCII码是一种西文机内码,在计算机系统内部用来表示汉字的编码称为汉字机内码。我国现在计算机系统中所采用的机内码是以国标码为基础的编码。机内码也是用连续的两个字节来表示,将汉字国标码编码的每个字节的最高位置1。既和国标码有紧密联系,又和ASCII码严格相区别,不会发生混淆。02汉字机内码汉字机内码与国标码的关系为:国标码高位字节80H汉字机内码高位字节国标码低位字节80H汉字机内码低位字节汉字输入码是指直接从键盘输入的各种汉字输入方法的编码,属于外码。汉字输入码有数字码、音码和形码,还有以汉字的音和形相结合的音形码和形音码。03汉字输入码字模码是用点阵表示的汉字字形代码,是汉字的输出形式。根据汉字输出的要求不同,点阵的多少也不同。简易型汉字为16×16点阵,提高型汉字为24×24点阵、32×32点阵,甚至更高。因此,字模点阵的信息量是很大的,所占存储空间也很大。04汉字字模码以16×16点阵为例,每个汉字要占用32个字节,国标两级汉字要占用256千字节。因此,字模点阵只能用来构成汉字库,而不能用于机内存储。字库中存储了每个汉字的点阵代码,当显示输出或打印输出时才检索字库,输出字模点阵,得到字形。例如,“华”字的16×16点阵字形如图所示。2.1.5校验码校验码是指能够发现或自动纠正错误的数据编码,也称为检错/纠错编码。校验码的原理是通过增加一些冗余码,来检验或纠错编码。奇偶校验是最简单的校验方法,其编码方法为:在n位有效信息位的最高位或最低位增加一位二进制校验位P,使其形成n+1位校验码。校验码中1的个数为奇数(偶数),则称为奇校验(偶校验)。01奇偶校验码设n位有效信息位XnXn−1…X2X1,其后增加一位二进制校验位P,那么P可定义为:

奇校验

(2-2)

偶校验

(2-3)例如,8位二进制信息00101011,在其最低位增加一位二进制校验位P,那么奇校验码为001010111,偶校验码为001010110。奇偶校验码的校验方法:如果奇校验码中1的个数为偶数,或者偶校验码中1的个数为奇数,则表示编码出错了。即校验方程为:

奇校验

(2-4)

偶校验

(2-5)如果E=0,表示编码正确;如果E=1,则表示编码出错。海明码是由RichardHamming于1950年提出的一种码制,是一种纠错码。是由数据与校验位组合而成的,其组合规则为:将数据与校验位(奇偶校验)自左向右进行编码,其中编号为2的幂的位均为校验位,其余为数据位,如图所示。02海明校验码编号R1R2dR3dddR4ddd1(20)2(21)34(22)5678(23)91011采用二进制数来表示海明码每一位位置序号。例如,第1位用0001表示,第2位用0010表示,第3位用0011表示,以此类推,得到所有位置序号的二进制数。海明码的每个校验位的值都是一组数据的奇偶校验位。校验位R1,R2,R3,R4分别是4组不同数据位的奇偶校验位:(1)校验位R1对位置序号二进制数的最低位为1的位进行校验,即对第1,3,5,7,…位进行校验。(2)校验位R2对位置序号二进制数的次低位为1的位进行校验,即对第2,3,6,7,…位进行校验。(2)校验位R3对位置序号二进制数的倒数第三位为1的位进行校验,即对第4,5,6,7,…位进行校验例2-9已知原信息为1001101,求其海明校验码(校验位采用偶校验)。解将数据位与校验位(偶校验)自左向右进行编码,并将位置序号用二进制数表示,如图所示。R1R21R3001R4101000100100011010001010110011110001001101010111(20)2(21)34(22)5678(23)91011校验位R1是对第1,3,5,7,9,11这6位作偶校验得到,即R1=0;校验位R2是对第2,3,6,7,10,11这6位作偶校验得到,即R2=1;校验位R3是对第4,5,6,7这4位作偶校验得到,即R3=1;校验位R4是对第8,9,10,11这4位作偶校验得到,即R4=0。所以,最后得到海明校验码为01110010101。海明码检错与纠错过程如下。(1)将出错计数器置为0。(2)依次对每个校验位进行奇偶校验,如果有错,将校验位所对应的位置序号值加入计数器中,直到所有校验位检查完为止。(3)检查出错计数器的值,如果为0,则数据传输无错;如果不为0,则数据传输有错,且出错计数器的值即为出错数据位的位置序号。(4)将出错数据位的数据取反即可。例2-10已知数据“11001100”的海明码是“101110001100”(这里采用偶校验),若接收到的数据被改为“100110001100”,即第3位出错,分析海明码检错与纠错过程。解按照上述海明码检错与纠错过程可得:依次对每个校验位与其所负责的数据位进行偶校验,此时出错计数器的值为3。首先将出错计数器置为0。由于其余校验位与第3位数据无关,因此等所有的校验位检验结束后,出错计数器的值仍为3,故可知海明码的第3位数据出错。将第3位数据取反即可。循环冗余校验码又称CRC码(CyclicRedundancyCheck),简称循环码。CRC码检错能力强,且容易实现,是目前使用最广泛的检错码之一。CRC码的编码过程涉及二进制多项式和模2运算知识。例如,比特串B4B3B2B1B0的二进制多项式形式是B4×x4+B3×x3+B2×x2+B1×x1+B0×x0,若比特串取值为10101110,则该比特串可被表示成二进制多项式x7+x5+x3+x2+x。03循环冗余校验码采用CRC码校验时,发送方和接收方须事先约定一个生成多项式G(x),并且G(x)的最高项和最低项的系数必须为1。CRC码的编码过程如下。相除:用移位后的式子模2除以生成多项式G(x)(也可看成二进制数),得到的余数R(x)(r位)就是校验码。移位:将原信息码(k位)左移r位(k+r=n位),即在信息码的末尾加上r个0,r为G(x)的最高次幂。构成发送序列:将余数R(x)加到原信息码后面即得到完整的CRC码,构成发送序列(n位)。接收端检错过程如下。若余数为0,表示收到的编码正确,编码的后r位即为校验码。设接收端收到的CRC码多项式为T(x),将T(x)模2除以G(x)得到余数R(x)。若余数不为0,则表示收到的编码错误。例2-11设有二进制数据11001011,采用的生成多项式G(x)=x4+x3+x+1,试求应添加在二进制数据后面的余数,并给出该数据完整的CRC码。解G(x)的二进制形式为11011,其最高次幂为4。因此,首先在原数据后面添加4个0将其作为被除数,然后用模2除以G(x),求得4位余数R(x),计算过程如图所示。求得余数R(x)=0010,因此,该数据完整的CRC码为110010110010。例2-12设生成多项式G(x)=x4+x3+1,接收方接收到的编码字为1100111001,请问收到的信息有错吗?如没错,请还原原信息码。解G(x)为11001,用收到的编码1100111001模2除以G(x),得余数R(x)=0,因此收到的信息没有错误,计算过程如图所示。G(x)的最高次幂为4,即r=4,因此,编码的后4位为校验码,去掉后4位后即为原信息码:110011。2.1.6真值和机器数在计算机中,通常采用数的符号和数值一起编码的方法来表示数据。常用的有原码、反码、补码和移码表示法。这几种表示法都将数据的符号数字化,通常用0表示“正”,用1表示“负”,如0101表示+5。这种把符号“数字化”的数称为机器数。真值是机器数所代表的实际值。定点数的表示2.2在计算机中,小数点不用专门的器件表示,而是按约定的方式标出。计算机中共有两种方法约定小数点的存在,一种方法约定所有数据的小数点位置固定不变,即定点表示;另一种方法约定小数点的位置是可以浮动的,即浮点表示。它们表示的数分别称为定点数和浮点数。2.2.1无符号数和有符号数的表示有符号数在计算机中将数的符号数码化。一般规定二进制的最高位为符号位,最高位为0表示该数为正数,最高位为1表示该数为负数。根据符号位和数值位的编码方法不同,有符号数的机器数可分为原码、补码、反码和移码等。无符号数机器字长的全部位数均用来表示数值的大小,相当于数的绝对值。对于字长为n位的无符号数的表示范围为0~2n−1。例如,机器字长为8位,则数的表示范围为00000000~11111111(0~255)。2.2.2机器数的定点表示01定点小数定点小数是纯小数,若约定小数点固定于机器数数值位的左边,符号位的右边,则机器数表示纯小数。若数据X的形式为

,,其中,

为符号位,

是数值的有效部分,也称为尾数,

为最高有效位,则定点小数的格式如图所示。…

小数点位置(隐含)数值部分

符号位02定点整数定点整数是纯整数,若约定小数点固定于机器数最低位的右边,则机器数表示纯整数。若数据X的形式为

,其中,

为符号位,

~

是数值的有效部分,也称为尾数,

为最低有效位,则定点整数的格式如图所示。…

数值部分小数点位置(隐含)

符号位2.2.3数的机器码表示01原码表示法原码是一种比较简单、直观的机器数表示法,用机器数的最高位表示数的符号,其余的各位表示数的绝对值。(1)当X为纯小数即

,原码定义为:

例2-13求X的原码[X]原,字长为8位。①X=+0.1001②X=−0.1001解①X=+0.1001[X]原=0.1001000②X=−0.1001[X]原=1−X=1.1001000机器中实际保存时并不保存小数点。(2)当X为纯整数即

,则原码定义为:例2-14求X的原码[X]原,字长为8位。①X=+1001②X=−1001解①X=+1001[X]原=00001001②X=−1001[X]原=27−X=10000000+1001=10001001原码的特点:原码表示直观、易懂,与真值的转换容易;用原码实现乘、除运算的规则很简单,但实现加减运算比较复杂。02补码表示法原码表示法的加减法操作比较复杂,对于两个不同符号数的加法(或同符号数的减法),先要比较两个数的绝对值大小,然后绝对值大的数减去绝对值小的数,最后还要给结果选择合适的符号。而补码表示法中的加减法则可统一采用加法操作实现。补码的编码思路是利用模运算中的补数来表示负数。模运算系统中,模是指计量器的容量(计数范围)。例如,大家所熟悉的钟表,是以12为计数循环的,模M=12;一个4位的二进制计数器,计数范围为0~15,模M=16。运算时只计量小于模的部分,其余部分被丢弃,这种运算称为模运算,或模M运算。模运算的典型特征是同余,同余是指两个整数A和B除以同一正整数M,所得余数相同。这时称A和B对M同余,即A和B在以M为模时是相等的,可写成A=B(modM)。例如,钟表中模M=12,故3点和15点、5点和17点是同余的,它们可以写作:3=15 (mod12)5=17 (mod12)(1)当X为纯小数即

,补码定义为:

(mod2)例2-15求X的补码[X]补,字长为8位。①X=+0.1001②X=−0.1001解①X=+0.1001[X]补=0.1001000②X=−0.1001[X]补=2+X=1.0111000机器中实际保存时并不保存小数点。(2)当X为纯整数即

,则补码定义为:

(mod)例2-16求X的补码[X]补,字长为8位。①X=+1101②X=−1101解①X=+1101[X]补=00001101②X=−1101[X]补=28+X=100000000−1101=11110011例2-17求X=−1101的补码,字长为8位。解根据上面的小技巧解题步骤如下:11110011

X=−1101X的真值−0001101111100101X的补码最低位+1按位取反例2-18[X]补=11010101,求[−X]补。解[X]补=11010101,连符号位一起各位取反后为00101010,再在末尾加1后得00101011,即[−X]补=00101011。03反码表示法反码通常用来作为由原码求补码或者由补码求原码的中间过渡。由真值求反码的规则如下。(1)符号位:0表示正号“+”,1表示负号“−”。(2)数值部分:正数,数值部分与真值形式相同;

负数,将真值的数值部分按位取反。例2-19求X的反码[X]反,字长为8位。①X=+0.1101 ②X=−0.1101③X=+1101 ④X=−1101解①X=+0.1101 [X]反=0.1101000②X=−0.1101 [X]反=1.0010111③X=+1101 [X]反=00001101④X=−1101 [X]反=1111001004移位表示法移码常用来表示浮点数的阶码,它只能表示整数。设X为n位的二进制数,真值为

,纯整数移码的定义为:[X]移=2n+X−2nX<2n(其中机器字长为n+1)移码就是在真值的基础上加一个常数(2n),这个常数称为偏移值,相当于X在数轴上向正方向偏移了若干单位,如图所示。02n2n+1−1−2n02n−1[X]移真值移码表示法中,数的最高位(符号位):如果为0,表示该数为负数;如果为1,表示该数为正数。例2-20求X的移码[X]移,字长为8位。①X=+1101 ②X=−1101解①X=+1101 [X]移=27+X=10000000+1101=10001101②X=−1101 [X]移=27+X=10000000−1101=01110011综上所述,对于真值、原码、补码、反码和移码的转换规律如图所示。例2-21将十进制真值−127,−1,0,+1,+127表示成二进制数并求其原码、反码、补码和移码的值(字长为8位)。解二进制真值及其诸码值列于表中,其中0在原码和反码中有两种表示方式。十进制真值二进制真值原码表示反码表示补码表示移码表示−127−111111111111111100000001000000100000001−1−0000001100000011111111011111111011111110+000000000000000000000000000000010000000−00000001000000011111111+1+000000100000001000000010000000110000001+127+111111101111111011111110111111111111111浮点数的表示2.32.3.1浮点数的表示格式点数是指小数点位置可随比例因子的不同而浮动的数据,通常以下式表示:N=M×REN浮点数M尾数,用定点小数表示E阶码,用定点整数表示R“阶的基数(底)”,为常数,一般为2,8或16阶码和尾数可以采用原码、补码、反码中任意一种编码方法来表示。另外,阶码还可以采用移码方式表示(通常采用移码方式)。由上式可见,浮点数由阶码和尾数两部分组成,如图所示。EsE(m位)MsM(n位)阶符阶码数值数符尾数数值Es阶码的符号位,安排在最高位E阶码,紧跟阶符位之后,占m位Ms尾数的符号位,在尾数之前的一位M尾数,在低位部分,占n位2.3.2规格化浮点数用浮点表示法表示一个数时,表示形式不唯一。例如:X=+0.01100101×2−101=+0.11001010×2−110=+0.001100101×2−100如果尾数M满足|M|<1,则该浮点数为规格化浮点数,否则称其为非规格化浮点数。例如,0.1101×210,−0.1101×210是规格化浮点数;而0.0110×211,−0.0110×211是非规格化浮点数。例2-22将非规格化的浮点数N=0.0110×211规格化。解把浮点数N的尾数向左移一位(即尾数的小数点右移一位),变为0.1100,同时,阶码递减1,得到N=0.1100×210即为规格化浮点数。例2-23解将十进制数

转换成规格化浮点数表示。假设浮点数表示格式中,阶码占5位(包括阶符位),尾数占11位(包括数符位),尾数用补码表示,阶码用移码表示。()10=()2=+0.1101×2−11。[+0.1101]补=0.1101000000,即尾数为01101000000;[−11]移=01101,即阶码为01101。因此,其浮点数为011010110100000。例2-24假设浮点数格式中,阶码占5位(包括阶符位),尾数占8位(包括数符位),阶码用移码表示,当尾数用补码表示时,写出浮点数1110111101000B的规格化数。解依题意,尾数[M]补=11101000,即[M]原=10011000,即真值M=−0.0011000,则尾数左移2位后,M'=−0.1100000,[M']补=10100000。阶码[E]移=11101,左规后[E']移=11011。因此,规格化数为1101110100000B。2.3.3IEEE754标准按照IEEE754标准,常用的浮点数格式如图所示。SEM数符阶码,用移码表示尾数数值位,用原码表示(1)(2)单精度浮点数(32位),阶码8位,尾数24位(内含1位符号位)。双精度浮点数(64位),阶码11位,尾数53位(内含1位符号位)。根据IEEE754国际标准,常用的浮点数有两种格式:由于IEEE754标准约定在小数点左部有一位隐含位,从而实际使得尾数的有效值变为1.M。例如,(13)10=(1101)2,将它规格化后结果为1.101×2011,其中整数部分的1将不存储在23位尾数内。以单精度浮点数为例,最高位为数符位;其后是8位阶码,以2为底,用移码表示,移码的偏置值为28−1=127;其后23位是原码表示的尾数数值位。对于规格化的二进制浮点数,数值的最高位总是1,为了能使尾数多表示一位有效位,将这个1隐含,因此尾数数值实际上是24位。IEEE754标准中,规格化的单精度浮点数的真值为:N=(−1)S×1.M×2E−127规格化的双精度浮点数的真值为:N=(−1)S×1.M×2E−1023下面以单精度浮点数为例,讨论IEEE754标准对特殊数据的表示,具体如表所示。符号位S阶码E尾数M数值N0/10000/10≠0(−1)S×(0.M)×2E−1260/11~254≠0(−1)S×(1.M)×2E−1270/1255≠0NaN(非数值)0/12550(−1)S×∞(无穷大)例2-25将(20.59375)10转换成IEEE754标准的32位浮点数的二进制存储格式。解(20.59375)10=(10100.10011)2将尾数规范为1.M的形式:10100.10011=1.010010011×24,即指数e=4。可得:M=010010011,S=0,E=4+127=131=10000011。因此,32位浮点数的IEEE754标准格式为:01000001101001001100000000000000=(41A4C000)16。例2-26若浮点数IEEE754标准存储格式为(41360000)16,求浮点数的十进制数值。解(41360000)16=01000001001101100000000000000000即S=0,E=10000010,M=01101100000000000000000。因此,指数e=E−127=10000010−01111111=00

温馨提示

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

评论

0/150

提交评论