8086CPU结构
8086结构

8086微处理器结构 2.1 8086微处理器结构 8086CPU的引脚 的引脚、 2.2 8086CPU的引脚、系统配置及时序 2.3 8086存储器组织 8086存储器组织
例3:判断下列两数相加后标志寄存器中各相关位的值。 :判断下列两数相加后标志寄存器中各相关位的值。
0 1 0 1 1 0 1 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 1 1
+
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
最高位没有进位 ∴ CF=0; ; 位中1的个数为偶数个 低8位中 的个数为偶数个 ∴ PF=1; 位中 ; 第三位向第四位有进位 ∴ AF=1; ; 运算结果本身≠0 ∴ ZF=0; ; 运算结果本身 运算结果最高位为1 运算结果最高位为 ∴SF=1; ;
16位段地址寄存器: 16位段地址寄存器: 位段地址寄存器 CS-----------代码段寄存器 CS------代码段寄存器 DS-----------数据段寄存器 DS------数据段寄存器 ES-----------附加段寄存器 ES------附加段寄存器 SS-----------堆栈段寄存器 SS------堆栈段寄存器 16位指令指针寄存器IP:存放下一条要执行指令的偏移 16位指令指针寄存器IP:存放下一条要执行指令的偏移 位指令指针寄存器IP: 地址。 地址。 20位物理地址加法器:将16位逻辑地址变换成存储器 20位物理地址加法器 位物理地址加法器: 16位逻辑地址变换成存储器 写所需要的20位物理地址, 20位物理地址 读/写所需要的20位物理地址,实际上完成地址加法操 作。
【教学课件】第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体系结构

8086微处理器概览
标志位寄存器(FR) • 16位标志位寄存器FR,共有9个
标志位。其中6个是状态标志位, 3个是控制标志位,用于反映 CPU运行过程中的某些状态特征。
标志位寄存器
3、标志寄存器FR
标志寄存器FR中共有9个标志位,可分成两类: ➢状态标志 表示运算结果的特征,它们是 CF、PF、AF、 ZF、SF和OF ➢控制标志 控制CPU的操作,它们是IF、DF和TF。
IP :BIU要取指令的地址。
IP
三、8086CPU的管脚及功能
8086是16位CPU。它采用高性能的N— 沟道,耗尽型负载的硅栅工艺(HMOS)制 造。由于受当时制造工艺的限制,部分管 脚采用了分时复用的方式,构成了40条管 脚的双列直插式封装
1、 8086的两种工作方式
最小模式:系统中只有8086一个处理器,所有的控制信号都 是由8086CPU产生(MN/MX=1)。
最大模式:系统中可包含一个以上的处理器,比如包含协处 理器8087。在系统规模比较大的情况下,系统控 制信号不是由8086直接产生,而是通过与8086配 套的总线控制器等形成(MN/MX=0)。
三总线结构 数据线DB 地址线AB 控制线CB
微机的三总线结构
➢ 最小模式下的引脚说明
( 1 ) AD15 ~ AD0 (Address Data Bus):
堆栈指针用于存放栈顶的逻辑偏移地 址,隐含的逻辑段地址在SS寄存器中。
寄存器的特殊用途和隐含性质
在指令中没有明显的标出,而这些寄存器参 加操作,称之为“隐含寻址”。
具体的:在某类指令中,某些通用寄存器有指 定的特殊用法,编程时需遵循这些规定,将某些 特殊数据放在特定的寄存器中,这样才能正确的 执行这些指令。采用“隐含”的方式,能有效地 缩短指令代码的长度。
微机原理课件第二章 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微处理器的功能与结构四、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系统结构与8086CPU详解

8086系统结构与8086CPU详解8086是Intel公司于1978年推出的16位微处理器,是第一个被广泛应用于个人电脑的微处理器。
指令执行单元是8086的核心部分,它包括指令队列和执行单元。
指令队列用于存储将要执行的指令,执行单元根据指令队列中的指令来执行相应的操作。
8086采用流水线执行模式,使指令的执行更高效。
8086有14个寄存器,其中有4个通用寄存器AX、BX、CX和DX,其分别可以作为数据寄存器、地址寄存器、指针寄存器和变址寄存器使用。
AX寄存器可以拆分为两个独立的8位寄存器AH和AL,分别用于存储高8位和低8位数据。
除了通用寄存器外,8086还有4个段寄存器CS、DS、ES和SS,用于存储程序的代码段、数据段和堆栈段的物理地址。
内存管理单元用于实现8086的内存管理功能。
8086采用分段分页的内存管理模式,通过段寄存器和偏移地址来访问内存。
段寄存器存储段的起始地址,偏移地址表示从段起始地址开始的偏移量。
通过这种方式,8086可以寻址1MB的内存空间。
8086使用外部总线与其他设备进行通信。
它包括地址总线、数据总线和控制总线。
地址总线用于传输地址信息,数据总线用于传输数据,控制总线用于传输控制信号。
8086的地址总线宽度为20位,可以寻址1MB的内存空间。
除了系统结构,了解8086的CPU结构也是很重要的。
8086包括指令流水线、ALU、寄存器组、时钟和控制单元等部分。
指令流水线用于提高指令执行的效率,将指令的执行过程分为取指令、译码、执行和写回四个阶段,并行地执行不同的指令。
ALU(算术逻辑单元)用于进行算术和逻辑运算。
寄存器组包括通用寄存器和段寄存器,用于存储数据和地址信息。
8086的时钟是由外部提供的,它通过时钟和控制单元来对指令的执行进行控制。
总的来说,8086的系统结构和CPU结构共同组成了一个完整的微处理器系统。
通过了解其结构,可以更好地理解8086的工作原理和性能特点,为编程和系统设计提供指导。
8086CPU的结构与功能

8086CPU 的结构与功能CPU 结构与功能不管什么型号的CPU ,其内部均有这四⼤部件1. ALU :算术逻辑单元2. ⼯作寄存器:分为数据寄存器和地址寄存器⼯作寄存器的⽬的是为了提⾼运算速度,希望参与运算的数据不从外部存储器去取数据,⽽是在CPU 内部取,所以要有能暂存少量数据的寄存器。
数据寄存器是专门存放数据的,地址寄存器是专门存放地址,进⾏间接寻址⽅式,但当地址寄存器不提供地址时,也可以⽤来暂存数据。
3. 控制器:中央指挥机关4. I/O 控制逻辑电路⼀般CPU 执⾏存储器(按字节组织)⾥⾯指令过程如下:1. CPU 通过控制器部件⾥⾯的程序计数器(PC )给外部存储器的地址引脚输出地址(通过地址总线AB ),同时CPU 给存储器发送读操作命令;2. 在读操作下,就把这个地址单元的指令代码通过数据总线(DB ),取回来放在指令寄存器⾥⾯(IR ),注意此时因为指令没有执⾏完,所以PC 还不能去往下⼀条指令,IR 没有地⽅放数据。
3. 指令译码器(ID )不断检测指令寄存器有没有数据,有的话就把指令取⾛放在ID ⾥⾯,取来的指令就被ID 译码分析,就知道这个指令希望CPU 做什么,怎么做;4. ID 通知控制逻辑部件,在相应的控制引脚发出相应的有效命令(读,写等);5. 此条指令执⾏完,IR 为空,PC ⾃动增加到下⼀条指令的地址,执⾏下⼀条指令流程。
如果指令为n 字节,PC ⾃动增n 。
因为在取指令时候,不能执⾏指令,在执⾏指令时候,不能取指令,因此这种架构CPU 是取指令->执⾏指令->取指令...这样循环下去。
CPU 执⾏效率不⾼。
堆栈由先进后出原则组织的存储器区域,称为堆栈。
单⽚机应⽤中,堆栈是个特殊存储区,堆栈属于RAM 空间的⼀部分,堆栈⽤于函数调⽤、中断切换时保存和恢复现场数据(临时数据)。
对于8006 CPU ⽽⾔,堆栈操作是按字操作。
堆栈单元的地址指针由堆栈指针寄存器SP 的内容提供。
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.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11.READY:准备就绪输入信号。表示外设或存储器准备 好,在T3状态检测,为低电平则插入Tw状态。 12.RESET:复位输入信号。当它保持4个时钟以上高电 平时,CPU结束现行操作,完成初始化内部寄存器,变 低后,处理器开始执行再启动。
复位后的内部寄存器状态
29
13.INTR:可屏蔽中断请求输入信号。在每个指令最后一个T 状态采样,以决定是否进入中断响应周期。 14.INTA:对外部输入的INTR中断请求信号的响应。两个中断 响应周期T2、T3两次有效。 15.NMI:非屏蔽中断输入信号,正跳变有效。有效后,则现 行指令结束后立即引起中断。 16.TEST:可用WAIT指令对该引脚进行测试的输入信号,低电 平有效继续执行WAIT指令后的下一条指令,否则CPU处于空闲 状态。 WAIT指令用来使处理器和外部硬件同步.
23
2.2.1 8086/8088CPU在最小模式中中的引脚定义
1.AD15~AD0(Address/Data)地址、数据分时复用;三态;
T1状态:作为AB的低16位,指出内存/IO单元,输出. T2~T4状态:作为DB,双向输入/输出. 总线“保持响应”周期,高阻态。
2.A19~A16/S6~S3(Address/Status)地址/状态总线,三态输出;
S2
S1
S0
32
2. RQ / GT 0、RQ / GT1 :总线请求/允许引脚。RQ/GT0优先级更高。 A.其它主控设备向8086送一个周期宽脉冲,表示请求; B.CPU在T4或T1期间,输出一个周期宽脉冲,作为响应,下一个 周期,释放总线; C.请求总线主控设备向8086输送一个周期宽脉冲,表示请求结束; D. CPU又控制总线。
SI(源变址寄存器)用来存放源操作数偏移地址 DI(目的变址寄存器)用来存放目的操作数偏移地址 SI、DI一般与DS联用,用来确定数据段中某一存储单元 的地址,在串操作指令中DI默认与ES联用
10
3、 段寄存器CS、DS、SS、ES(16位) 用来存放代码段、数据段、堆栈段、附加段
的段基址
4、 指令指针寄存器IP(16位) 用来存放代码段中的指令的偏移地址 在程序运行的过程中,IP自动加“1” ,始终
端口地址线:16位
地址总线:20位
时钟频率: 5MHz
内存空间:CPU可直接寻址1MB内存空间
指令系统:90多条指令
寻址方式:7种基本寻址方式
中断功能:内部中断、外部中断,256级中断
工作模式:单处理器工作模式、多处理器工作模式
流水线工作方式:取指令、执行指令并行进行
兼容性:与8080、8085兼容
2
2.1.2 8086CPU的内部结构
执行单元(EU)
总线接口单元(BIU)
1、BIU ① 总线控制逻辑 ② 指令指针寄存器IP
③ 段寄存器
④ 地址加法器
⑤ 指令队列缓冲器
3
执行单元(EU)
总线接口单元(BIU)
2、EU ① 算术逻辑单元(ALU) ② EU控制电路 ③ 寄存器组
4
DB
存
CB
储
21
8086最小模式下的典型配置
. VCC, GND, GND .HOLD,HLDA .INTR,NMI .TEST •S3—S6
22
8086最大模式下的典型配置
. VCC, GND, GND .INTR,NMI .TEST,RD . LOCK . QS0,QS1 . RQ/GT0,RQ/GT1
T1状态:访问内存作AB的高4位,访问IO单元作什么?(为0) T2~T4状态:作状态总线(见下页); 总线“保持响应”周期,高阻。
24
1)S6 =0,表示8086连在总线。 2)S5=IF状态。S5=1,允许中断,否则禁止一切可屏蔽中断。 3)S4、S3当前使用的段寄存器。
25
3.BHE/S7总线高位允许/状态,分时复用; T1时,用作高8位数据D8~D15选通.BHE与A0联合指示数据 传递方式.如下表。 T2~T4,S7=1作状态线,保持响应周期高阻,无意义。
第2章 8086系统结构
2.1 8086CPU结构 2.2 8086CPU的引脚及其功能 2.3 8086存储器组织 2.4 8086的总线操作及时序 2.5 IBM PC/XT微型计算机系统简介 2.6 80x86高档微处理器
1
2.1 8086CPU结构
2.1.1 8086微处理的主要特性
数据总线:16位
8.ALE(Adress Latch Enable):输出控制,高电平有效。 地址锁存允许,T1时,由高到低下降沿将20位地址线锁存 到8282/8283中。 9.DEN :三态输出控制。在最小模式下,用8286/8287增 加总线驱动能力,作为8286/8287的输出允许信号,在每次 存储器、I/O访问或中断响应周期有效。 10.DT/ R :输出控制(三态),最小模式,确定8286/8287 数据传送方向; DT/ R =1时,发送数据, DT/ R =0时,接收。
BHE A0 特性
0
0 16位数据传送
0
1 在数据总线高8位和奇地址进行字节传送(D15~D8)
1
0 在数据总线低8位和偶地址进行字节传送(D7~D0)
1
1 保留
26
4.MN/MX:最大模式最小模式控制,输入
接+5V,最小模式,8086单处理器提供所有的总线控制信号; 接地,最大模式,总线控制器8288变换组合8086状态S2~S0,产生总线控 制信号,最小模式下多个引脚被重新赋值,支持多处理器系统。
GND:接地端。
31
2.2.2 8086/8088CPU在最大模式中中的引脚定义
当MN/MX加上低电平时,8088CPU工作在最大模式之下,允许包 含两个或对个处理器协同工作。 1. S2、 S1、 S0 :8288总线控制器译码产生所有对存储器访问 或I/O访问所需的控制信号。T4、T1和T2有效。
T1 T2 T3 T4 T1 T2 T3 Tw T4 TI TI T1 T2 T3 Tw Tw T4 CLK
等待周期 空闲周期 典型的8086总线周期时序
等待周期
18
2.2 8086CPU的引脚及其功能
1、工作模式
最小模式:单微处理器模式,系统中只有一个 8086微处理器,所有的总线控制信号均由CPU直接产 生,因此系统中的总线控制电路少,控制信号较少, 一般不必接总线控制器
OF=1,SF=1,ZF=0,AF=0,PF=0,CF=0; ➢X-Y=0BFH,各标志位分别为:
OF=0,SF=1,ZF=0,AF=1,PF=0,CF=1;
16
• 计算:7FH+CFH=4EH • 计算: 4EH+60H=AEH
17
2.1.4 8086总线的工作周期
时钟周期:时钟脉冲的重复周期 总线周期:CPU访问内存或I/O端口存/取一个数据或指令 所用的时间,一个基本的总线周期由4个时钟周期组成 指令周期:执行一条指令所需的时间,不同指令的指令周 期不等长
13
注意: 1. 进位标志CF是表示无符号数是否超出范围; 2. 溢出标志表示的是有符号数运算结果是否超出范围,超
出范围则运算结果已经不正确; 3. 处理器对两个操作数进行运算的时候是按照无符号数求
得结果,并相应设置CF,根据是否超出有符号数的范围 设置OF; 4. 对于程序员,如果做无符号运算,应该关心CF,做有符 号运算应该关心OF。
EU
执指1 执指2 执指3 执指4 执指5 t
8086 BIU 取指1 取指2 取指3 取指4 取指5
t
BUS 忙 忙 忙 忙 忙 忙 t
8
2.1.3 8086寄存器结构
1、 数据寄存器AX、BX、CX、DX (16位)
AX、AL(累加器)用于完成各种运算和传送移位等操作, 在乘法、除法指令中约定使用AX、AH、AL存放相关数据,在 I/O指令中约定使用AX、AL存放I/O数据
器
AB
执行单元(EU) 总线接口单元(BIU)
❖ CPU取指过程
5
DB
存
CB
储
器
AB
执行单元(EU) 总线接口单元(BIU)
❖ CPU向内存写数过程
6
DB
存
CB
储
…
器
AB
执行单元(EU) 总线接口单元(BIU)
❖ EU取指、译码过程
7
3、8086的内部结构特点:
指令的提取与执行分别由BIU和EU两部件完成,二者既独立 又相互配合——并行工作。
5.RD 读选通信号(三态、输出)
低电平表示正在进行存储器或I/O读操作。在T2、T3、Tw期间有效。
6.WR:写选通信号(三态、输出)
低电平表示正在进行存储器或I/O写操作。在T2、T3、Tw期间有效。
7. M/IO:端口控制信号输出(三态) ,区分访问存贮器还是 访问I/O端口。T4——T4
27
9
2、 专用寄存器SP、BP、SI、DI (16位)
用来存放操作数或偏移地址
SP(堆栈指针寄存器)用来指示栈顶的偏移地址,一般 用于访问堆栈的栈顶单元
BP(基址指针寄存器)用来指示堆栈段某一操作数所在 单元的偏移地址,一般用于访问堆栈段内任意单元
SP、BP一般与SS寄存器联用以确定堆栈段中某一存储单 元的地址
30
17.HOLD:高电平有效、输入,用于其它主控设备请求三总 线,要求直接与存储器传送数据。 18.HLDA:对HOLD请求的响应信号,是高电平有效、输出信 号。CPU收到HOLD后,在T4或T1状态发出HLDA,让出总线; HOLD变低后,HLDA变低,CPU再度获得三总线。 19.CLK:时钟输入由8284时钟发生器产生。 20.VCC:+5V电源输入引脚。