DE2459510A1 - Elektronischer digitalrechner - Google Patents
Elektronischer digitalrechnerInfo
- Publication number
- DE2459510A1 DE2459510A1 DE19742459510 DE2459510A DE2459510A1 DE 2459510 A1 DE2459510 A1 DE 2459510A1 DE 19742459510 DE19742459510 DE 19742459510 DE 2459510 A DE2459510 A DE 2459510A DE 2459510 A1 DE2459510 A1 DE 2459510A1
- Authority
- DE
- Germany
- Prior art keywords
- shift register
- register
- recursive
- recursive shift
- digital computer
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- KUGRPPRAQNPSQD-UHFFFAOYSA-N OOOOO Chemical compound OOOOO KUGRPPRAQNPSQD-UHFFFAOYSA-N 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
Bfbiingen, den 9. Dezember 1974
jo-fe
jo-fe
Anmelderin: International Eusiness Machines
Corporation, Armonk, N.Y. 10504
Amtliches Aktenzeichen.; Neuanmeldung Aktenzeichen der Aninelderin. YO 973 057
Elektronischer Digitalrechner
Die Erfindung betrifft einen elektronischen Digitalrechner nach
dem überbegriff des Anspruchs 1.
dem überbegriff des Anspruchs 1.
Bei konventionellen Digitalrechnern wird ein Programm ausgeführt,
das in einem Speicher für einen Zugriff durch die Maschine zur
Verfügung gehalten wird. Während der Ausführungsphase v/erden die
Maschinenbefehle; die abgerufen werden, von einem Zeiger oder
einem Register bezeichnet,- dessen Angabe stets auf den nächsten ' Befehl zeigt. Jeder dieser Befehle, der im Speicher verfügbar ist, wird abgerufen und in einem Befehlsregister gespeichert. Alle Be- , fehle werden auf diese Weise in einer Sequenz ausgeführt. Das bi- ■ näre Informationsmuster, das sich in dem Befehlsregister be- ' findet, wird dann mit Hilfe eines Befehlsdecodierers decodiert, j um eine Anzahl von Signalpegel abzugeben, welche die logischen i Operationen des Datenrechners steuern, mit dem Ziel, die Funktion ] des Befehls, der als binäres Informationsmuster im Befehlsregister steht, auszuführen. Da jeder Maschinenbefehl vom Datenspeicher ab-j gerufen werden muß, wird ein beträchtlicher Zeitbetrag nur dafür : verbraucht, die Befehle für das Befehlsregister bereitzustellen.
Ein weg, diesen Verbrauch von Verarbeitungszeit zu begrenzen, besteht darin, zusätzliche Register vorzusehen, die mit dem nächsten Befehl vor der Ausführung im voraus geladen werden können. Während dieses Verfahren eine Ersparnis an Verarbeitungszeit mit sich j bringt, erfordert es doch zusätzlichen Schaltkreisaufwand und ver-j größert die Komplexität der internen Organisation des Datenrech-
das in einem Speicher für einen Zugriff durch die Maschine zur
Verfügung gehalten wird. Während der Ausführungsphase v/erden die
Maschinenbefehle; die abgerufen werden, von einem Zeiger oder
einem Register bezeichnet,- dessen Angabe stets auf den nächsten ' Befehl zeigt. Jeder dieser Befehle, der im Speicher verfügbar ist, wird abgerufen und in einem Befehlsregister gespeichert. Alle Be- , fehle werden auf diese Weise in einer Sequenz ausgeführt. Das bi- ■ näre Informationsmuster, das sich in dem Befehlsregister be- ' findet, wird dann mit Hilfe eines Befehlsdecodierers decodiert, j um eine Anzahl von Signalpegel abzugeben, welche die logischen i Operationen des Datenrechners steuern, mit dem Ziel, die Funktion ] des Befehls, der als binäres Informationsmuster im Befehlsregister steht, auszuführen. Da jeder Maschinenbefehl vom Datenspeicher ab-j gerufen werden muß, wird ein beträchtlicher Zeitbetrag nur dafür : verbraucht, die Befehle für das Befehlsregister bereitzustellen.
Ein weg, diesen Verbrauch von Verarbeitungszeit zu begrenzen, besteht darin, zusätzliche Register vorzusehen, die mit dem nächsten Befehl vor der Ausführung im voraus geladen werden können. Während dieses Verfahren eine Ersparnis an Verarbeitungszeit mit sich j bringt, erfordert es doch zusätzlichen Schaltkreisaufwand und ver-j größert die Komplexität der internen Organisation des Datenrech-
509
ners.
Ein anderer Weg, der bei vielen bekannten Datenverarbeitungsanlagen
eingeschlagen wurde, um die Verarbeitungszeit für das Abrufen
der Befehle von dem Speicher des Rechners zu verringern, besteht darin, den Speicher in mehrere Abschnitte zu unterteilen.
Dann ist es durch das Alternieren der Befehle derart, daß nacheinander verschiedene Abschnitte des Speichers adressiet werden,
möglich, einen Zugriff zu dem nächsten Befehl während der Ausführung des Vorhergehenden vorzunehmen. Ähnlich, wie bei der
oben erwähnten Verwendung zusätzlicher Register, führt dieses Verfahren ebenfalls zur Verteuerung einer Datenverarbeitungsanlage.
Vor diesem Hintergrund der Überlappung von Befehlsabruf und Befehlsausführung,
die nur durch erhöhte Kosten möglich ist, ist die Aufgabe der Erfindung zu sehen. Sie besteht darin, den Zeitbetrag
zu verringern, der für die Bereitstellung der Maschinenbefehle in einen Befehlsdedocodierer innerhalb einer Datenverarbeitungsanlage
erforderlich ist, ohne indes zur Erhöhung der Kosten beizutragen.
Es ist Teil dieser Aufgabe, ein Speicherprogramm zu erstellen, das nicht die Notwendigkeit in sich trägt, jeden Befehl in dem
Programm vom Speicher abzurufen.
Es zählt ferner zur Aufgabe der Erfindung, den Speicherplatzbedarf
des Programmspeichers gering zu halten, indem nicht ein vollständiges Programm im Speicher selbst gespeichert werden muß«,
Gelöst wird diese Aufgabe der Erfindung durch die im Patentanspruch
1 angegebenem Merkmale»
Weitere vorteilhafte Ausgestaltungen und Weiterbildungen des Gegenstandes
der Erfindung sind den Unteransprüchen zu entnehmen.
Mit de^.dmrch di@ Erfindung vorgeschlagenen Lösung wird der Vor-YO
973 057
245951Q
teil erzielt, daß ein beträchtlicher Betrag an Bearbeitungszeit
eingespart werden kann, der normalerweise für den Abruf der Befehle
in einer Datenverarbeitungsanlage zur Verfügung gestellt werden muß, der stets die Nutzarbeitszeit einer Datenverarbeitungsanlage
verringert. Die vorgeschlagene Lösung ist auch dort mit Vorteil anzuwenden, wo viele Unterroutinen oder Unterprogramme
ausgeführt werden müssen, die gemeinsam aufgerufen werden. Ferner ist die Erfindung mit Vorteil bei speziellen Datenverarbeitungsanlagen
zu verwenden, in denen das gleiche Programm viele Male wiederholt werden muß.
Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnungen erläutert. Es zeigen:
Fig. 1 eine schematische Darstellung eines 5-Bit-Rekur-
sivschieberegisters, das über einen Zyklus
von 31 verschiedenen Zuständen verfügt,
Fig. 2 eine schematische Darstellung eines 5-Bit-Rekur-
sivschieberegisters, das über drei verschiedene Zyklen verfügt, die 3, 7 und 21 verschiedene
Zustände ergeben,
Fig. 3 eine schematische Darstellung der Kombination
eines Rekursivschieberegisters mit einem Befehlsdecodierer,
Fig. 4 eine schematische Darstellung eines variablen
Rekursivschieberegisters, dessen Betrieb von einem Steuerregister geleitet wird,
Fig. 5 eine Darstellung, wie die Figuren 5A, 5B und 5C
angeordnet werden müssen, damit sie eine größere Zeichnung darstellen,
Fign. 5A, B und
C ein Blockschaltbild einer Einrichtung, die ein
γθ 973 057
S098A7/0723
Rekursivschieberegister für die Erzeugung von Maschinenbefehlen verwendet.
In einer elektronischen Datenverarbeitungsanlage ist eine Einrichtung
vorgesehen, die einen Satz von Befehlen erzeugt, der von dieser Datenverarbeitungsanlage ausgeführt werden kann. Diese
Einrichtung arbeitet in zwei verschiedenen Betriebsarten. In der ersten Betriebsart, welche die konventionelle Betriebsart ist,
verwendet der Rechner das konventionelle Befehlsregister für die Bereitstellung der Maschineninstruktionen an dem Decodierereingang.
Die Befehle werden vom Datenspeicher gemäß dem augenblicklich im Befehlszeiger oder Befehlsregister enthaltenen Wert sequentiell
abgerufen. Diese Befehle werden in das Befehlsregister für eine anschließende Decodierung und Steuerung der Operationen des Datenrechners
eingegeben.
Bei der Feststellung eines speziellen Befehls, der einen Eintritt in die zweite Betriebsart anfordert, dient ein Rekursivschieberegister
zur Erzeugung einer Folge von binären Informationsmustern, von denen jedes einen getrennten und verschiedenen Maschinenbefehl
darstellt. Das Rekursivschieberegister kann entweder auf die Bedingung seines Startsequenzwertes eingestellt oder mit
einem speziellen binären Informationsmuster initialisiert werden, um so mit dem rekursiven Muster an einer speziellen Stelle
der Folge zu beginnen. Die binären Informationsmuster, die in dem Rekursivschieberegister enthalten sind, werden von einem
Befehlsdecodierer decodiert, dessen Signale auf den Ausgangsleitungen die Operation des Rechners steuern. Der Austritt aus der
zweiten Betriebsart kann mit Hilfe der Feststellung eines speziellen
Befehlsmusters bewirkt werden, das sich im Rekursivschieberegister befindet und von dem Befehlsdecodierer decodiert wird.
Auf diese Weise können viele verschiedene Rechnerprogramme realisiert
werden, indem die verschiedenen Rückkopplungspfade innerhalb des Rekursivschxeberegxsters umstrukturiert werden.
YO 973 057
509847/0723
2A5951Q
Bei einem typischen Allzweckrechner wird die Befehlsabrufoperation
mit der Befehlsausführungsoperation überlappt. Ein Befehlszähler dient hierbei zur Aufbewahrung der Adresse der laufenden
Maschineninstruktion, wobei dieser Zähler entweder von Befehl zu Befehl um 1 erhöht wird, oder aber sein Inhalt als Ergebnis einer
Befehlsausführung geändert wird. Die Erhöhung des Befehlszählers oder der Austausch seines Inhalts wird gewöhnlich irgendwann während
der Ausführungsoperation vorgenommen.
Im folgenden wird ein Digitalrechner beschrieben, der zusätzlich zu dem üblichen Befehlszähler über ein Rekursivschieberegister
(ein Schieberegister mit linearer Rückführung) verfügt, dessen Binärzustände als Operationscodes eines Programms verwendet werden.
Dieses Rekursivschieberegister wird bezüglich seines Inhalts während seiner Ausführungsoperation verschoben, wodurch
Zeitbeträge für einen Befehlsabruf und die Rückspeicherung der Befehle in den Speicher effektiv eliminiert werden.
Es sei in diesem Zusammenhang daran erinnert, daß Maschinenbefehl-,
Ie im allgemeinen im Speicher des Allzweckrechners gespeichert
werden und sie neben dem Operationscode über bestimmte Felder verfügen,
die Daten oder Bezüge auf Daten angeben. Diese Felder können Operandenadressen, Konstanten udgl. sein, die für die Ausführung
eines Befehls notwendig sind. Um den vollen Vorteil einer rekursiven Schieberegisterstruktur, sowie sie hier angegeben wird,
auszunutzen, wird angenommen, daß alle Operanden udgl., die für die Ausführung eines Programms erforderlich sind und von den aufeinanderfolgenden
Zuständen des Schieberegisters repräsentiert werden, in Arbeitsregistern oder in speziellen Speicherbereichen
gespeichert sind. In den Befehlssätzen für Allzweckrechner sind spezielle Befehle enthalten, die zur Aktivierung des Arbeits- und
Steuermechanismus des Rekursivschieberegisters verwendet werden. Dieses Rekursivschieberegister kann aktiviert werden, um
entweder eine Unterroutine oder ein Unterprogramm auszuführen und dann die Steuerung an das Hauptprogramm zurückzugeben, das vor
ser Aktivierung in der Maschine ablief.
YO 973 057
5098A7/0723
45951Ü
Der Allzweckrechner kann dann in einer von zwei Betriebsarten arbeiten.
In der einen Betriebsart führt der Rechner gewöhnliche Befehlsabrufe vom Speicher durch, denen dann die Verarbeitung der
abgerufenen Befehle folgt. In der anderen Betriebsart arbeitet der Rechner unter der Steuerung des Rekursivschxeberegxsters,das
während jeder Ausführung eines Befehls durch- oder umläuft.
Fig. 1 zeigt eine schematische Darstellung eines bestimmten 5-Bit-Rekursivschieberegister.
Dieses fünfstufige Schieberegister ist mit
einer speziellen Rückkopplung auf die vierte Stufe versehen, die den Durchlauf aller möglichen Binärzustände gestattet, die jede
fünfstellige Binärzahl, mit Ausnahme der Zahl "00000" repräsentieren können. Die Tabelle 1 zeigt alle 31 möglichen Zustände, die
das Register durchlaufen kann. Es sei an dieser Stelle daran erinnert, daß ein Rekursivschieberegister den Zustand, der durch lauter
Nullen gekennzeichnet ist, nicht einnehmen kann.
Register inhalt |
TABELLE | 1 | Reihenfol ge Nr. |
Register inhalt |
|
Reihenfol ge Nr. |
0001 | Reihenfol ge Nr. |
Register inhalt |
3 | 00101 |
1 | 01010 | 2 | 00010 | 6 | 01011 |
4 | 10111 | 5 | 10101 | 9 | 11101 |
7 | 11011 | 8 | OHIO | 12 | 01100 |
10 | 11000 | 11 | 10110 | 15 | 00011 |
13 | OOlll | 14 | 10001 | 18 | Hill |
16 | 11110 | 17 | 01111 | 21 | 11001 |
19 | 10011 | 20 | 11100 | 24 | 01101 |
22 | 11010 | 23 | 00110 | 27 | 01001 |
25 | 10010 | 26 | 10100 | 30 | 01000 |
28 | 10000 | 29 | 00100 | ||
31 | |||||
YO 973 057
509847/0723
245951Q
Wie zuvor erwähnt wurde, kann jeder der 31 in Tabelle 1 dargestellten
Zustände als ein Operationscode einer Maschineninstruktion oder eines Maschinenbefehls betrachtet werden, der jede gewünschte
Art der Ausführung bezeichnen kann. Das zuvor erläuterte 5-Bit-Schieberegister könnte beispielsweise eine Programmfolge
von 31 verschiedenen Schritten oder Befehlen darstellen, die eine Schleife sein könnten oder beliebig oft wiederholt werden
könnten, bis das Schieberegister auf den Wert "00000" gesetzt würde. Das gleiche Schieberegister könnte auch dazu verwendet
werden, mehrere Folgen darzustellen, die dann allerdings weniger als 31 Schritte aufweisen würden. So könnten beispielsweise die
Zustände mit der Reihenfolge Nr. 1 bis 7 eine Schleife darstellen. Der Zustand mit der Reihenfolge Nr. 8 könnte eine bedingte Verzweigung
angeben, mit der entweder die Zustände Nr. 1 bis Nr. 7 wiederholt würden oder mit der mit dem Zustand Nr. 9 fortgefahren
werden könnte. Das heißt, daß die Ausführung des Zustandes Nr. 8 das Schieberegister auf "00001" setzen würde, wenn die
Schleife zu wiederholen ist oder dem Schieberegister gestatten würde, mit "11101" fortzufahren, was dem Zustand Nr. 9 entspricht.
Es soll hieraus zu entnehmen sein, daß eine Verzweigung zu einem beliebigen Zustand des Schieberegisters vorgenommen
werden kann, indem das Schieberegister auf den Wert eingestellt wird, der den gewünschten Zustand spezifiziert. Ein besonderer
Zustand des Schieberegisters könnte einen "Aufgabe vervollständigt "-Test darstellen, der, wenn er erfolgreich ist, die Steuerung
an das gespeicherte Programm des Rechners zurückgeben würde. Dieses könnte direkt dadurch erreicht werden, daß die Betriebsartensteuerung
geändert und der Befehlszähler weitergeschaltet würde oder indirekt dadurch, daß das Schieberegister
auf "00000" zurückgestellt würde, wobei dieser Code verwendet würde, das gewünschte Resultat zu bewirken. Es sei auch erwähnt,
daß ein auf "00000" zurückgestelltes Rekursivschieberegister diesen
Zustand solange nicht verlassen kann, bis es auf einen anderen fünfstelligen Binärwert eingestellt wird.
YO 973 057
50 984 7/0-7 23-
Eine andere Ausführungsform eines Rekursivschieberegxsters, das
verwendet werden könnte, ist in Fig. 2 dargestellt. Dieses Rekursivschiebefegister
kann verschiedene Werte singulärer Zustände einnehmen, die von der Binärzahl abhängen, die ursprünglich
in das Register geladen wurde. Wenn beispielsweise eine der in Tabelle 2 dargestellten Binärzahlen zur Initialisierung des Registers
verwendet wird, dann kann dieses 21 verschiedene Zustände einnehmen.
TABELLE 2 | Reihenfolge Nr. |
Register inhalt |
|
Reihenfolge Nr. |
Register inhalt |
2 | 00011 |
1 | 00001 | 4 | 01111 |
3 | 00111 | 6 | 11110 |
5 | Hill | 8 | 11010 |
7 | 11101 | 10 | 01010 |
9 | 10101 | 12 | OlOOl |
11 | 10100 | 14 | 00110 |
13 | 10011 | 16 | 11000 |
15 | 01100 | 18 | 00010 |
17 | 10001 | 20 | 01000 |
19 | 00100 | ||
21 | 10000 | ||
Das Rekursivschieberegister wird über drei verschiedene Zustände
verfügen, wenn eine der in Tabelle 3 gezeigten Binärzahlen zur Initialisierung verwendet wird.
Reihenfolge Nr.
Register- Reihenfol- Registerinhalt ge Nr. inhalt
Reihenfol- Registerge Nr. inhalt
10110
01101
11011
Es wird dagegen sieben verschiedene Zustände einnehmen können,
YO 973 057
509847/0723
wenn eine der in Tabelle 4 dargestelltenßinärzahlen zur Initialisierung
des Rekursivschieberegisters verwendet wird.
Reihenfol- Register- Reihenfol- Register- Reihenfol- Registerge Nr. inhalt ge Nr. inhalt ge Nr. inhalt
1 11001 2 10010 3 00101
4 01011 5 10111 6 OHIO
7 11100
Das in Fig. 2 dargestellte Rekursivschieberegister ist dann mit
Vorteil zu verwenden, wenn Programmfolgen von 21, 3 oder 4 Schritten erwünscht sind, die viele Male wiederholt werden könnten
oder sollten.
Eine weitere Ausdehnung der vorstehend diskutierten Prinzipien kann mittels eines zusätzlichen konventionellen Binärregisters
verwirklicht werden, das mit einem Rekursivschieberegister zusammenarbeitet. In Fig. 3 ist ein solches konventionelles
Drei-Bit-Register zusammen mit einem 5-Bit-Rekursivschieberegister
dargestellt. Das 3-Bit-Register 10 kann 8 verschiedene Binärzustände und das 5-Bit-Rekursivschieberegister 12 32 verschiedene
Binärzustände (einschließlich des "00000"-Zustandes) einnehmen.
Kombiniert gestattet diese Struktur die Spezifizierung von 256 verschiedenen Operationscodes, die von dem Rechner initialisiert
werden können.
Der gespeicherte Programmbefehl, der zum Aufruf des Schieberegisterprogramms
dient, hat acht Datenbits, von denen drei in das Drei-Bit-Register 10 und fünf in das 5-Bit-Rekursivschieberegister
12 geladen werden. Da es 256 mögliche Binärzustände gibt, können viele verschiedene Routinen und Unterroutinen mit Hilfe
dieser Struktur realisiert werden und es können auch viele Verzweigungen zu anderen Routinen oder Schleifen innerhalb von
Schleifen durchgeführt werden.
YO 973 057
509847/0723
Die Ausgangsleitungen der Kombination des 3-Bit-Registers 10
und des Rekursivschieberegisters 12 sind mit einem Decodierer 14 verbunden, der die achtstellige Binärzahl in eine von 256 möglichen
Ausgangsbedingungen decodiert. Die Ausgangsleitungen des Decodierers 14 sind zur Steuerlogik des Rechners für die Steuerung
seiner Operationen weitergeführt. Zusätzlich zur Fähigkeit der Zuteilung eines Maschinenbefehls zu jeder der verschiedenen
binären Codedarstellungen ist es auch möglich, daß der gleiche Befehl in verschiedenen unterschiedlichen Programmfolgen auftritt.
Wenn es gewünscht wird, werden die Ausgangsleitungen des Decodierers 14, die die gleiche Funktion, die der Rechner ausführen soll,
spezifizieren, in der Steuerlogik des Rechners gemäß einer ODER-Funktion
miteinander verknüpft.
Fig. 4 zeigt ein 5-Bit-Rekursivschieberegister (fünfstelliges Rekursivschieberegister)
mit variablen Rückkopplungsverbindungen. Alle Stufen 20, 22, 24, 26 und 28 des Rekursivschieberegisters
können über die Torschaltungen 30 bis 38 mit dem modulo-2~Addierer
40 verbunden werden, um den gewünschten Rückkopplungspfad zu bilden. Alle Torschaltungen 30 bis 38 werden von dem Steuerregister
50 geöffnet und geschlossen.
Wird einmal angenommen, daß das binäre Steuerwort "10010" in dem Steuerregister 50 gespeichert ist, dann ist das Rekursivschieberegister
mit den Stufen 20 bis 28 dem in Fig. 1 dargestellten Schieberegister äquivalent. Wenn dagegen das binäre Steuerwort im
Steuerregister "10001" ist, dann ist dieses Rekursivschieberegister
mit dem in Fig. 2 dargestellten äquivalent. Aus Vereinfachungsgründen wird von der Beschreibung aller möglichen Steuerwörter,
die in das Steuerregister 50 geladen werden können, Abstand genommen. Es soll jedoch erwähnt werden, daß es möglich ist, Verzweigungen
von einer Programmfolge zu einer anderen Programmfolge dadurch durchzuführen, daß ein neues Steuerwort in das Steuerregister
5O geladen wird. Wenn beispielsweise das Steuerwort "Hill"
verwendet wird, dann sind vier Schleifen mit 6 Befehlen, zwei
YO 973 057
509847/0723
2A5951Q
Schleifen mit drei Befehlen und zwei Schleifen mit je einem Befehl
möglich; diese sind in Tabelle 5 dargestellt.
Um das Verständnis der Erfindung zu erleichtern, wird die Operation
des in Fig. 4 dargestellten Rekursivschieberegisters anhand von drei verschiedenen Steuerwörtern erläutert.
Register inhalt |
TABELLE 5 | Reihenfolge Nr. |
Register inhalt |
|
Reihenfolge Nr. |
00001 | Register inhalt |
00111 | 01011 |
1 | 00011 | 00010 | 01111 | 10111 |
2 | 00110 | 00101 | 11110 | OHIO |
3 | 01100 | 01010 | 11100 | 11101 |
4 | 11000 | lOlOO | 11001 | HOlO |
5 | 10000 | 01000 | 10011 | 10101 |
6 | 00100 | 10001 | ||
1 | 01001 | O11O1 | ||
2 | 10010 | 11011 | ||
3 | 00000 | 10110 | ||
1 | 00011 | 11111 | ||
Steuerwort | ||||
Die Verwendung dieses Steuerworts erlaubt nur die Bildung einer
Schleife mit drei Befehlen, jedoch kann in diese Schleife an der Stelle jedes der drei Befehle, abhängig von dem Startzustand des
Rekursivschieberegisters 20, eingetreten werden. Wie die Tabelle 6 zeigt, existieren 9 Startzustände, die eine Schleife ergeben.
YO 973 057
509847/0723
A | Register inhalt |
TABELLE 6 | Register inhalt |
Reihenfol ge Niü |
B | Register inhalt |
|
B | 00001 | Reihenfol ge Nr. |
00010 | 1 | C | Hill | |
Reihenfol ge Nr. |
C | 00011 | 1 | 00101 | 2 | A | 11110 |
1 | 00110 | 2 | 01011 | 3 | 11101 | ||
2 | 01101 | 3 | 10110 | 4 | 11011 | ||
3 | 11011 | 4 C | 01101 | 5 | 10110 | ||
4 | 10110 | 5 A | 11011 | 6 | 01101 | ||
5 | 6 B | ||||||
6 | |||||||
Ein zusätzliches Merkmal dieser Rekursivschieberegisteranordnung, die von diesem Steuerwort gesteuert wird, besteht darin, daß
wenn ein Startzustand, der nicht über zwei Einsen auf der rechten Seite verfügt, das Rekursivschieberegister zu dem Zustand
"00000" weitergeht und dort bleibt. Beispiele hierfür sind die Steuerwörter: "11100", "11000", "10000" und "00000". Wenn daher
in das Steuerwort eine "00011" eingegeben und ein Startzustand spezifiziert wird, wie beispielsweise derjenige, der im unteren
Teil der Tabelle 6 dargestellt ist, dann werden drei verschiedene "Vorläufer" von bis zu drei Befehlen erzeugt, denen die Schleife
A, B, C; C, A, B oder B, C, A folgt.
Die Verwendung dieses Steuerwortes führt zu einer Schleife mit 15 Schritten. Außerdem gibt es 15 Startzustände, die direkt zu
der gleichen Schleife führen, jedoch mit verschiedenen Eintrittspunkten, wie Tabelle 7 zeigt. Es sei aber erwähnt, daß der Startzustand
"11000" auf "00000" übergehen und unendlich oft wiederholt würde.
YO 973 057
509847/0723
2A5951Q
SCHLEIFE
START-ZUSTÄNDE
0001
Die Benutzung dieses Steuerworts führt zu zwei Schleifen mit je 15 Schritten, wie die nun folgende Tabelle 8 zeigt.
TABELLE 8 | SCHLEIFE I | SCHLEIFE II | 01010 |
A 01011 | A1 | 10100 | |
B 10111 | B1 | O1000 | |
C 01111 | C | 10000 | |
D 11110 | D1 | 00001 | |
E 11100 | E1 | 00011 | |
F 11000 | F1 | 00111 | |
G 10001 | G1 | ||
YO 973 057.
»Ifl
509847/0723
245951Q
H 00010 I 00100 J 01001 K 10011 L 00110 M 01101 N 11010 0 10101
H1 OHIO I1 11101
J1 11011 K1 10110 L1 01100
M1 11001 N1 10010 O1 00101
Es gibt mehrere verschiedene Methoden, mit denen der sequentielle
Ablauf oder der Verarbeitungsfluß von ünterroutinen gesteuert werden kann:
1) Die Rückkopplungsfunktion für das Schieberegister kann
durch die Verwendung eines Steuerwortes im Steuerregister 50 der Fig. 4 geändert werden.
2) Die Steuerbits können dazu dienen, Subroutinen zu verändern, welche die gleichen Schieberegister (Informations)
-Muster verwenden. Die Schieberegister-Konfigurationen werden als verschiedene Befehle gemäß- den Einstellungen
der Steuerbits erneut unterbrochen, wodurch eine große Vielfalt von verschiedenen ünterroutinen
mit den gleichen Schieberegisterzyklen realisiert werden kann.
3) Der Inhalt von Registern oder Speicherstellen kann als Basis für die Inhaltsveränderung des Rekursivschieberegisters
verwendet werden, womit die normale Sequenz ebenfalls geändert wird. Der Inhalt des Schieberegisters
jedoch kann auch unabhängig von dem Zustand irgendeines anderen Registers oder einer anderen Speicherstelle
entsprechend einer unbedingten Verzweigung in einem gespeicherten Programm verändert werden.
YO 973 057
§09847/072 3
4) Das Schieberegister kann auf die verschiedensten Informationsmuster
vor dem Eintritt in die Rekursivschieberegister-Steuerbetriebsart voreingestellt werden, wodurch
verschiedene Gruppen von Operationen durchgeführt werden können.
5) Der Zustand des Rekursivschxeberegisters kann die Beendigung
einer Unterroutine mitteilen; beispielsweise kann "OOOOO" (bei einem fünfstelligen Schieberegister)
die vollständige Erledigung einer Routine anzeigen. Andere definierte Bitkonfigurationen können dazu dienen,
andere Unterroutinen aufzurufen (durch eine Veränderung des im Steuerregister befindlichen Codewortes und/oder
Veränderung des Schieberegistermusters).
An dieser Stelle sei auch erwähnt, daß mehrfache Gruppen von Rekursivschieberegistern
im Rahmen einer hierarchischen Steuerung des einen durch ein anderes verwendet werden kann. Namentlich der
Zustand des einen kann dazu dienen, den Betrieb (Verschieben) von anderen zu aktivieren oder zu sperren.
Die Figuren 5A bis 5C zeigen eine Einrichtung, in der das bereits
erläuterte Prinzip der Erfindung verwendet wird. Wie ein konventioneller Allzweckrechner verfügt auch diese Einrichtung über
einen Befehlszähler 100, ein Befehlsregister 102 und einen Decodierer 104. Bei der Ausführung eines gespeicherten Programms identifiziert
der Allzweckrechner den nächsten Maschinenbefehl mittels des Inhalts des Befehlszählers 100. Das binäre Muster, das
diesen Befehl, der durch den Befehlszähler 100 bezeichnet ist, darstellt, wird aus dem Speicher ausgelesen und in das Befehlsregister
100 geladen. Der im Befehlsregister 102 befindliche Befehl besteht im allgemeinen aus einem Opeerationscode (OP), der eine
bestimmte Funktion, die von dem Rechner ausgeführt werden soll, bezeichnet und aus Operandenfeldern, die Adressen oder Daten enthalten,
auf die gemäß der auszuführenden Funktion und dem Operationscode
eingewirkt wird. Der im Befehlsregister 102 befindliche
YO 973 057
S09847/0723
Operationscode stellt das Ausgangssignal für den Decodierer 104 dar, der das binäre Muster in-einen oder mehrere Signalimpulse
decodiert, die über die Leitung 120 zu der Steuerlogik des Allzweckrechners übertragen werden.
Die Adressen der Maschinenbefehle für ein gespeichertes Programm werden im allgemeinen im Speicher des Allzweckrechners aufbewahrt
und in den Befehlszähler 100 über das Kabel 106 geladen. Der Befehlszähler 100 wird von einem Impuls weitergeschaltet, der auf
der Leitung 108 erscheint. Wenn die Arbeit des Rechners von einem gespeicherten Programm gesteuert wird, dann wird das Flipflop 120
auf seinen "Null"-Zustand eingestellt, wodurch er die UND-Schaltung
110 und die Torschaltung 112 für eine Durchschaltung vorbereitet. Die Adressen der Maschinenbefehle werden dem Allzweckrechner
über das Kabel 114 zur Verfügung gestellt. Die Maschinenbefehle werden, wenn sie vom Speicher abgerufen werden, über das Kabel
116 in das Befehlsregister 102 geladen. Der Datenteil oder die Operandenfelder des Maschinenbefehls werden über das Kabel 118 zu
dem Allzweckrechner übertragen. Der Operationscodeteil des Maschinenbefehls
wird zu dem Decodierer 104 übertragen, dessen Ausgangsleitungen über das Kabel 120 und die Torschaltung 112 mit dem
Rechner verbunden sind.
Im folgenden wird nun angenommen, daß das Befehlsregister 102 einen Maschinenbefehl enthält, der eine Routine oder eine Programmfolge
aufruft, die von der Rekursivschieberegister-Struktur, die in Fig. 5A dargestellt ist, ausgeführt werden soll. Der
Rechner setzt bei der Ausführung dieses Befehls das Flipflop 122 in seinen "Eins"-Zustand und liefert einen Impuls auf der Leitung
124, der die Torschaltung 126 öffnet, um die Register 128, 130
und 132 zu laden. Während des letzteren Teils des Ausführungszyklus
einer Maschineninstruktion wird auf die Leitung 108 ein Impuls auftreten, der normalerweise zur Weiterschaltung des Befehlszählers
100 verwendet wird. Da sich nun das Flipflop 122 in seinem "1"-Zustand befindet, wird die UND-Schaltung 134 geöffnet,
so daß der Impuls auf der Leitung 136 erscheint, um Schiebeimpul-
YO 973 057
509847/0723
245951Q
se an das Register 132 abzugeben. Die Zahl, die notwendig ist,
um das Register 132 zu laden, muß eine Zahl sein, die bewirkt, daß das Schieberegister 132 zu dem Startzustand der gewünschten
Befehlsfolge weiterschaltet, nachdem es einmal weitergeschoben wurde. Die tatsächliche Verschiebung wird nun im folgenden beschrieben.
Der "Verschiebe 1"-Impuls auf der Leitung 136 wird zu den Torschaltungen
138, 140, 142, 144 und 146 übertragen. Zwei oder mehrere der Tore 148 bis 156 werden durchgeschaltet und zwar gemäß
dem Wert des Steuerwortes, das in das Register 128 geladen wurde. Dann wird der Inhalt des Flipflop 166 zu dem Flipflop 158f der Inhalt
des Flipflops 168 zu dem Flipflop 160, der Inhalt des Flipflops 170 zu dem Flipflop 162, der Inhalt des Flipflops 172 zu dem
Flipflop 164 übertragen und die Modulo-2-Summe der ausgewählten
Flipflops 166 bis 174 von den EXKLUSIV-ODER-Schaltungen oben in
den Figuren 5A und B gebildet und in den Flipflop 176 geladen. Nachdem der "Verschiebe 1"-Impuls auf der Leitung 136 verschwunden
ist, erscheint ein "Verschiebe 2"- Impuls auf der Leitung 178. Daraufhin wird der Inhalt des Flipflop 176 zu dem Flipflop 166, der
Inhalt des Flipflops 158 zu dem Flipflop 168, der Inhalt der Flipflop 160 zu dem Flipflop 170, der Inhalt des Flipflop 162 zu dem
Flipflop 172 und der Inhalt des Flipflop 164 zu dem Flipflop übertragen. Dieses ist die Art und Weise, in der die rekursive
Verschiebung durchgeführt,wird.
Am Ende des Verschiebezyklus wird der Inhalt des Registers 132 an
den Decodierer 133 abgegeben, der die achtstellige Binärzahl decodiert
und in Form von Signalen auf den 256 Ausgangsleitungen abgibt, die über die Torschaltung 180 und das Kabel 182 übertragen ;
werden. Der Rechner empfängt nun seine Befehle nicht mehr über das Kabel 120, sondern über das Kabel 182. Die Ausführung einiger
dieser Befehle kann erfordern, daß Daten auf irgend ein, auf beliebige zwei oder alle drei der Kabel 184, 186 oder 188 übertragen
wird, um die Register 128, 130 oder 132 nachzuladen. Die Ausfüh-
YO 973 057
509847/0723
rung einiger dieser Befehle führt zur Zurückstellung des Flipflops 122 in seinen "Null"-Zustand, wodurch die Steuerung des
Rechners wieder über sein gespeichertes Programm erfolgt.
Die folgende Beschreibung befaßt sich mit zwei Programmfolgen, die mit einer Rekursivschieberegister-Anordnung realisiert
wird, die in den Figuren 5A bis 5C dargestellt ist. Das erste Programm betrifft eine Folge für die Durchführung einer Quadratwurzelberechnung,
das zweite befaßt sich mit der Berechnung eines Polynoms.
Zur Erläuterung wird angenommen, daß der Rechner (Allzweckrechner)
über fünf Allzweckregister verfügt, die von dem Programm benutzt werden können. Darüberhinaus ist das Rekursivschieberegister
32 hierin mit der Bezeichnung S versehen. Bei den fünf Registern handelt es sich um das Register A, welches ein Akkumulatorregister
ist, in dem auch die Ergebnisse von Multiplikationen oder Divisionen gespeichert werden, die Register X, Y und Z, die Speicherregister
sind und das Register B, das ein Indexregister ist. Außerdem wird angenommen, daß ein Satz von η Speicherbereichen
für den Zugriff von Information zur Verfügung steht, die in die Register A, X, Y und Z eingegeben werden soll.
Im ersten Beispiel wird ein fünfstelliges Rekursivschieberegister mit einer Anordnung verwendet, die mindestens 14 Zustände plus
einen Ruhezustand, der aus lauter Nullen besteht, zur Verfügung stellt. Im zweiten Beispiel sind nur fünf verschiedene Zustände
notwendig. Ein fünfstelliges Rekursivschieberegister wird hierzu verwendet, das eine lineare Rückkopplung und eine anfängliche
Schieberegistereinstellung aufweist, die die Benutzung des zuvor diskutierten Dreilängenzyklus ermöglicht.
Im folgenden werden die in Tabelle 9 dargestellten Maschinenbefehle
definiert. Der Inhalt eines Speicherbereichs oder eines Registers ist bezeichnet mit (£.) , wobei I die Werte von A, X, Y, Z, B
YO 973 057
509847/0723
245951Q
- 19 und S einnehmen kann.
YO 972 057
5Π98Λ7/072
BEFEHL
Lade Am.
Speicheret m.
MULT m.
ADD ItI.
DIV nu SUB m.
TEST M
MELDEN Fehler
ADD m^, Β
- 20 -
TABELLE 9
DEFINITION
Lade den Inhalt der Speicheradresse m. in das Register l
Speichere den Inhalt des Registers ι in den Speicher an der Stelle mit der
Adresse m.
Multipliziere den Inhalt von A mit dem Inhalt von m. und speichere das Ergebnis
in A. Beachte, daß m. ein Register, eine Speicheradresse oder ein Literal, z.B. 5 sein kann
Addiere den Inhalt von A zu dem Inhalt von m. und speichere die Summe in A.
Teile den Inhalt von A durch den Inhalt von m. und speichere das Ergebnis
in A.
Subtrahiere den Inhalt von m. vom Inhalt von A und speichere das Ergebnis
in A.
Wenn (M)< O ist, dann wird das Register S auf O eingestellt; ansonsten
wird die Folge fortgeführt. Beachte, daß M sein kann A, X, Y, Z oder B.
Melde an den Rechner, daß die Programmfolge vollständig durchgeführt
ist.
Sende ein Fehlersignal zu dem Rechner, das eine Fehlfunktion anzeigt.
Addiere den Inhalt von B zur Adresse In1, addiere dann den Inhalt der sich
hieraus ergebenden Speicherstelle zu
YO 973 057
5Ω9847/0723
dem Inhalt von A und speichere die Summe< in A. Der Inhalt von Register B
wird um 1 vermindert, nachdem der Additionsteil des Befehls ausgeführt
wurde.
In diesem Beispiel berechnet eine Programmfolge die Quadratwurzel einer Zahl mit Hilfe der bekannten Newton-Raphson-Iteration auf
folgende Weise:
Finde: X = /KT wobei O <c x, R
ist mit Hilfe der Formel
X0 = 1/2R + 1/2
Xn+1 -
Stoppe bei |Xn+1 -Xj
< ε
Beachte, daß Xq ^ Χχ >· X2
>_ ist.
Um 14 Maschinenbefehle auszuführen, wie es für die gewünschte Programmfolge erforderlich ist, wird das Steuerregister 128 auf
einen Wert eingestellt, der das Rekursivschieberegister 132 in der gleichen Weise strukturiert, wie es in Fig. 2 dargestellt
ist. Wie zuvor bereits erläutert wurde, liefert diese Anordnung 21 verschiedene Zustände des Rekursivschxeberegisters. Da nur
14 Zustände erforderlich sind, wird die in Tabelle 4 dargestellte Sequenz keinen Gebrauch von den Schritten 15 bis 21 machen.
Der "Lauter Nullen"-Zustand des Rekursxvschieberegisters dient als Indikator für die Beendigung der Programmfolge. Die Programm*
folge, mit der die Quadratwurzelberechnung durchgeführt wird, ist in Tabelle 10 dargestellt.
YO 973 057.
509847/0723
Nummer des
Befehls
Befehls
Inhalt des Registers S
Befehl Anmerkung
1.
2.
2.
3.
4.
5.
6.
6.
7.
8.
9.
10.
11.
1-4-12.
8.
9.
10.
11.
1-4-12.
13.
114.
114.
15.
00001 00011
00111 01111
Hill 11110
11101 11010 10101 01010 10100 01001
10011 00110
01100 00000
SPEICHERE A Z
MULT .
ADD .
SPEICHERE A X
LADE A Z
DIV X
ADD X
MULT .
SPEICHERE A Y
SUB X
ADD. 000
TEST A
LADE A Y LADE S 01111
FEHLER MELDEN
A «- .5R. Das Literal .5 kann sich in einem anderen
Schieberegister oder in einer Speicherstelle befinden.
.5R + .5(A) = Xc
Xo - Xn
R/X
'n
R/Xn
+ x
1/2 (RZXn+Xn) =Xn+1
n+1
-X
Bilde X
n+1
— ε
Wenn X ._-X <eist, dann lade S-mit "00000".
n+i η
Ansonsten geht S zum nächsten Zustand über.
• n+1
Verzweige zu Schritt Nr. 4 zur Iteration durch das Laden von S mit "01111".
Ruhezustand, der das Ende der Programmfolge angibt X =/R~befindet sich im Y-Register
- 23 Polynoitiberechnung (Auswertung)
Bei dem vorliegenden Beispiel wird ein Polynom η-ten Grades ausgewertet.
Die Koeffizienten des Polynoms werden zusammenhängend in einem Abschnitt des Hauptspeichers gespeichert, beginnend an
der Speicherstelle m. Viele Funktionen können dadurch approximiert
werden, daß sie in Termen ihrer Taylor-Reihe oder mit Chebyshev-Polynomen
ausgedrückt werden, wie es in dem Aufsatz "Approximations for Digital Computers", von C. Hastings, Princeton
University Press, 1955, dargestellt ist.
Das Polynom wird in eingeschalteter Form ausgewertet, d.h.,
Υ a. Xk = a + a.x + aox2 + ... + a Xn
£ k ο 1 2 η
k=O
= a,. + x(a. + X(ao + X(...X(a . + X(a )
u.i i η—ι η
Es wird angenommen, daß die Programmfolge mit dem Wert χ im X-Register und de;a Wert η im B-Register begonnen wird. Der
Wert des Polynomen wird an das Α-Register zurückgegeben. Das Schieberegister S wird mit 5 Stellen- verwendet, in denen sich
das Steuerwort "00011" befindet.
i | *2. | Inhalt des Registers S |
Befehl | Anmerkung | |
00110 | LADE A 0 | Lösche das A-Regi- ster A<- 0 |
|||
Nummer des Befehls |
01101 | ADD m,b | A«- (A) +. ak | ||
1. | J. | wobei k = n, n-1, n-2, ...0. |
|||
— 4. | 11011 | TEST B | Wenn (B)< 0 ist, dann S+O0000; anson sten Fortfahren mit Schritt Nr. 4 |
||
'...-■> | 10110 | MULT X | A*. χ . in) | ||
YO 973 O57 | 00000 | MELDEN | RUHEZUSTAND | ||
509847 | /0723 | ||||
In die Programmfolge kann eingetreten werden, indem das Datenmuster
"00110" in das Schieberegister S eingegeben wird. Dieses geschieht mit Hilfe eines Ladebefehls, der das Α-Register löscht.
Daraufhin folgt ein Dreibefehlszyklus. Der Befehl zwei gibt an,
daß der Koeffizient a., wobei k von dem bestimmten Wert im Register
B geliefert wird, zu dem Inhalt des Α-Registers addiert werden soll. Darüberhinaus zählt es das B-Register zurück,
nachdem diese Addition durchgeführt wurde. Der Befehl drei prüft den Inhalt des B-Registers auf einen negativen Wert. Wenn dieser
nicht negativ ist, geht das Schieberegister auf den Multiplikationsbefehl vier über. Wenn B negativ ist, dann wird der Dreibefehlszyklus
unterbrochen mit Hilfe einer "00000", die in das Schieberegister S eingegeben wird, wobei die Rechenroutine für
das Polynom beendet wird.
Nach dem Befehl vier kehrt das binäre Informationsmuster in dem Schieberegister S auf den Wert "01101" zurück, wodurch der Befehl
ADD m, B reaktiviert wird, was die Addition eines neuen a,-Terms für die Teilberechnung des Polynoms bewirkt.
Das Ausführungsbeispiel der vorliegenden Erfindung wurde anhand von zwei Betriebsarten erläutert, obwohl es prinzipiell möglich
ist, einen Spezialrechner zu entwerfen, der nur unter Steuerung eines Rekursivschieberegisters der erläuterten Art arbeitet. Bei
der Erläuterung wurde ferner von einem relativ kleinen Rekursivschieberegister ausgegangen, obwohl für größere Anlagen auch
größere Rekursivschieberegister verwendet werden können.
Darüberhinaus wurde zur Erläuterung das Decodierungsnetzwert am Ausgang des Rekursivschieberegisters als ein getrenntes
Decodierungsnetzwerk dargestellt, obwohl es auch vollständig mit dem Rekursivschieberegister integriert sein kann, wobei auch ein
Betriebsarten-Indikatorbit in den Entwurf fest miteingebaut sein kann.
YO 973 057
509847/0723
245951Q
Die Beschreibung hat sich ferner auch auf lineare Rekursivschieberegister
beschränkt, obwohl das Prinzip der Erfindung auch mit nichtlinearen Schieberegistern realisiert werden kann.
Auch die Verwendung eines einzigen Rekursivschieberegisters für die Steuerung der Operation eines Rechners ist nicht zwingend,
da es im Rahmen der Erfindung auch möglich ist, eine hierarchische
Struktur von Rekursivschieberegistern zu verwenden, wobei sich die Rekursivschieberegister gegenseitig aktivieren. Aber
auch ein voll paralleler Betrieb mehrerer Rekursivschieberegister ist möglich und hängt von dem jeweiligen Anwendungsfall ab.
YO 973 057
509847/0723
Claims (8)
- PATENTANSPRÜCHE/ ly Elektronischer Digitalrechner zur Ausführung einer Folge von Befehlen mit einem Speicher zur Aufbewahrung digitaler Information die vom Rechner abrufbar ist, gekennzeichnet durch ein Rekursivschieberegister (12; Fig. 3), das an seinen Ausgängen ein rekursives Digitalwort abgibt und einen mit den Ausgängen des Rekursivschieberegisters verbundenen Decodierer (14) , der das Rekursiererdigitalwort decodiert und daraus Steuersignale erzeugt, welche die Befehlsausführung des Digitalrechners steuern.
- 2. Elektronischer Digitalrechner nach Anspruch 1, dadurch gekennzeichnet, daß ferner eine Steuereinrichtung (z.B. 30 bis 38, 40 und 50; Fig. 4) zur Steuerung der rekursiven Folge des Rekursivschieberegisters und Rückkoppelverbindungen (z.B. über EO; Fig. 3) zur Bewirkung einer speziellen Rückkopplung für das Rekursivschieberegister vorgesehen ist.
- 3. Elektronischer Digitalrechner nach Anspruch 2, dadurch gekennzeichnet, daß die Rückkopplungsverbindungen mehrere logische Schaltungen (z.B. EO; Fig. 3) umfassen und eine Auswahlsteuerung für die Auswahl einer speziellen Anordnung solcher logischer Schaltungen vorgesehen ist.
- 4. Einrichtung nach Anspruch 2 und/oder 3, dadurch gekennzeichnet, daß die logischen Schaltungen Modulo-2-Addierer (40; Fig. 4) sind und die von diesen Modulo-2-Addierernverarbeitete Information binäre Daten sind.
- 5. Elektronischer Digitalrechner nach Anspruch 3, dadurch gekennzeichnet, daß die Steuereinrichtung (Fig. 5 A-C) ein Register für die Aufnahme eines vorgegebenen Code-YO 973 057509847/072 3Wortes und eine Schaltung zur selektiven Ladung des Registers aufweist, welches eine bestimmte Rückkopplungsfunktion für das Rekursivschieberegister bewirkt.
- 6. Elektronischer Digitalrechner nach einem oder mehreren der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß ferner eine Initialisierungseinrichtung für das Laden vorgegebener Informationsmuster in dem Rekursivschieberegister vor der Aktivierung dieses Registers vorgesehen ist.
- 7. Elektronischer Digitalrechner nach einem oder mehreren der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß eine Einrichtung zur Ladung eines vorgegebenen Informationsmusters in das Rekursivschieberegister vorgesehen ist, das die bestimmte Sequenz bewirkt, die von dem Rekursivschieberegister erzeugt wird.
- 8. Elektronischer Digitalrechner nach einem oder mehreren der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß eine Steuereinrichtung vorgesehen ist, die auf die Decodierung bestimmter Maschinenbefehle mit der Beendigung der Ausführung des Rechnerprogramms und dem Beginn des Betriebs des rekursiven Schieberegisters reagiert und ferner eine Einrichtung vorgesehen ist, die bei der Decodierung eines Digitalwortes, das die Beendigung einer von dem Rekursivschieberegister durchgeführten Sequenz anzeigt, die Bearbeitung beendet und die Steuerung des Rechners wieder dem Rechnerprogramm zurückgibt.YO 973 057509847/0 7.2ieLe e rs e i fe
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US467039A US3924270A (en) | 1974-05-06 | 1974-05-06 | Recursive shift register for controlling a data processor |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2459510A1 true DE2459510A1 (de) | 1975-11-20 |
Family
ID=23854100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19742459510 Pending DE2459510A1 (de) | 1974-05-06 | 1974-12-17 | Elektronischer digitalrechner |
Country Status (5)
Country | Link |
---|---|
US (1) | US3924270A (de) |
JP (1) | JPS50142133A (de) |
DE (1) | DE2459510A1 (de) |
FR (1) | FR2270639A1 (de) |
GB (1) | GB1493313A (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS512302A (en) * | 1974-06-24 | 1976-01-09 | Fujitsu Ltd | Johotensohoshiki |
US4037202A (en) * | 1975-04-21 | 1977-07-19 | Raytheon Company | Microprogram controlled digital processor having addressable flip/flop section |
US4727483A (en) * | 1984-08-15 | 1988-02-23 | Tektronix, Inc. | Loop control system for digital processing apparatus |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3061192A (en) * | 1958-08-18 | 1962-10-30 | Sylvania Electric Prod | Data processing system |
US3001708A (en) * | 1959-01-26 | 1961-09-26 | Burroughs Corp | Central control circuit for computers |
NL263120A (de) * | 1960-04-04 |
-
1974
- 1974-05-06 US US467039A patent/US3924270A/en not_active Expired - Lifetime
- 1974-12-17 DE DE19742459510 patent/DE2459510A1/de active Pending
-
1975
- 1975-02-26 GB GB8141/75A patent/GB1493313A/en not_active Expired
- 1975-03-21 FR FR7509381A patent/FR2270639A1/fr not_active Withdrawn
- 1975-04-08 JP JP50041921A patent/JPS50142133A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
FR2270639A1 (de) | 1975-12-05 |
US3924270A (en) | 1975-12-02 |
GB1493313A (en) | 1977-11-30 |
JPS50142133A (de) | 1975-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2230102C2 (de) | Mikroprogrammierter Prozessor mit bitparalleler Datenübertragung | |
DE1499193C3 (de) | Speicher-Adressierschaltung | |
DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
DE2910839A1 (de) | Einrichtung zur ausfuehrung einer speziellen verzweigungsinstruktion | |
DE2555963A1 (de) | Einrichtung zur funktionsmodifizierung | |
DE1285219B (de) | Steuerwerk zur Ausfuehrung von Unterprogrammen | |
DE1524222B1 (de) | Schaltung zum bereichsweisen Adressieren der Register des Hauptspeichers eines Rechenautomaten | |
DE1255356B (de) | Steuervorrichtung fuer taktgesteuerte Rechenmaschinen | |
DE1197650B (de) | Parallel-Addierer | |
DE3507584C2 (de) | ||
DE3900246C2 (de) | ||
DE2548720C2 (de) | Mikroprogramm-Steuerwerk | |
DE1115488B (de) | Datenverarbeitungssystem | |
DE68927398T2 (de) | Digitale Divisionsschaltung mit einem N/2-Bit-Subtrahierer für N-Subtraktionen | |
DE2403039C2 (de) | Einrichtung zur Befehlsausführung in einer adressenerweiterten elektronischen Datenverarbeitungsanlage | |
DE2459510A1 (de) | Elektronischer digitalrechner | |
DE2425574A1 (de) | Adressierung von zeichen in einem wortorientierten system eines rechenautomaten | |
DE10064025A1 (de) | Verfahren mit einem bedingten deterministischen Rücksetzvektor für einen Mikroprozessor | |
DE1223177B (de) | Elektronischer Digitalrechner mit Schaltung fuer die Errechnung der Quadratwurzel aus einer Binaerzahl | |
DE3104256C2 (de) | ||
DE1499237A1 (de) | Verfahren und Vorrichtung zur Binaer-Dezimal-Umwandlung | |
DE2237427C3 (de) | Steueranordnung in einer Datenverarbeitungsanlage mit Mikroprogrammsteuerung | |
DE1549446A1 (de) | Digitalrechner | |
DE69428417T2 (de) | Verbesserungen an Befehlszählern | |
DE2717374C2 (de) | Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OHJ | Non-payment of the annual fee |