CA2025711A1 - Apparatus and method for asynchronously delivering control elements with a pipe interface - Google Patents
Apparatus and method for asynchronously delivering control elements with a pipe interfaceInfo
- Publication number
- CA2025711A1 CA2025711A1 CA2025711A CA2025711A CA2025711A1 CA 2025711 A1 CA2025711 A1 CA 2025711A1 CA 2025711 A CA2025711 A CA 2025711A CA 2025711 A CA2025711 A CA 2025711A CA 2025711 A1 CA2025711 A1 CA 2025711A1
- Authority
- CA
- Canada
- Prior art keywords
- pipe
- control elements
- memory
- units
- adapters
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
- G06F13/4226—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/06—Indexing scheme relating to groups G06F5/06 - G06F5/16
- G06F2205/064—Linked list, i.e. structure using pointers, e.g. allowing non-contiguous address segments in one logical buffer or dynamic buffer space allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
A microprocessor system which includes a processor unit with system memory and a separate buffer memory, one or more subsystem adapter units with memory, optional I/O
devices which may attach to the adapters, and a bus interface. The memory in the processor and the memory in the adapters are used by the system as a shared memory which is configured as a distributed FIFO circular queue (a pipe). Unit to unit asynchronous communication is accomplished by placing control elements on the pipe which represent requests, replies, and status information. The units send and receive control elements independent of the other units which allows free flowing asynchronous delivery of control information and data between units. The shared memory can be organized as pipe pairs between each pair of units to allow full duplex operation by using one pipe for outbound control elements and the other pipe for inbound control elements.
The control elements have standard fixed header fields with variable fields following the fixed header. The fixed header allows a common interface protocol to be used by different hardware adapters. The combination of the pipe and the common interface protocol allows many different types of hardware adapters to asynchronously communicate, resulting in higher overall throughput due to lower interrupt overhead.
devices which may attach to the adapters, and a bus interface. The memory in the processor and the memory in the adapters are used by the system as a shared memory which is configured as a distributed FIFO circular queue (a pipe). Unit to unit asynchronous communication is accomplished by placing control elements on the pipe which represent requests, replies, and status information. The units send and receive control elements independent of the other units which allows free flowing asynchronous delivery of control information and data between units. The shared memory can be organized as pipe pairs between each pair of units to allow full duplex operation by using one pipe for outbound control elements and the other pipe for inbound control elements.
The control elements have standard fixed header fields with variable fields following the fixed header. The fixed header allows a common interface protocol to be used by different hardware adapters. The combination of the pipe and the common interface protocol allows many different types of hardware adapters to asynchronously communicate, resulting in higher overall throughput due to lower interrupt overhead.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41114589A | 1989-09-22 | 1989-09-22 | |
US411,145 | 1989-09-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2025711A1 true CA2025711A1 (en) | 1991-03-23 |
CA2025711C CA2025711C (en) | 1998-03-31 |
Family
ID=23627758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002025711A Expired - Fee Related CA2025711C (en) | 1989-09-22 | 1990-09-19 | Apparatus and method for asynchronously delivering control elements with a pipe interface |
Country Status (13)
Country | Link |
---|---|
US (1) | US5325492A (en) |
EP (1) | EP0419066A2 (en) |
JP (1) | JP3208397B2 (en) |
KR (1) | KR950002391B1 (en) |
CN (1) | CN1025518C (en) |
AU (1) | AU630493B2 (en) |
BR (1) | BR9004685A (en) |
CA (1) | CA2025711C (en) |
GB (1) | GB9012970D0 (en) |
MY (1) | MY107143A (en) |
NZ (1) | NZ235002A (en) |
PH (1) | PH30203A (en) |
SG (1) | SG44433A1 (en) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5491799A (en) * | 1992-01-02 | 1996-02-13 | Amdahl Corporation | Communication interface for uniform communication among hardware and software units of a computer system |
FR2696256B1 (en) * | 1992-09-30 | 1994-11-25 | Bull Sa | Use of "tubes" for the transfer of states between different remote systems. |
US5448708A (en) * | 1992-10-30 | 1995-09-05 | Ward; James P. | System for asynchronously delivering enqueue and dequeue information in a pipe interface having distributed, shared memory |
US5574862A (en) * | 1993-04-14 | 1996-11-12 | Radius Inc. | Multiprocessing system with distributed input/output management |
CA2125607A1 (en) * | 1993-06-30 | 1994-12-31 | David Thielen | Method and system for buffering transient data |
US5617570A (en) * | 1993-11-03 | 1997-04-01 | Wang Laboratories, Inc. | Server for executing client operation calls, having a dispatcher, worker tasks, dispatcher shared memory area and worker control block with a task memory for each worker task and dispatcher/worker task semaphore communication |
US5706432A (en) * | 1993-11-04 | 1998-01-06 | International Business Machines Corporation | Mechanism for receiving messages at a coupling facility |
US5787300A (en) * | 1993-11-10 | 1998-07-28 | Oracle Corporation | Method and apparatus for interprocess communications in a database environment |
US5606666A (en) * | 1994-07-19 | 1997-02-25 | International Business Machines Corporation | Method and apparatus for distributing control messages between interconnected processing elements by mapping control messages of a shared memory addressable by the receiving processing element |
US6163793A (en) * | 1994-08-05 | 2000-12-19 | Intel Corporation | Method and apparatus for using a driver program executing on a host processor to control the execution of code on an auxiliary processor |
US5764907A (en) * | 1994-10-17 | 1998-06-09 | Chrysler Corporation | Computer to microcomputer interface |
US5671441A (en) * | 1994-11-29 | 1997-09-23 | International Business Machines Corporation | Method and apparatus for automatic generation of I/O configuration descriptions |
WO1996023317A1 (en) * | 1995-01-23 | 1996-08-01 | Tandem Computers Incorporated | A method for accessing a file in a multi-processor computer system using pipes and fifos |
US5802546A (en) * | 1995-12-13 | 1998-09-01 | International Business Machines Corp. | Status handling for transfer of data blocks between a local side and a host side |
US5794069A (en) * | 1995-12-13 | 1998-08-11 | International Business Machines Corp. | Information handling system using default status conditions for transfer of data blocks |
US5857213A (en) * | 1996-12-06 | 1999-01-05 | International Business Machines Corporation | Method for extraction of a variable length record from fixed length sectors on a disk drive and for reblocking remaining records in a disk track |
US5860088A (en) * | 1996-12-06 | 1999-01-12 | International Business Machines Corporation | Method for extraction of a variable length record from fixed length sectors on a disk drive |
US6170045B1 (en) | 1997-04-30 | 2001-01-02 | International Business Machines Corporation | Cross-system data piping using an external shared memory |
US6061771A (en) * | 1997-04-30 | 2000-05-09 | International Business Machines Corporation | Cross-system data piping system using an external shared memory |
US6092166A (en) * | 1997-04-30 | 2000-07-18 | International Business Machines Corporation | Cross-system data piping method using an external shared memory |
US6389482B1 (en) * | 1997-08-28 | 2002-05-14 | International Business Machines Corp. | Dynamic transitioning from a local pipe to a cross-system pipe |
US6345312B1 (en) * | 1997-08-28 | 2002-02-05 | International Business Machines Corporation | Selectively dummying a data pipe transparent to a writer application |
US6088370A (en) * | 1997-09-22 | 2000-07-11 | Intel Corporation | Fast 16 bit, split transaction I/O bus |
US7107371B1 (en) * | 1997-09-22 | 2006-09-12 | Intel Corporation | Method and apparatus for providing and embedding control information in a bus system |
US6108736A (en) * | 1997-09-22 | 2000-08-22 | Intel Corporation | System and method of flow control for a high speed bus |
US7013305B2 (en) | 2001-10-01 | 2006-03-14 | International Business Machines Corporation | Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange |
US6804769B1 (en) | 2000-02-18 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Unified buffer for tracking disparate long-latency operations in a microprocessor |
JP2008542897A (en) * | 2005-05-30 | 2008-11-27 | エヌエックスピー ビー ヴィ | Data pipeline management system and method of using the system |
US20070168536A1 (en) * | 2006-01-17 | 2007-07-19 | International Business Machines Corporation | Network protocol stack isolation |
US7613840B2 (en) * | 2006-08-17 | 2009-11-03 | General Electric Company | Methods and apparatus for dynamic data acquisition configuration parameters |
US10848811B2 (en) | 2007-07-05 | 2020-11-24 | Coherent Logix, Incorporated | Control information for a wirelessly-transmitted data stream |
US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
US8117347B2 (en) | 2008-02-14 | 2012-02-14 | International Business Machines Corporation | Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system |
US7941570B2 (en) | 2008-02-14 | 2011-05-10 | International Business Machines Corporation | Bi-directional data transfer within a single I/O operation |
US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
US8312189B2 (en) * | 2008-02-14 | 2012-11-13 | International Business Machines Corporation | Processing of data to monitor input/output operations |
US8214562B2 (en) * | 2008-02-14 | 2012-07-03 | International Business Machines Corporation | Processing of data to perform system changes in an input/output processing system |
US7890668B2 (en) | 2008-02-14 | 2011-02-15 | International Business Machines Corporation | Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous |
EP2439904B1 (en) | 2008-06-07 | 2014-01-15 | Coherent Logix Incorporated | Transmitting and receiving control information for use with multimedia streams |
US20100070502A1 (en) * | 2008-09-16 | 2010-03-18 | Beckman Coulter, Inc. | Collision Free Hash Table for Classifying Data |
US8332542B2 (en) * | 2009-11-12 | 2012-12-11 | International Business Machines Corporation | Communication with input/output system devices |
US8364853B2 (en) * | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8738811B2 (en) | 2011-06-01 | 2014-05-27 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8583988B2 (en) | 2011-06-01 | 2013-11-12 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US9021155B2 (en) * | 2011-06-01 | 2015-04-28 | International Business Machines Corporation | Fibre channel input/output data routing including discarding of data transfer requests in response to error detection |
US8677027B2 (en) | 2011-06-01 | 2014-03-18 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8364854B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8473641B2 (en) | 2011-06-30 | 2013-06-25 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8312176B1 (en) | 2011-06-30 | 2012-11-13 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8549185B2 (en) | 2011-06-30 | 2013-10-01 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8346978B1 (en) | 2011-06-30 | 2013-01-01 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8990439B2 (en) | 2013-05-29 | 2015-03-24 | International Business Machines Corporation | Transport mode data transfer between a channel subsystem and input/output devices |
JP2015127900A (en) | 2013-12-27 | 2015-07-09 | 株式会社ソニー・コンピュータエンタテインメント | Information processing apparatus, server system, and information processing system |
JP2015127898A (en) | 2013-12-27 | 2015-07-09 | 株式会社ソニー・コンピュータエンタテインメント | Information processing device and information processing system |
JP2015127899A (en) * | 2013-12-27 | 2015-07-09 | 株式会社ソニー・コンピュータエンタテインメント | Information processing device and information processing system |
CN108833578B (en) * | 2018-06-30 | 2021-07-23 | 武汉斗鱼网络科技有限公司 | Method and related equipment for duplex communication based on FIFO named pipeline |
CN110691002B (en) * | 2018-07-05 | 2021-07-23 | 武汉斗鱼网络科技有限公司 | Interrupt detection method and device |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4212057A (en) * | 1976-04-22 | 1980-07-08 | General Electric Company | Shared memory multi-microprocessor computer system |
IT1126475B (en) * | 1979-12-03 | 1986-05-21 | Honeywell Inf Systems | COMMUNICATION APPARATUS BETWEEN MORE PROCESSORS |
US4392200A (en) * | 1980-01-28 | 1983-07-05 | Digital Equipment Corporation | Cached multiprocessor system with pipeline timing |
JPS56140459A (en) * | 1980-04-04 | 1981-11-02 | Hitachi Ltd | Data processing system |
JPS5789128A (en) * | 1980-11-25 | 1982-06-03 | Hitachi Ltd | Controlling system for information interchange |
US4449182A (en) * | 1981-10-05 | 1984-05-15 | Digital Equipment Corporation | Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems |
AU4907285A (en) * | 1984-11-09 | 1986-05-15 | Spacelabs, Inc. | Communications bus broadcasting |
US4649473A (en) * | 1985-06-17 | 1987-03-10 | International Business Machines Corporation | Flexible data transmission for message based protocols |
US4809217A (en) * | 1985-10-31 | 1989-02-28 | Allen-Bradley Company, Inc. | Remote I/O port for transfer of I/O data in a programmable controller |
US5155807A (en) * | 1986-02-24 | 1992-10-13 | International Business Machines Corporation | Multi-processor communications channel utilizing random access/sequential access memories |
US4951193A (en) * | 1986-09-05 | 1990-08-21 | Hitachi, Ltd. | Parallel computer with distributed shared memories and distributed task activating circuits |
US4783730A (en) * | 1986-09-19 | 1988-11-08 | Datapoint Corporation | Input/output control technique utilizing multilevel memory structure for processor and I/O communication |
US4876644A (en) * | 1987-10-30 | 1989-10-24 | International Business Machines Corp. | Parallel pipelined processor |
US5003463A (en) * | 1988-06-30 | 1991-03-26 | Wang Laboratories, Inc. | Interface controller with first and second buffer storage area for receiving and transmitting data between I/O bus and high speed system bus |
JP2572292B2 (en) * | 1990-05-14 | 1997-01-16 | 株式会社小松製作所 | Asynchronous data transmission device |
-
1990
- 1990-06-11 GB GB909012970A patent/GB9012970D0/en active Pending
- 1990-08-21 NZ NZ235002A patent/NZ235002A/en unknown
- 1990-08-22 KR KR1019900012941A patent/KR950002391B1/en not_active IP Right Cessation
- 1990-08-22 MY MYPI90001410A patent/MY107143A/en unknown
- 1990-08-22 PH PH41067A patent/PH30203A/en unknown
- 1990-08-22 CN CN90107142A patent/CN1025518C/en not_active Expired - Fee Related
- 1990-08-24 AU AU61309/90A patent/AU630493B2/en not_active Ceased
- 1990-08-30 SG SG1996000367A patent/SG44433A1/en unknown
- 1990-08-30 EP EP90309468A patent/EP0419066A2/en not_active Ceased
- 1990-09-19 CA CA002025711A patent/CA2025711C/en not_active Expired - Fee Related
- 1990-09-20 BR BR909004685A patent/BR9004685A/en not_active IP Right Cessation
- 1990-09-20 JP JP24898190A patent/JP3208397B2/en not_active Expired - Fee Related
-
1993
- 1993-06-11 US US08/076,081 patent/US5325492A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CA2025711C (en) | 1998-03-31 |
CN1050450A (en) | 1991-04-03 |
NZ235002A (en) | 1992-08-26 |
EP0419066A2 (en) | 1991-03-27 |
MY107143A (en) | 1995-09-30 |
PH30203A (en) | 1997-02-05 |
BR9004685A (en) | 1991-09-10 |
KR950002391B1 (en) | 1995-03-17 |
CN1025518C (en) | 1994-07-20 |
JPH03130863A (en) | 1991-06-04 |
GB9012970D0 (en) | 1990-08-01 |
AU6130990A (en) | 1991-03-28 |
AU630493B2 (en) | 1992-10-29 |
US5325492A (en) | 1994-06-28 |
JP3208397B2 (en) | 2001-09-10 |
KR910006842A (en) | 1991-04-30 |
EP0419066A3 (en) | 1994-04-20 |
SG44433A1 (en) | 1997-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2025711A1 (en) | Apparatus and method for asynchronously delivering control elements with a pipe interface | |
CA1140231A (en) | Bus collision avoidance system for distributed network data processing communications system | |
CA2345596C (en) | Method and apparatus for extending the range of the universal serial bus protocol | |
EP0507044B1 (en) | Interprocessor switching network | |
US4470114A (en) | High speed interconnection network for a cluster of processors | |
US6240096B1 (en) | Fibre channel switch employing distributed queuing | |
US6112224A (en) | Patient monitoring station using a single interrupt resource to support multiple measurement devices | |
EP0117677A2 (en) | Data communication systems | |
GB2406467A (en) | Method and apparatus for zero-copy receive buffer management | |
CA2019373A1 (en) | Interrupt structure for network interface circuit | |
CA2003219A1 (en) | Method and system for transmitting buffered data packets on a communications network | |
EP0496177A1 (en) | Method of transmitting data by buffer chaining between a host computer and a communication controller | |
US5717855A (en) | Segmented communications adapter with packet transfer interface | |
EP0400794A2 (en) | Data processing apparatus adapted to connect to high speed links | |
IE922103A1 (en) | Deterministic method for allocation of a shared resource | |
US6665761B1 (en) | Method and apparatus for routing interrupts in a clustered multiprocessor system | |
US4796022A (en) | Double transit bus system | |
EP0088617B1 (en) | Bit-oriented line adapter system | |
US5488734A (en) | Coupler for providing a high speed interface between a communication controller and a controller extension | |
US4728754A (en) | Inter-bus system | |
US4773043A (en) | ADCCP communication processor | |
CA1235229A (en) | Double transit bus system | |
JPS60123950A (en) | Communication control method | |
KR100208229B1 (en) | Indoor Data Line Termination Matching Packet Service Device with Parallel Structure in Switching System | |
Thornton et al. | Hyperchannel network links |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |