微机原理与接口技术-第2章-80868088微处理器教材_第1页
微机原理与接口技术-第2章-80868088微处理器教材_第2页
微机原理与接口技术-第2章-80868088微处理器教材_第3页
微机原理与接口技术-第2章-80868088微处理器教材_第4页
微机原理与接口技术-第2章-80868088微处理器教材_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

第2章

8088/8086微处理器1教学目的熟悉8088/8086微处理器的结构及其外部引脚和功能掌握8088/8086微机存储器的组织了解8088/8086微处理器的两种工作模式了解8088/8086微处理器的工作时序第2章8086/8088微处理器23

CPU是计算机系统的核心部件,控制和协调整个计算机系统的工作。基本功能:⊙进行算术运算和逻辑运算;⊙对指令进行译码、分析、执行指令所规定的操作;⊙与存储器和I/O接口进行数据交换;⊙少量数据的暂存;⊙提供系统所需的定时和控制信号;⊙响应输入输出设备发出的中断请求。 8088与8086同属于第三代CPU,为16位CPU、地址总线宽度20位,20000条指令,CISC,它们支持完全相同的指令系统。区别:8086CPU内部数据总线为16位,外部数据总线宽度为16位,而8088的外部数据总线宽度为8位;另外8086的指令预取队列长度为6字节,而8088的指令预取队列长度为4字节。42.18088/8086微处理器的内部结构8086/8088包含两大功能部件,即执行单元(EU,ExecutionUnit)总线接口单元(BIU,BusInterfaceUnit)2.1.18086/8088CPU的功能结构6AHALBLCLDLDHCHBH

CX

DXBXAXSPBPDICSDSSSESIP通用寄存器组暂存寄存器ALUFLAGSEU控制部件ALU数据总线16位8位Q总线指令队列1234内部通信寄存器地址加法器20位数据总线16位段寄存器总线控制逻辑SI执行单元EU总线接口单元BIU1.执行单元EU功能:译码分析指令,执行指令,暂存中间运算结果并保留结果特征。

从指令队列中取指令代码译码在ALU中完成数据的运算运算结果的特征保存在标志寄存器FLAGS中。如果指令队列为空,EU就等待;2.总线接口单元BIU功能:负责与内存或输入/输出接口的信息传送;EU从指令预取队列中取走指令,指令队列出现空字节时,BIU就自动执行一次取指令周期,从内存中取出后续的指令代码放入指令预取队列中;从指定的内存单元或外设取EU需要的数据;保存EU的运算结果;当遇到跳转指令时,BIU就使指令队列复位,从新地址取出指令,并立即传给EU去执行。取指令读内存写内存读I/O端口写I/O端口发中断响应信号暂停98088以前的CPU采用串行工作方式,指令的执行过程一般为:取指令指令译码取操作数执行指令存放结果在EU和BIU之间增设了指令预取队列之后:在多数情况下,取指令操作和执行指令操作并行进行。8088/8086CPU的工作方式为并行工作指令预取队列的存在使EU和BIU两个部分可同时进行工作,从而减少了CPU为取指令而等待的时间;降低了对存储器存取速度的要求8088/8086CPU的这种结构被称为指令流水线结构。新型CPU将一条指令划分成更多的阶段,以便可以同时执行更多的指令,例如,PIII为14个阶段,P4为20个阶段(超级流水线)2.1.28088CPU的存储器组织12物理地址●

8088/8086:20根地址线,可寻址220(1MB)个存储单元。●CPU送到AB上的20位的地址称为物理地址。

代码段物理地址..60000H60001H60002H60003H60004H...12HF0H1BH08H高地址低地址段基址段基址段基址段基址最大64KB,最小16B段i-1段i段i+113

物理地址是CPU操作时所使用的地址;逻辑地址是应用人员在编程时所使用的地址。由逻辑地址形成物理地址是由总线接口部件中的地址加法器实现的。代码段寄存器:CS数据段寄存器:DS堆栈段寄存器:SS附加段寄存器:ES14AHALBLCLDLDHCHBH

CX

DXBXAXSPBPDICSDSSSESIP通用寄存器组暂存寄存器ALUFLAGSEU控制部件ALU数据总线16位8位Q总线指令队列1234内部通信寄存器地址加法器20位数据总线16位段寄存器总线控制逻辑SI执行单元EU总线接口单元BIU问题:8088的内部总线和内部寄存器均为16位,如何生成20位地址?解决:存储器分段①8086/8088系统中把可直接寻址的1兆的内存空间分为段的逻辑区域。每段的物理长度为64KB。②每段的第一个内存单元的物理地址称为段起始地址,段起始地址必须能被16整除,形式如XXXX0H,XXXXH为段基址,即段起始地址的高16位。段基址存在段寄存器CS、DS、SS、ES中。相对于该段起始地址的字节数称为偏移量;段基址和段内偏移量又称为逻辑地址。段起始地址可由软件指定③每个段都由连续的存储单元构成,并且独立寻址。存储器如何分段?段基地址和段内偏移量组成了逻辑地址

段基址偏移地址(偏移量)表示为:段基址:段内偏移量如:2000:0370H物理地址=段基址×10H+偏移地址0AH3EH60002H00H12H60000H0000段基地址(16位)段首地址××ו••×××已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,

DS段有一操作数,其偏移地址=0204H,

1)画出各段在内存中的分布

2)指出各段末地址

3)该操作数的物理地址=?10550H250A0H2EF00H8FF00HCSSSCSDSES解:

各段分布及段首址见右图所示。操作数的物理地址为:250AH×10H+0204H=252A4H存储器为什么要分段?因为8088/8086的寄存器都是16位的,无法装载20位的物理地址,所以它采用了将地址空间分段的方法;方便存储器的管理,采用分段甚至分页来管理,使得多个程序可以并行运行;分段寻址允许程序在存储器内重定位(浮动),可以把整个程序作为一个整体移到一个新的区域。允许实模式编写的程序在保护模式下运行。程序当中使用的地址都是逻辑地址。信息按特征分段存储。含14个16位寄存器,按功能可分为三类:8个通用寄存器4个段寄存器2个控制寄存器2.1.38088CPU的寄存器结构AHALBLCLDLDHCHBHDXCXBXAXSPBPDISI目的变址寄存器源变址寄存器基址指针寄存器堆栈指针寄存器通用寄存器AHALBLCLDLDHCHBHDXCXBXAXSPBPSIDIIPFLAGSCSDSSSES控制寄存器指令指针状态标志代码段寄存器数据段寄存器堆栈段寄存器附加段寄存器目的变址寄存器源变址寄存器基址指针寄存器堆栈指针寄存器通用寄存器段寄存器222.1.38088CPU的寄存器结构AHALAXBHBLBXCHCLCXDHDLDX堆栈指针寄存器SP基址指针寄存器BP源变址寄存器SI目的变址寄存器DI指令指针IP状态标志FLAGS代码段寄存器CS数据段寄存器DS堆栈段寄存器SS附加段寄存器ES按

分通

器专

器数据寄存器指针寄存器变址寄存器段寄存器控制寄存器数据寄存器8088含4个16位数据寄存器,它们又可分为8个8位寄存器,即:AXAH,ALBXBH,BLCXCH,CLDXDH,DL常用来存放参与运算的操作数或运算结果数据寄存器特有的习惯用法AX:累加器。多用于存放中间运算结果。所有I/O指令必须都通过AX与接口传送信息;BX:基址寄存器。常用于存放访问内存时的偏移地 址;CX:计数寄存器。用于在循环或串操作指令中存放循环次数或重复次数;DX:数据寄存器。在32位乘除法运算时,存放高16位数;在间接寻址的I/O指令中存放

I/O端口地址。地址指针寄存器SP:堆栈指针寄存器,其内容为栈顶的偏移地址;BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。BX与BP在应用上的区别作为通用寄存器,二者均可用于存放数据;作为基址寄存器,BX通常用于数据段,一般与DS或ES搭配使用;BP则通常用于堆栈段,与SS搭配使用。变址寄存器SI:源变址寄存器DI:目标变址寄存器变址寄存器常用于指令的间接寻址或变址寻址.段寄存器用于存放逻辑段的段基地址。

CS:代码段寄存器 DS:数据段寄存器

ES:附加段寄存器 SS:堆栈段寄存器堆栈段用于存放返回地址,保存寄存器内容,传递参数。指令指针寄存器IP:指令指针寄存器,其内容为下一条要执行的指令的偏移地址;标志寄存器FR(FlagRegister)、pswFLAGS:标志寄存器(程序状态字PSW)状态标志:存放运算结果的特征控制标志:控制某些特殊操作6个状态标志位(CF,SF,AF,PF,OF,ZF)3个控制标志位(IF,TF,DF)

CF-进位标志:算术运算时有进位CF=1,无进位CF=0PF-奇偶标志:运算结果中“1”的个数为偶数PF=1AF-辅助进位标志:第3位向第4位有进位时AF=1ZF-零标志:运算结果为“0”则ZF=1SF-符号标志:运算结果为负数时SF=1OF-溢出标志:运算结果超出规定范围OF=1IF-中断允许标志:IF=1中断允许DF-方向标志,DF=0地址加1TF-跟踪标志,TF=1,为单步工作方式2.2

8088CPU的引脚及其功能双列直插式封装40个引脚图2-68088微处理器芯片引脚图32338088/8086特点3:支持多处理器系统最小模式:系统控制总线的信号由芯片本身的引脚直接引出。仅需少量设备便可构成一个小型应用系统,也称为单处理机模式。不能DMA最大模式:系统总线由8088和总线控制器8288共同构成。这种模式下构成的微型机除8088CPU以外,还可以接一个协处理器8087。也称为多处理器模式。8088/8086可工作于两种模式34352.28088CPU的引脚及功能引脚定义的方法可大致分为:每个引脚只传送一种信息(RD等);引脚电平的高低代表不同的信号(IO/M等);CPU工作于不同方式有不同的名称和定义(WR/LOCK等);分时复用引脚(AD7

~AD0等);为了减少芯片的引脚,8088的许多引脚具有双重定义和功能,可以分时复用;即在不同时刻,这些引线上的信号是不同的。引脚的输入和输出分别传送不同的信息。3640条引脚, 双列直插式封装=1,最小模式=0,最大模式地址、段寄存器状态复用;S6=0,S5=IF,S4S3=00,ESS4S3=01,SSS4S3=10,CSS4S3=11,DS=1,访问输入输出端口;=0,访问存储器数据允许信号,数据总线上有有效数据;数据传送方向控制信号,=1,CPU发送数据;=0,CPU接收数据;就绪输入信号VccA15A16/S3A17/S4A18/S5A19/S6SS0 HIGHMN/MXRD 无功能HOLD RQ/GT0HLDA RQ/GT1WR

LOCKIO/M S2DT/R S1DEN S0ALE QS0INTA QS1TEST READYRESET12345678910111213141516171819204039383736353433323130292827262524232221GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND地址锁存允许信号,ALE=1,可屏蔽中断请求输入信号;系统状态信号输出;图2-78088读周期的时序图3738IO/MDT/RSS0操作000发中断响应信号001读内存010写内存011暂停100取指令101读I/O端口110写I/O端口111无作用SS0与IO/M、DT/R共同决定了最小模式下当前总线周期的状态。39

复位后的内部寄存器状态内部寄存器内容

内部寄存器内容CSFFFFH

IP0000HDS0000H

FLAGS0000HSS0000H

其余寄存器0000HES0000H

指令队列空40主要引线(最小模式下)8088是工作在最小还是最大模式由MN/MX端状态决定:MN/MX=0时工作于最大模式,反之工作于最小模式。数据信号线(DB)与地址信号线(AB):AD7~AD0:三态,地址/数据复用线。ALE有效时输出地址的低8位。传送数据信号时为双向。A19~A16:三态,输出。高4位地址信号,与状态信号S6-S3分时复用。A15~A8:三态,输出。输出8位地址信号。41主要的控制和状态信号WR:三态,输出。写命令信号;RD:三态,输出。读命令信号;IO/M:三态,输出。指出当前访问的是存储器还是I/O接口。高:I/O接口,低:内存DEN:三态,输出。低电平时,表示DB上的数据有效;RESET:输入,为高时,CPU执行复位;ALE:三态,输出。高:AB地址有效;DT/R:三态,输出。数据传送方向,高:CPU输出,低:CPU输入42[例]:当WR=1,RD=0,IO/M=0时,表示CPU当前正在进行读存储器操作。43READY信号(输入):用于协调CPU与存储器、I/O接口之间的速度差异,READY信号由存储器或I/O接口发出。READY=0时,CPU就在T3后插入TW周期,插入的TW个数取决于READY何时变为高电平。CPU处于空闲状态。44中断请求和响应信号INTR:输入,可屏蔽中断请求输入端。高:有INTR中断请求NMI:输入,非屏蔽中断请求输入端。低

高,有NMI中断请求INTA:输出,对INTR信号的响应。45总线保持信号HOLD:总线保持请求信号输入端。用于请求直接存储器存取(DMA)。为逻辑1,CPU停止执行指令,并将数据线、地址线和控制信号线置成高阻状态。为逻辑0,CPU正常工作。HLDA:保持响应信号,输出,对HOLD信号的响应。为高电平时,表示CPU已放弃总线控制权,所有三态信号线均变为高阻状态。46VccA15A16/S3A17/S4A18/S5A19/S6SS0 HIGHMN/MXRD 无功能HOLD RQ/GT0HLDA RQ/GT1WR

LOCKIO/M S2DT/R S1DEN S0ALE QS0INTA QS1TEST READYRESET12345678910111213141516171819204039383736353433323130292827262524232221GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND3.最大模式引脚为使微处理器工作于最大模式,应将MN/MX引脚接地。S2,S1和S0:这些状态位显示当前总线周期的功能。它们通常由8288总线控制器译码。47S2S1S0功能000中断响应001读I/O010写I/O011暂停100取操作码101读存储器110写存储器111无效状态表2-3总线控制器(8288)使用S2,S1和S0产生的总线控制功能483.最大模式引脚RQ/GT1和RQ/GT0:请求/同意引脚,在最大模式下请求直接存储器存取(DMA)。这两个引脚都是双向的,既可用于请求DMA操作,又可用于同意DMA操作。LOCK:锁定输出信号

温馨提示

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

评论

0/150

提交评论