基础知识-80X86处理器.ppt

上传人:tian****1990 文档编号:12828612 上传时间:2020-05-29 格式:PPT 页数:84 大小:526KB
返回 下载 相关 举报
基础知识-80X86处理器.ppt_第1页
第1页 / 共84页
基础知识-80X86处理器.ppt_第2页
第2页 / 共84页
基础知识-80X86处理器.ppt_第3页
第3页 / 共84页
点击查看更多>>
资源描述
201308GLUT_C,1,1.480X86处理器的寄存器,201308GLUT_C,2,1.4.18086处理器的寄存器,1.4.1.18086的寄存器8086是16位处理器16位数据总线宽度,内部寄存器,ALU都是16位的。地址总线20位,以字节为单位对存储器进行编制,可寻址2201M字节。我们只讨论与程序设计有关的寄存器.,201308GLUT_C,3,8086的编程结构,201308GLUT_C,4,与程序设计有关的寄存器,4,4个16位数据寄存器可分为8个8位寄存器使用,201308GLUT_C,5,从功能上,8086分为两部分,即总线接口单元(businterfaceunit,BIU)执行单元(executionunit,EU),201308GLUT_C,6,1执行单元EU,执行单元EU的功能只是负责执行指令。执行的指令从指令队列缓冲器中直接得到,执行指令时若需要从存储器或I/O端口读写操作数时,由EU向BIU发出请求,再由BIU对存储器或I/O端口进行访问。,201308GLUT_C,7,16位算术逻辑单元(ALU):进行算术和逻辑运算。16位标志寄存器FLAGS:存放CPU运算的状态和控制标志。数据暂存寄存器:暂存参加运算的数据通用寄存器:包括4个16位数据寄存器AX、BX、CX、DX和4个16位指针与变址寄存器SP、BP与SI、DI。EU控制电路:它是控制、定时与状态逻辑电路,接收从BIU中指令队列取来的指令,经过指令译码形成各种定时控制信号,对EU的各个部件实现特定的定时操作。,(1)执行单元EU由下列部件组成,201308GLUT_C,8,(2)EU的任务,执行指令。它负责从BIU的指令队列中取指令,并对指令进行译码,根据指令的要求向EU内部各部件发出控制信号,执行指令规定的操作功能。,201308GLUT_C,9,(3)EU的寄存器,包括通用寄存器:A、B、C、D、堆栈指针寄存器SP地址指针寄存器BP、SI、DI标志寄存器FLAGS这些寄存器是程序设计中频繁使用的寄存器,,201308GLUT_C,10,4个通用寄存器,四个16位通用寄存器:AX、BX、CX、DX;16位字长这四个通用寄存器每个都可以作为2个独立的8位寄存器使用。8位寄存器符号:AH、AL、BH、BL、CH、CL、DH、DL,201308GLUT_C,11,4个专用寄存器,即基地址指针寄存器BP(BasePointer)堆栈指针寄存器SP(StackPointer)源变址寄存器SI(SourceIndex)目的变址寄存器DI(DestinationIndex);,201308GLUT_C,12,标志寄存器,标志寄存器共有16位,其中7位未用,所用的各位含义如下:,根据功能,8086的标志可以分为两类:状态标志控制标志,201308GLUT_C,13,状态标志有6个,即SF、ZF、PF、CF、AF和OF符号标志SF(SignFlag)负数SF1,零标志ZF(ZeroFlag)运算结果0,ZF=1奇偶标志PF(ParityFlag)运算结果低8位中1的个数为偶数,PF=1(PE),低8位中1的个数为奇数,PF=0(PO)。进位标志CF(CarryFlag)最高位产生进位CF=1辅助进位标志(AuxiliarycarryFlag)溢出标志OF(OverflowFlag)算术运算产生溢出8位运算结果超出-128+12716位运算结果超出-32768+32767,201308GLUT_C,14,控制标志有3个,即方向标志DF(directionflag)中断允许标志IF(interruptenableflag)跟踪标志TF(trapflag)又称为单步标志80X86的标志寄存器各位可以通过程序进行修改。由于它特别重要,为防止意外被修改,因此对标志寄存器的修改有特殊的指令和方法。,201308GLUT_C,15,(6)、标志寄存器16位寄存器,其中有7位未用。,D15,D0,OFDFIFTFSFZFAFPFCF,进借位标志,奇偶标志,半进借位标志,零标志,符号标志,单步中断,中断允许,方向标志,溢出标志,1-有进、借位0-无进、借位,1-低8位有偶数个10-低8位有奇数个1,1-低4位向高4位有进、借位0-低4位向高4位无进、借位,1-结果为00-结果不为0,201308GLUT_C,16,0101010000111001+01000101011010101001100110100011最高位=1SF=1低八位1的个数为4个PF=1运算结果不为0ZF=0低4位向前有进位AF=1最高位向前没有进位CF=0次高位向前有进位,最高位无进位CF=0,DF=1,OF=1,最高位无进位,CF=0,向高4位有进位,AF=1,201308GLUT_C,17,例:设变量x=11101111B,y=11001000B,A=0101101000001010B,B=0100110010100011B,请问分别执行x+y和A+B操作后标志寄存器中各状态位的状态如何?,11101111+)1100100010110111,1,010110100000101001001100101000111010011010101101,CF=0,CF=1,DF=1,DF=1,x+y,A+B,AF=1,CF=1,次高位进位信号DF=1最高位进位信号CF=1OF=CFDF=0,低8位有5个1,PF=0,低8位有6个1,PF=1,201308GLUT_C,18,201308GLUT_C,19,2.总线接口部件,(1)总线接口单元BIU的任务:,依据EU的请求,完成CPU与存储器、CPU与I/O设备之间的信息传送。读指令当指令队列出现空字节(8088有1个空字节,8086有2个空字节)时,从内存取出后续指令。BIU取指令时,并不影响EU的执行,两者并行工作,大大提高了CPU的执行速度。读操作数EU需要从内存或外设端口读取操作数时,根据EU给出的地址从内存或外设端口读取数据供EU使用。写操作数EU的运算结果、数据或控制命令等由BIU送往指定的内存单元或外设端口。,201308GLUT_C,20,4个16位段寄存器:代码段寄存器CS(CodeSegment)、数据段寄存器DS(DataSegment)、堆栈段寄存器SS(StackSegment)和附加数据段寄存器ES(ExtraSegment);一个16位的指令指针寄存器IP(InstructionPointer);一个20位地址加法器;6字节指令队列缓冲器;一个与EU通讯的内部寄存器以及总线控制电路等。,(2)总线接口单元(BIU)的组成,201308GLUT_C,21,段寄存器8086CPU的地址引脚有20根,能提供20位的地址信息,可直接对1M个存储单元进行访问。但CPU内部可用来提供地址信息的寄存器都是16位的,那么如何用16位寄存器实现20位地址的寻址呢?,(3)BIU寄存器简介,201308GLUT_C,22,8086/8088采用了分段结构的内存管理的方法。,将指令代码和数据分别存储在代码段数据段堆栈段附加数据段(简城附加段)中,每一段最大64KB(216个字节),可用16位的地址寄存器管理。,201308GLUT_C,23,这些段的段基地址分别由段寄存器CS、DS、SS、ES提供,而代码或数据在段内的偏移地址则由有关寄存器或立即数给出。,201308GLUT_C,24,代码段寄存器CS:存储程序当前使用的代码段的段地址。代码段用来存放程序的指令代码。下一条要读取指令在代码段中的偏移地址由指令指针寄存器IP提供;数据段寄存器DS:用来存放程序当前使用的数据段的段地址。一般来说,程序中所用到的原始数据、中间结果以及最终结果都存放在数据段中;,201308GLUT_C,25,堆栈段寄存器SS:用来存放程序当前所使用的堆栈段的段地址。堆栈是在存储器中开辟的一个特定区域;附加数据段寄存器ES:用来存放程序当前使用的附加数据段的段地址。附加数据段通常用于存放字符串操作时的目的字符串。,201308GLUT_C,26,程序员在编写汇编语言源程序时,应该按照上述规定将程序的各个部分放在规定的段内。每个源程序必须至少有一个代码段,而数据段、堆栈段和附加数据段则根据程序的需要决定是否设置。,201308GLUT_C,27,指令指针寄存器指令指针寄存器IP:用来存放下一条要读取的指令在代码段中的偏移地址。IP在程序运行中能自动修正,从而使其始终存放的是下一条要读取的指令在代码段的偏移地址。由于CS和IP的内容决定了程序的执行顺序,因此程序员不能直接用赋值指令对其内容进行修改。有些指令能使IP和CS的值改变(如跳转指令)或使其值压入堆栈或从堆栈中弹出恢复原值(如子程序调用指令和返回指令)。,201308GLUT_C,28,20位地址加法器8086/8088CPU在对存储单元进行访问以读取指令或读/写操作数时,必须在地址总线上提供20位的地址信息,以便选中对应的存储单元。CPU的寄存器都是16位(段基址寄存器和偏移地址都是)。那么,CPU是如何产生20位地址的呢?CPU提供的用来对存储单元进行访问的20位地址是由BIU中的地址加法器产生的。,201308GLUT_C,29,存储器中每个存储单元的地址可有以下两种表示方式:逻辑地址:其表达形式为“段地址:段内偏移地址”的地址。段内偏移地址又称为“有效地址EA(EffectiveAddress)。在读指令时,段地址由代码段寄存器CS提供,当前要读取指令在代码段中的偏移地址由指令指针寄存器IP提供;在读取或存储操作数时,根据具体操作,段地址由DS、ES或SS提供,段内偏移地址由指令给出。,201308GLUT_C,30,物理地址:CPU与存储器进行数据交换时在地址总线上提供的20位地址信息称为物理地址。物理地址的形成过程如图所示。,201308GLUT_C,31,段寄存器内容左移四位后(相当于乘以10H),与16位段内偏移地址,在BIU中的地址加法器中进行相加,形成一个20位的物理地址。这就是由逻辑地址求出物理地址的方法。由逻辑地址求物理地址的公式为:物理地址=段地址10H+段内偏移地址,例如:假设当前(CS)=1000H,取出当前指令后指令指针(IP)=4052H,求下一条指令的地址。1000H左移4位后为:10000H,它与4052H相加10000+4052=14052h。下一条指令所在存储单元的物理地址为14052H。,201308GLUT_C,32,指令队列缓冲器8086的指令队列有6个字节,8088的指令队列有4个字节。对8086而言,当指令队列出现2个空字节,对8088而言,指令队列出现1个空字节时,BIU就自动执行一次取指令操作,将下一条要执行的指令(1个字)从内存单元读入到指令队列。指令队列采用“先进先出”原则,按顺序存放,并按顺序取到EU中去执行。指令队列的引入使得EU和BIU可并行工作,即BIU在读指令时,并不影响EU单元执行指令,EU单元可以连续不断地直接从指令队列中取到要执行的指令代码,从而减少了CPU为取指令而等待的时间,提高了CPU的利用率,加快了整机的运行速度。,201308GLUT_C,33,二者内部结构基本相似,执行单元EU完全相同,其指令系统、寻址方式及程序设计方法都相同。区别仅在于总线接口单元BIU,归纳起来主要有以下几个方面的差异:外部数据总线位数不同。8086外部数据总线16位,8088外部数据总线8位。指令队列缓冲器大小不同。8086指令队列可容纳6个字节;而8088指令队列只能容纳4个字节。部分引脚的功能定义有所区别。,3.8088CPU与8086CPU的异同,201308GLUT_C,34,4.8086的总线周期的概念,计算机中的所有工作,都是在严格的时钟脉冲控制下进行的。总线周期完成一次总线操作所需要的时钟周期数。一般总线操作一次存储器读或写操作。,201308GLUT_C,35,典型的8086总线周期序列:由4个基本时钟周期和若干个等待周期(可以是0个等待周期)组成。,201308GLUT_C,36,T1状态,发地址信息T2状态,总线的高4位输出状态信息T3状态,高4位输出状态信息,低16位数据T3之后,可能插入TW(存储器或外设提供)在T4状态,本总线周期结束。,201308GLUT_C,37,1.4.1.28086的引脚信号和工作模式,最大工作模式的功能,201308GLUT_C,38,1.最小模式和最大模式的概念,(1)最小模式:在系统中只有一个微处理器,所有总线控制信号都有CPU直接产生。(2)最大模式:两个或多个微处理器(主处理器、协处理器),总线控制信号由专门的电路产生。与8086配合的协处理器8087:数值运算处理器8089:输入/输出协处理器,201308GLUT_C,39,2.8086/8088的引脚信号和功能,注意点:8086/8088的数据线和地址线复用8086有16根数据线第21脚(RESET)为输入复位信号第22引脚为“准备好”(READY)信号RD:指示读,WR:指示写操作高4位地址和状态线复用,201308GLUT_C,40,各引脚信号:GND、V地和电源AD15AD0地址/数据复用A19/S6A16/S3地址/状态复用BHE/S7高8位数据总线允许/状态复用NMI非屏蔽中断输入,201308GLUT_C,41,INTR可屏蔽中断请求信号输入RD读信号输出CLK时钟输入RESET复位信号输入READY“准备好”信号输入TEST测试信号输入MN/MX最小和最大模式控制输入带#的信号表示低电平有效,201308GLUT_C,42,3.最小模式,引脚信号:INTA中断响应信号输出ALE地址锁存允许信号输出DEN数据允许信号DT/R数据收发信号输出,201308GLUT_C,43,M/IO存储器/输入输出控制信号输出WR写信号输出HOLD总线保持请求信号输入HLDA总线保持响应信号输出,201308GLUT_C,44,8086在最小模式下的典型配置:,201308GLUT_C,45,8086的引脚MN/nMAX=1,选择最小模式。在最小模式下,需要一片时钟发生器IC提供时钟、复位信号、并同步外部READY信号提供给CPU。在最小模式下,系统的全部控制信号都由8086产生。注意在硬件连接上,地址信号一定要在外部锁存。锁存器可以使用Intel的8282,也可以使用通用的74LS373.锁存控制信号ALE数据信号是否需要驱动,要看外部接了多少器件。一般带负载能力8个TTL负载,如果接在AD15AD0上的逻辑电路(存储器、外设)较多,则需要用总线收发器来增加数据总线的驱动能力。驱动可使用8286,也可使用74LS245,201308GLUT_C,46,CPU对存储器、外设的操作(读或写)由信号M/nIO,nRD,nWR的组合确定。注意:nRD前面的小写n表示该信号RD低电平有效画不出上划线。,201308GLUT_C,47,4.最大模式,最大模式,接地,201308GLUT_C,48,MN/MAX信号接地8086工作于最大模式。引脚信号:QS1、QS0指令队列状态信号输出,201308GLUT_C,49,S2#、S1#、S0#总线周期状态信号输出,它对应的总线操作如表2.4所示。,总线控制器8288就是利用CPU提供的这些状态信号来产生计算机系统的相关控制信号,201308GLUT_C,50,LOCK#(lock)总线封锁信号输出RQ#/GT1#、RQ#/GT0#总线请求信号输入、总线授权信号输出8086在最大模式下的典型电路如下图,201308GLUT_C,51,201308GLUT_C,52,1.4.280286的寄存器,通用寄存器、段寄存器、指令指针、堆栈指针等与8086完全相同AX、BX、CX、DX、SP、BP、SI、DI、CS、DS、ES、SS、IP四个通用寄存器AX、BX、CX、DX可做16位通用寄存器使用,也可作8位寄存器使用:AH、AL、BH、BL、CH、CL、DH、DL区别:(1)标志寄存器增加了两个标志任务嵌套标志NT(D14)和I/O特权级标志IOPL(D13,D12)(2)增加了一个机器状态字寄存器MSW,201308GLUT_C,53,53,80286增加了2位,(6)、标志寄存器16位寄存器,其中有7位未用。,D15,D0,进借位标志,奇偶标志,半进借位标志,零标志,符号标志,单步中断,中断允许,方向标志,溢出标志,1-有进、借位0-无进、借位,1-低8位有偶数个10-低8位有奇数个1,1-低4位向高4位有进、借位0-低4位向高4位无进、借位,1-结果为00-结果不为0,任务嵌套标志,IO特权层标志,201308GLUT_C,54,1.4.380386处理器的寄存器,80386有2累寄存器:基本寄存器和系统寄存器80386有三种工作方式:实地址方式(realaddressmode)保护虚拟地址方式(protectedvirtualaddressmode)即保护方式虚拟8086方式(virtual8086mode),201308GLUT_C,55,1.基本寄存器,(1)通用寄存器将8086的8个通用寄存器AX、BX、CX、DX、SP、BP、SI、DI扩展为32位寄存器,低16位就是8086的寄存器。32位寄存器符号:EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI仍然可用于16位寄存器,做十六位寄存器使用时,符号为AX、BX、CX、DX、SP、BP、SI、DIAX、BX、CX、DX可以作为8个8位寄存器使用,符号AH、AL、BH、BL、CH、CL、DH、DL,201308GLUT_C,56,(2)指令指针和标志寄存器,扩展为32位,符号:EIP、EFLAGS,它们的低16位就是8086的对应寄存器IP、FLAGS。仍然可使用16位寄存器IP、FLAGS在实模式下只能使用IP和FLAGS在标志寄存器高位字(D31D16)增加了虚拟8086方式标志VM和恢复标志RF,201308GLUT_C,57,(3)段寄存器,除了与8086相同的4个段寄存器CS、DS、SS、ES外,增加了两个16位段寄存器FS、GS。FS、GS与ES的作用相同。在实地址模式,段寄存器内容为段基地址在保护模式下,段寄存器作为段选择子,通过段选择子在段描述符表中选择段描述符,由段描述符给出段基地址及其他相关信息。,201308GLUT_C,58,2.系统寄存器,(1)系统地址寄存器四个:GDTR:全局描述符表寄存器IDTR:中断描述符表寄存器LDTR:局部描述符表寄存器TR:任务寄存器用于保护模式下的存储器管理。,201308GLUT_C,59,(2)控制寄存器四个控制寄存器:CR0、CR1、CR2、CR3(3)调试寄存器8个调试寄存器:DR0DR7(4)测试寄存器2个测试寄存器:TR6、TR7,201308GLUT_C,60,1.4.480486的寄存器,在80386基础上新增了3个测试寄存器:TR3、TR4、TR5对标志寄存器进行了扩充,在D18增加了一个对准检查标志AC增加了浮点处理单元及相关寄存器其他与80386相同。,201308GLUT_C,61,1.4.5Pentium的寄存器,Pentium的寄存器包括:基本寄存器、系统寄存器、浮点寄存器1.基本寄存器类似于8086,如有图所示除了段寄存器,其他寄存器扩展为32位。,201308GLUT_C,62,(1)通用寄存器,8个32位通用寄存器这个通用寄存器的低16位可以作为16位寄存器使用。类似于8086处理器,AXDX还可以分为两个8位寄存器使用。,201308GLUT_C,63,(2)指令指针EIP,又叫指令指示器EIP是32位的。它用来存放下一条指令的偏移地址。每取出一条指令,EIP会自动修改,指向下一条指令EIP的低16位就是8086处理器的IP,IP可以单独使用在保护模式下,处理器的指令指针是32位的EIP在实地址模式下,处理器只是用16位指令指针IP,201308GLUT_C,64,(3)标志寄存器EFLAGS,标志寄存器EFLAGS为32位。,201308GLUT_C,65,65,.状态标志,最基本的标志,有6个用来记录指令执行结果的辅助信息加减运算和逻辑运算指令是主要设置它们其他有些指令的执行也会相应地设置它们处理器主要使用其中5个构成各种条件,分支指令判断这些条件实现程序分支,这些标志与8086相同。,201308GLUT_C,66,201308GLUT_C,67,67,.控制标志DF,方向标志DF(DirectionFlag)与8086相同,仅用于串操作指令,控制地址的变化方向设置DF0,每次串操作后的存储器地址就自动增加,即从低地址向高地址处理数据串设置DF1,每次串操作后的存储器地址就自动减少,即从高地址向低地址处理数据串执行CLD指令设置DF0执行STD指令设置DF1,201308GLUT_C,68,68,.系统标志,用于控制操作系统或者核心管理程序的操作方式。A:与8086相同的(a)中断允许标志IF(Interrupt-enableFlag)设置IF=1,允许中断,设置IF=0禁止中断。(b)陷阱标志TF(TrapFlag),单步标志TF=1,处理器进入单步操作方式,每条指令执行完毕,均产生一次内部中断。利用这个内部中断,可以显示指令执行后处理器各寄存器的状态,或等待用户操作指令DEBUG程序的单步运行方式就是将TF置1实现的。,201308GLUT_C,69,69,B:80286已经增加的2位,(a)I/O特权层标志IOPL(I/OPrivilegeLevel)D13、D12用于定义允许执行的I/O指令的I/O访问的特权级别,0级最高,3级最低。在保护模式的虚地址下,用于控制对I/O地址空间的访问。如果某个当前任务的I/O特权级别高于或等于IOPL中设定的级别,则可以执行该任务中的I/O指令,否则产生异常中断。(b)任务嵌套标志NT用于控制中断返回指令的执行=1表示当前任务被嵌套在另一个任务内,执行中断返回指令返回前一个任务=0,执行常规中断返回,201308GLUT_C,70,70,C:在80386已增加的1位,虚拟8086方式标志:VM=1,处理器由保护模式切换到虚拟8086模式=0,处理器工作在保护模式。注:在实地址模式下,该位无用,201308GLUT_C,71,D:恢复标志RF,该标志与测试寄存器配合使用,用于控制是否接受调试故障。=1:忽略调试故障=0:接受调试故障每执行完一条指令,该位自动清0接受调试故障而调试失败时,微处理器将此位置1,强迫程序恢复执行,201308GLUT_C,72,E:对齐检测标志:AC,在对字、双字、四字访问时,用于指示是否检查他没的启示字节的地址是否对准。所谓对准就是它们的其实字节的地址符合下述约定:字:A0=0双字:A1=0,A0=0四字:A2=0,A1=0,A0=0AC=1,且CR0的AM=1,就进行对齐检查如果进行非对准的字、双字、四字数据访问,将产生异常中断。,201308GLUT_C,73,F:CPU识别标志:ID(IdentificationFlag),=1,允许使用CPU识别指令CPUID读取Pentium处理器的IDG:虚拟中断标志:VIF虚拟8086模式下,中断标志IF的虚拟映像。H:虚拟中断挂起标志:VIP=1表示在虚拟8086模式下有被刮起的中断未出理。,201308GLUT_C,74,(4)段寄存器,Pentium的逻辑地址仍然由段寄存器和偏移地址两部分构成。Pentium有6个段寄存器:CS、DS、SS、ES、FS、GS根据运行模式,段寄存器的作用不同,物理地址的生成方式也不同。实地址模式与8086相同物理地址=(段寄存器)左移4位二进制位+偏移地址,201308GLUT_C,75,保护模式,段寄存器的内容是段选择子。段选择字的格式如下:,DI在段描述符表中检索描述符,描述符表可以有8192个描述符TI描述符表指示标志,=0,从GDT检索描述符;=1,从LDT检索描述符RPL请求特权级,03级,3级最低。,201308GLUT_C,76,CS:当前代码段段选择字SS:当前堆栈段段选择字DS:当前数据段段选择字ES、FS、GS:附加数据段段选择字,201308GLUT_C,77,2.系统寄存器,(1)系统地址寄存器GDTR全局表述附表寄存器,48位,(1)系统地址寄存器GDTR全局描述符表寄存器,48位,IDTR中断描述符表寄存器,48位,201308GLUT_C,78,LDTR局部描述符表寄存器,16位用于存放描述符索引当段寄存器的段选择字的TI=1时,使用LDT检索描述符。全局描述符只有1个,其基地址(起始地址)由GDTR指定每个任务都有一个局部描述符,它的起始地址在什么地方?确定任务局部描述符表需要使用LDTR。在使用局部描述符时,用该索引在GDT中获得一个描述符,利用该描述符确定所需要的局部描述符表LDT的首地址。再利用段寄存器给出的段选择字从该LDT中取出段描述符。,201308GLUT_C,79,TR任务寄存器,16位。TR也是用于存放描述符索引。每个任务有一个任务状态段TSS用于描述每个任务的状态信息。利用TR做索引,从GDT中获得一个描述符这个描述符就是任务状态段对应的描述符TSS。,201308GLUT_C,80,(2)控制寄存器,Pentium有5个控制寄存器:CR0CR4其中CR1备用。CR0,片内Cache禁止位=0,允许访问片内Cache,=1,数据仅写入片内Cache=0,写入Cache同时写入主存,对准检查控制位与标志寄存器的AC位配合,写保护控制位,浮点运算一场位,任务切换位,仿真协处理器位,协处理器监控位,保护允许位=1,保护模式=0,实地址模式,分页允许位=1,允许分页,与浮点运算单元的控制相关,201308GLUT_C,81,CR2和CR3,适用于存储管理的地址寄存器。CR2:在分页操作时,如果出现异常,CR2中的内容是异常处的32位线性地址。CR3:CR3的高20位保存页目录表的基地址D4,D3用于对外部Cache进行控制,201308GLUT_C,82,CR4,D31,D30,D29,D9,D7,D5,D3,D2,D1,D0,机器检查允许位=1,允许机器检查异常,页面扩展位=1,页面尺寸4MB=0,页面4KB,读时间计数器指令特权设置=1,读时间计数器指令RDTSC才能作为特权指令在任何时候执行=0,只能在系统级执行,虚拟8086方式控制位=1,允许虚拟8086方式=0,禁止虚拟8086方式,D4,D6,D8,虚地址保护方式中断允许位=1,允许中断,断点有效位位=1,允许设置断点,物理地址扩充位,=1,按36位物理地址运行分页机制=0,按32位运行,201308GLUT_C,83,(3)测试寄存器,有18个测试寄存器,寄存器编号:00H14H其中有3个编号没使用。Pentium使用专用指令RDMSR和WRMSR对这些寄存器进行访问更详细内容就不做要求了。,201308GLUT_C,84,3.浮点寄存器,Pentium支持硬件浮点运算,浮点寄存器包括数据寄存器标记字寄存器状态寄存器控制寄存器指令指示器数据指示器等由于课时,这些寄存器的具体内容略。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!