Bearbeiten von „Alu“
Aus CPedia
Wechseln zu:
Navigation
,
Suche
Eine '''Arithmetic Logical Unit''' ('''ALU''', ''zu [[Deutsche Sprache|deutsch]]'' '''arithmetisch-logische Einheit''') ist ein [[Elektronik|elektronisches]] Rechenwerk, welches in [[Prozessor]]en zum Einsatz kommt. ==Funktionen== Die ALU berechnet arithmetische und logische [[Funktion (Mathematik)|Funktion]]en. Sinnvollerweise kann sie mindestens folgende Minimaloperationen durchführen: *''[[Arithmetik|Arithmetisch]]:'' ** [[Addition]] (ADD) *''[[Boolesche Algebra|Logisch]]:'' ** [[Negation]] ([[NOT]]) ** [[Konjunktion]] (Und-Verknüpfung, AND) Typischerweise liegen jedoch auch noch zusätzlich folgende Operationen vor, die aber auch mittels der oberen drei auf Kosten der Rechenzeit (in mehreren [[Taktsignal|Takten]]) nachgebildet werden können: *''[[Arithmetik|Arithmetisch]]:'' ** [[Subtraktion]] (SUB) *''[[Boolesche Algebra|Logisch]]:'' ** [[Vergleich]] (compare, CMP) ** [[Disjunktion]] (Oder-Verknüpfung, OR) ** [[Kontravalenz]] (Exklusiv-Oder-Verknüpfung, [[XOR-Verknüpfung|XOR, EOR]]) *''Sonstige:'' ** Rechts- und Linksverschiebung (Rechts-, Linksshift, ASR, ASL, LSR, LSL) ** Links- und Rechtsrotation (ROL, ROR) ** [[Register (Computer)|Register]]-Manipulationen und [[Bit]]-Veränderungen (Bits setzen, löschen und testen) ** Decimal adjust Die meisten ALUs verarbeiten [[Festkommazahl]]en. Nur einige besondere ALUs, vornehmlich auf [[Signalprozessor]]en und modernen PC-Prozessoren, können [[Fließkommazahl]]en oder beide Formate direkt verarbeiten. ==Aufbau und Funktionsweise== Eine ALU kann meistens zwei Binärwerte mit gleicher Stellenzahl (n) miteinander verknüpfen. Man spricht von n-Bit ALUs. Typische Werte für n sind 8, 16, 32 und 64. Analog werden z.B. die Begriffe [[32-Bit]] oder [[64-Bit]]-[[CPU]] verwendet, wenn über den Prozessor gesprochen wird, in denen diese ALUs zum Einsatz kommen. Die n-Bit ALU ist meist aus einzelnen 1-Bit ALUs zusammengesetzt, die jeweils an die höherwertige ALU ein [[Carry-Bit]] weiterreichen, mit dem ein [[Übertrag]] an der jeweiligen Stelle gekennzeichnet wird. Um die in Reihe geschalteten 1-Bit ALUs in die geforderte Funktionsart umzuschalten hat jede 1-Bit ALU zusätzlich zu den Eingängen für die zu verknüpfenden Werte und das [[Carry-Bit]] noch einen Eingang für einen Steuervektor (Op.-Code), der aus dem Steuerregister (Operationsregister, OR) gelesen wird. ===Statusregister=== Die Gesamte n-Bit ALU hat außer dem Ausgangsvektor für das Ergebnis noch einen Ausgangsvektor um ihren Zustand zu signalisieren der im Statusregister (auch ''Condition Code [[Register (Computer)|Register]]'') abgelegt wird. Dieses Register enthält meistens vier Statusbits (in Form von [[Flipflop]]s). Die einzelnen Werte des Statusregisters können in [[Computerprogramm]]befehlen weiterverwendet werden (z.B. für bedingte Sprünge): * C- (Carry-) Bit: zeigt den Übertrag in die (n+1)-te Stelle an (kein Kennzeichen für Bereichsüberschreitung). Wird z.B. bei der Komplementaddition gesetzt. * V- (Overflow-) Bit: zeigt Zahlenbereichsüberschreitung an. * Z- (Zero-) Bit: zeigt an, ob das Ergebnis der vorhergehenden Rechenoperation Null ist (wird 1, wenn AC-Inhalt = 0 ist). * N- (Negative-) Bit: zeigt an, ob das Ergebnis der vorhergehenden Rechenoperation negativ ist ([[Bitwertigkeit|MSB]] des AC = 1). Je nach ALU-Typ gibt es weitere [[Flag]]s, zum Beispiel: * H- (Half Carry-) Bit: zeigt Übertrag zwischen dem niederwertigen und höherwertigen Halbbyte an. Für Dezimalkorrektur bei der Umwandlung binär zu [[BCD-Code|BCD]]. * P- (Parity-) Bit: zeigt je nach Prozessor gerade/ungerade [[Parität (EDV)|Parität]] des AC (Akkumulatorregister) an (Anzahl der Bits mit dem Wert 1 ist gerade/ungerade). ==Siehe auch== ALUs sind als Rechenwerke verwandt mit [[Multiply-Accumulate|MACs]]. [[Parallel Logic Unit]]s (PLUs) sind speziell auf Bitmanipulation ausgelegte eingeschränkte ALUs. [[Kategorie:Hardware]] [[Kategorie:Rechnerarchitektur]]
|
Bearbeitungshilfe
(wird in einem neuen Fenster geöffnet)
Ansichten
Seite
Diskussion
Bearbeiten
Versionen/Autoren
Meine Werkzeuge
Anmelden / Benutzerkonto erstellen
Navigation
Hauptseite
Gemeinschafts-Portal
Aktuelle Ereignisse
Letzte Änderungen
Zufällige Seite
Hilfe
Suche
Werkzeuge
Links auf diese Seite
Änderungen an verlinkten Seiten
Spezialseiten