Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Byte Count Algorithm for Bus-to-Bus DMA Slave Transfers

IP.com Disclosure Number: IPCOM000108640D
Original Publication Date: 1992-Jun-01
Included in the Prior Art Database: 2005-Mar-22
Document File: 2 page(s) / 54K

Publishing Venue

IBM

Related People

Arimilli, RK: AUTHOR [+2]

Abstract

The I/O Channel Controller (IOCC) in the IBM RISC System/6000* contains a buffered DMA Slave Controller which allows transfers between the DMA Slave Device and System Memory or Micro Channel* Bus Memory. During DMA Slave transfers to/from Bus Memory, an algorithm was developed to minimize Micro Channel bus utilization and maximize flexibility.

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

Byte Count Algorithm for Bus-to-Bus DMA Slave Transfers

       The I/O Channel Controller (IOCC) in the IBM RISC
System/6000* contains a buffered DMA Slave Controller which allows
transfers between the DMA Slave Device and System Memory or Micro
Channel* Bus Memory.  During DMA Slave transfers to/from Bus Memory,
an algorithm was developed to minimize Micro Channel bus utilization
and maximize flexibility.

      The DMA Slave Controller performs multiple enveloped transfers
in which each envelope contains a READ cycle (from I/O Device or Bus
Memory) followed by multiple WRITE cycles (to Bus Memory or I/O
Device).  During the READ cycle, the byte count algorithm is as
follows:
      READ SOURCE WIDTH = MINIMUM (MTB, BC)
      Maximum Transferable Bytes (MTB) = MDW - AD((P-W)..P)
           MDW = Maximum Device Width in the system.
           AD  = Memory Address.
           P   = Width of the Memory Address (in bits - 1).
           W   = n - 1,   n is obtained from   MDW = 2^n
      Byte Count (BC) = MINIMUM (4, Transfer Length)
      READ CYCLE WIDTH = MINIMUM [READ SOURCE WIDTH, READ SLAVE
DEVICE SIZE]
      During the WRITE cycles, the byte count algorithm is as
follows:
      WRITE SOURCE WIDTH = MINIMUM (READ CYCLE WIDTH, NBC)
           New Byte Count (NBC) = Loaded with READ CYCLE WIDTH during
the 1st WRITE cycle, and decremented by WRITE CYCLE WIDTH during the
follow...