《计算机组成原理》 课件全套 第1-13章 计算机系统概论-输入输出系统_第1页
《计算机组成原理》 课件全套 第1-13章 计算机系统概论-输入输出系统_第2页
《计算机组成原理》 课件全套 第1-13章 计算机系统概论-输入输出系统_第3页
《计算机组成原理》 课件全套 第1-13章 计算机系统概论-输入输出系统_第4页
《计算机组成原理》 课件全套 第1-13章 计算机系统概论-输入输出系统_第5页
已阅读5页,还剩1094页未读 继续免费阅读

下载本文档

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

文档简介

第1章计算机系统概论1.1 引言1.2 计算机系统的硬件组成1.3计算机的软件系统1.4

计算机的性能指标1.5

计算机的发展简史1.6 计算机的分类与应用计算机系统=硬件/固件+软件硬件:计算机系统的物质基础软件:计算机系统的灵魂对于计算机的某一具体功能来说,既可以用硬件实现,也可以用软件实现。硬件和软件在逻辑功能上是等效的实现成本和速度有比较大的差别1.1引言1.1引言计算机的系统结构:软件和硬件的交界面确定哪些功能由硬件实现,哪些功能由软件实现,即确定硬件和软件的功能分配。现代计算机系统的硬件结构由5个部件构成运算器:实现对数据的加工,包括算术运算和逻辑运算。存储器:存储数据和程序。控制器:计算机的指挥控制中心,控制计算机各部件有序协调地工作。输入设备和输出设备:实现外部世界与计算机之间的数据交换。1.2计算机系统的硬件组成1.2计算机系统的硬件组成计算机系统的硬件结构(5个部件)3个部件两个子系统CPU=运算器+控制器存储器=内存(主存)+外存(辅存)主机=CPU+主存储器I/O设备=输入设备+输出设备早期的计算机采用的结构以运算器为中心

冯·诺依曼结构匈牙利数学家冯·诺依曼1946年提出1.2计算机系统的硬件组成现代计算机在结构上已经有了很大的变化,但都可以看成是冯·诺依曼结构的改进,而且仍然是采用冯·诺依曼当时提出的存储程序原理。存储程序原理

在计算机解题之前,要事先编制好程序,并与所需要的数据一起预先存入主存当中。当程序开始执行后,由控制器按照该程序自动地、连续地从存储器中取出指令并执行,直到获得所要求的结果为止。模型机硬件组织示意图(一台假想的简化了的计算机)1.2计算机系统的硬件组成运算部件计算机的执行部件,用于对数据的加工处理,完成算术运算和逻辑运算。算术运算:包括加、减、乘、除以及它们的复合运算。逻辑运算:包括与、或、非、异或、比较、移位等。核心:算术逻辑部件ALU

(ArithmeticandLogicalUnit)一组寄存器:用于暂存运算数据和中间结果(通用寄存器组GPR)1.2计算机系统的硬件组成内存计算机的存储部件,存储程序和数据。由两部分构成内部存储器(内存):一般用半导体技术实现。外部存储器(外存):采用磁记录方式实现。内存按地址访问的一维线性空间。由大量的存储单元组成,每个存储单元有一个唯一的编号。(这个编号称为该存储单元的地址)用地址可以唯一地访问到一个存储单元。1.2计算机系统的硬件组成每个存储单元可以存放多个二进制位,其位数一般与计算机的字长相同,一般是字节的整数倍。对存储器可以进行的操作“读”和“写”存储器所能存储的信息总量称为存储器的存储容量。存储单元…地址(n位)01232n-1控制器计算机的管理机构和指挥中心,它协调计算机的各个部件自动地工作。具体来说,就是按照程序中事先设计好的解题步骤,控制计算机各个部件有条不紊地工作。由6部分构成指令寄存器IR:存放当前正在执行的指令。程序计数器PC:存放当前正在执行的指令的地址。指令译码器:对指令进行译码。区分当前指令是什么指令,以便形成相应的控制信号。1.2计算机系统的硬件组成时钟脉冲CP:协调计算机各部件进行操作的同步信号,其工作频率称为计算机的主频。时序信号发生器:按时间顺序周而复始地发出节拍信号。微操作控制部件微操作:硬件电路中不可再细分的简单操作。微操作在一个节拍内完成根据指令的译码结果,结合CP以及时序信号发生器产生的节拍信号,产生该指令执行过程中各节拍所需要的微操作控制信号,并将它们发送给包括控制器本身在内的各个部件,使之协调、分步骤地进行操作,实现指令的执行。1.2计算机系统的硬件组成输入/输出设备计算机与外界联系的重要桥梁,是计算机系统中的一个不可或缺的组成部分。输入设备作用:将程序和数据以计算机所能识别的形式输入到计算机内。常见的输入设备:键盘,鼠标,扫描仪,摄像机等。输出设备作用:将计算机处理的结果以人们所能接受或其它系统所要求的形式输出到外部世界。常见的输出设备:显示器,打印机等。计算机软件一般可分为两大类系统软件应用软件常用的一些软件1.3计算机的软件系统1.3计算机的软件系统1.3计算机的软件系统一组保证计算机系统高效、正确地运行的基础软件。操作系统负责管理系统资源,为应用程序提供运行环境,为用户提供操作界面。主要功能存储管理,处理机的进程/线程调度,设备管理,文件管理,网络通信管理,命令处理等。语言处理程序将用任何其它语言编制的程序变换为机器语言程序,然后由计算机硬件去执行和处理。1.3.1系统软件1.3计算机的软件系统数据库管理系统用于实现对数据库的描述、管理和维护等。分布式软件系统用于建立分布式计算环境,管理分布式计算资源,控制分布程序的运行,提供分布式程序开发与设计工具等。包括:分布式操作系统、分布式编译系统、分布式数据库系统、分布式软件包等。1.3计算机的软件系统网络软件系统用于支持网络活动和数据通信的系统软件。包括网络操作系统、通信软件、网络协议软件、网络应用系统等。服务程序为用户使用和维护计算机提供服务。如装入程序、编辑程序、调试程序、诊断程序等。1.3计算机的软件系统应用软件:指计算机系统的用户为解决某个应用领域中的各类问题而编制的程序。应用程序是多种多样、极其丰富的。如各种科学计算类程序、工程设计类程序、数据统计与处理程序、情报检索程序、企业管理程序、生产过程控制程序等。一些具有通用性的应用软件如文字处理软件、表格处理软件、图形处理软件等。1.3.2应用软件

介绍一些与硬件相关的性能指标。主频衡量计算机工作速度的主要指标之一CPU的工作节拍是由时钟来控制的,时钟不断产生固定频率的时钟脉冲,这个时钟的频率就是CPU的主频。通常用一秒钟内发出的电子脉冲数来表示常用单位是兆赫兹(MHz)。1.4计算机的性能指标1.4.1基本性能指标1.4计算机的性能指标运算速度以每秒执行多少条指令或完成多少次浮点运算来表示。单位:MIPS(百万条指令/秒)

MFLOPS(百万次浮点运算/秒)它们分别反映了计算机的定点运算能力和浮点运算能力。1.4计算机的性能指标运算速度可以用以下3个方法来计算混合比率计算法对于每一条指令,计算其执行时间,并从应用程序中统计该指令出现的频度。然后计算所有指令的加权平均值,便可得指令的平均执行时间。该时间的倒数就是平均执行速度。计算各种指令的执行速度根据处理器的主频,求出其基本节拍周期时间,然后根据处理器的结构模型和指令操作流程,可推算出执行各种指令的基本拍数和每秒执行指令的条数。1.4计算机的性能指标执行基准程序的运算速度通过执行同一组基准程序,来测试和比较计算机的性能。基准测试程序套件由各种不同的真实应用程序构成的目前最成功和最常见的测试程序套件是SPEC系列由美国的标准性能测试公司(StandardPerformanceEvaluationCorporation)创建的设计出了适合于各种类型应用的基准测试程序套件,且先后推出了多个版本。如:SPEC89、SPEC92、SPEC95、SPEC2000和SPECCPU2006等。SPECCPU2006有29个程序,其中整数程序12个

(CINT2006),浮点程序17个(CFP2006)。1.4计算机的性能指标基本字长直接参与运算的数据字的二进制位数。它决定了寄存器、ALU、数据总线等的位数,直接影响着硬件的造价。

字长标志着运算精度,位数越多,精度越高。在保持相同精度的情况下,十进制位数与二进制位数的关系。假设:十进制数的位数:i位二进制数的位数:j位令:10i=2j两边取对数(以10为底),得:

i=j×log102j=i/log102≈3.3×i1.4计算机的性能指标主存容量主存容量:主存所能存储的信息的总量。计算机的处理能力在很大程度上取决于主存容量的大小。主存容量=字节数或字数×字长512MB

可存储512M(1M=1024K)个字节128M×32位KB——千字节1KB=210B=1024BMB——兆字节(百万)1MB=220B=1024KBGB——吉字节(10亿)1GB=230B=1024MBTB——太字节(万亿)1TB=240B=1024GB1.4计算机的性能指标主存存取周期:对主存连续两次访问所允许的最小时间间隔。所配置的外部设备及其性能指标第一台通用电子计算机诞生于1946年ElectronicNumericalIntegratorAndComputer(电子数字积分计算机),简称ENIAC

。美国宾夕法尼亚大学研究长30.48米,宽1米,占地面积170平方米,总重量约30吨。制造它共用了约18000个真空管,1500个电子继电器,70000个电阻,18000个电容。计算速度只有每秒5000次加法运算1.5计算机的发展简史1.5计算机的发展简史第一台存储程序电子计算机EDVAC

(ElectronicDiscreteVariableAutomaticComputer)

1950年由冯·诺依曼和莫尔学院合作研制

4代计算机的特征

每一代主要是以不同的器件技术为特征系统结构和软件技术也各具特色近几十年中,国外电子计算机发展的重大事件分代器件技术系统结构技术软件技术典型机器第一代(1946-1955)电子管,继电器,延迟线存储程序计算机、程序控制I/O,定点运算机器语言,汇编语言ENIAC,ISA,IBM701第二代(1955-1965)晶体管磁芯存储器浮点数据表示、寻址技术、中断、I/O处理机高级语言和编译、批处理,监控系统UnivacLARC,CDC1604,IBM7030第三代(1965-1980)小规模和中规模集成电路,前期以磁芯存储器为主,后期以半导体存储器为主,微程序流水线,Cache,先行处理,系列机多道程序,分时操作系统,并行处理IBM360/370系列,CDC6600/7600系列,DECPDP-8系列第四代(1980-)大规模和超大规模集成电路,半导体存储器,高性能微处理器,高密度电路向量处理,指令集并行,多处理机,多核,机群,大规模并行处理并行处理,分布处理,大规模、可扩展并行Cray-1,IBM3090,DECVAX9000,SGICrayT3E,SunE10000,IBMSP2,IntelParagon年份大事19381943194619471948195019521954195619601961196219641964KonradZuse建成了第一台二进制的机电式通用计算机Z-1AlanTuring等建成了一台真空管计算机J.W.Mauchley教授等研制成功ENIAC,这是第一台电子数字计算机由IBM公司和哈佛大学共同研制成自动机电式哈佛MarkⅠ计算机曼彻斯特MarkⅠ成为第一台存储程序的数字计算机冯·诺依曼和莫尔学院合作研制成功EDVAC,这是世界上第一台存储程序电子计算机IBM制成第一台军用的存储程序电子计算机IBM701Univac1103A成为第一台商业计算机,采用磁芯存储器采用晶体管的Univac商用计算机开发成功DEC公司11月研制成PDP-1,第一台具有显示器和键盘的商用计算机IBM公司研制成7030,号称超级计算机英国研制成Atlas计算机,首次采用虚拟存储器和流水操作IBM宣布System/360CDC6600研制成功,第一台商用超级计算机年份大事19651968197119721975197619771980198119821982198519891991DEC推出PDP-8,采用晶体管线路SeymourCray设计成功CDC7600超级计算机,40MFLOPSIntel推出第一个微处理器芯片4004DEC推出PDP-11第一台微型机Altair8800研制成功Cray-1研制成功,第一台向量结构超级计算机Tony和Commodore推出商品微型机Apollo公司研制成第一台工程工作站IBM推出PC机CrayX-MP推出,将两台Cray-1连接在一起日本启动“第五代”计算机项目Cray-2和ConnectionMachine研制成功,性能均达每秒十亿次运算Cray-3研制成功,采用砷化镓芯片CrayY-MPC90研制成功,采用16个处理机1.5计算机的发展简史微处理器的发展Intel是研制和生产微处理器的最大厂商Intel微处理器的发展演化1971年,第一个微处理器芯片Intel4004

(4位微处理器主频为108KHz)1972年,Intel发布8008

(一个8位微处理器)1974年,Intel发布8080(第一个通用8位微处理器主频为2MHz)1978年,Intel发布8086

(通用16位微处理器)1.5计算机的发展简史1985年,Intel推出了32位微处理器80386。初期推出的80386DX处理器集成了大约27.5万个电晶

体,主频为12.5MHz。逐步提高到20MHz、25MHz、33MHz直至最后的40MHz。1995年,Intel推出了64位微处理器PentiumPro。主频有:133/66MHz(工程样品),150/60MHz、166/66MHz、180/60MHz、200/66MHz。

型号发布时间主频总线宽度晶体管数可寻址存储器40041971108kHz4位2300640B80081972108kHz8位350016KB808019742MHz8位600064KB808619785MHz,8MHz,10MHz16位290001MB808819795MHz,8MHz8位290001MB8028619826~12.5MHz16位13400016MB386TMDX198516~33MHz32位2750004GB386TMSX198816~33MHz16位27500016MB486TMDX198925~50MHz32位12000004GB486TMSX199116~33MHz32位1.185百万4MBPentium199360~166MHz32位3.1百万4GBPentiumPro1995150~220MHz64位5.5百万64GBPentiumⅡ1997200~300MHz64位7.5百万64GBPentiumⅢ1999450~600MHz64位9.6百万64GBPentium420001.3~1.8GHz64位42百万64GBItanium2001733~800MHz64位25百万64GBItanium220020.9~1GHz64位220百万64GB

Intel微处理器的发展演化按信息的形式分类模拟计算机:信息是以模拟量的形式表示的。数字计算机:信息是以数字的形式表示的。按计算机字长分类

分为8位机、16位机、32位机、64位机等。按计算机应用范围分类专用机:对某一特定应用领域设计的计算机。1.6计算机的分类和应用1.6.1计算机的分类1.6计算机的分类和应用适应性差,用于解决其它领域的问题性能可能很差。通用机:面向各种应用设计的计算机。特点:对许多应用性能都比较高,但对于某一特定应用领域来说,性能价格比一般不如面向该领域的专用机。按计算机的规模分类规模包括运算速度、字长、存储容量、输入/输出能力、价格、体积、软件等多个方面。分为:超级计算机、巨型机、大型机、中型机、小型机、个人计算机和嵌入式计算机等。不同规模的计算机1.6计算机的分类和应用科学计算数据处理现代控制及嵌入式系统嵌入式计算机的部分应用领域包括:信息电器,包括Web浏览,电子书籍,可视电话,网络游戏,个人数字助理,信息家电等。移动设备和手持设备,包括智能手机,数字相机,商务通,条码扫描,电子记事本等。交互式数字媒体,包括数字机顶盒,交互电视,视频游戏机等。1.6.2计算机的应用1.6计算机的分类和应用嵌入式控制设备,包括通信设备、存储设备、办公自动化设备,网络设备等。计算机辅助设计/计算机辅助制造计算机辅助设计(CAD):利用计算机帮助设计人员进行工程、产品、建筑等设计工作的过程和技术。计算机辅助制造(CAM):在制造业中,利用计算机辅助各种设备完成产品的加工、装配、检测和包装等过程的技术。网络应用第2章数制与编码2.1 进位计数制与数制转换2.2带符号数的表示方法2.3 数的定点表示与浮点表示2.4常用的其他编码进位计数制:按进位方式实现计数的一种规则,简称进位制。数码di:每位的数码值。基数R:表示某种进位制所具有的数字符号的个数。位权Ri:表示某种进位制的数中不同位置上数字的单位数值。例如:十进制数:235.67

二进制数:110101.0012.1进位计数值与数制转换2.1.1进位计数值及其表示进位计数制与数制转换两种表示方法对于任意一个R进制数N:并列表示法

(N)R=(rn-1rn-2…r1r0.r-1r-2…r-m)R

按权展开式(多项式表示法)(N)R

=rn-1Rn-1十rn-2Rn-2十…十r1R1十r0R0十r-1R-1十r-2R-2

十…十r-mR-m

n:整数的位数m:小数的位数R:基数ri:R进制中各个数字符号,即有ri∈{0,1,2,…,R-1}

进位计数制与数制转换十进制基数:1010个数字符号:0、1、2、3、4、5、6、7、8、9运算规律:逢十进一,即:9+1=10。二进制基数:2两个数字符号:0、1运算规律:逢二进一,即:1+1=(10)2。特点进位计数制与数制转换只有0和1两个数码任何具有两个稳定状态的元件都可以用来表示一位二进制数。运算规则简单加法规则:0+0=0,0+1=1+0=1,1+1=10减法规则:0-0=0,0-1=1(向高位借位)

1-0=1,1-1=0乘法规则:0×0=0,0×1=1×0=0,1×1=1除法规则:0÷1=0,1÷1=1进位计数制与数制转换八进制基数:8八个数字符号:0、1、2、3、4、5、6、7运算规律:逢八进一,即:7+1=(10)8

。十六进制基数:1616个数字符号:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F运算规律:逢十六进一,即:15+1=(10)16

。进位计数制与数制转换不同基数的进位制数进位计数制与数制转换直接转换法二进制数与八进制数之间的转换八进制

01234567二进制

000001010011100101110111

二进制数八进制数整数部分与小数部分同时进行转换以小数点为中心,分别向左、向右,每3位分一组(不足3位补0)23=8把每一组二进制数转换成八进制数2.1.2进位转换进位计数制与数制转换

例1将二进制数11010.1101转换为八进制数。011010.110100

32.64所以

(11010.1101)2=(32.64)8八进制数二进制数整数部分与小数部分同时进行转换把八进制数中的每一位数分别转换成3位的二进制数

例2将八进制数357.6转换为二进制数。357.6011101111.110所以

(357.6)8=(11101111.11)2进位计数制与数制转换二进制数与十六进制数之间的转换转换方法类似24=16,4位二进制数与一位十六进制数十六进制0123456789ABCDEF二进制000000010010O0110100Ol01011001111000l001101010111100110111101111

例3将二进制数1010110110.110111转换为十六进制数。001010110110.11011100

2B6.DC所以

(1010110110.110111)2=(2B6.DC)16进位计数制与数制转换例4将十六进制数5D.6E转换为二进制数。5D.6E01011101.01101110

所以

(5D.6E)16=(1011101.0110111)2多项式替代法任意两个α、β进制数之间的转换方法:先将α进制的数在α进制中按权展开,然后替代成相应β进制中的数,最后在β进制中计算即可得β进制的数。进位计数制与数制转换

例5

将二进制数1101.101转换成十进制数。

先把二进制数的并列表示法展开成多项式表示法,则有

(1101.101)2=[1×(10)11十1×(10)10十0×(10)1十1×(10)0十1×(10)-1十0×(10)-10+1×(10)-11]2

再把等式右边的二进制数替代成十进制数,则得

(1101.101)2=[1×23十1×22十0×21十1×20

十1×2-1十0×2-2+1×2-3]10在十进制中计算等式右边之值,得

(1101.101)2=(8+4十1十0.5+0.125)10

=(13.625)10进位计数制与数制转换例6(123.4)8=(?)10

(123.4)8=[1×(10)2十2×(10)1十3×(10)0十4×(10)-1]8(展开)

=(1×82十2×81十3×80十4×8-1)10(替代)

=(64+16+3+0.5)10

(在十进制中计算)

=(83.5)10

这种方法用于α进制→十进制较方便。进位计数制与数制转换基数乘/除法基数乘/除法分为基数乘法和基数除法两种。对于整数的转换,采用基数除法;对于小数的转换,采用基数乘法。基数除法(除2取余法)先将α进制的整数在α进制中连续除以β,求得各次余数(ki)α;然后将各余数替代成β进制中相应的数字符号(ki’)β

。最后按照并列表示法列出即得β进制的整数。

例7将十进制整数25转换为二进制数,即(25)10

=(?)2设转换结果为(25)10

=(kn-1kn-2…k1k0)2=(kn-12n-1十kn-22n-2十…十k121十k020)10

(1)在十进制中计算,将式(1)两边除以2,则得12十

=(kn-12n-2十kn-22n-3十…十k120)十

两数相等,则它们整数部分和小数部分必定分别相等,故有12=kn-12n-2十kn-22n-3十…十k120

(2)=k0=1将式(2)两边同除以2,可得6=(kn-12n-3十kn-22n-4十…十k220)十故有6=kn-12n-3十kn-22n-4十…十k2200=

k1=0进位计数制与数制转换

可见,所要求的二进制数(kn-1kn-2…k1k0)2的最低位k0是十进制数25除以2所得余数;次低位k1是所得商12再除以2所得的余数;依次类推,继续用2除,直到商为0为止,于是,各次所得的余数即为要求的二进制数k0~kn-1之值。可以将上述过程写成简单算式如下:

所以,转换结果为(25)10=(11001)2进位计数制与数制转换例8(785)10=(?)8

所以(785)10=(1241)8

例9(687)10=(?)16由于(15)10=(F)16,(10)10=(A)16,(2)10=(2)16所以(687)10=(2AF)16进位计数制与数制转换基数乘法(乘2取整法)先将α进制的小数在α进制中连续乘以β求得各次乘积的整数部分(ki)α;然后将各整数替代成β进制中相应的数字符号(ki’)β;最后按照并列表示法列出即得β进制的小数。例10将十进制小数0.6875转换为二进制数。

即(0.6875)10=(?)2设转换结果为(0.6875)10

=(0.k-1k-2…k-m)2

=(k-12-1十k-22-2十…十k-m2-m)10

(1)在十进制中计算,将式(1)两边乘以2,则得1.3750=k-1十(k-22-1十k-32-2十…十k-m2-m+1)两数相等,则它们整数部分和小数部分必定分别相等,故有k-1=10.3750=k-22-1十k-32-2十…十k-m2-m+1

(2)将式(2)两边再分别乘以2,可得0.75=k-2十(k-32-1十···十k-m2-m+2)故有k-2=00.75=k-32-1十k-42-2十···十k-m2-m+2进位计数制与数制转换可见,所要求的二进制数(0.k-1k-2…k-m)2的最高位k-1是十进制数0.6875乘2所得的整数部分;其小数部分再乘以2所得的整数部分即为k-2之值;依次类推,继续用2乘,每次所得的乘积整数部分即为要求的二进制数k-3~k-m之值。将上述过程写成简单算式如下:所以,转换结果为

(0.6875)10=(0.1011)2进位计数制与数制转换利用基数乘/除法可以将一个十进制混合小数很方便地转换为任何β进制的数。只要将整数部分和纯小数部分按上述规则分别进行转换,然后将所得的数组合起来即可。例11(78.12)10=(?)5整数部分小数部分所以(78.12)10=(303.03)5机器数与真值机器数:用二进制编码表示的数据。真值:与机器数对应的实际数据。机器数包括两种无符号数:没有符号的整数,即正整数。例如10010110表示:96H(十进制数150)字长为n位的无符号数的表示范围:0~2n-1带符号的数2.2带符号数的表示方法带符号数的表示方法符号“+”和“-”的表示“0”:正号“+”“1”:负号“-”用机器数的最高位表示符号位带符号的机器数表示方法:原码、补码和反码带符号数的表示方法原码的定义

设X:二进制数,数值部分的位数为n。当X=±0.X1X2…Xn

(纯小数)当X=±X1X2…Xn

(纯整数)2.2.1原码表示法带符号数的表示方法例13

已知n=4,求X的原码[X]原。解:

X=+0.1101[X]原=0.1101

X=-0.1101[X]原=1-X=1.1101

X=+1101[X]原=01101

④X=-1101[X]原=24-X=10000+1101=11101原码的特点原码表示直观、易懂,与真值的转换容易。真值0有两种不同的表示形式

[+0]原=000…0[-0]原=100…0用原码实现乘、除运算的规则很简单,但实现加减运算比较复杂。带符号数的表示方法模和同余模:指一个计量器的容量,可用M表示。例如:大家所熟悉的钟表,是以12为计数循环的,模M=12

一个4位的二进制计数器,计数范围为0~15,模=

16同余:指两整数A和B除以同一正整数M,所得余数相同。这时称A和B对M同余,即A和B在以M为模时是相等的,可写成:

A=B(modM)或

A=B+kM(k为整数)2.2.2补码表示法带符号数的表示方法

例如钟表:模M=12,故3点和15点、5点和17点是同余的,它们可以写作:

3=15(mod12),5=17(mod12)

3=3+12(mod12),5=17-12(mod12)将减法运算转化成加法运算假设当前时针停在7点,现在要将时针调到5点,可以有两种方法实现:(1)将时针倒拨2格(2小时):7-2=5

做减法(2)将时针正拨10格(10小时):7+10=17=5(mod12)

做加法从上可得:7-2=7+10(mod12)

-2与10对模12互补,也可以说-2的补码是10(以12为模)。带符号数的表示方法

例:9-5=9+(-5)=9+(12-5)=9+7=4(mod12)

7为-5的补码例:65-25=65+(-25)=65+(100-25)=65+75=40(mod100)

75为-25的补码补码的定义设X:二进制数,数值部分的位数为n。当X=±0.X1X2…Xn

(纯小数)带符号数的表示方法当X=±X1X2…Xn

(纯整数)例14已知n=4,求X的补码[X]补。解:①X=+0.1101[X]补=0.1101②X=-0.1101[X]补=2+X=1.0011③X=+1101[X]补=01101④X=-1101[X]补=25+X=100000-1101=10011带符号数的表示方法补码的特点由真值求补码符号位:“0”表示正号“+”,“1”表示负号“-”。数值部分正数:数值部分与真值形式相同负数:将真值的数值部分按位将“1”变为“0”,“0”变为“1”(按位变反),且在最低位加1。例如:

带符号数的表示方法真值0的表示形式是唯一的

[+0]补=[-0]补=000…00补码的加减运算规则简单符号位与数值位部分一样参加运算。运算后如有进位产生,则把这个进位舍去不要,相当于舍去一个模。

[X+Y]补=[X]补+[Y]补

[X—Y]补=[X]补+[—Y]补已知[Y]补,求[—Y]补。将[Y]补按位变反,且在最低位加1。带符号数的表示方法

例15已知①Y=+0.1101;②Y=-0.1101;③Y=+1101;④Y=-1101。n=4;求[—Y]补。解:①[Y]补=0.1101[—Y]补=1.0011②[Y]补=1.0011[—Y]补=0.1101③[Y]补=01101[—Y]补=10011④[Y]补=10011[—Y]补=01100带符号数的表示方法反码的定义

设X:二进制数,数值部分的位数为n。当X=±0.X1X2…Xn

(纯小数)当X=±X1X2…Xn

(纯整数)2.2.3反码表示法带符号数的表示方法

例16已知①X=+0.1101;②X=-0.1101;③X=+1101;④X=-1101。n=4;求X的反码[X]反。解:①[X]反=0.1101②[X]反=2-2-4+X=1.0010③[X]反=01101④[X]反=25-1+X=100000-1-1101=10010

带符号数的表示方法反码的特点由真值求反码符号位:“0”表示正号“+”,“1”表示负号“-”。数值部分正数:数值部分与真值形式相同负数:将真值的数值部分按位变反真值0有两种不同的表示形式

[+0]反=000…0[-0]反=111…1反码的加减运算比补码的复杂8位二进制整数的无符号数、原码、补码、反码表示的真值

带符号数的表示方法二进制表示无符号数原码补码反码000000000+0+0+0000000011+1+1+1……………01111111127+127+127+12710000000128-0-128-12710000001129-1-127-126……………11111110254-126-2-111111111255-127-1-0带符号数的表示方法移码的定义(只讨论纯整数移码)设X:n位的二进制数真值为+X1X2…Xn或-X1X2…Xn纯整数移码的定义:[X]移=2n+X-2n≤X<2n

移码就是在真值的基础上加一常数(2n)这个常数称为偏移值相当于X在数轴上向正方向偏移了若干单位

2.2.4移码表示法带符号数的表示方法

例17已知①X=+1101;②X=-1101;n=4;求X的移码[X]移。解:①[X]移=24+X=10000+1101=11101②[X]移=24+X=10000-1101=00011移码和真值的映射

带符号数的表示方法移码的特点移码与补码的关系移码与补码数值部分相同,符号位相反。即只需将[X]补的符号位变反,就得到[X]移。

当0≤X<2n时,[X]移=[X]补+2n

当-2n≤X<0时,[X]移=[X]补-2n

例:①X=+1101;[X]补=01101;[X]移=11101②X=-1101;[X]补=10011;[X]移=00011

移码表示法中,数的最高位(符号位):如果为“0”,表示该数为负数;如果为“1”,表示该数为正数。采用移码的目的:为了能够从机器数的形式上直接判断两数真值的大小。小数点的位置是固定不变的定点小数(纯小数):把小数点固定在数值部分的最高位之前。定点整数(纯整数):把小数点固定在数值部分的最低位之后。2.3数的定点表示与浮点表示2.3.1数的定点表示▲数的定点表示与浮点表示数值部分为n位的机器数的表示范围(不包含符号位)定点小数原码:-(1-2-n)~(1-2-n)定点小数补码:-1~(1-2-n)定点整数原码:-(2n-1)~(2n-1)定点整数补码:-2n~(2n-1)数的定点表示与浮点表示小数点的位置不固定,视需要而浮动。浮点数的一般表示形式

X=M×2E其中:E:阶码,用定点整数表示。阶码的值决定了数中小数点的实际位置。M:尾数或有效值,用定点小数表示。阶码和尾数可以采用原码、补码、反码中任意一种编码方法来表示,但阶码通常采用移码。2.3.2数的浮点表示数的定点表示与浮点表示例如:

X=+0.01100101×2-101

阶码:-101;尾数+0.01100101Y=-0.11010011×2+110

阶码:+110;尾数-0.11010011用3部分来表示一个浮点数

数的定点表示与浮点表示规格化浮点数用浮点表示法表示一个数时,表示形式不唯一。例如X=+0.01100101×2-101X=+0.11001010×2-110X=+0.001100101×2-100规格化浮点数当浮点数的基数为2时,如果其尾数M满足:则该浮点数为规格化浮点数。否则称其为非规格化浮点数。数的定点表示与浮点表示

例18分别将十进制数-54、转换成规格化浮点数表示。阶码用移码,尾数用补码。其浮点数格式如下所示:

其中Mf为数符,Ef为阶符。解:(-54)10=(-110110)2=-0.1101100000×2110

()10=(+0.0001101000)2=+0.1101000000×2-11数的定点表示与浮点表示浮点数的表示范围设浮点数的阶码为m位,尾数为n位,数符和阶符各一位,则浮点数的表示范围:

浮点数所能表示数的范围处于最大正数到最小正数、最大负数到最小负数之间。

最大正数=最大正尾数×2最大阶码最大负数=最大负尾数×2最小阶码最小正数=最小正尾数×2最小阶码最小负数=最小负尾数×2最大阶码数的定点表示与浮点表示

阶码采用移码,尾数采用补码,浮点表示所对应的最大正数、最小正数、最大负数、最小负数典型数据浮点形式数符

阶符

阶码

尾数真值非规格化最小正数0000…000…01规格化最小正数0000…010…00最大正数0111…111…11非规格化最大负数1000…011…11规格化最大负数1000…001…11最小负数1011…100…00数的定点表示与浮点表示如果一个数超出了数的表示范围,则称为溢出。若该数处于最小正数和最大负数之间,称为下溢。若该数大于最大正数或小于最小负数,称为上溢。尾数的位数决定了数据表示的精度,增加其位数可以增加有效数字的位数;而阶码的位数决定了数据表示的范围。

IEEE754标准每个浮点数由3部分组成数符S

阶码E

尾数M

两种基本浮点格式单精度浮点格式双精度浮点格式两种扩展浮点格式扩展单精度浮点格式扩展双精度浮点格式基本格式

数符位数

阶码位数(含1位符号位)

尾数位数

总位数单精度浮点数182332双精度浮点数1115264扩展单精度浮点数1≥1131≥43扩展双精度浮点数1≥15≥63≥79

IEEE754标准浮点数基本格式

数的定点表示与浮点表示以单精度浮点数格式为例数符S:0表示正数,1表示负数。阶码E:由1位符号位和7位数值组成。

采用偏移值为127的移码,即:阶码=127+数值规定阶码的取值范围为:1~254阶码值0和255用于表示特殊数值尾数M:23位,采用原码,规格化表示。由于对于规格化数原码来说,其尾数的最左边一位必定为1(特殊值和非规格化数除外),所以可以把这个1丢掉,而把其后的23位放入尾数字段中。IEEE754中的23位尾数实际上是表示了24位的有效数字。数的定点表示与浮点表示IEEE754单精度浮点数的特征参数

特征参数特征值特征参数特征值符号位数1尾数位数23阶码位数8尾数个数223阶码偏移值127最大规格化数2128阶码取值范围(移码)1~254最小规格化数2-126阶码取值范围(真值)-126~127可表示十进制数范围10-38~1038阶码个数254最小非规格化数2-149≈10-45数的定点表示与浮点表示+19.5的单精度浮点数格式(二进制表示为10011.1或1.00111×24)0、±∞

和NaN(非数)几个特别值的表示数值符号尾数阶码+19.500011100000000000000000010000011000000000000000000000000000000000±∞0或10000000000000000000000011111111NaN0或1非0的任意值11111111非规格化数0或1非0的任意值00000000二―十进制编码:用若干位二进制代码来表示一位十进制数字符号的方法。8421(BCD)码最常用的一种二-十进制编码,它常简称为BCD码。将十进制的每个数字符号用4位二进制数表示,各位的权从左到右分别为8、4、2、1。这样用二进制数的0000~1001来分别表示十进制的0~9。2.4常用的其他编码2.4.1十进制数的二进制编码常用的其他编码主要特点它是一种有权码。各位的权从左到右依次为8、4、2、1设8421(BCD)码的各位为a3a2a1a0,则它所代表的值为N=8a3+4a2+2a1+1a0编码简单直观,它与十进制数之间的转换只要直接按位

进行就可。例如

(91.76)10

(1001

0001.0111

0110)BCD

(0110

0000

0001

.0010)BCD

=(601.2)10常用的其他编码余3码对应于同样的十进制数字,余3码比相应的BCD码多出0011,所以叫余3码。一个十进制数用余3码表示时,只要按位表示成余3码即可。例如

(90.61)10=(11000011.10010100)余3特点它是一种对9的自补码。每一个余3码只要自身按位取反,便可得到其对9之补码。常用的其他编码例如:

十进制数字5的余3码为1000,5对9之补是9-5=4,而4的余3码是0111,它正好是5的余3码1000按位取反而得。两个余3码相加,所产生的进位相应于十进制数的进位,但所产生的和要进行修正后才是正确的余3码。如果没有进位,则和需要减3;如果发生了进位,则和需加3。例如2010191100

+)3+)0110+)1+)0100510111010000

-)11+)1110000011

常用的其他编码2421码一种有权码2421码的权从左到右分别为2、4、2、1设2421码中的各位为a3a2a1a0,则它所代表的值为N=2a3+4a2+2a1+1a0常用的其他编码十进制数8421码余3码2421码5421码012345678900000001001000110100010101100111100010010011010001010110011110001001101010111100000000010010(1000)0011(1001)0100(1010)1011(0101)1100(0110)1101(0111)11101111000000010010001101000101(1000)0110(1001)0111(1010)10111100权8421

24215421常用的其他编码对各种数字、字母和符号这些字符进行的编码叫做字符代码。在我国获得广泛使用的字符代码有两种五单位:用五位二进制数来表示不同的字符,它是由电报用的电传打字机的电传码稍加修改而成的。七单位:用七位二进制数来表示不同的字符。这是目前应用最广泛的一种字符代码。国际标准码ASCII码(俗称阿斯克码)2.4.2字符代码常用的其他编码是一种七单位代码美国用于信息交换的标准代码(AmericanStandardCodeforInformationInterchange)128个字符26个大写的英文字母和26个小写的英文字母10个数字符号34个专用符号32个控制字符国家标准码为GB1988-80常用的其他编码常用的其他编码低4位代码(b4b3b2b1)高3位代码(b7b6b5)0000010100111001011101110000NULTC7SP0@P、p0001TC1DC1!1AQaq0010TC2DC2“2BRbr0011TC3DC3#3CScs0100TC4DC4¥4DTdt0101TC5TC8%5EUeu0110TC6TC9&6FVfv0111BELTC10‘7GWgw1000FE0CAN(8HXhx1001FE1EM)9IYiy1010FE2SUB*:JZjz1011FE3ESC+;K[k{1100FE4IS4,<L\l|1101FE5IS3-=M]m}1110SOIS2.>N^n~1111SIIS1/?O_o常用的其他编码

格雷(Gray)码特点:从一个代码变为相邻的另一代码时,只有一位发生变化。一种典型的Gray码一种无权码Gray码与二进制码之间有简单的转换关系设二进制码为:B=BnBn-1…B1B0其对应的Gray码为:G=GnGn-1…G1G0则有

Gn=BnGi=Bi+1Bii=0,1,…,n-12.4.3可靠性编码常用的其他编码十进制数二进制码典型的Gray码000000000100010001200100011300110010401000110501010111601100101701110100810001100910011101101010111111101111101211001010131101101114111010011511111000一种典型的Gray码常用的其他编码例如,把二进制码0111和1100转换成Gray码:

如果已知Gray码,也可以用类似方法求出对应的二进制码,其方法如下:

Bn=Gn

Bi=Bi+1Gi(i<n)常用的其他编码例如,把Gray码0100和1010转换成二进制码:Gray码可被用作二-十进制编码。十进制数的两种Gray码修改的Gray码又叫余3Gray码,它具有循环性,即十进制数的头尾两个数(0与9)的Gray码也只有一位不同,构成一个“循环”。所以Gray码有时也称循环码。常用的其他编码十进制数典型Gray码修改Gray码000000010100010110200110111300100101401100100501111100601011101701001111811001110911011010常用的其他编码奇偶校验码编码方法在n位有效信息位的最前面或最后面增加一位二进制校验位P,形成n+1位的奇偶校验码。如果n+1位的奇偶校验码中“1”的个数为奇数,则称为奇校验。如果“1”的个数为偶数,则称为偶检验。例如:①8位二进制信息00101011

奇校验码:001010111

偶校验码:001010110②8位二进制信息00101010

奇校验码:001010100

偶校验码:001010101常用的其他编码

设n位有效信息位:XnXn-1…X2X1

其后增加一位二进制校验位:P

那么它们之间的关系为:

奇校验:

偶校验:奇偶校验码的校验方法如果奇校验码中“1”的个数为偶数,或者偶校验码中“1”的个数为奇数,则编码出错了。

常用的其他编码校验方程奇校验:

偶校验:如果E=0,则编码正确;如果E=1,则编码出错。

奇偶校验码只能发现一位或奇数个位出错,不能发现偶数个位同时出错。不能纠正错误。常用的其他编码海明校验码实现原理在n位有效信息位中增加k位校验位,形成一个n+k位的编码;把编码中的每一位分配到k个奇偶校验组中;每一组只包含一位检验位,组内按照奇校验或偶校验的规则求出该组中的校验位。在海明校验码中,有效信息位的位数n与校验位数k满足如下关系:

2k-1≥n+k常用的其他编码海明校验码中有效信息位数与校验位数的关系n最小k值n最小k值1~4

温馨提示

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

评论

0/150

提交评论