Почему в ARMv6 значение ПК равно текущей инструкции плюс 8?
Что если этапов конвейера не 3, например, в ARM1156T2-S (также это ARMv6), он имеет 9 этапов:
Fe1 Fe2 De Iss Fe3 Sh ALU Sat WBex
ПК по-прежнему адрес текущей инструкции плюс 8?
1 ответ
Для совместимости.
MOV LR, PC
LDR PC, =myfunc
Вы не хотите ломать весь старый код только потому, что конвейер был изменен.