摘要 |
A method for optimizing bus transactions in a data processing system is provided. A bus transaction optimizer receives an original bus transaction request which includes an original start address of a target memory for the original bus transaction, an original byte size for a number of bytes for the original bus transaction, and an original bus command for the original bus transaction. The bus transaction optimizer generates multiple bus transaction requests in response to a determination that the original byte size is greater than or equal to a predetermined multiple transfer byte size data value. The multiple bus transaction requests may include at least one high-performance bus transaction request and at least one low-performance bus transaction request. If the original start address is not aligned on a cacheline boundary, the multiple bus transaction requests include a low-performance bus transaction request with an optimized start address equal to the original start address and a high-performance bus transaction request with an optimized start address equal to a cacheline boundary succeeding the original start address. If the original start address is aligned on a cacheline boundary, then the multiple bus transaction requests comprise a high-performance bus transaction request with an optimized start address equal to the original start address and a low-performance bus transaction request with an optimized start address equal to a cacheline boundary succeeding a cacheline transferred in the high-performance bus transaction request. The optimized byte size for each of the multiple bus transaction requests is set equal to a remainder of a cacheline or a multiple of the cacheline size.
|