Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
p:ph_transistor_addierer [2022/12/08 21:18] Tscherter Vincentp:ph_transistor_addierer [2023/09/28 08:04] (aktuell) Tscherter Vincent
Zeile 1: Zeile 1:
 +====== 🧮 Vom Schalter zum Addierwerk ======
  
 +>💡 "Computer sind aus unzähligen Schaltern aufgebaut". Dieser Artikel zeigt dir, wie mehrere Transistoren zu verschiedene logische Schaltungen (Logik-Gatter) kombiniert werden können und wie aus diesen einfache Addierer gebaut werden können.
 +
 +===== Transistoren =====
 +
 +Die Schalter in einem Computer-Chip werden nicht mit dem Finger, sondern mit verschiedenen Ladungen ein- und ausgeschaltet. Abb.1 links zeigt einen normalen, eingeschalteten Schalter mit zwei Anschlüssen. Der Pfeil zeigt an, dass Strom fliesst. In der Mitte ist ein Querschnitt durch einen für einen Computer-Chip verwendeten Schalter, den Transistor, gezeichnet.((Es gibt verschiedene Arten einen Transistor zu realisieren. Die gezeigte Variante ist ein selbstsperrender n-Typ MOSFET.)) Source und Drain sind die beiden Anschlüsse, durch die der Strom fliesst, wenn der Schalter eingeschaltet ist. Eingeschaltet wird der gezeichnete Transistor durch eine positive Ladung am Gate-Anschluss. Die positive Gate-Ladung zieht freie Elektronen aus der N-Si-Halbleiterschicht nach oben, sodass zwischen den P-Si-Halbleitern ein Elektronenüberschuss entsteht. Dadurch kann Strom durch den P-Si → N-Si → P-Si Übergang fliessen. Die Isolation sorgt dafür, dass kein Strom durch das Gate fliesst. Rechts ist das Symbol (Schaltbild) des Transistors gegeben. 
 +
 +|  Abb.1 Eingeschalteter Transistor  |||
 +| {{gdraw>1HWIHocS1wtc2HAadWQGFcDEnFtb9RDaaqiZ4Rey4KDw width=100 center}} | {{gdraw>1pErXg9R81ZPHN8wf9SMPfo4TxWuobzmtxOabi1m0QwI width=300 center}} | {{gdraw>1AJKzy8E2eF-LolAl-Yn_JSmIX0gS21U8BNTJwB4DKY4 width=100 center}} |
 +|  Normaler Schalter  |  Aufbau Transistor  |  Schaltbild Transistor  |
 +
 +Wird am Gate eine negative Ladung angelegt, so leitet der Transistor nicht, er sperrt (siehe Abb.2) ((Bei den meisten Computerchips wird am Gate keine negative Ladung, sondern keine Ladung angelegt (Erdung), das genügt, um den Stromfluss zwischen Source und Drain zu unterbrechen. Für das Verständnis ist es jedoch einfacher von einer negativen Ladung auszugehen.)). Durch die negative Gate-Ladung werden die freien Elektronen der N-Si-Schicht nach unten gedrückt. Zwischen den beiden P-Si-Schichten gibt es somit zu wenige freie Elektronen und es kann kein Strom durch den P-Si → N-Si → P-Si Übergang fliessen.
 +
 +|  Abb.2 Ausgeschalteter Transitor  |||
 +| {{gdraw>1DNt8URIWqzZxjcCCVZeD592DGlz1Inwp1adMBKnMK5c width=100 center}} | {{gdraw>1TL-XJ6i6SDSv9ZYIqHeZxLZRb6YN4sVHDGKsHEKRp4o width=300 center}} | {{gdraw>1iCG-EBNkkZNk2_Uhgt06s0O8DmKe4NVmDWC9P1QGogg width=100 center}} |
 +|  Normaler Schalter  |  Aufbau Transistor  |  Schaltbild Transistor  |
 +
 +==== Binärzahlen 0 und 1 ====
 +
 +  ; 🤪 **Fischsuppe und Lampenschirm?**
 +  : Ein Computer besteht aus beinahe unzähligen Schaltern, den Transistoren. Jeder Schalter kann zwei Zustände ein nehmen - ''ein'' und ''aus''. Wie diese Zustände genannt werden, ist völlig willkürlich. Man könnte die Zustände auch «Fischsuppe» und «Lampenschirm» nennen. Oder vielleicht fallen dir selbst verrückte Namen ein.
 +
 +  ; 👫 **Binärzahlen und Logikgatter – ein schönes Paar**  
 +  : Es hat sich aber gezeigt, dass die Benennung ''0'' und ''1'' praktisch ist. Zahlen, welche nur aus ''0'' und ''1'' bestehen, werden als Binärzahlen bezeichnet. Mit diesen kann ganz «normal» gezählt und gerechnet werden. Das schöne dabei ist: Es können mit Transistoren Schaltungen gebaut werden, welche dank der Benennung ''0'' und ''1'' Binärzahlen miteinander verrechnen und vergleichen können.
 +
 +🤔 **Gibt es auch «ternäre» Computer?**
 +  :Ja, es ist möglich ternäre Logikschaltungen, d.h. Logikschaltungen mit drei Zuständen zu bauen (''wahr'', ''falsch'' und ''unbestimmt'' oder ''-1'', ''0'' und ''1'' oder ''+'', ''0'', ''-''). Es wurden auch schon [[wpde>Ternärer Computer|ternäre Computer]] gebaut. Im Prinzip sind ternäre Computer sogar effizienter als binäre Computer. Der Grund, warum es praktisch nur binäre Computer gibt, liegt darin, dass die Massenproduktion von binären Logikgattern günstiger ist als die von ternären. Es ist aber möglich, dass die Computer in der Zukunft vorwiegend ternär sein werden.
 +
 +===== Logik-Gatter =====
 +
 +>💡 Mit Transistoren lassen sich logische Schaltungen bauen, auch Logikgatter genannt. Mit Logikgattern können bereits einfache Steuerungen gebaut werden. Z.B. die Steuerung einer Kühlschrankinnenbeleuchtung, einer Waschmaschine oder eines Ventilators. Was Logikgatter machen und was diese mit "Logik" zu tun haben, erfährst du in diesem Kapitel. 
 +
 +>💡 Wie die Logikgatter aus Transistoren gebaut werden können erfährst du im Abschnitt "Aufbau Logikgatter" (ein Kapitel für Schnelle oder Interessierte).
 +
 +=== Aufgabe ===
 +
 +  - Öffne das {{ :c:abstraktionsschichten.pdf |Schichtenmodell eines Computers}}. Wie du daraus entnehmen kannst, werden Logikgatter aus Transistoren aufgebaut. Daher liegt die Schicht «Logikgatter» auch oberhalb der Schicht «Transistoren». Schaue dir nun die drei Schichten oberhalb der Schicht «Logikgatter» an. Wie du siehst, werden für einen Computer keine Kühlschrank- oder Ventilatorsteuerungen aus Logikgattern gebaut.
 +  - Jetzt die Frage: Was für Schaltungen werden in den drei Schichten oberhalb der Schicht «Logikgatter» aus den Logikgattern gebaut? Ersetze im unten stehenden Textfeld die drei Punkte … durch ein geeignetes Wort. Wenn das Wort stimmt, wird das Textfeld grün eingefärbt. {{gem/match?0=N4IgTgpg5hAeAOIBcIB0AqAFAQwCa4EsIwAXAHwC8BXAZ2wFt6IA7MmCgE4AsAbcgN2KQAxl2YRyNKoyKkAlBhAAaECTglkIAIK0ABABkA9lAIBrKNhJqwzXT2w0aLXTQKjd2Ku4DKo7HypmGFsAI08WJV16AhJdAHcIHlFnAC1sXmdULPjiXGdTADfmcWZUEABfIA#2f849036616915be}}  
 +
 +==== NOT [!] ====
 +
 +=== NOT gate (Nicht-Gatter) ===
 +
 +Unten stehend siehst du ein interaktives [[wpde>Nicht-Gatter|NOT gate]] (erkennbar am Symbol ''!''). Wenn du auf den Eingang ''e'' klickst (auf das Quadrat □), so wechselt der Eingang zwischen zwei Zuständen hin und her. Der «weisse Zustand» ist bezeichnet ''aus'' oder ''0'', der «rote Zustand» ''ein'' oder ''1''. Probiere das gleich einmal aus!
 +
 +{{gem/cs/logic?logic=S1e%3EN1%3EB1a}}
 +
 +⚠️ Wie du siehst, zeigt der Ausgang ''a'' immer das Gegenteil vom Eingang ''e'' an. Wenn ''e'' weiss ''aus'' ist, dann ist ''a'' rot ''ein'' und umgekehrt. Daher wird diese Schaltung als NOT gate (Nicht-Gatter) bezeichnet, da sie immer das Gegenteil ausgibt oder anders gesagt den Eingang «negiert». 
 +
 +⚙️ Anwendung: Mit einem NOT gate kann die Kühlschrankbeleuchtung geregelt werden. Ist die Kühlschranktüre zu, wird der Türschalter aktiviert (ist ''ein''). Dadurch wird das Licht im Kühlschrankinneren ausgeschaltet (ist ''aus''). Wird die Tür geöffnet, ist der Türschalter ''aus'' und die Lampe im Inneren fängt an zu leuchten (ist ''ein'').
 +
 +💡 Die Zustände der Ein- und Ausgänge lassen sich auf viele Arten beschreiben, z.B. wie folgt:
 +
 +^ Zustand ^ Zahl ^ Wahrheitswert ^
 +| ein | 1 | wahr / true |
 +| aus | 0 | falsch / false |
 +
 +Die Zuordung ''true'' und ''false'' (zu Deuscht: «wahr» und «falsch») wird in der Logik und im Programmieren gebraucht.
 +
 +=== NOT-Wahrheitstabelle – Aufgabe ===
 +
 +  - Die «Wahrheitstabelle» zeigt, zu welchem Eingang ''e'', welcher Ausgang ''a'' gehört, wobei ''0'' für ''aus'' und ''1'' für ''ein'' stehen. Fülle die nachfolgende Wahrheitstabelle zum NOT gate aus. 
 +
 +{{gem/match?0=N4IgLgpgHmIFwgAQUQH0QQ0QHQHYFpCj89EAGNHXRARkpABoQAnCAc2gAd4Q88a8ZRiADOYZgEtuCAHoA6AFQAKANpkaAXQDUASmzYRCgCSp5x4WMmcAZgBsMbETwC2bYWAzMOsBH1w0hAF8gA#deb156b623efc462}}
 +
 +🤔 **Was hat das mit «Logik» zu tun?** Die Aussage //"4 ist eine gerade Zahl"// ist wahr (d.h. ''true'' oder ''1''). Das Gegenteil davon (die Negation) muss daher falsch sein (d.h. ''false'' oder ''0''): //"4 ist keine gerade Zahl"//. Die Aussage //"4 ist durch 3 teilbar"// ist falsch. Das Gegenteil davon muss daher wahr sein: //"4 ist nicht durch 3 teilbar"//. Genau das beschreibt die Wahrheitstabelle.
 +
 +==== AND [&] ====
 +
 +=== AND gate (Und-Gatter) ===
 +
 +Unten stehend siehst du ein interaktives [[wpde>Und-Gatter|AND gate]] (erkennbar am Symbol ''&''). Das AND gate hat zwei Eingänge ''e<sub>0</sub>'' und ''e<sub>1</sub>'' und einen Ausgang ''a''. Der Ausgang ''a'' ist nur dann ''ein'' wenn beide Eingänge ''e<sub>0</sub>'' und ''e<sub>1</sub>'' gleichzeitig ''ein'' sind. Probiere es aus!
 +
 +{{gem/cs/logic?0=N4IgNg9g5glgxiAXCAygRgKaACCFAmDggQQB8AgmgAS6JpEBCaAhiAL5A}}
 +
 +⚙️ Anwendung: Mit einem AND gate kann das sichere Einschalten einer Waschmaschine garantiert werden. Einer der beiden AND-Eingänge ist ein Türschalter, der nur dann ''ein'' ist, wenn die Türe geschlossen ist. Der andere Eingang ist der Start-Knopf der Waschmaschine. Nur wenn beide Eingänge ''ein'' sind, wird die Waschmaschine gestartet (Ausgang ''ein''), ansonsten startet die Waschmaschine nicht (Ausgang ''aus'').
 +
 +=== AND-Wahrheitstabelle - Aufgabe ===
 +
 +  - Fülle die nachfolgende Wahrheitstabelle zum AND gate aus. {{gem/match?0=N4IgLgpgHmIFwgoQIIAEAfFFABBOlBDFAHQDsBaciy8kgBhVzt1vowEYWjj2GOTu2OIADQgAzmABOASwAO8EAG0AejVYBdYSAkQA5tDkIaR1SdWtWIAL5A#fdb7da3ed0b37fc3}}
 +
 +🤔 **Was hat das mit «Logik» zu tun?** Betrachte folgenden Satz: //"Wenn es regnet und ich rausgehe, dann werde ich nass."// Die Schlussfolgerung //"ich werde nass"// ist nur dann wahr (d.h. ''true'' oder ''1'') wenn die Aussage //"es regnet"// und gleichzetig die Aussage //"ich gehe raus"// wahr (d.h. ''true'' oder ''1'') sind. Ist mindestens eine dieser beiden Aussagen falsch (d.h. ''false'' oder ''0''), dann ist auch die Schlussfolgerung falsch (d.h. ''false'' oder ''0''). Genau das beschreibt die Wahrheitstabelle.
 +
 +==== OR [≥1] ===
 +
 +=== OR gate (Oder-Gatter) ===
 +
 +Unten stehend siehst du ein interaktives [[wpde>Oder-Gatter|OR gate]] (erkennbar am Symbol ''≥1''). Das OR gate hat zwei Eingänge ''e<sub>0</sub>'' und ''e<sub>1</sub>'' und einen Ausgang ''a''. Der Ausgang ''a'' ist nur dann ''aus'' wenn beide Eingänge ''e<sub>0</sub>'' und ''e<sub>1</sub>'' gleichzeitig ''aus'' sind. Probiere es aus!
 +
 +{{gem/cs/logic?0=N4IgNg9g5glgxiAXCAygRgKaACCFAmDggQQB8A8mgAS6JpEBCaAhiAL5A}}
 +
 +⚙️ Anwendung: Mit einem OR gate kann ein Ventilator wahlweise automatisch oder manuell eingeschaltet werden. Einer der beiden OR-Eingänge ist ein Temperatursensor, der nur dann ''ein'' ist, wenn die Temperatur einen gewissen Wert übersteigt. Der andere Eingang ist der Start-Knopf des Ventilators. Sobald einer der beiden Eingänge ''ein'' ist (oder beide ''ein'' sind), wird der Ventilator gestartet (Ausgang ''ein''). Nur wenn beide Eingänge ''aus'' sind, stoppt der Ventilator (Ausgang ''aus'').
 +
 +=== OR-Wahrheitstabelle - Aufgabe ===
 +
 +  - Fülle die nachfolgende Wahrheitstabelle zum OR gate aus. {{gem/match?0=N4IgLgpgHmIFwgoQIIAEAfFFABBOlBDFAHQDsBaciy8kgBhVzt1vowEYWjj2GOTu2OIADQgAThADm0AA7wQNAHQAqRSsKEAziuWsd6rbu1LW+4zp0gAvkA#ed04349822c245c6}}
 +  - 🤔 **Was hat das mit «Logik» zu tun?** Überlege dir einen Satz der zur OR-Wahrheitstabelle passt (analog zum Satz //"Wenn es regnet und ich rausgehe, dann werde ich nass."// für die AND-Wahrheitstabelle). Schreibe den Satz ins unten stehende Textfeld. {{gem/plain?#e3b8671dab24531e}} ++Antwortzugang|\\ Betrachte z.B. folgenden Satz: //"Wenn du das Bad putzt oder wenn ich das Bad putze, dann ist das Bad sauber."// Die Schlussfolgerung //"das Bad ist sauber"// ist wahr (d.h. ''true'' oder ''1'') wenn mindestens eine der beiden Aussagen //"du putzt das Bad"// und //"ich putze das Bad"// wahr (d.h. ''true'' oder ''1'') sind (es können auch beide das Bad gleichzeitig putzen). Sind beide Aussagen falsch (d.h. ''false'' oder ''0'') dann ist auch die Schlussfolgerung falsch (d.h. ''false'' oder ''0''). Genau das beschreibt die Wahrheitstabelle.++
 +
 +===== 🤩 Aufbau Logikgatter =====
 +
 +🤩 Kapitel für Schnelle oder Interessierte
 +
 +💡 In diesem Kapitel erfährst du, wie aus Transistoren Logikgatter gebaut werden können. Dazu erweitern wir die Benennung der Transistor-Zustände um ''+'' und ''-''.
 +
 +^ Zustand ^ Zahl ^ Wahrheitswert ^ Ladung ^
 +| ein | 1 | wahr / true | + |
 +| aus | 0 | falsch / false | - |
 +
 +==== NOT gate ====
 +
 +=== Wahrheitstabelle ===
 +
 +^ e ^ a ^
 +| 0 | 1 |
 +| 1 | 0 |
 +
 +=== Aufbau ===
 +
 +Wie kann ein NOT gate aus Transistoren gebaut werden? In Abb.1 ist zweimal der Bauplan eines NOT gates abgebildet. Der Eingang ''e'' entspricht dabei dem Gate ''G'' des Transistors.
 +
 +⚠️ Zur Physik: Elektronen sind negativ geladen und stossen einander ab. Elektronen wandern vom Minuspol einer Stromquelle (dort hat es Elektronenüberschuss) zum Pluspol einer Stromquelle (dort hat es Elektronenmangel). 
 +
 +In der Abbildung links liegt eine positive Ladung ''+'' am Eingang ''e'' an. Der Transistor leitet und Elektronen fliessen vom negativ-geladenen Anschluss der Stromquelle (blaue horizontale Linie unten) zum positiv-geladenen Anschluss der Stromquelle (rote horizontale Linie oben). Dabei müssen die Elektronen auch durch den Widerstand ''R'' hindurch. Da jedoch nur wenige Elektronen gleichzeitig durch ''R'' durchfliessen können, stauen sich die Elektronen vor dem Widerstand (ähnlich wie Autos vor dem Gotthard-Tunnel). Da Elektronen negativ geladen sind, bewirkt der Elektronenstau, dass eine negative Ladung ''-'' am Ausgang ''a'' entsteht. 
 +
 +In der Abbildung rechts liegt eine negative Ladung ''-'' am Eingang ''e'' an. Der Transistor sperrt, es können keine neuen Elektronen durch den Transistor nachkommen. Daher fliesen alle vorhandenen Elektronen durch den Widerstand ''R'' zum positiv-geladenen Anschluss ab. Das Resultat ist ein Elektronenmangel vor dem Widerstand ''R''. Der Elektronenmangel bewirkt, dass der Ausgang ''a'' eine positive Ladung ''+'' annimmt.
 +
 +|  Abb.1 NOT gate  ||
 +| {{gdraw>1rIQDNgv0d3z9Y9BT1h7xUV1-Zom6RgrVqOJg3-cagdM width=250 center}} | {{gdraw>12vpIfRYjZiSL0tC1YxvecZG-ijFGGbPTQB9EK6WCs0o width=250 center}} |
 +|  Eingang 1 - Ausgang 0  |  Eingang 0 - Ausgang 1  |
 +
 +==== AND gate ====
 +
 +=== Wahrheitstabelle ===
 +
 +^ e<sub>1</sub> ^ e<sub>0</sub> ^ a ^
 +| 0 | 0 | 0 |
 +| 0 | 1 | 0 |
 +| 1 | 0 | 0 |
 +| 1 | 1 | 1 |
 +
 +=== Aufbau ===
 +
 +Wie kann ein AND gate aus Transistoren gebaut werden? In Abb.2 ist zweimal ein Bauplan abgebildet. Zwei Transistoren sind «aneinander gehängt» (in Serie geschaltet). Die beiden Gates ''G'' stellen die beiden Eingänge ''e<sub>0</sub>'' und ''e<sub>1</sub>'' dar. Wenn beide Eingänge ''+'' sind, dann ist der Ausgang ''-'' (linke Abbildung). In allen anderen Fällen ist der Ausgang ''+'' (rechte Abbildung).  
 +
 +|  Abb.2 NAND gate  ||
 +| {{gdraw>14Rm9hQ3uERY4JExX-iT4x-SqlmqshPWzyaguao0UG9g width=250 center}} | {{gdraw>1EobjxPCAtdVXKjI9_ZVvyjGEdMXirtAEF27tFl9CCCY width=250 center}} |
 +|  Eingang 1 1 - Ausgang 0  |  Eingang 1 0 - Ausgang 1  |
 +
 +⚠️ Das ist aber genau das Gegenteil der AND-Wahrheitstabelle! Daher wird das Logikgatter in Abb.2 als [[wpde>NAND-Gatter|NAND gate]] (Nicht-Und-Gatter) bezeichnet. Um ein echtes AND gate zu erhalten, wird einfach an den Ausgang ''a'' des NAND gates ein NOT gate angehängt. Dies ist in Abb.3 dargestellt. 
 +
 +|  Abb. 3 AND gate  ||
 +| {{gdraw>1Mix08wbMz7lm5lP8ctoSlWm5C_g8gJ9MblVwiOOQDiE width=350 center}} | {{gdraw>18eK0iJhE_hmCC_GuzSTk28cX9TGUAVmNYZC5Web4adk width=350 center}} |
 +|  Eingang 1 1 - Ausgang 1  |  Eingang 1 0 - Ausgang 0  |
 +
 +=== Aufgabe ===
 +
 +  - Diese Aufgabe bezieht sich auf das **NAND gate in Abb.2**. Die folgenden beiden Situationen sind nicht in Abb.2 abgebildet. Wenn ''e<sub>0</sub>'' positiv ''+'' und ''e<sub>1</sub>'' negativ ''-'', dann ist ''a'' positiv ''+''. Wenn ''e<sub>0</sub>'' negativ ''-''  und ''e<sub>1</sub>'' negativ ''-'', dann ist ''a'' positiv ''+''. Erkläre im unten stehenden Textfeld warum das so ist. {{gem/plain?0=N4XyA#99e831e6e7f7c55c}} ++Antwortzugang|\\ Das Ganze funktioniert ähnlich wie das NOT gate. Wenn die Elektronen durch beide Transistoren hindurch fliessen können (beide Gates haben den Eingang ''+''), so stauen sich diese vor dem Widerstand ''R'' und der Ausgang ''a'' wird ''-''. Wenn einer der beiden Transistoren sperrt (Gate mit Eingang ''-'') oder wenn beide Transistoren sperren, dann kommen keine Elektronen nach, die noch vorhandenen Elektronen fliessen durch den Widerstand ''R'' ab und der Ausgang wird ''+''.++
 +
 +==== OR gate ====
 +
 +=== Wahrheitstabelle ===
 +
 +^ e<sub>1</sub> ^ e<sub>0</sub> ^ a ^
 +| 0 | 0 | 0 |
 +| 0 | 1 | 1 |
 +| 1 | 0 | 1 |
 +| 1 | 1 | 1 |
 +
 +== Aufbau OR gate ===
 +
 +Wie kann ein OR gate aus Transistoren gebaut werden? In Abb.4 ist zweimal ein Bauplan abgebildet. Zwei Transistoren sind so geschaltet, dass es zwei verschiedene Wege vom negativ-geladenen Anschluss der Stromquelle zum positiv-geladenen Anschluss der Stromquelle gibt (parallel geschaltet). Die beiden Gates ''G'' stellen die beiden Eingänge ''e<sub>0</sub>'' und ''e<sub>1</sub>'' dar. Wenn beide Eingänge ''-'' sind, dann ist der Ausgang ''+'' (linke Abbildung). In allen anderen Fällen ist der Ausgang ''-'' (rechte Abbildung). 
 +
 +|  Abb.4 NOR gate  ||
 +| {{gdraw>1mVdBeeBswWRNygUV2qyYXXFG8glhgDtNZtzXTyChW0o width=350 center}} | {{gdraw>1Rh17ynWVQ-6ixbarld4AlHIXvwA7bAghvRspKXaWio4 width=350 center}} |
 +|  Eingang 0 0 - Ausgang 1  |  Eingang 0 1 - Ausgang 0  |
 +
 +⚠️ Das ist aber genau das Gegenteil der OR-Wahrheitstabelle! Daher wird das Logikgatter in Abb.4 als [[wpde>NOR-Gatter|NOR gate]] (Nicht-Oder-Gatter) bezeichnet. Um ein echtes OR gate zu erhalten, wird einfach an den Ausgang ''a'' des NOR gates ein NOT gate angehängt. Dies ist in Abb.5 dargestellt.
 +
 +|  Abb.5 OR gate  ||
 +| {{gdraw>1RXICbHoG2oqCiOcG-lTjQE7YsD6v2oo1QYMuIbRxdYI width=400 center}} | {{gdraw>1txc5rcwo-YM1KxynzBPG82juPaVdJp2ExP8Wu5aZi-o width=400 center}} |
 +|  Eingang 0 0 - Ausgang 0  |  Eingang 0 1 - Ausgang 1  |
 +
 +=== Aufgabe ===
 +
 +  - Diese Aufgabe bezieht sich auf das **NOR gate in Abb.4**. Die folgenden beiden Situationen sind nicht in Abb.4 abgebildet. Wenn ''e<sub>0</sub>'' negativ ''-'' und ''e<sub>1</sub>'' positiv ''+'', dann ist ''a'' negativ ''-''. Wenn ''e<sub>0</sub>'' positiv ''+'' und ''e<sub>1</sub>'' positiv ''+'', dann ist ''a'' negativ ''-''. Erkläre im unten stehenden Textfeld warum das so ist. {{gem/plain?0=N4XyA#01fd2da1712639ab}} ++Antwortzugang|\\ Das Ganze funktioniert ähnlich wie das NOT gate. Wenn die Elektronen durch mindestens einen der beiden Transistoren hindurch fliessen können (ein Gate oder beide Gates haben den Eingang ''+''), so stauen sich diese vor dem Widerstand ''R'' und der Ausgang ''a'' wird ''-''. Wenn beide Transistoren sperren (beide Gate haben den Eingang ''-''), so kommen keine Elektronen nach, die noch vorhandenen Elektronen fliessen durch den Widerstand ''R'' ab und der Ausgang wird ''+''.++
 +
 +===== Addierer =====
 +
 +Bereits aus den bis hierhin kennengelernten Logik-Gattern lässt sich Addierer für zwei beliebig lange Binärzahlen bauen. Wir beginnen dabei mit einem einfachen Addierer, welcher zwei einzelne Bit addieren kann (der sogenannte «Halbaddierer») und betrachten danach komplexere Addierer bis hin zum Addierwerk. Für Interessierte und Schnelle gibt es am Ende noch einen Einblick in die arithmetische-logische Einheit, ein umfassenderes Rechenwerk, dass alle Grundrechenoperationen beherrscht und Zahlen vergleichen kann.
 +
 +==== Halbaddierer [HA] ====
 +
 +Unten stehend siehst du einen interaktiven [[wpde>Halbaddierer|Halbaddierer]] (erkennbar am Symbol ''HA''). Der Halbaddierer addiert zwei einzlene Bits ''x'' und ''y'' zu einer zweistelligen Binärzahl bestehend aus den beiden Stellen ''s'' und ''c''. Wenn ''x'' den Wert ''1'' und ''y'' den Wert ''1'' haben, so wird die zweistellige Binärzahl ''cs'' zu ''10''. Probiere es aus!
 +
 +{{gem/cs/logic?0=N4IgNg9g5glgxiAXCAygRgB4oEwE8B8AEmgATaKnb4BCaAztdggL5A}}
 +
 +💡 Beim schriftlichen Addieren zweier Zahlen werden die aktuellen Stellen der zu addierenden Zahlen und ein allfälliger Übertrag miteinander addiert. Der Halbaddierer kann zwei Stellen ''x'' und ''y'' addieren, er hat aber keinen Eingang für einen Übertrag und kann somit keinen Übertrag einbeziehen. Daher der Name «Halb». Der Ausgang des Halbaddierers beinhaltet jedoch einen Übertrag für allfällige weitere Additionen. Der Ausgang ''s'' bezeichnet die aktuelle Stelle der Addition, der Ausgang ''c'' bezeichnet den Übertrag (engl. carry). 
 +
 +=== HA-Wahrheitstabelle - Aufgabe ===
 +
 +  - Fülle die nachfolgende Wahrheitstabelle zum Halbaddierer aus. {{gem/match?0=N4IgLgpgHmIFwgAQFECWA7RiA+2sEEBXAZywB10Baam3G+igTx0ShzwGMXSL7q6+lCgAYWo3FjyIRLAIztJ5dPLzipUiisQr1WEABoQAJwgBzaAAd4IYQDoAVHccOnZMsWf3ZLh9-tuPPycnPwCvXwjPEABfIA#b820777ea4e4e735}}
 +
 +=== Aufbau Halbaddierer - Aufgabe ===
 +
 +  - Ein Halbaddierer kann aus NOT, AND und OR gates aufgebaut werden. Unten stehend siehst du ein Schaltschema dafür. Trage in das Textfeld unter dem Schema ein, an welche Positionen ein NOT, an welchen ein AND und an welchen ein OR gate gehört. Ihr dürft gerne zu zweit knobeln.\\ \\ //Tipp:// Fange mit den beiden gates C und D an. Wenn du A und B nicht herausfindest, so schlage im «Antwortzugang» am Ende dieser Aufgabe nach.\\ \\ //Hinweis:// Die Wahrheitstabellen für NOT [!], AND [&] und OR [≥] sind: {{gem/plain?0=N4IgLgpgHmIFwgAQDkDyAVRBCRu-4EFkARRAMn0stQCVFBTIgB0A7FxCRAH0QEMr3AgQRd2gAIJhfKhCHcIY7nxYBaZSsWVVG1es2a2ABmEBGfgeGnupyucTW9bYxZO5uxs06PPEhtv0qvHblT+Np7ezL5+oVFB0S4gAL5AA}}
 +
 +|  Halbaddierer (HA) Schaltschema  |
 +| {{gdraw>1nEMcXhQttRClWrNvuaJWG0wuHk5GG_trxa6bjd4EKNk width=400 center}} |
 +
 +{{gem/match?0=N4IgLgpgHmIFwgLTIAQAkCGAbARhgJvgJYQBOZKAFGgIICUKNArgGYDmGOEKyiAOgDtBHSIxQBeFMIyiAQhKkCR3AMILpogCIKQAGhDk20AA7wQAe1IA6AFR8+AZ1sYB+W-ac2B5sO8fPXPRAWLAw2BzMiEABfIA#38d986f11a5b0fa4}}
 +++++Antwortzugang|{{gem/cs/logic?0=N4IgNg9g5glgxiAXCAygRgB4oEwE8B8AkmomodotgAQAsRJaVAzOZYTYnQPKMVoCCTWoib1ShJiKrYxaAHIVsEkfn69xk0QCE0AZy1MEAXyA}}++++
 +
 +==== Volladdierer [VA] ====
 +
 +Unten stehend siehst du einen interaktiven [[wpde>Volladdierer|Volladdierer]] (erkennbar am Symbol ''VA''). Der Volladdierer addiert drei einzlene Bits ''x'', ''y'' und ''c'' zu einer zweistelligen Binärzahl bestehend aus den beiden Stellen ''s'' und ''c''. Wenn ''x'', ''y'' und ''c'' alle den Wert ''1'' haben, so wird die zweistellige Binärzahl ''cs'' zu ''11''. Probiere es aus!
 +{{gem/cs/logic?0=N4IgNg9g5glgxiAXCAygRjigTADxQZgE8A+AMTQAIsL9FKtiAhNAZwsawQF8g}}
 +
 +💡 Beim schriftlichen Addieren zweier Zahlen werden die aktuellen Stellen der zu addierenden Zahlen und ein allfälliger Übertrag miteinander addiert. Der Volladdierer kann im Gegensatz zum Halbaddierer zwei Stellen ''x'' und ''y'' und einen Übertrag ''c'' addieren. Daher der Name «Voll». Der Ausgang ''s'' des Volladdierers bezeichnet die aktuelle Stelle der Addition, der Ausgang ''c'' bezeichnet den Übertrag (engl. carry). 
 +
 +=== VA-Wahrheitstabelle - Aufgabe ===
 +
 +  - Fülle die nachfolgende Wahrheitstabelle zum Volladdierer aus. {{gem/match?0=N4IgLgpgHmIFwgATIKIEsB2zkB8fIEEBXAZwB0MBaam2vWmigT0XylcQGNX9v8TEFBg3rCKABg6T80-B0EZpiJQEYeuZBI5qZ6+Vvw7EOuXIpGlsjQova9ZjEdt5r5u4fvIQAGhAAnCABzaAAHeBBxADoAKijYmLjxMjISeLSVBJiVZNS4jLS8nPSsktii-MTM6OyU6qr8ivLSvISmuvaGkABfIA#60879a8b19d6a327}}
 +
 +=== Aufbau Volladdierer ===
 +
 +Ein Volladdierer kann mit zwei Halbaddierern und einem OR gate realisiert werden. {{gem/cs/logic?0=N4IgNg9g5glgxiAXCAygRjigTADxQZgE8A+ASTQAksACfRG-YitarRFrUx8geQfuIAhNAGdBWBAF8gA}} Werden die Halbaddierer durch die NOT, AND und OR gates ersetzt, aus welchen sie bestehen, dann ergibt sich folgende Schaltung. {{gem/cs/logic?0=N4IgNg9g5glgxiAXCAygRjigTADxQZgE8A+ASTUTVK0S1P0XwAIBWMiqmrJgFnsdItEbcpSYB5bgywBBHq2Hsx1Wk0HCm+JZ1oA5BvnUiOTGVNVHtarr0ui0m67VI9EfIW3EOaaGc1fuivZqAUx0Htq6XC5uljLetOLyQjzEAEJYAM5pPAgAvkA}} 
 +
 +=== Aufgabe ===
 +
 +  - Öffne das {{ :p:abstraktionsschichten.pdf |Schichtenmodell eines Computers}} und schaue dir die Schichten Logikgatter bis Addierwerk an.
 +  - Oben stehend hast du zwei Varianten für den Aufbau eines Volladdierers gesehen. Einmal wurde der Volladdierer aus Halbaddierern aufgebaut und einmal direkt aus Logikgattern. Warum macht es Sinn, nur benachbarte Schichten im Schichtenmodell miteinander zu vergleichen? Welchen Vorteil bieten die oberen Schichten gegenüber den unteren? Diskutiere das mit einer Kollegin, einem Kollegen und schreibe deine Überlegungen in das unten stehende Textfeld. Vergleicht danach eure Antworten mit dem Antwortzugang darunter. {{gem/plain?0=N4XyA#23b0b04ec12d227c}} ++Antwortzugang|\\ Der Aufbau des Volladdierers lässt sich einfacher mit Halbaddierern (und einem OR gate) erklären, als nur mit Logikgattern. Wenn eine Schaltung aus mehreren Logikgattern durch ein einziges Element dargestellt wird (z.B. einem Halbaddierer), wird die Übersichtlichkeit erhöht. Um die Funktionsweise des Volladdierers zu verstehen, braucht man nicht zu wissen, wie es im Inneren eines Halbaddierers aussieht - es genügt zu wissen, was ein Halbaddierer macht. In diesem Sinne fasst eine obere Schicht das Wesentliche einer unteren Schicht zusammen und erleichtert so das Verständnis für die nächste, darüberliegenden Schicht (z.B. das Addierwerk).++
 +
 +==== Das Addierwerk ====
 +
 +Das Ziel besteht darin, folgende schriftliche Addition zweier dreistelliger Binärzahlen ''x'' und ''y'', bestehend aus den drei Stellen ''x₂'' ''x₁'' ''x₀'' und ''y₂'' ''y₁'' ''y₀'', zur vierstelligen Binärzahl ''s'', bestehend aus den vier Stellen ''s₃'' ''s₂'' ''s₁'' ''s₀'', gemäss folgender Beispielrechnung zu addieren.
 +^ Stelle  ^  3  ^  2  ^  1  ^  0  ^
 +| Binärzahl ''x'', d.h. ''x₂'' ''x₁'' ''x₀''  |  |  ''1''  |  ''1''  |  ''1''  |
 +| + Binärzahl ''y'', d.h. ''y₂'' ''y₁'' ''y₀''  |  |  ''0''  |  ''1''  |  '' 1''  |
 +| + Übertrag c  |  1  |    |    |    |
 +| = Summe ''s'', d.h.  ''s₃'' ''s₂'' ''s₁'' ''s₀'' |  ''1''  |  ''0''  |  ''1''  |  ''0''  |
 +
 +Die nachfolgende Simulation vermag genau dies zu tun. Dabei werden in der Simulation immer die entsprechenden Stellen zusammengenommen, d.h. die Reihenfolge in der Simulation ist von oben nach unten ''x₀'' ''y₀'' ''x₁'' ''y₁'' ''x₂'' ''y₂''
 +
 +{{gem/cs/logic?0=N4IgNg9g5glgxiAXCAygRgB6ACCFAmAnjgMwaCBBCgCz7kCsGgQQQoBs+9AfABJoAEuiPuAJJFBFQTUFM2gtINxxho8ZOloAYrm5FuFRNrESpMxRQWHVwtRW41uTRLaOyRhuKoDOWYe9Lj39SXdAYII2ABEebUcQAF8gA}}
 +
 +++++Variante mit zusätzlicher Visualisierung der Eingänge|{{gem/cs/logic?0=N4IgNg9g5glgxiAXCAygRgB6ACCFAmDggQQoDMGgQQToAMAnjmmtUWrtWQHwCSaiaABACxdKiAKy80lDrg7EuaLrk65EuXgDY5iAOzj582YJFCFnedOKJivABwLEATnHTDHDVuP02AET6qD2DhFaVw53W3sfSl0nNgAJfl4RRASjNw5wzkM4V0JQxnSOezYAMTE1Xi1EcvdBDI5BN2zrckLWTNdinWtee0QbHvaNcLhMgGcsV1GCdNGyQtHAYIJvBPLu+xAAXyA}}++++
 +
 +Um die Stelle ''s₀'' auszurechnen, genügt es die beiden Bit ''x₀'' und ''y₀'' zu addieren. Wir haben hier noch keinen Übertrag aus einer anderen Rechnung zu berücksichtigen. Daher genügt ein Halbaddierer um ''s₀'' zu berechnen. Diese Rechnung selber kann jedoch in einen Übertrag ''c'' resultieren, welcher der Halbaddierer ebenfalls ausgibt.
 +
 +Um die Stelle ''s₁'' zu berechnen müssen die beiden Bit ''x₁'' und ''y₁'' und der Übertrag ''c'' aus der ''s₀''-Berechnung addiert werden. Hierfür muss ein Volladdierer verwendet werden. Auch dieser gibt einen Übertrag ''c'' für die nächste Berechnung aus.
 +
 +Die Stelle ''s₂'' berechnet sich per Volladdierer aus ''x₂'', ''y₂'' und dem ''c'' aus der ''s₁''-Berechnung und resultiert ebenso in einem weiteren ''c''.
 +
 +Obwohl nun alle drei Stellen beider Zahlen x und y verrechnet wurden, muss noch der Übertrag ''c'' aus der ''s₂''-Berechnung berücksichtigt werden. Dafür wird dieses ''c'' einfach als ''s₃'', d.h. als vierte Stelle der Zahl ''s'' ausgegeben.
 +
 +{{ gem/flag?label=Erledigt&icon=%E2%9C%8D#370aaff1348da549}}
 +=== Aufgabe ===
 +  - Wie sieht eine Schaltung für zwei vierstellige Binärzahlen aus? Skizziere mit jemanden anderes zusammen eine solche Schaltung auf ein Blatt. Danach sollte euch klar sein, wie mit beliebig grossen Schaltungen zwei beliebig grosse Binärzahlen addiert werden können.
 +  - Markiere danach diese Aufgabe als «Erledigt».
 +
 +===== 🤩 Arithmetisch-logische Einheit (ALU) =====
 +🤩 Kapitel für Schnelle oder Interessierte
 +
 +Die [[wpde>Arithmetisch-logische_Einheit|arithmetisch-logischen Einheit]] (ALU) ist ein Rechenwerk, welche nicht nur addieren, sondern auch subtrahieren, multiplizieren, dividieren, zwei Zahlen vergleichen und logische Operationen wie AND, OR, NOT anwenden kann. Sie ist aus mehreren Addierern und Logikgattern aufgebaut.
 +
 +Für die Subtraktion wird die abzuziehende Zahl in die binäre Entsprechung einer negativen Zahl, das Zweierkomplement, verwandelt und zu der ersten Zahl hinzu addiert (für Detail siehe [[https://www.elektronik-kompendium.de/sites/dig/1807251.htm|Rechnen mit dem Zweierkomplement]]). Wie beim schriftlichen Multiplizieren und Dividieren von Dezimalzahlen kann auch das Multiplizieren und Dividieren auf das Addieren und Subtrahieren von Zahlen zurückgeführt werden. Somit sind die vier Grundoperationen mit einem Addierer umsetzbar.
 +
 +Es können nicht nur ganze Zahlen verrechnet werden, sondern auch Gleitkommazahlen. Um eine Gleitkommazahl binär darstellen zu können, wird diese in Exponentialschreibweise geschrieben und das Vorzeichnen mit einem Bit, der Exponent mit einer vorher definierten Anzahl Bit und die Mantisse mit einer vorher definierten Anzahl Bit so genau als möglich dargestellt (für Details siehe [[https://www.elektronik-kompendium.de/sites/dig/1807231.htm|Gleitkommadarstellung / Gleitkommazahlen]] und [[https://www.elektronik-kompendium.de/sites/dig/1807241.htm|Umrechnen einer Gleitkommazahl in die Gleitkommadarstellung]]). Aufgrund der vorgegebenen endlichen Anzahl Bit ergibt sich eine eingeschränkte Genauigkeit der Darstellung von Gleitkommazahlen. Somit können beim binären Verrechnen von Gleitkommazahlen Fehler entstehen.