Heute erklärt Xyrill Logikgatter. Und das, obwohl er selbst nicht so genau weiß, was da drin ist.
Das ist aber auch nicht zwingend nötig – sagt er –, denn es kommt ja darauf an, was sie tun.
Obwohl die meisten Logikgatter scheinbar sehr langweilig sind, schaffen wir es nur, damit zu addieren.
Allerdings ist das für ttimeless auch genug für den Anfang.
Shownotes
Rückblick STP001: Binärzahlen sind dargestellt als Folge von Bits
z.B. 16-Bit-Zahl entspricht 16 Stromleitungen, an denen die Spannung an oder aus istZiel: Berechnungen auf solchen Zahlen
z.B. Addition zweiter 16-Bit-Zahlen: 2x16 = 32 Bit gehen rein, 16 neue Bit kommen rausWie kombiniert man Bits sinnfällig?Logikgatter: Bausteine für solche Schaltkreiseallgemein ein oder zwei Eingänge und ein Ausgangansonsten Logikschaltung bzw. Logikbaustein, der aus mehreren Gattern zusammengesetzt istLogikgatter mit einem Eingang und einem Ausgang
Gatter unterscheiden sich in der Ausgabe bei Eingabe 0 (2 Optionen) und in der Ausgabe bei Eingabe 1 (2 Optionen)insgesamt 2x2 = 4 mögliche Gatter0 -> 0, 1 -> 0 – Ausgang ist konstant Null (langweilig)0 -> 0, 1 -> 1 – Ausgang ist gleich Eingang (langweilig)0 -> 1, 1 -> 0 – Ausgang ist Negation des Eingangs (NOT-Gatter)0 -> 1, 1 -> 1 – Ausgang ist konstant Eins (langweilig)Logikgatter mit zwei Eingängen und einem Ausgang
vier mögliche Eingaben (00, 01, 10, 11) und je zwei mögliche Ausgaben (0, 1) -> 2^4=16 mögliche Gatterdarunter sechs langweilige GatterAusgang ist konstant NullAusgang ist konstant EinsAusgang ist gleich Eingang 1Ausgang ist gleich Eingang 2Ausgang ist Negation von Eingang 1Ausgang ist Negation von Eingang 2sechs nützliche Gatter LogikgatterAND: Sind beide Eingänge 1?OR: Ist wenigstens ein Eingang 1?XOR: Ist genau ein Eingang 1? bzw. Sind beide Eingänge unterschiedlich?NAND: Ist wenigstens ein Eingang 0?NOR: Sind beide Eingänge 0?NXOR, XNOR: Sind beide Eingänge gleich?vier verbleibende Gatter sind nicht so intuitiv, können aber bei Bedarf aus den obigen Gattern zusammengesetzt werdenBeispiel für eine Logikschaltung: Addiernetz
Idee analog zum Addieren auf Papier wie in der Grundschule mit ÜbertragBeispiel hier: 35 + 47 = 82Halbaddierer: zwei Eingänge, zwei AusgängeZwei Ein-Bit-Zahlen werden zu einer Zwei-Bit-Zahl addiert.Ausgang 1 = XOR (erste Stelle der addierten Zahl)Ausgang 2 = AND (zweite Stelle der addierten Zahl)z.B. bei dezimal: 5 + 7 = 2 + Übertrag 1in binär: Ausgang 1 = XOR, Ausgang 2 = ANDVolladdierer: drei Eingänge, zwei AusgängeWie der Halbaddierer, aber nimmt auch den Übertrag der vorherigen Stelle mit.z.B. bei dezimal: 3 + 4 + Übertrag 1 = 8 + Übertrag 0Addiernetz für N-Bit-Zahlen: 2N Eingänge, N Ausgängeein Halbaddierer für die erste Stelleje ein Volladdierer für jede weitere StelleÜberlauf: Was ist, wenn der finale Übertrag nicht 0 ist?Option 1: als Zustand im Prozessor speichern, der später abgefragt werden kannOption 2: als Fehler behandeln, Prozess oder Prozessor anhaltenWarum sind Logikgatter interessant?
starke Abstraktionsebene: fast das gesamte Verhalten des Computers als Rechenmaschine ist aus Logikgattern zusammengesetztkonkrete Hardware (z.B. konkrete Art von Transistoren) ist oberhalb der Ebene der Logikgatter fast unerheblichaber natürlich: keine Abstraktion ist perfekt...Beispiel: Schaltverzögerung -> Takt