计算机组成原理.ppt

上传人:本田雅阁 文档编号:2653891 上传时间:2019-04-30 格式:PPT 页数:492 大小:1.87MB
返回 下载 相关 举报
计算机组成原理.ppt_第1页
第1页 / 共492页
计算机组成原理.ppt_第2页
第2页 / 共492页
计算机组成原理.ppt_第3页
第3页 / 共492页
亲,该文档总共492页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

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

1、1,计算机组成原理,郑州大学信息工程学院计算机专业,2,教学大纲,目的和要求 该课程是计算机科学与技术专业的一门专业基础课。它的内容主要介绍计算机各个功能部件的组织结构、功能以及它们之间互连组成的计算机系统。使学生了解计算机的组成原理及工作原理,以建立整机概念。本课程设有实验,以加深对课程内容的理解,培养学生的动手能力。 教学内容 概论、数据表示、运算方法和运算器、指令系统、控制器、存储系统、输入输出系统、外部设备、计算机系统。,3,目 录,第1章 概论 第2章 计算机中的数据表示 第3章 运算方法和运算器 第4章 指令系统 第5章 控制器 第6章 存储系统 第7章 输入输出系统 第8章 计算

2、机外部设备 第9章 计算机系统,4,第一章 概 论,计算机(Computer): 1、 概念: 计算机是一种以电子器件为基础的,不需人的直接干预,能够对各种数字化信息,进行算术和逻辑运算的快速工具。,5,(1) 以电子器件为物质基础:电子数字计算机 (Digital Computer) (2) 不需要人的直接干预:自动化(存储程序为基 础) (3) 数字化信息:二进制(计算机能够具有逻辑判 断和处理能力的基础) (4) 算逻运算:基本运算操作是算术和逻辑运算 (5) 快速工具: (A) 电子器件 (B) 存储程序,2、 层次:,6,(1)内部特征: (A) 高速高集成度开关元件 (B) 数字化

3、信息编码 (C) 逻辑判断和处理能力 (D) 存储程序 (2)外部特征: (A) 快速性(由(1)中(A)(D)决定) (B) 准确性(由(1)中(B)(D)决定) (C) 逻辑性(由(1)中(A)(C)(D)决定) (D) 通用性(由(1)中(A)(B)(C)(D)决定),3、特征 :,7,1.1.1 计算机的发展概况 1、第一代计算机 (1) 1946年第一台计算机ENIAC50年代末 (2) 主要特征:电子管作为电子器件 (3) 软件处于初始阶段,使用机器语言与符号语 言编制程序 (4) 特点:体积大,运算速度低,存储容量小, 主要用于科学计算。,1.1 计算机的发展、应用和分类,8,1

4、.1.1 计算机的发展概况 2、第二代计算机 (1) 50年代末60年代初 (2) 主要特征:晶体管作为电子器件 (3) 软件方面开始使用计算机高级语言 (4) 特点:体积减小,重量轻、寿命长、耗电少、 运算速度快、存储容量比较大等优点。不仅 用于科学计算,还用于数据处理和事务处理, 并逐渐用于工业控制。,1.1 计算机的发展、应用和分类,9,1.1.1 计算机的发展概况 3、第三代计算机 (1) 60年代中期70年代初期 (2) 主要特征:中、小规模集成电路作为电子器 件 (3) 操作系统的出现 (4) 特点:体积与功耗都得到了进一步的减小, 可靠性和运算速度进一步提高。不仅用于科 学计算,

5、还用于文字处理、企业管理、自动 控制等领 域, 出现了管理信息系统,可用于 生产管理、交通管理、情报检索等领域。,1.1 计算机的发展、应用和分类,10,1.1.1 计算机的发展概况 4、第四代计算机 (1)70年代初今 (2)主要特征:大规模与超大规模集成电路作为电 子器件 (3)软件越来越丰富,并且功能强大 (4)特点:计算机在各种性能上都得到了大幅度提 高。 1971年以来,作为第四代计算机重要产品的微 型计算机得到了飞速的发展,对计算机的普及 起到了决定性的作用。以微机为例,IBM PC 8088802868038680486Pentium,1.1 计算机的发展、应用和分类,11,1.

6、1.1 计算机的发展概况 5、未来的计算机 以超大规模集成电路为基础,未来的计算机将向巨型化、微型化、网络化与智能化的方向发展。,1.1 计算机的发展、应用和分类,12,1、科学计算 2、过程检测与控制 利用计算机对工业生产过程中的某些信号自动进行检测,并把检测到的数据存入到计算机,再根据需要对这些数据进行处理。这样的系统称为计算机检测系统。但一般来说,实际的工业生产过程是一个连续的过程,往往既需要用计算机进行检测,又需要用计算机进行控制。 3、信息管理 信息管理是目前计算机应用最广泛的一个领域。所谓信息管理,是指利用计算机来加工、管理与操作任何形式的数据资料,如企业管理、物资管理、报表统计、

7、帐目计算、信息情报检索等。 4、计算机辅助系统 计算机用于辅助设计、辅助制造、辅助教学等方面,统称为计算机辅助系统。,1.1.2 计算机的应用领域,13,1、 根据计算机的应用范围分: (1) 专用计算机:为特定应用问题而设计的计算机,具有经济、有效和快速等特点,但它的使用面较窄。 (2) 通用计算机:通用计算机使用面广,通用性强,操作相对简单。 2、根据计算机的规模分: (1) 巨型机 (2) 大型机 (3) 中型机 (4) 小型机 (5) 微型机 发展方向:巨型化、微型化、网络化与智能化,1.1.3 计算机的分类,14,计算机系统是由计算机硬件和计算机软件组成的。 计算机硬件(Hardwa

8、re)是指构成计算机的所有实体部件的集合,通常这些部件由电路(电子元件)、机械等物理部件组成。,1.2 计算机硬件,15,1、冯诺依曼原理的基本思想: 采用二进制形式表示数据和指令。指令由操作码和地址码组成; “存储程序”和“程序控制”(简称存储程序控制); 指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。 计算机由存储器、运算器、控制器、输入设备和输出设备五大基本部件组成。,1.2.1 计算机的组成部件,16,1.2.1 计算机的组成部件,17,2、基本组成 它由5大组成部件,如图1.1所示。 (1) 存储器 (A) 基本功能:读和写 (a)对象:数据和指

9、令 (b)单元:存储单元地址 (B) 分类: (a)内存(主存) (b)外存(辅存) (C) 主存的组成 (a)存储体 (b)存储器地址寄存器MAR(Memory Address Register) (c)存储器数据寄存器MDR(Memory Data Register) (d)读写控制线路,1.2.1 计算机的组成部件,18,2、基本组成 (2) 运算器 (A) 主要功能:对二进制数码进行算术(+-*/)和逻辑(与或非)运算 (B) 组成: (a)ALU(Arithmetic Logic Unit):核心为并行加法器 (b)通用寄存器组 (c)多路开关或数据锁存器:控制数据输入 (d)输出移

10、位开关:控制数据输出 (e)与其他部件间信息传送的总线及控制数据传送的接收器和发送器 (C) 精度和速度是运算器重要的性能指标。,1.2.1 计算机的组成部件,19,1.2.1 计算机的组成部件,20,2、基本组成 (3) 控制器 (A) 功能:读取指令、翻译指令代码、并向计算机各部分发出控制信号,以便执行指令。当一条指令执行完以后,控制器会自动地去取下一条将要执行的指令,重复上述过程直到整个程序执行完毕。 (B) 组成: (a)指令部件 IR、ID、PC、PSW、地址形成部件 (b)时序部件 (c)微操作控制线路 (d)中断控制逻辑,1.2.1 计算机的组成部件,21,2、基本组成 (4)输

11、入设备 输入设备能将数据和程序变换成计算机内部所能识别和接受的信息方式,并顺序地把它们送入存储器中。输入设备由许多种类,例如键盘、鼠标、扫描仪、光电输入机等。 (5)输出设备 输出设备将计算机处理的结果以人们能接受的或其它机器能接受的形式送出。输出设备同样由许多种类,例如显示器、打印机、绘图仪等。,1.2.1 计算机的组成部件,22,在计算机的5大部件中,运算器和控制器是信息处理的中心部件,所以它们合称为“中央处理单元”(CPU:Central Processing Unit)。存储器、运算器和控制器在信息处理操作中起主要作用,是计算机硬件的主体部分,通常被称为“主机”。而输入(Input)设

12、备和输出(Output)设备统称为“外部设备”,简称为外设或I/O设备。,1.2.1 计算机的组成部件,23,(1) 程序的执行: (A) 编写程序 (B) 翻译成机器指令 (C) 将程序和数据写入存储器 (D) 将第一条指令地址放入PC (E) 执行所有指令 (F) 结束,3、工作原理,24,(2) 指令的执行: 三个阶段:取指令、分析指令、执行指令 (A) 开始时,将第一条指令地址=PC (B)( PC)=MAR,发“读”命令,使 (MDR)=IR (C) 翻译IR的操作性质 (D) 取操作数 (E) 将操作数运算器,运行之 (F) 送结果 (a)R (b)内存 (G)(PC)+1=PC,

13、3、工作原理,25,一、总线 1、概念: 总线(Bus)就是计算机中用于传送信息的公用通道,是为多个部件服务的一组信息传送连接线。,1.2.2 计算机的总线结构,26,2、分类: (1)按照传送信息的属性来分: 数据总线(DB:Data Bus)用于在各部件之间传送数据信息。 地址总线(AB:Address Bus)用于传送各部件相互访问用的地址信息。 控制总线(CB:Control Bus)用于传送控制各部件操作的控制信息。 (2)按信息传送的方向区分: 单向总线和双向总线。 (3)按连接对象和完成的功能分: I/O BUS和MEMORY BUS 存储总线用于CPU与主存储器的信息交换,I/

14、O总线用于外设与主机的信息交换。,1.2.2 计算机的总线结构,27,二、按总线连接方式,计算机组成结构分为三类 1、单总线结构 这种结构把各功能部件都连接在单总线(Single Bus)上,所有部件间的信息交换都经由单总线进行,如图1.2。 (1)Unified-Bus:一元化总线:PDP-11 (2)Single-Bus:单总线:IBM-PC 2、双总线结构 (1)两种总线:存储总线用于CPU与主存储器的信息交换,I/O总线用于外设与主机的信息交换。 (2)三种形式: (A) 以CPU为中心的双总线结构 (B) 以存储器为中心的双总线结构 (C) 采用通道或输入输出处理机IOP来处理输入输

15、出工作的双总线结构。 3、多总线结构 在高速外设与主存储器之间可以增设直接存储器访问(DMA:Direct Memory Access)方式的高速I/O总线(DMA总线),从而形成多总线结构,如图1.4。,1.2.2 计算机的总线结构,28,1.2.2 计算机的总线结构,29,1、软件(Software): 是指能使计算机工作的程序和程序运行时所需要的数据,以及与这些程序和数据有关的文字说明和图表资料,其中文字说明和图表资料又称为文档。 程序+数据+文档,1.3 计算机软件,30,2、分类: (1) 系统软件 系统软件是指管理、监控和维护计算机资源(包括硬件和软件)的软件。 (A) 操作系统

16、DOS、WINDOWS、UNIX、XENIX 通常,操作系统具有五个方面的功能:存储管理、处理机管理、 设备管理、文件管理和作业管理。 (B)语言处理程序 机器语言、汇编语言和高级语言(编译、解释)三类。 (C)数据库管理系统 数据库和管理数据库的软件构成数据库管理系统。 (D)服务程序 (2) 应用软件,1.3 计算机软件,31,1.4.1 软件与硬件的逻辑等价 1、含义: (1) 任何一个由软件所完成的操作也可以直接由硬件来实现 (2) 任何一条由硬件所执行的指令也能用软件来完成 2、固件(Firmware): 固件是一种界于传统的软件和硬件之间的实体,功能上类似软件,但形态上又是硬件。

17、微程序是计算机硬件和软件相结合的重要形式。,1.4 计算机系统硬件和软件的结合,32,1.4.2 计算机系统的层次结构,33,1、系列机: 一组计算机若是属同一个系统结构,但在性能上由低档到高档形成一个系列,就组成一个计算机系列(family)。这一系列计算机(系列机)中的每个机型都具有:相同的基本指令系统,相同的数据结构,相同的基本输入输出操作,支持相同的基本系统软件等。,1.4.3 系列机与兼容性,34,2、兼容性: (1) 软件兼容是指一个软件不经修改就能在不同机型上正确运行。 (2) 软件兼容存在以下两种情况: 软件的向上兼容性这是指某档机原开发的软件可以不加修改便能在它的高档机上正确

18、运行使用。 软件的向下兼容性这是指某档机的软件可以不加修改便能在它的低档机上正确运行使用。在这种情况下,软件向上兼容是不成问题的。 (3) 兼容(Compatible)是一个广泛的概念,包括软件兼容、硬件兼容、系统兼容等等。,1.4.3 系列机与兼容性,35, 主频主频很大程度上决定了计算机的运行速度,它的单位是兆赫兹(MHz)。 字长字长决定了计算机的运算精度、指令字长度、存储单元长度等,可以是8/16/32/64位。 运算速度 (1)早期方法是每秒执行加法指令的次数, (2)现在通常用等效速度。等效速度由各种指令平均执行时间以及对应的执令运行比例计算得出,即用加权平均法求得。它的单位是每秒

19、百万指令(MIPS)。 对比:Mflops (3)还有利用所谓“标准程序”在不同的机器上运行所得到的实测速度。 存储容量字数*字长 1024(210)简称为1K(千),1024K(220)为1M(兆),1024M(230)为1G(千兆)。,1.5 计算机的性能指标, 可靠性常用平均无故障时间(MTBF)衡量。 MTBFMean Time Between Falures 平均无故障时间是指两次故障之间能正常工作时间的平均值。假设表示单位时间内失效的元件数与元件总数的比例即失效率,则MTBF=1/。例如=0.02%/h,则 MTBF=1/=5000h 可维护性可用平均修复时间(MTRF)表示,它是

20、指从故障发生到机器修复平均所需要的时间。 MTBRMean Time Between Repairs(字典缩略) MTTRMean Time To Repair(微软计算机辞典) 可用性是指计算机的使用效率。 A=MTBF/(MTBF+MTRF) 可靠性R、可维护性S和可用性A,称为RAS技术。 兼容性兼容是广泛的概念,是指设备或程序可以用于多种系统中的性能。,1.5 计算机的性能指标,37,4、冯诺依曼型计算机的基本特点是什么? 6、什么是总线?以总线组成计算机有哪几种组成结构?各有什么特点? 7、什么是硬件、软件和固件?什么是软件和硬件的逻辑等价?在什么意义上软件和硬件是不等价的? 11、

21、你怎样理解计算机中的“兼容”特性? 13、计算机硬件实体的5个基本组成部分是否缺一不可?,第1章作业,38,第一章 小结,39,第二章 计算机中的数据表示,2.2 计算机中数的表示单位和机器字长 2.2.1 数的表示单位位、字节、字 位: BIT 字节:BYTE 字: WORD 2.2.2 机器字长 机器字长一般是指参加运算的的寄存器所含有的二进制位数,它代表机器的精度。,40,数据的表示常用的有两种:定点表示法和浮点表示法。 任何一个二进制数N都可以表示为 N=2ES 其中E是一个二进制整数,称为数N的阶码,2为阶码的基数,S是二进制小数,称为数N的尾数。E和S可正可负。尾数S表示数N的全部

22、有效数据,阶码E指明该数的小数点位置,表示数据的大小范围。,2.3 定点数和浮点数,41,(1) 阶码E保持不变 (2) 若E=0,小数点固定在最高位之前,则该数是一个纯小数或定点小数。 例如 N=200.110101001=0.110101001 (3)若取E=n(n为尾数的位数),则把小数点定在尾数最末位之后,这时表示一个纯整数(定点整数)。 例如 N=270.1011010=01011010,2.3.1 定点数表示法,42,1 浮点数的格式 通常,阶码位数m与尾数位数n之间有如下关系: 2m-1n 即表示阶码的值应保证实际的小数点可以在整个尾数的位格中移动。,2.3.2 浮点数表示法,4

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

24、法(小数) 带符号n+1位数时: 小于2-n时:当0; 大于1-2-n时:溢出,停机。 (2) 浮点表示法 规格化后,从阶码上分析溢出: 阶码很小时,下溢:当0; 阶码超出最大值时,上溢:停机。,2.3 定点数和浮点数,46,3运算规则的复杂性不同 定点数:较简单; 浮点数:较复杂。 4规格化浮点数的精度远远大于定点数。,2.3 定点数和浮点数,47,一个数的表示方法,也就是它们在计算机中的组成格式和编码规则。 当一个数送入计算机进行运算处理时,首先将其转换为二进制数,同时还要解决以下几个问题: 1怎样表示数的符号 2怎样确定小数点的位置,2.4 带符号数的表示方法,48,机器数是指数在计算机

25、中的表示形式,一般是采用某种编码形式表示带符号的二进制数。 真值是指机器数所对应的实际数值。,2.4.1 机器数和真值,49,1、规则:机器数的最高一位表示符号,“0”表示正号;“1”表示负号,后面各位用数的绝对值表示。 2、定义: 小数原码的定义为: X原 = X原为机器数的原码,X为真值。 例2.14 求X=0.1011和X=-0.1011的原码 X=0.1011时, X原 = 0.1011 X=-0.1011时, X原 = 1 - (-0.1011) = 1.1011,2.4.2 机器数的原码表示法,50,3、性质: (1) 原码的最高位表示数的符号,0表示正号,1表示负号。 假设小数X

26、的原码为:X原 = XS.Xn-1Xn-2X2X1X0,Xs是符号位,可用下式来表示一个数的原码: X原 = Xs + |X| (2) 对于定点小数,把Xs作为数值位看待时,其位权为1,则有: 当Xs=0时,1X原0,故1X=X原0; 当Xs=1时,2X原1,故01-X原-1 即 2X原0,其范围是:02-2-(n-1),真值为1X-1,其范围是:-(1-2-(n-1)+(1-2-(n-1)。 (3)0不唯一 定点小数 +0原 = 0.00 -0原 = 1.00 整数 +0原 = 000 -0原 = 100,2.4.2 机器数的原码表示法,51,1 补码的定义 整数补码定义: X补 = X补为

27、整数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 机器数的补码表示法,52,2补码的性质 (1) 在补码表示法中,0的补码是唯一的,即 整数0 +0补= 000 -0补= 2n+1-000 = 2n+1=000 (mod 2n+1) 小数0 +0补= 0.000 -0补= 2-0.000 = 2 =0.000 (mod 2)

28、 (2) 假设一整数X的补码表示为:X补=XSXn-1Xn-2X1X0,XS是补码的符号位,标志整数X的符号,XS=0时,X为正数;XS=1时,X为负数。 (3) 补码的表示范围是: 正整数 2nX0 负整数 0X-2n 负数的范围比正数范围大,即多表示一个数-2n。 当X=-2n时,它的补码为: X补 = -2n补 = 2n+1 -2n = 2n = 1000,2.4.3 机器数的补码表示法,53,(4) 整数X的补码可以写成这样的形式: X补 = 2n+1XS + X 这里XS为符号, XS= 这是因为X为正时,XS=0,X补 = 2n+10 + X = X ;X为负时,XS=1,X补 =

29、 2n+11 + X = 2n+1 + X,符合补码的定义。 (5) 补码与真值的关系 设X补=XSXn-1Xn-2X1X0,由性质4可知,X补 = 2n+1XS + X,可以证明 X = X补 - 2n+1XS = -2nXs + Xn-1Xn-2X1X0 反过来,若X = -2nXS + Xn-1Xn-2X1X0, 则 X补 = 2n+1XS + X = XSXn-1Xn-2X1X0 (6)补码的一项算术运算特性 X/2补是把X补中各位连同符号位一起都右移一位,符号位保持不变。,2.4.3 机器数的补码表示法,54,3 补码的求法 当0X-2n时,数X的补码是:符号位为1,数值位是其真值X

30、的数值位取反加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 机器数的补码表示法,55,4 由X补求-X补 X+Y补 = X补 + Y补 X-Y补 = X补 + -Y补 假设X补=XSXn-1Xn-2X1X0,可由X补按下式求得-X补 -X补 = + 1 把对X补

31、连同符号位在内的各位求反运算称为对X补“求反”运算,记为X补。这样对X补的“求补”运算可看成对X补“求反”运算再加1:-X补=X 补 + 1,且两者有以下关系: X补 + X补 = 2n+1 - 1 = 111(n个1),2.4.3 机器数的补码表示法,56,5 变形补码 小数“模4补码”的定义为: X补 = 或 X补 = X (mod 4) (1) 当-1X1时,数X的“模4补码”的两个符号位相同,00表示正号,11 表示负号,其数值位与补码相同。当符号位为01或10时,表示数值溢出:为01时表示两正数之和大于等于1的情况,称为数值“上溢”;为10 时表示两负数之和小于等于-1的情况,称为数

32、值“下溢”。 (2) “模4补码”表示中,0有唯一的补码: 根据“模4补码”的性质1,可以判断数的溢出。两个同符号数相加时, 有可能出现溢出。,2.4.3 机器数的补码表示法,57,6 补码的符号位扩展 若X补=XSXn-1Xn-2X1X0为8位,需要扩展为16位时,要按下面的规则进行扩展: 用符号位XS填满扩展的高8位,若X0,XS=0,扩展后高8位全为0,低8 位包括符号位仍为原来的数码位。 若X0,XS=1,扩展后高8位全为1,低8位包括符号位仍为原来的数码位。,2.4.3 机器数的补码表示法,58,1、定义: 小数反码的数学定义为: X反 = 或 X反 = X (mod 2-2-n)

33、例2.20 X=1011 则X反=01011 X=-1011 则X反= 25 - 1 +X= 10100,2.4.4 机器数的反码表示法,59,2、性质: (1) 在反码表示法中,0的反码不是唯一的, 整数0 +0反= 000 -0反= (2n+1-1) + (-000) = 2n+1 - 1 =111 (mod 2n+1-1 ) 小数0 +0反= 0.000 -0反= 2 - 2-n - 0.000 = 1.11 (mod 2-2-n) (2) 假设一整数X的反码表示为:X反=XSXn-1Xn-2X1X0,XS是反码的符号位,它标志整数X的符号,XS=0时,X为正数;XS=1时,X为负数。

34、(3) 反码与补码的关系 根据补码和反码的定义,当X为正数时,X补 = X反; 当X为负整数时, X补 = X反 + 1 ; 当X为n位负小数时, X补 = X反 + 2-n,2.4.4 机器数的反码表示法,60,1、定义: X移 = 2n + X 2nX-2n 即无论X是正还是负,一律加上2n,称2n为基数。 2、移码与补码的关系是:真值是正数时,移码是补码的最高位加1;真值是负数时,移码是补码的最高位减1。也就是把补码的符号位变为其反码即可。即 若 X补=XSXn-1Xn-2X1X0, 则 X移=Xn-1Xn-2X1X0 例2.21 X=1001 X补=01001 可求得X移=11001

35、X=-1001 X补=10111 可求得X移=00111,2.4.5 机器数的移(增)码表示法,61,3、移码有如下性质: (1) 在移码表示法中,0的移码是唯一的, 整数0 +0移= 2n + 000 = 1000 -0移= 2n - 000 = 1000 (2) 机器0的形式为000,它所表示的真值是X移所能表示的数中最小的数。 即X移=000,其对应的真值是X=0-2n=-2n。而补码中的最小机器数是0,但0并不是最小真值-2n。 (3) 移码的最高位是符号位,但其表示的意义与原码和补码表示的意义相反。符号为0时,表示负数;符号为1,表示正数。 (4) 移码一般只进行加减运算,运算后需要

36、对结果进行修正,修正量为2n,即要对结果的符号位取反后,才能得到移码形式的结果。 (5)通过比较两个移码的大小, 就可得知其对应的真值的大小。,2.4.5 机器数的移(增)码表示法,62,上面所述的四种表示方式中,移码主要用于表示浮点数的阶码。下面对其它三种编码方法作以比较: (1) 三种编码的最高位都是符号位。 (2) 当真值为正时,三种编码的符号位都用0表示,数值部分与真值相同。 即它们的表示方法是相同的。 (3) 当真值为负时,三种编码的符号位都用1表示,但数值部分的表示各不相同,数值部分存在这样的关系:补码是原码的“求反加1”(整数),或者“求反末位加1”(小数);反码是原码的“每位求

37、反”。 (4) 它们所能表示的数据范围,基本上是一样的,-2nX2n(整数)或-1X1( 小数),只是补码多表示一个数-2n(整数)或-1(小数)。 三种编码方法的区别主要在于,它们对负数的表示方法有所不同。,2.4.6 各种编码的比较,63,用四位二进制代码的不同组合来表示一个十进制数码的编码方法,称为二十进制编码,也称BCD码(Binary Coded Decimal)。 2.5.1 二十进制编码原理 1、二十进制的编码都采用压缩的十进制串的方法,即四个二进制位的值来表示一个十进制数码。 2、各种编码的区别在于选用哪十个状态。选择的原则是:要考虑输入和输出时转换方便;内部运算时,加、减运算

38、规则要尽量简单;在特定场合,可能有其它一些要求。 3、从每个二进制位是否有确定的位权区分,可把二十进制编码分为有权码和无权码。,2.5 十进制数据表示,64,1、对于有权码,将每位的数码与相应的位权相乘,再求和,就可以得到它所代表的十进制数值。 2、8421码实现加、减运算时的修正规则: (1)4位一组二进制数,两个8421码表示的数相加之和等于或小于1001,即十进制的9时,不需要修正,在各组内,二进制代码相加,仍遵循“逢二进一”的规则。 (2)4位一组二进制数,两个8421码相加结果大于1001(即十进制9)时,则应该对该组的4位进行“加6修正”,使它向高一组产生进位。 (3)4位一组二进

39、制数,两个8421码相加结果大于或等于10000(即十进制16),而向高一组进位时,则应该对该4位进行“加6修正”。,2.5.2 二十进制有权码,65,3、其它编码方法还有:2421码、5211码、4311码和84-2-1码( 四位二进制位的位权分别为8、4、-2、-1)等。其最方便使用的共同特点为: (1) 对于2421码、5211码、4311码,任何两个十进制数位,采用这三种编码的任何一种编码,它们相加之和等于或大于10时,其结果的最高位向左产生进位,小于10时则不产生进位。这一特点有利于实现“逢十进位”的计数和加法规则。 (2) 对于2421码、5211码、4311码和84-2-1码,任

40、何两个十进制数位,采用这四种编码的任何一种编码,它们相加其和等于9时,即它们的二进制编码位互为反码,则其结果的四个二进制位一定是1111,能较好地体现十进制的按9 取补与二进制的按1取补的对应关系,这对减法很有用。,2.5.2 二十进制有权码,66,无权码中,用的较多的是余3码(Excess-3 code)和格雷码(Gray code),格雷码又称循环码。 1. 余3码 (1) 余3码是在8421码的基础上,把每个代码都加上0011而形成的。 (2) 普通8421码的加法器仍能为余3码加法器直接利用,具体规则如下: (A)若两个十进制数的余3码相加,如果结果不产生进位,则从所得和值去减0011

41、,便得十进制位和的余3码。 (B)若两个十进制数的余3码相加,如果结果有进位,则其进位正确, 但需将所得和值加上0011,才求得十进制数和的余3码。,2.5.3 二十进制无权码,67,2. 格雷码 (1) 格雷码的编码规则是使相邻的两个代码,只有一个二进制位的状态不同,其余三个二进制位必须有相同状态。 (2) 优点:从一个编码变到下一个相邻编码时,只有一个位的状态发生变化,有利于保证代码变换的连续性。在模拟/数字转换和产生节拍电位等应用场合特别有用。 有关二十进制的部分编码方案列于表2.1中。,2.5.3 二十进制无权码,68,表2.1 二十进制的编码的部分编码方案,69,2.6.1 ASCI

42、I码 “美国标准信息交换代码”(American Standard Code for Information Interchange),简称ASCII码。7位二进制编码,可表示27=128个字符。 ASCII码中,编码值031不对应任何可印刷(或称有字形)字符,通常称它们为控制字符,用于通信中的通信控制或对计算机设备的功能控制。编码值为32的是空格(或间隔)字符SP。编码值为127的是删除控制DEL码。其余的94个字符称为可印刷字符。,2.6 字符编码,70,2.6.2 EBCDIC码 EBCDIC码(Extended Binary Coded Decimal Interchange Code

43、,扩展BCD码),它是8位二进制编码,可以表示256个编码状态,但只选用其中一部分。 主要用在IBM公司生产的各种机器中。,2.6 字符编码,71,1、特点: (1)汉字是一种象形文字,据统计,从甲骨文至今约有六万左右的汉字。目前常见的汉字有约七千个。 (2)汉字字形结构复杂,笔划繁多。 (3)汉字同音字多,多音字多。 2、涉及多种编码:首先将汉字转换成计算机能接收的编码,称为汉字输入码,输入码进入计算机后必须转换成汉字内码才能进行处理。为了显示输出汉字或打印输出汉字,需要经过一个变换,将汉字内码转换成汉字字形码。此外,为了使不同的汉字处理系统之间能够交换信息,还应存在汉字交换码。 3、目前存

44、在的汉字编码输入方案可以归纳为四类,即数字编码,如区位码;字音编码,如拼音码;字形编码,如五笔字型;汉字混合编码等。 4、1981年我国制定了信息交换用汉字编码字符集基本集GB2312-80国家标准。每个二进制编码用两个字节表示。共收录一级汉字3755个,二级汉字3008个,各种符号682个,共计7445个。,2.6.3 汉字的表示,72,1、数据校验的实现原理:数据校验码是在合法的数据编码之间,加进一些不允许出现的(非法的)编码,使合法的数据编码出现错误时成为非法编码。这样就可以通过检测编码的合法性达到发现错误的目的。 2、码距:码距指任何一种编码的任两组二进制代码中,其对应位置的代码最少有

45、几个二进制位不相同。,2.7 数据校验码,73,1、码距=2 2、奇偶校验码:它是在被传送的n位信息组上, 加上一个二进制位作为校验位,使配置后的n+1位二进制代码中1的个数为奇数( 奇校验)或偶数(偶校验)。 例: 数据 奇校验编码 偶校验编码 00000000 100000000 000000000 01110101 001110101 101110101 其中,最高一位为校验位,其余低八位为数据位。 3、奇偶校验码只能检测出数据代码中一位出错的情况,但无法判断差错所发生的位置。常用于存储器读写检查,或ASCII字符传送过程中的检查。,2.7.1 奇偶校验码,74,1原理 海明校验码的实现

46、原理是:在数据位中加入几个校验位,将数据代码的码距均匀地拉大,并把数据的每个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错误,还能指出是哪一位出错,为进一步自动纠错提供了依据。 2编码规则 若海明码的最高位号为m,最低位号为1,即mm-121,则海明码的编码规则是: (1)校验位与数据位之和为m,每个校验位Pi在海明码中被分在位号2i-1的位置上,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。 (2)海明码的每一位位码Hi(包括数据位和校验位)由多个校验位校验,其关系是被校验的每一位位号要等于校验它的各校验位的位号之和。,

47、2.7.2 海明校验码,75,3增添校验位 假设欲检测的有效信息为n位,需增加的校验位为k位,则校验码的长度为n+k位。校验位的状态组合,应当具有指出n+k位中任一位有错或无错的能力,即需要区别出n+k+1种状态。应满足以下关系式: 2kn+k+1 这个关系式称为海明不等式,若信息位长度n确定后,由此可得到校验位k的最短长度。 确定校验位后,就可以与信息位组成海明校验位。假设数据位是7位二进制编码,据上所述,校验位的位数k为4,故海明码的总位数为11。它们的排列关系可表示为: 海明码位号:H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1 海明码: D7 D6 D5 P4 D

48、4 D3 D2 P3 D1 P2 P1 可知: 每个校验位由其本身校验; 每个数据位由若干校验位校验。,2.7.2 海明校验码,76,4校验位校验任务的分配 根据海明码的编码规则,每一位海明码都有多个校验位校验,且被校验的每以位的位号等于参与校验它的几个校验位的位号之和。 占据各权位上的校验位按权组成的8421码,正好等于海明码的位号,即海明码的位号Hi正好等于要校验它的校验位所占权位权值之和。 例如:H11P423P222P121 这说明了H11位将由 P4、P2、P1进行校验。 校验位P1可以校验:H1 、H3、H5 、H7 、H9、H11、H13、H15 校验位P2可以校验:H2 、H3、 H6、H7 、H10、H11、H14 、H15 校验位P3可以校

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1