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