Arithmetisch-logische Einheit
Schema der Arithmetisch-logischen Einheit

Eine arithmetisch-logische Einheit (englisch arithmetic logic unit, daher oft abgekürzt ALU) ist ein elektronisches Rechenwerk, welches in Prozessoren zum Einsatz kommt.

Inhaltsverzeichnis

Funktionen

Die ALU berechnet arithmetische und logische Funktionen. Sinnvollerweise kann sie mindestens folgende Minimaloperationen durchführen:

Typischerweise liegen jedoch auch noch zusätzlich folgende Operationen vor, die aber auch mittels der oberen drei auf Kosten der Rechenzeit (in mehreren Takten) nachgebildet werden können:

  • Arithmetisch:
  • Logisch:
  • Sonstige:
    • 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-Veränderungen (Bits setzen, löschen und testen)
    • Decimal adjust

Die meisten ALUs verarbeiten Festkommazahlen. Nur einige besondere ALUs, vornehmlich auf digitalen Signalprozessoren, Grafikprozessoren und modernen PC-Prozessoren, können Gleitkommazahlen oder beide Formate direkt verarbeiten.

Aufbau und Funktionsweise

Eine kaskadierbare 8-Bit-ALU von Texas Instruments (SN74AS888)

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 dem 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.

Das Statusregister

Die gesamte n-Bit ALU hat außer dem Ausgangsvektor für das Ergebnis noch einen Ausgangsvektor, um ihren Zustand zu signalisieren. Dieser Ausgangsvektor wird im Statusregister (auch Condition Code Register) abgelegt.

Dieses Register enthält meistens vier Statusbits. Die einzelnen Werte des Statusregisters können von Maschinensprachebefehlen abgefragt werden und damit den weiteren Programmverlauf beeinflussen (z. B. bedingte Sprünge):

  • Übertragsbit (C für engl. carry bit): Zeigt den Übertrag an, der bei Addition der n-ten Bits (der höchsten Stelle) der Operanden entsteht. Es wird als Kennzeichen für Bereichsüberschreitung bei Betrachtung des Ergebnisses als vorzeichenlose Zahl (nur positive Ergebnisse) verwendet. Wird in 2er-Komplement-Darstellung gerechnet (auch negative Zahlen möglich), so spielt das Carry-Bit für die Bereichsüberschreitung keine direkte Rolle.
  • Überlaufbit (V für engl. overflow bit): Zeigt Zahlenbereichsüberschreitung bei 2er-Komplement-Rechnung an (Übertrag der zweithöchsten Stelle der Operanden). Weitere mögliche Bezeichnungen sind neben V noch OF oder O.
  • Nullbit (Z für 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 Übertrag zwischen dem niederwertigen und höherwertigen Halbbyte an. Interessant für die Dezimalkorrektur bei der Umwandlung binärer Darstellung in BCD-Darstellung.
  • Paritätsbit (P): Zeigt je nach Prozessor eine gerade bzw. ungerade Parität des Akkumulatorregisters an (Anzahl der Bits mit dem Wert 1 ist gerade bzw. ungerade).

Verwandte Systeme

Parallel Logic Units (PLUs) sind speziell auf Bitmanipulation zugeschnittene ALUs. Sie können parallel, also zeitgleich zu anderen Rechenwerken auf die Daten zugreifen und sind deshalb über einen eigenen Datenpfad mit dem Arbeitsspeicher verbunden. PLUs sind Bestandteil einiger Signalprozessor-Typen, die als Hochgeschwindigkeits-Controller eingesetzt werden.


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • arithmetisch-logische Einheit —   [engl. arithmetic logic unit], ALU …   Universal-Lexikon

  • Arithmetisch-Logische Einheit — Eine arithmetisch logische Einheit (englisch arithmetic logic unit, daher oft abgekürzt ALU) ist ein elektronisches Rechenwerk, welches in Prozessoren zum Einsatz kommt. Inhaltsverzeichnis 1 Funktionen 2 Aufbau und Funktionsweise 2.1 Das… …   Deutsch Wikipedia

  • Arithmethische Einheit — Eine arithmetisch logische Einheit (englisch arithmetic logic unit, daher oft abgekürzt ALU) ist ein elektronisches Rechenwerk, welches in Prozessoren zum Einsatz kommt. Inhaltsverzeichnis 1 Funktionen 2 Aufbau und Funktionsweise 2.1 Das… …   Deutsch Wikipedia

  • Stackrechner — Prozessoren lassen sich durch eine Vielzahl von Eigenschaften unterscheiden. Eine der elementarsten Eigenschaften sind die Anzahl der Adressbefehle im Maschinenbefehl. Diese Eigenschaften sind ausschlaggebend für die Rechnerstruktur und den… …   Deutsch Wikipedia

  • Abkürzungen/Computer — Dies ist eine Liste technischer Abkürzungen, die im IT Bereich verwendet werden. A [nach oben] AA Antialiasing AAA authentication, authorization and accounting, siehe Triple A System AAC Advanced Audio Coding AACS …   Deutsch Wikipedia

  • Liste der Abkürzungen (Computer) — Dies ist eine Liste technischer Abkürzungen, die im IT Bereich verwendet werden. A [nach oben] AA Antialiasing AAA authentication, authorization and accounting, siehe Triple A System AAC Advanced Audio Coding AACS …   Deutsch Wikipedia

  • Prozessor (Hardware) — Ein Prozessor ist eine Maschine oder eine elektronische Schaltung (i.A. ein IC), welche gemäß übergebener Befehle andere Maschinen oder elektrische Schaltungen steuert und dabei einen Prozess oder Algorithmus vorantreibt, was meist… …   Deutsch Wikipedia

  • Condition Code Register — Das Statusregister (auch Zustandsregister, engl. Condition Code Register, CCR) ist ein spezielles Register im Steuerwerk eines Mikroprozessors. Da man diese Bits auch als Flags bezeichnet, wird das Statusregister auch Flagregister genannt. Es… …   Deutsch Wikipedia

  • Processor Status Word — Das Statusregister (auch Zustandsregister, engl. Condition Code Register, CCR) ist ein spezielles Register im Steuerwerk eines Mikroprozessors. Da man diese Bits auch als Flags bezeichnet, wird das Statusregister auch Flagregister genannt. Es… …   Deutsch Wikipedia

  • Programmstatuswort — Das Statusregister (auch Zustandsregister, engl. Condition Code Register, CCR) ist ein spezielles Register im Steuerwerk eines Mikroprozessors. Da man diese Bits auch als Flags bezeichnet, wird das Statusregister auch Flagregister genannt. Es… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”