Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оптимального управления 3 страница




К основным недостаткам SMP-систем относится плохая масштабируемость, связанная с тем, что в конкретный момент шина способна обрабатывать только одну транзакцию, и возни­кают проблемы разрешения конфликтов при одновременном обращении нескольких процессоров к одним и тем же областям общей физической памяти. Кроме того, системная шина имеет ограниченную (хоть и высокую) пропускную способность и ог­раниченное число слотов. В реальных системах используется не более 32 процессоров. При работе с SMP-системами используют

Рис. 2.8. Схематический вид SMP-архитектуры

так, называемую парадигму программирования с разделяемой памятью (shared memory paradigm).

Для построения масштабируемых систем на базе SMP-npo- цессоров используются кластерные или NUMA-архитектуры.

Гибридная архитектура NUiVlA (nonuniform memory access) (рис. 2.9) воплощает в себе удобства систем с общей памятью и относительную дешевизну систем с раздельной памятью. Глав­ная особенность такой архитектуры — неоднородный доступ к памяти за счет такой организации, что память является физи­чески распределенной по различным частям системы, но логи­чески объединяемой, так что пользователь видит единое адрес­ное пространство. Система состоит из однородных базовых модулей (плат), состоящих из небольшого числа процессоров и блока памяти. Модули объединены с помощью высокоскорост­ного коммутатора. Поддерживается единое адресное простран­ство, аппаратно поддерживается доступ к удаленной памяти, т. е. к памяти других модулей. При этом доступ к локальной па­мяти осуществляется в несколько раз быстрее, чем к удаленной.

По существу архитектура NUMA является МРР-архитекту- рой, где в качестве отдельных вычислительных элементов беруг- ся SMP (симметричная многопроцессорная архитектура) узлы. В такой структуре кэш-память принадлежит отдельному модулю, а не всей системе в целом, и данные в кэше одного модуля могут быть недоступны другому. Дальнейшим улучшением архитектуры

Рис. 2.9. Структурная схема компьютера с гибридной архитектурой: четыре процессора связываются между собой в рамках одного SMP-узла

NUMA является наличие когерентного кэша. Это так называемая архитектура cc-NUMA (Cache Coherent Non-Uniform Memory Access), в которой имеется "неоднородный доступ к памяти с обеспечением когерентности кэшей".

При когерентности кэшей все центральные процессоры полу­чают одинаковые значения одних и тех же переменных в любой момент времени. Для обеспечения синхронизации кэшей исполь­зуют механизм отслеживания шинных запросов (snoopy bus protocol) или выделяют специальную часть памяти, отвечаю­щую за отслеживание достоверности всех используемых копий переменных.

На настоящий момент максимальное число процессоров в сс- NUMA-системах может превышать 1000. Обычно вся система рабо­тает под управлением единой ОС, как в SMP. Возможны также варианты динамического "подразделения" системы, когда отдель­ные "разделы" системы работают под управлением разных ОС.

В кластерной архитектуре кластеры, которые представляют собой два или больше компьютеров (часто называемых узлами), объединяются при помощи сетевых технологий на базе шинной архитектуры или коммутатора в единый информационно-вычис­лительный ресурс. В случае сбоя какого-либо узла другой узел кла­стера может взять на себя нагрузку неисправного узла, и пользо­ватели не заметят прерывания в доступе. Возможности масштабируемости кластеров позволяют увеличивать производи­тельность приложений. Такие суперкомпьютерные системы яв­ляются самыми дешевыми, поскольку собираются на базе стан­дартной шинной архитектуры (Fast/Gigabit Ethernet. Mvrinet) и стандартных комплектующих элементов ("off the shelf'): про­цессоров, коммутаторов, дисков и внешних устройств.

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

Многопоточные системы используются для обеспечения единого интерфейса к ряду ресурсов, которые могут со време­нем произвольно наращиваться (или сокращаться) в размере.

Архитектура кластерной системы (способ соединения про­цессоров друг с другом) в большей степени определяет ее про­изводительность, чем тип используемых в ней процессоров.

Одной из перспективных структур и протокола для постро­ения больших систем является Scalable Coherent Interface /Local Area Multiprocessor/ (SCI/LAMP). Это расширяемый связной ин­терфейс (РСИ), представляющий собой комбинацию основных компьютерных шин, шин процессорной памяти, высокопроиз­водительных переключателей, местных и удаленных оптических связей, информационных систем, использующих связи точка- точка, обеспечивающих когерентное кэширование распределен­ной памяти и расширений. SCI/LAMP строится на интерфейсах общего применения, таких как PCI, УМЕ, Futurebus, Fastbus, и т.д., и I/O соединениях, таких как ATM или FibreChannel.

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

Узел РСИ (рис. 2.10) получает через входной канал пакеты символов, состоящих из двух байтов. В случае совпадения значе­ния первого символа с присвоенным узлу адресом пакет через входную FIFO передается в прикладные схемы узла на обработ­ку, например, процессором. При несовпадении пакет через про­ходную FIFO и ключ попадает в выходной канал. Ключ нужен для задержки проходящего пакета на время выдачи пакета обра­ботанной информации через выходную FIFO.

Узлы соединяются в так называемые колечки (рис 2.11), в которых пакеты продвигаются всегда в одном направлении

Рис. 2.10. Узел РСИ

 


Рис 2.11. Колечко РСИ

(на рисунке один из узлов выполнен в качестве переключателя на другие колечки). Переключатели позволяют образовать из колечек сети произволь­ной конфигурации, например регу­лярные структуры. В больших систе­мах, при большом числе узлов с процессорами, одиночное колечко становится неэффективным вследствие того, что слишком боль­шой получается длина структурного пути, выражаемая числом узлов, через которые проходят пакеты. Регулярные структуры позволяют существенно сократить путь. Колечки с & узлами РСИ соединены переключателями в я-мерные структуры, которые содержат: Уг = кп — геометрических узлов.При к > 2 образуются регулярные структуры, удобные для применения на практике, причем для больших систем ценны кубы и гиперкубы. Критическим параметром, влияющим на ве­личину производительности такой системы, является расстоя­ние (количество связей) между процессорами.

Рис. 2.12. Схема соединения процессоров в виде плоской решетки

Теория показывает, что если в системе максимальное рас­стояние между самым ближним процессором до самого даль­него больше 4, то такая система не может работать эффектив­но. Например, для 16 компьютеров наиболее естественное соединение в виде плоской решетки (рис. 2.12), где внешние концы используются для подсоеди­нения внешних устройств, не эф­фективно, так как максимальное расстояние между процессорами (расположенными на диагонали) окажется равным 6.

Поэтому для узловой системы ис­пользуют куб (если число процессо­ров равно 8) или гиперкуб, если чис­ло процессоров больше 8 (см. рис. 2.13).

Так, для соединения 16 процес­соров потребуется четырехмерный ги­перкуб, который получается за счет сдвига обычного куба.

4-мерный гиперкуб Рис. 2.13. Пример гиперкуба

 

Используются и другие топологии сетей связи: трехмерный тор, "кольцо", "звезда" и другие (рис. 2.14).

Наиболее эффективной является архитектура с топологией "толстого дерева" (fat-tree). Архитектура "fat-tree" (hypertree) предложена Лейзерсоном (Charles Е. Leiserson) в 1985 году.

Процессоры локализованы в листь­ях дерева, в то время как внутренние узлы дерева скомпонованы во внутрен­нюю сеть. Поддеревья могут общаться меж^у собой, не затрагивая более высо­ких уровней сети (рис. 2.15).

В кластерах, как правило, использу­ются операционные системы, стандартные для рабочих станций, чаще всего свобод­но распространяемые — Linux, FreeBSD, вместе со специальными средствами под­держки параллельного программирования и балансировки нагрузки. При работе с кластерами, так же как и с МРР-системами, используют Massive Passing Programming Paradigm — парадигму программирования с передачей данных (чаще всего — МР1).

В последнее время все более широкое распространение по­лучают транспьютеры, из которых строят системы класса Б. Транспьютер является однокристалльной системой, содержащей процессор и оперативную память. Для объединения транспьюте­ров в систему используют механизмы связи (линки), являющи­еся встроенными специальными средствами обмена сообщени­ями. Поскольку линки различных транспьютеров совместимы, то через коммутационную матрицу можно конфигурировать си­стемы различной мощности.

Действие ряда отрицательных факторов снижает реальный коэффициент ускорения вычислений за счет выполнения па­раллельных операций. К этим факторам относятся:


• недостаточный параллелизм алгоритма, т. е. отсутствие полной загрузки процессоров. Известно не так много алгорит­мов, в которых при их выполнении число параллельных ветвей сохранялось бы достаточно большим. Поэтому для эффективно­го использования ресурсов в таких системах целесообразно од­новременно выполнять несколько разных программ)

• конфликты и задержки при обращениях к общей памяти. При назначении каждому процессору локальной памяти снижа­ется коэффициент использования памяти;

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

Дальнейшее развитие архитектур MIMD связывается с ком­бинированием различных принципов вычислений. Наиболее эффективным является объединение архитектур MIMD и PVP. Другим примером является архитектура НЕР-1 (Heterogenerolis Element Processor} фирмы Denelcor. Особенностью НЕР-1 явля­ется организация мультипроцессора как нелинейной системы, состоящей из группы процессоров команд, каждый из которых генерирует "свой" процесс (поток команд). Обработка множе­ства формируемых таким образом процессов осуществляется на одном и том же арифметическом устройстве конвейерного типа в режиме разделения времени без использования коммутацион­ной сети, что значительно снижает стоимость системы, поскольку на реализацию АЛУ обычно приходится до 60 % аппаратных ре­сурсов центрального процессора.

Основным недостатком MIMD-архитектур является отсут­ствие возможности составления программ на стандартных язы­ках последовательного типа, в отличие от векторных суперЭВМ. Для эффективного программирования таких систем потребова­лось введение совершенно новых языков параллельного програм­мирования, таких, как Parallel Pascal, Modula-2, Occam, Ада, Val, Sisal и др., и создание новых прикладных пакетов программ.


Реализация алгоритмической структуры сильно связанных потоков требует организации принципа вычислений, отличного от фон-неймановского (управление потоком команд) и опреде­ляется как управление потоком данных (Data Flow). Этот принцип формулируется следующим образом: все команды выполняются только при наличии всех операндов (данных), необходимых для их выполнения. Поэтому в программах, используемых для пото­ковой обработки, описывается не поток команд, а поток данных. Отметим следующие особенности управления потоком данных, характерные для Data Flow:

• команду со всеми операндами (с доставленными операн­дами) можно выполнять независимо от состояния других ко­манд, т. е. появляется возможность одновременного выполне­ния множества команд (первый уровень параллелизма);

• отсутствует понятие адреса памяти, так как обмен данны­ми происходит непосредственно между командами;

• обмен данными между командами четко определен, по­этому отношение зависимости между ними обнаруживается легко (функциональная обработка);

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

Таким образом, параллелизм в таких системах может быть реализован на двух уровнях:

на уровне команд, одновременно готовых к выполнению и доступных для параллельной обработки многими процессора­ми (при наличии соответствующих операндов);

• на уровне транспортировки команд и результатов их вы­полнения через тракты передачи информации (реализуемые в виде сетей).

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

Для рассмотренной архитектуры существует ряд факторов, снижающих максимальную производительность:

• в случае, когда число команд, готовых к выполнению, меньше числа процессоров, имеет место недогрузка обрабаты­вающих элементов;

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

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

Необходимо упомянуть, что существуют и другие класси­фикации вычислительных систем, преследующие следующие цели:

облегчать понимание того, что достигнуто на сегодняшний день в области архитектур вычислительных систем, и какие ар­хитектуры имеют лучшие перспективы в будущем;

подсказывать новые пути организации архитектур — речь идет о тех классах, которые в настоящее время по разным причинам пусты;

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

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

процессор команд (IP) — функциональное устройство — ин­терпретатор команд;

процессор данных (DP) — функциональное устройство — преобразователь данных, иерархия памяти (IM,DM)— запоминающее устройство, переключатель—абстрактное устройство связи между про­цессорами и памятью.

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

Классификация Д. Скилликорна состоит из двух уровней. На первом уровне она проводится на основе восьми характеристик:

1) количество процессоров команд (IP);

2) число запоминающих устройств (модулей памяти) ко­манд (IM);

3) тип переключателя между IP и IM;

4) количество процессоров данных (DP);

5) число запоминающих устройств (модулей памяти) дан­ных (DM);

6) тип переключателя между DP и DM;

7) тип переключателя между IP и DP;

8) тип переключателя между DP и DP.

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

(n, п, п-п, п, n, пхп, п-п, нет), а архитектура — так, как показано на рис. 2.16:

 


Используя введенные характеристики и предполагая, что рассмотрение количественных характеристик можно ограничить только тремя возможными вариантами значений: 0, 1 и я, мож­но получить 28 классов архитектур.

В классах 1—5 находятся компьютеры типа dataflow и reduction, не имеющие процессоров команд в обычном понимании этого слова. Класс 6 — это классическая фон-неймановская последо­вательная машина. Все разновидности матричных процессоров содержатся в классах 7—10. Классы 11 и 12 отвечают компьюте­рам типа MISD-классификации Флинна и на настоящий мо­мент, по мнению автора, пусты. Классы с 13-го по 28-й занима­ют всесозможные варианты мультипроцессоров, причем в 13—20-м классах находятся машины с достаточно привычной архитектурой, в то время как архитектура классов 21—28 пока выглядит экзотично.

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

В классификации, предложенной А. Базу (A.Basu) (рис. 2.17), делается попытка описать любую вычислительную систему че­рез последовательность проектных решений.

На первом этапе определяется уровень параллелизма на уровне данных (обозначается буквой D на рис. 2.17), параллелизм на уровне команд обозначается буква О, если же компьютер спосо­бен одновременно выполнять целые последовательности команд, то рассматривается параллелизм на уровне задач — буква Т.

Второй уровень в классификационном дереве соответствует методу реализации алгоритма. Системам, использующим аппа­ратную (при помощи микросхем) реализацию алгоритмов це­ликом, например, быстрого преобразование Фурье или произ­ведения матриц, соответствует буква Сна рис. 2.17, а системам, использующим традиционный способ программной реализа­ции, — буква Р.

Третий уровень конкретизирует тип параллелизма, исполь­зуемого для обработки инструкций машины: конвейеризация инструкций (Р) или их независимое (параллельное) выполне­ние (Ра).Для случая конвейерного исполнения имеется в виду лишь конвейеризация самих команд.

 

 

Последний уровень данной классификации определяет спо­соб управления, принятый в вычислительной системе: синхрон­ный (5) или асинхронный (А).

Таким образом, например, конвейерные компьютеры и многие современные Л/Л'С-процессоры, разбивающие испол­нение всех инструкций на несколько этапов, в данной класси­фикации имеют обозначение OPPS. К векторным компьютерам подходит обозначение DPPfi. Матричные процессоры, в кото­рых целое множество арифметических устройств работает одно­временно в строго синхронном режиме, принадлежат к группе DPPaS. Data-flow компьютеры могут быть описаны либо как ОГРА, либо как ОРР А.

I ' а

Для описания систем с несколькими процессорами, исполь­зующими параллелизм на уровне задач, операций или данных, предлагается, используя букву Т, использовать знак "*" между символами, обозначающими уровни параллелизма, одновремен­но присутствующие в системе. Например, комбинация T*D оз­начает, что некоторая система может одновременно исполнять несколько задач, причем каждая из них может использовать век­торные команды. Очень часто в реальных системах присутствуют особенности, характерные для компьютеров из разных групп данной классификации. В этом случае для корректного описания автор использует знак "+". Например, практически все вектор­ные компьютеры имеют скалярную и векторную части, что мож­но описать как OPPS + DPPS, а описание системы с несколь­кими процессорами имеет вид T*(0*DPP.S + OPPS).

Ни один из рассмотренных принципов организации вычис­лительных систем не является абсолютно лучшим для всех при­кладных областей. Более того, существуют задачи, которые явля­ются не формализуемыми и которые нельзя представить в виде рассмотренных классических алгоритмических структур. К ним относятся: различные аспекты синтеза и распознавания речи; распознавание символов; задачи классификации объектов; субъек­тивные процессы принятия решений (техническая и медицинс­кая диагностика, прогнозирование на финансовом рынке); про­ектирование сложных объектов; сложные проблемы управления, требующие идентификации и выработки решения для систем в реальном времени; создание адекватных систем биологического зрения; моделирование функций понимания, восприятия и др. Следовательно, требуется разработка нозых принципов вычис­лений, позволяющих ставить и решать задачи подобного типа, а также способных значительно повысить скорость обработки традиционных вычислительных алгоритмов.

В основе любой вычислительной машины, в том числе и управляющей, лежат автоматические системы дискретного действия для переработки информации, которые в кибернети­ке обычно называют "автоматами" или "конечными автомата­ми". Эти автоматы, реализуемые в виде блоков, строятся на различных элементах. Реально вся цифровая техника может быть описана теорией цифровых автоматов. Комбинационные схе­мы, рассыпная логика и программируемая логика, устройства с памятью — все это конечные цифровые автоматы. Любой мик­роконтроллер и процессор — это тоже цифровой автомат с ги­гантским числом состояний, переходы в котором определяют­ся внешней программой. Любая программа может быть составлена на основе очень ограниченного числа команд, опи­сывающих простейшие операции, что позволяет создавать сис­темы автоматического программирования.

Конечные автоматы имеют конечное число входов, воспри­нимающих информацию, и конечное число выходов для выдачи обработанной информации (рис. 2.18). Иначе говоря, цифровой автомат — это устройство, которое обрабатывает входные дан­ные. При этом воспринимаемая и вы­даваемая информация изображается символами, множество которых ко­нечно и физически реализуемо в виде квантованных сигналов, обычно об­разующих последовательности уров­ней напряжений, соответствующих "нулю" и "единице" двоичного кода.

С другой стороны, существует большой класс устройств, которым

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

Взаимодействие между блоками УВМ (различными конеч­ными автоматами) осуществляется устройством управления (су­первизором), он также является конечным автоматом, и его действие задается предписанным алгоритмом управляющей про­граммы.

Физическая реализация любого автомата обычно осуществ­ляется путем соединения (коммутации) некоторого набора эле­ментарных компонентов или элементов, осуществляющих эле­ментарные логические или алгебраические по модулю 2 операции ("и", "'или", либо сложение и умножение по модулю 2).

Рассмотрим автоматы, реализующие только так называемые детерминистские процессы переработки информации. В этом слу­чае последовательности символов, вырабатываемые на выходах автомата, однозначно определяются входными

 

последовательностями. Такие автоматы можно назвать детерминистскими в отличие от вероятностных автоматов, вырабатывающих случайные последовательности (при фиксированных входных последователь­ностях). В вероятностных автоматах появление того пли иного символа имеет ту или иную вероятность. Можно указать три воз­можных типа автомата, качественно отличающихся друг от дру­га в функциональном отношении. В устройствах первого типа набор выходных сигналов, вырабатываемый в момент времени t + At, зависит только от набора входных сигналов, поданных в момент времени Г, и не зависит от сигналов, поступивших на входы автомата в предшествующее время. Интервал At — время реакции автомата — остается одинаковым для всех t при любых допустимых наборах входных сигналов. Это означает, что воз­буждение одних и тех же входов автомата, в какой бы момент времени оно ни произошло, всегда вызывает возбуждение соот­ветствующих им одних и тех же выходов. Такое однозначное и неизменное во времени соответствие между наборами вход­ных и выходных сигналов обусловливается неизменностью внут­реннего состояния автомата и независимостью этого состояния от внешнего воздействия.

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

Зависимость между возбуждениями входов и выходов шиф­ратора имеет вид. показанный в табл. 2.1.


В автоматах второго типа набор выход­ных сигналов, вырабатываемый в некото­рый квантованный момент времени, зави­сит не только от сигналов, поданных в тот же момент (здесь, как и в дальнейшем из­ложении, удобно полагать, что At = 0), но и от сигналов, поступивших ранее. Эти предшествующие внешние воздействия (или их фрагменты) фиксируются в авто­мате путем изменения его внутреннего состояния. Реакция такого детерминист­ского автомата однозначно определяется

 


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

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

Если конечный автомат снабдить внешней памятью и посту­лировать допустимость ее неограниченного расширения, то такая система будет принадлежать к автоматам третьего типа, называ­емым машинами Тьюринга. А. Тьюринг показал, что с помощью автомата этого типа может быть реализован любой алгоритм пе­реработки информации. Изучение машин Тьюринга представляет большой интерес с точки зрения теории алгоритмов.В теории автоматов наибольшее внимание уделяется изуче­нию конечных автоматов второго типа, поскольку они состав­ляют основу практически реализуемых систем для обработки дискретной информации, в том числе и вычислительных ма­шин (компьютеров, микроконтроллеров и др.). Автоматы пер­вого типа могут рассматриваться как частный случай конечных автоматов.

 

 

В наиболее общей форме конечные автоматы (КА) в соот­ветствии с [9] можно рассматривать как динамические системы логического типа. При этом математическую модель произволь­ной логической системы можно представить в виде системы:

 

 


где x(t), y(t), u(t), z(t) — двоичные [0,1 ] векторы; А, В, G, D, F, К H— двоичные [0,1] матрицы; A — квадратная не особенная; г, s, q — постоянные двоичные [0,1] векторы; t = 1,2, 3,..., Т— параметр целого типа; — оператор сложения по модулю 2 (mod2).

В выражении (2.1) оператор & означает, что компонентами вектора z(t) являются логические (или алгебраические по mod 2) произведения компонент вектора x(t), номера которых задаются ненулевыми (единичными) значениями компонент матрицы К. Таким образом, компонентами вектора z(t) являются конъюнк­ции из компонент вектора x(t).




Поделиться с друзьями:


Дата добавления: 2015-04-29; Просмотров: 379; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.084 сек.