Выдержка из текста работы
Как известно, все многообразие математических операций (вычитание, умножение, деление, вычисление тригонометрических функций, извлечение корня и т. д.) можно свести к единственной операции сложения прямых, обратных или сдвинутых на определенное число разрядов кодов чисел. Поэтому одним из основных узлов арифметических устройств ЭВМ является сумматор.
Сумматор — это узел ЭВМ, в котором суммируются коды чисел. Сумматоры многоразрядных чисел, которыми оперирует машина, составляются из одноразрядных сумматоров. Как правило, любой сумматор представляет собой комбинацию одноразрядных сумматоров. Сумматоры различают по принципам построения: накапливающего типа и комбинационного типа. Сумматоры накапливающего типа строят на сложных JKRS-триггерах, дополняя их выходы достаточно сложными схемами формирования и распространения переносов. Процесс сложения при этом осуществляется поэтапно. Сначала на триггерах сумматора фиксируется код первого операнда, затем на счетные коды разрядов подается код второго операнда. По зависимостям на каждом триггере формируются одноразрядные суммы и значения переносов между разрядами. Учет возникающих переносов задерживает формирование окончательного результата суммы и может требовать дополнительных тактов сложения. Из-за этого многоразрядные схемы сумматора накапливающего типа используются достаточно редко.
Более часто для построения сумматоров используются сумматоры комбинационного типа. Обычно у такого сумматора на входе и выходе имеются регистры для хранения и преобразования кодов операндов и результата
1. Техническое задание
Разработать 4-ёх разрядный сумматор с записью результата алгебраического сложения 2-ух двоичных чисел в выходной регистр.
Исходные числа задаются в прямом коде со старшим знаковым разрядом. Формат входных чисел:
Знак, а1, а2, а3, а4
Схему устройства и моделирование примеров сложения чисел выполняется в программе Analizer. Исходные числа набирать, использую блоки кнопок. В качестве выходного регистра использовать модели регистров в Analizer. Схема сумматора должна учитывать код, в котором должен работать сумматор и заданную элементную базу.
Элементная база — ИЛИ-НЕ и ДШ.
Обратный код.
2. Принцип построения сумматора
Сумматор — устройство, предназначенное для выполнения операций сложения и вычитания над многоразрядными числами (операндами). Многоразрядный сумматор состоит из одноразрядных, реализующих сложение одноразрядных чисел.
Рис. 2.1
Одноразрядный сумматор, на вход которого поступают два одноразрядных числа Ai и Bi , а на выходе формируются также одноразрядные числа суммы Si и переноса Pi, называют полусумматором (рис. 2.1, а). Если одноразрядный сумматор реализует сложение трех одноразрядных чисел Ai, Bi и Сi(перенос из младшего разряда), то такой сумматор называют полным. В многоразрядном сумматоре только самый младший разряд можно выполнить по схеме полусумматора, а остальные разряды выполняют функции полного сумматора. Ниже рассмотрены схемы сумматоров для двоично кодированных чисел.
Таблица 2.1
Таблица истинности для полусумматора (табл. 2.1) позволяет записать функцию вычисления суммы Si и переноса единицы переполнения Pi в старший разряд:
(2.1)
Согласно выражениям (2.1) полусумматор можно реализовать в базисе элементов И-НЕ(рис. 2.1, б), ИЛИ-НЕ либо на основе логического элемента ИСКЛЮЧАЮЩЕЕ ИЛИ и конъюнктора (рис. 2.1, в). Возможны другие реализации полусумматора на основании тождественных преобразований (2.1)
Соответствующие реализации показаны на рис. 2.2, (а, б).
Выбор схемы для реализации полусумматора определяется имеющейся в распоряжении разработчика элементной базой с учетом требований по быстродействию, энергопотреблению и технологичности.
Рис. 2.2
Для обеспечения максимального быстродействия предпочтительнее схемы с минимальным количеством логических ступеней между входом и выходом. С этой точки зрения кажущаяся простота полусумматора (на рис. 2.1, в) не дает ожидаемого преимущества по быстродействию, так как внутренняя структура ИМС ИСКЛЮЧАЮЩЕЕ ИЛИ по существу повторяет фрагмент схемы на рис. 2.1, б.
Рис. 2.3.
Работа полного сумматора описывается табл. 2.2. Карта Карно для функций Si и Pi дает минимальную форму и ее тождественные варианты:
(2.2)
Соответственно выражениям (2.2), (2.3) на рис. 2.4 приведены различные реализации полного сумматора и его условное графическое изображение. Схема сумматора (рис. 2.3, в) аналогична схеме на рис. 2.3,б по структуре и параметрам, ее можно построить на основе двух полусумматоров (см. рис. 2.1, в).
Таблица 2.2
Сумматор по схеме на рис. 2.4,а, обладающий минимальной задержкой распространения сигнала и, следовательно, максимальным быстродействием, может с успехом применяться при построении БИС многоразрядного сумматора.
Рис. 2.4
Вариант полного сумматора на элементах И-ИЛИ-НЕ, реализуемый на ИМС промышленных серий, показан на рис. 2.4,г. Условное графическое обозначение одноразрядного сумматора показано на рис. 2.4, д.
3. Обратный код
Обратный код n-разрядного числа N с основанием а дополняет его до максимально возможного значения , т.е. . При этом цифра каждого разряда обратною кода N0 дополняет соответствующую цифру исходного числа N до наибольшей цифры a — 1 (для десятичных чисел до 9).
Сложение целых двоичных чисел с учетом знаков можно свести к обычному суммированию их обратных кодов. Эти коды для положительных чисел совпадают с прямым кодом, в котором один разряд (обычно старший) используется для кодирования знака числа (0 для положительного и 1 для отрицательного). Обратный код для отрицательного числа получается из прямого заменой 0 на 1 и 1 на 0 во всех разрядах, включая и знаковый.
Сложение осуществляется по правилам двоичной арифметики разряд за разрядом, включая знаковые разряды. Перенос из старшего (знакового) разряда, если он возникает, не игнорируется, а прибавляется к младшему разряду суммы. Такой перенос называется круговым, а сложение — циклическим. Например:
Если оба слагаемых имеют одинаковые знаки, то может случиться переполнение, признаком которого служит различие знаков слагаемых и суммы. Другой признак основан на том, что переполнение происходит тогда и только тогда, когда при сложении имеет место один из переносов — в знаковый разряд или из знакового разряда, но не оба. В обратном коде этот признак следует применять до кругового переноса.
Вычитание в обратном кодах сводится к сложению путем замены знака (а значит, и кода) вычитаемого.
4. Выбор компонентов
Исходя, из формулировки задачи определим технические средства необходимые для реализации устройства с заданными характеристиками и свойствами.
Согласно заданию используем элементную базу ИЛИ-НЕ. В состав программы Analizer входят логические элементы ИЛИ-НЕ с одним, двумя, тремя и четырьмя входами.
Простой регистр с параллельной загрузкой и трехстабильным выходом используется для хранения кодов алгебраического сложения двух чисел. При перепаде низкого уровня на высокий на входе S данные со входов DI7-DI0 загружаются в регистр.
При перепаде низкого уровня на высокий на входе R происходит сброс регистра (т.е. его содержимое обнуляется). Вход EO определяет состояние выходов. Если на нем активный (низкий) уровень, на выходы выдается содержимое регистра.
Генератор — служит для выдачи последовательности импульсов с заданной длительностью и паузой между импульсами. Также можно настроить начальную фазу. Окно настройки, как и у остальных элементов, вызывается при нажатии правой кнопкой мыши на условном обозначении: Все выдаваемые импульсы имеют одинаковую длину, равно как и паузы между ними.
5. Разработка схемы
6. Моделирование
Для проведения испытания сконструированной модели был использован симуляционный пакет программного обеспечения Analiser. В нём была собрана и испытана схема устройства.
В качестве тестовых данных использовались записи чисел в прямом и обратном кодах, представленные в таблице 6.1.
сумматор алгебраическое сложение регистр
Таблица 6.1
Число |
Прямой код |
Обратный код |
|
15 |
0 1111 |
0 1111 |
|
14 |
0 1110 |
0 1110 |
|
13 |
0 1101 |
0 1101 |
|
12 |
0 1100 |
0 1100 |
|
11 |
0 1011 |
0 1011 |
|
10 |
0 1010 |
0 1010 |
|
9 |
0 1001 |
0 1001 |
|
8 |
0 1000 |
0 1000 |
|
7 |
0 0111 |
0 0111 |
|
6 |
0 0110 |
0 0110 |
|
5 |
0 0101 |
0 0101 |
|
4 |
0 0100 |
0 0100 |
|
3 |
0 0011 |
0 0011 |
|
2 |
0 0010 |
0 0010 |
|
1 |
0 0001 |
0 0001 |
|
0 |
1 0000 |
1 1111 |
|
-1 |
1 0001 |
1 1110 |
|
-2 |
1 0010 |
1 1101 |
|
-3 |
1 0011 |
1 1100 |
|
-4 |
1 0100 |
1 1011 |
|
-5 |
1 0101 |
1 1010 |
|
-6 |
1 0110 |
1 1001 |
|
-7 |
1 0111 |
1 1000 |
|
-8 |
1 1000 |
1 0111 |
|
-9 |
1 1001 |
1 0110 |
|
-10 |
1 1010 |
1 0101 |
|
-11 |
1 1011 |
1 0100 |
|
-12 |
1 1100 |
1 0011 |
|
-13 |
1 1101 |
1 0010 |
|
-14 |
1 1110 |
1 0001 |
|
-15 |
1 1111 |
1 0000 |
Следует отметить, что в обратных двоичных кодах имеются два кода числа 0: «положительный нуль» 00000 и «отрицательный нуль» 11111.
Собранная схема протестирована. Результат тестирования положительный.
Заключение
В данной курсовой работе разработан и протестирован четырёх разрядный сумматор, реализованный в базисе элементов ИЛИ-НЕ и на дешифраторах, используя обратный код записи числа.
Процесс создания и тестирования производился с помощью программы Analizer, что позволило закрепить знания в работе с данной программой.
Следует так же отметить недостатки в использовании обратного кода для записи чисел. В обратных двоичных кодах имеются два кода числа 0: это положительный и отрицательный ноль. Что приводит к некоторому усложнению операции суммирования. Так же перенос из старшего (знакового) разряда, при суммировании чисел, если он возникает, не игнорируется, а прибавляется к младшему разряду суммы.
Из выше сказано считаю, что целесообразнее использовать дополнительный код записи чисел.
Список литературы
Шарапов А. В. Примеры решения схемотехнических задач. Учебное пособие. — Томск: ТИАСУР, 1994. — 141 с.
Описание симулятора (электронная версия);
Применение полупроводниковых индикаторов/ Н.Н. Васерин, Н.К. Дадерко, Г.А. Прокофьев; Под ред. Е.С. Липина. — М.: Энергоатомиздат, 1991. — 200 с.
Основы проектирования цифровых схем.: Пер. с англ. — М. : Издательский дом «Вильямс»,2004. — 320с. : ил. — Парал. Тит. Англ. ISBN 5-8459-0685-7 (рус.)
Схемотехника электронных средств : учеб. Пособие для студ. высш. учеб. заведений / Б.Ф.Лаврентьев. — М. : Издательский цент «Академия», 2010. — 336с.
Размещено на