Aritmetická logická jednotka

Aritmetická logická jednotka ( ALU ; anglicky  aritmetic logic unit, ALU ) je procesorová jednotka , která pod řízením řídicího zařízení slouží k provádění aritmetických a logických transformací (počínaje elementárními ) na datech, v tomto případě nazývaných operandy . Bitová hodnota operandů se obvykle nazývá velikost nebo délka slova stroje .

Koncept aritmeticky logické jednotky navrhl v roce 1945 John von Neumann v publikaci o EDVAC ; stala se jednou ze součástí dnes již klasické von Neumannovy počítačové architektury .

Organizace a principy fungování

Jednobitová binární binární (dvouoperandová) ALU s binárním (dvoumístným) výstupem může provádět až binární binární (dvouoperandové) funkce (operace) s binárním (dvoumístným) výstupem.

Aritmeticko-logická jednotka, v závislosti na výkonu funkcí, může být rozdělena do dvou částí:

Struktura aritmeticko logické jednotky podmíněně zahrnuje registry Rg1 - Rg7, které slouží ke zpracování informací přicházejících z operační nebo pasivní paměti N1, N2, ... NS a logické obvody, které slouží ke zpracování slov podle mikroinstrukcí přicházejících z řízení. přístroj.

Existují dva typy mikropříkazů: externí - takové mikropříkazy, které vstupují do ALU z vnějších zdrojů a způsobují v ní informační transformaci, a interní - ty, které jsou generovány v ALU a ovlivňují mikroprogramové zařízení, čímž se mění normální sled příkazů.

Typické funkce registrů zahrnutých v aritmeticky logické jednotce:

Část operačních registrů může být adresována v instrukci k provádění operací s jejich obsahem a nazývá se programově přístupná. Tyto registry zahrnují: sčítačku, indexové registry a některé pomocné registry. Zbývající registry nelze v programu adresovat, to znamená, že jsou programově nepřístupné.

Provozní zařízení lze klasifikovat podle typu zpracovávaných informací, způsobu jejich zpracování a logické struktury.

Takto složitou logickou strukturu ALU lze charakterizovat množstvím vzájemně se lišících mikrooperací, které jsou nutné k dokončení celého komplexu úloh přiřazených aritmeticko logické jednotce. Na vstupu každého registru jsou sestaveny odpovídající logické obvody, které zajišťují taková spojení mezi registry, která umožňují realizovat specifikované mikrooperace. Provádění operací se slovy je redukováno na provádění určitých mikrooperací, které řídí přenos slov do ALU a akce pro transformaci slov. Pořadí provádění mikropříkazů je určeno algoritmem pro provádění operací. To znamená, že vazby mezi registry ALU a jejich funkcemi závisí především na přijaté metodice provádění logických operací, včetně aritmetiky nebo speciální aritmetiky.

Příklad operace ALU na operacích sčítání

Funkčně se ALU skládá ze dvou registrů (Register1, Register 2), řídicího obvodu a sčítačky [1] . Aritmetická operace se provádí v cyklech:

Příklad operace ALU na operaci odečítání:

Operace

Všechny operace prováděné v aritmeticko logické jednotce jsou logické operace (funkce), které lze rozdělit do následujících skupin:

Moderní univerzální počítače obvykle realizují operace všech výše uvedených skupin a malé a mikropočítače , mikroprocesory a specializované počítače často nemají vybavení pro aritmetiku s pohyblivou řádovou čárkou, desítkovou aritmetiku a operace na alfanumerických polích. V tomto případě jsou tyto operace prováděny speciálními podprogramy.

Aritmetické operace zahrnují sčítání , odčítání , modulo odčítání („krátké operace“) a násobení a dělení („dlouhé operace“). Skupinu logických operací tvoří operace disjunkce (logický OR) a konjunkce (logický AND) nad vícebitovými binárními slovy, porovnání kódů pro rovnost. Speciální aritmetické operace zahrnují normalizaci, aritmetický posun (posouvají se pouze digitální bity, znaménkový bit zůstává na místě), logický posun (znaménkový bit se posouvá spolu s digitálními bity). Skupina operací pro úpravu alfanumerických informací je rozsáhlá. Každá operace v ALU je logická funkce nebo sekvence logických funkcí popsaná binární logikou pro binární počítače, ternární logikou pro ternární počítače , kvartérní logikou pro kvartérní počítače, dekadickou logikou pro dekadické počítače a tak dále.

Klasifikace

Aritmetické logické jednotky se dělí na sériové a paralelní podle způsobu působení na operandy. V sériových zařízeních jsou operandy reprezentovány sériovým kódem a operace jsou prováděny postupně v čase na jejich jednotlivých bitech; paralelně - paralelním kódem a operace se provádějí paralelně v čase přes všechny bity operandů.

Podle způsobu zobrazení čísel se rozlišují aritmeticko-logická zařízení:

Podle charakteru použití prvků a uzlů se ALU dělí na blokové a multifunkční. V blokovém zařízení se operace s čísly s pevnou a pohyblivou řádovou čárkou, desetinnými čísly a alfanumerickými poli provádějí v samostatných blocích, přičemž se zvyšuje rychlost operace, protože bloky mohou provádět odpovídající operace paralelně, ale náklady na zařízení se výrazně zvyšují. V multifunkčních ALU jsou operace pro všechny formy reprezentace čísel prováděny stejnými obvody, které jsou přepínány správným způsobem v závislosti na požadovaném režimu provozu.

Aritmetická logická jednotka je z hlediska svých funkcí operační jednotka, která provádí mikrooperace zajišťující příjem operandů z jiných zařízení (například paměti), jejich transformaci a předávání výsledků transformace jiným zařízením. Aritmeticko-logická jednotka je řízena řídicí jednotkou, která generuje řídicí signály, které iniciují provádění určitých mikrooperací v ALU. Posloupnost signálů generovaných řídicím blokem je určena operačním kódem příkazu a výstražnými signály.

Poznámky

  1. Makarova N. V. Informatika: učebnice. - M. : Finance a statistika, 2006. - 768 s. — ISBN 978-5-279-02202-1 .

Literatura