На веб-сайте arm указано время выполнения инструкций для процессора Cortex-a9. Ссылка на инструкцию
Для каждой инструкции (чтобы быть конкретным, я говорю о векторной инструкции NEON) время указано в таблице в формате, показанном ниже (с использованием инструкции VADD в качестве примера):
NAME FORMAT Cycle Source Result Writeback
VADD Dd,Dn,Dm 1 -,2,2 3 6
Я вроде как понимаю, что пытается сказать таблица. Например, Результат со значением 3 означает, что результат этой инструкции будет доступен в цикле 3, а затем другая инструкция в зависимости от результата этой инструкции может плавно использовать результат без остановки.
Но у меня вопрос:
Когда этот номер цикла начинает отсчитываться? Считается ли это после выдачи инструкции?
Кроме того, насколько я знаю, проблема заключается в том, что команда отправляется процессору для выполнения после получения и декодирования инструкции, тогда почему тогда в таблице не отображаются циклы декодирования и выборки? Это очень важная информация, так как мне нужно знать циклы выборки и декодирования, чтобы знать, сколько циклов мне нужно подождать для плавного выполнения инструкции, которая зависит от результата предыдущей инструкции.
Мы будем очень признательны за ясный и точный ответ или место для его поиска!