微处理器_精品文档

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

应用程序可访问
系统可访问
1. 基本结构寄存器 (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)
应用程序
3级
常用扩展程序
内核 0级
2级
系统服务程序
1级
系统和应用程序分离
返回
(1)物理空间:在保护方式下,全部32根地址有效,可寻址达4G字节。 (2)虚拟存储地址空间:在物理上是由外存与内存结合提供,最大为246 =64TB的逻辑空间(编程空间)即 允许程序在246字节(64TB)的逻辑空间内运行。(一个任务可运行多达16KB个段,每个段最大可为4G字节,故一个任务最大可达64MM(TB)字节的虚拟地址)
段寄存器值
偏移量
+
物理地址
16位
4位
16位
20位
存储器物理地址的计算方法
CS 0000
IP
代码段
DS或ES 0000
SI、DI或BX
SS 0000
第三章 80486微处理器
本章内容
3.1 80486 的内部结构 3.2 80486的工作模式介绍 3.3 80486的外部引脚介绍
3、1 80486 的内部结构
3、1、1 基本结构介绍 7大部分组成: 总线接口部分 指令预取部分 译码部分 运算部分 存储管理部分 高速缓冲存储器
SP或BP
数据段
堆栈段
存储器
(2)段寄存器和偏移地址寄存器组合关系
2. 保留的地址空间 (1) 中断向量区:地址为0000,0000H~0000,03FFH,每一个中断向量占4个字节。 (2) 系统初始化区: 地址为FFFF,FFF0H~FFFF,FFFFH。 当加电和复位时,物理地址自动置为FFFF,FFF0H,程序就从此地址开始执行。 当首次遇到段间转移或调用指令时,物理地址又自动置为000X,XXXXH,进入实地址方式下的物理地址空间。
8位
8位
累加器 基址 计数 数据 源变址 目标变址 基址指针 堆栈指针
返回
返回
返回
(段寄存器——指出代码和数据所用的存储空间。有6个16位的。 代码段 CS——指示存放程序代码的地址空间 数据段 DS,ES,FS,GS——指示数据的地址空间 堆栈段 SS——指示存放程序执行的中间结果的地址空间
(2)系统地址寄存器——又称保护方式寄存器(仅在保护模式下使用)。见书 P.20图3.3(b) 全局描述符表寄存器——GDTR 中断描述符表寄存器——IDTR 局部描述符表寄存器——LDTR 任务状态寄存器——TR
3、调试与测试寄存器见图3.4(P.22)
调试寄存器 DR0~DR3——用于设置数据存取断点和代码执行断点。 调试断点寄存器:DR6——指明断点的当前状态。 调试控制寄存器 DR7——选择调试功能和设置断点。 DR4,DR5保留。 测试寄存器 TR3~TR7(5个)——用于测试片内cache和用旁视缓冲区TLB。(P.317)
3.1.3 80486微处理器的地址空间
1. 存储地址空间分为: 虚拟空间(又称逻辑空间),其地址为虚拟地址或逻辑地址,可达246字节(64TB) 线性空间:通过分段部件把虚拟空间变换为32位的线性空间。若分页部件未被选用,线性地址就是物理地址。 物理空间(又称主存空间):主存的实际空间,其地址称作物理地址或主存地址。可达232字节(4GB)。 地址变换如图3。5 (P。22)
2. 存储空间
段寄存器不再直接存放段基址,而是存放指示段基址的选择符。段寄存器中的T1位决定一个任务(程序)可以拥有一个全局描述符表和一个局部描述符表。 选择符用于选择某个描述符表中的描述符。13位选择码决定了每个描述符表中最多有213个描述符。因此一个任务可拥有的描述符数目最多为2×213个(即16KB个段)。 每个描述符指示存储器的位置、长度和访问权限等。当描述符中的G位为1时,相应的段长度为220×212 (即4GB)字节 故一个任务最多可拥有的编程空间为: 2×213×220×212=246=64TB
5、指令译码部件——把指令含义转换成相应的内部控制总线信号,指挥各部件协同工作。 从指令预取队列中取出指令进行译码。 将指令转换成微指令入口地址。 而将指令寻址信息送存储器管理部件,指挥各部件协同工作。
6、控制部件——产生微指令,对运算部件、存储管理部件、指令译码器发控制信号。 微处理器的每一条指令都有一组相应的微指令,存放在控制ROM中,它们作为可以为机器识别的命令,用来产生对各部件实际操作所需的一系列控制信号。 译码器产生的微指令入口地址就是指向该组命令的地址。
物理地址=段基址*16+偏移地址 左移4位 有效地址 例:CS内容为1000H,IP为8888H,则实模式下的物理地址是 10000H+8888H=18888H 段基址:CS、DS、ES、SS。 偏移地址:IP、DI、SI、BP、SP等。
2、系统级寄存器
控制着80486微处理器的片内cache、运算部分的浮点部件以及存储管理部件。含有4个控制寄存器和4个系统地址寄存器。(系统程序使用)。
(1)控制寄存器——CR0,CR1,CR2,CR3 为32位的。见书 P.20如图3.3(a) CR0——保存系统的控制和状态信息。 CR1——Intel为以后开发保留 CR2——保留了所检测到的上一个页面故障的32位线性地址。 CR3——保留页目录表的物理基址。
80486是Intel 1989年4月推出的32位微处理器。 在Intel32位微处理器的体系演化过程中,具有承上启下的地位。 32位微处理器是指在微处理器内部以32位寄存器为单位进行数据处理。 而在数据传送时,根据发送端与接受端处理数据的速度不同,可能在128位、64位、32位、16位或8位二进制位为单位,进行数据的传送。 但在内存中总是以8位二进制位为单位来存放数据。







执行部件
浮点数部件
包括执行部件或称定点运算部件(算术逻辑单元ALU、移位器和寄存器组)和浮点运算部件(浮点运算单元PLU、浮点寄存器组)。 执行部件负责从译码器队列取出指令的微指令地址,并解释执行该指令的微指令。
1、运算部分——核心部件
组成:分段部件和分页部件 (1)分段部件提供对内存分段管理的硬件支持,可直接把指令指定的逻辑地址变换为物理地址,只实现对内存分段管理。也可以把指令指定的逻辑地址变换为线性地址,传送到分页部件,实现对内存的分段分页管理。它包含有CS,DS,SS,ES,GS,FS共6个段寄存器。 分段部件在地址变换过程中实现任务间的隔离保护以及虚拟内存技术。
2.I/O地址空间 由216(64K)个地址(0000,0000H~0000,FFFFH)组成。与存储地址不重叠。
由M/IO(80486微处理器芯片)引脚区分。
3.2 80486的工作模式介绍
二种工作模式: 实地址模式 保护虚拟模式 三种工作方式 实地址方式(REAL) 保护方式(PROTECTED) 虚拟8086方式 (VIRTUAL8086)
7、总线接口部件——实现内部总线与外部总线的联系。 在内部时序信号控制下,将内部总线上的数据、控制信号或者地址送到外部总线; 接收外部数据总线上的数据、控制信号,并可根据接收到的控制信号,产生总线周期输出相应的外部控制信号,又称握手联络信号。 支持突发总线控制,对主存中进行连续多个数据单元的传输加快数据的读写。 所谓突发总线控制是指在一个总线传送周期只进行一次寻址,然后连续传送多个数据单元的方式。
在保护方式下,一个存储单元的地址也是由段基地址和段内偏移量两部分组成 。 在保护方式下,段基地址也是32位的,所以就不能由段寄存器的内容直接形成32位的段基地址,而是要经过转换。于是在内存中就有一个表,每一个内存段对应着表中的一项,此项中包含32位的段基址。 在80x86中,一个段用一个8字节的描述符来描述,多个描述符构成一个表,称为描述表。 由描述符中所规定的段基地址加上32位的段内偏移量就可以寻址一个存储单元,如图所示:
3、在实地址方式下,运行的程序不分特权等级,实际上,实地址方式下的程序相当于工作在特权级0,除保护虚地址方式下的一些专用指令外,所有其他指令都能在实地址方式下运行。
4、在实地址工作方式下,将CR0中PE位置1,80486就转移到保护模式。
3.2.2 保护虚拟地址模式(简称保护模式)
特点——支持多用户操作系统,能快速的进行任务切换和任务保护环境,同时也向下兼容。 1. 保护概念 目的——避免程序间的相互干扰。 存储器分段分页管理机制不仅为存储保护和共享提供了硬件支持,而且,为实现虚拟存储器提供了硬件支持。 多种保护方式,最突出方式为环保护方式——在程序间及操作系统间实现隔离,即分配不同的虚地址空间。 实现方法——设立特权级。特权级分为4级(0~3),值越小,特权越高。图3。6 特权规则: 特权级P存储的数据,由≥P级的特权级进行访问 具有特权级P的程序和过程,只能由≤P级上执行的任务调用。
3、保护方式下的物理地址形成
用户使用的逻辑地址由一个16位的段选择符和一个32位的段偏移量(由指令寻址方式决定)组成。
段寄存器 偏移量
访问权
界 限
基地址
存储器操作数
段内基址
3.1.1 实地址模式
80486在加电和复位后就进入实地址方式,使80486与8086有相同的基本体系结构,功能增强。 1. 存储空间及实地址模式下的编址 存储空间为220字节,即1M字节,线性地址就是物理地址。采用分段方式,每段大小固定为64K字节,存储段可以彼此覆盖,即一个64K字节的段如未用完,另一个段可以覆盖未用的存储区 (1) 物理地址的形成:
下图描述了32位微处理器内部的基本逻辑部件之间的基本联系、各部件的主要功能、数据在微处理器中的主要流动趋向。
所有部件都挂接在内部总线上,通过内部总线交换数据,也可以按粗尖头所示方式与相邻部件交换数据。每个部件都有自己的寄存器。
3.1.2 寄存器组
分4类: 基本结构寄存器 浮点寄存器 系统级寄存器 调试和测试寄存器
2、存储管理部分——为实现虚拟存储器而设置。
4、指令预取部件——对代码做取入、排队分析、分解等译码的前期准备工作。 代码预取操作是利用总线空闲周期,不断将后续指令从高速缓存中或内存中取入,放置在指令队列中,直到装满为止。 该部件有两个16字节的队列寄存器,它与Cache之间有一条128位(8*16)宽度的通道,因此,每次从cache最多可取16字节的信息。 这种指令的取入和分析执行的并行操作,避免了译码部件因总线忙碌不能及时取入后续指令,而暂时停机的可能性。
见图3。2(b)
(3)指令指针——放相对于代码段基址的偏移量,指向计算机即将执行的指令。 32位的寄存器,称EIP,其低16位可独立使用,称IP。 在实模式下,IP 与CS组合后,形成20位的物理地址。 图3。2(C) (4)标志寄存器 EFLAGS:32位,各位可分为:(具体的在4.3节介绍) 标志位——指明程序执行时微处理器的实时状态。如:进位、溢出等。 控制位——由程序设计者设置,以控制8048进行某种操作。 其低16位可独立使用,称FLAGS,实模式下很有用。 图3。2(d)
相关文档
最新文档