Запрос кеша в Forth CPU
В оперативной памяти компьютера хранится более длинная программа, написанная на языке программирования Forth. Он содержит три подфункции и занимает слишком много байтов для хранения их в кэше первого уровня ЦП.
Необходима стратегия кеширования, которая решает, что в кэш ЦП копируется только окно ОЗУ. ЦП Forth может читать из кэша первого уровня, но не из ОЗУ, потому что доступ к ОЗУ занимает много времени.
На рисунке указатель инструкций направлен на первое слово и уже выполнил одну команду, и через короткое время достигнет конца слова ": добавить". Но что будет потом?
Если процессор выполнил последнюю команду в кеше первого уровня (+), дальнейшие команды отсутствуют. Какая часть ЦП Forth решает выгрузить текущее содержимое кеша ЦП и получает новый чанк из ОЗУ?
Я не уверен, что это как-то связано с "блочными буферами", "кэшированием стека в Forth VM" или "аппаратным кешем CPU". Литература немного запутанная:
1 ответ
На самом деле, это, кажется, общий вопрос, не специфичный для процессора Forth.
Часть ЦП, которая извлекает данные из памяти в кеш, известна как блок контроллера кеша или схема управления кешем.
См. Также: Микропроцессорное проектирование / Cache wikibook, Как процессор определяет, является ли инструкция декодированным вопросом.