Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Assembly: Assemblyjen erot

zorm [27.11.2005 14:17:42]

#

hei. Olen tässä miettinyt jommankumman acer ferrarin ostoa. kun tässä katsoin tarkemmin tuota laitekokoonpanoa noista tietokoneista, huomasin että kummatkin käyttävät AMD:n suorittimia. Kun tässä olen käyttöjärjestelmäriippumatonta ohjelmointia assemblyllä pentinumeille opetellut tuli mieleen että kannattaako sitten ostaa AMD:n suorittimella varustettua konetta kun siihen ei ole niin paljon tukea netissä ja pitäisi opetella käskykanta uudestaan... Olen kuullut että Intelin ja AMD:n suorittimien käskykanta olisi aikalailla samantapainen...
Olenko aivan hakoteillä?
Mitä eroa on Intelin ja AMD:n suorittimille ohjelmoimisessa?
Entäs Rekisterien erot?
Toivottavasti selitin kaiken selvästi. kiitos jo etukäteen!

Blaze [27.11.2005 15:18:54]

#

AMD:n ja Intelin valmistamat (x86-) prosessorit eivät eroa käskykannaltaan (poislukien tietyt laajennukset, kuten 3dnow tai SSE3) toisistaan: eiväthän ne muuten pystyisi ajamaan samoja binäärejä!

feenix [22.12.2005 07:46:25]

#

Blaze kirjoitti:

AMD:n ja Intelin valmistamat (x86-) prosessorit eivät eroa käskykannaltaan (poislukien tietyt laajennukset, kuten 3dnow tai SSE3) toisistaan: eiväthän ne muuten pystyisi ajamaan samoja binäärejä!

Eroavat kylläkin, noissa prosessoreissa on joskus tiputeltu turhimpia käskyjä pois, koska niitä ei käytetä mihinkään. x64 varsinkin tiputti muistaakseni BCD-numeroiden käsittelyä jne, mutta sitä ennenkin on ollut pieniä eroja.

Myöskin jotkut prosessorit (muistaakseni Cyrixin) eivät tukeneet kuin kehiä 0 ja 3, joten tämän takia nykyiset käyttöjärjestelmät eivät ota hyödyä kaikista neljästä kehästä vaan ainoastaan näistä kahdesta.

thefox [29.12.2005 05:13:08]

#

feenix: voisit heittää muutaman esimerkin tuollaisesta "turhasta pois tiputetusta käskystä".

FooBat [29.12.2005 10:20:31]

#

Pois tiputetut käskyt tarkoittavat tietääkseni sitä, että prosessori ei suoraan tuo kyseisiä käskyjä, mutta pystyy kuitenkin suorittamaan ne erillisellä mikrokoodilla. Prosessoria on siis yksinkertaistettu ja optimoitu toimimaan nopeasti yleisesti käytetyillä käskyillä ja vanhoja harvemmin käytettyjä käskyjä vain emuloidaan joten ne eivät enää toimi yhdessä kellojaksossa.

Tälläinen käsitys itselleni on jäänyt, voin kyllä olla väärässäkin.

thefox [29.12.2005 22:30:23]

#

FooBat kirjoitti:

Pois tiputetut käskyt tarkoittavat tietääkseni sitä, että prosessori ei suoraan tuo kyseisiä käskyjä, mutta pystyy kuitenkin suorittamaan ne erillisellä mikrokoodilla. Prosessoria on siis yksinkertaistettu ja optimoitu toimimaan nopeasti yleisesti käytetyillä käskyillä ja vanhoja harvemmin käytettyjä käskyjä vain emuloidaan joten ne eivät enää toimi yhdessä kellojaksossa.

Tälläinen käsitys itselleni on jäänyt, voin kyllä olla väärässäkin.

Niin, sama käsitys itsellänikin on. feenixin viestistä vain jotenkin jäi suuhun sellainen maku, että kokonaisia käskyjä olisi täysin tiputettu pois. Tietääkseni uusimmat AMD64-prosessorit ovat edelleenkin täysin taaksepäin yhteensopivia.

feenix [05.01.2006 11:48:52]

#

32-bittisessä moodissa siis nämä käskyt ovat olemassa, epäselvästi ilmaisin. 64-bittisessä moodissa näitä ei voi käyttää ollenkaan. Esimerkiksi BCD-käsittelykäskyt (AAA, AAM, AAD jne) ovat tällaisia.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta