Усложнение ПЭ


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

Систолические алгоритмы


1. Символьная обработка: поиск вхождения подстроки в строку. Предположим у нас имеется 2 строки: А=а1,а2,а3…аn и В=b1,b2,b3,…bm причем n>m. Ставится задача поиска вхождения строки В в строку А. Оказывается этих точек вхождения может быть не одна. Упростим задачу и будем считать, что bi и аi это двоичные цифры, то есть аi??0,1?, bi??0,1,??. Результат мы должны Читать далее

Особенности многопроцессорных систем


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

Процессы


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

Многопроцессорные вычислительные комплексы


МПВК(мультипроцессор) – это комплекс, состоящий из нескольких процессоров, работающих под управлением единой ОС, организующей весь процесс обработки данных в комплексе. МПВК могут быть разделены на 2 типа: 1. С общей памятью 2. С распределенной памятью 3. С динамической структурой

Мультипроцессоры с обшей памятью


Типы структурной организации МПВК с общей памятью: — С общей шиной; — С перекрестной коммутацией; — С многовходовыми ОЗУ. С общей шиной.

Многопроцессорные комплексы с распределенной памятью(МПВК)


Многопроцессорные комплексы с распределенной памятью(МПВК) рзделяются на: — Многопроцессорные ВС(тип 1) – многомашинные; — Многопроцессорные ВС(тип 2) – многопроцессорные. МПВК (тип 1) – исторический экскурс:

Микролокальные сети


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

Топология коммуникационных сетей


n – число уровней в сети; N – число элементарных машин в сети; d – коммуникационный диаметр – это расстояние между наиболее удаленными элементарными машинами в сети; при отсутствии прямых связей между ЭМ пересылка сообщений осуществляется через промежуточные ЭМ – ретрансляторы. d характеризует число ретрансляций при пересылке сообщений между удаленными(самыми удаленными) ЭМ.

Обзор языка ОССАМ


1. Парадигма программирования – набор параллельных процессов, взаимодействующих через программные каналы путем «столкновений» в канале, когда один процесс выводит, а другой вводит данные, путем передачи сообщения. 2. Типы данных: BYTE,BOOL,INT16,INT32,INT,REAL32,REAL64,CHAN. 3. Объявление данных:

Связь по каналам


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

Последовательные и параллельные процессы


Программа на языке ОККАМ состоит из объявлений, присваиваний и ввода/вывода последовательного и параллельного. Для организации последовательных процессов используется ключевое слово SEQ. После 2-х пробелов идет перечисление последовательно выполняемых процессов. Выполнение параллельных процессов – PAR. Еще есть параллельное выполнение процессов – ALT.

Конвейерная обработка


Нарисуем схему этого конвейера, а потом напишем программу, которая этот конвейер реализует. Конвейер будет состоять из 3 стадий, то есть будет 3 независимых процесса, которые как правило будут распределены на разные процессоры в этой многопроцессорной сети. Мы данные подаем на один процесс, он их вычисляет, результат подаем на 2 процесс, она этот результат должен опять Читать далее

Волновая (систолическая) обработка


Рассматривая волновые системы, мы рисовали следующий рисунок: двумерный массив устройств и между ними по каким-то регулярным связям передаются данные. Предположим рассмотрим сложение матриц.

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


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

Основа построения МДА


Это автоматный способ организации вычислений, основанный на теории динамических автоматных сетей. Программа МДА – это сеть, каждому узлу которой соответствует некоторый автомат, способный не только изменять свое состояние и перерабатывать данные, но также изменять свои связи с другими узлами, порождать новые автоматы(узлы), уничтожать самого себя или узлы с которыми он связан. Заметьте, что систем в Читать далее

258. В темной комнате


Я вошел в комнату, чтобы взять из шкафа свои ботинки и носки. В комнате спала сестра, и было совсем темно. Я хорошо знал, в каком месте шкафа находятся мои три пары ботинок — все разных фасонов, и 12 пар носков — черных и коричневых. Мне не хотелось зажигать свет, чтобы не разбудить сестру.

Нейронные сети и нейрокомпьютеры


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

Искусственные нейроны


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

Нейронные сети


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

Обучение нейронных сетей


Фундаментальным свойством биологических нейронных сетей является способность к обучению. Самой интересной особенностью того, что есть на практике является возможность самообучения. Процесс обучения состоит из: 1. Настройка(выбор архитектуры сети). Когда возникает биологическая нейронная сеть, то там выбора архитектуры нет. Здесь мы вынуждены выбирать архитектуру, потому что реализация связей каждого нейрона с каждым является технически нереализуемой задачей.

Парадигма обучения


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

Правила обучения


1. Коррекция по ошибке. Заключается в следующем: происходит использование разностей Y-R нейронной сети для модификации весов, которая заключается в постепенном уменьшении ошибки при многократной подаче образов из обучающего множества. Что это означает? – подали вы какой-то образ; вычислили ошибку реальной отклик сети Y и тот, который должен быть R; зная эту ошибку, мы ее разбрасываем Читать далее

Алгоритм обратного распространения ошибки


Этот алгоритм является аналогом метода градиентного спуска. В этом случае для градиентного спуска мы должны знать как нам изменить коэффициенты, чтобы получить требуемое увеличение или уменьшение выходов на нейроны. Допустим есть нейрон (рис). Он описывается следующим уравнением: y=r(Swixi). если мы знаем, что функция больше требуемого значения, то зная производную при заданных xi , мы будем Читать далее

Системы цифровой обработки сигналов


Область цифровой обработки сигналов включает специфические алгоритмы обработки числовых данных, получаемых при аналого-цифровом преобразовании ( АЦП): — Измерительных ( электрических, механических сигналов) — Речевых — Видео

Теорема Котельникова


Если частотный спектр сигнала f(t) ограничен некоторым значением F, то этот сигнал может быть восстановлен после дискретизации без погрешностей по выборочным значениям, следующим с интервалом .

Дискретизация и квантование


Дискретизация – это преобразование аналогового сигнала в последовательность его выборочных значений, отстоящих друг от друга на время интервала дискретизации Dt. Вот у нас есть некая функция времени, которая представляется в виде функции имеющей непрерывное множество значений от f(max) до f(min). Выбираем некий начальный момент времени t1 и относительно него через, в частном случае равные, а Читать далее

Дискретное ортогональное преобразование


Любая ЦОС основана на разложении произвольной функции сигнала в ряд по некоторой системе ортогональных функций. Например, функции cos и sin являются ортогональными и можно разложить произвольную функцию в ряд по этим функциям. Оказывается некий произвольный сигнал мы можем представить в виде композиции более простых сигналов. Обобщая это можно записать, что произвольную функцию f(t) можно представить Читать далее