KR100225743B1 - 공유자원으로의 멀티프로세서 액세스의 조정 - Google Patents

공유자원으로의 멀티프로세서 액세스의 조정 Download PDF

Info

Publication number
KR100225743B1
KR100225743B1 KR1019920021557A KR920021557A KR100225743B1 KR 100225743 B1 KR100225743 B1 KR 100225743B1 KR 1019920021557 A KR1019920021557 A KR 1019920021557A KR 920021557 A KR920021557 A KR 920021557A KR 100225743 B1 KR100225743 B1 KR 100225743B1
Authority
KR
South Korea
Prior art keywords
processor
access
grant
request
access request
Prior art date
Application number
KR1019920021557A
Other languages
English (en)
Other versions
KR930010740A (ko
Inventor
제임스엠.럭우드
Original Assignee
리패치
선 마이크로시스템즈 인코퍼레이티드
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 리패치, 선 마이크로시스템즈 인코퍼레이티드 filed Critical 리패치
Publication of KR930010740A publication Critical patent/KR930010740A/ko
Application granted granted Critical
Publication of KR100225743B1 publication Critical patent/KR100225743B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

멀티프로세서 컴퓨터 시스템에서, 액세스 요구 및 승인레지스터가 각 공유 자원에 대한 액세스 요구 및 승인 시마포어를 기억하기 위해 제공된다.
다수의 액세스 요구 및 승인 비트를 가지는 액세스 요구 및 승인 시마포어가 프로세서에 할당된다. 부가적으로 전용 액세스 요구 비트를 설정/클리어 하고 기억된 액세스 요구 시마포어의 모든 액세스 요구 비트를 동시 판독하기 위해 회로가 각 액세스 요구 레지스터를 위해 제공된다.
더욱, 프로세서의 상대 액세스 우선 순위를 반영하는 좌표화 요구 및 승인 마스크가 제공되어 프로세서가 공유자원이 더 낮은 우선순위 프로세서에 승인되는지 및 공유자원이 더 높은 우선순위 프로세서에 의해 요구되는지 여부를 결정하기 위해 액세스 요구 및 승인 시마포어의 현재의 설정치와 관련하여 사용한다.
그 결과 공유자원으로의 멀티프로세서 액세스는 종래에 비해 다수의 장점을 가지는 방법으로 조정된다.

Description

공유자원으로의 멀티프로세서 액세스의 조정
제1도는 본발명에 따른 멀티프로세서 컴퓨터 시스템의 바람직한 실시예의 도시도.
제2도는 제1도에 도시된 멀티프로세서 컴퓨터 시스템에서 공유자원으로의 프로세서 액세스를 조정하는데 사용된 본발명의 시마포어의 도시도.
제3도는 제1도에 도시된 멀티프로세서 컴퓨터 시스템에서 공유자원으로의 프로세서 액세스를 조정하는데 사용된 본발명의 액세스 요구 마스크의 도시도.
제4도는 제1도에 도시된 멀티프로세서 컴퓨터 시스템에서 공유자원으로의 프로세서의 액세스를 조정하기 위해 사용된 본발명의 액세스 승인 마스크의 도시도.
제5a도 내지 5b도는 제1도에 도시된 멀티프로세서 컴퓨터 시스템에서 액세스 요구 레지스터에 기억된 요구 시마포어를 동시 판독하고 전용 비트를 설정/클리어 하는 본 발명의 회로의 두 실시예의 도시도.
제6도는 제1도에 도시된 멀티프로세서 컴퓨터 시스템에서 공유자원으로의 프로세서 액세스를 조정하는 본발명의 방법의 도시도이다.
[발명의 분야]
본 발명은 컴퓨터 시스템분야 특히 멀티프로세서 컴퓨터 시스템에 관한 것이다. 더욱 특히 본발명은 멀티프로세서 통신에 특정 적용을 갖는 공유자원으로의 멀티프로세서 액세스를 조정하는 것에 관한 것이다.
[배경]
오늘날 많은 컴퓨터 시스템은 다수의 프로세서로 구성된다.
전형적으로 프로세서는 다수의 자원 예컨대 프로세서간 통신을 위한 메모리내 영역을 공유한다. 이들 멀티프로세서 시스템의 많은 경우, 프로세서는 공통 고속버스를 통해 공유자원을 액세스한다.
조정기능이 특정 프로세서에 버스의 임시의 배타적 소유권을 주기위해 제공된다. 어느 프로세서에 그 자신의 캐시 메모리를 갖는 멀티프로세서 시스템에서, 간섭성데이타 관리기능이 공유자원을 액세스하기 위해 또한 제공된다.
조정 및 간섭성 데이타 관리기능이 버스에 의해 중앙집중적 방법이거나 프로세서에 의해 분산적 방법으로 제공된다.
덧붙여, 어떤 형의 시마포어는 각각의 공유자원으로의 액세스를 제어하기 위해 사용된다. 하나의 시마포어는 상호 배타적 록이다.
프로세서는 시마포어를 판독하고, 시마포어가 소정값 예컨대 영과 같은가를 체크하여 공유자원이 현재 자유로운지를 판별한다.
공유자원이 자유로운 경우, 푸로세서는 공유자원의 임시 소유권을 가져 이를 표시하기 위해 시마포어에 대해 다른 소정값 예컨대 영이 아닌 값을 기입한다. 공유자원이 자유롭지 않은 경우, 프로세서는 시마포어가 공유자원이 자유롭다는 것을 표시하는 소정값을 포함할 때까지 판독과 체크를 반복한다.
액세스의 종결시, 프로세서는 시마포어를 리세트하여 공유자원에 다시 자유롭다는 것을 표시한다.
시마포어 관리 프로토콜은 또한 시마포어가 공유자원의 임시 소유권을 가진 최종 프로세서에 의해서만 리세트되는 메카니즘 또는 법칙을 포함한다.
한 프로세서에 의한 시미포어의 판독-수정-기입조작이 공유자원의 임시 소유권을 얻기 위해 노력하는 다른 프로세서에 의해 간섭받지 않도록 보증하기 위해, 전형적으로 버스는 원자버스 사이클을 제공하여 이것에 의해 프로세서는 다수의 비간섭으로 연속버스 사이클에 대한 버스의 임시 소유권을 얻을 수 있다.
종래의 시마포어 관리는 적어도 4개의 문제점을 가진다.
(1) 대부분 시마포어 관리는 FCFS (first-come-first-serve) 방식으로 프로세서 액세스의 우선순위를 정하는 경향이 있다.
(2) 상대적 액세스 우선순위 설정을 허용하는 시마포어 관리하는 것들에 대해서, 그들은 통상 경쟁하는 프로세서가 그들 자신의 액세스 우선순위 수준을 판별하거나 또는 상대 액세스 우선순위가 동적으로 변화되는 단순한 방법을 제공하지 않는다.
(3) 그들은 통상 공유자원의 현소유자인 프로세서를 판별하는 단순한 방법을 제공하지 않는다.
(4) 그들은 모든 프로세서가 판독-수정-기입동작을 실행할 수 있고 버스가 원자버스 사이클을 자원할 수 있는 것을 요구하며, 더욱 판독-수정-기입동작이 같은 방법으로 프로세서에 의해 수행되어, 같은 컴퓨터 시스템에서 이질적인 프로세서가 합체되는 가능성을 배제시킨다.
본발명은 종래의 문제점을 극복하는 공유자원으로의 멀티프로세서 액세스를 조정하는 방법 및 장치를 제공한다.
[발명의 요약]
그러므로 본발명의 목적은 멀티프로세서 통신에 적용 가능한 공유자원으로의 멀티프로세서 액세스를 조정하는 방법 및 장치를 제공하는 것이다.
본발명의 다른 목적은 공유자원으로의 액세스가 동적으로 변경가능한 상대 액세스 우선순위에 근거하여 조정되게 하는 것이다.
본발명의 또다른 목적은 경쟁하는 프로세서가 그 자신의 액세스 우선순위를 판별할 수 있고 공유자원의 현소유자를 판별할 수 있게 하는 것이다.
본발명의 또다른 목적은 고속버스가 원자버스 사이클을 지원할 필요가 없고 프로세서들이 같은 방법으로 판독-수정-기입동작을 수행하거나 판독-수정-기입동작을 지원할 필요가 없어, 이에 따라 같은 컴퓨터 시스템에서 이질적인 프로세서의 합체를 가능하게 하는 것이다.
본 발명의 바람직한 실시예 하에서, 이들 및 다른 목적들은 멀티프로세서 컴퓨터 시스템상의 각각의 공유자원에 대해 각각 액세스 요구 시마포어 및 액세스 승인 시마포어를 기억하는 액세스 요구 레지스터 및 액세스 승인 레지스터를 제공하여 성취된다. 액세스 요구 및 승인 레지스터들은 각각의 프로세서들에 할당된 액세스 요구 비트 및 액세스 승인 비트를 갖춘 액세스 요구 및 승인 시마포어를 기억하기에 충분히 크도록 설계된다.
현재의 바람직한 형태로서 액세스 요구 및 승인 비트들은 최저 우선순위 프로세서에 할당되는 최저위 유효비트에서 시작하여 오름순으로 프로세서들에 할당된다.
부가적으로, 본발명의 바람직한 실시예에서, 개개의 액세스 요구 비트의 설정/클리어와 모든 액세스 요구 비트들의 동시 판독을 허용하는 대응회로가 제공되어 액세스 요구 레지스터들에 기억된 액세스 요구 시마포어들을 액세스한다.
더구나, 각각의 공유자원용 요구 마스크 및 승인 마스크가 제공되고 각 프로세서에 할당된다.
요구 및 승인 마스크들은 프로세서들의 상대 액세스 우선순위를 반영한다.
요구 및 승인 마스크들은 공유자원이 더 낮은 우선순위 프로세서에 승인되는지를 판별하고 공유자원이 더 높은 우선순위 프로세서에 의해 요구되는지를 판별하기 위해 액세스 요구 및 승인 시마포오의 현설정치와 관련하여 프로세서들에 의해 사용된다.
프로세서는 액세스 요구 시마포어의 할당된 액세스 요구 비트를 설정하여 공유자원의 임시의 배타적 소유권을 얻는 요구를 행한다.
그후 요구 프로세서는 소정시간을 대기한다. 요구를 인식하고 액세스 승인 시마포어의 할당된 액세스 승인 비트를 설정하기 위해 가장 느린 프로세서에 의해 요구되는 최대 시간 보다 더 길도록 최소의 소정시간이 설정된다.
소정시간 대기후, 요구 프로세서는 액세스 승인 및 요구 시마포어를 반복적으로 체크하여 더 낮은 액세스 우선순위 승인도 더 높은 액세스 우선순위 요구도 액티브하지 않음을 보장한다.
이와 같은 판별이 있는 후, 요구프로세서는 액세스 승인 시마포어의 액세스 승인 비트를 설정하고 공유자원의 임시의 배타적 소유권을 갖는다.
임시의 배타적 소유권을 얻은 후, 소유 프로세서는 공유자원에 대해 소망의 동작을 수행한다. 이들 동작 완료시, 소유 프로세서는 액세스 승인 및 요구 시마포어의 할당된 액세스 승인 및 요구 비트를 설정 해제한다.
그 결과, 멀티프로세서 컴퓨터 시스템의 프로세서들은 공유자원을 통한 프로세서간 통신을 수행할 수 있다.
경쟁하는 프로세서는 액세스 요구 및 승인 시마포어에 근거하여 자신의 상대적 액세스 우선순위 및 현소유자를 판별할 수 있다.
공유자원에 대한 프로세서들의 상대 액세스 우선순위는 다른 상대 액세스 우선 순위를 반영한 요구 및 승인 마스크의 새로운 세트를 부과하여 동적으로 또한 변화될 수 있다.
원자 액세스 사이클을 지원하는 프로세서 및 고속버스에 대한 필요성 및 동일 방법으로 판독-수정-기입 동작을 지원하는 프로세서에 대한 필요성이 제거된다.
그 결과, 이질적 프로세서들이 같은 멀티프로세서 컴퓨터 시스템에 합체될 수 있다.
[바람직한 실시예의 상세한 설명]
멀티프로세서 통신에 특별히 적용되는 멀티프로세서 컴퓨터 시스템에서 공유자원으로의 프로세서 액세스를 조정하는 방법 및 장치가 개시된다.
설명을 위해 하기 설명에서, 본 발명의 완벽한 이해를 돕기 위해 특정 숫자, 기구 및 구성이 설명된다.
그러나 본발명은 특정의 세부사항 없이도 실시될 수 있다는 것은 당해분야 통상의 전문가에게는 명백할 것이다.
다른 경우, 주지 시스템은 본 발명을 불필요하게 보호하게 하지 않도록 도식적 또는 블록도 형태로 개시된다.
제1도에 있어서, 본 발명에 부합한 멀티프로세서 컴퓨터 시스템에 바람직한 실시예를 나타낸 블록도가 도시된다. 다수의 프로세서(12a-12n)가 도시된다.
각각의 프로세서(12a-12n) 는 다음에 더욱 상세히 설명될 요구 마스트 및 승인 마스크를 각각 기억하는 요구 마스트 레지스터 및 승인 마스크 레지스터로 구성된다. 프로세서(12a-12n)는 주지 프로세서의 넓은 범주를 나타낸다.
사실상, 바람직한 실시예 하에서, 프로세서(12a-12n) 는 같은 방법으로 판독-수정-기입동작을 지원하지 않거나 또는 전혀 판독-수정-기입동작을 지원하지 않고 다른 주지의 프로세서들의 혼합체일 수 있다. 이들 프로세서(12a-12n) 의 특정예는 캘리포니아 마운틴 뷰 소재의 선마이크로시스템즈사의 SPARCTM프로세서 및 캘리포니아 산타클라라 소재의 인텔사의 i486TM프로세서를 포함한다.
(SPARCTM 은 선마이크로사의 등록상표이며 i486TM은 인텔사의 등록상표이다.)
프로세서(12a-12n) 는 액티브 고속버스(18)에 접속된다.
액티브 고속버스(18)는 버스(18)의 임시의 배타적 소유권을 승인하기 위한 중앙집중화 조정기능을 제공한다.
부가적으로 액티브 고속버스(18)는 프로세서(12a-12n) 의 일부가 개개의 캐시메모리로 구성된 경우 프로세서(12a-12n) 에 대한 간접성 데이타 관리기능을 제공한다.
그러나 현재의 바람직한 실시예하에서, 액티브 고속버스(18)는 원자버스 사이클을 제공할 필요가 없어 이에 의해 프로세서는 다수의 인터럽트되지 않은 연속 버스 사이클을 위한 버스(18)를 소유할 수 있다.
액티브 고속버스(18)는 또한 주지의 액티브 고속버스의 넓은 범주를 나타낸다.
사실상, 액티브 고속버스(18)는 버스 아답타에 의해 함께 접속된 다수의 주지의 버스들로 구성된 주지의 고속버스의 특정예는 선마이크로시스템즈사 MBus 및 SBus를 포함한다. 액티브 고속버스가 바람직하지만, 고속버스(18)는 또한 여러 프로세서(12a-12n) 에 분산된 간섭성 데이타 관리기능 및 버스조정 기능을 가진 인액티브 버스일 수 있음은 명백할 것이다.
또한 공유자원(16)과 액티브 고속버스(18)에 접속된 대응 시마포어 레지스터(14)가 개시된다. 공유자원(16)은 멀티프로세서 컴퓨터 시스템상의 넓은 범주의 자원을 나타낸다. 예컨데 공유자원(16)은 프로세서(12a-12n) 사이의 프로세서간 통신용 공유메시지 버퍼로서 사용된 주메로리의 영역일 수 있다.
대응 시마포어 레지스터(14)는 액세스 요구 레지스터(도시안됨), 액세스 승인 레지스터(도시안됨) 및 레지스터에의 기입 및 레지스터로 부터의 판독용 대응회로(도시안됨)로 구성된다. 시마포어 레지스터(14)는 아래에서 더 자세히 설명 될 것이다. 제1도에는 오직 하나의 공유자원(16)만이 도시되나, 멀티프로세서 컴퓨터 시스템(10)은 각각의 부가 공유자원이 그 자신의 대응 시마포어 레지스터도 가진다는 조건으로 공유 뿐아니라 비공유의 다수의 자원으로 구성될 수 있음은 명백할 것이다. 더욱 시마포어 레지스터(14)가 바람직하지만, 메모리내 메모리 위치가 액티브 고속버스(18)가 메모리 위치에서 판독-수정-기입동작을 수행하기 위해 원자버스 사이클을 지원하고 프로세서(12a-12n) 가 같은 방법으로 판독-수정-기입동작을 지원하는 것을 조건으로 대신 사용될 수 있음은 명백할 것이다.
제2도에 있어서, 액세스 요구 레지스터, 액세스 승인 레지스터, 및 이들 레지스터에 기억된 대응 액세스 요구 및 승인 시마포어를 나타낸 블록도가 도시된다.
다수의 액세스 요구 비트(24a-24n) 를 가진 액세스 요구 시마포어를 기억하는 액세스 요구 레지스터(20)가 도시된다.
각각의 액세스 요구 비트(24a-24n) 는 하나의 프로세서에 할당된다.
현재의 바람직한 형태에서, 액세스 요구 비트(24a-24n) 는 최저 우선순위를 가진 프로세서에 할당된 최저의 유효비트 부터 시작하여 오름순으로 프로세서에 할당된다. 액세스 요구 비트(24a-24n) 는 다양한 다른 방법으로 할당될 수 있음은 명백할 것이다.
또한 다수의 액세스 승인 비트(26a-26n) 를 가진 액세스 승인 시마포어를 기억하는 승인 액세스 레지스터(22)가 도시된다.
각각의 대응 액세스 승인 비트(26a-26n) 는 같은 프로세서에 할당된다.
유사하게, 현재의 바람직한 형태에서 액세스 승인 비트(26a-26n) 는 또한 최저 우선 순위를 가진 프로세서에 할당된 최저위 유효비트 부터 시작하여 오름순으로 프로세서에 할당된다. 액세스 요구 비트(24a-24n) 가 승인되는 방법과 일치하는 것을 조건으로 액세스 승인 비트(26a-26n) 는 다양한 다른 방법으로 할당될 수 있음을 명백하다.
이하에 더욱 상세히 설명되겠지만, 각각의 액세스 요구 비트(24a-24n) 는 그 할당 프로세서가 공유자원으로의 액세스를 요구할때 그 할당 프로세서에 의해 개별적으로 설정된다. 다중 액세스 요구 비트(24a-24n) 는 동시에 다수의 요구 프로세서에 의해 설정될 수 있다.
이하에 더욱 상세히 설명되겠지만, 각각의 액세스 승인 비트(26a-26n) 는 공유자원으로 액세스를 요구한 후 그 공유자원이 더낮은 우선순위 프로세서에 승인되지도 더 높은 우선순위 프로세서에 의해 요구되지도 않는다는 것을 그 할당 프로세서가 판별할때 그 할당 프로세서에 의해 설정된다.
오직 하나의 액세스 승인 비트(26a,26b...또는 26n)만이 동시에 하나의 프로세에 의해 설정될 수 있음은 명백할 것이다.
그 결과, 공유자원의 현소유자는 액세스 승인 시마포어에 의거하여 쉽게 판별될 수 있다.
각각의 액세스 승인 비트(26a-26n)는 그것의 할당 프로세서가 공유자원으로의 액세스를 완료한 후 그 할당 프로세서에 의해 설정해제 된다.
각각의 액세스 요구 비트(24a-24n)는 그것의 할당 프로세서가 대응 액세스 승인 비트(26a,26b...또는 26n)를 설정해제한 후 그 할당 프로세서에 의해 설정해제 된다.
이하에 더 상세히 기술하겠지만, 요구 프로세서는 공유자원이 더 낮은 우선순위 프로세서에 승인되는지 여부 및 공유자원이 액세스 요구 마스크 및 액세스 승인 마스크와 연관한 액세스 요구 승인 시마포어를 사용하여 더 높은 우선순위 프로세서에 의해 요구되는지 여부를 판별한다.
본 발명하에서 요구 프로세서는 공유자원에 더 높은 우선순위 프로세서에 승인되는지 여부도 공유자원이 더 낮은 우선순위 프로세서에 의해 요구되는지 여부도 관계할 필요가 없다는 것은 명백할 것이다.
제3도에서, 본 발명의 액세스 요구 마스크를 나타내는 블록도가 도시된다.
다수의 요구 마스크 비트(30a-30n)로 구성된 다수의 액세스 요구 마스크(28a-28n)가 도시된다. 각각의 요구 마스크(28a-28n)는 액세스 요구 시마포어와 같은 수의 비트로 구성된다. 각 요구 마스크(28a, 28n.... 또는 28n)에 대해서, 프로세서에 할당된 액세스 요구 시마포어의 요구 비트 보다 더 상위 비트 위치에 존재하는 요구 마스크 비트(30a-30n)가 설정되고, 다른 모든 요구 마스크 비트는 설정해제 된다. 예컨대, 프로세서 0에 대해서, 요구 마스크 비트(1 내지 n)가 설정되는 요구 마스크 비트(0)는 설정해제되며; 프로세서 1에 대해 요구 마스크 비트(1내지 n)는 설정되고 요구 마스크 비트(0 내지 1)는 설정해제되며; 그리고 프로세서 n에 대해서 모든 요구 마스크 비트(0 내지 n)가 설정해제 된다.
요구 마스크(28a-28n)는 프로세서의 전용 요구 마스크 레지스터에 기억된다. 요구 프로세서는 공유자원이 액세스 요구 시마포어 및 그것의 요구 마스크의 현재의 비트 설정치에 대해 논리 AND를 수행하여 더 높은 우선순위 프로세서에 의해 요구되는지 여부를 판별한다.
요구 마스크(28a-28n)는 동적으로 변화가능하여, 이에 의해 이하에 설명되는 승인 마스크가 동시에 변화되는 것을 조건으로 프로세서들의 상대 액세스 우선순위를 변경시킨다.
제4도에 있어서, 본 발명의 액세스 승인 마스크를 나타내는 블록도가 도시된다. 다수의 승인 마스크 비트(34a-34n)로 구성된 다수의 액세스 승인 마스크(32a-32n)가 도시된다. 각각의 승인 마스크(32a-32n)는 액세스 승인 시마포어와 같은 수의 비트로 구성된다.
각각의 승인 마스크(32a, 32b, ... 또는 32n)에 대해서, 프로세서에 할당된 액세스 승인 시마포어의 승인 비트 보다 더 하위 비트 위치에 존재하는 승인 마스크 비트(32a-32n)가 설정되고, 모든 다른 마스크 비트는 설정해제 된다.
예컨대, 프로세서 0에 대해서 모든 승인 마스크 비트(0 내지 n)는 설정해제되며; 프로세서 1에 대해서 승인 마스크 비트(0)는 설정되고 승인 마스크 비트(1 내지 n)는 설정해제되며; 그리고 프로세서 n에 대해서 승인 마스크 비트(0 내지 n-1)는 설정되고 승인 마스크 비트(0)는 설정해제 된다.
유사하게, 승인 마스크(32a-32n)는 프로세서의 전용 승인 마스크 레지스터에 기억된다. 요구 프로세서는 공유자원이 액세스 승인 시마포어와 그것의 승인 마스크의 현재의 비트 설정치에 대해 논리 AND를 수행하여 더 낮은 우선순위 프로세서에게 승인되는지 여부를 판별한다.
이미 개시된 바와 같이, 승인 마스크(28a-28n)는 동적으로 변화가능하여, 이에 의해 요구 마스크가 동시에 변화되는 것을 조건으로 프로세서들의 상대 액세스 우선순위를 변경시킨다.
제5a도 및 제5b도에서, 전용 액세스 요구 비트들은 설정/클리어 하는 액세스 요구 레지스터에 기억된 액세스 요구 시마포어의 모든 액세스 요구 비트의 동시 판독용 회로의 두 실시예를 나타낸 두개의 블록도가 도시된다.
제5a도의 실시예 1은 고속버스에 주어진 프로세서 식별자들을 갖지 않는 멀티프로세서 컴퓨터 시스템을 위해 설계된 반면 제5b도의 제2실시예는 고속버스에 프로세서 식별자들을 제공하는 멀티프로세서 컴퓨터 시스템을 위해 설계된다.
이미 개시된 바와 같이, 액세스 승인 시마포어의 하나의 액세스 승인 비트만이 동시에 설정되어, 액세스 승인 레지스터로 및 액세스 승인 레지스터 부터 액세스 승인 시마포어를 기입 및 판독하기 위한 어떤 특별한 회로도 요구되지 않는다. 액세스 승인 레지스터는 당해분야에서 주지된 방법으로 구현될 수 있다.
제5a도에 동일한 회로 세그먼트(42a-42n)가 도시된다.
각각의 동일한 회로 세그먼트(42a-42n)가 프로세서에 할당된 액세스 요구 시마포어의 액세스 요구 비트를 설정, 클리어 및 판독하기 위해 사용된다.
각각의 동일한 회로 세그먼트(42a-42n)는 제1AND 게이트(48a, 48b, ... 48n), 제2AND게이트(50a, 50b, ... 또는 50n) 및 액세스 요구 레지스터의 래치(46a, 46b, ... 46n)에 접속된 3상태 버퍼(44a, 44b, ... 또는 44n)로 구성된다.
AND게이트(48a-48n, 50a-50n), 3상태 버퍼(44a-44n) 및 래치(46a-46n)는 당해분야에서 주지의 것이다.
제1AND게이트(48a, 48b, ... 또는 48n)는 액세스 요구 시마포어의 할당된 액세스 요구 비트를 설정하기 위한 것이다.
제1AND게이트(48a, 48b, ... 또는 48n)는 입력으로서 고속버스로 부터 데이타라인, 제1기입인에이블신호 및 스트로브 신호를 취하고 래치(46a, 46b, ... 46n)로 신호를 출력한다. 현재의 바람직한 형태에서, 출력값이 1인 경우 액세스 요구 비트가 설정되며; 출력값이 0인 경우 어떤 행동도 취하지 않는다.
유사하게, 제2AND게이트(50a, 50b, ... 또는 50n)는 액세스 요구 시마포어의 할당된 액세스 요구 비트를 클리어하기 위한 것이다.
제2AND게이트(50a, 50b, ... 또는 50n)는 입력으로서 고속버스로 부터 데이타라인, 제2기입인에이블신호 및 스트로브 신호를 취하여 래치(46a, 46b, ... 46n)로 신호를 출력한다. 현재의 바람직한 형태에서, 출력값이 1인 경우 액세스 요구 비트는 설정해제되며; 출력값이 0인 경우 어떤 행동도 취하지 않는다.
래치(46a, 46b, ... 또는 46n)는 입력으로 제1AND게이트(48a, 48b, ... 또는 48n) 출력이나 제2AND게이트(50a, 50b, ... 또는 50n) 출력을 취하고 3상태 버퍼(44a, 44b, ... 또는 44n)에 신호를 출력한다.
3상태 버퍼(44a, 44b, ... 또는 44n)는 입력으로서 래치(46a, 46b, ... 또는 46n)의 출력 및 고속버스로 부터의 판독인에이블 신호를 취하여 고속버스의 데이타 라인에 신호를 출력한다.
제5b도에서 AND게이트(66)와 주소지정가능 래치(64)에 의해 구현된 액세스 요구 레지스터에 접속된 3상태 버퍼(62)가 도시된다.
AND게이트(66), 3상태 버퍼(62) 및 주소지정가능 래치(64)는 당해분야에서 주지의 것이다. AND게이트(66)는 입력으로서 고속버스로 부터의 스트로부 신호와 기입인에이블 신호를 취하고 주소지정가능 래치로 신호를 출력한다.
주소지정가능 래치(64)는 입력으로서 AND게이트(66) 출력, 고속버스로 부터의 데이타라인 및 고속버스로 부터의 프로세서 식별자를 취하며, 3상태 버퍼(62)에 다수의 신호를 출력한다. 프로세서 식별자는 데이타 라인으로 부터 입력으로 대치하도록 액세스 요구/승인 비트를 선택하기 위해 사용된다.
3상태 버퍼(62)는 입력으로서 주소지정가능 래치(64)의 출력신호와 고속버스로 부터의 판독인에이블 신호를 취하며, 고속버스에 다수의 신호를 출력한다.
제5a도 및 제5b도에 도신된 회로중 하나를 제공함에 의해, 액세스 요구 시마포어는 고속버스에 의한 원자버스 사이클의 지원에 대한 필요성 없이 조작될 수 있어, 이에 의해 요구 프로세서는 다수의 인터럽트되지 않는 클록 사이클에 대한 고속버스의 임시의 배타적 소유권을 가질 수 있음이 인식될 것이다.
더욱, 프로세서들은 같은 방법으로 판독-수정-기입동작을 지원하거나 또는 전혀 판독-수정-기입동작을 지원할 필요가 없다.
그 결과 이질적인 프로세서가 같은 멀티프로세서 컴퓨터 시스템에 합체될 수 있다.
제6도에서, 공유자원에 프로세서 액세스를 조정하는 본 발명의 방법을 나타낸 블록도가 도시된다.
도면에 도시된 바와 같이 요구 프로세서는 액세스 요구 시마포어의 할당된 요구비트를 설정하에 의해 공유자원으로의 액세를 요구한다(블록 72).
그후 요구 프로세서는 소정시간 동안 대기한다(블록74).
최소의 소정 대기시간은 요구를 인식하고 액세스 승인 시마포어의 할당된 액세스 승인 비트를 설정하기 위해 가장 늦은 프로세서에 의해 요구되는 가장 긴 시간보다 더 길다.
상술된 바와 같이, 프로세서는 액세스 요구 레지스터로 부터 액세스 요구 시마포어의 현재 비트 설정치를 검색하고 검색 비트 설정치와 프로세서 요구 마스크에 대한 논리 AND를 수행하여 요구를 인식한다.
적어도 최소의 소정시간 대기시, 요구 프로세서는 공유자원이 더 낮은 우선순위 프로세서에 승인되는지를 판별한다(블록 76).
상술한 바와 같이 요구 프로세서는 액세스 요구 레지스터로 부터 액세스 승인 시마포어의 현재의 비트 설정치를 검색하고 검색된 비트 설정치와 프로세서의 승인 마스크에 대한 논리 AND를 수행하여 판별한다.
프로세서가 더 낮은 우선순위 프로세서에 현재 승인되면, 공유자원이 더 낮은 우선순위 프로세서에 더 이상 승인되지 않을 때까지 요구 프로세서는 판별을 반복한다. 공유자원이 더 낮은 우선순위 프로세서에 승인되지 않음을 판별시, 요구 프로세서는 공유자원이 더 높은 우선순위 프로세서에 의해 반복되는지는 판별한다(블록 78).
유사하게 공유자원이 더 높은 우선순위 프로세서에 의해 요구되는 경우, 공유자원에 더 높은 우선순위 프로세서에 의해 요구되지 않을 때까지 요구 프로세서는 판별을 반복한다.
공유자원에 더 높은 우선순위 프로세서에 의해 요구되지 않음을 판별시, 그후 요구 프로세서는 액세스 승인 시마포어의 할당된 액세스 승인 비트를 설정하고(블록 80), 공유자원의 임시의 배타적 소유권을 갖는다.
승인된 프로세서는 공유자원에 대해 소망동작 예컨대 공유자원이 공유 메세지 버퍼인 경우 메세지 기입을 수행한다(블록 82).
공유자원에 대한 동작 완결시, 승인된 프로세서는 액세스 승인 시마포어의 할당된 액세스 승인 비트를 설정해제 한다(블록 84).
할당된 액세스 승인 비트를 설정해제한 후, 비승인 프로세서는 액세스 요구 시마포어의 할당된 액세스 요구 비트를 설정해제 한다(블록 86).
본 발명이 현재의 바람직한 실시예에 의해 개시되었지만, 당업계 전문가는 발명이 기술된 실시예에 의해 한정되지 않음을 인식할 것이다.
본 발명의 방법 및 장치는 첨부된 청구항의 영역 및 요지내에서 수정 및 변경되어 실시될 수 있다. 따라서 본 설명에 대해 한정적인 것이 아니라 설명적인 것으로 인식되야 한다.

Claims (24)

  1. 다수의 공유자원에 접속된 다수의 프로세서로 구성된 컴퓨터 시스템에서 상기 프로세서들에 의해 공유자원으로의 액세스를 조정하는 방법에 있어서, 상기 방법은 (a) 요구 프로세서에 의해 액세스 요구 시마포어의 할당된 액세스 요구 비트를 설정을, 상기 각각의 프로세서가 상기 액세스 요구 시마포어의 액세스 요구비트를 할당하는 단계; (b) 소정시간 대기단계; (c) 액세스 승인 시마포어의 현재의 비트 설정치를 검색하고, 상기 공유자원이 상기 요구 프로세서에 의해 더 낮은 우선순위 프로세서에 현재 승인되는지를 판별하여, 상기 각각의 프로세서가 상기 액세스 승인 시마포어의 액세스 승인비트를 할당하는 단계; (d) 상기 액세스 요구 시마포어의 현재의 비트 설정치를 검색하고, 상기 공유자원이 더 낮은 우선순위 프로세서에 승인되지 않은 때 상기 요구 프로세서에 의해 더 높은 우선순위 프로세서에 의해 현재 요구되는지를 판별하는 단계; (e) 상기 공유자원이 더 높은 우선순위 프로세서에 의해 요구되지 않을 때 상기 요구 프로세서에 의해 상기 액세스 승인 시마포어에 상기 할당된 승인비트를 설정하는 단계; (f) 상기 승인된 프로세서에 의해 상기 공유자원을 액세스 하는 단계; (g) 상기 공유자원 액세스 완료시 상기 액세스 프로세서에 의해 상기 액세스 승인 시마포어의 상기 할당된 승인 비트를 설정해제하는 단계; 그리고 (h) 상기 액세스 승인 시마포어의 상기 비트부를 설정해제한 때 상기 비승인된 프로세서에 의해 상기 액세스 요구 시마포어의 상기 할당된 요구 비트를 설정해제 하는 단계로 이루어지는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 액세스 요구 및 승인 시마포어의 상기 액세스 요구 및 승인 비트가 가장 낮은 우선순위 프로세서에 할당된 최저위 유효비트에서 시작하여 오름순으로 상기 프로세서에 할당되는 것을 특징으로 하는 방법.
  3. 제2항에 있어서, 상기 요구 프로세서는 상기 공유자원이 상기 액세스 승인 시마포어와 할당된 액세스 승인 마스크의 상기 현재의 비트 설정치에 대해 논리 AND를 수행하여 더 낮은 우선순위 프로세서에 현재 승인되는지를 판별하고, 상기 할당된 액세스 승인 마스크는 상기 액세스 승인 시마포어에 대응한 다수의 승인 마스크 비트로 구성되여, 상기 승인 마스크 비트는 상기 할당된 액세스 승인 비트 보다 더 낮은 모든 대응 비트에 설정되고 다른 모든 대응 액세스 승인 비트에 설정해제되는 것을 특징으로 하는 방법.
  4. 제3항에 있어서, 상기 요구 프로세서는 상기 공유자원이 상기 액세스 요구 시마포어와 할당된 액세스 요구 마스크의 상기 현재의 비트 설정치에 대한 논리 AND를 수행하여 더 높은 우선순위 프로세서에 의해 현재 요구되는지를 판별하고, 상기 할당된 액세스 요구 마스크는 상기 액세스 요구 레지스터에 대응한 다수의 요구 마스크 비트로 구성되어, 상기 요구 마스크 비트는 상기 요구 프로세서의 상기 할당된 액세스 요구 비트 보다 더 높은 모든 대응 액세스 요구 비트에 설정되고 모든 다른 대응 액세스 요구 비트에 설정해제되는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 액세스 요구 및 승인 시마포어는 메모리의 제1 및 제2메모리 위치에 기억되며, 상기 컴퓨터 시스템은 추가로 상기 메모리로 구성되며, 상기 프로세서, 상기 공유자원 및 상기 메모리는 고속버스에 접속되며, 상기 고속버스는 상기 제1 및 제2메모리 위치를 액세스 하는 원자버스 사이클을 제공하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 상기 액세스 요구 및 승인 시마포어는 각각 액세스 요구 레지스터 및 액세스 승인 레지스터에 기억되며, 상기 요구 프로세서는 전용 액세스 요구 및 승인 비트를 설정 및 클리어 하고 상기 액세스 요구 및 승인 레지스터에 기억된 상기 액세스 요구 및 승인 시마포어의 모든 액세스 요구 및 승인 비트를 동시 판독하는 회로들을 사용하여 상기 비트 위치를 설정 및 설정해제하며 상기 액세스 요구 및 승인 레지스터에 기억된 상기 액세스 요구 및 승인 시마포어의 상기 현재의 비트 설정치를 검색하고, 상기 컴퓨터 시스템은 상기 회로들로 추가로 구성되며, 그리고 상기 프로세서, 상기 공유자원, 상기 액세스 요구 및 승인 레지스터 그리고 상기 회로를 고속버스에 접속되는 것을 특징으로 하는 방법.
  7. 제6항에 있어서, 상기 고속버스는 상기 프로세서를 위한 프로세서 식별자를 제공하지 않으며; 상기 액세스 요구 및 승인 레지스터는 다수의 래치와 함께 구현되며; 그리고 각각의 상기 회로는 다수의 3상태 버퍼, 다수의 제1 및 제2AND게이트로 구성되는 것을 특징으로 하는 방법.
  8. 제6항에 있어서, 상기 고속버스는 상기 프로세서를 위한 프로세서 식별자를 제공하고; 상기 액세스 요구 및 승인 레지스터는 주소지정가능 래치와 함께 구현되며; 그리고 각각의 상기 회로는 하나의 3상태 버퍼 및 AND게이트로 구성되는 것을 특징으로 하는 방법.
  9. 제1항에 있어서, 상기 소정시간은 상기 단계 (c), (d) 및 (e)를 실행하기 위해 가장 늦은 상기 프로세서에 의해 요구되는 최장시간 보다 더 긴 것을 특징으로 하는 방법.
  10. 제1항에 있어서, 상기 공유자원은 상기 프로세서 사이의 프로세서간 통신을 위해 사용된 메모리 영역인 것을 특징으로 하는 방법.
  11. 다수의 공유자원에 접속된 다수의 프로세서로 구성된 컴퓨터 시스템에서 상기 프로세서에 의한 공유자원으로의 액세스를 조정하기 위한 장치에 있어서, 상기 장치는 (a) 다수의 액세스 요구 비트로 구성된 액세스 요구 시마포어를 기억하기 위해 상기 프로세서에 접속된 제1기억수단, (여기서 각각의 상기 액세스 요구 비트는 상기 프로세서중 하나에 할당되며, 각각의 상기 할당된 액세스 요구 비트는 그 프로세서가 상기 공유자원에 액세스를 요구할때 그 프로세서에 의해 설정); 그리고 (b) 다수의 액세스 승인 비트로 구성된 액세스 승인 시마포어를 기억하기 위해 상기 프로세서에 접속된 제2기억수단, (여기서 각각의 상기 액세스 승인 비트는 상기 프로세서중 하나에 할당되며, 각각의 상기 할당된 액세스 승인 비트는 그 프로세서가 상기 공유자원으로의 액세스를 요구한 후 상기 공유자원이 더 높은 우선순위 프로세서에 의해 요구되는지도 더 낮은 우선순위 프로세서에 승인되지도 않는지를 판별할때 그 프로세서에 의해 설정되며, 상기 판별은 상기 액세스 승인 및 요구 시마포어의 현재의 비트 설정치에 의거하여 상기 요구 프로세서에 의해 제공되며, 상기 판별은 상기 요구 프로세서가 상기 공유자원으로 액세스를 요구한 후 소정시간을 대기한 후에 제공)으로 구성되며, 각각의 상기 설정 액세스 승인 비트는 그 프로세서가 상기 공유자원으로 액세스 완료시 그 프로세서에 의해 설정해제되며, 각각의 상기 설정 액세스 요구 비트는 그 프로세서가 그것의 설정 액세스 승인 비트를 설정해제한 후 그것의 프로세서에 의해 설정해제되는 것을 특징으로 하는 장치.
  12. 제11항에 있어서, 상기 액세스 요구 및 승인 시마포어의 상기 액세스 요구 및 승인 비트는 가장 낮은 우선순위 프로세서에 할당된 최저위 유효비트에서 시작하여 오름순으로 상기 프로세서에 할당되는 것을 특징으로 하는 장치.
  13. 제12항에 있어서, 상기 요구 프로세서는 상기 액세스 승인 시마포어와 할당된 액세스 승인 마스크의 현재의 비트 설정치에 대해 논리 AND를 수행하여 상기 공유자원이 더 낮은 우선순위 프로세서에 현재 할당되는지 여부를 판별하여, 상기 할당된 액세스 승인 마스크는 상기 액세스 승인 시마포어에 대응한 다수의 승인 마스크 비트로 구성되며, 상기 승인 마스크 비트는 상기 요구 프로세서의 상기 할당된 액세스 승인 비트 보다 더 낮은 모든 대응 승인 마스크 비트에서 설정되며 모든 다른 대응 승인 마스크 비트 위치에서 설정해제되는 것을 특징으로 하는 장치.
  14. 제13항에 있어서, 상기 요구 프로세서는 상기 액세스 요구 시마포어와 할당된 액세스 요구 마스크의 상기 현재의 비트 설정치에 대해 논리 AND를 수행하여 상기 공유자원이 더 높은 우선순위 프로세서에 의해 현재 요구되는지를 판별하고, 상기 할당된 액세스 요구 마스크는 상기 액세스 요구 레지스터에 대응한 다수의 요구 마스크 비트로 구성되며, 상기 요구 마스크 비트는 상기 요구 프로세서의 상기 할당된 액세스 요구 비트 보다 더 높은 모든 대응 요구 마스크 비트에서 설정되며 다른 모든 대응 요구 마스크 비트에 설정해제되는 것을 특징으로 하는 장치.
  15. 제11항에 있어서, 상기 제1 및 제2기억수단은 상기 액세스 요구 및 승인 시마포어를 기억하기 위한 제1 및 제2메모리 위치로 구성된 상기 프로세서에 접속된 같은 메모리 수단이며, 상기 컴퓨터 시스템은 상기 메모리로 추가로 구성되며; 그리고 상기 프로세서, 상기 공유자원 및 상기 메모리는 고속버스에 접속되며, 상기 고속버스는 상기 제1 및 제2메모리 위치를 액세스하기 위해 원자버스 사이클을 제공하는 것을 특징으로 하는 장치.
  16. 제11항에 있어서, 상기 제1 및 제2기억수단은 각각 상기 액세스 요구 및 승인 시마포어를 기억하기 위해 액세스 요구 레지스터 및 액세스 승인 레지스터로 구성된 상기 프로세서에 접속된 같은 레지스터 수단이며; 상기 레지스터 수단은 상기 요구 프로세서가 상기 액세스 요구 및 승인 비트를 설정 및 설정해제하고 상기 액세스 요구 및 승인 레지스터에 기억된 상기 액세스 요구 및 승인 시마포어의 상기 현재의 비트 설정치를 검색하도록 상기 프로세서와 상기 액세스 요구 및 승인 레지스터에 접속된 회로로 추가로 구성되며, 상기 회로는 전용 액세스 요구 및 승인 비트를 설정 및 클리어하고 상기 액세스 요구 및 승인 레지스터에 기억된 상기 액세스 요구 및 승인 시마포어의 모든 액세스 요구 및 승인 비트를 동시 판독하며; 그리고 상기 프로세서, 상기 공유자원, 상기 액세스 요구 및 승인 레지스터와 상기 회로는 고속버스에 결합되는 것을 특징으로 하는 장치.
  17. 제16항에 있어서, 상기 고속버스는 상기 프로세서를 위한 프로세서 식별자를 제공하지 않으며; 상기 액세스 요구 및 승인 레지스터는 다수의 래치와 함께 구현되며; 그리고 각각의 상기 회로는 상기 고속버스와 상기 래치에 접속된 다수의 3상태 버퍼, 상기 고속버스에 접속된 다수의 제1 및 제2AND게이트 및 상기 래치로 구성되는 것을 특징으로 하는 장치.
  18. 제16항에 있어서, 상기 고속버스는 상기 프로세서를 위해 프로세서 식별자를 제공하며; 상기 액세스 요구 및 승인 레지스터는 주소지정가능 래치와 함께 구현되며; 그리고 각각의 상기 회로는 상기 고속버스와 상기 주소지정가능 래치에 접속된 3상태 버퍼와 상기 주소지정가능 래치와 상기 고속버스에 접속된 AND게이트로 구성되는 것을 특징으로 하는 장치.
  19. 제11항에 있어서, 상기 소정시간은 상기 판별을 수행하고 상기 액세스 승인 시마포어의 할당된 액세스 승인 비트를 설정하기 위해 가장 늦은 상기 프로세서에 의해 요구되는 가장 긴 시간 보다 더긴 것을 특징으로 하는 장치.
  20. 제11항에 있어서, 상기 공유자원은 상기 프로세서 사이의 프로세서간 통신을 위해 사용된 상기 프로세서에 접속된 메모리 영역이며, 상기 컴퓨터는 상기 메모리로 구성되는 것을 특징으로 하는 장치.
  21. 고속버스; 상기 고속버스에 접속된 다수의 프로세서; 상기 고속버스에 접속된 공유자원; 그리고 액세스 요구 및 액세스 승인 시마포어를 기억하기 위한 제1 및 제2기억수단으로 구성된 상기 공유자원으로의 프로세서 액세스로 조정하기 위한 장치로 구성되며, 상기 액세스 요구 및 승인 시마포어는 각각 다수의 액세스 요구 및 액세스 승인 비트로 구성되며, 각각의 상기 프로세서는 상기 액세스 요구 비트중 하나와 대응 액세스 승인 비트를 할당하며, 각각의 상기 할당된 액세스 요구 비트는 그 프로세서가 상기 공유자원으로 액세스를 요구할때 그 프로세서에 의해 설정되며, 각각의 상기 할당된 액세스 승인 비트는 프로세서가 상기 공유자원으로의 상기 액세스를 요구한 후 상기 공유자원이 더 높은 우선순위 프로세서에 의해 요구되지도 않고 더 낮은 우선순위 프로세서에 승인되지 않음을 판별할 때 그 프로세서에 의해 설정되며; 상기 판별은 상기 액세스 승인 및 요구 시마포어의 현재의 비트 설정치에 의거하여 상기 요구 프로세서에 의해 행하여지며, 상기 판별은 상기 요구 프로세서가 상기 공유자원으로의 액세스를 요구한 후 소정시간을 대기한 후 행하여지며; 각각의 상기 설정 액세스 승인 비트는 그 프로세서가 상기 공유자원으로의 액세스 완결시 그 프로세서에 의해 설정해제되며, 각각의 상기 설정 액세스 요구 비트는 그 프로세서가 그 설정 승인 비트를 설정해제한 후 그 프로세서에 의해 설정해제되는 것을 특징으로 하는 멀티프로세서 컴퓨터 시스템.
  22. 다수의 프로세서로 구성된 컴퓨터 시스템에서 상기 프로세서들 사이의 멀티프로세서 통신을 수행하는 방법에 있어서, 상기 방법은 (a) 요구 프로세서에 의해 공유 메세지 버퍼에 대한 액세스 요구 시마포어의 할당된 액세스 요구 비트를 설정하는 단계(여기서 상기 각각의 프로세서가 상기 액세스 요구 시마포어의 액세스 요구 비트를 할당); (b) 소정시간 대기단계 (c) 상기 공유 메세지 버퍼에 대한 액세스 승인 시마포어의 현재의 비트 설정치를 검색하고, 상기 공유메세지 버퍼가 상기 요구 프로세서에 의해 더 낮은 우선순위 프로세서에 현재 승인되는지를 판별하는 단계(여기서 각각의 상기 프로세서가 상기 액세스 승인 시마포어의 액세스 승인 비트를 할당); (d) 상기 액세스 요구 시마포어의 현재의 비트 설정치를 검색하고 상기 공유메세지 버퍼가 더 낮은 우선순위 프로세서에 승인되지 않을 때 상기 공유메세지 버퍼가 상기 요구 프로세서에 의해 더 높은 우선순위 프로세서에 의해 현재 요구되는지를 판별하는 단계; (e) 상기 공유메세지 버퍼가 더 높은 우선순위 프로세서에 의해 요구되지 않을 때 상기 요구 프로세서에 의해 상기 액세스 승인 시마포어의 상기 할당된 액세스 승인 비트를 설정하는 단계; (f) 상기 승인 프로세서에 의해 메세지를 상기 공유메세지 버퍼에 기입하는 단계; (g) 상기 공유메세지 버퍼에 메세지 기입 완료시 상기 액세스 프로세서에 의해 상기 액세스 승인 시마포어의 상기 할당된 액세스 승인 비트를 설정해제 하는 단계; 그리고 (h) 상기 액세스 승인 시마포어의 상기 액세스 승인 비트의 설정해제시 상기 비승인 프로세서에 의해 상기 액세스 요구 시마포어의 상기 할당된 액세스 요구 비트를 설정해제 하는 단계로 구성되는 것을 특징으로 하는 방법.
  23. 다수의 프로세서로 구성된 컴퓨터 시스템에서 상기 프로세서들 사이에 멀티프로세서 통신을 수행하기 위한 장치에 있어서, 상기 장치는 (a) 상기 프로세서에 접속된 공유메세지 버퍼; (b) 상기 공유메세지 버퍼에 대한 액세스 요구 시마포어를 기억하기 위해 상기 프로세서에 접속된 제1기억수단(여기서 상기 액세스 요구 시마포어는 다수의 액세스 요구 비트로 구성되며, 각각의 상기 액세스 요구 비트는 상기 프로세서중 하나에 할당되며, 각각의 상기 할당된 액세스 요구 비트는 그 프로세서가 상기 공유메세지로의 액세스를 요구할 때 그 프로세서에 의해 설정되며); (c) 상기 공유메세지 버퍼에 대한 액세스 승인 시마포어를 기억하기 위해 상기 프로세서에 접속된 제2기억수단(여기서 상기 액세스 승인 시마포어는 다수의 액세스 승인 비트로 구성되며, 각각의 상기 액세스 승인 비트는 상기 프로세서중 하나에 할당되며, 각각의 상기 할당된 액세스 승인 비트는 상기 공유메세지 버퍼로의 액세스 요구후 상기 공유메세지가 더 낮은 우선순위 프로세서에 승인되지도 않는 더 높은 우선순위 프로세서에 의해 요구되지도 않는지를 그 프로세서가 판별할 때 그 프로세서에 의해 설정되며, 상기 판별은 상기 액세스 승인 및 요구 시마포어의 현재의 비트 설정치에 의거하여 상기 요구 프로세서에 의해 행하여지며, 상기 판별은 상기 요구 프로세서가 상기 공유메세지 버퍼로의 액세스 요구후 소정시간을 대기한 후 행해짐)으로 구성되며, 각각의 상기 설정 액세스 승인 비트는 그 프로세서가 상기 공유메세지 버퍼로 메세지를 기입하는 것을 완료할 때 그 프로세서에 의해 설정해제되며, 각각의 상기 설정 액세스 요구 비트는 그 프로세서가 설정 승인 비트를 설정해제한 후 그 프로세서에 의해 설정해제 하는 것을 특징으로 하는 장치.
  24. 고속버스; 상기 고속버스에 접속된 다수의 프로세서; 상기 고속버스에 접속된 공유메세지 버퍼; 그리고 상기 공유메세지 버퍼를 사용하여 멀티프로세서 통신을 수행하기 위한 장치로 구성되며, 상기 장치는 상기 공유메세지 버퍼에 대한 액세스 요구 및 액세스 승인 시마포어를 기억하는 제1 및 제2기억수단으로 구성되며, 상기 액세스 요구 및 승인 시마포어는 각각 다수의 액세스 요구 및 액세스 승인 비트로 구성되며, 각각의 상기 프로세서는 상기 액세스 요구 비트중 하나와 대응 액세스 승인 비트를 할당하며, 각각의 상기 할당된 액세스 요구 비트는 그 프로세서가 상기 공유메세지 버퍼로 액세스를 요구할 때 그 프로세서에 의해 설정되며, 각각의 상기 할당된 액세스 승인 비트는 상기 공유메세지 버퍼로의 상기 액세스를 요구한 후 그 프로세서가 상기 공유메세지 버퍼가 더 낮은 우선순위 프로세서에 승인되지도 않고 더 높은 우선순위 프로세서에 의해 요구되지도 않음을 판별할 때 그 프로세서에 의해 설정되며; 상기 판별은 상기 액세스 승인 및 요구 시마포어의 현재의 비트 설정치에 의거하여 상기 요구 프로세서에 의해 행해지며, 상기 판별은 상기 요구 프로세서가 상기 공유메세지 버퍼로의 액세를 요구한 후 소정시간을 대기한 후 행해지며; 각각의 상기 설정 액세스 승인 비트는 그 프로세서가 상기 공유메세지 버퍼를 액세스 완료할 때 그 프로세서에 의해 설정해제되며, 각각의 상기 설정 액세스 요구 비트는 그 프로세서가 설정 승인 비트를 설정해제한 후 그 프로세서에 의해 설정해제 되는 것을 특징으로 하는 멀티프로세서 컴퓨터 시스템.
KR1019920021557A 1991-11-19 1992-11-17 공유자원으로의 멀티프로세서 액세스의 조정 KR100225743B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US79457391A 1991-11-19 1991-11-19
US794,573 1991-11-19

Publications (2)

Publication Number Publication Date
KR930010740A KR930010740A (ko) 1993-06-23
KR100225743B1 true KR100225743B1 (ko) 1999-10-15

Family

ID=25163035

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920021557A KR100225743B1 (ko) 1991-11-19 1992-11-17 공유자원으로의 멀티프로세서 액세스의 조정

Country Status (5)

Country Link
US (1) US5339443A (ko)
EP (1) EP0543560B1 (ko)
JP (1) JP3381854B2 (ko)
KR (1) KR100225743B1 (ko)
DE (1) DE69230462T2 (ko)

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2963298B2 (ja) * 1993-03-26 1999-10-18 富士通株式会社 二重化共有メモリにおける排他制御命令のリカバリ方法および計算機システム
EP0635792B1 (de) * 1993-07-16 2003-08-27 Siemens Aktiengesellschaft Verfahren zur Koordination von parallelen Zugriffen mehrerer Prozessoren auf Resourcenkonfigurationen
JP2521027B2 (ja) * 1993-08-27 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセッサ及びその制御方法
US5875339A (en) * 1993-10-21 1999-02-23 Sun Microsystems, Inc. Asynchronous arbiter using multiple arbiter elements to enhance speed
CA2140685A1 (en) * 1994-01-28 1995-07-29 Randy M. Bonella Bus master arbitration circuitry having improved prioritization
US5471590A (en) * 1994-01-28 1995-11-28 Compaq Computer Corp. Bus master arbitration circuitry having improved prioritization
US5598579A (en) * 1994-04-25 1997-01-28 Compaq Computer Corporation System fpr transferring data between two buses using control registers writable by host processor connected to system bus and local processor coupled to local bus
US5623670A (en) * 1995-02-17 1997-04-22 Lucent Technologies Inc. Method and apparatus for crash safe enforcement of mutually exclusive access to shared resources in a multitasking computer system
US5524209A (en) * 1995-02-27 1996-06-04 Parker; Robert F. System and method for controlling the competition between processors, in an at-compatible multiprocessor array, to initialize a test sequence
KR0144022B1 (ko) * 1995-05-15 1998-08-17 김주용 엘알유에 의한 중재기
US5666485A (en) * 1995-06-07 1997-09-09 Samsung Electronics Inc. Software driver for a system bus
US6529933B1 (en) 1995-06-07 2003-03-04 International Business Machines Corporation Method and apparatus for locking and unlocking a semaphore
KR0146551B1 (ko) * 1995-08-21 1998-09-15 양승택 임계영역을 지원하는 래치 관리방법
US5696939A (en) * 1995-09-29 1997-12-09 Hewlett-Packard Co. Apparatus and method using a semaphore buffer for semaphore instructions
US5996075A (en) * 1995-11-02 1999-11-30 Sun Microsystems, Inc. Method and apparatus for reliable disk fencing in a multicomputer system
US7168088B1 (en) 1995-11-02 2007-01-23 Sun Microsystems, Inc. Method and apparatus for reliable disk fencing in a multicomputer system
US5740383A (en) * 1995-12-22 1998-04-14 Cirrus Logic, Inc. Dynamic arbitration priority
US5872980A (en) * 1996-01-25 1999-02-16 International Business Machines Corporation Semaphore access control buffer and method for accelerated semaphore operations
DE69738646T2 (de) * 1996-08-28 2008-11-13 Hitachi, Ltd. Verfahren zur Ausführung eines Prozesses und Betriebsmittelzugriffsverfahren in einem Computer-System
US6311204B1 (en) * 1996-10-11 2001-10-30 C-Cube Semiconductor Ii Inc. Processing system with register-based process sharing
US6513057B1 (en) 1996-10-28 2003-01-28 Unisys Corporation Heterogeneous symmetric multi-processing system
US6108756A (en) * 1997-01-17 2000-08-22 Integrated Device Technology, Inc. Semaphore enhancement to allow bank selection of a shared resource memory device
US5751638A (en) * 1997-01-17 1998-05-12 Integrated Device Technology, Inc. Mail-box design for non-blocking communication across ports of a multi-port device
US6212607B1 (en) 1997-01-17 2001-04-03 Integrated Device Technology, Inc. Multi-ported memory architecture using single-ported RAM
FR2759472B1 (fr) * 1997-02-12 1999-05-07 Thomson Csf Registre semaphore rapide a fonctionnement securise sans protocole de bus specifique
US5966543A (en) * 1997-06-26 1999-10-12 International Business Machines Corporation Method of using collaborative spinlocks to provide exclusive access to a resource in a multiprocessor computer system
US6188381B1 (en) * 1997-09-08 2001-02-13 Sarnoff Corporation Modular parallel-pipelined vision system for real-time video processing
US6279066B1 (en) * 1997-11-14 2001-08-21 Agere Systems Guardian Corp. System for negotiating access to a shared resource by arbitration logic in a shared resource negotiator
US6748438B2 (en) 1997-11-17 2004-06-08 International Business Machines Corporation Method and apparatus for accessing shared resources with asymmetric safety in a multiprocessing system
US6092220A (en) * 1997-11-17 2000-07-18 International Business Machines Corporation Method and apparatus for ordered reliable multicast with asymmetric safety in a multiprocessing system
US6047316A (en) * 1997-12-12 2000-04-04 Intel Corporation Multiprocessor computing apparatus having spin lock fairness
US6446149B1 (en) * 1998-03-03 2002-09-03 Compaq Information Technologies Group, L.P. Self-modifying synchronization memory address space and protocol for communication between multiple busmasters of a computer system
US6401110B1 (en) 1998-11-30 2002-06-04 International Business Machines Corporation Method for managing concurrent processes using dual locking
US6105099A (en) * 1998-11-30 2000-08-15 International Business Machines Corporation Method for synchronizing use of dual and solo locking for two competing processors responsive to membership changes
US6530000B1 (en) 1999-03-24 2003-03-04 Qlogic Corporation Methods and systems for arbitrating access to a disk controller buffer memory by allocating various amounts of times to different accessing units
US7506136B2 (en) 1999-04-09 2009-03-17 Clearspeed Technology Plc Parallel data processing apparatus
US7627736B2 (en) 1999-04-09 2009-12-01 Clearspeed Technology Plc Thread manager to control an array of processing elements
US7802079B2 (en) 1999-04-09 2010-09-21 Clearspeed Technology Limited Parallel data processing apparatus
US7526630B2 (en) 1999-04-09 2009-04-28 Clearspeed Technology, Plc Parallel data processing apparatus
GB2348975A (en) * 1999-04-09 2000-10-18 Pixelfusion Ltd Parallel data processing systems
FR2797971A1 (fr) * 1999-08-31 2001-03-02 Koninkl Philips Electronics Nv Acces a une ressource collective
US6625701B1 (en) 1999-11-09 2003-09-23 International Business Machines Corporation Extended cache coherency protocol with a modified store instruction lock release indicator
US6629212B1 (en) * 1999-11-09 2003-09-30 International Business Machines Corporation High speed lock acquisition mechanism with time parameterized cache coherency states
US6629214B1 (en) 1999-11-09 2003-09-30 International Business Machines Corporation Extended cache coherency protocol with a persistent “lock acquired” state
GB2364143A (en) 2000-06-30 2002-01-16 Nokia Corp Resource allocation
EP1213650A3 (en) * 2000-08-21 2006-08-30 Texas Instruments France Priority arbitration based on current task and MMU
EP1182550A3 (en) * 2000-08-21 2006-08-30 Texas Instruments France Task based priority arbitration
US6662253B1 (en) 2000-09-13 2003-12-09 Stmicroelectronics, Inc. Shared peripheral architecture
US7075548B1 (en) * 2000-09-29 2006-07-11 Intel Corporation Efficient detection of texture sharing between multiple contexts
US7124224B2 (en) * 2000-12-22 2006-10-17 Intel Corporation Method and apparatus for shared resource management in a multiprocessing system
US6950901B2 (en) * 2001-01-05 2005-09-27 International Business Machines Corporation Method and apparatus for supporting parity protection in a RAID clustered environment
US7155717B2 (en) * 2001-01-26 2006-12-26 Intel Corporation Apportioning a shared computer resource
US7089339B2 (en) * 2001-03-16 2006-08-08 National Semiconductor Corporation Sharing of functions between an embedded controller and a host processor
US7996592B2 (en) * 2001-05-02 2011-08-09 Nvidia Corporation Cross bar multipath resource controller system and method
US7089555B2 (en) * 2001-06-27 2006-08-08 International Business Machines Corporation Ordered semaphore management subsystem
US7454753B2 (en) * 2001-06-27 2008-11-18 International Business Machines Corporation Semaphore management subsystem for use with multi-thread processor systems
US7173627B2 (en) * 2001-06-29 2007-02-06 Intel Corporation Apparatus, method and system with a graphics-rendering engine having a graphics context manager
US6885374B2 (en) * 2001-06-29 2005-04-26 Intel Corporation Apparatus, method and system with a graphics-rendering engine having a time allocator
US7111298B1 (en) * 2001-09-04 2006-09-19 Emc Corporation Inter-processor competition for a shared resource
US7406690B2 (en) * 2001-09-26 2008-07-29 International Business Machines Corporation Flow lookahead in an ordered semaphore management subsystem
US7143414B2 (en) * 2001-09-26 2006-11-28 International Business Machines Corporation Method and apparatus for locking multiple semaphores
US7174552B2 (en) * 2002-01-12 2007-02-06 Intel Corporation Method of accessing a resource by a process based on a semaphore of another process
US6931470B2 (en) * 2002-02-11 2005-08-16 Motorola, Inc. Dual access serial peripheral interface
US6938132B1 (en) 2002-04-04 2005-08-30 Applied Micro Circuits Corporation Memory co-processor for a multi-tasking system
US6978330B1 (en) * 2002-04-04 2005-12-20 Applied Micro Circuits Corporation Shared resource access via declarations that contain a sequence number of a packet
US7421693B1 (en) 2002-04-04 2008-09-02 Applied Micro Circuits Corporation Logic for synchronizing multiple tasks at multiple locations in an instruction stream
US7111228B1 (en) 2002-05-07 2006-09-19 Marvell International Ltd. System and method for performing parity checks in disk storage system
US6760811B2 (en) * 2002-08-15 2004-07-06 Bull Hn Information Systems Inc. Gateword acquisition in a multiprocessor write-into-cache environment
US7007114B1 (en) 2003-01-31 2006-02-28 Qlogic Corporation System and method for padding data blocks and/or removing padding from data blocks in storage controllers
US7287102B1 (en) 2003-01-31 2007-10-23 Marvell International Ltd. System and method for concatenating data
US7039771B1 (en) 2003-03-10 2006-05-02 Marvell International Ltd. Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers
US7064915B1 (en) 2003-03-10 2006-06-20 Marvell International Ltd. Method and system for collecting servo field data from programmable devices in embedded disk controllers
US7870346B2 (en) 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers
US7080188B2 (en) 2003-03-10 2006-07-18 Marvell International Ltd. Method and system for embedded disk controllers
US7492545B1 (en) 2003-03-10 2009-02-17 Marvell International Ltd. Method and system for automatic time base adjustment for disk drive servo controllers
US7526691B1 (en) 2003-10-15 2009-04-28 Marvell International Ltd. System and method for using TAP controllers
US20050102457A1 (en) * 2003-11-12 2005-05-12 Dell Products L.P. System and method for interrupt processing in a multiple processor system
US7139150B2 (en) 2004-02-10 2006-11-21 Marvell International Ltd. Method and system for head position control in embedded disk drive controllers
US7120084B2 (en) 2004-06-14 2006-10-10 Marvell International Ltd. Integrated memory controller
US8166217B2 (en) 2004-06-28 2012-04-24 Marvell International Ltd. System and method for reading and writing data using storage controllers
US9201599B2 (en) 2004-07-19 2015-12-01 Marvell International Ltd. System and method for transmitting data in storage controllers
US8032674B2 (en) * 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
US7757009B2 (en) 2004-07-19 2010-07-13 Marvell International Ltd. Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device
US7921250B2 (en) * 2004-07-29 2011-04-05 International Business Machines Corporation Method to switch the lock-bits combination used to lock a page table entry upon receiving system reset exceptions
US7386661B2 (en) 2004-10-13 2008-06-10 Marvell International Ltd. Power save module for storage controllers
US7240267B2 (en) 2004-11-08 2007-07-03 Marvell International Ltd. System and method for conducting BIST operations
US7802026B2 (en) 2004-11-15 2010-09-21 Marvell International Ltd. Method and system for processing frames in storage controllers
US8020141B2 (en) * 2004-12-06 2011-09-13 Microsoft Corporation Operating-system process construction
JP2006185348A (ja) * 2004-12-28 2006-07-13 Fujitsu Ltd マルチプロセッサシステム及びロックフラグ操作方法
US7380038B2 (en) * 2005-02-04 2008-05-27 Microsoft Corporation Priority registers for biasing access to shared resources
US7275121B1 (en) * 2005-04-05 2007-09-25 Nvidia Corporation System and method for hardware assisted resource sharing
US7609468B2 (en) * 2005-04-06 2009-10-27 Marvell International Ltd. Method and system for read gate timing control for storage controllers
US8849968B2 (en) * 2005-06-20 2014-09-30 Microsoft Corporation Secure and stable hosting of third-party extensions to web services
US20070094495A1 (en) * 2005-10-26 2007-04-26 Microsoft Corporation Statically Verifiable Inter-Process-Communicative Isolated Processes
US8074231B2 (en) * 2005-10-26 2011-12-06 Microsoft Corporation Configuration of isolated extensions and device drivers
US8032898B2 (en) * 2006-06-30 2011-10-04 Microsoft Corporation Kernel interface with categorized kernel objects
US20080244507A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation Homogeneous Programming For Heterogeneous Multiprocessor Systems
US8789063B2 (en) * 2007-03-30 2014-07-22 Microsoft Corporation Master and subordinate operating system kernels for heterogeneous multiprocessor systems
JP5578698B2 (ja) * 2009-04-23 2014-08-27 ルネサスエレクトロニクス株式会社 半導体データ処理装置及びデータ処理システム
CN103620568B (zh) * 2011-04-20 2016-10-05 马维尔国际贸易有限公司 用于可变长度仲裁的方法、装置和系统
US9158592B2 (en) 2011-05-02 2015-10-13 Green Hills Software, Inc. System and method for time variant scheduling of affinity groups comprising processor core and address spaces on a synchronized multicore processor
US9141438B2 (en) 2011-06-30 2015-09-22 Net Navigation Systems, Llc Logic for synchronizing multiple tasks
CN104823168B (zh) 2012-06-15 2018-11-09 英特尔公司 用于实现从由加载存储重新排序和优化导致的推测性转发遗漏预测/错误中恢复的方法和系统
EP2862068B1 (en) 2012-06-15 2022-07-06 Intel Corporation Reordered speculative instruction sequences with a disambiguation-free out of order load store queue
EP2862061A4 (en) 2012-06-15 2016-12-21 Soft Machines Inc MEMORY PRECISION FOR VIRTUAL LOAD WITH DYNAMIC SHIPPING WINDOW WITH UNIFORM STRUCTURE
EP2862069A4 (en) 2012-06-15 2016-12-28 Soft Machines Inc DEFINING INSTRUCTIONS TO REORDER AND OPTIMIZE LOADING AND STORAGE
WO2013188460A2 (en) 2012-06-15 2013-12-19 Soft Machines, Inc. A virtual load store queue having a dynamic dispatch window with a distributed structure
KR101818967B1 (ko) 2012-06-15 2018-01-16 인텔 코포레이션 명확화 없는 비순차 load store 큐
KR102248470B1 (ko) * 2012-06-15 2021-05-06 인텔 코포레이션 메모리로부터 순차적으로 판독하는 load들을 구성하는 메모리 일관성 모델에서 비순차 load들을 갖는 세마포어 방법 및 시스템
JP5856220B2 (ja) * 2014-04-23 2016-02-09 ルネサスエレクトロニクス株式会社 ナビゲーションシステム
US10152436B2 (en) * 2016-03-30 2018-12-11 Oracle International Corporation Mutual exclusion in a non-coherent memory hierarchy
CN109840225B (zh) * 2017-11-27 2023-06-09 中国航空工业集团公司西安航空计算技术研究所 一种异构双核处理器访问eFPGA的控制电路
US11144368B2 (en) * 2019-06-18 2021-10-12 Qualcomm Incorproated Providing self-resetting multi-producer multi-consumer semaphores in distributed processor-based systems

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3676860A (en) * 1970-12-28 1972-07-11 Ibm Interactive tie-breaking system
JPS52130246A (en) * 1976-04-24 1977-11-01 Fujitsu Ltd Memory access control system
US4574350A (en) * 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus
JPH07104834B2 (ja) * 1986-06-18 1995-11-13 富士通株式会社 処理装置間ロック制御システム
US5179705A (en) * 1988-03-23 1993-01-12 Dupont Pixel Systems, Ltd. Asynchronous arbiter state machine for arbitrating between operating devices requesting access to a shared resource

Also Published As

Publication number Publication date
DE69230462D1 (de) 2000-01-27
KR930010740A (ko) 1993-06-23
JPH06266679A (ja) 1994-09-22
EP0543560B1 (en) 1999-12-22
EP0543560A2 (en) 1993-05-26
DE69230462T2 (de) 2000-08-03
EP0543560A3 (en) 1993-07-28
JP3381854B2 (ja) 2003-03-04
US5339443A (en) 1994-08-16

Similar Documents

Publication Publication Date Title
KR100225743B1 (ko) 공유자원으로의 멀티프로세서 액세스의 조정
KR950008227B1 (ko) Dma 제어기를 갖는 컴퓨터 시스템 및 dma제어 방법
US6557084B2 (en) Apparatus and method to improve performance of reads from and writes to shared memory locations
US4511964A (en) Dynamic physical memory mapping and management of independent programming environments
EP0535821B1 (en) Method and apparatus for dynamically steering undirected interrupts
US8001333B2 (en) Memory management in a shared memory system
US4984153A (en) Storage locking control for a plurality of processors which share a common storage unit
KR100420707B1 (ko) 가변폭버스의동시적인액세스를이용하는다중프로세서시스템에서버스중재를위한방법및시스템
US7698523B2 (en) Hardware memory locks
JPH07200318A (ja) 動的優先タスク・スケジューラを有するデータ処理システム
JPH02232747A (ja) マルチプロセッサ・システムにおけるメモリ・アクセス動作の同期化・処理
US5317749A (en) Method and apparatus for controlling access by a plurality of processors to a shared resource
JPH11505653A (ja) 単一アドレス空間で保護ドメインと共に用いるためのオペレーティングシステム
KR20010087404A (ko) 비정형 메모리 억세스 데이타 처리 시스템용 인터럽트아키텍쳐
US5761455A (en) Dynamic bus reconfiguration logic
US6243762B1 (en) Methods and apparatus for data access and program generation on a multiprocessing computer
US7080174B1 (en) System and method for managing input/output requests using a fairness throttle
US6279066B1 (en) System for negotiating access to a shared resource by arbitration logic in a shared resource negotiator
CN117112246A (zh) 自旋锁的控制装置
US7099974B2 (en) Method, apparatus, and system for reducing resource contention in multiprocessor systems
US7406554B1 (en) Queue circuit and method for memory arbitration employing same
JPS594733B2 (ja) キヨウツウバスセイギヨカイロ
US20030140189A1 (en) Method and apparatus for resource sharing in a multi-processor system
JPH0210459A (ja) バス使用権決定方式
US11880304B2 (en) Cache management using cache scope designation

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050711

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee