Bronvermelding: https://jeweka.nl/category/theorie-en-werkboeken Module 5, Hoofdstuk 8, Paragraaf 8.5 Blz 283-289

De logische operatoren of elementaire logische schakelingen komen we als hardware tegen in de zogenaamde geïntegreerde schakelingen. Geïntegreerde schakelingen kunnen we beschouwen als kleine elektronische modules waarin bepaalde logische functies zijn ondergebracht. Zo zijn er ook Registers, lees hier hoe deze werken!

Schuif Registers Schakelingen

In computers en andere digitale systemen worden veel registers gebruikt voor het bewaren van binaire gegevens, bestaande uit een rij nullen en enen. Een register is tijdelijke opslagplaats voor data en kan worden opgebouwd uit een reeks flipflops.

Wanneer er informatie in en uit het register moet worden geschoven, spreken van een schuifregister (shift register). In een register wordt elk bit in één geheugenelement flipflop opgeslagen. Data kunnen bit-voor-bit (serieel) of tegelijkertijd (parallel) worden aangeboden. In dit register worden D-flipflops toegepast.

Voorbeeld Schuifregisterschakelingen

Wanneer de binaire code 1011 moet worden opgeslagen is een 4-bits register nodig. Deze kunnen we samenstellen uit een reeks van 4 flipflops, waarbij de data altijd in volgorde van MSB naar LSB worden opgeslagen.

Met een schuifregisters kunnen meer bits tegelijk verwerkt worden. Voor het bewaren van ‘n’ bits in een register is dan ook een ‘n’-bits-register nodig. Hier voor moeten de flipflops volgens de kop-aan-staartmethode met elkaar worden verbonden.

Op de achterflank van een klokpuls zal elke flipflop in de reeks, met uitzondering van de eerste flipflop, de data overnemen van de flipflop aan zijn linkerzijde. In de digitale techniek wordt veel gebruik gemaak van de volgende schuifregisters:

  • Serie Input met Serie Output (SISO);
  • Serie Input met Parallel Output (SIPO);
  • Parallel Input met Serie Output (PISO);
  • Parallel Input met Parallel Output (PIPO).

Serie Input en Serie Output (SISO) Registers

Wanneer data serieel worden ingelezen, neemt flipflop 0 de ingangsinformatie op commando van de klokpuls over. Bij de volgende klokpuls neemt flipflop 0 de nieuw aangeboden data over en neemt flipflop 1 de data van flipflop 0 over enzovoort.

De data schuiven op commando van de klokpuls van links naam rechts door de schakeling en komen bij uitgang Q, er weer uit. De andere uit gangen van de voorliggende flipflops blijven dan buiten gebruik. Deze methode heeft het voordeel dat data over één lijn kunnen worden getransporteerd maar is veel trager dan een parallel geladen register.

Registers SISO voor een 8 bits schuifregister

Voorbeeld

We willen in een SISO-schuifregister de 4 bits code ‘1010’ laden. Dit kunnen we realiseren met behulp van vier D-flipflops. Door sturing van de klokpulsen zullen deze 4 de bits stapsgewijs in de flipflops geladen worden. Hiervoor zijn 4 klokpulsen nodig.

Voorbeeld

We willen in een SISO-schuifregister de 4 bits code ‘1010’ ontladen en beschik baar maken op de seriële uitgang. De opvolgende klokpulsen schuiven in dit geval het register in vier stappen leeg. Aan de D-ingang worden nu alleen “0” bits aangeboden.

Wist je dat….

een SISO eigelijk een serieel doorschuifregister is? Door het ’timen’ van de klok puls kunnen we hierbij het exacte doorschuifmoment instellen. Op deze manier kunnen we ook een vaste tijdvertraging (time delay) inbouwen).

Serie Input en Parallel Output (SIPO) Registers

Ook een schuifregister voor Serie Input en Parallel Output (SIPO) kan worden opgebouwd uit een reeks opvolgend geschakelde D flipflops. Hierbij wordt het register serieel geladen door de data stapsgewijs van flipflop naar flipflop door te schuiven.

Is het register geladen, dan kan deze parallel worden uitgelezen. Hiervoor zal elke flipflop een opvolgend parallel bit op zijn uitgang beschikbaar stellen. Een SIPO-register wordt onder andere in de praktijk gebruikt om seriële data parallel aan te bieden aan een microprocessor.

Logische Symbool SIPO schuifregister

Voorbeeld

We willen in een SIPO-schuifregister de 4 bits code ‘0110’ laden en parallel aanbieden. Dit kunnen we realiseren door vier D flipflops te laden en vervolgens parallel uit te lezen.

Serieel geladen en parallel out Registers

Wist je dat…

het voordeel van een SIPO-register is dat de data over slechts één enkele draad kunnen worden aangevoerd? Door het stapsgewijze laden is het SIPO-register wel relatief traag..

Parallel Input en Serie Output (PISO) Registers

Een schuifregister voor Parallel Input en Serie Output (SIPO) bestaat ook uit een reeks opvolgend geschakelde D flipflops. Voor de aansturing van het laden en ontladen wordt gebruiktgemaakt van AND- en OR-poorten (zie afbeelding 8.46). Met de SHIFT/LOAD-data aansturing wordt het laden of doorschuiven geselecteerd.

Voor het laden zijn de poorten G₁, G₂ en G, geactiveerd, zodat de data op de D ingangen van de flipflops worden geladen. Na het laden wordt de doorschuifmode via G4, G5 en G, actief worden. Hierbij worden de data onder invloed van de klokpuls door het register geschoven naar de seriële uitgang.

Registers, 4 bits data in en serial data out
4-bits PISO Schuifregister

Parallel Input en Parallel Output (PIPO) Registes

4-bits PIPO schuifregister

Ook een schuifregister voor Parallel Input en Parallel Output PO) kan worden samengesteld uit een reeks opeenvolgende geschakelde D flipflops (zie afbeelding hierboven). De werking is eenvoudig, waarbij tijdens iedere klokpuls parallel data worden geladen en vervolgens parallel worden aangeboden aan de uit gangen van de flipflops.

Een PIPO wordt in de praktijk ook wel gebruikt als een paralleldata selector. Pas op het moment van een klokpuls worden nieuwe data beschikbaar gesteld op de uitgang ten behoeve van verdere verwerking. Het Kloksignaal is hierbij geen pulserend ritme maar een stuurpuls (enable puls).

Overige Schuif Registers

Er zijn ook schuifregister die gebruikt worden om data in te verschuiven. Wanneer dit verschuiven in twee richtingen kan plaatsvinden spreken we ook wel over een ‘bidirectional shift register’. Op deze manier is het mogelijk om met schuifregisters rekenkundige bewerkingen uit te voeren.

Zo kan door een parallel geladen bitreeks één stap naar rechts schuiven de betreffende data door 2 worden gedeeld, naar links schuiven is dan vermenigvuldigen met 2.

Data Registers mogelijk van SIPO t/m PIPO

Wanneer het leessignaal “1” is, dan kan via de bovenste 4 AND-poorten data van de Q-uitgangen worden uitgelezen. Het schrijfsignaal bepaalt wanneer data via de P-ingangen (Presets) aan het register kunnen worden aangeboden. Deze ingang is een asynchrone ingang en heeft

dus prioriteit boven de normale D-ingang. Het schrijf- en leessignaal kunnen nooit beide “1” zijn. De afbeelding Hierboven is een compleet register weergegeven met daarin alle mogelijkheden van de hiervoor genoemde registers. Er bestaan nog veel meer bijzondere schuifregister met elk hun eigen toepassing. Het valt buiten dit artikel om deze schuifregisters in het geheel te behandelen.

Bronvermelding: https://jeweka.nl/category/theorie-en-werkboeken Module 5, Hoofdstuk 8, Paragraaf 8.5 Blz 283-289

Geef een reactie

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.