Введение к работе
Актуальность проблема. Развитие науки последнего десятилетия требовало расширение исследований в области исскуственнсгс ітедлекта, практической реализация которых ориентирована на шэние широкого спектра задач - от чисто научных до оизводстванных. Одним из направлений этих исследований является ігическое программирование и языки ігрограимировашія логичэского вода. Среди языков логического программирования ведущее место шмает Пролог. Использование Пролога позволяет создавать ікпактнне программа и сокращать сроки их разработки. Однако ионным препятствием при использовании Пролога является большое )8мя выполнения программы на универсальной ЭВМ, что является юдотвием семантического разрыва. Характерными особенностями юлог-вычислений являются:
недетерминированность;
использование нетрадиционных сложных структур данных; -наличие специфических операций, не имеющих аналогов среда
>угих языках: унификация, отсечение, возврат, двунаправленная іредача параметров."
Реализация этих особенностей требует архитектуру [сскослепиализироБанного типа, В решения этой задачи возможны два даода: реализация интерпретации и компиляции Пролог-программ, іализ работ в этой области показывает, что использование (мпиляции обеспечивает повшвоние скорости выполнения программ в юкслько раз по сравнению с интерпретацией за счзї использования [сокоспециалазированного алгоритма унификации применительно к мвдому заголовку клегв.
Вышеизложенные соображения приводят к выводу, что.задача ізработки специализированной архитектуры Пролог-процессора, шолняицего компилированные Пролог-програаны является актуальной.
8 разработки систем, вшюлняпцих шлтлированныв юлог-программн применяются различные решения, спосоосгаувдие
(ВЫШВНЯЮ СКОРОСТИ БНПОЛБЄіШЯ ПрОГрЗММ. ЭТИ СП0(!Об11 можно
їздалить на несколько грушт в зависимости or уровня, на котором аакеняются:
-уровень модели вычислений: предусматривают сокращение путе поиска клоза и цели в зависимости от входных данных для конкретне программы;
. -уровень архитектуры: решения, касающиеся абстрактной машинь способы представления и манипуляции над данными; спосос распределения и управления памятью; способы выполнения команд;
-уровень структуры: использование аппаратных средств да ускорения выполнения некоторых операций.
Рассмотренные способы повышения эффективности внполнені Пролог-программ позволяют сделать вывод о факторах, от которь зависит эффективность выполнения программы:
-модель вычислений и возможность усовершенствования на урові модели;
-адекватность отображения вычислительной модели на внСраннс архитектуре;
-выбор аппаратных средств для реализации архитектуры.
Цельв данной работы является разработка "специализированнс архитектуры Пролог-процессора, выполнявдего компшшрованш Пролог-программы. Достижение этой цели предполагает решеш следующих задач:
-разработка модели Пролог-вычислений, позволяющей эффективж выполнение правил поиска и вычисления;
-разработка базового варианта архитектуры Пролог-процессо] на основе предложенной модели Пролог-вычислений;
-разработка системы моделирования и ее применение с цел оценки результатов решения предыдущих задач;
-усовершенствование архитектуры Пролог-процессора на осної результатов моделирования.
Методы разработка в исследования базируются на теорі вычислительных систем, методы логического проектирования, а такз на накопленный к настоящему времени опыт и результаты в облаем логического программирования, разработки логических процессоров програшного моделирования.
Научная новизна состоит в следующем:
- предложен способ процедурноЯ интерпретации Пролог-програм» который в отличии от принятого предусматривает дафференцированш
юдхад. к рекурсивным и нерекурсивным процедурам;
-предложена вычислительная модель для Пролог-программ на існове этого способа процедурной интерпретации, предполагающая скорение выполнения программ за счет исключения избыточных ;ействий в управлении выполнением в результате детального анализа [сходной программы на этапе компиляции;
-разработана архитектура Пролог-процессора, отличающаяся от [звестных конвейеризацией более высокого уровня, а именно :онвейерным выполнением блоков команд.
Практическая ценность заключается в следующем:
-предложен конвейерный Пролог-процэссор на основе однородной [вухпроцессорной структуры с общей памятью и разделением іагистралей команд и данных;
-разработана и исследована программная модель процессора.
Внедрение результатов работы осуществляется в рамках іекциошюго курса "Организация вычислительных процессов" кафедры !ычислительной Техники С.Пб.ГЭТУ.
Аппробация работы. Основные положения и результаты [иссергационной работы докладывались на научно-технических шференциях профессорско-преподавательского состава ЛЗТИ им. I.И.Ульянова /Ленина/ в 1991-1993 г.
Публикации. По материалам диссертационной работы опубликованы 1 статьи.
Структура и обьеы"работы. Работа состоит из введения, четырех лав,' заключения, списка литературы, включающего 56 наименований, [ 6 приложений. Основная часть работы изложена на 98 страницах іашинописного текста. Работа содержит 27 рисунков и 8 таблиц.