МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА 8051 - Script

mov DPTR, VarC 3 байта,24 такта

movxA, @DPTR

mov Temp, A

mov DPTR, VarB
movxA, @ DPTR

1 байт,24 такта - Загрузка "С" 1 байт, 12 тактов - Сохранение "С" 3 байта,24 такта 1 байт,24 такта - Загрузка "В"

add A, Temp ; 1 байт, 12 тактов - Асе = В + С

mov DPTR, VarA ; 3 байта,24 такта

movx @DPTR, A ; 1 байт,24 такта - Сохранение В + С в "VarA"

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

В снязи с такой разницей в производительности разработчик компилятора должен обратить особое внимание на разработку стратегии для манипуляции данными. Сокращение пересылок данных между текущим банком, первыми 256 байтами и всеми 64 Кбайтами памяти позволяет сделать конечный вариант программы более эффективным.

Go to Top