KR100278034B1 - 다중처리기 컴퓨터 시스템의 메모리페이지를 할당해제하는 브로드 캐스트 디맵 - Google Patents

다중처리기 컴퓨터 시스템의 메모리페이지를 할당해제하는 브로드 캐스트 디맵 Download PDF

Info

Publication number
KR100278034B1
KR100278034B1 KR1019930006394A KR930006394A KR100278034B1 KR 100278034 B1 KR100278034 B1 KR 100278034B1 KR 1019930006394 A KR1019930006394 A KR 1019930006394A KR 930006394 A KR930006394 A KR 930006394A KR 100278034 B1 KR100278034 B1 KR 100278034B1
Authority
KR
South Korea
Prior art keywords
packet
controller
page table
address
table entry
Prior art date
Application number
KR1019930006394A
Other languages
English (en)
Other versions
KR930022215A (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 KR930022215A publication Critical patent/KR930022215A/ko
Application granted granted Critical
Publication of KR100278034B1 publication Critical patent/KR100278034B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/24Time-division multiplex systems in which the allocation is indicated by an address the different channels being transmitted sequentially
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • G06F2212/682Multiprocessor TLB consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

다중처리기 시스템에서 다수의 처리기에 결합된 다수의 번역 룩어사이드 버퍼("TLB")로부터 페이지 테이블 엔트리를 제거하는 방법 및 장치가 개시된다.
그 방법은, 페이지 테이블 엔트리를 제1 TLB로부터 제거하도록 제1 TLB의 제1제어기에 의해 요구패킷을 교부하고 ; 사전설정된 소오스, 제1어드레스 모드 및 처리식별을 특정하는 요구패킷을 가지며, 제2 TLB에 결합된 제2 제어기에 대해 브로드캐스트될 패킷-교환 버스에 요구패킷을 송신하고 ; 그 패킷-교환 버스상에 제2제어기에 의한 요구패킷을 수신하고 ; 제1 모드 어드레스와 처리식별을 비교함으로써 제2 TLB 가 페이지 테이블 엔트리를 포함하는가를 결정하도록 제2제어기에 의해 검사하고 ; 소정의 보류 동작을 제2 제어기에 대하여 완료하고 ; 페이지 테이블 엔트리가 제2 TLB에 포함되면, 제2제어기에 의한 제2 TLB로부터 페이지 테이블 엔트리를 제거하고 ; 제1제어기에 대한 완료를 지시하도록 제2제어기에 의해 회답패킷을 교부하고 ; 소오스를 식별하는 회답패킷을 가지고 제1제어기로 진행될 패킷-교환 버스에 회답패킷을 송신하는 단계를 포함한다.

Description

다중처리기 컴퓨터 시스템의 메모리페이지를 할당해제하는 브로드캐스트 디맵
제1도는 다중처리기 컴퓨터 시스템의 간단한 블럭도,
제2도는 브로드캐스트 디맵 요구에서 데이타사이클의 기호도,
제3도는 처리기 초기화 디맵 트랜잭션에 대한 시간도,
제4도는 외부 디맵 요구 트랜잭션에 대한 시간도.
* 도면의 주요 부분에 대한 부호의 설명
100 : 시스템버스 110,120,130 : 처리기
111,121 : 캐쉬제어기 112,122,132 : 버스감지기
113,123,133 : TLB
[발명의 분야]
본 발명은 다중처리기 컴퓨터 시스템에서 가상적으로 어드레스된 메모리동작에 관한 것으로서, 특히 상기 시스템의 트랜잭션 룩어사이드 버퍼에 관한 것이다.
[기술배경]
컴퓨터 시스템에서 중앙처리장치("CPU")가 컴퓨터 시스템의 주메모리에 메모리 액세스 동작을 가속시키는 캐수메모리를 갖는 것은 아주 일반적이다.
캐쉬메모리는 소형이지만, 주메모리보다는 고속이다. 그것은 CPU와 주메모리사이에서 동작적으로 배치된다. 소프트웨어 프로그램의 실행중에는 캐쉬메모리가 가장 빈번히 사용된 명령 및 데이타를 기억한다. 처리기가 주메모리로부터 액세스정보를 필요로 할때마다, 처리기는 주메모리를 액세스하기 전에 먼저 캐쉬를 검사한다.
캐쉬실패는 처리기가 그 캐쉬메모리에서 명령 혹은 데이타를 발견할 수 없는 경우에 발생하며, 저속 주메모리를 액세스하기 위해 필요하다. 따라서, 캐쉬메모리는 CPU의 평균메모리 액세스시간을 감소시킨다. 캐쉬메모리에 대한 추가의 정보를 위해, John L. Hennessy와 David A. Patterson에 의한 컴퓨터 아키텍쳐 : 정량적 접근법(A Quantitative Approach), (Morgan, Kaufman 출판사, 1990년)를 참고한다.
오늘날 컴퓨팅기술은 주메모리("물리적 메모리")에서만이 실행되는 처리법이 매우 공통적이지만 프로그레머 또는 사용자는 오부디스크("가상 메몰")상에 할당된 대용량의 메모리를 인식하고 있다. 가상 메모리는 매우 효과적인 다중-프로그래밍을 허용하며 불필요하게 엄격히 구속하는 주메모리에 대한 사용자의 부담을 경감시킨다. 가상 메모리를 어드레스하기 위해 다수의 처리기는 가상 메모리의 가상 어드레스를 물리적 메모리의 물리적 어드레스로 번역하는 번역기와, 최근에 발생된 가상-물리적 어드레스 쌍을 캐쉬하는 번역 룩어사이트 버퍼("TLB" ; translation looksaide buffer)를 포함한다. TLB는 번역쌍이 이미 존재할때 맵핑방법을 스킵함으로서 주메모리에 고속액세스되도록 하므로 필요하게 된다.
TLB 엔트리는 태그가 가상 어드레스의 부분을 유지하고 데이타부분이 물리적 페이지 프레임 번호, 보호필드, 사용된 비트 및 오손된 비트를 전형적으로 유지하는 캐쉬 엔트리와 같다.
주어진 처리법의 가상-물리적 어드레스의 페이지 맵핑이 처리요구로서 교체 또는 스레싱(thrash)될 경우, 맵핑은 배치되어야 한다. 만일 그렇지 않을 경우, 가상 어드레스를 교부하는 다음 처리는, 가상 어드레스가 각 처리단계에서 재사용됨으로써, 이전 단계로부터 맵핑을 얻도록 종료될 수 있다. 단일처리기 컴퓨터 시스템에서는 플러시명령이 타켓 페이지를 디맵(demap) 하도록 TLB로 전형적으로 송신된다.
그러나, 분배된 메모리를 갖는 다중처리기 컴퓨터 시스템에 있어서, 개별적 플러시 명령을 처리기로 송신하는 것은 시스템에 따른 각각의 처리기가 페이지의 복사를 할 수 있으므로 값비싼 태스크로 된다. 인더럽트가 처리기로 송신될 수 있을지라도, 단일처리기 시스템에서 통상적으로 실행되는 것같이, 인터럽트를 모든 처리기로 교부한 것은 시스템 버스의 제어를 얻고 각 처리기의 실행을 정지하는 것을 포함한다. 더욱이, 처리기는, 인터럽트 수신시, 동일한 플러시명령을 그들 각각의 TLB에 교부하고 시스템버스의 제어를 얻은후 교부하는 처리기에 회답할 것이다.
각각의 처리단계가 보다 복잡해지고 처리기의 수가 증가함에 따라, 시스템폭 인터럽트는 대부분의 시간에서 발생하는데, 이는 각각의 처리기가 잡을 실행하고 플러시명령을 시스템 전체를 통틀어 모든 다른 처리기로 교부하기 때문이다.
[발명의 개요]
따라서, 본 발명의 목적은 다중처리기 컴퓨터 시스템에서 모든 처리기에 대한 브로드캐스트 페이지 제거 스킴(scheme)을 제공하는 것이다.
또, 본 발명의 목적은 다중처리기 컴퓨터 시스템에서 인터럽트를 교부하고 수신하는 것과 관련되어 불리한 조건을 초래함이 없이 모든 처리기에 대한 브로드캐스트 페이지 제거 시킴을 제공하는 것이다.
다중처리기 시스템의 다수의 처리기에 결합되어 페이지 테이블 엔트리를 다수의 번역 룩어사이드 버퍼("TLB's")에서 제거하기 위한 방법 및 장치가 개시된다.
그 방법은, 페이지 테이블 엔트리를 제1TLB로부터 제거하도록 제1 TLB의 제1 제어기에 의해 요구패킷을 교부하고 ; 사전설정된 소오스, 제1어드레스 모드 및 처리식별을 특정하는 요구패킷을 갖는 제2 TLB에 결합된 제2제어기에 대해 브로드케스트될 패킷-교환 버스에 요구패킷을 송신하고 ; 그 패킷-교환 버스상에 제2제어기에 의한 요구패킷을 수신하고 ; 제1모드 어드레스와 처리식별을 비교함으로써 제2TLB가 페이지 테이블 엔트리를 포함하는가를 결정하도록 제2제어기에 의해 검사하고 ; 소정의 보류동작을 제2제어기에 대하여 완료하고 ; 페이지 테이블 엔트리가 제2 TLB에 포함되면, 제2제어기에 의한 제 2TLB로부터 페이지 테이블 엔트리를 제거하고 ; 제1 제어기에 대한 완료를 지시하도록 제2제어기에 의해 회답패킷을 교부하고 ; 소오스를 식별하는 회답패킷을 가지고 제1제어기로 진행될 패킷교환버스에 회답패킷을 송신하는 단계를 포함한다.
본 발명의 목적, 구성 및 장점은 바람직한 실시예의 상세한 설명으로부터 명백하여 진다.
[표기 및 용어]
상세한 설명은 컴퓨터 시스템내에서 동작에 대한 알고리즘 및 기호식의 용어로 대부분이 표현된다. 이들 알고리즘 설명 및 표현법은 데이타 처리분야에 숙련된 기술자에 의해 이 분야의 다른 기술자에게 그들의 실질적 작업을 가장 효과적으로 전달하기 위해 사용된 수단이다.
알고리즘은 여기서 통상적으로 독립절차의 단계가 바람직한 결과로 되도록 인식된다. 이들 단계는 물리적 성질을 요구하는 물리적 조작법이다. 일반적으로, 반드시 필요하지는 않지만, 이들 성질은 기억,전달, 결합, 비교 및 그밖에 조작될 수 있는 전기적 또는 자기적 신호의 형태를 취한다. 그것은 주로 비트, 값, 요소, 기호, 문자, 용어, 수자 등으로서 이들 신호를 참조하는 공통적 사용법 때문에 종종 용이하게 증명된다. 그것을 염두에 두고 있어야 하지만, 모든 용어 및 유사한 용어는 적절한 물리적 성질과 결합되고 단지 이들 성질에 적용된 편리한 수준이 된다.
게다가, 수행된 조작법은 오퍼레이터에 의해 수행된 정신적 작용과 공통으로 결합되는 예컨대 가산 및 비교같은 용어로 종종 참조된다. 오퍼레이터의 능력이 반드시 필요한 것은 아니지만, 대부분의 경우에 바람직한 본 발명의 일부를 형성하는 여기서 기술된 소정의 동작에 있어서는 필요하다 ; 동작은 기계동작이다.
본 발명의 동작을 수행하는데 유용한 기계는 범용디지탈 컴퓨터 또는 기타 유사한 장치를 포함한다. 모든 경우에 염두하고 있어야 할 점은 컴퓨터 동작시킬때의 동작방법과 계산방법 그 자체 사이의 명확성이다. 본 발명은 전기적 또는 다른 물리적 신호를 발생하는 다른(즉, 기계적, 화학적)물리적 신호를 처리할때 컴퓨터를 동작시키는 방법에 관한 것이다.
또한, 본 발명은 이들 동작을 수행하는 장치에 관한 것이다.
이 장치는 필요한 목적을 위해 특별히 구성될 수 있거나 또는 컴퓨터에 기억된 컴퓨터 프로그램에 의해 선택적으로 활성화 혹은 재구성된 것으로서 범용컴퓨터를 구비할 수 있다. 여기서 나타낸 알고리즘은 특별한 컴퓨터 또는 다른 장치에 내재적으로 관련되지 않는다. 특히, 다양한 범용기계장치는 여기서의 기술에 따라 특정된 프로그램을 가지고 사용될 수 있으며, 또 필요한 방법단계를 수행하는 보다 특정된 장치를 구성하도록 아주 편리하게 될 수 있다. 다양한 이들 기계장치를 위해 요구된 구조는 이하의 주어진 설명으로부터 알 수 있다.
[코딩설명]
특별한 프로그래밍 언어는 여기에 기술된 수개의 절차를 실행하기 위해 표시되고 있지 않다. 이것은 부분적으로 기술될 수 있는 모든 언어가 전반적으로 이용될 수 없다는 사실때문이다. 특별한 컴퓨터의 각 사용자는 그의 중간목적을 위해 가장 적합한 언어를 주목할 것이다. 실제로, 그는 기계실행성 목적코드를 제공하는 어셈블리 언어로 본 발명을 실질적으로 실시하기 위해 이용한다.
컴퓨터 및 모니터시스템은 다수의 분리소자로 구성된 본 발명을 실시할때 사용되기 때문에, 상세한 프로그램 리스팅이 제공되지 않는다.
여기서 기술되고 첨부도면에 예시된 동작 및 다른 절차가 통상의 기술을 가진자에게 본 발명을 실시하도록 충분히 개시되는 것이 고려된다.
[발명의 상세한 설명]
다중처리기 컴퓨터 시스템의 메모리 번역 페이지를 할당해제하는 방법 및 장치가 개시된다. 설명을 목적으로 하는 다음 명세서는 특정메모리, 유기성 및 아키텍쳐등을 본 발명의 전체적 이해를 제공하기 위해 기재한다. 그러나, 본 발명의 분야에 숙련된 기술자에게는 이들 상세한 설명이 없이도 실시될 수 있음이 명백하다. 다른 경우에 있어서, 주지된 회로는 본 발명을 불필요하게 방해하지 않도록 블럭도 형태로 도시된다.
제1도에 구성된 도면에 있어서는 다중처리기 컴퓨터 시스템의 간단한 블럭도를 예시한다. 처리기(110)는 시스템버스(100)에 캐쉬제어기(111) 및 버스감시기(112)를 통해 결합된다. 또 처리기(110)는 번역 룩어사이드 버퍼("TLB")를 활용할 수도 있으며, 예를 들어 캐쉬(도시안됨)와 결합하여 이미 번역된 가상적-물리적 어드레스 맵핑을 기억하는 I/O TLB(114) 또는 시스템 TLB(113)가 있다.
처리기(120) 및 (130)는 그들 각각의 캐쉬제어기 및 버스감시기를 통해 시스템버스(100)와 유사하게 결합된다. 처리기(110)가 하나이상의 가상 페이지에 대해 가상적-물리적 맵핑을 디맵하는데 필요할때, 그의 캐쉬제어기(111)는 브로드케스트 디맵 요구 패킷을 시스템버스(100)상에 버스감시기(112)를 통해 교부한다.
다른 버스감시기(122) 및 (132)는 디맵 요구 패킷을 수신하므로, 그들은 디맵 요구 패킷을 그들 각각의 캐쉬제어기(121) 및 (131)로 실행을 위해 진행시킨다.
다른 캐쉬제어기가 그들 각각의 디맵을 완료한후, 타켓 페이지가 존재한다면, 캐쉬 제어기(121) 및 (131)는 디맵이 모든 다른 캐쉬에서 완료되는 교부성 처리기(110)의 버스감시기(112)에 통보하기 위해 그들 각각의 버스감지기(122) 및 시스템버스(110)를 통해 디맵 회답 패킷을 교부한다. 따라서 버스감시기(112)는 모든 다른 처리기가 실행된 교부성 처리기(110)를 통지하는 디맵 회답을 교부한다.
본 실시예에 있어서, 디맵 요구 패킷은 2개의 사이클로 구성된다 ; 헤더사이클에서, 어드레스필드는 브로드캐스트 패킷을 지시하기 위해 모두 제로로 설정되고, 동시에 디맵될 엔드리는 제2도에 도시된 바와같이 데이타사이클에서 특정된다.
디맵 회담 패킷은 초기 디맵 회답 패킷을 인식한다 ; 현재에는 2개의 사이클길이이다. 제1사이클은 모두 제로로 설정된 어드레스 필드를 갖는 헤더의 사이클을 포함한다. 제2사이클은 사용되지 않으며 그의 내용은 무관심("don't care")이다.
내부적으로, 디맵 트랜잭션은 처리기의 메모리 플러시 동작에 의해 발생된다.
디맵을 위해 전송된 정보는 제거용 TLB에서 페이지를 정합하는 기준으로서 사용된 가상 어드레스("VFPA"(21))와 타입(22)을 포함한다. 디맵 트랜잭션을 위해 사용되는 프로세스_Id(20)는 이 분야에서는 공통적으로 문맥("context")로서 주지됨. 제2도에 도시된 바와같이 비트 47 내지 32의 브로드캐스트이다. 하위 32비트는 플러시동작의 데이타포맷과 등가이다.
처리기는 시스템버스를 통하는 디맵 트랜잭션을 브로드캐스트하는 것뿐만 아니라, 외부 디맵을 수신할 수 있다.
제1도를 참조하면, 처리기(110)로부터의 디맵이 처리기(120)에 의해 수신될때, 처리기(120)는 내부적으로 발생되어 있었던 것과 같이, 현재의 내부처리 식별이라기 보다 오히려 제공된 처리식별을 단지 사용하여 디맵을 실행한다.
현재, 처리기는 디맵동작에 대해 하나의 준비된 회답을 요구한다.
시스템 하드웨어는 디맵 트랜잭션이 브로드캐스트되고 시스템내의 모든 캐쉬제어기에 의해 완료되도록 보장하기 위해 응답할 것이다. 현재 수입하는 디맵은 2위상 요구/회답 프로토콜을 사용한다. 버스감시기에 의해 유지되어야 하는 상태의 크기를 감소시키기 위해서는, 단 하나의 디맵 트랜잭션이 시스템에서 소정시간에 보류될 수 있다.
제3도에 있어서, 처리기-초기화 디맵 트랜잭션을 위한 시간도가 예시된다.
이 경우, 디맵 트랜잭션은 다중처리기 시스템에서 모든 TLB로부터 페이지테이블을 제거하기 위해 처리기에 의해 사용된다. 이런 형태의 시스템에서 디맵은 I/O TLB 및 다른 처리기의 시스템 TLB에 영향받을 수 있거나 또는 그 처리기에 의해 동작이 취해지지 않은 캐쉬제어기에 의해 간단히 반영된다. 디맵에 대한 타이밍은 교체, 즉 2개의 회답이 일반적으로 요구되는 것과 유사하다. 제1회답은 디맵요구의 수신을 인식하기 위해 WRDY_를 사용한다. 제2회답은 디맵이 시스템을 인가하여 성공적으로 완료되고 2의 신호가, RRDY_신호를 갖는 처리기에 통보된다.
준비된 신호 WRDY_와 RRDY_모두는 제3도에 도시된 바와같이 동시에 표명될 수 있지만, 2개의 분리된 준비응답신호가 주어져야 한다.
RRDY_응답에 따른 예외신호(도시안됨)를 표명함으로써 디맵에 예외가 보고될 수 있다.
제3도에 도시된 바와같이, 디맵은 디맵-바(Demap-bar)와 어드레스-스트로브-바(Address-Strobe-bar)신호를 표명함으로써 신호된다. 디맵용 모든 정보는 가상 어드레스를 포함하고, 처리식별 및 명령정보는 데이타사이클[64:0]동안에 통과된다. 어드레스는 디맵용 무관심("don't care")이며 도시된 포맷에서와 같이, 모두 제로로 설정되게 된다.
처리기에 결합된 일부의 시스템이 디맵에 응답하여 어떤 동작도 취하지 않도록 선택된다면, 그들 시스템은 2개의 RRDY_ 표명신호를 갖는 디맵에 응답하여야 한다. 이 경우에, 캐쉬제어기는 2개의 연속적인 사이클에 대한 RRDY_/WRDY_동작을 유지할 수 있다.
제4도에 도시된 구성에 있어서, 외부 디맵 요구 트랜잭션을 위한 시간도가 예시된다. 디맵이 브로드캐스트된 경우, 수입디맵은 2위상 프로토콜을 사용한다.
프로토콜의 제1위상은 외부 이맵 요구(407)이다.
제2위상은 그 요구에 대한 회답(408)이다. 요구 및 회답사이의 다른 버스 동작이 허용될 수 있다.
디맵의 요구(407)부는 어드레스-스트로브-바(400) 및 디맵-바(401)을 동작하는 외부버스 마스터에 의해 교부된다. 데이타사이클[63:0](402)은 제2도에 기재된 포맷에 디맵명령(402)을 포함하여야 한다. 이 명령은 단일사이클용 버스에 대해 교부되어야 한다. 현재, 처리기는 보류동작으로 인해 이 요구를 즉시 응답할 수 없으며, 보류동작은 디맵요구에 응답하기 전에 완료되어야 한다.
외부요구(407)가 내부적으로 서비스될 경우, 처리기는 디맵회답(408) 트랜잭션을 시작할 것이다. 이 회답(408)은 버스에 대해, 기록보다는 RD_(403)으로서 신호된 주요차이점을 갖는 내부적으로 발생된 디맵과 유사한 것으로 보인다.
WR_은 전체적으로 변경되지 않음에 주목된다. 회답은 어드레스-스트로브-바(404) 및 디맵-바(405)를 표명하는 처리기에 의해 신호된다. 트랜잭션을 완료하기 위해서는 준비 (RRDY_(406))가 시스템논리에 의해 응답되어야 한다.

Claims (15)

  1. 패킷교환버스에 전송되는 데이타 및 명령패킷을 갖는 다중처리기 시스템의 다수의 처리기에 결합된 다수의 번역 룩어사이드 버퍼("TLB")로부터 페이지 테이블 엔트리를 제거하는 방법으로서, 각각의 처리기는 각각의 TLB에 대해 판독 및 기록을 제어하는 구비하며, 상기 페이지 테이블 엔트리는 제1어드레스 모드와 제2어드레스 모드 사이의 어드레스 맵핑을 표시하고, 상기 페이지 테이블 엔트리가 그의 제1모드 어드레스 및 처리식별에 의해 식별된, 페이지 테이블 엔트리 제거방법에 있어서,
    제1처리기에 결합된 제1 TLB에서 상기 제1어드레스 모드 및 상기 제2어드레스 모드 사이의 무효 어드레스 맵핑에 페이지 테이블 엔트리를 제공하는 단계 ;
    상기 페이지 테이블 엔트리를 상기 제1TLB로부터 제거하도록 상기 제1 TLB의 제1 제어기에 의한 요구패킷을 교부하는 단계 ;
    사전 설정된 소오스, 상기 제1어드레스 모드 및 처리식별을 특정하는 상기 요구 패킷을 가지며, 제2 TLB에 결합된 제2제어기로 진행될 상기 패킷-교환버스로 상기 요구패킷을 송신하는 단계 ;
    상기 패킷-교환 버스상에 상기 제2제어기에 의한 상기 요구패킷을 수신하는 단계 ;
    상기 제1모드 어드레스와 처리식별을 비교함으로써 상기 제2 TLB가 상기 페이지 테이블 엔트리를 포함하는가를 결정하도록 상기 제2제어기에 의해 검사하는 단계 ;
    소정의 보류동작을 상기 제2제어기에 대하여 완료하는 단계 ;
    상기 페이지 테이블 엔트리가 상기 제2 TLB에 포함되면, 상기 제2제어기에 의한 상기 제2TLB로부터 상기 페이지 테이블 엔트리를 제거하는 단계 ;
    상기 제1제어기에 대한 완료를 지시하도록 상기 제2제어기에 의해 회답 패킷을 교부하는 단계 ;
    상기 소오스를 식별하는 회답 패킷을 가지고 상기 제1제어기로 진행될 상기 패킷-교환 버스에 회답 패킷을 송신하는 단계를 포함한 것을 특징으로 하는 페이티 테이블 엔트리 제어방법.
  2. 제1항에 있어서, 상기 요구 패킷 수신 단계는 상기 소오스를 특정하는 회답 패킷을 가지며, 상기 패킷 교환 버스를 통해 상기 요구 패킷을 수신할때 상기 제1제어기로 상기 제2제어기에 의한 회답 패킷을 송신하는 단계를 더욱이 포함한 것을 특징으로 하는 페이지 테이블 엔트리 제거방법.
  3. 제2항에 있어서, 요구패킷을 교부하는 단계는 헤더 및 데이타사이클을 송신하는 단계를 더욱이 포함하는데, 상기 헤더사이클은 상기 사전설정된 수신지 및 소오스를 특정하고, 상기 데이타 사이클은 상기 페이지 테이블 엔트리의 상기 제1모드 어드레스 및 처리식별을 특정하는 것을 특징으로 하는 페이지 테이블 엔트리 제거방법.
  4. 제3항에 있어서, 상기 소오스를 갖는 회답패킷을 위해 상기 제1제어기에 의한 상기 패킷-교환 버스상에 안착하는 단계를 더욱이 포함한 것을 특징으로 하는 페이지 테이블 엔트리 제거방법.
  5. 제4항에 있어서, 상기 제1모드 어드레스 및 제2모드 어드레스는 각각 가상 어드레스 및 물리적 어드레스인 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 상기 요구패킷은 상기 패킷 교환 버스를 통해 상기 패킷 교환 버스에 결합된 모든 다른 제어기로 송신되며, 상기 모든 다른 제어기는 상기 사전설정되 수신지에 대한 상기 패킷-교환 버스상에 안착되는 것을 특징으로 하는 페이지 테이블 엔트리 제거방법.
  7. 제6항에 있어서, 상기 사전설명된 수신자는 상기 요구패킷에서 전부 0에 의해 표시된 것을 특징으로 하는 페이지 테이블 엔트리 제거방법.
  8. 분배된 메모리를 갖는 다중처리기 시스템에서 다수의 처리기에 결합된 다수의 번역 룩어사이드 버퍼로부터 다수의 페이지 테이블 엔트리중 하나를 제거하는 회로로서, 각각의 번역 룩어사이드 버퍼가 다수의 페이지 테이블 엔트리를 기억하고 각각의 상기 다수의 페이지 테이블 엔트리가 가상-물리적 어드레스 맵핑을 표시하고, 각각의 페이지 테이블 엔트리가 그의 처리식별 및 가상 어드레스에 의해 식별되는 테이블 엔트리중 하나를 제거하는 회로에 있어서,
    데이타 및 명령패킷을 전송함으로써 상기 다중처리기 시스템에서 상기 다수의 처리기를 결합하는 패킷 교환 버스와 ;
    데이타 및 명령패킷을 송신하는 상기 패킷-교환 버스와 각각의 처리기에 결합된 송신 및 수신수단을 포함하는데, 상기 송신 및 수신수단은 데이타 및 명령패킷용 상기 패킷-교환 버스에 대해 그의 대응처리기를 가지며 수신지로서 안착되고, 데이타 및 명령 패킷을 수신하는 상기 송신 및 수신수단이 사전설정된 수신지 어드레스를 가지며, 상기 송신 및 수신수단이 상기 요구의 수령시 상기 패킷교환 버스에 제1회답패킷을 교부하며 ;
    각각의 처리기의 상기 송신 및 수신수단과 대응하는 번역 룩어사이드 버퍼에 결합되어 그의 번역 룩어사이드 버퍼를 판독 및 기록하기 위한 제어기수단을 포함하는데, 상기 제어기수단은 대응하는 가상-물리적 어드레스 맵핑이 상기 페이지 테이블 엔트리를 갖는 상기 다수의 번역 룩어사이드 버퍼로부터 무효화될 경우 상기 페이지테이블을 제거하도록 요구패킷을 교부하고, 페이지 테이블 엔트라기 제거되었음을 지시하도록 상기 패킷-교환 버스에 회답패킷을 교부하는 것을 특징으로 하는 다수의 테이블 엔트리중 하나를 제거하는 회로.
  9. 패킷 교환 버스에 전송되는 데이터 및 명령패킷을 갖는 다중처리기 시스템의 다수의 처리기에 결합된 다수의 번역 룩어사이드 버퍼("TLB")로부터 페이지 테이블 엔트리를 제거하는 장치로서, 각각의 처리기는 각각의 TLB에 대해 판독 및 기록을 제어하는 제어기를 구비하며, 상기 페이지 테이블 엔트리는 제1어드레스 모드와 제2어드레스 모드 사이의 어드레스 맵핑을 표시하고, 상기 페이지 테이블 엔트리가 그의 제1모드 어드레스 및 처리식별에 의해 식별되며, 상기 페이지 테이블 엔트리가 제1처리기에 결합된 제1 TLB에서 상기 제1어드레스 모드 및 상기 제2어드레스 모드 사이의 무효 어드레스 맵핑을 갖는 페이지 테이블 엔트리 제거장치에 있어서,
    상기 페이지 테이블 엔트리를 상기 제1 TLB로부터 제거하도록 상기 제1TLB 의 제1제어기에 의한 요구패킷을 교부하는 수단 ;
    사전 설정된 소오스, 상기 제1어드레스 모드 및 처리식별을 특정하는 상기 요구 패킷을 갖는 제2TLB에 결합된 제2제어기로 진행될 상기 패킷-교환 버스로 상기 요구패킷을 송신하는 수단 ;
    상기 패킷-교환 버스에 대해 상기 제2제어기에 의한 상기 요구패킷을 수신하는 수단 ;
    상기 제1모드 어드레스와 상기 처리식별을 비교함으로써 상기 제2 TLB가 상기 페이지 테이블 엔트리를 포함하는가를 결정하는 상기 제2제어기에 결합된 비교수단 ;
    소정의 보류동작을 상기 제2제어기에 대하여 완료하는 수단 ;
    상기 페이지 테이블 엔트리가 상기 제2 TLB에 포함되면 상기 제2제어기에 의한 상기 제2 TLB로부터 상기 페이지 테이블 엔트리를 제거하는 수단 ;
    상기 제1제어기에 대한 완료를 지시하도록 상기 제2제어기에 의해 회답패킷을 교부하는 수단 ;
    상기 소오스를 식별하는 회답패킷을 가지며, 상기 제1제어기로 진행될 상기 패킷-교환 버스에 회답패킷을 송신하는 수단을 포함한 것을 특징으로 하는 페이지 테이블 엔트리 제거장치.
  10. 제9항에 있어서, 상기 수신수단은 상기 소오스를 특정하는 상기 회답패킷을 가지며, 상기 패킷 교환 버스를 통해 상기 요구패킷을 수신할때 상기 제1제어기로 상기 제2제어기에 의한 회답패킷을 송신하는 수단을 더욱이 포함한 것을 특징으로 하는 페이지 테이블 엔트리 제거장치.
  11. 제10항에 있어서, 상기 교부수단은 헤더 및 데이타사이클을 송신하는 수단을 더욱이 포함하는데, 상기 헤더사이클은 상기 사전 설정된 수신지 및 소오스를 특정하고, 상기 데이타사이클은 상기 페이지 테이블엔트리의 상기 제1모드 어드레스 및 처리식별을 특정하는 것을 특징으로 하는 페이지 테이블 엔트리 제거장치.
  12. 제11항에 있어서, 상기 소오스를 갖는 회답패킷을 위해 상가 제1제어기에 의한 싱기 패킷-교환 버스상에 안착하는 수단을 더욱이 포함한 것을 특징으로 하는 페이지 테이블 엔트리 제거장치.
  13. 제12항에 있어서, 상기 제1모드 어드레스 및 제2모드 어드레스는 각각 가상 어드레스 및 물리적 어드레스인 것을 특징으로 하는 페이지 테이블 엔트리 제거장치.
  14. 제9항에 있어서, 상기 요구패킷은 상기 패킷 교환 버스를 통해 상기 패킷 교환 버스에 결합된 모든 다른 제어기로 송신되며, 상기 모든 다른 제어기는 상기 사전설정된 수신자에 대한 상기 패킷-교환 버스상에 안착되는 것을 특징으로 하는 페이지 테이블 엔트리 제거장치.
  15. 제14항에 있어서, 상기 사전설정된 수신지는 상기 요구패킷에서 전부 0에 의해 표시되는 것을 특징으로 하는 페이지 테이블 엔트리 제거장치.
KR1019930006394A 1992-04-17 1993-04-16 다중처리기 컴퓨터 시스템의 메모리페이지를 할당해제하는 브로드 캐스트 디맵 KR100278034B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US870,357 1978-01-18
US87035792A 1992-04-17 1992-04-17

Publications (2)

Publication Number Publication Date
KR930022215A KR930022215A (ko) 1993-11-23
KR100278034B1 true KR100278034B1 (ko) 2001-01-15

Family

ID=25355212

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930006394A KR100278034B1 (ko) 1992-04-17 1993-04-16 다중처리기 컴퓨터 시스템의 메모리페이지를 할당해제하는 브로드 캐스트 디맵

Country Status (2)

Country Link
JP (1) JPH06282492A (ko)
KR (1) KR100278034B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3054384B1 (en) 2015-02-04 2018-06-27 Huawei Technologies Co., Ltd. System and method for memory synchronization of a multi-core system

Also Published As

Publication number Publication date
JPH06282492A (ja) 1994-10-07
KR930022215A (ko) 1993-11-23

Similar Documents

Publication Publication Date Title
US5497480A (en) Broadcast demap for deallocating memory pages in a multiprocessor system
EP0423453B1 (en) Address translation and copying process
US6430657B1 (en) Computer system that provides atomicity by using a tlb to indicate whether an exportable instruction should be executed using cache coherency or by exporting the exportable instruction, and emulates instructions specifying a bus lock
EP0447145B1 (en) User scheduled direct memory access using virtual addresses
US6920521B2 (en) Method and system of managing virtualized physical memory in a data processing system
US5123094A (en) Interprocessor communications includes second CPU designating memory locations assigned to first CPU and writing their addresses into registers
US7360054B2 (en) Method and apparatus for direct conveyance of physical addresses from user level code to peripheral devices in virtual memory systems
EP0549924A1 (en) Asynchronous co-processor data mover method and means
US6904490B2 (en) Method and system of managing virtualized physical memory in a multi-processor system
EP0303648B1 (en) Central processor unit for digital data processing system including cache management mechanism
US20040073765A1 (en) Method and system of managing virtualized physical memory in a memory controller and processor system
US20040117588A1 (en) Access request for a data processing system having no system memory
JPS6248258B2 (ko)
JPH0619786A (ja) キャッシュコヒーレンスを維持する方法及び装置
JP2695017B2 (ja) データ転送方式
US5339397A (en) Hardware primary directory lock
US5459872A (en) Software control of hardware interruptions
US6647468B1 (en) Method and system for optimizing translation buffer recovery after a miss operation within a multi-processor environment
JPH10143431A (ja) マイクロプロセッサおよびコンピュータシステムにおけるデータのキャッシング方法
US5727179A (en) Memory access method using intermediate addresses
KR100278034B1 (ko) 다중처리기 컴퓨터 시스템의 메모리페이지를 할당해제하는 브로드 캐스트 디맵
EP1314090B1 (en) Method and system for translation lookaside buffer coherence in multi-processor systems
US20040117583A1 (en) Apparatus for influencing process scheduling in a data processing system capable of utilizing a virtual memory processing scheme
EP0389886A2 (en) Ring reduction logic mechanism
EP1262876B1 (en) Multiprocessing system with shared translation lookaside buffer

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: 20061011

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee