




已阅读5页,还剩520页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章绪论,主要内容微型计算机的组成计算机中数制及其转换符号数的表示及运算数的定点与浮点表示,1.1概述,一、电子计算机的发展:电子管计算机(1946-1956)晶体管计算机(1957-1964)中小规模集成电路计算机(1965-1970)超大规模集成电路计算机(1971-今)二、电子计算机按其性能分类:大中型计算机/巨型计算机(MainframeComputer)小型计算机(Minicomputer)微型计算机(Microcomputer)单片计算机(Single-ChipMicrocomputer),微型计算机的发展是以微处理器的发展来表征的微处理器的集成度每隔18-24个月就会翻一番,芯片的性能也随之提高一倍-摩尔定律IntelCPU的发展见下页表,三、微型计算机的组成,I/O设备,CPU,运算器控制器,内存RAMROM,I/O接口,AB地址总线,DB数据总线,CB控制总线,8255、8250(8251)8253、8259,键盘、打印机显示器、软硬盘A/D、D/A等,1、微处理器微处理器(CPU)是大规模集成电路技术做成的芯片,芯片内集成有控制器、运算器和寄存器等相关部件,完成对计算机系统内各部件进行统一协调和控制。2、存储器功能:存放程序和数据。,存储器,内存(主存),外存(辅存),RAM,ROM,SRAM,DRAM,ROM,EPROM,E2PROM,软盘、U盘硬盘(移动硬盘)光盘,AMDAthlonIIX2240/盒装本周劲热排行第3位参考价格:¥380(全国)接口类型:SocketAM3(938)生产工艺:45纳米主频:2.8GHz二级缓存:L2=21M核心数量:双核,AMDPhenomIIX2550/黑盒参考价格:¥740(全国)接口类型:SocketAM3(938)核心类型:Stars生产工艺:45纳米主频:3.1GHz二级缓存:L2=2512K三级缓存:L3=6M核心数量:双核,3、I/O设备和I/O接口(1)、I/O设备:微机配备的输入/输出设备(外设)。标准输入/输出设备(控制台):键盘和显示器(CRT)。,I/O设备,输入设备,输出设备,键盘,鼠标,扫描仪、数码相机,显示器,打印机,绘图仪,(2)、I/O接口:连接外设备和系统总线,完成信号转换、数据缓冲、与CPU进行信号联络等工作。显示器卡:完成显示器与总线的连接。声卡:完成声音的输入/输出。网卡:完成网络数据的转换。扫描卡:连接扫描仪到计算机。调制解调器卡:模拟信号与数字信号相互转换。键盘接口、打印机接口等。232接口:串行数据接口。USB接口:通用串行接口。,4、系统总线(1)、总线:传递信息的一组公用导线。(2)、系统总线:从处理器引出的若干信号线,CPU通过它们与存储器或I/O设备进行信息交换。系统总线分为:(A)、地址总线:传递地址信息的总线,即AB。CPU在地址总线上输出将要访问的内存单元或I/O端口的地址,该总线为单向总线。内存容量的计算:16条地址线可访问216=64KB。20条地址线可访问220=1MB。1K=1024B1M=1024KB1G=1024MB,(B)、数据总线:传递数据信息的总线,即DB。在CPU进行读操作时,内存或外设的数据通过数据总线送往CPU;在CPU进行写操作时,CPU数据通过数据总线送往内存或外设,数据总线是双向总线。(C)、控制总线:传递控制信息的总线,即CB。控制总线的方向:一部分是从CPU输出:通过对指令的译码,由CPU内部产生,由CPU送到存储器、输入/输出接口电路和其它部件。如时钟信号、控制信号等。另一部分是由系统中的部件产生,送往CPU,如:中断请求信号、总线请求信号、状态信号。,控制总线的部件(总线主控设备):CPU和DMA控制器。被总线控制的部件(总线控制设备):存储器和I/O设备。,总线的使用特点:1、在某一时刻,只能由一个总线主控设备来控制总线,其它总线主控设备此时必须放弃对总线的控制。2、在连接系统的各个设备中,在某一时刻只能有一发送者发送信号,但可以有多个设备从总线上同时获得信号。3、通过总线插槽来接口板连接。,四、微机主要性能指标,1、字长字长是微处理器一次可以直接处理的二进制数码的位数,它通常取决于微处理器内部通用寄存器的位数和数据总线的宽度。微处理器的字长有4位、8位、16位、32位和64位等等。8088称为准16位微处理器,而80386SX称为准32位微处理器。2、主频主频也叫做时钟频率,用来表示微处理器的运行速度,主频越高表明微处理器运行越快,主频的单位是MHz。现在一般用G表示。如P4/28G,3、运算速度MIPS是MillionsofInstructionPerSecond的缩写,用来表示微处理器的性能,意思是每秒钟能执行多少百万条指令。由于执行不同类型的指令所需时间长度不同,所以MIPS通常是根据不同指令出现的频度乘上不同的系数求得的统计平均值。4、主存容量主存储器所能存储的信息总量称为主存容量。主存容量一般以字节为单位。如256MB、512MB位:二进制信息的最小单位。字节:由8位二进制所组成。,1.2计算机中的数制和编码,一、计算机中常用的进制数人们最常用的数是十进制数,计算机中采用的是二进制数,同时有的时候为了简化二进制数据的书写,也采用八进制和十六进制表示方法。下面将分别介绍这几种常用的进制。1、十进制数十进制数是大家熟悉的,用0,1,2,8,9十个不同的符号来表示数值,它采用的是“逢十进一,借一当十”的原则。,2、二进制表示法基数为10的记数制叫十进制;基数为2的记数制叫做二进制。二进制数的计算规则是“逢二进一,借一当二”。,二进制表示数值方法如下:NB=Ki*2i其中:Ki=0或1,n,i=-m,例:二进制数1011.1表示如下:(1011.1)B=1*23+0*22+1*21+1*20+1*2-1,运算规则:加法运算:0+0=00+1=11+0=11+1=10(逢二进一)减法运算:0-0=010-1=1(借位)1-0=11-1=0乘法运算:0*0=00*1=01*0=01*1=1除法运算0/1=01/1=1,3、八进制表示法八进制数是基数为八的计数制。八进制数主要采用0,1,2,7这八个阿拉伯数字。八进制数的运算规则为“逢八进一,借一当八”。,八进制表示数值方法如下:NO=Ki*8i其中:Ki=0、1、2、3、4、5、6、7,n,i=-m,例:(467.6)O=4*82+6*81+7*80+6*8-1,4、十六进制表示法基数为16,用0-9、A-F十五个字符来数值,逢十六进一。各位的权值为16i。,二进制表示数值方法如下:NH=Ki*16i其中:Ki=0-9、A-F,n,i=-m,例:(56D.3)H=5*162+6*161+13*160+3*16-1,二、进制间的转换1、二进制数和十进制数之间的转换(1)、二进制数转换为十进制数方法:按二进制数的位权进行展开相加即可。例:11101.101=124+123+122+021+120+12-1+02-2+12-3=16+8+4+0+1+0.5+0.25+0.125=29.875,(2)、十进制数转换为二进制数方法:A、将整数部分和小数部分分别进行转换,然后再把转换结果进行相加。B、整数转换采用除2取余法:用2不断地去除要转换的数,直到商为0。再将每一步所得的余数,按逆序排列,便可得转换结果。C、小数转换采用乘2取整法:每次用2与小数部分相乘,取乘积的整数部分,再取其小数部分乘2直到小部分为0。将所取整数顺序放在小数点后即为转换结果。,例:将(136)D转换为二进制数。2136余数(结果)低位268-0234-0217-028-124-022-021-00-1高位,转换结果:(136)D=(10001000)B,例:将(0.625)D转换为二进制数。0.625*21.25*20.5*21.0取整:高位低位,转换结果:(0.625)D=(0.101)B若出现乘积的小数部分一直不为“0”,则可以根据计算精度的要求截取一定的位数即可。如0.6*2,2、二进制数和八进制数、十六进制数间的转换(1)、二进制数到八进制数、十六进制数的转换A、二进制数到八进制数转换采用“三位化一位”的方法。从小数点开始向两边分别进行每三位分一组,向左不足三位的,从左边补0;向右不足三位的,从右边补0。B、二进制数到十六进制数的转换采用“四位化一位”的方法。从小数点开始向两边分别进行每四位分一组,向左不足四位的,从左边补0;向右不足四位的,从右边补0。例:将(1000110.01)B转换为八进制数和十六进制数。1000110.01001000110.010,(106.2)O,二进制数到十六进制数的转换:(1000110.01)B=1000110.0101000110.0100,(46.4)H,(2)、八进制、十六进制数到二进制数的转换方法:采用“一位化三位(四位)”的方法。按顺序写出每位八进制(十六进制)数对应的二进制数,所得结果即为相应的二进制数。例:将(352.6)o转换为二进制数。352.6011101010110=(11101010.11)B,三、机器数的表示机器数:数值数据在计算机中的编码。机器数的真值:机器数所代表的实际数值。常用的编码方案:原码、反码、补码。1、原码表示法原码:用最高位表示符号,其中:0-正、1-负,其它位表示数值的绝对值。定义:,例:求X1=1011,X2=-1011的原码。(8位)X1原=00001011X2原=100010110的表示形式(8位)+0原=00000000-0原=10000000特点A、原码与真值的对应关系简单。B、0的编码不唯一,处理运算不方便。C、8位数原码所表示的范围:-127+127,2、反码表示法定义:若X0,则X反=X原。若X0,则X反=对应原码的符号位不变数值部分按位求反。+0反=00000000-0反=1111111+1100111反=01100111-1100111反=100110008位反码所表示的范围:-127+127,3、补码表示法正数的补码和原码相同。负数的补码=反码+1。-0补=-0反+1=11111111+1=1000000000补=+0补=-0补=000000008位补码所表示的范围:-128+127计算机中的数均为补码形式。,特殊数10000000,该数在原码中定义为:-0在反码中定义为:-127在补码中定义为:-128对无符号数:(10000000)=128,4、由补码求真值,某内存单元的内容是D2,为8位二进制数,其所表示的十进制数是多少?X补=D2H=11010010BX=X补补=11010010补=-0101110B=-2EH所以:X=-46,-,-,5、补码加减运算规则,通过引进补码,可将减法运算转换为加法运算。规则如下:X+Y补=X补+Y补X-Y补=X补-Y补X-Y补=X补+-Y补其中X,Y为正负数均可,符号位参与运算。,-,例:X=-0110100,Y=+1110100求X+Y补,X原=10110100X补=X反+1=11001100Y补=Y原=01110100所以:X+Y补=X补+Y补=11001100+01110100=01000000思考:X、Y及X+Y各是多少?,6、符号数运算中的溢出问题,进(借)位在加法过程中,符号位向更高位产生进位;在减法过程中,符号位向更高位产生借位。溢出运算结果超出运算器所能表示的范围。,溢出的判断方法,方法:同号相减或异号相加不会溢出。同号相加或异号相减可能溢出:两种情况:同号相加时,结果符号与加数符号相反溢出;异号相减时,结果符号与减数符号相同溢出。方法:两个8位带符号二进制数相加或相减时,若C7C61,则结果产生溢出。C7为最高位的进(借)位;C为次高位的进(借)位。,例:,有符号数运算,有溢出表示结果是错误的无符号数运算,有进位表示结果是错误的,10110101+10001111101000100,01000010+0110001110100101,01000010+11001101100001111,CASE1:,CASE2:,CASE3:,四、计算机中常用的编码,1、十进制数的表示BCD码用4位二进制数表示一位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。压缩BCD码的每一位用4位二进制表示,00001001表示09,一个字节表示两位十进制数。非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的00001001表示09。,各种字符和符号必须用二进制编码才能在机器中表示。常用的编码方式为美国标准信息交换(AmericanStandardCardforInformationInterchange,ASCII码)。用8位二进制数表示一个字符,最高位为0。数字09编码为30H39H,字母AZ编码为41H5AH,字母az编码为61H7AH。回车为0DH,换行为0AH,响铃为07H。,2、字符的编码ASCII码,在通信中将最高位(D7位)用作奇偶校验位。偶校验:包括校验位在内的8位二进制数码中1的个数为偶数。奇校验:包括校验位在内的8位二进制数码中1的个数为奇数。例:字母A的ASCII码为1000001,偶校验码为01000001,奇校验码为11000001。思考:字符5的奇校验码是多少?,3、奇偶校验码,ASCII码美国标准信息交换代码,1.2数的定点与浮点表示,1。定点表示法:表示小数点的位置是固定不变的,分为纯整数和纯小数两类。,纯整数表示方法,纯小数表示方法,2。浮点表示法浮点表示法中小数点的位置是不固定的。任意二进制数N一般可表示为:N=2PS一个浮点数分为阶码和尾数两部分,二者各有表示正负的阶符和数符,常用存储格式:,3。规格化浮点数尾数的最高位为1,形如:1XXXXXX2m,(1)单精度浮点数(短实型):4字节浮点数。(2)双精度浮点数(长实型):8字节浮点数。(3)扩展精度数:10字节浮点数。,符号位:数的符号,0表示正数,1为负数。阶码(移位码):阶码加上一个常数偏置值。以保证偏置后的格式阶码恒为正数。单精度的阶码偏置值为+127(7FH),双精度的阶码偏置值为+1023(3FFH)。一个浮点数的真阶码要通过它的格式阶码减去偏置值而得到。,例将十进制数23625用单精度浮点数(短实型)的形式表示出来。【解】第一步:将十进制转化为二进制形式23625=10111101B第二步:规格化10111101B=1011110124第三步:求各部分的二进制数符号位:0(正数)阶码:00000100B+01111111B=10000011B尾数(原码):01111010000(共23位),本章习题:9、10、11、12、13、14、15、16,通过本章学习,应掌握以下内容:8086CPU结构CPU引脚及其功能存储器组织与堆栈总线周期与操作时序8086系统配置,第二章、8086系统结构,2.18086CPU结构一、8086的功能结构微处理器8086从功能上分为两部分:总线接口部分(BIU),执行部分(EU)。两部分各自执行自己的功能并行工作,这种工作方式与传统的计算机在执行指令时的串行工作方式相比极大地提高了工作效率。,传统的CPU采用串行工作方式:,取指令1,执行1,存结果1,取指令2,取操作数,执行2,CPU,BUS,忙碌,忙碌,忙碌,忙碌,8086CPU并行工作方式:,取指令2,取操作数,BIU,存结果,取指令3,取操作数,取指令4,执行1,执行2,执行3,EU,BUS,忙碌,忙碌,忙碌,忙碌,忙碌,忙碌,AHAL,BHBL,CHCL,DHDL,SP,BP,DI,SI,通用寄存器,运算寄存器,ALU,标志,执行部分控制电路,123456,CS,DS,SS,ES,IP,内部寄存器,I/O控制电路,地址加法器,20位,16位,8位,指令队列缓冲器,外总线,执行部件,总线接口部件,8086CPU结构图,1、总线接口部件(BIU)功能:(1)从内存取指令送到指令队列。(2)CPU执行指令时,到指定的位置取操作数,并将其送至要求的位置单元中。总线接口部件的组成:(1)四个段地址寄存器CS,16位代码段寄存器;DS,16位数据段寄存器;ES,16位附加段寄存器;SS,16位堆栈段寄存器。,(2)16位指令指针寄存器IP(PC)。(3)20位的地址加法器。(4)六字节的指令队列缓冲器。说明:(1)指令队列缓冲器:在执行指令的同时,将取下一条指令,并放入指令队列缓冲器中。CPU执行完一条指令后,可以执行下一条指令(流水线技术)。提高CPU效率。(2)地址加法器:产生20位地址。CPU内无论是段地址寄存器还是偏移量都是16位的,通过地址加法器产生20位地址。,2、执行部件作用:(1)从指令队列中取出指令。(2)对指令进行译码,发出相应的控制信号。(3)接收由总线接口送来的数据或发送数据至接口。(4)进行算术运算。执行部件的组成:(1)4个通用寄存器AX、BX、CX、DX。四个通用寄存器都是16位或作两个8位来使用。(2)4个专用寄存器,SP-堆栈指针寄存器BP-基址指针寄存器DI-目的变址寄存器SI-源变址寄存器(3)算术逻辑单元ALU完成8位或者16位二进制算术和逻辑运算,计算偏移量。(4)数据暂存寄存器协助ALU完成运算,暂存参加运算的数据。(5)执行部件的控制电路从总线接口的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制ALU数据流向。,(6)标志寄存器16位寄存器,其中有7位未用。,D15,D0,OFDFIFTFSFZFAFPFCF,进借位标志,奇偶标志,半进借位标志,零标志,符号标志,单步中断,中断允许,方向标志,溢出标志,1-有进、借位0-无进、借位,1-低8位有偶数个10-低8位有奇数个1,1-低4位向高4位有进、借位0-低4位向高4位无进、借位,1-结果为00-结果不为0,例:将5394H与-777FH相加,并说明其标志位的状态。【解】先求-777FH的补码:原码:1111011101111111反码:1000100010000000补码:1000100010000001再做加法运算:0101001110010100+10001000100000011101110000010101结果标志位为:CF=0、PF=0、AF=0ZF=0、SF=1、OF=0,3、CPU执行程序的操作过程(1)20位地址形成,并将从该地址指定的单元中取出指令字节,依次放入指令队列中。(2)当指令队列中有2个空字节时,总线接口部件就会自动取指令至队列中。(3)执行部件从指令队列队首取出指令代码,执行该指令。(4)当队列已满,执行部件又不使用总线时,总线接口部件进入空闲状态。(5)执行转移指令、调用指令、返回指令时,先清空队列内容,再将要执行的指令放入队列中。,2.28086CPU的引脚及其功能8086CPU可在两种模式下工作:最小模式:只有一8086CPU。最大模式:有两个或两个以上的CPU,一个为主CPU8086,另一个为协CPU8087。指令周期:执行一条指令所需要的时间。总线周期(机器周期):CPU通过总线与存储器或I/O接口进行一次数据传输所需的时间。T状态(时钟周期):CPU处理动作的最小单位。,T1,T2,T3,TW,T4,总线周期,0102030405060708091011121314151617181920,4039383736353433323130292827262524232221,GND,AD14,AD13,AD12,AD11,AD10,AD9,AD8,AD7,AD6,AD5,AD4,AD3,AD2,AD1,AD0,NMI,INTR,CLK,GND,VCC(5V),AD15,A16/S3,A17/S4,A18/S5,A19/S6,/BHE/S7,MN/MX,/RD,HOLD(/RQ/GT0),HLDA(/RQ/GT1),/WR(/LOCK),M/IO(/S2),DT/R(/S1),/DEN(/S0),ALE(QS0),/INTA(QS1),/TEST,READY,RESET,8086,一、最小模式下的引脚及功能1、地址/数据总线AD15-AD0:地址/数据复用引脚,双向,三态。在T1状态,为16位地址总线A15-A0,输出访问存储器或I/O的地址信息。在T2T4状态,为16位数据总线D15-D0,与存储器和I/O设备交换数据信息。地址/数据总线复用,分时工作。,2、A19/S6-A16/S3地址/状态总线复用引脚,输出,三态。,T1状态:输出地址的高4位信息A19-A16T2、T3、T4状态:输出状态信息S6:指示当前CPU是否与总线相连,S6=0,表示8086当前与总线相连。S5:中断允许标志当前的状态。S5=0,禁止一切可屏蔽中断源的中断请求;S5=1,允许一切可屏蔽中断源的中断申请。,S4、S3:当前正在使用的段寄存器S4S3段寄存器00当前正在使用ES01当前正在使用SS10当前正在使用CS11当前正在使用DS,/BHE、A0组合:/BHEA0总线使用情况00从偶地址单元开始,在16位数据总线上进行字传送01从奇地址单元开始,在高8位数据总线上进行字节传送10从偶地址单元开始,在低8位数据总线上进行字节传送11无效,3、控制总线(1)/BHE/S7:高8位数据总线允许/状态复用引脚。在总线周期的T1状态,此引脚输出/BHE信号,表示高8位数据线D15-D8上的数据有效。在8086中,S7未定义。,(2)/RD:读信号,三态输出,低电平有效。/RD=0,表示当前CPU正在对存储器或I/O端口进行读操作。(3)/WR:写信号,三态输出,低电平有效。/WR=0,表示当前CPU正在对存储器或I/O端口进行写操作。(4)M/IO:存储器或IO端口访问信号,三态输出。M/IO=1,表示CPU正在访问存储器;M/IO=0,表示CPU正在访问IO端口。,(5)READY:准备就绪信号,输入,高电平有效。READY=1,表示CPU访问的存储器或IO端口已准备好传送数据。若CPU在总线周期T3状态检测到READY=0,表示未准备好,CPU自动插入一个或多个等待状态TW,直到READY=1为止。(6)INTR:可屏蔽中断请求信号,输入。当INTR=1,表示外设向CPU发出中断请求,CPU在当前指令周期的最后一个T状态去采样该信号,若此时,IF=1,CPU响应中断,执行中断服务程序。,(7)/INTA:中断响应信号,输出,低电平有效。CPU响应中断时发两个负脉冲。第一个负脉冲,表示CPU响应了外设发来的中断申请信号INTR。第二个负脉冲,通知外设向数据总线上放中断类型号。(8)NMI:不可屏蔽中断请求信号,输入,上升沿触发。该请求信号不受IF状态的影响,也不能用软件屏蔽,一旦该信号有效,则执行完当前指令后立即响应中断。(9)/TEST:测试信号,输入,低电平有效。当CPU执行WAIT指令时,每隔个时钟周期对/TEST进行一次测试,若/TEST=1,继续等待,直到/TEST=0。,(10)RESET:复位信号,输入,高电平有效。RESET信号至少要保持4个时钟周期。复位时:标志寄存器、IP、DS、SS、ES为0,CS=FFFFH,指令队列清空。复位后CPU从FFFF0H处开始执行。(11)ALE:地址锁存允许信号,输出,高电平有效。用来锁存地址信号A15-A0,分时使用AD15-AD0地址/数据总线。,(12)DT/R:数据发送/接收控制信号,三态输出。此信号控制数据总线上的收发器8286/8287的数据传送方向。DT/R=1,发送数据-写操作;DT/R=0,接收数据-读操作。(13)/DEN:数据允许信号,三态输出,低电平有效。作为数据总线上收发器8286的选通信号。(14)HOLD:总线请求信号,输入,高电平有效。当系统中CPU之外的另一个控制器要求使用总线时,通过它向CPU发一高电平的请求信号。,(15)HLDA:总线请求响应信号,输出,高电平有效。当HLDA有效时,表示CPU对其它控制器的总线请求作出响应,与此同时,所有与三总线相接的CPU的线脚呈现高阻抗状态,从而让出总线。(16)MN/MX:工作模式选择信号,输入。MN/MX=1,表示CPU工作在最小模式系统;MN/MX=0,表示CPU工作在最大模式系统。(17)CLK:主时钟信号,输入。8086的时钟频率为5MHZ。,4、电源线和地线8086/8088采用单+5V,1、20引脚为地线。二、最大模式下的有关引脚(1)QS1、QS2:指令队列状态信号,输出。QS1QS2含义00无操作01将指令首字节送入指令队列10队列为空11将指令其余字节送指令队列,(2)S2、S1、S0:总线周期状态信号,三态输出。S2、S1、S0状态信号的编码S2S1S0操作过程产生信号000发中断响应信号/INTA001读I/O端口IORC010写I/O端口IOWC011暂停无100取指令/MRDC101读存储器/MRDC110写存储器/AMWC111无作用无,(3)/RQ/GT0、/RQ/GT1:总线请求信号(输入)/总线请求允许信号(输出),双向,低电平有效。(4)/LOCK:总线封锁信号,三态输出,低电平有效。/LOCK=0,CPU不允许其它控制器占用总线。,例:若8086工作在单CPU方式,试给出在读I/O端口时,M/IO、DT/R、/DEN、/RD、/WR等信号线的状态。,2.3存储器的组织和堆栈1、8086存储器的分体结构8086系统中,1MB的存储空间分成两个存储体:偶地址存储体和奇地址存储体,各为512KB。它们的访问由/BHE、A0组合决定:,/BHEA0总线使用情况00从偶地址单元开始,在16位数据总线上进行字传送01从奇地址单元开始,在高8位数据总线上进行字节传送10从偶地址单元开始,在低8位数据总线上进行字节传送11无效,8086用两个存储体来组织实际存储空间,奇地址,偶地址,00001H,00003H,00000H,00002H,FFFFEH,FFFFFH,.,.,BHE,A0,A0A19BHE,D8D15,D0D7,地址交叉排列,8086,D0D15,规划字(对准字)存放:偶地址作为字的地址非规划字(非对准字)存放:奇地址作为字的地址规则字的读/写只需访问一次存储器;非规则字的读/写需二次访问存储器。第一次访问奇地址,第二次访问偶地址。,2、存储器编址,在内存里以字节为单位存取信息,系统为每个字节编一个地址(二进制数表示,书写格式为十六进制),称为存储器地址,存储的内容即为数据。,地址,内容,00000H,00001H,00002H,FFFFFH,00000001,00100011,01000101,存储器中的数据及表示形式,2301H(规则字),4523H(非规则字),地址,内容,00000H,00001H,00002H,FFFFFH,00000001,00100011,01000101,字节数01H的地址为00000H、字节23H的地址为00001H、字节45H的地址为00002H。字2301H的地址为00000H、字4523H的地址为00001H。地址00000H的内容既是01H,又是2301H顺序存放,低字节低地址(字数据),01H,2301H,4523H,45H,3、存储器的分段结构由于8086有20条地址线,可以寻址多达220(1M)字节,所以把1M字节的存储器分为任意数量的段,其中每一段最多可达寻址216(64K)字节。8086CPU把1M字节的存储器空间划分为任意的一些存储段,每个段的起始地址必须能16整除(该地址的最低四位为0000)。8086可将内存最多可分为64K个段,最少可分为16个段。每个段的最大范围是64KB,最小的段是16B。段与段之间可连续分布,也可重叠。在所有的段中,8086当前可以访问的段只有4个,它们分别由CS、DS、ES和SS所指定。,(1)逻辑地址和物理地址物理地址:也称实际地址,是用唯一的20位二进制数所表示的地址,规定了1M字节存储体中某个具体单元的地址。如00002H。逻辑地址在程序中使用,即段地址:偏移地址。如2000H:0003H2000H:0000H12H0001H34H0002H56H0003H78H,(2)物理地址的形成物理地址=段基址*16(左移4位)+偏移地址。段基址:CS、DS、ES、SS。偏移地址:IP、DI、SI、BX、BP、SP等。物理地址的形成如下:(由20位地址全加器实现),段寄存器值,偏移量,+,物理地址,16位,4位,16位,20位,0000,一个存储单元可以有一个或多个逻辑地址,但只能有一个物理地址。例如物理地址21000H可以有以下几个逻辑地址:2100:0000H2000:0100H段基址由系统自动分配,而偏移地址则由用户编程时提供。DATASEGMENTXDB12HYDW34HDATAENDS则DS段中,Y的地址为0001H,非规则存放。,CS0000,IP,代码段,DS或ES0000,SI、DI或BX,SS0000,SP或BP,数据段,堆栈段,存储器,段寄存器和偏移地址寄存器组合关系,4、堆栈和堆栈操作命令堆栈主要用于暂存数据和在过程调用或处理中断时暂存断点信息。(1)堆栈的概念堆栈是在存储器中开辟的一片数据存储区,这片存储区的一端固定,另一端活动,且只允许数据从活动端进出。采用“先进后出”的规则。(2)堆栈的组织堆栈指示器SP,他总是指向堆栈的栈顶。堆栈的伸展方向既可以从高地址向低地址,也可以从低地址向高地址。8086的堆栈的伸展方向是从高地址向低地址。,(3)堆栈的操作建栈:通过对SS和SP的赋值建立。(也可省略)如:MOVAX,2000HMOVSS,AXMOVSP,0100HSS:SP2000:0000XX2000:0001XX堆栈段2000:00FF2000:0100XX栈底(栈顶)SP=0100H,进栈操作:PUSH指令(字操作)已知AX=1234H、BX=5678H,PUSHAX、PUSHBX第一次PUSH操作:第二次PUSH操作:2000:0000XX2000:0000XX2000:0001XX2000:0001XX2000:00FCXX2000:00FC78SP2000:00FDXX2000:00FD562000:00FE34SP2000:00FE342000:00FF122000:00FF122000:0100XX(栈底)2000:0100XX,出栈操作:POP指令(字操作)在前面操作的基础上作POPCX操作:2000:0000XX2000:0001XX2000:00FC782000:00FD562000:00FE34SP2000:00FF122000:0100XX(栈底),操作后:AX=1234HBX=5678HCX=5678HSP=00FEHSS=2000H,2.4总线周期与操作时序在微机系统中,CPU是在时钟信号CLK控制下,按节拍有序地执行指令序列。从取指令开始,经过分析指令、对操作数寻址,然后执行指令、保存操作结果,这个过程称为指令执行周期。指令周期:执行一条指令所需要的时间。总线周期(机器周期):CPU通过总线与存储器或I/O接口进行一次数据传输所需的时间。T状态(时钟周期):CPU处理动作的最小单位。,T1,T2,T3,TW,T4,总线周期,8086的操作时序分为如下几个总线周期:(1)总线读周期(2)总线写周期(3)总线空操作(4)中断响应周期(5)总线保持和响应周期(6)复位操作,总线操作总线读操作:CPU从存储器或外设读取数据。总线写操作:CPU将数据写入存储器或外设。1、总线读周期总线周期包括:T1、T2、T3、(TW)、T4机器周期。(1)T1周期M/IO信号:从存储器读还是从I/O设备中读数据;AD15-AD0、A19/S7-A16/S3:确定20位地址;/BHE:选择奇地址存储体选择。ALE:地址锁存信号,以使地址/数据线分开。,(2)T2状态A19/S6-A16/S3:出现S6-S3状态信号。决定段寄存器、IF状态、8086CPU是否连在总线上。AD15-AD0:高阻状态。/RD:由高电平变为低电平,开始进行读操作。/DEN:变低电平,启动收发器8286,做好接收数据的准备。(3)T3状态若存储器或I/O端口已做好发送数据准备,则在T3状态期间将数据放到数据总线上,在T3结束时,CPU从AD15-AD0上读取数据。,(4)TW状态在T3状态,存储器或外设没有准备好数据,不能在T3状态将数据放到总线上,使READY=0,则CPU在T3和T4之间插入一个或几个TW状态,直到数据准备好READY=1为止。TW状态时总线的动作与T3时相同。(5)T4状态CPU对数据总线进行采样,读出数据。CPU往存储器或I/O设备读数据的时序如下页所示:,CLK,T1,T2,T3、TW,T4,M/IO,A19/S6-A16/S3,A19-A16,/BHE/S7,/BHE,S7-S3,ALE,READY,AD15-AD0,地址输出,数据输入,/RD,DT/R,/DEN,CPU从存储器或I/O端口读取数据的时序,2、总线写周期(1)T1状态M/IO信号:对存储器写还是对I/O设备中写数据;AD15-AD0、A19/S7-A16/S3:确定20位地址;/BHE:选择奇地址存储体选择。ALE:地址锁存信号,以使地址/数据线分开。DT/R:为高电平,指示收发器8286发送数据,写操作。(2)T2状态A19/S6-A16/S3:出现S6-S3状态信号。决定段寄存器、IF状态、8086CPU是否连在总线上。,AD15-AD0:发出16位数据。/WR:由高电平变为低电平,开始进行写操作。/DEN:变低电平,启动收发器8268,做好发送数据的准备。(3)T3状态若存储器或I/O端口已做好接收数据准备,则在T3状态期间将数据放到数据总线上,在T3结束时,CPU将AD15-AD0上数据写入到存储器或I/O设备中。(4)TW状态在T3状态,存储器或外设没有准备好接收数据,使READY=0,则CPU在T3和T4之间插入一个或几个TW状态,直到设备准备好READY=1为止。,(5)T4状态在T4状态,数据从数据总线上被撤除,各种控制信号和状态信号进入无效状态,CPU完成了对存储器或I/O设备的写操作。3、总线空操作8086只有在CPU和存储器或外设要传送数据时,才能执行上述的总线周期;当指令队列已满,且EU未申请访问存储器时,不执行总线周期,总线接口进入了总线空闲周期。S6S3同前一总线周期;若前一周期是读周期,则AD15AD0为高阻态;总前一周期是写周期,则AD15AD0保持数据有效。,CLK,T1,T2,T3、TW,T4,M/IO,A19/S6-A16/S3,A19-A16,/BHE/S7,/BHE,S7-S3,ALE,READY,AD15-AD0,地址输出,数据输出,/WR,DT/R,/DEN,CPU往存储器或I/O端口写数据的时序,4、中断响应周期中断响应周期:CPU中止现行程序转中断服务程序这一过程。中断响应周期要用两个总线周期。第一个响应周期:使AD15-AD0、/BHE/S7、A19/S6-A16/S3悬空。第二个响应周期:外设向数据总线上输送一个字节的中断类型号。每一响应周期的T1状态输出一个高电平脉冲,作为地址锁存信号。,CLK,T1,T2,T3,T4,T1,T2,T3,T4,第一中断响应周期,第二中断响应周期,ALE,/INTA,AD7-AD0,8086中断响应周期的时序图,中断类型号,5、总线保持和响应周期当系统中CPU之外的另一个控制器要求使用总线时,向CPU发请求信号HOLD。在每个时钟脉冲的上升沿,CPU检测HOLD,如为高电平,并且允许让出总线时,在总线周期的T4或空闲状态Ti之后的下一个时钟周期,PU发出总线响应信号HLDA,并且让出总线,直到HOLD信号无效,CPU才收回总线控制权。,6、系统复位产生:RESET端上的高电平维持4个时钟周期,可使CPU复位。CPU复位:PSW、DS、ES、SS、IP等寄存器被清零,指令队列被清空。CS寄存器设置为FFFFH。当RESET由高电平变低电平7个机器周期后,CPU开始从FFFF0处执行程序。注:由于复位后,IF=0,处关中断状态,所以在初始化程序中应开中断,使CPU可响应中断请求。,8086的复位时序:,CLK,RESET输入,RESET内部,三态门,浮空,CPU内部用时钟CLK来同步外部的复位信号,8086CPU复位后总线信号:AD15-AD0:A19/S6-A16/S3:/BHE/S7:S2、S1、S0:/LOCK、/RD、/INTA:ALE、HLDA、QS0、QS1:/RQ/GT0:/RQ/GT1:,高阻状态,低电平,高电平,2.58086系统配置,根据迫使用目的不同,8086可以有最小模式和最大模式两种系统配置方式,两种方式的选择不是由程序进行控制的,而是由硬件设定的。当CPU的引脚MN/MX接低电平时,构成最小模式;当它接高电平时,构成最大模式。最小模式为单机系统,系统所需要的控制信号由CPU提供,实现和存储器及I/O接口电路的连接。最大模式可以构成多处理器/协处理器系统,每个处理器执行自己的程序常用的处理器有数值运算处理器8087、输入/输出处理器8089。,一、8086在最小模式下的典型配置,8284A,地址总线(20根),READY,RESET,ALE,BHE/,A19A16,AD15AD0,地址锁存储器8282(三片),BHE,DEN,DT/R,M/IO,WR,RD,HOLD,HLDA,INTR,INTA,CLK,收发器8286(两片),数据总线(16根),控制总线,READY,RESET,8086,MN/MX,+5V,A0A19,D0D15,CPU产生,1、8284时钟发生器,RESET,READY,CLK,OSC,PCLK,RES,RDY1,0,+5V,等待电路,14.31818MHZ,8284,RESET,READY,CLK,14.318MHZ,2.385MHZ,8086,O,O,O,D,Q,CLK,O,DI0,DO0,STB,OE,。,。,。,DI0DI7输入端DO0DO7输出端OE/允许控制(低电平有效)STB锁存信号高电平允许(通过)低电平禁止(锁存),2、地址锁存器8282(74LS373),DI7,DO7,AO,BO,O,O,。,O,OE,T,A1,A7,。,B1,B7,。,接DEN,接DT/R,8286,DEN=0OE=0当DT/R=0时,,B,A,当DT/R=1时,AB,1,2,8,9,11,12,18,19,3、总线驱动器8286(或74LS245),8086,8282锁存储器(三片),8286收发器(2片),8288总线控制器,READYRESET,8284A,RESETREADY,BHE/,A16A19,AD0AD15,/S0/S1/S2,CLK,MN/MX,0,DEN,DT/R,A0A19,D0D15,二、最大模式下的典型配置,ALE,STB,BHE/,OE,T,/MRDC,/MWTC,/IORC/IOWC,/INTA,ALE。DEN。DT/R,控制总线,/S0/S1/S2,1、总线控制器8288,MN/MX,S0S1S2,S0S1S2,ALEDT/RDENIOWMEMRIORMEMWINTA,控制总线,CLK,8288,8086,8284,本章习题:1、5、6、9(a)(d)、11(a)(d)、12、13、15、18、20,第三章8086指令系统,指令系统是微处理器(CPU)所能执行的指令的集合,它与微处理器有密切的联系,不同的微处理器有不同的指令系统。在本章中我们主要讲解INTEL公司生产的8086/8088CPU的寻址方式以及各种指令系统,并通过具体实例讲述了各条指令的功能和使用方法。通过本章的学习,读者应该掌握以下内容:4种操作数的寻址方式常用指令的格式、功能、以及对标志位的影响,3.18086的寻址方式,操作码操作数,操作码:指令操作类型;(必须有)操作数:指令所需操作数或操作数的地址;操作数可以有一个,也可以有两个(一个源操作数,一个目的操作数),也可以没有。例:MOVAX,CX;将CX的内容送入AX中。INCAXSTI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 光大银行洛阳市洛龙区2025秋招信息科技岗笔试题及答案
- 中信银行常州市天宁区2025秋招面试典型题目及参考答案
- 中信银行襄阳市襄城区2025秋招小语种岗笔试题及答案
- 兴业银行深圳市龙华区2025秋招半结构化面试15问及话术
- 兴业银行常州市钟楼区2025秋招笔试创新题型专练及答案
- 7.3 网络管理协议教学设计-2025-2026学年中职信息技术(信息科技)计算机网络技术(第4版)高教版
- 招商银行烟台市龙口市2025秋招无领导模拟题角色攻略
- 广发银行东营市东营区2025秋招笔试创新题型专练及答案
- 光大银行漳州市龙海市2025秋招数据分析师笔试题及答案
- 民生银行信阳市固始县2025秋招数据分析师笔试题及答案
- 麦肯锡商业计划书模板
- 项目经理职业生涯规划
- 2023年广东生物高考第18题光合作用说题课件
- 除锈剂MSDS参考资料
- 6社会体育导论
- 部编版七年级历史与社会下册《第三课中华文明探源》评课稿
- 中考英语作文预测(范文20篇)
- 选煤厂原煤分级筛技术操作规程
- 方物电子教室q2用户手册
- 消防管道支架工程量计算表
- GB/T 700-2006碳素结构钢
评论
0/150
提交评论