Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции / ЛЕКЦИЯ22_09

.pdf
Скачиваний:
49
Добавлен:
15.06.2014
Размер:
301.01 Кб
Скачать

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

ны.

Пределом распараллеливания при суперкалярной обработке является запуск одновременно на исполнение в каждом такте примерно до 10 команд.

МУЛЬТИСКАЛЯРНЫЕ ПРОЦЕССОРЫ в своей архитектуреиспользуют

статический и динамический анализ кода с целью выявления резервов пара

лелизма уровня отдельных команд и программных сегментов с использованием информации от компилятора языка высокого уровня.

Программа разбивается на совокупность задачс помощью программных и аппаратных средств. ЗАДАЧА часть программы, выполнению которой соот-

ветствует непрерывная область динамической последовательности команд.

Доступ к памяти осуществляется спекулятивно(условно, по предложению) без знания после-

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

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

Мультискалярный процессор можно рассматривать как параллельную вычислительную сис-

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

жества задач.

Команды, содержащиеся внутри динамического окна исполнения, ограничены первой коман-

дой в самой ранней выполняемой задаче и последней командой в последней выполняемой задаче.

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

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

мента.

СИГНАЛЬНЫЕ ПРОЦЕССОРЫ используются для цифровой обработки сигналов. Их особенности – малоразрядная (сорок и менее разрядов) обработка чисел с плавающей точкой, преимущественное использование чисел с фиксиро-

ванной точкой разрядности 32 и менее, а также ориентация на несложную обра-

ботку больших массивов данных.

Особенности задач цифровой обработки сигналов– это поточный характер обработки больших объёмов данных в реальном режиме времени.

Это требует от технических средств высокой производительности и обеспече-

ния возможности интенсивного обмена с внешними устройствами. Это достигает-

ся благодаря специфической архитектуре и проблемно-ориентированной сис-

теме команд.

Сигнальные процессоры обладают высокой степенью специализации: используются методы сокращения длительности командного цикла(как и у универсальныхRISC-процессоров) - конвейе-

ризация на уровне отдельных микроинструкций, размещение операндов большинства команд в ре-

гистрах, использование теневых регистров для сохранения состояния вычислений или переключе-

ния контекста, разделение шин команд и данных (гарвардская архитектура).

В сигнальных процессорах имеется аппаратный умножитель, позволяющий выполнять умно-

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

кие операции, как умножение с накоплением (С:= А х В + С с указанным в команде числом выполне-

ний в цикле и с правилом изменения индексов используемых элементов массивов А и В), инверсия бит адреса, разнообразные битовые операции.

В сигнальных процессорах реализуется аппаратная поддержка программных циклов, кольце-

вых буферов. Один или несколько операндов извлекаются из памяти в цикле исполнения команды.

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

жимое ячеек памяти, обуславливает сравнительно низкие тактовые частоты работы этих процессо-

ров.

Сигнальные процессоры выпускаются двух классов: для обработки данных в формате с фик-

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

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

Формат с плавающей точкой упрощает и ускоряет обработку, повышает надёжность програм-

мы, так как не требует операций округления и нормализации данных, отслеживания ситуаций поте-

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

Существует иной подход к получению высокой производительности.

Большое число компонентов на полупроводниковом

кристалле може

быть

задействовано

для

СИММЕТРИЧНОЙсоздания

 

МУЛЬТИПРОЦЕССОРНОЙ

СИСТЕМЫ

С

БОЛЕЕ

ПРО

ПРОЦЕССОРАМИ, обрабатывающими целочисленные

операнды. Это так

назы-

 

ваемы МЕДИЙНЫЕ ПРОЦЕССОРЫ, используемые для обработки в реальном

времени видео- и аудиоинформации. У них пиковое значение производительности

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

ТРАНСПЬЮТЕРЫ. Концепция параллелизма позволяет повысить произ-

водительность и надёжность вычислительных систем, используя ПОСТРОЕНИЕ МАССОВО-ПАРАЛЛЕЛЬНЫХ СИСТЕМ на базе БИС.

Транспьютер (транзистор + компьютер) – это микрокомпьютер с собст-

венной внутренней памятью и линками (каналами) для соединения с другими транспьютерами.

Часто этот термин трактуется как обобщённое название микропроцессоров со встроенными межпроцессорными интерфейсами. Транспьютеры имеют высокую степень «функциональной самостоятельности», просты в интеграции и обладают периферийными устройствами.

Коммуникационные каналы транспьютера могут осуществлять обмен данными одновременно

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

кклассу RISC-процессоров. Их система команд ориентирована на поддержку языка высокого уров-

ня (ОССАМ). Это язык параллельного программирования, позволяющий задавать параллельные вычисления в соответствии с моделью взаимодействующих последовательных процессов(CSP).

Программа на этом языке представляет совокупность асинхронных совместно протекающих взаи-

модействующих процессов, выполняющихся асинхронно и параллельно.

Взаимодействие между процессами реализуется путём обмена данными по принципу"ранде-

ву". Эта модель параллельных вычислений поддерживается аппаратно реализованным диспетче-

ром, обеспечивающим выполнение параллельных процессов в режиме квантования времени. Ко-

личество одновременно выполняемых процессов не ограничено.

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

ботанная для мультипроцессорной системы может быть создана и отлажена на единственном про-

цессоре, а затем перенесена на сеть транспьютеров без существенных преобразований.

НЕЙРОПРОЦЕССОРЫ. Нейросетевой подход эффективен при решении

плохо формализованных задач, для которых трудно указать последователь-

ность действий. К ним относятся:

распознавание образов;

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

(применение кластеризации связано со сжатием данных, анализом и поиском в них

закономерностей);

аппроксимация функций;

предсказание, когда по предыдущему поведению системы предсказывает-

ся её поведение в следующий момент времени;

оптимизация;

контекстно-адресуемая (ассоциативная) память. Такая память позволяет

считывать содержимое по частичному или искажённому представлению вход-

ных данных.

В отличие от формализованных задач, НЕЙРОННАЯ СЕТЬ МОЖЕТ ЭКСТРАПОЛИРОВАТЬ РЕЗУЛЬТАТ.

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

ном числе экспериментальных данных нейронные сети являются аппаратом, позво-

ляющим максимально использовать имеющуюся информацию.

Общая идея применения нейронных сетей основана не на выполнении пред-

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

примерами.

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

обучении примеры.

При запоминании используется отдельный элементарный вычислитель,

называемый нейроном, а для запоминания всех областей используется объеди-

нение составляющих нейронов в параллельную структуру нейросеть.

Нейрон задаётся совокупностью своих входов, весами входов, функцией состояния и функ-

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

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

ми связями, что делит нейросети на сети без циклов и циклические.

Принимая соглашение о тактировании сети(времени срабатывания нейронов), получают ап-

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

значениями весов и входов. Поэтому в терминах нейросетей можно описать как решение формали-

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

В конструируемой сети число и тип нейронов, граф межнейронных связей, веса входов ней-

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

ходит в одно из устойчивых состояний, предусмотренных при конструировании. При этом на вхо-

дах сети появляется последовательность, признаваемая сетью как наиболее близкая к одной из из-

начально поданных.

В обучаемых сетях их графы межнейронных связей и веса входов изменяются при выполнении алго-

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

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

мом, а часть при ненаблюдаемом обучении.

Обучения осуществляется путём предъявления примеров, состоящих из наборов входных данных в со-

вокупности с соответствующими результатами при наблюдаемом обучении и без последних при ненаблюдае-

мом. Возможности нейросетей определяются количеством уровней в них. Так одноуровневая сеть (персептрон)

не способна разделить на2 класса точки, соответствующие нулевым и единичным значениям булевой функ-

ции "исключающее ИЛИ". Двухуровневые уже справляются с этой задачей.

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

Построение вычислительных систем, интерпретирующих нейросетевые алгоритмы, осущест-

вляется на традиционной элементной базе. Принятой в нейрокомпьютерном миреединицей изме-

рения производительности является «число соединений в секунду» CPS (connections per second).

Под соединением понимается умножение входа на вес и сложение с накопленной сумм.ойДругой показатель – число изменённых значений весов в секунду CUPS (connections update per second).

Разработка нейросетевых алгоритмов решения хорошо формализованных задач, кроме проче-

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

Цифровые нейроБИС, как и аналоговые и гибридные, реализуют нейроалгоритмы, могут включать схемы настройки весов при обучении, предусматривать внешнюю загрузку весов. Циф-

ровые БИС для систолических систем и систем с одним потоком команд представляют собой близ-

кие к обычным RISC-процессарам устройства, обычно 16 или 32 разрядные процессоры.

НейроБИС с радиусными базисными функциями манипулируют с расстояниями между вход-

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

тором и несколькими прототипными не превышает пороговой величины, то величина порога этих

прототипных векторов уменьшается. Таким образом, многомерное входное пространство сегменти-

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

Аналоговые нейроБИС используют простые физические эффекты для выполнения нейросе-

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

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

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

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

Высокая тактовая частота и выполнение в одном такте совокупности команд целочисленной обработки делают эти микропроцессоры почти идеальным средством интерпретации нейросетей.

Важно то, что они в состоянии выполнять предобработку данных и обработку результатов работы нейросети.

Соседние файлы в папке Лекции