第2章_8088-8086微处理器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
总线 总线 控制 控制 逻辑
8086
通 用 寄 存 器 组
外 20位地址总线 部 16位数据总线 总 控制总线 控制总线 线
控制信号 控制信号 … EU 控制器 控制器
1 2 3 4 5 6
指令队列 指令队列
8088: 8位数据线 4个单元指令流队列
从功能上讲,可分为两个独立的部分,并行重叠操作
NUIST
EU功能为: a.从指令队列中取出指令代码,由EU控制器进行译码后产生 对应的控制信号到各部件完成指令规定的操作。 b.对操作数进行算术和逻辑运算,将运算结果的特征状态存 放在标志寄存器中。 c.当需要与主存或I/O端口传送数据时,EU向BIU发出命令, 并为BIU提供16位有效地址及传送的数据。
NUIST
NUIST
[例]:
已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H, DS段有一操作数,其偏移地址=0204H, 1)画出各段在内存中的分布 10550H 2)指出各段首地址 CS 3)该操作数的物理地址=?
250A0H 解: 各段分布及段首址见右图所示。 2EF00H
执行完现行取的存储器周期后的下一个存储器周期,对内 存单元或I/O设备进行存取操作,交换的数据经BIU由EU进 行处理。 ④当EU执行完转移、调用和返回指令时,要清除指令队列缓
冲器,并要求BIU从新的地址重新执行。
NUIST
执行部件EU
由一个16位算术逻辑运算部件ALU、EU 控制器、 一组通用寄存器和标志寄存器构成。
NUIST
并行工作方式:
8088CPU采用并行工作方式
EU
执行1 执行2
BIU
取指令2 取操作数 存结果
执行3
取指令3 取操作数 取指令4 忙碌 忙碌 忙碌
BUS
忙碌 忙碌 忙碌
NUIST
8088的流水线操作
8088 CPU包括两大部分:BIU和EU BIU不断地从存储器取指令送入IPQ,EU不断 地从IPQ取出指令执行 BIU和EU构成了一个简单的2工位流水线 指令预取队列IPQ是实现流水线操作的关键( 类似于工厂流水线的传送带) 新型CPU将一条指令划分成更多的阶段,以便可 以同时执行更多的指令 例如,PIII为14个阶段,P4为20个阶段(超级 流水线)
NUIST
2.2 8088/8086微处理器结构
2.2.1 功能结构—接口单元和执行单元 2.2.2 8088CPU的内部寄存器结构 2.2.3 存储器寻址
NUIST
2.2.1 功能结构—接口单元和执行单元
执行单元( EU) AH BH CH DH SP BP SI DI 暂存器 ALU 标志寄存器 AL BL CL DL AX BX CX DX 总线接口部件( BIU) 总线接口单元(BIU) 20位地址总线 地址加法器 段 寄 存 器 CS DS SS ES IP 16 位 数 据 线
执行单元组成
16位算术逻辑单元(ALU) 算术、逻辑运算,计算16位偏移量 16位标志寄存器 CPU的运算状态特征或存放控制标志 数据暂存寄存器 协助ALU完成运算
通用寄存器组
4个16位数据寄存器,4个16位指针与变址寄存器 EU控制电路 控制、定时与状态逻辑电路
NUIST
串行工作方式:
NUIST
总线接口部件组成
指令队列缓冲器 先进先出的原则,按顺序存放,并按顺序取到EU中去执行 ①当指令队列缓冲器中存满1条指令,EU开始执行。 ②指令队列缓冲器中只要空出1个(8086为2个)指令字节 时,BIU便自动执行取指操作,直到填满为止。
③EU执行指令时,如需对M或I/O设计存取数据时,BIU将在
问题:
F0H 12H 1BH 08H
8088的内部总线和内 部寄存器均为16位, 如何生成20位地址? 解决:存储器分段
NUIST
存储器分段
低地址
段基址 段基址 段基址 段基址
段i-1 段i 段i+1
最大64KB
高地址
NUIST
逻辑地址
段基地址和段内偏移组成了逻辑地址
段地址 偏移地址(偏移量)
状态标志:存放运算结果的特征 控制标志:控制某些特殊操作
6个状态标志位(CF,SF,AF,PF,OF,ZF) 3个控制标志位(IF,TF,DF)
NUIST
CF进位标志,记录运算时从高位有效位产生的进位或借位 PF奇偶标志,操作结果中有偶数个1时,PF=1,否则PF=0 AF辅助进位标志,记录运算时第3位和第4位之间的进位或借位。 ZF零标志,运算结果为0时,ZF=1,否则ZF=0
8088以前的CPU采用串行工作方式:
CPU BUS
取指令 1 执行 1 存结果 1 取指令 2 取操 作数2 执行 2
忙碌
忙碌
忙碌
忙碌
1)CPU执行指令时总线处于空闲状态 2)CPU访问存储器(存取数据或指令)时要等待总线操作的完成 缺点:CPU无法全速运行 解决:总线空闲时预取指令,使CPU需要指令时能立刻得到
SF符号标志,运算结果为负,SF=1,否则SF=0
OF溢出标志,运算结果超出机器能够表示的范围OF=1,否则, OF=0。 TF陷阱标志,TF=1,执行指令时产生单步中断。 IF中断标志,IF=1,则CPU允许可屏蔽中断,否则禁止。
DF方向标志,串处理时控制SI和DI递增或递减,DF=1,寄存器自 动递减,DF=0,则寄存器自动递增。 NUIST
总线接口部件(BIU)
包括 一组段寄存器,指令指针,6字节指令队列。(8088 是4字节),20位总线地址形成部件及总线控制逻辑。 主要任务: 完成CPU与主存或I/O端口之间的信息传送 功能:
a.从主存取指令送到指令队列中排队 b.从主存或I/O端口取操作数或存放运算结果 c.计算并形成访问主存的20位物理地址
NUIST
[例]:
当WR=1,RD=0,IO/M=0时,表示 CPU当前正在进行读存储器操作。
NUIST
READY信号(输入):
用于协调CPU与存储器、I/O接口之间的速度差异 READY信号由存储器或I/O接口发出。
READY=0时,CPU就在T3后插入TW周期,插入的 TW个数取决于READY何时变为高电平。
NUIST
中断请求和响应引脚
NMI(Non-Maskable Interrupt) 不可屏蔽中断请求,输入、上升沿有效 有效时,表示外界向CPU申请不可屏蔽中断 该请求的优先级别高于INTR,并且不能在CPU 内被屏蔽 当系统发生紧急情况时,可通过他向CPU申请 不可屏蔽中断服务
注:80486DX以后的CPU均将数学协处理器作为标准部 件集成到CPU内部 (书上有7点---这都是对当时而言)
NUIST
2.1
8088/8086微处理器特点
比较特点(差别):
指令预取队列:8088为4字节,8086为6字节 数据总线引脚:8088有8根,8086有16根
8088为准16位CPU,内部DB为16位,但外部 仅为8位,16位数据要分两次传送 本课程主要介绍8088(IBM PC采用)
NUIST
中断请求和响应引脚
INTR(Interrupt Request) 可屏蔽中断请求,输入、高电平有效 有效时,表示请求设备向CPU申请可屏蔽中 断 该请求的优先级别较低,并可通过关中断 指令CLI清除标志寄存器中的IF标志、从而 对中断请求进行屏蔽
NUIST
中断请求和响应引脚
INTA*(Interrupt Acknowledge) 可屏蔽中断响应,输出、低电平有效 有效时,表示来自INTR引脚的中断请求已 被CPU响应,CPU进入中断响应周期 中断响应周期是连续的两个,每个都发出 有效响应信号,以便通知外设他们的中断 请求已被响应、并令有关设备将中断向量 号送到数据总线
2.1
8088/8086 CPU的特点
采用并行流水线工作方式 20位地址,寻址1M空间,对内存空间实行分段管理: 每段容量不超过64KB 用段地址和段内偏移实现对1MB空间的寻址 设置地址段寄存器指示段的首地址 支持多处理器系统; 片内没有浮点运算部件,浮点运算由数学协处理器8087 支持(也可用软件模拟)
NUIST
结论 指令预取队列的存在使BIU和EU两个部 分可同时进行工作,从而
提高了CPU的效率; 降低了对存储器存取速度的要求
NUIຫໍສະໝຸດ BaiduT
2.2.2 8088\8086CPU 的内部寄存结构
AX BX CX DX
IP FR
指令指针寄存器 状态标志寄存器
控制寄存器 通 用 寄 存 器
AH BH CH DH
NUIST
8088主要的控制和状态信号
WR: 三态,输出。写命令信号; RD: 三态,输出。读命令信号; IO/M:三态,输出。指出当前访问的是存储器还 是I/O接口。高:I/O接口,低:内存 DEN: 三态,输出。低电平时,表示DB上的数据 有效; RESET:输入,为高时,CPU执行复位; ALE: 三态,输出。高:AB地址有效; DT/ R:三态,输出。数据传送方向,高:CPU输 出, 低:CPU输入
格式为:段地址:偏移地址 段首地址 ××× ••• ××× 0000
60000H 60002H 00H 12H
段基地址(16位) 物理地址=段基地址×16+偏移地址
NUIST
16位 段基址 +
0000
段内偏移(16位)
物理地址 20位
BIU中的地址加法器用来实现逻辑地址到物理 地址的变换 8088 可同时访问4个段,4个段寄存器指示了 每个段的基地址
NUIST
8088主要引线(最小模式下)
8088是工作在最小还是最大模式由MN/MX 端状态决定:MN/MX=0时工作于最大模式 ,反之工作于最小模式。 数据信号线(DB)与地址信号线(AB):
AD7~AD0:三态,地址/数据复用线。ALE有效时为地 址的低8位。地址信号有效时为输出,传送 数据信号时为双向。 A19~A16:三态,输出。高4位地址信号,与状态信号 S6-S3分时复用。 A15~A8 :三态,输出。输出8位地址信号。
DS ES
操作数的物理地址为:
250AH×10H+0204H = 252A4H 8FF00H
SS
NUIST
2.3
8088/8086微处理器工作模式和引脚
NUIST
2.3
8088/8086微处理器工作模式和引脚
最小模式(最大模式)
NUIST
引脚定义的方法
引脚定义的方法可大致分为::
每个引脚只传送一种信息(RD等); 引脚电平的高低不同的信号(IO/M等); CPU工作于不同方式有不同的名称和定义( WR/LOCK 等); 分时复用引脚(AD7 ~ AD0 等) ; 引脚的输入和输出分别传送不同的信息( RQ/GT等)。
AL BL CL DL
累加器 基地址寄存器 计数寄存器 数据寄存器
数据寄存器
DS CS SS ES
数据段 代码段 堆栈段 附加段
段寄存器
SP BP
栈指针寄存器 基址指针寄存器
指针寄存器
重点讲控制寄存器
DI SI
源变址寄存器 目的变址寄存器
变址寄存器
NUIST
控制寄存器
IP:指令指针寄存器,其内容为下一条要 执行的指令的偏移地址 FLAGS:标志寄存器
2.2.3
8088/8086存储器寻址
物理地址
8088:20根地址线,可寻址220(1MB)个 存储单元 CPU送到AB上的20位的地址称为物理地 址
NUIST
物理地址
物理地址 . . 60000H 60001H 60002H 60003H 60004H . . .
存储器的操作完全基 于物理地址。
NUIST
总线接口部件组成 4个16位段地址寄存器 代码段寄存器(Code segment),存放程序段的地址。 数据段寄存器(Data segment),存放当前数据段地址。
堆栈段寄存器(Stack segment),堆栈操作的执行地址在此段中 附加段寄存器(ES),用于字符串操作。 16位指令指针寄存器(Instruction Pointer) 6/4字节指令队列缓冲器 20位地址加法器 总线控制器
NUIST
第2章 8088/8086微处理器
主要内容 2.1 2.2 2.3 2.4 2.5 2.6 8088/8086微处理器特点 8088/8086微处理器结构 8088/8086微处理器工作模式和引脚 8088/8086的总线时序 微型计算机系统组成 高性能微机技术简介
NUIST
8086
通 用 寄 存 器 组
外 20位地址总线 部 16位数据总线 总 控制总线 控制总线 线
控制信号 控制信号 … EU 控制器 控制器
1 2 3 4 5 6
指令队列 指令队列
8088: 8位数据线 4个单元指令流队列
从功能上讲,可分为两个独立的部分,并行重叠操作
NUIST
EU功能为: a.从指令队列中取出指令代码,由EU控制器进行译码后产生 对应的控制信号到各部件完成指令规定的操作。 b.对操作数进行算术和逻辑运算,将运算结果的特征状态存 放在标志寄存器中。 c.当需要与主存或I/O端口传送数据时,EU向BIU发出命令, 并为BIU提供16位有效地址及传送的数据。
NUIST
NUIST
[例]:
已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H, DS段有一操作数,其偏移地址=0204H, 1)画出各段在内存中的分布 10550H 2)指出各段首地址 CS 3)该操作数的物理地址=?
250A0H 解: 各段分布及段首址见右图所示。 2EF00H
执行完现行取的存储器周期后的下一个存储器周期,对内 存单元或I/O设备进行存取操作,交换的数据经BIU由EU进 行处理。 ④当EU执行完转移、调用和返回指令时,要清除指令队列缓
冲器,并要求BIU从新的地址重新执行。
NUIST
执行部件EU
由一个16位算术逻辑运算部件ALU、EU 控制器、 一组通用寄存器和标志寄存器构成。
NUIST
并行工作方式:
8088CPU采用并行工作方式
EU
执行1 执行2
BIU
取指令2 取操作数 存结果
执行3
取指令3 取操作数 取指令4 忙碌 忙碌 忙碌
BUS
忙碌 忙碌 忙碌
NUIST
8088的流水线操作
8088 CPU包括两大部分:BIU和EU BIU不断地从存储器取指令送入IPQ,EU不断 地从IPQ取出指令执行 BIU和EU构成了一个简单的2工位流水线 指令预取队列IPQ是实现流水线操作的关键( 类似于工厂流水线的传送带) 新型CPU将一条指令划分成更多的阶段,以便可 以同时执行更多的指令 例如,PIII为14个阶段,P4为20个阶段(超级 流水线)
NUIST
2.2 8088/8086微处理器结构
2.2.1 功能结构—接口单元和执行单元 2.2.2 8088CPU的内部寄存器结构 2.2.3 存储器寻址
NUIST
2.2.1 功能结构—接口单元和执行单元
执行单元( EU) AH BH CH DH SP BP SI DI 暂存器 ALU 标志寄存器 AL BL CL DL AX BX CX DX 总线接口部件( BIU) 总线接口单元(BIU) 20位地址总线 地址加法器 段 寄 存 器 CS DS SS ES IP 16 位 数 据 线
执行单元组成
16位算术逻辑单元(ALU) 算术、逻辑运算,计算16位偏移量 16位标志寄存器 CPU的运算状态特征或存放控制标志 数据暂存寄存器 协助ALU完成运算
通用寄存器组
4个16位数据寄存器,4个16位指针与变址寄存器 EU控制电路 控制、定时与状态逻辑电路
NUIST
串行工作方式:
NUIST
总线接口部件组成
指令队列缓冲器 先进先出的原则,按顺序存放,并按顺序取到EU中去执行 ①当指令队列缓冲器中存满1条指令,EU开始执行。 ②指令队列缓冲器中只要空出1个(8086为2个)指令字节 时,BIU便自动执行取指操作,直到填满为止。
③EU执行指令时,如需对M或I/O设计存取数据时,BIU将在
问题:
F0H 12H 1BH 08H
8088的内部总线和内 部寄存器均为16位, 如何生成20位地址? 解决:存储器分段
NUIST
存储器分段
低地址
段基址 段基址 段基址 段基址
段i-1 段i 段i+1
最大64KB
高地址
NUIST
逻辑地址
段基地址和段内偏移组成了逻辑地址
段地址 偏移地址(偏移量)
状态标志:存放运算结果的特征 控制标志:控制某些特殊操作
6个状态标志位(CF,SF,AF,PF,OF,ZF) 3个控制标志位(IF,TF,DF)
NUIST
CF进位标志,记录运算时从高位有效位产生的进位或借位 PF奇偶标志,操作结果中有偶数个1时,PF=1,否则PF=0 AF辅助进位标志,记录运算时第3位和第4位之间的进位或借位。 ZF零标志,运算结果为0时,ZF=1,否则ZF=0
8088以前的CPU采用串行工作方式:
CPU BUS
取指令 1 执行 1 存结果 1 取指令 2 取操 作数2 执行 2
忙碌
忙碌
忙碌
忙碌
1)CPU执行指令时总线处于空闲状态 2)CPU访问存储器(存取数据或指令)时要等待总线操作的完成 缺点:CPU无法全速运行 解决:总线空闲时预取指令,使CPU需要指令时能立刻得到
SF符号标志,运算结果为负,SF=1,否则SF=0
OF溢出标志,运算结果超出机器能够表示的范围OF=1,否则, OF=0。 TF陷阱标志,TF=1,执行指令时产生单步中断。 IF中断标志,IF=1,则CPU允许可屏蔽中断,否则禁止。
DF方向标志,串处理时控制SI和DI递增或递减,DF=1,寄存器自 动递减,DF=0,则寄存器自动递增。 NUIST
总线接口部件(BIU)
包括 一组段寄存器,指令指针,6字节指令队列。(8088 是4字节),20位总线地址形成部件及总线控制逻辑。 主要任务: 完成CPU与主存或I/O端口之间的信息传送 功能:
a.从主存取指令送到指令队列中排队 b.从主存或I/O端口取操作数或存放运算结果 c.计算并形成访问主存的20位物理地址
NUIST
[例]:
当WR=1,RD=0,IO/M=0时,表示 CPU当前正在进行读存储器操作。
NUIST
READY信号(输入):
用于协调CPU与存储器、I/O接口之间的速度差异 READY信号由存储器或I/O接口发出。
READY=0时,CPU就在T3后插入TW周期,插入的 TW个数取决于READY何时变为高电平。
NUIST
中断请求和响应引脚
NMI(Non-Maskable Interrupt) 不可屏蔽中断请求,输入、上升沿有效 有效时,表示外界向CPU申请不可屏蔽中断 该请求的优先级别高于INTR,并且不能在CPU 内被屏蔽 当系统发生紧急情况时,可通过他向CPU申请 不可屏蔽中断服务
注:80486DX以后的CPU均将数学协处理器作为标准部 件集成到CPU内部 (书上有7点---这都是对当时而言)
NUIST
2.1
8088/8086微处理器特点
比较特点(差别):
指令预取队列:8088为4字节,8086为6字节 数据总线引脚:8088有8根,8086有16根
8088为准16位CPU,内部DB为16位,但外部 仅为8位,16位数据要分两次传送 本课程主要介绍8088(IBM PC采用)
NUIST
中断请求和响应引脚
INTR(Interrupt Request) 可屏蔽中断请求,输入、高电平有效 有效时,表示请求设备向CPU申请可屏蔽中 断 该请求的优先级别较低,并可通过关中断 指令CLI清除标志寄存器中的IF标志、从而 对中断请求进行屏蔽
NUIST
中断请求和响应引脚
INTA*(Interrupt Acknowledge) 可屏蔽中断响应,输出、低电平有效 有效时,表示来自INTR引脚的中断请求已 被CPU响应,CPU进入中断响应周期 中断响应周期是连续的两个,每个都发出 有效响应信号,以便通知外设他们的中断 请求已被响应、并令有关设备将中断向量 号送到数据总线
2.1
8088/8086 CPU的特点
采用并行流水线工作方式 20位地址,寻址1M空间,对内存空间实行分段管理: 每段容量不超过64KB 用段地址和段内偏移实现对1MB空间的寻址 设置地址段寄存器指示段的首地址 支持多处理器系统; 片内没有浮点运算部件,浮点运算由数学协处理器8087 支持(也可用软件模拟)
NUIST
结论 指令预取队列的存在使BIU和EU两个部 分可同时进行工作,从而
提高了CPU的效率; 降低了对存储器存取速度的要求
NUIຫໍສະໝຸດ BaiduT
2.2.2 8088\8086CPU 的内部寄存结构
AX BX CX DX
IP FR
指令指针寄存器 状态标志寄存器
控制寄存器 通 用 寄 存 器
AH BH CH DH
NUIST
8088主要的控制和状态信号
WR: 三态,输出。写命令信号; RD: 三态,输出。读命令信号; IO/M:三态,输出。指出当前访问的是存储器还 是I/O接口。高:I/O接口,低:内存 DEN: 三态,输出。低电平时,表示DB上的数据 有效; RESET:输入,为高时,CPU执行复位; ALE: 三态,输出。高:AB地址有效; DT/ R:三态,输出。数据传送方向,高:CPU输 出, 低:CPU输入
格式为:段地址:偏移地址 段首地址 ××× ••• ××× 0000
60000H 60002H 00H 12H
段基地址(16位) 物理地址=段基地址×16+偏移地址
NUIST
16位 段基址 +
0000
段内偏移(16位)
物理地址 20位
BIU中的地址加法器用来实现逻辑地址到物理 地址的变换 8088 可同时访问4个段,4个段寄存器指示了 每个段的基地址
NUIST
8088主要引线(最小模式下)
8088是工作在最小还是最大模式由MN/MX 端状态决定:MN/MX=0时工作于最大模式 ,反之工作于最小模式。 数据信号线(DB)与地址信号线(AB):
AD7~AD0:三态,地址/数据复用线。ALE有效时为地 址的低8位。地址信号有效时为输出,传送 数据信号时为双向。 A19~A16:三态,输出。高4位地址信号,与状态信号 S6-S3分时复用。 A15~A8 :三态,输出。输出8位地址信号。
DS ES
操作数的物理地址为:
250AH×10H+0204H = 252A4H 8FF00H
SS
NUIST
2.3
8088/8086微处理器工作模式和引脚
NUIST
2.3
8088/8086微处理器工作模式和引脚
最小模式(最大模式)
NUIST
引脚定义的方法
引脚定义的方法可大致分为::
每个引脚只传送一种信息(RD等); 引脚电平的高低不同的信号(IO/M等); CPU工作于不同方式有不同的名称和定义( WR/LOCK 等); 分时复用引脚(AD7 ~ AD0 等) ; 引脚的输入和输出分别传送不同的信息( RQ/GT等)。
AL BL CL DL
累加器 基地址寄存器 计数寄存器 数据寄存器
数据寄存器
DS CS SS ES
数据段 代码段 堆栈段 附加段
段寄存器
SP BP
栈指针寄存器 基址指针寄存器
指针寄存器
重点讲控制寄存器
DI SI
源变址寄存器 目的变址寄存器
变址寄存器
NUIST
控制寄存器
IP:指令指针寄存器,其内容为下一条要 执行的指令的偏移地址 FLAGS:标志寄存器
2.2.3
8088/8086存储器寻址
物理地址
8088:20根地址线,可寻址220(1MB)个 存储单元 CPU送到AB上的20位的地址称为物理地 址
NUIST
物理地址
物理地址 . . 60000H 60001H 60002H 60003H 60004H . . .
存储器的操作完全基 于物理地址。
NUIST
总线接口部件组成 4个16位段地址寄存器 代码段寄存器(Code segment),存放程序段的地址。 数据段寄存器(Data segment),存放当前数据段地址。
堆栈段寄存器(Stack segment),堆栈操作的执行地址在此段中 附加段寄存器(ES),用于字符串操作。 16位指令指针寄存器(Instruction Pointer) 6/4字节指令队列缓冲器 20位地址加法器 总线控制器
NUIST
第2章 8088/8086微处理器
主要内容 2.1 2.2 2.3 2.4 2.5 2.6 8088/8086微处理器特点 8088/8086微处理器结构 8088/8086微处理器工作模式和引脚 8088/8086的总线时序 微型计算机系统组成 高性能微机技术简介
NUIST