Арифметичний пристрій
Номер патенту: 33979
Опубліковано: 25.07.2008
Автори: Кожем'яко Андрій Вікторович, Бойко Оксана Аркадіївна, Кожем'яко Володимир Прокопович, Мартинюк Тетяна Борисівна, Салюта Віктор Григорович
Формула / Реферат
Арифметичний пристрій, що містить регістри першого й другого операндів, суматор і блок програмного керування, входи якого з першого по четвертий з'єднані відповідно з входами кодів операцій додавання, віднімання, множення й ділення пристрою, який відрізняється тим, що в нього введено групу К суматорів-віднімачів, групу К схем порівняння, групу К регістрів значення кратності, компаратор, схему порівняння знаків, схему порівняння старших розрядів операндів, два комутатори, два лічильники, регістри розрядності першого й другого операндів, регістри цілої й дробової частин частки, причому вихід суматора з'єднаний з інформаційним входом регістра другого операнда, виходи знакових розрядів регістрів першого й другого операндів підключені до входів схеми порівняння знаків, вихід якої з'єднаний з п'ятим входом блока програмного керування, перший вихід якого з'єднаний з входом керування першого суматора-віднімача групи і з керуючим входом першого комутатора, перший і другий виходи якого підключені відповідно до входів додавання й до входів віднімання всіх суматорів-віднімачів групи, другий і третій виходи блока програмного керування підключені до входів керування зчитуванням регістрів першого й другого операндів, вихід регістра другого операнда підключений до першого інформаційного входу першого комутатора, вхід обнулення регістра першого операнда підключений до четвертого виходу блока програмного керування, шостий вхід якого з'єднаний з виходом знакового розряду першого суматора-віднімача групи, п'ятий вихід блока програмного керування підключений до інформаційного входу знакового розряду регістра першого операнда, шостий вихід блока програмного керування підключений до інформаційного входу знакового розряду регістра другого операнда, вихід регістра розрядності першого операнда підключений до інформаційного входу першого лічильника, входи керування записом регістрів розрядності першого й другого операндів підключені до сьомого й восьмого виходів блока програмного керування, виходи регістрів розрядності першого й другого операндів підключені відповідно до другого і третього інформаційних входів першого комутатора, вхід керування записом регістра першого операнда з'єднаний з дев'ятим виходом блока програмного керування, десятий і одинадцятий виходи якого підключені до входів керування зчитуванням регістрів розрядності першого й другого операндів відповідно, другий вихід першого суматора-віднімача групи підключений до сьомого входу блока програмного керування, дванадцятий вихід якого з'єднаний з входом обнулення першого суматора-віднімача групи, тринадцятий вихід блока програмного керування підключений до входу обнулення регістра другого операнда, вхід додавання кожного суматора-віднімача групи, починаючи з другого, з'єднаний з першим виходом попереднього суматора-віднімача групи, вихід кожного регістра значення кратності групи підключений до першого входу відповідної схеми порівняння групи, другі входи схем порівняння групи підключені до виходу старшого розряду регістра першого операнда, вихід кожної схеми порівняння групи підключений до входу керування зчитуванням відповідного суматора-віднімача групи, перші виходи суматорів-віднімачів групи підключені також до інформаційного входу суматора, вхід керування записом якого підключений до чотирнадцятого виходу блока програмного керування, п'ятнадцятий і шістнадцятий виходи якого підключені до входів керування зсувом регістра першого операнда й суматора, входи першого й другого лічильників з'єднані із сімнадцятим і вісімнадцятим виходами блока програмного керування, вихід старшого розряду суматора підключений до інформаційного входу молодшого розряду регістра другого операнда, вхід керування зсувом якого з'єднаний з дев'ятнадцятим виходом блока програмного керування, вихід ознаки нуля першого лічильника з'єднаний з восьмим входом блока програмного керування, двадцятий вихід якого з'єднаний з інформаційним входом знакового розряду регістра цілої частини частки, виходи старших розрядів регістрів першого й другого операндів підключені до входів схеми порівняння старших розрядів операндів, вихід якої підключений до дев'ятого входу блока програмного керування, десятий вхід якого з'єднаний з виходом ознаки нуля регістра першого операнда, а одинадцятий вхід блока програмного керування відповідно з'єднаний з виходом ознаки нуля регістра другого операнда, двадцять перший вихід блока програмного керування з'єднаний з інформаційним входом молодшого розряду регістра цілої частини частки, другі виходи суматорів-віднімачів групи з'єднані з входами компаратора, вихід якого підключений до керуючого входу другого комутатора, інформаційний вхід якого з'єднаний з виходами регістрів значення кратності групи, а вихід з'єднаний з другими входами схем порівняння групи й з інформаційними входами молодших розрядів регістрів цілої й дробової частин частки, входи керування записом яких з'єднані з двадцять другим і двадцять третім виходами блока програмного керування, двадцять четвертий і двадцять п'ятий виходи якого з'єднані з входами керування зсувом регістрів цілої і дробової частин частки відповідно, вихід регістра першого операнда з'єднаний з інформаційним входом регістра другого операнда, а також з четвертим інформаційним входом першого комутатора, двадцять шостий і двадцять сьомий виходи блока програмного керування підключені до входу керування записом регістра другого операнда й входом видачі другого комутатора відповідно, двадцять восьмий і двадцять дев'ятий виходи блока програмного керування з'єднані з входом обнулення й входом керування зчитуванням суматора відповідно, вихід ознаки нуля другого лічильника з'єднаний з дванадцятим входом блока програмного керування, тридцятий і тридцять перший виходи якого підключені відповідно до входів обнулення й входів керування суматорів-віднімачів групи, починаючи з другого, перші виходи всіх суматорів-віднімачів групи з'єднані також з інформаційним входом регістра першого операнда, вхід кожного регістра значення кратності групи є інформаційним входом запису відповідного значення кратності, а керуючий вхід кожного регістра значення кратності групи з'єднаний з тридцять другим виходом блока програмного керування.
Текст
Арифметичний пристрій, що містить регістри першого й другого операндів, суматор і блок програмного керування, входи якого з першого по четвертий з'єднані відповідно з входами кодів операцій додавання, віднімання, множення й ділення пристрою, який відрізняється тим, що в нього введено групу К суматорів-віднімачів, групу К схем порівняння, групу К регістрів значення кратності, компаратор, схему порівняння знаків, схему порівняння старших розрядів операндів, два комутатори, два лічильники, регістри розрядності першого й другого операндів, регістри цілої й дробової частин частки, причому вихід суматора з'єднаний з інформаційним входом регістра другого операнда, виходи знакових розрядів регістрів першого й другого операндів підключені до входів схеми порівняння знаків, вихід якої з'єднаний з п'я тим входом блока програмного керування, перший вихід якого з'єднаний з входом керування першого суматоравіднімача групи і з керуючим входом першого комутатора, перший і другий ви ходи якого підключені відповідно до входів додавання й до входів віднімання всіх суматорів-віднімачів групи, другий і третій виходи блока програмного керування підключені до входів керування зчитуванням регістрів першого й другого операндів, вихід регістра другого операнда підключений до першого інформаційного входу першого комутатора, вхід обнулення регістра першого операнда підключений до четвертого виходу блока програмного керування, шостий вхід якого з'єднаний з виходом знакового розряду першого суматора-віднімача групи, п'ятий вихід блока програмного керування підключений до інформаційного входу знакового розряду регістра першого операнда, шостий ви хід блока програмного керування підключений до інформаційного входу знакового розряду регістра другого операнда, вихід регістра розрядності першого 2 (19) 1 3 33979 4 й другого операндів підключені до входів схеми порівняння старших розрядів операндів, вихід якої підключений до дев'ятого входу блока програмного керування, десятий вхід якого з'єднаний з виходом ознаки нуля регістра першого операнда, а одинадцятий вхід блока програмного керування відповідно з'єднаний з виходом ознаки нуля регістра другого операнда, двадцять перший вихід блока програмного керування з'єднаний з інформаційним входом молодшого розряду регістра цілої частини частки, другі виходи суматорів-віднімачів групи з'єднані з входами компаратора, вихід якого підключений до керуючого входу др угого комутатора, інформаційний вхід якого з'єднаний з виходами регістрів значення кратності групи, а ви хід з'єднаний з другими входами схем порівняння групи й з інформаційними входами молодших розрядів регістрів цілої й дробової частин частки, входи керування записом яких з'єднані з двадцять другим і двадцять третім виходами блока програмного керування, двадцять четвертий і двадцять п'ятий виходи якого з'єднані з входами керування зсувом регістрів цілої і дробової частин частки відповідно, вихід регістра першого операнда з'єднаний з інформаційним входом регістра другого операнда, а також з четвертим інформаційним входом першого комутатора, двадцять шостий і двадцять сьомий виходи блока програмного керування підключені до входу керування записом регістра другого операнда й входом видачі другого комутатора відповідно, двадцять восьмий і двадцять дев'ятий виходи блока програмного керування з'єднані з входом обнулення й входом керування зчитуванням суматора відповідно, вихід ознаки нуля другого лічильника з'єднаний з дванадцятим входом блока програмного керування, тридцятий і тридцять перший виходи якого підключені відповідно до входів обнулення й входів керування суматорів-віднімачів групи, починаючи з другого, перші виходи всіх суматорів-віднімачів групи з'єднані також з інформаційним входом регістра першого операнда, вхід кожного регістра значення кратності групи є інформаційним входом запису відповідного значення кратності, а керуючий вхід кожного регістра значення кратності групи з'єднаний з тридцять другим виходом блока програмного керування. Корисна модель відноситься до області обчислювальної техніки й може бути використана для організації арифметичних операцій над десятковими числами з фіксованою комою в мікроЕОМ або настільному калькуляторі. Відомий пристрій для ділення [а.с СРСР №598075, кл. G06F7/52, 1976p.], що містить регістри зберігання кратних дільника, суматор-віднімач, блок зсуву, буферний регістр, регістр частки й блок керування, перший і другий виходи якогоз'єднані з першим і другим входами регістрів зберігання кратних дільника, третій і четвертий виходи блока керування з'єднані з першою та другою керуючими шинами суматора-віднімача, п'ятий вихід блока керування з'єднаний з шиною зсуву регістра частки, шостий ви хід блока керування підключений до шини зсуву, вихід суматора-віднімача з'єднаний з буферним регістром, а виходи регістрів зберігання кратних дільника об'єднані й з'єднані з першим входом суматора-віднімача, вихід блока зсуву з'єднаний з другим входом суматора-віднімача, виходом регістра частки й з входом регістрів зберігання кратних дільника, вихід знакового розряду буферного регістра з'єднаний з входом блока керування, а вхід молодшого розряду частки підключений до сьомого виходу блока керування. Недоліком даного пристрою для ділення є те, що кратні дільника формуються згідно з рекурентним співвідношенням, а саме ділення виконується шляхом послідовних віднімань від діленого кратних дільника, що не дає значного виграшу у швидкодії. Найбільш близьким за технічною суттю є арифметичний пристрій [Голышев Л.К. "Электронные вычислительные машины", Киев, ГИТЛ УССР, 1968, с. 212, рис. 128], що містить регістри першого й другого операндів, суматор, два пристрої при йому першого й другого операндів у регістри відповідних операндів, два пристрої видачі прямого й зворотного коду з регістра першого операнда в суматор, два пристрої видачі прямого й зворотного коду з регістра другого операнда в суматор, два пристрої видачі прямого й зворотного коду із суматора, блок програмного керування, входи якого з першого по четвертий з'єднані відповідно з входами кодів операцій додавання, віднімання, множення й ділення пристрою, вихід суматора через пристрої видачі прямого й зворотного коду з'єднаний з інформаційними входами пристроїв прийому першого й другого операндів відповідно, виходи яких підключені до інформаційних входів відповідно регістрів першого й другого операндів, виходи яких через відповідні пристрої видачі прямого й зворотного коду з'єднані з входами суматора, загальні кодові шини з'єднані з входами пристроїв прийому першого й другого операндів, виходи блока програмного керування з першого по восьмий підключені відповідно до керуючих входів регістрів обох операндів, двох пристроїв прийому першого й другого операнда, двох пристроїв видачі прямого й зворотного коду з регістра першого операнда в суматор, двох пристроїв видачі прямого й зворотного коду з регістра другого операнда в суматор, двох пристроїв видачі прямого й зворотного коду із суматора. Недоліком відомого арифметичного пристрою є незначна швидкодія, оскільки в ньому операції множення й ділення чисел виконуються шляхом послідовних додавань при множенні й послідовних віднімань при діленні. Таким чином, час виконання цих операцій визначається розрядністю операндів. При виконанні арифметичних операцій над десятковими числами подання їх у двійковому коді не приводить до підвищення швидкодії арифметично 5 33979 го пристрою, оскільки існують непродуктивні часові витрати, пов'язані з необхідними кодовими перетвореннями. В основу корисної моделі поставлена задача створення арифметичного пристрою, в якому за рахунок введення нових блоків та зв'язків досягається збільшення швидкодії за рахунок формування дев'яти кратних відповідного операнда при множенні та діленні десяткових чисел. Поставлена задача вирішується тим, що в арифметичний пристрій, що містить регістри першого й другого операндів, суматор і блок програмного керування, входи якого з першого по четвертий з'єднані відповідно з входами кодів операцій додавання, віднімання, множення й ділення пристрою, введено групу К суматорів-віднімачів, групу К схем порівняння, групу К регістрів значення кратності, компаратор, схему порівняння знаків, схему порівняння старших розрядів операндів, два комутатори, два лічильники, регістри розрядності першого й другого операндів, регістри цілої й дробової частин частки, причому вихід суматора з'єднаний з інформаційним входом регістра другого операнда, виходи знакових розрядів регістрів першого й другого операндів підключені до входів схеми порівняння знаків, вихід якої з'єднаний з п'я тим входом блока програмного керування, перший вихід якого з'єднаний з входом керування першого суматоравіднімача групи і з керуючим входом першого комутатора, перший і другий ви ходи якого підключені відповідно до входів додавання й до входів віднімання всіх суматорів-віднімачів групи, другий і третій виходи блока програмного керування підключені до входів керування зчитуванням регістрів першого й другого операндів, вихід регістра другого операнда підключений до першого інформаційного входу першого комутатора, вхід обнулення регістра першого операнда підключений до четвертого виходу блока програмного керування, шостий вхід якого з'єднаний з виходом знакового розряду першого суматора-віднімача групи, п'ятий вихід блока програмного керування підключений до інформаційного входу знакового розряду регістра першого операнда, шостий ви хід блока програмного керування підключений до інформаційного входу знакового розряду регістра другого операнда, вихід регістра розрядності першого операнда підключений до інформаційного входу першого лічильника, входи керування записом регістрів розрядності першого й другого операндів підключені до сьомого й восьмого виходів блока програмного керування, виходи регістрів розрядності першого й другого операндів підключені відповідно до другого і третього інформаційних входів першого комутатора, вхід керування записом регістра першого операнда з'єднаний з дев'ятим виходом блока програмного керування, десятий і одинадцятий виходи якого підключені до входів керування зчитуванням регістрів розрядності першого й другого операндів відповідно, другий вихід першого суматора-віднімача групи підключений до сьомого входу блока програмного керування, дванадцятий вихід якого з'єднаний з входом обнулення першого суматора-віднімача групи, тринадцятий вихід блока програмного керування 6 підключений до входу обнулення регістра другого операнда, вхід додавання кожного суматоравіднімача групи, починаючи з другого, з'єднаний з першим виходом попереднього суматоравіднімача групи, вихід кожного регістра значення кратності групи підключений до першого входу відповідної схеми порівняння групи, другі входи схем порівняння групи підключені до виходу старшого розряду регістра першого операнда, вихід кожної схеми порівняння групи підключений до входу керування зчитуванням відповідного суматора-віднімача групи, перші виходи суматоріввіднімачів групи підключені також до інформаційного входу суматора, вхід керування записом якого підключений до чотирнадцятого виходу блока програмного керування, п'ятнадцятий і шістнадцятий виходи якого підключені до входів керування зсувом регістра першого операнда й суматора, входи першого й другого лічильників з'єднані із сімнадцятим і вісімнадцятим виходами блока програмного керування, вихід старшого розряду суматора підключений до інформаційного входу молодшого розряду регістра другого операнда, вхід керування зсувом якого з'єднаний з дев'ятнадцятим виходом блока програмного керування, вихід ознаки нуля першого лічильника з'єднаний з восьмим входом блока програмного керування, двадцятий вихід якого з'єднаний з інформаційним входом знакового розряду регістра цілої частини частки, виходи старших розрядів регістрів першого й другого операндів підключені до входів схеми порівняння старших розрядів операндів, вихід якої підключений до дев'ятого входу блока програмного керування, десятий вхід якого з'єднаний з виходом ознаки нуля регістра першого операнда, а одинадцятий вхід блока програмного керування відповідно з'єднаний з виходом ознаки нуля регістра другого операнда, двадцять перший вихід блока програмного керування з'єднаний з інформаційним входом молодшого розряду регістра цілої частини частки, другі виходи суматорів-віднімачів групи з'єднані з входами компаратора, вихід якого підключений до керуючого входу др угого комутатора, інформаційний вхід якого з'єднаний з виходами регістрів значення кратності групи, а ви хід з'єднаний з другими входами схем порівняння групи й з інформаційними входами молодших розрядів регістрів цілої й дробової частин частки, входи керування записом яких з'єднані з двадцять другим і двадцять третім виходами блока програмного керування, двадцять четвертий і двадцять п'ятий виходи якого з'єднані з входами керування зсувом регістрів цілої і дробової частин частки відповідно, вихід регістра першого операнда з'єднаний з інформаційним входом регістра другого операнда, а також з четвертим інформаційним входом першого комутатора, двадцять шостий і двадцять сьомий виходи блока програмного керування підключені до входу керування записом регістра другого операнда й входом видачі другого комутатора відповідно, двадцять восьмий і двадцять дев'ятий виходи блока програмного керування з'єднані з входом обнулення й входом керування зчитуванням суматора відповідно, вихід ознаки нуля другого лічильника з'єднаний з дванадцятим входом блока про 7 33979 грамного керування, тридцятий і тридцять перший виходи якого підключені відповідно до входів обнулення й входів керування суматорів-віднімачів групи, починаючи з другого, перші виходи всіх суматорів-віднімачів групи з'єднані також з інформаційним входом регістра першого операнда, вхід кожного регістра значення кратності групи є інформаційним входом запису відповідного значення кратності, а керуючий вхід кожного регістра значення кратності групи з'єднаний з тридцять другим виходом блока програмного керування. На Фіг.1 представлено структурн у схему арифметичного пристрою, на Фіг.2 - функціональну схему блока програмного керування. Арифметичний пристрій (Фіг.1) містить групу К суматорів-віднімачів 1, блок 2 програмного керування, групу К схем 3 порівняння, групу К регістрів 4 значення кратності, де (К+1) - основа системи числення, регістр 5 першого операнда, регістр 6 другого операнда, компаратор 7, суматор 8, схему 9 порівняння знаків, регістри 10 і 11 цілої й дробової частин частки, схему 12 порівняння старших розрядів операндів, два комутатори 13 і 14, два лічильники 15 і 16 і два регістри 17 і 18 розрядності першого й другого операндів відповідно. Входи кодів операцій додавання, віднімання, множення, і ділення пристрою з'єднані відповідно з входами 19, 20, 21 і 22 блока 2 програмного керування, виходи знакових розрядів регістрів 5 і 6 першого й другого операндів підключені до входів схеми 9 порівняння знаків, вихід якої з'єднаний з входом 23 блока 2 програмного керування, вихід якого з'єднаний з входом 24 керування операцією першого суматора-віднімача 1 групи й з керуючим входом комутатора 13, виходи 25 і 26 якого підключені відповідно до входів додавання й до входів віднімання всіх суматорів-віднімачів 1 групи. Входи 27, 28 і 29 керування зчитуванням регістрів 5 і 6 першого й другого операндів і суматора 8 з'єднані з відповідними виходами блока 2 програмного керування, виходи регістрів 5 і 6 першого і другого операндів й регістрів 17 і 18 розрядності першого й другого операндів підключені до відповідних входів комутатора 13, входи 30, 31 і 32 обнулення регістрів 5 і 6 першого й другого операндів і суматора 8 з'єднані з відповідними виходами блока 2 програмного керування, виходи 33, 34 і 35 якого з'єднані з входами керування зсувом відповідно регістрів 5 і 6 першого й другого операндів і суматора 8. Вхід 36 блока 2 програмного керування з'єднаний з виходом знакового розряду першого суматора-віднімача 1 групи, входи 37, 38 і 39 керування записом регістрів 5 і 6 першого й другого операндів і суматора 8 підключені до відповідних виходів блока 2 програмного керування, вихід регістра 17 розрядності першого операнда з'єднаний з інформаційним входом лічильника 15, а інформаційний вхід 40 знакового розряду регістра 5 першого операнда й інформаційний вхід 41 знакового розряду регістра 6 другого операнда підключені до відповідних виходів блока 2 програмного керування. Входи 42 і 43 керування записом регістрів 17 і 18 розрядності першого й другого операндів з'єднані з відповідними виходами блока 2 програмного керування, виходи 44 і 45 якого підключені до вхо 8 дів керування зчитуванням регістрів 17 і 18 першого й другого операндів відповідно, а виходи 46 і 47 - до входів керування відповідно лічильників 15 і 16, вихід 48 першого суматора-віднімача 1 групи з'єднаний з відповідним входом блока 2 програмного керування, вихід 49 якого підключений до входу обнулення першого суматора-віднімача 1 групи. Вхід додавання кожного суматора-віднімача 1 групи, починаючи з другого, з'єднаний з виходом 50 попереднього суматора-віднімача 1 групи, входи 51 керування операцією - з відповідним виходом блока 2 програмного керування, вихід 52 якого з'єднаний з входами обнулення всіх суматоріввіднімачів 1 групи, починаючи із другого, ви ходи 48 всіх суматорів-віднімачів 1 групи підключені до входу компаратора 7, а виходи 50 - до інформаційних входів регістра 5 першого операнда й суматора 8. Вихід кожного регістра 4 значення кратності гр упи підключений до входу 53 відповідної схеми 3 порівняння групи, вхід 54 яких підключений до виходу старшого розряду регістра 5 першого операнда, а вихід кожної схеми 3 порівняння групи з'єднаний з входом 55 керування зчитуванням відповідного суматора-віднімача 1 групи. Вихід старшого розряду суматора 8 підключений до інформаційного входу молодшого розряду регістра 6 другого операнда, виходи суматора 8 і регістра 5 першого операнда з'єднані з інформаційним входом 56 регістра 6 другого операнда, виходи старших розрядів регістрів 5 і 6 першого й другого операндів підключені до входів схеми 12 порівняння старших розрядів операндів, вихід якої з'єднаний з входом 57 блока 2 програмного керування, відповідні входи якого підключені до виходів 58 і 59 ознаки нуля лічильників 15 і 16 відповідно. Вихід 60 блока програмного керування з'єднаний з інформаційним входом знакового розряду регістра 10 цілої частини частки, вихід 61 – з інформаційним входом молодшого розряду регістра 10 цілої частини частки, входи 62 і 63 керування записом і входи 64 і 65 керування зсувом відповідно регістра 10 цілої частини й регістра 11 дробової частини частки підключені до відповідних ви ходів блока 2 програмного керування. Вихід компаратора 7 з'єднаний з керуючим входом комутатора 14, інформаційний вхід якого з'єднаний з виходом всіх регістрів 4 значення кратності групи, вихід 66 - з входами 54 схем 3 порівняння групи й з інформаційними входами молодших розрядів регістрів 10 і 11 цілої й дробової частини частки, а вхід 67 видачі комутатора 14 підключений до відповідного виходу блока 2 програмного керування, входи 68, 69 якого підключені до віповідних виходів ознаки нуля регістрів 5 і 6 першого і другого операндів відповідно. Причому вхід 70 кожного з регістрів 4 значення кратності групи є інформаційним входом запису відповідного значення кратності, а керуючий вхід кожного з регістрів 4 значення кратності з'єднаний з виходом 71 блока 2 програмного керування. Блок 2 програмного керування (Фіг.2) містить мікропрограмний автомат (МЛА) 72 і восьмирозрядний регістр 73 ознак. Входами МЛА 72 є входи 19, 20, 21, 22 кодів операцій додавання, віднімання, множення та ділення відповідно блока 2 програмного керування, відповідні виходи МЛА 72 з'єднані 9 33979 з входами молодших семи розрядів восьмирозрядного регістра 73 ознак, вхід восьмого розряду якого підключений до входу 23 блока 2 програмного керування, а всі вісім виходів регістра 73 ознак з'єднані з відповідними входами МЛА 72. Входи 36, 48, 57-59, 68-69 блока 2 програмного керування з'єднані з відповідними входами МЛА 72, виходи якого підключені до виходів 24, 27-35, 37-47, 49, 51, 52, 60-65, 67, 71 блока 2 програмного керування. Співвідношення між номерами виводів, задіяними вузлами і виконуваними мікроопераціями, а також кодування сигналів ознак і сигналів керування наведено у Таблиці 1, де прийнято такі позначення: БПК - блок програмного керування, КОП код операції, См - суматор, Лч -лічильник, Рг - регістр. Таблиця 1 Сигнали Вивід Задіяний Мікрооперації вузол x1 19 БПК2 КОП (додавання) x2 20 БПК2 КОП (віднімання) x3 21 БПК2 КОП (множення) x4 22 БПК2 КОП (ділення) Схема поріx5 23 Ознака рівності вняння 9 x11 36 См 1(1) Ознака знака x8 48 См 1(1) Розрядність результату x10 57 Схема поріПорівняння вняння 12 Ознака нуля - закінченx9 58 Лч15 ня множення Ознака нуля - закінченx12 59 Лч16 ня ділення x6 68 Рг 5 Ознака нуля x7 69 Рг 6 Ознака нуля Комутатор Дозвіл додаванy5 24 13; См 1 (1) ня/віднімання y30 27 Рг 5 Дозвіл зчитування y4 28 Рг 6 Дозвіл зчитування y25 29 См 8 Дозвіл зчитування y24 30 Рг 5 Обнулення y18 31 Рг 6 Обнулення y7 32 См 8 Обнулення y19 33 Рг 5 Зсув ліворуч y22 34 Рг 6 Зсув ліворуч y20 35 См 8 Зсув ліворуч y1 37 Рг 5 Дозвіл запису y2 38 Рг 6 Дозвіл запису y13 39 См 8 Дозвіл запису y3 40 Рг 5 Запис знака y6 41 Рг 6 Запис знака y9 42 Pr 17 Дозвіл запису y10 43 Рг 18 Дозвіл запису y14 44 Pr 17 Дозвіл зчитування y15 45 Рг 18 Дозвіл зчитування y21 46 Лч 15 Декремент y31 47 Лч 16 Декремент y16 49 См 1 (1) Обнулення Дозвіл додаванy17 51 См 1 (1..K) ня/віднімання y0 52 См 1 (2..K) Обнулення 10 y11 y12 y8 y23 y26 y27 60 61 62 63 64 65 y28 67 y29 71 Pr 10 Pr 10 Pr 10 Pr 11 Pr 10 Pr 11 Комутатор 14 Рг 4(1..К) Запис знака Запис одиниці Дозвіл запису Дозвіл запису Зсув ліворуч Зсув ліворуч Дозвіл видачі Дозвіл запису Арифметичний пристрій (Фіг.1) реалізує такі операції: додавання, віднімання, множення й ділення десяткових чисел. Додавання й віднімання десяткових чисел на арифметичному пристрої здійснюється шляхом подачі операндів А і В послідовно на перший суматор-віднімач 1. Знак результату визначається з урахуванням знаків операндів і знака, одержуваного на першому суматорі-віднімачі 1. Арифметичний пристрій реалізує таку послідовність дій при множенні десяткових чисел. 1. Перевіряється рівність множників А і В н улю. У випадку, якщо обидва співмножники або один з них дорівнюють нулю, результату присвоюється значення нуля і операція припиняється. В іншому випадку формуються кратні множника А. Знак результату визначається відповідно до знаків операндів за законами двійкової логіки. 2. Виконується одночасне порівняння вмісту старшого розряду множника В й значення кожного кратного множника А. 3. При співпаданні цифри старшого розряду множника В й значення одного з кратних множника А виконується підсумовування відповідного кратного з вмістом суматора і наступний зсув вмісту суматора, якщо виконується множення не на останню цифру множника В. В іншому випадку зсув вмісту суматора не виконується. 4. Повторюються дії пп. 2, 3 доти, поки не буде реалізоване множення на всі розряди множника В. Для ділення десяткових чисел виконуються такі дії. 1. Перевіряється рівність діленого А і дільника В нулю. У випадку, якщо ділене А або дільник В дорівнює нулю, операція ділення припиняється. В іншому випадку формуються кратні дільника В, виконується порівняння кількості розрядів операндів і порівняння цифр відповідних розрядів, починаючи зі старших, для визначення розрядності цілої й дробової частини результату. Знак результату визначається відповідно до знаків операндів за законами двійкової логіки. 2. Відбувається одночасне віднімання від усіх кратних дільника В часткового залишку (на початку операції - самого діленого А або його частини). 3. Вибирається мінімальний за модулем від'ємний частковий залишок (або нуль) серед отриманих після віднімання. Значення кратності, що відповідає обраному залишку, є черговою цифрою частки, а модуль залишку використовується для формування наступного часткового залишку. 4. Отримана цифра частки записується у відповідний розряд регістра цілої або дробової частини результату. 11 33979 5. Повторюються дії пп. 2,3,4 доти, поки не буде отриманий результат необхідної розрядності. Арифметичний пристрій (Фіг.1) працює в такий спосіб. При додаванні й відніманні перший операнд А записується в перший суматор-віднімач 1 групи, а його знак - у знаковий розряд регістра 5 першого операнда, другий операнд В - у регістр 6 другого операнда, а його знак відповідно - у знаковий розряд регістра 6 другого операнда. Результат порівняння знакових розрядів регістрів 5 і 6 відповідних операндів з виходу схеми 9 порівняння знакових розрядів надходить на вхід 23 блока 2 програмного керування, де після аналізу результату порівняння й коду операції додавання або віднімання, який надходить на вхід 19 або 20 блока 2 програмного керування, визначається, яка з двох операцій, додавання або віднімання, виконується на першому суматорі-віднімачеві 1 групи. За керуючим сигналом, що надходить на вхід 24 першого суматора-віднімача 1 групи й визначає вид операції, виконується додавання або віднімання на першому суматорі-віднімачеві 1 групи першого операнда А й другого В, що надходить з регістра 6. При зчитуванні другого операнда В з регістра 6 при наявності сигналу на його вході 28 керування зчитуванням, інформація, проходячи через комутатор 13, відповідно із кодом операції, яку необхідно виконати, подається або з виходу 25 комутатора 13 на вхід додавання першого суматоравіднімача 1 групи, що відповідає виконанню операції додавання, або з виходу 26 комутатора 13 на його вхід віднімання, що відповідає виконанню операції віднімання. Результат зчитується з першого суматора-віднімача 1 групи по виходу 50 у регістр 5 першого операнда, у знаковому розряді якого зберігається знак першого операнда при додаванні. Аналогічні дії відбуваються при відніманні, якщо результат віднімання на першому суматорі-віднімачеві 1 групи з додатним знаком, в іншому випадку в знаковому розряді регістра 5 першого операнда знак змінюється на протилежний за сигналом, що надходить на інформаційний вхід 40 знакового розряду регістра 5 першого операнда. При множенні за наявністю коду цієї операції на вході 21 блока 2 програмного керування множник А надходить у регістр 6 др угого операнда, множник В - у регістр 5 першого операнда. Відбувається виявлення нульових множників за наявності ознаки нуля на одному з входів 68 або 69 блока 2 програмного керування, що відповідає нульовому вмісту регістра 5 першого операнда і регістра 6 другого операнда відповідно. У випадку, якщо один з множників дорівнює нулеві, операція множення припиняється. В іншому випадку формується знак добутку, який буде додатним при співпаданні знаків співмножників і від'ємним при їхній розбіжності. Залежно від інформації, що надходить з виходу схеми 9 порівняння знаків на вхід 23 блока 2 програмного керування, останній формує сигнал, що надходить на інформаційний вхід 41 знакового розряду регістра 6 другого операнда. У лічильник 15 і регістр 17 розрядності першого операнда записується кількість розрядів М мно 12 жника В, у регістр 18 розрядності другого операнда - кількість розрядів N множника А. Сума величин розрядностей обох співмножників, яка необхідна для визначення розрядності результату множення й порівняння його з величиною n, де n кількість розрядів регістрів 5, 6 і суматора 8, формується на першому суматорі-віднімачі 1 групи й надходить з його виходу 48 на відповідний вхід блока 2 програмного керування, де аналізується її величина. Необхідно відзначити, що інформація з регістрів 17 і 18 розрядності операндів надходить з виходу 25 комутатора 13 на вхід додавання першого суматора-віднімача 1 групи. При множенні зв'язок з виходу першого суматора-віднімача 1 групи на вхід регістра 5 першого операнда блокується. Перший суматор-віднімач 1 групи обнуляється за сигналом, що надходить з виходу 49 блока 2 програмного керування на його вхід обнулення. В усі суматори-віднімачі 1 групи на їх входи додавання заноситься множник А з виходу регістра 6 другого операнда через комутатор 13 з його виходу 25 за сигналом дозволу зчитування на вході 28 регістра 6 другого операнда і за сигналами дозволу додавання на керуючому вході комутатора 13, вході 24 керування операцією першого суматора-віднімача 1 групи і входах 51 керування операцією суматорів-віднімачів 1 групи, починаючи з другого. Потім формуються кратні множника А на відповідних суматорах-віднімачах 1 групи шляхом послідовного додавання до вмісту кожного суматора-віднімача 1 групи, починаючи з другого, вмісту попереднього суматора-віднімача 1 групи з його виходу 50 за сигналами дозволу додавання на входа х 51 керування суматорів-віднімачів 1 групи. У регістри 4 значення кратності групи по їх входах 70 записується значення відповідної кратності множника А від 1 до К, де (К+1) - основа системи числення, за наявністю сигналу дозволу запису на виході 71 блока 2 програмного керування. Регістр 6 другого операнда обнуляється за сигналом, що надходить на його вхід 31 обнулення. Порівняння старшої цифри множника В, що надходить з виходу старшого розряду регістра 5 першого операнда, і значень кратності множника А, записаних у регістрах 4 значення кратності групи, здійснюється одночасно на всіх схемах 3 порівняння групи. При збігові десяткових цифр на одній зі схем 3 порівняння групи сигнал з її ви ходу надходить на вхід 55 керування зчитуванням відповідного суматора-віднімача 1 групи й дозволяє перезапис його вмісту з ви ходу 50 на вхід суматора 8. При множенні зв'язок з виходів 50 всіх суматорів-віднімачів 1 групи на вхід регістра 5 блокується. Далі відбувається зсув ліворуч на один розряд вмісту регістра 5 першого операнда і суматора 8 за сигналом з виходів 33 і 35 блока 2 програмного керування на їх входи керування зсувом. Вміст лічильника 15 зменшується на одиницю за керуючим сигналом декремента з виходу 46 блока 2 програмного керування. Вихід старшого розряду суматора 8 з'єднаний з інформаційним входом молодшого розряду регістра 6 другого операнда, що дозволяє надалі одержати результат множен 13 33979 ня, розрядність якого перевищує величину n, тобто коли (N+М)>n. У цьому випадку одночасно зі зсувом ліворуч інформації в регістрі 5 першого операнда і суматорі 8 виконується зсув ліворуч вмісту регістра 6 другого операнда за сигналом з виходу 34 блока 2 програмного керування. Після завершення зсуву знову відбувається порівняння наступної цифри множника В і значень кратності множника А, підсумовування відповідного кратного з вмістом суматора 8, наступний зсув інформації регістрів 5, 6 відповідних операндів і суматора 8 на один розряд ліворуч й зменшення на одиницю вмісту лічильника 15. Цей цикл повторюється доти, поки не надійде сигнал з виходу 58 ознаки нуля лічильника 15 на вхід блока 2 програмного керування, що свідчить про нульове значення вмісту лічильника 15. На цьому операція множення закінчується. При діленні за наявністю коду цієї операції на вході 22 блока 2 програмного керування ділене А надходить одночасно в регістр 6 другого операнда й у суматор 8, дільник В - у регістр 5 першого операнда. Аналогічно, як при виконанні операції множення, відбувається порівняння діленого А і дільника В з нулем за наявності ознаки нуля на одному з входів 68 або 69 блока 2 програмного керування. У випадку, якщо один з операндів дорівнює нулю, операція ділення припиняється. Формується знак частки, який буде додатним при збігові знаків операндів і від'ємним при їхній відмінності. Залежно від інформації, що надходить з виходу схеми 9 порівняння знаків на вхід 23 блока 2 програмного керування, останній формує сигнал з виходу 60, який здійснює запис відповідного значення знака частки в знаковий розряд регістра 10 цілої частини частки. У лічильник 15 і регістр 17 розрядності першого операнда записується кількість розрядів М дільника В, у регістр 18 розрядності друго го операнда - кількість розрядів N діленого А, у лічильник 16 - величина R необхідної розрядності результату ділення. Різниця величин розрядностей діленого й дільника формується на першому суматорі-віднімачеві 1 групи й надходить з його виходу 48 на відповідний вхід блока 2 програмного керування, де аналізується її величина й знак, що надходить на вхід 36 блока 2 програмного керування. В усі суматори-віднімачі 1 групи на їх входи додавання заноситься дільник В з виходу регістра 5 першого операнда через комутатор 13 з його виходу 25 за сигналом дозволу зчитування на вході 27 регістра 5 першого операнда і за сигналами дозволу додавання на керуючому вході комутатора 13, вході 24 керування операцією першого суматора-віднімача 1 групи і входа х 51 керування операцією суматорів-віднімачів 1 групи, починаючи з другого. Потім формуються кратні дільника В на відповідних суматорах-віднімачах 1 групи шля хом послідовного додавання до вмісту кожного суматора-віднімача 1 групи, починаючи з другого, вмісту попереднього суматора-віднімача 1 групи з його виходу 50 за сигналами дозволу додавання на входах 51 керування суматоріввіднімачів 1 групи. У регістри 4 значення кратності групи по їх входах 70 записується значення відпо 14 відної кратності дільника В за наявністю сигналу дозволу запису на виході 71 блока 2 програмного керування. Регістр 5 першого операнда обнуляється за сигналом, що надходить на його вхід 30 обнулення з виходу блока 2 програмного керування. При аналізі операндів можливі такі варіанти. 1. У випадку, якщо N=M, необхідно провести аналіз цифр старших розрядів операндів А і В, що здійснюється за допомогою схеми 12 порівняння старших розрядів операндів. 1.1. Якщо аN= вM, то необхідне послідовне порівняння цифр у наступних молодших розрядах операндів. Перед кожним порівнянням виконується зсув вмісту регістрів 5 і 6 відповідних операндів на один розряд ліворуч, при цьому інформація в лічильнику 15 зменшується на одиницю (перед початком циклу порівняння в лічильник 15 записане число М, що вказує на кількість необхідних порівнянь). Якщо виявляється, що у всі х, починаючи зі старшого М-го й закінчуючи першим, відповідних розрядах цифри діленого А й дільника В рівні, то операція ділення припиняється й у молодший розряд регістра 10 цілої частини частки записується одиниця за сигналом з виходу 61 блока 2 програмного керування. 1.2. Якщо аN>вM (або при рівності цифр попередніх старших розрядів, починаючи з деякого розряду, аі>вj), порівняння припиняється й регістри 5 і 6 відповідних операндів обнуляються за сигналом, що надходить на їх входи 30 і 31 обнулення з виходів блока 2 програмного керування. Потім у регістр 6 другого операнда по його входу 56 переписується інформація із суматора 8, а суматор 8 обнуляється за сигналом, що приходить на його вхід 32 обнуления. 1.3. Якщо аNвj), то в М-ті молодші розряди попередньо обнуленого регістра 6 другого операнда по його входу 56 заноситься вміст М-их старших розрядів суматора 8, починаючи N-го й до (N-M+1)-гo розряду включно. При цьому інформація в суматорі 8 зсувається ліворуч доти, поки в його старшому розряді не з'явиться цифра (N-M)гo розряду діленого А. 3.2. Якщо аN
ДивитисяДодаткова інформація
Назва патенту англійськоюArithmetic device
Автори англійськоюKozhemiako Volodymyr Prokopovych, Martyniuk Tetiana Borysivna, Saliuta Viktor Hryhorovych, Kozhemiako Andrii Viktorovych, Boiko Oksana Arkadiivna
Назва патенту російськоюАрифметическое устройство
Автори російськоюКожемяко Владимир Прокофьевич, Мартынюк Татьяна Борисовна, Салюта Виктор Григорьевич, Кожемьяко Андрей Викторович, Бойко Оксана Аркадиевна
МПК / Мітки
МПК: G06F 7/00
Мітки: пристрій, арифметичний
Код посилання
<a href="https://ua.patents.su/10-33979-arifmetichnijj-pristrijj.html" target="_blank" rel="follow" title="База патентів України">Арифметичний пристрій</a>
Попередній патент: Спосіб діагностики витоків робочих і змащувальних рідин
Наступний патент: Спосіб автоматичного визначення порога бінаризації зображення
Випадковий патент: Формувач імпульсів з перенастроюваною тривалістю і шпаруватістю, яка дорівнює цілому числу