第三章 8086微处理器(结构)
8086微处理器思维导图,脑图

8086微处理器内部结构基本组成指令执行部件EU组成算术逻辑单元(ALU) 、标志寄存器、通用寄存器和EU 控制系统等部件功能执行指令总线接口部件BIU组成地址加法器、专用寄存器组、指令队列缓冲器和总线控制逻辑等部件功能形成访问存储器的物理地址,与外部(存储器或I/O 接口)进行联系内部寄存器结构通用寄存器组通用寄存器组数据寄存器地址指针和变址寄存器段寄存器组控制寄存器组指令指针寄存器IP1(16位)用来存放将要取出的下一条指令在代码段中的偏移地址。
在程序运行过程中, BIU 可修改IP 中的内容,使它始终指向将要取出的下一条指令。
标志寄存器FLAGS(双字)有9 个标志位,其中6个用来表示运算结果的状态,包括CF 、PF 、AF、ZF 、SF 和OF ,称为状态标志位,另外3 个是控制标志位,用来控制CPU 的操作,包括IF 、DF 和TF。
标志位2CFCarry Flag——进位标志位如果做加法时最高位产生进位或做减法时最高位产生借位,则CF=1 ,否则CF=0。
PFParity Flag——奇偶标志果操作结果的低八位中含有偶数个1 ,则PF= 1,否则PF=0 。
AFAuxiliary Carry Flag——辅助进位标志位如果做加法时,D3位有进位;做减法时,D3位有借位,则AF=1 ,否则AF=0。
ZFZero Flag——零标志位如果运算结果各位都为0,则ZF = 1 ,否则ZF=0SFSign Flag——符号标志位。
如果运算结果的最高位为1 ,则SF= 1 ,否则SF=0 。
OFOverllow Flag——溢出标志在加或减运算中结果超出8位或16位有符号数所能表示的数值范围时,产生溢出,OF= 1 ,否则OF=0 。
IFInterrupt Flag——中断标志位TFTrap Flag——单步标志位DFDirection Flag——方向标志位存储管理存储器的分段逻辑地址和物理地址逻辑地址由段地址和偏移地址两个部分构成。
8086结构组成

8086结构组成8086是一款16位微处理器,它的结构组成非常复杂。
本文将从以下几个方面来详细介绍8086的结构组成。
一、总体结构8086由三个主要部分组成:执行单元(EU)、总线接口单元(BIU)和寄存器组。
1.执行单元:负责执行指令并进行算术和逻辑运算。
2.总线接口单元:负责与外部设备通信并控制数据传输。
3.寄存器组:包括通用寄存器、段寄存器和指令指针寄存器等。
二、执行单元1.指令队列指令队列是执行单元中的一个重要部分,它可以存储多条指令,以便快速地进行取指令操作。
当EU需要执行一条新的指令时,它会从队列中取出下一条指令并开始执行。
2.算术逻辑单元算术逻辑单元(ALU)是执行单元中的核心部分,它可以进行各种算术和逻辑运算,如加、减、乘、除、与、或等操作。
ALU还可以处理条件跳转和无条件跳转等控制操作。
3.状态标志寄存器状态标志寄存器(FLAGS)用于记录ALU运算的结果,以便EU进行下一步操作。
FLAGS寄存器包括零标志位、进位标志位、溢出标志位等。
三、总线接口单元1.地址加法器地址加法器(AFA)是BIU的核心部分,它可以将内部地址转换为外部地址,并控制数据传输。
2.指令缓存器指令缓存器(IC)用于存储从内存中读取的指令。
当EU需要执行一条新的指令时,BIU会从IC中取出相应的指令并传输给EU。
3.数据缓存器数据缓存器(DC)用于暂时存储从内存中读取或写入的数据。
当EU 需要访问内存时,BIU会将相应的数据传输到DC中,EU再从DC中读取或写入数据。
四、寄存器组1.通用寄存器8086有8个16位通用寄存器,分别命名为AX、BX、CX、DX、SI、DI、BP和SP。
这些寄存器可以用于保存临时数据和计算结果等。
2.段寄存器8086有4个16位段寄存器,分别命名为CS、DS、ES和SS。
这些寄存器用于保存程序和数据在内存中的位置信息。
3.指令指针寄存器指令指针寄存器(IP)用于保存下一条指令在内存中的地址。
微机原理 第三章 微处理器

青岛理工大学琴岛学院
表3.1 通用寄存器的特定用法
寄存器 操作 寄存器 操作 在移位指令中作 移位次数计数器
AX
字乘,字除,字I/O
CL
AL
字节乘,字节除,字节I/O, 查表转换,十进制运算
字节乘,字节除
DX
字乘,字除指令 中作辅助累加器
堆栈操作,做堆 栈指针
AH
SP
BX
查表转换,做基址寄存器
SI
青岛理工大学琴岛学院
2)逻辑地址与物理地址
逻辑地址(LA)和物理地址(PA):
物理地址:就是存储器的实际地址,它是指CPU和存储器 进行数据交换时所使用的地址(20位)。
逻辑地址:是在程序中使用的地址,它由段基址和偏移地
址两部分组成(16位)。
物理地址=段基址(左移4位)+偏移量
形成20位段 起始地址 16位
青岛理工大学琴岛学院
2 . 8086/8088CPU的寄存器结构
8086/8088CPU中可供编程使用的有14个16位寄存器, 按其用途可分为3类:通用寄存器、段寄存器、指针和标 志寄存器,如所示。
AH BH CH DH SP BP SI DI FLAGS IP CS DS SS ES AL BL CL DL 累加器 基址寄存器 计数寄存器 数据寄存器 数据寄存器 通用寄存器 地址指针和 变址寄存器
2
3 4 5
6
存取一般变量(除3、4、5项外)
DS
有效地址EA
根据寻址方式计算出来的偏移量又叫操作数的有效地址EA
青岛理工大学琴岛学院
4. CPU对堆栈的设置与操作
堆栈的功能:用于暂存数据和现场保护 (特别是在过程调用或中断处理时暂存断 点信息) 堆栈的解释:实际上是由特定存储单元 构成的一个存储区,只是在这个存储区中 信息的出入严格按照“先进后出”或“后 进先出”的规则进行。
8086微处理器的功能与结构

8086微处理器的功能与结构四、80x86微处理器的结构和功能(一)80x86微处理器1.8086/8088主要特征(1)16位数据总线(8088外部数据总线为8位)。
(2)20位地址总线,其中低16位与数据总线复用。
可直接寻址1MB存储器空间。
(3)24位操作数寻址方式。
(4)16位端口地址线可寻址64K个I/O端口。
(5)7种基本寻址方式。
有99条基本指令。
具有对字节、字和字块进行操作的能力。
(6)可处理内部软件和外部硬件中断。
中断源多达256个。
(7)支持单处理器、多处理器系统工作。
2.8086微处理器内部结构8086微处理器的内部结构由两大部分组成,即执行部件EU(Execution Unit)和总线接口部件BIU(Bus Interface Unit)。
和一般的计算机中央处理器相比较,8086的EU相当于运算器,而BIU则类拟于控制器。
3.8086最小模式与最大模式及其系统配置最小模式在结构上的特点表现为:系统中的全部控制信号直接来自8086CPU。
与最小模式相比,最明显的不同是系统中的全部控制信息号不再由8086直接提供,而是由一个专用的总线控制器8288输出的。
4.8087与8089处理机简述(1)8087协处理机8087协处理机与8086组合在一起工作,以弥补8086在数值运算能力方面的不足,所以它又称为协处理机。
(2)8089I/O处理机8089是一个带智能的I/O接口电路,相当于大型机中的通道,它将CPU的处理能力与DMA控制器结合在一起。
它具有52条基本指令,1MB的寻址能力,包含两个DMA通道。
8089也可以与8086联合在一起工作,执行自己的指令,进行I/O 操作,只在必需时才与8086进行联系。
在8089的控制下,可以进行外设与存储器之间、存储器与存储器之间以及外设与外设之间的数据传输。
同时,8089还可以设定多种终止数据传输的方式。
5.总线时序一个基本的总线周期包括4个时钟周期,即4个时钟状态T 1 、T2 、T3 和T4 。
8086微处理器与存储器的编程结构教案

第3章 8086微处理器与存储器的编程结构1.教学目的:掌握INTEL80X86微处理器概况以及基于微处理器的计算机系统构成,为汇编语言编程奠定基础。
2.教学要求:①了解INTEL80X86微处理器概况②理解基于微处理器的计算机系统构成③熟练掌握汇编语言编程所需的CPU功能结构、微机存储器(MEM)组织和微机接口组织等基础知识3.教学重点:①微处理器的功能结构②微存储器组织4.掌握难点:①微处理器的寄存器组②存储器寻址5.教学进程安排:P20~406.教学方法:①一般叙述INTEL80X86微处理器概况以及基于微处理器的计算机系统构成②重点讲授微处理器的功能结构和微存储器组织7.教学内容摘要:3.1 80X86微处理器概述3.1.1 微处理器发展简介1.Intel 8086微处理器2.Intel 80386微处理器3.Intel 80486微处理器4.Intel 奔腾(Pentium)处理器5.Intel 奔腾Ⅱ处理器6.Intel 奔腾Ⅲ处理器7.Intel 奔腾Ⅳ处理器3.1.2 与微处理器相关的概念1. 芯片集成度2. 微处理器主频3. 系统总线, 系统总线一般分三类:(1)数据总线(DATA BUS,DB)(2)地址总线(ADDRESS BUS,AB)(3)控制总线(CONTROL BUS,CB)4. 程序存储及存储器组织5. 处理器运算速度3.2 基于微处理器的计算机系统构成微型计算机系统包括硬件和软件两部分。
3.2.1 硬件系统图3.1给出了微型计算机组成框图。
1.运算器2.控制器3.存储器,(1)“读操作”:是指CPU将存储器中存储的某一部分信息取出来进行处理的操作。
(2)“写操作”:是指CPU用新的信息刷新存储器原来存储的某一部分内容的操作。
(3)注意:存储器的读/写操作是以字节为单位按存储器存储单元地址进行的。
4.输入/输出设备图3.1 微型计算机硬件系统组成把运算器、控制器、主存储器和输入/输出接口称为组成计算机硬件系统的五大部件。
8086cpu的组成

8086CPU的组成8086CPU是一种早期的微处理器,用于计算机的中央处理单元(CPU)。
它由多个组件组成,包括逻辑单元、寄存器、内存控制器、输入/输出单元等。
以下是对8086CPU组成的详细描述:1. 逻辑单元:8086CPU的逻辑单元包括各种控制单元和调度单元,用于处理指令、数据和内存访问请求。
这些逻辑单元负责协调各个组件之间的操作,确保CPU能够高效地执行任务。
2. 寄存器:8086CPU使用多个寄存器来存储数据和处理指令。
这些寄存器用于临时存储数据、操作数和结果,并支持CPU执行各种操作。
3. 内存控制器:8086CPU的内存控制器负责与主存储器(如RAM)进行通信,以快速访问数据和指令。
内存控制器通过内部总线与逻辑单元和其他组件进行交互,确保数据传输的效率和准确性。
4. 输入/输出单元:8086CPU的输入/输出单元负责与外部设备进行通信。
这些设备包括显示器、键盘、鼠标、硬盘驱动器等。
输入/输出单元通过接口与外部设备连接,并处理与它们的通信和数据传输。
5. 时钟和电源管理:8086CPU需要一个时钟信号来控制其操作速度。
时钟信号的频率决定了CPU的执行速度。
此外,8086CPU还具有电源管理功能,以确保各个组件在需要时获得适当的电源,并在不需要时关闭以节省能源。
总的来说,8086CPU由多个组件组成,这些组件协同工作以实现高效的计算任务。
它具有强大的逻辑单元、寄存器、内存控制器和输入/输出单元,以及时钟和电源管理功能,使其成为早期计算机系统的重要组成部分。
这些组件的组合和协同工作,使得8086CPU能够处理复杂的指令和数据,并支持计算机系统的正常运行。
第3章 8086(8088)CPU指令系统

20H 00H
00H 34H 12H
3000H:0000H
注: ◆基址因子BP访问默认为堆栈段 ◆不能同时取两个基址因子;也不 能同时去两个变址因子
16
+
3000H:3000H
AH
AL
第3章 8086/8088CPU指令系统
4.1.4 操作数寻址方式
●存储器寻址之相对基址加变址寻址(Base
9
第3章 8086/8088CPU指令系统
3.1.3 操作数寻址方式
4.1操作数寻址方式
所谓操作数的寻址方式,是在指令格式中怎样有效的表示出操 作数的存放位臵,CPU在执行该指令时,按照指令格式中的表示找 到并对数据进行存取。 1.立即寻址(Immediate Addressing) 立即寻址中的操作数作为指令的一 部分存放在代码段中,在取指阶段数据 随指令一起被取到CPU,这种数据在指 令格式中的直接表现为常数。 如:MOV AL,34H
2
第3章 8086/8088CPU指令系统
汇编语言指令或符号指令:用字母和其它一些符 号组成的“助记符”与操作数等表示的指令称为汇编 语言指令或符号指令。 例如: MOV AX, BX ; AX←BX 而其二进制代码(机器代码)为89D8H,就是 1000 1001 1101 1000 B 不易理解,不易记忆。助记符是MOV。
操作码
操作数
4
第3章 8086/8088CPU指令系统
3.1.1 8086/8088指令格式
4.1操作数寻址方式
8086/8088机器指令格式通常1-6个字节组成。典型的指令格式 由2个字节组成,如下图所示。
操作码 D W MOD REG R/M
微机原理第三章:8086微处理器结构

4.8086 和8088 二者的指令系统完全兼容
(1)有24 种寻址方式,具有乘、除法指令等。 (2)取指令和执行指令的操作并行运行,运行速度大大提高。
(3)具有最小模式和最大模式,应用领域宽广,适应性强。
(4)可方便地和数据处理器8087、I/O 处理器8089 或其它处理器 组成多处理机系统,提高数据处理能力和输人输出能力。
代码段寄存器 CS 标 志 寄 存 器
数据段寄存器 DS
堆栈段寄存器 SS
附加段寄存器 ES
由于8086/8088 CPU 可直接寻址的存储器空间是1M字节,直接寻址需要 20位地址码,而所有的内部寄存器都是16位的,用这些寄存器只能寻址 64K字节,为此需要采取分段技术来解决这个问题。
表3.1
通用寄存器的隐含使用
程序调试过程中。
3.1.2 8086/8088 的寄存器结构
四、指令指针寄存器 IP ★ 16 位的指令指针寄存器 IP 用来存放将要执行的下一条 指令在代码段中的偏移地址。 ★ 在程序运行过程中,BIU 可修改 IP 中的内容,使它始终 指向将要执行的下一条指令。 ★ 程序不能直接访问 IP,但可通过某些指令修改 IP 内容。 ★ 如遇到转移类指令,则将转移目标地址送人IP中,以实 现程序的转移。
★ 规则字的读/写操作可以一次完成。由于两个存储体上的地址
线 A19~A1 是连在一起的,只要使 A0=0,BHE=0,就可 以实现一次在两个存储体中对一个字的读/写操作。 ★ 读写的是从奇地址开始的字(高字节在偶体中,低字节在奇体 中),这种字的存放规则称为“非规则字”或“非对准字”。 ★ 非规则字的读/写,需要两次访问存储器才能完成。 第一次访问存储器读/写奇地址中的字节;
三、标志寄存器 FR
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
Vcc(+5V) AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD(RQ/GT0) HLDA(RG/GT1) WR(LOCK) M/IO(S2) DT/R(S1) DEN(S0) ALE[QS0) INTA(QS1) TEST READY RESET
IOB BHE
8286X2 OE RD MN/MX 8086 CPU T OE RAM
数据总线 (D15-0)
RD
ROM
I/O
WR RD
S2-S0代码组合和操作
S2 S1 S0 代码组合和对应操作 S1 S0 对 应 操 作 0 0 发中断响应信号 0 1 读 I/O 端口 1 0 写 I/O 端口 1 1 暂停 0 0 取指令 0 1 读内存 1 0 写内存 1 1 无源状态(CPU无作用) QS1 QS0 代码组合和对应操作 对应操作 无操作 从指令队列的第1个字节中取走代码 队列为空 除第1字节外,还取走了后续字节中的代码
数据总线
奇地址和偶地址数据存取
CPU
读入字节 忽略字节
偶地址 奇地址
CPU
忽略字节 读入字节
偶地址 奇地址
读偶地址字节
读奇地址字节
CPU
读入字节 忽略字节
偶地址 奇地址
CPU
忽略字节 读入字节 读入字节 忽略字节 读奇地址字
偶地址 奇地址 偶地址 奇地址
读偶地址字
8086CPU存储器系统连接
8086存储器高低8位字节数据选择 BHE 0 0 1 1 A19-1 A0 BHE SEL A19-1 SEL A19-1 A0 0 1 0 1 读 写 的 8 位 数 据 同时读写高低两个字节数据(高低8位数据都有效) 读写奇地址字节数据(高8位数据有效) 读写偶地址字节数据(低8位数据有效) 保留
奇存储体 512Kx8 D7-0 D15-8 D15-0 D7-0 8086CPU存储器系统组织
偶存储体 512Kx8 D7-0
8086CPU堆栈操作
设SS=1040H SP=0100H AX=1234H BX=5678H
SS-> 10400
SS-> 10400
0100 SP-> 104FC 104FD 104FE 104FF 10500 栈底 (栈顶) 78 56 34 12
GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
ALU
标志寄存器 执行单元(EU)
总线接口单元(BIU)
8086 CPU寄存器组
15 8 7 0 AH AL AX BH BL BX CH CL CX DH DL DX SP BP SI DI
累加器 状态标志 PSW 基址 通用 OF DF IF TF SF ZF 计数 寄存器 数据 堆栈指针 基址指针 源变址 目的变址 CF(Carry Flag) 进位标志 PF (Prity Flag) 奇偶标志 AF (Auxiliary Flag)
8086 CPU结构框图
通用寄存器 AH 数据 寄存器 BH CH DH AL BL CL DL AX BX CX DX SP 指针和变址 寄存器 BP SI DI ALU 数据总线 (16位) 暂存寄存器 EU 控制电路 1 2 3 4 5 6 队列总线 (8位) 指令队列缓冲器 CS DS SS ES IP 内部寄存器 8086总线 总线 控制电路 地址加法器 AB (20位) (16位) DB
AF
PF
CF
辅助进位标志
ZF (Zero Flag) 零标志 SF (Sign Flag) 符号标志 OF (Overflow Flag) DF (Direction Flag) IF (Interrupt Flag) TF (Ttap Flag) 溢出标志 方向标志 中断标志
IP 指令指针 FLAGH FLAGL PSW 状态标志 CS DS SS ES 代码段寄存器 数据段寄存器 堆栈段寄存器 附加段寄存器
低为IO读,
高为存储器读
最小方式写时序
地址 CS WR 数据 CLK A19-16 S3-S7 BHE AD15-0 ALE M/IO WR DT/R DEN 低为IO写, 高为存储器写 T1 A19-16 BHE T2 T3 S3-S7 数据输出 T4
A15-0
最大方式读时序
地址 CS (读) 数据 T1 T2 S2-S0 A19-16 A15-0 BHE T3 S2-S0 无效 S3-S7 数据输入 T4
控制总线
RQ/GT0 8086 INTR CLK RESET READY 8284 READY RESET CLK RESET READY TEST BUSY CLK RESET READY INT
MN/MX S2-S0 AD15-AD0 A19-A16 BHE
地址总线
QS0 QS1 RQ/GT1 RG/GT0 S2-S0 8087 RS/GT1 接8089 RQ/GT
CLK S2-S0 A19-16 S3-S7 BHE AD15-0 ALE MRDC (IORC) DT/R DEN
最大方式写时序
地址 CS 数据 T1 T2 S2-S0 A19-16 A15-0 BHE 数据输出 T3 S2-S0 无效 S3-S7 D15-D0 T4
CLK S2-S0 A19-16 S3-S7 BHE AD15-0 ALE AMWC (AIOWC) MWIC(IOWC) DEN
0100 栈顶
104FE 104FF SP-> 10500
栈底
空栈时的情况
先压AX 再压BX后的情况
最小方式读时序
地址 CS (读) 数据 T1 A19-16 A15-0 BHE T2 T3 S3-S7 数据输入 T4
CLK A19-16 S3-S7 BHE AD15-0 ALE M/IO RD DT/R DEN
跟踪(陷进)标志
8086 CPU引脚
GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
D15-0 RD WR I/O
+5V
ROM
8086最大方式系统结构
LOCK
CEN
AEN
等待状态发生器
8284 CLK RESET READY CLK S0 S1 8288 S2 DEN DT/R ALE STB BHE A19-16 AD15-0 8282X3 地址总线 (A19-9) MRDC MWTC AMWC IORC IOWC AIOWC INTA
Vcc(+5V) A15 A16/S3 A17/S4 A18/S5 A19/S6 SS0 MN/MX RD HOLD(RQ/GT0) HLDA(RG/GT1) WR(LOCK) M/IO(S2) DT/R(S1) DEN(S0) ALE[QS0) INTA(QS1) TEST READY RESET
INTEL 8086
8086引脚信号
8088引脚信号
INTEL 8088
8086最小方式系统结构
8284 CLK READY RESET
等待状态发生器
M/IO INTR INTA WR RD STB BHE
ALE BHE AD19-16 AD15-0
8082x3
地址总线 A19-0
数据总线 DEN DT/R MN/MX 8086 CPU 8286x2 OE RAM HOLD HLDA OE WR OE
S2 0 0 0 0 1 1 1 1
QS1 QS0 0 0 0 1 1 0 1 1
8086系统密耦合组态
8986/88 时钟 协处理机
I/O电路
8086系统松耦合组态
8259A INT IRn
CLK RESET READY RQ/GT
S2-S0 8089
CLK 8288 DT/R ALE STB 8282 OE T OE 8286