КОМПЬЮТЕРНАЯ ИНЖЕНЕРИЯ И ТЕХНИЧЕСКАЯ ДИАГНОСТИКА
УДК 681.3.001.57
ПРОЦЕССНЫЙ МЕТОД ОПИСАНИЯ ЭЛЕКТРОННЫХ СИСТЕМ
ГОРБАЧЕВ В.А., БАБАЕВ А.П., ВОЛКМ.А.
В статье рассморены средства описания электронных систем (ЭС) на архитектурном уровне, где наиболее эффективной признана алгоритмическая модель на основе параллельных процессов. ЭС рассмотрено с точки зрения теории систем и объяснена сущность процессного метода построения имитационных моделей.
Моделирование занимает важное место в современных САПР электронных устройств. Системы моделирования используются на всех стадиях разработки, начиная с эскизного проектирования и заканчивая автоматическим синтезом и верификацией проекта. Поэтому моделирование охватывает несколько уровней представления ЭС — функционально-логический, архитектурный и системный. В связи с этим при разработке системы моделирования возникает проблема выбора способа описания объекта проектирования. При описании системы на функционально-логическом и системном уровнях применяются соответственно системы логических уравнений и средства теории массового обслуживания. Эти способы описания хорошо изучены и формализованы. Для задания объекта проектирования на архитектурном уровне используется имитационное моделирование. Оно предоставляет разработчику модели богатый набор средств описания объекта, с использованием которых модель может быть построена разными методами. Метод описания объекта моделирования при этом определяет, каким образом известная исследователю информация о структуре и функциях изучаемой системы отражается в имитационном алгоритме. От выбранного метода описания в значительной мере зависит эффективность всего процесса моделирования. Объектом исследования являются методы поведенческого описания моделируемой системы.
Для того чтобы понять, каким образом составляются поведенческие описания ЭС на архитектурном уровне, рассмотрим её с точки зрения общей теории систем [1].
Пусть задано семейство непустых множеств V = {Vi:i є і}, где I — множество индексов. Множество V; будем называть объектом системы. Задано
также отношение на этом множестве S с х V;.
і є I
Тогда пару D = (v, s) назовем миром объектов.
Системой в мире объектов D называется пара (Vj, Sj), где V с V, а Sj — сужение S на множество V . Окружающей (внешней) средой системы
ш^ называется пара (V \ V, S2), где S2 — сужение S на V \ V . Связями между системой и окружающей средой называется множество S \(S j u S2).
Данные определения отражают интуитивное понимание системы как совокупности некоторых объектов и связей между ними. Для того чтобы, исходя из этих определений, построить любую теорию, нужно систему наделить некоторой структурой. Различные варианты представления структуры множеств V; приводят к разным подходам в описании систем, в частности, так возникают понятия временных и алгебраических систем. Оба эти подхода в основном эквивалентны, однако мы ограничимся рассмотрением ЭС как временных, поскольку этот подход более очевиден с точки зрения содержательного описания функционирования ЭС.
Для описания ЭС на архитектурном уровне важную роль играет понятие системы “вход-выход” или “черного ящика”. Множество индексов I разобьем на два подмножества: Ix с I и Iy с I, так что
Ix П Iy =0 , Ix U Iy = I . Входом (входным объектом) системы и ее выходом (выходным объектом) назовем соответственно множества
X = X {v;:i ^x } ; Y = X {V;:i є IY } . (1)
; є Ix v ;є^
Тогда Sj с X х Y, а система mV представима тройкой (X, Y, S j ). Назовем ее системой типа “вход-
выход” или “черный ящик”. ЗдесьSj отражает функции системы и её структурные свойства, а X и Y содержат информацию обо всех поступающих на входы системы воздействиях или всех её ответах, выдаваемых в окружающую среду. Таким образом, система определяется в терминах ее наблюдаемых свойств (возможные комбинации значений ее входов и выходов) и взаимосвязей между ними.
С помощью данного аппарата можно описать любую техническую систему, однако он не отражает ни структуру, ни поведение ЭС во времени в той степени, в какой это нам требуется на выбранном уровне абстракции. Для того чтобы получить возможность описывать системы более детально, введем дополнительные понятия.
Для изучения структуры системы нам нужно нечто большее, чем её понимание как совокупности взаимосвязанных входов и выходов. При проектировании и исследовании любой ЭС, независимо от уровня рассмотрения, её принято разбивать на
114
РИ, 1998, № 2
некоторое множество элементов E = {Ej :i є і}, где I — множество индексов. Тогда, со структурной точки зрения, ЭС представима как пара (e, s) , где S — множество отношений над элементами базового
множества E : S = {Rj , i = 1, n} , Rj c E x E , i = 1, n.
При этом для описания структуры системы наиболее часто используются следующие отношения [2]:
1) включения RVj , чтобы определить, какие элементы включают в себя другие элементы системы, формируя таким образом ее иерархию;
2) связи RPj , чтобы установить, как элементы системы взаимодействуют друг с другом.
Кроме описания структуры ЭС, для нас представляет интерес описание её динамики (поведения). Для построения такого описания необходимо,
чтобы при задании системы “вход-выход” (x, Y, S1)
отношения между входными и выходными объектами учитывали время. Множеством моментов времени назовем линейно упорядоченное множество, в качестве минимального элемента включающее 0:
T = {t: t > 0}.
Пусть существуют семейства множеств A и B, называемые соответственно алфавитом входа и алфавитом выхода системы. Структура этих множеств такова, что если каждый объект системы Vj , где і єІх , может принимать значения из множества A', а каждый объект Vj , где j є^, может принимать значения из множества B', то A = х A',
ієІх
B = х B' . Значит, A и B содержат все возможные іє^
варианты входных и выходных векторов для системы “вход-выход”.
Пусть также задано множество моментов времени Т. Обозначим через AT и BT множества всевозможных отображений из Т в А и В (т.е. множества всех возможных функций входных и выходных векторов от времени для алфавитов А и В). Тогда входным и выходным временными объектами системы назовем множества
X с AT , Y с BT. (2)
Если S1 с X х Y, то тройку (x,Y,S1 ) будем называть временной системой. Элементами множеств X и Y являются временные функции х: T ^ A и
y: T ^ B , их значения в момент времени t1 будем
обозначать x(t1) и y(t1). Можно сказать, что в
каждый момент времени t1 єT множества X и Y содержат все возможные значения, которые в данный момент могут поступать на вход или сниматься с выхода системы.
Как отмечалось выше, понятие временной системы может быть получено из определения системы вообще. Для этого нужно предположить, что
объекты системы Vi являются множествами, состоящими из временных функций v: T ^ A . Если области определения и области значений для всех функций v объекта Vj совпадают, то А называется алфавитом объекта. Следует отметить, что хотя, по определению, вход и выход системы (1) представляют собой множества n-ок, элементами которых являются временные функции v, а входной и выходной временные объекты (2) — просто множествами временных функций, ясно, что при временных системах эти понятия эквивалентны. Только в случае (1) временными функциями описывается
каждый объект Vj , а в случае (2) — объекты, принадлежащие входу или выходу системы и сгруппированные в векторы, и только для каждого такого вектора построена временная функция. Итак, оба определения, несмотря на разницу в структурах множеств, описывают разными способами одно и то же, поэтому вход и выход системы будем в дальнейшем рассматривать, используя оба варианта определений.
При исследовании поведения системы мы должны иметь возможность в любой момент времени
t1 є1 по вектору входных воздействий x(t1) однозначно определить значение выхода системы y(t1). Однако для временной системы (X,Y,S1) S1 в момент времени t1 содержит все допустимые для системы пары типа (x(t1),y(t1)), и одному значению входного вектора может соответствовать несколько возможных значений выходного. Для однозначного воспроизведения динамики системы необходимо ввести понятие динамической системы, которое в общей теории систем применяется тогда, когда возникает необходимость исследовать, как система развивается во времени, т.е. установить взаимосвязь между значениями объектов, относящимися к различным моментам времени. При рассмотрении ЭС на выбранном уровне абстракции видно, что она относится к классу динамических систем.
Введем дополнительный объект системы
C = х {Vj: і єIC} — объект ее состояний, где ієА1
IC с I , IX ° Iy ° IC =0 , Ix U Iy U IC = 1 . Теперь “черный ящик” представляется в виде четверки
(x,Y,C,S1 ), где S1 с X х Y х C. При этом для С также определен алфавит состояний Z, формируемый из алфавитов всех объектов Vj , і є^ , и
C с ZT.
Объект состояний С в любой момент времени содержит в себе всю информацию о предыстории системы. Для определения значений выхода системы нужно построить зависимость Y от значений входного объекта и объекта состояний. Введем семейство вспомогательных функций, называемых
функциями выходов или реакций системы рt:
р = {рt:Ct хXt ^ Yt&t єT} . (3)
РИ, 1998, № 2
115
Функции ВЫХОДОВ В каждый момент времени t! для любой из всех возможных комбинаций значений входа и объекта состояний системы однозначно определяют выходной объект.
С течением времени объект состояний также изменяется — он накапливает информацию о поведении системы в предыдущие моменты времени. Поэтому для описания ее динамики необходимо ввести также функцию, управляющую состояниями системы, исходя из значений её входа и состояния. Семейство таких функций назовем семейством функций перехода состояния ф tt,:
ф = {фtt,: Ct х Xtt, ^Ct, &t,t' eT&t' > t}. (4)
В приведенных выше определениях считается, что имеется два множества моментов времени:
Tt ={t': t '> t} и Ttt, ={t*:t '> t* > t}, Xt, Yt, Ct -
сужения X, Y, C на Tt, а Xtt,, Ytt,, Сtt, — сужения
X, Y, C на Ttt, . Система, представимая пятеркой
(X, Y, C, ф, p), называется динамической.
Исходя из сказанного выше, можно сделать вывод, что для построения имитационной модели ЭС нужно иметь ее структурно-динамическое описание в виде (A, B, Z, X, Y, C, р , ф, E, RV, RP). Далее с использованием средств, предоставляемых системой моделирования, нужно каждый элемент данного множества отобразить в имитационной модели. Предполагается, что в системе моделирования имеется специализированный язык описания, позволяющий представить A, B, Z, X, Y, C, E, RV и RP соответствующими структурами данных, а семейства функций переходов и выходов — некоторыми алгоритмами. Каким образом строятся алгоритмы имитации, зависит от многих факторов, среди которых: выбранный способ описания объекта моделирования, используемая технология имитационного моделирования, назначение создаваемой модели (для исследования или для автоматического синтеза схемы) и т.д. Остановимся лишь на методе описания функций переходов и выходов объекта исследования имитационными алгоритмами.
Рассмотрев семейства функций (3) и (4), делаем вывод, что с точки зрения алгоритма, описывающего данные функции, все объекты системы можно разделить на два вида — объекты, значения
которых могут изменяться алгоритмом (Y для р и
C для ф), и объекты (X и C), значения которых анализируются алгоритмом для определения, каким образом изменять объекты первого вида. Разобьем множество индексов I объектов системы V; на два пересекающихся подмножества: IR с I и IW с I,
так что IR n IW = IC, IR u IW = I. Объект V; системы отнесем к множеству анализируемых объектов, если i eIR , и к множеству изменяемых объектов,
если i eIW . Тогда, сделав некоторые упрощения, любую функцию из (3) и (4) можно представить в виде
F: R ^ W , (5)
где R = . х {vi:i єIR}, W = . х {vi:i єIw} . Отно-
ielR ielW
шение F можно представить как таблицу переходов-выходов системы для каждого момента времени. Именно функцию такого вида описывает имитационный алгоритм, поэтому в дальнейшем не будем оговаривать особо, куда относится изменяемый объект — к выходу системы или к её состоянию. Решим теперь задачу перехода от представления системы в виде (5) к имитационному алгоритму.
Современные системы имитационного моделирования предоставляют исследователю специализированные языковые средства для описания объекта моделирования. Языки описания, как правило, содержат набор стандартных алгоритмических средств, расширенный дополнительными языковыми конструкциями, отражающими специфику исследуемых явлений. Для простоты будем считать, что любой оператор языка описания представим в виде функции Fn, которая однозначно определяет единственный объекта модели по значениям некоторых объектов-параметров. Суперпозиция нескольких таких операторов, описывающая изменение значения только одного объекта, также представима некоторой функцией Fn.
Теперь, выбрав индекс n eIw , образуем для
него разбиение множества F на подмножества Fni,
такие что U Fni = F , П Fni =0 и i i
(3 Fn) (v(rni,wnibFni) (Fn(rni) = vn; Vn єwni) ,
где vn — временная функция, принадлежащая объекту Vn системы, который входит в декартово произведение W под порядковым номером n; каждое подмножество Fni представляет собой отображение
Fni:Rni ^ Wni, а rni є Rni, wni eWni. Отношение F для выбранного n можно представить в виде
Fn = U Fni = U (Rni ^ Wni). Обозначим через F i i
множество всех возможных разбиений Fni для всех
П eIw : F = UFn .
n eIW
Смысл приведенных преобразований отношения (5) заключается в следующем. Для каждого объекта
системы Vn,n e(Iy uIC) мы нашли множество функций, отражающих закон изменения данного Vn во времени в зависимости от состояния системы и её входа, причем эти функции таковы, что их можно описать с помощью языковых средств выбранной системы моделирования. Тогда при моделировании работы ЭС в данный момент времени
нужно для каждого отношения из F выполнить следующие действия:
1. Проверить, входят ли текущие значения входа и состояния в Rni. Операцию проверки условий в имитационном алгоритме будем обозначать Рп. .
РИ, 1998, № 2
116
2. Если результат проверки условий — истина, нужно выполнить функцию Fn, передав ей в качестве параметров Rni. В результате объект Vn должен принять новое значение, спустя Tni временных единиц. Выполнение такой операции имитационным алгоритмом обозначим Ani.
Таким образом, с помощью подмножеств Fni задано элементарное изменение, которое может произойти в системе, называемое событием. Будем
говорить, что функция Fni задает функциональное действие (ФД). ФД становятся причиной событий, а события, изменяя состояние системы, могут инициировать ФД. Тогда F — множество всех возможных для системы функциональных действий; Rni —
множество условий выполнения ФД Fni; Fn — алгоритм, описывающий данное ФД. В имитационной модели ФД представляется парой (Pni, Ani), где A ni
выполняется только в случае истинности Pni.
Разбиение поведения системы на отдельные ФД является ключевым моментом при переходе от представлений о динамике системы как единого целого к её имитационной модели. Однако данный подход фактически реализуем лишь в применении к описанию простейших систем, так как при достаточно
большой мощности множества V количество проверок условий Pni огромно. Значительного повышения эффективности моделирования можно достичь, если учитывать особенности объекта исследования — ЭС [3]. Во-первых, условия выполнения ФД содержат большую избыточность и могут быть минимизированы. Это объясняется тем, что в ЭС
каждый объект Vi имеет небольшое количество связей с другими объектами. Тогда в элементах множеств Rni для многих Vi содержатся все возможные переборы их временных функций, и соответствующие проверки можно опустить.
Во-вторых, в любой ЭС в конкретный момент времени может выполняться только очень низкий процент ФД от общего их количества. Следует также учитывать еще один широко известный факт — неоднородность распределения событий в ЭС во времени. События вдоль оси времени собираются в группы, началом каждой такой группы служит некоторое значимое для ЭС событие, называемое событием синхронизации. Его приход вызывает выполнение большого количества ФД, после чего плотность событий во времени снова падает. Кроме того, подсистемы ЭС обычно реализуют четко установленные последовательности ФД. Тогда проверку условий нужно проводить лишь для первого ФД (которое обычно и вызывается событием синхронизации), а для следующих ФД проверки либо не требуются вообще, либо очень упрощены.
В имитационной модели эти особенности предлагается отразить следующим образом. Пусть моделируемая подсистема ЭС выполняет определенную последовательность действий, некоторое ФД! является первым ФД последовательности и иницииру-
ется проверкой условий Rj. За ним следует ФД2 , для выполнения которого необходимо проверить условия R2. Если условия ложны, выполнение последовательности приостановится и будет продолжено лишь в случае выполнения этих условий. При выполнении последнего ФД из последовательности управление передается снова в её начало.
Таким образом, множество всех ФД системы F мы разбили на группы вида ((Pj, Aj), (P2 , A2), ...,
(Pn, An)). Логически связанный набор ФД, выполняющихся последовательно, назовем процессом [4]. Будем говорить, что процесс находится в состоянии ожидания или в неактивном состоянии, если условия выполнения текущего ФД процесса ложны, и в активном состоянии, если они истинны.
Условия Rni , которые должны быть выполнены для перехода процесса в активное состояние, назовем условиями активизации процесса.
Поскольку одни и те же условия Rni могут входить сразу в несколько Fni, в имитационной модели определенное количество процессов одновременно могут находиться в активном состоянии и
воздействовать на различные Vn . Можно сказать, что, в то время, как внутри каждого процесса все ФД выполняются последовательно, ФД различных процессов могут выполняться параллельно во времени (одновременно).
Итак, процессный подход при построении имитационной модели ЭС предполагает выполнение исследователем действий в такой последовательности:
1. Изучение ЭС и её декомпозиция на законченные функциональные модули, каждый из которых реализует определенную последовательность ФД.
2. Разбиение поведения каждого модуля во времени на некоторые элементарные действия и выявление условий выполнения этих действий в последовательности.
3. Составление программной модели устройства, в которой каждый из модулей п.1 описывается одним параллельным процессом, каждый процесс состоит из последовательности описаний ФД, а каждое ФД состоит из оператора проверки условий выполнения и операторов изменения значения некоторого объекта модели.
Данный подход имеет ряд преимуществ как при описании систем, так и при проведении вычислительных экспериментов. В первом случае он позволяет легко осуществлять переход непосредственно от содержательных представлений о поведении системы к ее модели. В самом деле, исследователь, составляющий имитационную модель устройства, обычно имеет описание системы не в виде таблиц истинности (для сложных ЭС они слишком громоздки), а в виде спецификации на её отдельные функции или описания алгоритмов её работы в отдельных режимах. Тогда он без труда может каждой функции системы поставить в соответствие процесс. Таким образом, модель на основе процессов имеет интуитивно понятную для исследователя структуру, достаточно проста для составления, чтения и модификации.
РИ, 1998, № 2
117
С точки зрения процесса моделирования данный подход значительно повышает производительность имитационной системы. Поскольку большинство процессов модели в конкретный момент времени находится с состоянии ожидания, для каждого из них осуществляется минимальное количество проверок условий активизации — только для того ФД процесса, на котором он был приостановлен.
Процессный метод предполагает наличие сложных алгоритмов управления процессом моделирования (УПМ) [5], осуществляющих переключение процессов из активного состояния в неактивное и наоборот, обеспечивающих их квазипараллельное выполнение, разрешающих конфликты при совместном использовании параллельными процессами общих данных и т.д. Однако решение этих задач полностью возлагается на программу УПМ и не требует затрат времени со стороны пользователя.
В заключение следует отметить, что в статье рассмотрены лишь вопросы моделирования поведения ЭС. Моделирование же её структуры, способы представления самих объектов системы, построение алгоритмов УПМ и т. д. являются отдельными вопросами, которые, однако, нельзя оставить без внимания при построении процессно-ориентированной системы имитационного моделирования. Исследование перечисленных проблем и дальнейшее развитие приведенного процессного подхода позволит в будущем не только формализовать процесс
построения моделей, но и решать вопросы автоматического синтеза схем ЭС на основе их имитационных моделей.
Литература: 1. Месарович М, Такахара Я. Общая теория систем: математические основы. М.: Мир, 1978. 311 с. 2. Литвинов В.В. Математическое обеспечение проектирования вычислительных систем и сетей. М.: Техника, 1982. 176 с. 3. Аврамчук Е, Вавилов А., Емельянов С. Технология системного моделирования. М.: Машиностроение; Берлин: Техник, 1988. 520 с. 4. Анисимов А.В., Борейша Ю.Е. Проектирование сложных систем посредством параллельных взаимодействующих процессов в режиме имитационного моделирования. К.: ИК, 1983. 38 с. 5. Максимей И. Имитационное моделирование на ЭВМ. М.: Радио и связь, 1988. 232 с.
Поступила в редколлегию 13.04.98
Рецензент: д-р техн. наук, проф. Евдокимов А.Г.
Горбачев Валерий Александрович, канд. техн. наук, профессор кафедры ЭВМ ХТУРЭ. Научные интересы: теория моделирования. Адрес: 310135, Украина, Харьков, ул. Героев Труда, 133, кв. 33, тел. 66-53-61, 40-93-54.
Бабаев Андрей Павлович, аспирант, младший научный сотрудник кафедры ЭВМ ХТУРЭ. Научные интересы: теория систем, теория моделирования. Адрес: 310100, Украина, Харьков, ул. Танкопия, 24, кв. 136, тел. 97-97-39, 40-93-54.
Волк Максим Александрович, аспирант, младший научный сотрудник кафедры ЭВМ ХТУРЭ. Научные интересы: теория проектирования электронных систем, теория моделирования. Адрес: 310124, Украина, Харьков, пр. Гагарина, 175а, кв. 9, тел. 52-04-17, 40-93-54.
УДК 681.323
ОЦЕНКА ТОЧНОСТИ ГЕОМЕТРИЧЕСКИХ ПРЕОБРАЗОВАНИЙ В СПЕЦПРОЦЕССОРЕ РАСТРОВОЙ ГРАФИКИ
ГУСЯТИН В.М.
Предложено оценку точности геометрических преобразований в спецпроцессорах растровой графики характеризовать угловым разрешением. Получено аналитическое соотношение, которое позволяет связать параметры спецпроцессора с угловым разрешением. Варьируя эти параметры, можно решать задачу оптимизации системы в целом.
При проектировании спецпроцессоров (СП) растровой графики [1,2] для цифровых систем визуализации (СВ) актуальной является задача выбора параметра для оценки точности геометрических преобразований, а также получения соотношений, устанавливающих связь между этими параметрами, техническими характеристиками отображающего экрана, СП и разрешающей способностью зрения человека, для которого в конечном итоге и выполняется синтез изображения.
1. Постановка задачи
В качестве основного ориентира, к которому следует стремиться при оценке требуемой точности геометрических преобразований проектируемой СВ,
выберем угловую разрешающую способность глаза
человека [3]: у и 2-12...2-13рад.
Синтезируемое изображение отображается на экране с растровой разверткой [1]. Введем параметр системы отображения ю , равный отношению размера пиксела экрана l к модулю вектора наблюдения |Vc|, проведенного от центра проекции к центру экрана: ю = l/|vc| рад.
Вычисление точки пересечения проекционного луча с поверхностью объекта сцены [1] выполняется в соответствии с соотношением
rp = rh + vp. (1)
Слагаемое % является константой для каждого вновь синтезируемого кадра изображения и вычисляется с высокой точностью на ПЭВМ [2]. Таким образом, вся погрешность вычислений сосредоточена в слагаемом Vp . Вектор Vp — геометрическая
интерпретация проекционного луча в обратном методе трассирования, используемого для синтеза объектов в трехмерной графике [1]:
VP = X V . (2)
Координаты начала вектора Vp вычисляются точно, так как являются координатами конца вектора rh . Ошибка накапливается при вычислении
точки пересечения конца вектора Vp с поверхностью объекта сцены и, следовательно,
118
РИ, 1998, № 2