Смекни!
smekni.com

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

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

2.3 Архитектурные особенности

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

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

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

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

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

5. Индивидуальность системного кода и использование непривилегированным пользователем для программирования только языка высокого уровня позволяют создать новый и эффективный инструментарий для борьбы с вирусами.

6. Триады обеспечивают возможность одновременного чтения и исполнения нескольких команд без анализа их очередности выполнения и информационной связности т.е. обеспечивают «естественную» реализацию параллелизма. «Естественность» изначально обусловлена видом и механизмами исполнения команд. В мультиклеточном процессоре нет аппаратных средств обеспечивающих выявление информационных связей между выбранными операциями (командами) и распределение их по функциональным устройствам, т.е. нет динамического распараллеливания. Нет и статического распараллеливания, т.к. программа в виде триад хотя и описывает информационные связи, но имеет линейную форму и не содержит каких-либо указаний, что и как можно выполнять параллельно.

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

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

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

9. Асинхронная и децентрализованная организация мультиклеточного процессора, как на системном уровне – между клетками (при реализации параллелизма), так и на внутриклеточном уровне – между блоками клетки (при реализации команд), дополнительно обеспечивает:

· минимизацию номенклатуры объектов проектирования и уменьшение их сложности;

· уменьшение площади кристалла, так как объем оборудования при децентрализованном управлении меньше, чем при централизованном;

· увеличение производительности и сокращение энергопотребления в несколько раз (см. раздел «Реализация MCP – 1.1хх»), так как позволяет реализовать эффективный вычислительный процесс;

· при реализации, в перспективе, на одном кристалле десятков и сотен клеток, использование индивидуальной системы синхронизации для каждой клетки.

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

ЗАКЛЮЧЕНИЕ

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

Приложение 1

КЛАССИФИКАЦИЯ

ПРОГРАММНО-УПРАВЛЯЕМЫХ СИСТЕМ

1. Введение

Теория эволюционного развития компьютеров, опирается на внешнее сходство процессов развития вычислительных и биологических систем [1]. Но, если столь разные системы эволюционируют похожим образом, то можно задаться вопросом – насколько закономерно это сходство? Случайно оно или является следствием каких-то общих законов, определяющих принципы построения и развития данных систем? Если такие законы существуют, то учитывая качественные отличия и различную природу вычислительных и биологических систем, их существование может быть обусловлено только наличием общих факторов, связанных с организацией и/или функционированием данных систем, но не зависящих от их физической реализации.

Традиционный взгляд на вычислительную систему – это представление о ней как об инструменте, ускоряющем процесс вычислений, история которого насчитывает более 3000 лет. Акцент делается на действия системы, а не на то как она это делает. При таком взгляде найти что-то общее между современной версией счетов «абак» — компьютером и живым организмом невозможно.

Но, на вычислительную систему можно посмотреть и с другой стороны. С точки зрения ее организации. А именно, ее можно рассматривать как впервые созданный человеком простейший мир, состоящий из среды (памяти, каналов ввода-вывода) и субъектов действия (процессоров) — источников активности по отношению к окружающей их среде. Каждый процессор, в свою очередь, можно рассматривать как примитивный одноклеточный или многоклеточный организм, который также как и процессор является программно-управляемой структурой. При таком взгляде история вычислительных систем будет насчитывать немногим более 60 лет, но он позволяет провести прямые аналогии между нашим миром и создаваемыми нами мирами вычислительных систем.

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

Большинство видов живых существ состоит из эукариотических клеток, в том числе, все многоклеточные высокоорганизованные существа. Более того, только многоклеточность наиболее совершенного типа клеток – эукариотов (так называемая «истинная многоклеточность») дает новое качество и, как следствие, переход на следующую ступень эволюционного развития, включая появление разума.

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

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

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