
- •Раздел 2. Компьютеры: история развития.
- •2.1 История вычислительной техники: первые программируемые машины и настольные калькуляторы.
- •Первые программируемые машины
- •2.2 Аналоговые вычислительные машины: классификация.
- •2.3 Аналоговые вычислительные машины: история развития
- •2.4Первые электромеханические цифровые компьютеры
- •2.5 Американские разработки
- •2.6 Первое поколение цифровых компьютеров.
- •2.7Второе, треть, четвертое поколение цифровых компьютеров:транзисторы.
- •2.8 Компьютеры пятого поколения.
- •2.9 Классическая схема цифровой вычислительной машины.
- •2.10 Понятие производительности цифровой вычислительной машины.
- •2.11 Проблемы повышения производительности вычислительных систем.
- •2.12 Основные принципы организации языковых средств для параллельных вычислений
- •1)Параллелизм на уровне битов
- •2)Параллелизм на уровне инструкций
- •3)Параллелизм данных
- •4)Параллелизм задач
- •4)Распределённые операционные системы
- •2.14 Системы векторной и матричной обработки.
- •2.15 Система конвейерной обработки.
- •2.16 Многопроцессорные вычислительные системы.
- •2.17 Универсальные высокопроизводительные вычислительные системы с фиксированной структурой.
- •2.18 Специализированные высокопроизводительные вычислительные системы с фиксированной структурой.
- •2.19Универсальные и специализированные высокопроизводительные вычислительные системы с программируемой структурой.
- •2.20 Суперкомпьютеры и кластеры.
- •2.21 Распределительные вычислительные системы и сети.
- •2.22 Локальные вычислительные сети: основные определения; факторы, определяющие эффективность сетей.
- •Особенности лс:
- •Характеристики лс:
- •2.23 Пропускная способность локальной сети.
- •2.24 Топология сетей.
- •Виды топологий:
- •2.25Grid-сети: определение, место Grid-сетей в ряду вычислительных архитектур.
- •2.26 Категории Grid- сетей.
2.12 Основные принципы организации языковых средств для параллельных вычислений
Ведущую роль в организации параллельных вычислений играют языковые средства. Языковые средства также ориентированы на разные модели вычисления. В качестве средств могут выступать:
традиционные языки программирования, снабженные соответствующими средствами для организации параллельного выполнения процессов
другой подход связан с созданием языков, ориентированных на достижение максимального параллелизма
языки высокого уровня со встроенными на уровне интерпретации средствами организаций параллельного вычисления(обычные пакеты прикладных программ, где параллелизм скрыт от пользователя)
В качестве основных принципов классификации, характеризующих архитектуру вычислительной техники системы принимаются следующие:
тип потока команд
тип потока данных
способ обработки
степень связанности основных компонентов вычислительной систем
Под потоком команд понимается ряд команд, выполняемых системой, а под потоком данных понимается совокупность данных, которая вызывается потоком команд. Потоки определяют возможное число одновременных операций в случае команд или операндов т.е. данных, находящихся в одинаковой стадии разработки.
2.13 Классификация параллельных вычислительных систем. Параллельные вычислительные системы — это физические компьютерные, а также программные системы, реализующие тем или иным способом параллельную обработку данных на многих вычислительных узлах.
Например, для быстрой сортировки массива на двухпроцессорной машине можно разделить массив пополам и сортировать каждую половину на отдельном процессоре. Сортировка каждой половины может занять разное время, поэтому необходима синхронизация.
1)Параллелизм на уровне битов
Эта форма параллелизма основана на увеличении размера машинного слова. Увеличение размера машинного слова уменьшает количество операций, необходимых процессору для выполнения действий над переменными, чей размер превышает размер машинного слова. К примеру: на 8-битном процессоре нужно сложить два 16-битных целых числа. Для этого вначале нужно сложить нижние 8 бит чисел, затем сложить верхние 8 бит и к результату их сложения прибавить значение флага переноса. Итого 3 инструкции. С 16-битным процессором можно выполнить эту операцию одной инструкцией.
2)Параллелизм на уровне инструкций
Компьютерная программа — это, по существу, поток инструкций, выполняемых процессором. Но можно изменить порядок этих инструкций, распределить их по группам, которые будут выполняться параллельно, без изменения результата работы всей программы. Данный приём известен как параллелизм на уровне инструкций. Продвижения в развитии параллелизма на уровне инструкций в архитектуре компьютеров происходили с середины 1980
-х до середины 1990-х.Современные процессоры имеют многоступенчатый конвейер команд. Каждой ступени конвейера соответствует определённое действие, выполняемое процессором в этой инструкции на этом этапе. Процессор с N ступенями конвейера может иметь одновременно до N различных инструкций на разном уровне законченности. Классический пример процессора с конвейером — это RISC-процессор с 5-ю ступенями: выборка инструкции из памяти (IF), декодирование инструкции (ID), выполнение инструкции (EX), доступ к памяти (MEM), запись результата в регистры (WB). Процессор Pentium 4 имеет 35-тиступенчатый конвейер.