- 1、本文档共61页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
808616位微处理器教程
第四章 8086微处理器
§4.1 概述
指令和程序的解释方式
一条机器指令由操作码和操作数构成,若干条指令构成程序。在微机中,微处理器解释一条指令的完整步骤可以归纳为如下两个阶段:
? 取指 从内存中取出指令,明确指令规定的功能;
执行 分析指令要求实现的功能,读取所需要的操作
数,执行指 令规定的操作,并保存执行结果。
传统8位微处理器采用顺序解释方式,各条指令的解释按以上两个阶段交替执行。也就是说,首先取一条指令,然后执行该指令,之后再取下一条指令,再执行,如此
。.;第四章 8086微处理器
§4.1 概述
一. 指令和程序的解释方式
一条机器指令由操作码和操作数构成,若干条指令构成程序。在微机中,微处理器解释一条指令的完整步骤可以归纳为如下两个阶段:
? 取指 从内存中取出指令,明确指令规定的功能;
执行 分析指令要求实现的功能,读取所需要的操作
数,执行指 令规定的操作,并保存执行结果。
传统8位微处理器采用顺序解释方式,各条指令的解释按以上两个阶段交替执行。也就是说,首先取一条指令,然后执行该指令,之后再取下一条指令,再执行,如此
。.;;二. 8086/8088特点:;执行部件EU;一. 执行部件EU(Execution Unit)
EU从BIU的指令队列缓冲器中获得指令,然后执行该指令,完成指令规定的操作。数据的算术逻辑运算、内存有效地址的计算、寄存器和指令操作数的管理等都是由EU完成的。
二. 总线接口部件BIU(Bus Interface Unit)
它的主要功能是实现8086 CPU与存储器和外部设备之间的数据传送。具体地说,BIU负责形成指令所在内存单元的物理地址,从内存指定区域取出指令送到指令队列缓冲器或者从相应的内存区域或I/O端口读取指令所需要的操作数,指令执行完毕后将指令的执行结果送入内存和I/O端口的指定位置。
指令队列缓冲器是实现重叠解释的关键部件,由6个8位寄存器构成,主要作用是在EU执行指令的同时,暂时保存BIU从内存中预先读取的指令,并在EU执行完当前指令时,将其中的指令按先进先出(FIFO)的原则送到EU加以分析执行,其具??工作原理如下:;① 从内存取来的指令存入队列缓冲器,缓冲器中只要有一条指令,EU就开始执行。
② 队列缓冲器中只要有两个字节为空,BIU便自动执行取指操作,从内存中的相邻单元取出相应的指令字节放入缓冲器中,直到缓冲器填满时为止。
③ 当EU执行完转移、调用和返回等切换程序流程的指令时,缓冲器中原来的内容将被清除,BIU从内存中新的位置开始重新预取指令填入队列中。
由于EU和BIU两个功能部件并行工作,EU执行的是BIU在前一时刻取出的指令,与此同时,BIU又取出下一时刻要执行的指令,因此能使大部分取指令和执行指令的操作重叠进行,大大减少了等待取指令所需的时间,提高了微处理器的利用率和整个系统的执行速度。;三. 8086CPU的寄存器结构(共有14个16位寄存器);1. 通用寄存器
通用寄存器共有8个,又可分为两组。
① 数据寄存器
数据寄存器可以用于存放8位或16位的二进制操作数,这些操作数可以是参加操作的原始数据、运算得到的中间结果,也可以是操作数的地址。大多数算术和逻辑运算指令都可以使用这些寄存器。
在8086微处理器中,数据寄存器有4个,
累加器AX(Accumulator)、
基址寄存器BX(Base)、
计数寄存器CX(Count)、
数据寄存器DX(Data)。
每个16位数据寄存器又可分为高8位(AH、BH、CH和DH)和低8位(AL、BL、CL和DL),并可分别寻址,独立操作。;② 指针寄存器和变址寄存器
指针寄存器和变址寄存器一般用来存放地址偏移量,用于堆栈操作和变址运算中计算操作数的有效地址。
指针寄存器指的是堆栈指针寄存器SP(Stack Pointer)和基数指针寄存器BP(Base Pointer),
其中SP用来指示堆栈顶部单元的位置,实现堆栈操作,而BP用来存放在现行堆栈段中的一个数据区的基地址。
变址寄存器包括源变址寄存器SI(Source Index)和目的变址寄存器DI(Destination Index),分别用来存放源操作数和目的操作数的偏移地址。;寄 存 器;2. 指令指针IP(Instruction Pointer)
指令指针IP是一个16位专用寄存器,程序运行时,它始终指向EU要执行的下一条指令所在单元。当EU执行本条指令时,IP中的内容自动增
文档评论(0)