Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
167 words
A method of fetching multiple instructions in a pipelined microprocessor for out-of-order instruction execution in microprocessor architectures that permit store to the instruction stream, said method comprising the steps of: storing most recent addresses of cache lines which have been accessed for instruction fetching for execution in a content addressable memory, said instructions being of variable length; logically identifying instruction boundaries for each of said plurality of instructions held in cache; holding a next instruction in an anticipation buffer, said next instruction being located and identified by said identifying step using said content addressable memory; aligning and appending said next instruction to said instructions held in cache, based on said step of logically identifying instruction boundaries, without first sequentially decoding said instructions; detecting an occurrence of a store to memory request to one of said instruction addresses in the content addressable memory; delaying the store to memory request until previous instructions are executed; and then refetching instructions that follow the store to memory request in program order.
Claim 2
Independent Claim
167 words
A method of fetching multiple instructions in a pipelined microprocessor for out-of-order instruction execution in microprocessor architectures that permit store to the instruction stream, said method comprising the steps of: storing most recent addresses of cache lines which have been accessed for instruction fetching for execution in a content addressable memory, said instructions being of variable length; logically identifying instruction boundaries for each of said plurality of instructions held in cache; holding a next instruction in an anticipation buffer, said next instruction being located and identified by said identifying step using said content addressable memory; aligning and appending said next instruction to said instructions held in cache, based on said step of logically identifying instruction boundaries, without first sequentially decoding said instructions; detecting an occurrence of a store to memory request to one of said instruction addresses in the content addressable memory; delaying the store to memory request until previous instructions are executed; and then refetching instructions that follow the store to memory request in program order.
Claim 3
Dependent Claim
47 words
The method as in claim 1, wherein said logically identifying step includes steps of identifying a characteristic of an accessed instruction of said instructions held in cache and storing information of said characteristic of said accessed instruction held in cache in a plurality of instruction boundary fields.
Claim 4
Dependent Claim
52 words
The method as in claim 1, further comprising a step, following said delaying step, of purging said instructions that follow the store to memory request that are being executed when said detecting step detects said occurrence of a store to memory request to addresses indicated by said instruction addresses in the memory.
Claim 5
Dependent Claim
38 words
The method as in claim 1, wherein said detecting step further comprises a step of comparing every active store to memory request with every instruction address in said memory during a machine cycle that had a store request.
Claim 6
Dependent Claim
22 words
A method as in claim 1, further comprising a step of executing at least two of said instructions held in cache simultaneously.
Claim 7
Dependent Claim
38 words
A method as in claim 1, wherein said logically identifying step further comprises: modifying said cache to include an instruction boundary field; and determining a characteristic of said instruction and writing said characteristic in said instruction boundary field.
Claim 8
Independent Claim
219 words
A method of fetching multiple instructions in a pipelined microprocessor for out-of-order instruction execution in microprocessor architectures that permit store to the instruction stream, said method comprising the steps of: storing most recent addresses of cache lines which have been accessed for instruction fetching for execution in a content addressable memory, said instructions being of variable length; logically identifying instruction boundaries for each of said plurality of instructions held in cache; holding a next instruction in an anticipation buffer, said next instruction being located and identified by said identifying step using said content addressable memory; detecting an occurrence of a store to memory request to one of said instruction addresses in the content addressable memory; delaying the store to memory request until previous instructions are executed; and then refetching instructions that follow the store to memory request in program order, wherein said logically identifying step includes steps of identifying a characteristic of each of said instructions held in cache and storing information of said characteristic of each of said instructions held in cache in a plurality of instruction boundary fields, wherein said step of identifying a characteristic includes a step of identifying one of the following characteristics of each of said instructions held in cache: 00=NOT A BOUNDARY 01=INSTRUCTION PREFIX BYTE 10=COMPLEX INSTRUCTION BOUNDARY (NO PREFIX) 11=SIMPLE INSTRUCTION BOUNDARY.
Claim 9
Independent Claim
219 words
A method of fetching multiple instructions in a pipelined microprocessor for out-of-order instruction execution in microprocessor architectures that permit store to the instruction stream, said method comprising the steps of: storing most recent addresses of cache lines which have been accessed for instruction fetching for execution in a content addressable memory, said instructions being of variable length; logically identifying instruction boundaries for each of said plurality of instructions held in cache; holding a next instruction in an anticipation buffer, said next instruction being located and identified by said identifying step using said content addressable memory; detecting an occurrence of a store to memory request to one of said instruction addresses in the content addressable memory; delaying the store to memory request until previous instructions are executed; and then refetching instructions that follow the store to memory request in program order, wherein said logically identifying step includes steps of identifying a characteristic of each of said instructions held in cache and storing information of said characteristic of each of said instructions held in cache in a plurality of instruction boundary fields, wherein said step of identifying a characteristic includes a step of identifying one of the following characteristics of each of said instructions held in cache: 00=NOT A BOUNDARY 01=INSTRUCTION PREFIX BYTE 10=COMPLEX INSTRUCTION BOUNDARY (NO PREFIX) 11=SIMPLE INSTRUCTION BOUNDARY.
Claim 10
Dependent Claim
42 words
The method as in claim 7, further comprising the steps of: performing an instruction having said 11=SIMPLE INSTRUCTION BOUNDARY characteristic in one machine cycle, and performing an instruction having said 10=COMPLEX INSTRUCTION BOUNDARY (NO PREFIX) characteristic in at least two machine cycles.
Claim 11
Independent Claim
155 words
A method of fetching multiple instructions in a pipelined microprocessor for out-of-order instruction execution in microprocessor architectures that permit store to the instruction stream, said method comprising the steps of: storing most recent addresses of cache lines which have been accessed for instruction fetching for execution in a memory; logically identifying instruction boundaries for each of said plurality of instructions held in cache; holding a next instruction in an anticipation buffer, said next instruction being located and identified by said identifying step using said memory; aligning and appending said next instruction to said instructions held in cache, based on said step of logically identifying instruction boundaries, without first sequentially decoding said instructions; detecting an occurrence of a store to memory request to one of said instruction addresses in the memory; delaying the store to memory request until previous instructions are executed; and then refetching instructions that follow the store to memory request in program order.
Claim 12
Independent Claim
155 words
A method of fetching multiple instructions in a pipelined microprocessor for out-of-order instruction execution in microprocessor architectures that permit store to the instruction stream, said method comprising the steps of: storing most recent addresses of cache lines which have been accessed for instruction fetching for execution in a memory; logically identifying instruction boundaries for each of said plurality of instructions held in cache; holding a next instruction in an anticipation buffer, said next instruction being located and identified by said identifying step using said memory; aligning and appending said next instruction to said instructions held in cache, based on said step of logically identifying instruction boundaries, without first sequentially decoding said instructions; detecting an occurrence of a store to memory request to one of said instruction addresses in the memory; delaying the store to memory request until previous instructions are executed; and then refetching instructions that follow the store to memory request in program order.
Claim 13
Dependent Claim
24 words
The method as in claim 9, wherein said storing step comprises a step of storing said most recent addresses in a content addressable memory.
Claim 14
Dependent Claim
13 words
The method as in claim 9, wherein said instructions are of variable length.
Claim 15
Dependent Claim
47 words
The method as in claim 9, wherein said logically identifying step includes steps of identifying a characteristic of an accessed instruction of said instructions held in cache and storing information of said characteristic of said accessed instruction held in cache in a plurality of instruction boundary fields.
Claim 16
Dependent Claim
36 words
A method as in claim 9, wherein said logically identifying step further comprises: modifying said cache to include a boundary field; and determining a characteristic of said instruction and writing said characteristic in said boundary field.
Claim 17
Dependent Claim
52 words
The method as in claim 9, further comprising a step, following said delaying step, of purging said instructions that follow the store to memory request that are being executed when said detecting step detects said occurrence of a store to memory request to addresses indicated by said instruction addresses in the memory.
Claim 18
Dependent Claim
38 words
The method as in claim 9, wherein said detecting step further comprises a step of comparing every active store to memory request with every instruction address in said memory during a machine cycle that had a store request.
Claim 19
Dependent Claim
22 words
A method as in claim 9, further comprising a step of executing at least two of said instructions held in cache simultaneously.
Claim 20
Independent Claim
144 words
A method of fetching multiple instructions in a pipelined microprocessor for out-of-order instruction execution in microprocessor architectures that permit store to the instruction stream, said method comprising the steps of: storing most recent addresses of cache lines which have been accessed for instruction fetching for execution in a memory, detecting an occurrence of a store to memory request to one of said instruction addresses in the memory; delaying the store to memory request until previous instructions are executed; refetching instructions that follow the store to memory request in program order; and logically identifying instruction boundaries for each of said plurality of instructions held in cache, wherein said step of identifying a characteristic include a step of identifying one of the following characteristics of each of said instructions held in cache: 00=NOT A BOUNDARY 01=INSTRUCTION PREFIX BYTE 10=COMPLEX INSTRUCTION BOUNDARY (NO PREFIX) 11=SIMPLE INSTRUCTION BOUNDARY.
Claim 21
Independent Claim
144 words
A method of fetching multiple instructions in a pipelined microprocessor for out-of-order instruction execution in microprocessor architectures that permit store to the instruction stream, said method comprising the steps of: storing most recent addresses of cache lines which have been accessed for instruction fetching for execution in a memory, detecting an occurrence of a store to memory request to one of said instruction addresses in the memory; delaying the store to memory request until previous instructions are executed; refetching instructions that follow the store to memory request in program order; and logically identifying instruction boundaries for each of said plurality of instructions held in cache, wherein said step of identifying a characteristic include a step of identifying one of the following characteristics of each of said instructions held in cache: 00=NOT A BOUNDARY 01=INSTRUCTION PREFIX BYTE 10=COMPLEX INSTRUCTION BOUNDARY (NO PREFIX) 11=SIMPLE INSTRUCTION BOUNDARY.
Claim 22
Dependent Claim
42 words
The method as in claim 17, further comprising the steps of: performing an instruction having said 11=SIMPLE INSTRUCTION BOUNDARY characteristic in one machine cycle, and performing an instruction having said 10=COMPLEX INSTRUCTION BOUNDARY (NO PREFIX) characteristic in at least two machine cycles.