I computersystemet er ALU en hovedkomponent i den centrale behandlingsenhed, som står for aritmetisk logisk enhed og udfører aritmetiske og logiske operationer. Det er også kendt som en heltalsenhed (IU), der er et integreret kredsløb i en CPU eller GPU, som er den sidste komponent til at udføre beregninger i processoren. Den har evnen til at udføre alle processer relateret til aritmetiske og logiske operationer såsom addition, subtraktion og forskydningsoperationer, inklusive booleske sammenligninger (XOR, OR, AND og NOT operationer). Binære tal kan også udføre matematiske og bitvise operationer. Den aritmetiske logiske enhed er opdelt i AU (aritmetisk enhed) og LU (logisk enhed). De operander og kode, der bruges af ALU'en, fortæller den, hvilke operationer der skal udføres i henhold til inputdata. Når ALU'en afslutter behandlingen af input, sendes informationen til computerens hukommelse.
Bortset fra at udføre beregninger relateret til addition og subtraktion, håndterer ALU'er multiplikationen af to heltal, da de er designet til at udføre heltalsberegninger; derfor er resultatet også et heltal. Imidlertid udføres divisionsoperationer almindeligvis ikke af ALU, da divisionsoperationer kan give et resultat i et flydende kommatal. I stedet håndterer floating-point unit (FPU) normalt divisionsoperationerne; andre ikke-heltalsberegninger kan også udføres af FPU.
Derudover kan ingeniører designe ALU'en til at udføre enhver form for operation. ALU bliver dog dyrere, da operationerne bliver mere komplekse, fordi ALU ødelægger mere varme og optager mere plads i CPU'en. Dette er grunden til at lave kraftfuld ALU af ingeniører, som giver sikkerhed for, at CPU'en også er hurtig og kraftfuld.
De beregninger, der kræves af CPU'en, håndteres af den aritmetiske logiske enhed (ALU); de fleste af operationerne blandt dem er logiske. Hvis CPU'en er gjort mere kraftfuld, som er lavet på basis af ALU er designet. Så skaber det mere varme og tager mere strøm eller energi. Derfor skal det være moderat mellem hvor kompleks og kraftfuld ALU er og ikke være dyrere. Dette er hovedårsagen til, at de hurtigere CPU'er er dyrere; derfor tager de meget strøm og ødelægger mere varme. Aritmetiske og logiske operationer er de vigtigste operationer, der udføres af ALU'en; den udfører også bit-shifting-operationer.
Selvom ALU'en er en hovedkomponent i processoren, kan ALU'ens design og funktion være forskellig i de forskellige processorer. Til tilfældet er nogle ALU'er designet til kun at udføre heltalsberegninger, og nogle er til flydende kommaoperationer. Nogle processorer inkluderer en enkelt aritmetisk logisk enhed til at udføre operationer, og andre kan indeholde adskillige ALU'er for at fuldføre beregninger. Operationerne udført af ALU er:
Aritmetiske logiske enhedssignaler (ALU).
En række elektriske input- og outputforbindelser er indeholdt af ALU'en, hvilket førte til casting af de digitale signaler mellem den eksterne elektronik og ALU.
ALU-input får signaler fra de eksterne kredsløb, og som svar får ekstern elektronik udgangssignaler fra ALU.
Data: Tre parallelle busser er indeholdt af ALU, som inkluderer to input- og outputoperander. Disse tre busser håndterer antallet af signaler, som er det samme.
Opkode: Når ALU'en skal udføre operationen, beskrives det med operationsvalgkoden, hvilken type operation en ALU skal udføre aritmetisk eller logisk operation.
Status
Konfigurationer af ALU
Beskrivelsen af, hvordan ALU interagerer med processoren, er givet nedenfor. Hver aritmetisk logisk enhed inkluderer følgende konfigurationer:
- Instruktionssæt arkitektur
- Akkumulator
- Stak
- Tilmeld dig for at tilmelde dig
- Registrer stak
- Registrer hukommelse
Akkumulator
Det mellemliggende resultat af hver operation er indeholdt af akkumulatoren, hvilket betyder, at Instruction Set Architecture (ISA) ikke er mere kompleks, fordi der kun kræves at holde en bit.
Generelt er de meget hurtige og mindre komplekse, men for at gøre Accumulator mere stabil; de ekstra koder skal skrives for at fylde det med korrekte værdier. Uheldigvis er det med en enkelt processor meget svært at finde akkumulatorer til at udføre parallelitet. Et eksempel på en akkumulator er skrivebordsberegneren.
Stak
Når de seneste operationer udføres, gemmes disse på stakken, der rummer programmer i top-down rækkefølge, som er et lille register. Når de nye programmer tilføjes for at køre, presser de på for at sætte de gamle programmer.
Register-Register Arkitektur
Det inkluderer en plads til 1 destinationsinstruktion og 2 kildeinstruktioner, også kendt som en 3-register operationsmaskine. Denne instruktionssætarkitektur skal være længere for at kunne gemme tre operander, 1 destination og 2 kilder. Efter afslutningen af operationerne ville det være svært at skrive resultaterne tilbage til registrene, og også længden af ordet skulle være længere. Det kan dog forårsage flere problemer med synkronisering, hvis tilbageskrivningsreglen ville blive fulgt på dette sted.
MIPS-komponenten er et eksempel på register-til-register-arkitekturen. Til input bruger den to operander, og til output bruger den en tredje distinkt komponent. Lagerpladsen er svær at vedligeholde, da hver enkelt har brug for en særskilt hukommelse; derfor skal det altid være premium. Desuden kan det være vanskeligt at udføre nogle operationer.
Registrer - Stack Architecture
Generelt er kombinationen af register- og akkumulatoroperationer kendt som for Register - Stack Architecture. De operationer, der skal udføres i register-stack-arkitekturen, skubbes op på toppen af stakken. Og dens resultater holdes øverst på stakken. Ved hjælp af omvendt poleringsmetoden kan mere komplekse matematiske operationer nedbrydes. Nogle programmører, til at repræsentere operander, bruger begrebet et binært træ. Det betyder, at metoden med omvendt polering kan være let for disse programmører, hvorimod det kan være svært for andre programmører. For at udføre Push- og Pop-operationer er der behov for at blive oprettet ny hardware.
Register og Hukommelse
I denne arkitektur kommer den ene operand fra registret, og den anden kommer fra den eksterne hukommelse, da det er en af de mest komplicerede arkitekturer. Årsagen bag det er, at hvert program kan være meget længe, da de skal opbevares i fuld hukommelse. Generelt er denne teknologi integreret med Register-Register Register-teknologi og kan praktisk talt ikke bruges separat.
Fordele ved ALU
ALU har forskellige fordele, som er som følger:
- Den understøtter parallel arkitektur og applikationer med høj ydeevne.
- Den har evnen til at få det ønskede output samtidigt og kombinere heltal- og flydende kommavariabler.
- Den har evnen til at udføre instruktioner på et meget stort sæt og har en høj rækkevidde af nøjagtighed.
- To aritmetiske operationer i samme kode som addition og multiplikation eller addition og subtraktion, eller hvilke som helst to operander kan kombineres af ALU. For etui, A+B*C.
- Gennem hele programmet forbliver de ensartede, og de er placeret på en måde, så de ikke kan afbryde en del imellem.
- Generelt er det meget hurtigt; derfor giver det resultater hurtigt.
- Der er ingen følsomhedsproblemer og ingen hukommelsesspild med ALU.
- De er billigere og minimerer kravene til logic gate.
Ulemper ved ALU
Ulemperne ved ALU diskuteres nedenfor:
- Med ALU har flydende variabler flere forsinkelser, og den designede controller er ikke let at forstå.
- Fejlene ville forekomme i vores resultat, hvis hukommelsespladsen var bestemt.
- Det er svært at forstå amatører, da deres kredsløb er komplekst; begrebet pipelining er også komplekst at forstå.
- En bevist ulempe ved ALU er, at der er uregelmæssigheder i latenser.
- En anden ulempe er afrunding, hvilket påvirker nøjagtigheden.