DE1806535B2 - Seriell arbeitende digitale rechenanlage - Google Patents

Seriell arbeitende digitale rechenanlage

Info

Publication number
DE1806535B2
DE1806535B2 DE19681806535 DE1806535A DE1806535B2 DE 1806535 B2 DE1806535 B2 DE 1806535B2 DE 19681806535 DE19681806535 DE 19681806535 DE 1806535 A DE1806535 A DE 1806535A DE 1806535 B2 DE1806535 B2 DE 1806535B2
Authority
DE
Germany
Prior art keywords
memory
register
data processing
processing unit
macro
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19681806535
Other languages
English (en)
Other versions
DE1806535A1 (de
DE1806535C3 (de
Inventor
Bernardo Livingston N J Ayres Bruce L Southfield Mich Levy, (V St A )
Original Assignee
Burroughs Corp , Detroit, Mich (V St A )
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Burroughs Corp , Detroit, Mich (V St A ) filed Critical Burroughs Corp , Detroit, Mich (V St A )
Publication of DE1806535A1 publication Critical patent/DE1806535A1/de
Publication of DE1806535B2 publication Critical patent/DE1806535B2/de
Application granted granted Critical
Publication of DE1806535C3 publication Critical patent/DE1806535C3/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/16Digital recording or reproducing using non self-clocking codes, i.e. the clock signals are either recorded in a separate clocking track or in a combination of several information tracks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Executing Machine-Instructions (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

Die Erfindung betrifft eine seriell arbeitende digitale Rechenanlage mit gespeichertem Programm, mit Eingabevorrichtungen zur Eingabe von Daten und Befehlen, mit einem Speicher, der einen ersten Teil zum Speichern von Daten und Makrobefehlen und einen zweiten Teil zum Speichern von Mikrobefehlen aufweist, bei der die Eingabevorrichtungen wahlweise mit dem Speicher derart verbindbar sind, daß Daten und Makrobefehle in den ersten Teil des Speichers eingeschrieben und aus ihm ausgelesen werden können, während veränderbare Mikrobefehle in den zweiten Teil des Speichers eingeschrieben und aus ihm ausgelesen werden können, ferner mit einem Mikroprogrammsteuerwerk, einem Datenverarbeitungswerk und einer Ausgabevorrichtung.
Aus der USA.-Patentschrift 3 315 235 ist eine digitale Rechenanlage bekannt, bei der eine Eingabevorrichtung zur Eingabe von Daten und Befehlen, Spei-
:hervorrichtungen zum Speichern von Daten und Befehlen, eine Mikroprogrammsteuervorrichtung, ;ine Verarbeitungsvorrichtung und Ausgabevorrichtungen vorhanden sind.
Femer ist es aus dem Buch von Dr. Ambros P. Speiser, Digitale Rechenanlagen, Springer Verlag 1965, Seite 274 bis 277, bekannt, bei der Mikroprogrammierung eine Änderung der Mikro-Programmc nicht nur durch eine Änderung der Verdrahtung zu erzielen, sondern die Aufgabe, die Folge der Mikrobefehle an das Rechenwerk zu übermitteln, dem Leitwerk zu überbinden, welches seinerseits die Folge nicht aus einer Verdrahtung, sundern aus einem Speicherwerk übeminimt, so daß das Befehlsverzeichnis jederzeit durch Änderung eines Speicherinhalts geändert werden kann.
Der Erfindung liegt die Aufgabe zugrunde, eine digital arbeitende Rechenanlage, insbesondere einen Tischrechner, der z. B. zum Buchen in kleineren Betrieben verwendet werden kann, zu vereinfachen und derart auszubilden, daß die Anpassung bezüglich der in dem Rechner gespeicherten Mikrobefehle an die besonderen Gegebenheiten auch während des Rechnens erfolgen kann.
Diese Aufgabe wird gemäß der Erfindung dadurch geh ist, daß das Mikroprogrammsteuerwerk Einrichtungen enthält, in denen die Mikrobefehle der Reihe nach aus dem zweiten Teil des Speichers in vorbestimmter Reihenfolge ausgelesen und decodiert werden, und daß Einrichtungen vorgesehen sind, die ein oder mehrere der ausgelesenen und decodierten Mikrobefehle in Abhängigkeit von Makrobefehlen, we! ehe bei der Verarbeitung von im ersten Teil des Speichers gespeicherten Daten ausgeführt werden sollen, modifizieren, und daß das Datenverarbeitungswerk von auf diese Weise modifizierten Mikrobefehlen gesteuert wird.
Die Einrichtungen, welche einen oder mehrere der ausgelesenen und decodierten Mikrobefehle in Abhängigkeit von Makrobefehlen modifizieren, enthalten vorzugsweise ein Eingabe-/Ausgaberegister, welches die Adresse des als nächstes ausgewählten Wortes an Stelle des Mikrobefehlsregisters enthält. Das Eingabe-/Ausgaberegister ermöglicht es, eine Kette von Mikrobefehlen hinsichtlich einer normalen vorbestimmten Reihenfolge abzuändern mit dem Ergebnis, daß ein bestimmtes Mikroprogramm, welches ursprünglich eingegeben war, während der Ausführung abgeändert wird. Die Änderung kann von außen mit Hilfe des Tastenfeldes durchgeführt werden.
Der Speicher enthält vorzugsweise eine Magnetplatte, deren Hauptspeicherspuren in Makrospeicherspuren und Mikrospeicherspuren unterteilt sind und die ferner Taktspuren und Umlaufspuren enthält.
Es ist vorteilhaft, eine vom Mikroprogramm gesteuerte, den zweiten Teil des Speichers in den ersten Teil des Speichers ausdehnende Vorrichtung vorzusehen.
Das Datenverarbeitungswerk der Rechenanlage enthält vorzugsweise einen ersten Umlaufspeicher zum Synchronisieren von Lese- und Schreiboperationen in dem Speicher, einen zweiten Umlaufspeicher mit einer Speicherlogik und einer Vorrichtung zum Speichern und Verarbeiten jedes im ersten Teil des Speichers gespeicherten Makrobefehls, ein erstes Register für Dezimalkorrekturen, ein zweites Register zur Eingabe und Ausgabe und zum Weiterleiten und Soeichern von Daten in dem Datenverarbeitungswerk und einen Serienaddierer zum Verarbeiten von Daten in dem Datenverarbeitungswerk.
Das Datenverarbeitungswerk weist vorzugsweise einen Makrobefehls-Programmzähler in dem zweiten
Umlaufspeicher und eine den Zählerstand des Programmzählers jedesmal um den Wert »Eins« durch das Mikroprogramm gesteuert erhöhende Vorrichtung auf, wenn ein Makrobefehl durch die Mikrobefehle ausgeführt ist. Das Datenverarbeitungswerk
ίο enthält ferner vorzugsweise eine Makroprogrammregistervorrichtung in dem zweiten Umlaufspeicher zum Speichern einer Folge von Makrobefehlen, die ausgeführt werden sollen, und eine der Reihe nach einen Teil der Mikrobefehlsfolge durch den Makrobe-
fehlsprogrammzähler gesteuert auswählende Vorrichtung.
Ferner enthält das Datenverarbeitungswerk vorzugsweise einen Makrobefehlssilbenzähler in dem zweiten Umlaufspeicher, der unter Mikrobefehls-
steuerung jedesmal weitergeschaltet wird, wenn eine Silbe eines Makrobefehls ausgeführt ist, während der Makrobefehlsprogrammzähler jedesmal um den Wert »Eins« weitergeschaltet wird, wenn der Silbeluäliler auf »Null« zurückgesetzt wird. Es ist zweckmäßig, die Anlage so auszuführen, daß das Mikroprogrammsteuerwerk ein Mikrobefehlsregister zum kurzzeitigen Speichern eines ausgewählten Mikrobefehls, eine Steuermatrix zum Auswählen und Durchschalten von Verknüpfungsgliedern in dem Datenverarbeitungs-
werk, gesteuert durch den im Mikrobefehlsregister gesteuerten Mikrobefehl, und eine Taktvorrichtung enthält, die die Dauer bestimmt, während der die ausgewählten Verknüpfungsglieder in dem Datenverarbeitungswerk durch die Steuervorrichtung durchgeschaltet werden.
Das Eingabe/Ausgaberegister ist vorzugsweise unterteilt, so daß ein Ziffernregister zum Speichern des niedrigstwertigen Teils eines Speichers und ein Zonenregister zum Speichern des höchstwertigen Teils
eines Speichers vorgesehen ist, wobei das Zeichen eine vorbestimmte Anzahl von Bits enthält.
Es empfiehlt sich, die Anlage dabei so auszuführen, daß ein Verknüpfungsglied zum wählbaren Hintereinanderschalten des Ziffernregisters und des Umlaufspeichers in einem geschlossenen Kreis vorgesehen ist, um die Länge des Umlaufspeichers zu ändern. Es zeigt
F i g. 1 ein Blockschaltbild der digitalen Rechenanlage gemäß der Erfindung,
Fig. 2 eine schematische Darstellung des in der Rechenanlage verwendeten Plattenspeichers,
F i g. 3 einen Teil des Plattenspeichers,
F i g. 4 eine schematische Darstellung eines in einer Spur des Speichers gespeicherten Wortes,
Fig. 5 als Blockschaltbild die Verbindungen zwischen dem Mikroprogrammsteuerwerk, dem Hauptspeicher und dem Datenverarbeitungswerk,
F i g. 6 ein Diagramm des Formats der Mikroprogramme,
Fig. 7 ein Blockschaltbild, das zeigt, wie das Mikroprogrammsteuerwerk die Reihenfolge der auf der Magnetplatte gespeicherten Mikroprogramme steuert,
Fig. 8 ein Blockschaltbild, das zeigt, wie der Hauptspeicher angewählt wird,
Fig. 9 ein Blockschaltbild des Datenverarbeitungswerks,
Fig. 10 die Zusammengehörigkeit der Fig. 1OA
und 1OB,
Fig. 10 A und 1OB Blockschaltbilder der Rechenanlage und die gegenseitige Anordnung der verschiedenen Teile der Rechenanlage.
Die digitale Rechenanlage enthält als Eingabevorrichtungen eine alphanumerische Tastatur 101 und als Ausgabevorrichtung einen Drucker 111.
Die Rechenanlage kann vorzugsweise als Tischrechner für viele Datenverarbeitungszwecke, z.B. zum Buchen in kleinen Betrieben verwendet werden. Das Buchungsprogramm kann durch Drücken der entsprechenden Taste der Tastatur 101 ausgewählt werden. Man kann über den alphabetischen Teil und den numerischen Teil der Tastatur von außen Daten eingeben, z. B. die Kennzahl des Käufers und die Teilenummern der gekauften Teile.
Wenn die Kennzahl des Käufers über die Tastatur 101 eingegeben ist, kann der Rechner die erforderlichen, den Käufer betreffenden Informationen auslesen, so daß der Drucker 111 den Namen des Käufers und die Kennzahl zusammen mit allen anderen erforderlichen Angaben auf dem Rechnungsvordruck ausdruckt, der in den Drucker eingelegt ist. Man kann dann eine Teilnummer und eine einen einzelnen Kauf darstellende Menge eintasten. Dann liest der Tischrechner, gesteuert vom ausgewählten Programm, die den durch die Teilnummer dargestellten Posten betreffende Information aus, druckt diese Information an der richtigen Stelle auf den Vordruck und berechnet einzelne Größen, wie Mehrwertsteuer und den Gesamtpreis der speziellen Menge des Postens.
Man kann dann mit der Bedienung in dieser Weise fortfahren, wobei immer nur das erste Kennzeichen der Personen oder Posten mit Hilfe der Tastatur 101 eingegeben wird, während die Rechenanlage alle Informationen liefert, die in ihrem Speicher gespeichert werden können, und selbsttätig alle Rechnungen ausführt, die bei dem ausgewählten Programm erforderlich sind. Einige der Tasten der Tastatur 101 können außer auf Programmwahl auch auf die Verarbeitung außergewöhnlicher Posten, bei denen ein anderes Verarbeitungsprogramm erforderlich ist als das Grund- oder gewöhnliche Maschinenprogramm, eingestellt werden.
Wie aus dem in F i g. 1 dargestellten Blockschaltbild zu ersehen ist, enthalt der Rechner ein Ein- und Ausgabe-Steuerwerk 115, einen Eingabe Ausgabe-Zwischenspeicher oder ein -Register 117, ein Datenverarbeitungswerk 119, einen Hauptspeicher 121 und ein Mikroprogrammsteuerwerk 123. Die Tastatur und der Drucker sind elektrisch und mechanisch voneinander unabhängig. Sie werden durch Mikrosteuerung koordiniert.
Jedesmal, wenn in der Tastatur eine Taste gedrückt wird, wird ein die Taste kennzeichnender Binärcode in den Tastaturzwischenspeicher eingegeben. Während eines Mikroprogramms wird der Code ans dem Tastatur-Zwischenspeicher geholt und in den Eingabe/Ausgabe-Zwischenspeicher 117 zur weiteren Verarbeitung übertragen. Der Zwischenspeicher 117 überträgt den Code in das Datenverarbeitungswerk 119, wo er zum Abspeichern im Hauptspeicher 121 zu Wörtern zusammengestellt wird.
Der Eingabe/Ausgabe-Zwischenspeicher wird auch zur Adressierung des Hauptspeichers for Datenübertragungen zwischen dem Hauptspeicher und dem Datenverarbeitungswerk 119 verwendet. So wird beispielsweise nach der Zusammenstellung der Daten zu Wörtern im Datenverarbeitungswerk 119 ein Hauptspeicheradressenplatz in den Eingabe/Ausgabe-Zwischenspeicher 117 eingegeben. Dann werden die Datenwörter über den Eingabe/Ausgabe-Zwischenspeieher 117 in den richtigen Speicherplatz eingegeben. Das Datenverarbeitungswerk 119 erhält Informationen aus dem Hauptspeicher 121 und kann ebenfalls einige dieser Informationen in den Eingabe/Ausgabe-Zwischenspeicher 117 oder in den Hauptspeieher 121 zurück übertragen. Das Mikroprogramm-Steuerwerk 123 erhält Informationen aus dem Hauptspeicher 121 und kann die Übertragung von Informationen aus dem Datenverarbeitungswerk 119 in den Hauptspeicher 121 bewirken.
In F i g. 2 ist der Hauptspeicher schematisch dargestellt. Bei dem Hauptspeicher handelt es sich um eine einzige Magnetplatte 125 mit 36 Spuren. Diese Spuren werden normalerweise nicht alle verwendet. Die äußere Spur ist eine Taktimpuisspur, und die nächste
ao Spur ist eine Sektorimpulsspur. Diese beiden Spuren sorgen für die Taktsteuerung des Rechners. Die unmittelbar neben der Sektorspur angeordnete Spur 133 wird für die beiden Umlaufspeicher verwendet, die mit dem Datenverarbeitungswerk zusammenarbeiten.
»5 Die übrigen Spuren werden zur Speicherung von Daten, Makroprogrammen und Mikroprogrammen verwendet.
Jede Speicherspur enthält 32 Wörter in ihrer Längsrichtung, und jedes Wort enthält 64 Bits. Bei derjenigen Ausführung des Rechners, bei der Metalloxid-Halbleiterregister verwendet werden, wird die von den Umlaufspeichern besetzte Plattenfläche für andere Zwecke, z.B. als Zwischenspeicher und Datenspeicher, verwendet.
In Fi g. 3 ist ein Sektor 127 der Platte 125 gezeigt. Aus dieser Darstellung ist die relative Anordnung der Taktspur 129, der Sektorspur 131, der Spur 133. die für die beiden Umlaufspeicher verwendet wird, und der als Hauptspeicher verwendeten Spuren 137 /u er-
♦o kennen. Der Hauptspeicher ist in einen Mikro- und einen Makrospeicherteil unterteilt. Der Mikrospeicherteil enthält die Mikrobefehle zur Ausführung aller Maschinenoperationen. Der Makrospeicherteil enthält die Daten und Programmbefehle, die über das gespeicherte Mikroprogramm ausgeführt werden. Dei Makrospeicherteil kann über die Eingabe-Tastatui dahingehend geändert werden, daß der Rechner ver schiedene logische Operationen mit den gespeicherter oder anschließend eingegebenen Daten ausführt.
In F i g. 4 ist das Format aller 32 Wörter einer Spu: dargestellt. Jedes Wort enthält 64 Bits, die in vier 16 Bit-Silben unterteilt sind. Jede Silbe ist in zwei 18 Bit-Zeichen und jedes Zeichen in zwei 4-Bit-Ziffen unterteilt.
Das Blockschaltbild nach Fig. 5 zeigt, wie das Mi kroprogramm-Steuerwerk 123 an die Magnetplatt· 125 und das Datenverarbeitungswerk 119 ange schlossen ist, wobei das Datenverarbeitungswerk 11 den Addierereingangswähler 145 and den Addiere 147 enthält. Eine Gruppe magnetischer Leseköpf 149 tastet die einzelnen Spuren der Magnetplatte 12 ab.
Einer dieser Köpfe tastet die aktive MBcrospur al die die Mikrobefehle enthält, die als nächste ausgc führt werden sollen. Dieser Lesekopf ist elektrisch m dem Steuerregister 151 verbunden. Die Mikrobefehl brauchen nicht in derselben Reihenfolge iängs d« Spur angeordnet zu sein, in der sie in das Steuerreg
äter 151 zur Ausführung eingelesen werden müssen, das alle Mikrobefehle die Adresse des nächsten Mikrobefehls enthalten, der in dieses Steuerregister eingelesen werden soll. Deshalb kann die richtige Reihenfolge bei der Ausführung der Mikrobefehle eingehalten werden, obwohl sie nicht in einer gleichbleibenden Reihenfolge in der aktiven Mikrospur angeordnet zu sein brauchen.
Einige der Mikrobefehle sind mehrere Male in den Mikrobefehlsspuren aufgezeichnet, so daß sie in kürzerer Zeit unter dem Lesekopf erscheinen, nachdem sie von dem Adreßteil des Mikrobefehls im Steuerregister 151 adressiert wurden. Der letzte Mikrobefehl enthält die Adresse der nächsten Mikrospur, die den auszuführenden Mikrobefehl enthält. Die Spur, die diesen Mikrobefehl enthält, wird vom Spurbestimmungsregister 181 (F i g. 8) bestimmt.
Die Steuermatrix 153 erhält Signale parallel aus dem Steuerregister 151, das den auszuführenden Mikrobefehl enthält. Die Steuermatrix gibt zweiwertige ao Spannungen über ihre Ausgangsleitungen 155 ab, wobei diese Ausgangsspannungen die im Steuerregister gespeicherten Mikrobefehle dekodieren. Über die Ausgangsleitungen wird jeweils einem der Verknüpfungsglieder, die das Datenverarbeitungswerk 119 des Rechners steuern, ein Signal zugeführt. Die Ausgangssignale des Steuerregisters 151 werden auch der Taktmatrix 157 zugeführt. Die Taktmatrix 157 erhält ferner Signale von einem Zähler 159. Die Kombination dieser Signale aus dem Steuerregister 151 und dem Zähler 159 bewirkt die Erzeugung von Ausgangssignalen auf den Ausgangsleitungen 161 der Taktmatrix 157. Der Zähler 159 erhält Impulse aus den Takt- und Sektorspuren der Magnetplatte 125, die die Ausgangssignale auf den Leitungen 161 mit der Umdrehung der Platte 125 synchronisieren.
Die Steuermatrix 153 und die Taktmatrix 157 sind nicht im einzelnen dargestellt. Die Ausgangssignale dieser Matrizen wählen die Verknüpfungsglieder aus, die Verbindungen zwischen den verschiedenen Teilen des Rechners in Abhängigkeit vom Code des Mikrobefehls, der im Steuerregister 151 gespeichert ist, herstellen sollen.
In F i g. 6 ist das Format der Mikroprogramme gezeigt . Der Rechner arbeitet in der hexadezimalen Maschincnsprache, so daß jeder Mikrobefehl 163 sechzehn Bits enthält. Jeder Mikrobefehl enthält in diesen 16 Bits die Adresse desjenigen Befehls, der als nächster ausgeführt werden soll. Jedes Mikrowort 165 enthalt vier Mikrobefehle. Jede Mikrospeicherspur auf der Platte enthalt 32 MikroWörter und wird Mikrospur genannt. Die Mikrobefehle, die ein Mikrowort bilden, sind nicht notwendigerweise nebeneinander angeordnet, sie werden jedoch zeitlich nacheinander gelesen.
In Fig. 7 ist ein Blockschaltbild des Mikroprogrammsteuerwerks gezeigt, das das Steuerregister 151 (MikTobefehlsregister), die Steuermatrix 153, die Taktmatrix 157, den Taktzähler 159 und die Magnetplatte 125 enthält. Die Magnetplatte hat eine Takt spur 129, die einen Impuls in jedem Bitzeitpunkt liefert, und eine Sektorspur 131, die die Adresseninformation für jeden der Sektoren auf der Platte enthält. Die m der Sektorspur aufgezeichneten Impulse werden vom Lesekopf 168 abgetastet und zum Taktzähler 159 und der Taktmatrix 157 übertragen. Die in der Taktspur 129 enthaltenen Impulse werden vom Lese kopf 169 abgetastet und zum Taktzähler 159 übertra gen. Die Taktspur 129 schaltet den Zähler 159 weiter.
Die Sektorspur wirkt als Zählerverlängerung, die den Zählbereich von 23 auf 2" Bits erhöht. Der Zähler 159 liefert zusammen mit der Sektorspur die Information zur Anordnung jedes Kommas oder Punktes auf der Platte.
Die Mikrobefehle werden, gesteuert von der Taktmatrix 157, aus der ausgewählten Datenspeicherspur von der Magnetplatte abgelesen und in das Mikrobefehlsregister 151 übertragen. Die Taktmatrix 157 schaltet das UND-Glied 177 durch, wenn sich der ausgewählte Kopf 175 über dem ersten Bit des Mikrobefehls befindet, der zuletzt adressiert wurde. Jeder Mikrobefehl adressiert denjenigen Mikrobefehl, der ihm folgen soll. Wenn der nächste Mikrobefehl unter den nächsten 16 Befehlen auf derselben Spur wie derjenige Mikrobefehl angeordnet ist, der im Mikrobefehlsregister 151 gespeichert ist, werden die vier höchsten Bits, die zuletzt aus der Spur abgelesen werden, des Mikrobefehlsregisters 151 als dessen Adresse der Steuermatrix 153 zugeführt, die bewirkt, daß die Taktmatrix 157 das UND-Glied 177 im richtigen Zeitpunkt durchschaltet, um einen neuen Befehl ins Mikrobefehlsregister 151 einzulesen. Bei einigen Befehlen ist nicht gewährleistet, daß der nächste Befehl vom Programmierer innerhalb der folgenden 16 Befehle, gerechnet vom Zeitpunkt der Ausführung des letzten Befehls, angeordnet werden kann, so daß drei weitere Bits aus dem Mikrobefehlsregister 151 in diesen Mikrobefehlen zur Adressierung des nächsten Befehls auf derselben Spur verwendet werden. Irgendein Befehl auf derselben Spur kann durch diese sieben Bits adressiert werden. Wenn ein Befehl auf einer anderen Spur adressiert werden soll, die dann zur aktiven Mikrospur wird, können noch vier weitere Bits des gerade im Mikrobefehlsregister 151 gespeicherten Befehls verwendet werden. Durch diese Maßnahme kann eine ständige Folge von Mikrobefehlen geschaffen werden. Diese Befehle können auch die Adresse des folgenden Befehls bestimmen, die durch Informationen außerhalb des Befehls im Mikrobefehlsregister ausgewählt werden sollen, um für Sprungoperationen zu sorgen. Wenn der erste Mikrobefehl in der aktiven Mikrospur unter dem Lesekopf 175 vorbeiläuft, bewirkt die Taktmatrix 157, daß der abzutastende Mikrobefehl über das UND-Glied 177 in das Mikrobefehlsregister 151 übertragen wird. Dies geschieht, wie beschrieben, durch das Einwirken der Steuermatrix 153 auf die letzten vier oder sieben Bits des vorangegangenen Mikrobefehls im Mikrobefehlsregister 151 in Verbindung mit dem Taktzähler 159 und der Taktmatrix 157.
Der Mikrobefehl wird durch das Zusammenwirken der Steuermatrix, der Taktmatrix und des Taktzählers bei der Steuerung der Tore im Datenverarbeitungswerk des Rechners ausgeführt. Die letzten Adressenbits des Mikrobefehls bewirken ferner, daß der nächste Mikrobefehl aus der aktiven Mikrospur in das Mikrobefehlsregister 151 zur Ausführung eingelesen wird. Um Zeit bei der Maschinenoperation zu gewinnen, werden die ersten acht Bits jedes Mikrobefehls ins Register 151 eingegeben. Wenn bei Überprüfung des 9ten Bits festgestellt wird, daß der richtige Mikrobefehl nicht vorhanden ist, dann werden die ersten acht Bits des nächsten Mikrobefehls eingegeben, und so weiter, bis der richtige Mikrobefehl eingegeben ist. Dieses Herausziehen eines der aktiven Mikroprogrammschritte und die Ausführung dieses Schrittes geschieht in vier größeren Phasen:
309530/376
1. Mikrobefehlssuche
Die Logik wartet so lange, bis das neunte Bit des ausgewählten Mikrobefehlsschrittes gerade am Leseverstärker der aktiven Mikroprogrammspur erscheint.
2. Mikrobefehlseingabe
Der ausgewählte Mikrobefehl wird ins Register 151 eingelesen.
3. Operandensuche
Der Inhalt des Mikrobefehlsregisters 151 wird durch die Steuermatrix dazu verwendet, aus einigen aufeinanderfolgenden Taktimpulsen den für diesen Befehl geeigneten auszusuchen. Die Logik wartet dann so lange, bis die ausgewählte, durch die Taktmatrix bestimmte Information zur Verfügung steht.
4. Ausführung
Die Operation wird dann ausgeführt. Wenn die Zeit für die Ausführung zu Ende ist, kehrt die Taktmatrixlogik in die Phase 1 zurück, wo sie wartet, bis der nächste Mikrobefehl am Leseverstärker der aktiven Mikrospur erscheint.
Es gibt zwei mögliche Befehle zur Auswahl der aktiven Mikrospur. Der eine Befehl wählt die aktive Mikrospur an Hand einer in dem vorangegangenen Mikrobefehl enthaltenden Adresse aus und der andere wählt die Mikrospur an Hand einer im Eingabe/Ausgabe-Zwischenspeicher 117 des Rechners enthaltenen Adresse aus. Die zuletzt genannte Adresse kann über die Tastatur, aus dem Datenverarbeitungswerk oder dem Speicher des Rechners programmgesteuert eingegeben werden.
In Fig. 8 ist ein Blockschaltbild der den Zugriff zum Hauptspeicher 121 über die Kopfauswahlmatrix 179 herstellenden Einrichtung gezeigt. Bei der Auswahl der Adresse zum Einlesen oder Einschreiben von Informationen in den Speicher 121 sind drei Register beteiligt. Diese sind das Mikrobefehlsregister 151, das Spurenbestimmungsregister 181 und das Eingabe/Ausgabe-Register 117. Die Taktmatrix 157, die Steuermatrix 153, der Taktzähler 159 und die Takt- und Sektorspuren unterstützen die Spureinhaltung der Lese- und Schreibköpfe auf der Magnetplatte, die im Speicher 121 verwendet wird.
Ein spezielles Flipflop (Fc) 143 wird in Ausnahmefällen verwendet, in denen es nötig ist, den Mikrospeicherteil in den Makrospeicherteil auszudehnen. Mit Hilfe des Flipflop 143 kann der Mikrospeicherteil auf 16 weitere Spuren ausgedehnt werden. Eine Ausdehnung des Mikrospeicherteils läßt sich durch Einfügen einer Markierung beim Programmieren erreichen und ist besonders bei sogenannten Sprungoperationen zweckmäßig.
Die Synchronisierschaltung 183(Fig. 10 A)spricht auf eine vorbestünmte Folge von 15 Impulsen der gleichen Polarität an, die in der Sektorspur der Magnetplatte aufgezeichnet sind, um die Ausgangs- oder Anfangslage der Magnetplatte zu kennzeichnen. Wenn die Synchronisierschaltung 183 diesen Code in einer Anfangslage für einen Umlauf der Magnetplatte nach dem Einschalten der Anlage oder nach einem Fehler feststellt, löscht sie den Zähler, der zur Speicherung der Lage der Lese- und Schreibköpfe auf der Platte verwendet wird. Er zählt dann die Stellen, mn die sich die Platte von den in der Taktimpulsspur und der Sektorspur aufgezeichneten Bits wegbewegt hat. Die Sektorspur hält den Code für jedes Zeichen auf der Magnetplatte fest, und der Taktimpulszähler 159 zählt in Verbindung mit der Taktspur 129 bei jedem längs der Spur auftretenden Bit um einen Schritt weiter·
Der Zugriff zum Hauptspeicher, d. h. das Ein- und
Auslesen, kann auf drei Arten erfolgen:
1. Durch eine Folge von zwei oder mehreren Mikrobefehlen, von denen alle mit Ausnahme des
ίο letzten Befehls die Adresse ändern, wobei das
Ergebnis im Eingabe/Ausgabe-Register 117 abgespeichert wird. Der letzte Mikrobefehl wählt eine Spur aus der aus acht Spuren bestehenden Gruppe aus, die am Zugriff beteiligt ist und ver-
wendet fünf der acht Bits des Eingabe Ausgabe-Registers zur Auswahl des Wortes in der Spur. Die Adresse der Spur ist in den anderen drei Bits (Füpflops) enthalten.
2. Durch eine ähnliche Mehrfach-Mikrobefehlsao operation, bei der vier Bits des Eingabe/Ausgabe-Registers ins Spurbestimmungsregister 181 übertragen werden, um die Spur auszuwählen, und drei Bits des Mikrobefehlsregisters 151 und vier Bits des Eingabe/Ausgabe-Register« einen
as von 128 Mikrobefehlen in der ausgewählte η Spur
auswählen.
3. Durch einen einzigen Mikrobefehl, bei dein die Adresse eines Mikrobefehls durch 11 Bit-, des Mikrobefehls vollständig bestimmt ist. Auch hier
werden vier Bits ins Spurbestimmungsregister
übertragen, um die aktive Mikrospur auszuwählen.
Das Mikrobefehlsregister 151 schaltet in Verbindung mit dem Zähler 159 die dem ausgewählten Kopf in der Kopfauswahlmatrix 179 nachgeschalteten Verknüpf ungsglieder im richtigen Augenblick durch Die Spur wird durch das Spur-Bestimmungsregister 181 ausgewählt. An Stelle des Mikrobefehlsregisters 151 kann auch das Eingabe /Ausgaberegister 117 die Adresse des als nächstes auszuwählenden Wortes enthalten.
In Fig. 9 ist ein Blockschaltbild des Datenverarbeitungswerks des Rechners zusammen mit den zum Speicher 121, dem Mikrobefehlsregister 151 und dem Eingabe/Ausgabe-Steuerwerk 1Ϊ5 führenden Verbindungen gezeigt. Ein Einwort-Umlaufspeicher ist über das Verknüpfungsglied 189 und das Verknüpfungsglied 191 mit dem Speicher 121 verbunden. Der Umlaufspeicher 187 wird zur Synchronisierung von Informationen während der Übertragung der Informationen aus dem Datenverarbeitungswerk in den Speicher 121 über das Verknüpfungsglied 189 und zur Synchronisierung der Informationsübertragung aus dem Speicher 121 ins Datenverarbeitungswerk über das Verknüpfungsglied 191 verwendet. Ein Vier-Wort-Umlaiifspeicher 193 speichert Informationen, die bei der Folgesteuerung von Mikrobefehlen und zur Kurzzeitspeichenmg von Daten, die der Rechner verarbeiten solL verwendet werden. Der Addierer-Eingang-Wähler 145 steuert die Übertragung von Informationen in den im Serienbetrieb arbeitenden Addierer 147. Der Wähler 145 erhält Informationen aus dem Umlaufspeicher 187 über eine Leitung 195, aus dem Mikrobefehlsregister über eine Leitung 197, aus den vier höchsten Bitstellen des Eingabe/Ausgabe-Registers 117 (Zone) über eine Leitung 201 und aus den vier niedrigsten Bitstellen des Eingabe/Ausgabe-Registers 117 (Ziffer) über
eine Leitung 203.
Eine »Übertrag«-Schaltung 205 wird zusammen mit dem Addierer 147 verwendet. Der Ausgang des Addierers 147 ist mit dem Umlaufspeicher 187 verbunden. Er ist außerdem mit den in dem Umlauf-Speicherkreis 193 liegenden Schaltungen verbunden: Dem Eingang zur »Zone«, dem Eingang zur »Ziffer« und dem Eingang zum A-Register 207, das zwischen dem Eingabe/Ausgabe-Zwischenspeicher und dem Eingang des Umlaufspeichers 193 liegt.
Der Addierer 147 arbeitet im Binärcode. Vor dem Addieren wird entweder zum Augenden oder zum Addenden eine binäre Sechs addiert. Durch das Addieren der binären Sechs (317 in F i g. 10 A) wird die Differenz zwischen den Übertrag-Ziffern im binären und dezimalen System korrigiert. Die Subtraktion kann nach dem Komplementärverfahren ausgeführt werden. Das Übertrag-Signal zeigt dabei jedesmal an, wann eine größere Zahl von einer kleineren subtrahiert wurde, so daß der Vorgang umgekehrt und die richtige Differenz gebildet werden kann. Das übertrag-Signal zeigt auch an, wann eine Sechs von dei Summe oder Differenz subtrahiert werden muß, weil eine Dezimal-Sechs-Korrektur nicht notwendig ist. Bei dem Addierer handelt es sich um einen gewöhnlichen Serienaddierer für binäre Zahlen mit einem getrennten Eingang für Subtraktion.
Für die Tastatur wird ein 8-Bit-Code verwendet, so daß acht verschiedene Codierstäbe erforderlich sind: für jedes Bit einer. Die Codierstäbe werden zur Eingabe von Daten, Makro- und Mikrobefehlen verwendet. Dieselben Codierstäbe werden zur Änderung des MikroSpeicherbereichs im Hauptspeicher verwendet, um den Rechner zur Ausführung verschiedener logischer Operationen anzupassen. Wenn eine Taste gedruckt wird, werden vorbestimmte Codierstäbe durch Vorsprünge in der einen Richtung verschoben.
Die Fig. 1OA und 1OB sind Teile eines Blockschaltbildes der Rechenanlage. Sie zeigen die Verbindungen des Hauptspeichers 121 mit dem Umlaufspeicher 187, dem Steuerregister (Mikrobefehlsregister) 151, der Steuermatrix 153, dem Addierer 147, dem Umlaufspeicher 193 und der Taktmatrix 157. Die Torschaltkreise, Synchronisierschaltkreise und die Eingabe Ausgabe-Einrichtung sind ebenfalls in diesen Figuren gezeigt.
Wie in Fi g. 9 ist der Eingabe Ausgabe-Zwischenspeicher 117 in Fig. 1OB mit einem 4-Bit-Ziffcmregister 245 und einem 4-Bit-Zonen-Register 247 dargestellt. Die Daten und Befehle werden entweder durch die Tastatur, über den Tastatur-Zwischenspeicher oder durch einen Lochkartenleser 251 über den Eingabeschalter 249 (Fig- 10A) in den Zwischenspeicher 117 eingegeben. Nach Durchlaufen des Eingabeschalters 249 wird die Information über ein Verknüpfungsglied 255 in den Eingabe/Ausgabe-Zwischenspeicher 117 durchgeschaltet.
Die Bits der vier höchsten Stellen im Eingabe/ Ausgabe-Zwischenspeicher 117 befinden sich im Zonen-Register 247 und cüe Bits der vier niedrigsten Stellen im Ziffernregister 245. Das Zonen-Register und das Ziffernregister sind über ein Verknüpfungsglied 257 verbunden.
Drei der vier höchsten Bitspeicherplätze im Zonen-Register 247 sind über ein Verknüpfungsglied 259 mit der Kopfauswahlmatrix verbunden. Die Bits dieser Speicherplätze sind bei der Auswahl des Lesekopfes oder Schreibkopfes, der betätigt werden soll, behilflich. Die aktive Mikrospur wird durch Informationen aus einem H-Register 261 ausgewählt. Zwei Bits aus dem Steuerregister 151 und drei Bits aus dem Zonen-Register 247 bestimmen den zu besetzenden oder auszulesenden Speicherplatz des Umlaufspeichers 187.
Der Eingabe/Ausgabe-Zwischenspeicher 117 führt dem Ausgabeschalter 267 auch aus dem Ziffernregi-
ιο ster 245 und aus dem Zonen-Register 247 über das Verknüpfungsglied 271 Informationen zu. Der Ausgabeschalter 267 erhält ferner Informationen aus dem Register 151 (Fig. 10A), das den Informationsfluß vom Eingabe-Ausgabe-Zwischenspeicher 117 über
»5 den Ausgabeschalter 267 zu den Ausgangskreisen steuert. Der Ausgabeschalter steuert Anzeigelampen 273, die über der Tastatur angebracht sina, um die ausgewählten Tasten anzuzeigen. Die Lampen können von einer Anzcigcsteuerschaltung 275 gesteuert
ao werden. Der Ausgabeschalter 267 steuert auch die Formularhandhabungssteuerung 277 und die Lochersteuerung 279.
Die Druckerträgersteuerung 281 erhält die Daten zur Steuerung eines Druckkopfes 111 vom Eingabe/
as Ausgabe-Schalter 267. Sie erhält außerdem Signale von einem Flipflop 283 (F i g. 10 A), das der Druckerträgersteuerung 281 anzeigt, wann sich der Druckkopf 111 drei Stellen vor derjenigen Stelle, an der er anhalten soll, befindet. Sie zählt von dieser Stelle bis zur Halt-Stelle und steuert die Geschwindigkeit so, daß der Träger allmählich abgebremst wird und schließlich an der richtigen Stelle anhält. Die Druckträgersteuerung überträgt auch zur Eingabe/ Ausgabe-Synchronisationsschaltung 185 und zum Eingabeschalter 249 Signale, die die Anzahl der Stellungen anzeigen, um die sich der Träger weiterbewegt hat.
Das 4-Bit-Register 207 und der Umlaufspeicher 193, der mit der Magnetplatte verbunden ist, bilden zusammen einen vier Wörter langen Umlaufspeicher.
Der Datenfluß kann dabei vom Register 207 durch das Verknüpfungsglied 285 zum Umlaufspeicher 193 und vom Umlaufspeicher 193 durch das Verknüpfungsglied 286 zurück zum Register 207 verlaufen. Das Verknüpfungsglied 286 ist normalerweise geöffnet, sofern ein Eingabe-Verknüpfungsglied, z. B. 291, 309 oder 290, geöffnet ist. Wenn ein Fingabe-Verknüpfungsglied geöffnet ist, ist das Verknüpfungsglied 286 geschlossen, und es bleibt so lange geschlossen, bis das Eingabe-Verknüpfungsglied geschlossen wird.
In diesem Augenblick öffnet sich das Verknüpfungsglied 286 wieder, um erneut einen Umlauf im Umlaufspeicher 193 zu gestatten.
In den Umlaufspeicher 187 können entweder aus dem Hauptspeicher 121 über das Verknüpfungsglied 191, aus dem Addierer über das Verknüpfungsglied 299 oder von seinem eigenen Ausgang über das Verknüpfungsglied 303 Informationen übertragen werden. Über das Verknüpfungsglied 189 können Informationen aus dem Umlaufspeicher 187 in den Hauptspeicher 121 übertragen werden. Das Verknüpfungsglied 303 im Kreis des Umlauf speichers 181 wirkt praktisch in derselben Weise wie das Verknüpfungsglied 286 im Kreis des Umlauf speichers 193. Da; Verknüpfungsglied schließt sich beim Öffner, irgend eines anderen Eingabe-Verknüpfungsgliedes de! Umlauf speichers 187, um ein Vermischen der umlaufenden und der eingegebenen Information zu verhin dem.
Der Umlaufspeicher 187 wird auch zur Verbindung des Hauptspeichers 121 mit dem Umlaufspeicher 193 verwendet. Es gibt zwei W^e vom Hauptspeicher 121 über den Umlaufspeicher 187 zum Umlaufspeicher 193. Der eine Weg steht zur Direktübertragung von Wörtern über den Addierer 147 in den Umlaufspeicher 193 für Additions- und Subtraktionszwecke zur Verfügung. Der andere Weg dient zur Übertragung von Ziffern oder Zeichen aus dem Umlaufspeicher 187 ins Eingabe/Ausgabe-Register 117, um den Inhalt des Umlaufspeichers 193 durch einen anderen Mikrobefehl zu ändern.
Rechenoperationen und logische Operationen werden normalerweise mit Hilfe des Umlaüfspeichers 193 ausgeführt, wobei der Umlaufspeicher 187 zur Synchronisation der Daten- und Befehls-Eingabe und -Ausgabe in den bzw. aus dem Hauptspeicher verwendet wird. Einige Rechenoperationen und logische Operationen werden mit Hilfe des Umlaufspeichers 187 ausgeführt, wenn eine kurze Zykluszeit erwünscht ist. Dem Vorteil des schnelleren Zugriffs steht der Nachteil gegenüber, daß der Umlaufspeicher 187 zur Steuerung des Zugriffs zum Hauptspeicher verwendet werden muß. Eine Sektorspur 131 und eine Taktspur 129 der Magnetplatte, die den Hauptspeicher 121 enthält, führen dem Taktzähler 159 und der Taktmatrix 157 Signale zu.
Die Synchronisierschaltung 183 überprüft die Sektorspur des Hauptspeichers 121 auf Anfangssignalcodes. Beim Anfangen (Einschalten der Anlage) oder beim Auftreten eines Fehlers löscht sie den Taktzähler 159. Der Taktzähler 159 erhält dann Impulse aus der Taktspur 129 und der Sektorspur 131. Er gibt Signale an die Taktmatrix 157 ab, die den Zeitpunkt, in dem die Kopfauswahlmatrix 179 das Ablesen von Informationen von der Magnetplatte veranlaßt, und den Zeitpunkt bestimmen, in dem Verknüpfungsglieder durch die Steuermatrix 153 geöffnet werden sollen. Ein spezielles Stromversorgungseinschalt-Mikroprogramm gibt die Adresse in ein H-Register 261 der Anfangsmikrospur ein. Die einzelnen Mikrobefehle werden dann in das Register 151 eingelesen, wo sie zur Ausführung der Makrobefehle verwendet werden. Für jeden einzelnen Makrobefehl kann ein individuelles Mikroprogramm verwendet werden. Einige wenige Mikrobefehle (Fig. 10) dienen zur Erläuterung der Art und Weise, in der sie den Rechner steuern, um ihn vielseitig und wirtschaftlich arbeiten zu lassen
Ein ausgewähltes Wort kann im Umlaufspeicher 193 um vier Bitstellen, gesteuert vom Mikroprogramm, verschoben werden. Dabei wird das Verknüpfungsglied 307 geöffnet, so daß das ausgewählte Wort vom Ausgang des Umlaufspeicher* 193 direkt in seinen Eingang zurückgeführt wird, ohne durch das A-Register 207 zu laufen. Wenn das Verknüpfungsglied 307 geöffnet wird, wird gleichzeitig das Verknüpfungsglied 295 geschlossen. Wenn 307 geschlossen ist, dann ist 285 geöffnet, so daß eine weitere Verschiebung oder der Verlust von Informationen verhindert wird. Der Inhalt des Registers 207 wird weiter verschoben, wenn das Verknüpfungsglied 307 geöffnet ist, wobei Nullen ins Register geschoben werden. Durch diese Operation wird der Umlaufspeicher 193 um vier Bits verkürzt. Der Mikrobefehl im Register 151 endet vier Bits vor dem Wortendezeitpunkt, so daß vier Nullen aus dem A-Register 207 in die höchsten Ziffernstellen des Wortes eingegeben werden und die Rechtsverschiebeoperation beendet wer-Der Inhalt des Umlaufspeichers 193 läßt sich durch Öffnen der Verknüpfungsglieder 293, 289 und 309 um vier Bits nach links verschieben. Diese Tore sind während der Dauer eines Wortes geöffnet. Durch diese Operation wird das Ziffernregister 245 zum Weg des Umlaufspeichers 193 addiert, indem er um vier Bits verlängert wird. Eine Verlängerung des Umlaufspeichers 193 bewirkt, daß die Information, die er enthält nach links oder von der niedrigsten Ziffernsteile weg verschoben wird. Wenn die Steuerpegel ein ganzes Wort lang andauern, dann enthält das Ziffernregister am Ende der Operation die zuletzt in den vier höchsten Bitstellen des ausgewählten Wortes im Umlaufspeicher 193 enthaltenen Bits, während die niedrigsten vier Bitstellen des ausgewählten Wortes das enthalten, was vor der Ausführung dieses Schiebe-Mikrobefehis im Ziffernregister 245 gespeichert war, und die übrigen fünfzehn 4-Bit-Ziffern im Umlaufspeicher 193 werden um eine Ziffer nach links verschoben. .
tin im Umlaufspeicher 187 gespeichertes Wo11 kann durch ein im Umlaufspeicher 193 gespeichertes Wort dadurch ersetzt werden, daß die Verknüpfur.gsglieder 289, 299 und 290 geöffnet werden. Auf diese Weise läßt sich ein ausgewähltes Wort aus dem Um laufspeichcr 193 über den Addierer 147 in den Umlaufspeicher 187 und das in dem Umlaufspeicher 187 gespeicherte Wort direkt in den Umlaufspeicher 193 übertragen.
Der Inhalt des Umlaufspeichers 187 läßt sich durch öffnen der Verknüpfungsglieder 289, 311, 291 und 313 zu einem ausgewählten Wort im Umlaufspeicher 193 hinzuaddieren. Durch öffnen des Verknüpfungsgliedes 313 ist der Ausgang des Flipflop 205 mit dem Eingang des Rechenwerks verbunden. Der Dezimal korrektureingang 317 ist mit dem A-Register 207 verbunden, um die im Register gespeicherten Daten direkt zu ändern.
Der Inhalt irgendeiner 4-Bit-Ziffer im Umlaufspeicher 193 kann durch öffnen der Verknüpfungsglieder 289, 319, 293 und 291 im richtigen Ziffernzeitpunkt zum Inhalt des Ziffernregisters 245 hinzuaddiert werden. Am Ende der Operation ist der Inhalt der ausgewählten 4 Bits im Umlaufspeicher 193 und der Inhalt des Ziffernregisters 245 identisch und gleich der Sechserdezimalsumme der zwei 4-Bit-Zeichen. Das Übertragflipflop wird gesetzt, wenn die Summe größer als 15 ist.
Wenn im Hauptspeicher 121 gespeicherte Daten geändert werden sollen, wird die 8-Bit-Adresse des ausgewählten Wortes aus dem entsprechenden Block des Hauptspeichers in den Eingabe/Ausgabe-Zwischenspeicher 117 eingegeben. Das Nummernfeld dieses Mikrobefehls bestimmt, welcher Block von 8 Spuren angewählt werden soll. Fünf Bits des Eingabe/Ausgabe-Zwischenspeichers 117 vervollständigen die Zeitsteuerung des Befehls, der eines von 32 Wörtern, die in der ausgewählten Spur aufgezeichnet sind, auswählt. Das ausgewählte Wort wird dann aus dem Umlaufspeicher 187 durch öffnen des Verknüpfungsgliedes 189 in diesen Platz eingelesen.
Wenn eine Teilnummer oder eine Käufernummer als Teil eines Programms, z. B. eines Programms zum Ausfüllen eines Rechnungsformulars, über die Tastatur in den Eingabe/Ausgabe-Zwischenspeicher 117 eingetippt wird, wird ein Makroprogramm ausgewählt, um diejenigen im Hauptspeicher gespeicherten
Daten in das Formular einzutragen, die aer Teil- oder K.äufernummer entsprechen, und um alle Rechnungen auszuführen, die mit anschließend eingegebenen Daten. z.B. den Daten für die Preise der Posten, erforderlich sind.
Die Reihenfolgesteuerung der Mikrobefehle kann bei einem mikroprogrammierten Rechner auf verschiedene Arten erfolgen. Da die Mikrobefehle vom Mikroprogramm gesteuert werden, lassen sich verschiedene Formate verwenden, z.B. selbstadressierte ι Befehle, oder es kann ein Programmzähler zur Steueruii« der Reihenfolge verwendet werden. ' B^ei dieser Ausführung wird ein Programmzähler •,.-i-wendet. Dieser Programmzähler ist ein im Um-' -speicher 193angeordneter »Software«-Zähler. Er "Γ-'i von den letzten 8 Bits des dritten Wortes des Umlaufspeicher, 193 gebildet, der, wie oben erwähnt, ; ■■ Wörter lang ist. Der Programmzähler wird da-. , h weitergeschaltet, daß das Übertrag-Steuerfhp-π·λ'γ""»05 gesetzt und der Übertrag im Addierer 14; - "Zählerstand hinzuaddiert wird. Dies geschieht, ". csteuert vom Mikroprogramm, jedesmal, wenn ein Stikrobefehlswort ausgeführt wird.
o b
Mit Hilfe eines ^
Befehlen registriert, die m 3edemMa
enthalten sind, das gerade ausgefuhrt^ Slelle
benzähler besteht aus vier Bits inderm s ^
des ersten Wortes im U^a^^^J angeordbenzähler ist von' Prof ^^ϊ^ verbessern, Danet. um die Fähigkeitdes *e^3 e^zuSUchen. Der ten im umlaufspeicher 193 am Ver_
Silbenzähler ist so ^°^'^Sogramm aus-
„et, das im Hauptsp S
Wort vier MikrobetehU eothalt
gesteigert.
Hierzu 3 Blatl Zeichnungen

Claims (10)

Patentansprüche:
1. Seriell arbeitende, digitale Rechenanlage mit gespeichertem Programm, mit Eingabevorrichtungen zur Eingabe von Daten und Befehlen, mit einem Speicher, der einen ersten Teil zum Speichern von Daten und Makrobefehlen und einen zweiten Teil zum Speichern von Mikrobefehlen aufweist, bei der die Eingabevorrichtungen wahlweise mit dem Speicher derart verbindbar sind, daß Daten und Makrobefehle in den ersten Teil des Speichers eingeschrieben und aus ihm ausgelesen werden können, während veränderbare Mikrobefehle in den zweiten Teil des Speichers eingeschrieben und aus ihm ausgelesen werden können, ferner mit einem Mikroprogrammsteuerwerk, einem Datenverarbeitungswerk und einer Ausgabevorrichtung, dadurch gekennzeichnet, daß das Mikroprogrammsteuerwerk (123) Einrichtungen (151) enthält, in denen die Mikrobefehle der Reihe nach aus dem zweiten Teil des Speichers (137) in vorbestimmter Reihenfolge ausgelesen und decodiert werden, und daß Einrichtungen (117, 193) vorgesehen sind, die ein oder mehrere der ausgelesenen und decodierten Mikrobefehle in Abhängigkeit von Makrobefehlen, welche bei der Verarbeitung von im ersten Teil des Speichers gespeicherten Daten ausgeführt werden sollen, modifizieren, und daß das Datenverarbeitungswerk (119) von auf diese Weise modifizierten Mikrobefehlen gesteuert wird.
2. Anlage nach Anspruch 1, dadurch gekennzeichnet, daß der Speicher (121) eine Magnetplatte (125) enthält, deren Hauptspeicherspuren (127) in Makrospeicherspuren und Mikrospeicherspuren unterteilt sind, und die Taktspuren (129) und Umlaufspuren (133) enthält.
3. Anlage nach Anspruch 1 oder 2, gekennzeichnet durch eine vom Mikroprogramm gesteuerte, den zweiten Teil des Speichers in den ersten Teil des Speichers ausdehnende Vorrichtung (143).
4. Anlage nach einem oder mehreren der vorangehenden Ansprüche, dadurch gekennzeichnet, daß das Daitenverarbeitungswerk (119) einen ersten Umlaufspeicher (187) zum Synchronisieren von Lese- und Schreiboperationen mit dem Speicher, einen zweiten Umlaufspeicher (193) mit einer Speicherlogik und einer Vorrichtung zum Speichern und Verarbeiten jedes im ersten Teil des Speichere gespeicherten Makrobefehls, ein erstes Register (245) für Dezimalkorrekturen, ein zweites Register (117,245, 247) zur Eingabe und Ausgabe und zum Weiterleiten und Speichern von Daten in dem Datenverarbeitungswerk und einen Serienaddierer (147) zum Verarbeiten von Daten in dem Daitenverarbeitungswerk enthält.
5. Anlage nach Anspruch 4, dadurch gekennzeichnet, daß das Datenverarbeitungswerk (119) einen Makrobefehlsprogrammzähler in dem zweiten Umlaufspeicher (193) und eine den Zählerstand des Progxammzählers jedesmal um den Wert »Eins« durch das Mikroprogramm gesteuert erhöhende Vorrichtung aufweist, wenn ein Makrobefehl durch die Mikrobefehle ausgeführt ist.
6. Anlage nach Anspruch 5, dadurch gekennzeichnet, daß das Datenverarbeitungswerk (119)
eine Makroprogrammregistriervorrichtungin dem zweiten Umlaufspeicher (193) zum Speichern einer Folge von Makrobefehlen, die ausgeführt werden sollen, und eine der Reihe nach einen Teil der Mikrobefehlsfolge durch den Makrobefehlsprogrammzähler gesteuert auswählende Vorrichtung enthält.
7. Anlage nach Anspruch 5 oder 6, dadurch gekennzeichnet, daß das Datenverarbeitungswerk (119) einen Makrobefehlssilbe ozähler in dem zweiten Umlaufspeicher (193) enthält, daß der Makrobefehlssilbenzähler unter Mikrobefehlssteuerung jedesmal weitergeschaltet wird, wenn eine Silbe eines Makrobefehls ausgeführt ist, und daß der Makrobefehlsprogrammzähler jedesmal um den Wert »Eius« weitergeschaltet wird, wenn der Silbenzähler auf Null zurückgesetzt wird.
8. Anlage nach einem oder mehreren der vorangehenden Ansprüche, dadurch gekennzeichnet, daß das Mikroprogrammsteuerwerk (123) ein Mikrobefehlsregister (151) zum kurzzeitigen Speichern eines ausgewählten Mikrobefehls, eine Steuennatrix (153) zum Auswählen und Durchschalten von Verknüpfungsgliedern in dem Datenverarbeitungswerk, gesteuert durch den im MikrobefeUsregister gespeicherten Mikrobefehl, und eine Taktvonichtung (129,157,159) enthält, die die Dauer bestimmt, während der die ausgewählten Verknüpfungsglieder in dem Datenverarbeitungswerk durch die Steuervorrichtung durchgeschaltet werden.
9. Anlage nach Anspruch 4, dadurch gekennzeichnet, daß sie ein Unterteiles Eingabe/Ausgabe-Register (117) mit einem Ziffernregister (245) zum Speichern des niedrigstwertigen Teils eines Zeichens und einem Zonenregister (247) zum Speichern des höchstwertigen Teils eines Zeichens aufweist, wobei das Zeichen eine vorbestimmte Anzahl von Bits enthält.
10. Anlage nach Anspruch 9, gekennzeichnet durch ein Verknüpfungsglied (309, 290) zum wählbaren Hintereinanderschalten des Ziffernregisters (245) und des Umlauf Speichers (193) in einen geschlossenen Kreis, um die I^änge des Umlaufspeichers zu ändern.
DE19681806535 1967-11-02 1968-11-02 Seriell arbeitende digitale rechenanlage Granted DE1806535B2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US68018467A 1967-11-02 1967-11-02

Publications (3)

Publication Number Publication Date
DE1806535A1 DE1806535A1 (de) 1969-06-19
DE1806535B2 true DE1806535B2 (de) 1973-07-26
DE1806535C3 DE1806535C3 (de) 1974-02-21

Family

ID=24730059

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19681806535 Granted DE1806535B2 (de) 1967-11-02 1968-11-02 Seriell arbeitende digitale rechenanlage

Country Status (9)

Country Link
US (1) US3579192A (de)
JP (1) JPS5632653B1 (de)
BE (1) BE723095A (de)
BR (1) BR6803601D0 (de)
DE (1) DE1806535B2 (de)
FR (1) FR1591241A (de)
GB (1) GB1250181A (de)
NL (1) NL6815643A (de)
SE (1) SE337711B (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3675214A (en) * 1970-07-17 1972-07-04 Interdata Inc Processor servicing external devices, real and simulated
US3725868A (en) * 1970-10-19 1973-04-03 Burroughs Corp Small reconfigurable processor for a variety of data processing applications
US3800129A (en) * 1970-12-28 1974-03-26 Electronic Arrays Mos desk calculator
US3735363A (en) * 1971-04-07 1973-05-22 Burroughs Corp Information processing system employing stored microprogrammed processors and access free field memories
US3725652A (en) * 1971-06-01 1973-04-03 Houdaille Industries Inc Computer controlled machine tool system with stored macro language program for effecting pattern type punching operations
USH1970H1 (en) 1971-07-19 2001-06-05 Texas Instruments Incorporated Variable function programmed system
IT951233B (it) * 1972-04-07 1973-06-30 Honeywell Inf Systems Sistema di comando di un calcola tore mediante microprogrammazione ed estensione dinamica delle fun zioni di controllo ottenuta da reti logiche
US3859636A (en) * 1973-03-22 1975-01-07 Bell Telephone Labor Inc Microprogram controlled data processor for executing microprogram instructions from microprogram memory or main memory
US4314330A (en) * 1973-12-03 1982-02-02 Houdaille Industries, Inc. Machine tool data system
FR111576A (de) * 1973-12-13 1900-01-01
US3959776A (en) * 1974-02-19 1976-05-25 Modicon Corporation Programmable printer
US3949370A (en) * 1974-06-06 1976-04-06 National Semiconductor Corporation Programmable logic array control section for data processing system
US4035781A (en) * 1976-05-03 1977-07-12 Xerox Corporation Signal priority logic for serial printer
US4037216A (en) * 1976-05-03 1977-07-19 Xerox Corporation Position retry apparatus for serial printer
US5226164A (en) * 1991-04-24 1993-07-06 International Business Machines Corporation Millicode register management and pipeline reset

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3377619A (en) * 1964-04-06 1968-04-09 Ibm Data multiplexing system
US3315235A (en) * 1964-08-04 1967-04-18 Ibm Data processing system
US3404378A (en) * 1965-10-29 1968-10-01 Automatic Telephone & Elect Computers
US3478322A (en) * 1967-05-23 1969-11-11 Ibm Data processor employing electronically changeable control storage

Also Published As

Publication number Publication date
GB1250181A (de) 1971-10-20
DE1806535A1 (de) 1969-06-19
JPS5632653B1 (de) 1981-07-29
NL6815643A (de) 1969-05-06
DE1806535C3 (de) 1974-02-21
FR1591241A (de) 1970-04-27
US3579192A (en) 1971-05-18
BR6803601D0 (pt) 1973-05-15
SE337711B (de) 1971-08-16
BE723095A (de) 1969-04-01

Similar Documents

Publication Publication Date Title
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE3851746T2 (de) Sprungvorhersage.
DE2424810C2 (de) Mikroprogrammierbare Datenverarbeitungsanlage
DE2719635A1 (de) Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage
DE1806535B2 (de) Seriell arbeitende digitale rechenanlage
DE1250659B (de) Mikroprogrammgesteuerte Datenverarbeitungsanlage
DE2746505C2 (de)
DE1146290B (de) Elektronisches Datenverarbeitungssystem
DE2540975A1 (de) Multi-mikro-prozessor-einheit
DE2813128A1 (de) Mikroprogrammspeicher
DE2543522C2 (de) Mikroprogrammierbare Datenverarbeitungseinrichtung
DE2424931A1 (de) Datenverarbeitungsanlage, insbesondere mikroprogramm-datenverarbeitungseinheit mit parallelen befehlsstroemen fuer mehrere ebenen von subbefehlsvorraeten
DE2023354A1 (de) Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit
DE3043653C2 (de) Datenverarbeitungsanlage
DE2332971C2 (de) Mikroprogrammsteuereinrichtung
DE2145709A1 (de) Datenverarbeitungsanlage
DE2601242A1 (de) Elektronenrechner mit programmspeicherung
DE2336676C3 (de) Einrichtung zur Modifizierung von Mikroprogrammbefehlen
DE2255252C3 (de) Schaltungsanordnung zur Steuerung einer Anzeigeeinheit
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE2835110A1 (de) Schneller echtzeit-rechneremulator
DE2641971A1 (de) Digitale tisch-buchungs- und -rechenmaschine
DE2702722A1 (de) Instruktionsinterpretation in elektronischen datenverarbeitungsanlagen
DE1474376A1 (de) Verfahren und Anordnung zum schnellen Zugriff bei grossen seriellen Speichern

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977