CPU位数、操作系统位数及如何在Linux下查看

1. CPU 位数

CPU位数 = CPU中寄存器的位数 = CPU能够一次处理的数据宽度 = 数据总线宽度

CPU为了实现其功能一般设计了指令集(如:IA32指令集和x86-64指令集等),即是CPU的全部指令,这就是机器语言。计算机的所有功能都是基于CPU的指令集。指令集和CPU的位数是有联系的。如Intel 8086 CPU 是16位,其指令集也是16位, Intel 80386DX CPU 是32位,其指令集也是32位,但其为了向上兼容,也保留了原16位指令集。

2. 操作系统位数

操作系统位数 = 其所依赖的指令集位数 <= CPU位数

机器字长 = 整数和指针数据的标称大小(字长决定的最重要的参数就是虚拟地址空间的最大大小)

CPU位数与操作系统位数,这两者有区别也有联系,操作系统位数的概念时基于CPU的位数的。
CPU的位数是指能一次同时寄存和处理二进制数码的位数,这和CPU中寄存器的位数对应。整数类型不一定跟位数相等,CPU位数准确地说应该是CPU一次能够并行处理的数据宽度,一般就是指数据总线宽度。
操作系统的位数是说其所依赖的指令集的位数,应该是根据指针类型的位数来定的
计算机系统一般具有向上兼容性,所以也有64位CPU上运行32位操作系统、32位CPU上运行16位操作系统的情况。

3. Linux下查看CPU硬件架构

$ arch
x86_64

$ uname -m
x86_64

$ echo $HOSTTYPE
x86_64

4. Linux下查看CPU的信息

$ lscpu(或者查看文件/proc/cpuinfo)

5. Linux下查看系统位数

$ getconf LONG_BIT
64

$ getconf WORD_BIT
32

参考:https://blog.csdn.net/sole_cc/article/details/41206653

CPU位数、操作系统位数及如何在Linux下查看

上一篇:自学linux——16.LAMP项目上线流程


下一篇:《操作系统导论》(Operating Systems: Three Easy Pieces)第30章(条件变量) 作业习题程序说明