Page 1 of 2
AMD64 ja 32-bittinen järjestelmä
Posted: Tue May 24, 2005 3:45 pm
by techa
Heips, olen asentamassa gentoota ekaa kertaa ja mietin, miten tulisi toimia kun haluan natiivin 32-bittisen ympäristön ja käytössäni on amd64. Toki pitää ainakin valita x86-stage, mutta voinko esimerkiksi asettaa -march-arvoksi 'k8' vai pitääkö march-arvoksi asettaa esim. 'athlon-xp' ja voiko use-arvoihin laittaa 'amd64'. Kernelistä kai pitää joka tapauksessa valita prosessori oikein, jotta järjestelmä toimii.
Kiittäen etukäteen,
Matti
Posted: Thu May 26, 2005 7:51 pm
by Peculier
Jos haluaa asentaa 32-bittisen systeemin pitää järjestelmää kohdella kuin se olisi athlon-xp.
Siis kaikessa.
Kernelikin pitää kääntää 32-bittiseksi.
AMD64 on alaspäin yhteensopiva prosessori käskyjen kanssa.
Näin siis olen käsittänyt. Ja luulen(toivon) että olen käsittänyt oikein
P
Posted: Tue May 31, 2005 1:00 pm
by mrl586
Peculier wrote:AMD64 on alaspäin yhteensopiva prosessori käskyjen kanssa.
Totta, mutta vain tiettyyn rajaan asti.
Posted: Wed Jun 01, 2005 5:11 pm
by Peculier
mrl586 wrote:Peculier wrote:AMD64 on alaspäin yhteensopiva prosessori käskyjen kanssa.
Totta, mutta vain tiettyyn rajaan asti.
Hmm, mitäköhän mahdat tarkoittaa?
Tässä hieman selvennysta:
http://en.wikipedia.org/wiki/AMD64
The AMD64 or x86-64 or x64 is a 64-bit processor architecture invented by AMD. It is a superset of the x86 architecture, which it natively supports.
Posted: Thu Jun 02, 2005 8:09 am
by sanyacid
Minä käytän 32-bittistä Gentoo AMD64 koneella. Minulla on aina ollut -march=i686, pitäiskö minun vaihtaa sen athlon-xp:ksi?
Olen ennen käyttänyt x86_64, mutta sen kanssa tuntui olevaan vähän enemmän ongelmia, joten päätin vaihtaa takaisin 32-bittiseen, toistaiseks.
Mutta se olikin jo yli puoli vuotta sitten, että luultavasti asiat ovat muuttuneet parempaan suuntaan.
Posted: Thu Jun 02, 2005 9:43 am
by Nimble
Itse painin saman ongelman kanssa aiemmin. Apu löytyi täältä
http://forums.gentoo.org/viewtopic-t-17 ... flags.html.
Posted: Mon Jun 06, 2005 8:44 pm
by mrl586
Peculier wrote:mrl586 wrote:Peculier wrote:AMD64 on alaspäin yhteensopiva prosessori käskyjen kanssa.
Totta, mutta vain tiettyyn rajaan asti.
Hmm, mitäköhän mahdat tarkoittaa?
Tässä hieman selvennysta:
http://en.wikipedia.org/wiki/AMD64
The AMD64 or x86-64 or x64 is a 64-bit processor architecture invented by AMD. It is a superset of the x86 architecture, which it natively supports.
Tuo on yhteensopiva x86-prossujen kanssa, mutta ei vanhempien suorittimien kanssa.
Posted: Sat Jun 11, 2005 5:44 pm
by oggialli
mrl586 wrote:Peculier wrote:mrl586 wrote:Peculier wrote:AMD64 on alaspäin yhteensopiva prosessori käskyjen kanssa.
Totta, mutta vain tiettyyn rajaan asti.
Hmm, mitäköhän mahdat tarkoittaa?
Tässä hieman selvennysta:
http://en.wikipedia.org/wiki/AMD64
The AMD64 or x86-64 or x64 is a 64-bit processor architecture invented by AMD. It is a superset of the x86 architecture, which it natively supports.
Tuo on yhteensopiva x86-prossujen kanssa, mutta ei vanhempien suorittimien kanssa.
Öh, minkäs kanssa se sitten olisi yhteensopiva ? Ymmärrätkö mitä sanot? Ei se voi ollakaan yhtään x86:ta vanhempien prossujen kanssa yhteensopiva. Mikään muukaan x86-prossu ei ole.
Ensimmäinen x86-prossu oli siis jo yli 25 vuotta sitten julkaistu Intel 8086.
Ja suosittelen GCC 3.4:n ja march=athlon64:n käyttöä, sen pitäisi toimia 32-bittisenäkin ihan hyvin. Athlon XP:ssä ei ole SSE2:ta, joten käyttämällä march=athlon-xp:tä missaa hyödyn A64:n SSE2-tuesta.
Posted: Sun Jun 12, 2005 6:04 pm
by Syzar
oggialli wrote:mrl586 wrote:Peculier wrote:mrl586 wrote:Peculier wrote:AMD64 on alaspäin yhteensopiva prosessori käskyjen kanssa.
Totta, mutta vain tiettyyn rajaan asti.
Hmm, mitäköhän mahdat tarkoittaa?
Tässä hieman selvennysta:
http://en.wikipedia.org/wiki/AMD64
The AMD64 or x86-64 or x64 is a 64-bit processor architecture invented by AMD. It is a superset of the x86 architecture, which it natively supports.
Tuo on yhteensopiva x86-prossujen kanssa, mutta ei vanhempien suorittimien kanssa.
Öh, minkäs kanssa se sitten olisi yhteensopiva ? Ymmärrätkö mitä sanot? Ei se voi ollakaan yhtään x86:ta vanhempien prossujen kanssa yhteensopiva. Mikään muukaan x86-prossu ei ole.
Ensimmäinen x86-prossu oli siis jo yli 25 vuotta sitten julkaistu Intel 8086.
Ja suosittelen GCC 3.4:n ja march=athlon64:n käyttöä, sen pitäisi toimia 32-bittisenäkin ihan hyvin. Athlon XP:ssä ei ole SSE2:ta, joten käyttämällä march=athlon-xp:tä missaa hyödyn A64:n SSE2-tuesta.
Jos olen oikein ymmärtynyt muualta niin tuo march=athlon64 kääntää jotain 64-bittisen ominaisuuksia päälle joten se ei ole suositeltavaa.
Omasta mielestä paras on juuri tuo march=athlon-xp ja lisäksi sse2 erikseen -msse2 switchillä päälle käännettynä.
Posted: Mon Jun 13, 2005 6:43 am
by mrl586
oggialli wrote:mrl586 wrote:Peculier wrote:mrl586 wrote:Peculier wrote:AMD64 on alaspäin yhteensopiva prosessori käskyjen kanssa.
Totta, mutta vain tiettyyn rajaan asti.
Hmm, mitäköhän mahdat tarkoittaa?
Tässä hieman selvennysta:
http://en.wikipedia.org/wiki/AMD64
The AMD64 or x86-64 or x64 is a 64-bit processor architecture invented by AMD. It is a superset of the x86 architecture, which it natively supports.
Tuo on yhteensopiva x86-prossujen kanssa, mutta ei vanhempien suorittimien kanssa.
Öh, minkäs kanssa se sitten olisi yhteensopiva ? Ymmärrätkö mitä sanot? Ei se voi ollakaan yhtään x86:ta vanhempien prossujen kanssa yhteensopiva. Mikään muukaan x86-prossu ei ole.
Ensimmäinen x86-prossu oli siis jo yli 25 vuotta sitten julkaistu Intel 8086.
Tarkoitan noilla x86-prossuja vanhemmilla prossuilla ennen Intel 8086:sta valmistettuja suorittimia.
Posted: Tue Jun 14, 2005 9:24 am
by oggialli
Syzar wrote:oggialli wrote:mrl586 wrote:Peculier wrote:mrl586 wrote:Peculier wrote:AMD64 on alaspäin yhteensopiva prosessori käskyjen kanssa.
Totta, mutta vain tiettyyn rajaan asti.
Hmm, mitäköhän mahdat tarkoittaa?
Tässä hieman selvennysta:
http://en.wikipedia.org/wiki/AMD64
The AMD64 or x86-64 or x64 is a 64-bit processor architecture invented by AMD. It is a superset of the x86 architecture, which it natively supports.
Tuo on yhteensopiva x86-prossujen kanssa, mutta ei vanhempien suorittimien kanssa.
Öh, minkäs kanssa se sitten olisi yhteensopiva ? Ymmärrätkö mitä sanot? Ei se voi ollakaan yhtään x86:ta vanhempien prossujen kanssa yhteensopiva. Mikään muukaan x86-prossu ei ole.
Ensimmäinen x86-prossu oli siis jo yli 25 vuotta sitten julkaistu Intel 8086
Ja suosittelen GCC 3.4:n ja march=athlon64:n käyttöä, sen pitäisi toimia 32-bittisenäkin ihan hyvin. Athlon XP:ssä ei ole SSE2:ta, joten käyttämällä march=athlon-xp:tä missaa hyödyn A64:n SSE2-tuesta.
Jos olen oikein ymmärtynyt muualta niin tuo march=athlon64 kääntää jotain 64-bittisen ominaisuuksia päälle joten se ei ole suositeltavaa.
Omasta mielestä paras on juuri tuo march=athlon-xp ja lisäksi sse2 erikseen -msse2 switchillä päälle käännettynä.
Ei käännä yhtään mitään päälle, tuottaa vain hieman paremmin A64:lle sopivaa assyä. Tosin erot eivät ole suuria.
Ja "ennen 8086:ta valmistettuja prossuja" ei ole PC:issä koskaan ollut, joten "backwards compability" näiden kanssa on irrelevanttia. 8086:han ei siis ole ollut mikään päivitys mistään kuten x86->IA32->x86_64 vaan ensimmäinen lajinsa suoritin.
Posted: Wed Jun 15, 2005 10:30 pm
by mrl586
mrl586 wrote:oggialli wrote:mrl586 wrote:Peculier wrote:mrl586 wrote:Peculier wrote:AMD64 on alaspäin yhteensopiva prosessori käskyjen kanssa.
Totta, mutta vain tiettyyn rajaan asti.
Hmm, mitäköhän mahdat tarkoittaa?
Tässä hieman selvennysta:
http://en.wikipedia.org/wiki/AMD64
The AMD64 or x86-64 or x64 is a 64-bit processor architecture invented by AMD. It is a superset of the x86 architecture, which it natively supports.
Tuo on yhteensopiva x86-prossujen kanssa, mutta ei vanhempien suorittimien kanssa.
Öh, minkäs kanssa se sitten olisi yhteensopiva ? Ymmärrätkö mitä sanot? Ei se voi ollakaan yhtään x86:ta vanhempien prossujen kanssa yhteensopiva. Mikään muukaan x86-prossu ei ole.
Ensimmäinen x86-prossu oli siis jo yli 25 vuotta sitten julkaistu Intel 8086.
Tarkoitan noilla x86-prossuja vanhemmilla prossuilla ennen Intel 8086:sta valmistettuja suorittimia.
Pocket PC -koneet eivät taida ymmärtää x86-käskyjä.
Posted: Thu Jun 16, 2005 8:50 am
by oggialli
Ei niin, niiden prosessoriarkkitehtuuri taitaa olla yleensä ARM. Mutta mihin ihmeeseen tämä liittyy ? Pocket "PC" -koneet eivät liity mitenkään PC:ihin eivätkä 8086:ta vanhempiin suorittimiin, ARM on huomattavasti x86:ta uudempi prosessoriarkkitehtuuri.
Posted: Thu Dec 08, 2005 10:49 pm
by mighty96
Lueskelin näitä ja englannin kielistä keskustelua asiasta, ja avoimeksi jäi ainakin se, että stage1 ehdotettiin, mutta miksi? Ja kannattaako käytää seuraavassa ehdotettua, ja miten sitten stage1, jos siitä mitään hyötyä on.
Anyway, if I put this in /etc/make.conf
Koodi:
ACCEPT_KEYWORDS="x86"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
and then do an
Koodi:
emerge -eD world
what will be the result?
A b0rked system or a happy x86 32-bit installation?
Muokkaus:
Ja sitten jos näin teen kuin lainauksessa eikä mitään muuta, tämä myös kääntää 32bittisenä? Ja pitäisikö jotain vielä lisätä jos prossuna mad64 +3200 venice, vai heikentääkö se tulevaisuuden prossun päivitystä esim. amd64 x2:een, eli joutuisiko silloin kääntämään kaikki uudestaan?
Posted: Sun Dec 11, 2005 2:07 am
by Obi-Lan
Eikös toi nyt mee silei, että 32-bit gentoon asennat 32-bit medialta ja 64-bit gentoon 64-bit medialta? Ja mä en tota ACCEPT_KEYWORD:sia pistäis make.conffii... ja sen march=athlon-xp? Ja mielestäni sillä ei kauheesti merkitystä ole mikä prossa siellä alla on kunhan kernel tukee. Tosin itse ainakin otan kaiken hyödyn 64-bit prosessorista käyttämällä 64-bit järjestelmää.
Posted: Sun Dec 11, 2005 4:30 pm
by PaveQ
Hyvin toi 64 bittinen toimii, ja nopeastikkin näin perstuntumalta.

Mitään suurempia ongelmia ei ole ollut ja mitään chroot systeemeitä ei oo tarvinnu tehdä.
Niin, ja amd64 on yhteensopia 32 bittisten kanssa, muttei 16 tai 8 bittisten. Eli ei tosiaankaan kaikkien x86 prossujen kanssa. Ja 64 bittisessä ympäristössä voi hyvin ajaa 32 bittistä koodia ilman tehonlaskua amd:llä, toisin kuin intellin 64 bittisillä prossuilla.
Posted: Mon Dec 12, 2005 7:16 am
by Kaapeli
PaveQ wrote:
Niin, ja amd64 on yhteensopia 32 bittisten kanssa, muttei 16 tai 8 bittisten. Eli ei tosiaankaan kaikkien x86 prossujen kanssa.
Mitenkäs sitten windowssit missä vielä nykypäivänäkin on 16 bittistä koodia luvattoman paljon? Hyvin näyttää toimivan myös amd64 alla. Kyllä se x86 yhteensopivuus tarkoittaa sitä että se todellakin on x86 yhteensopiva, eli osaa ajaa x86 koodia suoraan.
Posted: Mon Dec 12, 2005 9:00 am
by Paapaa
PaveQ wrote:Niin, ja amd64 on yhteensopia 32 bittisten kanssa, muttei 16 tai 8 bittisten. Eli ei tosiaankaan kaikkien x86 prossujen kanssa.
Ja mihin tuo väite perustuu? Amd:n pressitiedote:
"Compatibility mode supports existing 16-bit and 32-bit applications under a 64-bit operating system. In addition to long mode, the architecture also supports a pure x86 legacy mode, which preserves binary compatibility with existing 16-bit and 32-bit applications and operating systems."
Eli kyllä 8088- ja 8086:kin taipuvat AMD:ltä. 8086 oli käsittääkseni ensimmäinen x86-prossu.
Posted: Mon Dec 12, 2005 2:53 pm
by PaveQ
Kaapeli wrote:PaveQ wrote:
Niin, ja amd64 on yhteensopia 32 bittisten kanssa, muttei 16 tai 8 bittisten. Eli ei tosiaankaan kaikkien x86 prossujen kanssa.
Mitenkäs sitten windowssit missä vielä nykypäivänäkin on 16 bittistä koodia luvattoman paljon? Hyvin näyttää toimivan myös amd64 alla. Kyllä se x86 yhteensopivuus tarkoittaa sitä että se todellakin on x86 yhteensopiva, eli osaa ajaa x86 koodia suoraan.
"Using Long Mode, a 64 bit OS can run 32 bit applications and 64 bit applications simultaneously. Also, x86-64 includes native support for running 16 bit x86 applications. Microsoft, however, has explicitly left out 16 bit program support in Windows XP Professional x64 Edition due to problems in getting 16 bit x86 code to run via their WoW64 Subsystem." Wiki
Ja tämmönen tarkennus vielä:
A number of "system programming" features of the x86 architecture are not used in modern operating systems and are not available on AMD64 in long mode. These include segmented addressing (although the FS and GS segments remain in vestigial form, for compatibility with Windows code), the task state switch mechanism, and Virtual-8086 mode. These features do of course remain fully implemented in "legacy mode," thus permitting these processors to run 32-bit operating systems without modification.
Posted: Tue Dec 13, 2005 6:51 am
by Kaapeli
Eli tiivistettynä voidaan sanoa että amd64 on täysin x86 yhteensopiva "legacy" moodissa jolloin se todellakin toimii kuin mikä tahansa x86 prosessori. 64bit moodissa (64 bittisen järjestelmän alla) menetetään tukea vanhimmille x86 käskyille, mutta tässä nyt ei ainakaan linuxin alla ole mitään haittaa koska tietääkseni linuxin alla ei ole 16 bittistä koodia käytetty ikinä muutenkaan.
Posted: Thu Dec 15, 2005 9:15 am
by oggialli
Jep, linuxin kuten useimpien muidenkaan nykyaikaisten *nixien alla ei ole koskaan pystynyt ajamaan 16-bittistä koodia ilman jonkinlaista emulaattoria, ainoa muistinkäyttömalli (x86:lla pl. PAE) on segmentoimaton suojattu 32-bittinen tila.
Posted: Thu Dec 15, 2005 9:17 am
by oggialli
PaveQ wrote:Niin, ja amd64 on yhteensopia 32 bittisten kanssa, muttei 16 tai 8 bittisten. Eli ei tosiaankaan kaikkien x86 prossujen kanssa.
Kuten sanottua, yhteensopivuus 16-bittisen koodin kanssa löytyy legacy modessa ja sisäisesti 8-bittisiä x86-prossujahan ei ikinä ole ollutkaan. 8088:ssa oli 8-bittinen muistiväylä, mutta se käytti silti samaa käskykantaa ja 16-bittistä aritmetiikkaa kuin 8086:kin.
Posted: Sun Dec 18, 2005 12:52 am
by mighty96
Eli jos asennan 64bit gentoon, voin ajaa sillä 32bit ohjelmia, esim wine ja w32codecs? jos näin on, niin silloin tietenkin 64bit käyttis alle.
p.s. ainakaan alla olevalla 64bit kubuntulla en saanut toimimaan kumpaakaan, joten wintoosa on vielä toisena käyttiksenä. eli jos mahdollista ajaa 32bit koodia 64bittisellä, niin miten, melko helposti?
Posted: Sun Dec 18, 2005 1:15 am
by oggialli
32-bittisiä binäärejä voi ajaa ihan suoraan kunhan on kernelissä IA32-tuki päällä ja kaikki tarvittavat kirjastot on myös 32-bittisinä. Tuolla AMD64-foorumilla taitaa olla jotain eksplisiittisempiä guidejakin esim. juuri win32codecs liittyen. Useimmat binäärisoftat kuten esim. Cedega toimivat ihan suoraan, koska ovat yleensä staattisesti linkattuja.
Posted: Sun Dec 18, 2005 7:29 am
by Obi-Lan
32-bittisiin on omat kikkansa.. Cedegan sivuilla lukee suoraa mikä paketti on suositeltu 64-bit gentoota varten, kopio sen distfiles kansioon ja asentaa emergellä niin hyvin toimii. Win32codecs toimii ainakin mplayerin 32-bittisen binääriversion kanssa..