Strona główna Elektronika Sumator 8-bitowy

➕ Sumator 8-bitowy

8-bitowy sumator kaskadowy z interaktywnymi przełącznikami bitów. Pokazuje propagację przeniesienia przez wszystkie 8 stopni pełnego sumatora. Wynik w postaci binarnej, szesnastkowej i dziesiętnej.

Elektronika3DŁatwy60 FPS
8bit-adder ↗ Otwórz osobno
Interfejs samej symulacji jest w języku angielskim.

Podobne symulacje

O tej symulacji

Interaktywna wizualizacja 8-bitowego sumatora kaskadowego (ripple-carry) — podstawowego elementu składowego jednostki arytmetyczno-logicznej (ALU) każdego procesora. Przełączaj bity, obserwuj propagację przeniesienia i zobacz na żywo wyniki w postaci binarnej, szesnastkowej i dziesiętnej.

🔬 Co przedstawia

Jak pełny sumator oblicza sumę i przeniesienie wyjściowe na podstawie dwóch bitów wejściowych i przeniesienia wejściowego, a następnie łączy osiem takich stopni w łańcuch, w którym każde przeniesienie propaguje się do kolejnego stopnia. Ścieżka krytyczna przez łańcuch przeniesień decyduje o maksymalnej częstotliwości taktowania sumatora.

🎮 Jak korzystać

Kliknij poszczególne bity liczb A i B, aby przełączać je między 0 a 1. Obserwuj, jak łańcuch przeniesień rozbłyskuje przez wszystkie 8 stopni. Odczytaj wynik końcowy w postaci binarnej, szesnastkowej i dziesiętnej poniżej układu.

💡 Czy wiesz, że?

Sumator kaskadowy jest najprostszą konstrukcją sumatora binarnego, ale jego propagacja przeniesienia o złożoności O(n) ogranicza szybkość działania. Współczesne procesory wykorzystują sumatory z wyprzedzeniem przeniesienia (carry-lookahead) lub sumatory Kogge-Stone'a, które obliczają wszystkie przeniesienia w czasie O(log n).

Najczęściej zadawane pytania

Czym jest sumator kaskadowy (ripple-carry adder)?

Sumator kaskadowy to układ cyfrowy dodający dwie liczby binarne poprzez połączenie łańcucha pełnych sumatorów, po jednym na każdy bit. Przeniesienie generowane przez każdy stopień trafia do następnego, dzięki czemu sygnał przeniesienia propaguje się wzdłuż łańcucha od bitu najmniej znaczącego do najbardziej znaczącego. Ta symulacja wykorzystuje osiem takich stopni do dodawania dwóch liczb 8-bitowych.

Jaka jest różnica między półsumatorem a pełnym sumatorem?

Półsumator dodaje jedynie dwa bity wejściowe i wytwarza sumę oraz przeniesienie, ale nie potrafi przyjąć przeniesienia wejściowego. Pełny sumator dodaje trzy bity — dwa argumenty plus przeniesienie wejściowe — co pozwala łączyć kolejne stopnie w łańcuch. Ten sumator zbudowany jest w całości z pełnych sumatorów, dzięki czemu przeniesienia mogą się propagować.

Jak działa pojedynczy stopień pełnego sumatora?

Każdy stopień oblicza bit sumy jako funkcję EXCLUSIVE-OR (XOR) dwóch bitów wejściowych i przeniesienia wejściowego. Przeniesienie wyjściowe wynosi 1, gdy co najmniej dwa z trzech wejść mają wartość 1, zgodnie z regułą większości. To przeniesienie wyjściowe staje się przeniesieniem wejściowym dla kolejnego bitu.

Do czego służą elementy sterujące na tej stronie?

Panele Wejście A i Wejście B pokazują po osiem przycisków bitowych, od bitu 7 do bitu 0; kliknięcie przełącza dany bit między 0 a 1. Panel Suma pokazuje wynik w postaci binarnej, dziesiętnej i szesnastkowej, a także wskaźnik przepełnienia. Przycisk Reset zeruje obie liczby, a przycisk Random wypełnia je losowymi bitami.

Dlaczego wynik binarny pokazany jest na 9 bitach?

Dodanie dwóch liczb 8-bitowych może dać wartość większą niż 255, czyli maksimum, jakie mieści rejestr 8-bitowy. Dodatkowy, dziewiąty bit przechowuje ostateczne przeniesienie wychodzące z bitu 7. Ponieważ każdy argument może osiągnąć 255, największa możliwa suma wynosi 510, co wymaga dziewięciu bitów do pełnego zapisu.

Co oznacza tutaj flaga przepełnienia?

Flaga przepełnienia pokazuje przeniesienie wychodzące z najbardziej znaczącego bitu, oznaczone jako C8. Gdy suma bez znaku przekracza 255, flaga przyjmuje wartość Tak, co oznacza, że wynik nie mieści się już w 8 bitach. W prawdziwym procesorze ten bit przeniesienia jest przechowywany w rejestrze stanu i wykorzystywany do arytmetyki wielobajtowej oraz porównań.

Czy to dokładny model tego, jak procesor dodaje liczby?

Tak, logika jest wierna oryginałowi: implementuje rzeczywiste równania boolowskie pełnego sumatora oraz łańcuch przeniesień od lewej do prawej, dokładnie tak jak sprzętowy sumator kaskadowy. Głównym uproszczeniem jest kwestia czasu — animacja rozbłyskuje ścieżkę przeniesienia dla przejrzystości, zamiast odwzorowywać rzeczywiste opóźnienia propagacji bramek mierzone w nanosekundach.

Dlaczego sumator kaskadowy uznawany jest za wolny?

Ponieważ każdy stopień musi czekać na przeniesienie z poprzedniego stopnia, opóźnienie w najgorszym przypadku rośnie liniowo wraz z liczbą bitów, dając czas propagacji rzędu n. Dla szerokich słów ta ścieżka krytyczna przez łańcuch przeniesień ogranicza maksymalną częstotliwość taktowania układu.

Jakie istnieją szybsze konstrukcje sumatorów?

Sumatory z wyprzedzeniem przeniesienia (carry-lookahead) obliczają przeniesienia równolegle na podstawie sygnałów generowania i propagacji, uzyskując wszystkie przeniesienia w czasie w przybliżeniu logarytmicznym. Inne szybkie konstrukcje to sumatory carry-select, carry-save oraz sumatory prefiksowe, takie jak Kogge-Stone, które w zamian za dodatkową logikę oferują krótsze opóźnienie. Współczesne procesory korzystają z nich zamiast prostego sumatora kaskadowego.

Jak to się ma do odejmowania?

Komputery odejmują, dodając uzupełnienie do dwóch (U2) drugiego argumentu: neguje się jego bity i dodaje 1. Ten sam sprzęt sumatora obsługuje odejmowanie po zanegowaniu wejścia, dlatego pojedynczy sumator kaskadowy, w połączeniu z negatorami i przeniesieniem wejściowym, potrafi wykonywać zarówno dodawanie, jak i odejmowanie w ALU.