我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:双彩网 > 指令调度程序 >

双核的完整含义是什么????

归档日期:07-02       文本归类:指令调度程序      文章编辑:爱尚语录

  采用一种比较容易被大家接受的说法,双核处理器就是基于单个半导体的一个处理器上拥有两个一样功能的处理器核心,但是,这种说法很难在本质上解释双核心诞生的的原因,如果要追究双核的起源,还得从一些物理和电子的基础知识谈起:

  现在的芯片都是在单晶硅大圆片上制成的,大面积的圆片本身也难免存在一些缺陷,生产中的流程有时候也会给硅晶体带来缺陷。另外虽然工厂的清洁程度非常之高,但在生产过程中还是免不了带入一些杂质,互连层在制造中也会引入自己的缺陷形式。这样大规模的芯片很难保证全无任何缺陷。现在半导体进入90纳米以下的工艺,缺陷和杂质带来的影响就更为普遍,晶体管的尺寸已经和某些缺陷或杂质的尺寸在一个量级,甚至晶体管尺寸更小。一般来说,非致命的缺陷会造成电路性能下降,为弥补缺陷带来的损失,就需要给电路更高的电压和更大的电流,许多缺陷在降低晶体管性能的同时还会增加晶体管的功耗,以前CMOS数字电路的主要功耗是工作时的动态功耗,但到了90nm工艺以后,情况发生了很大变化,许多原来基本可以忽略不计的功耗因素现在都占据了较大的比重,例如电路互连损耗,泄漏损耗。其中,泄漏损耗的影响急剧增加。这就是为什么采用0.09微米工艺之后,各种处理器的发热量和功耗还是一路呈攀升趋势的原因,高频的 Prescott处理器功耗将近100W,要知道,一个可以把焊锡快速融化的电烙铁也不过50W左右,因此,高功耗和吓人的发热量成为CPU继续向高频挺进的一大障碍,当时就有很多人预言,4GHz的处理器诞生之后,大家将可以通过CPU散热片来煮鸡蛋。

  既然无法通过继续提升频率来实现更高的频率,那么用户对产品性能提升的需要应该如何得到满足?

  第一种做法当然是使用64位技术,为什么64位运算会比32位运算性能强大,这个比较好理解,例如你使用32位的CPU,要向外输出一个64位的数据,需要消耗两个时脉,但是如果你使用64位的CPU,只要一个时脉就完成了。

  另外一种做法就是使用多路对称技术,其基本理论当然就是用两个处理器去完成一个处理器做的事,看上去就跟磁盘阵列技术一样,RAID 0就是使用两块硬盘来同时存取一个文件,各存取一半,因此花费的时间减半,假如使用4块硬盘,就是每块各存取1/4,所需时间自然更短;CPU的多路对称工作原理也是这样的,因此,中高端的服务器很多都使用4路、8路配备,就是为了提高产品性能。

  要通过2个甚至4个硬盘实现高性能的阵列存储并不难,安装RAID控制器驱动即可,因为RAID控制器会自动控制各块硬盘的工作方式,程序员或者说CPU 只要告诉RAID控制器要读出或写入什么数据,具体怎么分拆数据,几块硬盘如何分配读写等问题根本不需要计算机用户、编程人员考虑,因此原有操作系统和软件都不需要进行改动;但是CPU的多路对称工作就不同了,因为计算机的所有指令都是经CPU去执行的,要是编程人员只下令CPU去执行什么指令而不告诉计算机哪颗CPU去执行这条指令,那么就会天下大乱,而且如果是两颗CPU,指令的调度分配还比较好设计,如果是4-8颗,那么情况就非常复杂,就像两台电梯的联合控制程序容易写,但是4台电梯的联合控制程序非常难写一样,因为他们之间是2的2次方跟4的2次方这种关系。

  另外,由于多内核芯片将两个或更多的独立CPU核心集成在一块硅片上,一些人怀疑它们致命的弱点会是这些CPU核心之间的数据移动,当多内核系统运行争夺同一条I/O路径的不同应用程序时,存在一些性能瓶颈。不过到目前为止,这些瓶颈的影响很小。

  多路对称工作模式需要程序员设计的软件本身就能支持多个CPU的指令调度,这样所有CPU才是以最合理最高效的调度安排去协同工作。由于应用软件大多都是采用大量的API函数开发的,所以担任指令-机器交互角色的操作系统就是多路对称开发的根本和关键所在,一套操作系统能不能很好的协调多个CPU之间的工

本文链接:http://ok-panic.net/zhilingdiaoduchengxu/149.html