您好,欢迎访问三七文档
180486是Intel1989年4月推出的32位微处理器。在Intel32位微处理器的体系演化过程中,具有承上启下的地位。32位微处理器是指在微处理器内部以32位寄存器为单位进行数据处理。而在数据传送时,根据发送端与接受端处理数据的速度不同,可能在128位、64位、32位、16位或8位二进制位为单位,进行数据的传送。但在内存中总是以8位二进制位为单位来存放数据。第三章80486微处理器2本章内容3.180486的内部结构3.280486的工作模式介绍3.380486的外部引脚介绍33、180486的内部结构3、1、1基本结构介绍7大部分组成:总线接口部分指令预取部分译码部分运算部分存储管理部分高速缓冲存储器4①②③④⑤⑥⑦执行部件浮点数部件5•包括执行部件或称定点运算部件(算术逻辑单元ALU、移位器和寄存器组)和浮点运算部件(浮点运算单元PLU、浮点寄存器组)。•执行部件负责从译码器队列取出指令的微指令地址,并解释执行该指令的微指令。1、运算部分——核心部件6组成:分段部件和分页部件(1)分段部件提供对内存分段管理的硬件支持,可直接把指令指定的逻辑地址变换为物理地址,只实现对内存分段管理。也可以把指令指定的逻辑地址变换为线性地址,传送到分页部件,实现对内存的分段分页管理。它包含有CS,DS,SS,ES,GS,FS共6个段寄存器。分段部件在地址变换过程中实现任务间的隔离保护以及虚拟内存技术。2、存储管理部分——为实现虚拟存储器而设置。7(2)分页部件提供对内存分页管理的硬件支持,可直接把指令指定的逻辑地址变换为物理地址,只实现对内存分页管理;也可以将段部件输出的线性地址转换为物理地址,实现对内存的分段分页管理。当设置分页部件不工作时,段部件形成的线性地址就是物理地址。(3)虚拟内存是指以少量内存模拟大容量内存,以提高内存利用率。8。3、高速缓存部件(Cache)——用于减少微处理器对内存的访问次数,提高程序运行速度。•片内集成8KB容量的高速缓冲存储器,用来存放最近要使用的指令和数据。•Cache系统截取80486对主存的访问,查询这次访问的数据或指令是否驻留在Cache中。如果查询到了,称为“命中”,CPU不必去访问片外的主存,而是直接从Cache中获得数据或指令。如果“未命中”CPU就必须访问主存获得数据或指令,将它们拷贝到Cache中。•在Pentium机型中,有二个高速缓存部件,一个用于存放程序,称程序缓冲器;一个用于存放数据,称数据缓冲器。94、指令预取部件——对代码做取入、排队分析、分解等译码的前期准备工作。•代码预取操作是利用总线空闲周期,不断将后续指令从高速缓存中或内存中取入,放置在指令队列中,直到装满为止。•该部件有两个16字节的队列寄存器,它与Cache之间有一条128位(8*16)宽度的通道,因此,每次从cache最多可取16字节的信息。•这种指令的取入和分析执行的并行操作,避免了译码部件因总线忙碌不能及时取入后续指令,而暂时停机的可能性。105、指令译码部件——把指令含义转换成相应的内部控制总线信号,指挥各部件协同工作。•从指令预取队列中取出指令进行译码。•将指令转换成微指令入口地址。•而将指令寻址信息送存储器管理部件,指挥各部件协同工作。116、控制部件——产生微指令,对运算部件、存储管理部件、指令译码器发控制信号。•微处理器的每一条指令都有一组相应的微指令,存放在控制ROM中,它们作为可以为机器识别的命令,用来产生对各部件实际操作所需的一系列控制信号。•译码器产生的微指令入口地址就是指向该组命令的地址。127、总线接口部件——实现内部总线与外部总线的联系。•在内部时序信号控制下,将内部总线上的数据、控制信号或者地址送到外部总线;•接收外部数据总线上的数据、控制信号,并可根据接收到的控制信号,产生总线周期输出相应的外部控制信号,又称握手联络信号。•支持突发总线控制,对主存中进行连续多个数据单元的传输加快数据的读写。•所谓突发总线控制是指在一个总线传送周期只进行一次寻址,然后连续传送多个数据单元的方式。13下图描述了32位微处理器内部的基本逻辑部件之间的基本联系、各部件的主要功能、数据在微处理器中的主要流动趋向。所有部件都挂接在内部总线上,通过内部总线交换数据,也可以按粗尖头所示方式与相邻部件交换数据。每个部件都有自己的寄存器。143.1.2寄存器组分4类:基本结构寄存器浮点寄存器系统级寄存器调试和测试寄存器应用程序可访问系统可访问151.基本结构寄存器(1)通用寄存器——用于存放数据或地址,可进行32位、16位、8位、1位运算。•8个32位的:EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP•其低16位可独立使用,称:AX,BX,CX,DX,SI,DI,BP,SP。•可作为8位寄存器使用是:AH,AL,BH,BL,CH,CL,DH,DL。它们之间的关系如图3.2(a)168位8位累加器基址计数数据源变址目标变址基址指针堆栈指针返回返回返回17(2)段寄存器——指出代码和数据所用的存储空间。有6个16位的。•代码段CS——指示存放程序代码的地址空间•数据段DS,ES,FS,GS——指示数据的地址空间•堆栈段SS——指示存放程序执行的中间结果的地址空间见图3。2(b)18(3)指令指针——放相对于代码段基址的偏移量,指向计算机即将执行的指令。32位的寄存器,称EIP,其低16位可独立使用,称IP。在实模式下,IP与CS组合后,形成20位的物理地址。图3。2(C)(4)标志寄存器EFLAGS:32位,各位可分为:(具体的在4.3节介绍)标志位——指明程序执行时微处理器的实时状态。如:进位、溢出等。控制位——由程序设计者设置,以控制8048进行某种操作。其低16位可独立使用,称FLAGS,实模式下很有用。图3。2(d)192、系统级寄存器控制着80486微处理器的片内cache、运算部分的浮点部件以及存储管理部件。含有4个控制寄存器和4个系统地址寄存器。(系统程序使用)。20(1)控制寄存器——CR0,CR1,CR2,CR3为32位的。见书P.20如图3.3(a)CR0——保存系统的控制和状态信息。CR1——Intel为以后开发保留CR2——保留了所检测到的上一个页面故障的32位线性地址。CR3——保留页目录表的物理基址。(2)系统地址寄存器——又称保护方式寄存器(仅在保护模式下使用)。见书P.20图3.3(b)全局描述符表寄存器——GDTR中断描述符表寄存器——IDTR局部描述符表寄存器——LDTR任务状态寄存器——TR213、调试与测试寄存器见图3.4(P.22)•调试寄存器DR0~DR3——用于设置数据存取断点和代码执行断点。•调试断点寄存器:DR6——指明断点的当前状态。•调试控制寄存器DR7——选择调试功能和设置断点。DR4,DR5保留。•测试寄存器TR3~TR7(5个)——用于测试片内cache和用旁视缓冲区TLB。(P.317)223.1.380486微处理器的地址空间1.存储地址空间分为:虚拟空间(又称逻辑空间),其地址为虚拟地址或逻辑地址,可达246字节(64TB)线性空间:通过分段部件把虚拟空间变换为32位的线性空间。若分页部件未被选用,线性地址就是物理地址。物理空间(又称主存空间):主存的实际空间,其地址称作物理地址或主存地址。可达232字节(4GB)。地址变换如图3。5(P。22)232.I/O地址空间•由216(64K)个地址(0000,0000H~0000,FFFFH)组成。与存储地址不重叠。•由M/IO(80486微处理器芯片)引脚区分。243.280486的工作模式介绍二种工作模式:•实地址模式•保护虚拟模式三种工作方式•实地址方式(REAL)•保护方式(PROTECTED)•虚拟8086方式(VIRTUAL8086)253.1.1实地址模式80486在加电和复位后就进入实地址方式,使80486与8086有相同的基本体系结构,功能增强。1.存储空间及实地址模式下的编址存储空间为220字节,即1M字节,线性地址就是物理地址。采用分段方式,每段大小固定为64K字节,存储段可以彼此覆盖,即一个64K字节的段如未用完,另一个段可以覆盖未用的存储区(1)物理地址的形成:26物理地址=段基址*16+偏移地址左移4位有效地址例:CS内容为1000H,IP为8888H,则实模式下的物理地址是10000H+8888H=18888H段基址:CS、DS、ES、SS。偏移地址:IP、DI、SI、BP、SP等。段寄存器值偏移量+物理地址16位4位16位20位存储器物理地址的计算方法27CS0000IP代码段DS或ES0000SI、DI或BXSS0000SP或BP数据段堆栈段存储器(2)段寄存器和偏移地址寄存器组合关系282.保留的地址空间(1)中断向量区:地址为0000,0000H~0000,03FFH,每一个中断向量占4个字节。(2)系统初始化区:地址为FFFF,FFF0H~FFFF,FFFFH。•当加电和复位时,物理地址自动置为FFFF,FFF0H,程序就从此地址开始执行。•当首次遇到段间转移或调用指令时,物理地址又自动置为000X,XXXXH,进入实地址方式下的物理地址空间。293、在实地址方式下,运行的程序不分特权等级,实际上,实地址方式下的程序相当于工作在特权级0,除保护虚地址方式下的一些专用指令外,所有其他指令都能在实地址方式下运行。4、在实地址工作方式下,将CR0中PE位置1,80486就转移到保护模式。303.2.2保护虚拟地址模式(简称保护模式)特点——支持多用户操作系统,能快速的进行任务切换和任务保护环境,同时也向下兼容。1.保护概念•目的——避免程序间的相互干扰。•存储器分段分页管理机制不仅为存储保护和共享提供了硬件支持,而且,为实现虚拟存储器提供了硬件支持。•多种保护方式,最突出方式为环保护方式——在程序间及操作系统间实现隔离,即分配不同的虚地址空间。•实现方法——设立特权级。特权级分为4级(0~3),值越小,特权越高。图3。6•特权规则:特权级P存储的数据,由≥P级的特权级进行访问具有特权级P的程序和过程,只能由≤P级上执行的任务调用。31应用程序3级常用扩展程序内核0级2级系统服务程序1级系统和应用程序分离返回32(1)物理空间:在保护方式下,全部32根地址有效,可寻址达4G字节。(2)虚拟存储地址空间:在物理上是由外存与内存结合提供,最大为246=64TB的逻辑空间(编程空间)即允许程序在246字节(64TB)的逻辑空间内运行。(一个任务可运行多达16KB个段,每个段最大可为4G字节,故一个任务最大可达64MM(TB)字节的虚拟地址)2.存储空间33段寄存器不再直接存放段基址,而是存放指示段基址的选择符。段寄存器中的T1位决定一个任务(程序)可以拥有一个全局描述符表和一个局部描述符表。选择符用于选择某个描述符表中的描述符。13位选择码决定了每个描述符表中最多有213个描述符。因此一个任务可拥有的描述符数目最多为2×213个(即16KB个段)。每个描述符指示存储器的位置、长度和访问权限等。当描述符中的G位为1时,相应的段长度为220×212(即4GB)字节故一个任务最多可拥有的编程空间为:2×213×220×212=246=64TB34在保护方式下,一个存储单元的地址也是由段基地址和段内偏移量两部分组成。在保护方式下,段基地址也是32位的,所以就不能由段寄存器的内容直接形成32位的段基地址,而是要经过转换。于是在内存中就有一个表,每一个内存段对应着表中的一项,此项中包含32位的段基址。在80x86中,一个段用一个8字节的描述符来描述,多个描述符构成一个表,称为描述表。由描述符中所规定的段基地址加上32位的段内偏移量就可以寻址一个存储单元,如图所示:3、保护方式下的物理地址形成用户使用的逻辑地址由一个16位的段选择符和一个32位的段偏移量(由指令寻址方式决定)组成。35段寄存器偏移量访问权界限基地址存储器操作数段内基址段界}选择段大到4GB363
本文标题:80486微处理器
链接地址:https://www.777doc.com/doc-1506492 .html