Porównać (3 różnice min) cache i pam. głównej
Cache ma mniejsza pojemność i mniejszy czas dostępu (Czas dostępu 4ns cache, a RAM 40ns)
Cache jest na SRAM a pao na DRAM
Wiec cache jest droższy za MB i ma rzadsze upakowanie b/cm^2
Im więcej PAO tym lepiej, ale z cachem juz niekoniecznie
Cache jest droższy
Cache jest szybszy
Ram jest wdziany przez programistę
Pamięć cache leży bliżej procesora niż pamięć Głowna (pamięć cache jest wyżej w hierarchii)
Różnica (3 min) miedzy przetwarzaniem sekwencyjnym a potokowym
Rozpoczęcie wykonywania sekwencji wykonania następnego rozkazu następuje po zakończeniu rozkazu (przetwarzanie sekwencyjne)
Wykonie pojedynczej instrukcji w przetwarzaniu potokwaym jest wolniejsze w porównaniu do sekwencyjnego
W przetwarzaniu sekwencyjnym brak hazardów
Czas wykonania całego zadania może być krótszy w przetw. Potokowym niż sekwencyjnym
W potokowym wiele rozkazów znajduje sie w rożnej fazie wykonania
Porównać (3 różnice min) wirtualnej i pam. Głównej
Pamięć wirtualna tworzy cala przestrzeń adresowa a pamięć operacyjna niekoniecznie
Pamięć wirtualna może przydzielić więcej pamięci dla procesów niż rzeczywista ilość pam. Fizycznej
Cześć pamięci wirtualnej może znajdować sie na dysku w postaci plików stronicowania (Windows, dla systemów Unix podajże jest wydzielona specjalna partycja)
Pamięć wirtualna wspomaga pamięć główną
Wyjaśnić:
Czas dostępu - czas między wysłaniem żądania a otrzymaniem odpowiedzi
RAM - pamięć o dostępie swobodnym, w której przechowane są aktualnie wykonywane programy
Wyjaśnij znaczenie terminów dotyczących Cache
Write through (zapis skrośny) - najstarszy chronologicznie tryb zapisu, używany 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. Występują tu tylko dwa stany - Shared oraz Invalid. Po wypełnieniu linii następuje przejście do Shared. Linia zostaje zamarkowana, jako Invalid podczas zapisu do pamięci poprzez kanał DMA (ESH-W - External Hit Write).
Lokalność przestrzenna - jeśli obiekt był ostatnio żądany, to prawdopodobnie będą też żądane obiekty leżące blisko niego. Położenie w wypadku pamięci komputera oznacza zwykle adres maszynowy. W przypadku plików na stronie internetowej, pliki linkujące do siebie leżą blisko siebie.
FIFO - kolejka, w której dana, która weszły do niej, jako pierwsza wyjdzie, jako pierwsza (to samo odnosi sie do rozkazów a tu chyba właśnie chodzi o rozkazy)
Przerwanie opisać
Oczekiwanie na zakończenie rozkazu przed nastąpieniem przerwania
Odłożenie wartości rejestrów na stos
Wykonanie instrukcji procedury obsługi przerwania
źciągniecie wartości rejestrów ze stosu i powrót do miejsca gdzie nastąpiło przerwanie
ISA - Co to jest?
Architektura listy rozkazów, opisuje budowę i współdziałanie poszczególnych elementów systemu komputerowego, widzianych przez programistę stosującego język maszynowy.
ISA - jakie elementy wchodzą (wymienić i opisać)
Model Pamięci
Rozmiar jednostki alokacji - najmniejszej „porcji” pamięci możliwej do zaadresowania, na przykład bajt.
Zasady stosowania wyrównania(alligment), np. adres 32 bitowy musi się kończyć na 00
Jedno lub wielowymiarowość pamięci, na przykład stosowanie segmentacji.
Rejestry
Ogólnego przeznaczenia, ich liczba, stopień, uniwersalność
Zmienno przecinkowe, ogólnego przeznaczenia FPR
Specjalizowane, licznik rozkazów, ProgramStatusWord-rejestr flag,
Typy danych
Liczbowe:
Całkowite(integer), ze znakiem lub bez, 8, 16, 32, 64 bitowe
Zmienno przecinkowe, np. pojedynczej precyzji(32b), podwójnej(64b), niekiedy 80 lub1 128 bitowe.
BCD - liczby dziesiętne, w których każda liczba jest kodowana dwójkowo
Nie liczbowe, np. znakowe (ASCII 8b, UNICODE 16b), łańcuchy znaków, zmienne logiczne, pola bitowe.
Formaty instrukcji
Stałej lub zmiennej długości
Liczba operandów, w tym liczba dopuszczalnych argumentów w pamięci operacyjnej
Zasady stosowania przedrostków (np. zmieniających domyślny rozmiar argumentów z 32 na 64 bitowe).
Położenie, długość i sposób kodowania poszczególnych pól instrukcji
Typy instrukcji
Architektura Load/Store, czy argumenty dla operacji ALU mogą znajdować się w PAO itp.
Przesyłania danych
Arytmetyczne
Logiczne
Przesunięć arytmetycznych, logicznych, cyklicznych
skoki bezwarunkowe(jump), warunkowe(branch), petle(loop), wywołania procedur(call ret)
Tryby adresowania argumentów
Konwencja korzystania z usług systemowych
Cechy przetwarzania potokowego
Nie zmniejsza się czas wykonywania rozkazu(w praktyce nieco się zwiększa!)
Może zmniejszać czas wykonania całego zadania przez zwiększenie przepustowości procesora
Szybkość potoku jest ograniczona przez najwolniejszy z etapów przetwarzania
Wiele rozkazów znajduje się w danej chwili czasu w różnych fazach wykonania
Potencjalne przyspieszenie maksymalne jest równe liczbie etapów potoku
Niezbalansowana długość czasu przetwarzania na poszczególnych etapach prowadzi do uzyskania mniejszego przyspieszenia
Efekt napełniania potoku(skoki)
Hazard - Głowna przeszkoda w przyspieszeniu wykonywania programu w procesorach potokowych
Typy hazardów:
Strukturalny - konflikt zasobów, sprzęt nie jest w stanie zrealizować żądań wszystkich możliwych instrukcji
Danych - instrukcja produkuje wynik, który jest argumentem dla następnej
Sterowania - przy skokach mogą zmienić zawartość licznika rozkazów. Instrukcja nie kończy się w przewidzianym momencie
Typy adresowania
Natychmiastowe
Bezpośrednie pamięciowe
Pośrednie pamięciowe
Bezpośrednie rejestrowe
Pośrednie rejestrowe
Przesunięciem
Stosowe
Architektura, Organizacja, Realizacja
Architektura - opis budowy i działania komputera, widziany przez programistę. Odpowiada na pytanie, CO? Skupia się na funkcjach, jakie potrafi wykonać komputer i obiektach, jakie podlegają przetwarzaniu.
Organizacja - struktura logiczna podzespołów i ich wzajemne powiązania, dla spełnienia postulatów zawartych w architekturze(różne organizacje, mogą być z godne z tą samą architekturą). Odpowiada na pytanie JAK? Skupia się na metodach
Realizacja - Struktura fizyczna. Odpowiada na pytania, KTÓRY? GDZIE? KIEDY? Skupia się na środkach potrzebnych do realizacji założeń organizacji, na przykład poziomy napięć, narastanie sygnałów i tym podobne.
Różne architektury:
Stosowa(operacje na stosie). PUSH A PUSH B ADD // dodaje A, do B POP C //wynik
Architektura akumulatorowa LOAD A ADD B STORE C
Architektura pamięć - pamięć (przestarzała, nie występuje we spółczesnych komputerach) ADD C, A, B
Architektura rejestr - pamięć LOAD R1, A ADD R3, R1, B Store C, R3
Architektura rejestr - rejestr (LOAD STORE) dobra, przy dużej ilości rozkazów LOAD r1, A LOAD r2, B ADD r3, r1, r2 STORE C, R3
Wymień i opisz zadania 5 typowych linii sterowania w magistrali współczesnego komputera.
Zapis w pamięci - sprawia, że dane z magistrali zostają zapisane pod określonym adresem.
Odczyt z pamięci - sprawia, że dane spod określonego adresu są umieszczone w magistrali.
Zapotrzebowanie na magistralę (bus request) - wskazuje, że moduł zgłasza zapotrzebowanie na przejęcie sterowania magistralą.
Żądanie przerwania (interrupt request) - wskazuje, że przerwanie jest zawieszone
Zegar - wykorzystywany do synchronizacji operacji
Rozważ hipotetyczny mikroprocesor 32 bitowy mający 4 bajtowe rozkazy, złożone z dwóch pól. Pierwszy bajt zawiera kod operacji, pozostałe zaś argument natychmiastowy lub bezpośredni adres argumentu.
Maksymalna przestrzeń pamięci i dlaczego, w bajtach
Czyli tak: Rozkaz zajmuje 4*8 = 32 bity. Rozkaz może zawierać bezpośredni adres argumentu. Na ten adres przeznaczone jest 32-8 = 24 bity. Maksymalna przestrzeń, która można zaadresować to 2^24, jednak Miktus raczej nie lubi takich zapisów. Wystarczy zapamiętać, ze: 2^10 - 1kb, 2^20 - 1MB
Tak wiec 2^24=2^4 * 2^20 = 16 Mb - taka jest maksymalna przestrzeń pamięci.
Ile bitów i dlaczego musi zawierać licznik rozkazów
3 bajty, bo zawiera adres rozkazu do wykonania.
Ile bitów i dlaczego musi zawierać rejestr rozkazów
4bajty, bo zawiera cały rozkaz.
Opisz czynności wykonywane przez komputer przy odczycie danych z pamięci. Uzasadnij różnice w czasie dostępu i podaj przykłady urządzeń pamięciowych, które stosują dostęp:
Dostęp sekwencyjny. Pamięć jest zorganizowana za pomocą jednostek danych zwanych rekordami. Dostęp jest możliwy w określonej sekwencji liniowej. Do oddzielania rekordów i do pomocy przy odczycie są wykorzystywane przechowywane informacje adresowe. Odczyt i zapis są wykonywane za pomocą tego samego mechanizmu, przy czym proces ten musi się przenosić z pozycji bieżącej do pozycji pożądanej, przepuszczając i odrzucając każdy rekord pośredni. W rezultacie czas dostępu do różnych rekordów może się bardzo różnić. Pamięci taśmowe, omawiane w rozdz. 5, charakteryzują się właśnie dostępem sekwencyjnym.
Dostęp bezpośredni. Podobnie jak w przypadku dostępu sekwencyjnego, proces odczytu i zapisu w pamięciach o dostępie bezpośrednim jest realizowany za pomocą tego samego mechanizmu. Jednak poszczególne bloki lub rekordy mają unikatowy adres oparty na lokacji fizycznej. Dostęp jest realizowany przez bezpośredni dostęp do najbliższego otoczenia, po którym następuje sekwencyjne poszukiwanie, liczenie lub oczekiwanie w celu osiągnięcia lokacji finalnej. Jak poprzednio czas dostępu jest zmienny. Pamięci dyskowe, które omówimy w rozdz. 5, charakteryzują się dostępem bezpośrednim.
Dostęp swobodny. Każda adresowalna lokacja w pamięci ma unikatowy, fizycznie wbudowany mechanizm adresowania. Czas dostępu do danej lokacji nie zależy od sekwencji poprzednich operacji dostępu i jest stały. Dzięki temu dowolna lokacja może być wybierana swobodnie i jest adresowana i dostępna bezpośrednio. Systemy pamięci głównej wyróżniają się dostępem swobodnym.
Wymień i opisz własności kolejnych elementów hierarchii pamięć, które powodują typowe uszeregowanie tych elementów w hierarchii pamięci od rejestrów procesora do pamięci taśmowych.
Opisz zasadniczą wadę odwzorowania bezpośredniego w pamięci cache. Czy i jak można tę wadę zniwelować w 4 drożnym rozwiązaniu zbiorowo asocjacyjnym.
Jej główną wadą jest to, że dla danego bloku istnieje stała lokalizacja w pamięci podręcznej. W rezultacie, jeśli program będzie się często odwoływał do słów z dwóch różnych bloków przypisanych do tego samego wiersza, to bloki te będą ciągle przenoszone do pamięci podręcznej, co obniży ogólną szybkość.
Czterodrożne odwzorowywanie umożliwia uzyskanie umiarkowanej poprąwę w zamian za względnie mały koszt dodatkowy. Dalsze zwiększanie liczby wierszy w sekcji przynosi małe efekty.
Opisz zasadniczą wadę algorytmu zapisu jednoczesnego (write-through) do pamieci cache.
Każda operacja zapisu wymaga dostępu do pamięci głównej. Zastosowanie zapisu natychmiastowego oznacza, że w przypadku każdej operacji zapisu w pamięci podręcznej wymagane jest wykonanie tej samej czynności w pamięci głównej, przez co spada wydajność systemu (jesli wszystkie opreacje dostępu mają na celu zapis danych w pamięci, szybkość systemu jest równa szybkości pamięci głównej). Jednak w rzeczywistych zastosowaniach celem większości opreacji dostępu jest odczyt danych, dlatego też spadek szybkości jest nieznaczny.
Wymień i opisz trzy zalety komputerów o architektórze RISC w stosunku do architektury CISC
Wszystkie rozkazy mają ten sam format. Upraszcza to proces pobierania rozkazów z pamięci, ich przechowywanie w rejestrach pośrednich (kolejkach rozkazów) oraz dekodowanie (ten sam typ informacje zajmuje zawsze te same bity)
Wszystkie rozkazy mają ten sam (lub prawie ten sam) czas realizacji. Pełny cykl rozkazoway dzielony jest na fazy o takim samym czasie trwania. Każda faza realizowana jest w czasie jednego taktu zegarowego. Ułatwia to organizację przetwarzania strumieniowego i umożliwa sychroniczne sterowanie (zmiana faz odbywa się na każdym stopniu w tym samym czasie)
Wyposażenie mikroprocesora w dużą liczbę rejestrów uniwersalnych. Stosowane są następujące liczby rejestrów : 32, 64, 128.