Кэш команд

Кэш команд, расположенный на кристалле процессора ADSP_2106x, является

ассоциативным и может хранить до 32_х команд. Работа кэша понятна для программиста. Процессор кэширует только те команды, при выборке которых возникает конфликт с доступом к данным памяти программы (по шине данных PM, с адресом, сгенерированным DAG2 по шине адреса PM). Эта возможность делает кэш значительно более эффективным, чем кэш, в который загружается каждая команда, так как обычно только при выполнении нескольких команд нужно обращаться к данным из блока памяти программы.

Если при выполнении команды, находящейся по адресу n, требуется обращение к данным памяти программы, то из_за конвейерного выполнения команд возникает конфликт с выборкой команды по адресу n+2 (предполагается последовательное выполнение программы). В кэше команд сохраняется эта выбранная команда (n+2), а не та команда, для выполнения которой требуется обращение к данным памяти программы.

Если необходимая команда находится в кэше, происходит «удачное обращение к кэшу»– кэш обеспечивает команду, когда выполняется обращение к данным памяти программы. Если необходимой команды нет в кэше, происходит «неудачное обращение к кэшу» и выборка команды (из памяти) происходит в цикле, следующем за обращением к данным памяти программы, т. о., добавляется один непроизводительный цикл. Эта команда загружается в кэш, если кэш разблокирован и не зафиксирован, т. о., она будет доступна, когда в следующий цикл будет выполняться команда, требующая обращения к данным памяти программы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: