Kelime, adres boyutu, adres veriyolu boyutu, veri yolu boyutu ve talimat veri yolu boyutu hakkında nasıl bilgi alabilirim?


12

Linux'taki komut satırından aşağıdaki şeyler hakkında nasıl bilgi alacağımı merak ediyordum:

  • kelime (yani CPU'nun bir seferde işleyebileceği boyut, OS bit derinliği olmayabilir),
  • adres boyutu (gerçek bir adresteki bit sayısı),
  • adres veriyolu boyutu (tanımına göre adres boyutuyla aynı olup olmadığından emin değilim, ancak farklı olduklarını ve kabul etmeyebileceklerini düşünüyorum),
  • veri yolu boyutu,
  • talimat boyutu?

Bunların çoğu iyi tanımlanmamıştır (birden fazla veri yolu vardır ve hepsinin boyutları aynı değildir). “CPU kelime boyutu” gibi şeyler açıkça tanımlanmamış olsa da, bazı CPU'ların (örneğin tüm PC CPU'ları) birkaç kelime boyutu vardır.
Gilles 'SO- kötü olmayı kes'

Yanıtlar:


9

Bir yapın cat /proc/cpuinfove sonuçlara bakın:

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:

Aradığınız bilgilerin çoğu bundan çıkarılabilir.


Teşekkürler! (1) Fiziksel adres boyutu hakkında, adres veriyolu boyutu olmayabilir mi? (2) Çıktının CPU kelimesi vermemesi doğru mu?
Tim

@Tim Çıktı CPU kelime boyutunu şifreli bir şekilde verir: tüm i386 CPU'lar 8, 16 ve 32 yapabilir ve lmbayrak bir amd64 CPU'yu gösterir, yani CPU 64 yapabilir. Tamsayı aritmetiği için kelime boyutu aynıdır Bu CPU ailesindeki adresler için (segment kayıtlarını saymazsanız, ancak bu tamamen başka bir hikaye).
Gilles 'SO- kötü olmayı kes'

@Gilles: Teşekkürler! (1) lm tam olarak ne anlama geliyor? (2) "Segment kayıtlarını saymazsanız" ile ne demek istiyorsun?
Tim

@Zaman CPU bayrak adları belirsiz ve bazen yanlış olma eğilimindedir çünkü bayrak adı tam işlevinden önce ayarlanmıştır. Linux x86 CPU özellik listesine göz atın ; lm"uzun mod" dur. Segment kayıtları en iyi PC tarihçilerine bırakılır (hiçbir modern işletim sistemi bunları kullanmaz); ancak 686 platformda adres boyutlarını 36 bite yükselten PAE , çoğu büyük modern PC işletim sistemi tarafından destekleniyor.
Gilles 'SO- kötü olmayı kes'

address sizesmaalesef ARM'de mevcut değil.
Ciro Santilli 法轮功 病毒 审查 六四 事件 法轮功

17
  1. getconf WORD_BIT
  2. getconf LONG_BIT (uzun tamsayıların boyutu)
  3. arch

Örneğin, bir Fedora 14 x64 sisteminde:

% 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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.