--- title: Raport do zadania 3 tags: ASK author: Mateusz Reis --- # Raport do zadania 3 ### Autor: Mateusz Reis ### Numer indeksu: 316276 Konfiguracja --- Informacje o systemie: Informacje o systemie: * Dystrybucja: Debian * Jądro systemu: 5.3.0-53-generic * Kompilator: gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 * Procesor: AMD A8-6500 * Liczba rdzeni: 4 Pamięć podręczna: * L1d: 16 KiB, 4-drożny (per rdzeń), rozmiar linii 64B * L2: 2048 KiB, 16-drożny (per rdzeń), rozmiar linii 64B * L3: brak , ?-drożny (współdzielony), rozmiar linii 64B Pamięć TLB: * L1d: 4KiB strony, w pelni asocjacyjny, 64 wpisy * L2: 4KiB strony, 8-drożny, 1024 wpisów Informacje o pamięciach podręcznych uzyskano na podstawie wydruku programu `x86info`. Wyniki eksperymentów --- Tabelka przestawiajaca srednie IPC danego rozwiazania dla roznych rozmiarow tablicy: |Rozmiar tablicy|randwalk0|randwalk1 |-|-|-| |32x32|0.5726|1.1485| |64x64|0.6773|1.481| |128x128|0.7312|1.7017| |256x256|0.7727|1.8296| |512x512|0.7861|1.8992| |1024x1024|0.7948|1.9367| Na podstawie tabelki tradycyjnie tworzymy wykres na ktorym jest przedstawiona roznica miedzy jednym a drugim rozwiazaniem: ![](https://i.imgur.com/skRWZzi.png) :::danger randwalk0 ::: :::warning randwalk1 ::: Wnioski --- > Ilosc instrukcji maszynowych w petli randwalk0 = 56 ~ instrukcje warunkowe 9 > Ilosc instrukcji maszynowych w petli randwalk1 = 50 ~ instrukcje warunkowe 4 ----- >Optymalizacja na tym procesorze zwiekszyla IPC dwukrotnie, natomiast na nowszym procesorze jest to nawet 4 razy wiecej instruckji/cykl (AMD Ryzen 5 3500U) ---- >Zmiana kolejnosci instrukcji w ciele petli ma znikomy wplyw na IPC, poniewaz aby wynik pozostal poprawny jedyne co mozna zamienic miejscami to warunki, ktore i tak zawsze musza sie wykonac. ---- >Jak mozemy zauwazyc na wykresie im wieksza tablica tym wieksza jest przewaga w IPC drugiego rozwiazania. Natomiast wieksza tablica oznacza dluzszy czas dostepu do elementow tablicy, co jest spowodowane korzystaniem z pamieci RAM, jednak zachodzi to dla obydwoch wersji.