Warum sollte die ALU-Ausgabe asynchron mit der Eingabeänderung sein?

Wikipedia sagt: "Eine ALU ist eine kombinatorische Logikschaltung, was bedeutet, dass sich ihre Ausgänge als Reaktion auf Eingangsänderungen asynchron ändern."

Die Definition einer kombinatorischen Logikschaltung lautet jedoch: "kombinatorische Logik ... bei der der Ausgang nur eine reine Funktion des aktuellen Eingangs ist."

Wenn die Ausgabe einer kombinatorischen Logikschaltung ausschließlich durch die aktuelle Eingabe bestimmt wird, gibt Wikipedia an, dass sie aufgrund der Zeit, die ein elektrisches Signal benötigt, um durch die Schaltung zu wandern, asynchron ist? Wenn ja, warum wird es so mit "dies bedeutet" angegeben, als ob die kombinatorische Logik eine Verzögerung impliziert (wie dies bei jeder Schaltung der Fall wäre)?

typischerweise sitzt die ALU zwischen zwei synchronen Komponenten, z. B. zwischen zwei Pipeline-Registern. Was passiert, ist, dass an einer Taktflanke der Inhalt des Eingangsregisters zwischengespeichert und geändert wird und das Signal durch die ALU wandert und sich bei der nächsten Taktflanke stabilisiert, an welcher Stelle das Ergebnis vom Ausgangsregister zwischengespeichert wird. Die ALU zwischen den Registern ist vollständig kombinatorisch
"asynchron" bedeutet hier "nicht in Bezug auf ein Taktsignal"
Wenn keine FlipFlops oder Latches in der ALU vorhanden sind, führen Eingangsänderungen zu Ausgangsänderungen.

Antworten (1)

Synchrone Logik bezieht sich speziell auf die mit Registern, deren Werte bei (synchron) zu einer Taktflanke geändert werden. Die Register fungieren als Speicher, sodass der Ausgang nicht unbedingt den aktuellen Zustand des Eingangs widerspiegelt.

Asynchron bedeutet, dass es keinen Takt gibt, und daher hängt die Ausgabe, wie gesagt, nur von den Eingaben ab. Es gibt eine Verzögerung, die auf die endliche Zeit zurückzuführen ist, die das Signal benötigt, um sich durch den Logikpfad auszubreiten, aber das ist nicht der Grund, warum es als asynchrone Logik bezeichnet wird.