第2章 8086体系结构与80X86CPU
微机原理与接口技术(第三版)课本习题答案
第二章 8086体系结构与80x86CPU1.8086CPU由哪两部分构成?它们的主要功能是什么?答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。
指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。
总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。
2.8086CPU预取指令队列有什么好处?8086CPU内部的并行操作体现在哪里?答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。
从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。
8086CPU内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。
5.简述8086系统中物理地址的形成过程。
8086系统中的物理地址最多有多少个?逻辑地址呢?答:8086系统中的物理地址是由20根地址总线形成的。
8086系统采用分段并附以地址偏移量办法形成20位的物理地址。
采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。
通过一个20位的地址加法器将这两个地址相加形成物理地址。
具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。
由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。
第2章80x86CPU
总线接口单元BIU中设计了4个16位的段寄存器,分别 是代码段寄存器CS、数据段寄存器DS、附加段寄存器ES与 堆栈段寄存器SS。
/webnew/
第二章 8086微处理器及其系统结构
寄存器 AX
AH AL BX CX CL DX SP SI DI
隐含用法
/webnew/
第二章 8086微处理器及其系统结构
3、总线高字节允许/状态,BHE/S7(输出、三态) 在总线开始(T1)时,作为总线高半部分允许信号。当 为低电平时,把读写的8位数据与AD15-AD8相连。该信号与 A0结合以决定数据是高字节工作还是低字节工作。在总线周 期的其他时间,输出状态信号S7。
/web结构
4.控制寄存器
IP称为指令指针寄存器,用于存放偏移地址。CPU从代码段中偏移地 址为IP的内存单元中取出指令代码的1个字节后,IP自动加1,指向指令 代码的下一个字节。用户程序不能直接访问IP。 FLAG称为标志寄存器,它也是一个16位的寄存器,但只用了其中9位, 这9位包括6个状态标志位和3个控制标志位,如图所示。6个状态标志位 记录了算术运算和逻辑运算结果的特征,不同的指令对状态标志位的影 响是不同的;3个控制标志位被设置后,将对其后的操作产生控制作用。 FLAG: 15 12 11 10 9 8 7 6 5 4 3 2 1 0
/webnew/
第二章 8086微处理器及其系统结构
(7)HOLD(输入)。当外部总线主设备要求占用总线时,向CPU发出该 信号,CPU在完成当前总线周期后进入保持状态,让出总线控制权。 (8)HLDA(输出)。为CPU对HOLD信号的响应信号,当HLDA信号有效时, CPU的三态信号线全部处于高阻态。
/webnew/
第2章 8086与80x86系列微处理器
EU由以下几部分组成:
数据寄存器:4个16位数据寄存器AX、BX、 CX和DX,主要用于存放运算过程中的数据 或地址。 4个16位数据寄存器也可以作为8个8位数据 寄存器使用,其中AH、BH、CH和DH用于存 放高字节,AL、BL、CL和DL用于存放低字 节。
指针寄存器:两个16位指针SP和BP,与 堆栈段寄存器SS配合使用,用于存放当 前堆栈段中某个单元的偏移量。 变址寄存器:两个16位变址寄存器SI和 DI,与数据段寄存器DS配合使用,用于 存放当前数据段中某个单元的偏移量。
S6 :指示CPU当前是否连在总线上。S6=0 表示CPU当前连在总线上。 S5 :标志位寄存器中的中断允许标志IF 的当前状态。S5=1表示当前允许可屏蔽 中断请求;S5=0表示禁止一切可屏蔽中 断。 S4和S3:指示当前正在使用的段寄存器, 如表2-1所示
3.控制总线
BHE/S7: 1、三态输出,采用分时复用方式。 2、在总线周期的T1 状态,输出BHE信号, 表示使用高8位数据线AD15~AD8 ;否则, 只使用低8位数据线AD7~AD0。 3、在总线的其他T状态输出状态信息。 4、BHE和A0组合起来表示的功能如表2-2所 示。
TEST:测试信号,输入,低电平有效。 当CPU执行WAIT指令时,每隔5个时钟周 期对TEST进行一次测试。 该信号为高电平时,则CPU处于等待状态; 变为低电平时,等待状态结束,继续执 行被暂停的指令。
READY:准备就绪信号,输入,来自被访问 存储器或I/O端口的响应信号,高电平有效。 该信号为高电平时表示要访问的存储器或 I/O端口准备就绪,将在下一个时钟周期内 完成数据传送;否则,表示存储器或I/O端 口未准备就绪,将插入一个或多个等待周期 直到READAY为高电平为止。
8086汇编语言程序设计第2章+80x86计算机组织结构
c.控制总线CB 控制总线CB
控制总线是传送控制信息 控制总线是传送控制信息的。 控制信息的 CPU与内存 与内存、 CPU与内存、外设备之间的数据传送操 作为读写操作 读写操作。 作为读写操作。 读写信息就是控制信息 控制信息, 读写信息就是 控制信息 , 是通过控制 总线传送的。 总线传送的。 不同型号的CPU总线位数不同, CPU总线位数不同 不同型号的CPU总线位数不同,相应的 字长与寻址空间也不同 也不同。 字长与寻址空间也不同。
South china normal university
2.指针寄存器(SP、BP、IP) 指针寄存器(SP、BP、IP)
SP:堆栈指针寄存器, SP:堆栈指针寄存器,存放当前堆栈段栈 顶的偏移地址, ES与 SS堆栈寄存器配合 顶的偏移地址 , ES 与 SS 堆栈寄存器配合 存取堆栈中的数据。 在实模式方式(SP) (SP), 存取堆栈中的数据 。 在实模式方式 (SP) , 保护模式(ESP) (ESP)。 保护模式(ESP)。 BP: 基址指针寄存器,在间接寻址时, BP:为基址指针寄存器,在间接寻址时, 用来存放基地址, 用来存放基地址 , 是相对于堆栈段的基 地址。 地址。 IP: 指令指针寄存器, IP:为指令指针寄存器,是存放当前正在 执行的指令的下一条指令的偏移地址 下一条指令的偏移地址, 执行的指令的 下一条指令的偏移地址 , 该寄存器所指的地址为代码段的偏移地 址。
三总线的主要任务是负责CPU 三总线的主要任务是负责 CPU 与 CPU与 内存、外存、外部设备交换信息。 内存、外存、外部设备交换信息。
South china normal university
a. 数据总线DB 数据总线DB 数据总线是用来传送数据 传送数据的 数据总线是用来传送数据的。 CPU与内存 I/O设备之间通过 与内存、 CPU 与内存 、 I/O 设备之间通过 数据总线传送数据, 80x86系列 数据总线传送数据 , 80x86 系列 的数据总线有8 16位 32位 的数据总线有 8 位 、 16 位 、 32 位 64位 和64位。
微机原理和接口技术[第三版]课本习题答案解析
第二章 8086体系结构与80x86CPU1.8086CPU由哪两部分构成?它们的主要功能是什么?答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。
指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。
总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。
2.8086CPU预取指令队列有什么好处?8086CPU内部的并行操作体现在哪里?答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。
从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。
8086CPU内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。
5.简述8086系统中物理地址的形成过程。
8086系统中的物理地址最多有多少个?逻辑地址呢?答:8086系统中的物理地址是由20根地址总线形成的。
8086系统采用分段并附以地址偏移量办法形成20位的物理地址。
采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。
通过一个20位的地址加法器将这两个地址相加形成物理地址。
具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。
由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。
第2章 80x86系列结构微处理器与8086
1.掌握微处理器的执行部件(EU)和总线接口部件(BIU) 的主要组成部分,及其两部件的功能。 2.掌握并牢记各寄存器的名称及其功能。 3.掌握存储器实际物理地址的计算。
一.8086微处理器的结构
EU
通用寄存器组
芯片 总线
地址 产生器
20位地址总线
16位 数据总线
暂存寄存器 EU 控 制 单 元
二.堆栈与堆栈操作
1.堆栈——遵循“先进后出,后进先出”的原则,临时存放数 据的方法称为堆栈 2.堆栈区——将某些存储单元按堆栈的原则临时存放数据,该 存储区,称为堆栈区。 3.栈顶——最后一个数据压入堆栈区的存储单元,称为栈顶。 4.堆栈操作(例子)
三.8086微处理器的寄存器结构
1.数据寄存器组 AX AH AL AX(AH+AL)—— 累加器 BX BH BL BX(BH+BL)—— 基址计数器 CX CH CL DX CX(CH+CL)—— 计数器 DH DL SP DX(DH+DL)—— I/O间址寄存器 BP 以上四个寄存器可以作为十六位(高 SI 八位与低八位)寄存器使用,也可以分 DI 为两个八位寄存器使用。 2.指示器和变址寄存器组 SP(堆栈指针/指示器): 存放堆栈的栈顶的偏移地址。 BP(基数指针/指示器):存放需要改变数据的基值。 SI(源变址寄存器):存放需要改变的源地址的偏移地址。 DI(目的变址寄存器):存放需要改变的目的地址的偏移地址。 通常情况下,可以不严格区分“源”或“目的”,当在执行 “串操作指令”时,必须严格区分“源”与“目的”。 以上八个寄存器均在执行部件(EU)中
3.段与段寄存器(在BIU中) CS(代码段段寄存器) DS(数据段段寄存器) SS(堆栈段段寄存器) ES(附加段段寄存器,附加数据段段寄存器) 以上各段寄存器存放的是各段的段地址
02_8086 8088系统结构与80x86微处理器
│ AH │ AL │ AX 累加器 ┐
├──────┼──────┤ │
│ BH │ BL │ BX 基址寄存器 │
├──────┼──────┤ │ 数据寄存器 ┐
│ CH │ CL │ CX 计数寄存器 │ │
④,控制寄存器组
a,指令指针 IP
----保存下一条要执行指令的偏移地址
b,标志寄存器 FLAG
----即处理器状态字(PSW)寄存器
----8086/8088 CPU 设立了一个两字节的标志寄存器,共9个标志
----6个反映前一次涉及ALU 操作结果的状态标志,3个是控制CPU 操作特征的控制标志
指示欲传信息的来源或目的地址的地址总线
管理总线上活动的控制总线
2,8086/8088 CPU 的功能结构
①,8086有16条数据总线,可以处理8位或16位数据。
②,8086有20条地址总线,可以直接寻址1M字节的存储单元和64K个I/O端口
③,8088外部数据总线是8位的
----在功能上的共同点:在堆存储器操作数寻址时,用于形成20位物理地址码的组成部分
----在任何情况下,都不能独立地形成访问内存的地址码,因为他们只有16位
--访问存储器的地址码由段地址和段内偏移地址两部分构成
--这4个寄存器用于存放段内偏移地址的全部或一部分
----SP 堆栈指针
└────────┘ └────────┘ └────────┘
存储器三级结构
d,80386之前的CPU都没有Cache。
80386 CPU 内无 Cache,而由与之配套使用的 Intel 82385 Cache控制器实现CPU之外的Cache管理
微机原理与接口技术(第三版)课本习题答案
第二章 8086体系结构与80x86CPU1.8086CPU由哪两部分构成它们的主要功能是什么答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。
指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。
总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。
2.8086CPU预取指令队列有什么好处8086CPU内部的并行操作体现在哪里答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。
从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。
8086CPU内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。
5.简述8086系统中物理地址的形成过程。
8086系统中的物理地址最多有多少个逻辑地址呢答:8086系统中的物理地址是由20根地址总线形成的。
8086系统采用分段并附以地址偏移量办法形成20位的物理地址。
采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。
通过一个20位的地址加法器将这两个地址相加形成物理地址。
具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。
由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。
第 2 章 80X86系列结构微处理器与8086——微机原理课件PPT
• 基本程序执行寄存器 8个通用寄存器、4个段寄存
器、标志寄存器FLAGS和IP(指令指针)寄存器组成了执行 通用指令的基本执行环境。这些指令执行字节、字整型数的 基本整数算术运算,处理程序流程控制,在字节串上操作并 寻址存储器。
• 堆栈(stack) 为支持过程或子程序调用并在过程
或子程序之间传递参数,堆栈和堆栈管理资源包含在基本执 行环境中。堆栈定位在内存中。
• I/O端口 8086结构支持数据在处理器和输入输出(I/O)
端口之间的传送。
8086处理器的基本执行环境
2.3.2 基本的程序执行寄存器
处理器为了应用程序编程提供了14个基本程序执行寄 存器。
这些寄存器能分组如下: • 通用寄存器:8个,用于存放操作数和指针。 • 段寄存器:4个,保存段地址。 • FLAGS寄存器:报告正在执行的程序的状态,并 允许有限地(应用程序级)控制处理器。 • IP寄存器:表示下一条要执行的指令的16位指针。
第 2 章 80x86系列结构微处理器 与8086
2.1 80x86系列微处理器是8086的延伸 2.2 8086的功能结构 2.3 8086微处理器的执行环境
2.2 8086的功能结构
两大功能模块:BIU和EU 并行工作
8086的内部结构 地址加法器 ∑
20位
AH AL
BH BL CH CL DH DL
8位微处理器的执行顺序
BIU 取指令 取指令 取指令 取指令 取指令 得到数据
EU
等待
执行
执行
8086的执行顺序
执行
分两个功能模块的作用:
大大减少了等待对取指所需的时间,提高 了CPU的利用率。
第2章 80X86CPU
1.功能结构 8086/8088 CPU内部结构从功能上可以分为两 部分: 总线接口单元BIU(Bus Interface Unit):负 责完成CPU与存储器或I/O设备之间的数据传送。 执行单元EU(Execution Unit):不与系统外部 直接相连,负责译码和执行指令。
AB(20位) 通用寄存器 AH AL BH BL CH CL DH DL SP BP SI DI AX BX CX DX 地址 加法器 ∑
图
8086/8088CPU引脚信号
2.1 8086/8088 CPU的编程结构
8086是Intel系列的16位微处理器,采用N沟道、耗尽型的 硅栅工艺(HMOS)制造,内部包含约29000个晶体管。 8086有40条引脚,有16根数据线和20根地址线,可寻址的 地址空间为220即1MB。 时钟频率:8086为5MHz,8086-2为8MHz,8086-1为10MHz。 8088一种准16位微处理器,推出8088的主要目的是为了与 当时已有的一整套Intel外围接口芯片直接兼容使用。8088的内 部寄存器、内部运算部件以及内部操作与8086基本相同,但外 部性能有区别。8086的外部数据总线是16位的,但8088外部的 数据总线是8位的。
表
S4 0 0 1 1 S3 0 1 0 1
S4与S3的代码组合和对应的状态
状态 当前正在使用ES 当前正在使用SS 当前正在使用CS,或未使用任何段寄存器 当前正在使用DS
(3) BHE /S7(Bus High Enable/Status) 高8位数据总线有效/状态复用引脚,三态输出。BHE 在总 线周期的T1状态时输出,S7在T2—T4时输出。在8086中,该引 脚输出 BHE 信号时,表示总线高8位AD15-AD8上的数据有效,在 8088中,该引脚被赋予另外的含义。 (4) (Read) RD 读控制信号,三态,输出。低电平有效,表示当前CPU正 在读存储器或I/O端口。
第2章80x86系列结构微处理器与8086
2. 引入片内缓存(CACHE)
为了减少取指令与数据的时间,把近期可能要
用到的指令与数据放在工作速度比主存储器更高
的缓存中,在处理器芯片中实现了缓存。
目前,通常在处理器芯片上有指令和数据分开 的一级缓存与指令与数据混合的二级缓存。且缓 存的容量越来越大。从而进一步提高了处理器的 性能。
2.2 8086的功能结构
2.1.1 8086功能的扩展
从16位扩展为32位 从实模式至保护模式 片内存储管理单元 – MMU 浮点支持 MMX技术 流SIMD扩展(SSE)
1. 从16位扩展为32位
8086是16位微处理器。但依赖分段机制,基地址+ 偏移量形成了20位的地址,以寻址1MB的物理地 址。 1985年,Intel公司推出了第一个32位的微处理 器 —80386,目前主流仍是32位机。 32位地址能寻址4GB物理地址 。
1.通用寄存器
八个16位通用寄存器AX、BX、CX、DX、SI、 DI、BP和SP用于处理以下项:
逻辑和算术操作的操作数;
用于地址计算的操作数; 内存指针。
所有这些寄存器都可用于存放操作数、结果和
指针,但SP寄存器通常保持堆栈指针。
AX、BX、CX、DX通常称为数据寄存器,
用以存放操作数;SI、DI、BP、SP通常称为指
FLAGS和IP(指令指针)寄存器。
堆栈(stack) 中断或调用程序 ห้องสมุดไป่ตู้ I/O端口
图:8086基本执行环境
2.3.2 基本的程序执行寄存器
8086中有14个基本程序执行寄存器。
通用寄存器:8个,用于存放操作数和指针。 段寄存器:4个,保存段选择子。 标志寄存器( FLAGS ):1个,执行程序的 状态。 指令指针寄存器(IP):1个,下一条执行指 令的16位指针。
微机原理与接口技术(第三版)&电子工业出版社&课本习题答案
&电子工业出版社&第二章 8086体系结构与80x86CPU1.8086CPU由哪两部分构成?它们的主要功能是什么?答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。
指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。
总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。
2.8086CPU预取指令队列有什么好处?8086CPU内部的并行操作体现在哪里?答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。
从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。
8086CPU内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。
5.简述8086系统中物理地址的形成过程。
8086系统中的物理地址最多有多少个?逻辑地址呢?答:8086系统中的物理地址是由20根地址总线形成的。
8086系统采用分段并附以地址偏移量办法形成20位的物理地址。
采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。
通过一个20位的地址加法器将这两个地址相加形成物理地址。
具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。
由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。
第2章 80X86微处理器
工作过程 从存储器中取出一条指令,执行完所取出的 指令后再去取下一条要执行的指令。一般CPU和 总线工作过程如下:
CPU
取指1
执行1
取指2
执行2
取指3
执行3
t
总线 (BUS)
忙 空闲 忙 空闲 忙 空闲
t
8086具有流水线操作,大大提高了总线的 使用,工作过程如下图所示:
EU
执行1 执行2 执行3 执行4 执行5
外部 总线
暂存寄存器
ALU 标志寄存器 执行部件(EU)
控制 电路
队列总线 6字节指令队列 指令队列缓冲器
总线接口部件(BIU)
1.执行部件 (EU):
由一组16位的通用寄存器、一个16位的算术 逻辑运算部件ALU,状态标志寄存器F(Flag),暂 存器,EU控制部件组成。
主要功能:
1)从指令队列中取指令代码,通过EU控制系统将指 令译码成微控信号,发出相应的控制操作命令给各 功能部件。 2)通过ALU对操作数进行算术、逻辑运算,将运算结 果通过内部总线传送到指点寄存器,并根据结果设 置状态标志寄存器的相应位。 3)可向BIU发出命令并提供数据的有效地址。
偶数时,PF=1,否则PF=0。
辅助进位标志AF:D3向D4有进位和借位时AF=1,
否则AF=0。
状态标志
零标志ZF:当指令执行结果为0时,ZF=1,否则ZF=0。
符号标志SF:当指令执行结果使最高位为1时,SF=1
(表示负数),否则SF=0(表示正数)。
溢出标志OF:指令执行结果超过8位(-128~+127)或16
8088
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
微机原理与接口技术第2章8086系统结构
第二章8086体系结构与80x86CPU1.8086CPU由哪两部分构成?它们的主要功能是什么?答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。
指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。
总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。
2.8086CPU预取指令队列有什么好处?8086CPU内部的并行操作体现在哪里?答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。
从速度上看,该指令队列是在CPU 内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。
8086CPU内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。
3.8086CPU中有哪些寄存器?各有什么用途?答:指令执行部件(EU)设有8个16位通用寄存器AX、BX、CX、DX、SP、BP、SI、DI,主要用途是保存数据和地址(包括内存地址和I/O端口地址)。
其中AX、BX、CX、DX主要用于保存数据,BX可用于保存地址,DX还用于保存I/O端口地址;BP、SI、DI主要用于保存地址;SP用于保存堆栈指针。
标志寄存器FR用于存放运算结果特征和控制CPU操作。
BIU中的段寄存器包括CS、DS、ES、SS,主要用途是保存段地址,其中CS代码段寄存器中存放程序代码段起始地址的高16位,DS数据段寄存器中存放数据段起始地址的高16位,SS堆栈段寄存器中存放堆栈段起始地址的高16位,ES扩展段寄存器中存放扩展数据段起始地址的高16位。
第2章8086体系结构与80X86CPU
08.04.2021
17
寄存器用途
1.可将寄存器内的数据执行算术及逻辑运算; 2.存于寄存器内的地址可用来指向内存的某个位置,即寻址; 3.可以用来读写数据到电脑的周边设备。
08.04.2021
18
CPU(8086)的结构
例2:XOR AX, AX
执行后,ZF=?
08.04.2021执行后,ZF=1
28
CPU(8086)的结构
❖ 进位标志CF(Carry Flag): 它反映:
加法时,最高位(字节操作时的D7位,字操作时的D15位)是否有进位产生。 减法时,最高位(字节操作时的D7位,字操作时的D15位)是否有借位产生。
2. 控制标志(3位):每一位控制标志都对一种特定的功能起控 制作用。可以通过专门的指令对其进行“置位”(Set)或 “复位”(Reset)。
❖ 中断标志IF(Interrupt Enable Flag):如果IF置“1”,则CPU可以接受 可屏蔽中断请求;反之,则CPU不能接受可屏蔽中断请求。 指令系统中有两条专门的指令可以置“1”或置“0” IF标志位: STI 使IF置“1”,即开放中断。 CLI 使IF清“0”,即关闭中断
+ 1000
1000 1000 0001
1101
1100 0001 0101
运算结果为-23EBH,并置标志位为:
▪ 进位标志 CF=0; 奇偶校验 PF=1;
▪ 辅助进位 AF=0; 全零标志 ZF=0;
▪ 08.04.2021 符号标志 SF=1;
溢出标志 OF=0. 31
CPU(8086)的结构
第02章80X86微处理器及其体系结构
数据寄存器
SP BP SI DI
IP
通用寄存器
地址指针和 变址寄存器
FLAGS
CS DS SS ES
控制寄存器
段寄存器
8086CPU内部寄存器结构
6Hale Waihona Puke 1.通用寄存器通用寄存器分为数据寄存器与指针和变址寄存器两组。 数据寄存器包括4个16位的寄存器AX、BX、CX和DX,一 般用来存放16位数据,故称为数据寄存器。其中的每一个又 可根据需要将高8位和低8位分成独立的两个8位寄存器来使 用,即AH、BH、CH、DH和AL、BL、CL、DL两组,用于存放8 位数据,它们均可独立寻址、独立使用。 指针和变址寄存器包括指针寄存器SP、BP和变址寄存器 SI、DI,都是16位寄存器, ,一般用来存放地址的偏移量。 这8个16位通用寄存器都具有通用性,从而提高了指令 系统的灵活性。但在有些指令中,这些通用寄存器还各自有 特定的用法 ,见下表。
址两部分组成(16位)。
逻辑地址的表示形式为“段地址∶偏移地址”。
物理地址=段地址×10H+偏移地址
4.专用和保留的存储器单元
15
2.2.2 I/O端口的组织
1.统一编址
又称“存储器映射方式”。在这种编址方式下 ,I/O端
口地址置于1MB的存储器空间中,在整个存储空间中划 出一部分空间给外设端口 ,端口和存储单元统一编址。 优点:无需专门的I/O指令,对端口操作的指令 类型多,从而简化了指令系统的设计。
第2章 80X86微处理器及其体系结构
本章主要教学内容
8086微处理器的基本性能指标、组成及其寄存器结构 8086微处理器的外部引脚特性 8086微处理器的存储器和I/O组织 8086的时钟和总线概念及其最小/最大工作方式 80286、80386、80486等高档微处理器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
地址/数据复用信号,双向,三态。在T1状态 (地址周期)AD15~AD0上为地址信号的低 16位A15~A0;在T2 ~ T3状态(数据周期) AD15~AD0 上是数据信号D15~D0。
(2) A19/S6~A16/S3 (Address/Status):
(4) RD# (Read)
读信号, 三态输出,低电平有效,表示当前CPU正在 读存储器或I/O端口。
(5) WR# (Write)
写信号,三态输出,低电平有效,表示当前CPU正在写 存储器或I/O端口。
(6)M/IO# (Memory/IO )
存储器或I/O端口访问信号。三态输出,M/IO#为高 电平时,表示当前CPU正在访问存储器,M/IO# 为低电 平时,表示当前CPU正在访问I/O端口。
➢ DS(Data Segment),数据段寄存器中存放数据 段起始地址的高16位。
➢ SS(Stack Segment),堆栈段寄存器中存放堆栈 段起始地址的高16位。
➢ ES(Extended Segment),扩展段寄存器中存放 扩展数据段起始地址的高16位。
3、标志寄存器FR
标志寄存器FR中共有9个标志位,可分成 两类: ➢状态标志 表示运算结果的特征,它们是
8086系统中,通常采用8286或8287作为数据总线的 驱动器,用DT/R#信号来控制数据驱动器的数据传 送方向。当DT/R#=1时,进行数据发送;DT/R#=0 时,进行数据接收。
(16)HOLD(Hold Request) 总线请求信号。由外部输入,高电平有效器向
特殊用途
在输入输出指令中作数据寄存器用 AX, AL 在乘法指令中存放被乘数或乘积,在除法指令中存放被除数或商
AH 在LAHF指令中,作目标寄存器用
在十进制运算指令中作累加器用 AL 在XLAT指令中作累加器用
在间接寻址中作基址寄存器用 BX 在XLAT指令中作基址寄存器用
CX 在串操作指令和LOOP指令中作计数器用
➢ DI(Destination Index)
目标变址寄存器多用于存放内存的逻辑 偏移地址,隐含的逻辑段地址在DS寄存 器中也可放数据。
➢ BP(Base Pointer) 基址指针用于存放内存的逻辑偏移地址,
隐含的逻辑段地址在SS寄存器中。 ➢ SP(Stack Pointer )
堆栈指针用于存放栈顶的逻辑偏移地址, 隐含的逻辑段地址在SS寄存器中。
CL 在移位/循环移位指令中作移位次数计数器用
DX
在字乘法/除法指令中存放乘积高位或被除数高位或余数 在间接寻址的输入输出指令中作地址寄存器用
在字符串运算指令中作源变址寄存器用 SI 在间接寻址中作变址寄存器用
在字符串运算指令中作目标变址寄存器用 DI 在间接寻址中作变址寄存器用
BP 在间接寻址中作基址指针用
1、 8086的两种工作方式
最小模式:系统中只有8086一个处理器,所有的控制信号都 是由8086CPU产生。
最大模式:系统中可包含一个以上的处理器,比如包含协处 理器8087。在系统规模比较大的情况下,系统控 制信号不是由8086直接产生,而是通过与8086配 套的总线控制器等形成。
➢ 最小模式下的引脚说明
➢ CX(Counter)
将它称作计数寄存器,是因为它既可作 数据寄存器,又可在串指令和移位指令中 作计数用。
➢ DX(Data Register)
DX除可作通用数据寄存器外,还在乘、 除法运算、带符号数的扩展指令中有特殊 用途。
➢ SI(Source Index)
源变址寄存器多用于存放内存的逻辑偏 移地址,隐含的逻辑段地址在DS寄存器 中,也可放数据。
BHE
(7)READY
准备就绪信号。由外部输入,高电平有效,表示CPU 访问的存储器或I/O端口己准备好传送数据。当READY 无效时,要求CPU插入一个或多个等待周期Tw,直到 READY信号有效为止。
(8)INTR( Interrupt Request) 中断请求信号,由外部输入,电平触发,高电
寄存器的特殊用途和隐含性质
在指令中没有明显的标出,而这些寄存器参加 操作,称之为“隐含寻址”。
具体的:在某类指令中,某些通用寄存器有指 定的特殊用法,编程时需遵循这些规定,将某些 特殊数据放在特定的寄存器中,这样才能正确的 执行这些指令。采用“隐含”的方式,能有效地 缩短指令代码的长度。
寄存器名
l EU每执行完一条指令,从指令队列队首取指。 系统初始化后,指令队列为空,EU等待BIU从内存 取指,填充指令队列。
l EU取得指令,译码并执行指令。若指令需要取 操作数或存操作结果,需访问存储器或I/O,EU向 BIU发出访问总线请求。
l 当BIU接到EU的总线请求,若正忙(正在执行 取指总线周期),则必须等待BIU执行完当前的 总线周期,方能响应EU请求;若BIU空闲,则立 即执行EU申请总线的请求。
(12)RESET 复位信号。由外部输入,高电平有效。RESET信
号至少要保持4个时钟周期,CPU接收到该信号后, 停止进行操作,并对标志寄存器(FR)、IP、DS、SS、 ES及指令队列清零,而将CS设置为FFFFH。当复 位信号变为低电平时,CPU从FFFF0H开始执行程 序,由此可见,采用8086CPU计算机系统的启动程 序就保持在开始的存储器中。
SP 在堆栈操作中作堆栈指针用
隐含性质 不能隐含 隐含 隐含 隐含 隐含 不能隐含 隐含 隐含 不能隐含 隐含 不能隐含 隐含 不能隐含 隐含 不能隐含 不能隐含 隐含
2、段寄存器
总线接口部件BIU设有4个16位段寄存器
➢ CS(Code Segment),代码段寄存器中存放程序 代码段起始地址的高16位。
行WAIT指令时(WAIT指令是用来使处理器与外部硬 件同步),每隔5个时钟周期对TEST进行一次测试, 若测试到该信号无效,则CPU继续执行WAIT指令, 即处于空闲等待状态;当CPU测到TEST输入为低电 平时,则转而执行WAIT的下一条指令。由此可见, TEST对WAIT指令起到了监视的作用。
PF=1,表示本次运算结果中有偶数个“l”,PF=0 表示本次运算结果中有奇数个“1”。
➢AF(Auxiliary Carry Flag):辅助进位标志位。AF =l,表示运算结果的8位数据中,低4位向高4位有 进位(加法运算时)或有借位(减法运算时),这个标 志位只在十进制运算中有用。
➢ZF(Zero Flag):零标志位 ZF=1,表示本次运算结果为零,否则即运算结
(13)ALE(Address Latch Enable) 地址锁存使能信号,输出,高电平有效。用来作
为地址锁存器的锁存控制信号。 (14)DEN# (Data Enable)
数据使能信号,输出,三态,低电平有效。用于 数据总线驱动器的控制信号。
(15) DT/R#(Data Transmit/Receive): 数据驱动器数据流向控制信号,输出,三态。在
Hale Waihona Puke 总线接口部件(BIU)主要由地址加法器、 专用寄存器组、指令队列和总线控制电路等 4个部件组成,其主要功能是形成访问存储 器的物理地址、访问存储器并取指令暂存到 指令队列中等待执行,访问存储器或I/O端 口读取操作数参加EU运算或存放运算结果 等。
EU和BIU的操作原则
l BIU中的指令队列有2个或2个以上字节为空时, BIU自动启动总线周期,取指填充指令队列。直至 队列满,进入空闲状态。
AX BX CX DX SP BP SI DI
通用寄存器
➢ AX(Accumulator Register) 累加器一般用来存放参加运算的数据和结果, 在乘、除法运算、I/O操作、BCD数运算中有不 可替代的作用。
➢ BX(Base Register)
基址寄存器除可作数据寄存器外,还可放内存 的逻辑偏移地址,而AX,CX,DX则不能。
(10) NMI( Non—Maskable Interrupt Request)
不可屏蔽中断请求信号。由外部输入,边沿触发,正跳沿
有效。CPU一旦测试到NMI请求信号,待当前指令执行完就 自动从中断入口地址表中找到类型2中断服务程序的入口地址 并转去执行。
(11)TEST# 测试信号。由外部输入,低电平有效。当CPU执
CF、PF、AF、ZF、SF和OF ➢控制标志 控制CPU的操作,它们是IF、
DF和TF。
标志寄存器FR
FR中的状态标志
➢CF(Carry Flag):进位标志位 CF=l,表示本次运算中最高位(D15或D7)有进位
(加法运算时)或有借位(减法运算时)。CF标志可通过 STC指令置位,通过CLC指令复位(清除进位标志), 还可通过CMC指令将当前CF标志取反。 ➢PF(Parity Flag):奇偶校验标志位
平有效。INTR有效时,表示外部设备向CPU发出 中断请求,CPU在每条指令的最后一个时钟周期 对INTR进行测试,一旦测试到有中断请求,并且 当中断允许标志IF=1时,则暂停执行下条指令转 入中断响应周期。
(9)INTA# (Interrupt Acknowledge)
中断响应信号。向外部输出,低电平有效,表示CPU响应 了外部发来的INTR信号。
第2章 8086体系结构与80x86CPU
8086CPU结构 8086系统的结构和配置 8086CPU内部时序 80x86典型微处理器介绍
2.1 8086CPU结构
8086CPU的内部结构 8086CPU的寄存器结构 8086CPU的管脚及功能
一、 8086CPU的内部结构
通过STI指令置位,也可通过CLI指令复位。 ➢DF(Direction Flag):方向标志位
在串操作指令中,若DF=0,表示串操作指令地 址指针自动增量;DF=1,表示地址指针自动减量。 DF标志位可通过STD指令置位,也可通过CLD指令 复位。 ➢TF(Trap Flag):单步标志位