Chap02 8086系列微机的体系结构
微机原理CH2 8086系统结构
11
暂存器 协助ALU运算,暂存参加运算的数据,16位。 EU控制器 从BIU的指令队列中取指令、译码,发控制命令, 控制EU内部的各部件,完成指令的执行。 EU工作过程: 从BIU的指令队列取得指令、进行译码、执行指令
12
第二章
8086CPU的工作过程
DB CB
…
存 储 器
AB
执行单元( ) 执行单元(EU)
段基址16 16位 16 偏移地址16 16位 16 地址加法器 20位 物理地址20 20
37
0000
第二章
3、逻辑地址的来源 访问存储器的操作类型不同, BIU所使用的逻辑地 址来源也不同。(逻辑地址的来源如下表所示)
CS、SS、ES CS、SS、ES
38
第二章
段寄存器与其他寄存器组合寻址存储单元的示意图
总线接口单元( 总线接口单元(BIU) )
EU取指、译码过程
13
第二章
3、8086的内部结构特点: 指令的提取与执行分别由BIU和EU两部件完成, 二者既独立又相互配合 —— 并行工作。
EU
执指1 执指1 执指2 执指2 执指3 执指3 执指4 执指4 执指5 执指5
t t
取指1 取指2 取指3 取指4 取指5 8086 BIU 取指 取指 取指 取指 取指
24
第二章
例2-2 将5394H与-777FH两数相加,并说明其标志位状态 0101 0011 1001 0100 + 1000 1000 1000 0001 1101 1100 0001 0101 运算结果:-23EBH 标志位:CF=0,DF=0,AF=0 ZF=0,SF=1,OF=0
25
第二章
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)用于保存下一条指令在内存中的地址。
第二章8086微处理器及其系统结构.
中断允许标志IF(Interrupt Flag) 指示是否允许系 统响应外部的可屏蔽中断请求 , 该位为 “ 1”, 表示 允许(开中断),否则表示禁止(关中断)
陷阱标志TF(Trace Flag) 当该位为“1”时,CPU 每执行完一条指令便自动产生一个内部中断,并转 去执行一个中断服务程序,可以借助该中断服务程 序来检查每条指令的执行情况,称为“单步工作方 式”,常用于程序的调试。
返回
总线接口部件BIU
▲ 功 能 : 实 现 8086CPU 与 存 储 器 和 外 部 设 备 之 间的数据传送。 ▲任务:
(1)从内存取指令指令队列缓冲器;
(2) 取数据到运行单元进行运算并将运算结果送 到目的单元(内存或外设端口); (3)重叠实现取指令与执行指令!
返回
指令队列缓冲器
▲结构: 指令队列缓冲器为6字节(8088只有4字节) 容量的FIFO。 设立指令队列缓冲器的目的是为了实现重叠解释指 令。 ▲工作原理:
DEBUG中标志的表示
NV等价于 OF=0, UP等价于 DF=0, DI 等价于 IF =0, PL等价于 SF=0, OV等价于OF=1; DN等价于DF=1; EI 等价于 IF =1; NG等价于SF=1;
NZ等价于 ZF=0, NA等价于 AF=0, PO等价于 PF=0, NC等价于 CF=0,
①缓冲器中只要有一条指令,EU就开始执行; ②缓冲器中只要有两个字节为空 ,BIU便自动执行取指 操作; ③当 EU 执行完转移、调用和返回等切换程序流程的 指令时 ,缓冲器中原来的内容将被清除 ,BIU从内存 中新的位置开始重新预取指令填入队列中。
返回
地址发生器
▲组成: 地址加法器、指令指针IP和段寄存器。
微机原理课件第二章 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结构组成一、简介8086是英特尔(Intel)公司于1978年推出的16位微处理器,是第一款具有高度通用性的微处理器。
8086结构包括各种功能部件,如寄存器组、运算单元、控制单元等。
本文将详细介绍8086的结构组成和各个组成部分的功能。
二、8086结构组成1. 寄存器组8086包含了多个寄存器,用于存储各种数据和地址信息。
寄存器组包括通用寄存器、指令指针寄存器、段寄存器等。
1.1 通用寄存器8086拥有四个16位的通用寄存器:AX、BX、CX、DX。
这些寄存器可以用于存储数据、地址以及进行运算。
1.2 指令指针寄存器指令指针寄存器IP存储当前执行指令的地址,可以进行程序的跳转和控制。
1.3 段寄存器8086采用段寄存器和偏移地址的方式来定位内存中的数据。
段寄存器包括代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES。
2. 运算单元8086拥有一个功能强大的运算单元,可以执行各种运算和逻辑操作。
运算单元包括算术逻辑单元ALU、标志寄存器FLAGS等部件。
2.1 算术逻辑单元(ALU)ALU是8086中重要的组成部分,负责执行各种算术和逻辑运算,如加法、减法、与、或等。
2.2 标志寄存器(FLAGS)FLAGS寄存器用于存储运算结果的状态信息,包括进位标志、零标志、溢出标志等。
这些标志位可以帮助程序进行条件分支和判断。
3. 控制单元控制单元是8086中负责控制和协调各个部件工作的组成部分。
主要包括指令译码器、时钟发生器等。
3.1 指令译码器指令译码器用于解析指令,将指令转化为相应的控制信号,控制其他部件的工作。
3.2 时钟发生器时钟发生器为8086提供稳定的时钟信号,用于同步各个部件的工作,确保指令能够按序执行。
4. 外部接口8086能够与外部设备进行通信,包括输入输出接口和存储器接口。
4.1 输入输出接口输入输出接口负责将内部数据和外部设备进行数据交换,通过输入输出指令控制。
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的工作原理和性能特点,为编程和系统设计提供指导。
8086的内部结构
堆栈段中的存储单元地址 • 详见堆栈操作指令
EU--标志存放器(FLAG)
标志〔Flag〕用于反映指令执行结果或掌握指 令执行形式。
8086处理器中各种常用的标志形成了一个16位 的标志存放器FLAGS〔也称程序状态字PSW存放 器〕。
15 12 11 10 9 8 7 6 5 4 3 2 1 0
• 掌握存储器
8086的总线接口部件
• 四个段存放器 • 指令指针IP • 段基值暂存器 • 偏移地址暂存器 • ∑加法器 • 20 位地址存放器
BIU—段存放器
• 16位存放器,不行以直接赋值或从存储 器赋值,只能承受8个通用存放器的值。
• CS 代码段存放器 • DS 数据段存放器 • SS 堆栈段存放器 • ES 扩展段存放器
• CU:掌握部件,有指令队列、指令译码 器等
• BIU:总线接口部件,∑加法器段值、偏 移地址存放器等
• EU、BIU可以并行执行,都由CU掌握
8086CPU的执行部件
• 执行部件〔EU〕: • 8个通用存放器〔数据AX、BX、CX、
DX;专用BP、SP、SI、DI〕 • ALU,数据存放器,标志存放器FLAG
• 留意:PF标志仅反映最低8位中“1”的个数是 偶或奇,即使是进展16位字操作。
FLAG--溢出标志OF〔Overflow Flag〕
• 假设算术运算的结果有溢出,则OF=1; 否则 OF=0。例如:
• 3AH + 7CH=B6H,产生溢出:OF = 1 • AAH + 7CH=〔1〕26H,没有溢出:OF
附加学问--溢出的推断
推断运算结果是否溢出有一个简洁的规章: 只有当两个一样符号数相加,而运算结果
微机原理 8086系统结构
指令队列 操作
总线接口部件BIU根据当前的CS和IP 的值,形成20位物理 地址,从其指定的存储单元取指令代码,放在指令队列中
指令指针IP 的值由BIU自动修改,始终等于下一条指令在 现行代码段的偏移地址;
执行部件EU从指令队列取指令码,进行指令译码和执行指 令,取指令与执行指令可同时进行;
8086CPU 内部结构分成两部分: 总线接口部件BIU:
总线接口单元 BIU ,负责控制存贮器和 I/O 接口读写 。
执行部件EU: 执行单元EU 从指令队列中取出指令并执行 。 特点:两级流水线
取指部分和执行指令部分分开进行,提高了速度。
通用 寄存 器
AH AL BH BL CH CL DH DL
16位字利用了 9位。 标志分两类 :
状态标志(6位):反映刚刚完成的操作结果情况。 控制标志(3位):在某些指令操作中起控制作用。
20位地址加法器
四CSSS个管管段理1I对6指口取理P6字寄堆中现令部来位代节存栈的行队件的的码的器段内代列总指段B指I:;容码共是令U;ED令SC从是段六放指S管S队管内下基字在针、理列理存一地节指寄D附数取S条址,令存、加据指指的总队器S段段令令S偏线列IP、.,移接中:E量;S , 执行部件EU从指令队列取指 令,并执行。
第2章 8086微处理器
主要内容: 2-1 8086 CPU 结构 2-2 8086 CPU 的引脚及其功能 2-3 8086 存储器组织 2-4 8086 系统配置 2-5 8086 CPU 时序
第二章 小结
学习目的
通过对本章的学习,您应该能够达到下列要求 : 掌握8086的编程结构 说明8086CPU 的工作特点 了解8086CPU 的引线 了解8086存储器的分段管理与分体结构 分析8086CPU 基本总线周期时序
第二章 8086的体系结构
标志寄存器举例
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OF DF IF TF SF ZF
AF
PF
CF
0101 0100 0011 1001 + 0100 0101 0110 1010
ZF(Zero Flag) ——零标志,指出当前运算结果是否为0。 ZF=1当前运算结果为0;否则为非0
控制标志:控制处理器的某一特定功能。
DF (Direction Flag) ——方向标志:指定字符串处理指令的 地址变化方向。 DF=0 地址增量变化;DF=1地址减量变化
IF (Interrupt Enable Flag) ——可屏蔽中断允许标志。 IF对不可屏蔽中断和内部中断无影响。 IF=1表示允许CPU响应外部可屏蔽中断请求
把取指令和执行指令的操作分开,这两个单元并行 工作(即所谓的流水线结构)。
总线接口部件 执行部件 流水线结构
1、总线接口部件 (Bus Interface Unit)
功能: 1)从内存取指令送到指令队列 2)访问内存单元和外设端口
结构: 4个16位的段地址寄存器
CS——代码段寄存器 DS——数据段寄存器 SS——堆栈段寄存器 ES——扩展段寄存器
3、段寄存器组
作用:提供段地址
8086/8088可访问的存储空间为1MB字节,地址编码20位是
由段地址和偏移地址
16位
偏移量
物理地址
20位
8086/8088有4个段寄存器 CS(Code Segment)代码段寄存器 DS(Data Segment)数据段寄存器 SS(Stack Segment)堆栈段寄存器 ES(Extra Segment)附加段寄存器
第2章 8086 微处理器及其系统结构
8086的寄存器组
对汇编语言程序员来说,8086内部结构就是
可编程的寄存器组
执行单元EU 8个通用寄存器 1个指令指针寄存器 1个标志寄存器 4个段寄存器
标志寄存器
标志(Flag)用于反映指令执行结果或控制
指令执行形式 8086处理器的各种标志形成了一个16位的标 志寄存器FR(标志寄存器的内容称为程序状 态字PSW)
用于串操作指令中,控制地址的变化方向:
设置DF=0,存储器地址自动增加; 设置DF=1,存储器地址自动减少。
CLD指令复位方向标志:DF=0
STD指令置位方向标志:DF=1
中断允许标志IF(Interrupt-enable Flag)
用于控制外部可屏蔽中断是否可以被处理器
响应:
设置IF=1,则允许中断; 设置IF=0,则禁止中断。
写一个字节(字)的时间。 时钟周期(Clock Cycle):基本定时脉冲的两个沿之 间的时间间隔,是CPU的最小时间单位。 T状态(Tstate):一个基本时钟周期又称T状态。 基本总线周期:4个T状态
8086CPU的两种模式
最小模式
MN/MX接+5V
构成小规模的应用系统,只有8086一个微处理器, 所有的总线控制信号均为8086产生,系统中的总线控
制逻辑电路,减少到最少。
最大模式
MN/MX接地。 用于大型(中型)8086/8088系统中,系统总是包含有
两个或多个微处理器,其中一个主处理器就是8086或 8088,其它的处理器称协处理器,协助主处理器工作。 需要总线控制器来变换和组合控制信号。
若运算结果为0,则ZF = 1; 否则ZF = 0 注意:ZF为1表示的结果是0 3AH + 7CH=0B6H,结果不是零:ZF = 0
第二章 8086微机系统体系结构
第二章:8086微机系统体系结构通过本章的学习,应该掌握以下内容:•8086 CPU的结构•8086 CPU引脚功能•8086系统的结构和配置•8086 CPU的操作时序•80x86典型微机简介2、1 8086/8088微处理器2、1、1 8086/8088微处理器的结构及执行程序的操作过程8086:Intel系列的16位微处理器,16条数据线、20条地址线,可寻址地址范围220=1MB,8086工作时,只要一个+5V 电源和一个时钟,时钟频率为5MHz 。
8088:内部与8086兼容,也是一个16位微处理器,只是外部数据总线为8位,所以称为准16位微处理器。
它具有包括乘法和除法的16位运算指令,所以能处理16位数据,还能处理8位数据。
8088有20根地址线,所以可寻址的地址空间达1MB。
1、总线接口部件(BIU)功能:负责与外部存储器及I/O口通信(1)、从取指令送到指令队列。
(2)、CPU执行指令时,到指定的位置取操作数,并将其送至要求的位置单元中。
总线接口部件的组成:(1)、四个段地址寄存器:均为16位代码段寄存器CS:存放当前程序段的段基址数据段寄存器DS:存放当前数据段的段基址附加段寄存器ES:存放当前附加段的段基址堆栈段寄存器SS:存放当前堆栈段的段基址(2)、16位指令指针寄存器IP(PC)。
(3)、20位的地址加法器。
(4)、六字节的指令队列缓冲器。
说明:(1)、指令队列缓冲器:在执行指令的同时,将取下一条指令,并放入指令队列缓冲器中。
CPU执行完一条指令后,可以取出下一条指令(流水线技术)。
提高CPU效率。
(2)、地址加法器:产生20位地址。
CPU内无论是段地址寄存器还是偏移量都是16位的,通过地址加法器产生20位地址。
2、执行部件(EU)作用:负责执行指令(1)、从指令队列中取出指令。
(2)、对指令进行译码,发出相应相应的控制信号。
(3)、接收由总线送来的数据或发送数据。
(4)、进行算术、逻辑运算。
ch02-8086微处理器内部结构
20
0FFFF h
0FFFE h 0FFFD h
220=FFFFF h+1
00001 h 00000 h
FFFFF h FFFFE h FFFFD h FFFFC h
0FFFF h 00001 h 00000 h
段&内存
四、指令运行
HYPer
操作 : 将内存中2000h单元内容加2,结果在AL中. CS=1000h, DS=3000h.
02h
HLT
1111 0100
F4h
CPU运行
A0h 00h 20h MOV AL,[2000]
04h 02h
ADD AL,02
F4h
HLT
五、指令执行时间
HYPer
• 指令周期 ——执行一条指令所需的时间称为指令周期。 在8088/8086中,由于它的并行处理的特点,一条指令的执行时间为: 取操作数+执行指令+传送结果
状 溢出标志O(Overflow Flag)——在算术运算中,带符号数的运算结果超出了8位或16位
态
带符号数能表达的范围,则O=1,否则O=0。
标
8位(字节)运算 --1768 —— +32767 志
符号标志S(Sign Flag)—— 结果的最高位(D15或D7)为1,则S=1,否则 S=0。
代码段
数据段
DS
堆栈段
SS
附加段
分
段Rs
三 类
ES
二、 功能结构
HYPer
8088从功能上来说分成两大部分,总线接口单元 BIU(Bus Interface Unit)
和执行单元 EU(Execution Unit). • BIU:负责与存储器接口,即8088与存储器之间的信息传送,都是由BIU负责进 行的,
第二章 微型计算机的体系结构全套PPT
② EU从指令队列的头部取出指令,并执行该 指令。在执行中,如需要访问内存或 I/O 设备,则EU请求BIU取操作数,并直等到 需要的操作数到来后,EU才继续操作。若 BIU处于空闲态,它立即响应请求,若BIU 正在取指令到指令对列,它先完成取指令 操作,再响应EU的请求。
第二章
微型计算机的体系结 构
2.1 8086CPU的内部逻辑结构
8086是Intel系列的16位微处理器,常用 HMOS工艺制造,它有16位数据线和20根地 址线,可寻址的地址空间达220即1MB。
8088微处理器是准16位,其内部逻辑按16
位设计,但外部数据总线只有8条。
1. 8086的内部结构 8086的内部逻辑结构如图2.1所示,从功
• OF(Overflow Flag):溢出标志。 OF=1 表示本次运算结果超出了带符号数范 围,即溢出。否则OF=0。
8位补码的整数范围是: -128 ~ +127;
16位补码的整数范围是: -32768 ~ +32767。
❖ 关于进位与溢出 2个n位的无符号二进制数相加,结果大
于2n-1,称为进位。应用CF标志位作判断。 2个n位的带符号二进制数相加,结果大
当运算结束时,BIU将运算结果送入指定的内存单元或外设。 各逻辑段之间可完全分开,也可相互交叠甚至完全重叠。 CF=1表示本次运算中,最高位(D7位或D15位)发生进位(加法运算)或借位(减法运算)。 最大模式下的总线请求/允许 有时,CPU需要在T3之后加入一个或几个附加的时钟周期Tw,称为等待状态。 FLAGS (Flags Register ) 标志寄存器 最大模式下的总线请求/允许 CPU从代码段中偏移地址位IP的单元中取出指令代码的1个字节后, IP自动加1,指向指令代码的下一个字节存放单元。 8086系统允许一次访问存储器时读/写一个字节(8位),也可以读/写一个字(相邻的2个字节),此时要求同时访问两个存储体,各读/写一个字节 信息。 1所示,从功能上可分为两个独立的功能部件,即总线接口部件(BIU)和执行部件 (EU)。 8086系统的堆栈在存储器中实现。
chap02_Intel 8086系统结构
若操作结果低8位中“1”的个数为偶数,则P=1; 否则P=0。称之为奇校验,即1的个数始终为奇数。 (注:对字操作亦只考虑低8位) AL=1011,0001B 共有4个1 P=1(补奇)
Байду номын сангаас
2020/1/24
-26-
例子
例1: 0110 0100 + 0110 0100 1100 1000
BIU的功能是负责与存储器、I/O端口之间进 行信息传送。
EU部分负责指令的执行。
2020/1/24
-2-
8086的功能结构示意图
AH AL BH BL 通用寄存器 CH CL DH DL
SP BP SI DI
16位
地址加法器 20位
16位
CS
DS
SS
输入/输出
ES
控制电路
IP
外
内部寄存器
部
总
段寄存器
2020/1/24
-10-
1、通用寄存器
(1)数据寄存器 AX、BX、CX、DX 暂存计算过程中所用到的操作数、结果或其它信
息。(高级语言中的变量)
可以字(16位)的形式访问,也可以字节(8位)的形 式访问。 AX->高位字节AH,低位字节AL
2020/1/24
-11-
(a) 通用寄存器--数据寄存器
两个同号数相加,或异号数相减,产生溢出。
2020/1/24
-23-
溢出标志OF(续)
-120 + -105
-225
1 0 0 0, 1 0 0 0 88H + 1 0 0 1, 0 1 1 1 97H
1 0 0 0 1, 1 1 1 1 负溢出
8086微处理器微处理器的基本结构8086
对某些I/O操作DX可用来存放I/O的端口地址(口地址 256)。
例: 例:
MUL BX IN AL , DX
; (AX)(BX)(DX)(AX)
(2)地址指针与变址寄存器: 段起始地址
SP、BP、SI、DI 四个16位寄存器。
以字为单位在运算过程中存放操作数,
…
经常用以在段内寻址时提供偏移地址。
寄存器组 AH AL AX BH BL BX CH CL CX DH DL DX
SI DI BP SP
运 算 器
(3) 如果在执行指令的过程中,
需要访问内存或I/O端口, EU
EU会请求BIU去完成存取操作。
PSW标志 寄存器
DS
BIU
ES
地
SS
址
CS
加
法
IP
器
数据暂存器
指
总线
令
接口
队
控制
列
电路
指令译码器
1、通用寄存器 (1)数据寄存器
AX、BX、CX、DX 作为通用寄存器。
用来暂存计算过程中所用到的操作数,结果或其它信息。 访问形式:可以用16位的访问;
或者可以用字节(8位)形式访问, 它们的高8位记作 : AH 、 BH 、 CH 、 DH 。 它们的低8位记作 : AL 、BL 、CL 、DL 。
二、8086/8088的编程结构 编程结构:
指从程序员和使用者的角度看到的结构。 与芯片内部的物理结构和实际布局有区别。
某CPU芯片内部实物图
12
8086 编程结构:
1. 总线接口部件BIU (Bus Interface Unit)
→ 运输部门
2. 执行部件EU
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BIU中地址加法器将来自于段寄存器的16位地址段首地址左移4位后与来自 于IP寄存器或EU提供的16位偏移地址相加(通常将“段首地址:偏移地址” 称为逻辑地址),形成一个20位的实际地址(又称为物理地址),以对 1MB的存储空间进行寻址。 具体讲:当CPU执行指令时,BIU根据指令的寻址方式通过地址加法器形 成指令在存储器中的物理地址,然后访问该物理地址所对应的存储单元, 从中取出指令代码送到指令队列缓冲器中等待执行。指令队列一共6个字节 (8088的指令队列为4个字节),一旦指令队列中空出2个(8086中)或 一个(8088中)字节,BIU将自动进入读指令操作以填满指令队列;遇到 转移类指令时,BIU将指令队列中的已有指令作废,重新从新的目标地址 中取指令送到指令队列中;当EU需要读写数据时,BIU将根据EU送来的操 作数地址形成操作数的物理地址,从中读取操作数或者将指令的执行结果 传送到该物理地址所指定的内存单元或外设端口中。
8086CPU工作顺序是:取指令,执行指令同时进行。并行工作。
2-1-1 8086CPU的编程结构
8086编程结构
AH BH CH DH AL BL CL DL SP BP SI DI
16位
地址加法器
∑
通用寄存器 CS DS SS ES IP 内部暂存器
20位
16位
输入/输出 控制电路 外 部 总 线
③.TF:Trap Flag, 追踪标志,
2-2 8086CPU的引脚及其功能
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
8086CPU
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
返 回
3.BHE/S7:Bus High Enable/Status
高8位数据总线允许/状态复用信号,输出, 三态。
在 总 线 周 期 的 第 一 时 钟 周 期 , 8086 在 BHE / S7 : 引 脚 输 出 低 电 平 (BHE=0)有效信号,表示高8位数据总线AD8——AD15上的数据有效; 若BHE=1,表示当前仅在数据总线AD0——AD7上传送8位数据。 BHE和AD0信号相配合,指出当前传送的数据在总线上将以何种格式出现, 应在存储体的哪个库的存储单元进行字节/字的读/写操作, BHE 信号引脚也可以作为对I/O电路或中断响应时的片选条件信号。 在总线的T2、T3、TW和T4时钟周期BHE/S7引脚此时输出状态信息,在 “保持响应“周期被置成高阻状态。(在8086芯片中,S7未赋予实际意 义)。
①.DF:Direction Flag,方向标志,用来控制数据串操作指令的步进方 向,可用指令预置。
DF=1,数据串指令将以递减的顺序对数据串中的数据进行处理; DF=0,数据串指令将以递加的顺序对数据串中的数据进行处理。
②.IF: Interrupt Enable Flag, 中断允许标志
S4 0 0 1 1
S3 0 1 0 1
当前使用的段寄存器 ES SS CS,或不需要使用段寄存器(I/O,INT) DS
②.S5状态指示当前中断允许标志IF的状态:
如IF=1,表明当前允许可屏蔽中断请求,即,开中断; 如IF=0,表明禁止可屏蔽中断, 即,关中断。
③.S6状态为低电平时,表示8086当前正与总线相连,所以在T2、T3、TW 和T4时钟周期S6总保持低电平。
2. 8086微机系统存储器结构:
3. 4. 5. 6.
8086微机系统I/O结构 8086最小/最大模式系统总线的形成 8086CPU时序 最小模式系统中8086CPU的读/写总线周期
学习要求
学习目标 : 1.掌握CPU寄存器结构、作用、CPU引脚功能、存储器分 段与物理地址形成、最小/最大模式的概念和系统组建、系 统总线形成; 2.理解存储器读/写时序; 3.了解微处理器的发展。 难点: 1.引脚功能,最小/最大模式系统形成; 2.存储器读/写时序。
第二章 8086系统结构
2-1 8086CPU结构 2-2 8086存储器组织 2-3 堆栈的概念 2-4 8086系统配置 2-5 8086CPU基本时序
内容提要:
1. 8086微处理器结构:
CPU内部结构:总线接口部件BIU,执行部件EU; CPU寄存器结构:通用寄存器,段寄存器,标志寄存器,指令指针寄存 器; CPU引脚及其功能:公用引脚,最小模式控制信号引脚,最大模式控制 信号引脚。 存储器地址空间与数据存储格式; 存储器组成; 存储器分段。
FLAG寄存器
PWS中标志位的符号表示
标志名
OF 溢出(是/否) DF 方向(减/增量) IF 中断(允许/关闭) SF 符号(负/正) ZF 零(是/否) AF 辅助进位(是/否) PF 奇偶(偶/奇) CF 进位(是/否)
标志为1 标志为0
OV DN EI NG ZR AC PE CY NV UP DI PL NZ NA PO NC
1、状态标志寄存器
15
14 13 12
11
10987 Nhomakorabea6
5
4
3
2
1
0
OF DF IF TF
溢 出 标 志
SF ZF
符 号 标 志 零 标 志
AF
辅 助 进 位
PF
较 验
CF
进 位
方 向 标 志
中 断 标 志
跟 踪 标 志
①.CF:Carry Flags,表示指令执行后的结果在最高位上产生一个进位或借位信号, 主要用于多字节数的加、减法运算等。CF=1 ,加法时,最高位(D7 或D15 )产生进位 或减法时最高位产生借位;CF=0,无进位 或 无借位。 ②.PF: Parity Flag, 表示运算结果中1的个数的奇偶。PF=1,运算结果中1的个 数为偶数;PF=0,运算结果中1的个数为奇数。 ③.AF: Auxiliary Carry Flags, 表示本次运算结果低4位向高4位进位或借位情况, 一般用于BCD码运算中判断是否需要十进制调整。AF=1,加法时,D3位有进位,减法 时,D3位有借位;AF= 0,加法时,D3位无进位,减法时,D3位无借位。 ④.ZF: Zero Flag, 表示本次序运算结果为0或非0情况。ZF=1,运算结果为0; ZF=0, 运算结果为非0。 ⑤.SF: Sign Flag, 表示结果的正、负。SF=1,运算结果为负;SF=0,为正。 ⑥.OF: Overflow Flag, 加法或减法运算中,结果是否超出8位或16位有符号数 表示的数值范围(-128——+127, or –32768——+32767),超出则溢出,否则,则 无溢出。OF=1,运算结果有溢出;OF=0,运算结果无溢出。
2-1 8086CPU 结构
2-1-1 8086CPU的编程结
编程结构即是从程序员和使用角度来看的结构。 编程结构从功能上分为两部分:总线接口部分,执行部分。 两部分各自执行自己的功能并行工作,这种工作方式与传统的 计算机在执行指令时的串行工作相比极大的提高了工作效率。 计算机执行程序时,CPU的工作顺序是: 取指令 执行指令 再取指令 再执行指令...
偏移地址
IP SP 有效地址EA 有效地址EA SI DI
三、控制寄存器
1.指令指针寄存器IP——Instruction Pointer,保存下一条要执行的指令的 偏移地址,用户程序中不能使用该寄存器, DEBUG中的命令改变其值。 2.标志寄存器FLAG——8086 CPU设立了一个2字节的标志寄存器,共有9个标 志,其中6个是反映前一次涉及ALU执行结果的状态标志,3个是控制CPU操作特 征的控制标志。状态标志位反映了EU执行算术或逻辑运算以后的结果,控制标志 用来控制CPU的操作。
IF=1,则8086允许接受外部可屏蔽中断发来的中断请求,称CPU开中断。 IF=0,则8086不能接受外部可屏蔽中断发来的中断请求,称CPU关中断。
TF=1, CPU处于单步执行指令工作方式,每执行完一条指令就自动地产生一个 内部中断,处理器转去执行一个中断程序。 可以借助于中断程序来检查每一条 指令执行的情况。 TF=0, 8086 CPU将执行正常程序。
组成:由算术逻辑运算单元ALU、标志寄存器FR、通用寄存器组和EU控制器等。
EU控制器:负责从BIU的指令队列缓冲器中取指令、分析指令(即对指令译 码),然后根据译码结果向EU内部各部件发出控制命令以完成指令的功能。
二. 总线接口部件BIU
组成:主要有地址加法器、专用寄存器组、指令队列缓冲器及总线控制电路等 功能:负责完成CPU与存储器或I/O设备之间的数据传送。
返 回
2. A16/S3~A19/S6:Address/Status
(35——38脚)地址/状态复用引脚,输出,三态。
在总线周期的第一个时钟周期,用来输出20位地址信息的最高4位(A16— A19),在总线周期的其它时钟周期,则用来输出状态信息(S3——S6) ①.S4、S3状态组合指出当前正在使用的是哪个段寄
ALU
标志寄存器
执行部分 控制电路
12 3 4 5 6
8位
指令队列缓冲器
执行部件 (EU)
总线接口部件 (BIU)
一.指令执行部件
功能:主要是执行命令。一般情况下指令顺序执行,EU可不断地从BIU指令队 列缓冲器中取得执行的指令,连续执行指令,而省去了访问存储器取指令 所需的时间。如果指令执行过程中需要访问存储器存取数据时,只需将要 访问的地址送给BIU,等待操作数到来后再继续执行。遇到转移类指令时则 将指令队列中的后续指令作废,等待BIU重新从存储器中取出新的指令代码 进入指令队列缓冲器后,EU才能继续执行指令。这种情况下,EU和BIU的 并行操作回受到一定的影响,但只要转移类指令出现的频率不是很高,两 者的并行操作仍然能取得较好的效果。 算术逻辑运算部件ALU:可完成16位或8位二进制数的运算,运算结果一方面通 过内部总线送到通用寄存器组或BIU的内部寄存器中以等待写到存储器;另 一方面影响状态标志寄存器FR的状态标志位。16位暂存器用于暂时存放参 加运算的操作数。