
Лекции / ЛЕКЦИЯ22_09
.pdfпредсказании, результаты команд, которые были условно выполнены, должны быть аннулирова-
ны.
Пределом распараллеливания при суперкалярной обработке является запуск одновременно на исполнение в каждом такте примерно до 10 команд.
МУЛЬТИСКАЛЯРНЫЕ ПРОЦЕССОРЫ в своей архитектуреиспользуют
статический и динамический анализ кода с целью выявления резервов пара-л
лелизма уровня отдельных команд и программных сегментов с использованием информации от компилятора языка высокого уровня.
Программа разбивается на совокупность задачс помощью программных и аппаратных средств. ЗАДАЧА – часть программы, выполнению которой соот-
ветствует непрерывная область динамической последовательности команд.
Доступ к памяти осуществляется спекулятивно(условно, по предложению) без знания после-
довательности предшествующих команд загрузки или сохранения. Обращение к данным осуществ-
ляется параллельно многим процессорным элементам, обработка приостанавливается только в случае истинной зависимости данных.
Мультискалярный процессор можно рассматривать как параллельную вычислительную сис-
тему из совокупности процессорных элементов с программой-планировщиком, которая назначает задачи на процессорные элементы. Множество процессорных элементов, имеющие собственные внутренние механизмы последовательного выполнения команд, поддерживают выполнение мно-
жества задач.
Команды, содержащиеся внутри динамического окна исполнения, ограничены первой коман-
дой в самой ранней выполняемой задаче и последней командой в последней выполняемой задаче.
Если каждая задача может содержать циклы и обращения к функциям, эффективный размер окна может быть очень большим. Не все команды внутри этого широкого диапазона одновременно рас-
сматриваются для выполнения, а только ограниченный набор внутри каждого процессорного эле-
мента.
СИГНАЛЬНЫЕ ПРОЦЕССОРЫ используются для цифровой обработки сигналов. Их особенности – малоразрядная (сорок и менее разрядов) обработка чисел с плавающей точкой, преимущественное использование чисел с фиксиро-
ванной точкой разрядности 32 и менее, а также ориентация на несложную обра-
ботку больших массивов данных.
Особенности задач цифровой обработки сигналов– это поточный характер обработки больших объёмов данных в реальном режиме времени.
Это требует от технических средств высокой производительности и обеспече-
ния возможности интенсивного обмена с внешними устройствами. Это достигает-
ся благодаря специфической архитектуре и проблемно-ориентированной сис-
теме команд.
Сигнальные процессоры обладают высокой степенью специализации: используются методы сокращения длительности командного цикла(как и у универсальныхRISC-процессоров) - конвейе-
ризация на уровне отдельных микроинструкций, размещение операндов большинства команд в ре-
гистрах, использование теневых регистров для сохранения состояния вычислений или переключе-
ния контекста, разделение шин команд и данных (гарвардская архитектура).
В сигнальных процессорах имеется аппаратный умножитель, позволяющий выполнять умно-
жение двух чисел за один командный такт. В системе команд сигнальных процессоров имеются та-
кие операции, как умножение с накоплением (С:= А х В + С с указанным в команде числом выполне-
ний в цикле и с правилом изменения индексов используемых элементов массивов А и В), инверсия бит адреса, разнообразные битовые операции.
В сигнальных процессорах реализуется аппаратная поддержка программных циклов, кольце-
вых буферов. Один или несколько операндов извлекаются из памяти в цикле исполнения команды.
Реализация однотактного умножения и команд, использующих в качестве операндов содер-
жимое ячеек памяти, обуславливает сравнительно низкие тактовые частоты работы этих процессо-
ров.
Сигнальные процессоры выпускаются двух классов: для обработки данных в формате с фик-
сированной точкой и микропроцессоры, аппаратно поддерживающие операции над данными в формате с плавающей точкой. Формат с плавающей точкой необходим для задач, связанных с вы-
полнением интегральных и дифференциальных преобразований, где особую значимость имеет точность вычислений, обеспечить которую позволяет экспоненциальный формат представления данных.
Формат с плавающей точкой упрощает и ускоряет обработку, повышает надёжность програм-
мы, так как не требует операций округления и нормализации данных, отслеживания ситуаций поте-
ри значимости и переполнения. Но это ведёт к высокой сложности устройств с такой обработкой данных.
Существует иной подход к получению высокой производительности.
Большое число компонентов на полупроводниковом |
кристалле може |
|||||
быть |
задействовано |
для |
СИММЕТРИЧНОЙсоздания |
|
||
МУЛЬТИПРОЦЕССОРНОЙ |
СИСТЕМЫ |
С |
БОЛЕЕ |
ПРО |
||
ПРОЦЕССОРАМИ, обрабатывающими целочисленные |
операнды. Это так |
назы- |
|
ваемы МЕДИЙНЫЕ ПРОЦЕССОРЫ, используемые для обработки в реальном
времени видео- и аудиоинформации. У них пиковое значение производительности
составляет несколько миллиардов целочисленных операций в секунду.
ТРАНСПЬЮТЕРЫ. Концепция параллелизма позволяет повысить произ-
водительность и надёжность вычислительных систем, используя ПОСТРОЕНИЕ МАССОВО-ПАРАЛЛЕЛЬНЫХ СИСТЕМ на базе БИС.
Транспьютер (транзистор + компьютер) – это микрокомпьютер с собст-
венной внутренней памятью и линками (каналами) для соединения с другими транспьютерами.
Часто этот термин трактуется как обобщённое название микропроцессоров со встроенными межпроцессорными интерфейсами. Транспьютеры имеют высокую степень «функциональной самостоятельности», просты в интеграции и обладают периферийными устройствами.
Коммуникационные каналы транспьютера могут осуществлять обмен данными одновременно
свычислениями, практически не снижая производительность процессора. Транспьютеры относятся
кклассу RISC-процессоров. Их система команд ориентирована на поддержку языка высокого уров-
ня (ОССАМ). Это язык параллельного программирования, позволяющий задавать параллельные вычисления в соответствии с моделью взаимодействующих последовательных процессов(CSP).
Программа на этом языке представляет совокупность асинхронных совместно протекающих взаи-
модействующих процессов, выполняющихся асинхронно и параллельно.
Взаимодействие между процессами реализуется путём обмена данными по принципу"ранде-
ву". Эта модель параллельных вычислений поддерживается аппаратно реализованным диспетче-
ром, обеспечивающим выполнение параллельных процессов в режиме квантования времени. Ко-
личество одновременно выполняемых процессов не ограничено.
Одинаковая модель параллельных вычислений поддерживается как внутри отдельног транспьютера, так и в рамках мультитранспьютерной системы в целом. Поэтому программа, разра-
ботанная для мультипроцессорной системы может быть создана и отлажена на единственном про-
цессоре, а затем перенесена на сеть транспьютеров без существенных преобразований.
НЕЙРОПРОЦЕССОРЫ. Нейросетевой подход эффективен при решении
плохо формализованных задач, для которых трудно указать последователь-
ность действий. К ним относятся:
– распознавание образов;

– кластеризация данных – группировка данных по присущей им «близости»
(применение кластеризации связано со сжатием данных, анализом и поиском в них
закономерностей);
–аппроксимация функций;
–предсказание, когда по предыдущему поведению системы предсказывает-
ся её поведение в следующий момент времени;
–оптимизация;
–контекстно-адресуемая (ассоциативная) память. Такая память позволяет
считывать содержимое по частичному или искажённому представлению вход-
ных данных.
В отличие от формализованных задач, НЕЙРОННАЯ СЕТЬ МОЖЕТ ЭКСТРАПОЛИРОВАТЬ РЕЗУЛЬТАТ.
Учёт новых факторов нейросетью происходит за счёт переобучения сети с их участием, а не в переделывании формализованных прави.лПри ограничен-
ном числе экспериментальных данных нейронные сети являются аппаратом, позво-
ляющим максимально использовать имеющуюся информацию.
Общая идея применения нейронных сетей основана не на выполнении пред-
писанного алгоритма, а на запоминании сетью предъявленных ей примеров на этапе создания сети и выработке результато,всогласованных с запомненными
примерами.
В решаемых задачах точки многомерного пространства образуют области точек, обладающим одним и тем же свойством. Нейронные сети запоминают подобные области, а не отдельные точки, представляющие предъявленные при
обучении примеры.
При запоминании используется отдельный элементарный вычислитель,
называемый нейроном, а для запоминания всех областей используется объеди-
нение составляющих нейронов в параллельную структуру – нейросеть.
Нейрон задаётся совокупностью своих входов, весами входов, функцией состояния и функ-
цией активации. Функция состояния определяет состояние нейрона в зависимости от значений его входов, весов входов и, возможно, предыдущих состояний. Функция активации определяет выход-
ной сигнал нейрона как функцию его состояния. Нейронная сеть образуется путём объединения ориентированными взвешенными рёбрами выходов нейронов с входами, в том числе и с обратны-
ми связями, что делит нейросети на сети без циклов и циклические.
Принимая соглашение о тактировании сети(времени срабатывания нейронов), получают ап-
парат для задания алгоритмов посредством нейронных сетей. Разнообразие алгоритмов ничем не ограничено, так как можно использовать нейроны с различными функциями активации, состояния,
значениями весов и входов. Поэтому в терминах нейросетей можно описать как решение формали-
зованных, так и плохо формализуемых задач. Сети могут быть конструируемыми или обучаемыми.
В конструируемой сети число и тип нейронов, граф межнейронных связей, веса входов ней-
ронов определяются при создании сети, исходя из решаемой задачи. После конструирования, при подаче на входы частичной или ошибочной последовательности, сеть через какое-то время пере-
ходит в одно из устойчивых состояний, предусмотренных при конструировании. При этом на вхо-
дах сети появляется последовательность, признаваемая сетью как наиболее близкая к одной из из-
начально поданных.
В обучаемых сетях их графы межнейронных связей и веса входов изменяются при выполнении алго-
ритма обучения. По алгоритму обучения сети делятся на наблюдаемые, ненаблюдаемые и смешанные. Первые при обучении сравнивают заранее известный выход с получившимся значением. Вторые обучаются не зная заранее правильных выходных значений, но группируя "близкие" входные векторы так, чтобы они формиро-
вали один и тот же выход сети. При смешанном алгоритме обучения часть весов определяется при наблюдае-
мом, а часть при ненаблюдаемом обучении.
Обучения осуществляется путём предъявления примеров, состоящих из наборов входных данных в со-
вокупности с соответствующими результатами при наблюдаемом обучении и без последних при ненаблюдае-
мом. Возможности нейросетей определяются количеством уровней в них. Так одноуровневая сеть (персептрон)
не способна разделить на2 класса точки, соответствующие нулевым и единичным значениям булевой функ-
ции "исключающее ИЛИ". Двухуровневые уже справляются с этой задачей.
В ходе функционирования сеть относит предъявленный на её входы набор значений к конкретной -об ласти, что и является искомым результатом. Смысл процедуры обучения или конструированияотделение множества точек каждой области без включения посторонних точек и потери своих. Большинство алгоритмов обучения использует эвристические приёмы формирования графов сетей и весов рёбер.
Построение вычислительных систем, интерпретирующих нейросетевые алгоритмы, осущест-
вляется на традиционной элементной базе. Принятой в нейрокомпьютерном миреединицей изме-
рения производительности является «число соединений в секунду» CPS (connections per second).
Под соединением понимается умножение входа на вес и сложение с накопленной сумм.ойДругой показатель – число изменённых значений весов в секунду CUPS (connections update per second).
Разработка нейросетевых алгоритмов решения хорошо формализованных задач, кроме проче-
го, имеет целью создать класс параллельных , по-новому структурированных алгоритмов, искомых в как творческие находки.
Цифровые нейроБИС, как и аналоговые и гибридные, реализуют нейроалгоритмы, могут включать схемы настройки весов при обучении, предусматривать внешнюю загрузку весов. Циф-
ровые БИС для систолических систем и систем с одним потоком команд представляют собой близ-
кие к обычным RISC-процессарам устройства, обычно 16 или 32 разрядные процессоры.
НейроБИС с радиусными базисными функциями манипулируют с расстояниями между вход-
ным вектором и запомненными прототипными векторами весов входов нейронов. Если расстояние от прототипного вектора не превышает пороговой величины, то входной вектор относится к этому прототипу. Если расстояние между входным вектором и любым прототипным больше пороговой величины, то входной вектор запоминается как прототипный Если расстояние между входным век-
тором и несколькими прототипными не превышает пороговой величины, то величина порога этих
прототипных векторов уменьшается. Таким образом, многомерное входное пространство сегменти-
руется на совокупность областей, заданных прототипными векторами.
Аналоговые нейроБИС используют простые физические эффекты для выполнения нейросе-
тевых преобразований. Аналоговые элементы обычно меньше и проще цифровых, но для обеспе-
чения необходимой точности требуют тщательного проектирования.
Гибридные нейроБИС используют комбинацию аналогового и цифрового подходов– входы могут быть аналоговыми, веса загружаться как цифровые и выходы быть цифровыми.
Сигнальные микропроцессоры ориентированы на обработку векторов данных, что может быть использовано при интерпретации нейросетевых алгоритмов при умножении с накоплением векторов весов и векторов входов нейронов сети. Это обуславливает эффективную интерпретацию нейросетей микропроцессорами с мультимедийным расширением набора команд. Особенности проблемной специализации первого поколения нейроБИС адекватно учтены при мультимедийных расширениях системы команд таких микропроцессоров (напр., Pentium III).
Высокая тактовая частота и выполнение в одном такте совокупности команд целочисленной обработки делают эти микропроцессоры почти идеальным средством интерпретации нейросетей.
Важно то, что они в состоянии выполнять предобработку данных и обработку результатов работы нейросети.