收藏 分销(赏)

微机原理与接口技术(第3版)738页全书电子教案课件.ppt

上传人:快乐****生活 文档编号:12014092 上传时间:2025-08-27 格式:PPT 页数:738 大小:14.98MB 下载积分:25 金币
下载 相关 举报
微机原理与接口技术(第3版)738页全书电子教案课件.ppt_第1页
第1页 / 共738页
微机原理与接口技术(第3版)738页全书电子教案课件.ppt_第2页
第2页 / 共738页


点击查看更多>>
资源描述
,微型计算机系统知识,第,1,章 微型计算机基础知识,微型计算机系统的组成,微计算机型的基本工作原理,微型计算机数制及其转换,微型计算机发展概况,微型计算机中数的表示方法,微型计算机的技术指标,1.1,微型计算机发展概况,1.1.1,计算机的发展历程,1946,年,2,月,,在美国宾夕法尼亚大学的莫尔学院,由物理学博士莫克利,(J.W.Mauchly),和电气工程师埃克特,(J.P.Eckert),领导的小组研制成了世界上第一台数字式电子计算机,ENIAC(Electronic Numerical Integrator And Calculator),第一代,(1946,年,1957,年,),采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓作为存储手段;软件上则采用机器语言,后期采用汇编语言。,第二代,(1957,年,1965,年,),采用晶体管为逻辑部件,以磁芯、磁盘作为内存和外存;软件上则广泛采用高级语言,并出现了早期的操作系统。,第三代,(1965,年,1971,年,),采用中小规模集成电路为主要部件,以磁芯、半导体存储器和磁盘作为内、外存储器;软件上广泛使用操作系统,产生了分时、实时等操作系统和计算机网络。,第四代,(1971,年,至今,),采用大规模、超大规模集成电路为主要部件,以半导体存储器和磁盘作为内、外存储器;在软件方法上产生了结构化程序设计和面向对象程序设计的思想。另外,网络操作系统、数据库管理系统得到了广泛的应用。微处理器和微型计算机也在这一阶段诞生并获得飞速的发展。,自世界上第一台电子计算机诞生以来,计算机技术获得了飞速的发展,已经历了一代、二代、三代、四代发展的过程,目前正在研制第五代计算机,虽然在某些方面已有一些突破,但其基本结构仍未有大的改变。这四个发展阶段主要以硬件为标志,同时也包括了软件技术的发展。,1.1.2,微处理器的发展,从,1971,年第一片微处理器推出至今,30,多年的时间里,微处理器的发展经历了,5,代。,第一代微处理器,是以,4,位微处理器和低档,8,位微处理器为代表的,在,1971,年至,1972,年期间设计与生产。,第二代从,1973,年开始,,,上述许多生产厂家生产了多种型号的微处理器,其中设计最成功,应最广泛的是,Intel,公司的,8088/8085,,,ZiLog,公司的,Z80,,,Motorola,公司的,6800/6802,。,第三代从,1978,年开始,,,超大规模集成电路的工艺已经相当成熟,单个硅片上可容纳几万个晶体管。,第四代从,1981,年开始,。,半导体生产厂家继续提高集成电路的性能,在集成度、速度和性能方面取得了很大发展,相继出现了,Intel 80286,、,Motorola 68010,这样一些集成度高达,100000,管,/,片、时钟频率为,10MHZ,左右、平均指令执行时间约为,0.2,s,的,16,位高性能微处理器。,第五代,2000,年,11,月,,,Intel,推出了,64,位的微处理器芯片,Itanium,(中文名为安腾),从而,Intel,公司的微处理器芯片进入了,64,位时代。,发展过程中的一些典型的,CPU,芯片,经历了若干年的发展,微型计算机不仅数量众多,而且表现形式也各不相同。对微型计算机进行分类,可以从不同的角度进行。,1.1.3,微型计算机的分类,1,.,按数据线位数划分,2,.,按规模划分,按传统的划分方法,根据微机系统所使用的微处理器一次可以访问的数据的位数不同,微型计算机可分为,4,位机、,8,位机、,16,位机、,32,位机以及,64,位机。,按微型计算机的组织结构和规模,可分为单片机、单板机、个人计算机等,1.1.4,计算机的应用,(,1,)科学计算,(,2,)事务处理,(,3,)过程控制,(,4,)辅助工程,(,5,)人工智能,(,6,)网络应用,1.2,微型计算机系统的组成,微型计算机系统是由硬件(,hardware,)和软件(,software,)组成的。硬件是指各种设备,软件是指使用设备的手段。,1.2.1,微型计算机的硬件系统,微型计算机硬件系统由微处理器、存储器、输入设备、输出设备和总线组成。,1.2.2,微型计算机的软件系统,1,软件系统的层次结构,软件又可分为系统软件和应用软件两部分,系统软件是所有供用户使用的为解决用户使用计算机而编写的程序,2,三类编程语言,在编程中,人们最早使用机器语言。它使用最贴近机器硬件的二进制代码。接着出现了汇编语言,它使用助记符代替二进制代码,1.3,微型计算机系统的工作原理,微型计算机是在微处理器的控制下自动进行工作的,而微处理器发出控制的依据则是用户的程序指令,程序的执行,就,CPU,不断取指令和执行指令的过程,1.4,微型计算机数制及其转换,1.4.1,微型计算机常用数制的特点,1.,十进制数,(,1,)它的数码,K,共有十个,为,0,、,1,、,2,、,3,、,4,、,5,、,6,、,7,、,8,、,9,。数码的,个数称为基数,十进制数的基数是,10,。,(,2,)在一个数中,每一位有各自的权,任何一个十进制都可以写成以,10,为底的幂之和的形式。,(,3,)遵从“逢十进一”的原则。,N=(a,n-1,10,n-1,+a,n-2,10,n-2+,+,a,10,+a,-1,10,-1,+,+a,-m,10,-m,),例如:,(,11.51,),10,110,1,110,0,510,-,1,110,-,2,权 权 权 权,数码与权的乘积,称为加权系数,十进制数可表示为各位加权系数之和,称为按权展开式。,(246.134),10,=2,10,2,+4,10,1,+6,10,0,+1,10,-1,+3,10,-,2,+4,10,-,3,10,i,称为十进制的权,2.,二进制数,(,XXX,),2,或,(,XXX,),B,数,制:,0,、,1,进位规律:逢二进一,借一当二,权:,2,i,基数:,2,系数:,0,、,1,例如,0+1=1 1+1=10,11+1=100 10 1=1,按权展开式表示,(1011),2,=1,2,3,+0,2,2,+1,2,1,+1,2,0,将按权展开式按照十进制规律相加,即得对应十进制数,。,(1011.11),2,=1,2,3,+0,2,2,+1,2,1,+1,2,0,+1,2,-,1,+1,2,-,2,=8+0+2+1+0.5+0.25=11.75,(1011.11),2,=(11.75),10,N=(a,n-1,2,n-1,+a,n-2,2,n-2+,+,a,2,+a,-1,2,-1,+,+a,-m,2,-m,),例如(,1011.23,),2,或(,101123,),B,二进制是以,2,为基数的计数体制。在二进制中,,每位用数码,0,、,1,种的任何一个表示,逢二进一。,3.,八进制数,(,XXX,),8,或,(,XXX,),O,数,制:,0,、,1,、,2,、,3,、,4,、,5,、,6,、,7,进位规律:逢八进一,借一当八。,权:,8,i,基数:,8,N=(a,n-1,2,n-1,+a,n-2,2,n-2+,+,a,2,+a,-1,2,-1,+,+a,-m,2,-m,),八进制是以,8,为基数的计数体制。在八进制中,每位用数码,07,种的任何一个表示,逢八进一。,例如,(234.23),8,或,(234.23),O,4.,十六进制数,(XXX),16,或,(XXX),H,数码:,0,9,、,A,F,进位规律:逢十六进一,借一当十六。,权:,16,i,基数:,16,系数:,0,9,、,A,F,按权展开式表示,(,4E6,),16,=4 16,2,+E 16,1,+6 16,0,(,4E6,),16,=416,2,+14 16,1,+6 16,0,将按权展开式按照十进制规律相加,即得对应十进制数。,=,(,1254,),10,(,4E6,),16,=,(,1254,),10,例如,:(,4E6,),16,或(,4E6,),H,十六进制是以,16,为基数的计数体制。在十六进制中,每位用数码,09,、,A,、,B,、,C,、,D,、,E,、,F,种的任何一个表示,逢十六进一。,N=(a,n-1,16,n-1,+a,n-2,16,n-2+,+,a,16,+a,-1,16,-1,+,+a,-m,16,-m,),设基数用,R,表示,则任意进制数,N,为:,5.,任意进制数,N=(a,n-1,R,n-1,+a,n-2,R,n-2+,+,a,R,+a,-1,R,-1,+,+a,-m,R,-m,),上述几种任意进制数有以下共同特点:,(,1,)每一种计数制有一个确定的基数,R,每一位的系数,a,i,有,R,中可能的取值。,(,2,)按“逢,R,进一”的方式,在混合小数中,小数点右移一位相当于乘以,R,,小数点左移一位相当于除以,R,。,1.,R,进制转换为十进制,可以将非十进制写为按权展开式,得出其相加的结果,就是对应的十进制数,例,2,(11010),2,=1,2,4,+1,2,3,+0,2,2,+1,2,1,+0,2,0,=2,4,+2,3,+2,1,=(26),10,例,1,(111.01),2,=1,2,2,+1,2,1,+1,2,0,+0,2,-1,+1,2,-2,=2,2,+2,1,+,2,0,+2,-2,=(7.25),10,例,3,(174),16,=1,16,2,+7,16,1,+4,16,0,=256+112+4=(372),10,1.4.2,几种不同数制间的转换,N=(a,n-1,R,n-1,+a,n-2,R,n-2+,+,a,R,+a,-1,R,-1,+,+a,-m,R,-m,),2.,十进制转换为,R,进制,整数和小数分别转换,整数部分:除,2,取余法,小数部分:乘,2,取整法,例,1,将十进制数,(107),10,转换成二进制数,107,26,13,6,2,2,2,2,2,读数顺序,0.625,2,1,.250,1,2,0,.500,0,2,1,.,000,1,整数,读数顺序,一直除到商为,0,为止,(107),10,=,(1101011),2,1,1,0,1,例,2,将(,0.625,),10,转换为二进制数,(,0.625,),10,=,(,0.101,),2,1,)对于十进制整数的转换,2,)对于十进制小数的转换,3,0,1,余数,53,2,2,1,1,0,3,)二进制与八进制、十六进制的相互转换,由于,8=2,3,,因此从二进制的小数点数开始,向左每,3,位产生,1,个八进制数字,不足,3,位的左方补,0,,得到整数部分的八进制数;向右每,3,位产生,1,个八进制数字,不足,3,位的右方补,0,,得到小数部分的八进制数,。,二进制转换为八进制:,由于,16=2,4,,因此从二进制的小数点数开始,向左每,4,位产生,1,个十六进制数字,不足,4,位的左方补,0,,得到整数部分的十六进制数;向右每,4,位产生,1,个十六进制数字,不足,4,位的右方补,0,,得到小数部分的十六进制数。,二进制转换为十六进制:,1.5,微型计算机中数的表示方法,带有数码化了的正负号的数称为机器数。,机器数的最高位是其符号位,,0,表示正数,,1,表示负数。,例如:,0110 0010=+98,1110 0010=-98,1.5.1,机器数与真值,1.,原码,最高位为,0,表示正数,,1,表示负数,后面的各位为其数值,,这种数的表示方法称为原码。,但是若两个异号数相加或两个同号数相减时,必须作减法。,2.,反码,正数的反码与其原码相同,最高位为,0,表示正数,其余为数,值位。负数的反码是其对应的正数连同符号位按位取反求得。,(,+9,),反,=0000 1001,(,-9,),反,=1111 0111,(,+0,),反,=0000,0000,(,-0,),反,=1111,1111,1.5.2,原码、反码、补码,(,+127,),反,=0111 1111,(,-127,),反,=1000 0000,例如:,3.,补码,正数的补码与其反码相同,负数的补码是其反码加,1,。即,在其反码的最低位上加,1,得到。,例如:,(,+9,),补,=0000 1001,(,-9,),补,=1111 0111,(,+0,),补,=0000,0000,(,+127,),补,=0111 1111,(-127),补,=1000 0001,1.,补码的运算规则,引入补码后可以将减法变成加法。在八位字长的机器中,,第七位,b,7,的进位自然丢失。,例如:,X=98-10=98+(-10)=88,用补码表示则为(,x,),补,=,(,98,),补,+,(,-10,),补,=0110 0010+1111 0110,=10101 1000,故(,x,),补,=0101 1000,,则,x,=88,。,1.5.3,补码的运算规则与溢出判断,2.,溢出判断,补码是有一定范围的,,八位整数的范围是,+127,-128,。当运算结果超出该范围时,称为溢出。,例,1,:,64+67=131=1000 0111,。,例,2,:(,-64,),+,(,-67,),=-131,最高位的进位自然丢失,机器的运算结果为,0111 1001=121,,两个负数的和为正数,显然不对,因为,-131127,称为正向溢出。,(,-64,),补,+,(,-67,),补,=1100 0000+1011 1001,=1 0111 1001,1.,二,十进制代码,1.5.4,微型计算机的二进制编码,几种常用的二,-,十进制代码,十 进,制 数,有 权 码,无 权 码,8421,码,2421,码,余,3,码,0,4,1,2,5,3,6,8,7,9,0000,0010,0001,0100,0101,0110,0111,1000,1001,0011,0000,0010,0001,0100,0101,0110,0111,1110,1111,0011,0011,0101,0100,0111,1000,1001,1010,1011,1100,0110,1,),8421BCD,码:取,4,位二进制数的前,10,种组合。,每一种的权值是固定不变的,为恒权码。,从高到底的权值分别是,8,、,4,、,2,、,1,每组二进制代码各系数之和便为它所代表的十进制数。,2,),2421BCD,码:,是恒权码。从高位到低位的权值分别是,2,、,4,、,2,、,1,。,每组二进制代码,各系数之和便为它所代表的十进制数。,3,)余,3BCD,码:,2.,奇偶校验码,具有校验差错的能力。,1,的个数为奇数的称为奇校验;,1,的个数为偶数的称为偶校验。,为无权码。比,8421,码多余,3,(,0011,)。,8421,奇偶校验码,十 进,制 数,8421,奇校验码,8421,偶,校验码,校 验 码,信 息 码,0,4,1,2,5,3,6,8,7,9,0000,0010,0001,0100,0101,0110,0111,1000,1001,0011,1,0,0,0,1,1,0,0,1,1,0011,0101,0100,0111,1000,1001,1010,1011,1100,0110,信 息 码,校 验 码,0,1,1,1,0,0,1,1,0,0,1.6,微型计算机的技术指标,微型计算机的技术指标是对微机的综合说明,1,主机数据处理能力的指标,(,1,)字长,(,2,)内存容量,(,3,)存取周期,(,4,)运算速度,(,5,)主频,这五个指标着重说明了主机的数据处理能力,在加上总线、接口和外部设备等方面,形成一个综合说明的指标体系。,2,其它指标,(,1,)输入输出数据传输速率,(,2,)可靠性,(,3,)兼容性,任何一种计算机中,高档机总是低档机发展的结果,第,2,章,80 x86,微处理器的结构和功能,8086/8088,微处理器的结构和功能,80286,微处理器的结构和功能,80386,微处理器,80486,微处理器,从,Pentium,到,Intanium,2.1,8086/8088,微处理器的结构和功能,2.1.1,8086 CPU,概述,8086,的内部结构如图所示,其内部按功能可分为两大部分:,1.,总线接口单元,BIU,(,Bus Interface Unit,),2.,执行单元,EU,(,Execution Unit,),总线接口单元,BIU,是,8086,同存储器和,I/O,设备之间的接口部件,负责对全部引脚的操作,即,8086,所有对存储器和,I/O,设备的操作功能都是由,BIU,完成的。,执行单元,EU,主要负责执行指令,它包含一个,16,位的运算器,ALU,,八个,16,位的寄存器,一个,16,位标志寄存器,FLAGS,,一个数据暂存寄存器和执行单元的控制电路。这个单元进行所有指令的解释和执行,同时管理上述有关的寄存器。,执行部件,EU,总线接口部件,BIU,808,ALU,数据总线,外部总线,EU,控,制,器,器,AH AL,BH BL,CH CL,DH DL,SP,BP,DI,SI,暂存寄存器,ALU,标志寄存器,地址总线,20,位,CS,DS,SS,ES,IP,内部暂存器,1 2 3 4 5 6,总线,控制,逻,辑,8086,微处理器内部有,14,个,16,位寄存器,这,14,个寄存器分为三大类。,8086,寄存器,通用寄存器,数据寄存器,变址寄存器,指针寄存器,AX,累加器,BX,基数寄存器,CX,计数寄存器,DX,数据寄存器,SP,堆栈指针寄存器,BP,基址指针寄存器,SI,源变址寄存器,DI,目的变址寄存器,段,寄存器,CS,代码段寄存器,DS,数据段寄存器,SS,堆栈段寄存器,ES,附加段寄存器,控制寄存器,IP,指令指针寄存器,FLAG,标志寄存器,2.1.2,8086,寄存器结,构,1,、通用寄存器,通用寄存器用途比较广泛,一般用在算术和逻辑运算指令中,用来存放算术运算的源,/,目的操作数,某些通用寄存器还常用来存放存储器操作数的地址。通用寄存器共,8,个,包括数据寄存器,4,个,指针寄存器,2,个和变址寄存器,2,个。,(,1,)数据寄存器,数据寄存器有,4,个,这,4,个寄存器比较特殊,每个均既可作为,1,个,16,位寄存器,使用,又可作为两个,8,位寄存器使用。当用作,16,位时,称为,AX,、,BX,、,CX,、,DX,。,当用作,8,位时,高,8,位分别称为,AH,、,BH,、,CH,、,DH,,,低,8,位分别称为,AL,、,BL,、,CL,、,DL,。,(,2,)指针寄存器,指针寄存器有两个,均是,16,位寄存器。堆栈指针,SP,用以指出在堆栈操作中栈顶的位置,入栈(,PUSH,),和出栈(,POP,),指令要用到这一位置。基址指针,BP,指出要处理的数据在堆栈段中的基地址,故称为基址指针寄存器。,(,3,)变址寄存器,在字符串处理中,被处理的数据称为源操作数,它们的偏移地址存放在源变址寄存器,SI,中,而处理后的字符串的偏移地址则放在目的变址寄存器,DI,中。,注意,8,个,通用寄存器一般均可用来存放指令的操作数或保存运算结果,,但在某些操作中又必须专用某个寄存器,,如,I/O,操作时必须使用,AX,,,循环指令中必须使用,CX,。指针和变址实际上是相同的概念,都是存储单元地址,一般指令中用来存放存储单元的地址可作用,BX,、,BP,、,SI,、,DI,之一,但字符串操作指令中必须使用,SI,和,DI,,而堆栈操作中必须使用,SP,来存放栈顶单元地址。,2,、段寄存器,段寄存器是专用寄存器,用在存储器访问时存放段的基址。,3,、控制寄存器,(,1,)指令指针寄存器,指令指针寄存器,IP,中存放着下一条要取出指令的偏移地址,它具有自动加,1,功能,每取出,1B,的指令机器码,它就自动加,1,,使它指向下一个要取的内存单元。这个寄存器由,CPU,内部使用,,CPU,正是利用此寄存器才确保程序中的指令能依次执行。程序中不可访问此寄存器,但某些指令具有隐含改变,IP,的功能,如转移、循环、调用子程序等指令。,OF,溢出标志位:当补码运算有溢出时,,OF,为,1,;否则为,0,。,标志寄存器,FLAG,是,8086,的,1,个重要寄存器,它是按位使用的。标志寄存器共,16,位,,8086,中只使用了,9,位。,D8-D11,标志寄存器格式如下:,OF,DF,IF,TF,SF,ZF,AF,PF,CF,D,15,D,4,D,3,D,2,D,1,D,0,D,9,D,8,D,7,D,6,D,5,D,14,D,13,D,12,D,11,D,10,状态标志位有,6,位,,CPU,在执行完,1,条影响标志寄存器的指令中,依据运算结果的状态对这些进行填写,程序员可用相关指令查看状态标志位从而得知运算结果的某些特点。,控制标志位有,3,位,其作用是控制,CPU,执行程序的方式。程序员可用指令改变这些位的值,从而改变,CPU,运行程序的方式。,DF,方向标志位;用以指定字符串处理时的方向,当该位置,1,时,字符串以递减顺序处理,即地址以从高到低顺序递减。反之,则以递增顺序处理。,IF,中断允许标志位:用来控制,8086,是否允许接收外部可屏蔽中断请求。若,IF=1,,,8086,能响应外部可屏蔽中断请求,反之则不响应。,TF,跟踪标志位:是为调试程序而设定的陷井控制位。当该位置,1,时,,8086,处于单步状态,此时每执行完,1,条指令就自动产生,1,次内部中断。当该位复位后,,8086,恢复正常工作。,(,2,)标志寄存器,SF,符号标志位:它和运算结果的最高位相同。,标志寄存器,FLAG,是,8086,的,1,个重要寄存器,它是按位使用的。标志寄存器共,16,位,,8086,中只使用了,9,位。,D0,-,D7,标志寄存器格式如下:,OF,DF,IF,TF,SF,ZF,AF,PF,CF,D,15,D,4,D,3,D,2,D,1,D,0,D,9,D,8,D,7,D,6,D,5,D,14,D,13,D,12,D,11,D,10,状态标志位有,6,位,,CPU,在执行完,1,条影响标志寄存器的指令中,依据运算结果,的状态对这些进行填写,程序员可用相关指令查看状态标志位从而得知运算结果的,某些特点。,AF,辅助进位标志位:当执行,1,次加法(或减法)运算使结果的低,4,位向高,4,位(若为,16,位运算,则是低,8,位向高,8,位)有进位(或借位)时,,AF,为,1,;否则为,0,。该位是为,BCD,码运算的调整指令而设的。,ZF,零标志位:若当前的运算结果为零,,ZF,为,1,;否则为,0,。,PF,奇偶标志位:该标志位反映运算结果中,1,的个数是偶数还是奇数。当指令执行结果的低,8,位中含有偶数个,1,时,,PF,为,1,;否则为,0,。,CF,进,/,借位标志位:当执行,1,次加法(或减法)运算使最高位向前产生进位(或借位)时,,CF,为,1,;否则为,0,。,6,个,状态标志位的功能是:,CF,进,/,借位标志位:,当执行,1,次加法(或减法)运算使最高位向前产生进位,(或借位)时,,CF,为,1,;否则为,0,。,PF,奇偶标志位,:,该标志位反映运算结果中,1,的个数是偶数还是奇数。当指令,执行结果的低,8,位中含有偶数个,1,时,,PF,为,1,;否则为,0,。,AF,辅助进位标志位,:,当执行,1,次加法(或减法)运算使结果的低,4,位向高,4,位,(若为,16,位运算,则是低,8,位向高,8,位)有进位(或借位)时,,AF,为,1,;否则为,0,。,该位是为,BCD,码运算的调整指令而设的。,ZF,零标志位,:,若当前的运算结果为零,,ZF,为,1,;否则为,0,。,SF,符号标志位,:,它和运算结果的最高位相同。,OF,溢出标志位,:,当补码运算有溢出时,,OF,为,1,;否则为,0,。,01100100 (+100),01100100 (+100),+,11001000,10101011 (-85),11111111 (-1),+,110101010,D7,向前无进位,故运算后,CF=0,;结果超过了,+127,,有溢出,故,OF=1,D7,向前有进位,故运算后,CF=1,;结果不小于,-128,,无溢出,故,OF=0,进位标志用于无符号数的运算,而溢出标志用于带符号数的运算。注意不要混淆。,DF,方向标志位;,用以指定字符串处理时的方向,当该位置,1,时,字符串以递减顺序处理,即地址以从高到低顺序递减。反之,则以递增顺序处理。,IF,中断允许标志位:,用来控制,8086,是否允许接收外部可屏蔽中断请求。,若,IF=1,,,8086,能响应外部可屏蔽中断请求,反之则不响应。,TF,跟踪标志位:,是为调试程序而设定的陷井控制位。当该位置,1,时,,8086,处于单步状态,此时每执行完,1,条指令就自动产生,1,次内部中断。当该位复位后,,8086,恢复正常工作。,3,个控制标志位的功能是:,2.1.3,8086/8088,存储器,1,.,存储器的逻辑结构,3AH,6DH,00000H,00001H,00002H,00003H,00004H,FFFFEH,FFFFFH,A,0,A,1,A,2,A,18,A,19,地 址 译 码 器,每个存储器单元可存放,1B,的数据,即,8,位二进制数。每个存储单元要有,1,个惟一地址,以作为,CPU,访问时的标识。当,CPU,要访问某个存储单元时,,CPU,在地址总线上放上目标存储单元的地址,经过地址译码器译码,即可找到相应的单元。,存储器结构示意图,在,8086/8088,系统中,,1,个多字节数据在内存中的存放规则为:高字节占高地址,低字节占低地址,并且用最低字节的地址代表这个数的地址。,8086/8088,CPU,有,20,条地址线,因而其发出的地址信号是,20,位二进制数,由于每个地址对应,1,个存储单元,故存储单元的地址也是,20,位二进制数(由于,20,位二进制数写起来太长,所以人们一般改用等价的十六进制表示,即,5,位十六进制数)。,20,位二进制数可表示,2,20,=1MB,,,因而,8086/8088,系统中存储单元的个数最多为,1MB,,,即,8086/8088,的寻址空间为,1MB,。,内存分段使用方案:,分段,,即将,1MB,的内存从逻辑上分为若干个小块,每个小块称为,1,个段。分段,是逻辑上的概念,不是将内存硬件进行了物理分隔,所以不同的程序可以使用不同,的的分段方法,而不会对物理内存造成影响。,分段以后,对每个段的存储单元用,16,位数从,0,开始重新进行编址,这个地址称为,段内偏移量,简称为偏移量。,16,位二进制数最多能寻址的空间为,2,16,=64KB,,,故,1,个段,不能多于,64K,个存储单元。当段长度达到,64KB,时,偏移量的范围从,0000HFFFFH,。,段,内,偏移量是,16,位的,解决了运算和存储的问题,但它仅描述了,1,个存储单元距,离段内首单元的位置偏移,并不能用来绝对定位,1,个存储单元。但若知道了段内首,单元的,20,位物理地址,配合偏移量则可实现对段内任一存储单元的绝对定位。,2.,存储器的分段,第,1,条规则,第,2,条规则:,1,个段,只有,1,个段基址,但每个单元各有自己的偏移量。,1,个段必须从物理地址的最末,4,位二进制数全为,0,(即十六进制数最末,1,位数为,0,),的单元开始。这样,段首单元只有前,16,位需要描述,这,16,位数称为段基址。,段基址后再补上,4,个,0,(即乘以十六进制的,10H,),就是这个段首单元的物理地址。,00000H,00001H,12340H,FFFFEH,FFFFFH,0000H,0001H,0002H,FFFFH,存储器分段,物理地址,这,4,位为段基址,偏移量,程序中用来描述存储单元位置的地址称为逻辑地址。,逻辑地址的表示:,段基址:偏移量,如,1234,:,0000H,,,1234,:,0001H,等。,由于逻辑地址是两个,16,位数,可分别被,CPU,所存储或运算。,CPU,最终必须使用物理地址来访问存储器。,逻辑地址向物理地址的转换公式:,物理地址,=,段基址,10H +,偏移量,例如,:逻辑地址,1234,:,0001H,表示的存储单元的物理地址为:,1234,10H+0001H =12341H,(,1,)段的长度,=64K,(,2,)段只能从物理地址低,4,位二进制数全为,0,的单元开始。,分段的规则:,8080/8088,有,4,个段寄存器,其作用就是专门用来存放段基址。,3.,段寄存器的使用,得出:,(,1,)内存可分为多个段。,(,2,)段长度可在,1 64,K,个单元之间。,(,3,)段之间可以重叠,重叠部分的存储单元将有两个或更多个逻辑地址,但由这些,逻辑地址运算出的物理地址是惟一的。,存储单元的,逻辑地址,可用“,段寄存器名:偏移量,”来表示,如,CS:0011H,。,只有段基址装入到段寄存器中,这个段内的存储单元才可被,CPU,所访问。,8086/8088,中,4,个段寄存器的用法如下:,SS,:,堆栈段寄存器,专门用来存放堆栈段的段基址。,ES,:,附加段寄存器,用来存放附加数据段的段基址。当程序中的数据多于,64KB,时,仅用,1,个数据段放不下,此时可再设一附加数据段予以存放。当只有,1,个数据段时,也可将其段基址放入,ES,而不用,DS,,,这样访问速度会慢一些。,DS,:,数据段寄存器,用来存放数据段的段基址。程序中一般将所有要用到的数据集中在,1,个段内存放,这个段称为数据段。,CS,:,代码段寄存器,指令机器码所在段的段基址必须装入到该寄存器中,它指出了下一条要取出的指令所在段的段基址,而指令指针寄存器,IP,内装的是下一条要取出的指令的段内偏移量,这两个寄存器配合给出了下一条要取指令的逻辑地址。,CPU,在取指令时,总是取自,CS,:,IP,所指单元。,8086/8088,内部有专门的逻辑部件来完成将程序中提交的逻辑地址转换为真正访问存储器时所需的物理地址,这一部件称为,20,位地址加法器。,地址加法器是将逻辑地址中的段寄存器左移,4,位(即后面添加,4,个,0,,相当于乘以,10H,),,然后再加上逻辑地址中的偏移量,从而计算出物理地址。,段寄存器,加法器,逻辑地址,15,0,偏移地址,19,0,20,位物理地址,19,0,段地址,0000,20,位地址加法器,堆栈是内存的一个逻辑段,当这个段被指定为堆栈后,可用堆栈操作指令对它进行特殊规则的访问。,2.1.4,堆栈,1.,堆栈的概念,数据的入栈(写)与出栈(读)均不用指明地址,地址由,CPU,自动管理,,CPU,按照数据的入栈顺序依次将数据从堆栈低部开始向上顺序存放,而出栈时则从堆栈的顶部开始依次向下取出数据,这个规则与子弹在子弹匣中的压入与弹出完全相同,.,不论入栈还是出栈,都只能在栈顶进行,堆栈内数据,遵循先进后出,后进先出的原则,,即最先入栈的数据最后出来,最后入栈的数据最先出来,数据出栈的顺序与入栈的顺序正好相反。,规则:,由于堆栈是从高地址向低地址方向增长的,且只能按字进行,故每次入栈,,SP,减,2,,每次出栈,,SP,加,2,。,SP,总是指向栈顶位置。,例如:将物理地址为,10000H-12000H,的内存区域设置为堆栈段,只须,令,SS=1000H,,,SP=2000H,即可,用如下指令:,MOV AX,,,1000H,MOV SS,,,AX,MOV SP,,,2000H,2.,堆栈的设置,SS,用来存放堆栈段的段基址,由它可定位出堆栈段的起始位置。,SP,用于指示堆栈的顶部单元的段内偏移量,开始时堆栈内没有数据,栈顶就是栈底,故开始时要将栈底单元的偏移量赋给它,以指明栈底位置。随着不断入栈、出栈,,SP,不断变化。,8086/8088,中专门有,2,个寄存器用于堆栈操作:堆栈段寄存器,SS,和堆栈指针寄存器,SP,。,主、子程序间的参数如何借助堆栈传递:,主程序将参数依次用,PUSH,指令入栈,而子程序再用同样数的,POP,指令从堆栈中取出即可,这一过程中主、子程序均不用关心参数在内存中的具体位置,只须事先约定好参数的个数及顺序即可。,8086/8088,中堆栈操作必须以字为单位进行,堆栈中的数据在堆栈段中从地址高端向低端依次存放。堆栈操作指令包括入栈指令,PUSH,和出栈指令,POP,。,PUSH,的功能:,将,16,位操作数(可为通用寄存器,段寄存器或存储器),中的,1,个字数据压入堆栈中。,POP,的功能:,将堆栈栈顶,1,个字的内容弹入操作数(可为通用寄存器,段寄存器,DS,、,ES,、,SS,或,存储器)中。,3.,堆栈操作指令,2.2,80286,微处理器的结构和功能,1,80286 CPU,的主要性能,80286CPU,是比,8086/8088CPU,更为先进的,16,位微处理器。芯片上共集成,13.5,万只晶体管,具有,68,个引脚,采用四列直插式封装。地址线和数据线不再复用,分开设置,16,条数据线和,24,条地址线,从而使,CPU,的运算速度及可寻址的内存空间都较,8086,有提高。内存空间为,16MB,,时钟频率为,8MH,10MHZ,。,80286CPU,具有存储器管理和保护机构。它采用分段的方法管理存储器,每段最大为,64KB,,支持虚拟存储器。这就是说,,80286CPU,有两种工作方式;实地址方式和虚地址方式。运行实地址方式时,相当于一个快速的,8086CPU,,从逻辑地址到物理地址的转换,与,8086CPU,相同,物理地址空间为,1MB,。运行虚拟保护方式时,可寻址,16MB,物理地址,提供,1GB,(,2,字节)的虚地址空间,并能实现段寄存器保护、存储器访问保护、特权级保护和任务之间的保护等待,因此,,80286CPU,能可靠地支持多用户系统。,2,80286 CPU,的内部结构,指令部件,IU,由指令译码器和已被译码的指令列组成,其功能是不断地从总线部件,BU,中的预取代码队列中取出指令,译码后放到已被译码的指令队列中,为执行部件,EU,执行指令做好准备。,IU,的引入进一步改善了流水操作,,IU,内部始终存放着,3,条已译码的指令,执行部件,EU,就是执行的这些指令。,IU,与,EU,的并行操作,缩短了指令的执行时间。,3.,指令部件,(Instruction Unit IU),执行部件,EU,由算术逻辑部件,ALU,、控制器和微代码只读存储器组成,,EU,负责执行命令,所执行的指令是从,IU,中取来的已被译码的指令。,80286,的这,4,个部件可并行操作,从而提高了吞吐率,加快了运行速度。,4.,执行部件(,Execution Unit,,,EU,),2.3,80386,微处理器,人们谈到,80386,时,一般是指,80386DX,。,80386DX,是标准的,80386,,它对内、外的数据、地址总线都是,32,位。而,80386SX,用来填补,16,位机和,32,位机之间的空白。,80386SX,的内部结构和,80386DX,一样,但地址线为,24,根,对外的数据线为,16,根。,1,工作模式和特点,80386 CPU,具有段页式存储器管理部件,四级保护机构,并支持虚拟存储器。它有三种工作方式:,实地址方式。,此方式下,80386CPU,除相当于一个高速,8086/8088CPU,外,还可在需要时,将操作数扩展为,32,位。同时,,20,位地址线不再与,32,位数据线复用。,虚拟地址保护方式。,此方式支持多任务模式,分,80286,模式和,80386,模式两种。,80286,模式完全与,80286,兼容,采用,16,位操作数,,CPU,可寻址,16MB,的物理地址空间和,1GB,的虚拟地址空间。,80386,模式的主要特点是采用了段页式存储器管理和保护机制。操作数采用,32,位,,CPU,可寻址,4GB,(,2,虚拟,8086,方式。,此方式可在实地址方式运行,8086,应用程序的同时,利用,80386CPU,的虚拟保护机构运行多用户操作系统及程序。也就是说可同时运行多个用户
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服