Shift regiszter

A Wikipédiából, a szabad enciklopédiából

A shift regiszter (léptető regiszter) egy digitális áramkör, mely flip-flopok kaszkád kapcsolásából jön létre.

A flip-flop 1 bit tárolására alkalmas kétállapotú billenőkör. A kaszkádba kapcsolt flip-flop áramkörök közös órajellel (léptető jel) rendelkeznek, az első flip-flop bemenetére adott jel (bit érték) minden órajel hatására továbblép egy pozicíóval, mely úgy valósul meg, hogy az egyik flip-flop kimenete a következő bemenete.

A shift regiszterekből bit hálózat is kiépíthető, ha több hasonló hosszúságú shift regisztert építünk párhuzamosan egy hálózattá. A shift regisztereknek lehetnek soros vagy parallel be- illetve kimenetük, ezek vegyesen is előfordulhatnak. A shift regiszter lehet egyirányú vagy kétírányú (előre – hátra), valamint önmagában visszacsatolt.

A shift regiszter lehet minimum kétfokozatú (2 bites), vagy több fokozatú, (n-bites), ahol n tetszőleges pozitív egész szám, de végtelen nem lehet, mert annak nincs értelme.

Történet[szerkesztés | forrásszöveg szerkesztése]

Az első ismert shift regiszter a Colossus nevű korai számítógépben építették fel a 40-es évek elején. A Colossus egy kódfeltörő gép volt a II. világháború alatt az angol elhárítás kezelésében. A számítógép elektroncsövekből épült fel, a benne található shift regiszter öt fokozatú (5 bites) volt.

Shift regiszter fajták[szerkesztés | forrásszöveg szerkesztése]

SISO[szerkesztés | forrásszöveg szerkesztése]

A SISO (Serial-in, serial-out), „soros-bemenet, soros kimenet” működésű shift regiszter.

A kaszkádba kapcsolt flip-flopok első fokozatára érkező jel (1 bit), minden továbbléptető órajel hatására egy fokozattal jobbra lép. Az utolsó flip-flop kimenete után a jel elveszik.

Egy négyfokozatú (4 bites) shift regiszter belső állapotai, minden egyes léptetés után, ha bemenetre 1 értékű bit kerül az első órajel előtt és utána 0 bit értékű jel következik:

0000,1000, 0100, 0010, 0001, 0000

Egy négyfokozatú (4 bites) shift regiszter belső állapotai, minden egyes léptetés után, ha bemenetre állandóan 1 értékű bit kerül:

0000,1000, 1100, 1110, 1111

A shift regiszter kimenetére a negyedik léptetés (órajel) után kerül ki a bemenetre adott eredeti jel. Így ez a konfiguráció késleltetésnek is használható, a bemeneti jel négy órajel múlva jelenik meg a kimeneten.

SIPO[szerkesztés | forrásszöveg szerkesztése]

A SIPO (Serial-in, parallel-out), „soros-bemenet, parallel kimenet” működésű shift regiszter. Ez a konfiguráció lehetővé teszi a soros-párhuzamos átalakítást.

4 bites SIPO

PISO[szerkesztés | forrásszöveg szerkesztése]

A PISO (Parallel -in, Serial-out), „parallel-bemenet, soros kimenet” működésű shift regiszter. Ez a konfiguráció lehetővé teszi a párhuzamos-soros átalakítást is. Az ábrán látható konfiguráció egy négy elemes (4 bites) PISO shift regisztert mutat be. A bemenetek a D1 – D4. A shift regisztert négy D-flip-flop alkotja, a léptetés az órajel (clock) pozitív felfutó élére történik. A shift regiszter kimenete az utolsó D flip-flop Q kimenete.

4 bites PISO

Az animáció egy 4 bites PISO típusú shift regiszter működését (belső állapotait) mutatja. A működés lépései: a flip-flopok törlése (clear), parallel beírás a tárolókba (write), eltolás (shift).

4 bites PISO

Gyűrűs számláló[szerkesztés | forrásszöveg szerkesztése]

A gyűrűs számláló egy visszacsatolt shift regiszter, ahol a shift regiszter kimenete vissza van csatolva a bemenetre.[1]

Ilyen az úgynevezett Jonhson számláló is.

A gyűrűs számlálókban a fokozattól függően állandóan ismétlődik egy bitminta (pattern), amíg az órajel működik. A gyűrűs számlálóknál is lehet egy állandó vagy változó soros bemenet, vagy egy parallel minta beírás.

Felhasználás[szerkesztés | forrásszöveg szerkesztése]

A shift regiszterek egyik általános felhasználási területe a soros-párhuzamos átalakítás. Erre sok esetben szükség van, mert a jelek soros átvitele egyszerűbb, majd az átvitel után az eredeti byte forma kerül visszállításra. A shift regiszterekkel kapacitás és induktivitás nélküli késleltető áramkörök alakíthatók ki.

A kétirányú shift regiszterekkel verem(stack) áramkörök alakíthatók ki. A SIPO regisztereket általánosan használják mikroprocesszorok kimenetén, amikor több kimeneti lábra van szükség, mint amennyi rendelkezésre áll. Ez lehetővé teszi több bináris eszköz vezérlését.

Hasonló módon a PISO regisztert általánosan alkalmazzák akkor, amikor a mikroprocesszornak több parallel bemenetre lenne szüksége, mint ahogy azt a tokozás megengedi. A különféle bináris kimenetek a PISO bemenetére kapcsolódnak, majd a megfelelő biteket beléptetik sorosan a mikroprocesszorba.

Shift regiszterek alkalmasak egy impulzus kiszélesítésére is. Itt az impulzus időzítése nem függ analóg elemektől, csupán az órajel pontosságától. A korai számítógépekben a shift regiszter az adatfeldolgozó egység része volt. Az aritmetikai-logikai egységben (ALU) a bináris műveleteknél használták.

A korai számítógépekben késleltető vonalas memóriának használták, ahol a bementre adott jelet a megfelelő eltolás (késleltetés) után visszacsatolták a bemenetre. A mai számítógépekben ez a frissíthető memória.

Kapcsolódó szócikkek[szerkesztés | forrásszöveg szerkesztése]

Források[szerkesztés | forrásszöveg szerkesztése]