计算机组成原理整理.ppt

上传人:牧羊曲112 文档编号:6342714 上传时间:2023-10-18 格式:PPT 页数:197 大小:1.48MB
返回 下载 相关 举报
计算机组成原理整理.ppt_第1页
第1页 / 共197页
计算机组成原理整理.ppt_第2页
第2页 / 共197页
计算机组成原理整理.ppt_第3页
第3页 / 共197页
计算机组成原理整理.ppt_第4页
第4页 / 共197页
计算机组成原理整理.ppt_第5页
第5页 / 共197页
点击查看更多>>
资源描述

《计算机组成原理整理.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理整理.ppt(197页珍藏版)》请在三一办公上搜索。

1、计算机组成原理,王若成 教研室:B-4026,(第2版)计算机组成原理张钧良 林雪明 编著电子工业出版社,第1章 计算机系统概述第2章 信息编码及在计算机中的表示第3章 计算机的基本器件第4章 机器数的运算方法及运算器第5章 指令系统第6章 计算机的存储系统第7章 中央处理器第8章 总线结构第9章 外围设备第10章 输入/输出系统,目 录,第1章 计算机系统概述,计算机Computer 如何正确理解“计算机”这个术语呢?凡是能完成以下三类工作的机器就是计算机:能接受程序和数据的输入,并存储起来;能按照存储的程序对输入的数据进行自动处理并得出结果;能把结果输出。所以,计算机是一种能够接收信息,存

2、储信息,并按照存储在其内部的程序(这些程序是人们意志的体现)对输入的信息进行加工、处理,得到人们所期望的结果,然后把处理结果输出的高度自动化的电子设备。,返回目录,第1章 计算机系统概述,1.1 计算机系统的硬件与软件1.2 计算机系统的层次结构1.3 计算机的分类及其应用1.4 计算机的特点和主要性能指标1.5 电子计算机的发展,1.1 计算机系统的硬件与软件,1.1.1 计算机硬件和软件的概念1.1.2 计算机的硬件1.1.3 计算机程序、指令和语言,返回目录,1.1.1 计算机硬件和软件的概念,硬件(Hardware),是指计算机系统中实际装置的总称。它可以是电子的、电的、磁的、机械的、

3、光的元件或装置,或由它们组成的计算机部件或整个计算机硬件系统。计算机的硬件由输入设备、输出设备、运算器、控制器和存储器五部分组成。计算机软件是指在计算机硬件上运行的各种程序以及有关的文档资料,例如操作系统、汇编程序、编译程序、诊断程序、数据库管理系统、专用软件包、各种维护使用手册、程序流程图和说明等。,1.1.2 计算机的硬件,计算机的硬件是指组成一台计算机的各种物理装置,它们是由各种实实在在的器件组成的,是计算机进行工作的物质基础。计算机的硬件由输入设备、输出设备、运算器、存储器和控制器五部分组成。,上一页,下一页,输入设备(input equipment)的功能是从计算机外部把信息和处理这

4、些信息的程序通过输入接口输入到计算机的存储器中。键盘(keyboard)和鼠标器(Mouse)是最常用的输入设备。其它输入设备还有:扫描仪(scanner)、数字化仪(digitizer)、光笔(light pen)、条形码扫描器(barcode scanner)、触摸屏、各种模数(A/D)转换器、数码相机等。,1.输入设备,输出设备和外围设备,输出设备(output equipment)的功能是用来输出计算机的处理结果。最常用的输出设备是显示器(display)和打印机(printer),还有绘图仪(plotter)、X-Y记录仪、音箱、各种数模(D/A)转换器等。I/O设备属于外围设备,但

5、外围设备除I/O设备外,还应包括外存储器设备、多媒体设备、网络通信设备和输入输出处理机等。外围设备分类见下图。,存储器,存储器(Memory)是计算机用来存放程序和数据的记忆部件,是计算机各种信息存放和交流的中心。它的基本功能是在控制器的控制下按照指定的地址存入和取出信息。存储器可分为内存储器与外存储器,简称内存与外存。内存是由中央处理器直接访问的存储器,它存放着现在运行的程序和数据,也可以存储计算的结果或中间结果。由于其直接和运算器、控制器交换信息,因此要求存取速度快,但存储容量较小。外存储器简称“外存”,是主机的外围设备,用来存储大量的暂时不参加运算或处理的数据和程序,因而允许速度较慢。,

6、运算器,运算器(arithmetic unit)的功能是在控制器的指挥下,对信息或数据进行处理和运算,包括算术运算和逻辑运算,所以在其内部有一个算术逻辑部件ALU(Arithmetic and Logical Unit)。功能:实现对数据的算术和逻辑运算。暂时存放参与运算的数据和某些中间运算结果。挑选参加运算的数据,选中要执行的运算功能,并把运算结果输出到所要求的部件中。,控制器,控制器(control):它指挥计算机各部件按照指令功能的要求进行所需要的操作。主要功能:从存储器中取出指令,解释指令的操作码和地址码,并根据译码,产生一系列的控制信号,去控制计算机各部件协调地工作,并控制程序的执行

7、顺序。因此,控制器的主要工作是不断地取指令、分析指令和执行指令。中央处理器CPU主要包括:运算器、控制器、总线和时钟等部件,计算机的主机则由CPU和内存储器组成。在微机中使用的CPU也称为微处理器。,1.1.3 计算机程序、指令和语言,1.程序 计算机程序(Program)是用某种特定的符号系统(指令或语言)对被处理的数据和实现算法的过程进行的描述。2.指令 指令(Instruction)是指挥计算机如何工作的命令,它通常由一串二进制数码组成,即由操作码和地址码两部分组成。3.计算机语言(computer language)指的是程序设计语言,程序设计语言分为三种类型:机器语言、汇编语言和高级

8、语言。,机器语言 机器语言(machine language)是一种二进制语言,它是用二进制代码表示的机器指令来描述的。用机器语言编写程序就是用机器指令来描述所求解问题的过程和步骤,这样的程序称为机器语言程序,或称二进制语言程序。汇编语言 汇编语言(assembler language)和机器语言基本上是一一对应的,但在表示方法上作了根本性的改进,用一种助记符来代替操作码,用符号来表示操作数地址(地址码),这些助记符通常使用指令功能英文单词的缩写,以便于记忆。,上一页,下一页,高级语言 高级语言(high-level language)是面向问题的程序设计语言,高级语言种类很多,常用的有FOR

9、TRAN、ALGOL、COBOL、C、PASCAL、BASIC、LISP、LOGO、PROLOG和Java等。高级语言的发明是计算机发展史上最惊人的成就之一,使得非计算机专业人员能够使用计算机,大大地促进了计算机的广泛应用和普及。Visual Basic、Visual C、Delphi等是面向对象的程序设计语言,充分体现了面向对象技术,是程序设计语言的未来。,1.2 计算机系统的层次结构,计算机系统:由计算机硬件系统和软件系统组成。软件又分为系统软件和应用软件。,计算机系统的层次结构可用右图来表示。,从计算机系统的层次结构的示意图中,我们可以看到 指令系统是计算机硬件和软件的接口;操作系统是用

10、户和计算机硬件的接口,用户操作计算机直接面对的是操作系统,是和操作系统打交道,操作系统是用户的操作平台;只有硬件没有软件的机器(裸机)是不能工作的。,1.3 计算机的分类及其应用,1.3.1 计算机的分类1.3.2 计算机的应用,1.3.1 计算机的分类,按处理的信息形式分:数字计算机和模拟计算机。用脉冲编码表示数字,处理的是数字信息,这类计算机是数字计算机;处理长度、电压、电流等模拟量的计算机称为模拟计算机。按字长分:可分为 8 位机、16位机、32位机和64位机等。按结构分:可分为单片机、单板机、多芯片机与多板机。按用途分:可分为工业控制机与数据处理机等。按规模分:可分为巨型机、小巨型机、

11、大中型机、小型机、工作站和微型机(PC机)六类。,1.3.2 计算机的应用,计算机的应用范围,按其应用特点,可以分为以下几个方面:1.科学计算2.数据处理3.过程控制4.计算机辅助系统 5.计算机通信,1.4 计算机的特点和主要性能指标,1.4.1 计算机的特点1.4.2 计算机的性能指标,1.4.1 计算机的特点,1.通用数字计算机的特点 处理速度快 计算精度高 记忆能力强 可靠的逻辑判断能力 可靠性高,通用性强,2.微型计算机的特点,微型计算机:除了具有计算机的一般特点外,还具有以下一些特点。体积小,重量轻 价格便宜,成本低。使用方便,运行可靠 对工作环境无特殊要求,1.4.2 计算机的性

12、能指标,计算机的主要技术性能指标有下面几项:主频:主频即时钟频率,是指计算机的CPU在单位时间内发出的脉冲数。主频的单位是兆赫兹(MHz),如486DX/66的主频为66MHz,Pentium/100的主频为100MHz,P/233的主频为233MHz,P的主频有450MHz、500MHz、733 MHz等,P4的主频在1GHz以上。字长:是指计算机的运算部件能同时处理的二进制数据的位.字长也影响机器的运算速度,字长越长,计算机的运算速度越快。,存储容量:计算机能存储的信息总字节量。字节(Byte,简写为B)是作为一个单位来处理的一串二进制数位,通常以8个二进制位(bit)作为一个字节。每10

13、24个字节称为1K字节(1KB)。存储容量的单位还有MB(兆字节)、GB(吉字节)和TB(太字节)。它们之间的关系是:1KB=1024B=210B 1MB=1024KB=220B=1048576B 1GB=1024MB=230B=1973741824B 1TB=1024GB=240,存取周期:连续启动两次独立的“读”或“写”操作(如连续的两次“读”操作)所需的最短时间。“写”:把信息代码存入存储器“读”:把信息代码从存储器中取出 访问时间(或读写时间):存储器进行一次“读”或“写”操作所需的时间。运算速度:是一项综合性的性能指标。衡量计算机运算速度的单位是MIPS(百万条指令/秒)。影响机器运

14、算速度的因素很多,主要是CPU的主频和存储器的存取周期。,衡量一台计算机系统的性能指标除上面列举的五项主要指标外,还应考虑机器的兼容性(包括数据和文件的兼容、程序兼容、系统兼容和设备兼容),系统的可靠性(平均无故障工作时间MTBF,Mean Time Between Failures),系统的可维护性(平均修复时间MTTR,Mean Time to Repair),机器允许配置的外部设备的最大数目,计算机系统的汉字处理能力,数据库管理系统及网络功能等。性能/价格比是一项综合性评价计算机性能的指标。,1.5 电子计算机的发展,1.5.1 电子计算机的发展历史1.5.2 微型计算机的发展1.5.3

15、 计算机的发展趋势1.5.4 我国计算机产业的发展,1.5.1 电子计算机的发展历史,世界上第一台电子计算机是在1946年由美国的物理学家莫奇利(John Mauchly)博士和埃克特博士(J.Presper Eckert)等人在宾夕法尼亚大学设计制造的。起名叫ENIAC,ENIAC的诞生,为计算机和信息产业的发展奠定了基础,它在美国陆军弹道研究所运行了约十年,一直工作到1955年。两个主要缺点:一是存储容量太小;二是准备时间太长。,世界上第一台具有存储程序功能的计算机叫EDVAC,译作“埃德瓦克”,它是由曾担任ENIAC小组顾问的著名的美籍匈牙利数学家冯诺依曼(VonNeumann)博士领导

16、设计的。冯诺依曼提出的存储程序和程序控制的理论,及他首先确立的计算机硬件由输入部件、输出部件、运算器、存储器、控制器五个基本部件组成的基本结构和组成的思想,奠定了现代计算机的理论基础,计算机发展至今,整个四代计算机统称为冯诺依曼结构计算机,世人也称冯诺依曼为“计算机鼻祖”。,世界上第一台投入运行的存储程序式的电子计算机是EDSAC,译作“埃德沙克”,该机于1949年5月制成并投入运行,比EDVAC早一年多。从电子管、晶体管、中小规模集成电路到大规模、超大规模集成电路计算机的发展道路,现在正在向智能计算机和神经网络计算机的方向发展。,20世纪40年代末到50年代中期的计算机都是采用电子管元件组成

17、的,此时计算机称为第一代计算机,也就是电子管时代的计算机。20世纪50年代中期,晶体管发明了,它使计算机技术产生了革命性的变化。晶体管很快代替电子管用到计算机上,形成了第二代计算机,即晶体管计算机时代。20世纪60年代中期,半导体工艺的发展,制造成功了集成电路,计算机也开始采用中小规模集成电路作为计算机的主要元件,故第三代计算机又称为中小规模集成电路计算机时代。1971年起,第四代大规模超大规模集成电路计算机时代。这一代计算机的体积进一步缩小,性能进一步提高。,以计算机所采用的元器件划分计算机的发展阶段,计算机的发展大致分为四个时期,大型机时期、小型机时期、PC机时期(或客户/服务器、PC/服

18、务器)时期和Internet(或以网络为中心)时期。大型机时期(1946年70年代初):70年代初以前主要生产大型机,IBM公司生产的大型机占据着主要市场。小型机时期(70年代初80年代初):以DEC公司生产的PDP-11和VAX-11为代表,这两种机型占领了当时的小型机市场。PC机时期(80年代初90年代初):80年代起进入了PC机时代,Microsoft和Intel这两个公司领导着PC机的发展潮流。Internet时期(90年代初现在):谁将在这个时期成为领导Internet的发展,有待实践证明。,1.5.2 微型计算机的发展,微型计算机以微处理器为核心的计算机,属于第四代计算机。第一代微

19、型计算机是以4位微处理器和早期的8位微处理器为核心的微型计算机,4位微处理器的典型产品是Intel4004、4040,早期的8位微处理器的典型产品是Intel8008。1973年12月,Intel8080的研制成功,标志着第二代微型计算机的开始。1978年,INTEL公司推出了第三代微处理器的代表产品Intel8086,接着又推出Intel8088(1979年)。1985年10月,INTEL公司推出了32位字长的微处理器Intel80386,标志了第四代微型计算机的开始。,1.5.3 计算机的发展趋势,巨型化微小化网络化智能化多媒体计算机,1.5.4 我国计算机产业的发展,我国的计算机产业起步

20、于50年代中期。自发展开始,我国的计算机产业走过了坎坷的道路,大致可分以下几个阶段。面对封锁,走“自力更生、奋发图强”之路 改革开放,我国计算机产业实现两大转变“抓应用,促发展”,培育市场成倍增长 广泛普及计算机知识,PC进入家庭 推动国民经济信息化建设成绩斐然,第 1 章 结 束The End,谢谢!,第2章信息编码及在计算机中的表示,内容,2.1 信息的数字化编码2.2 进位计数制及其相互转换 2.3 非数值数据的表示 2.4 数值数据的表示和运算 2.5 数据校验码,2.1 信息的数字化编码,编码:是用来将信息从一种形式转变为另一种形式的符号系统,通常选用少量最简单的基本符号和一定的组合

21、规则,以表示出大量复杂多样的信息。信息的数字化编码:是指用“0”或“1”这种量最少、最简单的二进制数码,并选用一定的组合规则,来表示数据、文字、声音、图形和图像等各种复杂的信息。计算机中采用的是二进制数码,为什么?(重点),2.2 进位计数制及其相互转换,2.2.1 进位计数制2.2.2 常用进位计数制间的相互转换,2.2.1 常用的进位计数制,十进制数二进制数八进制数十六进制数,数制中的三个基本名词术语:数码:用不同的数字符号来表示一种数制的 数值,这些数字符号称为“数码”。基:数制所使用的数码个数称为“基”。权:某数制各位所具有的值称为“权”。,2.2.1 进位计数制,数码:0、1、8、9

22、基:10(逢十进一,借一当十)权:以10为底的幂 任何一个十进制数DnDn-1D1D0D-1,可以表示成按权展开的多项式:Dn10nDn-110n-1D1101D0100D-110-1D-m10-m例如:1234.5的按权展开多项为:1234.51103210231014100510-1,1.十进制数(Decimal System),二进制数,二进制(Binary System)数码:0和1 基:2 权:以2为底的幂任何一个二进制数BnBn-1B1B0B-1B-m,可以表示成按权展开的多项式:Bn2nBn-12n-1B121B020B-12-1B(-m+1)2-(m-1)+B-m2-m例如:1

23、101.01的按权展开多项为:1101.0112312202112002-112-2,八进制数,八进制数(Octave System)数码:0、1、6、7 基:8权:以8为底的幂八进制数的一般式可以表示为:n8nn-18n-1181080-18-1(-m+1)8-(m-1)-m8-m,十六进制数,十六进制(Hexadecimal System)数码:0、1、8、9、A(1010)、B(1011)、C(1100)、D(1101)、E(1110)、F(1111)基:16权:以8为底的幂十六进制数的一般式可以表示为:n16nn-116n-111610160-116-1(-m+1)16-(m-1)-m

24、16-m,例:二进制数1011.0101及其对应的八进制数、十进制数和十六进制数可以表示为:1101.0111(2)15.34(8)13.4375(10)E.7(16)或:(1101.0111)2(15.34)8(13.4375)10(E.7)16或:1101.011115.3413.4375E.7,二进制数、八进制数、十六进制数转换为十进制数各种进位计数制可统一表示为下式:式中:R 某种进位计数制的基数;i 位序号;Ki 第i位上的一个数码为0R-1中的任一个;Ri 则表示第i位上的权;m,n 最低位和最高位的位序号。用上式可将任何一个二进制数、八进制数、十六进制数直接转换为十进制数,这叫做

25、按权展开法。,2.2.2 常用进位计数制间的相互转换,例:二进制数转换为十进制数(1011.0101)212302212112002-112-202-312-4802101/401/16(11.3125)10 八进制数转换为十进制数(75.21)878158028-118-2 5652/81/64(45.20238)10 十六进制数转换为十进制数(175.FB)161162716151601516-11116-2256112515/1611/162(373.98046875)10,十进制整数转换为二进制数(连除基数、倒取余)方法:除以2取余法。即逐次除以2,直至商为0,得出的余数即为二进制数各

26、位的数码。【例2.1】把一个十进制数156转换为二进制数。结果:(156)10(10011100)2,十进制数转换为二进制数,方法:乘2取整法。即逐次乘以2,从每次乘积的整数部分得到二进制数各位的数码。【例2.2】把十进制小数 0.34375转换为二进制小数。结果:(0.34375)10(0.01011)2 连乘基数、正向取整。,十进制纯小数转换为二进制数,二进制数与八进制数的转换,1.二进制数转换成八进制数方法:将二进制数从小数点开始分别向左(对二进制整数)或向右(对二进制小数)每三位组成一组,每一组有3位二进制数,转换成八进制数码中的1个数字,连接起来即可。不足3位的补0。,【例2.3】把

27、二进制数(101100011.011100101)2转换为八进制数。,101 100 011.011 100 101,即有:(101100011.011100101)2(543.345)8,5 4 3.3 4 5,二进制数与八进制数的转换,【例2.4】把八进制数(7351.65)8 转换为二进制数。,7 3 5 1.6 5,111 011 101 001.110 101,2.八进制数转换成二进制数方法:将每1位八进制数写成相应二进制3位数,顺序写好即成。,二进制数与十六进制数的转换,二进制数转换成十六进制数方法:把十六进制数每位的数字与二进制数的4位数相对应。2转换为十六进制数。1101 00

28、11 0101 D 3 52(D35)16,二进制数与十六进制数的转换,十六进制数转换成二进制数方法:将每1位十六进制数写成相应的二进制4位数,顺序写好即成。例如:E 8 B 1110 1000 1011即有:(E8B)162 对于十进制数转换为八进制数或十六进制数的问题,我们可以先把十进制数转换成二进制数,然后再转换为八进制数或十六进制数。,4种数制之间的转换可参照下表进行,2.3 非数值数据的表示,2.3.1 字符数据的编码2.3.2 汉字编码,2.3.1 字符数据的编码,非数值数据又叫符号数据或字符数据,包括字母和符号。目前世界上用ASCII码(American Standard Cod

29、e for Information Interchange)来表示。ASCII码有7位ASCII码和8位ASCII码两种,7位ASCII码称为标准ASCII码,8位ASCII码称为扩充ASCII码。,ASCII码字符编码表,2.3.2 汉字编码,汉字编码:机内码和机外码机内码:是在计算机内部使用的用二进制代码表示的汉字编码,用于在计算机内部存储、交换、处理加工汉字信息机外码:是不在计算机内使用的汉字编码,主要是指汉字输入码。此外还有供输出的汉字字型点阵码。,国标码(了解),国标码:指我国1981年公布的“中华人民共和国国家标准信息交换汉字编码”,是一种国家标准编码,代号为“GB2312-80”

30、。它以94个可显示的ASCII码字符为基集,由两个字节构成。国标码与ASCII码属同一制式,可以认为国标码是扩展的ASCII码。,国家标准(GB2312-80)汉字字符集示意图,国标码用两个字节的16进制数表示,例如“文”的国标码是“4E44H”,“中华人民共和国”的国标码分别是“5650H、3B2AH、484BH、4371H、3932H、3A4DH、397AH”。,汉字机内码(实质:汉字的地址),汉字机内码:在计算机系统内部用来表示汉字的编码。ASCII码是一种西文机内码在设计汉字机内码时,应遵循如下原则:汉字机内码的编码不能有二义性,否则和其他编码分不清,例如要能和ASCII码严格区分。代

31、码的长度尽可能短,所能表示的汉字要尽可能多。应与国标码有相应的对应关系,以便于对汉字库的处理和对汉字的查找。,汉字机内码与国标码的关系,汉字机内码高位字节国标码高位字节80H汉字机内码低位字节国标码低位字节80H例如:“文”的国标码是“4E44H”,要求它的机内码,只要把“文”字国标码两个字节的16进制数4EH和44H分别加80H,即成该汉字的机内码。4EH+80H=CEH44H+80H=C4H,汉字输入码(机外码),汉字输入码:指直接从键盘输入的各种汉字输入方法的编码,属于外码。按照编码原理,汉字输入码主要分为三类:数字码(区位码和电报码)、拼音码和字形码。还有以汉字的音和形相结合的音形码和

32、形音码。,数字码 数字码:将待编码的汉字集以一定的规则排序以后,依次逐个赋予相应的数字串作为汉字输入代码。典型的数字码:区位码和电报码 优点:无重码 缺点:代码难以记忆。,例如,“文”字的区位码为4636,区码和位码分别用十六进制表 示即为“2E24H”,转换成国标码就是“4E44H”,它的机内码为“CEC4H”。,区位码与国标码、机内码的对应关系为:用十进制数输入的区码和位码先分别转换为十六进制数(各一个字节),再分别加上20H,就成了国标码;再在两个字节分别加上80H,就成为机内码。,拼音码:汉语拼音方案为基础的输入方法最大优点:简单易学,只要会汉语拼音,就能输入汉字,并且输入时不影响思考

33、,适合于业务人员和专业技术人员使用。全拼输入法双拼输入法增加联想功能以词为单位的智能拼音输入法,字形码:以汉字的形状确定的编码最大特点:能广泛地为国内外不同地区使用汉字方言较重的人们服务缺点:编码规则较复杂。典型:五笔字型输入法 其它输入方法:音形码和形音码,汉字字型码汉字点阵字模库(重点),汉字信息存储在计算机内有两种编码:一种是汉字机内码,另一种是字型点阵码。点阵字型方式:是把汉字像图形一样置于网状方格上,每格是存储器中的1个位(bit),1616点阵是在纵向16点、横向16点的网状方格上描绘一个汉字,有笔划的格对应1,无笔划的格对应0。,图中表示了“华”字的1616点阵字型。这种用点阵形

34、式存储的汉字字型信息的集合称为汉字的点阵字模库,简称汉字库。,汉字点阵字模的分类,汉字的、是计算机用于汉字输入、内部处理、输出三种不同用途的编码。,汉字字符集(了解),目前,在我国使用的计算机汉字操作平台中有三种汉字字符集。国标码字符集GB2312-80:我国政府于1981年公布的信息交换用汉字编码字符集 基本集,在该字符集中收录了6763个常用汉字和各种符号682个,合计7445个。GBK汉字集:即汉字内码扩充规范,”大字符集”。在此汉字集中一共收录了20900个汉字,它包容了GB2312-80的6763个常用汉字,台湾BIG5码的13000多个汉字。此扩充规范发布后,美国的Microsof

35、t公司率先将GBK规范装入Windows95中。在Windows95简体中文版中,又增加了101个补充字,一共有21001个字。,汉字字符集(了解),国标码GB18030字符集:即GB18030-2000 信息技术 信息交换用汉字编码字符集 基本集的扩充新标准。该字符集共收录了27000多个汉字,总编码空间超过150万个码位,是真正的大汉字集。它在体系结构上延续了GB2311-1990信息处理 七位和八位编码字符集 代码扩充技术编码体系,采用单/双/四字节混合编码,该标准还收录了藏文、蒙文、维吾尔等主要的少数民族文字,以及世界上几乎所有的语言文字,为中文信息在Internet上的传输与交换提供

36、了保障。,2.4 数值数据的表示和运算(重点),2.4.1 机器数2.4.2 定点数的原码、反码、补码和移码2.4.3 定点数和浮点数2.4.4 十进制数的编码,2.4.1 机器数,1.机器数和真值的概念符号的数值化:把正负符号用一位二进制数码来表示。符号位:符号数值化后占的若干个数值位。机器数:数的符号用二进制数“0”或“1”来表示的,且符号位总是在该数的最高数值位之前的那种数。规定“0”表示正号,“1”表示负号。原码、补码、反码、移码等把符号位和数值位一起编码表示的数就是机器数。真值:用“+”、“-”表示符号的那种数。例:N1=+0.1011,N2=-0.1011,这是真值,表示成机器数就

37、为N1原=0.1011,N2原=1.1011。,用二进制数码表示 优点:使用元器件简单,便于硬件实现 运算简单 节省存储设备 便于用逻辑代数进行逻辑设计机器数所表示的数值范围是有限的,无法表示时,便产生溢出机器数所表示的数值范围是由机器的字长决定,字长越长,所能表示的数的范围越大。,机器数的特点,例:一台字长为n位的机器,它所能表示的机器数X除0以外,最小是1,最大是2n-1,即其所表示的范围是:1X2n-1比1小的值,认为是机器零;数值大于2n-1,机器不能表示,我们称为“溢出”。,机器数的特点,对于不带符号位的定点纯小数(即小数点位于机器数的最左边的数),字长为n位的机器所能表示的机器数X

38、的范围是:2-n X1-2-n,如图所示:凡是小于2-n的数都认为是机器零;如果数值大于1-2-n的数,机器不能表示,被认为机器数无穷大,产生溢出。从上面的分析情况可以看除,计算机产生溢出的一个重要原因是由计算机的字长造成的。,机器数的特点,符号的数值化表示 用0表示正(“+”)号,用1表示负(“-”)号。以字长为8位为例,+1101101和-1101101这两个数的表示如图所示:,根据小数点位置的不同,机器数有定点数和浮点数。定点数表示方式:小数点的位置是固定不变的数称为定点数。若约定小数点固定于机器数最低位的右边,则机器数表示整数;若约定小数点固定于机器数数值位的左边符号位的右边,则机器数

39、表示纯小数。浮点数表示方式:浮点数是一种指数形式的表示方式,其一般表示式为:X=2rx。其中,r称为X的阶码,它指明了小数点的位置,表示数的大小;x称为X的尾数,表明了X的有效值。,定点数和浮点数的不同表示,二进制数的运算规则,算术运算规则加法规则:000 011 101 1110减法规则:000 1011 101 110乘法规则:000 010 100 111除法规则:010 111,逻辑运算规则,逻辑或:又称逻辑加,用符号“”或“+”来表示。其运算规则为:000 011 101 111逻辑与:又称逻辑乘,用符号“”或“”来表示。其运算规则为:000010100111 逻辑非:即对每位的逻辑

40、值取反,用二进制数字上划线表示规则为:逻辑异或:即实现按位加的功能,异或运算用符号()表示其运算规则是:000 011101 110进行异或运算的两位不相同时,异或结果为1,两位相同时,异或结果为0。,上一页,下一页,2.4.2 定点数的原码、反码、补码和移码,定点数的原码原码表示方法:符号位为0表示正数,为1表示负数,数值部分用二进制数的绝对值表示的方法。通常用X原表示X的原码。例如,要表示+59和-59的原码,假设机器数的位数是8位(机器的字长8位),最高位是符号位,其余7位是数值位,那么+59和-59的原码表示为59原0011101159原10111011写成一般式则为:正数的原码 X原

41、X(2n-1X0)负数的原码 X原2n-1-X(-2n-1X0)应注意,0的原码有两个值,有“正零”和“负零”之分。0原000000000原10000000,定点数的补码,补码的定义是:把某数X加上模数K,称为以K为模的X的补码。X补=K+X因此正数的补码是最高位为符号“0”,数值部分为该数本身;负数的补码是最高位为符号“1”,数值为用模2减去该数的绝对值。,求一个二进制数补码的方法是,正数的补码与其原码相同;负数的补码是先把其原码除符号外的各位先求反,然后在最低位加1。【例2.16】若X+0.1011,Y-0.1011,求X补、Y补。解:X补0.1011 Y补10-0.10111+1-0.1

42、0111.0101(mod 2)0的补码只有一种形式,就是n位0。字长为n位的定点整数补码的定义式为:,3.反码,正数的反码就是这个数本身,而负数的反码是符号位为1,数值部分等于其绝对值各位求反。例如:59反00111011,59反11000100。零的反码也有两个,0反00000,-0反10000字长为n的定点整数反码的定义式为:可得到如下公式:XYX(Y的补码)X(Y的反码1),在8位机中,补码表示的范围为+127-128,下表列出了8位二进制数的各种表示方法。,目前大多数计算机均采用补码存储、补码运算,其运算结果仍为补码形式。【例2.17】在字长为8位的计算机中,求下列数的原码、反码及补

43、码+18、-18、+31、-31、+127、-127解:+18原+18反+18补00010010-18原10010010-18反11101101-18补11101110+31原+31反+31补00011111-31原10011111-31反11100000-31补11100001+127原+127反+127补01111111-127原11111111-127反10000000-127补10000001,4.移码,移码也叫增码或偏码,常用于表示浮点数中的阶码。对于字长为n的计算机,若最高位为符号位,数值为n-1位当偏移量取为2n-1时,其真值x所对应的移码的表示公式为:X移2n-1+X(-2n-

44、1X2n-1)移码和补码之间的关系:当0X2n-1 时,X移2n-1+X2n-1+X补 当-2n-1X0 时,X移2n-1+X(2n+X)-2n-1X补-2n-1 可见,X移可由X补求得,方法是把X补的符号位取反,就得到X移。,4.移码,【例2.18】X+1011,Y-1011,求X移和Y移。解:X补01011,所以 X移11011Y补10101,所以 X移00101,最高一位为符号位,其取值与原码、补码都相反,“1”表示正号,“0”表示负号。移码常用于表示浮点数的阶码,通常只使用整数。对移码一般只执行加减运算,在对两个浮点数进行乘除运算时,是尾数实现乘除运算,阶码执行加减运算。对阶码执行加减

45、运算时,需要对得到的结果加以修正,修正量为2n-1,即要对符号位的结果取反后,才得到移码形式的结果。在移码的表示中,0有惟一的编码,即0移10000,而且,机器零的形式为 000000。即当浮点数的阶码-2n-1时,不管尾数值的大小如何,都属于浮点数下溢,被认为其值为0,这时,移码表示的阶码值正好是每一位都为0的形式,与补码的0完全一致。这有利于简化机器中的判零线路。,移码的性质,2.4.3 定点数和浮点数,定点数表示法:通常把小数点固定在数值部分的最高位之前,或把小数点固定在数值部分的最后面。前者将数表示成纯小数,后者把数表示成整数。如图所示。对纯小数进行运算时,要用适当的比例因子进行折算,

46、以免产生溢出,或过多损失精度。,浮点数表示法,浮点数是指在数的表示中,其小数点的位置是浮动的。任一个二进制数N可以表示成:N2EM 式中,M为数N的尾数或数码,E为指数,是数N的阶码,是一个二进制整数 浮点数分为阶码和尾数两个部分。,浮点数的格式表示,格式1:Ms为尾数的符号位,安排在最高一位;E为阶码,紧跟符号位之后,占m位;M为尾数,在低位部分,占n位。,【例2.19】对一个真值为+23.25的十进制数,用浮点数格式1表示法表示其原码。(23.25)10(10111.01)2,用浮点数表示其原码为:2+1010.1011101,则在机器中表示为:这里阶码和尾数都用原码表示,实际上往往是尾数

47、用补码表示,阶码用移码表示。,格式1举例,格式2:其中:Ns为阶码的符号位,安排在最高一位;E为阶码,紧跟阶符位之后,占m位;Ms为尾数的符号位,在尾数之前的一位,M为尾数,在低位部分,占n位。,浮点数的格式表示,【例2.20】例2.19中的十进制数+23.25,用浮点数格式2表示法表示其原码、反码和补码。+23.25化成浮点数为:2+1010.1011101,则其原码、反码和补码分别表示为:,格式2举例,在浮点数的表示中,要注意三个问题:阶码的位数和尾数的位数的关系。例如,用32位表示的一个浮点数,符号位占1位,阶码用8位,尾数用23位,数的表示范围约为1.71038,精度约为十进制的7位有

48、效数字。浮点数通常采用规格化的表示方法。所谓浮点数的规格化就是其尾数的第一位要为1,若不为1,就要用“左规”的方法使其为1。左规就是尾数向左移动(同时调整阶码),直至尾数的第一位为1或阶码为全0或最小值。如:2100.1101,-2100.1101就是规格化的浮点数;而2110.0110,-2110.0110是非规格化的浮点数。,浮点数表示法,【例2.21】把非规格化的浮点数N2110.0110规格化 解:把浮点数N的尾数向左移一位(或尾数的小数点右移一位),变成0.1100,同时,阶码递减1,得到N2100.1100,就是规格化的浮点数。当一个浮点数的尾数为0,不论其阶码为何值;或者阶码的值

49、遇到比它能表示的最小值还小时,不管其尾数为何值,计算机都把该浮点数看成是0,称为机器零。,2.4.4 十进制数的编码,BCD码(Binary-Coded Decimal)是用4位二进制编码来表示一个十进制数,代码的每位都是固定有权的,因此称为有权码。把4位代码中为1的各位的权加起来,即得到这个对应的十进制数。,BCD码,8421码8421码是二进制编码各位的权分别是8、4、2、1,因此叫8421码。下表是十进制数码与8421码的对照表。,要注意,每1位十进制数码对应4位8421码,如十进制数175的8421码是000101110101,写成表达式即为:(175)10=(000101110101

50、)8421,2421码2421码是二进制编码各位的权分别是2、4、2、1,因此叫2421码。下表6是十进制数码与2421码的对照表。,注意,每1位十进制数码对应4位2421码,如十进制数175的2421码是000111011011,写成表达式即为(175)10=(000111011011)2421,BCD码,其他有权码BCD码中的其他有权码还有5211码、8-4-2-1码、4311码。它们也都是4位编码对应一位十进制数。下表列出了这三种有权码与十进制数的对照表。,BCD码,总结以上5种BCD码,可以归纳出BCD码的特点如下:用4位二进制数编码;是有权码,每位的权根据码制的不同而不同;除8421

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号