Intel 8086
1978年6月INTER推出了8086微处理器,主频4.77MHz,采用16位寄存器、16位数据总线和29000个3微米技术的晶体管,标志着第三代微处理器问世。售价360美元。 不过当时由于360美元过于昂贵,大部分人都没有足够的钱购买使用此芯片的电脑,于是 Intel 在1年之后,推出了8086的简化版8088,是一款4.77MHz准16位微处理器。它在内部以16位运行,但支持8位数据总线,采用现有的8位设备控制芯片,包含29000个3微米技术的晶体管,可访问1MB内存地址,速度为0.33MIPS。IBM公司1981年生产的第一台电脑就是使用的这种芯片。这也标志着x86架构和IBM PC 兼容电脑的产生。
发布的时候,8086的时钟频率有4.77,8和10MHz 三个版本,包括了具有300个操作的指令集。其中8MHz 版本包含了大约28,000个 晶体管,具备0.8 MIPs 的能力。
8085是8位的微处理器
Intel 8086介绍编辑本段回目录
Intel 8086 微处理器8086是由Intel于1978年所设计的16位微处理器芯片,同时也是为x86架构系列之开端。之后不久,又推出了Intel 8088,它在外部使用8位地址总线连接,成为8086的一个低成本替代品。8086以8080和8085(它与8080有汇编语言上的源代码兼容性)的设计为基础,拥有类似的寄存器集合,但是扩充为16位。总线接口单元(Bus Interface Unit)通过6字节预存(prefetch)的贮列(queue)将指令送给运行单元(Execution Unit),所以取指令和运行是同步的-一种pipelining的原始形式(8086指令长度变化从1到6字节)。
8086有四个完全一样的16位寄存器,但也能够当作八个8位寄存器来访问;以及四个16位索引寄存器(包含堆栈索引)。数据寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K 8位的输出输入(或32K 16位)端口,以及固定的向量中断。大部分的指令只能够访问一个存储器地址,所以其中一个操作符必须是一个寄存器。运算结果会储存在操作符中的一个。
8086有4个存储器区段(segment)寄存器,可以通过索引寄存器来设置。区段寄存器可以让CPU一种当时是全新的方式访问多达1MB之存储器。在现今有区段的处理器中,8086把区段寄存器左移4位然后把它加上去寻址。这通常被认为是一个不太好的设计,因为这么做会让各区段有重叠。尽管这样对于汇编语言而言会显得有用——因为可以充分控制区段,但同时却使高级语言中的指针(像是C编程语言)使用变得困难。它降低了指针的高效率,且有可能产生两个指向同一个地方的指针拥有不同的地址。更坏的是,这种方式产生要让存储器扩充到大于1MB的困难。而80286的寻址方式改变让存储器扩充较有效率。
处理器的运行时频率介于4.77(在原先的IBM PC)和10MHz.
一般的运行周期时间(预估):
加法:3–4(寄存器),9+EA–25+EA(存储器访问)
乘法:70–118(寄存器),76+EA–143+EA(存储器访问)
搬移:2(寄存器),8+EA–14+EA(存储器访问)
进程跳跃:11–15,18+EA(存储器访问)
远程跳跃:15,24+EA(存储器访问)
EA:计算有效地址的时间,范围是5—12个周期
8086没有包含任何的浮点指令,但是可以连接到数学辅助处理器来增加它的能力。Intel 8087是标准版本,但是其他制造商像是Weitek提供了更高效能的产品。
8086的复制产品有NEC V20、V25和V30处理器。
Intel 8086微处理器详解编辑本段回目录
微型计算机主要由微处理器(CPU)、主存储器、外部设备及互连接部件组成,由总线在各部件之间提供通信,而总线有数据总线、地址总线、控制总线组成。
其中CPU是他的核心部分,主要有Intel 8086微处理器组成;主存储器用来保护程序和数组,现在由于技术还差那么一点,主存储器的成本比较高,存储的空间不能过大,为了弥补存储空间不够大这一不足呢,微型计算机还提供了价格便宜的大容量存储器作为辅助存储器,如现在已经淘汰的软盘,硬盘等。除此之外呢,微型计算机还配置队中外部设备,其中键盘 鼠标 显示器是最基本的配置,这些东西你用这挺方便的,不过他们的结构、工作原理却是相当相当复杂的,你有没打算搞单片机,详细说明这些对你也没大用,你知道一下就行,为了后来的学习需要,我就简单的介绍一下Intel 8086有关的部分吧。
哦,也就是说这些东西我适当知道一下就行,不用深入研究?
对,Intel 8086是Intel 公司在1977年推出的16位处理器,那时候咱俩还没出生呢,现在普及用的是32位的处理器,64位的也有,只不过用的人不多罢了,微处理器按功能可分为两大部分:执行部件和总线接口部件,下面呢我就分别介绍这两个不见的基本结构及功能。
执行部件负责指令的执行。他主要由寄存器组、算逻部件、标志寄存器组成。从学习汇编语言程序设计角度来看,了解寄存器组的分工及标志寄存器器的作用是很重要的,我先介绍下寄存器组,至于标志寄存器我在后面再说吧,一下说这么多真怕你接受不了。
执行部件中含有8个16位的的寄存器,这些寄存器属于CPU的专用存储器,按其用途可以分为两组:数据寄存器和变址寄存器。
数据寄存器主要用来保存操作数或者运算结果等信息。它的存在减少了为存储操作数所需访问总线和主存储器的时间,加快了机器的运行速度。其中AX称为累加器,BX称为基址寄存器,CX称为计数寄存器,DX称为数据寄存器,他们既可以作为16位的存储器使用,又可以按高8位和低8位分开做8为存储器使用,因此,又可将这4个寄存器分成两组:H组(AH、BH、CH、DH)和L组(AL、BL、CL、DL)。除此之外呢,这些寄存器对于某些指令还有固定的用途,这些固定的使用还要设计很多具体指令的功能,我就先不详细介绍,到后面慢慢说。
指示器变址寄存器组有SI、DI、SP、BP,这四个寄存器都是16位的寄存器,他们一般用来存放操作数的便宜地址,用作指示器或变址寄存器。其中呢,SP称为堆栈指示器,BP为堆栈存操作的基址寄存器。SP中存放的是当前堆栈中栈顶的便宜地址,BP中存放的是该段中某一存储单元的便宜地址。SI和DI除做一般的指示器和变址寄存器之外,在串操作指令中,SI往往被规定用来作取源操作数的指示器,而DI被规定用来做目的操作数的指示器,因此,SI称源变址寄存器,DI称目的变址寄存器,他们中的内容是当前数据段或当前附加数据段中某一存储单元的偏移地址。
当SI、DI和SP不能做指示器和变址寄存器时,也可以将他们当作数据寄存器使用,用来保存操作数和运算结果,但是这个时候呢他们只能用来做16位寄存器而不能是8位的。由于SP是专用的堆栈指示器,他不能做数据寄存器使用。
哦,我想起上节课说的东西了,现在你说的这些有点晕了。
就这几个东西,慢慢理解下就好,我也没什么技巧。再说说总线接口部件吧。
总线接口部件执行所有的总线操作,按执行部件的要求,与主存储器或输入/输出设备交换数据,如:从主存中取出指令送入指令排队机构排队、取操作数送执行部件参加运算或将操作结果送输入输出设备等….
由于执行部件所提供的存储器是16位的,而8086访问1M的存储空却需要20位的地址,为了形成这20位的地址,在总线接口不见中设立的4个段寄存器(CS、DS、ES、SS)。CPU在当前某一时刻可以直接访问4个存储段:一个代码段,一个数据段,一个堆栈段和一个附加数据段,每个段最大只能达到64K字节。由于这四个段在当前可以接受CPU的访问,为了与当前CPU不可访问的段区别,常常将这4个段称为当前代码段、当前堆栈段、当前数据段和当前附加数据段。他们的起始基地址分别保存在4个段寄存器中,其中:CS寄存器指示当前代码段,即它规定了现行程序段所在的存储区首址;SS寄存器指示当前堆栈段;DS寄存器指示当前数据段,ES指示当前附加数据段,即DS和ES规定了现行程序中所用数据的存储区首址。关于他们的使用及怎样形成20位物理地址我会在后面慢慢给你介绍的。
在总线接口部件中,有一个很重要的寄存器——指令指示器IP,他总是保存着下一次将要从主村中取出指令的偏移地址,其值为该指令到所在段段首址的字节距离。在目标程序运行时,,IP的内容由微处理器硬件自动设置,程序不能直接访问IP,但有些指令却可使其改变,如转移指令、子程序调用指令等。
总线接口部件根据IP的内容与CS寄存器的内容形成指令的物理地址,并根据该地址从主存中取出指令,送入指令队列机构排队,然后IP增量,形成下一个字节的便宜地址。执行部件按顺序从队列机构中取出一条条指令顺序执行。如果碰到要改变IP的指令如转移指令,则清队列,直接按IP的新内容与CS寄存器的内容形成指令的物理地址从主存中取出指令,立即送执行部件执行,然后再从该地址开始,重新继续取指令填满排队机构。
所以啊,总线接口部件主要负责与主存储器、外部设备接口,即8086微处理器与主存储器之间的信息传送都是由总线接口部件进行的,例如,从贮存制定的地址中取出指令,送指令排队机构排队。在执行指令时,所需的操作数也是有总线接口部件从主存中取出,传送给执行部件去使用的,而执行部件专门负责指令的执行。由于取指令与执行指令的工作分开进行,当执行部件在执行一条指令时,总线接口部件已在同时取出下一条(有可能多条)指令排队机构,在一条指令执行完后,执行部件就可以立即在排队机构中取出下一条指令继续执行,这样减少了CPU为从主存取指令而等待的时间,提高了CPU的利用率,也提高了整个系统的运行速度。
Intel 8086 (8087协) 8088 CPU编辑本段回目录
1978年 确立x86地位创造商业奇迹的CPU——8086
大家一般都只知道8086,很少知道8085的存在,下面这个就是8085的真面目:
1978年,8086处理器诞生了。这个处理器标志着x86王朝的开始,为什么要纪念英特尔x86架构25周年?主要原因是从8086开始,才有了目前应用最广泛的PC行业基础。虽然从1971年,英特尔制造4004至今,已经有32年历史;但是从没有像8086这样影响深远的神来之作。
8086/8088的核心
8086的协处理器:8087
8087实际上有13种型号,这里只给出一种的图片,因为都大同小异。
还有一个更关键的因素,是时IBM研究新的PC机来打击苹果的个人电脑。IBM公司需要选择一款强大,易于扩展的处理器来驱动,英特尔的x86处理器取得了绝对的胜利,成为IBM PC的新“大脑”。这个历史的选择也将英特尔公司日后带入了财富500强大公司的行列,并被财富杂志称之为:“七十大商业奇迹之一(Business Triumphs of the Seventies)”
IBM公司的PC大获成功,不但带旺了英特尔的生意,还造就了另外一个商业奇迹——微软公司。比尔。盖茨搭车销售了DOS操作系统,为今天称霸软件行业攫取了第一桶金。不但如此,因为IBM公司的远见,开放了PC架构的授权,康柏(今天已经变成HP的一部分)等第三方的制造商也大获其利。甚至台湾地区等经济的腾飞都与这次历史的联合有着必然的联系,无论从历史,还是产业的眼光来阅读,这个事件都非常值得称颂!
使用8088芯片的笔记本
配置如下:
Intel 8088 CPU
128Kb RAM
3.5" 360kb 或者 720kb 软驱
5MB 硬盘
事实上,IBM在PC XT选用的是8088这个型号。以技术的观点来看,8088其实是8086的一个简版,其内部指令是16位的,但是外部是8位数据总线;相对于8086内部数据总线(CPU内部传输数据的总线)、外部数据总线(CPU外部传输数据的总线)均为16位,地址总线为20位,可寻址1MB内存的规格来说,是稍差了一点,但是已经足以胜任DOS系统和当时的应用程序了。8086集成2.9万只晶体管,时钟频率为4.77MHz,同时还生产出与之配合的数学协处理器8087,这两种芯片使用相同的指令集,可以互相配合提升科学运算的效率。
当然现在的CPU都内建数学协处理器,因此不再需要额外的数学协处理器芯片,但是七十年代的技术限制,一般只能将数学协处理器做成另外一个芯片,供用户选择。这样的好处是减少了制造的成本,提高了良品率,更降低速度不敏感的用户的支出:他们可以暂时不买数学协处理器,直到需要的时候买一个回来插到IC插座里即可。
使用8086的微计算机编辑本段回目录
第一个以8086为基础的商业微计算机是Mycron 2000。
IBM Displaywriter文字处理机也使用8086。在大部分显要的所有微处理器中,IBM PC使用了更窄的存储器总线版本的8086,也就是Intel 8088。
外部链接
参考文献编辑本段回目录
http://zh.wikipedia.org/zh-cn/Intel_8086
http://edu.hzwm.net/jsj/pc.htm
http://dxshenhua888.blog.163.com/blog/static/2157818420075931012531/