V počítačovom systéme je ALU hlavným komponentom centrálnej procesorovej jednotky, čo znamená aritmetická logická jednotka a vykonáva aritmetické a logické operácie. Je tiež známy ako celočíselná jednotka (IU), čo je integrovaný obvod v rámci CPU alebo GPU, ktorý je posledným komponentom na vykonávanie výpočtov v procesore. Má schopnosť vykonávať všetky procesy súvisiace s aritmetickými a logickými operáciami, ako sú operácie sčítania, odčítania a posunu, vrátane boolovských porovnaní (operácie XOR, OR, AND a NOT). Binárne čísla môžu tiež vykonávať matematické a bitové operácie. Aritmetická logická jednotka je rozdelená na AU (aritmetická jednotka) a LU (logická jednotka). Operandy a kód, ktoré ALU používa, jej hovoria, ktoré operácie sa musia vykonať podľa vstupných údajov. Keď ALU dokončí spracovanie vstupu, informácia sa odošle do pamäte počítača.
výroková logika
Okrem vykonávania výpočtov súvisiacich so sčítaním a odčítaním, ALU zvládajú násobenie dvoch celých čísel, pretože sú navrhnuté na vykonávanie celočíselných výpočtov; jeho výsledkom je teda tiež celé číslo. Operácie delenia však bežne nemusí vykonávať ALU, pretože operácie delenia môžu viesť k číslu s pohyblivou rádovou čiarkou. Namiesto toho jednotka s pohyblivou rádovou čiarkou (FPU) zvyčajne spracováva operácie delenia; FPU môže vykonávať aj iné neceločíselné výpočty.
Okrem toho môžu inžinieri navrhnúť ALU na vykonávanie akéhokoľvek typu operácie. Avšak ALU sa stáva nákladnejším, pretože operácie sa stávajú zložitejšími, pretože ALU ničí viac tepla a zaberá viac miesta v CPU. To je dôvod, prečo inžinieri vyrobili výkonnú ALU, ktorá poskytuje istotu, že CPU je tiež rýchly a výkonný.
Výpočty potrebné pre CPU sú riadené aritmetickou logickou jednotkou (ALU); väčšina operácií medzi nimi má logickú povahu. Ak je CPU vyrobený výkonnejšie, ktorý je vyrobený na základe ALU je navrhnutý. Potom vytvára viac tepla a odoberá viac energie alebo energie. Preto musí byť miera medzi tým, ako zložitá a výkonná je ALU, a nesmie byť drahšia. Toto je hlavný dôvod, prečo sú rýchlejšie CPU drahšie; preto odoberajú veľa energie a ničia viac tepla. Aritmetické a logické operácie sú hlavné operácie, ktoré vykonáva ALU; tiež vykonáva operácie bitového posunu.
Aj keď je ALU hlavnou súčasťou procesora, dizajn a funkcia ALU sa môžu v rôznych procesoroch líšiť. Niektoré ALU sú napríklad navrhnuté tak, aby vykonávali iba celočíselné výpočty, a niektoré sú určené na operácie s pohyblivou rádovou čiarkou. Niektoré procesory obsahujú jednu aritmetickú logickú jednotku na vykonávanie operácií a iné môžu obsahovať množstvo ALU na dokončenie výpočtov. Operácie vykonávané ALU sú:
Signály aritmetických logických jednotiek (ALU).
ALU obsahuje množstvo vstupných a výstupných elektrických spojení, čo viedlo k prenosu digitálnych signálov medzi externú elektroniku a ALU.
Vstup ALU získava signály z externých obvodov a ako odpoveď externá elektronika získava výstupné signály z ALU.
údaje: ALU obsahuje tri paralelné zbernice, ktoré zahŕňajú dva vstupné a výstupné operandy. Tieto tri zbernice spracovávajú počet signálov, ktoré sú rovnaké.
Operačný kód: Keď sa ALU chystá vykonať operáciu, kód výberu operácie je popísaný, aký typ operácie ALU vykoná aritmetickú alebo logickú operáciu.
Postavenie
Inštalačný príkaz npm
Konfigurácie ALU
Popis interakcie ALU s procesorom je uvedený nižšie. Každá aritmetická logická jednotka obsahuje nasledujúce konfigurácie:
- Architektúra súboru inštrukcií
- Akumulátor
- Stoh
- Zaregistrujte sa a zaregistrujte sa
- Registrovať zásobník
- Registrovať pamäť
Akumulátor
Medzivýsledok každej operácie je obsiahnutý v akumulátore, čo znamená, že Instruction Set Architecture (ISA) nie je zložitejšia, pretože je potrebné držať iba jeden bit.
Vo všeobecnosti sú oveľa rýchle a menej zložité, ale preto, aby bol akumulátor stabilnejší; dodatočné kódy je potrebné napísať, aby sa naplnili správnymi hodnotami. Bohužiaľ, s jedným procesorom je veľmi ťažké nájsť akumulátory na vykonávanie paralelizmu. Príkladom Akumulátora je stolná kalkulačka.
char na reťazec v jazyku Java
Stoh
Kedykoľvek sa vykonajú najnovšie operácie, tieto sa uložia do zásobníka, ktorý obsahuje programy v poradí zhora nadol, čo je malý register. Keď sú nové programy pridané na vykonanie, tlačia na vloženie starých programov.
Architektúra registra-registra
Obsahuje miesto pre 1 cieľovú inštrukciu a 2 zdrojové inštrukcie, známe aj ako 3-registrový operačný stroj. Táto architektúra súboru inštrukcií musí mať väčšiu dĺžku na uloženie troch operandov, 1 cieľa a 2 zdrojov. Po ukončení operácií by bol zápis výsledkov späť do Registrov náročný a tiež dĺžka slova by mala byť dlhšia. Ak by sa však na tomto mieste dodržiavalo pravidlo spätného zápisu, môže to spôsobiť ďalšie problémy so synchronizáciou.
Komponent MIPS je príkladom architektúry register-to-register. Pre vstup používa dva operandy a pre výstup používa tretí odlišný komponent. Úložný priestor je náročný na údržbu, pretože každý potrebuje osobitnú pamäť; preto musí byť vždy prémiový. Okrem toho môže byť ťažké vykonať niektoré operácie.
Register – Stack Architecture
Vo všeobecnosti je kombinácia operácií Register a Accumulator známa ako Register - Stack Architecture. Operácie, ktoré je potrebné vykonať v architektúre zásobníka registrov, sa presunú na vrch zásobníka. A jeho výsledky sa držia na vrchole zásobníka. Pomocou metódy Reverse Polish možno rozložiť zložitejšie matematické operácie. Niektorí programátori na reprezentáciu operandov používajú koncept binárneho stromu. To znamená, že metóda reverzného leštenia môže byť pre týchto programátorov jednoduchá, zatiaľ čo pre iných programátorov môže byť obtiažna. Na vykonávanie operácií Push a Pop je potrebné vytvoriť nový hardvér.
Registrácia a pamäť
V tejto architektúre jeden operand pochádza z registra a druhý pochádza z externej pamäte, pretože ide o jednu z najkomplikovanejších architektúr. Dôvodom je to, že každý program môže byť veľmi dlhý, pretože vyžaduje, aby bol uložený v plnom pamäťovom priestore. Vo všeobecnosti je táto technológia integrovaná s technológiou Register-Register Register a prakticky sa nedá použiť samostatne.
Výhody ALU
ALU má rôzne výhody, ktoré sú nasledovné:
- Podporuje paralelnú architektúru a aplikácie s vysokým výkonom.
- Má schopnosť získať požadovaný výstup súčasne a kombinovať celočíselné premenné a premenné s pohyblivou rádovou čiarkou.
- Má schopnosť vykonávať inštrukcie na veľmi veľkej súprave a má vysoký rozsah presnosti.
- ALU môže skombinovať dve aritmetické operácie v rovnakom kóde, ako je sčítanie a násobenie alebo sčítanie a odčítanie, alebo akékoľvek dva operandy. Pre prípad A+B*C.
- Počas celého programu zostávajú jednotné a sú rozmiestnené tak, aby nemohli prerušiť časť medzi nimi.
- Vo všeobecnosti je to veľmi rýchle; preto poskytuje výsledky rýchlo.
- Neexistujú žiadne problémy s citlivosťou a žiadne plytvanie pamäťou s ALU.
- Sú lacnejšie a minimalizujú požiadavky na logické hradlo.
Nevýhody ALU
Nevýhody ALU sú uvedené nižšie:
- S ALU majú plávajúce premenné viac oneskorení a navrhnutý ovládač nie je ľahké pochopiť.
- Chyby by sa vyskytli v našom výsledku, ak by bol pamäťový priestor definitívny.
- Je ťažké pochopiť amatérov, pretože ich okruh je zložitý; Pojem pipelining je tiež zložitý na pochopenie.
- Preukázateľnou nevýhodou ALU je, že existujú nepravidelnosti v latenciách.
- Ďalšou nevýhodou je zaokrúhľovanie, ktoré ovplyvňuje presnosť.