Allocating potentially needed resources for a transaction before having
completely received the transaction is disclosed. An initial part of a
transaction is received in first clock cycle. The resources potentially
needed by the transaction are determined based on the initial part
thereof that has been received, and allocated. The transaction then
proceeds. The final part of the transaction is received in a final clock
cycle. The resources actually needed by the transaction from the
resources previously allocated are determined based on the remaining part
thereof that has been received. Any unneeded remaining resources are then
deallocated.