西安交大微机原理04_1讲解

上传人:最**** 文档编号:115674048 上传时间:2019-11-14 格式:PPT 页数:50 大小:3.18MB
返回 下载 相关 举报
西安交大微机原理04_1讲解_第1页
第1页 / 共50页
西安交大微机原理04_1讲解_第2页
第2页 / 共50页
西安交大微机原理04_1讲解_第3页
第3页 / 共50页
西安交大微机原理04_1讲解_第4页
第4页 / 共50页
西安交大微机原理04_1讲解_第5页
第5页 / 共50页
点击查看更多>>
资源描述

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

1、第四章8X86微处理器和指令系统主要内容第1节8086处理器第2节80386486处理器第3节寻址方式和指令系统第1节8086处理器一8086处理器结构特点流水处理一存贮器分段8086处理器结构框图总线接口部件BIUnBIU的功能:形成访问存储器的物理地址(由地址加法器完成);访问存储器取得指令暂存到指令队列中等待执行;访问存储器或IO端口以读取操作数参与EU运算,或存放运算结果等产生外部总线的各种控制信号。nBIU内部有一个6字节的指令队列。一旦指令队列中空出2个字节,BIU将自动进行读指令的操作以填满指令队列。nBIU内部总线控制电路将CPU的内部总线与CPU引脚所连接的外部总线相连指令执

2、行部件EUnEU的功能是执行指令。一般情况下指令按照它存放的先后次序顺序执行,EU从指令队列中源源不断地取得指令代码,满负荷地连续执行指令。nEU中的算术逻辑运算单元ALU可完成16位或8位的二进制运算,运算结果通过内部总线送到通用寄存器,或者送往BIU的内部寄存器中,等待写入存储器。nEU控制器负责从BIU的指令队列中取出指令,并对指令译码,根据指令要求向EU内部各部件发出控制命令以实现各条指令的功能。8088与8086CPU的区别(1)8088与外部交换数据的数据总线宽度是8位,而EU内部总线和寄存器仍是16位,所以把8088称为准16位微处理器。(2)8088BIU中指令队列长度只有4字

3、节,只要队列中出现一个空闲字节,BIU就会自动地访问存储器,取指令来填满指令队列。二、80868088CPU的寄存器通用数据寄存器:存放运算原始中间结果指针和变址寄存器:存放存储器地址控制寄存器:存放程序地址和其他控制信息段寄存器:存放各段的信息通用寄存器组8个16位通用寄存器可分成两组:一组由AX、BX、CX和DX构成,称作通用数据寄存器,用来存放16位的数据或地址。也可当作8个8位寄存器使用。8位寄存器只能存放数据。AX称为累加器(=AH+AL)BX称为基址寄存器(=BH+BL)CX称为计数寄存器(=CH+CL)DX称为数据寄存器(=DH+DL)数据指针寄存器主要用来存放操作数的偏移地址(

4、即操作数的段内地址)SP称为堆栈指针寄存器BP称为基址指针寄存器SI称为源变址寄存器DI称为目的变址寄存器(变址寄存器内存放的地址在数据传送完成后,具有自动修改的功能。例如,传送1字节数据后把地址加1,为下次传送做好准备,变址寄存器因此得名。)访问存储器类型隐含的段地址可更换的段地址段内偏移地址EA的来源取指令码CS无IP堆栈操作SS无SP字符串操作源地址DSCS、ES、SSSI目的地址ES无DIBP用作基址寄存器SSCS、DS、ES由指令寻址方式求得EA一般数据存取DSCS、ES、SS由指令寻址方式求得EA段寄存器80868088CPU总线接口部件BIU中设置有4个16位段寄存器:代码段寄存

5、器CS,数据段寄存器DS,附加段寄存器ES和堆栈段寄存器SS。代码段:存放程序指令。CS中存放的是现在正在执行的程序段的段基址。程序代码超过64K时,需要分成几个段存放。数据段用于存放当前使用的数据。需要第二个数据段时可以使用附加段。堆栈段是内存中的一块存储区,用来存放专用数据。例如,调用子程序时的入口参数,返回地址等,这些数据都按照“先进后出”的规则进行存取。SS存放堆栈段的段基址,SP存放当前堆栈栈顶的偏移地址。存储单元的物理地址和逻辑地址存储器地址表示方法:物理地址用全部20位地址线表示(线性地址)逻辑地址“段基地址:偏移地址”(分段地址)(32位)(高16位)(低16位)20位地址线存

6、储空间可编址220字节1M字节将存储单元以8位的字节编址,CPU内的寄存器均为8和16位,因此在实际编程中使用的是逻辑地址。1MB划分为若干个逻辑段,每段最长64KB(=216B),并规定每个段的起始的物理地址必须能被16整除。即,20位起始的物理地址中最低4位必须为0,起始地址的高16位为此段的段基地址。逻辑地址换算为物理地址的计算方法物理地址段基地址16偏移地址同一个逻辑段内,偏移地址可取值0FFFFH。16位段基址16位段基址C018H20位物理地址0000xx段寄存器段起始地址C0180H偏移地址FE7FHCFFFFHD017FH段末地址FFFFHC0180HFE7FHCFFFFH偏移

7、地址代码段寄存器6000H数据段寄存器AE00H堆栈段寄存器A000H附加段寄存器8000H代码分段附加分段堆栈分段数据分段64KB64KB64KB64KB60000H6FFFFH80000H8FFFFHA0000HAE000HAFFFFHBDFFFH四个段寄存器的段基址可以有相互重叠区,也可以指向同一个64KB空间。标志寄存器FLAGS80868088CPU中设置了一个16位标志寄存器FLAGS,用来存放运算结果的特征和控制标志,其格式如下:状态标志,用来表示运算结果的特征,包括CF、PF、AF、ZF、SF和OF;控制标志,用来控制CPU的操作,包括IF、DF和TF。(1)ZF(ZeroFl

8、ag)零标志位。(2)SF(SignFlag)符号标志位。(3)PF(ParityFlag)奇偶标志位。PF=1,表示本次运算结果的低八位中有偶数个“1”;PF=0,表示有奇数“1”。PF可以用来进行奇偶校验,或者用来生成奇偶校验位。(4)AF(AuxiliaryCarryFlag)辅助进位标志位。这个标志位只在BCD数运算中起作用。(5)CF(CarryFlag)进位标志位。进行二个无符号数加法或减法运算后,如果CF=1,表示运算的结果超出了该字长能够表示的数据范围。例如,执行8位数据运算后,CF=1表示加法结果超过了255,或者是减法得到的差小于零。进行有符号数运算时,CF对运算结果没有直

9、接意义。(6)OF(OverflowFlag)溢出标志位。例如,进行8位运算时,OF=1表示运算结果大于+127或小于128。OF标志对无符号数的运算结果没有意义。状态标志上述运算后:CF=C7(D7位上的进位)=0(无进位);AF=C3(D3位上的进位)=1(有辅助进位);PF=1(运算结果有4个1);SF=D7=1(运算结果符号位为1);OF=C7C6=01=1(有溢出);ZF=0(运算结果不为0)。ADDAL,AH上述运算后:CF=1(有借位);AF=1(有辅助进位);PF=1(运算结果中有6个1);SF=1(符号位为1);OF=0(无溢出);ZF=0(运算结果不为0)。SUBAL,AH

10、状态标志的控制作用(1)IF(InterruptFlag)中断允许标志位。IF=1,表示允许CPU响应可屏蔽中断。IF标志可通过STI指令置位(置1),通过CLI指令复位(清零)。(2)DF(DirectionFlag)方向标志位。在串操作指令中,若DF=0,表示串操作指令执行后地址指针自动增量,串操作由低地址向高地址进行;DF=1,表示地址指针自动减量,串操作由高地址向低地址进行。DF标志位可通过STD指令置位,通过CLD指令复位。(3)TF(TrapFlag)单步标志位。TF=1,每条指令执行结束都会发生“单步”中断,用于程序调试控制标志地址数据线高位地址线非屏蔽中断可屏蔽中断最小最大模式

11、控制MNMX=1最小模式MNMX=0最大模式读信号总线保持请求信号总线保持响应信号写信号存储器IO控制信号MIO=1选中存储器MIO=0选中IO接口数据发送接收信号DTR=1发送DTR=0接收数据允许信号地址锁存信号中断响应信号测试信号:执行WAIT指令,CPU处于空转等待TEST有效时结束等待状态。准备好信号:表示内存或IO设备准备好,可以进行数据传输。复位信号三.80868088引脚80868088CPU有两种不同的工作模式(最小模式和最大模式)。8条引脚(2431)在两种工作模式中,具有不同的功能,最大模式下被重新定义的控制信号写在括号中。引脚信号的传输有以下几种类型:输出:信号从CPU

12、向外部传送;输入:信号从外部送入CPU;双向:信号有时从外部送入CPU,有时从CPU向外部传送;三态:除了高电平、低电平两种状态之外,CPU内部还可以通过一个大的电阻阻断内外信号的传送,CPU内部的状态与外部相互隔离,称为“悬浮态”。AD15AD0(AddressData)分时复用,双向、三态A19S6A16S3(AddressStatus)分时复用,输出、三态BHE(BusHighEnable)输出、三态、低电平有效ALE(AddressLatchEnable)输出、三态、高电平有效MIO(andOutputMemory)输出、三态WR,RD(WriteRead)输出、三态、低电平有效REA

13、DY(Ready)输入、高电平有效DEN(DataEnable)输出、三态、低电平有效DTR(DataTransmitReceive)输出、三态INTR(InterruptRequest)INTA(InterruptAcknowledge)NMI(Non-MaskableInterrupt)HOLDHLDA(总线请求总线请求响应)CLK,RESET(时钟)(复位)四.8086最小模式典型配置BHEA0操作数据引脚00从偶地址写一个字AD15AD010从偶地址读写一个字节AD7AD001从奇地址读写一个字节AD15AD801从奇地址读写一个字AD15AD810AD7AD0地址锁存数据缓冲DQCK

14、ADXALEAXDTR+DENDTR+DEN五.80868088系统时序A19S6A16S3T4T3T2T1ALECLKAD15AD0A7A0输出数据A19A16S6S3READY高电平MIOWRBHEBHET1状态输出20位存储器地址A19A0MIO输出高电平,表示存储器操作;ALE输出正脉冲,表示复用总线输出地址T2状态输出控制信号WRT3和Tw状态检测数据传送是否能够完成T4状态读写数据,完成数据传送总线请求与响应时序系统复位与启动RESET得到复位信号标志寄存器:清零指令指针(IP):0000HCS:FFFFHDS、ES、SS:0000H指令队列:空其它寄存器:0000H故程序起始地址

15、为FFFF:0000第2节80386486处理器微处理器首批生产时间性能(MIPS)首批CPU频率MHz集成度(百万)寄存器宽度外部数据总线宽度最大寻址空间内含高速缓存大小808619780.880.12916161MB无8028619822.712.50.134161616MB无80386DX19856.0200.27532324GB无80486DX198920251.232324GB8KBL1Pentium1993100603.132644GB16KBL1PentiumPro19954402005.5326464GB16KBL1256KB或512KBL2PentiumII199746626

16、67326464GB32KBL1256KB或512KBL2PentiumIII199910005008.2326464GB32KBL1512KBL2PentiumIV20001000注:MIPS每秒百万条指令80486微处理器采用1m工艺,集成了120万个晶体管,工作频率为3366100MHz的32位处理器。由三个部件组成:一个80386体系结构的主处理器,一个与80387相兼容的数学协处理器和一个8KB容量的高速缓冲存储器。大约有一半的指令在一个时钟周期内完成。480486是首次采用RISC技术的微处理器一条指令时钟周期480486可以模拟多个80286实现多任务功能4多处理器支持4具有多处理器指令超高速缓存器4增加了6条新指令4标志寄存器:增加1位4控制寄存器:增加2位4增加页面保护增加机内自测试4预取指令队列增加到32字节一.80486基本特性二.80486结构框图流水线处理示意三.80486引脚四.80486基本寄存器五.80486页面机

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号