zoukankan      html  css  js  c++  java
  • 转载:CPU基础知识

    简介
    文章内容来源于网络。
    中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。
     
    位数
    二进制的每一个0或1是组成二进制的最小单位,称为位(bit)。字长是指同一时间能并行处理的二进制位数。字长可以分为CPU字长、操作系统字长。CPU字长也称为CPU的位宽或运算位数,现在绝大部分CPU都是64位的。
     
    指令集
    指令集是存储在CPU内部,是CPU能支持的指令的集合。外部通过指令可以对CPU运算进行指导和优化。通常可以把指令集分为精简指令集 (RISC) 与复杂指令集 (CISC) 。
    精简指令集 (RISC)每个指令的长度较短,完成的动作比较简单,因此执行速度较快。但是若要做复杂的事情,就要由多个指令来完成。常见的精简指令集 (RISC)有Oracle的 SPARC 系列、IBM 的 Power Architecture 系列、ARM Holdings的 ARM CPU 系列等等。
    复杂指令集 (CISC)每个指令的长度并不相同,通常包含若干个较低阶的操作,指令数目多且复杂 。因为指令较为复杂所以每个指令花费的时间较长,但每个指令可以完成的动作比较丰富。常见的CISC指令集有AMD、Intel、VIA等的x86架构的CPU。
    指令集和CPU的位数是有联系的。16位CPU的指令集也是16位,32位CPU的指令集也是32位,但32位指令集也向上兼容16位指令集。操作系统位数等于其所依赖的指令集位数并小于等于CPU位数,因为线上兼容,所以可以在64位CPU上运行32位操作系统,在32位CPU上运行16位操作系统,反之则不可以。
     
    发展
    1.1971年,Intel 推出了世界上第一款4位的 CPU 4004。
    2.1972年,Intel 推出了世界上第一款8位的 CPU 8008。
    3.1974年,Intel 推出了一款8位的 CPU 8080。
    4.1978年,Intel 推出了世界上第一款16位的 CPU 8086,x86架构诞生。
    5.1979年,Intel 推出了一款16位的 CPU 8088,它的内部数据总线是16位,外部数据总线是8位。
    6.1980年,Intel 推出了二款16位的 CPU 80186、80188。
    7.1982年,Intel 推出了一款16位的 CPU 80286。
    8.1985年,Intel 推出了第一款x86架构的32位的 CPU 80386,别名是i386。
    9.1989年,Intel 推出了一款32位的 CPU 80486,它是最后一款以数字命名的处理器,别名是i486。
    10.1993年,Intel 推出了一款32位的 CPU Pentium,采用P5微处理架构,别名是i586。
    11.1995年,Intel 推出了一款32位的 CPU Pentium Pro,采用P6微处理架构,从这之后都算i686。
    12.1997年,Intel 推出了一款32位的 CPU Pentium II,底层架构类似于Pentium Pro但是做了改进。
    ......
    x86架构首度出现在1978年推出的Intel 8086中央处理器,它是从Intel 8008处理器中发展而来的,而8008则是发展自Intel 4004的。Intel之后又推出了包括80186、80286、80386以及80486。 在设计上,这些后续的处理器使用的指令集都是在8086的基础上添加新支持的指令进行改进的,因此可以说都是向下兼容的,即能在8086上运行的程序在80486上也一定能运行。由于都是以86结尾(8088也是x86),所以把这一系列的指令集称之为x86架构。准确的来讲,x86这一术语并不是指的某一个具体的指令集,而是在8086的指令集基础上发展而来的所有指令集的泛称。实际上,在80486以后Intel推出的绝大多数CPU都是x86的,包括Pentium 、Pentium Pro 、Pentium MMX ,Pentium 2 ,还有后面的Pentium 3、Pentium 4 、Pentium D 、Core 全系列,(x86系列的) Xeon。另外,使用x86架构的处理器制造商远非Intel一家,最著名的就是AMD,其他的还有VIA,Cyrix。可以说,x86架构就是桌面级CPU的标准,你能买到的品牌或者组装的PC,几乎没有不是x86 CPU的。不过虽说都是x86的,但只能说明使用的指令集是兼容8086的,除8086指令集之外的其他指令支持情况就不一样。
    从1985年80386开始,intel通过对x86架构进行32位的扩展,实现了32位CPU,而之前的都是16位。Intel把支持32位的x86指令集架构命名为IA-32(Intel Architecture 32bit)。实际上由于32位x86处理器的统治性,x86几乎等于IA-32,即32位的x86或x86-32。
    在1999年,AMD宣布了x86-64架构。其实 现方式与之前的80386思路一致,继续对IA-32扩展,向前兼容IA-32。 2003年第一款x86-64处理器发布,AMD Operon。同时AMD也将x86-64正式命名为AMD64。这下Intel彻底2B了,以前都是AMD小弟追随者Intel大哥的脚 步,如今AMD先实现了64位民用桌面级CPU。其实Intel也有其64位计划,在2004年的IDF上,Intel承认其64 位计划,命名为IA-32e,即IA-32 extension,之后又改成EM64T,Extended Memory 64 Technology,最终命名为Intel64。实际上EM64T与AMD64几乎相同。早期EM64T不兼容AMD64的少量指令,但是由于AMD在64位技术中的领先地位,Intel2005年不得 不宣布将完全兼容AMD64。所以现在装的64位版本操作系统从没有说是面向Intel还是AMD的。不过在称谓上,大多数厂商还是使用 x86-64(x86_64,或者就是x64)来称呼此架构,从而保持中立。
    i386对应IA-32,并且由于兼容性肯定适用于i486~i686;i686不仅适用Pentium Pro,也适用K7架构的Athlon。
    Intel在AMD推出民用64位技术后很被动。其实Intel也有64位x86 CPU的计划,但是由于对于这个市场的不重视,认为需求不足,一直不见面世。而在对64位需求更加强劲的企业服务器和高性能计算市场上,1994年HP就 和 Intel合作开始开发一款与x86架构完全没关系的全新的IA-64架构。显然IA-64不兼容x86-64更别说IA32,IA64天生就是64位,基于显式并行指令运算(EPIC)。 2001年第一款IA-64架构的处理器Itanium安腾发布。可见,IA-64跟IA-32在实现上没有什么关系,跟x86-64也是完全并行的两种架构,x86架构的Intel的Xeon就是Intel Itanium的竞争对手之一。后来Intel把IA-64也干脆改称为Intel Itanium架构。
  • 相关阅读:
    8102Java的学习呼声有所下降,2019年还值得学习吗
    大数据开发面试题详解:Hadoop的运行原理
    总结:java大神的自学路线
    大数据开发工程师必看书籍
    java主要编程工具
    bzoj3791 作业
    bzoj3750 [POI2015]Pieczęć
    bzoj1143 [CTSC2008]祭祀river
    bzoj2718 [Violet 4]毕业旅行
    poj3237 Tree
  • 原文地址:https://www.cnblogs.com/gjb724332682/p/8619004.html
Copyright © 2011-2022 走看看