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

Desktop / For_exams / Smirnov / 6.Повышение быстродействия

.docx
Скачиваний:
69
Добавлен:
27.03.2015
Размер:
19.1 Кб
Скачать

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) За счет организации устройств, обеспечивающих увеличение их быстродействия (увеличение быстродействия самого ЦП).

Однако, применение многомашинных и мультипроцессорных вычислительных комплексов - это почти неограниченное повышение производительности за счет распараллеливания процессоров (процессов?).