Wyniki pomiarów. Dyskusja wyników pomiarów.
Korzystając z tabeli działania układu ALU sprawdziliśmy działanie układu dla wybranych funkcji logicznych i arytmetycznych .
TABELA DZIAŁANIA UKŁADU ALU
Wejścia selekcjonujące
S3 S0 S1 S0 |
Funkcja logiczna
MC=1 |
Funkcja arytmetyczna
MC=0, CO=1 |
|||
L |
L |
L |
L |
|
|
L |
L |
L |
H |
|
|
L |
L |
H |
L |
|
|
L |
L |
H |
H |
|
|
L |
H |
L |
L |
|
|
L |
H |
L |
H |
|
|
L |
H |
H |
L |
|
|
L |
H |
H |
H |
|
|
H |
L |
L |
L |
|
|
H |
L |
L |
H |
|
|
H |
L |
H |
L |
|
|
H |
L |
H |
H |
|
|
H |
H |
L |
L |
|
|
H |
H |
L |
H |
|
|
H |
H |
H |
L |
|
|
H |
H |
H |
H |
|
|
1. Sprawdziliśmy następujące funkcje logiczne i otrzymaliśmy podane poniżej w tabeli wyniki:
Funkcja |
A |
B |
Wynik |
F=A |
01 |
-- |
01 |
|
01 |
-- |
10 |
|
0101 |
0011 |
1110 |
F=0 |
0101 |
0011 |
0000 |
|
0101 |
0011 |
0001 |
|
0101 |
0011 |
0110 |
|
0101 |
0011 |
1011 |
|
-- |
01 |
10 |
dla funkcji logicznej F=A otrzymany przez nas wynik jest prawidłowy co widać w tabeli na pierwszy rzut oka.
funkcja logiczna
( jest to funkcja zwana negatorem i reprezentowana jest ona przez bramkę logiczną NOT ) działa także prawidłowo, gdyż zgodnie z przewidywaniami pozamieniała ona zera na jedynki i jedynki na zera.
funkcja
( jest to funkcja NOT połączona z funkcją AND, czyli zanegowany AND. Reprezentowana jest ona przez funkcję logiczną NAND ) także zadziałała prawidłowo. Jest to pokazane w poniższej tabeli:
A |
0101 |
B |
0011 |
|
0001 |
|
1110 |
Nasz wynik |
1110 |
Jak widać z tej tabeli wynik przez nas uzyskany jest prawidłowy.
funkcja F=0 dała prawidłowy wynik, gdyż dla każdej kombinacji zer i jedynek wynikiem jej działania było zero.
funkcja logiczna
( jest to funkcja AND ) zadziałała prawidłowo. Funkcja ta daje w wyniku jedynkę, gdy na obu wejściach są jedynki. Dla pozostałych kombinacji wynikiem jej działania jest zero. Uzyskany przez nas wynik jest prawidłowy.
funkcja
( jest to funkcja XOR ) daje w wyniku jedynkę, gdy na wejściach ma podane różne wartości ( 0 i1 lub 1 i 0 ). Dla pozostałych stanów wejściowych daje ona w wyniku zero. Jak widać uzyskaliśmy prawidłowy wynik.
dla funkcji
wyniki przez nas uzyskane są również prawidłowe co pokaże w poniższej tabelce:
A |
0101 |
B |
0011 |
|
1010 |
|
1011 |
Nasz wynik |
1011 |
ostatnia ze zbadanych przez nas funkcji logicznych, czyli
działa prawidłowo, gdyż poprawnie zanegowała elementy wyrazu B.
2. Sprawdziliśmy następujące funkcje arytmetyczne i otrzymaliśmy następujące wyniki:
Funkcja
|
A |
B |
Wynik |
C0 |
C4 |
F=A |
0000 |
---- |
0000 |
1 |
1 |
|
1100 |
---- |
1100 |
1 |
1 |
|
1111 |
---- |
1111 |
1 |
1 |
F=A+B |
0000 |
0000 |
0000 |
1 |
1 |
|
0101 |
0101 |
1010 |
1 |
1 |
|
1111 |
1111 |
1110 |
1 |
0 |
F=A-B-1 |
0000 |
0000 |
1111 |
1 |
1 |
|
0101 |
0011 |
0001 |
1 |
0 |
|
1111 |
1111 |
1111 |
1 |
1 |
F= |
0000 |
0000 |
1111 |
1 |
1 |
|
0101 |
0111 |
0010 |
1 |
0 |
|
1111 |
1111 |
1110 |
1 |
0 |
F=A+A |
0000 |
0000 |
0000 |
1 |
1 |
|
1001 |
0011 |
0010 |
1 |
0 |
|
1101 |
1000 |
1010 |
1 |
0 |
|
1111 |
1111 |
1110 |
1 |
0 |
F=A+ |
0000 |
0000 |
0000 |
1 |
1 |
|
1010 |
0011 |
1100 |
1 |
1 |
|
1111 |
1111 |
1110 |
1 |
0 |
F=-1 |
0000 |
0000 |
1111 |
1 |
1 |
|
1010 |
1010 |
1111 |
1 |
1 |
|
1111 |
1111 |
1111 |
1 |
1 |
Ponieważ funkcje arytmetyczne układ przez nas badany wykonywał w zapisie z uzupełnieniem do dwóch, więc przydatna będzie poniższa tabela, która pokazuje jakiej liczbie dziesiętnej jest przyporządkowana liczba binarna w kodzie z uzupełnieniem do dwóch:
Liczba całkowita |
Z uzupełnieniem do dwóch |
+7 |
0111 |
+6 |
0110 |
+5 |
0101 |
+4 |
0100 |
+3 |
0011 |
+2 |
0010 |
+1 |
0001 |
0 |
0000 |
-1 |
1111 |
-2 |
1110 |
-3 |
1101 |
-4 |
1100 |
-5 |
1011 |
-6 |
1010 |
-7 |
1001 |
-8 |
1000 |
Uwaga: Wartość C4 w naszej tabeli funkcji arytmetycznych jest to bit przeniesienia na kość starszą. W naszym doświadczeniu bit ten miał wartość 0 gdy następowało przeniesienie na kość starszą, a wartość 1 w przeciwnym przypadku.
dla funkcji arytmetycznej F=A wynik jest prawidłowy co widać od razu. Liczba binarna reprezentowana przez A jest identyczna z otrzymanym przez nas wynikiem.
funkcja arytmetyczna F=A+B także działa poprawnie co widać w poniżej:
A C4 0000 C4 0101 C4 1111
B +0000 +0101 +1111
A+B 1 0000 1 1010 0 1110
Nasz wynik 1 0000 1 1010 0 1110
sprawdzam funkcję arytmetyczną F=A-B-1:
A C4 0000 C4 0101 C4 1111
B +0000 +1101 +0001
-1 +1111 +1111 +1111
F=A-B-1 1 1111 0 0001 0 1111
Nasz wynik 1 1111 0 0001 0 1111
Funkcja ta jak widać działała poprawnie dla wybranych przez nas wartości A i B, gdyż wynik przez nas uzyskany jest zgodny z obliczeniami.
dla funkcji arytmetycznej F=
wyniki przez nas otrzymane zgadzają się z wynikami przeprowadzonych przez nas poniżej obliczeń, co widać poniżej:
A C4 0000 C4 0101 C4 1111
B 0000 0111 1111
1111 1000 0000
1111 1101 1111
0000 0101 1111
1 1111 0 0010 0 1110
Nasz wynik 1 1111 0 0010 0 1110
sprawdzam funkcję F=A+A:
A C4 0000 C4 1001 C4 1101 C4 1111
B 0000 0011 1000 1111
F=A+A 1 0000 0 0010 0 1010 0 1110
Nasz wynik 1 0000 0 0010 0 1010 0 1110
Wynik uzyskany przez nas zgadza się z obliczeniami, a więc funkcja ta działa prawidłowo.
funkcja arytmetyczna F=A+
także działa poprawnie co widać w poniższych obliczeniach:
A C4 0000 C4 1010 C4 1111
B 0000 0011 1111
0000 0010 1111
F=A+
1 0000 1 1100 0 1110
Nasz wynik 1 0000 1 1100 0 1110
funkcja arytmetyczna F=-1 również działa poprawnie gdyż niezależnie od podanych przez nas wartości A i B wynikiem był ciąg binarny 1111, czyli -1 w kodzie U2.