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ą.