计算机原理基础知识
把一台计算机翻过来,计算机原拆开底盖,理基你会看到一块绿色的础知电路板,上面密密麻麻布满了黑色的计算机原小方块。这些小方块就是理基芯片,而其中最大的础知一块,通常被一块金属散热片压着,计算机原那就是理基CPU——中央处理器。你可能会觉得这东西神秘,础知但说白了,计算机原它就是理基个执行指令的工人,而且是础知个极其死板的工人。 CPU不懂什么叫“聪明”,计算机原它只认得两种东西:0和1。理基电流通过,础知是1;电流切断,是0。你敲下的每一个字母,屏幕上显示的每一张图片,本质上都是这串0和1的组合。这听起来像天书,但计算机的所有魔法都建立在这个最简单的物理事实上。有趣的是,人类为了让这个只会数数的家伙干活,发明了层层叠叠的抽象阶梯。 最底层是晶体管,它们像微型开关,一个开关控制一个0或1。现代CPU里集成了上百亿个这样的开关,它们每秒能开合几十亿次。你可能会问,这么多开关怎么协调工作?这就得说到时钟——CPU内部有个石英振荡器,像节拍器一样发出固定频率的脉冲。每个脉冲到来,所有开关同步动作一次。所以CPU的频率越高,每秒能执行的开关动作就越多。但频率不是万能的,发热会限制它,这就是为什么你电脑风扇会狂转。 再往上一层,是机器指令。每个CPU型号都有自己的一套指令集,比如“把某个内存地址的值加载到寄存器”“把两个数相加”。这些指令是硬编码在芯片里的电路逻辑。你写的Python、Java代码,最终都要翻译成这些简单的不能再简单的操作。我见过不少初学者觉得高级语言很酷,但真正理解计算机原理的人都知道,那些花哨的框架底下,跑的还是最原始的加减乘除和跳转。 内存则是另一个关键角色。CPU运算速度极快,但存储能力几乎为零——它只认识寄存器里那几百个字节。而你的程序和数据放在内存条里,内存的读写速度比CPU慢一个数量级。为了弥补这个差距,工程师们塞了多层缓存(Cache)在CPU和内存之间。这就像你办公桌上放常用文件,抽屉里放次要文件,档案室放不常用的。缓存命中的时候程序飞快,缓存不命中的时候程序卡顿,这种微妙的不确定性是性能调优的乐趣所在。 操作系统在这套硬件上扮演管家的角色。它管理内存的分配,决定哪个进程用哪块地址空间,防止进程互相踩踏。它还调度CPU时间片——每个进程轮流用一小段CPU,切换速度快到让你以为自己在同时运行多个程序。实际上单核CPU同一时刻只能干一件事,你看到的“多任务”不过是快速切换的错觉。 我当年第一次用汇编语言写了个“Hello World”,看着屏幕上跳出的文字,突然意识到这背后经历了多少次电信号的翻转、多少次指令的取指译码执行。那种震撼远大于用Python三行代码搞定同样的事。搞懂计算机原理不会让你立刻会写更快的代码,但会让你在遇到诡异bug时,能猜到底层发生了什么,而不是对着屏幕发呆。 说到底,计算机就是个极其听话、极其快速的笨蛋。它的聪明全来自人类给的规则,而理解这些规则,就是理解计算机原理的全部意义。
-
上一篇
-
下一篇
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-