Specyfikacja rozkazu
składnia (syntax)
funkcja (operation)
cechy (atributes)
opis funkconalny (decscription)
sposób modyfikacji wskaź. w procesorze (condition codes)
format kodu (code structure)
Cechy dobrej listy
łatwo rozszerzalna, przenośna
uniwersalna
pozwala na sprawną implementacje narzędzi do programowania „na niskim poziomie”
dogodnie może wykorzystana przez oprogramowanie wyższego poziomu
Topografie rozproszonych systemów komputerowych
przełącznica
magistrala
pierścień
siatka
gwiazda
drzewno
mieszany
hipersześcian
Cechy architektury potokowej
instrukcje wykonujemy na „zakładkę”
każdy blok arch. proc. jest wykorzystywany w każdym cyklu zegarowym, przetwarzając inne fazy różnych instrukcji
czas wykonywania wszystkich instrukcji musi być identyczny
czas wykonywania pojedynczych instrukcji w przetwarzaniu potokowym nie zmniejsza się
Klasyfikacja FLYNN'a
Klasyfikacja opiera się na rozmiarach strumieni danych i instrukcji
(a) SISD
(b) SIMD
(c) MIMD
(d) MISD
Klasyfikacja TRELEAVENA
Klasyfikacja oparta na mechanizmach sterowania oraz wymiany danych w
jednostkach obliczeniowych
Mechanizm sterowania
przekazywanie danych
przekazywanie żądania
poszukiwanie skojarzeń
Mechanizm wymiany danych
xx
BENCHMARK
Wzorcowy zestaw operacji wykorzystywanych przez maszynę dla określenia wydajności przetwarzania . Typowa rzeczywista aplikacja w ustalony sposób obciążająca system komputerowy .
Reprezentacja klasy aplikacji
numeryczne
graficzne
kompilatory
obsługa zapytań do bazy danych
SPEC ( System Performance Evaluation Cooperative)
Pozwala ocenić wydajność maszyn i jakość Benchmarków
Znaczenie Benchmarków
Pozwalają ocenić
wydajność systemów komputerowych opartych o różne archit.
wpływ zmiany konfiguracji sprzętu na prędkość działania
wpływ na rozwój metod zwiększania wydajności komputera
Prawo MOORea
Co 18 miesięcy podwaja się liczba (zmienia się ilość) tranzystorów w układzie scalonym
Tempo rozwoju technologii VLSI
liczba tranzystorów w układzie scalonym
pojemności pamięci
częstotliwości zegara
wydatek energetyczny na przełączanie
wymiar charakterystyczny
szybkość mikroprocesora
szybkość super komputera
Komputer jako automat
Można potraktować jako automat skończony FSM (finite state machine)
Stan komputera jest superpozycja stanu procesora i stanu pamięci.
Zmiana stanu jest skutkiem wykonania rozkazu przez CPU.
Czas pomiędzy kolejnymi zmianami stanu - cykl.
Cykl pamięci lub rozkazowy - zmiana stanu pamięci
Miary wydajności
Czas pracy procesora (CPU)=(liczba taktów * okres zegara)
lub (CPU)=(liczba taktów/ częstotliwość zegara) wymagany na wykonanie zadanego programu
liczba taktów procesora (cykli)=(liczba instrukcji * średnia liczba taktów wykonania instrukcji)
lub (CPI)= (liczba taktów procesora/ liczba instrukcji ) wymaganych na wykonania zadanego programu
CPI - jest miarą wskazującą jakość archit. syst., efektywność listy instrukcji, jakość zastosowanych algorytmów i oprogramowania.
Wydajność systemu komputerowego
Cechy konfiguracji sprzętu wpływające na wydajność
prędkość wykonywania programów
prędkość wymiany danych
Własności oprogramowania wpływające na wydajność systemu
złożoność algorytmu
sposób zarządzania zasobami systemu komputerowego
Czas odpowiedzi
ile czasu potrzeba na wykonanie zadnia
po jakim czasie uzyskuje się odpowiedź na zapytanie
jak długo trzeba czekać aby skorzystać z zasobów systemu
Przepustowość
liczba zadań wykonywana przez system jednocześnie
średni czas wykonania zadania
liczba zadań wykonywanych w jednostce czasu
Przetwarzanie potokowe
kompilacja sprzętu
wprowadzenie „długich” rejestrów pośrednich przekazujących wszystkie informacje dotyczące wykonywanej instrukcji do następnej fazy
instrukcje wykorzystujące po kolei wszystkie zasoby procesora
wzrost wydajności odbywa się za cenę uproszczenia zestawu instrukcji
konsekwencją uproszczenia instrukcji jest łatwiejsza realizacja sterowania
Przetwarzanie potokowe
[ L ] [ D] [ P ] [ M ]
[ L ] [ D] [ P ] [ M ]
[ L ] [ D] [ P ] [ M ]
Przetwarzanie super-skalarne
[ H ] [ H ] [ H ] [ H ]
[ H ] [ H ] [ H ] [ H ]
[ H ] [ H ] [ H ] [ ]
Przetwarzanie super-potokowe
[_] [_] [_] [_] [_] [_]
[_] [_] [_] [_] [_] [_]
[_] [_] [_] [_]
[_] [_] [_] [_]
Wyrównanie (adresowanie) danych BIG- ENDIAN i LITTLE - ENDIAN
Wyrównanie danych w pamięci
ADRESmod(długość słowa)=0 /dana, rozkaz jest wyrównany
Tryby adresowania
natychmiastowy
rejestrowy
rejestrowy pośredni
bezpośredni
pośredni
z przemieszczeniem
indeksowy ze skalowaniem
Projektowanie listy rozkazów
częstość użycia rozkazów
częstość użycia trybów adresowania
koncepcja architektury
struktura kodu rozkazu
Pamięć statyczna
cztero lub sześć-o tranzystorowe komórki
informacja wprowadzana przez...(przerzutnik)
Sygnały kostki pamięci
-adres
dane
..
Pamięć dynamiczna
Strategie przydziału
Strategia wymiany danych
Pamięć z blokami o stałych rozmiarach
losowa - przydatna dla programów bazo - danowych
FIFO - nie uwzględnia intensywności użytkowania
FINUFO (firstin, notused, firstout) - uwzględnia znaczki używalności
LRU (last recently used)- wymienia blok najdawniej używany
Zarządzanie pamięcią
Zasady kopiowania informacji z pamięci masowej do pamięci operacyjnej
STRATEGIA
pobrania - decyzje o załadowaniu danych do pamięci operacyjnej
przydziału - reguły i algorytmy wpisywania bloków nie zapełnioną pamięć
wymiany - reguły usuwania informacji z pamięci operacyjnej
STOS
Stos jest zbiorem lokacji funkcjonującym za zasadzie ostatnie na wejściu- pierwszy na wyjściu . Stos znajduje się w znanym położeniu i często przynajmniej jego 2 szczytowe dane znajdują się w rejestrach procesora.
Wskaźnik stosu -(stach pointer) - rejestr procesora, adresuje pamięć o organizacji typu stos, wskazując tzw. wierzchołek stosu, czyli adres ostatnio zapisanych danych
Wykorzystanie STOSU
do tymczasowego zapisu danych
przechowywanych w rejestrach
w fazie wykonywania rozkazu przez mikrokomp.
Przechowywania danych ... za pomocą notacji przyrostkowej
Zapis zawartości licznika rozkazów PL
Rodzaje rozkazów
Przesyłania danych między komórkami pamięci bez zmiany wartości
ładowanie LOAD źródłem jest pamięć , miejscem docelowym -rejestr
zachowanie STORE źródłem jest rejestr, miejscem docelowym pamięć
Operacje AR - LO
Rozgałęzianie - zmiana kolejności progr.
bezwarunkowe
warunkowe
Cechy dobrej listy rozkazów
łatwo rozszerzalna , przenośna
uniwersalna
pozwala na sprawną implementację narzędzi do programowania na „niskim poziomie”
dogodnie może być wykorzystywana przez oprogramowanie wyższego poziomu
27. Równanie AMDAHL'a (prawo)
Określa stopień zwiększania wydajności systemu komputerowego wynikający
Ze zmiany czasów wykonania operacji skł. Się programu użytkownika
Przyspieszenie = czsa_wykonania / poprawny_czas_wykonania
Nowy_czas_wykonania = ( popr_czas_wyk / przysp + czas_wykon_reszty)
Pwypadkowe=1/(1-n)+n/p
Historia komputera
dodawanie i odejmowanie 1000pne
suwaki logarytmiczne - mnożenie i dzielenie 17w
maszyna różnicowo - analityczna, programowanie działań 19wiek
maszyna Turinga 1937 każdy algorytm jest automatycznie jako skończony ciąg operacji logicznych
Konrad Zuse -1941 Versuchsmodel 3 elektromechaniczny komputer działający w systemie dwójkowym sterowany programem, 22 bitowe zmiennoprzecinkowe liczby, 2600 przekaźników, prototyp j. Algorytmicznego
ABC - 1939 prototyp częściowo elektronicznego kalkulatora z pamięcią dynamiczną ale bez programu
Collosus I, II -1943 Wlk. Brytania całkowicie elektroniczny ( na lampach) rozszyfrowywanie depesz z enigmy
ENIAC 1943 pierwszy amerykański komputer służący do obliczeń trajektorii lotów pocisków, konstrukcja oparta na dziesiętnym systemie liczenia, program w tablicy krosowej
EDVAC 1949 komputer z listą instrukcji
Lata 50,60 arytmetyka komputerów
Lata 70,80 projektowanie instrukcji dla komp wyższego poziomu
Lata 90te projektowanie procesorów, rozwiązań wieloprocesorowych, doskonalenie układów we/wy komputerów systemów pamięci
Generacje komputerów
I generacja (1951-1960) lampowe, pierwszy IBM seria 700
II generacja (1956-1964) tranzystorowe z pamięciami ferrytowymi” z klawiaturą i monitorem PDP 1 (1960)
III generacja (1964-1975) układy scalone w technologii TTL
IV generacja (1975-+...) technologia MOS układ VLSI , pierwsze mikroprocesory
Licznik rozkazów
Generuje adres kolejnego rozkazu, adres może nie być kolejnym w sekwencji, gdy wykonano skok lub rozgałęzienie
Nowe cechy komputera zaproponowane do zwiększenia wydajności przetwarzania
Stos programowy - część pamięci o dostępie typu LIFO, upraszcza obsługę (komp) procedur
Tryby adresowania - metody określania adresu ułatwiają wymianę danych
Pamięć wirtualna - metoda adresowania organizacji pamięci umożliwiające ominięcie ograniczeń fizycznych rozmiarami pamięci
Nowe typy danych - liczby zmiennoprzecinkowe , łańcuchy znaków
MIPS FLOPS
MIPS ( miliony instrukcji procesora na sekunde) MIPS = (częstotl.zegara)/(CPI*10 do 6)
nie miarodajne dla porównań prędkości wykonania programów ponieważ
Maszyny posiadają różne listy instrukcji
Programy mają różne częstości użycia instrukcji
MFLOPS miliony instrukcji zmiennoprzecinkowych proc.na sekundę
Czas odpowiedzi i przepustowość
Czas odpowiedzi
Ile czasu potrzeba dla wykonania zadania
Po jakim czasie
DMA Direct memory akcesses bezpośrednia wymiana danych bez udziału procesora
Magistrala zestaw linii połączeń między elementami systemu komputerowego. Wadą jest ograniczoność, tylko żadna ilość urządzeń, opóźnienie przez sprzęt . Prędkość magistrali (czas obsługi wymiany danych, czas dostępu)
Mikroprogram, realizacja sterowania w postaci sterowania o n bitowych słowach zwanych mikroinstrukcjami które reprezentują wartość lini sterujących mikroprocesor i która jest adresowana przez licznik mikroinstrukcji.
-W kolejnych cyklach zegara mikroinstrukcje są podawane na wyjscie pamięci zapewniając prawidłową realizację każdej instrukcji.
-Sekwencje mikroinstrukcji realizujące wszystkie instrukcje procesora nazywa się mikroprogramem.
-Niektóre mikroinstrukcje mogą być wspólne dla instrukcji mikroprocesora co ogranicza pamięć mikroprogramu a liczba wszystkich mikroinstrukcji może być równa liczbie stanów maszyny stanowej.
-Mikroprogram musi mieć możliwość zarówno wykorzystywania sekwencyjnego jak i wykonywania skoków bezwarunkowych bezwarunkowych warunkowych wewn.
36. Dostęp do pamięci DRAM
- pobieranie danych z wiersza pamięci - w trybie „burst”
- skrócenie średniego czasu dostępu do danych
- czas odświerzania przypada na odczyt wiersza danych
37. Reguły odwzorowania PAO w pam .podręcznej
-całkowicie skojarzeniowa - dowolna linia w PAO może być skopiowana do pamięci
podręcznej
-z odwzorowaniem bezpośrednim - rozłączane zbiory lini w PAO odwzorowane przez
linie pamięci podręcznej .
-wielodrożna - rozłączne zbiory linii w PAO odwzorowanie przez rozłączone zbiory linii
(bloku) w pamięci podręcznej.
38. Architektura Harwardzka - opracowania przez Aikensa w 1948 rozdzielane rozkazy od
danych (2 obszary adresowania.
39. strategie pobrania
-żądanie pobrania nowych danych
-brak danych w pamięci operacyjnej np. brak strony segmentu
strategie przydziału BF, WF , FF , BB
40. strategie przydziału w toku gospodarowania zasobami pamięci ulega ona fragmentacji
strategia przydzialu zasobów ma min. obszar niewykorzystanej pamięci .
[Pamięć jest przydzielana jest blokami o stałych lub zmiennych rozmiarach]
-BF (bst fit) blok umieszczony w pierwszej „dziurze” o wystarczającym rozmiarze , lista dziur o rosnącym rozmiarze , adresy nie uporządkowane.
-WF (worst fit), blok umieszczony w pierwszej „dziurze” o wystarczającym rozmiarze lista dziur o malejącym rozmiarze , adres nieuporządkowany ,(pozostałe dziury są duze)
-FF (first fit) blok umieszczony w pierwszej „dziurze” o wystarczającym rozmiarze ,adresy uporządkowane rosnąco (kumulując małe dziury)
-BB (binary buddy) blok umieszczony w pierwszej „dziurze” o wystarczającym rozmiarze ,dziury uporządkowane wymiarami ,adresy uporządkowane kolejno.
Co pewien czas dokonuje się defragmentacja stąd istotną cechą strategii przydziału jest łatwość realizacji tego zadania . Obraz pamięci po BF i WF trudny do defragmentacji
41. zarządzanie pamięcią -zasady kopiowania informacji z pamięci masowej do pamięci
operacyjnej
-pobrania -decyzje o załadowaniu danych do pamięci operacyjnej
-przydziału -reguły i algorytmy opisywania bloków nie zapełnionej pamięci
42. zasady lokalności
-czasowa - w zadanym niewielkim odcinku czasu zakresy używanych adresów pamięci przez program jest zwarty i nie wielki np.: wykonywanie pętli programowych.
- przestrzenna - treści i dane programu zajmują zwartą przestrzeń adresową .Program wykonywane są sekwencyjnie z kolejnych komórek pamięci .
43. pamięci o dostępie sekwencyjnym (masowe) (pamieci dyskowe , dyskietki ) pamięć
zorganizowana za pomocą rekordów , dostęp jest możliwy w określonej sekwencji
liniowej . Do oddzielania rekordów i do pomocy przy odczycie są wykorzystywane do
przechowywania informacji adresowych , w rezultacie czas dostępu do różnych rekordów
może się bardzo różnić.
44. pamięci skojarzeniowe - rodzaj dostępu swobodnego , słowo jest wyprowadzane raczej
na podstawie części swojej zawartości niż na podstawie adresu . Każda lokacja ma własny mechanizm adresowania , a czas dostępu jest stały i nie zależny od poprzednich operacji dostępu <pamięci podręczne>
45.
segmentacja pamięci pozwala wielu użytkownikom korzystać z kodu ,np. procesora tekstów mając własne części pamięci wykorzystywane do przechowywania swoich tekstów i konfiguracji programów.
46. tablicowanie - służy do zidentyfikowania miejsc wzajemnie równoważnych
47. -pamięć wirtualna odwzorowuje używane zasoby dyskowe w pamięci operacyjnej.
Mechanizm Pamięci Wirtualnej działa jak „cache” do dysku .
-tłumaczenie adresów Pamięci wirtualnej zamienia adresy wirtualne nieistniejące fizycznie
Zalety pamięci wirtualnej
-pozwala wielu programom dzielić tę samą pamięć fizyczną
-programiści mogą pisać kod korzystając z bardzo dużej przestrzeni adresowej
-mechanizm Pam. Wirtu. dba o właściwą wymianę stron lub segmentów danych na dysk.
-blok pamięci cache => strona lub segmenty
-chybienie cache => brak strony w pamięci operacyjnej lub błąd adresowania
48. wydajność pamięci
-czas dostępu - czas nie zbędny do przeprowadzenia operacji odczytu lub zapisu
-czas cyklu pamięci - czas dostępu + dodatkowy czas 10 następnego dostępu
-prędkość transferu - szybkość z jaką dane mogą być wprowadzane do jednostki pamięci z niej wyprowadzane.
49. Organizacja pamięci - podstawowym elementem jest komórka pamięci
wszytskie komórki mają wspólne cechy
-mają 2 stabilne (lub półstabilne ) stany , które mogą być użyte do reprezentowania 1 i 0
-umożliwiają zapis (przynajmniej jednokrotny )
-umożliwiają odczyt..
50. hierarchia pamięci komputerowych
51. Czas dostępu
-czas który upływa od podania adresu : sygnał odczytu 10 pojawienie się odczytanych danych na magistrali danych pamięci
Vcc
adres 2n komórek
dane
CS
RD/WR
OE
52. Pamięci Statyczne
- 4 lub 6 -cio tranzystorowe komórki
-Informacja reprezentowana przez stan przerzutnika.
Sygnały kostki pamięci
-Adres 2n komórek
- dane - rozmiar magistrali danych , bit , bajt ,słowo
CS - wybór , RD - odczyt , WR- zapis , OE - otwarcie bufora we/wy
53. Pamięci dynamiczne
DRAM
-jedno tranzystorowe komórki
-Informacja reprezentowana przez ładunek w kondensatorze
-kondensator ulega rozładowaniu
odświeżanie
Okres odświeżania do kilkunastu ms
w czasie odświeżania pamięć niedostępna.
multipleksowanie adresów
-adres dzielony na adres wiersza i kolumny
-dla dużych pamięci wyróżnione są dodatkowo „banki pamięci”
SDRAM
taktowanie 100MHz ,150MHZ,....
długość słowa = 8 bajtów SDRAM DIMM oznaczane są PC 100 , PC 150
Double Data Rate (DDR ) SDRAM
- Oba zbocza zegara podają dane z pamięci
- Taktowanie 100 MHz , 150 MHz , 200MHz, ...
-przepustowosć 2x zegar x 8B = 1600, 2400,3200 MB/s
- DDR ,SDRAM DIMM oznaczenia wskazują na przepustowość PC1600,
PC 2400 ,PC 3200.
Dostęp do pamięci DRAM
- pobieranie danych z wiersza pamięci - w trybie „burst”
- skrócenie średniego czasu dostępu do danych
- czas odświerzania przypada na odczyt wiersza danych
54. klasyfikacje pamięci
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH
pytania i odpowiedzi do egzaminu
Jacek Hrynowiecki
AL
we/wy
CPU
pamięć danych
pamięć programu
adresy
rozkazy
czas dostępu 1 10 100 10 ms 10 sec
10,000,000 10,000,000,000
rozmiar B 100 K M G T
Składnica
danych
(taśmy,
cdrom'y)
Pamięć
masowa
(dyski)
L2 cache
(SRAM)
rejestry
Cache
PAO (DRAM)
sterowanie
procesor
Pamięci
O dostępie swobodnym
O dostępie sekwencyjnym
Skojarzeniowe
Taśmowe
dyskowe
RAM
ROM
SRAM
DRAM