多核cpu的好处
在不提升cpu主频之后,多核cpu提升吞吐率。
CPU:
寄存器:
cpu cache: L1 L2 L3 使用SRAM(SRAM(Static Random-Access Memory,静态随机存取存储器))存储,SRAM一旦断电,数据就会丢失了。
L1 嵌入在CPU内部
L1 L2 L3 访问的速度递减
cpu cache高速缓存分成了指令缓存(Instruction Cache)和数据缓存(Data Cache)两部分。
内存:
内存使用DRAM(DRAM(Dynamic Random Access Memory,动态随机存取存储器)
因为存储在电容里面的,电容不会漏电,所以需要定时刷新充电,保证电容不丢失。
硬盘:
SSD(固态硬盘) HDD (机械硬盘)
访问越慢,价格越便宜。
存储器中数据的局部性原理(Principle of Locality):
时间局部性和空间局部性。
时间局部性:如果一个数据被访问了,那么它在短时间内还会被再次访问。
空间局部性:一个数据被访问了,那么和它相邻的数据也很快会被访问。
局部性原理放之四海而皆准
现实生活中的人际关系也是如此啊
CPU中的L1 L2 L3在内存中长什么样子?
Core里还有L1/L2 Cache。 CPU 中大量的空间已经被 SRAM 占据
CPU如何读取内存中的数据?
内存block加载进入CPU cache和 cpu cache读取内存block
cpu cache中的基本存储单元, cache line(缓存块) 通常是 64 字节
概念:CPU 从内存中读取数据到 CPU Cache 的过程中,是一小块一小块来读取数据的,而不是按照单个数组元素来读取数据的。这样一小块一小块的数据,在 CPU Cache 里面,我们把它叫作 Cache Line(缓存块)
内存中 单元块(block)
block 如何加载进 cache line中?
使用直接映射,
确保任何一个内存块的地址,始终映射到一个固定的 CPU Cache 地址(Cache Line)
通过mod 运算