71077

Зібрати схеми суматорів, досліджувати їх характеристики

Лабораторная работа

Коммуникация, связь, радиоэлектроника и цифровые приборы

Суматори виконують арифметичне (в протилежність логічному) складання і віднімання чисел. Мають самостійне значення і є також ядром схем арифметико-логічних пристроїв (АЛП), що реалізують ряд різних операцій і є неодмінною частиною всіх процесорів. Апаратна складність і швидкодія суматора є дуже важливі параметри і тому розроблено безліч варіантів суматорів...

Украинкский

2014-11-01

362 KB

2 чел.

Лабораторна робота №2   Суматори

Мета роботи: Зібрати схеми суматорів, досліджувати їх характеристики

Теоретичні відомості

Суматори виконують арифметичне (в протилежність логічному) складання і віднімання чисел. Мають самостійне значення і є також ядром схем арифметико-логічних пристроїв (АЛП), що реалізують ряд різних операцій і є неодмінною частиною всіх процесорів.

Апаратна складність і швидкодія суматора є дуже важливі  параметри і тому розроблено безліч варіантів суматорів, які мають розгалужену класифікацію. Виділяючи головні варіанти, зупинимося на таких типах суматорів:

• півсуматор;

• однорозрядний суматор;

• суматор для послідовних операндів;

• суматор для паралельних операндів з послідовним переносом;

• суматор для паралельних операндів з паралельним переносом;

• суматор групової структури.

Поряд з суматором можна створити пристрої для віднімання, однак віднімання виконується через складання із застосуванням зворотних (інверсія всіх розрядів числа, включаючи знаковий) або додаткових (до молодшого розряду зворотного коду додається одиниця) кодів. Таке рішення особливо важливо для побудови суматора, що виконує складання чисел з довільними знаками. У цьому випадку негативні числа зберігаються в додатковому коді, а їх знаковий розряд - негативний. Додавання в додатковому коді здійснюється за правилами двійкової арифметики розряд за розрядом, включаючи знакові розряди. Можливе перенесення з знакового розряду ігнорується. При цьому результат виходить також в додатковому коді.

Багаторозрядний суматор складається з однорозрядних, що реалізують додавання однорозрядних чисел. Однорозрядних суматор, на вхід якого надходять два однорозрядних числа Ai та Bi, а на виході формуються також однорозрядні числа суми Si і перенесення Рi, називають півсуматор (рис. 1)

                

Рис. 1

Таблиця істинності для півсуматора (табл. 1) дозволяє записати функцію обчислення суми Si і одиниці перенесення Рi в старший розряд:

Таблиця 1

Ai    Bi

Si   Pi

0      0

0      0

0      1

1      0

1      0

1      0

1      1

0      1

                                                  (1)

Згідно виразам (1) півсуматор можна реалізувати в базисі елементів І-НЕ (ріс.1б), в базисі елементів АБО-НЕ, або на основі логічного елемента ВИКЛЮЧНЕ АБО і І (рис. 1в). Можливі інші реалізації півсуматора на підставі тотожних перетворень виразу (1)

 

Якщо однорозрядний суматор реалізує додавання трьох однорозрядних чисел Ai, Bi і C (перенесення з молодшого розряду), то такий суматор називають повним.

Таблиця2

У багаторозрядних суматорі тільки самий молодший розряд можна виконати за схемою півсуматора, а інші розряди виконують функції повного суматора.

Таблиця істинності однорозрядного суматора має наступний вигляд (табл. 2)

Ai

Bi

Ci-1

Si

Ci

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

0

1

1

0

0

1

0

1

0

1

0

1

1

1

0

0

1

1

1

1

1

1

Аналітичні вирази функцій суми і перенесення мають вигляд

Еквівалентні перетворення цих виразів дають різні реалізації повного суматора (рис. 2).

Рис. 2

Додавання багаторозрядних чисел можна реалізувати послідовно або паралельно. При послідовному підсумовуванні потрібно однорозрядних повний суматор, на вхід якого протягом тактового інтервалу послідовно, починаючи з молодшого розряду, подаються відповідні розряди доданків і результат перенесення від складання на попередньому такті (рис. 3 а, б). Результат підсумовування порозрядно з виходу суматора передається в лінію зв'язку або запам'ятовується в буферному зсувному регістрі суми.

Рис. 3.

Операція підсумовування закінчується через кількість тактів підсумовування (N +1), де N - кількість розрядів доданків чисел А і В,. Додатковий такт необхідний для реалізації перенесення від підсумовування старших розрядів. При цьому загальний час підсумовування буде становити: Tзаг = tзΣ (N +1), де tзΣ-затримка суматора SM. Послідовний суматор вимагає мінімальних витрат устаткування, що не залежать від розрядності чисел. Однак тривалість операції підсумовування пропорційна розрядності операндів, тому послідовний суматор може використовуватися у відносно повільних цифрових пристроях.

Паралельний суматор з послідовним переносом

У паралельному m-розрядному суматорі використовується т повних суматорів (рис. 4), тобто витрати обладнання пропорційні розрядності операндів, але операція підсумовування виконується за один такт ΤΣ. Тривалість такту ΤΣ і складність реалізації паралельного суматора залежать від способу реалізації переносів. У простому випадку виходи і входи ланцюгів переносу з'єднуються послідовно і тривалість такту пропорційна кількості розрядів суматора і часу реалізації перенесення в одному розряді tзд.р.п. :

      (2)

де tΣ - тривалість підсумовування в однорозрядних суматорі, m - розрядність суматора.

Рис. 4

Як і в інших схемах з послідовним поширенням сигналів від розряду до розряду, тут час підсумовування практично пропорційний розрядності суматора.

При великій кількості розрядів і послідовної реалізації перенесення тривалість підсумовування (2) виявляється неприпустимо великий.

Паралельний суматор з паралельним переносом

Суматори для паралельних операндів з паралельним переносом розроблені для отримання максимальної швидкодії. Збільшення швидкодії паралельного суматора досягається за рахунок одночасного формування сигналів переносу у всіх його т розрядах. Сигнали переносу для даного розряду формуються спеціальними схемами блоками прискореного перенесення, на входи яких надходять всі змінні, від яких залежить його наявність або відсутність. Ясно, що це зовнішній вхідний перенос Свх (якщо він є) і значення всіх розрядів доданків, молодших відносно даного розряду (рис. 5). Позначення CR від слова carry (перенесення).

Рис. 5

Формування переносу в схемах CR виконується за допомогою двох допоміжних функцій: генерації та прозорості.

Функція генерації приймає одиничне значення, якщо перенесення на виході даного розряду з'являється незалежно від наявності або відсутності вхідного перенесення. Очевидно, що ця функція така:      

Функція прозорості (транзиту) приймає одиничне значення, якщо переноесення на виході даного розряду з'являється тільки при наявності вхідного перенесення. Ця функція має вигляд   

Вираз для сигналу переносу можна записати у вигляді  

Таким чином, перенесення на виході молодшого розряду тобто він або генерується самим розрядом  або пропускається через нього і

Аналогічно для переносу C1 на виході наступного розряду або підставивши в це співвідношення вираз для Со, отримаємо:

Для довільного розряду з номером i можна записати:

Тривалість підсумовування суматора з паралельним поширенням переносу не залежить від його розрядності. Однак зі зростанням розрядності суматора збільшується навантаження елементів схеми, що збільшує їх затримки. Тому зростання розрядності уповільнює процес підсумовування.

Діапазон розрядностей, в яких проявляються переваги суматорів з паралельним перенесенням, невеликий. До n = 3 ... 4 переваги мають більш прості схеми суматорів з послідовним переносом, при n> 4 переваги мають суматори з паралельним перенесенням, а після n = 8 у суматорів з паралельним переносом з'являються перевантажені елементи і елементи з великим числом входів, що уповільнює їх роботу і ускладнює реалізацію. Тому для додавання чисел більшої розрядності застосовуються суматори групової структури.

Суматори групової структури

В суматорах групової структури схема з розрядністю n ділиться на груп по m розрядів (n =ℓ * т). У групах і між ними можливі різні види перенесень (паралельні і послідовні).

Нижче наведена схема з ланцюговим (послідовним) перенесенням між групами. У самих групах перенесення при цьому може бути будь-яким. При групах суматор має. - 1 блок переносу. Блоки перенесення включені послідовно й утворюють тракт передачі переносу (рис. 6). Складові розбиті по m-розрядів, які складаються в групах. Результат також складається з m-розрядних частин.

Рис. 6

Блоки перенесення БПi (i = 1 ...) аналізують доданки в межах групи, і якщо з групи повинен бути перенесення, то він з'являється на виході блоку для подачі на вхід наступної групи і в ланцюжок розповсюдження переносу від молодших груп до старших.

Переноси визначаються формулами, отриманими вище для суматорів з паралельним переносом, але суматори завдяки поділу на групи істотно спрощуються - у них все БПi мають однакову складність (всі блоки аналізують m-розрядні операнди), тоді як в суматорі з паралельними переносами складність схем перенесення безперервно зростає при переході від попереднього розряду до подальшого (остання схема перенесення вимагає аналізу операндів з розрядністю n-1). Максимальна тривалість підсумовування для такого варіанту суматора

Функції прозорості розрядів, необхідні для блоків переносів, реалізуються або в цих блоках, або вже є в групах, якщо в них організований паралельний перенос, і можуть надходити з груп (штрихові лінії на рис. 6).

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

Порядок проведення експериментів

Експеримент 1. Дослідження півсуматора.

Зберіть однорозрядний півсуматор двох чисел.

Подайте на входи дані з табл. 2.

Переконайтеся у відповідності Ваших результатів записам у правій частині таблиці.

Експеримент 2. Дослідження повного суматора.

Зберіть однорозрядних повний суматор двох чисел

Подайте на входи дані з табл. 2.

Переконайтеся у відповідності Ваших результатів записам у правій частині таблиці.


Експеримент 3.

Зберіть трирозрядний півсуматор двох чисел.

Виберіть два десяткових числа (до 8) і складіть їх в десятковій і двійковій системах (напр. 5 +6). Перевірте правильність виконання операції.

Проведіть експеримент з п'ятьма різними сумами чисел, суми яких більше і менше 7. Зафіксуйте результати. Поясніть отримані дані.

Питання

1. Призначення суматорів.

2. Види суматорів.

3. Що таке півсуматор?

4. Що таке повний суматор?

5. Як утворюється сигнал переносу?

6. Яке призначення сигналу переносу?

7. Намалюйте схему дворозрядного півсуматора, повного суматора

PAGE  2


 

А также другие работы, которые могут Вас заинтересовать

50809. Изучение законов динамики вращательного движения твёрдого тела вокруг неподвижной оси на маятнике Овербека 284 KB
  Цель работы: Экспериментальная проверка зависимостей между физическими величинами, характеризующими вращение твёрдого тела вокруг неподвижной оси. Приборы и принадлежности: маятник Овербека, комплект перегрузов, миллисекундомер.
50810. Исследование непериодических сигналов 419 KB
  Для задания формы сигнала используется функциональный источник напряжения NFV Component nlog Primitives Function Sources NFV. Задать в качестве сигнала одиночный прямоугольный импульс амплитудой 4 В и длительностью 2 NN мс. В разных графических окнах задать вывод следующих графиков: Зависимости заданного сигнала VE1 от времени t; Спектра исследуемого сигнала зависимости величины гармоник HRMVE1 от частоты f. Задать диапазон частот выводимых гармоник от 0 до 5NN кГц Найти спектр сигнала состоящего из четырех...
50813. ИЗМЕРЕНИЕ ПЕРЕМЕННОГО ЭЛЕКТРИЧЕСКОГО НАПРЯЖЕНИЯ 248.5 KB
  Получение навыков измерения переменного электрического напряжения; 1. Ознакомление с особенностями влияния формы и частоты измеряемого напряжения на показания средств измерений; 1. Приобретение представления о порядке работы с электроизмерительными приборами при измерении переменного напряжения.
50814. Программирование в Delphi. Разработка интерфейса 1.69 MB
  Цель: Получить первичные навыки работы в визуальной среде программирования Delphi. При этом становится активным окно редактора кода и Delphi автоматически создает ОБРАБОТЧИК СОБЫТИЯ – процедуру выполняющуюся при нажатии кнопки В окне редактора кода ввести соответствующие команды Прежде всего необходимо научиться сохранять свои программы.