
- •1. Проблемы разработки по и пути их решения.
- •2. Характеристики качества по, важные для пользователя. Факторы, влияющие на качество по.
- •3. Временной и «пространственный» аспекты системного подхода к разработке по.
- •5. Конструирование по и внутренние критерии качества по, важные для разработчика.
- •6. Стандарты по разработке по. Два вида стандартов, их значения, требования стандартов.
- •7. Три группы процессов создания по.
- •8. Жизненный цикл по и процессы верификации.
- •9. Тестирование, верификация, валидация и V-образная модель жизненного цикла по.
- •11. «Тяжёлые и быстрые» технологии разработки по. Экстремальное (xp) программирование.
- •12. Три вида программных разработок с точки зрения конструирования, технологии создания и эксплуатации. Сравнение методов планирования, конструирования, отладки и т. П.
- •13. Виды документов, выпускаемых на по, по этапам разработки системы.
- •16. Case технологии разработки по. Проблемно ориентированные технологии разработки по. Пакеты scada.
- •18. Структура системы, иерархия управления и структура по.
- •19. Цикличность (периодичность) во времени решения задач управления и работы.
- •20. Временная диаграмма работы системы и по.
- •1. Кризис программного обеспечения (по). Проблемы и цели программной инженерии. Определение инженерии по.
- •2. Что такое по. Типы программных продуктов, их отличие друг от друга.
- •3. Характеристики качественного по.
- •5. Профессиональные и этические требования к специалистам по программному обеспечению.
- •2. Функциональная схема типового процессора.
- •4. Состав, устройство и принцип действия основной памяти.
- •5. Конструкция устройств ввода-вывода информации.
- •6. Принцип действия цифровых комбинационных устройств.
- •8. Многомашинные и многопроцессорные вс. Классификация Флинна.
- •10. Прямой, обратный и дополнительный коды двоичных чисел.
8. Многомашинные и многопроцессорные вс. Классификация Флинна.
В настоящее время продолжает существовать тенденция повышения производительности микропроцессоров и систем, построенных на их основе. Повысить производительность системы можно благодаря двум основным факторам: использование более мощных элементов, параллельное выполнение большого числа операций.
Наиболее известной классификацией архитектур вычислительных систем является классификация по Майклу Флинну, которая была предложена в 1966 г. Классификация базируется на понятии потока, под которым понимается последовательность команд или данных, обрабатываемых процессором. На основе числа потоков команд и потоков данных выделяются четыре класса архитектур:
SISD (Single Instruction Stream / Single Data Stream). К такому классу относятся классические последовательные машины фон-неймановского типа. В таких машинах есть один поток последовательно обрабатываемых команд и один поток данных для выполнения операций. Машины данного класса фактически не относятся к параллельным системам.
SIMD (Single Instruction Stream / Multiple Data Stream). Подход множественного потока данных на единственный поток команд реализован в MMX- и SSE-расширениях современных процессоров, хотя он может быть реализован и на базе множества микропроцессоров. Все процессорные элементы в такой системе выполняют одну и ту же программу над множеством данных — элементов вектора. Такая система может обеспечить существенное повышение производительности только для тех задач, при решении которых все процессоры могут выполнять одну и ту же работу.
MISD (Multiple Instruction Stream / Single Data Stream). Подразумевается наличие в архитектуре системы множества процессоров, которые обрабатывают один и тот же поток данных. К такому классу могут относиться конвейерные машины.
MIMD (Multiple Instruction Stream / Multiple Data Stream). В системе этого класса каждый процессорный элемент выполняет свою программу достаточно независимо от других процессоров. Базовой моделью вычислений будет являться совокупность независимых процессоров, которые периодически обращаются к разделяемым данным. Представителями MIMD можно считать любые современные процессоры, так как они способны к многозадачности и к многопоточности в рамках одной задачи.
Большинство параллельных многопроцессорных вычислительных систем относится именно к классу MIMD.
Многопроцессорные ВС можно классифицировать по архитектурным особенностям:
векторно-конвейерные суперкомпьютеры;
симметричные мультипроцессорные системы (SMP);
системы с массовым параллелизмом (MPP);
кластерные системы.
Векторно-конвейерные компьютеры используют конвейерную обработку потока команд (как и все современные процессоры) и производят операции над целыми массивами (векторами) данных за счёт добавления в систему команд набора векторных операций. Основное назначение – это распараллеливание выполнения операторов цикла, в которых, обычно, и сосредоточена основная часть вычислительной работы. Векторные процессоры имеют более сложную структуры, как минимум из-за необходимости содержать в себе множество АЛУ для векторных операций. Длина векторов в современных векторных компьютерах составляет, как правило, 128 или 256 элементов.
Симметричные мультипроцессорные системы (Symmetric Multi-Processing, SMP) отличаются тем, что все процессорные элементы в такой системы имеют доступ к общей памяти посредством общей шины или коммутатора. Такой подход упрощает взаимодействие процессоров при разработке параллельных программ, так как все процессоры системы работают в едином адресном пространстве. Сложность реализации такой системы состоит в решении проблемы большого числа конфликтов при обращении к общей шине/памяти.
Системы с массовым параллелизмом (Massively Parallel Processing, MPP) представляют собой многопроцессорные системы с распределённой памятью, в которых с помощью коммуникационной среды объединяются однородные вычислительные узлы. Каждый из узлов обладает всем необходимым оборудованием для полноценного функционирования и на него может быть установлен облегчённый вариант ОС, поддерживающий основные функции ядра. В таком случае управление системой ведётся на отдельном управляющем компьютере. Каждый узел имеет прямой доступ только к своей локальной памяти, а данные из других узлов можно получить посредством механизма передачи сообщений в коммуникационной среде.
Кластерные системы являются продолжением идеи MPP-систем и представляют собой объединённые высокоскоростной сетью и управляемые специальным ПО обычные серийные компьютеры. Создание кластеров из компьютеров стало возможным с появлением сетевого оборудования и ПО, позволяющего реализовать механизм передачи сообщений над стандартными сетевыми протоколами. Небольшую кластерную систему можно создать даже на базе учебного класса. Объединять можно разнородные компьютеры от обычного ПК до мощного суперкомпьютера.