MMIX



Tiedot, jotka olemme pystyneet kokoamaan MMIXsta, on tarkistettu ja jäsennelty huolellisesti, jotta niistä olisi mahdollisimman paljon hyötyä. Tulit luultavasti tänne saadaksesi lisätietoja hotellista MMIX. Internetissä on helppo eksyä sellaisten sivustojen sekamelskaan, jotka puhuvat MMIXsta, mutta eivät kuitenkaan kerro sitä, mitä haluat tietää MMIXsta. Toivomme, että kerrot meille kommenteissa, jos pidät siitä, mitä olet lukenut MMIX alla. Jos tarjoamamme tiedot MMIX eivät ole sitä, mitä etsit, ole hyvä ja kerro meille, jotta voimme parantaa tätä verkkosivustoa päivittäin.

.

MMIX
Suunnittelija Donald knuth
Bittiä 64-bittinen
Tuoda markkinoille 1999
Arkkitehtuuri RISC
Koodaus Kiinteä
Endianness Iso endian
Vapaa Joo
Rekisterit
Yleinen käyttö 256
32 erityistä rekisteriä

MMIX lausutaan /ɛm.mɪks/ ja yleensä ladotaan on fontti on tasalevyisellä ( MMIX) on sekä käskykannan 64-bittinen RISC- ja IT-arkkitehtuurin suunnitellut Donald Knuth , joilla on merkittävää apua John Leroy Hennessy , yksi suunnittelijat MIPS-arkkitehtuuri ja Richard L.Sites , yksi Alpha- arkkitehtuurin suunnittelijoista . Knuth itse esittelee tämän projektin seuraavilla sanoilla:

”  MMIXOn tietokone tarkoitettu kuvaamaan näkökohtia koneen tason ohjelmointikieli. Kirjoissani The Art of Computer Programming se korvaa 1960-luvun tyylisen koneen MIX , jolla oli sellainen rooli ... Yritin suunnitella MMIXsen konekielen yksinkertaiseksi, tyylikkääksi ja helposti opittavaksi. Samaan aikaan olin varovainen sisällyttämään kaikki monimutkaisuudet, jotka ovat tarpeen korkean suorituskyvyn saavuttamiseksi käytännössä, jotta ne MMIXvoitaisiin periaatteessa rakentaa ja mahdollisesti kilpailla joidenkin kaupallisesti saatavilla olevien nopeimpien yleisten kielten kanssa. "

Arkkitehtuuri

IT-arkkitehtuuriltaan MMIX64-bittinen RISC-tietokone, jossa on 256 rekisteriä, yleinen 64-bittinen ja 32-bittinen rekisteri, 64 erityiskäyttöä. MMIXon isokokoinen kone, jossa on 32-bittiset ohjeet ja 64-bittinen virtuaalinen osoiteavaruus . Sen ohjeisto sisältää 256 opcodia, joista yksi on varattu tulevaa käyttöä varten. Liukuluvut toteutetaan IEEE 754 -standardin mukaisesti .

Ohjeet

Kaikki ohjeet MMIXon määritelty ja niitä voidaan käyttää opkoodistaan , joka on yksitavuinen luku , joka kirjoitetaan yleensä heksadesimaalimuodossa . Kuitenkin, parantaa luettavuutta kokoonpano koodi, joka on ainutlaatuinen muistisääntö tunniste liittyy kuhunkin koodien. Siten etiketti vastaa käskynumeroa 20 16 , joka on lisäyksen operaattorikoodi. Suurin osa käskyistä on muodon operaattoria XYZ , jossa operaattori määrittelee käskyn, X on rekisteri, jota käytetään akkuina , toisin sanoen käskyn tuloksen tallentamiseen, ja Y ja Z tarkoittavat käskyjen operandeina käytettyjä rekistereitä . Esimerkiksi välineet määrittää ja Sum (aritmeettinen) numeron rekisteriin tallennetun ja numero . ADDADD $0,$1,3$0$13

Suurin osa ohjeista voi joko ottaa välittömiä arvoja tai käyttää rekisterin sisältöä; täten yksi muistitikku voi vastata yhtä tai kahta toimintakoodia.

Tyypillisesti ohjelmat MMIX rakennetaan Assembly- kielellä MMIXAL. Alla olevassa esimerkissä on kirjoitettu ohjelma MMIXAL, joka tulostaa Hello world  :

Main    GETA  $255,string               ; Get the address of the string
                                        ; in register 255.

        TRAP  0,Fputs,StdOut            ; Put the string pointed to
                                        ; by register 255 to file StdOut.

        TRAP  0,Halt,0                  ; End process.

string  BYTE  "Hello, world!",#a,0      ; String to be printed.
                                        ; #a is newline,
                                        ; 0 terminates the string.

Rekisterit

Arkkitehtuurissa siru MMIXon 256 yleistä rekisteriä, joka pääsee niiden viittaukset huomataan $0ja $255ja 32 rekistereihin. Kaksi erityisrekisteristä rLja rGmäärittää paikalliset ja globaalit. Kaikki rekisterit, alkaen $0, ovat paikallisia rekistereitä. Rekisterit [rL] ja [rG] -1 ovat marginaalisia rekistereitä , jotka aina palata 0, jos niitä käytetään lähteen toiminnan. Marginaalirekisterin käyttäminen operaation kohteena laukaisee automaattisen lisäyksen kyseisen rekisterin sisällyttämiseen. Kaikkia rekistereitä [rG]: stä kutsutaan globaaleiksi rekistereiksi, eikä niitä tallenneta rekisteripinoon. $(rL-1)rL$255

Paikallinen rekisteripino

Väestötietorekisteriin pino huolehtii kunkin menettelyn oma paikallinen rekisterit rL, havaitaan $0ja . Jos kutsutaan menettely, paikalliset rekisterit lisätään pinoon. Menettelyn argumentit sijoitetaan muihin paikallisiin rekistereihin. Kun toimenpide päättyy, se poistaa aiemmin lisätyt rekisterit. Koska fyysisiä rekistereitä on vain 256, voi olla tarpeen tallentaa osa pinosta muistiin. Tämä toiminta toteutetaan erityisiin rekistereihin ja että levy mitä osa paikallista rekisterin pino tallennetaan ja kuinka paljon on vielä paikallisen fyysisen rekistereihin. Pinon rekisteriin myös nopean yhteyden menettelyjä (in) . $(rL - 1)rOrS 

Erityiset rekisterit

Fyysisen arkkitehtuurin 32 erityistä rekisteriä määritellään seuraavasti:

  1. rB, käynnistysrekisteri (liipaisin), b: llä kuten englanniksib ootstrap  :
    kun laukaisu tapahtuu, rBsille määritetään rekisteriin tallennettu arvo $255ja rekisterille $255määritetään rekisteriin tallennettu arvo rJ, jolloin se tallennetaan rJyleiseen rekisteriin.
  2. rDRekisterin on ividend: kokonaislukujaolla unsigned käyttötarkoituksiin rekisteriin kuin vasen puoli osoittajan (osinko) koodataan 128 bittiä, joka on jaettu nimittäjä (jakaja).
  3. rE, Rekisteröiminen E Psilon tai rekisteröidy margin e rreur:
    Vertailussa liukulukujen sietämään virhemarginaali
  4. rH, nimeltään himult- rekisteri  :
    Termi himult , lausutaan nimellä /haɪ.mʌlt/ , on englanninkielisen korkean kertolaskun , kirjaimellisesti korkean kertolaskun supistuminen , jossa haute ehdottaa osaa, joka sisältää tallennetun numeron merkittävimmät bitit, jonka esitys on jaettu useille erillisille rekisterit. Tämä rekisteriä käytetään tallentamaan oikea puoli, että tuote on unsigned kokonaisluku kertolasku .
  5. rJ, hyppypalautusrekisteri, j: llä kuten englanniksij ump  :
    Tätä rekisteriä käytetään PUSHja POPtallennettaessa seuraavan käskyn osoite palattuasi a: sta PUSH.
  6. rMon rekisteriin maski on multipleksataan
    Tätä rekisteriä käyttää kanavoi ohjeet MUXja MUXI.
  7. rRon rekisteri r Este:
    Hänelle annettiin arvo jakojäännös, kun osastojen suoritetaan DIV, DIVI, DIVU, DIVUItai FDIV.
  8. rBBThe ytimen boot rekisteröityä , jossa BB silläb ootstrap b on  :
    aikana pyydystäminen käskyn TRAP, ansa nimeämiseksi kaappauslaitetta Englanti, rBBannetaan rekisteriin $255ja rekisterin $255saa arvon tallennettu rJ, jolloin säästetään rJyleiseen rekisteriin.
  9. rCC syklin ompteur:
    Se kasvatetaan kunkin syklin .
  10. rNThe sarja numero rekisteriin:
    vakio, joka ilmaisee MMIXnykyisen prosessori .
  11. rORekisteristä offset että pinon
    Tätä rekisteriä käytetään toteuttamaan rekisteriin pino.
  12. rS, jolla on s kutens tack , pino englanniksi:
    Tätä rekisteriä käytetään osoittimen tallentamiseen pinon nykyiseen osoitteeseen.
  13. rIThe laskuri i nterval:
    Se pienennetään kunkin syklin ja liipaisee keskeytyksen , kun se saavuttaa nollan.
  14. rT, t- tyyppisellät rap , kaappauslaitetta vuonna Englanti:
    Sitä käytetään tallentamaan osoite laukaista vektorin .
  15. rTT, jossa t viitataan myös englantiint rap , mutta juuri tätä dynaamisen laukaisurekisterin ( dynaamisen ansarekisterirekisterin ) aikaa
    käytetään vektoriliipaisimen osoitteen tallentamiseen .
  16. rK, Keskeytys maskirekisteri, keskeytys mas k rekisteröityä :
    Tätä rekisteriä käytetään liipaisin ja laukaista erityisiä keskeytyksiä.
  17. rQRekisterin re q uête keskeytys:
    Sitä käytetään keskeytysten tallentamiseen niiden tapahtumina.
  18. rULaskuri U laulaa:
    lasken suoritettavien käskyjen määrän tallennetaan rekisteriin.
  19. rVRekisterikäännös v irtuelle:
    Sitä käytetään käännös virtuaalisten osoitteiden ja fyysisten osoitteiden välillä . Se tallentaa useita segmenttejä , koko allokoitu kullekin segmentille, asema juuren sivutaulukon
    ja useita osoiteavaruuksia  (in) .
  20. rGKynnys rekisteriin g lobal:
    Kaikki viittaukset yleistä rekisteriä koodattu suurempi kuin tai yhtä kuin määritelty kynnys rGviittaavat globaali rekistereihin.
  21. rL, kynnysrekisteri l okaali:
    Kaikki yleiset rekisteriviitteet, jotka on koodattu numerolla, joka on tiukasti matalampi kuin rLpaikallisissa rekistereissä määritelty kynnysarvo .
  22. rAtilarekisterissä on rithmétique:
    Tätä rekisteriä käytetään aritmeettisten poikkeusten tallentamiseen, kytkemiseen päälle ja pois päältä. Näitä poikkeuksia ovat aritmeettinen ylivuoto  (sisään) ja jakaminen nollalla .
  23. rFvirheen paikannusrekisteri:
    Kun järjestelmä havaitsee, että käskyä ei ole suoritettu oikein, käskyn osoite tallennetaan tähän rekisteriin. Muistin f liittyy englantiinf ailure sijaintirekisteri , jossa vika sijaintirekisteri voidaan kääntää vika. Ranskan kielellä voidaan viitata sanoihin f redaine tai f aux-pas.
  24. rPRekisteri ennustus  :
    Sitä käyttävät ohje CSWAPon permutaatio ehdollinen .
  25. rW, keskeytyssijaintirekisteri:
    Tätä rekisteriä käytetään liipaisun aikana käskyn osoitteen tallentamiseen keskeytetyn jälkeen. W viittaa Englanti nimiw tässä keskeytetty rekisteri , kirjaimellisesti missä keskeytetty rekisteri .
  26. rX, Rekisteri e x ecution (liipaisin):
    Tätä rekisteriä käytetään liipaisuna keskeytetyn käskyn tallentamiseen.
  27. rYoperandi Y (liipaisin):
    Tätä rekisteriä käytetään liipaisun aikana käskyn ensimmäisen operandin tallentamiseen. Y viittaa matematiikassa yleiseen yleiseen nimeen.
  28. rZoperandi Z (liipaisin):
    Tätä rekisteriä käytetään liipaisun aikana käskyn ensimmäisen operandin tallentamiseen. Z viittaa matematiikassa yleiseen yleiseen nimeen.
  29. rWW, keskeytyssijaintirekisteri (sieppaus):
    Sitä käytetään kaappauksen aikana käskyn osoitteen tallentamiseen keskeytetyn jälkeen. W viittaa sanaan silloin , kuten ennenkin.
  30. rXX, suoritusrekisteri (sieppaus):
    Sitä käytetään sieppauksen aikana keskeytetyn käskyn tallentamiseen.
  31. rYY, Y-operandi (sieppaus):
    Sitä käytetään kaappauksen aikana keskeytetyn käskyn Y-operandin tallentamiseen.
  32. rZZ, Z-operandi (sieppaus):
    Sitä käytetään kaappauksen aikana keskeytetyn käskyn Z-operandin tallentamiseen.

Laitteiston käyttöönotto

Tällä hetkellä käskyjoukkoarkkitehtuuria ei ole toteutettu laitteistolla MMIX. Mukana toimitettu fpgammix- projekti toteuttaa kuitenkin Verilog- toteutuksen , mikä antaa mahdollisuuden käyttää sitä ohjelmoitavassa logiikkapiirissä .

Ohjelmistotyökalut

Käskyjoukkoarkkitehtuuri MMIXon käytettävissä useissa ohjelmistotyökaluissa ohjelmistokehitystutkimukseen ja tietokonearkkitehtuuriin.

Simulaattorit ja kokoonpanijat

Knuth on kehittänyt nimeltään ohjelmistopaketti MMIXware, joka sisältää yksinkertaisen käyttäytymisen simulaattori, ja MMIXAL, kokoonpano-ohjelmisto, joka on -testausohjelmiston malliohjelmat kattavat asiakirjat, ja arkkitehtuuri putkilinjan simulaattori MMIX.

Andrew Pochinsky , tiimin jäsen teoreettisella tutkimuskeskuksessa fysiikan klo Massachusetts Institute of Technology on kehittänyt paketti pannaan täytäntöön X11- pohjainen grafiikkaa palvelinta . Se voidaan yhdistää virtuaalikone tarjota näyttö 640 x 480 pikseliä on todellinen väri on Linux ja Unix . MMIXXMMIXware

Kääntäjä

GNU Compiler Collection (GCC) -projekti sisältää joitain kohokohtia MMIXsen kääntäjille C / C ++ , jotka alun perin on kehittänyt Hans-Peter Nilsson , ja se on osa projektin vakiojakelua vuoden 2001 lopusta lähtien . Vapaaehtoiset kehittävät ja ylläpitävät sitä edelleen aktiivisesti .

Olemassa olevien työkalujen joukon pitäisi teoriassa mahdollistaa Linux- kaltaisen käyttöjärjestelmän ytimen kääntäminen, rakentaminen ja käynnistäminen prosessorissa, MMIXjos laitteistosovellus olisi olemassa.

Katso myös

Ulkoiset linkit

Huomautuksia ja viitteitä

Käännös

  1. (in)MMIXon tietokone, joka on tarkoitettu havainnollistamaan ohjelmointia konetasolla. Kirjoissani The Art of Computer Programming se korvaa MIX: n , 1960-luvun tyylisen koneen, jolla oli aiemmin sellainen rooli ... Pyrin suunnittelemaan MMIXniin, että sen konekieli olisi yksinkertainen, tyylikäs ja helppo oppia. Samaan aikaan otin varovasti mukaan kaikki monimutkaisuudet, joita tarvitaan korkean suorituskyvyn saavuttamiseksi käytännössä, jotta ne MMIXvoitaisiin periaatteessa rakentaa ja jopa olla kilpailukykyisiä markkinoiden nopeimpien yleiskäyttöisten tietokoneiden kanssa.  "
  2. Tässä käänteinen käytetään loppupäätä käännös , joka ilmentää tausta ajatus, toisin kuin etuosa , joka on käännetty Vastakkaisella ,, ilmentävät etualan ajatus.

Viitteet

  1. (in) Donald E. Knuth , mmixware: RISC Tietokone kolmannella vuosituhannella , vol.  1750, Heidelberg, Springer-Verlag , kokoonpano  "  Luentomerkinnät tietojenkäsittelytieteen opetusohjelmassa  ",( ISBN  3-540-66938-8 ).
  2. MMIX Op -koodit
  3. virallinen fpgammix-verkkosivusto
  4. MMIXware virallinen sivusto

Ulkoiset linkit

Toivomme, että keräämämme tiedot MMIXsta ovat olleet sinulle hyödyllisiä. Jos näin on, älä unohda suositella meitä ystävillesi ja perheellesi ja muista, että voit aina ottaa meihin yhteyttä, jos tarvitset meitä. Jos parhaista yrityksistämme huolimatta sinusta tuntuu, että tarjoamamme tiedot _title eivät ole täysin tarkkoja tai että meidän pitäisi lisätä tai korjata jotain, olisimme kiitollisia, jos ilmoittaisit siitä meille. Parhaan ja kattavimman tiedon tarjoaminen MMIXsta ja mistä tahansa muusta aiheesta on tämän verkkosivuston ydin; meitä ohjaa sama henki, joka innoitti Encyclopedia Projectin luojia, ja tästä syystä toivomme, että se mitä olet löytänyt MMIXsta tältä verkkosivustolta, on auttanut sinua laajentamaan tietojasi.

Opiniones de nuestros usuarios

Marita Korhonen

MMIX koskeva artikkeli on täydellinen ja hyvin selitetty. En ottaisi pois tai lisäisi pilkkua., MMIX koskeva artikkeli on täydellinen ja hyvin selitetty

Manu Partanen

Joskus, kun etsit internetistä tietoa jostakin asiasta, löydät artikkeleita, jotka ovat liian pitkiä ja joissa puhutaan asioista, jotka eivät kiinnosta sinua. Pidin tästä MMIX koskevasta artikkelista, koska se on ytimekäs ja puhuu juuri siitä, mitä haluan, eksymättä turhaan informaatioon., Se on hyvä artikkeli MMIX., Se on hyvä artikkeli MMIX

Allan Komulainen

Minusta on hyvin mielenkiintoista, miten tämä viesti MMIX_ koskevasta aiheesta on kirjoitettu, se muistuttaa minua kouluvuosistani. Olipa mukavaa aikaa, kiitos, että veit minut takaisin heidän luokseen.