1. 首页
  2. 文档大全

西安交大微机原理04_1.

上传者:2****5 2022-06-30 15:47:06上传 PPT文件 3.18MB
西安交大微机原理04_1._第1页 西安交大微机原理04_1._第2页 西安交大微机原理04_1._第3页

《西安交大微机原理04_1.》由会员分享,可在线阅读,更多相关《西安交大微机原理04_1.(50页珍藏版)》请在文档大全上搜索。

1、第四章第四章 8 8X86X86微处理器和指令系统微处理器和指令系统主要内容主要内容 第第1 1节节 80 808686处理器处理器 第第2 2节节 80386/486 80386/486处理器处理器 第第3 3节节 寻址方式和指令系统寻址方式和指令系统第第1 1节节 80 808686处理器处理器1 180808686处理器结构特点处理器结构特点 流水处理流水处理存贮器分段存贮器分段80808686处理器结构框图处理器结构框图 总线接口部件总线接口部件BIUBIU nBIU的功能:的功能:形成访问存储器的物理地址(由地址加法器完成);形成访问存储器的物理地址(由地址加法器完成);访问存储器取

2、得指令访问存储器取得指令,暂存到指令队列中等待执行;暂存到指令队列中等待执行;访问存储器或访问存储器或I/O端口以读取操作数参与端口以读取操作数参与EU运算,或存放运算结果运算,或存放运算结果等等;产生外部总线的各种控制信号。产生外部总线的各种控制信号。nBIU内部有一个内部有一个6 6字节的指令队列。一旦指令队列中空出字节的指令队列。一旦指令队列中空出2 2个字节,个字节,BIU将自动进行读指令的操作以填满指令队列。将自动进行读指令的操作以填满指令队列。nBIU内部总线控制电路将内部总线控制电路将CPU的内部总线与的内部总线与CPU引脚所连接的外部总线引脚所连接的外部总线相连相连指令执行部件

3、指令执行部件EUEU nEU的功能是执行指令。一般情况下的功能是执行指令。一般情况下, 指令按照它存放的先后次序顺序指令按照它存放的先后次序顺序执行,执行,EU从指令队列中源源不断地取得指令代码,满负荷地连续执行从指令队列中源源不断地取得指令代码,满负荷地连续执行指令。指令。nEU中的算术逻辑运算单元中的算术逻辑运算单元ALU可完成可完成16位或位或8位的二进制运算,运算位的二进制运算,运算结果通过内部总线送到通用寄存器,或者送往结果通过内部总线送到通用寄存器,或者送往BIU的内部寄存器中,的内部寄存器中,等待写入存储器。等待写入存储器。nEU控制器负责从控制器负责从BIU的指令队列中取出指令

4、,并对指令译码,根据指的指令队列中取出指令,并对指令译码,根据指令要求向令要求向EU内部各部件发出控制命令以实现各条指令的功能。内部各部件发出控制命令以实现各条指令的功能。80888088与与8086 8086 CPUCPU的区别的区别(1 1)80888088与外部交换数据的数据总线宽度是与外部交换数据的数据总线宽度是8 8位,而位,而EUEU内部总线内部总线和寄存器仍是和寄存器仍是1616位,所以把位,所以把80888088称为称为准准1616位微处理器位微处理器。(2 2)8088 8088 BIUBIU中指令队列长度只有中指令队列长度只有4 4字节,只要队列中出现一个字节,只要队列中出

5、现一个空闲字节,空闲字节,BIUBIU就会自动地访问存储器,取指令来填满指令队列。就会自动地访问存储器,取指令来填满指令队列。二、二、8086/8088 8086/8088 CPUCPU的寄存器的寄存器通用数据寄存器:通用数据寄存器:存放运算原始存放运算原始/中间结果中间结果指针和变址寄存器:指针和变址寄存器:存放存储器地址存放存储器地址控制寄存器:控制寄存器:存放程序地址和其他控制信息存放程序地址和其他控制信息段寄存器:段寄存器:存放各段的信息存放各段的信息SP BP SI DI 15 15 0 累加器 基址寄存器 计数器 数据寄存器 堆栈指针 基址指针 源变址 目的变址 指令指针 标志寄存

6、器 代码段 数据段 堆栈段 附加段 通 用 数 据寄存器 指针和变址 寄存器 控制寄存器 段寄存器 CS DS SS ES IP FLAGS DX DH DL AX AH AL BX BH BL CX CH CL 15 通用寄存器组通用寄存器组8个个16位通用寄存器可分成两组:位通用寄存器可分成两组:一组由一组由AX、BX、CX和和DX构成,称作通用数据寄存器,构成,称作通用数据寄存器,用来存放用来存放16位的数据或地址。也可当作位的数据或地址。也可当作8个个8位寄存器使位寄存器使用。用。8位寄存器只能存放数据。位寄存器只能存放数据。AX 称为累加器称为累加器 ( =AH+AL )BX 称为基

7、址寄存器称为基址寄存器( =BH+BL )CX 称为计数寄存器称为计数寄存器( =CH+CL )DX 称为数据寄存器称为数据寄存器( =DH+DL ) 数据指针寄存器数据指针寄存器主要用来存放操作数的偏移地址(即操作数的段内地址)主要用来存放操作数的偏移地址(即操作数的段内地址)SP 称为堆栈指针寄存器称为堆栈指针寄存器BP 称为基址指针寄存器称为基址指针寄存器SI 称为源变址寄存器称为源变址寄存器DI 称为目的变址寄存器称为目的变址寄存器(变址寄存器内存放的地址在数据传送完成后,具有(变址寄存器内存放的地址在数据传送完成后,具有自动修改的功能。自动修改的功能。例如例如,传送,传送1字节数据后

8、把地址加字节数据后把地址加1,为下次传送做好准备,变址寄存器因此得名。为下次传送做好准备,变址寄存器因此得名。)访问存储器类型访问存储器类型隐含的隐含的段地址段地址可更换的可更换的段地址段地址段内偏移地址段内偏移地址EA的来源的来源取指令码取指令码CS无无IP堆栈操作堆栈操作SS无无SP字符字符串操串操作作源地址源地址DSC S、E S、SSSI目 的 地目 的 地址址ES无无DIBP用作基址寄存用作基址寄存器器SSCS、DS、ES由指令寻址方式求由指令寻址方式求得得EA一般数据存取一般数据存取DSCS、ES、SS由指令寻址方式求由指令寻址方式求得得EA 段寄存器段寄存器 8086/8088

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

10、内存中的一块存储区,用来存放专用数据。例如例如,调用子程序时的入口参数,返回地址等,这些数据都按照调用子程序时的入口参数,返回地址等,这些数据都按照“先进后出先进后出”的规则进行存取。的规则进行存取。SSSS存放堆栈段的段基址,存放堆栈段的段基址,SPSP存放当前堆栈栈顶的偏移地址。存放当前堆栈栈顶的偏移地址。数数 据据 段段附附 加加 段段堆堆 栈栈 段段代代 码码 段段D SXY-E SAB-SPC S指指 令令 1 1-SS指指 令令 2 2IP存储单元的物理地址和逻辑地址存储单元的物理地址和逻辑地址存储器地址表示方法:存储器地址表示方法:物理地址物理地址 用全部用全部2020位位地址线

11、表示地址线表示( (线性地址线性地址) )逻辑地址逻辑地址 “ “段基地址:偏移地址段基地址:偏移地址”( (分段地址分段地址) ) ( (3232位位) () (高高1616位位) () (低低1616位位) )2020位地址线位地址线存储空间可编址存储空间可编址2 22020字节字节1 1M M字节字节 将存储单元以将存储单元以8 8位的字节编址,位的字节编址,CPUCPU内的寄存器均为内的寄存器均为8 8和和1616位,因此位,因此在实际编程中使用的是逻辑地址。在实际编程中使用的是逻辑地址。1 1MBMB划分为若干个逻辑段,每段最长划分为若干个逻辑段,每段最长6464KB(=2KB(=2


文档来源:https://www.renrendoc.com/paper/212654924.html

文档标签:

下载地址