8086(8086cpu)
8086
本文内容来自于互联网,分享8086(8086cpu)
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 字节)8086 CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。为了便于对存储器进行存取操作,每一个存储单元都有一个惟一的地址与之对应,其地址范围用十进制表示为0~1048575,用十六进制表示为00000H~FFFFFH。
Intel 8086拥有四个16位元一般的暂存器,也能够当作八个8位元暂存器来存取,以及四个16位元索引暂存器(包含了堆栈指标)。资料暂存器通常由指令隐含地使用,针对暂存值需要复杂的暂存器配置。它提供64K 8 位元的输出输入(或32K 16 位元)埠,以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个运算子必须是一个暂存器。运算结果会储存在运算子中的一个。
Intel 8086有四个 内存区段(segment) 暂存器,可以从索引暂存器来设定。区段暂存器可以让 CPU 利用奇怪的方式存取内存的 1 MB。在现今有区段的处理器中,8086 把区段暂存器左移 4 位元然后把它加上去位址。大部分的人都认为这是一个很不好的设计,因为这样的结果是会让各区段有重叠。尽管这样对组合语言而言大部分被接受(也甚至有用),可以完全地控制区段,但是在语言中,让使用指标 (像是 C 编程语言) 变得困难。它导致指标的高效率表示变得困难,且有可能产生两个指向同一个地方的指标拥有不同的位址。更坏的是,这种方式产生要让内存扩充到大于 1 MB 的困难。而 8086 的寻址方式改变让内存扩充较有效率。
处理器的执行时脉速度介于4.77(在原先的IBM PC)和10 MHz. 8086 没有包含任何的 浮点 指令,但是可以连接到数学辅助处理器来增加它的能力。Intel 8087 是标准版本,但是制造商像是 Weitek 随即提供更高效能的选择性。
第一个以 8086 为基础的商业微电脑是 Mycron 2000。
IBM Displaywriter 文字处理机也使用 8086。在大部分显要的所有微处理器中,IBM PC 使用 了更窄的内存总线版本的 8086 也就是 Intel 8088。