第2章 微处理器和指令系统2

更新时间:2023-07-22 22:43:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第2章 微处理器和指令系统2.1 2.2 8086/8088微处理器 80x86/Pentium 微处理器

2.3

8086/8088微处理器指令系统

2.1 8086/8088微处理器8086/8088的主要特性:Intel 8086/8088采用HMOS工艺制造,内含29000个晶体管,封装在40引脚双列直插式塑封管壳内。 数据总线: 8086:16位,8088:8位。 地址总线:20位,其中8086的低16位与数据总线复用; 8088的低8位与数据总线复用。

内存空间:20位地址线可直接寻址1MB存储空间。 寻址方式:8种寻址方式,提供了灵活的操作数存取方 法。2

指令系统:上百条指令除能完成数据传送、算数 运算、逻辑运算、控制转移和处理器控制功能外,

内部还设有硬件乘除法与串处理指令电路,可以对多种数据类型进行处理。

时钟频率:8088: 4.7MHz; 8086: 5MHz; 中断功能:可处理内部软件和外部硬件中断,中

断源多达256个。

一、 8086/8088的内部结构通 用 寄 存 器 AH AL BH BL CH CL DH DL SP BP DI SI 20位 CS DS SS ES IP

地址加法16位 输入/输出 控制电路

16位运算寄存器 ALU 标志 执行部件(EU) 执行 部分 控制 电路

内部暂存器

外 部 总 线

1 2 3 4 5 68位 指令队列缓冲器 总线接口部件(BIU)

1、总线接口单元 BIU(Bus Interface Unit)(1)功能:负责与存储器、I/O 端口传送数据。 总线接口部件要从内存取指令送到指令队列; CPU执行指令时,要配合执行部件从指定的内存 单元或者外设端口中取数据,将数据传送给执行部 件; 把执行部件的操作结果传送给指定的存储器或 I/O端口。5

(2)组成 6字节(8086)或4字节(8088)的指令队列, 指令指针寄存器IP:IP为一个16位的寄存器, 20位的地址加法器 段寄存器:CS、DS、SS、ES 总线控制逻辑 : 处理器与外界总线联系的转接电路。

(3) 两点说明 指令队列

8086 的指令队列为6个字节,8088 的指令 队列为4个字节。 指令执行顺序 顺序指令执行:指令队列存放执行指令后面的那一 条指令。 执行转移指令:BIU 清除指令队列中的内容,从新 的地址取入指令,立即送往执行单元。7

内存单元的物理地址PA的产生过程如图

所示偏移地址 段地址 段寄存器 左移4位

Σ

地址 产生器

物理地址

2、EU (Execution Unit)执行单元(1) 功能:负责指令的译码和执行。 (2) 组成: 16位的运算器ALU :包括数据的算数/逻辑运算;

16位的标志寄存器(PSW):9个标志位,其中6个条 件标志位用于存放结果状态; 暂存器:辅助ALU完成各种运算,暂存参与运算的数 据; 通用寄存器组 :数据寄存器 AX、BX、CX、DX, 专 用寄存器:BP、SP、SI、DI; EU控制电路 :接

受从总线接口单元的指令队列中取 来的指令代码,对其译码和向 EU 内各有关部分发出 9 时序命令信号。

(3) 寄存器功能:用来存放运算过程中所需要的操作数地址、 操作数及中间结果 。 组成:

通用寄存器 :8个16位的通用寄存器,通用数据寄存器分别是AX、BX、CX和DX,它们通 常可以用来存放16位的数据。这4个寄存器又可以分为 8个8位寄存器来使用,分别是AH、AL、BH、BL、CH、 CL、DH和DL,只能存放8位数据。 专用地址寄存器分别是BP、SP、SI和DI,也因为 其特殊用途被分别称为基址指针、堆栈指针、源变址 10 寄存器、目的变址寄存器。

寄存器的特殊用途寄存器名 AX,AL AH AL BX 特殊用途 在I/O指令中作数据寄存器 在乘法指令中被乘数或乘积,在除法指令中存放被除数或商 在LAHF指令中,作目的操作数寄存器 在XLAT指令作累加器 在间接寻址中作基址寄存器 在XLAT指令作基址寄存器 隐含性质 不能隐含 隐含 隐含 隐含 不能隐含 隐含

CXCL DX

在循环指令和串操作指令中作计数器在移位指令中作移位次数寄存器 在字乘法/除法指令中存放乘积高位/被除数高位或余数 在I/O指令中作间接寻址寄存器

隐含不能隐含 隐含 不能隐含

SIDI

在间接寻址中作变址寄存器 在串操作指令中作为源变址寄存器在间接寻址中作变址寄存器 在串操作指令中作为目的变址寄存器

不能隐含 隐含不能隐含 隐含

BPSP

在间接寻址中作基址指针在堆栈操作中作堆栈指针

不能隐含隐含11

段寄存器 :

CS:代码段寄存器,用于存放正在或正待处理 的一般代码段的起始地址的高16位。DS:数据段寄存器,用于存放正在或正待处理 的一般数据段的起始地址的高16位。 ES:附加数据段寄存器,用于存放正在或正待 处理的附加数据段的起始地址的高16位。 SS:堆栈数据段寄存器,用于存放正在或正待 处理的堆栈数据段的起始地址的高16位。 指令指针IP : IP指令指针,它的内容始终是下一条待执行指令 的起始偏移地址,与CS一起形成下一条待执行指令的 12 起始物理地址。

程序状态字PSW ; 16位程序状态字PSW,它有3个控制标志 (IF、DF、TF)和6个状态标志(SF、PF、ZF、 OF、CF、AF)。控制标志是用于控制CPU某方面 操作的标志,状态标志是部分指令执行结果的标 志。PSW寄存器的具体格式如图2.3所示:15 11 OF 10 9 8 7 SF 6 ZF 4 AF 2 PF 0 CF DF IF TF

IF:中断允许标志,用于控制CPU能否响 应可屏蔽中断请求,IF=1能够响应,IF=0不能响 应。

程序状态字PSW :

DF:方向标志,用于指示串操作时变址寄存器是 增量变化还是减量变化,DF=1向地址减小的方向变化, DF=0向地址增加的方向

变化。 TF:单步中断标志,TF=1程序执行当前指令后暂 停,TF=0程序执行当前指令后不暂停。 SF:符号标志,指令执行结果的最高二进制位是0 还是1,为0,则SF=0。代表正数;为1,则SF=1,代表 负数。 PF:奇偶校验标志,用来表示指令执行结果的低8 位中1的个数是奇数还是偶数,若为奇数个“1”则 PF=0,若为偶数个“1”则PF=1。 14

程序状态字PSW :OF:有符号数的溢出标志,用来表示指令执行 结果是否超出有符号数的表示范围,若超出则OF=1, 否则OF=0。 CF:进位/借位标志(无符号数的溢出标志), 用来表示指令执行结果的最高位是否有向更高位进位 或借位,若有则CF=1,同时也代表无符号数溢出;若 无则CF=0,也代表无符号数无溢出。 AF:辅助进位/借位标志,低4位二进制是否有 向高位进位或借位,若有则AF=1,否则AF=0,其主要 用于BCD修正运算。 15

复位时各内部寄存器的初值寄存器名称标志寄存器(PSW) 指令指针(IP) CS寄存器 DS寄存器 SS寄存器 ES寄存器 其它寄存器 指令队列

初值清零 0000H FFFFH 0000H 0000H 0000H 0000H 空

由表可见,复位时,代码段寄存器CS和 指令指针IP的值分别被初始化成FFFFH和 0000H。因此,8086/8088启动后从内存的 FFFF0H处开始执行指令。一般在FFFF0H 处放一条无条件转移指令,转移到系统程序 的入口处。 复位时,标志寄存器被清零。 在时序上,RESET信号从高到低的跳变 会触发CPU内部一个复位逻辑电路,经过7 个时钟周期之后,CPU就被启动而进入正常 工作,即从FFFF0H处开始执行程序。17

在一条指令的执行过程中可以取出下一条(或多条) 指令,指令在指令队列中排队; 在一条指令执行完成后,就可以立即执行下一条指 令,减少CPU为取指令而等待的时间,提高CPU的利用 率和整个运行速度。

8086/8088微处理器: BIU和EU分开,取指和执行可以重迭,大大减少了等 待取指所需的时间,提高CPU的利用率。 重迭操作技术:一方面提高了整个执行速率,另一 方面降低了与之相配的存储器的存取速度的要求。18

二、 8086/8088的工作模式和引脚功能1、 8086/8088的工作模式最小模式:是指系统中只有8086或8088一个微处理 器,所有总线控制信号均由CPU直接产生,最小模 式用在规模较小的8086/8088系统中。 最大模式:是指系统中包含两个或多个微处理器, 其中主处理器是8086或者8088,其余处理器称为协 处理器,系统的总线控制信号主要由总线控制器产 生,最大模式用于中、大型的8086/8088系统。19

2、8086的引脚 功能(带括号的 引脚功能为最 大模式下的功 能)

GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK G

ND

8086

VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD(RQ/GT0) HLDA(RQ/GT1) WR(LOCK) M/IO(S2) DT/R(S1) DEN (S0) ALE (QS0) INTA(QS1) TEST READY RESET20

8086是40引脚双列直插式(DIP)封装,其 引脚可分为5类: (1)地址线(20位):AD0~AD15,A16~A19。 其中AD0~AD15为地址/数据复用引脚,故为双向、 三态;A16~A19为地址/状态复用引脚,输出、三态。 此外,AD0还作为低8位数据选通信号使用(2)数据线(16位):AD0~AD15,与低16位地 址分时复用,双向、三态。

本文来源:https://www.bwwdw.com/article/8bzm.html

Top