8086微处理器及其系统结构
第2章-8086微处理器part2
8086 CPU在最小模式中引脚定义
M/#IO:Memory/Input & Output,三态输出
存储器或I/O端口访问信号 。指示8086的访问对象,发 给MEM或I/O接口。 M/# IO为高电平时,表示 当前CPU正在访问存储器;
M/# IO 为低电平时,表 示当前CPU正在访问I/O端 口
数据驱动器数据流向控制信 号,输出,三态。
在8086系统中,通常采用 74LS245、8286或8287作 为数据总线的驱动器,用 DT/#R信号来控制数据驱动 器的数据传送方向。 当DT/#R=1时,进行数据 发送; 当DT/#R=0时,进行数据 接收。
8086 CPU在最小模式中引脚定义
READY:准备就绪信号 由外部输入,高电平有效 ,表示CPU访问的存储器 或I/O端口己准备好传送 数据。 当READY无效时,要求 CPU插入一个或多个等待 周期Tw,直到READY信 号有效为止。
S3 0 1 0 1
当前正在使用的段寄存器 ES SS CS或未使用任何段寄存器 DS
8086 CPU在最小模式中引脚定义
#BHE/S7:高8位总线允许(Bus High Enable)
T1:指示高8位数据总线上的数据 是否有效 (#BHE:AD0)配合:00时读写字 ,01时读写奇地址字节,10时读写 偶地址字节 其他T周期:输出状态信号S7(S7 始终为逻辑1,未定义) DMA方式下,该引脚为高阻态。
最大模式引脚信号(续)
LOCK# :总线封锁(优先权锁定) 三态输出,低电平有效。 LOCK有效时表示CPU不允许其它总线主控者占用 总线。 ห้องสมุดไป่ตู้ 这个信号由软件设置。 • 当在指令前加上LOCK前缀时,则在执行这条 指令期间LOCK保持有效,即在此指令执行期 间,CPU封锁其它主控者使用总线。 在保持响应期间,LOCK#为高阻态。
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)用于保存下一条指令在内存中的地址。
【教学课件】第2章 8086微处理器
控制 电路
局部总线 接口
SYSB/RESB
1
20
2
19
3
18
4
17
5
8289 16
6
15
7
14
8
13
9
12
10
11
INIT
BCLK BREQ BPRN BPRO BUSY CBRQ
总线仲裁 信号
AEN
V CC S1 S0 CLK
LOCK
CRQLCK ANYRQST
AEN CBRQ BUSY
2021/8/17
DEN CEN
INTA IORC AIOWC IOWC
2021/8/17
23
2.总线仲裁控制器8289
仲裁电路
状态
S2
信号
S1
S0
状态 译码器
多路总线 接口
控制 输入
LOCK CLK
CRQLCK
RESB ANYRQST
IOB
S2 IOB
RESB BCLK INIT BREQ BPRO BPRN
GND
数据总线
2021/8/17
S0
S1
S2
INTR R Q / G T0
R Q / G T1
8288 总线控制器
IN T A
8259A 及有关电路
控制总线 中 断 请 求
22
1.总线控制器8288
状态
S2
信号
S1
S0
状态 译码器
控制 输入
CLK
AEN CEN IOB
控制 电路
命令 信号 发生器
控制信号 发生器
2.3.1 最小模式和最大模式的概念
微机原理课件第二章 8086系统结构
但指令周期不一定都大于总线周期,如MOV AX,BX
操作都在CPU内部的寄存器,只要内部总线即可完成,不 需要通过系统总线访问存储器和I/O接口。
2021/8/17
17
• 8086CPU的典型总线时序,充分体现了总 线是严格地按分时复用的原则进行工作的。 即:在一个总线周期内,首先利用总线传 送地址信息,然后再利用同一总线传送数 据信息。这样减少了CPU芯片的引脚和外 部总线的数目。
• 执行部件(EU)
• 功能:负责译码和执行指令。
2021/8/17
5
• 联系BIU和EU的纽带为流水指令队列
• 队列是一种数据结构,工作方式为先进先出。写入的指令 只能存放在队列尾,读出的指令是队列头存放的指令。
2021/8/17
6
•BIU和EU的动作协调原则 BIU和EU按以下流水线技术原则协调工作,共同完成所 要求的任务: ①每当8086的指令队列中有空字节,BIU就会自动把下 一条指令取到指令队列中。 ②每当EU准备执行一条指令时,它会从BIU部件的指令 队列前部取出指令的代码,然后译码、执行指令。在执 行指令的过程中,如果必须访问存储器或者I/O端口, 那么EU就会请求BIU,完成访问内存或者I/O端口的操 作; ③当指令队列已满,且EU又没有总线访问请求时,BIU 便进入空闲状态。(BIU等待,总线空操作) ④开机或重启时,指令队列被清空;或在执行转移指令、 调用指令和返回指令时,由于待执行指令的顺序发生了 变化,则指令队列中已经装入的字节被自动消除,BIU会 接着往指令队列装入转向的另一程序段中的指令代码。 (EU等待)
•CF(Carry Flag)—进位标志位,做加法时最高位出现进位或 做减法时最高位出现借位,该位置1,反之为0。
第二章 8086微处理器
第二章8086/8088微处理器及其系统结构内容提要:1.8086微处理器结构:CPU内部结构:总线接口部件BIU,执行部件EU;CPU寄存器结构:通用寄存器,段寄存器,标志寄存器,指令指针寄存器;CPU引脚及其功能:公用引脚,最小模式控制信号引脚,最大模式控制信号引脚。
2.8086微机系统存储器结构:存储器地址空间与数据存储格式;存储器组成;存储器分段。
3.8086微机系统I/O结构4.8086最小/最大模式系统总线的形成5.8086CPU时序6.最小模式系统中8086CPU的读/写总线周期7.微处理器的发展学习目标1.掌握CPU寄存器结构、作用、CPU引脚功能、存储器分段与物理地址形成、最小/最大模式的概念和系统组建、系统总线形成;2.理解存储器读/写时序;3.了解微处理器的发展。
难点:1.引脚功能,最小/最大模式系统形成;2.存储器读/写时序。
学时:8问题:为什么选择8088/8086?•简单、容易理解掌握•与目前流行的P3、P4向下兼容,形成x86体系•16位CPU目前仍在大量应用思考题1、比较8086CPU与8086CPU的异同之处。
2、8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么?3、CPU的运算功能是由ALU实现的,8086CPU中有几个ALU?是多少位的ALU?起什么作用?4、8086CPU有哪些寄存器?各有什么用途?标志寄存器的各标志位在什么情况下置位?5、8086CPU内哪些寄存器可以和I/O端口打交道,它们各有什么作用?6、8086系统中的物理地址是如何得到的?假如CS=2400H,IP=2l00H,其物理地址是多少?思考题1.从时序的观点分析8088完成一次存储器读操作的过程?2.什么是8088的最大、最小模式?3.在最小模式中,8088如何产生其三总线?4.在最大模式中,为什么要使用总线控制器?思考题1.试述最小模式下读/写总线周期的主要区别。
第二章-8086微处理器
答案:A
思考题
8086/8088的状态标志有 A)3 B)4 C)5 答案:D 个。 D)6
思考题
8086/8088的控制标志有 A)3 B)4 C)5 答案:A 个。 D)6
三、引脚信号和功能(图2-5 )
8086总线周期的概念: 为了取得指令或传送数据,就需要CPU的总线接 口单元(BIU)执行一个总线周期。 一个最基本的总线周期由4个时钟周期组成。 习惯上将4个时钟周期分别称为4个状态,即T1状 态、T2状态、T3状态和T4状态。 图2-17
2.方向标志DF(Direction Flag) 用于串操作指令中的地址增量修改(DF =0)还是减量修改(DF=1)。 STD使DF=1 CLD使DF=0
(三)标志寄存器-控制标志(续)
3.跟踪标志TF(Trap Flag) 若TF=1,则CPU按跟踪方式(单步方式) 执行程序,否则将正常执行程序。
思考题
指令队列的作用是 A)暂存操作数地址 。 B)暂存操作数
C)暂存指令地址
D)暂存预取指令 答案:D
思考题
8086的指令队列的长度是 A)4个 B)5个 C)6个 D)8个 字节。
答案: C
思考题
8088的指令队列的长度是 A)4个 B)5个 C)6个 D)8个 字节。
答案:A
思考题
第二章 8086/8088微处理器
8086/8088微处理器的结构 8086/8088典型时序分析
简 介
8086:16位微处理器 数据总线宽度16位:可以处理8位或16位数据 地址总线宽度20位:可直接寻址1MB存储单元和 64KB的I/O端口 8088:准16位处理器 内部寄存器及内部操作均为16位,外部数据总线8位 8088与8086指令系统完全相同,芯片内部逻辑结构、芯片引 脚有个别差异。 设计8088的目的主要是为了与Intel原有的8位外围接口芯片 直接兼容
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微处理器结构
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
8086cpu的结构和功能
8086cpu的结构和功能8086CPU是由英特尔公司开发的一款经典的16位微处理器。
它是在20世纪80年代初面世的,也是当时最新一代的微处理器。
8086CPU具有复杂的结构和强大的功能,为计算机技术的发展做出了重要贡献。
本文将从多个方面介绍8086CPU的结构和功能。
首先,我们来了解8086CPU的整体结构。
8086CPU包括两个主要部件:执行部件和总线控制部件。
执行部件由数据总线单元(DBU)、算术逻辑单元(ALU)和寄存器组成,负责实际进行数据的处理和运算。
总线控制部件包括指令队列、指令译码器和时序控制器,负责控制数据和指令的传输以及处理器的时序控制。
这种分离的结构使得8086CPU 具有高效的指令执行能力。
其次,我们来探讨8086CPU的功能特点。
8086CPU具有许多强大的功能,包括多种数据类型支持、分段式寻址、以及可扩展的指令集等。
首先是多种数据类型支持。
8086CPU支持多种数据类型,包括字节、字和双字等。
这使得它能够处理各种不同类型的数据,适应了不同应用场景的需求。
其次是分段式寻址。
8086CPU采用分段式寻址的方式,将内存划分为多个段,每个段具有独立的段地址。
这种寻址方式可以灵活地管理内存,提高内存的利用率,并且方便编程。
最后是可扩展的指令集。
8086CPU的指令集非常丰富,包括各种数据处理、逻辑控制、输入输出、以及字符串操作等指令。
同时,8086CPU还支持通过软件扩展指令集,满足用户的个性化需求。
总之,8086CPU作为一款经典的微处理器,具有复杂的结构和强大的功能。
它为计算机技术的发展做出了重要贡献,为后续的微处理器设计奠定了基础。
通过多种数据类型支持、分段式寻址和可扩展的指令集等特点,8086CPU实现了高效的数据处理和灵活的内存管理,为用户的应用提供了广泛的功能支持。
参考文献:1. Patterson, D.A., & Hennessy, J.L. (2017). Computer Organization and Design: The Hardware/Software Interface. Morgan Kaufmann.2. Kip Irvine. (2016). Assembly Language for x86 Processors. Pearson.。
8086-8088CPU系统结构
1.2 8086/8088寄存器结构及用途
1.1.3 指针寄存器和变址寄存器
▲指针寄存器:
♣ SP:堆栈指针寄存器 ♣ BP:基址指针寄存器
▲变址寄存器:
♣ SI:源变址寄存器 ♣ DI:目的变址寄存器
汇编语言程序设计
8086/8088CPU系统结构
• 1.1 Intel8086/8088微处理器的结构 • 1.2 8086/8088寄存器结构及其用途 • 1.3 8086的存储器组织
• 1.4 堆栈
1.1 Intel8086/8088微处理器的结构
• 1.1.1 8086微处理器的结构
8086微处理器由两大部分组成: ♣ 执行部件EU ♣ 总线接口部件BIU 其内部结构如图(P20 图1.1)
1.3 8086的存储器组织
• 1.3.2 存储器的分段结构
◆8086CPU的寻址能力为:220=1MB; ◆8086CPU的内部寄存器为16位,直接 寻址:216=64KB; ◆在8086系统中引入逻辑段的概念:把 的地址空间划分为任意个逻辑段,长度 为64KB。
1.3 8086的存储器组织
• 1.3.3 物理地址和逻辑地址
▲是CPU与外部存储器、I/O设备的接口;
▲BIU由以下几部分组成: ♣16位指令指针寄存器IP; ♣指令队列; ♣4个16位段寄存器CS、DS、ES、
SS; ♣20位地址加法器; ♣总线控制部件。
1.1.1 8086微处理器的结构
• 3. BIU和EU的管理
▲二者处于并行的工作状态和重叠的工 作方式; ▲相互配合,协调工作; ▲充分利用总线实现最大限度的信息传 输,提高了程序的执行速度。
2-1 8086微处理器的内部结构
地址总线(20位) AH BH CH DH SP BP SI DI AL BL CL DL 地址加法器 Σ
数据总线
通用寄存器
8086 暂存寄存器
ALU数据总线 (16位)
CS DS SS ES IP 内部通信 寄存器
(16位)
总线 控制 逻辑
8086 总线
ALU
EU 控制 系统
Q总线 16位
指令队列
则物理地址计算如下 4 2 3 2 0 +) 6 6
66H
段地址 42320H
4 2 3 8 6
...
64K
42386H
64K 16 (2 )
段终址
5231FH
...
例:假设 (DS)=2234H ,EA=22H
15
0
2 2 3 4
15 2 2 3 4 +) 0 0 2 2 2 3 6 0 2 2 物理地址 0 0 2 2 0
每个逻辑段的容量≤64K字节
允许它们在整个存储空间中浮动 各个逻辑段之间可以紧密相连,也可以相互重叠
完全重叠或部分重叠
各逻辑段的起始地址(物理地址)必须是能被16整除的地址
例:A1820H,1010 0001 1000 0010 0000B,即低4位二进制码必须是0
段的起始地址的高16位被称为该段的段地址
无符号的16位二进制数
物理地址由逻辑地址变换得来
一个存储单元对应一个20位的物理地址
物理地址(PA) = 段地址 × 10H + 偏移地址(EA)
15 0 3 2 1 0
由总线接口部 件BIU中地址 加法器完成的
段地址
15 0
偏移地址
地址加法器
19 0
微机原理 第2章_8086系统结构
8086 CPU的引脚及其功能
8086 CPU的两种工作模式
最小模式:用于单机系统,系统所需要的控 制信号由8086直接提供,MN/MX=1,CPU 工作于最小模式 最大模式:用于多处理机系统,系统所需的 控制信号由总线控制器8288提供, MN/MX=0,CPU工作于最大模式
8086 CPU在最小模式下的引脚定义 8088与8086的区别
通 用 寄 存 器
AX BX CX DX SP BP SI DI
8086 CPU结构框图
20位地址总线
Σ
数据 总线 16位
ALU数据总线 (16位) 暂存器
队列 总线 (8位)
CS DS SS ES IP 内部寄存器 指令队列
总线 控制 电路 8086 总线
ALU
标志寄存器
EU 控制器
1 3 4 5 6
PSW
存放状态标志、控制标志和系统标 志
PSW格式:
15 11 10
OF DF
9 IF
8
7
6
4 AF
2 PF
0 CF
TF SF ZF
状态标志
状态标志用来记录程序中运行结果的状态信息,它们根据有关指 令的运行结果由CPU自动设置,这些状态信息往往作为后续条件 转移指令的转移控制条件,包括6位: OF:溢出标志,在运算过程中,如操作数超出了机器数的表示范 围,称为溢出,OF=1,否则OF=0 SF:符号标志,记录结果的符号,结果为负SF=1,否则SF=0 ZF:零标志,运算结果为0,ZF=1,否则ZF=0 CF:进位标志,进行加法运算时从最高位产生进位,或减法运算 从最高位产生借位CF=1,否则CF=0 AF:辅助进位标志:本次运算结果,低4位向高4位产生进位或借 位,AF=1,否则AF=0 PF:奇偶标志,用来为机器中传送信息时可能产生的代码出错情 况提供检验条件,当结果操作数中低8位中1的个数为偶数时PF=1, 否则PF=0
3现代微机结构-8086及80286
理 器
器 存储器 存储器 I/O
AD15~AD0 双向
DT/R DEN
数据 锁存 器
第二节 Intel 80286
与8086的显著区别:
1. 地址线和数据线不再分时复用, 简化了硬件设计;
2. 增加了地址线的宽度, 物理地址空间增加到16M 3. 增加了新的指令, 以增强其控制能力。 4. 引入存储管理中的虚存管理机制。通过“虚地址”
结论:
采用地址流水线后, 由于地址信号的提前建立, 与非地址的流水线相比, 可以尽量减少插入Tw 等待周期。因而加快了访存速度。 (但并没有提高存储器的速度)。
四、80286的工作模式
(一) 实地址模式
系统开机复位时,自动进入实地址模式, A23~A20自 动置为0, 以 A19~A0寻址1M的存储空间。
实地址模式下的寻址过程:
段基地址
段基地址 0000
+ 20位物理地址 内存单元
偏移量
为实施“虚地址保护”所希望的寻址过
程:
应用设计 者给出的 虚地址
• 实施保护 • 实现虚地址到
物理地址
内存单元
实地址的转换
“虚地址保护” 实施的中间平台
“ 中 间 平 台 ” 的 核 心 部描述子 (Descriptor) 分描:述子的作用:
(物理地址)
左移4位
偏移量 基地址
…
15
0 15
0ห้องสมุดไป่ตู้
段寄存器
偏移量
19
0
一 个
16位基地址 0000
段
+
20位的物理地址
外部地址总线
三、8086的中断系统
(一) 中断源
1、外部中断
第三章 8086微处理器(结构)
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
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
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字节外,还取走了后续字节中的代码
低为IO读,
8086微处理器
8086/8088微处理器8086是全16位微处理器,内、外数据总线都是16位。
8088是准16位微处理器,内数据总线是16位,外数据总线是8位。
二者除外数据总线位数及与此相关的部分逻辑稍有差别外,内部结构和基本性能相同,指令系统完全兼容。
1. 内部结构8086/8088微处理器从功能上可分为两个独立的处理单元:执行单元EU(Execution Unit)和总线接口单元BIU(Bus Interface Unit)。
其内部结构如图2.1所示。
执行单元EU由8个16位的通用寄存器、1个16位的标志寄存器、1个16位的暂存寄存器、1个16位的算术逻辑单元ALU及EU控制电路组成。
8个通用寄存器中,AX、BX、CX、DX为数据寄存器,用于存放参与运算的数据或运算的结果,它们中的每一个既可以作为一个16位寄存器使用,又可以将高、低8位分别作为两个独立的8位寄存器使用。
作为8位寄存器时,它们的名称分别为AL、AH、BL、BH、CL、CH、DL、DH。
这些寄存器除了用作通用寄存器外,通常还有各自特殊的用法: AX作累加器,所有的I/O指令及一部分串操作必须使用AX或AL来执行,另外还有一些指令使用AX及由AX 分出的AL、AH作为缺省的操作数,如乘、除法指令;BX作基址寄存器,在计算内存地址时,常用于存放基址;CX作计数寄存器,可以在循环、重复的串操作及移位操作中被作为计数器来使用;DX作数据寄存器,在一些I/O指令中用来保存端口地址。
指针寄存器SP和BP分别为堆栈指针寄存器和基址指针寄存器,作为通用寄存器的一种,它们可以存放数据,但实际上,它们更经常、更重要的用途是存放内存单元的偏移地址。
而变址寄存器DI和SI则主要用于变址寻址方式的目的变址和源变址。
图2.1 8086/8088CPU内部结构示意图总线接口单元BIU由4个16位的段寄存器(CS、SS、DS、ES)、1个16位的指令指针寄存器IP、1个与EU通信的内部暂存器、1个指令队列、1个计算20位物理地址的地址加法器∑及总线控制电路组成。
8086微处理器
2021年1月30日星期六
2021年1月30日星期六
1.3 8086系统存储器的组织
8086系统在实模式下允许的最大寻址空间是1 MB,8086工 作在实模式,其地址宽度为20位,采用存储器地址分段的方法 来解决16位字长机器提供20位地址的问题。
1.存储器地址分段 2.逻辑地址与物理地址的计算
2021年1月30日星期六
1.4 8086/8088微处理器的引脚功能
总线控制逻辑。
4 6字节的指令队列。
2021年1月30日星期六
2.执行部件EU
算术逻 辑单元ALU
标志 寄存器
通用寄 存器组
EU控制器
2021年1月30日星期六
பைடு நூலகம்
1.2 8086的寄存器
1.通用寄存器 通用寄存器除了可以存放通用数据以外,都还有自己的特定功能。 2.专用寄存器 8086及以前的机器专用寄存器包括IP、SP和FLAGS 3个16位寄存器。 3.段寄存器 8086有4个16位段寄存器。
8086微处理器
8086微处理器是Intel系列的16位微处理器,它采用HMOS 工艺制造,双列直插,有40个引脚。8086微处理器的电源为单 一5V,主时钟频率为5 MHz~10 MHz。它的外部数据总线为16 位,地址线为20根。因为可用20位地址,所以可寻址的地址空 间达1 MB。
2021年1月30日星期六
SS(stack segment)
8086CPU结构
零标志ZF (Zero Flag) ---反映运算结果是否为零, 若是,则该位置“1”,否则置“0”。 符号标志SF (Sign Flag) ---反映运算结果最高位的 状态,并与运算结果最高位状态相同。表明了本次运 算的结果是正还是负。 溢出标志OF (Overflow Flag) --- 反映带符号数进行 算术运算后是否有溢出,有则为“1”,无则为“0”。
3
指令和程序
机器指令 操作码 + 操作数
若干条指令构成程序
MOV B8H AX, 1234H 34H 12H
4
指令解释方式
CPU解释一条指令的步骤为如下两个阶段: 取指:从内存中取出指令,明确指令规定的功能; 执行:分析指令要求实现的功能,读取所需要的操作 数,执行指令规定的操作,并保存执行结果。
执行部件EU
功能:执行指令并暂时存储运算结果 结构: (1)16位算术逻辑单元ALU; (2)16位标志寄存器F; (3)数据暂存寄存器(与编程无关,不对用户开放) (4)通用寄存器组: AX、BX、CX、DX---数据寄存器 SP、BP---指针寄存器 SI、DI---变址寄存器 (5)EU控制电路:内部电路,不对用户开放
时 间
顺序解释
取指1
执行1
取指2
执行2
取指3
执行3
取指4
执行4
取指5
执行5
执行1
执行2
执行3
执行4
执行5
重叠解释
取指1 取指2 取指3 取指4 取指5
指令和程序的解释过程
5
8086微处理器的内部结构
地址总线 AH BH 通用 寄存 器 CH DH SP BP SI DI ALU数据总线 (16位) 暂存寄存器 总线控制 8086 逻辑 总线 ALU EU 控制系统 标志寄存器 执行部件(EU) 图2-2 8086 CPU内部结构 总线接口部件(BIU) 6 队列 总线 (8位) 指令队列缓冲器 1 2 3 4 5 6 段寄 存器 AL BL CL DL AX BX CX DX CS DS ES SS IP 内部通信 寄存器 指令指 针 地址 形成器 (20位) 数据 总线 (16位)
第2讲 Intel 8086_8088的结构
2、 微型计算机内部结构
内部——内部为了减少连线所占面积,采用单总线,即: 内部所有单元电路都挂在内部总线上,分时使用总线。
通常微处理机内部结构及外部连接方法如下图所示。
内部数据总线
DB7~DB0
数据总线缓冲器/锁存器
累加器 (8位)
锁存器 (8)
暂存寄存 器(8)
标志寄存 器
算术逻辑单 元
ALU
(
(物理) 地址
16进制
寻
0000 0000 0000 0000 0000B =
址
0000 0000 0000 0000 0001B =
能 力 、 寻 址
寻 址 范 围
0000 0000 0000 0000 0010B =
...
...
空
间
)
1111 1111 1111 1111 1111B =
00……00~11……11B=00000H~FFFFFH
8086的外部数据总线16位,8088 是8位数据总线。 Intel 8086,16位机. Intel 8088(简称8088)是一种准16位微处理器, 在Intel 8080与8085的基础上发展起来的。
(一) 8086/8088微处理器功能结构
8086/8088微处理器功能结构
分两部分: 1、总线接口单元 BIU(Bus Interface Unit) 2、执行部件 EU (Execution Unit)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
部
总
线
ALU
执行部分 控制电路
8位 1 2 3 4 5 6 指令队列缓冲器
标志寄存器
执行部件 (EU)
总线接口部件 (BIU)
8086微处理器及其系统结构
(1)算术逻辑单元ALU 进行算术、逻辑运算,或按寻址方式计算出寻
址单元的16位偏移量。 (2)标志寄存器F
用来反映CPU最近一次运算结果的状态特征或 存放控制标志。 (3)数据暂存寄存器
内部通讯寄存器用于暂存BIU与EU之间 交换的信息。
8086微处理器及其系统结构
2.1.2 8086CPU内部寄存器
1.段寄存器
(1)为什么要设置段寄存器
❖ 如何用16位数据处理能力,实现20位地址的寻址 呢?
❖ 逻辑地址由两部分组成: 段基址:偏移量
❖ 物理地址= 段基址×10H + 偏移量
段起始地址 8086微处理器及其系统结构
❖ 主要有两种类型的操作: (a) 算术/逻辑运算; (b) 按寻址要求计算出16位偏移地址。
8086微处理器及其系统结构
8086内部结构 地址加法器 ∑
20位
AH AL 通用寄存器
BH BL
CH CL DH DL
SP BP SI DI
16位
16位
CS
DS
SS
输入/输出
ES
控制电路
IP
外
内部暂存器
逻辑地址
偏移量
起始地址
地址 加法器
偏移量:由IP、BX、 BP、SP、SI、DI之一 形成或根据指令的寻址 方式来形成。
起始地址:由段寄存器 CS、DS 、ES、6微处理器及其系统结构
❖ 【例2-1】试将逻辑地址 3021H:26A1H 转换成物理地址。
❖ 解:计算如下:
❖ 对存储器寻址时,用于存放段内偏移地址 的全部或一部分。
❖ SP堆栈指针和BP基址指针寄存器 通常用来作为地址指针,其段基址由段
寄存器SS提供。 ❖ SI和DI变址寄存器
在字符串操作指令中,SI用作源变址寄 存器,DI用作目的变址寄存器。
8086微处理器及其系统结构
3.控制寄存器
(1) 指令指针寄 存器IP
(1)指令队列缓冲器
其作用相当于早期CPU中的六个(字节) 指令寄存器IR 。
(2)地址加法器和段寄存器
用于实现从逻辑地址,到物理地址的转 换运算。
8086微处理器及其系统结构
(3)指令指针寄存器IP
用于存放BIU将要取的一下条指令的段 内偏移地址。
(4)总线控制电路与内部通讯寄存器
总线控制电路用于产生外部总线操作时 的相关控制信号。
有进/借位 数据第三位向第四位是否有
无进/借位 进位(加法)/借位(减法
8086微处理器及其系统结构
)
符号标志位SF(Sign Flag):
SF = 1 SF = 0
结果为负数 结果为正数
根据最高位判断两个带 符号数运算后结果正/
负的标志
✓若为无符号数的运算,则该位为 运算结果的最高数据位,并无正/ 负符号的含义
状态标志位受指令操作结果影响:
➢有些运算操作将影响全部状态标志,如 加法、减法运算; ➢有些操作影响部分状态标志,如移位操 作; ➢有些指令的操作不影响任何状态标志, 如数据传送类指令。
❖ 用于控制程序中 指令的执行顺序。
❖ 如图2-7所示。
8086微处理器及其系统结构
(2) 标志寄存器F
❖ 六个是状态标志,三个为控制标志;
FH
FL
15
7
8
0
OF DF IF TF SF ZF AF PF CF
❖ 唯一能按位操作的16位寄存器
❖ 只定义了其中的9位,其余7位不用
8086微处理器及其系统结构
不溢出
溢出
求解方法:双进位位法 最高进位位 次高进位位
8086微处理器及其系统结构
进位/借位标志位CF(Carry Flag):
CF = 1 CF = 0
有进/借位 无进/借位
最高位向前一位是否有
进位(加法)/借位( 减法)
辅助进位/借位标志位AF
(Auxiliary Carry Flag):
AF = 1 AF = 0
第2章 8086微处理器 及其系统结构
本章主要内容
2.1 2.2 2.3
8086 总线周期与总线结构 8086总线操作时序
8086微处理器及其系统结构
2.1 8086微处理器
2.1.1 8086CPU的内部结构
1. 执行单元EU
❖ EU的功能是从BIU的指令队列中取出指令 代码,执行指令所规定的操作。
状态标志位:
➢反映ALU执行运算后其结果的状态( 不是结果本身)
控制标志位:
➢控制CPU的特定操作
➢这些标志位的值由指令直接赋值,而 不像状态标志位那样由运算结果来决定 。
8086微处理器及其系统结构
状态标志位:
溢出标志位OF(Overflow Flag):
OF = 1 OF = 0
溢出
操作数的运算结果超出 了机器表示的范围称为
协助ALU完成运算,暂存参加运算的数据。 (4)通用寄存器组
AX、BX、CX、DX和SP、BP与SI、DI。 (5)EU控制电路
接收从BIU中指令队列取来的指令,经过指令 译码形成各种定时控制信号,对EU的各个部件实 现特定的定时操作。
8086微处理器及其系统结构
2. 总线接口单元BIU
❖ 根据EU的请求,负责实现CPU与存贮器或 I/O设备之间的数据传送。
8086微处理器及其系统结构
零状态标志位ZF(Zero Flag):
ZF = 1 ZF = 0
结果为全0 结果不为全0
数据运算结果是否 为全0
奇偶标志位PF(Parity Flag):
PF = 1 PF = 0
有偶数个“1” 有奇数个“1”
运算结果数据的低八 位中“1”的数量为奇数
/偶数
8086微处理器及其系统结构
2. 通用寄存器
(1) 数据寄存器
❖ 16位寄存器:AX、BX、CX和DX; ❖ 8位寄存器:AH、AL、BH、BL、CH、CL、
DH和DL。 (2) 地址指针和变址寄存器
① 设置地址指针和变址寄存器的目的 ❖ 缩短了指令码的长度; ❖ 提高了指令寻址的灵活性。
8086微处理器及其系统结构
② 地址指针和变址寄存器功能
3021 0
+
26A1
3 2 8 B1 H
8086微处理器及其系统结构
(2) 段寄存器的功能
❖ 用于存放CPU当前可以访问的4个逻辑段的 基址。
(3) 信息的分段存储与段寄存器的关系
❖ 段寄存器的利用使存储器地址空间扩大到1 兆字节;
❖ 为信息按特征分段存储和信息安全管理带 来了方便。
8086微处理器及其系统结构