文章目录
1.1 请简述内存架构中UMA和NUMA的区别
UMA: uniform memory access, 统一内存访问。
NUMA:non-uniform memory access, 非统一内存访问。
- UMA架构:内存统一的结构,并且可以统一寻址。目前大部分嵌入式、手机操作系统以及台式机操作系统等采用UMA架构。例:有一个系统,有4个cpu,他们都有L1高速缓存,其中CPU0和CPU1组成一个簇(cluster0),他们共享一个L2 cache,CPU2和CPU3组成另外一个簇(cluster1),它们共享另外一个L2 cache。4个CPU共享同一个L3的高速缓存。最重要的一点,它们可以通过系统总线来访问物理内存DDR。
- NUMA架构:系统中有多个内存节点和多个CPU簇,cpu访问本地内存节点的速度最快,访问远端的内存节点的速度要慢一些。两个节点通过超路径互连(ultra interconnect, UPI)总线连接。
1.2 CPU访问各级存储结构的速度是否一样?
不一样,速度依次递减,L1 cache -> L2 cache -> L3 cache -> ddr
本文详细探讨了Linux内存管理中UMA和NUMA架构的区别,并介绍了CPU访问各级存储的速度差异。此外,还深入讲解了内存管理的关键数据结构,包括mm_struct、VMA、page、PFN等之间的转换关系,以及如何通过内核函数进行这些转换操作。
订阅专栏 解锁全文
473

被折叠的 条评论
为什么被折叠?



