ALU (4-Bit)
Überblick
- Zweck: Die Arithmetisch-Logische Einheit (ALU) ist eine digitale Schaltung, die arithmetische und logische Operationen an 4-Bit-Binärzahlen durchführt. Sie dient als Rechenkern digitaler Systeme und führt verschiedene Operationen basierend auf Steuersignalen aus.
- Symbol: Die ALU wird durch einen Rechteckblock mit Eingängen für zwei 4-Bit-Operanden (A und B) und Operationsauswahl sowie Ausgängen für das 4-Bit-Ergebnis und Status-Flags dargestellt.
- Rolle in DigiSim.io: Die ALU ermöglicht Berechnungen in digitalen Schaltungen und ist daher unerlässlich für die Implementierung von Prozessoren, Rechnern und anderen Rechensystemen.

Funktionale Beschreibung
Logikverhalten
Die 4-Bit-ALU nimmt zwei 4-Bit-Eingänge entgegen, führt eine durch die Operationssteuereingänge ausgewählte Operation durch und erzeugt ein 4-Bit-Ergebnis zusammen mit Status-Flags. Diese Flags zeigen Eigenschaften an, beispielsweise ob das Ergebnis null oder negativ ist oder ob ein Übertrag oder Überlauf aufgetreten ist.
Operationsauswahl:
| Op-Code | Operation | Beschreibung |
|---|---|---|
| 000 | Addition | R = A + B |
| 001 | Subtraktion | R = A - B |
| 010 | Logisches AND | R = A & B |
| 011 | Logisches OR | R = A |
| 100 | Logisches XOR | R = A ^ B |
| 101 | Logisches NOT | R = ~A |
| 110 | Linksverschiebung | R = A << 1 |
| 111 | Rechtsverschiebung | R = A >> 1 |
Hinweis: Die genauen Operationen und Op-Codes können je nach Implementierung variieren
Eingänge und Ausgänge
Eingänge:
- A[3:0]: 4-Bit-Erstoperand.
- B[3:0]: 4-Bit-Zweitoperand.
- OpCode[2:0]: 3-Bit-Operationsauswahl zur Bestimmung der durchzuführenden Funktion.
Ausgänge:
- Result[3:0]: 4-Bit-Ergebnis der Operation.
- Zero-Flag (Z): Gesetzt, wenn das Ergebnis null ist (alle Bits sind 0).
- Carry-Flag (C): Gesetzt, wenn eine Operation einen Ausgangsübertrag (bei Addition) oder einen Borrow (bei Subtraktion) erzeugt.
- Negative-Flag (N): Gesetzt, wenn das höchstwertige Bit des Ergebnisses 1 ist (negativ im Zweierkomplement).
- Overflow-Flag (V): Gesetzt, wenn eine vorzeichenbehaftete arithmetische Operation einen Überlauf ergibt.
Konfigurierbare Parameter
- Laufzeitverzögerung: Die Zeitverzögerung zwischen Eingangsänderungen und den entsprechenden Ausgangsänderungen. Dies wird in DigiSim.io simuliert.
- Operationssatz: Manche Implementierungen können anpassbare Operationssätze oder zusätzliche Operationen haben.
Visuelle Darstellung in DigiSim.io
Die 4-Bit-ALU wird als Rechteckblock mit Eingängen auf der linken Seite und Ausgängen auf der rechten Seite angezeigt. Sie ist deutlich mit „ALU" beschriftet, um ihre Funktion zu identifizieren. Eingangs-Pins (A[3:0], B[3:0], OpCode[2:0]) und Ausgangs-Pins (Result[3:0], Z, C, N, V) sind in logischen Gruppen angeordnet. Die Komponente zeigt visuell den aktuellen Zustand aller Ein- und Ausgänge an.
Pädagogischer Wert
Schlüsselkonzepte
- Binärarithmetik: Demonstriert, wie Computer grundlegende arithmetische Operationen mit Binärzahlen durchführen.
- Boolesche Logik: Zeigt die Implementierung logischer Operationen an Mehrbitwerten.
- Status-Flags: Führt das Konzept von Bedingungscodes ein, die Informationen über Operationsergebnisse liefern.
- Computational Building Blocks: Veranschaulicht, wie komplexe Operationen mit digitaler Logik implementiert werden können.
- Steuersignale: Demonstriert, wie digitale Schaltungen so konfiguriert werden können, dass sie verschiedene Funktionen ausführen.
Lernziele
- Verstehen, wie digitale Systeme arithmetische und logische Berechnungen durchführen.
- Die Beziehung zwischen binären Operationen und ihren Ergebnissen lernen.
- Erkennen, wie Status-Flags wesentliche Informationen über Operationsergebnisse liefern.
- ALU-Konzepte zur Entwicklung einfacher Rechensysteme anwenden.
- Begreifen, wie die ALU in die übergeordnete Architektur eines Computersystems passt.
Anwendungsbeispiele/Szenarien
- Einfaches CPU-Design: Die ALU bildet den Rechenkern einer CPU und führt arithmetische und logische Operationen aus.
- Rechnerschaltungen: Implementierung binärer Rechner, die grundlegende Mathematikoperationen durchführen.
- Datenmanipulation: Verarbeitung von Daten durch bitweise Operationen zum Maskieren, Filtern oder Transformieren von Werten.
- Bedingungstest: Verwendung der ALU und ihrer Flags zum Testen spezifischer Bedingungen in Datenwerten.
- Einfacher Controller: Erstellung von Steuerungssystemen, die Entscheidungen auf der Grundlage arithmetischer Vergleiche treffen.
Technische Hinweise
- Die 4-Bit-ALU wird typischerweise mit einer Kombination aus Addierern, Logikgattern und Multiplexern aufgebaut, um zwischen Operationen auszuwählen.
- Die Flags werden aus dem Operationsergebnis und der Übertragskette abgeleitet und liefern wichtige Informationen für Steuerentscheidungen.
- Die ALU kann zur Verarbeitung breiterer Daten (8 Bit, 16 Bit usw.) durch Replikation der Grundstruktur oder durch kaskadierte Designs erweitert werden.
- Bei vorzeichenbehafteter Arithmetik kann die 4-Bit-ALU Werte von -8 bis +7 mit Zweierkomplementdarstellung repräsentieren.
- In DigiSim.io simuliert das Verhalten der ALU reale digitale Komponenten einschließlich Laufzeitverzögerungen und Flag-Erzeugung.
Blockdiagramm
graph LR
InputA[A 3:0] --> ALU[ALU<br/>Arithmetic Logic Unit]
InputB[B 3:0] --> ALU
OpCode[Operation Select<br/>OpCode 2:0] --> ALU
ALU --> Result[Result 3:0]
ALU --> Flags[Status Flags<br/>Z, C, N, V]
Eigenschaften
- Kernkomponente der Ausführungseinheit einer CPU
- Führt sowohl arithmetische als auch logische Operationen an Binärdaten durch
- Verwendet Steuersignale zur Auswahl der gewünschten Operation
- Erzeugt Status-Flags, die Informationen über das Ergebnis liefern
- Kann zur Verarbeitung breiterer Datenwörter (8 Bit, 16 Bit usw.) kaskadiert werden
- Nutzt Übertragsfortpflanzung für Mehrbitarithmetik
Anwendungen
- Ausführungseinheiten von zentralen Prozessoreinheiten (CPUs)
- Digitale Signalverarbeitung
- Adressberechnung in der Speicherverwaltung
- Datenmanipulation in Mikrocontrollern
- Grafikprozessoren
- Wissenschaftliche Rechner
- Digitale Steuerungssysteme
- Eingebettete Systeme
Implementierung
Eine 4-Bit-ALU kann aufgebaut werden mit:
- Volladdierern für arithmetische Operationen
- Logikgattern für bitweise Operationen
- Multiplexern zur Auswahl zwischen verschiedenen Operationen
- Decodern zur Operationsauswahl
Funktionale Implementierung
Die 4-Bit-ALU enthält:
- 4-Bit-Addierer/Subtrahierer-Einheit
- Logikeinheit für bitweise Operationen
- Schieber für Schiebeoperationen
- Multiplexer zur Auswahl des entsprechenden Ausgangs
- Status-Flag-Logik
Verwandte Komponenten
- 8-Bit-ALU: Erweiterte Version mit 8-Bit-Operanden
- Register: Speichert Daten vor und nach ALU-Operationen
- Steuereinheit: Liefert Operationssteuersignale an die ALU
- Addierer: Spezialisierte Komponente für Additionsoperationen
- Komparator: Spezialisierte Komponente für Vergleichsoperationen