Є ще 10 сторінок.

Дивитися все сторінки або завантажити PDF файл.

Формула / Реферат

Комп'ютер баз знань, що містить головний комп'ютер, перший та другий блоки вводу-виводу, оперативну пам'ять, регістр даних, арифметико-логічний блок, робочу пам'ять, регістр-лічильник координат вхідного масиву та перший блок управління, чий вхід-вихід разом із входом-виходом арифметико-логічного блока, першим входом-виходом другого блока вводу-виводу та першим входом-виходом регістра даних, з'єднаного другим входом-виходом із робочою пам'яттю, підключений до шини даних, другий вхід-вихід другого блока вводу-виводу підключений до входу-виходу регістра-лічильника координат вхідного масиву, а третій вхід-вихід другого блока вводу-виводу разом із оперативною пам'яттю та другим входом-виходом першого блока вводу-виводу, з'єднаного першим входом-виходом із головним комп'ютером, підключений до системної шини пристрою, який відрізняється тим, що в нього введено регістр-лічильник координат вихідного масиву, третій блок вводу-виводу, другий блок управління, регістр кореня бази знань, два регістри команд, регістр адрес даних, регістр імені структури, регістр номера слова фрейму, регістр адреси бази знань, регістр координати сліду, регістр вершини сліду, регістр ітерації, регістр ознак сліду, регістр ознак породження, додатковий регістр ознак сліду, додатковий регістр ознак породження, регістр першої інверсії, регістр другої інверсії, регістр типу фрейму, регістр ознак останнього елемента, регістр істинності, тринадцять мультиплексорів, стек адрес даних, стек регістрів, стек ознак, суматор та два суматори по модулю два, при цьому вихід першого мультиплексора підключений до адресного входу робочої пам'яті, а входи з'єднані із виходом регістра-лічильника координат вхідного масиву, та із виходом регістра-лічильника координат вихідного масиву, чий вхід-вихід підключений до четвертого входу-виходу другого блока вводу-виводу, перший вхід-вихід третього блока вводу-виводу підключено до системної шини пристрою, другий вхід-вихід підключено до першого входу-виходу регістра адрес даних, чий другий вхід-вихід підключений до входу-виходу стеку адрес даних, перший вихід третього блока вводу-виводу підключено до входу регістра кореня бази знань, другий вихід підключено до входу другого регістра команд, а вхід третього блока вводу-виводу підключено до виходу першого регістра команд, вихід регістра кореня бази знань підключено до входу регістра імені структури та до перших входів четвертого та п'ятого мультиплексорів, вихід регістра імені структури підключено до перших входів третього та шостого мультиплексорів та до другого входу другого мультиплексора, третій вхід якого підключений до першого виходу стеку регістрів, перший вхід разом із другим входом третього мультиплексора з'єднаний із виходом суматора, а вихід підключений до входу регістра номера слова фрейму, чий вихід підключений до першого входу стеку регістрів та до першого входу суматора, другий вхід якого разом із четвертим входом шостого мультиплексора і першими входами другого блока управління та стеку ознак підключений до виходу регістра ітерації, чий вхід підключений до виходу п'ятого мультиплексора, другий вхід якого підключений до першого виходу стеку ознак, вихід третього мультиплексора підключено до входу регістра адреси бази знань, чий вихід підключено до другого входу шостого мультиплексора, вихід якого підключено до третього входу першого регістра команд, третій вхід разом із входом регістра вершини сліду з'єднаний із виходом регістра координати сліду, вхід якого підключений до виходу четвертого мультиплексора, чий другий вхід підключений до другого виходу стеку регістрів, а третій вхід разом із другим входом стеку регістрів підключений до виходу регістра вершини сліду, вихід другого блока управління підключено до першого входу першого регістра команд, другий вхід другого блока управління разом із другими входами суматорів по модулю два підключені до виходу регістра істинності, третій вхід разом із входами додаткових регістрів ознак сліду та ознак породження і з першими входами сьомого, восьмого, дев'ятого, десятого, одинадцятого та дванадцятого мультиплексорів підключений до виходу другого регістра команд, а четвертий вхід другого блока управління разом із другим входом першого регістра команд підключений до виходів регістрів ознак сліду, ознак породження, типу фрейму та ознак останнього елемента, виходи додаткових регістрів ознак сліду та ознак породження підключені до других входів сьомого і восьмого мультиплексорів відповідно, чиї треті входи разом із другими входами дев'ятого, десятого, одинадцятого і дванадцятого мультиплексорів підключені до другого виходу стеку ознак, другий вхід якого підключений до других виходів регістрів ознак сліду, ознак породження, першої інверсії, другої інверсії, типу фрейму та останнього елемента, чиї входи підключені до виходів сьомого, восьмого, дев'ятого, десятого, одинадцятого і дванадцятого мультиплексорів відповідно, другий вихід регістра першої інверсії підключений до перших входів тринадцятого мультиплексора та першого суматора по модулю два, вихід регістра другої інверсії підключений до першого входу другого суматора по модулю два, вихід тринадцятого мультиплексора підключений до входу регістра істинності, а його другий і третій входи з'єднані із виходами першого та другого суматорів по модулю два відповідно.

Текст

Реферат: Винахід належить до галузі обчислювальної техніки та може бути використаний при побудові систем, заснованих на знаннях (knowledge-based systems). Комп'ютер баз знань містить: головний комп'ютер, перший блок вводу-виводу, оперативну пам'ять, процесор термінальних програм у складі регістра даних, арифметико-логічного блока, робочої пам'яті, регістралічильника координат вхідного масиву та регістра-лічильника координат вихідного масиву, першого блока управління та другого блока вводу-виводу, третій блок вводу-виводу, другий блок управління, регістр кореня бази знань, два регістри команд, регістр адрес даних, регістр імені структури, регістр номера слова фрейму, регістр адреси бази знань, регістр координати сліду, регістр вершини сліду, регістр ітерації, регістр ознак сліду, регістр ознак породження, додатковий регістр ознак сліду, додатковий регістр ознак породження, регістр першої інверсії, регістр другої інверсії, регістр типу фрейму, регістр ознак останнього елемента, регістр істинності, тринадцять мультиплексорів, стек адрес даних, стек регістрів, стек ознак, суматор та два суматори по модулю два. Технічний результат полягає у підвищенні ефективності пошуку рішення за рахунок логічного виводу тільки у необхідній частині бази знань, забезпеченні можливості ефективного зберігання та інтерпретування ітераційних та рекурсивних структур даних, зв'язаних відношеннями альтернативи, послідовності та ітераціями. UA 109325 C2 (12) UA 109325 C2 UA 109325 C2 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); переміщення даних; логічного зсуву та переходу. Блок управління керує роботою всіх модулів процесора продукційних правил, а також процесом обміну даними між пам'яттю правил та блоком вводу-виводу. Оперативна пам'ять містить набір команд фіксованої довжини. Кожна команда містить такі поля: "тип команди", "прапор" (умова (соndition)/дія (action)) та два операнди. Якщо поточна команда у полі "прапор" містить умову, то відбувається порівняння операндів залежно від коду поля "тип команди". Якщо команда характеризується як дія, то над поточними операндами виконується дія, зазначена у полі "тип команди". Серед недоліків прототипу можна вказати наступні. 1) Необхідність виконання великої кількості обчислень при співставленні антецедентів у процесі пошуку активної продукції. Це пов'язано із тим, що між продукційними правилами, які містяться в оперативній пам'яті у вигляді команд спеціального формату, відсутній структурний зв'язок. 2) Відсутність механізму пояснення логічного виводу. 3) Відсутність ефективного представлення у пам'яті ітераційних та рекурсивних структур. Спільними ознаками прототипу та пропонованого винаходу є головний комп'ютер, перший та другий блоки вводу-виводу, оперативна пам'ять, регістр даних, арифметико-логічний блок, робоча пам'ять, регістр-лічильник координат вхідного масиву та перший блок управління. В основу винаходу поставлена задача побудови спеціалізованого комп'ютера баз знань. Всяка задача, поставлена у вигляді імені функції та значення її аргументу, вирішується виводом рішення у процесі інтерпретації бази знань. 1 UA 109325 C2 5 10 15 20 25 30 35 40 45 50 55 60 База знань складається із структури взаємозв'язаних визначень термінів, кожне з яких представляється у формі одного з п'яти фреймів: альтернативи, послідовності, ітерації, текстової константи або терміналу. Усякий фрейм - послідовність слів фіксованої довжини (наприклад, трибайтових), серед яких розрізняється перше слово, а в кожному зі слів - перший байт і наступні. Фрейми текстової константи й термінала - однослівні, ітерації - двослівні, альтернативи й послідовності - багатослівні. Фрейми визначень всіх термінів всякої бази знань розміщено в оперативній пам'яті 6 у вигляді ієрархічної структури, що усуває проблему множини конфліктних правил. Такий принцип організації бази знань дозволяє ефективно зберігати та інтерпретувати ітераційні й рекурсивні структури визначень. Ще однією важливою відмінністю комп'ютера баз знань є те, що структура процесу інтерпретації, процесу виводу рішення зберігається спеціальними засобами ведення сліду. З метою розширення функціональних можливостей інтерпретації рекурсивних, ітераційних та вкладених структур і формування структури виводу рішення задачі у пристрій, що містить головний комп'ютер, перший та другий блоки вводу-виводу, оперативну пам'ять, регістр даних, арифметико-логічний блок, робочу пам'ять, регістр-лічильник координат вхідного масиву та перший блок управління, чий вхід-вихід разом із входом-виходом арифметико-логічного блока, першим входом-виходом другого блока вводу-виводу та першим входом-виходом регістра даних, з'єднаного другим входом-виходом із робочою пам'яттю, підключений до шини даних, другий вхід-вихід другого блока вводу-виводу підключений до входу-виходу регістра-лічильника координат вхідного масиву, а третій вхід-вихід другого блока вводу-виводу разом із оперативною пам'яттю та другим входом-виходом першого блока вводу-виводу, з'єднаного першим входом-виходом із головним комп'ютером, підключений до системної шини пристрою, введено регістр-лічильник координат вихідного масиву, третій блок вводу-виводу, другий блок управління, регістр кореня бази знань, два регістри команд, регістр адрес даних, регістр імені структури, регістр номера слова фрейму, регістр адреси бази знань, регістр координати сліду, регістр вершини сліду, регістр ітерації, регістр ознак сліду, регістр ознак породження, додатковий регістр ознак сліду, додатковий регістр ознак породження, регістр першої інверсії, регістр другої інверсії, регістр типу фрейму, регістр ознак останнього елемента, регістр істинності, тринадцять мультиплексорів, стек адрес даних, стек регістрів, стек ознак, суматор та два суматори по модулю два, при цьому вихід першого мультиплексора підключений до адресного входу робочої пам'яті, а входи з'єднані із виходом регістра-лічильника координат вхідного масиву, та із виходом регістра-лічильника координат вихідного масиву, чий вхід-вихід підключений до четвертого входу-виходу другого блока вводу-виводу, перший вхід-вихід третього блока вводу-виводу підключено до системної шини пристрою, другий вхід-вихід підключено до першого входу-виходу регістра адрес даних, чий другий вхід-вихід підключений до входу-виходу стеку адрес даних, перший вихід третього блока вводу-виводу підключено до входу регістра кореня бази знань, другий вихід підключено до входу другого регістра команд, а вхід третього блока вводу-виводу підключено до виходу першого регістра команд, вихід регістра кореня бази знань підключено до входу регістра імені структури та до перших входів четвертого та п'ятого мультиплексорів, вихід регістра імені структури підключено до перших входів третього та шостого мультиплексорів та до другого входу другого мультиплексора, третій вхід якого підключений до першого виходу стеку регістрів, перший вхід разом із другим входом третього мультиплексора з'єднаний із виходом суматора, а вихід підключений до входу регістра номера слова фрейму, чий вихід підключений до першого входу стеку регістрів та до першого входу суматора, другий вхід якого разом із четвертим входом шостого мультиплексора і першими входами другого блока управління та стеку ознак підключений до виходу регістра ітерації, чий вхід підключений до виходу п'ятого мультиплексора, другий вхід якого підключений до першого виходу стеку ознак, вихід третього мультиплексора підключено до входу регістра адреси бази знань, чий вихід підключено до другого входу шостого мультиплексора, вихід якого підключено до третього входу першого регістра команд, третій вхід разом із входом регістра вершини сліду з'єднаний із виходом регістра координати сліду, вхід якого підключений до виходу четвертого мультиплексора, чий другий вхід підключений до другого виходу стеку регістрів, а третій вхід разом із другим входом стеку регістрів підключений до виходу регістра вершини сліду, вихід другого блока управління підключено до першого входу першого регістра команд, другий вхід другого блока управління разом із другими входами суматорів по модулю два підключені до виходу регістра істинності, третій вхід разом із входами додаткових регістрів ознак сліду та ознак породження і з першими входами сьомого, восьмого, дев'ятого, десятого, одинадцятого та дванадцятого мультиплексорів підключений до виходу другого регістра команд, а четвертий вхід другого блока управління разом із другим входом першого регістра команд підключений до виходів регістрів ознак сліду, ознак породження, типу фрейму та ознак останнього елемента, 2 UA 109325 C2 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 управління, регістр RC06 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, одинадцятий МХ11 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КОМ2 35 команд, а вхід третього блока 15 вводу-виводу підключено до виходу першого регістра RКОМ1 31 команд. Вихід регістра RКБЗ 16 кореня бази знань підключено до входу регістра R01 17 імені структури та 3 UA 109325 C2 5 10 15 20 25 30 35 40 45 50 55 60 до перших входів четвертого МХ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 ознак підключений до виходу регістра RC06 28 ітерації. Вхід регістра RC06 28 ітерації підключений до виходу п'ятого мультиплексора МХ 5 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 по модулю два підключені до виходу регістра R13 34 істинності, третій вхід разом із входами додаткових регістрів ознак сліду R07* 32 та ознак породження R08* 33 і з першими входами сьомого МХ7 36, восьмого МХ8 37, дев'ятого МХ9 38, десятого МХ10 39, одинадцятого MX11 40 та дванадцятого MX12 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, типу фрейму Rn 49 та останнього елемента R12 50, чиї входи підключені до виходів сьомого МХ7 36, восьмого МХ8 37, дев'ятого МХ9 38, десятого МХ10 39, одинадцятого МХ11 40 і дванадцятого МХ12 41 мультиплексорів відповідно. Другий вихід регістра R09 47 першої інверсії підключений до перших входів тринадцятого мультиплексора МХ13 42 та першого суматора 51 по модулю два, вихід регістра R10 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і та команди по шині команд. Відповідно до команди відбувається комутація відповідного входу даних мультиплексора MXі із його виходом, в результаті у регістр Rі записується відповідний код. Структуру реверсивного регістра (RCm, RCn, RC04, RC06) зображено на фіг. 4. Реверсивний регістр складається із мультиплексора MXі, арифметико-логічного пристрою та регістра Rі. На 4 UA 109325 C2 5 10 15 20 25 30 35 40 45 50 55 60 вхід регістра Rі надходять дані з виходу MXі та команди по шині команд. Згідно із командою відбувається комутація відповідного входу мультиплексора MXі із його виходом. Дані з виходу мультиплексора MXі записуються у регістр Rі. На фіг. 5 наведено структуру запису робочої пам'яті, пам'яті сліду (розміщеної в оперативній пам'яті 6), стеку 23 регістрів, стеку 44 адрес даних. Стек 53 ознак містить однобайтові слова. Пам'ять сліду зберігає структуру виводу рішення задачі. Вона може бути використана для пояснення процесу рішення задачі або при породженні наслідку. На фіг. 6 наведено структуру слів бази знань, із яких складаються фрейми. Кожне слово бази знань містить 24 біти: байт ознак інтерпретації та інформаційне поле. Інформаційне поле залежно від типу поточного фрейму містить: фізичну адресу, що посилається на інший фрейм; фізичну адресу, що посилається на текстову константу; номер (ім'я) термінальної програми. База знань є інформаційна структура множини визначень понять, зв'язаних відношеннями альтернативи, послідовності чи ітерації, що зберігається у машинній формі множини фреймів, кожний із яких має структуру масиву слів фіксованої довжини (наприклад, 3 байти). Довжина фрейму залежить від типу відношення, яке він описує, та від числа понять у визначальній частині і може складати від одного до деякого скінченного числа слів. На фіг. 7 наведено структуру байта ознак. Дане поле містить інформацію про тип фрейму та ознаки його інтерпретації. Кожен фрейм (фіг. 8) містить голову та елементи, пов'язані одним відношенням: альтернативи, послідовності чи ітерації. Голова та будь-який з елементів займають декілька послідовно розташованих комірок пам'яті, елементи одного фрейму також розташовуються послідовно, причому голова фрейму розташована першою в даній послідовності. Розмір фреймів (число елементів в одному фреймі) альтернативи чи послідовності може бути довільним, але скінченним. Фрейм ітерації складається із двох компонент: голови та посилання на ітерований елемент, яким є фрейм деякого довільного поняття, за виключенням визначеного у формі ітерації. Цим забезпечується зв'язність різних фреймів у єдину багаторазово вкладену структуру, що може містити рекурсивні конструкції. Складність опису (потужність множини понять, структура їхнього взаємозв'язку) може бути довільною та обмежується ресурсами конкретної реалізації (об'ємом оперативної пам'яті, об'ємом зовнішньої пам'яті, розрядністю вузлів та шин). Ті поняття бази знань, які не визначені через поняття бази знань, є термінальними та містять посилання на константи або термінальні програми, що у подальшому виконуються процесором обробки термінальних програм. Описана таким чином інформаційна структура прикладної області є базою знань прикладної області. На фіг. 9 у формі орієнтованого циклічного графа наведено алгоритм роботи комп'ютера баз знань. Пристрій працює наступним чином, безперервно виконуючи алгоритм фіг. 9 від початкової команди "старт" аж до зупинки тактового сигналу. В опису алгоритму використано наступні позначення: ПЗ - пристрій 3 знань, ПТП-процесор 5 термінальних програм, БЗ - база знань, ПС пам'ять сліду, САД - стек 44 адрес даних, СР - стек 23 регістрів, CO - стек 53 ознак, INP пам'ять вхідного масиву, OUT - пам'ять вихідного масиву у складі робочої пам'яті, РП - робоча пам'ять, ОПЗП - оперативна пам'ять знань та програм. 1. Початкова установка: Завантаження БЗ, бібліотек термінальних програм в ОПЗП 6; Завантаження даних (аргументу обчислювальної функції) в масиви INP і OUT робочої пам'яті РП 9; Установка регістрів у початковий стан, зокрема регістр R11:=00. Перехід в стан 2. 2. Прийом завдання процесором СП 3: Якщо в RКБЗ 16 отримано завдання (код імені функції), то: прийом від ПТП 5 через третій блок 15 вводу-виводу адреси даних в RAД 43 та через RКОМ2 35 ознак інтерпретації (режиму інтерпретації в R07 45, R08 46, значення інверсії 2 в R10 48 та в R11 49:=Х); R01:= адресі кореня БЗ (тобто код регістра RКБЗ 16 присвоїти регістра R01 17); запис значення регістра RAД 43 в стек 44; запис ознак інтерпретації (з R11 - тип фрейму=00, режима інтерпретації з R07=0/1, R08=0/1, з R09 - інверсії 1=Х, з R10 - інверсії 2=0/1, з R12 =Х) в стек 53; перехід в стан 3. Якщо через RКОМ2 35 отримано значення істинності, то зберегти його в R13 та перейти в стан 21. 5 UA 109325 C2 5 10 15 20 25 30 35 40 45 50 55 Інакше, очікування завдання поверненням до пункту 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 (розпізнавання ітерації), 14, якщо R11=11& R07=0& R08=1, то перехід до п. 17 (породження ітерації), якщо R11=11& R07=1& R08=0, то перехід до п. 18 (розпізнавання ітерації із слідом), якщо R11=11& R07=1& R08=1, то перехід до п. 20 (породження ітерації по сліду). 4. Передача термінального завдання процесору ПТП 5: R01:= [перший та другий байти першого слова фрейму]; Запис RAД 43 в стек 44 та ознак інтерпретації (тип фрейму - термінал з регістра R11; поточний режим інтерпретації - R07, R08; інверсія завдання із R09-1) в стек 53; Передача процесору ПТП 5 значень RAД 43 та значень R01 і ознак інтерпретації через RКОМ1 31; Перехід в стан 2. 5. Розпізнавання альтернативи: R02:=[R02] + 1; R03:=[R02]. Читання другого слова фрейму. R10:= [поле 2], R12:= [поле ОЕ], R07*:= [значення (0/1) ознаки ОС] або R08*:= [значення (0/1) ознаки породження ОП], R01:= [перший та другий байти другого слова фрейму]. Запис значень регістра RAД 43 в стек 44, [R02] - в стек 23. Запис ознак інтерпретації (R11 - тип фрейму альтернативи та R09-1 з першого слова фрейму; R10-2, R12 - ОЕ з другого слова фрейму та поточний режим інтерпретації - R07=0, R08=0) в стек 53; R07:= R07*; R08:=R08*; Перехід в стан 3. 6. Породження альтернативи: R07:= R07*; Аналіз R07: якщо 0, то перехід в стан 21, інакше - в стан 7. 7. Встати на слід: RC04:= [перший та другий байти першого слова фрейму, зчитаного з БЗ]; RC06:= [слово ПС, зчитане за адресою RC04]; : R03 = [R02] + [RC06]. Читання з БЗ за адресою [R03] вибраного слова фрейму. R10:= [поле 2], R12:= [поле ОЕ], R01:= [перший та другий байти вибраного слова фрейму]. Запис RAД 43 в стек 44. Запис ознак інтерпретації (R11 - тип фрейму альтернативи та R09-1 з першого слова фрейму; R10-2, R12 - ОЕ з вибраного слова фрейму та поточний режим інтерпретації - R07=0/1, R08=1) в стек 53; Перехід в стан 3. 8. Розпізнавання альтернативи із слідом: RC06:=1; RC04:=[R05] + 1; Запис [RC06] в ПС за адресою [RC04]; R03:= [R02] + [RC06]. Читання з БЗ за адресою [R03] другого слова фрейму. R10:= [поле 2], R12:= [поле ОЕ], R01:= [перший та другий байти вибраного слова фрейму]. 6 UA 109325 C2 5 10 15 20 25 30 35 40 45 50 55 60 Запис RAД 43 в стек 44, [R05], [R02] - в стек 23. Запис ознак інтерпретації (R11 - тип фрейму альтернативи та R09-1 з першого слова фрейму; R10-2, R12 - ОЕ з вибраного слова фрейму та поточний режим інтерпретації - R07=1, R08=0) в стек 53; R05:= [RC04]. Перехід в стан 3. 9. Породження альтернативи по сліду: RC04:= [RC04] + 1; RC06:= [ПС] за адресою [RC04]; R03:=[R02] + [RC06]. Читання з БЗ за адресою [R03] вибраного слова фрейму. R10:= [поле 2], R12:= [поле ОЕ], R12:= [перший та другий байти вибраного слова фрейму]. Запис RAД 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:= [поле ОЕ], R10:= [перший та другий байти другого слова фрейму]. Запис значення RAД 43 в стек 44, [R02] в стек 23. Запис ознак інтерпретації (R11 - тип фрейму послідовності та 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:= [перший та другий байти другого слова фрейму]. Запис RAД 43 в стек 44, [R05], [R02] - в стек 23, [RC06] - в стек 53. Запис ознак інтерпретації (R11 - тип фрейму послідовності та R09-1 з першого слова фрейму; R10-2, R12 - ОЕ з другого слова фрейму та поточний режим інтерпретації - R07=0/1, R08=1) в стек 53. Перехід в стан 3. 14. Завершити породження ітерації по сліду: RС06:= [RC06] - 1; R03:= [R02] + 1; Читання з БЗ другого слова фрейму. R10:= [поле І2], R01:= [перший та другий байти другого слова фрейму]. Запис [RC06] в стек 53, [R02] в стек 23. Запис ознак інтерпретації (R11 - тип фрейму ітерації та R09 - її з першого слова фрейму; R102 з другого слова фрейму та поточний режим інтерпретації – R07=0/1, R08=1) в стек 53. Перехід в стан 3. 15. Розпізнавання ітерації: R03:=[R02] + 1; Читання з БЗ другого слова фрейму. R10:= [поле 12], R12:= [поле ОЕ], R07*:= [значення (0/1) ознаки розпізнавання із слідом] або R08*:= [значення (0/1) ознаки породження], R01:= [перший та другий байти другого слова фрейму]. Запис значення регістра [R02] в стек 23. Запис ознак інтерпретації (R11 - тип фрейму ітерації та R09-1 з першого слова фрейму; R10-2, R12 - ОЕ з другого слова фрейму та поточний режим інтерпретації - R07=0, R08=0) в стек 53; 7 UA 109325 C2 = 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:= [R08] + 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=0&R07=0/1&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 109325 C2 5 10 15 20 25 30 35 40 45 50 55 60 якщо 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&Ro7=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: RAД:= [RAД із стеку 44]; Перехід в стан 2. 23. Набуття нових значень покажчиків INP, OUT: Виштовхнути [RAД] із стеку 44; Перехід в стан 2. 24. Розпізнавання альтернативи після прапора істина: Виштовхнути [R02] із стеку 23; Виштовхнути [RAД] із стеку 44. R13:=[R13]  [R09]. Перехід в стан 21. 25. Розпізнавання альтернативи із слідом після прапора істина: R02:= [R02] із стеку 23; R03:= [R02]; RC04:= [R05] із стеку 23; ОС першого слова фрейму:= 1; поля] і та тип фрейма - відновити у байті ознак та [перший та другий байти першого слова фрейму за адресою [R03] БЗ]:- [RC04]. Виштовхнути [RAД] із стеку 44. R13:=[R13]  [R09]. Перехід в стан 21. 26. Вихід з розпізнавання альтернативи: Виштовхнути [R02] із стеку 23; R13:=[R13]  [R09]. Перехід в стан 21. 27. Породження альтернативи по сліду після прапора істина: Виштовхнути [RAД] із стеку 44. R13:=[R13]  [R09]. Перехід в стан 21. 28. Розпізнавання альтернативи після прапора хибність: Відновлення покажчиків INP, OUT: RAД:= [RAД] із стеку 44. Аналіз значення R12: якщо 1, перехід в стан 26, інакше - в стан 29. 29. Розпізнавання нового варіанта альтернативи: R02:= [R02 із стеку 23] + 1; = R03: [R02]; Читання з БЗ чергового слова фрейму альтернативи. R10:= [поле 2], R12:= [поле ОЕ], R07*:= [значення (0/1) ознаки розпізнавання із слідом] або R08*:= [значення (0/1) ознаки породження], R01:= [перший та другий байти вибраного слова фрейму]. Запис значення регістра [RAД] в стек 44, a [R02] в стек 23. Запис ознак інтерпретації (R11 - тип фрейму альтернативи та R09 - її з першого слова фрейму; R10-2, R12 - ОЕ з чергового слова фрейму та вхідний режим інтерпретації - R07=0, R08=0) в стек 53; R07:=R07*; R08:= R08*. Перехід в стан 3. 30. Розпізнавання альтернативи із слідом після прапора хибність: Відновлення покажчиків INP, OUT: RAД Д:= [RAД із стеку 44]. Аналіз значення R12: якщо 1, перехід в стан 31, інакше - в стан 33. 31. Вихід із розпізнавання альтернативи із слідом: Виштовхнути [R02] із стеку 23; RC04:= [R05] із стеку 23; 9 UA 109325 C2 5 10 15 20 25 30 35 40 45 50 55 60 R13:=[R13]  [R09]. Перехід в стан 21. 32. Породження альтернативи по сліду після прапора хибність: Відновлення RAД:= [RAД із стеку 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:= [перший та другий байти вибраного слова фрейму]. Запис [RAД] в стек 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:= [перший та другий байти вибраного слова фрейму]. Запис [RAД] в стек 44, [R05], [R02] - в стек 23, [RC06] - в ПС. Запис ознак інтерпретації (R11 - тип фрейму послідовності та R09-1 з першого слова фрейму; R10-2, R12 - ОЕ з чергового слова фрейму та поточний режим інтерпретації з R07=0/1, R08=1) в стек 53. Перехід в стан 3. 37. Породження послідовності після прапора істина: Аналіз значення R12: якщо 1, перехід в стан 24, інакше - в стан 39. 38. Розпізнавання послідовності після прапора хибність: Відновлення RAД:= [RAД із стеку 44]. Перехід в стан 26. 39. Продовжити породження послідовності: R02:= [RC02 із стеку 23] + 1; R03:= [R02]. Читання з БЗ чергового слова фрейму послідовності. R10:= [поле 2], R12:=[поле ОЕ], R01:= [перший та другий байти другого слова фрейму]. Запис [RAД] в стек 44, [R02] - в стек 23. Запис ознак інтерпретації (R11 - тип фрейму послідовності та R09-1 з першого слова фрейму; R10-2, R12 - ОЕ з другого слова фрейму та поточний режим інтерпретації – R07=0/1, R08=1) в стек 53. Перехід в стан 3. 40. Розпізнавання послідовності із слідом після прапора хибність: Відновлення покажчиків: RC04:= [R05 із стеку 23], RAД:= [RAД із стеку 44]; = = R07: R07*; R08: R08*. Перехід в стан 26. 41. Породження послідовності після прапора хибність: Відновлення RAД:= [RAД із стеку 44]; R07:= R07*; R08:= R08*; Виштовхнути [R02 із стеку 23]. R13:=[R13]  [R09]. - Перехід в стан 21. 42. Розпізнавання ітерації після прапора істина: R03:= [R02 із стеку 17] + 1. Читання із БЗ другого слова фрейму. R10:= [поле 2], R12:= [поле ОЕ], R07*:= [значення (0/1) = ознаки розпізнавання із слідом] або R08*: [значення (0/1) ознаки породження], R01:= [перший та другий байти другого слова фрейму]. 10 UA 109325 C2 5 10 15 20 25 30 35 40 Запис значення регістра [R02] в стек 23. Запис ознак інтерпретації (R11 - тип фрейму ітерації та R09-1 з першого слова фрейму; R10-2, R12 - ОЕ з другого слова фрейму та поточний режим інтерпретації – 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]; Аналіз [RС06]: якщо [RC06]  0, то перехід в стан 45, інакше - в стан 46. 45. Продовжити породження ітерації після прапора істина: RC06:= [RC06] - 1; R03:= [R02 із стеку 23] + 1. Читання з БЗ другого слова фрейму. R10:= [поле 2], R01:= [перший та другий байти другого слова фрейму]. Запис [RC06] в стек 53, запис [R02] в стек 23. Запис ознак інтерпретації (R11 - тип фрейму ітерації та 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 та тип фрейма - відновити; [перший та другий байти першого слова фрейму в БЗ]:= [RC04]; R13:=[R09]. - Перехід в стан 21. 48. Породження ітерації після прапора хибність: Виштовхнути [R02 із стеку 23]; Виштовхнути [RC06 із стеку 53]; R13:=[R09]. Перехід в стан 21. Оскільки система обробки знань підтримує системний шинний інтерфейс (наприклад, АРВ), то вона може бути легко інтегрована в сучасні мікропроцесорні системи на кристалі з метою розширення їхнього набору команд. 45 11 UA 109325 C2 Таблиця 1 Ім'я регістра Rд RCm RCn RКБЗ RКОМ1 RКОМ2 RAД 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 109325 C2 5 10 15 20 25 30 підключений до першого виходу стеку регістрів, перший вхід разом із другим входом третього мультиплексора з'єднаний із виходом суматора, а вихід підключений до входу регістра номера слова фрейму, чий вихід підключений до першого входу стеку регістрів та до першого входу суматора, другий вхід якого разом із четвертим входом шостого мультиплексора і першими входами другого блока управління та стеку ознак підключений до виходу регістра ітерації, чий вхід підключений до виходу п'ятого мультиплексора, другий вхід якого підключений до першого виходу стеку ознак, вихід третього мультиплексора підключено до входу регістра адреси бази знань, чий вихід підключено до другого входу шостого мультиплексора, вихід якого підключено до третього входу першого регістра команд, третій вхід разом із входом регістра вершини сліду з'єднаний із виходом регістра координати сліду, вхід якого підключений до виходу четвертого мультиплексора, чий другий вхід підключений до другого виходу стеку регістрів, а третій вхід разом із другим входом стеку регістрів підключений до виходу регістра вершини сліду, вихід другого блока управління підключено до першого входу першого регістра команд, другий вхід другого блока управління разом із другими входами суматорів по модулю два підключені до виходу регістра істинності, третій вхід разом із входами додаткових регістрів ознак сліду та ознак породження і з першими входами сьомого, восьмого, дев'ятого, десятого, одинадцятого та дванадцятого мультиплексорів підключений до виходу другого регістра команд, а четвертий вхід другого блока управління разом із другим входом першого регістра команд підключений до виходів регістрів ознак сліду, ознак породження, типу фрейму та ознак останнього елемента, виходи додаткових регістрів ознак сліду та ознак породження підключені до других входів сьомого і восьмого мультиплексорів відповідно, чиї треті входи разом із другими входами дев'ятого, десятого, одинадцятого і дванадцятого мультиплексорів підключені до другого виходу стеку ознак, другий вхід якого підключений до других виходів регістрів ознак сліду, ознак породження, першої інверсії, другої інверсії, типу фрейму та останнього елемента, чиї входи підключені до виходів сьомого, восьмого, дев'ятого, десятого, одинадцятого і дванадцятого мультиплексорів відповідно, другий вихід регістра першої інверсії підключений до перших входів тринадцятого мультиплексора та першого суматора по модулю два, вихід регістра другої інверсії підключений до першого входу другого суматора по модулю два, вихід тринадцятого мультиплексора підключений до входу регістра істинності, а його другий і третій входи з'єднані із виходами першого та другого суматорів по модулю два відповідно. 13 UA 109325 C2 14 UA 109325 C2 15 UA 109325 C2 Комп’ютерна верстка Л. Бурлак Державна служба інтелектуальної власності України, вул. Василя Липківського, 45, м. Київ, МСП, 03680, Україна ДП “Український інститут інтелектуальної власності”, вул. Глазунова, 1, м. Київ – 42, 01601 16

Дивитися

Додаткова інформація

Автори англійською

Hryhoriev Serhii Mykolaiovych

Автори російською

Григоръев Сергей Николаевич

МПК / Мітки

МПК: G06N 5/04, G06F 15/00

Мітки: комп'ютер, знань, баз

Код посилання

<a href="https://ua.patents.su/18-109325-kompyuter-baz-znan.html" target="_blank" rel="follow" title="База патентів України">Комп’ютер баз знань</a>

Подібні патенти