1、*INTEL 80286内部寄存器都是 16 为的,独立的 16 位数据线,24 根地址线。80286 有两种工作方式:即实地址方式快速的 8086。虚地址保护方式-可寻址 16MB 的物理地址。8086 的汇编语言程序不经任何修改就可在 80286 上运行。8086 的结构按功能分为 EU 和 BIU 两大部份,而 80286 把 BIU 分为三个部分(AU 地址单元 IU 指令单元 BU 总线单元),使得 80286 的这 4 个单元并行工作,加之总线单元中增加了已译码指令队列以及较 8086 高的时钟频率,80286 的整体功能比 8086 高很多。80286 的内部寄存器通用寄存器、指
2、令指针寄存器、4 个段寄存器在世地址方式下和 8086 一样;段寄存器在虚地址保护方式下存放的是与段基址有关的信息,此外,较 8086增加了机器状态字、任务寄存器、及描述符寄存器等。1 标志寄存器 FLAGS13 12 NT IOPL OF DF IF TF SF ZF AF PF CF其中 IOPL I/O 特权标志位(在保护方式下指明操作的级别 0-3)NT 嵌套标志位 当前执行的任务正嵌套在另一任务中时 NT=1,否则,NT=02.机器状态字TS 任务切换位。当两任务切换时,TS=1 ,切换完成 TS=0.TS EM MP PEEM 协处理器仿真状态。EM=1 表示系统要用软件来仿真协处
3、理的功能。MP 监督协处理器位。 MP=1 协处理器工作,否则 MP=0.PE 保护方式允许位。进入保护方使实 PE=1.80286 在实地址方式下工作时PE=0.3 任务寄存器 TR存放当前正在执行的任务状态4 描述符寄存器(对程序员不可见)GDTR 全局表述符寄存器LDTR 局部描述符寄存器IDTR 中断描述符寄存器INTEL 8038680386 时 32 位微处理器,支持 32 位地址和数据类型,CPU 内部有存储管理部件,能实现分段和分页管理,能够寻址 2 (32)即 4GB 物理地址,有 4级保护功能,此外 ,流水线技术、高速缓冲存储器(CACHE)和高速总带宽大大的缩短了指令的执
4、行时间。80386 的内部结构分为中央处理部件 CPU、存储管理部件 MMU 和总线管理部件 BIU.中央处理部件由指令部件和和执行部件组成,指令部件有两个指令预取和已译码指令队列;执行部件含 32 位算术运算单元 ALU,8 个 32 位通用寄存器和一个 64 位桶型移位器。存储管理部件由分段部件和分页组成,存储器采用分段、分页结构,每页位 4KB,程序或数据都以页位单位进入实存;每个段可包含多个页,最大容量位 2(32)=4GB.一个任务可包含 16K 个段,可为每个任务提供 16K*4GB 的虚拟存储空间。80386 的寄存器:通用寄存器、段寄存器、指令指针寄存器、系统地址寄存器、标志寄
5、存器、控制寄存器、调试寄存器、测试寄存器。见 P2891:通用寄存器组EAXEBXECXEDXESPEBPESIEDI2.段寄存器6 个 16 位的选择器寄存器和 6 个 64 位的描述符寄存器,选择器寄存器AH ALBH BLCH CL DH DL SPBPSIDI在实地址模式下和 8086 相同,在保护虚地址方式下存放段选择字。3 指令指针和标志寄存器 32 位的 EIP 可寻址 4GB 的是存。4 标志寄存器 较 80286 多定已了 VM 和 RFVM 虚拟方式标志位。 VM=1 表示工作在虚地址方式。RF 恢复标志位。 RF=1 表示下面的指令中所有故障都被忽略,当成功执行完每条指令
6、时,RF 被置位。5 控制寄存器 CR0 CR1 CR2 CR3其中 CR0 的低 16 位为机器状态字CR1 斩时没有定义CR2 存放最后一次发生页故障的线性地址。CR3 页目录表的物理地址(低 12 位为零 使页目录表在页的整数边界上)6系统地址寄存器 GDTR IDTR LTDR TRGDTR 全局描述附表寄存器 存放 32 位的段基址和 16 位界限LDTR 局部描述附表寄存器 存放局部描述附表的段选择字IDTR 中断描述附表寄存器 存放中断描述附表的 32 位段基址位和 16位界限TR 任务描述符寄存器 存放任务状态表的 16 位段选择字。7调试寄存器 (DR0-DR7)为程序员提供
7、 8 个调试(DEBUE )寄存器31 0DR0DR1: DR0_DR3 用来设置 4 个断点DR2DR3DR4: DR5DR6 :保留断点状态 DR7: 设置断8.测试寄存器测试命令寄存器,对 RAM 和相关联存储器进行测试保留测试状态*80386 和 80486 的地线性断点地址 0 线性断点地址 1线性断点地址 2线性断点地址 3保留保留断点状态断点控制TR6 测试控制寄存器TR7 测试状态寄存器址总线和数据总线80386(要外加协处理低 80387)和 80486 的对外数据和地址总线都时 32位,要进行 16 位和 8 位数据传送DBUSABUS(2-31) EB0-EB3*32 微
8、处理器的工作方式1 实地址方式:原理同 8086,能处理 32 位数据。2 保护方式:CPU 可访问 4GB 的物理地址空间,虚拟存储空间可达4GB*16K,采用分段分页(可选)的存储管理、具有保护功能,能实现多任务和多用户的目的。3虚拟 8086 方式:是一种具有保护功能又能执行 8086 代码的工作方式。3 种工作方式之间的转换见 P294A0A1CE CE CE CE一、 实地址方式32 位微处理器加电复位后处于实地址方式,允许访问 32 位寄存器(图P295)A. 段的大小位 16KB。B. 32 位有效地址要小于 0000FFFFH(只有 A0-A19 有效) 。C. 存储器中系统初
9、始化区为:FFFFFFF0-FFFFFFFFH;中断向量表为:0000F-003FFH*32 位微处理器的地址空间(逻辑空间(也叫虚拟空间) 、线性空间、物理空间)物理存储器:由地址总线宽度决定的存储器空间。逻辑存储器(虚拟存储器):程序占有的空间。程序员编程实使用逻辑地址,不能直接指出物理存储器地址。32 位微处理器可访问 4GB 的物理空间,每个任务最大可达 2(46)字节(虚拟存储空间是程序占有的空间) 。存储管理部件负责把虚拟地址转换位物理地址。1、 段部件将逻辑空间转换为 32 为的线性地址空间,不分页时,线性地址=物理地址。分页时,分页部件将线性地址转换为物理地址。 3 选择器寄存
10、器中的高 14 位和描述符寄存器中的 32 位构成 46 位虚拟存储空间。1 16 位微处理器的变换(p297)2 32 位微处理器的变换(p297)*描述附表(虚拟地址转换位物理地址的表)描述符表寄存器中有描述附表寄存器的起始地址,描述附表中的描述符有 8 个字节组成,它包含段的起始地址、大小、和属性。CPU 根据描述附表寄存器中描述符的起始地址和选择器寄存器中的高 14 位决定的描述符序号获得描述符的物理地址,从而获得段的起始地址。 (见 P298) 。其中描述符的物理地址=选择器寄存器中的高 14 位*8+描述附表的起始地址1) 32 位微处理器要通过描述附表获得段的起始地址,8086
11、的代码不包括描述符表,因此,保护方式下不能运行 8086 程序。2) 32 位微处理器通过描述附表获得的段地址再加上偏移量就得到物理地址。虚拟存储器程序46 位逻辑地址分段部件对逻辑地址进行变换。地址总线上的 32 位物理地址段寄存器要把虚拟地址变换位物理地址 CPU 要访问描述附表,这需要花费时间,在一定程度上影响了 CPU 的速度。32 位微处理器的段寄存器由 16 位的选择寄存器和 64 位的描述符寄存器构成,描述符寄存器有描述符表中的表述符的相关信息,访问描述符寄存器就等于访问了描述符表。例、 MOV AH, FS:BIANLIANG虚拟地址(逻辑地址)FS:BIANLIANG,要通过
12、访问 FS 描述符寄存器,获得段基址,再加上偏移量就得到物理地址。物理地址描述符描述符的作用是描述段,它由 8 个字节组成(详见 P299)16 位选择器寄存器 CS属性 12 位16 位选择器寄存器 DS 12 位属性 32 位段的起始地址 20 位段的大小FS 起始地址1)20 位 记录段的大小:G=0 段的单位时字节,段的最大范围是 1MBG=1 段的单位是 4KB(页),最大范围是 4GB保护方式保护方式最主要的特点是支持多用户多操作系统,保护方式主要从特权级、存储器保护和分页管理几方面使各用户各操作系统间可靠安全运行。1 特权级及特权规则1) PL0PL3:在保护方式运行时分 4 个
13、特权级,其中 PL0 的特权级最高。RPL-请求特权级,由选择器寄存器中的最低两位决定。DPL-特权级描述符,一个任务可访问的权限,由描述符的第5、6 位决定。CPL当权特权级,指当前正在执行的任务的特权级,即正在执行代码的优先级,它由 CS 寄存器的最低两位来决定。EPL有效特权级,RPL 和 DPL.2) 计算机中保护体制的形成(图 P301)3) 特权级规则(对不同任务之间的数据和过程的访问规则)A 存储在特权级为 PL 段中的数据,可由同级或更高特权级上执行的代码来访问。B 具有特权级为 PL 的代码段或过程可由统计或叫低的特权级的任务来调用。保护方式的寻址以选择器寄存器中的高 14
14、位为索引,在描述符表中找到对应的描述符,描述负中的段基址再加上偏移量就得到物理地址。 (P303)分页分页是在保护方式下的另一种存储器管理方式,和分段不同,他把程序分成大小相同的页,他在分段的基础上把分段部件的得到的线性地址转换为物理地址,分页部件包括:页目录、页表、及页面CR2 存放最近一次发生页面故障的线性地址CR3 它存放页目录的物理起始地址。 分页部件把来自分段部件的线性地址进行转换(见 P304)*线性地址的高 10 位为页目录的索引,共有 1KB 条,每条目录有 4 字节,页目录长 4KB.页目录中有页表的首地址,页表中有页的首地址。*线性地址的次高 10 位页表索引,共有 1KB 条,每条有 4 字节,页表长4KB。虚拟 8086 方式虚拟 8086 方式有称 V86 方式,这实在保护方式下建立的工作模式,这种工作模式级有保护功能,又可执行 8086 代码。32 位微处理器具有多用户多操作系统功能,它允许操作系统再每一个任务内指定哪些程序使用 8086 方式的地址,那些程序使用保护方式寻址。V86 模式可利用分页,把 1MB 的地址空间映射到 4GB 的线性地址空间。*线性地址变换成物理地址例:P306.