为什么CPU需要时钟

这篇具有很好参考价值的文章主要介绍了为什么CPU需要时钟。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

为什么CPU需要时钟

为什么CPU需要时钟这样一个概念?

什么是时钟脉冲,CPU为什么需要时钟,时钟信号是怎么产生的?

为什么CPU需要时钟

上面这个图的方波就是一个脉冲,类比于人类的脉搏跳动。一个脉冲称之为CPU的一个时钟信号,或者时钟脉冲。一个脉冲周期就叫CPU时钟周期,一个时钟周期内时钟信号震荡一次。

接下来我们先来看这个电路图:

为什么CPU需要时钟

在上图中,起初 A = B = 1 A=B=1 A=B=1时, Q = 0 Q=0 Q=0.当输入信号发生变化时,逻辑元件不会立即对输入变化做出反应,会有一个传播时延(propagation delay)。当这个B变化为0时,由于B也作为XOR直接输入,所以XOR异或门会立即感知一个输入变化为0的状态变化,XOR输出变为了1。但是由于传播时延的作用,与门的输出会过一小段时间才变为0,XOR们的输出会在变为1后隔一小段时间重新变回0.可以通过下图来看这个变化的过程:

为什么CPU需要时钟

上面的这种现象叫做空翻(race condition),即指出现了一个不希望有的脉冲信号。可以看到虽然AB是一样的结果,但是输出的Q却得到了不一样的结果,对应Q中突起的那一小块。

为了解决这种传输时延带来的错误结果,最简单的方法就是在输出端放置一个边沿触发器:

为什么CPU需要时钟

可以看到我们在原来电路的基础上,添加上了一个CLK。边沿触发器的作用就是只有当CLK端输入从0变为1时,数据端D的输入才会影响边沿触发器的输出。这样,所有的传播时延都会被边沿触发器所隐藏掉,这个时候Q端的输出将变得稳定(不会受传送时延的影响)。比如:

为什么CPU需要时钟

上图中Q中的灰色部分代表没有边沿触发器时Q端状态的输出。我们可以看出,当有了边沿触发器之后,Q端的输出变得稳定,基本消除了传播时延。

根据上图我们进一步理解前面说的边缘触发器的作用。在上述的电路中,只有当CLK处于高电频的时候输出端Q才会接收输入。所以只要AB运作时的传输时延控制在CLK低电频率的时间段内,传输时延产生的影响就会被输出端屏蔽掉。

通过上面的例子我们可以看出CPU为什么要时钟:目前大多数的微处理器都是呗同步时序电路所驱动,而时序电路由各种逻辑门组成。正如上面说的那样,逻辑门需要一小段时间对输入的变化做出反应。所以需要时钟周期来容纳传播时延,并且时钟周期应当打到容乃所有逻辑门的传输时延

当然,还有一种异步逻辑电路(Asynchronous sequential logic),即不需要时钟信号做同步。但是这种异步逻辑电路虽然速度比同步时序电路快,然而设计起来比同步时序电路复杂的多,并且可能会遇上前面说的空翻现象。所以,现在绝大多数的CPU还是需要时钟做信号同步的。

关于计算机中的时钟脉冲是如何产生的?

计算机中的时钟脉冲是由一个叫晶振部件辅助产生的,这里不细讲。可以理解的是通过晶振可以稳定的脉冲信号,可以作为上图中的CLK。文章来源地址https://www.toymoban.com/news/detail-410468.html

参考

  • 为什么CPU需要时钟这个概念
  • Why do Microcontrollers need a Clock
  • 晶振的讲解及使用

到了这里,关于为什么CPU需要时钟的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 为什么需要websocket?

    前端和后端的交互模式最常见的就是前端发数据请求,从后端拿到数据后展示到页面中。如果前端不做操作,后端不能主动向前端推送数据,这也是http协议的缺陷。        因此,一种新的通信协议应运而生---websocket,他最大的特点就是服务端可以主动向客户端推送消息,客

    2024年02月12日
    浏览(59)
  • 为什么需要单元测试?

    为什么需要单元测试? 从产品角度而言,常规的功能测试、系统测试都是站在产品局部或全局功能进行测试,能够很好地与用户的需要相结合,但是缺乏了对产品研发细节(特别是代码细节的理解)。 从测试人员角度而言,功能测试和系统测试以及其他性能测试等等对测试

    2024年02月12日
    浏览(69)
  • 为什么需要uboot?

    bootROM: 一种固化在芯片内部的只读存储器(ROM),用于启动和初始化系统。BootROM 中通常包含了一些预先编写好的代码,用于完成系统启动前的基本初始化和配置, 例如初始化时钟、GPIO控制器、中断控制器、存储设备(SD卡、NAND Flash、SPicy Flash)等硬件资源, 检测启动设备

    2023年04月23日
    浏览(63)
  • 为什么需要对相机标定?

    以下内容来自系统教程如何搞定单目/鱼眼/双目/阵列 相机标定? 点击领取相机标定资料和代码 为什么需要对相机标定? 我们所处的世界是三维的,而相机拍摄的照片却是二维的,丢失了其中距离/深度的信息。从数学上可以简单理解为,相机本身类似一个映射函数,其将输

    2024年02月06日
    浏览(55)
  • 为什么自动驾驶需要5G?

    什么叫自动驾驶? 自动驾驶分为6个等级: Level 0: 人工驾驶,无驾驶辅助系统,仅提醒。 Level 1: 辅助人工驾驶,可实现单一的车速或转向控制自动化,仍由人工驾驶(如定速巡航、ACC)。 Level 2: 部分自动驾驶,可实现车速和转向控制自动化,驾驶员必须始终保持监控(

    2024年02月08日
    浏览(65)
  • 爬虫时为什么需要代理?

    我们都知道爬虫时是需要代理地址介入的。使用代理可以隐藏你的真实IP地址,防止被网站封禁或限制访问。此外,代理还可以帮助你绕过地理限制,访问被封锁的网站或服务。但是请注意,使用代理也可能会带来一些风险,例如代理服务器可能会记录你的访问数据,或者代

    2024年02月06日
    浏览(55)
  • 爬虫为什么需要ip

    爬虫需要使用爬虫ip主要是为了解决以下问题: 1、反爬虫机制:许多网站会设置反爬虫机制来防止爬虫程序的访问,例如限制IP地址的访问频率、检测访问来源等。使用爬虫ip可以绕过这些限制,使得爬虫程序更难被检测到。 2、访问限制:有些网站可能会对某些地区的IP地址

    2024年02月02日
    浏览(59)
  • 什么是分库分表?为什么需要分表?什么时候分库分表

    不急于上手实战  ShardingSphere  框架,先来复习下分库分表的基础概念,技术名词大多晦涩难懂,不要死记硬背理解最重要,当你捅破那层窗户纸,发现其实它也就那么回事。 分库分表是在海量数据下,由于单库、表数据量过大,导致数据库性能持续下降的问题,演变出的技

    2023年04月26日
    浏览(146)
  • 为什么RIP使用UDP,OSPF使用IP,而BGP使用TCP?为什么RIP周期性地和邻站交换路由信息而BGP却不这样做?

    RIP只和邻站交换信息,使用UDP无可靠保障,但开销小,可以满足RIP要求; OSPF使用可靠的洪泛法,直接使用IP,灵活、开销小; BGP需要交换整个路由表和更新信息,TCP提供可靠交付以减少带宽消耗; RIP使用不保证可靠交付的UDP,因此必须不断地(周期性地)和邻站交换信息才

    2024年02月02日
    浏览(53)
  • 为什么商业基础软件需要开源

    Bytebase 本身是一家商业软件公司,而作为最核心资产的代码从 Day 0 却是开源的。同时我们还是 star-history.com 的运营者,大家在各种开源渠道会看到它生成的图: 一直以来,常会被别人问起的一个问题,就是为什么 Bytebase 要开源。结合这 2 年多的实战经验,一次性把能想到的

    2024年02月13日
    浏览(101)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包