In a microprocessor in which a central processing unit (CPU) issues fetch requests and operand access requests to a bus unit to initiate accesses to memory, each of said fetch requests including a fetch address which specifies a starting memory location for fetching a block of code into an instruction buffer of said microprocessor, each of said operand access requests including an operand address which specifies a memory location for performing an operand access, an access control unit that postpones pending fetch requests issued by said CPU to allow subsequently-issued operand access requests from said CPU to be performed by said bus unit prior to said pending fetch requests, to thereby increase the performance of said microprocessor, said access control unit comprising:
- a fetch address queue that receives and holds a fetch address of a fetch request that has been issued by said CPU, said fetch address queue thereby allowing said fetch request to be postponed while a subsequently-issued operand access request is performed by said bus unit, said subsequently-issued operand access request issued by said. CPU subsequent to said fetch request;
- an address selector that selects between at least an operand address from said CPU and said fetch address held by said fetch address queue, said operand address from said CPU corresponding to said subsequently-issued operand access request, an address selected by said address selector being provided to said bus unit and specifying a next memory access request to be attempted by said bus unit;
- and
- a state machine that provides a control signal to said address selector to select either said operand address from said CPU or said fetch address held by said fetch address queue, to thereby allow either said subsequently-issued operand access request or said fetch request to be attempted by said bus unit.