3第三章 8086 8088微处理器及其系统PPT课件
合集下载
精品课件-- Intel系列微处理器
5
2.指令流水线和存储器的分段模式 (1) 指令流水线
由于EU和BIU两个独立的功能部件可以并行工作,改变了以前8位微处理 器执行程序时的串行工作方式,使得取指令操作码和分析、执行操作重叠进 行,从而形成了两级指令流水线结构,提高了微处理器的运行速度。如图。
6
(2)存储器的分段模式 8086/8088引入了“分段”的概念。即把1MB的物理存储空间分成若干个逻
图2-5 80486的流水线工作示意图
15
2.内部寄存器组 80486的寄存器按功能可分为四类:基本寄存器、系统级寄存器、调
试和测试寄存器、浮点寄存器。 (1)基本寄存器
图2-6 基本寄存器
16
(2)系统级寄存器 系统级寄存器包括4个控制寄存器和4个系统地址寄存器。
1)控制寄存器 80486有4个32位的控制寄存器(CR0、CR1、CR2和CR3),它们的作用是保存全局
物理地址=段基址×l6+段内偏移地址
BIU中的4个16位的段寄存器CS、SS、 DS和ES分别存放着4个当前段(代码段,堆 栈段,数据段,附加段)的段基址。
7
2.1.2 80286微处理器 80286是继8086之后推出的一种增强型标准16位微处理器。与8086/8088
相比,它在结构上有很大改进,性能上有明显提高。主要表现在: (1) 内部由执行单元EU(Execution Unit)、总线单元BU(Bus Unit)、
13
2.2.2 80486微处理器的内部结构 1.内部结构
图2-4 80486微处理器的内部结构示意图
14
由图2-4可见,80486微处理器的内部结构主要由8个逻辑单元组成:总 线接口单元、指令预取单元、指令译码单元、指令执行单元、段管理单 元、页管理单元、高速缓冲存储器单元和浮点运算单元。
2.指令流水线和存储器的分段模式 (1) 指令流水线
由于EU和BIU两个独立的功能部件可以并行工作,改变了以前8位微处理 器执行程序时的串行工作方式,使得取指令操作码和分析、执行操作重叠进 行,从而形成了两级指令流水线结构,提高了微处理器的运行速度。如图。
6
(2)存储器的分段模式 8086/8088引入了“分段”的概念。即把1MB的物理存储空间分成若干个逻
图2-5 80486的流水线工作示意图
15
2.内部寄存器组 80486的寄存器按功能可分为四类:基本寄存器、系统级寄存器、调
试和测试寄存器、浮点寄存器。 (1)基本寄存器
图2-6 基本寄存器
16
(2)系统级寄存器 系统级寄存器包括4个控制寄存器和4个系统地址寄存器。
1)控制寄存器 80486有4个32位的控制寄存器(CR0、CR1、CR2和CR3),它们的作用是保存全局
物理地址=段基址×l6+段内偏移地址
BIU中的4个16位的段寄存器CS、SS、 DS和ES分别存放着4个当前段(代码段,堆 栈段,数据段,附加段)的段基址。
7
2.1.2 80286微处理器 80286是继8086之后推出的一种增强型标准16位微处理器。与8086/8088
相比,它在结构上有很大改进,性能上有明显提高。主要表现在: (1) 内部由执行单元EU(Execution Unit)、总线单元BU(Bus Unit)、
13
2.2.2 80486微处理器的内部结构 1.内部结构
图2-4 80486微处理器的内部结构示意图
14
由图2-4可见,80486微处理器的内部结构主要由8个逻辑单元组成:总 线接口单元、指令预取单元、指令译码单元、指令执行单元、段管理单 元、页管理单元、高速缓冲存储器单元和浮点运算单元。
第03-1章. 80868088微处理器及其系统
3.1.1、8086/8088CPU的内部结构
执行单元( Execute Unit ) 总线接口单元 ( Bus Interface Unit )
8088的内部结构
AH BH CH DH AL BL CL DL SP BP SI DI
16位
地址 加法 器
∑
20位
通用 寄存器
CS DS SS ES IP 内部暂存器
PA的书写方式:
段地址:段内偏移
如:1121H : 2200H=11210+2200=13410H
已知CS=1055H,DS=250AH,ES=2EF0H, SS=8FF0H,DS段有一操作数,其偏移地址=0204H, 1)画出各段在内存中的分布 2)指出各段首地址 10550H CS 3)该操作数的物理地址=?
2.地址加法器和段寄存器
BIU中的地址加法器用来实现逻辑地址到物理地址的变换 8086采用了 “段加偏移”的技术。
15 0 15 0
逻辑地址
段基值
3 0
偏移量
0000
各段寄存器分别来存放确定各段的 起始地址的16位段地址信息
寻址单元的16位偏移地址
Σ
19 0
物理地址
物理地址
左移4位后的段寄存器的内容同时 送到地址加法器进行相加
CH DH CL DL
地址 加法 器
∑
20位
CS DS SS ES IP 内部暂存器
16位
输入/输出 控制电路 外 部 总 线
1 2
8位
3 4
把EU的操作结果存储 标志寄存器 到指定的M或I/O口。
执行部件 (EU)
指令队列
总线接口部件 (BIU)
8086-8088--时序图PPT课件
RD DT/R
DEN
2021/7/23
2.总线写操作
CLK
A19/S6~A16/S3 BHE/S7 AD15~AD0
ALE M/IO WR DT/R DEN
一个总线周期
T1
T2
T3
T4
地址,BHE 地址输出
状态输出 数据输出
低电平写IO,高电平写存储器
2021/7/23
总线写操作时序与总线读操作时序基本相似,不同点有:
2021/7/23
执行指令MOV AL,[BX]的时序图T2
CLK IO/M A19~A16 /S6~S3 A15~A8 AD7~AD0
ALE RD
DT/R
DEN
T1 T2 T3 T4
A19~A16
S6 ~ S3
A7 ~ A0
D7 ~ D0
5.A19~A16 上 出 现 状
态
信
号
S6S5S4S3=0IF11 , 使用DS
ALE MRDC/IORC
DT/R
DEN
一个总线周期
T1
T2
T3
T4
S2~S0
BHE A19~A16
地址输出
S2~S0无效
S7~S3
数据输入
2021/7/23
最大模式写时序
CLK S2~S0
A19/S6~A16/S3 BHE/S7
AD15~AD0
ALE AMWC/AIOWC
MWTC/IOWC
DEN
A7 ~ A0
D7 ~ D0
9.AD7~AD0 上 出 现数据信号1 0 0 11010
ALE RD
DT/R
DEN
( DS )=3000H, (BX)=500CH, (3500CH)=9AH
微处理器与系统结构PPT详细讲解
•29 •HLDA* •28 •WR*
有效,三态)
•27 •M/IO* 测试信号(输入、低电
•26 •DT/R* •25 •DEN*
平有效)
•24 •23 •22
•ALE* •INTA* •TEST
READY 准备就绪(输入 、高电平有效)
•21 •READY
•RESET
状态信号指示当前使用段
一、8086通用引脚信号
•1
•40 •VCC
•2
•39 •AD15 INTR可屏蔽中断请求
•3 •4
•38 •A16/S3 •37 •A17/S4
信号(输入、高有效)
•5 •6
•36 •35
•A18/S5 •A19/S6
NMI非屏蔽中断请求(
•7 •8
•34 •BHE/S7 •33 •MN/M
输入,上升沿触发)
•GND •AD14 •AD13 •AD12 •AD11 •AD10 •AD9 •AD8 •AD7 •AD6 •AD5 •AD4 •AD3 •AD2 •AD1 •AD0 •NMI •INTR •CLK •GND
二、8086最小模式引脚信号
M/ 存储器/IO控制信号
•1 •2 •3
•40 •39 •38
微处理器与系统结构PPT详 细讲解
第二章学习要点
重点掌握内容: 1.微处理器的基本结构。 2.Intel 8086微处理器的基本结构,包括: 功能结构、寄存器结构和总线结构。 3.Intel 8086微处理器系统的组成: 控制核心单元+存储器组织+I/O端口组织 4.Intel 8086微处理器在最小模式下的典型总线 操作和时序。 5.几个重要概念:时钟周期,总线周期,指令周期。
第3章 8086(8088)CPU指令系统
数据段 BX + SI 10H
20H 00H
00H 34H 12H
3000H:0000H
注: ◆基址因子BP访问默认为堆栈段 ◆不能同时取两个基址因子;也不 能同时去两个变址因子
16
+
3000H:3000H
AH
AL
第3章 8086/8088CPU指令系统
4.1.4 操作数寻址方式
●存储器寻址之相对基址加变址寻址(Base
9
第3章 8086/8088CPU指令系统
3.1.3 操作数寻址方式
4.1操作数寻址方式
所谓操作数的寻址方式,是在指令格式中怎样有效的表示出操 作数的存放位臵,CPU在执行该指令时,按照指令格式中的表示找 到并对数据进行存取。 1.立即寻址(Immediate Addressing) 立即寻址中的操作数作为指令的一 部分存放在代码段中,在取指阶段数据 随指令一起被取到CPU,这种数据在指 令格式中的直接表现为常数。 如:MOV AL,34H
2
第3章 8086/8088CPU指令系统
汇编语言指令或符号指令:用字母和其它一些符 号组成的“助记符”与操作数等表示的指令称为汇编 语言指令或符号指令。 例如: MOV AX, BX ; AX←BX 而其二进制代码(机器代码)为89D8H,就是 1000 1001 1101 1000 B 不易理解,不易记忆。助记符是MOV。
操作码
操作数
4
第3章 8086/8088CPU指令系统
3.1.1 8086/8088指令格式
4.1操作数寻址方式
8086/8088机器指令格式通常1-6个字节组成。典型的指令格式 由2个字节组成,如下图所示。
操作码 D W MOD REG R/M
20H 00H
00H 34H 12H
3000H:0000H
注: ◆基址因子BP访问默认为堆栈段 ◆不能同时取两个基址因子;也不 能同时去两个变址因子
16
+
3000H:3000H
AH
AL
第3章 8086/8088CPU指令系统
4.1.4 操作数寻址方式
●存储器寻址之相对基址加变址寻址(Base
9
第3章 8086/8088CPU指令系统
3.1.3 操作数寻址方式
4.1操作数寻址方式
所谓操作数的寻址方式,是在指令格式中怎样有效的表示出操 作数的存放位臵,CPU在执行该指令时,按照指令格式中的表示找 到并对数据进行存取。 1.立即寻址(Immediate Addressing) 立即寻址中的操作数作为指令的一 部分存放在代码段中,在取指阶段数据 随指令一起被取到CPU,这种数据在指 令格式中的直接表现为常数。 如:MOV AL,34H
2
第3章 8086/8088CPU指令系统
汇编语言指令或符号指令:用字母和其它一些符 号组成的“助记符”与操作数等表示的指令称为汇编 语言指令或符号指令。 例如: MOV AX, BX ; AX←BX 而其二进制代码(机器代码)为89D8H,就是 1000 1001 1101 1000 B 不易理解,不易记忆。助记符是MOV。
操作码
操作数
4
第3章 8086/8088CPU指令系统
3.1.1 8086/8088指令格式
4.1操作数寻址方式
8086/8088机器指令格式通常1-6个字节组成。典型的指令格式 由2个字节组成,如下图所示。
操作码 D W MOD REG R/M
微机原理第三章: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
第3章 80868088指令系统3(算术运算指令)PPT课件
INC SI
;(SI)+1
DEC CX
;(CX)-1
JNZ LL
;若(CX)0,则转LL
思考:若最高位有进位,如何改?
11
ADD/ADC指令对条件标志位(CF/OF/ZF/SF)的影响:
SF=
1 结果为负 0 否则
ZF=
1 结果为0 0 否则
CF=
1 0
和的最高有效位有向高位的进位 否则
OF= 1 两个操作数符号相同,而结果符号与之相反
无符号数 有符号数
0000 1000
8
+8
+1111 1101 10000 0101
结果5
+253 261 CF=1
+(-3) +5
OF=0
③ 有符号数溢出
0000 1000
8
+8
+0111 1101 +125 +(+125)
1000 0101 133
+133
结果-123
CF=0
OF=1
(补码表示)
2
• 两个8位数相加时有4种情况:
无符号数范围0~255 带符号数范围-128~127 ①无符号数和有符号数均不溢出
二进制相加 0000 1000 +0001 1110 0010 0110
无符号数加 8
+ 30 38
有符号数加 +8
+ (+30) +38
结果38
CF=0
OF=0
3
② 无符号数溢出
作用类似于C语言中的”--”操作符。
格式:DEC opr 操作:opr←(opr)-1
微处理器指令系统.ppt
常用命令:
-A 汇编
-U 反汇编
-T 单步执行
-G 断点执行
-D 数据显示
-R பைடு நூலகம்存器
启动方法
Windows 2000/XP/NT下运行CMD\COMMAND\“命令提 示符”)
;reg reg/mem
寄存器与寄存器之间对换数据 寄存器与存储器之间对换数据 不能在存储器与存储器之间对换数据
换码指令XLAT
XLAT ;al←ds:[bx+al]
将BX指定的缓冲区中、AL指定的位移处的
一个字节数据取出赋给AL
tab 00H
tab db 0,1,4,9,15,25;定义DS段数据 Mov bx,offset tab(lea bx,tab)
FFFDFHH
高地址
堆栈操作的特点
堆栈操作的单位是字,进栈和出栈只对字量 字量数据从栈顶压入和弹出时,都是低地址字
节送低字节,高地址字节送高字节 堆栈操作遵循先进后出原则,但可用存储器寻
址方式随机存取堆栈中的数据 堆栈段是程序中不可或缺的一个内存区,常用
来
临时存放数据 传递参数 保存中断断点、中断现场
8086/8088指令系统
指令主要种类 指令功能 指令格式 指令的寻址方式、执行时间 指令对标志位的影响 使用指令的注意事项
2.3数据传送类指令
数据传送是计算机中最基本、最重要的一种操 作,传送指令也是最常使用的一类指令
传送指令把数据从一个位置传送到另一个位置 除标志寄存器传送指令外,均不影响标志位 重点掌握
MOV指令-段寄存器传送
mov [si],ds mov ax,ds mov es,ax
8086-8088CPU系统结构
♣ CS:代码段寄存器 ♣ DS:数据段寄存器 ♣ ES:附加数据段寄存器 ♣ SS:堆栈段寄存器
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的管理
▲二者处于并行的工作状态和重叠的工 作方式; ▲相互配合,协调工作; ▲充分利用总线实现最大限度的信息传 输,提高了程序的执行速度。
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微处理器
Page 7
8086引脚介绍
VCC、GND:电源、接地 引脚(3个),5V
两种模式下,名称和功能相同的32个引脚
AD15—AD0(Address Data Bus):地址/数据复用信 号输入/输出引脚(16个),分时 输出 。 A19/s6—A15/s3(Address Status Bus): 地址/状态复用 信号输出引脚(4个),分时输出。
Page 18
8086引脚介绍
最大模式
Lock(Lock):总线封锁,输出引脚,低电平有效, 当该引脚输出低电平时,系统中其它总线部件就不 能占用系统总线。 RQ/GT0、RQ/GT1 (Request/Grant):总线请求 信号输入/总线允许信号,输出引脚。这两个信号端 可同时接CPU以外的两个协处理器,用来发出使用 总线的请求信号和接收CPU对总线请求信号的应答。 这两个引脚都是双向的,请求与应答信号在同一引 脚上分时传输,方向相反。其中 RQ/GT0比 RQ/GT1 的优先级高。
最小模式
Here comes your footer
Page 13
8086引脚介绍
最小模式
INTA(Interrupt Acknowledge):中断响应信号,输出引脚,低电 平有效。该引脚是CPU响应中断请求后,向中断源发出的认可信号。
ALE(Address Lock Enable):地址锁存允许,输出引脚,高电 平有效。CPU通过该引脚向地址锁存器8282/ 8283发出地址锁存允 许信号,把当前地址/数据复用总线上输出的地址信息,锁存到地址 锁存器8282/8283中去。
Here comes your footer
Page 10
8086引脚介绍
TEST(Test):测试信号,输入引脚,低电平有 效,TEST信号与WAIT指令结合起来使用,CPU执行 WAIT指令后,处于等待状态,当TEST引脚输入低电 平时,系统脱离等待状态,继续执行被暂停执行的指 令。
第3章80x86处理器
物理地址=段地址10H+段内偏移地址
如假设当前(CS)=20A8H,(IP)=2008H,那么,下一条从内存 中读取的指令所在存储单元的物理地址为:20A8H10H+ 2008H=22A88H。
15
0
段内偏移地址
19
430
段 寄 存 器 0000段 地 址 左 移 4位
∑
19
0
20位 物 理 地 址
请大家注意理 解逻辑地址与 物理地址的概 念((cs):(ip)
Debug中使 用反汇编命 令得到的 addxy.exe程 序中变量在 内存中的存 放情况.
请大家注意理 解逻辑地址与 物理地址的概 念
运行ADDXY.asm
二.执行单元EU
执行单元EU不与系统外部直接相连,它的功 能只是负责执行指令。执行的指令从BIU的指令 队列缓冲器中直接得到,执行指令时若需要从存 储器或I/O端口读写操作数时,由EU向BIU发出 请求,再由BIU对存储器或I/O端口进行访问。
高速缓冲存储器Cache 的使用,大大减少了CPU读取指令
和操作数所需的时间,使CPU的执行速度显著提高。为了满足 微型计算机对存储器系统高速度、大容量、低成本的要求,目 前,微型计算机系统采用如图3.1所示的三级存储器组织结构, 即由高速缓冲存储器Cache、主存和外存组成。
微处理器 CPU
高速缓冲存储器 (Cache)
执行单元EU由下列部件组成:
1. 16位算术逻辑单元(ALU):进行算术和逻辑运算。 2. 16位标志寄存器FLAGS:存放CPU运算的状态和控制标志。 3. 数据暂存寄存器:暂存参加运算的数据 4. 通用寄存器:包括4个16位数据寄存器AX、BX、CX、DX和
学习要求
如假设当前(CS)=20A8H,(IP)=2008H,那么,下一条从内存 中读取的指令所在存储单元的物理地址为:20A8H10H+ 2008H=22A88H。
15
0
段内偏移地址
19
430
段 寄 存 器 0000段 地 址 左 移 4位
∑
19
0
20位 物 理 地 址
请大家注意理 解逻辑地址与 物理地址的概 念((cs):(ip)
Debug中使 用反汇编命 令得到的 addxy.exe程 序中变量在 内存中的存 放情况.
请大家注意理 解逻辑地址与 物理地址的概 念
运行ADDXY.asm
二.执行单元EU
执行单元EU不与系统外部直接相连,它的功 能只是负责执行指令。执行的指令从BIU的指令 队列缓冲器中直接得到,执行指令时若需要从存 储器或I/O端口读写操作数时,由EU向BIU发出 请求,再由BIU对存储器或I/O端口进行访问。
高速缓冲存储器Cache 的使用,大大减少了CPU读取指令
和操作数所需的时间,使CPU的执行速度显著提高。为了满足 微型计算机对存储器系统高速度、大容量、低成本的要求,目 前,微型计算机系统采用如图3.1所示的三级存储器组织结构, 即由高速缓冲存储器Cache、主存和外存组成。
微处理器 CPU
高速缓冲存储器 (Cache)
执行单元EU由下列部件组成:
1. 16位算术逻辑单元(ALU):进行算术和逻辑运算。 2. 16位标志寄存器FLAGS:存放CPU运算的状态和控制标志。 3. 数据暂存寄存器:暂存参加运算的数据 4. 通用寄存器:包括4个16位数据寄存器AX、BX、CX、DX和
学习要求
第三章 8086 8088指令系统
SI 1200
+)
6000 0 1200 61200 AX 33 44
61200H 61201H
存储器 . . . 44H 33H 数 据 段
. . .
图 3-5 寄存器间接寻址示意图
3.2.5 寄存器相对寻址
寄存器相对寻址——操作数在存储器中。由指令指定的地址寄存器的内容加上指令中
给出的一个8位或16位的地址位移量,即可得操作数的偏移地址。
SI AX AX AX AX AX
3.2.8隐含寻址
隐含寻址—— 操作数隐含在操作码中,在有些指令的操作数中,不仅包含了操作的性质,
还隐含了部分操作数的地址。如乘法指令 MUL,在这条指令中只须指明乘数的地址,而被乘数 已经乘积的地址是隐含且固定的。这种将一个操作数隐含在指令码中的寻址方式就称为隐含
立即数操作数: 所谓立即数指具有固定数值的操作数,不因指令的执行而发生变化 。立即数操作 数只能用作源操作数,而不能用作目标操作数。
寄存器操作数:
8086CPU的8个通用寄存器和4个段寄存器可以作为指令中的寄存器操作数,寄存
器操作数在指令中既可以作为源操作数,也可以用作目标操作数。 存储器操作数: 参加运算的数据是存放在内存中。
两单元的内容送到AX中。假设DS=2000H,则所寻找的操作数的物理地址为: 2000H×10H+3102H = 23102H, 指令的执行情况如图3-3所示
存储器 . . .
MOV操作码
02H 31H AH AL 23102H 23103H
图 3-3 直接寻址方式
代 码 段
. . . ×× ×× . . . 数 据 段
请注意:使用基址—变址方式时,不允许将两个基址寄存器或两个变址寄存器组合
微机原理第3章 8086微型计算机系统
第3章 8086微型计算机系统
2、总线接口部件BIU
BIU组成: 4个16位段寄存器(DS、CS、ES、SS); 指令指针寄存器(IP); 20位的地址加法器; 6字节指令队列缓冲器; 内部暂存器和总线控制逻辑。 BIU功能:负责CPU与存储器、I/O设备之间的 数据传送。具体包括: 取指令送指令队列,配合EU从指定的内存 单元或者外设端口中取数据,将数据传送 给EU,或者把EU的操作结果传送到指定的 内存单元或外设端口中。第3章 8086微型计算机系统
第3章 8086微型计算机系统
4、内存操作
读:将内存单元的内容取入CPU,原单元内容不改变; 写:CPU将信息放入内存单元,单元中原内容被覆盖; 刷新:对CPU透明,仅动态存储器有此操作 内存的读写的步骤为: 1)CPU把要读写的内存单元的地址放到AB上 2) 若是写操作, CPU紧接着把要写入的数据放到DB上 3) CPU发出读写命令 4) 数据被写入指定的单元或从指定的单元读出到DB 若是读操作, CPU紧接着从DB上取回数据
第3章 8086微型计算机系统
3、8086的存储器的地址
内存包含有很多存储单元(每个内存单元包含 8bit),为区分不同的内存单元,对计算机中 的每个内存单元进行编号,内存单元的编号 就称为内存单元的地址。
内存单 元地址
. . .
Bit 7 6 5 4 3 2 1 0 01011000
内存单 元内容
段基地址(16位)
第3章 8086微型计算机系统
段地址说明逻辑段在主存中的起始位置 8086规定段地址必须是模16地址:xxxx0H 省略低4位0000B,段地址就可以用16位数据 表示,就能用16位段寄存器表达段地址 偏移地址(也称有效地址EA)说明主存单元 距离段起始位置的偏移量 每段不超过64KB,偏移地址也可用16位数据 表示
2、总线接口部件BIU
BIU组成: 4个16位段寄存器(DS、CS、ES、SS); 指令指针寄存器(IP); 20位的地址加法器; 6字节指令队列缓冲器; 内部暂存器和总线控制逻辑。 BIU功能:负责CPU与存储器、I/O设备之间的 数据传送。具体包括: 取指令送指令队列,配合EU从指定的内存 单元或者外设端口中取数据,将数据传送 给EU,或者把EU的操作结果传送到指定的 内存单元或外设端口中。第3章 8086微型计算机系统
第3章 8086微型计算机系统
4、内存操作
读:将内存单元的内容取入CPU,原单元内容不改变; 写:CPU将信息放入内存单元,单元中原内容被覆盖; 刷新:对CPU透明,仅动态存储器有此操作 内存的读写的步骤为: 1)CPU把要读写的内存单元的地址放到AB上 2) 若是写操作, CPU紧接着把要写入的数据放到DB上 3) CPU发出读写命令 4) 数据被写入指定的单元或从指定的单元读出到DB 若是读操作, CPU紧接着从DB上取回数据
第3章 8086微型计算机系统
3、8086的存储器的地址
内存包含有很多存储单元(每个内存单元包含 8bit),为区分不同的内存单元,对计算机中 的每个内存单元进行编号,内存单元的编号 就称为内存单元的地址。
内存单 元地址
. . .
Bit 7 6 5 4 3 2 1 0 01011000
内存单 元内容
段基地址(16位)
第3章 8086微型计算机系统
段地址说明逻辑段在主存中的起始位置 8086规定段地址必须是模16地址:xxxx0H 省略低4位0000B,段地址就可以用16位数据 表示,就能用16位段寄存器表达段地址 偏移地址(也称有效地址EA)说明主存单元 距离段起始位置的偏移量 每段不超过64KB,偏移地址也可用16位数据 表示
第3章80888086指令系统(老师用的课件哦)
第3章 8088/8086指令系统
图3.5 变址寻址示意图
第3章 8088/8086指令系统
例:MOV AX,200AH[SI];或(AX)←
[(DS)*16+(SI)+200AH
EA=(SI)
+200AH,SI为变址寄存器,200AH为16位的位移量。
图3.6为用BP寄存器进行变址寻址时的示意图。
第3章 8088/8086指令系统
3.存储器操作数 存储器操作数是把操作数放在存储器单元中。对这 类操作数,在指令中必须给出存储器的地址。存储器 的实际地址(也称物理地址)是由指定的段基址和段内地 址偏移量(也称为有效地址EA)所决定的。由于段基址 相对很少改变,故一般预先予以指定,以后通过隐含 方法使用,即只要段基址未改变,其在汇编指令中便 不再出现。此时,只给出有效地址EA(以各种寻址方式 给出)。
第3章 8088/8086指令系统
3.2 8088/8086指令系统
3.2.1 数据传送指令 1 .数据传送指令MOV 指令格式:MOV OPRD1,OPRD2 MOV 为操作码。 OPRD1为目的操作数,可以是寄存器、存储器、
累加器。
第3章 8088/8086指令系统
OPRD2为源操作数,可以是寄存器、存储器、累 加器和立即数。
第3章 8088/8086指令系统
4.寄存器间接寻址
寄存器间接寻址的操作数类型为存储器操作数,与 直接寻址方式的区别是:该存储单元的16位段内偏移 地址,不是从指令代码中直接得到,而是从指令所指 定的寄存器中得到。能用于间接寻址的寄存器为SI、 DI、BX、BP。若以SI、DI、BX进行间接寻址,应由 数据段DS的内容作为段基址,间接寻址寄存器的内容 为段内偏移量,并指定形成操作数的物理地址。若以 寄存器BP间接寻址,则BP中的内容为段内偏移量,段寄 存器SS与之一起形成物理地址。寄存器间接寻址示意 图如图3.4所示。
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章 8086/8088微处理器及其系统 主要内容
3.1 8086/8088 3.2 8086/8088系统的最小/最大工作方式 3.3 8086/8088的存储器 3.4 8086/8088的指令系统
1
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
✓ Intel系列CPU一直占着主导地位 ✓ Intel8086/8088、Z8000和MC68000为代表的16
位微处理器是第3代产品,其性能已达到中、高档 小型计算机的水平。 ✓ 8086/8088后续的80286、80386、80486以及 Pentium系列CPU结构与功能已经发生很大变化, 但从基本概念与结构以及指令格式上来讲,仍然 是经典8086/8088CPU的延续与提升。 ✓ 其它系列流行的CPU(如AMD公司的6X86MX/M II 等)也与80X86CPU兼容。
13
3.1 8086/8088微处理器
8088CPU内部结构 BIU指令队列长度为4个字节 BIU通过总线控制电路与外部交换数据的总线宽度是8位, 与专用寄存器之间的数据总线宽度也是8位。
14
3.1 8086/8088微处理器
3.1.2 8086/8088的寄存器结构 8086/8088内部寄存器结构共有13个16位寄存器和1个只用 了9位的16位标志寄存器。
④当EU执行完转移、调用和返回指令时,要清除指令队列缓冲器,
并要求BIU从新的地址重新执行。
10
3.1 8086/8088微处理器
2.地址加法器和段寄存器
8086有20根地址线,内部寄存器只有16位。
“段加偏移”技术
11
3.1 8086/8088微处理器
3. 16位指令指针(Instruction Pointer,IP) IP中含有BIU要取的下一条指令(字节)的偏移地址。 IP在程序运行中自动加1,指向要执行的下一条指令(字节)。 有些指令能使IP值改变或使IP值压进堆栈,或由堆栈弹出
15
3.1 8086/8088微处理器
1. 通用寄存器 ①数据寄存器 4个16位:AX、BX、CX、DX 8个8位:AH、 AL、 BH、 BL、 CH、 CL、 DH、 DL — 多数情况下,用于算术运算或逻辑运算指令中 — 有些指令中,有特定的用途
16
3.1 8086/8088微处理器
1. 通用寄存器(续1) ②指针寄存器和变址寄存器(16位,存放偏移地址) ✓指针寄存器(P组)
9
3.1 8086/8088微处理器
1.指令队列缓冲器(续1)
“先进先出”原则:按顺序存放,并按顺序取到EU中去执行。
①取指时,当指令队列缓冲器中存满1条指令,EU开始执行;
②指令队列缓冲器中只要空出2个(8088空出1个)指令字节时,BIU便 自动执行取指操作,直到填满时为止。
③EU执现行取指的存储器周期后的下一个存储器周期,对内存单元或I/O设 备进行存取操作,交换的数据经BIU由EU进行处理。
◆16位指令指针寄存器IP(Instruction Pointer) ◆6字节指令队列缓冲器 ◆20位地址加法器 ◆总线控制器
8
3.1 8086/8088微处理器
1.指令队列缓冲器
用于存放预取的指令 8086指令队列为6个字节,而8088指令队列为4个字节。 在执行指令的同时,从内存中取下面1条或几条指令,取来的指令依次 放在指令队列中。 采用“先进先出”的原则。
2
第三章 8086/8088微处理器及其系统
学习要求
透彻理解与熟练掌握8086/8088内部组成结构、 寄存器结构与总线周期等
深入理解存储器的分段设计 正确理解与熟练掌握物理地址和逻辑地址关系 理解堆栈及其操作 理解“段加偏移”寻址机制 掌握寻址方式 掌握6大类指令系统的基本方法
3
第三章 8086/8088微处理器及其系统
堆栈指针寄存器SP和基址指针寄存器BP。 当前堆栈段中数据所在的地址。 SP(Stack Pointer):给出栈顶的偏移地址(入栈和出栈 指令时)
8088是准16位微处理器,内部寄存器、运算器以及内部数 据总线都是16位,但外部数据总线为8条。
5
3.1 8086/8088微处理器
3.1.1 8086/8088CPU的内部结构
从功能上讲,可分为两个独立的部分,并行重叠操作:
6
3.1 8086/8088微处理器
总线接口单元(Bus Interface Unit,BIU):
恢复原址。
12
3.1 8086/8088微处理器
执行单元组成
16位算术逻辑单元(ALU)
算术、逻辑运算、计算16位偏移量
16位标志寄存器
CPU的运算状态特征或存放控制标志
数据暂存寄存器
协助ALU完成运算
通用寄存器组
4个16位数据寄存器,4个16位指针与变址寄存器
EU控制电路
控制、定时与状态逻辑电路
4
3.1 8086/8088微处理器
✓ 8086是Intel系列的16位微处理器。 ✓ 采用HMOS工艺,集成2.9万个晶体管,单一的+5V电源,40
条引脚,双列直插式封装,时钟频率5~10MHz,最快的指令 执行时间为0.4us。 ✓ 8086有16根数据线,20根地址线,寻址1MB的存储单元和 64KB的I/O端口。
负责完成CPU与存储器或I/O设备之间的数据传送,即 - BIU从内存预取指令送到指令队列缓冲器; - CPU执行指令时,BIU配合EU对指令的内存单元或I/O接口存
取数据。
执行单元(Execution Unit,EU):
负责执行指令,即 - 执行的指令从BIU的指令队列缓冲器中取得; -指令执行的结果或所需的数据,由EU向BIU发出请求; - 再由BIU对存储器或I/O接口进行存取。
7
3.1 8086/8088微处理器
总线接口单元组成
◆4个16位段地址寄存器 代码段寄存器(Code Segment):取得CPU所执行的指令。 数据段寄存器(Data Segment):存放程序所使用的数据。 堆栈段寄存器(Stack Segment):堆栈操作的执行地址在此段中。 附加段寄存器(Extra Segment):也用来存放数据的。
3.1 8086/8088 3.2 8086/8088系统的最小/最大工作方式 3.3 8086/8088的存储器 3.4 8086/8088的指令系统
1
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
✓ Intel系列CPU一直占着主导地位 ✓ Intel8086/8088、Z8000和MC68000为代表的16
位微处理器是第3代产品,其性能已达到中、高档 小型计算机的水平。 ✓ 8086/8088后续的80286、80386、80486以及 Pentium系列CPU结构与功能已经发生很大变化, 但从基本概念与结构以及指令格式上来讲,仍然 是经典8086/8088CPU的延续与提升。 ✓ 其它系列流行的CPU(如AMD公司的6X86MX/M II 等)也与80X86CPU兼容。
13
3.1 8086/8088微处理器
8088CPU内部结构 BIU指令队列长度为4个字节 BIU通过总线控制电路与外部交换数据的总线宽度是8位, 与专用寄存器之间的数据总线宽度也是8位。
14
3.1 8086/8088微处理器
3.1.2 8086/8088的寄存器结构 8086/8088内部寄存器结构共有13个16位寄存器和1个只用 了9位的16位标志寄存器。
④当EU执行完转移、调用和返回指令时,要清除指令队列缓冲器,
并要求BIU从新的地址重新执行。
10
3.1 8086/8088微处理器
2.地址加法器和段寄存器
8086有20根地址线,内部寄存器只有16位。
“段加偏移”技术
11
3.1 8086/8088微处理器
3. 16位指令指针(Instruction Pointer,IP) IP中含有BIU要取的下一条指令(字节)的偏移地址。 IP在程序运行中自动加1,指向要执行的下一条指令(字节)。 有些指令能使IP值改变或使IP值压进堆栈,或由堆栈弹出
15
3.1 8086/8088微处理器
1. 通用寄存器 ①数据寄存器 4个16位:AX、BX、CX、DX 8个8位:AH、 AL、 BH、 BL、 CH、 CL、 DH、 DL — 多数情况下,用于算术运算或逻辑运算指令中 — 有些指令中,有特定的用途
16
3.1 8086/8088微处理器
1. 通用寄存器(续1) ②指针寄存器和变址寄存器(16位,存放偏移地址) ✓指针寄存器(P组)
9
3.1 8086/8088微处理器
1.指令队列缓冲器(续1)
“先进先出”原则:按顺序存放,并按顺序取到EU中去执行。
①取指时,当指令队列缓冲器中存满1条指令,EU开始执行;
②指令队列缓冲器中只要空出2个(8088空出1个)指令字节时,BIU便 自动执行取指操作,直到填满时为止。
③EU执现行取指的存储器周期后的下一个存储器周期,对内存单元或I/O设 备进行存取操作,交换的数据经BIU由EU进行处理。
◆16位指令指针寄存器IP(Instruction Pointer) ◆6字节指令队列缓冲器 ◆20位地址加法器 ◆总线控制器
8
3.1 8086/8088微处理器
1.指令队列缓冲器
用于存放预取的指令 8086指令队列为6个字节,而8088指令队列为4个字节。 在执行指令的同时,从内存中取下面1条或几条指令,取来的指令依次 放在指令队列中。 采用“先进先出”的原则。
2
第三章 8086/8088微处理器及其系统
学习要求
透彻理解与熟练掌握8086/8088内部组成结构、 寄存器结构与总线周期等
深入理解存储器的分段设计 正确理解与熟练掌握物理地址和逻辑地址关系 理解堆栈及其操作 理解“段加偏移”寻址机制 掌握寻址方式 掌握6大类指令系统的基本方法
3
第三章 8086/8088微处理器及其系统
堆栈指针寄存器SP和基址指针寄存器BP。 当前堆栈段中数据所在的地址。 SP(Stack Pointer):给出栈顶的偏移地址(入栈和出栈 指令时)
8088是准16位微处理器,内部寄存器、运算器以及内部数 据总线都是16位,但外部数据总线为8条。
5
3.1 8086/8088微处理器
3.1.1 8086/8088CPU的内部结构
从功能上讲,可分为两个独立的部分,并行重叠操作:
6
3.1 8086/8088微处理器
总线接口单元(Bus Interface Unit,BIU):
恢复原址。
12
3.1 8086/8088微处理器
执行单元组成
16位算术逻辑单元(ALU)
算术、逻辑运算、计算16位偏移量
16位标志寄存器
CPU的运算状态特征或存放控制标志
数据暂存寄存器
协助ALU完成运算
通用寄存器组
4个16位数据寄存器,4个16位指针与变址寄存器
EU控制电路
控制、定时与状态逻辑电路
4
3.1 8086/8088微处理器
✓ 8086是Intel系列的16位微处理器。 ✓ 采用HMOS工艺,集成2.9万个晶体管,单一的+5V电源,40
条引脚,双列直插式封装,时钟频率5~10MHz,最快的指令 执行时间为0.4us。 ✓ 8086有16根数据线,20根地址线,寻址1MB的存储单元和 64KB的I/O端口。
负责完成CPU与存储器或I/O设备之间的数据传送,即 - BIU从内存预取指令送到指令队列缓冲器; - CPU执行指令时,BIU配合EU对指令的内存单元或I/O接口存
取数据。
执行单元(Execution Unit,EU):
负责执行指令,即 - 执行的指令从BIU的指令队列缓冲器中取得; -指令执行的结果或所需的数据,由EU向BIU发出请求; - 再由BIU对存储器或I/O接口进行存取。
7
3.1 8086/8088微处理器
总线接口单元组成
◆4个16位段地址寄存器 代码段寄存器(Code Segment):取得CPU所执行的指令。 数据段寄存器(Data Segment):存放程序所使用的数据。 堆栈段寄存器(Stack Segment):堆栈操作的执行地址在此段中。 附加段寄存器(Extra Segment):也用来存放数据的。