KR100834365B1 - 스토리지 무효화, 버퍼 엔트리 제거 - Google Patents
스토리지 무효화, 버퍼 엔트리 제거 Download PDFInfo
- Publication number
- KR100834365B1 KR100834365B1 KR1020067015744A KR20067015744A KR100834365B1 KR 100834365 B1 KR100834365 B1 KR 100834365B1 KR 1020067015744 A KR1020067015744 A KR 1020067015744A KR 20067015744 A KR20067015744 A KR 20067015744A KR 100834365 B1 KR100834365 B1 KR 100834365B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- address translation
- entries
- translation
- buffer
- Prior art date
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 147
- 238000003860 storage Methods 0.000 title claims abstract description 143
- 238000013519 translation Methods 0.000 claims description 206
- 238000000034 method Methods 0.000 claims description 58
- 238000012545 processing Methods 0.000 claims description 40
- 238000004891 communication Methods 0.000 claims 8
- 238000005192 partition Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 13
- 238000010926 purge Methods 0.000 description 12
- 230000004044 response Effects 0.000 description 8
- 230000008030 elimination Effects 0.000 description 7
- 238000003379 elimination reaction Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000007717 exclusion Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0808—Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/683—Invalidation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
- Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
- Electrically Operated Instructional Devices (AREA)
- Advance Control (AREA)
Abstract
Description
Claims (34)
- 컴퓨터 시스템내의 어드레스 변환 버퍼 엔트리들을 제거하기 위한 방법에 있어서, 상기 컴퓨터 시스템은 가상 어드레스를 메모리 어드레스로 변환하기 위한 변환 정보를 제공하는 하나 이상의 어드레스 변환 테이블을 포함하고, 각각의 어드레스 변환 버퍼 엔트리는 동적으로 어드레스 변환 정보를 캐싱(caching)하고,상기 방법은,실행될 머신 실행가능 명령(instruction)의 오퍼레이션코드(opcode)로부터 상기 명령이 제거 오퍼레이션의 실행을 개시하도록 구성되었는지 판단하는 단계와,상기 명령을 실행하는 단계를 포함하며, 상기 실행 단계는 제1 변환 테이블의 제1 변환 테이블 기점 어드레스에 근거하여, 상기 어드레스 변환 버퍼로부터 상기 어드레스 변환 버퍼의 하나 이상의 제1 엔트리들 -상기 하나 이상의 제1 엔트리들은 상기 제1 변환 테이블 기점 어드레스와 관련됨- 을 선택적으로 제거하는 단계를 포함하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 제1항에 있어서,상기 제거 단계는 상기 어드레스 변환 버퍼내에서 상기 어드레스 변환 버퍼의 하나 이상의 제2 엔트리를 제거하지 않으며, 상기 하나 이상의 제2 엔트리는 상기 제1 변환 테이블 기점 어드레스와 관련이 없는,어드레스 변환 버퍼 엔트리 제거 방법.
- 제1항에 있어서,상기 제1 변환 테이블 기점 어드레스는 어드레스 공간 제어 요소(Address Space Control Element:ASCE) 어드레스, 영역 테이블 기점 어드레스 또는 세그먼트 테이블 기점 어드레스중 하나를 포함하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 제1항에 있어서,상기 제1 변환 테이블 기점 어드레스는 2 이상의 변환 테이블 엔트리 범위의 제1 변환 테이블 엔트리를 포함하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 제4항에 있어서,상기 2 이상의 변환 테이블 엔트리 범위를 무효화(invalidating)하는 단계를 더 포함하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 제1항에 있어서,상기 컴퓨터 시스템은 설계된(architected) 범용 레지스터를 포함하고,상기 어드레스 변환 테이블은하나 이상의 세그먼트 테이블,하나 이상의 세그먼트 테이블 및 하나 이상의 제1 영역 테이블,하나 이상의 세그먼트 테이블 및 하나 이상의 제1 영역 테이블 및 하나 이상의 제2 영역 테이블 또는하나 이상의 세그먼트 테이블 및 하나 이상의 제1 영역 테이블 및 하나 이상의 제2 영역 테이블 및 하나 이상의 제3 영역 테이블중 임의의 하나와 테이블 페이지로 구성되며,세그먼트 테이블 엔트리는 페이지 테이블 기점을 포함하며,상기 방법은,상기 명령에 의해 지정되는 위치로부터 제1 정보를 검색하는 단계 -상기 제1 정보는 상기 명령의 오퍼레이션의 지시(indication)를 포함함- 와,상기 제1 정보에 근거하여, 상기 명령이 상기 제거 오퍼레이션의 실행을 개시하도록 구성되었는지 판단하는 단계를 더 포함하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 제6항에 있어서,상기 제1 정보의 비트 52가 1일때 상기 제1 정보가 상기 명령이 제거 오퍼레이션의 실행을 개시하도록 구성되었음을 지시하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 제1항에 있어서,상기 컴퓨터 시스템이 메인 스토리지로부터 상기 명령을 펫치(fetch)하는 단계 -상기 명령은 제거 오퍼레이션을 위한 제거 정보를 포함하는 제2 정보를 배치하기 위한 제2 필드를 포함함- 와,펫치된 상기 명령의 오퍼레이션코드로부터 상기 펫치된 명령이 제거 오퍼레이션을 갖는 명령인지 판단하는 단계와,i) 어드레스 변환 버퍼의 어드레스 변환 버퍼 엔트리의 미리 결정된 어드레스 변환 버퍼 엔트리 부분이 상기 제2 정보를 포함하는지 여부를 판단하는 단계와,j) 상기 제2 정보를 포함하는 것으로 판단된 상기 어드레스 변환 버퍼 엔트리를 제거하는 단계와,k) 다수의 어드레스 변환 버퍼 엔트리에 대해 i)-j) 단계를 반복하는 단계를 더 포함하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 제8항에 있어서,상기 제2 필드는 제2 설계된 범용 레지스터내에 상기 제2 정보를 배치하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 제8항에 있어서,상기 제2 필드가 0일때,임의의 어드레스 변환 버퍼 엔트리가 제거되거나 또는상기 제2 정보가 상기 제1 변환 테이블 기점 어드레스를 포함하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 제8항에 있어서,상기 제2 필드가 0일때, 어드레스 공간 제어 요소(Address Space Control Element:ASCE)로부터 상기 제2 정보가 형성되는 단계와,상기 제2 필드가 0보다 클때, 설계된 일반 레지스터로부터 제2 정보를 검색하는 단계를 더 포함하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 제1항에 있어서,상기 명령의 오퍼레이션을 에뮬레이팅(emulating)하기 위해 미리 결정된 소프트웨어 루틴을 식별하기 위하여 상기 명령을 번역(interpreting) -상기 미리 결정된 소프트웨어 루틴은 다수의 명령을 포함함- 하는 단계와,상기 미리 결정된 소프트웨어 루틴을 실행하는 단계를 더 포함하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 제1항에 있어서,상기 어드레스 변환 버퍼는 변환 룩어사이드 버퍼(translation lookaside buffer: TLB)인,어드레스 변환 버퍼 엔트리 제거 방법.
- 제1항에 있어서,상기 어드레스 변환 버퍼는상기 컴퓨터 시스템의 제1 센트럴 프로세싱 유닛 -상기 제1 센트럴 프로세싱 유닛은 상기 명령을 실행함- 과 관련된 어드레스 변환 버퍼,상기 컴퓨터 시스템의 제2 센트럴 프로세싱 유닛과 관련된 어드레스 변환 버퍼, 또는상기 컴퓨터 시스템에 관련된 모든 어드레스 변환 버퍼중 하나인,어드레스 변환 버퍼 엔트리 제거 방법.
- 제1항에 있어서,상기 컴퓨터 시스템은 실제 메인 스토리지 어드레스를 갖는 페이지 테이블을 더 포함하며, 상기 실제 메인 스토리지 어드레스는 완전한 어드레스(absolute address), 실제 어드레스(real address), 또는 물리적 어드레스(physical address)중 하나를 포함하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 컴퓨터 시스템내의 어드레스 변환 버퍼 엔트리들을 제거하기 위한 컴퓨터 판독가능 기록매체에 있어서, 상기 컴퓨터 시스템은 가상 어드레스를 메모리 어드레스로 변환하기 위한 변환 정보를 제공하는 하나 이상의 어드레스 변환 테이블을 포함하고, 각각의 어드레스 변환 버퍼 엔트리는 동적으로 어드레스 변환 정보를 캐싱(caching)하고,상기 컴퓨터 판독가능 기록매체는 제1항 내지 제15항 중 어느 한 항에 따른 방법의 각 단계를 수행하기 위한 명령을 포함하는,컴퓨터 판독가능 기록매체.
- 컴퓨터 시스템내의 어드레스 변환 버퍼들을 제거하기 위한 시스템에 있어서,상기 시스템은메인 스토리지와,상기 메인 스토리지와 통신하는 하나 이상의 센트럴 프로세싱 유닛을 포함하고,상기 센트럴 프로세싱 유닛은설계된 범용 레지스터들과,어드레스 변환 버퍼들 -상기 어드레스 변환 버퍼는 어드레스 변환 정보를 유지하는(holding) 어드레스 변환 버퍼 엔트리들을 가짐- 과,상기 하나 이상의 프로세싱 유닛중 하나의 센트럴 프로세싱 유닛의 가상 메인 스토리지 어드레스들을 상기 컴퓨터 시스템의 메인 스토리지 어드레스들로 변환하기 위한 다수의 어드레스 변환 테이블과,하나 이상의 명령 실행 유닛 -상기 명령 실행 유닛은 상기 설계된 범용 레지스터와 통신하며, 상기 명령 실행 유닛은 상기 메인 스토리지로부터 펫치된 머신 명령들을 실행함-을 포함하며,상기 컴퓨터 시스템은 제1항 내지 제15항 중 어느 한 항에 따른 방법의 각 단계를 실행시키는 명령을 포함하는,어드레스 변환 버퍼 제거 시스템.
- 컴퓨터 시스템내의 어드레스 변환 버퍼 엔트리들을 제거하기 위한 방법에 있어서, 상기 컴퓨터 시스템은 가상 어드레스를 메모리 어드레스로 변환하기 위한 변환 정보를 제공하는 하나 이상의 어드레스 변환 테이블을 포함하고, 각각의 어드레스 변환 버퍼 엔트리는 동적으로 어드레스 변환 정보를 캐싱(caching)하고,상기 방법은,실행될 머신 실행가능 명령의 오퍼레이션코드로부터 상기 명령이 제거 오퍼레이션의 실행을 개시하도록 구성되었는지 판단하는 단계와,상기 명령을 실행하는 단계를 포함하며, 상기 실행 단계는 제1 변환 테이블의 제1 변환 테이블 기점 어드레스 -상기 제1 변환 테이블 기점 어드레스는 어드레스 공간 제어 요소(Address Space Control Element:ASCE) 어드레스, 영역 테이블 기점 어드레스 또는 세그먼트 테이블 기점 어드레스중 하나를 포함함- 에 근거하여, 상기 어드레스 변환 버퍼로부터 상기 어드레스 변환 버퍼의 하나 이상의 제1 엔트리들 -상기 하나 이상의 제1 엔트리들은 상기 제1 변환 테이블 기점 어드레스와 관련됨- 을 선택적으로 제거하는 단계를 포함하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 컴퓨터 시스템내의 어드레스 변환 버퍼 엔트리들을 제거하기 위한 방법에 있어서, 상기 컴퓨터 시스템은 가상 어드레스를 메모리 어드레스로 변환하기 위한 변환 정보를 제공하는 하나 이상의 어드레스 변환 테이블을 포함하고, 각각의 어드레스 변환 버퍼 엔트리는 동적으로 어드레스 변환 정보를 캐싱하고,상기 방법은,실행될 머신 실행가능 명령의 오퍼레이션코드로부터 상기 명령이 제거 오퍼레이션의 실행을 개시하도록 구성되었는지 판단하는 단계와,상기 명령을 실행하는 단계를 포함하며, 상기 실행 단계는 제1 변환 테이블의 제1 변환 테이블 기점 어드레스 -상기 제1 변환 테이블 기점 어드레스는 2 이상의 변환 테이블 엔트리 범위의 제1 변환 테이블 엔트리를 포함함- 에 근거하여, 상기 어드레스 변환 버퍼로부터 상기 어드레스 변환 버퍼의 하나 이상의 제1 엔트리들 -상기 하나 이상의 제1 엔트리들은 상기 제1 변환 테이블 기점 어드레스와 관련됨- 을 선택적으로 제거하는 단계를 포함하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 제18항 또는 제19항에 있어서,상기 제거 단계는 상기 어드레스 변환 버퍼내에서 상기 어드레스 변환 버퍼의 하나 이상의 제2 엔트리를 제거하지 않으며, 상기 하나 이상의 제2 엔트리는 상기 제1 변환 테이블 기점 어드레스와 관련이 없는,어드레스 변환 버퍼 엔트리 제거 방법.
- 제19항에 있어서,상기 2 이상의 변환 테이블 엔트리 범위를 무효화(invalidating)하는 단계를 더 포함하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 컴퓨터 시스템내의 어드레스 변환 버퍼들을 제거하기 위한 시스템에 있어서,상기 시스템은메인 스토리지와,상기 메인 스토리지와 통신하는 하나 이상의 센트럴 프로세싱 유닛을 포함하고,상기 센트럴 프로세싱 유닛은설계된 범용 레지스터들과,어드레스 변환 버퍼들 -상기 어드레스 변환 버퍼는 어드레스 변환 정보를 유지하는(holding) 어드레스 변환 버퍼 엔트리들을 가짐- 과,상기 하나 이상의 프로세싱 유닛중 하나의 센트럴 프로세싱 유닛의 가상 메인 스토리지 어드레스들을 상기 컴퓨터 시스템의 메인 스토리지 어드레스들로 변환하기 위한 다수의 어드레스 변환 테이블과,하나 이상의 명령 실행 유닛 -상기 명령 실행 유닛은 상기 설계된 범용 레지스터와 통신하며, 상기 명령 실행 유닛은 상기 메인 스토리지로부터 펫치된 머신 명령들을 실행함-을 포함하며,상기 컴퓨터 시스템은실행될 머신 실행가능 명령(instruction)의 오퍼레이션코드(opcode)로부터 상기 명령이 제거 오퍼레이션의 실행을 개시하도록 구성되었는지 판단하는 단계와,상기 명령을 실행하는 단계를 포함하며, 상기 실행 단계는 제1 변환 테이블의 제1 변환 테이블 기점 어드레스 -상기 제1 변환 테이블 기점 어드레스는 어드레스 공간 제어 요소(Address Space Control Element:ASCE) 어드레스, 영역 테이블 기점 어드레스 또는 세그먼트 테이블 기점 어드레스중 하나를 포함함- 에 근거하여, 상기 어드레스 변환 버퍼로부터 상기 어드레스 변환 버퍼의 하나 이상의 제1 엔트리들 -상기 하나 이상의 제1 엔트리들은 상기 제1 변환 테이블 기점 어드레스와 관련됨- 을 선택적으로 제거하는 단계를 포함하는 방법을 실행시키는 명령들을 포함하는,어드레스 변환 버퍼 제거 시스템.
- 컴퓨터 시스템내의 어드레스 변환 버퍼들을 제거하기 위한 시스템에 있어서,상기 시스템은메인 스토리지와,상기 메인 스토리지와 통신하는 하나 이상의 센트럴 프로세싱 유닛을 포함하고,상기 센트럴 프로세싱 유닛은설계된 범용 레지스터들과,어드레스 변환 버퍼들 -상기 어드레스 변환 버퍼는 어드레스 변환 정보를 유지하는(holding) 어드레스 변환 버퍼 엔트리들을 가짐- 과,상기 하나 이상의 프로세싱 유닛중 하나의 센트럴 프로세싱 유닛의 가상 메인 스토리지 어드레스들을 상기 컴퓨터 시스템의 메인 스토리지 어드레스들로 변환하기 위한 다수의 어드레스 변환 테이블과,하나 이상의 명령 실행 유닛 -상기 명령 실행 유닛은 상기 설계된 범용 레지스터와 통신하며, 상기 명령 실행 유닛은 상기 메인 스토리지로부터 펫치된 머신 명령들을 실행함-을 포함하며,상기 컴퓨터 시스템은실행될 머신 실행가능 명령(instruction)의 오퍼레이션코드(opcode)로부터 상기 명령이 제거 오퍼레이션의 실행을 개시하도록 구성되었는지 판단하는 단계와,상기 명령을 실행하는 단계를 포함하며, 상기 실행 단계는 제1 변환 테이블의 제1 변환 테이블 기점 어드레스 -상기 제1 변환 테이블 기점 어드레스는 2 이상의 변환 테이블 엔트리 범위의 제1 변환 테이블 엔트리를 포함함- 에 근거하여, 상기 어드레스 변환 버퍼로부터 상기 어드레스 변환 버퍼의 하나 이상의 제1 엔트리들 -상기 하나 이상의 제1 엔트리들은 상기 제1 변환 테이블 기점 어드레스와 관련됨- 을 선택적으로 제거하는 단계를 포함하는 방법을 실행시키는 명령들을 포함하는,어드레스 변환 버퍼 제거 시스템.
- 제22항 또는 제23항에 있어서,상기 제거 단계는 상기 어드레스 변환 버퍼내에서 상기 어드레스 변환 버퍼의 하나 이상의 제2 엔트리를 제거하지 않으며, 상기 하나 이상의 제2 엔트리는 상기 제1 변환 테이블 기점 어드레스와 관련이 없는,어드레스 변환 버퍼 제거 시스템.
- 제23항에 있어서,상기 2 이상의 변환 테이블 엔트리 범위를 무효화(invalidating)하는 단계를 더 포함하는,어드레스 변환 버퍼 제거 시스템.
- 컴퓨터 시스템내의 어드레스 변환 버퍼 엔트리들을 제거하기 위한 컴퓨터 판독가능 기록매체에 있어서, 상기 컴퓨터 시스템은 가상 어드레스를 메모리 어드레스로 변환하기 위한 변환 정보를 제공하는 하나 이상의 어드레스 변환 테이블을 포함하고, 각각의 어드레스 변환 버퍼 엔트리는 동적으로 어드레스 변환 정보를 캐싱(caching)하고,상기 컴퓨터 판독가능 기록매체는실행될 머신 실행가능 명령의 오퍼레이션코드로부터 상기 명령이 제거 오퍼레이션의 실행을 개시하도록 구성되었는지 판단하는 단계와,상기 명령을 실행하는 단계를 포함하며, 상기 실행 단계는 제1 변환 테이블의 제1 변환 테이블 기점 어드레스 -상기 제1 변환 테이블 기점 어드레스는 어드레스 공간 제어 요소(Address Space Control Element:ASCE) 어드레스, 영역 테이블 기점 어드레스 또는 세그먼트 테이블 기점 어드레스중 하나를 포함함- 에 근거하여, 상기 어드레스 변환 버퍼로부터 상기 어드레스 변환 버퍼의 하나 이상의 제1 엔트리들 -상기 하나 이상의 제1 엔트리들은 상기 제1 변환 테이블 기점 어드레스와 관련됨- 을 선택적으로 제거하는 단계를포함하는 방법을 수행하기 위한 프로세싱 회로를 실행시키는 명령들을 저장하며 상기 프로세싱 회로에 의해 판독가능한 저장 매체를 포함하는,컴퓨터 판독가능 기록매체.
- 컴퓨터 시스템내의 어드레스 변환 버퍼 엔트리들을 제거하기 위한 컴퓨터 판독가능 기록매체에 있어서, 상기 컴퓨터 시스템은 가상 어드레스를 메모리 어드레스로 변환하기 위한 변환 정보를 제공하는 하나 이상의 어드레스 변환 테이블을 포함하고, 각각의 어드레스 변환 버퍼 엔트리는 동적으로 어드레스 변환 정보를 캐싱(caching)하고,상기 컴퓨터 판독가능 기록매체는실행될 머신 실행가능 명령의 오퍼레이션코드로부터 상기 명령이 제거 오퍼레이션의 실행을 개시하도록 구성되었는지 판단하는 단계와,상기 명령을 실행하는 단계를 포함하며, 상기 실행 단계는 제1 변환 테이블의 제1 변환 테이블 기점 어드레스 -상기 제1 변환 테이블 기점 어드레스는 2 이상의 변환 테이블 엔트리 범위의 제1 변환 테이블 엔트리를 포함함- 에 근거하여, 상기 어드레스 변환 버퍼로부터 상기 어드레스 변환 버퍼의 하나 이상의 제1 엔트리들 -상기 하나 이상의 제1 엔트리들은 상기 제1 변환 테이블 기점 어드레스와 관련됨- 을 선택적으로 제거하는 단계를포함하는 방법을 수행하기 위한 프로세싱 회로를 실행시키는 명령들을 저장하며 상기 프로세싱 회로에 의해 판독가능한 저장 매체를 포함하는,컴퓨터 판독가능 기록매체.
- 제26항 또는 제27항에 있어서,상기 제거 단계는 상기 어드레스 변환 버퍼내에서 상기 어드레스 변환 버퍼의 하나 이상의 제2 엔트리를 제거하지 않으며, 상기 하나 이상의 제2 엔트리는 상기 제1 변환 테이블 기점 어드레스와 관련이 없는,컴퓨터 판독가능 기록매체.
- 제28항에 있어서,상기 2 이상의 변환 테이블 엔트리 범위를 무효화(invalidating)하는 단계를 더 포함하는,컴퓨터 판독가능 기록매체.
- 컴퓨터 시스템내의 변환 룩어사이드 버퍼(TLB) 어드레스 변환 버퍼의 어드레스 변환 버퍼 엔트리들을 제거하기 위한 방법에 있어서, 상기 컴퓨터 시스템은 가상 어드레스를 메모리 어드레스로 변환하기 위한 변환 정보를 제공하는 하나 이상의 어드레스 변환 테이블을 포함하고, 각각의 어드레스 변환 버퍼 엔트리는 동적으로 어드레스 변환 정보를 캐싱(caching)하고,상기 방법은,상기 컴퓨터 시스템이 메인 스토리지로부터 다이내믹 어드레스 변환 테이블 엔트리(Dynamic Address Translation Table Entry:IDTE) 명령을 펫치하는 단계 -상기 명령은 제2 정보를 판단하기 위한 오퍼레이션코드와 제2 필드를 포함하며, 상기 제2 정보는 어드레스 공간 제어 요소(ASCE) 어드레스 또는 어드레스 변환 테이블의 기점 어드레스를 포함하며, 상기 어드레스 변환 테이블의 기점 어드레스는 제2 영역 테이블 기점의 어드레스를 포함하는 엔트리를 갖는 제1 영역 테이블, 제3 영역 테이블 기점의 어드레스를 포함하는 엔트리를 갖는 제2 영역 테이블, 세그먼트 테이블 기점의 어드레스를 포함하는 엔트리를 갖는 제3 영역 테이블, 또는 메모리 어드레스를 포함하는 페이지 테이블 기점의 어드레스를 포함하는 엔트리를 갖는 세그먼트 테이블로 구성됨- 와,상기 오퍼레이션코드로부터 상기 명령이 제거 오퍼레이션의 실행을 개시하도록 구성되었는지 판단하는 단계와,상기 명령을 실행하는 단계를 포함하며,상기 실행 단계는,i)어드레스 변환 버퍼의 어드레스 변환 버퍼 엔트리가 상기 제2 정보와 관련되어 있는지 여부를 판단하는 단계와,j)상기 제2 정보와 관련된 것으로 판단된 상기 어드레스 변환 버퍼 엔트리를 제거하는 단계와,k) 다수의 어드레스 변환 버퍼 엔트리에 대해 i)-j) 단계를 반복하는 단계를 포함하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 제30항에 있어서,상기 컴퓨터 시스템은 다수의 TLB를 포함하며, 상기 컴퓨터 시스템의 상기 다수의 TLB에 대해 i)-k) 단계를 수행하는 단계를 더 포함하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 제30항에 있어서,상기 명령의 오퍼레이션을 에뮬레이팅하기 위해 미리 결정된 소프트웨어 루틴을 식별하기 위하여 상기 명령을 번역 -상기 미리 결정된 소프트웨어 루틴은 다수의 명령을 포함함- 하는 단계와,상기 미리 결정된 소프트웨어 루틴을 실행하는 단계를 더 포함하는,어드레스 변환 버퍼 엔트리 제거 방법.
- 컴퓨터 시스템내의 변환 룩어사이드 버퍼(TLB) 어드레스 변환 버퍼의 어드레스 변환 버퍼 엔트리들을 제거하기 위한 컴퓨터 판독가능 기록매체에 있어서, 상기 컴퓨터 시스템은 가상 어드레스를 메모리 어드레스로 변환하기 위한 변환 정보를 제공하는 하나 이상의 어드레스 변환 테이블을 포함하고, 각각의 어드레스 변환 버퍼 엔트리는 동적으로 어드레스 변환 정보를 캐싱(caching)하고,상기 컴퓨터 판독가능 기록매체는 제30항 내지 제32항 중 어느 한 항에 따른 방법의 각 단계를 수행하기 위한 명령을 포함하는,컴퓨터 판독가능 기록매체.
- 컴퓨터 시스템내의 어드레스 변환 버퍼들을 제거하기 위한 시스템에 있어서,상기 시스템은메인 스토리지와,상기 메인 스토리지와 통신하는 하나 이상의 센트럴 프로세싱 유닛을 포함하고,상기 센트럴 프로세싱 유닛은설계된 범용 레지스터들과,하나 이상의 변환 룩어사이드 버퍼(TLB) 어드레스 변환 버퍼들 -어드레스 변환 버퍼는 어드레스 변환 정보를 유지하는 어드레스 변환 버퍼 엔트리들을 가짐- 과,상기 하나 이상의 프로세싱 유닛중 하나의 센트럴 프로세싱 유닛의 가상 메인 스토리지 어드레스들을 상기 컴퓨터 시스템의 메인 스토리지 어드레스들로 변환하기 위한 다수의 어드레스 변환 테이블과,하나 이상의 명령 실행 유닛 -상기 명령 실행 유닛은 상기 설계된 범용 레지스터와 통신하며, 상기 명령 실행 유닛은 상기 메인 스토리지로부터 펫치된 머신 명령들을 실행함-을 포함하며,상기 컴퓨터 시스템은 제30항 내지 제32항 중 어느 한 항에 따른 방법의 각 단계를 실행시키는 명령을 포함하는,어드레스 변환 버퍼 제거 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/435,919 US7284100B2 (en) | 2003-05-12 | 2003-05-12 | Invalidating storage, clearing buffer entries, and an instruction therefor |
US10/435,919 | 2003-05-12 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057019375A Division KR100834362B1 (ko) | 2003-05-12 | 2004-05-06 | 스토리지 무효화, 버퍼 엔트리 제거 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060093140A KR20060093140A (ko) | 2006-08-23 |
KR100834365B1 true KR100834365B1 (ko) | 2008-06-02 |
Family
ID=33417045
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067015744A KR100834365B1 (ko) | 2003-05-12 | 2004-05-06 | 스토리지 무효화, 버퍼 엔트리 제거 |
KR1020057019375A KR100834362B1 (ko) | 2003-05-12 | 2004-05-06 | 스토리지 무효화, 버퍼 엔트리 제거 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057019375A KR100834362B1 (ko) | 2003-05-12 | 2004-05-06 | 스토리지 무효화, 버퍼 엔트리 제거 |
Country Status (16)
Country | Link |
---|---|
US (7) | US7284100B2 (ko) |
EP (5) | EP1653365B1 (ko) |
JP (1) | JP4608484B2 (ko) |
KR (2) | KR100834365B1 (ko) |
CN (2) | CN100363908C (ko) |
AT (5) | ATE430963T1 (ko) |
CY (2) | CY1111421T1 (ko) |
DE (6) | DE602004031628D1 (ko) |
DK (4) | DK1653343T3 (ko) |
ES (5) | ES2297417T3 (ko) |
GB (3) | GB2414842B (ko) |
IL (1) | IL171905A (ko) |
PL (4) | PL1653365T3 (ko) |
PT (2) | PT1653365E (ko) |
SI (2) | SI1653365T1 (ko) |
WO (1) | WO2004099997A1 (ko) |
Families Citing this family (101)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8463998B1 (en) | 2002-12-13 | 2013-06-11 | Open Text S.A. | System and method for managing page variations in a page delivery cache |
US8312222B1 (en) * | 2002-12-13 | 2012-11-13 | Open Text, S.A. | Event-driven regeneration of pages for web-based applications |
US9454490B2 (en) | 2003-05-12 | 2016-09-27 | International Business Machines Corporation | Invalidating a range of two or more translation table entries and instruction therefore |
US7284100B2 (en) * | 2003-05-12 | 2007-10-16 | International Business Machines Corporation | Invalidating storage, clearing buffer entries, and an instruction therefor |
US7530067B2 (en) * | 2003-05-12 | 2009-05-05 | International Business Machines Corporation | Filtering processor requests based on identifiers |
US7443878B2 (en) * | 2005-04-04 | 2008-10-28 | Sun Microsystems, Inc. | System for scaling by parallelizing network workload |
US7415034B2 (en) * | 2005-04-04 | 2008-08-19 | Sun Microsystems, Inc. | Virtualized partitionable shared network interface |
US7415035B1 (en) * | 2005-04-04 | 2008-08-19 | Sun Microsystems, Inc. | Device driver access method into a virtualized network interface |
JP2006333438A (ja) * | 2005-04-28 | 2006-12-07 | Fujitsu Ten Ltd | ゲートウェイ装置及びルーティング方法 |
US20070005932A1 (en) * | 2005-06-29 | 2007-01-04 | Intel Corporation | Memory management in a multiprocessor system |
JP4978008B2 (ja) * | 2006-01-11 | 2012-07-18 | 株式会社日立製作所 | 仮想計算機上でのページテーブルアドレスの変更を高速化する方法 |
JP2007233615A (ja) * | 2006-02-28 | 2007-09-13 | Fujitsu Ltd | アドレス変換装置 |
US7797555B2 (en) * | 2006-05-12 | 2010-09-14 | Intel Corporation | Method and apparatus for managing power from a sequestered partition of a processing system |
US7647509B2 (en) * | 2006-05-12 | 2010-01-12 | Intel Corporation | Method and apparatus for managing power in a processing system with multiple partitions |
US7401185B2 (en) * | 2006-07-06 | 2008-07-15 | International Business Machines Corporation | Buffered indexing to manage hierarchical tables |
US7555628B2 (en) * | 2006-08-15 | 2009-06-30 | Intel Corporation | Synchronizing a translation lookaside buffer to an extended paging table |
US20080270827A1 (en) * | 2007-04-26 | 2008-10-30 | International Business Machines Corporation | Recovering diagnostic data after out-of-band data capture failure |
US8799620B2 (en) | 2007-06-01 | 2014-08-05 | Intel Corporation | Linear to physical address translation with support for page attributes |
US8180997B2 (en) * | 2007-07-05 | 2012-05-15 | Board Of Regents, University Of Texas System | Dynamically composing processor cores to form logical processors |
US8145876B2 (en) * | 2007-08-06 | 2012-03-27 | Advanced Micro Devices, Inc. | Address translation with multiple translation look aside buffers |
US8417916B2 (en) * | 2008-01-11 | 2013-04-09 | International Business Machines Corporation | Perform frame management function instruction for setting storage keys and clearing blocks of main storage |
US8151083B2 (en) | 2008-01-11 | 2012-04-03 | International Business Machines Corporation | Dynamic address translation with frame management |
US8677098B2 (en) | 2008-01-11 | 2014-03-18 | International Business Machines Corporation | Dynamic address translation with fetch protection |
US8037278B2 (en) | 2008-01-11 | 2011-10-11 | International Business Machines Corporation | Dynamic address translation with format control |
US8019964B2 (en) | 2008-01-11 | 2011-09-13 | International Buisness Machines Corporation | Dynamic address translation with DAT protection |
US8082405B2 (en) | 2008-01-11 | 2011-12-20 | International Business Machines Corporation | Dynamic address translation with fetch protection |
US8103851B2 (en) | 2008-01-11 | 2012-01-24 | International Business Machines Corporation | Dynamic address translation with translation table entry format control for indentifying format of the translation table entry |
US8335906B2 (en) | 2008-01-11 | 2012-12-18 | International Business Machines Corporation | Perform frame management function instruction for clearing blocks of main storage |
US8041923B2 (en) | 2008-01-11 | 2011-10-18 | International Business Machines Corporation | Load page table entry address instruction execution based on an address translation format control field |
US8117417B2 (en) | 2008-01-11 | 2012-02-14 | International Business Machines Corporation | Dynamic address translation with change record override |
US8041922B2 (en) | 2008-01-11 | 2011-10-18 | International Business Machines Corporation | Enhanced dynamic address translation with load real address function |
US8176280B2 (en) | 2008-02-25 | 2012-05-08 | International Business Machines Corporation | Use of test protection instruction in computing environments that support pageable guests |
US8086811B2 (en) | 2008-02-25 | 2011-12-27 | International Business Machines Corporation | Optimizations of a perform frame management function issued by pageable guests |
US8112174B2 (en) * | 2008-02-25 | 2012-02-07 | International Business Machines Corporation | Processor, method and computer program product for fast selective invalidation of translation lookaside buffer |
US8095773B2 (en) | 2008-02-26 | 2012-01-10 | International Business Machines Corporation | Dynamic address translation with translation exception qualifier |
US8140834B2 (en) | 2008-02-26 | 2012-03-20 | International Business Machines Corporation | System, method and computer program product for providing a programmable quiesce filtering register |
US8458438B2 (en) * | 2008-02-26 | 2013-06-04 | International Business Machines Corporation | System, method and computer program product for providing quiesce filtering for shared memory |
US8527715B2 (en) | 2008-02-26 | 2013-09-03 | International Business Machines Corporation | Providing a shared memory translation facility |
US8380907B2 (en) * | 2008-02-26 | 2013-02-19 | International Business Machines Corporation | Method, system and computer program product for providing filtering of GUEST2 quiesce requests |
US8266411B2 (en) * | 2009-02-05 | 2012-09-11 | International Business Machines Corporation | Instruction set architecture with instruction characteristic bit indicating a result is not of architectural importance |
US8918601B2 (en) * | 2009-12-14 | 2014-12-23 | International Business Machines Corporation | Deferred page clearing in a multiprocessor computer system |
US8510511B2 (en) * | 2009-12-14 | 2013-08-13 | International Business Machines Corporation | Reducing interprocessor communications pursuant to updating of a storage key |
US8930635B2 (en) | 2009-12-14 | 2015-01-06 | International Business Machines Corporation | Page invalidation processing with setting of storage key to predefined value |
US8806179B2 (en) * | 2009-12-15 | 2014-08-12 | International Business Machines Corporation | Non-quiescing key setting facility |
US8214598B2 (en) * | 2009-12-22 | 2012-07-03 | Intel Corporation | System, method, and apparatus for a cache flush of a range of pages and TLB invalidation of a range of entries |
US8595469B2 (en) | 2010-06-24 | 2013-11-26 | International Business Machines Corporation | Diagnose instruction for serializing processing |
US8407701B2 (en) | 2010-06-24 | 2013-03-26 | International Business Machines Corporation | Facilitating quiesce operations within a logically partitioned computer system |
US8918885B2 (en) * | 2012-02-09 | 2014-12-23 | International Business Machines Corporation | Automatic discovery of system integrity exposures in system code |
US20130339656A1 (en) * | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Compare and Replace DAT Table Entry |
US9251091B2 (en) * | 2012-06-15 | 2016-02-02 | International Business Machines Corporation | Translation look-aside table management |
US9182984B2 (en) * | 2012-06-15 | 2015-11-10 | International Business Machines Corporation | Local clearing control |
US9043565B2 (en) * | 2012-09-07 | 2015-05-26 | Kabushiki Kaisha Toshiba | Storage device and method for controlling data invalidation |
US9196014B2 (en) | 2012-10-22 | 2015-11-24 | Industrial Technology Research Institute | Buffer clearing apparatus and method for computer graphics |
US9330017B2 (en) | 2012-11-02 | 2016-05-03 | International Business Machines Corporation | Suppressing virtual address translation utilizing bits and instruction tagging |
US9092382B2 (en) | 2012-11-02 | 2015-07-28 | International Business Machines Corporation | Reducing microprocessor performance loss due to translation table coherency in a multi-processor system |
US20140258635A1 (en) * | 2013-03-08 | 2014-09-11 | Oracle International Corporation | Invalidating entries in a non-coherent cache |
US10509725B2 (en) | 2013-03-08 | 2019-12-17 | Oracle International Corporation | Flushing by copying entries in a non-coherent cache to main memory |
US9465965B1 (en) | 2013-03-11 | 2016-10-11 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Adminstration | Methods, systems and apparatuses for radio frequency identification |
US9619387B2 (en) * | 2014-02-21 | 2017-04-11 | Arm Limited | Invalidating stored address translations |
US9886391B2 (en) * | 2014-03-20 | 2018-02-06 | International Business Machines Corporation | Selective purging of PCI I/O address translation buffer |
EP3172673B1 (en) * | 2014-07-21 | 2020-09-02 | VIA Alliance Semiconductor Co., Ltd. | Address translation cache that supports simultaneous invalidation of common context entries |
US9684606B2 (en) * | 2014-11-14 | 2017-06-20 | Cavium, Inc. | Translation lookaside buffer invalidation suppression |
US9697137B2 (en) * | 2014-11-14 | 2017-07-04 | Cavium, Inc. | Filtering translation lookaside buffer invalidations |
US9477516B1 (en) | 2015-03-19 | 2016-10-25 | Google Inc. | Concurrent in-memory data publication and storage system |
US10409606B2 (en) | 2015-06-26 | 2019-09-10 | Microsoft Technology Licensing, Llc | Verifying branch targets |
US10169044B2 (en) | 2015-06-26 | 2019-01-01 | Microsoft Technology Licensing, Llc | Processing an encoding format field to interpret header information regarding a group of instructions |
US9952867B2 (en) | 2015-06-26 | 2018-04-24 | Microsoft Technology Licensing, Llc | Mapping instruction blocks based on block size |
US11755484B2 (en) | 2015-06-26 | 2023-09-12 | Microsoft Technology Licensing, Llc | Instruction block allocation |
US10175988B2 (en) | 2015-06-26 | 2019-01-08 | Microsoft Technology Licensing, Llc | Explicit instruction scheduler state information for a processor |
US9946548B2 (en) | 2015-06-26 | 2018-04-17 | Microsoft Technology Licensing, Llc | Age-based management of instruction blocks in a processor instruction window |
US10409599B2 (en) | 2015-06-26 | 2019-09-10 | Microsoft Technology Licensing, Llc | Decoding information about a group of instructions including a size of the group of instructions |
US10346168B2 (en) | 2015-06-26 | 2019-07-09 | Microsoft Technology Licensing, Llc | Decoupled processor instruction window and operand buffer |
US10191747B2 (en) | 2015-06-26 | 2019-01-29 | Microsoft Technology Licensing, Llc | Locking operand values for groups of instructions executed atomically |
US10768936B2 (en) | 2015-09-19 | 2020-09-08 | Microsoft Technology Licensing, Llc | Block-based processor including topology and control registers to indicate resource sharing and size of logical processor |
US11126433B2 (en) | 2015-09-19 | 2021-09-21 | Microsoft Technology Licensing, Llc | Block-based processor core composition register |
US11016770B2 (en) | 2015-09-19 | 2021-05-25 | Microsoft Technology Licensing, Llc | Distinct system registers for logical processors |
US10942683B2 (en) | 2015-10-28 | 2021-03-09 | International Business Machines Corporation | Reducing page invalidation broadcasts |
US10248573B2 (en) | 2016-07-18 | 2019-04-02 | International Business Machines Corporation | Managing memory used to back address translation structures |
US10176111B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Host page management using active guest page table indicators |
US10180909B2 (en) | 2016-07-18 | 2019-01-15 | International Business Machines Corporation | Host-based resetting of active use of guest page table indicators |
US10223281B2 (en) | 2016-07-18 | 2019-03-05 | International Business Machines Corporation | Increasing the scope of local purges of structures associated with address translation |
US10162764B2 (en) | 2016-07-18 | 2018-12-25 | International Business Machines Corporation | Marking page table/page status table entries to indicate memory used to back address translation structures |
US10241924B2 (en) | 2016-07-18 | 2019-03-26 | International Business Machines Corporation | Reducing over-purging of structures associated with address translation using an array of tags |
US10176006B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Delaying purging of structures associated with address translation |
US10802986B2 (en) | 2016-07-18 | 2020-10-13 | International Business Machines Corporation | Marking to indicate memory used to back address translation structures |
US10282305B2 (en) | 2016-07-18 | 2019-05-07 | International Business Machines Corporation | Selective purging of entries of structures associated with address translation in a virtualized environment |
US10168902B2 (en) | 2016-07-18 | 2019-01-01 | International Business Machines Corporation | Reducing purging of structures associated with address translation |
US10176110B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Marking storage keys to indicate memory used to back address translation structures |
US10169243B2 (en) | 2016-07-18 | 2019-01-01 | International Business Machines Corporation | Reducing over-purging of structures associated with address translation |
US11531552B2 (en) | 2017-02-06 | 2022-12-20 | Microsoft Technology Licensing, Llc | Executing multiple programs simultaneously on a processor core |
US10528488B1 (en) * | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US10437729B2 (en) | 2017-04-19 | 2019-10-08 | International Business Machines Corporation | Non-disruptive clearing of varying address ranges from cache |
US10725928B1 (en) * | 2019-01-09 | 2020-07-28 | Apple Inc. | Translation lookaside buffer invalidation by range |
US11151267B2 (en) * | 2019-02-25 | 2021-10-19 | International Business Machines Corporation | Move data and set storage key based on key function control |
US11042483B2 (en) | 2019-04-26 | 2021-06-22 | International Business Machines Corporation | Efficient eviction of whole set associated cache or selected range of addresses |
US11182308B2 (en) * | 2019-11-07 | 2021-11-23 | Micron Technology, Inc. | Semiconductor device with secure access key and associated methods and systems |
US11132470B2 (en) * | 2019-11-07 | 2021-09-28 | Micron Technology, Inc. | Semiconductor device with secure access key and associated methods and systems |
US11030124B2 (en) | 2019-11-07 | 2021-06-08 | Micron Technology, Inc. | Semiconductor device with secure access key and associated methods and systems |
CN111338987B (zh) * | 2020-02-13 | 2023-12-12 | 江苏华创微系统有限公司 | 快速无效组相联tlb的方法 |
US11422946B2 (en) | 2020-08-31 | 2022-08-23 | Apple Inc. | Translation lookaside buffer striping for efficient invalidation operations |
US11615033B2 (en) | 2020-09-09 | 2023-03-28 | Apple Inc. | Reducing translation lookaside buffer searches for splintered pages |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0220451A2 (en) * | 1985-10-30 | 1987-05-06 | International Business Machines Corporation | A cache coherence mechanism based on locking |
US5946717A (en) | 1995-07-13 | 1999-08-31 | Nec Corporation | Multi-processor system which provides for translation look-aside buffer address range invalidation and address translation concurrently |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US592853A (en) * | 1897-11-02 | Electric battery | ||
US4432053A (en) | 1981-06-29 | 1984-02-14 | Burroughs Corporation | Address generating apparatus and method |
JPS5815195A (ja) | 1981-07-22 | 1983-01-28 | 株式会社日立製作所 | 制御棒駆動装置の自動交換装置 |
JPS5815196A (ja) | 1981-07-22 | 1983-01-28 | 株式会社日立製作所 | 蒸気発生プラント |
JPS58150196A (ja) | 1982-02-27 | 1983-09-06 | Fujitsu Ltd | 主記憶キ−の更新制御方式 |
JPS58150195A (ja) | 1982-02-27 | 1983-09-06 | Fujitsu Ltd | 主記憶キ−制御方式 |
JPS5994289A (ja) * | 1982-11-22 | 1984-05-30 | Hitachi Ltd | 記憶制御方式 |
US4779188A (en) * | 1983-12-14 | 1988-10-18 | International Business Machines Corporation | Selective guest system purge control |
US4792895A (en) * | 1984-07-30 | 1988-12-20 | International Business Machines Corp. | Instruction processing in higher level virtual machines by a real machine |
EP0206653B1 (en) | 1985-06-28 | 1992-10-21 | Hewlett-Packard Company | Method and means for loading and storing data in a reduced instruction set computer |
JP2545789B2 (ja) | 1986-04-14 | 1996-10-23 | 株式会社日立製作所 | 情報処理装置 |
JPS62295147A (ja) * | 1986-06-16 | 1987-12-22 | Hitachi Ltd | 仮想計算機システム |
JP2960415B2 (ja) * | 1987-05-22 | 1999-10-06 | 株式会社日立製作所 | 記憶保護方法および装置 |
JP2510605B2 (ja) | 1987-07-24 | 1996-06-26 | 株式会社日立製作所 | 仮想計算機システム |
JP2507785B2 (ja) * | 1988-07-25 | 1996-06-19 | 富士通株式会社 | ペ―ジテ―ブルエントリ無効化装置 |
JP2592958B2 (ja) * | 1989-06-30 | 1997-03-19 | キヤノン株式会社 | 液晶装置 |
US5471593A (en) | 1989-12-11 | 1995-11-28 | Branigin; Michael H. | Computer processor with an efficient means of executing many instructions simultaneously |
US5317705A (en) | 1990-10-24 | 1994-05-31 | International Business Machines Corporation | Apparatus and method for TLB purge reduction in a multi-level machine system |
US5500948A (en) * | 1991-10-29 | 1996-03-19 | Intel Corporation | Translating instruction pointer virtual addresses to physical addresses for accessing an instruction cache |
US5423014A (en) * | 1991-10-29 | 1995-06-06 | Intel Corporation | Instruction fetch unit with early instruction fetch mechanism |
JP3242161B2 (ja) | 1992-09-11 | 2001-12-25 | 株式会社日立製作所 | データプロセッサ |
US5615354A (en) * | 1992-12-23 | 1997-03-25 | International Business Machines Corporation | Method and system for controlling references to system storage by overriding values |
AU6629894A (en) | 1993-05-07 | 1994-12-12 | Apple Computer, Inc. | Method for decoding guest instructions for a host computer |
EP0649083B1 (en) | 1993-10-18 | 2000-07-19 | National Semiconductor Corporation | A microcontrol unit for a superpipelined, superscalar microprocessor |
JP2806778B2 (ja) | 1994-01-28 | 1998-09-30 | 甲府日本電気株式会社 | 変換索引バッファクリア命令処理方式 |
US6260130B1 (en) | 1994-05-11 | 2001-07-10 | International Business Machine Corp. International Property Law | Cache or TLB using a working and auxiliary memory with valid/invalid data field, status field, settable restricted access and a data entry counter |
US5551013A (en) | 1994-06-03 | 1996-08-27 | International Business Machines Corporation | Multiprocessor for hardware emulation |
US5790825A (en) | 1995-11-08 | 1998-08-04 | Apple Computer, Inc. | Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions |
US5761743A (en) * | 1996-06-28 | 1998-06-09 | Marmon Holdings, Inc. | Finger cot and method of manufacturing finger cot |
US5761734A (en) | 1996-08-13 | 1998-06-02 | International Business Machines Corporation | Token-based serialisation of instructions in a multiprocessor system |
US5782029A (en) * | 1996-09-25 | 1998-07-21 | Saf T Lok Corporation | Firearm safety mechanism |
JPH10301814A (ja) * | 1997-04-23 | 1998-11-13 | Hitachi Ltd | 情報処理システム |
US6009261A (en) | 1997-12-16 | 1999-12-28 | International Business Machines Corporation | Preprocessing of stored target routines for emulating incompatible instructions on a target processor |
US6079013A (en) | 1998-04-30 | 2000-06-20 | International Business Machines Corporation | Multiprocessor serialization with early release of processors |
US6119219A (en) | 1998-04-30 | 2000-09-12 | International Business Machines Corporation | System serialization with early release of individual processor |
US6199219B1 (en) | 1998-05-08 | 2001-03-13 | Howard Silken | Device to facilitate removal of a helmet face mask |
US6308255B1 (en) | 1998-05-26 | 2001-10-23 | Advanced Micro Devices, Inc. | Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system |
US6119204A (en) | 1998-06-30 | 2000-09-12 | International Business Machines Corporation | Data processing system and method for maintaining translation lookaside buffer TLB coherency without enforcing complete instruction serialization |
US6978357B1 (en) | 1998-07-24 | 2005-12-20 | Intel Corporation | Method and apparatus for performing cache segment flush and cache segment invalidation operations |
US6463582B1 (en) | 1998-10-21 | 2002-10-08 | Fujitsu Limited | Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method |
GB9825102D0 (en) | 1998-11-16 | 1999-01-13 | Insignia Solutions Plc | Computer system |
US6467007B1 (en) | 1999-05-19 | 2002-10-15 | International Business Machines Corporation | Processor reset generated via memory access interrupt |
US6587964B1 (en) * | 2000-02-18 | 2003-07-01 | Hewlett-Packard Development Company, L.P. | Transparent software emulation as an alternative to hardware bus lock |
US6604187B1 (en) | 2000-06-19 | 2003-08-05 | Advanced Micro Devices, Inc. | Providing global translations with address space numbers |
US6651132B1 (en) * | 2000-07-17 | 2003-11-18 | Microsoft Corporation | System and method for emulating the operation of a translation look-aside buffer |
EP1182570A3 (en) | 2000-08-21 | 2004-08-04 | Texas Instruments Incorporated | TLB with resource ID field |
US6684305B1 (en) | 2001-04-24 | 2004-01-27 | Advanced Micro Devices, Inc. | Multiprocessor system implementing virtual memory using a shared memory, and a page replacement method for maintaining paged memory coherence |
US6715050B2 (en) * | 2001-05-31 | 2004-03-30 | Oracle International Corporation | Storage access keys |
US6801993B2 (en) * | 2001-09-28 | 2004-10-05 | International Business Machines Corporation | Table offset for shortening translation tables from their beginnings |
US6931471B2 (en) * | 2002-04-04 | 2005-08-16 | International Business Machines Corporation | Method, apparatus, and computer program product for migrating data subject to access by input/output devices |
US7197585B2 (en) * | 2002-09-30 | 2007-03-27 | International Business Machines Corporation | Method and apparatus for managing the execution of a broadcast instruction on a guest processor |
JP3936672B2 (ja) * | 2003-04-30 | 2007-06-27 | 富士通株式会社 | マイクロプロセッサ |
US7356710B2 (en) | 2003-05-12 | 2008-04-08 | International Business Machines Corporation | Security message authentication control instruction |
US7284100B2 (en) | 2003-05-12 | 2007-10-16 | International Business Machines Corporation | Invalidating storage, clearing buffer entries, and an instruction therefor |
US7530067B2 (en) * | 2003-05-12 | 2009-05-05 | International Business Machines Corporation | Filtering processor requests based on identifiers |
-
2003
- 2003-05-12 US US10/435,919 patent/US7284100B2/en not_active Expired - Lifetime
-
2004
- 2004-05-06 DE DE602004031628T patent/DE602004031628D1/de not_active Expired - Lifetime
- 2004-05-06 EP EP05108507A patent/EP1653365B1/en not_active Expired - Lifetime
- 2004-05-06 JP JP2006506228A patent/JP4608484B2/ja not_active Expired - Lifetime
- 2004-05-06 KR KR1020067015744A patent/KR100834365B1/ko active IP Right Grant
- 2004-05-06 PL PL05108507T patent/PL1653365T3/pl unknown
- 2004-05-06 GB GB0518904A patent/GB2414842B/en not_active Expired - Lifetime
- 2004-05-06 ES ES04731399T patent/ES2297417T3/es not_active Expired - Lifetime
- 2004-05-06 CN CNB2004800118949A patent/CN100363908C/zh not_active Expired - Lifetime
- 2004-05-06 AT AT06116358T patent/ATE430963T1/de active
- 2004-05-06 AT AT08150756T patent/ATE449374T1/de not_active IP Right Cessation
- 2004-05-06 DK DK05108510.8T patent/DK1653343T3/da active
- 2004-05-06 EP EP06116358A patent/EP1701269B1/en not_active Expired - Lifetime
- 2004-05-06 DK DK05108507.4T patent/DK1653365T3/da active
- 2004-05-06 PT PT05108507T patent/PT1653365E/pt unknown
- 2004-05-06 GB GB0518901A patent/GB2414841B/en not_active Expired - Lifetime
- 2004-05-06 DE DE602004030452T patent/DE602004030452D1/de not_active Expired - Lifetime
- 2004-05-06 CN CNB2006101218343A patent/CN100397368C/zh not_active Expired - Lifetime
- 2004-05-06 ES ES08150756T patent/ES2336973T3/es not_active Expired - Lifetime
- 2004-05-06 ES ES05108510T patent/ES2357802T3/es not_active Expired - Lifetime
- 2004-05-06 SI SI200431659T patent/SI1653365T1/sl unknown
- 2004-05-06 AT AT05108507T patent/ATE500553T1/de active
- 2004-05-06 PL PL06116358T patent/PL1701269T3/pl unknown
- 2004-05-06 DE DE602004021030T patent/DE602004021030D1/de not_active Expired - Lifetime
- 2004-05-06 AT AT05108510T patent/ATE491178T1/de active
- 2004-05-06 DK DK06116358T patent/DK1701269T3/da active
- 2004-05-06 PL PL04731399T patent/PL1588267T3/pl unknown
- 2004-05-06 GB GB0516192A patent/GB2413876B/en not_active Expired - Lifetime
- 2004-05-06 DE DE602004011018T patent/DE602004011018T2/de not_active Expired - Lifetime
- 2004-05-06 PT PT05108510T patent/PT1653343E/pt unknown
- 2004-05-06 DK DK04731399T patent/DK1588267T3/da active
- 2004-05-06 EP EP08150756A patent/EP1914627B1/en not_active Expired - Lifetime
- 2004-05-06 DE DE112004000464T patent/DE112004000464T5/de not_active Ceased
- 2004-05-06 EP EP04731399A patent/EP1588267B1/en not_active Expired - Lifetime
- 2004-05-06 ES ES06116358T patent/ES2327058T3/es not_active Expired - Lifetime
- 2004-05-06 ES ES05108507T patent/ES2359893T3/es not_active Expired - Lifetime
- 2004-05-06 SI SI200431564T patent/SI1653343T1/sl unknown
- 2004-05-06 KR KR1020057019375A patent/KR100834362B1/ko active IP Right Grant
- 2004-05-06 AT AT04731399T patent/ATE382896T1/de active
- 2004-05-06 WO PCT/GB2004/001971 patent/WO2004099997A1/en active IP Right Grant
- 2004-05-06 EP EP05108510A patent/EP1653343B1/en not_active Expired - Lifetime
- 2004-05-06 DE DE602004024254T patent/DE602004024254D1/de not_active Expired - Lifetime
- 2004-05-06 PL PL05108510T patent/PL1653343T3/pl unknown
-
2005
- 2005-08-09 US US11/199,666 patent/US7197601B2/en not_active Expired - Lifetime
- 2005-08-15 US US11/204,321 patent/US7281115B2/en not_active Expired - Lifetime
- 2005-08-15 US US11/204,131 patent/US20060036824A1/en not_active Abandoned
- 2005-11-13 IL IL171905A patent/IL171905A/en active IP Right Grant
-
2007
- 2007-04-10 US US11/733,224 patent/US7890731B2/en active Active
-
2010
- 2010-12-22 CY CY20101101184T patent/CY1111421T1/el unknown
-
2011
- 2011-01-13 US US13/005,659 patent/US8122224B2/en not_active Expired - Lifetime
- 2011-03-23 CY CY20111100318T patent/CY1111466T1/el unknown
-
2012
- 2012-01-13 US US13/349,724 patent/US8452942B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0220451A2 (en) * | 1985-10-30 | 1987-05-06 | International Business Machines Corporation | A cache coherence mechanism based on locking |
US5946717A (en) | 1995-07-13 | 1999-08-31 | Nec Corporation | Multi-processor system which provides for translation look-aside buffer address range invalidation and address translation concurrently |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100834365B1 (ko) | 스토리지 무효화, 버퍼 엔트리 제거 | |
US9804970B2 (en) | Invalidating a range of two or more translation table entries and instruction therefor | |
US9182984B2 (en) | Local clearing control | |
US20130339656A1 (en) | Compare and Replace DAT Table Entry | |
US10423537B2 (en) | Address space resizing table for simulation of processing of target program code on a target data processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130425 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140425 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150427 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160427 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20170426 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20180427 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20190508 Year of fee payment: 12 |