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.

 

  1. Przed napisaniem programu LabTabv1 zaprojektować arkusz kalkulacyjny w Excelu (lub innym arkuszu kalkulacyjnym), wykonujący te same obliczenia i porównać rezultaty wykonania programu.

  2. Zmierzyć liczbę cykli zegarowych dla wykonania uzyskanego programu przy zmianach w sprzęcie komputera:

    1. Forwarding on/ off

    2. Liczba jednostek zmiennoprzecinkowych dodających 1/  2/ 4

    3. Liczba jednostek zmiennoprzecinkowych mnożących 1/  2/ 4

    4. Liczba jednostek zmiennoprzecinkowych dzielących 1/  4

Razem 2 * 4 * 4 * 2 = 64 pomiarów

  1. Wyniki z punktu C przedstawić w postaci tabeli. Dla każdego uruchomienia sprawdzić poprawność obliczonej zmiennej Suma.

  2. Na podstawie uzyskanych wyników wybrać dwie takie konfiguracje, dla których liczba cykli zegarowych dla wykonania uzyskanego programu jest:

    1. Najmniejsza (konfiguracja szybka)

    2. Największa (konfiguracja wolna)

  3. 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.