KR20020012616A - 록의 시작 및 끝을 요구하는 데에 버스 커맨드 코드포인트들을 최소로 이용하는 방법 - Google Patents
록의 시작 및 끝을 요구하는 데에 버스 커맨드 코드포인트들을 최소로 이용하는 방법 Download PDFInfo
- Publication number
- KR20020012616A KR20020012616A KR1020017016514A KR20017016514A KR20020012616A KR 20020012616 A KR20020012616 A KR 20020012616A KR 1020017016514 A KR1020017016514 A KR 1020017016514A KR 20017016514 A KR20017016514 A KR 20017016514A KR 20020012616 A KR20020012616 A KR 20020012616A
- Authority
- KR
- South Korea
- Prior art keywords
- lock
- processor
- command
- bridge
- processors
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
Claims (10)
- 하나 또는 그 이상의 프로세서들(110A;110B)과;상기 하나 또는 그 이상의 프로세서들(110A;110B)에 결합된 브리지(130)를 포함하며;상기 하나 또는 그 이상의 프로세서들(110A;110B)중 제 1 프로세서는 상기 브리지(130)에 록토글 커맨드를 전송하도록 구성되고, 상기 브리지(130)는 상기 하나 또는 그 이상의 프로세서들(110A;110B)중 상기 제 1 프로세서로부터 상기 록토글 커맨드를 수신하는 것에 응답하여, 록 상태가 록의 결여를 나타내는 경우에는 상기 하나 또는 그 이상의 프로세서들(110A;110B)중 상기 제 1 프로세서에 대한 록을 나타내는 록 상태를 설정하고, 상기 록 상태가 상기 하나 또는 그 이상의 프로세서들(110A;110B)중 상기 제 1 프로세서에 대한 상기 록을 나타내는 경우에는 상기 록 상태를 상기 록의 결여를 나타내도록 설정하도록 구성되는 것을 특징으로 하는 컴퓨터 시스템.
- 제 1 항에 있어서, 상기 브리지(130)는 상기 록 상태가 상기 하나 또는 그 이상의 프로세서들(110A;110B)중 상기 제 1 프로세서에 대한 상기 록을 나타내는 동안, 상기 하나 또는 그 이상의 프로세서들(110A;110B)중 상기 제 1 프로세서로부터 수신된 커맨드들 만을 실행하도록 구성되는 것을 특징으로 하는 컴퓨터 시스템.
- 제 1 항에 있어서, 상기 브리지는 상기 록 상태를 저장하도록 구성된 록 레지스터(132)를 포함하는 것을 특징으로 하는 컴퓨터 시스템.
- 제 1 항에 있어서, 상기 하나 또는 그 이상의 프로세서들(110A;110B) 각각은:상기 록을 지정하는 제 1 하나 또는 그 이상의 명령들을 수신하여 디코드하도록 결합된 디코드 유닛(112)과, 여기서 상기 디코드 유닛(112)은 상기 제 1 하나 또는 그 이상의 명령들에 응답하여 록 표시를 발생시키도록 구성되며;상기 디코드 유닛(112)으로부터 상기 록 표시 및 상기 제 1 하나 또는 그 이상의 명령들을 수신하도록 결합된 로드/저장 유닛(114)과, 여기서 상기 로드/저장 유닛(114)은 실행을 위해 상기 제 1 하나 또는 그 이상의 명령들을 선택하고, 이에 응답하여 상기 록토글 커맨드에 대한 제 1 요구를 전송하도록 구성되며;상기 로드/저장 유닛(114)과 버스(126A;128A) 사이에 결합된 시스템 인터페이스 컨트롤러(116)를 포함하며, 상기 시스템 인터페이스 컨트롤러(116)는 상기 로드/저장 유닛(114)로부터 상기 록토글 커맨드에 대한 상기 제 1 요구를 수신하도록 구성되며, 상기 제 1 록토글 커맨드에 대한 상기 요구의 수신에 응답하여 상기 제 1 록토글 커맨드를 발생시키도록 구성되고;상기 로드/저장 유닛(114)은 상기 제 1 하나 또는 그 이상의 명령들의 실행에 응답하여 상기 록토글 커맨드에 대한 제 2 요구를 전송하도록 구성되며, 상기 시스템 인터페이스 컨트롤러(116)는 상기 로드/저장 유닛으로부터 상기 록토글 커맨드에 대한 상기 제 2 요구를 수신하고, 상기 록토글 커맨드에 대한 상기 제 2 요구의 수신에 응답하여 상기 제 2 록토글 커맨드를 발생시키도록 구성되는 것을 특징으로 컴퓨터 시스템.
- 제 1 항에 있어서, 상기 로드/저장 유닛(114)은 상기 록토글 커맨드에 대한 상기 제 1 요구가 가장 오래된 미해결 오퍼레이션이 될 때 까지, 상기 록토글 커맨드에 대한 상기 제 1 요구를 버퍼링하도록 구성되며;상기 시스템 인터페이스 컨트롤러(116)는 상기 제 1 록토글 커맨드가 실행되는 때를 상기 로드/저장 유닛(114)에 통지하도록 구성되는 것을 특징으로 하는 컴퓨터 시스템.
- 하나 또는 그 이상의 프로세서들(110A;110B) 및 브리지(130)를 포함하는 컴퓨터 시스템 작동 방법으로서,상기 하나 또는 그 이상의 프로세서들(110A;110B)중 제 1 프로세서(110A)로부터의 제 1 록토글 커맨드를 상기 브리지(130)로 전달하는 단계와;상기 제 1 록토글 커맨드에 응답하여 상기 제 1 프로세서(110A)에 의한 록을 나타내는 록 상태를 설정하고, 상기 록 상태가 록의 결여를 나타낸다는 것을 결정하는 단계와; 그리고상기 제 1 록토글 커맨드에 응답하여 상기 록 상태를 상기 록의 결여를 나타내도록 설정하고, 상기 록 상태가 상기 제 1 프로세서(110A)에 의한 상기 록을 나타낸다는 것을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 6 항에 있어서, 상기 록 상태가 상기 제 1 프로세서에 대한 상기 록을 나타내는 동안, 상기 하나 또는 그 이상의 프로세서들(110A;110B)중 제 2 프로세서(110B)로부터의 커맨드들의 처리를 억제하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 6 항에 있어서,상기 록 상태를 상기 록을 나타내도록 설정하는 것에 응답하여, 상기 제 1 프로세서(110A)로부터의 상기 록을 지정하는 상기 하나 또는 그 이상의 커맨드들을 상기 브리지(130)로 전송하는 단계와; 그리고상기 제 1 프로세서(110A)로부터의 상기 록을 지정하는 상기 하나 또는 그 이상의 커맨드들을 상기 브리지(130)로 전송하는 단계에 이어서, 상기 제 1 프로세서(110A)로부터의 제 2 록토글 커맨드를 상기 브리지(130)로 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 록 상태를 저장하도록 구성된 록 레지스터(132)와; 그리고상기 록 레지스터에 결합되고, 제 1 프로세서(110A)로부터 록토글 커맨드를 수신하도록 결합되는 제어 로직(136)을 포함하며, 상기 제어 로직(136)은 상기 록토글 커맨드에 응답하여 상기 록 레지스터 내에서의 상기 록 상태를 상기 제 1 프로세서(110A)에 의한 록을 나타내도록 설정하고 록 상태가 록의 결여를 나타낸다는 것을 결정하도록 구성되고, 그리고 상기 제어 로직(136)은 상기 록토글 커맨드에 응답하여 상기 록 상태를 상기 록의 결여를 나타내도록 설정하고, 상기 록 상태가 상기 제 1 프로세서(110A)에 의한 록을 나타낸다는 것을 결정하는 것을 특징으로 하는 버스 로직.
- 록 요구 및 록 해제 요구를 검출하도록 구성된 로드/저장 유닛(114)과, 여기서 상기 로드/저장 유닛(114)은 상기 록 요구 또는 상기 록 해제 요구에 응답하여 록 토글 요구를 발생시키도록 구성되며; 그리고상기 로드/저장 유닛(114)에 결합되며, 상기 록 토글 요구에 응답하여 록토글 커맨드를 전송하도록 구성된 시스템 인터페이스 컨트롤러(116)를 포함하는 것을 특징으로 하는 마이크로프로세서.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/339,351 US6430639B1 (en) | 1999-06-23 | 1999-06-23 | Minimizing use of bus command code points to request the start and end of a lock |
US09/339,351 | 1999-06-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020012616A true KR20020012616A (ko) | 2002-02-16 |
KR100687822B1 KR100687822B1 (ko) | 2007-02-28 |
Family
ID=23328620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020017016514A KR100687822B1 (ko) | 1999-06-23 | 2000-01-11 | 로크의 시작 및 끝을 요구하는 데에 버스 커맨드 코드 포인트들을 최소로 이용하는 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6430639B1 (ko) |
EP (1) | EP1190331B1 (ko) |
JP (1) | JP4565786B2 (ko) |
KR (1) | KR100687822B1 (ko) |
DE (1) | DE60002077T2 (ko) |
WO (1) | WO2000079404A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6973543B1 (en) * | 2001-07-12 | 2005-12-06 | Advanced Micro Devices, Inc. | Partial directory cache for reducing probe traffic in multiprocessor systems |
US6934806B2 (en) * | 2002-09-23 | 2005-08-23 | International Business Machines Corporation | Method and system for improving input/output performance by proactively flushing and locking an entire page out of caches of a multiprocessor system |
US7076680B1 (en) * | 2003-03-14 | 2006-07-11 | Sun Microsystems, Inc. | Method and apparatus for providing skew compensation using a self-timed source-synchronous network |
DE102006055513A1 (de) * | 2006-05-24 | 2007-11-29 | Robert Bosch Gmbh | Kommunikationsbaustein |
DE102007063291A1 (de) * | 2007-12-27 | 2009-07-02 | Robert Bosch Gmbh | Sicherheitssteuerung |
US9164886B1 (en) | 2010-09-21 | 2015-10-20 | Western Digital Technologies, Inc. | System and method for multistage processing in a memory storage subsystem |
US10572387B2 (en) * | 2018-01-11 | 2020-02-25 | International Business Machines Corporation | Hardware control of CPU hold of a cache line in private cache where cache invalidate bit is reset upon expiration of timer |
US11163688B2 (en) | 2019-09-24 | 2021-11-02 | Advanced Micro Devices, Inc. | System probe aware last level cache insertion bypassing |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5016167A (en) * | 1987-12-21 | 1991-05-14 | Amdahl Corporation | Resource contention deadlock detection and prevention |
US5175837A (en) | 1989-02-03 | 1992-12-29 | Digital Equipment Corporation | Synchronizing and processing of memory access operations in multiprocessor systems using a directory of lock bits |
US5133074A (en) * | 1989-02-08 | 1992-07-21 | Acer Incorporated | Deadlock resolution with cache snooping |
JP2830116B2 (ja) * | 1989-07-27 | 1998-12-02 | 日本電気株式会社 | マルチプロセッサシステムにおけるロック制御機構 |
US5615373A (en) * | 1993-08-26 | 1997-03-25 | International Business Machines Corporation | Data lock management in a distributed file server system determines variable lock lifetime in response to request to access data object |
DE69435090T2 (de) | 1993-12-01 | 2009-06-10 | Marathon Technologies Corp., Stow | Rechnersystem mit Steuereinheiten und Rechnerelementen |
US5586253A (en) | 1994-12-15 | 1996-12-17 | Stratus Computer | Method and apparatus for validating I/O addresses in a fault-tolerant computer system |
US5706446A (en) * | 1995-05-18 | 1998-01-06 | Unisys Corporation | Arbitration system for bus requestors with deadlock prevention |
US6560682B1 (en) | 1997-10-03 | 2003-05-06 | Intel Corporation | System and method for terminating lock-step sequences in a multiprocessor system |
US9919801B2 (en) * | 2015-04-10 | 2018-03-20 | B/E Aerospace, Inc. | Articulating foot well divider for adjacent parallel passenger seats |
-
1999
- 1999-06-23 US US09/339,351 patent/US6430639B1/en not_active Expired - Lifetime
-
2000
- 2000-01-11 EP EP00906893A patent/EP1190331B1/en not_active Expired - Lifetime
- 2000-01-11 JP JP2001505301A patent/JP4565786B2/ja not_active Expired - Lifetime
- 2000-01-11 WO PCT/US2000/000605 patent/WO2000079404A1/en active IP Right Grant
- 2000-01-11 KR KR1020017016514A patent/KR100687822B1/ko active IP Right Grant
- 2000-01-11 DE DE60002077T patent/DE60002077T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE60002077D1 (de) | 2003-05-15 |
WO2000079404A1 (en) | 2000-12-28 |
EP1190331B1 (en) | 2003-04-09 |
US6430639B1 (en) | 2002-08-06 |
DE60002077T2 (de) | 2004-03-04 |
JP2003527652A (ja) | 2003-09-16 |
EP1190331A1 (en) | 2002-03-27 |
JP4565786B2 (ja) | 2010-10-20 |
KR100687822B1 (ko) | 2007-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6012120A (en) | Method and apparatus for providing DMA transfers between devices coupled to different host bus bridges | |
US6128711A (en) | Performance optimization and system bus duty cycle reduction by I/O bridge partial cache line writes | |
US5276852A (en) | Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions | |
KR100360064B1 (ko) | 고도로파이프라인된버스구조 | |
US6473849B1 (en) | Implementing locks in a distributed processing system | |
EP0817073B1 (en) | A multiprocessing system configured to perform efficient write operations | |
US5983326A (en) | Multiprocessing system including an enhanced blocking mechanism for read-to-share-transactions in a NUMA mode | |
US5572703A (en) | Method and apparatus for snoop stretching using signals that convey snoop results | |
US5860159A (en) | Multiprocessing system including an apparatus for optimizing spin--lock operations | |
US6681283B1 (en) | Coherent data apparatus for an on-chip split transaction system bus | |
US6021456A (en) | Method for communicating interrupt data structure in a multi-processor computer system | |
US8037253B2 (en) | Method and apparatus for global ordering to insure latency independent coherence | |
US5991819A (en) | Dual-ported memory controller which maintains cache coherency using a memory line status table | |
US5893153A (en) | Method and apparatus for preventing a race condition and maintaining cache coherency in a processor with integrated cache memory and input/output control | |
US6292860B1 (en) | Method for preventing deadlock by suspending operation of processors, bridges, and devices | |
US7523260B2 (en) | Propagating data using mirrored lock caches | |
US20030217115A1 (en) | Load-linked/store conditional mechanism in a CC-NUMA system | |
US5659709A (en) | Write-back and snoop write-back buffer to prevent deadlock and to enhance performance in an in-order protocol multiprocessing bus | |
JPH1031625A (ja) | マルチ・プロセッサ・システムにおける改良されたコピーバック性能のためのライトバック・バッファ | |
US20220114098A1 (en) | System, apparatus and methods for performing shared memory operations | |
US6970963B2 (en) | Apparatus and method for synchronizing multiple accesses to common resources | |
KR100687822B1 (ko) | 로크의 시작 및 끝을 요구하는 데에 버스 커맨드 코드 포인트들을 최소로 이용하는 방법 | |
US5778441A (en) | Method and apparatus for accessing split lock variables in a computer system | |
US6862646B2 (en) | Method and apparatus for eliminating the software generated ready-signal to hardware devices that are not part of the memory coherency domain | |
US6934806B2 (en) | Method and system for improving input/output performance by proactively flushing and locking an entire page out of caches of a multiprocessor system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130130 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140204 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150120 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160119 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170119 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20180118 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20190116 Year of fee payment: 13 |