При работе с конвейерной архитектурой для выполнения инструкций одним из способов избежать опасностей является использование слотов задержки или правила, запрещающего определенным инструкциям доступ к значениям, вычисленным в строках над ними. Насколько я понимаю, ассемблер пытается перемещать ваши инструкции, которые не зависят друг от друга, чтобы независимые инструкции могли выполняться, пока зависимые инструкции ждут. Возможна ли эта функция или это происходит в случае интерпретируемых языков, у которых нет реального времени компиляции?
(Обратите внимание: если что-то, что я сказал выше, отражает пробел в моем понимании, пожалуйста, исправьте это, потому что эти концепции являются новыми для меня).