欢迎来到硬件世界!
你好!今天我们将深入探讨计算机科学的物理层面。软件是一组告诉计算机该做什么的指令集,而硬件 (Hardware) 则是“你可以触摸到的实体”。我们将探讨计算机是如何思考、如何记忆,以及如何与外界沟通的。如果这听起来内容很多,别担心,我们会把它拆解开来,一点一点地学!
3.1 计算机及其组件
每台计算机系统要运作,都需要四个核心要素:输入 (Input)、输出 (Output)、存储 (Storage) 和 内存 (Memory)。你可以把它想象成一个厨房:你将食材带进来(输入),在台面上进行处理(内存),将剩余的食材放在储物柜(存储),最后将完成的餐点端上桌(输出)。
1. 内存:RAM 与 ROM
这两者很容易混淆,但这里有一个简单的窍门:RAM 是为了“当下”正在发生的事情,而 ROM 则是用于“永不改变”的事项。
- RAM(随机存取存储器): 这是易失性 (Volatile) 内存。这意味着当你关掉电源时,里面所有的数据都会消失!它负责存储当前正在使用中的数据和程序。
- ROM(只读存储器): 这是非易失性 (Non-volatile) 的。即使断电,它也能保留其中的数据。它通常包含计算机的“启动”指令(BIOS)。
深入了解:RAM 的类型
- DRAM(动态 RAM): 需要每秒刷新数千次。它的成本较低,用于主内存。
- SRAM(静态 RAM): 速度更快且不需要刷新,但价格较昂贵。它用于 CPU 内部的高速缓存 (Cache)。
深入了解:ROM 的类型
- PROM: 可编程只读存储器(只能写入一次)。
- EPROM: 可擦除可编程只读存储器(可以使用紫外线进行擦除)。
- EEPROM: 电可擦除可编程只读存储器(可以使用电子信号擦除——这就是闪存的运作原理!)。
2. 输入与输出设备
我们如何与计算机沟通,以及它如何回应我们?
- 激光打印机: 利用激光束和粉末状墨水(碳粉)快速打印高质量的文档。
- 3D 打印机: 通过将材料(如塑料)一层一层地“打印”堆叠起来,创造出实体对象。
- 麦克风与扬声器: 麦克风将声波转换为电信号(输入);扬声器则执行相反的操作(输出)。
- 虚拟现实 (VR) 头戴式设备: 利用传感器追踪你的头部移动,并通过屏幕向你展示 3D 世界。
3. 存储:文件都去哪了?
- 磁盘硬盘 (Magnetic Hard Disk): 使用旋转盘和移动的读写头。它在提供大量存储空间方面很便宜,但速度较慢且容易损坏。
- 固态(闪存)存储 (Solid State / Flash Memory): 没有移动部件!它速度非常快且耐用。这就是你手机或 USB 闪存盘里面的存储方式。
- 光盘 (Optical Discs):(CD、DVD、蓝光光盘)使用激光在反射面上读取和写入数据。
4. 嵌入式系统 (Embedded Systems)
嵌入式系统是内嵌在大型装置中,用于执行特定任务的小型计算机。 例子:微波炉里的计时器、汽车的引擎管理系统,或是洗衣机里的控制器。
优点: 体积小、制造成本低、非常可靠。
缺点: 难以更新,且只能执行一项特定的工作。
快速回顾: RAM 是易失性的(断电即忘),ROM 是非易失性的(永远记得)。嵌入式系统是隐藏在电器里的“计算机”。
虚拟机 (Virtual Machines, VMs)
想象一下,你有一台 Mac,但你需要运行一个只支持 Windows 的软件。与其买一台新计算机,你可以使用虚拟机。
虚拟机是一种表现得像实体计算机的软件程序。它在另一个“操作系统”内部运行一个“操作系统”。
- 宿主操作系统 (Host OS): 实际安装在硬件上的主要操作系统。
- 客户操作系统 (Guest OS): 在虚拟机内运行的操作系统。
优点: 你可以同时运行多个操作系统,而且如果虚拟机中了病毒,通常不会损害你的实体计算机!
缺点: 同时运行两台计算机需要大量的 RAM 和强大的 CPU 性能。
4.1 CPU 架构(计算机的大脑)
大多数现代计算机都遵循冯·诺依曼架构 (Von Neumann Model)。这意味着程序 (Program) 和数据 (Data) 都存储在同一个内存(RAM)中。
CPU 的关键组件:
- ALU(算术逻辑单元): 计算器。它处理数学运算(加、减)和逻辑运算(AND、OR)。
- CU(控制单元): 经理。它协调 CPU 的所有组件并管理数据流。
- 系统时钟 (System Clock): 心跳。它发送脉冲以确保一切保持同步。
寄存器(微小且超快速的存储区)
别被这些名字吓到了!把它们想象成 CPU 用来记录此时此刻正在做什么的“便利贴”。
- PC(程序计数器): 保存下一个要提取的指令地址。
- MAR(内存地址寄存器): 保存当前正在访问的内存地址。
- MDR(内存数据寄存器): 保存刚从内存读取或即将写入内存的实际数据。
- ACC(累加器): 保存来自 ALU 的计算结果。
- CIR(当前指令寄存器): 保存当前正在解码和执行的指令。
三种总线(传输道路)
数据通过“总线”在计算机中传输:
- 地址总线 (Address Bus): 携带数据要去哪里的“地址”。它是单向的 (Unidirectional),从 CPU 到内存。
- 数据总线 (Data Bus): 携带实际数据。它是双向的 (Bidirectional)。
- 控制总线 (Control Bus): 携带协调一切的信号(如“读”或“写”)。它是双向的。
你知道吗?“总线宽度”就像公路的车道数。64 位的总线一次能传输的数据量比 32 位总线多得多!
提取-执行周期 (Fetch-Execute Cycle)
这是 CPU 每秒执行数十亿次的“循环”过程。它主要分为三个阶段:
- 提取 (Fetch): CPU 从 RAM 中获取下一条指令(使用 PC 中的地址)。
- 解码 (Decode): 控制单元 (CU) 解析该指令的实际含义。
- 执行 (Execute): CPU 执行该指令(例如在 ALU 中将两个数字相加)。
记忆小撇步: 只要记住“F-D-E”—— Fetch(提取)、Decode(解码)、Execute(执行)!
中断 (Interrupts)
中断是发送给 CPU 的一个信号,意思是:“停下你正在做的事,我需要处理!”
常见原因: 打印机没纸了、用户点击鼠标,或是硬件故障。
当发生中断时,CPU 会完成当前任务,在寄存器中保存当前的“位置”,并执行一个称为中断服务程序 (Interrupt Service Routine, ISR) 的特殊程序来处理问题。完成后,它会回到之前中断的工作继续进行。
重点总结: CPU 是大脑,寄存器是它的即时笔记,提取-执行周期是它不断进行的思考过程。中断只是硬件引起 CPU 注意的一种“礼貌”方式。