Комп’ютер баз знань
Номер патенту: 89651
Опубліковано: 25.04.2014
Автори: Григор'єв Сергій Миколайович, Кургаєв Олександр Пилипович
Формула / Реферат
Комп'ютер баз знань, що містить головний комп'ютер, перший та другий блоки вводу-виводу, оперативну пам'ять, регістр даних, арифметико-логічний блок, робочу пам'ять, регістр-лічильник координат вхідного масиву та перший блок управління, чий вхід-вихід разом із входом-виходом арифметико-логічного блока, першим входом-виходом другого блока вводу-виводу та першим входом-виходом регістра даних, з'єднаного другим входом-виходом із робочою пам'яттю, підключений до шини даних, другий вхід-вихід другого блока вводу-виводу підключений до входу-виходу регістра-лічильника координат вхідного масиву, а третій вхід-вихід другого блока вводу-виводу разом із оперативною пам'яттю та другим входом-виходом першого блока вводу-виводу, з'єднаного першим входом-виходом із головним комп'ютером, підключений до системної шини пристрою, який відрізняється тим, що в нього введено регістр-лічильник координат вихідного масиву, третій блок вводу-виводу, другий блок управління, регістр кореня бази знань, два регістри команд, регістр адрес даних, регістр імені структури, регістр номера слова фрейму, регістр адреси бази знань, регістр координати сліду, регістр вершини сліду, регістр ітерації, регістр ознак сліду, регістр ознак породження, додатковий регістр ознак сліду, додатковий регістр ознак породження, регістр першої інверсії, регістр другої інверсії, регістр типу фрейму, регістр ознак останнього елементу, регістр істинності, тринадцять мультиплексорів, стек адрес даних, стек регістрів, стек ознак, суматор та два суматори по модулю два, при цьому вихід першого мультиплексора підключений до адресного входу робочої пам'яті, а входи з'єднані із виходом регістра-лічильника координат вхідного масиву та із виходом регістра-лічильника координат вихідного масиву, чий вхід-вихід підключений до четвертого входу-виходу другого блока вводу-виводу, перший вхід-вихід третього блока вводу-виводу підключено до системної шини пристрою, другий вхід-вихід підключено до першого входу-виходу регістра адрес даних, чий другий вхід-вихід підключений до входу-виходу стека адрес даних, перший вихід третього блока вводу-виводу підключено до входу регістра кореня бази знань, другий вихід підключено до входу другого регістра команд, а вхід третього блока вводу-виводу підключено до виходу першого регістра команд, вихід регістра кореня бази знань підключено до входу регістра імені структури та до перших входів четвертого та п'ятого мультиплексорів, вихід регістра імені структури підключено до перших входів третього та шостого мультиплексорів та до другого входу другого мультиплексора, третій вхід якого підключений до першого виходу стека регістрів, перший вхід разом із другим входом третього мультиплексора з'єднаний із виходом суматора, а вихід підключений до входу регістра номера слова фрейму, чий вихід підключений до першого входу стека регістрів та до першого входу суматора, другий вхід якого разом із четвертим входом шостого мультиплексора і першими входами другого блока управління та стека ознак підключений до виходу регістра ітерації, чий вхід підключений до виходу п'ятого мультиплексора, другий вхід якого підключений до першого виходу стека ознак, вихід третього мультиплексора підключено до входу регістра адреси бази знань, чий вихід підключено до другого входу шостого мультиплексора, вихід якого підключено до третього входу першого регістра команд, третій вхід разом із входом регістра вершини сліду з'єднаний із виходом регістра координати сліду, вхід якого підключений до виходу четвертого мультиплексора, чий другий вхід підключений до другого виходу стека регістрів, а третій вхід разом із другимвходом стека регістрів підключений до виходу регістра вершини сліду, вихід другого блока управління підключено до першого входу першого регістра команд, другий вхід другого блока управління разом із другими входами суматорів по модулю два підключені до виходу регістра істинності, третій вхід разом із входами додаткових регістрів ознак сліду та ознак породження і з першими входами сьомого, восьмого, дев'ятого, десятого, одинадцятого та дванадцятого мультиплексорів підключений до виходу другого регістра команд, а четвертий вхід другого блока управління разом із другим входом першого регістра команд підключений до виходів регістрів ознак сліду, ознак породження, типу фрейму та ознак останнього елементу, виходи додаткових регістрів ознак сліду та ознак породження підключені до других входів сьомого і восьмого мультиплексорів відповідно, чиї треті входи разом із другими входами дев'ятого, десятого, одинадцятого і дванадцятого мультиплексорів підключені до другого виходу стека ознак, другий вхід якого підключений до других виходів регістрів ознак сліду, ознак породження, першої інверсії, другої інверсії, типу фрейму та останнього елементу, чиї входи підключені до виходів сьомого, восьмого, дев'ятого, десятого, одинадцятого і дванадцятого мультиплексорів відповідно, другий вихід регістра першої інверсії підключений до перших входів тринадцятого мультиплексора та першого суматора по модулю два, вихід регістра другої інверсії підключений до першого входу другого суматора по модулю два, вихід тринадцятого мультиплексора підключений до входу регістра істинності, а його другий і третій входи з'єднані із виходами першого та другого суматорів по модулю два відповідно.
Текст
Реферат: UA 89651 U UA 89651 U 5 10 15 20 25 30 35 40 45 50 55 Корисна модель належить до області обчислювальної техніки та може бути використана при побудові систем, заснованих на знаннях (knowledge-based systems). Відомий пристрій [SU1455345, 30.01.1989, Устройство для реализации нормальных алгорифмов Маркова // Довгань В.Μ., Кореневский Н.А., Бойко Ю.Л., Плотников В.В.], який призначено для обробки інформаційних потоків та масивів даних текстового та числового характерів згідно із заданими нормальними алгоритмами та складається із: блока організації підставлення, комутатора, блока пам'яті слова, блока регістрів слова, дешифратора межі слова, блока пошуку входження, блока керування. Більш швидкодіючим є пристрій [SU1635192, 15.03.91, Устройство для реализации подстановок слов // Довгаль В.Μ., Корольков Ο.Φ., Керекеша В.В., Старков Ф.А., Шевелев С.С.], який дозволяє: оброблювати дані символьного та числового типів за допомогою нормальних алгоритмів, які складаються виключно із формул підставлення з двобуквеними лівими та правими частинами, при цьому всі ліві частини (антецеденти) формул паралельно порівнюються із двобуквеним початковим словом (ситуацією) за допомогою асоціативного вузла порівняння. Відомий пристрій складається із: блока пам'яті слів, блока пам'яті входжень, блока пам'яті підстановок, вузла зсуву, комутатора, першого вузла контролю оброблюваного слова, вузла порівняння, блока організації підстановки елементів логіки, лічильника та блока керування. Більш досконалим щодо функціональних можливостей є пристрій [RU2039375, 22.06.1992, Устройство для реализации продукций // Довгаль В.М., Старков Φ.Α., Керекеша В.В., Шевелев С.С., Леонов Е.И.], який складається із: блока пам'яті слів, вузла порівняння, блока керування, регістра символу ситуації, регістра маркера ситуації, блока тегів, блока ідентифікації активної продукції та регістра зсуву показника зчитування. Блоки сполучені між собою за допомогою окремих шин та працюють під управлінням блока керування. Серед головних особливостей відомого пристрою (RU2039375, 22.06.1992) слід відмітити те, що він допускає обробку продукцій нефіксованої довжини. Головним недоліком даного пристрою є те, що продукції у блоці пам'яті слів зберігаються у вигляді символьного масиву нефіксованої довжини. Це призводить до неефективного використання пам'яті слів та до необхідності по-символьної перевірки в процесі співставлення антецедентів. Найближчим до запропонованого є пристрій [US Patent, number 5218669 June 8, 1993, VLSI hardware implemented rule-based expert system apparatus and method (апаратно реалізована система обробки продукційних правил) // Hideaki Kobayashi, Masahiro Shindo], вибраний як найближчий аналог. Пристрій являє собою сопроцесор та містить: блок управління, блок вводувиводу, робочу пам'ять, арифметико-логічний блок та оперативну пам'ять. Блок вводу-виводу призначений для забезпечення обміну даними та командами між системою обробки продукційних правил та головним комп'ютером. Процесор продукційних правил у складі блока управління, арифметико-логічного блока та робочої пам'яті призначений для ефективної обробки продукційних правил та реалізований у формі інтегральної мікросхеми. Арифметико-логічний блок призначений для виконання команд: порівняння над даними (=, , , =, NOT, AND, OR); переміщення даних; логічного зсуву та переходу. Блок управління керує роботою всіх модулів процесора продукційних правил, а також процесом обміну даними між пам'яттю правил та блоком вводу-виводу. Оперативна пам'ять містить набір команд фіксованої довжини. Кожна команда містить такі поля: "тип команди", "прапор" (умова (condition)/дія (action)) та два операнди. Якщо поточна команда у полі "прапор" містить умову, то відбувається порівняння операндів у залежності від коду поля "тип команди". Якщо команда характеризується як дія, то над поточними операндами виконується дія, зазначена у полі "тип команди". Серед недоліків найближчого аналога можна вказати наступні. 1) Необхідність виконання великої кількості обчислень при співставленні антецедентів у процесі пошуку активної продукції. Це пов'язано із тим, що між продукційними правилами, які містяться в оперативній пам'яті у вигляді команд спеціального формату, відсутній структурний зв'язок. 2) Відсутність механізму пояснення логічного виводу. 3) Відсутність ефективного представлення у пам'яті ітераційних та рекурсивних структур. Спільними ознаками найближчого аналога та пропонованої моделі є головний комп'ютер, перший та другий блоки вводу-виводу, оперативна пам'ять, регістр даних, арифметико-логічний блок, робоча пам'ять, регістр-лічильник координат вхідного масиву та перший блок управління. В основу корисної моделі поставлена задача побудови спеціалізованого комп'ютера баз знань. Всяка задача, поставлена у вигляді імені функції та значення її аргументу, вирішується виводом рішення у процесі інтерпретації бази знань. 1 UA 89651 U 5 10 15 20 25 30 35 40 45 50 55 60 База знань складається із структури взаємозв'язаних визначень термінів, кожне з яких представляється у формі одного з п'яти фреймів: альтернативи, послідовності, ітерації, текстової константи або терміналу. Усякий фрейм - послідовність слів фіксованої довжини (наприклад, трибайтових), серед яких розрізняється перше слово, а в кожному зі слів - перший байт і наступні. Фрейми текстової константи й термінала - однослівні, ітерації - двослівні, альтернативи й послідовності - багатослівні. Фрейми визначень всіх термінів всякої бази знань розміщено в оперативній пам'яті 6 у вигляді ієрархічної структури, що усуває проблему множини конфліктних правил. Такий принцип організації бази знань дозволяє ефективно зберігати та інтерпретувати ітераційні й рекурсивні структури визначень. Ще однією важливою відмінністю комп'ютера баз знань є те, що структура процесу інтерпретації, процесу виводу рішення зберігається спеціальними засобами ведення сліду. Для розширення функціональних можливостей інтерпретації рекурсивних, ітераційних та вкладених структур і формування структури виводу рішення задачі у пристрій, що містить головний комп'ютер, перший та другий блоки в воду-виводу, оперативну пам'ять, регістр даних, арифметико-логічний блок, робочу пам'ять, регістр-лічильник координат вхідного масиву та перший блок управління, чий вхід-вихід разом із входом-виходом арифметико-логічного блока, першим входом-виходом другого блока вводу-виводу та першим входом-виходом регістра даних, з'єднаного другим входом-виходом із робочою пам'яттю, підключений до шини даних, другий вхід-вихід другого блока вводу-виводу підключений до входу-виходу регістра-лічильника координат вхідного масиву, а третій вхід-вихід другого блока вводу-виводу разом із оперативною пам'яттю та другим входом-виходом першого блока вводу-виводу, з'єднаного першим входом-виходом із головним комп'ютером, підключений до системної шини пристрою, введено регістр-лічильник координат вихідного масиву, третій блок вводу-виводу, другий блок управління, регістр кореня бази знань, два регістри команд, регістр адрес даних, регістр імені структури, регістр номера слова фрейму, регістр адреси бази знань, регістр координати сліду, регістр вершини сліду, регістр ітерації, регістр ознак сліду, регістр ознак породження, додатковий регістр ознак сліду, додатковий регістр ознак породження, регістр першої інверсії, регістр другої інверсії, регістр типу фрейму, регістр ознак останнього елементу, регістр істинності, тринадцять мультиплексорів, стек адрес даних, стек регістрів, стек ознак, суматор та два суматори по модулю два, при цьому вихід першого мультиплексора підключений до адресного входу робочої пам'яті, а входи з'єднані із виходом регістра-лічильника координат вхідного масиву, та із виходом регістра-лічильника координат вихідного масиву, чий вхід-вихід підключений до четвертого входу-виходу другого блока вводу-виводу, перший вхід-вихід третього блока вводу-виводу підключено до системної шини пристрою, другий вхід-вихід підключено до першого входу-виходу регістра адрес даних, чий другий вхід-вихід підключений до входу-виходу стека адрес даних, перший вихід третього блока вводу-виводу підключено до входу регістра кореня бази знань, другий вихід підключено до входу другого регістра команд, а вхід третього блока вводу-виводу підключено до виходу першого регістра команд, вихід регістра кореня бази знань підключено до входу регістра імені структури та до перших входів четвертого та п'ятого мультиплексорів, вихід регістра імені структури підключено до перших входів третього та шостого мультиплексорів та до другого входу другого мультиплексора, третій вхід якого підключений до першого виходу стека регістрів, перший вхід разом із другим входом третього мультиплексора з'єднаний із виходом суматора, а вихід підключений до входу регістра номера слова фрейму, чий вихід підключений до першого входу стека регістрів та до першого входу суматора, другий вхід якого разом із четвертим входом шостого мультиплексора і першими входами другого блока управління та стека ознак підключений до виходу регістра ітерації, чий вхід підключений до виходу п'ятого мультиплексора, другий вхід якого підключений до першого виходу стека ознак, вихід третього мультиплексора підключено до входу регістра адреси бази знань, чий вихід підключено до другого входу шостого мультиплексора, вихід якого підключено до третього входу першого регістра команд, третій вхід разом із входом регістра вершини сліду з'єднаний із виходом регістра координати сліду, вхід якого підключений до виходу четвертого мультиплексора, чий другий вхід підключений до другого виходу стека регістрів, а третій вхід разом із другим входом стека регістрів підключений до виходу регістра вершини сліду, вихід другого блока управління підключено до першого входу першого регістра команд, другий вхід другого блока управління разом із другими входами суматорів по модулю два підключені до виходу регістра істинності, третій вхід разом із входами додаткових регістрів ознак сліду та ознак породження і з першими входами сьомого, восьмого, дев'ятого, десятого, одинадцятого та дванадцятого мультиплексорів підключений до виходу другого регістра команд, а четвертий вхід другого блока управління разом із другим входом першого регістра команд підключений до виходів регістрів ознак сліду, ознак породження, типу фрейму та ознак останнього елементу, 2 UA 89651 U 5 10 15 20 25 30 35 40 45 50 55 60 виходи додаткових регістрів ознак сліду та ознак породження підключені до других входів сьомого і восьмого мультиплексорів відповідно, чиї треті входи разом із другими входами дев'ятого, десятого, одинадцятого і дванадцятого мультиплексорів підключені до другого виходу стека ознак, другий вхід якого підключений до других виходів регістрів ознак сліду, ознак породження, першої інверсії, другої інверсії, типу фрейму та останнього елементу, чиї входи підключені до виходів сьомого, восьмого, дев'ятого, десятого, одинадцятого і дванадцятого мультиплексорів відповідно, другий вихід регістра першої інверсії підключений до перших входів тринадцятого мультиплексора та першого суматора по модулю два, вихід регістра другої інверсії підключений до першого входу другого суматора по модулю два, вихід тринадцятого мультиплексора підключений до входу регістра істинності, а його другий і третій входи з'єднані із виходами першого та другого суматорів по модулю два відповідно. Відмітними ознаками запропонованого комп'ютера баз знань від відомого найближчого аналога є: 1) знання зберігаються у вигляді множини визначень термінів та відокремлено від алгоритму їх обробки; 2) знання, що містяться у базі знань зберігаються у вигляді ієрархічної структури, яка значно підвищує ефективність пошуку рішення за рахунок логічного виводу тільки у необхідній частині бази знань; 3) зберігається структура логічного виводу, яка в подальшому може бути використана для пояснення ходу логічного виводу або породження нової структури даних; 4) надається можливість ефективно зберігати та інтерпретувати ітераційні та рекурсивні структури даних, які містять визначення з використанням відношень кон'юнкції, диз'юнкції та інверсії. На фіг. 1 наведено структуру комп'ютера баз знань, на фіг. 2 наведено структуру блока управління, на фіг. 3 наведено структуру багатовхідного регістра, на фіг. 4 наведено структуру реверсивного регістра, на фіг. 5 наведено структуру запису стека 23 регістрів та сліду у пам'яті 6, на фіг. 6 наведено структуру слова бази знань у пам'яті 6, на фіг. 7 наведено структуру байта ознак слова фрейму, на фіг. 8 наведено структуру шаблонів фреймів, на фіг. 9 наведено граф алгоритму роботи комп'ютера баз знань. У табл. 1 наведено формат і призначення регістрів пристрою. Комп'ютер баз знань (фіг. 1) містить: головний комп'ютер 1, модуль розширення функціональності 2, пристрій знань 3, перший блок вводу-виводу 4, процесор термінальних програм 5, оперативну пам'ять 6, регістр даних RД 7, арифметико-логічний блок 8, робочу пам'яті, 9, перший мультиплексор MX1 10, регістр-лічильник RCm 11 координат вхідного масиву, регістр-лічильник RCn 12 координат вихідного масиву, другий блок 13 вводу-виводу, перший блок 14 управління, третій блок 15 вводу-виводу, регістр RКБЗ 16 кореня бази знань, регістр R01 17 імені структури, другий мультиплексор МХ 2 18, регістр R02 19 номера слова фрейму, суматор 20, третій мультиплексор МХ3 21, регістр R03 22 адреси бази знань, стек 23 регістрів, четвертий мультиплексор МХ4 24, регістр RC04 25 координати сліду, регістр R05 26 вершини сліду, другий блок 27 управління, регістр RC 08 28 ітерації, п'ятий мультиплексор МХ5 29, шостий * мультиплексор МХ6 30, пертий регістр RКОМ1 31 команд, додатковий регістр R07 32 ознак сліду, * додатковий регістр R08 33 ознак породження, регістр R13 34 істинності, другий регістр R КОМ2 35 команд, сьомий МХ7 36, восьмий МХ8 37, дев'ятий МХ9 38, десятий МХ10 39, одинадцятий MX11 40, дванадцятий МХ12 41 та тринадцятий МХ13 42 мультиплексори, регістр RAД 43 адрес даних, стек 44 адрес даних, регістр R07 45 ознак сліду, регістр R08 46 ознак породження, регістр R09 47 першої інверсії, регістр R10 48 другої інверсії, регістр R11 49 типу фрейму, регістр R12 50 ознак останнього елементу, перший суматор 51 по модулю два, другий суматор 52 по модулю два та стек 53 ознак. Вхід-вихід головного комп'ютера 1 підключено до першого входу-виходу першого блока 4 вводу-виводу, чий другий вхід-вихід разом із третіми входами-виходами другого 13 та першими входами-виходами третього 15 блоків вводу-виводу з'єднаний системною шиною із входомвиходом оперативної пам'яті 6. Другий та четвертий входи-виходи другого блока 13 вводувиводу підключені до входів-виходів регістра-лічильника RCm 11 координат вхідного масиву та регістра-лічильника RCn 12 координат вихідного масиву відповідно, чиї виходи підключені до входів першого мультиплексора МХ1 10, вихід якого підключений до адресного входу робочої пам'яті 9. Інформаційний вхід-вихід робочої пам'яті 9 з'єднаний із другим входом-виходом регістра RД 7 даних, чий перший вхід-вихід з'єднаний шиною даних із першим входом-виходом другого блока 13 вводу-виводу, арифметико-логічного блока АЛБ 8 та першого блока 14 управління. Другий вхід-вихід третього блока 15 вводу-виводу підключено до першого входувиходу регістра RАД 43 адрес даних, чий другий вхід-вихід підключений до входу-виходу стека 44 адрес даних. Перший вихід третього блока 15 вводу-виводу підключено до входу регістра RКБЗ 16 кореня бази знань, другий вихід підключено до входу другого регістра R KOM2 35 команд, а вхід третього блока 15 вводу-виводу підключено до виходу першого регістра R КОМ2 31 команд. 3 UA 89651 U 5 10 15 20 25 30 35 40 45 50 55 Вихід регістра RКБЗ 16 кореня бази знань підключено до входу регістра R 01 17 імені структури та до перших входів четвертого МХ4 24 та п'ятого МХ5 29 мультиплексорів. Вихід регістра R01 17 імені структури підключено до перших входів третього МХ 3 21 та шостого МХ6 30 мультиплексорів та до другого входу другого мультиплексора МХ 2 18, третій вхід якого підключений до першого виходу стека 23 регістрів. Перший вхід другого мультиплексора МХ 2 18 разом із другим входом третього мультиплексора МХ 3 21 з'єднаний із виходом суматора 20, а вихід підключений до входу регістра R02 19 номера слова фрейму, чий вихід підключений до першого входу стека 23 регістрів та до першого входу суматора 20, другий вхід якого разом із четвертим входом шостого мультиплексора ΜΧ6 30 і першими входами другого блока 27 управління та стека 53 ознак підключений до виходу регістра RC 06 28 ітерації. Вхід регістра RC06 28 ітерації підключений до виходу п'ятого мультиплексора МХ 3 29, другий вхід якого підключений до першого виходу стека 53 ознак. Вихід третього мультиплексора МХ3 21 підключено до входу регістра R03 22 адреси бази знань, чий вихід підключено до другого входу шостого мультиплексора МХ6 30, вихід якого підключено до третього входу першого регістра RКОМ1 31 команд, а третій вхід разом із входом регістра R05 26 вершини сліду з'єднаний із виходом регістра RC04 25 координати сліду. Вхід регістра RC04 25 координати сліду підключений до виходу четвертого мультиплексора МХ4 24, чий другий вхід підключений до другого виходу стека 23 регістрів, а третій вхід разом із другим входом стека 23 регістрів підключений до виходу регістра R05 26 вершини сліду. Вихід другого блока 27 управління підключено до першого входу першого регістра RКОМ1 31 команд, другий вхід другого блока 27 управління разом із другими входами суматорів 51, 52 по модулю два підключені до виходу регістра R 13 34 * істинності, третій вхід разом із входами додаткових регістрів ознак сліду R 07 32 та ознак * породження R08 33 із першими входами сьомого МХ7 36, восьмого МХ8 37, дев'ятого МХ9 38, десятого МХ10 39, одинадцятого МХ11 40 та дванадцятого МХ12 41 мультиплексорів підключений до виходу другого регістра RКОМ2 35 команд. Четвертий вхід другого блока 27 управління разом із другим входом першого регістра RКОМ1 31 команд підключений до виходів регістрів ознак сліду R07 45, ознак породження R08 46, типу фрейму R11 49 та ознак останнього елементу R12 50. * * Виходи додаткових регістрів ознак сліду R07 32 та ознак породження R08 33 підключені до других входів сьомого МХ7 36 і восьмого МХ8 37 мультиплексорів відповідно, чиї треті входи разом із другими входами дев'ятого МХ9 38, десятого МХ10 39, одинадцятого МХ11 40 і дванадцятого МХ12 41 мультиплексорів підключені до другого виходу стека 53 ознак. Другий вхід стека 53 ознак підключений до других виходів регістрів ознак сліду R07 45, ознак породження R08 46, першої інверсії R09 47, другої інверсії R10 48, типу фрейму R11 49 та останнього елементу R12 50, чиї входи підключені до виходів сьомого МХ 7 36, восьмого МХ8 37, дев'ятого МХ9 38, десятого МХ10 39, одинадцятого МХ11 40 і дванадцятого МХ12 41 мультиплексорів відповідно. Другий вихід регістра R09 47 першої інверсії підключений до перших входів тринадцятого мультиплексора МХ13 42 та першого суматора 51 по модулю два, вихід регістра R 10 48 другої інверсії підключений до першого входу другого суматора 52 по модулю два. Вихід тринадцятого мультиплексора МХ13 42 підключений до входу регістра R13 34 істинності, а його другий і третій входи з'єднані із виходами першого 51 та другого 52 суматорів по модулю два відповідно. Головний комп'ютер 1 призначений для конфігурації модуля розширення функціональності 2, постановки завдання та зчитування результатів. Процесор 5 термінальних програм виконує термінальні програми на замовлення пристрою 3 знань, який в процесі інтерпретації знань вирішує вихідну задачу. Оперативна пам'ять 6 зберігає базу знань, трасу (слід) процесу рішення задачі, словник термінів та термінальні програми. Блоки вводу-виводу 4, 13 та 15 виконують обмін даними та командами між головним комп'ютером 1, процесором 5 термінальних програм, оперативною пам'яттю 6 та пристроєм знань 3. Блок 27 управління (фіг. 2) складається із трьох модулів: логіка переходів 54, пам'ять станів 55 та вихідна логіка 56. Блок 27 управління за результатами аналізу кодів на входах формує на його виходах команди управління блоком 15 вводу-виводу та операційною частиною пристрою 3. Логіка переходів 54 визначає наступний стан блока 27 управління, що є функцією від поточного стану пам'яті станів 55 та кодів на входах блока 27 управління. Команди на виходах блока 27 управління визначаються вихідною логікою 56 та є функцією від поточного стану пам'яті станів 55. Структуру багатовхідного регістра (RКОМ1, RАД) зображено на фіг. 3. Багатовхідний регістр складається із мультиплексора MXі та регістра Rі. На вхід регістра Rі надходять дані з виходу МХі та команди по шині команд. Згідно до команди відбувається комутація відповідного входу даних мультиплексора MXі із його виходом, в результаті у регістр Rі записується відповідний код. 4 UA 89651 U 5 10 15 20 25 30 35 40 45 50 55 60 Структуру реверсивного регістра (RCrn, RCn, RC04, RC06) зображено на фіг. 4. Реверсивний регістр складається із мультиплексора MXi, арифметико-логічного пристрою та регістра Ri. На вхід регістра Ri надходять дані з виходу MXi та команди по шині команд. Згідно із командою відбувається комутація відповідного входу мультиплексора MX i із його виходом. Дані з виходу мультиплексора MXi записуються у регістр Ri. На фіг. 5 наведено структуру запису робочої пам'яті, пам'яті сліду (розміщеної в оперативній пам'яті 6), стека 23 регістрів, стека 44 адрес даних. Стек 53 ознак містить однобайтові слова. Пам'ять сліду зберігає структуру виводу рішення задачі. Вона може бути використана для пояснення процесу рішення задачі або при породженні наслідку. На фіг. 6 наведено структуру слів бази знань, із яких складаються фрейми. Кожне слово бази знань містить 24-біти: байт ознак інтерпретації та інформаційне поле. Інформаційне поле залежно від типу поточного фрейму містить: фізичну адресу, що посилається на інший фрейм; фізичну адресу, що посилається на текстову константу; номер (ім'я) термінальної програми. База знань є інформаційна структура множини визначень понять, зв'язаних відношеннями альтернативи, послідовності чи ітерації, що зберігається у машинній формі множини фреймів, кожний із яких має структуру масиву слів фіксованої довжини (наприклад, 3 байти). Довжина фрейму залежить від типу відношення, яке він описує, та від числа понять у визначальній частині і може складати від одного до деякого скінченного числа слів. На фіг. 7 наведено структуру байта ознак. Дане поле містить інформацію про тип фрейму та ознаки його інтерпретації. Кожен фрейм (фіг. 8) містить голову та елементи, пов'язані одним відношенням: альтернативи, послідовності чи ітерації. Голова та будь-який з елементів займають декілька послідовно розташованих комірок пам'яті, елементи одного фрейму також розташовуються послідовно, причому голова фрейму розташована першою в даній послідовності. Розмір фреймів (число елементів в одному фреймі) альтернативи чи послідовності може бути довільним, але скінченним. Фрейм ітерації складається із двох компонент: голови та посилання на ітерований елемент, яким є фрейм деякого довільного поняття, за виключенням визначеного у формі ітерації. Цим забезпечується зв'язність різних фреймів у єдину багаторазово вкладену структуру, що може містити рекурсивні конструкції. Складність опису (потужність множини понять, структура їхнього взаємозв'язку) може бути довільною та обмежується ресурсами конкретної реалізації (об'ємом оперативної пам'яті, об'ємом зовнішньої пам'яті, розрядністю вузлів та шин). Ті поняття бази знань, які не визначені через поняття бази знань, є термінальними та містять посилання на константи або термінальні програми, що у подальшому виконуються процесором обробки термінальних програм. Описана таким чином інформаційна структура прикладної області є базою знань прикладної області. На фіг. 9 у формі орієнтованого циклічного графу наведено алгоритм роботи комп'ютера баз знань. Пристрій працює наступним чином, безперервно виконуючи алгоритм фіг. 9 від початкової команди "старт" аж до зупинки тактового сигналу. В опису алгоритму використано наступні позначення: ПЗ - пристрій 3 знань, ΠТП - процесор 5 термінальних програм, БЗ - база знань, ПС - пам'ять сліду, САД - стек 44 адрес даних, CP - стек 23 регістрів, CO - стек 53 ознак, INΡ пам'ять вхідного масиву, OUT - пам'ять вихідного масиву у складі робочої пам'яті, РП - робоча пам'ять, ОПЗП - оперативна пам'ять знань та програм. 1. Початкова установка: - завантаження БЗ, бібліотек термінальних програм в ОПЗП 6; - завантаження даних (аргументу обчислювальної функції) в масиви INP і OUT робочої пам'яті РП 9; - установка регістрів у початковий стан, зокрема регістр R11:=00; - перехід в стан 2. 2. Прийом завдання процесором СП 3: - якщо в RKБЗ 16 отримано завдання (код імені функції), то: - прийом від ПТП 5 через третій блок 15 вводу-виводу адреси даних в RАД 43 та через RКОМ2 35 ознак інтерпретації (режиму інтерпретації в R07 45, R08 46, значення інверсії 2 в R10 48 та в R11 49:=Х); - R01:=адресу кореня БЗ (тобто код регістра RКБЗ 16 присвоїти регістру R01 17); - запис значення регістра RАД 43 із стек 44; - запис ознак інтерпретації (з R11 - тип фрейму=00, режим інтерпретації - R07=0/1, R08=0/1, R09 - інверсії 1=Х, R10 - інверсії 2=0/1, R12=Х) в стек 53; - перехід в стан 3. 5 UA 89651 U 5 10 15 20 25 30 35 40 45 50 55 - Якщо через RКОМ2 35 отримано значення істинності, то зберегти його в R 13 та перейти в стан 21; - інакше, очікування завдання поверненням до пункту 2. 3. Аналіз завдання і режиму його інтерпретації (R11+R07+R08): - R02:=[R01] (вміст R01 записати в R02); - R03:=[R01] (вміст R01 записати в R03); - читання із БЗ першого слова фрейму: R07*:=[поле ОС - ознака сліду], R11:=[поле "тип фрейму"], R09:=[поле 1]. - Блок 27 управління аналізує R11, R07 та R08: якщо R11=(00)&(R07=0/1)&(R08=0/1), то перехід до п. 4 (термінали), якщо (R11=01/10)& R07=0& R08=0, то перехід до п. 5 (розпізнавання альтернативи), якщо R11=01& R07=0& R08=1, то перехід до п. 6 (породження альтернативи), якщо R11=01& R07=1& R08=0, то перехід до п. 8 (розпізнавання альтернативи із слідом), якщо R11=01& R07=1& R08=1, то перехід до п. 9 (породження альтернативи по сліду), якщо R11=10& R07=0& R08=1, то перехід до п. 10 (породження послідовності), якщо R11=10& R07=1& R08=1, то перехід до п. 12 (породження послідовності по сліду), якщо R11=10& R07=1& R08=0, то перехід до п. 13 (розпізнавання послідовності із слідом), якщо R11=11& R07=0& R08=0, то перехід до п. 15 (розпізнавання ітерації), якщо R11=11& R07=0& R08=1, то перехід до п. 17 (породження ітерації), якщо R11=11& R07=1& R08=0, то перехід до п. 18 (розпізнавання ітерації із слідом), якщо R11=11& R07=1& R08=1, то перехід до п. 20 (породження ітерації по сліду). 4. Передача термінального завдання процесору ПТП 5: - R01:=[перший та другий байти першого слова фрейму]; - запис RАД 43 в стек 44 та ознак інтерпретації (тип фрейму - термінал з регістра R11; поточний режим інтерпретації - R07, R08; інверсія завдання із R09 - 1) в стек 53; - передача процесору ПТП 5 значень RАД 43 та значень R01 і ознак інтерпретації через RКОМ1 31; - перехід в стан 2. 5. Розпізнавання альтернативи: - R02:=[R02]+1; - R03:=[R02]; - читання другого слова фрейму. R10:=[поле 2], R12:=[поле ОЕ], R07*:=[значення (0/1) ознаки ОС] або R08*:=[значення (0/1) ознаки породження ОП], R01:=[перший та другий байти другого слова фрейму]; - запис значень регістра RАД 43 в стек 44, [R02] - в стек 23. Запис ознак інтерпретації (R11 тип фрейму альтернативи та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з другого слова фрейму та поточний режим інтерпретації - R07=0, R08=0) в стек 53; - R07:=R07*; R08:=R08*; - перехід в стан 3. 6. Породження альтернативи: - Ro7:=R07*; - аналіз R07: якщо 0, то перехід в стан 21, інакше - в стан 7. 7. Встати на слід: - RC04:=[перший та другий байти першого слова фрейму, зчитаного з БЗ]; - RC06:=[слово ПС, зчитане за адресою RС04]; - R03:=[R02]+[RC06]; - читання з Б3 за адресою [R03] вибраного слова фрейму. R10:=[поле 2], R12:=[поле ОЕ], R01:=[перший та другий байти вибраного слова фрейму]; - запис RАД 43 в стек 44. Запис ознак інтерпретації (R11 - тип фрейму альтернативи та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з вибраного слова фрейму та поточний режим інтерпретації - R07=0/1, R08=1) в стек 53; - перехід в стан 3. 8. Розпізнавання альтернативи із слідом: - RC06:=1; - RC04:=[R05]+1; - запис [RС06] в ПС за адресою [RC04]; - R03:=[R02]+[RC06]; - читання з БЗ за адресою [R03] другого слова фрейму. R10:=[поле 2], R12:=[поле ОЕ], R01:=[перший та другий байти вибраного слова фрейму]; 6 UA 89651 U 5 10 15 20 25 30 35 40 45 50 55 - запис RАД 43 в стек 44, [R05], [R02] - в стек 23. Запис ознак інтерпретації (R11 - тип фрейму альтернативи та R09 - 1 з першого слова фрейму; R10 - 2, R12 - OЕ, з вибраного слова фрейму та поточний режим інтерпретації - R07=1, R08=0) в стек 53; - R05=[RC04]; - перехід в стан 3. 9. Породження альтернативи по сліду: - RC04:=[RC04]+1; - RC06:=[ПС] за адресою [RC04]; - R03:=[R02]+[RС06]; - читання з БЗ за адресою [R03] вибраного слова фрейму. R10=[поле 2], R12:=[поле OE], R01:=[перший та другий байти обраного слова фрейму]; - запис RАД 43 в стек 44. Запис ознак інтерпретації (R11 - тип фрейму альтернативи та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з вибраного слова фрейму та поточний режим інтерпретації - R07=1, R08=1) в стек 53; - перехід в стан 3. 10. Породження послідовності: - R07:=R07*; - аналіз R07 (біту "ознака сліду", взятого з першого слова фрейму): якщо 1, то перехід в стан 11, інакше - в стан 12. 11. Встати на слід: - RC04:=[перший та другий байти першого слова фрейму, зчитаного з БЗ]; - перехід в стан 12. 12. Породження послідовності по сліду або без сліду: - R02:=[R02]+1; - R03:=[R02]; - читання з БЗ другого слова фрейму. R10:=[поле 2], R12:=[поле ОЕ], R01:=[перший та другий байти другого слова фрейму]; - запис значення RАД 43 в стек 44, [R02] в стек 23. Запис ознак інтерпретації (R 11 - тип фрейму послідовності та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з другого слова фрейму та поточний режим інтерпретації - R07=0/1, R08=1) в стек 53; - перехід в стан 3. 13. Розпізнавання послідовності із слідом: - RС06:=1; - RC04:=[R05]; - R03:=[R02]+[RC06]; - читання з БЗ другого слова фрейму. R10:=[поле 2], R12:=[поле ОЕ], R01:=[перший та другий байти другого слова фрейму]; - запис RАД 43 в стек 44, [R05], [R02] - в стек 23, [RC06] - в стек 53; - запис ознак інтерпретації (R11 - тип фрейму послідовності та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з другого слова фрейму та поточний режим інтерпретації - R07=0/1, R08=1) в стек 53; - перехід в стан 3. 14. Завершити породження ітерації по сліду: - RC06:=[RC06]-1; - R03:=[R02]+1; - читання з БЗ другого слова фрейму. R10:=[поле 2], R01:=[перший та другий байти другого слова фрейму]; - запис [RC06] в стек 53, [R02] в стек 23; - запис ознак інтерпретації (R11 - тип фрейму ітерації та R09 - 1 з першого слова фрейму; R10 - 2 з другого слова фрейму та поточний режим інтерпретації - R07=0/1, R08=1) в стек 53; - перехід в стан 3. 15. Розпізнавання ітерації: - R03:=[R02]+1; - читання з Б3 другого слова фрейму. R10:=[поле 2], R12:=[поле ОЕ], R07*:=[значення (0/1) ознаки розпізнавання із слідом] або R08*:=[значення (0/1) ознаки породження], R01:=[перший та другий байти другого слова фрейму]; - запис значення регістру [R02] в стек 23. Запис ознак інтерпретації (R11 - тип фрейму ітерації та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з другого слова фрейму та поточний режим інтерпретації - R07=0, R08=0) в стек 53; 7 UA 89651 U 5 10 15 20 25 30 35 40 45 50 55 60 - R07:=R07*; R08=R08*; - перехід в стан 3. 16. Встати на слід: - RC04:=[перший та другий байти першого слова фрейму, зчитаного з БЗ]; - RC06:=[ПС] за адресою [RC04]. - Якщо лічильник [RC06]≠0, то перехід в стан 14, інакше - в стан 19. 17. Породження ітерації: - R07:=R07*; - аналіз R07 (біту "ознака сліду", взятого з першого слова фрейму): якщо 1, то перехід в стан 16, інакше - в 19. 18. Розпізнавання ітерації із слідом: - RC04:=[R05]+1; - RC06:=0; - запис [RС06] в ПС по адресі RC04; - R03:=[R02]+1; - читання з БЗ другого слова фрейму. R10:=[поле 2], R01:=[перший та другий байти другого слова фрейму]; - запис [R05], [R02] в стек 23. Запис ознак інтерпретації (R11 - тип фрейму ітерації та R09 - 1 з першого слова фрейму; R10 - 2 з другого слова фрейму та поточний режим інтерпретації R07=1, R08=0) в стек 53; - R05:=[RC04]; - перехід в стан 3. 19. Завершити породження ітерації без сліду: - R13:=R09; - перехід в стан 21. 20. Породження ітерації по сліду: - RC04:=[RC04]+1; - RC06:=[ПС] за адресою [RC04]. - Якщо [RC06]≠0, то перехід в стан 14, інакше - в стан 19. 21. Прийом і аналіз прапорів: - R07, R08, R09, R10, R11, R12:=[Верхній запис ознак інтерпретації стека 53]; - R13:=[R13] [R10]: - аналіз R11, R13, R07 та R08: якщо R11=(00)&R13=1&(R07=0/1)&(R08=0/1), то перехід до п. 22 (прапор хибність на термінал), якщо R11=(00)&R13=0&(R07=0/1)&(R08=0/1), то переходимо до п. 23 (прапор істина на термінал), якщо R11=01&R13=0&R07=0&R08=0, то перехід до п. 24 (розпізнавання альтернативи після прапора істина), якщо R11=01&R13=0&R07=1&R08=0, тο перехід до п. 25 (розпізнавання альтернативи із слідом після прапора істина), якщо R11=01&R13=0&R07=0/1&R08=1, то перехід до п. 27 (породження альтернативи після прапора істина), якщо R11=01&R13=1&R07=0&R08=0, то перехід до п. 28 (розпізнавання альтернативи після прапора хибність), якщо R11=01&R13=1&R07=1&R08=0, то перехід до п. 30 (розпізнавання альтернативи із слідом після прапора хибність), якщо R11=01&R13=1&R07=0/1&R08=1, то перехід до п. 32 (породження альтернативи після прапора хибність), якщо R11=10&R13=0&R07=0&R08=0, то перехід до п. 34 (розпізнавання послідовності після прапора істина), якщо R11=10&R13=0&R07=1&R08=0, то перехід до п. 35 (розпізнавання послідовності із слідом після прапора істина), якщо R11=10&R13=0&R07=0/1&R08=1, то перехід до и. 37 (породження послідовності після прапора істина), якщо R11=10&R13=1&R07=0&R08=0, то перехід до п. 38 (розпізнавання послідовності після прапора хибність), якщо R11=10&R13=1&R07=1&R08=0, то перехід до п. 40 (розпізнавання послідовності із слідом після прапора хибність), якщо R11=10&R13=1&R07=0/1&R08=1, то перехід до п. 41 (породження послідовності після прапора хибність), 8 UA 89651 U 5 10 15 20 25 30 35 40 45 50 55 якщо R11=11&R13=0&R07=0&R08=0, то перехід до п. 42 (розпізнавання ітерації після прапора істина), якщо R11=11&R13=0&R07=1&R08=0, то перехід до п. 43 (розпізнавання ітерації із слідом після прапора істина), якщо R11=11&R13=0&R07=0/1&R08=1, то перехід до п. 44 (породження ітерації після прапора істина), якщо R11=11&R13=1&R07=0&R08=0, то перехід до п. 46 (розпізнавання ітерації після прапора хибність), якщо R11=11&R13=1&R07=1&R08=0, то перехід до п. 47 (розпізнавання ітерації із слідом після прапора хибність), якщо R11=11&R13=1&R07=0/1&R08=1, то перехід до п. 48 (породження ітерації після прапора хибність). 22. Відновлення покажчиків INP, OUT: - RАД:=[RАД із стека 44]; - перехід в стан 2. 23. Набуття нових значень покажчиків INP, OUT: - виштовхнути [RАД] із стека 44; - перехід в стан 2. 24. Розпізнавання альтернативи після прапора істина: - виштовхнути [R02] із стека 23; - виштовхнути [RАД] із стека 44; - R13:=[R13] [R09]; - перехід в стан 21. 25. Розпізнавання альтернативи із слідом після прапора істина: - R02:=[R02] із стека 23; - R03:=[R02]; - RC04:=[R05] із стека 23; - ОС першого слова фрейму:=1; поля 1 та тип фрейму - відновити у байті ознак та [перший та другий байти першого слова фрейму за адресою [R03] БЗ]:=[RC04]; - виштовхнути [RАД] із стека 44. - R13:=[R13] [R09]; - перехід в стан 21. 26. Вихід з розпізнавання альтернативи: - виштовхнути [R02] із стека 23; - R13:=[R13] [R09]; - перехід в стан 21. 27. Породження альтернативи по сліду після прапора істина: - виштовхнути [RАД] із стека 44; - R13:=[R13] [R09]; - перехід в стан 21. 28. Розпізнавання альтернативи після прапора хибність: - відновлення покажчиків INP, OUT: RАД:=[RАД] із стека 44; - аналіз значення R12: якщо 1, перехід в стан 26, інакше - в стан 29. 29. Розпізнавання нового варіанту альтернативи: - R02:=[R02 із стека 23]+1; - R03:=[R02]; - читання з БЗ чергового слова фрейму альтернативи. R10:=[поле 2], R12:=[поле ОE], R07*:=[значення (0/1) ознаки розпізнавання із слідом] або R08*:=[значення (0/1) ознаки породження], R01:=[перший та другий байти вибраного слова фрейму]; - запис значення регістра [RАД] в стек 44, a [R02] в стек 23. Запис ознак інтерпретації (R11 тип фрейму альтернативи та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з чергового слова фрейму та вхідний режим інтерпретації - R07=0, R08=0) в стек 53; - R07:=R07*; R08:=R08*; - перехід в стан 3. 30. Розпізнавання альтернативи із слідом після прапора хибність: - відновлення покажчиків INP, OUT: RАД:=[RАД із стека 44]; - аналіз значення R12: якщо 1, перехід в стан 31, інакше - в стан 33. 31. Вихід із розпізнавання альтернативи із слідом: - виштовхнути [R02] із стека 23; 9 UA 89651 U 5 10 15 20 25 30 35 40 45 50 55 - RC04:=[R05] із стека 23; - R13:=[R13] [R09]; - перехід в стан 21. 32. Породження альтернативи по сліду після прапора хибність: - відновлення RАД:=[RАД із стека 44]; - R13:=[R13] [R09]; - перехід в стан 21. 33. Розпізнавання із слідом нового варіанту альтернативи: - RC04:=[R05 із стека 23]+1; RC06:=[RC06 із ПС]+1; - запис [RC06] в ПС по адресу RC04; - R02:=[R02 із стека 23]; R03:=[R02]+[RC06]; - читання з БЗ чергового слова фрейму. R10:=[поле 2], R15:=[поле ОЕ], R01:=[перший та другий байти вибраного слова фрейму]; - запис [RАД] в стек 44, запис [R05], [R02] в стек 23. - Запис ознак інтерпретації (R11 - тип фрейму альтернативи та R09 - 1 з першого слова фрейму, відновлених з магазину; R10 - 2, R12 - ОЕ з вибраного слова фрейму та поточний режим інтерпретації - R07=1, R08=0) в стек 53; - R05:=[RC04]; - перехід в стан 3. 34. Розпізнавання послідовності після прапора істина: - аналіз значення R12: якщо 1, то перехід в стан 24, інакше - в стан 29. 35. Розпізнавання послідовності із слідом після прапора істина: - аналіз значення R12: якщо 1, то перехід в стан 25, інакше - в стан 36. 36. Продовжити розпізнавання послідовності із слідом: - RC06:=[RC06 із стека 53]+1; - R03:=[R02]+[RC06]; - читання із БЗ чергового слова фрейму. R10:=[поле 2], R12:=[поле ОЕ], R01:=[перший та другий байти вибраного слова фрейму]; - запис [RАД] в стек 44, [R05], [R02] - в стек 23, [RC06] - в ПС. Запис ознак інтерпретації (R11 тип фрейму послідовності та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з чергового слова фрейму та поточний режим інтерпретації з R 07=0/1, R08=1) в стек 53; - перехід в стан 3. 37. Породження послідовності після прапора істина: - аналіз значення R12: якщо 1, перехід в стан 24, інакше - в стан 39. 38. Розпізнавання послідовності після прапора хибність: - відновлення RАД:=[RАД із стеку 44]; - перехід в стан 26. 39. Продовжити породження послідовності: - R02:=[R02 із стеку 23]+1; - R03:=[R02]; - читання з БЗ чергового слова фрейму послідовності. R10:=[поле 2], R12:=[поле ОЕ], R01:=[перший та другий байти другого слова фрейму]; - запис [RАД] в стек 44, [R02] - в стек 23. Запис ознак інтерпретації (R11 - тип фрейму послідовності та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з другого слова фрейму та поточний режим інтерпретації - R07=0/1, R08=0 в стек 53; - перехід в стан 3. 40. Розпізнавання послідовності із слідом після прапора хибність: - відновлення покажчиків: RC04:=[R05 із стека 23], RАД:=[RАД із стека 44]; - R07:=R07*; R08:=R08*; - перехід в стан 26. 41. Породження послідовності після прапора хибність: - відновлення RАД:=[RАД із стека 44]; - R07:=R07*; R08:=R08*; - виштовхнути [R02 із стеку 23]. - R13:=[R13] [R09]; - перехід в стан 21. 42. Розпізнавання ітерації після прапора істина: - R03:=[R02 із стека 23]+1; 10 UA 89651 U 5 10 15 20 25 30 35 40 45 - читання із БЗ другого слова фрейму. R 10:=[поле 2], R12:=[поле OE], R07*:=[значення (0/1) ознаки розпізнавання із слідом] або R08*:=[значення (0/1) ознаки породження], R01:=[перший та другий байти другого слова фрейму]; - запис значення регістру [R02] в стек 23. Запис ознак інтерпретації (R11 - тип фрейму ітерації та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОE з другого слова фрейму та поточний режим інтерпретації - R07=0, R08=0) в стек 53; - R07:=R07*; R08:=R08*; - перехід в стан 3. 43. Розпізнавання ітерації із слідом після прапора істина: - RC04:=[R05 із стека 23]+1; RC06:=[RC06 із ПС по адресі RC04]+1; - запис [RC06] в ПС по адресі RC04; - R03:=[R02 із стека 23]+1; - читання з БЗ другого слова фрейму. R10:=[поле 2], R01:=[перший та другий байти другого слова фрейму]; - запис [R05], [R02] в стек 23. Запис ознак інтерпретації (R11 - тип фрейму ітерації та R09 - 1 з першого слова фрейму; R10 - 2 з другого слова фрейму та поточний режим інтерпретації R07=1, R08=0) в стек 53; - перехід в стан 3. 44. Породження ітерації після прапора істина: - RC06:=[RC06 із стека 53]; - аналіз [RC06]: якщо [RC06] ≠ 0, то перехід в стан 45, інакше - в стан 46. 45. Продовжити породження ітерації після прапора істина: - RC06:=[RC06]-1; R03:=[R02 із стека 23]+1; - читання з БЗ другого слова фрейму. R10:=[поле 2], R01:=[перший та другий байти другого слова фрейму]; - запис [RC06] в стек 53, запис [R02] в стек 23. Запис ознак інтерпретації (R 11 - тип фрейму ітерації та R09 - 1 з першого слова фрейму; R10 - 2 з другого слова фрейму та поточний режим інтерпретації - R07=0/1, R08=1) в стек 53; - перехід в стан 3. 46. Завершити породження ітерації та розпізнавання ітерації після прапора хибність: - виштовхнути [R02 із стека 23]; R13:=[R09]; - перехід в стан 21. 47. Розпізнавання ітерації із слідом після прапора хибність: - R03:=[R02 із стека 23]; - RC04:=[R05 із стека 23]; - ОС першого слова фрейму:=1; поля 1 та тип фрейму - відновити; - [перший та другий байти першого слова фрейму в БЗ]:=[RC 04]; - R13:=[R09]; - перехід в стан 21. 48. Породження ітерації після прапора хибність: - виштовхнути [R02 із стека 23]; виштовхнути [RC06 із стека 53]; - R13:=[R09]; - перехід в стан 21. Оскільки система обробки знань підтримує системний шинний інтерфейс (наприклад, АРВ), то вона може бути легко інтегрована в сучасні мікропроцесорні системи на кристалі для розширення їхнього набору команд. 11 UA 89651 U Таблиця 1 Комп'ютер баз знань Ім'я регістра RД RCm RCn RКБЗ RКОМ1 RКОМ2 RАД R01 R02 R03 RC04 R05 RC06 R07 R08 * R07 * R08 R09 R10 R11 R12 R13 Розрядність, біт 16 12 12 16 24 24 24 16 16 16 16 16 16 1 1 1 1 1 1 3 1 1 Опис регістра Регістр даних Регістр-лічильник адреси у вхідному масиві Регістр-лічильник адреси у вихідному масиві Регістр кореня бази знань Перший регістр команд Другий регістр команд Регістр адрес даних Регістр імені структури Регістр номера слова фрейму Регістр адреси бази знань Регістр-лічильник координати сліду Регістр вершини сліду Регістр-лічильник ітерації Регістр ознаки сліду Регістр ознаки породження Додатковий регістр ознаки сліду Додатковий регістр ознаки породження Регістр інверсії 1 Регістр інверсії 2 Регістр типу фрейму Регістр ознаки останнього елементу Регістр істинності ФОРМУЛА КОРИСНОЇ МОДЕЛІ 5 10 15 20 25 30 Комп'ютер баз знань, що містить головний комп'ютер, перший та другий блоки вводу-виводу, оперативну пам'ять, регістр даних, арифметико-логічний блок, робочу пам'ять, регістр-лічильник координат вхідного масиву та перший блок управління, чий вхід-вихід разом із входом-виходом арифметико-логічного блока, першим входом-виходом другого блока вводу-виводу та першим входом-виходом регістра даних, з'єднаного другим входом-виходом із робочою пам'яттю, підключений до шини даних, другий вхід-вихід другого блока вводу-виводу підключений до входу-виходу регістра-лічильника координат вхідного масиву, а третій вхід-вихід другого блока вводу-виводу разом із оперативною пам'яттю та другим входом-виходом першого блока вводувиводу, з'єднаного першим входом-виходом із головним комп'ютером, підключений до системної шини пристрою, який відрізняється тим, що в нього введено регістр-лічильник координат вихідного масиву, третій блок вводу-виводу, другий блок управління, регістр кореня бази знань, два регістри команд, регістр адрес даних, регістр імені структури, регістр номера слова фрейму, регістр адреси бази знань, регістр координати сліду, регістр вершини сліду, регістр ітерації, регістр ознак сліду, регістр ознак породження, додатковий регістр ознак сліду, додатковий регістр ознак породження, регістр першої інверсії, регістр другої інверсії, регістр типу фрейму, регістр ознак останнього елементу, регістр істинності, тринадцять мультиплексорів, стек адрес даних, стек регістрів, стек ознак, суматор та два суматори по модулю два, при цьому вихід першого мультиплексора підключений до адресного входу робочої пам'яті, а входи з'єднані із виходом регістра-лічильника координат вхідного масиву та із виходом регістра-лічильника координат вихідного масиву, чий вхід-вихід підключений до четвертого входу-виходу другого блока вводу-виводу, перший вхід-вихід третього блока вводувиводу підключено до системної шини пристрою, другий вхід-вихід підключено до першого входу-виходу регістра адрес даних, чий другий вхід-вихід підключений до входу-виходу стека адрес даних, перший вихід третього блока вводу-виводу підключено до входу регістра кореня бази знань, другий вихід підключено до входу другого регістра команд, а вхід третього блока вводу-виводу підключено до виходу першого регістра команд, вихід регістра кореня бази знань підключено до входу регістра імені структури та до перших входів четвертого та п'ятого 12 UA 89651 U 5 10 15 20 25 30 мультиплексорів, вихід регістра імені структури підключено до перших входів третього та шостого мультиплексорів та до другого входу другого мультиплексора, третій вхід якого підключений до першого виходу стека регістрів, перший вхід разом із другим входом третього мультиплексора з'єднаний із виходом суматора, а вихід підключений до входу регістра номера слова фрейму, чий вихід підключений до першого входу стека регістрів та до першого входу суматора, другий вхід якого разом із четвертим входом шостого мультиплексора і першими входами другого блока управління та стека ознак підключений до виходу регістра ітерації, чий вхід підключений до виходу п'ятого мультиплексора, другий вхід якого підключений до першого виходу стека ознак, вихід третього мультиплексора підключено до входу регістра адреси бази знань, чий вихід підключено до другого входу шостого мультиплексора, вихід якого підключено до третього входу першого регістра команд, третій вхід разом із входом регістра вершини сліду з'єднаний із виходом регістра координати сліду, вхід якого підключений до виходу четвертого мультиплексора, чий другий вхід підключений до другого виходу стека регістрів, а третій вхід разом із другим входом стека регістрів підключений до виходу регістра вершини сліду, вихід другого блока управління підключено до першого входу першого регістра команд, другий вхід другого блока управління разом із другими входами суматорів по модулю два підключені до виходу регістра істинності, третій вхід разом із входами додаткових регістрів ознак сліду та ознак породження і з першими входами сьомого, восьмого, дев'ятого, десятого, одинадцятого та дванадцятого мультиплексорів підключений до виходу другого регістра команд, а четвертий вхід другого блока управління разом із другим входом першого регістра команд підключений до виходів регістрів ознак сліду, ознак породження, типу фрейму та ознак останнього елементу, виходи додаткових регістрів ознак сліду та ознак породження підключені до других входів сьомого і восьмого мультиплексорів відповідно, чиї треті входи разом із другими входами дев'ятого, десятого, одинадцятого і дванадцятого мультиплексорів підключені до другого виходу стека ознак, другий вхід якого підключений до других виходів регістрів ознак сліду, ознак породження, першої інверсії, другої інверсії, типу фрейму та останнього елементу, чиї входи підключені до виходів сьомого, восьмого, дев'ятого, десятого, одинадцятого і дванадцятого мультиплексорів відповідно, другий вихід регістра першої інверсії підключений до перших входів тринадцятого мультиплексора та першого суматора по модулю два, вихід регістра другої інверсії підключений до першого входу другого суматора по модулю два, вихід тринадцятого мультиплексора підключений до входу регістра істинності, а його другий і третій входи з'єднані із виходами першого та другого суматорів по модулю два відповідно. 13 UA 89651 U 14 UA 89651 U 15 UA 89651 U 16 UA 89651 U Комп’ютерна верстка А. Крулевський Державна служба інтелектуальної власності України, вул. Урицького, 45, м. Київ, МСП, 03680, Україна ДП “Український інститут промислової власності”, вул. Глазунова, 1, м. Київ – 42, 01601 17
ДивитисяДодаткова інформація
Автори англійськоюHryhoriev Serhii Mykolaiovych
Автори російськоюГригоръев Сергей Николаевич
МПК / Мітки
МПК: G06F 15/00
Код посилання
<a href="https://ua.patents.su/19-89651-kompyuter-baz-znan.html" target="_blank" rel="follow" title="База патентів України">Комп’ютер баз знань</a>
Попередній патент: Система баз знань
Наступний патент: Спосіб діагностики синдрому полікістозних яєчників
Випадковий патент: Пристрій для оксихлорування