微机原理第三章:8086微处理器结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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.CF 进位标志位:算术运算指令执行之后,运算结果最高位若
产生进位或借位,则:CF =1,否则置 CF =0。
2.PF 奇偶标志:运算指令执行后,如果运算结果中 1的个数为 偶数,则: PF =1,否则置 PF=0。
3.AF 辅助进位标志位:加减法运算过程中,若第3位有进位或
3.3.1 最小方式的引脚定义
8086 CPU 的内部各功能部件之间的相互连接图
3.3.1 最小方式的引脚定义
一、两种工作模式 可工作在最小模式(MN)和最大模式(MX)两种情况下 1.在最小模式下,没有协处理器,所有的控制信号都由 CPU 自 身发出的。 2.在最大模式下,包含有两个或多个协处理器, 8086/8088 CPU 本身为主处理器,它通过 8288 总线控制器提供控制信号。 3.工作在最小模式(MN)和最大模式(MX)两种情况下有些 引脚的功能有双重作用,名称也不同。 4.8086 CPU 的外部引脚信号与内部结构如前图所示。图中括号 内所示为最大模式下被重新定义的控制信号。
★ 当BHE有效时,选定奇体,体内地址由:A19 ~A1 确定。
★ 当 A0 = 0 时,选定偶体,体内地址由:A19 ~A1 确定。
二、8086 CPU 对存储器的访问
1.从偶地址存储体或从奇地址存储体读写一个字节。 2.读写一个字:规则字、非规则字
四、规则字和非规则字
★ 读写的是从偶地址开始的字(高字节在奇体中,低字节在偶体 中),这种字的存放规则称为“规则字”或“对准字”。
有效地址 EA 存储器
DS 数据段寄存器
地址加法器 操作数的 20 位物理地址
数据段
4.扩展段寻址
SI 数据段寄存器 DS数据段寄存器
存储器
左移四位
地址加法器
操 作 数 地 址
数据段
DS段
DI 数据段寄存器 ES扩展段寄存器 左移四位
ES段
扩展段
3.2.4 堆栈
★ 堆栈是在存储器中定义的一个堆栈段(特殊存储区域) ★ 同其它逻辑段一样,容量达 64KB(在 1MB 存储空间中) 1.堆栈段的段基址由堆栈寄存器SS 给定;断内偏移地址由堆栈 指针SP 给出,当栈空时,SP 指向堆栈栈底 。 2.堆栈以字为单位进行操作;堆栈中的数据项必须以规定宇的 形式存储,每访问一次堆栈,能压入/弹出一个字的信息。 3.堆栈的操作是入栈(PUSH)操作和弹出(POP)操作; ★ 入栈操作:先修改SP的内容(SP-2→SP),后将信息入栈; ★ 弹出操作:先将信息出栈,后修改SP的内容(SP+2→SP)
● 8086 微处理器内部寄存器的分类、名称及功能;
● 8086 微处理器系统存储器的结构及堆栈的功能; ● 8086 系统总线的形成及两种模式下的总线周期;
● 了解 80X86 系列微处理器的基本结构和功能。
3.1 8086/8088 微处理器的内部结构
1.8086/8088 CPU是16位的第三代微处理器 2.8086 其内部数据总线和外部数据总线均16位 8088 却具有16 位的内部总线和8位的外部数据总线; (因而称为准16 位机) 3.均具有20 位地址总线,可寻址的内存地址空间达1M字节, 可寻址的I/O 地址空间为64 K字节,
3.1.1 8086/8088 的功能结构
一、8086/8088 CPU内部结构
有两个独立的
功能部件构成
1.EU
指令执行部件
2.BIU
总线接口部件
3.1.1 8086/8088 的功能结构
二、执行单元EU和总线接口单元BIU 1.指令执行单元 EU ★ 四个部件组成 ★ 功能是执行指令
通用寄存器组
段 基 址
偏
移 地 址
地 址 加 法 器
物
理
地
址
逻辑地址来源
存目标串
1.代码段寻址
程序计数器 PC
指 令 指 针 IP 存储器
CS代码段寄存器
左移四位
地址加法器 20位当前指令物理地址
代码段
2.堆栈段寻址
堆栈指针 SP 存储器
SS代码段寄存器
左移四位
地址加法器 20位当前指令物理地址
堆栈段
3.数据段寻址
3.1.2 8086/8088 的寄存器结构
一、通用寄存器组 EU单元中设有: 4 个16 位通用寄存器 AX BX CX DX 2 个16 位指针寄存器 SP BP
2 个16 位变址寄存器 DI SI
3.1.2 8086/8088 的寄存器结构
二、段寄存器 BIU单元中设置有4 个16 位 的段寄存器,用来存放段的 基地址,它们分别是 :
3.2.2 存储器的分段
三、段内地址的确定
★ 由于一个段中最多可以包括一个 64K 字节的存储空间,故段内
任一存储单元的地址可以用相对于段基址的16位偏移量来表示;
★ 该偏移量称为当前段内的“偏移地址”,可用CPU 中的16 位通 用 寄存器来存放。
6000 B000 A000 8000 堆栈段 数据段 附加段 代码段
运算单元ALU
EU 控制器
16位标志寄存器FR
3.1.1 8086/8088 的功能结构
二、执行单元EU和总线接口单元BIU 2.总线接口单元BIU 地址加法器
专用寄存器组 总线控制电路 ★ 四个部件组成 ★ 功能是:
▲
形成访问存储器的物理地址从存储器取 出的指令暂存到指令队列中等待执行
▲
配合EU部件访问存储器或I/O端口,读取 操作数参加EU中的运算或存放运算结果 指令队列
第三章 8086/8088微处理器结构
内容摘要:
主要内容包括 8086 CPU的内部结构及体系结构;8086 微处理器的引脚和功能;8086/8088 系统中的存储器结构和 系统总线的形成;最小、最大模式下系统时序的分析等。
学习要点
● 8086 微处理器的内部结构及EU、BIU 部件的作用; ● 了解8086 微处理器的外部引脚特性;
● 访问其中任何一个字节,应给出其物理地址。
3.2.1 存储器的组成
一、存储器的组成 1.8086 系统中存储器的编址方式
★ 将1M 字节的存储空间分成两个512K字节的存储体。
★ 一个存储体仅包含偶数地址,另一个存储体中仅包含奇数地址, 两体之间采用字节交叉编址方式,如下图:
一个存储体 512K(偶地址体或奇地址体),只需19位地址:
3.3 8086 微处理器的引脚信号和总线形成
3.3.1 最小方式的引脚定义
★ 8086/8088 CPU 包含16 条 数据线、20条地址线和一
些必要的控制信号
★ 采用分时复用地址/数据 总线的技术,减少了芯片
的引脚,构成40条引脚双
列直插式封装。 ★ 8086和8088 CPU 的引脚 功能基本相同,本节介绍 8086CPU 的引脚
有借住,则: AF =1,否则置 AF =0。
4.ZF 零标志位:运算的结果为0,则:ZF =1,否则ZF =0。 5.SF 符号标志位:他和运算结果的最高位相同。
6.OF 溢出标志:运算结果有溢出则 OF =1,否则置 OF =0。
7.IF 中断标志位:用于控制可屏蔽的硬件中断,该标志可用指令 置位(1)或复位(置零)。
第二次访问存储器读/写偶地址中的字节。
3.2.2 存储器的分段
一、划分逻辑段
★ 在8086/8088 系统中,可寻址的存储 器空间为1M 字节,每个存储单元对应一 个唯一的20 位的物理地址;对整个存储 空间寻址需20 位地址,但 CPU 可以提供 地址的寄存器 BX、IP、SP、BP、SI 和
DI 及运算单元都是16 位,可以寻址的空
IF =1可接受中断; IF =0 中断被屏蔽,不接受中断。
8.DF 方向标志位:指定字符串处理指令的步进方向,可用指令置位 或清零。DF =1,串处理以递减方式由高地址向低地址方向进行;
DF =0,串处理以递增方式由低地址向高地址方向进行。
9.TF 单步标志位:TF =1,表示控制CPU 进入单步工作方式。 此方式下,CPU 执行完一条指令就自动产生一次内部中断,用于
间范围仅为64K 字节 。 ★ 将整个存储空间分成若干个可以紧密相连,也可以相 互重叠(完全或部分重叠)如图所示:
3.2.2 存储器的分段
二、段首地址的确定
★ 各个逻辑段的段首地址的低 4 位
地址码总是为“0”
★ 段首地址高 16 位地址码称作: “段基址” ★ “段基址” 存放在: 代码段基址寄存器 CS, 堆栈段基址寄存器 SS, 数据段基址寄存器 DS, 扩展段基址寄存器 ES。
★ 也可将 IP 的内容压人堆栈或从堆栈中弹出。
3.2 8086/8088 微处理器的存储器结构
3.2.1 存储器的组成 一、存储器的组成
● 8086/8088 CPU 具有20 位地址线,可寻址 1M 字节
的存储单元。
● 在此存储空间中是以 8 位为一个字节顺序排列存放,
每一字节都有一个唯一的 20 位物理地址。
★ 段基址和偏移地址都是无符号的 16 位二进制数。
二、逻辑地址 :16 位的段基址和偏移地址通称为逻辑地址。
段 基 址
偏
移 地 址
地 址 加 法 器
物
理 地 址
3.2.3 物理地址和逻辑地址
三、物理地址的形成:它是由逻辑地址变换得来的。
★ 当 CPU 访问存储器时,必须完成如下的地址运算:
物理地址 = 段基址×16 +偏移地址 ★ 通过 CPU 中总线接口部件BIU 中的地址加法器来实现的。
A1~A19;地址码 A0 用来区分当前访问哪一个存储体。 A0=0 表示访问偶地址体;A0=1表示访问奇地址体。
高字节体
低字节体
二、8086 CPU 对存储器的访问
8086 系统允许一次读/写一个字节,也允许一次读/写一个字。
★ 读/写一个字节:A0 = 0,访问偶地址体;A0= 1,访问奇地址体。 ★ 读/写一个字:要同时访问两个存储体,从奇、偶体中各取一个字节。 情况下,仅凭 A0 来控制读/写操作无法完成。因此,系统中专门设有 总线高位有效控制信号 BHE。
对于任何一个物理地址来说,可以
唯一地被包含在逻辑段中,也可以
包含在多个相互重叠的逻辑段中, 只要能得到它所在段的首地址和段
内的相对地址,就可对它进行访问
3.2.3 物理地址和逻辑地址
一、物理地址
★ 任何一个存储单元对应一个20位的物理地址,也称为绝对地址;
★ 物理地址由两部分组成,即由段基址和偏移地址两部分构成;
3.3.1 最小方式的引脚定义
二、引脚
1.Vcc(电源)、GND(地) 8086 CPU只需要单一的+5V电源,由Vcc输人,GND为接地端。
2.CLK(Clock):主时钟信号输人
由8284 时钟发生器输人,其频率随芯片型号不同有较大差异。 3.AD15~AD0:分时复用的地址/数据总线