Zadanie Lab 5-6 ver 1
A. Napisać program LabTabv1 w asemblerze komputera DLX, który:
1. Zadeklaruje dwie tablice przechowujące liczby całkowite: TA 110- elementową oraz TB 100-elementową, a także zmienną Suma zmiennoprzecinkową podwójnej precyzji.
2. Komórki tablicy TA wypełni rosnąco kolejnymi liczbami naturalnymi począwszy od numeru w dzienniku studentki/ studenta.
3. Następnie dla każdego elementu tablicy TB wykona operację :
TB[i] = ( (TA[i] * TA[i+1]) + TA[i+2]) - ( TA[i+5] * nr)
4. W zmiennej Suma umieści sumę wszystkich elementów tablicy TB.
Przed napisaniem programu LabTabv1 zaprojektować arkusz kalkulacyjny w Excelu (lub innym arkuszu kalkulacyjnym), wykonujący te same obliczenia i porównać rezultaty wykonania programu.
Zmierzyć liczbę cykli zegarowych dla wykonania uzyskanego programu przy zmianach w sprzęcie komputera:
Forwarding on/ off
Liczba jednostek zmiennoprzecinkowych dodających 1/ 2/ 4
Liczba jednostek zmiennoprzecinkowych mnożących 1/ 2/ 4
Liczba jednostek zmiennoprzecinkowych dzielących 1/ 4
Razem 2 * 4 * 4 * 2 = 64 pomiarów
Wyniki z punktu C przedstawić w postaci tabeli. Dla każdego uruchomienia sprawdzić poprawność obliczonej zmiennej Suma.
Na podstawie uzyskanych wyników wybrać dwie takie konfiguracje, dla których liczba cykli zegarowych dla wykonania uzyskanego programu jest:
Najmniejsza (konfiguracja szybka)
Największa (konfiguracja wolna)
W sprawozdaniu porównać diagramy cykli zegarowych dla wykonania jednej iteracji obliczeń z punktu 3 dla konfiguracji szybka i wolna. Opisać występujące w tej iteracji hazardy i przyczyny ich powstania. Na podstawie analizy diagramów cykli zegarowych obliczyć liczbę cykli zegarowych, liczbę instrukcji i CPI dla całego programu dla obu wybranych konfiguracji. Wyniki obliczeń porównać z zawartością okienka STATISTICA programu WinDLX.
W celu kontroli oryginalności rozwiązania osoby, uzyskujące ocenę pozytywną muszą w ciągu 3 dni od dnia przeprowadzenia zajęć przesłać na adres miktus@ita.wat.edu.pl wersję elektroniczną sprawozdania (w postaci pliku .doc, .docx, .rtf, .pdf lub .html), jako załącznik do maila, w miarę możliwości spakowany do postaci .zip lub .rar (np. narzędziem 7zip: http://www.7-zip.org/). Temat maila: Sprawozdanie L56_numer_grupy_numer_ studenta_w_dzienniku. Nazwa pliku załącznika: L56_numer_grupy_numer_ studenta_w_dzienniku.zip, na przykład L56_I8X1S1_10.zip.
W sprawozdaniu zamieścić:
A. treść zadania,
B. algorytm, opis i treść programu LabTabv1.
C. Wydruk zawartości zmiennej SUMA oraz pierwszych 10 i ostatnich 10 elementów tablic TA i TB z arkusza kalkulacyjnego
D. Wydruk zawartości zmiennej SUMA oraz pierwszych 10 i ostatnich 10 elementów tablic TA i TB z podglądu zawartości pamięci operacyjnej WinDLX, potwierdzających poprawne wykonanie prezentowanego programu.
E. Rezultaty punktów D, E, F zadania.