你好,我在查找数据总线和地址总线的宽度方面遇到了困难,因为我没有看到任何教程显示如何查找这些信息。我希望有人能帮助我,因为我的芯片是英特尔核心i7-6820HQ2.7GHz。这是一些关于我的芯片的信息。

发布于 2022-10-31 20:23:10
支持的虚拟和物理地址宽度可以使用CPUID查询。How to get physical and virtual address bits with C/C++ by CPUID command
相关:Why in x86-64 the virtual address are 4 bits shorter than physical (48 bits vs. 52 long)? 52位是理论上x866-64cpu可以支持的当前页表格式的最大物理宽度。即使是最高的高端Xeon和Epyc CPU还没有完全存在。
至于数据总线的宽度,缓存级别之间有不同的内部总线,例如https://electronics.stackexchange.com/questions/329789/how-can-cache-be-that-fast/329955#329955显示一个沙网桥。https://en.wikichip.org/wiki/intel/microarchitectures/skylake_(client)#Block_Diagram显示了你的Skylake,内核里面有总线宽度,还有32字节的环形总线.
这些不是您可以在运行时从CPU查询的东西,您只需从供应商发布的关于这一代CPU的信息中查找它们。(例如,芯片会议,关于他们的芯片比以往任何时候都好的宣传材料,以及英特尔的优化手册:https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)
外部存储器总线是双通道DDR4,因此每个通道上64位宽。(有单独的地址/命令信号线,这样它就可以编成管道命令了) https://en.wikipedia.org/wiki/DDR4_SDRAM#JEDEC_standard_DDR4_module。另请参见How much of ‘What Every Programmer Should Know About Memory’ is still valid? -- DDR4 SDRAM的基本布局仍然与SDRAM相同,只是时钟更高,命令中也有一些改进,因此Ulrich关于内存的文章中有关DDR4的底层细节仍然适用。(例如,将地址拆分为行/列,因此更改同一DRAM“页”中的行更快。)
https://stackoverflow.com/questions/74264030
复制相似问题