硬件基础:CPU与存储器
中央处理器(CPU, Central Processing Unit)
CPU作为计算机系统的运算和控制核心,是信息处理、程序运行的执行单元。
CPU的核心部分有:
- 控制单元(CU, Control Unit):CPU的子部件,负责获取和译码指令,协调处理器的操作。
- 算术逻辑单元(ALU, Arithmetic and Logic Unit):实现算术运算和逻辑运算的电路。
- 寄存器(register):容量有限的高速存储部件,可以暂存指令、数据和地址。
取指令、译码与执行
大多数现代处理器的指令处理可概括为“取指令—译码—执行”(Fetch-Decode-Execute Cycle)。冯·诺依曼架构(Von Neumann Architecture)指指令与数据共享存储系统的存储程序架构,并不是指令周期的名称。
互动实验
逐步追踪CPU数据通路
访问权限免费
取指令
译码
执行
0 / 12
PC = 0,寄存器与主存[20]初值均为0。
知识测验
题目
在一次执行一条指令的简化CPU模型中,哪项正确?
获取CPU信息
Python中可以通过multiprocessing模块获取系统的逻辑CPU数量。
import multiprocessing
print(f"System logical CPUs: {multiprocessing.cpu_count()}")Python中的psutil模块也提供系统硬件信息。
import psutil
physical = psutil.cpu_count(logical=False)
logical = psutil.cpu_count(logical=True)
times = psutil.cpu_times()
print(f"Physical cores: {physical if physical is not None else 'unknown'}")
print(f"Logical CPUs: {logical if logical is not None else 'unknown'}")
print(f"CPU time (user): {times.user:.2f} seconds")
print(f"CPU time (system): {times.system:.2f} seconds")
print(f"CPU time (idle): {times.idle:.2f} seconds")存储单位
计算机存储单位使用bit(b)、B、kB、MB、GB、TB、PB、EB、ZB、YB等符号。
位(bit)是计算机最小的存储单位,只存放一位二进制数。
一个字节(byte)为8位二进制数。ASCII编码中的英文字母占1字节,汉字占用的字节数取决于编码;常见汉字在UTF-8中占3字节。字(word)是与处理器架构有关的数据单位,不是汉字的同义词。
| 数量 | 等于 |
|---|---|
| 8 bits | 1 byte |
| 1024 bytes | 1 KiB |
| 1024 KiB | 1 MiB |
| 1024 MiB | 1 GiB |
| 1024 GiB | 1 TiB |
| 1024 TiB | 1 PiB |
| 1024 PiB | 1 EiB |
| 1024 EiB | 1 ZiB |
| 1024 ZiB | 1 YiB |
硬盘厂商通常使用十进制单位,1 kB为1000字节。这是标准单位,不是弄虚作假。
存储设备与存储层次
存储设备用于储存信息,通常将信息数字化后,利用电、磁或光学介质保存。存储层次包括寄存器、CPU缓存、主存、固态硬盘、机械硬盘、光盘与磁带;越靠上通常速度越快、容量越小、每位成本越高。
互动实验
存储层次
访问权限免费
寄存器
位于CPU内部,在此层次中速度最快、容量最小,每位成本较高。
知识测验
题目
哪种存储部件位于速度最快、容量最小的一端?
动手练习
认识存储设备
比较存储层次中的设备。
- 列举三种存储设备。
- 寄存器与主存、固态硬盘与机械硬盘,哪一种通常更快?
- 存储层次越靠下,容量与速度通常怎样变化?