资源预览内容
第1页 / 共146页
第2页 / 共146页
第3页 / 共146页
第4页 / 共146页
第5页 / 共146页
第6页 / 共146页
第7页 / 共146页
第8页 / 共146页
第9页 / 共146页
第10页 / 共146页
亲,该文档总共146页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,第2章 16位和32位微处理器,2,引言:,微处理器(CPU)的性能指标: 1.字长 CPU能够同时处理的数据位数,也称为数据宽度。能够衡量 CPU计算能力和集成度。 Intel系列 8086/8088/80286 16位字长 80386/80486/Pentium 32位字长 Itanium 64位字长 2.主频 即CPU的时钟频率。CPU的运算速度的决定要素之一。 8086/10MHZ 80286/20MHZ Pentium/150MHZ Pentium IV/3.06GHZ,4,2.1 16位微处理器8086,2.1.1 8086的编程结构 8086:Intel系列的16位微处理器,16条数据线、20条地址线, 可寻址地址范围220=1MB,8086工作时,只要一个 5V 电源和一 个时钟,时钟频率为5MHz 。 8088:内部与8086兼容,也是一个16位微处理器,只是外部数据 总线为8位,所以称为准16位微处理器。 8088有20根地址线,可寻址的地址空间达220即1M字节。,5,AH AL,BH BL,CH CL,DH DL,SP,BP,DI,SI,通用寄存器,运算寄存器,ALU,标志,执行部分控制电路,CS,DS,SS,ES,IP,内部暂存器,I/O控制电路,地址加法器,20位,16位,8位,外部总线,执行部件,总线接口部件,8086CPU编程结构图,16位,6,2.1.1 8086的编程结构,在编程结构图中,从功能上划分,8086分为两大部分:即 总线接口部件BIU(Bus Interface Unit) 执行部件EU(Execution Unit) 1. BIU 总线接口部件 功能:负责与存储器、I/O端口传送数据 具体:(1)从内存取指令送到指令队列 (2)CPU执行指令时,BIU配合执行部件从指定内存单元或外设端口中取数据,将数据传送给执行部件。 (3)或者,BIU配合执行部件把操作结果传送到指定的内存单元或外设端口中。,7,1.BIU 总线接口部件,组成: 4个16位的段地址寄存器 CS(Code Segment) DS(Data Segment ) ES(Extra Segment ) SS(Stack Segment ) 16位的指令指针寄存器IP(Instruction Pointer) 20位的地址加法器 6字节的指令队列缓冲区 两点说明:,8,1.BIU 总线接口部件,说明: (1)指令队列缓冲器:在执行指令的同时,将取下一条指令或几条指令,并放入指令队列缓冲器中。CPU执行完一条指令后,可以立即执行下一条指令(流水线技术)。提高CPU效率。,9,(2)地址加法器:产生20位地址。CPU内无论是段地址寄存器还是偏移量都是16位的,通过地址加法器产生20位地址。,例: 一条指令的物理地址是根据代码段寄存器CS和指令指针寄存器IP的内容得到的。具体计算时,将CS的内容左移4位,然后与IP的内容相加。,10,2.1.1 8086的编程结构,2.执行部件 功能:负责指令的执行 详细: (1)从指令队列中取出指令。 (2)对指令进行译码,发出相应相应的控制信号。 (3)接收由总线接口送来的数据或发送数据至总线接口。 (4)进行算术运算。,11,2.1.1 8086的编程结构,2.执行部件 功能:负责指令的执行 详细: 执行的指令从BIU的指令队列缓冲器中取得, 执行指令的结果或执行指令所需要的数据,都由EU向BIU发出请 求,再由BIU对存储器或I/O端口进行存取。,12,2.执行部件,组成: 4个通用寄存器,即AX,BX,CX,DX 四个通用寄存器都是16位或作两个8位来使用。 如AX分成两个8位寄存器AH和AL使用。 AX也称为累加器,指令系统设计的指令有: 乘法指令(按字节或字)中AX用作乘数、乘积 除法指令(按字节或字)中AX用作被除数、商、余数(按字节时) 输入输出指令(IN/OUT) 标志传送指令LAHF/SAHF等,13,2.执行部件,4个专用寄存器,即 基数指针寄存器BP(Base Pointer) 堆栈指针寄存器SP(Stack Pointer) 源变址寄存器SI (Source Index) 目的变址寄存器DI(Destination Index) 算术逻辑部件ALU(Arithmetic Logic Unit) 算术逻辑部件主要是加法器,绝大部分的指令都是由加法 器,完成的完成8位或者16位二进制算术和逻辑运算,计算 偏移量。 标志寄存器,14,2.执行部件,4个专用寄存器,即 基数指针寄存器BP(Base Pointer) 堆栈指针寄存器SP(Stack Pointer) 源变址寄存器 SI(Source Index) 目的变址寄存器 DI(Destination Index) 算术逻辑部件ALU(Arithmetic Logic Unit) 标志寄存器,15,BIU 和 EU 两者的关系,16,(6)标志寄存器 16位寄存器,其中有7位未用。【注-1】,D15,D0,OF DF IF TF SF ZF AF PF CF,进借位标志,奇偶标志,半进借位标志,零标志,符号标志,单步中断,中断允许,方向标志,溢出标志,1-有进、借位 0-无进、借位,1-低8位有偶数个1 0-低8位有奇数个1,1-低4位向高4位有进、借位 0-低4位向高4位无进、借位,1-结果为0 0-结果不为0,D7,D8,17,标志寄存器,根据功能,标志可以分为两类:状态标志和控制标志 状态标志:表示前面的操作执行后,ALU所处的状态,这种状态像某 种先决条件一样影响后面的操作。 控制标志:表示对某一种特定的功能起控制作用。指令系统中有专门 的指令用于控制标志的设置和清除。 状态标志有6个,即SF、ZF、AF、PF、CF和OF 符号标志SF(Sign Flag) 和运算结果的最高位相同。表示前面运 算结果的正负。 零标志ZF(Zero Flag) ZF=1,表示当前的运算结果为0 奇偶标志PF(Parity Flag) PF=1,表示运算结果的低8位中所含1 的个数为偶数。,18,标志寄存器,进位标志CF(Carry Flag) CF=1,当执行加法运算使最高位产生进位或执行减法运算最高位产生借位 辅助进位标志AF(Auxiliary Carry Flag) AF=1,当执行加法运算时,如果第3位往第4位有进位或 执行减法运算第3位往第4位有借位。 辅助进位标志一般在BCD码运算中作为是否进行十进制调制的判断依据。 溢出标志OF(Overflow Flag) 当运算过程中产生溢出时,OF=1。 对有符号数来说:字节运算的范围128+127 字运算的范围32768 32767 结果超出范围称为溢出。如1000 0111+1111 0101,19,标志寄存器,控制标志有3个,即DF、IF、TF 方向标志DF(Direction Flag) 控制串操作指令用的标志。 DF=0,则串操作过程中地址会不断增值;(CLD指令) DF=1,则串操作过程中地址会不断减值;(STD指令) 中断允许标志IF(Interrupt Enable Flag) 控制可屏蔽中断的标志。 IF=0,则CPU不能对可屏蔽中断请求作出响应(CLI指令) IF=1,则CPU可以接受可屏蔽中断的请求(STI指令) 跟踪标志TF(trap Flag)也称单步标志 TF=1,则CPU按跟踪方式执行指令。,20,TF (Trap Flag)跟踪(陷阱)标志,它是为调试程序的方便而设置的。 若TF=1,则CPU处于单步执行指令工作方式。每执行一条指令就自动产生一次类型 1 的内部中断。 IBM PC系统中,用系统调试程序DEBUG时,T命令就是利用这种中断,服务子程序的功能是显示所有寄存器的当前值和将要执行的下一条指令。,返回,若TF=0 正常执行程序,21,标志寄存器,举例: 0101 0100 0011 1001 + 0100 0111 0110 1010,22,3.8086的总线周期的概念,为了取得指令或传送数据,就需要CPU的总线接口部件执行一个 总线周期。 总线周期(机器周期):CPU通过总线与存储器或I/O接口进行一 次数据传输所需的时间。 在8086/8088中,一个最基本的总线周期由4个时钟周期组成,将4 个时钟周期称为4个状态。 T1状态、T2状态、 T3状态和T4状态。 时钟周期是CPU的基本时间计量单位,由计算机主频决定。,23,3.8086的总线周期的概念, 在T1状态,CPU往多路复用总线上发出地址信息,用来指出要寻址的存储单元或外设端口的地址 在T2状态,CPU从总线上撤销地址,使总线的低16位浮置成高阻状态,为传输数据做准备。总线的最高4位用来输出本总线周期的状态信息。 在T3状态,多路总线的高4位继续提供状态信息,而多路总线的低16位上出现由CPU写出的数据或CPU从存储器或端口读入的数据。 在有些情况下,外设或存储器速度较慢,不能及时配合CPU传送数 据。这时,外设或存储器会通过“READY”信号线在T3状态启动前向 CPU发一个“数据未准备好”信号,于是CPU会在T3 状态之后插入1个 或多个附加的时钟周期Tw。,24,3.8086的总线周期的概念,Tw称为等待状态,在Tw状态,总线上的信息和T3 状态的信息一样。 当指定的存储器或外设完成数据传送时,便在“READY”信号线上 发出“准备好”信号,CPU接受到信号,会自动脱离Tw状态而进入T4 状态。 在T4状态,总线周期结束。 说明:如果在1个总线周期之后,CPU没有访问内存和I/O接口的要求,则系统总线处于空闲状态,此时,执行空闲周期。,25,CPU在4个状态中的基本作用, 在T1状态,CPU往多路复用总线上发送地址信息,以选中所要寻址的存储单元或外设端口的地址。 在T2状态,CPU从总线上撤消地址,并使总线的低16位浮置成高阻状态,为传送数据做准备。总线的最高4位用来输出本总线周期的状态信息。用来表示中断允许标志、当前正在使用的段寄存器名等。 在T3状态,多路总线的高4位继续提供状态信息,而其低16位(对8088CPU则为低8位)上将出现由CPU写出的数据或者CPU从存储器或端口读入的数据。 在T4状态,总线周期结束。,返回,26,27,在有些情况下,由于外设或存储器的速度较慢,不能及时地配合CPU传送数据。这时,外设或存储器就会通过 “READY”的信号线在T3状态启动之前向CPU发一个“数据未准备好信号”, CPU会在T3之后自动插入1个或多个附加的时钟周期TW, Tw称为等待状态,在Tw状态,总线上的信息和T3 状态的信息一样。 只有在指定的存储器或外设已经完成数据传送时,它们又通过“READY”的信号线向CPU发出一个“准备好”信号,之后CPU才会自动脱离TW状态而进入T4状态。 在T4状态,总线周期结束。,28,2.1.2 8086的引脚信号和工作模式,1.最小模式和最大模式的概念 根据所连的存储器和外设规模的不同,使它们可以在两种模式下工 作: (1)最小模式: 在系统中只有一8086/8088CPU。 (2)最大模式: 有两个或两个以上的CPU,一个为主处理器8086/8088, 另一个为协处理器8087/8089。 数值运算协处理器8087, 输入输出协处理器8089。,29,2. 8086/8088的引脚信号和功能,如图所示,为8086CPU和8088CPU的引脚信号图。共有40条引脚 线,这些引脚线用来输出或接收各种
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号