8086微处理器的编程结构和引脚信号及技术_第1页
8086微处理器的编程结构和引脚信号及技术_第2页
8086微处理器的编程结构和引脚信号及技术_第3页
8086微处理器的编程结构和引脚信号及技术_第4页
8086微处理器的编程结构和引脚信号及技术_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、18086微处理器的编程结构和引脚信号及技术2主要内容BIU和EU的组成和功能;8086的内部寄存器和标志位;总线周期的概念;8086微处理器的引脚功能;380 x86微处理器简介型号发布年份字长/位集成度主频/MHz内DB/位外DB/位AB/位寻址空间高速缓冲存储器80861978162.94.771616201M无80881979准162.94.77168201M无8028619821613.462016162416M无8038619853227.512.5333232324G有80486199032120160251003232324G8K586199364310330601663264

2、324G8K+8KP II19976475023333331643664G32K,512K48086/8088外形5指令流水线取指令指令译码取操作数执行指令存放结果 CPU执行一条指令的过程类似于工厂生产流水线,被分 解为多个小的步骤,称为指令流水线。原料调度分配生产线成品仓库出厂数据和程序指令控制器的调度分配ALU等 功能部件处理后的数据存储器输出6指令流水线指令流水线有两种运作方式:串行方式: 取指令和执行指令在不同的时刻按顺序执行。并行方式:(中断会极大地降低并行方式的效率,取到的指令需要被丢弃,然后重新取需要执行的指令) 取指令和执行指令可同时执行,需要有能并行工作的硬件的支持。7串行

3、工作方式8086以前的CPU采用串行工作方式取指令1执行1取指令2执行2CPUBUS忙 碌忙 碌取指令3执行3忙 碌空闲空闲空闲t1t0t2t3t4t56个周期执行了3条指令8并行工作方式8086CPU采用并行工作方式取指令1取指令2取指令3取指令4执行1执行2执行3BUS忙碌执行4CPUt1t0t2t3t4t5取指令5执行5忙碌忙碌忙碌忙碌忙碌6个周期执行了5条指令9并行操作的前提取指令部件和指令执行部件要能够并行工作;各步执行时间基本相同,否则需再细分;取指令部件取出的指令要能暂存在CPU内部某个地方;指令执行部件在需要时总能立即获得暂存的指令;需要解决转移指令问题。(取到的指令丢弃的问题

4、)108086 CPU的特点采用并行流水线工作方式: 通过设置指令预取队列(IPQ)实现对内存空间实行分段管理: 将内存分段并设置地址段寄存器,以实现对1MB空间的寻址。支持多处理器系统:8087 FPU执行部件取指部件11三、8086的cpu内部结构框图12总线接口单元(BIU)功能:BIU 负责 8086 与存储器之间的信息传送。BIU 的任务是从内存的指定部分取出指令,送至指令流队列中排队(8086 的指令流队列可以存储 6 个字节的指令;8088 的指令流队列只能存储 4 个字节的指令);在执行指令时所需的操作数,也由 BIU 从内存的指定区域取出,传送给 EU 部分执行。13执行单元

5、(EU)功能:EU 部分负责指令的执行。由于CPU 取指部分与执行指令部分是分开的,所以在一条指令的执行过程中,就可以取出下一条(或多条)指令,在指令流队列中排队。在一条指令执行完就可以立即执行下一条指令。从而减少了 CPU 为取指令而等待的时间,提高了 CPU 的运行效率,提高了 CPU 的整体运行速度。14寄存器结构示意图AHALBHBLCHCLDHDLSPBPSIDIIPFLAGS / PSWCSDSSSES数据寄存器地址指针和变址寄存器控制寄存器段寄存器通用寄存器AXBXCXDXBX15数据寄存器数据寄存器既可作为16位使用,也可作为8位的使用。 AX:累加器,是算术运算的主要寄存器。

6、另外,I/O指令 利用这个寄存器和外设通讯。BX:通用寄存器,另外可以作为基址寄存器。CX:通用寄存器,另外在循环时作为隐含的计数器使用。DX:通用寄存器,另外可以和AX一起储存双字,DX放高 位。16地址指针和变址寄存器地址指针与变址寄存器SP:堆栈指针寄存器,用来指示栈顶的偏移地址。BP:基址指针寄存器,作为堆栈区中的一个基地址以便访问栈中的其他信息。SI:源变址寄存器。DI:目的变址寄存器。 一般,SP、BP与SS连用来确定堆栈中某存储单元的地址,SI、DI与DS连用确定数据段中某存储单元的地址。17段寄存器CS:代码段寄存器。存放当前正在运行的程序。DS:数据段寄存器。存放当前程序所用

7、的数据。ES:附加段寄存器。附加的数据段,是一个辅助的数据区,也是串处理指令的目的操作数存放区。SS:堆栈段寄存器。定义堆栈所在的区域。 除非特别指定,一般情况下,各段的分配由操作系统负责,独立占有64K,可以重叠。18控制寄存器IP:指令指针寄存器。存放代码段中的偏移地址,它始终指向下一条指令的首地址,与CS一起确定下一条指令的物理地址。FLAG / PSW:标志寄存器/程序状态字寄存器。由条件码标志和控制标志构成。19标志寄存器20标志寄存器状态标志CF(Carry Flag):进位标志,最高位有进借位时为1,否则为0PF(Parity Flag):奇偶标志,结果低8位中有偶数个“1”时,

8、PF1;奇数为0AF(Auxiliary Carry Flag):辅助进位标志,也称半进位位。运算结果中低4位向高4位借位或进位时,AF1,否则为021标志寄存器状态标志ZF(Zero Flag):零标志。运算结果为全0时,ZF1,否则为0SF(Sign Flag):符号标志。与结果的最高位(符号位)相同。OF(Overflow Flag):溢出标志。溢出时OF1,否则为022标志寄存器控制标志DF(Direction Flag):方向标志。DF0时,则在串操作中,变址寄存器中的地址自动递增;DF1时相反。IF(Interrupt Enable Flag):中断允许标志。IF =1时CPU可响

9、应可屏蔽中断请求;IF0时不可响应(相当于单片机中的EA,总中断开关)。TF(Trace Flag):跟踪标志。TF1时,CPU进入单步操作方式。(程序调试时用到的单步执行)23四、8086的工作时序工作时序分为很多小的时间片:时钟周期 一个时钟脉冲所持续的时间。时钟周期越短,CPU执行速度越快。总线周期 通过总线对存储器或I/O接口进行一次访问所需要的时间。一般包括4个时钟周期。在5MHz的工作频率时,一个标准总线周期为s。24总线周期中各时钟周期的操作T1周期CPU向存储器或I/O发送地址CPU向地址/数据分离器(地址锁存器)发送ALE信号T2周期给存储器或I/O发送写入的数据测试READ

10、Y引脚状态,以决定是否插入等待周期发出RD或WR信号T3周期等待存储器或I/O存取数据完成使数据在CPU与存储器或I/O之间传输T4周期写入数据 读/写总线周期的信号波形见下页图。25数据写入存储器时的总线操作写总线周期由ALE信号将地址锁存到地址锁存器DEN=0并且DT/R=1时打开总线缓冲器,将其放到系统数据总线上此信号与M/IO信号共同构成存储器写控制信号,将数据写入存储器26数据从存储器读出的总线操作读总线周期DEN=0并且DT/R=0时打开总线缓冲器,将其放到CPU总线上,供CPU读入 较完整的读总线周期此信号与M/IO信号共同构成存储器读控制信号由ALE信号将地址锁存到地址锁存器2

11、78086 CPU的两种工作模式8086可工作于两种模式下,即: 最小模式和最大模式。最小模式不支持8087。存储器和I/O控制信号全部由CPU产生。最大模式支持8087。 CPU的部分信号线被用作8087的控制,因此需要由8288总线控制器来产生这些控制信号。注:80286以后的CPU不再区分这两种工作模式。28最小模式下的连接示意图8086CPU控制总线数据总线地址总线地址锁存器数据总线缓冲器ALE时钟发生 器8284A地址/数据82868282Vcc MN/MXDENDT/R29最大模式下的连接示意图8088CPU数据总线地址总线地址锁存器数据总线缓冲器时钟发生 器总 线控制器控制总线8

12、284A8288ALECLK MN/MX82828286GND30二、8086CPU的引线及功能引脚定义的方法可大致分为:每个引脚只传送一种信息(如RD)电平的高低代表不同的含义(如M/IO)在不同模式下有不同的名称和定义(如WR/LOCK)分时复用引脚(如AD15AD0)引脚的输入、输出分别传送不同的信息(如RQ/GT0)313233最小模式下的主要引线MN/MX 工作模式控制=0(接地):工作于最大模式;=1(接Vcc):工作于最小模式。34最小模式下的主要引线地址总线、数据总线:AD15AD0:三态地址/数据复用引脚。ALE=1时作为地址线A16A0,ALE=0时作为数据线D16D0。传

13、送地址时为输出,传送数据时为双向。A19-A16/S6-S3:输出,三态地址/状态复用引脚。ALE=1时作为地址线A19A16,ALE=0时作为控制信号。35最小模式下的主要引线控制信号:WR:输出,三态写选通信号,表示CPU正在写数据到MEM或I/O设备。RD:输出,三态读信号,表示CPU正在从总线上读来自于MEM或I/O设备的数据。M/IO:输出,三态区分是读写存储器还是读写I/O端口(即地址总线上的地址是存储器地址还是I/O端口地址)。36最小模式下的主要引线DEN:输出,三态数据总线允许信号。用来打开外部数据总线缓冲器。DT/R:输出,三态表明CPU正在传送还是接收数据,用来作为外部数

14、据总线缓冲器的方向控制;ALE:输出地址锁存允许信号,表示地址/数据总线上传输的是地址信号。以上三个信号的用法见下页图37最小模式下的主要引线RESET:输入 复位信号,保持4个以上时钟周期的高电平时将引起CPU进入复位过程(IF清0,并从存储单元FFFF0H开始执行指令);BHE/S7:输出高8位数据总线允许。在读/写操作期间允许高8位数据总线D16D8有效(即读/写数据的高8位)。 READY:输入准备就绪。用于与存储器或I/O接口的同步。=0时CPU进入等待状态(插入1个或多个等待周期)。38READY引脚的作用总线周期T2T1T3T4时钟周期总线周期T2T1T3TwaitT4标准总线周

15、期增加了等待状态的总线周期若在T3周期上升沿检测到READY=0,将插入等待周期,插入的个数取决于READY何时变为1。采样398086 Read Cycle408086 Write Cycle418086 Read Cycle (1 Wait State)428086 Read Cycle438086 Write Cycle448086 Read Cycle (1 Wait State)45中断请求和响应信号INTR:输入可屏蔽中断请求输入端,CPU要检查IF状态NMI:输入非屏蔽中断请求输入端, CPU不检查IF状态INTA:输出中断响应信号,表示CPU已进入中断响应周期。此信号常用来选通

16、中断向量号。46总线保持信号HOLD:输入总线保持请求。用来直接存储器存取(DMA)。当CPU以外的其他设备要求占用总线以便访问存储器时,通过此引脚向CPU发出请求。HOLD=1时,CPU停止执行指令,并将地址/数据总线和控制总线中的所有三态控制线置为高阻状态。HLDA:输出总线保持响应。CPU对HOLD信号的响应信号。指示CPU已进入保持状态。47其他信号TEST:输入测试信号。执行WAIT指令时将测试此引脚的状态。=0时,WAIT指令相当于空操作(NOP)。=1时,WAIT指令将重复测试直到它变为0。通常此引脚与8087算术协处理器相连。CLK:输入时钟引脚。为CPU提供基本的定时信号。占

17、空比必须为33(高1/3,低2/3)。483.4 8086的存储器组织8086可访问1MB的存储空间(为什么?)哪个寄存器能够放得下20位的地址?(地址加法器)用分段的方法解决。段是存储器中的一块区域段起始于存储器内16字节整倍数的边界处。段首地址的最低4位一定为0用段和偏移的组合访问存储单元每个段最大为64KB(为什么?)(DB宽度决定)所有存储单元的地址都由段地址加偏移地址组成段地址被装入段寄存器中以供寻址使用偏移地址用于在64KB存储器段内选择任一单元49段和偏移设段起始地址=60000H段地址偏移地址0FFFFH6A000H12H60000H6 0 0 0段寄存器偏移地址A000H 0

18、 0 0 0段地址(16位)段起始地址 50逻辑地址逻辑地址: 段和偏移形式的地址 段地址:偏移量(有效地址)逻辑地址用于汇编语言程序设计(important)以下地址都是逻辑地址的例子:(1)2000H:0120H(2)2010H:0020H(3)3000H:3000H51物理地址(地址加法器能够存储20位的物理地址)物理地址: 存储单元的硬件地址物理地址=段地址16 (或段地址左移4位)+偏移地址528086/8088 20-bit Addresses53Exercise: 20-bit AddressingCS contains 0A820h,IP contains 0CE24h. What is the resulting physical address?CS contains 0B500h, IP contains 0024h. What is the resulting physical address?十六进制数前面加上0是为了与某些寄存器的标识符进行区分,比如说AH表示通用寄存器中累加器的高八位54默认段和偏移寄存

温馨提示

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

评论

0/150

提交评论