I datasystemet er ALU en hovedkomponent i den sentrale prosesseringsenheten, som står for aritmetic logic unit og utfører aritmetiske og logiske operasjoner. Det er også kjent som en heltallsenhet (IU) som er en integrert krets i en CPU eller GPU, som er den siste komponenten som utfører beregninger i prosessoren. Den har muligheten til å utføre alle prosesser relatert til aritmetiske og logiske operasjoner som addisjons-, subtraksjons- og forskyvningsoperasjoner, inkludert boolske sammenligninger (XOR, OR, AND og NOT-operasjoner). Binære tall kan også utføre matematiske og bitvise operasjoner. Den aritmetiske logiske enheten er delt inn i AU (aritmetisk enhet) og LU (logisk enhet). Operandene og koden som brukes av ALU forteller den hvilke operasjoner som må utføres i henhold til inndata. Når ALU fullfører behandlingen av input, sendes informasjonen til datamaskinens minne.
Bortsett fra å utføre beregninger relatert til addisjon og subtraksjon, håndterer ALU-er multiplikasjon av to heltall ettersom de er utformet for å utføre heltallsberegninger; derfor er resultatet også et heltall. Imidlertid kan delingsoperasjoner vanligvis ikke utføres av ALU ettersom delingsoperasjoner kan gi et resultat i et flyttall. I stedet håndterer flytepunktsenheten (FPU) vanligvis divisjonsoperasjonene; andre ikke-heltallsberegninger kan også utføres av FPU.
I tillegg kan ingeniører designe ALU for å utføre alle typer operasjoner. Imidlertid blir ALU dyrere ettersom operasjonene blir mer komplekse fordi ALU ødelegger mer varme og tar opp mer plass i CPU. Dette er grunnen til å lage kraftig ALU av ingeniører, som gir sikkerhet for at CPU'en også er rask og kraftig.
Beregningene som trengs av CPU-en håndteres av den aritmetiske logiske enheten (ALU); de fleste operasjonene blant dem er logiske. Hvis CPU er gjort kraftigere, som er laget på grunnlag av ALU er designet. Da skaper den mer varme og tar mer kraft eller energi. Derfor må det være moderasjon mellom hvor kompleks og kraftig ALU er og ikke være mer kostbar. Dette er hovedårsaken til at de raskere CPUene er dyrere; derfor tar de mye strøm og ødelegger mer varme. Aritmetiske og logiske operasjoner er hovedoperasjonene som utføres av ALU; den utfører også bitskiftende operasjoner.
Selv om ALU er en hovedkomponent i prosessoren, kan ALUs design og funksjon være forskjellig i de forskjellige prosessorene. For case er noen ALUer designet for å utføre bare heltallsberegninger, og noen er for flyttalloperasjoner. Noen prosessorer inkluderer en enkelt aritmetisk logisk enhet for å utføre operasjoner, og andre kan inneholde mange ALUer for å fullføre beregninger. Operasjonene utført av ALU er:
Aritmetiske logiske enheter (ALU)-signaler
En rekke elektriske innganger og utgangsforbindelser er inneholdt av ALU, noe som førte til støping av de digitale signalene mellom den eksterne elektronikken og ALU.
ALU-inngang får signaler fra de eksterne kretsene, og som svar får ekstern elektronikk utgangssignaler fra ALU.
Data: Tre parallelle busser er inneholdt av ALU, som inkluderer to inngangs- og utgangsoperander. Disse tre bussene håndterer antall signaler, som er like.
Opcode: Når ALU skal utføre operasjonen, er det beskrevet av operasjonsvalgkoden hvilken type operasjon en ALU skal utføre aritmetiske eller logiske operasjoner.
Status
Konfigurasjoner av ALU
Beskrivelsen av hvordan ALU samhandler med prosessoren er gitt nedenfor. Hver aritmetisk logikkenhet inkluderer følgende konfigurasjoner:
- Instruksjonssettarkitektur
- Akkumulator
- Stable
- Registrer deg for å registrere deg
- Registrer stabel
- Registrer minne
Akkumulator
Mellomresultatet av hver operasjon er inneholdt av akkumulatoren, noe som betyr at Instruction Set Architecture (ISA) ikke er mer kompleks fordi det bare kreves å holde en bit.
Generelt er de mye raske og mindre komplekse, men for å gjøre Accumulator mer stabil; tilleggskodene må skrives for å fylle den med riktige verdier. Uheldigvis, med en enkelt prosessor, er det veldig vanskelig å finne akkumulatorer for å utføre parallellitet. Et eksempel på en akkumulator er skrivebordskalkulatoren.
Stable
Hver gang de siste operasjonene utføres, lagres disse på stabelen som holder programmer i topp-ned-rekkefølge, som er et lite register. Når de nye programmene legges til for å kjøre, presser de for å sette de gamle programmene.
Register-Register Arkitektur
Den inkluderer et sted for 1 destinasjonsinstruksjon og 2 kildeinstruksjoner, også kjent som en 3-register operasjonsmaskin. Denne instruksjonssettarkitekturen må være lengre for å lagre tre operander, 1 destinasjon og 2 kilder. Etter endt operasjon vil det være vanskelig å skrive resultatene tilbake til registrene, og også lengden på ordet bør være lengre. Det kan imidlertid føre til flere problemer med synkronisering hvis tilbakeskrivingsregelen blir fulgt på dette stedet.
MIPS-komponenten er et eksempel på register-til-register-arkitekturen. For input bruker den to operander, og for utdata bruker den en tredje distinkt komponent. Lagringsplassen er vanskelig å vedlikeholde da hver enkelt trenger et eget minne; derfor må det være premium til enhver tid. Dessuten kan det være vanskelig å utføre enkelte operasjoner.
Registrer - Stack Architecture
Generelt er kombinasjonen av register- og akkumulatoroperasjoner kjent som for Register - Stack Architecture. Operasjonene som må utføres i registerstabelarkitekturen skyves på toppen av stabelen. Og resultatene holdes på toppen av stabelen. Ved hjelp av å bruke Reverse polish-metoden kan mer komplekse matematiske operasjoner brytes ned. Noen programmerere, for å representere operander, bruker konseptet med et binært tre. Det betyr at metoden for omvendt polering kan være enkel for disse programmererne, mens det kan være vanskelig for andre programmerere. For å utføre Push- og Pop-operasjoner, er det behov for å lage ny maskinvare.
Registrer og Minne
I denne arkitekturen kommer den ene operanden fra registeret, og den andre kommer fra det eksterne minnet da det er en av de mest kompliserte arkitekturene. Årsaken bak det er at hvert program kan være veldig lenge siden de må holdes i full minneplass. Generelt er denne teknologien integrert med Register-Register Register-teknologi og kan praktisk talt ikke brukes separat.
Fordeler med ALU
ALU har forskjellige fordeler, som er som følger:
- Den støtter parallell arkitektur og applikasjoner med høy ytelse.
- Den har muligheten til å få ønsket utgang samtidig og kombinere heltalls- og flyttallvariabler.
- Den har evnen til å utføre instruksjoner på et veldig stort sett og har et høyt nøyaktighetsområde.
- To aritmetiske operasjoner i samme kode som addisjon og multiplikasjon eller addisjon og subtraksjon, eller hvilke som helst to operander kan kombineres av ALU. For etui, A+B*C.
- Gjennom hele programmet forblir de ensartede, og de er plassert på en måte som ikke kan avbryte en del i mellom.
- Generelt er det veldig raskt; derfor gir det resultater raskt.
- Det er ingen følsomhetsproblemer og ingen minnesløsing med ALU.
- De er rimeligere og minimerer kravene til logisk port.
Ulemper med ALU
Ulempene med ALU er diskutert nedenfor:
- Med ALU har flytende variabler flere forsinkelser, og den utformede kontrolleren er ikke lett å forstå.
- Feilene ville oppstå i resultatet hvis minneplassen var bestemt.
- Det er vanskelig å forstå amatører siden deres krets er kompleks; også er konseptet pipelining komplekst å forstå.
- En påvist ulempe med ALU er at det er uregelmessigheter i latenser.
- En annen ulempe er avrunding, noe som påvirker nøyaktigheten.