Browse Prior Art Database

MPQP Compressed Buffer Notation and Command Pairing Scheme

IP.com Disclosure Number: IPCOM000122011D
Original Publication Date: 1991-Oct-01
Included in the Prior Art Database: 2005-Apr-04
Document File: 2 page(s) / 115K

Publishing Venue

IBM

Related People

Adkins, JT: AUTHOR [+2]

Abstract

The MPQP (Multiprotocol Quad Port) Adapter environment includes a sophisticated base card with a four-port daughter card. The base card is made up of an onboard CPU, memory, communications chips and dedicated DMA channels to the I/O ports. The communications environment provided by the four-port daughter card leaves considerable processor resources available for complex data manipulation onboard the card itself. Such tasks as packetizing and frame analysis are performed on the adapter. The preprocessing of transmit frames and postprocessing of receive frames, in addition to establishing physical connections to switched and leased lines, offload a large interrupt and processing burden from the system CPU. The host CPU must communicate to the adapter by writing commands and reading responses from shared memory.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

MPQP Compressed Buffer Notation and Command Pairing Scheme

      The MPQP (Multiprotocol Quad Port) Adapter environment
includes a sophisticated base card with a four-port daughter card.
The base card is made up of an onboard CPU, memory, communications
chips and dedicated DMA channels to the I/O ports. The communications
environment provided by the four-port daughter card leaves
considerable processor resources available for complex data
manipulation onboard the card itself.  Such tasks as packetizing and
frame analysis are performed on the adapter.   The preprocessing of
transmit frames and postprocessing of receive frames, in addition to
establishing physical connections to switched and leased lines,
offload a large interrupt and processing burden from the system CPU.
The host CPU must communicate to the adapter by writing commands and
reading responses from shared memory.  The host CPU is a 32-bit
processor, but the bus is only 16 bits wide.  The reads and writes
are handled on the system side by the IOCC (I/O Channel Converter),
which must halt host CPU execution when memory addresses are set up.

      Since the driver may request that a large number of commands be
performed by the adapter, a circular queue interface was implemented
to couple the driver and adapter software as loosely as possible.
Therefore, the driver may have numerous commands outstanding to any
number of ports at any given moment.

      The 16-bit processor on the adapter uses segmented addresses to
reference items larger than 64K bytes in length.  Both transmit and
receive buffer pools are 320K bytes.  When accessed from the host
computer side through bus memory, the region looks contiguous and
some address lines are driven automatically based on the current
window size. The window size is selectable, but all of adapter memory
is not viewable at one time for this particular adapter.  Because
this adapter is capable of being a bus master, it is not necessary
for the driver to be able to access the buffer regions of the
adapter.  The window is set to one 64K segment of the adapter where
the command queue and response queues reside.  The portion of the
adapter memory the driver can access through the window does not
change.

      The queue interface between the adapter and driver is accessed
via PIO (Programmed I/O), handled automatically by the RIOS IOCC.
Unfortunately, this interface requires several non-contiguous writes
to shared memory.  Each time the IOCC is set up for a different write
location, it halts the host CPU completely.  This causes obvious
performance degradation, and the number of different I/O locations
for the IOCC writes must be minimized at all costs. Continued

      To minimize the amount of data required to pass either a
command to the adapter or interpret a response from it, a compressed
buffer scheme was devised.

      When the device driver wants...