微型计算机概论_第1页
微型计算机概论_第2页
微型计算机概论_第3页
微型计算机概论_第4页
微型计算机概论_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

第一章 微型计算机概论微型计算机的发展概况微型计算机的发展及应用概述自1946年世界上第一台电子计算机在美国问世以来,计算机科学和技术获得了高速发展。电子计算机的产生和发展是20世纪最重要的科技成果之一。到今天为止,电子计算机的发展已经历了由第一代电子管计算机、第二代晶体管计算机、第三代集成电路计算机到第四代大规模集成电路、超大规模集成电路计算机的四代发展过程。未来的计算机将是半导体技术、光学技术和电子仿生技术相结合的产物。由于超导器件、集成光学器件、电子仿生器件和纳米技术的迅速发展,将出现超导计算机、光学计算机、纳米计算机、神经计算机和人工智能计算机等。新一代计算机将着眼于机器的智能化,使之具有逻辑推理、分析、判断和决策的功能。目前,已经有了第五代“非冯・诺伊曼”计算机和第六代“神经”计算机的研制计划。计算机按其性能、价格和体积可分为巨型机、大型机、中型机、小型机和微型机。微型机诞生于20世纪70年代,一方面是由于当时军事、工业自动化技术的发展,需要体积小、功耗低、可靠性好的微型计算机;另一方面,由于大规模(LSI)和超大规模集成电路(VLSI)的迅速发展,可以在单片硅片上集成几千到几十万个晶体管,为微型机的产生打下了坚实的物质基础,引发了新的技术革命。微型计算机一经问世,就以不可阻挡的势头迅猛发展,成为当今计算机发展的一个主流方向。当前,微型计算机的应用已日益普及,深入到社会生活的各个领域,改变了人们传统的工作、学习和生活方式,成为信息时代的主要标志。微型计算机的特点是:1.集成度高,体积小,重量轻,价格低廉:2.部件标准化,易于组装及维修;3.高可靠性及适应性。在计算机技术中,一般把计算机的核心部件——运算器和控制器——称为中央处理单元,简称CPU(CentralProcessingUnit)。微处理器是利用大规模集成电路技术,把计算机中的运算器和控制器集成在一块硅片上的集成电路(包括多个内部寄存器),通常称为微处理器MPU(MicroProcessorUnit)或MP(MicroProcessor)。它是微型机的核心。微型计算机简称为rC或MC(MicroComputer),它是由微处理器(CPU)、存储器、输入输出接口电路,通过总线(BUS)结构联系起来的。若配有相应的外围设备(如显示器、键盘、打印机等)和系统软件,就组成了微型计算机系统(MicroComputerSystem)。在工业控制、小型仪器仪表的检测中,可使用微型计算机、单板或单片计算机。而在数据处理中则必须使用较完备的微型计算机系统。微型计算机发展概况微型计算机是计算机的一个重要分支。1971年,世界上第一个微处理器芯片4004诞生于美国,该芯片字长4位,集成了约2300个晶体管,每秒可进行6万次运算,成本约为200美元。以它为核心组成的MCS-4计算机是世界上第一台微型计算机。从那时起,短短30年的时间,微型计算机的发展已经历了四代。人们一般以字长和典型的微处理器芯片作为微型计算机各发展阶段的标志。近30年来,微处理器和微型计算机获得了极快的发展,几乎每2年微处理器的集成度便翻一翻,2-4年更新换代一次,现已进入第五代。第一代微型计算机(1971-1973)——4位和低档8位微处理器。1971年由Intel公司首先研制成功4位4004微处理器,1972年Intel公司推出低档8位的8008微处理器。其工艺为PMOS,主频为1MHz,集成度为2000个晶体管/片。软件主要使用机器语言及简单的汇编语言。第二代微型计算机(1974。1977年)一中高档8位微处理器。1974年以后中档微处理器陆续诞生,有以Intel公司、Motorola公司、Zilog,公司产品为代表的三大系列微处理器。1976年又推出高档8位微处理器,典型产品为Intel8O8O、Intel8085、MC6800,Z80,其工艺为NMOS,主频为24MHz,集成度为9000个晶体管/片,运算速度大大提高。软件除汇编语言外,也可使用高级语言,如BASIC、FORTRAN,PASCAL以及PL/M等。当时出现了具有磁盘操作系统的微型计算机,如以MC6502为CPU的苹果机。第三代微型计算机(1978—1984年)一16位微处理器。由于超大规模集成电路工艺的成熟,一块硅片上可以容纳几万个晶体管。16Kb(bit)和64Kb半导体存储器也已推出,三大公司推出具有代表性的16位微处理器芯片,如lntel8086/8088、Zilog的Z8000以及Motorola的M68000。这些微处理器的时钟频率为4—8MHz,基本指令执行时间约为0.15四,字长为16位。其工艺为HMOS,Intel8086CPU的集成度达到29000个晶体管,Z8000为17500个晶体管MC68000为68000个晶体管。软件也迅猛发展,具有丰富的指令系统,多级中断系统,还有功能较强的系统软件。为了和原8位机相衔接,方便8位机用户,Intel公司又推出了8088CPU,其指令系统完全与8086兼容,内部仍然为16位的功能结构,而外部数据总线是8位。IBM公司以8088CPU组成了微型机系统IBMPC和IBMPC/XT,其中XT(ExpandcdTechnology)的意思为扩展。它扩充了前者的内存,并增加了一个硬磁盘驱动器,在其他方面二者并没有什么区别。IBM公司采用新的策略——公布了该计算机的全部资料,使许多厂商为其研制配套的外设产品。由于其性能价格比好,迅速占领了国际市场。进一步,Intel公司又推出性能优良的80286CPU和协处理器80287,其集成度:达到13.4万晶体管/片。以此为基础,IBM公司推出了IBM:PC/AT计算机,其中AT(AdvancedTechnobgy)的意思为增强。它进一步提高了PC机的总体性能。从此,微型机的应用逐渐普及开来,真正进入了个人计算机的时代。第四代微型计算机(1985〜1993年)一32位高档微处理器。Intel公司首先推出了32位微处理器芯片80386,它具有二种结构,即80386SX和80386DX。80386SX内部结构为32位,外部数据总线为16位,采用80287作为协处理器。80386DX内部结构与外部数据总线皆为32位,采用80387作为协处理器。其集成度达到27.5万晶体管/片,每秒钟可完成5百万个指令(MIPS)。从这时起,微型计算机步人第四个发展阶段。1990年,Intel公司又研制出新一代32位微处理器芯片80486,它将80386、80387及高速缓冲存储器集成在一块芯片上,时钟频率为16-40MHZ,其集成度达到120万晶体管/片。第五代微型计算机(1993年至今)一64位高档微处理器。1993年,Intel公司研制出新一代64位高档微处理器芯片奔腾(Pentium),其外部数据总线为64位,主频为66MHz、133MHz、200MHz,内部集成度达300万晶体管/片,速度达到90MIPS。以它为CPU的微型机称为586机或奔腾计算机。IBM、APPLE,Motorola几个公司合作生产的PowerPC芯片又是一种性能优异的64位微处理器芯片,以它为CPU的微型机叫Macintosh»1995年发布高能奔腾(PentiumPro)芯片,集成度达到550万晶体管/片,内部还装进了256KB/512KB的高速缓存(Cache)电路,运行速度达到300MIPS;1996年Intel将MMX(MultiMediaextension)多媒体扩展技术用于Pentium,发布多功能奔腾芯片(MMXPentium);1997年又将MMX多媒体技术用于PentiumPro,推出PentiumH芯片。在后来的改进中,AMD公司又相继推出了性能更加优越的AMD—K6—2和AMD—K6—3,Intel公司很快推出PentiumlH处理器。主频为450-600MHz以上,并在此基础上产生了多媒体计算机。PentiumHI(奔腾ID,Pill)处理器,增加了音频,视频和3D处理能力。1999年10月诞生的新一代PentiumHlComppemine,主:频可达733MHzoIntel公司的PentiumII/III采用双独立总线架构,一条总线联结12Cache,另一条主要负责内存,这使处理器在平行的两条总线上能同时处理数据。这类微处理器为现代的高速信息处理(典型如DVD技术)提供了可能。1999年9月,AMD公司率先推出了功能更加强大的X86新型微处理器Athlon,通过采用先进的EV6总线接口,使安装Athlon的微型计算机的系统总线可以工作在200MHz甚至400MHz的频率上,从而使系统总线的数据传输率达到3.2Gb/s。同时,对其浮点处理部件FPU进行了全新设计,具有3条可以支持更高时钟频率的超标量流水线,浮点运算部件能够更快地处理复杂的浮点指令及提高浮点指令的整体传输量。2000年3月,AMD与Intel两家公司都分别推出了时钟频率达1GHz的Athlon和PentiumHl高性能微处理器。2000年6月Intel公司推出了最新的微处理器PentiumW(简称PW或P4),并产生了以P4为CPU的微型计算机。PW系统的工作频率为1.3—2.8GHz,工作电压为1.565〜1.700V。目前以微处理器P1V为CPU的微型计算机12经成为电脑市场的主流产品。PW的主频已经高达3.2GHz。PC生产商在2002年底已推出以3GHzP4为核心的计算机。到目前为止,上市的3GHz4CPU是市场上性能最强的台式机CPU了。它不但拥有更高的时钟频率,并且支持Intel的超线程技术,这将使一个芯片的性能几乎相当于两个。在推出PW的同时,Intel已经为市场准备了64位的新一代微处理器。与以往的64位RISC架构的CPU不同,Intel代号为"Mercer的Itanium(安腾)引入了许多新概念和新技术,其目标是带领CPU市场跨人新型64位时代。Intel公司生产的不同时期的X86结构微处理器系列的比较可参见表1-1,表1-1X86系列微处理器比较微处理器首批生产时间性能(MIPS)①CPU最高主频(MHz)集成度(百万)②寄存器宽度外部数据总线宽度最大寻址空间内含(或捆绑)高速缓存大小808619780.880.02916161MB无8028619822.712.50.134161616MB后80386DX19856.0200.27532324GB无80486DX198920251.232324GB8KBL1Pentium19931002003.132644GB16KBL1PentiumPro(P6)19954402665.5326464GB16KBLl>256KB或512KBL2PentiumII19974664507.5326464GB32KBLI、256KB或512KB12PentiumHl1999100090028.232③6464GB32KBLI、256KB或512KBL2Pentium(PIV)2000320028004232③6464GB32KBLI、256KB或512KBL(DMIPS(MillionsoflnstructionsperSecond),每秒执行的指令数,单位为百万条。②芯片中所集成的晶体管数,单位为百万个。③用作通用目的寄存器时为32位,用于SIMD(单指令流、多数据流)处理时为128位。④L1为一级高速缓存器,L2为二级高速缓存器。微机在体系结构上采用开放式的总线结构,以便于系统的扩展。总线的主要职能是负责计算机各模块之间以及计算机与外设之间的数据传输。山于微机的字长成倍增加,速度不断提高,外设的类型和品种越来越多;在数据形式和传输速率等方面差别很大。特别是多媒体技术的兴起,需要很高的数据传输速率。所有这些都对总线提出了更高的要求。为满足这些要求,在传统的低端总线的基础上,发展了现代的高端总线,如EISA总线、,MCA总线、PCI总线、VL总线等等。这些总线在宽度上达到32位,有的还可升级到64位。由于采用了总线主控技术,有突发传输功能,数据传输速率也大大提高。而且在一个微机系统中允许多条总线同时存在,从而构成多总线系统,不仅使系统的数据处理能力大大提高,而且使系统的构成更加灵活方便。奔腾4处理器和微软XP操作系统,正把电脑带进一个全新的时代,丰富的多媒体和互联网应用,层出不穷的数码产品。人们买电脑不再只为了写文件,做图表,而是用它来指挥所有家电,上网冲浪,远程学习,编辑个性电影,甚至开视频会议。在硬件系统取得迅猛发展的同时,软件系统的发展同样十分迅速。以操作系统为例,PC机上最早使用的是DOS操作系统。随着PC机的升级,DOS操作系统的版本已由最初的DOS1.0版本升级到目前的DOS7.0版本。此外,目前广泛使用的是MS—Windows(如Windows95>WindoWs98SE、Windows2000>WindowsNT.WindowsXP等)、Unix、XENIX、OS/2等操作系统。这些操作系统均有相应的中文平台,如SPDOS,UCDOS、中文Windows98SE、UnixSVR4.2/CE、0S/2P2—1等。MS-DOS问世十多年来,虽已有很大改进,但仍然是一种采用命令行接口的单任务、单用户操作系统。MS-Windows窗口系统为用户在DOS操作,系统下提供了一个具有图形功能的用户界面操作环境,得到广泛应用。WindowsNT不需要MS-DOS就可以运行在采用Intel80X86系列CPU的微机上,也可以运行在非Intel80X86系列微机上(这•特性称为可移植性)。它支持计算机联网,使各计算机可以互相通信和共享资源(文件、打印机等),可以访问多至4GB的内存,并为应用程序管理内存。因此WindowsNT受到广泛的关注。随着多媒体计算机的兴起,对操作系统的实时功能、交互功能等提出了更高的要求。为了支持音频和视频图像等多媒体特征,则需要增加新的数据类型,并且希望有更好的可移植性、多任务和软件开发工具。尽管如此,本书仍以MS-DOS为操作系统,介绍80X86系列微机的原理及接口技术,这是考虑到目前为MS-DOS编写的应用程序比其他任何别的操作系统的都要多,且在WindowsNT以下的操作系统中,一般均可运行。对于一些特殊程序(如绕过操作系统直接指挥硬件的程序),为使用的方便,在MS—DOS向Windows的过渡阶段,可以在计算机中采用不同的Config.sys和Autoexec.bat文件保留两种不同的操作系统版本(如WindowsNT和MS—DOS)»除了操作系统以外,计算机还必须有语言、编译等系统软件以及窗口系统、文字处理、图形处理、图像处理和网络、工具等软件系统的支持。在微机家族中,单片机的发展同样十分迅速。单片机是把CPU、一定容量的存储器和必要的I/O接口电路集成在一块芯片上构成的具有计算机的完整功能的一种微机。单片机的字长已由4位、8位发展到目前的32位,片内存储器的RAM容量已增加到数KB,片内存储器ROM容量已达到32KB(FlashROM)。有的单片机还包含有高精度的A/D和D/A转换器,有的还配有现场总线接口,如:CAN总线、BUS总线等,可连接成局域网。单片机在工业控制和智能仪器仪表中得到了广泛的应用。30年来,Intel的微处理器有了极大的发展,从8086到80286、80386、80486、奔腾(也称为80586)、奔腾MMX、奔腾PRO(也称为80686)、奔腾II、奔腾HI,直至最新的奔腾根,形成了IA(IntelArchitecture)—32结构。目前IA―64结构正在推出,微处理器正在向64位发展。今后,计算机技术的发展将表现为高性能化、网络化、大众化、智能化与人性化、功能综合化,计算机网络将呈现出全连接的、开放的、传输多媒体信息的特点。未来计算机的发展趋势是,微处理器速度将继续提升,Intel公司称已开发出只有20nm的最小的晶体管,在未来几年内将制造出每个芯片上有10亿个晶体管的微处理器,保证在2007年之前制造出每秒200亿次、20亿只晶体管的微处理器。个人电脑将具有原来的高性能服务器所具有的处理能力;高性能计算机采用分布式共享存储结构;计算机将采用更先进的数据存储技术(如光学、永久性半导体、磁性存储等);外设将走向高性能、网络化和集成化并且更易于携带;输出输入技术将更加智能化、人性化。随着笔输入、语音识别、生物测定、光学识别等技术的不断发展和完善,人与计算机的交流将更加便捷。软件技术的发展将呈现平台网络化、技术对象化、系统构件化、产品领域化、开发过程化、生产规模化、竞争国际化的趋势。高端计算机软件、操作系统微内核与源码技术、软件可靠性和安全性、软件开发和集成工具面向人们个性化需求的应用软件,在相当时期内仍将是软件领域的主要研究内容:软件技术正以计算机为中心向以多媒体信息服务为对象的方向发展,软件开发与芯片设计相互融合和渗透,将人机充分自然地结合起来。网络软件正在成为研究投资的热点。软件业的市场发展空间将超过硬件业的市场规模。据预测,到2005年,全球计算机产品的市场规模将超过4000亿美元,软件在3,500亿美元以上,2010年将分别达到5,100亿美元与6,000亿美元左右。计算机网络的发展是计算机应用的又一里程碑,它使全球信息化成为可能。近年来Inteemet国际互联网的发展,使得社会生活的各个方面都发生了深刻的变化。例如,人们通过网络收发电子邮件(E—mail),通过网络购物(电子商务),通过网络打电话(1P电话),通过万维网(WWW)浏览政府、企业、报刊的各种信息,通过网络听音乐、学习、远程医疗等。这是真正地进入了数字化、信息化的时代。网络的发展和应用前景鼓舞着人们更加努力地学习计算机知识,提高应用计算机的能力和水平。尽管微机发展很快,但是在其发展过程中具有技术上的连续性和兼容性。就Intel86系列处理器来说,新的一代产品都是在老一代产品基础上的发展,并且新一代产品对老一代产品向下兼容。另外,在微机的发展过程中,与通用机不同的是,微机是四代产品共存,而不是一代淘汰一代。微机的各代产品,以及单片机和位片机,各自都有适用的领域。对工业控制来说,目前的16位机已能基本满足使用要求。在微机的体系结构上,都采用了系统总线结构。基于以上因素,并考虑到便于教学和组织实验,本书仍选择16位机作为主要机型。计算机及微型计算机的组成微型计算机系统的组成任何一个计算机系统都是由硬件系统和软件系统两大部分组成的。硬件系统包括五个基本组成部分:运算器、存储器、控制器、输入设备和输出设备,如图1-1所示。软件系统包括计算机运行所需要的系统软件和为用户解决各种实际问题而编制的应用软件。图1-1计算机的某本组成微型计算机的硬件系统微型机的硬件系统组成如图1-2所示。图1-2微机硬件系统的组成一、微处理器MPU(MicroprocessorUnit)微处理器简称为MPU(或者称为MP、gP)o微处理器是利用微电子技术将计算机的核心部件运算器和控制器集中做在一块集成电路上的•个独立芯片。它具有解释指令、执行指令和与外界交换数据的能力。在计算机中,运算器和控制器合起来称为中央处理单元,简称CPU(CentralProcessingUnit).微处理器是构成微型计算机的核心部件,不同型号的微型计算机,其性能指标的差异首先在于其CPU性能的不同,而CPU性能又与它的内部结构有关。每种CPU有其特有的指令系统。在目前情况下,无论哪种CPU,其内部基本组成总是大同小异的。其内部包括三部分,如图1-2所示。第一部分为运算器,运算器是对信息进行加工、处理及运算的逻辑部件,它是以加法器为基础,辅之以移位寄存器及相应控制逻辑组合而成的电路,在控制信号的作用下可完成加、减、乘、除四则运算和各种逻辑运算,包括与运算、或运算、非运算以及异或运算等。故运算器又称为算术逻辑运算单元ALU(ArithmaticandLogicUnit)。新型CPU的运算器还可完成各种高精度的浮点运算。第二部分为控制器(ControlUnit),包括指令寄存器、指令译码器和定时控制电路。控制器是计算机控制和调度的中心;计算机的各种操作都是在控制器的控制卜进行的。控制器的指挥是通过程序进行的,程序放在存储器中,它依次从存储器中取出指令,控制器根据指令的要求,对CPU内部和外部发出相应的控制信息,使微机各部件协调地工作,从而完成对整个计算机系统的控制及数据运算处理等工作。控制器是整个CPU的指挥控制中心。第三部分为内部寄存器阵列,它由多个功能不同的寄存器构成,用以存放参加处理和运算的操作数;存放数据处理的中间结果和最终结果等。寄存器可分为专用寄存器和通用寄存器。专用寄存器的作用是固定的,例如8086CPU的堆栈指针寄存器、标志寄存器、指令指针寄存器等。而通用寄存器则可由编程者依据需要规定其用途。有了这些寄存器,多次使用的操作数或者中间结果,可将它们暂时存放在寄存器中,避免对存储器的频繁访问,从而缩短指令执行时间,同时也给编程带来很大的方便。二、存储器(Memory)存储器是微型机的存储和记忆装置,用来存储数据、程序、中间结果和最终结果等数字信息。(1)内部存储器和外部存储器存储器按其在计算机中的位置可分为内部存储器和外部存储器两大类。内部存储器通常采用半导体存储器,与CPU一起放在系统的主板上,又称为主存储器,简称为内存或主存。按工作方式存储器可分为两大类,即随机存储器RAM(RandomAccessMemory)和只读存储器ROM(ReadOnlyMemory)«内存的速度快,但其存储容量比外部存储器要小。RAM是可以被CPU随机地进行读写的存储器,这种存储器用于存放用户装入的程序、数据及系统信息。当机器断电后,所存信息消失。ROM中的信息只能被CPU读出,而不能用一般方法将信息写入存储器,机器断电后,信息仍保留。这种存储器用于存放固定的程序,如BIOS程序,一些解释程序及用户编写的专用程序等。外部存储器设置在计算机主机的外部,简称外存,又称为辅助存储器(简称辅存),用来存放当前暂时不用的程序和数据。外存存储的信息量大,但速度比内存要慢,例如软盘、硬盘和光盘等。外存的程序必须调入内存,CPU才能执行。(2)内存单元的地址和内容图1-3内存单元地址和内容计算机的内存用来存放数据和程序。内部存储器是由一个一个的基本存储电路构成的,每一个基本存储电路存放1位的二进制信息,当一组二进制数作为整体同时从存储器取出(称为读)或存入(称为写)时,这一组二进制数称为一个存储字。为了便于对存储器进行读和写操作,把存储器划分成一个一个的单元,内存由许多单元组成,每个单元存放一组二进制数,这样一个单元称为一个存储单元。微机中规定每个内存单元可存放8位二进制数,即一个字节(Byte)的二进制信息。一个存储单元中存放的信息称为该存储单元的内容。数据和程序均以二进制数形式存放,不论是8位机还是16位机,都是以8位二进制数作为1个字节存放在内存单元中。内存容量就是它所能包含的内存单元的数量,也就是存储器存储信息量的大小。存储容量用字节为单位来衡量。lKB=2'°B=1024BytelMB=1024KB=22OByte 称为1兆字节。lGB=1024MB=230Byte 称为1吉字节。lTB=1024GB=240Byte称为1特字节。为了区分不同的存储单元,按一定的规律和顺序对每个内存单元进行排列编号,这个编号称为存储单元的地址(Address)。地址从0开始,顺序地每次加1。在机器里,地址也是用二进制数来表示的,为无符号整数,书写格式为十六进制数。因为每个存储单元都有一个唯一的地址,按着存储单元的地址进行译码,从而唯一找到某个存储单元,对该单元进行读写操作,这个过程称为对内存寻址。例如,8088/8086CPU的内存地址编排为00000H、00001H、…、FFFFFH,共22°个存储单元,如图1.3所示。虽然内存单元的内容与内存单元的地址在表现形式上都是二进制数,但本质上它们是两个完全不同的概念。图1.3中,内存单元的地址是00028H和00029H,而对应其内容4cH和F9H。分别表示为(00028H):4cH,(00029H)=F9H,(3)内存的基本操作存储器的基本操作分为读操作和写操作两种。从存储单元取出数据称为“读,,操作。存储器读是非破坏性的,也就是说,从某个单元取出其内容后,该单元仍然保存着原来的内容,可以重复取出。把数据装入存储单元予以存放的操作称为存储器“写”操作,存储器写是破坏性的,也就是说,对某个存储单元写入新的数据之后,该单元原来存放的数据就被冲掉(丢失)了。三、输入设备(InputDevice)和输出设备(OutputDevice)二者合称为外部设备,简称I/O设备。输入设备是把程序、数据、命令转换成计算机所能识别接受的信息,输入给计算机。常用的输入设备有键盘、鼠标器、扫描仪、模/数转换器等;输出设备把CPU计算和处理的结果转换成人们易于理解和阅读的形式,输出到外部。常用的输出设备有打印机、绘图仪、CRT显示器、数/模转换器等。磁盘、磁带既是输入设备,又是输出设备,而多数光盘是只读的,只能作输入设备。四、输入输出接口(I/OInterface)CPU要与多个外部设备进行数据交换、信息传递,但是CPU不能直接与外部设备相连接。为了解决CPU和外部设备之间的速度配合、信号变换、负载匹配等问题,保证主机与外部设备正确可靠地进行数据交换,CPU与外部设备之间的中间控制电路称为输入输出接口电路,简称I/O接口电路,又称为I/O适配器。CPU必须通过“I/O接口”才能与外部设备交换数据,所以输入输出接口是CPU与外设之间信息传送的桥梁。上述四大部分构成计算机的实体,称为计算机的硬件。微型计算机硬件系统的连接结构微型计算机的硬件包括微处理器MPU、内部存储器、I/O接口电路及相应的外部设备。MPU、半导体存储器和I/O接口,一般都是集成电路芯片,它们是如何连接,形成一个整体系统,这就涉及微机系统的结构问题。微机系统的结构就是构成系统的各个部件进行连接的方式。典型的微机系统的结构如图14所示。微型计算机采用总线结构,构成微机的各个逻辑部件是用系统总线连接起来的。图1-4 微机系统的结构图总线(BUS)就是把多个装置或功能部件连接起来,用于各功能部件之间信息传送和数据交换的一组公共通信线路。在CPU、存储器、I/O接口之间传输信息的公共通信线路称为系统总线。由图1.4可以看出,系统总线将构成微型机的各个部件连接到一起,实现微型机内部各部件间的信息交换。它们可以是带状的扁平电缆线,也可以是印刷电路板上的一层极薄的金属连线。概括地说,根据所传送信息的内容与作用不同,可将系统总线分为3类,即地址总线、数据总线和控制总线。这些总线提供了微处理器(CPU)与存储器、输入输出接口部件的连接线。可以认为,一台微型计算机就是以CPU为核心。其他部件通过三态门全都“挂接”在与CPU相连接的系统总线上,这样的结构为组成一个微型计算机系统带来了方便。人们可以根据自己的需要,将规模不一的内存和接口接到系统总线上。需要内存大、接口多时,可多接一些;需要少时,可少接一些,很容易构成各种规模的微型机。有了总线结构以后,系统中各功能部件之同的相互关系变为各个部件面向总线的单一关系。一个部件只要满足总线标准,就可以连接到采用这种总线标准的系统中去。总线(AddressBus)地址总线是单向输出、三态控制,简称为AB。CPU利用地址总线输出地址信号,以寻址存储器单元和外设接口,即向存储器或I/O接口输出地址信息(地址编号),与数据总线相结合,用以确定数据的来源和数据的目的。地址总线宽度因微处理器MPU而异,它的数目决定了外接存储器最大的存储容量。例如Z80CPU共有16条地址线A15〜A0,其中A15为地址信号的最高位,A0为地址信号的最低位。内存空间的大小受地址总线位数的限制。如8位微型计算机的地址总线是16位的,其状态组合为2:内存空间的最大容量为2nB=65536B(64KB),对应的地址范围为POOOH-FFFFH。8086CPU共有20条地址线A19〜A0,其寻址范围为1MB(1O24KB),对应的地址范围为OOOOOH-FFFFFH,如图1-5所示。地址总线是三态的,可以处于高阻态,让外部控制器占用。二、数据总线(DataBus)双向、三态控制,简称为DB,用于在CPU与存储器和I/O接口之间传输数据信息。CPU可以通过数据总线DB从内存或输入设备读入数据,又可通过DB把数据送到内存和输出设备,因此是双向的。8位机的数据总线是8位(D7~D0)。8086为16位机,其数据总线则是16位(D15—DO),准16位机8088的内部数据总线为16位,而外部数据总线是8位。三、控制总线(ControlBus)图1-58086寻址的地址范围三态控制,简称为CB,用于传送各种控制命令信号、时序信号和状态信息。控制总线CB中的每一根线都有一种固定的作用和方向,其中有的线是CPU向存储器和I/O接口发出的(CPU的输出信号),如读(RD)、写(WR)命令信号,有的线是外部向CPU发来的信号(CPU的输入信号),如外设向CPU发来的中断请求信号。CB中的每一根线的传输方向是单一的,但是CB作为一个整体来看是双向的。所以,在后续章节中,各种结构图凡涉及控制总线CB,都以双向线表示。(Jt处理器

(Jt处理器

(MPU),微型计算J

机(MC),运算器ALU控制器CU•寄存圈阵列内部存储器一RAM,ROMI输入输出接口,Mt机硬件I输入设备——9ft•扫描仪,Mt机硬件I输出改备——CRT显示器、打印机、蛉图仪等外部设备外部存储圈一软盘'硬盘、光微岖动甥等过程控制I/O通道——A/D.D/A转换器〔通信设备微型计真机系统(MCS) I电源及其他辅肋设备,操作系统监控系统,系统软件J各种语言的汇编和编译系统I工具软件数据库管理系统〈微机软件< '各种诊断程序等,应用软件<工程设计程序,应用软件<工程设计程序\数据处理程序等图1-6微型计算机系统的组成微型计算机的软件系统计算机的硬件系统是一个为执行程序建立的物理实体,它是计算机工作的物质基础,称为裸机或硬核。没有软件的计算机只是裸机,计算机无法工作。软件相当于计算机的灵魂。微型机的软件是为运行、管理、测试和维护计算机而编制的各种程序的总和以及用程序编写的各种文件,统称为软件。依据功能的不同,软件可分为系统软件和应用软件两大类。为使用和管理计算机而编制的各种软件统称为系统软件,它通常是厂商作为机器产品与硬件同时提供给用户的。系统软件包括操作系统(DOS及WINDOWS、UNIX、LINUX等)和系统应用程序。系统应用程序包括各种语言的汇编、编译程序、自诊断程序、文字处理程序、各种工具软件、数据库管理系统等,这些软件不是用来解决具体应用问题的,而是利用计算机自身的功能,合理地组织解题流程,管理计算机软硬件各种资源,提供人机间的接口,从而简化或代替各环节中人所承担的工作。还可为用户使用机器提供方便,扩大机器功能,提高工作效率。有了系统软件,才能发挥微型机系统的硬件功能,并为用户使用计算机提供方便。应用软件是由用户利用计算机及其系统软件编制的为解决各种实际应用问题的程序,例如数控机床的插补程序、伺服系统的控制程序等。对应用微机的人员来说,除了必要的硬件接口设计外,其主要工作便是应用程序的开发。目前,应用软件已逐步标准化、模块化和商品化。由上可知,一个计算机系统是硬件和软件相结合的统一整体。图1-6表示了微型计算机系统的组成和软硬件的关系。每一个具体的微机系统所配置的软件和硬件的种类和数量,是根据机器的规模、应用场合及对其性能的综合要求等因素来确定的。确定系统配置的基本原则是满足使用要求,且兼顾微型机的近期发展。微型计算机的分类微型计算机(Microcomputer)简称为MC(或pC)。以微处理器为核心,通过总线(BUS)把I/O接口电路、CPU和半导体存储器(ROM、RAM)有机地组合在一起,即构成一台微型计算机。微型计算机按字长分类,可分为1位、4位、8位、16位、32位和64位机。按组装的结构不同,微机可分为:单扳机、单片机、多板机、个人计算机(PC机)。一、单片机(Single-boardMicroComputer)单板机是一种将微处理器、存储器、I/O接口电路、简单外设(键盘、数码显示器)以及监控程序固件(ROM)等部件安装在•块印制电路板上构成的低档微机,其功能•般比较简单。单板机具有结构紧凑、使用简单、成本低等特点,常应用于工业控制以及教学实验等领域。二、单片机(Single-chipMicroComputer或MicroControlkrUnit)又称为微控制器,简称为MCU。将CPU、ROM、RAM(数量有限)和I/O接口电路以及内部系统总线等全部集中在一块大规模集成电路芯片上,这样一个集成块就构成一个具备基本功能的计算机,称为单片机。近年来推出的高档单片机除了增强基本微机功能以外,还集成了一些特殊功能单元,如A/D、D/A转换器,DMA控制器,通信控制器等。它具有超小型、高可靠性和价廉等优点,在智能仪器仪表、工业实时控制、智能终端和家用电器等众多领域有广泛的应用。目前国内较流行的单片机有MCS—51系列、MCS—96系列和Motorola680k6805等。三、多板机为了满足较高层次的需求,往往需要扩展单板机的功能。为此,许多公司设计了功能各异的扩展板供用户选用,以扩展应用系统的能力。这种由多块印制板构成的微机称为多板机。四、个人计算机(PC机)PC机是一种将一块主机母板(含有微处理器、内存、I/O接口等芯片)、若干I/O接口卡、外部存储器、电源等部件组装在一个机箱内,并配置显示器、键盘,打印机等基本外部设备所组成的计算机。PC机具有功能强、配置灵活、软件丰富等特点,广泛应用于办公、商业、科研等领域,是一种使用最普遍的通用微机。微型计算机系统(MicroComputerSystem)简称为MCS(或pCS),或称为系统机。微型计算机配上外部设备和各种丰富的系统软件,就构成一个微机系统。例如,IBMPC/XT/AT机就是主机配以键盘作为输入设备,CRT显示器作为输出设备,配备软磁盘、硬磁盘驱动器及其适配器扩展板扩展了外存,还配备了DOS操作系统而构成的一个微机系统。任何一种可以工作的微机都是配备了必不可少的软、硬件资源的系统机。真正直接供人们使用的是微型计算机系统,人们经常把微型计算机系统俗称为微型计算机。微处理器、微型计算机和微型计算机系统这三者的概念和含义是不同的。1.3.3多媒体计算机(Multimedia)能处理和提供文图声像等各种媒体形式信.息、具有多媒体功能的计算机系统称为多媒体计算机。随着微机技术的高速发展,多媒体技术也广泛应用于计算机领域。多媒体技术是以计算机技术为基础,使用计算机通信技术(电话、传真等)、大众传媒技术(报纸、广播、电视),使计算机能交互式地处理、传输和管理数据、符号、图像、语音、视频、音频等多种媒体信息,是一种综合性的技术。多媒体也就是文、图、声、像等单媒体与计算机程序融合在一起形成的信息传播媒体。它并非多种信息表现形式的简单集合,而是指一种可以存储、处理、传递各种不同表现形式信息的实体,实际上是一个能处理和提供文图声像等各种形式信息的计算机系统,其中应用最广泛、最基本的是多媒体个人计算机(MultimediaPersonalComputer,简称MPC)。同时具有视(动态)、听特性的媒体,如视频、全活动影像(Full-Motion,Movie)等,是多媒体技术的一个重要发展方向。多媒体计算机(MPC)是在通用PC机的基础上,增加了多媒体设备和多媒体软件构成的。在普通台式机的基础上,增加了多媒体设备;就构成了多媒体计算机的硬件系统。它是在PC机的基础上,融合高质量的图形、立体声、动画等媒体而组成的系统。微型计算机的基础知识二进制编码与机器数一、二进制编码、真值与机器数一般地说,用文字、符号或数码串表示特定对象、信号和状态的过程,都可称为编码。例如,给孩子取名字,给学生编学号等,都是编码。用二进制数码串表示有关对象、信号和状态的过程称为二进制编码。二进制编码的实质是将一组对象、信号和状态与同等数量的不同的二进制数码串一一对应起来,使后者成为前者的替代物。通过编码,使每一个对象、信号和状态都对应一个二进制数码串,使不同的对象、信号和状态对应不同的二进制数码串,从这个意义上讲,编码的次序是无关紧要的,编码的方案是多种多样的,只要给每个对象、信号和状态分配一个有别于其他对象、信号和状态的二进制数码串就可以了。但在实际应用中,人们总是使编出的代码与被编码的对象、信号和状态尽量多地保持一致,或者尽量按照一定的规律编码,使编出的代码具有某种物理含义,透过代码能了解到被编码的对象、信号和状态的某种物理特征。经过编码以后,每个对象、信号和状态的代码(二进制数码串)就将作为整体而存在,作为整体被使用,其各个部分是不可分割的。在计算机内进行二进制编码时,应根据对象、信号和状态的个数确定最少需使用的二进制数码的位数,或者根据可用的二进制数码的位数确定最多可编码的对象、信号和状态的个数。n位二进制数码能组成2n个不同的二进制数码串,最多可用来编码2n个不同的对象、信号和状态。欲对M个不同的对象、信号和状态进行编码,可用公式2~M确定最少需使用的二进制数码的位数n。当2“=M时,n位数码所组成的二进制数码串刚好能编码M个对象、信号和状态,当2、M时,一定有多余的二进制数码串,这些多余的二进制数码串称为冗余码。对固定的n和M,冗余码的个数是确定的,但将哪些二进制数码串作为冗余码则完全是人为规定的。计算机只能识别数码0和1,计算机内只能存储数码。或1,因此,一切数据(如逻辑量、无符号数、带符号数、字母、符号等)在计算机内表示时都必须进行二进制编码。二进制编码的过程就是在计算机内表示数据的过程,数据的二进制编码就是数据的机内表示形式。计算机内不存在数据的原始形式(如逻辑量、无符号数、带符号数、字母、符号等),只存在二进制数码串,这些二进制数码串的含义完全由编码的过程决定。在计算机内,数的小数点和数的正、负号一样,通常也不用二进制数码串单独表示,而是和数本身一起作为整体被编码,因此,计算机内表示数时没有小数点,小数点的位置是约定的、隐含的。有的计算机只能表示整数,可认为小数点固定在表示整数的数码串最低位之后。有的计算机只能表示带符号纯小数,可认为小数点固定在表示小数的数码串最高位之后。小数点位置固定的整数计算机称为定点整数计算机,其中的数称为定点整数。小数点位置固定的纯小数计算机称为定点(纯)小数计算机,其中的数称为定点(纯)小数。定点整数和定点小数统称定点数(参见图1-7).定点整数计算机和定点小数计算机统称定点计算机。定点整数定点小数图1-7定点整数和定点小数现代计算机一般都能表示一种定点数(定点整数或者定点小数),还能以整数和小数都可使用的形式表示实数。表示实数时小数点位置是浮动的,这样的计算机称为浮点计算机,小数点位置可浮动的数称为浮点数。数据在计算机内的表示形式称为机器数,被机器数表示的原来的数称为机器数的真值。真值是数据的原始形式,可写成各种进位制,整数部分高位的0可以省,小数部分低位的0可以省。机器数是二进制编码,它作为不可分的整体存在于计算机内部,一般只能写成二进制数码串的形式,高位的。和低位的0都不能省。有时也将机器数缩写为十六进制形式,那也仅仅是一种简化的表示方法,必须将每个十六进制数码看成四位二进制数码,其中的0也不能省。真值与机器数都可看成数。真值是人们所熟知的真正的数,可带有小数点和正、负号,定点数和浮点数有明显的区别。机器数是二进制数码串,它有两种含义:一方面它是所对应的真值的编码,代表真值的值,另一方面可从整体上将它看成无符号二进制整数,其值就是该二进制整数的值。例如,在8位定点整数计算机中,如果用机器数11111111表示-1,那么,11111111一方面代表真值-1,另一方面它自己也有值:无符号数255。在机器数内,真值的正、负号已经数值化,小数点的位置是隐含的。本书主要讨论定点整数和定点整数计算机,但会简单而完整地介绍定点小数和浮点数。二、机器数的模任何实除的数字系统(例如数字仪表)中的数都是机器数,任何机器数都有计数的范围,在这个范围内,系统能正常计数,超过这个范围,系统会自动丢掉(添上)最高位的进位(借位)回到初始状态,从头开始计数。例如,12小时的钟表计时系统只能表示00〜11共12个数,正计数时达到12会自动丢掉12,再到01,倒计数时达到00会自动添上12,再到H,在这种意义下,12可视为零。再例如,4位十进制数字式里程表只能表示0000〜9999共10000个数,正计数时达到10000会自动丢掉10000,再到0001,倒计数时达到0000会自动添上10000,再到9999,在这里,10000可视为零。在计算机中也是这样,8位定点整数计算机能表示OOOOOOOOB~11111111B共256个数,正计数时达到100000000B会自动丢掉100000000B,再到00000001B,倒计数时达到00000000B会自动添上100000000B,再到11111111B,在这里,100000000B可视为零。数字系统中数的最高位的进位值(或借位值)称为该数字系统的模数,简称模。在上述例子中,钟表计时系统内是1位十二进制整数,进位值(或借位值)是12,模就是12。数字式里程表内是4位十进制整数,最高位的进位值(或借位值)是10:模就是10,计算机内是8位二进制整数,最高位的进位值(或借位值)是2',模就是2:实际上,模就是比数字系统内数的最高位还高一位的那一位的权值。该权值与机器数隐含的小数点位置有关,由每个机器数的整数位数决定。例如,n位定点整数计算机的模为2:n位定点小数计算机的模为2。模在计数过程中会自动丢掉(或自动添上),模的机器数和机器数零相同。因此,在计算机内,模可视为零,零也可看作模。模就是其本身不为零但其机器数为零的那个最小的数。计算机是有模的数字系统,其中的运算都是有模的运算。有的运算需要将模视为零,有的运算需要将模视为最末一位的1,也有的运算只能将模视为它自己。在n位定点整数计算机中,将模21'视为零的运算可标记为mod2*1,习惯上称为模2」的运算,其含义是将运算结果取除以2n-l时的余数,就是将最高位的进位丢弃(或者将最高位的借位添上);将棋2n视为1的运算就是将2U视为零的运算,可标记为mod2>,习惯上称为模2。1的运算,其含义是将运算结果取除以2。1时的余数,就是将最高位的进位加到最低位(或者将最高位的借位从最低位减去)。显然,在模为2n的计算机中,mod211的运算相对简单,可自动完成,mod2n-l的运算比较复杂,需要采用“循环进位''的方法才能完成。二进制数的按位四则运算实际上是将2视为零的运算,习惯上称为模2的运算,可标记为mod2,含义是将每一位的运算结果都取除以2时的余数,就是将每一位的进位都丢弃(或者将每一位的借位都添上)。这时,二进制数的每一位都是一个独立的机器数。机器数中最高位的进位或借位如不特意保留就会自动丢失,但最高位的进位或借位对于判断结果的正确性常常是重要的,不能随便丢弃不管,因此,计算机中都用•个元器件保存最高位的进位位或借位位,以供检测,判断或计算时使用。本书用[X]表示真值X的机器数,并假设例子中的机器数都是8位(特别说明的除外)。三、减法与加法的互换,机器数的相反数(补码)1、在有模的数字系统中,减法与加法可互相转换。在有模的数字系统中,可利用模能被自动丢掉的特点将减法转换为加法,也可将加法转换为减法,转换后的计算结果与转换前的计算结果相同。例如,在钟表计时系统中,减5与加7(7=12-5,12为系统的模)是一回事;在4位十进制里程表中,减2与加9998(9998=10000-2,10000为系统的模)的结果也相同;在n位定点整数计算机中,减k同样可以用加上2n—kQ"为系统的模)来代替。这里,5与7的和、2与9998的和、k与2lk的和都分别等于各自的模。如果将模视为零,就可分别写成:-5=+7,+5=-7(mod12)-2=+9998,+2=-9998(mod10000)-k:+(2n-k),-k=-(2n-k)(mod2n)这就是说,在任何有模的数字系统中,减去•个数都可用加上模与该数之差来代替,加上一个数也可用减去模与该数之差来代替。如果设数字系统中的数(机器数)为[X],就可写成 -[X]:+(模-[X])或+[X]=-(模-[X])模减去机器数所得到的新机器数称为原机器数对模的补数,零减去机器数所得到的新机器数称为原机器数的相反数。因为模的机器数等于机器数零,所以,机器数的相反数就是机器数对模的补数,机器数对模的补数就是机器数的相反数,两者是一回事。但机器数的相反数和真值的相反数却是完全不同的两个概念。机器数[X]的相反数(补数)可记为-IX],也可写为模-[X]或。-[X],但不一定能写为[0HX],因为零的机器数不一定等于机器数零。显然、每个机器数都有自己的相反数(补数),机器数的相反数(补数)仍为机器数,机器数与其相反数(补数)之和等于模(零),两个和为模(零)的机器数互为相反数(补数)。如果能求得机器数的相反数〈补数),就可将减法转换为加法,也可将加法转换为减法。2、在有模的二进制数字系统中,可简单地求得机器数的相反数(补数)。在有模的二进制数字系统中,设[X]为任意一个n位二进制机器数,用[X]表示对[X]的每一位都求反(即0变1,1变0),则-[X]=[X]+1即:将机器数的各位求反后再在最低位上加1就能得到机器数的相反数(补数)。例1.1对8位机器数凶,11001101,有[X]+l=11001101+1=00110010+1:00110011-[X]=0-[X];00000000-1001101=00110011两者的结果相同。这就是说,对二进制机器数,可用“求反加尸的方法求得其相反数(补数),因此,在计算机中可很简单地将减法转换为加法,或者将加法转换为减法:-pq=+([X]+i)或+[X]=-(pq+1)现代计算机都是将减法转换为加法来做,不是将加法转换为减法来作。因此,计算机内只要有求反、移位及做加法的电路,就可完成加、减、乘、除运算。当然,这些运算都是对机器数的运算,运算的结果仍为机器数。(3)加、减法转换时,最高位的借位情况与进位情况恰好相反:若减法无借位,则对应的加法一定有进位:若减法有借位,则对应的加法一定无进位。四、溢出的概念在计算机中,机器数的位数是确定的,它所能表示的数的个数是有限的,数的范围也一定有限,任何参于运算的数及运算结果都不应超出这个范围,如果超出这个范围,计算机就无法正确地表示了,这时,机器数表示的数与实际的正确结果就会不一致,我们就说发生了溢出。如果运算结果大于机器数所能表示的数的最大值,称为上溢,如果运算结果小于机器数所能表示的数的最小值,称为下溢。不同类型的数据在计算机内表示时的表数范围是不同的,发生溢出时的具体数值也是不同的,但只要发生溢出,就一定会导致错误的结果,因此,任何一种运算都不应发生溢出,任何计算机都必须有检测是否发生溢出的手段与部件,当溢出发生时,能视不同的情况设置不同的标志位,或者能进行必要的处理。溢出和最高位产生进位(借位)是不同的概念。最高位的进位(借位)是对机器数而言,是将机器数看作无符号数运算时最高位产生的进位(借位),其值为机器数的模,是一个权值,与机器数所代表的真值的类型无关。溢出是真值的特性,是因真值的运算结果超过了机器数能表示的真值的范围造成的,与真值的类型有关,不同类型的数据发生溢出时的值一般是不同的。1.4.2逻辑量的编码逻辑量是对只有两种状态的物理量的数学抽象。逻辑量的值只能是“真''或"假”,经数值化后成为0或1。逻辑量也有逻辑常量和逻辑变量之分,逻辑量之间的关系也有逻辑函数和逻辑表达式的概念,它们的定义都与代数量的同名定义相类似。在计算机内通常都用1位二进制数码表示一个逻辑量:可以用数码0表示''真",数码1表示“假”,也可用数码1表示“真”,数码。表示“假现代计算机大多采用后一种表示法,本书也采用后一种表示法,即:数码1表示''真",数码。表示“假例如,计算机内运算时的溢出和最高位的进位就可看成两个逻辑量,溢出=1表示发生了溢出,溢出=0表示未发生溢出:进位=1表示机器数的最高位产生了进位,进位:0表示机器数的最高位没有产生进位。逻辑量的机器数与其真值在形式上是一样的,都是0、1,但前者是编码,后者是数值。1.4.3符号数的真值不带符号的数是数的绝对值,在绝对值前加上表示正负的符号就成了符号数。直接用符号“+”和符号来表示其正负的二进制数叫做符号数的真值。通常在计算集中,一个数的最高位为符号位,若字长为8位,即D7为符号位,D6〜D0为数字位,符号位用"0”表示证,用“1”表示负如:X=(01010110)2=+86X=(11010110)2=-86把符号数值化以后,就能将它用于机器中。机器中使用的符号数移为机器数,有符号数和数值两部分组成。除了符号数值化以外,机器数的特点还有字长一定,运算精度有限,以及必须规定小时点的位置等。常用的机器数有原码,补码和反码三种形式。1.4.4数的定点和浮点表示在计算机中,对小数点的处理方法有两种,因而机器数也有定点数和浮点数之分。一、定点数定点制,指存数装置小数点的位置固定不变。用这种定点装置表示的数,称为定点数。一般来说,小数点可以固定在任何数位后面,但最常用的定点数有下列两种:1,纯小数:小数点固定在符号位之后,如:1.101011纯正数:小数点固定在最低位之后,如:101011所有定点机中,用得最多的是纯小数型的定点数,它的表示方法如下:1514131211109876543210这是一个16位的寄存器,最后位(15)为符号位,小数点固定在15和14位之间,即在数值部分的最高位之前。定点计算机的线路简单,但使用不方便。因为:(1)、所有原始数据都要用比例银子化成戊小数或整数,计算结果又要用比例银子折算出实际值。(2)、如除去符号位外的字长为(n-1),作为定点整数,它能表示的最大绝对值是2"T-l,最小绝对值时1.作为小数最大值是],最小绝对值是在计算过程中,中间结果若超过最大绝对值,机器就耍溢出,叫做上溢,这时就要调整比例因子。中间结果如小于最小绝对值,计算机只能把它当成0处理,这叫做下溢。对于复杂的计算,中间结果的大小是很难准确估计的,所以计算中时常需要多次调整比例因子。二、浮点数所谓浮点制,指存数装置小数点的位置补是固定不变的,其实际位置将随阶码而浮动。用这种装置表示的数称为浮点数。浮点数由阶码和尾码两部分组成。对任意一个带符号的二进制数N的普遍形式是:N=±S*2士"S-二进制小数,称“尾数”。2-阶码的“底”。P-称为数N的阶码,或简称“阶”,采用二进制整数表示。1514131211 109876543210在浮点机中,阶码表示为数的符号同样用“0”代表正,"1”代表负,因此,一个数需要用两组数码表示,--组表示带符号的尾数,一组表示带符号的阶码。阶的正负实际上是指示小数点的实际位置,当阶码是正n阶,尾数小数点向右移n位;当阶码是负的n阶,则尾数小数点向左移n位,尾数的正负才表示整个是正数还是负数,在大多数计算机中,都把尾数规定为纯小数,即小数点在尾数的前面,但小数点在数中的实际位置还要根据阶码才能决定。1.4.5计算机中数的表示1、原码将数的真值形式中的正负号拥戴码0或1来表示是叫做数的原码形式,简称原码。例1.2 X=(+85)10=+1010101[X])ft=01010101X=(-85)10=-1010101[X]原=11010101若字长为N位,原码一般可表示为:0]原=X0<X<(2n-1-1)

2"-1-X1-2"<X0]原=当X位正数时[X]成和X一样,即[XL=X.当X为负数时[X]原=2"-X由于X本身为负数,所以,实际上时将凶数值部分绝对值前面的符号位上写成力”即可。原码表示法比较直观,但它的加法运算比较复杂。当两数相加时,机器首先要判断两数的符号是否相同,如果相同,则两数相加,若不同,则两数相减,在做减法之前,还要判断两数绝对值的大小,然后用大数减去小数,最后在确定差的符号。要实现这些操作,电路久很复杂,为了把减法变成加法进行运算,就要借助与数的反码和补码表示法。2、补码为了克服原码运算的缺点,采用另外的两种符号数的表示法,即补码和反码。使用补码和反码,可以用加法来代替减法,完全消除了加法和减法的界限,这就是设备大大筒化,另一方面符号为业和数值部分一起参加运算,不再需要专门处理符号的附加设备了。假设北京时间是6点整,手表确是8点,比北京时间快了2小时,校准的方法有两种,一种是倒拨2小时,一种正拨10小时,若规定倒拨是做减法,正拨是作加法,那么对手表来讲,减2与加10是等价的,也就是说减2可以用加10来实现。这是因为8加10等于18,然而,手表最大只能指示12,当大于12时,12自然丢失,10减2就只剩F6个,者说明减法在一定条件下,是可以用加法代替的,这里“12”称为模,10称为“-2”对模(12)的补数,将他们用数学表达式则为:8-2=(8+10)-12=610+816式中,,模”12可以看作是向高位的进位。由此得出,求两个正整数8-2之差,可以用加上减数(2)的补数(10),然后舍去进位来实现,补数(10)就是模(12)与减数(2)的负数之和。推广到一般则有A-B=A+(・B+M)=A+(-B)可见,在模为M的条件下,A减B,可以用A加上-B的补数来实现。这里模可视为计数器的容量。计算机中的部件都有固定的位数,设定位数为N,则计数数值为2n,计数器容量为2",因此计算机中的补码是以"2"'’为模。补码定义(XQ<X<(2"-1-1)2"+X-2"-'<X<0是以2"为模得补码,也称为对2得补码。补码有如下几个简单性质:当X为正数时,补码和原码相同,当X为负数时,负数的补码等于2"+X=2"-|X|[+0]补和[-0]补是相同的,所以在补码表示中,“0”的表示是唯一的。字长为n位得补码,可以表示的数X的范围为:2n-1<X<2n*1(2)求补码的方法正数得补码就是它本身,等于原码,只有负数在有求补的问题。(a)根据定义求:X=2"+X=2"-|X| X<0即负数X的补码等于模2"加上其真值。(或减去其真值的绝对值)如:X=-1010111 (n=8)[X]»=28+[-1010111]=28-|-10101111=10000000-1010111=10101001

这种方法因为要做一次减法,很不方便。利用原码求:符号位除外,求反加1计算机通常是将原码数值部分按位求反,即力''变"0","0”变“1”,在最底位加1,来求补码,而符号位不变。例1.3 X=-1010101,[x]K=-110010101则以]补="]0101011,即[-1010101]K=[l]1010101[1]0101010求反+ 1[X]»=[1]0101011如果将[X],卜再求补一次,即将[X]*卜除符号位以外求反再加1,就得到[[x[,如果已知道[X、=XnXn-lXn-2Xn-3……X,那么对[X]k的每一位(包括符号位)都按为求反,然后再加1,结果即为[-X]*,由[X],卜求[-X]*,通常算变补。3、补码运算:带符号数的运算的基本原则如下:(a)数的最后位是符号位,0表正数,1表负数,把符号位也看成数一起参与运算;(b)参与运算的数都用补码表示,正数是它本身,负数用补码表示为:2"+X=2n-1+(2"-'-[X])对于补码的加减法可用公式表示PC]»+[±Y].=[X土Y]朴即两数相加减法可用两数补码加减法来实现,结果以补码表示,0表示正数,1表示负数4、反码对原码除符号位外,逐位求反,可得到机器数的另一种表示法,即反码表示法。反码定义为:[X]=(2[X]=(2n-1)+X1-2"4X40反码是以(2"-1)为模表示的补码也称为对1的补码。例:X=(+33)10pC]B=00100001,[X]反=00100001X=(-33)10 [X] 10100001,[X]R=110111101.5微型计算机中常用数制及其转换数与数制数:衡量事物的多少的一种表示方法。数制:按一定规律计数的规则。系数:表示一个数的一组数字或符号中,各位数上的数字。权:用数字或符号表示一个数时,它所具有的位值。一、十进制记数法例1.43758可表示为: (3758)10=3*103+7*102+5*101+8*10°式中1()3,io2,io1,10°分别称为各位的权。即,一个数的值可用每位上的数乘以该位的权而后相加得到对小数同样适用如(275.368)10=2*1()2+7*1()1+5*10°+9*10-1+6*10-2+8*10-3-ntN=K*10"+K*10n-,+ +&*l(y+Kn*10°+……+K*10一叫=\K*Wn n-i i u in ii-n二、二进制记数法二进制数只有0和1两个数码,她的计数规则是“逢二进一”同样,数码的位置不同,所代表的数值大小也不同。二进制数种的任何一个0和1称为比特(bit)任意二进制数B都可以写成以2为底的累的和式:B=B,*2n+B,*2n-1+……+B*2'+……+8 =>瓦*2'i-n式中m,n位正整数,n为小数点左面的位数减1,m为小数点右面的位数。Bi是0和1两个数码中的任意一个,它由B决定。括号内的2称为二进位计数制的基数。三、二进制数与十进制数的相互转换1、二进制数转换成十进制数二进制数转换成十进制数用加权法。如十进制数转换成二进制数(写整数和小数两种情况,两种情况不同。)对于十进制数整数,可用除2取余法。例如,将(27)U)转换为二进制数:2L27 余1 (%)2L13 余1 (4)2L6 余0 (%)2L3 余 1 (Z?3)2L1 余 1 (%)0于是得到(27)10=(11011)2=(&b3b24b0)对于十进制小数,可用乘2取整数例1.5将0.5625转换为二进制小数,0.5625* 21.1250 整数部分为1»* 20.2500 整数部分为00.5000 整数部分为0* 21.0 整数部分为1四、八进制计数法表示十六进制计数法比较二进制数和卜进制数的数学表达式,我们可以得出任意Q进制数的R的数学表达式:K=K“(Q)"+K"T(。尸+……+4画+K。(。)°+跖(0尸+……+仁(°尸=2匕*(。)'i=n式中m,n位正整数,n为小数点左面的位数减1,m为小数点右面的位数,Q是十进制数的基数,Ri可以是Q个数码中的任意一个,它由R决定。显然当Q=8时,它就是八进制数,Ki可以是0,1,2,3,4,5,6,7,八个数码中的任意•个,它的基数是8,计数规则是“逢八进一”。对于任意一个八进制数K均可以写成以8位底的'幕的和式:(K)8=K"(8)”+&-(8)"-,……+&(8>+K。(8)°+K_I(8尸+……+K_m(8)-=-m£匕*(8丫i-n当Q=16它就是十六进制数。Ki可以是0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F分别表示10,11,12,13,14,15,它的计数是16,计数规则是“逢十六进一”对任意一个十六进制数R,均可写成16为底的事的和式:(K)16=K.(16)"+K"T(16尸+...+&(吩+勺(16)°+跖(16)-'+...+/C_m(16)-=ZK,*(16),i-n1.5.2 十进制与十六进制、八进制的互相转换。一、八进制、十六进制转换为十进制不论八进制或十六进制转换为十进制数,只要按权展开并相加,就是所要转换的十进制数。二、十进制数转换成八进制、十六进制上面讨论的卜进制式转换成二进制数的原理和方法,同样适用于十进制数与八进制数,十六进制数。例1.6 (6766.49)10 >(2A4.7D7)16先转换整数部分,用“除十六取余”的方法:16L676 得余数416L42 得余数A161—2 得余数2即(676)10=(2A4)16再转换小数部分,用“乘十六取整”的方法。0.49* 167.84 整数部分为7o0.84* 1613.44 整数部分为D0.44* 167.04 整数部分为07.-.(O.49)lo=(O.7D7 )16三、二进制数与十六进制数、八进制数的互相转换由于二进制数的权值2,和十六进制数得权值(16'=2'),八进制的权值(8'=23,)之间具有整数倍数关系,即一位十六进制数相当于四位二进制数,一位八进制数相当于三位二进制数,故它们之间转换十分简单。例1.7将八进制数712.46转换为二进制数,其过程如下:(7 1 2 . 4 6)8(111 001

温馨提示

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

评论

0/150

提交评论