DE2944757A1 - Prozessrechner - Google Patents

Prozessrechner

Info

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
Application number
DE19792944757
Other languages
English (en)
Other versions
DE2944757C2 (de
Inventor
Bruno M. 5451 Horhausen Hess
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HESS, BRUNO M., EINSIEDELN, CH
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to DE2944757A priority Critical patent/DE2944757C2/de
Priority to AT0102380A priority patent/AT379457B/de
Priority to US06/201,361 priority patent/US4405980A/en
Priority to CH8150/80A priority patent/CH654679A5/de
Priority to IT68690/80A priority patent/IT1129370B/it
Priority to JP15528880A priority patent/JPS5674704A/ja
Priority to CA000363451A priority patent/CA1159572A/en
Publication of DE2944757A1 publication Critical patent/DE2944757A1/de
Application granted granted Critical
Publication of DE2944757C2 publication Critical patent/DE2944757C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/323Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13083Jumps
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15048Microprocessor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15129Separating 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

Prozessrechner
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:
In den Zeichnungen zeigen:
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,
Figur 3 eine schematische Darstellung einer AusfUhrungsform
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
BAO ORIGINAL
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)

  1. Patentansprüche
    Sequentiell 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 verbundener
    130022/OOeO
    Programmschrittzähler (PZ) die Programmschritte fortschaltet und die Abgabe der Operationsbefehle aus dem Programmspeicher steuert.
  2. 2. Prozessrechner nach Anspruch 1, dadurch gekennzeichnet , dass der Datenbus vom Adressenbus getrennt ist.
  3. 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. 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. 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/OOeO
    29U757
  6. 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. 7. Prozessrechner nach Anspruch 3,dadurch gekennzeichnet , dass die Sprungbefehllogik ein Festwertspeicher ist, in den die Sprungbedingungen als Tabelle eingeschrieben sind.
  8. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 18. Prozessrechner nach einem der Ansprüche 1 bis 16 und 17, dadurch gekennzeichnet, dass die Dateneingabeeinheit einen Analog-Digital-Umsetzer umfasst.
  19. 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. 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. 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. 22. Prozessrechner nach Anspruch 21, dadurch gekennzeichnet , dass die Ausgänge des Schieberegisters mit exklusiv-ODER-Gattern (Antivalenz-Ver-
    130022/0060
    knüpfungsgliedern) verbunden sind, deren Ausgänge die Taktausgänge bilden.
  23. 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. 24. Prozessrechner nach einem der Ansprüche 21 bis 23 , dadurch gekennzeichnet, dass der Oszillator aus Schmitt-Triggern aufgebaut ist.
  25. 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. 26. Prozessrechner nach Anspruch 21,dadurch gekennzeichnet , dass ein Taktauegang zur Weiterschaltung um einen Programmschritt mit dem Programmschrittzähler verbunden ist.
    130022/0080
DE2944757A 1979-11-06 1979-11-06 Programmierbare Prozeßsteuerung Expired DE2944757C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1264095A (de) * 1970-02-13 1972-02-16

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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