Lab4

Transkrypt

Lab4
Programowanie mikroprocesorów
jednoukładowych
Optymalizacja
1
Optymalizacja
1.1
Symulacja płomieni
Ściągnij program do symulacji płomieni z repozytorium git i uruchom go:
git clone http :// git . mi . put . poznan . pl / pmj
1.2
Uwagi
Zapoznaj się z komentarzami w programie, aby zrozumieć jego działanie. Procesor SAM3U nie posiada pamięci cache, posiada za to wbudowaną pamięć SRAM o wielkości 48KB. Program korzysta z zewnętrznej
pamięci PSRAM w celu utworzenia bufora ekranu 320x240, co daje zurzycie 75KB. Podczas optymalizacji
należy uwzględnić to, że zewnętrzna pamięć generuje opóźnienia w działaniu programu, a wewnętrzną należy potraktować jako pamięć CACHE, tylko że obsługiwaną "manualnie". Zakres wyświetlanego obrazu
powinien się mieścić od w:0 do 319 i od h:1 do 239.
1.3
Zadanie
Uzupełnij zawartość funkcji void opt() w taki sposób, żeby przyspieszyć wykonywanie funkcji void
nonopt(). Im mniejsza wartość w lewym górnym rogu wyświetlacza, onzaczająca czas wykonania pętli
w milisekundach, tym lepszy rezultat optymalizacji.
Skorzystaj z następujących metod optymalizacji:
• Look Up Table
• scalanie pętli
• odpowiednia konstrukcja pętli
• używanie zmiennych lokalnych do przechowywania wyników pośrednich
c 12 listopada 2016
Mariusz Naumowicz 1