Avaa päävalikko

Rekisteri tietokonetekniikassa tarkoittaa nopeaa muistialuetta, joka on suorittimen sisäistä muistialuetta.[1] Rekisteri sisältää tyypillisesti vain pienen määrän bittejä (1–64). Rekisterissä olevaa tietoa voidaan käsitellä yhden kellojakson aikana, kun muun muistin käsittely voi vaatia useamman kellojakson ajan.[2] Von Neumannin arkkitehtuurissa tieto on aina tallennettava rekisteriin ennen kuin se voidaan käsitellä.[1] Nykyaikaiset suorittimet hyödyntävät useita rekisterejä. Rekisterit on toteutettu kiikuilla.[3]

Rekisterit mikroprosessoreissaMuokkaa

Mikroprosessorit sisältävät tyypillisesti useita eri rekistereitä, joista osa näkyy ohjelmoijalle, mutta osaa käytetään prosessorin sisäiseen toteutukseen. Ohjelmoijan näkökulmasta rekistereihin talletetaan lukuarvoja, jotka ohjaavat konekielikäskyjen toimintaa. Laitteistosuunnittelijan näkökulmasta rekisterit ovat D-kiikkuja, jotka ovat syötteinä piirin sisäiselle tilakoneelle.

Tyypillisissä 32-bittisissä suorittimissa ohjelmoijan näkemät rekisterit ovat 32-bittisiä ja 64-bittisissä suorittimissa vastaavasti 64-bittisiä. Tämä ei kuitenkaan päde aina sillä ns. 32-bittisissä suorittimissa voi esiintyä jopa 128-bittisiä rekistereitä (esimerkiksi SSE2-laajennos Intel Pentium sarjassa).

Erityskäyttöön tarkoitettuja rekistereitä:[1][4][5]

  • Instruction Register (IR): suorituksen alla oleva käsky
  • Memory Data Register (MDR): muistista haettua tietoa
  • Memory Address Register (MAR): muistista haetun tiedon osoite
  • Program Counter (PC): ohjelmalaskuri, ohjelman suorituspaikka, viittaa seuraavaan muistista haettavaan käskyyn
  • Stack Pointer (SP): pinon osoitin
  • Accumulator (AC): laskuri, joka sisältää ALU-yksikön tuloksen

Lisäksi on joukko yleiskäyttöisiä rekistereitä ohjelman suorituksen avuksi.[5][6]

Rekisterit oheislaitteilleMuokkaa

Oheislaitteet tarjoavat omaa toiminnallisuuttaan sovelluksille rekisterien avulla. Rekistereitä on kahta lajia tähän tarkoitukseen. Jotkin oheislaitteet tarjoavat tietyn I/O-portin, johon ohjelmoijan täytyy kirjoittaa kaikki käskynsä. Uudemmat laitteet tarjoavat yleensä I/O-muistiavaruuden, jonne ohjelmoija voi kirjoittaa komentonsa. I/O-muistiavaruus näyttää ohjelmoijalle tavalliselta muistilta, mutta I/O-porttien tapauksessa komentojen antaminen ei välttämättä onnistu tavallisilla muistinkirjoituskomennoilla (store), vaan ohjelmoija joutuu käyttämään erikoiskäskyjä suorittimesta.

SignalointirekisteritMuokkaa

Signalointirekisteri (engl. strobe register) on rekisteri, johon koskeminen aiheuttaa aina saman toiminnon. Rekisterin lukeminen tai minkä tahansa arvon kirjoittaminen siihen, saa aina aikaan saman toiminnon.

LähteetMuokkaa

  1. a b c Von Neumann Architecture computerscience.gcse.guru. Viitattu 10.7.2018.
  2. The MIPS Register Files cs.uwm.edu. Viitattu 10.7.2018.
  3. Donn Stewart: Flip-flops and registers cpuville.com. Viitattu 10.7.2018.
  4. CPU Special Registers HN Computing. Viitattu 10.7.2018.
  5. a b CPU Registers (PDF) Texas Instruments. Viitattu 10.7.2018.
  6. CPU Registers doc.ic.ac.uk. Viitattu 10.7.2018.