-
8086
Intel 8086是一个由Intel于1978年所设计的16位
微处理器芯片,是x86架构的鼻祖。不久,Intel 8088就推出了,拥有一个外部的8位
数据总线,允许便宜的芯片用途。它是以8080和8085的设计为基础,拥有类似的
寄存器组,但是数据总线扩充为16位。总线界面单元(Bus Interface Unit)透过6字节预存(prefecth) 的队列(queue)位指令给执行单元(Execution Unit),所以取指令和执行是同步的,8086 CPU有20条
地址线,可
直接寻址1MB的存储空间,每一个
存储单元可以存放一个字节(8位)二进制信息。
1.简介
Intel 8086拥有四个16位的
通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了
堆栈指标)。资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K 8 位元的输出输入(或32K 16 位元),以及固定的
向量中断。大部分的指令只能够存取一个内存位址,所以其中一个
操作数必须是一个寄存器。运算结果会储存在操作数中的一个寄存器。
Intel 8086有四个 内存区段(segment)
寄存器,可以从索引寄存器来设定。区
段寄存器可以让 CPU 利用特殊的方式存取1 MB内存。8086 把
段地址左移 4 位然后把它加上
偏移地址。大部分的人都认为这是一个很不好的设计,因为这样的结果是会让各分段有重叠。尽管这样对组合语言而言大部分被接受(也甚至有用),可以完全地控制分段,使在编程中使用
指针(如C编程语言) 变得困难。它导致指针的高效率表示变得困难,且有可能产生两个指向同一个地方的指针拥有不同的地址。更坏的是,这种方式产生要让
内存扩充到大于 1 MB 的困难。而 8086 的
寻址方式改变让内存扩充较有效率。
8086处理器的
时钟频率介于4.77MHz(在原先的IBM PC频率)和10 MHz之间。8086 没有包含浮点指令部分(FPU),但是可以通过外接数学辅助处理器来增强浮点计算能力。Intel 8087 是标准版本。
2.微处理器
8086是Intel系列的16位微处理器,芯片上有4万个晶体管,采用 HMOS工艺制造,用单一的+5V电源,
时钟频率为4.77MHz~10MHz。
8086有16根数据线和20根
地址线,它既能处理16位数据,也能处理8位数据。可寻址的内存空间为1MB。
在取得IBM个人电脑部门敲定的重要销售合约之后,Intel 8088处理器不仅成为了IBM个人电脑的大脑,而且还让IBM个人电脑成为新款畅销产品。为此,Intel 8088处理器的成功,也将英特尔进入“财富杂志500大企业排行榜”,
《财富》杂志将英特尔评为 “70年代最成功的企业”之一。Intel 8088晶体管数目约为2.9万颗。
1978年英特尔公司生产的8086是第一个16位的微处理器。很快Zilog公司和摩托罗拉公司也宣布计划生产Z8000和68000。这就是第三代微处理器的起点。
8086微处理器最高主频速度为8MHz,具有16位数据通道,
内存寻址能力为1MB。同时,英特尔还生产出与之相配合的
数学协处理器i8087,这两种芯片使用相互兼容的
指令集,但intel8087指令集中增加了一些专门用于对数、指数和三角函数等数学计算的指令。人们将这些指令集统一称之为 x86指令集。虽然以后英特尔又陆续生产出第二代、第三代等更先进和更快的新型CPU,但都仍然兼容原来的x86指令,而且英特尔在后续CPU的命名上沿用了原先的x86序列,直到后来因商标注册问题,才放弃了继续用阿拉伯数字命名。
1979年,
英特尔公司又开发出了8088。8086和8088在芯片内部均采用16位数据传输,所以都称为16位微处理器,但8086每周期能传送或接收16位数据,而8088每周期只能传输8位。因为最初的大部分设备和芯片是8位的,而8088的外部8位的
数据传送、接收能与这些设备相兼容。8088采用40针的
DIP封装,
工作频率为6.66MHz、7.16MHz或8MHz,微处理器集成了大约29000个晶体管。
8086和8088问世后不久,英特尔公司就开始对他们进行改进。他们将更多功能集成在芯片上,这样就诞生了80186和80188。这两款
微处理器内部均以16位工作,在外部输入输出上80186采用16位,而80188和8088一样是采用8位工作。
1981年,IBM公司将
8088芯片用于其研制的PC机中,从而开创了全新的
微机时代。也正是从8088开始,个人电脑(PC)的概念开始在全世界范围内发展起来。从8088应用到IBM PC机上开始,个人电脑真正走进了人们的工作和生活之中,它也标志着一个新时代的开始
3.结构
总线接口单元 (BIU bus interface unit)
总线接口部件由下列各部分组成:
⑴4个段
地址寄存器:
CS(code segment)——16位的代码
段寄存器;
DS(data segment)——16位的数据段寄存器;
ES(extra segment)——16位的扩展段寄存器;
SS(stack segment)——16位的堆栈段寄存器;
⑵16位的指令指针寄存器IP;
⑶20位的地址
加法器;
执行单元
执行部件由下列几个部分组成:
⑴8个
通用寄存器:即AX、BX、CX、DX,BP,SP,SI,DI ;