为什么CPU需要时钟

news2024/11/23 23:21:26

为什么CPU需要时钟

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

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

image-20230410204922604

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

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

image-20230410201705096

在上图中,起初 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.可以通过下图来看这个变化的过程:

image-20230410202335096

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

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

image-20230410202804227

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

image-20230410203053710

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

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

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

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

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

计算机中的时钟脉冲是由一个叫晶振部件辅助产生的,这里不细讲。可以理解的是通过晶振可以稳定的脉冲信号,可以作为上图中的CLK。

参考

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/425344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Melis4.0[D1s]:6.mango-MQ-R基于Melis移植lvgl

文章目录1.下载lvgl源码到《D1s-Melis/ekernel/drivers/hal/test/disp2》目录1.1 修改Makefile1.2 快速测试Makefile修改是否有效2.移植刷新显示内存函数dummy_flush_cb3.创建一个定时器调用lvgl心跳lv_tick_inc()4.pack打包出错:5.设置开机启动6.源码下载上一篇文章…

《类和对象》(上)

本文主要对类和对象有一个初步的了解。 文章目录前言1、类的引入和定义2、类的访问限定符及封装2.1 访问限定符2.2 封装3 、类的作用域4 、类的实例化5 、类对象的模型5.1 类对象的大小5.2 类对象存储方式6、this 指针6.1 引子6.2 特性6.3 this指针的一个问题前言 C语言是面向过…

【微信小程序】-- 分包 - 独立分包 分包预下载(四十五)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…

VRIK+Unity XR Interaction Toolkit 实现VR上半身的追踪(附带VRM模型导入Unity方法和手腕扭曲的解决方法)

文章目录📕第一步:配置 OpenXR XR Interaction Toolkit 的开发环境📕第二步:导入人物模型⭐VRM 模型导入 Unity 的方法📕第三步:配置 VRIK⭐给模型加上 VRIK 组件⭐将模型的头部和手部的位置作为 VR 追踪目…

如何用ChatGPT做设计?激发设计师们的灵感

伴随着人工智能技术的迅猛发展,AI 工具在设计领域中的应用也越来越广泛。 当前,诸如ChatGPT等 AI 工具不仅可以进行自然语言处理,还可以应用于图像、视频等多种媒体领域,为设计师们提供了丰富的应用场景。 使用Chatgpt&#xff1…

开源了,我做了一个基于GPT的桌宠聊天系统:Pet-GPT!

前言 最近chatgpt的热度高居不下。作为一个深度成谜者,发现大部分开发者在调用GPT的时候要不就是基于Tauri做本地窗口外接网页,要不就是web直接展示。在沉思苦想一段时间后,才发现好像没啥什么人用pyqt做啊?特别是没人用桌面宠物…

浏览器:好用的浏览器插件,亲测好用

插件一、CSDN,推荐指数五颗星,强烈推荐 说明:超级好用的浏览器桌面,功能强大,操作简单,效率神器 插件二、AIX智能下载器 说明: 就这么简单的拖放即可实现保存图片,即使观看中的视频…

凌恩生物美文分享|好看又实用,多组学联合分析项目大揭秘!

基因层面的功能潜能有没有真的实现表达,表达量是高是低?下游合成的蛋白质行使了什么样得功能,代谢产物通过体循环到达靶器官,又是如何影响靶器官的工作运行的? 一个完整的生物学故事,中心法则贯穿始终&…

2023十大连锁店进销存软件排名(真实测评)

目前市面上很多连锁店进销存软件的排名都比较主观,结合自己实际工作过程中接触过的软件和在进销存软件多年的经验,给大家整理下2023十大连锁店进销存软件,希望能帮到正在选择连锁店进销存软件的老板! 第一名:秦丝连锁联…

机器学习 | 实验三:逻辑回归和牛顿法

⭐ 对应笔记:牛顿法 📚描述 在本练习中,我们将使用牛顿法对分类问题实现逻辑回归。 📚数据 在本练习中,假设一所高中有一个数据集,该数据集表示40名被大学录取的学生和40名未被录取的学生。 每个(x(i),y…

pandas笔记:offset.DateOffset

进行date的偏移 class pandas.tseries.offsets.DateOffset 1 参数说明 n 偏移量表示的时间段数。 如果没有指定时间模式,则默认为n天。 normalize是否将DateOffset偏移的结果向下舍入到前一天午夜**kwds 添加到偏移量的时间参数 年(years&#xff09…

软考软件设计师 数据库知识点笔记

概念数据模型 了解即可 结构数据模型 数据库的三级模式结构 外模式对应视图 概念模式对应的是数据库管理系统里面的基本表 内模式对应的是数据库里的一些存储文件 上图可直接背下面概念 两级映像 有内模式跟物理独立性相关,有外模式跟逻辑独立性相关 两级映像其…

MySQL主从复制原理剖析与应用实践

vivo 互联网服务器团队- Shang Yongxing MySQL Replication(主从复制)是指数据变化可以从一个MySQL Server被复制到另一个或多个MySQL Server上,通过复制的功能,可以在单点服务的基础上扩充数据库的高可用性、可扩展性等。 一、背…

人工智能AI简史

AI人工智能简史 最近学习AI,顺便整理了一份AI人工智能简史,大家参考: 1951年 第一台神经网络机,称为SNARC;1956年 达特茅斯学院会议,正式确立了人工智能的研究领域;1966年 MIT发明ELIZA人机心…

【Java|golang】2409. 统计共同度过的日子数

Alice 和 Bob 计划分别去罗马开会。 给你四个字符串 arriveAlice ,leaveAlice ,arriveBob 和 leaveBob 。Alice 会在日期 arriveAlice 到 leaveAlice 之间在城市里(日期为闭区间),而 Bob 在日期 arriveBob 到 leaveBo…

数字孪生灌区信息化-灌区现代化建设

平台概述 柳林数字孪生灌区信息化平台以物理灌区为单元、时空数据为底座、数学模型为核心、水利知识为驱动,对物理灌区全要素和建设运行全过程进行数字映射、智能模拟、前瞻预演,与物理灌区同步仿真运行、虚实交互、迭代优化,实现对物理灌区…

企业不会用、不敢用AIGC+ 服务怎么办,不妨试一下它?

自从去年ChatGPT上线后,国内外与AIGC相关的话题就一直备受关注。AIGC是指人工智能通用语言模型(Artificial General Language Model),是一种具有极高自然语言理解能力的人工智能模型,其通过大规模语料库训练,能够像人类一样自然地理解和生成语言。ChatGPT正是基于AIGC技术开发的…

数据挖掘(3.1)--频繁项集挖掘方法

目录 1.Apriori算法 Apriori性质 伪代码 apriori算法 apriori-gen(Lk-1)【候选集产生】 has_infrequent_subset(c,Lx-1)【判断候选集元素】 例题 求频繁项集: 对于频繁项集L{B,C,E},可以得到哪些关联规则: 2.FP-growth算法 FP-tre…

sealos部署k8s集群

使用sealos部署kubernetes集群并实现集群管理 1. 初始环境 官方参考:https://www.sealyun.com/zh-Hans/docs/ 1.1 主机准备 都是静态ip,可上网 主机名主机IP服务器配置k8s-master01192.168.200.1002c4g 40Gk8s-node01192.168.200.1012c4g 40Gk8s-no…

Pytorch实现R-CNN系列目标检测网络

在PyTorch提供的已经训练好的图像目标检测中,均是R-CNN系列的网络,并且针对目标检测和人体关键点检测分别提供了容易调用的方法。针对目标检测的网络,输入图像均要求使用相同的预处理方式,即先将每张图像的像素值预处理到0 ~1之间…