Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 9

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 3 4 5 6 7 8 < 9 > 10 11 12 13 14 15 .. 528 >> Следующая

состояний про стоя и ожидания в процессе их выполнения, в результате чего
повышается производи тельность процессора. При использовании в программе
разноформатных команд, со держащих различное количество байтов, число
состояний простоя и ожидания, которые приходится вводить в процессе
выполнения команд, значительно увеличивается. Поэто му принятый во многих
RISC-процессорах стандартный 4-байтный формат команд обес печивает
существенное сокращение числа ожиданий и простоев конвейера, что позво
ляет значительно повысить производительность.
Другой причиной снижения эффективности конвейера являются команды
условной ветвления. Если выполняется условие ветвления, то приходится
производить перезаг рузку конвейера командами из другой ветви программы,
что требует выполнения допол нительных рабочих тактов и вызывает
значительное снижение производительности. Пс этому одним из основных
условий эффективной работы конвейера является сокращени числа его
перезагрузок при выполнении условных переходов. Эта цель достигается
помощью реализации различных механизмов предсказания направления
ветвления, кс торые обеспечиваются с помощью специальных устройств -
блоков предсказания eemt ления, вводимых в структуру процессора.
В современных микропроцессорах используются разнообразные способы
предсказг ния ветвлений. Наиболее простой способ состоит в том, что
процессор фиксирует ре зультат выполнения предыдущих команд ветвления по
данному адресу и считает, чт следующая команда с обращением по этому
адресу даст аналогичный результат. Дае ный способ предсказания
предполагает более высокую вероятность повторного обрг щения к
определенной команде, задаваемой данным условием ветвления. Для реализ;
ции этого способа предсказания ветвления используется специальная память
ВТВ (Вгапс Target Buffer), где хранятся адреса ранее выполненных условных
переходов. При nocryi пении аналогичной команды ветвления предсказывается
переход к ветви, которая быг выбрана в предыдущем случае, и производится
загрузка в конвейер команд из соотве ствующей ветви. При правильном
предсказании не требуется перезагрузка конвейера эффективность его
использования не снижается. Эффективность такого способа пре, сказания
зависит от емкости ВТВ и оказывается достаточно высокой: вероятность пр
1
ОСНОВЫ МИКРОПРОЦЕССОРНОЙ ТЕХНИКИ
вильного предсказания составляет 80% и более. Повышение точности
предсказания достигается при использовании более сложных способов, когда
хранится и анализируется предыстория переходов - результаты нескольких
предыдущих команд ветвления по данному адресу. В этом случае возможно
определение чаще всего реализуемого направления ветвления, а также
выявление чередующихся переходов. Реализация таких алгоритмов требует
использования более сложных блоков предсказания, но при этом вероятность
правильного предсказания повышается до 90-95%.
Возможность повышения производительности процессора достигается также при
введении в структуру процессора нескольких параллельно включенных
операционных устройств, обеспечивающих одновременное выполнение
нескольких операций. Такая структура процессора называется
суперскалярной. В этих процессорах реализуется параллельная работа
нескольких исполнительных конвейеров, в каждый из которых поступает для
выполнения одна из выбранных и декодированных команд. В идеальном случае
число одновременно выполняемых команд равно числу операционных устройств,
включенных в исполнительные конвейеры. Однако при выполнении реальных
программ трудно обеспечить полную загрузку всех исполнительных
конвейеров, поэтому на практике эффективность использования
суперскалярной структуры оказывается несколько ниже. Современные
суперскалярные процессоры содержат до 4 до 10 различных операционных
устройств, параллельная работа которых обеспечивает выполнение за один
такт в среднем от 2 до 6 команд.
Эффективная одновременная работа нескольких исполнительных конвейеров
обеспечивается путем предварительной выборки-декодирования ряда команд и
выделения из них группы команд, которые могут выполняться одновременно. В
современных суперска-лярных процессорах производится выборка нескольких
десятков команд, которые декодируются, анализируются и группируются для
параллельной загрузки в исполнительные конвейеры. Обычно в процессорах
имеется несколько устройств для выполнения целочисленных операций, одно
или несколько устройств для обработки чисел с плавающей точкой, отдельные
устройства для обработки специальных форматов видео- и аудиоданных.
Параллельно работают также устройства формирования адресов и выборки
операндов для загружаемых команд. При этом обычно реализуется
спекулятивная (предварительная) выборка операндов, чтобы для поступающих
на исполнение команд уже были готовы операнды, которые записываются в
специальные регистры. Чтобы обеспечить возможно полную загрузку
исполнительных конвейеров, в процессе анализа и группировки
декодированных команд возможно изменение порядка их следования. В
Предыдущая << 1 .. 3 4 5 6 7 8 < 9 > 10 11 12 13 14 15 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed