СДВИГАЮЩИЙ РЕГИСТР
SHIFT REGISTER

Изобретение относится к области вычислительной техники и устройствам автоматики. Известны построения сдвигающих регистров (CP). Детальные принципы рассмотрены в книге М.А. Карцева «Арифметика цифровых машин», изд. «Наука», М., 1969, стр. 261-273. Рис 2-51. Наибольшее применение нашли CP, построенные на основе двух RS-триггеров в каждом двоичном разряде. К недостаткам таких CP можно отнести сравнительно большие аппаратурные затраты и потребление электропитания. Известны также CP, построенные на одном регистре, выполненные на основе RS-триггеров и логических элементов И, ИЛИ, НЕ, при этом CP выполняет сдвиг кода влево и вправо и осуществляет функции счетчика импульсов (RU 2284654, RU 2419200). Ближайшим прототипом предлагаемому СИ является счетчик импульсов, выполняющий операцию сдвига кода влево и вправо и счет двоичных импульсов (патент RU 2419200 C1). К недостаткам прототипа следует отнести сравнительно большие затраты логических элементов (ЛЭ) И для построения схемы ускорения распространения сигнала переноса, кроме того, прототип не обеспечивает выполнения счета импульсов в двоично-десятичном коде. Отмеченные недостатки устранены в предлагаемом сдвигающем регистре. Целью изобретения является расширение перечня выполняемых операций счета импульсов в двоично-десятичном коде и повышения быстродействия выполнения этой операции за счет исключения временных задержек сигнала в каждой тетраде двоичных разрядов при минимальных затратах оборудования. Для чего предложено устройство, отличающееся тем, что в каждую тетраду двоичных разрядов (ТДР) введены: третий элемент ИЛИ, первый вход которого соединен с третьей шиной импульсов сдвига кода, второй вход которого связан с четвертой шиной счетных импульсов, выход третьего элемента ИЛИ соединен с вторыми входами третьего и четвертого элементов И всех разрядов тетрады, т.е. A4, A3, А2, А1, кроме того, в первый, третий и четвертый разряды каждой тетрады введены вторые элементы И, выходы упомянутых элементов И подключены к входам первых элементов ИЛИ соответственно, введены также шестой - двенадцатый элементы И, четвертый элемент ИЛИ, пятый элемент НЕ, первый и второй входы второго элемента И первого разряда тетрады А1 соединены с выходами четвертого элемента ИЛИ и седьмого элемента И, сигналы с выходов которых управляют занесением «1» в А1 при выполнении операции счета импульсов, выходы пятых элементов И четвертого - второго разрядов соединены с первым - третьим входами одиннадцатого элемента И, четвертый вход этого элемента соединен с шестой шиной управления счетом импульсов, выход одиннадцатого элемента И соединен с первым входом двенадцатого элемента И и с входом пятого элемента НЕ, выход которого соединен с вторыми входами шестого и седьмого элементов И, второй вход двенадцатого элемента И соединен с четвертой шиной счетных импульсов, а выход этого элемента И является входом счетного импульса в i+1 тетраду, выработанного в i-тетраде, второй вход второго элемента И четвертого разряда соединен с выходом седьмого элемента И, первый вход второго элемента И соединен с первым входом одиннадцатого элемента И, выход второго элемента И четвертого разряда соединен с вторым входом второго элемента И третьего разряда, первый вход которого подключен к выходу пятого элемента И этого же разряда, а выход второго элемента И соединен с первым входом восьмого элемента И, второй вход которого связан с вторым входом девятого элемента И и выходом десятого элемента И, первый вход девятого элемента И соединен с выходом второго элемента НЕ третьего разряда, первый и второй входы десятого элемента И соединены с выходами вторых элементов НЕ первого и второго разрядов, введены также пятая шина управления сдвигом кода, которая подключена к первому входу шестого элемента И, шестая шина управления счетом единиц, подключенная к первому входу седьмого элемента И, выход шестого элемента И соединен с первыми входами первых элементов И всех разрядов тетрады, при сдвиге кода влево информация кодируется в коде 8, 4, 2, 1, при счете единиц информация в каждой тетраде кодируется в коде 4, 3, 2, 1, т.е. порядковый номер разряда соответствует цифре 4, 3, 2, 1, второй вход первого элемента И первого разряда каждой ТДР соединен с выходом пятого элемента И четвертого разряда младшей ТДР, третий вход этого элемента связан с третьей шиной импульсов сдвига кодов.
<mrow><mover accent="true"><mrow><mi>А</mi><mn>4</mn></mrow><mo stretchy="true">¯</mo></mover></mrow>
<mrow><mover accent="true"><mrow><mi>А</mi><mn>3</mn></mrow><mo stretchy="true">¯</mo></mover></mrow>
<mrow><mover accent="true"><mrow><mi>А</mi><mn>2</mn></mrow><mo stretchy="true">¯</mo></mover></mrow>
<mrow><mover accent="true"><mrow><mi>А</mi><mn>1</mn></mrow><mo stretchy="true">¯</mo></mover></mrow>
Для пояснения работы устройства на чертеже приведена функциональная схема четырех двоичных разрядов CP или тетрада двоичных разрядов ТДР. Единичное значение каждого разряда тетрады обозначается A4, A3, А2, А1, нулевые значения -
,
,
,
. На схеме приняты следующие обозначения: элементы И 1-12, элементы ИЛИ 14-17, элементы НЕ 18-22, RS-триггер (Tr) 23, шина импульсов сдвига кода 24, шина счетных импульсов 25, вход потенциала с выхода И5 четвертого разряда младшей ТДР 26, шина управления счетом импульсов 27, шина управления сдвигом кода 28, счетный импульс, выработанный в младшей ТДР 29, выход потенциала И5 четвертого разряда i-той тетрады 13.
Предложенное устройство осуществляется следующим образом. В каждом двоичном разряде выходы И1, 2 подключены через ИЛИ14, И4, НЕ21 к единичному входу Tr23, выход ИЛИ14 через НЕ18, И3, НЕ20 подключены к нулевому входу Tr23. Выход И3 соединен с ИЛИ15, второй его вход связан с единичным выходом Tr23, выход ИЛИ15 соединен с И5, второй вход которого соединен с выходом НЕ21. Выход И5 подключен к входам И3, НЕ19, выход которого связан с входом И4. Кроме того, И5 i-того разряда соединен с И1 i+1-го разряда. В каждой ТДР третьи входы И3, 4 соединены с выходом ИЛИ16. Первый и второй входы ИЛИ16 подключены к шинам 24 и 25, к второму входу И1 A1 подключен вход 26, поступающий из старшего разряда младшей ТДР, к входу И6 подключена шина 28, к входу И7 подключена шина 27. Выход НЕ22 связан с вторыми входами И6, 7. Выход И6 соединены с первыми входами И1 каждого разряда тетрады. Выход И7 подключен к вторым входам И2 первого, четвертого разрядов в каждом ТДК. Выходы И5 четвертого и третьего разрядов соединены с первыми входами И2 упомянутых разрядов. Выход И2 четвертого разряда связан с вторым входом И2 третьего разряда. Выход И2 третьего разряда соединен с первым входом И8, второй вход которого соединен с вторым входом И9 и выходом И10. Первый вход И9 соединен с выходом НЕ19 A3. Выходы И8, 9 через ИЛИ17 соединены с первым входом И2 A1. Входы И10 соединены с выходами НЕ19 A1 и А2. Выходы И5 четвертого, третьего и второго разрядов соединены с первым-третьим входами И11 соответственно, четвертый вход которого соединен с шиной 27. Выход И11 соединен с входами НЕ22 и И12, второй вход которого связан с шиной 25. Выход И12 является счетным импульсом, выработанным в i-той ТДР 29. Третий вход И1 A1 соединен с шиной 24.
Рассмотрим работу устройства при выполнении сдвига кодов, представленных в коде 8, 4, 2, 1, и счет импульсов, представленных в каждой тетраде в коде 4, 3, 2, 1. В начале выполнения операции триггеры регистра каждой ТДК A4, A3, А2, A1 хранят код «0» или «1», на входах 24, 25 и выходе 29, шинах управления 27, 28 отсутствуют высокие потенциалы (ВП). На выходе НЕ22 и на входах И6, 7 отсутствуют ВП до появления в ТДР кода 1110.
1. Операция сдвига кода. Выполнение операции начинается с поступления на шину 28 ВП, который с выхода И6 поступает на первые входы И1 ТДР. Если А2=1, А3=0, то ВП И5 А2 поступает на второй вход И1 A3 и через ИЛИ 14 разрешает прохождение импульса сдвига кода с выхода шины 24, ИЛИ 16, И4 A3 через НЕ21 на вход Tr23 и устанавливает его в «1». Одновременно при А1=0 высокий потенциал с выхода НЕ18 через И3, НЕ20 А2 поступает на нулевой вход Tr23 и устанавливает его в «0». Таким образом «1» из А2 будет сдвинута в A3. Следующий импульс сдвига кода выполнит сдвиг «1» A3 в A4. Сдвиг других комбинаций кодов CP выполняется аналогичным образом. Операция сдвига кода прекращается при отсутствии импульсов сдвига кода на шине 24 и снятии с шины 28 ВП. Операция сдвига позволяет умножить код, хранящийся в CP, на 2, 4, 8 и т.д., также может выполняться последовательный прием или выдача кода регистра и выполняться операция нормализации кода регистра, т.е. сдвиг кода влево до появления «1» в самом старшем разряде.
<mrow><mover accent="true"><mrow><mi>А</mi><mn>3</mn></mrow><mo stretchy="true">¯</mo></mover><mo>⋅</mo><mover accent="true"><mrow><mi>А</mi><mn>2</mn></mrow><mo stretchy="true">¯</mo></mover><mo>⋅</mo><mover accent="true"><mrow><mi>А</mi><mn>1</mn></mrow><mo stretchy="true">¯</mo></mover><mo>=</mo><mn>1</mn></mrow>
<mrow><mover accent="true"><mrow><mi>А</mi><mn>3</mn></mrow><mo stretchy="true">¯</mo></mover><mo>⋅</mo><mover accent="true"><mrow><mi>А</mi><mn>2</mn></mrow><mo stretchy="true">¯</mo></mover><mo>⋅</mo><mover accent="true"><mrow><mi>А</mi><mn>1</mn></mrow><mo stretchy="true">¯</mo></mover><mo>=</mo><mn>1</mn></mrow>
<mrow><mi>А</mi><mn>4</mn><mo>⋅</mo><mi>А</mi><mn>3</mn><mo>⋅</mo><mover accent="true"><mrow><mi>А</mi><mn>2</mn></mrow><mo stretchy="true">¯</mo></mover><mo>⋅</mo><mover accent="true"><mrow><mi>А</mi><mn>1</mn></mrow><mo stretchy="true">¯</mo></mover><mo>=</mo><mn>1</mn></mrow>
2. Операция счета импульсов. Особенностью выполнения этой операции является замена суммирования двоичного кода в каждой тетраде с применением схемы сквозного переноса на сдвиг отдельных единиц влево, при этом каждая десятичная цифра ТДР кодируется в кодах 4, 3, 2, 1. т.е. каждая цифра тетрады представляется в виде 0000 - «0», 0000 - «0», 0001 - «1», 0010 - «2», 0100 - «3», 1000 - «4», 1001 - «5», 1010 - «6», 1100 - «7», 1101 - «8», 1110 - «9». Операция начинается с одновременной подачи ВП на шины 27 и 28, при этом ВП с выхода И7 поступает на вторые входы И2 первого и четвертого разрядов тетрады. Если в этой тетраде первый-третий разряды равны «0», т.е.
, то с выходов И10, 9, через ИЛИ17, И2, ИЛИ14 на И4 A1 поступит ВП. Первый счетный импульс (СИ) с шины 25, ИЛИ16 поступает на первый вход И4 и через НЕ21 поступит на единичный вход Tr23 A1 и установит его в «1». Второй счетный импульс сдвинет «1» из первого разряда во второй разряд. Третий и четвертый СИ сдвинут «1» в четвертый разряд. В четвертом разряде «1» будет храниться до конца счета в данной тетраде (до 1110). Хранение «1» обеспечивается за счет подключения И5 к первому входу И2 A4. При этом ВП по цепи элементов И2, ИЛИ14, НЕ18 запретит прохождение СИ на нулевой вход Tr23 A4. Пятый СИ занесет в Tr23 первого разряда «1», т.к.
. Шестой и седьмой СИ сдвинут код «1» в третий разряд тетрады. В третьем разряде код «1» будет храниться до конца счета в данной тетраде (до 1110). Хранение «1» обеспечивается за счет подключения выхода И2 четвертого разряда к второму входу И2 третьего разряда, первый вход И2 этого разряда подключен к выходу И5 третьего разряда. ВП по цепи элементов И2 четвертого и третьего разрядов, через ИЛИ14, НЕ18 запрещает установку Tr23 A3 в «0». При условии
восьмой СИ установит Tr23 первого разряда в «1». Потенциал, разрешающий установку Tr23 A1 в «1», вырабатывается на входах И2 четвертого и третьего разрядов И10, 8, ИЛИ17, И2 первого разряда через элементы ИЛИ14, И4, НЕ21 устанавливаем A1 в «1». Девятый СИ сдвигает код «1» из первого разряда во второй, при этом первая тетрада будет хранить код 1110, что соответствует цифре «9». При коде 1110 первые - третьи входы И11 будут соединены с выходами И5 A4, A3 и А2 разрядов, четвертый вход подключен к шине 27. При этом на выходе И12 будет выработан ВП, который запретит работу И6, 7 далее И1, 2 всех разрядов, а ВП с НЕ18 разрешит установку «0» триггеров всех разрядов тетрады. Десятый СИ установит Tr23 в «0» первой ТДР. Одновременно упомянутый импульс с шины 25 через И12 по выходу 29 занесет в Tr23 A1 второй тетрады «1», т.е. в регистре будет храниться код 10. Операция счета прекращаются при отсутствии счетных импульсов на шине 25 и снятии ВП с шин 27 и 28.
Предложенное устройство обеспечивает повышение быстродействия счета импульсов по сравнению с известными устройствами за счет исключения из каждой ТДК схемы формирования сигнала переноса и временных задержек этого сигнала. Эта задержка характерна для всех тетрад и сумма равна около k10τ, τ - задержка одного элемента И, k - число тетрад в сдвигающем регистре. В предложенном устройстве она равна kτ. Также обеспечивает и расширение функциональных возможностей при минимальных затратах оборудования.