Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja. Studia I stopnia Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Innowacyjna dydaktyka bez ograniczeń zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Zadanie nr 30 Dostosowanie kierunku Elektronika i Telekomunikacja do potrzeb rynku pracy i gospodarki opartej na wiedzy 90-924 Łódź, ul. Żeromskiego 116, tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl
Kombinatoryka Podstawy techniki cyfrowej Dodawanie: 0 plus 0 = 0 0 plus 1 = 1 1 plus 0 = 1 1 plus 1 =? 10 tzn. SUMA jest 0 a bit przeniesienia (CARRY) 1 Jeżeli wykonujemy operację A plus B, to bit przeniesienia = 1 TYLKO WTEDY, gdy i A, i B są = 1 SUMA = 1 gdy jeden z bitów = 1 a drugi =0 Jeżeli zaprzeczenie A (not A) oznaczymy jako A oraz analogicznie (not B) jako B używając funkcji logicznych (nie arytmetycznych) można zapisać: SUMA = (A. B) + (A. B ) oraz CARRY = A. B 2
SUMA = (A. B) + (A. B ) oraz CARRY = A. B + oznacza operację OR (lub) nie dodawanie arytmetyczne. oznacza operację AND (i) oznacza NOT (operację uzupełnienia, zaprzeczenia) Do zapisu operacji NOT służy również postać: Ā Wartości podstawowych operacji A B A B 0 0 0 AND 0 1 0 1 0 0 1 1 1 "0" gdy przynajmniej albo A, albo B jest "0" "1" gdy zarówno A, jak i B są "1" 3
A B A+ B 0 0 0 OR 0 1 1 1 0 1 1 1 1 "1" gdy przynajmniej albo A, albo B jest "1" "0" gdy zarówno A, jak i B są "0" A A' NOT 0 1 A' jest uzupełnieniem A 1 0 4
Rozwiązywanie wyrażeń logicznych Wpierw rozwiąż wyrażenia w nawiasach Potem operacje NOT Potem operacje AND Na końcu operacje OR Przy obliczeniach staramy się doprowadzić wyrażenie do postaci POS (iloczyn sum) lub SOP (suma iloczynów) Rozwiąż funkcję Z = A B C + (A B) (B + C ) dla: A=0, B=1, C=1 5
Tablice przejść (prawdy) Truth Tables Przy rozwiązywaniu zagadnień logicznych, nawet przed przekształceniami, możemy rozpatrywać wszystkie kombinacje wartości zmiennych (zawsze 2 n kombinacji dla n zmiennych) w tabeli Przykład: Z = A B + A C + A B C mamy 3 zmienne; 2 3 kombinacji (czyli 8) 6
Z = A B + A C + A B C A B C A' B' AB' AC' A'B'C Z 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 7
Przekształcenie odwrotne Mając tablicę prawdy dla każdego rzędu, czyli każdej wartości funkcji, możemy zapisać równanie w postaci sumy lub iloczynu a następnie podać POS lub SOP dla całego układu, normalizując (minimalizując) jego postać przy SOP opuszczamy powtarzające się składniki, przy POS powtarzające się czynniki Postać kanoniczna W postaci kanonicznej SOP każda zmienna pojawia się w każdym składniku albo w postaci prostej, albo jako zaprzeczenie (ang. nazwa: maxterm) np. P(A,B,C)=A B C +AB C +AB C jest postacią kanoniczną; Q(A,B,C)=A B +AB C+A C nie (w niektórych składnikach w iloczynach nie występują wszystkie 3 zmienne), Analogiczna definicja dla POS (ang. nazwa: minterm) 8
Zapis skrócony maxterm ( m) i minterm ( M) Składniki w SOP lub czynniki w POS zapisujemy w formie liczb dziesiętnych Zapis Q(A,B,C,D)= m(0,1,7,11) oznacza: Q(A,B,C,D) = A B C D + A B C D + A BCD + AB CD P(A,B,C)= M(1,5,7) = (A +B +C). (A+B +C). (A+B+B) 9
Algebra BOOLE a George Boole wprowadził notację logiczną (prawda fałsz) w 1854 roku Definicja: Algebra Boole a jest zamkniętym systemem algebraicznym, zawierającym zbiór dwóch lub więcej elementów i dwa operatory logiczne ( + OR, alternatywa, suma logiczna, dysjunkcja) i (. AND, iloczyn logiczny, koniunkcja), zaprzeczenie (negacja) oraz spełniającym następujące postulaty: X + 0 = X oraz X. 1 = X (istnienie wartości 0 i 1) X + Y = Y + X oraz X. Y = Y. X (przemienność) X + (Y + Z) = (X + Y) + Z oraz X. (Y. Z) = (X. Y). Z (łączność) X+(Y. Z) = (X+Y). (X+Z) oraz X. (Y+Z)=X. Y+X. Z (rozdzielność) X+X = 1 oraz X. X = 0 (komplementarność) 10
Twierdzenia, z których wygodnie korzystać przy przekształceniach X + X = X X. X = X X + 1 = 1 X. 0 = 0 X + (XY) = X X. (X+Y) = X X + X Y = X + Y X. (X + Y) = X. Y (X+Y) = X. Y (X. Y) = X + Y Prawa De Morgana Zaprzeczenie sumy jest równe iloczynowi zaprzeczeń wszystkich składników tej sumy Zaprzeczenie iloczynu jest równe sumie zaprzeczeń wszystkich czynników tego iloczynu Zaprzeczenie sumy NOR; iloczynu - NAND 11
Systemy funkcjonalnie pełne Każdą funkcję logiczną można przedstawić za pomocą argumentów i 3 operacji logicznych: suma, iloczyn, negacja (jest to podstawowy system funkcjonalnie pełny) ale technicznie dużo łatwiej stosować tylko jedną operację, która umożliwia przedstawienie dowolnej z 3 funkcji logicznych. Systemem funkcjonalnie pełnym jest funkcja NOR Systemem funkcjonalnie pełnym jest funkcja NAND 12
Oznaczenia elementów logicznych 13
Układy kombinacyjne i sekwencyjne Układ kombinacyjny jest zestawem wzajemnie połączonych bramek, którego stan wyjść w dowolnej chwili jest WYŁĄCZNIE funkcją stanu wejść W TEJ SAMEJ CHWILI Układ sekwencyjny jest zestawem wzajemnie połączonych bramek, którego stan wyjść w dowolnej chwili jest funkcją stanu wejść w tej chwili ORAZ STANU POPRZEDNIEGO czyli jest to układ z pamięcią 14
Minimalizacja wyrażeń Boole a Działania algebraiczne Tablice prawdy Wykresy Venn a, np.: A AB AB A B B Mapy (tablice) Karnaugha (poćwiczymy na zajęciach praktycznych) 15
Podstawowe bloki funkcjonalne Powtarzające się, złożone funkcje logiczne nie są implementowane na schematach od podstaw czyli z bramek podstawowych, tylko zaznaczane jako typowe bloki funkcjonalne Sumator (jeżeli zaimplementowana jest operacja dodawania, to znaczy, że korzystając z tej samej sprzętowej aplikacji wykonać pozostałe działania odejmowanie, mnożenie i dzielenie) Koder i dekoder Konwerter kodu Multiplekser urządzenie przełączające wiele wejść jedno wyjście Demultiplekser - jedno wejście wiele wyjść 16
Logika dodatnia i ujemna W aplikacjach elektronicznych logiczne 0 i 1 są odwzorowywane dwoma rozróżnianymi wartościami napięcia (wynikającymi ze stanu nasycenia i odcięcia tranzystorów); wysokim (H) i niskim (L) Logika dodatnia Logika ujemna Logiczne 1 H L Logiczne 0 L H Ponieważ przypisanie logicznego znaczenia dwóm wartościom jest kwestią umowy, producenci IC opisują funkcje bramek i bloków poprzez H i L 17
Obciążenie i przebiegi czasowe Obciążalność maksymalny prąd, który może wpłynąć (lub wypłynąć) d/z wyjścia układu, który nie zmieni jej stanu logicznego W praktyce: obciążalność bramki jest to liczba bramek, których wejście można połączyć z wyjściem bramki W przebiegach czasowych uwzględniamy opóźnienie propagacji: X 1 0 X 1 0 czas spadku (od 90% do 10% wartości opóźnienie propagacji czas czas wzrostu (od 10% do 90% wartości) 18
Przykład Schemat - bramki z opóźnieniami Zakładamy: T 3 > (T 1 + T 2 ) Wykres czasowy Hazard nie znamy odpowiedzi 19
Układy sekwencyjne Układy synchroniczne zachowanie układu synchronicznego zależy od wartości sygnału w dyskretnych chwilach czasu sygnał sterujący, taktujący, określający te chwile zegar Analiza synchronicznego układu sekwencyjnego polega na określeniu zależności funkcyjnych, które istnieją pomiędzy jego wyjściami, wejściami i stanami wewnętrznymi (jeżeli np. układ zawiera n przerzutników może być w 2 n stanów). Znając stan w chwili t, powinniśmy móc określić stan w t+1 Układy asynchroniczne brak sygnału taktującego 20
Rejestry Rejestr jest urządzeniem przechowującym dane zapisane w postaci binarnej; jest to zbiór przerzutników z oddzielnym torem dla każdego bitu. Najczęściej przeprowadzaną operacją na danych zapisanych w rejestrze jest SHIFT, polegająca na przesuwaniu ich (w zależności od kierunku przesyłania odpowiada to mnożeniu lub dzieleniu przez 2) W zależności od przeznaczenia rejestry mogą mieć wejścia szeregowe lub równoległe oraz wyjścia szeregowe lub równoległe Przeniesienie n-bitowej danej z jednego rejestru do drugiego zabierze n impulsów shift przy trybie szeregowym a 1 w trybie równoległym Regułą jest, że połączenie szeregowe jest mniej kosztowne sprzętowo ale zabiera więcej czasu 21
Połączenia point-to-point lub poprzez magistralę Jeżeli w jakiejś procedurze należy dokonać wymiany danych między kilkoma rejestrami, stosowany jest jeden z dwóch systemów połączeń: POINT-TO-POINT jedna ścieżka łącząca każde dwa rejestry, które biorą udział w danej procedurze możliwe są działania równoległe; znacznie zwiększa się ilość sprzętu; każdy nowy rejestr musi zostac połączony ze wszystkimi już istniejącymi MAGISTRALA (BUS) jedna wspólna ścieżka dzielona w czasie pomiędzy poszczególnych użytkowników w danej chwili tylko jeden rejestr może użytkować magistralę; każdy nowy rejestr musi być połączony tylko do magistrali, bez zmiany innych rejestrów. 22
Język HDL (Hardware Description Language) Przenoszenie danych w i pomiędzy rejestrami to podstawowa operacja w komputerze. Notacje HDL opisują strukturę hardware oraz zachowanie systemów cyfrowych na poziomie rejestrów Najbardziej znanymi językami HDL są VHDL oraz Verilog Ogólny format transferu rejestru: Przeznaczenie Źródło np. Y X zawartość rejestru x przeniesiona do rejestru Y Inne operacje: dodawanie (+), odejmowanie (-), przesuwanie w prawo o jeden bit (SHR) i w lewo (SHL), logiczne and (v), or (^ ), negacja ( ), łączenie konkatenacja ( ) W językach HDL łańcuchy dużych liter oznaczają nazwy rejestrów, indeksy dolne numer lub zakres numerów bitów w rejestrze, w nawiasie nazywa się część zawartości w rejestrze, dwukropek ogranicza łańcuch wskazujący na funkcję, np. ADD: przecinek wskazuje na operacje równoległe a kropka kończy procedurę. Istnieje polecenie warunkowe if condition THEN. ELSE 23
Programowalne matryce logiczne PLA (Programmable Logic Arrays) układy w małej skali integracji (LSI) z wieloma bramkami, poprzez odpowiednie połączenia można uzyskać realizację żądanej funkcji logicznej Istnieje wiele realizacji sprzętowych umożliwiających programowanie prostych funkcji oraz programowanie wspomagające projektowanie GA (Gate Arrays) układy z bramkami z przygotowanymi kanałami połączeń Nie ma potrzeby projektować tylko przy pomocy bramek, można posługiwać się dodatkowymi blokami (tzw makro-komórkami). Ten rodzaj układów nazywa się FPGA (Field Programmable GAs). Na rynku istnieją układy np. Xilinx (oparte o SRAM) 24
KONIEC CZĘŚCI TRZECIEJ Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Innowacyjna dydaktyka bez ograniczeń zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Zadanie nr 30 Dostosowanie kierunku Elektronika i Telekomunikacja do potrzeb rynku pracy i gospodarki opartej na wiedzy 90-924 Łódź, ul. Żeromskiego 116, tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl