1 Dr Galina Cariowa Legenda Funkcje i ukady

  • Slides: 34
Download presentation
1 Dr Galina Cariowa

1 Dr Galina Cariowa

Legenda Funkcje i układy arytmetyczne Iteracyjne układy kombinacyjne Sumatory binarne Sumatory - substraktory binarne

Legenda Funkcje i układy arytmetyczne Iteracyjne układy kombinacyjne Sumatory binarne Sumatory - substraktory binarne Układy mnożące 2

Układy arytmetyczne Układ arytmetyczny jest to kombinacyjny układ logiczny, który wykonuje operacje arytmetyczne: dodawanie;

Układy arytmetyczne Układ arytmetyczny jest to kombinacyjny układ logiczny, który wykonuje operacje arytmetyczne: dodawanie; odejmowanie; mnożenie; dzielenie liczb binarnych lub liczb dziesiętnych przedstawionych za pomocą kodu binarnego. Podstawowe bloki arytmetyczne : półsumator (ang. half adder) pełny sumator (ang. full adder), Z tych bloków projektowane inne układy arytmetyczne. 3

Układy iteracyjne Jeśli w rozwiązywanym zadaniu nie jest określona liczba zmiennych, wtedy można zaprojektować

Układy iteracyjne Jeśli w rozwiązywanym zadaniu nie jest określona liczba zmiennych, wtedy można zaprojektować układ dla jednej lub kilku zmiennych, a następnie łączyć takie układy ze sobą. Takie układy przyjęto nazywać układami iteracyjnymi. Zaleta układów iteracyjnych : możliwość ich łatwego rozbudowywania dla większej liczby zmiennych. Wady układów iteracyjnych: - nie stanowią one minimalnego rozwiązania pod względem liczby bramek; - wnoszą znacznie większe opóźnienie niż klasycznie projektowane układy. 4

Sieć iteracyjna Układy iteracyjne są zbudowane z sieci komórek kombinacyjnych. Podstawowe bloki funkcjonalne realizujące

Sieć iteracyjna Układy iteracyjne są zbudowane z sieci komórek kombinacyjnych. Podstawowe bloki funkcjonalne realizujące proste funkcje składowe są określane jako komórki, A całą implementację określamy jako sieć komórek. Komórki w sieci są często identyczne Cały blok funkcjonalny jest określany jako sieć iteracyjna. 5

Symbol i-tej komórki dwóch liczb 6

Symbol i-tej komórki dwóch liczb 6

Schemat blokowy układu iteracyjnego 7

Schemat blokowy układu iteracyjnego 7

Schemat blokowy układu iteracyjnego Układ wykonujący działania na dwóch wektorach n -bitowych wejściowych A,

Schemat blokowy układu iteracyjnego Układ wykonujący działania na dwóch wektorach n -bitowych wejściowych A, B i tworzy n -bitowy wektor wyjściowy C. 8

Układ iteracyjny Między każdą parą komórek sieci istnieją dwa boczne połączenia. Liniami przerywanymi zaznaczone

Układ iteracyjny Między każdą parą komórek sieci istnieją dwa boczne połączenia. Liniami przerywanymi zaznaczone opcjonalne połączenia na prawym i lewym krańcu sieci komórek. Liczba zastosowanych połączeń i ich funkcji wpływa zarówno na koszt, jak i na szybkość układu iteracyjnego. Zdefiniujemy komórki wykonujące dodawanie bitów na pojedynczej pozycji, a następnie zdefiniujemy układ realizujący dodawanie dwóch liczb binarnych. 9

Układ realizujący dodawanie dwóch liczb binarnych Dodawanie składa się z czterech możliwych operacji elementarnych:

Układ realizujący dodawanie dwóch liczb binarnych Dodawanie składa się z czterech możliwych operacji elementarnych: 0+0=0, 0+1=1, 1+0=1, 1+1=10 Wynik dodawania jest zawsze reprezentowany dwoma bitami, bitem przeniesienia i sumy. Przeniesienie jest dodawane do następnej pary bardziej znaczących bitów. Układ kombinacyjny realizujący dodawanie dwóch bitów jest nazywany półsumatorem. Sumator realizujący sumę trzech bitów (dwóch bitów znaczących i bitu przeniesienia z poprzedniej pozycji) jest nazywany pełnym sumatorem. 10

Półsumator (dodawanie jednobitowych liczb dwójkowych) Wejście – bity dodajnej A i dodajnika B. Wyjście

Półsumator (dodawanie jednobitowych liczb dwójkowych) Wejście – bity dodajnej A i dodajnika B. Wyjście – bity sumy S i przeniesienia C (ang. carry) Tablica prawdy półsumatora i 2 tablicy Karnaugha Z tablicy prawdy można odczytać funkcję boolowskie dla obu wyjść. 11

Schemat logiczny półsumatora Półsumator można zrealizować na jednej bramce EXOR i jednej bramce AND

Schemat logiczny półsumatora Półsumator można zrealizować na jednej bramce EXOR i jednej bramce AND 12

Pełny sumator generuje sumę trzech bitów wejściowych. Przy dodawaniu bitów oprócz bitów wejściowych trzeba

Pełny sumator generuje sumę trzech bitów wejściowych. Przy dodawaniu bitów oprócz bitów wejściowych trzeba uwzględniać przeniesienie z mniej znaczącej pozycji. Funkcje boolowskie sumatora jednopozycyjnego są funkcjami trzech zmiennych: wartości danych X i Y oraz przeniesienia z mniej znaczącej pozycji Z. Operacja jednobitowego dodawania (dodawania dwóch bitów wraz z przeniesieniami) polega na obliczaniu wartości dwóch funkcji: S –jest binarnym wynikiem dodawania trzech bitów X, Y i Z; C –jest wartością przeniesienia (wyjściowego) na następną pozycję. 13

Pełny sumator Układ generuje sumę trzech bitów wejściowych (dwóch bitów znaczących i bitu przeniesienia

Pełny sumator Układ generuje sumę trzech bitów wejściowych (dwóch bitów znaczących i bitu przeniesienia z poprzedniej pozycji) Tablica prawdy dla funkcji C i S: Przeniesienie z poprzedniej pozycji suma Przeniesienie wyjściowe 14

Pełny sumator Tablica Karnaugcha dla wyjścia sumy Tablica Karnaugha dla wyjścia przeniesienia Dwupoziomowa implementacja

Pełny sumator Tablica Karnaugcha dla wyjścia sumy Tablica Karnaugha dla wyjścia przeniesienia Dwupoziomowa implementacja wymaga siedmiu bramek AND i dwóch bramek OR. 15

Pełny sumator Funkcja wyjścia S jest funkcją kontroli nieparzystości : Funkcja wyjścia C może

Pełny sumator Funkcja wyjścia S jest funkcją kontroli nieparzystości : Funkcja wyjścia C może być tak przekształcona, by zawierała operację EXOR na zmiennych X i Y: Schemat logiczny wielopoziomowej implementacji pełnego sumatora. 16

Implementacja 1 –bitowego sumatora na dekoderze i bramce OR 17

Implementacja 1 –bitowego sumatora na dekoderze i bramce OR 17

Implementacja 1 –bitowego sumatora na dekoderze i bramce OR 18

Implementacja 1 –bitowego sumatora na dekoderze i bramce OR 18

Przykład. Sumator dwóch czterobitowych liczb binarnych. Projektowanie zwykłego układu kombinacyjnego realizującego podaną funkcję polega

Przykład. Sumator dwóch czterobitowych liczb binarnych. Projektowanie zwykłego układu kombinacyjnego realizującego podaną funkcję polega na utworzeniu tablicy Karnaugha dla ośmiu zmiennych wejściowych i 4 zmiennych wyjściowych. Już dla niewielkiej liczby sumowanych bitów tablica Karnaugha jest bardzo rozbudowana. 19

Sumator dwóch czterobitowych liczb binarnych W celu uzyskania sumatora dla słów czterobitowych wystarczy: połączyć

Sumator dwóch czterobitowych liczb binarnych W celu uzyskania sumatora dla słów czterobitowych wystarczy: połączyć 4 bloki wyznaczone powyżej, odpowiednio upraszczając blok pierwszy (przeniesienie =0) i ostatni blok (brak przeniesienia). 20

Sumator kaskadowy Równoległy sumator jest układem, który tworzy sumę dwóch liczb binarnych tylko za

Sumator kaskadowy Równoległy sumator jest układem, który tworzy sumę dwóch liczb binarnych tylko za pomocą kombinacyjnego układu logicznego. Sumator równoległy zawiera n pełnych sumatorów, połączonych równoległe, a by wygenerować sumę wszystkie bity wejściowe są podawane równocześnie. Pełne sumatory połączone w kaskadzie, a wyjście przeniesienia jednego pełnego sumatora jest podawane na wejście przeniesienia następnego pełnego sumatora. Sumator równoległy jest określany jako sumator kaskadowy. 21

4 -bitowy sumator kaskadowy tworzy cztery bloki pełnych sumatorów połączonych ze sobą: 22

4 -bitowy sumator kaskadowy tworzy cztery bloki pełnych sumatorów połączonych ze sobą: 22

4 -bitowy sumator kaskadowy Układ ma 9 wejść (wejścia dwóch 4 -bitowych liczb i

4 -bitowy sumator kaskadowy Układ ma 9 wejść (wejścia dwóch 4 -bitowych liczb i wejście przeniesienia C 0 ). 4 sumatory połączonych kaskadowo Wielokrotne wykorzystywanie identycznych elementów kwadratów w tablicy prawdy przy projektowaniu klasyczną metodą Wejście przeniesienia C 0 i wyjście C 4 służą dla dalszej rozbudowy. Nieskomplikowana implementacja Wykorzystanie układów iteracyjnych 23

Sumator kaskadowy Długi czas opóźnienia Duża liczba bramek na ścieżce propagującej przeniesienia Najdłuższa ścieżka

Sumator kaskadowy Długi czas opóźnienia Duża liczba bramek na ścieżce propagującej przeniesienia Najdłuższa ścieżka przez n- bitowy sumator ma opóźnienie równe opóźnieniu 2 n+2 bramek. Alternatywne rozwiązanie- sumator z przeniesieniami jednoczesnymi (ang. carry look-ahead adder). 24

Sumator z przeniesieniami jednoczesnymi (antycypowanymi) Znacznie mniejsze opóźnienie Bardziej skomplikowana struktura sprzętowa Sumator kaskadowy

Sumator z przeniesieniami jednoczesnymi (antycypowanymi) Znacznie mniejsze opóźnienie Bardziej skomplikowana struktura sprzętowa Sumator kaskadowy Przekształcenie części układu realizującej propagację przeniesień do dwupoziomowego układu logicznego (praca własna) Sumator z przeniesieniami jednoczesnymi 25

Układ wykonujący odejmowanie A-B Substraktor- specjalny układ odejmujący 1 Układ składa się z sumatora

Układ wykonujący odejmowanie A-B Substraktor- specjalny układ odejmujący 1 Układ składa się z sumatora równoległego i inwerterów umieszczonych między każdym zaciskiem B a odpowiednim wejściem sumatora. Wykonywana operacja : A plus uzupełnienie do 1 liczby B plus 1. To odpowiada A plus uzupełnienie do 2. Uzyskamy A-B, gdy lub uzupełnienie do 2 różnicy B-A, gdy A<B 26

Sumator- substraktor Operacje dodawania i odejmowania mogą być połączone w jednym wspólnym sumatorze binarnym.

Sumator- substraktor Operacje dodawania i odejmowania mogą być połączone w jednym wspólnym sumatorze binarnym. Dla tego celu wprowadza się bramki EXOR dla każdego pełnego sumatora. 27

4 -bitowy sumator- substraktor Wejście S steruje operacjami: 28

4 -bitowy sumator- substraktor Wejście S steruje operacjami: 28

4 -bitowy sumator- substraktor Wejście S steruje operacjami. Na wejścia każdej bramki EXOR są

4 -bitowy sumator- substraktor Wejście S steruje operacjami. Na wejścia każdej bramki EXOR są podawane: sygnał S i jeden z sygnałów B, Bi. Gdy S=0, mamy . Układ realizuje dodawanie Oraz C 0=0 Gdy. S=1, mamy Gdy mamy oraz C 0=1 A+B. Układ wykonuje operacje A plus uzupełnienie do 2 B 29

Wykrywanie przepełnienia Przepełnienie (nadmiar) – sytuacja, gdy wynik dodawania lub odejmowania dwóch n- bitowych

Wykrywanie przepełnienia Przepełnienie (nadmiar) – sytuacja, gdy wynik dodawania lub odejmowania dwóch n- bitowych liczb zajmuje n+1 bitów. Logiczny układ do wykrywania przepełnienia w dodawaniu i odejmowaniu. 30

Układ mnożący Iloczyny częściowe są zrealizowane za pomocą bramek AND, sumowane w dwóch półsumatorach

Układ mnożący Iloczyny częściowe są zrealizowane za pomocą bramek AND, sumowane w dwóch półsumatorach HA. Mnożenie dwóch liczb dwubitowych: iloczyn Najmłodszy bit iloczynu powstaje na wyjściu bramki AND nie przechodzi przez sumator 31

Układ mnożący liczbę 4 -bitową przez 3 - bitową B 3 B 2 B

Układ mnożący liczbę 4 -bitową przez 3 - bitową B 3 B 2 B 1 B 0 - mnożna A 2 A 1 A 0 - mnożnik Aby utworzyć 7 - bitowy iloczyn potrzebne są 12 bramek AND i dwa 4 –bitowe sumatory. 32

Inne funkcje arytmetyczne vinkrementowanie vdekrementowanie vmnożenie przez stałą wartość vdzielenie przez stałą wartość v

Inne funkcje arytmetyczne vinkrementowanie vdekrementowanie vmnożenie przez stałą wartość vdzielenie przez stałą wartość v porównywanie z wykrywaniem liczby mniejszej i większej 33

DZIĘKUĘ ZA UWAGĘ 34

DZIĘKUĘ ZA UWAGĘ 34