课件制作人:刘永华微机原理与接口技术第1章概述课件制作人:刘永华第1章概述*1.1微型计算机基本构成1.1.1硬件系统1.1.2软件系统1.1.3微型计算机的工作过程*1.2数据表示与运算1.2.1进位计数制与不同基数制之间的转换1.2.2二进制数和十六进制数运算1.2.3数据表示1.2.4定点数与浮点数课件制作人:刘永华第1章概述*1.3计算机语言基本概念1.3.1机器语言1.3.2汇编语言1.3.3高级语言*1.4微机接口基本概念1.4.1接口的定义1.4.2为什么要专门研究接口1.4.3接口的分类课件制作人:刘永华1.1微型计算机基本构成1.1.1硬件系统微型计算机的硬件系统概念框图如图1.1所示。图1.1微型计算机硬件系统概念框图课件制作人:刘永华1.1微型计算机基本构成微型计算机主要由如下几个部分组成:微处理器或称中央处理单元(CPU)、内部存储器(简称内存)、输入/输出接口(简称接口)及系统总线。1.CPUCPU是一个复杂的电子逻辑元件,它包含了早期计算机中的运算器、控制器及其他功能,能进行算术、逻辑及控制操作。2.内存顾名思义,所谓内存就是指微型计算机内部的存储器。课件制作人:刘永华1.1微型计算机基本构成3.系统总线所谓系统总线就是用来传送信息的一组通信线。由图1.1可以看到系统总线将构成微型计算机的各个部件连接到一起,实现了微型计算机内部各部件间的信息交换。由于这种总线在微型计算机内部,故也将系统总线称为内总线。4.接口微型计算机广泛地应用于各个部门和领域,所连接的外部设备是各式各样的。它们不仅要求不同的电平、电流,而且要求不同的速率,有时还要考虑是模拟信号,还是数字信号。课件制作人:刘永华1.1微型计算机基本构成1.1.2软件系统1.系统软件系统软件用来对构成微型计算机的各部分硬件,如CPU、内存、各种外设进行管理和协调,使它们有条不紊、高效率地工作。2.应用软件应用软件是针对不同应用、实现用户要求的功能软件。例如,Internet网点上的Web页、各部门的MIS(管理信息系统)程序、CIMS(计算机集成制造系统)中的应用软件以及生产过程中的监测控制程序等。课件制作人:刘永华1.1微型计算机基本构成1.1.3微型计算机的工作过程CPU进行简单的算术运算或逻辑运算,如从存储器取数、将数据存放于存储器,或由接口取数、向接口送数。这些都是一些基本操作,也称为CPU的操作。例如用微型计算机求解“7+10=?”这样一个极为简单的问题时,必须利用指令告诉计算机该做的每一个步骤,先做什么,后做什么。具体步骤就是:7→ALAL+10→AL其含义就是把7这个数送到AL里面,然后将AL中的7和10相加,把获得的结果存放在AL里。课件制作人:刘永华1.2数据表示与运算1.2.1进位计数制与不同基数制之间的转换1.二进制数、八进制数和十六进制数1)二进制数日常生活中我们一般采用十进制进行计数,但计算机只能识别0、1代码,也就是说计算机采用二进制进行计数。二进制数只有0、1两个数码,其基数为2,遵循逢二进一的原则,它的第k位权以2k表示。二进制数anan-1…a0×b-1b-2…b-m的值是:an×2n+an-1×2n-1+…+a0×20+b-1×2-1+b-2×2-2+…+b-m×2-m课件制作人:刘永华1.2数据表示与运算中an、bm为0、1两个数码中的1个。二进制的描述是在其尾部加注字母B,例如:10100101B=1×27+0×26+1×25+0×24+0×23+1×22+0×21+1×20=128+32+4+1=165N位二进制数可以表示2N个数。例如3位二进制数可以表示8个数,如表1.1所示。课件制作人:刘永华1.2数据表示与运算中an、bm为0、1两个数码中的1个。二进制的描述是在其尾部加注字母B,例如:10100101B=1×27+0×26+1×25+0×24+0×23+1×22+0×21+1×20=128+32+4+1=165N位二进制数可以表示2N个数。例如3位二进制数可以表示8个数,如表1.1所示。课件制作人:刘永华1.2数据表示与运算二进制数000001010011100101110111相应的十进制数01234567表1.13位二进制与十进制数对应表课件制作人:刘永华1.2数据表示与运算二进制数00000001001000110100010101100111相应的十进制数01234567二进制数10001001101010111100110111101111相应的十进制数891011121314154位二进制数则表示十进制的0~15共16个数,如表1.2所示。表1.24位二进制与十进制数对应表课件制作人:刘永华1.2数据表示与运算从表1.2可以看出位数越多二进制数越长,不便于人们阅读、书写和记忆,因此人们经常使用八进制数或十六进制数来表示二进制数。它们的基数和数码表示如表1.3所示。2)八进制数八进制数有0、1、2、3、4、5、6、7八个数码,其基数为8,遵循逢八进一的原则,它的第k位权以8k表示。八进制数的描述是在其尾部加注字母O或Q。八进制数anan-1…a0×b-1b-2…b-m的值是:an×8n+an-1×8n-1+…+a0×80+b-1×8-1+b-2×8-2+…+b-m×8-m例如:534Q=5×82+3×81+4×80=5×64+3×8+4×1=348课件制作人:刘永华1.2数据表示与运算3)十六进制数十六进制数有0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F十六个数码,其中A、B、C、D、E、F表示10到15六个数码,其基数为16,遵循逢十六进一的原则,它的第k位权以16k表示。十六进制的描述是在其尾部加注字母H。十六进制数anan-1…a0×b-1b-2…b-m的值是:an×16n+an-1×16n-1+…+a0×160+b-1×16-1+b-2×16-2+…+b-m×16-m例如:2ACH=2×162+10×161+12×160=2×256+10×16+12×1=684表1.3列出了几种常用的进位制的基数和数码。课件制作人:刘永华1.2数据表示与运算进位计数制基数数码十六进制数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表1.3几种常用的进位制的基数和数码课件制作人:刘永华1.2数据表示与运算2.不同基数制之间的转换1)非十进制数转换为十进制数各非十进制数码乘以与其对应的权之和即为该数对应的十进制数。例如:1011100.1011B=1×26+1×24+1×23+1×22+1×2-1+1×2-3+1×2-4=92.6875DA031H=10×163+3×161+1×160=410091001Q=1×83+1×80=513课件制作人:刘永华1.2数据表示与运算2)十进制数转换为非十进制数十进制数转换为非十进制数,一般整数部分采用除基数取余法,小数部分采用乘基数取整法。除基数取余法的具体操作是把待转换的十进制数的整数部分不断除以要转换为的非十进制基数,并记下余数,直到商为0时为止;乘基数取整法的具体操作是把待转换的十进制数的小数部分不断乘以要转换为的非十进制基数,逐次记下乘积整数部分的值,直到小数部分为0为止。现以十进制数转换为二进制数为例进行说明,二进制数的“基数”为2,就成了除2取余法和乘2取整法,即对整数部分的处理是把待转换的十进制数的整数部分不断除以2,并记下余数,直到商为0时为止;对小数部分的转换是把待转换的十进制数的小数部分不断乘以2,逐次记下乘积整数部分的值,直到小数部分为0为止。课件制作人:刘永华1.2数据表示与运算【例1.1】将N=137.8125D转换为二进制数。整数部分为137D,按除2取余法有:137/2=68(a0=1)68/2=34(a1=0)34/2=17(a2=0)17/2=8(a3=1)8/2=4(a4=0)4/2=2(a5=0)2/2=1(a6=0)课件制作人:刘永华1.2数据表示与运算1/2=0(a7=1)故137D=10001001B小数部分为0.8125D,按乘2取整法有:0.8125×2=1.625(b-1=1)0.625×2=1.25(b-2=1)0.25×2=0.5(b-3=0)0.5×2=1.0(b-4=1)故0.8125D=0.1101B所以N=137.8125D=10001001.1101B十进制数转换为十六进制数和八进制数的方法与十进制数转换为二进制数的方法类同。课件制作人:刘永华1.2数据表示与运算3)十六进制数与二进制数之间的转换因为16=24,所以一个十六进制数中的每一位可以用4位二进制数表示,便可形成相应的二进制数。【例1.2】CB9A1100101110011010即CB9AH=1100101110011010B反之,二进制数只要把它从低位到高位每4位组成一组,再用十六进制数来表示就可以了。【例1.3】011101011011111175BF即0111010110111111B=75BFH课件制作人:刘永华1.2数据表示与运算1.2.2二进制数和十六进制数运算1.二进制数的运算加法规则:乘法规则:0+0=00×0=00+1=10×1=01+0=11×0=01+1=10(1为进位)1×1=1课件制作人:刘永华1.2数据表示与运算2.十六进制数的运算1)十六进制加法十六进制数的运算按照逢十六进一的规则进行,即当两个1位数之和S小于16时,与十进制数同样处理,如两个1位数之和S≤16时,则应该用S-16及进位1来取代S。【例1.4】15C3H+3D45H5308H2)十六进制数的减法与十进制数类似,够减时可以直接相减,不够减时服从向高位借1为16的规则。【例1.5】3DA6H-0FC3H2DE3H课件制作人:刘永华1.2数据表示与运算1.2.3数据表示计算机内的数据有多种形式,其中最主要的是数值数据和字符数据。1.数值数据的表示数值数据可以用不同的码制来表示,常用的有原码、补码和反码表示法。由于加减运算时补码表示法的符号位可以参加运算,而且不影响运算结果的正确性,所以多数机器的有符号整数都采用补码表示法。这里只介绍补码表示法。课件制作人:刘永华1.2数据表示与运算1)数的补码表示(1)补码表示法中正数的表示正数采用符号-绝对值法表示,即数的最高有效位为0表示符号为正,数的其余部分则表示数的绝对值。例如:假设机器字长为8位,则[+0]补=00000000B[+1]补=00000001B[+100]补=01100100B课件制作人:刘永华1.2数据表示与运算(2)补码表示法中负数的表示用补码表示法来表示负数时可以采用“求反加1”的方法来完成:先写出与该负数相对应的正数的补码表示(用符号-绝对值法),然后将其按位求反(即0变为1,1变为0),最后在末位(最低位)加1,就可以得到该负数的补码表示了。【例1.6】机器字长为8位,写出N=-27的补码表示。+27D可表示为00011011按位求反为11100100末位加1后为11100101用十六进制数表示为E5H。即[-27]补=E5H。课件制作人:刘永华1.2数据表示与运算【例1.7】机器字长为16位,写出N=-32768的补码表示。32768D可表示为1000000000000000按位求反为0111111111111111末位加1后为1000000000000000用十六进制数表示为8000即[-32768]补=8000H课件制作人:刘永华1.2数据表示与运算(3)数的表示范围①有符号数的表示范围一般说来,n位二进制补码表示的数的表示范围是:-2n-1≤N≤2n-1-18位二进制数可以表示28=256个数。因为在补码表示法中0只有一种表示,即000