CPU中L1、L2、L3缓存的简单理解

CPU中L1、L2、L3缓存的简单理解

CPU缓存存在的意义在于避免因为RAM的限制而造成CPU的性能瓶颈。

内存分类:

1.RAM(随机存取存储器):具有易失性。
- 1.1 DRAM(动态随机存取存储器):常用于主内存。需要定期刷新,存储密度高。
- 1.2 SRAM(静态随机存取存储器):常用于缓存。速度快,但存储密度低。
2.ROM(只读存储器):具有非易失。

CPU缓存存在的意义:

由于CPU的处理速度过快,而RAM的处理速度相比CPU来说慢很多,这导致CPU的性能过剩。因此,先让CPU缓存去提早读取RAM中的数据或指令,即预存RAM中的数据和指令到CPU缓存中。这样就不必让CPU直接去等待RAM中的读取结果了。

而L1、L2、L3则属于SRAM的一种,速度快,但存储密度低,说明其容量不大。

三者的相对区别:

L1:速度最快、容量最小、每个CPU核心独有。
L2:速度适中、容量适中、每个CPU核心可独有或者核心之间共享。
L3:速度最慢、容量最大、通常每个CPU核心之间共享。

参考链接:揭秘 CPU 缓存:L1、L2 和 L3 的性能秘密

### 查询 Linux 系统中 CPU 物理核数、逻辑处理器个数及缓存大小 #### 获取物理核心数量 为了获取系统的物理核心数量,可以利用 `/proc/cpuinfo` 文件中的 `cpu cores` 字段。该字段显示每个物理 CPU 中的核心数目。 ```bash cat /proc/cpuinfo | grep "cpu cores" | uniq ``` 上述命令会返回唯一的一条记录,表明每颗物理 CPU 的核心数[^2]。 对于整个系统而言,如果存在多颗物理 CPU,则需进一步计算总的物理核心数: ```bash grep -c ^cpu\\scores /proc/cpuinfo ``` 此方法通过计数 `cpu cores` 出现次数间接得出总物理核心数,不过更精确的方式是结合 `physical id` 来区分不同物理 CPU 并累加各自的核心数。 #### 计算逻辑处理器个数 逻辑处理器指的是支持超线程技术的硬件所呈现给操作系统的处理单元总数。可以通过如下指令获得逻辑处理器的数量: ```bash cat /proc/cpuinfo | grep processor | wc -l ``` 这条命令统计了所有处理器 ID (`processor`) 的数量,从而得到逻辑处理器的总数目。 #### 探测各级缓存大小 (L1, L2, L3) 针对现代架构下的 Intel AMD 处理器,在 Linux 下可借助 `cpuid` 工具或者读取 `/sys/devices/system/cpu/` 路径下特定于每个 CPU 的属性文件来了解详细的缓存配置信息。然而最简便的方法之一就是使用 `lscpu` 命令,它能够提供关于 CPU 架构的重要细节,包括但不限于缓存层次结构的信息: ```bash lscpu ``` 运行以上命令后可以看到有关 L1d、L1i(数据与指令)、L2 及 L3 缓存的具体参数。另外也可以直接访问 `/sys/devices/system/cpu/cpu*/cache/index*` 目录下的文件以获取更加细致的数据[^4]。 #### 使用 lshw 或 dmidecode 提供更多信息 除了上面提到的方法外,还可以考虑安装并执行 `lshw` 或者 `dmidecode` 这样的工具,它们能给出更为详尽且易于理解的结果,特别是当涉及到 BIOS 层面提供的硬件描述时尤为有用。 ```bash sudo apt-get install lshw # 对于Debian系发行版 sudo yum install lshw # 对于RedHat系发行版 lshw -class cpu # 显示CPU相关信息 ``` 或是: ```bash sudo dmidecode --type processor ``` 这些高级别的实用程序不仅限于展示基本规格,还可能揭示更多隐藏特性或设置选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值