Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
152 words
A cache control unit for an instruction cache, said instruction cache comprising part of an instruction pipe, the cache control unit comprising: a content addressable memory for storing most recent addresses of cache lines which have been accessed for instruction fetching for execution said instructions being of variable length; boundary identification logic connected to said instruction cache for identifying instruction boundaries for each of said plurality of instructions held in said instruction cache; an anticipation buffer for holding a next instruction, said anticipation buffer minimizing circuitry for fetches across cache lines; and an instruction fetch unit, connected to said instruction cache for fetching instructions to be executed, said instruction fetch unit including alignment logic connected to said anticipation buffer and responsive to said boundaries of instructions read from said instruction cache for aligning and appending said next instruction to said instructions held in said instruction cache, without first sequentially decoding said instructions.
Claim 2
Dependent Claim
152 words
A cache control unit for an instruction cache, said instruction cache comprising part of an instruction pipe, the cache control unit comprising: a content addressable memory for storing most recent addresses of cache lines which have been accessed for instruction fetching for execution said instructions being of variable length; boundary identification logic connected to said instruction cache for identifying instruction boundaries for each of said plurality of instructions held in said instruction cache; an anticipation buffer for holding a next instruction, said anticipation buffer minimizing circuitry for fetches across cache lines; and an instruction fetch unit, connected to said instruction cache for fetching instructions to be executed, said instruction fetch unit including alignment logic connected to said anticipation buffer and responsive to said boundaries of instructions read from said instruction cache for aligning and appending said next instruction to said instructions held in said instruction cache, without first sequentially decoding said instructions.
Claim 3
Dependent Claim
68 words
The cache control unit recited in claim 1 further comprising: first logic means connected to said content addressable memory for detecting an occurrence of a store to memory request to one of said instruction addresses; and second logic means responsive to the first logic for delaying the store to memory request until previous instructions are executed and then refetching instructions that follow the store instruction in program order.
Claim 4
Dependent Claim
19 words
A cache control unit as in claim 1 wherein address entries in said content addressable memory are first-in, first-out.
Claim 5
Dependent Claim
29 words
A cache control unit as in claim 3 wherein the number of entries in said content addressable memory is greater than a number of operations in the instruction pipe.
Claim 6
Dependent Claim
34 words
A cache control unit as in claim 4 wherein the content addressable memory includes comparing means for comparing an address of each instruction to be executed against all addresses in the content addressable memory.
Claim 7
Dependent Claim
54 words
A cache control unit as in claim 5 wherein in said comparing means generates a hit output when a match is found between an address of an instruction to be executed and an address in the content addressable memory and further comprising means to register an exception condition when a hit output is generated.
Claim 8
Dependent Claim
38 words
A cache control unit as in claim 1 wherein said boundary identification logic includes means for evaluating boundary fields in each cache byte in said instruction cache and identifying boundaries of variable length instructions in said instruction cache.
Claim 9
Dependent Claim
73 words
The cache control unit recited in claim 7 wherein each line in cache includes a byte with an associated boundary field which provides an indication of the nature of the byte, the boundary field marking the beginning of a variable length instruction and information about the instruction to reduce decode time, said boundary identification logic decoding said boundary field at a time when an instruction stored in an addressed cache line is fetched.
Claim 10
Dependent Claim
33 words
A cache control unit as in claim 1 wherein said next instruction in said anticipation buffer is in a sequence of anticipated prefetched instructions from said instruction cache or a branch target instruction.
Claim 11
Dependent Claim
243 words
A cache control unit for an instruction cache, said instruction cache comprising part of an instruction pipe, the cache control unit comprising: a content addressable memory for storing most recent addresses of cache lines which have been accessed for instruction fetching for execution, said instructions being of variable length; boundary identification logic connected to said instruction cache for identifying instruction boundaries for each of said plurality of instructions held in said instruction cache; an anticipation buffer for holding a next instruction, said anticipation buffer minimizing circuitry for fetches across cache lines; first logic means connected to said content addressable memory for detecting an occurrence of a store to memory request to one of said instruction addresses; and second logic means responsive to the first logic for delaying the store to memory request until previous instructions are executed and then refetching instructions that follow the store instruction in program order, wherein each line in cache includes a byte with an associated boundary field which provides an indication of the nature of the byte, the boundary field marking the beginning of a variable length instruction and information about the instruction to reduce decode time, said boundary identification logic decoding said boundary field at a time when an instruction stored in an address cache line is fetched, wherein the boundary field is a 2-bit field encoded as follows: 00 =NOT A BOUNDARY 01 =INSTRUCTION PREFIX BYTE 10 =COMPLEX INSTRUCTION BOUNDARY (NO PREFIX) 11 =SIMPLE INSTRUCTION BOUNDARY.
Claim 12
Dependent Claim
243 words
A cache control unit for an instruction cache, said instruction cache comprising part of an instruction pipe, the cache control unit comprising: a content addressable memory for storing most recent addresses of cache lines which have been accessed for instruction fetching for execution, said instructions being of variable length; boundary identification logic connected to said instruction cache for identifying instruction boundaries for each of said plurality of instructions held in said instruction cache; an anticipation buffer for holding a next instruction, said anticipation buffer minimizing circuitry for fetches across cache lines; first logic means connected to said content addressable memory for detecting an occurrence of a store to memory request to one of said instruction addresses; and second logic means responsive to the first logic for delaying the store to memory request until previous instructions are executed and then refetching instructions that follow the store instruction in program order, wherein each line in cache includes a byte with an associated boundary field which provides an indication of the nature of the byte, the boundary field marking the beginning of a variable length instruction and information about the instruction to reduce decode time, said boundary identification logic decoding said boundary field at a time when an instruction stored in an address cache line is fetched, wherein the boundary field is a 2-bit field encoded as follows: 00 =NOT A BOUNDARY 01 =INSTRUCTION PREFIX BYTE 10 =COMPLEX INSTRUCTION BOUNDARY (NO PREFIX) 11 =SIMPLE INSTRUCTION BOUNDARY.
Claim 13
Dependent Claim
180 words
A content addressable memory connected to means for detecting a store-to-the instruction-stream event in the execution of self modifying code, said content addressable memory storing most recent addresses of cache lines which have been accessed from an instruction cache for execution, said instruction cache comprising part of an instruction pipe, said content addressable memory storing address entries on a first-in, first-out basis, the number of entries in said content addressable memory being greater than a number of operations in the instruction pipe, said means for detecting including: boundary identification logic connected to said instruction cache for identifying instruction boundaries for each of said plurality of instructions held in said instruction cache; an anticipation buffer for holding a next instruction; and an instruction fetch unit, connected to said instruction cache for fetching instructions to be executed, said instruction fetch unit including alignment logic connected to said anticipation buffer and responsive to said boundaries of instructions read from said instruction cache for aligning and appending said next instruction to said instructions held in said instruction cache, without first sequentially decoding said instructions.
Claim 14
Dependent Claim
180 words
A content addressable memory connected to means for detecting a store-to-the instruction-stream event in the execution of self modifying code, said content addressable memory storing most recent addresses of cache lines which have been accessed from an instruction cache for execution, said instruction cache comprising part of an instruction pipe, said content addressable memory storing address entries on a first-in, first-out basis, the number of entries in said content addressable memory being greater than a number of operations in the instruction pipe, said means for detecting including: boundary identification logic connected to said instruction cache for identifying instruction boundaries for each of said plurality of instructions held in said instruction cache; an anticipation buffer for holding a next instruction; and an instruction fetch unit, connected to said instruction cache for fetching instructions to be executed, said instruction fetch unit including alignment logic connected to said anticipation buffer and responsive to said boundaries of instructions read from said instruction cache for aligning and appending said next instruction to said instructions held in said instruction cache, without first sequentially decoding said instructions.
Claim 15
Dependent Claim
30 words
A content addressable memory as in claim 11 further comprising comparing means for comparing an address of each instruction to be executed against all addresses in the content addressable memory.
Claim 16
Dependent Claim
53 words
A content addressable memory as in 12 wherein in said comparing means generates a hit output when a match is found between an address of an instruction to be executed and an address in the content addressable memory and further comprising means to register an exception condition when a hit output is generated.
Claim 17
Dependent Claim
53 words
A content addressable memory as in 12 wherein in said comparing means generates a hit output when a match is found between an address of an instruction to be executed and an address in the content addressable memory and further comprising means to register an exception condition when a hit output is generated.
Claim 18
Dependent Claim
126 words
A boundary identification logic connected to said content addressable memory for identifying instruction boundaries for each of said plurality of variable length instructions held in an instruction cache, said boundary identification logic including: means for evaluating boundary fields in each cache byte in said instruction cache and identifying boundaries of variable length instructions in said instruction cache; an anticipation buffer for holding a next instruction; and an instruction fetch unit, connected to said instruction cache for fetching instructions to be executed, said instruction fetch unit including alignment logic connected to said anticipation buffer and responsive to said boundaries of instructions read from said instruction cache for aligning and appending said next instruction to said instructions held in said instruction cache, without first sequentially decoding said instructions.
Claim 19
Dependent Claim
126 words
A boundary identification logic connected to said content addressable memory for identifying instruction boundaries for each of said plurality of variable length instructions held in an instruction cache, said boundary identification logic including: means for evaluating boundary fields in each cache byte in said instruction cache and identifying boundaries of variable length instructions in said instruction cache; an anticipation buffer for holding a next instruction; and an instruction fetch unit, connected to said instruction cache for fetching instructions to be executed, said instruction fetch unit including alignment logic connected to said anticipation buffer and responsive to said boundaries of instructions read from said instruction cache for aligning and appending said next instruction to said instructions held in said instruction cache, without first sequentially decoding said instructions.
Claim 20
Dependent Claim
73 words
A boundary identification logic recited in claim 14 wherein each line in cache includes a byte with an associated boundary field which provides an indication of the nature of the byte, the boundary field marking the beginning of a variable length instruction and information about the instruction to reduce decode time, said boundary identification logic decoding said boundary field at a time when an instruction stored in an addressed cache line is fetched.
Claim 21
Dependent Claim
147 words
A boundary identification logic connected to said content addressable memory for identifying instruction boundaries for each of said plurality of variable length instructions field in an instruction cache, said boundary identification logic including means for evaluating boundary fields in each cache byte in said instruction cache and identifying boundaries of variable length instructions in said instruction cache, wherein each line in cache includes a byte with an associated boundary field which provides an indication of the nature of the byte, the boundary field marking the beginning of a variable length instruction and information about the instruction to reduce decode time, said boundary identification logic decoding said boundary field at a time when an instruction stored in an addressed cache line is fetched, wherein the boundary field is a 2-bit field encoded as follows: 00=NOT A BOUNDARY 01=INSTRUCTION PREFIX BYTE 10=COMPLEX INSTRUCTION BOUNDARY (NO PREFIX) 11=SIMPLE INSTRUCTION BOUNDARY.
Claim 22
Dependent Claim
147 words
A boundary identification logic connected to said content addressable memory for identifying instruction boundaries for each of said plurality of variable length instructions field in an instruction cache, said boundary identification logic including means for evaluating boundary fields in each cache byte in said instruction cache and identifying boundaries of variable length instructions in said instruction cache, wherein each line in cache includes a byte with an associated boundary field which provides an indication of the nature of the byte, the boundary field marking the beginning of a variable length instruction and information about the instruction to reduce decode time, said boundary identification logic decoding said boundary field at a time when an instruction stored in an addressed cache line is fetched, wherein the boundary field is a 2-bit field encoded as follows: 00=NOT A BOUNDARY 01=INSTRUCTION PREFIX BYTE 10=COMPLEX INSTRUCTION BOUNDARY (NO PREFIX) 11=SIMPLE INSTRUCTION BOUNDARY.