METODY ELIMINACJI STUDENTÓW INFORMATYKI. Czyli co student INF-EKA powinien wiedzieć o MESI...



Podobne dokumenty
Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

Ograniczenia efektywności systemu pamięci

Architektura komputerów

Architektura komputerów

Ograniczenia efektywności systemu pamięci

Dr inż. hab. Siergiej Fialko, IF-PK,

Mikroprocesor Operacje wejścia / wyjścia

ARCHITEKTURA KOMPUTERÓW Bufory pamięci bufor zawiera kopie aktualnie przetwarzanych danych

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Architektura Systemów Komputerowych

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Rys. 1. Podłączenie cache do procesora.

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

System pamięci. Pamięć podręczna

W komputerze z programem zintegrowanym programy i dane mają tedencję do skupiania w wymiarze przestrzennym i czasowym.

architektura komputerów w. 7 Cache

ARCHITEKTURA PROCESORA,

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Zrównoleglenie i przetwarzanie potokowe

Programowanie mikroprocesorów jednoukładowych

Architektura komputera

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Plan wykładu. Architektura systemów komputerowych. Strategie zapisu. Cezary Bolek

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Współpraca procesora ColdFire z pamięcią

Architektura komputerów

Pamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci. Ptc 2013/

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Architektura komputerów. Układy wejścia-wyjścia komputera

Pamięci półprzewodnikowe

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Architektura komputerów

Zarządzanie zasobami pamięci

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Architektura komputerów

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Schematy zarzadzania pamięcia

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych

Wstęp do informatyki. Interfejsy, urządzenia we/wy i komunikacja. Linie magistrali

Programowanie Niskopoziomowe

Mikroprocesory rodziny INTEL 80x86

System pamięci. Pamięć podręczna

Hierarchia pamięci w systemie komputerowym

Pamięci półprzewodnikowe na podstawie książki: Nowoczesne pamięci

Struktura systemów komputerowych

Architektura systemów komputerowych. Przetwarzanie potokowe I

Weryfikacja protokołu zgodności cachu COMA

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura komputerów

Architektura systemu komputerowego

Przetwarzanie potokowe pipelining

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania

System plików. Warstwowy model systemu plików

Systemy operacyjne system przerwań

Organizacja pamięci współczesnych systemów komputerowych : pojedynczy procesor wielopoziomowa pamięć podręczna pamięć wirtualna

Architektura komputerów

Architektura systemów komputerowych. dr Artur Bartoszewski

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Architektura mikroprocesorów z rdzeniem ColdFire

Działanie systemu operacyjnego

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Magistrala systemowa (System Bus)

Działanie systemu operacyjnego

Tworzenie sterowników dla FreeBSD. Michał Hajduk

System pamięci. Pamięć wirtualna

Urządzenia wejścia-wyjścia

Działanie systemu operacyjnego

Rozproszona pamiêæ dzielona - 1

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Architektura systemu komputerowego

Organizacja pamięci w procesorach graficznych

Tadeusz Pankowski

Architektura systemów komputerowych. dr Artur Bartoszewski

, " _/'--- " ~ n\l f.4e ' v. ,,v P-J.. ~ v v lu J. ... j -:;.",II. ,""", ",,> I->~" re. dr. f It41I r> ~ '<Q., M-c 'le...,,e. b,n '" u /.

Procesory. Schemat budowy procesora

Architektura mikroprocesorów TEO 2009/2010

Przegląd architektury PlayStation 3

Działanie systemu operacyjnego

Systemy operacyjne. Struktura i zasady budowy. Rozdział 1 Wprowadzenie do systemów komputerowych

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Budowa karty sieciowej; Sterowniki kart sieciowych; Specyfikacja interfejsu sterownika sieciowego; Open data link interface (ODI); Packet driver

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Architektura komputerów

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Architektura Systemów Komputerowych

Zarządzanie pamięcią w systemie operacyjnym

Architektura potokowa RISC

dr inż. Jarosław Forenc

Wykład 2. Struktury systemów komputerowych. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Logiczny model komputera i działanie procesora. Część 1.

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Architektura systemów informatycznych

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Wykład IV. Układy we/wy. Studia Podyplomowe INFORMATYKA Architektura komputerów

System obliczeniowy laboratorium oraz. mnożenia macierzy

Cel odtwarzania. Transakcyjne odtwarzanie bazy danych. Modele awarii. Efektywność odtwarzania MTTF

Analizator wydajności AMD CodeAnalyst

Transkrypt:

METODY ELIMINACJI STUDENTÓW INFORMATYKI Czyli co student INF-EKA powinien wiedzieć o MESI... copyright Mahryanuss 2004

Data Cache Consistency Protocol Czyli po naszemu protokół zachowujący spójność danych w pamięci podręcznej. Protokół spójności danych w cache składa się z zestawu reguł, poprzez które do linii pamięci podręcznej przydzielane zostają stany. Zasady te stosuje się tylko do cykli zapisu oraz odczytu. Każda linia w pamięci cache procesora ma przydzielony stan zależny od poprzedniej aktywności procesora, jak i aktywności całej magistrali danych. Protokół kontroli danych w procesorze pentium zawiera cztery stany definiujące poprawność linii, dostępność danych w niej zawartych w innych poziomach cache, oraz czy nie została zmodyfikowana (przez procesor). Te stany to: M E S I (zmodyfikowany) (wyłączny) (wspólny) (niepoprawny) M - linia pamięci jest dostępna tylko w jednym z poziomów cache, i jest różna od zawartości pamięci operacyjnej. Do linii w stanie M może być przeprowadzony dostęp bez odwoływania się do magistrali. E - linia pamięci jest dostępna tylko w jednym z poniomów cache, oraz w Pamięci Operacyjej. Do linii w stanie E może być przeprowadzony dostęp bez odwoływania się do magistrali. Próba zapisu do tej linii zmieni jej stan na M. S - stan wskazuje na to, że linia jest potencjalnie wspólna dla wszystkich poziomów cache, oraz dla Pamięci Operacyjnej. Odczyt z tej linii nie odwoła się do magistrali pamięci, ale zapis tak. Zapis do linii S odświeży jej zawartość. I - stan ten wskazuje, że linia nie jest dostępna w cache. Odczyt z niej będzie chybiony i spowoduje natychmiastowe wypełnienie linii zawartością z Pamięci Operacyjnej. Zapis do linii I powoduje w procesorach Pentium wywołanie cyklu zapisu skrośnego na magistrali. Poprawność danych w poziomach pamięci, a stan linii: Stan Poprawność linii Poprawność linii w innym poziomie cache Poprawność danych w PO M Tak Nie Nie E Tak Nie Tak S Tak Tak Tak I Nie? Tak

Tryby zapisu w cache WT - write through, zapis skrośny. Jest to pierwszy tryb zapisu jaki powstał. Używany był w procesorach 80486 (pierwsze układy z pamięcią podręczną). Jest to zapis przeprowadzany przez całą hierarchię pamięci od najniższego poziomu cache do Pamięci Operacyjnej. WB - write back (copy back). Wprowadzony razem z architekturą pentium. Jest to rodzaj zapisu z opóźnieniem. Po wpisaniu danej do linii cache aktualizacja reszty pamięci jest opóźniana do momentu wymiany danej linii w pamięci podręcznej. Przyspiesza to znacznie działanie systemu cache i zmniejsza aktywność na magistrali. WO - write once. Jest to połączenie obu powyższych trybów. Pierwszy zapis do cache realizowany jest jako WT (po wystąpieniu RM). Dalsze zapisy są przeprowadzane w trybie WB, aż do ponownego unieważnienia linii cache. Write through: W tym trybie występują tylko dwa stany danej linii. S oraz I. W wyniku chybionego odczytu w stanie Invalid linia jest wypełeniana zawartością PO. W tym momencie stan linii przechodzi w S. Kolejny zapis do tej linii uaktywania zawsze zapis skrośny czyli uaktualnienie wszystkich poziomów pamięci, więc stan nadal pozostaje w S. To samo występuje w przypadku odczytu z cache. Nic nie ulega zmianie, więc stan pozostaje ten sam. Odczyt poprzez kanał DMA powoduje natychmiastową aktualizację danych w pamięci operacyjnej zawartością danej linii, więc stan linii to S. Zewnętrzny zapis do PO unieważnia daną linię. Write back: W wyniku wypełnienia linii przechodzi ona w stan E. Po kolejnym zapisie przechodzi do M, i tam już pozostaje przy następnych zapisach. Zapis do PO poprzez DMA przenosi linię w stan I. Zewnętrzny odczyt powoduje przejście do E (czyli wypełnienie linii). Odczyt trafiony (czyli odczyt przy stanach różnych od I) jak zwykle nic nie zmienia. Write once: Wypełnienie linii działa jak w WT, więc przenosi do stanu S. Pierwszy zapis przenosi do stanu E (od tej pory działa tryb CB). Kolejne zapisy przenoszą do M. Skonsolidowanie linii z zwartością PO w wyniku odczytu poprzez kanał DMA powoduje przejście do stanu S (tryb WT). Zapis przez DMA unieważnia linię. Można to wszystko przedstawić w postaci prostej tabelki: WT WB WO Line fill S E S Write hit S M E Subsequent * Write S M M ESH-R S E S ESH-W I I I Read Hit - - - *subsekwentny (jakby to określił JB) ;P

Rozwalanie zadań na kole :) Oto kilka imperatywów do rozwiązywania zadań z cache: W zadaniach od JB oba poziomy cache traktuje się osobno. Ścieżkę przejść należy stosować do obu w zależności od trybu w jakim pracują. Ustalenie trybu pracy jest bardzo proste i wymaga znajomości powyższej tabelki. Identyfikacja jest możliwa najczęściej dzięki informacji na temat pierwszego zapisu. Przykład. Jeżeli podane jest, że po pierwszym zapisie (już po wypełnieniu linii) stan się nie zmienia, to implikuje to tryb WT, w którym wszystkie zapisy przenoszą linię w stan S. Jeżeli natomiast powiedziane jest, że przy zapisie stan linii przechodzi do E, to wiadomo, że mamy do czynienia z WO lub WB. Jeżeli przejście do E wystąpi przy pierwszym zapisie, to wiadomo, że jest to WO, a jeżeli znajdujemy się w E po wypełnieniu linii, to znaczy, że mamy do czynienia z trybem WB. Wszystko co trzeba zapamiętać, to stany linii przy zapisach do cache (wypełnienie, pierwszy zapis, drugi zapis). Wiadomo, że odczyt nigdy nie wpłynie na stan linii, zapis poprzez DMA do PO zawsze ją unieważni, natomiast odczyt DMA uaktywni wypełnienie linii (a konkretnie sprawdzenie czy jest taka, jak zawartość odpowiedniego bloku w PO). Użyte skróty: PO - pamięć operacyjna DMA - direct memory access, czyli bezpośredni dostęp do pamięci z pominięciem procesora JB - wiadomo ;) ESH - external hit, dostęp zewnętrzny do pamięci (np. Poprzez DMA). Kto doszedł aż tutaj, ten zaliczy egzamin na 5.0 ;P