Az összeadó a kibernetikában olyan eszköz, amely az információs jeleket (analóg vagy digitális) e jelek összegével egyenértékű jellé alakítja [1] ; összeadási műveletet végrehajtó eszköz .
Az információ megjelenítési formájától függően analóg és digitális összeadókat különböztetnek meg [1] .
A táblázatos összeadókat a második világháború előtt először az Egyesült Államokban használták relé-számítógépekben.
A bináris összeadó háromféleképpen írható le:
Mivel a képletek és az áramkörök azonosan transzformálhatók, így egy bináris összeadó egyetlen igazságtáblázata sok különböző logikai képletnek és logikai áramkörnek felelhet meg. Ezért abból a szempontból, hogy az eredményt az összeg kiszámítására fordított idő figyelembevétele nélkül kapjuk meg, a bináris összeadó meghatározására szolgáló táblázatos módszer a fő. Az összeadó szokásos táblázatos és képletes leírása nem veszi figyelembe a valós logikai elemek késleltetési idejét, és nem alkalmas valós összeadók teljesítményének meghatározására.
x 0 =A | egy | 0 | egy | 0 | egy | 0 | egy | 0 | ||
---|---|---|---|---|---|---|---|---|---|---|
x 1 =B | egy | egy | 0 | 0 | egy | egy | 0 | 0 | ||
x 2 = | egy | egy | egy | egy | 0 | 0 | 0 | 0 | Művelet (függvény) neve | Funkció száma |
egy | 0 | 0 | egy | 0 | egy | egy | 0 | Sum bit modulo 2 | F3.150 | |
egy | egy | egy | 0 | egy | 0 | 0 | 0 | Hordj kicsit | F3.232 |
A hordozóegység 8-ból 4 alkalommal fordul elő.
SDNF összegek 2. modul:
hordozó bit SDNF :
Félösszeadónak nevezzük azt az áramkört, amely két egybites A és B szám összeadását biztosítja anélkül, hogy átviteli bitet kapna az előző bittől . A félösszeadónak 4 jelvonala van: két bemenet az A és B egyjegyű bináris számokat képviselő jelekhez, valamint két kimenet: az A és B modulo 2 összege (S) és a következő bitre vivő jel (P). Ebben az esetben S a legkisebb szignifikáns bit, és P a legjelentősebb bit.
Két félösszeadó kombinálásával és egy további VAGY áramkör hozzáadásával létrehozhat egy háromfokozatú teljes összeadót egy további Pi -1 bemenettel (az 1. ábrán), amely fogadja az előző áramkör átviteli jelét. A félösszeadó első szakasza két bináris szám összeadását hajtja végre, és előállítja az első részleges hordozóbitet, a félösszeadó második szakasza összeadja az első szakasz eredményét a harmadik bináris számmal, és előállítja a második részleges hordozóbitet. , a 2OR logikai elem harmadik szakasza generálja az eredményül kapott átviteli bitet a legjelentősebb bithez.
A teljes összeadó áramkör „építőelemként” használható többbites összeadó áramkörök felépítéséhez egybites teljes összeadók hozzáadásával. Minden egyes számjegyhez, amelyet az áramkörnek kezelni kell, egy teljes összeadót használnak.
Az 1. ábrán látható összeadóban a modulo 2 összeg kiszámításának ideje 2dt, az átvitel kiszámításának ideje 3dt, ahol dt a késleltetési idő egy tipikus logikai elemben. Egy m-bites összeadóban a legrosszabb esetben (minden bitben átviteli egység) a hordozójel m-1 biten keresztül megy át az utolsó bitig, és újabb 2dt-ban lesz kész az összeg, tehát a maximális összeadási idő:
A további bitek maximális összeadási és átviteli számítási ideje az 1. táblázatban látható: 1.
táblázat.
az összeadó számjegyeinek száma | egy | 2 | négy | nyolc | 16 | 32 | 64 |
---|---|---|---|---|---|---|---|
hozzáadási idő, dt | 2 | 5 | tizenegy | 23 | 47 | 95 | 191 |
átviteli számítási idő, dt | 3 | 6 | 12 | 24 | 48 | 96 | 192 |
A bináris egybites teljes összeadó egy teljes trináris (három operandusos) bináris logikai függvény bináris (két bites) kimenettel. Mindhárom operandus és mindkét kimeneti bit egybites.
A decimális összeadó két táblázat formájában adható meg:
az előző számjegyből átvitt nullával:
+ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
---|---|---|---|---|---|---|---|---|---|---|
+ | 0 | egy | 2 | 3 | négy | 5 | 6 | 7 | nyolc | 9 |
0 | 0 | egy | 2 | 3 | négy | 5 | 6 | 7 | nyolc | 9 |
egy | egy | 2 | 3 | négy | 5 | 6 | 7 | nyolc | 9 | tíz |
2 | 2 | 3 | négy | 5 | 6 | 7 | nyolc | 9 | tíz | tizenegy |
3 | 3 | négy | 5 | 6 | 7 | nyolc | 9 | tíz | tizenegy | 12 |
négy | négy | 5 | 6 | 7 | nyolc | 9 | tíz | tizenegy | 12 | 13 |
5 | 5 | 6 | 7 | nyolc | 9 | tíz | tizenegy | 12 | 13 | tizennégy |
6 | 6 | 7 | nyolc | 9 | tíz | tizenegy | 12 | 13 | tizennégy | tizenöt |
7 | 7 | nyolc | 9 | tíz | tizenegy | 12 | 13 | tizennégy | tizenöt | 16 |
nyolc | nyolc | 9 | tíz | tizenegy | 12 | 13 | tizennégy | tizenöt | 16 | 17 |
9 | 9 | tíz | tizenegy | 12 | 13 | tizennégy | tizenöt | 16 | 17 | tizennyolc |
és az előző számjegy átvitelével:
+ | egy | egy | egy | egy | egy | egy | egy | egy | egy | egy |
---|---|---|---|---|---|---|---|---|---|---|
+ | 0 | egy | 2 | 3 | négy | 5 | 6 | 7 | nyolc | 9 |
0 | egy | 2 | 3 | négy | 5 | 6 | 7 | nyolc | 9 | tíz |
egy | 2 | 3 | négy | 5 | 6 | 7 | nyolc | 9 | tíz | tizenegy |
2 | 3 | négy | 5 | 6 | 7 | nyolc | 9 | tíz | tizenegy | 12 |
3 | négy | 5 | 6 | 7 | nyolc | 9 | tíz | tizenegy | 12 | 13 |
négy | 5 | 6 | 7 | nyolc | 9 | tíz | tizenegy | 12 | 13 | tizennégy |
5 | 6 | 7 | nyolc | 9 | tíz | tizenegy | 12 | 13 | tizennégy | tizenöt |
6 | 7 | nyolc | 9 | tíz | tizenegy | 12 | 13 | tizennégy | tizenöt | 16 |
7 | nyolc | 9 | tíz | tizenegy | 12 | 13 | tizennégy | tizenöt | 16 | 17 |
nyolc | 9 | tíz | tizenegy | 12 | 13 | tizennégy | tizenöt | 16 | 17 | tizennyolc |
9 | tíz | tizenegy | 12 | 13 | tizennégy | tizenöt | 16 | 17 | tizennyolc | 19 |
vagy egyetlen táblázat formájában, amelyben a hordozó egység az előző bittől egy oszlopot jobbra tol:
+ | 0 | egy | 2 | 3 | négy | 5 | 6 | 7 | nyolc | 9 | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | egy | 2 | 3 | négy | 5 | 6 | 7 | nyolc | 9 | tíz |
egy | egy | 2 | 3 | négy | 5 | 6 | 7 | nyolc | 9 | tíz | tizenegy |
2 | 2 | 3 | négy | 5 | 6 | 7 | nyolc | 9 | tíz | tizenegy | 12 |
3 | 3 | négy | 5 | 6 | 7 | nyolc | 9 | tíz | tizenegy | 12 | 13 |
négy | négy | 5 | 6 | 7 | nyolc | 9 | tíz | tizenegy | 12 | 13 | tizennégy |
5 | 5 | 6 | 7 | nyolc | 9 | tíz | tizenegy | 12 | 13 | tizennégy | tizenöt |
6 | 6 | 7 | nyolc | 9 | tíz | tizenegy | 12 | 13 | tizennégy | tizenöt | 16 |
7 | 7 | nyolc | 9 | tíz | tizenegy | 12 | 13 | tizennégy | tizenöt | 16 | 17 |
nyolc | nyolc | 9 | tíz | tizenegy | 12 | 13 | tizennégy | tizenöt | 16 | 17 | tizennyolc |
9 | 9 | tíz | tizenegy | 12 | 13 | tizennégy | tizenöt | 16 | 17 | tizennyolc | 19 |
A megfelelő firmware-rel a ROM-on egy hexadecimális összeadó és egy huszonhét összeadó-kivonó decimális összeadóként (tizedes) működhet.
A párhuzamos összeadók elég gyorsak ahhoz, hogy gyorsan hozzáadjanak kis számú rögzített hosszúságú számot. Mivel a bitenkénti összeadás eleve szekvenciális, nagyon sok hozzáadás esetén előnyösebb ugyanazt a hardvert ( ALU ) újrakonfigurálni, hogy párhuzamosan több soros hozzáadást hajtson végre, vagy nem egyszerre.
Például egy párhuzamos 64 bites bináris összeadó, amely 64 bináris összeadót tartalmaz összetett gyors átviteli sémákkal, 1 pár 64 bites számot ad hozzá a legjobb sémákban körülbelül 5dt-ban, és 32 pár 64 bites számot körülbelül 32*5dt-ban. =160dt.
32 egymást követő bináris összeadó bitről bitre gyors előrecsatoló áramkörök nélkül 32 pár 64 bites számot ad hozzá körülbelül 64*2dt=128dt értékben.
32 egymást követő négyes összeadó gyors átviteli áramkörök nélkül 32 pár 64 bites számot ad hozzá körülbelül (64/lg 2 4)*2dt=64dt.
32 egymást követő hexadecimális összeadó gyors átviteli áramkörök nélkül 32 pár 64 bites számot ad hozzá körülbelül (64/lg 2 16)*2dt=32dt.
32 egymást követő 250-hat összeadó gyorsátviteli áramkörök nélkül 32 pár 64 bites számot ad hozzá körülbelül (64/lg 2 256)*2dt=16dt, azaz. körülbelül tízszer gyorsabb, mint egy párhuzamos 64 bites összeadó gyors átviteli áramkörökkel.
32 egymást követő négyezer-kilencvenhat összeadó gyors átviteli áramkörök nélkül 32 pár 64 bites számot ad hozzá körülbelül (64/lg 2 4096)*2dt=10,67dt.