- •1. Возникновение информационных технологий
- •2. Понятия систем и управления Понятие систем
- •1.2.Управление в системах
- •3. Концептуальная модель базовой информационной технологии
- •.Общие требования, предъявляемые к современным компьютерам
- •7. Числовая и нечисловая обработка
- •2.3.1.Последовательные конвейеры
- •2.3.2.Векторные конвейеры
- •2.5.1.Классификация систем параллельной обработки данных
- •2.5.2. Мультипроцессорные системы с общей памятью
- •2.5.2. Мультипроцессорные системы с локальной памятью и многомашинные системы
- •14. Векторные конвейерные процессоры
- •17. Концепция вычислительных систем с управлением потоком данных
- •3.2.Потоки событий
- •20. Схема гибели и размножения.
- •23. Одноканальная смо с неограниченной очередью
- •3.6.1.1.Алгоритм spt
- •3.6.1.3.Алгоритм fb
- •3.6.2.1.Методы управления ресурсами многопроцессорных систем при обработке пакетов задач с прерываниями
- •3.6.2.2. Управление ресурсами многопроцессорных систем при обработке пакетов независимых задач без прерываний
- •3.6.3.1. Мпс с общей памятью
- •3.6.3.1.Характеристики мпс с общей памятью
- •3.6.3.2. Мпс с индивидуальной памятью
- •3.6.3.2.Характеристики мпс с индивидуальной памятью
- •Базовые топологии локальных компьютерных сетей
- •29. Методы доступа к общей шине в лвс
- •4.5.5.1.Методы Алоха
- •4.5.5.2.Случайный доступ типа мдпн/ос ( csma/cd)
- •31. Топология глобальной вычислительной сети (гвс)
- •34. Емкость канала связи
- •4.6.1.1.Сети с коммутацией каналов
- •4.6.1.2.Сети с коммутацией сообщений
- •4.6.1.3.Сеть с пакетной коммутацией
- •4.6.2.1.Метод скользящего окна
- •4.6.3.1.Алгоритм Дейкстры
- •4.6.3.2.Алгоритм Флойда
- •4.7.5. Удаленный доступ к ресурсам сети
2.3.1.Последовательные конвейеры
Разработчики компьютеров издавна прибегали к методам проектирования, известным под общим названием "совмещение операций", при котором аппаратура компьютера в любой момент времени выполняет одновременно более одной базовой операции. Этот общий метод включает два понятия: параллелизм и конвейеризацию. При параллелизме совмещение операций достигается путем воспроизведения в нескольких копиях аппаратной структуры. Высокая производительность достигается за счет одновременной работы всех элементов структур, осуществляющих решение различных частей задачи.
Конвейеризация (или конвейерная обработка) в общем случае основана на разделении подлежащей исполнению функции на более мелкие части, называемые ступенями, и выделении для каждой из них отдельного блока аппаратуры. Так обработку любой машинной команды можно разделить на несколько этапов (несколько ступеней), организовав передачу данных от одного этапа к следующему. При этом конвейерную обработку можно использовать для совмещения этапов выполнения разных команд. Производительность при этом возрастает благодаря тому, что одновременно на различных ступенях конвейера выполняются несколько команд. Конвейерная обработка такого рода широко применяется во всех современных быстродействующих процессорах.
На рисунке 2.3 показано устройство обработки команд простейшего процессора, которое включает четыре ступени:
выборка команд из памяти;
декодирование;
определение адреса и выборка операнда;
исполнение.
Конвейеризация увеличивает пропускную способность процессора (количество команд, завершающихся в единицу времени), но она не сокращает время выполнения отдельной команды. В действительности, она даже несколько увеличивает время выполнения каждой команды из-за накладных расходов, связанных с хранением промежуточных результатов. Однако увеличение пропускной способности означает, что программа будет выполняться быстрее по сравнению с простой неконвейерной схемой.
Рисунок 2.4 – Диаграмма работы последовательного конвейера
Ускорение обработки в данном устройстве измеряется отношением времени Ts , необходимом для последовательного выполнения L заданий (без конвейеризации), ко времени Tp выполнения той же обработки на конвейере. Обозначим через ti время обработки на i-той ступени, а через tj - соответствующее время для самой медленной ступени (j € i). Тогда, если L заданий (команд) проходят через конвейер с n ступенями (для рисунков 2.3 и 2.4 – четыре ступени), эффективность конвейера определяется следующим выражением:
для
(4.3)
Как
видно из этого анализа, первый результат
на выходе конвейера появляется спустя
время tраз
=
,
называемое временем разгона конвейера,
а последующие – с интервалами tj.
Конвейеризация эффективна только тогда, когда загрузка конвейера близка к полной, а скорость подачи новых команд и операндов соответствует максимальной производительности конвейера. Если произойдет задержка, то параллельно будет выполняться меньше операций и суммарная производительность снизится. Такие задержки могут возникать в результате появления конфликтных ситуаций.
Конфликты снижают реальную производительность конвейера, которая могла бы быть достигнута в идеальном случае. Существуют три класса конфликтов:
Структурные конфликты, которые возникают из-за конфликтов по ресурсам, когда аппаратные средства не могут поддерживать все возможные комбинации команд в режиме одновременного выполнения с совмещением.
Конфликты по данным, возникающие в случае, когда выполнение одной команды зависит от результата выполнения предыдущей команды.
Конфликты по управлению, которые возникают при конвейеризации команд переходов и других команд, которые изменяют значение счетчика команд.
Конфликты в конвейере приводят к необходимости приостановки выполнения команд (pipeline stall). Обычно в простейших конвейерах, если приостанавливается какая-либо команда, то все следующие за ней команды также приостанавливаются. Команды, предшествующие приостановленной, могут продолжать выполняться, но во время приостановки не выбирается ни одна новая команда.
