====== 🧼 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 ''e0'' und ''e1'' und einen Ausgang ''a''. Der Ausgang ''a'' ist nur dann ''ein'' wenn beide EingĂ€nge ''e0'' und ''e1'' 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 ''e0'' und ''e1'' und einen Ausgang ''a''. Der Ausgang ''a'' ist nur dann ''aus'' wenn beide EingĂ€nge ''e0'' und ''e1'' 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 === ^ e1 ^ e0 ^ 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 ''e0'' und ''e1'' 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 ''e0'' positiv ''+'' und ''e1'' negativ ''-'', dann ist ''a'' positiv ''+''. Wenn ''e0'' negativ ''-'' und ''e1'' 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 === ^ e1 ^ e0 ^ 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 ''e0'' und ''e1'' 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 ''e0'' negativ ''-'' und ''e1'' positiv ''+'', dann ist ''a'' negativ ''-''. Wenn ''e0'' positiv ''+'' und ''e1'' 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 | 1 | 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.