您当前的位置: 首页 > 

顺其自然~

暂无认证

  • 4浏览

    0关注

    1317博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

为什么CPU需要时钟才能工作

顺其自然~ 发布时间:2020-12-22 20:50:12 ,浏览量:4

CPU里可以粗略的认为是很多很多很多小电容。充满电了算1,没充电算0。每次计算就是这些小电容翻来覆去的充电放电。

很多小电容组成一个个基本的模块,比如输入0011输出0100

但从输入0011到实际输出0100是有一个延迟的。因为前面说了,电容要充电放电,这个需要时间。

这些小模块各种连接,组成复杂的功能。也就是前面小模块的输出会被后面模块当成输入。

那就有问题了,一方面,后面的模块要如何知道前面的模块到底是已经完成充电/放电了呢,还是正在充电放电呢?另一方面,路径越长从最开始输入到最终的输出的时间就越长,也就是路径长度不同延迟就不同,所以你很难保证每个针脚上的数据严格的同时到达。

所以就引入了时钟机制。

用一个统一的时钟脉冲来同步各个小模块。脉冲没来,大家抓紧时间充电放电,脉冲来了,大家一起动。

你可以认为时钟脉冲来一下,CPU就动一下。下个时钟脉冲一直不来,CPU就一直不动。

对于同一个CPU来说自然是频率越高速度越快(动的次数越多)。

但动一下不见得能执行一条指令。实际上需要动很多下才能执行一条指令。

那到底要动几下呢?这事很难说,取决于CPU的架构和设计。

所以,不同架构的CPU很难直接通过频率比较性能。

(但不是说不同架构的CPU不能比,大家做同一个宏观任务,比如渲染网页,看谁快呗?)

相同架构和结构的CPU确实可以比。

所以才有超频这种技术,说白了就是加快时钟脉冲频率。但超频会带来许多问题,单位时间更多次数的充电放电会导致电流增大也就是CPU整体发热大大增加。另外充电放电有个速度问题,频率太快会导致有些小电容没有及时完成充电放电,进而发生不稳定的情况。

适当加电压可以加速充电放电的过程,可以增加超频后的稳定性。但副作用是CPU更热了,而且小电容实在太小了,电压稍微高一点可能就击穿了。

引入“时钟”最重要的作用是为了简化 从而降低计算机的设计成本。

也存在无时钟的CPU;但是,CPU是不可能自己单独完成工作的, 而无固定频率(即“时钟“)的CPU和周边工作单元协同工作时,因为大家步调不一致,沟通起来效率会打折扣, 想象一下,大BOSS就是CPU分配工作,时刻提醒自己,记着要告诉RAM:你准备好,我要在0.000000000000123456........秒后调用你的数据哦,还有要再对Modem说:0.000000234567....秒开始给我下载,哎那个键盘,老子正忙着呢,你这时候给我提交输入不是添乱嘛!。。。。。。。。哎唷,搞的大家都很累好么!

引入时钟(周期)的话,这些都简化了:比如只要在固定周期去接收和处理键盘提交的输入就好了。

更直接的打个比方: CPU接了个给广场铺砖的活,于是带一帮只懂铺砖的RAM、Modem、key、、去干活,用边长1×1的地砖是最简单的,只要给大家说:A你从第一块开始铺,B从100块开始,C从200块开始。。。。。。这样大家可以同步工作了

而如果ABCDEFG.....大家各用各自规格的地板砖来开工,CPU准得急死!

简单说,时钟(周期)就是为了规定一个最小单位的地板砖。

转自:为什么 CPU 需要时钟才能工作? - 知乎

关注
打赏
1662339380
查看更多评论
立即登录/注册

微信扫码登录

0.0435s