DE2944757A1 - Prozessrechner - Google Patents
ProzessrechnerInfo
- Publication number
- DE2944757A1 DE2944757A1 DE19792944757 DE2944757A DE2944757A1 DE 2944757 A1 DE2944757 A1 DE 2944757A1 DE 19792944757 DE19792944757 DE 19792944757 DE 2944757 A DE2944757 A DE 2944757A DE 2944757 A1 DE2944757 A1 DE 2944757A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- memory
- process computer
- computer according
- program
- 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
Links
- 238000000034 method Methods 0.000 title claims description 67
- 230000008569 process Effects 0.000 title claims description 67
- 230000015654 memory Effects 0.000 claims description 130
- 239000000872 buffer Substances 0.000 claims description 15
- 238000012546 transfer Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 5
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 230000003068 static effect Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- OFFWOVJBSQMVPI-RMLGOCCBSA-N Kaletra Chemical compound N1([C@@H](C(C)C)C(=O)N[C@H](C[C@H](O)[C@H](CC=2C=CC=CC=2)NC(=O)COC=2C(=CC=CC=2C)C)CC=2C=CC=CC=2)CCCNC1=O.N([C@@H](C(C)C)C(=O)N[C@H](C[C@H](O)[C@H](CC=1C=CC=CC=1)NC(=O)OCC=1SC=NC=1)CC=1C=CC=CC=1)C(=O)N(C)CC1=CSC(C(C)C)=N1 OFFWOVJBSQMVPI-RMLGOCCBSA-N 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000013479 data entry Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012432 intermediate storage Methods 0.000 description 2
- 206010035148 Plague Diseases 0.000 description 1
- 241000607479 Yersinia pestis Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000011089 mechanical engineering Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- 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/323—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13083—Jumps
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15048—Microprocessor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15129—Separating address and databus
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Control By Computers (AREA)
- Programmable Controllers (AREA)
Description
Die Erfindung betrifft einen Prozessrechner, der taktgesteuert Daten- und Steuerinformationen sequentiell verarbeitet, wie es
auch bei Mikroprozessoren Üblich ist. Er ist hauptsächlich für die Steuerung von Industriemaschinen und Industrieanlagen geeignet .
In jüngster Zeit werden immer mehr Mikroprozessoren zur Steuerung von Industriemaschinen oder -anlagen eingesetzt, da sie
schnell arbeiten und den Vorteil bieten, dass die Steuerung
über das Programm leichter zu beeinflussen und zu ändern ist,
als es bei einer fest eingebauten mechanischen oder elektrischen Hardware-Steuerung der Fall ist. Darüber hinaus sind die
Bausteine eines Mikroprozessorsystems insbesondere bei Massenherstellung relativ billig.
130022/0060
29U757
Bei der Steuerung von Industriemaschinen oder -anlagen durch Mikroprozessoren oder Prozessrechner ist es erwünscht, dass
die Bedienung, d.h. die Programmierung und die Dateneingabe, leicht und unkompliziert ist, damit möglichst ungelernte Arbeitskräfte mit dem Gerät umgehen können. Je präziser der zeitliche Arbeitsablauf gesteuert werden soll, desto mehr Daten
müssen üblicherweise in einer kürzeren Zeit verarbeitet werden. Es ist daher ausserdem erwünscht, dass der Mikroprozessor oder
Prozessrechner sehr schnell arbeitet.
Aufgabe der Erfindung ist es, einen Prozessrechner zu schaffen,
der schnell arbeitet und besonders leicht sowohl zu programmieren als auch zu bedienen ist.
Diese Aufgabe wird durch einen sequentiell taktgesteuerten Prozessrechner gelöst, der einen Hauptspeicher, einen Programmspeicher und einen Adressenspeicher enthält und bei dem der
Hauptspeicher einerseits direkt mit der Dateneingabe-/ausgabeeinheit und andererseits über einen separaten Adressrechner mit
dem Adressenspeicher verbunden ist, wobei weiterhin ein Taktgenerator vorgesehen ist, der die sequentiellen Takte für den Programmablauf liefert, bei dem der Hauptspeicher, der die Daten
von der Dateneingabe-/ausgabeeinheit speichert, nach Zuführung
der Adressen von dem Adressrechner die Daten für den Programmschritt an die Arithmetik-Logik-Einheit liefert, die gleichzeitig taktgesteuert Operationsbefehle vom Programmspeicher erhält und die Operationsergebnisse an die Dateneingabe-/ausgabeeinheit und/oder zur Speicherung an den Hauptspeicher abgibt,
wobei ein mit dem Programmspeicher verbundener Programmschrittzähler die Programmschritte fortschaltet und die Abgabe der Operationsbefehle aus dem Programmspeicher steuert.
Bei dem Prozessrechner nach der Erfindung ist insbesondere der Datenbus vom Adressenbus getrennt. Der Datenbus ist nur für
Daten vorhanden und wird nie mit Adressen belastet. Dadurch, dass ein gesonderter Adressrechner vorhanden ist, können Daten
130022/OOeO
- 9 - und Adressen völlig getrennt verarbeitet werden.
Während bei bekannten Mikroprozessoren ein Befehlszyklus beispielsweise folgenderraassen abläuft: Von einen Befehlsadresszähler wird die für den nächsten auszuführenden Befehl anstehende Adresse z.B. an ein ROM ausgegeben, das daraufhin den Befehl
in das Befehlsregister der Zentraleinheit überträgt; nachdem der Befehl bezüglich der erforderlichen Daten dekodiert und interpretiert worden ist, werden diese Daten z.B. von einem RAM-Speicherplatz angefordert und der Recheneinheit zur Durchfuhrung der
durch den Befehl gewünschten Operation zugeführt, woraufhin das
Ergebnis weiter verarbeitet wird.
Demgegenüber werden bei dem Prozessrechner nach der Erfindung die Daten und Adressen getrennt verarbeitet. Die im jeweiligen
Takt erforderliche Adresse wird vom Adressrechner aus dem Adressenspeicher entnommen, verarbeitet und dem Hauptspeicher zugeführt. Ausserdem gelangen die Daten, die verarbeitet werden sollen, durch die Dateneingabeeinheit in den Hauptspeicher, von wo
sie ebenfalls taktgesteuert in die Arithmetik-Logik-Einheit eingegeben werden. Die Arithmetik-Logik-Einheit erhält den Operationsbefehl direkt taktgesteuert vom Programmspeicher und kann
die gewünschte Operation sofort ausführen. Nach übertragung des Operationsbefehls muss dieser also nicht erst interpretiert werden, um die notwendigen Daten von irgendeinem Speicherplatz abzufragen. Dadurch kann die Operation sehr schnell durchgeführt
werden. Auch nach Beendigung der Operation kann das Ergebnis sofort über den für die Ausgabe freien Datenbus der Datenausgabeeinheit zugeführt werden, da der Datenbus nicht mit Adressen für
neue Befehle belastet ist.
Ein Programmschrittzähler ruft nacheinander die einzelnen Programmschritte auf und steuert die Abgabe der Operationsbefehle
aus dem Programmspeicher. Dieser Programmschrittzähler ist mit einem Programmschrittregister gekoppelt, das als Sprungregister
dient. Dieses Sprungregister empfängt Sprungbefehle von einer
130022/0060
zur Arithmetik-Logik-Einheit gehörenden Sprungbefehl-Logik. Auch
die Sprungbefehl-Logik empfängt Sprungbedingungen direkt taktgesteuert aus dem Programmspeicher. Wenn daher das Ergebnis der
Operation in der Arithmetik-Logik-Einheit einer Sprungbedingung unterliegt, wird ein Sprungbefehl über das Sprungregister an den
Programmschrittzähler abgegeben, der nun direkt auf den im
Sprungregister anstehenden Programmschritt springt und bis zum nächsten Sprungbefehl dort nacheinander die folgenden Programmschritte aufruft.
Es hat sich als vorteilhaft erwiesen, einen Sprungzykluszähler vorzusehen, der die Anzahl von Sprungwiederholungen oder
Sprungschleifen steuert. Bei der Steuerung von Industriemaschinen ist es häufig erforderlich, dass ein Programmschritt oder eine
Folge von Programmschritten mehrmals wiederholt wird, was mit Hilfe des Sprungzykluszählers leicht möglich ist, ohne dass langwierige Entscheidungsoperationen eingeschoben werden müssen.
Ks hat sich weiterhin als vorteilhaft erwiesen, den Adressspeicher in Unterspeicher zu unterteilen, die hier der linfachheit
halber mit A, B, C, ... bezeichnet werden. Wenn beispielsweise drei Unterspeicher, A,B und C vorhanden sind, so werden bei jedem Programmschritt sukzessiv die Unterspeicher in der Reihenfolge A,B,C aufgerufen. Der Adressrechner verarbeitet zuerst die
Adresse A und leitet die Ergebnisadresee dem Hauptspeicher zu, der seinerseits die unter dieser Adresse gespeicherten Daten an
die Arithmetik-Logik-Einheit übermittelt. In gleicher Weise werden nacheinander die Adressen B und C behandelt, wobei unter der
Adresse C das Ergebnis der Operation in der Arithmetik-Logik-Einheit in den Hauptspeicher rückgespeichert wird.
Da die Daten (A) und (B) in der Arithmetik-Logik-Einheit statisch
verarbeitet werden, vom Adressrechner jedoch nacheinander eintreffen, enthält die Arithmetik-Logik-Einheit zwei Zwischenspeicher, in denen die Daten aufgefangen werden und während der Restzeit des Programmschrittes bzw. bis zur nächsten Änderung anstehen.
130022/0080
Der Adressrechner arbeitet in einfachster Ausführung mit folgenden Befehlen, die der Programmspeicher im anstehenden Programmschritt fordert:
1. direkte Weitergabe der Adressen A1 B und C an den Hauptspeicher und bei vorhandenem Befehl Abspeichern in ein
Register zur späteren Verwendung.
2. Summenbildung der Adressen A, B und C mit den entsprechenden Adressen eines aufgerufenen Registers ohne Rückspeichern des Ergebnisses.
3. Wie unter 2., jedoch mit Rückspeichern des Ergebnisses in das aufgerufene Register.
Der Adressrechner weist deshalb vorzugsweise mehrere, z.B. vier,
Adressregister auf.
Die Arithmetik-Logik-Einheit kann eine herkömmliche Logikschaltung
sein. Ss wird jedoch bevorzugt, dass zumindest die Sprungbefehllogik ein Festwertspeicher ist, in den die Sprungbedingungen als
Tabelle eingeschrieben sind. Als Festwertspeicher dienen nichtltteohbare oder löschbare Nur-Lese-Speicher, sogenannte ROMs oder
EPROMs. Die am Festwertspeicher anstehenden Adressen und/oder Sprungbedingungen vom Programmspeicher geben den Speicherplatz
an, an dem das gewünschte Ergebnis steht. Es wird dann als Sprungbefehl ausgegeben.
In einer weiteren bevorzugten AusfUhrungeform besteht die Arithmetik-Logik-Einheit (abgesehen von gegebenenfalls vorhandenen
Zwischenspeichern) im wesentlichen nur aus Festwertspeichern, in die Tabellen eingeschrieben sind. Vorzugsweise enthält die
Arithmetik-Logik-Einheit drei ROMs, von denen zwei ROMs Daten für die Verknüpfung der Daten (A) und (B) enthalten und das
dritte ROM die Sprungbefehl-Logik enthält. Den beiden ROMs für die Verknüpfung werden die Daten, gegebenenfalls über Zwischenspeicher, aus dem Hauptspeicher sowie die Operationsbefehle vom
Programmspeicher über Steuereingänge zugeführt. Aus den so adressierten Speicherplätzen in den Tabellen wird das Ergebnis
130022/0060
abgefragt und weiterverarbeitet bzw. der Datenausgabeeinheit zugeführt.
In einer bevorzugten Ausf Uhrungs form des erf indungsgemässen Prozessrechners sind die Daten (A) und (B) jeweils 4 Bit-Daten,
von denen jeweils nur 3 Bit dem ersten ROM zugeführt und in diesem verarbeitet werden, während das 4. Bit jeweils dem zweiten
ROM zugeführt wird. Das Ergebnis der Verknüpfung der ersten Bits der Daten (A) mit den ersten 3 Bits der Daten (B) in dem
ersten ROM wird als 4 Bit-Information an das zweite ROM abgegeben. 4 Bit-Steuereingänge führen den beiden ROMs jeweils die
Operationsbefehle von dem Programmspeicher zu. Auf diese Weise
lassen sich in jedem der beiden ROMs jeweils 16 Tabellen mit je einer 64-stelligen Matrix (1024 Speicherplätze) ansprechen.
Da im BCD-Code und im Binär-Code jeweils die ersten drei Bit gleich sind, wird zweckmässigerweise das vierte Bit dazu verwendet, um zu bestimmen, ob das Ergebnis binär oder BCD ist.
Diese Information wird deshalb durch das vierte Bit dem zweiten ROM zugeführt, in dem die Entscheidung gefällt wird, ob binär
oder^CD-Code gearbeitet wird, d.h. ob das Ergebnis der Verknüpfung der Daten im ersten ROM binär oder im BCD-Code vorliegt.
Bei internen Logik- oder Rechenoperationen arbeitet die Arithmetik-Logik-Einheit ausschliesslieh mit dem Hauptspeicher, wobei die Daten der Adressen A und B entnommen, verarbeitet und
unter der Adresse C bei Bedarf zurückgespeichert werden. Als Adressen A, B und C können auch gleiche Adressen verwendet werden.
Es bleiben beispielsweise Daten aus z.B. Adresse B unberücksichtigt, wenn von einer Rechenoperation nur das Vorzeichen benötigt
wird; wenn von Daten (A) nur das invertierte Vorzeichen benötigt wird;usw.
130022/OOeO
Es wird zuweilen notwendig sein, den Operationsbefehl und/oder
die Sprungbedingung zu dekodieren, nachdem sie von dem Programmspeicher abgegeben worden sind, damit sie von der Arithmetik-Logik-Einheit und/oder der Sprungbefehl-Logik verarbeitet werden
können. In diesem Falle ist ein Dekoder entweder im Programmspeicherausgang oder im Eingang der Arithmetik-Logik-Einheit bzw.
der Sprungbefehl-Logik vorgesehen.
Es hat sich weiterhin als zweckmässig erwiesen, im Datenbus am
Datenausgang einen Zwischenspeicher vorzusehen, in den die Arithmetik-Logik-Einheit das Operationsergebnis ausgibt. Dieser
Zwischenspeicher dient als zeitlicher "Puffer" und steht der Arithmetik-Logik-Einheit nach Beendigung ihrer Operation stets
zur Verfugung, wenn sie taktgesteuert ihr Ergebnis ausgibt. Die Datenausgabe der Arithmetik-Logik-Einheit ist nur zur Ausgabe
des Ergebnisses offen und sonst gesperrt. Der Datenbus wird dadurch sofort wieder frei, und der Inhalt des Zwischenspeichers
kann nach Bedarf in die Peripherie-Einheiten ausgeleert werden.
In einer weiteren vorteilhaften AusfUhrungsform der Erfindung ist
zwischen dem Datenbus und dem Adressrechner eine Übergabeeinheit vorgesehen, die einen Zugriff zum Adressrechner von aussen gestattet. Eine derartige Übergabeeinheit, die die Verbindung zwischen dem Datenbus und dem Adresarechner bzw. dem Adreaerechner
und dem Datenbus herstellt, bringt zusätzliche Vorteile, wenn beispielsweise mehrere Prozessrechner miteinander korrespondieren sollen. Diese Übergabeeinheit gestattet die Verwendung des
gleichen Programmteiles zur Verarbeitung verschiedener Daten,
die alle getrennt abgespeichert sind und von externen Befehlen oder bei besonderen Bedingungen nach Bedarf abgerufen werden
können.
In einer weiteren vorteilhaften AusfUhrungsform des Prozessrechners nach der Erfindung ist an dem Programmspeicher ein Steuerausgang vorgesehen, von dem ein Steuersignal direkt an die Peripherie-Einheiten des Rechners abgegeben werden kann. Dieses
130022/0080
Steuersignal kann in jedem Programmschritt mitprogrammiert werden
und bildet somit einen festen Teil des Programmschrittes.
Für die gesamte Steuerung des Prozessrechners ist ein Taktgenerator vorhanden. Er ist vorzugsweise in herkömmlicher TTL-Technik (d.h. Transistor-Transistor-Logik-Technik) aufgebaut
und umfasst einen Oszillator, der Fortschaltimpulse an ein
Schieberegister liefert. Der Ausgang des Schieberegisters ist invertiert mit dem Eingang des Schieberegisters verbunden. Ein
am Ausgang des Schieberegisters ankommender L-Impuls wirkt invertierend auf den Eingang des Schieberegisters ein, so dass die
nachfolgenden Impulse als Η-Impulse das Schieberegister durchlaufen. Andererseits wirkt ein am Ausgang ankommender H-Impuls
so invertierend auf den Eingang des Schieberegisters ein, dass die nachfolgenden Impulse das Schieberegister als L-Impulse
durchlaufen. Besitzt das Schieberegister η-Stellen, so wechseln η L-Impulse mit η Η-Impulsen am Ausgang des Taktgenerators ab.
Maximal η Takte (Impulse) bilden einen Programmschritt. Wenn
ein Programmschritt η Takte umfassen soll, wird der letzte benötigte Ausgang des Schieberegisters invertiert mit dem Eingang
des Schieberegisters verbunden. Ein Programmschritt besitzt dann nur so viele Takte, wie die Anzahl der von dem Schieberegister
verwendeten Stellen beträgt.
Eine derartige Änderung der Programmschrittlänge ist leicht ohne
Dekodierung durchzuführen. Der Prozessrechner kann dadurch
leicht anderen, z.B. schneller arbeitenden Bauteilen angepasst werden.
Wenn beispielsweise ein 10 MHz-Oszillator zusammen mit einem
40-stelligen Schieberegister für den Taktgenerator verwendet
wird, werden aus den 10 MHz-Impulsen mit jeweils 0,1 μ& Länge
über die Zusammenfassung von 40 Takten zu einem Programmschritt Programmschritte mit der Länge von 4 ps erzeugt.
130022/OOeO
Entsprechend der Programmschrittlänge von 4 μβ können 250 000
Rechenoperationen pro Sekunde mit Abspeichern an beliebigen Speicherplätzen ausgeführt werden.
FUr die Steuerung von Industriemaschinen, die üblicherweise mit
Motoren arbeiten, gestattet diese hohe Rechengeschwindigkeit schon eine sehr präzise Steuerung. Ausserdem ist die Struktur
des Prozessrechners so, dass im Maschinencode gearbeitet wird. Er ist daher einfach zu programmieren, was für die Steuerung
von Industrieanlagen oder Industriemaschinen notwendig ist. Darüber hinaus ist seine Struktur so einfach, dass durch Auswechseln von wenigen ROMs das Programm relativ leicht geändert
werden kann und sogar, wie oben dargelegt, die Programmschrittlänge verändert werden kann.
Die Erfindung wird nun durch \usf'ihrungsbeispiele anhand der
beigefügten Zeichnungen näher erläutert:
Figur 1 eine schematische Darstellung der wesentlichen Baueinheiten des erfindungsgemässen Prozessrechners,
Figur 2 eine andere Ausführungsform des Hauptspeichers des
Prozessrechners nach Figur 1,
des Aufbaus der Arithmetik-Logik-Einheit des Prozessrechners nach Figur 1,
Figur 4 eine AusfUhrungsform der Datenausgabe des Prozessrechners nach Figur 1,
Figur 5 eine schematische Darstellung zur Erläuterung des Programmablaufs ,
Figur 6 eine andere AusfUhrungsforra des Prozessrechners als
Figur 1 und
130022/OOeO
- 16 Figur 7 eine schematische Darstellung des Taktgenerators.
Figur 1 zeigt ein Ausführungsbeispiel für einen Prozessrechner
nach der Erfindung. Das Programm ist in dem Programmspeicher PSp und dem Adressenspeicher ASp gespeichert. Der Adressenspeicher
ASp ist über einen 16 Bit-Adressenbus mit einem Adressrechner AR verbunden, der die benötigten Adressen jeweils über eine 16 Bit-Leitung
dem Hauptspeicher (oder Akkumulator) AKU zuführt. Die zu verarbeitenden Daten werden von der Dateneingabe-/ausgabeeinheit
I/O dem Hauptspeicher AKU zugeführt und unter der vom Adressrechner angegebenen Adresse abgespeichert.
Der Hauptspeicher besteht aus einem oder mehreren Schreib-Lese-Speichern,
üblicherweise als "RAM" bezeichnet.
In dem Programmspeicher sind die für die Durchführung des Programms
benötigten Befehle, Sprungbedingungen und ähnliches gespeichert. Die Operationsbefehle werden direkt der Arithmetik-Logik-Einheit,
kurz "ALU" genannt, gegebenenfalls über einen
Dekoder, zugeführt. Im dargestellten Beispiel ist für die Zuführung
des Operationsbefehls eine 8 Bit-Leitung vorgesehen.
Die zu verarbeitenden Daten, die im Hauptspeicher gespeichert worden sind, werden der ALU über den 4 Bit-Datenbus zugeführt
und gemäss dem Operationsbefehl verarbeitet. Das Ergebnis wird
von der ALU über den 1 Bit-Datenbus an die Dateneingabe-/ausgabeeinheit
I/O abgegeben, wo es für den jeweiligen Zweck weiterverarbeitet wird. Ausserdem kann es erforderlich sein, dass das
Ergebnis im Hauptspeicher aufbewahrt wird; in diesem Falle wird es zusätzlich über den Datenbus dem Hauptspeicher zugeführt.
Die ALU besitzt eine Sprungbefehl Logik, in die die Sprungbedingung
über eine 4 Bit-Leitung direkt oder gegebenenfalls über einen Dekoder vom Programmspeicher eingegeben wird. Ergibt
die Verarbeitung der Daten in der ALU, dass ein Sprung auszuführen ist, so wird ein Sprungbefehl an ein Sprungregi-
130022/0080
29U757
ster abgegeben, in das vorher die Adresse des Programmschritts von dem Programmspeicher eingelesen worden ist, auf den der
Sprung erfolgen soll. FiIr den Sprungbefehl ist üblicherweise
eine 1 Bit-Steuerleitung ausreichend.
Der zeitliche Programmablauf wird durch einen Taktgenerator gesteuert, der die Taktimpulse den jeweiligen Bausteinen des
Rechners zuführt. In einem unten noch näher erläuterten Beispiel beträgt die Länge eines Tnktes 0,1 us, und 40 Takte sind
zu einem Programmschritt von 4 ps zusammengefasst. Obgleich
für die Steuerung von Industriemaschinen üblicherweise Rechenoperationen, die 40 Takte umfassen, ausreichend sind, ist es
natürlich auch möglich, für längere bzw. einfachere Rechenoperationen mehr bzw. weniger Takte zu einem Programmschritt
zusammenzufassen oder mehrere Programmschritte zu verwenden.
Ein Programmschrittzähler PZ steuert die Programmschritte, U1J
zwar das Auslesen des Operationsbefehls, der Sprungbedingung
usw. aus dem Programmspeicher in die ALU und die Sprungbefehllogik sowie das Auslesen der Adressen in den Adressrechner für
den laufenden Programmschritt. Liegt kein Sprungbefehl vor, so wird im fortlaufenden Programm weitergearbeitet. Liegt dagegen
ein Sprungbefehl vor, so wird über das Sprungregister der Programmschrittzähler angewiesen, auf welchen Programmschritt gesprungen werden soll.
Beim Beginn eines Programmschritts liest der Adressrechner aus dem Adressenspeicher Adressen aus, die er zu den Adressen verarbeitet , unter denen die im laufenden Programmschritt zu verarbeitenden Daten im Hauptspeicher abgelegt sind. Diese Daten
werden daraufhin sukzessiv in die ALU eingelesen, verarbeitet, d.h. miteinander verknüpft, und das Ergebnis wird am Ende des
Programmschritts taktgesteuert an die Datenausgabeeinheit und/oder
den Hauptspeicher über den Datenbus abgegeben.
Die Daten und ihre Adressen werden also getrennt verarbeitet
und aufgrund der Taktsteuerung koordiniert.
1 30022/0060
Obgleich der wesentliche Bestandteil des Hauptspeichers aus einem oder mehreren RAM besteht, sind in einer weiteren Ausführungsform
der Erfindung zusätzlich ein oder mehrere ROMs (d.h. Nur-Lese-Speicher) im Hauptspeicher vorgesehen. Diese
Ausführungsform der Erfindung ist in Figur 2 dargestellt. In dem zusätzlich vorhandenen ROM können beispielsweise bei der
Verknüpfung der variierenden Daten benotigte apparative Pestwerte, Sollwerte, Konstanten und dergleichen gespeichert sein.
In der in Figur 1 dargestellten Ausführungsform des erfindungsgemässen
Prozessrechners ist der Adressenspeicher in drei Unterspeicher A,B,C unterteilt. Durch diese Unterteilung wird die
Programmierung vereinfacht, denn es werden jeweils der Reihe nach Daten (A), die den Adressen A entsprechen, zuerst in die
ALU ausgelesen und dort dann mit Daten (B), die den Adressen B entsprechen, verknüpft. Das Ergebnis wird, wenn es abgespeichert
werden soll, im Hauptspeicher unter einer Adresse C abgelegt.
Figur 3 zeigt eine Ausführungsform des Grundaufbaues der ALU.
Die ALU besteht im wesentlichen aus drei Nur-Lese-Speichern ROM I, ROM II und ROM III, denen Über zwei Zwischenspeicher
A und B die zu verarbeitenden Daten (A) und (B) aus dem Hauptspeicher AKU zugeführt werden, während sie die Operationsbefehle,
einschliesslich der Sprungbedingungen, direkt vom Programmspeicher erhalten. In diese Nur-Lese-Speicher ROM I, ROM II
und ROM III sind Daten in Tabellenform eingeschrieben, die jeweils als Ergebnisse logischer Verknüpfungen abgerufen werden
können. Nachdem vom Hauptspeicher AKU nacheinander die Daten (A) in dem Zwischenspeicher A und die Daten (B) in dem Zwischenspeicher
B eingetroffen sind, stehen sie dort zur statischen Weiterverarbeitung an. Taktgesteuert werden dann von den
4 Bit-Daten jeweils die ersten 3 Bit dem ROM I zugeführt und geben einen Speicherplatz in einer Tabellenmatrix an. Durch
den gleichzeitig vom Programmspeicher taktgesteuert eintreffenden Operationsbefehl wird die Tabelle bestimmt, in der der
richtige Matrixspeicherplatz liegt. Das Ergebnis dieser Verknüpfung
der Daten (A) und (B) wird als 1 Bit-Information dem
130022/OOeO
ROM II zugeführt. In ROM II wird durch das jeweilige vierte Bit
der Daten (A) bzw. (B) angegeben, ob es sich bei dem Ergebnis aus ROM I um eine binäre oder eine BCD Information handelt.
Das Ergebnis wird dann über den 4 Bit-Datenbus taktgesteuert der Datenausgabeeinheit zugeführt, um dort weiterverarbeitet
werden zu können, ^usserdem wird das Ergebnis oder ein Zwischenergebnis dem ROM III zugeführt, das die Sprungbefehllogik
enthält. In diesem ROM III wird entschieden, ob eine Sprungbedingung, die vom Programmspeicher an ROM III gegeben worden
ist, erfüllt ist oder nicht. Das Ergebnis, im allgemeinen ein 1 Bit-Sprungbefehl, wird an das Sprungregister übertragen.
Die Datenausgabe ist takt gesteuert nur dann geöffnet, wenn ein
Ergebnis ausgegeben werden soll. Die übrige Zeit ist der Datenausgang gesperrt.
In das Sprungregister, das im Beispiel der Figur 1 16 Plätze aufweist und mit einer 4-Bit-Adressierung gefüllt worden ist,
ist vorher die Adresse desjenigen Programmschrittes (mit 12-Bit) eingelesen worden, in den gegebenenfalls der Sprung erfolgen
soll. Wenn die ALU entscheidet, dass kein Sprung erfolgen soll, so wird im Programmschrittzähler einfach weitergezählt und zum
nächsten Schritt übergegangen.
Das Sprungregister kann aus dem Programmspeicher nur auslesen, aber nicht in diesen einschreiben.
Es ist weiterhin dem Sprungregister ein Sprungzykluszähler zugeordnet, der seine Fortschaltimpulse aus dem Steuerprogramm
erhält und nach Erreichen der zuvor eingegebenen Zykluszahl einen unbedingten Sprung zu einem Programmschritt einleitet,
der im Sprungregister auf einem bestimmten Platz abgespeichert ist.
Figur 5 zeigt schematisch den Ablauf der Datenverarbeitung in der ALU. Die Posten zeigen im einzelnen:
130022/0060
1. den Adressenspeicherausgang für die Adresse A
2. den Adressenspeicherausgang für die Adresse B
3. den Adressenspeicherausgang für die Adresse C
4. wann der Zwischenspeicher im Eingang des Adressrechners frei ist
5. wann in das Adressenregister geschrieben werden kann
6. wann ein Teil des Adressenregisters für Daten (A) nicht mehr offen ist
7. Wann ein Teil des Adressenregisters für Daten (B) nicht mehr offen ist
8. Daten (A) in AKU schreiben und Übernahme in ALU
9. Daten (B) in AKU schreiben und Übernahme in ALU 10.Übernahme Daten (C) in AKU
11.Dateneingabe A
12.Dateneingabe B
13.Datenausgabe C aus der ALU
14.Fortschalt impuls des Programmschrittzählers
15.(Inverser) Zustand des Zwischenspeichers in der Datenausgabe 16.Takt für Datenausgabe an die Peripherie.
Zu Beginn des Programmschritles mit 40 Takten ruft der Adressrechner
die Adresse der Daten (A) im Hauptspeicher auf, so dass diese Daten in die ALU, und zwar In ihren Zwischenspeicher A1
eingelesen werden. Bei dem Übernahmetakt werden die Daten später aus dem Zwischenspeicher zur Verarbeitung in ROM I bzw.
ROM II freigegeben.\brher wird die Adresse der Daten (B) im
Hauptspeicher aufgerufen, woraufhin diese Daten in den Zwischenspeicher B der ALU eingelesen werden, und nun ebenfalls an den
Adresseingängen von ROM I bzw. ROM II anstehen.
Nach der Verarbeitungmittels der in die ROM I und ROM II eingeschriebenen
Tabellen steht das Ergebnis (Daten C) am Ausgang der ALU zur Verfügung und wird taktgesteuert zum geeigneten
Zeitpunkt auf den Datenbus freigegeben. Unter der Bezeichnung "Daten C" kann das Ergebnis unter der zeitlich parallel berechneten
Adresse C des Hauptspeichers in diesen eingelesen werden.
130022/0060
Andererseits wird das Ergebnis der Datenausgabeeinheit zugeführt. Wenn, wie im dargestellten Beispiel, nur ein Datenbus
von der Dateneingabe-Zausgabeeinheit I/O die Verbindung zum
Hauptspeicher und zur ALU bildet, muss der Datenbus möglichst schnell nach der Belastung mit Daten wieder freigegeben werden.
Deshalb ist vorzugsweise in der Datenausgabe ein Zwischenspeicher vorgesehen, der taktgesteuert das Ergebnis aufnimmt und
bis zum Ende des nächsten Programmschrittes an die Peripherie abgibt. Die Datenausgabe an die Peripherie bleibt dadurch über
die maximal mögliche Zeit eines Programmschrittes stabil und kann von der angeschlossenen Peripherie leichter verarbeitet
werden.
Diese Zwischenspeicherung ist notwendig, da die vom Rechner ausgegebenen Daten von der Peripherie wegen der zwangsläufig
längeren Leitungswege nicht direkt aufgenommen werden können. Im vorstehend beschriebenen Ausführungsbeispie1 beträgt die
Gesamtzeit eines Programmschrittes nur 4 ps, d.h. die Daten
werden in einer Folge von 250 kH ausgegeben.
Figur 4 zeigt schematisch einen Teil der Peripherie, über den die Datenausgabe erfolgt. Die von der ALU über den Zwischenspeicher ausgegebenen 4 Bit-Daten werden in einem Dekoder dekodiert und Über eine 16 Bit-Leitung dem Zwischenspeicher 2
zugeführt. Bei einem vorherbestimmten Takt (Poeten 16 in Fig.5)
erfolgt die Übergabe an die eigentliche Datenausgabeeinheit,
die wiederum taktgesteuert Steuersignale, gegebenenfalls Über Leistungsverstärker, Leistungswandler, Messwertwandler oder
dergleichen an die zu steuernde Maschine oder Anlage abgibt. Ein Steuerausgang vom Programmspeicher, der beispielsweise
12 Bit verarbeitet und zur Peripherie des Prozessrechners führt, liefert die Zuordnung der Ergebnisse der Rechnungsoperation.
Er wird beispielsweise angeben, wo die Daten aus dem Datenbus abzuspeichern sind, um welche Daten es sich handelt, welchen
Stellenwert die Daten darstellen (d.h. Einer, Zehner, Hunderter, Tausender) usw.
130022/OOeO
Dadurch, dass der Datenbus immer so schnell wie möglich wieder freigemacht wird, ist es möglich, dass der Hauptspeicher auch
während eines Programmschrittes Daten über die Dateneingabeeinheit aufnehmen kann. Diese Daten können in dem Hauptspeicher
als A- bzw. B-Daten abgespeichert werden. Vorgegeben wird diese Dateneingabe beispielsweise von gemessenen Ist-Werten aus der
Peripherie.
In jedem Falle regelt der Adressrechner die Einspeicherung und Ausgabe von Daten im Hauptspeicher.
Figur 6 zeigt eine Abwandlung des erfindungsgemässen Prozessrechners
nach Figur 1. Zwischen dem Datenbus und dem Adressrechner AR ist eine ttbergabeeinheit ÜE vorgesehen, die eine
Verbindung zwischen dem Datenbus und dem Adressrechner herstellt. Hierdurch wird ein externer Zugriff zum Adressrechner
AR möglich, der insbesondere für die Kommunikation mehrerer
Prozessrechner wichtig ist. In derartigen Sonderfällen, wenn z.B. Korrespondenz mehrerer Prozessrechner untereinander erwünscht
ist, bringt die zusätzliche Ubergabeeinheit u.a. den
Vorteil, dass gleiche Programmteile zur Verarbeitung verschiedener Daten verwendet werden können, die alle getrennt abgespeichert
sind und von externen Befehlen oder bei besonderen Bedingungen nach Bedarf abgerufen werden können.
Der Programmspeicher besitzt vorzugsweise nur ROMs, die auf ein festes Programm eingestellt sind. Diese ROMs können als
Steckkarten eingesetzt werden. Der Einsatzbereich des Prozessrechners kann jedoch insofern erweitert werden, als statt
der Nur-Lese-Speicher, d.h. der ROMs, löschbare Nur-Lese-Speicher,
sogenannte "EPROMs" eingesetzt werden.
Es muss jedoch im Einzelfalle entschieden werden, ob es wichtiger ist, einen vielseitigen Einsatzbereich des Prozessrechners
zu erreichen oder ob der leichteren Bedienbarkelt und Einfachheit der Vorzug gegeben werden soll. Je mehr Möglich-
130022/0060
29U757
ketten vorhanden sind, desto schwieriger ist es, ein Programm zu schreiben. Häufig wird der Wunsch nach einfacher Programmierbarkeit beim Einsatz in der Praxis überwiegen.
Der einfache Aufbau des Rechners zeigt sich auch darin, dass nur ein Hauptspeicher und keine dem Hauptspeicher zugeordneten
Zwischenspeicher vorgesehen sind. Dadurch, dass der Hauptspeicher einen direkten Zugriff besitzt, arbeitet er besonders
schnell. Andererseits kann ,jeweils nur eine Adresse aufgerufen werden.
Obgleich der erfindungsgemässe Prozessrechner hier anhand eines
4 Bit-Rechners im einzelnen beschrieben worden ist, wird ausdrücklich bemerkt, dass der Grundgedanke der Erfindung nicht
auf 4 Bit-Rechner beschränkt ist. Der Rechner kann in gleicher Weise z.B. auf 8 Bit-, 24 Bit- usw. Rechner erweitert werden.
Als Taktgenerator zur Zeittaktsteuerung des Prozessrechners nach
der Erfindung kann an sich Jeder geeignete bekannte Taktgenerator eingesetzt werden. Es hat sich jedoch gezeigt, dass die
bekannten Taktgeneratoren wegen ihrer langen Laufzeiten zu langsam waren. Es wird daher bei dem erfindungsgemüseen Prozessrechner, dessen Aufbau ein besonders schnelles Arbeiten
gestattet, ein Taktgenerator verwendet, wie er in Pigur 7 dargestellt ist. Dieser Taktgenerator ist in TTL- Technik (Tran·
sistor-Transistor-Logik-Technik) aufgebaut. Ein Oszillator
mit 10 MHz Oszillationsfrequenz liefert Fortschaltimpulse an an Schieberegister, das zum Beispiel 40 Stellen besitzt, wenn
ein Programmschritt 40 Takte besitzen soll. Die 10 MHz Impulse vom Oszillator werden in das Schieberegister eingelasen und
durch dieses hindurchgeschoben. Der Ausgang des Schieberegisters ist invertiert mit dem Eingang des Schieberegisters verbunden.
Ein am Ausgang des Schieberegisters ankommender zum Beispiel L-Impuls wirkt invertierend auf den Eingang des Schieberegisters
ein, so dass die nachfolgenden Impulse ale H-Impulse das Schieberegister durchlaufen. Nach dem 40. Takt hat der erste H-Impuls
130022/OOeO
das Schieberegister durchlaufen und ist am Ausgang des Schieberegisters
angekommen und wirkt nun seinerseits invertierend auf den Eingang des Schieberegisters, so dass daraufhin 40 L-Impulse
das Schieberegister durchlaufen. Dementsprechend treten am Ausgang des Schieberegisters nacheinander 40 L-Impulse,
40 H-Impulse, 40 L-Impulse usw. auf.
Die Gesamtheit von 40 Takten mit gleichen H- bzw. L-Impulsen
bildet jeweils einen Programmschritt.
Wenn ein Programmschritt weniger Takte enthalten soll, wodurch die Programmschrittfolge erhöht werden kann, wird einfach nach
einem früheren Takt invertiert, d.h. ein Ausgang des Schieberegisters zwischen dem Ausgang 1 und Ausgang 40 (zum Beispiel
der Ausgang "25") wird invertierend an den Eingang des Schieberegisters zurückgeführt. Die Programmschrittlänge umfasst weniger
Takte (in diesem Falle 25 Takte).
Ein Takt der Takte, die einen Programraschritt bilden, wird jeweils
zur Weiterschaltung des Programms und insbesondere des
Programmschrittzählers benötigt. Zweckmässigerweise wird dafür
der erste oder der letzte Takt eines Programmschritts verwendet
.
An die Ausgänge des Schieberegisters sind exklusiv-ODER-Gatter
(Antivalenz-Verknüpfungsglieder) angeschlossen, deren Ausgänge die Taktausgänge bilden. Wenn an die 40 Ausgänge des Schieberegisters
beispielsweise 20 exklusiv-ODER-Gatter angeschlossen sind, erhält man in diesem Falle 20 Taktausgänge hinter den
exklusiv-ODER-Gattern. Kommerziell erhältlich sind 20 exklusiv-ODER-Hatter
auf einer Platte, die beim Taktgenerator eingesetzt werden können.
Die Schaltzeit der exklusiv-ODER-Gatter fällt mit zirka 12 bis 15 ns beim Einschalten bzw. Ausschalten nicht ins Gewicht.
Darüber hinaus heben sich die Ein- und Ausschaltzeiten auf, so dass die Takt länge konstant bleibt. Der erfindungsgemäss ein-
130022/0060
gesetzte Taktgenerator ist schneller und stabiler als herkömmliche Taktgeneratoren.
Im angegebenen Beispiel werden aus den 10 MHz Impulsen mit jeweils 0,1 μβ Länge 40 Tikte zu einem Programmschritt mit der
Länge von 4 us erzeugt.
Der Oszillator kann in Üblicher Weise aufgebaut sein, d.h. die
Frequenz Über einen Schwingquarz oder über einen astabilen
Multivibrator erzeugen. Vorzugsweise ist der Oszillator aus Schmitt-Triggern aufgebaut, so dass der Taktgenerator aus nur
wenigen verschiedenen Bausteinen besteht.
Es ist ohnehin anzustreben, bei dem erfindungsgemässen Prozessrechner möglichst wenig verschiedene Bauelemente zu verwenden,
um möglichst gleiche Temperaturabhängigkeit und etwa die gleiche Zeitkonstanz zu erreichen. Wenn alle Bauelemente im wesentlichen die gleiche Zeitkonstante und die gleiche Temperaturabhängigkeit aufweisen, kann sich zwar die einzelne Takt länge
etwas ändern, was sich jedoch insgesamt auf das Arbeiten des Prozessrechners nicht störend auswirkt.
Im folgenden wird die Anwendung des Prozessrechners nach der Erfindung auf die Steuerung von Motoren für Werkstückbearbeitung beschrieben.
Bei den im Maschinenbau vorkommenden Steuerungsaufgaben handelt
es sich in den meisten Fällen darum, einen im wesentlichen vorher bestimmten Ablauf eines Vorgangs oder mehrerer Vorgänge
zu steuern, wobei von aussen eingegebene Messgrössen, Sollwerte
oder andere Parameter den Ablauf beeinflussen sollen. Es handelt sich also hierbei im wesentlichen immer um die gleiche
nur in Einzelheiten variierende Aufgabenstellung. Meistens ist es dabei der Zweck des Rechners, zwei zum Beispiel 4 Bit-Worte
miteinander zu vergleichen, um aus dem Vergleich ein Steuersignal zu erhalten. Dazu wird im Rechner entweder eine Referenzfunktion oder eine Rechenfunktion gespeichert, durch die es möglich ist, miteinander vergleichbare Daten zu erhalten.
130022/0060
Leerseite
Claims (26)
- PatentansprücheSequentiell taktgesteuerter Prozessrechner , dadurch gekennzeichnet, dass er einen Hauptspeicher (AKU), einen Programmspeicher (PSp) und einen Adressenspeicher (ASp) enthält und der Hauptspeicher einerseits direkt mit der Dateneingabe-Vausgabeeinheit (I/O) und andererseits Über einen separaten Adressrechner (Alt) mit dem Adressenspeicher verbunden ist, dass weiterhin ein Taktgenerator (TG) vorgesehen ist, der die sequentiellen Takte für den Programmablauf liefert, bei dem der Hauptspeicher, der die Daten von der Dateneingabe-Ausgabeeinheit (I/O) speichert, nach Zuführung der Adressen von dem Adressrechner die Daten für den Programmschritt an die Arithmetlk-Logiklinheit (AUJ) liefert, die gleichzeitig taktgesteuert Operationsbefehle vom Programmspeicher erhält und die Operationsergebnisse an die Dateneingabe-Ausgabeeinheit und/oder zur Speicherung an den Hauptspeicher abgibt , wobei ein mit dem Programmspeicher verbundener130022/OOeOProgrammschrittzähler (PZ) die Programmschritte fortschaltet und die Abgabe der Operationsbefehle aus dem Programmspeicher steuert.
- 2. Prozessrechner nach Anspruch 1, dadurch gekennzeichnet , dass der Datenbus vom Adressenbus getrennt ist.
- 3. Prozessrechner nach Anspruch 1 oder 2 , dadurch gekennzeichnet , dass die Arithmetik-Logik-Einheit (ALU) eine Sprungbefehllogik besitzt, die die Sprungbedingung vom Programmspeicher erhält und gegebenenfalls einen Sprungbefehl an ein Sprungregister oder ein Programmschrittregister abgibt, das vorher vom Programmspeicher mit Programmschritten des Sprunges geladen worden ist und den Sprungbefehl an den Programraschrittzähler weitergibt.
- 4. Prozessrechner nach Anspruch 3,dadurch gekennzeichnet , dass zusätzlich ein Sprungzykluszähler vorgesehen ist, der die Anzahl der Sprungwiederholungen oder der Sprungschleifen steuert und seine Fortschaltimpulse aus dem Steuerprogramm erhält und nach Erreichen der zuvor eingegebenen Zykluszahl einen unbedingten Sprung zu einem Programmschritt einleitet, der im Sprungregister auf einem bestimmten Platz abgespeichert ist.
- 5. Prozessrechner nach Anspruch 1 oder 2 , dadurch gekennzeichnet , dass der Adressenspeicher (ASp) in drei Unterspeicher (A,B,C) eingeteilt ist und der Adressrechner (AR) nacheinander Adressen A,B,C im Hauptspeicher aufruft, unter denen Daten A,B,C abgespeichert werden, und in der Arithmetik-Logik-Einheit (ALU) Daten (A) aus dem Hauptspeicher mit Daten (B) aus dem Hauptspeicher verknüpft werden und das Ergebnis in die Adresse (C) des Hauptspeichers eingelesen wird.130022/OOeO29U757
- 6. Prozessrechner nach Anspruch 5, dadurch gekennzeichnet , dass die Arithmetik-Logik-Einheit (ALU) in ihrem Eingang jeweils einen Zwischenspeicher für die Daten (A bzw. B) aus dem Hauptspeicher enthält, in die der Hauptspeicher die jeweils abgerufenen Daten (A;B) entsprechend eingibt, so dass die Zwischenspeicher die Daten für die Weitergabe an die Recheneinheiten der Arithmetik-Logik-Einheit (ALU) statisch halten.
- 7. Prozessrechner nach Anspruch 3,dadurch gekennzeichnet , dass die Sprungbefehllogik ein Festwertspeicher ist, in den die Sprungbedingungen als Tabelle eingeschrieben sind.
- 8. Prozessrechner nach einem der Ansprüche 1 bis 7 , dadurch gekennzeichnet, dass die Arithmetik-Logik-Einheit (ALU) im wesentlichen aus Festwertspeichern besteht, in die Tabellen eingeschrieben sind.
- 9. Prozessrechner nach Anspruch 7 oder 8, dadurch gekennzeichnet , dass die Arithmetik-Logik-Einheit (ALU) drei ROMs enthält, von denen zwei (ROM I, ROM II) Daten für die Verknüpfung der Daten (A) und (B) enthalten und das dritte ROM (ROM III) die Sprungbefehllogik enthält.
- 10. Prozessrechner nach einem der Anspruch 6 bis 9 , dadurch gekennzeichnet, dass die Daten (A) und (B) jeweils 4 Bit-Daten sind, von denen jeweils nur 3 Bit dem ersten Festwertspeicher (ROM I) zugeführt und in diesem verarbeitet werden und das 4.Bit jeweils direkt einem zweiten Festwertspeicher (ROM II) zugeführt wird, und das Ergebnis aus dem ersten Festwertspeicher (ROM I) als 4 Bit-Information an den zweiten Festwertspeicher (ROM II) abgegeben wird.130022/0080
- 11. Prozessrechner nach Anspruch 10, dadurch gekennzeichnet , dass die Festwertspeicher (ROM I, ROM II) jeweils Über 4 Bit-Steuereingänge direkt mit den Programmspeicher (PSp) verbunden sind, und von diesem taktgesteuert Operationsbefehle erhalten.
- 12. Prozessrechner nach einem der Ansprüche 3 bis 11 , dadurch gekennzeichnet, dass der Programmspeicher (PSp) taktgesteuert den Operationsbefehl für die Verknüpfung der Arithmetik-Logik-Einheit (ALU) und/oder eine Sprungbedingung der Sprungbefehllogik direkt oder gegebenenfalls unter Zwischenschaltung eines Dekoders zuführt.
- 13. Prozessrechner nach Anspruch 8,dadurch gekennzeichnet , dass die Arithmetik-Logik-Einheit (ALU) mehr als drei hintereinander geschaltete Festwertspeicher enthält und der erste Festwertspeicher eine erste Verknüpfung von der Arithmetik-Logik-Einheit (ALU) zugeführten Daten durchführt und das Ergebnis dem nachfolgenden Festwertspeicher zur Verarbeitung gegebenenfalls mit weiteren der Arithmetik-Logik-Iinheit (ALU) zugeführten Daten und/oder Steuerinformationen zufUhrt, und in gleicher Weise jeder nachfolgende Festwertspeicher das Ergebnis des vorhergehenden Festwertspeichers verarbeitet.
- 14. Prozessrechner nach einem der Ansprüche 1 bis 13 , dadurch gekennzeichnet, dass das Ergebnis von der Arithmetik-Logik-Einheit (ALU) direkt der Datenausgabeeinheit als Steuersignal zugeführt wird.
- 15. Prozessrechner nach einem der Ansprüche 1 bis 13 , dadurch gekennzeichnet, dass das Ergebnis von der Arithmetik-Logik-Einheit (ALU) über einen Dekoder der Datenausgabeeinheit zugeführt wird.130022/0080
- 16. Prozessrechner nach Anspruch 14 oder 15, dadurch gekennzeichnet , dass in der Datenausgabe ein Zwischenspeicher vorhanden ist, aus dem die für die Ausgabe bestimmten Daten nach Bedarf abgerufen «erden können.
- 17. Prozessrechner nach einem der Ansprüche 14 bis 16 , dadurch gekennzeichnet, dass die Datenausgabeeinheit einen Digital-Analog-Umsetzer und/oder einen Leistungsverstärker umfasst.
- 18. Prozessrechner nach einem der Ansprüche 1 bis 16 und 17, dadurch gekennzeichnet, dass die Dateneingabeeinheit einen Analog-Digital-Umsetzer umfasst.
- 19. Prozessrechner nach einem der Ansprüche 1 bis 18 , dadurch gekennzeichnet, dass zwischen dem Datenbus und dem Adressrechner (AR) eine Ubergabeeinheit (UE) vorgesehen ist, die einen Zugriff zum Adressrechner von aussen gestattet.
- 20. Prozessrechner nach einem der Ansprüche 1 bis 19 , dadurch gekennzeichnet, dass ein Steuerauegang des Programmspeichers (PSp) vorgesehen ist, von dem ein Steuersignal direkt an die Peripherie-Einheiten des Rechners abgegeben wird, das einen programmierbaren Teil eines Programmschrittes bildet.
- 21. Prozessrechner nach Anspruch 1,dadurch gekennzeichnet , dass der Taktgenerator (TG) einen Oszillator und ein Schieberegister enthält, dessen Ausgang invertierend auf seinen Eingang zurückgeführt ist.
- 22. Prozessrechner nach Anspruch 21, dadurch gekennzeichnet , dass die Ausgänge des Schieberegisters mit exklusiv-ODER-Gattern (Antivalenz-Ver-130022/0060knüpfungsgliedern) verbunden sind, deren Ausgänge die Taktausgänge bilden.
- 23. Prozessrechner nach Anspruch 21 oder 22, dadurch gekennzeichnet , dass ein Ausgang des Schieberegisters, der nicht der letzte Ausgang des Schieberegisters ist, invertierend auf den Eingang des Schieberegisters zurückgeführt ist und die restlichen letzten Ausgänge des Schieberegisters ungenutzt bleiben.
- 24. Prozessrechner nach einem der Ansprüche 21 bis 23 , dadurch gekennzeichnet, dass der Oszillator aus Schmitt-Triggern aufgebaut ist.
- 25. Prozessrechner nach einem der Ansprüche 21 bis 24 , dadurch gekennzeichnet , dass der Oszillator eine Frequenz von 10 MHz besitzt und das Schieberegister 40-stellig ist, so dass sich eine Taktlänge von 0,1 fis und eine Programmschrittlänge von 4 ^is ergibt.
- 26. Prozessrechner nach Anspruch 21,dadurch gekennzeichnet , dass ein Taktauegang zur Weiterschaltung um einen Programmschritt mit dem Programmschrittzähler verbunden ist.130022/0080
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2944757A DE2944757C2 (de) | 1979-11-06 | 1979-11-06 | Programmierbare Prozeßsteuerung |
AT0102380A AT379457B (de) | 1979-11-06 | 1980-02-25 | Sequentiell taktgesteuerter prozessrechner |
US06/201,361 US4405980A (en) | 1979-11-06 | 1980-10-27 | Process control computer wherein data and addresses are separately processed |
CH8150/80A CH654679A5 (de) | 1979-11-06 | 1980-11-03 | Prozessrechner. |
IT68690/80A IT1129370B (it) | 1979-11-06 | 1980-11-05 | Calcolatore di processo |
JP15528880A JPS5674704A (en) | 1979-11-06 | 1980-11-06 | Process control computer |
CA000363451A CA1159572A (en) | 1979-11-06 | 1980-12-28 | Process control computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2944757A DE2944757C2 (de) | 1979-11-06 | 1979-11-06 | Programmierbare Prozeßsteuerung |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2944757A1 true DE2944757A1 (de) | 1981-05-27 |
DE2944757C2 DE2944757C2 (de) | 1986-01-16 |
Family
ID=6085266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2944757A Expired DE2944757C2 (de) | 1979-11-06 | 1979-11-06 | Programmierbare Prozeßsteuerung |
Country Status (7)
Country | Link |
---|---|
US (1) | US4405980A (de) |
JP (1) | JPS5674704A (de) |
AT (1) | AT379457B (de) |
CA (1) | CA1159572A (de) |
CH (1) | CH654679A5 (de) |
DE (1) | DE2944757C2 (de) |
IT (1) | IT1129370B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5755894A (en) * | 1993-02-26 | 1998-05-26 | Minnesota Mining And Manufacturing Company | Endoscopic cannulated instrument flushing apparatus for forcing a cleaning solution through an endoscopic cannulated instrument for removal of gross debris |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4577282A (en) * | 1982-02-22 | 1986-03-18 | Texas Instruments Incorporated | Microcomputer system for digital signal processing |
US5854907A (en) * | 1982-02-22 | 1998-12-29 | Texas Instruments Incorporated | Microcomputer for digital signal processing having on-chip memory and external memory access |
DE3213801A1 (de) * | 1982-04-15 | 1983-10-27 | Alfred Teves Gmbh, 6000 Frankfurt | Verfahren und vorrichtung zur erzeugung von zahlenwerten, die der frequenz der messimpulse einer messimpulsfolge proportional sind |
US5056014A (en) * | 1985-02-04 | 1991-10-08 | Lockheed Sanders, Inc. | Network simulation system |
US4933835A (en) * | 1985-02-22 | 1990-06-12 | Intergraph Corporation | Apparatus for maintaining consistency of a cache memory with a primary memory |
US4899275A (en) * | 1985-02-22 | 1990-02-06 | Intergraph Corporation | Cache-MMU system |
US4860192A (en) * | 1985-02-22 | 1989-08-22 | Intergraph Corporation | Quadword boundary cache system |
US5255384A (en) * | 1985-02-22 | 1993-10-19 | Intergraph Corporation | Memory address translation system having modifiable and non-modifiable translation mechanisms |
US5091846A (en) * | 1986-10-03 | 1992-02-25 | Intergraph Corporation | Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency |
US4866663A (en) * | 1987-02-13 | 1989-09-12 | Sanders Associates, Inc. | Simulation system |
US6654832B1 (en) | 2000-01-18 | 2003-11-25 | Micron Technology, Inc. | Method of initializing a processor and computer system |
US6591318B1 (en) * | 2000-01-24 | 2003-07-08 | Micron Technology, Inc. | Computer system having reduced number of bus bridge terminals |
DE10127348A1 (de) * | 2001-06-06 | 2002-12-19 | Infineon Technologies Ag | Verfahren und Schaltungsanordnung zur Übertragung von Daten zwischen einem Prozessor und einem Hardware-Rechenwerk |
JP2004252844A (ja) * | 2003-02-21 | 2004-09-09 | Fanuc Ltd | 数値制御装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1264095A (de) * | 1970-02-13 | 1972-02-16 |
-
1979
- 1979-11-06 DE DE2944757A patent/DE2944757C2/de not_active Expired
-
1980
- 1980-02-25 AT AT0102380A patent/AT379457B/de not_active IP Right Cessation
- 1980-10-27 US US06/201,361 patent/US4405980A/en not_active Expired - Lifetime
- 1980-11-03 CH CH8150/80A patent/CH654679A5/de not_active IP Right Cessation
- 1980-11-05 IT IT68690/80A patent/IT1129370B/it active
- 1980-11-06 JP JP15528880A patent/JPS5674704A/ja active Pending
- 1980-12-28 CA CA000363451A patent/CA1159572A/en not_active Expired
Non-Patent Citations (4)
Title |
---|
DE-Entwicklungsberichte Siemens & Halske AG 1969, Heft 2 S. 151-154 * |
DE-Z Elektronische Rundschau,Okt. 1955, Heft 10, S. 341-342 * |
US-Firmenschrift der Intel Corp. The 8086 Family Users Manual Okt. 1979, S. 2/1 - 2/6 * |
US-Z "Computer", Juni 1978, S. 56-77 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5755894A (en) * | 1993-02-26 | 1998-05-26 | Minnesota Mining And Manufacturing Company | Endoscopic cannulated instrument flushing apparatus for forcing a cleaning solution through an endoscopic cannulated instrument for removal of gross debris |
Also Published As
Publication number | Publication date |
---|---|
ATA102380A (de) | 1985-05-15 |
IT1129370B (it) | 1986-06-04 |
US4405980A (en) | 1983-09-20 |
CH654679A5 (de) | 1986-02-28 |
DE2944757C2 (de) | 1986-01-16 |
IT8068690A0 (it) | 1980-11-05 |
CA1159572A (en) | 1983-12-27 |
JPS5674704A (en) | 1981-06-20 |
AT379457B (de) | 1986-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69130630T2 (de) | Synchrones Verfahren und Gerät für Prozessoren | |
DE2716369C2 (de) | ||
DE68914172T2 (de) | Datenverarbeitungssystem und Videoverarbeitungssystem mit einem derartigen Datenverarbeitungssystem. | |
DE2847575C2 (de) | Einrichtung zur Abgabe von Mikrobefehlsschablonen an die Stufen einer Pipeline-Datenverarbeitungseinrichtung | |
DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
DE2755273C2 (de) | ||
DE2944757A1 (de) | Prozessrechner | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE2457312B2 (de) | Anordnung zur Durchführung arithmetischer oder logischer Operationen an ausgewählten Gruppen aufeinanderfolgender Bits in einer Datenverarbeitungsanordnung | |
DE3400723C2 (de) | ||
DE2750344C2 (de) | Logikschaltung zum Betätigen irgendeiner Teilmenge einer Mehrzahl von Vorrichtungen | |
DE1115488B (de) | Datenverarbeitungssystem | |
DE2625113C2 (de) | Speicherschutzeinrichtung | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE2725614C2 (de) | ||
DE69031361T2 (de) | Taktsignalgeneratorsystem | |
DE3546332C2 (de) | Mikroprozessor mit verbessertem Befehlszyklus | |
DE2710436C2 (de) | Datenverarbeitungseinrichtung | |
DE60302103T2 (de) | Steuerungsvorrichtung für eine Maschine | |
DE3341339C2 (de) | Befehlsfolgegenerator | |
DE2233164B2 (de) | Schaltungsanordnung zur uebertragung von aufeinanderfolgenden bitstellen zwischen zwei registern | |
DE2024584B2 (de) | Steuereinrichtung für eine allgemeine Datenverarbeitungseinrichtung | |
DE3123379C2 (de) | ||
DE2502005C2 (de) | Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer Datenverarbeitungseinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: HESS, BRUNO M., EINSIEDELN, CH |
|
D2 | Grant after examination | ||
8363 | Opposition against the patent | ||
8365 | Fully valid after opposition proceedings | ||
8339 | Ceased/non-payment of the annual fee |