Badanie jednostki arytmetyczno-logicznej.
Cel ćwiczenia.
Celem ćwiczenia jest zapoznanie się z działaniem i możliwościami wykorzystania jednostki arytmetyczno-logicznej.
Wiadomości teoretyczne.
Jednostka arytmetyczno-logicznej należy do grupy uniwersalnych układów arytmetycznych. Przykładem takiego rozwiązania jest układ 74181 (rys 1).
Rys 1.Jednostka arytmetyczno-logiczna: a) symbol graficzny stosowany w systemach mikroprocesorowych b) symbol graficzny układu c) topologia wyprowadzeń
Układ posiada:
osiem wejść danych A0-A3 i B0-B3 cztery wyjścia wyniku F0-F3
cztery wejścia selekcjonujące S0-S3 wejście przeniesienia C0
wyjście przeniesienia C4
wyjście przeniesienia propagowanego P wyjście przeniesienia generowanego G wyjście komparatora A=B
wejście sterujące M
M=1 układ działa jako generator funkcji logicznych
M=0 układ spełnia 16 działań arytmetycznych (zależnych od S0-S3) Funkcje logiczne P,G,C4 mają postać:
G=A3 B3+(A3+B3) A2B2+(A3+B3) (A2+B2) A1B1+ (A3+B3) (A2+B2) (A1+B1) A0B0
C4=G+C0P
Zestawienie operacji wykonywanych przez układ
Tabela1. Zestawienie operacji wykonywanych przez układ
Wejścia sterujące
Funkcja
logiczna
Funkcja arytmetyczna
M=L
S3 S2 S1 S0 M=1 C0=0 C0=1 L L L L A A F(d la C 0= H ) P L U S 1 L L L H AB A+B L L H L A+B A+B L L H H L -1 L H L L AB APLUS(AB) L H L H B (A+B)PLUS(AB ) L H H L AB A-B-1 L H H H AB AB-1 H L L L A+B APLUS(AB) H L L H AB APLUSB H L H L B (A+B )PLUS(AB) H L H H AB AB-1 H H L L 1 APLUSA H H L H A+B (A+B)PLUSA H H H L A+B (A+B)PLUSA H H H H A A-1Oznaczenia:
Operacje logiczne + suma, iloczyn suma modulo 2 równoważność(Ex-NOR) Operacje arytmetyczne PLUS suma ‘-‘ różnica
Pytania kontrolne:
Wykonaj zamianę liczby dziesiętnej na liczbę binarną a następnie na U1 i U2. W jaki sposób są wykonywane operacje logiczne na słowach binarnych? Jaki wpływ na wynik tych operacji ma stan wejścia CO ?
W jakim kodzie liczy jednostka arytmetyczno-logiczna?
W jaki sposób poznajemy, czy wynik jest dodatni czy ujemny?
Dlaczego w operacjach logicznych nie uwzględnia się informacji przeniesień?
Przebieg ćwiczenia
Przy pomocy programu Electronics Workbench umieścić na ekranie schemat jednostki ALU 74181. Wejścia A i B połączyć z generatorem słów, wejścia pomocnicze przez przełącznik z
potencjałem 5V lub 0V, wyjścia F i wyjścia pomocnicze do oscyloskopu cyfrowego, który służy do wizualizacji wyników. Zamiast oscyloskopu można podłączyć też lampki świecące. Wykonać następujące czynności:
Badanie funkcji logicznych realizowanych przez układ
Dla wybranych danych sprawdzić wszystkie funkcje logiczne realizowane przez układ. Wyniki badań zamieścić w tablicy. Zaobserwować, czy na wynik ma wpływ stan wejścia CO.
Wykonać obliczenia i wynik obliczeń zapisać w tej samej tablicy co wyniki pomiarów.
Badanie funkcji arytmetyczno-logicznych
Dla wybranych danych sprawdzić wszystkie funkcje arytmetyczno-logiczne realizowane przez układ. Wyniki badań zamieścić w tablicy. Zaobserwować, w jaki sposób wpływa na wynik stan wejścia CO.
Wykonać obliczenia i wyniki obliczeń zapisać w tej samej tablicy co wyniki pomiarów. Określić wpływ stanu wejścia CO na wynik. Określić informację uzyskiwaną na wyjściu C4.
Dodawanie arytmetyczne
Ustawić wejścia sterujące tak, aby realizowaną funkcją była suma arytmetyczna danych wejściowych A i B. Zbadać realizację dodawania dla różnych wartości liczb A i B. Zaobserwować stan wyjścia C4, gdy wynik sumowania jest czterobitowy i gdy jest pięciobitowy. Zaobserwować wpływ wejścia CO na wynik dodawania.
Wykonać odejmowanie poprzez dodanie liczby ujemnej (w zapisie U2). Odjemną należy przekształcić na zapis U2 lub użyć do tego celu komplementera. Ponieważ w tym zapisie działania powinny być wykonywane na wszystkich bitach (łącznie z bitem znaku), więc pomiary przeprowadzić dla liczb trzybitowych, rezerwując najstarszy bit na bit znaku.
Odejmowanie
Ustawić wejścia sterujące tak, aby realizowaną funkcją była różnica arytmetyczna danych wejściowych A i B. Zbadać realizację odejmowania dla różnych wartości liczb. Zaobserwować stan wyjścia C4, gdy wynik ma różny znak. Zaobserwować wpływ wejścia C0 na wynik odejmowania.
Porównywanie liczb
Dobrać tak stany wejść sterujących aby jednostkę arytmetyczno-logiczną można było wykorzystać jako komparator. Określić stany wyjść A=B i C4 odpowiadające poszczególnym relacjom liczb wejściowych A i B.
Działanie na liczbach w kodzie U2 i U10
Zbudować transkoder realizujący zamianę zapisu ZM na kod U2 i U10
Odejmowanie
Ustawić wejścia sterujące tak, aby realizowaną funkcją była różnica arytmetyczna danych wejściowych A i B. Zbadać realizację odejmowania dla różnych wartości liczb A i B.
Zaobserwować stan wyjścia C4, gdy wynik odejmowania jest i gdy nie jest liczbą dodatnią. Zaobserwować wpływ wejścia CO na wynik odejmowania.
We wnioskach z pomiarów odpowiedzieć na pytania: Jaki jest wpływ wejścia CO oraz w jakim kodzie liczy jednostka arytmetyczno-logiczna? W jaki sposób poznajemy, czy wynik jest dodatni czy ujemny?
Porównywanie liczb
Dobrać tak stany wejść sterujących, aby jednostkę arytmetyczno-logiczną można było wykorzystać jako komparator. Określić stany wyjść A = B i C4 odpowiadające poszczególnym relacjom pomiędzy liczbami wejściowymi A i B. Wyniki obserwacji zanotować w tablicy.
Działanie na liczbach ośmiobitowych
Dane są dwie liczby ośmiobitowe. Zbudować układ realizujący operacje logiczne i arytmetyczne na tych liczbach. Sprawdzić, czy w operacjach logicznych konieczne jest łączenie ze sobą wyjścia C4 z wejściem CO kolejnej jednostki arytmetyczno-logicznej.
Uwaga. Operacje na liczbach ośmiobitowych przy wykorzystaniu arytmometru czterobitowego przeprowadza się łącząc ze sobą dwie jednostki arytmetyczno-logiczne w jednostkę ośmiobitową. W przypadku braku drugiej jednostki można to zadanie zrealizować metodą krokową, tzn. dzieląc liczbę na dwie części: cztery mniej znaczące bity i cztery bardziej znaczące bity. Najpierw wykonuje się działa nia na mniej znaczących bitach, zapisuje się wynik (wraz z przeniesieniem C4), a potem na starszych bitach, podając na wejście C0 zanotowane wcześniej przeniesienie C4. W operacjach logicznych bity przeniesień nie biorą udziału i można je pominąć.
Działanie na liczbach w kodzie U2
Zbudować, korzystając z ALU, transkoder realizujący zamianę zapisu ZM na kod U2. Wykonać dodawanie i odejmowanie liczb zapisanych w kodzie U2.
Sprawdzanie wejść P,G,C4
Dla kilku kombinacji wejściowych sprawdzić realizowane funkcje logiczne na wyjściach P, G, C4.
Literatura:
1. Kalisz J.: Podstawy elektroniki cyfrowej, WKŁ , Warszawa 1998.
2. Lisiecka-Frąszczak J: Synteza układów cyfrowych, Wydawnictwa Politechniki Poznańskiej , Poznań 2000. 3. Majewski W.: Układy logiczne, WNT, Warszawa 1976
4. Misiurewicz P, H. Grzybek: Półprzewodnikowe układy logiczne, WNT, Warszawa 1975, str. 83-177. 5. Pieńkos J, Turczyński J : Układy scalone TTL w systemach cyfrowych, WKŁ, Warszawa 1980. 6. Traczyk W. :Układy cyfrowe. Podstawy teoretyczne i metody syntezy, WNT Warszawa 1986.
7. Zieliński C. :Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003. 8. Gryś S.: Arytmetyka komputerów – w praktyce, PWN, Warszawa, 2007.