Die TR440-Speicherstruktur im Emulator


Die Speicherstruktur des TR440 (Kernspeicher) sieht heute relativ exotisch aus, war aber damals technologisch sehr fortgeschritten.

Die Basiseinheit war das Ganzwort, bestehend aus 48 Informations-Bits, 2 Typenkennungs-Bits und 2 Dreierproben-Bits. Es konnten somit in einem Ganzwort 6 Oktaden (=Bytes) abgespeichert werden.

Die Speicherung erfolgte nach dem Big-Endian-Schema (heute oft Motorola-Format genannt), die höchstwertigen Elemente innerhalb des Wortes hatten die niedrigsten Adressen. Im Gegensatz dazu speichern die meisten heutigen Rechner im Little-Endian-Schema (heute oft Intel-Format genannt) in umgekehrter Reihenfolge.

Adressiert wurde ein Ganzwort über eine gerade 22-Bit-Adresse. Mit speziellen Befehlen konnten auch Doppelworte, Halbworte, Drittelworte, Viertelworte, Bytes, Tetraden, Bits und Teilworte adressiert werden.

Jeder Befehl des Befehlssatzes belegte im TR440 genau ein Halbwort, es gab also keine unterschiedlich langen Befehle.

1024 Ganzworte waren jeweils zusammengefasst zu einer Seite, und 32 Seiten bildeten eine Großseite. Maximal 64 Großseiten waren möglich. Damit konnten maximal 2**21 Ganzworte adressiert werden, also 2 MW ~ 12 MB (im Emulator werden incl. Typenkennung 7 statt 6 Bytes pro Ganzwort benötigt).

Jeder Prozess hatte einen Leitblock, der u.a. über eine Seiten-Kachel-Tabelle die adressierten Seiten den physikalischen Kernspeicher-Kacheln zuordnete und dabei festlegte, welche Seite für den Prozess zugreifbar war, und ob sie schreibgeschützt war oder nicht.

Diese Technik erlaubte es, einzelne Seiten mit unterschiedlichen Adressen denselben Kacheln zuzuordnen, und das nicht nur innerhalb eines Prozesses, sondern auch gemeinsam für mehrere Prozesse.

Da diese Technik nicht nur aus Kernspeicher-Spargründen sondern konstruktiv angewendet wurde, ist im Emulator die komplette Struktur incl. der prozessspezifischen Leitblöcke mit ihren Seiten-Kachel-Tabellen nachgebildet worden.

Auch die Indexspeicherung (256 konsekutive Halbworte mit festlegbarer Anfangsadresse bildeten jeweils eine Indexbasis für die spezielle Index-Arithmetik) wurde im Emulator nachgebildet - bis hin zu den 4 Index-Assoziativ-Registern.

Tiefere und genauere Informationen zum TR440-Speicher, seinen Registern etc.sind hier zu finden. Alle dort beschriebenen Strukturen (außer der Dreierprobe) sind im Emulator genauso nachgebildet.