微机原理课件-微处理器_第1页
微机原理课件-微处理器_第2页
微机原理课件-微处理器_第3页
微机原理课件-微处理器_第4页
微机原理课件-微处理器_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章 8086微处理器2.1 微处理器内部结构2.1.1 结构特点 2.1.2 总线接口单元BIU2.1.3 执行单元EU 2.1.4 8086工作过程2.2 8086微处理器引脚2.3 存储器组织2.4 总线时序2.1 8086微处理器内部结构8086的内部结构由两部分组成总线接口部件BIU总线接口单元BIU,负责控制存储器读写,获取相关指令以及操作数。执行部件EU执行单元EU从指令队列中取出指令并执行。设计特点BIU和EU异步工作,取指令和执行指令分开进行,采用流水线的工作模式,从而提高了速度。内部暂存器 IP ES SS DS CS输入/输出控制电路外部总线执行部分控制电路1 2 3

2、4 5 6ALU标志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用寄存器地址加法器指令队列缓冲器执行部件 (EU)总线接口部件 (BIU)16位20位16位8位指令指针寄存器四个段寄存器:CS、DS、SS、ESCS管理代码段;DS管理数据段SS管理堆栈段;ES管理附加段6字节的指令队列6字节的先入先出缓冲器,总线接口部件BIU从内存取指令,取来的总是放在指令队列中;执行部件EU从指令队列取指令,并执行。20位地址加法器内部暂存器 IP ES SS DS CS输入/输出控制电路外部总线执行部分控制电路1 2 3 4 5 6ALU标志寄存器 AH AL BH BL

3、CH CL DH DL SP BP SI DI通用寄存器地址加法器指令队列缓冲器执行部件 (EU)总线接口部件 (BIU)16位20位16位8位通用寄存器四个专用寄存器 SP:堆栈指针 BP:基址指针: SI: 源变址寄存器 DI:目的源变址寄存器 算术逻辑单元ALU:主要是加法器。大部分指令的执行由加法器完成。标志寄存器:16位字利用了9位。2.1.1 8086微处理器内部组成 总线接口单元(Bus Interface Unit, BIU)负责完成CPU与存储器或I/O设备间的数据传送,即: BIU从内存中预取指令送到指令队列缓冲器; CPU执行指令时,BIU配合EU对指令的内存单元或I/O

4、接口存取数据 执行单元(Execution Unit, EU)负责执行指令,即: 执行的指令从BIU的指令队列缓冲器中取得; 执行指令的结果或所需的数据,由EU向BIU发出请求; 再由BIU对存储器或I/O端口进行存取1. 段寄存器CS:16位的代码段寄存器,管理程序段DS:16位的数据段寄存器,管理数据段。ES:16位的扩展段(附加段)寄存器,管理扩展段。SS:16位的堆栈段寄存器,管理堆栈段。2.1.1 8086微处理器总线接口单元BIU2. 16位的指令指针寄存器IP:IP中的内容是下一条指令对现行代码段基地址的偏移量,与CS一起构成取指所需的程序计数器PC。PC自动加1,指向顺序存储的

5、下一指令。与段寄存器CS的内容相加,形成取指令的物理地址。8086复位后,CS:IP=FFFFH:0000H;即8086取指执行的第一个指令的物理地址为FFFF0 H2.1.1 8086微处理器总线接口单元BIU3、6字节的指令队列指令队列共六字节,总线接口部件BIU从内存取指令,取来的总是放在指令队列中执行部件EU从指令队列依次取指令,并执行出现至少2个空字节时,BIU取指填满队列执行转移、中断、返回、循环指令时,指令队列清空4. 20位地址加法器将执行单元提供的16位非重定位地址重定位为20位的存储器物理地址例:CS=A000H,代码段可寻址的空间? IP的内容:0000H FFFF H(

6、偏移地址) 物理地址:A0000 H AFFFF H2.1.2 8086微处理器执行部件EU1、算术逻辑单元ALU 主要是加法器,大部分指令的执行由它完成,可完成8位或16位的二进制算术运算和逻辑运算。2、 标志寄存器:16位只利用了9位。OFDFIFTFZFAFSFPFCF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 06个状态标志位:用以存放ALU运算后的结果特征;3个控制标志位:用以控制8086的3种特定操作状态标志位进位/借位标志CF:运算结果有进位/借位,CF=1,否则CF=0;奇偶校验标志PF:操作结果中,1的个数为偶数,则PF1辅助进位/借位标志AF:零

7、标志ZF: 结果为零,ZF=1;否则ZF=0;符号标志SF: 表示结果的正负,与运算结果的最高位相同;溢出标志OF:控制标志位跟踪标志TF: CPU按跟踪方式执行指令,单步执行调试;中断允许标志IF: IF=1,允许可屏蔽中断; 方向标志DF:DF=1,地址指针自动减量;DF=0,地址指针自动增量2.1.2 8086微处理器执行部件EU3、四个16位通用寄存器 AX、BX、CX、DX,每个16位寄存器可作8位寄存器。 16位 8位 8位 AX AH AL BX BH BL CX CH CL DX DH DL2.1.2 8086微处理器执行部件EUAX:累加寄存器,乘除运算和输入/输出操作时存储

8、操作数、 优化移动操作BX:基寄存器,存储器间接寻址时存储数据段的基地址CX:计数寄存器,循环、重复、移位操作时存储计数值DX:数据寄存器,乘除运算时存储操作数、输入/输出操作间接寻址时存储I/O地址4、 四个专用寄存器两个指针寄存器 SP:堆栈指针,其内容与堆栈段寄存器SS的内容相加,提供堆栈操作地址。 BP:基址指针,构成段内偏移地址的一部分。两个变址寄存器: SI:(Source Index):SI含有源地址意思,产生有效地址或实际地址的偏移量。 DI:(Destination Index):DI含有目的意思, 产生有效地址或实际地址的偏移量。2.1.2 8086微处理器执行部件EU2.

9、1.2 总线接口单元和执行单元的动作管理1、当8086的指令队列有两个空字节,BIU自动取指令到指令队列中;2、执行部件EU准备执行一条指令时,它从BIU的指令队列取指令,然后执行;3、指令队列已满,BIU与EU又无总线请求时,总线接口部件进入空闲状态。4、执行转移指令、调用指令、返回指令时,BIU自动清除指令队 列,然后从新地址取指令,并立即送给EU,然后再从新单元开始,从新填满队列机构。8086CPU的特点:BIU与EU是分开的,取指令与执行指令可以重叠。提高执行速度。 2.1.3 8086工作过程1、取指:BIU根据程序计数器,通过存储器接口从存储器预取指令,填充到指令流字节队列2、译码

10、:EU从指令流字节队列获得指令,译码后产生控制信息3、执行:由控制信息完成对应指令的操作(取数:指令流字节队列、寄存器、存储器、I/O端口,通过地址加法器提供地址)8086的工作过程就是执行程序的过程,而程序由指令序列组成,实际上就是执行指令的过程。 8086微处理器是一个双列直插式器件,它有40个引脚。2.2 8086CPU的引脚特性 学习外部特性,除了要了解芯片的引脚信号,更应该关注以下几个方面的问题: 引脚的功能 信号的流向 有效电平 三态能力2.2.1 8086CPU的引脚特性地址/数据线地址/状态线AD15AD0(第2-16,39脚)地址/数据线:分时复用,双向,三态。T1状态:AD

11、15AD0为地址信号,输出;T2状态:为高阻状态,为数据传输作准备T3、TW状态:数据信号,双向;CPU工作于存储器直接存取(DMA)时,AD15AD0为高阻状态;工作过程: 8086CPU首先经AD15AD0引脚发出地址信息,经锁存器锁存,然后再根据指令功能在AD15AD0上传送读/写数据。2.2.1 8086CPU的引脚特性A19/S6A16/S3(35-38脚)地址/状态信号,输出,三态 8086CPU首先发出地址信息锁存,然后输出状态信息S3S6S3、S4指示当前使用的寄存器S4S3=00, 使用ES; S4S3=01, 使用SSS4S3=10, 使用CS; S4S3=11, 使用DS

12、S5指示中断允许标志IF的状态,S6始终为低电平(不用)当8086CPU工作于DMA时,处于浮空的高阻状态访问存储器时才使用,访问I/O端口时不用2.2.1 8086CPU的引脚特性数据/地址线为什么可以使用相同引脚?使用时必须依靠哪些技术?课堂提问1【答】 (1)时间分隔技术 (2)地址锁存技术测试信号准备好信号:表示内存或I/O设备准备好,可以进行数据传输。存储器奇库片选最小最大模式信号数据读写控制信号非屏蔽中断请求信号可屏蔽中断请求信号复位信号。读信号 控制总线(8根) (1) BHE/S7(引脚34):高8位数据总线允许/状态,分时复用,三态,输出 BHE在总线周期的T1状态输出,S7

13、在T2T4时输出。 8086中, BHE/S7输出低电平时,表示总线的高8位AD8AD8上的数据有效,选择存储器的奇库(存储单元的地址全是奇地址) S7在8086中没有具体含义 如何选择存储器的偶库呢?2.2.1 8086CPU的引脚特性AD0=0(地址线)2.2.1 8086CPU的引脚特性(2)RD(32脚):读控制,输出、三态、低电平有效有效时,表示CPU正在从存储器或I/O端口读入数据(3)READY (22脚):存储器或I/O口准备就绪,输入、高电平有效总线操作周期中,CPU会测试该引脚。 如果为高,有效,CPU直接进入下一步,数据传送; 如果为低,无效,CPU将插入等待周期。等待周

14、期中仍然要监测READY信号,确定是否继续插入等待周期。(5)NMI(Non-Maskable Interrupt)(17脚)不可屏蔽中断请求,输入,上升沿有效,不能用软件来屏蔽,所以优先级别高于INTR(可屏蔽中断)。(4)INTR(Interrupt Request) (18脚)可屏蔽中断请求,输入、高电平有效。有效时,表示请求设备向CPU申请可屏蔽中断。该中断请求是否响应受控于IF(中断允许标志)、可以被屏蔽掉。2.2.1 8086CPU的引脚特性(6)TEST(23脚):等待测试信号,输入,低电平有效 CPU执行WAIT指令时,进入空转等待状态,且每隔5个时钟周期对该引脚的输入进行一次

15、测试。 若TEST=1时,CPU停止执行指令继续处于等待状态,直到TEST=0时,等待状态结束,CPU继续指令被暂停的指令。 等待期间允许外部中断。2.2.1 8086CPU的引脚特性(7)MN/MX(33脚):最小最大模式检测信号,输入 输入为高电平,8086处于最小模式;输入为低电平,8086处于最大模式(8) RESET(21脚):复位信号,输入,高电平有效 8086要求复位信号脉冲宽度不得小于4个时钟周期,首次接通电源所引起的复位,要求高电平不得小于502.2.1 8086CPU的引脚特性内部寄存器状态标志寄存器清除IP0000HCSFFFFHDS0000HSS0000HES0000H

16、指令队列缓冲器清除复位后8086内部寄存器的状态如右所示最小模式 将总线控制逻辑电路减至最少,8086可直接连接复用总线,不需要任何总线控制逻辑电路和总线驱动电路,1个CPU最大模式 支持多总线和协处理器,由总线控制器芯片8288产生兼容多总线的总线控制信号,多个CPU 2.2.2 8086CPU的工作模式写信号存储器/IO控制信号为1,选中存储器为0,选中IO接口数据总线收发器状态为1,发送为0,接收数据允许信号地址允许信号最小模式引脚信号中断响应信号局部总线保持请求信号局部总线保持响应信号M/IO(28脚): I/O或存储器访问,输出、三态该引脚输出高电平时,M/IO=1,对存储器访问;该

17、引脚输出低电平时,M/IO=0,对I/O口访问。WR(29脚):写控制,输出,三态、 WR=0有效CPU正在对内存或I/O设备进行写操作。INTA(24脚):中断响应信号,输出,低电平有效有效时,表示来自INTR引脚的中断请求已被CPU响应,CPU进入中断响应周期。2.2.2 8086CPU的最小模式DEN(26脚):数据允许信号,输出,三态,低电平有效。有效时,表示当前数据总线上正在传送数据,可利用他来控制对数据总线的驱动 DT/ R(27脚):数据发送/接收,输出、三态该信号表明当前总线上数据的流向DT/R=0,低电平时数据输入CPU(接收)DT/R=1,高电平时数据自CPU输出(发送)2

18、.2.2 8086CPU的最小模式 ALE(25脚):地址锁存允许信号,输出、三态、高电平有效。ALE引脚有效时,表示复用引脚:AD7 AD0和A19/S6 A16/S3正在传送地址信息。由于地址信息在这些复用引脚上出现的时间很短暂,可以利用ALE引脚将地址锁存起来。 HOLD (31脚): 总线请求,输入、高电平有效有效时,表示总线请求设备向CPU申请占有总线;该信号从有效回到无效时,表示总线请求设备对总线的使用已经结束,通知CPU收回对总线的控制权。2.2.2 8086CPU的最小模式HLDA(30脚) : 总线响应,输出、高电平有效有效表示CPU已响应总线请求并已将总线释放;此时CPU的

19、地址总线、数据总线及具有三态输出能力的控制总线将全面呈现高阻,使总线请求设备可以顺利接管总线;待到总线请求信号HOLD无效,总线响应信号HLDA也转为无效,CPU重新获得总线控制权。2.2.2 8086CPU的最小模式 在 8086CPU的最小工作模式下,当CPU执行读写操作时,要利用哪些信号?课堂提问2【答】 当CPU访问存储器时, 要利用ALE(地址锁存允许信号输出), (数据允许控制), (数据收发状态), (存储器/输入输出控制信号输出), (读信号输出),READY(准备就绪), (存储器奇库片选信号)。最大模式引脚信号状态信号队列状态线请求/同意信号锁定信号S2S0(引脚2826)

20、: 状态线,输出,用于总线控制器8288译码生成所有存储器和IO端口访问的控制信号S2S1S0状态8288生成控制信号000中断响应INTA001读端口IORC010写端口IOWC AIOWC011暂停100取指MRDC101读存储器MRDC110写存储器MWTC AMWC111被动2.2.3 8086CPU的最大模式2.2.3 8086CPU的最大模式QS1QS0(引脚2425) 队列状态线,输出,用于协处理器8087跟踪8086内部指令流队列。QS1QS0状态00无操作01指令的第一个字节出队10清空队列11指令的后续字节出队RQ/GT1,RQ/GT0(引脚30和31): 请求/同意信号,

21、输入/输出,用于协处理器8087需要访问存储器时向8086要求局部总线的控制权。LOCK(引脚29): 锁定信号,输出,用于封锁总线仲裁器,不使其他总线主控器获得系统总线控制权。8086CPU的形成三大总线时,为什么要对地址线进行锁存?用什么信号控制锁存?【答】为了确保CPU对存储器和I/O端口的正常读/写操作,要求地址和数据同时出现在地址总线和数据总线上。而在8086CPU中AD0AD15总线是地址/数据复用的,因此需在总线周期的前一部分传送出地址信息,并存于锁存器中,而用后一部分周期传送数据。8086CPU中是通过CPU送出的ALE高电平信号来控制锁存的。 课堂提问3存储器是微机的存储和记

22、忆部件,用来存放程序和数据(包括原始数据、中间结果和最终结果)在计算机内部,程序和数据都是用0、1组成的二进制代码的形式表示的。每一个0或1就叫做1位信息。存储器被划分为很多个存储单元,每个存储单元以字节为单位顺序存放数据和程序存储器的容量为存储单元的总和,取决于地址线地址:赋予每个存储单元的编号,通常用16进制表示2.3 8086存储器组织2.3 8086存储器组织8086:20条地址线,直接访问1MB的存储空间。 物理地址为:00000HFFFFFH。0149162536数据段0200020102020203020402050206 8086CPU 一次可访问16位数据,即两个存储单元;

23、通常,多个字节的数据存放规则是: 高位在高端 低位在低端2.3 8086存储器组织存储器工作原理2.3.1 存储器的分段寻址存储器单元的定位:段地址和偏移地址 一般情况下,各段在存储器中的分配是由操作系统负责的。每个段可以独立地占用64K存储区,各段也允许重叠(即大小也可据实分配)。0150HCS4200H8C50HC000HDSESSS64K代码64K数据64K附加64K堆栈段分配方式之一0200HCS0400H0480HDSESSS8K代码2K数据256B堆栈段分配方式之二2.3.1 存储器的分段寻址访问存储器类型隐含的段地址可”段更换”的段地址段内偏移地址来源取指令码CS无IP堆栈操作S

24、S无SP字符串操作源地址DSCS,ES,SSSI字符串操作目的地址ES无DIBP用作基址寄存器时SSCS,DS,ES由指令寻址方式求得有效地址EA一般数据存取DSCS,ES,SS由指令寻址方式求得有效地址EA2.3.1 存储器的分段寻址.20000H25F60H25F61H25F62H25F63H2000H段基址逻辑地址段内偏移地址5F62H逻辑地址与物理地址2.3.1 存储器的分段寻址16位偏移地址20位的物理地址16位段地址0000 物理地址=段地址*16D+偏移地址如: 某个数据存放在DS=8569H,DI=3721H的数据段的存储单元中,此存储单元的物理地址为:+) 物理地址的计算 物理地址=段地址*10H+偏移地址 85690H H = 88D

温馨提示

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

评论

0/150

提交评论