1 plus 1
Transkrypt
1 plus 1
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 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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 Architektura komputerów, część 3 2 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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 AND A B A B 0 0 0 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" Architektura komputerów, część 3 3 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego OR A B A+ B 0 0 0 0 1 1 1 0 1 1 1 1 "1" gdy przynajmniej albo A, albo B jest "1" NOT A A' 0 1 1 0 A' jest uzupełnieniem A "0" gdy zarówno A, jak i B są "0" Architektura komputerów, część 3 4 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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 Architektura komputerów, część 3 5 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tablice przejść (prawdy) – Truth Tables • Przy rozwiązywaniu zagadnień logicznych, nawet przed przekształceniami, możemy rozpatrywać wszystkie kombinacje wartości zmiennych (zawsze 2n kombinacji dla n zmiennych) w tabeli • Przykład: Z = A B’ + A’ C + A’ B’ C’ 23 kombinacji (czyli 8) mamy 3 zmienne; Architektura komputerów, część 3 6 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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 Architektura komputerów, część 3 7 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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) Architektura komputerów, część 3 8 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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) Architektura komputerów, część 3 9 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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ść) Architektura komputerów, część 3 10 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Twierdzenia, z których wygodnie korzystać przy przekształceniach • • • • • X+X=X X+1=1 X + (XY) = X X + X’Y = X + Y (X+Y)’ = X’ . Y’ X.X=X X .0=0 X . (X+Y) = X X . (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 Architektura komputerów, część 3 11 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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 Architektura komputerów, część 3 12 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Oznaczenia elementów logicznych Architektura komputerów, część 3 13 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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ą Architektura komputerów, część 3 14 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Minimalizacja wyrażeń Boole’a • Działania algebraiczne • Tablice prawdy • Wykresy Venn’a, np.: A B AB’ AB A’B • Mapy (tablice) Karnaugha (poćwiczymy na zajęciach praktycznych) Architektura komputerów, część 3 15 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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ść Architektura komputerów, część 3 16 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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) Logiczne „1” Logiczne „0” Logika dodatnia H L Logika ujemna 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 Architektura komputerów, część 3 17 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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 X’ 1 0 opóźnienie propagacji 1 0 czas czas wzrostu (od 10% do 90% wartości) czas spadku (od 90% do 10% wartości Architektura komputerów, część 3 18 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Przykład Schemat - bramki z opóźnieniami Zakładamy: T3> (T1 + T2) Wykres czasowy Hazard – nie znamy odpowiedzi Architektura komputerów, część 3 19 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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 2n 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 Architektura komputerów, część 3 20 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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 Architektura komputerów, część 3 21 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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. Architektura komputerów, część 3 22 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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 … Architektura komputerów, część 3 23 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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) Architektura komputerów, część 3 24 KONIEC CZĘŚCI TRZECIEJ Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Dr inż. Małgorzata Langer Architektura komputerów „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