Wie wird das Zero-Flag hardwaremäßig gesetzt? [Duplikat]

Ich stelle dies als allgemeine Frage unter der Annahme , dass es sich nicht wesentlich von der Architektur unterscheidet - zumindest auf der von mir gestellten Ebene.

Ich bin gespannt, wie - in Bezug auf die Hardware, nicht das offensichtliche "Ergebnis ist Null" - das Null-Flag / Statusbit gesetzt (oder für diese Angelegenheit gelöscht) wird.

Es ist mir noch nie wirklich in den Sinn gekommen, aber es scheint eine ziemlich intensive Aufgabe zu sein, zumindest im Vergleich zu einem Carry- oder Overflow-Flag. Gehe ich richtig in der Annahme, dass es keine Möglichkeit gibt, zu wissen, dass das Ergebnis Null ist, außer jedes Bit zu überprüfen?

Wenn ich nicht etwas Offensichtliches übersehe, scheint es, dass es „viel“ dauern muss (wenn es sinnvoll ist, dies zu sagen ns ) länger als die Bestimmung des Überlaufs, und der Übertragsstatus ist als Folge der Operation natürlich 'bereits da'.

Meine Frage ist wirklich, wie wird es "normalerweise" implementiert?

ODER-Gatter mit N-Eingang, gefolgt von einem NICHT-Gatter? Das Prüfen jedes Bits ist nicht sehr intensiv, wenn Sie alle Bits parallel prüfen können.
Ich sehe das, aber das ist nicht " so " parallel - alle Bits müssen letztendlich ODER-verknüpft werden, also steigt die Anzahl der Operationen mit N!. Mir ist klar, dass es im absoluten Sinne immer noch schnell ist, aber es ist viel langsamer als das Bestimmen von C/V-Flags, nicht wahr?
Entschuldigung, diese Frage ist nicht nur verwandt, sondern völlig gleich. Ich konnte es nicht finden, bevor ich gepostet habe, und es wurde auch nicht von meinem Titel vorgeschlagen, aber ich habe es nur in der Seitenleiste gesehen. Verzeihung!
Ein N-Eingangs-Gate ist immer noch eine einzelne Gate-Verzögerung bis zu etwa 8 Eingängen. Wenn Sie zwei Stufen bräuchten, wäre das für 64 Bit parallel ausreichend, also steigt es mit log2 (N) / K, wobei K log2 der maximalen Anzahl von Eingängen für eine Gate-Verzögerung ist, nicht N und schon gar nicht N!.
@Spehro Pehfhany - Das war mir bis zu der von mir verlinkten Frage / Ihrem Kommentar nicht bewusst. Es macht jetzt Sinn, ich hatte nur ein 'Mir muss etwas fehlen'-Gefühl..
Außerdem meinte ich die Summe der n Terme zu n, nicht n!. Also n^2, nehme ich an. Aber egal, ich habe mich geirrt. :)
@dave-tweed - danke für die Kennzeichnung als Dupe. Ich bin ein relativer SE-Noob, aber ich habe diese Optionen noch nie gesehen. Erfordert es eine bestimmte Wiederholung? Und OP kann es nicht tun, wenn (wie ich) später ein Duplikat entdeckt?
Dies ist eine der Optionen, die Sie erhalten, wenn Sie unter der Frage auf die Schaltfläche "Schließen" klicken. Normalerweise wird die Entscheidung zum Schließen durch Abstimmung durch die Community getroffen, aber da Sie den Betrüger selbst identifiziert haben, habe ich den Vorgang "kurzgeschlossen" und direkt durchgeführt. Ich bin Moderator (das bedeutet die Raute), meine Stimmen werden also sofort wirksam. Ich bin sehr vorsichtig, wenn ich solche Maßnahmen ergreife, aber in diesem Fall schien es völlig angemessen.

Antworten (1)

Ein NOR-Gatter mit n Eingängen übernimmt die Hardwareimplementierung.

Nein, wird es nicht ... Ein NOR würde, aber ein NAND würde nur gegen -1 prüfen.
Mein Fehler. Korrigiert.