第二章 80X86微处理器

合集下载

第2章 80X86微处理器

第2章 80X86微处理器

BHE / S7
WR
DT / R
DEN
第2章 80X86微处理器 80X86微处理器 (3) 最大模式下的总线读操作
S2 ~ S0
S2 ~ S0
BHE / S7
MRDC * IORC *
第2章 80X86微处理器 80X86微处理器 (4) 最大模式下的总线写操作
S 2 ~ S0
S 2 ~ S0
第2章 80X86微处理器 80X86微处理器
8086/8088微处理器 2.1 8086/8088微处理器
AH AL BL CL DL AX累加器 BX基数 CX计数 DX数据 通 用 寄 存 器 数据 寄存器
2.1.2 8086的内部寄存器组 1、通用寄存器(16位) ① 数据寄存器 : AX:累加器 BX:基址寄存器 CX:计数寄存器 DX:数据寄存器 分为8位的寄存器: AH AL BH BL CH CL DH DL ② 变址和指针寄存器 : SP:堆栈指针寄存器 BP:基址指针寄存器 SI、DI:源、目的变址寄存器
第2章 80X86微处理器 80X86微处理器
2.4.2 8086工作模式 8086工作模式
8086在最小模式下的典型配置 1、8086在最小模式下的典型配置
第2章 80X86微处理器 80X86微处理器
8086在最大模式下的典型配置 2、8086在最大模式下的典型配置
MN/MX 时钟 发生器 CLK 8284 A19 - A16 8086 CPU 地址 ALE AD15~0 BHE STB 锁存器 地址总线 8282×3 总线信号 8086系统
第2章 80X86微处理器 80X86微处理器 各引脚信号(最小模式下) ① GND、VCC 地和电源 ② AD15~AD0 地址/数据复用 ③ A19/S6~A16/S3 地址/状态复用 ④ BHE#/S7 高8位数据总线允许/状态复用 ⑤ RD# 读信号输出 ⑥ WR# 写信号输出 ⑦ M/IO# 存储器/输入输出控制信号输出 ⑧ READY “准备好”信号输入 ⑨ INTR 可屏蔽中断请求信号输入 ⑩ INTA# 中断响应信号输出 ⑾ NMI 非屏蔽中断请求信号

微型计算机原理及应用第二章 80x86处理器

微型计算机原理及应用第二章 80x86处理器

8086
8088 80286 80386 80486 Pentium Pentium II
1978
1979 1982 1985 1990 1993 1997
16
准16 16 32 32 64 64
2.9
2.9 13.4 27.5 120~160 310~330 750
CPU 4.77 内部 数据 6~20 传送 的宽 12.5~33 度
8086CPU地址引脚有
根,但CPU内部可以提供地址信息的寄存器是

采用段结构的内存管理方法
1)段寄存器
代码段寄存器CS(Code Segment):存储当前的代码段的段地址
数据段寄存器DS(Data Segment):存储当前的数据段的段地址 堆栈段寄存器SS(Stack Segment):存储当前的堆栈段的段地址
功能
执行单元EU(Execution Unit) 负责指令的译码执行
1、总线接口单元BIU 取指令时,BIU负责从内存的指定地址处取出指令,送到指令 队列流中排队; 执行指令中需要操作数时,也由BIU从内存的指定地址中取出, 送给EU参加运算。
代码段寄存器CS(Code Segment) 4个16位段寄存器 数据段寄存器DS(Data Segment) 堆栈段寄存器SS(Stack Segment) 附加数据段寄存器ES(ExtraSegment) 指令指针寄存器IP(InstructionPointer) 地址加法器 指令队列缓冲器
无 无 有 8K 8K数据 8K指令 32K,512K二级 高速缓存
微型计算机采用三级存储器组织结构:高速缓冲存储器Cache、主存和外存。
使用频 率较高
微处理器 CPU 高速缓冲存储器 (Cache) 主存储器 (主存) 外存储器 (外存) 硬盘、软 盘、光盘

微机原理课件第二章 80X86微处理器

微机原理课件第二章 80X86微处理器
SF=1:记录运算结果的符号为负。 SF=0:记录运算结果的符号为正。

ZF(Zero Flag)零标志
ZF=1:运算结果为0。 ZF=0:运算结果不为0。

CF(Carry Flag)进位标志 CF=1:记录运算时从最高有效位产生进位值。
CF=0:记录运算时从最高有效位不产生进位值。
8086/8088微处理器的基本结构
返回
8086/8088微处理器的基本结构
3、寄存器结构
(1) 通用寄存器组
AX、BX、CX、DX 作为通用寄存器。
用来暂存计算过程中所用到的操作数,结果或其它信息。 访问形式: 可以用16位的访问; 或者可以用字节(8位)形式访问, 它们的高8位记作 : AH 、 BH 、 CH 、 DH 。 它们的低8位记作 : AL 、 BL 、 CL 、 DL 。
8086/8088微处理器的基本结构 CX——Count可以作计数寄存器使用。 在循环LOOP指令和串处理指令中用作隐含计数器。 例: MOV CX , 200H AGAIN: …… …… LOOP AGAIN ;(CX)-1(CX),结果0转 AGAIN DX——Data可以作为数据寄存器使用。 一般在双字长乘除法运算时, 把DX和AX组合在一起存放一个双字长(32位)数,DX用来存 放高16位; 对某些I/O操作DX可用来存放I/O的端口地址(口地址 256)。 例: MUL BX ; (AX)(BX)(DX)(AX) 例: IN AL , DX
执行部件EU从指令队列取指 令,并执行。
8086/8088微处理器的基本结构
1、总线接口单元
BIU(Bus Interface Unit)
(1).功能:负责与 M、I/O 端口传送数据。

第2章 80x86微处理器

第2章 80x86微处理器
第二章 80X86微处理器
2.1 8086微处理器 2.2 32位微处理器 2.3 80X86中断系统

2.1 8086微处理器
主要内容: 8086CPU的内部结构
8086内部寄存器
一、 8086CPU的内部结构
8086是 Intel 公司于1978年6月推出的16 位 微处理器,它们的主要特点是: 数据线为 16 位,可进行 8 位(字节)和 16 位(字)运算; 地址线为 20 位,可寻址1MB 存储空间; 时钟频率为 5~8 MHz。
说明:这两类寄存器均服务于内存地址的确定。
2.2
6.调试寄存器
32位微处理器
31 断点0 断点1 断点2 断点3 由Intel公司指定 由Intel公司指定 调试状态寄存器 调试状态寄存器 0 DR0 DR1 DR2 DR3 DR4 DR5 DR6 DR7
由8个32位寄存器组成,程 序员在编程及调试过程中使 用这些寄存器完成程序的调 试。
存储器的逻辑分段

CPU对存储器实行“分段”管理 即将存储空间分为若干逻辑段,每个逻辑段长度 ≤64 KB;16位的总线足可以管理和标记它

某存储单元的实际地址用段的基本地址(段基址) 加该存储单元在该段中的相对位置(偏移地址) 共同表示
物理地址的形成方式
由逻辑地址(即段基地址和偏移地址)通过计算,转换得到



内存中取出指令放入指令队列(等待CPU取走) EU执行指令时:按EU的指令,向内存或I/O接口 写运算结果,从内存或I/O接口取数据 控制外部总线,保证各种信息的正确传送
补充:存储器物理地址的形成主要内容 Nhomakorabea 存储器结构
物理地址的形成

第2讲 80x86微处理器

第2讲 80x86微处理器

E4 19
512K × 8 D7~D0
512K × 8 D7~D0
D15~D8 D7~D0
F8 27
物理地址的形成

存储器的段结构 物理地址的形成

存储器的段结构


物理地址 逻辑地址
段基址 存放在段寄存器 DS 或 CS 或 SS 或 ES 中 偏移地址 存放在 IP 或 SP 中

存储器的段结构
专用寄存器

堆栈指针寄存器 SP (stack pointer)


基址指针寄存器 BP(base pointer)
源变址寄存器 SI (source index)

目的变址寄存器 DI (destination ind
ex)
段寄存器



代码段寄存器 CS 数据段寄存器 DS 堆栈段寄存器 SS 附加段寄存器 ES
指令指针寄存器


16位的指令指针寄存器 IP 用于存放下一 条执行指令的偏移地址。 CS为段基址,IP为段内偏移地址。 用户不能直接访问 IP 寄存器。
标志寄存器FLAGS

标志寄存器共有16位,其中7位未用,所用的 各位含义如下:
11 10
OF DF
15 14 13 12
9
IF
8
TF
7
SF
内存存放规则
字数据: 19E4H 27F8H 分别存放在: 20020H 20023H
20019H 20020H 20021H 20022H
E4 19
20023H
20024H
F8 27
20019H
A19~A1 A0
20020H

第二章80X86微处理器

第二章80X86微处理器

指令指针 FR O D I T S Z A P C 标志寄存器
段 寄 存 器
CS DS SS ES
代码段寄存器 数据段寄存器 堆栈段寄存器 8 附加段寄存器
AX(累加器 Accumulator): ( ) 主要的算术运算寄存器, 主要的算术运算寄存器,用于存放参与运算的数据或运算 的结果。 的结果。 BX(基址寄存器 Base): ( ) 常用于存放存储区的起始地址。 常用于存放存储区的起始地址。 CX(计数寄存器 Count): ( ) 常用作循环操作和字串处理的计数控制。 常用作循环操作和字串处理的计数控制。 DX(数据寄存器 Data): ( ): 常与AX联用,做双字乘、除法时, 存放高位字 存放高位字, 存 常与 联用,做双字乘、除法时,DX存放高位字,AX存 联用 放低位字。此外在I/O操作时提供外部设备接口的端口地址 操作时提供外部设备接口的端口地址。 放低位字。此外在 操作时提供外部设备接口的端口地址。
1
2.1 8086/8088CPU内部结构 8086/8088CPU内部结构
2.1.1 CPU结构与特点 CPU结构与特点
2
• 8086/8088CPU从功能上来说分成两大部分: 从功能上来说分成两大部分: 从功能上来说分成两大部分 执行单元 EU(Execution Unit) ( ) 总线接口单元BIU(Bus Interface Unit) ( 总线接口单元 ) • EU作用:主要负责指令的执行 作用: 作用 • BIU作用:负责与存储器的接口,即 作用:负责与存储器的接口, 作用 8088/8086CPU与存储器之间的信息传 与存储器之间的信息传 送,都是由BIU进行的 都是由 进行的
64K
例:
20位物理地址的形成方法: 20位物理地址的形成方法: 位物理地址的形成方法 左移4位 段地址× ) 20位物理地址 位物理地址=16位段地址左移 位(段地址×16)+ 16位偏移地址 位 位物理地址 位段地址左移

第二章 80X86微处理器

第二章 80X86微处理器

(2)1110010001010011 + 1100010101110010 1010100111000101 OF=0 SF=1 ZF=0 AF=0 PF=1 CF=1
7
实模式下的存储器地址空间
在实模式下存储器的地址空间为1M字节单元, 其地址范围为00000H~FFFFFH。 实模式下的存储器地址空间被分为通用和专用两 种存储区。 从地址00000H~003FFH这第一个1024个字节单 元是专用的。这个存储区为中断向量表区,专门用 来存放256个中断服务程序的入口地址(也称中断向 量),每个入口地址占4个字节单元。 从地址FFFF0H~FFFFFH这16个字节单元保留给系 统的初始化代码。当处理器加电或复位(Reset)时, CPU执行的第一条指令就是起始于地址FFFF0H的。通 常是在FFFF0H处存放一条无条件转移指令,以转移到 系统程序的入口处。 通用区域用来存储一般的程序指令和数据。由图可 见,它的地址范围为00400H~FFFEFH。 8
例:指出80x86CPU执行如下指令后,标志寄存器中各状态 标志位的值: (1) MOV AX,32C5H (2) MOV AX,0E453H ADD AX,546AH ADD AX,0C572H
解 (1)0011001011000101 + 0101010001101010 1000011100101111 所以, OF=1 SF=1 ZF=0 AF=0 PF=0 CF=0
SS
SP
SP 高地址 (a) 空栈堆
栈底 (栈顶 栈顶 )
78H 56H 34H 12H
栈顶 SP 栈底
78H 56H 34H 12H
栈顶 栈底
(b) 压入:PUSH AX; AX=1234H 压入:

第二章80X86微处理器

第二章80X86微处理器

第二章??80X86微处理器 ?难点和重点1 .运算器是如何通过全加器实现补码的加减运算的第一章已述及,在计算机中不管是两个带符号位的补码数,还是两个不带符号位的数,进行加减运算时,其处理方法都一样。

作加法时,直接相加即可;作减法时,将减数变补(包括符号位在内各位变反,最后再在最低位加 l )与被减数相加即可。

这样,加减法运算只要一个全加器便可实现。

2 .状态标志寄存器状态标志是ALU运算结果特殊状态的反映,是微型计算机技术中的重要概念。

它是计算机进行判断的重要依据.为了能将ALU运算结果的特殊状态寄存起来,以供后面的有条件跳转指令判跳之用。

通常微型机中都用一定位数(如 8 位或 16 位)的寄存器来寄存这些运算结果的特殊状态。

这个用来寄存运算结果特殊状态的寄存器就称为状态标志寄存器。

SF标志反映了 ALU运算结果最高位的情况,亦即补码数运算结果的正负情况,称为符号标志。

CF标志反映了ALU运算结果的进位(或借位)情况,亦即两个不带符号位数相加的进位情况或相减的借位情况,称为加法的进位标志(或减法的借位标志)。

有了状态标志寄存器,ALU运算后,除将运算结果送到累加器A外,还可将运算结果的特殊状态寄存起来。

这样,在运算指令之后,若有条件转移指令,便可根据标志位的状态进行程序判跳,实现了计算机的判断功能。

判断功能是计算机的重要功能,判断功能愈强,计算机的编程能力愈强,而判断的重要依据是状态标志。

因而,学习微型计算机原理必须首先掌握好状态标志的定义和功用。

3.? 微处理器的ALU和寄存器阵列ALU是微处理器用来进行算术逻辑运算的重要部件。

它所能完成的操作种类愈多,微处理器的功能也就愈强。

通常8位CPU完成的主要操作为加减运算、逻辑运算和移位操作等。

16位CPU的ALU完成的主要操作除上述外,还能完成乘除法运算等。

CPU的寄存器阵列在8位CPU 中分累加器和通用寄存器两种;16位CPU中不加区分,统称为通用寄存器阵列。

第2章80x86微处理器

第2章80x86微处理器
第2章 80x86微处理器
主讲 曹红波
第2章:80x86微处理器
2.1 微处理器的发展 2.2 8086微处理器 2.3 80286微处理器
2.4 80386微处理器
2.5 80486微处理器
2.6 Pentium系列微处理器
第二章:80x86微处理器
2.1 微处理器的发展
第一代(1971~1973) 第二代(1974~1977) 第三代(1978~1984) 第四代(1985~1999) 第五代(2000年至今) 4位和低档8位微处理器时代 8位微处理器时代 16位微处理器时代 32位微处理器时代 64位高档微处理器时代
例如: 3AH + 7CH=B6H AAH + 7CH=26H
(1)
产生溢出:OF=1
没有溢出:OF=0
问题:
什么是溢出? 溢出和进位有什么区别? 处理器怎么处理,程序员如何运用? 如何判断是否溢出?
下午4时33分 25
什么是溢出
―溢出”针对有符号数
处理器内部以补码表示有符号数 8位表示范围是: -128 ~ +127 16位表示范围是: -32768 ~+32767 如果运算结果超出了这个范围,就是产生了溢出,
7
8086的编程结构
1. 总线接口部件
功能:负责与CPU外部传送数据 (ROM RAM,IO)
下午4时33分
8
1. 总线接口部件
BIU组成部分: (1) 4个段寄存器 CS—码段寄存器。用于存放代码段的段基址。 DS—数据段寄存器。用于存放数据段的段基址。 SS—堆栈段寄存器。用于存放堆栈段的段基址。 ES—附加段寄存器。用于存放附加段的段基址。
下午4时33分

第2章80X86微处理器

第2章80X86微处理器
指令译码器ID(Instruction Decoder):将指令码 变成内部电路控制信号,等三部分组成。
程序由指令序列组成。
19
2.1 8086/8088微处理器的结构----执行单元(EU) 时序部件和微操作控制部件
时序部件:时钟系统、脉冲分配器。 微操作控制部件:组合逻辑电路,
在指令译码电路、时钟脉冲信号的控制下,实 现一系列逻辑动作(微操作),完成指令功能。
8086/8088外部地址线共有20根,可直接寻址 空间为220=1024K。
8086/8088内部寄存器为16位,包括指令计数 器。
8086/8088共有4个段寄存器:CS,DS,ES, SS。同样是16位寄存器。
地址合成器,将指令计数器或指令中指出的地址, 与段寄存器中的数据,组合成20位的外部地址。
指令是一种能供机器执行的控制代码,有操作码 和地址码两部分组成。
18
2.1 8086/8088微处理器的结构----执行单元(EU) 指令部件
程序计数器PC(Program Counter):存储指令地 址
指令寄存器IR(Instruction Register):保存当前 执行指令(代码)
DMA时,高阻态 。
36
2.2 8086/8088的外部引脚及其功能 3、控制/状态总线 BHE/S7 S7状态在T2、T3和T4周期有效(低电平),
在中断确认周期和局部总线出让的最后一个逻 辑状态时间保持高阻态。 在第一次中断确认周期的T1期间,S7保持低 电平。
指令寄存器----正在执行的指令 指令队列缓冲器----下一条执行的指令 8088/8086指令系统为可变长度指令系统,根
据不同需要,指令由1 ~ 6 字节组成。 为什么要用指令队列缓冲器? 流水线技术。

第2章 80x86微处理器

第2章 80x86微处理器

3)20位的地址加法器:用来产生20位物理地址. 段基址:段寄存器提供的16位信息,左移4位. 偏移地址:EU提供的16位信息或者IP提供的16位信息. 4)6字节的指令队列缓冲器:用来存放预取指令的指令队列. 5)16位的内部暂存器:暂存输入/输出信息的寄存器. 6)总线逻辑控制器:以逻辑控制方式实现总线上的信息传送, 如信息分时传送等. 2,执行部件EU 执行部件的功能就是负责指令的执行. (1) EU的组成: 执行部件由4个通用寄存器(AX,BX,CX,DX),4个专用寄存 器(BP,SP,SI,DI),算术逻辑单元,EU控制器和标志寄存器组 成.
80x86微处理器 第2章 80x86微处理器
教学内容 2.1 微处理器的发展 2.2 8086微处理器 2.2.1 8086CPU内部功能结构 2.2.2 8086CPU内部流水线管理工作原理 2.2.2 8086CPU的存储器组织 2.2.2 8086CPU总线周期的概念 2.2.2 8086CPU引脚信号及工作模式 2.2.2 8086CPU的操作时序 教学目标 1 2 3 4 了解80X86微处理器的发展历史. 理解8086微处理器内部结构,总线周期,操作时序. 掌握8086存储器组织,引脚及工1 计算机在进行 2345H+3219H 运算后,试求状态标志SF, ZF,PF,CF,AF,OF 的值. 0010 0011 0100 0101 十 0011 0010 0001 1001 0101 0101 0101 1110 SF=0,ZF=0,PF=0,CF=0,AF=0,OF=0. 例2.2 计算机在进行 5439H+456AH 运算后,试求状态标志SF, ZF,PF,CF,AF,OF 的值. 0101 0100 0011 1001 + 0100 0101 0110 1010 1001 1001 1010 0011 SF=1,ZF=0,PF=1,CF=0,AF=1,OF=1.

第二章 新80X86微处理器xin

第二章 新80X86微处理器xin

3 4
指令队列
执行部件 (EU)
总线接口部件 (BIU)
12
一、总线接口单元BIU(Bus Interface Unit)
功能:控制CPU与存储器、I/O的信息传送,形
成20位物理地址。
1、四个段寄存器:CS.DS.SS.ES(16位)
由于8086访问内存要20位地址,而执行单元EU中 所有寄存器和数据通道均为16位,只能提供16位地 址,由段寄存器提供16位段基址。 由四个段寄存器的某个段地址和地址偏移量(16位 逻辑地址),通过地址加法器,形成20位物理地址。
16
2、指令指针寄存器IP
IP:下一条将要执行指令的偏移地址(偏移量 )。与段寄存器CS的内容相加,形成取指令 的20位的物理地址。
3、20位地址加法器
例:CS=A000H,代码段可寻址的空间? CS左移四位: A000 0 H
IP的内容:0000H ~ FFFF H
物理地址:A0000 H ~ AFFFF H
微型计算机原理与接口技术
Principles of Microcomputers and Interface Techniques
内蒙古大学电子信息工程学院自动化系
1
第二章80X86微处理器
2.1 概述 2.2 8086的分时复用技术 2.3 8086的引脚功能 2.4 8086的工作时序 2.5 INTEL 80X86微处理器
32
4. 偏移地址
偏移地址是某存储单元相对其所在段起始位 置的偏移字节数,或简称偏移量。它是一 个16位的地址,根据指令的不同,它可以 来自于CPU中不同的16位寄存器(IP、SP、 BP、SI、DI、BX等)。 例:MOV AX,[BX]; 指令的段地址在CS;偏移地在IP,数据 的段地址在DS;偏移地在BX中。

第2章 80X86微处理器

第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
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

BIU 取指令2 取操作数 存结果 BUS
忙碌 忙碌 忙碌
8086/8088的内部寄存器
通用寄存器
数据寄存器AX,BX,CX,DX,AH,AL,BH,BL, CH,CL,DH,DL(16-8) AX累加器(Accumulator); BX基址寄存器; CX(Count)计数寄存器,循环-串操作; DX数据寄存器,I/O port, 双字除(H16); 地址指针寄存器SP,BP: SP:Stack Pointer R, 堆栈指针寄存器 BP:Base PointerR,基址指针寄存器 变址寄存器SI,DI : SI:Source Index R,源变址寄存器 DI: Destination Index R,目的变址寄存器
2006 2007 2008 FA 12 新栈顶 原栈顶 SS 0200 SP 0008
+
–2
2000
CX 12FA

SS段 首地址
PUSH CX 的 操作过程
出栈操作
出栈指令POP POP CX 操作示意图如 图5.3所示:
SS 0200 SP 0006 CX 12FA
×16
+
+2
2000 SS段 首地址 原栈顶 新栈顶
段寄存器和控制寄存器
段寄存器:
CS:代码段寄存器 SS:堆栈段寄存器 DS:数据段寄存器 ES:附加数据段寄存器 控制寄存器 IP:指令指针寄存器 FLAGS:标志寄存器
标志寄存器FLAG
状态标志位:CF,PF,AF,ZF,SF,OF
CF进位标志位:当进行加法或减法运算时,若最高位发生进位或借 位则CF=1,否则CF=0。 PF奇偶标志位:当逻辑运算结果中“1”的个数为偶数时PF=1,为 奇数时PF=0。 AF辅助进位位:在8(l6)位加减法操作中,低4位向高4位有进位 (D3-D4)、借位发生,用于BCD码运算操作校正 ZF零标志位:当运算结果为零时ZF=1,否则ZF=0。 SF符号标志位:当运算结果的最高位MSB为1时SF=1,否则SF= 0。 OF溢出标志位:当算术运算的结果超出了带符号数的范围,即溢出 时,OF= 1,否则OF=0。8位/16位带符号数范围
8086存储器的结构
存储器编址 – 存储器以8位为一个存储单元编址, 每一个存储单元用唯一的一个地址 码来表示。 – 一个字的两个单元有各自的地址, 处于低地址的字节的地址为这个字 的地址 – 在存储器中,任何连续存放的两个 字节都可以称为一个字。将偶地址 的字称为规则字,奇地址的字称为 非规则字
总线
暂存寄存器
EU 控 制系统
ALU 标志寄存器
Q总线 (8位) 总线接口 单元BIU
指令队列 1 2 3 4 5 6 8088 8086
执行单元 EU
8086/8088指令执行过程
指令的一般执行过程:
–取指令——指令译码——读取操作数——执行 指令——存放结果
8086以前的CPU采用串行工作方式
(其中的偏移地址取决于指令的寻址方式)
逻辑地址和物理地址区别
例:已知CS=1055H,DS=250AH, ES=2EF0H,SS=8FF0H, 10550H DS段有一操作数,其偏移地址 =0204H, 1)画出各段在内存中的分布 250A0H 2)指出各段首地址 2EF00H 3)该操作数的物理地址=? 解: 各段分布及段首址见右图所 示。 操作数的物理地址为: 250AH×10H+0204H = 252A4H
F0H 12H 1BH 08H
存储器分段
♦ 1M存储空间分成若干个逻辑段,每一段 64K 2段与段之间可以连续排列,部分重叠,断 续排列。
40000H 50000H 60000H 70000H 连续排列 A段 B段 部分重叠 C段 完全重叠
D段 断开排列
E段
逻辑地址
段基地址和段内偏移组成了逻辑地址
8FF00H
CS DS ES
SS
堆栈
内存中一个按LIFO方式操作的特殊区域 每次压栈和退栈均以WORD为单位 SS存放堆栈段地址,SP存放段内偏移,
SS:SP构成了堆栈指针 堆栈用于存放返回地址、过程参数或需要 保护的数据 常用于响应中断或子程序调用
入栈操作
入栈指令 PUSH PUSH CX 若已知SS=0200H, SP=0008H, CX=12FAH, 操作示意图如图所示:
8088的引脚

TEST(输入) 等待状态测试,用于多CPU NMI(输入) 非屏蔽中断输入信号 RESET(输入) 复位输入信号 CLK (输入) 时钟输入信号 MN/MX 最小/最大模式输入信号 SS0 状态信号 VCC 电源引脚 GND 接地信号
其余引脚的定义与CPU最小和最大工作模式有关

2006 2007 2008 POP CX的操作过程 FA 12
2.2 8086/8088引脚及功能
芯片引脚特性的描述:
– 引脚的功能:即引脚信号的定义。人们约定,引脚名为该引脚功 能的英文缩写,基本反映了信号的作用,即含义 – 信号的有效电平:指控制引脚使用有效时的逻辑电平。低电平有 效的引脚名字上面加有一条横线,引脚名字上无横线者为高电平 有效还有些引脚信号为边沿有效,即信号仅在上升(或下降)沿 有效 – 信号的流向:芯片与其他部件的联系全靠在引脚上传送信息,这 些信息可能自芯片向外输出,也可能从外部输入到芯片,还可能 是双向的 – 引脚的复用 – 三态能力: “三态”能力是指有些引脚除了能正常输出或输入高、 低电平外,还能输出高阻状态。当它输出高阻状态时,表示芯片 实际上已放弃了对该引脚的控制,使之“浮空”。这样,与总线 相连接的其它设备就可以获得对总线的控制权,系统转为接受总 线的设备控制下工作。
8086/8088引脚
地址/数据/状态 最小/最大模式 24-31引脚的功
能取决于8086工 作在最小模式还 是最大模式
8088的引脚
AD7~AD0(输入/输出,三态)
低8位地址/数据复用线 A15~A8 高8位地址输出线 A19/S6、A18/S5、 A17/S4、 A16/S3 (输出,三态) 地址/状态复用线 (表2-2) RD (输出,三态) 读选通信号 READY (输入) 准备就绪信号 INTR (输入) 可屏蔽中断请求信号
8086/8088CPU内部结构

AH AL BH BL CH CL DH DL SP BP DI SI
AX BX CX DX
地址总线 20位 数据总线 8088:8位 8086:16位
ALU数据总线(16位)
通 用 寄 存 器
段寄存器
指令指针
CS DS SS ES IP 内部暂存器
总线 控 制逻辑 外部
CPU BUS 取指 令1 忙碌 执行 1 存结 果1 忙碌 取指 令2 忙碌
取操 作数2
执行2
忙碌
1)CPU执行指令时总线处于空闲状态 2)CPU访问存储器(存取数据或指令)时要等待总线操作的完成
8086/8088指令执行过程
8086CPU采用并行工作方式
EU
执行1 执行2 执行3 取指令3 取操作数 取指令4 忙碌 忙碌 忙碌
标志寄存器FLAG
控制标志位:TF,IF,DF
TF 跟踪标志位:TF= 1,使CPU处于单步执行指令的工作方式。这 种方式便于进行程序的调试。每执行一条指令后,自动产生一次内部 中断,从而使用户能逐条指令地检查程序。 IF 中断允许标志位:IF= l使CPU可以响应可屏蔽中断请求。 IF= 0 使CPU禁止响应可屏蔽中断请求,IF的状态对不可屏蔽中断及内部中 断没有影响。 DF 方向标志位:DF= l 使串操作按减地址方式进行。也就是说,从 高地址开始,每操作一次地址减小一次。DF=0使串操作按增地址方 式进行。
8086/8088的系统组织
根据8086所连存储器或外设的规模,8086
可分为最大组态和最小组态。在两种组态 下,引脚24至31具有不同的名称和意义, 由引脚MN/MX来规定处于哪种组态。 MN/MX端接+5V,决定了8086工作在最小 模式,如果接地,则工作在最大方式。 最小方式适用于由单微处理器组成的小系 统。在这种系统中, 8086/8088CPU直接产 生所有的总线控制信号,因而省去了总线 控制逻辑。
2.3 8086/8088的系统组织
8086/8088支持芯片: 8284时钟发生器:为CPU提供时钟、READY、 RESET等信号 8282/8283 8位三态输出锁存器:由于数据/地址引 脚复用,需要把地址信息分离出来保存 8286/8287并行双向总线驱动:增加总线带负载的 能力 8288总线控制器:多CPU模式(最大模式)
16位 段基址 0000
+
段内偏移 物理地址 20位
逻辑地址和物理地址区别
物理地址:20位绝对地址 逻辑地址:段基址和段内
偏移量 15 0 段寄存器值 0000 物理地址 = 0 段基址 16 + 偏移地址 15 偏移地址
19
16位
4位
20位物理地址
Hale Waihona Puke 0内存地址的一般情况
指令地址:CS16+IP 堆栈操作地址:SS16+SP 操作数地址:DS(ES)16+偏移地址
第二章 80X86/Pentium微处理器 2.1 2.2 2.3 2.4 2.5 8086/8088CPU内部结构 8086/8088引脚及功能 8086/8088系统组织 8086/8088CPU时序 80X86/Petium微处理器
2.1 8086/8088CPU内部结构
8086/8088CPU主要性能 – 字长:16位/准16位 – 时钟频率:5MHz – 数据、地址总线复用 – 最大内存容量:1MB – 指令系统:99条基本汇编令 – 端口地址:16位,可寻址64K个端口地址 – 中断:支持软中断和硬中断,中断源最多256 个
相关文档
最新文档