DE1235635B - Elektronische Programmsteuerung - Google Patents

Elektronische Programmsteuerung

Info

Publication number
DE1235635B
DE1235635B DEM46690A DEM0046690A DE1235635B DE 1235635 B DE1235635 B DE 1235635B DE M46690 A DEM46690 A DE M46690A DE M0046690 A DEM0046690 A DE M0046690A DE 1235635 B DE1235635 B DE 1235635B
Authority
DE
Germany
Prior art keywords
cores
core
program control
wires
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DEM46690A
Other languages
English (en)
Inventor
Joseph J Eachus
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.)
Honeywell Inc
Original Assignee
Honeywell Inc
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
Priority claimed from US843515A external-priority patent/US3157862A/en
Application filed by Honeywell Inc filed Critical Honeywell Inc
Publication of DE1235635B publication Critical patent/DE1235635B/de
Pending legal-status Critical Current

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Feedback Control In General (AREA)
  • Programmable Controllers (AREA)

Description

BUNDESREPUBLIK DEUTSCHLAND
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Int. CL:
G06f
Deutsche Kl.: . 42 m3 - 9/00
Nummer: 1235 635
Aktenzeichen: M 46690 IX c/42 m3
Anmeldetag: 29. September 1960
Auslegetag: 2. März 1967
Die Erfindung betrifft eine elektronische Programmsteuerung, insbesondere für datenverarbeitende Maschinen.
Aus dem Aufsalz »Mikroprogramm-Steuerwerk« in »Elektronische Rundschau«, Nr. 10/1955, S. 349 bis 353, ist bereits eine Programmsteuerung bekannt, die sowohl ein Makroprogramm als auch ein Mikroprogramm erzeugt. Zum Auslösen eines bestimmten Makrobefehls wird eine Auswahlmatrix nach dem Koinzidenzprinzip benutzt. Hierbei wird ein ausgewählter Kern umgeschaltet und das hierbei entstehende Spiel in ein Schieberegister, in dem das Mikroprogramm gespeichert ist, eingeschoben. Das Schieberegister ist derart ausgebildet, daß nach dem Einschieben eines Signals in den ersten Kern das Weiterschalten dadurch erfolgt, daß mittels eines Torsignals von einer Steuerstufe der Übertrag des ersten Kerns an den nächsten bei Koinzidenz beider Signale wirksam ist und diesen nächsten Kern einstellt. Durch Treiberkreise ist es möglich, den eingegebenen Zustand durch alle dem betreffenden Makrobefehl zugeordnete Kerne hindurchzuschieben. Durch eine weitere Steuerstufe ist es möglich, durch eine Zustandssteuerung zu bestimmen, durch welche der Kerne der eingegebene Zustand hindurchgeschickt wird. Das bedeutet, daß die verschobenen Zustände in bestimmter Weise abgezweigt werden können. Nachdem eine gewünschte Programmfolge des Schieberegisters abgelaufen ist, bewirkt der letzte Kern der Folge ein Ausgangssignal, das dem Befehlsregister zugeführt werden kann, um einen weiteren Makrobefehl auszulösen.
Ein Mikrobefehlsregister wählt einen Kern in einer Koinzidenzspeichermatrix aus, und das entsprechende Ausgangssignal einer Lesewicklung dieses Kerns wird einem Zuordner zugeführt. Dieser enthält Kerne, die wahlweise mit den Lesewicklungen eines Ausgangsnetzwerkes verbunden sind. Wird einem dieser Kerne ein Signal zugeführt, so wirkt dieser nur als Zuordner, jedoch nicht als Speicher, weil die betreffenden Kerne dieses Zuordners nicht gesättigt werden.
Diese bekannte Programmsteuerung hat den Nachteil, daß ein einmal verdrahtetes Programm kaum geändert werden kann. Aus diesem Grund muß das Programmsteuerwerk von Anfang an überdimensioniert werden, damit später Programmänderungen durch Hinzufügen neuer Teilgruppen vorgenommen werden können.
Der vorliegenden Erfindung liegt die Aufgabe zugründe, ein Programmsteuerwerk zu schaffen, das sich durch niedrigen Aufwand auszeichnet und das Elektronische Programmsteuerung
Anmelder:
Honeywell Inc., Minneapolis, Minn. (V. St. A.)
Vertreter:
Dipl.-Ing. R. Mertens, Patentanwalt,
Frankfurt/M., Neue Mainzer Str. 40-42
Als Erfinder benannt:
Joseph J. Eachus, Cambridge, Mass. (V. St. A.)
Beanspruchte Priorität:
V. St. v. Amerika vom 30. September 1959
(843 515)
durch Auswechseln nur weniger Teile jedem beliebigen Verwendungszweck angepaßt werden kann. Diese Anpassungsmöglichkeit ist besonders dann wichtig, wenn die logischen Schaltkreise eines zentralen Verarbeitungsteils einer datenverarbeitenden Maschine aus nur wenigen Grundbausteinen aufgebaut sein sollen, um die Kosten für die Fertigung zu senken.
Die Erfindung geht also von einer elektronischen Programmsteuerung mit einer Vielzahl von sättigbaren Magnetkernen aus, mit einer Vielzahl von durch bestimmte Kerne verlaufende Ansteuerdrähten, einem mehrstufigen Steuerregister mit bistabilen Stufen, deren Ausgänge mit bestimmten Ansteuerdrähten verbunden sind und im markierten Zustand die zugeordneten Kerne sättigen, und Ausgangsdrähten, die durch alle Kerne verlaufen und einen Wechsel des Sättigungszustandes jedes Kerns anzeigen. Die erfindungsgemäße Programmsteuerung ist dadurch gekennzeichnet, daß Leseverstärker zwischen auf bestimmten Kernen vorgesehenen Lesedrähten und bestimmten Eingängen der Steuerregister nach einem vorbestimmten Plan vorgesehen sind und daß eine taktgesteuerte Kerntreiberstufe mit allen Kernen gekoppelt ist und jeden nicht gesättigten Kern umschaltet, so daß jeder umkippende Kern den Zustand der mit den betreffenden Lesedrähten verbundenen Registerstufen in den entgegengesetzten Zustand ändert.
Der Vorteil dieser Anordnung liegt darin, daß die: wesentlichen, den Ablauf von Programmen bestim-
709 517/246
menden Teile in dieser Magnetkernanordnung vereinigt sind und durch einfaches Umfädeln der verschiedenen, durch die Kerne laufenden Drähte jeder beliebige Programmablauf eingestellt werden kann. Unter Umständen ist es auch möglich, die gesamte Kernanordnung bei einem schnellen Programmwechsel gegen eine andere zu ersetzen. Alle anderen an diese Magnetkernanordnung angeschlossenen Steuerteile und lpgischen Schaltungen bleiben unverändert.
Die Erfindung wird nachfolgend durch die Beschreibung einer Ausführungsform an Hand der beigefügten Zeichnungen erläutert. Es zeigt
F i g. 1 ein Blockschaltbild eines Rechners für industrielle Prozesse,
F i g. 2 den Aufbau des zentralen Verarbeitungsteils des Rechners nach Fig. 1,
F i g. 3 den Aufbau der im zentralen Verarbeitungsteil des Rechners verwendeten Register,
Fig. 4 ein Übertragungsregister zwischen dem zentralen Verarbeitungsteil, einem manuellen Register und der Programmsteuerung des Rechners und
F i g. 5 das Schaltbild der erfindungsgemäßen Programmsteuerung.
Der Erfindungsgegenstand wird nachfolgend in Verbindung mit einem Rechner für industrielle Prozesse, wie er in F i g. 1 dargestellt ist, beschrieben. Er kann jedoch bei jeder beliebigen programmgesteuerten, datenverarbeitenden Maschine angewendet werden.
In F i g. 1 sind als Eingabegeräte eines Rechners 10 mehrere analoge Fühlervorrichtungen 1 bis 5 vorgesehen, die über ein Schaltnetzwerk 12 und einen Analog-Digital-Wandler 14 angeschlossen sind. Der Ausgang des Wandlers 14 ist an den Eingang des Rechners 10 über ein Eingabegrößenregister K angeschlossen. Zusätzlich zu dem vom Schaltnetzwerk 12 kommenden Eingangssignal kann ein weiteres Eingangssignal von einer äußeren Zifferquelle 16 kommen, die über ein Gatter 18 an das Eingabegrößenregister K angeschlossen ist. Die Auswahl der Signale durch das Schaltnetzwerk 12 kann durch den Rechner abhängig von Signalen, die von einem Eingangsauswahlregister / abgeleitet werden, gesteuert werden. Außerdem kann eine manuelle Eingabe durch in F i g. 4 gezeigte Schalter vorgenommen werden.
Eine Ausgabe aus dem Rechner erfolgt über das Ausgangsgrößenregister /, welches die digitalen Ausgangssignale vom Rechner einem Digital-Analog-Wandler 20 zuführt. Der Digital-Analog-Wandler 20 ist seinerseits an ein Ausgangsschaltnetzwerk 22 angeschlossen, welches von einem Ausgangsauswählregister H des Rechners gesteuert wird. Das Schaltnetzwerk 22 kann den Ausgang mit bestimmten Ausgangssteuervorrichtungen OC1 bis OCS verbinden. Über ein Gatter 24 kann eine externe Digitalwertausgabe erfolgen. Zusätzliche Ausgänge können, wie in F i g. 2 gezeigt, vorgesehen sein.
Im Ausgabeteil des Rechners 10 kann ein Locher 26 vorgesehen sein, der Daten aus einem speziellen Ausgangsregister U des Rechners ausgeben kann. Die Steuersignale können dem Locher26 oder dem Rechner entnommen werden.
Der Rechner 10 ist ein programmgesteuerter Rechner, dessen gespeichertes Programm von einer Bedienungsperson in Tätigkeit gesetzt werden kann. Eine typische Operation für den in F i g. 1 gezeigten Prozeßrechner besteht in der Ableitung eines Steuersignals innerhalb des Rechners 10, welches über das Eingangsauswählregister / und das Schaltnetzwerk 12 eines der analogen Signale der Fühlerelemente 1 bis 5 auswählt. Wenn das Fühlerelement 1 ausgewählt ist, gelangt dessen Analogsignal über das Schaltnetzwerk zum Analog-Digital-Wandler 14. Das digitale Ausgangssignal des Wandlers 14 wird von dem Eingangsgrößenregister K aufgenommen und
ίο kann dann in das zentrale System des Rechners übertragen werden.
Nachdem ein Eingangssignal vom Register K aufgenommen worden ist, kann dieses Signal an einen geeigneten Punkt innerhalb des zentralen Systems übertragen werden, um einen gewünschten Vorgang auszulösen. Wenn beispielsweise das vom Fühlerelement einlaufende Signal ein Temperatursignal ist, kann dessen Größe mit einem Bezugssignal im Rechner digital verglichen werden. Weicht das Temperatursignal von der gewünschten Norm ab, so wird diese Abweichung mit den Parametern des Gesamtprozesses verglichen, um die Art des Ausgangssignals zu bestimmen, das in die Vcrfahrensstcuereinrichtung eingegeben werden muß.
Wenn die entsprechende Rechnung durchgeführt worden ist, wird das digitale Signal dem Größenregister / zugeführt, von wo es über den Digital-Analog-Wandler 20 dem Schaltnetzwerk 22 zugeleitet wird und von dort an die Ausgangssteuereinrichtung 1 oder beliebige andere Steuereinrichtungen gelangt, die dem gerade angeschlossenen Fühlerelement zugeordnet sind.
Über ein Ausgangssteuerglied, ζ. Β. ein Ventil, wird dann die gewünschte Steuerung, z. B. die Temperatur, auf den Sollwert durchgeführt. In ähnlicher Weise können die anderen Veränderlichen abgetastet und entsprechende Ausgangssignale an die zugeordneten Steuervorrichtungen gegeben werden. Zur Aufzeichnung der Signale, die die Größen der erfaßten Variablen anzeigen, können diese durch den Rechner ausgewählt und an den Locher 26 gegeben werden.
In Fig. 2 ist der Aufbau des zentralen Verarbeitungsteils gezeigt. Dieser enthält mehrere parallele Register^ bis K von je 18 Bits Länge. Für den Locher 26 ist ein zusätzliches Register U vorgesehen. Die Registern! und D enthalten zwei zusätzliche Bit-Positionen A' und D'. Der Informationsaustausch zwischen den Registern erfolgt über Gatter, und zwar in den meisten Fällen Bit für Bit über einen zwischengeschalteten Satz Übertragungsverstärker, was in Verbindung mit F i g. 3 noch eingehender erläutert wird. Es können jedoch zusätzliche Gatter zur unmittelbaren Verbindung zwischen ausgewählten Registern ohne Benutzung des gemeinsamen Übertragungsteils vorgesehen sein.
Um die Übertragung von Daten zwischen den Registern des zentralen Systems auszuführen, ist eine Programmsteuerung 30 vorgesehen, die außer der Übertragung noch andere logische Operationen in
einer vorgegebenen Reihenfolge steuert. Die Programmsteuerung 30 wird von einer Inhibitionslogik 32 gesteuert, der sowohl manuell erzeugte Signale als auch innerhalb des zentralen Verarbeitungsteils erzeugte Signale zugeführt werden können. Das Weiterschalten der Programmsteuerung 30 wird durch einen Taktgeber 34 gesteuert.
Der zentrale Verarbeitungsteil ist mit einem Kernspeicher 36 und einem Trommelspeicher 38 ausge-
rüstet. Zur Ansteuerung einer bestimmten Adresse des Trommelspeichers 38 und zum Ein- und Ausspeichern von Daten sind die Stromkreise 40 vorgesehen.
Ein optisches Auslesen von Informationen kann über die Anzeigeeinheit 42 erfolgen. Die Register A und B sind für allgemeine Vorgänge vorgesehen. Das Register C ist ein Befehlsregister und arbeitet als Schieberegister. Alle Schieberegister sind mit einer Logik versehen, durch die zum Registerinhalt unter bestimmten logischen Voraussetzungen eine Einheit hinzuaddiert werden kann. Das Register D ist ein arithmetisches Register und kann als Additions- oder Subtraktionsregister benutzt werden. Das Register £ ist für allgemeine Vorgänge vorgesehen und kann z. B. als ein Speicheradressenregister verwendet werden. Das Register F sei als Speicherplatzregister bezeichnet. Das Register G ist der Anzeigeeinheit 42 zugeordnet. Die Register/?, /, / und K dienen zur Ein- und Ausgabe von Daten des Systems, während das Register U dem Locher zugeordnet ist.
Fig. 3 zeigt den Aufbau des Registers A. Jedes Register umfaßt mehrere bistabile Kippschaltungen FFl, FF2 usw., und zwar entsprechend der Anzahl von Bits, die gespeichert werden sollen. Für 18 Bits sind .also 18 bistabile Kippschaltungen vorgesehen. Jede Kippschaltung hat sowohl am Eingang als auch am Ausgang ein Gatter. Ferner sind die Ausgänge der Kippschaltungen bestimmter Bit-Positionen mit zwei Ausgangssammelleitungen 50 und 52 gekoppelt. Die Sammelleitung 50 führt zu einem Übertragungsverstärker L1 und die Ausgangssammelleitung 52 zu einem Übertragungsverstärker L 2. Die Verstärker Ll und L 2 stehen je nach der durchzuführenden Operation mit anderen Kombinationen von Ubertragungsvertstärkern M in Verbindung. Die logischen Schaltungen zwischen den L- und M-Kreisen bestehen aus ODER- und UND-Schaltungen. Die Übertragung der Signale von der Ausgangssammelleitung 50 zum Übertragungsverstärker Ll und von dort zum Übertragungsverstärker Ml entspricht einer Direktübertragung. Dies gilt auch für eine Übertragung von der Leitung 52 über den Verstärker L 2 zum Verstärker Ml. Die Ausgänge der Verstärker Ml und M2 sind an zwei Eingangssammelleitungen 54 und 56 angeschlossen, die in gleicher Weise über Gatter mit den Kippschaltungen der einzelnen Register gekoppelt sind.
Durch Ankopplung der Ausgänge der Verstärker L1 und L 2 an die Verstärker M der nächsten rechten Bit-Position ist eine Rechtsverschiebung der Daten möglich. In gleicher Weise kann eine Linksverschiebung von Daten bewirkt werden, wenn die Ausgangsverstärker L1 und L 2 an die M-Verstärker der unmittelbar links gelegenen Bit-Position gekoppelt werden.
Durch Zusammenfassen des Ausgangs des Verstärkers Ll mit dem Ausgang des Verstärkers L 2 am Eingang des Verstärkers Ml ist es möglich, die Daten der Schaltung zu löschen.
Durch Zusammenfassen der Ausgänge der Verstärkers L1 und L 2 am Eingang des Verstärkers M 2 ist es möglich, alle Daten im Ausgang gleich »1« zu machen.
Zur Komplementierung der Daten innerhalb eines Registers wird der Ausgang des Verstärkers L1 auf den Verstärker M 2 geschaltet, während der Ausgang des Verstärkers L 2 auf den Verstärker Ml geschaltet wird. In allen den anderen Bit-Positionen des Registers zugeordneten Verstärkern L und M finden die gleichen Vorgänge statt.
Die M-Übertragungsverstärker können zusätzlich zu der Verbindung mit den Eingangssammelleitungen der einzelnen Bit-Positionen der Registerreihe mit Anschlüssen für die Verbindung zur Programmsteuerung versehen sein. Dies wird in vorteilhafter Weise nach dem in Fig. 4 dargestellten Blockschaltbild
ίο ausgeführt.
Wenn in der in F i g. 3 wiedergegebenen Schaltung eine Information mit einer Wortlänge von 18 Bits vom Register B zum Register A übertragen werden soll, werden die Zustände der einzelnen Kippschal-
j 5 tungen des Registers B von den zugeordneten Ausgangsgattern, die mit den Ausgangssammelleitungen 50 und 52 verbunden sind, abgelesen. Die Information wird dann an die L-Verstärker übertragen und gelangt über die M-Verstärker wieder zurück an
2u die Eingangssammelleitungen 54 und 56. Beim Durchschalten der Gatter am Eingang des Registers A wird die Information in das Register A übertragen. Ähnliche Übertragungen können zwischen den anderen Registern vorgenommen werden.
F i g. 4 zeigt die Mittel zum Informationsaustausch mit der Programmsteuerung 30. Derartige Mittel können ein manuelles Register 60 mit den Positionen AR, A s bis ER, Es einschließen und sowohl einen Satz von Schaltern mAR, mAs bis mER, mEs als auch Eingangsklemmen cmAR, cmAs bis cmER, cmEs, die Signale aus den M-Verstärkern in der Registerreihe gemäß F i g. 3 empfangen, umfassen.
Für die Übertragung der Signale zu den bistabilen Inhibitionsstufen der Programmsteuerung gemäß Fig. 5 sind Übertragungskreise vorgesehen, die so ausgelegt sind, daß sie Signale AR, As bis EK, Es erzeugen.
Das in F i g. 4 getrennt dargestellte manuelle Register 60 kann als ein Register in der Hauptregisterkombination gemäß F i g. 3 vorgesehen sein.
In F i g. 5 sind Einzelheiten der in Verbindung mit dem Rechner verwendeten Programmsteuerung gezeigt. Die Programmsteuerung enthält mehrere sättigbare Magnetkerne 1 bis 20. Durch diese Kerne sind nach einem bestimmten Schema Drähte gefädelt, um die gewünschten Steuerwirkungen sowohl mit der Programmsteuerung als auch ohne diese durchzuführen. Es sind vier verschiedene Gruppen von Drähten vorgesehen. Die erste Gruppe bilden die Inhibitionsdrähte (Ansteuerdrähte), die von den bistabilen Inhibitions-Kippschaltungen AFP bis EPP und einer weiteren Kippschaltung TFP angesteuert werden. Die zweite Gruppe von Drähten umfaßt die Lesedrähte, die an die Leseverstärker SA bis SE und S7- angeschlossen sind. Durch alle Magnetkerne 1 bis 20 ist außerdem ein Treiberdraht gefädelt, der an eine Kerntreiberstufe 63 angeschlossen ist, die von, dem Taktgeber des Systems angesteuert wird. Die letzte, Gruppe von Drähten besteht aus den Ausgangs-
drähten Q1 bis Q,o, die den Kernen in fast allen Fällen einzeln zugeordnet sind. Zur manuellen Auswahl gewisser Funktionen der Schaltung sind zwei Schalter 62 und 64 vorgesehen. In der Zeichnung ist jeder einen Kern 1 bis 20 (angedeutet durch eine
waagerechte Linie) umschlingenden Draht durch einen Schrägstrich angezeigt.
Die Ausgangsdrähte O1 bis O20 können mit den Kernen 1 bis 20 in beliebiger Weise verknüpft sein,
um einen gewünschten Steuervorgang innerhalb des zentralen Verarbeitungsteils auszulösen. Die meisten Ausgangsdrähte sind mit je einem Kern verknüpft. Es ist jedoch auch möglich, daß ein Ausgangsdraht mit verschiedenen Kernen verkettet ist, wie z. B. der Ausgangsdraht O1, der sowohl mit Kern 1 als auch mit Kern 2 verkettet ist. Auch können mehrere Ausgangsdrähte mit einem einzigen Kern verkettet sein, wie beispielsweise die Ausgangsdrähte O20 a und O20 mit dem Kern 20.
Im Betrieb wird das Treibersignal z. B. durch den Kern an den Ausgangsdraht O1 gekoppelt, wenn keinem der Inhibitionsdrähte des Kerns 1 ein Sättigungsstrom zugeführt wird. Sind jedoch einer oder mehrere der Inhibitionsdrähte des Kerns 1 erregt, so ist dieser Kern bereits gesättigt, und bei der Zufuhr eines Treibersignals wird keine Flußänderung in dem Kern verursacht, und folglich wird auch in dem Ausgangsdraht O1 kein Ausgangssignal erzeugt.
Die Programmsteuerung eines Rechners muß eine große Anzahl von Operationen zulassen, die je nach dem gerade vorhandenen Zustand der Programmsteuerung entweder wahlweise oder von irgendeinem Zustand abhängig variiert werden. So mag es z. B. wünschenswert sein, sequenziell eine Serie von Kernen nacheinander in den ungesättigten Zustand zu bringen. Es kann ferner erforderlich sein, über bestimmte, sich wiederholende Vorgänge zu verfügen, die so lange stattfinden, bis ein vorgegebener Zustand eintritt, oder bis von Hand eingegriffen wird.
Weiter muß die Programmsteuerung in der Lage sein, wahlweise Unterprogramme zu liefern, und zwar entweder automatisch oder aber abhängig von den Schaltzuständen zugeordneter Schalter.
Zur Erläuterung der Programmsteuerung der F i g. 5 sei angenommen, daß das erste Eingangssignal für die nachstehend zu beschreibende Folge über das Register 60 gemäß Fig. 4 manuell eingegeben wird. Das manuelle Register befindet sich z. B. in der Stellung, in der die den Kippschaltungen A0, B1, C0, D1 und E0 zugeordneten Inhibitionsdrähte alle erregt sind. Da keiner dieser Drähte mit dem Kern 1 verkettet ist, wird ein Ausgangssignal in dem Ausgangdraht O1 erzeugt, wenn diesem Kern ein Treibersignal zugeführt wird. Das Ausgangssignal des Drahtes O1 läßt sich in den dem Register der Fi g. 3 zugeordneten logischen Schaltungen verwenden. Ein manuelles Eingangssignal kann z. B. ein Befehl für das Starten eines Programms sein, welches wiederum eine im Speicher gespeicherte Befehlsfolge abruft.
Wenn der Kern 1 umgeschaltet wird, wird dieses Umschalten durch die an die Lesedrähte angeschlossenen Leseverstärker SA und Sc erfaßt. Die Ausgänge dieser beiden Verstärker, d. h. die Ausgänge Ac und Cc, sind mit den Zähleingängen der Kippschaltungen A und C verbunden, so daß bei einem Signal am Ausgang Ac die Kippschaltung/^ in die entgegengesetzte Lage gekippt und der Ausgang Λ1 markiert wird. Die Kippschaltung CFF wird ebenfalls umgekippt, so daß der Ausgang C1 markiert wird. Hierdurch wird bewirkt, daß die an die Ausgänge A1, B1, C1, D1 und E0 angeschlossenen Inhibitions- oder Ansteuerdrähte markiert werden. Das nächste Treibersignal schaltet den Kern 2 in die entgegengesetzte Lage, weil diesem Kern kein sättigender Strom zugeführt wird. Daher wird ein Ausgangssignal sowohl in dem Ausgangsdraht O2 als auch in dem Ausgangsdraht O1 erzeugt. Hierdurch können wieder bestimmte logische Manipulationen innerhalb des Rechners durchgeführt werden, und der Rechner befindet sich in einem für den nächsten Taktimpuls vorbereiteten Zustand. Dieses Vorbereiten erfolgt durch das Induzieren von Signalen in den Lesedrähten der Leseverstärker SB und SD. Der Verstärker SB erzeugt ein Signal am Ausgang Bc, das die Kippschaltung BFF umkippt. In gleicher Weise wird die Kippschaltung DFF umgekippt. Hierdurch wird bewirkt, daß beim nächsten Treibersignal der Kern 3 umschalten kann.
Wenn der Kern 3 kippt, werden in den Lesedrähten und den Leseverstärkern SB, SD und SE Signale erzeugt, die die Kippschaltungen BFF, DFF und EFF umschalten, so daß alle Inhibitionsausgänge Al bis E1 markiert werden. Hierdurch befindet sich der Kern 15 im ungesättigten Zustand und schaltet beim Auftreten des Treibersignals um, wodurch in dem Ausgangsdraht O1, ein Signal erzeugt wird. Der Kern 15 dient als Endkern für eine bestimmte Folge und bewirkt in dem vorliegenden System, daß der Programmsteuerung über die Ubertragungskreise M der F i g. 3 und die Übertragungskreise der F i g. 4 ein neuer Befehlscode zugeführt wird. Die Übertragung eines neuen Befehlscodes wiederum bewirkt eine neue Einstellung der bistabilen Inhibitionskippstufen AFF bis EFF.
Zum Zweck der Erläuterung sei angenommen, daß ein Code für eine neue Operation empfangen wird, der den Kern 8 auswählt, also den nächsten Kern in der Folge, der nicht gesättigt ist. Der Code hierfür ist A0, B0, C1, D1 und E1, d. h., die Ausgänge A0, B0, C1, D1 und E1 sind markiert. Wenn der Kern 8 umschaltet, wird ein Ausgangssignal erzeugt, das die Kippschaltung AFF umkippt, so daß der nächste in der Folge vorbereitete Kern der Kern 9 ist. Durch die Umschaltung der Kippschaltungen AFF, BFF und Efp infolge des Umschaltens des Kerns 9 wird als nächster der Kern 10 ausgewählt. Durch Umschalten der Kippschaltungen AFF und EFF infolge der Umschaltung des Kerns 10 wird als nächster der Kern 15 ausgewählt, wodurch aus dem Rechner ein Code für eine neue Operation angefordert wird.
In vielen Fällen ist es wünschenswert, an einer bestimmten Stelle des Programms ein Unterprogramm auszuführen. Zum Zweck der Erläuterung ist die vorliegende Programmsteuerung mit einem Unterprogramm versehen, das unmittelbar vor dem Schalten desjenigen Kerns aufgerufen wird, der einen Code für eine neue Operation anfordert. Für diesen Zweck ist eine Kippschaltung TFF vorgesehen worden, die durch die Schalter 62 und 64 gesteuert wird. Diese Schalter werden betätigt, wenn dieses besondere Unterprogramm ausgeführt werden soll. Dazu wird die Kippschaltung TFF eingestellt, so daß der entsprechende Inhibitionsdraht den Kern 15 sättigt. Der Kern 14 wird gesättigt, wenn der an den Ausgang T angeschlossene Draht erregt wird.
Der Kern 15 ist mit den gleichen Inhibitionsdrähten verkettet wie der Kern 14, soweit es die Kippschaltungen A FF bis Efp betrifft. Der einzige Unterschiedliegtim Anschluß der Kippschaltung TFF. Falls die Kippschaltung TFF durch Schließen der Schalter 62 und 64 eingestellt worden ist und die vorhergehenden Operationen eingeleitet worden sind, führt der Start des Programms im Kern 1 und das Weiterschalten zum Kern 2 und dann zum Kern 3 die Programmschritte in der normalen Weise aus. Wenn jedoch an
Stelle des Weiterschaltens zum Kern 15 zum Abruf eines Codes für eine neue Operation ein sättigendes Signal am Kern 15 und am Kern 14 kein sättigendes Signal vorhanden ist, wird der Kern 14 ausgewählt. Die Auswahl des Kerns 14 macht ein Unterprogramm wirksam, welches das Schalten der Kerne 4, 5, 6 und 7 bewirkt. Dies erfolgt dadurch, daß beim Kippen des Kerns 14 das damit verbundene Umschalten der zugeordneten Kippschaltungen den Kern 4 als nächsten auswählt, der beim Auftreten des Treibersignals umkippt. Die Auswahl setzt sich fort durch die Kerne 5, 6 und 7, und die Umschaltesignale, die vom Kern 7 abgeleitet werden, wählen wieder die Inhibitionsdrähte auss die normalerweise den Kern 15 auswählen würden. Der Kern 15 wird in diesem Augenblick ausgewählt, damit die Lesewicklung und der Verstärker ST dann, wenn der Kern 14 kippt, die Kippschaltung T,.,.- umkippen, so daß jetzt der Iruhibitionsdraht am Ausgang T markiert wird.
Wenn der Kern 15 gekippt wird, kann der Code für eine neue Operation angefordert werden, der z. B. den Kern 8 auswählt. Wenn der Kern 15 umschaltet, wird ein Signal vom Lesedraht auf den Verstärker S7- gegeben, der wiederum ein Umschaltsignal an die Kippschaltung TFF abgibt. Sobald der Kern ausgewählt wird, der die ausgewählte Folge beendet, wird das Unterprogramm durch den Kern 14 eingeleitet. Dieser Vorgang kann so oft wiederholt werden, wie das Unterprogramm gebraucht wird.
Wenn der nächste Operationscode vom zentralen Verarbeiter aufgerufen wird, wird, so sei angenommen, der Kern 16 ausgewählt. Weiter sei angenommen, daß ein sich wiederholendes Programm gebraucht wird, dessen Art der Wiederholung von verschiedenen Bedingungen abhängt. Die in der Folge ausgewählten Kerne, die von der Auswahl des Kerns 16 abhängen, schließen die Folgeauswahl der Kerne 16, 17, 18 ein und wiederholen dann den Vorgang mit Hilfe der Kerne 16, 17 und 19. Aus dieser Kernanordnung ergibt sich, daß eine Serie von Kernen in einer bestimmten Folge zyklisch abgetastet werden kann. Um eine bestimmte Folge zu beenden, kann innerhalb der Register ein vom System abgeleitetes Steuersignal erzeugt werden, welches anzeigt, daß eine bestimmte repetitive Operation abgeschlossen ist. Beispielsweise kann der Kern 15 oder ein anderer Kern in der Folge, wie etwa der Kern 20, erregt werden, der bei seiner Auswahl seinerseits zum Kern 15 weiterschaltet.
Innerhalb der Umlauffolge, die in der dargestellten Programmsteuerung erzeugt wird, ist es wünschenswert, die Kerne 18 und 19 abwechselnd auszuwählen. Hierbei kann die Tatsache, daß der Kern 18 in dem einen Zyklus abgetastet wurde, so lange gespeichert werden, bis der Kern 19 umgeschaltet wird. Diese Tatsache wird wiederum festgehalten, so daß der Kern 19 beim nächsten Zyklus nicht kippt. Dieses Speichern des Zustandes des Umlaufes kann mit einer der Kippschaltungen, im dargestellten Fall der Kippschaltung EFF, und mit der entsprechenden Anzahl von zugeordneten Drähten erfolgen.
Die Kerne 11, 12 und 13 können so angeordnet sein, daß ein Ausgangssignal abgegeben wird, wenn bestimmte Eingangskombinationen mittels der Inhibitionsdrähte markiert werden. Dies kann auch mit anderen Kernen der Programmsteuerung zusammenfallen.
Die erfindungsgemäße Programmsteuerung zeichnet sich durch eine große Flexibilität und Erweiterungsmöglichkeit aus. Bei einem Ausführungsbeispiel wurden, z. B. über 700 Magnetkerne vorgesehen. Hierdurch war eine erhebliche Vereinfachung durch Normung der logischen Schaltkreise des Rechners möglich.

Claims (10)

Patentansprüche:
1. Elektronische Programmsteuerung mit einer Vielzahl von sättigbaren Magnetkernen, einer Vielzahl von durch bestimmte Kerne verlaufenden Ansteuerdrähten, einem mehrstufigen Steuerregister mit bistabilen Stufen, deren Ausgänge mit bestimmten Ansteuerdrähten verbunden sind und im markierten Zustand die zugeordneten Kerne sättigen, und Ausgangsdrähte, die durch alle Kerne verlaufen und einen Wechsel des Sättigungszustandes jedes Kerns anzeigen, dadurch gekennzeichnet, daß Leseverstärker (S A ... S7-) zwischen auf bestimmten Kernen vorgesehenen Lesedrähten und bestimmten Eingängen der Steuerregister (A FF ... TFF) nach einem vorbestimmten Plan vorgesehen sind und daß eine taktgesteuerte Kerntreiberstufe (63) mit allen Kernen (1... 20) gekoppelt ist und jeden nicht gesättigten Kern umschaltet, so daß jeder umkippende Kern den Zustand der mit den betreffenden Lesedrähten verbundenen Registerstufen (AFp . .. Tn) in den entgegengesetzten Zustand ändert.
2. Programmsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß sie zur Einleitung einer ausgewählten Folge von Operationen von Hand (über Einheit 60) einstellbar ist.
3. Programmsteuerung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß sie zur Einleitung einer automatisch gesteuerten Programmfolge mit Eingängen (AR,AS . .. ER, E5) versehen ist, die mit dem zentralen Verarbeitungsteil eines Rechners verbunden werden können.
4. Programmsteuerung nach Anspruch 2, dadurch gekennzeichnet, daß mit jedem der beiden Eingänge (AR, A5... ER, E5) der bistabilen Mitel (60) Stufen (AFF . .. EFF) zum Einstellen in einen der beiden stabilen Zustände verbunden sind.
5. Programmsteuerung nach Anspruch 3, dadurch gekennzeichnet, daß die bistabilen Stufen Eingangsanschlüsse (A R, As . . . ER, E5) zur Aufnahme von Steuerdaten aus einem Rechner haben.
6. Programmsteuerung nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die an die Leseverstärker (5,4 . . . ST) angeschlossenen Lesedrähte so mit den Kernen (1 bis 20) verknüpft sind, daß der Zyklus die Flußwechselfolge der Kerne wiederholt.
7. Programmsteuerung nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß zwei der Kerne zu einem Paar (14, 15) zusammengefaßt sind, wobei die diesen Kernen zugeordneten Lesedrähte so angeordnet sind, daß nur einer der beiden Kerne während jeder einzelnen Periode der Flußänderungen umschalten kann, wobei sich das Umschalten der
709 517/246
Kerne in aufeinanderfolgenden Zyklen abwechselt.
8. Programmsteuerung nach Anspruch 7, dadurch gekennzeichnet, daß einer der beiden Kerne (14, 15) bei einem Flußwechsel ein Unterprogramm in der Steuerung einleitet, während der andere eine Ausgabe von Daten aus einem Rechner bewirkt.
9. Programmsteuerung nach Anspruch 7 oder 8, gekennzeichnet durch Schalteinrichtungen, die so betätigbar sind, daß die bistabilen Stufen zurückgestellt werden.
10. Programmsteuerung nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Folge von Flußwechseln in den Kernen beim Auftreten einer Flußänderung in einem bestimmten Kern beendet wird und daß dabei einem Rechner ein Signal zur Ausgabe von Daten übermittelt wird.
In Betracht gezogene Druckschriften:
Elektronische Rundschau, 1955, H. 10, S. 349 bis 353.
Hierzu 1 Blatt Zeichnungen
709 517/246 2.67 © Bundesdruckerei Berlin
DEM46690A 1959-09-30 1960-09-29 Elektronische Programmsteuerung Pending DE1235635B (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US843515A US3157862A (en) 1959-09-30 1959-09-30 Controller for a computer apparatus
US363042A US3345611A (en) 1959-09-30 1964-04-10 Control signal generator for a computer apparatus

Publications (1)

Publication Number Publication Date
DE1235635B true DE1235635B (de) 1967-03-02

Family

ID=27001876

Family Applications (1)

Application Number Title Priority Date Filing Date
DEM46690A Pending DE1235635B (de) 1959-09-30 1960-09-29 Elektronische Programmsteuerung

Country Status (3)

Country Link
US (1) US3345611A (de)
DE (1) DE1235635B (de)
GB (1) GB968996A (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3478322A (en) * 1967-05-23 1969-11-11 Ibm Data processor employing electronically changeable control storage
GB1378144A (en) * 1971-07-23 1974-12-18 Int Computers Ltd Data processing arrangements
US3798612A (en) * 1971-09-13 1974-03-19 Allen Bradly Co Controller programmer
FR2178762B1 (de) * 1972-04-05 1974-08-02 Alsthom Cgee
US3753243A (en) * 1972-04-20 1973-08-14 Digital Equipment Corp Programmable machine controller
JPS4968636A (de) * 1972-11-04 1974-07-03
US3921146A (en) * 1973-01-05 1975-11-18 Gen Electric Programmable data processor and controller system
US3924240A (en) * 1973-04-09 1975-12-02 Gen Electric System for controlling processing equipment
US3940759A (en) * 1974-06-24 1976-02-24 Westinghouse Electric Corporation Analog signal processing system with correction for amplifier offset

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3034101A (en) * 1956-08-08 1962-05-08 North American Aviation Inc Device for providing inputs to a digital computer
NL225745A (de) * 1957-03-12
NL236961A (de) * 1958-03-10
GB915781A (en) * 1959-02-09 1963-01-16 Nat Res Dev Improvements in or relating to electronic digital computers
US3067937A (en) * 1959-06-08 1962-12-11 Ibm Control element for computing devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Also Published As

Publication number Publication date
GB968996A (en) 1964-09-09
US3345611A (en) 1967-10-03

Similar Documents

Publication Publication Date Title
DE2457312C3 (de) Anordnung zur Durchführung arithmetischer oder logischer Operationen an ausgewählten Gruppen aufeinanderfolgender Bits in einer Datenverarbeitungsanordnung
DE2936913C2 (de) Anordnung zur Steuerung von Eingabe und Ausgabe bei einer programmierbaren Logiksteuerung
DE2355993B2 (de) Programmierbare datenverarbeitungsanlage
DE2322674B2 (de) Mikroprogramm-Steuereinrichtung
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2145120A1 (de) Digitales Datenverarbeitungsgerat
DE2727876B2 (de) Steuereinrichtung mit einem Mikroprozessor
DE2825190C3 (de) Programmierbare logische Anordnung
DE2854782C2 (de) Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher
DE2440628A1 (de) Datenverarbeitungsanlage mit mikroprogrammierung
DE1213144B (de) Anordnung zur Verarbeitung von Daten
DE1235635B (de) Elektronische Programmsteuerung
DE1499730A1 (de) Einrichtung zur Speicherauswahl
DE1115488B (de) Datenverarbeitungssystem
DE1266026B (de) Verfahren und Anordnung zum Verhüten einer Änderung eines Speichermhaltes
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE1234054B (de) Byte-Umsetzer
DE1230083B (de) Vorrichtung zum selbsttaetigen Aufrufen von Teilen eines Magnetkern-Matrixspeichers
DE1107432B (de) Elektronische Rechenmaschine
DE1212748B (de) Datenverarbeitende Maschine mit Programmunterbrechung
DE1276375B (de) Speichereinrichtung
DE2150292C2 (de) Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen
DE1499191C3 (de) Elektronische Einrichtung für eine Datenverarbeitungsanlage
DE2440627C2 (de) Mikroprogrammierter Rechner