X86微处理器和指令系统主要内容_第1页
X86微处理器和指令系统主要内容_第2页
X86微处理器和指令系统主要内容_第3页
X86微处理器和指令系统主要内容_第4页
X86微处理器和指令系统主要内容_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、X86微处理器和指令系统主要内容 X86X86微处理器和指令系统微处理器和指令系统 主要内容主要内容 第第1 1节节 80 808686处理器处理器 第第2 2节节 80386/486 80386/486处理器处理器 第第3 3节节 寻址方式和指令系统寻址方式和指令系统 X86微处理器和指令系统主要内容 第第1 1节节 80 808686处理器处理器 80808686处理器结构特点处理器结构特点 流水处理流水处理 存贮器分段存贮器分段 X86微处理器和指令系统主要内容 80808686处理器结构框图处理器结构框图 X86微处理器和指令系统主要内容 X86微处理器和指令系统主要内容 总线接口部件

2、总线接口部件BIUBIU nBIU的功能:的功能: 形成访问存储器的物理地址(由地址加法器完成);形成访问存储器的物理地址(由地址加法器完成); 访问存储器取得指令访问存储器取得指令,暂存到指令队列中等待执行;暂存到指令队列中等待执行; 访问存储器或访问存储器或I/O端口以读取操作数参与端口以读取操作数参与EU运算,或存放运算结果运算,或存放运算结果 等等; 产生外部总线的各种控制信号。产生外部总线的各种控制信号。 nBIU内部有一个内部有一个6 6字节的指令队列。一旦指令队列中空出字节的指令队列。一旦指令队列中空出2 2个字节,个字节,BIU 将自动进行读指令的操作以填满指令队列。将自动进行

3、读指令的操作以填满指令队列。 nBIU内部总线控制电路将内部总线控制电路将CPU的内部总线与的内部总线与CPU引脚所连接的外部总线引脚所连接的外部总线 相连相连 X86微处理器和指令系统主要内容 指令执行部件指令执行部件EUEU nEU的功能是执行指令。一般情况下的功能是执行指令。一般情况下, 指令按照它存放的先后次序顺序指令按照它存放的先后次序顺序 执行,执行,EU从指令队列中源源不断地取得指令代码,满负荷地连续执行从指令队列中源源不断地取得指令代码,满负荷地连续执行 指令。指令。 nEU中的算术逻辑运算单元中的算术逻辑运算单元ALU可完成可完成16位或位或8位的二进制运算,运算位的二进制运

4、算,运算 结果通过内部总线送到通用寄存器,或者送往结果通过内部总线送到通用寄存器,或者送往BIU的内部寄存器中,的内部寄存器中, 等待写入存储器。等待写入存储器。 nEU控制器负责从控制器负责从BIU的指令队列中取出指令,并对指令译码,根据指的指令队列中取出指令,并对指令译码,根据指 令要求向令要求向EU内部各部件发出控制命令以实现各条指令的功能。内部各部件发出控制命令以实现各条指令的功能。 X86微处理器和指令系统主要内容 80888088与与8086 8086 CPUCPU的区别的区别 (1 1)80888088与外部交换数据的数据总线宽度是与外部交换数据的数据总线宽度是8 8位,而位,而

5、EUEU内部总线内部总线 和寄存器仍是和寄存器仍是1616位,所以把位,所以把80888088称为准称为准1616位微处理器。位微处理器。 (2 2)8088 8088 BIUBIU中指令队列长度只有中指令队列长度只有4 4字节,只要队列中出现一个字节,只要队列中出现一个 空闲字节,空闲字节,BIUBIU就会自动地访问存储器,取指令来填满指令队列。就会自动地访问存储器,取指令来填满指令队列。 X86微处理器和指令系统主要内容 二、二、8086/8088 8086/8088 CPUCPU的寄存器的寄存器 通用数据寄存器:存放运算原始通用数据寄存器:存放运算原始/中间结果中间结果 指针和变址寄存器

6、:存放存储器地址指针和变址寄存器:存放存储器地址 控制寄存器:存放程序地址和其他控制信息控制寄存器:存放程序地址和其他控制信息 段寄存器:存放各段的信息段寄存器:存放各段的信息 X86微处理器和指令系统主要内容 SP BP SI DI 15 15 0 累加器 基址寄存器 计数器 数据寄存器 堆栈指针 基址指针 源变址 目的变址 指令指针 标志寄存器 代码段 数据段 堆栈段 附加段 通 用 数 据 寄存器 指针和变址 寄存器 控制寄存器 段寄存器 CS DS SS ES IP FLAGS DX DH DL AX AH AL BX BH BL CX CH CL 15 X86微处理器和指令系统主要内

7、容 通用寄存器组通用寄存器组 8个个16位通用寄存器可分成两组:位通用寄存器可分成两组: 一组由一组由AX、BX、CX和和DX构成,称作通用数据寄存器,构成,称作通用数据寄存器, 用来存放用来存放16位的数据或地址。也可当作位的数据或地址。也可当作8个个8位寄存器使位寄存器使 用。用。8位寄存器只能存放数据。位寄存器只能存放数据。 AX 称为累加器称为累加器 ( =AH+AL ) BX 称为基址寄存器称为基址寄存器( =BH+BL ) CX 称为计数寄存器称为计数寄存器( =CH+CL ) DX 称为数据寄存器称为数据寄存器( =DH+DL ) X86微处理器和指令系统主要内容 X86微处理器

8、和指令系统主要内容 数据指针寄存器数据指针寄存器 主要用来存放操作数的偏移地址(即操作数的段内地址)主要用来存放操作数的偏移地址(即操作数的段内地址) SP 称为堆栈指针寄存器称为堆栈指针寄存器 BP 称为基址指针寄存器称为基址指针寄存器 SI 称为源变址寄存器称为源变址寄存器 DI 称为目的变址寄存器称为目的变址寄存器 (变址寄存器内存放的地址在数据传送完成后,具有(变址寄存器内存放的地址在数据传送完成后,具有 自动修改的功能。例如,传送自动修改的功能。例如,传送1字节数据后把地址加字节数据后把地址加1, 为下次传送做好准备,变址寄存器因此得名。为下次传送做好准备,变址寄存器因此得名。) X

9、86微处理器和指令系统主要内容 访问存储器类型访问存储器类型隐含的隐含的 段地址段地址 可更换的可更换的 段地址段地址 段内偏移地址段内偏移地址EA 的来源的来源 取指令码取指令码CS无无IP 堆栈操作堆栈操作SS无无SP 字符字符 串操串操 作作 源地址源地址DSC S、E S、 SS SI 目 的 地目 的 地 址址 ES无无DI BP用作基址寄存用作基址寄存 器器 SSCS、DS、ES由指令寻址方式求由指令寻址方式求 得得EA 一般数据存取一般数据存取DSCS、ES、SS由指令寻址方式求由指令寻址方式求 得得EA X86微处理器和指令系统主要内容 段寄存器段寄存器 8086/8088 C

10、PU总线接口部件总线接口部件BIU中设置有中设置有4 4个个16位段寄存器:位段寄存器: 代码段寄存器代码段寄存器CS,数据段寄存器数据段寄存器DS,附加段寄存器附加段寄存器ES和堆栈段和堆栈段 寄存器寄存器SS。 代码段:存放程序指令。代码段:存放程序指令。CS中存放的是现在正在执行的程中存放的是现在正在执行的程 序段的段基址。程序代码超过序段的段基址。程序代码超过64K时,需要分成几个段存放。时,需要分成几个段存放。 数据段用于存放当前使用的数据。需要第二个数据段时可数据段用于存放当前使用的数据。需要第二个数据段时可 以使用附加段。以使用附加段。 堆栈段是内存中的一块存储区,用来存放专用数

11、据。例如,堆栈段是内存中的一块存储区,用来存放专用数据。例如, 调用子程序时的入口参数,返回地址等,这些数据都按照调用子程序时的入口参数,返回地址等,这些数据都按照 “先进后出先进后出”的规则进行存取。的规则进行存取。SSSS存放堆栈段的段基址,存放堆栈段的段基址,SPSP 存放当前堆栈栈顶的偏移地址。存放当前堆栈栈顶的偏移地址。 X86微处理器和指令系统主要内容 数数 据据 段段 附附 加加 段段 堆堆 栈栈 段段 代代 码码 段段 D S X Y - E S A B - SP C S 指指 令令 1 1 - SS 指指 令令 2 2 IP X86微处理器和指令系统主要内容 存储单元的物理地

12、址和逻辑地址存储单元的物理地址和逻辑地址 存储器地址表示方法:存储器地址表示方法: 物理地址物理地址 用全部用全部2020位地址线表示位地址线表示( (线性地址线性地址) ) 逻辑地址逻辑地址 “段基地址:偏移地址段基地址:偏移地址”( (分段地址分段地址) ) (32 (32位位) () (高高1616位位) () (低低1616位位) ) 2020位地址线位地址线存储空间可编址存储空间可编址2 220 20字节 字节1 1M M字节字节 将存储单元以将存储单元以8 8位的字节编址,位的字节编址,CPUCPU内的寄存器均为内的寄存器均为8 8和和1616位,因此位,因此 在实际编程中使用的是

13、逻辑地址。在实际编程中使用的是逻辑地址。 1 1MBMB划分为若干个逻辑段,每段最长划分为若干个逻辑段,每段最长6464KB(=2KB(=216 16B) B),并规定每个段的起并规定每个段的起 始的物理地址必须能被始的物理地址必须能被1616整除。即,整除。即,2020位起始的物理地址中最低位起始的物理地址中最低4 4位必位必 须为须为0 0,起始地址的高,起始地址的高1616位为此段的段基地址。位为此段的段基地址。 X86微处理器和指令系统主要内容 逻辑地址换算为物理地址的计算方法逻辑地址换算为物理地址的计算方法 物理地址段基地址物理地址段基地址1616偏移地址偏移地址 同一个逻辑段内,偏

14、移地址可取值同一个逻辑段内,偏移地址可取值0 0FFFFHFFFFH。 16位段基址位段基址 16位段基址位段基址 C018H 20位物理地址位物理地址 0000 xx 段寄存器段寄存器 段起始地址段起始地址C0180H 偏移地址偏移地址 FE7FH CFFFFH D017FH段末地址段末地址 FFFFH C0180H FE7FH CFFFFH 偏移地址偏移地址 X86微处理器和指令系统主要内容 代码段寄存器代码段寄存器 6000H 数据段寄存器数据段寄存器 AE00H 堆栈段寄存器堆栈段寄存器 A000H 附加段寄存器附加段寄存器 8000H 代码分段代码分段 附加分段附加分段 堆栈分段堆栈

15、分段 数据分段数据分段 64KB 64KB 64KB 64KB 60000H 6FFFFH 80000H 8FFFFH A0000H AE000H AFFFFH BDFFFH 四个段寄存器的段基址可以有相互重叠区,也可以指向同一个四个段寄存器的段基址可以有相互重叠区,也可以指向同一个64KB空间。空间。 X86微处理器和指令系统主要内容 标志寄存器标志寄存器FLAGS FLAGS 8086/8088 CPU 8086/8088 CPU中设置了一个中设置了一个1616位标志寄存器位标志寄存器FLAGSFLAGS,用用 来存放运算结果的特征和控制标志,其格式如下:来存放运算结果的特征和控制标志,其

16、格式如下: 状态标志,用来表示运算结果的特征,包括状态标志,用来表示运算结果的特征,包括CF、PF、AF、ZF、SF和和OF; 控制标志,用来控制控制标志,用来控制CPU的操作,包括的操作,包括IF、DF和和TF。 X86微处理器和指令系统主要内容 (1)ZF(Zero Flag) 零标志位。零标志位。 (2)SF(Sign Flag) 符号标志位。符号标志位。 (3)PF(Parity Flag) 奇偶标志位。奇偶标志位。PF=1,表示本次运算结果的低八位中有表示本次运算结果的低八位中有 偶数个偶数个“1”;PF=0,表示有奇数表示有奇数“1”。PF可以用来进行奇偶校验,或者用可以用来进行奇

17、偶校验,或者用 来生成奇偶校验位。来生成奇偶校验位。 (4)AF(Auxiliary Carry Flag) 辅助进位标志位。这个标志位只在辅助进位标志位。这个标志位只在BCD数运数运 算中起作用。算中起作用。 (5)CF(Carry Flag) 进位标志位。进位标志位。 进行二个无符号数加法或减法运算后,如果进行二个无符号数加法或减法运算后,如果CF=1,表示运算的结果超出了该表示运算的结果超出了该 字长能够表示的数据范围。例如,执行字长能够表示的数据范围。例如,执行8位数据运算后,位数据运算后,CF=1表示加法结果超表示加法结果超 过了过了255,或者是减法得到的差小于零。,或者是减法得到

18、的差小于零。 进行有符号数运算时,进行有符号数运算时,CF对运算结果没有直接意义。对运算结果没有直接意义。 (6)OF(Overflow Flag) 溢出标志位。例如,进行溢出标志位。例如,进行8位运算时,位运算时,OF=1表示运表示运 算结果大于算结果大于+127 或小于或小于128。OF标志对无符号数的运算结果没有意义。标志对无符号数的运算结果没有意义。 状态标志状态标志 X86微处理器和指令系统主要内容 上述运算后:上述运算后: CF = C7 (D7位上的进位)位上的进位)= 0 (无进位);(无进位); AF = C3 (D3位上的进位)位上的进位) = 1(有辅助进位);(有辅助进

19、位); PF = 1(运算结果有运算结果有4个个1);); SF = D7 = 1(运算结果符号位为运算结果符号位为1);); OF = C7 C6 = 0 1 = 1 (有溢出);有溢出); ZF = 0 (运算结果不为运算结果不为0)。)。 ADD AL, AH X86微处理器和指令系统主要内容 上述运算后:上述运算后: CF = 1 (有借位);有借位); AF = 1 (有辅助进位);有辅助进位); PF = 1 (运算结果中有运算结果中有6个个1);); SF = 1 (符号位为符号位为1);); OF = 0 (无溢出);无溢出); ZF = 0 (运算结果不为运算结果不为0)。)

20、。 SUB AL, AH X86微处理器和指令系统主要内容 状态标志的控制作用状态标志的控制作用 X86微处理器和指令系统主要内容 (1)IF(Interrupt Flag) 中断允许标志位。中断允许标志位。IF=1,表示允许表示允许 CPU响应可屏蔽中断。响应可屏蔽中断。 IF标志可通过标志可通过STI指令置位(置指令置位(置1),通过),通过CLI指令复位(清零)。指令复位(清零)。 (2)DF(Direction Flag) 方向标志位。在串操作指令中,若方向标志位。在串操作指令中,若 DF=0,表示串操作指令执行后地址指针自动增量,串操作由低地表示串操作指令执行后地址指针自动增量,串操

21、作由低地 址向高地址进行;址向高地址进行;DF=1,表示地址指针自动减量,串操作由高地表示地址指针自动减量,串操作由高地 址向低地址进行。址向低地址进行。 DF标志位可通过标志位可通过STD指令置位,通过指令置位,通过CLD指令复位。指令复位。 (3)TF(Trap Flag) 单步标志位。单步标志位。TF=1,每条指令执行结束都每条指令执行结束都 会发生会发生“单步单步”中断,用于程序调试中断,用于程序调试 控制标志控制标志 X86微处理器和指令系统主要内容 地址地址/数据线数据线 高位地址线高位地址线 非屏蔽中断非屏蔽中断 可屏蔽中断可屏蔽中断 最小最大模式控制最小最大模式控制 MN/MX

22、=1,最小模式最小模式 MN/MX=0,最大模式最大模式 读信号读信号 总线保持请求信号总线保持请求信号总线保持响应信号总线保持响应信号 写信号写信号 存储器存储器/IO控制信号控制信号 M/IO=1,选中存储器选中存储器 M/IO=0,选中选中IO接口接口 数据发送数据发送/接收信号接收信号 DT/R=1,发送发送 DT/R=0,接收接收 数据允许信号数据允许信号 地址锁存信号地址锁存信号 中断响应信号中断响应信号 测试信号测试信号:执行执行WAIT指令,指令, CPU处于空转等待处于空转等待; TEST有效时有效时,结束等待状态。结束等待状态。 准备好信号准备好信号:表示内存表示内存 或或

23、I/O设备准备好,设备准备好, 可以进行数据传输。可以进行数据传输。 复位信号复位信号 三三. 8086/8088 引脚引脚 X86微处理器和指令系统主要内容 X86微处理器和指令系统主要内容 8086/8088 CPU有两种不同的工作模式(最小模式和最大模有两种不同的工作模式(最小模式和最大模 式)。式)。8条引脚(条引脚(2431)在两种工作模式中,具有不同的功能,)在两种工作模式中,具有不同的功能, 最大模式下被重新定义的控制信号写在括号中。最大模式下被重新定义的控制信号写在括号中。 引脚信号的传输有以下几种类型:引脚信号的传输有以下几种类型: 输出:信号从输出:信号从CPU向外部传送;

24、向外部传送; 输入:信号从外部送入输入:信号从外部送入CPU; 双向:信号有时从外部送入双向:信号有时从外部送入CPU,有时从有时从CPU向外部传送;向外部传送; 三态:除了高电平、低电平两种状态之外,三态:除了高电平、低电平两种状态之外,CPU内部还可内部还可 以通过一个大的电阻阻断内外信号的传送,以通过一个大的电阻阻断内外信号的传送,CPU内部的状态内部的状态 与外部相互隔离,称为与外部相互隔离,称为“悬浮态悬浮态”。 X86微处理器和指令系统主要内容 AD15AD0(Address/Data)分时复用,双向、三态)分时复用,双向、三态 A19/S6A16/S3(Address/Statu

25、s)分时复用,输出、三态)分时复用,输出、三态 /BHE(Bus High Enable)输出、三态、低电平有效)输出、三态、低电平有效 ALE(Address Latch Enable)输出、三态、高电平有效)输出、三态、高电平有效 M/ IO(Input and Output/Memory)输出、三态)输出、三态 /WR ,/RD (Write /Read)输出、三态、低电平有效)输出、三态、低电平有效 READY (Ready)输入、高电平有效)输入、高电平有效 /DEN(Data Enable)输出、三态、低电平有效)输出、三态、低电平有效 /DT/R(Data Transmit/Re

26、ceive)输出、三态)输出、三态 INTR(Interrupt Request)/ INTA(Interrupt Acknowledge) NMI(Non-Maskable Interrupt) HOLD/HLDA (总线请求总线请求/总线请求响应)总线请求响应) CLK,RESET (时钟时钟 )(复位)(复位) X86微处理器和指令系统主要内容 X86微处理器和指令系统主要内容 X86微处理器和指令系统主要内容 X86微处理器和指令系统主要内容 四四. 8086最小模式典型配置最小模式典型配置 X86微处理器和指令系统主要内容 BHE A0 操作操作数据引脚数据引脚 0 0 从偶地址写一

27、个字从偶地址写一个字AD15AD0 1 0 从偶地址读从偶地址读 /写一个字节写一个字节A D7AD0 0 1 从奇地址读从奇地址读 /写一个字节写一个字节AD15AD8 0 1 从奇地址读从奇地址读 /写一个字写一个字AD15AD8 1 0 AD7 AD0 地址锁存地址锁存 数据缓冲数据缓冲 D Q CK ADX ALE AX /DT/R+/DEN DT/R+/DEN X86微处理器和指令系统主要内容 五五. 8086/8088 系统时序系统时序 X86微处理器和指令系统主要内容 A19/S6A16/S3 T4T3T2T1 ALE CLK AD15AD0A7A0输出数据输出数据 A19A16

28、 S6S3 READY 高电平高电平 M /IO WR* /BHE /BHE X86微处理器和指令系统主要内容 T1状态状态 输出输出20位存储器地址位存储器地址A19A0 M/ IO 输出高电平,表示存储器操作;输出高电平,表示存储器操作; ALE输出正脉冲,表示复用总线输出地址输出正脉冲,表示复用总线输出地址 T2状态状态 输出控制信号输出控制信号 /WR T3和和Tw状态状态检测数据传送是否能够完成检测数据传送是否能够完成 T4状态状态 读写数据,完成数据传送读写数据,完成数据传送 X86微处理器和指令系统主要内容 总线请求与响应时序总线请求与响应时序 X86微处理器和指令系统主要内容

29、系统复位与启动系统复位与启动 RESET 得到复位信号 标志寄存器标志寄存器: 清零清零 指令指针(指令指针(IP): 0000H CS : FFFFH DS、ES、 、SS : 0000H 指令队列指令队列: 空空 其它寄存器其它寄存器 : 0000 H 故程序起始地址为故程序起始地址为 FFFF:0000 X86微处理器和指令系统主要内容 第第2节节 80386/486处理器处理器 微处理器微处理器首批首批 生产生产 时时 间间 性能性能 ( MIP S) 首批首批 CPU 频率频率 MHz 集成度集成度 (百万百万 ) 寄存寄存 器宽器宽 度度 外部外部 数据数据 总线总线 宽度宽度 最大寻最大寻 址空间址空间 内含高速内含高速 缓存大小缓存大小 808619780.880.12916161MB无无 8028619822.712.50.134161616MB无无 80386DX19856.0200.27532324GB无无 80486DX198920251.232324GB8KB L1 Pentium1993100603.132644GB16KB L1 Pentium Pro19954402005.5326464GB16KB L1 256KB 或

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论