1)Wydajność systemu komputerowego
CZAS ODPOWIEDZI
-ile czasu potrzeba do wykonania zadania
-po jakim czasie uzyska się odpowiedż na zapytanie
-jak długo trzeba czekać aby skorzysta z zasobów systemu
PRZEPUSTOWOŚĆ
-liczba zadan wykonana przez system jednocześnie
-średni czas wykonania zadania
-liczba zadan wykonanychw jednostce czasu
MIARY WYDAJNOŚCI
a)CPI
CPI=liczba taktów procesora/liczba instrukcji
CPI jest miarą wskazującą jakoś architektury systemu, efektywność listy instrukcji.
b)MIPS
MIPS=częstotliwośc zegara/CPI*10 do 6
Miliony instrukcji procesora na sekundę
c)MFLOPS
miliony instrukcji zmiennoprzecinkowych procesora na sekundę
BENCHMARK
Pozwalają ocenić:
-wydajnośc systemów opartch na różnej architekturze
-wpływ zmiany konfiguracji sprzętu na prędkość działania
Rodzaje:
-szkolne dla wykrywania zatorów i wyznaczenia szczytowych wydajności
-syntetyczne modelują rzeczywiste sytuacje przetwarzania Whestone
-jądra wydzielone z rzeczywistych programów krytyczne czasowo procedury przetwarzania
=rzeczywiste programy najczęściej do modelowania zjawisk fizycznych
SPEC
Przygotowanie dla róznych klas aplikacji, uaktualniana jest wraz z postępem technologii
komputerowych.Pozwala oceniać wydajność maszyn i jakość kompilatorów.
RÓWNANIE AMDAHL'A
przyspieszenie=czas_wykonania/poprawiony_czas_wykpnania
nowy czas= poprawiony_czas/przyspieszenie+czas_wykonania_reszty
Pwypadkowe=1/1-U+U/P
Czas wykonania operacji A stanowiący ułamek U zadania został przyspieszony P razy korzystając z równania AMDAHL'A uzyskuje się wypadkowe przyspieszenie.
historia komputerów (1600-1847)
- Wilhelm Schickhard (1623)
» astronom i matematyk
» automatyczne dodawanie,odejmowanie, mnożenie i dzielenie
- Blaise Pascal (1642)
» matematyk
» po raz pierwszy seria
» tylko dodawanie i odejmowanie
» kłopotliwe w utrzymaniu sprawności
- Gottfried Liebniz (1673)
» matematyk i wynalazca
» udoskonalił maszynę Pascala
» dodawanie, odejmowanie, mnożenie,dzielenie
- Charles Babbage (1822)
» matematyk “Father of modern computer”
» wymagana większa dokładność obliczeń
» maszyna różnicowa
»wykonanie tablic matematycznych
» maszyna analityczna
wszystkie operacje arytmetyczne
nowoczesna struktura:
I/O, pamięć, ALU dodawanie - 1 sekunda,mnożenie - 1 minuta
» w obu maszynach problemy mechaniki
- George Boole (1847)
» matematyczna analiza logiki
» badanie praw myślenia
Podsumowanie dokonań:
- Komputery mechaniczne
przeznaczone były do skrócenia czasu obliczeń i podniesienia dokładności
- Ich wady to:
» prędkość działania ograniczona bezwładnością przekładni i dźwigni,
» kłopotliwe, zawodne i kosztowne.
GENERACJA KOMPUTERÓW
I Generacja - lampowe, pierwszy IBM seria &))
II Generacja - tranzystorowe z pamięciami ferrytowymi
III Generacja - układy scalone w technologii TTL, pierwszy minikomputer PDD-8 firmy DEC, opracownie IBM system 1360
IV Generacja - technologia MOS układy VLSI, pierwsze mikroprocesory
Założenia von Neumanna
• Jeśli komputer ma przede wszystkim liczyć, to musi mieć wydzieloną jednostkę arytmetyczną, i musi to być jego centralna część, jednostka centralna
• jeśli komputer ma być uniwersalny, to musi zawierać urządzenie w prosty sposób szeregujące operacje do wykonania kolejno i rozróżniające specyficzne rozkazy - sterowanie
• jeśli urządzenie ma pozwalać na wykonywanie długich obliczeń, to rozkazów do wykonania musi przyjąć wiele i muszą one być pamiętane - pamięć,
• przyjmując analogię do systemu nerwowego człowieka jednostka centralna i sterowanie odpowiadają neuronom skojarzeniowym, należy więc dodać urządzenia odpowiadające neuronom sensorycznym i motorycznym - wejście i wyjście,
• informacja z we / wy nie powinna zaprzątać bezpośrednio jednostki centralnej, lecz trafiać najpierw do pamięci - sterowanie urządzeń i buforowanie we / wy
ARCHITEKTURA
Własności i funkcje systemu komputerowego widziane przez programistę(lista instrukcji)
ORGANIZACJA(IMPLEMENTACJA)
Implementacja tych funkcji,realizacja przepływów danych i sygnałów sterowania wewnątrz systemu komputerowego.
PROGRAM - jest sekwencją rozkazów.
LICZNIK ROZKAZÓW
generuje adres kolejnego rozkazu, adres może nie być kolejnym w sekwencji gdy wykonano skok lub rozgałęzienie.
PAMIĘĆ
-informacje przechowywane są w komórce o jednakowym rozmiarze
-znaczenie słów nie jest przypisane ich treści , dane i instrukcje są nierozróżnialne
-interpretacja słowa zależ od stanu maszyny w chwili pobierania słowa za pamięci
-komórki tworzą uporządkowany zbiór i posiadają jednoznacznie przypisany wskażnik położenia - adres
-zawartość komórki może zmienić tylko procesor.
NOWE CECHY KOMPUTERA
-stos programowy część pameci o dostępie typu LIFO
-tryb adresowania metoda określania adresu ułatwiająwymianę danych
-pamięć wirtualna metoda adresowania i organizacji pamięci umożliwiająca ominięcie ograniczeń fizycznego rozmiaru pamięci
-nowe typy danych liczby zmiennoprzecinkowe,łańcuchy znaków
-przetwarzanie potokowe
-wieloprocesorowe architektury
KOMPUTRE JAKO AUTOMAT
-można potraktowac komputre jako automat skończony
-stan komputera jest superpozycjnąi lub rozkazów zmiana stanu pamięci.
3)Pamięci Podręczne
ZASADA LOKALNOŚI
-czasowa
W zadanym niewielkim odcinku czasu zakres używanych adresów pamięci przez program jest zwarty i niewielki
-przestrzenna
Treśc i dane programu zajmują zwartą przestrzeń adresową.Programy wykonywane są sekwencyjnie z kolejnych komórek pamięci.
ZARZĄDZANIE PAMIĘCIĄ,POBRANIE,PRZYDZIAŁ I WYMIANA DANYCH
Wybór strategii zarządzania pamięcią podręczną ma znaczny wpływ na współczynnik trafień.Obejmuje ona:
-strategie wypełnienia pamięci podręcznej obejmujące zasady odwzorowania linii pamięci głównej w pamięci podręcznej
-strategie pobrania linii z pamci głównej obejmujące reguły podejmowania decyzji o wypełnieniu linii
-strategie aktualizacji i wymiany kopii w pamięci podręcznej.
STRATEGIE POBRANIA
-żądanie pobierania danych brak danych w pamięci operacyjnej
-realizacja uprzedzającego pobrania implementując zasade lokalności pobierania się na zapas sąsiednie do uprzednio pobranych, dane z pamięci podręcznej
STRATEGIE PRZYDZIAŁU
-BF blok umieszczony w pierwszej "dziurze" o wystarczającym rozmiarze, lista dziur o rosnącym rozmiarze, adresy nieuporządkowane
-FF blok umieszczony w pierwszej "dziurze" o wystarczającym rozmiarze,dresy uporządkowane rosnąco(kumuluje male dziury)
-WF blok umieszczony w pierwszej "dziurze" o wystarczającym rozmiarze, lista dziur o malejącym rozmiarze, adresy nieuporządkowane(pozostałe dziury są duże)
_BB blok umieszczony w pierwszej "dziurze" o wystarczającym rozmiarze, dziury uporządkowane wymiarami, adresy uporządkowane kolejno.
STRATEGIE WYMIANY
Pamięć z blokami o stałym rozmiarze:
-FIFO -losowa -FINUFO -LRU
Pamięć z blokami o zmiennym rozmiarze:
-WS wymiana całego zbioru roboczego
-PFF wymiana nie używanych stron po przekroczeniu progu występowania błędu braku strony.
TRAFIENIE,CHYBIENIE,ŚREDNI CZAS DOSTĘPU
*trafienie obecnośc poprzedniej kopiii danych w pamięci podręcznej
-wspólczynnik trafienia h prawdopodobieństwo znalezienia poprzedniej kopii danych
-czas trafienia Tca czas dostępu do danej + czas określenia czy dana jest w pamięci
*chybienie
-wspólczynnik chybień m=1-n
-strata czasu Tmp czas wymiany bloku danych w pamięci podręcznej
-średni czss dostępu
Tn=(1-m)(Tca=m)(Tpao+Tmp)
ORGANIZACJA PAMIĘCI
-linia blok danych w pamięci podręcznej
dane + wskaźniki towarzyszące
Typowa linia od 4 do 8 słów, liczba lini w pamięci podręcznej 64-4096. PAo
podzielona na bloki po k słów, pamięc podręczna zawiera C linii po k słów, zawiera 2 do n słow.
OPERACJE NA PAMIĘCI
-unieważnienie linii
-wypełnienie pobranie danych bloku z PAO
-odczyt danej
*"hit on read" dana odczytywana i przekazywana do procesora
*"miss on read" brak danej przejście do wypełnienia linii
-zapis danej
*zapis jednoczesny z uaktualnieniem wszystkich kopii na wyższych poziomach pamięci
*zapis lokalny zapis tylko w pamięci podręcznej
*zapis bezpośredni zapis wprost do PAO i unieważnienie linii.
REGUŁY OWZOROWANIA PAO W PAMIĘCI PODRĘCZNEJ(SKOJARZENIOWA, Z ODWZOROWANIEM BEZPOŚREDNIM, WIELODROŻNA)
-całkowicie skojarzeniowa
dowolna linia PAO może być skopiowana do pamięci podręcznej
- z odwzorowaniem bezpośrednim
rozłączne linie w PAO odwzorowane przez linie pamięci podręcznej
-wielodrożna
rozłączne zbiory linii w PAO odwzorowane prze rozłączne zbiory linii(bloki) w pameci podręcznej
4)CISC I RISC
PRZETWARZANIE POTOKOWE
Dekompozycja rozkazu przetwarzania:
pobranie rozkazu
dekodowanie rozkazu
obliczanie efektywnych adresów argumentów
pobieranie argumentów
wykonanie rozkazu (z reguły zajmuje najwięcej czasu !)
zapisanie argumentu
Problem rozgałęzień:
zwielokrotnienie strumienia
pobieranie rozkazu docelowego z wyprzedzeniem
bufor pętli
przewidywane rozgałęzienia
opóźnione rozgałęzienie
Cechy architektury potokowej
-instrukcje wykonywane na zakładke
-kazdy blok architektury jest wykorzystywany w każdym cyklu zegara
-czas wyszukiwania informacji musi być identyczny
-wzrost wydajności jest proporcionalny do liczby faz instrukcji
-łatwiejsza realizacja danych
-instrukcje wykorzystują po kolei wszystkie zasoby procesora
-komplikacja sprzętu,
POTOKI I SUPERPOTOKI
Potoki i superpotoki - hazadry
*Hazardy strukturalne - procesor nie ma dość zasobów, aby
obsłużyć w trybie potokowym dana kombinację instrukcji
*Hazardy sterowania - związane są z instrukcjami rozgałęzień w
programie. Jeżeli instrukcja skoku nakazuje skok do insturkcji
nieobecnej w pamięci podręcznej poziomu 1, wówczas konieczne
jest pobranie instrukcji z pamięci głównej co powoduje zawieszenie
wykonania potokowego.
*Hazardy danych
- próba czytania danych przed zapisem,
- próba zapisu przed zakończeniem czytania,
- próba zapisu przed zakończeniem zapisu.
*unikanie hazardów sterowania poprzez:
• kompilatory zrównoleglające,
• sprzętowo:
• zmianę kolejności wykonania instrukcji,
• przewidywanie rozgałęzień w programie
• wykonanie spekulatywne
*dodatkowe elementy sterowania:
• bufor zmiany kolejności instrukcji,
• procesor rozgałęzień,
• tablica przewidywania rozgałęzień,
• odzyskiwanie zapełnienia potoków po błędzie rozgałęzienia,
• jednostka sterowania zakończenia wykonywania instrukcji
• itd.
TOPOGRAFIE
-przełącznica -magistrala -pierścień -siatka -gwiazda -drzewo -mieszany -hipersześcian
MIKROPROGRAM
Sekwencja mikrorozkazów znajdująca się w specialnej pamięci z której mogą by dynamicznie pobierane w celu wykonywania różnych funkcji.
KLASYFIKACJA FLYNN'A
Opiera się na rozmiarach strumieni danych instrukcji
-SISD pojedyńcza instrukcja i dana
0SIMD jeden procesor wiele danych
MIMD wiele instrukcji i danych
MISD wiele instrukcji i jeden strumień danych
KLASYFIKACJA TREALEAVEN'A
Wyróżnia się mechanizmy sterowania
-przekazywanie sterowania
-przekazywanie danych jednostki obliczeniowe oczekują na dane i uaktywnianie są gdy dane dostają
-przekazywanie żadań jednostki obliczeniowe żądają danych
-poszukiwanie skojarzeń po spełnieniu warunku lub wskutek skojarzenia następuje wykonanie danych.
prehistoria komputerów (1850-1940)
- Herman Hollerith (1889)
» przetwarzenie na kartach perforowanych
» utworzył Tabulating Machine Company (obecnie IBM)
» opracowanie danych ze spisu w 1880 zajęło 5 lat
» spodziewany czas opracowania danych
1890: 7.5 roku ,1900: 10+ lat
» maszyna Hollerith'a skróciła czas z przewidywanych 7.5 lat do 2 miesięcy
- Konrad Zuse (1938)
» zbudował pierwszy mechaniczny komputer na przekażnikach, Z1
» maszyna binarna
» rząd niemiecki zdecydował o nie kontynuowaniu prac
- Howard Aiken (1943)
» skonstruował Harvard Mark I
» implementacja maszyny Babbage'a
» zbudowana przez IBM