Sumator
Sumator (również Addiernetz ) jest głównym składnikiem jednostki arytmetycznej z procesorem .
Sumator umożliwia dodanie dwóch wielocyfrowych liczb binarnych . Ponieważ wszystkie cztery podstawowe operacje arytmetyczne można prześledzić wstecz do dodawania , stanowi on centralny element jednostki arytmetycznej (jednostka arytmetyczno-logiczna, ALU) procesora. Podczas gdy sieć dodawania działa asynchronicznie, jednostka dodająca działa zgodnie z taktowaniem i buforuje wynik za pomocą modułów pamięci.
Dodatek można zaimplementować na różne sposoby. Najbardziej znane obwody to sumator równoległy, sumator szeregowy i sumator Von Neumanna . Wszyscy trzej używają połowy i / lub pełnych sumatorów do wykonania dodawania.
Typy obwodów
Sumator równoległy
W swojej podstawowej postaci sumator przenoszenia-tętnienia jest używany jako sieć dodająca, a przeniesienie jest połączone z przeniesieniem następnego pełnego sumatora. W najgorszym przypadku sygnał transmisji bitu musi migrować z najmniej znaczącego sumatora do najbardziej znaczącego sumatora, aby utworzyć sumę . W dużych jednostkach arytmetycznych powoduje to znaczny czas wykonywania dodawanej sieci, w wyniku czego opracowano sieci przełączające o skróconym czasie wykonywania .
- Sumatory równoległe z przekierowaniem przenoszenia ( sumator przeniesienia-pominięcia ), sumatory pełne są łączone w grupy, a logika dodawania szybko określa, czy przeniesienie wędruje przez grupę. (W przypadku wszystkich sumatorów na jednym wejściu jest co najmniej 1, więc wszystkie poszczególne sumatory mają w wyniku przeniesienie).
- Sumator równoległy ze wstępnym obliczaniem przeniesienia ( sumator przenoszenia z wyprzedzeniem ), sieć przełączająca dla grupy sumatorów zawiera złożoną logikę, która bezpośrednio określa jej przeniesienie.
- Sumator sumy warunkowej oblicza wynik dla grupy sumującej zarówno z zestawem przeniesienia, jak i bez niego. Logiczny wybór przełączników odpowiedni wynik wyjścia w zależności od przenoszącego.
Zaletą sumatora równoległego jest to, że wszystkie zaangażowane sumatory działają jednocześnie. Wadą podstawowej formy są długie czasy opóźnienia sygnału, ponieważ w skrajnych przypadkach transfer musi propagować się w obwodzie od prawej do lewej. Dalszy rozwój wymaga dużej liczby dodatkowych bramek, których liczba rośnie liniowo wraz z szerokością n dodawanych cyfr systemu dualnego .
Sumator serii
Sumator serii wymaga pełnego sumatora i przerzutnika D do dodawania dwóch n- cyfrowych liczb binarnych. W każdym cyklu najbardziej prawy bit liczb binarnych z rejestrów przesuwnych i wartość w przerzutniku D są przesyłane do pełnego sumatora. Wynik jest przechowywany w rejestrze, a przeniesienie przechowywane w przerzutniku D dla następnego zegara. Zaletą sumatora seryjnego jest niewielka liczba wymaganych elementów elektronicznych. Wadą jest przetwarzanie szeregowe, tak że do dodania dwóch n- cyfrowych liczb binarnych potrzeba n + 1 zegarów .
Połączenie zalet sumatora równoległego i szeregowego prowadzi do sumatora Von Neumanna.
Jednostka dodająca von Neumanna
Sumator Von Neumanna wymaga n pół sumatorów, aby dodać dwie n- cyfrowe liczby binarne. Dodawanie jest wykonywane przez następujący algorytm
Powtarzać
- Załaduj rejestry A i P sumami
- Dodaj
- Rejestr obciążenia A z sumami bez przeniesień, przeniesienie obciążenia do P
- Powtarzaj czynności 2 i 3, aż rejestr S będzie zawierał wartość zero
AND z P 0 zapewnia, że po pierwszym Addierdurchlauf P 0 zostanie ustawione od tej chwili
W najgorszym przypadku sumator wymaga n + 1 zegarów; Praktyczne doświadczenie pokazuje, że średnio tylko .
Przykład 13 + 11:
| krok | S. | U | P 3… 0 | A 3… 0 | ||
|---|---|---|---|---|---|---|
| 0 | 0 | 0000 b | 0 | 0000 b | ||
| 1 | 1 | 0 | 1101 b | 13 | 1011 b | 11 |
| 2 | 1 | 1 | 0010 b | 2 | 0110 b | 22 |
| 3 | 1 | 1 | 0100 b | 4 | 0100 b | 20 |
| 4 | 1 | 1 | 1000 b | 8th | 0000 b | 16 |
| 5 | 0 | 1 | 0000 b | 0 | 1000 b | 24 |
Odejmować
Odejmowanie jest ściśle związana z dodatkiem i mogą być przekształcone w dodatek zmieniając znak odjemnika. Zmiana znaku w liczbach binarnych włącza uzupełnienie do dwóch , konwertowane jako uzupełnienie (odwrócenie wszystkich bitów), a następnie dodawane 1 (ustawienie przeniesienia). Rozszerzenie jednostki sumującej do jednostki dodającej / odejmującej umożliwia połączenie operacji XOR na wejściu drugiego argumentu . Jeśli przełącznik selektora jest ustawiony na 1, XOR odwraca sygnał wejściowy i ustawia bit przeniesienia, który tworzy uzupełnienie do dwóch, a dodawanie staje się odejmowaniem.
Dodawanie i odejmowanie liczb zmiennoprzecinkowych
Wiele procesorów ma jednostki zmiennoprzecinkowe do obliczeń z użyciem liczb punktowych. Z liczb zmiennoprzecinkowych The mantysa i wykładnik są przetwarzane oddzielnie. W tym celu wykładniki liczb są korygowane w normalizatorze, liczby są dodawane za pomocą sumatora / podtytuł, a na koniec wynik i nowy wykładnik są przetwarzane w normalizatorze, aby utworzyć nową liczbę zmiennoprzecinkową - wynik.
Standaryzator, część 1
Najpierw należy wyregulować wykładnik. W tym celu odejmuje się dwa wykładniki, a mantysa liczby zmiennoprzecinkowej z mniejszym wykładnikiem przesuwa się wraz z rejestrem przesuwnym o liczbę miejsc (bitów) wyznaczoną przez odjęcie wykładników. Oznacza to, że obie liczby mają ten sam (większy) wykładnik. Większy wykładnik jest wybierany przez multiplekser na podstawie znaku wartości wynikającej z odejmowania (różnicy wykładników) i przekazywany bezpośrednio do standaryzatora.
Adder / subtracter
Na etapie sumatora / subtracter sumator zasadniczo współpracuje z inwerterami umieszczonymi powyżej na wejściach. Falowniki odwracają (negują) mantysę, jeśli ustawiony jest powiązany bit znaku odpowiedniej liczby zmiennoprzecinkowej. Następnie można dodać dwie liczby. To tworzy nową mantysę. Ponadto bit priorytetu (bit przepełnienia) sumatora jest ustawiany, jeśli suma dwóch mantys jest zbyt duża, aby można było je zapisać w nowej mantysie.
Standaryzator, część 2
W normalizatorze różnica wykładników jest zmniejszana o jeden, a wynik z etapu sumatora / podtraktu jest przesuwany w lewo o jeden o jeden, jeśli ustawiony jest bit priorytetu. Wynik etapu sumowania / odejmowania staje się wtedy mantysą - a różnica wykładnika staje się wykładnikiem - wynikową liczbą zmiennoprzecinkową.
linki internetowe
- Opracowanie układu do dodawania i odejmowania liczb binarnych ( Memento z 27 września 2007 w Internet Archive ) - Prace techniczne (plik PDF; 952 kB)
- Algebra przełączająca, algebra Boole'a