微机原理与汇编语言实用教程主编:王富荣第一章微型计算机系统概述计算机中所有的信息(如:数、字符、汉字、计算机的指令、状态等)都是用二进制数来表示的,利用二进制数进行操作和运算比较符合机器的特点。而在人们的日常生活中,表达及思维时,更习惯于使用十进制数,它是一般算术和数学的基础。在计算机中表达和描述某些内容时还常用到十六进制数。因此要深入地学习计算机系统,就必须熟练掌握计算机中的数制与编码。1.1计算机中的数制与编码第一章微型计算机系统概述1.1.1计算机中的数制及其转换1.进位计数制进位计数制是一种计数的方法,习惯上常用的是十进制计数法,在计算机中,常采用二进制数。二进制数的基数为2,每个二进制位只有0、1两个数码,且遵循“逢二进一、借一当二”的规则,各位数的权值为2k。为便于阅读与书写,还经常采用八进制数和十六进制数。第一章微型计算机系统概述表1.1几种常用的进位计数制的基数和数码进位计数制基数数码十六进制数160,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十进制数100,1,2,3,4,5,6,7,8,9八进制数80,1,2,3,4,5,6,7二进制数20,1第一章微型计算机系统概述2.进位计数制之间的转换1)二进制数和十进制数之间的转换(1)二进制数转换成十进制数方法:将每位二进制数码乘以与其对应的权值,再将乘积相加,所得之和即为对应的十进制数。例如:11010110B=127+126+124+122+121=128+64+16+4+2=214D第一章微型计算机系统概述(2)十进制数转换成二进制数①整数部分的转换将十进制数转换成二进制数的方法很多,整数部分的转换最常用的是“除2取余”法。具体做法是:将要转换的十进制整数不断除以2,并依次记下整除的余数,直到商为0时为止,然后按反序获得对应的二进制数。②小数部分的转换小数部分的转换常用乘2取整法。具体做法是将要转换的十进制小数不断乘以2,记下每次积的整数,直到积为零为止,若十进制小数不能用有限的二进制小数表示,则可根据需要取若干位近似值,最后按正序获得对应的二进制小数。第一章微型计算机系统概述2)十六进制数与二进制数、十进制数之间的转换(1)十六进制数的表示计算机中存储信息的基本单位为一个二进制位(Bit),它可以存储“0”或“1”数码。此外,由于计算机中常用的字符是采用由8位二进制数组成的一个字节(Byte)来表示的,因此字节也为计算机中存储信息的单位。字节可以用两个四位组(半字节)来表示,所以用十六进制数来表示二进制数是十分方便的。(2)二进制数转换成十六进制数二进制数转换成十六进制数,只需将二进制数以小数点为中心,向前或向后分别按每4位组成一组,若不足4位,那么整数部分前面用0补齐,小数部分后面用0补齐4位,然后每组找出对应的一位十六进制数即可。第一章微型计算机系统概述(3)十六进制数转换成二进制数十六进制数转换成二进制数,可以采用上面转换的逆过程,即将十六进制数的每个数码用对应的四位二进制数来表示即可。(4)十六进制数转换成十进制数方法:与二进制数转换成十进制数类似,只需将十六进制数的各位数码与对应权值相乘,其结果相加,所得之和即为对应的十进制数。(5)十进制数转换成十六进制数方法:与十进制数转换成二进制数类似。十进制整数转换十六进制数时,采用不断除以16取余;十进制小数转换时,则是采用不断乘以16取整。第一章微型计算机系统概述1.1.2计算机中的数据编码1.BCD码如前所述,计算机中是使用二进制代码工作的。但是在日常生活中,人们最熟悉最习惯的数制是十进制。为解决这一矛盾,提出了一个比较适合于十进制系统的二进制代码的特殊形式,即将1位十进制的0~9这十个数字分别用4位二进制码的组合来代表,在此基础上,可按位对任意十进制数进行编码。这就是二进制编码的十进制数,简称BCD(Binary-CodedDecimal)码。最常用的方法是8421BCD码,8、4、2、1分别是4位二进制数的权值。第一章微型计算机系统概述在计算机中,BCD码有两种基本格式:压缩型BCD码格式和非压缩型BCD码格式。压缩型BCD码用4位二进制数表示一个十进制数位,整个十进制数用一个顺序4位一组的二进制数来表示,1个字节表示两个十进制数位。如用8421BCD码表示十进制数2896为:0010100010010110非压缩型BCD码是以8位为一组表示一个十进制数位,8位中的低4位表示BCD码,而高4位则没有意义。仍用8421BCD码表示2896D应为:xxxx0010xxxx1000xxxx1001xxxx0110第一章微型计算机系统概述2.字符和汉字的编码在计算机内,任何信息(包括字母、数字、符号和汉字)都是用二进制代码表示的。一般情况下,计算机依靠输入设备把要输入的字符或汉字转换成为一定格式的二进制代码,然后才能接收。输出则是相反的过程,计算机首先要将输出的字符或汉字的二进制代码送到输出设备,然后再由输出设备转换处理后输出。由此看来,无论是输入字符还是输出字符,都必须对字符和汉字进行编码。第一章微型计算机系统概述1)字符编码目前,国际上使用的字符编码方案有多种,在微型计算机中普遍采用的是美国标准信息交换码,即ASCII码(AmericanStandardCodeforInformationInterchange)。ASCII码采用1个字节中低7位来表示字符编码,最高位(第7位)为0或用于奇偶校验位(ParityBit)。标准的ASCII码包括32个标点符号,10个阿拉伯数字,52个英文大、小写字母,34个控制符号,共128个字符。例如阿拉伯数字0~9的ASCII码分别为30H~39H,英文大写字母A、B、…、Z的ASCII码是从41H开始依次往下编排。第一章微型计算机系统概述2)汉字编码汉字是象形文字,一个汉字就是一个方块图形。计算机要对汉字信息进行处理,就必须对数目繁多的汉字进行编码,建立一个有几千汉字的编码表。汉字编码有内码和外码之分。外码(又称汉字的输入编码)是指汉字的输入方式,常用的输入编码有区位码、国标码、首尾码、拼音码、双拼双音码、五笔字形码、自然码、ABC码、郑码等。内码是计算机系统内部进行汉字信息的存储、交换、检索等操作的编码。汉字内码采用2B表示,没有重码,并要求与国标码有简单的对应关系。第一章微型计算机系统概述1.1.3计算机中数的表示计算机中的数是用二进制来表示的,数的符号也是用二进制表示的。把一个数连同其符号在内在机器中的表示加以数值化,这样的数称为机器数。一般用最高有效位来表示数的符号,正数用0表示,负数用1表示。机器数可以用不同的码制来表示,常用的有原码、补码和反码表示法。1.原码表示法原码表示法是一种最简单的机器数表示方法。编码规则为:保持机器数的数值不变,若是正数,最高位符号用“0”表示;若是负数,最高位符号用“1”表示。第一章微型计算机系统概述2.补码表示法为了解决异号两数相加或同号两数相减问题,引入了补码的概念。正数的补码与原码相同,即符号位用0表示,数值位值不变。负数的补码为反码加1形成。例:有符号数的补码表示。X=45=00101101B[X]补=00101101BX=-45[X]补=11010011B第一章微型计算机系统概述3.反码表示法反码的编码规则为:对于正数,保持机器数的数值部分不变,最高位加符号位“0”;对于负数,将其机器数的数值部分按位取反(1变为0,0变为1),最高位加符号位“1”。例:有符号数的反码表示。X=45=00101101B,[X]反=00101101BX=-45,[X]反=11010010B第一章微型计算机系统概述1.2计算机概述1.2.1计算机的产生与发展1946年2月,在美国宾夕法尼亚大学的莫尔学院,由物理学博士莫克利(J.W.Mauchly)和电气工程师埃克特(J.P.Eckert)领导的小组研制成了世界上第一台数字式电子计算机ENIAC(ElectronicNumericalIntegratorAndCalculator)。第一代(1946年~1957年)——采用电子管为逻辑部件第二代(1957年~1965年)——采用晶体管为逻辑部件第三代(1965年~1971年)——采用中小规模集成电路为主要部件第四代(1971年~至今)——采用大规模、超大规模集成电路为主要部件第一章微型计算机系统概述1.2.2微型计算机的发展微处理器(或称微处理机)是指一片或几片大规模集成电路组成的具有运算器和控制器功能的中央处理器(CPU)。而以大规模、超大规模集成电路为主要部件,微处理器为核心的的计算机则称微为型计算机。第一时期(1971年~1973年)——主要产品是4位和低档8位微型计算机。第二时期(1974年~1978年)——主要产品为中、高档8位微机。第三时期(1978年~1984年)——主要是16位处理器和微型机第四时期(1985年~1991年)——主要是32位高档微型机。第五时期(1992年~至今)——64位微处理器和高档微型机。第一章微型计算机系统概述1.2.3微型计算机的特点及应用1.微型计算机的特点冯·诺依曼体系结构在结构与性能上具有以下一些特点。(1)单一性特点(2)线性特点(3)低级语言控制(4)集中控制(5)自动连续运算(6)高速运行(7)高精度(8)存储与逻辑判断(9)通用性第一章微型计算机系统概述2.微型计算机的应用微型计算机具有体积小、价格低、工作稳定可靠、使用便捷等特点,其主要应用有以下几个方面。(1)数值计算(2)信息处理(3)过程控制(4)计算机辅助设计(5)人工智能第一章微型计算机系统概述1.2.4微型计算机发展新技术1.流水线技术2.高速缓存器3.虚拟存储技术4.微程序控制5.精简指令系统计算机6.多媒体技术7.多处理器系统第一章微型计算机系统概述1.3微型计算机系统的组成1.3.1微型计算机系统的3个层次及性能指标1.微型计算机系统的3个层次在微型计算机系统中存在着从局部到全局3个层次:微处理器——微型计算机——微型计算机系统。2.微型计算机系统的性能指标1)字长2)主存容量3)指令执行时间4)系统总线5)外围设备6)软件配置第一章微型计算机系统概述1.3.2微型计算机系统的组成1.微型计