KWALIFIKACJA ELM2 + ELM5 - STYCZEŃ 2012

PYTANIE NR 38.
Układ, którego schemat przedstawiono na rysunku, ma realizować funkcję sumy arytmetycznej S=A+B W wyniku dodania dwóch liczb dwubitowych A=112 i B=112 otrzymano na wyjściu sumę S=1002. Która bramka nie działa prawidłowo?
Ilustracja przedstawia schemat logiczny układu cyfrowego, który realizuje funkcję sumy arytmetycznej dwóch liczb dwubitowych.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Dodanie 112 + 112 daje 1002, czyli na wyjściu musi pojawić się przeniesienie do trzeciego bitu oraz zera w dwóch młodszych bitach sumy.
Porównując te oczekiwane stany z przebiegiem sygnałów wynikającym z połączeń na schemacie, jedyna niespójność wskazuje na bramkę oznaczoną numerem 3.

Pełne wyjaśnienie:

Dodawanie dwóch liczb dwubitowych A=112 i B=112 należy rozumieć bitowo:

  • dla najmłodszego bitu: 1 + 1 = 0 i powstaje przeniesienie (carry) = 1,
  • dla starszego bitu: 1 + 1 + przeniesienie 1 = 1 i ponownie powstaje przeniesienie = 1.

Dlatego wynik końcowy to 1002: dwa bity sumy są równe 0, a najbardziej znaczący bit jest przeniesieniem końcowym.

W praktyce taki układ realizuje się jako sumator zbudowany z bramek, gdzie:

  • bity sumy są funkcją "różnicową" (typowo realizowaną jak XOR na odpowiednich wejściach),
  • przeniesienie jest funkcją "większościową" (typowo realizowaną z użyciem AND/OR oraz uwzględnia przeniesienie z poprzedniego bitu).

Aby wskazać uszkodzoną bramkę, wykonuje się diagnostykę logiczną: dla zadanych wejść ustala się oczekiwane stany na kolejnych węzłach (najpierw przeniesienie z młodszego bitu, potem suma starszego bitu i przeniesienie końcowe) i porównuje z tym, co musi wynikać z topologii połączeń na schemacie.

Jeżeli układ ma dać 1002, to element(y) odpowiedzialne za przeniesienia muszą doprowadzić "1" do najbardziej znaczącego wyjścia, a jednocześnie ścieżki generujące dwa młodsze bity sumy muszą dać "0". Na przedstawionym schemacie tylko bramka oznaczona numerem 3 wprowadza sprzeczność względem tych warunków (jej wyjście musiałoby przyjąć inny stan, aby wynik był 1002), podczas gdy działanie pozostałych bramek da się pogodzić z oczekiwanym przebiegiem przeniesień i sum.

Dlaczego pozostałe wskazania są błędne? Jeśli niespójność nie pojawia się na wyjściach/węzłach zależnych od danej bramki, to jej uszkodzenie nie tłumaczy jednocześnie: (1) obecności przeniesienia końcowego oraz (2) wyzerowania dwóch młodszych bitów. Typowym błędem jest też nieuwzględnienie przeniesienia między bitami: wtedy student oczekuje 102 zamiast 1002 i wskazuje niewłaściwy element.

Wskazówka egzaminacyjna: zawsze zaczynaj od ręcznego dodania binarnego i dopiero potem śledź przeniesienie od najmłodszego bitu ku wyjściu najbardziej znaczącemu.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Przeniesienie (carry) to bit, który "przechodzi" do wyższego rzędu, gdy suma w danym bicie przekracza 1. W binarnym 1+1 daje 0 oraz przeniesienie 1. W sumatorze przeniesienie z młodszego bitu wpływa na obliczenie starszego bitu.
Dodaj od najmłodszego bitu: 1+1=0 i carry=1. Następnie starszy bit: 1+1+carry(1)=3 w dziesiętnym, czyli w binarnym daje sumę 1 i carry=1. Zapisując carry jako nowy bit z lewej, otrzymujesz 100₂.
Pomyłka wynika zwykle z pominięcia przeniesienia między bitami. W 2-bitowym dodawaniu powstaje przeniesienie z pierwszego bitu i musi zostać dodane do drugiego bitu. To dodatkowe "+1" powoduje, że pojawia się trzeci bit na wyjściu.
Półsumator dodaje dwa bity (A i B) i tworzy sumę oraz przeniesienie. Sumator pełny dodaje trzy bity: A, B oraz przeniesienie wejściowe (carry-in). Dzięki temu można łączyć pełne sumatory kaskadowo i dodawać liczby wielobitowe.
W typowych realizacjach suma bitu jest funkcją typu XOR (różnica bitowa), a przeniesienie powstaje z kombinacji AND i OR (np. gdy co najmniej dwa z wejść A, B, carry-in są równe 1). Konkretna realizacja zależy od schematu.
Najpierw wyznacz oczekiwany wynik i przeniesienia dla podanych wejść. Potem przechodź po schemacie od wejść do wyjść, obliczając stany na kolejnych węzłach. Uszkodzona bramka to ta, której wyjście musiałoby mieć inny stan, aby uzyskać wymagany wynik.
Najczęściej: pomijanie przeniesienia, mylenie bitów sumy z przeniesieniem końcowym, liczenie "w głowie" bez tabeli stanów oraz zbyt szybkie wskazywanie bramki "na intuicję". Pomaga zapisanie carry na każdym etapie i śledzenie sygnałów w układzie.
Tak, co najmniej dla podstawowych bramek (AND, OR, NOT, XOR). Bez tego trudno zweryfikować, jakie stany powinny pojawić się na wyjściach bramek pośrednich. W praktyce wystarczy pamiętać sens funkcji: AND daje 1 tylko dla samych jedynek, XOR dla różnych bitów.
Podczas uruchamiania układów cyfrowych (np. modułów sterujących), w ćwiczeniach z techniki cyfrowej, a także przy testach po montażu/naprawie, gdy objawy wskazują na błąd logiki kombinacyjnej. Sumatory są też blokami ALU w prostych systemach.
Ćwicz dodawanie binarne z przeniesieniem oraz budowę sumatora z półsumatorów/pełnych sumatorów. Rozwiązuj zadania "śledzenie sygnału" na schematach: wpisuj stany 0/1 na węzłach dla danych wejść. Dobrą metodą jest też symulacja w prostym symulatorze logiki.
info

To pytanie poprawnie rozwiązuje 33% zdających egzamin. bardzo trudne

Źródła:

  • Wikipedia: "Binary number" (opis dodawania i przeniesienia) https://en.wikipedia.org/wiki/Binary_number - dostęp 2026-02-28
  • Wikipedia: "Adder (electronics)" (sumator, przeniesienie, sumatory 1-bit/pełne) https://en.wikipedia.org/wiki/Adder_(electronics) - dostęp 2026-02-28
  • Wikipedia: "Logic gate" (funkcje bramek w układach kombinacyjnych) https://en.wikipedia.org/wiki/Logic_gate - dostęp 2026-02-28

Materiały:

  • Podręczniki z techniki cyfrowej (dział: arytmetyka binarna i sumatory)
  • Karty katalogowe popularnych układów TTL/CMOS zawierających bramki i sumatory (do zrozumienia bloków funkcjonalnych)
  • Symulatory logiki cyfrowej (np. narzędzia edukacyjne do budowy sumatorów) do przećwiczenia śledzenia sygnałów

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego