第一章微型计算机沈阳工业大学微型计算机原理课题组本章内容发展、应用微处理器、微型计算机、微型计算机系统带符号数、原码、反码、补码本章重点微处理器、微型计算机、微型计算机系统之间的区别带符号数的表示、真值、机器码、原码、反码、补码数制之间的转换带符号数的运算、BCD码、ASCII码1.1微型计算机的发展和应用•1946年,世界上出现第一台数字式电子计算机ENIAC(电子数据和计算器)•发展到以大规模集成电路为主要部件的第四代,产生了微型计算机。•1971年,Intel公司设计了世界上第一个微处理器芯片Intel4004,开创了一个全新的计算机时代。1.1微型计算机的发展和应用•1946年,世界上出现第一台数字式电子计算机ENIAC(电子数据和计算器)•发展到以大规模集成电路为主要部件的第四代,产生了微型计算机。•1971年,Intel公司设计了世界上第一个微处理器芯片Intel4004,开创了一个全新的计算机时代。1.1.1电子计算机的发展自1946年电子计算机ENIAC诞生,电子计算机的发展经历了四个时代:•电子管•晶体管•集成电路•超大规模集成电路:集成度增加、运算速度增加、体积缩小1.1.2微型计算机的发展及应用•第1代:4位和低档8位微机4004→4040→8008•第2代:中高档8位微机Z80、I8085、M6800,Apple-II微机•第3代:16位微机8086→8088→80286,IBMPC系列机•第4代:32位微机和64位微机–80386→80486→Pentium→PentiumII→PentiumIII→Pentium4–32位PC机、Macintosh机、PS/2机–Itanium、64位RISC微处理器芯片微机服务器、工程工作站、图形工作站1.1.3微型计算机的应用•由于微型计算机具有如下特点–体积小、价格低–工作可靠、使用方便、通用性强……•计算机应用通常分成如下各个领域–科学计算,数据处理,实时控制–计算机辅助设计,人工智能,……•归纳为两个主要应用方向:1.1.3微型计算机的应用(续)•用于数值计算、数据处理及信息管理方向–通用微机,例如:PC微机–功能越强越好、使用越方便越好•用于过程控制及智能化仪器仪表方向–专用微机,例如:单片机、工控机–可靠性高、实时性强–程序相对简单、处理数据量小注:单片机:将CPU以及其他主要部件(如ROM、RAM、I/O接口)都集成在一个微处理器芯片中常用的MCS-51、MCS-961.2微型计算机的系统内部总线运算器控制单元寄存器地址加法器缓冲器内存储器I/O接口电路系统总线外部设备电源软件系统微处理器微型计算机微型计算机系统区别1.2.1微型计算机系统——软件系统操作系统MS-DOS汇编程序MASM和LINK文本编辑程序EDIT.COM调试程序DEBUG.EXE为什么采用汇编语言?1.2.2微型计算机——系统组成微型计算机由CPU、存储器、输入输出接口电路和系统总线构成。图1.1微型计算机的系统组成1.2.2微型计算机——系统总线•微机系统采用总线结构连接系统功能部件•CPU总线包含三种不同功能的总线:1.数据总线DB(databus):传输数据数据总线上传送的一定是数据吗?2.地址总线AB(addressbus):传送地址信息3.控制总线CB(controlbus):传输控制信号思考思考题答案•数据总线上传送的一定是数据吗?答:在微型机中,数据的含义也是广义的。数据总线上传送的不一定是真正的数据,还有可能是指令代码、状态量或控制量1.2.2微型计算机——系统总线(续)•地址总线AB–输出将要访问的内存单元或I/O端口的地址–地址线的多少决定了系统直接寻址存储器的范围•数据总线DB–CPU读操作时,外部数据通过数据总线送往CPU–CPU写操作时,CPU数据通过数据总线送往外部–数据线的多少决定了一次能够传送数据的位数•控制总线CB–协调系统中各部件的操作,有输出控制、输入状态等信号–控制总线决定了系统总线的特点,例如功能、适应性等1.2.3微处理器——概念•微处理器(Microprocessor)是微型机算计的运算及控制部件,也称为中央处理单元(CPU)。它本身不构成独立的工作系统,因而它也不能独立地执行程序。1.2.3微处理器——功能CPU功能:·可以进行算术和逻辑运算·可保存较少量数据·能对指令进行译码并执行规定的动作;·能和存储器、外设交换数据·提供整个系统所需要的定时和控制·可以响应其他部件发来的中断请求1.2.3微处理器——结构CPU在内部结构上包含下面这些部分:·算术逻辑部件;·累加器和通用寄存器组;·控制部件;·内部总线。1.2.3微处理器——主要性能指标•字长•主频•存储容量•运算速度1.3计算机中的数的表示存储容量的表达比特b(二进制1位)字节B(二进制8位)1KB=210B=1024B1MB=220B、1GB=230B进制的表示二进制数:结尾用字母B或(01011101)2十进制数:可不用结尾字母,也可用D或(26)10十六进制数:结尾用字母H或(1A19)161.3.1数制及转换•1、数制•2、各种数制的相互转换1、数制•(1)十进制数•(2)二进制数•(3)十六进制数(1)十进制数(Decimal)•①具有10个数字符号0,1,2,···,9;•②由低位向高位进位是按“逢10进1”的规则进行的•③基数为10,第i位的权为10i。其中i=n,n-1,···,2,1,0,-1,-2,···规定整数最低位的位序号i=0。•例:(6543.21)10=6543.21D=6×103+5×102+4×101+3×100+2×10-1+1×10-2(2)二进制数(Binary)•①具有2个数字符号0,1;•②由低位向高位进位是按“逢2进1”的规则进行的;•③基数为2,第i位的权为2i。•其中i=n,n-1,···,2,1,0,-1,-2,···•规定整数最低位的位序号i=0•例:(1010.101)2•=1010.101BΧ=1×23+0×22+1×21+0×20+1×2-1+0×2-2+1×2-3(3)十六进制数(Hexadecimal)•1、具有16个数字符号0,1,2,···,9,A,B,C,D,E,F;•2、由低位向高位进位是按“逢16进1”的规则进行的;•3、基数为16,第i位的权为16i。•其中i=n,n-1,···,2,1,0,-1,-2,···•规定整数最低位的位序号i=0•例:(19BF.ABE)16•=19BF.ABEH•=1×163+9×162+11×161+15×160+10×16-1+11×16-2+14×16-32、各种数制的相互转换•(1)二进制、十六进制转换为十进制•(2)十进制转换为二进制•(3)二进制转换为十六进制(1)二进制、十六进制转换为十进制•按权展开求和。•如:①10101.101B•=1×24+1×22+1×20+1×2-1+1×2-3•=16+4+1+0.5+0.125•=21.625D•②19B.ABH•=1×162+9×161+11×160+10×16-1+11×16-2•=256+144+11+0.625+0.04296875•=411.66796875D(2)十进制转换为二进制•①整数部分•②小数部分(3)二进制与十六进制之间的转换•四位二进制数正好等于一位十六进制数00011111B1(1×20=1)2(1×21=2)4(1×22=4)8(1×23=8)16(1×24=16)四位二进制与一位十六进制数的对应关系四位二进制数一位十六进制数0000B1001B1000B5H4H3H2H6H0H0010B0011B0100B0101B0110B7H0111B1111B1110B1101B1100B1011B1010BCHBHAH9H8H1HDHEHFH0001B四位二进制数一位十六进制数二进制转换为十六进制数•例:1110110101100.10101B=?H1110110101100.101010001110110101100.101010001DAC.A8↓↓↓↓↓↓1110110101100.10101B=1DAC.A8H十六进制转换为二进制数•例:39F.E1AH=?B39F.E1A001110011111.111000011010↓↓↓↓↓↓=1110011111.11100001101B39F.E1AH=001110011111.111000011010B①整数部分——除2取余法•例:19D=?B高低余数19D=所以,我们可以得到:10011B19÷2=9…19÷2=4…14÷2=2…02÷2=1…01÷2=0…1②小数部分——乘2取整法•例:0.625D=?B0.625×2=1.25…10.25×2=0.5…00.5×2=1.0…1低高整数0.625D=所以我们可以得到:0.101B二、计算机中的数及编码•1、机器数与真值•2、带符号数、无符号数•3、原码、补码及反码•4、真值与补码之间的转换•5、补码的运算•6、二进制编码1、机器数与真值•(1)在计算机中数是用二进制数来表示的。•(高电平代表“1”,低电平代表“0”)•(2)数的符号在计算机中也是用二进制数表示的。•“+”用“0”表示,“-”用“1”表示。•例:有两个数:真值机器数N1=+1101001N2=-1101001在计算机中的表示形式:N1:01101001N2:111010012、带符号数、无符号数•(1)带符号数•用0表示正数,用1表示负数,这种表示数的方法,称为带符号数的表示方法,所表示的数称为带符号数。•带符号数的表示形式:•①+22②-221001011000010110符号位数值部分符号位数值部分2、带符号数、无符号数•(2)无符号数•如果把全部有效位都用来表示数的大小,即没有符号位,这种方法表示的数,叫无符号数。•无符号数表示形式:•①22②15010010110000101108位全部用来表示数值大小8位全部用来表示数值大小3、原码、反码及补码•思考:在计算机中一个数的大小和符号都用二进制来表示,那么在计算机中是如何进行运算的?•(1)原码•(2)反码•(3)补码思考?•在计算机中一个数的大小和符号都用二进制来表示,那么在计算机中是如何进行运算的?•例:有一个钟显示时间是6点钟,而正确时间是1点钟,请问如何校正这个钟?•方法1:顺时针拨7个钟;6+7→1•方法2:逆时针拨5个钟;6-5→1•引进概念——模概念—模•模一个计量器的容量,记为M,或modM。•模的特性——当一个计量器的模为M时,它在计量器里的表示形式与0一样,也就是说,M=0。•所以,对时钟来说,M=12:•方法1:6+7=13=12+1=0+1=1•方法2:6+7=6-5=1概念—模•同样,对一个n位二进制计数器,它的容量为2n,它的模为M=2n。•假设,n=8,则M=28=256。•也就是说对8位二进制计数器来说,256=000000000000000000→→8位计数器1256(1)原码•定义:一个数的原码就是该数的机器数。•①对正数•X=+X6X5X4X3X2X1X0(Xi=0或1)•则:[X]原码=0X6X5X4X3X2X1X0•②对负数•X=-X6X5X4X3X2X1X0(Xi=0或1)•则:[X]原=1X6X5X4X3X2X1X0(2)反码•定义:正数的反码就等于它的原码;•负数的反码就是它的原码除符号位外,•各位取反。①对正数X=+X6X5X4X3X2X1X0(Xi=0或1)•反码[X]反码=0X6X5X4X3X2X1X0②对负数X=-X6X5X4X3X2X1X0(Xi=0或1)反码[X]反码=0123456XXXXXXX1(2)反码•例:X1=+1001001X2=-1001001•则:•[X1]原=01001001[X2]原=11001001•[X1]反=01001001[X2]反=10110110(3)补码•定义:正数的补码就等于它的原码;•负数的补码就是它的反码加1。•①对正数X=+X6X5X4X3X2X