zoukankan      html  css  js  c++  java
  • CLR_via_C#.3rd 翻译[25.4 CPU趋势 ]

    25.4 CPU Trends CPU趋势

     

    在过去,CPU速度一直随着时间也在变的越来越快,所以在旧机子上运行慢的应用程序在新机子上一般会快一些。然而,CPU制造商已经无法延续CPU越来越快的趋势。当你的CPU处于告诉的状态,它们会产生更多的热量。几年前,我从一个著名的厂商那里购买了一台新款笔记本电脑。这台电脑的固件有一个bug,造成它的风扇故障。最后,在开机一会以后,CPU和主板便烧坏了。硬件厂商更换了机子,并“改进”了固件,是风扇能更频繁的转动。不幸的是,这也让电用的更块了,因为风扇也浪费电。

     

    这些问题是今天的硬件厂商必须面对的。因为CPU厂商不能一直提升CPU的速度,所以它们现在更侧重于晶体管做的更小,是一个芯片上能容纳更多的晶体管。今天,一个硅芯片可以容纳两个或者更多的CPU内核。这样一来,如果在写软件时能利用多个内核,软件就能运行的更快一些。我们怎样做到呢?我们以一种智能的方式使用线程。

     

    今天的计算机使用了三种多CPU技术:

    ■ 多个CPU 有的计算机安装了多个CPU。它的主板上有多个CPU插座,每个都可安装一个CPU。由于主板会变得更大,所以计算机箱也会变得更大,有时候,这种机器甚至会安装多个电源以提供额外的功率。这种计算机问世已有几十年的历史,但在普通用户中并不流行,因其体积和价格都不理想

    ■ 超线程芯片 这种技术(Intel专利)允许一个芯片当作两个芯片使用。芯片包括两组架构状态(比如CPU寄存器),但芯片只有一组执行资源。对于windows,这看起来是安装了两个CPU,所以windows会同时调度两个线程。然而,芯片一次只能执行一个线程。当一个线程由于缓存丢失(cache miss)、分支预测错误(branch misprediction)或者要等待数据(data dependency)而暂停时,芯片将切换到另一个线程。一切都是在硬件中发生的,windows对此一无所知;它以为有有两个线程正在并发运行。Windows不知道实际使用的是超线程CPU。如果一台机器上上装了多个超线程CPUwindows 首先在每个CPU上都调度一个线程,是线程真正并发运行,然后在已经处于忙状态的CPU上调度其他线程。Intel 声称超线程CPU能提升10%30%的性能。

    ■ 多核芯片 几年前,多核CPU已经问世。当我写到这里的时候,双核、三核和四核CPU 都已经广泛使用了。甚至我的笔记本电脑都是双核的。不久以后,也许我们的手机都是多核的。Intel现在甚至在实验集成80个核的处理器!哇~这是多么强大的计算能力!除此之外,Intel甚至高出了超线程的多核芯片。

  • 相关阅读:
    MyEclipse Servers视窗出现“Could not create the view: An unexpected exception was thrown”错误解决办法
    eclipse 安装git
    使用Maven构建Web项目
    Maven仓库构建
    JAX-WS:背后的技术JAXB及传递Map
    CXF WebService 开发文档
    eclispse 中集成多个tomcat
    Myeclipse 主题下载
    html textarea 获取换行
    jqurey click和blur执行时间冲突
  • 原文地址:https://www.cnblogs.com/TivonStone/p/1818037.html
Copyright © 2011-2022 走看看