Podstawy działania układów cyfrowych ..............................................................................................2
Systemy liczbowe.............................................................................................................................2
Kodowanie informacji......................................................................................................................3
Informacja cyfrowa ..........................................................................................................................4
Bramki logiczne ...............................................................................................................................4
Podział układów logicznych.............................................................................................................6
Cyfrowe układy funkcjonalne ..............................................................................................................8
Rejestry.............................................................................................................................................8
Zasada działania magistrali ..............................................................................................................9
Jednostka arytmetyczno – logiczna..................................................................................................9
Budowa i działanie mikroprocesora ...................................................................................................10
_____________________________
UTK. Podstawy układów cyfrowych
- 2 -
Podstawy działania układów cyfrowych
Działanie układów cyfrowych oparte jest na wykorzystywaniu dwóch stanów elektrycznych tych
układów, zwanych stanem niskim (ang. Low – L) i stanem wysokim (ang. High – H). Za pomocą
tych stanów reprezentujemy informacje w układach cyfrowych. W tym celu stosuje się dwójkowy
(binarny) system liczbowy.
Systemy liczbowe
System dziesiętny
Zestaw cyfr dziesiętnych: {0,1,2,3,4,5,6,7,8,9}
System dwójkowy
Zestaw cyfr dwójkowych: {0,1}
System heksadecymalny
Zestaw cyfr heksadecymalnych: {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
Zadania:
Dokonać konwersji liczby 23d na liczbę binarną.
Znaleźć liczbę dziesiętną odpowiadającą liczbie heksadecymalnej 4C2h.
Zapisać liczbę binarną 1001011010b w postaci liczby heksadecymalnej.
Zapisać liczbę heksadecymalną 7CD5h w postaci binarnej.
i
n
i
i
n
n
n
n
B
n
a
a
a
a
a
a
2
2
......
2
2
)
........
(
1
0
0
0
2
2
1
1
0
1
∗
=
∗
+
+
∗
+
∗
=
∑
−
=
−
−
−
−
−
i
n
i
i
n
n
n
n
D
n
a
a
a
a
a
a
10
10
......
10
10
)
........
(
1
0
0
0
2
2
1
1
0
1
∗
=
∗
+
+
∗
+
∗
=
∑
−
=
−
−
−
−
−
0
1
2
10
5
10
2
10
4
)
425
(
∗
+
∗
+
∗
=
D
0
1
2
3
4
2
0
2
0
2
1
2
0
2
1
)
10100
(
∗
+
∗
+
∗
+
∗
+
∗
=
B
i
n
i
i
n
n
n
n
H
n
a
a
a
a
a
a
16
16
......
16
16
)
........
(
1
0
0
0
2
2
1
1
0
1
∗
=
∗
+
+
∗
+
∗
=
∑
−
=
−
−
−
−
−
0
1
16
16
)
(
∗
+
∗
=
F
F
FF
B
_____________________________
UTK. Podstawy układów cyfrowych
- 3 -
Kodowanie informacji
Kod liczbowy
Definicja
Kodem liczbowym nazywamy taki kod, który liczbom dowolnego systemu będzie przyporządko-
wywał słowa kodowe w postaci zerojedynkowej.
Naturalny kod binarny (NKB)
Definicja
Kodem liczbowym nazywamy taki kod, który każdej liczbie dziesiętnej będzie przyporządko-
wywał odpowiadającą jej liczbę binarną.
Liczba kodowana
Kod NKB
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
Kod prosty BCD (ang. Binary Coded Decimal)
Każdej cyfrze dziesiętnej przyporządkowujemy czterocyfrową liczbę dwójkową (zwaną tetradą) w
kodzie NKB.
Każdej cyfrze liczby dziesiętnej przyporządkowujemy jedną tetradę wykorzystując kod NKB
Przykład:
(463)
D
= ( 0100
0110
0011 )
BCD
Zadanie:
Znaleźć słowa kodu BCD odpowiadające liczbom 67d i 256d
Kod ASCII (ang. American Standard Code for Information Interchange)
Jest to kod służący do kodowania i przesyłania tekstów pomiędzy urządzeniami cyfrowymi. Koduje
on oprócz znaków alfanumerycznych tak zwane znaki sterujące, służące do sterowania transmisją i
pracą drukarki lub dalekopisu.
_____________________________
UTK. Podstawy układów cyfrowych
- 4 -
Informacja cyfrowa
Definicja
Słowem cyfrowym (binarnym) nazywamy dowolny ciąg składający się z symboli 0 i 1.
Definicja
Informacją cyfrową nazywamy informację przedstawioną (zakodowaną) w postaci słów cyfrowych.
Nazwy słów cyfrowych
Długość słowa
Oznaczenie symboliczne
Nazwa angielska
Nazwa polska
1
a
0
bit
bit
4
a
3
..a
0
nibble
tetrada
8
a
7
.....a
0
byte
bajt
16
a
15
........a
0
16-bit word, word
słowo 16-bitowe, słowo
32
a
31
....................a
0
double word, dword
podwójne słowo
64
a
63
...........................................a
0
quad word, qword
czterosłowo
Uwaga: w celu uniknięcia niejednoznaczności przy podawaniu ilości informacji ustalamy, że
skrótowe oznaczenie:
1b – oznacza 1 bit, a 1B – oznacza 1 bajt.
Na przykład 20 MB jest ilością informacji ośmiokrotnie większą niż 20 Mb.
W słowach informacji cyfrowej warto też wyróżnić tzw. Najstarszą i najmłodszą pozycję. Nazywa
się je odpowiednio najbardziej znaczącym bitem (ang. MSB – most significant bit) oraz najmniej
znaczącym bitem (ang. LSB – least significant bit).
Bramki logiczne
Definicja
Zmienną logiczną nazywamy zmienną, która może przyjmować jedną z dwóch wartości logicznych:
prawdę lub fałsz.
Logika prosta
Stan elektryczny
Wartość logiczna
Cyfra binarna
H – high
True
1
L – low
False
0
Logika odwrócona
Stan elektryczny
Wartość logiczna
Cyfra binarna
H – high
Fale
0
L – low
True
1
LSB
MSB
a
a
n
......
.........
0
1
−
_____________________________
UTK. Podstawy układów cyfrowych
- 5 -
Bramka NOT
x
y
0
1
1
0
Bramka AND
x
1
x
2
y
0
0
0
0
1
0
1
0
0
1
1
1
Bramka OR
x
1
x
2
y
0
0
0
0
1
1
1
0
1
1
1
1
Symbol bramki NOT
1
x
y
Symbol bramki AND
&
x
2
y
x
1
Symbol bramki OR
1
x
2
y
x
1
_____________________________
UTK. Podstawy układów cyfrowych
- 6 -
Podział układów logicznych
Układy logiczne dzielimy na:
-
układy kombinacyjne,
-
układy sekwencyjne,
-
układy asynchroniczne,
-
układy synchroniczne.
Definicja
Układem kombinacyjnym nazywamy taki układ cyfrowy, w którym stan wejść jednoznacznie
określa stan wyjść układu.
Definicja
Układem sekwencyjnym nazywamy taki układ cyfrowy, w którym stan wyjść zależy od stanu wejść
oraz od poprzednich stanów układu.
Definicja
Układem asynchronicznym nazywamy taki układ cyfrowy, dla którego w dowolnym momencie
jego działania stan wejść oddziaływuje na stan wyjść.
Definicja
Układem synchronicznym nazywamy taki układ cyfrowy, dla którego stan wejść wpływa na stan
wyjść jedynie w określonych odcinkach czasu pracy układu 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 sygnału zegarowego
zwanego także taktującym.
Sygnał taktujący
Poziom
wysoki
Poziom
niski
zbocze
opadające
zbocze
narastające
_____________________________
UTK. Podstawy układów cyfrowych
- 7 -
Oznaczenia wejść zegarowych układów cyfrowych
Rodzaj wejścia zegarowego
Symbol graficzny
Układ reaguje na poziom wysoki
Układ reaguje na poziom niski
Układ reaguje na zbocze narastające
Układ reaguje na zbocze opadające
Asynchroniczny przerzutnik RS
Definicja
Przerzutnikiem nazywamy układ cyfrowy pozwalający zapamiętać jeden bit informacji.
Tabela działania przerzutnika RS
R
S
Q
n+1
0
0
Q
n
0
1
1
1
0
0
1
1
-
Synchroniczny przerzutnik D typu „latch”
Tabela działania przerzutnika RS
D
Q
n+1
0
0
1
1
Symbol przerzutnika RS
S Q
R Q
Symbol przerzutnika D
D Q
CLK Q
_____________________________
UTK. Podstawy układów cyfrowych
- 8 -
Cyfrowe układy funkcjonalne
Rejestry
Definicja
Rejestrem nazywamy układ cyfrowy przeznaczony do krótkoterminowego przechowywania
niewielkich ilości informacji lub do zamiany postaci informacji z równoległej na szeregową lub
odwrotnie.
Definicja
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.
Definicja
Wejściem cyfrowym szeregowym nazywamy takie wejście, które umożliwia wprowadzenie do
układu cyfrowego bit po bicie. Każdy bit jest wprowadzany w jednym takcie zegarowym.
Uwaga: N-bitowe wejście równoległe jest n razy szybsze od wejścia szeregowego.
Rejestry dzielimy na następujące grupy:
-
PIPO (ang. parallel input, parallel output) – rejestry z wejściem i wyjściem równoległym –
rejestry buforowe typu „zatrzask”,
-
SISO (ang. serial input, serial output) – rejestry z wejściem i wyjściem szeregowym – rejestry
przesuwające,
-
SIPO (ang. serial input, parallel output) – rejestry z wejściem szeregowym i wyjściem
równoległym – stosowane w układach USART lub UART,
-
PISO (ang. parallel input, serial output) – rejestry z wejściem równoległym i wyjściem
szeregowym – stosowane w układach USART (ang. universal synchronous/asynchronous
receiver/transmiter) lub UART.
Bramka trójstanowa
WE
ENABLE
WY
0
1
0
1
1
1
X
0
Z
X – stan dowolny, Z – stan wysokiej impedancji
ENABLE
WE
WY
_____________________________
UTK. Podstawy układów cyfrowych
- 9 -
Zasada działania magistrali
W systemach mikroprocesorowych istnieje konieczność zapewnienia komunikacji pomiędzy
wieloma układami. Przykładami tych układów są: mikroprocesor, pamięć RAM, ROM i układy
wejścia/wyjścia. Połączenie wielu układów metodą „każdy z każdym” doprowadziłoby do
nadmiernego skomplikowania architektury komputera i jest praktycznie nierealne. Dlatego stosuje
się sposób połączenia tych układów przy pomocy tak zwanej magistrali.
Definicja
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.
Jednostka arytmetyczno – logiczna
Definicja
Jednostką arytmetyczno-logiczną (ALU, ang. Arithmetic-Logic Unit) nazywamy uniwersalny układ
cyfrowy przeznaczony do wykonywania operacji arytmetycznych i logicznych.
M
A
G
IS
T
R
A
L
A
NADAJNIK
O
D
B
IO
R
N
IK
U
K
Ł
A
D
O
D
S
E
P
A
R
O
W
A
N
Y
O
D
M
A
G
IS
T
R
A
L
I
n – ilo ść b itó w
E U
A L U
n
n
n
S yg na ły steru jące
W yn ik
A rg u m e nt A
A rg u m e nt B
_____________________________
UTK. Podstawy układów cyfrowych
- 10 -
Budowa i działanie mikroprocesora
Budowę prostego mikroprocesora przedstawiono na poniższym rysunku.
Oznaczenia:
ALU – jednostka arytmetyczno-logiczna
IR – rejestr rozkazów
CU – jednostka sterująca
EU – jednostka wykonawcza
Dek – dekoder rozkazów
Zadaniem jednostki wykonawczej EU ( ang. execution unit) jest przetwarzanie informacji, czyli
wykonywanie wszelkich operacji arytmetycznych i logicznych. Rodzaj wykonywanych operacji
zależy od wewnętrznych sygnałów sterujących wytwarzanych przez jednostkę sterującą CU (ang.
control unit). W skład jednostki wykonawczej wchodzi jednostka arytmetyczno-logiczna oraz
zestaw współpracujących z nią rejestrów. Informacją wejściową części wykonawczej są dane, zaś
wyjściową wyniki.
W skład jednostki sterującej CU wchodzą: rejestr rozkazów IR (ang. instruction register), dekoder
rozkazów i układ sterowania. W rejestrze rozkazów przechowywany jest kod aktualnie
wykonywanego rozkazu (instrukcji). 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. Zostaje rozpoznany
rodzaj rozkazu i na jego podstawie układ sterowania wytwarza odpowiednie sygnały sterujące.
Zewnętrzne sygnały
sterujące
CU
EU
Rejestry części wykonawczej
A
F
B
C
D
E
H
L
ALU
Dane
Wyniki
IR
Dek
Układ
sterowania
Program
Wewnętrzne sygnały
sterujące