- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简述x86寻址演变.PDF
第一讲 简述 x86 寻址演变
我们知道,操作系统是一组软件的集合 。但它和一般软件 同,因为它是充分挖掘
硬件潜能的软件,也可以说,操作系统是横跨软件和硬件的桥梁 。因此,要想深入解析操
作系统内在的运作机制,就必须搞清楚相关的硬件机制——尤其是内存寻址的硬件机制 。
操作系统的设计者必须在硬件相关的代码与硬件无关的代码之间划出清楚的界限,
Linux
以便于一个操作系统很容易地移植到不同的平台 。 的设计就做到了这点,它把与硬
arch(architecture )
件相关的代码全部放在 一词的缩写,即体系结构相关 的目录下,在
这 个 目录下 ,可 以找到 Linux 目前版本 支持 的所有 平 台 ,例如 ,支持 的平 台有
arm alpha, i386 m68k mips i386
、 、 、 、 等十多种。在这众多的平台中,大家最熟悉的就是 ,即
Intel80386 体系结构。因此,我们所介绍的内存寻址也是以此为背景 。
1 、 鼻祖图灵
曾经有一个叫 “阿兰.图灵”的天才 (据说他 16 岁开始研究相对论,虽然英年早逝,但才
气纵横逻辑学 、物理学 、数学等多个领域,尤其是数学逻辑上的所作所为奠定了现代计算技术
的理论基础 。后来以他名字命名的 “图灵奖”被看作计算机学界的最高荣誉) 。他设想出了
一种简单但运算能力几乎无限发达的理想机器,这不是一个具体的机械设备,而是一个
思想模型,可以用来计算能想象得到的所有可计算函数。这个有趣的机器由一个控制器,
一个读写头和一条假设两端无限长的带子组成。工作带相当于存储器,被划分成大小相同
的格子,每格上可写一个字母,读写头可以在工作带上随意移动,而控制器可以要求读
写头读取其下方工作带上的字母 。
这听起来仅仅是纸上谈兵,但它却是当代冯.诺依曼计算机体系的理论鼻祖 。它带来
的 “数据连续存储和选择读取思想”是目前我们使用的几乎所有机器运行背后的灵魂。计
算机体系结构中的核心问题之一就是如何有效地进行内存寻址,因为所有运算的前提都
是先要从内存中取得数据,所以内存寻址技术从某种程度上代表了计算机技术
2 4 8
、 位和 位处理器及寻址
在微处理器的历 上,第一款微处理器芯片4004是由 Intel推出的,那是一个 4位
的微处理器。在 4004之后,Intel推出了一款8位处理器 8080,它有1个主累加器(寄存
器 A)和6个次累加器(寄存器 B,C,D,E,H和 L),几个次累加器可以配对(如组成 BC, DE
或HL)用来访问16位的内存地址,也就是说 8080可访问到 64K内的地址空间。
3 16
、 实模式- 位处理器及寻址
几年后,Intel开发出了16位的处理器 8086,这个处理器标志着Intel x86王朝的
开始,这也是内存寻址的第一次飞跃。之所以说这是一次飞跃,是因为 8086处理器引入
了一个重要概念—段。
8086处理器的寻址目标是 1M大的内存空间,于是它的地址总线扩展到了 20位。但是,
一个问题摆在了Intel设计人员面前,虽然地址总线宽度是 20位的,但是CPU中 “算术
逻辑运算单元 (ALU)”的宽度,即数据总线却只有 16位,也就是可直接加以运算的指
针长度是 16位的。如何填补这个空隙呢?可能的解决方案有多种,例如,可以像一些8位
CPU中那样,增设一些20位的指令专用于地址运算和操作,但是那样又会造成 CPU内存
结构的 均匀。又例如,当时的PDP-11小型机也是 16位的,但是其内存管理单元
(MMU)可以将16位的地址映射到 24位的地址空间。受此启发,Intel设计了一种在当时
看来 失为巧妙的方法,即分段的方法。 在微处理器的历 上,第一款微处理器芯片
4004是由 Intel推出的,那是一个 4位的微处理器。在 4004之后,Intel推出了一款8位
处理器 8080
文档评论(0)