Сумматор – вычитатель старшими разрядами вперед на нейронах

УДК 681.3

СУММАТОР-ВЫЧИТАТЕЛЬ СТАРШИМИ РАЗРЯДАМИ ВПЕРЕД НА НЕЙРОНАХ

С.С. Шевелев

Разработано устройство сумматор-вычитатель старшими разрядами вперед, выполняющее операции суммирование и вычитание двоичных чисел в прямых кодах. Операция суммирование выполняется, если числа имеют одинаковые знаковые разряды, в обратном случае выполняется операция вычитание.

Ключевые слова: сумматор, вычитатель, мажоритарные, пороговые и нейро-подобные элементы, перенос, заем.

Арифметические операции в электронных вычислительных машинах выполняются на сумматорах в арифметико-логических устройствах. По числу входов различают полусумматоры, одноразрядные сумматоры и многоразрядные сумматоры. Многоразрядные сумматоры подразделяются на два типа. Последовательные и параллельные сумматоры. В последовательных устройствах вычисление результата происходит поочередно разряд за разрядом на одном и том же оборудовании. В параллельных сумматорах двоичные числа обрабатываются одновременно по всем разрядам и для каждого разряда имеется свое оборудование.

В современных ЭВМ арифметические операции суммирования и вычитания выполняются с применением дополнительных и обратных кодов. В прямых кодах сложение и вычитание можно выполнить по следующему алгоритму. Если операнды имеют одинаковые знаки, то числа суммируются. Операция вычитания выполняется, если знаки чисел разные. Для этого используются комбинационные схемы сумматора и вычитателя чисел в прямых кодах. Этот алгоритм позволяет сразу получить правильный результат в прямом коде. Для получения суммы двух чисел возможны два случая: 1) слагаемые имеют одинаковые знаки; 2) слагаемые имеют разные знаки. Во втором случае необходимо применить операцию вычитания чисел. Для этого используется комбинационная схема вычитателя чисел в прямых кодах

Если числа имеют одинаковые знаки, то необходимо сложить два числа, а сумме присвоить знак одного из слагаемых. Вычисление суммы двух чисел с разными знаками осуществляется следующем образом: 1) сравниваются знаки слагаемых и если они одинаковы, то выполняется сложение по первому алгоритму; 2) если знаки слагаемых разные, то сравниваются числа по абсолютной величине; 3) если есть необходимость, числа переставляются местами, чтобы вычитать из большего меньшее; 4) произвести вычитание двух чисел; 5) результату присваивается знак большего слагаемого.

Этот алгоритм позволяет получить сумму или разность чисел в прямых кодах старшими разрядами вперед. После получения чисел из блока ввода операндов и перевода их в двоичную систему счисления необходимо определить знаки чисел. С помощью операции сумматора по модулю два происходит определение знаков чисел. Если знаки одинаковые, то результат будет нуль, в этом случае выполняется операция суммирования. В противном случае результатом сложения по модулю два знаковых разрядов чисел будет единица, при этом выполняется операция вычитания.

Структурная схема сумматора-вычитателя представлена на рис.1. Сумматор-вычитатель старшими разрядами вперед на нейронах содержит: блок ввода чисел, блок компарации, блок суммирования-вычитания, блок регистров большего числа, блок определения переноса или заема, блок регистров меньшего числа, блок регистров результата, блок управления, логические, мажоритарные и пороговые элементы, формальные нейроны. БВЧ - блок ввода чисел служит для ввода операндов и знака операции. БКО - блок компарации служит для сравнения чисел А и В; БСВ - блок суммирования-вычитания служит для выполнения операций сложения или вычитания; БРгБЧ - блок регистров большего числа служит для хранения большего по модулю числа; БОПЗ - блок определения переноса, за-ема служит для обнаружения переноса из младших разрядов в старшие при суммировании или для формирования заема из старших разрядов в младшие в случае вычитания чисел; БРгМЧ - блок регистров меньшего числа служит для хранения меньшего по модулю числа; БРгР - блок регистров результата служит для хранения суммы или разности чисел, а также знака результата; БУ - блок служит для управления устройством.

На структурной схеме рис.1 показаны управляющие и информационные сигналы, а также способы соединения между блоками. Применяются наименование сигналов: ПЧ - первое число А2 в двоичном коде; ВЧ -второе число В2 в двоичном коде; ДБЧ - большее по модулю число; ДМЧ - меньшее по модулю число; СВ - сигнал, определяющий операцию суммирования или вычитания; РЕЗ - результат суммы или разности; СД -сигнал сдвига влево на один разряд информации в блоке регистров результата; ЧМ - двоичные разряды меньшего по абсолютной величине числа; ЧБ - двоичные разряды большего по модулю числа; ПЗ - сигнал переноса в старшие разряды или заема из старших разрядов двоичных чисел; ВБЧ -двоичная информация большего числа; ВМЧ - двоичная информация меньшего числа; СДВ - сигнал сдвига информации блока регистров меньшего числа влево на один разряд; ССД - сигнал сдвига информации блока регистров большего числа влево. СЗП - сигнал запрета работы блока суммирования-вычитания, поступающий на вход комбинационной схемы выдачи результата из блока управления.

Блок 1 ввода чисел содержит шифратор (стандартная клавиатура), сумматор по модулю два. Этот блок позволяет вводить двоичные числа. С

выхода шифратора формируется двоичный код чисел со своими знаками: А2, В2, ЗнР А, ЗнР В. Знаковые разряды с выхода шифратора поступают на вход сумматора по модулю два. Результат этой операции определяет, какую функцию необходимо выполнить устройству - суммирование или вычитание. Сумматор по модулю два реализуется на формальном нейроне ФН. Результат на выходе формального нейрона запишется:

где ЗнР А, ЗнР В - знаковые разряды чисел. Если СВ равен единице, то необходимо выполнять операцию вычитания, в противоположном случае осуществляется операция сложения. Выходными сигналами блока 1 являются двоичные эквиваленты чисел А и В. Операнды будут представлены в прямых кодах.

Рис, 1. Структурная схема сумчатора-вычитателя:

1 - БВЧ - блок ввода; 2 - БКО - блок компараиии; 3 - БСВ - блок суммирования-вычитания; 4 - БРгБЧ - блок регистров большего числ а; 5- БОЛЗ - бл о к опребел ен ия пе})еноса, заема; 6 - БРгМЧ - блок регистров меньшего; 7- БРгР - бл ок регистров

Блок 2 компарации содержит компаратор, схемы электронных ключей с инверсным и прямым входом, логические элементы. Этот блок предназначен для определения большего числа по модулю. Если на вход сумматора-вычитателя поступят числа с разными знаками, то в блок регистров большего числа записывается больший по модулю операнд. В блок регистров меньшего числа загружается число меньшее по модулю. Компаратор представляет собой схему сравнения чисел. Эта схема может быть

выполнена на формальном нейроне ФН [1,2]. На вход компаратора поступают п-разрядные числа А и В без знаковых разрядов. На выходе компаратора имеется три выхода: БЛ - число А больше В, РВ - числа А и В равны по модулю, МН - число А меньше В. Логические схемы И, выполнены на формальных нейронах ФН. Схема конъюнкция описывается с помощью формулы ^1=1, w2=1,..,wn=1;T=n-1], где w1, w2,..,wn - коэффициенты усиления, а T - пороговое напряжение, п - количество входов. Схема дизъюнкция описывается с помощью формулы ^1=1, w2=1,.., wn=1; Т=0], где w1, w2,..,wn - коэффициенты усиления, а Т равное нулю - пороговое напряжение, п - количество входов. Инвертор описывается формулой ^=-1; Т=-1]. При поступлении чисел А2 и В2 на вход компаратора, на выходе компаратора формируется отношение операндов. Если на выходе Б Л будет единица, то это означает, что число А2 больше В2 по модулю. Через открытые схемы электронных ключей операнд А2 поступит на вход блока регистров большего числа. Меньший по модулю операнд будет записан в блок регистров меньшего числа. Если выходной сигнал МН будет равен единичному значению, что означает число В2 больше по модулю, чем число А2 . Через систему электронных ключей число В2 поступит на вход блока регистров большего числа. Число А2 записывается в блок регистров меньшего числа.

Если числа А2 и В2 равны по модулю и имеют одинаковые знаки, то выходной сигнал РВ будет равен единице, а сигналы БЛ и МН будут равны нулю. В регистры большего и меньшего числа будет записано число В2. В этом случае произойдет сложение чисел В2 и В2. Результату будет присвоен знак числа В2. В случае равенства по модулю чисел, а знаки различны, то в регистр результата записывается нулевая информация.

Блок суммирования-вычитания БСВ, представленный на рис.2, содержит сумматор по модулю два, выполненный на формальном нейроне, пороговые элементы, комбинационную схему выдачи результата. На пороговом элементе формируется перенос при сложении или заем при вычитании. Сумматор и вычитатель выполнены на формальных нейронах. На вход блока поступают двоичные разряды чисел А2 и В2, а также перенос (заем) ПЗ из младших (старших) разрядов. Информация поступает на вход сумматора-вычитателя поразрядно в последовательном режиме: ЧБ -разряд большего числа, ЧМ - разряд меньшего числа, ПЗ - перенос (заем), а также признак суммирования-вычитания сигнал СВ.

На пороговом элементе формируется перенос в старшие разряды при сложении или заем из старших разрядов при вычитании. Пороговые элементы составляют сумматор [1,2].

На входы этих пороговых элементов поступают двоичные разряды чисел А и В, а также перенос ПЗ из младших разрядов в старшие. Двоичные разряды поступают поразрядно: ЧБ - разряд большего числа, ЧМ -разряд меньшего числа, ПЗ - перенос, заем, а также признак суммирова-

ния-вычитания СВ. Пороговые элементы и образуют схему вычитателя чисел от большего меньшего. Логические элементы И выполняют роль электронных ключей. Управляющим сигналом для них является признак суммирования-вычитания СВ. На пороговые элементы этот сигнал поступает через инверторы соответственно. Если признак операции СВ суммирования-вычитания будет равен нулю - выполнение операции суммирования, то соответствующий электронный ключ будет открыт, а остальные электронные ключи будут заперты, управляющий сигнал СВ поступает через инверторы. На выходе порогового элемента сформируется перенос из старших разрядов в следующий больший по весу разряд, если на входе этого порогового элемента будет не менее двух единиц. По приходу из блока управления БУ управляющего сигнала СЗП - сигнала запрета равного единице комбинационной схемы выдачи результата, этот перенос ПР будет записан через открытый электронный ключ в блок регистров результата. Разряды суммы Si при этом с выхода порогового элемента поступать не будут, т.к. этот пороговый элемент будет заперт сигналом СЗП, который поступает на управляющий вход этого элемента через инвертор. Вначале необходимо получить перенос, если он будет получен. Затем управляющий сигнал СЗП комбинационной схемы выдачи результата устанавливается в нулевое значение, при этом логический элемент И будет заперт, а электронный ключ будет открыт. Через его будут поступать очередные разряды суммы чисел А и В. Логическая схема ИЛИ, выполненная на пороговом элементе, выполняет собирательную функцию комбинационной схемы выдачи результата . Выходной сигнал РЕЗ при суммировании в начале равен только сигналу ПР - переносу, затем всегда будет равен очередному значению суммы двоичных разрядов А и В - Si. Если признак операции СВ будет равен единице, это означает выполнение операции вычитания. В этом случае разряды разности чисел большего и меньшего будут формироваться на выходе порогового элемента и через открытый электронный ключ (схема И) и пороговый элемент (схема ИЛИ) комбинационной схемы выдачи результата разряды разности, которые будут поступать на вход блока регистров результата.

Блок 4 регистров большего числа содержит п логических схем ИЛИ, выполненных на пороговых элементах: п триггеров Трп, где п - количество разрядов входного числа. Этот блок предназначен для хранения двоичного кода большего по модулю операнда.

Блок 5 определения переноса, заема содержит п сумматоров по модулю два: выполненных на формальных нейронах, п мажоритарных элементов: выполняющих функцию по определению переноса в старшие разряды при суммировании или заема из старших разрядов при вычитании.

Блок 6 регистров меньшего числа содержит п триггеров Трп, где п -количество разрядов большего входного числа: п логических схем ИЛИ, выполненных на пороговых элементах. Блок 6 регистров меньшего числа

предназначен для хранения двоичного кода меньшего по модулю числа.

Блок 7 регистров результата содержит т - триггеров Трт, где т -количество разрядов необходимое для получения результата заданной точности: для хранения двоичных разрядов результата. А также в состав блока входит триггер ТрЗ предназначенный для хранения знакового разряда результата. В блоке регистров результата формируется поразрядно результат при выполнении операций сложения или вычитания.

Рис. 2. Сумм а тор-вы читатель на нейронах старшими разрядами вперёд

Работа сумматора-вычитателя старшими разрядами вперед на нейронах заключается в следующем. С выхода шифратора БВЧ двоичные коды операндов А2 и В2 поступают в регистры большего и меньшего числа. На сумматоре по модулю два определяется знак результата. Если числа имеют одинаковые знаки, то вычисляется сумма чисел. Знак результату присваивается знак любого из слагаемых. Если знаки чисел разные, то проводится операция вычитания. Из большего по модулю числа вычитается меньшее. Знак результату в этом случае присваивается знак большего по модулю числа. При суммировании чисел из младших разрядов в старшие определяется перенос, который поступает на вход сумматора. При выполнение операции вычитания формируется заем из старших разрядов в

младшие. Заем поступает на вход вычитателя. На первые входы сумматора по модулю два блока 5 поступают двоичные разряды операндов из блока регистров большего числа. На вторые входы всех сумматоров блока поступает признак операции суммирования-вычитания СВ. Если признак СВ равен нулю, выполнение операции сложения, то сумматоры выполняют функцию повторителей. В этом случае все входные разряды в прямом коде поступают на первые входы соответствующих мажоритарных элементов блока 5. Если признак операции СВ равен единице, выполнение операции вычитания, то все входные двоичные коды поступают на входы мажоритарных элементов в обратном коде. В этом случае сумматоры по модулю два работают как инверторы. На вторые входы мажоритарных элементов поступает информация с выходов предыдущих мажоритарных элементов. В блоке используются трехвходовые мажоритарные элементы. Единица на выходе мажоритарного элемента будет только тогда, когда будет большинство единиц на входе. На третьи входы мажоритарных элементов поступают двоичные коды из блока регистров меньшего числа в прямом коде. Выходной сигнал ПЗ будет равен единице в том случае, когда возникнет перенос из младших разрядов в старшие при сложении чисел и при возникновении заема в младшие разряды из старших при выполнении операции вычитания от большего по модулю числа меньшего.

Управляющие сигналы сдвига ССД, СДВ поступают на входы триггеров блоков 4 и 6 из блока 8 управления. При этом осуществляется операция сдвига информации влево на один разряд. Двоичные коды чисел А2 и В2, записанные в триггерах блоков будут сдвинуты на один разряд влево. На выходах первых триггеров Тр1 блоков будут поступать очередные разряды чисел. Триггера этих блоков образуют реверсивные регистры со сдвигом информации на один разряд влево.

Управляющий сигнал сдвига СД из блока 8 управления, поступает на входы триггеров блока 7. Операция сдвига информации на один разряд влево осуществляется по мере получения очередного разряда результата. Двоичный код результата, записанный в триггерах блока, будет сдвинут на один разряд влево. Операция записи очередного разряда результата и сдвига будет осуществляться до тех пор, пока не будет получен результата суммы или разности заданной точности. Полученный результат суммы или разности хранится в регистре блока 7 . Из блока управления поступит управляющий сигнал РЗ - разрешение записи. После этого в триггер ТрЗ блока запишется знаковый разряд результата - ЗнР [3].

Предложенная структурная схема имеет ряд достоинств. Одним из основных является простота комбинационной схемы устройства, и низкая стоимость. В памяти устройстве не нужно хранить все разряды результата до его окончательного получения, достаточно получать побайтно, затем передать на входы других устройств. Это значительно экономить память процессора. Возможность увеличение количества триггеров и мажоритар-

ных элементов справа в устройстве, значительно расширит разрядную сетку представления двоичных чисел. Этот фактор влияет на точность вычисления результата. К недостаткам следует отнести последовательное получение разрядов результата, переноса и заема.

Сумматоры с параллельным переносом имеют максимальное быстродействие. В каждом разряде одновременно вырабатываются выходные величины, но при этом возникает проблема о превышении возможности базовых логических элементов. По этой причине сумматоры с параллельным переносом применяются лишь для малого числа разрядов.

Минимальное время суммирования обеспечивают сумматоры с параллельно-параллельным переносом, так как параллельный перенос возникает, как в группах, так и между ними.

В электронных вычислительных машинах применяются сумматоры с групповой структурой. Переносы формируются параллельно с применением функций генерации и передачи переносов. Схемы одноразрядных сумматоров составлены из логических элементов. В нейровычислителях применяются мажоритарные, пороговые и нейроподобные элементы.

Список литературы

1. Мкртчян С.О. Проектирование логических устройств ЭВМ на нейронных элементах. М.: Энергия, 1977. С.482.

2. Вавилов Е.И., Егоров Б.М., Ланцев В.С., Тоценко В.Г. Синтез схем на пороговых элементах. М.: Сов. радио, 1970. С.250.

3. Патент 2205444 Сумматор-вычитатель старшими разрядами вперед на нейронах / С. С. Шевелев

Шевелев С.С., кан. техн. наук, доц., schewelew@,mail.ru, Россия, Курск, Югозападный государственный университет

SUMMER-SUBTRACTOR SENIOR CATEGORY ON NEURON ONWARD

S.S. Shevelev

The Designed device summer-subtractor senior bit onward, executing operations summation and subtraction binary numbers in direct code. The Operation summation is executed if numbers have an alike sign bits, in inverse event is executed operation subtraction.

Key words: summer, subtractor, voting, porogovye and neuro-similar elements, carrying, borrow.

Shevelev S.S., candidate of technical sciences, docent, schew elew @,mail.ru. Russia, Kursk, South Western State University