Home Blog Page 23871

Hvordan Boolsk Logikk Fungerer

0

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.

Hvordan Boolsk Logikk Fungerer

0

Enkel Adders

I artikkelen på bits og bytes, du har lært om binære tillegg. I dette kapittelet vil du lære hvordan du kan opprette en krets i stand til binære tillegg bruker portene som er beskrevet i forrige avsnitt.

La oss starte med et enkelt-bit adder. La oss si at du har et prosjekt hvor du trenger å legge til én biter sammen og få svar. På den måten vil du begynne å designe en krets for det er først se på alle de logiske kombinasjoner. Du kan gjøre det ved å se på de fire følgende summer:

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 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 10

Det ser fint til du kommer til 1 + 1. I så fall, har du som pesky bære litt å bekymre deg. Hvis du ikke bryr deg om å bære (fordi dette er, tross alt, en 1-bit tillegg problem), så kan du se at du kan løse dette problemet med en XOR-gate. Men hvis du ikke bryr deg, så kan du skrive din ligninger for å alltid inkludere 2 biter av produksjonen, slik som dette:

0 + 0 = 00

0 + 1 = 01

1 + 0 = 01

1 + 1 = 10

Fra disse ligningene kan du danne logikken tabell:

1-bit Adder med Bære-Ut

A B Q CO

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

Ved å se på denne tabellen kan du se at du kan implementere Q med en XOR-gate og CO (bære-ut) med en OG gate. Enkel.

Hva hvis du ønsker å legge to 8-bits byte sammen? Dette blir det litt vanskeligere. Den enkleste løsningen er å modularize problemet i gjenbrukbare komponenter og deretter gjenskape komponenter. I dette tilfellet trenger vi for å lage bare én komponent: en full binary adder.

Forskjellen mellom en full adder og tidligere adder vi så på er at en full adder aksepterer En a-og en B-inngang pluss en bære-i (CI) – inngang. Når vi har en full adder, så kan vi string åtte av dem sammen for å lage en byte-bredt adder og cascade carry bit fra en adder til den neste.

I neste avsnitt vil vi se på hvordan en full adder er implementert i en krets.

Hvordan Boolsk Logikk Fungerer

0

Enkel Gates

IKKE Tor

OG Gate

ELLER Gate

ELLER Gate

Det er tre, fem eller syv enkle porter som du trenger å lære om, er avhengig av hvordan du ønsker å telle dem (du vil se hvorfor i et øyeblikk). Med disse enkle portene du kan bygge kombinasjoner som vil implementere noen digital komponent du kan forestille deg. Disse gates kommer til å virke litt tørt her, og utrolig enkelt, men vi vil se noen interessante kombinasjoner i de følgende avsnittene som vil gjøre dem mye mer inspirerende. Hvis du ikke allerede har gjort det, å lese om Hvordan Bits og Bytes Arbeid ville være nyttig før du fortsetter.

IKKE Tor

Den enkleste mulige gate kalles en “inverter”, eller en IKKE-gate. Det tar en bit som input og produserer som output det motsatte. Logikken tabellen er:

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?

EN Q

0 1

1 0

IKKE gate har en inngang som kalles En og en utgang som kalles Q (“Q” brukes for utdata fordi hvis du brukte “O” du ville lett forveksle den med null). Tabellen viser hvordan gate oppfører seg. Når du bruker en 0 til A, Q gir en 1. Når du bruker en 1 A, Q produserer en 0. Enkel.

OG Gate

OG gate utfører en logisk “og” drift på to innganger, A og B:

A B Q

0 0 0

0 1 0

1 0 0

1 1 1

Ideen bak en OG gate er, “Hvis A OG B er begge 1, deretter Q bør være 1.” Du kan se at atferden i logikken tabell for porten. Du lese denne tabellen rad etter rad, som dette:

A B Q

0 0 0 Hvis A er 0 OG B er 0, Q er 0.

0 1 0 Hvis A er 0 OG B er 1, Q er 0.

1 0 0 Hvis A er 1 OG B er 0, Q er 0.

1 1 1 Hvis A er 1 OG B er 1, Q er 1.

ELLER Gate

Neste gate er en ELLER gate. Den grunnleggende ideen er, “Hvis En er 1 ELLER B er 1 (eller begge er 1), og deretter Q er 1.”

A B Q

0 0 0

0 1 1

1 0 1

1 1 1

NAND Gate

Disse er de tre grunnleggende gates (som er en måte å telle dem). Det er ganske vanlig å gjenkjenne to andre også: NAND – og NOR gate. Disse to porter er rett og slett en kombinasjon av en eller en ELLER gate med en IKKE-gate. Hvis du inkluderer disse to porter, da antallet stiger til fem. Her er det grunnleggende betjening av NAND-og NOR porter-du kan se de er rett og slett inversjon av and-OG or-porter:

ELLER Gate

A B Q

0 0 1

0 1 0

1 0 0

1 1 0

NAND Gate

A B Q

0 0 1

0 1 1

1 0 1

1 1 0

De siste to porter som er noen ganger lagt til i listen er XOR og XNOR gates, også kjent som “eksklusiv eller” og “eksklusiv eller” gates, henholdsvis. Her er deres bord:

XOR Gate

A B Q

0 0 0

0 1 1

1 0 1

1 1 0

XNOR Gate

A B Q

0 0 1

0 1 0

1 0 0

1 1 1

XOR Gate

XNOR Gate

Ideen bak en XOR-gate er, “Hvis enten A ELLER B er 1, men IKKE begge, Q er 1.” Grunnen til at ORDENEN ikke kan være inkludert i en liste over porter er fordi du kan implementere det enkelt ved å bruke den opprinnelige tre porter oppført.

Hvis du prøver alle fire forskjellige mønstre for A og B, og spore dem gjennom kretsen, vil du finne at Q oppfører seg som en XOR-gate. Siden det er et godt forstått symbol for XOR-porter, det er vanligvis lettere å tenke på XOR som en “standard gate” og bruke den på samme måte som OG og ELLER i koblingsskjemaer.

Hvordan Boolsk Logikk Fungerer

0

Boolsk logikk påvirker hvordan datamaskiner opererer.

HowStuffWorks.com

Har du noen gang lurt på hvordan en datamaskin kan gjøre noe som balanse en sjekk bok, eller spille sjakk, eller stavekontroll i et dokument? Disse er ting som, bare et par tiår siden, bare mennesker kan gjøre. Nå datamaskiner dem med tilsynelatende letthet. Hvordan kan en “chip” som består av silisium og ledninger gjøre noe som virker som det krever menneskelig tanke?

Hvis du ønsker å forstå svaret på dette spørsmålet ned i selve kjernen, den første tingen du trenger å forstå er noe som heter Boolsk logikk. Boolsk logikk, som opprinnelig ble utviklet av George Boole i midten av 1800-tallet, gjør at ganske mange uventede ting som skal kartlegges i bits og bytes. Den store tingen om Boolsk logikk er at når du får taket på ting, Boolsk logikk (eller i det minste delene du trenger for å forstå driften av datamaskiner) er vanvittig enkelt. I denne artikkelen vil vi først diskutere enkel logikk “porter”, og deretter se hvordan du kombinerer dem til noe nyttig.

Ved Hjelp Av Logikk

  • Hvordan Bits og Bytes Arbeid
  • Hvordan Elektroniske Porter Arbeid
  • Hvordan Datamaskiner Fungerer Sjakk

Hur Boolesk Logik Fungerar

0

Genomförandet Av Grindar

I föregående avsnitt såg vi att, med hjälp av mycket enkla Booleska gates, kan vi genomföra huggormar, räknare, lås och så vidare. Det är en stor bedrift, eftersom det inte var så länge sedan människor var de enda som kunde göra saker som att lägga till två siffror tillsammans. Med lite arbete, det är inte svårt att designa Boolean kretsar att genomföra subtraktion, multiplikation, division… kan Du se att vi inte är så långt borta från en miniräknare. Därifrån är det inte långt till ett hopp till fullt utvecklad Processorer som används i datorer.

Så hur kan vi implementera dessa portar i verkliga livet? Mr Boole kom upp med dem på papper och på papper att de ser bra ut. Att använda dem, men vi behöver för att genomföra dem i den fysiska verkligheten så att grindar kan utföra deras logik aktivt. När vi gör detta språng, då har vi startat på vägen mot att skapa verklig beräkning enheter.

Nästa

  • Hur fungerar JavaScript för att fungera och hur kan jag bygga en enkel miniräknare med det?
  • Hur C-Programmering Fungerar
  • Hur HTML5 Fungerar
  • Vad är fördelarna med att lära sig C-programmering?
  • Är data mining och data warehousing?

Det enklaste sättet att förstå det fysiska genomförandet av Boolesk logik är att använda reläer. Detta är i själva verket hur de allra första datorerna infördes. Ingen genomför datorer med reläer längre-idag, folk använder sub-mikroskopiska transistorer etsad på kisel chips. Dessa transistorer är otroligt liten och snabb, och de förbrukar väldigt lite ström jämfört med ett relä. Men, reläer är otroligt lätt att förstå och de kan implementera en Boolesk logik mycket helt enkelt. På grund av att enkelhet, kommer du att kunna se att kartläggning från “gates på papper” till “aktiv gates genomförs i den fysiska verkligheten” är möjligt och enkelt. Utför samma kartläggning med transistorer är bara så lätt.

Låt oss börja med en inverter. Att genomföra en INTE grinden med ett relä är enkel: det vi ska göra är att använda spänningar för att representera lite staterna. Vi kommer att definiera en binär 1 till 6 volt och en binär 0 vara noll volt (jord). Då kommer vi att använda en 6-volts batteri för att driva våra kretsar. Vår INTE grinden kommer därför se ut så här:

[Om denna siffra är ingen mening att du, läs Hur Reläer Arbete för en förklaring.]

Du kan se i denna krets att om du ansöker noll volt till En, då får man 6 volt ut på Q, och om du ansöker 6 volt till En, får du noll volt ut på Q. Det är mycket lätt att genomföra en inverter med ett relä!

Det är lika lätt att genomföra en OCH-grind med två reläer:

Här kan du se om du har installerat den 6 volt till A och B, Q kommer att ha 6 volt. Annars Q kommer att ha noll volt. Det är precis det beteende som vi vill ha från en OCH-grind. En ELLER-grind är ännu enklare-bara krok två trådar för A och B tillsammans för att skapa en ELLER. Du kan få finare än att om du vill och använda två reläer parallellt.

Du kan se från denna diskussion som du kan skapa tre grundläggande portarna — INTE, och-OCH ELLER-från reläer. Du kan sedan koppla dessa fysiska portar tillsammans med den logik diagram som visas ovan för att skapa en fysisk 8-bitars ripple-carry adder. Om du använder enkel brytare att applicera A och B ingångarna till adder och krok alla åtta Q linjer för glödlampor, kommer du att kunna lägga till två siffror tillsammans och läsa resultaten på belysningen (“light on” = 1, “light off” = 0).

Boolesk logik i form av enkla grindar är mycket enkelt. Från enkla grindar kan du skapa mer komplicerade funktioner, som tillägg. Fysiskt att genomföra gates är möjligt och enkelt. Från dessa tre fakta har du hjärtat av den digitala revolutionen, och du förstår, i kärnan, hur datorer fungerar.

Hur Boolesk Logik Fungerar

0

J-K Flip-Flop

En mycket vanlig form av flip-floppen är J-K flip-flop. Det är oklart, historiskt sett, där namnet “J-K” kom från, men det är i allmänhet representerade i en svart låda som den här:

I detta diagram, P står för “Preset” C står för “Clear” och Clk står för “Klocka.”

Nästa

  • Hur fungerar JavaScript för att fungera och hur kan jag bygga en enkel miniräknare med det?
  • Hur C-Programmering Fungerar
  • Hur HTML5 Fungerar
  • Vad är fördelarna med att lära sig C-programmering?
  • Är data mining och data warehousing?

J-K flip-flop kan användas för att skapa och edge-spärren utlöses, vilket är viktigt för design av Processorer.

P C Clk J K Q Q’

1 1 1–0 1 0 1 0

1 1 1–0 0 1 0 1

1 1 1–0 1 1 Växlar

1 0 x x x 0 1

0 1 x x x 1 0

Här är vad tabellen säger: för det Första, Preset och Clear åsidosätta J, K och Clk helt. Så om Förinställning går till 0, då Q går till 1; och om det Tydligt går till 0, då Q går till 0 oavsett vad J, K och Clk gör. Men om både Preset och Clear är 1, J, K och Clk kan fungera. Den 1-till-0 – notation innebär att när klockan ändras från 1 till 0, värdet av J och K är ihågkommen om de är motsatser. På låg-gå kanten av klockan (övergång från 1 till 0), J och K är lagrade. Men om både J och K råkar vara 1 på låg-gå kanten, då Q helt enkelt växlar. Det är, Q förändringar från sitt nuvarande tillstånd till det motsatta tillståndet.

Du kanske frågar dig själv just nu, “Vad i hela världen är det bra för?” Det visar sig att begreppet “edge utlöser” är mycket användbart. Det faktum att J-K flip-flop bara “spärrarna” J-K-ingångar på en övergång från 1 till 0 och gör det mycket mer användbart som ett minne. J-K flip-flops är också mycket användbart i – räknare (som används flitigt när man skapar en digital klocka). Här är ett exempel på ett 4-bitars räknare som använder J-K flip-floppar:

Utgångarna för denna krets är A, B, C och D, och de utgör en 4-bitars binära tal. I clock-ingång på vänster-de flesta flip-flop kommer en signal att ändra från 1 till 0 och tillbaka till flera gånger på 1 (en oscillerande signal). Kommer räknaren att räkna låg-kommer kanterna ser i den här signalen. Det är, varje gång den inkommande signalen växlar från 1 till 0, 4-bitars nummer representeras av A, B, C och D kommer att öka med 1. Så räkna kommer att gå från 0 till 15 och sedan cykla tillbaka till 0. Du kan lägga till så många bitar som du vill att denna räknare och räkna vad du vill. Till exempel, om du sätter en magnetisk brytare på en dörr, kommer räknaren att räkna antalet gånger som dörren öppnas och stängs. Om du sätter en optisk sensor på en väg, räknaren kan räkna antalet bilar att köra med.

En annan användning av en J-K flip-flop är att skapa en edge-spärren utlöses, som visas här.

I detta arrangemang, värdet på D är “låst” när klockan kanten går från låg till hög. Spärrarna är oerhört viktiga i utformningen av saker som central processing unit (Cpu) och kringutrustning för datorer.

Hur Boolesk Logik Fungerar

0

Flip Flops

Enklast möjliga feedback krets med två växelriktare

En av de mer intressanta saker som du kan göra med den Booleska gates är att skapa minne med dem. Om du ordna grindar på rätt sätt, kommer de ihåg en ingång värde. Detta enkla koncept är grunden för RAM (random access memory) på datorer, och gör det också möjligt att skapa en mängd andra användbara kretsar.

Minnet bygger på ett koncept som kallas feedback. Det är produktionen av en grind matas tillbaka till ingången. Enklast möjliga feedback krets med två växelriktare visas ovan.

Nästa

  • Hur fungerar JavaScript för att fungera och hur kan jag bygga en enkel miniräknare med det?
  • Hur C-Programmering Fungerar
  • Hur HTML5 Fungerar
  • Vad är fördelarna med att lära sig C-programmering?
  • Är data mining och data warehousing?

Om du följer den feedback väg, kan du se att om Q råkar vara 1, det kommer alltid vara 1. Om det råkar vara 0, kommer det alltid att vara 0. Eftersom det är trevligt att kunna kontrollera kretsar som vi skapar, det man inte har mycket användning-men det låter som du se hur feedback fungerar.

Det visar sig att i “riktiga” kretsar, kan du faktiskt använda denna typ av enkel-inverter feedback strategi. En mer användbar feedback krets med två NAND-grindar visas nedan:

Denna krets har två ingångar (R och S) och två utgångar (Q och Q’). På grund av den feedback dess logik bordet är lite ovanligt jämfört med de vi har sett tidigare:

 

R S Q’

0 0 Olaglig

0 1 1 0

1 0 0 1

1 1 Minns

Vad den logik som tabellen visar är att:

  • Om R och S är motsatser till varandra, då Q följer S och Q är inversen av Q.
  • Om både R och S är bytt till 1 samtidigt, då kretsen kommer ihåg hur det var tidigare presenteras på R och S.

Det är också roligt olaglig stat. I denna stat, R-och S-både gå till 0, vilket har inget värde i minnet känsla. På grund av olagligt statligt du normalt lägga till lite luftkonditionering logik på input-sidan för att förhindra det, etts som visas här:

I denna krets finns det två ingångar (D och E). Du kan tänka på D som “Data” och E som “Aktivera.” Om E är 1, då kommer Q att följa D. Om E ändras till 0, men F kommer ihåg vad sågs senast på D. En krets som beter sig på detta sätt är allmänt som en flip-flop.

I nästa avsnitt ska vi titta på J-K flip-flop.

Hur Boolesk Logik Fungerar

0

Full Huggormar

Logiken bord för en full adder är något mer komplicerat än de tabeller som vi har använt tidigare, eftersom vi nu har ingång 3 bitar. Det ser ut så här:

En lite Full Adder med Bär och Bär Ut

CI A B Q CO

0 0 0 0 0

Nästa

  • Hur fungerar JavaScript för att fungera och hur kan jag bygga en enkel miniräknare med det?
  • Hur C-Programmering Fungerar
  • Hur HTML5 Fungerar
  • Vad är fördelarna med att lära sig C-programmering?
  • Är data mining och data warehousing?

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 huggormar kan genomföras på en mängd olika sätt.

Det finns många olika sätt som du kan genomföra denna tabell. Jag kommer att presentera en metod som har fördelen av att vara lätt att förstå. Om du tittar på Q-bit, kan man se att de bästa 4 bitar är att bete sig som en XOR-grind med avseende på A och B, medan den lägsta 4 bitarna är att bete sig som en XNOR gate med avseende på A och B. på samma sätt, de bästa 4 bitar av CO-beter sig som en OCH-grind med avseende på A och B, och botten 4 bitar beter sig som ett ELLER porten. Med dessa fakta, följande kretsen genomför en full adder:

Detta är definitivt inte det mest effektiva sättet att genomföra en full adder, men det är extremt lätt att förstå och spåra genom logik med hjälp av denna metod. Om du så önskar, se vad du kan göra för att genomföra denna logik med färre grindar.

Nu har vi en bit av funktionalitet som kallas en “full adder.” Vad en dator ingenjör gör då är “black-box” så att han eller hon kan sluta oroa om detaljerna i komponenten. En svart låda för en full adder skulle se ut så här:

Med att black box, är det nu lätt att dra en 4-bitars full adder:

I detta diagram carry-ut från varje bit flöden direkt i carry-in på nästa bit över. 0 är hårt fast i den inledande carry-lite. Om du matar in två 4-bitars tal på A-och B-linje, kommer du att få 4-bitars summan ut på Q-linjerna, plus 1 extra bit för sista genomföra. Du kan se att denna kedja kan sträcka sig så långt som du vill, till och med 8, 16 eller 32 bitar om så önskas.

Det 4-bitars adder skapade vi bara kallas en ripple-carry adder. Det blir det namnet eftersom den bär bitar “ringar på vattnet” från en huggorm till nästa. Denna lösning har fördelen av enkelhet men nackdelen med fart problem. I en verklig krets, grindar ta tid att växla staterna (tiden är i storleksordningen nanosekunder, men i hög hastighet datorer nanosekunder). Den 32-bitars eller 64-bitars ripple-carry huggormar kan ta 100 till 200 nanosekunder att lösa in deras slutliga summan på grund av bär rippel. Av denna anledning, ingenjörer har skapat mer avancerade huggormar kallade carry-lookahead huggormar. Antalet portar som krävs för att genomföra carry-lookahead är stor, men avräkning av tid för justering är mycket bättre.

Hur Boolesk Logik Fungerar

0

Enkla Tilläggsfunktioner

I artikeln på bits och bytes, som du lärt dig om på binär addition. I det här avsnittet kommer du lära dig hur du kan skapa en krets som är kapabel av binär addition med hjälp av de portar som beskrivs i föregående avsnitt.

Låt oss börja med en enkel-bitars adder. Låt oss säga att du har ett projekt där du behöver för att lägga till enstaka bitar tillsammans och få svar. Hur skulle du börja med att utforma en krets som är att först titta på alla logiska kombinationer. Du kan göra det genom att titta på de fyra följande summor:

Nästa

  • Hur fungerar JavaScript för att fungera och hur kan jag bygga en enkel miniräknare med det?
  • Hur C-Programmering Fungerar
  • Hur HTML5 Fungerar
  • Vad är fördelarna med att lära sig C-programmering?
  • Är data mining och data warehousing?

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 10

Som ser bra tills du får 1 + 1. I så fall, har ni som är jobbiga att bära lite att oroa. Om du inte bryr dig om bär (eftersom detta är, trots allt, en 1-bit utöver problem), då kan du se till att du kan lösa detta problem med en XOR-grind. Men om du inte bryr dig, då kan du skriva om dina ekvationer för att alltid inkludera 2 bitar av produktionen, som den här:

0 + 0 = 00

0 + 1 = 01

1 + 0 = 01

1 + 1 = 10

Från dessa ekvationer kan du bilda logiken tabell:

1-bit Adder med Carry-Ut

A B Q CO

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

Genom att titta på den här tabellen kan du se att du kan genomföra Q med en XOR-grind och CO (carry-out) med en OCH-grind. Enkla.

Vad gör du om du vill lägga till två 8-bitars byte tillsammans? Detta blir något svårare. Den enklaste lösningen är att modularisering problemet i återanvändbara komponenter och sedan kopiera komponenter. I det här fallet, vi måste bara skapa en komponent: ett fullt binärt adder.

Skillnaden mellan en full adder och tidigare adder vi tittat på är att en full adder accepterar En a-och en B-ingång plus en bära-i (CI) – ingång. När vi har en full adder, då kan vi sträng åtta av dem tillsammans för att skapa en byte-wide adder och cascade carry bit från en huggorm till nästa.

I nästa avsnitt ska vi titta på hur en full justering genomförs i en krets.

Hur Boolesk Logik Fungerar

0

Enkla Grindar

INTE Grinden

OCH Gate

ELLER Porten

Inte HELLER Gate

Det finns tre, fem eller sju enkla grindar som du behöver för att lära sig om, beroende på hur man vill räkna dem (du kommer att se varför i ett ögonblick). Med dessa enkla grindar kan du bygga kombinationer som kommer att genomföra någon digital komponent som du kan tänka dig. Dessa portar kommer att verka lite torrt här, och det är otroligt enkelt, men vi kommer att se en del intressanta kombinationer i de följande avsnitten som kommer att göra dem mycket mer inspirerande. Om du inte redan har gjort det, att läsa Hur Bits och Bytes Arbete skulle vara till hjälp innan du fortsätter.

INTE Grinden

Enklast möjliga porten kallas för en “inverter”, eller en som INTE gate. Det tar en bit som indata och ger som utdata till sin motsats. Logiken tabellen är:

Nästa

  • Hur fungerar JavaScript för att fungera och hur kan jag bygga en enkel miniräknare med det?
  • Hur C-Programmering Fungerar
  • Hur HTML5 Fungerar
  • Vad är fördelarna med att lära sig C-programmering?
  • Är data mining och data warehousing?

EN Q

0 1

1 0

INTE porten har en ingång som kallas En och en utgång som kallas Q (“Q” används för produktionen eftersom om du har använt “O,” du skulle lätt blandar ihop det med noll). Tabellen visar hur tor fungerar. När du har installerat en 0, Q producerar en 1. När du använder en 1 A, Q ger en 0. Enkla.

OCH Gate

OCH gate utför ett logiskt “och” operation på två ingångar, A och B:

A B Q

0 0 0

0 1 0

1 0 0

1 1 1

Tanken bakom en OCH-grind är, “Om A OCH B är båda 1, då Q bör vara 1.” Du kan se det beteendet i den logiska tabellen för porten. Du läser den här tabellen rad för rad, så här:

A B Q

0 0 0 Om A är 0 OCH B 0, Q 0.

0 1 0 Om A är 0 OCH B är 1, Q är 0.

1 0 0 Om A är 1 OCH B är 0, Q 0.

1 1 1 Om A 1 OCH B 1, Q-1.

ELLER Porten

Nästa gate är en ELLER-grind. Den grundläggande tanken är, “Om A är 1 ELLER B är 1 (eller båda är 1), då är Q 1.”

A B Q

0 0 0

0 1 1

1 0 1

1 1 1

NAND-Grind

Dessa är de tre grundläggande gates (som är ett sätt att räkna dem). Det är ganska vanligt att känna igen två andra också: NAND – och NOR – grind. Dessa två portar är helt enkelt en kombination av ett OCH eller ett ELLER porten med en INTE grinden. Om du inkluderar dessa två portar, då räkningen stiger till fem. Här är de grundläggande drift av NAND-och NOR-grindar-du kan se att de är helt enkelt inversioner av och-OCH ELLER-grindar:

Inte HELLER Gate

A B Q

0 0 1

0 1 0

1 0 0

1 1 0

NAND-Grind

A B Q

0 0 1

0 1 1

1 0 1

1 1 0

De sista två grindar som tillsätts ibland för att listan är XOR och XNOR gates, även känd som “exklusivt eller” och “exklusivt eller” gates, respektive. Här är deras bord:

XOR-Gate

A B Q

0 0 0

0 1 1

1 0 1

1 1 0

XNOR Gate

A B Q

0 0 1

0 1 0

1 0 0

1 1 1

XOR-Gate

XNOR Gate

Tanken bakom en XOR-grind är, “Om antingen A ELLER B är 1, men INTE båda, är Q 1.” Anledningen till XOR kan inte ingå i en lista över portar är för att du kan genomföra det lätt att använda de ursprungliga tre portar som anges.

Om du har försökt med alla fyra olika mönster för A och B och spåra dem genom kretsen, kommer du att finna att Q beter sig som en XOR-grind. Eftersom det är en väl förstått symbol för XOR-grindar, det är i allmänhet enklare att tänka XOR som en “vanlig grind” och använda det på samma sätt som OCH och ELLER i kopplingsscheman.