Rekisteri (tietokonetekniikka)
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 ovat toteutettu kiikuilla.[3]
Rekisterit mikroprosessoreissa[muokkaa | muokkaa wikitekstiä]
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): 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 oheislaitteille[muokkaa | muokkaa wikitekstiä]
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.
Signalointirekisterit[muokkaa | muokkaa wikitekstiä]
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ähteet[muokkaa | muokkaa wikitekstiä]
- ↑ 1,0 1,1 1,2 Von Neumann Architecture computerscience.gcse.guru. Viitattu 10.7.2018.
- ↑ The MIPS Register Files cs.uwm.edu. Viitattu 10.7.2018.
- ↑ Donn Stewart: Flip-flops and registers cpuville.com. Viitattu 10.7.2018.
- ↑ CPU Special Registers HN Computing. Viitattu 10.7.2018.
- ↑ 5,0 5,1 CPU Registers (PDF) Texas Instruments. Viitattu 10.7.2018.
- ↑ CPU Registers doc.ic.ac.uk. Viitattu 10.7.2018.