热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为什么CPU时钟频率在过去5年里没有增加?

CPU时钟频率在过去5年里没有增加是很多不同类别的原因导致的。一、功率当设计一个CPU的微架构时,其中一个关键的设计决策就是如何实现更高的性能。在奔腾4时代ÿ

CPU时钟频率在过去5年里没有增加是很多不同类别的原因导致的。

一、功率

图1

当设计一个CPU的微架构时,其中一个关键的设计决策就是如何实现更高的性能。在奔腾4时代,英特尔选择了具有非常高的时钟频率和相对较窄的管道。这种方法有很多优点,其中之一就是它很容易加快单线程和串行代码。软件内并不需要操作很多的并行指令,因此大多数软件会立刻见其好处。

然而,这种方法也有它的缺点,它忽略奔腾4本身的执行瑕疵。在这里,我们只讲概念本身的缺陷。主要是CPU的微架构一直与电墙冲突,并且,高频的微架构与很多已被发明出来用来处理功率问题的低功耗设计技术都不适合。此处,我将触及两个主要的低功耗设计方法。

一个是时钟门控技术,时钟门控技术会在每个状态元件(寄存器、锁等)之前插入一个时钟启动系统,以至于如果没有新的数据写入的话,元件将没有时钟控制。这样就可以节省大量因回写相同的高速缓存而浪费的充电/放电时间。这个方式也将一个附加延迟(门控功能)插入时钟路径。高频率的设计一般是低利润率运行,根本就不适合在最关键的信号(时钟)插入附加可变延迟。

图2

另一个常见的技巧是电源门控。这涉及到要在芯片不同部分的电压源上放上晶体管。通常情况下,当不使用时,那些不同的功能模块和供电部分会关闭,但高频设计往往不会这样做。电源控制晶体管不但需要添加一个额外的压降,从而延缓晶体管开关速度,而且一个非常细的流水线处理器根本没有多少部分可以在任何给定的时间内被关闭。

图3

因此,从微架构的角度来看,高频和细的设计不只是智能power-wise。

二、晶体管缩放

处理器频率没有上涨的另一个主要原因很简单,就是晶体管本身并没有变得更快。

图4

其他人提到了晶体管宽度尺寸的因素,但晶体管宽实际上是稳步下降的,并且会继续下去,摩尔定律在这方面还是很好地发挥作用的。

图5

英特尔目前正在45纳米的基础上制造32纳米的HKMG(high-k绝缘层+金属闸极) 。两年之前,它是65纳米,再之前是90纳米。TSMC, IBM and GlobalFoundries 公司今年开始生产28纳米芯片。英特尔正计划调整到22纳米。 (更新:14nm已经出来了)。

图6

然而,问题是,当晶体管的尺寸越来越小时他们却没有越来越快。要理解这一点,有点MOSFET(金氧半场效晶体管)的背景是必要的。

图7

众所周知,晶体管的开关速度取决于许多因素。其中一个主要因素是电场在闸极(控制到交换机)中创建的强度。电场强度取决于闸极(其变小,晶体管收缩)的两个区域,以及闸门厚度。

随着晶体管的缩小,门的面积在减少。在过去,闸极区域面积的减少意味着一个晶体管的闸极也可以做得更薄。如果你知道基本的电容器是如何工作的,你就会知道,两个导电板之间距离越小,它们之间的电场就越强。这个工作原理在MOSFET上同样通用。更薄的闸极电介质导致有更强的电场通过晶体管沟道,这意味着晶体管的切换速度更快。晶体管闸极面积减少意味着闸门可以做得更薄,并且对负载电容增加无害。

然而,至于45纳米,现在的闸介质约0.9纳米厚——大约一个二氧化硅分子的大小,所以根本不可能做出更薄的了。因此,英特尔改用以铪材料为基础材料的High-K取代二氧化硅,成为闸极电介质(许多人怀疑是硅酸铪)。他们还把连接闸门的材料从多晶硅变成金属材料。

这种方法有助于提高晶体管的速度,但它太昂贵了,只能是一个权宜之计。事情很简单,每一次我们利用之前已有的简单的缩放比例缩小晶体管,都会导致更快的晶体管结束。

三、芯片缩放

频率斜升放缓的另一个主要原因是晶体管不再是唯一的——在某些情况下,即使是最大的——处理器可以运行多快的关键。现在,连接这些晶体管的电线成为延迟的主要因素。

随着晶体管越来越小,连接它们的电线变得更细。细线意味着更高的阻力和更低的电流。事实是较小的晶体管能够驱动少量的电流,很容易发现,晶体管的开关速度只能部分确定电路的路径延迟情况。

当然,在芯片设计过程中可以使用许多技巧来对付这个问题。一个布局和布线良好的工程师将尝试以类似的路径来规划其时钟和数据信号的路线,这样可以使两个信号同时传送,并在同一时间到达目的地。对于数据密集型芯片,轻控设计会是一种非常有效的解决方案,例如固定功能的视频编解码引擎或网络处理器。

然而,带有web交互的微处理器是一个非常复杂的、非常规的设计,数据访问多个地点时并不总是遵循时钟规律,它有反馈路径和循环,有集中的资源,如风险跟踪,调度,分支预测,寄存器文件等等。另外,重控设计很容易被复制到更多的内核,但要通过标准的方法提高处理器频率的时候,其所要求的细线是很复杂的。


原文链接: quora 翻译: 杰微刊- sophy
译文链接: http://www.jointforce.com/jfperiodical/news/show/321?m=d03
[ 转载请保留原文出处、译者和译文链接。]

欢迎投稿:weikan@jointforce.com。请注明主题为:申请加入杰微刊翻译小组。



推荐阅读
  • 修复一个 Bug 竟耗时两天?真的有那么复杂吗?
    修复一个 Bug 竟然耗费了两天时间?这背后究竟隐藏着怎样的复杂性?本文将深入探讨这个看似简单的 Bug 为何会如此棘手,从代码层面剖析问题根源,并分享解决过程中遇到的技术挑战和心得。 ... [详细]
  • 全面解析Java虚拟机:内存模型深度剖析 ... [详细]
  • 使用Boost.Asio进行异步数据处理的应用程序主要依赖于两个核心概念:I/O服务和I/O对象。I/O服务抽象了操作系统接口,使得异步操作能够高效地执行。I/O对象则代表了具体的网络资源,如套接字和文件描述符,通过这些对象可以实现数据的读写操作。本文详细介绍了这两个概念在Boost.Asio中的应用及其在网络编程中的重要性。 ... [详细]
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • 掌握PHP框架开发与应用的核心知识点:构建高效PHP框架所需的技术与能力综述
    掌握PHP框架开发与应用的核心知识点对于构建高效PHP框架至关重要。本文综述了开发PHP框架所需的关键技术和能力,包括但不限于对PHP语言的深入理解、设计模式的应用、数据库操作、安全性措施以及性能优化等方面。对于初学者而言,熟悉主流框架如Laravel、Symfony等的实际应用场景,有助于更好地理解和掌握自定义框架开发的精髓。 ... [详细]
  • Spring框架入门指南:专为新手打造的详细学习笔记
    Spring框架是Java Web开发中广泛应用的轻量级应用框架,以其卓越的功能和出色的性能赢得了广大开发者的青睐。本文为初学者提供了详尽的学习指南,涵盖基础概念、核心组件及实际应用案例,帮助新手快速掌握Spring框架的核心技术与实践技巧。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • 深入解析Java虚拟机内存模型(JMM)及其核心机制
    为了深入理解Java内存模型(JMM),首先需要对计算机硬件体系有全面的认识,尤其是CPU与主存之间的多级缓存架构。这些硬件特性直接影响了JMM的设计和实现,确保在多线程环境下数据的一致性和可见性。 ... [详细]
  • 深入解析OSI七层架构与TCP/IP协议体系
    本文详细探讨了OSI七层模型(Open System Interconnection,开放系统互连)及其与TCP/IP协议体系的关系。OSI模型将网络通信过程划分为七个层次,每个层次负责不同的功能,从物理层到应用层逐步实现数据传输和处理。通过对比分析,本文揭示了OSI模型与TCP/IP协议在结构和功能上的异同,为理解现代网络通信提供了全面的视角。 ... [详细]
  • IIS 7及7.5版本中应用程序池的最佳配置策略与实践
    在IIS 7及7.5版本中,优化应用程序池的配置是提升Web站点性能的关键步骤。具体操作包括:首先定位到目标Web站点的应用程序池,然后通过“应用程序池”菜单找到对应的池,右键选择“高级设置”。在一般优化方案中,建议调整以下几个关键参数:1. **基本设置**: - **队列长度**:默认值为1000,可根据实际需求调整队列长度,以提高处理请求的能力。此外,还可以进一步优化其他参数,如处理器使用限制、回收策略等,以确保应用程序池的高效运行。这些优化措施有助于提升系统的稳定性和响应速度。 ... [详细]
  • 本文详细解析了如何使用 jQuery 实现一个在浏览器地址栏运行的射击游戏。通过源代码分析,展示了关键的 JavaScript 技术和实现方法,并提供了在线演示链接供读者参考。此外,还介绍了如何在 Visual Studio Code 中进行开发和调试,为开发者提供了实用的技巧和建议。 ... [详细]
  • 西北工业大学作为陕西省三所985和211高校之一,虽然在农业和林业领域不如某些顶尖院校,但在航空航天领域的实力尤为突出。该校的计算机科学专业在科研和教学方面也具有显著优势,是考研的理想选择。 ... [详细]
  • NVIDIA最新推出的Ampere架构标志着显卡技术的一次重大突破,不仅在性能上实现了显著提升,还在能效比方面进行了深度优化。该架构融合了创新设计与技术改进,为用户带来更加流畅的图形处理体验,同时降低了功耗,提升了计算效率。 ... [详细]
author-avatar
-像我这样笨拙的生活_992_559
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有