Померачки регистар

У дигиталним колима, померачки регистар је каскада флип флопа, која дели исти клок (цлоцк), у којој је излаз сваког флип-флопа повезан са "дата" улазом на следећи флип-флоп у ланцу, што доводи до кола које помера за једну позицију низ бајтова ускладиштебиг у њему, померање у (схифтинг ин) податке представљене као улаз и померање из (схифтинг оут) последњег бита у низу, у сваком прелазу на клок (цлоцк) улаз. Уопштено, померачки регистар може бити више димензионалан, такав да његове "дата ин" (подаци у) и фазни излази су сами битови низова: то се једноставно спроводи покретањем неколико померачких регистра са истом дужином битова, паралелно. Постоје врсте које садрже и серијски и паралелни улаз и врсте са серијским и паралелним излазом. Ту су и двосмерни (би-дирецтионал) померачки регистри који омогућавају померање у оба смера: Л→Р или Р→Л. Серијски улаз и последњи излаз померачког регистра, могу да се повежу тако да праве кружни померачки регистар (цирцулар схифт регистер).

Сериал-ин, сериал-оут (СИСО) уреди

Деструктивно очитавање уреди

0 0 0 0
1 0 0 0
0 1 0 0
1 0 1 0
1 1 0 1
0 1 1 0
0 0 1 1
0 0 0 1
0 0 0 0

Ово је најједноставнија врста померачког регистара. Низ података је приказан на " Дата ин " и помера се удесно за по једну фазу сваки пут када 'Дата Адванце' на високом логичком нивоу. Бит на крајње левој страни (тј. 'Дата Ин') је померен на први флип-флоп излаз. Бит на крајње десној страни (тј. 'Дата Оут') је померен напоље и губи се(изгубљен је).

Подаци се чувају након сваког флип-флопа на 'Q' излазу, тако да постоје четири 'слота' за складиштење на располагању у овом аранжману , стога то је 4-битни регистар. Да би схватили померачке обрасце, замислите да регистар садржи 0000 (дакле, сва места за одлагање су празна). 'Дата Ин' представља 1,0,1,1,0,0,0,0 (тим редоследом , са импулсом на 'Дата Адванце' сваки пут - то се зове цлоцкинг или стробинг) у регистар, то је резултат. Лева колона одговара крајње левом излазном пину флип-флопа, и тако даље. Такође, у сваком тренутку, цео регистар може да се подеси на нулу тако што се ресетују(Р) високи пинови.

Овај аранжман врши деструктивно очитавање - сваки податак који је једном изгубљен треба да се помери до(схифтед оут) крајње десног бита.

Серијски улаз, паралелни излаз енгл. Serial-in, parallel-out; (СИПО) уреди

 

Ова конфигурација омогућава конверзију из серијског у паралелни формат. Шаблон:Дата; (податак) је серијски улаз, као што је описано у СИСО одељку изнад. Када су подаци једном уписани, могу се очитати на сваком излазу истовремено, или може бити померено ван (енгл. shifted out) и замењено.

У случајевима где паралелни излази не би требало да се мењају током процеса серијског пуњења, пожељно је користити закључан излаз. У закључаном померачком регистру (као што је 74595) серијски податак (сериал дате) се прво учитава у унутрашњи померачки регистар, затим по пријему учитаних сигнала, стање померачког регистра се копира у скуп излазних регистара.


Паралелни улаз, Серијски излаз енгл. Parallel-in, Serial-out; (ПИСО) уреди

Ова конфигурација има унос података на линијама Д1 кроз Д4 у паралелном формату. За писање података у регистар, Пиши/Помери контролна линија мора се одржавати на енгл. LOW;. За пребацивање податка, Пиши/Помери контролна линија доноси енгл. HIGH;, а регистри су клоковани. Аранжман сада делује као СИСО померачки регистар, са Д1 као Шаблон:Дата Инпут; (улазни подаци). Међутим, све док број циклуса није већи од дужине података-текст(дата-стринг), изназни податак (Дата Оутпут), Q, ће бити очитани као паралелни подаци.

 
4-битни ПИСО померачки регистар

Анимација приказује Пиши/Помери секвенцу, укључујући и унутрашње стање померачког регистра.

 

Употреба уреди

Једна од најчешћих употреба померачког регистра је за конверзију између серијских и паралелних интерфејса. Ово је корисно за рад на колима која раде на групама битова паралелно, али серијски интерфејс је једноставније конструисати. Померачки регистри се могу користити као једноставна делаy(одлагање) кола. Неколико двосмерних померачких регистра (би-дирецтионал схифт регистерс), могу бити паралелно повезани за хардверску имплементацију стека.

СИПО регистри су обично везани за излаз микропроцесора када је више пинова опсте намене Улаз/Излаз (I/О) потребно, него што је на располагању. Ово омогућава да се неколико бинарних уређаја контролише помоћу само два или три пина, али спорије него паралелни I/О-уређаји повезани са паралелним излазима померачког регистра, затим жељено стање свих ових уређаја може бити послато од микропроцесора коришћењем једноструке сериал цоннецтион(серијске везе). Слично томе, ПИСО конфигурација се обично користи да дода још бинарних улаза на микропроцесор него што је слободно (доступни) - сваки бинарни улаз (тј. дугме или компликованије коло) је прикључено на паралелни улаз померачког регистра, тада се подаци шаљу назад серијски до микропроцесора, користећи мањи број редова него што је првобитно било потребно.

Померачки регистри се такође могу користити као импулсни продужеци (пулсе еxтендерс). У поређењу са моностабле 'мултивибраторс', тајминг не зависи од саставних вредности, међутим, то захтева екстерни цлоцки и тачност тајминга је ограничена због разуђености овог цлоцк-а.

У раним рачунарима, померачки регистри су коришћени за руковање обрадом података: два броја која треба додати су ускладиштени у два померачка регистра и истекло време у аритметичко и логичку јединицу (АЛУ ) са резултатом који је прослеђен назад на улаз једног од померачког регистра (акумулатор) који је био један бит дужи јер бинарни сабирач може само довести до одговора који је исте величине или један бит дужи .

Многи рачунарски језици укључују упутства за 'помери десно' и 'помери лево' податке у регистар, ефективно делећи два или множећи са два за свако место које је померено. Веома велики серијски улаз, серијски излаз померачки регистри (хиљаде битова у величини ) коришћени су на сличан начин у ранији, меморијама за одлагање, у неким уређајима који су изграђени раних 1970-их . Таква сећања су понекад називана кружна меморија.[1]

Историја уреди

Један од првих познатих примера покретачког регистра био је Колос, машина за дешифровање порука из 1940-е године.[2] Колос је користио вакуумске цеви (термоелектронске цеви), тиратроне. Померачки регистар је такође био коришћен у ИАС машини, изграђен од стране Џон фон Нојман-а и других са енгл. Institute for Advanced Study;, u kasnim 1940-im.

Reference уреди

  1. ^ bitsavers.org, DataPoint 3300 Maintenance Manual, December 1976.
  2. ^ Flowers, Thomas H. (1983), „The Design of Colossus”, Annals of the History of Computing, 5 (3): 246, doi:10.1109/MAHC.1983.10079