REALIZACJA ROZKAZÓW
S1) FETCH 3T (pobranie rozkazu z pamięci programu)(PC, MEM, MAGISTRALA).. S2)
DECODE T (dekodowanie rozkazu)(IR-instruction register) S3) EFFECTIVE ADDRES
CALCULATION 3T (pobranie danych do rozkazu)(MEM, I/O, REJESTRY) S4) OPERANDS
FETCH 3T (pobranie operandów(argumentów))(MEM, I/O, REJESTRY) S5) EXECUTE T
(wykonanie rozkazu)(REJESTRY, ALU) S6) RESULTS STORE 3T (MEM, I/O, REJESTRY)
TRYBY ADRESOWNIA = S3
1) rejestrowy- dane znajdują się w rejestrach (szybki- dane znajdują sie w procesorze)
2) rejestrowy pośredni - w procesorze są rejestry które mówia gdzie dane sie znajdują, skąd je
pobrać.
3) bezpośredni - pobieramy kolejno dane mówia one gdzie dane sie znajdują (są to adresy)
4) natychmiastowy- pobranie rozkazu i danych na raz (dane są w rozkazie)
5) bazowo indeksowy - mamy nowy początek pamięci i zaczynamy od tego momentu pobierać
dane.
POTOKOWE PRZETWARZANIE DANYCH - PIPELING
S1 S2 S3 S4 S5 S6 (3 T)
S1 S2 S3 S4 S5 S6 (3 T)
S1 S2 S3 S4 S5 S6 (3 T)
S1| S2| S3| S4| S5| S6| (18 T)______t_
3T| 3T| 3T| 3T| 3T| 3T
ROZGAŁĘZIENIE SKOK PROCEDURA W PT
1) NIE BOJĘ SIĘ - statystycznie częściej skok się nie wykonuje i ma to jakiś sens, często procesor
robi cos co jest nie potrzebne
2) PZU - jeżeli jest skok to wstrzymuje wszystko i czeka robi dany rozkaz aż do EXECUTE i
niekiedy na darmo czeka, daje szanse innym rozkazom na wykonanie
3) ORMO CZÓWA - potrzebny jest bardziej rozbudowany procesor, ma wbudowane drugie
przetwarzanie potokowe, zadanie wykonuje sie dalej dla skoku i bez niego a gdy juz wiemy co jest
dobre to drugie odrzucamy.
SYSTEM PRZERWAN PROCESORA:
System przerwań procesora jest umieszczony we fragmencie pamięci w systemie komputerowym,
są tam umieszczone procedury obsługi przerwań. Część instrukcji przerwań jest napoisana przez
twórców procesora. Część z nich może napisać użytkownik procesora. System przerwań może być
wyłączony lub włączony. Można także włączyć lub wyłączyć tylko niektóre z przerwań.
Przerwania są sprawdzane, co jedno wykonanie rozkazu.
ZGŁASZANIE PRZERWAŃ:
1) sprzętowo (poprzez na przykład jakąś linię wejściową procesora)
2) programowo (w rejestrach są miejsca w których są odpowiednio ustawione bity i one decydują o
przerwaniu)
KROKI WYKONANIA PRZERWANIA:
1) (opcjonalny) wyłączenie systemu przerwań
2) zapisanie stanu procesora
JAK?[1) automatycznie (procesor sam zadba o to żeby zapamiętać jego aktualny stan) 2) ręcznie
(musi zadbać o to użytkownik procesora, musi napisać procedurę która odtworzy na końcu to
wszystko 3)mieszany]
GDZIE?[1)na stosie (przełączenie danych)(jest to fragment pamięci operacyjnej, ładujemy tam
wszystko jedno na drugim a później od tylu odczytujemy) 2)w innym banku rejestrów
(przełączenie kontekstu)(mamy drugi rejestr i tam wszystko kopiujemy)]
3) identyfikacja źródła przerwania
(1.numer przerwania 2.adres procedury przerwania)
4) arbitraż przerwań
1.sprzętowy (1.równoległy(sposób przyłączenia decyduje o priorytecie, koder decyduje o
kolejności, wada jest ograniczenie wejść), 2.szeregowy (arbitraż rozstrzyga się w sposobie
połączenia (zaleta jest brak limitu miejsc, wada brak zmiany priorytetów)), 3.szeregoworównoległy
(w szeregowym łańcuchu sa ... koder/m priorytetów, w etapie szeregowym wybieramy koder ... ,
koder wybiera urządzenie o największym priorytecie)) 2.programowy (rejestry ustalają kolejność)
5) skok do procedury obsługi przerwania
6) Powrót do realizacji zadań prowadzonych przed obsługa przerwania
UKŁAD DMA - bezpośredni dostęp do pamięci
To taki układ, który jest potrzebny do dzielenia danych, które mają iść do procesora a tych, które
nie są do niczego mu potrzebne. Układ ten wyręcza procesor w transmisji wej/wyj. Posiada kilka
kanałów transmisji, morze prowadzić kilka odrębnych transmisji. W systemie może być
zainstalowanych kilka układów DMA.
TRYBY PRACY UKŁADU DMA
1)blokowy (układ DMA przejmuje magistrale i zajmuje się przekazywaniem danych od początku
do końca, przekazuje dane całymi dużymi blokami) 2)z wykradaniem taktów (procesor jest
zarządcą całej magistrali, jeżeli jej akurat nie potrzebuje to udostępnia ją układowi DMA
PROGRAMOWANIE DMA
1)rejestry adresowe RA - (procesor) obszar przydzielony przez procesor do zapisania, mówi on o
tym czy zapisać dane (podajemy początek danych)
2)liczniki słów LS - ile słów mamy wziąć do miejsca gdzie wskazuje rejestr adresowy.
3)rejestr sterujący RST- (miejsce na wpisanie adresu układu, do którego trzeba wysłać dane, jest
to układ wejścia wyjścia
4)rejestr statusowy RSST- (to samo, co rejestr flagowy procesora), wszelkie informacje dotyczące
transmisji.
BUDOWA UKŁADU DMA
[magistrala adresująca<=>, magistrala danych<=>, RD<->, RW<->, IORQ<->, IORQ ->, INTRQ-
>, HOLD->, HLDA<-, DMARQ<-, DMAACK->], IORQ-odczyt albo zapis jest prowadzony z
liniami zewnętrznymi, IORQ- odczyt albo zapis jest prowadzony z pamięciom, HOLD- żądanie
ze strony DMA do procesora o udostępnienie magistrali, HLDA- potwierdzenie, że procesor
odłączył się od magistrali, procesor może tą linią żądać zwrotu magistrali, DMARQ- układ
podający dane do systemu mówi DMA, że jest gotowy do transmisji, DMAACK- potwierdza, że
DMA jest gotowy do odbioru danych.
PAMIĘĆ A I/O W SYSTEMIE KOMPUTEROWYM
1)WSPÓŁ ADRESOWANIE PAMIĘCI I UKŁADÓW I/0
Procesor widzie pamięć i układy (we/wy) I/O jako, jeden blok. Procesor nie wie, że tam są układy
I/O on widzi tylko „pamięć”, ale tak na prawdę tam też są I/O.
WADY I ZALETY
1)uelastycznienie programowania 2)ograniczenie ilości pamięci 3)dokładając pamięć eksmitujemy
I/O.
To rozwiązanie jest dobre do urządzeń dedykowanych gdzie nie zmienia się zapotrzebowanie na
pamięć i I/O.
W tym układzie adres decyduje o tym czy dostaniemy się do pamięci czy do I/O.
2) ADRESOWANIE IZOLOWANE
Procesor widzi pamięć i I/O. Pamięć i I/O to dwa osobne zasoby.
WADY I ZALETY
1)tracimy elastyczność programowania mamy dużo mniej rozkazów 2) możemy mieć więcej
pamięci i układów I/O.
Stosowane tam gdzie nie wiadomo, jakie będzie przeznaczenie nie ma dedykowanego
przeznaczenia (PC)
PAMIECI
PARAMETRY
1)pojemność 2)organizacja struktury 3)czas dostępu
KLASYFIKACJA PAMIĘCI
1)ROM (read only memory(nieulotna)) 2)RAM (random access memory)
1)ROM[1.MASK ROM(uklady od razu zapisane – w procesie produkcji), 2.
PROM(programowalne – uzytkownik sam decyduje o zaprogramowaniu, możliwy tylko
jednokrotny zapis), 3.EPROM(kasowalny, programowalny uklad pamieci ROM; kasowanie jest
możliwe za pomoca promieni UV), 4.EEPROM(duza pojemnosc, dlugi czas dostepu, wielokrotne
zapisywanie, kasuje się cala strukture ( na drodze elektr.)), 5.EAPROM(możemy kasowac
wybiorczo, reszta jak w EEPROM), 6.FLASH EEPROM(szybsze zapisywanie i odczyt),
7.NOVRAM(mają układ EEPROM i statyczny ROM)]
1)RAM[1.DRAM(układy dynamiczne informacja trzymana w postaci ładunku elektrostatycznego
lub elektrycznego, potrzebne jest odświeżanie), 2.SRAM(układy statyczne informacja pamiętana
jest w przerzutnikach, będzie ona pamiętana dopóki będzie zasilanie)]
ODCZYT PAMIĘCI ROM
1)wskazanie ważnego adresu (wskazanie komórki pamięci)
2)CE=CS chip enable, chip select
3)kierunek transmisji(czy czytamy czy zapisujemy)
4)układ nam wysyła dane z komórki pamięci
=====X==============X====
CE===\\\________________////////////
RD====\\\_______________///////////
DANE-----<=><dane pamieci><=>---
ZAPIS DO PAMIĘCI STATYCZNEJ RAM
ADRR=X==============X====
CS¯ ¯ ¯ ¯ ¯ ¯ ¯ \\____________////¯ ¯ ¯ ¯ ¯ ¯ ¯
WR¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ \\__________/¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯
DIN=======X dane ważne X=====
Gdy dane są na magistrali (DIN) wtedy WR stan niski i opcja zapisu. Nie ma potwierdzenia zapisu
ż
eby było szybciej. Koniec sterowania jest jednoczasowy.
ODCZYT I ZAPIS Z PAMIĘCI DYNAMICZNEJ DRAM
ODCZYT DANYCH
1) musimy podać adres wiersza a następnie kolumny. Adres wiersza jest przez pewien czas na
magistrali.
2) po podaniu adresu wiersza linia ras przechodzi w poziom niski (przez cały czas odczytu z
pamięci)
3) wskazanie adresu kolumny jest przez pewien czas na magistrali, CAS w stan niski aż do końca
przesyłania danych.
ODCZYT DANYCH
1)podajemy adres wiersza
2) RAS przechodzi w stan aktywny
3) na magistrali pojawia się adres kolumny
4) CAS przechodzi w stan aktywny
5) RO wskazuje, że chodzi o odczyt
6) Umieszczamy ważne dane na magistrali
ZAPIS DANYCH
1)podajemy adres wiersza
2) RAS przechodzi w stan aktywny
3) na magistrali pojawia się adres kolumny
4) CAS przechodzi w stan aktywny
5) Umieszczamy ważne dane na magistrali
6) Linia WR w stan aktywny i zapis danych
SPECJALNE TRYBY PRACY UKŁADÓW DYNAMICZNYCH RAM
1)odczyt – modyfikacje – zapis(linie CAS i RAS są cały czas utrzymywane w stanie aktywnym a
procesor wykonuje rozkaz i wynik zapisuje w miejsce danych (argumentów) i nadpisuje je,
procesor sztucznie blokuje magistralę (wada), rozwiązanie stosowane, gdy czas między odczytem a
zapisem jest krótki)
2) stronicowy – adres wiersza podajemy raz (RAS), a zamieniamy adres kolumny (CAS), 1)adres
wiersza 2)RAS i pozostaje do końca, 3) adres kolumny 4)CAS w stan aktywny 5)odczyt lub zapis
6)CAS w stan nieaktywny 7)adres kolumny 8)CAS w stan aktywny 9)odczyt lub zapis, i tak
dalej............... N)RAS i CAS w stan nieaktywny). O połowę skracamy czas adresacji.
3) tryb nibble(bajtowy) (1)adres wiersza 2)stan aktywny na linii RAS 3)adres kolumny na
magistrale adresową 4)stan aktywny na linii CAS, dane zapisywane/odczytywane 5)linia CAS w
tryb nieaktywny, RAS pozostaje aktywna 6)na magistrali adresowej nie ma żadnego adresu (jest
nieaktywna)a CAS przechodzi w stan aktywny - to nie jest błąd, znaczy to, że mamy pobrać daną z
następnej kolumny (ew. zapisać daną do następnej kolumny), każde przejście CAS ze stanu
nieaktywnego w aktywny oznacza przejście do następnej kolumny (RAS się nie zmienia), takich
kolejnych odczytów/zapisów może być za jednym razem 4 lub 8 (zależy od organizacji struktury
pamięci) w ramach jednego okresu wiersza.
ODSWIEZANIE PAMIĘCI DYNAMICZNYCH DRAM
Odświeżanie ma na celu zapewnienie niezmienności informacji w postaci ładunku w komórce
pamiętającej (kondensatorze)- z czasem te ładunki ulegają zmianie i tracona jest informacja.
1) skupione (pewien obszar pamięci jest wyłączony z normalnego użytkowania i na nim
dokonywane jest odświeżanie, komórka po komórce, po czym ta sama operacja dokonywana jest
na kolejnym obszarze. Mechanizm prosty ideowo, ale zły w sensie funkcjonowania, ponieważ
mocno angażuje procesor i magistrale danych)
2) automatyczne (bez udziału procesora, bez wskazywania adresów, wykonywane przez specjalny
układ, system bardzo dobry, ale bardzo drogi, więc rzadko stosowany)
3) rozwiązania leżące pomiędzy 1 a 2
3.1)odświeżanie sygnałem RAS (wskazanie adresu wiersza -> nie pojawia się adres kolumny,
układ wie że to odświeżanie pamięci -> układ losowo wybiera komórkę którą odświeży (w ramach
danego wiersza) tzn. system losuje kolumnę w której odświeży komórkę, potrzeba wiele takich
procesów wpleść w normalny proces odczytu i zapisu pamięci)
3.2) odświeżanie ukryte (robione w „biegu” tzn. zaraz za odczytem lub zapisem, adres kolumny
się nie zmienia losujemy wiersze)
3.3) CAS przed RAS (złamany porządek linii CAS i RAS => wtedy system wie, że to
odświeżanie, na magistrali adresowej cisza, są 2 licznik losujące wiersz i kolumnę)
ZASADY BUDOWY BLOKÓW PAMIĘCIOWYCH
1)rozszerzenie szerokości pamiętanego słowa(CS- wybieramy w jednym momencie wszystkie
układy pamięci, magistrala z danymi jest podzielona miedzy układy pamiętające, fizycznie druty
magistrali danych jest podzielona między układy pamięci; procesor widzi to jako jeden układ)
2) zwiększanie przestrzeni adresowej (adres podawany przez procesor rozpada się na czesc
starsza i reszte, część ta trafia do dekodera który steruje liniami CS układów pamięci, jeden z
fragmentów pamięci zostaje włączony, każdy kawałek układu jest odpowiedzialny za część adresu)
PAMIEC CACHE
Szybki dostęp, ma zupełnie odrębna linie magistrali niż pamięci systemu wady: jest bardzo droga i
nie może być zbyt wielka, jest to zasób limitowany, w pamięci musza być umieszczone dane
potrzebne tymczasowo w danej chwili, procesor na początku sprawdza czy poszukiwana dana jest
w pamięci szybko dostępowej CACHE, jak nie to dopiero szuka, w pamieci podstawowej hit ratio
– współczynnik prawdopodobieństwa znalezienia informacji w pamięci cache, na początku
sprawdzana jest linia status, status pilnuje jak często procesor korzysta z danej linii, jeśli rzadko to
linia zostaje usunięta z pamięci CACHE, miss ratio- odwrotna do hit ratio, zbiór pracujący - to
dane które są potrzebne do przetwarzania lub dane które są obsługiwane jedna po drugiej, dane
potrzebne w najbliższym czasie. Cache zazwyczaj podzielona według systemu Harwardzkiego.
Schemat pamięci cache:
Tag | Dane
Tag | Dane
Tag | Dane
Gdy szukamy czegoś w pamięci Cache to nie przeszukujemy obszaru danych tylko przeglądamy
tagi.
ORGANIZACJE PAMIECI CACHE
1) Bezpośrednie mapowanie (do danej komórki pamięci cache dane mogą trafić tylko z
konkretnej komórki pamięci podstawowej co pewny wybrany modulo; powoduje to że gdy
szukamy danej w pamięci cache to nie szukamy we wszystkich tagach a tylko w niektórych, w tych
co odpowiadają danym potrzebnym znajdujących się w pamięci podstawowej)
2) Pamięć cache w pełni asocjacyjna (każda linia pamięci cache jest podporządkowana dowolnej
linii z pamięci podstawowej, wada: trzeba sprawdzić wszystkie komórki z linii cache)
3) organizacja zbiorowo asocjacyjna (dzielimy pamięć na mniejsze bloki i każda linia jest
przydzielona do danej komórki, ale tylko z danego bloku, najczęściej stosowana)
TYPOWNIE DANYCH DO SKASOWANIA
1)z uwzględnieniem informacji z tagów(informacji statusowej)
LRU(skreślana jest dana, która najdłużej jest nieużywana), MIN (skreślana dana która nie będzie
najdłużej używana w przyszłości)
2)bez uwzględnienia informacji z tagów(informacji statusowej)
FIFO(pierwsza dana wprowadzona jest pierwsza kasowana), RANDOM(zupełnie losowo
wybierana dana do skasowania, najrzadziej stosowana)
Równoległość danych: cache <-> pamięć podstawowa
1)każda dana zapisywana w cache jest zapisywana do pamięci podstawowej (ale dłużej trwa),
rzadko stosowany „jak do cahe to do podstawowej” 2)dana wedruje tylko do cache i zostaje
skopiowana do pamieci podstawowej dopiero wtedy gdy ma buc skasowana z pamieci cache ”jak
won z cache to do podstawowej” 3)to samo co w 2 ale gdy dana w cache jest taka sama jak dana w
pamieci podstawowej to nie kopiujemy, kopiujemy tylko gdy dane sie różnią, czas potrzebny jest
na porownanie tych wartości, może byc szybciej ale nie musi, ”jak won z cache to być może do
podstawowej”)
GOSPODARKA PAMIĘCIĄ PODSTAWOWĄ
1)stronicowanie (podział pamięci na równe części) 2)segmentacja (podział pamięci na różne
części) 3)statycznie (pamięć zostaje przydzielona pewnemu programowi aż do końca tego
programu, program dostaje tyle ile chce, te, które później dostają to, co zostało i tak do końca ich
istnienia) 4)dynamicznie (każde rozpoczęte/zakończone zadanie wiąże się z reorganizacją
przydziału pamięci)
KOPROCESOR ARYTMETYCZNY
Koprocesor arytmetyczny (zawiera go każda jednostka centralna, odrębny procesor w tej samej
obudowie, co procesor podstawowy, nie może sam sobie zapewnić potrzebnych danych do
działania). Koprocesor arytmetyczny ma rejestry zorganizowane w stos, rejestry 80 bitowe - 16
bitów części wykładniczej i 64 bity części ułamkowej.
Połączenie z procesorem (połączony zestawem linii sterujących i śledzi procesy; kiedy rejestry są
pełne walczy z procesorem o magistrale żeby pobrać dane z pamięci (są zbyt obszerne, aby były w
rejestrze))
Te 2 parametry można regulować:
RC - Ustala się w nim zaokrąglenie wyników (routing control)
PC - Precyzja obliczeń(precision kontrol)(możliwe okreslenie dokladnosci)
PRZYCZYNY PRZERWAN
PE – utrata dokładności (precision), UE – niedomiar (underflow), OE - nadmiar (overflow), ZE –
dzielenie przez zero (zero divide), DE – argument w postaci nieunormowanej (denormalized
operand), IE – operacja błędna (invalid operation)
Te przyczyny też są konfigurowalne (można część lub nawet wszystkie wyłączyć).
ROZKAZY KOPROCESORA(grupy rozkazów)
1)przesyłania: copy, move (źródłem i przeznaczeniem tych operacji jest pamięć podstawowa i
rejestry koprocesora (nie ma kopiowania i przenoszenia danych do procesora podstawowego)).
2)operacje matematyczne (grupa najbardziej rozbudowana). 3)operacje porównania i
testowania (testowanie- sprawdzanie czy liczba jest jakaś(czy jest zerem)) 4)wyliczanie funkcji
przestępnych(2^x-1,ylog
2
x,ylog
2
(x+1), są to najczęściej stosowane funkcje w obliczeniach
numerycznych) 5)ładowanie stałych:(0, 1, π, log
2
10, log
2
e, log
10
2, log
e
2) 6)operacje sterowania i
konfiguracji
ELEMENTY KOPROCESORA
1. bufor szyny danych obiera informacje : magazynuje je, 2.uklad adresowy zawiera adresy od
procesora 3.rejestr rozkaz numerycznego 4.rejestr stanu pokazuje informacje co się stało – na
jakim etapie jest praca koprocesora 5.rejestr sterujący 6.układ przetwarzania wykładnika 7.układ
przetwarzania części ułamkowej 8.rejestr znaczników informuje co z grubsza znajduje się w
rejestrze podstawowym
UKLADY WEJSCIA I WYJSCIA.
PORT SZEREGOWY
W porcie szeregowym bity wysyłane/odbierane jeden za drugim. NADAJNIK[TxD- dane
nadawane, TxC - impulsy zegara, TxRDY- nadajnik może być załadowany nowymi danymi, TxE-
nadajnik zupełnie pusty] ODBIORNIK[RxD- dane odbierane, RxC- zegar odbiornika, TxRDY-
pusty odbiornik gotowy do przyjęcia danych, SYNDET- zadaniem tej linii jest zagwarantowanie
synchronizacji nadajnika/odbiornika pracujących w trybie transmisji synchronicznej.]
SYNCHRONICZNY (tory TxC=RxC, słowa synchronizacji (=drezyna), obie strony umawiają się
ż
e przed właściwymi danymi nadejdzie umówiony ciąg bitów (czasem są dwa słowa
synchronizacji). MONOSYNC- 1 słowo(drezyny idą tak długo aż obie strony są pewne że
transmisja przebiega poprawnie), BISYNC- 2 słowa(jeżeli wiadomo że mimo końca danych w
danym momencie będą następne porcje danych, nie przerywa się transmisji, tylko w kanał
wpuszcza się drezyny (MONOSYNC), w przypadku BISYNC drezyny idą na zmianę 1-2-1-2,
zawsze musi być para), te słowa potwierdzają gotowość linii do przesyłu danych, wagon składa się
z części kontrolnej oraz danych, dane dzielone są przez wielomian, część kontrolna mówi, co
zawierały dane i czasem pozwala je odzyskać jeśli uległy przekłamaniu, dane są przesyłane jeden
po drugim - nie ma przerw, część kontrolna powstaje przez wielomian CRC-16 lub CRC-CCiTT)
ASYNCHRONICZNY(ustalenie warunków przesyłu danych, tory: prędkość zegarów RxC=TxC-
rowne, bity startu:1 lub 2, z reguły 1, dane: 5,6,7,8 bitów, bit parzystości: none, parzysty,
nieparzysty, bity stopu: 1,2 lub 1,5 (półtora bitu), paczki danych obudowane dodatkowymi bitami.
Kolejna paczka danych nie musi napłynąć zaraz po wcześniejszej (nie musi być do niej
przyczepiona)).
Obecnie częściej stosuje się tryb asynchroniczny.
PORT RÓWNOLEGŁY
Równoległe w czasie przekazywanie danych z/do systemu.
TRYBY PRACY(numerowane od 0)
1)tryb zerowy 0 (niestrobowane wejście - wyjście), każdy z kanałów A,B,C może pracować
oddzielnie (nieznaczący tryb) 2)tryb pierwszy (strobowane wejście wyjście) z kontrolą
poprawności przesyłania danych. Dialog poprawności przesyłania danych na linii IBF wtedy linia
STB ustawiona w stan aktywny i dane są przesyłane, następnie linia IBF w stan nieaktywny, nie
jest to przewidziane sprawdzanie poprawności przesyłanych danych, wysyłane danych podobnie)
3)tryb drugi (strobowane wejście wyjście, strobowana dwukierunkowa magistrala danych), w
trybie drugim pracuje tylko port A i to właśnie port A jest tą magistralą dwukierunkową, mamy 2
komplety linii zabezpieczających: jedna za wychodzenie, druga za przychodzenie danych.
UKŁADY CZAOWO- LICZNIKOWE
Odmierzanie jednakowych odcinków czasu, generowanie przebiegów prostokątnych.
Każdy licznik może prowadzic osobne odmierzanie czasu. CLK- zewnętrzny generator, GATE,
OUT- generowanie przebiegów czasowych, liczniki negatywne- liczą w dół (w kodzie binarnym
BCD)
TRYBY PRACY
1)tryb 0 (jednokrotnie odmierzamy odcinek czasu, linia gate może zahibernować odliczanie, w
przypadku podania nowej stałej do odmierzania wcześniejsze odliczanie jest przerywane i
rozpoczyna się to nowe) 2)tryb 1 (odliczanie jednorazowe), zapisujemy stałą, rusza odliczanie gdy
gate w stan aktywny, jeżeli gate przejdzie w stan nieaktywny nic się nie dzieje ale jeśli wróci to
liczenie od nowa. 3)tryb 2 (dzielnik częstotliwości), ładujemy stałą, to od razu powoduje start
naliczania, po zerze liczy od nowa, przy podaniu nowej stałej następne odliczanie zaczyna się juz
od niej. 4)tyb 3 (generator przebiegu prostokatnego), CLOCK, OUT(n=4), OUT(n=5). 5)tryb 4,
6)tryb 5 (jednorazowe), start naliczania po przejściu w stan aktywny.
SYSTEMY WIELOPROCESOROWE (MIMD I SIMD)
SYSTEM MIMD (wiele strumieni danych, wiele instrukcji)
1)wydajność (zwiększanie liczby procesorów nie zwiększa w nieskończoność wydajności bo
zwiększa się zapotrzebowanie na zasilanie, komunikację, wydajność dąży asymptotycznie do
pewnej wartości) 2)FTC (odporność na zakłócenia - popsucie części systemu nie powoduje
całkowitego zatrzymania)
DWIE ORGANIZACJE
1) ściśle związane- maszyny z dzieloną pamięcią, od razu budowane w ten sposób przez
producenta, drogie R-to-C strzałka w dół, 2)luźno związane- maszyny z przesyłaniem
komunikatów. R-to-C strzałka w góre.
Istnieje miara określająca, na której organizacji zadanie lepiej się „spisze”. Miara R-to-C duża-
luźno związane, mała- ściśle związane.
SYSTEM SIMD
Układy specjalizowane do implementacji operacji macierzowych, przetwarzania sygnałów i
obrazów w czasie rzeczywistym, synchronizowane procesory połączone w siatkę, procesor
połączony tylko z najbliższymi sąsiadami, struktura procesora bardzo prosta lub bardzo
rozbudowana, dane i częściowe wyniki przesyłane w takt wspólnego sygnału, czynniki
przetwarzania danych uzyskiwane są stopniowo.
TABLICA[z częściowym rozpowszechnianiem danych, przetwarzania potokowego, heksagonalna,
typu wave front, z rozpowszechnianiem danych]
GRAF ZALEśNOŚCI
1)kompletny graf zależności, 2)zlokalizowany graf zależności
MIARY
Computation time- czas wykonywania całego zadania, Pipeling period- czas pomiedzy kolejnym
dostarczeniem danych do procesora, jeżeli 1 to dane cały czas przetwarza. Block period- czas
wykonania zadania czastkowego. Processor utilization rate=sequential computation time /
array computation time, sct-czas wykonania sekwencyjnego, act- czas wykonania dla jednego
procesora. Utilization time=speedup/number of procesor- za jaką cenę uzyskaliśmy
przyspieszenie. Array processor size- maksymalna wielkość siatki procesorów, jest ona
limitowana rożnymi parametrami.
MAGISTRALA IEC - 625 / IEEE-488
Magistrala pomiarowo laboratoryjna
INFO:
1)do 16 urządzeń 2) magistrala równoległa 8 bitowa elementy koprocesora 3)magistrala
napięciowa (poziomem logicznym są wartości napięć, TTL 0,-5(ujemna)) 4)do 25 metrów między
urządzeniami skrajnymi.
PRZEWODY:
1)dane(DIO 1-8, numerowane wyjątkowo od 8) 2)ATN(attention<-rola nadajnika) 3)DAV(ważne
dane na linii (dane lub rozkazy)) 4)NDAC(no data accepting- urządzenia rozpoczęły przyjmowanie
danych) 5)NRFD(not ready for data- linia mówi czy wszystkie odbiorniki są gotowe na przyjęcie
danych) 6)EOI(end or identify- koniec transmisji wielobajtowej) 7)SRQ(service request- żądanie
przerwania) 8)REN(remonte enable- pozwala włączyć zdalne sterowanie (z urządzenia
sterującego)) 9)IFC(interface clear- reset, wyzerowanie wszystkich urządzeń)
WYMIANA DANYCH
DIO--------<=ważne dane=>-----
DAV_____|¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ |____
NRFD_____|¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ |__
NDAC____________|¯ ¯ ¯ ¯ ¯ |___
DIO i DAV to nadajnik, NRFD i NDAC to odbiorniki
0)sprawdzanie czy nieaktywna 1)wysyłanie danych 3)ważne dane idą (DAV w stan aktywny)
3)NRFD w stan aktywny (tzn przynajmniej jeden odbiornik zauważył dane (w tym czasie nie mogą
być przesyłane inne dane) 4)NDAC w stan aktywny (wszyscy zainteresowani danymi już się
zainteresowali) 5)zdjęcie DAV 6)skasowanie ważnych danych
ATN EOI (0,0-dane, 0,1- dane ,ostatni bajt (kończymy transmisje) 1,0-rozkazy, 1,1-odpytywanie
równoległe)
Odpowiedzią na SRQ jest właśnie odpytywanie głoszenie przez któreś z urządzeń (lub kilka).
1)odpytywanie które z urządzeń zgłosiły SRQ 2)te urządzenia przesyłają swój adres (1z8)(jeden
adres może być przyporządkowany 2 urządzeniom) 3)odpytywanie szeregowe (dotyczy już tylko
tych urządzeń które zgłosiły problem) urządzenia przesyłają informację co się stało 4)akcja
dedykowana do konkretnego urządzenia.
Wyższy priorytet mają te urządzenia, które mają niższy priorytet. Wszystkie urządzenia, które
mogą być podłączone do tej magistrali jest podzielone na część interfejsową i część urządzeniową.