、微处理器的工作原理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2. 数据线:AD0~AD15(8086) 3. 控制信号线:
① ALE:地址锁存信号,高电平时AD0~AD15为地址信 息,输出;
② DEN:数据允许信号,输出; ③ DT/R:数据收发信号,输出; ④ RD:读信号,输出; ⑤ WR:写信号,输出;
8086的引脚
3. 控制信号线:
⑥ M/IO:存储器/输入输出控制信号,输出; ⑦ RESET:复位信号,输入; ⑧ NMI:不可屏蔽中断信号,输入; ⑨ INTR:中断信号,输入; ⑩ READY:数据准备好,输入; ⑪ CLK:时钟信号,输入; ⑫ MN/MX:最大模式、最小模式控制信号,输入。
存储空间:按8位字节组织
16位字(Word)数据存储在相邻单元中,按照“低位在前, 高位在后”的方式存放。
存储器地址
存储器内容
12000H
A1H
12001H
20H
12002H
10H
AX = 20A1H CX = 1020H
12003H
21H
C语言中变量的存储
int a = 0x2233;
60000H 33H 60001H 22H 60002H 60003H
标志
执行部件 EU
总线接口部件 BIU
8086的寄存器
1. 数据寄存器组: AX:累加器,BX:基址寄存器, CX:计数器,DX:数据寄存器
2. 指示寄存器和变址寄存器组 SI:源变址器, DI:目的变址器, SP:堆栈指示器,BP:基础指示器
3. 段寄存器 CS:代码段寄存器,DS:数据段寄存器, ES:辅助段寄存器,SS:堆栈段寄存器
8086的寄存器
4. 程序计数器(指令指针):IP
5. 标志寄存器:IF 进位标志:CF,零标志: ZF, 符号标志:SF,溢出标志:OF, 奇偶标志:PF,方向标志:DF, 中断标志:IF, 跟踪标志:TF, 辅助进位标志:AF。
存储器组织
8086CPU:20条地址线
1. 地址编号:00000H~FFFFFH; 2. 寻址能力:1M字节(Byte)。
1、地址码地址 寄存器地址总线
CPU
ALU
寄存器组
运算器
+1 程序计数器PC
2、寄存器数据 缓冲寄存器数据 总线
3、控制单元写 信号
地址寄存器
地
址
总
线
地
址
译
码
器
读/写
控制
微操作控制单元 指令译码器 指令寄存器
数据缓冲寄存器
数据总线
00 01 02
05H 05H 00H
03
06H
04
06H
05
08H
06
第二章 微处理器的工作 原理
1
2.1 CPU的基本结构和操作
ALU 寄存器组 运算器
+1 程序计数器PC
微操作控制单元 指令译码器 指令寄存器
地址寄存器
数据缓冲寄存器
地址总线
数据总线
取指令
1、PC地址地址 寄存器地址总线
2、控制单元读 信号
3、数据总线数 据缓冲寄存器指 令寄存器译码器 操作单元
ALU
寄存器组
运算器
+1 程序计数器PC
微操作控制单元 指令译码器 指令寄存器
2、控制单元读 信号
3、数据总线数 据缓冲寄存器寄 存器
地址寄存器
地
址
总
线
地
址
译
码
器
读/写
控制
数据缓冲寄存器
数据总线
00 01 02
05H 05H 00H
03
06H
04
06H
05
08H
06
07H
08
...
...
内存
写数据
07H
08
...
...
内存
2.2 8086 CPU的结构
20位
AH AL BH BL CH CL DH DL
SP BP DI SI
AX BX CX DX
通用寄存器组
16位
段寄存器
CS DS SS ES IP 内部暂存器
输入输出 控制电路
外
16位
部
总
运算寄存器
线
16位
ALU
执行部分 控制电路
123456 指令队列
2.4 8086的基本时序
指令周期:执行一条指令所需要的全部时间称为一个指令 周期;
总线周期:CPU的每一次信息输入/输出过程需要的时间 称为一个总线周期;
时钟周期:时钟脉冲的重复周期称为时钟周期。
时钟周期 时钟周期
总线周期
总线周期
空闲
指令周期
总线周期
空闲
总线读时序
总线读时序
ALE A19~A16
例1:
MOV
AX, [2000H]
;DS = 1000H
物理地址 = 1000H ╳10H + 2000H = 12000H
存储器地址的形成
例2:
MOV
CX, [BX] ;DS = 1000H, BX = 2001H
物理地址 = 1000H ╳10H + 2001H = 12001H
存储器分段:
存放在偏移寄存器中 – BX, SI, DI, SP, BP, IP 存放在存储器中(指令中的直接地址) – [1000H]
存储器地址的形成
20位地址的形成:
段地址╳10H + 偏移地址 = 20位物理地址
偏移地址 BX, SI, DI 直接地址
SP, BP IP
默认段寄存器 DS DS SS CS
long int a = 0x22334455;
60000H 55H 60001H 44H 60002H 33H 60003H 22H
存储器地址的形成
16位数据20位地址? 解决方案:2个16位数20位地址
段地址:偏移地址 20位地址 (逻辑地址) (物理地址)
段地址:存放在段寄存器中 – CS, DS, ES, SS 偏移地址:
数据段:段寄存器 DS; 代码段:段寄存器 CS; 辅助段:段寄存器 ES; 堆栈段:段寄存器 SS;
段内寻址范围:216 = 65536 (64K)
2.3 Intel 8086的引脚功能
14
8086的引脚
1. 地址线:AD0~AD15, A16~A19,20位地址总线,地 址线和数据线分时复用;
4、PC地址+1
CPU
ALU
寄存器组
运算器
+1 程序计数器PC
地址寄存器
地
址
总
线
地
址
译
码
器
读/写
控制
微操作控制单元 指令译码器 指令寄存器
数据缓冲寄存器
数据总线
00 01 02
05H 05H 00H
03
06H
04
来自百度文库
06H
05
08H
06
07H
08
...
...
内存
读数据
1、地址码地址 寄存器地址总线
CPU
AD15~AD0
8086
DEN DT/R
STB
8282
地址总线
A
OE B
8286
T
数据总线
数据线和地址线的分时复用
总线信号形成
8086最小系统应用图
总线写时序
总线写时序
有等待的总线读时序
2.5 总线接口部件(BIU)
一般方式
第一条指令 取指
执行
8086 第二条指令
取指
执行
第三条指令
① ALE:地址锁存信号,高电平时AD0~AD15为地址信 息,输出;
② DEN:数据允许信号,输出; ③ DT/R:数据收发信号,输出; ④ RD:读信号,输出; ⑤ WR:写信号,输出;
8086的引脚
3. 控制信号线:
⑥ M/IO:存储器/输入输出控制信号,输出; ⑦ RESET:复位信号,输入; ⑧ NMI:不可屏蔽中断信号,输入; ⑨ INTR:中断信号,输入; ⑩ READY:数据准备好,输入; ⑪ CLK:时钟信号,输入; ⑫ MN/MX:最大模式、最小模式控制信号,输入。
存储空间:按8位字节组织
16位字(Word)数据存储在相邻单元中,按照“低位在前, 高位在后”的方式存放。
存储器地址
存储器内容
12000H
A1H
12001H
20H
12002H
10H
AX = 20A1H CX = 1020H
12003H
21H
C语言中变量的存储
int a = 0x2233;
60000H 33H 60001H 22H 60002H 60003H
标志
执行部件 EU
总线接口部件 BIU
8086的寄存器
1. 数据寄存器组: AX:累加器,BX:基址寄存器, CX:计数器,DX:数据寄存器
2. 指示寄存器和变址寄存器组 SI:源变址器, DI:目的变址器, SP:堆栈指示器,BP:基础指示器
3. 段寄存器 CS:代码段寄存器,DS:数据段寄存器, ES:辅助段寄存器,SS:堆栈段寄存器
8086的寄存器
4. 程序计数器(指令指针):IP
5. 标志寄存器:IF 进位标志:CF,零标志: ZF, 符号标志:SF,溢出标志:OF, 奇偶标志:PF,方向标志:DF, 中断标志:IF, 跟踪标志:TF, 辅助进位标志:AF。
存储器组织
8086CPU:20条地址线
1. 地址编号:00000H~FFFFFH; 2. 寻址能力:1M字节(Byte)。
1、地址码地址 寄存器地址总线
CPU
ALU
寄存器组
运算器
+1 程序计数器PC
2、寄存器数据 缓冲寄存器数据 总线
3、控制单元写 信号
地址寄存器
地
址
总
线
地
址
译
码
器
读/写
控制
微操作控制单元 指令译码器 指令寄存器
数据缓冲寄存器
数据总线
00 01 02
05H 05H 00H
03
06H
04
06H
05
08H
06
第二章 微处理器的工作 原理
1
2.1 CPU的基本结构和操作
ALU 寄存器组 运算器
+1 程序计数器PC
微操作控制单元 指令译码器 指令寄存器
地址寄存器
数据缓冲寄存器
地址总线
数据总线
取指令
1、PC地址地址 寄存器地址总线
2、控制单元读 信号
3、数据总线数 据缓冲寄存器指 令寄存器译码器 操作单元
ALU
寄存器组
运算器
+1 程序计数器PC
微操作控制单元 指令译码器 指令寄存器
2、控制单元读 信号
3、数据总线数 据缓冲寄存器寄 存器
地址寄存器
地
址
总
线
地
址
译
码
器
读/写
控制
数据缓冲寄存器
数据总线
00 01 02
05H 05H 00H
03
06H
04
06H
05
08H
06
07H
08
...
...
内存
写数据
07H
08
...
...
内存
2.2 8086 CPU的结构
20位
AH AL BH BL CH CL DH DL
SP BP DI SI
AX BX CX DX
通用寄存器组
16位
段寄存器
CS DS SS ES IP 内部暂存器
输入输出 控制电路
外
16位
部
总
运算寄存器
线
16位
ALU
执行部分 控制电路
123456 指令队列
2.4 8086的基本时序
指令周期:执行一条指令所需要的全部时间称为一个指令 周期;
总线周期:CPU的每一次信息输入/输出过程需要的时间 称为一个总线周期;
时钟周期:时钟脉冲的重复周期称为时钟周期。
时钟周期 时钟周期
总线周期
总线周期
空闲
指令周期
总线周期
空闲
总线读时序
总线读时序
ALE A19~A16
例1:
MOV
AX, [2000H]
;DS = 1000H
物理地址 = 1000H ╳10H + 2000H = 12000H
存储器地址的形成
例2:
MOV
CX, [BX] ;DS = 1000H, BX = 2001H
物理地址 = 1000H ╳10H + 2001H = 12001H
存储器分段:
存放在偏移寄存器中 – BX, SI, DI, SP, BP, IP 存放在存储器中(指令中的直接地址) – [1000H]
存储器地址的形成
20位地址的形成:
段地址╳10H + 偏移地址 = 20位物理地址
偏移地址 BX, SI, DI 直接地址
SP, BP IP
默认段寄存器 DS DS SS CS
long int a = 0x22334455;
60000H 55H 60001H 44H 60002H 33H 60003H 22H
存储器地址的形成
16位数据20位地址? 解决方案:2个16位数20位地址
段地址:偏移地址 20位地址 (逻辑地址) (物理地址)
段地址:存放在段寄存器中 – CS, DS, ES, SS 偏移地址:
数据段:段寄存器 DS; 代码段:段寄存器 CS; 辅助段:段寄存器 ES; 堆栈段:段寄存器 SS;
段内寻址范围:216 = 65536 (64K)
2.3 Intel 8086的引脚功能
14
8086的引脚
1. 地址线:AD0~AD15, A16~A19,20位地址总线,地 址线和数据线分时复用;
4、PC地址+1
CPU
ALU
寄存器组
运算器
+1 程序计数器PC
地址寄存器
地
址
总
线
地
址
译
码
器
读/写
控制
微操作控制单元 指令译码器 指令寄存器
数据缓冲寄存器
数据总线
00 01 02
05H 05H 00H
03
06H
04
来自百度文库
06H
05
08H
06
07H
08
...
...
内存
读数据
1、地址码地址 寄存器地址总线
CPU
AD15~AD0
8086
DEN DT/R
STB
8282
地址总线
A
OE B
8286
T
数据总线
数据线和地址线的分时复用
总线信号形成
8086最小系统应用图
总线写时序
总线写时序
有等待的总线读时序
2.5 总线接口部件(BIU)
一般方式
第一条指令 取指
执行
8086 第二条指令
取指
执行
第三条指令