Електроний посібник з
дисципліни "Мікропроцесорні системи"
 
Дипломный проект
Напівсуматор
Напівсуматор - це пристрій, що реалізує функцію «сума за модулем 2»
(М2). Напівсуматори застосовуються при побудові арифметико-логічних пристроїв (АЛП) як елементи, що реалізують функцію нерівнозначності, і як складові частини повних арифметичних суматорів. Таблиця істинності функції, її функціональна схема й умовне зображення показані на рис. 1.16. Очевидно, що на виході напівсуматора буде 1 тільки при комбінаціях вхідних сигналів 01 і 10.
1.2.5. Арифметичні пристрої
Рис. 1.16. Функція М2: а) таблиця істинності;
б) функціональна схема; в) умовне зображення
 
Повні двійкові суматори
                                          Правила виконання арифметичних операцій
  Арифметичні належать до поширених операцій, що виконуються цифровими пристроями.
Правила виконання арифметичних операцій над двійковими числами є аналогічними до відповідних правил десяткової арифметики й зведені в табл. 1.1 і 1.2.
 
  Для виконання арифметичних операцій над двійковими числами зі знаком уводять додатковий (знаковий) розряд, який указує, чи є число позитивним або негативним. Якщо число позитивне, у знаковий розряд проставляється символ 0, якщо негативне, то символ 1. Наприклад, число (+5) з урахуванням знакового розряду (відділяється крапкою) запишеться як 0.101, а число (-3) як 1.011.
  При додаванні чисел з однаковими знаками вони складаються, і сумі привласнюється код знака доданків, наприклад:
 
  Ускладнюється операція додавання чисел з різними знаками (алгебраїчне додавання), що рівносильно відніманню чисел. У цьому випадку необхідно визначити більше за модулем число, зробити віднімання й привласнити різниці знак більшого (за модулем) числа.
  Для спрощення виконання цієї операції доданки зображуються у зворотному або додатковому кодах, оскільки відомо, що операція віднімання (алгебраїчного додавання) зводиться до операції простого арифметичного додавання двійкових чисел, зображених у зворотному або додатковому кодах. Позитивні числа в прямому, зворотному й додатковому кодах мають той самий вид, а негативні - різний.
Щоб зобразити негативне двійкове число у зворотному коді треба поставити в знаковий розряд 1, а у всіх інших розрядах прямого коду замінити одиниці нулями, а нулі - одиницями, тобто проінвертирувати число.
При записі негативного двійкового числа в додатковому коді, треба поставити 1 у знаковий розряд, а інші розряди одержати зі зворотного коду числа за допомогою додавання 1 до молодшого розряду.
Наведемо приклади запису двійкових чисел зі знаками в прямому, зворотному й додатковому кодах.
Пояснимо процедуру віднімання чисел 5 і 3, 3 і 5. Послідовність і взаємозв'язок операцій наведено у  
табл.1.3.
  З прикладів випливає, що при використанні зворотного коду в пристрої, який забезпечує підсумовування багаторозрядних двійкових чисел - двійковому суматорі, необхідно передбачити ланцюг циклічного переносу. У випадку використання додаткового коду цей ланцюг відсутній.
  З наведеного вище можна зробити наступний висновок. Застосування простого математичного «трюку» (подання двійкових чисел у зворотному або додатковому коді) дозволяє пристосувати двійковий суматор для виконання як операцій додавання двійкових чисел, так і операцій їх віднімання.
  Більше того, за допомогою двійкового суматора можна забезпечити також виконання й операцій множення й ділення двійкових чисел (тобто всіх чотирьох арифметичних дій), оскільки множення являє собою послідовне додавання, а ділення - послідовне віднімання. 
                              
                                                                      Однорозрядний двійковий суматор
Підсумовування багаторозрядних двійкових чисел A = anan-1...a0 і B = bnbn-1...b0 проводиться шляхом їх порозрядного додавання з переносом між розрядами. Тому основним вузлом багаторозрядних суматорів є комбінаційний однорозрядний суматор, який виконує арифметичне додавання трьох однорозрядних чисел (цифр): цифри даного розряду першого доданка  (ai ), цифри  даного  розряду  другого  доданка  (bi ) й цифри (1 або 0) переносу із сусіднього  молодшого  розряду  ( pi ) .У результаті додавання для кожногорозряду  виходять  дві  цифри  -  сума  для  цього  розряду  (Si )й  перенос  у наступний старший розряд ( pi+1 ) .

  Таблиця істинності однорозрядного суматора наведена на рис. 1.17.
Рис. 1.17. Таблиця істинності однорозрядного суматора
  Для синтезу схеми однорозрядного суматора необхідно записати логічні рівняння для функцій виходів Si і  Pi+1 й виконати перетворення відповідно до правил алгебри логіки. Для цього необхідно перегрупувати вихідне рівняння за прямим і інверсним значенням аргумента pi , винести їх за дужки й перетворити  у  функції  нерівнозначності  (М2).  Це  перетворення  наведено  у формулах 13 і 14.












 
    Аналогічно перетворюється й рівняння для функції Pi+1

 
Рис. 1.18. Однорозрядний суматор: а) функціональна схема; б) умовна позначка
  Умовна позначка й функціональна схема однорозрядного суматора, що побудована відповідно з отриманими виразами, наведені на рис. 1.18.
  Багаторозрядний паралельний суматор може бути складений з однорозрядних суматорів, число яких дорівнює числу розрядів, що складаються шляхом з'єднання виходу, на якому формується сигнал переносу даного розряду із входом для сигналу переносу сусіднього старшого розряду. Такий спосіб організації переносу називається послідовним.

                                                                              Багаторозрядний суматор
Приклад побудови чотирирозрядного паралельного суматора демонструє рис. 1.19. У суматорах цього типу перенос поширюється послідовно від розряду до  розряду  з  формуванням  суми  в  кожному  розряді. Так, наприклад,  при додаванні чисел 11…11 і 00…01 буде мати місце «пробіг» одиниці переносу через увесь суматор від самого молодшого до самого старшого розряду. Даний тип суматора найбільш простий з погляду схеми ланцюгів поширення переносу. Нескладно побачити, що на базі суматора легко реалізувати й функцію віднімання чисел. Для цього, наприклад, від'ємник повинен бути в додатковому коді. Останнє досягається інвертуванням розрядів, що віднімається, й подачею (додаванням) «1» до молодшого розряду. Це показано в лівій частині рис. 1.19.

Рис. 1.19. Багаторозрядний суматор-віднімач
                                                                          Арифметико-логічні пристрої
  Вершиною розвитку мікросхемотехніки середнього ступеня інтеграції стали арифметико-логічні пристрої (АЛП), що об'єднали в собі можливість виконання даних логічних і арифметичних операцій. У порівнянні із приладами, що працюють на твердій логіці, АЛП являють собою пристрої більш високого класу. В АЛП перетворення виконуються над багаторозрядними двійковими операндами.
До основних виконуваних операцій відносяться:
-логічні - порозрядні диз'юнкція або кон’юнкція;
-арифметичні - додавання, віднімання, додавання за модулем 2;
-спеціальні  -  інверсія,  інкремент  або  декремент,  зрушення  вліво  або вправо одного з операндів.
  Звичайно в АЛП є дві групи входів для операндів і група входів для вибору виду виконуваної операції. Крім цього, є вихід, що означає виникнення переносу в старшому розряді, й вхід, на який може надходити перенос із молодшого розряду. Це дає можливість збільшувати розрядність оброблюваних операндів шляхом каскадного включення декількох АЛП разом.
  В архітектурі мікроконтролерів АЛП є базовим елементом, за допомогою якого виконується арифметична й логічна обробка даних.