Пристрій баз знань
Номер патенту: 89644
Опубліковано: 25.04.2014
Автори: Кургаєв Олександр Пилипович, Григор'єв Сергій Миколайович
Формула / Реферат
Пристрій баз знань, що містить головний комп'ютер, пам'ять баз знань, перший блок управління, арифметико-логічний блок, робочу пам'ять, регістр даних, регістр-лічильник вхідного масиву та перший блок вводу-виводу, перший вхід-вихід якого підключений до системної шини пристрою, його другий вхід-вихід підключений до входів-виходів регістра-лічильника вхідного масиву, а третій вхід-вихід разом із входами-виходами арифметико-логічного блока, першого блока управління та першими входами-виходами регістра даних, з'єднаного другими входами-виходами з входами-виходами робочої пам'яті, підключений до шини даних, який відрізняється тим, що в нього введено пам'ять програм та даних, другий та третій блоки вводу-виводу, регістр-лічильник вихідного масиву, мультиплексор даних, регістр кореня бази знань, перший та другий регістри команд, регістр адрес даних, регістр імені структури, регістр номера слова фрейму, регістр адреси бази знань, регістр координати сліду, регістр вершини сліду, регістр ітерації, регістр істинності, регістр ознак сліду, регістр ознак породження, регістр першої інверсії, регістр другої інверсії, регістр типу фрейму, регістр ознак останнього елемента, додатковий регістр ознак сліду, додатковий регістр ознак породження, одинадцять мультиплексорів, стек адрес даних, стек регістрів, стек ознак, пам'ять сліду, суматор та два суматори по модулю два, при цьому четвертий вхід-вихід першого блока вводу-виводу підключено до входу-виходу регістра-лічильника вихідного масиву, чий вихід разом із виходом регістра-лічильника вхідного масиву через мультиплексор даних підключений до адресного входу робочої пам'яті, пам'ять програм та даних та перші входи-виходи другого та третього блоків вводу-виводу об'єднані системною шиною машини, другий вхід-вихід другого блока вводу-виводу підключений до входів-виходів головного комп'ютера, а другий вхід-вихід третього блока вводу-виводу підключений до першого входу-виходу регістра адрес даних, другий вхід-вихід якого підключено до входу-виходу стека адрес даних, перший вихід третього блока вводу-виводу підключено до входу регістра кореня бази знань, чий вихід підключено до другого входу першого мультиплексора, вихід якого підключено до входу регістра імені структури, чий вихід з'єднано із першими входами третього мультиплексора і першого регістра команд та з другим входом другого мультиплексора, вихід якого підключено до входу регістра номера слова фрейму, чий вихід підключено до першого входу стека регістрів та до першого входу суматора, вихід якого підключено до першого входу другого мультиплексора та до другого входу третього мультиплексора, чий вихід підключено до входу регістра адреси бази знань, з'єднаного виходом із адресним входом оперативної пам'яті бази знань, перший інформаційний вихід якої підключений до перших входів першого мультиплексора та четвертого мультиплексора, чий вихід підключено до входу регістра координати сліду, вихід якого з'єднаний із адресним входом пам'яті сліду, інформаційним входом оперативної пам'яті бази знань та із входом регістра вершини сліду, чий вихід підключено до другого входу стека регістрів та до третього входу четвертого мультиплексора, другий вхід якого підключений до другого виходу стека регістрів, чий перший вихід підключено до третього входу другого мультиплексора, вихід першого регістра команд підключено до входу третього блока вводу-виводу, чий другий вихід підключено до входу другого регістра команд, перший вихід якого підключено до першого входу другого блока управління, а другий вихід підключено до перших входів п'ятого, шостого, восьмого та десятого мультиплексорів, вихід ознак оперативної пам'яті бази знань підключено до входів додаткових регістрів ознак сліду, ознак породження та до других входів сьомого, восьмого, дев'ятого та десятого мультиплексорів, вихід додаткового регістра ознак сліду підключено до другого входу п'ятого мультиплексора, вихід додаткового регістра ознак породження підключено до другого входу шостого мультиплексора, треті входи п'ятого, шостого, восьмого та десятого і другі входи сьомого та дев'ятого мультиплексорів підключені до виходу стека ознак, а виходи п'ятого, шостого, сьомого, восьмого, дев'ятого та десятого мультиплексорів з'єднані із входами регістрів ознак сліду, ознак породження, першої інверсії, другої інверсії, типу фрейму та ознак останнього елемента відповідно, перші виходи регістрів ознак сліду, ознак породження, типу фрейму та ознак останнього елемента підключено до третього входу першого регістра команд та другого входу другого блока управління, чий вихід підключено до другого входу першого регістра команд, другі виходи регістрів ознак сліду, ознак породження, першої інверсії, другої інверсії, типу фрейму та ознак останнього елемента підключено до входу стека ознак, перший вихід регістра першої інверсії та третій вихід регістра типу фрейма разом із виходом логічної одиниці підключено до входу ознак оперативної пам'яті баз знань, а третій вихід регістра першої інверсії підключено до першого входу першого суматора по модулю два та до першого входу одинадцятого мультиплексора, перший вихід регістра другої інверсії підключено до першого входу другого суматора по модулю два, чий другий вхід разом із другим входом першого суматора по модулю два та третім входом другого блоку управління підключений до виходу регістра істинності, вхід якого з'єднаний із виходом одинадцятого мультиплексора, чиї другий і третій входи підключені до виходів першого та другого суматора по модулю два відповідно, входи-виходи стека ознак з'єднані із входами-виходами пам'яті сліду та регістра ітерації, чий вихід підключений до другого входу суматора та до четвертого входу другого блока управління.
Текст
Реферат: UA 89644 U UA 89644 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 89644 U 5 10 15 20 25 30 35 40 45 50 55 60 регістра даних, з'єднаного другими входами-виходами з входами-виходами робочої пам'яті, підключений до шини даних. В основу моделі поставлена задача побудови спеціалізованого пристрою баз знань. Всяка задача, поставлена у вигляді імені функції та значення її аргументу, вирішується виводом рішення у процесі інтерпретації бази знань. База знань складається із структури взаємозв'язаних визначень термінів, кожне з яких представляється у формі одного з п'яти фреймів: альтернативи, послідовності, ітерації, текстової константи або терміналу. Усякий фрейм - послідовність слів фіксованої довжини (наприклад, трьох-байтових), серед яких розрізняється перше слово, а в кожному зі слів перший байт і наступні. Фрейми текстової константи й термінала - однослівні, ітерації двослівні, альтернативи й послідовності - багатослівні. Фрейми визначень всіх термінів всякої бази знань розміщено у пам'яті бази знань у вигляді ієрархічної структури, що усуває проблему множини конфліктних правил. Такий принцип організації бази знань дозволяє ефективно зберігати та інтерпретувати ітераційні й рекурсивні структури визначень. Ще однією важливою відмінністю системи обробки знань є те, що структура процесу інтерпретації, процесу виводу рішення зберігається спеціальними засобами ведення сліду. З метою розширення функціональних можливостей інтерпретації рекурсивних, ітераційних та вкладених структур і формування структури виводу рішення задачі у пристрій, що містить головний комп'ютер, пам'ять баз знань, перший блок управління, арифметико-логічний блок, робочу пам'ять, регістр даних, регістр-лічильник вхідного масиву та перший блок вводу-виводу, перший вхід-вихід якого підключений до системної шини пристрою, його другий вхід-вихід підключений до входів-виходів регістра-лічильника вхідного масиву, а третій вхід-вихід разом із входами-виходами арифметико-логічного блока, першого блока управління та першими входами-виходами регістра даних, з'єднаного другими входами-виходами з входами-виходами робочої пам'яті, підключений до шини даних, введено пам'ять програм та даних, другий та третій блоки вводу-виводу, регістр-лічильник вихідного масиву, мультиплексор даних, регістр кореня бази знань, перший та другий регістри команд, регістр адрес даних, регістр імені структури, регістр номера слова фрейму, регістр адреси бази знань, регістр координати сліду, регістр вершини сліду, регістр ітерації, регістр істинності, регістр ознак сліду, регістр ознак породження, регістр першої інверсії, регістр другої інверсії, регістр типу фрейму, регістр ознак останнього елемента, додатковий регістр ознак сліду, додатковий регістр ознак породження, одинадцять мультиплексорів, стек адрес даних, стек регістрів, стек ознак, пам'ять сліду, суматор та два суматори по модулю два, при цьому четвертий вхід-вихід першого блока вводувиводу підключено до входу-виходу регістра-лічильника вихідного масиву, чий вихід разом із виходом регістра-лічильника вхідного масиву через мультиплексор даних підключений до адресного входу робочої пам'яті, пам'ять програм та даних та перші входи-виходи другого та третього блоків вводу-виводу об'єднані системною шиною машини, другий вхід-вихід другого блока вводу-виводу підключений до входів-виходів головного комп'ютера, а другий вхід-вихід третього блока вводу-виводу підключений до першого входу-виходу регістра адрес даних, другий вхід-вихід якого підключено до входу-виходу стека адрес даних, перший вихід третього блока вводу-виводу підключено до входу регістра кореня бази знань, чий вихід підключено до другого входу першого мультиплексора, вихід якого підключено до входу регістра імені структури, чий вихід з'єднано із першими входами третього мультиплексора і першого регістра команд та з другим входом другого мультиплексора, вихід якого підключено до входу регістра номера слова фрейму, чий вихід підключено до першого входу стека регістрів та до першого входу суматора, вихід якого підключено до першого входу другого мультиплексора та до другого входу третього мультиплексора, чий вихід підключено до входу регістра адреси бази знань, з'єднаного виходом із адресним входом оперативної пам'яті бази знань, перший інформаційний вихід якої підключений до перших входів першого мультиплексора та четвертого мультиплексора, чий вихід підключено до входу регістра координати сліду, вихід якого з'єднаний із адресним входом пам'яті сліду, інформаційним входом оперативної пам'яті бази знань та із входом регістра вершини сліду, чий вихід підключено до другого входу стека регістрів та до третього входу четвертого мультиплексора, другий вхід якого підключений до другого виходу стека регістрів, чий перший вихід підключено до третього входу другого мультиплексора, вихід першого регістра команд підключено до входу третього блока вводувиводу, чий другий вихід підключено до входу другого регістра команд, перший вихід якого підключено до першого входу другого блока управління, а другий вихід підключено до перших входів п'ятого, шостого, восьмого та десятого мультиплексорів, вихід ознак оперативної пам'яті бази знань підключено до входів додаткових регістрів ознак сліду, ознак породження та до других входів сьомого, восьмого, дев'ятого та десятого мультиплексорів, вихід додаткового 2 UA 89644 U 5 10 15 20 25 30 35 40 45 50 55 60 регістра ознак сліду підключено до другого входу п'ятого мультиплексора, вихід додаткового регістра ознак породження підключено до другого входу шостого мультиплексора, треті входи п'ятого, шостого, восьмого та десятого і другі входи сьомого та дев'ятого мультиплексорів підключені до виходу стека ознак, а виходи п'ятого, шостого, сьомого, восьмого, дев'ятого та десятого мультиплексорів з'єднані із входами регістрів ознак сліду, ознак породження, першої інверсії, другої інверсії, типу фрейму та ознак останнього елементу відповідно, перші виходи регістрів ознак сліду, ознак породження, типу фрейму та ознак останнього елемента підключено до третього входу першого регістра команд та другого входу другого блоку управління, чий вихід підключено до другого входу першого регістра команд, другі виходи регістрів ознак сліду, ознак породження, першої інверсії, другої інверсії, типу фрейму та ознак останнього елемента підключено до входу стека ознак, перший вихід регістра першої інверсії та третій вихід регістра типу фрейму разом із виходом логічної одиниці підключено до входу ознак оперативної пам'яті баз знань, а третій вихід регістра першої інверсії підключено до першого входу першого суматора по модулю два та до першого входу одинадцятого мультиплексора, перший вихід регістра другої інверсії підключено до першого входу другого суматора по модулю два, чий другий вхід разом із другим входом першого суматора по модулю два та третім входом другого блоку управління підключений до виходу регістра істинності, вхід якого з'єднаний із виходом одинадцятого мультиплексора, чиї другий і третій входи підключені до виходів першого та другого суматора по модулю два відповідно, входи-виходи стека ознак з'єднані із входамивиходами пам'яті сліду та регістра ітерації, чий вихід підключений до другого входу суматора та до четвертого входу другого блоку управління. Відмітними ознаками запропонованого пристрою баз знань від відомого прототипу є: 1) знання зберігаються у вигляді множини визначень термінів та відокремлено від алгоритму їх обробки; 2) алгоритм роботи пристрою апаратно "зашитий" у автомат управління по типу Мура; 3) знання, що містяться у базі знань зберігаються у вигляді ієрархічної структури, яка значно підвищує ефективність пошуку рішення за рахунок логічного виводу тільки у необхідній частині бази знань; 4) зберігається структура логічного виводу, яка в подальшому може бути використана для пояснення ходу логічного виводу або породження нової структури даних; 5) надається можливість ефективно зберігати та інтерпретувати ітераційні та рекурсивні структури даних, які містять визначення з використанням відношень кон'юнкції, диз'юнкції та інверсії. На Фіг. 1 наведено структуру пристрою баз знань, на Фіг. 2 наведено структуру блока управління, на Фіг. 3 наведено структуру багатовхідного регістра, на Фіг. 4 наведено структуру реверсивного регістра, на Фіг. 5 наведено структуру запису пам'яті сліду та стеку регістрів, на Фіг. 6 наведено структуру слова бази знань, на Фіг. 7 наведено структуру байта ознак слова фрейму, на Фіг. 8 наведено структуру шаблонів фреймів; на Фіг. 9 наведено граф алгоритму роботи пристрою. У табл. 1 наведено опис регістрів пристрою. Пристрій баз знань (Фіг. 1) складається із: головного комп'ютера 1, модуля розширення функціональності 2, блока обробки знань 3, другого блока вводу-виводу 4, термінального процесора 5, пам'яті програм та даних 6, регістра даних 7, арифметико-логічного блока 8, робочої пам'яті 9, мультиплексора МХД 10 даних, регістра-лічильника RCm 11 вхідного масиву, регістра-лічильника RCn 12 вихідного масиву, першого блока вводу-виводу 13, першого блока управління 14, третього блока вводу-виводу 15, регістра RКБЗ 16 кореня бази знань, першого регістра RКОМ1 17 команд, другого регістра RKOM2 18 команд, регістра RАД 19 адрес даних, стека 20 адрес даних, першого мультиплексора MX1 21, регістра R01 22 імені структури, другого мультиплексора МХ2 23, регістра R02 24 номеру слова фрейму, суматора Σ 25, третього мультиплексора МХ3 26, регістра R03 27 адреси бази знань, пам'яті бази знань 28, другого блоку управління 29, стека регістрів 30, четвертого мультиплексора МХ 4 31, регістра RC04 32 координати сліду, регістра R05 33 вершини сліду, регістра ітерації RC06 34, пам'яті сліду 35, * * додаткового регістра R07 36 ознак сліду, додаткового регістра R08 37 ознаки породження, регістра R13 38 істинності, п'ятого мультиплексора МХ 5 39, шостого мультиплексора МХ6 40, сьомого мультиплексора МХ7 41, восьмого мультиплексора МХ8 42, дев'ятого мультиплексора МХ9 43, десятого мультиплексора МХ10 44, одинадцятого мультиплексора МХ11 45, регістра R07 46 ознак сліду, регістра R08 47 ознак породження, першого регістра R09 48 інверсії, другого регістра R10 49 інверсії, регістра R11 50 типу фрейму, регістра R12 51 ознаки останнього елемента, першого суматора 52 по модулю два, другого суматора 53 по модулю два, стека ознак 54. Головний комп'ютер 1 призначений для постановки завдання, зчитування результатів роботи модуля розширення функціональності 2 та конфігурації роботи модуля 2. Блок обробки баз знань 3 призначений для швидкої апаратної обробки завдання, що надійшло від головного комп'ютера 1. Термінальний процесор 5 призначений для виконання термінальних програм на 3 UA 89644 U 5 10 15 20 25 30 35 40 45 50 55 60 замовлення блока обробки знань 3. Блок вводу-виводу 15 призначений для організації інтерфейсу між головним комп'ютером 1 та модулем 3. Пам'ять 6 програм та даних та перші входи-виходи першого 13, другого 4 та третього 15 блоків вводу-виводу об'єднані системною шиною пристрою. Другий вхід-вихід першого блока 13 вводу-виводу підключений до входів-виходів регістра-лічильника RCm 11 вхідного масиву, його третій вхід-вихід разом із входами-виходами арифметико-логічного блока 8, першого блока управління 13 та першими входами-виходами регістра даних RД 7, з'єднаного другими входамивиходами з входами-виходами робочої пам'яті 9, підключений до шини даних. Четвертий вхідвихід першого блока вводу-виводу підключений до входів-виходів регістра-лічильника RCn 12 вихідного масиву, чий вихід разом із виходом регістра-лічильника RCm 11 вхідного масиву підключений через мультиплексор МХД 10 даних до адресного входу робочої пам'яті 9. Другий вхід-вихід другого блока вводу-виводу 4 підключений до головного комп'ютера 1, а другий вхідвихід третього блока вводу-виводу 15 підключений до першого входу-виходу регістра RАД 19 адрес даних, другий вхід-вихід якого підключено до входу-виходу стека 20 адрес даних. Перший вихід третього блока вводу-виводу 15 підключено до входу регістра RКБЗ 16 кореня бази знань, чий вихід підключено до другого входу першого мультиплексора MX1 21, вихід якого підключено до входу регістра R01 22 імені структури, чий вихід з'єднано із першими входами третього мультиплексора МХ3 26 і першого регістра RКОМ1 17 команд та з другим входом другого мультиплексора МХ2 23. Вихід другого мультиплексора МХ2 23 підключено до входу регістра R02 24 номера слова фрейму, чий вихід підключено до першого входу стека 30 регістрів та до першого входу суматора Σ 25, вихід якого підключено до першого входу другого мультиплексора МХ2 23 та до другого входу третього мультиплексора МХ 3 26. Вихід третього мультиплексора МХ3 26 підключено до входу регістра R03 27 адреси бази знань, з'єднаного виходом із адресним входом оперативної пам'яті 28 бази знань, перший інформаційний вихід якої підключений до перших входів першого МХ1 21 та четвертого МХ4 31 мультиплексорів. Вихід четвертого мультиплексора МХ4 31 підключено до входу регістра RC04 32 координати сліду, вихід якого з'єднаний із адресним входом пам'яті 35 сліду, інформаційним входом оперативної пам'яті 28 бази знань та із входом регістра R05 33 вершини сліду, чий вихід підключено до другого входу стека 30 регістрів та до третього входу четвертого мультиплексора МХ4 31, другий вхід якого підключений до другого виходу стека 30 регістрів, чий перший вихід підключено до третього входу другого мультиплексора МХ 2 23. Вихід першого регістра RКОМ1 17 команд підключено до входу третього блока вводу-виводу 15, чий другий вихід підключено до входу другого регістра RКОМ2 18 команд, перший вихід якого підключено до першого входу другого блока управління 29, а другий вихід підключено до перших входів п'ятого МХ 5 39, шостого МХ6 40, восьмого МХ8 42 та десятого МХ10 44 мультиплексорів. Вихід ознак * оперативної пам'яті 28 бази знань підключено до входів додаткових регістрів ознак сліду R07 36, * ознак породження R08 37 та до других входів сьомого МХ7 41, восьмого МХ8 42, дев'ятого МХ9 * 43 та десятого МХ10 44 мультиплексорів. Вихід додаткового регістра R07 36 ознак сліду * підключено до другого входу п'ятого мультиплексора МХ5 39, вихід додаткового регістра R08 37 ознак породження підключено до другого входу шостого мультиплексора МХ 6 40, треті входи п'ятого МХ5 39, шостого МХ6 40, восьмого МХ8 42 та десятого МХ10 44 і другі входи сьомого МХ7 41 та дев'ятого МХ9 43 мультиплексорів підключені до виходу стека 54 ознак. Виходи п'ятого МХ5 39, шостого МХ6 40, сьомого МХ7 41, восьмого МХ8 42, дев'ятого МХ9 43 та десятого МХ10 44 мультиплексорів з'єднані із входами регістрів ознак сліду R07 46, ознак породження R08 47, першої інверсії R09 48, другої інверсії R10 49, типу фрейму R11 50 та ознак останнього елементу R12 51 відповідно. Перші виходи регістрів ознак сліду R07 46, ознак породження R08 47, типу фрейму R11 50 та ознак останнього елемента R12 51 підключено до третього входу першого регістра команд RКОМ1 17 та другого входу другого блоку управління 19, чий вихід підключено до другого входу першого регістра команд RКОМ1 17. Другі виходи регістрів ознак сліду R07 46, ознак породження R08 47, першої інверсії R09 48, другої інверсії R10 49, типу фрейму R11 50 та ознак останнього елемента R12 51 підключено до входу стека 54 ознак, перший вихід регістра R09 48 першої інверсії та третій вихід регістра R11 50 типу фрейму разом із виходом логічної одиниці підключено до входу ознак оперативної пам'яті 28 баз знань. Третій вихід регістра R09 48 першої інверсії підключено до першого входу першого суматора 52 по модулю два та до першого входу одинадцятого мультиплексора МХ11 45, перший вихід регістра R10 49 другої інверсії підключено до першого входу другого суматора 53 по модулю два, чий другий вхід разом із другим входом першого суматора 52 по модулю два та третім входом другого блоку управління 29 підключений до виходу регістра R13 38 істинності, вхід якого з'єднаний із виходом одинадцятого мультиплексора МХ11 45, чиї другий і третій входи підключені до виходів першого 52 та другого 53 суматора по модулю два відповідно. Входи-виходи стека 54 ознак з'єднані із входами 4 UA 89644 U 5 10 15 20 25 30 35 40 45 50 55 виходами пам'яті 35 сліду та регістра RC06 34 ітерації, чий вихід підключений до другого входу суматора Σ 25 та до четвертого входу другого блока управління 29. Блок вводу-виводу 15 виконує обмін даними та командами між термінальним процесором 5 та блоком обробки знань 3. За допомогою блока вводу-виводу 15 відбувається початкова ініціалізація вмісту регістрів блока 3, ініціалізація та модифікація даних в оперативній пам'ятях 20, 28, 30, 35 та 54. Блок 29 управління (Фіг. 2) складається із трьох модулів: логіка переходів 55, пам'ять станів 56 та вихідна логіка 57. Блок 29 управління за результатами аналізу кодів на своїх входах формує на його виходах команди управління блоком вводу-виводу 15 та операційною частиною пристрою 3. Логіка переходів 55 визначає наступний стан блока управління 29, що є функцією від поточного стану пам'яті станів 56 та кодів на входах блока управління 29. Пам'ять станів 56 складається із набору елементів пам'яті та призначена для збереження поточного стану блока 29 управління. Команди на виходах блока управління 29 визначаються вихідною логікою 57 та є функцією від поточного стану пам'яті станів 56. Структуру багатовхідного регістра (RКОМ1, RКОМ2, RД, RАД) зображено на Фіг. 3. Багатовхідний регістр складається із мультиплексора MXі та регістра Rі. На вхід регістра Rі надходять дані з виходу MXі, що вибираються згідно з командами на входах управління MXі. Дані з виходу мультиплексора MXі записуються у регістр Rі. Структуру реверсивного регістра (RC04, RC08) зображено на Фіг. 4. Він складається із мультиплексора МХі, арифметико-логічного пристрою та регістра Rі. На вхід мультиплексора MXі надходять n вхідних даних, дані від арифметико-логічного пристрою та команди. Згідно до вхідних команд виконується комутація відповідного входу мультиплексора MXi із його виходом. Дані з виходу мультиплексора записуються у регістр Ri. База знань (БЗ) представляється у формі інформаційної структури множини визначень, вузлами якої є поняття (термінальні - константи чи іменовані процедури, або не термінальні), а дугами - відношення альтернативи, послідовності чи ітерації, що зв'язують поняття (вузли) визначальної частини всякого визначення. Пам'ять бази знань 28 зберігає знання у машинній формі, що складається із множини фреймів, кожний із яких має структуру масиву слів фіксованої довжини (наприклад, 3 байти). Довжина фрейму залежить від типу відношення, яке він описує, та від числа понять у визначальній частині і може складати від одного до деякого скінченного числа слів. Пам'ять сліду 35 зберігає структуру виводу рішення задачі, яка може бути використана для пояснення процесу рішення задачі або при породженні наслідку. Пам'ять стека 20 адрес даних, стека 30 регістрів та стека 54 ознак інтерпретації тимчасово зберігає проміжні дані процесу виводу рішення. Якщо на деякому етапі процесу інтерпретації вибраний шлях виявився хибним, то відбувається відновлення необхідного вмісту регістрів зчитуванням даних із відповідних стеків. На Фіг. 5 наведено структуру запису стека 20 адрес даних, стека 30 регістрів та пам'яті сліду 35. Стек ознак 54 містить слова із 8-ми біт. На Фіг. 6 наведено структуру слів бази знань, із яких складаються фрейми. Кожне слово бази знань містить 24-біти: байт ознак інтерпретації та інформаційне поле. Інформаційне поле залежно від типу поточного фрейму містить: фізичну адресу, що посилається на інший фрейм; фізичну адресу, що посилається на текстову константу; номер (ім'я) термінальної програми. На Фіг. 7 наведено структуру байта ознак. Дане поле містить інформацію про тип фрейму та ознаки його інтерпретації. Кожен фрейм (Фіг. 8) містить голову та елементи, пов'язані одним відношенням: альтернативи, послідовності чи ітерації. Голова та будь-який з елементів займають декілька послідовно розташованих комірок пам'яті, елементи одного фрейму також розташовуються послідовно, причому голова фрейму розташована першою в даній послідовності. Розмір фреймів (число елементів в одному фреймі) альтернативи чи послідовності може бути довільним, але скінченним. Фрейм ітерації складається із двох компонент: голови та посилання на ітерований елемент, яким є фрейм деякого довільного поняття, за виключенням визначеного у формі ітерації. Цим забезпечується зв'язність різних фреймів у єдину багаторазово вкладену структуру, що може містити рекурсивні конструкції. Складність опису (потужність множини понять, структура їхнього взаємозв'язку) може бути довільною та обмежується ресурсами конкретної реалізації (об'ємом оперативної пам'яті, об'ємом зовнішньої пам'яті, розрядністю вузлів та шин). Ті поняття бази знань, які не визначені через поняття бази знань, є термінальними та містять посилання на константи або термінальні програми, що у подальшому виконуються 5 UA 89644 U 5 10 15 20 25 30 35 40 45 50 55 60 термінальним процесором 5. Описана таким чином інформаційна структура прикладної області є базою знань прикладної області. На Фіг. 9 у формі орієнтованого циклічного графу наведено алгоритм роботи пристрою. Пристрій працює наступним чином, безперервно виконуючи алгоритм Фіг. 9 від початкової команди "старт" аж до зупинки тактового сигналу. В опису алгоритму використано наступні позначення: БОЗ - блок обробки знань 3, ТП - термінальний процесор 5, БЗ - база знань 28, ПС - пам'ять сліду 35, СР - стек регістрів 30, САД - стек адрес даних 20, CO - стек ознак 54, INP пам'ять вхідного масиву, OUT - пам'ять вихідного масиву, ПП - пам'ять програм 6. 1. Початкова установка: - Завантаження БЗ; - Завантаження бібліотек термінальних програм в ПП; - Завантаження даних (аргументу обчислювальної функції) в масиви INP і OUT пам'яті ПП; - Установка регістрів у початковий стан, зокрема регістр R11:=00. - Перехід в стан 2. 2. Прийом завдання процесором БОЗ: - Якщо отримано в RKБЗ16 завдання (ім'я функції), то: - прийом від ТП в RАД 19 адрес даних та через RКОМ2 18 - ознак інтерпретації (режиму інтерпретації в R07, R08, значення інверсії 2 в R10 та в R12:=X); - R01: = адреса кореня БЗ (тобто код регістра RКБЗ 16 через мультиплексор МХ1 21 присвоїти регістру R01 22); - запис значення регістра RAД 19 в стек 20; - запис ознак інтерпретації (R11 - тип фрейму=00, режим інтерпретації - R07=0/1, R08=0/1, R09 інверсії 1=X, R10 - інверсії 2=0/1, R12=X) в стек 54; - перехід в стан 3. - Якщо через RКОМ2 18 отримано значення істинності, то зберегти його в R13 38 та перейти в стан 21. - Інакше, очікування завдання поверненням до пункту 2. 3. Аналіз завдання і режиму його інтерпретації (R11+R07+R08): - R02:= [R01] (вміст R01 записати в R02); - R03:= [R01] (вміст R01 записати в R03); * - Читання із БЗ 28 першого слова фрейму: R07 := [поле ОС - ознака сліду], R11:= [поле "тип фрейму"], R09:= [поле 1]. - Блок 29 управління аналізує 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. Передача термінального завдання процесору ТП: - R01:= [перший та другий байти першого слова фрейму, зчитані із БЗ 28]; - Запис RАД 19 в стек 20 та ознак інтерпретації (тип фрейму - термінал з регістра R11; поточний режим інтерпретації - R07, R08; інверсія завдання із R09 - 1) в стек 54; - Передача процесору ТП значень RАД 19 та значень R01 і ознак інтерпретації через RКОМ1 17; - Перехід в стан 2. 5. Розпізнавання альтернативи: - R02:=[R02]+1; - R03:=[R02]; * - Читання із БЗ 28 другого слова фрейму. R10:=[поле 2], R12:=[поле ОЕ], R07 :=[значення (0/1) * ознаки ОС] або R08 :=[значення (0/1) ознаки породження ОП], R01:=[перший та другий байти другого слова фрейму]. - Запис значень регістра RАД 19 в стек 20, [R02] - в стек 30. Запис ознак інтерпретації (R11 тип фрейму альтернативи та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з другого слова фрейму та поточний режим інтерпретації - R07=0, R08=0) в стек 54; 6 UA 89644 U * 5 10 15 20 25 30 35 40 45 50 55 * - R07:=R07 ; R08:=R08 ; - Перехід в стан 3. 6. Породження альтернативи: * - R07:=R07 ; - Аналіз R07: якщо 0, то перехід в стан 21, інакше - в 7. 7. Встати на слід: - RC04:=[перший та другий байти першого слова фрейму, зчитаного з БЗ 28]; - RC06:=[слово з пам'яті ПС 35, зчитане за адресою RC04]; - R03:=[R02]+[RС06]; - Читання з БЗ 28 за адресою [R03] обраного слова фрейму. R10:=[поле 2], R12:=[поле ОЕ], R01:=[перший та другий байти обраного слова фрейму]. - Запис RАД 19 в стек 20. Запис ознак інтерпретації (R11 - тип фрейму альтернативи та R09 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з обраного слова фрейму та поточний режим інтерпретації - R07=0/1, R08=1) в стек 54; - Перехід в стан 3. 8. Розпізнавання альтернативи із слідом: - RC06:=1; - RC04:=[R05]+1; - Запис [RC06] в пам'ять ПС 35 за адресою [RC04]; - R03:=[R02]+[RС06]; - Читання з БЗ 28 за адресою [R03] другого слова фрейму. R10:=[поле 2], R12:=[поле ОЕ], R01:=[перший та другий байти обраного слова фрейму]. - Запис RАД 19 в стек 20, [R05], [R02] - в стек 30. Запис ознак інтерпретації (R11 - тип фрейму альтернативи та R09 - її з першого слова фрейму; R10 - 2, R12 - ОЕ з вибраного слова фрейму та поточний режим інтерпретації - R07=1, R08=0) в стек 54; - R05:=[RC04]. - Перехід в стан 3. 9. Породження альтернативи по сліду: - RC04:=[RC04]+1; - RC06:=[ПС 35] за адресою [RC04]; - R03:=[R02]+[RC06]. - Читання з БЗ 28 за адресою [R03] вибраного слова фрейму. R10:=[поле 2], R12:=[поле ОЕ], R01:=[перший та другий байти вибраного слова фрейму]. - Запис RАД 19 в стек 20. Запис ознак інтерпретації (R11 - тип фрейму альтернативи та R09 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з вибраного слова фрейму та поточний режим інтерпретації - R07=1, R08=1) в стек 54. - Перехід в стан 3. 10. Породження послідовності: * - R07:=R07 ; - Аналіз R07 (біту "ознака сліду", взятого з першого слова фрейму): якщо 1, то перехід в стан 11, інакше - в стан 12. 11. Встати на слід: - RC04:=[перший та другий байти першого слова фрейму, зчитаного з БЗ 28]; - Перехід в стан 12. 12. Породження послідовності по сліду або без сліду: - R02:=[R02]+1; - R03:=[R02]; - Читання з БЗ 28 другого слова фрейму. R10:=[поле 2], R12:=[поле ОЕ], R01:=[перший та другий байти другого слова фрейму]. - Запис значення RАД 19 в стек 20, [R02] в стек 30. Запис ознак інтерпретації (R11 - тип фрейму послідовності та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з другого слова фрейму та поточний режим інтерпретації - R07=0/1, R08=1) в стек 54. - Перехід в стан 3. 13. Розпізнавання послідовності із слідом: - RC06:=1; - RС04:=[R05]; - R03:=[R02]+[RC06]. - Читання з БЗ 28 другого слова фрейму. R10:=[поле 2], R12:=[поле ОЕ], R01:=[перший та другий байти другого слова фрейму]. 7 UA 89644 U 5 10 15 20 25 30 35 40 45 50 55 - Запис RAД 19 в стек 20, [R05], [R02] - в стек 30, [RC06] - в стек 54. Запис ознак інтерпретації (R11 - тип фрейму послідовності та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з другого слова фрейму та поточний режим інтерпретації - R07=0/1, R08=1) в стек 54. - Перехід в стан 3. 14. Завершити породження ітерації по сліду: - RC06:=[RC06]-1; - R03:=[R02]+1; - Читання з БЗ 28 другого слова фрейму. R10:=[поле 2], R01:=[перший та другий байти другого слова фрейму]. - Запис [RC06] в стек 54, [R02] в стек 30. Запис ознак інтерпретації (R11 - тип фрейму ітерації та R09 - 1 з першого слова фрейму; R10 - 2 з другого слова фрейму та поточний режим інтерпретації - R07=0/1, R08=1) в стек 54. - Перехід в стан 3. 15. Розпізнавання ітерації: - R03:=[R02]+1; * - Читання з БЗ 28 другого слова фрейму. R10:=[поле 2], R12:=[поле ОЕ], R07 :=[значення (0/1) * ознаки розпізнавання із слідом] або R08 :=[значення (0/1) ознаки породження], R01:=[перший та другий байти другого слова фрейму]. - Запис значення регістру [R02] в стек 30. Запис ознак інтерпретації (R11 - тип фрейму ітерації та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з другого слова фрейму та поточний режим інтерпретації – R07=0, R08=0) в стек 54; * * - R07:=R07 ; R08:=R08 . - Перехід в стан 3. 16. Встати на слід: - RC04:=[перший та другий байти першого слова фрейму, зчитаного з БЗ 28]; - RC06:=[ПС 35] за адресою [RC04]. - Якщо лічильник [RC06]0, то перехід в стан 14, інакше - в стан 19. 17. Породження ітерації: * - R07:=R07 ; - Аналіз R07 (біту "ознака сліду", взятого з першого слова фрейму): якщо 1, то переходимо в стан 16, інакше - в 19. 18. Розпізнавання ітерації із слідом: - RC04:=[R05]+1; - RC06:=0; - Запис [RC06] в ПС 35 по адресу RC04; - R03:=[R02]+1. - Читання з ОЗУ БЗ 28 другого слова фрейму. R10:=[поле 2], R01:=[перший та другий байти другого слова фрейму]. - Запис [R05], [R02] в стек 30. Запис ознак інтерпретації (R11 - тип фрейму ітерації та R09 - 1 з першого слова фрейму; R10 - 2 з другого слова фрейму та поточний режим інтерпретації R07=1, R08=0) в стек 54. - R05:=[RC04]. - Перехід в стан 3. 19. Завершити породження ітерації без сліду: - R13:=R09. - Перехід в стан 21. 20. Породження ітерації по сліду: - RC04:=[RC04]+1; - RC06:=[ПС 35] за адресою [RC04]. - Якщо [RC06]0, то перехід в стан 14, інакше - в стан 19. 21. Прийом і аналіз прапорів: - R07, R08, R09, R10, R11, R12:=[Верхній запис ознак інтерпретації стека 54]; - 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 (розпізнавання альтернативи після прапору істина), 8 UA 89644 U 5 10 15 20 25 30 35 40 45 50 55 60 Якщо 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 (породження послідовності після прапору лож), Якщо 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, тo перехід до п. 47 (розпізнавання ітерації із слідом після прапору лож), Якщо R11=11&R13=1&R07=0/1&R08=1, то перехід до п. 48 (породження ітерації після прапору лож). 22. Відновлення покажчиків INP, OUT: - RАД:=[RАД із стека 20]; - Перехід в стан 2. 23. Набуття нових значень покажчиків INP, OUT: - Виштовхнути [RАД] із стека 20. - Перехід в стан 2. 24. Розпізнавання альтернативи після прапору істина: - Виштовхнути [R02] із стека 30; - Виштовхнути [RАД] із стека 20. -R13:=[R13][R09]. - Перехід в стан 21. 25. Розпізнавання альтернативи із слідом після прапору істина: - R02:=[R02] із стека 30; - R03:=[R02]; - RC04:=[R05] із стека 30; - ОС першого слова фрейму:= 1; поля 1 та тип фрейма - відновити у байті ознак та [перший та другий байти першого слова фрейму за адресою [R03] БЗ 28]:= [RC04]. - Виштовхнути [RАД] із стека 20. - R13:=[R13][R09]. - Перехід в стан 21. 26. Вихід з розпізнавання альтернативи: - Виштовхнути [R02] із стека 30; - R13:=[R13][R09]. - Перехід в стан 21. 27. Породження альтернативи по сліду після прапору істина: - Виштовхнути [RАД] із стека 20. 9 UA 89644 U 5 10 15 20 25 30 35 40 45 50 55 60 - R13:=[R13][R09]. - Перехід в стан 21. 28. Розпізнавання альтернативи після прапору лож: - Відновлення покажчиків INP, OUT: RAД:=[RAД] із стека 20. - Аналіз значення R12: якщо 1, перехід в стан 26, інакше - в стан 29. 29. Розпізнавання нового варіанту альтернативи: - R02:=[R02 із стека 30]+1; - R03:=[R02]; - Читання з ОЗУ БЗ 28 чергового слова фрейму альтернативи. R10:=[поле 2], R12:=[поле ОЕ], * * R07 :=[значення (0/1) ознаки розпізнавання із слідом] або R08 :=[значення (0/1) ознаки породження], R01:=[перший та другий байти обраного слова фрейму]. - Запис значення регістра [RAД] в стек 20, a [R02] в стек 30. Запис ознак інтерпретації (R11 тип фрейму альтернативи та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з чергового слова фрейму та вхідний режим інтерпретації - R07=0, R08=0) в стек 54; * * - R07:=R07 ; R08:=R08 . - Перехід в стан 3. 30. Розпізнавання альтернативи із слідом після прапору лож: - Відновлення покажчиків INP, OUT: RAД:=[RAД із стека 20]. - Аналіз значення R12: якщо 1, перехід в стан 31, інакше - в стан 33. 31. Вихід із розпізнавання альтернативи із слідом: - Виштовхнути [R02] із стека 30; - RC04:=[R05] із стека 30; - R13:=[R13][R09]. - Перехід в стан 21. 32. Породження альтернативи по сліду після прапору лож: - Відновлення RAД:=[RAД із стека 20]; - R13:=[R13][R09]. - Перехід в стан 21. 33. Розпізнавання із слідом нового варіанта альтернативи: - RC04:=[R05 із стека 30]+1; RC06:=[RC06 із ПС 35]+1; - Запис [RC06] в ПС 35 по адресу RC04; - R02:=[R02 із стека 30]; R03:=[R02]+[RC06]. - Читання з ОЗУ БЗ 28 чергового слова фрейму. R10:=[поле 2], R15:=[поле ОЕ], R01:=[перший та другий байти вибраного слова фрейму]. - Запис [RAД] в стек 20, запис [R05], [R02] в стек 30. - Запис ознак інтерпретації (R11 - тип фрейму альтернативи та R09 - 1 з першого слова фрейму, відновлених з магазину; R10 - 2, R12 - ОЕ з вибраного слова фрейму та поточний режим інтерпретації - R07=1, R08=0) в стек 54; - Перехід в стан 3. 34. Розпізнавання послідовності після прапору істина: - Аналіз значення R12: якщо 1, то перехід в стан 24, інакше - в стан 29. 35. Розпізнавання послідовності із слідом після прапору істина: - Аналіз значення R12: якщо 1, то перехід в стан 25, інакше - в стан 36. 36. Продовжити розпізнавання послідовності із слідом: - RC06:=[RC06 із стека 54]+1; - R03:=[R02]+[RC06]. - Читання із ОЗУ БЗ 28 чергового слова фрейму. R10:=[поле 2], R12:=[поле ОЕ], R01:=[перший та другий байти вибраного слова фрейму]. - Запис [RAД] в стек 20, [R05], [R02] - в стек 30, [RC06] - в ПС 35. Запис ознак інтерпретації (R11 тип фрейму послідовності та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з чергового слова фрейму та поточний режим інтерпретації з R07=0/1, R08=1) в стек 54. - Перехід в стан 3. 37. Породження послідовності після прапору істина: - Аналіз значення R12: якщо 1, перехід в стан 24, інакше - в стан 39. 38. Розпізнавання послідовності після прапору лож: - Відновлення RAД:=[RAД із стеку 20]. - Перехід в стан 26. 39. Продовжити породження послідовності: - R02:=[R02 із стеку 30]+1; - R03:=[R02]. 10 UA 89644 U 5 10 15 20 25 30 35 40 45 50 55 60 - Читання з ОЗУ БЗ 28 чергового слова фрейму послідовності. R10:=[поле 2], R12:=[поле ОЕ], R01:=[перший та другий байти другого слова фрейму]. - Запис [RAД] в стек 20, [R02] - в стек 30. Запис ознак інтерпретації (R11 - тип фрейму послідовності та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з другого слова фрейму та поточний режим інтерпретації - R07=0/1, R08=1) в стек 54. - Перехід в стан 3. 40. Розпізнавання послідовності із слідом після прапору лож: - Відновлення покажчиків: RC04:=[R05 із стека 30], RAД:=[RAД із стека 20]; * * - R07:=R07 ; R08:=R08 . - Перехід в стан 26. 41. Породження послідовності після прапору лож: - Відновлення RAД:=[RAД із стека 20]; * * - R07:= R07 ; R08:=R08 ; - Виштовхнути [R02 із стеку 30]. - R13:=[R13][R09]. - Перехід в стан 21. 42. Розпізнавання ітерації після прапору істина: - R03:=[R02 із стека 30]+1. * - Читання із БЗ 28 другого слова фрейму. R10:=[поле 2], R12:=[поле ОЕ], R07 :=[значення (0/1) * ознаки розпізнавання із слідом] або R08 :=[значення (0/1) ознаки породження], R01:=[перший та другий байти другого слова фрейму]. - Запис значення регістру [R02] в стек 30. Запис ознак інтерпретації (R11 - тип фрейму ітерації та R09 - 1 з першого слова фрейму; R10 - 2, R12 - ОЕ з другого слова фрейму та поточний режим інтерпретації – R07=0, R08=0) в стек 54. * * - R07:=R07 ; R08:=R08 . - Перехід в стан 3. 43. Розпізнавання ітерації із слідом після прапору істина: - RC04:=[R05 із стека 30]+1; RC06:=[RC06 із ПС 35 по адресу RC04]+1; - Запис [RC06] в ПС 35 по адресу RC04; - R03:=[R02 із стека 30]+1. - Читання з БЗ 28 другого слова фрейму. R10:=[поле 2], R01:=[перший та другий байти другого слова фрейму]. - Запис [R05], [R02] в стек 30. Запис ознак інтерпретації (R11 - тип фрейму ітерації та R09 - 1 з першого слова фрейму; R10 - 2 з другого слова фрейму та поточний режим інтерпретації R07=1, R08=0) в стек 54. - Перехід в стан 3. 44. Породження ітерації після прапору істина: - RC06:=[RC06 із стека 54]; - Аналіз [RC06]: якщо [RC06]0, то перехід в стан 45, інакше - в стан 46. 45. Продовжити породження ітерації після прапору істина: - RC06:=[RC06] - 1; R03:=[R02 із стека 23]+1. - Читання з БЗ 28 другого слова фрейму. R10:=[поле 2], R01:=[перший та другий байти другого слова фрейму]. - Запис [RC06] в стек 54, запис [R02] в стек 30. Запис ознак інтерпретації (R11 - тип фрейму ітерації та R09 - 1 з першого слова фрейму; R10 - 2 з другого слова фрейму та поточний режим інтерпретації - R07=0/1, R08=1) в стек 54. - Перехід в стан 3. 46. Завершити породження ітерації та розпізнавання ітерації після прапору лож: - Виштовхнути [R02 із стека 30]; R13:=[R09]. - Перехід в стан 21. 47. Розпізнавання ітерації із слідом після прапору лож: - R03:=[R02 із стека 30]; - RC04:=[R05 із стека 30]; - ОС першого слова фрейму:= 1; поля 1 та тип фрейма - відновити; - [перший та другий байти першого слова фрейму в БЗ 28]:=[RC04]; - R13:=[R09]. - Перехід в стан 21. 48. Породження ітерації після прапору лож: - Виштовхнути [R02 із стека 30]; Виштовхнути [RC06 із стека 54]; - R13:=[R09]. 11 UA 89644 U - Перехід в стан 21. Оскільки система обробки знань підтримує системний шинний інтерфейс (наприклад, АРВ), то вона може бути легко інтегрована в сучасні мікропроцесорні системи на кристалі з метою розширення їхнього набору команд. 5 Таблиця 1 Ім'я регістра RД RCm RCn RКБЗ RKОM1 RKОM2 RАД R01 R02 R03 RC04 R05 RC06 R07 R08 * R07 * R08 R09 R10 R11 R12 R13 Розрядність, біт 24 12 12 16 24 24 24 16 16 16 16 16 16 1 1 1 1 1 1 3 1 1 Опис регістра Регістр даних Регістр-лічильник вхідного масиву Регістр-лічильник вихідного масиву Регістр кореня бази знань Перший регістр команд Другий регістр команд Регістр адрес даних Регістр імені структури Регістр номера слова фрейму Регістр адреси бази знань Регістр-лічильник координати сліду Регістр вершини сліду Регістр-лічильник ітерації Регістр ознаки сліду Регістр ознаки породження Додатковий регістр ознаки сліду Додатковий регістр ознаки породження Регістр інверсії 1 Регістр інверсії 2 Регістр типу фрейму Регістр ознаки останнього елемента Регістр істинності ФОРМУЛА КОРИСНОЇ МОДЕЛІ 10 15 20 25 30 Пристрій баз знань, що містить головний комп'ютер, пам'ять баз знань, перший блок управління, арифметико-логічний блок, робочу пам'ять, регістр даних, регістр-лічильник вхідного масиву та перший блок вводу-виводу, перший вхід-вихід якого підключений до системної шини пристрою, його другий вхід-вихід підключений до входів-виходів регістра-лічильника вхідного масиву, а третій вхід-вихід разом із входами-виходами арифметико-логічного блока, першого блока управління та першими входами-виходами регістра даних, з'єднаного другими входамивиходами з входами-виходами робочої пам'яті, підключений до шини даних, який відрізняється тим, що в нього введено пам'ять програм та даних, другий та третій блоки вводу-виводу, регістр-лічильник вихідного масиву, мультиплексор даних, регістр кореня бази знань, перший та другий регістри команд, регістр адрес даних, регістр імені структури, регістр номера слова фрейму, регістр адреси бази знань, регістр координати сліду, регістр вершини сліду, регістр ітерації, регістр істинності, регістр ознак сліду, регістр ознак породження, регістр першої інверсії, регістр другої інверсії, регістр типу фрейму, регістр ознак останнього елемента, додатковий регістр ознак сліду, додатковий регістр ознак породження, одинадцять мультиплексорів, стек адрес даних, стек регістрів, стек ознак, пам'ять сліду, суматор та два суматори по модулю два, при цьому четвертий вхід-вихід першого блока вводу-виводу підключено до входу-виходу регістра-лічильника вихідного масиву, чий вихід разом із виходом регістра-лічильника вхідного масиву через мультиплексор даних підключений до адресного входу робочої пам'яті, пам'ять програм та даних та перші входи-виходи другого та третього блоків вводу-виводу об'єднані системною шиною машини, другий вхід-вихід другого блока вводу-виводу підключений до входів-виходів головного комп'ютера, а другий вхід-вихід третього блока вводу-виводу підключений до першого входу-виходу регістра адрес даних, другий вхід-вихід якого підключено до входу-виходу стека адрес даних, перший вихід третього блока вводу-виводу підключено до входу регістра кореня бази знань, чий вихід підключено до другого входу першого мультиплексора, вихід якого підключено до входу регістра імені структури, чий вихід з'єднано із 12 UA 89644 U 5 10 15 20 25 30 35 першими входами третього мультиплексора і першого регістра команд та з другим входом другого мультиплексора, вихід якого підключено до входу регістра номера слова фрейму, чий вихід підключено до першого входу стека регістрів та до першого входу суматора, вихід якого підключено до першого входу другого мультиплексора та до другого входу третього мультиплексора, чий вихід підключено до входу регістра адреси бази знань, з'єднаного виходом із адресним входом оперативної пам'яті бази знань, перший інформаційний вихід якої підключений до перших входів першого мультиплексора та четвертого мультиплексора, чий вихід підключено до входу регістра координати сліду, вихід якого з'єднаний із адресним входом пам'яті сліду, інформаційним входом оперативної пам'яті бази знань та із входом регістра вершини сліду, чий вихід підключено до другого входу стека регістрів та до третього входу четвертого мультиплексора, другий вхід якого підключений до другого виходу стека регістрів, чий перший вихід підключено до третього входу другого мультиплексора, вихід першого регістра команд підключено до входу третього блока вводу-виводу, чий другий вихід підключено до входу другого регістра команд, перший вихід якого підключено до першого входу другого блока управління, а другий вихід підключено до перших входів п'ятого, шостого, восьмого та десятого мультиплексорів, вихід ознак оперативної пам'яті бази знань підключено до входів додаткових регістрів ознак сліду, ознак породження та до других входів сьомого, восьмого, дев'ятого та десятого мультиплексорів, вихід додаткового регістра ознак сліду підключено до другого входу п'ятого мультиплексора, вихід додаткового регістра ознак породження підключено до другого входу шостого мультиплексора, треті входи п'ятого, шостого, восьмого та десятого і другі входи сьомого та дев'ятого мультиплексорів підключені до виходу стека ознак, а виходи п'ятого, шостого, сьомого, восьмого, дев'ятого та десятого мультиплексорів з'єднані із входами регістрів ознак сліду, ознак породження, першої інверсії, другої інверсії, типу фрейму та ознак останнього елемента відповідно, перші виходи регістрів ознак сліду, ознак породження, типу фрейму та ознак останнього елемента підключено до третього входу першого регістра команд та другого входу другого блока управління, чий вихід підключено до другого входу першого регістра команд, другі виходи регістрів ознак сліду, ознак породження, першої інверсії, другої інверсії, типу фрейму та ознак останнього елемента підключено до входу стека ознак, перший вихід регістра першої інверсії та третій вихід регістра типу фрейма разом із виходом логічної одиниці підключено до входу ознак оперативної пам'яті баз знань, а третій вихід регістра першої інверсії підключено до першого входу першого суматора по модулю два та до першого входу одинадцятого мультиплексора, перший вихід регістра другої інверсії підключено до першого входу другого суматора по модулю два, чий другий вхід разом із другим входом першого суматора по модулю два та третім входом другого блоку управління підключений до виходу регістра істинності, вхід якого з'єднаний із виходом одинадцятого мультиплексора, чиї другий і третій входи підключені до виходів першого та другого суматора по модулю два відповідно, входи-виходи стека ознак з'єднані із входами-виходами пам'яті сліду та регістра ітерації, чий вихід підключений до другого входу суматора та до четвертого входу другого блока управління. 13 UA 89644 U 14 UA 89644 U 15 UA 89644 U 16 UA 89644 U Комп’ютерна верстка О. Рябко Державна служба інтелектуальної власності України, вул. Урицького, 45, м. Київ, МСП, 03680, Україна ДП “Український інститут промислової власності”, вул. Глазунова, 1, м. Київ – 42, 01601 17
ДивитисяДодаткова інформація
Автори англійськоюHryhoriev Serhii Mykolaiovych
Автори російськоюГригоръев Сергей Николаевич
МПК / Мітки
МПК: G06F 15/00
Код посилання
<a href="https://ua.patents.su/19-89644-pristrijj-baz-znan.html" target="_blank" rel="follow" title="База патентів України">Пристрій баз знань</a>
Попередній патент: Робоча камера пристрою для визначення фільтраційних та зневоднюючих властивостей волокнистих суспензій і осадів методом гідродинамічної проникності
Наступний патент: Процесор баз знань
Випадковий патент: Привід основов'язальної машини