IP Library › Granted Patent US 6,892,257
Granted Patent B2
US 6,892,257 · App. 10/002,186 · Granted May 10, 2005

Exclusive access control to a processing resource

Assignee: Arm Limited
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,892,257
App. No.
10/002,186
Granted
May 10, 2005
Kind
B2
Abstract

A data processing system is provided with multiple processors that share a main memory. Semaphore values associated with data elements within the memory system, including the main memory, are used to establish exclusive access permissions to those data elements. An exclusive access clear instruction is provided that serves to clear any partially completed exclusive access requests for a processor between the reading of a semaphore value and the writing of a semaphore value to establish the exclusive access permission.

Claims (29)

1. A method of processing data, said method comprising the steps of:

(i) retrieving a semaphore value corresponding to a processing resource from a semaphore value store;

(ii) storing semaphore identifying data indicative of which semaphore value has been retrieved;

(iii) determining from said semaphore value whether or not said processing resource is available for exclusive access by a requesting exclusive access requestor; and

(iv) writing a new semaphore value to said semaphore value store, said new semaphore value being indicative of exclusive access being granted to said exclusive access requestor, returning a result value indicative of whether or not said new semaphore value was written in said semaphore value store, and checking said semaphore identifying data to determine whether or not said semaphore identifying data has been cleared between said step of retrieving and said step of writing; and

(v) in response to execution of an exclusive access clear instruction by an exclusive access requestor, clearing stored semaphore identifying data for said exclusive access requestor;

wherein if said semaphore identifying data has been cleared, then writing of said new semaphore value is not attempted.

2. A method as claimed in claim 1 , wherein if a different exclusive access requestor has written a new semaphore value to said semaphore value store between said step of retrieving and said step of writing, then said result value indicates that said write of a new semaphore value by said exclusive access requestor has failed.

3. A method as claimed in claim 1 , wherein a plurality of data processors share said processing resource.

4. A method as claimed claim 3 , wherein said plurality of data processors share at least a common access point via which accesses to said processing resource are made.

5. A method as claimed in claim 1 , wherein a local semaphore identifying data store is provided local to said exclusive access requestor.

6. A method as claimed in claim 4 , wherein a write attempt does not reach said common access point if said semaphore identifying value stored in said local semaphore identifying data store has been cleared.

7. A method as claimed in claim 1 , wherein a shared semaphore identifying data store is provided local to said processing resource.

8. A method as claimed in claim 1 , wherein multitasking processing is performed such that different processing tasks may act as different exclusive access requestors.

9. A method as claimed in claim 7 , wherein said exclusive access clear instruction clears said local semaphore identifying data store, but not said shared semaphore identifying data store, and said semaphore identifying data within said local semaphore identifying data store is checked to determine whether or not said semaphore identifying data has been cleared between said step of retrieving and said step of writing.

10. A method as claimed in claim 1 , wherein said processing resource is a data element stored within a data memory.

11. A method as claimed in claim 1 , wherein an exclusive access clear instruction is executed upon occurrence of one or more of:

(i) an exception triggering exception handling; and

(ii) a context switch between different tasks within multitasking operation.

12. A method as claimed in claim 1 , wherein said semaphore identifying data is data indicative of a memory address associated with said processing resource.

13. A method as claimed in claim 3 , wherein said shared semaphore identifying data store stores data indicative of which processor is requesting exclusive access to said processing resource.

14. A computer program product including a computer program for controlling a data processing apparatus in accordance with the method of claim 1 .

15. Apparatus for processing data comprising:

(i) retrieving logic operable to retrieve a semaphore value corresponding to a processing resource from a semaphore value store;

(ii) storing logic operable to store semaphore identifying data indicative of which semaphore value has been retrieved;

(iii) determining logic operable to determine from said semaphore value whether or not said processing resource is available for exclusive access by a requesting exclusive access requestor; and

(iv) writing logic operable to write a new semaphore value to said semaphore value store, said new semaphore value being indicative of exclusive access being granted to said exclusive access requestor, to return a result value indicative of whether or not said new semaphore value was written in said semaphore value store and to check said semaphore identifying data to determine whether or not said semaphore identifying data has been cleared between said retrieval by said retrieving logic and said writing of said new semaphore value; and

(v) in response to execution of an exclusive access clear instruction by a exclusive access requestor, clearing logic is operable to clear stored semaphore identifying data for said exclusive access requestor;

wherein if said clearing logic has cleared said stored semaphore identifying data, said writing logic does not attempt to write said new semaphore value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2001
From: GRISENTHWAITE, RICHARD R.
To: ARM LIMITED
Reel/Frame 012353/0306 →
Priority Claims (1)
GB 0030260 · Dec 12, 2000 · national
Continuity (1)
Related Publication 20020073259A1 · Jun 13, 2002