было бы очень интересно увидеть данные по конкретному тесту. Тестил MB91F272: работа из Flash на частоте 32 MHz(max).
Хотел выяснить тормозит ли Flash.
Написал код их нескольких команд, которые имеют фиксированное количество тактов (без всяких оговорок).
Зациклил на n раз, измерял кол-во тактов таймером с точностью CLK/2
при разной длине цикла и разных командах.
Получилось следующее:
- на прямом ходу (без перегрузки конвейера) время выполнения получилось как в доке или симуляторе. Т.к. основные команды выполняются за 1 такт то имеем 32мипс. Flash не тормозит.
- операция перехода выполняется с перегрузкой конвейера. +3 такта к тому, что написано в доке. Поэтому если на каждые 10 команд будет выполняться переход, то реальная производительность падает на 30%.
На реальном коде еще не пробовал.