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