Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
183 words
A method of supporting firm consistency and out-of-order instruction execution by a particular processor in a data processing system comprising a plurality of processors, a cache associated with said particular processor, and system memory, each processor issuing memory operations, including store and load, the method comprising the steps of: issuing first and second instructions, wherein said first instruction precedes said second instruction in a consecutive order, and wherein said second instruction is a store instruction requesting that store data be stored in memory; prior to completion of said first instruction, generating a store address for said store instruction; prior to completion of said first instruction, generating a touch command directed to the cache requesting the exclusive status of a block of memory corresponding to the store address; if the block is not held exclusively by the cache, issuing a command to system memory requesting the block be sent to the cache in an exclusive state; and in response to completion of all instructions preceding said store instruction in said consecutive order, writing the store data associated with the store instruction to the cache.
Claim 2
Independent Claim
183 words
A method of supporting firm consistency and out-of-order instruction execution by a particular processor in a data processing system comprising a plurality of processors, a cache associated with said particular processor, and system memory, each processor issuing memory operations, including store and load, the method comprising the steps of: issuing first and second instructions, wherein said first instruction precedes said second instruction in a consecutive order, and wherein said second instruction is a store instruction requesting that store data be stored in memory; prior to completion of said first instruction, generating a store address for said store instruction; prior to completion of said first instruction, generating a touch command directed to the cache requesting the exclusive status of a block of memory corresponding to the store address; if the block is not held exclusively by the cache, issuing a command to system memory requesting the block be sent to the cache in an exclusive state; and in response to completion of all instructions preceding said store instruction in said consecutive order, writing the store data associated with the store instruction to the cache.
Claim 3
Dependent Claim
44 words
A method according to claim 1, wherein each processor further comprises a pending store queue, further comprising the step of storing the store address and store data in a pending store queue, prior to the step of writing the store data to the cache.
Claim 4
Independent Claim
177 words
A method of supporting firm consistency and out-of-order instruction execution by a processor in a data processing system comprising a plurality of processors and system memory, each processor issuing memory operations, including store and load, the method comprising the steps of: consecutively issuing a plurality of instructions including a load and at least one store in an issuing processor, wherein the load can finish execution in the issuing processor non-consecutively with respect to the store; temporarily recording a consecutive order of all of said plurality of instructions in a completion table pending completion; detecting an invalidation request from another processor among said plurality of processors; in response to receipt of an invalidation request from another processor among said plurality of processors at said issuing processor, said invalidation request indicating at least a portion of an address, determining if said at least a portion of an address within said invalidation request matches a corresponding portion of an address associated with a finished load recorded in said completion table; and in response to said determination, canceling the finished load.
Claim 5
Independent Claim
177 words
A method of supporting firm consistency and out-of-order instruction execution by a processor in a data processing system comprising a plurality of processors and system memory, each processor issuing memory operations, including store and load, the method comprising the steps of: consecutively issuing a plurality of instructions including a load and at least one store in an issuing processor, wherein the load can finish execution in the issuing processor non-consecutively with respect to the store; temporarily recording a consecutive order of all of said plurality of instructions in a completion table pending completion; detecting an invalidation request from another processor among said plurality of processors; in response to receipt of an invalidation request from another processor among said plurality of processors at said issuing processor, said invalidation request indicating at least a portion of an address, determining if said at least a portion of an address within said invalidation request matches a corresponding portion of an address associated with a finished load recorded in said completion table; and in response to said determination, canceling the finished load.
Claim 6
Dependent Claim
23 words
A method according to claim 3, wherein the step of canceling the finished load further comprises canceling all instructions following the finished load.
Claim 7
Dependent Claim
184 words
A data processing system comprising: a plurality of processors capable of performing out-of-order execution of instructions, each processor issuing memory operations, including store and load; a separate cache associated with each processor; system memory; means for issuing first and second instructions, wherein said first instruction precedes said second instruction in a consecutive order, and wherein said second instruction is a store instruction requesting that store data be stored in memory; means for generating a store address for said store instruction prior to completion of said first instruction; means for generating a touch command directed to the cache requesting the exclusive status of a block of memory corresponding to the store address, said touch command being generated prior to completion of said first instruction; means, responsive to the block not being held exclusively by the cache, for issuing a command to system memory requesting the block be sent to the cache in an exclusive state; and means for writing the store data associated with the store instruction to the cache in response to completion of all instructions preceding said store instruction in said consecutive order.
Claim 8
Dependent Claim
184 words
A data processing system comprising: a plurality of processors capable of performing out-of-order execution of instructions, each processor issuing memory operations, including store and load; a separate cache associated with each processor; system memory; means for issuing first and second instructions, wherein said first instruction precedes said second instruction in a consecutive order, and wherein said second instruction is a store instruction requesting that store data be stored in memory; means for generating a store address for said store instruction prior to completion of said first instruction; means for generating a touch command directed to the cache requesting the exclusive status of a block of memory corresponding to the store address, said touch command being generated prior to completion of said first instruction; means, responsive to the block not being held exclusively by the cache, for issuing a command to system memory requesting the block be sent to the cache in an exclusive state; and means for writing the store data associated with the store instruction to the cache in response to completion of all instructions preceding said store instruction in said consecutive order.
Claim 9
Dependent Claim
49 words
A data processing system according to claim 5, wherein each processor further comprises a pending store queue for storing the store address and store data, wherein the store data and store address are written to the pending store queue prior to the store data being written to the cache.
Claim 10
Dependent Claim
170 words
A data processing system comprising: a plurality of processors capable of performing out-of-order execution of instructions, each processor issuing memory operations, including store and load; system memory; means for consecutively issuing a plurality of instructions including a load and at least one store in an issuing processor, wherein the load can finish execution in the issuing processor non-consecutively with respect to the store; and a completion table for temporarily recording a consecutive order of all of said plurality of instructions pending completion; means for detecting an invalidation request from another processor among said plurality of processors; means, responsive to receipt of an invalidation request from another processor among said plurality of processors at said issuing processor, said invalidation request indicating at least a portion of an address, for determining if said at least a portion of an address within said invalidation request matches a corresponding portion of an address associated with a finished load recorded in said completion table; and means, responsive to said determination, for canceling the finished load.
Claim 11
Dependent Claim
170 words
A data processing system comprising: a plurality of processors capable of performing out-of-order execution of instructions, each processor issuing memory operations, including store and load; system memory; means for consecutively issuing a plurality of instructions including a load and at least one store in an issuing processor, wherein the load can finish execution in the issuing processor non-consecutively with respect to the store; and a completion table for temporarily recording a consecutive order of all of said plurality of instructions pending completion; means for detecting an invalidation request from another processor among said plurality of processors; means, responsive to receipt of an invalidation request from another processor among said plurality of processors at said issuing processor, said invalidation request indicating at least a portion of an address, for determining if said at least a portion of an address within said invalidation request matches a corresponding portion of an address associated with a finished load recorded in said completion table; and means, responsive to said determination, for canceling the finished load.
Claim 12
Dependent Claim
19 words
A data processing system according to claim 7, further comprising means for canceling all instructions following the finished load.
Claim 13
Dependent Claim
59 words
The method of claim 3, wherein said step of canceling the finished load is performed only if said invalidation request is received by said issuing processor subsequent to said issuing processor finishing said finished load and prior to said issuing processor completing a second load among said plurality of instructions that precedes said finished load in said consecutive order.
Claim 14
Dependent Claim
62 words
The data processing system of claim 7, wherein said means for canceling the finished load performs said cancellation only if said invalidation request is received by said issuing processor subsequent to said issuing processor finishing said finished load and prior to said issuing processor completing a second load among said plurality of instructions that precedes said finished load in said consecutive order.