Browse Prior Art Database

Dynamic Boundary Algorithm for a Data Movement Mechanism

IP.com Disclosure Number: IPCOM000042636D
Original Publication Date: 1984-Jun-01
Included in the Prior Art Database: 2005-Feb-04
Document File: 2 page(s) / 49K

Publishing Venue

IBM

Related People

Farrell, WR: AUTHOR [+2]

Abstract

The algorithm described herein was developed for devices that transfer groups of data with the length of each transfer determined by the address boundary. Data is transferred to or from a boundary-oriented atmosphere in multiples of one, two, four, eight, etc., depending on the address alignment of byte, half-word, word or double-word. Devices that transfer fixed amounts would not need this feature. Each transfer value is developed from the starting and ending addresses supplied by the movement operation and enables the transfer to align quickly to the maximum transfer capability of the device. For example, a device that has a command structure that allows movement of 1 to 64 bytes, depending on boundary alignment, is enabled to move all the data necessary to reach the nearest 64-byte boundary.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

Dynamic Boundary Algorithm for a Data Movement Mechanism

The algorithm described herein was developed for devices that transfer groups of data with the length of each transfer determined by the address boundary. Data is transferred to or from a boundary-oriented atmosphere in multiples of one, two, four, eight, etc., depending on the address alignment of byte, half-word, word or double-word. Devices that transfer fixed amounts would not need this feature. Each transfer value is developed from the starting and ending addresses supplied by the movement operation and enables the transfer to align quickly to the maximum transfer capability of the device. For example, a device that has a command structure that allows movement of 1 to 64 bytes, depending on boundary alignment, is enabled to move all the data necessary to reach the nearest 64-byte boundary. The algorithm then allows the rest of the data to be moved in multiples of 64, until the count indicates transfer to the ending algorithm, which finishes moving any remaining words, bytes, etc. Fig. 1 shows the possible address combinations used in developing the starting algorithm for a system that can move multiple byte groups of data of up to 64 bytes. The algorithm, in this case, is developed from the low-order six bits of the address, higher-order moves would include the next higher bit or bits. By subtracting one from the starting address and exclusive 'ORing' the low-order six bits with ones, the appropriate binary mask is developed to enable moving the various parts of the data correctly until the nearest 64-byte boundary is reached. Fig. 4 shows an illustration of this operation. The ending algorithm is developed by adding the count to the original start address and saving only the low-order six bits. Fig. 2 shows the address combinations for the ending...