Statusbits einer ALU (Arithmetic Logic Unit)

Gast #2199303
Lesenswert?
• ▲
▼
Hallo!

Ich beschäftige mich gerade mit der ALU (Arithmetic Logic Unit).
Nun bin ich auf folgende Frage gestoßen:
Durch welche logischen Schaltungen werden die Statusbits N 
(Negative,gesetzt, wenn Ergebnis negativ), C (Carry gesetzt, wenn 
Übertrag nach Addition), Z (Zero=gesetzt, wenn Ergebnis 0) und V 
(Overflow, gesetzt, wenn bei Addition ein Überlauf entsteht).

Ich habe mir bisher folgendes ausgedacht.

Zero: einfach einen Inverter vom Ausgang weg

Carry: Bsp. Halb-/Volladdierer => logische UND-Verknüpfung von A und B

Overflow: carry n und carry n-1 mit Exor vergleichen.

Negative: eine Ahnung?

Bitte um Hilfe!
Gast #2199320
Lesenswert?
• ▲
▼
Hi

>C (Carry gesetzt, wenn Übertrag nach Addition)

Wird im allgemeinen auch bei Subtraktion gesetzt.

Hast du die ALU eine konkreten Controllers im Auge? Es gibt da durchaus 
Unterschiede.

MfG Spess
Gast #2199328
Lesenswert?
• ▲
▼
Ausser

> Zero: einfach einen Inverter vom Ausgang weg

fallen alle anderen Informationen direkt aus dem Rechenwerk an jeweils 
einer eigenen Leitung an, die Signale müssen nur, wie das Ergebnis, 
gespeichert werden.

Du hast bei zero bei einer 1 bit ALU noch Glück, normalerweise braucht 
es ein <n> bit NOR Gatter dafür.
Gast #2199344
Lesenswert?
• ▲
▼
Hi

>Fragt sich nur wie. Gibt da 2 Konventionen - einerseits aus einer echten
>Subtraktion, andererseits aus der Addition des Einerkomplements (6502,
>ARM).

Bei AVRs ist das so definiert:

SUB Rd,Rr (->R)

C: Rd7• Rr7 +Rr7 •R7 +R7• Rd7

Set if the absolute value of the contents of Rr is larger than the 
absolute value of Rd; cleared otherwise.

MfG Spess

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.