西南交大,微机原理,教师课件第2章
时间:2025-05-14
时间:2025-05-14
第二章:8086微处理器及其系统结构
本章学习目的1.掌握微处理器的编程结构 2.掌握标志寄存器F各位的含义、作用及DEBUG运行后标 志位的表示方法
3.了解8086微处理器的主要引脚功能 4.掌握8086系统的存储器组织结构及堆栈的活动情况 5.掌握8086的时钟及其发生电路,记住系统复位后各寄存 器的状态
第一节:8086微处理器内部结构
指令和程序机器指令 操作码 + 操作数
若干条指令构成程序
指令解释方式微处理器解释一条指令的完整步骤可以归纳为如下两 个阶段:
取指:从内存中取出指令,明确指令规定的功能; 执行:分析指令要求实现的功能,读取所需要的操作 数,执行指令规定的操作,并保存执行结果。时间
顺序解释
取指1
执行1
取指2
执行2
取指3
执行3
取指4
执行4
取指5
执行5
执行1
执行2
执行3
执行4
执行5
重叠解释取指1 取指2 取指3 取指4 取指5
指令和程序的解释过程5
8086微处理器的内部结构地址总线
AHBH CH 通用 寄存 DH 器 SP BP SI DI
ALBL CL DL
AX BX CX DX CS 段寄 存器 DS ES 地 址形成 器
(20位) 数据 总线 (16位)
SSALU数据总线 IP 内部通信 寄存器 指令指 针
(16位)
暂存寄存器 总线控制 逻辑 8086 总线 ALU EU 控制系统 标志寄存器 执行部件(EU) 图2-2 8086 CPU内部结构 总线接口部件(BIU) 6 队列 总线 (8位) 指令队列缓冲器 123456
8086/8088CPU的内部是由两个独立的工作部件构 成,分别是总线接口部件BIU(Bus Interface Unit) 和执行部件EU(Execution Unit)。图中虚线右半部 分是BIU,左半部分是EU。两者并行操作,提高了CPU 的运行效率。下面分别介绍BIU和EU两者的功能
总线接口部件BIU功能:实现8086 CPU与存储器和外部设备之间的数据 传送。 任务:(1)从内存取指令→指令队列缓冲器;
(2)取数据到运行单元进行运算并将运算结果送到目 的单元(内存或外设端口);(3)重叠实现取指令与执行指令!
指令队列缓冲器结构: 指令队列缓冲器为6字节(8088只有4字节)容 量的FIFO。 设立指令队列缓冲器的目的是为了实现重叠解释指令。 工作原理: ① 缓冲器中只要有一条指令,EU就开始执行; ② 缓冲器中只要有两个字节为空,BIU便自动执行取指 操作; ③ 当EU执行完转移、调用和返回等切换程序流程的指令 时,缓冲器中原来的内容将被清除,BIU从内存中新的 位置开始重新预取指令填入队列中。9
地址发生器组成:地址加法器、指令指针IP和段寄存器。 设立地址加法器的目的:8086CPU地址总线有20 位,而内部地址寄存器都是16位,需要加法器形成
20位地址。工作原理:段寄存器内容×16+偏移地址(IP或指 令中的
操作数地址给出)。
执行部件EU功能:执行指令并暂时存储运算结果 结构: (1)16位算术逻辑单元ALU; (2)16位标志寄存器F;
(3)数据暂存寄存器(与编程无关,不对用户开放)(4)通用寄存器组: AX、BX、CX、DX---数据寄存器
SP、BP---指针寄存器SI、DI---变址寄存器 (5)EU控制电路:内部电路,不对用户开放11
8086 CPU的编程模型程序设计者所看到(或程序可见)的8086CPU即 为该CPU的编程模型。包括三个部分: 寄存器组编程模型 存储器 I/O资源
8086CPU的寄存器结构数据寄存器AH AL BH BL CH CL DH DL SP BP SI DI CS DS ES SS IP F AX BX CX DX 累加器 基址寄存器 计数寄存器 数据寄存器 堆栈指针 基址指针 源变址寄存器 目的变址寄存器 代码段寄存器 数据段寄存器 附加段寄存器 堆栈段寄存器 指令指针 标志寄存器
通用寄存器
指针寄存器 变址寄存器
段寄存器
专用寄存器13
通用寄存器(1 )数据寄存器: 用于存放8 位或16 位的二进制操作 数,这些操作数可以是参加操作的原始数据、运算得到 的中间结果,也可以是操作数的地址。大多数算术和逻 辑运算指令都可以使用这些寄存器。 在8086微处理器中,数据寄存器有4个: 累加器AX(Accumulator)、基址寄存器BX(Base)
计数寄存器CX(Count)、数据寄存器DX(Data)每个16位数据寄存器又可分为高8位(AH、BH、 CH和DH)和低8位(AL、BL、CL和DL),并可分别 寻址,独立操作。14
(2)指针寄存器和变址寄存器指针寄存器和变址寄存器一般用来存放地址偏移
量,堆栈操作和变址运算中计算操作数的有效地址。指针寄存器指的是堆栈指针寄存器SP(Stack Pointer) 和基址指针寄存器BP(Base Pointer),其中SP用来指示 堆栈顶部单元的位置,实现堆栈操作,而BP用来存放 在现行堆栈段中的一个数据区的基地址。
变址寄存器包括源变址寄存器SI(Source Index)和目 的变址寄存器DI(Destination Index),分别用来存放源操作数和目的操作数的偏移地址。15
寄存器 AX在某些指 令中,以 上各通用 寄存器具 有特定的 用途,称 为寄存器 的隐含用 法。 AH AL
操 作1) 在字乘/字除指令中作累加器; 2) 在字I/O操作时作数据寄存器。 1) 在字节乘/字节除指令中存放结果; 2) 在LAHF中作目的寄存器。 1) 在字节乘/字节除指令中作累加器; 2) 在字节I/O操作时作数据寄存器; 3) BCD、ASCII码数据运算时作累加器; 4) 在XLAT指令中作累加器。 1) 间接寻址时作地址寄存器和基址寄存器; 2) 在XLAT指令中作基址寄存器。 1) 串操作时作串长计数器; 2) 循环操作时作循环次数计 …… 此处隐藏:649字,全部文档内容请下载后查看。喜欢就下载吧 ……