Verteller: In deze
les gaan we het hebben over willekeurig toegankelijk
geheugen, kortweg geheugen in je systeem genoemd,
en hoe we dat geheugen aanspreken.
Voordat we het hebben over hoe we het geheugen kunnen aanspreken,
moeten we eerst beter begrijpen
wat geheugen is en wat
het voor ons doet in ons computersysteem.
Toen we eerder over processors spraken, hadden
we het over het feit dat de processor alle
berekeningen uitvoert, maar dat hij
een plaats moet hebben om gegevens en instructies
op te slaan voordat hij
die berekeningen uitvoert.
In de processor zelf bevindt
zich een zeer snel geheugen, bekend
als een cache.
Deze cache is een zeer kleine hoeveelheid
ruimte, maar het is extreem snel.
Wanneer je cache ruimte op is, is het volgende
type geheugen in je systeem wat we willekeurig
toegankelijk geheugen noemen, of systeemgeheugen.
Dit geheugen is nog steeds snel,
maar lang niet zo snel als dat cachegeheugen.
Wat er uiteindelijk gebeurt, is dat de processor
eerst het cachegeheugen gebruikt en terwijl het de
gegevens uit dat cachegeheugen gebruikt, wordt er nieuwe informatie
van het systeemgeheugen naar het cachegeheugen verplaatst.
En het blijft bewegen als een pijplijnproces, dat
van het systeemgeheugen naar de cache gaat
en vervolgens wordt verwerkt en uitgevoerd
met behulp van de CPU.
Naast dit systeemgeheugen hebben
we ook iets dat bekend staat als opslag.
En opslag is dingen zoals harde schijven,
USB-sticks, CD-ROM's en DVD's en dat
soort dingen.
Deze apparaten voor massaopslag
kunnen veel meer gegevens opslaan
dan het geheugen, maar
ze zijn veel trager.
Dus als ik een nieuwe PowerPoint op mijn systeem wil laden, wordt deze meestal
opgeslagen op mijn harde schijf, wat een
apparaat voor massaopslag is.
Als ik tegen mijn computer
zeg dat ik dat wil lezen,
stuurt de processor een signaal naar de
harde schijf en zegt:
waar zijn die gegevens?
Die gegevens gaan dan van de harde schijf naar
het systeemgeheugen.
En vanuit het systeemgeheugen
kunnen kleine stukjes daarvan
naar de cache worden gebracht en daar
door de processor worden bewerkt.
Zo werkt dit allemaal
samen in je systeem.
Dus ik wil dat je dit in gedachten houdt als je nadenkt
over de verschillende plaatsen waar gegevens
worden opgeslagen in het systeem.
We hebben apparaten voor massaopslag,
die meer een permanente opslagruimte zijn.
Wanneer u de computer uitschakelt,
blijven de gegevens op deze massaopslagapparaten
bewaard.
Maar dan hebben we ook nog dit tijdelijke opslaggebied
genaamd RAM, of systeemgeheugen, en dit is
een gebied dat wordt
beschouwd als niet-persistente opslag, want
als je de computer uitschakelt,
gaat alles in het RAM verloren.
Dus, terwijl we met verschillende bestanden
werken, gaan we ze tijdelijk in RAM plaatsen, op die manier
kunnen we er op een veel snellere manier mee werken en
als we er klaar mee zijn, worden
ze terug opgeslagen op de harde schijf,
dat is het permanente opslagapparaat.
Dus, als je denkt aan systeemgeheugen
of willekeurig toegankelijk geheugen,
bekend als RAM, is dit
een dynamisch en constant veranderend gebied, en het werkt
erg snel in vergelijking met onze
apparaten voor massaopslag, zoals harde
schijven en cd-roms.
Om je een idee te geven van hoe dit er in
de fysieke wereld uitziet,
kun je denken aan je kantoor.
In je kantoor heb je een bureau en
in je bureau heb je maar zoveel ruimte, maar
als dingen op je bureau liggen,
kun je er snel bij omdat
ze al in de open lucht liggen
en je ze kunt aanraken.
Naast de drie of vier dossiers die misschien
open op je bureau liggen, heb je waarschijnlijk ook
honderden dossiers in
een archiefkast.
Nu is die archiefkast
meer als je harde schijf, het
is je massaopslagapparaat, terwijl
je bureaublad meer als je RAM is.
Dus als dingen in het RAM staan,
zijn ze gemakkelijker
en sneller toegankelijk
en kun je er op dat moment mee werken.
Maar als je er klaar mee bent,
moet je dat bestand opvouwen en opbergen in
de archiefkast, zodat het er is als
je het over een week, of over twee weken, of
over een jaar nodig hebt, en dat maakt meer
ruimte vrij op je bureaublad zodat je andere bestanden
kunt pakken en daarmee kunt
werken.
Dat is precies waar RAM voor wordt gebruikt,
het is deze tijdelijke ruimte die
voortdurend verandert en evolueert.
Dus omdat onze apparaten voor massaopslag zo traag zijn,
willen we vaak meer dingen in RAM zetten, maar
RAM is beperkt.
Als we kijken naar je harde schijf,
dan heb je misschien een 500 gigabyte,
of een-terabyte, of zelfs vier-terabyte massaopslagapparaat, maar als
je kijkt naar je geheugen, dan heb
je misschien acht gigabyte, of
16 gigabyte, of, als je geluk hebt, misschien
zelfs 32 gigabyte aan ruimte.
Dit betekent dat je veel, veel
minder RAM beschikbaar hebt dan op een harde schijf.
Het geheugen werkt dus
als een schijfcache.
Op deze manier kunnen we bestanden van de schijf naar
het geheugen halen, eraan werken
en ze terugplaatsen op
het apparaat voor massaopslag
als we klaar zijn.
Hierdoor kan het RAM fungeren als een snellere tijdelijke opslagruimte
voor die recent gebruikte en veelgebruikte stukken data
van die harde schijf, zodat
we sneller kunnen werken.
Dit komt omdat RAM in staat
is om heel snel gegevens op te zoeken, terwijl
een traditionele harde
schijf de schijf moet ronddraaien
tot het het juiste onderdeel
heeft gevonden en er dan de gegevens
af moet halen, wat veel langzamer
gaat.
We noemen dit een mechanisch systeem, terwijl
wanneer we RAM gebruiken,
we een elektronisch systeem gebruiken
dat toegang heeft tot elk stuk van dat RAM
met een bijna ogenblikkelijke snelheid.
Dit komt omdat RAM wordt beschouwd
als een solid state-apparaat
en er geen buitensporige laadtijden
zijn, zoals bij mechanische apparaten
zoals een harde schijf,
DVD, CD of zelfs Blu-ray disc.
Dit betekent dat we heel snel kunnen werken in termen
van nanoseconden, wat neerkomt
op miljarden seconden, terwijl je harde schijf
en andere magnetische media als heel langzaam
worden beschouwd en in de duizenden
seconden werken, wat bekend staat als milliseconden.
Je kunt dus zien dat er een enorm snelheidsverschil
is, en daarom willen we onze bestanden in RAM plaatsen
terwijl we eraan werken.
Dus, als technicus zul
je merken dat een
van de meest voorkomende dingen die
je gaat doen bij het upgraden
van een systeem, het upgraden van
het RAM is, van vier gigabyte naar
acht gigabyte, of
van acht gigabyte naar 16 gigabyte, of
van 16 gigabyte naar 32 gigabyte.
Door de hoeveelheid RAM te verhogen,
kun je je systeem serieus versnellen, omdat je
de barrière wegneemt van het moeten
lezen en schrijven van evenveel gegevens
van de harde schijf, door meer
bestanden open te kunnen hebben en meer werk
te kunnen doen op elk gegeven moment.
Goed, nu we de basisprincipes
van RAM hebben behandeld en hebben
uitgelegd waarom we dit systeemgeheugen moeten gebruiken
in plaats van voor alles te vertrouwen op onze harde schijf,
is het belangrijk om te praten over de beperkingen van RAM, gebaseerd
op de adressering.
Wanneer de processor in
het RAM moet reiken om iets te pakken, staat dit
bekend als het aanspreken van het geheugen.
Dit komt omdat binnen dat RAM en die
opslag die het heeft, elk een ander
uniek adres heeft en dat is hoe we verwijzen
naar het stuk data dat is opgeslagen
in dat specifieke stuk RAM.
Tussen de processor of
CPU en het geheugen bevindt zich
een zogenaamde geheugencontroller en tussen
de geheugencontroller en
de processor bevindt
zich een bus.
Een bus is eenvoudigweg een manier om gegevens
over te dragen.
En die geheugencontroller
is bijna als een verkeersagent die het
verkeer regelt en de CPU en processor vertelt hoe ze toegang moeten
krijgen tot verschillende delen van het geheugen.
Als je nu naar de bus kijkt, zie
je dat er eigenlijk twee delen van de bus zijn.
Er is een pad dat wordt gebruikt voor
gegevens en om informatie te verzenden en te
ontvangen, en dan is er ook nog een adrespad
dat ons helpt te bepalen waar in het geheugen
die gegevens zich bevinden.
Dus als je kijkt naar de breedte van het datapad
of de databus, dan bepaalt
dit hoeveel informatie er per
klokcyclus kan worden overgebracht.
Als je éénkanaals geheugencontrollers gebruikt,
is je databus meestal 64 bits breed, en dit is het geval
op de meeste moderne computers.
Als we nu kijken
naar de adresbus, dan is
daar ook een breedte aan verbonden
en die kan 32 bit of 64 bit zijn.
Dit wordt bepaald door het aantal locaties dat de
CPU kan bijhouden en de gegevens
kan benaderen door ze op de juiste
manier te adresseren.
Als je een 32-bits CPU gebruikt, of
een x86-gebaseerde CPU, kun je alleen
een 32-bits adres gebruiken om gegevens
te benaderen via die geheugenbus.
Hierdoor heb je
ongeveer 4 miljard items die geadresseerd kunnen worden,
wat bekend staat als vier gigabyte aan gegevens, dit
komt omdat je twee tot de 32e bit beschikbaar hebt om die
informatie te kunnen adresseren.
Als je daarentegen een 64-bits
CPU gebruikt,
heb je twee tot de 64 mogelijke adreslocaties,
wat neerkomt op
ruwweg 184 quintiljoen mogelijke opties.
In termen van geheugen
noemen we dit 16 exabytes en dit betekent dat we veel
gegevens kunnen adresseren als we een
64-bits processor gebruiken.
De meeste van onze systemen
zullen tegenwoordig geen 16 exabytes RAM gebruiken,
omdat dat onbetaalbaar duur zou zijn en
er op de meeste moederborden niet echt genoeg
ruimte is om zoveel geheugen aan te sluiten,
maar dit is onze bovengrens.
Het belangrijkste
is dat als je een x86, of 32-bits processor
gebruikt, je maximaal vier gigabyte
geheugen kunt adresseren,
en dit is een enorme beperking voor moderne computers, omdat de meeste moderne besturingssystemen minimaal vier
gigabyte RAM nodig hebben om voldoende te kunnen
werken.
Aan de andere kant,
als je een 64-bits processor
of x64 architectuur gebruikt, betekent
dit dat je toegang hebt tot meer dan vier gigabyte RAM
tegelijk, en daarom
zie je dit gebruikt in systemen
die 8, 16, 32 of 64 gigabyte RAM hebben,
omdat ze toegang hebben tot al dat
RAM, wat ze veel betere prestaties geeft.
Dit is nog een reden waarom
je voor de meeste moderne computers en toepassingen
een 64-bits processor wilt kiezen
in plaats van een 32-bits processor.