Flip-flops
Een bit opslaan in het geheugen.
Last updated
Was this helpful?
Een bit opslaan in het geheugen.
Last updated
Was this helpful?
Er zijn veel manieren om digitale gegevens op te slaan of te onthouden. Je kent al de Hard Disk Drive (HDD) die magnetisch bits opslaat. Nadelen hiervan zijn dat gegevens opzoeken (relatief) lang duurt, de overdrachtssnelheid (relatief) laag is en er mechanische componenten in zitten die slijten. SSD's doen het met flash geheugen. Je hebt NOR en NAND flash geheugen. Daar zitten geen bewegende onderdelen in en je hebt ook een weinig vertraging bij het opzoeken van gegevens. Cellen in flash geheugen slijten wel na veelvuldig gebruik.
Naast permamente opslag is er ook het geheugen in je computer. Je kent het als RAM of Random Access Memory. De data hierin verdwijnt zodra de RAM-module geen stroom meer krijgt. Dit is een nadeel natuurlijk maar het grote voordeel hierbij is dat je heel snel data kunt uitlezen en veranderen.
In een CPU is weinig plek om gegevens op te slaan. Dus programmacode en data worden in het RAM opgeslagen waar ze snel opgezocht en weggeschreven kunnen worden. Wil je de gegevens blijvend bewaren zullen ze op een gegeven moment naar een permanente opslag geschreven moeten worden. Als gebruiker hoef je daar meestal niet over na te denken maar als programmeur weet je dat je data kwijt bent als je programma stopt en je het niet in een bestand hebt opgeslagen.
Maar hoe kun je (bijvoorbeeld in RAM) gegevens bewaren?
Een flip-flop is een digitale schakeling waarin je een bit aan informatie kunt bewaren. Er zijn heel veel soorten flip-flops, wij bekijken een SR NOR latch / flip-flop. Dat is een mond vol! SR staat voor Set en Reset en NOR betekent dat er twee NOR poorten zijn gebruikt om het circuit te maken. Bekijk hierover een plaatje.
Er zijn wat opvallende dingen te zien:
Er zijn twee uitvoeren uit deze schakeling, Q en 'niet Q'. Q geeft de waarde die opgeslagen is. Niet Q moet altijd de omgekeerde waarde van Q geven.
Uitvoer uit de NOR gates wordt weer als invoer gebruikt voor de andere gate.
Op basis van de 2 ingangen zijn er 4 mogelijke toestanden, waarvan 1 niet geldig is.
S (set)
R (reset)
Q
niet Q
Actie
1
0
1
0
zet Q op 1
0
0
Q
niet Q
waarde behouden
0
1
0
1
zet Q op 0
1
1
0
0
ongeldige toestand
Het komt er op neer dat we:
Door ingang S op 1 te zetten, maken we Q gelijk aan 1. We 'setten' dan de waarde 1 van Q. Als S daarna weer op 0 zetten blijft Q op 1!
Door ingang R op 1 te zetten, maken we Q gelijk aan 0. We 'resetten' dan de waarde 0 van Q. Als S daarna weer op 0 zetten blijft Q op 0!
Probeer het hier:
Bedenk dat een NOR gate de volgende waarheidstabel heeft:
A
B
X
0
0
1
1
0
0
0
1
0
1
1
0
Dit betekent dat de uitgang alleen gelijk is aan 1 als beide ingangen 0 zijn. Anders gezegd, zodra ingang A of B gelijk is aan 1, dat zal de uitgang X gelijk zijn aan 0.
Stel we hebben Q op 0, dan heb je de volgende situatie:
S is 0, en Q is 0, dus uitgang X is 1.
NOR 1 krijgt een 1 en een 0 binnen en staat dus op 0
Zetten we S op 1, dan
is uitgang X gelijk aan 0
ingang R is al 0 en de tweede ingang van NOR 1 is nu ook 0 dus uitgang Y en Q zijn dan 1.