Protsessorist algajatele

Allikas: Kuutõrvaja
                                        Roheline.jpg Toores. Ehk seda pala võib täiendada.

See tekst on mõeldud oma tänapäevase protsessori võimalustest arusaamise ja kasutamise tarbeks.

64 bitine Linux

4GB mäluga masinates ei anna ka 64 bitine OS palju juurde. Jah, osa mälu tuleb juurde (kuni 0,5G), aga 64-bitine kood on kah mäluahnem.

The main disadvantage of 64-bit architectures is that relative to 32-bit architectures, the same data occupies more space in memory (due to swollen pointers and possibly other types and alignment padding). This increases the memory requirements of a given process and can have implications for efficient processor cache utilization.

Mõnedel väidetel kasutavad 64-bit proged keskeltläbi 60% rohkem mälu, kuid respektaableid uurimusi selle kohta ma praegu ei leidnud.

Samas aga on osadel juhtudel kiirem tänu 64-bitise arhitektuuri lisaregistrite kasutamise võimalusele. 64-bitine täisarvu-aritmeetika on kindlasti kiirem, kõige muuga asi nii primitiivselt selge pole. AMD enda testides on eri rakendustel kiirused umbes 10% piires, kord siia- kord sinnapoole. http://chemnitzer.linux-tage.de/2008/vortraege/shortpaper/64bitLinux_CLT08.pdf

Mis puutub tarkvara ühildatavusse (Skypel puudus näiteks 64bitine binaar) siis alternatiivina on võimalik kasutada 64-bit kernelit (kättesaadav kogu mälu) ja 32-bit userlandi. 64-bit süsteemis 32-bit ühilduvuslibrade hoidmine pole reeglina mingi lisavaev, sest need tulevad moodsatest distrodes automaatselt kaasa.

Üldiselt tasub tänapäeval rohke mäluga servereile, installida kindlasti 64 bitine opsüsteem.

Mõned lihtsad juhised:

Kuidas saada aru kas olemasolev protsessor on 32 või 64 bitine? Selleks tuleb vaadata faili /proc/cpuinfo

$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Pentium(R) Dual-Core  CPU      E5500  @ 2.80GHz
stepping        : 10
cpu MHz         : 2800.512
cache size      : 2048 KB
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 nx  lm constant_tsc up pni cx16 lahf_lm
bogomips        : 5604.27

Täpsemalt tuleb vaadata kas "flags" real eksisteerib kahetäheline lühend "lm" (X86_FEATURE_LM ehk Long Mode), kui see on olemas on protsessor 64bitine.

Ainult 64bitise protsessori omamisest on vähe. Ka linuxi kernel mis paigaldatud peab olema vastava 64bitise toega.

Seda aga kas installitud on 64 või 32 bitine opsüsteem näeb süsteemis käsuga

$ uname -m
x86_64

x86_64 tähendab 64 bitist linuxi kernelit

Virtualiseerimine

Virtualiseerimise tuge saab kontrollida uurides taas /proc/cpuinfo flags rida

Inteli protsessoril peab flagside real olema "vmx" ja amdl "svm"

Seda võib kontrollida käsuga

$ egrep '(vmx|svm)' /proc/cpuinfo