US2002046334A1PendingUtilityA1
Execution of instructions that lock and unlock computer resources
Priority: Dec 2, 1998Filed: Aug 28, 2001Published: Apr 18, 2002
Est. expiryDec 2, 2018(expired)· nominal 20-yr term from priority
G06F 9/3834G06F 9/30087G06F 9/30021G06F 9/3004G06F 9/3861
44
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
When an atomic instruction executed by a computer processor locks a memory location, the locking is performed before the processor has determined whether the instruction is to be executed to completion or canceled. The memory location is unlocked whether or not the instruction will be canceled. Since the locking operation can occur before it is known whether the instruction will be canceled, the reading of the memory location can also occur early, before it is known whether the instruction will be canceled.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer processor capable to execute a computer instruction which locks and then unlocks a computer resource, the computer processor being operable to lock the resource in the course of execution of the instruction before the processor has determined whether the instruction is to be executed to completion or canceled, the processor unlocking the resource by the time the instruction processing by the processor is terminated, the unlocking being performed whether or not the instruction is canceled.
2 . The computer processor of claim 1 wherein the instruction execution is pipelined, and the instruction is canceled if a trap condition occurs after the processor started processing the instruction.
3 . The computer processor of claim 1 wherein:
executing the instruction comprises reading a memory location and conditionally or unconditionally writing a memory location; and
the resource comprises the memory location to be written.
4 . The computer processor of claim 3 further comprising a cache, wherein the memory location to be written is a memory location in said cache.
5 . The computer processor of claim 3 wherein the circuitry is operable to perform the reading before the processor has determined whether the instruction is to be canceled.
6 . The processor of claim 1 in combination with another processor having access to the same resource.
7 . The processor of claim 1 wherein instruction execution is pipelined, and
if the processor determines before a pipeline stage of stages in which the unlocking is performed that the instruction is to be canceled, the instruction proceeds through all the pipeline stages at least up to, and including, the stage or stages in which the resource is unlocked.
8 . The processor of claim 1 wherein:
each instruction is executed in a plurality of pipeline stages, wherein the pipeline for each instruction includes a stage ST1 in which a signal is generated by the processor to indicate whether the instruction is to be canceled due to a trap; and
when executing the instruction which locks and then unlocks the computer resource, the processor is operable to lock the computer resource before the stage ST1.
9 . The processor of claim 8 wherein for at least some instructions including the instruction that locks and then locks the computer resource, the stage ST1 is followed by a stage ST2 in which at least one instruction result is written to an architecture storage location; and
when the processor executes the instruction that locks and then unlocks the computer resource, and the instruction is to be canceled, the stage ST2 is executed for the instruction to unlock the resource but writing to the architecture storage location is suppressed.
10 . A computer processor comprising an interface to a cache, the interface comprising:
address and data terminals; and one or more control terminals to lock and unlock at least a portion of the cache, the one or more control terminals being operable to indicate that the cache is not to store data but to perform an unlock operation.
11 . The processor of claim 10 in combination with said cache, the cache being connected to the address and data terminals and to the one or more control terminals.
12 . The combination of claim 11 further comprising a second processor having data and address terminals and one or more control terminals, wherein said terminals of the second processor are connected to the cache.
13 . The combination of claim 12 further comprising a memory and a circuit for caching data from the memory in the cache.
14 . A method for executing a computer instruction by a computer processor, wherein the instruction locks and then unlocks a computer resource, the method comprising:
locking the resource before the processor has determined whether the instruction is to be executed to completion or canceled; and then unlocking the resource by the time the instruction processing by the processor is terminated, wherein the unlocking is performed whether or not the instruction is canceled.
15 . The method of claim 14 wherein the unlocking is performed after the processor has determined whether the instruction is to be canceled.
16 . The method of claim 14 wherein the instruction execution is pipelined, and the instruction is canceled if a trap condition occurs after the instructions processing by the processor has begun.
17 . The method of claim 14 wherein the instruction is an atomic instruction which comprises reading a memory location and conditionally or unconditionally writing a memory location; and
the resource comprises the memory location to be written.
18 . The method of claim 17 wherein the memory location to be written is a cache memory location.
19 . The method of claim 17 wherein the reading operation is performed before the processor has determined whether the instruction is to be canceled.Join the waitlist — get patent alerts
Track US2002046334A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.