在8086/8088系统中,内存的逻辑地址由哪两部分组成的?

来源:百度知道 编辑:UC知道 时间:2024/05/18 08:48:02
谢谢,问答题有没有详细一点的资料

暂存器和资料总线?

Intel 8086是一个由Intel于1978年所设计的16位元微处理器芯片,给了x86架构兴起开端。不久,Intel 8088就推出了,拥有一个外部的8位元总线,允许便宜的芯片用途。它是以8080和8085(它与8080有组合语言上的原始码兼容性)的设计为基础,拥有类似的暂存器集合,但是扩充为16位元。总线界面单元(Bus Interface Unit)透过6字节预存(prefecth) 的贮列(queue)喂指令给执行单元(Execution Unit),所以取指令和执行是同步的–一种 pipelining 的原始形式(8086 指令长度变化从 1 到 4 字节)。
Intel 8086拥有四个16位元一般的暂存器,也能够当作八个8位元暂存器来存取,以及四个16位元索引暂存器(包含了堆栈指标)。资料暂存器通常由指令隐含地使用,针对暂存值需要复杂的暂存器配置。它提供64K 8 位元的输出输入(或32K 16 位元)埠,以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个运算子必须是一个暂存器。运算结果会储存在运算子中的一个。
Intel 8086有四个 内存区段(segment) 暂存器,可以从索引暂存器来设定。区段暂存器可以让 CPU 利用奇怪的方式存取内存的 1 MB。在现今有区段的处理器中,8086 把区段暂存器左移 4 位元然后把它加上去位址。大部分的人都认为这是一个很不好的设计,因为这样的结果是会让各区段有重叠。尽管这样对组合语言而言大部分被接受(也甚至有用),可以完全地控制区段,但是在语言中,让使用指标 (像是 C 编程语言) 变得困难。它导致指标的高效率表示变得困难,且有可能产生两个指向同一个地方的指标拥有不同的位址。更坏的是,这种方式产生要让内存扩充到大于 1 MB 的困难。而 80286 的寻址方式改变让内存扩充较有效率。
处理器的执行时脉速度介于4.77(在原先的IBM PC)和10 MHz.
8086 没有包含任何的 浮点 指令,但是可以连接到数学辅助处理器来增加它的能力。Intel 8087 是标准版本,但是制造商像是 Weitek 随即提供更高效能的选择性。
第一个以 8086 为基础的商业微电脑是 Mycron