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

Podobne dokumenty
Szybkie układy mnożące

Szybkie układy mnożące

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.

Technika cyfrowa Układy arytmetyczne

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

Kodowanie liczb całkowitych w systemach komputerowych

Sumatory H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

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

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Układy kombinacyjne 1

Ć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

Układy kombinacyjne. cz.2

Kod U2 Opracował: Andrzej Nowak

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Naturalny kod binarny (NKB)

4. UKŁADY FUNKCJONALNE TECHNIKI CYFROWEJ

Sposoby projektowania systemów w cyfrowych

Przykładowe pytania DSP 1

Arytmetyka binarna - wykład 6

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

Podstawy Informatyki Elementarne podzespoły komputera

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

Arytmetyka liczb binarnych

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

1. Operacje logiczne A B A OR B

Podstawy układów mikroelektronicznych

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu

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

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

Podstawy programowania w języku C i C++

Architektura komputerów

Projektowanie Urządzeń Cyfrowych

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

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

1.1. Pozycyjne systemy liczbowe

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

Techniki multimedialne

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

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

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

Ćwiczenie Digital Works 003 Układy sekwencyjne i kombinacyjne

Technika cyfrowa Synteza układów kombinacyjnych (I)

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Technologie Informacyjne

Pracownia Komputerowa wykład V

Wstęp do Techniki Cyfrowej... Układy kombinacyjne

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

Krótkie przypomnienie

ćwiczenie 202 Temat: Układy kombinacyjne 1. Cel ćwiczenia

Pracownia Komputerowa wykład IV

Zapis liczb binarnych ze znakiem

WSTĘP DO ELEKTRONIKI

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach

INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW

Technika cyfrowa Synteza układów kombinacyjnych

Wstęp do informatyki- wykład 2

Cyfrowy zapis informacji

organizacja procesora 8086

UKŁAD SCALONY. Cyfrowe układy można podzielić ze względu na różne kryteria, na przykład sposób przetwarzania informacji, technologię wykonania.

Pracownia Komputerowa wyk ad IV

Metody optymalizacji soft-procesorów NIOS

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Funkcja Boolowska a kombinacyjny blok funkcjonalny

Mikrooperacje. Mikrooperacje arytmetyczne

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Magistrala LIN

Podstawy Informatyki

Teoretyczne Podstawy Informatyki

Temat 7. Dekodery, enkodery

Architektura systemów komputerowych. Arytmetyka maszyn cyfrowych

Systemy zapisu liczb.

1259 (10) = 1 * * * * 100 = 1 * * * *1

Arytmetyka komputerów

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

ARYTMETYKA KOMPUTERA

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Architektura komputerów

Programowanie Niskopoziomowe

Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Lista Rozkazów: Język komputera

Pracownia Komputerowa wyk ad V

Arytmetyka stałopozycyjna

Podstawy Informatyki dla Nauczyciela

Współczesne techniki informacyjne

Podstawy techniki cyfrowej cz.2 zima Rafał Walkowiak

Podstawy techniki cyfrowej cz.2 wykład 3 i 5

Architektura komputerów

architektura komputerów w. 3 Arytmetyka komputerów

PODSTAWY TEORII UKŁADÓW CYFROWYCH

Stan wysoki (H) i stan niski (L)

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

Architektura potokowa RISC

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Transkrypt:

Sumatory

Architektury sumatorów (zarys) Sumatory 1-bitowe Sumatory z propagacją Przeniesień CPA (Carry Propagate Adders) Sumatory wieloargumentowe 3-argumentowe Half Adder HA Macierz sumatorów RCA Full Adder FA CSA CSKA CSLA CLA Bit Counter (m,k) Drzewo sumatorów

Sumator z przeniesieniami szeregowymi c k RCA Ripple Carry Adder (zwany też kaskadowym) Najprostszym i najmniejszy, ale najwolniejszy Szybkość (w najgorszym przypadku): Θ(k) a k-1 b k-1 a 1 b 1 a 0 b 0 FA FA FA FA r n-1 r 1 r 0 k - cyfr c 1 c 0

RCA implementacja bitowo-szeregowa 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) shift X shift Y c Bit-serial RCA FA shift X+Y

Sumator z przeniesieniami równoległymi CLA - Carry Lookahead Adder Dodatkowe układy logiki obliczania przeniesień Szybkość (w najgorszym przypadku): Θ(log k) 4FA 4FA 4FA c 4 FA FA FA FA LA LA LA LA Logic - 1 st level LA Logic - 2 nd level c 3 c 2 a 1 b 1 a 0 b 0 c 1 c 0 k - cyfr r 1 r 0

Sumator z wyborem przeniesienia CSLA Carry Select Adder Najstarsza architektura o szybkości Θ(log k) Dla kilku fragmentów argumentów obliczane są równolegle dwie wersje wyniku: dla przeniesień 0 i 1 Końcowy wynik jest wybierany z gotowych alternatyw na podstawie obliczonych przeniesień Prosta koncepcja skomplikowany sprzęt 1 0 1 0 1 0 c 0

Jednopoziomowy sumator CSLA k 1 k/2 RCA k/2 +c out k 1 ½k k/2 RCA k/2 +c out Multiplexer magistral 2 1 k/2 +c out 1 ½k c k/2 0 ½k 1 0 k/2 RCA k/2 c 0 c out + k/2 bardziej znaczacych bitów wyniku k/2 mniej znaczących bitów wyniku

Propagacja w jednopoziomowym CSLA c k Architektura jednopoziomowa nie może być skalowana na dużą liczbę bloków ze względu na propagację sygnału pomiędzy blokami k-1 ¾k ¾k-1 ½k ½k-1 ¼k ¼k-1 0 k/4 RCA k/4 RCA 0 c 3k/4 1 k/4 RCA k/4 RCA 0 c k/2 1 k/4 RCA k/4 RCA 0 c k/4 1 k/4 RCA Res. k-1...¾k ¾k-1...½k ½k-1...¼k ¼k-1...0 c 0

Dwupoziomowy sumator CSLA Wybór na drugim poziomie dotyczy dwukrotnie dłuższego fragmentu wyniku Koncepcja może być rozszerzana na większą liczbę poziomów, ale wzrasta złożoność sprzętu k-1 ¾k ¾k-1 ½k ½k-1 ¼k ¼k-1 0 k/4 RCA 1 k/4 RCA 1 k/4 RCA 1 k/4 RCA k/4 RCA 0 k/4 RCA 0 k/4 RCA 0 c 3k/4 c 3k/4 c k/2 c k/4 c 0 c k Result k-1...½k ½k-1...¼k ¼k-1...0

Sumator z przeskokiem przeniesień CSKA Carry Skip Adder Przeniesienia mogą być propagowane (p=1), generowane (g=1) lub absorbowane (p*g=0) Zezwolenie na przeskok przeniesienia ponad blokami z p=1 skraca ciągi propagacji przeniesienia najgorszy przypadek FA przykładowe propagacje przeniesienia

Blok przeskoku przeniesienia Przeniesienie jest przyspieszane dla grupy sumatorów z warunkiem p=1 Obliczanie warunku przeniesienia jest proste: p i =a i +b i c i +1 FA FA FA FA p = p i *p i+1 *p i+2 *p i+3 4-bit RCA p c i Carry skip

Analiza najgorszego przypadku CSKA c 16 16-bitowy sumator CSKA Najdłuższa ścieżka propagacji przeniesienia: 4-bit RCA p Carry skip propagacja przez bity 1-3 (i bramkę OR) przeskok przez bity 4-11 propagacja przez bity 12-14 c 12 4-bit RCA p Carry skip c 8 4-bit RCA p Carry skip c 4 4-bit RCA p Carry skip najgorszy przypadek c 0 propagacja przeskok propagacja

Architektura sumatora CSKA Bloki przeskoku przeniesień mogą mieć: stałą długość b Adder Adder Adder Adder Adder Adder Adder Adder Skip Skip Skip Skip Skip Skip Skip Skip b b...... b b zmienną długość (t liczba bloków) Adder Adder Adder Adder Adder Adder Adder Adder Skip Skip Skip Skip Skip Skip Skip Skip b b+1... b+t/2-1 b+t/2-1... b+1 b

Wydajność sumatora CSKA Opóźnienie (T) ze względu na propagację dla sumatora CSKA o długości bloku b: dla bloków o stałej długości: b opt = (k/2) 1/2 T fixcska-opt = 2(2k) 1/2 3.5 dla bloków o zmiennej długości: b opt = 1 TvarCSKA-opt = 2 k 1/2 2.5

Wydajność sumatora CSKA Przykłady (przy założeniu jednostkowego opóźnienia dla FA): dla bloków o stałej długości: 16-bitowy sumator b opt 3, T fixcska 8 32-bitowy sumator b opt = 4, T fixcska = 12.5 64-bitowy sumator b opt 6, T fixcska 19 dla t-bloków o zmiennej długości (b opt = 1): 16-bit adder t opt = 8, T fixcska 5.5 e.g. 32-bit adder t opt 12, T fixcska 9 e.g. 64-bit adder t opt = 16, T fixcska 13.5

Wielopoziomowe sumatory CSKA Sprzęt pierwszego poziom przeskoku otrzymuje dane z sumatorów, drugi poziom z pierwszego, itd. Przeskok przeniesienia może odbywać się na znacznie dłuższych dystansach, co skraca opóźnienie dla najgorszego przypadku Adder Skip Adder Skip Adder Skip Adder Skip Adder Skip Adder Skip Adder Skip Skip Skip Skip Skip Adder Skip Skip Skip

Architektury hybrydowe Przykład: CSLA + CLA + CSKA CL Logic CSKA 1 CSKA 1 CSKA CSKA 0 CSKA 0 CSKA 0 1 CSKA

Dodawanie bez propagacji przeniesienia Dodawanie bez przeniesienia (carry-free) jest możliwe przy przejściu do redundantnych systemów liczbowych, z poszerzonym zestawem cyfr Operacje na wszystkich cyfrach są wykonywane całkowicie równolegle szybkość: Θ(1) 1 2 3 4 5 6 radix-10, zestaw cyfr [0,9] + 4 5 6 7 8 9 radix-10, zestaw cyfr [0,9] 5 7 9 11 13 15 radix-10, zestaw cyfr [0,18]

Konwersja w systemach redundantnych Konwersja z notacji redundantnej do normalnej wymaga propagacji przeniesienia Szybkość: Θ(k) 11 9 17 10 12 18 radix-10, zestaw cyfr [0,18] 11 9 17 10 12 18 18 = 10+8 11 9 17 10 13 8 13 = 10+3 11 9 17 11 3 8 11 = 10+1 11 9 18 1 3 8 18 = 10+8 11 10 8 1 3 8 10 = 10+0 12 0 8 1 3 8 12 = 10+2 1 2 0 8 1 3 8 radix-10, zestaw cyfr [0,9]

Reprezentacja liczb redundantnych Liczby redundantne mogą być wygodnie reprezentowane jako dwie liczby nieredundantne Dekmpozycja nie jest jednoznaczna, ale wartość całości jest jednoznaczna Konwersja liczby redundatnej wymaga po prostu dodania obu składników 11 9 17 10 12 18 radix-10, zestaw cyfr [0,18] 9 9 9 9 9 9 radix-10, zestaw cyfr [0,9] + 2 0 8 1 3 9 radix-10, zestaw cyfr [0,9] 1 2 0 8 1 3 8 radix-10, zestaw cyfr [0,9] 0 1 2 1 1 1 radix-2, zestaw cyfr [0,2] 0 0 1 0 0 1 radix-2, zestaw cyfr [0,1] + 0 1 1 1 1 0 radix-2, zestaw cyfr [0,1] 1 0 0 1 1 1 radix-2, zestaw cyfr [0,1]

Ograniczona propagacja przeniesienia W systemach redundantnych, oprerandy i wynik mogą mieć ten sam zestaw cyfr Mozliwa jest redukcja sum pośrednich za pomocą przeniesień, ograniczonych tylko do jednej pozycji w przód (limited-carry) szybkość: Θ(1) 11 9 17 10 12 18 radix-10, zestaw cyfr [0,18] + 6 12 9 10 8 18 radix-10, zestaw cyfr [0,18] 17 21 26 20 20 36 radix-10, zestaw cyfr [0,36] 7 11 16 0 10 16 Cyfry pozycyjne [0,16] 1 1 1 2 1 2 Cyfry przeniesień [0,2] 1 8 12 18 1 12 16 Wynik końcowy (suma) [0,18]

Realizacja ograniczonej propagacji

Limited-carry w systemie dwójkowym Wielokrotne dodawanie liczb: [0,2] + [0,1] [0,2] 0 1 2 1 1 1 radix-2, zestaw cyfr [0,2] + 0 1 1 1 0 1 radix-2, zestaw cyfr [0,1] 0 2 3 2 1 2 radix-2, zestaw cyfr [0,3] 0 0 1 0 1 0 Cyfry pozycyjne [0,1] 0 1 1 1 0 1 0 Cyfry przeniesień [0,1] 1 1 2 0 2 0 radix-2, zestaw cyfr [0,2] + 0 0 1 0 1 1 radix-2, zestaw cyfr [0,1] 1 1 3 0 3 1 radix-2, zestaw cyfr [0,3] 1 1 1 0 1 1 Cyfry pozycyjne [0,1] 0 0 1 0 1 0 Cyfry przeniesień [0,1] 1 2 1 1 1 1 radix-2, zestaw cyfr [0,2] Konwersja do NKB 1 0 0 1 1 1 1 Końcowy wynik dodawania (NKB)

Sumator z zachowaniem przeniesień Liczby redundantne [0,2] przechowywane są w postaci dwóch liczb NKB: pozycyjnej i przeniesień Elementem wykonującym dekompozycję liczby [0,3] [0,1] + [0,1] jest pełny sumator (FA) w układzie CSA (Carry-Save Adder) 0 1 2 1 1 1 x [0,2] + 0 1 1 1 0 1 y [0,1] 0 2 3 2 1 2 [0,3] 0 0 1 0 1 0 [0,1] 0 1 1 1 0 1 0 [0,1] 1 1 2 0 2 0 s [0,2] do pozycji i+1 a x i [0,2] b FA y i [0,1] c out c in z pozycji i-1 s i [0,2] carry-save

Sumator CSA 0 Dodaje 3 liczby w NKB i daje w wyniku 2 liczby NKB Szybkość: Θ(1) a n-1 b n-1 c n-1 c out FA c out FA c out FA Układ redukujący 3/2 (bit-counter 3/2) a n-2 b n-2 c n-2 a 0 b 0 c 0 CSA 0

Sumatory wieloargumentowe Zastosowania: mnożenie, operacje na wektorach i macierzach x y ------- --------------- x*y x y ------- --------------- x*y Dodawanie n-liczb k-bitowych daje wynik k+log 2 n bitowy

Implemetacja szeregowa Szybkość działania: Θ(n log k) n-liczb k-bitowych Sumator Θ(log k) Akumulator wyniku Rejestr przesuwny k+log n bitów

Drzewo sumatorów typu CPA (2/1) Każdy sumator typu CPA redukuje liczbę operandów Dla n-liczb wymagane jest n-1 sumatorow (dużo!) Szybkość: Θ(k+log n) dla sumatorów RCA n-liczb k-bitowych RCA RCA RCA k+1 k+1 k+1 RCA RCA k+2 k+2 RCA k+log n bitowy wynik

Drzewo sumatorów typu CSA (3/2) Sumatory CSA redukują liczbę argumentów do dwóch Szybkność działania sumatora CSA wynosi Θ(1) Szybkość całego drzewa: Θ(log n + log k) n-liczb k-bitowych Na końcu wymagany jest reduktor CPA 2/1 o szybkości Θ(log k) CSA CSA CSA CSA CPA CSA