Technische encyclopedie

Winkler Prins (1975)

Gepubliceerd op 06-11-2024

GEHEUGEN

betekenis & definitie

(Fr.: mémoire; Du.: Speicher; Eng.: storage, store memory), apparatuur die in staat is informatie op te nemen, te bewaren en in dezelfde vorm weer te geven.

Bij een analoog geheugen is de informatie vervat in continu veranderlijke signalen, bijv. bij de magneetband van een bandrecorder, bij een digitaal geheugen in discreet veranderlijke signalen. Hierbij spreekt men van schrijven resp. lezen in plaats van opnemen resp. weergeven, zoals bij een analoog geheugen waarbij de nadruk ligt op de getrouwheid van opnemen, bewaren en weergeven. Bij een digitaal geheugen is vooral de betrouwbaarheid waarmee informatie wordt geschreven, bewaard en gelezen van belang. Tot het geheugen rekent men ook de apparatuur die nodig is voor het opnemen resp. schrijven en het weergeven resp. lezen. Analoge geheugens behoren tot de elektronica, digitale geheugens tot de digitale techniek. In het hierna volgende wordt met geheugen steeds een digitaal geheugen bedoeld.De term geheugen berust op de overeenkomst tussen het bewaren van informatie en het onthouden door de mens. Er bestaan echter grote verschillen tussen beide. Als in een technisch geheugen nieuwe informatie op een bepaalde plaats wordt geschreven, wordt de oude daar aanwezige informatie volledig vergeten (uitgewist). Het menselijke geheugen heeft verder de eigenschap veel gebruikte informatie sneller ter beschikking te stellen dan minder vaak gebezigde. Technisch kan dit gerealiseerd worden door geheugens met verschillende snelheden samen te bouwen tot een zgn. geheugenhiërarchie.

De kleinste informatie-eenheid is de bit. De capaciteit is de hoeveelheid informatie die het geheugen kan bevatten. Een geheugenelement dat slechts één bit kan bevatten is bijv. de flip-flop. Is de geheugencapaciteit groter dan de minimale informatiecapaciteit dan worden gewoonlijk meer bits als een groep (‘woord’) behandeld wat betreft lezen en schrijven. Een geheugen dat slechts één woord kan bevatten heet register. Kan een geheugen verscheidene woorden bevatten, dan wordt de plaats van een woord in het geheugen geïdentificeerd door een adres. Het aantal bits dat een geheugenplaats kan bevatten, heet woordlengte. Bij een vaste woordlengte heeft elke geheugenplaats een zelfde aantal bits, bij een variabele verschilt het aantal van plaats tot plaats. De woordlengte moet dan óf met het adres worden vermeld óf afgeleid kunnen worden uit extra informatie in de locatie zelf.

De informatie omtrent de lengte gaat dan aan het eigenlijke gegeven vooraf. De capaciteit van een geheugen met variabele woordlengte wordt opgegeven in woorden, vaak ook in bytes. Dit wordt mede bepaald door de adresresolutie, die aangeeft hoeveel bits men als een eenheid kan behandelen. Men onderscheidt byte- resp. woordresolutie (bitresolutie komt in de praktijk niet voor).

Bij geheugens met variabele woordlengte geeft men de capaciteit aan in bits. Bij een parallel geheugen worden de bits van een woord op hetzelfde moment gelezen of geschreven; bij een seriegeheugen gebeurt dit na elkaar. Een tussenvorm is het serie-parallelgeheugen.

De accestijd is de toegangstijd, de tijd die verloopt tussen het aanbieden van het adres en het beschikbaar komen van de daarop aanwezige informatie. Voor sommige geheugens is bij het lezen van verscheidene woorden achter elkaar een extra wachttijd nodig, die echter alleen geldt voor het ter beschikking komen van het eerste woord; de maximale snelheid waarmee opeenvolgende woorden gelezen of geschreven kunnen worden, heet transmissiesnelheid, uitgedrukt in woorden of tekens (‘characters’) per seconde. De tijd die nodig is voor de transmissie van één woord heet de cyclustijd.

Belangrijk voor een geheugensysteem is de prijs per bitpositie. Deze wordt bepaald door het toegepaste type geheugenelement of medium, het selectiemechanisme en de capaciteit van het geheugen. Aangezien het aantal bitposities gemakkelijk 106 of meer kan bedragen, is het duidelijk van hoeveel invloed deze prijs is. Een korte accestijd gaat gewoonlijk samen met een relatief hoge prijs per bit geheugenruimte, zodat de capaciteit van snelle geheugens om economische redenen vaak moet worden beperkt. Echter niet alle informatie wordt even frequent gebruikt en behoeft even snel beschikbaar te zijn. Een computer bijv. beschikt dan ook over een geheugenstructuur die samengesteld is uit:

1. Kleine snelle geheugens met een beperkte capaciteit, zoals flip-floppen en registers, bevatten o.a. besturingsinformatie, adressen, alsmede gegevens waarmee direct doorgewerkt kan worden. De accestijd ligt in de orde van nanoseconden. Een aantal registers kan gegroepeerd worden tot een zgn. lokaal geheugen.
2. Het hoofdgeheugen (werk- ofwel intern geheugen) bevat normaliter het in uitvoering zijnde programma. De capaciteit en de cyclustijd bepalen in grote mate de verwerkingssnelheid van de computer. Capaciteiten van duizend tot een half miljoen woorden met een cyclustijd van enige microseconden tot een fractie van een microseconde zijn gebruikelijk. Het IBM 3850-massageheugen (gekoppeld aan een schrijfgeheugen) kan 472 miljard bytes bevatten.
3. De hulpgeheugens (achtergrond- ofwel extern geheugens) hebben een grote capaciteit van enige miljoenen woorden, met een accestijd in de orde van milliseconden. Zij bevatten de programma’s die niet op dat moment in uitvoering zijn of niet onmiddellijk nodig zijn.

Een groot hoofdgeheugen is dikwijls modulair opgebouwd. De samenstellende delen (modulen) zijn op zich enkelvoudige geheugens, die op diverse wijzen kunnen worden samengevoegd. Bij een parallelle opbouw bevat iedere module een deel van een woord; de modulen zijn dan gelijktijdig actief bij het lezen of schrijven van een bepaald adres. Naar buiten toe gedraagt zo’n systeem zich dus als een enkelvoudig geheugen. Er zijn ook systemen waarbij op een bepaald tijdstip slechts één module actief is. Voor de adressering zijn er dan twee mogelijkheden: elke module verzorgt een kwadrant van het adresbereik, dan wel opvolgende adressen worden om de beurt aan de modulen toegekend (faseren of interleaving). Soms ook kunnen in de genoemde gevallen verscheidene modulen tegelijk actief zijn; wanneer in een computersysteem verschillende processoren tegelijk contact met het geheugen willen maken en ieder proces een andere module nodig heeft, kan dit een aanzienlijke verhoging van de snelheid betekenen.

In sommige computers is het hoofdgeheugen op een bijzondere manier gecombineerd met een ander geheugen. Hierbij doen zich twee mogelijkheden voor.

1. Het hoofdgeheugen is gecombineerd met een kleiner geheugen dat ca. 10 maal sneller is. Dit systeem heeft een gemiddelde accestijd die korter is dan die van het hoofdgeheugen. Het versnellingsgeheugen wordt buffer of cache genoemd.
2. Het hoofdgeheugen is gecombineerd met een groter geheugen zoals een magnetisch schijfgeheugen. Dit virtuele geheugensysteem heeft de vergroting van de capaciteit van het hoofdgeheugen ten doel, zodat grotere programma’s dan het hoofdgeheugen eigenlijk kan bevatten toch op een kleinere machine kunnen worden uitgevoerd; de virtuele geheugentechniek moet door speciale systeemprogrammatuur mogelijk worden gemaakt. Hierbij treedt slechts een gering snelheidsverlies op. Beide combinaties zijn zodanig dat de gebruiker wat de adressering betreft er niets van bemerkt; een dergelijke opbouw heet ook wel transparant.

Voor geheugens zijn verschillende organisatievormen mogelijk (afb. 2), die elk hun eigen manier van adresseren hebben. Te onderscheiden is positie- of inhoudadresseerbaarheid, al dan niet afhankelijk van een voorgaande selectie. Technisch levert dit aselecte en sequentiële geheugentypen. De aselecte zijn onder te verdelen in directe en associatieve geheugens. Bijzondere vormen van sequentiële geheugens zijn stapelgeheugens en geheugens met kettingadressering. Een direct geheugen is bijzonder geschikt voor het bewaren van programma’s gedurende hun executietijd, een stapelgeheugen biedt voordelen bij de behandeling van programmeertalen. Kettingadressering is gemakkelijk voor het invoegen en weglaten van gegevens in een bepaalde reeks. Daar directe geheugens het eenvoudigste te realiseren zijn komen deze het meeste voor.

De fysische verschijnselen waarvan men gebruik maakt voor het bewaren van informatie, vertonen óf vertraging óf hysteresis. Elke component waarvan de responsie op een ingangssignaal in de tijd vertraagd is, is door terugkoppeling van het uitgangssignaal naar de ingang toe te passen als geheugenelement. Nieuwe informatie wordt ingeschreven door de terugkoppelweg te onderbreken en een nieuw ingangssignaal toe te voeren. De opgeslagen bits verschijnen in serie aan de uitgang. Het lezen van de data vindt plaats door de uitgang te bemonsteren. De gemiddelde accestijd is de helft van de cyclustijd. Een voorbeeld van een geheugen volgens dit principe is de vertragingslijn.

Voor de opslag van informatie kan men ook hysteresisverschijnselen benutten. De meeste van deze verschijnselen zijn bistabiel en dus bijzonder geschikt voor het bewaren van binaire gegevens. Verschijnselen waarbij de toestandverandering niet omkeerbaar is, kunnen slechts eenmalig dienst doen, bijv. het ponsen van papierband. Voorbeelden van geheugens volgens het hysteresisprincipe zijn flip-flopgeheugens, magnetische ringkerngeheugens, geheugens met magnetische oppervlaktebeschrijving, microcircuits en geminiaturiseerde geheugenchips.

Uitwisseling van informatie, zoals lezen en schrijven, kost steeds energie; bij bewaren behoeft dat niet het geval te zijn. Op grond hiervan zijn geheugens onder te verdelen in permanente en vluchtige. Bij sommige vluchtige, verouderend genoemde geheugentypen moet de informatie periodiek herschreven worden. Bij de permanente geheugens wordt het medium tijdens het schrijven al of niet gebruikt. Wordt het verbruikt, dan spreekt men van destructief schrijven. Evenzo kan bij permanente geheugens het lezen al of niet destructief geschieden, in welk geval de term destructief betrekking heeft op het verdwijnen van de informatie in een geheugenplaats die gelezen wordt. Na destructief lezen moet de informatie op de desbetreffende geheugenplaats opnieuw gegenereerd worden, hetgeen de apparatuur automatisch doet.

Op grond van beweging van het medium ten opzichte van de schrijf/leesapparatuur, of van de informatie ten opzichte van het medium is onderscheid te maken tussen statische en dynamische geheugens. Bij de dynamische onderscheidt men cyclische, continue en discrete geheugens. In afb. 5 zijn voorbeelden van de diverse typen weergegeven. Tevens is aangeduid welke aselect en welke sequentieel zijn. Sommige geheugens kunnen alleen gelezen worden. De Engelse benaming hiervoor is read only memory (ROM) of read only storage (ROS). Een geheugen dat zowel gelezen als geschreven kan worden heet random acces memory (RAM).

Voorts zie Miniaturisering.

< >