- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[原创连载]处理器走下神坛——处理器通俗讲义
2#
导读:
处理器做为计算机、通信产品、消费电子产品等的最核心部件,支撑着整个IT、CT 产业链的发展。想学处理器的人很多,但常常因处理器技术专业性太强、枯燥、不易看懂而放弃。复杂的技术背后常常隐藏着简单的道理,阿木希望能用简单的语言、图画和逻辑将处理器技术一一道破。
连载 1:跟着顺溜学流水线
连载 2:流水线的若干问题探讨连载 3:处理器的流水线实例连载 4:处理器的性能公式
连载 5:提升处理器性能的 3 种武器连载 6:处理器的几种并行策略
连载 7:程序员要了解处理器连载 8:指令并行的两种流派
连载 9:you are my super scalar
连载 10:相关
连载 11:寄存器重命名
连载 12:体系结构与微架构连载 13:指令的相关性确定连载 14:乱序
连载 15:为什么 if 语句越少越好连载 16:发生跳转时的流水线处理连载 17:分支预测
连载 18:处理器的分支预测实现连载 19:分支预测算法
连载 20:超标量处理器结构
连载 21:intel 处理器的取址与译码连载 22:指令分派
连载 23:Buffer 的作用
连载 24:处理器的执行部件连载 25:投机执行
连载 26:指令提交连载 27:VLIW 结构
连载 28:VLIW 的优势连载 29:软件流水
导读:流水线是处理器中最基本的一个概念,处理器也都是按照流水线的思想来设计。遥想当年攒机的时候,听着别人说着奔三几级流水线,赛扬几级流水线,对我们这种只知道主频是多少的人来说,感觉特牛X。那么什么是流水线?顺溜将会告诉
您答案。
2009 年央视有部热播大剧:《我的兄弟叫顺溜》。剧中顺溜是一个神枪手,里面有一个场景,当鬼子来袭击部队时,顺溜向团长建议,给自己配2 个人装弹,自己负责打枪。
从直观的思维来看,有人帮顺溜装弹,则顺溜有更多的时间来射杀鬼子,下面我们再更严格地从数学的角度来分析。
我们来计算一下顺溜消灭鬼子的效率,假设:
顺溜枪法命中率 100%,一枪毙命,装弹的人枪法太差,命中率几乎为0
子弹射击流程:先上膛,再射击
上膛需要花费 5 秒钟
射击需要花费 5 秒钟
从假设可知:如果顺溜采用原始的作战方案,即一人一枪,自己打自己的,射出一颗子弹需要 10 秒钟,那么 1 分钟顺溜可以消灭 6 个鬼子。
我们再来看看顺溜提出的作战方案:顺溜在射击的同时,战友给另一支枪上膛, 顺溜射击完后,立即拿起另一支枪射击,这样就给顺溜节省了上膛的时间,相当于顺溜 5 秒钟就完成一次射击,1 分钟顺溜可以消灭 12 个鬼子。
我们用图来描述这 2 种作战方案:
原始方案
顺溜的方案
从顺溜方案的图上,我们可以看到:当顺溜在打出第一发子弹的同时,第二发子弹正在上膛,当顺溜在打出第二发子弹的同时,第三发子弹正在上膛,子弹就如同流水一样,在各个环节流动,最后一次流动到了小鬼子的身上,这个过程被形象的称为流水线。
这种流水线的方案使得顺溜的射击效率提升了一倍,虽然浪费了另外的人给顺溜装弹,但是并不是每个人都是顺溜这样的神枪手,因此浪费专人上膛是完全值得的。
流水线的若干问题探讨
在上一节中,顺溜已经告诉了我们流水线的基本概念,顺溜将整个射击过程分成了 2 个步骤(术语称之为节拍),两个步骤可以并行起来执行,只是时间上进行了些许的错位,这就是流水线的本质。
这条流水线被划分成了 2 个节拍,也就是 2 级流水线,于是我们引出了流水线的第一个问题:流水线级数。
众所周知,Intel 处理器的流水线级数要远高于ARM、DSP 等嵌入式处理器,那么流水线级数越多,有什么好处呢?
还是以顺溜来举例子,假设顺溜将射击的流水线划分成 4 个步骤,由于阿木不熟悉真实的射击过程,就假设为上膛 1、上膛 2、射击 1、射击 2 四步吧,由于整个过程需要 10 秒,那么每一个小步骤需要 2.5 秒。
射击的 4 级流水线
从图我们可以看出,现在顺溜每2.5 秒就可以射出一颗子弹,于是一分钟可以消灭24 个敌人,射击效率提高了一倍。如果换算成计算机的术语,那就是处理器的工作频率可以提 升一倍。现在大多数嵌入式处理器的工作频率在1G Hz 左右徘徊,Intel 处理器的工作频率早已跳过了 3G Hz,这和流水线的级数有密切的关系。至于嵌入式处理器的工作频率为什么不继续提高,留待以后再说。总而言之,在不考虑其他因素的情况下,流水线级数越多, 工作效率越高。
再回到顺溜的例子,细心的读者可能会发现:顺溜并不是要求1 个人给自己上膛,而是要求 2 个人。从直觉来看,顺溜不仅仅是个神枪手,同时也是个快枪手,射击的速度是
上膛速度的 2 倍。我们再来从数学的角度严谨的分析一下,这也引出了流水线的第二个问题:流水线的效率问题。
文档评论(0)