Файл: Чеботарев Н.А. Построение схем сложения и вычитания в электронных цифровых машинах [пособие].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. Сложение дополнительных кодов
Дополнительный код положительного числа равен самому чис лу. Дополнительный код отрицательного числа в числовых разря дах содержит дополнение до единицы, следующей за старшим раз рядом, а в знаковом разряде — единицу. Рассматривая знаковый разряд как обычный числовой, выражение для дополнительного ко да можно представить в виде
IА |
при А>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