本文不是讨论你在Windows或在Linux下如何查看CPU核数(Linux下查看/proc/cpuinfo或/sys/drivers/system/cpu/)。
重点是操作系统怎么知道CPU有几个核呢?有人说是CPUID,不过并不是所有的CPU都能通过CPUID来识别,不同系列CPU的CPUID差异很大。操作系统需要一种稳健的识别CPU核数的方法。
答案是Local APIC,即通过CPU内部的本地高级可编程控制器的个数来识别。
那么OS又是怎么计算Local APIC数量的呢?是通过解析ACPI数据得来的。是不是有点儿蒙,一会儿APIC,一会儿ACPI。这个ACPI是用于高级电源管理的,他包含了系统中设备和资源的分配情况。
如何解析ACPI就要去看官方手册了。
OS如何获取CPU核数
最新推荐文章于 2024-06-14 08:33:58 发布