головна сторінка   |   e-mail
Загальна iнформацiя

Робоча програма
  • Мета i завдання викладання навчальної дисциплiни
  • Змiст навчальної дисциплiни
  • Рейтингова система оцiнювання
  • Спеціальність 6.050102
  • Спеціальність 6.050101
  • Спеціальність 6.050103
  • Спеціальність 6.050103/403
    Викладацький склад
    Основна та додаткова лiтература


    Iнститут заочного та дистанцiйного навчання

    Викладацький склад
    Навчально-методичнi матерiали
  • Суматори. Арифметико-логічні пристрої

    10.1. Загальна характеристика суматорів

    Суматором називається функціональний вузол комп’ютера, призначений для додавання двох n-розрядних слів (чисел). Опера­ція віднімання заміняється додаванням слів в оберненому або допо­вняльному коді. Операції множення та ділення зводяться до реалі­зації багаторазового додавання та зсування. Тому суматор є важли­вою частиною арифметико-логічного пристрою. Функція суматора позначається буквами SM або ?.
    Суматор складається з окремих схем, які називаються одно­розрядними суматорами; вони виконують усі дії з додавання зна­чень однойменних розрядів двох чисел (операндів). Суматори кла­сифікуються за такими ознаками:
    способом додавання – паралельні, послідовні та пара­лельно-послідовні;
    числом входів – напівсуматори, однорозрядні та багаторозрядні суматори;
    організацією зберігання результату додавання – комбінаційні, накопичувальні, комбіновані;
    організацією перенесення між розрядами – з послідовним, наскрізним, паралельним або комбінованим перенесеннями (з груповою структурою);
    системою числення – позиційні (двійкові, двійково-десят­кові, трійкові) та непозиційні, наприклад, у системі залишкових кла­сів;
    розрядністю (довжиною) операндів – 8-, 16-, 32-, 64-роз­рядні;
    способом представлення від’ємних чисел – в оберненому або доповняльному кодах, а також в їхніх модифікаціях;
    часом додавання – синхронні, асинхронні.
    У паралельних n-розрядних суматорах значення всіх розря­дів операндів поступають одночасно на відповідні входи однорозрядних підсумовуючих схем. У послідовних суматорах значення розрядів операндів та перенесення, що запам’ятовувалися в минуло­му такті, поступають послідовно в напрямку від молодших розря­дів до старших на входи одного однорозрядного суматора. В пара­лельно-послідовних суматорах числа розбиваються на частини, наприклад, байти, розряди байтів поступають на входи восьмирозрядного суматора паралельно (одночасно), а самі байти – послі­довно, в напрям­ку від молодших до старших байтів з урахуванням запам’ятованого перенесення.
    У комбінаційних суматорах результат операції додавання запам’ятовується в регістрі результату. В накопичувальних суматорах процес додавання поєднується із зберіганням результату. Це пояснюється використанням Т-тригерів як однорозрядних схем додавання.
    Організація перенесення практично визначає час виконання операції додавання. Послідовні перенесення схемно створюються просто, але є повільнодіючими. Паралельні перенесення схемно ор­ганізуються значно складніше, але дають високу швидкодію.
    Розрядність суматорів знаходиться в широких границях: 4–16 – для мікро- та міні-комп’ютерів та 32–64 і більше – для універ­сальних машин.
    Суматори з постійним інтервалом часу для додавання називаються синхронними. Суматори, в яких інтервал часу для додавання визначається моментом фактичного закінчення операції, називаються асинхронними. В асинхронних суматорах є спеціальні схеми, які визначають фактичний момент закінчення додавання і повідомляють про це в пристрій керування. На практиці переважно використовуються синхронні суматори. Суматори характеризуються такими параметрами:
    швидкодією – часом виконання операції додавання ta, який відраховується від початку подачі операндів до одержання результату; часто швидкодія характеризується кількістю додавання в секунду Fa=1/ta, тут маються на увазі операції типу регістр–регістр (тоб­то числа зберігаються в регістрах АЛП);
    апаратурними витратами: вартість однорозрядної схеми додавання визначається загальним числом логічних входів використа­них елементів; вартість багаторозрядного суматора визначається загальною кількістю використаних мікросхем;
    споживаною потужністю суматора.

    10.2. Однорозрядні суматори

    Однорозрядним суматором називається логічна схема, яка виконує додавання значень i-х розрядів Xi та Yi двійкових чисел з урахуванням перенесення Zi з молодшого сусіднього розряду та ви­робляє на виходах функції результат Si і перенесення Pi в старший сусідній розряд. На основі однорозрядних схем додавання на три входи та два виходи будуються багаторозрядні суматори будь-яко­го типу. Алгоритм роботи однорозрядного суматора відображаєть­ся таблицею істинності (табл. 10.1).
    На основі табл. 10.1 записується система логічних функцій для результату Si та перенесення Pi у ДДНФ:

    Подпись: Таблиця 10.1  Xi	Yi	Zi	Si	Pi  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      (10.1)
      (10.2)
    Мінімізація функцій (10.1) та (10.2) за допомогою карт Карно показана на рис. 10.1.
    Як видно з карт Карно, функція результату Si не мінімізуєть­ся, а функція Рі мінімізується зі зниженням рангу кон’юнкції та використовує тільки прямі значення змінних:
     (10.3)

     


    Рис. 10.1. Карти Карно для мінімізації функцій: а – Si; б – Рi
    При проектуванні комбінаційних однорозрядних суматорів враховують такі чинники:
    схема має характеризуватися регулярністю (подібніс­тю) структури та мінімальною вартістю, тобто мати по можливості найменше число логічних входів всіх елементів;

    з метою підвищення швидкодії багаторозрядного суматора потрібен мінімальний час одержання функції перенесення tП=k tР, де k – число послідовно увімкнених елементів від входів до виходів Рi або ; tP – середня затримка розповсюдження сигналу одним логічним елементом в обраній серії інтегральних мікросхем; параметр k часто називають каскадністю (поверховістю) схем. Таким чином, для мінімізації часу одержання перенесення необхідно змен­шити каскадність схеми та використати інтегральні мікросхеми з малим часом затримки розповсюдження сигналу;
    для схем однорозрядних суматорів на основі рівнянь (10.1) і (10.2) необхідно виробляти як прямі Pi , так й інверсні  зна­чення функції перенесення. Така організація перенесень називаєть­ся парафазною.
    Для побудови схеми однорозрядного суматора на універ­сальних логічних елементах НЕ І рівняння (10.1) і (10.2) пере­творюються на основі правил подвійної інверсії та де Моргана до такого вигляду:

            (10.4)
    Схема однорозрядного суматора, побудована на елементах НЕ І відповідно до рівнянь (4.30), показана на рис. 10.2, а; її вартість, яка вимірюється числом логічних входів всіх елементів, становить 27, каскадність k=3.
    Рівняння (10.1) та (10.2) можуть бути виражені через функ­цію «Виключальне ЧИ»:
      (10.5)
               (10.6)

     б

      Схема однорозрядного суматора на елементах «виключальне ЧИ» згідно з рівняннями (10.5) і (10.6) показана на рис. 10.2, б; її вартість ста­новить вісім входів і каскадність k=2.

    Рис. 10.2. Схеми однорозрядних суматорів: а – на елементах НЕ І; б – на елементах «виключальне ЧИ»; в – з використанням власного перенесення
    Функції однорозрядного суматора – самоподвійні, тобто їхні ін­версії утворюються інвертуванням значень аргументів без зміни місцезнаходження знаків диз’юнкції та кон’юнкції, наприк­лад, для перенесення з рівняння (10.2):
                      (10.7)
    Помножуючи ліві та праві частини співвідношення (10.7) на макстерм (XiUYiUZi), одержують:
                    (10.8)
    Після підстановки лівої частини співвідношення (10.8) в праву частину виразу (10.1) одержують рівняння для функції Si з використанням власного перенесення:
                            (10.9)
    Схема однорозрядного суматора відповідно до рівнянь (10.9) і (10.3) показана на рис. 10.2, в; її вартість дорівнює 17 входів, кас­кадність k=2. Важливою властивістю цієї схеми є використання тільки прямих значень вхідних змінних і однофазного ланцюга фор­мування перенесення Pi в старший розряд.
    Напівсуматором називається логічна схема, яка виконує додавання значень i-х розрядів Xi і Yi двійкових чисел X і Y та реалі­зує на виході значення результату Mi і перенесення в старший сусідній розряд Ri:
                           (10.10)
    Таким чином, напівсуматор виконує лише частину завдання підсумовування в i-му розряді, оскільки не враховує перенесення з сусіднього молодшого розряду. Схема напів­суматора, побудована на основі рівнянь (10.10), показана на рис. 10.3. З рівнянь (10.5) і (10.6) виходить, що схема однорозрядного суматора може бути побудована на основі двох напівсуматорів і додаткового логічного елемента ЧИ, як показано на рис. 10.3, в.

    Рис. 10.3. Схеми підсумовування: а, б – напівсуматор і його умовне
    позначення; в, г – однорозрядний суматор і його умовне позначення

    10.3. Послідовний багаторозрядний суматор

    Послідовний двійковий багаторозрядний суматор містить:
    n-розрядні зсуваючі регістри операндів X і Y, регістр результату S, однорозрядний суматор SM і двоступеневий D-тригер для запам’я­товування перенесення. Усі регістри забезпечують одночасне зсування праворуч, у бік молодших розрядів (рис. 10.4).

    Рис. 10.4. Схема послідовного багаторозрядного суматора
    У послідовному суматорі попарна подача значень розрядів Xi і Yi починається з молодших розрядів. Утворюються значення суми Si і перенесення Pi, які записуються відповідно в регістр резу­льтату та в тригер запам’ятовування перенесення на один такт Тс.
    Послідовне додавання виконується за стільки тактів, скільки розрядів у числі. Тому час додавання tS визначається співвідно­шенням: tS = nTс, де Тс – тривалість машинного такту.
    Від’ємні числа рекомендується представляти в доповняльно­му коді.
    Послідовний суматор потребує мінімальних апаратних витрат, однак тривалість операції додавання пропорційна розряд­ності операндів. Тому послідовний суматор можна викорис­то­вувати у відносно повільнодіючих цифрових пристроях.

    10.4. Паралельні багаторозрядні суматори

    Паралельний багаторозрядний суматор містить n од­нороз­рядних схем додавання, наприклад, чотири, як показано на рис. 10.5.


    Рис. 10.5. Паралельний чотирирозрядний
    суматор: а – схема; б – умовне позначення

     
    Значення всіх розрядів двох чисел Х та Y поступають на входи відповідних однороз­рядних суматорів паралельно (одночасно). В паралельних сумато­рах з послідовним перенесенням значення сигналу перенесення Pi передається від розряду до розряду послідовно в часі (асинхронно). При застосуванні оберненого коду перенесення з найстаршого розряду подається на вхід перенесення молодшого розряду по лан­цюзі циклічного перенесення (рис. 10.5, а). При застосуванні доповняльного коду ланцюг циклічного перенесення розривається, а на вхід перенесення молодшого розряду подається логічний нуль.
    У паралельних суматорах з послідовним перенесенням час додавання визначається співвідношенням:
    tS = (n–1) tП + tS ,
    де tП – час формування перенесення в кожному розряді, tS – час додавання в найстаршому розряді. У гіршому випадку можливий ва­ріант, коли сигнал перенесення послідовно розповсюджується від першого до n-го розряду.

    10.5. Мікросхеми ALU

    Промисловість випускає мікросхеми із символом функції ALU для виконання 16 арифметичних та 16 порозрядних логічних мікрооперацій залежно від вхідних сигналів настройки. У серіях ТТЛШ 530, 531, 533, 555 та 1533 вони мають позначення ИП3; в серіях ЕЗЛ 100, 500 і 700 використовують позначення ИП179.
    Мікросхема ALU в серіях ТТЛШ має (рис. 10.6):
    · інформаційні входи для подання двох чотирирозрядних операндів X i Y;
    · входи настроювання E3–E0 для задання номера однієї з мікрооперацій;
    · вхід M для задання типу мікрооперації: М=0 – арифметичні, М=1 – логічні;
    · вхід перенесення , необхідний тільки при виконані ариф­метичних мікрооперацій;
    · виходи: результату мікрооперації S4–S1, послідовного перенесення L, генерації G, транзиту Н, а також вихід з відкритим колектором від внутрішнього компаратора для вироблення ознаки рівності операндів FA=B.
    Перелік арифметичних і логічних операцій, які виконують ALU, наведений у табл. 10.2. При виконанні логічних операцій перенесення між розрядами не використовується. Арифметичні опе­­рації реалізуються з урахуванням перенесень і позик. В арифметичні операції включені фрагменти логічних дій. Наприклад, запис  означає, що спочатку виконується операція інверсії (), потім – логічного додавання (X v Y) та логічного множення (), а потім одержані таким чином два числа додаються арифметич­но з урахуванням перенесень.
    Таблиця 10.2


    E3

    E2

    E1

    E0

    Логіка М=1

    Арифметика М=0

    0

    0

    0

    0

    0

    0

    0

    1

    0

    0

    1

    0

    0

    0

    1

    1

    0

    -1

    0

    1

    0

    0

    0

    1

    0

    1

    0

    1

    1

    0

    0

    1

    1

    1

    1

    0

    0

    0

    1

    0

    0

    1

    1

    0

    1

    0

    1

    0

    1

    1

    1

    1

    0

    0

    1

    1

    1

    0

    1

    1

    1

    1

    0

    1

    1

    1

    1

    Мікросхема ALU виконує операцію арифметичного додавання двох чотирирозрядних операндів X і Y, якщо на входи настроювання подані сигнали Е3Е2Е1Е0=1001 та М=0. В цьому випадку мікросхема ALU виконує функцію суматора.

    10.6.  ДВІЙКОВО-ДЕСЯТКОВІ СУМАТОРИ

     Двійково-десяткові суматори використовуються для обробки масивів десяткової інформації за порівняно простими алгоритмами, оскільки при цьому вилучаються витрати часу на переведення чисел з десяткової системи числення в двійкову і навпаки.
    Кожна десяткова цифра Xi кодується двійковим кодом прямого заміщення “8421” (двійковою тетрадою), тобто Xi=Xi4Xi3Xi2Xi1 і Yi=Yi4Yi3Yi2Yi1. Наприклад Xi=710=01112-10, Yi=910=10012-10; для дворозрядних десяткових чисел:
    XiXi-1=1610=000101102-10: YiYi-1=2810=001010002-10.
    Один розряд двійково-десяткового суматора (декада) містить чотирирозрядний суматор SM1 для одержання попередньої суми в тетраді, чотирирозрядний суматор SM2 для корекції результату та логічний елемент І ЧИ для вироблення ознак корекції, як показано на рис.10.7.

    Рис.10.7. Однорозрядний двійково-десятковий суматор: а – схема; б – умовне позначення

    Декада працює таким чином. Двійкові тетради десяткових цифр Xi=Xi4Xi3Xi2Xi1 і Yi=Yi4Yi3Yi2Yi1 разом із перенесенням поступають на входи суматора SM1 і на його виходах утворюється попередня сума S’iT=S’i4S’i3S’i2S’i1, де S’iT – десятковий еквівалент тетради (табл. 10.3).
    Таблиця 10.3


    До корекції

    Після корекції

    Примітка

    P

    S4

    S3

    S2

    S1

    P?

    S?4

    S?3

    S?2

    S?1

     

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0?SiT?9
    Корекція не потрібна

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    0

    0

    0

    1

    0

    0

    0

    0

    1

    0

    ...

    ...

    ...

    ...

    ...

    ...

    ...

    ...

    ...

    ...

    0

    1

    0

    0

    1

    0

    1

    0

    0

    1

    1

    0

    0

    0

    0

    0

    1

    0

    1

    0

    10?SiT?15
    Корекція потрібна: мінус 10 і перенесення в старшу декаду

    1

    0

    0

    0

    1

    0

    1

    0

    1

    1

    ...

    ...

    ...

    ...

    ...

    ...

    ...

    ...

    ...

    ...

    1

    0

    0

    0

    0

    0

    1

    1

    1

    0

    1

    0

    1

    0

    1

    0

    1

    1

    1

    1

    1

    0

    1

    1

    0

    1

    0

    0

    0

    0

    16?SiT?19
    Корекція
    потрібна:
    плюс 6

    1

    0

    1

    1

    1

    1

    0

    0

    0

    1

    1

    1

    0

    0

    0

    1

    0

    0

    1

    0

    1

    1

    0

    0

    1

    1

    0

    0

    1

    1

    При цьому можливі три випадки:
    1) для значення 0 ? S?iT  ? 9 корекція не потрібна;
    2) для значень 10 ? S?iT ?15 потрібно відняти з попередньої суми число 10 і здійснити перенесення в старшу сусідню декаду; віднімання числа 10 в доповняльному коді відповідає додаванню за допомогою суматора SM2 до попереднього результату числа шість, тобто плюс 01102; ознакою такої корекції є одиничне значення фун­кції корекції суми та перенесення
    F?iT=S?i4S?i3 v S?i4S?i2,                                 (10.11)
    яке реалізується елементом І ЧИ;
    3) для значень 16 ? S?iT ? 19 на виході суматора SM1 виникає перенесення PiT з вагою 1610. Однак у старшій декаді його значення сприймається як 10, тому потрібно додати до попереднього результату за допомогою суматора число шість, тобто 01102.     
    З урахуванням рівняння (10.11) функцію корекції результату та перенесення можна записати у вигляді:
    P?iT=P?iT v FiT=P?iT v S?i4S?i3 v S?i4S?i2.
    Таким чином, в усіх випадках, коли P?iT=1, до попередньої суми додається число плюс 01102 і формується перенесення у стар­ший розряд.
    Схема чотирирозрядного двійково-десяткового суматора з послідовним перенесенням в тетрадах і між декадами показана на рис. 10.8. Швидкодія таких суматорів розраховують за аналогією з двійковими послідовними перенесеннями. Для двійково-десят­кових суматорів можна використовувати групові структури прискорених перенесень.

    Рис. 10.8. Схема чотирирозрядного двійково-десяткового суматора.

    Операція віднімання в двійково-десятковому суматорі заміняється додаванням операндів у оберненому або доповняльному кодах. Обернений код від’ємних десяткових чисел одержують заміною кожної цифри її доповненням до дев’яти.  Схема одного десяткового суматора з перетворювачами прямого коду операндів і результату в обернений код показана на рис. 10.9.

    Рис. 10.9. Схема одного розряду десяткового суматора з перетворювачами прямого коду в обернений

    Значення від’ємних чисел при Xзн=1, Yзн=1, Sзн=1 інвертується схемою “виключальне ЧИ”; при цьому утворюється двійковий код тетрад з надлишком шість. Корекцію результату виконують суматорами SM1, SM2 і SM3, в яких віднімання замінюється додаванням двійкової тетради з оберненим кодом числа шість, тобто плюс 10102.

    Навчально-методичнi матерiали
    Конспект лекцiй
    Курсовий проект
    Розрахунково-графічна робота
    Домашня робота
    I модуль "Елементи та послідовнісні вузли комп’ютерної схемотехніки
  • Методичнi вказiвки з виконання лабораторних робiт 1-5
  • Приклади завдань для модульного контролю
    II модуль "Комбінаційні вузли комп’ютерної схемотехніки"
  • Методичнi вказiвки з виконання лабораторних робiт 6-10
  • Приклади завдань для модульного контролю
    III модуль "Мікропроцесори та основні пристрої комп’ютера"
  • Методичнi вказiвки з виконання лабораторних робiт 11-16
  • Приклади завдань для модульного контролю
    IV модуль "Інтерфейси мікропроцесорних систем"
  • Методичнi вказiвки з виконання лабораторних робiт 17-20
  • Приклади завдань для модульного контролю
  • ФАКУЛЬТЕТ КІБЕРБЕЗПЕКИ, КОМП'ЮТЕРНОЇ ТА ПРОГРАМНОЇ ІНЖЕНЕРІЇ   |   КАФЕДРА КОМП'ЮТЕРНИХ СИСТЕМ ТА МЕРЕЖ