[go: up one dir, main page]

KR930009092B1 - 가상 메모리 어드레싱을 채택한 데이타 처리 시스템에서의 페이지 프레임 교체 장치 및 방법 - Google Patents

가상 메모리 어드레싱을 채택한 데이타 처리 시스템에서의 페이지 프레임 교체 장치 및 방법 Download PDF

Info

Publication number
KR930009092B1
KR930009092B1 KR1019870005362A KR870005362A KR930009092B1 KR 930009092 B1 KR930009092 B1 KR 930009092B1 KR 1019870005362 A KR1019870005362 A KR 1019870005362A KR 870005362 A KR870005362 A KR 870005362A KR 930009092 B1 KR930009092 B1 KR 930009092B1
Authority
KR
South Korea
Prior art keywords
page
data
descriptor
signals
main memory
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 - Fee Related
Application number
KR1019870005362A
Other languages
English (en)
Other versions
KR870011534A (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 KR870011534A publication Critical patent/KR870011534A/ko
Application granted granted Critical
Publication of KR930009092B1 publication Critical patent/KR930009092B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • G06F12/125Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being generated by decoding an array or storage
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

내용 없음.

Description

가상 메모리 어드레싱을 채택한 데이타 처리 시스템에서의 페이지 프레임 교체 장치 및 방법
제 1 도는 본 발명을 이용할 수 있는 데이타 처리 시스템의 블록도.
제 2 도는 주 메모리 유닛을 다수의 메모리 위치 그룹들로 분할하여 도시한 다이아그램.
제 3a 도는 페이지 프레임 디스크립터 데이블과 페이지 테이블간의 관계를 도시한 다이아그램.
제 3b 도는 페이지 디스크립터 비트 위치들의 할당을 도시한 다이아그램.
제 3c 도는 상기 페이지 디스크립터 내의 상태 신호들을 도시한 다이아그램.
제 4 도는 교체 명령의 비트 위치에 대한 다이아그램.
제 5 도는 전환 테이블의 엔트리들.
제 5a 도는 제 5a 도의 전환 테이블을 사용한 일예를 도시한 도면.
제 6 도는 상기 교체 명령을 실행하는 실행유닛의 블록도.
제 7 도는 교체 명령이 소프트웨어에 의해 처리되는 순서를 나타낸 플로우챠트.
제 8 도는 액세스를 제한하기 위해 섹터들로 분할된 주 메모리 유닛을 도시한 도면.
* 도면의 주요부분에 대한 부호의 설명
(10), (11) : 프로세서 (12), (13) : 주뱐접속유닛
(14) : 주 메모리 유닛 (19) : 시스템 버스
(31) : 페이지 프레임 디스크립터 (34) : 페이지 테이블
본 발명은 데이타 처리 시스템에 관한 것으로, 특히 주 메모리 유닛과 대화하도록 가상 어드레싱 기술을 사용하는 중앙처리장치를 다수개 가진 데이타 처리 시스템에 관한 것이다.
최근, 데이타 처리 시스템은 통상 계층구조식 메모리 시스템을 사용하고 있다. 데이타 처리 시스템에 의해 액세스 가능한 데이타 벌크가 자기 테이프, 자기 디스크 또는 대용량의 디지탈 정보를 기억할 수 있는 다른 매체와 같은 대용량 기억 매체에 기억된다. 이러한 매체들은 중앙처리장치가 기억된 데이타를 직접 에드레싱하기에는 그 속도가 너무 늦다. 통상 주 메모리 유닛으로 언급되는 메모리 유닛은 고속기술로 실시되는 기억장치로서 데이타 처리 시스템에 의해 요구되는 데이타부를 기억한다(본 발명에 직접 관련되지는 않았지만, 고속 메모리는 데이타를 중앙처리장치에 즉시 기억시키는데 이용되는 것으로, 데이타 처리장치에 통상 내장되는 중앙처리장치속에 위치한다. 상기 프로세서내의 상기 메모리 장치는 버퍼 또는 캐쉬 메모리라 할 수 있다.)
오퍼레이팅 시스템으로서의 각 프로세서는 상기 데이타 처리 시스템에 결합된 유용한 데이타 모두를 액세스하고, 필요한때 상기 데이타를 이용할 수 있다. 실제로는 프로세서의 이용 가능한 데이타 크기 때문에, 대용량 매체로부터 필요한 데이타를 검색하는 것은 실행처리에서 불리하다. 상기 데이타 처리 시스템에 의한 즉시 요건을 가진 데이타가 주 메모리 유닛내에 기억된다. 상기 주 메모리에 데이타를 모두 기억시키는 것은 불가능하기 때문에, 상기 데이타는 데이타 블록 즉, 주 메모리에 엔티티로서 입력되는 소위 페이지로 분할된다.
상기 가상 메모리 기술에 있어서, 데이타 처리 유닛이 작동될때 상기 오퍼레이팅 시스템은 주 메모리 유닛에서 이용가능한 스페이스를 할당해둔다. 주 메모리 스페이스는 프로그램, 테이블 및 데이타 처리 시스템의 동작을 필요로 하는 오페레이팅 시스템의 일부분에 할당된다. 메모리내의 상기 영역에 기억된 내용은 주 메모리에 기억된 나머지 데이타를 나타내는 내용과 대치될수 없다. 상기 메모리 유닛에 기억된 나머지 데이타는 데이타처리 시스템에 필요한 관련 데이타 신호 그룹이 기억될수 있는 블록들로 동일하게 분할된다. 이러한 데이타 신호 블록들은 페이지 프레임으로서 언급된다. 각 페이지 프레임은 페이지 프레임 디스크립터로서 언급되는 관련 신호 테이블에서 데이타 신호 그룹과 결합된다. 상기 오퍼레이팅 시스템은 페이지 프레임 디스크립터를 참조할수 있고, 상기 페이지 프레임 디스크립터는 관련 페이지 디스크립터의 위치를 식별하거나 지적한다. 상기 페이지 디스크립터는 원래 정보가 기억되는 실제 또는 물리적 어드레스에 대해, 데이타 처리 시스템의 프로세서에 의해 처리되는 가상 또는 기호 어드레스에 관련된 정보를 포함한다. 또한, 상기 각 페이지 디스크립터에는 상태 정보에 관련한 신호도 결합된다. 상기 페이지 프레임 디스크립터는 페이지 프레임의 순서 결정 방식을 결정하는 기설정된 알고리듬에 따라, 페이지 프레임 순서를 나타내는 링커로서 소정 위치내의 데이타 신호들도 포함한다.
상기 데이타 처리 시스템의 초기화 설정후, 프로세서는 데이타 신호그룹을 필요로 한다. 소프트웨어처리는 상기 물리적 어드레스와 필요한 데이타 신호 그룹에 대한 기호 어드레스를 연관시키는 정보를 제공하게 된다. 이러한 양에 관한 정보는 페이지 디스크립터에 기억된다. 상기 적합한 정보가 제 1 페이지 프레임을 지시하는 페이지 프레임 디스크립터의 링거부로 입력된다. 다른 페이지 프레임들이 추가 입력될때, 상기 링커 정보는 페이지 프레임의 순서를 식별하게 된다. 모든 페이지 프레임들이 데이타에 의해 점유된 후, 프로세서는 새로운 데이타에 대한 액세스를 계속 요구하게 되므로, 이미 데이타를 내포한 페이지 프레임은 구데이타(old data)를 신데이타(new data)로 교체시키는 동작을 계속 요구한다. 따라서, 본 발명은 상기 페이지 프레임 데이타 고체실시에 관한 것이다.
상기 링커 정보로부터 다음 순서로 오게될 페이지 프레임이 결정될 수 있다. 상기 링커 정보를 기초로해서, 상기 페이지 프레임에 결합된 페이지 디스크립터가 식별될 수 있고, 상기 페이지 디스크립터는 상기 프로세서내로 입력될 수 있다. 종래의 소프트웨어 제어하에서, 상기 프로세서는 상기 페이지 디스크립터내의 상태 신호들에 대한 값을 검사하고, 이 신호값을 기초로 해서 상기 페이지 프레임내의 데이타가 교체되었는지의 여부를 판정했다. 예컨대, 가장 최근에 사용된 데이타를 교체시키는 것이 가장 적절한 데이타 교체 전략이었던 사실에 비추어 볼때 상태 신호는 자주 사용되는 신호이다. 가장 최근에 사용된 데이타 교체 전략을 실시하기 위해서는, 허용할 수 없을 정도의 오버헤드 처리량이 요구된다. 전형적인 데이타 교제전략은 미리 설정된 절차에 따라 "사용된 데이타"신호를 제거하고, 페이지 프레임에 관련된 데이타가 사용될때마다 "사용된 데이타"신호를 상기 페이지 디스크립터에 세트시키는 것이다. 이 방식에 있어서, 상기 소프트웨어 처리는 상기 데이타가 미리 설정된 주기내에서 사용되었는지 그 여부를 판정해낼 수 있다.
그러나, 상기 페이지 프레임에는 다른 상태 신호들이 결합될 수 있다. 상태 신호들의 다양성 때문에, 결합된 데이타 그룹교체 여부에 대한 판정을 제공하는 소프트웨어 처리는 복잡하고, 허용할 수 없는 처리량을 필요로 한다.
상기 데이타 처리 시스템의 동작을 제어하는 프로그램이 주 메모리내에 현재 기억되지 않은 데이타 신호그룹을 필요로할때, 알고리듬 교체가 요망된다. 종래 기술에 있어서, 알고리듬 교체는 몇몇 상태신호들에 대한 해석을 필요로 하는 소프트웨어 처리에 의해 실행되었다. 교체될 페이지 프레임 데이타를 결정하는 동안, 전환처리중 데이타 사용을 방지하기 위해 디스크립터에 대한 액세스를 막는다. 데이타 전환 기간중 액세스를 방지하는 기술이란, 메모리의 메모리부를 "록"하는 것으로, 상기 메모리 록은 주 메모리 또는 그 메모리에서 선택된 부분의 액세스를 방지한다. 상기 기술은 프로세서에 의해 사용되는 데이타가 적절히 사용되는 것을 보장하지만, 알고리듬 교체 소프트웨어의 실행속도가 비교적 느리기 때문에 데이타 처리 시스템의 성능에 심한 타격을 준다(본 기술에 숙련된 자에겐 명백하지만, 실질적인 이유로는 상기 메모리 록은 통상 여러개의 메모리 위치를 수반한다). 따라서, 교체 알고리듬에 의해 해석된 특정 위치가 액세스되지 않을지라도 상기 성능은 타격을 입는다.
교체 알고리듬을 실행하는 도중 주 메모리부에 대한 할당을 제거하기 위해서는, 주 메모리부에 대한 할당없이 교체 실시가 허여되는 기술을 사용해야 한다. 본 기술에 따르면, 교체 알고리듬이 실행중인 동안 페이지 프레임 헤더의 상태 신호가 변화하면, 페이지 프레임 교체 선택이 특정 동작에 대해 이루어진 후 판단이 결정된다. 상기 기술은 데이타 처리 시스템에서 복잡해진다.
따라서, 현재 기억된 데이타를 상기 데이타 처리 시스템에 의해 요구된 새로운 데이타로 교체시키기에 적합한 주 메모리 위치를 판단해내는 기술이 요망된다.
본 발명의 제 1 목적은 개선된 프로세싱 시스템을 제공하는 것이다.
본 발명의 제 2 목적은 데이타 그룹과 관련된 상태 신호를 기초로 해서 미리 설정된 기준에 따라, 데이타 처리시스템의 주메모리 내의 데이타 그룹의 교체를 제공하고자하는 것이다.
본 발명의 제 3 목적은 해석용 소프트웨어를 사용하지 않고서는 해석 신호 또는 상태 신호그룹을 제공하고자 하는 것이다.
전술한 목적들은 주 메모리 유닛의 이용 가능도에 미치는 충격을 최소로 하면서 원래 상태 신호를 기초로한 새로운 상태 신호들을 발생하는 정보들을 상기 데이타 처리 시스템에 제공함으로써 달성된다.
페이지 프레임 교체 처리중 교체가 적합한지에 대해 검사 및 다음 페이지 프레임에 결합된 페이지 디스크립터는 상기 프로세서에 전송된다. 따라서, 교체 판단 알고리듬을 실행하는 정보는 결국 상태 신호 값에 대한 테이블과 관련한다. 상기 페이지 디스크립터의 상태 신호들은 상기 명령 테이블에서 적합한 엔티티를 선택해내는데 사용된다. 선택된 상태 신호들은 관련 페이지 프레임 데이타의 교체 여부를 나타내며, 상기 선택된 상태 신호들은 프로세서에 의해 요구된 다른 활성을 지시하는데 사용된다. 선택된 상태 신호들은 디스크립터 및 주메모리내에 기억된다. 본 발명의 이러한 특징들은 도면을 참조하여 하기와 같이 기술되는 기술내용을 읽어내려가면 이해될 수 있으리라 생각된다.
이하, 도면을 참조하여 본 발명에 대해 설명한다. 제 1 도는 본 발명에 따른 데이타 처리 시스템을 도시한 것으로, 상기 데이타 처리 시스템은 적어도 1개의 프로세서(10, 11), 주메모리 유닛(14), 적어도 1개 주변 접속 유닛(12, 13)과 시스템 버스(19)를 포함한다. 제 1 도에 도시된 데이타 처리 시스템에 있어서, 상기 주 메모리는 상기 프로세서에 의해 처리될 데이타 신호그룹을 기억한다. 상기 데이타 처리 시스템의 초기화 설정동작중, 상기 주메모리(14) 유닛에서는 상기 주 메모리의 기억 스페이스가 여러 영역으로 나뉘어지며, 각 영역은 미리 설정된 로직 신호들의 양을 기억한다. 또한, 상기 주메모리 유닛은 프로세서들에게 액세스될 수 있는 파일용으로 남겨진 어떤 영역도 갖는다. 다수의 프로세서들용으로 사용된 공동 주메모리 유닛은 "조밀하게 결합된" 시스템으로서 기술된다.
이하, 제 2 도를 참조하여 설명한다. 제 2 도는 주메모리의 정렬상태를 개략적으로 도시한 것으로, 이 정렬은 통상 데이타 처리 시스템의 초기화 설정중 설정된다. 영역(21)은 오퍼레이팅 시스템, 프로그램 및 상기 데이타 처리 시스템에 의해 요구된 테이블용으로 통상 남겨진다. 상기 주메모리내의 나머지 위치들은 페이지 프레임 그룹으로 분할된다. 제 2 도에는 페이지 프레임이 페이지 프레임 #1(22)에서 페이지 프레임 #0까지 도시되어 있다. 제 2 도에 도시된 주메모리의 위치 정렬은 이상적인 정렬을 도시한 것이다. 통상, 영역(21)은 주메모리 유닛에서 단락화되고 분산화된다. 상기 페이지 프레임에 번호를 부여하는 것은 임의적으로 할수 있고, 그 번호는 주 메모리 유닛내의 물리적 위치를 나타낸다.
제 3a, 제 3b 및 제 3c 도에는 본 발명에 중요한 테이블들이 도시되어 있다. 제 2 도에 도시된 페이지 프레임 디스크립터(31)에 대한 테이블이 데이타 처리 시스템의 초기화 동작중에 설정된다. 각 페이지 프레임 디스크립터는 제 2 도의 페이지 프레임들(22,23)중 하나에 결합된다. 상기 페이지 프레임 디스크립터의 목적은 관련 페이지 프레임에 현재 기억된 데이타의 물리적 어드레스를 식별하기 위한 것이다. 이 식별 업무는 페이지 테이블(34)에 대한 포인터를 제공함으로써, 특히 상기 페이지 프레임에 현재 기억된 데이타와 결합된 페이지 디스크립터(35)에 대한 포인터를 제공하므로써 달성된다. 상기 페이지 프레임 디스크립터도 다른 페이지 프레임에 관련된 페이지 프레임 순서를 결정하는 그룹 위치들을 포함한다. 페이지 프레임내의 데이타가 교체될때 페이지 프레임들의 순서를 결정하는 링커는 방금 교체된 데이타를 가진 페이지 프레임이 재차 검토되기 전에, 주메모리내의 나머지 모든 페이지 프레임들이 데이타 교체를 위해 재검토 된다. 제 3b 도는 제 3a 도에서 도시된 페이지 디스크립터(35)의 구조를 도시한 것이다. 상기 페이지 디스크립터는 상태신호(비트 위 0 내지 3)와 상기 페이지 프레임을 식별해내는 상태신호들(비트 위치 4 내지 23)을 포함한다. 제 3c 도는 양호한 실시예에서 상태 비트들에 대한 식별명을 도시한 것이다. 제 1 위치의 비트는 유효비트로서, 상기 데이타 페이지가 페이지 프레임내의 주메모리 데이타내의 페이지 프레임 일때를 나타낸다. 제 2 위치의 비트는 사용비트로서, 상기 관련 페이지 프레임내의 데이타가 액세스될 때마다 세트되는 비트이다. 제 3 위치의 비트는 수정비트로서, 이 비트 위치에는 상기 페이지 프레임내의 데이타와 상기 페이지 프레임이 추출된 후의 데이타와의 차이가 기억되어 있다. 제 4 위치의 비트는 상태 비트로서, 미래 상태 해석용으로 남겨진다.
제 4 도에는 교체 알고리듬을 실행하기 위한 명령의 구조가 도시되어 있다. 제 1의, 16비트 그룹은 상기 명령의 동작코드를 식별하는데 사용된다. 제 2의 16비트 그룹과 추가 가능한 16비트 데이타 신호그룹들은 상기 페이지 디스크립터에 대한 포인터를 제공한다. 마지막 제 4의 16비트 그룹은 전환테이블을 형성한다.
제 5a 도에는 본 실시예에 따른 전환 테이블의 엔트리들이 도시되어 있다. 상기 전환 테이블 엔트리들은 16진법으로 표시된다. 제 5b 도는 실제 전환을 도시한 것으로, 페이지 디스크립터의 상태신호들이 교체 알고리듬에 의해 어떤 방식으로 수정되는가를 나타내고 있다.
제 6 도에는 상기 명령을 실행하는 실행유닛이 도시되어 있다. 프로세서의 실행 유닛에서, 명령레지스터(61)는 상기 명령의 동작 코드에 의해 결정되는 데이타 신호들로 로드된다. 상기 명령 레지스터로부터의 신호들은 디코드 및 제어장치(62)에 인가된다. 상기 디코드 및 제어장치(62)의 출력신호들은 어드레싱 장치(63)에 인가된다. 디코드 및 제어장치(62)의 제어하에서, 워킹 레지스터(60)의 레지스터(64)에 기억되어 있는 검색된 페이지 디스크립터로부터의 상태신호들은 상기 명령과 관련된 전환 테이블내의 엔트리를 어드레스하기 위한 어드레스 신호로서 사용된다. 어드레싱 장치(63)를 거친 상태신호들에 의해 어드레스된 엔트리는 상기 페이지 디스크립터내에 기억될 상태 신호들을 제공한다. 상기 신호 해석 유닛(66)은 교체 페이지 프레임을 식별하기 위해 사용되고, 상기 페이지 프레임에 요구된 정보 페이지를 기억시키기 위한 처리를 준비하는데 사용된다.
제 7 도에 도시된 플로우챠트는 관련된 페이지 프레임의 교체 여부를 결정하기 위해, 페이지 디스크립터들을 검사하기 위한 플로우챠트이다. 이하 제 7 도에 도시된 플로우챠트에 대해 설명한다. 스텝(700)에서 상기 공정이 시작된후, 예컨대 제 4 도에 도시된 명령을 실행함으로써, 다음 페이지 디스크립터가 선택된다. 상기 선택은 제 3a 도에 도시된 링커 메모리 위치들(34)에 의해 결정된다. 양호한 실시예에 있어서, 상기 링커는 교체 알고리듬에 의해 검사되지 않고 남아있는 페이지 디스크립터를 선택한다. 검사될 페이지 디스크립터가 선택되면, 스텝(702)에서 페이지 디스크립터의 일부분을 형성하는 상태 신호들이 주메모리로부터 검색된다. 스텝(703)에서 유효 상태 신호가 검사된다. 만약, 상기 유효 상태 신호가 네가티브 값이면, 스텝(704)에서 페이지 디스크립터는 변경되지 않고, 프로그램은 스텝(701)으로 진행해서 다음 페이지 디스크립터를 선택한다.
그러나, 상기 유효 상태 신호가 포지티브값이면, 스텝(705)에서 사용신호가 검사된다. 상기 사용 신호가 포지티브 값이면, 스텝(706)에서 상기 사용 비트 위치는 네가티브 값으로 변화되고, 새로운 상태 신호들이 주메모리내의 적절한 페이지 디스크립터 위치들에 기억된다. 그리고서 프로그램은 스텝(701)으로 복귀해서 검사하기 위한 다음 디스크립터를 선택한다.
상기 사용 신호가 네가티브 값이면, 스텝(707)에서 수정 상태 신호가 검사된다. 상기 수정 상태 신호가 포지티브값이면, 스텝(708)에서 상기 수정 비트는 네가티브값으로 변화되고 동시에 상기 페이지 프레임 데이타로부터 유도된 데이타와 일치하는 페이지 프레임내의 데이타를 생성하도록 지령이 발생된다.
상기 수정 상태신호가 네가티브 값이면, 관련 페이지 프레임은 교체하기에 적합한 프레임이다. 스텝(709)에서, 상태신호들은 모두 네가티브값으로 변경되고, 이러한 값들은 상기 페이지 디스크립터내의 적절한 위치에 기억된다. 상기 페이지 디스크립터는 무효화되고, 상기 페이지 프레임내의 데이타는 요구된 데이타페이지로 교체된다. 스텝(710)에서, 상기 페이지 디스크립터는 상기 페이지 프레임에 새로 기억된 데이타를 표시하기 위해 수정된다. 상기 페이지 디스크립터는 상기 페이지 프레임 디스크립터내의 링커를 통해 페이지 프레임의 순서로 교체되고, 스텝(711)에서 페이지프레임내의 데이타 교체 처리는 종료된다.
이제, 제 8 도를 참조하여 설명한다. 주 메모리 유닛은 2개의 콘트롤러(A,B)에 의해 제어된다. 각 메모리 콘트롤러는 메모리의 절반을 각기 제어한다. 각 콘트롤러는 관련된 메모리 위치들을 다수의 섹터(83)로 분할한다. 각 섹터에 대한 액세스는 관련 메모리 콘트롤러에 의해 제어될 수 있다. 따라서, 예컨대, 메모리 위치가 변경되는 처리에속하면, 상기 콘트롤러는 상기 메모리 콘트롤러에 관련된 전체 영역의 액세스를 제한하지 않고 특정 섹터에 대한 액세스 보호할 수 있다. 비용 및 복잡성의 문제 때문에, 개개의 메모리 위치들에 대한 액세스제어는 거의 실행되지 않는다. 이같은 이유때문에 특정 메모리 위치에 대한 액세스를 제한하면 다양한 메모리 위치들에 액세스를 제한하게 되고, 꽤 긴시간 액세스를 제한하면 상기 데이타 처리 시스템에 성능에 타격을 준다.
본 발명은 페이지 교체 알고리듬의 효과적인 판단을 제공함으로써 메모리에 기억된 내용을 변경하는 동안 프로세서들에 의한 주메모리의 액세스에 관한 문제점을 해결한다. 상기 알고리듬이 실행되는 동안 예약된 주메모리의 일부분이 상기 방식으로 짧은 시간동안만 예약되므로, 데이타 처리 시스템에 미치는 타격이 아주 줄어든다. 페이지 프레임 교체 대한 판정은 허용할 수 없는 시간동안 주메모리의 섹션들에 대한 억세스를 제한할 수 있는 소프트웨어가 아닌, 명령에 의해 이루어지면, 이 경우에 상기 페이지 프레임에 결합된 상태 신호들은 테이블에서 엔트리를 결정하기 위한 어드레스 신호로서 사용된다. 상기 테이블은 상기 명령 그 자체와 관련하고 있다. 상기 명령내의 엔트리들은 비교적 단시간내에 결정된다. 새로운 또는 결과적인 상태 신호들은 상기 디스크립터내에 즉시 기억된다. 새로운 상태 신호들이 관련된 페이지 프레임의 사용을 금지시키기 때문에, 상기 페이지 디스크립터를 포함하는 주 메모리 섹터에 대한 액세스를 제한하는 메모리 메커니즘은 제거될 수 있다. 이런 처리에 필요한 비교적 짧은 시간은 주메모리가 액세스될 가능성을 매우 희박하게 하고, 결과적으로 데이타 처리 시스템의 성능에 미치는 타격이 극히 줄어든다.
소프트 웨어가 처리될때 알고리듬 실시의 중요한 특징은 상기 처리의 유연성이다. 예컨대, 만약 상태 신호의 다른 해석이 요구되면, 이 해석은 상기 소프트웨어 처리에서 관련 스텝을 변경시키는 것에 의해 이루어질 수 있다. 이러한 유연성이 상태 신호 그룹들을 전송시키는 명령에 의해 본 발명에서 유지되는 것은 명백한 사실이다. 결과 신호들을 변경시키므로써, 유연성은 유지될 수 있다.
전술한 내용들은 양호한 실시예를 예시하고자 한 것이지, 본 발명을 어떤 범위로 제한하고자 하는 것은 아니다.
본 발명의 범위는 단지 하기의 특허청구 범위에 의해서만 한정된다. 또한, 전술한 내용으로부터, 본 발명은 본 기술 분야에 숙련된자에 의해 본 발명의 의의 및 범주내에서 여러 변경이 가능하다는 것을 알 수 있다.

Claims (10)

  1. 다수의 각 메모리의 위치들에 다수의 관련 상태 신호들이 기억된 데이타 처리 시스템에서, 알고리듬을 상기 상태신호들에 공급하는 것으로 인해 새로운 상태 신호들을 판단하는 장치에 있어서, 새로운 상태 신호들을 기억하고 상기 알고리듬을 실행하기 위한 명령, 상기 상태 신호들을 기억하는 위한 제 1 저장 장소, 상기 새로운 상태 신호들을 테이블로 기억하기 위한 제 2 저장장소, 상기 명령에 응답하고, 상기 기억된 상태 신호들을 이용하여 상기 기억된 상태 신호들과 상기 알고리듬을 실행하는 테이블 구조의 엔트리와의 관계인 상기 테이블 구조에서 엔트리를 어드레스하기 위한 어드레싱 장치를 구비하는 것을 특징으로 하는 새로운 상태 신호 판단 장치.
  2. 제 1 항에 있어서, 상기 상태 신호들은 데이타 페이지프레임에 관련되고, 상기 알고리듬은 데이타 페이지프레임이 새로운 데이타 페이즈프레임으로 교체될 수 있는 시기를 식별하는 것을 특징으로 하는 새로운 상태를 신호 판단 장치.
  3. 제 2 항에 있어서, 선택된 새로운 상태 신호에 응답해서 상기 기억된 상태 신호들과 결합된 상기 데이타 페이지 프레임을 새로운 데이타 페이지 프레임으로 교체시키는 장치를 아울러 구비하는 것을 특징으로 하는 새로운 상태 신호 판단 장치.
  4. 제 2 항에 있어서, 제 1 상태 신호들은 결합된 데이타 페이지 프레임의 사용과 관련하고, 제 2 상태 신호들은 결합된 데이타 페이지 프레임의 변경과 관련하는 것을 특징으로 하는 새로운 상태 신호 판단 장치.
  5. 데이타 처리 시스템에서 상기 데이타 처리 시스템의 주메모리내에서의 페이지 프레임 교체시기를 판단하는 방법에 있어서, 상기 교체시기를 결정하기 위해 주 메모리로부터 상태 그룹 신호들과 결합된 제 1 명령을 검색해내는 단계, 상기 상태 신호 그룹들의 제 1 명령을 테이블로 기억하는 단계, 선택된 페이지 프레임에 결합된 페이지 디스크립터를 검색하는 단계, 상기 명령 상태 신호 테이블의 엔트리를 액세스하기 위해 상기 디스크립터에 결합된 상태 신호들을 사용하는 단계, 및 상기 액세스된 명령 상태 신호 그룹이 교체 가능한 관련 페이지 프레임을 나타내는 시기를 식별하는 단계를 구비하는 것을 특징으로 하는 페이지 프레임 교체시기 판단방법.
  6. 제 5 항에 있어서, 상기 상태 신호들은 상기 디스크립터내의 테이블 엔트리로 교체시키는 단계를 아울러 구비하는 것을 특징으로 하는 페이지 프레임의 교체시기 판단 방법.
  7. 제 5 항에 있어서, 검색된 페이지 디스크립터가 교체용으로 접합하지 않을 때 가장 긴 시간동안 교체여부가 검사되지 않는 디스크립터를 검색하는 단계를 아울러 구비하는 것을 특징으로 하는 페이지 프레임의 교체 시기 판단 방법.
  8. 주 메모리내에 페이지 프레임 기억 데이타를 기억시킨 데이타 처리 시스템에서 데이타 신호들의 페이지 교체시기를 판단하기 위한 프로세서 장치에 있어서, 명령을 검색하기 위해 상기 프로세서에 결합된 검색장치를 구비하는데, 상기 명령은 다수개의 엔트리를 포함하고, 각 엔트리는 상기 프로세서내에 기억되고, 상기 검색 장치는 상기 데이타 페이지 신호들중 한 신호에 결합된 적어도 한 디스크립터의 기설정 필드를 검색하고, 상기 기설정된 필드는 상기 프로세서내에 기억되어 있으며, 상기 선택된 디스크립터 필드의 기설정된 필드에 응답해서 어드레스 필드를 형성하기 위한 어드레싱장치를 구비하는데, 상기 어드레싱 장치는 상기 어드레스 필드를 이용해서 엔트리들중에서 기설정된 한 엔트리를 어드레스하고, 상기 기설정된 엔트리는 교체 디스크립터 필드가 되며, 상기 대체필드에 응답해서 상기 프로세서에 신호를 제공하기 위한 결정장치를 구비하는데, 상기 결정 장치는 데이타 신호 페이지가 교체될 시기를 판단하는 것을 특징으로 하는 프로세서 장치.
  9. 제 9 항에 있어서, 상기 장치는 주 메모리에 상기 디스크립터의 교체 필드를 기억시키기 위한 장치를 아울러 구비하는 것을 특징으로 하는 프로세서 장치.
  10. 주메모리가 페이지 형태의 데이타 블럭을 기억하고, 디스크립터는 주메모리에 있는 각 페이지의 주메모리를 기억하며, 상기 디스크립터는 결합된 페이지의 현재 상태를 기술하는 정보를 포함하는 데이타 처리 시스템에서, 새로운 페이지가 주메모리로 입력될 시기에 교체되는 페이지를 판단하는 방법에 있어서, 동작코드, 페이지 디스크립터들중 하나는 액세스하는 어드레스 및 엔트리 테이블을 포함한 특별한 종류의 명령을 획득하는 단계와 ; 상기 동작코드 및 상기 어드레스를 제어함에 따라, 상기 디스크립터의 상태 정보를 연속적으로 액세스하는 단계와 ; 상기 테이블내의 엔트리를 액세스하기 위한 어드레스로서 각각의 상태 정보를 사용하는 단계와 ; 결합된 페이지가 대체될 수 있는지의 여부를 판단하기 위해 액세스된 각각의 엔트리를 테스트하는 단계를 구비하는 것을 특징으로 하는 페이지 판단 방법.
KR1019870005362A 1986-05-30 1987-05-29 가상 메모리 어드레싱을 채택한 데이타 처리 시스템에서의 페이지 프레임 교체 장치 및 방법 Expired - Fee Related KR930009092B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US869,146 1986-05-30
US06/869,146 US4833603A (en) 1986-05-30 1986-05-30 Apparatus and method for implementation of a page frame replacement algorithm in a data processing system having virtual memory addressing

Publications (2)

Publication Number Publication Date
KR870011534A KR870011534A (ko) 1987-12-24
KR930009092B1 true KR930009092B1 (ko) 1993-09-22

Family

ID=25353012

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870005362A Expired - Fee Related KR930009092B1 (ko) 1986-05-30 1987-05-29 가상 메모리 어드레싱을 채택한 데이타 처리 시스템에서의 페이지 프레임 교체 장치 및 방법

Country Status (19)

Country Link
US (1) US4833603A (ko)
EP (1) EP0250876B1 (ko)
KR (1) KR930009092B1 (ko)
CN (1) CN1010715B (ko)
AR (1) AR244897A1 (ko)
AT (1) ATE100613T1 (ko)
AU (1) AU597666B2 (ko)
BR (1) BR8702715A (ko)
CA (1) CA1284390C (ko)
DE (1) DE3788824T2 (ko)
DK (1) DK276887A (ko)
ES (1) ES2049721T3 (ko)
FI (1) FI90805C (ko)
IL (1) IL82681A0 (ko)
IN (1) IN167131B (ko)
MX (1) MX171149B (ko)
NO (1) NO174311C (ko)
PH (1) PH25271A (ko)
YU (1) YU99187A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2778786B2 (ja) * 1990-03-02 1998-07-23 富士通株式会社 データ更新・復元処理方式
US5386538A (en) * 1991-04-30 1995-01-31 Texas Instruments Incorporated Data cache access for signal processing systems
US5740448A (en) * 1995-07-07 1998-04-14 Sun Microsystems, Inc. Method and apparatus for exclusive access to shared data structures through index referenced buffers
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US6782464B2 (en) 2001-07-17 2004-08-24 International Business Machines Corporation Mapping a logical address to a plurality on non-logical addresses
US7242682B1 (en) 2002-10-09 2007-07-10 Storage Technology Corporation Hardware frame modifier apparatus and method for storage virtualization

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1548401A (en) * 1975-10-08 1979-07-11 Plessey Co Ltd Data processing memory space allocation and deallocation arrangements
US4084230A (en) * 1976-11-29 1978-04-11 International Business Machines Corporation Hybrid semiconductor memory with on-chip associative page addressing, page replacement and control
JPH0658646B2 (ja) * 1982-12-30 1994-08-03 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション デ−タ持続性が制御される仮想記憶アドレス変換機構

Also Published As

Publication number Publication date
FI872396A7 (fi) 1987-12-01
NO872263L (no) 1987-12-01
KR870011534A (ko) 1987-12-24
CN87104487A (zh) 1988-02-17
FI872396A0 (fi) 1987-05-29
DK276887A (da) 1987-12-01
AR244897A1 (es) 1993-11-30
IN167131B (ko) 1990-09-01
DK276887D0 (da) 1987-05-29
EP0250876A2 (en) 1988-01-07
NO174311C (no) 1994-04-13
CN1010715B (zh) 1990-12-05
DE3788824T2 (de) 1994-07-14
US4833603A (en) 1989-05-23
CA1284390C (en) 1991-05-21
BR8702715A (pt) 1988-03-01
NO174311B (no) 1994-01-03
PH25271A (en) 1991-03-27
AU7369387A (en) 1987-12-03
ES2049721T3 (es) 1994-05-01
YU99187A (en) 1990-06-30
EP0250876A3 (en) 1990-04-25
AU597666B2 (en) 1990-06-07
DE3788824D1 (de) 1994-03-03
FI90805B (fi) 1993-12-15
NO872263D0 (no) 1987-05-29
MX171149B (es) 1993-10-05
IL82681A0 (en) 1987-11-30
ATE100613T1 (de) 1994-02-15
EP0250876B1 (en) 1994-01-19
FI90805C (fi) 1994-03-25

Similar Documents

Publication Publication Date Title
US5809563A (en) Method and apparatus utilizing a region based page table walk bit
EP0213843B1 (en) Digital processor control
US5619671A (en) Method and apparatus for providing token controlled access to protected pages of memory
KR920005853B1 (ko) 페이지 분할형 가상 메모리 데이타 처리 시스템에서의 데이타 전송 방법
US5845129A (en) Protection domains in a single address space
US5628023A (en) Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view
US4835734A (en) Address translation apparatus
US5073851A (en) Apparatus and method for improved caching in a computer system
US6088780A (en) Page table walker that uses at least one of a default page size and a page size selected for a virtual address space to position a sliding field in a virtual address
GB2248327A (en) Fixed protection key for real storage memory
EP1027654A1 (en) A method and apparatus for implementing a page table walker with a sliding field
JPH0364890B2 (ko)
CA2058259C (en) Apparatus for increasing the number of hits in a translation lookaside buffer
US5437016A (en) Apparatus and method for translating logical addresses for virtual machines
US5924127A (en) Address translation buffer system and method for invalidating address translation buffer, the address translation buffer partitioned into zones according to a computer attribute
EP0403124A2 (en) Overlay swapping
KR930009092B1 (ko) 가상 메모리 어드레싱을 채택한 데이타 처리 시스템에서의 페이지 프레임 교체 장치 및 방법
US5652860A (en) Memory control device
EP0175398A2 (en) Data processing system comprising a memory access controller which is provided for combining descriptor bits of different descriptors associated with virtual addresses
US4984150A (en) Virtual memory control management system
CA2009717C (en) Multiprocessing system having a single translation lookaside buffer with reduced processor overhead
US4733367A (en) Swap control apparatus for hierarchical memory system
US7181587B1 (en) Mapping an arbitrary number of contiguous memory pages at an arbitrary alignment
JPH07152653A (ja) データ処理装置
JPH0271328A (ja) 分岐ヒストリーテーブル制御方式

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

A201 Request for examination
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

G160 Decision to publish patent application
G160 Decision to publish patent application
PG1605 Publication of application before grant of patent

St.27 status event code: A-2-2-Q10-Q13-nap-PG1605

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 19960923

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 19960923

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000