REQUEST SELECTION CONTROL IN A PROCESSOR-MEMORY CONNECTION SYSTEM

Abstract: 1. A request selection control unit in a connection system between a plurality of independently addressable storage modules (e.g. M0 and M1) and a plurality of processors (e.g. P0 to P2) which direct operation requests to the storage modules, characterised by - request flip-flops (PxRFF) for the separate, temporary storage of request control signals (PxSTROBE) of the individual processors (Px), - a further RS-flip-flop (REQUEST) which is set by the existance of a request and is reset by a release signal (RESINT) which signals the establishment of a processor-store connection or signals the seizure of the storage module requested by the processor which currently has the highest priority, - registers (REGPREQ, REGMFREE) which store the request control signals (PxSTROBE) which occur when the RS-flip-flop (REQUEST) is set, and module-free-signals (MyFREE) which indicate the availability status of the storage modules (My), - a binary counter (PRCOUNT) for priority permutation which is advanced in stepped fashion by the release signal (RESINT) and whose counting volume corresponds to the number (p) of processors (Px) and whose count determines the priority sequence of the processors, - a programmable logic arrangement (LE) which, with p processors (Px, x=0...p-1) and m storage modules (My, y=0...m-1) forms a total of p**2 . m product terms and has p+m+p . 1d m+1d p inputs and p+m+1 outputs, where the request control signals (PxREQ) stored in the registers (REGPREQ, REGMFREE), the module-free signals (MyFREE), the output signals (PRIORA, PRIORB) of the binary counter (PRCOUNT) for priority permutation, and the addresses (PxSELM) of the storage modules (M0, M1) addressed by the requesting processors (P0 to P1) occur at the inputs, whereas signals (SELPx, SELMy) for the individual identification of the selective processor (Px) and of the address storage module (My), and a signal (SELECT) which characterises the availability of the addressed storage module (My) are available at the outputs.

Description: Anforderungsauswahlsteuerung in einem Prozessor-Speicher Verbindung# system. In Datenverarbeitungsanlagen mit mehreren Prozessoren und einem zentralen Speicher bzw. einer zentralen Steuerung können Operationsanforderungen der Prozessoren gleichzeitig oder nahezu gleichzeitig auftreten. Den Prozessoren bzw. ihren Anforderungen müssen daher unterschiedliche Prioritäten zugeordnet werden. Eine Prioritätslogik entscheidet, welche Anforderung als nächste Bearbeitet wird. Um alle Prozessoren möglichst gleich zu behandeln, wurde bereits vorgeschlagen, eine Prioritätsauswahlschaltung mit einem einfachen Vertauschungsalgorithmus für die Prioritätsreihenfolge einzusetzen (P31 26 384.4). In Multiptozessoranlagen sind häufig mehrere. unabhängig adressierbare Speichermoduln vorhanden, zu denen die Prozessoren zugreifen können. Das geschieht über einen sogenannten Vermittlungsknoten, der gewöhnlich aus der Prioritätslogik und aus einer Durchschaltesteuerung zur Übermittlung von Anfcrderungsparametern, wie Modus-Signalen und Adressen, eines Prozessors an den von diesem Prozessor adressierten Speichermodul besteht. Wenn sich die Prioritätslogik für die Anforderung eines Prozessors entschieden hat, wird die Durchschaltesteuerung belegt. Ist jedoch der gewünschte Speichermodul anderweitig in Anspruch genommen, dann bleibt der Vermittlungsknoten blockiert, auch wenn ein zweiter Prozessor auf einen anderen, möglicherweise freien Modul zugreifen =aöchte. Diese unnötigen Wartezeiten lassen sich gemäss einem weiteren Vorschlag (P 31 18 818.4) mit Hilfe eines took-Ahead-Verfahrens weitgehend vermeiden. Hierbei wird vor der Belegung der Durch schaltesteuerung geprüft, ob der von dem Prozessor mit der jeweils höchsten Priorität angexorderte Speichermodul verfügbar ist. Ist das nicht der Fall, dann wird diese Anforderung zurückgestellt, die Prioritätslogik freigegeben und eine gegebenenfalls vorliegende Anforderung eines Prozessors mit niedrigerer Priorität in gleicher Weise untersucht. Verläuft diese Prüfung positiv, dann erfolgt die Durchschaltung der Anforderungsparameter zu dem angeforderten Speichermodul. In der Praxis erweist es sich als vorteilhaft, sowohl die Prioritätsvertauschung als auch das Look-Ahead-Verfahren anzuwenden. Die Rombination der bisher vo.#geschlagenen Schaltungsanordnungen zur Durchführung der beiden Massnahmen führt jedoch zu einer Gesamtschaltung, die wenig übersichtlich ist und einen hohen Aufwand erfordert. Der Erfindung liegt die Aufgabe zugrunde, eine Schaltungsanordnung anzugeben, die die Prioritätslogik einschliesslich der Prioritätsvertauschung umfasst, die Durchführung des Look-Ahead-Verfahrens ermöglicht, bei besserer Übersichtlichkeit geringeren Aufwand erfordert und an veränderte Voraussetzungen in Bezug auf die Zahl der Prozessoren und Speichermoduln leichter anpassungsfähig ist. Gemäss der Erfindung wird diese Aufgabe durch die Merkmale im kennzeichnenden Teil des Patentanspruchs 1 in Verbindung mit den Merkmalen des Oberbegriffs gelöst. Im folgenden wird die Erfindung anhand eines in & r Zeich- nung dargestellten Ausführungsbeispiels näher beschrieben. Es zeigt: Fig.1 eine Übersicht über ein Prozessor-Speicher-Verbin dungssystem, Fig.2a u. 2b eine Anforderungsauswahlsteuerung gemäss der Erfindung. Die Figur 1 zeigt das Schema eines Prozessor-Speicher Verbindungssystems mit p = 3 Prozessoren PO - P3, die zu m = 2 Speichermoduln MO und M1 zugreifen können. Jedem Prozessor ist ein Register RO bis R2 zur Zwischenspeicherung der schon erwähnten Zugriffs-oder Anforderungsparameter und der Schreibdaten zugeordnet. Sollen, wie üblich, Speicherzugriffe mit fortlaufenden Adressen (streaming) möglich sein, sind im allgemeinen mehrerer sol cher Register hintereinander vorgesehen. Das gilt vor allem dann, wenn die Prozessoren die Daten schneller ausgeben als ihre Eingabe in den Speichermodul erfolgt. Eine weitere logische Ebene wird durch die Verbindungssteuerungen gebildet. Hierunter fallen die Anforderungssteuerung ANFST und eine Übertragungssteuerung RST, welche die Übermittlung der Lesedaten aus den- Speichermoduln MO und M1 zu den Prozessoren PO bis P2 regelt. Der Anforderungssteuerung zugerechnet sind auch Multiplexeranordnungen zur Durchschaltung der Anforderungsparameter und der Schreibdaten. Auf die genannten Einrichtungen zur Über- tragung von Parametern und Daten soll im folgenden nicht näher eingegangen werden. Es genügt, festzuhalten, dass die Wegedurchschaltung zwischen dem anfordernden Prozessor und dem von ihm durch bestimmte signifikanten Adressenbits adressierten Speichermodul nur dann erfolgt, wenn dieser auch verfügbar, d.h. nicht anderweitig belegt ist. Jeder der zu einem Multiprozessorsystem zusammengeschlossenen t Prozessoren kennzeichnet seine Absicht, zum Speicher zuzugreifen, durch ein Signal PxSTROBE (x = O... p-l) Es wird davon ausgegangen, dass dieses Signal stets von einer Adresse begleitet ist, die neben einem modulinternen Speicherplatz den gewünschten Speichermodul My(y = O.,.m-l) selbst aus der Gesamtzahl m der vorhandenen Speichermoduln auswählt Weiter wird vorausgesetzt, dass jeder Speichermodul My ein Signal MvFREE zur Anzeige seines Belegungszustandes aussenden kann. Vorzugsweise Wird das Signal MyFREE schon Kurz vor Beendigung einer laufenden Speicheroperation ausgegeben, da die Vorbereitung eines neuen Speicherzugriffs eine gewisse Zeit in Anspruch nimmt. Treffen von mehreren Prozessoren gleichzeitig oder nahezu gleichzeitig Anforderungs-Steu#rsignalen ein oder liegen bereits noch nicht bedingte Anforderungen vor, dann wird zunächst der vorrangige Prozessor ermittelt. Erweist sich dem der von/allein anfordernden bzw. ausgewählten Prozessor gewünschte Speichermodul als belegt, was sich anhand der von den Speichermoduln gelieferten Belegungsinformationen leicht erkennen lässt, dann wird das Anforderungs-Steuer- signal dieses Prozessors vorläufig zurückgestellt. Damit besteht die Möglichkeit, dass sich nun die schon ursprünglich vorliegenden oder inzwischen eingegangenen Anforderungen weiterer Prozessoren unverzüglich durchsetzen können Eine für die Ausführung der geschilderten Massnahmen geeignete Schaltungsanordnung ist in den Figuren 2a und 2b dargestellt. Die zwischen den Schaltungsteilen in Figur 2a und 2b übergreifenden Verbindungslinien sind zur leichteren Erkennbarkeit ihrer Zusammengehörigkeit mit Kleinbuchstaben bezeichn##Einige weitere Verbindungen sind aus Gründen der besseren Übersicht nicht eingezeichnet. Die Zusammengehörigkeit der entsprechenden Anschlusspunkte ist durch ihre übereinstimmende Kennzeichnung mit Signalnamen erkennbar. Einige weitere Verbindungen sind aus Gründen der besseren Übersicht nicht eingezeichnet. Die Zusammengehörigkeit der entsprechen#den Anschlusspunkte ist durch ihre tberein- stimmende Kennzeichnung mit Signalnamen erkennbar. Jeden der (in Figur 2a nicht dargestellten) Prozessoren PO bis P2 ist eine Anforderungskippstufe zugeordnet, an deren Takteingängen die Anforderungs-Steuersignale POSTROBE, PlSTROBE bzw. P2STROBE anliegen. Die Dateneingänge sind mit einem dem hohen binären Signalpegel entsprechenden Potential verbunden Die Anforderungskippstufen PORFF bis P2RFF sind, für alle weiteren Kippstufen, die nicht ausdrücklich davon ausgenommen sind, sogenannte Master-Slave-Flip-Flops, bei denen die einzugebende Information am Ausgang erst mit der abfallenden Flanke eines positiven Übernahmetakt- impulses erscheint. Da die eingesetzten Master-Slave- Flip-Flops, wie aus der Zeichnung ersichtlich ist, Eingänge für inverse Übernahmetaktimpulse besitzen, erfolgt die Einstellung der Ausgänge auf die am Dateneingang anliegende Information bei positiven Flanken der Übernahmeimpulse. Die Ausgänge der Anforderungskippstufen PORFF bis P2RFF sind mit den Setzeingängen einer in bekannter Weise aus zwei tiberkreuz rückgekoppelten NOR-Gliedern gebildeten, asynchronen RS-Kippstufe REQUEST und mit den Dateneingängen eines Registers REGPREQ verbunden. Das für das Rücksetzen der RS-Kippstufe REQUEST vorgesehene Signal RESINT möge zunächst den binären Wert Null haben und die Kippstufe REQUEST somit nicht beeinflussen. Das Setzen der RS-Kippstufe REQUEST durch das zuerst eingetroffene Anforderungs-Steursignal, beispielsweise durch das Signal POSTROBE, löst weitere Vorgänge aus die im folgenden behandelt werden. Vorher ist jedoch noch darauf hinzuweisen, dass die RS-Kippstufe REQUEST auch nach Beendigung eines nach Abschluss einer vorausgehenden Auswahlentscheidung ausgegebenen Rücksetzsignals RESINT (RESINT für Zwischenräume Null) erneut gesetzt wird, wenn mindestens eine der Anforderungsstufen PORFF bis P2RFF bereits gesetzt ist. Durch das Setzen der RS-Kippstufe REQUEST werden die bisher transparenten Register REGPREQ und REGMFREE verriegelt. Wie ersichtlich, sind die Dateneingänge des Registers REGPREQ mit den Ausgängen der Anforderungs-Kippstufen PORFF bis P2RFF verbunden, an den Dateneingängen des Registers REGPREQ liegen die schon genannten Modulfrei-Signale MOFREE und M1FREE an. Mit der Verriegelung der Register REGPREQ und REGMFREE ändern sich deren Ausgängssignale auch bei einer Veränderung der Konstellation der Eingangssignale nicht mehr. Da die Verriegelung asynchron zu gegebenenfalls noch eingehenden Anforderungs-Steuersignalen und Modulfrei- Signalen erfolgt, muss vor der Weiterverarbeitung der Registerausgangssignale eine feste Zeit t1 abgewartet werden, um evtl. Einschwingvorgänge abklingen zu lassen. Da beide Register stets gleichzeitig und gleichsinnig gesteuert werden, können sie auch durch ein gemeinsames Register ersetzt werden. Neben der Festlegung der beim Setzen der RS-Kippstufe REUUEST vorliegenden Anforderungen und Modulfrei-Signale ist auch die Gültigkeit der die Anforderungen begleitenden Parameter, hier insbesondere der Adressen PxSELM für die BmAimmung des gewünschten Speichermoduls von Bedeutung. Die von den Prozessoren PO bis P3 gelieferten Auswahladressen werden in binär codierter Form geliefert. Die Angabe POSE2M = 0 bedeutet die Adressierung des Speichermoduls MO durch den Prozessor PO, während beispielsweise P2SELM = 1 besagt, dass der Prozessor P2 den Speichermodul M1 anfordert. Die Adressenangaben werden selbstverständlich nur beachtet, wenn der betreffende Prozessor tatsächlich eine Anforderung gestellt hat. Die Gültigerklärung der Modulauswahladressen und der übrigen, im vorliegenden Zusammenhang nicht näher interessierenden Parameter geschieht mit der fallenden Flanke der Anfordergungs-Steuersignale POSTROBE bis P2STROBE, Zu diesem Zweck werden die mit Hilfe von Invertern IO bis I2 invertierten Signale den Takteingängen von weiteren Anforderungskippstufen POPARFF bzw. P2PARFF zugeführt, deren Dateneingänge an dem der binären "1" entsprechenden Potential liegen. Die Ausgänge der Anforderungskippstufen POPARFF bis P2PARFF sind mit den Setzeingängen einer aus zwei NOR-Gliedern mit gegenseitiger Rückkopplung gebildeten RS-Kippstufe PARAM verbunden. Die RS-Kippstufe PARMM wird also indirekt durch die Rückflanke des zuerst eingegangenen Anforderungs-Steuersignals oder durch den Wegfall des schon genannten Rücksetzsignals RESINT gesetzt, wenn zu diesem Zeitpunkt mindestens eine der Anf.orderungskippstufen POPARFF bis P2PARFF bereits gesetzt war. Das Setzen der RS-Kippstufe PARAT kennzeichnet die Gültigkeit der Parameter. Die Ausgänge der RS-Kippstufen REQUEST und PARAT sind mit den Eingangen eines UND-Glieds U1 verbunden, wobei in den ersten Verbindungsweg ein Verzögerungsglied DEL1 mit der schon erwähnten Signallaufzeit Z 1 von etwa 18ns eingefügt ist. Das Ausgangssignal des UND-Gliedes U1 dient zur Erzeugung von Taktimpulsen und des Rücksetzsignals RESINT. Auf Einzelheiten wird noch eingegangen werden. Die an den Ausgängen der Register REGPREQ und REGMFREE anliegenden Informationen POREQ bis P2REQ und MOFREE, M1FREE, sowie die Modulauswahladressen POSELM bis P2SE#M und die Ausgangssignale PRIORA und PRIORB eines durch jedes Freigabesignal RESINT um eine Zähleinheit weiterge schälteten Binär zählers PRCOUNT zur Prioritätsvertauschung wer#den einer Logikeinheit LE zugeführt. Der Zählerstand des Zählers PRCOUNTbestimmt in an sich bekannter Weise die Prioritätsreihenfolge der Prozessoren PO bis P2. Sie lässt sich in folgender Weise den Ausgangssignalen PRIORA und PRIORB des Zählers PRCOUNT zuordnen. EMI8.1 <tb> <SEP> PPIORA- <SEP> <SEP> O <SEP> 1 <SEP> 0 <tb> <SEP> PRIORB <SEP> O <SEP> 0 <SEP> 1. <tb> Prioritäts- <SEP> PO <SEP> P2 <SEP> P1 <SEP> <tb> Reihenfolge <SEP> P1 <SEP> <SEP> PO <SEP> P2 <tb> <SEP> P2 <SEP> P1 <SEP> <SEP> PO <tb> Die Logikeinheit LE bildet durch die logische Verknüpfung der genannten Eingangssignale die Ausgangssignale SELPO bis SELP2 zur Kennzeichnung des ausgewählten Prozessors, SELMO oder SELM1 zur Kennzeichnung des angeforderten und freien Speichermoduls und das Signal SELECT, dessen logi scher Wert "1" angibt, dass eine Anforderung erfolgreich war. Hat dagegen der Prozessor mit der augenblicklich höchsten Priorität einen belegten Speichermodul angefordert, führen alle Ausgänge der Logikeinheit den logischen Wert "0" . Für die Erzeugung der Ausgangssignale der Logikeinheit LE gilt allgemein: a) Die Auswahl eines Speichermoduls erfolgt, wenn ein Pro zessor eine Anforderung an diesen Modul stellt, wenn dieser Modul frei ist und wenn nicht gleichzeitig eine Anforderung eines Prozessors mit höherer Priorität vorliegt b) Die Auswahl eines Prozessors erfolgt, wenn dieser Pro zessor eine Anforderung an einen Speichermodul stellt, wenn dieser Modul frei ist und wenn nicht gleichzeitig eine Anforderung eines Prozessors mit höherer Priorität vorliegt Damit lassen sich die folgenden logischen Gleichungen aufstellen: SELMO = POREQ .. POSELM . MOFREE . PRIORA . PRIORB + POREQ . POSELM . MOFREE . PRIORA . PRIORB .P2REQ + POREQ .POSELM . MOFREE . PRIORA . PRIORB .P1REQ.P2REQ + P1REQ . P1SELM . MOFREE . PRIORA . PRIORB .POREQ + P1REQ . P1SELM . MOFREE . PRIORA . PRIOR3 .P2REQ.P1REQ + P1REQ . P1SELM . MOFREE .PRIORA . PRIORB + P2REQ . P2SELM .MOFREE .PRIORA . PRIORB .POREQ.P1REQ + P2REQ . P2SELM . MOFREE . PRIORA . PRIORB + P2REQ . P2SELM . MOFREE . PRIORA .PRIORB .P1REQ SELM1 = POREQ . POSELM .M1FREE . PRIORA . PRIORB + POREQ . POSELM . M1FREE .PRIORA . PRI0RB.P2REQ + POREQ .POSELM . M1FREE . PRIORA . PRIORB.P1REQ.P2REQ + P1REQ . P1SELM .M1FREE .PRIORA . PRIORB.POREQ + P1REQ . P1SELM . M1FREE . PRIORA . PRIORB.P2REQ.P1REQ + P1REQ . P1SELM . M1FREE . PRIORA .PRIORB + P2REQ . P2SELM .M1FREE . PRIORA . PRIORB.POREQ.P1REQ + P2REQ . P2SELM .M1FREE . PRIORA . PRIORB + P2REQ . P2SELM . M1FREE . PRIORA . PRI0RB.P1REQ; SELPO = POREQ . POSELM . MOFREE . PRIORA . PRIORB + POREQ . POSELM . MOFREE . PRI0RA . PRIORB.PERQ + POREQ . POSELM . MOFREE .. ¯PRIORA . PRIORB.P1REQ.P2REQ + POREQ . POSE2M . M1FREE . PRIORA . PRIORB + POREQ . POSELM . M1FREE . PRIORA . PRIORB.P2REQ + POREQ . POSELM . M1FREE . PRIORA . PRI0RB.P1REQ.P2REQ; Die Gleichungen für SELP1 und SELP2 sind der Gleichung für SELPO weitgehend ähnlich, mit dem Unterschied, dass anstelle der auf PO bezogenen Glieder die entsprechenden auf P1 bzw P2 bezogenen Glieder stehen. Für die jeweils ersten Terme der Gleichungen gilt dann: SELP1 = P1REQ . P1SELM . MOFREE . PRIORA . PRIORB +... SELP2 = P2REQ . P2SELM . MOFREE . PRIORA . PRIORB +... Alle Gleichungen sind aufgebaut als ODER-Verknüpfung verschiedener Produkt-Terme. Im vorliegenden Beispiel sind maximal 18 Produkt-Terme erforderlich. Auch das Signal SELECT (der ausgewählte Prozessor trifft auf einen freien Modulikann durch ODER-Verknüpfung aller 18 Produkt-Terme erzeugt werden. Die Realisierung dieser logischen Gleichungen könnte beispielweise durch PROM-Bausteine mit 10 Adresseingängen und 6 Ausgängen (1Kx6 Bit) erfolgen. Da die Ausgangssignale im Ausführungsbeispiel wegen der teilweisen Abhängigkeit voneinander nur 7 verschiedene Kombinationen bilden können, entsteht eine erhebliche Redundanz. Günstig#er ist dagegen die Verwendung einer programmierbaren Logikanordnung (PLA) aufgrund der geringeren Redundanz und der vergleichsweise kurzen Signallaufzeit. Es werden 10 Eingänge, t8 Produkt-Terme und 6 Ausgänge benötigt. Das Signal SELECT, das logisch der Disjunction der Signale SELPO bis SELP2 oder SELMO und SELM1 entspricht, ergibt sich praktisch durch die ODER-VerknUpfung aller 18 Produkt-Terme Mit dem Ausgangssignal des UND-Glieds U1, das mit Hilfe des Verzögerungsglieds DEL2 um die PLA-Signallaufzeit verzögert wird, wird das Signal SELECT bewertet. Ist SELECT = O (keine Durchschaltung zum Speichermodul möglich, da belegt) bzw. nach Invertierung SELECT - = 1,-wird nach einer weeren Verzögerung durch das Laufzeitglied DEL3 das schon mehrfach e-wähnte Freigabesignal RESINE über das ODER-Glied OR ausgegeben. Anschliessend kann eine neue Anforderungsauswahl eingeleitet werden. Das verzögerte Ausgangssignal des UND-Glieds U1 setzt eine Kippstufe TFF, wenn gleichzeitig SELECT = 1 (Durchschaltung zum Modul möglich) und die Zentralsteuerung des Vermittlungsknotens verfügbar ist, was durch das Signal MAINTCTRFREE gemeldet wird. Die Koinzidenz dieser Signale wird durch ein weiteres UND-Glied U2 festgestellt. Das Setzen der Kippstufe TFF erzeugt einen ersten Taktim- puls TP1 und nach einer Verzögerung durch das Verzögerungsglied DEL4 einen zweiten Taktimpuls TP2. Der erste Taktimpuls TP1 bewirkt die Übernahme der Signale für die Prozessor-und Modulauswahl SELPx und SELMy in Register REGSELP bzw. REGSELM und bildet mit Hilfe der UND-Glieder U3 individuell eines der Freigabeslgnale RESPOREQ bis RESP2REQ sowie nach einer Verzögerung durch die Verzögerungsglieder DEL5 eines der weiteren Freigabesignale RESPOPAR bis RESP2PAR. Durch die beiden Ff.ergabesignale werden diejenigen Anforderungskippstufen PxREFF und PxPARFF, die durch die erfolgreiche Anforderung gesetzt wurden, zurückgesetzt Die beschriebene Schaltungsanordnung kann überall dort eingesetzt werden, wo mehrere asynchrone Anforderungen zentral zusammengefasst werden, wo unterschIedliche und veränderliche Prioritäten vergeben werden und wo eine Durchschaltung von Anforderung ohne gegenseitige Blockierung und Wartezeiten erforderlich ist. Da in vielen Fällen die Zahl der eingesetzten Prozessoren und Speichermoduln von den Voraussetzungen des beschriebenen Ausführungsbeispiels abweichen wird, sind in der nachstehenden Tabelle zur Abschätzung der Zahlen der Eingänge, Produkt-Terme und Ausgänge der programmierbaren Logikanordnung PLA in Abhängigkeit von einigen ausgewählten Zahlen von Prozessoren und Speichermoduln angegeben. Die Angaben beziehen sich auf Ausführungen mit Prioritätsvertauschung. EMI12.1 <tb> <SEP> Anwendungsfall <SEP> <SEP> PLA <tb> Prozessoren <SEP> Speichermoduln <SEP> Eingänge <SEP> Produktterme <SEP> Ausgänge <tb> <SEP> 2 <SEP> 2 <SEP> 7 <SEP> 8 <SEP> <SEP> 5 <SEP> <tb> <SEP> 2 <SEP> 4 <SEP> 11 <SEP> 16 <SEP> 7 <tb> <SEP> 3 <SEP> 2 <SEP> 10 <SEP> 18 <SEP> 6 <tb> <SEP> 4 <SEP> 2 <SEP> 12 <SEP> 32 <SEP> 7 <tb> <SEP> 4 <SEP> 4 <SEP> 18 <SEP> 64 <SEP> 9 <tb> Allgemein gilt für p Prozessoren und m Speichermoduln: c + m + p . ldm + ldn Eingänge, 2 p m Produkt-Terme und p + m + 1 Ausgänge, wobei ld den Logarithmus auf die Basis 2 bedeutet, der hier naturgemäss stets eine ganze gegebenenfalls aufgerundete Zahl sein muss. Ohne Prioritätsvertauschung werden ebensoviele Ausgänge, aber nur p + m + p . 1dm Eingänge und p . m Produkt Terme benötigt. 3 Figuren 2 Patentansprüché

Claims: Patentansprüche 1. Anforderungsauswahlsteuerung in einem Verbindungssystem zwischen mehreren unabhängig adressierbaren Speichermoduln und mehreren Prozessoren, die Operationsanforderunt gen an die Speichermoduln richten, mit Anforderungskippstufen zur getrennten, zeitweiligen Speicherung von Anforderungs-Steuersignalen, mit einer ersten RS Kippstufe, die durch eine vorliegende Anforderung ge setzt und durch ein Freigabesignal rückgesetzt wird, das das Zustandekommen einer Prozessor-Speicher-Verbindung oder die Feststellung der Belegung des von dem Prozessor mit der augenblicklich höchsten Priorität angeforderten Speichermoduls signalisiert und einen Binärzähler zur Prioritätsvertauschung schrittweise weiterschaltet, dessen Zählvolumen der Zahl der Pro- zessoren entspricht und dessen Zählerstand die Prioritätsreihenfolge der Prozessoren bestimmt, mit einem Register zur Einspeicherung der beim Setzen der ersten RS-Kippstufe vorliegenden Anforderungs-Steuersignale und der den Belegungszustand der Speichermoduln an- zeigenden Modulfrei-Signale, g e k e n n z e i c h n e t durch eine programmierbare Logikanordnung (LE), die bei p -Prozessoren (Px, x = O...p-1) und m Speicher 2 Moduln (My, y = O...m-1) p . m Produkt-Terme, p + m + p . ld m + ld p Eingänge und p + m + 1 Ausgänge aufweist, an deren Eingängen die Anforderungs-Steuersignale (PxREQ), die Modulfrei-Signale (MyFREE), die Ausgangssignale (PRIORA, PRIORB) des Binärzählers (PRCOUNT) zur Prioritätsvertauschung und die Adressen (PxSETM) der von den anfordernden Prozessoren (PO bis P2) adres sierten Speichermoduln(MO,Ml) anliegen und an deren Ausgängen Signale zur Kennzeichnung der Nummer (SELPx) des ausgewählten Prozessors (Px) und der Nummer (SELMy) des adressierten Speichermoduls (My) oder ein die Verfügbarkeit des adressierten Speichermoduls (My) kennzeichnendes Signal (SELECT) verfügbar sind. 2. Anforderungsauswahlsteuerung. nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t, dass ein weiterer Satz von Anforderungskippstufen (PxPAR) vorgesehen ist, die durch die Rückflanken der Anforderungs Steuersignale (PxSTROBE) gesetzt werden und deren Ausgänge mit den Setzeingängen einer zweiten RS-Kippstufe (PARAM) verbunden sind, dass die RS-Kippstufe (PARAT) durch das Freigabesignal (RESINT) zurückgesetzt wird und dassder nicht invertierende Ausgang der zweiten RS-Kippstufe (PARMM) mit dem nicht invertierenden Ausgang der ersten RS-Kippstufe (REQUEST) gemäss einer UND-Verknüpfung verbunden ist.

Inventors: GEISSDORFER, WERNER, DIPL.-ING., Geissdörfer, Werner, Dipl.-Ing.
Applicants: SIEMENS AKTIENGESELLSCHAFT BERLIN UND MUNCHEN
Application year: 1983
Main classification: G06F13
IPC codes: G06F13