Browse Prior Art Database

Performance improvement of the ASIC GPL4 core.

IP.com Disclosure Number: IPCOM000183375D
Original Publication Date: 2009-May-20
Included in the Prior Art Database: 2009-May-20
Document File: 2 page(s) / 30K

Publishing Venue

IBM

Abstract

The Buffer located inside the ASIC GPL4 core should behave like a memory Cache with Cache Coherency otherwise a old data can be read from the buffer in some cases. On the current design this coherency can only be met when the GPL4 is configured to support guarded transaction that means the Buffer entries are invalidated after each read operation. This leeds to a loss of performance. To avoid this performance degradation I propose to modify the buffer behave of the GPL4 core in order to avoid a old data read.

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 58% of the total text.

Page 1 of 2

Performance improvement of the ASIC GPL 4 core.

For some special PCI express outbound request sequences, the IBM GPL4 core provides old data. The sequence consist of two different write/read data request for the same address. The initiator of the request is a master connected to the PLB4 intercace which forward the request to the slave part of the GPL4 core, named PCIEXGPL4

              block .To increase the throughput of the PCI express link, buffers are added in the read and write parts as shown in the figure.

     A read request at the PLB4 interface results in a transaction forwarded or not to the GBIF interface depending on the buffer hit condition. If there is a buffer hit, the transaction is not forwarded to the GBIF interface, it is handled localy by the ORPS block.

     The Buffer located inside the ORPS read block should behave like a memory Cache with Cache Coherency otherwise a old data can be read from the buffer in some cases. On the current design this coherency can only be met when the GPL4 is configured to support guarded transaction that means the Buffer entries are invalidated after each read operation. This leeds to a loss of performance. To avoid this performance degradation I propose to modify the buffer behave of the GPL4 core in order to avoid a old data read.

     The bad read results from an outbound read request following a write request with a new data at a location already addressed (read) previously. ....