Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
голубев учить.docx
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
2.12 Mб
Скачать

Вопрос10 Архитектурные способы повышения производительности микропроцессоров

Повышение производительности МП (больше задач за меньшее время) в большинстве случаев достигается за счет применения специальных технологических и архитектурных решений. В соответствии с этими двумя направлениями происходит и развитие современных МП, при этом оба направления взаимно влияют друг на друга. Совершенствование технологий производства ИС и уменьшение проектной нормы (см. подразд. 3.5) позволяют повышать тактовую частоту и обеспечивают рост уровня интеграции ИС. Повышению тактовой частоты способствует также «укорочение» цепочек логических элементов, выполняющих элементарные преобразования данных за такт.

Архитектурные способы повышения производительности МП связаны с рядом направлений развития архитектур: оптимизацией системы команд и форматов команд с учетом развития технологии программирования, использованием методов и средств параллельной обработки данных при исполнении команд и некоторыми другими.

Основным направлением совершенствования архитектуры МП, обеспечивающим повышения его производительности, в настоящее время является развитие средств параллельной обработки данных. Разработчики архитектуры используют увеличивающиеся ресурсы (число вентилей на кристалле) для включения в структуру процессора дополнительных аппаратных средств, с помощью которых реализуется вычислительный параллелизм несвязанных операций.

Конвейеризация

Конвейерная обработка является «естественным» средством реализации параллелизма линейной последовательности команд. Процессор, в котором процесс исполнения команды разбивается на пять-шесть ступеней, называется обычным конвейерным процессором.

Основной принцип конвейерной обработки заключается в разбиении процесса исполнения команды на ряд фаз (ступеней), которые последовательно исполняются в различных блоках процессора. Каждый блок в конвейерной цепочке осуществляет только один этап исполнения команды, и полная обработка команды занимает несколько тактов.

Типовыми этапами выполнения команд являются:

  • выборка команды IF (Instruction Fetch);

  • дешифирование команды ID (Instruction Decode);

  • чтение операндов RD (Read Memory);

  • исполнение заданной в команде операции EX (Execute);

  • запись результата WB (Write Back).

В ходе выполнения команда продвигается по конвейеру, освобождая его очередную ступень для следующей команды. Для хранения информации, передаваемой с одной ступени на другую, используют внутренние промежуточные буферы. Содержимое буферов обновляется в каждом такте по завершению этапа исполнения очередной команды. Промежуточные буферы обеспечивают параллельную независимую работу блоков конвейерной цепочки: в то время, когда последующий блок начинает выполнять этап очередной команды, предыдущий блок может приступать к обработке следующей команды. Благодаря этому в конвейере процессора одновременно могут обрабатываться несколько следующих друг за другом команд.

Рис. 4.10. Конвейерная обработка: аструктурная схема 5-ступенчатого конвейера; бконвейерная обработка команд

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

Из принципа работы конвейера следует, что повышение производительности, которое может быть получено при реализации конвейерной обработки, прямо пропорционально количеству ступеней конвейера п. В идеальном случае при непрерывной работе конвейера процессор выполняет программы в п раз быстрее, чем обычный последовательный процессор.

Ситуации, при которых в процессе выполнения команд происходит временная остановка конвейера, называются конфликтами. Конфликты различных типов снижают производительность процессора и для уменьшения их отрицательного влияния разрабатывают специальные архитектурные способы борьбы с ними.

Различают конфликты по ресурсам, конфликты поданным и конфликты по управлению.

Конфликты по ресурсам. Возникают, когда нескольким командам, находящимся на разных ступенях конвейера, требуется одновременное использование одного и того ресурса, например памяти.

Конфликты по данным. Это ситуации, когда или исходный операнд, или результат операции не доступны в положенное время.

Конфликты по управлению. Конфликты, которые возникают при конвейеризации

команд перехода и в других ситуациях, изменяющих значение счетчика команд, называются конфликтами по управлению.

При выполнении некоторых команд этап исполнения ЕХ может потребовать большее время, чем выделенный такт. В этом случае время исполнения этапа ЕХ должно быть увеличено за счет выделения дополнительного такта, при этом последующие ступени вынуждены будут простаивать в течение этого дополнительного такта. При возникновении конфликта приходится прерывать работу конвейера на время, необходимое для устранения причин нарушения его работы.