Spis treści
1. Układy cyfrowe
2. Podstawowe układy cyfrowe
Układy cyfrowe
" Działanie układów cyfrowych oparte jest na
wykorzystaniu dwóch stanów niskiego (L-low)
i wysokiego (H-high). Duża część tej
informacji to liczby, stąd przyjęło się nazywać
te stany jedynką i zerem. Możemy więc
stwierdzić że wszelka infor. W komp. Musi
występować w postaci 0 i 1- binarnej. Przy
użyciu tych stanów musimy przedstawić
wszystkie rodzaje informacji występujących w
układach cyfrowych.
W tym celu stosowane są odpowiednie
struktury:
" dwójkowy system liczbowy oraz
" kody - reprezentują informacje w układach
cyfrowych.
Więc potrzebne są reguły przekształcania
różnych postaci informacji na inf. binarną.
Proces przekształcania inf. jednego rodzaju
postaci na inną postać nazywamy kodowaniem.
Def. Kodowaniem nazywamy przyporządkowanie
poszczególnym obiektom zbioru kodowanego
odpowiadających im elementów zwanych
słowami kodowanymi, przy czym każdemu
słowu kodowanemu musi odpowiadać
dokładnie jeden element kodowany.
Zbór (obiektów) Fakt Ze literze C odpowiadają
Zbór słów
elementów
dwa słowa kodowe nie przeszkadza
kodowanych
kodowanych
w poprawnym przetwarzaniu inf. (choć
stanowi pewne utrudnienie procesu
A
111 Kodowania. Sytuacja odwrotna była by
Niedopuszczalna, bo gdybyśmy uzyskali
001
B
w procesie przetwarzania inf. słowo
010
kodowe 001 to nie wiedzieli byśmy czy
C
100
wynik odpowiada np. literze A czy B.
Sposoby określania kodu, czyli procesu
kodowania może być różny. Może to być opis
słowny (tekst) ciąg znaków, wzór, tabela
przekodowująca lub każdy inny sposób
zgodny z definicją.
Informacja kodowana postacie:
1. Tekst (ciąg znaków)
2. Polecenia do wykonania przez komputer
(instrukcje dla procesora)
3. Wartości logiczne czy też liczby
Def. Kodem liczbowym nazywamy taki kod,
który liczbom dowolnego systemu będzie
przyporządkowywał słowa kodowe w postaci
zerojedynkowej.
" Naturalny Kod Binarny (NKB)
Def. Jeżeli dowolnej liczbie dziesiętnej
przyporządkujemy odpowiadającą jej liczbe
binarną, to otrzymamy NKB np.
0000(bin)=0(dec), 0001=1 itd.
" Kod prosty (BCD)
1. każdej cyfrze dziesiętnej przyporząd. cztero
cyfrową liczbę dwójkową (tetradę)
2. Słowo kodowe w kodzie prostym BCD
odpowiadającej danej liczbie otrzymujemy
zapisując każdą cyfrę w postaci czwórki cyfr
binarnych np. 463(dec)=0100 0110 0011(BCD)
" Kod ASCII (Amerykański standardowy kod dla
wymiany informacji)
Jest to kod służący do kodowania tekstów i
przesyłania ich pomiędzy urządzeniami. Koduje
on oprócz znaków alfa numerycznych tak
zwane znaki sterujące do sterowania transmisją
i pracą drukarki. Kod ten jest w postaci tabeli
zawierającej kodowane obiekty i odpowiadające
im słowa kodowane.
Znaki w PC jak i większości komputerów zapisane są
jednym Bajtem, co oznacza że może ich być aż 256.
Właściwe ASCII (techniczne) składa się z 128 znaków
od 0 do 127, a znaki od 128 do 255 nazywane są
rozszerzonymi znakami ASCII, stanowią pewien
Nieoficjalny standard, zwane znakami IBM (istnieją
urządzenia nie obsługujące drugiej polówki)
Zestaw znaków ASCII o kodach od 0 do 127 dzieli
się na dwie części pierwsza o kodach od 0 do 32,
druga od 32 do 127 są to litery i znaki przestankowe
Od 0 do 32 znajdują się znaki sterujące, maja
specjalne znaczenie, kiedy komp. porozumiewa się
Z drukarką musi jej powiedzieć co i jak ma
wydrukować (kiedy kończy się wiersz, a kiedy strona)
Pierwsze 32 kody nie są używane do
przekazywania danych, zapewniają natomiast
polecenia, sygnały kontrolne i sterujące.
Podstawowe układy cyfrowe
1. Bramki logiczne
2. Układy logiczne
3. Przerzutniki
4. Rejestry
5. Bramki trójstanowe
6. Magistrala
7. Jednostka arytmetyczno-logiczna (ALU)
8. Dekodery kodery piorytetu
9. liczniki
Bramki logiczne
" W technice cyfrowej działania logiczne
wykonywane są przez układy cyfrowe
zwane bramkami, z których buduje się
bardziej skomplikowane ukł. cyf.
" Zmienną logiczną nazywamy zmienną,
która może przyjmować jedną z dwóch
wartości logicznych: prawdę lub fałsz
(1 lub 0)
" Iloczyn logiczny- bramka AND
zapisujemy y=x1 x2 lub y=x1*x2
symbol:
zależnie jaki sygnał
x1
podamy na x2 (1 to y=x1,
&
y
x2
0 to y=0) np.. sygnał x2 jest
sygnałem sterującym
tabela prawdy
Przedstawia wszystkie możliwe
x1 x2 y
kombinacje argumentów
0 0 0
i odpowiadających im wartości
logicznych w wyniku danego
0 1 0
działania - mnożenia
1 0 0
Prawda tylko gdy wszystkie arumęty
1 1 1 równe są 1.
" Suma logiczna bramka OR
Zapisujemy y=x1 x2 lub y=x1+x2
Symbol:
x1
y
1
x2
Tabela prawdy:
x1 x2 y
Tylko
wtedy
0 0 0
jest
0 1 1
zero
1 0 1
1 1 1
" Negacja bramka NOT
zapis:
y=~x (matematyczny) y= x (w ukł. cyf.) y=x# (zapis intela)
symbol:
X
1
Y
Tabela prawdy:
x y
0 1
1 0
" Określenie negacji jeśli wartość argumentu
jest równa 0 (fałsz) to wynik otrzymamy
1(prawda), i na odwrót. Negacja działa
zawsze na jeden argument.
" Ponieważ sygnały logiczne mogą być
negowane na wej. i wyj. układu, przyjęto że
operację negacji oznacza w symbolu bramki
NOT kółeczko przy wej. lub wyj.
Funkcja NOT może być połączona z innymi
funkcjami, tworząc NAND i NOR
Wkrótce zobaczymy, że są one bardziej
popularne, niż AND i OR
Exclusive-OR Exclusive-OR (XOR, czyli WYACZNE
LUB) jest ciekawą funkcją, chociaż mniej podstawową
niż AND i OR. Wyjście bramki XOR jest w stanie
wysokim, jeżeli jedno albo drugie wejście jest w stanie
wysokim (jest to zawsze funkcja dwóch zmiennych).
Mówiąc inaczej, wyjście jest w stanie wysokim, jeżeli
stany wejść są różne.
Podział układów logicznych
1. Układy kombinacyjne i sekwencyjne
2. Układy synchroniczne i asynchroniczne
Układy sekwencyjne nazywamy ukł.
cyfrowymi, w których stan wyjść zależy od
stanu wejść oraz od poprzednich stanów
układu.
Układem asynchronicznym nazywamy taki
ukł. dla którego w dowolnym momencie jego
działania stan wejść oddziałuje na stan wyjść.
Układen synchronicznym nazywamy taki ukł.
cyf. dla którego stan wej. wpływa na stan wyj.
jedynie w pewnych określonych odcinkach
czasupracy ukł. zwanych czasem czynnym,
natomiast w pozostałych odcinkach czasu
zwanych czasem martwym, stan wej. nie
wpływa na stan wyj.. Odcinki czasu czynnego
i martwego wyznaczane są przez podanie
specjalnego przebiegu zwanego przebiegiem
zegarowym lub taktującym na wejście zwane
wej. zegarowym lub taktującym.
cyfrowy przebieg zegarowy
Do tej pory zajmowaliśmy się układami
kombinacyjnymi - to znaczy takimi, w których stan
sygnałów wyjściowych zależy w każdej chwili
wyłącznie od bieżącego stanu sygnałów
wejściowych. Natomiast przerzutniki są elementami
zaliczanymi do grupy układów sekwencyjnych. W
układach sekwencyjnych stan na wyjściu układu
jest funkcją nie tylko bieżących stanów
wejściowych, ale również stanów na wyjściu układu
w poprzednich chwilach czasowych. W układach
tych oprócz elementów logicznych
(kombinacyjnych) występują elementy pamięciowe.
W zależności od trybu pracy układy sekwencyjne
możemy podzielić na asynchroniczne i
synchroniczne.
Układ asynchroniczny zmienia swój stan wyjść
bezpośrednio po zmianie stanu wejść.
W układach synchronicznych zmiana stanu wyjść
odbywa się w chwilach wyznaczonych zmianą
sygnału synchronizującego.
Podstawowym elementem sekwencyjnym, który
zapamiętuje jeden bit informacji jest układ nazywany
przerzutnikiem. Przerzutnik jest układem o co
najmniej dwóch wejściach i z reguły dwóch wyjściach.
Większość przerzutników to przerzutniki
synchroniczne. Wyjątek stanowi najprostszy
przerzutnik nazywany asynchronicznym
przerzutnikiem RS.
Wejścia mogą być:
" zegarowe CK (ang. Clock), zwane inaczej
synchronizującymi albo wyzwalającymi,
" informacyjne,
" programujące.
Jeśli przerzutnik ma wejście synchronizujące, to jest
nazywany przerzutnikiem synchronicznym,
natomiast jeśli nie ma takiego wejścia-przerzutnikiem
asynchronicznym.
Przerzutnik synchroniczny reaguje na informację
podawaną na wejścia informacyjne tylko w obecności
impulsu zegarowego.
Przerzutnik może być wyposażony w dwa wejścia
programujące: ustawiające S (ang. Set) i zerujące R
(ang. Reset) nazywane również Preset i Clear.
Wejścia programujące są zawsze wejściami
asynchronicznymi (niezależne od sygnału
zegarowego).
Istnieje wiele typów przerzutników.Podstawowe to:
RS, D i JK.
Działanie logiczne przerzutników najczęściej obrazuje
się za pomocą tablicy stanów, w której
przedstawione są stany na wejściach informacyjnych
układu oraz odpowiadające im stany na wyjściu(ach)
układu. Wyjścia przerzutników oznaczane są
zazwyczaj symbolami Q i Q . W tablicy stanów
zazwyczaj prezentuje się stan wyjścia Q pomijając
wyjście Q ,które jest jego negacją.
Symbole graficzne przerzutników w wersji TTL
(Transistor Transistor Logic )
Symbole graficzne przerzutników odzwierciedlają ich
strukturę wewnętrzną. Jeżeli umieścimy wskaznik
negacji na wejściu przerzutnika to wejście jest
aktywowane niskim poziomem logicznym (w symbolu
graficznym należy umieścić okrąg przed nazwą
wejścia. Wejścia zegarowe (synchronizujące)
oznaczone są poprzez trójkąt równoboczny. Niektóre
przerzutniki są wyzwalane (aktywowane) przy zmianie
sygnału na wejściu zegarowym; wejście takie
nazywamy wejściem dynamicznym. Mówimy wówczas
o takim przerzutniku, że jest wyzwalany frontem
(sygnału zegarowego):
Asynchroniczny przerzutnik RS
Przerzutnik ten składa się z dwóch odpowiednio
połączonych ze sobą bramek. Do budowy tego
przerzutnika można wykorzystać bramki NAND lub
NOR. Przerzutnik ten ma dwa wejścia
informacyjne/programujące R i S oraz dwa wyjścia Q i
Q . Wejścia R i S są wejściami asynchronicznymi tzn.
ich stany natychmiast oddziaływują na stany wyjść.
Rysunek przedstawia schemat przerzutnika
asynchronicznego RS zbudowanego z bramek NOR.
Podanie stanu 1 na jedno z wejść informacyjnych
(programujących) powoduje ustawienie na wyjściu
odpowiadającej mu bramki stanu 0 (Suma dwóch
sygnałów, z których co najmniej jeden jest równy 1
wynosi 1 a po zanegowaniu daje 0 NOR A+B)
Schemat logiczny
Symbol graficzny
tabela stanów uproszczona
tabela stanów
Podanie stanu 1 na obydwa wejścia
przerzutnika spowodowałoby wystąpienie
stanów 0 na obydwu wyjściach, co jest
niezgodne z założeniem, że w przerzutniku
jedno wyjście jest negacją drugiego. Stan ten
jest nazywany stanem niedozwolonym N.
Podanie stanu 0 na obydwa wejścia daje
możliwość określenia stanu wyjść w chwili n-tej
wyłącznie na podstawie stanu wyjść w chwili n-
1. Jest to stan w którym przerzutnik realizuje
funkcję pamiętania sygnału poprzedniego. Na
rysunkach symbol X oznacza dowolny sygnał.
Synchroniczny przerzutnik RS
Synchroniczny przerzutnik RS różni się w
swojej budowie od przerzutnika
asynchronicznego dodatkowymi dwoma
bramkami dołączonymi na wejściu układu.
Przerzutnik ten można zbudować zarówno z
bramek NOR, jak i NAND.
Na shemacie przedstawiony jest
Synchroniczny przerzutnik RS zbudowany
bramek NOR:
schemat logiczny symbol graficzny
tabela stanów
uproszczona tabela stanów
W tablicy stanów podkreślono stany stabilne, tzn. nie powodujące zmiany stanu
wyjść.
Przerzutnik D typu latch (zatrzask)
Przerzutnik ten jest przerzutnikiem
synchronicznym reagującym na poziom niski lub
wysoki wejście zegarowe. Zatem reaguje on
tylko na stan wysoki (czynny) na wejściu
zegarowym, w czasie martwym stan
przerzutnika nie będzie ulegał zmianie stan
pamiętania.
D Qn+1
D Q
0
0
CK
Q
1
1
Przerzutniki te służą do budowy rejestrów typu latch
Cyfrowe układy funkcjonalne
Są to złożone układy cyfrowe, na podbudowie
układów poznanych wcześniej, pełnią
określone funkcje:
1.Wykonywanie działań arytmetycznych
2. Krótkoterminowego przechowywania
informacji.
3. Dekodowania adresów
Wszystkie te układy będą omawiane na
zasadzie czarnej skrzynki.
Rejestry
Def. Rejestrem nazywamy ukł. cyfrowy
przeznaczony do krótko terminowego
przechowywania niewielkich ilości inf. lub do
zmiany postaci inf. z równoległej na szeregową
albo odwrotnie.
Def. Wejściem cyfrowym równoległym
nazywamy takie wejście, które umożliwia
wprowadzenie do układu cyfrowego wszystkich
bitów słowa w jednym takcie zegarowym.
Wynika z tego że ilość zacisków wej. musi być
równa ilości bitów wprowadzanych w słowie.
Def. Wejściem cyf. szeregowym nazywamy
takie wejście, które umożliwia wprowadzanie
inf. do układu bit po bicie. Do wprowadzenia
słowa n-bitowego potzreba n taktów zegara.
Def. Jeżeli inf. wprowadzamy, wyprowadzamy
lub przesyłamy bit po bicie, jeden bit na jeden
takt zegarowy, to taką postać inf. nazywamy
szeregową.
Jeżeli wprowadzamy, wyprowadzamy lub
przesyłamy wszystkie bity słowa inf.
jednocześnie, w jednym takcie zegarowym, to
taką inf. nazywamy równoległą.
Podział rejestrów na następujące grupy:
-rejestr z wej. i wyj. równoległym PIPO
-rejestr z wej. i wyj. szeregowym SISO
-rejestr z wej. szereg. i wyj. równ. SIPO
-rejestr z wej. równ. i wyj. szereg. PISO
Bramki trójstanowe
W ukł. cyf. a szczególnie w ukł. i systemach
mikroprocesorowych (komputer), występuje często
potrzeba odseparowania elektrycznego dwóch lub
więcej punktów ( wielkości elektryczne takie jak
napięcie czy prąd nie wpływają wzajemnie na siebie)
W ukł. cyf. stan logiczny w jednym punkcie
odseparowany od innego punktu, nie wpływa
na niego i nie jest z nim w żaden sposób
związany.
Układami umożliwiającymi odseparowanie 2-
punktów są bramki trójstanowe
Enable
Wej Wyj
Wyj.
Wej.
0 1 0
1
1 1
Enable - umożliwiać
x
0
z
Stan Z występujący w tabeli oznacza tak zwany stan wysokiej impedancji, czyli brak
wzajemnego wpływu wej - wyj. Z jest oprócz 1 i 0 trzecim stanem stąd nazwa.
Magistrala
W systemach mikroprocesorowych istnieje
konieczność zapewnienia komunikacji pomiędzy
wieloma układami takimi jak: mikroprocesor, pamięć
RAM, ROM, układami wej./wyj.. Połączenie wielu
układów każdy z każdym doprowadziło by do
nadmiernej ilości połączeń i jest praktycznie nierealne.
Dlatego stosuje się sposób połączenia przy pomocy
tak zwanej magistrali. Magistrala jest wspólną drogą
dzięki której, komunikują się pomiędzy sobą
poszczególne układy wchodzące w skład systemu.
Aby zapewnić poprawną pracę i brak kolizji w
połączeniach, magistrala obsługiwana jest według
ściśle określonych, podanych w definicji reguł.
Def.
Magistralą nazywamy zestaw linii oraz
układów przełączających, łączących dwa
lub więcej układów mogących być
nadajnikami lub odbiornikami informacji.
Przesyłanie informacji zachodzi zawsze
pomiędzy dokładnie jednym układem
będącym nadajnikiem a dokładnie jednym
układem będącym odbiornikiem, przy
pozostałych układach odseparowanych od
linii przesyłowych.
Jak wynika z powyższej def., układy
dołączone do magistrali muszą mieć
możliwość elektrycznego odseparowania
się od linii w których przesyłana jest
informacja. Wynika z konieczności
zapewnienia jednoznacznego stanu
każdej z linii (np. gdyby podłączyły się
dwa nadajniki z różnymi stanami
logicznymi 0 i 1 to wystąpił by konflikt).
Układami zapewniającymi możliwość
separacji są właśnie bramki trójstanowe.
Dwukierunkowe wzmacniacze buforowe
Pomiędzy układy będące w danym momencie na
magistrali nadajnikiem a odbiornikiem stosuje się
zwykle układy buforowe, pośredniczące w wymianie
informacji. Zadaniem tego typu ukł. jest zmniejszenie
obciążenia nadajnika przez odbiornik, zwiększenie
prądu wyj. i co za tym idzie poprawy kształtu zboczy.
W przypadku magistrali, po których inf. może być
przesyłana w obydwu kierunkach, takich jak np.
magistrala danych, układy wzmacniaczy buforowych
muszą działać w dwóch kierunkach tak zwane:
nadajnik-odbiornik (transmitter-receiver) ukł. te mogą
przejść w stan wysokiej impedancji, separując
nawzajem od siebie łączone układy.
Jednostka arytmetyczno logiczna - ALU
Def. Jednostką arytmetyczno logiczną (ALU)
nazywamy uniwersalny układ cyfrowy
przeznaczony do wykonania operacji
arytmetycznych i logicznych
Słowo uniwersalny w def. ALU oznacza, że
zestaw operacji, które potrafi zrealizować
jednostka aytmetyczno-logiczna powinien być
funkcjonalnie pełny, jeżeli za jego pomocą
jesteśmy w stanie zrealizować dowolny
algorytm przetwarzania informacji.
Algorytm
reguły postępowania służące do
rozwiązania konkretnych zadań dla
różnych zestawów danych, zapewniające
otrzymanie rozwiązania w skończonej
liczbie kroków. Jeżeli rozwiązanie opiera
się na obliczeniach, to trzeba podać w
jakiej kolejności według jakich wzorów
mają one być wykonane.
Do zestawu operacji wykonanych przez ALU
należą najczęściej dodawanie i odejmowanie
algebraiczne, przesuwanie bitów słowa w
prawo i w lewo, porównywanie (komparacja)
wartości dwóch słów, operacje iloczynu i sumy
logicznej, negacji i alternatywy wykluczającej
ALU nie posiada układów pamiętających,
dlatego musi współpracować z pewnym
zestawem rejestrów. Rejestr przechowujący
wyniki operacji nazywa się akumulatorem. Oraz
rejestr flagowy zawierający cechy wyniku (np.
przeniesienie bitu lub przekroczenie zakresu)
Są to dwa podstawowe rejestry z którymi ALU
współpracuje.
Dekodery i kodery priorytetu
Dekodery i kodery priorytetu pełnią w
systemach mikroprocesorowych ważne funkcje
pomocnicze.
Def. Dekoderem nazywamy układ cyfrowy
mający n wej. oraz k wyj., przy czym kd"2n. Na
wej. dekodera podajemy zakodowany numer
wyj. na którym ma się pojawić wyróżniony
sygnał o wartości np.0 . Na pozostałych
wyjściach dekodera powinien występować stan
przeciwny do sygnału wyróżnionego o wartosci
np.1
Kodery priorytetu są pewną modyfikacją układu
zwanego koderem, działanie kodera jest w
pewnym sensie odwrotne do działania
dekodera.
Def. Koderem nazywamy układ cyfrowy o n
wyj. i kd"2n wejściach, przy czym na wyj.
pojawia się zakodowany numer tego wej., na
którym ten sygnał wystepuje.
W systemach cyfrowych zachodzi często
potrzeba przyjmowania sygnałów zgłoszeń od
wielu urządzeń i następnie zdecydowania, które
z nich będzie obsługiwane. Realizację tych
czynności umożliwia koder piorytetu.
Def. Koderem priorytetu nazywamy ukł. kodera,
w którym wprowadzono następujące
zmiany:
1. Na jego wej. może pojawić się więcej niż
jeden sygnał wyróżniony.
2. Każdemu wej. przyporządkowano pewien
stopień ważności zwany priorytetem
3. Na wyj. pojawia się zakodowany numer tego
wej. z wyróżnionym sygnałem, które
posiada najwyższy priorytet.
Licznik
Def. Licznikiem nazywamy ukł. cyfr. na którego
wyj. pojawia się zakodowana liczba impulsów
podanych na wej. zliczające licznika i zliczone
przez licznik.
Podstawowymi parametrami licznika jest jego
pojemność oraz kod w którym jest podawana
ilość zliczanych impulsów. Pojemność określa
max ilość impulsów którą może zliczyć licznik.
Po przekroczeniu tej wartości licznik zaczyna
zliczanie impulsów od początku. Liczniki w
systemach mikroproces. są ukł. pomocniczymi.
Pamięci półprzewodnikowe
Służą do przechowywania inf. w postaci
cyfrowej. Ilość inf., które mogą przechowywać
pojedyncze ukł. scalone pamięci zawiera się w
zakresie od kilkudziesięciu KB do setek MB.
Pamięci dynamiczne RAM (DRAM) pozwalają
uzyskać duże pojemności w pojedynczym ukł.
scalonym. Zasada działania opiera się na
magazynowaniu ładunku w określonej,
niewielkiej pojemności elektrycznej. Pojemność
nie naładowana oznacza 0 logiczne, zaś poje.
naładowana oznacza 1 logiczne.
Pamięci DRAM ze względu na sposób
przechowywania inf. wymagają odświeżania
(cyklicznego doładowania tych pojemności
które przechowują wartość 1 )
Dostęp do pamięci musi odbywać się z
zachowaniem określonych zależności
czasowym.
W odświeżaniu występuje tryb stronicowania
jest to sposób na przyśpieszenie współpracy z
pamięcią DRAM.
Pamięć SDRAM działanie polega na
zsynchronizowaniu operacji pamięci z
zewnętrznym zegarem. Poprzednie pamięci
pracowały asynchronicznie w stosunku do
pracy procesora, który z kolei jest ukł.
synchronicznym.
Synchronizacja operacji pamięci z zegarem
procesora pozwala osiągnąć optymalną
szybkość współpracy obydwu ukł.
Inną metodą pozwalającą zwiększyć szybkość
komunikacji jest stosowanie tak zwanego
przeplotu
Pamięć ROM jest pamięcią nie ulotną,
przeznaczoną tylko do odczytu. Nie oznacza to
że jeżeli jest do odczytu to w określonych
warunkach nie można jej zmieniać
EEPROM jest pamięcią flash-Bios czyli
oprogramowanie Bios, które możemy
uaktualniać (np.. na nowe wersje)
Komputer jest zespołem ukł. cyfrowych
tworzących system mikroprocesorowy w jego
skład wchodzą ukł. przedstawione wcześniej.
Ukł. cyfrowe służą do przetwarzania informacji.
Przetwarzanie inf. polega na dostarczeniu
danych do ukł. bądz systemu, które poddawane
są określonym działaniom, dzięki którym
otrzymujemy określone wyniki. Wynikami mogą
być przykładowo sygnały sterujące pracą
pewnych urządzeń, obrazy, teksty itp..
Procesor przetwarza informacje, wykonuje
elementarne operacje zwane instrukcjami bądz
(rozkazami). Ciąg takich instrukcji realizujących
konkretne zadanie nazywamy programem.
Jednym z elementów systemu
mikroprocesorowego jest uniwersalny ukł.
przetwarzający informacje. Wykonuje on
działania arytmetyczne i logiczne potrzebne do
osiągnięcia zamierzonego wyniku. Układ musi
jednak współpracować z dodatkowymi układami
w celu stworzenia użytecznego systemu
mikroprocesorowego.
Schemat blokowy systemu mikroprocesorowego
MEM
CPU
I/O
ROM RAM
(Bios) (PAO)
DB
AB
CB
CPU - centralna jednostka przetwarzająca
MEM pamięć RAM I ROM (Bios podstawowy system obsługi
we/wy
I/O układ we/wy
AB magistrala adresowa
DB magistrala danych
CB magistrala sterująca
Zadaniem CPU oprócz przetwarzania inf. jest
sterowanie pracą pozostałych układów. Zegar
systemowy wytwarza przebiegi czasowe
niezbędne do pracy mikroprocesora i systemu.
Sterowniki magistrali jest układ który
pośredniczy w sterowaniu magistralami,
wytwarzając na podstawie inf. otrzymanych z
mikroprocesora (tzw. sygnałów statusowych i
sterujących) sygnały sterujące pracą układów
pamięci i układów we/wy.
Wszystkie operacje zachodzące w systemie są
sterowane bądz inicjowane przez mikroproc.
Rodzaj tych działań zależy od ciągu instrukcji
(programu)
Program musi być przechowywany w
pamięciach półprzewodnikowych (szybki dostęp)
gdyż pamięci masowe są zbyt wolne, czas
pobierania kolejnych instrukcji z nich jest zbyt
długi.
Pamięci RAM (pamięć operacyjna)
przechowywane są w niej instrukcje tworzące
programy, dane oraz wyniki działań.
Aby system rozpoczął pracę, musi więc istnieć
miejsce, gdzie przechowywany jest program
inicjujący pracę systemu. Miejsce to musi
pamiętać program niezależnie od tego czy
napięcie zasilające jest włączone czy nie.
Takim miejscem jest pamięć ROM, w niej jest
przechowywany Bios czyli podstawowy system
obsługi we/wy. Zawiera on między innymi
procedury inicjujące pracę systemu oraz
umożliwiające wprowadzenie do pamięci
operacyjnej dalszego oprogramowania.
Ostatnim niezbędnym blokiem systemu jest blok
ukł. WE / WY (I/O), pośredniczą one w wymianie
inf. pomiędzy mikroprocesorem i pamięcią
systemu a urządzeniami zewnętrznymi
(peryfyrejnymi) w stosunku do systemu
(drukarka, monitor, stacje dysków). Potrzeba
tego pośrednictwa wynika z konieczności
sterowaniem przepływów inf. o różnej prędkości.
Wszystkie te informacje między tymi blokami
przesyłane są przez magistrale:
1. Magistrala danych
2. Magistrala adresowa
3. Magistrala sterujaca
Ad.1. Przeznaczona jest do przesyłania danych,
wyników oraz kodów instrukcji, jest to
magistrala dwukierunkowa.
Ad.2. Przesyłane są adresy komórek pamięci lub
ukł. we/wy z którymi chce się komunikować
mikroprocesor magistrala jednokierunkowa
adresy są generowane przez mikroprocesor,
natomiast trafiają do pamięci bądz do ukł.
we/wy
Ad.3. Właściwie zestaw linii sterujących, linie te
służą do sterowania praca ukł. współpracujących
z mikroprocesorem oraz do sygnalizowania
pewnych ich określonych stanów.
Mikroprocesor pojedynczy ukł. scalony o
dużej skali integracji.
Schemat blokowy mikroprocesora dzieli się na:
1. Jednostkę wykonawczą
2. Jednostkę sterująca
Ad.1. Przetwarzanie inf., czyli wykonywanie
wszelkich operacji arytmetycznych i logicznych.
Rodzaj wykonywanych operacji zależy od
wewnętrznych sygnałów wytwarzanych przez
CPU.
W skład jednostki wykonawczej wchodzą ALU
oraz zestaw współpracujących z nią rejestrów.
Informacją wej. części wykonawczej są dane,
zaś wyjściową wyniki (liczby, inf. tekstowe,
sygnały sterujące )
Ad.2. W skład jednostki sterującej wchodzą:
-rejestr rozkazów IR
-dekoder rozkazów
-układ sterowania
W rejestrze rozkazów przechowywany jest kod
aktualnie wykonywanego rozkazu. Kody
rozkazów pobierane są do rejestru rozkazów z
pamięci, ciąg rozkazów tworzy program
wykonywany przez system.
Po pobraniu z pamięci kod rozkazu jest
dekodowany w dekoderze rozkazów. Na tej
podstawie układ sterowania wytwarza
wewnętrzne i/lub zewnętrzne sygnały sterujące
realizujące dany rozkaz.
Rejestry procesora dostępne programowo:
-rejestr flagowy
-licznik rozkazów
-wskaznik stosu
-rejestry robocze
Zgodnie ze schematem blokowym
mikroprocesora zarówno ALU jak i ukł. sterujący
współpracują z określonymi zestawem rejestrów.
Zawartość pewnej części rejestrów z tego
zestawu może być zmieniana w wyniku
wykonywania przez procesor określonej
instrukcji. Rejestry te nazywane są rejestrami
dostępnymi programowo. Pozostałe rejestry są
niedostępne dla użytkownika i ich zestaw nie
jest zwykle znany. W rejestrach dostępnych
programowo występują takie typy rejestrów,
których odpowiedniki znajdują się praktycznie w
każdym procesorze. Ich pojemność czy ilość
może się zmieniać, jednak wykonywane zadania
pozostają takie same.
Akumulatorem nazywamy rejestr, który
A F
zawiera jeden z argumentów wykonanej
B C
operacji i do którego jest ładowany
D E
wynik wykonanej operacji.
H L
Rejestr flagowy nazywamy rejestr
zawierający dodatkowe cechy wyniku
IPC
wykonywanej operacji, potrzebne do
SP
podjęcia decyzji o dalszym sposobie
przetwarzania informacji. Cechami tymi
Rejestry procesora
dostępne programowo
mogą być np. znak wyniku,
A Akumulator
przekroczenia zakresu wyniku lub
F rejestr flagowy
B, C, D, E, H, L rejestry
parzystości lub nieparzystości wyniku.
robocze (uniwersalne)
Wystąpienie określonego wyniku (+lub-)
IPC Licznik rozkazów
sygnalizowane jest ustawieniem lub
SP Wskaznik Stosu
wyzerowaniem określonego bitu w
rejestrze flagowym, (znaczniki, flagi)
Licznik rozkazów jest jednym z istotniejszych
rejestrów, w nowszych mikroprocesorach nosi
nazwę IP wskaznika instrukcji.
def. Licznikiem rozkazów nazywamy rejestr
mikroprocesorowy zawierający adres komórki
pamięci, w której przechowywany jest kod
rozkazu przeznaczony do wykonania jako
następny.
Z def. tej wynika że po wczytaniu kolejnego kodu
rozkazu zawartość licznika rozkazów powinna
zostać zmieniona tak, aby wskazywał on na
kolejny rozkaz przeznaczony do wczytania do
mikroprocesora.
Wskaznik stosu
def. Stosem nazywamy wyróżniony obszar
pamięci używany według następujących reguł.
1. Informacje zapisywane są na stos do
kolejnych komórek (po kolei pod każdymi
adresami), przy czym żadnego adresu nie wolno
pominąć.
2. Odczytujemy informację w kolejności
odwrotnej do ich zapisu.
3. Informację odczytujemy z ostatnio zapełnionej
komórki a zapisujemy do pierwszej wolnej.
Stos jest więc rodzajem pamięci (czy też
buforem). Pamięć taką można porównać do
stosu talerzy. Talerze dokładamy do stosu
kładąc je na wierzchu a zbieramy zdejmując je
także z wierzchu. W przypadku pojęcia stosu w
pamięci, konieczna jest znajomość adresu
ostatniej zapełnionej komórki stosu, przy czym
komórkę odczytana uważamy za pustą.
Komórka ta zwana jest wierzchołkiem stosu.
def. Wskaznikiem stosu nazywamy rejestr
zawierający adres ostatniej zapełnionej komórki
stosu (wierzchołka stosu)
Jednym z klasycznych zastosowań stosu jest
zapamiętanie adresu powrotu do programu
wywołującego w przypadku wywołania tak
zwanego podprogramu. Ponieważ podprogram
może wywołać inny podprogram, adresy
powrotów odkładane są na stos, gdyż muszą
być odczytane w kolejności odwrotnej do
kolejności ich zapisu.
Rejestry robocze-uniwersalne są pewnym
zestawem rejestrów ogólnego przeznaczenia.
Mają przechowywać argumenty wykonanych
operacji i wyniki.
Realizując program, system mikroprocesorowy
wykonuje pewne powtarzające się czynności
polegające na cyklicznym pobieraniu kodów
rozkazów z pamięci i wczytywaniu ich do ukł.
sterowania mikroprocesora, a następnie
realizację rozkazu (tego kodu). I dlatego
rozróżniamy dwie fazy: fazę pobrania, fazę
wykonania. Komputer będący systemem
mikroprocesorowym przetwarza informacje
zgodne z wykonywanym programem. Program
jest ciągiem instrukcji realizujący określony
algorytm działania systemu.
W pamięci systemu mikroprocesorowego
program przechowywany jest w postaci
binarnych kodów instrukcji maszynowych
(rozkazów) właściwych dla danego procesora.
def. Rozkazem (instrukcją maszynową)
nazywamy najprostszą operację, której
wykonanie programista może zażądać od
procesora.
def. Listą rozkazów nazywamy zestaw
wszystkich instrukcji maszynowych (rozkazów),
jakie potrafi wykonać dany procesor.
Rozróżniamy:
1.Rozkazy przesłań
2.Rozkazy arytmetyczno-logiczne
3.Rozkazy sterujące (skoki, wywołania, pętle)
4.inne (np.. sterowanie pracą procesora, rozkazy
testujące, operacje w trybie chronionym)
Układy wej/wyj są układami elektronicznymi
pośredniczącymi w wymianie informacji
pomiędzy systemem mikroprocesorowym a
zewnętrznymi urządzeniami współpracującymi,
zwanymi urządzeniami peryferyjnymi .
Potrzeba pośredniczenia w wymianie informacji
wynika z następujących faktów:
-istnieją różnice w szybkości działania
-istnieją różnice w parametrach elektrycznych
-urządzenia wymagają podania informacji w
określonym formacie wraz z pewnymi sygnałami
sterującymi
def. Układem wej/wyj nazywamy ukł.
elektroniczny pośredniczący w wymianie inf.
pomiędzy mikroprocesorem i pamięcią systemu
z jednej strony a urządzeniami peryferyjnymi z
drugiej.
Operacje wej/wyj - programy realizujące
wymianę inf. i wszelkie operacje jej dotyczące
nazywamy operacjami wej/wyj.
def. Operacjami wej/wyj nazywamy całokształt
działań potrzebnych do realizacji wymiany inf.
pomiędzy mikroprocesorem i pamięcią z jednej
strony a układem wej/wyj z drogiej.
Operacje wej/wyj musza być realizowane od
początku do końca przez procesor lub tylko
przez zainicjowanie operacji wej/wyj przez
mikroprocesor, który z kolei przekazuje nadzór
nad nią innemu układowi (zarządca magistrali)
Stąd operacja dzieli się na:
-operacja z bezpośrednim
-operacja z pośrednim sterowaniem przez
procesor
Z czego operacje z bezpośrednie dzieli się:
-bezwarunkowe operacje wej/wyj
-operacje wej/wyj z testowaniem stanu ukł.
wej/wyj
-operacje wej/wyj z przerwaniem programu
def. Bezwarunkową operacją wej/wyj
nazywamy taka operację przy której realizacji
mikroprocesor nie sprawdza gotowości ukł.
wej/wyj do tej wymiany.
def. Przy realizacji operacji wej/wyj z
testowaniem stanu ukł. wej/wyj mikroprocesor
sprawdza sygnał (np. może to być określony bit)
gotowości ukł. wej/wyj do tej wymiany. W
przypadku potwierdzenia gotowości do tej
wymiany przez ukł. jest ona realizowana. Brak
gotowości ukł. wej/wyj do wymiany powoduje
wykonanie przez mikroprocesor tak zwanej pętli
przepytania, w której cyklicznie sprawdza on
gotowość ukł. do wymiany.
Jedną z oczywistych wad operacji wej/wyj z
testowaniem stanu ukł. wej/wyj jest konieczność
wykonania przez mikroprocesor pętli przepytania
w celu stwierdzenia gotowości tego ukł. do
wymiany. Rozwiązanie tego problemu jest takie
że mikropro. wykonuje pewien program zwany
programem głównym, oczekując na sygnał
gotowości do wymiany zgłoszony ze strony ukł.
wej/wyj. W tym celu mikroprocesor dysponuje
określonym wej. zwanym wej. zgłoszenia
przerwania. Aktywny poziom na tym wej.
sygnalizuje tak zwane zgłoszenie przerwania,
czyli gotowości ukł. wej/wyj do wymiany.
OGÓLNA BUDOWA KOMPUTERA
Komputery typu PC są obecnie najbardziej
rozpowszechnionymi systemami
komputerowymi w naszym kraju. Posiadają
konstrukcję modułową, pozwalającą na
konfigurowanie systemu według potrzeb
użytkownika. Każdy komputer zawiera
jednostkę systemową, do której dołączona jest
klawiatura i monitor i inne urządzenia
zewnętrzne np. drukarka.
Komputer zawiera następujące urządzenia i
bloki funkcjonalne:
" płytę główną,
" karty rozszerzające funkcje zestawu (karta
graficzna, karta dzwiękowa, karta sieci lokalnej,
itd),
" napęd CD,
" napęd dysków elastycznych,
" dysk twardy,
" zasilacz.
Podstawowym komponentem jednostki
systemowej jest płyta główna, zawierająca główne
elementy architektury systemu, takie jak:
" procesor (np. PENTIUM firmy Intel lub ATHLON firmy
AMD, itd)
" pamięć główną RAM, umieszczoną w specjalnych
złączach,
" pamięć stałą EPROM - zawierającą podstawowe
testy diagnostyczne oraz oprogramowanie BIOS,
pamięć CMOS z zegarem czasu rzeczywistego,
" układy (zwane Chipset) odpowiedzialne za przepływ
informacji pomiędzy poszczególnymi komponentami
systemu.
Płyta główna zawiera również sporą liczbę
złącz, zworek i mikroprzełączników.
Posiada przede wszystkim kilka złącz (gniazd
rozszerzeń), pozwalających dołączyć do
systemu komputerowego karty, rozszerzające
funkcje zestawu. Mogą to być karty graficzne,
sterowniki interfejsów, karty sieci lokalnych,
karty modemowe, karty dzwiękowe, itd. Złącze
(gniazdo rozszerzeń) wg. standardu ISA posiada
16-bitową szynę danych. Gniazda standardu
PCI posiadają 32-bitową magistralę danych
taktowaną zegarem 33 MHz, obecnie szeroko
stosowane są złącza PCI.
" Każda płyta główna posiada również gniazda
pozwalające rozszerzyć pojemność pamięci
RAM. Starszego typu złącza typu SIMM (ang.
Single In-line Memory Modules) lub nowszego
typu DIMM (ang. Dual In-line Memory Modules),
w które osadzić można moduły pamięci o
standardowych pojemnościach (np. 128 MB).
Moduły SIMM (DIMM) są to podłużne płytki
wyposażone w złącze krawędziowe, na których
umieszczono "kostki" pamięci. Moduły te
dostarczane są w różnych rozmiarach, od kilku
do kilkuset MB.
" Współczesne procesory instalowane są na
płytach głównych w gniazdach Socket lub Slot.
Konstrukcja tych gniazd umożliwia łatwą
wymianę procesorów.
" Pamięć stała EEPROM przechowuje
oprogramowanie obsługujące urządzenia
wejścia/wyjścia, dołączone do mikrokomputera
(tzw. BIOS). Pamięć tę użytkownik może sam
skasować i ponownie zaprogramować. Pozwala
to na uaktualnianie systemu BIOS i
wprowadzanie nowej wersji).
Pamięć CMOS przechowuje informację o
konfiguracji systemu (np. typ dysków
elastycznych i twardych, typ karty graficznej,
itd.). Informację tę wpisuje użytkownik za
pomocą programu SETUP. Integralną częścią
tego układu jest zegar czasu rzeczywistego. Dla
podtrzymania informacji w pamięci CMOS, po
wyłączeniu komputera i podtrzymania pracy
zegara, niezbędne jest niezależne zródło
zasilania. Jest nim bateria umieszczona na
płycie głównej.
Sterowanie klawiaturą odbywa się za pomocą
jednoukładowego procesora typu 8042
wbudowanego przeważnie w jeden z układów
typu Chipset. W pamięci stałej tego procesora
zawarty jest program autonomicznie obsługujący
interfejs klawiatury. Klawiatura łączona
jest z systemem, 5-stykowym złączem typu DIN
lub tzw. złączem PS/2 (ang. Keyboard
Connector). Ponadto na płycie głównej znajduje
się kilka układów scalonych wysokiej skali
integracji (typu Chipset).
Zapewniają one współpracę pomiędzy
poszczególnymi elementami systemu
komputerowego. Współczesne płyty główne
zawierają przeważnie dwa lub trzy układy typu
Chipset.
Starsze płyty zasilane są przez 12-stykowe
złącze (ang. Power Supply Connector), za
pomocą którego doprowadza się z zasilacza
napięcia: +5V, -5V, +12V, -12V. Nowsze płyty
(standardu ATX) wyposażone są w 20-stykowe
złącze zasilania zapewniające następując
napięcia: +12V, -12V, +5V, -5V, +3.3V.
Obecnie pracuje się nad standardem BTX.
ZASADA DZIAAANIA KOMPUTERA
Typowy system mikroprocesorowy składa się z
następujących elementów: procesora, pamięci
operacyjnej RAM, pamięci stałej ROM, układów
wejścia/wyjścia oraz układów sterujących
przepływem informacji pomiędzy w/w
elementami.
Procesor jest zarazem mózgiem i sercem
komputera, elementem który potrafi wykonać
dane instrukcje programy. Procesor wykonuje
operacje matematyczno-logiczne. Często jest
nazywany główną jednostką przetwarzającą lub
CPU, czasami także mikroprocesorem.
Procesor przetwarza dane, wykonując na nich
podstawowe operacje arytmetyczne i logiczne,
na podstawie instrukcji (rozkazów) odczytanych
z pamięci operacyjnej. Zbiór tych instrukcji,
określających sposób wykonania konkretnego
zadania nazywamy programem. Program i dane
przechowywane są w pamięci operacyjnej
komputera. W pamięci tej zapisywane są
również rezultaty wszelkich operacji (np.
obliczeń) wykonywanych przez procesor. Jest to
więc pamięć umożliwiająca zapis i odczyt
informacji, tzw. pamięć o swobodnym dostępie
(ang, Rondom Access Memory, RAM)
Jest to pamięć ulotna, co oznacza, iż po
wyłączeniu zasilania, informacja w niej
przechowywana jest bezpowrotnie tracona.
" Układy wejścia/wyjścia (ang. Input/Output, l/O),
zwane też peryferyjnymi, umożliwiają
komunikację człowieka z komputerem.
" W pamięci stałej (służącej tylko do odczytu -
ang. Read Only Memory, ROM) znajdują się
podstawowe testy diagnostyczne
mikrokomputera (ang. POST - Power On Self
Tesf) oraz oprogramowanie obsługujące
urządzenia wejścia/wyjścia, dołączone do
mikroprocesora (ang. BIOS, Basic Input Output
System).
Pamięć ta zachowuje swoją zawartość nawet po
wyłączeniu zasilania. We współczesnych
komputerach stosuje się najczęściej pamięć
stałą typu EEPROM, którą użytkownik może
sam skasować i ponownie zaprogramować, bez
wymontowywania jej z systemu. Pozwala to na
uaktualnianie systemu BIOS (wprowadzanie
nowej wersji). Umieszczona jest ponadto w
podstawce, dzięki czemu istnieje możliwość jej
wymiany.
Współpraca mikroprocesora z otoczeniem
odbywa się z pomocą szyny adresowej, szyny
danych i sygnałów sterujących, umożliwiających
zapis lub odczyt danych do/z pamięci lub
układów wejścia/wyjścia. Pamięć adresowana
jest z użyciem sygnałów MEMW (Memory Write
- zapis do pamięci) i MEMR (Memory Read -
odczyt z pamięci). Układy wej/wyj dostępne są
dla procesora przy aktywnych sygnałach IOW
(Input/Outpm Write - zapis do układów
wejścia/wyjścia) i IOR (Input/Output Read -
odczyt z układów wejścia/wyjścia). Rysunek
ilustruje schemat systemu mikroprocesorowego
zawierającego blok pamięci i układy wej/wyj.
PAMIĆ OPERACYJNA (główna)
Pamięć operacyjna (zwana też pamięcią główną -
ang. Main Memory) przechowuje programy (lub
fragmenty programów) oraz dane, na których
aktualnie wykonywane są operacje. Współczesne
oprogramowanie wymaga zastosowania pamięci o
dużych pojemnościach, rzędu kilkudziesięciu-kilkuset
megabajtów (MB). Z tego powodu w komputerach
stosowane są głównie pamięci dynamiczne RAM
(ang. Dynamie RAM, DRAM), które charakteryzują się
niskimi kosztami wytwarzania. Niestety szybkość
działania tych pamięci jest zdecydowanie niższa od
szybkości procesorów. Fakt ten powoduje wyrazne
spowolnienie pracy procesora.
Dlatego też w komputerach PC, pomiędzy wolną
dynamiczną pamięcią operacyjną (DRAM) a
procesorem wstawiona została (w formie bufora)
szybka pamięć podręczna (ang. Cache
Memory), służąca do przechowywania często
używanych danych. Do tego celu wykorzystuje
się wprawdzie drogą, ale za to bardzo szybką
pamięć statyczną RAM (ang. Static RAM,
SRAM) o niewielkiej pojemności (256K - 2M).
Pracą pamięci podręcznej steruje kontroler (ang.
Cache Conlroller), którego działanie wyjaśnione
zostanie na przykładzie odczytu danych z
pamięci operacyjnej.
Żądanie procesora odczytu danych jest
przechwytywane przez kontroler, który
sprawdza czy dane, które procesor chce
odczytać, znajdują się w pamięci podręcznej.
W sytuacji trafienia (ang. Cache Hit), kontroler
przesyła te dane do procesora, bez
konieczności czytania ich z wolnej pamięci
operacyjnej, a tym samym, bez konieczności
wprowadzania procesora w stan oczekiwania.
W przypadku chybienia, kontroler odczytuje
dane z pamięci operacyjnej, przesyła je do
procesora oraz jednocześnie wpisuje je do
pamięci podręcznej.
Liczba trafień do całkowitej liczby odczytów jest
większa niż 90%, co oznacza że ponad 90%
odczytów jest dokonywanych z pamięci
podręcznej, a tylko 10% ze znacznie wolniejszej
pamięci DRAM. Pozwala to wydatnie zwiększyć
szybkość pracy komputera. Zapis danych
przesyłanych z procesora do pamięci
operacyjnej DRAM odbywa się z
wykorzystaniem jednej z dwóch metod:
" Write Through (zapis równoczesny) i
" Write Back (zapis opózniony).
Metoda Write Through polega na zapisie danych
z procesora do pamięci Cache i jednoczesnym
uaktualnieniu ich w pamięci głównej. Metoda
Write Back polega na tym, iż kontroler Cache
uaktualnia dane w pamięci głównej tylko w
szczególnych przypadkach, np. gdy blok danych
w pamięci Cache ma być skasowany. Pamięć
Cache składa się z dwóch części:
" banku danych Cache i
" katalogu (TAG RAM).
Początkowo procesory wyposażane były w
wewnętrzną, zintegrowaną z jądrem procesora,
pamięć Cache o pojemności od 32 do 128
kilobajtów. Pamięć ta, zwana pamięcią Cache
pierwszego poziomu, oznaczana jest symbolem
L1 (ang. Level 1). Na starszych płytach
głównych montowana była dodatkowo pamięć
zewnętrzna Cache (zwana też pamięcia
drugiego poziomu i oznaczana symbolem L2).
Obecnie wszystkie produkowane procesory
wyposażane są standardowo w pamięci Cache
L1 i L2, które w sposób zauważalny zwiększają
szybkość przetwarzania danych (tzw. moc
obliczeniową komputera).
Układy wejścia/wyjścia
Podczas operacji wejścia/wyjścia zachodzi
wymiana informacji pomiędzy pamięcią
operacyjną systemu mikroprocesorowego a
urządzeniami peryferyjnymi. Operacje te mogą
być realizowane na dwa sposoby: pod nadzorem
procesora lub z bezpośrednim dostępem do
pamięci (bez udziału procesora).
Operacje we/wy nadzorowane przez procesor,
zwane są również operacjami typu PIO (ang.
Programmed Input/Output). Procesor generuje
wszystkie sygnały sterujące i adresy, niezbędne
do przesłania informacji do/z pamięci
operacyjnej.
W trakcie tej czynności nie może wykonywać
żadnych innych operacji - fakt ten spowalnia
pracę komputera. Typowym przykładem operacji
nadzorowanych przez procesor są tzw. operacje
we/wy z przerwaniem programu. Cykl operacji
rozpoczyna urządzenie peryferyjne, które
sygnalizuje za pomocą lini IRQn (ang. Interrupt
Request - żądanie przerwania) gotowość
wymiany informacji. Specjalny układ, zwany
kontrolerem przerwań powiadamia o tym fakcie
procesor (sygnałem INTR), który z kolei
przerywa wykonywanie swojego programu
(potwierdza to sygnałem INTA) i rozpoczyna
wymianę informacji pomiędzy urządzeniem a
pamięcią operacyjną.
Każde urządzenie posiada swój oryginalny
numer przerwania (np. IRQ3, IRQ4,...). Jeśli dwa
urządzenia zgłoszą jednocześnie żądanie
przerwania, to obsłużone najpierw zostanie
urządzenie o wyższym priorytecie (niższy numer
przerwania to wyższy priorytet). Wymiana
informacji (pomiędzy pamięcią operacyjną a
urządzeniem peryferyjnym) z bezpośrednim
dostępem do pamięci (ang. Direct Memory
Access - DMA) zachodzi bez udziału procesora
(który w tym czasie może wykonywać inne
operacje). Sterowanie operacją wejścia/wyjścia
realizowane jest przez specjalny układ zwany
kontrolerem DMA, który przejmuje kontrolę nad
magistralami.
Operacja DMA inicjowana jest przez urządzenie
sygnałem DRQn (n - numer kanału DMA). Układ
DMA, za pomocą sygnału HRQ, zgłasza
gotowość przejęcia kontroli nad magistralami.
Procesor wprowadza swoje magistrale w stan
zawieszenia i fakt ten potwierdza sygnałem
HLDA. Kontroler, za pomocą linii DACK,
informuje urządzenie o ustawieniu trybu DMA.
Rozpoczyna się transmisja danych.
Wyszukiwarka
Podobne podstrony:
Uklady Cyfrowe13 Programowalne i Specjalistyczne Układy CyfroweStudia dzienne — Układy cyfrowepomoc uklady cyfroweMSE11Programowalne i specjalistyczne uklady cyfroweCyfrowe uklady scalone10 Cyfrowe Układy SekwencyjneCyfrowe uklady sekwencyjneWykład 4 Automaty, algebry i cyfrowe układy logiczneF2 1 Cyfrowe układy scalone2 WYKLAD Cyfrowe układy scalonewięcej podobnych podstron