ПРОГРАММНЫЕ И АППАРАТНЫЕ СРЕДСТВА /
УДК 681.3
СИСТЕМНОЕ ВРЕМЯ И СИНХРОНИЗАЦИЯ СИСТЕМ1
В. И. Варшавский,
доктор техн. наук, профессор университет Айдзу (Япония)
В статье проводится анализ концепции причинной обусловленности как основы правильного асинхронного поведения. Предлагается декомпозировать систему на процессорный стратум и синхро-стра-тум, функционирующий подобно распределенным асинхронным часам. Универсальный синхро-стратум обеспечивает возможность прямого перехода от синхронного прототипа к асинхронной системе. Приводятся несколько типов спецификаций и аппаратной реализации синхро-стратума вместе с их сравнительными характеристиками.
In the paper, the concept of causal conditionality is analyzed as the basis for correct asynchronous behavior. It is suggested to decompose the system to Processors Stratum and Synchro-Stratum which acts like a distributed asynchronous clock. A universal Synchro-Stratum provides the possibility of direct transition from the synchronous prototype to an asynchronous system. Several types of specification and hardware implementation of Synchro-Stratum are given with their characteristics compared.
Введение
Время является одним из наиболее сложных и плохо понимаемых объектов Природы, хотя большинство из нас полагают, будто отлично знают, что это такое. История, психология, искусство, микро- и макрофизика, космология и ряд других наук занимаются разными аспектами Времени и имеют на него, вообще говоря, разные точки зрения. Предметом этой статьи будет Время в искусственных системах, или Искусственное Время. Специфика этого предмета требует, по-видимому, специального рассмотрения. Прежде чем перейти к изложению основного содержания статьи, я позволю себе некоторые спекуляции на эту тему.
Начиная, вероятно, с Исаака Ньютона, достаточно точно сформулировавшего это понятие, Время рассматривается как независимая глобальная физическая переменная (Физическое Время). Все определения Физического Времени, с которыми нам удалось познакомиться, так или иначе связаны с процедурой измерения Времени2 и понятием одновременности. Измерение, в свою очередь, всегда связано с его точностью, и одновременность является абстракцией в пределах точности измерительного прибора (часов).
Varshavsky V. System Time and System Timing. C. Nehaniv
& M. Ito, eds., Algebraic Engineering, World Scientific Press, 1999. - P. 38-57.
2 Это естественно, как для любой физической переменной. Измерительным прибором для Времени являются Часы.
Теория относительности ввела в рассмотрение понятие события и зависимость интервала измеренного времени между событиями от позиции наблюдателя. При этом, хотел ли этого Эйнштейн или нет, было введено понятие информационного обмена (сигнала о событии). Более того, событие по своей природе дискретно и возникает естественный вопрос, дискретно или непрерывно физическое время? С точки зрения базового определения, оно непрерывно. С другой стороны, оно гранулируется, по крайней мере, точностью измерительного прибора. Поскольку любой измерительный процесс требует расхода энергии и является вмешательством в измеряемый процесс, то соотношение неопределенности в его форме, связанной со временем, может дать информацию о минимальном кванте времени и, надо полагать, о возможной достижимой точности измерения3. Соотношение неопределенности в форме, связывающей энергию и время, имеет вид Д£Д£ > Н . Это означает, что энергию взаимодействия между измерительным прибором и исследуемой системой можно учесть только с точностью до й/Д£. Хотя сегодня микроэлектроника весьма далека от этого ограничения, но для ГЕБ4, использование ко-
3 Честно говоря, на мои вопросы к физикам о смысле этой формы соотношения неопределенности я не получил вразумительного ответа. Возможно, я спрашивал не тех людей.
4 Future Electron Device, таких как Single Electron Transistor Wave Function Rearrangement Devices Quantum Dot Cell и т. д.
торых ожидается во второй декаде следующего века, время смены энергетического уровня (состояния) на величину АЕ распределено по Пуассону с параметром х = Н/АЕ 1.
Как это ни парадоксально, но определение Времени, связанное с последовательностью дискретных событий, было дано значительно раньше, еще Аристотелем. Согласно Аристотелю, Время - это способ упорядочивания событий, отражающий причинно-следственные отношения между ними. С этой точки зрения Время есть логическая абстракция (Логическое Время) и суть его отражается в гениальной фразе Аристотеля: «Время отсутствует, если ничего не происходит».
Оба определения, как физического, так и логического времени были сделаны применительно к естественному времени, связанному с независимыми от человека процессами, протекающими в Природе. Начиная с самых ранних периодов истории, у человека возникла необходимость в создании искусственных систем (устройств), поведение и использование которых было связано со временем. Во-первых, это часы. Функционирование всех известных часов связано с процессами, протекающими в непрерывном физическом времени. В большинстве случаев часы осуществляют преобразование непрерывного физического времени в последовательность дискретных событий. Во-вторых, это системы, устанавливающие логический порядок событий, как например, календари. Однако по-настоящему проблема времени в искусственных системах возникла при создании средств моделирования процессов, как аналитических, так и технических.
Аналитические непрерывные модели, такие как дифференциальные уравнения, включают непрерывное физическое время как независимую переменную без каких-либо специальных проблем, тем более, что и само определение независимого физического времени было в той или иной мере связано с созданием дифференциального исчисления.
Аналитические модели дискретных процессов, такие как уравнения в конечных разностях или конечные автоматы, оперируют с дискретным временем, вернее, с номерами шага процесса, которые в рамках этих моделей, на первый взгляд, никак не связаны с естественным временем. Но это справедливо только для изолированных систем, и как только мы попытаемся организовать или описать2 взаимодействие системы с внешней средой, мы будем вынуждены заняться взаимодействием формального и естественного времени.
1 При этом х « 6 х 1(Г4 пс/эВ. Для продвинутых микроэлек-
тронных устройств характеристические энергии переключения имеют порядок FJ (1 * 600 эВ) и М имеет порядок до-
лей пикосекунды без учета энергии перезаряда паразитных емкостей.
2 В рамках аналитических моделей это, по-видимому, одно и то же.
Рис. 1. Схемы интеграторов
Косвенно с этим связаны трудности перехода от абстрактной к структурной модели автомата и определения асинхронного автомата в классической структурной теории автоматов3.
Как только мы переходим к техническим системам, моделирующим те или иные процессы, мы с неизбежностью сталкиваемся с тем фактом, что физические устройства, реализующие техническую систему, функционируют в естественном физическом времени, а аналитические процессы, которые они моделируют, заданы в искусственном формальном времени. Таким образом, проблема введения времени в искусственную систему (Системное Время) и проблема организации взаимодействия между системным и физическим временем становится одной из проблем проектирования.
Впервые эта проблема в явном виде возникла в начале века при создании и использовании в режиме реального времени механических дифференциальных анализаторов (МДА). Одним из базовых элементов МДА является дисковый интегратор (рис. I)4.
Если маленький диск радиуса г перемещается относительно центра большого диска на величину ЩХ) и угол поворота оси большого диска при этом равен X, то угол поворота оси маленького
X ТЭ/ л^\
диска равен Е(Х) = [—-—-с1Х. Как нетрудно ви-о г
деть, поведение интегратора не зависит от времени и в качестве независимой5 может быть использована любая переменная. Если же мы хотим работать с физическим временем как независимой переменной, то для этого достаточно иметь постоянную скорость вращения со оси большого диска.
. Vо)• /?(£) ,
При этом г(ч= ----------ат и синхронныи двига-
о
3 Ничего другого, кроме как «асинхронный автомат - это автомат, переходы которого инициируются изменением состояния входа и любой переход завершается стабильным состоянием», придумано не было, но каждый, кому пришлось читать студентам лекции по структурной теории автоматов, знает, сколь трудно, а порой и невозможно ответить на вопросы студентов: «Чем же все-таки отличается синхронный автомат от асинхронного? ».
4 С его помощью при наличии следящей системы в цепи обратной связи реализуется и операция дифференцирования. Запаздывание в цепи обратной связи сказывается только на точности вычислений.
5 Или зависимой.
тель, обеспечивающий постоянную скорость вращения, играет роль общих для системы часов. Ситуация принципиально изменяется при переходе к электронным дифференциальным анализаторам. Их базовым компонентом является интегрирующий усилитель (рис. 1, б), поведение которого в явном виде зависит от физического времени, и значения всех переменных являются функцией времени. Теперь нам опять требуются часы для того, чтобы сопоставить значения различных переменных в один и тот же момент времени1. Уже здесь наметились некоторые проблемы, связанные с тем, что усилитель обладает собственной задержкой и изменения распространяются по анализатору с некоторой задержкой. Хотя в большинстве применений этим можно было бы пренебречь, однако для моделирования очень быстрых процессов было необходимо прибегать к масштабированию времени2.
История возникновения дискретных вычислительных средств начинается еще в древности3. Однако вопрос о времени, в котором функционируют соответствующие технические средства, возник значительно позже. Тем более, что значительно позже возникли формальные модели поведения таких устройств. Механические вычислительные устройства, такие как машины Паскаля, Лейбница, Однера, аналитическая машина Беббиджа, имели в качестве единицы системного времени однократный поворот ведущего вала4, который хотя и протекал в реальном физическом времени, но в процессе работы это фактически никак не учитывалось. Введение в начале XX века электрического привода5 никак не изменило ситуацию. Жесткость механического привода и зубчатых передач исключали ощутимую задержку передачи информации и, например, в зависимости от длины переноса при суммировании изменялась не задержка, а момент на ведущем валу6. В калькуляторах, где были автоматизированы операции умножения и деления, последовательность шагов вычисления задавалась последовательностью оборотов ведущего вала (системными часами).
Заметим как исторический курьез, что идея формирования шагов системного времени по готовности данных (то, что позже было названо « ар-
1 Опять заметим, что одновременность достижима лишь в пределах точности часов.
2 Масштабированное время есть не что иное, как искусственное системное время.
3 Вспомним камешки, зарубки на дереве, узелки, применявшиеся для счета и, наконец, счетные доски и абак. Заметим также, что математическое мышление древних людей было алгоритмично - в древнем Египте математическая задача считалась решенной, только если был найден алгоритм соответствующих вычислений на абаке.
4 Или однократное перемещение рычага в машине с пропорциональным рычагом.
5 Калькуляторы 11еште1а11, Мегсес1ез, ЕасН, Еетх и т. д.
6 Что могло быть компенсировано запасом мощности и
изменяло не единицу системного времени, а ее длительность в
реальном физическом времени.
хитектурой потока данных») была впервые использована в XVIII веке в вычислительном бюро Прони, которое занималось составлением навигационных таблиц. Группа высококвалифицированных математиков, в которую входил Лагранж, разрабатывала методы вычислений (алгоритм) и систему таблиц, выходные данные которых были результатом одной арифметической операции над входными (программа). Оператор-вычислитель получал исходные таблицы и заполнял одну или несколько выходных таблиц, которые поступали следующему оператору. Оператор начинал очередной шаг вычислительного процесса, когда к нему поступали полные исходные данные для этого шага7.
Настоящие проблемы взаимодействия физического и системного (логического) времени возникли, по-видимому, с появлением и широким использованием релейных устройств в промышленной автоматике и системах сигнализации и блокировки на железных дорогах. Эти проблемы были связаны с опасностью возникновения гонок и состязаний, характер которых зависел от вариаций времен срабатываний контактов реле. Именно борьба с гонками и состязаниями впервые поставила задачу организации логического поведения, инвариантного к поведению компонент в физическом времени. Вызванные запросами практики работы Шестакова и Гаврилова (СССР), Шеннона (США), Накамуры (Япония) привели к созданию теории релейных устройств и структурной теории конечных автоматов (Мур, Мили, Хаффмен и др.). Появление электронных ламп и транзисторов до поры до времени не изменяло общую ситуацию.
Модель конечного автомата 5(£+1) = .Р(5(£), Х(£+1)); У(£+1) = Ф(5(£), Х(£+1)) - модель Мили; У(^) = ХР(5(^) - модель Мура - включала в себя параметр t как номер шага процесса, который не был связан с физическим временем и был уже, по сути, системным искусственным временем8. Именно попытки исключить параметр £ из автоматных уравнений привели к понятию асинхронного автомата, для которого текущее состояние определяется устойчивым решением уравнения 5 = .Р(£,Х(£))- При этом параметр t сохраняет свое значение нумератора последовательности состояний входа. Коль скоро модель асинхронного автомата была предложена и изучалась применительно к задачам реального проектирования, то сразу же возникли вопросы связи логического поведения автомата с физическим поведением его компонент, ответы на которые искались на логическом уровне (про-тивогоночное кодирование и др.).
7 Чем не мультипроцессорная data-fjow computer system?
8 Обратим внимание на содержательную близость модели конечного автомата и разностного уравнения.
Теория алгоритмов (нормальные алгоритмы Маркова, машины Тьюринга и Поста и др.) и абстрактная теория автоматов (регулярные события Клини и др.) развивались, также игнорируя реальное время. Системное время в этих моделях рассматривалось как шаг алгоритма или номер позиции символа во входном слове. Однако уже здесь стали очевидными некоторые противоречия между структурной и абстрактной теорией автоматов.
Действительно, например, по регулярному событию хххх(хххх)*, используя прямой алгоритм МакНотона-Ямады, можно построить представляющий это событие конечный автомат (рис. 2, а)1. С точки зрения абстрактной теории, все это абсолютно корректно, но, с точки зрения структурной теории, такой автомат является не счетчиком по модулю 4, а генератором. Для обеспечения корректной работы автомата мы должны ввести либо пробел (спейсер), разделяющий два последовательных символа х, либо сигнал смены символа £. Тогда, чтобы обеспечить введение системного времени и корректную работу автомата, мы должны изменить входной алфавит и регулярное событие, представление которого есть счет по модулю 4.
Пусть у = х&^, ю = х + Ь (синхронный вариант) или у = х, ьи = х (асинхронный вариант) и со-
______________х_____________________________
■ Рис. 2. Введение времени в граф автомата
1 Счетчик по модулю 4.
ответствующее регулярное событие имеет вид ушушушуш(уюушуюую)*. Изменение регулярного события приводит к изменению распознающего это событие конечного автомата (рис. 2, б)2.
Несмотря на значительное число работ по асинхронным автоматам и несомненные успехи теории, наиболее простым способом введения системного времени3 все-таки на много лет стало использование внешних часов (синхронная реализация). При этом для рассмотренного примера реализация конечного автомата по принципу работы «ос-новной-вспомогательный» задавалась графом, приведенным на рис. 2, в.
Использование внешних часов или, точнее говоря, сигнала от внешних часов в качестве дополнительной глобальной переменной, формирующей шаги процесса смены дискретных состояний устройства, имеет простую структуру (рис. 3, а).
Часы представляют собой периодический калибровочный процесс, который делит процессы, протекающие в непрерывном физическом мировом времени в среде и устройстве, на дискретные шаги. При этом должно действовать соглашение
о том, что и в среде, и в устройстве длительность фазовых переходов из одного дискретного состояния в другое не превосходит4 длительности периода работы часов. В рамках приведенной структуры часы представляют собой не что иное, как калиброванную задержку. Важно при этом отметить, что события в часах не имеют причинной связи ни с событиями в среде, ни с событиями в устройстве. Все три объекта имеют, среди прочих, только одну общую причину происходящих в них событий - течение мирового физического времени. Заметим на будущее, что отсутствие причинно-следственных отношений между указанными событиями или, другими словами, нарушение причинной обусловленности поведения является одним из источников неприятностей, с которыми сталкивается синхронная реализация.
В классической асинхронной реализации (рис.
3, б) инициатором переходного процесса в устройстве является внешняя среда5. При этом, опять-таки, поведение во времени внешней среды в значительной мере причинно независимо от поведения устройства. В тех случаях, когда внешняя среда является частью системы, а часто так оно и есть, требуется постановка задачи интерфейса между системным и естественным временем и ее решение. Од-
2 Мы получим тот же самый автомат, если осуществим подстановку уу* и ило* вместо у и ш соответственно, но это создает лишь иллюзию асинхронности в рамках языка регулярных событий.
3 Или, точнее говоря, преобразования физического времени в системное.
4 Более корректно, в пределах точности поддержания периода калибровочного процесса, строго меньше.
5 Изменение состояния входного вектора X. Заметим при этом, что и в синхронной модели часы фактически являются для устройства частью внешней среды и сигнал времени Т может быть включен во входной вектор — Х’ = {X, Т}.
а) Системное время б) Системное время
Ш Рис. 3. Взаимодействие устройства и среды во времени
нако, если внешняя среда или существенная ее часть является искусственной системой, мы вправе попытаться ввести в интерфейс между ними причинную обусловленность. Эту задачу решает так называемая «согласованная реализация» (рис. 3, в).
Суть согласованной реализации, предложенной в пионерских работах Д. Маллера, состоит в том, что внешняя среда навязывает ритм смены состояний устройству, а устройство - внешней среде. При этом, по крайней мере, один выход устройства изменяется только после завершения очередного переходного процесса в нем. Развитие модели Маллера привело к созданию нового класса устройств с причинно обусловленным поведением - самосинхрон-ных (не зависящих от скорости, нечувствительных к задержкам) устройств.
Модель Маллера [5,6]г. Причинно-обусловленные устройства
Принципиальным в подходе Маллера к изучению поведения асинхронных устройств явился отказ от детерминированной модели. Действительно, поскольку асинхронное поведение в общем случае связано с непредсказуемыми вариациями длительностей процессов перехода из одного состояния в другое в физическом времени, состояние
1 Изложение результатов Маллера дается по работе [7, гл. 10]. Ряд утверждений приводится без доказательств, которые можно найти там же.
асинхронного устройства в любой фиксированный момент физического времени не определено. В ряде случаев мы имеем достаточно полное представление о вероятностном характере вариаций задержек и о параметрах соответствующих распределений вероятностей2. Однако никакой особой пользы вероятностный подход к изучению логического поведения не приносит. В действительности нас интересует ответ на вполне определенный вопрос: «Как и при каких условиях из поведения, недетерминированного в физическом времени, получить поведение, детерминированное в логическом времени? ». Для получения ответа на этот вопрос в модели Маллера изучается полная совокупность логических возможностей.
Полная схема, или схема Маллера3, определяется как конечное множество 8 из N объектов а, Ъ, с,..., называемых состояниями схемы. Поведение схемы задается множеством допустимых последовательностей состояний:
а(1), а(2), ...
• 6(1), 6(2), ...1-
обладающих следующими свойствами: а(г) ф a(i + l) V/;
каждое состояние aeS является началом, по крайней мере, одной допустимой последовательности;
если а{ 1), а(2), а(3), ... - допустимая последовательность, то а(2), а(3), ..., а(2) - также допустимая последовательность;
если а( 1), а(2), ... и 6(1), 6(2), ... - допустимые последовательности и а(2) = 6(1), то а( 1), 6(1), 6(2), ... - допустимая последовательность4.
Схема может быть задана ориентированным графом возможных соседних переходов из одного состояния в другое. Состояния aeS и 6 е S находятся в отношении aRb, если существует логическая возможность непосредственного перехода из состояния а в состояние Ь, т. е. если на графе существует дуга, ведущая из а в 6. Отношение R порождает множество окрестностей a Q(a)eS , таких, что 6 eQ(a), если и только если aRb. Последовательность a( 1), а(2), ..., а(т) называется ^-последовательностью, если a(i)Ra(i + 1) для
1 < i < т -1. Каждому пути на графе соответствует ^-последовательность состояний5.
2 Как, например, в случае смены квантовых состояний или выхода электронного арбитра из метастабильного состояния.
3 Или просто схема.
4 Последние два свойства формируют свойство марковости допустимой последовательности - вся предыстория поведения содержится в текущем состоянии.
Но не каждая ^-последовательность является допустимой.
Мы будем говорить, что состояние а предшествует состоянию Ь (аРЬ - отношение следования), если существует /2-последовательность (путь на графе), ведущая из а в Ь. Отношение Р рефлексивно (а, а есть /^-последовательность) и транзитивно (из аРЬ и ЪРс следует аРс). Если а^Ъ и аРЬ, то а и Ь принадлежат допустимой последовательности.
Состояния а и Ь называются эквивалентными (аЕЬ ), если аРЬ и ЪРа, т. е. если в графе имеется цикл, содержащий аиЬ. Отношение эквивалентности разбивает все множество состояний в на классы эквивалентности А, В, С,.... Отношение следования имеет место и для классов эквивалентности А?\В, если существуют два состояния а* & А и Ь* е В , такие, чтоа/’б.И,если АРВ, то \/(ае А)&(ЬеБ) аРЬ.Если АР В и ВРА, то А = В.
Отношение Р для классов эквивалентности определяет частичное упорядочение классов1. Любой допустимой последовательности состояний соответствует единственная конечная последовательность классов эквивалентности и для любой допустимой последовательности состояний существует последний класс эквивалентности А(т), называемый заключительным. В частичном порядке на классах эквивалентности существует один или несколько максимальных классов. Если заключительный класс для некоторой допустимой последовательности не является максимальным, то он называется псевдо-максимальным. Согласно определению Маллера, схема называется независимой от скорости2 относительно состояния и, если все допустимые последовательности, начинающиеся с и, имеют один и тот же заключительный класс.
Теорема [7, 10.2.5]. Схема С не зависит от скорости относительно и, если и только если класс эквивалентности и[и&и) предшествует только одному максимальному классу Я и не предшествует ни одному псевдомаксимальному классу.
Определенная выше схема С является абстрактным объектом. Структурная теория предусматривает более детальное описание, в частности, представление состояний сигналами, а сигналов - логическими элементами. Структуризация требует изменения3 определения схемы.
Как обычно в структурной теории автоматов, схема определяется как совокупность п логических элементов, соединенных между собой. Каждый логический элемент имеет входов, <п , и один выход хь. Выходы логических элементов называются узлами схемы и д-местный набор значений переменных в узлах схемыХ = {х0, х1?..., л:„_1}, являет-
1 Заметим, что это упорядочение является «хронологическим» (временным в логическом времени).
2 Независимой от длительностей процессов смены состояний в физическом времени.
3 Детализации.
ся ее состоянием4. Каждый вход логического элемента соединен5 только с одним выходом и никакие два выхода не соединены между собой. С каждым логическим элементом6 связана логическая функция х[ = fi(X), где х[ называется следующим значением Xj. Если х[ явно зависит от xt, то логический элемент есть элемент памяти. В противном случае мы имеем комбинационный элемент. Выход логического элемента в некотором состоянии Xj называется стабильным, если xi@fl(Xj) = 0, и возбужденным, если Xj ® fi(Xj) -1 .В возбужденном состоянии входы логического элемента уже изменились7, а выходная переменная еще не изменилась. Если в некотором СОСТОЯНИИ Xj возбуждено т переменных, то существует 2т логических возможностей для смены состояний, порождающих граф полной схемы Маллера. Если каждой структурированной схеме соответствует абстрактная схема, то все определения и результаты, полученные для абстрактной модели8, могут быть распространены на структурированную модель. При этом, однако, специфика структурированной модели оправдывает рассмотрение других подходов.
В соответствии с определением возбужденного и стабильного состояний логического элемента в бинарной модели Маллера каждая переменная может принимать четыре значения: {0,1} - стабильные значения и {0*,1*} - возбужденные значения. Диаграмма состояний при этом называется диаграммой Маллера. Пример диаграммы Маллера для схемы
^^0 Х"2 у #2 у
х3 = х0х2 + х3 (х0 + хх)
относительно начального состояния 0*0*0 0 приведен на рис. 4, а9. Заметим, что, несмотря на четырехзначное кодирование, схема имеет не 4га, а 2" возможных состояний, из которых в нашем примере четыре состояния недостижимы из рассмотренного начального состояния. Для состояний а и Ъ диаграммы Маллера естественным образом определяется отношение непосредственного следования aRb и понятие ^-последовательности. Каждой ^-последовательности Х(1), Х(2), ...,
4 Как правило, рассматриваются бинарные переменные, хотя нет никаких специальных ограничений на значность переменных. Так, в работе [19] рассматриваются многозначные самосинхронные коды.
0 Функционально связан.
6 Кстати, уже здесь мы можем сделать предварительное замечание об отличии асинхронной модели от синхронной. В синхронной модели логическая функция элемента определяется как яДг+1) = fi(X(t)), где £ - специально выделенная переменная, сигнал логического времени.
7 Возникла причина изменения состояния выхода.
8 Полной схемы Маллера.
9 Поскольку, как мы уже отмечали выше, одновременность в физическом времени недостижима, то в диаграмме отмечены только соседние переходы.
-----> 0*0*00 б)
10*00 0*10*0 1000
0000
1*001 01*01 1221 2121 ---------0002* 2222
3322
Рис. 4. Диаграмма Маллера (а), кумулятивная диаграмма Маллера (б), сигнальный граф (в)
Х(т) можно поставить в соответствие последовательность кумулятивных состояний (К-состоя-ний) а(1), а(2), а(т). Кумулятивное состояние а(у') есть вектор а(у) = [а0(у),а1(у), а^у')]
с целочисленными компонентами а^у), такой что аДу) = 0 и а£(у +1) = а£(у) + [х1 (у) ® (X(у))]. Иными словами, компонента кумулятивного состояния а(у) есть число изменений переменной хь от начального состояния а(1) до состояния а(у). Кумулятивная диаграмма для примера рис. 4, а приведена на рис. 4, б. В кумулятивной диаграмме а < р, если схг <\/£; у = о^р, если у1 = шах(аг,(3^); и у = ал[3, если у;=шт(аг,(Зг). При частичном упорядочении а < (3 кумулятивная диаграмма есть структура. Маллером показано, что, если эта структура полумодулярна, то поведение соответствующей схемы не зависит от скорости и схема называется полумодулярной.
Диаграмма Маллера для полумодулярных схем имеет простое локальное свойство. Пусть Я(Х) - окрестность состояния X в диаграмме Маллера - ХКУ \/Уеф(Х); £)(Х(1)) - множество состояний1, достижимых из Х(1). Тогда для полумодулярности соответствующей схемы (кумулятивной диаграммы) необходимо и достаточно, чтобы, если х1 = 0*(1*) \/Х е£)(Х(1)) , тогда уь ^0,1 *(1,0*) УУ е(?(Х). Иными словами, для полумодулярности схемы необходимо и достаточно, чтобы каждый раз, когда выход логического элемента возбуждается (возникает причина для изменения выхода), возбуждение снимается только путем изменения выхода (причина сохраняется до тех пор, пока не реализуется ее следствие). Это свойство мы будем называть причинной обусловленностью.
Объем информации, содержащийся в диаграмме Маллера, вообще говоря, избыточен. Вместо графа смены состояний может быть использова-
1 Множество В(Х(1)) иногда называют рабочим циклом.
но событийное описание поведения - частичный порядок на событиях, состоящих в смене значений переменных. Языками такого описания являются сигнальные графы (СГ), диаграммы изменений (ДИ), маркированные сети Петри (МСП) и др. [8, 9, 10]. Все эти языки обладают одинаковыми изобразительными возможностями. На рис. 4, в приведен СГ (ДИ)2 для примера на рис. 4, а. Маркеры на дугах обозначают текущее состояние схемы. Для ДИ аналогично диаграмме Маллера может быть построена кумулятивная диаграмма и известен набор алгебраических свойств, обеспечивающих полумодулярность соответствующих схем. По ДИ однозначно восстанавливается диаграмма Маллера. Логические функции переменных задаются диаграммой Маллера следующим образом: если X - состояние рабочего цикла диаграммы Маллера3, то если = 0(1), тогда /ДХ) = 0(1), и если хь = 0*(1*), тогда /ДХ) = 1(0) (это задание, вообще говоря, неоднозначно, так как функция может быть определена произвольно на состояниях, не входящих в рабочий цикл). Последнее обеспечивает задачу синтеза полумодулярных схем, спецификация которых задана ДИ или диаграммой Маллера. Задача синтеза, однако, этим не ограничивается по следующим причинам.
1. При переходе от ДИ к диаграмме Маллера в последней могут встретиться противоречивые состояния, т. е. состояния, в которых при одних и тех же булевых значениях возбуждены разные переменные. В этом случае для снятия противоречий необходимо введение дополнительных переменных, развязывающих противоречия. Естественно, что введение дополнительных переменных не должно нарушать свойство полумодулярности.
2. Синтез реальных схем всегда осуществляется в некотором функциональном базисе. Получающиеся в результате формального синтеза логические функции могут не входить в функциональный базис и должны быть представлены как суперпозиции базисных функций. При этом, опять-таки, схема должна сохранять свойство полумодулярности относительно выходов всех логических элементов.
Интересно отметить связь алгебраических свойств кумулятивной диаграммы Маллера и логических свойств соответствующих схем. Например, если кумулятивная диаграмма полумодулярна и дистрибутивна, то элемент 2И-НЕТ или 2ИЛИ-НЕТ является функционально полным в классе полумодулярных схем. Для не дистрибутивных схем4 функционально полный набор содержит элементы 2И-НЕТ и 2ИЛИ-НЕТ.
2 СГ являются подмножеством ДИ.
3 Множество состояний, достижимых из начального.
4 Содержательно недистрибутивность соответствует возникновению очередного возбуждения переменной более чем в одном состоянии.
Как мы уже говорили выше, логическое время определяется частичным порядком на событиях, отражающим причинно-следственные отношения между ними. Для кумулятивной диаграммы Маллера момент логического времени в каждом состоянии может быть определен, в зависимости от семантики специфицируемого поведения, по крайней мере, тремя способами, а именно:
п-1
1) Т(а)= ^а;, в случае, когда каждое собы-
/=о
тие, состоящее в смене значения переменной, формирует шаг логического времени;
2) /"(а) = таха;-, в случае, когда шаг логического времени формируется сменой значения «опережающей» переменной;
3) Т(а) = ак, в случае, когда шаг логического времени формируется сменой одной выделенной переменной1.
Для ДИ и ее кумулятивной развертки определение моментов логического времени не столь очевидно. События ДИ определяют смену состояний
и, следовательно, моменты логического времени естественно связать с дугами (маркерами). Комбинация маркеров однозначно определяет текущее состояние и, если сопоставить рис. 4, а, б и в, то нетрудно видеть, что для случая 1 событие +Х0 (возбужденное состояние 0*) присутствует в двух моментах логического времени. Таким образом, если в ДИ маркер на дуге +Х1 —> +Х2 имеет значение логического времени t, то маркер на дуге +Х0 —» +Х3 «размазан» по моментам времени Таким образом, понимание логического времени для состояний и событий, вообще говоря, различно. Логическое время для состояния единственно для всей схемы в силу того, что в каждый момент физического времени схема находится в одном и только одном состоянии2. Логические времена для различных событий могут быть различны в один и тот же момент физического времени, и одно и то же логическое время для разных событий может быть в различные моменты физического времени. Интерпретация событийного логического времени зависит от соглашения, которое мы примем для этой интерпретации3. Например, если события £'1(^1)&...&Ек^к) явля-
1 Выделенная переменная при этом может интерпретироваться как синхронизирующая и является в некотором смысле аналогом синхросигнала в системе с внешними часами.
2 Это утверждение не совсем точно в силу того, что при смене состояния переменная проходит непрерывное множество значений и граница между значениями 0 и 1 размыта. Анализ режима переключения выходит за рамки этой статьи, однако сказанное может быть использовано с требуемой для наших целей степенью точности.
3 В действительности интерпретация в значительной
мере зависит от семантики описываемых процессов.
■ Рис. 5. Схема Маллера для спецификации на рис. 4
ются причиной события ЕтЦт), мы можем считать, что = тах^, ..., tk)+1 (напомним, что моменты логического времени маркируют выходные дуги соответствующих событий и нарушение непосредственного следования моментов времени на входных и выходных дугах одного события не является чем-то необычным). Для случая 3 в нашем примере, если выделена переменная х3, то в каждом состоянии маркировок дуг все маркеры имеют одно и то же значение логического времени. Если же в качестве переменной, формирующей значения логического времени, выбрана переменная х1 или х2, то ситуация становится более сложной.
До сих пор мы рассматривали модели автономных схем и их поведение. Однако в реальных ситуациях любое устройство должно взаимодействовать и взаимодействует с внешней средой. Рассмотрим простейшую возможность организации такого взаимодействия.
На рис. 5, а приведена схема, специфицированная диаграммой Маллера (ДИ) на рис. 4. Согласно определению схемы Маллера, значения переменных XI отнесены к выходам логических элементов и значения каждой переменной на входах других элементов идентичны в любой момент физического времени. Это приводит к соглашению Маллера о задержках: все задержки приведены к выходу логического элемента и разбросом задержек в проводах после их разветвления можно пренебречь4. Понятие независимости от скорости состоит в том, что поведение схемы в смысле сохранения частичного порядка на событиях не изменится, если последовательно выходу любого
4 Соглашение Маллера о задержках выполняется не всегда и, вообще говоря, зависит от разницы длин проводов после разветвления и конкретной топологии. Вопросы теории схем, не чувствительных к задержкам в проводах, выходят за рамки этой статьи и для нашего дальнейшего изложения соглашение Маллера является вполне удовлетворительным.
элемента включить произвольную задержку. В качестве такой задержки может быть включена внешняя среда (рис. 5, б). При этом мы можем ввести дополнительное обозначение для выходного сигнала среды и, если среда включена последовательно выходу логического элемента хь, то интерфейс между схемой и средой прост и очевиден еь = хь, хь='ё1. Моделью схемы с точки зрения среды является инвертор с произвольной последовательной задержкой. Сигнал может рассматриваться как инициирующий (синхронизирующий) вход схемы, а сигнал - как сигнал о завершении переходных процессов в схеме. Последнее, вообще говоря, не совсем точно. Если в качестве интерфейсного сигнала выбрана, например, переменная х2, то, как следует из рис. 4, в, при х2 = 1 может быть не завершено переключение переменной х0, а при х2 = 0 - переменной хг. Завершение этих переключений проверяется в следующем цикле работы композиции схема-среда, и это открывает ряд новых возможностей, при которых часть внутренних переменных схемы переключается параллельно работе внешней среды1.
Поскольку моделью разомкнутой полумодуляр-ной схемы является инвертор с последовательной задержкой, то моделью разомкнутой полумодуляр-ной схемы с последовательным инвертором является задержка. Это соображение открывает возможность композиции полумодулярных схем и их блочного синтеза, при котором разомкнутые полумоду-лярные блоки с последовательными инверторами включаются как задержки, последовательные выходам полумодулярной схемы, координирующей поведение этих блоков.
Синхронная схема с общими часами также может быть условно специфицирована ДИ (рис. 6). При этом, во-первых, моделью часов является калиброванная задержка и, во-вторых, если задержка, равная периоду синхронизации, заведомо больше любой возможной длительности переходных процессов в устройстве2, то связями от событий в устройстве к событиям ±Т можно пренебречь.
Задержка, Задержка,
равная периоду равная периоду
синхронизации синхронизации
7-г)
Устройство Устройство
■ Рис. 6. Сигнальный граф для случая синхронизации от внешних часов
1 Использование этих возможностей тесно связано с семантикой поведения.
2 А это - непременное условие корректности поведения при синхронизации от общих часов.
Стратегия распределенной синхронизации
Мы должны отчетливо понимать, что система синхронизации поведения устройства от внешних часов включает в себя не только собственно часы, но и систему доставки сигналов от часов в точки их взаимодействия с устройством. Не будет преувеличением сказать, что, как только мы вводим в рассмотрение не только часы, но и систему доставки сигналов времени3, мы переходим к рассмотрению проблемы пространства-времени. Эта проблема для искусственных систем имеет свою специфику4. В VLSI and VLSI-системах мы фактически имеем дело с проводной метрикой, заданной на графе связей между модулями. Два модуля А и В являются соседними относительно сигнала Xj, если существует провод, передающий сигнал Xj, от модуля А к модулю В. Расстояние5 от модуля А до модуля В относительно сигнала xt D(ABX ) есть время, в течение которого сигнал xt распространяется от модуля Л до модуля В. Заметим при этом, что если сигналы х и у распространяются от А к В по разным проводам, то D(ABx)*D(ABy).
Задержка распространения сигнала по проводу определяется двумя факторами: во-первых, распределенными параметрами RC (постоянная времени т1 = RC12/2 и 100 пс/мм)), во-вторых, ограничениями на плотность тока в проводе. Плотность тока6, приводящая к миграции атомов, для алюминия равна 105 А/см2 = 1 mA/ji2 и время заряда емкости провода постоянным током7 определяется как т2 -VCl /1 ~ 100 пс/(мм-мА). Если доминирующим фактором является плотность тока, т. е. если
Ti RII Л
— =-----« 1, то поверхность провода можно счи-
х2 2V
тать эквипотенциальной обкладкой конденсатора. В этом случае говорят об эквипотенциальной или эквихронной зоне. Задержки, вообще говоря, существенно больше, так как провод нагружен на входы транзисторов, входные емкости которых на единицу площади в 50-100 раз больше, чем у провода. Оценка размеров эквихронной зоны достаточно сложна и зависит от принятых гипотез и критериев, однако по общим оценкам эти размеры имеют порядок 1 мм. Из понятия эквихронной зоны, независимо от ее размеров, следуют два важных вывода:
3 Заметим, что не только времени, но и информационных сигналов.
4 В частности, для VLSI и VLSI-систем, с которыми мы и будем далее иметь дело.
5 Это совсем не экзотический способ измерения расстояний. Например, надорожных картах Новой Зеландии расстояние между городами приводится в часах и минутах for driving.
6 Это ограничение для постоянного тока. Для знакопеременных токов допустимое значение плотности может быть в несколько раз больше.
7 При увеличении ширины провода в равной мере увеличивается его емкость и допустимый ток.
1) совокупность эквихронных зон порождает совокупность локальных времен;
2) система доставки сигналов времени должна обеспечивать взаимную координацию локальных времен у взаимодействующих эквихронных зон.
Использование общих часов для синхронизации поведения VLSI предъявляет соответствующие требования к системе доставки сигналов времени. Как правило, проводная система доставки сигналов времени от общих часов представляет собой Н-дерево (рис. 7), в котором точки ввода сигнала времени в эквихронную зону равноудалены от общего источника этих сигналов. Балансировка Н-дерева для современных скоростей синхронизации (2-4 ГГц) и современных размеров VLSI представляет собой весьма непростую задачу и каждый новый шаг на этом пути дается все большей и большей кровью.
Основные проблемы, возникающие при всех модификациях Н-дерева, следующие: разброс физических и технологических параметров, приводящий к разбросу задержек, и большая мощность, необходимая для перезарядки проводов Н-дерева1. Эти проблемы, вообще говоря, ограничивают число терминальных точек в Н-дереве и степень дробления системы на модули, которые рассматриваются как эквихронные.
Вернемся к рассмотрению механизма работы часов. Любые известные часы, от солнечных и водяных до точнейших атомных, имеют в своей основе какой-либо периодический процесс, протекающий в физическом времени. Часы, используемые в VLSI, представляют собой генератор (clock generator) с калиброванной задержкой в цепи отрицательной обратной связи (рис. 8, а)2. Какие требования предъявляются к периоду генерации? Толь-
Рис. 7. Н
1 Так, при 32 эквихронных зонах и частоте 400 МГц только на перезаряд емкости проводов Н-дерева требуется около 2,5 Вт.
2 Мы пока здесь будем рассматривать изолированное
(автономное) устройство. Взаимодействие с внешней средой представляет собой специальный вопрос.
б).
в)
Блок 1
Блок 2
Блок К
о
Блок 1
ЛокмьныЪ часы 1
Блок 2
Локальньіе\ часы 2.
ч
Блок К
Локальны часы К _
Рис. 8. Способы синхронизации
ко одно - длительность периода должна быть достаточной для завершения переходных процессов и в рамках этого ограничения точность поддержания периода не имеет существенного значения. Более того, период вообще может быть эластичным, если мы можем управлять задержкой в зависимости от режима работы VLSI (задержка, зависящая от данных, от параметра и т. д.) или тем или иным способом фиксировать моменты окончания переходных процессов (рис. 8,6). Однако, как мы уже говорили выше, камнем преткновения является система распределения и доставки сигналов времени. При этом очевидно, что координироваться между собой должны только локальные сигналы времени у соседних по графу связей модулей. Это приводит нас к идее децентрализованной синхронизации (рис. 8, в). Другими словами, мы попытаемся показать, что могут быть созданы распределенные, асинхронные часы, в которых пассивная проводная система доставки синхросигналов заменяется активной средой. Такое устройство будем называть синхро-стратумом.
Синхро-стратум
В качестве модели для следующего шага нашего изложения мы будем рассматривать одномерный клеточный массив из ./V синхронных автоматов Мура А] (модулей, блоков), в котором каждый автомат Ау- связан информационным обменом только с двумя своими непосредственными соседями (А7_4, Ау+1). Если £>Д£) - состояние автомата
Aj в момент логического времени t, то Sj(t +1) = Fj[Shl(t),Sj(t),Sj+1(t)].
(1)
Заметим3, что если поведение массива задано системой логических уравнений (1), то известными преобразованиями пространства состояний и функций могут быть построены массивы с эквивалентным поведением:
И это нам будет полезно в дальнейшем.
3;^ + 1) = ^[5/_1(0,5;(0,^+1(^ + 1)];
^^ + 1) = ^[5;._1(^ + 1),5;.(0,^+1(^ + 1)]. (2)
В уравнениях (1) и (2) I - целочисленная переменная, представляющая глобальное (общее для всего массива) логическое время. Введем понятие локального логического времени Т;, представляющего значение глобального логического времени на входе автомата А.-г При этом уравнение (1) имеет вид
в,(7) +1) = = ТДвД 7}),
5;+1(7}+1 = 7})]. (3)
Из уравнения (3) с очевидностью следует, что для обеспечения корректности временного поведения массива нам достаточно координировать значения локальных логических времен только у ближайших соседей. На рис. 9, а приведена ДИ для глобальной синхронизации массивов от общего синхросигнала t, а на рис. 9,6- ДИ для эквивалентной координации локальных времен.
ДИ на рис. 9, б корректна, однако ей не соответствует никакая схема, так как соответствующая ДИ диаграмма Маллера содержит противоречивые состояния. Для снятия противоречий в ДИ должны быть введены дополнительные переменные, как, например, на рис. 10.
Синтезированная по этой спецификации схема имеет вид
а)
Рис. 9. Диаграмма изменений для синхро-стратумс
■ Рис. 10. Диаграмма изменений для реализации синхро-стратума на рис. 9
Т1 = С1-1С1С1+1 + ЬЛС1-1 + С1 + см)’
с/ = К\ъА+1 + ЗД-1 + Ь + Ьи1), (4)
\ = ^-1^+1 + сг(а£_х + аг + аш),
что, собственно, принципиально решает задачу о
возможности реализации синхро-стратума. Однако может быть приведен ряд аргументов в пользу более детального анализа реализации синхро-стратума.
Во-первых, схема (4) достаточна сложна. Схема для каждой точки синхронизации содержит 42 транзистора в СМОв реализации1 и, что более важно, она требует шесть входящих проводов от соседних точек синхронизации и столько же исходящих проводов к ним2.
На практике используются различные системы синхронизации, включающие несколько синхросигналов (синхросерий), и каждый синхронный прототип приводит к своей структуре синхро-стратума.
Основная идея синхронизации сигналами от часов связана тем или иным образом с организацией поведения блоков схемы по принципу «ос-новной-вспомогательный». Стратегии синхронизации мы будем рассматривать на модели массива из клеточных автоматов, автоматы которой являются автоматами Мура, построенными на основе двухрегистровой схемы, работающей по принципу «основной-вспомогательный», или «ведущий-ведомый» (рис. 11). При одном значении сигнала Т от часов автомат изменяет свое текущее состояние путем записи нового состояния с выходов логической схемы в основной регистр (рабочая фаза). При другом значении Т текущее состояние не изменяется, а только переписывается из основного регистра во вспомогательный (пас-
■ Рис. 11. Структура автомата с двухфазным разнополярным управлением
1 Дополнительная задержка, вносимая синхро-стра-тумом, равна 6т на полный цикл синхронизации, где т -задержка одного вентиля.
2 С ростом числа соседей пропорционально возрастает
число проводов и соответственно число транзисторов.
сивная фаза). Такой принцип работы называется двухфазным с разнополярным управлением. В рабочей фазе неизменным является состояние вспомогательного регистра, хранящего предыдущее состояние автомата, а в пассивной фазе неизменно состояние основного регистра, хранящего текущее состояние.
Существенным фактором для временной координации поведения является неизменность выходов соседних автоматов (входов данного автомата) в рабочей фазе. В работах [11-15] описано несколько реализаций синхро-стратума. Здесь, в дополнение к схеме (4), мы приведем только одно новое решение. Рассмотрим фрагмент ДИ на рис. 12.
Схема, синтезированная по этой ДИ, имеет вид
7]=Г(_1Гг+1(С;_1+См),
С, =СмАС,+1. (5)
Из схемы (5) следует, что этот синхро-стратум имеет сложность 14 транзисторов на точку синхронизации в СМОБ реализации, четыре входящих и четыре выходящих провода для интерфейса между ячейками синхро-стратума. По этим параметрам он проигрывает лучшему из известных [15] (см. рис. 5) синхро-стратумов3. Однако схема (5) обладает одним замечательным свойством -предельным быстродействием. Действительно, если мы обратимся к структуре автомата «основной-вспомогательный», то заметим, что длительности переходных процессов в разных фазах, вообще говоря, различны. В рабочей фазе длительность переходного процесса складывается из задержки логической схемы и задержки записи в регистр. В пассивной фазе переходный процесс содержит только запись в регистр. Пусть в ДИ на рис. 12 рабочий цикл в автоматах реализуется при Ту = 1( знаки и ]] в ДИ обозначают время и направление передачи информации с основных регистров автоматов А^ и А;+1 на логическую схему автомата А.) и пусть задержка в логической схеме Т1о„1с = 2тёа1.е . Тогда полный цикл синхронизации определяется путем, выделенным на рис. 12 жирными стрелками. Нетрудно видеть, что дополнительная задержка, вносимая синхро-стратумом, равна 4т^а1.е на полный цикл изменения Ту (заметим, что для минимальной схемы [15; рис. 5] дополнительная задержка, вносимая синх-ро-стратумом, равна Ютё.а1.е и задержка для схемы (5), по-видимому, минимальна).
Мы будем считать, что полный цикл смены значений локального сигнала времени —> -Ту —» +Ту-представляет собой один шаг локального логического времени, и введем обозначения 1 (к) и О(к) для значений Т^(к) = 1 и Т^(к) = О соответствен-
3 Десять транзисторов, один входящий и один выходящий провод для внутристратумного интерфейса.
Рис. 12. Диаграмма изменений для быстрого синхро-стратума
но. Пусть в начальный момент времени ТД1) = 1 для любого у. Тогда проекция кумулятивной развертки ДИ, представленной на рис. 12, имеет вид рис. 13, а. При этом автоматные уравнения различны для четных и нечетных автоматов и имеют вид
£>2] + 1) “ ^2} [*^2/-1 (О» ^2) (^)» *^2;+1 (^)1 ’
^2/+1(^ + 1) = ^2;+1[^2/(^+ 1)»^2/+1 (О ’ $2 7+2 № (6)
Размышления над диаграммой на рис. 13, а позволяют получить ряд любопытных соображений о временном поведении системы. Если мы зафиксируем автомат Аг в состоянии 1(1), то система1 придет в устойчивое состояние с распределением логических времен: 1, 2, 2, 2, 2, 3, 3, 3,
3, 4, .... Из этого следует, что как в устойчивом состоянии, так и в процессе функционирования2 в разных точках синхро-стратума могут существовать разные логические времена. Более того, если мы можем управлять ритмом работы одного из автоматов или соответствующей ячейкой синхро-стратума, то эта точка массива будет генератором ритма для всего массива и от нее по массиву будут распространяться «волны времени». Мы можем попытаться организовать поведение так, чтобы в устойчивом состоянии и на фронте «волны времени» значение логического времени было одинаковым для всех автоматов. Такую возможность открывает диаграмма на рис. 13, б. В этой диаграмме для нечетных автоматов шаг логического времени формируется циклом —> +Т;- —» -Т], а для четных - циклом —> -Т;- —> +Т^. При этом, как
1 Как это видно из распределения маркеров на рис. 13, а.
2 При вариациях длительностей переходных процессов у разных автоматов.
а)
Тг Т,
Щ)
0(2)
б)
\ /Н\ /(\ /(\
0(2) 0(2) 0(2) 0(
^
от 0(2) 0(2) 0(2)
\ \ \ / \
1(21 1(2) 1(2) 1(2)
/ \ /. \ / \ /
1(2) 1(2) 1(2) 1(2)
1/ ч ^ 1/
0(3) 0(3) 0(3) 0(3)
1/ // ^ ''ч /
0(3) 0(3) 0(3) 0(3)
\ / \ / \ ^ \
1(3) 1(3) 1(3) 1(3)
Т, т2 т3 Т4 т5 т6 т7 т8 1(к+1) 1(к) 1(к) 1(к-1)
\ / \ / \ / \
0(к+1) 0(к) 0(к) 0(к-1)
//• \ /
0(к+1) 0(к+1) 0(к) 0 (к)
'Ч 1/ // ^
1(Ш) 1(к+1) 1(к) 1(к)
/ \ /' \ / \ /
1(к+2) 1(к+1) 1(к+1) 1(1г)
\ / \ /* \ / \
0(Ш) 0(к+1) 0(к+1) 0(к)
// / 'ч /
0(к+2) 0(Ш) 0(к+1) 0(Ш)
\ / \ / \ /• \
1(к+2) 1(к+2) 1(к+1) 1(к+1)
Рис. 13. Локальное распределение логического времени
это видно из рис. 13, б, автоматные уравнения имеют период 4:
84;(< + 1) = ^4ДЯ4;.1(*),Я4у(*),в4/+1<‘И'
$4/+1
(£ + 1) - ^4у+1[&4у(£) (О ’&4]+2
т
^4]+2^+ 1) = ^4 ]+2 [^4 /+1 (^)»^4/+2 (^) ’^4/+3 (О],
^4/+з(^ + 1) ~ ^4/+з[^4;+2(0 ’^4/+3 «),в4М(0]. (7)
Таким образом, меняя вид автоматных уравнений, можно переходить от параллельной к волновой синхронизации.
Переход от одномерного к двумерному массиву связан только с увеличением числа соседей и уравнения (5) приобретают вид
С*,; (8)
Синхро-стратум может быть синтезирован и для произвольного графа связей. Логические функции для его элементов при этом обобщаются естественным образом на случай произвольного графа. Пусть V^ -множество индексов окрестности автомата^ на графе связей, т. е. V^ = {г} для любых г таких, что имеет информационную связь с А}. Тогда функции элементов сихро-стратума имеют вид:
С,-А,П<№1М1С,. О)
1ёУ1еУ) /еУу
Для организации взаимодействия типа1 рис. 12 (9) необходимым и достаточным условием корректности поведения синхро-стратума является бихро-матичность графа связей [12]. Однако для синхро-стратума типа рис. 10(4) такого ограничения на граф связей нет и функции элементов имеют вид2
Т1= П с1+ь1 и
геТ^,г=/ 1еУ),1=]
с;= П Ь1+Т1 11 с<•
ь]= П а1+с] и а1‘ (10)
1еУ-, 1=у
1 Равно как и для всех других, описанных ранее типов синхро-стратума.
2 Дополнительной проблемой здесь, как и в случае (9), является отображение - представление функции как суперпозиции базисных элементов, что выходит за рамки этой статьи. Заметим только, что для случая (9) эта задача принципиально проще.
Заключение
Теперь уместно задать себе несколько вопросов. Первый из них: « Что дало нам введение синхро-стратума? » Известно, что декомпозиция как таковая не может открыть никаких новых функциональных возможностей. Действительно, мы всегда можем рассматривать композицию автомата А; со множеством внутренних состояний {5^} и ячейки синхро-стратума Т;- со множеством внутренних состояний {Ху} как один автомат ЦТ] со множеством внутренних состояний №у} = {Яу}х{Хц} и соответствующей функцией переходов. Более того, используя изощренные процедуры размещения состояний и минимизации автоматов, мы можем вообще завуалировать наличие синхро-стратума в исходном представлении. Однако при этом для каждого массива клеточных автоматов мы должны решать задачу заново. Весь смысл декомпозиции системы на автоматный стратум и синхро-стратум состоит в создании возможности разделения задач организации функционального и временного поведений3. Именно такое разделение позволило нам фактически доказать4, что по любому синхронному прототипу массива клеточных автоматов единообразным путем может быть построен его асинхронный аналог. Это инженерный аспект решаемой задачи. С концептуальной точки зрения синхро-стратум является носителем логического времени и создает в системе поле локальных логических времен. Понятие синхро-стратума открывает широкие и еще до конца не использованные возможности для размышлений и спекуляций на тему искусственного системного времени.
Второй, не менее важный вопрос: «Является ли наличие синхронного прототипа и синхро-стратума достаточным для построения асинхронного аналога? » На этот вопрос с определенностью можно ответить: «Нет!» Действительно, асинхронное поведение должно быть причинно-обусловленным, а это означает, что синхронизируемые блоки (автоматы) должны иметь интерфейс с синхро-стратумом, обеспечивающий прямое или опосредованное (косвенное) взаимодействие типа «запрос-ответ» (см. рис. 8). В этом интерфейсе сигнал локального логического времени может и должен рассматриваться как сигнал «запрос» и, получив его, блок (автомат) должен формировать сигнал «ответ», разрешающий синхро-стратуму формировать следующий шаг локального времени. Как и какие дополнения или изменения должны быть сделаны, чтобы блок синхронного прототипа мог быть использован во взаимодействии с синхро-стратумом, - это вопрос конкретного проектирования. Проектировщик может
3 Такое разделение является одной из привлекательных черт синхронных моделей.
4Хотя такое утверждение в явном виде в статье не содер-
жится.
использовать широкий спектр возможных решений, от самосинхронизации до параллельной встроенной задержки. Важно одно: задача может быть решена децентрализовано независимыми и, быть может, различными способами для разных блоков. Такая свобода в решении задачи организации локального временного интерфейса позволяет наряду с известными системами синхронизации: FS - полностью синхронная (общие часы), FA - полностью асинхронная (самосинхронная и др.), LAGS - локально асинхронная - глобально синхронная, GALS - глобально асинхронная -локально синхронная, выделить еще одну: GALA
- глобально асинхронная - локально произвольная (система с синхро-стратумом).
И, наконец, последний вопрос: «Может ли любая задача, решаемая синхронным массивом из клеточных автоматов, быть решена соответствующим массивом с синхро-стратумом? ».
Ответ на этот вопрос связан с трактовкой и пониманием понятия системного времени. Одна из трудных задач для асинхронного массива клеточных автоматов - это задача взаимодействия фронтов волн, распространяющихся во встречных направлениях, при реализации волновых алгоритмов. Хотя эта задача в принципе решаема1, при попытках ее прямого решения в структуре асинхронных массивов2 авторам не всегда удается избежать конфликтных3 ситуаций. Введение синхро-стратума снимает проблему асинхронного проектирования и, если алгоритм взаимодействия реализуем в синхронном прототипе, то он автоматически реализуем в асинхронном варианте. Однако, поскольку в синхронном варианте одновременность в физическом времени понимается как одновременность в логическом времени4, то, по-видимому, задачи, так или иначе связанные с синхронизацией в физическом времени, в принципе не могут быть перенесены из синхронных массивов на асинхронные. Типичным примером является задача Дж. Майхилла о синхронизации цепи стрелков [16, 17]. Для синхронного массива кле-
точных автоматов задача формулируется следующим образом.
Имеется одномерный массив из автоматов Мура с двухсторонним взаимодействием. Каждый из N автоматов имеет п внутренних состояний (п не зависит от ./V) и в начальный момент времени Т - О все автоматы находятся в пассивном состоянии Б0. В момент времени Т = 1 на крайний автомат массива поступает внешний инициализирующий сигнал. В момент времени Т = 2ЛГ все автоматы должны одновременно перейти в финальное состояние5
Все известные решения этой задачи базируются на последовательном делении отрезков массива пополам путем сравнения скоростей распространения сигналов. Поскольку скорости распространения сигналов (задержки сигналов в автоматах) измеряются в единицах логического времени, то переход от синхронного прототипа к асинхронному массиву прост и очевиден. Однако момент синхронизации (перехода каждого автомата в финальное состояние) происходит при значении его локального времени, равном 2М, а мы уже отмечали выше, что в асинхронном массиве одни и те же значения локального логического времени могут существовать в различные моменты физического времени, и задача теряет свой первоначальный смысл.
Приведенная задача теряет свой первоначальный смысл для внешнего наблюдателя, являющегося частью внешнего физического мира с единым физическим временем. Однако, если внешним наблюдателем является искусственная система со своей логической организацией, то могут быть найдены осмысленные интерпретации асинхронного в физическом времени решения этой задачи. Так или иначе проблема синхронизации цепи стрелков демонстрирует те трудности, которые возникают или могут возникнуть при организации в реальном времени интерфейса между искусственной системой и внешним физическим миром. Но это уже тема другой статьи.
Автор пользуется приятной возможностью выразить свою искреннюю признательность профессору К.Неханиву (Университет Аид зу, Япония ) за приглашение прочитать на рабочем семинаре «Полугруппы и инженерная алгебра» лекцию, которая легла в основу этой статьи, доктору Т. А. Чу (Acorn Networks Inc., USA ) и профессору В. Мараховскому ( Университет Айдзу, Япония ), с которыми автор в течение нескольких лет работал над проблемами синхро-стратума, а также В. Смоленскому (Университет Айдзу, Япония ) за огромную помощь в подготовке этой статьи.
1 И это следует из нашего изложения (см. также [15]) .
2 Как, например, в случае counter-flow архитектуры [18].
3 Арбитражных. ---------
4 С точностью до длительности синхротакта. 5 Вся цепь стрелков должна одновременно выстрелить.
1. Reichenbach H. The Direction of Time / Ed. M. Reichen-bach. - University of California Press, Berkeley and Los Angeles, 1958.
2. Reichenbach II. The philosophy of space & time. -New York, 1958.
3. Von WrigtG.H. Explanation and Understanding. -London, 1971.
4. Yang Z., Marsland T. Global States and Time in Distributed Systems. - IEEE Computer Society Press, Los Alamos, Ca., 1994.
5. Muller D. E. A theory of asynchronous circuits // Report of University of Illinois. - 1955. - N 66.
6. Muller D. E., Bartky W. C. A theory of asynchronous circuits. I. IL // Report of University of Illinois. 1956.-N75; 1957.-N78.
7. Miller R. E., Switching Theory. Sequential circuits and machines. Vol. II. - John Wiley & Sons. Inc., 1966.
8. Varshavsky V. Hardware support of parallel asynchronous processes. - Helsinki University of Technology, Digital Systems Laboratory, Series A: Research Reports. -N 2, Sept. 1987.
9. Self-timed control of concurrent processes / Ed. V. Varshavsky. - Kluwer Academic Publishers, 1990.
10. Kishinevsky M., Kondratiev A., Taubin A., Varshavsky V. Concurrent hardware. - John Wiley & Sons, 1994.
11. Varshavsky V., Chu T. A. Self-timing - tools for hardware support of parallel, concurrent and event-driven process control // Proceedings of the Conference on Massively Parallel Computing Systems (MPCS’94), May 1994. - P. 510-515.
12. Varshavsky V., Marakhovsky V., Chu T. A. Logical timing (Global synchronization of asynchronous arrays) // Parallel Algorithm/Architecture Synthesis International Symposium, Aizu-Wakamatsu, Japan. IEEE CS Press. - March 1995. - P. 130-138.
13. Varshavsky V. asynchronous interaction in massively parallel computing systems // IEEE First ICA3PP, Proceedings of IEEE First International Conference on Algorithms and Architectures for Parallel Processing, Vol. 2. - Brisbane, Australia. -P. 951-953.
14. Varshavsky V., Marakhovsky V., Chu T. A. Asynchronous timing of arrays with synchronous prototype// Proceedings of the Second International Conference on Massively Parallel Computing Systems (MPCS’96), May 1996. - P. 47-54.
15. Varshavsky V., Marakhovsky V. Global synchronization of asynchronous arrays in logical time // Proceedings of the Second Aizu International Symposium on Parallel Algorithm / Architecture Synthesis, Aizu-Wakamatsu, Japan. IEEE CS Press, March 1997. P. 207-215.
16. Goto E. A minimum time solution of the firing squad problem // Dittoed course notes for applied mathematics 298. - Harvard University, May 1962.
17. Varshavsky V., Marakhovsky V., Peschansky V. Synchronization of Interacting Automata, Math. System Theory. - 1970. - Vol. 4. - N 3.
18. Sproull R. F., Sutherland I. E., Molnar C. E. Counter flow pipeline processor architecture /./ Technical Report SMLITR-94-25, SUN Microsystems Laboratories Inc. CA 94043, April 1994.
19. Varshavsky V. Logic design and quantum challenge // Proceedings of International Workshop on Physics and Computer Modeling of Devices Based on Low-DimensionaJ Structures. Aizu-Wakamatsu, Japan. IEEE CS Press. - Nov. 1995.