Aritmetisk logisk enhed

Aritmetisk logisk enhed ( ALU ; engelsk  aritmetisk logisk enhed, ALU ) er en processorenhed , der under kontrol af styreenheden tjener til at udføre aritmetiske og logiske transformationer (startende fra elementære ) på data, kaldet i dette tilfælde operander . Bitheden af ​​operanderne kaldes normalt størrelsen eller længden af ​​maskinordet .

Begrebet en aritmetisk logisk enhed blev foreslået i 1945 af John von Neumann i en publikation om EDVAC ; det blev en af ​​komponenterne i den nu klassiske von Neumann computerarkitektur .

Organisation og principper for driften

En-bit binær binær (to-operand) ALU med et binært (to-cifret) output kan udføre op til binære binære (to-operand) funktioner (operationer) med et binært (to-cifret) output.

Den aritmetisk-logiske enhed kan, afhængigt af udførelsen af ​​funktioner, opdeles i to dele:

Strukturen af ​​den aritmetiske logiske enhed inkluderer betinget registre Rg1 - Rg7, som tjener til at behandle information, der kommer fra den operationelle eller passive hukommelse N1, N2, ... NS og logiske kredsløb, der bruges til at behandle ord i henhold til mikroinstruktioner, der kommer fra styringen enhed.

Der er to typer mikrokommandoer: eksterne - sådanne mikrokommandoer, der kommer ind i ALU'en fra eksterne kilder og forårsager informationstransformation i den, og interne - dem, der genereres i ALU'en og påvirker mikroprogramenheden, og dermed ændrer den normale rækkefølge af kommandoer.

Typiske funktioner for de registre, der er inkluderet i den aritmetiske logiske enhed:

En del af driftsregistrene kan adresseres i instruktionen om at udføre operationer på deres indhold, og de kaldes programtilgængelige. Disse registre omfatter: adder-, indeksregistre og nogle hjælperegistre. De resterende registre kan ikke adresseres i programmet, det vil sige, at de er utilgængelige for programmet.

Betjeningsenheder kan klassificeres efter den type information, der behandles, måden den behandles på og den logiske struktur.

En sådan kompleks logisk struktur af ALU kan karakteriseres ved antallet af mikrooperationer, der adskiller sig fra hinanden, som er nødvendige for at fuldføre hele komplekset af opgaver, der er tildelt den aritmetiske logiske enhed. Ved indgangen til hvert register samles de tilsvarende logiske kredsløb, der tilvejebringer sådanne forbindelser mellem registrene, som gør det muligt at implementere de specificerede mikrooperationer. Udførelse af operationer på ord er reduceret til at udføre visse mikrooperationer, der kontrollerer overførslen af ​​ord til ALU'en og handlinger til at transformere ord. Rækkefølgen for udførelse af mikrokommandoer bestemmes af algoritmen til udførelse af operationer. Det vil sige, at forbindelserne mellem ALU-registrene og deres funktioner hovedsageligt afhænger af den accepterede metode til at udføre logiske operationer, herunder aritmetik eller speciel aritmetik.

Et eksempel på ALU-operation på additionsoperationer

Funktionelt består ALU'en af ​​to registre (Register1, Register 2), et styrekredsløb og en adderer [1] . Den aritmetiske operation udføres i cyklusser:

Et eksempel på ALU-operation på en subtraktionsoperation:

Operationer

Alle operationer udført i den aritmetiske logiske enhed er logiske operationer (funktioner), som kan opdeles i følgende grupper:

Moderne computere til generelle formål implementerer normalt operationer af alle ovennævnte grupper, og små computere og mikrocomputere , mikroprocessorer og specialiserede computere har ofte ikke udstyr til flydende kommaaritmetik, decimalregning og operationer på alfanumeriske felter. I dette tilfælde udføres disse operationer af specielle underrutiner.

Aritmetiske operationer omfatter addition , subtraktion , modulo subtraktion ("korte operationer") og multiplikation og division ("lange operationer"). Gruppen af ​​logiske operationer består af operationer disjunktion (logisk ELLER) og konjunktion (logisk OG) over multi-bit binære ord, sammenligning af koder for lighed. Særlige aritmetiske operationer omfatter normalisering, aritmetisk skift (kun digitale bits forskydes, fortegnsbitten forbliver på plads), logisk forskydning (tegnbitten forskydes sammen med de digitale bits). Gruppen af ​​operationer til redigering af alfanumeriske oplysninger er omfattende. Hver operation i en ALU er en logisk funktion eller sekvens af logiske funktioner beskrevet af binær logik for binære computere, ternær logik for ternære computere , kvaternær logik for kvaternære computere, decimallogik for decimalcomputere og så videre.

Klassifikation

Aritmetiske logiske enheder er opdelt i serielle og parallelle i overensstemmelse med den måde, de virker på operander. I serielle enheder er operander repræsenteret i seriel kode, og operationer udføres sekventielt i tid på deres individuelle bits; parallelt - med en parallel kode og operationer udføres parallelt i tid over alle bits af operanderne.

Ifølge den måde, tal repræsenteres på, skelnes aritmetisk-logiske enheder:

Af arten af ​​brugen af ​​elementer og noder er ALU'er opdelt i blok og multifunktionelle. I en blokenhed udføres operationer på faste og flydende decimaltal, decimaltal og alfanumeriske felter i separate blokke, samtidig med at operationshastigheden øges, da blokkene kan udføre de tilsvarende operationer parallelt, men udstyrsomkostningerne stiger betydeligt. I multifunktionelle ALU'er udføres operationer for alle former for talrepræsentation af de samme kredsløb, som kobles på den rigtige måde afhængigt af den nødvendige driftsform.

Med hensyn til dens funktioner er en aritmetisk logisk enhed en driftsenhed, der udfører mikrooperationer, der sikrer modtagelse af operander fra andre enheder (for eksempel hukommelse), deres transformation og udstedelse af transformationsresultater til andre enheder. Den aritmetisk-logiske enhed styres af en styreenhed, der genererer styresignaler, der initierer udførelsen af ​​visse mikrooperationer i ALU'en. Rækkefølgen af ​​signaler, der genereres af kontrolblokken, bestemmes af kommandooperationskoden og alarmsignaler.

Noter

  1. Makarova N. V. Informatik: Lærebog. - M. : Finans og statistik, 2006. - 768 s. — ISBN 978-5-279-02202-1 .

Litteratur