logo

Wat is ALU (Arithmetic Logic Unit)?

In het computersysteem is ALU een hoofdcomponent van de centrale verwerkingseenheid, die staat voor aritmetische logische eenheid en rekenkundige en logische bewerkingen uitvoert. Het is ook bekend als een geheel getaleenheid (IU), een geïntegreerd circuit binnen een CPU of GPU, het laatste onderdeel dat berekeningen in de processor uitvoert. Het heeft de mogelijkheid om alle processen uit te voeren die verband houden met rekenkundige en logische bewerkingen, zoals optellen, aftrekken en verschuiven, inclusief Booleaanse vergelijkingen (XOR-, OR-, AND- en NOT-bewerkingen). Binaire getallen kunnen ook wiskundige en bitsgewijze bewerkingen uitvoeren. De rekenkundige logische eenheid is opgesplitst in AU (rekenkundige eenheid) en LU (logische eenheid). De operanden en code die door de ALU worden gebruikt, vertellen welke bewerkingen moeten worden uitgevoerd op basis van invoergegevens. Wanneer de ALU de verwerking van de invoer voltooit, wordt de informatie naar het geheugen van de computer verzonden.

Wat is ALU

Behalve het uitvoeren van berekeningen met betrekking tot optellen en aftrekken, verwerken ALU's de vermenigvuldiging van twee gehele getallen, aangezien ze zijn ontworpen om berekeningen met gehele getallen uit te voeren; daarom is het resultaat ook een geheel getal. Delingsbewerkingen kunnen echter doorgaans niet door ALU worden uitgevoerd, omdat delingsbewerkingen een resultaat kunnen opleveren in een getal met drijvende komma. In plaats daarvan verzorgt de drijvende-komma-eenheid (FPU) gewoonlijk de delingsoperaties; andere niet-gehele berekeningen kunnen ook door FPU worden uitgevoerd.

Bovendien kunnen ingenieurs de ALU zo ontwerpen dat deze elk type bewerking kan uitvoeren. ALU wordt echter duurder naarmate de bewerkingen complexer worden, omdat ALU meer warmte vernietigt en meer ruimte in de CPU in beslag neemt. Dit is de reden om krachtige ALU te maken door ingenieurs, wat de zekerheid biedt dat de CPU ook snel en krachtig is.

De berekeningen die de CPU nodig heeft, worden afgehandeld door de rekenkundige logische eenheid (ALU); de meeste operaties daartussen zijn logisch van aard. Als de CPU krachtiger wordt gemaakt, wordt er op basis van de ALU ontworpen. Dan ontstaat er meer warmte en kost het meer kracht of energie. Daarom moet er sprake zijn van een gematigdheid tussen hoe complex en krachtig ALU is en mag het niet duurder zijn. Dit is de belangrijkste reden waarom snellere CPU's duurder zijn; daarom nemen ze veel kracht in beslag en vernietigen ze meer warmte. Rekenkundige en logische bewerkingen zijn de belangrijkste bewerkingen die door de ALU worden uitgevoerd; het voert ook bitverschuivingsbewerkingen uit.

tostring-methode

Hoewel de ALU een belangrijk onderdeel van de processor is, kunnen het ontwerp en de functie van de ALU per processor verschillen. Sommige ALU's zijn bijvoorbeeld ontworpen om alleen berekeningen met gehele getallen uit te voeren, en sommige zijn voor bewerkingen met drijvende komma. Sommige processors bevatten een enkele rekenkundige logische eenheid om bewerkingen uit te voeren, en andere kunnen meerdere ALU's bevatten om berekeningen te voltooien. De werkzaamheden uitgevoerd door ALU zijn:

    Logische bewerkingen:De logische bewerkingen bestaan ​​uit NOR, NOT, AND, NAND, OR, XOR en meer.Bit-shift-bewerkingen:Het is verantwoordelijk voor de verplaatsing van de bits naar rechts of naar links over een bepaald aantal plaatsen, die bekend staan ​​als een vermenigvuldigingsoperatie.Rekenkundige bewerkingen:Hoewel het vermenigvuldigen en delen uitvoert, verwijst dit naar het optellen en aftrekken van bits. Maar vermenigvuldigings- en delingsoperaties zijn duurder om uit te voeren. In plaats van vermenigvuldigen kan optellen worden gebruikt als vervanging en aftrekken voor delen.

Signalen van rekenkundige logische eenheden (ALU).

De ALU bevat een verscheidenheid aan elektrische ingangs- en uitgangsverbindingen, wat ertoe leidde dat de digitale signalen tussen de externe elektronica en de ALU werden uitgewisseld.

De ALU-ingang ontvangt signalen van de externe circuits en als reactie daarop ontvangt de externe elektronica uitgangssignalen van ALU.

Gegevens: De ALU bevat drie parallelle bussen, die twee ingangs- en uitgangsoperands bevatten. Deze drie bussen verwerken het aantal signalen, die hetzelfde zijn.

Opcode: Wanneer de ALU de bewerking gaat uitvoeren, wordt door de bewerkingsselectiecode beschreven welk type bewerking een ALU rekenkundige of logische bewerking gaat uitvoeren.

Toestand

hoe je een script uitvoert in Linux
    Uitgang:De resultaten van de ALU-bewerkingen worden door de statusuitgangen geleverd in de vorm van aanvullende gegevens, aangezien het meerdere signalen zijn. Meestal worden statussignalen zoals overflow, nul, uitvoeren, negatief en meer opgenomen door algemene ALU's. Wanneer de ALU elke bewerking voltooit, bevatten de externe registers de statusuitgangssignalen. Deze signalen worden opgeslagen in de externe registers die ertoe hebben geleid dat ze beschikbaar zijn gemaakt voor toekomstige ALU-bewerkingen.Invoer:Wanneer ALU de handeling eenmaal uitvoert, geven de statusingangen ALU toegang tot verdere informatie om de handeling met succes te voltooien. Bovendien staat de opgeslagen uitvoering van een eerdere ALU-bewerking bekend als een enkele 'carry-in'-bit.
Wat is ALU

Configuraties van de ALU

Hieronder wordt beschreven hoe ALU samenwerkt met de processor. Elke rekenkundige logische eenheid omvat de volgende configuraties:

  • Instructieset Architectuur
  • Accumulator
  • Stapel
  • Registreren om te registreren
  • Registreer stapel
  • Registreer geheugen

Accumulator

Het tussenresultaat van elke bewerking wordt vastgelegd door de accumulator, wat betekent dat Instruction Set Architecture (ISA) niet complexer is omdat er maar één bit hoeft te worden vastgehouden.

Over het algemeen zijn ze veel snel en minder complex, maar om Accumulator stabieler te maken; de aanvullende codes moeten worden geschreven om deze met de juiste waarden te vullen. Helaas is het met een enkele processor erg moeilijk om accumulators te vinden die parallellisme kunnen uitvoeren. Een voorbeeld van een Accumulator is de bureaurekenmachine.

Stapel

Telkens wanneer de laatste bewerkingen worden uitgevoerd, worden deze opgeslagen op de stapel die programma's in top-down volgorde bevat, wat een klein register is. Wanneer de nieuwe programma's worden toegevoegd om uit te voeren, duwen ze om de oude programma's te plaatsen.

Register-registerarchitectuur

Het bevat ruimte voor 1 bestemmingsinstructie en 2 broninstructies, ook wel een bedieningsmachine met 3 registers genoemd. Deze instructiesetarchitectuur moet langer zijn voor het opslaan van drie operanden, 1 bestemming en 2 bronnen. Na het einde van de bewerkingen zou het moeilijk zijn om de resultaten terug te schrijven naar de registers, en ook zou de lengte van het woord langer moeten zijn. Er kunnen echter meer problemen met de synchronisatie optreden als de terugschrijfregel op deze plek wordt gevolgd.

wat is android easter egg

De MIPS-component is een voorbeeld van de register-naar-register-architectuur. Voor invoer gebruikt het twee operanden en voor uitvoer gebruikt het een derde afzonderlijke component. De opslagruimte is moeilijk te onderhouden omdat elke ruimte een apart geheugen nodig heeft; daarom moet het te allen tijde premium zijn. Bovendien kan het lastig zijn om bepaalde handelingen uit te voeren.

Registreren - Stack-architectuur

Over het algemeen staat de combinatie van Register- en Accumulator-bewerkingen bekend als Register - Stack Architecture. De bewerkingen die moeten worden uitgevoerd in de register-stack-architectuur worden naar de bovenkant van de stapel geduwd. En de resultaten ervan worden bovenaan de stapel bewaard. Met behulp van de Reverse Polish-methode kunnen complexere wiskundige bewerkingen worden opgesplitst. Sommige programmeurs gebruiken om operanden weer te geven het concept van een binaire boom. Het betekent dat de omgekeerde polijstmethode voor deze programmeurs gemakkelijk kan zijn, terwijl het voor andere programmeurs moeilijk kan zijn. Om Push- en Pop-operaties uit te voeren, moet er nieuwe hardware worden gemaakt.

Registreren en geheugen

In deze architectuur komt de ene operand uit het register en de andere uit het externe geheugen, aangezien het een van de meest gecompliceerde architecturen is. De reden hierachter is dat elk programma erg lang kan zijn, omdat het in de volledige geheugenruimte moet worden bewaard. Over het algemeen is deze technologie geïntegreerd met de Register-Register Register-technologie en kan deze praktisch niet afzonderlijk worden gebruikt.

Voordelen van ALU

ALU heeft verschillende voordelen, namelijk:

  • Het ondersteunt parallelle architectuur en toepassingen met hoge prestaties.
  • Het heeft de mogelijkheid om tegelijkertijd de gewenste uitvoer te verkrijgen en integer- en drijvende-kommavariabelen te combineren.
  • Het heeft de mogelijkheid om instructies uit te voeren op een zeer grote set en heeft een hoog nauwkeurigheidsbereik.
  • Twee rekenkundige bewerkingen in dezelfde code, zoals optellen en vermenigvuldigen of optellen en aftrekken, of twee willekeurige operanden, kunnen door de ALU worden gecombineerd. In geval A+B*C.
  • Gedurende het hele programma blijven ze uniform en zijn ze zo verdeeld dat ze een deel ertussen niet kunnen onderbreken.
  • Over het algemeen is het erg snel; Daarom levert het snel resultaten op.
  • Er zijn geen gevoeligheidsproblemen en geen geheugenverspilling met ALU.
  • Ze zijn goedkoper en minimaliseren de vereisten voor de logische poort.

Nadelen van ALU

De nadelen van ALU worden hieronder besproken:

c structuur in structuur
  • Met de ALU hebben zwevende variabelen meer vertragingen en is de ontworpen controller niet gemakkelijk te begrijpen.
  • De bugs zouden in ons resultaat optreden als de geheugenruimte definitief was.
  • Het is moeilijk om amateurs te begrijpen omdat hun circuit complex is; ook is het concept van pipelining complex om te begrijpen.
  • Een bewezen nadeel van ALU is dat er onregelmatigheden in latenties optreden.
  • Een ander minpunt is de afronding, wat de nauwkeurigheid beïnvloedt.