Szybkie układy mnożące

Podobne dokumenty
Szybkie układy mnożące

Architektura komputerów, Informatyka, sem.iii. Sumatory

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

Podział sumatorów. Równoległe: Szeregowe (układy sekwencyjne) Z przeniesieniem szeregowym Z przeniesieniem równoległym. Zwykłe Akumulujące

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Podstawy Informatyki

Arytmetyka stałopozycyjna

Stan wysoki (H) i stan niski (L)

1. Operacje logiczne A B A OR B

Zapis liczb binarnych ze znakiem

Kod U2 Opracował: Andrzej Nowak

MNOŻENIE W SYSTEMACH UZUPEŁNIENIOWYCH PEŁNYCH (algorytm uniwersalny)

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Technika cyfrowa Układy arytmetyczne

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Wprowadzenie do informatyki - ć wiczenia

Arytmetyka binarna - wykład 6

Technologie Informacyjne

B.B. 2. Sumowanie rozpoczynamy od ostatniej kolumny. Sumujemy cyfry w kolumnie zgodnie z podaną tabelką zapisując wynik pod kreską:

Dodawanie liczb binarnych

...o. 2. ZARYS ORGANIZACJI MASZYNY TYPOWEJ

Pracownia Komputerowa wykład V

DZIESIĘTNY SYSTEM LICZBOWY

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.

Arytmetyka liczb binarnych

SYSTEMY LICZBOWE 275,538 =

Automatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder

Informatyka kodowanie liczb. dr hab. inż. Mikołaj Morzy

Architektura systemów komputerowych. Arytmetyka maszyn cyfrowych

Naturalny kod binarny (NKB)

Kodowanie liczb całkowitych w systemach komputerowych

Pozycyjny system liczbowy

Projektowanie Urządzeń Cyfrowych

RODZAJE INFORMACJI. Informacje analogowe. Informacje cyfrowe. U(t) U(t) Umax. Umax. R=(0,Umax) nieskończony zbiór możliwych wartości. Umax.

1.1. Pozycyjne systemy liczbowe

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Wielkość analogowa w danym przedziale swojej zmienności przyjmuje nieskończoną liczbę wartości.

Mikrooperacje. Mikrooperacje arytmetyczne

Systemy zapisu liczb.

Przykładowe pytania DSP 1

Operacje arytmetyczne

Plan wyk ladu. Kodowanie informacji. Systemy addytywne. Definicja i klasyfikacja. Systemy liczbowe. prof. dr hab. inż.

Języki i paradygmaty programowania

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

Pracownia Komputerowa wyk ad V

Operacje arytmetyczne w systemie dwójkowym

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Systemy liczbowe używane w technice komputerowej

Układy sekwencyjne. Wstęp doinformatyki. Zegary. Układy sekwencyjne. Automaty sekwencyjne. Element pamięciowy. Układy logiczne komputerów

Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej

Adam Korzeniewski p Katedra Systemów Multimedialnych

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

architektura komputerów w. 3 Arytmetyka komputerów

Adam Korzeniewski p Katedra Systemów Multimedialnych

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 1 WSTĘP DO INFORMATYKI

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Wykład I: Kodowanie liczb w systemach binarnych. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

przeniesienie pożyczka

Układy kombinacyjne 1

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

LICZBY ZMIENNOPRZECINKOWE

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

Teoretyczne Podstawy Informatyki

Kodowanie informacji. Kody liczbowe

Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb.

Wstęp doinformatyki. Systemy liczbowe i arytmetyka komputerów. System dziesiętny. Inne systemy. System dwójkowy

Architektura komputerów

Wprowadzenie do informatyki ćwiczenia

Algorytm mnożenia sekwencyjnego (wariant 1)

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Modelowanie układów sekwencyjnych w LabView - ćwiczenie 8

Luty 2001 Algorytmy (7) 2000/2001

Metoda znak-moduł (ZM)

Podstawy programowania w języku C i C++

Cyfrowy zapis informacji

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

2. Arytmetyka procesorów 16-bitowych stałoprzecinkowych

L6.1 Systemy liczenia stosowane w informatyce

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Programowanie Niskopoziomowe

Teoretyczne podstawy informatyki

Wykład 2. Informatyka Stosowana. 9 października Informatyka Stosowana Wykład 2 9 października / 42

- odnajduje część wspólną zbiorów, złączenie zbiorów - wyodrębnia podzbiory;

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Arytmetyka komputerów

Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia

Katedra Elektrotechniki Teoretycznej i Informatyki. sem. II - wykłady M. Czyżak

Transkrypt:

Szybkie układy mnożące

Operacja mnożenia Operacje dodawania i mnożenia są podstawą algorytmów obliczania wartości innych złożonych funkcji matematycznych oraz przetwarzania sygnałów Implementacje bitowo-szeregowe sekwencyjne dodawanie wieloargumentowe mnożenie przy poszerzonej bazie (high-radix) drzewiaste dodawanie wieloragumentowe drzewa (redularne i nieregularne) metoda "dziel i zwyciężaj" (Divide & Conquer)

Dodawanie bitowo-szeregowe (RCA) Zalety (dla implementacji VLSI) mała liczba wyprowadzeń krótkie połączenia duża szybkość zegara mała powierzchnia niski pobór mocy Dobrze nadaje się do przetwarzania potokowego Szybkość bez zmian: Θ(k)k)) shift X shift Y c Bit-serial RCA FA shift X+Y

Mnożenie bitowo-szeregowo FA Rozwiązanie częściowo-szeregowe (semi-serial) s mnożenie liczb 4bitowych (ogólnie k-bitowych) szybkość: 8-cykli ( 2k cykli Θ(k) ) wady: dedykowany sprzęt FA s Mnożna FA równolegle s FA szeregowo LSB first szeregowo LSB first Mnożnik) Iloczyn c c c c

Układy mnożące sekwencyjne Prosta implementacja sprzętowa i programowa Mnożna Mnożnik) Sk)ładnik)i Iloczyn cyfra dwójk)owa [,1] P i+1 = P i + x i *A*2 i sumy częściowe przesunięcie na i-pozycję A X ------- x *A*2 x 1 *A*2 1 x 2 *A*2 2 x 3 *A*2 3 --------------- P=A*X Sk)ładnik)i dodawania są zawsze iloczynem: A*x i (k)mnożna * cyfra mnożnik)a), a przesunięcie zapewnia odpowiednia wagę sk)ładnik)a. Przy bazie 2 (k)radix-2) sk)ładnik)i mogą mieć tylk)o dwie wartości: i A. Iloczyn Mnożnik) Mnozna Zamiast przesuwania mnożnej, mozna przesuwać rejest iloczynu i stosować węższy sumator

Mnożenie przy poszerzonej bazie Redukcja liczby składników dodawania dla radix-4, liczba skladników jest dwa razy mniejsza cyfry radix-4 zajmują dwa bity i mogą wynosić,1,2,3 składniki dodawania mogą wynosić, A, 2A, 3A obliczanie 3A jest kłopotliwe A X --------- (x 1 x )*A*4 (x 3 x 2 )*A*4 1 --------------- P=A*X cyfra czwórk)owa [,3] P i+1 = P i + x i *A*4 i przesunięcie na pozycję odpowiadającą cyfrze czwórk)owej (k)2 bity na cyfrę)

Mnożenie przy poszerzonej bazie Nietypowe wartości składników (np. 3A dla radix-4) można obliczać wstępnie lub stosować sumator Arytmetyka liczb dodatnich (unsigned) Iloczyn Mnożnik) przesunięcie 2-bity A 2A 3A x 1 x 2-bity Iloczyn Mnożnik) przesunięcie 2-bity 2A A x 1 x

Mnożenie liczb ze znakiem Algorytm Booth'a przy poszerzonej bazie Konwersja mnożnika [,1] na [-1,1], [-2,2], [-8,8],...,11 k)odowane jak)o 1 początek) blok)u jedynek) k)odowane jak)o -1 1 k)oniec blok)u jedynek) k)odowane jak)o 1 1 1 1 1 1 1 1 [,1] radix-2-1 1-1 1-1 1-1 [-1,1] radix-2-2 2-1 2-1 -2 [-2,2] radix-4-6 -2-6 [-8,8]radix-16 Konwersja jest szybka (nie ma propagacji) Przy wyższych bazach, cyfry mają znak, ale jest ich mniej, co ułatwi obliczanie składników mnożenia

Mnożenie liczb ze znakiem Algorytm Booth'a dla radix-4 Konwersja dla Radix-4 radix-2 radix-2 radix-4 [,1] [-1,1] [-2, 2] 1 1 1 1 1-1 1 11 1 2 1-1 -2 11-1 1-1 11-1 -1 111 przesunięcie 2-bity x 1 x x -1 A Iloczyn Mnożna Mnożnik) 2A dodawanie/ odejmowanie Konwerter

Przyspieszenie sumowania Dodawanie składników wykonuje Θ(k) Starsza część wyniku to dwie liczby (redund.) Sumator CPA potrzebny jest tylko raz Θ(log k) Uwaga na przesuwanie iloczynu!!! Sybkość: Θ(k+log k) Przeniesienia Iloczyn Mnożnik) przesuniecie 1 bit Mnożna Suma Przykład dla radix-2 Wynik) k)ońcowy (k)starsza część) CPA

Szybkie układy mnożące sekwencyjne Artymetyk)a unsigned (k)częściowe drzewo ) Mnożnik) 2A A Artymetyk)a signed (k)algortm Booth'a) Mnożnik) A 2A 2's cmpl Konwerter CPA Radix-4 Multipliers CPA

Przykład: Radix-16, signed Składniki sumowań,±1a,±2a,...,±8a Konwersja oparta na 5 bitach mnożnika Iloczyn przesuwany o 4 bity (cyfra radix-16) Multiplier A shift 4 2A 4A 2's compl x 3 x 2 x 1 x x -1 8A c 5 Recoding Logic Carries 3 LSB 4bit Sum 4 LSB Product shift-in bits

Przykład: Radix-16, unsigned Składniki sumowań,1a, 2A, 15A Obliczanie składników w drzewie Iloczyn przesuwany o 4 bity (cyfra radix-16) 8A 4A 2A Multiplier x 3 x 2 x 1 x A shift 4 Carries 3 LSB c 4bit Sum 4 LSB Product shift-in bits

Drzewiaste układy mnożące Wszystkie składniki podawane jednocześnie Składniki wielokrotności mnożnej Pełne drzewo redukujące oparte na Końcowa konwersja wyniku na CPA Struktury regularne i nieregularne Szybkość dodawania w drzewie: Θ(log k) Bradzo droga realizacja (rozmiar)

Drzewiaste układy mnożące 2 (k)k)-1) A 4A 2A A Drzewo CPA Mnożnik) (k)k)-bitowy) Uk)ład obliczania sk)ładnik)ów Sumator wieloargumentowy Konwersja do postaci nieredundantnej Starsza część iloczynu Młodsza część iloczynu

Struktura drzew Drzewa nieregularne: np. mnożenie liczb 7-bitowych (k)dodawanie 7 sk)ładnik)ów) CPA 13-4 3 2 1 4 2 Drzewa regularne: np. mnożenie liczb 16-bitowych (k)dodawanie 16 sk)ładnik)ów) 4 2 4 2 4 2 4 2 4 2 4 2 4 2 CPA

Mnożarki podsumowanie Podstawowe sekwencyjne radix-2 Iloczyn Szybciej Sk)ładnik)i Poszerzona baza i częściowe drzewo (High-radix/Partial Tree) Iloczyn Sk)ładnik)i przy poszerzonej bazie Tree Taniej Mnożarka z pełnym drzewem redukującym Wszystk)ie sk)ładnik)i Full Tree Iloczyn

Mnożenie długich liczb Jak pomnożyć długie liczby dysponując krótszymi jednostkami mnożącymi np. 2k * 2k za pomocą mnożarki k*k? k) k) k) 2k) k)? 4k) 2k) 2k) =

Dziel i zwyciężaj (Divide & Conquer) Rozkład liczb (2k 2 x k) Obliczenia iloczynów częściowych (4 x 2k) Sumowanie iloczynów częściowych ( 4 x 4k) A mnożna X mnożnik) A L X H A H X L + A H X H A H A L X H X L A L X L AX

Dziel i zwyciężaj (Divide & Conquer) Najmłodsza część wyniku jest dostępna bezpośrednio Częściowe iloczyny nie nakładają się Końcowe dodawanie wymaga krótszego sumatora A H A L X H X L A L X H A H X H A L X L A H X + L AX

Dziel i zwyciężaj (2k x 2k) A H X H X L A L k) k) k) k) k) k) k) k) A H X H A L X L A L X H A H X L ¾k) CPA AX

Dziel i zwyciężaj - ogólnie Mnożenie dwóch n*k-bitowych liczb za pomocą k-bitowych mnożarek wymaga n*n mnożeń i dodania 2n-1 składników 5k) 5k) 4k) 4k) 3k) 3k) 2k) 2k) k) k)

Dziel i zwyciężaj - ogólnie nk)-bitowe A nk)-bitowe X k) k) k) k) k) k) k) k) n 2 mnożarek) Drzewa 2n-1 2 CPA Iloczyn