---
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:

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