ip软件介绍

CPU缓存冷门知识讲解8

标签: | 作者:admin | VISITORS: | 来源:未知
14
Jan
2023
另外一点,一级缓存处理的存取类型和其他缓存不同。有L1的数据缓存,也有L1指令缓存。Intel的CPU还有另外的指令缓存,uOp缓存,既叫L1并发指令缓存也叫L0指令缓存。L1数据缓存通常只处理1到8个字节的数据,但高层级的缓存并不处理单独的字节。在我们的类比里,所有不办公桌上的资料都是以文件为单位(对应于catch line)。 在内存中也一样,高层级缓存通常是批发处理数据,以缓存行为单位(cache line)。L1指令缓存和数据缓存完全不同,就内核而言,它是只读的。(指令内存的写入通常是用非直接的方式,先把指令放入高层的缓存,再载入一级指令缓存)。
 
由于这个原因,指令缓存和数据缓存通常是分隔的。使用通用的L1缓存意味着把互相冲突的设计原则糅合在一起,妥协的结果就是任何一个目的都达不到。而且用通用的L1缓存处理指令和数据负载也会很大。另外,作为程序员,我们通常不关心内存带宽。例如,每个时钟周期,i7的CPU的内核能从L1缓存中读取16字节的指令,而且会不断地循环读取。如果是3GHZ,每个核可以读50GB指令-秒。实际上,通常L1指令缓存的能力都足够大,很少需要L2缓存参与处理。但如果是通用缓存,就需要预估指令和数据的高并发情况。
 
 
(想象一下在L1缓存中用memcopy拷贝几K数据的情况)顺便提一句,如果都在L1缓存,CPU能在一个时钟周期完成许多存取操作。‘Haswell’或者之后的3GHZ的i7内核可以处理超过300GB的指令和数据, 如果搭配合理的话。这样的处理能力绰绰有余,但你仍然需要考虑数据和指令同时出现峰值的情况。L1缓存在设计上就是越快越好,以应对峰值情况。只有L1缓存处理不了,才会转给更高层的缓存,但速度会降低。因为高层缓存更关心电力效率和存储密度。第三点,共享。在上面的比喻中,独立办公桌,亦或L1缓存是私有的,如果在你的办公桌上,你只管拿就好了,不需要询问其他人。这很关键。如果4个人共享一个大办公桌,你就不能随便拿文件,因为另外三个人可能正在使用。
 
 
电脑常见英文词汇
 
 
rank 等级、分等(ref. C++Primer 3e 9,15章) 等级
raw 生鲜的、未经处理的 未经处理的
record 记录 记录
recordset 记录集 记录集
recursive 递回 递归
re-direction 重导向 重定向
refactoring 重构、重整 重构
refer 取用 叁考
refer to 指向、指涉、指代
reference (C++ 中类似指标的东西,相当於 “化身”) 引用、叁考
 址叁器, see pointer
 register 暂存器 寄存器
reflection 反射 反射、映像
相关新闻
首页 | ip使用技巧 | 云手机使用相关 | ip软件介绍 | 蛙仔云手机
 分享按钮