Главная страница
Навигация по странице:

  • Випадок В 0 . Добуток обернених кодів співмножників дорівнює оберненому коду результату тільки у випадку позитивного множника.

  • Алгоритм.

  • - після циклу додавання і аналізу, виробляється зсув вправо вмісту суматора і Рг В на один розряд (можна з переносом молодших розрядів суматора в старші розряди Рг В );

  • -після перетворення в прямий код, перевіряємо нормалізацію результату.

  • Алгоритм. Множення на ДСОК (при В  0) виконується в наступній послідовності (

  • - у суматор додається множене у оберненому коді А об ;

  • - після циклу додавання і аналізу робиться зсув вправо вмісту суматора і Рг В на один розряд (можна з переносом молодших розрядів суматора в старші розряди Рг В );

  • - після аналізу і зсуву старшого розряду множника до результату додають виправлення [

  • - після перетворення в прямий код, необхідно перевірити нормалізацію результату.

  • Щербаков а. Н., Проскурін м. П., Грушко с. С. Прикладна теорія цифрових автоматів


    Скачать 2.54 Mb.
    НазваниеЩербаков а. Н., Проскурін м. П., Грушко с. С. Прикладна теорія цифрових автоматів
    АнкорUkr1_PTTsA_kl_ch1_10-02-2010.doc
    Дата13.02.2018
    Размер2.54 Mb.
    Формат файлаdoc
    Имя файлаUkr1_PTTsA_kl_ch1_10-02-2010.doc
    ТипПротокол
    #15521
    страница20 из 26
    1   ...   16   17   18   19   20   21   22   23   ...   26

    13 МНОЖЕННЯ ЧИСЕЛ НА ДСОК

    13.1 Множення чисел на ДСОК при позитивному множнику



    За аналогією із ДСДК, при множенні операндів заданих у оберненому модифікованому коді, розглянемо два випадки: В>0 і В<0.
    Випадок В0. Добуток обернених кодів співмножників дорівнює оберненому коду результату тільки у випадку позитивного множника.

    Доказ. Нехай множене А=Аоб., а множник В>0. Тоді: АВ=Аоб0,b1b2...bn = Аобb12-1+Аобb22-2+...+Аобbn2-n. У правій частині виходить обернений код результату тому що В=Воб. Це означає, що множник В позитивний.
    Алгоритм. Множення на ДСОК (при В>0) виконується в наступній послідовност (наведена в таблиці 13.2):

    - у суматор записуються 11.111...1 (машинний нуль оберненого коду);

    - у регістр В записується множник у прямому коді. Ведеться аналіз розрядів РгВ (починаючи з молодшого), і якщо там "1", то до вмісту суматора додається обернений код множеного. Якщо там 0, то до суматора нічого не додається;

    - після циклу додавання і аналізу, виробляється зсув вправо вмісту суматора і РгВ на один розряд (можна з переносом молодших розрядів суматора в старші розряди РгВ);

    - якщо знак результату негативний, то він у оберненому коді і необхідне перетворення в прямий код;

    -після перетворення в прямий код, перевіряємо нормалізацію результату.
    Приклад. Помножити на ДСОК числа: А = 0/10011; В = 0/11001. Запишемо числа в машинному зображенні:

    Амоб=11/01100; Вмоб=00/11001.

    Таблиця 13.1  Множення на ДСОК при позитивному множнику В0



    Відповідь Смоб=11/1000100100; Спр= 111011011.

    13.2 Множення чисел на ДСОК при негативному множнику



    Випадок В0. Якщо множник негативний, то добуток чисел на суматорі ДСОК є додатком виправленя А і [A]об2-n до отриманого добутку обернених кодів співмножників.
    Доказ. Нехай А=[A]об і В<0, тоді ; відповідно до подання у ФРК, фіксовано перед старшим розрядом |B|+[B]об=qq-n=22-n; звідси [В]об=2+В2-n; тож,+ 2-n1, добуток дорівнює: АВ =Aоб+[A]об (2-n)+; є два виправлення: перше [A]об(2-n) порівняне мале (тому часто ігнорується) і друге +.

    Алгоритм. Множення на ДСОК (при В0) виконується в наступній послідовності (наведена в таблиці 13.2):

    - у суматор записуються 11.111...1 (машинний нуль оберненого коду);

    - у регістр В записується множник у оберненому коді (без знака);

    - у суматор додається множене у оберненому коді Аоб;

    - ведеться аналіз розрядів РгВ (починаючи з молодшого), і якщо там «1» («0»), то до вмісту суматора додається (нічого не додається) обернений код множеного;

    - після циклу додавання і аналізу робиться зсув вправо вмісту суматора і РгВ на один розряд (можна з переносом молодших розрядів суматора в старші розряди РгВ);

    - після аналізу і зсуву старшого розряду множника до результату додають виправлення [] інверсію Аоб, включаючи і знак;

    - якщо знак результату негативний, то він у оберненому коді і необхідне перетворення у прямий код;

    - після перетворення в прямий код, необхідно перевірити нормалізацію результату.

    Приклад. Метод 2, множення чисел на ДСОК. А=0/110101; В=0/101000; АВ=+2120. Рішення: Запишемо машинне зображення чисел.

    Амоб = 11/001010; Вмоб = 11/010111; = 00/110101.

    Послідовність виконання операції множення наведена в таблиці 13.2.

    З урахуванням розрядів РгВ будемо мати 100\100001000111. Переповнення «1» із знакового розряду Sg1 додається до молодшого розряду числа. Тоді, одержимо відповідь: Спр=00\100001001000=2120(10).
    Існує ряд методів множення заснованих на роздільному під-сумковуванні груп часткових доданків з наступним об’єднанням сум з урахуванням переносів. Роздільна обробка проміжних сум і переносів вимагає так званого "дерева суматорів" (використано в IBM-360).

    Таблиця 13.2  Множення на ДСОК при негативному множнику



    Існують також прискорені методи множення, засновані на використанні матриць проміжних результатів. Розглянемо схему множення:

    A = a5, a4, а3, а2, a1

    *B = b5, b4, b3, b2, b1

    a5b1 а4b1 а3b1 а2b1 а1b1

    +.........................................

    а5b5 а4b5 а3b5 а2b5 а1b5

    С10 С9.......................С2 С1

    Цю схему можна представити також у вигляді матриці таблиці 13.3. Кожний елемент цієї матриці дорівнює "0" або "1".

    Таблиця 13.3 Матричне множення чисел



    Добуток двох чисел можна одержати, якщо підсумувати елементи матриці в діагональному порядку. Cкладати доводиться тільки 0 або 1, тому операцію додавання можна виконувати за допомогою напівсуматорів і суматорів на один двійковий розряд.

    Рисунок 13.1  Структурна схема пристрою множення для реалізації матричного алгоритму



    Рисунок 13.2  Схема множного пристрою за алгоритмом Дадда

    Найбільше поширення одержали алгоритми Дадда, Уоллеса (матричний) і алгоритм збереження переносів [1-21]. На рис. 13.1 представлена структурна схема матричного пристрою множення для реалізації матричного алгоритму.

    Алгоритми відрізняються друг від друга групуванням часткових добут-ків, кількістю етапів перетворень. Для матричного алгоритму  чотири етапи перетворення, для алгоритму Дадда – три етапи. Однак, матричні методи множення, незважаючи на більший об’єм устаткування, дають великий виграш часу, а використання ВІС значно знижує обмеження на устаткування.

    Розглянуті методи множення знайшли широке застосування в практиці бінарної арифметики.
    1   ...   16   17   18   19   20   21   22   23   ...   26


    написать администратору сайта