Смекни!
smekni.com

Концепция 8 1 Описание алгоритма в виде «триад» 8 2 Принципы построения процессора 11 (стр. 7 из 7)

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

Первое – множество программ любой архитектуры с контекстно-свободной программой счетно. Множество программ любой архитектуры с контекстно-зависимой программой имеет мощность континуума.

Второе – архитектуры с контекстно-зависимой программой в общем случае не могут быть представлены машиной Тьюринга.

3. Общность организации биологических и вычислительных систем

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

Каждая клетка особи представляет собой программно-управляемую структуру, обеспечивающую синтез белка. Управление этим процессом осуществляется молекулами РНК, которые формируются на основании информации, хранящейся в молекулах ДНК. Источником РНК в клетке является ядро. Источником белка – рибосомы, которые синтезируют белок на основании информации, содержащейся в рибосомной, транспортной и информационной РНК.

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

Очевидно, что информационное взаимодействие необходимо и для согласованной работы клеток в многоклеточном организме. Детали этого взаимодействия, даже на уровне белкового обмена, до конца не ясны. Более того, только белковым взаимодействием невозможно объяснить ту точность процессов онтогенеза, которые проходят в должное время и в должном месте. Общепризнанно, что должны быть еще какие-то механизмы взаимодействия клеток. Так, в последнее время в качестве кандидата на «систему управления» клетки рассматривается ее цитоскелет.

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

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

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

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

Во-первых, пару УУ+ИУ можно рассматривать как простейшую клетку, а процессор можно рассматривать как примитивную одноклеточную или многоклеточную особь, состоящую, соответственно, из одной или более клеток, непосредственно связанных между собой потоками команд и данных. Также как и особь процессор – это неделимая и целостная организационная единица. Ее невозможно разделить на части не нарушив ее функционирование или не потеряв ее «индивидуальность». Для сравнения, выход из строя процессора в мультипроцессорной или многомашинной системе не влияет на работоспособность других процессоров этой системы, но влияет на функционирование системы в целом. Т.е. на объект другого организационного уровня, частью которого он является.

Во-вторых, наличие непосредственных связей между устройствами процессора ограничивает организацию вычислительных систем всего тремя (!) формами – монопроцессор (одноклеточная особь), система процессоров (колония), мультиклеточный процессор (многоклеточная особь).

В-третьих, возможные функциональные зависимости между потоками команд и данных позволяют построить всего два (!) семейства принципиально разных процессорных архитектур. Первое можно рассматривать как «прокариотов», а второе как «эукариотов».

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

4. Мультиклеточный процессор

Первым параллельным процессором из класса архитектур с хранимым алгоритмом является создаваемый в настоящее время мультиклеточный процессор вида MI(mi)MD(mi,md). Он образован множеством независимо, но согласованно, функционирующих клеток, связанных коммутационной средой.

Машинный язык процессора является развитием языка триад.

Текст программы на языке триад не связан каким-либо образом с количеством клеток. Эта «ресурсная» независимость, неупорядоченность команд внутри их контекстной последовательности (линейного участка) и рассылка всем клеткам всех получаемых результатов обеспечивают «естественную» реализацию параллелизма (без решения задачи распараллеливания), а также эффективное масштабирование процессора [8].

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

Одновременно с этим, по сравнению с традиционными фон-неймановскими решениями, улучшаются и характеристики процессора. Первые оценки позволяют говорить о росте производительности в 2-4 раза и снижении энергопотребления в 10 – 15 раз.

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

· сохраняется все программное обеспечение, созданное на традиционных императивных языках высокого уровня, и повышается его эффективность;

· процесс компиляции с языка высокого уровня, фактически, ограничивается начальной машинно-независимой («front-end») фазой, что позволяет резко сократить затраты на разработку компиляторов;

· исчезает понятие «программирование на ассемблере», поскольку язык процессора не наглядный и поэтому практически «не программируемый»;

· наиболее эффективной формой существования программ становится исходный текст и, соответственно, программы становятся открытыми.

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

5. Заключение

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

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

Список литературы

·Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем. СПб.: Питер, 2004. 668c.

·Винер Н. Кибернетика или управление и связь в животном и машине – М.: Советское радио, 1968. 326c.

·Классификации архитектур вычислительных систем. http://www.parallel.ru.

·Flynn M. Very high-speed computing system // Proc. IEEE. 1966. N 54. P.1901-1909.

·Патент № 2179333 RU «Синергическая вычислительная система».

·Патент № 2198422 RU «Асинхронная синергическая вычислительная система».

·Streltsov N., Sparso J., Bokov S.,Kleberg S. The Synputer – A Novel MIMD Processor Targeting High Performance Low Power DSP Applications // International Signal Processing Conference, Dallas, 1-3 April, 2003. P. CD-ROM.

·Стрельцов Н.В. Реализация параллелизма в мультиклеточном процессоре // Труды III Международной научной конференции «Параллельные вычисления и задачи управления». М.: Институт проблем управления, 2-4 октября 2006. С.337-347.