Mikrosequencer - Microsequencer
In tietokone arkkitehtuuri ja insinööri , joka on sekvensserin tai mikrosekvensaattorilla generoi osoitteita käytetään askeleelta läpi mikro on ohjausmuistin . Sitä käytetään osana ohjausyksikön , joka CPU: n tai stand-alone generaattori osoite vaihtelee.
Yleensä osoitteet luodaan jollakin laskurin, mikro- käskyn kentän ja komentorekisterin jonkin alaryhmän yhdistelmällä . Laskuria käytetään tyypillisessä tapauksessa, että seuraava mikro-ohje on suoritettava. Mikro-ohjeiden kenttää käytetään hyppyihin tai muuhun logiikkaan.
Koska keskusyksiköt toteuttavat käskyjoukon, on erittäin hyödyllistä pystyä dekoodaamaan käskyn bitit suoraan sekvensointilaitteeseen, valitsemaan joukko mikro-ohjeita suorittamaan keskusyksikön ohjeet.
Suurin osa nykyaikaisista CISC-prosessoreista käyttää yhdistetyn logiikan yhdistelmää matalamman monimutkaisuuden opkoodien, jotka voidaan suorittaa yhdessä kellojaksossa, ja mikrokoodin toteuttamiseksi sellaisten kanssa, joiden suorittaminen kestää useita kellojaksoja.
Yksi ensimmäisistä integroiduista mikrokoodatuista prosessoreista oli IBM PALM -suoritin , joka jäljitti prosessorin kaikki ohjeet mikrokoodina ja jota käytettiin IBM 5100 -laitteessa , joka on yksi ensimmäisistä henkilökohtaisista tietokoneista.
Viimeaikaiset esimerkit samankaltaisista avoimen lähdekoodin mikrosequencer-pohjaisista prosessoreista ovat MicroCore Labs MCL86- , MCL51- ja MCL65- ytimet, jotka jäljittelevät Intel 8086/8088-, 8051- ja MOS 6502 -käskyjoukkoja kokonaan mikrokoodina.
Yksinkertainen esimerkki
Digital Scientific Corp. Meta 4 Series 16 tietokonejärjestelmä on käyttäjän liukuhihnapiirien järjestelmän ensimmäinen käytettävissä 1970. oksat mikrokoodissa sekvenssissä esiintyy kolmella eri tavalla.
- Haara mikrokäsky määrittelee osoitteen seuraavan käskyn joko ehdollisesti tai ehdoitta. Looginen hakemisto (IX) -vaihtoehto saa 16-bittisen linkkirekisterin loogiseksi TAI kohdistetuksi haaraosoitteeseen , mikä tarjoaa yksinkertaisen indeksoidun haaratoiminnon.
- Kaikki aritmeettiset / loogiset ohjeet sallivat hyppymodifikaattorin, joka ohjaa suorituksen linkkirekisterin osoittamaan mikro-ohjeeseen.
- Kaikki aritmeettiset / loogiset ohjeet sallivat sekä vähennyslaskurin (D) että hypyn (J) muokkauksen. Tällöin 8-bittinen silmukkalaskurirekisteri vähenee. Jos se ei ole nolla, haara siirretään linkkirekisterin sisältöön. Jos se on nolla, suoritus jatkuu seuraavalla käskyllä.
Vielä yksi haaroitusohjeella sallittu sekvensointivaihtoehto on Execute (XQ) -vaihtoehto. Kun se on määritetty, yksi käsky haaran osoitteessa suoritetaan, mutta sitten toteutus jatkuu alkuperäisen haaran käskyn jälkeen. IX-vaihtoehtoa voidaan käyttää XQ-vaihtoehdon kanssa.
Monimutkainen esimerkki
IBM S / 360 oli sarja yhteensopivat tietokoneet käyttöön vuonna 1964, joista monet mikro-ohjelmoitu. System / 360 Model 40 on hyvä esimerkki mikro-koneen monimutkaisia mikrosekvensointi.
Mikrokauppa koostuu 4096 56-bittisestä mikro-ohjeesta, jotka toimivat vaakasuoralla mikroprogrammityylillä. Kauppa osoitetaan 12-bittisellä vain luku -rekisterillä (ROAR). Toisin kuin useimmat S / 360-arkkitehtuurin rekisterit, ROAR-bittit on numeroitu oikealla olevasta bitistä 0 vasemmalla olevaan bittiin 11.
+------------+ | ROAR | +------------+ 11 0
Malli 40 ei suorita mikro-ohjeiden peräkkäistä suoritusta, ja siksi mikrosekvenssi ei haarautu tavanomaisessa mielessä. Sen sijaan kukin mikro-ohje määrittelee seuraavan suoritettavan osoitteen. Mikro-ohjeiden neljä kenttää myötävaikuttavat uuteen osoitteeseen.
- CA, 4 bittiä: Osa seuraavaa osoitetta muista kentistä riippuen.
- CB, 4 bittiä: Määrittää seuraavan osoitteen bitin 1.
- CC, 4 bittiä: Määrittää seuraavan osoitteen bitin 0.
- CD, 2 bittiä: Määrittää, miten seuraava osoite kootaan (paitsi kun CB-kenttä sisältää 15).
Näitä kenttiä on pohjimmiltaan kolme yhdistelmää tai muotoa.
Toimiva haaramuoto
Kun CB-kenttä sisältää 15, tapahtuu toiminnallinen haara . Uuden mikrotallennusosoitteen bitit ROARissa määritetään seuraavasti.
- bittiä 11–10: CD-kenttä
- bitit 9–6: CA-kenttä
- bitti 5: aina 0
- bitit 4–1: Q-rekisterin korkeatasoiset 4 bittiä, mikä on oikea tulo 8-bittiselle ALU: lle
- bitti 0: CC-kentän määrittelemän testin tulos
CC-kenttä voi määrittää erilaisia testejä koneen tilasta. Se voi myös määrittää vakion 0 tai 1 ehdottomalle bitille.
Tämä muoto muuttaa ohjausvirtauksen yhdeksi 16 käskyparista 64-sanan mikrosäilön lohkon 32 matalan sanan sisällä (koska bitti 5 on aina 0). CC-kenttä määrittää sitten, mikä parin käsky saa ohjauksen.
CD = 0, 1, 3-muoto
Kun CD-kenttä on 0, 1 tai 3, ohjauksen virta ohjataan käskylle nykyisessä 64 sanan lohkossa. Uuden mikropaikan osoitteen bitit määritetään seuraavasti.
- bitit 11–6: pysyvät ennallaan
- bittiä 5–2: CA-kenttä
- bitti 1: jos CD = 0, CB-kentän määrittelemän testin tulos; muuten 0
- bitti 0: CC-kentän määrittelemän testin tulos
CA-kenttä valitsee yhden 16: sta 4 sanan ryhmästä nykyisessä 64 sanan lohkossa. CB- ja CC-kentät määrittävät sitten, mikä 4: n käsky saa ohjauksen.
CD = 2-muoto
Kun CD-kenttä on 2, ohjausvirta ohjataan ei-ilmeisellä tavalla. Uuden mikrokaupan osoitteen bitit määritetään seuraavasti:
- bitit 11–10: pysyvät ennallaan
- bitit 9–6: CA-kenttä
- bitit 5–2: pysyvät ennallaan
- bitti 1: CB-kentän määrittelemän testin tulos
- bitti 0: CC-kentän määrittelemän testin tulos
Seuraava käsky on samalla 1K-sanan alueella kuin nykyinen käsky, koska bitit 11–10 pysyvät samoina. CA-kenttä määrittää 64-sanan lohkon alueella. Käsky on samassa nelisanaisessa ryhmässä uudessa lauseessa kuin nykyinen käsky on nykyisessä lohkossa, koska bitit 5–2 pysyvät samana. CB- ja CC-kentät määrittävät sitten, mikä 4: n käsky saa ohjauksen.
Yksinkertaistaminen
Tätä kuvausta on yksinkertaistettu. Se jättää huomiotta seuraavat ominaisuudet.
- Malli 40 voi toimia CPU- tai kanavatilassa. Kuvaus koskee vain CPU-tilaa.
- Jos mikro-ohje ei ole toiminnallisessa haaramuodossa ja CD-kenttä on 1 tai 3, seuraavan osoitteen bitti 1 on aina 0. Tässä tapauksessa CD- ja CB-kenttien arvot määrittävät yhden nostettavista ohjauslinjoista .