Файл: Чеботарев Н.А. Построение схем сложения и вычитания в электронных цифровых машинах [пособие].pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.04.2024

Просмотров: 25

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ленная совокупность микроопераций, называемая микропрограм­

мой.

Таким образом, микропрограмма конкретной операции это— совокупность микроопераций, которые нужно выполнить в опреде­ ленной последовательности для получения результата данной опе­ рации.

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

Исходя из вышеизложенного можно представить арифметиче­ ское устройство состоящим из двух блоков: блока операций’(БО) и блока управления (БУ), как это показано на рис. 1.

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

Таким образом, управляющий сигнал в общем случае является функцией трех переменных

Q=/(9-P.K.

где

Q — управляющий сигнал — двузначная логическая функция, принимающая значение 1 при выполнении определенной микроопе­ рации;

q — признак операции — двузначная переменная, принимающая значение 1 при выполнении определенной операции;

р — синхронизирующий

сигнал — двузначная переменная, при­

нимающая значение 1 в определенный момент времени;

— осведомительная

информация — двузначная переменная,

принимающая значение 1 при определенном состоянии'■узлов АУ или других устройств.

Л в

Рис. J

9


1.4. Методика анализа и построения арифметического устройства

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

Анализ алгоритмов операций позволяет выяснить состав блока операций, связи между отдельными узлами блока операций и по­ следовательность работы узлов.

После определения структуры блока операций могут быть со­ ставлены микропрограммы операций, а следовательно, выяснен состав необходимых управляющих сигналов и условия их форми­ рования. Это позволяет разработать структурную схему управля­ ющей части.

Таким образом, анализ существующего арифметического уст­ ройства или построение нового целесообразно производить в сле­ дующей последовательности:

1)производится анализ алгоритмов операций и их оценка;

2)выявляется состав основных узлов арифметического устрой­ ства, необходимых для реализации принятых алгоритмов;

3)составляются микропрограммы операций и микрооперации привязываются к определенным моментам времени;

4)составляются логические выражения для управляющих сиг­ налов и строится управляющая часть;

5)рассматривается функционирование устройства при выпол­ нении каждой операции.

Рассмотрим подробней содержание каждого из указанных пунк­

тов.

1.Каждая операция, которая должна выполняться в арифмети­ ческом устройстве, может быть описана различными алгоритмами. Так например, для сложения может быть использован алгоритм сложения дополнительных кодов или алгоритм сложения обратных кодов, или алгоритм сложения модулей чисел; для умножения — алгоритм умножения на один разряд или алгоритм умножения на два разряда и т. п. Каждый алгоритм требует для своей реализа­ ции определенного количества оборудования и выполняется, за оп­ ределенное время. Поэтому при анализе различных алгоритмов операции нужно оценить количество оборудования, необходимого для реализации алгоритма, и время выполнения операции. На ос­ новании этой оценки производится выбор алгоритма операции в со­ ответствии с требованиями, предъявляемыми к арифметическому устройству.

2.Алгоритм операции позволяет определить состав блока опе­ раций: из каких основных узлов (сумматор, регистры) должен со­

стоять блок и какие связи должны быть между узлами. При опре­ делении состава узлов необходимо в первую очередь выбрать тип

ю


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

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

4.Микропрограмма, увязанная с синхросигналами, признаками операций и осведомительными сигналами, содержит в себе доста­ точно информации для составления логических выражений для уп­ равляющих сигналов. Каждый управляющий сигнал представляет­ ся в виде двузначной'логической функции обычными способами (запись по единицам или по нулям). Первоначальные логические выражений минимизируются с целью сокращения количества эле­ ментов управляющей части. По окончательным логическим выра­ жениям строится схема управляющей части, точно так же, как схе­ ма любого узла ЭЦМ при его синтезе.

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

вательности микроопераций должно привести к выполнению ариф­ метическим устройством заданной операции (команды программы).

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

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

11


Г л а в а II

АЛГОРИТМЫ И СХЕМЫ СЛОЖЕНИЯ И ВЫЧИТАНИЯ

2.1. Принципы выполнения операций сложения и вычитания в ЭЦМ

Операция сложения в ЭЦМ выполняется над числами, пред­ ставленными дополнительными или обратными кодами. Использо­ вание при сложении относительных чисел дополнительного или об­ ратного кода этих чисел приводит к необходимости производить преобразование прямого кода чисел, который является наиболее простым и естественным, в дополнительный или обратный. Указан­ ное преобразование кодов слагаемых связано с затратами времени и оборудования, но несмотря на это являетсяцелесообразным по следующим причинам.

Если числа представлены прямым кодом, то для сложения чисел с одинаковыми знаками’необходимо использовать сумматор, а для сложения чисел с разными знаками — вычитатель. Использование вычитателя является нежелательным, так как увеличиваемся коли­ чество оборудования и усложняется выполнение операции сложе­ ния. Усложнение выполнения операций связано с тем, что входы, вычитателя неравнозначны: положительные числа должны пода­ ваться только на один определенный вход, а отрицательные — на другой. Это обстоятельство требует применения коммутирующей аппаратуры, обеспечивающей подачу слагаемого на тот или иной вход в зависимости от его знака.

При выполнении операции над числами в вычитателе форма результата операции зависит от соотношения абсолютных величин слагаемых. Если абсолютная величина положительного числа больше, чем отрицательного, то результат получается в прямом ко­ де; если отрицательное число по абсолютной величине больше по­ ложительного, то результат получается в дополнительном коде. Таким образом, применение вычитателя не устраняет представле­ ние чисел дополнительным кодом, а приводит к нему. Для поясне-

. ния рассмотрим числовой пример.

Пример: 1)А = +

0,1110; £ = —0,1001; \А\ > В |,

0,1110

 

~~0ЛШ

 

0,0101

—результат получен в прямом коде.

2)Л~ + 0,1001; В = -0,1110;

'к \< \ В \.

0,1001

' ■

' 0,1110

 

1,1011 — — 0,0101—результат получен в дополни­ тельном коде.

Дополнительный код получен вследствие того, что вычитатель строится по логике поразрядного вычитания с учетом заема. Вычи­ тание в старшем разряде приводит к заему, а это значит увеличе­ ние результата на 2. Прибавление двойки к дробному отрицатель­ ному числу, как известно, дает дополнительный код этого числа.

Указанные выше недостатки применения вычитателя привели к тому, что в подавляющем большинстве ЭЦМ при выполнении операции сложения относительных чисел используются дополни­ тельный или обратный коды. Это дает возможность выполнять сло­ жение чисел с любыми знаками с помощью сумматора.

Рассмотрим, какие основные узлы должен содержать блок опе­ раций арифметического устройства для выполнения операции сло­ жения.

- Для выполнения собственно сложения, как указывалось выше, необходимо_иметь сумматор.

Слагаемые до выполнения операции Сложения хранятся в опе­ ративном запоминающем устройстве. Поэтому для приема слагае­ мых и хранения их на время выполнения операции необходимо иметь регистры. Количество регистров Зависит от типа применен­ ного сумматора.

Если применен сумматор накапливающего типа, то его можно использовать для приема и хранения первого слагаемого, а также и для хранения результата операции. Для приема и хранения вто­ рого Слагаемого потребуется один регистр.

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

Таким образом, минимальное количество основных узлов в бло­ ке операций будет следующим: сумматор накапливающего типа и один регистр или сумматор комбинационного типа и два регистра.

Кроме основных узлов, блок операций должен содержать узлы связи, обеспечивающие прием й передачу информации. Детальная структура блока операций определяется принятыми алгоритмами выполнения операций. Построение детальной структуры блока опе­ раций будет рассмотрено ниже после рассмотрения алгоритмов операции сложения.

Выше были рассмотрены некоторые вопросы выполнения опера­ ции сложения, но все это полностью относится и к операции вычи­

13


тания. Для того чтобы при выполнении операции вычитания ис­ пользовать то же оборудование, что и при выполнении операции сложения, в ЭЦМ операцию вычитания обычным образом сводят к операции сложения, то есть к уменьшаемому прибавляют вычи­ таемое, изменив предварительно у него знак на обратный.

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

Рассмотрим каждый из указанных алгоритмов и построим схе­ мы, необходимые для их реализации.

2.2. Сложение дополнительных кодов

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

при А>0,

 

[А]доп= (а + 2"-2

при А<0,

(2,1)

где п — номер старшего разряда, считая разряд единиц нулевым, номера разрядов целой части положительными, а номера разрядов дробнойчасти отрицательными. Номер разряда равен показателю степени основания, на которую умножается данный разряд.

Выражение для дополнительного кода правильных дробей бу­

дет

[Д1 - [ А

при

Л >0,

«

(2.2)

1 bon _ U + 2

при

Л < 0.

 

 

Выражение для дополнительного кода можно представить в об­ щем виде, одинаковом как для положительных,, так и для отрица­ тельных чисел:

[А]допг (A+2n+2)(mod 2Я+2).

- (2.3)

В случае запятой, фиксированной перед старшим разрядом (дробные числа), выражение для дополнительного кода будет иметь вид

[Л]доп = (А+2) (mod 2).‘

(2.4)

Как известно, практически в ЭЦМ образование дополнительно­ го кода отрицательных чисел осуществляется путем инвертирова­ ния значения разрядов (нуль заменяется единицей, а единица за­ меняется нулем) и прибавления единицы в младший разряд.

14