Article View: comp.arch
Article #20472Re: gather/scatter hardware
From: Wm. E. Davidsen Jr
Date: Thu, 23 Mar 1989 15:56
Date: Thu, 23 Mar 1989 15:56
69 lines
2915 bytes
2915 bytes
In article <180@qusunj.queensu.CA> levisonm@qucis.queensu.CA (Mark Levison) writes:
|
| Does anyone have a good short explanation of how gather/scatter
| hardware (such as in the Cray - XMP) works?
How about a short description of scatter/gather, not based on the XMP?
The basis of s/g is that hardware in the system will take a mass storage
address, meaning controller id, pgysical unit id, cylinder and head, and
the *address* of a list of trasfer control instructions. Each
instruction contains the starting address of a buffer and (usually) the
size of the buffer.
Example:
; Code fragment
DO_IO DEVLIST,BUFLIST
WAIT
JNZ error
; More code here
;
; Data area
;
DEVLIST EQU *
DB 0 ; Disk string
DB ? ; Device number
DB ? ; Head
DW ? ; Cylinder
BUFLIST EQU *
IOTC HEADER,77 ; Header info
IOTC P1,? ; Prefix buffer, fill in length
IOTC BODY,410 ; 410 bytes of body
IOTC S1,? ; Suffix, 2 or 7 bytes
IOTD TAIL,22 ; record tail
________________________________________________________________
On a disk the total size better be a multiple of the sector size, but on
a tape the record length can vary. The example transfers data from five
places in memory to one output record.
I borrowed the i/o mnemonics from the Honeywell 6000, I/O Transfer and
Continue, I/O Transfer and Disconnect. I believe that there was a way to
read in one i/o control word as the first word of the record, and use
that to determine the destination of the rest of the record. The lengths
were actually in words.
Something loosely like:
IOLST: IOTC *+1,1 ; Read the control info
BSS 1 ; First word is an IOTD
I *think* there was an I/O control word to transfer from one list to
another, which may have been called TDCW (Transfer to Data Control
Word). Probably other people have programmed that machine more recently
than I and can clarify the facts.
================================================================
New mailing address: wedu@crd.ge.com
We are no longer ge-crd.arpa and mail will stop working to that address
in the *very* near future.
Note: flames and hate mail may still use the old address ;-{
================================================================
We now return you to our regularly scheduled signature...
--
bill davidsen (wedu@crd.GE.COM)
{uunet | philabs}!steinmetz!crdos1!davidsen
"Stupidity, like virtue, is its own reward" -me
Technical Details
Message-ID:
<13402@steinmetz.ge.com>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!lll-winken!uunet!steinmetz!davidsenReferences:
<180@qusunj.queensu.CA>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!lll-winken!uunet!steinmetz!davidsen From: davidsen@steinmetz.ge.com (Wm. E. Davidsen Jr) Newsgroups: comp.arch Subject: Re: gather/scatter hardware Keywords: gather scatter Message-ID: <13402@steinmetz.ge.com> Date: 23 Mar 89 15:56:44 GMT References: <180@qusunj.queensu.CA> Reply-To: davidsen@crdos1.UUCP (bill davidsen) Organization: General Electric CRD, Schenectady, NY Lines: 69