Milyen arch? [MEGOLDVA]

Fórumok

Üdv!

Van egy celeron-m processzorom, de nem tudom, hogy milyen arch kellene az -march GCC flagnek. Nem pentium-m, mert ez nem P3-as mobilprocesszor. Yonah/Merom magja van (ha jól sejtem az Core Single), illetve a cpu family (6) és a model (14) érték a /proc/cpuinfo-nál is ugyanaz, mint egy Core Single intel proci esetében, azonban a flags esetén egy pár hiányzik a Core Single esetén.
Ezek a flagek: pse36 (36 bites címzés) ht (hyper threading) lm (long mode) ds_cpl (???) vmx (vanderpool technology -- virtualizáció) est (enhanced speedstep) cx16 (???) lahf_lm (???)
Fontosak ezek, vagy csak kiegészítő szolgáltatások? Melyik a mérvadóbb? A cpu family és a model vagy a flag-ek? A prescott arch-ot választottam (elv az a Core Single), jó lesz?

Megoldás: prescott, a miértjét lásd a hozzászólásokban.

Hozzászólások

Family és Model a fontosabbak, nem az, hogy melyik notigyártó milyen baromságot matricáz a gépre procitípusnak.
Szóval irány a Core Solo szerintem. Amúgy gentoo wiki-ben lévő safe cflags a barátod ilyen esetben.

Olvasgattam azt is már. A gondot abban találtam, hogy a gcc doksi alapján a prescott arch-nak van SSE3 támogatása, itt meg nem nagyon találtam. Viszont ha tényleg egy Core Solo celeron változata, akkor nem lesz gondja a prescott-tal (tény az is, hogy másik Core procsesszorok flag-jai közt sem találtam kimondottan olyat, hogy "sse3").
Egyelőre prescott-on hagyom, és ha nagyon sok program furcsán viselkedik, akkor visszábbveszem.

---------
WARNING: Linux requires you to type! After rebooted to Windows, you can safely unplug your keyboard.
szerény blogom

nalam azert kicsit tobbet ad pl:
processor : 0
vendor_id : AuthenticAMD
cpu family : 5
model : 8
model name : AMD-K6(tm) 3D processor
stepping : 12
cpu MHz : 500.057
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr mce cx8 pge mmx syscall 3dnow k6_mtrr
bogomips : 978.94

tehat felinformaciokbol nehez kihamozni hogy mi lenne a jo megoldas

udv Zoli

processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Mobile Intel(R) Celeron(R) CPU 2.00GHz
stepping : 7
cpu MHz : 1999.875
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe up cid xtpr
bogomips : 4003.46
clflush size : 64

akkor ez most tamogatja a hypertreadinget? tudok smp kernelt futtatni?

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 14
model name : Intel(R) Celeron(R) M CPU 420 @ 1.60GHz
stepping : 8
cpu MHz : 1596.132
cache size : 1024 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx constant_tsc pni monitor tm2 xtpr
bogomips : 3194.84

---------
WARNING: Linux requires you to type! After rebooted to Windows, you can safely unplug your keyboard.
szerény blogom

Kizárt, hogy csak pentium-m legyen. A pentium-m az P3-as proci, annak a celeronosítása a centrino, nekem meg nem olyanom van.
Illetve, az inteles prociknál valamiért nem jellemző az sse3 flag.
Google bizonyítja
Pedig az első néhány találat az rendesen core pentium proci, ami prescott arch.
Illetve a gentoo wiki safe cflags-ában van ilyen, hogy (most vettem észre, pedig vagy 10x átolvastam):

Note: You can verify the chip is a Prescott by looking for pni in the flags section of /proc/cpuinfo. This indicates support for SSE3.

---------
WARNING: Linux requires you to type! After rebooted to Windows, you can safely unplug your keyboard.
szerény blogom

Pedig pentium-m lesz az.

"A pentium-m az P3-as proci"
Ez részben igaz, a Pentium-M vonal a P3 felépítés továbbfejlesztése.

"annak a celeronosítása a centrino"
Ez nem igaz, a centrino az egy "platformot" foglal magában: mobil proci + hozzá való chipset + wireless. Persze mind Intel kell, hogy legyen.

A pentium-m-ből úgy jön a celeron-m, hogy általában felezik a cache-t, meg kiszedik a jó kis energiatakrékos funckiókat. Szóval írj nyugodtan 'pentium-m'-et.

Várjunk. A march nem ezt jelenti.
"pentium-m: Low power version of Intel Pentium3 CPU with MMX, SSE and SSE2 instruction set support. Used by Centrino notebooks."
"prescott: Improved version of Intel Pentium4 CPU with MMX, SSE, SSE2 and SSE3 instruction set support."
mmx, sse, sse2 van, és sse3 is, mert pni flag magában foglalja.

---------
WARNING: Linux requires you to type! After rebooted to Windows, you can safely unplug your keyboard.
szerény blogom

Pentium M(Centrino)/Celeron M

vendor_id : GenuineIntel
cpu family : 6
model : 9 or 13
model name : Intel(R) Pentium(R) M processor XXXXMHz

For gcc 3.3 or older:

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -msse2 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

For gcc 3.4 and later:

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

The Celeron M is based on the Pentium M but it has half the L2 cache and does not support the SpeedStep technology.

-march="pentium-m" # Low power version of Intel Pentium3 CPU with MMX, SSE and SSE2 instruction set support. Used by Centrino notebooks.

Hol van itt sse3?

A celeron processzoroknál azért nehéz eldönteni az arch-ot, mert nem jelzik magukban, hogy melyik pentium alapján készültek.
A Centrino az P3-as proci. Nekem tutira nem olyan van. Egy 2007-ben vett gépben egy Yonah magos proci tutira nem P3, de még P4 sem. Ráadásul a modernebb P4-esek (Celeron D, Pentium D) is prescott arch-hoz tartoznak. A prescott arch-nak van SSE3 támogatása, ami nincsen a cpu flagek közt, mert a pni magában foglalja az SSE3-at.

---------
WARNING: Linux requires you to type! After rebooted to Windows, you can safely unplug your keyboard.
szerény blogom

"A celeron processzoroknál azért nehéz eldönteni az arch-ot, mert nem jelzik magukban, hogy melyik pentium alapján készültek."

Ebben a topicban eddig két teljes 'cat /proc/cpuinfo' kimenet szerepelt. Az egyiket Te vágtad be, ott látszik, hogy "Celeron(R) M", a másiknál pedig "Mobile Intel(R) Celeron(R)". Vagyis két dologról van szó: a Te esetedben egy Celeron-M-ről beszélünk, utóbbinál pedig egy "mobil" Celeron prociról, ami a P4-re épül, csak kicsit kiherélték.
Azt kell látni, hogy Celeron-M != Mobile Celeron, és Celeron-M az Pentium-M butítás (mint már írták, fele L2 cache és nincs enahanced speedstep), a Mobile Celeron pedig valszeg a sima Celeronok olyan változata, amit kisebb feszültésgen hajtanak.

A Te Celeron-M procidhoz ezt a CFLAGS-et használd: "-O2 -mtune=pentium-m -march=pentium-m -g0 -s -mfpmath=sse,387 -mmmx -msse -msse2 -pipe"