如何获得有关字,地址大小,地址总线大小,数据总线大小和指令总线大小的信息?


12

我想知道如何从Linux的命令行中获取有关以下内容的信息:

  • 字(即,CPU一次可以处理的大小,可能不是操作系统的位深度),
  • 地址大小(即实际地址中的位数),
  • 地址总线大小(不确定它是否与定义的地址大小相同,但我认为它们是不同的,可能并不相同),
  • 数据总线大小,
  • 指令大小?

其中许多定义不明确(总线不止一个,而且它们的大小也不相同)。即使诸如“ CPU字长”之类的东西并没有明确定义,某些CPU(例如,所有PC CPU)也具有多个字长。
吉尔(Gilles)'所以

Answers:


9

进行cat /proc/cpuinfo并查看结果:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Genuine Intel(R) CPU           U4100  @ 1.30GHz
stepping        : 10
cpu MHz         : 1200.000
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm
bogomips        : 2593.48
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

从中可以推断出您正在寻找的许多信息。


谢谢!(1)关于物理地址大小,是否可能不是地址总线大小?(2)输出没有给出CPU字对吗?
蒂姆(Tim)

@Tim输出以一种隐秘的方式给出CPU的字长:所有i386 CPU都可以执行8、16和32 lm运算,并且该标志指示amd64 CPU,即CPU可以执行64。整数运算的字长与用于该CPU系列上的地址(除非您计算段寄存器,但这完全是另外一回事了)。
吉尔(Gilles)'所以

@吉尔斯:谢谢!(1)lm的字面意思是什么?(2)“除非您计数段寄存器”是什么意思?
蒂姆(Tim)

@Tim CPU标志名称往往是晦涩的,有时是不准确的,因为标志名称是在其确切功能之前设置的。查看Linux x86 CPU功能列表lm是“长模式”。段寄存器最好留给PC历史学家使用(现代的OS都不使用它们)。但是PAE可以将686平台上的地址大小提高到36位,大多数现代PC操作系统都支持PAE
吉尔(Gilles)'所以

address sizes不幸的是,ARM上没有该功能。
Ciro Santilli冠状病毒审查六四事件法轮功

17
  1. getconf WORD_BIT
  2. getconf LONG_BIT (长整数的大小)
  3. arch

例如,在Fedora 14 x64系统上:

% uname -a
Linux grinchy 2.6.35.14-106.fc14.x86_64 #1 SMP Wed Nov 23 13:07:52 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

% getconf WORD_BIT
32

% getconf LONG_BIT
64

% arch
x86_64
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.