www.all2know.com Google WWW All2know sv
  Huvudsida Huvudsida | Om Om 
  Navigation
» Huvudsida
» Artikelkategorier
» Innehålls listor
» Alfabetiskt index
» Slumpmässig sida
» Redigera Extern länk
Ändrad: 2007-11-10
  Länkar hit 
BARK
Vektor (olika betydelser)
Kompilator
Vektor (datavetenskap)
Assembler
RISC
AMD64
Ackumulator
Pseudoslumptalsgenerator
Stackpekare
Länklista » Bootning
Segment (datorterm)
Adressrymd
Intel 8080
Instruktionspekare
VIC-20 minneskarta
Bignum-aritmetik
  Andra språk 
fiRekisteri (tietokonetekniikka)
frRegistre (informatique)
Kategori: Datorminnen Processorregister

Processorregister

Ett processorregister är en liten mängd väldigt snabbt datorminne som används för att öka hastigheten hos datorprogramer genom att ge snabb tillgång till ofta använda värden. De flesta, men inte alla, moderna processorarkitektur fungerar enligt principen att hämta data från primärminnet till processorregistren, utföra beräkningar på dem, och sedan lagra resultaten i primärminnet igen.

Processorregister ligger högst i minneshierarkin: det är det snabbaste sättet att lagra data. Termen 'processorregister' används oftast bara för de register som går att påverka eller avläsa från maskinkodsinstruktioner, dessa kallas då 'arkitekturregister'. Exempelvis har x86-arkitekturen åtta stycken 32-bitarsregister, men en CPU som tillämpar x86-arkitekturen betydligt många fler interna register än bara dessa åtta.

Att lagra ofta använda variabler i register är kritiskt för programprestanda. Därför är en av de viktigaste uppgifterna en kompilator har att tilldela registren på ett effektivt sätt.

Registerkategorier

Processorregister klassifieras normal baserat på hur många bitar de består av; exempelvis säger man '8-bitars register' eller '32-bitars register'. Det finns olika kategorier av register, beroende på typen av data som lagras i dem:
  • Dataregister används för att lagra heltal. I nÃ¥gra äldre eller enklare processorer finns det ett särskilt dataregister, ackumulatorn, som används underförstÃ¥tt i mÃ¥nga instruktioner. Exempel: D0-D7 i 68000-arkitekturen; A-registret i 6502-arkitekturen.
  • Adressregister används för att lagra minnesadresser (eller delar av minnesadresser) och används bl.a. för att läsa och skriva i primärminnet. Exempel: segmentregistren CS,DS,ES,FS,GS, och SS i x86-arkitekturen; A0-A7 i 68000-arkitekturen.
  • Allmänna register (general purpose registers eller GPR) används för bÃ¥de data och adresser.
  • Flyttalsregister används för att lagra flyttal. Exempel: ST(0)-ST(7) hos 8087-matematikprocessorn.
  • Konstanta register innehÃ¥ller vanligt förekommande värden som bara kan läsas (t.ex. noll, ett, pi m.fl.)
  • Vektorregister hÃ¥ller flera datavärden i en vektor och används för att utföra flera operationer parallellt (se vidare SIMD).
  • Specialregister hÃ¥ller reda pÃ¥ programmets tillstÃ¥nd; däribland räknas instruktionspekare, stackpekare och statusregister.
  • I nÃ¥gra processorarkitekturer finns modellspecifika register som lagrar data och inställningar som är specifika för processorn själv. Eftersom deras innebörd är knuten till en specifik processor, gÃ¥r det inte att förlita sig pÃ¥ att deras funktion är densamma i senare processorgenerationer.

Se även

  • Skiftregister

Från Wikipedia, den fria encyklopedin. Extern länk. Denna sida är publicerad under GNU Free Documentation License Extern länk.