Zur Haupt­na­vi­ga­ti­on sprin­gen [Alt]+[0] Zum Sei­ten­in­halt sprin­gen [Alt]+[1]

Lo­gi­sche Schal­tun­gen

Ele­men­ta­re Gat­ter

Zu­nächst ist zu klä­ren, dass di­gi­ta­le Si­gna­le für die Zeit ihrer Ver­ar­bei­tung in einem Rech­ner durch elek­tri­sche Po­ten­zia­le dar­ge­stellt wer­den. Die üb­li­cher­wei­se für Bit-Werte ver­wen­de­ten Be­zeich­nun­gen „0“ und „1“ (oder auch „H“ und „L“) wer­den dann durch ein hohes Po­ten­zi­al (+5 V) und ein nie­de­res Po­ten­zi­al (0 Volt) dar­ge­stellt. Beide Werte kön­nen in einer ein­fa­chen Span­nungs­tei­ler­schal­tung aus zwei hin­ter­ein­an­der­ge­schal­te­ten Wi­der­stän­den R1 und R2 rea­li­siert wer­den, wenn man die Werte der Wi­der­stän­de pas­send wählt. Um nun am Aus­gang eines sol­chen Span­nungs­tei­lers ein­mal +5 Volt zur Ver­fü­gung zu stel­len und kurz dar­auf 0 Volt, muss man die Wi­der­stands­wer­te va­ri­ie­ren kön­nen. Für Ex­pe­ri­men­te im Un­ter­richt ge­nügt es, nur einen der bei­den Wi­der­stän­de gegen einen Tran­sis­tor aus­zu­tau­schen; in CMOS-Schal­tun­gen wer­den beide Wi­der­stän­de durch Tran­sis­to­ren er­setzt. Für un­se­re Zwe­cke ist es völ­lig aus­rei­chend, die Tran­sis­to­ren ein­fach als „span­nungs­ge­steu­er­te Wi­der­stän­de“ auf­zu­fas­sen – alle De­tails der kom­pli­zier­ten Halb­lei­tungs­me­cha­nis­men ge­hö­ren zur Ebene un­ter­halb un­se­res Ho­ri­zonts und dür­fen aus­ge­blen­det blei­ben! Nun ist es nur noch eine Frage der In­ter­pre­ta­ti­on, dass man in die­ser Span­nungs­tei­ler­schal­tung den In­ver­ter (d.h. die NOT-Schal­tung) er­kennt.

Kom­bi­niert man die Bau­ele­men­ten zwei­er NOT-Schal­tun­gen ge­schickt mit­ein­an­der, dann kann man so­wohl eine NAND- als auch eine NOR-Schal­tung er­hal­ten. Durch zu­sätz­li­che In­ver­tie­rung des Aus­gangs jeder die­ser bei­den Schal­tun­gen er­hält man die (ei­gent­lich lo­gisch näher lie­gen­de) AND- bzw. OR-Schal­tung. Die bis zu die­sem Zeit­punkt stu­dier­ten Gat­ter sol­len nun als ele­men­ta­re Bau­stei­ne für den Auf­bau von lo­gi­schen Schal­tun­gen die­nen. Dazu stellt man sie durch je­weils ei­ge­ne Sym­bo­le dar und hält ihre Funk­ti­on in einer Wahr­heits­wert­ta­bel­le fest. (Der Nach­weis, dass sich alle an­de­ren die­ser ele­men­ta­ren Gat­ter nur aus NAND-Gat­tern her­stel­len las­sen, ist für einen nicht zu schwa­chen Kurs durch­aus mach­bar!)

Lo­gi­sche Bau­tei­le aus CMOS-Bau­stei­nen

Mit Hilfe zwei­er p-MOS und zwei­er n-MOS-Bau­stei­nen, wird ein NAND-Gat­ter (als Schalt­bild) dar­ge­stellt. Es wird noch­mals er­wähnt, wann die Bau­stei­ne lei­ten und wann sie sper­ren. Mit Hilfe einer Ta­bel­le kann man nun zei­gen, dass die NAND-Ver­knüp­fung er­füllt wird.

Um diese neuen Er­kennt­nis­se zu fes­ti­gen, gibt man das CMOS-Schalt­bild der NOR-Funk­ti­on vor und lässt die Schü­ler nun selbst eine pas­sen­de Ta­bel­le er­stel­len, mit deren Hilfe sie dann die Rich­tig­keit der eben­falls vor­ge­ge­be­nen Wahr­heits­ta­fel über­prü­fen kön­nen.

Sind die bei­den Gat­ter in ihrer Wir­kung be­kannt, kön­nen sie mit Hilfe von Zei­chen mo­du­la­ri­siert wer­den. Hier kommt nun die Si­mu­la­ti­ons-Soft­ware Lo­gicSim ins Spiel. Zu­nächst lässt man die Schü­ler nur die Wahr­heits­ta­fel von NAND- und NOR-Gat­ter mit Switch und LED über­prü­fen.

Man kann an die­ser Stel­le die Schü­ler alle mög­li­chen zwei­stel­li­gen lo­gi­schen Ver­knüp­fun­gen fin­den las­sen. Die wich­tigs­ten, wie AND, OR und XOR wer­den durch ihre Namen her­vor­ge­ho­ben. Ohne Be­weis kann man nur mit­tei­len, dass sich alle zwei­stel­li­gen lo­gi­schen Ver­knüp­fun­gen zum Bei­spiel durch die NAND-Ver­knüp­fung dar­stel­len las­sen:

x NOR y = ((x NAND x) NAND (y NAND y)) NAND ((x NAND x) NAND (y NAND y))

Mit Lo­gicSim bauen die Schü­ler die obige Ver­knüp­fung nach und über­prü­fen so die Be­haup­tung.

Da­nach kann man um­ge­kehrt vor­ge­hen: Die Schü­ler be­kom­men das „Schalt­bild“ der OR-Ver­knüp­fung durch NAND-Gat­ter ge­zeigt und müs­sen nun die Glei­chung für OR aus NAND fin­den. Zum Schluss soll­te auch die XOR-Funk­ti­on durch NAND-Gat­ter dar­ge­stellt wer­den.

Im­ple­men­tie­rung ma­the­ma­ti­scher Funk­tio­nen

Im nächs­ten Un­ter­richts­ab­schnitt sol­len ein­fa­che lo­gi­sche Schal­tun­gen auf­ge­baut wer­den, die nun eben diese ele­men­ta­ren Gat­ter als Bau­stei­ne ver­wen­den. Dazu kann nun auch ein Si­mu­la­ti­ons­pro­gramm für lo­gi­sche Schal­tun­gen ein­ge­setzt wer­den, wie z.B. Lo­gicSim. Im We­sent­li­chen sind drei Pro­ble­me zu be­ar­bei­ten: wie kann man di­gi­ta­le Daten a) wei­ter­lei­ten, b) spei­chern und c) mit­ein­an­der ver­knüp­fen?

Der erste Punkt der Wei­ter­lei­tung der Daten ist nicht schwer: er wird von den elek­tri­schen Lei­tun­gen über­nom­men, wel­che ein Mo­ther­boards zu tau­sen­den durch­zie­hen. Etwas kom­pli­zier­ter ist die Frage, ob und wie man den In­for­ma­ti­ons­strom kon­trol­lie­ren kann. Dazu soll­te ge­klärt wer­den, dass ein AND-Gat­ter als ein Tor einge­setzt wer­den kann, das dar­über ent­schei­det, ob die In­for­ma­ti­on auf einer Lei­tung wei­ter fließt oder nicht. Diese Tor­steue­rung wird spä­ter an ei­ni­gen Stel­len noch­mals ge­braucht wer­den.

So dann ist zu klä­ren, wie man ein Bit spei­chern kann. Die ele­men­ta­re Spei­cher­funk­ti­on wird am bes­ten an einem ein­fa­chen RS-Flip­flop aus zwei NOR-Schal­tun­gen ge­klärt. Der Aus­bau zu einem „ech­ten“ Spei­cher­bau­stein mit einem Da­ten­ein­gang und einem Aus­gang kann nun von Schü­lern selbst­stän­dig er­le­digt wer­den, indem sie das RS-Flip­flop mit etwas zu­sätz­li­cher Pe­ri­phe­rie zum D-Flip­flop aus­bau­en. Eine Kom­bi­na­ti­on aus D-Flip­flops kann dann als Re­gis­ter an­ge­se­hen wer­den (auch wenn „echte“ Re­gis­ter aus an­de­ren, kom­pli­zier­te­ren Flip­flops be­ste­hen).

Nach­dem nun die Wei­ter­lei­tung und die Spei­che­rung di­gi­ta­ler Daten so­weit ge­klärt sind, bleibt „nur noch“ die Ver­knüp­fung bi­nä­rer In­for­ma­tio­nen zu be­spre­chen, denn schließ­lich wol­len wir ver­ste­hen, warum der Rech­ner „Rech­ner“ heißt! Dabei ist es rat­sam, sich im We­sent­li­chen auf die Ad­di­ti­on und die Sub­trak­ti­on zu be­schrän­ken, denn dies sind tat­säch­lich die ein­zi­gen wirk­lich hard­ware­nah im­ple­men­tier­ten Re­chen­ar­ten!

Schon die Ad­di­ti­on zwei­er ein­stel­li­ger bi­nä­rer Zah­len stellt hö­he­re An­for­de­run­gen, könn­te das Er­geb­nis doch schon zwei­stel­lig wer­den. Ge­sucht ist also eine Schal­tung, die zwei Bit-Werte ent­ge­gen­nimmt und an 2(!) Aus­gän­gen das Er­geb­nis die­ser Rech­nung aus­ge­ben kann. Die Wahr­heits­wert­ta­bel­le einer sol­chen Schal­tung ist leicht auf­zu­stel­len, und auch eine ent­spre­chen­de Gat­ter-Schal­tung ist nicht schwer zu fin­den. Eine sol­che Schal­tung heißt ein Halb­ad­die­rer.

Ein Stu­di­um der schrift­li­chen Ad­di­ti­on zwei­er mehr­stel­li­ger Bi­n­är­zah­len lie­fert dann die Er­kennt­nis, dass ein Ad­die­rer für eine bi­nä­re Stel­le mit 3(!) Ein­gän­gen aus­ge­stat­tet wer­den muss, weil zu den zwei Stel­len­wer­ten der Sum­man­den noch even­tu­ell ein Über­trag von der vo­ri­gen Stel­le kom­men kann. Glück­li­cher­wei­se las­sen sich 2 Halb­ad­die­rer leicht zu einem Vol­l­ad­die­rer er­gän­zen. Und der Weg zu einem 8-Bit-Ad­dier­werk ist dann nicht mehr weit.

Die Sub­trak­ti­on ist nun mehr ein Pro­blem der theo­re­ti­schen In­for­ma­tik als ein er­gie­bi­ges Thema für wei­te­re Hard­ware-Re­cher­chen. Man gerät hier un­ver­se­hens auf das schwie­ri­ge Ter­rain der Be­deu­tung der bi­nä­ren Daten, wel­che sich als ganz und gar nicht ein­deu­tig er­weist. Die­ses Thema eig­net sich eher für recht gute und in­ter­es­sier­te Grup­pen, die ei­ni­ges an ma­the­ma­ti­scher Stand­fes­tig­keit mit­brin­gen.

Las­sen Sie uns noch­mals den Ge­dan­ken der Kap­se­lung auf­grei­fen und eine Dar­stel­lung für die Ab­fol­ge der ver­schie­de­nen Hard­ware-Ebe­nen ex­pli­zit an­ge­ben:

Ebene Ele­men­te

Ma­the­ma­ti­sche

Funk­tio­nen

Re­gis­ter Ad­dier­werk
D-Flip­flop Vol­l­ad­die­rer
RS-Flip­flop Halb­ad­die­rer
Kom­bi­nier­te Gat­ter OR-, AND-, XOR-Gat­ter
Ele­men­ta­re Gat­ter NAND-, NOR-Gat­ter
NOT-Gat­ter
Tran­sis­tor-Ebene Tran­sis­to­ren, Wi­der­stän­de

 

 

Un­ter­richts­gang: Her­un­ter­la­den [odt][72 KB]

 

Wei­ter zu Re­gis­ter­ma­schi­ne