Mikro­pro­gramm­steue­rung

Neue Erkennt­nis­se zur Mikro­pro­gramm­steue­rung der Z1

Kon­rad Zuses Nach­bau des Com­pu­ters Z1 ist eines der High­light-Objek­te des Deut­schen Tech­nik­mu­se­ums. Seit 2022 wird der Com­pu­ter­pro­to­typ dort genau­er erforscht, doku­men­tiert, restau­riert und zum Teil wie­der lauf­fä­hig gemacht. In der Arti­kel­se­rie wer­den im Pro­jekt gewon­ne­ne Ergeb­nis­se suk­zes­siv publi­ziert. Zum Hin­ter­grund und Ziel des Gesamt­pro­jek­tes vgl. den Arti­kel „Wo hakt’s bei Zuses Z1?“.

Die­ser ers­te Arti­kel befasst sich mit einem klei­nen Teil des Nach­baus des Com­pu­ters Zuse Z1 im Deut­schen Tech­nik­mu­se­um in Ber­lin. Die grund­sätz­li­che Archi­tek­tur der Maschi­ne soll hier nicht reka­pi­tu­liert wer­den, son­dern wird als bekannt vor­aus­ge­setzt. Einen gro­ben Über­blick kann man sich zum Bei­spiel in den Büchern Die Rechen­ma­schi­ne von Kon­rad Zuse1, Kon­rad Zuse’s Ear­ly Com­pu­ters2 oder im Bericht Funk­ti­ons- und Kon­struk­ti­ons­prin­zi­pi­en der pro­gramm­ge­steu­er­ten mecha­ni­schen Rechen­ma­schi­ne Z13 verschaffen.

Glie­de­rung

Die Idee der Mikroprogrammsteuerung

Die Mikro­pro­gramm­steue­rung in der Z1

Die Rea­li­sa­ti­on des Mikro­pro­gramm­spei­chers in der Z1 und deren Doku­men­ta­ti­on im Nach­lass von Kon­rad Zuse

Abbau und Dokumentation

Abbau des Mikroprgrammspeichers

Ein Vor­schlag zur Sanie­rung des Mikroprgrammspeichers

Die Roh­da­ten im Mikro­pro­gramm­spei­cher und deren Inter­pre­ta­ti­on als Programm

Lis­te der Ble­che im Mikroprogrammspeicher

Vor­läu­fi­ges Resümee

Vor­ab

Ein Pro­blem, über die Z1 zu schrei­ben oder zu reden, besteht dar­in, dass Kon­rad Zuse die Bau­tei­le oder Blö­cke, aus denen die Maschi­ne auf­ge­baut ist, im All­ge­mei­nen nicht mit Namen, son­dern ledig­lich mit Num­mern iden­ti­fi­ziert hat. In unse­rem Spe­zi­al­fall – der Ana­ly­se der Mikro­pro­gramm­steue­rung – kommt dazu, dass der in der übli­chen Doku­men­ta­ti­on als „Block 17, Mikro­pro­gramm­steue­rung“ bezeich­ne­te Block in meh­re­re Unter­blö­cke unter­teilt ist, die getrennt unter­sucht wer­den müssen.

Wir haben den Block 17 daher in ver­schie­de­ne Funk­ti­ons­ein­hei­ten auf­ge­teilt. Der eigent­li­che Mikro­pro­gramm­spei­cher, das Adres­sier­werk und die bei­den Steu­er­blö­cke für Expo­nent und Man­tis­se. Die­se Unter­tei­lung fin­det sich in der Bezeich­nung der Foto­se­ri­en bei der Doku­men­ta­ti­on wieder: 

bl17mpg… für Foto­se­ri­en des eigent­li­chen Spei­chers
bl17adr… für Fotos des Adres­sier­wer­kes
bl17sbm… für Fotos des Steu­er­blocks zum Man­tis­sen­werk
bl17sbe… für Fotos des Steu­er­blocks zum Exponentenwerk 

In die­sem Bericht geht es prak­tisch aus­schliess­lich um die­sen Mikro­pro­gramm­spei­cher­block. Zur Reka­pi­tu­la­ti­on fol­gend eine Zeich­nung (Zeich­nung 1), die die Blö­cke, aus denen die Z1 auf­ge­baut ist, dar­stellt. Der Block 17, von dem im Fol­gen­den die Rede ist, ist grün ein­ge­färbt, dar­in – noch etwas inten­siv grü­ner – der eigent­li­che Mikroprogrammspeicher.

Die drei nie­der­wer­tigs­ten Bits des Befehls­codes (Lis­ting 1) wer­den über den Block 16 an das Adres­sier­werk in Block 17 wei­ter­ge­lei­tet und lie­fern dort als Op2, Op1 und Op0 die jewei­li­ge Start­adres­se des Mikro­pro­gramms. Die Befeh­le Addi­ti­on und Sub­trak­ti­on wer­den zusam­men­ge­fasst zu einem Befehl SUM.

Die Idee der Mikroprogrammsteuerung

Eine Mikro­pro­gramm­steue­rung zer­legt kom­ple­xe Befeh­le, die die Hard­ware des Rechen­wer­kes nicht in einem Zug erle­di­gen kann, in ein­zel­ne Schrit­te. Im Mikro­pro­gramm sind nicht ein­zel­ne Befeh­le des Com­pu­ters fest­ge­legt und gespei­chert, son­dern Infor­ma­tio­nen zu Daten­trans­por­ten inner­halb des Rechen­wer­kes oder zu Grund­ope­ra­tio­nen des Rechen­wer­kes, ob die­ses zum Bei­spiel addie­ren, sub­tra­hie­ren oder schie­ben soll. Außer­dem gehen Sta­tus­mel­dun­gen aus dem Rechen­werk in die Steue­rung des Mikro­pro­gramms ein, die des­sen wei­te­ren Ablauf steu­ern. Aus einer sol­chen Sequenz von zum Bei­spiel: „1. Addie­ren wenn ein Bit gesetzt ist, 2. Ver­schie­ben zwei­er Regis­ter, 3. das Gan­ze in einer Schlei­fe n‑mal“, kann eine Mul­ti­pli­ka­ti­on zusam­men gesetzt wer­den, die ein ein­fa­ches Rechen­werk nicht durch­füh­ren kann.

Bei der Z1 wer­den so die 4 Grund­re­chen­ar­ten in die Berech­nung der Man­tis­se und des Expo­nen­ten auf­ge­teilt und mit den Mit­teln, die das Rechen­werk durch­füh­ren kann, erle­digt, wobei die Pro­gramm­tei­le für Man­tis­se und Expo­nent natür­lich inter­agie­ren müs­sen und sich gegen­sei­tig beein­flus­sen. Zusätz­lich gibt es auch noch zwei Mikro­pro­gram­me, die die Dezi­mal­zah­len bei der Ein­ga­be ins Binär­sys­tem umwan­deln und die umge­kehrt die Binär­zah­len, mit der die Maschi­ne rech­net, zur Aus­ga­be wie­der in das Dezi­mal­sys­tem zurückwandelt. 

Die ers­te Publi­ka­ti­on zum Kon­zept der Mikro­pro­gram­mie­rung ver­öf­fent­lich­te Mau­rice Wil­kes 1951 unter dem Titel The Best Way to Design an Auto­ma­ted Cal­cu­la­ted Machi­ne. Auf die Idee der Mikro­pro­gram­mie­rung gebracht hat­te ihn eine Besich­ti­gung des ame­ri­ka­ni­schen “Whirlwind”-Computers ein Jahr zuvor. Bei die­sem wur­den Daten­pfa­de über eine Dioden­ma­trix in Abhän­gig­keit von inne­ren Sta­tio­nen, Zustän­den und Aus­füh­rungs­pha­sen eines kom­ple­xe­ren Befehls geschal­tet. Kon­rad Zuse, der auto­di­dak­tisch mit der Ent­wick­lung sei­ner Z1 im Jahr 1935 und dem Bau von 1936–1938 begann, hat­te die­se Idee offen­sicht­lich bereits zu die­ser Zeit.

↩︎

Die Mikro­pro­gramm­steue­rung der Z1

Foto 1 zeigt ver­ein­facht den Infor­ma­ti­ons­fluss in der Mikro­pro­gramm­steue­rung der Z1. Im ers­ten Takt wer­den Ope­ra­ti­ons­code, Situa­ti­ons­bits und Mikro­pro­gramm­adres­se an den Mikro­pro­gramm­spei­cher über­ge­ben (roter Pfeil 1). Im zwei­ten Takt wer­den die Steu­er­si­gna­le über die Schalt­kan­ten der Pro­gramm­ble­che an die Steu­er­blö­cke für Expo­nent und Man­tis­se wei­ter­ge­lei­tet (grü­ne Pfei­le 2). Im drit­ten Takt wer­den die Steu­er­si­gna­le noch mit aus der Maschi­ne kom­men­den Sta­tus­lei­tun­gen ver­knüpft und an die Steu­er­lei­tun­gen der Rechen­wer­ke wei­ter­ge­ge­ben (vio­let­te Pfei­le 3). Im vier­ten Takt wer­den die Steu­er­si­gna­le in die Rechen­wer­ke über­tra­gen (blaue Pfei­le 4), wo dann die Daten aus den Regis­tern ver­ar­bei­tet wer­den (roten Pfei­le 1f). Dies ist der klas­si­sche Fall der mecha­ni­schen Zuse-Schalt­glied­tech­nik: Mit jedem Takt­schritt wird der Infor­ma­ti­ons­fluss um 90 Grad gedreht weitergeleitet.

Auf Foto 2 sieht man die Ein­gang­si­gna­le für den Mikro­pro­gramm­spei­cher, wie sie auf dem teil­ab­ge­bau­ten Adres­sier­werk, das nicht Bestand­teil die­ses Berich­tes ist, notiert wur­den. Das Adres­sier­werk ist, was die Steu­er­si­gna­le Op2, Op1, Op0 sowie S0 und S1 betrifft, abge­baut. Die Steu­er­si­gna­le kom­men von links vom Block 16. Der Adress­zäh­ler ist hier noch nicht abge­baut, aus ihm kom­men die Mikro­pro­gramm­schrit­te 16, 8, 4, 2, 1. Die Ein­gangs­si­gna­le für das Adress­werk „Op2,Op1,Op0, S1, S0, löschen, zäh­len“ sind nicht Teil die­ser Dar­stel­lung. Zur Klar­stel­lung: Die Begrif­fe S0 und S1 wur­den von Kon­rad Zuse benutzt, um einen bestimm­ten Sta­tus (bei Zuse „Situa­ti­on“) zu benennen.

↩︎

Die Rea­li­sa­ti­on des Mikro­pro­gramm­spei­chers in der Z1 und deren Doku­men­ta­ti­on im Nach­lass von Kon­rad Zuse

Die Ori­gi­nal­zeich­nun­gen von Kon­rad Zuse zum Nach­bau der Z1 lagern im Archiv des Deut­schen Muse­ums in Mün­chen. Die­se Plä­ne sind online im Kon­rad Zuse Inter­net Archi­ve ein­seh­bar. Spä­te­re Ver­sio­nen eines Teils der Plä­ne mit Kor­rek­tu­ren von Kon­rad Zuse, Ursu­la Schwei­er und Diet­mar Sau­pe sind unter der Signa­tur IV.2.003 im His­to­ri­schen Archiv des Deut­schen Tech­nik­mu­se­ums in Ber­lin ver­füg­bar. Dar­über hin­aus sind wir im Rah­men des Pro­jek­tes noch auf einen klei­nen zusätz­li­chen Bestand von 22 Map­pen zum Z1-Nach­bau im His­to­ri­schen Archiv des Deut­schen Tech­nik­mu­se­ums gesto­ßen, der unter I.NL 363 Slg. Zuse ein­seh­bar ist.

Um die Bild­un­ter­schrif­ten nicht zu umfäng­lich wer­den zu las­sen und den Lese­fluss zu behin­dern, sind die Bild­quel­len im Anhang auf­ge­führt. Bei eini­gen weni­gen Zeich­nun­gen wur­de eine sicht­ba­re Foto­mon­ta­ge durch­ge­führt. Die­se ist dann als sol­che gekenn­zeich­net. Alle ver­wen­de­ten Bild­un­ter­schrif­ten sind im Anhang auf­ge­führt und die „Ori­gi­na­le“ und deren Quel­len sind ein­deu­tig identifizierbar.

Lei­der ist in der Doku­men­ta­ti­on zur Z1 kei­ne Rück­sicht auf eine fei­ne­re Unter­tei­lung der Maschi­ne genom­men wor­den. Allei­ne der Block 17, von dem hier ein Teil unter­sucht wird, ist in eine gan­ze Rei­he Unter­blö­cke auf­ge­teilt: Der eigent­li­che Spei­cher­block, die Steu­er­blö­cke für Expo­nent und Man­tis­se neben dem Spei­cher und das Mikro­pro­gramm-Adres­sier­werk. Dazu gibt es noch eine etwas „frei“ auf­ge­bau­te Logik, die die Ver­bin­dung zwi­schen Block 16 und Block 17 her­stellt (vgl. die sich dar­aus erge­ben­den File-Namen oben).

Prin­zi­pi­el­le Funk­tio­nen des Mikroprogrammspeichers

Durch die Glas­ab­de­ckung der Z1 im Deut­schen Tech­nik­mu­se­um kann man die obers­te Schicht des Mikro­pro­gramm­spei­chers sehen. Das hand­be­schrif­te­te Blech 21a gehört zu dem Teil, der den Expo­nen­ten steu­ert. Auf dem obe­ren kann man im schrä­gen Licht bei genau­em Hin­se­hen von Hand ein­gra­viert „Krit 73a“ erken­nen. Im Man­tis­senspei­cher lie­gen 51 Ble­che, im Expo­nen­ten­spei­cher lie­gen 50 Ble­che. Zur Beschrif­tung bezie­hungs­wei­se Kenn­zeich­nung der ein­zel­nen Blech wei­ter unten mehr.

In den Zeich­nun­gen des Kon­rad Zuse Inter­net Archi­ve sieht das so aus:

Die Ble­che der bei­den Spei­cher­hälf­ten lie­gen um 180 Grad ver­dreht ein­an­der gegen­über. Die Schalt­kan­ten von oben A, B, C und D füh­ren auf der Man­tis­sen­sei­te nach rechts in den Steu­er­block für die Man­tis­se. Die Schalt­kan­ten links von unten nach oben A, B, C und D füh­ren nach links in den Steu­er­block für den Expo­nen­ten. Die Adres­sier­kan­ten sind oben von links nach rechts mit 1, 2, 3 … 10 durch­num­me­riert. Unten ist es umge­kehrt, also 1, 2, 3 … 10 von rechts nach links. Ana­lo­ges gilt für die Adres­sier­kan­ten a und b. Die äuße­ren Adres­sier­kan­ten sind mit b, die inne­ren mit a bezeichnet.

Auf Foto 4 sind die bei­den Ble­che 63 und 71 aus der Schicht 12 zu sehen. Die Adress-Schalt­ble­che lie­gen unter – bezie­hungs­wei­se zur Visua­li­sie­rung – auf den Spei­cher­ble­chen. Logisch spielt das kei­ne Rol­le. Schalt­ble­che 4 und 5 sind nicht dar­ge­stellt. In der dar­ge­stell­ten Posi­ti­on der Adress-Schalt­ble­che kann sich das Spei­cher­blech 63 im nächs­ten Takt von der Feder (grü­ner Pfeil) nach links bewe­gen und die Schalt­kan­te D fährt her­aus. Das obe­re Spei­cher­blech 71 wird in Bit 9 durch den Selek­tor­stab gesperrt. Die­ses Spei­cher­blech wird also nicht selek­tiert, weil es das Adress­kri­te­ri­um nicht erfüllt.

Zuse ver­lässt hier sein sonst in der Maschi­ne rea­li­sier­tes Schalt­stift­kon­zept, bei dem ein UND-Gat­ter aus drei beweg­ten, min­des­tens einem Mas­ken­blech sowie einem Schalt­stift besteht und ent­spre­chend groß und auf­wen­dig ist, zuguns­ten eines ande­ren Auf­bau­es. Jedes UND-Gat­ter besteht aus nur noch einem Blech, des­sen 10 Adres­sier­kan­ten durch Aus­knip­sen von a oder b oder bei­den als „0 oder 1“ oder „don’t care“ pro­gram­miert wer­den kann. Alle Ble­che der Man­tis­se wer­den durch je eine Schrau­ben­fe­der nach rechts gezo­gen. Die Bewe­gung wird begrenzt durch den Akti­ons­stab AS. Alle 50 Man­tis­sen­ble­che drü­cken nach rechts auf den Akti­ons­stab, alle 50 Expo­nen­ten­ble­che drü­cken in ana­lo­ger Wei­se nach links auf den unte­ren Aktionsstab.

Zum Aus­le­sen des Mikro­pro­gramm­wor­tes wird der obe­re Akti­ons­stab nach rechts und der unte­re nach links ver­scho­ben. Die Ble­che, bei denen alle Selek­tor­stä­be vor einer Lücke der aus­ge­knips­ten Adres­sier­kan­ten ste­hen, kön­nen – durch ihre Feder gezo­gen – dem Akti­ons­stab fol­gen. Die Schalt­kan­ten der selek­tier­ten Ble­che schie­ben dann die Schalt­klöt­ze in den seit­li­chen Steu­er­blö­cken in die­se hin­ein. Die Schalt­klöt­ze in den Steu­er­blö­cken bil­den also logi­sche ODER, deren Ein­gän­ge die Schalt­kan­ten der jewei­li­gen Spei­cher­ble­che sind.

Zuse erreicht auf die­se Wei­se eine extrem hohe Spei­cher­dich­te, die aber mit eini­gen maschi­nen­bau­tech­ni­schen Pro­ble­men erkauft wird. Jedes Spei­cher­blech, 51 auf der Man­tis­sen­sei­te und 50 auf der Expo­nen­ten­sei­te, wird von einer Schrau­ben­fe­der gegen den jewei­li­gen Akti­ons­stab gezo­gen. Jede der Schrau­ben­fe­dern übt in die­ser Kon­stel­la­ti­on eine Kraft von mit einer Feder­waa­ge gemes­se­nen cir­ca 2 N, also

50∗2N=100N50 * 2 N = 100 N

auf jeden Akti­ons­stab aus. Das ist etwa die Kraft, die ein Gebin­de von zehn 1 Liter-Mine­ral­was­ser­fla­schen auf den Arm ihres Trä­gers aus­übt. Das ist ange­sichts der sons­ti­gen Fili­gra­ni­tät der Zuse­schen Schalt­lo­gik enorm. Die­se Kraft muss auf­ge­bracht wer­den, um alle Pro­gramm­ble­che soweit zur Sei­te zu schie­ben, dass die Selek­tor­stä­be ohne zu strei­fen ihre Posi­ti­on ein­neh­men kön­nen. In der Aus­le­se­pha­se müs­sen die Akti­ons­stä­be und die Spei­cher­ble­che aber einen grö­ße­ren Weg von cir­ca 6 bis 7 mm zurück­le­gen. Hier ist weit weni­ger Kraft nötig, weil der größ­te Teil der nicht selek­tier­ten Ble­che von den Selek­tor­stä­ben auf­ge­hal­ten wird.

Das Pro­blem wird mit­hil­fe einer mas­si­ven Kur­ven­schei­be gelöst, die die Bewe­gung der Akti­ons­stä­be am Anfang, wenn alle Federn gespannt wer­den müs­sen, mit­tels einer fla­chen Stei­gung, also einer gro­ßen Unter­set­zung, betä­tigt und am Ende, wenn nur noch weni­ge Ble­che auf die Akti­ons­stä­be drü­cken, mit einer grö­ße­ren Stei­gung, also einer gerin­ge­ren Unter­set­zung, aus­ge­führt ist. Auf dem Umfang der Kur­ven­schei­be rollt ein Kugel­la­ger ab, das über eine Hebel­un­ter­set­zung die bei­den Schalt­stan­gen R20‘ und R21‘ betä­tigt, die den Akti­ons­stab für die Man­tis­sen­ble­che auf dem letz­ten Stück der Bewe­gung maxi­mal nach links drü­cken (R20‘) – also kom­plet­tes Abhe­ben der Adress­kan­ten von den Selek­tor­stä­ben. R21‘ für die Expo­nen­ten­ble­che arbei­tet genau invers (vgl. Zeich­nung 2).

In Zuses Nach­lass gibt es zwei Zeich­nun­gen, in denen der Inhalt des Mikro­pro­gramm­spei­chers doku­men­tiert ist. Der Les­bar­keit wegen sind sie in Zeich­nung 6 und 7 nur im Aus­schnitt wie­der­ge­ge­ben. Im Kon­rad Zuse Inter­net Archi­ve kann man sie im Gan­zen stu­die­ren und her­un­ter­la­den. Vorab:

Die Schalt­kan­ten A, B, C, D rechts und unten die Adress­kan­ten. In die­ser Lage bedeu­tet ein weg­ge­knips­tes b, dass das Blech bei logisch 1 selek­tiert und ein weg­ge­knips­tes a, dass das Blech bei logisch 0 selek­tiert wird. Sind bei­de Adress­kan­ten weg­ge­knipst, dann wird das ent­spre­chen­de Bit igno­riert – also die Bedin­gung S0 oder S1 muss nicht erfüllt sein –, oder wenn bei einer der Adress-Lei­tun­gen bei­de Kan­ten weg­ge­knipst sind, dann führt das Mikro­pro­gramm eine Art Schlei­fe aus.

Die Bezeich­nung S0 und S1 lei­tet sich von dem Begriff „Situa­ti­on“ ab, der ver­schie­dent­lich in der schrift­li­chen Doku­men­ta­ti­on zur Funk­ti­on der Z1-Arith­me­tik erwähnt wird und ent­spricht einer logi­schen Bedin­gung. Die logi­sche Funk­ti­on der ein­zel­nen Bits kann man im Foto 2 wei­ter oben erken­nen. Eine logi­sche 1 ist dort mit einer Bewe­gung der Adress-Selek­to­ren in Pfeil­rich­tung nach unten kodiert. Wenn man vor der Maschi­ne steht, bedeu­tet ein auf den Betrach­ter hin gezo­ge­ner Selek­tor eben­falls logisch 1.

Oben aus­schnitts­wei­se zwei der Tabel­len, in denen der Inhalt des Mikro­pro­gramms im ZA doku­men­tiert ist. Es gibt aber Unter­schie­de zu dem Mikro­pro­gramm, das tat­säch­lich in der Maschi­ne rea­li­siert ist. Der Hin­weis auf die bei­den in den Tabel­len­aus­schnitt ein­mon­tier­ten Datums­an­ga­ben aus dem jewei­li­gen Scan soll dar­auf hin­deu­ten, dass die bei­den Tabel­len­tei­le zu unter­schied­li­chen Ver­sio­nen der glei­chen Tabel­le gehö­ren könn­ten: Der logisch nied­ri­ge­re Tabel­len­teil ab Blech 1 hat ein ein spä­te­res Datum als der
höhe­re Tabel­len­teil ab Blech 73.

Der Auf­bau der Tabel­len p00595 und p00596

Man erkennt links in der drit­ten Spal­te eine fort­lau­fen­de Nume­rie­rung der Ble­che, in der ers­ten Spal­te die Schicht, in der die Ble­che lie­gen und in der zwei­ten Spal­te das Kri­te­ri­um. In den Tabel­len ist nicht mar­kiert, ob ein Blech für die Man­tis­se oder für den Expo­nen­ten vor­ge­se­hen ist. Blech Nr. 4 und Blech Nr. 13 kodie­ren das glei­che Kri­te­ri­um, sind aber kom­ple­men­tär kodiert, weil Nr. 4 ein „Expo­nen­ten­blech“ und Nr.13 ein „Man­tis­sen­blech“ ist. Die Schalt­kan­te ist bei bei­den Ble­chen unter­schied­lich. Die „Schalt­kan­ten“ sind die Aus­gän­ge des Spei­chers, sie ver­schie­ben die Schalt­klötz­chen am Ein­gang der seit­li­chen Steu­er­blö­cke. Jedes Blech hat nur eine Schalt­kan­te A, B, C oder D. Dies ist durch ein nicht vor­han­de­nes X in der Tabel­le gekennzeichnet.

Die logi­sche Bedeu­tung der ein­zel­nen Kri­te­ri­ums­bits kann man an der Beschrif­tung in Foto 2 erken­nen. Die Ble­che 1 bis 12 sind die Expo­nen­ten­ble­che für das Mikro­pro­gramm SUM, die Ble­che 12 bis 21 sind die Man­tis­sen­ble­che für SUM. SUM wird bei Zuse mit Σ bezeich­net. Die­se Ope­ra­ti­on fasst die bei­den Z1-Befeh­le ADD und SUB zusam­men. Das hängt mit der von Zuse so genann­ten befoh­le­nen und der tat­säch­lich aus­ge­führ­ten Ope­ra­ti­on zusammen:

-3 + 5 befoh­le­ne Addi­ti­on wird wegen unter­schied­li­chen Vor­zei­chen zur Sub­trak­ti­on
-3 — 5 befoh­le­ne Sub­trak­ti­on wegen unter­schied­li­cher Vor­zei­chen wird zur Addi­ti­on
-3 — ‑5 befoh­le­ne Sub­trak­ton bei glei­chen Vor­zei­chen bleibt Subtraktion 

Die­se und ande­re Funk­tio­nen wer­den von dem bis­her noch kaum erwähn­ten Block 16, dem „Plan­werk und Vor­zei­chen­werk“ gesteu­ert. Übri­gens muss sich der Block 16 auch auf der Rechen­werk­sei­te um die im Mikro­pro­gramm nicht auf­tau­chen­den Lese- und Schreib­be­feh­le küm­mern, indem er dafür sorgt, dass eine aus dem Spei­cher gele­se­ne Infor­ma­ti­on in die Regis­ter des Rech­ners über­nom­men wird und dass umge­kehrt beim Spei­chern die zu spei­chern­de Zahl aus dem Rechen­werk an den Spei­cher über­ge­ben wird.

Neben der Erset­zung des Σ‑Symbols durch die Abkür­zung SUM wur­den auch die bei­den Sym­bo­le ↗ (hoch­über­set­zen) und ↘ (run­ter­über­set­zen) durch die Abkür­zung toBIN und toDEC ersetzt.

Zusätz­lich zur Doku­men­ta­ti­on im Kon­rad Zuse Inter­net Archi­ve gibt es auch noch einen klei­nen Bestand zu Zuses Nach­bau im His­to­ri­schen Archiv des Deut­schen Tech­nik­mu­se­ums, in dem die Tabel­len zum Mikro­pro­gramm in einer wei­te­ren Ver­si­on ein­ge­tra­gen sind. Aller­dings fehlt hier der zwei­te Teil von Blech 75 auf­wärts und die Unter­la­gen sind unda­tiert, sodass nicht klar ist, in wel­chem zeit­li­chen Bezug die­se Tabel­len mit ihren hand­schrift­li­chen Ände­run­gen zu den vor­her gezeig­ten Tabel­len ste­hen. Nur der Voll­stän­dig­keit hal­ber ist hier eine der bei­den Tabel­len eingefügt.

Es war nicht das pri­mä­re Ziel die­ser Pro­jekt­pha­se, einen Abgleich der nicht voll­stän­di­gen Doku­men­ta­ti­on aus den diver­sen Archi­ven mit der rea­len Maschi­ne zu machen, son­dern es soll­te das Mikro­pro­gramm in der rea­len Maschi­ne doku­men­tiert wer­den. Daher blei­ben die­se Scans im Wei­te­ren außer Betrach­tung. Solan­ge nicht noch irgend­wo eine ori­gi­na­le Doku­men­ta­ti­on der Kri­te­ri­en und der Blech­num­mern auf­taucht, spie­len auch die Kri­te­ri­en-Num­mern in die­ser Arbeit kei­ne Rol­le. Die Ble­che wer­den über ihre Num­mern identifiziert.

Kri­te­ri­en con­tra Blechnummer

In Doku 1 zu sehen: Die Hand­gra­vur wur­de im obe­ren Blech im Kon­trast ver­stärkt. Es gehört zum OpCode 110 (toDEC). Das unte­re Blech ist nur mit Filz­stift beschrif­tet. Es gehört zum OpCode 100 (MLT).

Doku 2 zeigt ein Bei­spiel für Kon­flik­te, die durch die „Kri­te­ri­en“ ent­ste­hen kön­nen. Bei­de Ble­che tra­gen hand­gra­viert die Ken­nung „Kr. 73b“, haben unter­schied­li­che Schalt­kan­ten und unter­schied­li­che Adress­kan­ten. Das obe­re ist ein Man­tis­sen­blech. Dreht man das unte­re Expo­nen­ten­blech um, sieht man, dass es kom­ple­men­tär zum obe­ren kodiert ist, und also tat­säch­lich das glei­che Kri­te­ri­um erfüllt. Die Schalt­kan­ten sind unter­schied­lich. Die Gra­vu­ren sind auch hier kontrastverstärkt.

↩︎

Abbau und Dokumentation

Der Mikro­pro­gramm­spei­cher wur­de im Rah­mens des aktu­el­len Pro­jek­tes zwei­mal abge­baut. Zum ers­ten Mal 2025 und zum zwei­ten Mal 2026. Der Kom­plett­ab­bau schei­ter­te beim ers­ten Mal dar­an, dass nicht genug Zeit war, auch das Adres­sier­werk mit dem Pha­sen­zäh­ler abzu­bau­en, wes­we­gen die unters­te Schicht nicht erreicht wer­den konn­te. 2026 war mehr Zeit und es wur­den der Mikro­pro­gramm­spei­cher zusam­men mit dem Adres­sier­werk abge­baut. Der Abbau wur­de mit drei Kame­ras doku­men­tiert. Über dem abzu­bau­en­den Werk lag auf einer Platt­form ein Han­dy, das bei jedem Abbau­schritt, also bei jedem ent­nom­me­nen Teil – bezie­hungs­wei­se einer Grup­pe gleich­ar­ti­ger Tei­le, wie bei­spiels­wei­se Unter­lags­schei­ben – ein Foto macht. Der bes­se­ren Sicht­bar­keit wur­den auf die weg­zu­neh­men­den Tei­le blaue Punk­te auf­ge­legt, da auf den Fotos die Kan­ten ein­zel­ner Ble­che schlecht erkenn­bar sind und man manch­mal fast raten muss­te, was nun eigent­lich weg­ge­nom­men wur­de. Die ent­nom­me­nen Tei­le wur­den auf einer schwar­zen Unter­la­ge mit einer Repro­ka­me­ra foto­gra­fiert. Zusätz­lich war auch noch eine „Frei­hand­ka­me­ra“ sowie ein zwei­tes Han­dy im Ein­satz, mit dem dann spe­zi­el­le Details, die aus der Vogel­per­spek­ti­ve schlecht zu erken­nen sind, sowie Beschä­di­gun­gen, deren Ursa­chen und mög­lich Besei­ti­gun­gen doku­men­tiert wurden.

Durch den Ein­satz von bis zu 4 Kame­ras kam das Pro­blem auf, dass jede der Kame­ras die erzeug­ten Files nach eige­nem Sche­ma benennt. Man­che Kame­ras erzeu­gen File-Namen wie IMG0001 oder DSC0001, ande­re set­zen das Datum und die Uhr­zeit in einer für Men­schen schwer les­ba­ren Form als File-Namen fest: 20260617_153202 ist nur schwer zu erfas­sen. Gera­de bei par­al­lel mit ver­schie­de­nen Kame­ras gemach­ten Auf­nah­men ist es dann nur schwer mög­lich, die zusam­men­hän­gen­den Fotos von der Abbau­si­tua­ti­on und zum Bei­spiel den ent­nom­me­nen Tei­len zusam­men zu brin­gen. Aus die­sem Grund wur­de ein Sche­ma für eine ein­heit­li­che Benen­nung aller File-Namen fest­ge­legt, hier am Block 17 erklärt.

Grund­sätz­lich gilt: Alle File-Namen haben die glei­che Län­ge, alle funk­tio­na­len Spal­ten im File-Namen haben die glei­che Posi­ti­on, kei­ne Leer­zei­chen, kei­ne Groß­buch­sta­ben. Vor der Bear­bei­tung aller Files wer­den mit einem spe­zi­el­len Pro­gramm, zum Bei­spiel „exif­tool“ unter Linux die Meta­da­ten der Fotos aus­ge­le­sen und gespei­chert. Dar­in sind unter ande­rem das Auf­nah­me­da­tum, die ver­wen­de­te Kame­ra und die Daten wie Belich­tungs­zeit und Brenn­wei­te bei der Auf­nah­me ent­hal­ten. Die­se Daten kön­nen ver­wen­det wer­den, um in File-Namen der Form “IMG0001..” das Auf­nah­me­da­tum in den Namen selbst ein­zu­fü­gen. Die beim Block 17 ange­wand­ten File-Namen haben, wie bereits oben schon erwähnt, die­se Form:

bl17mpg_0000_20260617_100304_et.jpg
bl17mpa_0000_20260617_133304_et.jpg
bl17mpa_0000_20260617_133104_si.jpg
bl17mpa_0000_20260617_133204_si.jpg

Bleibt die Ord­nungs­zahl bei 0000, dann wer­den die Files sowohl bei nume­ri­scher, als auch bei datums­mä­ßi­ger Anzei­ge im Direc­to­ry in der glei­chen Rei­hen­fol­ge ange­zeigt. Das Kür­zel “_et” hin­ten bedeu­tet „Ein­zel­teil“, also Auf­nah­me von der Repro­ka­me­ra. Das Kür­zel “_si” bedeu­tet Situa­ti­on, also Lage des Teils in der Maschi­ne, Auf­nah­me mit dem Han­dy auf dem Sta­tiv. Sowohl bei Sor­tie­rung nach Datum, als auch nach File-Namen wer­den dann die bei­den Auf­nah­men mit dem “_si” vor der Auf­nah­me mit “_et” lie­gen, was die Zuord­nung der “_si” und der “_et” erleich­tert. Die­se Ord­nung kann durch Set­zen einer Ord­nungs­zahl auf­ge­ho­ben wer­den. Wenn also zwi­schen zwei et-Bil­dern zwei si-Bil­der lie­gen, und es nicht klar ist, wel­ches der bei­den Bil­der genom­men wer­den soll, kann eines der bei­den Bil­der nach bl17mpg_9000_2026 umbe­nannt wer­den, oder es kön­nen im Lis­ting der File-Namen belie­bi­ge Paa­run­gen zwi­schen Bil­der unter­schied­li­cher Her­kunft erzeugt wer­den. Wich­tig ist auch die Mög­lich­keit, wenn zum Bei­spiel aus einem Bild ein Aus­schnitt erzeugt wur­de, die­ser auch wie­der das Datum des Ori­gi­nal­bil­des bekommt, falls das Bild­be­ar­bei­tungs­pro­gramm beim Abspei­chern das ursprüng­li­che Auf­nah­me­da­tum auf das Bear­bei­tungs­da­tum setzt. Beim Erhalt des ori­gi­na­len Datums ist es auch in weit ver­zweig­ten Direc­to­ry-Struk­tu­ren mög­lich, nach zur sel­ben Zeit ent­stan­de­nen Bil­dern zu suchen.

↩︎

Abbau des Mikroprogrammspeichers

Grau, teu­rer Freund, ist alle Theo­rie –
doch hart im Rau­me stos­sen sich die Sachen
(frei nach Johann Wolf­gang von Goethe)

Die Fra­ge stellt sich, was hier schief läuft. Schaut man in die Zeich­nun­gen im Kon­rad Zuse Inter­net Archi­ve, dann sieht man:

Das Ske­lett des Mikro­pro­gramm­spei­chers wird fol­gen­der­ma­ßen gebildet:

Stün­den die­se Schei­ben tat­säch­lich zur Ver­fü­gung, dann wäre Auf- und Abbau des Mikro­pro­gramm­spei­chers sehr ein­fach: Man wür­de drei 20 mm-Schei­ben pro Blech, dar­auf je eine 0,7 mm-Schei­be und das betref­fen­de Spei­cher­blech legen. Wenn weni­ger als 7 Ble­che in einer Schicht lie­gen, wür­de man mit der zweit­un­ters­ten Schicht begin­nen. Bei in der Schicht nicht vor­han­de­nen Ble­chen wür­de der Sta­pel eben nur aus den Schei­ben bestehen. Damit wäre der Schei­ben­sta­pel 7 x 0,9 mm hoch, also 6,3 mm. Man könn­te dann oben­drauf noch eine 20 mm-Schei­be als obe­res Ende legen und hät­te immer noch 0,2 mm Luft. Man wür­de etwas Fle­xi­bi­li­tät beim Auf­bau gewin­nen, wenn anstel­le der 0,7 mm Distanz­schei­ben Schei­ben mit 0,5 mm und 0,2 mm zur Ver­fü­gung stünden.

In die­sem Fall könn­te man ganz sche­ma­tisch fol­gen­de Schich­tung vornehmen:

Die Höhe mit 7 x 3 Schei­ben (von 0,2 + 0,5 + 0,2 mm) ergibt eine rech­ne­ri­sche Höhe 6,3 mm. Hier­auf läge noch eine 20 mm-Schei­be mit 0,2 mm als Abschluss. Dies lie­ße oben 0,2 mm Luft für even­tu­ell eine 0,2 mm-Scheibe.

↩︎

Ein Vor­schlag zur Sanie­rung des Mikroprogrammspeichers

Zunächst ist fest­zu­stel­len, dass der Mikro­pro­gramm­spei­cher nicht nur mit den im ZA prä­zi­se defi­nier­ten Distanz­schei­ben zusam­men gebaut wur­de. Es wur­de ein offen­sicht­lich zusam­men­ge­such­tes Sam­mel­su­ri­um an Schei­ben ver­wen­det, teil­wei­se wur­den auch Aus­schuss­ble­che ein­ge­baut. Das macht den Auf- und Abbau sehr zeit­auf­wen­dig, weil jede Schei­be ein­zeln ver­mes­sen und doku­men­tiert wer­den muss.

Dann bleibt noch das Pro­blem der durch die 4 mm-Phe­nol­harz­plat­te ver­ur­sach­te 1,3 mm Höhen­dif­fe­renz. Die­se lässt sich recht ein­fach kom­pen­sie­ren, indem man die 6,7 mm-Distanz­hül­sen 267.43 in einer Schicht des Mikro­pro­gramm­spei­chers durch sol­che mit einer Höhe von 5,4 mm ersetzt. Die unte­ren 4 Schich­ten sind mit 2 (Schicht 1) und je 4 Schich­ten (Schicht 2 bis 4) nicht voll besetzt. Wür­de man also die Schicht 4 mit den nied­ri­ge­ren Hül­sen zusam­men­set­zen, dann lägen ab Schicht 5 alle Grund­ble­che des Spei­chers und die der Steu­er­blö­cke auf glei­chem Niveau. Ins­be­son­de­re die Schich­ten 6, 8 und 9, die mit 7 Lagen voll bestückt sind, wür­den ihre Pro­ble­me ver­lie­ren. Eine wei­te­re Ver­bes­se­rung könn­te erreicht wer­den, indem man in Schicht 8 im Expo­nen­ten­teil die Ble­che 10 und 11 ver­tauscht. Dann lägen hier nicht zwei mal die Schalt­kan­ten A direkt über­ein­an­der und man könn­te die Schalt­kan­te A von 73b etwas nach unten bie­gen. Das glei­che käme für die Ble­che 97 und 06 in Schicht 9 des Expo­nen­ten­teils und für die Ble­che 53 und 100 / 42a des Man­tis­sen­teils infrage.

Die Spei­cher­ble­che in einer Spei­cher­schicht sind unter­ein­an­der aus­tausch­bar, ohne dass dies eine Ände­rung in der Logik bewirkt. An der vor­ge­fun­de­nen Lage der Ble­che in den Schich­ten darf natür­lich kei­nes­falls etwas geän­dert wer­den, denn die Ble­che wir­ken ja auf einen Schalt­klotz in den seit­li­chen Steu­er­blö­cken, die dann wie­der­um auf die Ble­che im Rechen­werk wir­ken. Wenn man also, wie Zuse es in einer Akten­no­tiz vor­schlug, Ble­che aus einer Schicht in eine ande­re ver­la­ger­te, dann muss natür­lich auch eine ent­spre­chen­de Umschich­tung im Steu­er­block und im zuge­hö­ri­gen Addier­werk vor­ge­nom­men werden.

In dem Mikro­pro­gramm­lis­ting im ZA gibt es nur eine Schicht mit 7 Blechla­gen, wohin­ge­gen es in dem rea­len, jetzt abge­bau­ten Spei­cher drei Schich­ten mit 7 Blechla­gen gibt. Aller­dings sind 7 Lagen Spei­cher­ble­che in einer Schicht des Spei­chers eigent­lich unpro­ble­ma­tisch, wenn die Grund­ble­che von Spei­cher und Steu­er­block sich auf glei­chem Niveau befin­den. Die Alu­klötz­chen, die die Bewe­gung der Ble­che auf­neh­men, sind 6,9 mm hoch, genug für 7 Bleche.

Die Pro­ble­me tre­ten auf, wenn bei der jetzt exis­tie­ren­den Höhen­dif­fe­renz von 1,3 mm 6 oder 7 Ble­che in einer Schicht lie­gen. Durch Her­un­ter­bie­gen der Schalt­kan­ten wur­de ver­sucht, die­sen Höhen­un­ter­schied zu kom­pen­sie­ren, was aber ver­mut­lich immer pro­ble­ma­tisch blieb.

Auf der fol­gen­den Sei­te ist der Mikro­pro­gramm­spei­cher der Z1 so dar­ge­stellt, wie er beim Abbau vor­ge­fun­den wur­de. Das weist sehr beträcht­lich von der Schich­tung ab, wie sie im ZA doku­men­tiert ist. Die Zahl der Blechla­gen in einer Schicht ist far­big kodiert. Sie­ben Schich­ten sind vio­lett, 6 Schich­ten sind blau unter­legt. Die pro­ble­ma­ti­schen Schich­ten sind dem­nach: 9 Expo­nent, 8 Man­tis­se und 7 Mantisse.

Die Idee zur Abhil­fe besteht nun dar­in, die 6 Distanz­hül­sen in der Schicht 4, die nur vier Blechla­gen ent­hält, um 1,3 mm zu kür­zen, sodass die­se Schicht nur 5,3 mm hoch wäre und die Grund­ble­che der dar­über lie­gen­den Schich­ten dann das gleich Niveau wie die der Steu­er­blö­cke haben. Benutz­te man dafür nicht die ori­gi­na­len Hül­sen, son­dern fer­tigt oder besorgt neue Hül­sen mit h=5,3 mm und bewahrt die jetzt ver­wen­de­ten wild gemix­ten Unter­lags­schei­ben in der rich­ti­gen Rei­hen­fol­ge auf, dann lies­se sich die­se Ände­rung jeder­zeit wie­der rück­gän­gig machen. Zu prü­fen bleibt, ob die der­zeit zur Kom­pen­sa­ti­on des Höhen­ver­sat­zes nach unten ver­bo­ge­nen Ble­che wie­der flach­ge­bo­gen wer­den müss­ten, oder ob sie unver­än­dert ver­wen­det wer­den könnten.

↩︎

Die Roh­da­ten im Mikro­pro­gramm­spei­cher und deren Inter­pre­ta­ti­on als Programm

Im fol­gen­den sind drei Tabel­len auf­ge­führt, die das vor­läu­fi­ge Ergeb­nis des Abbaus des Mikro­pro­gramm­spei­chers dar­stel­len. Die ers­te Tabel­le zeigt die Lage und Schich­tung der ein­zel­nen Ble­che wie sie der­zeit ange­ord­net sind. Sie kön­nen für den even­tu­el­len Auf- und Abbau ver­wen­de­tet wer­den und geben Ideen für die wei­ter oben vor­ge­schla­ge­nen Sta­bi­li­sie­rungs­maß­nah­men. Die zwei­te Tabel­le zeigt die Ansicht der Ble­che als „Pro­gramm“. Die Ble­che sind nach OP-Code und inner­halb der 5 ein­zel­nen Pro­gram­me nach Adres­se, begin­nend jeweils von oben mit Adres­se 0, sor­tiert. Bei Ble­chen, die ein­zel­ne Adress­bits aus­ge­knipst haben, ist der Adress­be­reich zum Bei­spiel 0–3 oder oder 2+6 ange­ge­ben. Es ist auch erkenn­bar, dass inner­halb eines sol­chen Pro­gramms teil­wei­se nur die Expo­nen­ten­wer­ke und teil­wei­se nur die Man­tis­sen­wer­ke aktiv sind. In der drit­ten Tabel­le sind die Schlei­fen abge­wi­ckelt. Das heißt, aus den Schlei­fen wird ein linea­res Pro­gramm, was natür­lich nur mög­lich ist, wenn wie hier die ein­zel­nen Schlei­fen eine fes­te Durch­lauf­zahl haben. Dadurch wird die Tabel­le so lang, dass sie nicht mehr auf eine Sei­te passt.

Zu den Spal­ten in den Tabel­len: Links sind die Ble­che für den Expo­nen­ten­teil, rechts die für den Man­tis­sen­teil auf­ge­führt. In der Mit­te befin­det sich eine sechs­stel­li­ge Num­mer, die das Foto der bei­den in einer Lage lie­gen­den Ble­che beim Abbau des Spei­chers iden­ti­fi­ziert. Da bei jedem Blech jeweils nur eine Schalt­kan­te aktiv ist, reicht es auch, wenn nur die akti­ve Schalt­kan­te A, B, C, oder D auf­ge­führt ist. Die (Auswahl-)Kriterien sind zwei­mal auf­ge­führt, sie sind ein­halt­lich iden­tisch. „Expo­nent a“ und „Man­tis­se b“ geben die Nota­ti­on im ZA wie­der, wobei aller­dings die drei Bits des Opcodes in Goß­buch­sta­ben dar­ge­stellt sind, was das auto­ma­ti­sche Durch­su­chen der Tabel­len erleich­tert. Die Spal­ten „Expo­nent 0“ und „Expo­nent 1“ zei­gen die Dar­stel­lung der Adress- und Kri­te­ri­ums­spal­ten in binä­rer Form, was dem Infor­ma­ti­ker ent­ge­gen kommt. Die drei Bits des Opcodes sind gleich dis­as­sem­bliert und es wird das Mne­mo­nic des Codes dargestellt.

Es sei extra dar­auf hin­ge­wie­sen, dass die Kodie­rung der Adress­kan­ten bei die­ser Doku­men­ta­ti­on nicht dem ZA ent­nom­men wur­den, son­dern den bei der Demon­ta­ge gemach­ten Einzelteilbildern. 

In „p00595“ und „p00596“ gibt es diver­se Unge­reimt­hei­ten, die hier zu dis­ku­tie­ren zu weit füh­ren wür­de und die auch nicht zum Ver­ständ­nis der real exis­tie­ren­den Maschi­ne bei­tra­gen können.

↩︎

Lis­te der Ble­che im Mikroprogrammspeicher

Tabel­le 3: Mikro­pro­gram­me SUM und MLT abgewickelt

↩︎

Vor­läu­fi­ges Resümee

Der Mikro­pro­gramm­spei­cher der Z1 ist jetzt voll­stän­dig doku­men­tiert, und es ent­stand eine Idee, wie man ihn zuver­läs­si­ger machen und den Auf- und Abbau sche­ma­ti­sie­ren und beschleu­ni­gen kann. Es kann auch ein Lis­ting der 5 im Mikro­pro­gramm­spei­cher ent­hal­te­nen Mikro­pro­gram­me abge­lei­tet werden.

Aller­dings fehlt zum wei­te­ren Ver­ständ­nis der Auf­bau der bei­den seit­li­chen Blö­cke, des Steu­er­blocks Expo­nent SBE und des Steu­er­blocks Man­tis­se SBM. In bei­den Steu­er­blö­cken befin­den sich umfäng­li­che logi­sche Funk­tio­nen, die von Sta­tus-Signa­len aus dem Rechen­werk und der Ein-Aus­ga­be gesteu­ert wer­den. Die eigent­li­chen Aus­gän­ge des Mikro­pro­gramm­spei­chers wer­den also noch von die­sen Steu­er­blö­cken beein­flusst. Zudem zeig­te ein aller­letz­ter Blick auch den Zusam­men­bau des Spei­chers, dass vom Steu­er­block Man­tis­se rechts min­des­tens oben in Schicht 12 ein Signal in das Expo­nen­ten­werk links führt. Soll­te so etwas – was nicht aus­zu­schlies­sen ist – wei­ter unten eben­falls auf­tre­ten, dann wäre damit die strik­te Tren­nung von Expo­nen­ten- und Man­tis­sen­hälf­te hin­fäl­lig. Bis­her konn­te nur der Steu­er­block Man­tis­se voll­stän­dig abge­baut und doku­men­tiert wer­den. Wei­ter­hin besteht die Mög­lich­keit, dass über Block 16 der Mikro­pro­gramm­zäh­ler für eini­ge Tak­te ange­hal­ten wird, wodurch dann eine 1‑Wort-Schlei­fe rea­li­siert wer­den könn­te. Und gänz­lich unbe­kannt ist natür­lich auch der Auf­bau der Rechen­wer­ke für Man­tis­se und Exponent.

Das Restau­rie­rungs­pro­jekt zur Z1 bringt mit jedem aus­ein­an­der gebau­ten Block der Maschi­ne vie­le neue Erkennt­nis­se her­vor. Aller­dings meh­ren sich auch die neu­en Fra­gen zur tat­säch­li­chen Funk­ti­ons­wei­se der Maschi­ne. Das Pro­jekt ent­wi­ckelt sich von der zunächst geplan­ten Repa­ra­tur des Z1-Nach­baus zum For­schungs­pro­jekt über die Anfän­ge des Computings.


Lis­te der ver­wen­de­ten Fotos und Zeichnungen

Zeich­nung 1IV.2.003_B_0003_xm.jpgHis­to­ri­sches Archiv SDTB, IV.2.003, Bl. 0003 (beschnit­ten, bearbeitet)
Lis­ting 1befehlscode_z1.jpgaus: Diet­mar Sau­pe, Ursu­la Schwei­er: Funk­ti­ons- und Kon­struk­ti­ons­prin­zi­pi­en der pro­gramm­ge­steu­er­ten mecha­ni­schen Rechen­ma­schi­ne Z1. Gesell­schaft für Mathe­ma­tik und Daten­ver­ar­bei­tung, Arbeits­pa­pie­re der GMD 321. Sankt Augus­tin 1988, S. 91.
Foto 1z1_pfeile.jpgSDTB
Foto 2bl17adr_0000_20260616_105254_si.jpgSDTB
Foto 3mikroprogramm.jpgSDTB
Zeich­nung 2zuse_archive_p00578_x.jpgKon­rad Zuse, Leit­werk der Z1, 01.05.1988, CC BY-NC-SA, beschnit­ten, https://​zuse​.zib​.de/​i​t​e​m​/​b​1​O​2​m​7​j​T​n​9​6​0​k37
Foto 4kriterium_1.jpgSDTB
Foto 5blk17_0929.jpgSDTB
Zeich­nung 3zuse_archive_p00587_xk.jpgDiet­mar Sau­pe, Bau­tei­le des Leit­werks der Z1, 10.06.1988, CC BY-NC-SA, beschnit­ten, https://​zuse​.zib​.de/​i​t​e​m​/​3​f​9​n​y​U​n​9​P​R​s​3​u​DeG
Zeich­nung 4zuse_archive_p00586_xk.jpgDiet­mar Sau­pe, Hebel­wir­kung im Leit­werk der Z1, 09.06.1988, CC BY-NC-SA, beschnit­ten, https://​zuse​.zib​.de/​i​t​e​m​/​J​s​r​J​f​c​S​K​r​P​L​w​3​08w
Zeich­nung 5zuse_archive_p00595_x1.jpgUrsu­la Schwei­er, Über­sicht zu Schalt­glie­dern und Schalt­kan­ten im Leit­werk der Z1, 24.08.1988, CC BY-NC-SA, beschnit­ten, https://​zuse​.zib​.de/​i​t​e​m​/​B​n​0​_​G​P​l​2​T​a​M​j​A​1K9
Zeich­nung 6zuse_archive_p00596_xm.jpgUrsu­la Schwei­er, Schalt­ble­che und Schalt­glie­der des Leit­werks der Z1, 12.07.1988, zuse_archive_p00596.jpg, CC BY-NC-SA, beschnit­ten, bear­bei­tet https://​zuse​.zib​.de/​i​t​e​m​/​h​n​E​5​Z​t​o​J​A​Y​N​U​B​fZN
Zeich­nung 7zuse_archive_p00595_xm.jpgUrsu­la Schwei­er, Über­sicht zu Schalt­glie­dern und Schalt­kan­ten im Leit­werk der Z1, 24.08.1988, CC BY-NC-SA, beschnit­ten, bear­bei­tet https://​zuse​.zib​.de/​i​t​e​m​/​B​n​0​_​G​P​l​2​T​a​M​j​A​1K9
Zeich­nung 8dtm_B_0010_Mikroprogramm_tabelle2.jpgHis­to­ri­sches Archiv SDTB, I.NL 363 Slg. Zuse, Map­pe 10
Doku 1bl17mpg_0000_20260617_103202_et_x.jpgSDTB
Doku 2bl17mpg_0000_20260617_123956_et_cx.jpgSDTB
Foto 6bl17_abbau_1308.jpgSDTB
Foto 7bl17mpg_1002_20260617_103331_si_xk.jpgSDTB
Foto 8bl17mpg_1002_20260617_103615_et_xk.jpgSDTB
Foto 9bl17mpg_1011_20260617_111049_si_xk.jpgSDTB
Foto 10bl17mpg_1011_20260617_111300_et_xk.jpgSDTB
Foto 11bl17mpg_1012_20260617_111527_si_xk.jpgSDTB
Foto 13bl17mpg_1039_20260617_143517_si_xk.jpgSDTB
Foto 14bl17mpg_1039_20260617_143807_et_xk.jpgSDTB
Foto 15bl17mpg_1066_20260617_165626_et_xk.jpgSDTB
Foto 16bl17mpg_1072_20260617_173653_si_xk.jpgSDTB
Foto 17bl17mpg_1073_20260617_174050_et_xk.jpgSDTB
Foto 18bl17mpg_1073_20260617_174132_si_sk.jpgSDTB
Foto 20vier_20260619_143105_dt_xk.jpgSDTB
Foto 21vier_20260619_120258_dt_xk.jpgSDTB
Foto 22vier_20260619_142740_dt_xk.jpgSDTB
Foto 23vier_20260616_095101_dt_xk.jpgSDTB
Foto 25bl17_abbau_1319_x.jpgSDTB
Foto 24bl17_abbau_1320_x.jpgSDTB
Zeich­nung 9zuse_archive_p00606_x.jpgUrsu­la Schwei­er, Bau­teil aus Alu­mi­ni­um für das Leit­werk der Z1, 24.10.1988, CC BY-NC-SA, beschnit­ten https://​zuse​.zib​.de/​i​t​e​m​/​y​L​J​P​X​E​j​s​c​7​k​7​S​3dV
Zeich­nung 10zuse_archive_p00547_x.jpgDiet­mar Sau­pe, Ursu­la Schwei­er, Über­sichts­zeich­nung des Rechen­werks der Z1, 22.02.1988, CC BY-NC-SA, beschnit­ten https://​zuse​.zib​.de/​i​t​e​m​/​b​l​s​j​x​o​H​m​I​E​u​w​P​xwy
Zeich­nung 12zuse_archive_p00603_x.jpgUrsu­la Schwei­er, Ple­xi­glas­plat­ten, Distanz­hül­sen u. ‑schei­be u. Stift; Mate­ri­al­an­ga­ben, 23.08.1988, CC BY-NC-SA, beschnit­ten https://​zuse​.zib​.de/​i​t​e​m​/​Q​V​D​9​z​t​B​u​U​H​8​E​V​vE7
Zeich­nung 13bl17_ideale_schichtung.jpgKle­mens Krause
Tabel­le 1bl17mpg_sch_02_c.jpgKle­mens Krause
Tabel­le 2bl17mpg_pgm_04_c.jpgKle­mens Krause
Tabel­le 3bl17mpg_pgm_06_c_1.jpgKle­mens Krause
Tabel­le 4bl17mpg_pgm_06_c_2.jpgKle­mens Krause


  1. Raúl Rojas (Hrsg.): Die Rechen­ma­schi­nen von Kon­rad Zuse, Ber­lin et al. 1998. ↩︎
  2. Raúl Rojas: Kon­rad Zuse’s Ear­ly Com­pu­ters. The Quest for the Com­pu­ter in Ger­ma­ny, 2023. ↩︎
  3. Diet­mar Sau­pe, Ursu­la Schwei­er: Funk­ti­ons- und Kon­struk­ti­ons­prin­zi­pi­en der pro­gramm­ge­steu­er­ten mecha­ni­schen Rechen­ma­schi­ne Z1. Gesell­schaft für Mathe­ma­tik und Daten­ver­ar­bei­tung, Arbeits­pa­pie­re der GMD 321. Sankt Augus­tin 1988. ↩︎
Kle­mens Krause

Klemens Krause ist Leiter des Computermuseums Stuttgart und arbeitet am Projekt zur Dokumentation und Restaurierung der Z1 im Deutschen Technikmuseum mit.