微机接口第三章课件.ppt

上传人(卖家):晟晟文业 文档编号:4292193 上传时间:2022-11-26 格式:PPT 页数:79 大小:700.87KB
下载 相关 举报
微机接口第三章课件.ppt_第1页
第1页 / 共79页
微机接口第三章课件.ppt_第2页
第2页 / 共79页
微机接口第三章课件.ppt_第3页
第3页 / 共79页
微机接口第三章课件.ppt_第4页
第4页 / 共79页
微机接口第三章课件.ppt_第5页
第5页 / 共79页
点击查看更多>>
资源描述

1、封面 基本概念基本概念(总线、堆栈等总线、堆栈等)Intel 8086微处理器的结构微处理器的结构 Intel 8088微处理器的结构微处理器的结构 了解三总线及堆栈的工作原理。了解三总线及堆栈的工作原理。掌握掌握Intel 8086系统的构成和工作原系统的构成和工作原理理 重点掌握重点掌握Intel 8086微处理器的结微处理器的结构。构。3.1 8086微处理器的结构微处理器的结构一、总线一、总线1.总线的由来总线的由来在在计算机中,计算机中,CPU与其他功能部件之与其他功能部件之间存在大量的信息交流,其间就需要使用间存在大量的信息交流,其间就需要使用通信线路连接起来,通信线的设置和连接通

2、信线路连接起来,通信线的设置和连接可采用两种方式。可采用两种方式。(1)专线式专线式:将各个功能部件分别设置与其它部件通信的线路。优点优点:传送速率高,它只受传送线本身的限制,且控制简单。.缺点缺点:机器所需要的信息传送线数量大,增加了复杂性,不便于实现机器的模块和积木化。(2)总线式总线式:在多个功能部件之间设置公共的通信线即总线。图中当图中当A和和A门打开时,信息由门打开时,信息由A传至传至A;A和和C 门打开时,信息便从门打开时,信息便从A传至传至C 。ABCABC 总 线 示 意 图 总线上能同时传送二进制信息的位数称为总线宽度。见下图。由于采用了分时传送的总线结构从而大大减少了机器中

3、信息传送线的数目。a.分时传送:分时传送:多个部件并联在总线上,某一时刻,只允许一路信息在总线上传送。b.控制复杂控制复杂:总线的发送端及接收端均有三态门电路。打开三态门信息经总线传送到目的端。若不传送信息,则使三态门处于高阻状态,相当于此部件在逻辑上与总线脱离联系。c.系统结构简单,便于扩展系统结构简单,便于扩展。特点:特点:2.总线的分类总线的分类 总线按信息传送的方向方向可分为单向总单向总线线和双向总线双向总线。单向总线单向总线只能向一个方向发送信息。双向总线双向总线则可在两个方向传送。总线按所传信息的类别,通常分为数数据总线据总线、地址总线地址总线和控制总线控制总线。(1)数据总线数据

4、总线 (Data Bus)是微处理器微处理器与存储器存储器和I/O电路电路间数据交换的通道,可双向双向传送。数据总线的宽度宽度一般与微处理器处理数据的字长字长相同,具有三态。(2)地址总线地址总线 (Address Bus)是微处理器输出地址输出地址用的总线,它将地址送到存储器或I/O电路,用来确定存储器中信息存放的地址或I/O电路的地址,AB一般为单向、三状态。(3)控制总线控制总线 (Control Bus)是用来传送控制信号控制信号,使各功能部件动作同步。二、二、Intel 8086Intel 8086微处理器的结构微处理器的结构 8086是是Intel系列的系列的16bit微处理器,属

5、第三代。微处理器,属第三代。8086有有16bit数据总线和数据总线和20bit地址线,可寻址地址线,可寻址1M空间。空间。8086采用单一采用单一+5V电源和单相时钟,频率为电源和单相时钟,频率为5MHZ。20位AH ALBH BLCH CLDH DLSPBPDISIALU运算寄存器标志执行部件控制电路16位CS DS SS ESIP 内部暂存器8位1 2 3 4 5 6执行部件 (EU)输入/输出控制电路16位 外部总线 指令队列缓冲器总线接口部件(BIU)通用寄存器地址加法器1.1.总体功能结构总体功能结构8086CPU的结构框图8086从功能结构来讲,分为两大部分,即总线接口部件总线接

6、口部件BIU(Bus Interface Unit)和执行执行部件部件EU(Execution Unit)。(1)BIU部件部件由段段寄存器寄存器、指令指针指令指针、地址加法器地址加法器、指令队列缓冲器指令队列缓冲器和控制电路控制电路等部分组成。在执行指令时,如要取操作数,则也由BIU从内存内存或I/O接口接口指定区域取出,送给EU部件去执行。BIU负责与存储器、负责与存储器、I/O接口电路传送信息。接口电路传送信息。BIU负责从指定内存单元取出指令,送到指令队列缓冲器中排队。指令队列缓冲器指令队列缓冲器是一个6个字节个字节的RAM存储器(8088为4个字节个字节),队列中最多可同时存放6个字

7、节的指令,取来的指令是按字节顺序存放的。当队列中有两个以上的指令字节空的时候,BIU会自动地执行总线操作,继续取指令。(2)EU部件部件 由ALU、通用寄存器通用寄存器、标志寄存器标志寄存器和控制电路控制电路组成,负责指令的执行。ALU、寄存器和数据传输通路均是16bit的。若执行的是一条转移指令转移指令,则存放在指令队列缓冲器中的指令就没有用了,应到新的地址单元去取出。BIU新取出的第一条指令将直接送到EU中去执行,随后重新填充指令队列缓冲器。EU从从BIU中的指令队列缓冲器中取得指令中的指令队列缓冲器中取得指令和数据。和数据。当指令要求将数据写写到存储器存储器和I/O电路电路,或需从存储器

8、存储器和I/O电路电路中读读取数据时,EU向BIU发出请求,BIU自动完成这些操作。(3)8086与传统微处理器指令执行过程比较与传统微处理器指令执行过程比较取指3执行3取指4执行2取指2执行1取指1 传统微处理器的执行方式传统微处理器取指与执行串行进行,传统微处理器取指与执行串行进行,CPU的工作效率低。的工作效率低。取数据取指5取指4取指3取指2取指1BIU执行4执行3执行2执行1等待EU 8086的指令执行方式8086CPU取指与执行并行进行,大大取指与执行并行进行,大大减少了等待取指令所需时间,提高了减少了等待取指令所需时间,提高了CPU的工作效率。的工作效率。2.寄存器结构寄存器结构

9、8086CPU 内部寄存器DLDHCLCHBLBHALAH通用寄存器AXBXCXDXSPBP SI DI数据寄存器CSDSSSESIPFLAG变址寄存器指针寄存器堆栈指针基数指针源变址目的变址指令指针状态标志代码段数据段堆栈段附加段段寄存器控制寄存器(1)通用寄存器通用寄存器8个个16bit通用寄存器。通用寄存器。SP堆栈指针,存放堆栈栈顶的现行地址,与SS堆栈段寄存器一起方可确定堆栈的实际地址。BP基址指针 SI源变址寄存器 AX,BX,CX,DX 4个16bit的通用数据寄存器,它们的高8bit AH,BH,CH,DH与低8bit AL,BL,CL,DL又可分别看成8个8bit的寄存器。D

10、I目的变址寄存器(2)控制寄存器控制寄存器 IP(Instruction Pointer)指令指针与指令指针与PC类似,但有区别:类似,但有区别:a.PC是是指向下一条即将要执行的指令,而指向下一条即将要执行的指令,而IP一般是指向下一次要取出的指令。一般是指向下一次要取出的指令。b.在在8086中中IP要与要与CS代码段寄存器的内容代码段寄存器的内容一起,才能得到指令的实际地址。一起,才能得到指令的实际地址。TFSFZFAFPFOFDFIFCF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 标志寄存器格式a.6个状态标志位个状态标志位,即CF、PF、AF、ZF、S

11、F和 OF。进位标志进位标志CF(Carry Flag):FLAG(标志寄存器标志寄存器)为为16bit,其中其中9位有定义位有定义 当结果的最高位(字节D7,字D15)产生进位(加法运算)或借位(减法运算)时,CF=1;否则,CF=0,移位和循环指令也影响CF。奇偶标志位奇偶标志位PF(Parity Flag):若结果中的低8位含有“1”的个数为偶数,则PF=1;否则,PF=0。辅助进位标志辅助进位标志AF(Auxitiary Carry Flag):在低半字节向高半字节有进位或借位时AF=1;否则,AF=0。零标志零标志ZF(Zero Flag):当运算结果为0时ZF=1;否则,ZF=0。

12、符号标志符号标志SF(Sign Flag):SF等于最高位,对于带符号数,最高位为符号位,SF=1运算结果为负,SF=0为正。溢出标志溢出标志OF(Overflow Flag):带符号数运算结果超出其表达范围时(字节数:-128+127,字类型数:-32768+32767),OF=1;否则,OF=0。用表达式给出141515677溢出CCCCOF(字节运算)(字运算)例:2345H+3219H 6400H+7A3CHCF=0 PF=0 AF=0 ZF=0 SF=0 OF=0CF=0 PF=1 AF=0 ZF=0 SF=1 OF=1 b.3个控制标志位个控制标志位 追踪标志追踪标志TF(Trac

13、e Flag):TF=1,处理器进入单步方式,以便调试调试,CPU每执行一条指令自动产生一个内部中断以利于检查指令的执行情况;TF=0为连续工作方式。中断允许标志中断允许标志IF(Interrupt-enable Flag):IF=1,允许CPU响应外部的可屏蔽中断可屏蔽中断请求;IF=0则禁止响应。IF对外部非屏蔽中非屏蔽中断断及及内部中断内部中断不起作用。方向标志方向标志DF(Direction Flag):在串操作指令串操作指令中,DF=0时,变址指针自动增量;DF=1时,则自动减量。(3)段寄存器段寄存器CS代码段寄存器,用于定义代码段基地代码段寄存器,用于定义代码段基地址,该段用于存

14、放指令代码。址,该段用于存放指令代码。DS数据段寄存器,用于定义数据段基地数据段寄存器,用于定义数据段基地址,该段用于存放数据。址,该段用于存放数据。有有4个个16bit的段寄存器的段寄存器SS堆栈段寄存器,用于定义堆栈段基地址,堆栈段寄存器,用于定义堆栈段基地址,该段作堆栈区使用。该段作堆栈区使用。ES附加数据段,用于定义附加段基地址附加数据段,用于定义附加段基地址,与与DS类似。类似。上述上述4个段在个段在8086寻址的寻址的1MB空间内,空间内,其位置不受限制,可连续排列、分隔排列、其位置不受限制,可连续排列、分隔排列、部分重叠甚致全部重叠。部分重叠甚致全部重叠。三、三、80868086

15、存储器管理存储器管理 8086采用分段管理的办法实现对1MB存储空间的管理(物理地址00000HFFFFFH),16bit的段寄存器存放了该段的段首址,那么它是怎样产生20bit的物理地址的呢?我们通常采用在地址编号能被16整除的地方开始分段,此时地址的低4bit均为0,这时段寄存器只用来存放高16bit即可,以下有几个概念。段内偏移量段内偏移量EA(Effective Address):是指某存储单元离开该段段首址的字节数。逻辑地址逻辑地址(Logical Address):是一对地址,包含段寄存器的内容和段内偏移量,如某条指令的逻辑地址可表达为:CS:IP。物理地址物理地址PA(Physi

16、cal Address):是指某个存储单元实际的20位位的地址,又称绝对地址。由由上面的定义可知:上面的定义可知:物理地址物理地址PA=对应段寄存器对应段寄存器10H十段内偏移量十段内偏移量EA。物理地址的形成如下图所示。物理地址的形成如下图所示。物理地址的形成 段寄存器值 000020位物理地址19 015 015 0偏移地址加法器16 位 4位 例如例如:若CS=FFFFH,IP=0000H,则指令所在存储单元的物理地址为:PA=(CS)10H+IP=FFFF0H 当取指令时当取指令时,自动选择的段寄存器是CS,再加上IP所决定的16位偏移量,得到要取出指令具体的物理地址:当涉及到取一个堆

17、栈操作数时当涉及到取一个堆栈操作数时,自动选择的段寄存器是SS,再加上SP所决定的16位偏移量,得到堆栈操作所需要的20位物理地址。当涉及到取一个操作数时当涉及到取一个操作数时,自动选择DS数据段寄存器或ES附加段寄存器,再加上16位偏移量,得到操作数的20位物理地址。16位偏移量取决于指令的寻址方式。如下图所示:IPCSSI,DI或BXDSSP或BPSS代码段代码段数据段数据段堆栈段堆栈段3.2 8086的的引脚信号及工作模式引脚信号及工作模式 最小模式:即由最小模式:即由8086组成的单处理器系组成的单处理器系统,所有的总线控制信号由统,所有的总线控制信号由8086直接产生,直接产生,系统

18、中的总线控制逻辑电路被减到最少。系统中的总线控制逻辑电路被减到最少。最大模式:即由最大模式:即由8086组成的中等规模或组成的中等规模或者大型的系统。包含两个或多个微处理器,者大型的系统。包含两个或多个微处理器,8086为主处理器,其它的为为主处理器,其它的为协处理器协处理器。一、一、80868086的两种工作模式的两种工作模式 8086采用双列直采用双列直插式封装,有插式封装,有40个引个引脚脚(如右图所示如右图所示),但,但总线信号数量却大于总线信号数量却大于40,故,故8086采用了分采用了分时复用技术,部分引时复用技术,部分引脚传送两种总线信号。脚传送两种总线信号。二、二、808680

19、86引脚图引脚图12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8086CPU8086的引脚信号注:括号内为该引脚

20、在最大模式下的名称1.最小模式下引脚信号及功能:最小模式下引脚信号及功能:(1)地址地址/数据总线数据总线AD15AD0(双向、三态双向、三态)在一个总线周期的第一个时钟周期用于传在一个总线周期的第一个时钟周期用于传送低送低16bit地址信息,并用地址锁存器锁存地址信息,并用地址锁存器锁存以免丢失,以免丢失,其它时钟周期可用于传送数据信息,分时其它时钟周期可用于传送数据信息,分时传送。传送。当当8086执行中断响应周期、保持响应周期时,执行中断响应周期、保持响应周期时,这些引脚处于高阻状态。这些引脚处于高阻状态。(2)地址地址/状态信号线状态信号线A19/S6A16/S3(输出、三态输出、三态

21、)在总线周期的第一个时钟周期在总线周期的第一个时钟周期(T1)用于输出用于输出地址信号的最高地址信号的最高4bit并锁存。并锁存。其它时钟周期中用来输出状态信号其它时钟周期中用来输出状态信号S6S3,其中:其中:S6低电平,表示低电平,表示8086当前与总线相连。当前与总线相连。S5表示标志寄存器中表示标志寄存器中“中断允许位中断允许位”的状态的状态(IF)。S4,S3的组合指出了分段情况。如下表所示。的组合指出了分段情况。如下表所示。S S4 4和和S S3 3的组合提供的分段信息表的组合提供的分段信息表S4S3意意 义义00110101当前正在使用当前正在使用ES附加段附加段当前正在使用当

22、前正在使用SS堆栈段堆栈段当前正在使用当前正在使用CS或者未使用任何段寄存器或者未使用任何段寄存器当前正在使用当前正在使用DS数据段数据段 当当 C P U 处 于处 于“保 持 响 应保 持 响 应”状 态 时,状 态 时,A19/S6A16/S3置为高阻置为高阻状态。状态。若执行若执行I/O指令,则由于指令,则由于8086只访问只访问64K个个端口,在端口,在T1周期这周期这4个引脚为低电平。个引脚为低电平。(3)BHE/S7高高8位数据总线允许位数据总线允许/状态线状态线(输出输出,三态三态)在T1状态,8086在BHE/S7引脚输出BHE信号,表示高8位数据总线D15D8上的数据有效,

23、与地址线A0一起产生存储器的选择逻辑信号。在其它时钟周期,输出为状态信号S7。但8086芯片,S7未定义。下面介绍引脚中的控制信号。下面介绍引脚中的控制信号。(4)MN/MX最小最小/最大模式控制信息最大模式控制信息低电平 8086处于最大模式。高电平 8086处于最小模式。(5)RD读信号读信号(输出,三态输出,三态)低电平有效。表示将对内存或I/O端口读操作。(6)M/IO,存储器存储器/输入输出控制信息输入输出控制信息 (输出,三态输出,三态)区分CPU进行的是存储器还是I/O访问,见下表。RDM/IO操操 作作1000读存储器数据读存储器数据读读I/O端口数据端口数据 RDRD与与 M

24、/IOM/IO的组合及对应的操作表的组合及对应的操作表(7)WR写写信号信号(输出,三态输出,三态)1000CPU对存储器进行写操作对存储器进行写操作CPU对对I/O端口进行写操作端口进行写操作 WRWR与与 M/IO M/IO 的组合及对应的操作表的组合及对应的操作表操操 作作WRM/IO低电平有效。WR与M/IO的组合对应的操作如下表所示。(8)ALE地址锁存允许信号地址锁存允许信号(输出输出)高高电平有效电平有效,此信号在T1状态有效,为地址码锁存的选通信号,送地址锁存器。(9)READY准备就绪信号准备就绪信号(输入输入)高电平有效高电平有效,是从所寻址的存储器存储器或I/O电路电路来

25、的响应信号,用于解决CPU与慢速存储器或I/O电路的同步问题同步问题。CPU在T3周期开始采样READY线,若为低电平,则T3之后插入TW等待周期等待周期直到READY为高电平,进入T4完成数据传送。(10)INTR可屏蔽中断请求信号可屏蔽中断请求信号(输入输入)高电平有效高电平有效,8086在每一个指令周期的最后一个T状态采样这条线,若为有效,且IF=1,则8086在执行完当前指令即响应中断。(11)INTA中断响应信号中断响应信号(输出,三态输出,三态)低低电平有效电平有效,CPU响应外部可屏蔽中断可屏蔽中断请求以后,便发出中断响应信号,作为对中断请求的回答。此信号在每一个中断响应周期的T

26、2、T3和TW周期均有效,为中断矢量的读选通信号。(12)NMI非屏蔽中断请求信号非屏蔽中断请求信号(输入输入)边沿触发边沿触发,该线上的中断请求信号不能用软件屏蔽,电平由低到高,便在当前指令结束后引起中断。(13)RESET系统复位信号系统复位信号(输入输入)高电平有效高电平有效,8086要求此信号起码维持4个时钟周期;若初次加电复位,持续时间不小于50 s。RESET为高电平时,8086立即结束现行操作,进入内部复位状态,CPU各内部寄存器被设置为初值初值:CS=FFFFH,Flag、IP、DS、ES、SS及其它寄存器均初始化为0000H。(14)DT/R数据收发控制信号数据收发控制信号(

27、输出、三态输出、三态)为增强数据总线的驱动能力,8086可外接驱动器8286,DT/R即为8086输出给数据收发器8286的控制信号。DT/R高电平高电平,8086输出的数据经8286送到数据总线;DT/R低电平低电平,收发器8286则把数据总线上的数据传送到8086。系统工作在DMA方式时,DT/R为高阻状态。高电平有效高电平有效。系统中其他的总线主设备系统中其他的总线主设备要获得对总线的控制权时,向要获得对总线的控制权时,向8086发出高电发出高电平的平的HOLD信号,信号,8086在每个时钟周期的上升沿对HOLD引脚信号进行检测,若为高电平,则在当前总线周期结束时,予以响应。(16)HO

28、LD保持请求信号保持请求信号(输入输入)(15)DEN数据允许信号数据允许信号(输出,三态输出,三态)低电平有效低电平有效,也是8086控制外接的数据收发器,低电平时开启收发器,传送数据有效;高电平时,则禁止传送。(17)HLDA保持响应信号保持响应信号 (输出输出)高电平有效。当当 CPU响 应 保 持 请 求响 应 保 持 请 求HOLD时,便发出时,便发出HLDA高电平的应答信号,高电平的应答信号,从而将总线控制权让给发出保持请求的设备,直到该设备又将HOLD信号变为低电平,CPU才收回总线控制权,将HLDA信号置为低电平。低电平有效。与WAIT等待指令结合使用,当CPU执行WAIT指令

29、时,CPU处于空转状态进行等待直到检测到TEST信号有效时结束,CPU继续往下执行指令。(18)TEST测试信号测试信号(输入输入)(19)CLK系统时钟输入信号系统时钟输入信号 时钟信号为时钟信号为CPU和总线控制逻辑电路和总线控制逻辑电路提供定时基准提供定时基准。常用INTEL8284A时钟发生器提供CLK信号。工作在最小模式下8086的典型配置如右图所示。8086地址锁存器STB(82862)OE(选用)数据总线地址总线(82823)READYRESETMN/MXALEBHEA19A16AD15AD0DENDT/RM/IOWRRDHOLDHLDAINTRINTA(8284A)X1 X2C

30、LKREADYRESET+5VBHEA19A0D15D02.最大模式下引脚信号及功能最大模式下引脚信号及功能 若将8086的MN/MX引脚接地便工作在最大模式。此时仅2431引脚信号与最小模式不同,如下表所示。引脚引脚编号编号最小模式最小模式最大模式最大模式2425262728293031QS1QS0S0S1S2LOCKRQ/GT1RQ/GT0INTAALEDENDT/RM/IOWRHLDAHOLD 两种模式下两种模式下8086的的2431引脚信号表引脚信号表(1)QS1和和QS0指令队列状态信号指令队列状态信号(输出输出)QSQS1 1和和QSQS0 0编码与队列状态表编码与队列状态表QS1

31、QS0 队列状态队列状态00110101空操作空操作取走指令的第一个字节取走指令的第一个字节队列空队列空从队列里取出的字节是指令的后续字节从队列里取出的字节是指令的后续字节两两信号编码和对应的队列状态如下表所示。信号编码和对应的队列状态如下表所示。这三个状态信号组成的编码表示了当前总这三个状态信号组成的编码表示了当前总线周期是何种操作周期,如下表所示。线周期是何种操作周期,如下表所示。2,1和和 0编码与总线周期表编码与总线周期表SSS发中断响应信号发中断响应信号读读I/O端口端口写写I/O端口端口暂停暂停取指令取指令读存储器读存储器写存储器写存储器 无源状态无源状态0101010100001

32、11100110011S总线周期总线周期2S10S(2)S2,S1和和 S0总线周期状态信号总线周期状态信号(输出,三态输出,三态)(3)LOCK总线封锁信号总线封锁信号(输出,三态输出,三态)低低电平有效电平有效。此信号有效时,系统中其他总线主部件不能占有总线。此信号由前缀指令LOCK使其有效,并保持到LOCK前缀后的一条指令执行完毕。另外8086在两个中断响应周期之间,LOCK信号也自动变为有效电平,以防其它部件占有总线。下图给出了下图给出了8086在最大模式下的典型配置。在最大模式下的典型配置。(4)RQ/GT1和和RQ/GT0总线请求总线请求/允许信号允许信号(双向双向)供CPU以外的

33、两个处理器用以发出使用总线的请求信号和接收CPU对总线请求信号的回答信号,请求与允许信号在同一引脚上传输,但方向相反。其中RQ/GT0优优先级较高先级较高。8086在最大模式下的典型配置8086CPU时钟发生器(8284A)8288CLKDENALEMN/MXSTBOEOETIORCIOWC数据总线MRDCMWTCBHE8282382862CLKREADYRESETBHES0S1S2S0S1S2DT/RA19A0D15D0INTAA19A16AD15AD0 1READYRESET总线控制器地址总线 由由图图可以看出:可以看出:8086在最大与最小模在最大与最小模式下的主要区别是增加了一个式下的

34、主要区别是增加了一个8288总线控总线控制器。制器。8288接受接受8086CPU的状态信号的状态信号S2、S1和和S0,经过变换和组合,由经过变换和组合,由8288发出对存储发出对存储器和器和I/O端口的读端口的读/写信号,对锁存器写信号,对锁存器8282及及对总线收发器对总线收发器8286的控制信号。的控制信号。三、三、8086系统中的堆栈系统中的堆栈按“后进先出后进先出”原则,用作数据暂时存储的一组寄存器寄存器或存储单元存储单元称为堆栈。堆栈操作有两种:压入压入(PUSH)和弹出和弹出(POP),而SP始终指向堆栈栈顶的新位置。1.堆栈的定义堆栈的定义堆栈中数据按“后进先出后进先出”的结

35、构方式进行处理,即新入栈的依次堆放在原来数据之上,存放信息的最后一个单元叫做栈顶栈顶,用堆栈指针SP(Stack Pointer)指示。2.堆栈编址结构的两种形式堆栈编址结构的两种形式(1)向上生成向上生成该结构中,每压入压入一个数据,堆栈指示器SP按增量增量修改;每弹出弹出一个数据,SP按减量减量修改。(2)向下生成向下生成该结构中,每压入压入一个数据,SP按减减量量修改;每弹出弹出一个数据,SP按增量增量修改。3.构成堆栈的两种形式构成堆栈的两种形式 一种是使用微处理器内部的一种是使用微处理器内部的一组寄存器一组寄存器作为堆栈。作为堆栈。优点优点:访问速度快。:访问速度快。缺点:缺点:寄存

36、器数量有限。寄存器数量有限。另一种形式是在另一种形式是在随机存储器随机存储器RAM中开辟中开辟一个区间供堆栈使用,较为普遍;若编址一个区间供堆栈使用,较为普遍;若编址采用向下生成,其堆栈操作如下图所示。采用向下生成,其堆栈操作如下图所示。堆栈操作示意图(向下生成)M3M2M1MXSP(a)M3M2M1MXSP(b)AM3M2M1MXSP(c)ABSPASPBSPC当前栈顶地址为当前栈顶地址为M,存内容存内容X信息信息B进栈:进栈:SPSP1,SP指定的地址指定的地址B信息信息A进栈分两步操进栈分两步操作作:SPSP1,SP指定的地址单元指定的地址单元A 堆栈操作示意图(向下生成)MM3M2M1

37、XSP(d)ABCM3M2M1MXSP(f)ABCM3M2M1MXSP(e)ACBSPDSPCSPB信息信息C进栈进栈信息信息C出栈分两步操作:指定出栈分两步操作:指定的目的地的目的地C,SPSP+1信息信息B出栈:指定目的地出栈:指定目的地B,SPSP+1 堆栈操作示意图(向下生成)MM3M2M1XSP(g)ADCM3M2M1MXSP(i)ADCM3M2M1MXSP(h)ACDSPDSPA信息信息D进栈:进栈:SPSP1,SP指定的地址指定的地址D信息信息D出栈出栈信息信息A出栈,栈顶地出栈,栈顶地址仍为址仍为M 由上图由上图中中可以看出,出栈操作并不会从可以看出,出栈操作并不会从堆栈中去掉

38、信息,也不擦除它们,只是因堆栈中去掉信息,也不擦除它们,只是因SP的自动修改而改变了堆栈的栈顶。的自动修改而改变了堆栈的栈顶。堆栈主要用于中断控制,子程序调用以堆栈主要用于中断控制,子程序调用以及数据暂时存储。及数据暂时存储。3.3 8088微处理器微处理器8088是是Intel公司继公司继8086之后推出的简化之后推出的简化版。版。IBM公司采用公司采用8088CPU于于1981年推出年推出了了IBM PC机机,开创了个人计算机的开创了个人计算机的新时代新时代。一、一、8088的功能结构的功能结构8088的的内部结构与内部结构与8086基本相同基本相同,都是都是16位位CPU,只是外部数据总

39、线的宽度不同。只是外部数据总线的宽度不同。8086的的外部数据总线宽度为外部数据总线宽度为16位位,而而8088的外部的外部数据总线宽度为数据总线宽度为8位位,故称故称8088为准为准16位位CPU。内部结构不同点内部结构不同点:8086的的BIU中有一个中有一个6字节的指字节的指令队列令队列,而而8088的的BIU中只有一个中只有一个4字节的指令队字节的指令队列。当列。当8088指令队列有指令队列有1个字节空余个字节空余(8086为为2个个字节空余字节空余)时时,BIU将自动取指到指令队列。将自动取指到指令队列。8088采用双列直采用双列直插式封装,有插式封装,有40个引个引脚脚(如右图所示

40、如右图所示),电源,电源为单一为单一+5V,主时钟频主时钟频率为率为4.77MHz,但总线但总线信号数量却大于信号数量却大于40,AD0-AD7采用了分采用了分时复用技术,部分引时复用技术,部分引脚传送两种总线信号。脚传送两种总线信号。12345678910111213141516171819204039383736353433323130292827262524232221GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCA15A16/S3A17/S4A18/S5A19/S6SSO/(HIGH)MN/MXRDHOLD(

41、RQ/GT0)HLDA(RQ/GT1)WR(LOCK)IO/M(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8088CPU8088的引脚信号注:括号内为该引脚在最大模式下的名称二、二、80888088引脚图引脚图在最小模式系统中,在最小模式系统中,8088CPU只有只有8位数位数据总线,不需要据总线,不需要BHEBHE信号。该引脚信号。该引脚(第第34脚脚)定定义为义为SS0SS0。SSOSSO 是一个输出状态信号,是一个输出状态信号,而且具而且具有三态,在逻辑上等效于最大模式下的有三态,在逻辑上等效于最大模式下的S0。SSOSSO 和和I

42、O/M及及DTR R信号组合起来,决信号组合起来,决定了当前总线周期的操作。这三个信号的组合定了当前总线周期的操作。这三个信号的组合编码及其对应的总线操作如下表所示编码及其对应的总线操作如下表所示中断响应中断响应读读I/O端口端口写写I/O端口端口暂停暂停取指取指读存储器读存储器写存储器写存储器 无作用无作用010101011111000000110011IO/MIO/M、DT/R和和SS0的状态编码的状态编码 DT/RSS0性性 能能1.8086存储器组织存储器组织存储器中,任何两相邻的字节被定义为一个字,构成字的两个字节都有各自的字节地址。(1)字的地址:字的地址:字的高字节放高地址字的高

43、字节放高地址,低字节放低低字节放低 地址地址,低字节的地址作为字的地址低字节的地址作为字的地址(2)字的存放方式字的存放方式:a.非规则存放非规则存放:若一个字从奇数地址开始存放 b.规则存放规则存放:若一个字从偶数地址开始存放(3)字的存放原则字的存放原则:规则存放规则存放二、简单的二、简单的8086存储器子系统的设计存储器子系统的设计图4.22 字的规则存放和非规则存放字的字的规则存放规则存放字的字的非规则存放非规则存放存储器存储器地址地址 00200H00201H00202H00203H00204H00205H00206H34H12H字节变量78H56H字节变量为了解决为了解决16位位C

44、PU与与8位存储器芯片的位存储器芯片的连接问题,将连接问题,将8086的的1MB存储空间分成两个存储空间分成两个512 KB 的存储体,具体为:的存储体,具体为:(1)偶数存储体与偶数存储体与8086的的D0D7相连。相连。(2)奇数存储体与奇数存储体与8086中中D8D15相连。相连。(3)A1A19用来同时访问两个存储体的字节用来同时访问两个存储体的字节单元。单元。(4)A0和和BHE(高高8位数据总线允许位数据总线允许)信号用信号用来选择存储体。来选择存储体。图4.23 存储体与总线的连接DBD15D8D7D0奇存储体A0ABBHEA19 A1偶存储体CSA19A1D7D0CSA19A1

45、D7D0 8086对存储器的访问形式,由信号BHE与A0的组合方式决定。表表4.2 BHE和和A0组合的对应操作组合的对应操作00从偶地址读从偶地址读/写一个字写一个字 AD15AD0 一个总线周期一个总线周期 10从偶地址读从偶地址读/写一个字节写一个字节 AD7AD0 一个总线周期一个总线周期 01从奇地址读从奇地址读/写一个字节写一个字节 AD15AD8 一个总线周期一个总线周期 0110从奇地址读从奇地址读/写一个字写一个字先读先读/写字的低写字的低8 8位(在奇体中)位(在奇体中)再读再读/写字的高写字的高8位(在偶体中)位(在偶体中)AD15AD8 AD7AD0 两个总线周期两个总

46、线周期 2.2.连接举例:连接举例:要求用要求用4K8的的EPROM芯片芯片2732、8K8的的RAM芯片芯片6264、3 3:8 8译码器译码器74LS138构成构成8K字字ROM和和8K字字RAM的存储器系统,如的存储器系统,如图图4.24 所示。所示。8K字的字的ROM由由4片片2732芯片组成,芯片组成,片内用片内用12根根地址线地址线A1A12寻址寻址。8K字的字的RAM由由2片片6264芯片组成,芯片组成,片内用片内用13根根地址线地址线A1A13寻址寻址。芯片选择由芯片选择由74LS138译码器输出译码器输出Y0、Y1完成。完成。74LS138译码器的输译码器的输入端入端C、B、

47、A分别连地址总线分别连地址总线A16A14,A0、BHE用来作为偶体用来作为偶体/奇体存储奇体存储器的体选控制信号。器的体选控制信号。由于由于2732的容量为的容量为4K8位,可用位,可用A13和和Y0信号进行信号进行二次译码二次译码,来选,来选择两组择两组ROM芯片。芯片。Y7ABCG2AG2BG1Y0Y1&A13A1CE3#偶偶体体CE2#偶偶体体CE1#偶偶体体CE3#奇奇体体CE1#奇奇体体CE2#奇奇体体&ABCG2AG2BG1Y0Y1Y7WR RDRDRDA13A1A12A1A12A1A12A1A12A1WR RDRDRDD7D0D15D8图4.24 8086 CPU与存储器连接的举例 04000H07FFFH 全全0 全全1100 3#组组 02000H03FFFH 全全0 全全1 1000 2#组组 00000H01FFFH 全全0 全全1 0000 1#组组 地址范围地址范围 A12A1A0 A13 A14 A15 A16 A17 A18 A19 芯片芯片注:高位地址线注:高位地址线A19、A18、A17未使用则其地址取未使用则其地址取0、1均可,均可,此处用此处用0代替,所以每块芯片将同时有代替,所以每块芯片将同时有23=8个重叠区。个重叠区。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(微机接口第三章课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|