我来讲述计算机知识的科普文,计算机科普文:CPU的工作过程和组成

记得大学时的导师和讲过:把生活和计算机联系起来,会发现有很多共性;计算机抽象于生活,代码思维恰如人生哲学。

参考:

计算机中CPU扮演的角色

本文是一次关于计算机底层的的梳理。

官话

CPU的基本工作是执行存储的指令序列,即程序。程序的执行过程实际上是不断地取出指令、分析指令、执行指令的过程。

dd214ab052eba218d6691905e0999b1a.png

从整体来看

计算机就像是个大领导,有条不稳的调度着各种资源,而且很高效,让手下的线程或者进程做事情,但是他只能同时处理一件事情,又不能让其他线程等待很久,所以在和不同的人打交道时,会记着上一次说了什么,下一次继续,这叫保护现场。而每次让线程处理事情的时间叫时间片。

拆分来看

为了完成CPU的角色定位,CPU内部需要什么东西呢?为什么CPU可以完成这些任务?

CPU主要组成部分分为:控制器、运算器、以及后来的高速缓存、浮点处理器;

CPU主要组成部分逻辑结构图:f6d5e41847c8a20caa2bb061154b0733.png

控制器

无论是单个计算机还是实际的团队,上至国家,下至个人,控制都是整个系统的核心。

嘀嗒嘀嗒嘀嗒 -> 高电压、低电压、高电压、低电压 -> 101010,计算机只能识别这中机械码,别把人类的情感带入其中。

计算机控制指令执行,正是依靠着时序发生器来进行的。

自然界有个神奇的东西,叫石英,学名二氧化硅SiO2。

石英的晶振是固定的,很有规律,我们最常见的可能是石英钟,原理就是这样。

在计算机中,也用了这个东西,只不过更复杂一些。

时序发生器用于信号同步,集体指挥,像个领导一样。

CPU的控制器由以及及部分组成:

程序计数器 :下一条指令我该去哪里取,它负责记录

指令寄存器 :当前的指令在哪?它存着

指令译码器 :根据人类定义的一个二进制表,去查表然后根据表中的内容进行指令翻译。

时序发生器 :嘀嗒嘀嗒负责指令执行,这个里边的电路其实还蛮复杂的

操作控制器 :和 时序发生器配合使用

其主要功能包括:

从主存中取出一条指令,并指出下一条指令在主存中的位置;

对指令进行译码,并产生相应的操作控制信号,以便启动规定的动作;

指挥并控制CPU、主存和输入/输出设备之间数据流动的方向。

ee727d711c5c5d08a41f8f9b6c93db89.png

运算器

核心就是我们常挂在嘴边的ALU。加减乘除等操作都是在这里完成,是个数据加工车间。

运算器由算术逻辑单元(ALU)、累加寄存器(AC)、数据寄存器(DR)和程序状态字寄存器(PSW)组成。

它有两个主要功能:

执行所有的算术运算;

执行所有的逻辑运算,并进行逻辑测试。

累加寄存器:为算术逻辑单元(ALU)提供一个存放临时值得地方

数据寄存器:CPU嫌弃内存速度慢,作为一个数据或指令的中转站

程序状态字寄存器:保存各种状态条件标志的寄存器,比如:运算结果溢出标志、进位、借位

高速缓存

CPU觉得内存太慢了,自己搞了一块缓冲区

CPU的频率是 GHz为单位,其速度小于1 ns 【 纳秒 】

内存的速度是100 ns。

二者最少相差百倍,于是乎,CPU嫌弃内存,说你太慢,自己搞了一款比较小的缓存,大概几M吧,用户缓存常用数据。

小结

CPU中有很多寄存器,比如控制器中的:程序计数器、指令寄存器、指令译码器、时序发生器等以及运算器中的累加寄存器、数据寄存器、程序状态字寄存器等。

那么CPU中一共有多少寄存器呢?

8086处理器:f78ee0391432e9858690c754bf4793b3.gif

ARM7处理器:

82d9e911ad6d81686407e1b11dddb697.png

在CPU中至少要有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW)。

这些寄存器用来暂存一个计算机字,其数目可以根据需要进行扩充。

若要了解更多寄存器的知识:CPU体系架构-寄存器

篇幅过长不易理解,下次聊聊CPU和内存的故事。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值