Processorregisters zijn cellen van ultrasnel willekeurig toegankelijk geheugen, die zijn ontworpen voor tijdelijke opslag van tussentijdse gegevens. Verschillende registers bevatten informatie in verschillende vormen: adressen en verwijzingen naar geheugensegmenten of systeemtabellen, indexen van array-elementen, enz.
De processor bevat een groot aantal registers, die in verschillende hoofdgroepen kunnen worden onderverdeeld: accumulatoren, vlaggen, wijzers, index-, segment- en controleregisters. Processorregisters zijn geheugencellen voor het ontvangen, opslaan en vervolgens verzenden van tussenresultaten van programma-uitvoering.
Elk register van de processor is een digitaal elektronisch circuit dat een reeks binaire getallen van verschillende breedte (16, 32 of 64) bevat en de resultaten van conversies daartussen. Door het type ontvangst en verzending van informatie kunnen ze sequentieel (verschuiving) en parallel zijn.
Accumulatorregisters zijn universeel, ze bevatten de meeste tussenresultaten van het uitvoeren van verschillende opdrachten (logisch, rekenkundig, invoer / uitvoer, enz.). Een processor kan meer dan één batterij bevatten. Softwareontwikkelaars gebruiken batterijen om de bitbreedte van instructies te verkleinen en de programmacode te vereenvoudigen.
Vlaggenregisters worden ook wel conditieregisters genoemd. Ze tonen een definitief resultaat van de operatie, dat nul, positief of negatief kan zijn, of een overloop kan aangeven. Gewoonlijk worden conditiecodes gecombineerd tot groepen en vormen ze een ander type register - een controleregister. Het wijzigen van de vlagregisters is mogelijk, maar onwenselijk om het gehele resultaat niet te vervormen.
Registers met verwijzingen naar speciale geheugengebieden (stapel, basis, commando) worden aanwijzerregisters genoemd. De belangrijkste hiervan is de stackpointer. Een stapel is een stukje geheugen dat bestaat uit cellen die na elkaar volgen, d.w.z. je kunt van de stapel alleen de cel nemen die er bovenop ligt. Het is naar deze top dat het stapelregister wijst.
De basisaanwijzer bevat meestal het adres van een specifieke stapellocatie, wat van alles kan zijn. Gewoonlijk worden het stapelregister en het basisregister gelijktijdig gebruikt wanneer in de huidige procedure wordt gewerkt om de vereiste toestand van de stapel aan te geven.
Het instructiewijzerregister wordt soms de instructieteller genoemd, het bevat verwijzingen naar de instructies van de runcyclus. Wanneer de opdracht wordt uitgevoerd, wordt de waarde met 1 verhoogd en gaat de lus verder met de volgende opdracht. Die. de commandoteller wijst altijd naar het commando dat volgt op het commando dat op dat moment wordt uitgevoerd.
Er zijn twee indexregisters - de bronindex en de bestemmingsindex. Ze worden gebruikt om het adres van de stapelgegevens te krijgen in combinatie met aanwijzerregisters.
Segmentregisters worden gebruikt voor adressering van segmentgeheugen. In dit geval wordt het geheugen opgedeeld in blokken (segmenten) van verschillende lengtes. Het adres van de gewenste geheugencel wordt bepaald door het adres van het begin van het blok en de hoeveelheid verschuiving ten opzichte daarvan. Er zijn in totaal vier segmentregisters: voor een codesegment, een datasegment, een stapelsegment en een extra segment.
Besturingsregisters regelen de werking van de processor en zijn niet beschikbaar voor de gebruiker. De uitvoering ervan wordt voornamelijk gecontroleerd door machineprogramma's. Ze bevatten informatie over het huidige commando dat wordt uitgevoerd, de status van de processor, en ze lokaliseren ook de besturingsstructuren wanneer de processor in een beveiligde modus werkt.