Регистром называется типовое вычислительное устройство, предназначенное для запоминания информационных слов и простейших их преобразований.
Регистр состоит из запоминающих элементов - триггеров, количество которых соответствует количеству разрядов в слове, и вспомогательных логических схем, обеспечивающих выполнение некоторых операций.
Типовые операции, выполняемые регистрами:
· Установка регистра (то есть всех его разрядов) в 0 - "СБРОС".
· Прием слова информации из другого операционного устройства (регистра, сумматора и т.д.) или передача слова в другой регистр. Передачу слова можно осуществлять параллельно или последовательно. При последовательной передаче все разряды информационного слова передаются последовательно во времени один за другим по одной цепи; при параллельной передаче слова все его разряды передаются одновременно, каждый по своей цепи. Говорят, что слово передается в последовательном коде или в параллельном коде.
· Преобразование последовательного кода в параллельный или обратно.
· Преобразование прямого кода числа в дополнительный или обратный код и наоборот.
· Сдвиг слова влево или вправо на нужное число разрядов.
· Поразрядные логические операции.
Регистры могут быть как универсальными, так и рассчитанными на выполнение каких-либо отдельных операций из перечисленных.
На структурных и функциональных схемах вычислительных устройств можно встретить обозначения регистров, показанные на рис.49.
Рис. 49. Изображение регистра на структурных (а) и функциональных (б) схемах
Информационное n-разрядное слово загружается (принимается) в запоминающие элементы, по шине поступая на вход D, и может быть прочитано впоследствии с выхода Qв любой момент времени. При подаче сигнала на вход Rреализуется функция установки регистра в 0. Часто принимается, что регистр получает наименование хранимого слова (А).
Если ввод информации в регистр необходимо осуществлять по какому-либо сигналу (синхронно), то в качестве элементов памяти используют синхронные D-триггеры. Внутренняя схема такого регистра представлена на рис.50,а, а его условное функциональное обозначение - на рис.50,б.
Рис. 50. Регистр на D-триггерах:
D - входная шина для приема n-разрядного слова (A);
C - синхронизация приема сигналами СИ;
R - вход для установки регистра в 0 сигналом СБРОС;
Q - выходная n-разрядная шина.
Счетчик - типовое операционное устройство, предназначенное для подсчета числа входных сигналов. Счетчики используются в вычислительных устройствах для образования последовательностей адресов команд, для счета количества циклов выполнения действий и т.п.
Счетчики делятся на суммирующие (накапливающие), вычитающие и реверсивные.
Функция суммирующего счетчика – A:=A+1, то есть с каждым сигналом, поступающим на его счетный вход, содержимое счетчика увеличивается на единицу.
Функция вычитающего счетчика – A:=A-1, то есть с каждым сигналом, поступающим на его счетный вход, содержимое счетчика уменьшается на единицу.
Реверсивный счетчик выполняет обе операции (конечно, не одновременно, у такого счетчика два счетных входа).
На структурных и функциональных схемах вычислительных устройств можно встретить обозначения счетчиков, показанные на рис.51.
Рис. 51. Изображение счетчика на структурных (а) и функциональных (б - накапливающий счетчик, в - вычитающий счетчик, г - реверсивный счетчик) схемах
Счетчик, работающий в двоичной системе счисления, называется двоичным счетчиком. Он состоит из нескольких триггеров, соединенных между собой таким образом, что выполняется счет единичных входных импульсов.
На рис.52,а показано соединение трех T-триггеров для реализации двоичного трехразрядного счетчика, на рис.52,б - его таблица переходов, а на рис.52,в - временные диаграммы его работы.
Рис. 52. Трехразрядный двоичный счетчик
Обычно счетчик имеет цепь установки в нулевое состояние (сброс триггеров в 0). Однако начальное состояние счетчика не обязательно нулевое. Начальное состояние может устанавливаться передачей в счетчик кода некоторого числа, и с него уже будет начинаться операция счета.
Такой режим работы счетчика необходим, например, при образовании последовательности адресов команд при заданном исходном адресе памяти. Счетчик с функцией приема информационного слова является счетчиком-регистром.
Если содержимое счетчика равно нулю и производится вычитание, то вырабатывается сигнал заема. Если содержимое счетчика предельное (все триггеры находятся в единичном состоянии) и выполняется операция сложения, то вырабатывается сигнал переноса.
Условное обозначение универсального реверсивного двоичного счетчика на функциональных схемах приведено на рис.53.
Рис.53. Универсальный реверсивный счетчик:
D - входная шина для приема n-разрядного слова (А);
C - синхронизация приема сигналами СИ;
+1 - счетный вход (функция сложения);
-1 - счетный вход (функция вычитания);
R - вход для установки регистра в 0 сигналом СБРОС;
Q - выходная n-разрядная шина;
З - сигнал заема;
П - сигнал переноса
Порядок выполнения работы:
1. Регистры
1.1Собрать схему последовательного регистра на D—триггерах, рис. 54 (lab/10/1.ewb)
Рисунок 54 – Схема для исследования последовательного регистра
1.2При подаче на вход D последовательности данных, на тактовый вход подается поочередно логические нуль или единица, при этом происходит передача сигнала на следующий триггер, зарисовать комбинации передаваемых сигналов первых 8 комбинаций.
рис 55 – Схема для исследования параллельного регистра
1.4Включить схему, зарисовать результаты первых 8 комбинаций.
1.5Сделать выводы.
2. Счетчики
2.1 Рассмотрим построение и временную диаграмму работы суммирующего счетчика (трехразрядного).
Суммирующий счетчик работает по принципу суммирования сигналов, поступающих на его вход, в таблице приведены состояния его триггеров(Тг). (см. таблицу 27).
Табл.27
Номер импульса
Состояние триггеров
Q1
Q2
Q3
На рис. 56, 57 приведены функциональная схема трехразрядного суммирующего счетчика и временная диаграмма работы. В начальный момент времени все триггеры устанавливаются сигналом Уст 0 в состояние “0”. После прихода первого счетного импульса триггер Тг1 перейдет в состояние ‘1’ и в счетчике зафиксируется код 001.Второй импульс, пришедший на вход, переведет Тг1 снова в состояние ‘0’. При этом возникает импульс переноса, который устанавливает следующий триггер Тг2 в состояние ‘1’ и в счетчике зафиксируется код 010. После третьего входного сигнала Тг1 вновь прейдет в состояние ‘1’, а остальные триггеры останутся в прежнем состоянии. Так будет продолжаться до тех пор, пока счетчик не просуммирует максимальное для трех разрядов число 710=1112. Восьмой импульс переведет Тг1 в состояние ‘0’, возникший перенос поступит на Тг2 и также переведет его в состояние ‘0’. В свою очередь, импульс переноса со второго разряда переведет в состояние ‘0’ и Тг3. В результате этого счетчик установится в исходное нулевое состояние (000). Исследуйте работу счетчика, результаты зарисуйте.
Рис 56 - Схема суммирующего двоичного счетчика
Рисунок 57 - Диаграмма работы суммирующего двоичного счетчика
5.2 В вычитающем счетчике перенос от разряда берется не единичных, а с нулевых выходов триггеров. Можно убедиться в том, что при такой коммутации перенос образуется при переходе соответствующего триггера в состояние ‘1’, а не ‘0’, как это было в суммирующем счетчике, см табл. 28
Табл.28
Номер импульса
Состояние триггеров
Q1
Q2
Q3
5.3 В вычитающем счетчике каждый поступающий на вход сигнал не увеличивает, а уменьшает содержимое счетчика на единицу (см. рисунок 58). Временная диаграмма работы вычитающего счетчика приведена на риcунке 59.
Рис. 58- Схема вычитающего двоичного счетчика
Рис. 59- Диаграмма работы вычитающего двоичного счетчика
Контрольные вопросы и задания.
Задание:
1. Используя пакет Electronics Workbench спроектировать схемы на основе элементов, используя для составления схемы таблицу истинности и проанализировать работы:
2. - Суммирующего счетчика;
3. - Вычитающего счетчика.
4. В отчет включить: Схемы счетчиков; Временные диаграммы работы счетчиков.
Задания выполняются соответственно по вариантам:
1. Спроектировать 8-разрядный счетчик на основе RS триггера.
2. Спроектировать 8-разрядный счетчик на основе JK триггера.