Architektura systemów komputerowych

advertisement
1
HISTORIA URZĄDZEŃ LICZACYCH:
 Starożytne (abaki) – prostokątna deska z wyżłobionymi rowkami, w których kamykami zaznaczano liczbę
poszczególnych rzędów dziesiętnych
- Liczydło
 18 wiek – sumator:
- 1842 – Pascal – sumator szeregowy, dodawanie cyfra po cyfrze
- 1871 – G. W. Leibnitz – sumator równoległy – sumowanie cyfr odbywało się jednocześnie – możliwe
obliczenia prostych iloczynów
 19 wiek:
- 1812 – Babbage – model maszyny różnicowej, obliczenia tablic funkcji matematycznych
- 1833 – Babbage – projekt maszyny analitycznej – idea sterowania sekwencyjnego – karty dziurkowane,
zrealizowane z powodu trudności finansowych niskiego stanu techniki
- 1877 – USA – sumator klawiszowy
 20 wiek:
- 1920 – arytmometr elektryczny
- 1944 – Mark1 – maszyna licząca oparta na przekaźnikach elektromagnetycznych – sponsorowana przez
IBM
- Bell5 – Bell telecom
- 1946 – USA – ENIAC (początek informatyki): 17000 lamp elektronowych, zegar 100khz, 5000 dodawań na
sekundę, sterowanie sekwencyjne, system dziesiętny, pamięć do przechowywania liczb
- 1945 – UAS – maszyna sekwencyjna ze sterowaniem wewnętrznym (wymienny program w pamięci wraz z
danymi
- 1947 – 1949 – EDSAC i EDVAC – wg. koncepcji Neumanna
Komputery pierwszej generacji:
 lampowe
- programowanie w języku wewnętrznym (0,1)
- 1951 – UNIVAC – system dziesiętny, pamięć rtęciowa
- 1953 – IBM701 – system dwójkowy, pamięć elektrostatyczna
- 1958 – UMC1 – skonstruowany na Politechnice Warszawskiej, produkowany seryjnie, pierwszy komputer
w Lublinie
 Komputery drugiej generacji:
- 1949 – pierwszy tranzystor i kompozycja oparta na nich, pamięć na rdzeniach ferrytowych, powstają
pierwsze translatory
- 1955 – TRADIC – zbudowany na tranzystorach
- 1956 – TX0 – programowalny komputer ogólnego przeznaczenia
- 1958 – Seymon Cray – CDC1608 – superkomputer tranzystorowy
- 1962 – Odra1003 – polski komputer tranzystorowy, pamięć ferrytowa
- 1959 – IBM seria 7000 – 64-bitowe słowo, pierwszy raz użyto zwrotu ARCHITEKTURA KOMPUTERA
(jest to funkcjonalny wygląd komputera przeznaczony dla jego użytkowników – definicja z 1964 r.)
 Komputery trzeciej generacji:
Szukasz gotowej pracy ?
To pewna droga do poważnych kłopotów.
Plagiat jest przestępstwem !
Nie ryzykuj ! Nie warto !
Powierz swoje sprawy profesjonalistom.
2
-

-
komputery na układach scalonych SSI, MSI, (zmniejszenie rozmiarów i poboru mocy, zwiększenie
niezawodności), konsola operatora (klawiatura, monitor), systemy operacyjne, rozwój algorytmicznych
języków programowania, podział na hardware i software
1958 – pierwszy obwód scalony (Texas Instruments)
1954 – FORTRAN - język programowania IBM
1960 – PDP1 – pierwszy mikrokomputer wyprodukowany przez DEC
1965 – PDP8
1967 – nowa seria Odra 1300 w Polsce we współpracy z ICL
Komputery czwartej generacji:
oparte na układach scalonych LSI, VLSI, procesor jest pierwszym układem scalonym, rozpowszechnianie
się pamięci operacyjnych, dyski elastyczne, rozwój oprogwamowania
1969 – UNIX dla PDP
1970 – Pascal
1971 – Intel 4004 – 4 bitowy
1974 – Intel 8080 i Motorola 68000
1976 – Apple1 i superkomputer Cray1 o architekturze wektorowej
1977- Microsoft
1978 – Intel 8086 – 16 bitwy
1980 ZX80
PARAMETRY KOMPUTERA:
 Mips – mega instruction per second
 Mtlops – mega floaming point operations (ilość operacji zmiennoprzecinkowych na sekundę)
 Superkomputer to system komputerowy o najwyższej z pośród dostępnych w danym czasie maszyn o mocy
obliczeniowej
 Komputery piątej generacji – koniec lat 80-tych
 Rozwój technik komputerowych następuje w kierunkach:
- szukanie nowych architektur komputerów, RISC, potokowe, wieloprocesorowe i inne
- dalsza budowa superkomputerów i sieci komputerowych
- szybki rozwój technik minikomputerów
Generacje komputerów:
 zerowa:
- maszyny mechaniczne i elektromechaniczne
 pierwsza:
- od 1946 roku – maszyny lampowe
 druga;
- lata 50-te – maszyny tranzystorowe
 trzecia:
- lata 60-te – układy SSI i MSI
 czwarta:
- lata 70-te – LSI i VLSI
 piąta:
- koniec lat 80-tych
Klasyczna koncepcja komputera (Von Neumann):
Pamięć
Procesor
Urządzenia zewnętrzne
Użytkownik


-
Informacje w komputerze:
informacje (dane i rozkazy) w komputerze są przedstawiane w postaci słów binarnych
słowo binarne – dowolny skończony, uporządkowany ciąg symboli 0 lub 1 (bitów)
długość słowa bitowego określa ilość znaków we słowie
w komputerze długość słowa wpływa zwykle na długość jego wszystkich rejestrów
Procesor – uniwersalny układ cyfrowy przetwarzający informacje
przetwarza informacje wykonując na niej elementarne operacje
instrukcje – rozkaźniki
3
- ciąg instrukcji- program
- w celu wykonania przetwarzania informacji do procesora należy dostarczyć dane WE oraz program
Uproszczony model procesora:
adres pamięci
LR
A
ALU
ALU
wynik operacji
B
BR
dekoder
LR – licznik rozkazów
RL – rejestr rozkazów
ALU – jednostka arytmetyczno – logiczna
A, B – rejestry z argumentami ALU (A – akumulator)
Dekoder – dekoder kodu rozkazowego
 Elementy procesora:
- licznik rozkazów (wskaźnik instrukcji) – rejestr procesora zawierający adres komórki pamięci, w której
przechowywany jest kod rozkazu przeznaczonego do wykonania
- jednostka arytmetyczno – logiczna (ALU) – uniwersalny układ cyfrowy przeznaczony do wykonywania
operacji arytmetycznych i logicznych
- rejestry procesora są dostępne programowi
- A – akumulator – rejestr, który zawiera 1 z operandów wykonywanej operacji i do którego jest zazwyczaj
wynik operacji
- B – uniwersalny rejestr roboczy – zawiera drugi operand
- Dekoder (dekoder rozkazów) – układ procesora przeznaczony do rozpoznania kodu rozkazów i wytworzenia
wewnętrznych i zewnętrznych sygnałów sterujących
- pamięć operacyjna – uporządkowany ciąg n słów binarnych (komórek pamięci) o równej długości (np. 8), w
której przechowywane są dane, wyniki oraz kody instrukcji tworzących program
- każda komórka pamięci posiada swój adres
- podanie adresu ma WE adresowe umożliwiające dostęp do danej komórki pamięci
- w 1 cyklu pracy można zapisać lub odczytać z pamięci tylko 1 słowo
Struktura pamięci n słów binarnych:
Adres bitów
WE
O/Z
0
1
2
3
4
5
n=5
n=4
n=3
n=2
n=1
W. adres
WY
4
W. adres – wejściowe adresowe
O/z – sygnał sterujący dostępem W w zależności od O Z pamięć jest odczytywana lub zapisywana


-
Czas wykonania instrukcji:
całkowity czas wykonania instrukcji
cykl – czas każdego dostępu do pamięci komputera
długość instrukcji jest zwykle różna dla różnych rozkazów
cykl instrukcji zawiera zwykle 1 lub kilka cykli maszynowych
najszybciej wykonują się rozkazy nie zawirające cyklu maszynowego (bez odwołan co pamięci)
Język wewnętrzny komputera:
lista rozkazów – zestaw wszystkich instrukcji maszynowych (rozkazów), jakie potrafi wykonać procesor
binarna postać listy rozkazów wraz z podstawowymi cechami architektóry komputera tworzy język
wewnętrzny komputera
LR 00
LR – pamięć
Dekoder LR
Nie
Dekod
er
HALT
Czy
rozkaz
wielokom
órkowy
Kolejne cykle pobrania
Wykonania BR
Tak
5
-
 Główne cechy komputera (wg Neumanna):
3 główne bloki funkcjonalne – procesor, pamięć operacyjna, urządzenia WE, WY
praca pod kontrolą sekwencyjnego wpisanego programu
program i dane zapisane są w pamięci operacyjnej
SYSTEMY LICZBOWE:
 Dane w procesie przetwarzania informacji:
- dane stanowią reprezentację informacji
- w procesie przetwarzania danych wykonywane są określone działania, bez odwoływania się do ich
znaczenia
- podstawowym rodzajem przetwarzania danych są dane liczbowe
 Co to jest liczba ?
- liczbą naturalną nazywa się te cechy zbioru, która określa ilość (liczność) elementów w zbiorze
- pojęcie liczby jest więc pojęciem abstrakcyjnym, ponieważ w żadnym stopniu nie zależy od innych
szczególnych cech elementu zbioru
 Konieczność rejestrowania zjawisk o charakterze ciągłym spowodowało powstanie innych rodzajów
liczb – liczby wymierne i rzeczywiste
- pierwszy materialny zapis liczby z przed 30000lat odkryto w Czechach (na Morawach) w 1837 roku – były
to kości wilka, na których nacięto poprzeczne karby
 Zasady numeracji – przedstawianie liczb:
- addytywna (z łac. Addto – dodawanie) - kilka podstawowych znaków (cyfr) oznaczających wybrane liczby,
a wtedy pozostałe liczby oznacza się powtarzając wybrany znak potrzebną ilość razy
- subtraktywna (z łac. Subtractio – odejmowanie) – zestawienie cyfry oznaczającej liczbę mniejszą przed
większą oznaczającą różnicę liczb
multiplikatywna
 Systemy pozycyjne:
- w starożytnym Babilonie pierwszy raz pojawiła się numeracja pozycyjna, była oparta na stosowaniu 2
znaków (- oznaczał 1 i 60, <10 i 600)
- z indyjskich cyfr brahmi powstały nowoczesne cyfry – indyjskie dewanagari (boskie pismo) – stosowane w
układzie dziesiętnym – pochodzą od nich arabskie i europejskie dziesiętne systemy pozycyjne (pierwsze
świadectwo 7 wiek)
 Dziesiętny system pozycyjny:
- służy do zapisu liczb naturalnych:
n 1
-
N(10) =
a
n-1-i
* 10n-1-i = an-1 * 10n-1 + an-2 * 10n-2 + ... + a1(10) + a0 = an-1 * an-2 + ... + a1 * a0(10)
i 0
-
np.: 2046(10) = 2* 103 + 0 * 102 + 4 * 101 + 6 * 100, gdzie: a 3 = 2, a 2 = 0, a 1 = 4, a 0 = 6
-
 System pozycyjny o podstawie naturalnej p>1:
jeżeli p>1 jest dowolną ustaloną liczbą naturalną, to każdą liczbę naturalną można przedstawić:
-
N(p) =
n 1

i0
a n-1-i * pn-1-i = an-1 * pn-1 + an-2 * pn-2 + ... +a1 p+ a0 = an-1 * an-2 * ... * a1 a0(p)
6
-
 Ułamki:
jeżeli p>1 to każda formuła o przedstawionej postaci przedstawia pewną m-pozycję liczby taką, że: 0<u<1
-
u(p) =
m

ai * pi = a-1 * p-1 + a-2 * p-2 + ... + a-n+1 * p-n+1 + a-n * p-n = 0, a-1 * a-2 ... a-n+1 * a-n(p)
i 1
 Liczba wymierna w systemie pozycyjnym o podstawie p>1:
-formuła przedstawia (n + m) liczbę wymierną zapisaną w pozycyjnym systemie o podstawie p:
m
N, M(p) =

ai * pi = an-1 * an-2 ... a1 * a0, a-1 * a-2 ... a-m+1 * a-m + p
i  n 1
W SYSTEMIE POZYCYJNYM NIE MOŻNA ZAPISAĆ LICZBY NIEWYMIERNEJ
 Dwójkowy system pozycyjny:
m
- N,U(2) =

ai * 21 = an-1 *am-2 ... a1 * a0, a-1 * a-2 ... a-m + a-m(2)
i  n 1
-
1011001 101101(2) = 89,703125
57(10) = 1 * 25 + 1 * 24 + 1 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 111001(2)
2046(10) = 11111111110(2)
57(10) = 111001(2)

-
-
-
-
Algorytmy konwersji liczb w różnych systemach pozycyjnych:
o algorytm zamiany naturalnej liczby dziesiętnej na dwójkową – w celu dokonania konwersji
naturalnej liczby dziesiętnej na liczbę dwójkową należy:
podzielić liczbę, a następnie kolejno uzyskane ilorazy przez liczbę 2, aż do uzyskania ilorazu 0
podczas wykonywanych działań należy rejestrować kolejno otrzymywane reszty z dzielenia
poszukiwany kod dwójkowy liczby naturalnej otrzymuje się wpisując kolejno otrzymane reszty w porządku
przeciwnym do otrzymania
o Zamiana ułamka dziesiętnego na ułamek dwójkowy:
mnożyć ułamek, a następnie części ułamka kolejno otrzymywanych iloczynów przez 2
podczas wykonywanych mnożeń należy rejestrować kolejno części całkowite otrzymywanych iloczynów
poszukiwany kod dwójkowy ułamka otrzymuje się wypisując kolejno otrzymane części całkowite
iloczynów w porządku zgodnym z ich uzyskaniem
postępowanie przerwać, gdy pewna sekwencja cyfr w wyniku zacznie się powtarzać
 Algorytm zamiany liczby szesnastkowej na dwójkową:
należy przekodować kolejno na kod dwójkowy wszystkie cyfry liczby szesnaście, otrzymany ciąg cyfr
dwójkowych jest poszukiwaną liczbą dwójkową
 Algorytm zamiany liczby dwójkowej na szesnastkową:
należy podzielić liczbę dwa od prawej strony na grupy po cztery cyfry, każdą z czterech cyfr liczby dwa
należy zastąpić cyfrą szesnastkową. Otrzymany ciąg cyfr szesnastkowych jest poszukiwaną liczbą
szesnastkową
 Kody binarne cyfr szesnastkowych:
Cyfra 16
0
1
2
3
4
5
6
7
Kod binarny
0000
0001
0010
0011
0100
0101
0110
0111
Cyfra 16
8
9
A
B
C
D
E
F
Kod binarny
1000
1001
1010
1011
1100
1101
1110
1111
KODOWANIE INFORMACJI:
 Kodowanie informacji:
- informacja cyfrowa – informacja przedstawiona (zakodowana) w postaci słów cyfrowych
- słowo cyfrowe (binarne) – dowolny ciąg składający się z symboli 0lub 1, co oznaczamy:
an-1 * an-2 ... a3 a2a1a0 , gdzie a = (0,1) , an-1 – oznacza się USB (ang. Most Significant Bit) – najbardziej znaczący
(najstarszy) bit , a0 – LSB (ang. Least Significant Bit) – najmniej znaczący (najmłodszy) bit
7
-
-
 Jednostka informacji:
jeśli prawdopodobieństwo pojawienia się komunikatu wynosi p, to komunikat zawiera k - bitów informacji:
k= - log2 (bit)
jeśli prawdopodobieństwo pojawienia się komunikatu wynosi p = 0,5, to wtedy komunikat zawiera :
–log2 2-1 = 1 bitów informacji
 Przyjmujemy następujące oznaczenia:
1 (bit) = 1 b
8 (bitów) = 1 B (Bajtów)
w n - elementarnym słowie cyfrowym cyfry 0 i 1 możemy rozmieścić na 2 n sposobów
jeżeli pojawienie się n – elementowego słowa cyfrowego ma CHARAKTER LOSOWY, to wtedy
prawdopodobieństwo pojawienia się go wynosi p = 2-n , na podstawie definicji jednostki informacji słowo
takie zawiera –log2 2-n = -(n * log2 2) = n * 1 = n (bitów informacji)
 Nazwy słów binarnych:
Długość słowa
1
4
8
16
32
64
Oznaczenia symboliczne
a0
a3 ... a0
a7 ... a0
a15 ... a0
a31 ... a0
a63 ... a0
Nazwy angielskie
Binary, digit, bit
Nibble
Byte
16-bit word, word
Double word, dword
Word, qword, quad
Nazwy polskie
Bit
Tetrada, kęs
Bajt
Słowo 16-bitowe, słowo
Podwójne słowo, dwósłowo
Słowo 64-bitowe-4 słowo

-
Kodowanie – przyporządkowanie poszczególnym obiektom zbioru kodowego odpowiadających im
elementom zwanych słowami kodowymi, wg. ściśle określonego przypisu zwanego kodem, przy czym
każdemu słowu kodowemu musi odpowiadać dokładnie 1 element kodowy
 Umowna terminologia:
zapis dowolnej liczby w dowolnym systemie notacji będziemy nazywać liczbą z dodaniem nazwy systemu
notacji
 Kod – takie jednoznaczne przyporządkowanie (kod), które liczbom zapisanym w dowolnym systemie
przyporządkowuje słowo kodowe w postaci zerojedynkowej
 Graficzna interpretacja kodowania:
111
A
010
B
100
C
Zbiór obiektów kodowanych
001
Zbiór słów kodowanych
 Naturalny kod binarny – NKB
jeżeli dowolnej liczbie dziesiętnej przyporządkowujemy jej dowolną liczbę binarną, to otrzymujemy
naturalny kod binarny (NKB)
NKB
393
110001001
- przyporządkowując każdej cyfrze dziesiętnej 4 – cyfrową liczbę dwójkową (tetradę) w kodzie NKB, a
następnie kodując liczbę dziesiętną cyfra po cyfrze otrzymuje się kod prosty (BCD)
BCD
393
001110010011
 Stałopozycyjna reprezentacja liczb:
o W reprezentacji liczb można stosować następujące kody stałopozycyjne:
1). Kod znak – moduł ZM
-
8
2). Kod odwrotny – U 1
3). Kod uzupełniający – U 2
 Stosowanie odpowiednich kodów jest konieczne ze względu na to, że w normalnym zapisie
pozycyjnym oprócz cyfr (np.: 0,1) do zapisu liczby używamy jeszcze znaków: „+” „-” „ , ”
 Dla dowolnej liczby dwójkowej (W) – 2k można utworzyć jej reprezentację w słowie cyfrowym o
długości n = (k + n) zgodnie z następującym wzorem:
Wzm =
W
2k-1
gdzie W  0
gdzie W  0
 Kod ZM tworzy się przez dodanie bitu znaku do kodu NKB
- 0 oznacza + , a wartość 1 znak – pozostałe bity słowa oznaczają wartość (W) liczby
- pozycję oddzielającą część całkowitą od ułamkowej przypisuje się umownie k – bitów od
początku słowa, np.: słowa 8 – bitowego
-93 = -1011101
93 = 1011101
-0,6875 = -0,1011
0,6875 = 0,1011

Kod odwrotny:
W0 U1 = W
gdzie W  0
2k + W – 2-m
gdzie W  0
- kodzie U 1 liczba dodatnia ma taką samą reprezentację jak w kodzie ZM
- reprezentację liczb w kodzie U 1 można utworzyć w ten sposób, że na pozycji bitu znaku umieszczamy 1, a
na pozostałych bitach zanegowane bity wartości bezwzględnej liczby w kodzie NKB, np.:
kod U 1 dla słowa 8 – bitowego
-0,6875 = -0,1011
0,6875 = 0,1011
 Kod uzupełnieniowy:
- dla dowolnej liczby 2(W) – 2k można utworzyć jej reprezentację w słowie cyfrowym o długości n = (k+m)
zgodnie z następującym wzorem:
wu2 = w gdzie w  0
w gdzie w  0
- w kodzie U2 liczby dodajemy na taką samą reprezentację jak w kodzie 2M
- reprezentację liczby ujemnej w U2 można utworzyć w ten sposób, że na pozycji bitu znaku umieszczamy 1,
a następnie do zanegowanych bitów wartości bezwzględnej liczby należy optymalnie dodać 1 na najmniej
znaczącej pozycji słowa ,np.:
-93 = 1011101
93 = 1011101
-0,6875 = -0,1011
-0,6875 = 0,1011
 Kodowanie znaków alfa – numerycznych:
- dane alfa – numeryczne (dane tekstowe) reprezentujące wyłącznie znaki drukarskie (litery, cyfry, znaki
interpunkcyjne, znaki specjalne, znaki sterujące wydrukiem niewidoczne w tekście)
- do kodowania znaków alfa – numerycznych używa się obecnie kodu ASCII (American Standard Code for
Information Interchange)
- kod ASCII znany jest też jako ISO (International Standard Organization)
- pierwotnie kod ASCII był kodem 7 – bitowym, a 8 bit był przeznaczony do tzw. Kontroli parzystości
- obecnie stosuje się 8 – bitowej odmiany kod ASCII uwzględniający wiele dodatkowych znaków (w tym
narodowe)
PODSTAWY UKŁADÓW LOGICZNYCH:
 Działania logiczne i bramki:
- każdy układ cyfr można przedstawić jako „czarną skrzynkę”
- słowem WE układu cyfr nazywamy uporządkowany ciąg wartości wszystkich sygnałów WE
- słowem WY układu cyfr nazywamy uporządkowany ciąg wartości wszystkich sygnałów WY
 Układy kombinacyjne i sekwencyjne:
- jest to układ cyfr, w którym danemu słowu WE odpowiada zawsze tylko 1 słowo WE
9

-
w którym istnieje przynajmniej 1 słowo WE, na które układ odpowiada różnymi słowami WE w różnych
chwilach czasu
układ cyfr, dla którego w dowolnym momencie jego działania stan WE oddziaływuje na stan WY
stan WE wpływa na stan WY jedynie w pewnych odcinkach czasu pracy układu zwanych „czasem
czynnym”, natomiast w pozostałych odcinkach zwanych „czasem biernym” stan WE nie wpływa na stan
WY
Układy kombinacyjne:
o w technice cyfrowej układ kombinacyjny realizuje się jako:
układy złożone z odpowiedniego zestawu najprostszych układów logicznych tzw. Bramek
 Standardowe bloki kombinacyjne:
dekodery
multipleksery
układy matrycowe
bramka (ang. gata) jest to podstawowy układ logiczny realizujący prostą funkcję logiczną (np.: sumę lub
iloczyn)
- iloczyn (AND)
- suma (OR)
- NAND
- NOT
o np.: 1 bitowy sumator:
- niech A i B będą naturalne, zapisane w kodzie NKB:
A=

i
ai 2 1
A=

bt 21
t
aby znaleźć sumę arytmetyczną tych liczb należy dodawać bit po bicie zaczynając od najmniej znaczącej
pozycji liczb
- zadanie polega na kilkukrotnym wyznaczaniu wartości 2 funkcji
y1 = y1 (a1 b1 c1) – binarny wynik jednopozycyjnego dodawania
 Komparatory:
- układ liczb wskazujący fakt równości lub nierówności 2 słowa binarnego WE nazywa się komparatorem
- w przypadku nierówności słowa komparator może wskazywać, które ze słów WE jest większe
o Komparator 1 bitowy:
-
10
A
B
 Kekodery:
nazwane są układem o n – WE i 2n WY
przekształcają one słowa WE w kodzie NKB na słowa w „ 1 z 2 n
na odpowiednim WY dekodera pojawia się 1, a wszystkie pozostałe pozycje są równe 0 (czasem bywa
odwrotnie)
- koderem (endokoderem) nazywamy układ komb. Który zamienia kod WE na kod binarny NKB
- kodem priorytetu nazywamy układ kodu, w którym wprowadzono następujące zmiany:
1. na jego WE może pojawić się więcej niż 1 sygnał wyróżniany
2. każdemu WE przyporządkowuje pewien priorytet
3. na WE pojawia się zakodowany numer tego WE z wyróżnionym
sygnałem, który posiada najwyższy priorytet
 Multiplekser – układ realizujący funkcje wybierania (selekcji) 1 z wielu WE i skierowanie
informacji z tego WE na WY
 Dekoder – układ realizujący funkcje wybierania (selekcji), z wielu WY, na które
skierowane są informacje z WE
 Układy sekwencyjne:
- rejestrem nazywamy układ cyfr przeznaczony do krótkoterminowego przechowywania niewielkich ilości
informacji lub zamiany postaci informacji z równoległej na szeregową lub odwrotnie
- licznik – układ cyfr, na którego WY pojawia się zakodowana liczba impulsów podanych na WE zliczające
licznika, zliczona przez licznik
ARYTMETYCZNE PODSTAWY DZIAŁANIA KOMPUTERA
 Arytmetyka stałopozycyjna:
- dodawanie stałopozycyjnych liczb dodatnich:
-
Wartości dziesiętne
Wart. w zapisach ZM, U1, U2
01011001
00101101
(1)00101101
89
+45
134
-
Wartości w BCD
010001001
001000101
011001110
01100110
00100100
+
(1)
(1) 00110100
w zapisie ZM, U1, U2 i dodawanie stałopozycyjne liczb dodatnich przebiega w identyczny naturalny sposób
zapis w BCD dodaje do siebie odpowiednie tetrady, jeżeli wynik dodawania tetrad przekracza zakres kodu,
to dodaje się do nich korekcję równą 6. Następnie uwzględnia się powstałe przeniesienia
dodawanie liczb stałopozycyjnych:
Wart. dziesiętne
+9
-7
+2
ZM
01001
+10111
00010
U1
01001
+11000
(1)000001
+
1
00010
U2
01001
+11001
(1)00010
BCD
01001
+10111
00010
11
-
-
-
-
aby odjąć 2 liczby w zapisie ZM lub BCD należy:
a) porównać moduły obu argumentów i przyjąć jako znak wyniku znak liczby o większym module
b) od większego modułu odjąć mniejszy, realizacja tego argumentu nie jest łatwa, ponieważ w przypadku
gdy na wybranej pozycji od 0 należy 1 istnieje konieczność stosowania tzw. „pożyczek wyższych
pozycji”
 Odejmowanie liczb w zapisie U1 i U2:
w zapisie U1 odejmowanie polega na dodawaniu wszystkich pozycji liczby wraz z bitem znaku oraz
uwzględnieniu powstałego przeniesienia. Korekcja polega na dodawaniu przeniesienia do najmniej
znaczącej pozycji wyniku
w U2 odejmowanie jest po prostu dodawaniem wszystkich pozycji wraz z bitem znaku. Jeśli powstanie
przeniesienie na liście, to jest ono ignorowane
 Mnożenie liczb w zapisie stałoprzecinkowym:
o Algorytm mnożenia liczb dla zapisu ZM:
porównać bity znaków i przyjąć znak wyniku
wykonać mnożenie modułów
bit znaku wyniku można wyznaczyć wykonując na bitach znaków czynników sumę moduło 2
mnożenie modułów można wykonać zgodnie z arytmetycznymi zasadami mnożenia liczb w systemie
pozycyjnym o podstawie 2
M
ALU
RL
C
Układ
sterow
ania
SHF
RH
M – rejestr bitowy
R – rejestr 8 – bitowy
RL – 1 bitowa najmniej znacząca część rejestru R
RH -1 bitowa najbardziej znacząca część rejestru R
ALU – jednostka logiczno – arytmetyczna
C – 1 bitowy rejestr do uwzględniania przeniesienia
SHR – przesunięcie w prawo
 Algorytm mnożenia liczb stałoprzecinkowych BCD:
12
START
RH  0
RL  czynnik 1
M  czynnik 1
STER  N
R0 = 1
Przesunięcie w prawo
N=N-1
RL  RL + M
13
-
-
przy realizacji tego algorytmu układ sterowania programuje się na odpowiednią liczbę kroków równą liczbie
bitów mnożonych liczb
 Mnożenie liczb stałoprzecinkowych w zapisie U1 i U2
algorytm mnożenia liczb w zapisie U1 zależy od znaku czynników (dla dodawania pokrywa się z
algorytmem liczb NKB)
algorytm mnożenia liczb zapisanych w U2 wymaga stosowania korekty przy mnożeniu przez liczbę ujemną
(wydłużenie algorytmu o 1 krok)
wymienioną wyżej wadę algorytmu mnożenia liczby w zapisie U2 można usunąć zmieniając odpowiednio
konstrukcję algorytmu
START
RH  0
RL  czynnik 1
M  czynnik 1
STER  N
R0 = 1
Przesunięcie w prawo
N=N-1
RL  RL + M
14
RL0 =
N=0
1
RL  RL
+M
STOP
-
-
algorytm wymaga wykonania o 1 krok więcej niż wynosi liczba mnożonych liczb
 Dzielenie liczb w zapisie stałopozycyjnym:
o Dzielenie liczb w zapisie zmiennoprzecinkowym jest działaniem bardziej złożonym od mnożenia
ze względu:
nie zawsze musi być działaniem wykonywalnym
dzielna musi być odpowiedniej długości, aby iloraz miał pożądaną długość
w algorytmie dzielenia wykonuje się operacje dodawania, odejmowania i przesunięcia w lewo
 Reprezentacja zmiennoprzecinkowa liczb:
binarny zapis liczb zmiennoprzecinkowych składa się z 3 części zapisanych w oddzielnych polach
n – bitowe pole znaku
n – bitowe pole części ułamkowej zwanej mantysą S
m – bitowe pole części wykładnika zwane cechą E
o Stosując przyjęte oznaczenia dowolną liczbę A można przedstawić:
A = + (-) S * B+ (-)E ,gdzie S – mantysa , E – cecha , B – podstawa wykładnika (zwykle 2; 10;16)
o
Jeżeli 1/B 
S  1 , to S – znormalizowana i wtedy S = 0,1s-2 s-1...s-n
 Zakres obliczeń zmiennoprzecinkowych:
- niech będzie dane 32 – bitowe słowo standardu IEEE. Przyjmujemy, że jest 32 = 1 + 23 + 8 = 1 + n + m
(n – długość mantysy, m – długość cechy)
- przy tych założeniach w 1 słowie można zapisać najmniejszą liczbę : -(1-2-24)*2127
- graficznie nie można przedstawić liczb bliskich 0
- zakres zmiennoprzecinkowych reprezentacji liczb jest znacznie większy niż w reprezentacji
stałoprzecinkowej]
 Własności zmiennoprzecinkowej reprezentacji liczb;
- zmiennoprzecinkowa prezentacja liczb jest obecnie dominującym sposobem przedstawiania liczb w
systemie komputerowym
- w reprezentacji zmiennoprzecinkowej zwiększenie długości mantysy wpływa na zwiększenie dokładności
obliczeń (zmniejszenie rozdzielczości)
- w reprezentacji zmiennoprzecinkowej zwiększenie cechy wpływa na zwiększenie zakresu prezentowanych
liczb
15
Komputer VAX 11
Mikroprocesor Intel
Standard IEEE
754
Słowo
32
80
64(32)
Znak
1
1
1
Cecha
23
64
48(23)
Mantysa
8
15
45(8)
 Dodawanie i odejmowanie liczb zmiennoprzecinkowych;
wymaga wykonania procedury wyrównania cech(wykładników)
wyrównanie odbywa się w ten sposób, ze mniejsza cecha 1 z dodawania (odejmowania) liczby jest
zwiększana do wyrównania z 2
- zwiększenie cechy powoduje konieczność odpowiedniego zmniejszenia mantysy w liczbie, w której
korygowana jest cecha
o Niech będą dane 2 liczby:
A = SA * 2EA i B = SB * 2EB , zakładamy, że EA < EB  EB – EA >0
Wtedy A = (S.A. * 2(EA – EB)) * 2EB
 Mnożenie i dzielenie liczb zmiennoprzecinkowych:
- dzięki własnościom funkcji wykładniczej mnożenie i dzielenie liczb zmiennoprzecinkowych nie jest
działaniem trudnym
- istotnym problemem podczas dokonywania tych operacji jest problem dokładności obliczeń
 Dokładność przy wykonywaniu działań dla liczb zmiennoprzecinkowych:
- w celu poprawy dokładności obliczeń stosuje się tzw. „bity ochrony”, polega to na :
- do rejestrów, w których podczas obliczeń znajdują się mantysy dołącza się wyzerowane wcześniej bity
dodatkowe
- wydłużenie w ten sposób mantysy zachowują bity końcowe tracone w innym przypadku podczas operacji
przesunięcia związanych z wykorzystaniem działań
- przy wykonywaniu działania i normalizacji mantysom przywracana jest ich normalna długość
- wpływ na dokładność obliczeń ma problem zaokrąglania
o stosuje się 2 techniki:
- odwracanie – polega na ignorowaniu najmniej znaczących bitów nie wchodzących do zapisu
- zaokrąglanie
POJĘCIE SYSTEMU MIKROPROCESOROWEGO:
 Przetwarzanie informacji za pomocą systemu mikroprocesorowego:
-
DANE
System mp
WYNIKI
pr
og
ra
m
-
system komputerowy to złożone urządzenie elektroniczne zawierające co najmniej 1 procesor i pracujące
pod nadzorem dostarczonego z zewnątrz programu (ów)
sposób działania zależy głównie od dostarczonego oprogramowania
o w skład CPU wchodzą:
mikroprocesor, zegar, sterownik (magistrala opcjonalnie); koprocesor ( opcjonalnie, np.: arytmetyczny)
zadaniem CPU jest przetwarzanie informacji i sterowanie pracą pozostałych elementów systemu
mikroprocesorowego
steruje pracą układów systemowych
zegar – wytwarza przebiegi czasowe niezbędne do systemu
sterownik magistral (jest niezbędny, gdy w systemie jest więcej niż 1 procesor)
wytwarza sygnały sterujące układami pamięci i układami WE, WY
koprocesor – wspomaga pracę procesora w przetwarzaniu czasochłonnych operacji
MEM – pamięć operacyjna wykonana jako półprzewodnikowa, służy do:
16
przechowywania ciągu instrukcji dostarczanych do procesora, stanowiących
program
2. przechowywania danych do programu
3. przechowywania wyników działania programu
 Przechowywanie informacji może być wykonane w technologii:
RAM – pamięć ulotna, tracąca informacje w momencie wyłączenia zasilania, przeznaczona do zapisu i
odczytu – stanowi główną część pamięci operacyjnej
ROM – pamięć stała przechowuje informacje nawet po wyłączeniu zasilania – możliwy tylko odczyt
informacji, zawiera BIOS
I/O – układy WE i WY przeznaczone do pośredniczenia w wymianie informacji między procesorem i
pamięcią, a urządzeniami zewnętrznymi
o Potrzeba stosowania układów WE i WY:
dostosowanie poziomów sygnałów elektronicznych
potrzeby sterowania przepływem informacji
dostosowania szybkości transmisji
przygotowanie odpowiedniego formatu informacji
 Magistrala – zestaw linii oraz układów przełączających, łączących 2 lub więcej układów mogących być
nadajnikami lub odbiornikami informacji, przesyłanie informacji zachodzi zawsze pomiędzy 1 układem
będącym nadajnikiem, a dokładnie 1 układem będącym odbiornikiem, przy pozostałych układach
odseparowanych od linii przesyłających
 DB – magistrala danych – dwukierunkowa – łączy procesor z innymi układami – jest przeznaczona do
przesyłania danych wyników oraz kodów instrukcji
 AB – magistrala adresowa – jednokierunkowa – przesyła adresy generowane przez procesor – jest
przeznaczona do przesyłania adresów komórek pamięci lub układów WE – WY
 CB – magistrala sterująca – stanowi zestaw linii sterujących pracą układów współpracujących z
procesorem i sygnalizowania jego stanów
 Akumulator – rejestr, do którego ładowany jest 1 z argumentów wykonywanej operacji, a następnie
wynik tej operacji
w nowych typach procesora w celu przyspieszenia pracy wynik operacji może być umieszczony także w
innych rejestrach
o Rejestr flagowy – rejestr zawierający informacje o wyniku wykonanej operacji
informacja to znak wyniku, nadmiar, parzystość, itp.
znacznikami stanu są poszczególne bity rejestru flagowego
znaczniki stanu są wykorzystywane do tworzenia rozgałęzień w programie
o Licznik rozkazów – rejestr procesora zawierający adres komórki, w której przechowywany jest kod
rozkazu przeznaczonego do wykonania jako następujący:
licznik rozkazu – PC – jest też „wskaźnik instrukcji” – IP
po pobraniu przez procesor kolejnego rozkazu zawartość licznika zasadniczo powiększa się o 1
w poszczególnych przypadkach w wyniku działania specjalnych rozkazów wartość powiększa się
o Stos – wyróżniony obszar pamięci używany wg. następujących reguł:
informacje zapisywane są na stos do kolejnych komórek (żadnego adresu nie można pominąć)
odczytujemy informacje w kolejności odwrotnej do zapisu
informacje odczytujemy z ostatnio zapełnionej komórki, natomiast zapisujemy do 1 wolnej
często przeznaczony jako LIFO
wskaźnikiem stosu nazywamy rejestr zawierający adres komórki stosu (wierzchołka stosu)
w zależności od typu procesora stos buduje się w kierunku adresów rosnących lub malejących – wskaźnik
stosu zwiększa się lub zmniejsza
dla wykorzystania stosu nie jest to istotne
klasyczne zastosowanie stosu to zapamiętanie miejsca powrotu z podprogramu
 Uniwersalne rejestry robocze:
każdy procesor dysponuje pewną liczbą rejestrów roboczych ogólnego przeznaczenia, służą one najczęściej
do przechowywania:
wyników operacji
adresów
pełni funkcje liczników
itp.
w procesorze I 8080 para rejestrów HL służy do rejestrowego trybu adresowania pamięci
 Fazy cyklu rozkazowego:
w celu przyspieszenia pracy systemu stosuje się modyfikację cyklu rozkazowego
1.
-
-
-
-
-
17

-
Prefechting – jego realizacja wymaga odpowiedniej budowy procesora umożliwiającej równoległą
pracę jednostek CU i EU
rozwiązaniem jest praca pętlowa

Cykl rozkazowy:
PC  00
IR  MEM(PC
PC  PC + 1
DEK  IR
DEK =
HALT
Czy
rozkaz
wielorozk
Wykonanie IR
18
 Lista rozkazów mikroprocesora:
rozkazem nazywamy najprostszą operację, której wykonania programista może zażądać od procesora
listą rozkazów nazywamy zestaw wszystkich instrukcji maszynowych (rozkazów, jakie potrafi wykonać
dany procesor
o Wyróżniamy rozkazy:
- przesłań
- arytmetyczne i logiczne
- sterujące (skoki, wywołania, pętla, itp.)
- inne (np.: sterowanie koprocesorem)
 Charakter rozkazów:
o Przesłań:
- są najczęściej wykonywane
- nie zmieniają wartości informacji
- zalicza się do nich operacje na stanie oraz operacje WE i WY
o Arytmetyczno – logiczne:
- zmieniają wartość informacji
- oprócz rozkazów wykonujących podstawowe operacje arytmetyczne i logiczne należą do nich rozkazy
przesuwania cyklicznego i porównania
o Sterujące:
- pozwalają zmieniać kolejność instrukcji wykonania operacji
- robią do nich warunkowe i bezwarunkowe skoki, wywołania podprogramu oraz pętle
- inne rozkazy w tym sterujące pracą procesora
 Format rozkazu;
- nazywamy sposób rozmieszczenia informacji w kodzie rozkazu
- musi zawierać określenie rodzaju wykonywanej operacji
- jest to kod operacji – musi on być zapisany w 1 części rozkazu
- może zawierać operandy lub adresy operandów (dodawanie argumentów i wyników)
- tryb adresowanie – sposób określenia przechowywania argumentów rozkazu
 Tryby adresowania:
o Natychmiastowe i bezpośrednie:
- polega na tym, że argument zawarty jest w kodzie rozkazu
- bezpośrednie polega na tym, że kod rozkazu zawiera adres komórki pamięci, w której przechowywany jest
argument
o Rejestrowe i pośrednie:
- rejestrowe polega na tym, że w kodzie rozkazu określany jest rejestr zawierający argument
- pośrednie polega na tym, że kod rozkazu zawiera określenie rejestru, w którym znajduje się adres komórki
pamięci zawierającej argument
o Indeksowe z przemieszczeniem:
- polega na tym, że adres argumentu przechowywanego w pamięci jest obliczany jako suma zawartości rejestru
określonego w kodzie rozkazu i wartości umieszczonej w kodzie rozkazu, a zwanej „przemieszczeniem”
-
-
PAMIĘCI OPERACYJNE
 Najważniejsze parametry to:
pojemność – określa się podając liczbę słów i długość słowa
szybkość – określa się jak często procesor może z niej korzystać, często określa się szybkość: czas dostępu,
cyklu, szybkość transmisji
czas dostępu – jest to czas, jaki upływa od momentu zażądania informacji z pamięci do momentu, w którym
ta informacja ukaże się na WY pamięci, dla pamięci operacyjnej wynosi od 20 ns do 200 ns
czas cyklu – jest to najkrótszy czas, jaki musi upłynąć pomiędzy 2 żądaniami dostępu do pamięci
szybkość transmisji – mierzy się liczbą bitów, jaką można przesłać w jednostce czasu pomiędzy pamięcią, a
innym urządzeniem
szybkość transmisji jest szczególnie ważna dla pamięci, w których adresuje się fragmenty większe niż słowo
pamięci półprzewodnikowe mogą pracować z różnymi prędkościami
z wolniejszych pamięci buduje się pamięci operacyjne, a z szybszych – kieszeniowe
 Hierarchia pamięci komputera:
Tworzy się od góry porządkując pamięci najszybszych, ale przy tym o najmniejszej pojemności od
najwolniejszych i równocześnie największej pojemności, w ten sposób otrzymujemy pamięci:
19
1.
2.
3.
4.
5.
1.
2.
3.
4.
-
-
-
-
operacyjną
kieszeniową
rejestrową
masową
zewnętrzną
 Sposób dostępu do informacji:
bezpośredni
cykliczny
sekwencyjny
asocjacyjny
 Pamięci półprzewodnikowe
cyfrowe układy scalone przeznaczone do przechowywania większych ilości informacji w postaci binarnej
 Pamięci o dostępie swobodnym:
pamięć, dla której czas dostępu praktycznie nie zależy od adresu słowa w pamięci, czyli od miejsca, w
którym jest przechowywana informacja
 Pamięci z dostępem swobodnym:
inaczej RAM, są to pamięci matrycowe, gdzie matryca elementów jest nośnikiem informacji – dzielimy je
na:
ROM – jednokrotnie zapisywalne (read only memory)
RAM – wielokrotnie zapisywalne (random access memory)
 Innego rodzaju pamięci:
z dostępem cyklicznym, dzielimy je na 2 grupy:
1. z nieruchomym nośnikiem (zbudowane przy pomocy rejestrów przesuwających)
2. z ruchomym nośnikiem (kinetyczne pamięci magnetyczne – dyski)
 Pamięci z dostępem sekwencyjnym są pamięciami:
na taśmach magnetycznych
informacje zapisywane są w kolejności przychodzenia
porcje danych nazywa się blokiem lub rekordem
odczyt dokonuje się przez wskazanie numeru rekordu
są nazywane pamięciami adresowanymi zawartością
o Pamięci można podzielić ze względu na sposób wybierania (taktowania) elementów z tablic na:
pamięci z 1 WE wybierania (typu 2 D)
wybieranie polega na tym, że WE są połączone wierszami, a końcówki danych kolumnami, gdy na WE
pojawi się sygnał 1 z n wybrana jest komórka
wzmacniacze na linii danych są sterowane sygnałem R/W
wadą jest konieczność sterowania rozbudowanego dekodera WE
pamięci z 2 WE wybierania (typu 3 D)
element pamięci jest aktywny, gdy na WE wybierania pojawią się sygnały
mają prostszą budowę, ale dłuższy czas dekodowania adresu
 Podział pamięci RAM:
pamięci statyczne – SRAM (static memory), jej cechy: duża szybkość pracy, niewielka pojemność, duży
pobór mocy, typowe zastosowanie – pamięci kieszeniowe
pamięci dynamiczne – DRAM (dynamic memory), jej podstawowym elementem są kondensatory, jej cechy:
duża pojemność, mały pobór mocy, wymagają odświeżania, typowe zastosowanie – pamięci operacyjne
 PROM (programmable ROM) – pamięć nie tracąca zawartości, jednokrotnie zapisywalne
 UVEPROM – pamięć kasowana promieniowaniem ultrafioletowym
 EEPROM – pamięć kasowana elektronicznie
 NVRAM – pamięć, w której w 1 obudowie scalono RAM i EEPROM, a w normalnym trybie pracuje
RAM, a pod wpływem odpowiedniego sygnału zawartość RAM jest przepisywana do EEPROM
 Łączenie układów pamięci:
budowa banków pamięci polega na łączeniu układów pamięci o określonej pojemności i organizacji, aby w
ten sposób uzyskać zespoły pamięci o większej pojemności lub zmienionej długości słowa
występują 2 podstawowe przypadki:
zwiększenie (rozszerzenie) długości słowa przy niezmienionej ilości słów
zwiększenie ilości słów przy niezmienionej długości słowa
 Inne funkcje realizowane przez bloki pamięci;
ochrona przed utratą zawartości w przypadku zaniku napięcia
sygnał z zasilacza o zaniku napięcia jest podawany jako przerwanie o najwyższym priorytecie (obsługa
zapamiętanie stanu procesora i włączenie baterii) lub można stosować pamięć NVRAM
20
 Praca z przeplotem;
przyspiesza dostęp do pamięci – polega na tym, że dostęp do banku i 1 rozpoczyna się zanim jeszcze
zakończono dostęp do banku i
 Pamięć dwubramowa:- jest głównie wykorzystywana w systemach wieloprocesorowych, polega na tym, że
do pamięci jest podwójne WE
 Pamięć kieszeniowa:
- zjawisko lokalności (locality)
- podczas wykonywania programu kolejne odwołania do pamięci zachodzą zwykle w pewnym niewielkim
obszarze, który pokrywa się najczęściej z miejscem ulokowania programu, programy rzadko odwołują się
do odległych obszarów pamięci
- do pamięci o dużej pojemności zbudowanej z kości pamięci dynamicznej dodaje się względnie niewielką,
ale szybką pamięć statyczną zdolną do zapamiętywania jedynie fragmentu pamięci operacyjnej, pamięć ta
nazywa się pamięcią kieszeniową (cache memory)
 Pamięć z dostępem cyklicznym (direct access memory)
- pamięć, w której każda komórka pamięci jest dostępna dla otoczenia tylko w pewnym, określonym przez
zegar i powtarzanym okresowo momencie
- są realizowane jako pamięci dyskowe lub pamięci na rejestrach przesuwających
- wykorzystuje się jako pamięci masowe lub buforowe
- w tej pamięci informacja ma WE i WY jest zwykle w postaci szeregowej
 Pamięci dyskowe:
- zbudowane w ten sposób, że na cylindrycznych wirujących powierzchniach rozmieszczone są ścieżki
podzielone na sektory
- informacje przechowywane są w blokach znajdujących się w sektorach
URZĄDZENIA ZEWNĘTRZNE:
 Podział urządzeń WE – WY:
o Można podzielić na:
- urządzenia pracujące w trybie znakowym
- urządzenia pracujące w trybie graficznym
o można też dokonać innego podziału:
- urządzenia operatorskie (human readable) – klawiatura, monitor, drukarki, pióro świetlnie itp.
- urządzenia maszynowe (machine readable) – wprowadzające informacje binarną, różnego rodzaju dyski,
taśmy i itp.
- Urządzenia komunikacyjne połączone ze źródłami informacji – czujniki i sterowniki połączone z
komputerem przez przetworniki – cyfrowe (A/D) i (D/A)
 Przyłączenie urządzenia WE i WY:
- są dołączone do magistrali systemowej za pośrednictwem odpowiednich sterowników (controller)
- zadanie sterownika polega na dostosowaniu łącza do magistrali systemowej
- sterownik przyjmuje polecenie obsługi do urządzenia zewnętrznego oraz procesora
- wykonanie polecenia obsługi dostępu polega na wykonaniu specjalnego programu
- procesor zgłasza żądanie dostępu do urządzenia wysyłając na magistralę adresową odpowiedni adres
- dane i rozkazy sterownik przesyła przez magistralę danych
 Współpraca sterownika z procesorem:
o Współpracują ze sobą w 3 krokach:
1. procesor wykonując rozkaz dostępu do urządzenia WE i WY wysyła adres na magistralę adresową
2. wszystkie sterowniki dekodują wysłany adres i tam sterownik, który rozpozna swój adres przechodzi w
stan aktywny (ewentualnie przesyłanie parametrów transmisji)
3. następuje przesyłanie informacji
 Transmisje mogą być:
- znakowe, jeśli przesyłany jest bajt
- blokowe, jeśli przesyłany jest ciąg bajtów
 Transmisje znakowe:
- urządzenia realizujące transmisję znakową nazywamy urządzeniami znakowymi
- urządzenia znakowe są wolne (np.: wydrukowanie znaku może trwać tyle, co wykonanie 10 000 rozkazów
przez procesor)
- dla synchronizacji pracy procesora z wolnym urządzeniem zewnętrznym stosuje się:
1. programową obsługę urządzeń zewnętrznych
2. współpracę polegającą na przerwaniach (interrupt) pracy komputera
 Transmisje blokowe:
- są znacznie szybsze niż znakowe
- zachodzą pomiędzy procesorem, a urządzeniem
-
21
-
-
-
-
-
-
-
te transmisje mogą być realizowane:
1. pod nadzorem procesora, który wykonuje program kolejnego odczytywania komórek pamięci i
przesyłania ich do urządzenia
2. pod nadzorem innego układu, który generuje adresy i sygnały synchronizujące dla procesora i urządzeń
 Sytuacje wyjątkowe:
zdarzenia przerwania wykonania właściwego programu przez procesor i wywołanie odpowiedniego
programu reakcji na te zdarzenia, mogą to być:
1. powstałe w wyniku działania programu wykonywanego przez procesor
2. przechodzące z układów współpracujących z procesorem błędy adresowania
 Zdarzenia niezamierzone:
błędy adresowania
błędy rozkazowe
błędy argumentu
 Zdarzenia zamierzone:
praca krokowa
praca w trybie śledzenia
praca w trybie pułapki
 Sytuacje wyjątkowe pochodzące z układów współpracujących z procesorem:
o Błędy wykryte w różnych miejscach komputera przez specjalne układy detekcji błędów:
błąd na magistrali – żądanie dostępu do zabronionego obszaru
błąd transmisji – wykrycie różnicy danych wysyłanych i dostarczanych
błąd zasilania – układ elektroniczny stwierdza brak napięcia
o Zdarzenia służące synchronizacji pracy procesora z urządzeniami znacznie wolniejszymi od niego,
informujące go o swojej gotowości do pracy
 Systemy przerwań:
o Zasady obsługi przerwań:
programowa obsługa urządzeń WE – WY
polega na okresowym sprawdzaniu przez system operacyjny stanu wszystkich sterowników
wydłuża czas wykonania podstawowego programu
zastosowanie w tańszych i prostszych komputerach
 Sprzętowy sposób obsługi przerwań:
polega na tym, że procesor odbiera sygnał o powstałym zdarzeniu
komputer musi być wyposażony w odpowiednie układy realizujące ten proces
zastosowanie w droższych, bardziej złożonych systemach
 Zdarzenia systemowe przerwań:
1. rozpoznanie źródła przerwania
2. zapewnienie odpowiedniej kolejności obsługi wielu urządzeń, które mogą jednocześnie żądać takiej
obsługi
 Programowa obsługa urządzeń WE – WY polega na tym, że:
oprogramowanie systemowe co pewien czas powoduje przerwanie wykonania właściwego programu i
dokonuje sprawdzania stanu wszystkich sterowników urządzenia
nie występuje problem rozpoznania urządzenia, bo procesor wysyłając adresy urządzeń wie, które z nich
sprawdza
priorytetowy (priority) – system przerwań określa w tym przypadku kolejność obsługi wielu zgłoszeń
przerwań
przy obsłudze wielopoziomowej system przerwań procesora zapamiętywany jest zwykle na stosie
 Sprzętowy system przerwań:
polega na zgłoszeniu przez sterownik urządzenia, sygnału przerwania do specjalnego układu przerwań, 2 z
układ przerwań powiadamia procesor o zgłoszeniu
dalsza obsługa przerwania może być w tym przypadku sprzętowa lub programowa
w przypadku programowej obsługi przerwań procesor przerywa program główny i rozpoczyna program
przeglądania stanu urządzeń – taki sposób pracy nazywany jest przerwaniem z przeglądaniem (poll and
interput)
 Sprzętowy system przerwań:
o w przypadku dalszej sprzętowej obsługi przerwań układ przerwań musi zrealizować
następujące zadania:
rozróżnienie źródła przerwania polegające na przesłaniu procesorowi numeru (adresu) urządzenia
żądającego przerwania
wyznaczenie kolejności obsługi urządzeń
22
-
-
-
-
-
podczas rozpoznania źródła zgłaszającego przerwanie układ przerwań tworzy słowo w kodzie NKB zwane
„wektorem przerwań”
wektor przerwań wykorzystywany jest przy tworzeniu adresu początku programu obsługi urządzeń
kolejność obsługi urządzeń jest ustalana na podstawie priorytetów urządzeń zgłaszających przerwanie
 Typy sprzętowego systemu przerwań:
o Łańcuchowy:
rozstrzygnięcie o kolejności (priorytecie) obsługi urządzeń następuje poprzez umiejscowienie sterownika w
łańcuchu
sterownik zgłaszający przerwanie wysyła swój numer na magistralę danych
układ przerwań może być w stanie oczekiwania na przerwanie albo w stanie obsługi przerwania
układ rejestruje zgłoszenie przerwania, a następnie sam znajduje, koduje i wysyła na magistralę numer
urządzenia o najwyższym priorytecie
 Sterownik urządzeń zewnętrznych:
(układ WE – WY) nazywamy układ elektroniczny pośredniczący w wymianie informacji pomiędzy
procesorem i pamięcią z 1 strony, a urządzeniem zewnętrznym (peryferyjnym) z 2 strony
dla systemu komputerowego sterownik urządzeń zewnętrznych widoczny jest jako rejestr lub zespół
rejestrów o określonych adresach oraz pewien zestaw sygnałów sterujących
 Rodzaje sterowników:
każdemu sterownikowi przyporządkowany jest adres
jeżeli sterownik ma wiele rejestrów, to przyporządkowuje mu się więcej niż 1 adres
stosuje się 2 sposoby umieszczania sterowników w przestrzeni wektorowej
wspólnie z pamięcią operacyjną (w tym przypadku dostęp do urządzenia zapewniają rozkazy dostępu do
pamięci)
oddzielenie jako 2 odrębne obszary adresowania (w tym przypadku dostęp do urządzenia zapewniając
obszary WE – WY)
jeżeli linia danych sterowników składa się z wielu pojedynczych linii danych (najczęściej 8 lub więcej), to
wtedy mówi się, że transmisja zachodzi równolegle, a sterownik nazywamy sterownikiem łącza
równoległego
jeżeli linia danych sterowników składa się z pojedynczej linii danych (najczęściej 8 lub więcej), to wtedy
mówi się, że transmisja zachodzi szeregowo, a sterownik nazywamy sterownikiem łącza szeregowego
jeżeli transmisje w łączu mogą zachodzić w obu kierunkach równocześnie, to łącza nazywamy
dupleksowym
jeżeli transmisja w łączu może zachodzić w obu kierunkach w rozdzielonym czasie, to łącze nazywamy pół
dupleksowym
PROCESORY RODZINY INTEL 8080
-
-
 Pentium:
64 – bitowa magistrala danych
32 – bitowa magistrala adresowa
o Praca w 3 trybach:
rzeczywisty
chroniony tryb wirtualny
tryb wirtualny 8086
o Architektura superskalarna:
praca potokowa
2 potoki przetwarzania instrukcji stałopozycyjnych
o Sprzętowe mechanizmy ułatwiające projektowanie systemu wspomagające:
pamięć wirtualną
pracę wielozadaniową
ochronę zasobów
o Przewidywanie realizacji rozgałęzień programu
o Segmentacja i stronicowanie pamięci
o Wewnętrzna jednostka arytmetyki zmiennoprzecinkowej pracująca w trybie potokowym
o 2 wewnętrzne rozdzielone pamięci podręczne (cache):
pamięć cache dla danych
pamięć cache dla kodu programu
o Możliwość współpracy z pamięcią cache 2 – go poziomu
23
Download