首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >延迟和带宽是如何形成权衡的?

延迟和带宽是如何形成权衡的?
EN

Software Engineering用户
提问于 2015-02-11 22:51:24
回答 2查看 2K关注 0票数 4

来自Tanenbaum的结构化计算机组织中的指令流水线部分:

流水线允许在延迟(执行指令需要多长时间)和处理器带宽( CPU有多少MIPS )之间进行权衡。由于每条指令都经过n个阶段,每条指令都要经过n个阶段,所以由于每条指令的循环时间为takes,且在流水线中有n个阶段,所以延迟为nT nsec。由于一条指令完成了每个时钟周期,并且有10^9/T时钟周期/秒,每秒执行的指令数为10^9/T,要得到MIPS的数目,必须将指令执行率除以100万,才能得到(10^9/T)/10^6 =1 000/ To。

我认为延迟越小越好,带宽越大越好。因为两者是相互联系的,所以它们总是同时向好的或坏的方向移动。那么这两种形式如何权衡呢?谢谢。

EN

回答 2

Software Engineering用户

发布于 2015-02-11 23:36:07

简单的回答是,它们与往复无关。

假设您有一个非常无聊的CPU,其中一个指令需要1ns才能完成。因此你的延迟是1ns,你的带宽是每ns一个指令。

假设您添加了一个管道阶段,将该指令拆分为获取和执行阶段。每个阶段都可以在0.5 ns内完成,所以现在您可以提高时钟速度,但是不能加倍,因为您增加了流水线逻辑的开销。此外,各个阶段都必须使用相同的时钟,即使一个比另一个快。所以也许你可以做一个0.6毫秒的钟。您的延迟现在增加到1.2ns,但是您的带宽也增加到每ns 1.7个指令。

这种关系不是线性的,特别是当你已经接近半导体技术的极限时,但是延迟和带宽都会随着流水线阶段的增加而增加,直到某个点为止。

票数 7
EN

Software Engineering用户

发布于 2015-02-11 23:18:34

他们不是回报。这些公式并没有给出延迟、MIPS和管道阶段之间的完整关系;在这段摘录中,它们只是用来定义他所说的“延迟”和"MIPS“的含义,这样他关于权衡的说法就更准确了。

Tanenbaum所指的折衷方法是,当您将CPU的管道划分为更多的阶段时,您可以并行执行更多的指令(更多的带宽),但是由于增加的复杂性(更多的延迟),每条指令都要花费更长的时间来完成。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/272939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档