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!
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ä!
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.
feenix: voisit heittää muutaman esimerkin tuollaisesta "turhasta pois tiputetusta käskystä".
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.
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.
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.
Aihe on jo aika vanha, joten et voi enää vastata siihen.