KR20130048206A - 계층 변환 테이블 제어 - Google Patents

계층 변환 테이블 제어 Download PDF

Info

Publication number
KR20130048206A
KR20130048206A KR1020127025936A KR20127025936A KR20130048206A KR 20130048206 A KR20130048206 A KR 20130048206A KR 1020127025936 A KR1020127025936 A KR 1020127025936A KR 20127025936 A KR20127025936 A KR 20127025936A KR 20130048206 A KR20130048206 A KR 20130048206A
Authority
KR
South Korea
Prior art keywords
page
memory address
address
physical
translation
Prior art date
Application number
KR1020127025936A
Other languages
English (en)
Other versions
KR101729503B1 (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 KR20130048206A publication Critical patent/KR20130048206A/ko
Application granted granted Critical
Publication of KR101729503B1 publication Critical patent/KR101729503B1/ko

Links

Images

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/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • 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
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/651Multi-level translation tables

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)

Abstract

메모리 어드레스 변환회로(14)는, 톱다운 페이지 테이블 워크 연산을 행함으로써, 변환 테이블들(28, 32, 36, 38, 40, 42)의 계층에 기억된 변환 데이터를 사용하여 가상 메모리 어드레스 VA를 물리 메모리 어드레스 PA로 변환한다. 페이지 사이즈 변수 S는, 서로 다른 사이즈 S의 물리 메모리 어드레스의 페이지, 가상 메모리 어드레스의 페이지 및 변환 테이블로 동작하도록 메모리 어드레스 변환회로(14)를 제어하는데 사용된다. 이들 서로 다른 사이즈는 모두 4kB이거나 모두 64kB이어도 된다. 이 시스템은 다중 가상머신 실행 환경을 지원하여도 된다. 이들 가상머신 실행 환경은, 관련된 하이퍼바이저(62)의 페이지 사이즈를 설정할 수 있는 것과 마찬가지로, 그들 자신의 페이지 사이즈 변수를 독립적으로 설정할 수 있다.

Description

계층 변환 테이블 제어{HIERARCHICAL TRANSLATION TABLES CONTROL}
본 발명은, 데이터 처리 시스템 분야에 관한 것이다. 특히, 본 발명은, 데이터 처리 시스템 내부에서 가상 메모리 어드레스를 물리 메모리 어드레스로 변환하는 메모리 어드레스 변환 메카니즘에 관한 것이다.
프로세서에 의해 생성된 가상 어드레스를 메모리 시스템을 액세스하기 위한 물리 어드레스로 변환하는 역할을 하는 메모리 관리 유닛 등의 메모리 어드레스 변환회로를 데이터 처리 시스템에 설치하는 것이 공지되어 있다. 필요한 변환을 행하는 한가지 방법은 변환 테이블을 이용하는 것이다. 이들 변환 테이블은, 계층의 각 레벨이 테이블의 다른 레벨을 가리키는 포인터나 타겟 물리 어드레스를 제공하는 기술자(descriptor)를 찾도록 테이블에 색인을 붙이기 위해 가상 어드레스의 한 부분을 차지하는 변환 테이블들의 계층으로 배치되어도 된다. 전체 가상 어드레스가 타겟 물리 어드레스로 변환될 때까지 페이지 테이블의 다른 레벨들에 대해 색인이 붙여진 룩업(lookup)의 시퀀스를 행하는 톱다운 페이지 테이블 워크(walk) 연산이 행해진다. "톱다운"의 중요성은, 테이블의 첫 번째 레벨이 테이블에 색인을 붙이기 위한 가상 어드레스의 가장 중요한 부분을 차지한다는 것이다.
다수의 시스템에서, 어드레스 공간이 4kB 페이지들로 분할되고 이와 같은 페이지 사이즈의 정밀도(granularity)로 어드레스 변환이 행해지는 것이 일반적이다. 더구나, 페이지 테이블(변환 테이블)들도 4kB의 사이즈로 구성되어, 이들 페이지 테이블들을 기억하기 위해 할당된 메모리의 페이지 내부에 효율적으로 들어맞는다.
4kB 페이지들로 분할된 메모리 어드레스 공간에 명시적으로 또는 함축적으로 의존하는 상당한 양의 소프트웨어가 존재한다. 페이지 사이즈가 변동되면 이와 같은 소프트웨어가 작동하지 않을 수도 있다.
일면에 따르면, 본 발명은,
톱다운 페이지 테이블 워크(walk) 연산을 행함으로써, 변환 테이블들의 계층에 기억된 변환 데이터를 사용하여 가상 메모리 어드레스를 물리 메모리 어드레스로 변환하도록 구성된 메모리 어드레스 변환회로를 구비하고,
상기 변환 데이터는, N이 양의 정수일 때, 가상 메모리 어드레스의 2N의 인접한 바이트의 페이지와 물리 메모리 어드레스의 2N의 인접한 바이트의 대응하는 페이지 사이의 변환을 지정하고,
상기 변환 테이블의 계층은 2N의 인접한 바이트의 사이즈를 갖는 변환 테이블을 포함하여, 상기 물리 메모리의 1 페이지 내부에 전체 변환 테이블이 기억되고,
상기 메모리 어드레스 변환회로는, 상기 메모리 어드레스 변환회로를 제어하기 위한 N의 현재값을 지정하는 페이지 사이즈 변수에 응답하여, 선택된 사이즈의 물리 메모리 어드레스 페이지, 가상 메모리 어드레스의 페이지 및 변환 테이블로 동작하는, 데이터 처리장치를 제공한다.
본 발명의 기술은, 현재 제공되고 있는 메모리 공간의 사이즈의 상당한 증가(즉, 더 큰 메모리 용량과 32 비트 어드레스로부터 64 비트 어드레스로의 변경)에 따라, 4kB 메모리 페이지를 사용하는 것이 실용상 자주 요구되지 않는 메모리에 대한 제어의 정밀도 레벨을 제공한다는 것을 인식하고 있다. 더구나, 본 발명의 기술은, 더 큰 물리 어드레스에 대해 4kB 페이지를 사용하기 위해서는, 톱다운 페이지 테이블 워크 연산을 지원하는 페이지 테이블 계층 내에 더 높은 레벨의 페이지 테이블이 요구된다는 것을 인식하고 있다. 예를 들어, 각 레벨의 페이지 테이블이 9 비트의 가상 어드레스를 9 비트의 물리 어드레스로 변환할 수 있다면, 64 비트의 가상 어드레스를 64 비트의 물리 어드레스로 변환하는 것이 6 레벨의 페이지 테이블 워크를 필요로 할지도 모른다. 이것은 바람직하지 않게 증가된 지연을 도입한다. 본 발명의 기술은, 이와 같은 문제를 인식하고, 현재 선택된 사이즈의 메모리 페이지와 변환 테이블로 필요한 톱다운 페이지 테이블 워크 연산을 행하도록 구성된 메모리 어드레스 변환회로를 사용하여, 변환 테이블(페이지 테이블) 사이즈와 함께 물리 메모리 및 가상 메모리의 페이지의 사이즈를 다른 값들 사이에서 전환할 수 있는 구성을 제공함으로써 이와 같은 문제를 해결한다. 변환 테이블은 여전히 메모리 페이지 내부에 효율적으로 들어맞을 수 있으며, 더 큰 변환 테이블에 의해, 각 레벨의 페이지 테이블을 사용하여 물리 어드레스의 비트들로 변환될 수 있는 가상 어드레스들의 비트 수가 증가될 수 있다. 이와 같은 구성은, 변환시에 액세스가 필요한 페이지 테이블의 레벨의 수를 줄여, 관련된 지연을 줄인다.
본 발명의 기술은, 복수의 가상머신 실행 환경을 제공하는 프로그램 명령을 실행하는 프로세서를 갖는 시스템 내에서 사용되어도 된다. 이들 가상머신 실행 환경은, 동일한 하드웨어 상에서 동작하고 동일한 메모리 어드레스 변환회로를 사용하는 다른 가상머신 실행 환경이 다른 페이지 사이즈를 가질 수 있도록, 독립적으로 설정된 그들의 페이지 사이즈 변수를 가져도 된다.
가상머신 실행 환경을 제공하는 시스템을 사용할 때, 가상머신은 가상머신 변환 테이블의 계층에 기억된 그 자신의 변환 데이터를 갖고, 메모리 어드레스 변환회로에 의한 가상머신 변환 테이블에 대한 각각의 액세스에는, 기초가 되는 물리 어드레스를 식별하기 위해 메모리 어드레스 변환회로에 의한 추가적인 어드레스 변환이 필요하게 된다. 따라서, 가상머신 변환 테이블을 통한 페이지 테이블 워크가 4 레벨 워크인 경우, 가상머신 변환 테이블 계층을 통한 각 레벨의 워크에는, 물리 어드레스를 식별하기 위해 다수의 페이지 테이블 워크(예를 들면, 다음의 가상머신 변환 테이블의 물리 어드레스를 식별하기 위한 4개의 추가적인 레벨의 페이지 테이블 워크)가 행해지는 것이 필요하게 되어, 톱다운 페이지 테이블 워크가 개시될 때마다 필요한 페이지 테이블 변환 레벨의 전체 수를 급격하게 증가시키게 된다. 따라서, 더 큰 페이지 테이블의 사용을 허용하여 더 큰 메모리 어드레스 공간에 대해서도 행해질 필요가 있는 페이지 테이블 워크 레벨의 수를 줄이는 본 발명의 기술은, 가상머신 실행 환경을 제공하는 시스템에 적용될 때 상당한 이점을 갖는다.
가상머신 변환 테이블에 대한 각각의 액세스와 연관된 추가적인 어드레스 변환을 위해 사용되는 페이지 사이즈 변수는, 복수의 가상머신 실행 환경의 페이지 사이즈 변수와 무관하게 설정되는 페이지 사이즈 변수를 사용해도 된다.
본 발명의 일부 실시예에서는, 가상 메모리 내부에서 서로의 옆에 인접하여 배치되는 복수의 작은 페이지들이 물리 메모리 내부에서도 서로의 옆에 인접하여 배치되어, 이들 모두가 더 큰 사이즈를 갖는 페이지의 단일의 가상-물리 어드레스 변환에 의해 표시될 수도 있다는 것을 나타내기 위해, 힌트 데이터(hint data)가 더 작은 페이지 사이즈와 관련되어도 된다. 이와 같은 인접 힌트 데이터는, 가상-물리 어드레스 변환을 캐시에 기억하여, 이와 같은 인접 페이지가 언제 발생하는지를 인식하고 해당 변환을 효율적인 더 큰 페이지 사이즈를 갖는 것으로 마크함으로써, 이들 변환 캐싱 메카니즘의 기억용량(예를 들면, 변환 색인 버퍼(translation lookaside buffers)) 내부의 공간을 절약하는 메카니즘을 허용하는데 유용하다. 이와 같은 실시예에서는, 효율적인 더 큰 페이지 사이즈가 페이지 사이즈 변수에 의해 선택될 수 있는 더 큰 다른 사이즈를 갖는 페이지에 대응하는 경우에 특히 바람직하다.
모든 메모리 어드레스 공간을 사용가능하도록 하는 것이 필요한 것이 아닌 경우에는, 가상 어드레스의 최상위 비트 끝으로부터 연속되는 가상 어드레스의 일부가 고정값, 보통 모두 0값 또는 모두 1값으로 되는 것이 필요하도록 배치함으로써, 변환 테이블 워크의 최상위 레벨을 행할 필요가 없게 만들어, 필요한 페이지 테이블 워크의 레벨 수를 줄이는 것이 가능하다는 것은 자명하다. 따라서, 메모리 어드레스가 64 비트의 메모리 어드레스 공간을 제공하는 경우, 실용적인 실시예에서는 이와 같은 어드레스 공간 중 단지 48 비트만이 필요하고, 따라서 가상 어드레스 공간의 상위 16 비트는 모두 0이거나 모두 1이 될 필요가 있으며, 그렇지 않은 경우에는 메모리 변환 장애가 발생하게 될지도 모른다.
페이지 테이블의 사이지는 4kB 및 64kB의 것, 즉 212 및 216에 대응하는 것을 포함하도록 제공하는 것이 실용적이고 바람직한 것으로 밝혀졌다.
다른 면에 따르면, 본 발명은,
톱다운 페이지 테이블 워크 연산을 행함으로써, 변환 테이블들의 계층에 기억된 변환 데이터를 사용하여 가상 메모리 어드레스를 물리 메모리 어드레스로 변환하는 메모리 어드레스 변환수단을 구비하고,
상기 변환 데이터는, N이 양의 정수일 때, 가상 메모리 어드레스의 2N의 인접한 바이트의 페이지와 물리 메모리 어드레스의 2N의 인접한 바이트의 대응하는 페이지 사이의 변환을 지정하고,
상기 변환 테이블의 계층은 2N의 인접한 바이트의 사이즈를 갖는 변환 테이블을 포함하여, 상기 물리 메모리의 1 페이지 내부에 전체 변환 테이블이 기억되고,
상기 메모리 어드레스 변환수단은, 상기 메모리 어드레스 변환회로를 제어하기 위한 N의 현재값을 지정하는 페이지 사이즈 변수에 응답하여, 선택된 사이즈의 물리 메모리 어드레스 페이지, 가상 메모리 어드레스의 페이지 및 변환 테이블로 동작하는, 데이터 처리장치를 제공한다.
또 다른 면에 따르면, 본 발명은,
톱다운 페이지 테이블 워크 연산을 행함으로써, 변환 테이블들의 계층에 기억된 변환 데이터를 사용하여 가상 메모리 어드레스를 물리 메모리 어드레스로 변환하는 단계를 포함하고,
상기 변환 데이터는, N이 양의 정수일 때, 가상 메모리 어드레스의 2N의 인접한 바이트의 페이지와 물리 메모리 어드레스의 2N의 인접한 바이트의 대응하는 페이지 사이의 변환을 지정하고,
상기 변환 테이블의 계층은 2N의 인접한 바이트의 사이즈를 갖는 변환 테이블을 포함하여, 상기 물리 메모리의 1 페이지 내부에 전체 변환 테이블이 기억되고,
N의 현재값을 지정하는 페이지 사이즈 변수에 응답하여, 선택된 사이즈의 물리 메모리 어드레스 페이지, 가상 메모리 어드레스의 페이지 및 변환 테이블로 동작하는 단계를 더 포함하는, 데이터 처리방법을 제공한다.
이하, 다음의 첨부도면을 참조하여 본 발명의 실시예를 더욱 상세히 설명한다.
도 1은 메모리에 접속된 프로세서를 포함하고 메모리가 메모리 어드레스 변환회로를 구비한 데이터 처리 시스템을 개략적으로 나타낸 것이다.
도 2는 4kB 변환 테이블과 64 비트 어드레스를 이용하는 톱다운 페이지 테이블 워크 연산을 개략적으로 나타낸 것이다.
도 3은 64kB 변환 테이블과 64 비트 메모리 어드레스를 이용하는 톱다운 페이지 테이블 워크 연산을 개략적으로 나타낸 것이다.
도 4는 변환할 가상 어드레스를 수신하였을 때의 메모리 어드레스 변환회로의 동작을 개략적으로 나타낸 흐름도이다.
도 5는 다양한 페이지 사이즈를 갖는 다중 가상머신 실행 환경의 제공을 개략적으로 나타낸 것이다.
도 1은 메모리(6)에 접속된 프로세서(4)를 구비한 데이터 처리 시스템(2)을 개략적으로 나타낸 것이다. 프로세서(4)는, 데이터 프로세싱 코어(8), 캐시 메모리(10), 로드 스토어 유닛(load store unit)(12) 및 메모리 관리부(14)(메모리 어드레스 변환회로)를 구비한다. 메모리(6)는, (페이지 테이블로도 알려진) 변환 테이블(16)들과 데이터의 물리적으로 어드레스가 지정된 페이지(18)들을 기억한다.
프로그램 명령을 실행할 때, 데이터 프로세싱 코어(8)는 가상 어드레스 VA를 생성하고, 이것은 메모리 관리부(14)에 의해 물리 어드레스 PA로 변환된다. 메모리 관리부(14)는, 현재의 처리 또는 메모리의 페이지와 관련된 특권 레벨 또는 다른 속성에 의존하여 메모리의 특정한 페이지(들)에 대한 액세스를 제어하는 것 등과 같은 다른 기능을 가져도 된다. 메모리 관리부(14)는, 최근에 사용된 가상 어드레스를 물리 어드레스로 변환하기 위한 변환 데이터의 캐시를 기억하는 변환 색인 버퍼(20)를 구비한다. 가상 어드레스가 번역을 필요로 하고 필요한 번역 정보가 변환 색인 버퍼(20) 내부에 기억되어 있지 않은 경우에는, 메모리 관리부(14)가 톱다운 페이지 테이블 워크 연산을 기동한다. 이와 같은 페이지 테이블 워크 연산에 대한 시작점은, 변환 테이블에의 진입점(entry point)의 메모리 어드레스에 해당한다. 이와 같은 진입점은 메모리 관리부(14) 내부의 변환 테이블 베이스 레지스터(22)에 기억된다.
메모리 관리부(14)는, 프로세싱 코어(8)에 기록가능하고 페이지 사이즈 변수 S를 기억하는 페이지 사이즈 필드(26)를 포함하는 변환 테이블 베이스 제어 레지스터(24)를 더 구비한다. 이와 같은 페이지 사이즈 변수 S는, 메모리 관리부(14)가 톱다운 페이지 테이블 워크 연산을 행하고 있을 때 물리 메모리의 페이지, 가상 메모리의 페이지 및 변환 테이블의 사이즈를 조절한다. 변환 테이블 베이스 제어 레지스터(24)는, 변환 테이블 베이스 레지스터(22) 내부에 기억된 값들을 전환함으로써, 변환 테이블의 다란 계층들을 사용하게 하거나 사용하지 않게 전환하는데에도 사용해도 된다. 페이지 테이블들의 이들 다양한 계층들 각각은 그 자신의 관련된 페이지 사이즈 변수를 가져도 된다. 따라서, 예를 들어, 다중 가상 실행 환경을 지원하는 시스템은, 4kB 페이지 사이즈와 변환 테이블 사이즈를 지정하는 한 세트의 변환 테이블들과 64kB 페이지 사이즈와 변환 테이블 사이즈를 갖는 다른 세트의 변환 테이블들을 가져도 된다.
도 2는, 페이지 사이즈와 변환 테이블 사이즈가 4kB인 것으로 페이지 사이즈 변수가 지정할 때, 변환 색인 버퍼(2) 내부에 누락이 발생한 경우, 메모리 관리부(14)에 의해 행해지는 6 레벨 톱다운 페이지 테이블 워크를 개략적으로 예시한 것이다. 변환 테이블 베이스 레지스터(22)는, 최상위 레벨 변환 테이블(28)의 시작 위치를 가리키는 어드레스를 기억한다. 가상 어드레스의 최상위 7 비트를 사용하여, 이 변환 테이블 내부에 색인을 제공하고 제 2 레벨 변환 테이블(32)의 시작 어드레스를 가리키는 포인터(30)를 식별한다. 그후, 가상 어드레스의 다음의 9 비트를 사용하여, 이 제 2 레벨 테이블(32)에 색인을 붙여 제 3 레벨 테이블(36)의 시작점을 가리키는 포인터(34)를 식별한다. 이와 같은 처리는 가상 어드레스의 연속된 9 비트 부분을 계속 받아, 제 4 레벨 변환 테이블(38), 제 5 레벨 변환한 테이블(40) 및 제 6 레벨 변환 테이블(42)에 색인을 붙인다. 제 6 레벨 테이블(42) 내부로의 최종 색인 부여 동작이 행해지면, 44로 식별된 엔트리(entry)가, 생성될 물리 어드레스의 최하위 12 비트를 형성하는데 사용되는 가상 어드레스의 최하위 12 비트와 함께, 변환하려는 가상 어드레스에 대응하는 물리 어드레스의 최상위 52 비트를 기억한다. 가상 어드레스의 최하위 12 비트가 변환되지 않으므로, 이것은 행해진 변환의 정밀도, 따라서 변환이 행해질 때 사용되는 가상 메모리와 물리 메모리의 페이지 사이즈에 해당한다. 이 경우, 물리 메모리의 페이지의 페이지 사이즈와 가상 메모리의 페이지의 페이지 사이즈는 4kB이다. 전체 메모리 어드레스 공간의 전체 사이즈와 일치하는 매핑을 제공하기 위해 최고 차수의 페이지 테이블이 사이즈가 더 작을 수도 있다.
변환 데이터가 변환 색인 버퍼(20) 내부에 잔존하는 동안 동일한 가상 어드레스 페이지에 대해 또 다른 메모리 액세스가 행해지는 경우, 또 다른 페이지 테이블 워크가 행해질 필요가 없도록, 도 2에 도시된 톱다운 페이지 테이블 워크 연산으로부터 얻어진 변환 데이터가 변환 색인 버퍼(20) 내부에 기억된다.
제 6 레벨 테이블(42)의 엔트리(44) 내부에는, 인접 힌트 데이터(46)도 존재한다. 이와 같은 힌트 데이터는, 가상 메모리의 인접한 페이지에 대응하는 물리 메모리의 페이지가 64kB의 블록으로 물리 메모리 내에도 인접하여 배치되어 있는지 여부를 표시한다. 인접하여 배치되어 있는 경우에는, 행해진 이와 같은 변환에 대응하여 변환 색인 버퍼(20)에 다시 기억된 데이터가, 해당 변환 데이터가 16의 인접한 가상 페이지에 적용된다는 것을 표시하기 위해 마크될 수 있다. 이것은 변환 색인 버퍼(20) 내부의 기억 공간을 절약한다.
도 3은, 물리 메모리 어드레스의 페이지, 가상 메모리 어드레스의 페이지와 변환 테이블 모두가 64kB의 사이즈를 갖도록 페이지 사이즈 변수 S가 지정할 때 행해지는 4 레벨 페이지 테이블 톱다운 워크 연산을 개략적으로 나타낸 것이다. 도 3의 경우에 변환 테이블이 64kB의 사이즈를 갖는다는 것을 제외하고는, 도 3에 도시된 톱다운 페이지 테이블 워크 연산은 도 2에 도시되고 위에서 설명한 것과 원리면에서 유사하다. 따라서, 제 2, 제 3 및 제 4 레벨 페이지 테이블 액세스 연산은 각각 13 비트의 가상 어드레스를 소모하며, 이에 따라 전체 64 비트의 가상-물리 메모리 어드레스 변환을 행하기 위해 필요한 페이지 테이블 워크의 레벨 수가 4 레벨로 줄어들 수 있다. 이때, 물리 메모리 어드레스의 페이지와 가상 메모리 어드레스의 페이지의 사이즈가 증가한 결과, 가상 어드레스의 최하위 16 비트가 변환되지 않는데, 이것은 이 가상 어드레스가 메모리 페이지 사이즈 정밀도이기 때문이라는 점에 주목하기 바란다. 이와 같은 더 큰 정밀도는 물리 어드레스 비트로 변환될 필요가 있는 가상 어드레스 비트의 수를 감소시키고, 이것은 필요한 페이지 테이블 워크의 레벨 수를 감소하도록 돕는다.
도 2 및 도 3에는, 단축화 시작점(shortened start point) 50 및 52가 더 도시되어 있다. 특정한 세트의 변환 테이블에 대한 변환 테이블 베이스 제어 레지스터(24)는, 가상 어드레스의 최상위 비트 끝에서 시작하는 가상 어드레스의 일부가 모두 0이거나 모두 1이어야 하며, 그렇지 않은 경우에는 메모리 장애가 발생하게 되다는 것을 표시하여도 된다. 이와 같은 경우에, 가상 어드레스의 최상위 비트가 메모리 관리부(14)에 의해 고정값(모두 0이나 모두 1 등)인지 검사를 겪게 되므로, 톱다운 페이지 테이블 워크 연상의 상위 레벨이 행해질 필요가 없다. 이것은, 64 비트의 전체 가상 어드레스 공간이 필요하지 않은 상태에 대해 이와 같은 페이지 테이블 워크 연산과 관련된 대기시간을 줄이는 식으로 페이지 테이블 워크의 레벨 수를 줄인다.
도 4는 메모리 관리부(14)의 동작의 일 실시예를 개략적으로 나타낸 흐름도이다. 스텝 54에서, 메모리 관리부는 변환을 위해 가상 어드레스가 수신되는 것을 대기한다. 이와 같은 가상 어드레스가 수신되면, 스텝 56은, 변환 테이블 베이스 제어 레지스터(24)의 제어하에서 변환 테이블 베이스 레지스터(22)가 가리키는 현재 활성인 변환 테이블의 계층이 4kB의 사이즈를 갖는 것인지 여부를 판정한다. 이것은 페이지 사이즈 변수 S에서 판독되어도 된다. 이와 같이 판정된 페이지 사이즈는, 스텝 58에서 행해지는 4kB 변환 테이블을 통한 6 레벨까지의 페이지 테이블 워크 또는 스텝 60에서 행해지는 64kB 변환 테이블을 통한 4 레벨까지의 페이지 테이블 워크를 행하도록 메모리 관리부(14)를 구성하는 역할을 한다. 필요한 페이지 테이블이 그것의 변환 테이블 사이즈와 메모리 페이지 사이즈에 따라 톱다운 페이지 테이블 워크를 겪으면, 물리 어드레스가 생성된다.
도 4의 흐름도는 간략화될 수 있으며, 가상 어드레스에 대한 액세스 요구가 적절한 레벨의 허가를 갖고 있는지 여부를 판정하는 것 등의 다른 연산 뿐만 아니라, 필요한 변환 정보가 변환 색인 버퍼(20) 내부에 이미 기억되어 있는지 여부를 판정하는 것 등의 실제적인 다른 연산이 행해져도 된다는 것은 자명하다.
도 5는 다중 가상머신 실행 환경을 운용하는 시스템을 개략적으로 나타낸 것이다. 이와 같은 시스템에서는, 하이퍼바이저(62)가 제 1 게스트 운영체계(64)와 제 2 게스트 운영체계(66)에 가상머신 실행 환경을 제공하는 역할을 한다. 그후, 이들 게스트 운영체계는 그것의 각각의 애플리케이션 프로그램들 68, 70, 72, 74, 76을 관리하고 이들 애플리케이션 프로그램들과 협력한다. 하이퍼바이저(62)는 1 세트의 변환 테이블과 그것 자신의 사이즈 변수로 동작하여도 된다. 다양한 가상머신들이 다른 가상 머신의 세트와 하이퍼바이저(62)의 세트와 무관한 그들 자신의 페이지 사이즈 변수를 가져도 된다. 따라서, 도 5에 도시된 제 2 게스트 운영체계(66)는 4kB 페이지 사이즈를 지원하는데 필요한 레거시 게스트 운영체계이어도 되는데, 이것은 이와 같은 페이지 사이즈를 그것의 애플리케이션 프로그램들 72, 74, 76이 취하기 때문이다. 역으로, 제 1 게스트 운영체계(64)와 하이퍼바이저(62)가 64kB의 메모리 페이지 사이즈와 변환 테이블 사이즈에 대응하는 페이지 사이즈 변수로 동작하여도 된다. 이것은, 64 비트 어드레스에 의해 어드레스가 지정가능한 것 등의 더 큰 어드레스 공간에 더 적합한 페이지 사이즈와 변환 테이블 사이즈이다.

Claims (13)

  1. 톱다운 페이지 테이블 워크 연산을 행함으로써, 변환 테이블들의 계층에 기억된 변환 데이터를 사용하여 가상 메모리 어드레스를 물리 메모리 어드레스로 변환하도록 구성된 메모리 어드레스 변환회로를 구비하고,
    상기 변환 데이터는, N이 양의 정수일 때, 가상 메모리 어드레스의 2N의 인접한 바이트의 페이지와 물리 메모리 어드레스의 2N의 인접한 바이트의 대응하는 페이지 사이의 변환을 지정하고,
    상기 변환 테이블의 계층은 2N의 인접한 바이트의 사이즈를 갖는 변환 테이블을 포함하여, 상기 물리 메모리의 1 페이지 내부에 전체 변환 테이블이 기억되고,
    상기 메모리 어드레스 변환회로는, 상기 메모리 어드레스 변환회로를 제어하기 위한 N의 현재값을 지정하는 페이지 사이즈 변수에 응답하여, 선택된 사이즈의 물리 메모리 어드레스 페이지, 가상 메모리 어드레스의 페이지 및 변환 테이블로 동작하는, 데이터 처리장치.
  2. 제 1항에 있어서,
    복수의 가상머신 실행 환경을 제공하는 프로그램 명령을 실행하도록 구성된 프로세서를 구비하고, 상기 복수의 가상머신 실행 환경 각각에 대한 상기 페이지 사이즈 변수는 독립적으로 설정되도록 구성된, 데이터 처리장치.
  3. 제 2항에 있어서,
    상기 가상머신 실행 환경 각각은 가상머신 변환 테이블의 계층에 기억된 가상머신 변환 데이터를 갖고, 어드레스 변환중에 상기 메모리 어드레스 변환회로에 의한 가상머신 변환 테이블에의 각각의 액세스는 물리 어드레스를 식별하기 위해 상기 메모리 어드레스 변환회로에 의한 추가적인 어드레스 변환을 필요로 하고, 상기 추가적인 어드레스 변환은 상기 복수의 가상머신 실행환경에 대한 상기 페이지 사이즈 변수와 무관하게 설정되도록 구성된 페이지 사이즈 변수를 사용하는, 데이터 처리장치.
  4. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 페이지 사이즈 변수의 다른 값들이 2X의 물리 페이지 사이즈와 2Y의 물리 페이지 사이즈를 지정하고, 이때 X 및 Y는 정수이며, 상기 변환 데이터는 사이즈 2X 바이트를 갖는 Y/X의 물리 페이지가 물리 어드레스 공간 내에 인접하여 배치되도록 특정하기 위한 인접 힌트 데이터를 포함하는, 데이터 처리장치.
  5. 제 1항 내지 제 4항 중 어느 한 항에 있어서,
    상기 가상 어드레스의 최상위 비트 끝으로부터 연속되는 상기 가상 어드레스의 소정 부분에는, 페이지 테이블 워크를 필요로 하지 않으면서, 상기 물리 어드레스의 대응하는 부분으로의 고정 변환이 주어지는, 데이터 처리장치.
  6. 제 1항 내지 제 5항 중 어느 한 항에 있어서,
    상기 페이지 사이즈 변수는 12 및 16 중 한 개가 되도록 N의 값을 지정하는, 데이터 처리장치.
  7. 톱다운 페이지 테이블 워크 연산을 행함으로써, 변환 테이블들의 계층에 기억된 변환 데이터를 사용하여 가상 메모리 어드레스를 물리 메모리 어드레스로 변환하는 메모리 어드레스 변환수단을 구비하고,
    상기 변환 데이터는, N이 양의 정수일 때, 가상 메모리 어드레스의 2N의 인접한 바이트의 페이지와 물리 메모리 어드레스의 2N의 인접한 바이트의 대응하는 페이지 사이의 변환을 지정하고,
    상기 변환 테이블의 계층은 2N의 인접한 바이트의 사이즈를 갖는 변환 테이블을 포함하여, 상기 물리 메모리의 1 페이지 내부에 전체 변환 테이블이 기억되고,
    상기 메모리 어드레스 변환수단은, 상기 메모리 어드레스 변환회로를 제어하기 위한 N의 현재값을 지정하는 페이지 사이즈 변수에 응답하여, 선택된 사이즈의 물리 메모리 어드레스 페이지, 가상 메모리 어드레스의 페이지 및 변환 테이블로 동작하는, 데이터 처리장치.
  8. 톱다운 페이지 테이블 워크 연산을 행함으로써, 변환 테이블들의 계층에 기억된 변환 데이터를 사용하여 가상 메모리 어드레스를 물리 메모리 어드레스로 변환하는 단계를 포함하고,
    상기 변환 데이터는, N이 양의 정수일 때, 가상 메모리 어드레스의 2N의 인접한 바이트의 페이지와 물리 메모리 어드레스의 2N의 인접한 바이트의 대응하는 페이지 사이의 변환을 지정하고,
    상기 변환 테이블의 계층은 2N의 인접한 바이트의 사이즈를 갖는 변환 테이블을 포함하여, 상기 물리 메모리의 1 페이지 내부에 전체 변환 테이블이 기억되고,
    N의 현재값을 지정하는 페이지 사이즈 변수에 응답하여, 선택된 사이즈의 물리 메모리 어드레스 페이지, 가상 메모리 어드레스의 페이지 및 변환 테이블로 동작하는 단계를 더 포함하는, 데이터 처리방법.
  9. 제 8항에 있어서,
    복수의 가상머신 실행 환경을 제공하는 단계를 포함하고, 상기 복수의 가상머신 실행 환경 각각에 대해 상기 페이지 사이즈 변수가 독립적으로 설정된, 데이터 처리방법.
  10. 제 9항에 있어서,
    상기 가상머신 실행 환경 각각은 가상머신 변환 테이블의 계층에 기억된 가상머신 변환 데이터를 갖고, 어드레스 변환중에 상기 메모리 어드레스 변환회로에 의한 가상머신 변환 테이블에의 각각의 액세스는 물리 어드레스를 식별하기 위한 추가적인 어드레스 변환을 필요로 하고, 상기 추가적인 어드레스 변환은 상기 복수의 가상머신 실행환경에 대한 상기 페이지 사이즈 변수와 무관하게 설정된 페이지 사이즈 변수를 사용하는, 데이터 처리방법.
  11. 제 8항 내지 제 10항 중 어느 한 항에 있어서,
    상기 페이지 사이즈 변수의 다른 값들이 2X의 물리 페이지 사이즈와 2Y의 물리 페이지 사이즈를 지정하고, 이때 X 및 Y는 정수이며, 상기 변환 데이터는 사이즈 2X 바이트를 갖는 Y/X의 물리 페이지가 물리 어드레스 공간 내에 인접하여 배치되도록 특정하기 위한 인접 힌트 데이터를 포함하는, 데이터 처리방법.
  12. 제 8항 내지 제 11항 중 어느 한 항에 있어서,
    상기 가상 어드레스의 최상위 비트 끝으로부터 연속되는 상기 가상 어드레스의 소정 부분에는, 페이지 테이블 워크를 필요로 하지 않으면서, 상기 물리 어드레스의 대응하는 부분으로의 고정 변환이 주어지는, 데이터 처리방법.
  13. 제 8항 내지 제 12항 중 어느 한 항에 있어서,
    상기 페이지 사이즈 변수는 12 및 16 중 한 개가 되도록 N의 값을 지정하는, 데이터 처리방법.
KR1020127025936A 2010-03-15 2011-02-08 계층 변환 테이블 제어 KR101729503B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1004294.3A GB2478727B (en) 2010-03-15 2010-03-15 Translation table control
GB1004294.3 2010-03-15
PCT/GB2011/050210 WO2011114120A1 (en) 2010-03-15 2011-02-08 Hierarchical translation tables control

Publications (2)

Publication Number Publication Date
KR20130048206A true KR20130048206A (ko) 2013-05-09
KR101729503B1 KR101729503B1 (ko) 2017-05-02

Family

ID=42261609

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127025936A KR101729503B1 (ko) 2010-03-15 2011-02-08 계층 변환 테이블 제어

Country Status (10)

Country Link
US (2) US8566563B2 (ko)
EP (1) EP2510444B1 (ko)
JP (1) JP5654056B2 (ko)
KR (1) KR101729503B1 (ko)
CN (1) CN102792285B (ko)
GB (1) GB2478727B (ko)
IL (1) IL220062A (ko)
MY (1) MY156692A (ko)
TW (1) TWI506426B (ko)
WO (1) WO2011114120A1 (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100138575A1 (en) 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices
US20100174887A1 (en) 2009-01-07 2010-07-08 Micron Technology Inc. Buses for Pattern-Recognition Processors
US9323994B2 (en) 2009-12-15 2016-04-26 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US9804870B2 (en) 2011-10-28 2017-10-31 Intel Corporation Instruction-set support for invocation of VMM-configured services without VMM intervention
KR20130050156A (ko) * 2011-11-07 2013-05-15 한국전자통신연구원 가상 주소 공간 전환 장치
US9058284B1 (en) * 2012-03-16 2015-06-16 Applied Micro Circuits Corporation Method and apparatus for performing table lookup
US20130275709A1 (en) 2012-04-12 2013-10-17 Micron Technology, Inc. Methods for reading data from a storage buffer including delaying activation of a column select
US9092359B2 (en) 2012-06-14 2015-07-28 International Business Machines Corporation Identification and consolidation of page table entries
US9811472B2 (en) 2012-06-14 2017-11-07 International Business Machines Corporation Radix table translation of memory
US9753860B2 (en) 2012-06-14 2017-09-05 International Business Machines Corporation Page table entry consolidation
US9524248B2 (en) 2012-07-18 2016-12-20 Micron Technology, Inc. Memory management for a hierarchical memory system
US10282286B2 (en) * 2012-09-14 2019-05-07 Micron Technology, Inc. Address mapping using a data unit type that is variable
US9058268B1 (en) 2012-09-20 2015-06-16 Matrox Graphics Inc. Apparatus, system and method for memory management
US9448965B2 (en) 2013-03-15 2016-09-20 Micron Technology, Inc. Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine
US9703574B2 (en) 2013-03-15 2017-07-11 Micron Technology, Inc. Overflow detection and correction in state machine engines
US9135200B2 (en) 2013-06-28 2015-09-15 Futurewei Technologies, Inc. System and method for extended peripheral component interconnect express fabrics
KR102130813B1 (ko) * 2013-10-08 2020-07-06 삼성전자주식회사 재구성 가능 프로세서 및 재구성 가능 프로세서를 동작하는 방법
US9954557B2 (en) * 2014-04-30 2018-04-24 Microsoft Technology Licensing, Llc Variable width error correction
GB2528842B (en) 2014-07-29 2021-06-02 Advanced Risc Mach Ltd A data processing apparatus, and a method of handling address translation within a data processing apparatus
US10769099B2 (en) 2014-12-30 2020-09-08 Micron Technology, Inc. Devices for time division multiplexing of state machine engine signals
WO2016109570A1 (en) 2014-12-30 2016-07-07 Micron Technology, Inc Systems and devices for accessing a state machine
US11366675B2 (en) 2014-12-30 2022-06-21 Micron Technology, Inc. Systems and devices for accessing a state machine
US9495303B2 (en) * 2015-02-03 2016-11-15 Intel Corporation Fine grained address remapping for virtualization
KR102473665B1 (ko) 2015-07-28 2022-12-02 삼성전자주식회사 스토리지 디바이스 및 스토리지 가상화 시스템
US10635596B2 (en) 2015-10-02 2020-04-28 Sony Interactive Entertainment Inc. Information processing device, access controller, information processing method, and computer program for accessing memory having access units of different sizes
US10846103B2 (en) 2015-10-06 2020-11-24 Micron Technology, Inc. Methods and systems for representing processing resources
US10691964B2 (en) 2015-10-06 2020-06-23 Micron Technology, Inc. Methods and systems for event reporting
US10977309B2 (en) 2015-10-06 2021-04-13 Micron Technology, Inc. Methods and systems for creating networks
US10528476B2 (en) * 2016-05-24 2020-01-07 International Business Machines Corporation Embedded page size hint for page fault resolution
US10146555B2 (en) 2016-07-21 2018-12-04 Micron Technology, Inc. Adaptive routing to avoid non-repairable memory and logic defects on automata processor
JP2018041204A (ja) * 2016-09-06 2018-03-15 東芝メモリ株式会社 メモリ装置及び情報処理システム
US10019311B2 (en) 2016-09-29 2018-07-10 Micron Technology, Inc. Validation of a symbol response memory
US10268602B2 (en) 2016-09-29 2019-04-23 Micron Technology, Inc. System and method for individual addressing
US10929764B2 (en) 2016-10-20 2021-02-23 Micron Technology, Inc. Boolean satisfiability
US10592450B2 (en) 2016-10-20 2020-03-17 Micron Technology, Inc. Custom compute cores in integrated circuit devices
CN107066267B (zh) * 2017-03-27 2021-09-07 网易(杭州)网络有限公司 页面尺寸处理方法、装置及设备
GB2563889B (en) * 2017-06-28 2019-10-09 Advanced Risc Mach Ltd Realm identifiers for realms for memory access control
US10713081B2 (en) * 2018-08-30 2020-07-14 Red Hat, Inc. Secure and efficient memory sharing for guests
US10761876B2 (en) * 2018-11-21 2020-09-01 Microsoft Technology Licensing, Llc Faster access of virtual machine memory backed by a host computing device's virtual memory
US10901911B2 (en) * 2018-11-21 2021-01-26 Microsoft Technology Licensing, Llc Faster computer memory access by reducing SLAT fragmentation
US11163695B2 (en) 2019-12-03 2021-11-02 International Business Machines Corporation Methods and systems for translating virtual addresses in a virtual memory based system
US11461237B2 (en) 2019-12-03 2022-10-04 International Business Machines Corporation Methods and systems for translating virtual addresses in a virtual memory based system
JP7048650B2 (ja) * 2020-02-04 2022-04-05 キオクシア株式会社 メモリ装置及び方法
GB2595479B (en) * 2020-05-27 2022-10-19 Advanced Risc Mach Ltd Apparatus and method
CN112256598B (zh) * 2020-10-27 2022-10-28 上海壁仞智能科技有限公司 一种内存分配的方法及装置、内存寻址的方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763250A (en) * 1985-04-01 1988-08-09 Motorola, Inc. Paged memory management unit having variable number of translation table levels
JPH0520199A (ja) * 1991-07-17 1993-01-29 Mitsubishi Electric Corp 複数のmmuをサポートするメモリ管理方法
US5963984A (en) * 1994-11-08 1999-10-05 National Semiconductor Corporation Address translation unit employing programmable page size
US6418521B1 (en) * 1998-12-23 2002-07-09 Intel Corporation Hierarchical fully-associative-translation lookaside buffer structure
US6349380B1 (en) * 1999-03-12 2002-02-19 Intel Corporation Linear address extension and mapping to physical memory using 4 and 8 byte page table entries in a 32-bit microprocessor
US6442664B1 (en) * 1999-06-01 2002-08-27 International Business Machines Corporation Computer memory address translation system
JP2001051900A (ja) 1999-08-17 2001-02-23 Hitachi Ltd 仮想計算機方式の情報処理装置及びプロセッサ
EP1182570A3 (en) * 2000-08-21 2004-08-04 Texas Instruments Incorporated TLB with resource ID field
DE10127198A1 (de) * 2001-06-05 2002-12-19 Infineon Technologies Ag Vorrichtung und Verfahren zum Ermitteln einer physikalischen Adresse aus einer virtuellen Adresse unter Verwendung einer hierarchischen Abbildungsvorschrift mit komprimierten Knoten
US6523104B2 (en) * 2001-07-13 2003-02-18 Mips Technologies, Inc. Mechanism for programmable modification of memory mapping granularity
US7444493B2 (en) * 2004-09-30 2008-10-28 Intel Corporation Address translation for input/output devices using hierarchical translation tables
US7558939B2 (en) * 2005-03-08 2009-07-07 Mips Technologies, Inc. Three-tiered translation lookaside buffer hierarchy in a multithreading microprocessor
US7516297B2 (en) * 2005-11-10 2009-04-07 Hewlett-Packard Development Company, L.P. Memory management
US7610464B2 (en) * 2006-02-22 2009-10-27 Sony Computer Entertainment Inc. Methods and apparatus for providing independent logical address space and access management
TW200823923A (en) * 2006-11-23 2008-06-01 Genesys Logic Inc Caching method for address translation layer of flash memory
US7779214B2 (en) * 2007-07-18 2010-08-17 Qnx Software Systems Gmbh & Co. Kg Processing system having a supported page size information register

Also Published As

Publication number Publication date
EP2510444B1 (en) 2015-07-08
CN102792285A (zh) 2012-11-21
IL220062A0 (en) 2012-09-24
US20140040529A1 (en) 2014-02-06
WO2011114120A1 (en) 2011-09-22
US8566563B2 (en) 2013-10-22
US8799621B2 (en) 2014-08-05
TWI506426B (zh) 2015-11-01
JP2013522748A (ja) 2013-06-13
GB201004294D0 (en) 2010-04-28
IL220062A (en) 2016-05-31
MY156692A (en) 2016-03-15
GB2478727B (en) 2013-07-17
TW201131355A (en) 2011-09-16
CN102792285B (zh) 2016-03-09
US20110225389A1 (en) 2011-09-15
EP2510444A1 (en) 2012-10-17
GB2478727A (en) 2011-09-21
KR101729503B1 (ko) 2017-05-02
JP5654056B2 (ja) 2015-01-14

Similar Documents

Publication Publication Date Title
KR101729503B1 (ko) 계층 변환 테이블 제어
US10956340B2 (en) Hardware-based pre-page walk virtual address transformation independent of page size utilizing bit shifting based on page size
JP5680179B2 (ja) 仮想化処理システムにおけるアドレスマッピング
KR101944876B1 (ko) 파일 액세스 방법 및 장치 및 스토리지 디바이스
KR101174583B1 (ko) 변환 예외 한정자를 갖는 동적 어드레스 변환
Jacob et al. Virtual memory: Issues of implementation
JP6764485B2 (ja) ページ・フォールト解決法
EP2350833B1 (en) Opportunistic page largification
JP2020529656A (ja) アドレス変換キャッシュ
KR20100126269A (ko) 인출 보호를 가진 동적 어드레스 변환
US10915459B2 (en) Methods and systems for optimized translation of a virtual address having multiple virtual address portions using multiple translation lookaside buffer (TLB) arrays for variable page sizes
US11334499B2 (en) Method for locating metadata
EP3690660B1 (en) Cache address mapping method and related device
US10613989B2 (en) Fast address translation for virtual machines
JP5958195B2 (ja) 仮想記憶管理システム、仮想記憶管理装置、仮想記憶初期化方法および仮想記憶初期化プログラム

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