Компютърни схеми
Глава 2. Регистри
2.1. Определения, класификация и основни понятия
Регистърът е операционна единица на компютър, която представлява редовен набор от елементи на паметта и комбинационни схеми, предназначени да извършват микрооперации за получаване, съхранение, преобразуване и издаване на цифров код, както и най-простите битови операции, операции върху цифров код и генериране на информативен сигнал за състоянието на регистъра. Регистрите са най-често срещаният тип последователни възли в съвременните цифрови системи [5-18]. Като елементи на паметта в регистрите се използват или статични елементи, като тригери от различен тип, или динамични елементи, като МДП-, ПЗС Структури и др.
Комбинационните схеми се изграждат въз основа на някаква логическа основа. Ако регистрите се изпълняват под формата на интегрална схема, тогава елементите на паметта и комбинационните схеми се изпълняват по една технология (TTL, TTLSh, CMOS, ESL, I 2 L и др.).
Прием - въвеждане на нови данни в регистъра (понякога наричан въвеждане, запис). Данните са числа, команди, контролни кодове и т.н. Вариант на приемането е операцията за задаване на началното състояние, извършена с помощта на един управляващ сигнал.
Съхранение - режимът на работа на регистъра, при който данните не се променят. За разлика от оперативните, постоянни и дългосрочни устройства за съхранение, краткосрочното съхранение (запаметяване) на данни се извършва в регистри, например за периода на изпълнение на един или няколко тактови цикъла (цикъла) на цялото устройство.
Преобразуването на цифров код е една от микрооперациите (опера-
• преместване на данни с една или повече цифри;
• преобразуване на паралелен код в последователен и обратно;
• организация на закъснения във времето;
• извършване на побитови операции NOT, AND, OR, сума по модул 2, еквивалентност и др .;
• преобразуване на кодове (например директен код на подписан номер в допълващ код и др.);
• умножение и деление на двоичен многочлен с двоичен полином;
• генериране на различни кодове и др. и така нататък.
Конкретни схеми на регистър могат да изпълняват само някои от тези операции. В общия случай трансформацията означава не само изброените операции, но и управление на процеса, използвайки последователност от сигнали в резултат на извършване на съответните операции върху кодовете.
Издаване на цифров код - извеждане на данни от регистър за прехвърляне към други възли на цифрово устройство (понякога наричано операция за четене или просто четене).
Битовата ширина на n регистъра по правило съвпада (или се определя) с битовата ширина на обработвания цифров код.
Състояние на регистъра - специфична стойност на цифров код, фиксиран в n елемента от регистърната памет.
Информативен сигнал е сигнал, който развива връзки от типа "по-малко", "равно", "повече" върху състоянието на регистъра; сигнал за проверка на знака на число, на нула и т.н.
Регистрите са класифицирани според различни критерии [15]:
Според методите за получаване и издаване на данни регистрите се разделят на паралелни (статични или регистри на паметта), последователни, паралелно-серийни, серийно-паралелни, комбинирани (универсални, многофункционални).
В паралелни регистри се извършва едновременно получаване и издаване на кодове за всички цифри; основната им функция е съхранението на думи. Те могат също да извършват побитови операции над думи.
В последователните регистри думите се получават и издават последователно бит по бит, те се наричат изместване (shift), тъй като синхронизиращите сигнали преместват думата в битовата мрежа.
В посока на трансфери или прехвърляне на данни регистрите подразделят-
еднопосочна, когато данните се изместват само наляво или само надясно (преместването на данни от битове от висок ред към битове от нисък ред се нарича дясна смяна или дясна смяна; преместване на данни от битове от нисък ред към високи- битове за нареждане се нарича лява смяна или лява смяна) и обратима, когато изместването на данни може да се извърши във всяка посока (в зависимост от контролния сигнал).
В паралелно-серийните регистри приемането на данни се извършва в паралелен код, а извеждането на данни - в сериен код. В серийно-паралелните регистри приемането на данни се извършва в сериен код, а извеждането на данни - в паралелен код. В комбинираните регистри получаването и издаването на данни се извършва с различни комбинации от горните методи.