微机原理与接口技术 第2章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 段寄存器不再直接存放段基址,而是存放指示段基址的选择符。段寄存器中的T1位决定一个任务(程序)可以拥有一个全局描述符表和一个局部描述符表。 选择符用于选择某个描述符表中的描述符。13位选择码决定了每个描述符表中最多有213个描述符。因此一个任务可拥有的描述符数目最多为2×213个(即16KB个段)。 每个描述符指示存储器的位置、长度和访问权限等。当描述符中的G位为1时,相应的段长度为220×212 (即4GB)字节 故一个任务最多可拥有的编程空间为: 2×213×220×212=246=64TB * 虚拟8086方式 当标志寄存器中位VM置1时,进入虚拟8086方式。 CPU的工作过程与保护方式下的工作过程相同。 允许同时执行8086的操作系统及应用程序以及486的操作系统及486应用程序,因此,多用户可同时使用一台486微处理器,用32位机的代码去模拟运行16位机的程序 。 与实方式相同的形式使用段寄存器,以形成线性基地址(即寻址的地址空间为1MB,段长64KB,段寄存器存放段基址)。通过分页功能,可把虚拟86下的1MB地址空间映象到486微处理器的4GB的物理空间的任意位置。 * * 物理空间(又称主存空间):主存的实际空间,因80486有32根地址线,因此其实际可访问的空间可达232字节(4GB),在编程时只能通过给相应的寄存器赋值,由寄存器所决定的逻辑地址来内部生成。 例如:在实地址方式下,给DS赋值0000H,BX赋值0010H,则 DS:BX称为逻辑地址,其值为0000:0010,这两个寄存器的值由CPU内部的地址加法器自动生成00010H的物理地址,并送到地址线上进行寻址,地址线是不能通过程序直接赋值的。 在实地址方式下,80486的32根地址线只有A0~A19有效,因此此方式下的物理空间为220,1MB。 2.3 80486的存储体系结构 * 逻辑空间(又称虚拟空间):虽然80486只有4GB的实际物理空间,但在编程时所使用的是逻辑地址。 这个逻辑地址在实地址方式下就是CS:IP的方式,而CS和IP都是16位且相互独立,因此该方式下逻辑地址就是32位,也就是说程序中可以写0000:0000H~FFFF:FFFFH之间的任何一个地址,通过逻辑地址能够访问232的逻辑空间。 思考:实际空间只有1MB,多出来的空间在哪里?(多个逻辑地址可以只对应一个实际的物理地址) 2.3 80486的存储体系结构 * 而在保护方式下,80486的逻辑空间是64TB,即246,这是如何实现的呢?这是由80486的分段和分页管理机制来实现的。 1、分段管理 6个16位的段寄存器是段选择符的值,其中高13位为索引,低3位中1位描述符类型位TI和2位特权级别位,其中索引可以访问213个段描述符,也就是能够选择213个段,TI能够决定访问GDT还是LDT,两个表一共2X213个段,也就是说在编程时给段寄存器赋的值只有高14位用于选择段描述符,从而决定了段基址,再由偏移寄存器给出的32位偏移地址,则由段寄存器和偏移寄存器生成的逻辑空间是232+14=246,即64TB。 2.3 80486的存储体系结构 * 2、分页管理 分页管理不可用时,由GDTR、LDTR这些系统地址寄存器和段寄存器所决定的段基址(32位)与偏移寄存器(ESI、EDI等)所决定的段内偏移量(32位)直接相加就是线性地址,此时的线性地址等于物理地址。 当分页部件启用时,由分段管理得到的线性地址被划分为三个部分:页目录表、页表、偏移量。 2.3 80486的存储体系结构 页目录表 31 22 页表 页内偏移 21 12 11 0 物理页号 31 12 页内偏移 11 0 线性地址 物理地址 * 2、分页管理 页内偏移为0~11共12位,所以页大小为4KB,每一个页都有一个起始地址,低12位为0,将1024个页的页起始地址(页表项32位)放在连续的存储空间上形成页表,所以每一个页表的大小为1024X32bit=4KB。 页表为12~21共10位,所以能够存储页表项的个数为1024个,每一个页表又有一个页表起始地址(32位)低22位全为0,将1

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档