wyk.8, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Assembler, wykłady - Assembler


1.

poziomy hierarchii pamięci:

CCPPUU

Register- rejestry CPU

CACHE- schowki

Main memory- pamięć główna

External memory- pamięć zewnętrzna

2.

Przydatne definicje

- kiedy CPU znajdzie wymaganÄ… danÄ… w schowku, nazywa siÄ™ to trafieniem schowka (cache hit.)

- kiedy CPU nie znajdzie wymaganÄ… danÄ… w schowku nazywa siÄ™ to chybieniem schowka (cache miss.)

-ustalony zbiór danych zawierających wymagane słowo, nazywane blokiem, jest pobierane z pamięci głównej i kierowane do schowka

- tymczasowe umiejscowienie mówi nam, że będziemy mogli potrzebować tego słowa w niedalekiej przyszłości, więc przydatne jest umiejscowienie go w schowku

- z powodu umiejscowienia przestrzennego, istnieje wysokie prawdopodobieństwo, że inne dane z bloku będą wkrótce potrzebne

6.

Chybienia na instrukcjÄ™.

-zamiast stosunku chybień, możesz zastosować `chybienia na instrukcję'. Oba pomiary są ekwiwalentne (równoważne). (patrz równanie w slajdzie)

-np. `chybienia na instrukcjÄ™' instruction = 0.02 *1.5 = 0.030.

- `chybienia na instrukcję' są również raportowane jako chybienia na 1000 instrukcji (w naszym przykładzie mamy 30 chybień na 1000 instrukcji).

7.

Gdzie w schowku może być umieszczony blok?

- jeżeli każdy blok ma tylko jedno miejsce, w którym może znaleźć się w schowku, schowek jest wtedy zmapowany bezpośrednio (adres bloku) MOD (liczba bloków w schowku)

- jeżeli blok może być umiejscowiony obojętnie gdzie w schowku, schowek jest wtedy w pełni `łączny'.

-jeżeli blok może być umiejscowiony w określonym zestawie miejsc w schowku, schowek jest wtedy `łączny zestawowo'.

Zestaw jest to grupa bloków w schowku. Blok jest najpierw zmapowany na zestaw i wtedy blok może być umiejscowiony obojętnie gdzie w tym zestawie. Zestaw jest zwykle wybierany przez wybór bitów; to znaczy (adres bloków) MOD (liczba zestawów w schowku). Jeżeli w zestawie jest n bloków, umiejscowienie schowka jest nazywane n-sposobów łączny zestawowo'.

8.

Jak znajdowany jest blok jeżeli znajduje się w schowku?

- Schowki mają znaczniki adresów na każdej ramie bloku, która daje adres bloku. Znacznik każdego bloku schowka, który może zawierać potrzebną informację jest sprawdzany, czy zgadza się z adresem bloku z CPU. (patrz na coś tam na slajdzie)

- Znaczniki są używane w celu sprawdzenia wszystkich bloków w zestawie, index jest używany, aby wybrać zestaw, offset bloku (przesunięcie bloku) jest to adres w bloku. Schowki w pełni łączne nie mają pola indeksu.

- Musi być sposób, żeby dowiedzieć się, że blok schowka nie posiada ważnej/obowiązującej informacji. Najbardziej powszechną procedurą jest dodanie ważnego/obowiązującego bitu/elementu do znacznika, żeby stwierdzić, czy to wejście zawiera ważny/obowiązujący adres. Jeżeli bit/element nie jest zestawem (w zestawie?), nie ma zgodności na tym adresie.

9.

Który blok należy wymienić przy chybieniu schowka?

Ogólnie, stosowane są 3 różne strategie:

- przypadkowa/losowa - rozprzestrzenić alokację/przydział jednolicie, bloki kandydujące są wybierane losowo (czasami stosuje się strategię pseudolosową, aby osiągnąć odtwarzalne zachowanie)

- ostatnio używany (LRU)- aby zmniejszyć ryzyko odrzucenia informacji, która będzie wkrótce potrzebna, dostęp do bloków jest rejestrowany. Polegając na przeszłości, aby przewidzieć przyszłość, blok, który ma być usunięty to ten, który nie był używany najdłużej.

- `pierwszy do, pierwszy z” - First in, first out (FIFO) - ponieważ wyliczenie LRU może być skomplikowane, to zaokrÄ…gla LRU poprzez okreÅ›lenie najstarszego bloku a nie LRU.

10.

Co dzieje siÄ™ przy zapisie?

- ruch w danych schowka, zapisy to 10% lub około 12%

- nie ma problemu z odczytem- można odczytywać blok w tym samym czasie co znacznik.

-problemy z odczytem: po pierwsze, nie można zmodyfikować bloku zanim nie jest sprawdzony znacznik, czy adres jest trafiony; po drugie, zwykle procesor określa wielkość zapisów.

- dodatkowo, musimy rozwiązać problem spójności znaku $.

- stosowane są 2 różne strategie:

- Write through- informacje są zapisywane zarówno na bloku w schowku, jak i w bloku w pamięci niższego poziomu.

- Write back - informacje są zapisywane tylko na bloku w schowku. Zmodyfikowany blok schowka jest zapisany w pamięci głównej tylko wtedy kiedy jest wymieniony/usunięty.

11.

Co dzieje siÄ™ przy zapisie?

- multiprocesory i I/O chcą `write back' dla schowków procesorów w celu zmniejszenia ruchu pamięci i `write through' w celu utrzymania schowka w zgodności z hierarchią niższych poziomów pamięci.

- Kiedy CPU musi czekać na zakończenie zapisów podczas `write through', CPU opóźnia (można to zmienijszyć poprzez wprowadzenie buforów zapisu)

- skoro dane nie sÄ… potrzebne przy zapisie / do zapisu, istniejÄ… 2 opcje na chybienie zapisu:

- alokowanie/przydzielanie zapisu - blok jest przydzielany na chybienie zapisu, a następnie mają miejsce działania trafności zapisu jak wyżej

- brak alokowania/przydzielania zapisu - ta najwyraźniej nietypowa alternatywa, że chybienia zapisu nie mają wpływu/ nie dotyczą schowka

12.

Działanie schowka - stosunek chybień

13.

Przykład- pytanie

Który niższy stosunek chybień: 16kB schowek pamięci z 16kB schowkiem danych czy 32kB zjednoczony/połączony schowek (chybienie na 1000 instrukcji dla połączonego schowka jest równa 43.3 i dla 16kB schowka instrukcji i schowków danych 3.82 i 40,9 odpowienio, procent referencji instrukcji to około 7%).

Przyjmij, że 36%instrukcji są transferem danych, trafienie trwa 1 cykl zegarowy i kara chybienia to 100 cyklów zegarowych. Załadowanie i przechowywanie trafienia zajmuje 1 cykl zegarowy na połączonym schowku jeżeli jest tylko jeden port schowka dla 2 równoczesnych żądań. Jaki jest średni czas dostępu pamięci w każdym przypadku? Dodatkowo, przyjmij schowki `write-through' z buforem zapisu i zignoruj opóźnienia z powodu buforu zapisu.

16.

Wpływ schowków na działanie I

Pytanie: weź pod uwagę wersję komputera in-order. Przyjmij karę chybienia schowka 100 cyklów zegarowych i wszystkie instrukcje zajmują zwykle 1.0 cykl zegarowy. Przyjmując, że stosunek chybień to 2%, średnia 1.5 referencji pamięci na instrukcję, i średnia liczba chybień schowka na 1000 instrukcji wynosi 30. Jaki jest wpływ na działanie kiedy włączymy zachowanie schowka? Oblicz wpływ przy użyciu chybień na instrukcję i stosunku chybień.

18.

Wpływ chybień schowka na działanie.

Chybienia schowka mają podwójny wpływ na CPU z niskim CPI i szybkim zegarem:

-im niższe wykonanie CPI, tym wyższy relatywny wpływ na stałą liczbę chybień schowka w cyklach zegarowych

- podczas obliczeń CPI, kara chybień schowka jest mierzona w cyklach zegarowych CPU na chybienie.

Dlatego, nawet jeżeli hierarchie pamięci dla 2 komputerow sa identyczne, CPU z wyższym stosunkiem zegarowym ma większą liczbę cyklów zegarowych na chybienie i większą porcję pamięci CPI.

19.

Zmniejszanie kary chybień schowka

20.

2-poziomowe schowki

Kiedy kara chybieńL1=czas trafień L2 + stosunek chybień L2*kara chybień L2

- wtedy średni czas dostępu pamięci=czas trafień L1+stosunek chybieńL1

-*(czas trafień L2+stosunek chybień L2*kara chybień L2)

-stosunek lokalnych chybień - to liczba chybień w schowku podzielona przez całą liczbę dostępów do pamięci tego schowka

-stosunek globalnych chybień - liczba chybień w schowku podzielona przez całą liczbę dostępów do pamięci generowanych przez CU.

Średnie opóźnienia pamięci na instrukcję= chybienia na instrukcjęL1 *czas trafieńL2+ chybienia na instrukcjęL2 * kara chybień L2

24.

3 kategorie chybień

27.

Organizacja pamięci głównej w celu poprawy działania

- pomiary działania pamięci głównej podkreślają zarówno opóźnienie jak i przepustowość (szerokość pasma) (liczba przeczytanych lub zapisanych bajtów w jednostce czasu)

- przyjmij, że działanie organizacji pamięci podstawowej to:

- 4 cykle zegarowe do wysłania

- 56 cykli zegarowych dla czasu dostępu na słowo

- 4 cykle zegarowe aby wysłać słowo z danych

ÛÜ MajÄ…c blok schowka zÅ‚ożonego z 4 słów, a sÅ‚owo to 8 bajtów, kara chybienia to

4*(4+56+4) = 256

Cyklów zegarowych z przepustowością pamięci 1/8 bajta.

28.

Organizacja pamięci głównej w celu poprawy działania

Szersza pamięć główna

- 1-poziomowe schowki są często zorganizowane z fizyczną szerokością 1 słowa ze względu na to, że dostępy CPU sa tej wielkości

- kiedy podwoimy szerokość schowka i pamięci, przepustowość pamięci się podwoi

- z pamięcią 2 słów, kara chybień w naszym przykładzie spadłaby z 256 cyklów zegarowych do 128 (potrzebujemy połowę dostępu do pamięci i przepustowość wynosi ¼ bajta na cykl zegarowy.)

29.

Interleaving - przeplatanie

Pytanie; co może kupić przeplatanie i szeroka pamięć?

31.

Pamięć wirtualna

32.

Przydatne definicje:

-Strona lub segment są używane dla bloków pamięci.

-błąd strony lub błąd adresu jest używany dla chybień.

-CPU używa wirtualnych adresów, które są tłumaczone przez kombinację sprzętu i oprogramowania na fizyczne adresy, co daje dostęp do pamięci głównej.

-powyższy proces nazywany jest mapowaniem pamięci lub tłumaczeniem adresu.

33.

Różnice pomiędzy stronicowaniem a segmentacją

0x01 graphic

Strona segment

Słowa na jedno dwa (segment i przesunięcie)

adres

widoczny niewidoczny dla programatora

programator? aplikacji



Wyszukiwarka

Podobne podstrony:
wyk.9, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Assembler
wyk.7.1, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Assembl
wyk.7, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Assembler
ukl 74xx, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Archit
Sprawozdanie 2, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych,
ukl 74xx, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Archit
I kolokwium, Informatyka PWr, Algorytmy i Struktury Danych, Algorytmy i Struktury Danych, kolokwia i
I kolokwium(1), Informatyka PWr, Algorytmy i Struktury Danych, Algorytmy i Struktury Danych, kolokwi
II1 kolokwium, Informatyka PWr, Algorytmy i Struktury Danych, Algorytmy i Struktury Danych, kolokwia
I1 kolokwium, Informatyka PWr, Algorytmy i Struktury Danych, Algorytmy i Struktury Danych, kolokwia
II kolokwium, Informatyka PWr, Algorytmy i Struktury Danych, Algorytmy i Struktury Danych, kolokwia
II kolokwium(1), Informatyka PWr, Algorytmy i Struktury Danych, Algorytmy i Struktury Danych, kolokw
wyklad AiSD, Informatyka PWr, Algorytmy i Struktury Danych, Algorytmy i Struktury Danych
Backtracking, INFORMATYKA - ROK 1, Algorytmy i struktury danych
cw 0 1, pwr, informatyka i zarzÄ…dzanie, Informatyka, algorytmy i struktury danych
egzamin info, pwr, informatyka i zarzÄ…dzanie, Informatyka, algorytmy i struktury danych, aisd kolokw
cw 0 1, pwr, informatyka i zarzÄ…dzanie, Informatyka, algorytmy i struktury danych
Algorytmy i struktury danych Wykład 1 Reprezentacja informacji w komputerze
ALS - 001-000 - Zadania - ZAJECIA, Informatyka - uczelnia, WWSI i WAT, wwsi, SEM II, Algorytmy i Str

więcej podobnych podstron