DE2129268B2 - Control circuit for channel requests - Google Patents

Control circuit for channel requests

Info

Publication number
DE2129268B2
DE2129268B2 DE19712129268 DE2129268A DE2129268B2 DE 2129268 B2 DE2129268 B2 DE 2129268B2 DE 19712129268 DE19712129268 DE 19712129268 DE 2129268 A DE2129268 A DE 2129268A DE 2129268 B2 DE2129268 B2 DE 2129268B2
Authority
DE
Germany
Prior art keywords
channel
memory
request
priority
control circuit
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
DE19712129268
Other languages
German (de)
Other versions
DE2129268C3 (en
DE2129268A1 (en
Inventor
Gerry David Poughkeepsie N.Y. Granito (V.St.A.)
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2129268A1 publication Critical patent/DE2129268A1/en
Publication of DE2129268B2 publication Critical patent/DE2129268B2/en
Application granted granted Critical
Publication of DE2129268C3 publication Critical patent/DE2129268C3/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

Die Erfindung betrifft eine Steuerschaltung für Kanal-Speicheranforderungen nach dem Gattungsbegriff des Patentanspruchs 1. Eine derartige Einrichtung ist aus der DE-OS 19 56 604 bekannt. In der genannten Einrichtung sind jedoch keine Prioritätseinrichlungen zur Zuteilung einer bestimmten Priorität an die verschiedenen Kanäle beschrieben. Außerdem ist es nachteilig, wenn eine für alle Kanäle gemeinsame Kanalsammelleitung zu lange von einein bestimmten Kanal belegt wird.The invention relates to a control circuit for channel memory requests according to the generic term of claim 1. Such a device is known from DE-OS 19 56 604. In the said However, institutions are not priority institutions for assigning a certain priority to the different channels described. It is also disadvantageous if one is common to all channels Channel trunk is occupied by a certain channel for too long.

Aus der DE-AS 11 52 837 ist eine Steuerschaltung für Kanalanforderungen bekannt, die eine Prioritätseinrichtung verwendet. Bei gleichzeitigem Vorliegen von Anrufsignalen mehrerer Datenkanäle wählt die Prioritätsschaltung jeweils den Datenkanal zur Anschaltung aus, der aufgrund einer festgelegten Vorrangfolge Priorität gegenüber den anderen ebenfalls anrufenden Kanälen besitzt. Hierzu ist jedem der Kanäle ein auf ein Anrufsignal der Dateneinheit des Kanals ansprechendes Datenkanal-Flipflop zugeordnet und die Ausgänge dieses Datenkanal-Flipflops steuern eine der Anzahl der "> Datenkanäle entsprechende Anzahl Koinzidenzstufen, denen die Anschaltung des prioritätsmäßig zu bevorzugenden Datenkanals bewirkende Ausgangsflipflops zugeordnet sind. Ein zur Einstellung gelangendes Ausgangsflipflop stellt dabei zugleich das Eingangsflipflop zurück. Das Ausgangsflipflop des ausgewählten Datenkanals wird, wenn die Dateneinheit dieses Kanals ihre Datenübermittlung beendet hat, wieder zurückgestellt und es kann dann bei der zuvorigen Auswahl den nächst niedrigeren Vorrang besitzende Kanal inFrom DE-AS 11 52 837 a control circuit for channel requests is known which uses a priority device. If call signals from several data channels are present at the same time, the priority circuit selects the data channel for connection that has priority over the other channels that are also calling due to a defined order of priority. For this purpose, each of the channels is associated with an appealing to a call signal of the data unit of the channel data channel flip-flop and the outputs of this data channel flip-flops control a number of "> data channels corresponding number coincidence stages, where the connection of the terms of priority preferable data channel causing Ausgangsflipflops are assigned. The output flip-flop of the selected data channel is reset when the data unit of this channel has ended its data transmission and the next lower priority channel can then be selected in the previous selection

ι· Tätigkeit treten. Dabei werden weitere Anforderungen des ausgewählten Kanals während der Datenübermittlung blockiert.ι · Step into action. There are additional requirements of the selected channel blocked during data transmission.

Die Arbeitsgeschwindigkeit der genannten Einrichtung ist dadurch begrenzt, daß Anforderungen nacheinander abgewickelt werden, wobei jeweils verschiedene Zeiten benötigt werden, da die übermittelten Informationen beliebige Gesamtlänge haben können. Die Steuerschaltung mit der ankommenden Leitung bleibt also während der gesamten durch die KanalanforderungThe speed of operation of the above device is limited by the fact that requests are made one after the other are processed, each time being required as the information transmitted can have any total length. The control circuit with the incoming line remains so throughout the channel request

i-, gegebenen Zeit blockiert.i- blocked given time.

Eine Sperreinrichtung zur Sperrung der übrigen Kanäle während der Bedienung eines ausgewählten Kanals ist außerdem aus der DE-OS 14 87 826 bekannt.A blocking device for blocking the remaining channels while a selected one is being operated Channel is also known from DE-OS 14 87 826.

Der Erfindung liegt die Aufgabe zugrunde, Verzögern rungen bei der Annahme von Kanalanforderungen zu vermeiden und die für alle Kanäle gemeinsamen Sammelleitungen besser auszunutzen.The invention is based on the object of delaying the acceptance of channel requests and to make better use of the collecting lines common to all channels.

Diese Aufgabe wird gemäß den im kennzeichnenden Teil des Patentanspruchs 1 angegebenen MerkmalenThis task is achieved according to the features specified in the characterizing part of claim 1

ir) gelöst.i r ) solved.

Durch die Erfindung wird der Vorteil erzielt, daß Kanalanforderungen von verschiedenen Kanälen jeweils nach einem Speicherzyklus angenommen werden können. Hierdurch entfällt die Notwendigkeit, Speichereinrichtungen zur Pufferung der Kanalanforderungen vorzusehen. Außerdem wird verhindert, daß ein bestimmter Kanal zu oft die gemeinsame Kanalsammclleitung benutzt.The invention achieves the advantage that channel requests from different channels in each case can be accepted after a storage cycle. This eliminates the need for storage facilities to be provided for buffering the channel requirements. It also prevents a certain channel the common channel trunk too often used.

Weitere vorteilhafte Weiterbildungen der ErfindungFurther advantageous developments of the invention

■45 sind den Unteransprüchen zu entnehmen. Die Erfindung wird nun anhand eines in den Figuren gezeigten Ausführungsbeispiels näher beschrieben werden. Es zeigt■ 45 can be found in the subclaims. The invention will now be described in more detail with reference to an embodiment shown in the figures. It shows

Fig. 1 das Blockschaltbild einer Datenverarbeitungsanlage, 1 shows the block diagram of a data processing system,

Fig. 2 die Kanalsteuerung und Prioritätslogik der in F i g. 1 gezeigten Speichersteuerung und2 shows the channel control and priority logic of the in F i g. 1 shown memory controller and

F i g. 3 ein Zeitdiagramm der Funktionsabläufe in der in F i g. 1 gezeigten Speichersteuerung.F i g. 3 shows a time diagram of the functional sequences in the FIG. 1 memory controller shown.

Die in F i g. 1 gezeigte Datenverarbeitungsanlage, in welcher die vorliegende Erfindung Verwendung finden kann, besteht aus einer Speichersteuerung SCL) 10, welche mit den Kanälen 12 und 14 über Vielfach-Kanalsammelleitungen verbunden ist, aus einer zentralen Verarbeitungseinheit CPE 16, einem Pufferspeicher 18 und einem Hauptspeicher 20. Die Speichersteuerung 10 überwacht die Daten- und Adressenpfade zur zentralen Verarbeitungseinheit CPE, zu den E/A-Kanälen und zur Systemkonsole. Die Speichersteuerung 10 enthältThe in F i g. 1, in which the present invention can be used, consists of a memory controller SCL) 10, which is connected to the channels 12 and 14 via multiple channel bus lines, a central processing unit CPE 16, a buffer memory 18 and a main memory 20. The memory controller 10 monitors the data and address paths to the central processing unit CPE, to the I / O channels and to the system console. The memory controller 10 includes

μ insbesondere eine Kanalsteuerung 22 zur Prioritätssteuerung der Kanäle und zur Steuerung der zeitlichen Abläufe der Kanalanforderungen sowie eine Speichersammelleitungs-Steuerungslogik 24 zur Steuerung desμ in particular a channel control 22 for priority control of the channels and to control the timing of the channel requests as well as a storage bus control logic 24 to control the

Datenflusses und der Adressierung des Hauptspeichers 20.Data flow and addressing of the main memory 20.

Die Eingangs/Ausgangskanäle sind mit der Speichersteuerung 10 über Vielfach-Kanai.iammelleitungen verbunden. Ober diese Sammelleitungen werden Speicheradressen und Daten überragen, wobei es nicht darauf ankommt, von welchem Kanal diese Informationen herkommen. Zusätzlich zu diesen Vielfach-Sammelleitungen für den Informationsfluß sind Steuerte hungen zwischen den Kanälen und der Speichersteuerung als tu Schnittstellen vorgesehen.The input / output channels are connected to the memory controller 10 via multiple channels tied together. Memory addresses and data are transmitted over these bus lines, although it is not it depends on which channel this information comes from. In addition to these multiple manifolds for the flow of information are controls between the channels and the memory control as tu Interfaces provided.

Um Zugriff zum Speicher 20 zu erlangen, gibt ein Kanal 12 oder 14 ein Signal auf einer Kanalanforderungsleitung. Die Kanalsteuerung 22 beantwortet diese Anforderung dadurch, daß der Kanal mit der höchsten li Priorität Zugriff zur Steuerung erlangen kann, während alle Kanäle mit niedrigerer Priorität ausgeschaltet werden. Der Kanal, welcher Priorität erhält, empfängt von der Kanalsteuerung 22 sofort eir Signal auf der betreffenden Beaniwortungsleitung. Der Kanal gibt 2t> dann die Speicheradresse auf die ausgehende Adressensammelleitung und die Daten auf die ausgehende Datensammelleitung. Die Adresse wird im Kanalspeicher-Adressenregister CSAR und die Daten werden im Kanalspeicher-Sammelleitungsregister CSDB gespei- 2r> chert. Es kann vorkommen, daß zu diesem Zeitpunkt der Hauptspeicher durch andere Anforderung^ η belegt ist und daß dadurch die Adresse und Daien in den genannten Registern für einige Zeit gespeichert werden müssen. Es ist jedoch nicht notwendig, daß der Kanal die jo Adresse auf der Vielfach-Sammelleitung zur Verfügung hält bis Zugriff zum Speicher erlangt werden kann und die Sammelleitung wird deshalb sofort nach Speicherung der genannten Informationen in den genannten Registern frei. Die größte Verzögerungszeit, welche j> dadurch auftreten kann, daß der Speicher belegt ist. beträgt einen Speicherzyklus. Dies bedeutet, daß die Einrichtung imstande ist, in jedem Speicherzyklus eine Anforderung anzunehmen. Falls eine neue Kanalanforderung eintrifft, antwortet die Kanalsteuerung 22 sofort auf diese Anforderung, auch wenn die beiden Register CSAR und CSDB für einen Speicherzyklus belegt sind. Am Ende dieses Speicherzyklus werden die Informationen der neuen Anforderung in die beiden genannten Register gesetzt und die Kanalsteuerung wird frei auf 4r> neue Anforderungen zu antworten.To gain access to memory 20, channel 12 or 14 asserts a signal on a channel request line. The channel controller 22 responds to this request in that the channel with the highest li priority can gain access to the controller, while all channels with lower priority are switched off. The channel which receives priority immediately receives a signal from the channel controller 22 on the respective response line. The channel then gives 2t> the memory address to the outgoing address bus and the data to the outgoing data bus. The address is chert from the channel memory address register CSAR and the data in the memory channel manifold Register CSDB gespei- 2 r>. It can happen that at this point in time the main memory is occupied by other requests and that the address and files have to be stored in the registers mentioned for some time. However, it is not necessary for the channel to keep the address available on the multiple bus until access to the memory can be obtained, and the bus is therefore free immediately after the above-mentioned information has been stored in the above-mentioned registers. The greatest delay time that can occur because the memory is occupied. is one storage cycle. This means that the device is able to accept a request in every memory cycle. If a new channel request arrives, the channel controller 22 responds immediately to this request, even if the two registers CSAR and CSDB are occupied for one memory cycle. At the end of this storage cycle, the information of the new request is placed in the two registers mentioned and the channel control is free to respond to 4 r > new requests.

Die Kernspeicher-Adressensammelleitung CSAB (Fig. 1) stel'.t den Adressenpfad für Sp?icheroperationen vom Hauptspeicher zur zentralen Verarbeitungseinheit dar, sowie für Übertragungen von Blöcken von Doppelwörtern vom Hauptspeicher zum Pufferspeicher und von Einspeicher- oder Abrufanforderungen zum oder vom Hauptspeicher von der Systemkonsole oder den Kanälen.The core memory address bus CSAB (FIG. 1) provides the address path for memory operations from the main memory to the central processing unit, as well as for transfers of blocks of Double words from main memory to buffer memory and from store or fetch requests to the or from main memory from the system console or channels.

Über die Speichersammelleitung SB! werden die Daten für alle Einspeicheroperationen von der zentralen Verarbeitungseinheit CPE und der Systemkonsole entweder zum Hauptspeicher oder zum Pufferspeicher geliefert sowie von allen Einspeicheroperationen in den Hauptspeicher von den Kanälen. Über die Ausgangsda- t>o ten-Sammelleitung SBO laufen alle Daten vom Pufferspeicher und Hauptspeicher.Via the accumulator collecting line SB! the data for all storage operations are transferred from the central Processing unit CPE and the system console either to main memory or to buffer memory and all store operations into main memory from the channels. Via the output data> o All data from the buffer memory and main memory run through the central bus line SBO.

Kanalanforderungen betreffen nur den Hauptspeicher. Im Kanalspeicher-Adressenregister CSAR 30 wird die Adresse vom Kanal bereitgehalten bis der br> angeforderte Speichermodul frei ist. Um eine Überlastung des Systems durch Kanalanforderungcn zu verhindern, erhalten die Kanalanforderungen die höchste Priorität auf den Sammelleitungen der Speichersteuerung 10.Channel requests only affect main memory. In the channel memory address register CSAR 30 the address of the channel is kept available until the b r> requested memory module is free. In order to prevent the system from being overloaded by channel requests, the channel requests are given the highest priority on the bus lines of the memory controller 10.

Einspeicheroperationen von den Kanälen aus gehen nur zum Hauptspeicher. Zusätzlich wird festgestellt, ob sich die Daten der betreffenden Hauptspeicheradresse auch im Pufferspeicher befinden. Wenn das der Fall ist. so wird der Block, welcher das betreffende Wort enthält, im betreffenden Datenzuordner als rngültig bezeichnet und Wörter dieses Blockes können daraufhin nicht mehr vom Pufferspeicher abgerufen werden bevor nicht dieser Block aufs neue vom Hauptspeicher zum Pufferspeicher übertragen wurde und somit sichergestellt wird, daß immer die neueste Information sich im Pufferspeicher befindet. Die Speichersteuerung sorgt dafür, daß Blöcke von acht Doppelwörtern vom Hauptspeicher zum Pufferspeicher übertragen werden.Store operations from the channels only go to main memory. In addition, it is determined whether the data of the relevant main memory address are also in the buffer memory. If that's the case. so the block containing the word in question is designated as valid in the data allocator in question and words in this block can then no longer be fetched from the buffer memory before this block has been transferred again from the main memory to the buffer memory and is thus ensured that the latest information is always in the buffer memory. The memory control ensures that blocks of eight double words are transferred from the main memory to the buffer memory.

In den Fig. 2A und 2B ist die Kanalsteuerung 22 genauer beschrieben. Zu diesem Zwecke wird auch Bezug auf das Zeitdiagramm der F i g. 3 genommen. Für die Beschreibung eines Kanales. welcher im vorliegenden Ausführungsbeispiel verwendet werden kann, kann z. B. Bezug genommen werden auf die US-Patentschrift 34 88 633.The channel controller 22 is described in greater detail in FIGS. 2A and 2B. For this purpose will also Referring to the timing diagram of FIG. 3 taken. For the description of a channel. which in the present Embodiment can be used, e.g. B. Reference can be made to U.S. Patent 34 88 633.

Eine Speicheranforderung von einem der Kanäle 1 — N wird z. B. über die Anforderungsleitung 120 des Kanals 1 empfangen und setzt über das Und-Glied 122 die betreffende Kanalanforderungs-Verriegelungsschaltung 124. Durch diese Verriegelungsschaltung 124 wird die betreffende Kanalanforderungs-Kippschalturcg 126 gesetzt. Es wird angenommen, daß ursprünglich die Kanalsammelleitung nicht belegt ist und daß deshalb die Kanalbelegungskippschaltung 128 nicht gesetzt ist und die Leitung »blockiere alle Kanalanforderungen« 130 auf logisch »1« ist. Das Ausgangssignal der betreffenden Kanalanforderungs-Kippschaltung gelangt deshalb über das Und-Glied 132 zur Prioritätslogik 134. Falls gleichzeitig mehrere Kanalanforderungssignaie zu dieser Prioritätslogik 134 gelangen, wird das Signal des Kanals mit der höchsten Priorität angenommen und die Prioritätslogik 134 erzeugt hierauf auf einer der Ausgangsleitungen 138 ein Signal. Dieses Signal setzt hierauf eine der Kippschaltungen 140, wodurch eine Beantwortung des Anforderungssignales des Kanals eingeleitet wird. Das Ausgangssignal der betreffenden Kippschaltung 140 setzt auch eine Kippschaltung 142, welche anzeigt, daß die Anforderung des betreffenden Kanals verarbeitet wird. Hierdurch wird auch das Und-Glied 122 ausgeschaltet, so daß keine neue Anforderung vom selben Kanal angenommen werden kann bis nicht die Anforderung dieses Kanals ausgeführt ist. Das Ausgangssignal der Kippschaltung 140 wird zum betreffenden Kanal über die Leitung 144 zurückgeführt und zeigt damit dem Kanal an, daß er Priorität erhalten hat. Nach einer gewissen Umschaltverzögerung antwortet der Kanal damit, daß er eine Speicheradresse auf die Sammelleitung 36 gibt.A memory request from one of the channels 1- N is e.g. B. is received via the request line 120 of the channel 1 and sets the relevant channel request interlocking circuit 124 via the AND element 122. This interlocking circuit 124 sets the relevant channel request toggle switch 126 . It is assumed that the channel trunk is originally not busy and that the channel seizure toggle switch 128 is therefore not set and the line "block all channel requests" 130 is at logic "1". The output signal of the respective channel request flip-flop reaches therefore via the AND gate 132 to the priority logic 134. If at the same time reach several Kanalanforderungssignaie this priority logic 134, the signal of the channel is assumed to be the highest priority and then the priority logic 134 generates on one of the output lines 138 a signal. This signal then sets one of the flip-flops 140, whereby a response to the request signal of the channel is initiated. The output of the relevant flip-flop 140 also sets a flip-flop 142 which indicates that the request for the relevant channel is being processed. This also switches off the AND element 122, so that no new request can be accepted from the same channel until the request for this channel has been carried out. The output of flip-flop 140 is fed back to the relevant channel via line 144, thereby indicating to the channel that it has been given priority. After a certain switchover delay, the channel responds by putting a memory address on bus 36.

Die Prioritätslogik 134 gibt fernerhin ein Signal auf die »Kanalprioritätszyklus«-Leitung 148, welches die Kippschaltung 128 setzt und damit weitere Kanalanforderungen (über Leitung 130) verhindert bib die Kanalsammelleitung nicht mehr belegt ist. Das Signal auf der Leitung 148 setzt auch den Ausführungszähler 150 in Betrieb. Dieser Zähler steuert die Operationen während eines Speieherzykltis und ist in 12 Abschnitte unterteilt. Der genannte Speicherzyklus kann z. B. 780 Nanosekunden dauern.The priority logic 134 also sends a signal to the "channel priority cycle" line 148, which sets the toggle switch 128 and thus prevents further channel requests (via line 130) since the channel trunk is no longer busy. The signal on line 148 also sets the execution counter 150 in operation. This counter controls the operations during a storage cycle and is divided into 12 sections. Said memory cycle can e.g. B. take 780 nanoseconds.

Wenn ein ursprünglicher Ruhezustand angenommen wird, antwortet die Speichersteuerung auf Kanalanfor-If an original idle state is assumed, the memory controller responds to channel requests.

derung dadurch, daß ein Signal auf die Antwortleitung 144 innerhalb ungefähr 60 Nanosekunden gegeben wird. Im Falle mehrerer gleichzeitiger Kanalanforderungen nimmt die Speichersteuerung in jedem Fall eine Anforderung jede 780 Nanosekunden, d. h. nach jedem Speicherzyklus an. Anforderungen jedoch vom selben Kanal sind durch die Kippschaltung 142 begrenzt auf eine Anforderung pro drei Speicheiv.yklen, womit eine Blockierung des Speichers infolge wiederholter Anforderungen desselben Kanals vermieden wird.by placing a signal on response line 144 within approximately 60 nanoseconds. In the case of several simultaneous channel requests, the memory controller always accepts a request every 780 nanoseconds, ie after each memory cycle. However, requests from the same channel are limited by the flip-flop 142 to one request per three memory storage cycles, thus avoiding blocking of the memory as a result of repeated requests from the same channel.

Wenn der Kanal ein Signal auf der Anlwortleitung 144 erhält, gibt er die Speicheradresse auf Kanaladressen-Sammelleitung 36. Der Ausführungszähler 150 wird in Tätigkeit gesetzt und erzeugt zum Zeitpunkt 12 ein Signal auf dem Ausgang 152, welches die »Sammelleitung gültigw-Zeitgeberschaltung 154 in Betrieb setzt. Diese Zeitgeberschaltung erzeugt vier Ausgangssignale. Das erste Ausgangssignal 156 bringt die Kanaladresse von der Sammelleitung 36 zum Register CSA R 30. When the channel receives a signal on answer line 144 , it puts the memory address on channel address bus 36. Execution counter 150 is activated and at time 12 generates a signal on output 152 that bus valid timer circuit 154 is operative puts. This timer circuit produces four output signals. The first output 156 brings the channel address from bus 36 to register CSA R 30.

Die »E/A-gültig«-Leitung 152 setzt auch die Speichersteuerungs-Prioritäts- und -speicherzugriffssteuerung 158 in Tätigkeit und startet damit die Einspeicher- oder Ausleseoperation des Hauptspeichers. Zur gleichen Zeit setzt das Signal auf dieser Leitung die Kippschaltung 140 und die Kippschaltung 128 zurück und ermöglicht damit, daß die Kanalanforderung verarbeitet werden kann.The "I / O valid" line 152 also activates the memory control priority and memory access control 158 , thereby starting the main memory store or read operation. At the same time, the signal on this line resets flip-flop 140 and flip-flop 128 , thereby allowing the channel request to be processed.

Das Signal auf der Leitung 144 wird einem Codierer 160 zugeführt, welcher die entsprechende Kanalzahl in eine binäre Zahl umsetzt. Diese binäre Zahl wird daraufhin in einem Kellerspeicher 162 zur Pufferung gespeichert. Wenn diese binäre Zahl am Ausgang des Kellerspeichers 162 erscheint, gelangt sie über die Leitung 164 zu einem Decodierer 168, wodurch ein diesem Kanal entsprechendes Ausgangssignal erzeugt wird.The signal on line 144 is fed to an encoder 160 which converts the corresponding channel number into a binary number. This binary number is then stored in a stack 162 for buffering. When this binary number appears at the output of the stack 162 , it is passed on the line 164 to a decoder 168, whereby an output signal corresponding to this channel is generated.

Die Zeitsteuerung des Hauptspeichers steuert auch die Beantwortung der Kanalanforderungen. Zum Zeitpunkt der E/A-Bitposition 8 der Hauptspeicher-Zeitgeberschaltung wird das Ausgangssignal 170 des Decodierers 168 über das Und-Glied 172 der Kippschaltung 174 zugeführt. Hierdurch wird ein Signal auf der Leitung 175 »Kanal-N-Leiter« erzeugt, welches zum Kanal rückgeführt wird. Zum gleichen Zeitpunkt wird auch ein Signal auf der Leitung »Adressenprüfung zum Kanal« 180, »Speicherschutzverletzung zum Kanal« 182 und »ungültige Adresse zum Kanal« 184 dem Kanal zugeführt.The timing of the main memory also controls the response to the channel requests. At the time of I / O bit position 8 of the main memory timer circuit, the output signal 170 of the decoder 168 is fed to the flip-flop circuit 174 via the AND gate 172. This generates a signal on line 175 "channel N-conductor" which is fed back to the channel. At the same time, a signal on the line "Address check for channel" 180, "Memory protection violation for channel" 182 and "Invalid address for channel" 184 is fed to the channel.

Zum Zeitpunkt der E/A-Bitposition 11 wird ein Und-Glied 186 durchgeschaltet und setzt damit die Verriegelungsschaltung 188, wodurch ein Signal auf der Leitung »setze CSBO« 190 erzeugt wird. Das Signal auf der Leitung 190 bringt die Daten auf der Speicheraus- gangs-Sammelleitung 48 zum Register CSBO 26, welches hierauf die Daten auf die Kanaldaten-Sammelleitung 32 bringt At the time of the I / O bit position 11 , an AND element 186 is switched through and thus sets the interlocking circuit 188, as a result of which a signal on the line "set CSBO" 190 is generated. The signal on the line 190 takes the data on the Speicheraus- transfer bus line 48 to register CSBO 26, which then transfers the data to the channel data bus 32

Für eine Einspeicheroperation schreitet die Zeitgeberschaltung 154 bis zur Position 4 fort und erzeugt damit ein Signal auf der Ausgangsleitung 19Z Dieses Signal bringt die Kanaldaten auf die Datensammelleitung 34 und damit zum Register CSDB 28. For a storage operation, the timer circuit 154 advances to position 4 and thus generates a signal on the output line 19Z. This signal brings the channel data to the data bus 34 and thus to the register CSDB 28.

Zum Zeitpunkt der E/A-Bitposition 12 wird eines der Und-Glieder 194 durchgeschaltet und zwar in Abhängigkeit davon, welche der Kippschaltungen 174 gesetzt ist und stellt damit die dem Kanal entsprechende Kippschaltung 142 zurück. Hierdurch wird die Möglichkeit geschaffen, daß die nächste anstehende Anforderung desselben Kanals zur Verriegelungsschaltung 124 und zur Kippschaltung 126 gebracht wird. Die Kippschaltung, welche anzeigt,daß die Kanalsammellcitung belegt ist, wird durch das Signal am Ausgang 12 des Ausführungszählers zurückgestellt, wodurch die Anfor- At the time of the I / O bit position 12, one of the AND gates 194 is switched through, specifically depending on which of the flip-flops 174 is set and thus resets the flip-flop 142 corresponding to the channel. This creates the possibility that the next pending request of the same channel is brought to the latch circuit 124 and to the flip-flop circuit 126 . The flip-flop, which indicates that the channel bus is busy, is reset by the signal at output 12 of the execution counter, whereby the request

■"> derung über das Und-Glied 132 zur Prioritätslogik 134 gelangen kann. Wenn eine Kanalanforderung ansteht, wird ein Kanalprioritätszyklus 148 durchgeführt und der Ausführungs/ählcr 150 wiederum in Gang gesetzt.■ "> on the Promotion of the AND gate 132 can move to the priority logic 134th If a channel request is pending, a channel priority cycle 148 is performed and ählcr 150 in turn set in motion the execution /.

In [rig. 3 wird der Funktionsablauf für zweiIn [ r ig. 3 becomes the functional sequence for two

in Kanalanforderungen (a). (b) gezeigt. Beide Anforderungen treffen auf den Kanälen 1 und 2 zum gleichen Zeitpunkt ein. wie aus Fig.3 ersichtlich ist. Zu Beginn ist die Kanalsammelleitung nicht belegt und daher die Kippschaltung 128 zurückgestellt (j). Die Kanal-Speicheranforderungen schalten die betreffenden Kanalanforderungs-Verriegelungsschaltungen 124 (c), (d) um, wodurch die betreffenden Kanalanforderungs-Kippschallungen 126 (e), (f) gesetzt werden. Die Prioritätslogik 134 erzeugt einen Kanalprioritätszyklusin channel requirements (a). (b) shown. Both requests arrive on channels 1 and 2 at the same time. as can be seen from Fig.3. At the beginning the trunking line is not occupied and therefore the flip-flop 128 is reset (j). The channel memory requests toggle the respective channel request latches 124 (c), (d), thereby setting the respective channel request tumblers 126 (e), (f). The priority logic 134 generates a channel priority cycle

-° (g). wodurch der Ausführungszähler 150 in Gang gesetzt wird (m) . Zugleich werden auch die Kippschaltungen 128 gesetzt (j). Die Kanalsammelleitung bleibt während eines Speicherzyklus oder während der Laufzeit des Ausführungszählers 150 belegt.- ° (g). thereby starting the execution counter 150 (m). At the same time, the flip-flops 128 are also set (j). The channel bus remains busy during a memory cycle or during the run time of the execution counter 150 .

Über die Prioritätslogik 134 erhält einer der beiden Kanäle Priorität. Es wird angenommen, daß in diesem Beispiel der Kanal 1 eine höhere Priorität hat als der Kanal 2. Die Prioritätslogik 134 erzeugt deshalb auf der Leitung 138 ein Signal, wodurch die Kippschaltung 140 umgeschaltet wird (h). Ebenfalls durch ein Signal aul dieser Antwortleitung wird die Kippschaltung 142 gesetzt, welche anzeigt, daß eine Anforderung dieses Kanals ausgeführt wird. Diese Kippschaltung bleibt besetzt bis ein weiteres Schaltungssignal (x) diesem Kanal 1 zugeführt wird. Vom Kanal 1 werden keine weiteren Anforderungen mehr angenommen bis die Kippschaltung 142 zurückgestellt wird, da das Und-Glied 122 inhibiert wird.One of the two channels is given priority via the priority logic 134. It is assumed that in this example channel 1 has a higher priority than channel 2. The priority logic 134 therefore generates a signal on the line 138, as a result of which the flip-flop 140 is toggled (h). The flip-flop circuit 142 is also set by a signal on this response line, which indicates that a request for this channel is being carried out. This toggle switch remains occupied until a further switching signal (x) is fed to this channel 1. No further requests are accepted from channel 1 until the flip-flop 142 is reset, since the AND element 122 is inhibited.

Der Kanal 1 erkennt das Signal auf seiner Antwortleitung und gibt daraufhin die Hauptspeicheradresse auf die Kanal-Adressensammelleitung 36 (n) und die Kanaldaten, im Falle einer Einspeicheroperation, auf die Kanaldaten-Sanimelleitung 34 (u). Das E/A-Gültigkeitssignal (p) vom Ausführungszähier 150 setzt die Zeitgeberschaltung 154 in Gang (q). Das Ausgangssignal 156 dieses Zeitgebers schaltet eine CSAR-Verriegelungsschaltung um (r). Das E/A-HI-Prioritätsausgangssignal von der Schaltung 158 (F i g. 2B) schaltet bestimmte Torschaltungen durch.Channel 1 recognizes the signal on its response line and then forwards the main memory address to the channel address bus 36 (n) and the channel data, in the case of a store operation, to the channel data bus line 34 (u). The I / O valid signal (p) from the execution counter 150 starts the timer circuit 154 (q). The output 156 of this timer toggles a CSAR latch (r). The I / O HI priority output from circuit 158 (Fig. 2B) enables certain gates.

wodurch der Inhalt des Registers CSAR auf die Hauptspeicher-Adressensammelleitung CSAB und eine Pufferspeicher-Adressensammelleitung gegeben wirdwhereby the contents of the register CSAR on the main memory address bus CSAB and a Buffer address bus is given

Das Ausgangssignal der Position 4 der Zeitgeberschaltung 154 bringt die Daten auf der Kanaldaten-Sam melleitung in das CSDB-Register 28 für eine Einspeicheroperation (v). Außerdem werden die Daten aul die Speichereingangs-Sammelleitung SBl gebracht (w) (siehe auch F i g. 1).The output of position 4 of the timer circuit 154 places the data on the channel data sample line into the CSDB register 28 for a store operation (v). In addition, the data is aul the storage input manifold SBl brought (w) (see also Fig. 1).

Zum Zeitpunkt der E/A-Bitposition 8 wird ein Signal auf die »Kanal 1 Weiter«-Leitung gegeben (x). Für eine Abrufanforderung werden zum Zeitpunkt 10 die Ausgangsdaten auf die Speicherausgangs-Sammelleitung SBO gegeben (siehe auch F i g. 1). Zum Zeitpunkt 11 wird eine CSBO-Verriegelungsschaltung eingeschaltet und bringt dadurch die Daten auf der Speicherausgangs-Sammelleitung SBO auf die Kanaldaten-Sammelleitung. Zum Zeitpunkt 12 wird eine Datenprüf-Verrie-At the time of I / O bit position 8, a signal on the »Channel 1 Next« line (x). For a retrieval request, the Output data given to the memory output collecting line SBO (see also FIG. 1). At the time 11, a CSBO interlock circuit is switched on and thereby brings the data on the memory output bus SBO to the channel data bus. At time 12, a data verification lock is

gelungsschaltung eingeschaltet (cc).control circuit switched on (cc).

Die Ausführung der Anforderung des Kanals 2, welche gleichzeitig mit der Anforderung des Kanales 1 eintraf, wird begonnen sobald der Ausführungszähler 150 die Stellung 12 erreicht hat, d. h. sobald ein Speicherzyklus vorbei ist. Zu diesem Zeitpunkt wird die Kanalsammelleitungs-Kippschaitung zurückgestellt (j), wodurch das Ausgangssignal (y) »WEITER ZU KAN 2« zur Prioritätslogik 134 gebracht werden kann. Es beginnt hierauf ein Kanalprioritätszyklus (g), wodurch dem Kanal 2 ein Beantwortungssignal zugeführt wird (i). Hierdurch wird die dem Kanal 2 entsprechende Kippschaltung gesetzt, welche anzeigt, daß dieser Kanal besetzt ist und die Anforderung des Kanales 2 kann nunmehr ausgeführt werden (I).The execution of the request for channel 2, which occurs at the same time as the request for channel 1 arrived, the start is made as soon as the execution counter 150 has reached position 12, i. H. as soon as a Storage cycle is over. At this point the trunking toggle switch is reset (j), whereby the output signal (y) "CONTINUE TO CH 2" can be brought to the priority logic 134. It a channel priority cycle (g) then begins, as a result of which an answer signal is fed to channel 2 (i). This sets the toggle switch corresponding to channel 2, which indicates that this channel is busy and the request for channel 2 can now be carried out (I).

Der Kanal 2 gibt hierauf eine Adresse ab (o) und die weitere Ausführung der Anforderung geschieht wie oben im Zusammenhang mit Kanal 1 beschrieben.Channel 2 then sends an address (o) and the further execution of the request is carried out as follows described above in connection with channel 1.

Zusammenfassend kann also gesagt werden, daß Kanalanforderungen, sobald sie bei der Speichersteuerung 10 eintreffen, in einer der Kanalanforderungs-Verriegelungsschaltungen 124 bereitgehalten werden. Hierdurch wird die Möglichkeit geschaffen, darauf zu warten bis der adressierte Speichermodul frei ist und dieIn summary, it can be said that channel requests as soon as they are received by the memory controller 10 arrive in one of the channel request latch circuits 124 should be kept ready. This creates the opportunity to wait for it until the addressed memory module is free and the

Kanalsammelleitung wird dadurch frei zur Übertragung einer anderen Kanalanforderung. Die nächste Anforderung wird innerhalb eines Speicherzyklus angenommen und auch darauf folgende Anforderungen werden jeweils innerhalb eines Speicherzyklus angenommen. Hierdurch wird eine Anpassung zwischen der Hauptspeicher-Kanalverbindung und dem Hauptspeicherbetrieb erzielt.This frees the trunking line to transmit another channel request. The next requirement is accepted within a storage cycle and subsequent requests are also made each accepted within a storage cycle. This provides an adjustment between the main memory channel connection and main memory operation achieved.

Wenn ein Kanal mit einer verhältnismäßig niedrigen Priorität Zugriff zur Kanalsammelleitung erhält, wird die Sammelleitung für einen Speicherzyklus belegt. In einer solchen Situation wird einem dritten Troiv melkanal die vierte Priorität zugeteilt und dieser Kanal muß daher verhältnismäßig lange auf einen Zugriff zum Speicher warten. Wenn in dieser Situation der von diesem Speicher gewünschte Grundspeichermodui auch noch besetzt ist, läuft der Kanal über. Die Gefahr eines solchen Überlaufes wird durch die in Fig. 2A gezeigte Überlaufdetektorlogik festgestellt und es wird eine Kippschaltung eingeschaltet, welche Zugriffe der zentralen Verarbeitungseinheit zum Hauptspeicher für eine gewisse Anzahl von Maschinenzyklen verhindert und damit den Speicher für den genannten dritten Trommelkanal freimacht.When a channel with a relatively low priority is given access to the channel trunk, will the bus is occupied for one storage cycle. In such a situation, a third troublesome channel is created the fourth priority is assigned and this channel must therefore be accessed for a relatively long time Memory waiting. If, in this situation, the basic memory module required by this memory is also available is still busy, the channel overflows. The risk of such an overflow is illustrated by that shown in FIG. 2A Overflow detector logic is detected and a flip-flop is switched on, which accesses the central processing unit to the main memory for a certain number of machine cycles prevented and thus frees the memory for said third drum channel.

Hierzu 4 Blatt ZeichnungenFor this purpose 4 sheets of drawings

Claims (5)

Patentansprüche:Patent claims: 1. Steuerschaltung für Kanal-Speicheranforderungen mit einer Prioritätslogik zur Lösung von Konflikten gleichzeitiger Kanalanforderungen und mit Einrichtungen zur Speicherung der Kanalanforderungssignale und der Ausgangssignale der Prioritätslogik, gekennzeichnet durch ein erstes Register (30) zur Aufnahme der vom Kanal angeforderten Speicheradresse, durch ein zweites Register (28) zur Aufnahme der vom Kanal gelieferten Daten und durch einen vom Ausgangssignal (148) der Prioritätslogik (134) angestoßenen Zähler (150) zur Abzählung der Zeit eines Speicherzyklus, wobei das Ausgangssignal (152) des Zählers die Übertragung der Inhalte der beiden Register zum Speicher (20) steuert, derart, daß pro Speicherzyklus eine Kanalanforderung abgearbeitet und gleichzeitig eine neue, in einer der Kanalanforderungs-Verriegeiungsschaltungen (124) gespeichert werden kann.1. Control circuit for channel memory requests with a priority logic for resolving conflicts of simultaneous channel requests and with devices for storing the channel request signals and the output signals of the priority logic, characterized by a first register (30) for receiving the memory address requested by the channel, by a second register ( 28) for receiving the data supplied by the channel and by a counter (150 ) triggered by the output signal (148) of the priority logic (134) to count the time of a memory cycle, the output signal (152) of the counter transferring the contents of the two registers to the The memory (20) controls such that a channel request can be processed per memory cycle and a new one can be stored at the same time in one of the channel request locking circuits (124). 2. Steuerschaltung nach Anspruch 1, gekennzeichnet durch eine Kippschaltung (128), welche den Belegungszustand der für alle Kanäle (12, 14) gemeinsamen Kanalsammelleitungen (32, 34, 36) angibt, wobei diese Kippschaltung (128) von einer Prioritätslogik (134) bei Annahme einer Kanalanforderung gesetzt und nach Ausführung der Anforderung, d h. nach einem Speicherzyklus, vom Zähler (150) zurückgestellt wird.2. Control circuit according to claim 1, characterized by a toggle circuit (128) which indicates the occupancy state of the common channel bus lines (32, 34, 36) for all channels (12, 14) , this toggle circuit (128) being controlled by a priority logic (134) set when a channel request is accepted and after the request has been executed, i.e. after a storage cycle, is reset by the counter (150). 3. Steuerschaltung nach Anspruch 1, gekennzeichnet durch logische Schaltungen (122), welche von den Kippschaltungen (142) zur Speicherung der Ausgangssignale der Prioritätslogik (134) gesteuert werden und weitere Anforderungssignale von den Kanälen nicht zur Prioritätslogik (134) durchlassen.3. Control circuit according to claim 1, characterized by logic circuits (122) which are controlled by the flip-flops (142) for storing the output signals of the priority logic (134) and do not pass further request signals from the channels to the priority logic (134). 4. Steuerschaltung nach Anspruch 1, gekennzeichnet durch eine Überlaufdetektorlogik (F i g. 2A), welche vom Ausführungszähler (150) gesteuert wird und Anforderungen von der zentralen Verarbeitungseinheit (CPE) an den Hauptspeicher während einer bestimmten Anzahl von Speicherzyklen verhindert, um Kanälen niedriger Priorität Zugang zum Hauptspeicher zu ermöglichen.4. Control circuit according to claim 1, characterized by an overflow detector logic (F i g. 2A) which is controlled by the execution counter (150) and prevents requests from the central processing unit (CPE) to the main memory during a certain number of memory cycles to lower channels Priority to allow access to the main memory. 5. Steuerschaltung nach Anspruch 1, gekennzeichnet durch eine Zeitgeberschaltung (154) zur Steuerung der Sammelleitungen.5. Control circuit according to claim 1, characterized by a timer circuit (154) for controlling the bus lines.
DE19712129268 1970-06-15 1971-06-12 Control circuit for channel requests Expired DE2129268C3 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US4608170A 1970-06-15 1970-06-15

Publications (3)

Publication Number Publication Date
DE2129268A1 DE2129268A1 (en) 1971-12-30
DE2129268B2 true DE2129268B2 (en) 1980-05-08
DE2129268C3 DE2129268C3 (en) 1981-01-22

Family

ID=21941501

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19712129268 Expired DE2129268C3 (en) 1970-06-15 1971-06-12 Control circuit for channel requests

Country Status (8)

Country Link
JP (1) JPS505009B1 (en)
BE (1) BE767625A (en)
CA (1) CA954232A (en)
DE (1) DE2129268C3 (en)
FR (1) FR2095546A5 (en)
GB (1) GB1340382A (en)
NL (1) NL7108230A (en)
SE (1) SE365628B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3839704A (en) * 1972-12-06 1974-10-01 Ibm Control for channel access to storage hierarchy system

Also Published As

Publication number Publication date
CA954232A (en) 1974-09-03
JPS505009B1 (en) 1975-02-27
DE2129268C3 (en) 1981-01-22
GB1340382A (en) 1973-12-12
DE2129268A1 (en) 1971-12-30
BE767625A (en) 1971-10-18
NL7108230A (en) 1971-12-17
FR2095546A5 (en) 1972-02-11
SE365628B (en) 1974-03-25

Similar Documents

Publication Publication Date Title
DE2162806C2 (en) Memory control unit for simplified buffering of requests from the input / output channels
DE3587910T2 (en) Peripheral interface system.
DE3300261C2 (en)
DE69413740T2 (en) Arbitration procedure for data flow control by an I / O control unit
DE2523372B2 (en) Input-output port controller
DE3224034A1 (en) MULTI-PROCESSOR SYSTEM
DE2809405B2 (en) Priority control circuit
DE3789490T2 (en) Control system for a vector processor.
DE2635592A1 (en) MULTIPROCESSOR POLLING SYSTEM
DE3137627C1 (en) Arrangement for fast message transfer between computers
DE1549479B1 (en) CIRCUIT ARRANGEMENT FOR ADDRESSING A MEMORY CONSISTING OF SEVERAL MODULES
DE1956604A1 (en) Data processing system with a storage system
DE1424762B2 (en) DATA PROCESSING SYSTEM
DE3049774C2 (en)
DE2542010A1 (en) DATA PROCESSING SYSTEM
DE1774513A1 (en) Circuit arrangement for determining the priority ratio between several request signals for program-controlled data processing systems
DE2003150C3 (en) Priority switching
EP0062141B1 (en) Circuit arrangement for entering control commands into a microcomputer system
DE2625113A1 (en) MEMORY PROTECTION DEVICE
DE2100443C3 (en) Device for testing a logical function circuit in an adapter control unit of a data processing system
DE2517525A1 (en) SIGNALING IDENTIFIER
DE2263435C3 (en) Computer-controlled switching device
DE2129268B2 (en) Control circuit for channel requests
DE2118930C3 (en) Method and circuit arrangement for monitoring connections in a program-controlled processing system
DE1960278A1 (en) Buffering of control word and data word system memory transfers in a transmission system control memory

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee