Слоты задержки ветвления mips распространяются через последовательные ветви? - PullRequest
2 голосов
/ 28 ноября 2010

Я играл со слотами задержки ветвления. Пробовал это на спим.

j some
j a 
j b 
j c 
j d 
ori $9, $0, 13

some:
a:  
b:  
c:  
d:  

К моему удивлению, он изменил 9 долларов на 13. Итак, мой вопрос: может ли интервал задержки распространяться или это спам, и не происходит на реальных процессорах mips32? Если это ожидаемое поведение, может ли кто-нибудь немного рассказать мне о том, что там происходит?

Ответы [ 2 ]

5 голосов
/ 28 ноября 2010

Mips заявляет, что размещение команды ветвления в слоте задержки ветвления приводит к неопределенным результатам.

1 голос
/ 28 ноября 2010

Как заявление об отказе, я никогда не работал с реальной машиной MIPS, но я думаю, что использование слота задержки ветвления для другой ветки почти наверняка вызовет проблемы. Одна из распространенных практик на процессорах, таких как MIPS, заключается в использовании слота задержки ветвления для запрета операций, такого как ori $0, $0, 0, просто для того, чтобы убедиться, что ничего не выполняется, что не должно.

...