10.12.2012 Aufrufe

40 Jahre Informatik in München - Fakultät für Informatik - TUM

40 Jahre Informatik in München - Fakultät für Informatik - TUM

40 Jahre Informatik in München - Fakultät für Informatik - TUM

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Der Compiler war modular aufgebaut. Der Struktur von ALGOL 60 gemäß<br />

konnten während des Aufbaus e<strong>in</strong>es Kellers <strong>in</strong> z1 =39verschiedenen<br />

Zuständen n1 =24verschiedene neue Zeichen folgen, bei dessen Abbau<br />

(‘Repetition’) <strong>in</strong> z0 =48verschiedenen Zuständen n0 =35verschiedene<br />

neue Zeichen. Das führt zu z1×n1 = 936 bzw. z0×n0 = 1680 verschiedenen<br />

Modulen. Welcher Modul während e<strong>in</strong>es Übersetzungsvorganges dann<br />

jeweils mit Beg<strong>in</strong>n der Abarbeitung e<strong>in</strong>es neuen Zeichens oder während<br />

e<strong>in</strong>es Repetitionsvorganges anzusteuern war, h<strong>in</strong>g e<strong>in</strong>erseits von dem aktuellen<br />

neuen Zeichen selbst ab, andererseits von dem Zustand, <strong>in</strong> dem<br />

sich der Übersetzungsvorgang auf Grund der bisherigen Abarbeitung des<br />

Quellprogramms gemäß dem Kellerpr<strong>in</strong>zip befunden hatte.<br />

Größtes Handicap der PERM war ihre ger<strong>in</strong>ge Speicherkapazität. Somit<br />

bestand anfänglich das Risiko, dass sich e<strong>in</strong> Compiler, der ohne nennenswerte<br />

E<strong>in</strong>schränkung ALGOL 60 <strong>in</strong> der Version der ALCOR-Gruppe <strong>in</strong><br />

PERM-Code übersetzen konnte, gar nicht auf dem vorhandenen Speicher<br />

darstellen ließ. Wie sich aber schließlich herausstellte, reichten 86<strong>40</strong><br />

Wörter aus, um den Übersetzer samt se<strong>in</strong>en (stark kapazitätsbegrenzten)<br />

Kellern und Adressbüchern unterzubr<strong>in</strong>gen. Für das entstehende PERM-<br />

Code-Programm standen dann von den <strong>in</strong>sgesamt 101<strong>40</strong> Wörtern des<br />

Speicheradressraumes noch die restlichen 1600 zur Verfügung. Für Programme<br />

mit e<strong>in</strong>em längeren Zielcode war der Compiler nicht ohne weiteres<br />

geeignet.<br />

Wo immer es möglich und vertretbar erschien, wurden übersetzer<strong>in</strong>tern<br />

gleiche oder ähnliche Teile verschiedener Module zu Unterprogrammen<br />

zusammengefasst. Auf diese Weise den Platzmangel im Speicher <strong>in</strong> den<br />

Griff zu bekommen, kostete allerd<strong>in</strong>gs se<strong>in</strong>en Preis. Wie sich später im<br />

praktischen Betrieb herausstellen sollte, verlangsamte die Ausführung der<br />

da<strong>für</strong> notwendigen Sprungbefehle auf die Unterprogramme und von dort<br />

wieder zurück die Übersetzungsvorgänge nicht unbeträchtlich.<br />

Um die <strong>für</strong> Übersetzungsvorgänge erforderliche Zeit aber dennoch möglichst<br />

ger<strong>in</strong>g zu halten, wurden die am häufigsten benötigten Teile des<br />

Compilers zu Beg<strong>in</strong>n jeder Übersetzung <strong>in</strong> den Kernspeicher überführt.<br />

Das Programm <strong>in</strong> PERM-Code entstand <strong>in</strong> dem dadurch frei gewordenen<br />

Teil der Trommel. Am Ende jeder Übersetzung wurde der Compiler<br />

<strong>in</strong> se<strong>in</strong>er ursprünglichen Anordnung wieder hergestellt und das erzeugte<br />

PERM-Code-Programm kam zum Rechnen auf den Kernspeicher.<br />

Planung und Programmierung des Compilers nahmen etwa e<strong>in</strong> Jahr <strong>in</strong><br />

Anspruch, das Austesten an der PERM ebenso lange.<br />

Der Dialog mit dem Rechner erfolgte mittels e<strong>in</strong>es handelsüblichen Fernschreibers,<br />

der am Bedienungspult der PERM stand. Die E<strong>in</strong>gabe größerer<br />

Datenmengen geschah mittels Lochstreifen. Der Zeichenvorrat war<br />

15

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!