服务器 频道

漫谈微处理器多核化的发展与趋势

    【IT168 专稿】1971年,世界上第一款可用于微型计算机的四位微处理器4004在Intel诞生。每一个新事物的诞生总是要经历种种磨难,对于微处理器而言更是如此。由于4004功能上的缺陷,随后Intel推出了8008。然而8008依然不能满足客户的需求,其市场反应十分不理想,1974年,8008发展到8080,成为第二代微处理器。同时在这段时间里各大半导体公司相继推出了各自微处理器芯片。Zilog公司生产了8080的增强型Z80,摩托罗拉公司生产了6800,英特尔公司于1976年又生产了增强型8085,但这些芯片基本没有改变8080的基本特点,都属于第二代微处理器。它们均采用NMOS工艺,集成度约9000只晶体管,平均指令执行时间为1μS~2μS,采用汇编语言、BASIC、Fortran编程,使用单用户操作系统。

    1978年应该是CPU发展史上值得记忆的一年,Intel凭借在半导体领域的雄厚技术实力推出了第一款16位微处理器8086,这是第三代微处理器的起点。之后微处理器的发展才真正使入了快车道,提高一倍80286、80386……直到今天广为人知的奔腾系列,微处理器的飞速发展充分验证了摩尔定律的正确性。

单线程与超线程

    程序由多个执行线程组成,这些线程是一系列相关指令。在个人电脑时代早期,大多数程序仅含有单个线程。当时的操作系统在某一时间仅能运行一个此类程序。结果(很多人均有过这种痛苦经历)电脑在打印文件或电子数据表时就会死机,系统不能同时处理两项任务。操作系统创新引入了多任务处理,从而能够挂起一个程序,以运行另一个程序。通过使用这种方式来迅速地切换程序,系统能够“看上去”同时运行多个程序。然而,事实上处理器一直运行的仅仅是单个线程。

    直到近十年,处理器设计才获得了额外的执行资源(例如专用于浮点和整数数学的逻辑),以支持并行处理多个指令。透过这些额外资源,英特尔看到了机遇。英特尔认为通过使用这些资源在相同的处理器内核上同时执行两个单独的线程,可使之得到更充分的利用。英特尔将这种同步处理称为超线程技术,并于 2003 年将其应用于英特尔至强处理器之上。根据英特尔性能指标评测,通过在含超线程技术的处理器上运行,采用多个线程编写的应用可获得高达 30% 的性能提升。更重要的是,两个程序能够同时在一枚处理器上运行,而无需来回切换(参见图 1)。为使操作系统将一枚处理器识别为两个可能的执行流水线,全新芯片针对操作系统将显示为两枚逻辑处理器。

图1 超线程技术支持在单个处理器内核上同时执行两个线程

0
相关文章