www.wikidata.de-de.nina.az
Eine arithmetisch logische Einheit englisch arithmetic logic unit daher oft abgekurzt ALU ist ein elektronisches Rechenwerk welches in Prozessoren zum Einsatz kommt Schema der Arithmetisch logischen Einheit A Akkumulator B Datenregister F Funktion D Statusausgabe R Ergebnis Result Inhaltsverzeichnis 1 Funktionen 2 Aufbau und Funktionsweise 2 1 Das Statusregister 3 Verwandte Systeme 4 EinzelnachweiseFunktionen BearbeitenSteuertabelle fur n Bit ALU F3 F2 F1 F0 R0 0 0 0 00 0 0 1 A1 0 0 1 NOT A0 1 0 0 A AND B0 1 0 1 A OR B0 1 1 0 A XOR B0 1 1 1 A B1 1 1 1 B A nbsp Einfache n Bit ALUDie ALU berechnet arithmetische und logische Funktionen In alteren Prozessoren bis etwa 8086 war sie ausserdem fur das Inkrementieren des Programmzahlers zum Lesen von Befehlen Berechnen von relativen Sprungen JR und die Manipulation des Stackpointers CALL RET PUSH POP und Adressberechnungen IX n verantwortlich Sinnvollerweise kann sie mindestens folgende Minimaloperationen durchfuhren Arithmetisch Addition ADD Logisch Negation NOT Konjunktion Und Verknupfung AND Rechtsverschiebung oder rotation extrem aufwendig nachzubilden im Gegensatz zur Rechtsverschiebung Typischerweise liegen jedoch auch noch zusatzlich folgende Operationen vor die aber auch mittels der oberen drei auf Kosten der Rechenzeit in mehreren Takten nachgebildet werden konnen Arithmetisch Inkrement Dekrement Addition mit Ubertrag ADC Subtraktion SUB Subtraktion mit Ubertrag SBB Vergleich compare CMP Multiplikationen MUL mittels Multiplizierer Division Decimal adjust after addition Dezimal Angleichung nach Addition Logisch Disjunktion Oder Verknupfung OR Kontravalenz Exklusiv Oder Verknupfung XOR EOR Test Befehl Rechts und Linksverschiebung Rechts Linksshift ASR arithmetische Shift rechts ASL arithmetische Shift links LSR logisches Verschieben nach rechts LSL logisches Verschieben nach links Links und Rechtsrotation ROL ROR Register Manipulationen und Bit Veranderungen Bits setzen loschen und testen Umsortieren von Bits und Bytes AES Befehle CRC BefehleAlle ALUs verarbeiten Festkommazahlen Gleitkommabefehle sind in vielen aktuellen CPUs mittlerweile Standard Ausnahmen sind kleinere Mikrocontroller die auf geringe Stromaufnahme oder auf geringe Herstellkosten getrimmt sind Der Trend der letzten 15 Jahre ist es ALUs auf Vektor Verarbeitung umzustellen Stand 2015 Aufbau und Funktionsweise Bearbeiten nbsp Vor dem Erfolg von inte grier ten Mikro prozessoren waren ALUs als eigene Bau steine mit geringerem Inte grations grad verbreitet wie diese 4 Bit ALU SN74S181 aus der 74xx Reihe von Texas InstrumentsEine ALU kann zwei Binarwerte mit gleicher Stellenzahl n miteinander verknupfen Man spricht von n Bit ALUs Typische Werte fur n sind 8 16 32 und 64 Historisch erwahnenswert sind auch beispielsweise die 4 Bit ALU 74LS181 1 und der 1 Bit Prozessor MC14500B von Motorola Allerdings nennt sich die entsprechende Einheit darin lediglich LU Logic Unit 2 Begriffe wie 32 Bit bzw 64 Bit CPU entstammen der Breite der Arbeitsregister der Prozessorarchitektur Meist entspricht diese Breite auch der der ALU mithin deuten diese Begriffe 32 Bit bzw 64 Bit CPU an dass in entsprechenden Prozessoren auch ebensolche ALUs zum Einsatz kommen Eine Ausnahme bildet hier beispielsweise der Z80 der mit einer 4 Bit ALU arbeitet 3 Die n Bit ALU ist meist aus einzelnen 1 Bit ALUs zusammengesetzt die jeweils an die hoherwertige ALU ein Carry Bit weiterreichen mit dem ein Ubertrag an der jeweiligen Stelle gekennzeichnet wird Zur Beschleunigung werden haufig andere Verfahren z B Carry Look Ahead eingesetzt siehe dazu Carry Ripple Addierer Um die zusammengeschalteten 1 Bit ALUs in die geforderte Funktionsart umzuschalten hat jede 1 Bit ALU zusatzlich zu den Eingangen fur die zu verknupfenden Werte und das Carry Bit noch einen Eingang fur einen Steuervektor Op Code beim Einsatz in einem Prozessor werden diese Eingange gemeinsam vom Steuerregister Operationsregister OR des Prozessors versorgt Das Statusregister Bearbeiten Die gesamte n Bit ALU hat ausser dem Ausgangsvektor fur das Ergebnis noch einen Bedingungsvektor um ihren Zustand zu signalisieren Beim Einsatz in einem Prozessor wird dieser Bedingungsvektor in dessen Statusregister auch engl condition code register abgelegt Dieses Register enthalt meistens vier Statusbits Die einzelnen Werte des Statusregisters konnen von Maschinensprachebefehlen abgefragt werden und damit den weiteren Programmverlauf beeinflussen z B bedingte Sprunge Ubertragsbit C fur engl carry bit Zeigt den Ubertrag an der bei Addition der n ten Bits der hochsten Stelle der Operanden entsteht Es wird als Kennzeichen fur Bereichsuberschreitung bei Betrachtung des Ergebnisses als vorzeichenlose Zahl nur positive Ergebnisse verwendet Wird in 2er Komplement Darstellung gerechnet auch negative Zahlen moglich so spielt das Carry Bit fur die Bereichsuberschreitung keine direkte Rolle Uberlaufbit V fur engl overflow bit Zeigt Zahlenbereichsuberschreitung bei 2er Komplement Rechnung an Ubertrag der zweithochsten Stelle der Operanden Weitere mogliche Bezeichnungen sind neben V noch OF oder O Nullbit Z fur engl zero bit Zeigt an ob das Ergebnis der vorhergehenden Rechenoperation Null ist wird 1 wenn Inhalt des Akkumulatorregisters 0 ist Negativbit N Wird gesetzt wenn das Ergebnis der Operation als negative Zahl zu interpretieren sein kann oberstes Bit des Akkumulatorregisters 1 Je nach ALU Typ gibt es weitere Flags zum Beispiel Half carry bit H Zeigt einen Ubertrag zwischen dem niederwertigen und hoherwertigen Halbbyte an Interessant fur die Dezimalkorrektur bei der Umwandlung binarer Darstellung in BCD Darstellung Paritatsbit P Zeigt je nach Prozessor eine gerade bzw ungerade Paritat des Akkumulatorregisters an Anzahl der Bits mit dem Wert 1 ist gerade bzw ungerade Verwandte Systeme BearbeitenParallel Logic Units PLUs sind speziell auf Bitmanipulation zugeschnittene ALUs Sie konnen parallel also gleichzeitig mit anderen Rechenwerken auf die Daten zugreifen und sind deshalb uber einen eigenen Datenpfad mit dem Arbeitsspeicher verbunden PLUs sind Bestandteil einiger Signalprozessor Typen die als Hochgeschwindigkeits Controller eingesetzt werden Einzelnachweise Bearbeiten Datenblatt von 74LS181 Fairchild Memento vom 31 Januar 2012 im Internet Archive PDF 77 kB ALU aus der 74xx Logikfamilie Motorola MC14500B Industrial Control Unit Handbook auf Wikichip org Michael Slater Federico Faggin Masatoshi Shima Ralph Ungermann Zilog Oral History Panel on the Founding of the Company and the Development of the Z80 Microprocessor Seite 11 Hrsg Computer History Museum Abgerufen von https de wikipedia org w index php title Arithmetisch logische Einheit amp oldid 238987630