泡泡网CPU频道 PCPOP首页      /      CPU     /      新闻    /    正文

别只看表面规格!深度剖析多线程平台

    泡泡网CPU频道11月24日 先说说什么是多线程,从计算机的处理角度上看,线程就是在一个时间片上有一个单独的处理任务,而多线程也就意味着在一个时间片上同时有多个待处理的任务。一个多线程的平台其实就是具备并行处理多任务处理能力的计算平台。对于桌面台式机而言,并行计算还是近些年才开始被热烈讨论的话题。而事实上,并行计算在这个行业已经效力了多年,特别是对日常工作需要接触高性能服务器和工作站的用户而言,这个话题早已不再新鲜。那些经常被他们挂在嘴边的双路、四路、八路等术语所采用的对称式并行处理结构,从非术语的角度简单说来,就是利用多颗处理器搭建起来的并行计算平台处理多任务多线程。在这种结构下,各处理器独立存在,而处理器之间的数据交换由总线来完成。在这个时期,一颗处理器能够处理一个线程,所以有多少颗处理器也就意味着能够同时处理几个线程。

    曾几何时,处理器的颗数在很大程度上可以被看作是该计算机平台处理能力的基本单位,一颗处理器就代表一个线程,也代表一份处理能力。所以当时很多面向服务器、工作站平台的软件收费是基于计算品平台上处理器的数量,即主板上可以插入处理器的插槽数。举例而言,一台4路的服务器因为具备4个处理器插槽,支持的软件也就要按照同时支持四颗处理器的版本收费。但随着处理器的发展,随着处理器研发的思路从单纯提高单个处理器的频率转变成更加偏重于单个处理器的并行计算能力的时候,计算机这个最核心的大脑——处理器,便走上了多线程多核心的发展道路。

    首先谈谈超线程技术。超线程就是对处理器内部处理资源的充分利用,它以一种逻辑多核处理器的方式工作,其结果就是让操作系统把当前的计算平台上的物理处理器当成双倍的逻辑处理器来调用,于是操作系统就能将两个指令或两个线程交送到处理器来处理,这也就实现了对两个线程的并行处理。

    在一个支持超线程技术的平台上,一颗处理器具备的计算能力是两个线程,所以单颗处理器其实也已经具备了一个双线程的能力。当然,超线程的技术还是首先用在了服务器平台上,但最众所周知的具备超线程技术的处理器,就是曾经划时代的奔腾4产品线。在奔腾4大获成功之后,处理器又开始了一次更大的多核化变革,这一次已经超出了逻辑而发生在了物理实体上。自2005年Intel公司出品奔腾D开始,双核心处理器便逐渐崭露头角。这时的双核心处理器是物理上的两个完整的处理核心,与双路系统的两颗完全分开的物理处理器不同,这两个完整的处理内核并存在一个处理器的内部,内核之间通讯不再需要通过处理器外部的总线来实现。当然,双核心的处理器也能够完成对两个指令的同时处理,也具备双线程的处理能力。

    2005年之后,经过两三年的时间,双核心已在市面上完全普及起来。在现在的市场上,不论是Intel还是AMD,在他们的产品列表上,单核心的处理器型号已经基本不见踪迹,而与此同时,四核心已面世两年多。沿用刚才对双核心的描述,四核心处理器具备四个完整计算内核,具有四个线程处理能力。而如果你是用四核心的处理器组成一个四路计算平台的话,4x4=16个线程的处理能力,在打开资源管理器的时候,看到16个线程同时工作的场景会是一件会令人激动的事情。

    不过,也许你已经注意到,当处理器平台出现了物理上的多内核的时候,前面提到的超线程的技术似乎被留在了尘封的记忆里。多核心成了眼底下最重要的词语,核心数也已经渐渐地变成衡量处理器处理能力的最小单位,因此市面上也随之出现了AMD的三核心,接下来是精省的四核X4 600系列,而这些都是处于成本考量的不得已之举。作为AMD Shanghai这一代产品的最新成员,一个四核心的处理器除了核心数比较令人满意之外,在其他各个方面的表现似乎都稍显薄弱。尤其在缓存方面,不但将Shanghai微架构中重要的三级缓存弃之不用,连二级缓存也只给出了每核心512K的容量。AMD双核的X2 240弃三级缓存不用,但出于对性能的补偿,还是适当地将其每个核心的二级缓存从512K扩充到1M。但相比而言,四核心的X4 600连 X2 240都比不上,而仅仅是靠核心数来支撑。这样的缓存架构,不由得令人回想起Intel第一代的双核处理器奔腾D的产品。那时的奔腾D就是这样完全独立的二级缓存,不过那个时候奔腾D每个核心各自的二级缓存至少还有1M那么多,那可是四年前的事情了。

    与此同时, Intel却采用了截然不同的产品策略,也就是在发展核心数的同时,也在线程处理能力方面发力。不过,这原本就是Intel的强项。于是,在新的处理器微架构Nehalem下,超线程技术又回来了,最新的酷睿i7 800、900这两个产品系列,不仅仅物理上是四核心,而且同时支持更新一代的超线程技术,也就是说,同时具备了8线程的处理能力,而16个线程同时跃动的场面,无需四路,在以该微架构的处理器组成的双路服务器平台上,就可以轻松获得了。除了这两个产品系列之外,我们也从网上的消息获知,Intel即将发布的一系列处理器也都是核心数、线程数并重,超线程技术的采用会为明年年初即将面世的双核心处理器也带来四个线程的并行计算能力,而明年Intel更会带来6核12线程的震撼。

    线程、核心与功耗:

    功耗是处理器发展阶段中一个无法避免的问题。在以前不讲多核心和超线程的年代,要想要提升处理器性能就只有提升处理器的频率,但这会导致处理器电压的上升,对处理器功耗以及散热带来的压力已不容忽视。多核心、多线程取代了一味的频率论,成就了处理器发展的一个转折点,因此每瓦特性能也就随之成为一个时髦的词,成为衡量处理器性能的一个重要指标。不这个词也可看作是综合衡量线程、核心、功耗这三者关系的一个指标,简单联系起来就是指在一定功耗下每线程的处理能力。

    不过,物理核心的增长也会带来功耗的提升。四核心处理器的功耗自然要比双核心的产品在满载的工作状态时要高上几十瓦。而超线程技术显然在目前阶段会更胜一筹,因为超线程技术是通过充分利用每个处理器内核资源来提高并行处理能力,所以对处理器并不产生额外的供电及散热,也就轻松减轻了功耗压力。某些只讲究物理核心数的产品,即使省掉了6M缓存,TDP依旧没有得到明显改善,依旧保持在95W,因此其性能和功耗表现并没有得到有效提升。从这一点上看,英特尔目前支持超线程技术的处理器以及接下来将陆续登场的具有超线程技术的处理器,确实令人期待。

    结论:

    随着计算环境越来越并行化,追求多核心、多线程正是适应当前环境的重要基础。不论从性能提升还是从功耗控制方面考量,超线程技术无疑都将极好地适应目前高能效技术发展的趋势。■

0人已赞

关注我们

泡泡网

手机扫码关注