第2章16位微处理器课件_第1页
第2章16位微处理器课件_第2页
第2章16位微处理器课件_第3页
第2章16位微处理器课件_第4页
第2章16位微处理器课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

第2章16位微处理器2.1

8086/8088内部寄存器8086寄存器组又称为8086的程序设计模型它是程序设计中惟一可见的CPU部件它是系统程序设计员的操作对象含14个16位寄存器,按功能可分为三类:通用寄存器,8个段寄存器,4个控制寄存器,2个8086/8088寄存器SPIPFLAGSAHALBHBLCHCLDHDLAXBXCXDXBPSIDICSDSESSS通用寄存器控制寄存器段寄存器16位16位1、通用寄存器

数据寄存器(AX,BX,CX,DX)地址指针寄存器(SP,BP)变址寄存器(SI,DI)地址指针寄存器SP:堆栈指针寄存器其内容为堆栈栈顶的偏移地址;任何堆栈操作后,SP都会自动增/减量。BP:基址指针寄存器在间接寻址中用于存放操作数的基地址;常用于访问存放在堆栈中的数据。变址寄存器SI:源变址寄存器,用于访问源操作数DI:目标变址寄存器,用于访问目的操作数常用于操作数的间接寻址或变址寻址。在串操作指令中,SI存放源操作数的偏移地址,而DI存放目标操作数的偏移地址。二、段寄存器用于存放逻辑段的段基地址(简称段地址)CS:代码段寄存器。代码段存放指令代码DS:数据段寄存器ES:附加段寄存器SS:堆栈段寄存器:指示堆栈区域的位置这两个段存放操作数堆栈段SS数据段DS/ES代码段CS三、控制寄存器IP:指令指针寄存器其内容为下一条要执行的指令的偏移地址。FLAGS:标志寄存器存放指令执行结果的特征:有些指令(如算术指令)要改变FLAGS的内容(影响FLAGS);有些指令对FLAGS无影响。6个状态标志位(CF,SF,AF,PF,OF,ZF)3个控制标志位(IF,TF,DF)ODITSZAPC1502467891011FLAGS2.28086CPU的功能结构8086内部由两部分组成:执行单元(EU)总线接口单元(BIU)总线接口部件功能:从内存中取指令到指令预取队列IPQ;负责与内存或I/O接口之间的数据传送;在执行转移指令时,BIU将清除IPQ,然后从转移的目的地址处开始取指令并重新填充IPQ。执行部件功能:执行指令,具体操作如下

从IPQ中取指令代码

译码

完成指定的操作

结果保存到目的操作数

运算特征保存在标志寄存器FLAGS(仅对影响标志的指令)8086操作方式比较取指令指令译码取操作数执行指令存放结果CPU执行一条指令的过程类似于工厂生产流水线,被分解为多个小的步骤,称为指令流水线。原料调度分配生产线成品仓库出厂数据和程序指令控制器的调度分配ALU等功能部件处理后的数据存储器输出2.38086操作模式及引脚信号一.8086两种工作模式:最小模式和最大模式最小模式不支持8087。存储器和I/O控制信号全部由CPU产生。最大模式支持8087。CPU的部分信号线被用作8087的控制,因此需要由8288总线控制器来产生这些控制信号。最小模式下的连接示意图8086CPU••控制总线数据总线地址总线地址锁存器数据总线缓冲器ALE时钟发生器8284A地址/数据82868282Vcc

MN/MXDENDT/R最大模式下的连接示意图8088CPU数据总线地址总线地址锁存器数据总线缓冲器时钟发生器总线控制器控制总线8284A8288ALECLK

MN/MX82828286GND二、8086CPU的引线及功能引脚定义方法大致分为:每个引脚只传送一种信息(如RD)电平的高低代表不同的含义(如M/IO)在不同模式下有不同的名称和定义(如WR/LOCK)分时复用引脚(如AD15~AD0)引脚的输入、输出分别传送不同的信息(如RQ/GT0)最小模式下的主要引线MN/MX

工作模式控制=0(接地):工作于最大模式;=1(接Vcc):工作于最小模式。最小模式下的主要引线地址总线、数据总线:AD15~AD0:三态地址/数据复用引脚。ALE=1时作为地址线A16~A0,ALE=0时作为数据线D16~D0。传送地址时为输出,传送数据时为双向。A19-A16/S6-S3:输出,三态地址/状态复用引脚。ALE=1时作为地址线A19~A16,ALE=0时作为控制信号。最小模式下的主要引线控制信号:WR:输出,三态写选通信号,表示CPU正在写数据到MEM或I/O设备。RD:输出,三态读信号,表示CPU正在从总线上读来自于MEM或I/O设备的数据。M/IO:输出,三态区分是读写存储器还是读写I/O端口(即地址总线上的地址是存储器地址还是I/O端口地址)。最小模式下的主要引线DEN:输出,三态数据总线允许信号。用来打开外部数据总线缓冲器。DT/R:输出,三态表明CPU正在传送还是接收数据,用作外部数据总线缓冲器的方向控制;ALE:输出地址锁存允许信号,表示地址/数据总线上传输的是地址信号。最小模式下的主要引线RESET:输入复位信号,保持4个以上时钟周期的高电平时将引起CPU进入复位过程(IF清0,并从存储单元FFFF0H开始执行指令);BHE/S7:输出高8位数据总线允许。在读/写操作期间允许高8位数据总线D16~D8有效(即读/写数据的高8位)。READY:输入准备就绪。用于与存储器或I/O接口的同步。=0时CPU进入等待状态(插入1个或多个等待周期)。中断请求和响应信号INTR:输入可屏蔽中断请求输入端,CPU要检查IF状态NMI:输入非屏蔽中断请求输入端,CPU不检查IF状态INTA:输出中断响应信号,表示CPU已进入中断响应周期。此信号常用来选通中断向量号。2.48086/8088存储器组织8086可访问1MB的存储空间(为什么?)哪个寄存器能够放得下20位的地址?用分段的方法解决。段是存储器中的一块区域段起始于存储器内16字节整倍数的边界处。段首地址的最低4位一定为0用段和偏移的组合访问存储单元每个段最大为64KB,最小为16B(为什么?)所有存储单元的地址都由段地址加偏移地址组成段地址被装入段寄存器中以供寻址使用偏移地址用于在64KB存储器段内选择任一单元段和偏移设段起始地址=60000H段地址偏移地址0~FFFFH6A000H12H60000H6000段寄存器偏移地址=A000H···0000段地址(16位)段起始地址××ו••×××物理地址和逻辑地址物理地址:存储单元的硬件地址物理地址=段地址×16(或段地址左移4位)+偏移地址逻辑地址:段和偏移形式的地址逻辑地址用于汇编语言程序设计以下地址都是逻辑地址的例子:2500H:0100H段地址A000H偏移地址0001H例1已知CS=1055H,DS=250AHES=2EF0H,SS=8FF0H

数据段中某操作数偏移地址=0204H各段首地址=?画出各段在内存中的分布该操作数的物理地址=?这个例子说明:段与段可以不连续段之间可以重叠10550H250A0H2EF00H8FF00HDS段ES段SS段

CS段默认段和偏移寄存器8086规定了访问存储器段的规则:此规则定义了段地址寄存器和偏移地址寄存器的组合方式,其默认规则如下表:段地址默认偏移地址用于访问CSIP指令SSSP、BP堆栈中的数据DSBX、DI、SI、8位或16位数数据段中的数据ES串指令的DI目标串操作数2.58086/8088的不

温馨提示

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

最新文档

评论

0/150

提交评论