每天摸着CPU,摸了20多年,却总是无法彻底理解CPU的工作原理,还有比这更郁闷的事吗?所以我决定攻克这一世界(我个人的世界)难题,自己做一个CPU来理解CPU的工作原理。

“ 造一个什么样的CPU好呢?Intel i7那样的CPU好不好?”

“好是好!可我现在也只敢在心里想一想,毕竟我幼儿园都没毕业,说出去,全世界的目光都要变异了啊!”

“那将就点,造个Intel 4004这样的CPU,毕竟这只是用来理解CPU的原理。”

“不错,这个CPU简单,可是需要2250个晶体管,我都失业一年多了,没钱买------”

“唉!难道这一伟大工程,要胎死腹中吗?”

“不!绝不能半途而废!”

受条件限制,最后我决定,先在心里造一个最简单的CPU,然后再买材料制造。最简单,意味着要把很多次要的东西去掉。如下图,如果还要简化,该怎么简化?我想了很久,最后决定造一个0位CPU,既然是0位CPU,那么寄存器和ALU就都可以去掉了,最后只剩下控制器。也许你会大叫:都去掉了那还叫什么CPU?还有什么用?稍安勿躁,简化只为触及CPU最本质的原理,而理解了最本质的原理,就如同理解了原子核的原理可以制作原子弹一样,你也可以制造不同于现在CPU的CPU。

现在剩一个控制器了,不能再减了!再减就什么都没有了!虽然不能把控制器减掉,但是可以简化啊!控制器有输入,有输出,把它简化到最简单的状态,就是只有一个输入,一个输出,

最终的CPU原理也就出来了,就是:控制+控制。控制器输出信息控制外部器件,外部器件的运算结果又控制了控制器。

用实物来搭建最小的CPU会是什么样?

这不就是一个振荡器吗?我最初也没想到,把CPU精简到最小会是一个振荡器!但它的确是,那自然就有它的道理。君不见每个CPU要运行,由振荡电路产生的时钟信号是必不可少的吗?没有振荡电路,CPU就是一块石头,是死的。而没有CPU中的其它电路,振荡器还是一样的工作。现实中振荡电路和CPU是分开的,给人理解带来困惑。事实是一切的起源在于振荡器产生的时钟。

至于造实物,已经没有必要了,因为20多年前就已经做过,别人还用这个电路加变压器电翻了一大片鱼,说来真是好笑,你所追求的,本来你就拥有。

凤凰涅槃,现在可以从这里开始,添加译码电路,寄存器,运算单元,来实现更完整的CPU了!

通过自制CPU来彻底理解CPU的工作原理相关推荐

  1. CPU降温软件测试自学,CPU降温软件真的有用吗工作原理是什么

    CPU温度是一个很重要参数,我们都会采取物理和软件等方法对CPU降温,不过也有网友怀疑了,这些软件真的能让CPU降温吗?具体情况一起看看! CPU降温软件真的有用吗 如果要让CPU在不需要使用的时候休 ...

  2. eja智能压力变送器工作原理_如何理解智能压力变送器工作原理及功能介绍

    如何理解智能压力变送器工作原理及功能介绍 智能压力变送器一般是由传感器.微处理器.存储器及模数.数模转换器组成.传感器用来检测被测量的信号,其所用材料因厂家而异.横河EJA为硅谐振式,把被测参数转换为 ...

  3. [diango]理解django视图工作原理

    前言:正确理解django视图view,模型model,模板的概念及其之间的关联关系,才能快速学习并上手使用django制作网页 本文主要讲解自己在学习django后对视图view的理解 在进入正文之 ...

  4. 用一个实际例子理解Docker volume工作原理

    要了解Docker Volume,首先我们需要理解Docker文件系统的工作原理.Docker镜像是由多个文件系统的只读层叠加而成.当一个容器通过命令docker run启动时,Docker会加载只读 ...

  5. 理解ABR及其工作原理

    点击上方"LiveVideoStack"关注我们 翻译 | Alex 技术审校 | 赵军 本文来自OTTVerse,作者为Krishna Rao Vijayanagar. ABR ...

  6. 用一个实际例子理解Docker volume工作原理 1

    要了解Docker Volume,首先我们需要理解Docker文件系统的工作原理.Docker镜像是由多个文件系统的只读层叠加而成.当一个容器通过命令docker run启动时,Docker会加载只读 ...

  7. 理解 HTTPS 的工作原理

    转自 https://linux.cn/article-6804-1.html 目标读者:理解HTTP协议,对称和非对称加密,想要了解HTTPS协议的工作原理. 读完本文,你能明白 什么是HTTPS, ...

  8. Linux CPU 100%问题 | 理解 CPU负载和 CPU使用率

    CPU 负载和 CPU 使用率 这两个从一定程度上都可以反映一台机器的繁忙程度. CPU 使用率反映的是当前 CPU 的繁忙程度,忽高忽低的原因在于占用 CPU 处理时间的进程可能处于 IO 等待状态 ...

  9. 十个问题理解Linux epoll工作原理

    作者:dustinzhou,腾讯 IEG 运营开发工程师 epoll 是 linux 特有的一个 I/O 事件通知机制.很久以来对 epoll 如何能够高效处理数以百万记的文件描述符很有兴趣.近期学习 ...

最新文章

  1. C#中的委托和事件(续)
  2. 主席树 ---- CF 1422F. Boring Queries(由离线推出在线如何求的 ,求解多次询问的区间LCM)
  3. jmeter的两种参数化方法
  4. python拼音怎么写-Python 获取中文字拼音首个字母的方法
  5. 【攻防世界002】EasyRE
  6. TC工具后台模式_如何用WRF模式模拟台风个例
  7. pytorch制作CNN的类印象图 class impression(类别生成图)及生成对抗攻击样本
  8. npm中package.json详解
  9. redis 主从复制 [转]
  10. python3哪个版本稳定-python3哪个版本稳定
  11. php分页查询·······类
  12. AddThis AddFeed WordPress插件发布 [转]
  13. bing翻译使用-Unity
  14. 我喜欢的刀刀语录(一)
  15. Go语言核心之美 3.3-Map
  16. 快手+中科大 | 全曝光推荐数据集KuaiRec 2.0版本
  17. 我的图床解决方案,超详细!
  18. 知识经济时代,企业该如何进行知识管理?
  19. 计算机职称落户,人才引进落户等6类落户方式 新政策全部在这里
  20. 解决:无法访问此网站网址为 https://weread.qq.com/ 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。 ERR_INSUFFICIENT_RESOURCES

热门文章

  1. 福瑞泰克ADC20域控制器量产解决方案升级,结合数据闭环进入新阶段
  2. 1.5万字讲清楚从0到1搭建电商营销中心(建议收藏)
  3. Web渗透测试完整实例(windows)
  4. 图片无损放大怎么做?这个工具一看就会
  5. [OpenGL]射线拾取RayPicking---(1)生成射线
  6. Qt开发技术:Q3D图表开发笔记(一):Q3DScatter三维散点图介绍、Demo以及代码详解
  7. 中国风险投资年鉴(2002-2018)缺2004
  8. MySql 批量插入数据库Java代码实现思路
  9. ROS2机器人笔记20-10-03
  10. 3D图形学中的矩阵变换及证明(一)