cpu-architecture - 决定 CPU 周期时间的因素
问题描述
我想知道 CPU 周期时间和流水线深度之间是否存在关系。我一直认为CPU周期时间完全由CPU频率决定(与频率相反)。然而,这个视频提到,随着流水线阶段的数量增加,可以减少周期时间,因为每个周期我们每个阶段的工作量都会减少。那么究竟是什么决定了 CPU 的周期时间:频率还是流水线中的阶段数?或者我们可以说管道深度会影响频率吗?
解决方案
周期时间的字面意思是频率的倒数。这只是基本的物理学:周期f = 1/t
在哪里t
。 https://en.wikipedia.org/wiki/Frequency#Period_versus_frequency。频率的维度为1/seconds
。
说您可以通过延长管道来缩短周期时间,这只是说明与提高频率相同的事情的另一种方式。
(是的,将一个阶段分成两部分意味着你有两条较短的关键路径,而不是一条长的关键路径,它必须在一个周期结束之前准备好才能锁定下一阶段,从而消除了周期时间的上限。对于给定的门延迟传播时间,您只能将一定数量的布尔运算放入一个时钟周期,并且每个阶段都必须及时准备好其输出。)
另请参阅现代微处理器 90 分钟指南!
推荐阅读
- flutter - 如何通过 Flutter 在本地日历中创建事件?
- xpath - 具有两个不同类名的嵌套表中的 Xpath 是什么
- android - 如何同时连接多个特征?
- java - 具有返回类型的消费者接口的 lambda 表达式
- php - 如何使用 .htaccess 文件更改 codeigniter 的 URL
- reactjs - 用于删除警报消息的反应事件?
- google-cloud-platform - KubeFlow 端到端(谷歌云)
- reactjs - React Router 在能够刷新页面的同时传递不在 URL 中的道具
- spring-boot - 如何在spring boot项目中使用Thymeleaf从单个表类型@inheritance表中访问多个实体数据?
- javascript - ReactJS 中具有相同道具的组件的条件渲染