微处理器原理及应用---第二章80 x86微处理器.ppt_第1页
微处理器原理及应用---第二章80 x86微处理器.ppt_第2页
微处理器原理及应用---第二章80 x86微处理器.ppt_第3页
微处理器原理及应用---第二章80 x86微处理器.ppt_第4页
微处理器原理及应用---第二章80 x86微处理器.ppt_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

第二章80 x86微处理器2.1微处理器的发展1、80862、802863、803864、804865、Pentium(奔腾)6、PentiumPro(高能奔腾)7、PentiumII8、PentiumIII9、Pentium10、PentiumD与PentiumXE双核处理器11、Itanium(安腾)12、CoreDuo(酷睿处理器),2.28086微处理器2.2.18086CPU内部功能结构编程结构:就是指从程序员和使用者的角度应该看到的结构。这种结构与CPU内部的物理结构和实际布局是有区别的从功能上分:总线接口部件BIU(BusInterfaceUnit)执行部件EU(ExecutionUnit)。,1、总线接口部件(BIU)总线接口部件的功能:与CPU外部(存储器、IO端口)传送指令代码或数据。CPU执行指令的工作分为两个阶段:取指令和执行指令过程。(1)BIU的组成4个16位的段地址寄存器(CS、DS、ES、SS)、16位的指令指针寄存器IP、20位的地址加法器、6字节的指令队列缓冲器、16位的内部暂存器和总线逻辑控制器(2)BIU各部件的作用,1)段地址寄存器CS:16位代码段寄存器,寄存程序代码段首地址的高16位。DS:16位数据段寄存器,寄存数据段首地址的高16位。ES:16位扩展段寄存器,寄存另一个数据段首地址的高16位。SS:16位堆栈段寄存器,寄存堆栈区数据段首地址的高16位。2)16位的指令指针寄存器IP:指出当前指令在程序代码段中的16位偏移量。3)20位的地址加法器:用来产生20位物理地址。段基址:段寄存器提供的16位信息,左移4位。偏移地址:EU提供的16位信息或者IP提供的16位信息。4)6字节的指令队列缓冲器:用来存放预取指令的指令队列。5)16位的内部暂存器:暂存输入/输出信息的寄存器。6)总线逻辑控制器:以逻辑控制方式实现总线上的信息传送,如信息分时传送等。,2、执行部件EU执行部件的功能就是负责指令的执行。(1)EU的组成:执行部件由4个通用寄存器(AX、BX、CX、DX)、4个专用寄存器(BP、SP、SI、DI)、算术逻辑单元、EU控制器和标志寄存器组成。(2)EU各部件的作用1)4个通用寄存器AX:16位的累加器BX:16位的基数寄存器CX:16位的计数寄存器DX:16位的数据寄存器,2)4个专用寄存器BP:16位的基数指针寄存器SP:16位的堆栈指针寄存器堆栈:一组寄存器或一个存储区域,用来存放调用子程序或响应中断时的主程序断点地址,以及暂存其它寄存器的内容。当信息存入堆栈或从堆栈中取出信息时,都必须严格按照“先进后出”的规则进行。SI:16位的源变址寄存器DI:16位的目的变址寄存器3)算术逻辑部件ALU功能有两个:一是进行算术逻辑运算,二是按指令的寻址方式计算出所寻址的16位偏移地址。4)EU控制器:执行指令的控制电路,实现从队列中取指令、译码、产生控制信号等。,5)标志寄存器:16位状态标志寄存器(7位未用)存放操作后的状态特征和人为设置的控制标志。所用的各位含义如下:这些标志可分两类:状态标志,控制标志。它们的作用详见表2-1,表2-18086标志的作用,例2.1计算机在进行1234H+5678H运算后,试求状态标志SF、ZF、PF、CF、AF、OF的值。0001001000110100十01010110011110000110100010101100SF=0:运算结果的最高位为0;ZF=0:运算结果本身不为0;PF=1:运算结果低8位所含1的个数为4个,是偶数个1;CF=0:最高位没有产生进位;AF=0:第3位没有往第4位产生进位;OF=0:次高位没有往最高位产生进位,最高位往前也没有进位,例2.2计算机在进行6789H-1234H运算后,试求状态标志SF、ZF、PF、CF、AF、OF的值。补码运算的结果。0110011110001001111011011100110010101010101010101SF=0:运算结果的最高位为0;ZF=0:运算结果本身不为0;PF=1:运算结果低8位所含1的个数为4个,是偶数个1;CF=0:虽然最高位产生了进位,但这是与被减数的补码相加,其借位CF应是进位的反码,所以无借位;AF=0:与CF类似,第3位没有向第4位产生借位;OF=0:次高位向最高位产生进位,最高位向前也产生了进位,所以无溢出;,2.2.28086CPU内部流水线管理工作原理1)当指令队列为空时,这种情况一般发生在程序刚开始执行或刚执行了跳转指令(转移指令、调用指令和返回指令)。这时EU等待BIU提取指令,BIU会从存储器中把要执行的那个程序段指令装入指令队列中2)当指令队列不空时,这时EU和BIU独立工作,EU负责从指令队列前部取出指令代码,并进行译码和执行;BIU负责从存储器中把指令取到指令队列中,直到指令队列满为止。3)当指令队列已满且EU又无访问请求时,BIU便进入空闲状态。,4)当指令队列出现2个空字节时,BIU又会自动地从存储器中把后面的指令装满指令队列。5)当EU执行特殊指令时,这有两种情况:一是EU在执行指令过程中必须进行外部(存储器或IO端口)访问,这时EU请求BIU去做外部访问,如果BIU正好处于空闲状态,则立即响应EU的请求,如果BIU正在取指过程中,则BIU在完成当前取指令的操作后再去响应EU的请求;二是EU执行跳转指令,这时,指令队列中已装入的指令字节就不再有用,则指令队列被自动清空。,2.2.38086CPU的存储器组织地址空间:1MB(20位)逻辑段:最大64kB,CS,DS,ES,SS。浮动、连续、分开重叠。1、存储器分段和段寄存器段首址:各逻辑段的第一个单元的地址。段基址:段首址的高16位。段基址根据段的性质存放在相应的段寄存器DS、ES、SS或CS中。偏移地址:段内存储单元距离段首地址的偏移量。段基址和偏移地址都是无符号的16位二进制数,这两部分构成了存储单元的逻辑地址。,图2-3存储器的逻辑分段,采用分段结构的存储器中,任何一个20位物理地址都是由它的逻辑地址变换得到的:物理地址=段基址16偏移地址,2、存储器组织8086的1MB存储器,分成了两个512KB存储区,分别叫奇地址区(奇区)和偶地址区(偶区)。,字节分为奇字节和偶字节。字分为奇字、偶字。对于奇字节、偶字节、奇字、偶字的读写操作,奇字节、偶字节和偶字操作均可用一个总线周期完成,而奇字操作需二个总线周期,分别用奇字节和偶字节操作来完成。其过程是通过A0、BHE(8086CPU的两条引脚)信号的配合来实现的,见表2-2,表2-2BHE、A0代码表示的相应操作,2.2.48086CPU总线周期的概念BIU通过系统总线完成对外界(存储器或I/O端口)的一次访问所需的时间称作一个总线周期。在计算机中时间的最小单位是时钟周期(一个时钟脉冲的时间长度)。在8086CPU中,一个最基本的总线周期由4个时钟周期组成。4个时钟周期分别称为4个状态,即T1状态、T2状态、T3状态和T4状态。除了上述四个状态外,还有等待状态Tw和空闲状态TI。,图2-7典型的8086总线周期序列,表2-3总线周期各状态的作用,2.2.58086CPU的引脚信号及工作模式最小模式:在系统中只有一个8086处理器。最大模式:在系统中有两个或两个以上的处理器1、8086CPU的引脚信号,1234567891011121314151617181920,VCC(+5v)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET,图2-88086CPU的引脚信号排列,1、最小模式140脚的功能定义最小模式下各引脚信号可分为三类:双向引脚信号、输入引脚信号和输出引脚信号,它们的功能见表2-4。,表2-4最小模式方式下CPU引脚的功能,1、最大模式2431脚的功能定义在最大模式下2431脚的功能不同于最小模式,重新定义的情况见图2-8括号中的说明,这8条引脚的功能见表2-5。在最大模式下,许多总线控制信号是通过总线控制器8288产生的。,表2-5最大模式2431脚的功能,表2.6S2S0对应的总线周期及8288的控制命令,表2.7QS1、QS0与队列状态,2、8086CPU工作模式的典型配置图2-9是最小模式下的典型配置,图2-98086最小模式下的典型配置,图2-10是最大模式下的典型配置,图2-108086最大模式下的典型配置,2.2.68086CPU的操作时序操作时序可分为:系统复位和启动操作、暂停操作、空操作、总线读操作、总线写操作、中断操作、总线保持。1、系统复位和启动操作,图2-118086CPU的复位操作时序,2、暂停操作3、总线空操作4、总线读操作总线读操作分两种:最小模式下的总线读操作最大模式下的总线读操作,图2-12最小模式的总线读操作时序,在各状态下8086CPU的总线需要完成相应的操作,见表2-8,表2-8最小模式下总线读操作,5、总线写操作总线写操作是指CPU把数据写入到存储器或IO端口。,图2-13最小模式的总线写操作时序,在各状态下8086CPU的总线需要完成相应的操作,见表2-9,表2-9最小模式下总线写操作,2.380286微处理器2.3.180286CPU的主要性能1、80286是一种先进的16位微处理器2、80286CPU有两种工作方式(1)实地址方式(2)保护虚地址方式3、具有存储器管理和保护机构4、兼容性好,2.3.280286CPU的功能结构组成:执行部件EU、地址部件AU、指令部件IU和总线接口部件BIU1、总线接口部件BIU组成:协处理器接口、地址锁存驱动器、总线控制器、数据收发器、预取器和6字节的预取队列。主要作用:处理CPU和系统总线之间的所有通信和数据传输。2、指令部件IU组成:指令部件IU由指令译码器和已译码指令队列主要作用:把指令字节从预取队列中取出,送入指令译码器。,3、执行部件EU组成:算术逻辑部件ALU、标志寄存器、通用寄存器阵列和控制电路等。主要作用:EU中的控制电路根据已译码指令的69位内部码产生执行指令所需的控制电位序列,实现对其它部件的控制,完成指令的执行,并根据操作结果影响标志寄存器的标志位。4、地址部件AU组成:地址部件AU由段描述符高速缓冲存储器、物理地址加法器、偏移地址加法器和段寄存器等。如图2-14所示主要作用:在实地址方式下将段基址与偏移地址组合起来形成20位物理地址。,2.3.380286CPU的寄存器1、新增标志位80286CPU新增了两类标志,占用三个标志位。(1)IO特权级标志该标志占用两位二进制位(位12、13),四个状态,用来确定需要执行的IO操作的特权级。(2)嵌套任务标志NTNT标志占用一位二进制位(位14)。,2、机器状态字MSW80286CPU的机器状态字MSW如图2-15所示,在这16位的状态字寄存器中,只使用了低4位,高12位保留(1)允许保护标志PE若PE1,保护方式;系统复位后,PE0,实地址方式。(2)监控协处理器扩充标志MP若MP=1则系统中有数学协处理器存在;否则数学协处理器不存在。(3)仿真协处理器扩充标志EMEM1,表示采用软件仿真数学协处理器的功能;若EM0,则否。(4)任务转换标志TSTS由硬件置位,由软件复位。,图2-1580286CPU的机器状态字MSW,2.3.480286CPU的存储器寻址什么是虚拟存储器?它是一种设计技术,采用该技术能提供比实际内存储器大得多的存储器空间。它由存储器管理机制和一个大容量快速硬磁盘支持,及时地将虚拟存储空间调入内存或调回磁盘。,图2-1680286保护虚地址方式下的存储器寻址过程,2.480386微处理器2.4.180386CPU的主要性能1、灵活的32位微处理器2、具有3种工作方式(1)实地址方式(2)虚地址保护方式(3)虚拟8086方式3、具有段页式存储器管理部件4、兼容性强5、高性能的硬件措施,2.4.280386CPU的功能结构组成:总线接口部件BIU、指令预取部件、指令译码部件、执行部件、分段部件和分页部件。1、总线接口部件组成:由请求判优控制器、地址驱动器、流水线总线宽度控制、多路转换MUX收发器等。主要作用:将CPU内部的其它部件与外部总线连接起来。2、指令预取部件组成:预取器及预取队列。主要作用:管理着一个预取指令指针和段预取界限。3、指令译码部件组成:指令译码器及已译码指令队列。主要作用:指令译码部件为指令的执行做好了准备。4、执行部件组成:控制部件、数据处理部件和保护测试部件。,主要作用:将已译码指令队列中的内部编码变成按时间顺序排列的一系列控制信息,并发向处理器的其它处理部件,以便完成一条指令的执行。数据处理部件的组成:一个算术逻辑部件ALU、8个32位通用寄存器、一个64位桶形移位器和一个乘法器。5、分段部件组成:三输入地址加法器、段描述符高速缓冲存储器及界限和属性检验用可编程逻辑阵列PLA。主要作用:把逻辑地址转换成线性地址。6、分页部件组成:加法器、页高速缓冲存储器及控制和属性PLA。主要作用:将分段部件或代码领取部件产生的线性地址转换成物理地址。存储器管理部件MMU的组成:分页部件、分段部件及总线接口部件。,图2-1780386CPU的功能结构,2.4.380386CPU的寄存器80386CPU共有34个寄存器:1、基本寄存器(16个)(1)32位通用寄存器(4个):EAX、EBX、ECX、EDX(2)32位变址寄存器(2个):源地址寄存器ESI和目的地址寄存器EDI(3)32位指针寄存器(3个):基地址指针寄存器EBP、堆栈指针寄存器ESP和指令指针寄存器EIP(4)16位段寄存器(6个):代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS及附加数据段寄存器ES、FS和GS,(5)32位标志寄存器(1个)6个状态标志:进位标志CF、奇偶标志PF、辅助进位标志AF、零标志ZF、符号标志SF、溢出标志OF;3个控制标志:陷阱标志TF、中断允许标志IF、方向标志DF;2个保护方式标志:输入输出特权级标志IOPL、嵌套任务标志NT;2个新增的标志:重新启动标志RF、虚拟8086方式标志VM。1)重新启动标志RF(ResumeFlag)2)虚拟8086方式标志VM(Virtual8086ModeFlag),图2-1880 x86的标志寄存器,2、控制寄存器(4个)80386有4个32位的控制寄存器:CR0CR3(1)CR0与CR1CR0寄存器包含6个系统标志、CR1是未定义的控制寄存器。1)扩充类型标志ET2)允许分页标志PG,(2)CR2与CR3CR2:页故障线性地址寄存器CR3:页目录基地址寄存器,图2-2080386的控制寄存器CR2和CR3,3、系统地址寄存器(4个)作用:用来保存操作系统所需要的保护信息和地址转换表信息。(1)全局描述符表寄存器GDTR(48位)作用:保存全局描述符表的32位线性基址和16位界限。(2)中断描述符表寄存器IDTR(48位)作用:保存中断描述符表的32位线性地址和16位界限。,选择子,选择子,47,32位线性基地址,16,15,界限,0,GDTR,IDTR,TR,LDTR,图2-2180386系统地址寄存器,(3)局部描述符表寄存器LDTR(16位)作用:保存当前任务的LDT的16位选择子。(4)任务状态寄存器TR(16位)作用:保存当前任务的TSS(任务状态段)的16位选择子。4、调试寄存器(8个)DR0DR3:线性断点地址寄存器。DR4和DR5:保留的备用调试寄存器。DR6:断点状态寄存器。DR7:断点控制寄存器。5、测试寄存器(2个)TR6:用来存放测试命令的寄存器。TR7:数据寄存器,用来保存对TLB测试时的状态数据。,2.4.480386CPU的存储器管理,图2-22虚拟地址转为物理地址的过程,l、分段管理什么是描述符?它是在一个8字节长的数据结构中存放一组段的信息。描述符表:全局描述符表GDT、局部描述符表LDT和中断描述符表IDT。(1)选择子组成:索引、指示器TI和特权层RPL,图2-23选择子结构与功能,(2)描述符分为两类:程序段描述符、系统段描述符主要区别:段类型、A属性的定义和S属性的值不同。1)程序段描述符分为两类:代码段、数据段组成:段基地址、段类型、段限量和段属性,段基地址:由描述符中第2、3、4、7字节组成。类型:共占3位,它位于描述符中第5字节的D3D1。分成3个部分,分别对应于位D3D1的是C/D、EC、RW。C/D1时,为代码段。这时,EC1表示本代码段可以被调用并执行,否则不能调用。RW1表示本代码段可读,否则不可读。C/D0时,为数据段(包括堆栈段)。EC0表示向上扩展,为数据段。ECl表示向下扩展,为堆栈段。RW0,数据段不可写;如RWl,则为可写。堆栈段的RW必须为1。,段限量:由描述符的0、1两字节以及第6字节的D3D0组成20位段限量,由属性来决定以页为单位还是以字节为单位。段属性:共占9位,它位于描述符中第5字节的D0、D7D4和第6字节的D7D4。访问位A:如A为1,则已访问过;如A为0,则未访问过。描述符类型S:如S1,则为非系统段描述符,对应的段为代码段、数据段或堆栈段;如S0,则为系统段描述符。特权级DPL:它指出了对应段的保护级,从高到低可为03级,0级最高,3级最低。存在位P:如P1,则对应段已装入内存储器;如P0,则对应段目前并不在内存储器中,而要从磁盘上调进来。,80286CPU只有以上四种段属性。以下的段属性只有80386以上的CPU才有。粒度G:给出段长度的单位。如G1,则长度以页为单位;如G0,则长度以字节为单位。操作数长度D:如D0,表示操作数和有效地址的缺省值为16位;如D1,表示操作数和有效地址的缺省值为32位;可用位AVL:若AVL0,系统软件不可以使用该段;若AVL1,系统软件可以使用该段;2)系统段描述符分为三类:局部描述符表LDT、任务状态段TSS和门描述符。,任务状态段TSS当描述符中S0且类型值为1、3、9、B时,则为TSS描述符。什么是任务状态段?它是多任务系统中的一种特殊数据结构,它反应了一个任务的各种信息。,表2-10系统段描述符的16种类型,LDT描述符当描述符中S0且类型值为2时,则为LDT描述符。门描述符什么是门?当描述符中的S0且类型值为4、5、6、7、C、E、F时,则为门描述符。它是一种转换机构。类型:调用门、任务门、中断门、陷阱门。调用门:改变任务或者程序的特权级别;任务门:执行任务切换;中断门和陷阱门:指出中断服务程序的入口。,调用门描述符组成:选择子、偏移量、P、DPL、类型和字计数选择子和偏移量指出一个子程序的起始地址。P和DPL对所有门含义都相同,P1表示本描述符有效,P0表示本描述符无效;DPL为访问该门的任务应具备的特权级。字计数值指出有多少参数必须从主程序的堆栈拷贝到被调用子程序的堆栈。中断门和陷阱门之间的差别:进入中断门时,标志寄存器中IF自动清0,即关中断,而进入陷阱门不会关中断。,(3)逻辑地址转换为线性地址,(4)描述符表寄存器全局描述符表寄存器GDTR、局部描述符表寄存器LDTR和中断描述符表寄存器IDTR。GDTR和IDTR均为6字节寄存器。其中用32位指出GDT和IDT所在存储区的线性地址,用16位指出其界限。LDTR只是一个16位的寄存器,用来容纳一个选择子。80386为何为6个段寄存器各设置了一个64位的段描述符寄存器?它是一个高速缓冲存储器,每次装入选择子时,段描述符也一起装入;不必通过描述符表查找段描述符而代之以高速缓存中的描述符信息;节省了访问存储器的时间。,2、分页管理分页管理涉及两个表:页目录项表和页表。,(1)线性地址分为三部分:011共12位是偏移量,1221共10位是页表项索引,2231共10位是页目录项索引。(2)页目录项表和页表每一项包含下列信息:1)表的物理基地址:对页目录项表来说,高20位是页表的起始物理基地址(低12位全为0);对页表项来说,则为页面的起始物理地址。2)存在标志P:如P1,则所指的页表或页存在于主存储器中;如P0,则对应的页表或页不在主存储器中。,3)访问标志A:在实际运行中,一开始所有页目录项和页表项的A位均为0。当A1时表示对应项被访问过,并保持为l。4)写标志D:一开始操作系统将D设为0,以后,当对此页进行写操作时,D位为1,并保持为l。5)保留位AVL:一般供操作系统记录页的使用情况。6)用户监控位US:如US0,则用户程序不能访问该页,若US1,才允许用户程序读写该页。7)可读写标志WR:如WR0,该页为只读;如WR1,该页为可读写。,(3)地址转换过程线性地址转换为物理地址可分为三步:1)求页目录项的物理地址2)求页表项的物理地址3)求目标单元的物理地址,(4)物理地址转换举例说明设某目标单元的线性地址为135790ABH,80386CPU控制寄存器CR3中内容为2468AC13H,并设页目录项表中被选项的内容00500021H,页表中被选项的内容为12345021H,试求对应于该线性地址的物理地址。1)求页目录项的物理地址取CR3的高20位,并使低12位为0得2468A000H,取线性地址的高10位,并乘4得134H,则页目录项表中被选项的物理地址为2468A134H。2)求页表项的物理地址取出页目录项的内容00500021H,并使其低12位为0得00500000H,取线性地址的第1221位,并乘4得5E4H,则页表中被选项的物理地址为005005E4H。,3)求目标单元的物理地址取出页表项的内容12345021H,并使其低12位为0得12345000H,取线性地址的最低12位得0ABH,则目标单元的物理地址为123450ABH。,图2-28线性地址转为物理地址的实例,2.580486微处理器2.5.180486CPU的主要性能1、80486是与80386完全兼容且功能更强的32位微处理器2、80486的内部具有9个处理部件3、CPU与数学协处理器能在芯片内部快速地协调工作4、具有对外部高速缓冲存储器的回写和清除功能2.5.280486CPU的功能结构组成:总线接口部件、Cache部件、指令预取部件、指令译码部件、控制部件、分段部件、分页部件、整数部件和浮点部件9个处理部件。这9个部件可独立并行操作,可以采用9级流水方式进行工作。,1、总线接口部件组成:地址驱动器、写缓冲器、数据总线

温馨提示

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

评论

0/150

提交评论