1
Elementarne podzespoły
komputera
2
Algebra Boole'a
• George Boole matematyk i logik.
• Wyraził relacje logiczne za pomocą
symboli algebraicznych, tworząc w ten
sposób dział matematyki zwany logiką
symboliczną lub inaczej.
3
Algebra Boole'a
• Zmienne w algebrze Boole’a przyjmują
dwie wartości:
– Ze względu na ten sam zakres przyjmowanych
wartości {0,1}, zmienną boole’owską można
utożsamiać ze zmienną binarną i nazywać
bitem.
– Spotka się także z określenia 0 jako stan niski i
l jako stan wysoki.
4
Operatory Boole'a
• Działania logiczne na zmiennych:
– AND („i”), czyli koniunkcja lub iloczyn
logiczny,
– OR („lub”), czyli alternatywa łub suma
logiczna,
– NOT („nie”), czyli negacja.
5
Wyrażenia boolowskie
• Połączenie zmiennych i operatorów
logicznych:
– jedna lub więcej danych wejściowych,
– wynik działania przyjmuje wartość ze zbioru
{0,1}.
6
Kolejność stosowania operatorów
boolowskich:
• Na przykład funkcja:
• zawiera trzy zmienne boolowskie x, y i z oraz
operatory logiczne OR, NOT i AND.
• W przypadku funkcji F, najpierw należy
zanegować y,
• następnie dokonać koniunkcji i z,
• na końcu zsumować otrzymany wynik ze
zmienną x.
(
)
z
y
x
z
y
x
F
⋅
+
=
,
,
y
y
7
Tablica prawdy
• Wyrażenie boolowskie można rozpisać za
pomocą tablicy prawdy.
– Przy konstruowaniu tablicy prawdy dla bardziej
skomplikowanej funkcji wygodnie jest rozbić ją
na kilka kolumn przedstawiających odrębne
części składowe funkcji.
8
Przykład
• Tablica prawdy dla naszej funkcji
(
)
z
y
x
z
y
x
F
+
=
,
,
9
Algebra Boole'a w komputerze
• Algebra Boole'a została zastosowana do obliczeń
komputerowych przez Johna Vincenta Atanasoff’a.
• Zaprojektowana przez niego maszyna:
– elektryczność zamiast sił mechanicznych,
– liczby w systemie dwójkowym zamiast systemu dziesiętnego,
– kondensatory, mogących magazynować ładunki elektryczne, do
budowy elementów pamięci i zaimplementował proces
regeneracyjny, zapobiegający zanikaniu ładunku,
– obliczenia były oparte na algebrze Boole'a.
10
Algebra Boole'a w komputerze c.d.
• Claude Shannon (1938) udowodnił, że
dwuwartościowa algebra Boole'a może
również opisywać działanie
dwuwartościowych elektrycznych
obwodów przełączających.
11
Bramki logiczne
• Układy cyfrowe, wykonujące działania
arytmetyczne lub sterujące, zbudowane są z
elementów zwanych bramkami logicznymi.
• Bramki logiczne to proste układy elektroniczne
składające się z jednego do kilkunastu
tranzystorów.
– realizują podstawowe funkcje logiczne na pojedynczych
bitach.
– są podstawowymi składnikami układu komputera
cyfrowego.
• Podstawowym elektronicznym składnikiem
komputera jest tranzystor, a podstawowym
elementem logicznym - bramka.
12
Budowa komputera
• Komputer składa się kilku rodzajów
składników o prostej strukturze, blokowy
sposób konstrukcji pozwala na elastyczność
projektowania struktury komputera:
– wejścia jednych elementarnych składników
łączone są z wyjściami innych obwodów,
– złożone obwody składają się z prostych
elementów.
13
Układy TTL
• Układy TTL (Transistor Transistor Logic), wykorzystują
dwa poziomy napięcia, 0 V i +5 V do reprezentacji cyfr
binarnych 0 i 1.
– Istnieją obecnie rodzaje układów, których znamionowe napięcia
pracy są niższe niż 5 V.
• Obwody TTL charakteryzuje ograniczoną liczbą
wyprowadzeń z danego obwodu, które mogą posłużyć jako
źródła sygnału wprowadzanego na wejścia innego obwodu
TTL.
• Standard TTL pozwala też zapomnieć konstruktorowi o
takich problemach inżynierii elektrycznej jak:
– zasilanie,
– poziomy napięć i prądy płynące w obwodach.
14
Układy scalone
• Komputery zbudowane są z różnorodnych podzespołów
cyfrowych, jednostek składających się z bramek
połączonych ze sobą ścieżkami.
– Jednostki te nazywane są układami scalonymi (Integrated Circuit
IC, chip, kość) ).
– Ich komponenty są wytrawione bezpośrednio na powierzchni
układu, dzięki czemu są niewielkie i wymagają mniej energii niż
ich odpowiedniki w postaci niezależnych części elektronicznych
– Pomiędzy wyprowadzeniami zewnętrzymi, a układem
elektronicznym tworzone są połączenia
– Taki układ scalony jest umieszczony w ceramicznej lub
plastikowej obudowie z wyprowadzeniami (nóżkami).
15
Układ scalony o małej skali
integracji (SSI IC).
16
Bramka AND
Iloczyn logiczny (AND)
jest to operacja
wykonywana na parze
bitów, zapisywana w
postaci równania :
z = x * y
Graficzny symbol, oraz
wszystkie możliwe wyniki
tej operacji zamieszczono
w tabeli obok.
x
y
z
0
0
0
0
1
0
1
0
0
1
1
1
17
Suma logiczna (OR).
Operacja dwubitowa. Opis
działania bramki
przedstawia wzór :
z = x + y
tablica i jej symbol patrz
rys. obok.
x
y
z
0
0
0
0
1
1
1
0
1
1
1
1
Bramka OR
18
Negacja (NOT). Jest
operacją jednobitową,
powodującą zmianę sygnału
wejściowego na przeciwny
(wzór, tablica i rys. – patrz
obok). Wzór : y = ~ x
(kreska pozioma nad lub
znak tyldy bezpośrednio
przed negowaną zmienną).
x
y
0
1
1
0
Bramka NOT
19
Rozszerzeniem grupy
elementów logicznych
są bramki NAND i
NOR.
Realizujące operacje:
z = ~( x * y ),
z = ~( x + y )
Bramka NAND (NOR)
wykonuje najpierw
operację iloczynu
logicznego (sumy
logicznej), a następnie
negacje.
x
y
x*y
~(x*y)
x+y
~(x+y)
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
0
1
0
Bramki NAND i NOR
20
Bramka XOR (exclusive or)
• Podstawowe elementy NOT i
OR, pozwalają zbudować obwód
nazywany half-adder.
– Symbol bramki XOR
– Tablica funkcyjna dla układu
XOR:
x
y
z
0
1
1
1
0
1
1
1
0
0
0
0
z
y
x
21
Bramka uniwersalna
• Bramkę NAND nazywa się bramką uniwersalną, ponieważ każdy
układ elektroniczny można skonstruować, używając wyłącznie bramek
NAND. Na przykład:
• Bramka NAND jest tania i jest o wiele prościej zbudować złożone
układy scalone używając jednakowych bloków składowych (tj. kilku
bramek NAND) zamiast zbioru różnych podstawowych bloków (tzn.
kombinacji bramek AND, OR i NOT).
22
Prezentacja funkcji boolowskich
• Istnieje wiele równoważnych sposobów na
przedstawienie funkcji boolowskiej
– synonimy logicznie równoważne
– mają takie same tablice prawdy
– Przy projektowaniu systemów logicznych
funkcje boolowskie zapisuje się w postaci
kanonicznej
23
• Istnieją dwie postaci kanoniczne dla wyrażeń
boolowskich:
– alternatywna postać normalna APN (sum-of-products)
– koniunkcyjna postać normalna KPN (product-of-sums )
• APN wyrażenie boolowskie składa się z pomnożonych
(AND) zmiennych (lub wyrazów iloczynu), które są
zsumowane (OR)
F(x, y, z) = xy + xz + yz
• KPN wyrażenie boolowskie składa się ze zsumowanych
(OR) zmiennych (lub wyrazów sumy), które są przez
siebie mnożone (AND)
F(x, y, z) = (x+y)
⋅
(y+z)
⋅
(z+x)
Prezentacja funkcji boolowskich
24
Zasada dualności
• Dowolny układ można także zbudować,
używając wyłącznie bramek NOR. Bramki
NAND i NOR są ze sobą skorelowane w
podobny sposób, jak alternatywna i
koniunkcyjna postać normalna funkcji.
– NAND wyraża alternatywną postać normalną
funkcji,
– NOR – normalną postać koniunkcyjną.
25
Układy cyfrowe i ich związek z
algebrą Boole' a
• Wyrażenia boolowskie można przedstawić za
pomocą kombinacji bramek AND, OR i NOT.
• W rezultacie otrzymamy diagram logiczny, całego
wyrażenia przedstawiający fizyczną realizację
danego wyrażenia albo inaczej rzeczywisty obwód
cyfrowy.
26
Przykład diagramu logicznego
• Diagram logiczny dla funkcji
• Budując diagram logiczny dla wyrażenia
boolowskiego projektujemy odpowiadający mu
układ cyfrowy.
(
)
z
y
x
z
y
x
F
+
=
,
,
27
Układy kombinacyjne
• Układ półsumatora (ang. half-adder).
• Rozważając dodawanie dwóch cyfr binarnych należy pamiętać, że:
– 0+0=0,
– 0+1=1+0=1,
– 1+1=1.
• Należy wziąć pod uwagę zarówno sumę, jak i przeniesienie, trzeba
więc określić nie jeden, ale dwa wyniki.
• Analizując tablicę prawdy dla półsumatora, można zauważyć, że suma
jest identyczna z operacją XOR.
• Wartość przeniesienia jest równoważna wynikowi bramki AND.
– Można więc połączyć bramki XOR i AND, otrzymując w ten sposób
diagram logiczny półsumatora.
28
Do czego może służyć półsumator?
29
Półsumator
• Półsumator można rozbudować do układu, który pozwala
na dodawanie większych liczb binarnych.
• Rozważmy, sposób dodawania liczb w systemie
dziesiętnym:
– dodajemy pierwszą kolumnę z prawej,
– zapisujemy cyfrę jedności i przenosimy cyfrę dziesiątek,
– dodajemy przeniesienie do kolumny bieżącej,
– i dalej postępujemy w analogiczny sposób.
• Liczby binarne możemy dodawać tą samą metodą.
• Zrealizuje je układ, który:
– przyjmuje trzy dane wejściowe (x, y, cin),
– z którego otrzymujemy dwie dane wyjściowe (suma, cout).
30
Sumator
• Tablica prawdy i odpowiadający jej diagram logiczny dla
pełnego sumatora (full-adder). Pełny sumator zbudowany
jest z dwóch półsumatorów i bramki OR.
31
Bit adder - 1 bitowy układ dodający
dwójkowo
•
Sumator składa się z dwu bramek XOR i trzech bramek – AND oraz jednej
bramki OR.
•
Sygnał wejściowy stanowią dwie liczby w zapisie dwójkowym a, b oraz
wejściowy bit przeniesienia (carry input) cin.
•
Wyjście stanowią suma s i wyjściowy bit przeniesienia (carry output), cout.
cin
cout
32
Oznaczenie i charakterystyka
sumatora jednobitowego
• Wejścia do obwodu
stanowią (a, b, cin),
natomiast wyjścia to
(cout, s). Odpowiednia
tablica stanów ma
postać:
• Jak taki układ może
dodawać liczby
binarne, skoro jest
zdolny do dodawania
tylko trzech bitów?
Charakterystyka bit-
adder’a
:
(0 0 0) ==> (0 0)
(0 1 0) ==> (0 1)
(1 0 0) ==> (0 1)
(1 1 0) ==> (1 0)
(0 0 1) ==> (0 1)
(0 1 1) ==> (1 0)
(1 0 1) ==> (1 0)
(1 1 1) ==> (1 1)
33
Sumator dwubitowy
• Ten układ, składający się dwu
bit –adder’ów jest w stanie
dodać dwie liczy dwubitowe.
Ten układ przyjmuje na wejściu
cyfry a
1
, a
0
pierwszego składnika
i cyfry b
1
, b
0
drugiego składnika
wynikiem jest trójbitowa liczba
s
1
, s
0
.
• Wyjście cout pierwszego bit-
addera (z prawej) połączone
zostało z wejściem cin drugiego
bit-addera (z lewej).
34
Sumator 4-bitowy
• Podobnie jak w poprzednim przykładzie, bit przeniesienia sumatora, t
0
jest
podłączony do wejścia bitu przeniesienia sumatora t
1
, i etc.
• Oznacza to, że sumator t
0
powinien wykonać działanie zanim zadziała
sumator t
1
, etc.
• Poprzez skopiowanie układu sumatora jednobitowego szesnaście razy,
można zbudować w ten sposób sumator potrafiący dodawać dwa
szesnastobitowe słowa.
• Taki rodzaj układu nazywamy sumatorem kaskadowym. Generuje on
sekwencyjnie przeniesienia, które przechodzą przez kolejne stopnie
sumatora.
35
Podsumowanie sumatora
• Przedstawiony sumator jest bardzo powolny, raczej się go
nie stosuje.
• Modyfikacje zastosowane w konstrukcjach sumatorów
spowodowały powstanie sumatorów typu:
– carry-look-ahead (podgląd przeniesienia),
– carry-select (wybór przeniesienia),
– carry-save (zachowanie przeniesienia) i innych.
• Ma to celu próbę przyspieszenia dodawania dwóch liczb
binarnych.
• Współczesne sumatory osiągają prędkości od 40% do 90%
większe niż sumatory kaskadowe - dzięki wykonywaniu
operacji dodawania w sposób równoległy i zredukowaniu
długiej ścieżki przeniesienia.
36
Arytmetyka dopełnieniowa
(Complement Arithmetic)
• Kiedy 4-bitowy sumator jest wykorzystany do dodawania
dwu 4-bitowych liczb bez znaku (np. 10 + 10), pojawienie
się bitu przeniesienia wskazuje, że wynik nie mieści się w
zakresie 4 bitów (od 0 do 15).
• W przypadku gdy 4-bitowy sumator wykorzystamy do
dodawania 4-bitowych liczb ze znakami
– reprezentowanych przez swoje dopełnienia do 2,
wówczas należy zignorować pojawienie się wyjściowego
przeniesienia na najstarszym bicie (left-most bit).
• Przedstawiony tu 4-bitowy sumator działa równie dobrze
w przypadku przedstawianych jako dopełnienia do 2 liczb
bez znaku jak też liczb ze znakiem w tej reprezentacji.
37
Problem dodawania liczb ze znakiem
• Rozważmy przykład dodawania:
1 0 1 0 + 1 0 1 0 =
1
0 1 0 0.
• Ponieważ skrajny lewy bit jest w przypadku obu składników równy 1
dodajemy dwie ujemne liczby i otrzymujemy dodatni wynik.
• Zauważmy, że 1 0 1 0 = -6
(10)
.
• Aby to sprawdzić należy:
– od 1 0 1 0 odjąć 1,
– zmienić 1 na 0, a 0 na 1
– lub co na jedno wychodzi, odjąć następną potęgę 2 (2
4
= 16) od 1010 co
daje -6.
• Ponieważ 4-bitowe liczby ze znakiem zawierają się w zakresie od -8
do 7, wynik dodawania -6 + -6 =-12 wykaże błąd gdyż nie może być
on przedstawiony jako 4-bitowa wartość ze znakiem!
38
4-bit-Arithmetic Logic Unit
39
Model procesora
• Kiedy operand zostaje
pobrany z pamięci, w celu
wykonania określonej
operacji
– np. w przypadku
odejmowania,
operand ten jest czasowo
przechowywany w rejestrze
procesora zwanym rejestrem
b.
40
Model procesora
• Wejścia "a" 4-bitowego-ALU
podłączone są do akumulatora,
• Wejścia "b" podłączone są do
rejestru b.
• Wyjście, na którym pojawia się
wynik działania ALU jest
podłączone do akumulatora.
• specjalny układ ustawiający bit
sub w zależności od tego czy
rejestr poleceń zawiera
instrukcję dodawania czy też
odejmowania.
41
Kodery i dekodery
• Informacja może być zapisywana za pomocą zmiennych binarnych
dwoma sposobami:
– Zbiorowi danych elementarnych odpowiada równoliczny zbiór zmiennych
binarnych, stąd każdej danej odpowiada jedna zmienna.
– Zbiorowi danych elementarnych odpowiada kombinacja zmiennych
binarnych. Dysponując n zmiennymi binarnymi można sposobem
pierwszym zapisać n danych, sposobem drugim 2n danych.
• Kodowaniem nazywamy przejście z pierwszego sposobu na drugi, a
operacje, odwrotną dekodowaniem.
• Układy realizujące kodowanie nazywamy koderem (a) i dekoderem
(b).
42
Kodery i dekodery
• Adresy w pamięci komputera mają postać liczb binarnych. Kiedy
odwołujemy się do adresu pamięci (w celu zapisania lub czytania),
komputer musi najpierw określić adres rzeczywisty. Czyni to za
pomocą dekodera.
• Dekodowanie informacji binarnej polega na przypisaniu zestawów
składających się z n danych wejściowych do maksymalnie 2n danych
wyjściowych.
• Dekoder wykorzystuje dane wejściowe i odpowiadające im wartości w
celu „wybranie linii wynikowej„. Oznacza to, że dana linia wynikowa
ma (ustawiony) wynik l, podczas gdy pozostałe są ustawione na zero.
• Dekodery opisujemy zwykłe za pomocą liczby danych wejściowych i
wyjściowych.
– Na przykład dekoder, który ma 3 dane wejściowe i 8 wyjściowych,
nazywany jest dekoderem 3-do-8-bitowym.
43
Układ dekodera 3-do-8 bitowego.
Wyobraźmy sobie pamięć złożoną z ośmiu chipów, po 8 kB każdy.
Załóżmy, że:
chip 0 zawiera adresy pamięci od 0 do 8 191,
chip 1 zawiera adresy pamięci od 8 192 do 16 383 itd.
Razem 8 K x 8K lub 64 K (65 536) dostępnych adresów.
Mamy 64 = 2
6
oraz 1K = 2
10
, otrzymujemy, że 64K = 2
6
x 2
10
= 2
16
, co
wskazuje na to, że potrzebujemy 16 bitów, aby przedstawić każdy z
adresów.
Adresy w chipie 0 mają format: 000xxxxxxxxxxxxx,
od 0000000000000000 do 0001111111111111.
Adresy w chipie 1 mają format 001xxxxxxxxxxxxx i tak dalej.
Trzy pierwsze bity z lewej strony decydują, w którym chipie
umieszczony jest adres. Potrzebujemy 16 bitów do zapisania całego
adresu, ale w każdym chipie mamy tylko 2
13
adresów.
44
Kiedy podajemy komputerowi adres,
•najpierw określa on, którego chipu ma użyć,
•znajduje rzeczywisty adres w tym konkretnym chipie.
W naszym przykładzie komputer użyłby 3 bitów po skrajnej lewej
stronie, aby wybrać chip, a następnie posługując się pozostałymi 13
bitami, znalazłby adres na chipie.
Te trzy wysokopozycyjne bity są w rzeczywistości używane jako dane
wejściowe do dekodera - tak aby komputer mógł określić, który chip
powinien uaktywnić do zapisu lub odczytu.
Jeśli pierwsze 3 bity to 000, aktywowany powinien być chip 0. Jeśli
pierwsze 3 bity to 111, powinien być to chip 7.
45
1
46
Multiplekser
•
Układ ten wybiera informacje binarne z jednej z wielu linii wejściowych i
kieruje je do pojedynczej linii wyjściowej. Wybór określonej linii wejściowej
kontrolowany jest przez zbiór zmiennych wyboru lub linii kontrolnych.
•
W danym momencie tylko jedna, wybrana dana wejściowa kierowana jest
przez obwód do linii wyjściowej. Wszystkie inne dane wejściowe są „odcięte”.
Jeśli wartości na linii kontrolnej się zmienią, spowoduje to też zmianę danych
wejściowych.
•
Komputery z podziałem czasu multipleksują dane wejściowe z terminala
użytkownika.
47
Układy sekwencyjne
• Układy kombinacyjne nie posiadają pamięci tj. nie istnieje możliwość
przechowywania danych.
• Ażeby zrozumieć, jak pracuje komputer, trzeba poznać logikę
sekwencyjną.
– Dane wyjściowe układu sekwencyjnego powstają na podstawie funkcji
bieżących i poprzednich danych wejściowych. Wynik operacji zależy
również od przeszłych danych wejściowych. Aby zapamiętać poprzednie
dane, układy sekwencyjne muszą zawierać pewnego rodzaju element
magazynowania danych -przerzutnik.
– Stan przerzutnika jest funkcją poprzednich danych wejściowych. Stąd
obliczany wynik końcowy zależy zarówno od bieżących danych
wejściowych, jak też od bieżącego stanu układu.
• Układy kombinacyjne można nazwać uogólnieniem bramek, a układy
sekwencyjne uogólnieniem przerzutników.
48
Porządkowanie zdarzeń –zegary
• Układ sekwencyjny wykorzystuje przeszłe dane
wejściowe, aby określić bieżące dane wyjściowe,
konieczne jest więc wprowadzenie sposobu
porządkowania zdarzeń.
– Asynchroniczne układy sekwencyjne uaktywniają się w
momencie, kiedy którakolwiek z danych wejściowych
się zmienia.
– Synchroniczne układy sekwencyjne do porządkowania
zdarzeń wykorzystują zegary.
49
Zegar
• Zegar emituje serię impulsów o dokładnie określonej szerokości i
interwale pomiędzy następującymi po sobie impulsami.
– Interwał ten nazywamy cyklem zegarowym.
– Częstość zegara mierzona jest w megahercach (MHz) .
• Zegar używany jest przez układ sekwencyjny do podjęcia decyzji,
kiedy należy aktualizować stan układu (tzn. kiedy „bieżące" dane
wejściowe stają się „przeszłymi" danymi wejściowymi). Oznacza to,
że wejścia do układu mogą wpływać na element obszaru pamięci tylko
w ściśle określonych momentach.
– Większość układów sekwencyjnych posiada przerzutniki przełączane
zboczem sygnału
– lub na poziomem sygnału.
50
Przerzutniki
• Przerzutnik jest układem o dwóch stanach stabilnych
(takich, dla których stan logiczny jest jednoznacznie
określony), wykorzystywanym głównie do zapamiętania
informacji o pojemności równej l bitowi.
• Przerzutnik posiada najczęściej dwa wyjścia: proste i
zanegowane. W stanie stabilnym na wyjściach występują
wartości logiczne, odpowiednio "1" i "0" lub "0" i "1".
• Przerzutnik może mieć jedno lub kilka wejść. Cechą
charakterystyczną przerzutnika jest to, że stan wyjść
określony jest nie tylko stanem wejść, ale także jego
stanem poprzednim.
51
Układ o przerzutnikach przełączanych zboczem sygnału może zmieniać
swój stan za każdym razem, kiedy sygnał zegarowy jest niski łub
wysoki.
W celu „zapamiętania" stanu przeszłego układy sekwencyjne oparte są
na zasadzie sprzężenia zwrotnego. Oznacza to po prostu, że dana
wyjściowa układu zwracana jest jako dana wejściowa do tego samego
układu.
Z rysunku wynika, że jeśli Q równe jest 0, to sygnał na wyjściu zawsze
będzie równy 0. Jeśli zaś Q równe jest 1, zawsze będzie 1.
Nie jest to zbytnio użyteczny układ, ale pozwala zrozumieć, jak działa
sprzężenie zwrotne.
52
Możemy opisać dowolny przerzutnik, używając tabeli charakterystyk,
która wskazuje, na czym powinny być oparte kolejne stany: dane
wejściowe i stan obecny Q. Symbol Q(t) oznacza stan obecny, a Q(t + 1)
wskazuje stan następny, tzn. stan, jaki przerzutnik powinien wprowadzić
po impulsie zegara.
53
Przerzutnik SR
Układ ze sprzężeniem zwrotnym składa się z dwóch bramek NOR, w
wyniku zastosowania których otrzymujemy najbardziej podstawową
jednostkę pamięci zwaną przerzutnikiem SR (set/reset). Diagram
logiczny dla przerzutnika SR
Przerzutnik sr posiada wejście ustawiające
"s" (ang. set), powodujące ustawienie wyjścia przerzutnika w stan
logicznej jedynki
oraz wejście zerujące "r" (ang. reset), ustawiające wyjście w stan zera
logicznego.
Jeżeli oba wejścia są w stanie niskim (zero logiczne), stan wyjścia
pozostaje bez zmian, gdy oba wejścia są w stanie wysokim (jedynka
logiczna) stan przerzutnika jest stanem niskim.
54
Wszystkie możliwe sytuacje przerzutnika SR przedstawia tablica
charakterystyczna obok, na podstawie której można otrzymać wzór
określający stan wyjścia q
k+l
:
Wniosek: q
k+1
będzie l, jeżeli nie było r
k
= l, a było s
k
= l lub q
k
= l.
q
k
r
k
s
k
q
k+1
1
1
1
?
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
?
0
1
0
0
0
0
1
1
0
0
0
0
55
Istotną cechą przerzutnika SR jest jego niejednoznaczność.
Jeżeli na jego obu wejściach Pojawi się jednocześnie sygnał jedynki
logicznej, stan obu wyjść jest stanem niskim. Jest to błędem, gdyż opis
przerzutnika SR zakłada, że jedno z wyjść jest negacją drugiego, a w
tym przypadku nie jest to spełnione.
Dalsze zmiany stanu wyjść zależą od kolejności zaniku sygnałów
wejściowych: q=0, gdy jako ostatni zaniknie sygnał r, q=l, gdy ostatni
zaniknie sygnał s.
56
Przerzutnik JK
Niejednoznaczność stanu przerzutnika została usunięta w przerzutniku
JK. W stosunku do przerzutnika SR różni się on tym, iż dla sygnałów
wejściowych
j = k = l
zmienia on stan obu wyjść na przeciwny. Wszystkie możliwe sytuacje
zestawiono w tablicy.
q
k
j
k
k
k
q
k+1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
Nazwa przerzutnika JK pochodzi od inicjałów inżyniera firmy Texas
Instruments, Jacka Kilby'ego, który w roku 1958 wynalazł układ
zintegrowany.
57
Analizując stan wyjścia q
k+1
w sytuacji, gdy występuje na nim jedynka
logiczna otrzymujemy następujący wzór :
Symbol i budowę przerzutnika JK.
58
Rejestry :
Rejestrem jest zbiór przerzutników służących do przechowywania
informacji cyfrowej. Można wyróżnić rejestry szeregowe i równolegle.
•Rejestr szeregowy to zestaw przerzutników połączonych ze sobą jeden
za drugim w taki sposób, że do wyjścia jednego przerzutnika dołączone
jest wejście następnego.
•Rejestr równoległy składa się. z układu nie powiązanych ze sobą
przerzutników, a operacje wpisu lub zerowania są wykonywane na
wszystkich bitach (przerzutnikach) równolegle.
Operacji wpisu do rejestru n-bitowego można dokonać stosując jeden z
dwu możliwych układów.
•układ wpisu z uprzednim zerowaniem, przed ustawieniem
przerzutników musi nastąpić zerowanie (do przerzutników wpisywane są
tylko jedynki, dlatego wymagane jest zerowanie).
•układ z wejściem forsowanym.
59
Magistrala
Zbiór przewodów (s
1
do s
n
) łączących poszczególne elementy (rejestry)
komputera to magistrala. O tym, z i do którego rejestru dana zostanie
przesłana, decydują sygnały sterujące. Jeżeli magistrala łączy kilka
rejestrów, występuje wtedy także odpowiednia liczba sygnałów
sterujących.
kierunek przepływu danych oznacza się strzałką o nie zapełnionym
grocie, łączącą elementy, między którymi przepływ taki może nastąpić.
60
Sygnały sterujące przepływem danych:
•sygnały poziomowe
•impulsowe.
Rozróżnienie to jest związane z propagacją sygnałów.
Sygnał wyjściowy (np. z rejestru C) powinien zostać wysłany
odpowiednio wcześniej i trwać przez dłuższy okres czasu, tak aby był
sygnałem stabilnym w momencie odczytu (np. przez rejestr A).
Przyjęto, że sygnały sterujące wyjściami poszczególnych elementów są
sygnałami poziomowymi, oznaczonymi na schematach liniami z
przekreśleniem wraz z podaną nazwą linii. Czasem trwania takiego
sygnału jest cały takt.
Sygnały impulsowe oznaczane są strzałkami o zapełnionych grotach z
podana nazwą sygnału. W chwili wystąpienia impulsu sygnał taki ma
wartość l.
61
Przesyły realizowane są także między magistralami - multipleksowanie.
Wyróżniamy:
• multipleksowanie rozwidlające (demultipleksowanie), polegające na
wpisaniu stanu magistrali na jedną z kilku wybranych
•koncentrujące (multipleksowanie)- przepisanie stanu wybranej z kilku
magistral na jedną.
62
Pamięć komputera
Pamięć umożliwia przyjmowanie i zapisywanie danych, a następnie ich
wprowadzanie w dowolnym momencie do toczącego się w komputerze
procesu obliczeniowego.
Na pamięć składają się. punkty pamięci, które są miejscem
przechowywania danych jednobitowych.
Uporządkowany zbiór punktów pamięci to komórka pamięci,
zawierająca słowo maszynowe.
63
Podział pamięci :
Pamięci można podzielić ze względu na technologię produkcji na
magnetyczne i półprzewodnikowe. Pamięci magnetyczne można z kolei
podzielić na pamięci o ruchomych i nieruchomych punktach pamięci.
Pierwsze z nich to takie, których punkty wymagają przemieszczenia dla
realizacji odczytu lub zapisu. Są to wszelkiego rodzaju pamięci dyskowe
lub taśmowe. Pamięć o nieruchomych punktach nie wymaga
przemieszczania. Do tego rodzaju pamięci można zaliczyć pamięć
ferrytową. Pamięci półprzewodnikowe można podzielić na dynamiczne i
statyczne.
64
W komputerach używane są pamięci półprzewodnikowe. Można
dokonać różnorodnego podziału tych pamięci, np. ze względu na
budowę można rozróżnić pamięci:
•statyczne - Punktem pamięci półprzewodnikowej statycznej jest
przerzutnik SR , zbudowany w oparciu o technologię bipolarną lub
unipolarną. Zasada działania takiej pamięci polega na podaniu
sygnału jedynki logicznej na odpowiednią linię słowa zapisu (lub
odczytu) oraz sygnału "1" lub "0" na linię bitu zapisywanego
(odczytywanego).
•dynamiczne - pamięć dynamiczna wymaga dodatkowego działania,
jakim jest odświeżanie.
65
Pamięci półprzewodnikowe mają organizacją określoną jako n·m;
"n" oznacza tutaj wielkość pamięci (np. 16, 256, 1024),
a "m" ilość bitów dostępnych po zaadresowaniu pojedynczej komórki
( m= l, 4, lub 8).
Znajduje się tu linia bitu zapisu i odczytu oraz linie adresowe.
Zespół takich punktów stanowi pamięć półprzewodnikową o organizacji
n· 8.
66
Najczęściej stosowaną organizacją w przypadku budowy pamięci RAM
komputera jest organizacja n*l.
Rozważmy przykładowo pamięć 1024·1, a więc taką, dla której możliwy
jest odczyt lub zapis danych jednobitowych.
Ponieważ komputer przetwarza całe bajty pamięci (czyli 8 bitów), do
budowy pamięci o pojemności lkB trzeba użyć 8 bloków 1024·1.
Połączenie to wymaga równoległego podania adresu na wszystkie bloki i
potraktowania każdego z nich jako nadawcę (odbiorcę) jednego bitu
danej.
67
Do pamięci można się odwołać poprzez dwa rejestry:
•Rejestr A jest rejestrem adresowym,
połączonym z magistralą adresową
komputera. Do rejestru tego wpisywany
jest sygnałem wea adres komórki, która
ma zostać obsłużona.
•Rejestr S przechowuje daną, która ma
zostać zapisana lub odczytana z adresu
znajdującego się w rejestrze A. Sygnały
sterujące to: wes. wprowadzający słowo
maszynowe z magistrali do rejestru i
wys, wyprowadzający je na magistralę.
Sygnałami określającymi rodzaj operacji
przeprowadzanej na komórce o adresie
w A są pisz i czyt.
68
Można wyróżnić następujące rodzaje pamięci półprzewodnikowych:
- RAM (ang. Random Access Memory), to pamięć o swobodnym
dostępie. Możliwy jest zapis i odczyt.
- ROM (ang. Read Only Memory), pamięć o stałej zawartości,
zapisywana przez producenta, nie mająca możliwości zmiany.
- PROM (ang. Programable ROM), jednokrotnie zapisywalna przez
użytkownika.
- pamięci stałe o możliwości wielokrotnego kasowania i programowania
(np. EPROM, EEPROM).
Podstawowymi cechami każdej pamięci są:
•pojemność,
•czas dostępu,
•rodzaj odczytu (niszczący lub nie),
•rodzaj dostępu (bezpośredni lub przez bloki).
69
1
70
1
71
Model Procesora
• Struktura prostego abstrakcyjnego komputera.
• Kiedy operand zostaje pobrany z pamięci, np. W
przypadku operacji odejmowania, operand ten jest
czasowo przechowywany w rejestrze procesora
zwanym rejestrem b.
Akumulator
Licz. rozkazów
Rejestr poleceń
Inst. warunkowe