rchitektura systemów komputerowych układów logicznych. lgebra oole a. Układy kombinacyjne Cezary olek Katedra Informatyki Plan wykładu układów logicznych ramki logiczne lgebra sieci przełączających Funkcje logiczne Układy kombinacyjne Układy separujące Magistrala rchitektura systemów komputerowych Cezary olek 2
Wielopoziomowa organizacja komputera udowa oraz idea działania systemu komputerowego opiera się na wielopoziomowej hierarchii Większość współczesnych komputerów opiera się na dwóch lub większej liczbie poziomów 5 3 2 o języka problemowego Translacja (kompilator) o języka asemblera Translacja (asembler) o systemu operacyjnego Częściowa interpretacja (system operacyjny) Konwencjonalny poziom maszynowy Interpretacja (mikroprogram) lub wykonanie bezpośrednie mikroarchitektury Sprzęt układów logicznych rchitektura systemów komputerowych Cezary olek 3 Organizacja komputera poziom Podstawowe elementy bramki logiczne udowane z elementów analogowych (tranzystory) modelowane jako układy cyfrowe Wyjście bramki stanowi funkcja logiczna sygnałów wejściowych ND, OR, NOT... bramek tworzy się układy logiczne realizujące bardziej złoŝone funkcje komórki pamięci rejestry, multipleksery itp. 5 3 2 o języka problemowego Translacja (kompilator) o języka asemblera Translacja (asembler) o systemu operacyjnego Częściowa interpretacja (system operacyjny) Konwencjonalny poziom maszynowy Interpretacja (mikroprogram) lub wykonanie bezpośrednie mikroarchitektury Sprzęt układów logicznych rchitektura systemów komputerowych Cezary olek 2
Organizacja komputera poziom zawiera najczęściej: kilka do kilkuset rejestrów Jednostkę arytmetyczno-logiczną (LU) Połączenia między nimi (szyny) tworzące w ten sposób ścieŝkę danych Typowe funkcje ścieŝki danych: wybieranie jednego lub dwóch rejestrów przekazywanie danych do LU w celu wykonania operacji na nich zapisanie wyniku (w jednym z rejestrów) Realizacja: sprzętowa, mikroprogramowa 5 3 2 o języka problemowego Translacja (kompilator) o języka asemblera Translacja (asembler) o systemu operacyjnego Częściowa interpretacja (system operacyjny) Konwencjonalny poziom maszynowy Interpretacja (mikroprogram) lub wykonanie bezpośrednie mikroarchitektury Sprzęt układów logicznych rchitektura systemów komputerowych Cezary olek 5 Organizacja komputera poziom 2 architektury rozkazów (IS, Instruction Set rchitecture) biór instrukcji kodu maszynowego Interpretowane i wykonywane bezpośrednio przez jednostkę wykonawczą (np. mikroprocesor) za pomocą: obwodów wykonawczych mikroprogramu realizowana w oparciu o poziom mikroarchitektury 5 3 2 o języka problemowego Translacja (kompilator) o języka asemblera Translacja (asembler) o systemu operacyjnego Częściowa interpretacja (system operacyjny) Konwencjonalny poziom maszynowy Interpretacja (mikroprogram) lub wykonanie bezpośrednie mikroarchitektury Sprzęt układów logicznych rchitektura systemów komputerowych Cezary olek 6 3
Organizacja komputera poziom 3 hybrydowy nie ukrywa poziomu maszynowego przed wyŝszymi warstwami, ale raczej uzupełnia go o dodatkowe mechanizmy Podstawowe elementy: elementy poziomu maszynowego procesora uzupełnione o organizację pamięci, interakcję z urządzeniami wejścia-wyjścia, system plików Część instrukcji interpretowana bezpośrednio przez jednostkę wykonawczą, a część przez system operacyjny 5 3 2 o języka problemowego Translacja (kompilator) o języka asemblera Translacja (asembler) o systemu operacyjnego Częściowa interpretacja (system operacyjny) Konwencjonalny poziom maszynowy Interpretacja (mikroprogram) lub wykonanie bezpośrednie mikroarchitektury Sprzęt układów logicznych rchitektura systemów komputerowych Cezary olek 7 Organizacja komputera poziom Udostępnia funkcjonalność poziomu maszynowego oraz poziomu systemu operacyjnego w formie symbolicznej Łatwiejsze do opanowania dla programisty (mnemoniki, etykiety) y od wzwyŝ przeznaczone dla programistów aplikacji PoniŜej programiści systemowi mimo, Ŝe posługują się narzędziami wyŝszych poziomów 5 3 2 o języka problemowego Translacja (kompilator) o języka asemblera Translacja (asembler) o systemu operacyjnego Częściowa interpretacja (system operacyjny) Konwencjonalny poziom maszynowy Interpretacja (mikroprogram) lub wykonanie bezpośrednie mikroarchitektury Sprzęt układów logicznych rchitektura systemów komputerowych Cezary olek 8
Organizacja komputera poziom 5 Ukrywa szczegóły architektury procesora oraz redefiniuje interfejs dostępu do niektórych usług systemu operacyjnego w celu uniezaleŝnienia oprogramowania od konkretnego systemu komputerowego Tworzą go z reguły języki zaprojektowane specjalnie dla programistów aplikacji Języki te określane najczęściej językami wysokiego poziomu Programy wysokiego poziomu tłumaczone na języki poziomu 3 i przy uŝyciu translatorów 5 3 2 o języka problemowego Translacja (kompilator) o języka asemblera Translacja (asembler) o systemu operacyjnego Częściowa interpretacja (system operacyjny) Konwencjonalny poziom maszynowy Interpretacja (mikroprogram) lub wykonanie bezpośrednie mikroarchitektury Sprzęt układów logicznych rchitektura systemów komputerowych Cezary olek 9 Organizacja - poziom układów logicznych Właściwa warstwa sprzętowa komputera Układy logiczne realizowane z podstawowych elementów elektronicznych: tranzystorów RóŜne technologie realizacji TTL, ECL, NMOS, CMOS,... Obecnie najczęściej stosowana technologia CMOS Układy logiczne implementowane w określonej technologii są układami cyfrowymi, w których: sygnały napięciowe przyjmują tylko dwa poziomy poziomom tym przypisywane są wartości liczbowe i (w praktyce, stosuje się takŝe niezmiernie rzadko układy cyfrowe o większej liczbie poziomów napięciowych) rchitektura systemów komputerowych Cezary olek 5
inarne poziomy logiczne W logice binarnej istnieją tylko dwa sygnały: zwane zerem logicznym w przypadku realizacji sprzętowej najczęściej odpowiada niskiemu poziomowi napięcia, bliskiemu V zwana jedynką logiczną najczęściej odpowiada wysokiemu poziomowi napięcia, zbliŝonego do napięcia zasilania: 5V; 3,3V; 2,5V;,8V;... Oznaczenia równowaŝne: = fałsz, false, L (low) = prawda, true, H (high) rchitektura systemów komputerowych Cezary olek ramki logiczne Układy elektroniczne realizujące podstawowe funkcje logiczne w oparciu o binarne sygnały wejściowe Iloczyn logiczny = ramka ND Suma logiczna = + ramka OR Negacja logiczna = ramka OR (inwerter) X X X rchitektura systemów komputerowych Cezary olek 2 6
ramki logiczne ND, OR, NOT - zastosowanie ramka NOT Negacja sygnału wejściowego ramka ND Kluczowanie sygnału ramka OR Sumowanie sygnałów rchitektura systemów komputerowych Cezary olek 3 ramki NND oraz NOR a pomocą bramek ND i NOT lub OR i NOT moŝna zrealizować dowolną funkcję logiczną W praktyce, przy realizacji sprzętowej stosuje się bramki NND i NOR (oraz NOT) ramka NND = ramka NOR = + X X rchitektura systemów komputerowych Cezary olek 7
lgebra sieci przełączających szczególny przypadek algebry oole a Do opisu obwodów budowanych z bramek logicznych wykorzystuje się szczególny przypadek algebry oole a zwanej algebrą sieci przełączających. a historycznie pierwszą prace dotyczącą teorii sieci przełączających uwaŝana jest praca Shannona Symbolic nalysis of Relay and Switching Circuits (938) Ideą było opracowanie systemu matematycznego pozwalającego na systematyczny opis i analizę układów przełączających. Podstawą prac Shannona była algebra opracowana przez matematyka George a oole a (85-86) zwana obecnie algebrą oole a rchitektura systemów komputerowych Cezary olek 5 lgebra oole a - aksjomaty lgebrą oole a jest system: OOL = <,, ~, +, > gdzie: ma co najmniej dwa róŝne elementy i są stałymi nazywanymi zerem i jedynka boolowska ~ jest działaniem jednoargumentowym nazywanym dopełnieniem (negacją) +, są działaniami dwuargumentowymi (dodawaniem i mnoŝeniem) dla dowolnych a,b,c spełnione są następujące aksjomaty:. (a + b) + c = a + ( b + c) łączność operacji + 2. (a b) c = a ( b c) łączność operacji 3. a + b = b + a przemienność operacji +. a b = b a przemienność operacji 5. a + = + a = a istnienie elementu identycznościowego operacji + 6. a = a = a istnienie elementu identycznościowego operacji + 7. a + (b c) = (a + b) (a + c) rozdzielność względem + 8. a (b + c) = (a b) + (a c) rozdzielność + względem 9. a + ~a = pochłanianie. a ~a = pochłanianie rchitektura systemów komputerowych Cezary olek 6 8
lgebra sieci przełączających najprostszy przypadek algebry oole a Najprostsza algebra oole'a ma tylko dwa elementy: i jest to algebra sieci przełączających Realizacja bramkowa aksjomatów: (+)+C = +(+ ( ) C = ( + = + = + = + = = = ( + = ( ) + ( + ( = ( + ) ( + + ~ = ~ = rchitektura systemów komputerowych Cezary olek 7 Prawa De Morgana + = = + rchitektura systemów komputerowych Cezary olek 8 9
Funkcje logiczne (boolowskie) Funkcją boolowską lub funkcją przełączającą f(x,...,x n ) nazywamy kaŝde odwzorowanie zbioru {,} n w zbiór {,} Funkcja logiczna posiada jedną lub więcej zmiennych wejściowych i zwraca wynik zaleŝny od ich wartości Dla funkcji logicznych zdefiniowane są operacje +, oraz ~ Przykładowa funkcja: funkcja logiczna = + ( wyraŝenie logiczne rchitektura systemów komputerowych Cezary olek 9 Implementacja funkcji logicznych Dowolna funkcja logiczna moŝe zostać zaimplementowana za pomocą bramek logicznych (na wiele róŝnych sposobów) = + ( WyraŜenia logiczne moŝna przekształcać zgodnie z aksjomatami i prawami algebry oole a = + C = ( + rchitektura systemów komputerowych Cezary olek 2
Tabela prawdy Funkcja logiczna n zmiennych posiada 2 n moŝliwych kombinacji wartości wejściowych Pełny jej opis moŝna zawrzeć w tabeli o 2 n wierszach zawierających wartości funkcji dla kaŝdej z kombinacji. Przykład: C Tablica prawdy dla funkcji logiki większościowej: funkcja przyjmuje wartość jeśli na większości wejść jest, funkcja przyjmuje wartość jeśli na większości wejść jest rchitektura systemów komputerowych Cezary olek 2 Postać kanoniczna funkcji Postać funkcji w postaci wyraŝenia kanonicznego sumy: = C + C + C + C + C + C + C + C = C + C + C + C C Postać funkcji w postaci wyraŝenia kanonicznego iloczynu: = ( + + ( + + ( + + ( + + rchitektura systemów komputerowych Cezary olek 22
Synteza układu na podstawie tabeli prawdy Postać kanoniczną często moŝna uprościć: = C + C + C + C = C + C + C + C + C + C = C + C + C + C + C + C = ( + ) C + ( + ) C + ( C + = C + C + W praktyce stosuje się bramki NND bądź NOR (mniejsza liczba tranzystorów) = C + C + = C + C + = C C rchitektura systemów komputerowych Cezary olek 23 lternatywa wykluczająca bramka XOR Funkcja określona tabelą prawdy: Wynik jest prawdą (=) gdy nieparzysta liczba argumentów jest prawdą (=) = + Realizacja za pomocą bramek NND = + = rchitektura systemów komputerowych Cezary olek 2 2
Układy kombinacyjne Sieć (układ) kombinacyjna jest siecią, której wyjścia w chwili t zaleŝą jedynie od wejść w chwili t. Układ logiki cyfrowej o wielu wejściach i wielu wyjściach. których sygnały wyjściowe są jednoznacznie określone przez bieŝący stan wejść. Przykładowe układy kombinacyjne: multipleksery, demultipleksey dekodery komparatory układy arytmetyczne sumatory układy przesuwne jednostki arytmetyczno logiczne,... rchitektura systemów komputerowych Cezary olek 25 Dekoder Układ pobierający n-bitową liczbę i wybierający jedną z 2 n linii wyjściowych Przykład: dekoder 2 na D D D2 D3 rchitektura systemów komputerowych Cezary olek 26 3
Multiplekser Układ o 2 n wejściach danych, jednym wyjściu danych i n wejściach sterujących, umoŝliwiających wybieranie jednego z wejść. Sygnał z wybranego wejścia kierowany jest na wyjście Multiplekser na rchitektura systemów komputerowych Cezary olek 27 Multiplekser - szyna Połączenie kilku multiplekserów pozwala na multipleksowanie szyn danych Przykład: multiplekser dla dwóch szyn -bitowych Multiplekser na dla szyny -bitowej ( multipleksery -wejściowe) Multiplekser na dla szyny 8-bitowej (8 multiplekserów -wejściowych) rchitektura systemów komputerowych Cezary olek 28
Demultiplekser Układ jednym wejściu danych, 2 n wyjściach danych i n wejściach sterujących, umoŝliwiających wybieranie jednego z wyjść. Sygnał wejściowy kierowany jest na wybrane wyjście Konstrukcja demultipleksera podobna jest do konstrukcji dekodera rchitektura systemów komputerowych Cezary olek 29 Multiplekser/demultiplekser przykład zastosowania Układ multiplekser/demultiplekser moŝna wykorzystać do redukcji rozmiaru szyny przy przesyłaniu danych R R MUX S DEMUX Układ sterowania wyświetlaczem 7-segmentowym 6 linii sterujących R R R2 R3 MUX DEKODER DEMUX zamiast 6 CLK CNT rchitektura systemów komputerowych Cezary olek 3 5
Magistrala dostęp za pomocą multipleksera W większości typów układów cyfrowych wyjścia bramek nie mogą być ze sobą łączone Układy multiplekserów znajdują zastosowanie przy tworzeniu magistral Dostęp do odczytu danych z magistrali mają wszystkie odbiorniki Prawo do wystawiania danych na magistrali ma w danej chwili tylko jedno źródło I I2 MUX I I2 S O O O2 O2 Schemat uproszczony Schemat symboliczny W praktyce, w obecnych systemach komputerowych magistralę realizuje się w oparciu o bramki trójstanowe. rchitektura systemów komputerowych Cezary olek 3 Komparator Układ porównujący dwie liczby binarne Realizacja operatorów: =, <, > MoŜliwa implementacja dla liczb ujemnych (M, U, U2) Prosty komparator -bitowy rchitektura systemów komputerowych Cezary olek 32 6
Pełny komparator -bitowy (NK) układ 785 rchitektura systemów komputerowych Cezary olek 33 Układ przesuwający Dane wyjściowe stanowią wynik przesunięcia danych wejściowych o jeden bit w lewo bądź prawo Często element LU lub cecha rejestru (wtedy konstrukcja jest odmienna) 8-bitowy układ przesuwający gdy C=: przesunięcie w prawo, gdy C=: w prawo rchitektura systemów komputerowych Cezary olek 3 7
Układy separujące - bufor W przypadku duŝego obciąŝenia bramek konieczne jest stosowanie układów buforujących, zmniejszających obciąŝenie i wzmacniających sygnał Rolą wzmacniaczy (buforów) jest takŝe usztywnienie poziomów logicznych Nieodwracający układ buforujący: Implementacja w technologii CMOS: rchitektura systemów komputerowych Cezary olek 35 Układy separujące - bramka transmisyjna Pierwotnie uŝywane w układach analogowych oraz hybrydowych, obecnie bardzo powszechnie stosowane w układach czysto cyfrowych W uproszczeniu moŝe być traktowana jak włącznik zwierający/rozwierający obwód a en= y Gdy sygnał en=, bramka znajduje się w stanie wysokiej impedancji Gdy en=, bramka przenosi sygnał dwukierunkowo en a x x y x a en= y Symbol: Realizacja CMOS Układ nie pracuje zgodnie z załoŝeniami algebry oole a rchitektura systemów komputerowych Cezary olek 36 8
Układy separujące bramka trójstanowa ramki trójstanowe są układami separującymi mogącymi znajdować się w stanie wysokiej impedancji (wyjście) W odróŝnieniu od bramek transmisyjnych są układami czysto cyfrowymi. Sygnały wyjściowe:,, Schemat zastępczy: OE= OE Symbol: OE= ramki trójstanowe są powszechnie stosowane do organizacji wyjść na szynę dzieloną (magistralę) Realizacja CMOS rchitektura systemów komputerowych Cezary olek 37 Typy bramek trójstanowych OE OE ufor trójstanowy aktywowany poziomem wysokim ufor trójstanowy aktywowany poziomem niskim OE OE Inwerter trójstanowy aktywowany poziomem wysokim Inwerter trójstanowy aktywowany poziomem niskim rchitektura systemów komputerowych Cezary olek 38 9
ramki trójstanowe - multiplekser Wyjścia bramek trójstanowych moŝna ze sobą łączyć pod warunkiem, Ŝe tylko jedna z nich będzie w stanie aktywnym w danej chwili Multiplekser 2 na : Multiplekser na : rchitektura systemów komputerowych Cezary olek 39 Szyna dzielona realizacja za pomocą bramek 3S Najpowszechniej stosowane rozwiązanie przy realizacji magistrali MGISTRL, C, D C D Układ sterujący Układ sterujący, C, D, C, D rchitektura systemów komputerowych Cezary olek 2
Koniec rchitektura systemów komputerowych Cezary olek 2