相关疑难解决方法(0)

为什么Linux(x86)的页面大小为4 KB,如何计算?

x86架构上的Linux内核的默认内存页面大小是4 KB,我想知道这是如何计算的,为什么?

linux x86 kernel cpu-architecture

31
推荐指数
4
解决办法
3万
查看次数

从Intel上的CPUID结果了解TLB

我正在探索说明的叶子0x02cpuid并提出了一些问题。文档中有一个表格,描述cpuid了TLB配置的结果。他们来了:

情况1

56H TLB Data TLB0: 4 MByte pages, 4-way set associative, 16 entries
[...]
B4H TLB Data TLB1: 4 KByte pages, 4-way associative, 256 entries
Run Code Online (Sandbox Code Playgroud)

这是否意味着只有2个级别的TLB?如果某些x86供应商决定提供3个级别的TLB,如何查询TLB缓存的级别数?

情况2

57H TLB Data TLB0: 4 KByte pages, 4-way associative, 16 entries
[...] 
B4H TLB Data TLB1: 4 KByte pages, 4-way associative, 256 entries
Run Code Online (Sandbox Code Playgroud)

这里的“ 4向关联”仅仅是错字,意味着“ 4向集合关联”吗?

情况3

55H TLB Instruction TLB: 2-MByte or 4-MByte pages, fully associative, 7 entries
[...]
6AH Cache …
Run Code Online (Sandbox Code Playgroud)

x86 assembly x86-64 tlb cpuid

5
推荐指数
2
解决办法
208
查看次数

5
推荐指数
1
解决办法
2239
查看次数

缓存集大小不是 2 的幂

我有一台配备 Ryzen 7 1800X CPU 的 Linux 计算机。根据 WikiChip 的说法,它的 L2-DTLB 有 1536 个条目。所以我假设关联性可以被 3 整除。我编写了一个小程序来检查 CPUID 报告的关联性。有趣的是,它给了我 8 的关联性。为什么呢?这将给出 192 个条目的集合大小,因此没有简单的模 2 次幂索引。那么该指数是如何有效计算的呢?

那是我的程序:

#include <iostream>
#if defined(_MSC_VER)
    #include <intrin.h>
#elif defined(__GNUC__)
    #include <cpuid.h>
#endif

using namespace std;

unsigned cpuid( unsigned (&cpuidRegs)[4], unsigned code, unsigned ex );

int main()
{
    static unsigned const SHORT_WAYS[0x10] = { 0, 1, 2, 0, 4, 0, 8, 0, 16, 0, 32, 48, 64, 96, 128, (unsigned)-1 };
    unsigned regs[4];
    cpuid( regs, 0x80000006u, 0 …
Run Code Online (Sandbox Code Playgroud)

x86 cpu-architecture tlb cpuid amd-processor

5
推荐指数
1
解决办法
526
查看次数

在英特尔酷睿i3/i7的情况下从高速缓存设置中逐出数据之后的数据

L1/L2缓存包含在Intel和L1/L2缓存中是8路相关性,意味着在一组中存在8条不同的缓存线.缓存行作为一个整体操作,意味着如果我想从缓存行中删除几个字节,整个缓存行将被删除,而不是我想要删除的那些字节.我对吗 ?

现在,我的问题是,无论是通过某个其他进程还是使用clflush(手动逐出缓存行/块),从缓存中删除/逐出集合的缓存行,系统是否会将该缓存行的驱逐数据存储在某处(在任何缓冲区,寄存器等),以便下次它可以从该位置加载数据以减少延迟,与从主存储器或更高级别的缓存加载数据相比,或者总是使缓存中的数据无效并且下次加载下一个更高级别的数据.

任何建议或文章的任何链接将受到高度赞赏.提前致谢.

architecture operating-system processor cpu-architecture computer-architecture

3
推荐指数
1
解决办法
743
查看次数