Когда процессор Arm прекращает извлекать инструкции? - PullRequest
0 голосов
/ 05 ноября 2018

Я недавно работал с Cortex R8 (размер кеша 32k, 256sets, 4way) и сделал ошибку, прочитав размер кеша следующим образом:

// забываем выбрать d кеш, но читать размер кеша напрямую

mrc p15 1, r0, c0, c0,0

возвращает 0 в r0 означает, что размер кэша равен 0.

Затем я делаю недействительным кеш, установив / таким образом:

mcr p15 0, r2, c7, c6,2

когда значение, введенное в r2, не равно нулю, как 0x20,0x40, компьютер, похоже, прекращает извлекать инструкцию. Он НЕ работает ни при каких исключениях и не продолжает работать снова.

Итак, мой вопрос:

1) сделаем ли мы недействительным d кеш по set / way fail, если я забуду выбрать D кеш при чтении размера d кеша *

2) какие случаи в процессоре arm (armv7 наподобие R8) прекращают извлекать инструкции?

Любое предложение будет оценено.

...