Почему в ARMv6 значение ПК равно текущей инструкции плюс 8?

Что если этапов конвейера не 3, например, в ARM1156T2-S (также это ARMv6), он имеет 9 этапов:

Fe1 Fe2 De Iss Fe3 Sh ALU Sat WBex

ПК по-прежнему адрес текущей инструкции плюс 8?

1 ответ

Для совместимости.

MOV LR, PC
LDR PC, =myfunc

Вы не хотите ломать весь старый код только потому, что конвейер был изменен.

Другие вопросы по тегам