发明名称 Small instruction cache using branch target table to effect instruction prefetch
摘要 A branch target table (10) is used as an instruction memory which is referenced by the addresses of instructions which are targets of branches. The branch target table consists of a target address table (12), a next fetch address table (14), valid entries table (16) and an instruction table (18). Whenever a branch is taken, some of the bits in the untranslated part of the address of the target instruction, i.e. the instruction being branched to, are used to address a line of the branch target table (10). In parallel with address translation, all entries of the branch target table line are accessed, and the translated address is compared to the target address table (12) entry on that line. If the target address table entry matches the target address, the instruction prefetch unit (32) fetches the instruction addressed by the next fetch address table (14) entry for the given line and the line of instructions associated with the branch address table entry is read into an instruction queue (38) having a length set by the valid entry table ( 16) entry which indicates how many of these instructions are valid. Otherwise, the instruction prefetch unit (32) fetches the target and subsequent instructions as it would if there were no branch target table, and the target address table entry is set to the real address of the target instruction. The next fetch address table (14) is updated so that it always contains the address of the instruction which follows the last valid instruction in the line, and the valid entries table (16) is updated so that it always counts the number of valid instructions in the line.
申请公布号 US4691277(A) 申请公布日期 1987.09.01
申请号 US19840664275 申请日期 1984.10.24
申请人 INTERNATIONAL BUSINESS MACHINES CORP. 发明人 KRONSTADT, ERIC P.;GHEEWALA, TUSHAR R.;GANDHI, SHARAD P.
分类号 G06F12/08;G06F9/38;(IPC1-7):G06F13/14 主分类号 G06F12/08
代理机构 代理人
主权项
地址