Современные высокопроизводительные компьютеры


Сокращение потерь на выполнение команд перехода и минимизация конфликтов по управлению


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

Простейший метод работы с условными переходами заключается в приостановке конвейера как только обнаружена команда условного перехода до тех пор, пока она не достигнет ступени конвейера, которая вычисляет новое значение счетчика команд (рис. 5.12). Такие приостановки конвейера из-за конфликтов по управлению должны реализовываться иначе, чем приостановки из-за конфликтов по данным, поскольку выборка команды, следующей за командой условного перехода, должна быть выполнена как можно быстрее, как только мы узнаем окончательное направление команды условного перехода.

Команды переходаIFIDEX MEMWB

Следующая команда IFstallstallIFIDEX MEMWB

Следующая команда +1 stallstallstallIFIDEX MEMWB

Следующая команда +2 stallstallstallIFIDEX MEM

Следующая команда +3 stallstallstallIFIDEX

Следующая команда +4 stallstallstallIFID

Следующая команда +5 stallstallstallIF

Рис. 5.12. Приостановка конвейера при выполнении команды условного перехода

Например, если конвейер будет приостановлен на три такта на каждой команде условного перехода, то это может существенно отразиться на производительности машины. При частоте команд условного перехода в программах, равной 30% и идеальном CPI, равным 1, машина с приостановками условных переходов достигает примерно только половины ускорения, получаемого за счет конвейерной организации. Таким образом, снижение потерь от условных переходов становится критическим вопросом. Число тактов, теряемых при приостановках из-за условных переходов, может быть уменьшено двумя способами:

  1. Обнаружением является ли условный переход выполняемым или невыполняемым на более ранних ступенях конвейера.




    - Начало -  - Назад -  - Вперед -



    Книжный магазин