Patent ID: 8578135

Claim:
An information processing apparatus comprising: a memory that stores a plurality of instructions each having m bits; a first bus connected to the memory and having a bus width of 128 bits as m bits×n, where n is an integer; a cache connected to the first bus to store instructions selected from the plurality of instructions in the memory; a second bus connected to the cache and having a bus width of 128 bits as m bits×n; a selector connected to the first bus and the second bus; a third bus connected to the selector and having a bus width of 32 bits comprising m bits×L, where L is defined by L<n; a CPU being connected to the third bus; an instruction buffer connected to the second bus; and an address calculation unit connected to the instruction buffer; wherein the address calculation unit is configured to check whether a branch instruction and an instruction for calculation of branch target address exists in the instructions stored in the instruction buffer, and to decode the branch instruction and the instruction for calculation of a branch target address upon existence of them before the CPU executes the branch instruction and the instruction for calculation of branch target, so the address calculation unit is further configured to calculate the branch target address and generate a prefetch request to prefetch an instruction of the branch target address from the memory and store the prefetched instruction into the cache.