Accumulator (computer)

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
Accumulatoren op een tabulatormachine (rond 1936). Elk van de vier registers kon een 10-cijferig decimaal getal opslaan.

In de centrale verwerkingseenheid (CPU) van een computer, is een accumulator een register waarin rekenkundige en logische tussenresultaten worden opgeslagen.

Zonder een register zoals een accumulator, zou het noodzakelijk zijn om het resultaat van elke berekening (optellen, vermenigvuldigen, schuiven, etc.) naar het primaire geheugen te schrijven, misschien alleen om direct weer terug in de computer te worden gelezen voor gebruik in de volgende operatie. De toegang tot het primaire geheugen is langzamer dan de toegang tot een registergeheugen, zoals de accumulator, omdat de technologie die wordt gebruikt voor het grote primaire geheugen langzamer (maar goedkoper) is dan de technologie die voor een registergeheugen wordt gebruikt. Vroege elektronische computersystemen werden vaak in twee groepen opgedeeld, systemen met accumulatoren en systemen zonder accumulatoren.

De oudste processoren, maar ook goedkope 8-bit microcontrollers hebben maar heel weinig registers en vaak is er maar één register die zowel bron als bestemming van een berekening is. Dit register noemt men de accumulator. Het nadeel van een enkele accumulator is dat het vaak noodzakelijk is de inhoud van de accumulator in het primaire geheugen op te slaan omdat het nodig is de tussenresultaten van een volgende bewerking in de accumulator op te slaan.

Moderne processoren hebben vaak meerdere algemene registers die als accumulatoren werken. De term "accumulator" wordt daarom niet meer zo vaak gebruikt als in het verleden. Een aantal voor speciale doelen ontworpen processoren maken echter nog steeds van een enkele accumulator gebruik om hun werk te doen. Het ontwerp van zo'n computersysteem is een stuk eenvoudiger.

Voorbeelden[bewerken]

PDP-8[bewerken]

De PDP-8 heeft een accumulator van 12 bits.

Er zijn instructies om de inhoud van de accumulator nul te maken en instructies om een waarde bij de accumulator op te tellen. Deze instructies zijn voldoende om een aantal waarden samen te tellen. Ook verklaart deze werkwijze de benaming accumulator.

6800[bewerken]

De Motorola 6800 heeft twee accumulatoren van 8 bits, ACCA en ACCB. Daardoor is het mogelijk dat de ene accumulator wordt gebruikt voor een berekening terwijl het resultaat van een andere berekening zich nog in de andere accumulator bevindt.

8080[bewerken]

De Intel 8080 heeft een zevental 8-bits registers die geschikt zijn om berekeningen uit te voeren. Ze worden aangeduid met een letter; het register A wordt het meest gebruikt en daarom (en vanwege de beginletter) ook wel accumulator genoemd.

Dit register A is ook het enige rekenregister dat op zichzelf staat. De andere registers kunnen als paar worden gebruikt (BC, DE en HL).

x86[bewerken]

De processors in de x86-reeks hebben in 16-bits modus vier registers van 16 bits (AX t/m DX). Al deze registers hebben ongeveer dezelfde mogelijkheden om berekeningen uit te voeren en de benaming accumulator wordt niet meer gebruikt.