微机原理与接口技术-周荷琴第4版ppt课件 (全套)_第1页
微机原理与接口技术-周荷琴第4版ppt课件 (全套)_第2页
微机原理与接口技术-周荷琴第4版ppt课件 (全套)_第3页
微机原理与接口技术-周荷琴第4版ppt课件 (全套)_第4页
微机原理与接口技术-周荷琴第4版ppt课件 (全套)_第5页
已阅读5页,还剩520页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 绪论,主要内容微型计算机的组成计算机中数制及其转换符号数的表示及运算数的定点与浮点表示,1.1 概 述,一、电子计算机的发展:电子管计算机(1946-1956)晶体管计算机(1957-1964)中小规模集成电路计算机(1965-1970)超大规模集成电路计算机(1971-今)二、电子计算机按其性能分类:大中型计算机/巨型计算机(Mainframe Computer)小型计算机(Minicomputer)微型计算机(Microcomputer)单片计算机(Single-Chip Microcomputer),微型计算机的发展是以微处理器的发展来表征的微处理器的集成度每隔18-24个月就会翻一番,芯片的性能也随之提高一倍 -摩尔定律Intel CPU的发展见下页表,三、微型计算机的组成,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盘硬盘(移动硬盘)光盘,AMD Athlon II X2 240/盒装 本周劲热排行第3位 参考价格: ¥380(全国) 接口类型:Socket AM3(938) 生产工艺:45纳米 主频:2.8GHz 二级缓存:L2=21M 核心数量:双核,AMD Phenom II X2 550/黑盒 参考价格: ¥740(全国)接口类型:Socket AM3(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 = 64 KB。 20条地址线可访问 220 = 1 MB。 1K = 1024B 1M = 1024 KB 1G = 1024 MB,(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是Millions of Instruction Per Second的缩写,用来表示微处理器的性能,意思是每秒钟能执行多少百万条指令。由于执行不同类型的指令所需时间长度不同,所以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 = 0 0+1 = 1 1+0 = 1 1+1 =10 (逢二进一)减法运算:0-0 = 0 10-1 =1 (借位) 1-0 = 1 1-1 =0乘法运算:0 * 0 =0 0 * 1 =0 1 * 0 =0 1 * 1 =1除法运算0 / 1 =0 1 / 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转换为二进制数。 2 136 余数(结果) 低位 2 68 - 0 2 34 - 0 2 17 - 0 2 8 - 1 2 4 - 0 2 2 - 0 2 1 - 0 0 - 1 高位,转换结果:(136)D=(10001000)B,例:将(0.625)D转换为二进制数。0.625 * 2 1.25 * 2 0.5 * 2 1.0 取整: 高位 低位,转换结果:(0.625)D = (0.101)B若出现乘积的小数部分一直不为“0”,则可以根据计算精度的要求截取一定的位数即可。如0.6* 2,2、二进制数和八进制数、十六进制数间的转换(1)、二进制数到八进制数、十六进制数的转换A、二进制数到八进制数转换采用“三位化一位”的方法。从小数点开始向两边分别进行每三位分一组,向左不足三位的,从左边补0;向右不足三位的,从右边补0。B、二进制数到十六进制数的转换采用“四位化一位”的方法。从小数点开始向两边分别进行每四位分一组,向左不足四位的,从左边补0;向右不足四位的,从右边补0。例:将(1000110.01)B转换为八进制数和十六进制数。 1 000 110 . 01 001 000 110 . 010,( 1 0 6 . 2 )O,二进制数到十六进制数的转换:(1000110.01)B = 100 0110 . 01 0100 0110 . 0100,(4 6 . 4)H,(2)、八进制、十六进制数到二进制数的转换方法:采用“一位化三位(四位)”的方法。按顺序写出每位八进制(十六进制)数对应的二进制数,所得结果即为相应的二进制数。例:将(352.6)o转换为二进制数。 3 5 2 . 6 011 101 010 110 =(11 101 010 . 11)B,三、 机器数的表示机器数:数值数据在计算机中的编码。机器数的真值:机器数所代表的实际数值。常用的编码方案:原码、反码、补码。1、原码表示法原码:用最高位表示符号,其中:0-正、1-负,其它位表示数值的绝对值。定义:,例:求X1=1011,X2=-1011的原码。(8位)X1原=00001011X2原=10001011 0的表示形式(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反=10011000 8位反码所表示的范围:-127+127,3、 补码表示法正数的补码和原码相同。负数的补码=反码+1。-0补= -0反+1=11111111+1=1 000000000补=+0补=-0补=00000000 8位补码所表示的范围:-128+127 计算机中的数均为补码形式。,特殊数10000000,该数在原码中定义为: -0在反码中定义为: -127在补码中定义为: -128对无符号数:(10000000) = 128,4、 由补码求真值,某内存单元的内容是D2,为8位二进制数,其所表示的十进制数是多少? X补 = D2H=1 1010010B X = 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原=10110100 X补= X反+1=11001100Y补= Y原=01110100所以: X+Y补= X补+ Y补 =11001100+01110100 =01000000思考:X、Y及X+Y各是多少?,6、符号数运算中的溢出问题,进(借)位在加法过程中,符号位向更高位产生进位;在减法过程中,符号位向更高位产生借位。溢出运算结果超出运算器所能表示的范围。,溢出的判断方法,方法:同号相减或异号相加不会溢出。同号相加或异号相减可能溢出:两种情况:同号相加时,结果符号与加数符号相反溢出;异号相减时,结果符号与减数符号相同溢出。方法:两个8位带符号二进制数相加或相减时,若 C7C61, 则结果产生溢出。 C7为最高位的进(借)位;C为次高位的进(借)位。,例:,有符号数运算,有溢出表示结果是错误的无符号数运算,有进位表示结果是错误的,1 0 1 1 0 1 0 1 + 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 0 0,0 1 0 0 0 0 1 0 + 0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1,0 1 0 0 0 0 1 0 + 1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1,CASE1:,CASE2:,CASE3:,四、 计算机中常用的编码,1、十进制数的表示BCD码用4位二进制数表示一位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。压缩BCD码的每一位用4位二进制表示,00001001表示09,一个字节表示两位十进制数。非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的00001001表示09。,各种字符和符号必须用二进制编码才能在机器中表示。常用的编码方式为美国标准信息交换(American Standard Card for Information Interchange,ASCII码)。 用8位二进制数表示一个字符,最高位为0。数字09编码为30H 39H,字母A Z编码为41H5AH,字母a z编码为61H 7AH。回车为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.1 8086CPU结构 一、 8086的功能结构 微处理器 8086从功能上分为两部分:总线接口部分(BIU),执行部分(EU)。 两部分各自执行自己的功能并行工作,这种工作方式与传统的 计算机在执行指令时的串行工作方式相比极大地提高了工作效率。,传统的CPU采用串行工作方式:,取指令1,执行1,存结果1,取指令2,取操作数,执行2,CPU,BUS,忙碌,忙碌,忙碌,忙碌,8086CPU并行工作方式:,取指令2,取操作数,BIU,存结果,取指令3,取操作数,取指令4,执行1,执行2,执行3,EU,BUS,忙碌,忙碌,忙碌,忙碌,忙碌,忙碌,AH AL,BH BL,CH CL,DH DL,SP,BP,DI,SI,通用寄存器,运算寄存器,ALU,标志,执行部分控制电路,1 2 3 4 5 6,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,OF DF IF TF SF ZF AF PF CF,进借位标志,奇偶标志,半进借位标志,零标志,符号标志,单步中断,中断允许,方向标志,溢出标志,1-有进、借位0-无进、借位,1-低8位有偶数个10-低8位有奇数个1,1-低4位向高4位有进、借位0-低4位向高4位无进、借位,1-结果为00-结果不为0,例:将5394H与-777FH相加,并说明其标志位的状态。【解】先求-777FH的补码: 原码:1111 0111 0111 1111 反码:1000 1000 1000 0000 补码:1000 1000 1000 0001 再做加法运算: 0101 0011 1001 0100 + 1000 1000 1000 0001 1101 1100 0001 0101 结果标志位为:CF=0、PF=0、AF=0 ZF=0、SF=1、OF=0,3、CPU执行程序的操作过程(1)20位地址形成,并将从该地址指定的单元中取出指令字节,依次放入指令队列中。(2)当指令队列中有2个空字节时,总线接口部件就会自动取指令至队列中。(3)执行部件从指令队列队首取出指令代码,执行该指令。(4)当队列已满,执行部件又不使用总线时,总线接口部件进入空闲状态。(5)执行转移指令、调用指令、返回指令时,先清空队列内容,再将要执行的指令放入队列中。,2.2 8086CPU的引脚及其功能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:当前正在使用的段寄存器 S4 S3 段寄存器 0 0 当前正在使用ES 0 1 当前正在使用SS 1 0 当前正在使用CS 1 1 当前正在使用DS,/BHE、A0组合:/BHE A0 总线使用情况 0 0 从偶地址单元开始,在16位数据总线上进行字传送 0 1 从奇地址单元开始,在高8位数据总线上进行字节传送 1 0 从偶地址单元开始,在低8位数据总线上进行字节传送 1 1 无效,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:指令队列状态信号,输出。 QS1 QS2 含义 0 0 无操作 0 1 将指令首字节送入指令队列 1 0 队列为空 1 1 将指令其余字节送指令队列,(2)S2、S1、S0:总线周期状态信号,三态输出。 S2、S1、S0状态信号的编码 S2 S1 S0 操作过程 产生信号 0 0 0 发中断响应信号 /INTA 0 0 1 读I/O端口 IORC 0 1 0 写I/O端口 IOWC 0 1 1 暂停 无 1 0 0 取指令 /MRDC 1 0 1 读存储器 /MRDC 1 1 0 写存储器 /AMWC 1 1 1 无作用 无,(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组合决定:,/BHE A0 总线使用情况 0 0 从偶地址单元开始,在16位数据总线上进行字传送 0 1 从奇地址单元开始,在高8位数据总线上进行字节传送 1 0 从偶地址单元开始,在低8位数据总线上进行字节传送 1 1 无效,8086用两个存储体来组织实际存储空间,奇地址,偶地址,00001H,00003H,00000H,00002H,FFFFEH,FFFFFH,.,.,BHE,A0,A0 A19 BHE,D8 D15,D0 D7,地址交叉排列,8086,D0 D15,规划字(对准字)存放 : 偶地址作为字的地址非规划字(非对准字)存放 : 奇地址作为字的地址规则字的读/写只需访问一次存储器;非规则字的读/写需二次访问存储器。第一次访问奇地址,第二次访问偶地址。,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:0003H 2000H:0000H 12H 0001H 34H 0002H 56H 0003H 78H,(2)物理地址的形成物理地址=段基址 * 16(左移4位)+偏移地址。段基址:CS、DS、ES、SS。偏移地址:IP、DI、SI、BX、BP、SP等。物理地址的形成如下:(由20位地址全加器实现),段寄存器值,偏移量,+,物理地址,16位,4位,16位,20位,0000,一个存储单元可以有一个或多个逻辑地址,但只能有一个物理地址。 例如物理地址21000H可以有以下几个逻辑地址: 2100:0000H 2000:0100H段基址由系统自动分配,而偏移地址则由用户编程时提供。 DATA SEGMENT X DB 12H Y DW 34H DATA ENDS 则DS段中,Y的地址为0001H,非规则存放。,CS 0000,IP,代码段,DS或ES 0000,SI、DI或BX,SS 0000,SP或BP,数据段,堆栈段,存储器,段寄存器和偏移地址寄存器组合关系,4 、堆栈和堆栈操作命令 堆栈主要用于暂存数据和在过程调用或处理中断时暂存断点信息。 (1)堆栈的概念 堆栈是在存储器中开辟的一片数据存储区,这片存储区的一端固定,另一端活动,且只允许数据从活动端进出。采用“先进后出”的规则 。 (2)堆栈的组织 堆栈指示器SP,他总是指向堆栈的栈顶。堆栈的伸展方向既可以从高地址向低地址,也可以从低地址向高地址。8086的堆栈的伸展方向是从高地址向低地址。,(3)堆栈的操作建栈:通过对SS和SP的赋值建立。(也可省略) 如:MOV AX,2000H MOV SS,AX MOV SP,0100H SS:SP 2000:0000 XX 2000:0001 XX 堆栈段 2000:00FF 2000:0100 XX 栈底(栈顶)SP=0100H,进栈操作:PUSH 指令(字操作) 已知 AX=1234H、BX=5678H,PUSH AX、PUSH BX 第一次PUSH 操作: 第二次PUSH操作: 2000:0000 XX 2000:0000 XX 2000:0001 XX 2000:0001 XX 2000:00FC XX 2000:00FC 78 SP 2000:00FD XX 2000:00FD 56 2000:00FE 34 SP 2000:00FE 34 2000:00FF 12 2000:00FF 12 2000:0100 XX (栈底) 2000:0100 XX,出栈操作:POP 指令(字操作) 在前面操作的基础上作POP CX操作: 2000:0000 XX 2000:0001 XX 2000:00FC 78 2000:00FD 56 2000:00FE 34 SP 2000:00FF 12 2000:0100 XX (栈底),操作后:AX=1234HBX=5678HCX=5678HSP=00FEHSS=2000H,2.4 总线周期与操作时序 在微机系统中,CPU是在时钟信号CLK控制下,按节拍有序地执行指令序列。从取指令开始,经过分析指令、对操作数寻址,然后执行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论