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.。
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的管理
▲二者处于并行的工作状态和重叠的工 作方式; ▲相互配合,协调工作; ▲充分利用总线实现最大限度的信息传 输,提高了程序的执行速度。
8086的内部结构
AX BX CX DX
SI
DI BP SP
其中前4个数据寄存器都还可以分成高8位和低8位两 个独立的寄存器。对其中某8位的操作,并不影响 另外对应8位的数据。
8086的8位通用寄存器是:
AHBH CH DH
AL BL CL DL
EU--数据寄存器
• 数据寄存器用来存放计算的结果和操作数 • 每个寄存器又有它们各自的专用目的:
FLAG--中断允许标志IF(Interrupt-
enable Flag)
• 用于控制外部可屏蔽中断是否可以被处 理器响应:
设置IF=1,则允许中断; 设置IF=0,则禁止中断。
• CLI指令复位中断标志:IF=0
• STI指令置位中断标志:IF=1
FLAG--单步执行标志TF(Trap Flag)
EU--指针寄存器
• 指针寄存器用于寻址内存堆栈内的数据 • SP为堆栈指针寄存器,指示栈顶的偏移地址 • SP不能再用于其他目的,具有专用目的 • BP为基址指针寄存器,表示数据在堆栈段中的
基地址 • SP和BP寄存器与SS段寄存器联合使用以确定
堆栈段中的存储单元地址
详见堆栈操作指令
EU--标志寄存器(FLAG)
8086的寄存器组
8086的寄存器(如图)都为16位,分为:
EU:8个通用寄存器 CU:1个指令指针寄存器 EU:1个标志寄存器 BIU:4个段寄存器
掌握通用寄存器的作用 熟悉各个标志的含义 切实理解存储器组织和存储空间分段的概念
8086的寄存器组
EU--通用寄存器
8086的16位通用寄存器是:
注意:gn Flag)
• 运算结果最高位为1,则SF = 1;否则SF = 0。 例如:
8086cpu
8086cpu1、 8086CPU和8088CPU内部结构基本相同,不同之处在于8088有8条外部数据总线,因此为准16位。
8086有16条外部数据总线。
两个CPU的软件完全兼容,程序的编制也完全相同。
2、 8086CPU从功能上分为两⼤部分:⼀是执⾏部件(EU),⼆是总线接⼝部件(BIU)。
执⾏部件是由以下虽部分组成:(1)四个通⽤寄存器:AX BX CX DX(2)四个专⽤寄存器:基数指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI,⽬的变址寄存器DI(3)标志寄存器FR=flag(4)算术逻辑部件ALU功能是负责执⾏所有的指令,向总线接⼝部件提供指令执⾏的结果数据和地址,并对通⽤寄存器和标志寄存器进⾏管理。
总线接⼝部件由以下部件组成:(1)四个段寄存器:代码段寄存器,数据段寄存器,附加段寄存器,堆栈段寄存器。
(2)指令指针寄存器(3)地址加法器(4)指令队列功能:执⾏外部总线周期,负责存储器与外部端⼝I|O传送数据。
也就是负责CPU与存储器和外设之间的信息交换。
3、共有14个寄存器,分成3个部分:(!)通⽤寄存器8个:AX, BX , CX, DX , SP , BP ,SI ,DI.AX , BX ,CX , DX为数据寄存器,⽤来保存运算中的中间结果和有效地址。
4个寄存器既可以做16位寄存器,也可以做8位寄存器 AL, AH, BL, BH, CL, CH, DL, DH.。
在程序设计中,⼀般把AX⽤作累加器。
BX ⽤作基址寄存器,CX⽤作计数器,DX⽤作数据寄存器。
SP:堆栈指针寄存器;装栈顶指针偏移量。
BP:基址指针寄存器:装栈段中⼀个数据区的基址偏移量。
SI:源变址寄存器;装源操作数地址的偏移量。
DI:⽬的变址寄存器;装⽬的操作数地址偏移量。
(2)段寄存器4个CS;代码段寄存器;装代码段的起始地址;DS;数据段寄存器;装数据段的起始地址;SS; 堆栈段寄存器;装堆栈段的起始地址;ES: 附加段寄存器;装附加段的起始地址。
8086-CPU内部结构
课题:8086微处理结构一、8086 CPU的内部结构:图解分析:1、8086 CPU从功能上可分为:总线接口部件BIU(Bus Interface Unit)执行部件EU(Execution Unit)2、BIU:负责与存储器、外部设备之间进行信息交换。
功能:①负责从内存指定单元取出指令,并送到6字节的指令队列中排列;②同时负责从内存指定单元取出指令所需的操作数并送EU;③EU运算结果也由BIU负责写入内存指定单元。
组成:20位的地址加法器段寄存器(CS、DS、ES、SS)指令指针(IP)指令队列缓存器总线控制电路各组件功能:①地址加法器:计算并形成CPU要访问的内存单元的20位物理地址;②段寄存器:用于存放对应段的段基址;③指令指针寄存器:用于存放下一条要执行的指令的偏移地址;④指令队列:是6字节的“先进先出”的RAM存储器,用于顺序存放CPU要执行的指令,并送EU去执行;⑤总线控制电路:产生总线控制信号,如存储器读/写、I/O读写控制信号。
3、EU:负责指令的执行。
功能:①负责从BIU的指令队列中取得指令、分析指令、执行指令,并将结果存入通用寄存器或由BIU写入内存单元;②同时负责计算操作数所在内存单元的偏移地址。
组成:算术逻辑单元(ALU)标志寄存器通用寄存器:数据寄存器:AX、BX、CX、DX指针和变址寄存器:SP、BP、SI、DIEU控制电路各组件的功能:①算术逻辑单元(ALU):对操作数进行算术和逻辑运算,也可按指令的寻址方式计算出CPU要访问的内存单元的16位偏移地址;②标志寄存器:用于反映算术和逻辑运算结果的状态;③数据寄存器:用于保存操作数或运算结果等信息;④指针和变址寄存器:用于存放操作数所处存储单元的偏移地址;⑤EU控制电路:接收从BIU指令队列中取得的指令,分析、译码,以便形成各种实时控制信号,对各个部件实现特定的控制操作。
8086cpu结构与功能
4.ZF(Zero Flag)零进位
-----反映计算结果是否为0。若结果为零则ZF=1,否则ZF=0。
5.SF(Sign Flag)符号标志
-----反映计算结果最高位及符号位的状态。如果运算结果的最高位 为1则SF=1(对带符号数即为负数),否则SF=0(对带符号数 即为正数)。
6.OF(Overflow Flag)溢出标志
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
VCC AD15 AD16/S3 AD17 /S4 AD18 /S5 AD19 /S6 SS0 (HIGH) MN/MX RD HOLD(RQ/GT0 ) HLDA(RQ/GT1 ) WR(LOCK) M/IO(S2 ) DT/R(S1 ) DEN(S0 ) ALE(QS0 ) INTA(QS1 ) TEST READY RESET
-----反映运算结果是否超出了带符号数的表数范围。
例:十六进制数 0CCCCH 与十六进制数 5115H 相加, 请写出运算后六个标志状态位的值。 解: 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 (0CCCCH) + 0101000100010101 (5115H) 10 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 从运算结果看出: 最高位D15位往前有进位,所以CF=1; 运算结果不全为0,所以ZF=0; 由于D15=0,所以SF=0; 运算结果的低8位中有4个“1”,所以PF=1; D3有向D4进位,因此AF=1; 两个异号数相加,不可能发生溢出,所以OF=0。
第三章 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读,
简述8086cpu的编程结构
简述8086cpu的编程结构8086 CPU是Intel公司于1978年推出的一款16位微处理器,它是当时最先进的微处理器之一。
它的编程结构具有以下几个方面的特点。
一、寄存器8086 CPU有14个16位的寄存器,分为通用寄存器、段寄存器和指令指针寄存器。
通用寄存器包括AX、BX、CX和DX,每个通用寄存器可以分为两个8位的部分进行独立操作。
段寄存器包括CS、DS、SS和ES,用于存储段的起始地址。
指令指针寄存器IP用于存储指令的偏移地址。
二、寻址方式8086 CPU支持多种寻址方式,包括直接寻址、寄存器寻址、间接寻址、基址加变址寻址和相对寻址等。
直接寻址是指操作数直接给出地址;寄存器寻址是指操作数在寄存器中;间接寻址是指操作数通过一个寄存器指向的地址;基址加变址寻址是指操作数通过一个基址寄存器和一个变址寄存器计算出的地址;相对寻址是指操作数相对于指令指针寄存器的偏移地址。
三、指令系统8086 CPU的指令系统非常丰富,包括数据传送指令、算术运算指令、逻辑运算指令、位操作指令、串操作指令、程序转移指令和处理器控制指令等。
数据传送指令用于将数据从一个位置传送到另一个位置;算术运算指令用于进行加减乘除等数学运算;逻辑运算指令用于进行与、或、非等逻辑运算;位操作指令用于对数据的位进行操作;串操作指令用于对字符串数据进行操作;程序转移指令用于控制程序的转移;处理器控制指令用于控制处理器的工作状态。
四、中断和异常处理8086 CPU支持中断和异常处理机制。
中断是指外部设备通过中断请求线向处理器发出中断请求,处理器则通过中断向量表找到对应的中断服务程序进行处理。
异常是指在执行指令过程中发生的错误或非法操作,处理器会根据异常类型转移到异常处理程序进行处理。
五、堆栈机制8086 CPU使用堆栈机制来保存程序的返回地址和局部变量等信息。
堆栈由SS和SP寄存器来管理,SS寄存器存储堆栈段的起始地址,SP寄存器存储堆栈指针的偏移地址。
8086微处理器的内部结构
各个逻辑段允许重叠
例如,如果代码段中的程序占有8KB(2000H)存储区, 数据段占有2KB(800H)存储区,堆栈段占有256个字 节的存储区。此时分段情况如图所示。
代码段的区域本可为 02000H ~ 11FFFH (64KB),由于程序 区只需要8KB,所以 程序区结束后的地址 就可作为数据段的起 始地址(04000H) 注意:这里所谓的重叠只是指每个区段的大小允许根据 实际情况分配,而不一定非要占有64KB的最大段空间。
程序设计过程中必须遵守的系统内部约定:
如果访问存储器要求读/写操作数,则通常由DS给 出段地址(必要时可修改为CS、ES或SS),而其偏移 地址要由CPU的指令执行部件根据指令中所给定的寻 址方式来进行计算,通常将这样计算得到的偏移地址称 为有效地址(EA)。
如果所采用的寻址方式是通过基址指针BP寻址,则 段地址要由SS提供(必要时可以修改为CS、DS或ES)。
数据总线
通用寄存器
8086 暂存寄存器
ALU数据总线 (16位)
CS DS SS ES IP 内部通信 寄存器
(16位)
总线 控制 逻辑
8086 总线
ALU
EU 控制 系统
Q总线 16位
指令队列
1 2 3 4 5 6
总线接口部件 (BIU)
标志
指令执行部 件(EU)
1. 指令执行部件EU 由算术逻辑单元(ALU)、标志寄存器、通用寄存 器组和EU控制器等部件组成。 主要功能是执行指令: ○一般顺序执行,EU不断地从指令队列中取指令连 续执行,而省去访问存储器取指令的时间。 ○需要访问存储器取操作数时,EU将访问地址送给 BIU后,将要等待操作数到来后才能继续操作; ○遇到转移类指令时,要将指令队列中的后续指令 作废,等待BIU重新从存储器取出目标地址中的指令代 码进入指令队列后,EU才能继续执行指令。
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)。
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电源输入引脚。