EP0009678A1 - Computer input/output apparatus - Google Patents
Computer input/output apparatus Download PDFInfo
- Publication number
- EP0009678A1 EP0009678A1 EP79103408A EP79103408A EP0009678A1 EP 0009678 A1 EP0009678 A1 EP 0009678A1 EP 79103408 A EP79103408 A EP 79103408A EP 79103408 A EP79103408 A EP 79103408A EP 0009678 A1 EP0009678 A1 EP 0009678A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- signal
- programmed
- input
- burst
- burst mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012163 sequencing technique Methods 0.000 claims abstract description 3
- 230000004044 response Effects 0.000 claims description 7
- 238000000034 method Methods 0.000 claims description 4
- 239000000725 suspension Substances 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000015654 memory Effects 0.000 abstract description 15
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000003321 amplification Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/32—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
- G06F13/34—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer with priority control
Definitions
- the present invention generally relates to data processing systems and more particularly to input/ output control associated with real time devices operating on a general purpose data processing system.
- an I/O program is executed within a computer going through the steps of addressing an I/O device, sending a command to the addressed I/O device to instruct the device to either send or receive data, and either receiving or sending several bytes of data to the I/O device.
- the amount of data transferred during one I/O device selection is kept small so that the channel will be available without long delays for receiving interrupt requests from other transfer devices requiring service.
- the data passes through the Central Processing Unit (CPU) and is stored in memory by the CPU instruction.
- CPU Central Processing Unit
- Real time devices often use the programmed input/output data transfer method in order that the computer may have immediate access to the data being received. Immediate data access allows immediate response calculation for transmission to the real time device.
- Nonreal time devices such as disk memories and tape drives can be more efficiently operated in what is sometimes termed "device initiated burst mode".
- Device initiated data transfer is initiated by a signal such as cycle steal request being sent from a device to a computer which terminates instruction execution after completion of the currently executing instruction.
- the computer Upon termination of instruction execution, the computer sends a cycle steal grant response to all I/O devices which are connected in a daisy chain sequence. If two devices require service simultaneously, both will raise a cycle steal request signal but the device with highest priority will receive the cycle steal grant signal first and can inhibit propagation to the lower priority device.
- Each port address counter and byte counter are loaded by programmed instructions prior to the start of any burst data transfer. If the input/ output channel is slower than memory, time slots may become available within which the computer can be given access to the memory without interfering with data being transferred by the channel.
- the Central Processor Unit cannot execute a programmed I/O operation to serve a real time device until the entire burst of data has been transmitted.
- the burst of data may constitute a single block of 256 or 1,024 bytes requiring significant transmission time and leading to excessive response time for the real time device.
- a partial solution to this problem is proposed in the prior art by permitting a higher priority device capable of device initiated data transfer to suspend transfer by a lower priority device in the middle of a burst and substitute its own port address, command and/or data sequence.
- the lower priority device resumes the transmission of its burst upon completion of transmission by the higher priority device.
- the above described partial solution is incomplete because although a real time device can provide its data into memory, it has no way of receiving a response until all of the lower priority transmitting and suspended bursts have been completed. Until completed, the channel interface is not available for programmed input/output operations by the CPU. Furthermore, the CPU may be unaware of the existence of the real time data in memory since programmed I/O interruptions are inhibited during burst mode channel operations.
- a computer input/output apparatus adapted to operate in either device initiated burst mode or programmed I/O mode, the apparatus being characterised by an interrupt sequencing apparatus including means in a first device attached to said input/output apparatus for generating an instruction priority request signal thereby indicating to said computer that immediate programmed I/O service is required and requesting a second device attached to said input/output apparatus to suspend a burst data transfer in progress, means in said second device for generating an end of chain signal to said computer to indicate suspension of burst data transfer; means in said computer responsive to said end of chain signal to terminate burst control of said input/ output apparatus whereby said input/output apparatus is made available for programmed I/O operation; and means responsive to a programmed I/O instruction for permitting device initiated burst mode data transfers to resume.
- an interrupt sequencing apparatus including means in a first device attached to said input/output apparatus for generating an instruction priority request signal thereby indicating to said computer that immediate programmed I/O service is required and requesting a second device attached to said
- Common bus 19 includes CS/PIO interface 21 and additional lines of the invention.
- the interface 21 includes, for example, sixteen data wires and two parity wires for simultaneous parallel transmission of two bytes of data with parity.
- Interface 21 will also include synchronizing tag lines. These tag lines indicate the content of data on the data wires to be an address, a command, or-data and may, for example, be labelled TA, TC and TD.
- TA indicates, for example, that the information on the data wires is an address, whereas TC and TD indicate that the information is a command or data.
- Cycle steal request line 23 can be activated by any of the burst type devices which may also be a real time device.
- Cycle steal request line 23 is an input to AND gate 101 which in turn sets the flip-flop 103.
- Flip-flop 103 being set signals to integrated I/O channel 17 that a device initiated burst mode data transfer is being requested.
- control of memory 13 is transferred to integrated I/O channel 17 and a cycle steal grant signal is propagated on line 25 through the I/O devices in a prioritized daisy chain.
- the burst mode output signal from flip-flop 103 is inverted by inverter 105 to remove the enable programmed I/O signal from the Central Processing Unit 15 thereby inhibiting CPU 15 from executing programmed I/O operations which would conflict with burst mode operations.
- the instruction priority request signal is inverted by inverter 109 and applied to a second input of AND gate 101 to prevent flip-flop 103 from being set by burst mode devices after it becomes reset by an end of chain signal to be described hereafter.
- a burst mode device 53 which may be in the midst of a data transfer burst will generate an end of chain signal on line 33 and terminate data transfer.
- the end of chain signal resets latch 103 which in conjunction with inverter 105 enables programmed I/O operations by Central Processing Unit 15.
- the real time device In conjunction with the return to programmed I/O capability, the real time device would present its interrupt request on line 29 allowing interrupt level priority logic 111 to signal CPU 15 that programmed I/O service is required by real time device 51.
- a buffer or other non-overrunable device By suspendable burst type device, a buffer or other non-overrunable device is to be considered.
- a burst mode transfer of data is initiated by a condition such as buffer full during a read operation or buffer empty during a write operation.
- the buffer full or buffer empty operation is recognized as a service request which sets latch 301.
- Latch 301 being set causes AND gate 303 to propagate a cycle steal request signal onto line 23 of Fig. 1 because at this state active flip-flop 305 has not yet been set and accordingly inverter 307 satisfies the input conditions of AND gate 303.
- a cycle steal grant signal will appear and set active flip-flop 305 via AND gate 309.
- Inputs of AND gate 309 are connected to flip-flop 301, as well as the cycle steal grant input line.
- inverter 311 having an output connected to AND gate 313 prevents propagation of the delayed cycle steal grant signal to the next lower priority device on bus 19.
- the output of active flip-flop 305 is connected to inverter 307 as well as AND gates 315 and 317. Additionally, the output of active flip-flop 305 is connected to the reset inputs of flip-flops 323, 325 and 327.
- AND gate 315 has an output connected to OR gate 329, which is in turn connected to AND gates 319, 331, and 333 as well as inverter 321.
- AND gate 317 is likewise connected to OR gate 329.
- the outputs of AND gates 315 and 317 are connected to control and data register gates not shown to transfer control information identifying the burst device channel port number to integrated I/O channel 17, while AND gate 317 transfers data between a buffer or non-overrunable I/O device and memory 13 at the data tag signal time TD.
- Accompanying each data transfer will-be a valid signal on the valid tag line generated by AND gate 333, which has inputs connected to service request flip-flop 301 as well as OR gate 329.
- flip-flop 301 is reset while OR gate 335 is conditioned to provide the end of chain output signal via AND gate 331. End of chain indicates to integrated I/O channel 17 that the burst data transfer has been completed.
- Another input to OR gate 335 receives a signal from release flip-flop 325, which is in turn set by AND gate 319, which is in turn synchronized by flip-flop 323.
- AND gate 337 has an input for receiving the release signal described earlier as being an amplified instruction priority request signal, which in combination with inverter 321 may set release synch flip-flop 323 between TD signals. The next TD signal sets flip-flop 325.
- CPU 15 Before burst mode operation can commence, CPU 15 must load the address counter and byte counter of each port to be used.
- the address counters are loaded with the starting address of the blocks of memory in memory 13 which are to be involved in burst data transfers through each port.
- a programmed I/O operation will load the channel port number and block size count into a byte counter in each burst mode device.
- a service request is generated internal to the burst mode device causing a cycle steal request for data transfer.
- This cycle steal request sets burst mode latch 103 which results in integrated I/O channel 17 providing a cycle steal grant signal.
- Integrated I/O channel 17 of Fig. 1 uses the port number to identify the address counter containing the memory addresses involved in the transfer. Thereafter a continuous sequence of TD data timing pulses, each associated with two bytes of data on the data wires of I/O bus 19.
- Each TD signal control AND gate 317 of Fig. 3 to pass the data either into or out of burst device 53 and to increment the data counter.
- the latches 201 and 203 in Fig. 2 are set by the real time event detected within the device.
- Latches 201 and 203 generate instruction priority request and interrupt request signals respectively on lines 27 and 23 of bus 19.
- the instruction priority request signal is inverted by inverter 109 to inhibit AND gate 101 and thereby prevent setting burst mode latch 103 if it has not already been set. In the event that it is already set, it will be reset by end of chain signal from the burst transferring device.
- instruction priority request (IPR) 401 is raised asynchronously when the real time device first requires service. Having raised the instruction priority request line, the release input via AND gate 337 sets release sync latch 323 at the end of the TD pulse. Latch 323 being set in turn causes release latch 325 to be set at the beginning of the next TD pulse. The output of release latch.325 forces an end of chain signal 403 via gates 335 and 331.
- Burst data transfer is re-established when the programmed I/O instruction resets flip-flop 201 thereby removing the instruction priority request signal 407 and allowing a cycle steal grant 409 to be generated by integrated I/O channel 17.
- the cycle steal grant signal anded with the output of service register flip-flop 301 at AND gate 309 to again set active flip-flop 305.
- Active flip-flop 305 being set in combination with the cycle steal grant input signal causes the control word 411 identifying the port being used to again be gated out on the data lines.
- the control word is received by integrated I/O channel 17, it drops the signal on the cycle steal grant line and begins transmitting data timing pulses TD which are thereafter associated with each pair of data bytes 413 transferred.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
Description
- The present invention generally relates to data processing systems and more particularly to input/ output control associated with real time devices operating on a general purpose data processing system.
- At least two types of input/output operations are known in the prior art. In a first type, an I/O program is executed within a computer going through the steps of addressing an I/O device, sending a command to the addressed I/O device to instruct the device to either send or receive data, and either receiving or sending several bytes of data to the I/O device. Usually, the amount of data transferred during one I/O device selection is kept small so that the channel will be available without long delays for receiving interrupt requests from other transfer devices requiring service. During program input/output data transfer, the data passes through the Central Processing Unit (CPU) and is stored in memory by the CPU instruction. Real time devices often use the programmed input/output data transfer method in order that the computer may have immediate access to the data being received. Immediate data access allows immediate response calculation for transmission to the real time device.
- Nonreal time devices such as disk memories and tape drives can be more efficiently operated in what is sometimes termed "device initiated burst mode". Device initiated data transfer is initiated by a signal such as cycle steal request being sent from a device to a computer which terminates instruction execution after completion of the currently executing instruction. Upon termination of instruction execution, the computer sends a cycle steal grant response to all I/O devices which are connected in a daisy chain sequence. If two devices require service simultaneously, both will raise a cycle steal request signal but the device with highest priority will receive the cycle steal grant signal first and can inhibit propagation to the lower priority device. Having received the cycle steal grant signal, the disk control logic can place an identifying port address on the data bus, a command indicating whether the device which is to send or receive data and thereafter a single sequential burst of data bytes without intervening address and command information. When in cycle steal mode, data does not pass through the CPU itself, but rather is passed directly to sequential memory addresses under control of an indexing address counter in the selected port of the input/ output channel. In addition to the address counter, each port has a byte counter in the associated burst mode device containing the length of the data transfer. As each byte is transferred, the count is decremented. When the count reaches zero, the data transfer has been completed and the burst mode device generates an end of message signal. Each port address counter and byte counter are loaded by programmed instructions prior to the start of any burst data transfer. If the input/ output channel is slower than memory, time slots may become available within which the computer can be given access to the memory without interfering with data being transferred by the channel.
- It should be noted however, that in spite of the fact that the Central Processor Unit may operate in memory, the Central Processor Unit cannot execute a programmed I/O operation to serve a real time device until the entire burst of data has been transmitted. The burst of data may constitute a single block of 256 or 1,024 bytes requiring significant transmission time and leading to excessive response time for the real time device.
- Breaking up the burst into a series of short bursts may allow adequate service to the real time device but seriously impacts burst mode efficiency since the cycle steal request-cycle steal grant sequence must be repeated far more often with small bursts.
- A partial solution to this problem is proposed in the prior art by permitting a higher priority device capable of device initiated data transfer to suspend transfer by a lower priority device in the middle of a burst and substitute its own port address, command and/or data sequence. The lower priority device resumes the transmission of its burst upon completion of transmission by the higher priority device. The above described partial solution is incomplete because although a real time device can provide its data into memory, it has no way of receiving a response until all of the lower priority transmitting and suspended bursts have been completed. Until completed, the channel interface is not available for programmed input/output operations by the CPU. Furthermore, the CPU may be unaware of the existence of the real time data in memory since programmed I/O interruptions are inhibited during burst mode channel operations.
- Accordingly, it is an object of the invention to provide an improved computer input/output method and apparatus particularly suited to the needs of real time devices operating in combination with device initiated burst mode devices on a common I/O interface.
- According to the present invention there is provided a computer input/output apparatus adapted to operate in either device initiated burst mode or programmed I/O mode, the apparatus being characterised by an interrupt sequencing apparatus including means in a first device attached to said input/output apparatus for generating an instruction priority request signal thereby indicating to said computer that immediate programmed I/O service is required and requesting a second device attached to said input/output apparatus to suspend a burst data transfer in progress, means in said second device for generating an end of chain signal to said computer to indicate suspension of burst data transfer; means in said computer responsive to said end of chain signal to terminate burst control of said input/ output apparatus whereby said input/output apparatus is made available for programmed I/O operation; and means responsive to a programmed I/O instruction for permitting device initiated burst mode data transfers to resume.
- The invention further provides a method of suspending a burst mode device initiated data transfer on a computer input/output channel for programmed I/O service of a real time device characterised by the steps of generating an instruction priority request signal in said real time device, transmitting said instruction priority request signal to said burst mode device, generating an end of chain signal in said burst mode device in response to said instruction priority request, transmitting said end of chain signal to said computer, switching said input/output channel from burst mode to programmed I/O mode, and terminating said instruction priority signal.
- An embodiment of the invention will now be described, by way of example, with reference to the accompanying drawings, in which:
- Figure 1 is a block diagram of input/output devices connected to an input/output bus which is in turn connected to a computer and showing detailed logic within the computer,
- Figure 2 is a detailed diagram showing logic within a real time device,
- Figure 3 is a detail circuit diagram of logic in a burst type device, and
- Figure 4 is a timing diagram showing a programmed I/O operation during a suspended burst I/O operation.
- In Fig. 1, a computer 11, including a
memory 13,. a multiple interrupt levelCentral Processing Unit 15 and an integrated input/output channel 17 are shown connected to a common input/output bus 19.Common bus 19 includes CS/PIO interface 21 and additional lines of the invention. Theinterface 21 includes, for example, sixteen data wires and two parity wires for simultaneous parallel transmission of two bytes of data with parity.Interface 21 will also include synchronizing tag lines. These tag lines indicate the content of data on the data wires to be an address, a command, or-data and may, for example, be labelled TA, TC and TD. TA indicates, for example, that the information on the data wires is an address, whereas TC and TD indicate that the information is a command or data. The signal lines described above are shown as asingle interface cable 21, and are well known to persons skilled in the art of computer architecture.Additional signal lines steal request line 23 can be activated by any of the burst type devices which may also be a real time device. Cycle stealrequest line 23 is an input to ANDgate 101 which in turn sets the flip-flop 103. Flip-flop 103 being set signals to integrated I/O channel 17 that a device initiated burst mode data transfer is being requested. When the Central Process- ingUnit 15 has completed execution of an instruction cycle which may be in progress, control ofmemory 13 is transferred to integrated I/O channel 17 and a cycle steal grant signal is propagated online 25 through the I/O devices in a prioritized daisy chain. The burst mode output signal from flip-flop 103 is inverted byinverter 105 to remove the enable programmed I/O signal from theCentral Processing Unit 15 thereby inhibitingCPU 15 from executing programmed I/O operations which would conflict with burst mode operations. - In order to suspend burst mode operations and allow programmed I/O operations to resume, an instruction priority request signal can be generated by a
real time device 51. For purposes of clarity of explanation, the instruction priority request signal is shown as being sent to computer 11 where it is amplified byamplifier 107 and sent to burst mode devices as a release signal online 31. It will be recognized by those skilled in the art that the instruction priority request signal could have been sent directly to the burst mode devices without prior amplification byamplifier 107 in computer 11 so long as electrical drive capacities are not exceeded. In addition to being sent to burst mode devices, the instruction priority request signal is inverted byinverter 109 and applied to a second input ofAND gate 101 to prevent flip-flop 103 from being set by burst mode devices after it becomes reset by an end of chain signal to be described hereafter. - In response to a real time device having generated an instruction priority request signal, a
burst mode device 53 which may be in the midst of a data transfer burst will generate an end of chain signal online 33 and terminate data transfer. The end of chain signal resetslatch 103 which in conjunction withinverter 105 enables programmed I/O operations byCentral Processing Unit 15. In conjunction with the return to programmed I/O capability, the real time device would present its interrupt request online 29 allowing interruptlevel priority logic 111 to signalCPU 15 that programmed I/O service is required byreal time device 51. - Referring now to Fig. 2, simplified detail logic is shown responsive to the needs of the real time device and to the system. More particularly, flip-
flop 201 has a set input which is connected to an output of a real time event detector such as a voltage comparator, a relay, etc. signalling the need for real time processor intervention. Flip-flop 201 being set provides the instruction priority request signal previously discussed with respect to the signals onwires flop 203 to interruptlevel priority logic 111. The actual interrupt toCPU 15 will be presented to the internal interrupt circuits ofCPU 15 whenCPU 15 regains programmed I/O control of the input/output bus 19. Each of flip-flops CPU 15 which are decoded by well-known command decode circuitry and applied to resetsignal lines - Referring now to Fig. 3, those additional circuits which would be added or changed within a suspendable burst type I/O device such as a disk or tape are shown. By suspendable burst type device, a buffer or other non-overrunable device is to be considered. A burst mode transfer of data is initiated by a condition such as buffer full during a read operation or buffer empty during a write operation. The buffer full or buffer empty operation is recognized as a service request which sets
latch 301.Latch 301 being set causes ANDgate 303 to propagate a cycle steal request signal ontoline 23 of Fig. 1 because at this state active flip-flop 305 has not yet been set and accordingly inverter 307 satisfies the input conditions of ANDgate 303. Having generated a cycle steal request, in due course, a cycle steal grant signal will appear and set active flip-flop 305 via ANDgate 309. Inputs of ANDgate 309 are connected to flip-flop 301, as well as the cycle steal grant input line. Because service request flip-flop 301 is set,inverter 311 having an output connected to ANDgate 313 prevents propagation of the delayed cycle steal grant signal to the next lower priority device onbus 19. The output of active flip-flop 305 is connected to inverter 307 as well as ANDgates 315 and 317. Additionally, the output of active flip-flop 305 is connected to the reset inputs of flip-flops gate 329, which is in turn connected to ANDgates inverter 321. ANDgate 317 is likewise connected to ORgate 329. The outputs of ANDgates 315 and 317 are connected to control and data register gates not shown to transfer control information identifying the burst device channel port number to integrated I/O channel 17, while ANDgate 317 transfers data between a buffer or non-overrunable I/O device andmemory 13 at the data tag signal time TD. Accompanying each data transfer will-be a valid signal on the valid tag line generated by ANDgate 333, which has inputs connected to service request flip-flop 301 as well as ORgate 329. If the end of the message is detected, usually by the byte counter value equal to zero, flip-flop 301 is reset whileOR gate 335 is conditioned to provide the end of chain output signal via ANDgate 331. End of chain indicates to integrated I/O channel 17 that the burst data transfer has been completed. Another input to ORgate 335 receives a signal from release flip-flop 325, which is in turn set by ANDgate 319, which is in turn synchronized by flip-flop 323. ANDgate 337 has an input for receiving the release signal described earlier as being an amplified instruction priority request signal, which in combination withinverter 321 may set release synch flip-flop 323 between TD signals. The next TD signal sets flip-flop 325.Release latch 325 being set allows ANDgate 331 to generate an end of chain signal online 33 even though normal end of message conditions have not been reached. As previously mentioned, the end of chain signal resets latch 103 in computer 11 thereby terminating the burst mode operation and enabling programmed I/O operation. The end of chain signal also is fed back to setlatch 327, which allows ANDgate 339 with inverter 341 to reset active flip-flop 305 as soon as the data transfer tag TD signal is removed.Active latch 305 being reset prevents ANDgate 315, 317 from further data transmission thereby freeing thebus 19 for use byCPU 15. - With the figures and foregoing description in mind, the operation of the preferred embodiment of the invention will now be described. Before burst mode operation can commence,
CPU 15 must load the address counter and byte counter of each port to be used. The address counters are loaded with the starting address of the blocks of memory inmemory 13 which are to be involved in burst data transfers through each port. Likewise, a programmed I/O operation will load the channel port number and block size count into a byte counter in each burst mode device. Thereafter as the buffer in a burst mode device becomes either empty when writing or full when reading, a service request is generated internal to the burst mode device causing a cycle steal request for data transfer. This cycle steal request sets burstmode latch 103 which results in integrated I/O channel 17 providing a cycle steal grant signal. - Referring now to Fig. 3, when the cycle steal grant signal is received by AND gate 315, the control word identifying the burst device and including the number of the channel port to be used is gated out to the data bus along with a valid tag signal generated by AND
gate 333. Integrated I/O channel 17 of Fig. 1 uses the port number to identify the address counter containing the memory addresses involved in the transfer. Thereafter a continuous sequence of TD data timing pulses, each associated with two bytes of data on the data wires of I/O bus 19. Each TD signal control ANDgate 317 of Fig. 3 to pass the data either into or out ofburst device 53 and to increment the data counter. When the buffer has been emptied during a read operation or filled during write operation, an end of message is provided to resetservice register 301 and generate an end of chain signal through ORgate 335 via ANDgate 331. - The foregoing description followed the operation of the circuits of the preferred embodiment while transmitting a single uninterrupted burst of data.
- When a
real time device 51 requires service, thelatches Latches lines bus 19. The instruction priority request signal is inverted byinverter 109 to inhibit ANDgate 101 and thereby prevent settingburst mode latch 103 if it has not already been set. In the event that it is already set, it will be reset by end of chain signal from the burst transferring device. - Referring now to Fig. 4, the sequence of an instruction priority request causing a programmed I/O sequence to suspend an executing burst mode data transfer will be described with the other figures in mind. As shown in the first waveform, instruction priority request (IPR) 401 is raised asynchronously when the real time device first requires service. Having raised the instruction priority request line, the release input via AND
gate 337 sets releasesync latch 323 at the end of the TD pulse.Latch 323 being set in turn causesrelease latch 325 to be set at the beginning of the next TD pulse. The output of release latch.325 forces an end ofchain signal 403 viagates gate 331 causes flip-flop 327 to be set which in turn resets active flip-flop 305 when the end of chain signal falls with TD.Active latch 305 being reset allows inverter 307 to cooperate withservice request register 301 which remains set to create acycle steal request 405 which will remain active throughout the following programmed I/O sequence and re-establish the burst data transfer thereafter. - Burst data transfer is re-established when the programmed I/O instruction resets flip-
flop 201 thereby removing the instructionpriority request signal 407 and allowing acycle steal grant 409 to be generated by integrated I/O channel 17. The cycle steal grant signal anded with the output of service register flip-flop 301 at ANDgate 309 to again set active flip-flop 305. Active flip-flop 305 being set in combination with the cycle steal grant input signal causes thecontrol word 411 identifying the port being used to again be gated out on the data lines. When the control word is received by integrated I/O channel 17, it drops the signal on the cycle steal grant line and begins transmitting data timing pulses TD which are thereafter associated with each pair ofdata bytes 413 transferred. - While the invention has been particularly shown and described with reference to a preferred embodiment thereof including an integrated channel, it will be understood by those skilled in the art that various changes in form and detail including use of a separate I/O channel or the substitution of parallel cycle steal grant priority determination logic may be made therein.
Claims (4)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US948070 | 1978-10-02 | ||
US05/948,070 US4275440A (en) | 1978-10-02 | 1978-10-02 | I/O Interrupt sequencing for real time and burst mode devices |
Publications (2)
Publication Number | Publication Date |
---|---|
EP0009678A1 true EP0009678A1 (en) | 1980-04-16 |
EP0009678B1 EP0009678B1 (en) | 1982-12-08 |
Family
ID=25487213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP79103408A Expired EP0009678B1 (en) | 1978-10-02 | 1979-09-12 | Computer input/output apparatus |
Country Status (8)
Country | Link |
---|---|
US (1) | US4275440A (en) |
EP (1) | EP0009678B1 (en) |
JP (1) | JPS5847050B2 (en) |
AU (1) | AU531595B2 (en) |
BR (1) | BR7906341A (en) |
CA (1) | CA1115850A (en) |
DE (1) | DE2964214D1 (en) |
ES (1) | ES484505A1 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0055623A2 (en) * | 1980-12-29 | 1982-07-07 | Fujitsu Limited | Direct memory-access mode for a high-speed memory system |
EP0082683A2 (en) * | 1981-12-17 | 1983-06-29 | Honeywell Bull Inc. | Computer memory system |
DE3431938A1 (en) * | 1983-08-30 | 1985-03-14 | Canon K.K., Tokio/Tokyo | IMAGE PROCESSING SYSTEM |
EP0166248A2 (en) * | 1984-05-31 | 1986-01-02 | Fujitsu Limited | Semiconductor integrated circuit for exchanging microprocessor bus access rights |
EP0288649A1 (en) * | 1987-04-22 | 1988-11-02 | International Business Machines Corporation | Memory control subsystem |
EP0207876A3 (en) * | 1985-07-01 | 1989-07-12 | United Technologies Corporation | Modular multiport data hub |
EP0336756A2 (en) * | 1988-04-08 | 1989-10-11 | Fujitsu Limited | Direct memory access controller |
EP0340972A2 (en) * | 1988-04-30 | 1989-11-08 | Oki Electric Industry Company, Limited | Page printer |
EP0530543A1 (en) * | 1991-08-12 | 1993-03-10 | Stratus Computer, Inc. | I/O controller apparatus and method for transferring data between a host processor and multiple I/O units |
US6971043B2 (en) | 2001-04-11 | 2005-11-29 | Stratus Technologies Bermuda Ltd | Apparatus and method for accessing a mass storage device in a fault-tolerant server |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4611297A (en) * | 1983-08-18 | 1986-09-09 | Pitney Bowes Inc. | Bus grant circuit |
US4636944A (en) * | 1984-01-17 | 1987-01-13 | Concurrent Computer Corporation | Multi-level priority micro-interrupt controller |
US4713751A (en) * | 1984-10-24 | 1987-12-15 | International Business Machines Corporation | Masking commands for a second processor when a first processor requires a flushing operation in a multiprocessor system |
US4701845A (en) * | 1984-10-25 | 1987-10-20 | Unisys Corporation | User interface processor for computer network with maintenance and programmable interrupt capability |
US4779187A (en) * | 1985-04-10 | 1988-10-18 | Microsoft Corporation | Method and operating system for executing programs in a multi-mode microprocessor |
US4716523A (en) * | 1985-06-14 | 1987-12-29 | International Business Machines Corporation | Multiple port integrated DMA and interrupt controller and arbitrator |
US4837677A (en) * | 1985-06-14 | 1989-06-06 | International Business Machines Corporation | Multiple port service expansion adapter for a communications controller |
US4751634A (en) * | 1985-06-14 | 1988-06-14 | International Business Machines Corporation | Multiple port communications adapter apparatus |
US4779195A (en) * | 1985-06-28 | 1988-10-18 | Hewlett-Packard Company | Interrupt system using masking register in processor for selectively establishing device eligibility to interrupt a particular processor |
US4719569A (en) * | 1985-10-11 | 1988-01-12 | Sun Microsystems, Inc. | Arbitrator for allocating access to data processing resources |
US4953072A (en) * | 1987-05-01 | 1990-08-28 | Digital Equipment Corporation | Node for servicing interrupt request messages on a pended bus |
DE3888353T2 (en) * | 1987-05-01 | 1994-11-17 | Digital Equipment Corp | INTERRUPT NODE FOR PROVIDING INTERRUPTION REQUIREMENTS ON A PENDING BUS. |
US5029124A (en) * | 1988-05-17 | 1991-07-02 | Digital Equipment Corporation | Method and apparatus for providing high speed parallel transfer of bursts of data |
EP0490988A4 (en) * | 1989-09-08 | 1993-05-12 | Auspex Systems, Inc. | Enhanced vmebus protocol utilizing pseudosynchronous handshaking and block mode data transfer |
JP2519860B2 (en) * | 1991-09-16 | 1996-07-31 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Burst data transfer apparatus and method |
US5319753A (en) * | 1992-09-29 | 1994-06-07 | Zilog, Inc. | Queued interrupt mechanism with supplementary command/status/message information |
CA2170380A1 (en) * | 1993-02-11 | 1994-08-18 | O.S. Mogdil | Telemetry and control system |
JPH0713772A (en) * | 1993-06-29 | 1995-01-17 | Mitsubishi Electric Corp | Data processor |
DE69610450T2 (en) * | 1995-03-13 | 2001-04-26 | Sun Microsystems, Inc. | Virtual input / output processor |
KR100197646B1 (en) * | 1995-05-15 | 1999-06-15 | 김영환 | Burst mode termination detection apparatus |
JP2792501B2 (en) * | 1996-02-28 | 1998-09-03 | 日本電気株式会社 | Data transfer method and data transfer method |
FR2759177B1 (en) * | 1997-01-31 | 1999-04-23 | Sextant Avionique | PROCESS AND DEVICE FOR PROCESSING MULTIPLE TECHNICAL APPLICATIONS WITH EACH OF THE SAFETY THAT IS PROPER TO IT |
US5862353A (en) * | 1997-03-25 | 1999-01-19 | International Business Machines Corporation | Systems and methods for dynamically controlling a bus |
US5978867A (en) | 1997-08-21 | 1999-11-02 | International Business Machines Corporation | System for counting clock cycles stolen from a data processor and providing the count value to a second processor accessing the data processor cycle resources |
US6058461A (en) * | 1997-12-02 | 2000-05-02 | Advanced Micro Devices, Inc. | Computer system including priorities for memory operations and allowing a higher priority memory operation to interrupt a lower priority memory operation |
US6434592B1 (en) * | 1998-01-05 | 2002-08-13 | Intel Corporation | Method for accessing a network using programmed I/O in a paged, multi-tasking computer |
US6438628B1 (en) * | 1999-05-28 | 2002-08-20 | 3Com Corporation | System and method for data pacing |
US6708283B1 (en) | 2000-04-13 | 2004-03-16 | Stratus Technologies, Bermuda Ltd. | System and method for operating a system with redundant peripheral bus controllers |
US6820213B1 (en) | 2000-04-13 | 2004-11-16 | Stratus Technologies Bermuda, Ltd. | Fault-tolerant computer system with voter delay buffer |
US6735715B1 (en) | 2000-04-13 | 2004-05-11 | Stratus Technologies Bermuda Ltd. | System and method for operating a SCSI bus with redundant SCSI adaptors |
US6633996B1 (en) | 2000-04-13 | 2003-10-14 | Stratus Technologies Bermuda Ltd. | Fault-tolerant maintenance bus architecture |
US6687851B1 (en) | 2000-04-13 | 2004-02-03 | Stratus Technologies Bermuda Ltd. | Method and system for upgrading fault-tolerant systems |
US6691257B1 (en) | 2000-04-13 | 2004-02-10 | Stratus Technologies Bermuda Ltd. | Fault-tolerant maintenance bus protocol and method for using the same |
US6629178B1 (en) | 2000-06-15 | 2003-09-30 | Advanced Micro Devices, Inc. | System and method for controlling bus access for bus agents having varying priorities |
US6948010B2 (en) | 2000-12-20 | 2005-09-20 | Stratus Technologies Bermuda Ltd. | Method and apparatus for efficiently moving portions of a memory block |
US6766479B2 (en) | 2001-02-28 | 2004-07-20 | Stratus Technologies Bermuda, Ltd. | Apparatus and methods for identifying bus protocol violations |
US7065672B2 (en) | 2001-03-28 | 2006-06-20 | Stratus Technologies Bermuda Ltd. | Apparatus and methods for fault-tolerant computing using a switching fabric |
US6996750B2 (en) * | 2001-05-31 | 2006-02-07 | Stratus Technologies Bermuda Ltd. | Methods and apparatus for computer bus error termination |
US7013357B2 (en) * | 2003-09-12 | 2006-03-14 | Freescale Semiconductor, Inc. | Arbiter having programmable arbitration points for undefined length burst accesses and method |
CN102971795A (en) * | 2010-05-07 | 2013-03-13 | 莫塞德技术公司 | Method and apparatus for concurrently reading a plurality of memory devices using a single buffer |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3508206A (en) * | 1967-05-01 | 1970-04-21 | Control Data Corp | Dimensioned interrupt |
US3543242A (en) * | 1967-07-07 | 1970-11-24 | Ibm | Multiple level priority system |
US3543246A (en) * | 1967-07-07 | 1970-11-24 | Ibm | Priority selector signalling device |
US3705388A (en) * | 1969-08-12 | 1972-12-05 | Kogyo Gijutsuin | Memory control system which enables access requests during block transfer |
US3643229A (en) * | 1969-11-26 | 1972-02-15 | Stromberg Carlson Corp | Interrupt arrangement for data processing systems |
US3866181A (en) * | 1972-12-26 | 1975-02-11 | Honeywell Inf Systems | Interrupt sequencing control apparatus |
US3961312A (en) * | 1974-07-15 | 1976-06-01 | International Business Machines Corporation | Cycle interleaving during burst mode operation |
JPS5493934A (en) * | 1978-01-06 | 1979-07-25 | Hitachi Ltd | Input/output control system |
-
1978
- 1978-10-02 US US05/948,070 patent/US4275440A/en not_active Expired - Lifetime
-
1979
- 1979-08-14 AU AU49906/79A patent/AU531595B2/en not_active Ceased
- 1979-08-17 JP JP54104172A patent/JPS5847050B2/en not_active Expired
- 1979-08-24 CA CA334,531A patent/CA1115850A/en not_active Expired
- 1979-09-12 DE DE7979103408T patent/DE2964214D1/en not_active Expired
- 1979-09-12 EP EP79103408A patent/EP0009678B1/en not_active Expired
- 1979-09-27 ES ES484505A patent/ES484505A1/en not_active Expired
- 1979-10-02 BR BR7906341A patent/BR7906341A/en unknown
Non-Patent Citations (2)
Title |
---|
IBM TECHNICAL DISCLOSURE BULLETIN, Vol. 17, No. 10, March 1975 New York (US) BODNER et al.: "Multiple Class Cycle Steal System", pages 2992-3001. * Page 2992, lines 7-8; figure 1; page 2993; page 2995; lines 1-27; page 3000, lines 19-21; page 3001, lines 10-14 * * |
IBM TECHNICAL DISCLOSURE BULLETIN, Vol. 17, No. 9, February 1975. New York (US) MILLER et al.: "Interleaved Cycle Steal Burst Circuitry", pages 2732-2735. * Page 2732, lines 1-4, 10-15; figure 1; page 2733, lines 1, 2; figure 2; page 2735, lines 3-16 * * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0055623A2 (en) * | 1980-12-29 | 1982-07-07 | Fujitsu Limited | Direct memory-access mode for a high-speed memory system |
EP0055623A3 (en) * | 1980-12-29 | 1982-08-25 | Fujitsu Limited | Direct memory-access mode for a high-speed external memory system |
EP0082683A2 (en) * | 1981-12-17 | 1983-06-29 | Honeywell Bull Inc. | Computer memory system |
EP0082683A3 (en) * | 1981-12-17 | 1985-10-02 | Honeywell Information Systems Inc. | Computer memory system |
DE3431938A1 (en) * | 1983-08-30 | 1985-03-14 | Canon K.K., Tokio/Tokyo | IMAGE PROCESSING SYSTEM |
EP0166248A2 (en) * | 1984-05-31 | 1986-01-02 | Fujitsu Limited | Semiconductor integrated circuit for exchanging microprocessor bus access rights |
EP0166248A3 (en) * | 1984-05-31 | 1988-09-14 | Fujitsu Limited | Semiconductor integrated circuit for exchanging microprocessor bus access rights |
EP0207876A3 (en) * | 1985-07-01 | 1989-07-12 | United Technologies Corporation | Modular multiport data hub |
EP0288649A1 (en) * | 1987-04-22 | 1988-11-02 | International Business Machines Corporation | Memory control subsystem |
US4912632A (en) * | 1987-04-22 | 1990-03-27 | International Business Machines Corp. | Memory control subsystem |
EP0336756A2 (en) * | 1988-04-08 | 1989-10-11 | Fujitsu Limited | Direct memory access controller |
EP0336756A3 (en) * | 1988-04-08 | 1992-10-21 | Fujitsu Limited | Direct memory access controller |
US5278965A (en) * | 1988-04-08 | 1994-01-11 | Fujitsu Limited | Direct memory access controller |
EP0340972A2 (en) * | 1988-04-30 | 1989-11-08 | Oki Electric Industry Company, Limited | Page printer |
EP0340972A3 (en) * | 1988-04-30 | 1992-05-13 | Oki Electric Industry Company, Limited | Page printer |
EP0530543A1 (en) * | 1991-08-12 | 1993-03-10 | Stratus Computer, Inc. | I/O controller apparatus and method for transferring data between a host processor and multiple I/O units |
US5379381A (en) * | 1991-08-12 | 1995-01-03 | Stratus Computer, Inc. | System using separate transfer circuits for performing different transfer operations respectively and scanning I/O devices status upon absence of both operations |
US6971043B2 (en) | 2001-04-11 | 2005-11-29 | Stratus Technologies Bermuda Ltd | Apparatus and method for accessing a mass storage device in a fault-tolerant server |
Also Published As
Publication number | Publication date |
---|---|
AU531595B2 (en) | 1983-09-01 |
CA1115850A (en) | 1982-01-05 |
JPS5549727A (en) | 1980-04-10 |
EP0009678B1 (en) | 1982-12-08 |
ES484505A1 (en) | 1980-04-16 |
BR7906341A (en) | 1980-06-24 |
US4275440A (en) | 1981-06-23 |
JPS5847050B2 (en) | 1983-10-20 |
AU4990679A (en) | 1980-04-17 |
DE2964214D1 (en) | 1983-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0009678B1 (en) | Computer input/output apparatus | |
US4860244A (en) | Buffer system for input/output portion of digital data processing system | |
US4674033A (en) | Multiprocessor system having a shared memory for enhanced interprocessor communication | |
EP0166272B1 (en) | Processor bus access | |
US4961140A (en) | Apparatus and method for extending a parallel synchronous data and message bus | |
US5019966A (en) | Dual processors using busy signal for controlling transfer for predetermined length data when receiving processor is processing previously received data | |
EP0303751A1 (en) | Interface mechanism for controlling the exchange of information between two devices | |
EP0071782B1 (en) | Multi subchannel adapter with a single status/address register | |
US4218739A (en) | Data processing interrupt apparatus having selective suppression control | |
US5572684A (en) | IEEE 488 interface and message handling method | |
US5129072A (en) | System for minimizing initiator processor interrupts by protocol controller in a computer bus system | |
US4365296A (en) | System for controlling the duration of the time interval between blocks of data in a computer-to-computer communication system | |
JPS58222363A (en) | Distributor for common memory | |
EP0114523A2 (en) | Distributed priority logic network | |
US3961312A (en) | Cycle interleaving during burst mode operation | |
EP0378422B1 (en) | Look ahead bus transfer request | |
US5797040A (en) | Computer system having system bus which couples adapter and processing units and requires acquisition for data transmission thereover | |
US4630197A (en) | Anti-mutilation circuit for protecting dynamic memory | |
JP2581041B2 (en) | Data processing device | |
RU2018944C1 (en) | Device for interfacing computer with external objects | |
JP3442099B2 (en) | Data transfer storage device | |
JP2552025B2 (en) | Data transfer method | |
JPH10116245A (en) | Dma controller | |
CN114925013A (en) | CPLD-based I2C signal transparent transmission method, device and medium | |
JPS6019023B2 (en) | data processing equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Designated state(s): BE CH DE FR GB IT NL SE |
|
17P | Request for examination filed | ||
ITF | It: translation for a ep patent filed | ||
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Designated state(s): BE CH DE FR GB IT NL SE |
|
REF | Corresponds to: |
Ref document number: 2964214 Country of ref document: DE Date of ref document: 19830113 |
|
ET | Fr: translation filed | ||
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: BE Payment date: 19840630 Year of fee payment: 6 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BE Effective date: 19890930 |
|
BERE | Be: lapsed |
Owner name: INTERNATIONAL BUSINESS MACHINES CORP. Effective date: 19890930 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: SE Payment date: 19900827 Year of fee payment: 12 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 19900828 Year of fee payment: 12 |
|
ITTA | It: last paid annual fee | ||
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: NL Payment date: 19900930 Year of fee payment: 12 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 19901004 Year of fee payment: 12 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: CH Payment date: 19901218 Year of fee payment: 12 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 19910823 Year of fee payment: 13 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Effective date: 19910913 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CH Effective date: 19910930 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Effective date: 19920401 |
|
NLV4 | Nl: lapsed or anulled due to non-payment of the annual fee | ||
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Effective date: 19920529 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Effective date: 19920602 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Effective date: 19920912 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 19920912 |
|
EUG | Se: european patent has lapsed |
Ref document number: 79103408.5 Effective date: 19920408 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |