Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Desktop / For_exams / Smirnov / 1 - копия (5)

.txt
Скачиваний:
32
Добавлен:
27.03.2015
Размер:
6.58 Кб
Скачать
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) За счет организации устройств, обеспечивающих увеличение их быстродействия (увеличение быстродействия самого ЦП).
Однако, применение многомашинных и мультипроцессорных вычислительных комплексов - это почти неограниченное повышение производительности за счет распараллеливания процессоров (процессов?).
Соседние файлы в папке Smirnov