Browse Prior Art Database

Method and System for Calculating Length of a Contiguous Data Block

IP.com Disclosure Number: IPCOM000200368D
Publication Date: 2010-Oct-08
Document File: 2 page(s) / 36K

Publishing Venue

The IP.com Prior Art Database

Abstract

A method and system for calculating length of a contiguous data block is disclosed. The method enables data bytes to be combined easily in byte-write storage using byte-enables and then passed out onto a bus which requires a transfer length.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 72% of the total text.

Page 01 of 2

Method and System for Calculating Length of a Contiguous Data Block

Store gathering is a technique often used by microprocessors to improve overall performance. Storage gathering facilitates in reducing the number of transfers needed to relatively slower devices attached to a bus. Specifically, this technique involves combining multiple bus-writes into a single write operation. In certain non-cacheable cases, the data is required to be contiguous. One solution utilizes a concept of byte enables to indicate which bytes of a data bus are valid. The byte-enable vector commonly consists of one bit for each byte of data on a bus. If the byte-enable is on, then that byte has valid data. The byte enables can be created once the length and address of the store are known. The address indicates the starting address for the data, and the length of the operation indicates how many byte enables are to follow, in increasing order. This is illustrated in fig. 1.

(This page contains 00 pictures or other non-text object)

Figure 1

Disclosed is a method and system for calculating length of a contiguous data block. The method calculates the length of a block of data by calculating the beginning and ending bytes. These beginning and ending addresses correspond to the encoded values. The addresses are subtracted and one is added to get the length of the transmission. The entire operation may be performed in a couple of cycles. This allows data bytes to be combined easily in byte-write...