0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CPU内部到底是如何工作的呢?

h1654155971.8456 来源:巢影字幕组 作者:巢影字幕组 2021-04-04 14:36 次阅读

众所周知CPU是中央处理器,它是控制处理中心,我们的电脑手机电子产品都离不开CPU。

那么,CPU内部到底是如何工作的呢?我们一起来看看。

1

当我们用电脑拼命工作的时候,殊不知电脑也在拼命的工作。

我们打开机箱,就会看见电脑的主板,也可以看到风扇在不停地转动,风扇下面就是CPU,它不停地在和内存进行数据的通讯,就像我们的大脑。

CPU是由很多很多晶体管构成的,主要有控制器,运算器,寄存器几个部分。而寄存器又分为数字寄存器,指令寄存器,指令地址寄存器。假设有四个数字寄存器,它们可以存放临时的数据。右边的是内存,还有16个存储位置,每个位置有8位bit。

2

CPU和内存之间究竟是如何工作的呢?

当我们启动电脑时,所有的寄存器都从零开始。假设内存存放了一个简单的计算机程序,CPU操作的第一阶段为“取指令”,也就是我们获得第一个指令的过程。

首先,指定地址寄存器连到内存,寄存器的值为零。内存返回地址0中的值00101110。该值复制到指定寄存器中,然后由CPU开始解析该指令,以便执行什么样的操作。这个步骤称它为“解码”。

该指定前四位为操作代码,后四位为操作代码来自哪里?由于前四位为操作代码0010,对应我们的指令集,0010是读内存放入寄存器A中,后四位是内存的地址1110。即十进制的数字14。

3fb4a33e-8cec-11eb-8b86-12bb97331649.gif

接着,用一些逻辑门电路来检查该操作码是否与0010匹配,输出为1,表示匹配成功。接下来执行该指令,也就是执行过程。

通过逻辑门电路检查电路输出,打开内存的读取线,找到内存1110的地址14,读取该地址的值00000011,下一步把该值存储到寄存器A中,我们通过数据线连接到4个数字寄存器,CPU通过指令开启数据寄存器A允许写入。该数据被写入到寄存器A中,我们已完成了该指令。

408617a2-8cec-11eb-8b86-12bb97331649.gif

现在关掉所有的线,准备从内存中读取下一条指令。指令地址增加1,内存返回地址1的值00011111,复制到指令寄存器。再到解码的过程,通过指定集,指定前四位0001,它表示读内存存储到寄存器B中,这次内存地址是1111,对应十进制尾数为15,到执行的过程,开启内存读取线,找到内存15地址,读取该地址的值。并通过数据线把该值00001110存储到寄存器B中,最后将指定地址寄存器增加1,关闭所有的线。

现在内存返回地址2的值10000100放入指令寄存器CPU从指定集开始解码,操作码1000是加法指令。添加两个寄存器存储到第二个存储器中,该指定有两种,前两位01对应的寄存器B,后两位00对应寄存器A,因此10000100是指寄存器B中的值添加到寄存器A中。

40f97de6-8cec-11eb-8b86-12bb97331649.gif

将寄存器A、B连接到运算器的输入端,运算器执行加法运算,关闭运算器输出的结果保存在寄存器A中。00010001就是输入的值是3和14两个值的和等于17,接下来指定地址增加1,完成这个过程,找到内存地址3的值。

我们打开指令集开始解码,0100表示读A寄存器到内存,1101对应内存地址是13,然后将寄存器A的值,通过数据线送到内存13的地址上。

413fd3fe-8cec-11eb-8b86-12bb97331649.gif

3

我们刚刚运行的计算机的程序,它从内存中加载两个值相加,然后把结果放入内存,也就是CPU的取指令、解码、执行过程。我们电脑的系统是要很多很多的小程序组成,CPU也就不断的在循环这个过程。

每个CPU执行这个过程的速度不一样,这个速度是由CPU主频即CPU工作频率决定,它决定着CPU的快慢。

原文标题:CPU是如何做到数据通信的?

文章出处:【微信公众号:EDA365】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10446

    浏览量

    206567
  • 通信
    +关注

    关注

    18

    文章

    5706

    浏览量

    134405
  • 中央处理器
    +关注

    关注

    1

    文章

    110

    浏览量

    16399

原文标题:CPU是如何做到数据通信的?

文章出处:【微信号:eda365wx,微信公众号:EDA365电子论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    共享单车到底是什么通信原理

    我们经常骑的共享单车到底是什么通信原理,有人了解过吗? 一、智能车锁 共享单车最核心的硬件是智能车锁,主要用于实现控制和定位功能。
    发表于 04-09 10:33 203次阅读
    共享单车<b class='flag-5'>到底是</b>什么通信原理

    共享单车到底是什么通信原理?

    我们经常骑的共享单车到底是什么通信原理,有人了解过吗?下面宝蓝小编就带大家了解下。
    的头像 发表于 02-25 10:32 547次阅读
    共享单车<b class='flag-5'>到底是</b>什么通信原理?

    去耦滤波电容怎么布局摆放,到底是先大后小还是先小后大?

    去耦滤波电容怎么布局摆放,到底是先大后小还是先小后大?
    的头像 发表于 12-04 15:43 1386次阅读
    去耦滤波电容怎么布局摆放,<b class='flag-5'>到底是</b>先大后小还是先小后大?

    到底是什么决定了二极管的最高工作频率?

    相信各位硬件工程师,应该都用过二极管吧,这里也许有一个误区,大多数人可能并不知道,或者说是理解有问题,下面就来细细说一下。 先抛出一个问题: 到底是什么决定了二极管的最高工作频率? 估计有不少人
    的头像 发表于 12-02 07:40 1264次阅读
    <b class='flag-5'>到底是</b>什么决定了二极管的最高<b class='flag-5'>工作</b>频率?

    请问AD8603的电源供电范围到底是多少

    ADI官网上的数据手册给出的电源电压为1.8V-5V 但在ADI参考电路合集1中的AD8603采用15V电源供电 请问AD8603的电源供电范围到底是多少
    发表于 11-15 08:15

    呼吸灯到底是如何影响人的视觉的?

    呼吸灯到底是通过使灯快速亮灭还是改变平均电压来影响人的视觉的
    发表于 11-08 06:04

    请问单片机的中断系统到底是什么?

    中断系统到底是什么?还搞不定
    发表于 11-07 07:40

    上拉电阻到底是咋完成上拉的啊?

    上拉电阻到底是咋完成上拉的啊
    发表于 10-31 06:52

    单片机的“性能”到底是什么?

    单片机的“性能”到底是什么?
    的头像 发表于 10-24 16:58 286次阅读
    单片机的“性能”<b class='flag-5'>到底是</b>什么?

    AT指令,AT固件,这个AT到底是什么意思?

    我们常说AT指令,AT固件,这个AT到底是什么意思?
    发表于 09-26 07:25

    物联网卡的流量到底是什么?超全详解!

    物联网卡的流量到底是什么?超全详解!
    的头像 发表于 08-31 09:13 946次阅读
    物联网卡的流量<b class='flag-5'>到底是</b>什么?超全详解!

    射频设计中的互调失真到底是如何发生的呢?如何预防?

    互调是射频设计避免对的一个问题,到底是如何发生的呢?我们一起来学习下。
    发表于 08-12 11:30 819次阅读
    射频设计中的互调失真<b class='flag-5'>到底是</b>如何发生的呢?如何预防?

    续流二极管到底是什么?

    续流二极管到底是什么
    发表于 06-26 07:55

    滤波器到底是什么呢?滤波有什么用呢?

    在关于雷达原理的说明中,经常见到各种滤波器的描述,那滤波器到底是什么呢?
    的头像 发表于 05-24 11:12 2936次阅读

    芯片中的二极管到底是如何实现单向导电的

    芯片中的二极管到底是如何实现单向导电的
    发表于 05-05 10:02