KR100470555B1 - 컴퓨터 자원의 로크방법 및 장치 - Google Patents
컴퓨터 자원의 로크방법 및 장치 Download PDFInfo
- Publication number
- KR100470555B1 KR100470555B1 KR10-1999-7006607A KR19997006607A KR100470555B1 KR 100470555 B1 KR100470555 B1 KR 100470555B1 KR 19997006607 A KR19997006607 A KR 19997006607A KR 100470555 B1 KR100470555 B1 KR 100470555B1
- Authority
- KR
- South Korea
- Prior art keywords
- register
- computer
- lock
- processor
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Multi Processors (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (16)
- 로크된 컴퓨터 자원을 식별하는 값을 보유하는 하나 이상의 레지스터(R1)(LOCKADDR); 및컴퓨터 자원을 로크하기 위한 로크 오퍼레이션, 컴퓨터 자원을 언로크하기 위한 언로크 오퍼레이션, 또는 로크 및 언로크 오퍼레이션을 모두 수행하는 회로로 이루어지고,각각의 레지스터(R1)는 로크 오퍼레이션이 상기 컴퓨터 프로세서에 의해 실행되고, 컴퓨터 자원에 대한 로크를 유지할 수 있는 컴퓨터 엔티티에 의해 수행되는 경우에만 로크 오퍼레이션에 의해 변경가능하며,상기 회로는 컴퓨터 자원을 식별하는 값(V1)을 수신하고, 상기 자원이 프로세서에 의해 실행되는 컴퓨터 엔티티에 의해 로크된다는 표시인 값(V1)을 레지스터(R1)가 보유하는지 여부를 결정하는 여부를 결정하는 것을 특징으로 하는 컴퓨터 프로세서(110).
- 제 1 항에 있어서,레지스터(R1)는 컴퓨터 프로세서의 명령 실행장치(136)의 일부인 것을 특징으로 하는 컴퓨터 프로세서.
- 제 1 항 또는 제 2 항에 있어서,레지스터(R1)에 의해 식별된 로크된 컴퓨터 자원과 관련된 카운트를 나타내는 값을 보유하는 하나 이상의 레지스터(R2)(LOCKCOUNT)를 더 구비하고,각각의 카운트는 자원에 대해 발생된, 그러나 대응하는 언로크 명령이 발생하지 않은 로크 명령의 카운트이며,적어도 하나의 로크 또는 언로크 오퍼레이션에서, 회로는 만일 레지스터(R1)가 자원이 로크된 것의 표시로서의 값(V1)을 보유하는 경우 레지스터(R2)를 변경하는 것을 특징으로 하는 컴퓨터 프로세서.
- 제 3 항에 있어서,레지스터(R2)는 컴퓨터 프로세서의 명령 실행장치(136)의 일부인 것을 특징으로 하는 컴퓨터 프로세서.
- 제 3 항 또는 제 4 항에 있어서,각각의 레지스터(R2)는 대응하는 소정 레지스터(R1)와 관련된 카운트를 보유하는 것을 특징으로 하는 컴퓨터 프로세서.
- 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,각각의 레지스터(R1)에서, 대응하는 레지스터(R1)내 값에 의해 식별된 자원에 대한 로크를 유지하는 실행가능한 컴퓨터 엔티티를 식별하는 레지스터(R3)(THREAD_ID)를 더 구비하고,레지스터(R1)가 값(V1)을 보유하는가를 결정하는 회로 결정단계는, 컴퓨터 프로세서에 의해 식별되는 컴퓨터 엔티티를 식별하는 임의의 레지스터(R3)에서 대응하는 레지스터(R1)가 값(V1)을 보유하는지 여부를 결정하는 회로 결정단계를 구비하는 것을 특징으로 하는 컴퓨터 프로세서.
- 프로세서에 의해 실행되는 컴퓨터 엔티티에 의해 로크된 자원을 식별하는 값을 기억하는 하나 이상의 로크 레지스터(R1)로 이루어지는 컴퓨터 프로세서를 작동하는 프로세스에 있어서,컴퓨터 프로세서가 하나의 컴퓨터 엔티티에서 다른 컴퓨터 엔티티로 스위치하는 단계; 및프로세서가 하나의 컴퓨터 엔티티에서 다른 컴퓨터 엔티티로 스위치할 때, 프로세서가 스위치하는 컴퓨터 엔티티에 의해 로크된 자원을 식별하는 값을 하나 이상의 레지스터(R1)에 로드하는 단계로 이루어지는 것을 특징으로 하는 프로세스.
- 제 7 항에 있어서,프로세서는 각각의 레지스터(R1)에서, 대응하는 레지스터(R1)에 의해 식별된 자원과 관련된 카운트를 보유하는 대응 레지스터(R2)를 더 구비하고,카운트는 대응하는 언로크 명령이 발생되지 않은 로크 명령의 카운트이며,프로세서가 하나의 컴퓨터 엔티티에서 다른 컴퓨터 엔티티로 스위치할 때, 각각의 레지스터(R2)에는 대응하는 레지스터(R1)로 로드되는 값에 대응하는 카운트가 로드되고, 카운트는 프로세서가 스위치하고 있는 컴퓨터 엔티티와 관련되는 것을 특징으로 하는 프로세스.
- 컴퓨터 오브젝트 데이터(220)를 기억하는 컴퓨터 판독가능한 기억매체에 있어서,상기 오브젝트 데이터는 오브젝트 데이터의 일부(230)의 어드레스를 식별하는 정보를 기억하는 필드(220H)로 이루어지고, 상기 오브젝트 데이터의 일부는 2바이트 한계로 기억되며, 상기 필드는 컴퓨터 어드레스의 크기를 갖지만 상기 오브젝트 데이터의 일부의 어드레스를 기억하기 위해 상기 필드의 전체 비트보다 적은 수의 비트가 사용되도록 오브젝트 데이터의 일부의 어드레스의 전체 비트보다 적은 비트를 기억하고,컴퓨터 판독가능한 기억매체는 오브젝트 데이터를 액세스하는 하나 이상의 컴퓨터 명령을 구비하며, 오브젝트 데이터의 일부의 어드레스를 기억하기 위해 사용되지 않은 필드의 하나 이상의 비트(L)는 오브젝트가 로크되는지 여부를 나타내는 컴퓨터 명령에 의해 사용되는 것을 특징으로 하는 컴퓨터 판독가능한 기억매체.
- 제 9 항에 있어서,오브젝트 데이터의 일부는 4바이트 한계로 기억되고, 상기 필드는 오브젝트 데이터의 일부의 어드레스를 기억하기 위해 사용되지 않은 적어도 2비트(W,L)를 가지며, 오브젝트 데이터의 일부의 어드레스를 기억하기 위해 사용되지 않은 필드의 하나 이상의 비트는 컴퓨터 엔티티가 오브젝트에 대한 로크를 받아들이기를 원하는지 여부를 나타내는 컴퓨터 명령에 의해 사용될 하나의 비트(W)를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기억매체.
- 제 9 항 또는 제 10 항에 있어서,상기 컴퓨터 판독가능한 기억매체를 액세스하고 상기 컴퓨터 명령을 실행시키기 위해 작동가능한 컴퓨터 프로세서와 협력하는 것을 특징으로 하는 컴퓨터 판독가능한 기억매체.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US1997/001217 WO1998033119A1 (en) | 1997-01-23 | 1997-01-23 | Locking of computer resources |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20000070374A KR20000070374A (ko) | 2000-11-25 |
| KR100470555B1 true KR100470555B1 (ko) | 2005-03-07 |
Family
ID=22260287
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR10-1999-7006607A Expired - Lifetime KR100470555B1 (ko) | 1997-01-23 | 1997-01-23 | 컴퓨터 자원의 로크방법 및 장치 |
Country Status (5)
| Country | Link |
|---|---|
| EP (1) | EP0954780B1 (ko) |
| JP (1) | JP4196414B2 (ko) |
| KR (1) | KR100470555B1 (ko) |
| DE (1) | DE69711927D1 (ko) |
| WO (1) | WO1998033119A1 (ko) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2784478B1 (fr) | 1998-10-09 | 2000-11-17 | Bull Sa | Architecture de verrou pour grand systeme |
| DE19903599A1 (de) * | 1999-01-29 | 2000-08-03 | Siemens Ag | Verfahren zum gesicherten Zugriff auf zumindest eine Variable in einem präemptiv Multitasking-gesteuerten Prozessorsystem |
| US6792601B1 (en) | 2000-05-18 | 2004-09-14 | International Business Machines Corporation | Multiple mode object locking method and system |
| US6684398B2 (en) | 2000-05-31 | 2004-01-27 | Sun Microsystems, Inc. | Monitor entry and exit for a speculative thread during space and time dimensional execution |
| US6735760B1 (en) | 2000-11-08 | 2004-05-11 | Sun Microsystems, Inc. | Relaxed lock protocol |
| FR2829848A1 (fr) * | 2001-09-20 | 2003-03-21 | Cp8 | Procede de gestion d'acces a des ressources partagees dans un systeme embarque et systeme embarque pour la mise en oeuvre d'un tel procede |
| GB2427045B (en) * | 2005-06-06 | 2007-11-21 | Transitive Ltd | Method and apparatus for converting program code with access coordination for a shared resource |
| CN119225811B (zh) * | 2024-09-12 | 2025-07-25 | 上海壁仞科技股份有限公司 | 一种寄存器溢出优化方法、设备、存储介质及程序产品 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5261108A (en) * | 1988-10-08 | 1993-11-09 | Nec Corporation | Multiprocessor communications register providing complete access in a full access mode, and mapped access in a partial access mode |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4435766A (en) * | 1981-06-16 | 1984-03-06 | International Business Machines Corporation | Nested resource control using locking and unlocking routines with use counter for plural processes |
-
1997
- 1997-01-23 WO PCT/US1997/001217 patent/WO1998033119A1/en not_active Ceased
- 1997-01-23 EP EP97903975A patent/EP0954780B1/en not_active Expired - Lifetime
- 1997-01-23 JP JP53193298A patent/JP4196414B2/ja not_active Expired - Lifetime
- 1997-01-23 KR KR10-1999-7006607A patent/KR100470555B1/ko not_active Expired - Lifetime
- 1997-01-23 DE DE69711927T patent/DE69711927D1/de not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5261108A (en) * | 1988-10-08 | 1993-11-09 | Nec Corporation | Multiprocessor communications register providing complete access in a full access mode, and mapped access in a partial access mode |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0954780A1 (en) | 1999-11-10 |
| WO1998033119A1 (en) | 1998-07-30 |
| KR20000070374A (ko) | 2000-11-25 |
| DE69711927D1 (de) | 2002-05-16 |
| EP0954780B1 (en) | 2002-04-10 |
| JP4196414B2 (ja) | 2008-12-17 |
| JP2001519937A (ja) | 2001-10-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5968157A (en) | Locking of computer resources | |
| US6230230B1 (en) | Elimination of traps and atomics in thread synchronization | |
| EP0768608B1 (en) | Maximal concurrent lookup cache for computing systems having a multi-threaded environment | |
| US6411983B1 (en) | Mechanism for managing the locking and unlocking of objects in Java | |
| US5924098A (en) | Method and apparatus for managing a linked-list data structure | |
| US5727209A (en) | Apparatus and method for achieving reduced overhead mutual-exclusion and maintaining coherency in a multiprocessor system utilizing execution history and thread monitoring | |
| US5317739A (en) | Method and apparatus for coupling data processing systems | |
| US5442763A (en) | System and method for preventing deadlock in multiprocessor multiple resource instructions | |
| JP3575593B2 (ja) | オブジェクトのロック管理方法及び装置 | |
| US5265245A (en) | High concurrency in use manager | |
| US6560627B1 (en) | Mutual exclusion at the record level with priority inheritance for embedded systems using one semaphore | |
| US7716192B2 (en) | Concurrent, lock-free object copying | |
| US6889269B2 (en) | Non-blocking concurrent queues with direct node access by threads | |
| US7117502B1 (en) | Linked-list implementation of a data structure with concurrent non-blocking insert and remove operations | |
| US6651146B1 (en) | Method and apparatus for managing access contention to a linear list without the use of locks | |
| US20040107227A1 (en) | Method for efficient implementation of dynamic lock-free data structures with safe memory reclamation | |
| US7571288B2 (en) | Scalable rundown protection for object lifetime management | |
| US20030140085A1 (en) | Single-word lock-free reference counting | |
| WO2003060705A2 (en) | Lock-free implementation of dynamic-sized shared data structure | |
| Michael | Practical lock-free and wait-free LL/SC/VL implementations using 64-bit CAS | |
| KR100470555B1 (ko) | 컴퓨터 자원의 로크방법 및 장치 | |
| Moreno et al. | On the implementation of memory reclamation methods in a lock-free hash trie design | |
| US6513100B1 (en) | System and method for fast referencing a reference counted item | |
| Luchangco et al. | On the uncontended complexity of consensus | |
| US7334229B1 (en) | Mutual exclusion at the record level with priority inheritance for embedded systems using one semaphore |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
Patent event date: 19990722 Patent event code: PA01051R01D Comment text: International Patent Application |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20011130 Comment text: Request for Examination of Application |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20040315 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20041119 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20050128 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20050131 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| PR1001 | Payment of annual fee |
Payment date: 20080122 Start annual number: 4 End annual number: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20090123 Start annual number: 5 End annual number: 5 |
|
| PR1001 | Payment of annual fee |
Payment date: 20100125 Start annual number: 6 End annual number: 6 |
|
| PR1001 | Payment of annual fee |
Payment date: 20101222 Start annual number: 7 End annual number: 7 |
|
| PR1001 | Payment of annual fee |
Payment date: 20120109 Start annual number: 8 End annual number: 8 |
|
| FPAY | Annual fee payment |
Payment date: 20130107 Year of fee payment: 9 |
|
| PR1001 | Payment of annual fee |
Payment date: 20130107 Start annual number: 9 End annual number: 9 |
|
| FPAY | Annual fee payment |
Payment date: 20140106 Year of fee payment: 10 |
|
| PR1001 | Payment of annual fee |
Payment date: 20140106 Start annual number: 10 End annual number: 10 |
|
| FPAY | Annual fee payment |
Payment date: 20150106 Year of fee payment: 11 |
|
| PR1001 | Payment of annual fee |
Payment date: 20150106 Start annual number: 11 End annual number: 11 |
|
| FPAY | Annual fee payment |
Payment date: 20160104 Year of fee payment: 12 |
|
| PR1001 | Payment of annual fee |
Payment date: 20160104 Start annual number: 12 End annual number: 12 |
|
| EXPY | Expiration of term | ||
| PC1801 | Expiration of term |
Termination date: 20170723 Termination category: Expiration of duration |