当前位置: 首页 > news >正文

从沙子到CPU——计算机硬件基础入门

从沙子到CPU——计算机硬件基础入门

最近在看一些计算机底层的知识,发现一个问题:我们每天写Java代码,跑在JVM上,但很少去想下面到底发生了什么。直到有一天看到一个关于CPU制作的纪录片,才突然意识到——原来我们写的每一行代码,最终都是被一堆沙子变出来的东西在执行。这篇文章就来聊聊计算机硬件的那些事儿。

一、CPU是怎么做出来的?

你可能觉得CPU是个很高大上的东西,但说出来你可能不信——它的原材料就是沙子。

1.1 从沙子到硅锭

CPU的核心材料是硅(Si),而硅是从沙子(二氧化硅,SiO₂)中提炼出来的。整个过程大致是这样的:

沙子 → 脱氧 → 石英 → 二氧化硅 → 提纯 → 硅锭 → 切割 → 晶圆

硅锭就像一根巨大的"香肠",纯度高达99.999999999%(11个9)。然后把它切成薄片,就是晶圆(Wafer)。

1.2 光刻与蚀刻

晶圆做好后,接下来就是最关键的步骤——光刻:

  1. 涂抹光刻胶:在晶圆表面涂一层感光材料
  2. 光刻:用紫外线通过掩膜版照射,把电路图案"印"到晶圆上
  3. 蚀刻:把没有被光刻胶保护的部分腐蚀掉
  4. 清除光刻胶:把感光材料洗掉
  5. 电镀:在蚀刻出的沟槽里镀上铜
  6. 抛光:把表面磨平

这个过程要重复很多次,一层一层地构建出复杂的电路结构。

1.3 从晶体管到逻辑门

CPU内部最基本的元件是晶体管。晶体管的工作原理可以用一个简单的比喻来理解:

晶体管就像一个水龙头。栅极(Gate)是把手,源极(Source)是进水口,漏极(Drain)是出水口。把手打开,水就流过去了;把手关上,水就停了。

用电信号来说就是:栅极有电压,电流就通过(表示1);栅极没电压,电流就截止(表示0)。

有了晶体管,就可以搭建逻辑门了:

逻辑门功能电路符号
与门(AND)两个输入都是1,输出才是1A & B
或门(OR)只要有一个输入是1,输出就是1A | B
非门(NOT)输入1输出0,输入0输出1~A
或非门(NOR)或门+非门~(A | B)
异或门(XOR)两个输入不同,输出1A ^ B

这些逻辑门是计算机的"原子",所有的计算都可以用它们组合出来。

1.4 从逻辑门到计算机

有了逻辑门,就可以搭建更复杂的电路:

逻辑门 → 加法器 → 累加器 → 锁存器 → 实现手动计算

最开始的计算机确实是手动的——通电一次,运行一次位运算。后来加入了内存,实现了自动运算:每次从内存读取指令,执行,再读取下一条指令。

二、汇编语言:CPU的"方言"

2.1 机器语言与汇编

CPU只认识0和1,这就是机器语言。比如:

01000010 // 这是一条指令 10110011 // 这是另一条指令

但人脑记不住这些啊,所以就有了汇编语言——用助记符来代替二进制:

mov eax, 1 ; 把1放到eax寄存器 add eax, 2 ; eax = eax + 2

汇编的本质就是助记符,它和机器语言是一一对应的。

2.2 从高级语言到机器语言

我们写的Java代码,最终要经过这样的转换:

Java源码 → 编译器 → 字节码 → JVM解释/JIT编译 → 机器语言 → CPU执行

而C语言更直接:

C源码 → 编译器 → 机器语言 → CPU执行

三、计算机的执行过程

3.1 通电后的发生了什么

计算机通电后,执行过程是这样的:

  1. 时钟发生器不断震荡通断电,推动CPU内部一步一步执行
  2. CPU从内存中读取指令
  3. 执行指令(需要多少个时钟周期取决于指令的复杂度)
  4. 计算完成后,把结果写回内存
  5. 如果需要显示,把数据写给显卡输出

这个过程就像一个永不停歇的"取指-执行"循环。

3.2 时钟周期

时钟周期是CPU执行操作的最小时间单位。现代CPU的主频动辄几GHz,意味着每秒可以执行几十亿个时钟周期。

但要注意:一条指令可能需要多个时钟周期才能完成。比如:

  • 简单的寄存器操作:1个周期
  • 内存读取:可能需要几十个周期
  • 浮点运算:可能需要几个周期

四、量子计算机:未来的方向?

4.1 经典计算机的局限

经典计算机用比特(bit)表示信息,一个比特要么是0,要么是1。

4.2 量子比特的魔力

量子计算机用量子比特(qubit),它可以同时表示0和1:

|ψ⟩ = α|0⟩ + β|1⟩

这意味着:

  • 1个量子比特可以同时表示2个状态
  • 2个量子比特可以同时表示4个状态
  • n个量子比特可以同时表示2^n个状态

比如你要猜一个18位的数,经典计算机最多只能一个一个猜,而量子计算机可以同时暴力测试2^18(约26万)个数。

这就是为什么量子计算机在密码学领域有巨大的威胁——很多密码算法的安全性是建立在"无法短时间穷举密钥"这个假设上的。

五、总结

这篇文章我们从最基础的硬件开始,了解了:

  1. CPU的制作过程:从沙子到硅锭,再到光刻蚀刻
  2. 晶体管和逻辑门:计算机的"原子"
  3. 汇编语言:CPU的"方言"
  4. 计算机的执行过程:取指-执行的循环
  5. 量子计算机:未来的发展方向

下一篇我们会深入探讨CPU和内存的交互,聊聊缓存、超线程这些对Java程序员特别重要的知识。


参考资料

  • 《编码:隐匿在计算机软硬件背后的语言》
  • 《深入理解计算机系统》
http://www.cnnetsun.cn/news/2911887.html

相关文章:

  • 别再只做单目标定了!用MATLAB搞定双目标定,为你的SLAM/三维重建项目打好基础
  • SAP MM顾问必看:OBYC自动记账配置保姆级教程,从BSX到GBB一次讲透
  • uniapp开发避坑:Ba-TTS语音合成插件在Android和iOS上的真实体验与参数调优
  • 手把手教你用STM32F103按键控制DDSM210电机转速,并实时调试串口数据
  • 用游戏化思维学Python循环:从ICode训练场到Scratch/Python对比教学
  • MC68030指令时序深度解析:从缓存、流水线到精确性能计算
  • 保姆级教程:用Python+Cartopy绘制专业气象图(以ERA5 500hPa位势高度场为例)
  • Chaplin:无声交流的终极解决方案,让唇语识别变得简单高效
  • 智能科学与技术=人工智能专业? [特殊字符] 高考志愿的十字路口,深度解析与通关秘籍!
  • Codex使用多模型,进行项目分割.让你的用量更清晰
  • 深入解析NXP 56F80xx Quad-Timer:从基础定时到高级PWM与编码器应用
  • 终极解决方案:如何用Visual C++ Redistributable AIO一键修复所有Windows程序运行问题
  • 别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)
  • Fillinger智能填充:为什么每个Illustrator设计师都需要这个20倍效率神器?
  • 从杂乱到优雅:用markdownReader在Chrome中重新定义Markdown阅读体验
  • 基于加权稀疏矩阵恢复与加速交替方向乘子法的单通道盲解混响算法(Matlab代码实现)
  • 【Agent】 别再让你的 Agent 靠直觉写代码了:四种 Planning 架构的工程选型与落地陷阱
  • 告别Ambari和CDP:手把手教你用DataSophon在本地E5主机上搭建300节点级大数据平台
  • AutoFlow零代码自动化工具:拖拽搭积木,5分钟让电脑自动干活
  • 计算机专业四级、六级、八级考试全攻略:从基础到AI,学霸必备通关秘籍!
  • Jellyfin智能片头自动跳过插件终极指南:3步配置,告别手动快进烦恼
  • 如何在电脑上免费体验Switch游戏:yuzu模拟器完整使用指南
  • Cherry Markdown文档自动化:从编写到交付的全链路解决方案
  • 如何高效使用vectorbt构建专业级量化交易系统:从快速入门到实战优化
  • NSK W1501FA 高速重载微间隙滚珠丝杠
  • 2026年高分AI论文平台全攻略(含保姆级操作教程)
  • main-工作模式 初始化
  • 保姆级教程:在华为AR路由器上配置DHCPv6中继与PD前缀代理(附报文抓包分析)
  • 论文党速看!2026亲测好用的AI论文工具|省心版
  • 小米版Claude Code正式发布,这次开源给到夯。