CPU各项参数过去5年都在增加,除了这一项
myzbx 2025-05-14 15:16 35 浏览
CPU时钟频率在过去5年里没有增加是很多不同类别的原因导致的。
一、功率
图为时钟频率与功耗的关系
当设计一个CPU的微架构时,其中一个关键的设计决策就是如何实现更高的性能。在奔腾4时代,英特尔选择了具有非常高的时钟频率和相对较窄的管道。这种方法有很多优点,其中之一就是它很容易加快单线程和串行代码。软件内并不需要操作很多的并行指令,因此大多数软件会立刻见其好处。
然而,这种方法也有它的缺点,它忽略奔腾4本身的执行瑕疵。在这里,我们只讲概念本身的缺陷。主要是CPU的微架构一直与电墙冲突,并且,高频的微架构与很多已被发明出来用来处理功率问题的低功耗设计技术都不适合。此处,我将触及两个主要的低功耗设计方法。
一个是时钟门控技术,时钟门控技术会在每个状态元件(寄存器、锁等)之前插入一个时钟启动系统,以至于如果没有新的数据写入的话,元件将没有时钟控制。这样就可以节省大量因回写相同的高速缓存而浪费的充电/放电时间。这个方式也将一个附加延迟(门控功能)插入时钟路径。高频率的设计一般是低利润率运行,根本就不适合在最关键的信号(时钟)插入附加可变延迟。
另一个常见的技巧是电源门控。这涉及到要在芯片不同部分的电压源上放上晶体管。通常情况下,当不使用时,那些不同的功能模块和供电部分会关闭,但高频设计往往不会这样做。电源控制晶体管不但需要添加一个额外的压降,从而延缓晶体管开关速度,而且一个非常细的流水线处理器根本没有多少部分可以在任何给定的时间内被关闭。
因此,从微架构的角度来看,高频和细的设计不只是智能power-wise。
二、晶体管缩放
处理器频率没有上涨的另一个主要原因很简单,就是晶体管本身并没有变得更快。
其他人提到了晶体管宽度尺寸的因素,但晶体管宽实际上是稳步下降的,并且会继续下去,摩尔定律在这方面还是很好地发挥作用的。
英特尔目前正在45纳米的基础上制造32纳米的HKMG(high-k绝缘层+金属闸极)。两年之前,它是65纳米,再之前是90纳米。TSMC, IBM and GlobalFoundries公司今年开始生产28纳米芯片。英特尔正计划调整到22纳米。(更新:14nm已经出来了)。
然而,问题是,当晶体管的尺寸越来越小时他们却没有越来越快。要理解这一点,有点MOSFET(金氧半场效晶体管)的背景是必要的。
众所周知,晶体管的开关速度取决于许多因素。其中一个主要因素是电场在闸极(控制到交换机)中创建的强度。电场强度取决于闸极(其变小,晶体管收缩)的两个区域,以及闸门厚度。
随着晶体管的缩小,门的面积在减少。在过去,闸极区域面积的减少意味着一个晶体管的闸极也可以做得更薄。如果你知道基本的电容器是如何工作的,你就会知道,两个导电板之间距离越小,它们之间的电场就越强。这个工作原理在MOSFET上同样通用。更薄的闸极电介质导致有更强的电场通过晶体管沟道,这意味着晶体管的切换速度更快。晶体管闸极面积减少意味着闸门可以做得更薄,并且对负载电容增加无害。
然而,至于45纳米,现在的闸介质约0.9纳米厚——大约一个二氧化硅分子的大小,所以根本不可能做出更薄的了。因此,英特尔改用以铪材料为基础材料的High-K取代二氧化硅,成为闸极电介质(许多人怀疑是硅酸铪)。他们还把连接闸门的材料从多晶硅变成金属材料。
这种方法有助于提高晶体管的速度,但它太昂贵了,只能是一个权宜之计。事情很简单,每一次我们利用之前已有的简单的缩放比例缩小晶体管,都会导致更快的晶体管结束。
三、芯片缩放
频率斜升放缓的另一个主要原因是晶体管不再是唯一的——在某些情况下,即使是最大的——处理器可以运行多快的关键。现在,连接这些晶体管的电线成为延迟的主要因素。
随着晶体管越来越小,连接它们的电线变得更细。细线意味着更高的阻力和更低的电流。事实是较小的晶体管能够驱动少量的电流,很容易发现,晶体管的开关速度只能部分确定电路的路径延迟情况。
当然,在芯片设计过程中可以使用许多技巧来对付这个问题。一个布局和布线良好的工程师将尝试以类似的路径来规划其时钟和数据信号的路线,这样可以使两个信号同时传送,并在同一时间到达目的地。对于数据密集型芯片,轻控设计会是一种非常有效的解决方案,例如固定功能的视频编解码引擎或网络处理器。
然而,带有web交互的微处理器是一个非常复杂的、非常规的设计,数据访问多个地点时并不总是遵循时钟规律,它有反馈路径和循环,有集中的资源,如风险跟踪,调度,分支预测,寄存器文件等等。另外,重控设计很容易被复制到更多的内核,但要通过标准的方法提高处理器频率的时候,其所要求的细线是很复杂的。
相关推荐
- vue3和web网页直接操作微信小程序云开发数据库
-
我们开发好小程序以后,有时候需要编写一个管理后台网页对数据库进行管理,之前我们只能借助云开发自带的cms网页,但是cms网页设计的比较丑,工作量和代码量也不够,所以我们今天就来带大家实现用vue3编写...
- WebCurl:极致轻量的跨平台 HTTP 请求调试工具
-
在接口开发与测试领域,工具的轻量化、兼容性与安全性往往直接影响工作效率。WebCurl作为一款纯原生、无依赖的网页版API测试与调试工具,凭借极简架构与全场景适配能力,重新定义了接口调试工具的使...
- webapi 全流程_webapi项目
-
C#中的WebAPIMinimalApi没有控制器,普通api有控制器,MinimalApi是直达型,精简了很多中间代码,广泛适用于微服务架构MinimalApi一切都在组控制台应用程序类【Progr...
- Nodejs之MEAN栈开发(四)-- form验证及图片上传
-
这一节增加推荐图书的提交和删除功能,来学习node的form提交以及node的图片上传功能。开始之前需要源码同学可以先在git上fork:https://github.com/stoneniqiu/R...
- CodeSpirit.Amis.AiForm 智能表单使用指南
-
概述AiForm是CodeSpirit.Amis框架的智能表单功能,专为AI驱动的长时间处理任务设计。它自动生成一个多步骤的用户界面,包含表单输入、进度监控、日志显示和结果展示等功能。功能特点...
- 初级、中级、高级前端工程师,对于form表单实现的区别
-
在React项目中使用AntDesign(Antd)的Form组件能快速构建标准化表单,特别适合中后台系统开发。以下是结合Antd的最佳实践和分层实现方案:一、基础用法:快速搭...
- Bun v0.7 大版本发布,与 Vite 牵手来破局?
-
大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。今天给大家带来...
- 「前端」界面可视化开发框架formio.js
-
简介formio是一个前端可视化开发框架,无需写css/js就可以开发一套前端界面。直接在界面内拖拽就可以完成界面的布局及开发。数据交互也是固定的,表单校验也可以配置,功能非常强大。特性使用ES6...
- 小伙给同事爬取数据竟获取不到,竟要使用这种请求方式才能获取?
-
Http请求中FormData和RequestPayload两种参数的区别?AjaxPost请求中常用的两种的形式:formdata和requestpayload一、默认的表单方式...
- WinForm + Win32 API 自定义无边框窗口实战(工业软件必备)
-
前言随着.NET9.0AOT(Ahead-of-Time)的发布,便萌生了用代码测试AOT编译效果的想法,同时评估未来是否为NanUI开发支持AOT编译的新版本。关于NanUI项目,若大家尚未了...
- DeepSeek从入门到精通(11)——网页版、APP、API使用方式比较
-
DeepSeek提供了三种主要的使用方法:网页版、手机APP和API调用。这三种方式各有特点,适用于不同的使用场景。下面从使用方法和主要特点两方面进行比较:一、网页版使用方法:直接通过浏览器访问De...
- 初略Web API Notification 桌面通知
-
HTML5WebNotificationsAPI通知接口用于向用户配置和显示桌面通知弹窗。例如,Email邮件通知、来电提醒、聊天信息提醒或任务提醒等。关于Web开发技术中Notificat...
- 什么是API网关?——驱动数字化转型的“隐形冠军”
-
什么是API网关API网关(APIGateway)是一个服务器,位于应用程序和后端服务之间,提供了一种集中式的方式来管理API的访问。它是系统的入口点,负责接收并处理来自客户端的请求,然后将请求路由...
- .NET 7使用 Entity Framework Core 制作增删改查(CRUD) Web API 教程
-
在本文中,我们将使用EntityFrameworkCore(EFCore)实现一个.NET7WebAPICRUD示例。WebAPI是一个构建HTTP服务的框架,可以从浏览器、移动设备和...
- C# ASP.NET Core Web Api 与 MVC 模式下 body 参数传递,post 参数方式
-
在ASP.NETCore中,WebAPI和MVC模式在处理HTTP请求时,特别是POST请求,使用body参数来传递数据的方式非常相似。两者都使用模型绑定来自动将请求体中的数据映射到C#对象上。下...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 简介 (30)
- HTML 响应式设计 (31)
- HTML URL 编码 (32)
- HTML Web 服务器 (31)
- HTML 表单属性 (32)
- HTML 音频 (31)
- HTML5 支持 (33)
- HTML API (36)
- HTML 总结 (32)
- HTML 全局属性 (32)
- HTML 事件 (31)
- HTML 画布 (32)
- HTTP 方法 (30)
- 键盘快捷键 (30)
- CSS 语法 (35)
- CSS 轮廓宽度 (31)
- CSS 谷歌字体 (33)
- CSS 链接 (31)
- CSS 定位 (31)
- CSS 图片库 (32)
- CSS 图像精灵 (31)
- SVG 文本 (32)
- 时钟启动 (33)
- HTML 游戏 (34)
- JS Loop For (32)