Kybernetiikan summain on laite, joka muuntaa informaatiosignaalit (analogiset tai digitaaliset) signaaliksi, joka vastaa näiden signaalien summaa [1] ; laite, joka suorittaa lisäystoiminnon .
Tiedon esitystavasta riippuen erotetaan analogiset ja digitaaliset summaimet [1] .
Taulukkosummaimia käytettiin ensimmäisen kerran relelaskimissa Yhdysvalloissa ennen toista maailmansotaa.
Binäärisummain voidaan kuvata kolmella tavalla:
Koska kaavat ja piirit voidaan muuntaa identtisesti, niin yksi binäärisummaimen totuustaulukko voi vastata monia erilaisia loogisia kaavoja ja loogisia piirejä. Siksi tuloksen saamisen kannalta ottamatta huomioon summan laskemiseen käytettyä aikaa, taulukkomenetelmä binäärisummaimen määrittämiseksi on tärkein. Sumimen tavallinen taulukko- ja kaavakuvaus eivät ota huomioon todellisten logiikkaelementtien viiveaikoja eivätkä sovellu todellisten summaimien suorituskyvyn määrittämiseen.
x 0 =A | yksi | 0 | yksi | 0 | yksi | 0 | yksi | 0 | ||
---|---|---|---|---|---|---|---|---|---|---|
x 1 =B | yksi | yksi | 0 | 0 | yksi | yksi | 0 | 0 | ||
x 2 = | yksi | yksi | yksi | yksi | 0 | 0 | 0 | 0 | Toiminnon (funktion) nimi | Toiminnon numero |
yksi | 0 | 0 | yksi | 0 | yksi | yksi | 0 | Summabitti modulo 2 | F3.150 | |
yksi | yksi | yksi | 0 | yksi | 0 | 0 | 0 | Kanna vähän | F3.232 |
Kantoyksikkö esiintyy 4 kertaa 8:sta.
SDNF- summat moduuli 2:
kantobitti SDNF :
Piiriä, joka tarjoaa kahden yksibittisen luvun A ja B summauksen vastaanottamatta siirtobittiä edellisestä bitistä, kutsutaan puolisummaimeksi . Puolisummaimessa on 4 signaalilinjaa: kaksi tuloa signaaleille, jotka edustavat yksinumeroisia binäärilukuja A ja B, ja kaksi lähtöä: A:n ja B:n summa modulo 2 (S) ja siirtosignaali seuraavaan bittiin (P). Tässä tapauksessa S on vähiten merkitsevä bitti ja P on eniten merkitsevä bitti.
Yhdistämällä kaksi puolisummainta ja lisäämällä ylimääräinen TAI-piiri, voit luoda kolmivaiheisen täyden summaimen, jossa on lisätulo Pi -1 (kuvassa 1), joka vastaanottaa edellisen piirin siirtosignaalin. Puolisummaimen ensimmäinen vaihe suorittaa kahden binääriluvun summauksen ja generoi ensimmäisen osittaisen siirtobitin, puolisummaimen toinen vaihe lisää ensimmäisen vaiheen tuloksen kolmannella binääriluvulla ja generoi toisen osittaisen siirtobitin , loogisen elementin 2OR kolmas vaihe generoi tuloksena olevan siirtobitin merkittävimmälle bitille.
Täydellistä summainpiiriä voidaan käyttää "rakennuspalikoina" monibittisten summainpiirien rakentamiseen lisäämällä yksibittisiä täyssummaimia. Jokaista numeroa kohden, jota piirin on kyettävä käsittelemään, käytetään yhtä täyttä summainta.
Kuvan 1 summaimessa summan modulo 2 laskemisaika on 2dt, siirtoaika on 3dt, missä dt on viiveaika yhdessä tyypillisessä logiikkaelementissä. M-bittisessä summaimessa pahimmassa tapauksessa (kantoyksiköt kaikissa biteissä) siirtosignaali kulkee m-1 bitin läpi viimeiseen bittiin asti ja summa on valmis toisessa 2dt:ssä, joten maksimisummausaika on:
Enimmäislisäys- ja siirtolaskentaajat useammalle bitille on esitetty taulukossa 1:
Taulukko 1.
summaimen numeroiden määrä | yksi | 2 | neljä | kahdeksan | 16 | 32 | 64 |
---|---|---|---|---|---|---|---|
lisäysaika, dt | 2 | 5 | yksitoista | 23 | 47 | 95 | 191 |
siirron laskenta-aika, dt | 3 | 6 | 12 | 24 | 48 | 96 | 192 |
Binäärinen yksibittinen täyssummain on täysi trinaarinen (kolmen operandin) binäärinen logiikkafunktio , jossa on binäärinen (kaksibittinen) lähtö. Kaikki kolme operandia ja molemmat lähtöbitit ovat yksibittisiä.
Desimaalisumma voidaan määrittää kahden taulukon muodossa:
nolla siirrettynä edellisestä numerosta:
+ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
---|---|---|---|---|---|---|---|---|---|---|
+ | 0 | yksi | 2 | 3 | neljä | 5 | 6 | 7 | kahdeksan | 9 |
0 | 0 | yksi | 2 | 3 | neljä | 5 | 6 | 7 | kahdeksan | 9 |
yksi | yksi | 2 | 3 | neljä | 5 | 6 | 7 | kahdeksan | 9 | kymmenen |
2 | 2 | 3 | neljä | 5 | 6 | 7 | kahdeksan | 9 | kymmenen | yksitoista |
3 | 3 | neljä | 5 | 6 | 7 | kahdeksan | 9 | kymmenen | yksitoista | 12 |
neljä | neljä | 5 | 6 | 7 | kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 |
5 | 5 | 6 | 7 | kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 | neljätoista |
6 | 6 | 7 | kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 | neljätoista | viisitoista |
7 | 7 | kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 | neljätoista | viisitoista | 16 |
kahdeksan | kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 | neljätoista | viisitoista | 16 | 17 |
9 | 9 | kymmenen | yksitoista | 12 | 13 | neljätoista | viisitoista | 16 | 17 | kahdeksantoista |
ja siirrolla edellisestä numerosta:
+ | yksi | yksi | yksi | yksi | yksi | yksi | yksi | yksi | yksi | yksi |
---|---|---|---|---|---|---|---|---|---|---|
+ | 0 | yksi | 2 | 3 | neljä | 5 | 6 | 7 | kahdeksan | 9 |
0 | yksi | 2 | 3 | neljä | 5 | 6 | 7 | kahdeksan | 9 | kymmenen |
yksi | 2 | 3 | neljä | 5 | 6 | 7 | kahdeksan | 9 | kymmenen | yksitoista |
2 | 3 | neljä | 5 | 6 | 7 | kahdeksan | 9 | kymmenen | yksitoista | 12 |
3 | neljä | 5 | 6 | 7 | kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 |
neljä | 5 | 6 | 7 | kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 | neljätoista |
5 | 6 | 7 | kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 | neljätoista | viisitoista |
6 | 7 | kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 | neljätoista | viisitoista | 16 |
7 | kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 | neljätoista | viisitoista | 16 | 17 |
kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 | neljätoista | viisitoista | 16 | 17 | kahdeksantoista |
9 | kymmenen | yksitoista | 12 | 13 | neljätoista | viisitoista | 16 | 17 | kahdeksantoista | 19 |
tai yhden taulukon muodossa, jossa edellisen bitin siirtoyksikkö siirtää yhden sarakkeen oikealle:
+ | 0 | yksi | 2 | 3 | neljä | 5 | 6 | 7 | kahdeksan | 9 | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | yksi | 2 | 3 | neljä | 5 | 6 | 7 | kahdeksan | 9 | kymmenen |
yksi | yksi | 2 | 3 | neljä | 5 | 6 | 7 | kahdeksan | 9 | kymmenen | yksitoista |
2 | 2 | 3 | neljä | 5 | 6 | 7 | kahdeksan | 9 | kymmenen | yksitoista | 12 |
3 | 3 | neljä | 5 | 6 | 7 | kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 |
neljä | neljä | 5 | 6 | 7 | kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 | neljätoista |
5 | 5 | 6 | 7 | kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 | neljätoista | viisitoista |
6 | 6 | 7 | kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 | neljätoista | viisitoista | 16 |
7 | 7 | kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 | neljätoista | viisitoista | 16 | 17 |
kahdeksan | kahdeksan | 9 | kymmenen | yksitoista | 12 | 13 | neljätoista | viisitoista | 16 | 17 | kahdeksantoista |
9 | 9 | kymmenen | yksitoista | 12 | 13 | neljätoista | viisitoista | 16 | 17 | kahdeksantoista | 19 |
Sopivalla laiteohjelmistolla heksadesimaalisumma ja 27 summain-vähennysluku ROM:lla voivat toimia desimaalisummaimena (desimaali).
Rinnakkaissummaimet ovat riittävän nopeita lisäämään nopeasti pienen määrän kiinteäpituisia lukuja. Koska bittikohtainen lisääminen on luonnostaan peräkkäistä, kun lisäyksiä on hyvin paljon, on edullisempaa konfiguroida sama laitteisto ( ALU ) uudelleen suorittamaan useita sarjalisäyksiä rinnakkain tai ei samanaikaisesti.
Esimerkiksi rinnakkainen 64-bittinen binäärisummain, jossa on 64 binäärisummainta monimutkaisilla nopean siirtomenetelmillä, lisää 1 parin 64-bittisiä lukuja parhaissa menetelmissä noin 5dt:ssä ja 32 paria 64-bittisiä lukuja noin 32*5dt:ssä. =160dt.
32 peräkkäistä binaarisummainta ilman bittibittistä eteenpäinkelauspiirejä lisäävät 32 paria 64-bittisiä lukuja noin 64*2dt=128dt.
32 peräkkäistä kvaternaarista summainta ilman nopeita siirtopiirejä lisäävät 32 paria 64-bittisiä lukuja suunnilleen (64/lg 2 4)*2dt=64dt.
32 peräkkäistä heksadesimaalisummainta ilman nopeita siirtopiirejä lisäävät 32 paria 64-bittisiä lukuja suunnilleen (64/lg 2 16)*2dt=32dt.
32 peräkkäistä 250-kuusi summainta ilman pikasiirtopiirejä lisäävät 32 paria 64-bittisiä numeroita suunnilleen (64/lg 2 256)*2dt=16dt, ts. noin kymmenen kertaa nopeampi kuin rinnakkainen 64-bittinen summain nopealla siirtopiirillä.
32 peräkkäistä neljätuhatta yhdeksänkymmentäkuusi summainta ilman nopeita siirtopiirejä lisäävät 32 paria 64-bittisiä lukuja noin (64/lg 2 4096)*2dt=10.67dt.