Claims Analysis
Total Claims: 7
Claim 1
Independent Claim
245 words
An apparatus comprising: a system bus; an instruction cache, coupled to said system bus, including validity bits for indicating whether an entry is valid and means for setting a validity bit for an entry to an invalid state upon detection of a store signal on said system bus for an address matching said entry; a branch prediction cache including, for each entry, a branch entry address, a branch target address, branch target instruction data and a validity bit; means for comparing an address of an instruction cache entry to said branch target addresses; control means for writing instructions into said branch prediction cache only if said instructions are also written into said instruction cache and for removing instructions from said branch prediction cache whenever said instructions are removed from said instruction cache; and means for setting a validity bit for a branch prediction cache entry to invalid when the branch target address matches the address of an instruction cache entry with a validity bit in an invalid state; such that a store-into-instruction-stream will be detected by said instruction cache and will result in the invalidation of any corresponding entries in both said instruction cache and said branch prediction queue; wherein said instruction cache is direct-mapped and said branch prediction cache is fully associative; and wherein index bits of an instruction address are used to map into said instruction cache, and bits more significant than said index bits are not compared to said branch target addresses.
Claim 2
Independent Claim
245 words
An apparatus comprising: a system bus; an instruction cache, coupled to said system bus, including validity bits for indicating whether an entry is valid and means for setting a validity bit for an entry to an invalid state upon detection of a store signal on said system bus for an address matching said entry; a branch prediction cache including, for each entry, a branch entry address, a branch target address, branch target instruction data and a validity bit; means for comparing an address of an instruction cache entry to said branch target addresses; control means for writing instructions into said branch prediction cache only if said instructions are also written into said instruction cache and for removing instructions from said branch prediction cache whenever said instructions are removed from said instruction cache; and means for setting a validity bit for a branch prediction cache entry to invalid when the branch target address matches the address of an instruction cache entry with a validity bit in an invalid state; such that a store-into-instruction-stream will be detected by said instruction cache and will result in the invalidation of any corresponding entries in both said instruction cache and said branch prediction queue; wherein said instruction cache is direct-mapped and said branch prediction cache is fully associative; and wherein index bits of an instruction address are used to map into said instruction cache, and bits more significant than said index bits are not compared to said branch target addresses.
Claim 3
Independent Claim
276 words
An apparatus comprising: a system bus; an instruction cache, coupled to said system bus, including validity bits for indicating whether an entry is valid and means for setting a validity bit for an entry to an invalid state upon detection of a store signal on said system bus for an address matching said entry; a branch prediction cache including, for each entry, a branch instruction address, a branch target address, branch target instruction data and validity bit; means for comparing an address of an instruction cache entry to said branch target addresses; control means for writing instructions into said branch prediction cache only if said instructions are also written into said instruction cache and for removing instructions from said branch prediction cache whenever said instructions are removed from said instruction cache; and means for setting a validity bit for a branch prediction cache entry to invalid when the branch target address matches the address of an instruction cache entry with a validity bit in an invalid state; such that a store-into-instruction-stream will be detected by said instruction cache and will result in the invalidation of any corresponding entries in both said instruction cache and said branch prediction queue; wherein each line of said branch prediction cache includes a plurality of branch target instructions immediately following said branch instruction to form a set of instruction bytes, said set of instruction bytes being aligned differently than a line of said instruction cache, and further comprising means for storing at least a portion of an end address of said set and comparing said portion of said end address to a portion of an address of an instruction cache entry.
Claim 4
Independent Claim
276 words
An apparatus comprising: a system bus; an instruction cache, coupled to said system bus, including validity bits for indicating whether an entry is valid and means for setting a validity bit for an entry to an invalid state upon detection of a store signal on said system bus for an address matching said entry; a branch prediction cache including, for each entry, a branch instruction address, a branch target address, branch target instruction data and validity bit; means for comparing an address of an instruction cache entry to said branch target addresses; control means for writing instructions into said branch prediction cache only if said instructions are also written into said instruction cache and for removing instructions from said branch prediction cache whenever said instructions are removed from said instruction cache; and means for setting a validity bit for a branch prediction cache entry to invalid when the branch target address matches the address of an instruction cache entry with a validity bit in an invalid state; such that a store-into-instruction-stream will be detected by said instruction cache and will result in the invalidation of any corresponding entries in both said instruction cache and said branch prediction queue; wherein each line of said branch prediction cache includes a plurality of branch target instructions immediately following said branch instruction to form a set of instruction bytes, said set of instruction bytes being aligned differently than a line of said instruction cache, and further comprising means for storing at least a portion of an end address of said set and comparing said portion of said end address to a portion of an address of an instruction cache entry.
Claim 5
Dependent Claim
63 words
The apparatus of claim 2 further comprising control means for ensuring that all the addresses of said set of instructions are within the same page of memory, such that said second means for comparing said portion of said end address to a portion of an address of an instruction cache entry being operable without comparing bits more significantly than a page boundary bit.
Claim 6
Independent Claim
217 words
An apparatus comprising: a system bus; an instruction cache, coupled to said system bus, including validity bits for indicating whether an entry is valid and means for setting a validity bit for an entry to an invalid state upon detection of a store signal on said system bus for an address matching said entry; a branch prediction cache including, for each entry, a branch instruction address, a branch target address, branch target instruction data and a validity bit; means for comparing an address of an instruction cache entry to said branch target addresses; control means for writing instructions into said branch prediction cache only if said instructions are also written into said instruction cache and for removing instructions from said branch prediction cache whenever said instructions are removed from said instruction cache; and means for setting a validity bit for a branch prediction cache entry to invalid when the branch target address matches the address of an instruction cache entry with a validity bit in an invalid state; such that a store-into-instruction-stream will be detected by said instruction cache and will result in the invalidation of any corresponding entries in both said instruction cache and said branch prediction queue; wherein said means for comparing does not compare bits more significant than index bits of said instruction cache.
Claim 7
Independent Claim
217 words
An apparatus comprising: a system bus; an instruction cache, coupled to said system bus, including validity bits for indicating whether an entry is valid and means for setting a validity bit for an entry to an invalid state upon detection of a store signal on said system bus for an address matching said entry; a branch prediction cache including, for each entry, a branch instruction address, a branch target address, branch target instruction data and a validity bit; means for comparing an address of an instruction cache entry to said branch target addresses; control means for writing instructions into said branch prediction cache only if said instructions are also written into said instruction cache and for removing instructions from said branch prediction cache whenever said instructions are removed from said instruction cache; and means for setting a validity bit for a branch prediction cache entry to invalid when the branch target address matches the address of an instruction cache entry with a validity bit in an invalid state; such that a store-into-instruction-stream will be detected by said instruction cache and will result in the invalidation of any corresponding entries in both said instruction cache and said branch prediction queue; wherein said means for comparing does not compare bits more significant than index bits of said instruction cache.