1. An information processing apparatus including a main memory storing data in a plurality of blocks and a processor connected to the main memory, the processor comprising: a cache memory that stores data fetched to the cache memory by reading the data out from the main memory block by block, each of the blocks including a plurality of sub blocks; an instruction processing unit that accesses a part of the data in the cache memory sub block by sub block; an entry holding unit that holds a plurality of entries including a plurality of block addresses indicative of blocks of data to be fetched to the cache memory and access history information indicative of access to the blocks of data in the cache memory by the instruction processing unit, respectively; and a controller that controls fetching of data from the main memory to the cache memory so as to determine whether to execute fetching of a block of data indicated by one of the entries in the entry holding unit, while the access by the instruction processing unit to sub blocks of data in a block indicated by another of the entries immediately preceding the one of the entries, in accordance with order of the access from the instruction processing unit to sub blocks in the block indicated by the another of the entries and access history information associated with the one of the entries.