Имитационное моделирование однородной среды

Доклады ТУСУРя ?003 г. Автоматизированные системы обработки информации, управления и проектирования УДК 681.39:602

ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ОДНОРОДНОЙ СРЕДЫ C.B. Шидловский

Рассмотрены некоторые аспекты имитационного моделирования однородных сред. Предложен многофункциональный логический модуль для построения однородных сред и описаны особенности, связанные с их программной реализацией.

В настоящее время для синтеза последовательных и комбинационных логических схем разработано большое количество методов минимизации булевых функций, которые используются для описания законов их функционирования [1]. Многие из этих методов принципиально предназначены для «ручной» минимизации, некоторые допускают формализацию процесса решения этой задачи и использование компьютерных технологий. При большом числе входных и выходных переменных синтезируемой схемы «ручная» минимизация описывающих ее функций становится неэффективной и во многих случаях просто невозможной, поэтому автоматизация

этого процесса является актуальной задачей.

Среди признанных методов исследования сложных систем особое место занимает имитационное моделирование. Повышенное внимание к нему определяется не только возможностью анализа систем в условиях большой размерности и неполной информации о структуре системы, но и доступностью методологии для широкого круга специалистов.

В нашем случае мы рассматриваем некоторые аспекты имитационного моделирования однородных сред. Под однородной средой (ОС) понимается дискретное устройство с итеративной структурой его функциональной схемы, если в качестве элементов этой схемы использованы многофункциональные логические модули (МЛМ) [2].

Из существующих ОС выделим класс сред, которые настраиваются на реализацию того

или иного дискретного автомата путем подачи на управляющие входы соответствующих настроечных кодов. Главное достоинство структур этого класса состоит в том, что синтез дискретного автомата сводится, по существу, лишь к нахождению настроечных кодов на основе системы булевых функций, описывающих работу автомата.

ОС могут быть реализованы аппаратными и программными способами. Относительно

возможностей аппаратной реализации в [3-5] отмечено, что ОС представляют собой стру^уры, идеально приспособленные к особенностям техники массового производства. Аппаратная реализация необходима в тех случаях, когда требуется обеспечить максимальное быстродействие автомата. Если же требования к быстродействию не доминируют, то ОС целесообразнее реали-зовывать многотактным способом, например с использованием компьютерных технологий.

Интерес к программному моделированию. ОС не случаен. Дело в том, что программная реализация булевых функций в «чистом» виде сопряжена со значительными трудностями даже в таких случаях, когда число аргументов невелико (10-15). Эти трудности вызваны многими причинами.

Во-первых, для хранения сложных булевых функций необходим значительный объем памяти компьютера. Например, если функцию представить в виде изображающего числа [6], то

для ее машинного представления потребуется N бит памяти: N = 2", где п - число логических аргументов.

Такая реализация функций (которая является, по сути, СДНФ) ограничивается 10-15 аргументами, что с практической точки зрения во многих случаях совершенно недостаточно. Например, логика работы информационно-поисковых автоматов [7] даже в минимальном варианте их использования моделируется булевыми функциями 20 аргументов.

Во-вторых, время вычисления функций быстро растет с увеличением числа аргументов.

Иное дело алгоритмы, моделирующие работу однородной среды. Если ОС состоит из п МЛМ, где каждый МЛМ имеет т входов, то для машинного представления любой бесповторной булевой функции достаточно пхт бит памяти. Если программная реализация МЛМ ОС осуществляется в течение времени /, то вычисление всякой бесповторной булевой функции будет выполнено за время их/.

Отсюда следует, что имитационный метод моделирования ОС можно рассматривать как решение проблемы программного нахождения значений булевых функций многих аргументов.

ОС, рассматриваемая в данной работе, представляет собой линейную структуру (рис. 1), состоящую из МЛМ (рис. 2).

¿1*2 ¿3

Рис. 1 - Структурная схема линейной ОС

Каждый МЛМ, из которых построена ОС, описывается следующей системой булевых формул [8]:

где ух, у2 - режимные входы; /¡, /2 - выходы;

х - информационный выход, на который подаются значения выходных аргументов; г,, г2, хъ - настроечные входы, т.е. входы, на которые подаются сигналы настройки, определяющие логику работы МЛМ.

Для данной структуры т = 3, следовательно, объем оперативной памяти, необходимой для запоминания функции, равен 3п бит. Это значит, что имеется реальная возможность реализации булевых функций, зависящих от сотен аргументов.

С помощью структуры, построенной на базе рассматриваемых МЛМ, могут быть реализованы произвольные ДНФ и КНФ упорядоченных бесповторных булевых функций п аргументов, а также большой класс скобочных форм (форм высших порядков), как без пропусков, так и с пропусками аргументов. Под упорядоченной бесповторной булевой функцией понимается следующее. Пронумеруем информационные входы ОС и каждому входу поставим в постоянное соответствие отдельный логический аргумент х,, где i - номер информационного входа. Если в

записи бесповторной булевой функции индекс / при логических аргументах возрастает слева направо, будем считать, что эта функция упорядочена. Если в записи упорядоченной бесповторной булевой функции аргументы с теми или иными индексами отсутствуют, то будем считать, что эта функция содержит пропуски соответствующих аргументов.

Имитационное моделирование ОС

выполнено в многофункциональной интегрированной системе автоматизации математических и научно-технических расчетов MATLAB. Моделирование проводилось для п = 8 МЛМ, описываемый системой (1), имеет два режимных входа у] и у2. Следовательно, возможны четыре режима его работы. Все они были экспериментально проверены в процессе имитационного моделирования

(табл. 1).

В левой части табл. 1 даны все

возможные настроечные коды, где Т обозначает логическую единицу (от слова TRUE - истина), а буква F -

Зи

У-> о—

2и

2н

Зн

Urn

U

-о/

-of,

2 логический ноль (от слова FALSE -ложь).

Правая часть табл. 1 разделена на четыре области, каждой области соответствует определенный режим работы МЛМ.

Рис. 2 - Функциональная схема МЛМ Режимы закодированы в тех же обозначениях, что и настроечные коды. Режимы записаны в верхней части указанных четырех областей правой части табл. 1.

Первый слева символ кода режима соответствует входу V,, второй - входу у2.

Под кодами режимов указаны выходы МЛМ и /2 и значение выходов в зависимости от настроечных кодов. Табл. 1 соответствует случаю, когда на информационный вход ячейки подана единица (т.е. Т).

Таблица 1 - Таблица истинности функций fx, J2 для МЛМ

FF FT TF TT

fj2 fj2 fj2 U

FFF FF FT TF TT

FFT FF FT FF FT

FTF TF TT TF TT

FTT FF FT TF TT

TFF TF TF TF TT

TFT FF FF FF FT

TTF TF TT TT TT

ТТТ FF FT FT FT

После проверки работоспособности имитационной модели МЛМ была исследована работа всей ОС на множестве контрольных примеров.

Дальнейшее более тщательное исследование работы имитационной модели ОС выявило некоторые особенности ее функционирования, которые на этапе логического анализа никак не проявлялись и поэтому показались совершенно неожиданными. Суть их в следующем. Если на режимные входы первого МЛМ подать F, т.е. принять yl=y2=F, и каждый из восьми МЛМ настроить на код TTF, а на информационные входы подать единичные значения, то на выходе последнего МЛМ получим fx = f2=T. Хотя, как следует из табл. 1, надо было ожидать /}=Т\ f2= F, поскольку все МЛМ построены совершенно одинаково. Это объясняется тем, что режимный вход второго МЛМ при указанных условиях изменяется и устанавливается равным TF.

Второй случай обнаружен при настроечном коде TFT, поданном на все МЛМ, единичных значениях всех логических аргументов и режиме ТТ первого МЛМ. Было установлено, что fx-f2= F, хотя по табл. 1 следовало ожидать fx=F\ f2=T, поскольку, как и в первом случае, все МЛМ настроены совершенно одинаково.

На следующем этапе имитационного моделирования ОС различные ячейки настраивались на различные настроечные коды. Поскольку всего существует 2 различных вариантов настройки ОС, составленной из восьми МЛМ, то путем случайной выборки было выбрано несколько вариантов настройки всей ОС. Результаты вычисления десяти функций для единичных значений логических аргументов представлены в табл. 2.

Доклады ТУСУРа. 2003 г. Автоматизированные системы обработки информации, управления и проектирования Таблица 2 - Таблица истинности функций /, /2 при случайной выборке для линейной ОС

Настроечный код ячеек zx, z2, h FF FT TF i TT

1 2 3 4 5 6 7 8 fj2 fJi Afi fxfi

FFF TTT FFT FTF TTF TFF TFF TTF TT TT TT TT

FFF FFF TTF TTF FFT FFT FFT FFF FT FT FT FT

TFT TTF FFT FTF FFT FTT TTF TFF TT TT TT TT

FFF FFF FFT TFF FTT FTF TFT FTF TF TF TF TF

| FTT TFT TFT FFT FFF FFT FTF FTT TF TF TF TF

FFT FFT TTF TTF FFF TTF TTT TTF TT TT TT TT

TTT FTT TTT TTT TTT FFT TTT FTF TF TT TT TT

FFT FTF TTF TTF TTT TFF TTF FTT TT TT TT TT

TFT TTF FFF FFF TFT TTF FFT TFF TF TF TF TF

FTT TFF FTT TFT TTF TTF I FFF FFT FT FT FT FT

Таким образом, если режимные настроечные коды каждого МЛМ рассматривать как обобщенный пятиразрядный код, то первый МЛМ может быть настроен на любой из 32-х возможных обобщенных кодов; для всех остальных МЛМ существуют обобщенные коды, которые в

принципе не могут быть поданы на входы этих МЛМ.

Этот очень интересный результат оказалось возможным получить лишь в результате имитационного моделирования ОС.

ЛИТЕРАТУРА

1. Шалыто A.A. Логическое управление. Методы аппаратной и программной реализации

алгоритмов. - СПб.: Наука, 2000. - 780 с.

2. Лазарев В.Г. и др. Построение программируемых управляющих устройств. - М.: Энерго-

атомиздат, 1984.- 192 с.

3. Каляев A.B. Многопроцессорные системы с программируемой архитектурой. -М.: Радио

и связь, 1984.-240 с.

4. Евреинов Э.В. Однородные вычислительные системы, структуры и среды. - М.: Радио и связь. 1981.-208 с.

5. Кудрявцев В.Б., Подколзин A.C., Болотов A.A. Основы теории однородных структур. -

М.: Наука, 1990.-296 с.

6. Горелик А.Л., Скрипкин В.А. Методы распознавания. - М.: Высшая школа, 1977. - 222 с.

7. Соколов A.B. Информационно-поисковые системы. - М.: Радио и связь, 1981. - 152 с.

8 Shidlovskiy S.V. Computation of nonrecurrent ordered Boolean functions of higher than the second order // SIBEDEM 2002. Proceeding - Tomsk: The Tomsk IEEE Chapter & Student Branch. Russia, Tomsk, March 19-20, 2002.