porownac (3 roznice min) cache i pam. glównej (pozwoliłem sobie zebrac
wszsytko co napialiscie)
- cache ma mniejsza pojemnosc i mniejszy czas dostepu (Czas dostępu 4ns
cache, a RAM 40ns)
- cache jest na SRAM a pao na DRAM
- wiec cache jest drozszy za MB i ma rzadsze upakowanie b/cm^2
- im wiecej PAO tym lepiej, ale z cachem juz niekoniecznie
-Cache jest droższy
-Cache jest szybszy
-ram jest widzany przez prgramiste
Róznica (3 min) niedzy przetwarzaniem sekwencyjnym a potokowym
-rozpoczecie wykonywania sekwencji wykonia nastepnego rozkazu
nastepuje po zakonczeniu rozkazu (przetwazanie sekwencyjne)
-wykonie pojedynczej instrukcji w przetwarzaniu potokwaym jest wolnijsze
w porównaiu do sekwencyjnego
-w przetwarzaniu sekwencyjnym brak hazardów?
-czas wykonania całego zadania moze byc krótszy w przetw. Potokowym niz
sekwencyjnym
-w potokowym wiele rozkazow znajduje sie w roznej fazie wykonania
porownac (3 roznice min) wirtualnej i pam. glównej
-pamiec wirtualna tworzy cala przestrzen adresowa a pamiec operacyjna
niekoniecznie
-pamiec wirtualna moze przydzielic wiecej pamieci dla procesow niz
rzeczywista ilość pam. Fizycznej
-czesc pamieci wirtualnej moze znajdowac sie na dysku w postaci plikow
stronicowania (Windows, dla systemow Unix podajze jest wydzielona
specjalna partycja)
-pamiec wirtualna wspomaga pamiec glowną
hazard sterowania - zaburzenie sekwencji przetwarzania przy
rozgałęzieniu. Zmniejszenie uciążliwości tego konfliktu jest osiągane przez
zastosowanie prognozy rozgałęzień (skoków). Prognoza może być statyczna
lub dynamiczna. Straty wywołane przez rozgałęzienia warunkowe można
zmniejszyć metodami programowymi lub sprzętowymi.
Hazard danych - jednoczesne użycie tej samej danej. Grupowe
przetwarzanie rozkazów umożliwia usunięcie niektórych konfliktów danych
i jednocześnie złagodzenie konfliktów dostępu. Nie zawsze bowiem jest
konieczne zachowanie porządku wykonania rozkazów ustalonego w
programie, a zmiana kolejności może wyeliminować przestoje związane z
konfliktem danych i konfliktem dostępu. Metodą zmniejszania strat
wywołanych konfliktem dostępu jest stosowanie skrótów na ścieżkach
przepływu danych. Skróty polegają na tworzeniu bezpośrednich połączeń
między stanowiskami etapów wykonania i zapisu wyniku, co umożliwia
błyskawiczne dostarczenie wyniku wytworzonego ale nie zapisanego do
jednostki wykonawczej. Każdy skrót wymaga użycia dodatkowego zatrzasku
i pary komparatorów do sprawdzenia, czy sąsiednie instrukcje współdzielą
zasób.
hazard zasobów - jednoczesne żądanie dostępu do pamięci lub innego
zasobu unikatowego w komputerze. W celu wyeliminowania konfliktów do
pamięci spowodowanych jednoczesnymi żądaniami pobrania kolejnego
rozkazu i przesłania danych, wewnętrzną pamięć podręczną należy rozdzielić
na osobne pamięci danych i pamięci kodu. Rozwiązanie takie nie jest
sprzeczne z modelem klasycznym, bo pamięć podręczna jest jedynie
buforem pamięci głównej, zawierającym kopie oryginalnej informacji
umieszczonej w pamięci głównej lub dane tymczasowe. Takie rozdzielenie
umożliwia jednoczesny dostęp do kodu i danych. Potencjalny konflikt
dostępu do jednostki adresowej złagodzi też buforowanie instrukcji,
podobnie jak konflikt przy konieczności zapisu do pamięci głównej można
złagodzić przez stosowanie bufora zapisu. Konflikty dostępu do plików
rejestrowych można złagodzić rozbudowując układy dostępu do rejestrów.
czas dostępu - czas między wysłaniem żądania a otrzymaniem odpowiedzi
RAM - pamieć o dostępie swobodnym w której przechowwane są aktualnie
wykonywane programy (i neiwiem cotam mozna inteligentnego jeszcze
napisać)
CAS - Column Address Select („wybór adresu kolumny”) Adresy te odnoszą
się do kolumny fizycznych komórek pamięci w tablicy kondensatorów
używanych w dynamicznej pamięci RAM
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łą do niej jako pierwsza wyjdzie
jako pierwsza 9to samo odnosi sie do razkazów a tu chyba włąsnie chodiz o
rozkazy)...
przerwanie opisac
-oczekiwanie na zakonczenie rozkazu przed nastąpieniem przerwania
-odłożenie wartosci rejestrów na stos
-wykonanie instrukcji procedury obsługi przerwania
-ściagniecie wartosci rejestrów ze stosu i powrót do miejsca gdzie nastąpiło
przerwanie
Typy adresowania
-natychmiastowe
-bezpośrednie pamieciowe
-pośrednie pamieciowe
-bezpośrednie rejestrowe
-pośrednie rejestrowe
-przesunięciem
-stosowe
Cechy przetwarzania potokowego
-nie zmniejsza się czas wykonywania rozkazu(w praktyce nieco się
zwiększa!)
-może zmniejszać czas wykonania czał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)
pamięc cache z dostępem asocjacyjnym i bezposrednim (zapewne chodzi
o mapowanie bezpośrednie) rózenice omowic i opisac
-pamięć cache o dostępie bezpośrednim ma mniej skomplikowany algorytm
wyszukiwania trafień
-W każdej linijce pamięci podręcznej o dostepie bezposrednim mogą być
przechowywane tylko określone bloki z RAM. Natomiast w cachu o dostępie
asocjacyjnym może być w jednej linii kilka znaczników różnią się one
numerem bloku w którym zapisana jest dana.
-cache o dostepie asocjacyjnym wymaga przezaczenia większej ilości
pamieci na zapamietanie numerów bloku
-Każdy bajt pamięci głownej w pamieci o dostepie swobodnym ma na stałe
przypisaną lokalizację w pamięci Cache.
ISA –Architektura listy rozkazów, opisuje budowę i współdziałanie
poszczególnych elementów systemu komputerowego, widzianych przez
programiste stosującego język maszynowy.
ISA - jakie elementy wchodza (wymienic i opisac)
1. 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ę
konczyć na 00
- jedno lub wielowymiarowość pamięci, na przykład stosowanie segmentacji.
2. Rejestry
- ogólnego przeznaczenia, ich liczba, stopień, uniwersalność
- zmienno przecinkowe, ogólnego przeznaczenia FPR
-specjalizowane, licznik rozkazów, ProgramStatusWord-rejestr flag,
3. Typy danych
a) liczbowe
-całkowite(integer), ze znakiem lub bez, 8, 16, 32, 64 bitowe
-zmienno przecinkowe, np. pojedynczej precyzji(32b), podwojnej(64b),
niekiedy 80 lub1 128 bitowe.
-BCD – liczby dziesiętne w których każda liczba jest kodowana dwójkowo
b) nieliczbowe, np. znakowe (ASCII 8b, UNICODE 16b), łańcuchy znaków,
zmienne logiczne, pola bitowe.
4.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. zmieniajacych domyślny rozmiar
argumentow z 32 na 64 bitowe).
-położenie, długość i sposób kodowania poszczególnych pól instrukcji
5. 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)
6. Tryby adresowania argumentów
7. Konwencja korzystanai z usług systemowych
architektura - opis budowy i działanai 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 postólatów zawartych w architektórze(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 napieć, narastanie sygnałów i tym
podobne.
Cykl rozkazowy
-Zawartość licznika rozkazów wystawiana jest na magistrali adresowej.
-Jednocześnie mikroprocesor generuje sygnał odczytu z pamięci (MEMRD).
-Zawartość licznika rozkazów wystawiana jest na magistrali adresowej.
-Jednocześnie mikroprocesor generuje sygnał odczytu z pamięci (MEMRD).
-Instrukcja ze wskazanej komórki pamięci zapisywana jest do rejestru.
-Zawartość licznika rozkazów jest automatycznie zwiększana o jeden.
-Instrukcja jest dekodowana w układzie dekodera instrukcji.
-Układ sterowania generuje mikroinstrukcje w celu wykonania rozkazu.
Różne architekruty:
-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ęć (przestażał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