Full Adders
Logikken bordet for en full adder er litt mer komplisert enn de tabellene vi har brukt før, fordi vi nå har 3-inngang biter. Det ser ut som dette:
Ett-bit Full Adder med Bære-og Bære-Ut
CI A B Q CO
0 0 0 0 0
Opp Neste
- Hvordan fungerer JavaScript fungerer og hvordan kan jeg bygge enkle kalkulatorer med det?
- Hvordan C-Programmering Fungerer
- Hvordan Fungerer HTML5
- Hva er fordelene av å lære C programmering?
- Er data mining og data warehousing i slekt?
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Full adders kan bli implementert i en rekke måter.
Det er mange forskjellige måter du kan implementere denne tabellen. Jeg kommer til å presentere en metode her som har fordelen av å være lett å forstå. Hvis du ser på Q-bit, du kan se at de topp 4 biter oppfører seg som en XOR-gate med hensyn til A og B, mens den nederste 4 biter oppfører seg som en XNOR gate med hensyn til A og B. på samme måte, de beste 4 biter av CO oppfører seg som en gate OG med hensyn til A og B, og nederst i 4 biter oppføre seg som en ELLER gate. Ta disse fakta, kan følgende kretsen gjennomfører en full adder:
Dette er definitivt ikke den mest effektive måten å gjennomføre en full adder, men det er svært enkelt å forstå og spore gjennom logikk ved hjelp av denne metoden. Hvis du er så tilbøyelig, se hva du kan gjøre for å implementere denne logikken med færre porter.
Nå har vi et stykke funksjonalitet, kalt en “full adder.” Hva en datamaskin ingeniør da gjør er “black-box”, er det slik at han eller hun kan slutte å bekymre deg om detaljene av komponenten. En svart boks for en full adder ville se ut som dette:
Med den svarte boksen, er det nå lett å trekke en 4-bit full adder:
I dette diagrammet carry-ut fra hver bit feeds direkte i carry-in for den neste bit over. 0 er hardt kablet inn i den første bære-bit. Hvis du innspill to 4-biters tall på A-og B-linjene, vil du få 4-bit summen ut på Q-linjer, pluss 1 ekstra bit for den siste bære ut. Du kan se at denne kjeden kan strekke seg så langt som du liker, til og med 8, 16 eller 32-bits hvis det er ønskelig.
4-bit adder vi nettopp opprettet kalles en ripple-carry adder. Det blir som navnet fordi den bærer biter “ripple” fra en adder til den neste. Denne gjennomføringen har fordelen av enkelhet, men ulempen med hastighet problemer. I en virkelig krets, porter ta deg tid til å slå stater (den tid det er på rekkefølgen av nanosekunder, men i høy hastighet datamaskiner nanosekunder saken). Så en 32-biters eller 64-biters ripple-bære adders kan ta 100 til 200 nanosekunder å bosette seg i sine endelige summen på grunn av bære ringvirkninger. For denne grunn, ingeniører har skapt mer avansert adders som kalles carry-lookahead adders. Antall porter som kreves for å gjennomføre bære-lookahead er stort, men slo seg ned tiden for adder er mye bedre.