Таксономия (Классификация) Флинна Дораж Е.М. ИСп-32
Основные понятия Система обработки данных (информационная система) - совокупность технических и программных средств, предназначенных для информационного обслуживания людей и технических объектов. Классы информационных систем: вычислительные машины (ВМ) вычислительные системы (ВС) вычислительные комплексы (ВК) сети ВМ предназначены для решения широкого круга задач пользователями, работающими в различных предметных областях. Основной блок ВМ - процессор. Процессор инициализирует процесс исполнения программы и управляет им. ВК - это несколько ВМ, информационно связанных между собой. При этом каждая ВМ самостоятельно управляет своими вычислительными процессами. Информационный обмен между ВМ комплекса менее интенсивен (в сравнении с информационным взаимодействием процессоров в мультипроцессорных системах). Широкое применение ВК получили в информационно-управляющих системах.
Основные понятия ВС - это информационная система, настроенная на решение задач конкретной области применения, т.е. в ней имеется аппаратная и программная специализация. Часто ВС содержит несколько процессоров, между которыми в процессе работы происходит интенсивный обмен информацией, и которые имеют единое управление вычислительными процессами. Такие системы называются мультипроцессорными. Другим распространенным типом ВС являются микропроцессорные системы. Они строятся использованием либо микропроцессора (МП), либо микроконтроллера, либо специализированного процессора цифровой обработки сигналов. Три метода, обеспечивающих увеличение производительности систем: совершенствование элементной базы, структурные методы математические методы. Параллельные вычислительные системы - это физические компьютерные, а также программные системы, реализующие тем или иным способом параллельную обработку данных на многих вычислительных узлах.
Классификация Флинна Классификация базируется на понятии потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. Четыре класса архитектур: SISD, MISD, SIMD, MIMD. SISD (single instruction stream / single data stream) - одиночный поток команд и одиночный поток данных. К этому классу относятся классические последовательные машины (машины фон-неймановского типа). В таких машинах есть только один поток команд, все команды обрабатываются последовательно друг за другом, и каждая команда инициирует одну операцию с одним потоком данных. SIMD (single instruction stream / multiple data stream) - одиночный поток команд и множественный поток данных. Поток команд, включает, в отличие от SISD, векторные команды. Это позволяет выполнять одну арифметическую операцию сразу над многими данными - элементами вектора. MISD (multiple instruction stream / single data stream) - множественный поток команд и одиночный поток данных. Определение подразумевает наличие в архитектуре многих процессоров, обрабатывающих один и тот же поток данных. Реально существующей вычислительной системы, построенной на данном принципе, пока нет. MIMD (multiple instruction stream / multiple data stream) - множественный поток команд и множественный поток данных. В вычислительной системе есть несколько устройств обработки команд, объединенных в единый комплекс и работающих каждое со своим потоком команд и данных (мультипроцессорные системы).
Классификация Флинна Четыре класса архитектур: SISD SIMD MISD MIMD
Вычислительные системы класса SIMD Модель вычислений: одиночная операция выполняется над большим блоком данных. Два типа: векторно-конвейерные и матричные системы. Векторно-конвейерные системы (PVP компьютеры) Два принципа в архитектуре процессоров: конвейерная организация обработки потока команд введение в систему команд набора векторных операций, которые позволяют оперировать с целыми массивами данных Конвейеризация эффективна только тогда, когда загрузка конвейера близка к полной, а скорость подачи новых операндов соответствует максимальной производительности конвейера. Векторные операции обеспечивают идеальную возможность полной загрузки вычислительного конвейера. При выполнении векторной команды одна и та же операция применяется ко всем элементам вектора Векторные команды оперируют целыми массивами независимых данных, т.е. команда вида A=B+C означает сложение двух массивов, а не двух чисел.
Вычислительные системы класса SIMD В векторно-конвейерной системе имеется несколько один или несколько конвейерных процессоров, выполняющих векторные команды путем засылки элементов векторов в конвейер с интервалом, равным длительности прохождения одной, стадии обработки. Векторная обработка увеличивает скорость и эффективность обработки за счет того, что обработка целого набора (вектора) данных выполняется одной командой. Векторные процессоры должны иметь гораздо более сложную структуру и, по сути дела, содержать множество арифметических устройств Типовая организации векторной вычислительной системы включает в себя: блок обработки команд, осуществляющий вызов и декодирование команд, векторный процессор, исполняющий векторные команды, скалярный процессор, исполняющий скалярные команды, память для хранения программ и данных. Длина одновременно обрабатываемых векторов в современных векторных компьютерах составляет, как правило, 128 или 256 элементов.
Матричные системы Матричные системы лучше всего приспособлены для решения задач, характеризующихся параллелизмом независимых объектов или данных. Матричная система состоит из множества процессорных элементов (ПЭ), организованных таким образом, что они исполняют векторные команды, задаваемые общим для всех устройством управления, причем каждый ПЭ работает с отдельным элементом вектора. ПЭ соединены через коммутационное устройство с многомодульной памятью. Исполнение векторной команды включает чтение из памяти элементов векторов, распределение их по процессорам, выполнение заданной операции и засылку результатов обратно в память. Таким образом, производительность системы оказывается равной сумме производительностей всех процессорных элементов.
Вычислительные системы класса MIMD MIMD архитектуры различаются в зависимости от того, имеет ли процессор свою собственную локальную память и обращается к другим блокам памяти, используя коммутирующую сеть, или коммутирующая сеть подсоединяет все процессоры к общедоступной памяти. Систолические вычислительные системы Систолические системы являются очень специализированными вычислителями и производятся под конкретную задачу. Фактически, задача построения систолического вычислителя сводится к построению аппаратного конвейера, имеющего достаточно большое время получения результата (т.е. большое количество ступеней), но при этом сравнительно маленькое время между последовательной выдачей результатов, так как значительное количество промежуточных значений обрабатывается на разных ступенях конвейера. Однородные вычислительные структуры или среды (ОВС), как правило, относятся к типу MIMD и представляют собой регулярную решетку из однотипных процессорных элементов (ПЭ). Каждый ПЭ обладает алгоритмически полным набором операций, а также операциями обмена или взаимодействия с другими ПЭ. ОВС реализуется на основе микропроцессоров.
Обучение сети Алгоритмы обучения делятся на два больших класса: детерминистские и стохастические. В первом из них подстройка весов представляет собой жесткую последовательность действий, во втором – она производится на основе действий, подчиняющихся некоторому случайному процессу. Рассмотрим алгоритм обучения с учителем. 1. Проинициализировать элементы весовой матрицы (обычно небольшими случайными значениями). 2. Подать на входы один из входных векторов, которые сеть должна научиться различать, и вычислить ее выход. 3. Если выход правильный, перейти на шаг 4. Иначе вычислить разницу между идеальным и полученным значениями выхода: Модифицировать веса в соответствии с определенной формулой 4. Цикл с шага 2, пока сеть не перестанет ошибаться. На втором шаге на разных итерациях поочередно в случайном порядке предъявляются все возможные входные вектора. К сожалению, нельзя заранее определить число итераций, которые потребуется выполнить, а в некоторых случаях и гарантировать полный успех.