
6.Повышение быстродействия
Способы увеличения быстродействия процессора.
Быстродействие можно увеличить за счет:
1) Увеличения тактовой частоты (т.е. уменьшения продолжительности такта)
2) За счет параллельной (конвейерной) обработки. При данном способе уменьшается количество тактов на вычисление команд программы
3) За счет уменьшения времени обращения к памяти
Рассмотрим подробнее каждый способ.
1) Увеличение тактовой частоты
достигается за счет совершенствования технологии производства СБИС (сверхбольших интегральных схемы). Т.е. за счет уменьшения размеров электронных элементов, длины проводников, напряжения питания, и на уровне системы команд.
Повышение быстродействия на уровне системы команд:
Данный метод обеспечивается различными способами.
Операции и команды процессора делятся на:
- скалярные- это операции, в которых операндами и их результатами является скаляр (число);
- векторные - результатом является вектор (массив чисел).
Внедрение векторных команд повышает скорость обработки за счет уменьшения затрат времени на адресацию, выборку и дешифрацию команд. В данном случае вместо нескольких обращений к памяти будет одно обращение (к массиву данных).
К недостаткам относят сложность программирования.
2) Повышение быстродействия при конвейерной организации.
В данном случае быстродействие обеспечивается не только за счет совершенствования самих конвейеров, но и путем их эффективной загрузки (уменьшение времени простоев за счет использования более эффективных диспетчеров).
Эффективная загрузка параллельно работающих конвейеров обеспечивается либо аппаратно (архитектурой процессора), либо программно (компилятором), либо программно-аппаратно.
При компиляции из последовательной программы извлекается информация о параллелизме. Эта инф-я в явном виде указывается процессору и используется для эффективного управления вычислительным процессором.
При аппаратной реализации процессор своими средствами выделяет элементы параллелизма из последовательной программы в процессе ее выполнения.
3) Уменьшение времени обращения к памяти.
Способы уменьшение времени обращения к памяти:
1) Многоуровневая иерархичная организации памяти.
1. Регистры
Объем памяти - десятки-сотни байт. Время обращения - 1 такт ЦП.
2. Кэш первого уровня (L1)
Объем памяти - десятки килобайт. Время обращения - 1-2 такта ЦП.
3. Кэш второго уровня (L2)
Объем памяти - сотни килобайт. Время обращения - 3-5 тактов ЦП.
4. Основная память (оперативная память)
Объем при 32-хбитной ОС = 4Гб (максимальный объем). Время обращения - десятки тактов ЦП.
5. Файл подкачки (виртуальная память)
Рекомендуемый объем - в 1,5 раза больше, чем объем опер-й памяти. Время обращения - сотни-тысячи тактов ЦП.
Использование буферной памяти небольшого объема и высокого быстродействия позволяет существенно сократить количество медленных обращений к оперативной памяти, подменяя часть из них обращениями к быстрой буферной памяти. Это происходит за счет размещения активных фрагментов информации (команд и данных) на разных уровнях буферов.
Столь быстрое обращение к регистрам и кэшам 1,2 уровня осуществляется за счет их расположения в ЦП. Иерархическая организация памяти существенно уменьшает простои в ожидании данных. Пока процессор обрабатывает данные, расположенные в буфере, производится обмен данных между уровнями памяти (т.е. обеспечивается совмещение во времени обработки в процессоре с пересылкой блоков м/у уровнями памяти).
Эффект уменьшения времени обращения к памяти будет тем больше, чем больше время обработки информации, расположенной в буфере, по сравнению с временем пересылки инф-ии м/у оперативной памятью и буфером. Увеличение времени обработки информации в буфере напрямую связано с размерами буферов.
2) Расслоение памяти.
Данный способ базируется на локальности адресов. При обращении к памяти процессор обычно генерирует естественную последовательность соседних адресов (А, А+1, А+2, … А+k+1), где k - длина команды. В данном случае возможно k параллельных одновременных обращений к памяти по адресам принадлежащим различным блокам памяти, состоящим из k блоков.
3) Использование сокращенного набора команд (RISC)
На практике используются простейшие наборы команд. Общая логика использования сокращенного набора команд в том, что и разработка, и сфера применения определенного типа контроллеров и процессоров сводится к использованию малого набора команд. При сокращении набора команд конвейерная обработка операций и использование конвейерных процессоров (суперскалярных) становится намного проще, чем в CISC процессорах.
Конвейерная организация порождает проблемы, связанные с эффективной загрузкой конвейеров (уменьшением простоя).
Существуют следующие способы эфф-й загрузки конвейеров:
1) Программный (компилятором);
2) Аппаратный (на архитектуре процессора).
При программной реализации компилятор устанавливает очередность запуска команд в конвейер и вставляет пустые такты при невозможности запуска очередной команды.
При аппаратной реализации аппаратура процессора отслеживает зависимости м/у командами и устраняет различные конфликты при конвейерной обработке.
К недостаткам RISC процессоров относят большой объем машинных команд (невозможность реализации сложных операций за 1 или несколько тактов).
CISC процессоры отличаются сложностью форматов и переменной длиной команд. И, следовательно, сложным устройством управления, т.к. блоки конвейеров сложнее, время их работы больше, такт работы конвейера выше, частота процессора ниже.
4) Использование мультипрограммного режима работы.
В данном случае уменьшение времени работы достигается за счет уменьшения времени переключения процессора с одной задачи на другую.
Структура мультипроцессорных и мультимашинных вычислительных комплексов.
Производительность однопроцессорных вычислительных комплексов со временем растет, но не очень быстро.
Есть 2 пути повышения производительности:
1) Уменьшение времени переключения электронных компонентов
Есть несколько путей увеличения быстродействия элементов:
1. Уменьшение длины электроцепей;
2. Увеличение быстродействия элементов
3. и т.д.
2) За счет организации устройств, обеспечивающих увеличение их быстродействия (увеличение быстродействия самого ЦП).
Однако, применение многомашинных и мультипроцессорных вычислительных комплексов - это почти неограниченное повышение производительности за счет распараллеливания процессоров (процессов?).