Лабораторная работа № 6 изучение регистров
Цели работы:
Ознакомиться с назначением и принципом действия Регистров.
Собрать и исследовать работу параллельного последовательного (сдвигового) и универсального регистров на ИМС KI55TM2, KI55TM5 и К155ИР1.
Теоретическая часть
Регистр - это узел цифровой ЭВМ, предназначенной для приёма, хранения, выдачи и преобразования информации. В устройстве управления ЭВМ регистр принимает из запоминающего устройства и хранит код команды, которая будет выполняться в течение очередного такта работы машины. В АЛУ регистр передает в сумматор слагаемые, а также осуществляет сдвиг чисел на определенное число разрядов вправо или влево при осуществлении таких операций, как умножение, деление и др. Их также можно использовать для преобразовании параллельного кода числа в последовательный и наоборот. В автоматических устройствах регистры могут применяться как самостоятельные узлы в распределителях кольцевых счетчиках, переключающих устройствах и др.
В качестве элементов хранения в регистрах используются RS, JK и D триггеры. Их число соответствует количеству разрядов кода числа. Кроме триггеров в состав регистров входят логические элементы. На практике применяются различные способы записи информации (чисел) в регистр и ее считывания из регистра. В соответствии с этим регистры делятся на параллельные, последовательные (сдвиговые) и параллельно-последовательные. В параллельном регистре все разряды числа вводятся и выводятся одновременно, причем каждый разряд по своей шине, т.е. в параллельной форме. В последовательном регистре разряды числа вводятся и выводятся последовательно, разряд за разрядом, по одной входной и выходной шине. В параллельно-последовательном регистре ввод числа может быть произведен в параллельной форме, а вывод в последовательной или наоборот.
Практическая реализация всех этих методов записи и считывания информации обеспечивается различными способами соединения между собою триггеров, входящих в состав регистра.
Так, в одной из возможных схем параллельного регистра (регистра хранения), представленной на рис. 1, основной частью ("хранилищем" информации) является n синхронных RSC-триггеров, связанных между собой только по синхровходам "С". Такая связь обеспечивает одновременную (синхронную) работу всех триггеров по разрешающему сигналу на шине "С". Следует отметить, что объединение синхровходов характерно для схем регистров всех типов. Существенно, что входы и выходы триггеров друг с другом не связаны. Это обеспечивает независимое от состояния других триггеров регистра функционирование каждого триггера, что необходимо для параллельного ввода и вывода информации. Разрядность регистра определяется количеством триггеров, входящих в его состав. Обнуление, прием и выдача информации производится не в любой момент времени, а только по команде. Для выполнения этого требования в схеме рис. 1 предусмотрены специальные шины ("Уст. 0", "Прием", "Выдача информации"), с которыми через конъюнкторы соединяются соответствующие входы и выходы триггеров регистра. Для установления регистра в нулевое состояние нужно одновременно подать сигнал "1" на шину "Уст. 0" и на шину "С". Запись информации, поступившей на входы X, производится при подаче сигнала "1" на шины "Прием" и "С". Выдача информации в прямом и обратном коде происходит при подаче единичного сигнала на соответствующую шину.
Простой параллельный регистр может быть собран и на синхронных D-триггерах (рис. 2). Работа этого регистра отличается от рассмотренного выше только способом обнуления и отсутствием специальных шин для выдачи информации в прямом и обратном коде. Для обнуления регистра нужно подать "0" на все информационные входы X и "1" на шину "С".
2. В последовательном (сдвиговом) регистре информация записывается в последовательном коде, а выдаваться может как в последовательном, так и в параллельном. Следовательно, такой регистр является преобразователем последовательного кода в параллельный. Кроме того, в последовательном регистре можно осуществить сдвиг двоичных чисел в сторону старшего (влево) и младшего (вправо) разрядов, на один или несколько разрядов одновременно,
Для построения последовательного регистра нужно его триггеры (каждый из которых соответствует разряду числа) соединить последовательно и обеспечить передачу информации из каждого разряда в последующий с одновременным приемом новой информации из предыдущего. При этом следует учесть, что прием и передача информации триггером не могут происходить одновременно, поэтому их необходимо разделить во времени в каждом разряде регистра. Это можно осуществить за счет применения двухступенчатых синхронных JК- и RS-триггеров или синхронных JК- и D-триггеров с динамическим управлением записью. В регистре, реализованном на двухступенчатых JК-триггерах (рис. 3), выходы одного триггера соединены со входами другого. Если в регистр записывают двоичное число, начиная с младшего разряда, то левый триггер регистра будет хранить старший разряд числа, а правый - младший. Можно записывать двоичное число в регистр, начиная со старшего разряда, но в этом случае входной триггер будет представлять младший разряд, а последний (правый) - старший. В дальнейшем будем записывать (если это не оговорено особо) число в регистр, начиная с младшего разряда. По фронту тактового импульса во входную (первую) ступень каждого триггера будет записываться информация из выходной (второй) ступени предыдущего триггера, а по его срезу она будет переписываться в выходную ступень. С приходом фронта следующего тактового импульса во входной ступени триггера информация может быть заменена новой (из предыдущего триггера), при этом предыдущая информация сохраняется во второй ступени; она заменится новой по срезу тактового импульса. В триггерах с динамическим управлением записью прием информации происходит за время фронта или среза тактового импульса, а смена выходной информации (изменение состояния выходa триггера) происходит с некоторой задержкой во времени, (которое может превышать время фронта или среза синхроимпульса), вызванной переходными процессами при переключении самого триггера.
На рис. 4 представлен один из вариантов последовательного 4-х разрядного регистра на D-триггерах с динамическим управлением (по фронту). Перед записью двоичного числа регистр обнуляют, подав сигнал "0" на шину "Уст. 0". Четырехразрядное двоичное число подается на вход регистра, начиная с младшего разряда этого числа, и за время фронта тактового импульса сигнал X (0 или 1) со входа D регистра воспримется триггером Т1 и придет на его выход Q1 с некоторой задержкой, большей времени фронта синхроимпульса (задержка вызвана переходными процессами в триггере). Из-за этой задержки сигнал X не воспринимается другими триггерами регистра, кроме T1, т.к. X появится на выходе Q1 уже после окончания действия фронта синхроимпульса на объединенные входы С всех триггеров, в течение которого они только и способны воспринимать информацию со своих D-входов. А т.к. D-вход каждого последующего триггера регистра соединен с Q-выходом предыдущего, то приход синхроимпульса приведет к переключению выхода каждого последующего триггера в то состояние, которое было на выходе предыдущего до прихода тактового импульса. Иначе говоря, приход синхроимпульса вызовет следующие переключения:
Каждый тактовый импульс сдвигает код числа в регистре на один разряд вправо. Для записи N-разрядного числа требуется N тактовых импульсов. Для выдачи в последовательном коде записанного числа нужно на вход регистра подать x = 0, а на вход "С" - N тактовых импульсов, при этом число считывается с выхода Q4 триггера младшего разряда. Одновременно происходит стирание информации из регистра (обнуление). Считывание информации в параллельном коде производится с выходов .
3. Внеся некоторые изменения в схему 3 рис. 4, можно получить регистр, сдвигающий влево.
4. Регистры, в которых сдвиг информации может быть осуществлен как вправо, так и влево, называются реверсивными.
5. Параллельно-последовательные регистры используются для преобразования параллельного кода в последовательный и наоборот. Для приема числа в параллельной форме он должен иметь триггеры с нетактируемыми входами S и R (см. рис. 3), с помощью которых можно получить параллельный регистр, подобный рассмотренному на рис. 1. Информация в последовательном коде снимается с выхода триггера младшего разряда при подаче на вход "С" тактовых импульсов. При преобразовании последовательного кода в параллельный число вводится в регистр последовательно разряд за разрядом, а снимается одновременно с выходов всех триггеров.
В качестве примера рассмотрим ИМС К155ИР1, представляющую собой универсальный регистр. Он состоят из 4-х динамических триггеров (подобно тому, как показано на рис. 4) и логических элементов. ИМС К155ИР1 может выполнять следующие операции: ввод информации параллельным и последовательным кодом, сдвиг информации вправо и влево, хранение. Условное изображение регистра KI55KPI показано на рис. 7. Регистр имеет два синхровхода: C1 и С2, для работы в режиме сдвига вправо и влево и в режиме параллельной записи (С2), управляющий вход выбора режима V2, пять информационных входов (V1 для ввода информации в последовательном коде и четыре входа D1 — D4 для записи информации в параллельном коде), а также четыре выхода Q1 - Q4 с каждого разряда регистра. Триггеры, образующие регистр, двухступенчатые, срабатывающие по перепаду из 1 в 0 (по срезу) входных импульсов, поступающих на один из тактовых входов C1 или С2. Рабочий режим регистра определяется уровнем сигнала на входе V2.