KR100834362B1 - 스토리지 무효화, 버퍼 엔트리 제거 - Google Patents
스토리지 무효화, 버퍼 엔트리 제거 Download PDFInfo
- Publication number
- KR100834362B1 KR100834362B1 KR1020057019375A KR20057019375A KR100834362B1 KR 100834362 B1 KR100834362 B1 KR 100834362B1 KR 1020057019375 A KR1020057019375 A KR 1020057019375A KR 20057019375 A KR20057019375 A KR 20057019375A KR 100834362 B1 KR100834362 B1 KR 100834362B1
- Authority
- KR
- South Korea
- Prior art keywords
- address translation
- entry
- entries
- invalidating
- translation table
- Prior art date
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 99
- 238000003860 storage Methods 0.000 title claims description 147
- 238000013519 translation Methods 0.000 claims abstract description 154
- 238000000034 method Methods 0.000 claims abstract description 76
- 238000012545 processing Methods 0.000 claims abstract description 33
- 230000006870 function Effects 0.000 claims description 19
- 230000008030 elimination Effects 0.000 claims description 6
- 238000003379 elimination reaction Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims 3
- 230000003247 decreasing effect Effects 0.000 claims 1
- 238000013138 pruning Methods 0.000 claims 1
- 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
- 238000006243 chemical reaction Methods 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
- 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/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/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/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)
- Advance Control (AREA)
- Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
Description
Claims (27)
- 컴퓨터 시스템에서 어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법에 있어서,상기 방법은실행될 머신 실행가능 명령(instruction)의 오퍼레이션코드(opcode)로부터 상기 머신 실행가능 명령이 다기능 무효화 다이내믹 어드레스 변환 테이블 엔트리(Invalidate Dynamic Address Translation Table Entry:IDTE) 컴퓨터 명령인지를 판단하는 단계 -상기 무효화 다이내믹 어드레스 변환 테이블 엔트리(IDTE) 명령은 무효화 및 제거 기능 또는 제거 기능중 임의의 하나로 구성되는 기능을 수행하기 위해 구성됨- 와,수행될 상기 기능이 무효화 및 제거 기능일 때,a) 상기 무효화 다이내믹 어드레스 변환 테이블 엔트리(IDTE) 명령에 의해 제공되는 정보로부터 무효화될 하나 이상의 어드레스 변환 테이블 엔트리 범위의 제1 변환 테이블 엔트리의 제1 변환 테이블 엔트리 어드레스를 판단하는 단계와,b) 상기 무효화 다이내믹 어드레스 변환 테이블 엔트리(IDTE) 명령에 의해 제공되는 정보로부터 무효화될 어드레스 변환 테이블 엔트리의 수를 지시하는 범위 값을 판단하는 단계와,c) 상기 범위 값에 의해 지시되는 상기 하나 이상의 어드레스 변환 테이블 엔트리를 무효화하는 단계와,d) 어드레스 변환 버퍼 엔트리의 어드레스 변환 버퍼를 제거하는 단계 -상기 어드레스 변환 버퍼 엔트리는 하나 이상의 어드레스 변환 테이블 엔트리 범위의 어드레스 변환 테이블 엔트리와 관련됨- 를 수행하는 단계를 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제1항에 있어서,수행될 상기 기능이 제거 기능일 때,e) 상기 무효화 다이내믹 어드레스 변환 테이블 엔트리(IDTE) 명령에 의해 제공되는 정보로부터 제2 변환 테이블 엔트리의 제2 변환 테이블 엔트리 어드레스를 판단하는 단계와,f) 어드레스 변환 버퍼 엔트리의 어드레스 변환 버퍼를 제거하는 단계 -상기 어드레스 변환 버퍼 엔트리는 제2 어드레스 변환 테이블 엔트리 어드레스와 관련됨-를 수행하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제1항에 있어서,상기 컴퓨터 시스템은 메인 스토리지와 통신하는 하나 이상의 센트럴 프로세싱 유닛을 포함하며, 상기 센트럴 프로세싱 유닛은 설계된(architected) 범용 레지스터를 구비하며, 상기 센트럴 프로세싱 유닛은 어드레스 변환 버퍼를 구비하며, 상기 어드레스 변환 버퍼는 어드레스 변환 정보를 유지하는(holding) 어드레스 변환 버퍼 엔트리를 구비하며, 상기 컴퓨터 시스템은 상기 하나 이상의 프로세싱 유닛중 하나의 센트럴 프로세싱 유닛의 가상 메인 스토리지 어드레스를 상기 컴퓨터 시스템의 메인 스토리지 어드레스로 변환하기 위한 페이지 테이블 및 어드레스 변환 테이블을 구비하며,상기 어드레스 변환 테이블은하나 이상의 세그먼트 테이블,하나 이상의 세그먼트 테이블 및 하나 이상의 제1 영역 테이블,하나 이상의 세그먼트 테이블 및 하나 이상의 제1 영역 테이블 및 하나 이상의 제2 영역 테이블, 또는하나 이상의 세그먼트 테이블 및 하나 이상의 제1 영역 테이블 및 하나 이상의 제2 영역 테이블 및 하나 이상의 제3 영역 테이블중 임의의 하나로 구성되며,세그먼트 테이블 엔트리는 페이지 테이블 기점(origin)을 포함하며,상기 방법은,상기 무효화 다이내믹 어드레스 변환 테이블 엔트리(IDTE) 명령에 의해 지정되는 위치로부터 제2 정보를 검색하는 단계 -상기 제2 정보는 펫치된 다기능 IDTE 명령의 기능의 지시(indication)를 포함하며, 상기 기능은 무효화 및 제거 기능 또는 제거 기능중 임의의 하나로 구성됨- 를 더 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제3항에 있어서,상기 센트럴 프로세싱 유닛이 상기 메인 스토리지로부터 상기 무효화 다이내믹 어드레스 변환 테이블 엔트리(IDTE) 명령을 펫치(fetch)하는 단계 -상기 명령은 무효화를 위한 어드레스 변환 테이블 기점 위치를 포함하는 제1 정보를 정하기 위한 제1 필드와, 상기 제거 기능을 위한 어드레스 변환 테이블 기점을 포함하는 제3 정보를 정하기 위한 제3 필드를 포함함- 와,펫치된 상기 명령의 상기 오퍼레이션코드로부터 상기 펫치된 명령이 상기 무효화 다이내믹 어드레스 변환 테이블 엔트리(IDTE) 명령인지 판단하는 단계를 더 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제4항에 있어서,펫치된 상기 IDTE 명령의 상기 기능이 상기 제거 기능일 때,h) 상기 제3 정보가 존재하는 경우, 상기 제3 정보를 검색하는 단계와,i) 어드레스 변환 버퍼의 어드레스 변환 버퍼 엔트리의 미리 결정된 어드레스 변환 버퍼 엔트리 부분이 상기 제3 정보를 포함하는지 여부를 판단하는 단계와,j) 제거를 위한 상기 어드레스 변환 테이블 기점의 값을 갖는 것으로 판단된 어드레스 변환 버퍼 엔트리를 제거하는 단계와,k) 다수의 어드레스 변환 버퍼 엔트리에 대해 상기 i)-j) 단계를 반복하는 단계를 수행하는 단계를 더 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제1항에 있어서,상기 IDTE 명령은 상기 오퍼레이션코드와 제1 필드, 제2 필드 및 제3 필드를 포함하는 32 연속 비트로 구성되며, 상기 오퍼레이션코드 필드는 16 연속 비트로 구성되며, 제1 필드는 4 연속 비트로 구성되며, 제2 필드는 4 연속 비트로 구성되며, 제3 필드는 4 연속 비트로 구성되며, 상기 제1 필드의 연속 비트는 상기 제2 필드의 연속 비트와 연속이며 상기 제1 필드, 제2 필드 그리고 제3 필드 각각은 컴퓨터 설계된 하드웨어 레지스터 공간의 범용 레지스터를 지정하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제4항에 있어서,상기 제1 필드는 상기 제1 정보를 제1 설계된 범용 레지스터에 정하고, 무효화를 위한 상기 어드레스 변환 테이블 기점 위치는 영역 테이블 또는 세그먼트 테이블중 임의의 하나의 어드레스를 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제7항에 있어서,상기 제1 정보는 무효화를 위한 하나 이상의 영역 테이블 또는 무효화를 위한 세그먼트 테이블중 임의의 하나를 지명(designating)하기 위한 지명 타입 제어 필드 (designation type control field)를 더 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제3항에 있어서,상기 제2 정보는제1 영역 인덱스 필드,제2 영역 인덱스 필드,제3 영역 인덱스 필드 또는세그먼트 인덱스 필드중 임의의 하나를 더 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제4항에 있어서,상기 제3 필드는 상기 제3 정보를 제3 설계된 범용 레지스터에 정하고,제거를 위한 상기 어드레스 변환 테이블 기점은ASCE(Address Space Control Element) 어드레스,제거를 위한 영역 테이블 기점 또는제거를 위한 세그먼트 테이블 기점중 임의의 하나를 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제4항에 있어서,상기 제3 필드가 0일 때, 임의의 엔트리중 임의의 하나가 제거되거나 또는 상기 제3 정보가 ASCE(Address Space Control Element) 어드레스를 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제3항에 있어서,상기 무효화 다이내믹 어드레스 변환 테이블 엔트리(IDTE) 명령은 상기 센트럴 프로세싱 유닛의 명령 아키텍쳐에서 전용(native)되는 것인,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제3항에 있어서,상기 무효화 다이내믹 어드레스 변환 테이블 엔트리(IDTE) 명령은 상기 센트럴 프로세싱 유닛의 명령 아키텍쳐에서 전용(native)되는 것이 아니며,상기 IDTE 명령의 오퍼레이션을 에뮬레이팅(emulating)하기 위한 미리 결정된 소프트웨어 루틴을 식별하기 위하여 상기 IDTE 명령을 번역(interpreting) -상기 미리 결정된 소프트웨어 루틴은 다수의 명령을 포함함- 하는 단계와,상기 미리 결정된 소프트웨어 루틴을 실행하는 단계를 더 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제4항에 있어서,상기 제1 정보는 무효화를 위한 영역 테이블 기점 또는 무효화를 위한 세그먼트 테이블 기점중 하나를 더 포함하며, 상기 명령은 상기 제2 정보를 포함하는 제2 설계된 범용 레지스터를 정하기 위한 제2 필드를 포함하고, 상기 제2 정보는 영역 인덱스 필드 또는 세그먼트 인덱스 필드중 하나를 더 포함하며,하나 이상의 어드레스 변환 테이블 엔트리의 미리 결정된 범위를 무효화하는 단계는제1 영역 엔트리, 제2 영역 엔트리 또는 제3 영역 엔트리를 무효화할때aa) 타겟 영역 엔트리의 어드레스를 형성하기 위해 상기 제1 영역 인덱스, 제2 영역 인덱스 또는 제3 영역 인덱스중 하나를 무효화를 위한 상기 영역 테이블 기점에 부가(adding)하는 단계와,ba) 타겟 영역 엔트리의 어드레스에 위치하는 타겟 영역 엔트리를 무효화하는 단계와,ca) 상기 타겟 영역 엔트리의 어드레스를 증분(incrementing)하는 단계와,da) 무효화될 엔트리의 범위의 값을 감소(decrementing)시키는 단계와,ea) 무효화될 엔트리의 범위의 감소된 값이 0보다 클때 aa) 내지 da) 단계를 반복하는 단계를 수행하며,세그먼트 엔트리를 무효화할때fa) 타겟 세그먼트 엔트리를 형성하기 위해 무효화를 위한 세그먼트 테이블 기점에 상기 세그먼트 인덱스 필드를 부가하는 단계와,ga) 타겟 세그먼트 엔트리의 어드레스에 위치하는 타겟 세그먼트 엔트리를 무효화하는 단계와,ha) 상기 타겟 세그먼트 엔트리의 어드레스를 증분하는 단계와,ia) 무효화될 엔트리의 범위의 값을 감소시키는 단계와,ja) 무효화될 엔트리의 범위의 감소된 값이 0보다 클때 fa) 내지 ja)단계를 반복하는 단계를 수행하며,무효화될 엔트리의 범위의 감소된 값이 0일때 상기 IDTE 명령의 실행을 끝내는 단계를 더 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제14항에 있어서,상기 무효화될 엔트리의 범위의 감소된 값을 상기 제2 필드에 의해 식별되는 상기 제2 정보 위치에 저장하는 단계를 더 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제4항에 있어서,상기 제1 정보는 무효화될제1 영역 엔트리,제2 영역 엔트리,제3 영역 엔트리 또는세그먼트 엔트리중 하나를 지명하기 위한 지명 타입 필드를 더 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제1항에 있어서,상기 어드레스 변환 버퍼는 변환 룩어사이드 버퍼(Translation Lookaside Buffer:TLB)로 구성되는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제1항에 있어서,상기 범위 값에 의해 지시되는 상기 하나 이상의 어드레스 변환 테이블 엔트리를 무효화하는 단계는 어드레스 변환 테이블 엔트리의 엔트리 무효 필드(entry invalid field)를 무효로 마킹(marking)하는 단계를 더 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제1항에 있어서,상기 어드레스 변환 버퍼는상기 센트럴 프로세싱 유닛과 관련된 어드레스 변환 버퍼,상기 컴퓨터 시스템의 또 다른 센트럴 프로세싱 유닛과 관련된 어드레스 변환 버퍼, 또는상기 컴퓨터 시스템과 관련된 모든 어드레스 변환 버퍼중 하나인,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제3항에 있어서,무효화될 어드레스 변환 테이블 엔트리를 결정하는 단계는c1) 무효화하기 위한 엔트리를 찾도록 제1 영역 인덱스 필드의 값에 기초하여 제1 영역 테이블로 인덱싱(indexing) -상기 무효화하기 위한 엔트리는 제2 영역 테이블 기점을 포함함- 하는 단계와,c2) 무효화하기 위한 엔트리를 찾도록 제2 영역 인덱스 필드의 값에 기초하여 제2 영역 테이블로 인덱싱 -상기 무효화하기 위한 엔트리는 제3 영역 테이블 기점을 포함함- 하는 단계와,c3) 무효화하기 위한 엔트리를 찾도록 제3 영역 인덱스 필드의 값에 기초하여 제3 영역 테이블로 인덱싱 -상기 무효화하기 위한 엔트리는 세그먼트 기점을 포함함- 하는 단계와,c4) 무효화하기 위한 엔트리를 찾도록 세그먼트 인덱스 필드의 값에 기초하여 세그먼트 테이블로 인덱싱 -상기 무효화하기 위한 엔트리는 페이지 테이블 기점을 포함함- 하는 단계중 임의의 하나의 단계와상기 범위 값을 감소시키는 단계로 구성되는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제4항에 있어서,상기 제거 단계는어드레스 변환 버퍼의 어드레스 변환 버퍼 엔트리의 어드레스 변환 버퍼 엔트리 부분이 제거를 위한 값을 포함하는지 여부를 판단하는 단계를 더 포함하며,상기 제거를 위한 값을 포함하는지 여부를 판단하는 단계는e1) 제거하기 위한 엔트리를 찾도록 제1 영역 인덱스 필드의 값에 기초하여 제1 영역 테이블로 인덱싱 -상기 제거하기 위한 엔트리는 제2 영역 테이블 기점을 포함함- 하는 단계와,e2) 제거하기 위한 엔트리를 찾도록 제2 영역 인덱스 필드의 값에 기초하여 제2 영역 테이블로 인덱싱 -상기 제거하기 위한 엔트리는 제3 영역 테이블 기점을 포함함- 하는 단계와,e3) 제거하기 위한 엔트리를 찾도록 제3 영역 인덱스 필드의 값에 기초하여 제3 영역 테이블로 인덱싱 -상기 제거하기 위한 엔트리는 세그먼트 테이블 기점을 포함함- 하는 단계와,e4) 제거하기 위한 엔트리를 찾도록 세그먼트 인덱스 필드의 값에 기초하여 세그먼트 테이블로 인덱싱 -상기 제거하기 위한 엔트리는 페이지 테이블 기점을 포함함- 하는 단계중 임의의 하나를 포함하며,상기 방법은 제거하기 위한 상기 엔트리를 버퍼링하는 어드레스 변환 버퍼를 제거하는 단계를 더 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제2항에 있어서,상기 센트럴 프로세싱 유닛은 페이지 테이블 -상기 페이지 테이블은 리얼 메인 스토리지 어드레스를 가지며, 리얼 메인 스토리지 어드레스는 완전(absolute) 어드레스, 리얼 어드레스 또는 물리적 어드레스중 임의의 하나를 포함함- 을 더 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제4항에 있어서,제3 필드의 값에 의존하는 제3 필드는상기 제3 필드가 0일때 상기 제3 정보는 ASCE(Address Space Control Element)로부터 형성되는 단계와,상기 제3 필드가 0보다 클때 설계된 범용 레지스터로부터 제3 정보를 검색하는 단계를 더 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 제3항에 있어서,상기 제2 정보의 비트 52가 0일 때 상기 제2 정보는 상기 무효화 및 제거 기능을 지시하며, 상기 제2 정보의 비트 52가 1일 때 상기 제2 정보는 상기 제거 기능을 지시하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 방법.
- 삭제
- 컴퓨터 시스템에서 어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 컴퓨터 프로그램이 기록된 컴퓨터 판독가능 기록매체에 있어서,상기 컴퓨터 프로그램은 제1항 내지 제24항 중 어느 한 항에 따른 방법의 각 단계를 수행하기 위한 명령을 포함하는,컴퓨터 판독가능 기록매체.
- 컴퓨터 시스템에서 어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 시스템에 있어서,상기 시스템은메인 스토리지와,상기 메인 스토리지와 통신하는 하나 이상의 센트럴 프로세싱 유닛을 포함하며,상기 센트럴 프로세싱 유닛은설계된 범용 레지스터와,어드레스 변환 정보를 유지하는 어드레스 변환 버퍼 엔트리를 갖는 어드레스 변환 버퍼와,상기 하나 이상의 프로세싱 유닛중 하나의 센트럴 프로세싱 유닛의 가상 메인 스토리지 어드레스를 상기 컴퓨터 시스템의 메인 스토리지 어드레스로 변환하기 위한 어드레스 변환 테이블과,상기 설계된 범용 레지스터와 통신하는 하나 이상의 명령 실행 유닛 -상기 명령 실행 유닛은 상기 메인 스토리지로부터 펫치된 머신 명령을 실행함-을 포함하며,상기 컴퓨터 시스템은 제1항 내지 제24항 중 어느 한 항에 따른 방법의 각 단계를 실행하기 위한 명령을 포함하는,어드레스 변환 버퍼를 제거하고 관련된 스토리지 어드레스 변환 테이블 엔트리를 무효화하기 위한 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/435,919 | 2003-05-12 | ||
US10/435,919 US7284100B2 (en) | 2003-05-12 | 2003-05-12 | Invalidating storage, clearing buffer entries, and an instruction therefor |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067015744A Division KR100834365B1 (ko) | 2003-05-12 | 2004-05-06 | 스토리지 무효화, 버퍼 엔트리 제거 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060014030A KR20060014030A (ko) | 2006-02-14 |
KR100834362B1 true KR100834362B1 (ko) | 2008-06-02 |
Family
ID=33417045
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057019375A KR100834362B1 (ko) | 2003-05-12 | 2004-05-06 | 스토리지 무효화, 버퍼 엔트리 제거 |
KR1020067015744A KR100834365B1 (ko) | 2003-05-12 | 2004-05-06 | 스토리지 무효화, 버퍼 엔트리 제거 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067015744A KR100834365B1 (ko) | 2003-05-12 | 2004-05-06 | 스토리지 무효화, 버퍼 엔트리 제거 |
Country Status (16)
Country | Link |
---|---|
US (7) | US7284100B2 (ko) |
EP (5) | EP1653343B1 (ko) |
JP (1) | JP4608484B2 (ko) |
KR (2) | KR100834362B1 (ko) |
CN (2) | CN100363908C (ko) |
AT (5) | ATE382896T1 (ko) |
CY (2) | CY1111421T1 (ko) |
DE (6) | DE602004021030D1 (ko) |
DK (4) | DK1653343T3 (ko) |
ES (5) | ES2327058T3 (ko) |
GB (3) | GB2413876B (ko) |
IL (1) | IL171905A (ko) |
PL (4) | PL1653343T3 (ko) |
PT (2) | PT1653365E (ko) |
SI (2) | SI1653343T1 (ko) |
WO (1) | WO2004099997A1 (ko) |
Families Citing this family (101)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8312222B1 (en) * | 2002-12-13 | 2012-11-13 | Open Text, S.A. | Event-driven regeneration of pages for web-based applications |
US8463998B1 (en) | 2002-12-13 | 2013-06-11 | Open Text S.A. | System and method for managing page variations in a page delivery cache |
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 |
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 |
US7415035B1 (en) * | 2005-04-04 | 2008-08-19 | Sun Microsystems, Inc. | Device driver access method into a virtualized network interface |
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 |
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 |
US8041922B2 (en) | 2008-01-11 | 2011-10-18 | International Business Machines Corporation | Enhanced dynamic address translation with load real address function |
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 |
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 |
US8151083B2 (en) | 2008-01-11 | 2012-04-03 | International Business Machines Corporation | Dynamic address translation with frame management |
US8037278B2 (en) | 2008-01-11 | 2011-10-11 | International Business Machines Corporation | Dynamic address translation with format control |
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 |
US8082405B2 (en) | 2008-01-11 | 2011-12-20 | International Business Machines Corporation | Dynamic address translation with fetch protection |
US8019964B2 (en) | 2008-01-11 | 2011-09-13 | International Buisness Machines Corporation | Dynamic address translation with DAT protection |
US8677098B2 (en) | 2008-01-11 | 2014-03-18 | International Business Machines Corporation | Dynamic address translation with fetch protection |
US8117417B2 (en) | 2008-01-11 | 2012-02-14 | International Business Machines Corporation | Dynamic address translation with change record override |
US8335906B2 (en) | 2008-01-11 | 2012-12-18 | International Business Machines Corporation | Perform frame management function instruction for clearing blocks of main storage |
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 |
US8086811B2 (en) | 2008-02-25 | 2011-12-27 | International Business Machines Corporation | Optimizations of a perform frame management function issued by pageable guests |
US8176279B2 (en) | 2008-02-25 | 2012-05-08 | International Business Machines Corporation | Managing use of storage by multiple pageable guests of a computing environment |
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 |
US8527715B2 (en) * | 2008-02-26 | 2013-09-03 | International Business Machines Corporation | Providing a shared memory translation facility |
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 |
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 |
US8930635B2 (en) * | 2009-12-14 | 2015-01-06 | International Business Machines Corporation | Page invalidation processing with setting of storage key to predefined value |
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 |
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 |
US9182984B2 (en) | 2012-06-15 | 2015-11-10 | International Business Machines Corporation | Local clearing control |
US9251091B2 (en) * | 2012-06-15 | 2016-02-02 | International Business Machines Corporation | Translation look-aside table management |
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 |
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 |
US9330017B2 (en) * | 2012-11-02 | 2016-05-03 | International Business Machines Corporation | Suppressing virtual address translation utilizing bits and instruction tagging |
US10509725B2 (en) | 2013-03-08 | 2019-12-17 | Oracle International Corporation | Flushing by copying entries in a non-coherent cache to main memory |
US20140258635A1 (en) * | 2013-03-08 | 2014-09-11 | Oracle International Corporation | Invalidating entries in a non-coherent cache |
US9652646B1 (en) | 2013-03-11 | 2017-05-16 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | 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 |
EP2997478B1 (en) * | 2014-07-21 | 2019-03-13 | VIA Alliance Semiconductor Co., Ltd. | Efficient address translation caching in processor that supports large number of different address spaces |
US9697137B2 (en) * | 2014-11-14 | 2017-07-04 | Cavium, Inc. | Filtering translation lookaside buffer invalidations |
US9684606B2 (en) * | 2014-11-14 | 2017-06-20 | Cavium, Inc. | Translation lookaside buffer invalidation suppression |
US9477516B1 (en) | 2015-03-19 | 2016-10-25 | Google Inc. | Concurrent in-memory data publication and storage system |
US11755484B2 (en) | 2015-06-26 | 2023-09-12 | Microsoft Technology Licensing, Llc | Instruction block allocation |
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 |
US9946548B2 (en) | 2015-06-26 | 2018-04-17 | Microsoft Technology Licensing, Llc | Age-based management of instruction blocks in a processor instruction window |
US10175988B2 (en) | 2015-06-26 | 2019-01-08 | Microsoft Technology Licensing, Llc | Explicit instruction scheduler state information for a processor |
US10191747B2 (en) | 2015-06-26 | 2019-01-29 | Microsoft Technology Licensing, Llc | Locking operand values for groups of instructions executed atomically |
US10346168B2 (en) | 2015-06-26 | 2019-07-09 | Microsoft Technology Licensing, Llc | Decoupled processor instruction window and operand buffer |
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 |
US11016770B2 (en) | 2015-09-19 | 2021-05-25 | Microsoft Technology Licensing, Llc | Distinct system registers for logical processors |
US11126433B2 (en) | 2015-09-19 | 2021-09-21 | Microsoft Technology Licensing, Llc | Block-based processor core composition register |
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 |
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 |
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 |
US10176110B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Marking storage keys to indicate memory used to back address translation structures |
US10176006B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Delaying purging of structures associated with address translation |
US10169243B2 (en) | 2016-07-18 | 2019-01-01 | International Business Machines Corporation | Reducing over-purging of structures associated with address translation |
US10176111B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Host page management using active guest page table indicators |
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 |
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 |
US10802986B2 (en) | 2016-07-18 | 2020-10-13 | International Business Machines Corporation | Marking to indicate memory used to back address translation structures |
US10223281B2 (en) | 2016-07-18 | 2019-03-05 | International Business Machines Corporation | Increasing the scope of local purges of structures associated with address translation |
US10168902B2 (en) | 2016-07-18 | 2019-01-01 | International Business Machines Corporation | Reducing purging of structures associated with address translation |
US10180909B2 (en) | 2016-07-18 | 2019-01-15 | International Business Machines Corporation | Host-based resetting of active use of guest page table indicators |
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 |
US11030124B2 (en) | 2019-11-07 | 2021-06-08 | Micron Technology, Inc. | Semiconductor device with secure access key and associated methods and systems |
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 |
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 |
JPS5815196A (ja) | 1981-07-22 | 1983-01-28 | 株式会社日立製作所 | 蒸気発生プラント |
JPS5815195A (ja) | 1981-07-22 | 1983-01-28 | 株式会社日立製作所 | 制御棒駆動装置の自動交換装置 |
JPS58150195A (ja) | 1982-02-27 | 1983-09-06 | Fujitsu Ltd | 主記憶キ−制御方式 |
JPS58150196A (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 |
US5423014A (en) * | 1991-10-29 | 1995-06-06 | Intel Corporation | Instruction fetch unit with early instruction fetch mechanism |
US5500948A (en) * | 1991-10-29 | 1996-03-19 | Intel Corporation | Translating instruction pointer virtual addresses to physical addresses for accessing an instruction cache |
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 |
WO1994027215A1 (en) | 1993-05-07 | 1994-11-24 | Apple Computer, Inc. | Method for decoding guest instructions for a host computer |
DE69425310T2 (de) * | 1993-10-18 | 2001-06-13 | Via Cyrix Inc | Mikrosteuereinheit für einen superpipeline-superskalaren Mikroprozessor |
JP2806778B2 (ja) * | 1994-01-28 | 1998-09-30 | 甲府日本電気株式会社 | 変換索引バッファクリア命令処理方式 |
WO1995031783A1 (de) * | 1994-05-11 | 1995-11-23 | Gmd - Forschungszentrum Informationstechnik Gmbh | Speichervorrichtung zum speichern von daten |
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 |
US6119219A (en) * | 1998-04-30 | 2000-09-12 | International Business Machines Corporation | System serialization with early release of individual processor |
US6079013A (en) * | 1998-04-30 | 2000-06-20 | International Business Machines Corporation | Multiprocessor serialization with early release of processors |
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 |
US20020147969A1 (en) | 1998-10-21 | 2002-10-10 | Richard A. Lethin | 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 | 富士通株式会社 | マイクロプロセッサ |
US7530067B2 (en) * | 2003-05-12 | 2009-05-05 | International Business Machines Corporation | Filtering processor requests based on identifiers |
US7284100B2 (en) | 2003-05-12 | 2007-10-16 | International Business Machines Corporation | Invalidating storage, clearing buffer entries, and an instruction therefor |
US7356710B2 (en) * | 2003-05-12 | 2008-04-08 | International Business Machines Corporation | Security message authentication control instruction |
-
2003
- 2003-05-12 US US10/435,919 patent/US7284100B2/en not_active Expired - Lifetime
-
2004
- 2004-05-06 JP JP2006506228A patent/JP4608484B2/ja not_active Expired - Lifetime
- 2004-05-06 ES ES06116358T patent/ES2327058T3/es not_active Expired - Lifetime
- 2004-05-06 WO PCT/GB2004/001971 patent/WO2004099997A1/en active IP Right Grant
- 2004-05-06 ES ES05108510T patent/ES2357802T3/es not_active Expired - Lifetime
- 2004-05-06 PL PL05108510T patent/PL1653343T3/pl unknown
- 2004-05-06 DK DK05108510.8T patent/DK1653343T3/da active
- 2004-05-06 ES ES04731399T patent/ES2297417T3/es not_active Expired - Lifetime
- 2004-05-06 PT PT05108507T patent/PT1653365E/pt 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 PT PT05108510T patent/PT1653343E/pt unknown
- 2004-05-06 DE DE602004021030T patent/DE602004021030D1/de not_active Expired - Lifetime
- 2004-05-06 DE DE602004030452T patent/DE602004030452D1/de not_active Expired - Lifetime
- 2004-05-06 EP EP05108510A patent/EP1653343B1/en not_active Expired - Lifetime
- 2004-05-06 ES ES05108507T patent/ES2359893T3/es not_active Expired - Lifetime
- 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 DE602004024254T patent/DE602004024254D1/de not_active Expired - Lifetime
- 2004-05-06 DE DE112004000464T patent/DE112004000464T5/de not_active Ceased
- 2004-05-06 KR KR1020067015744A patent/KR100834365B1/ko active IP Right Grant
- 2004-05-06 AT AT06116358T patent/ATE430963T1/de active
- 2004-05-06 DK DK04731399T patent/DK1588267T3/da active
- 2004-05-06 DK DK05108507.4T patent/DK1653365T3/da active
- 2004-05-06 AT AT05108507T patent/ATE500553T1/de active
- 2004-05-06 CN CNB2004800118949A patent/CN100363908C/zh not_active Expired - Lifetime
- 2004-05-06 EP EP06116358A patent/EP1701269B1/en not_active Expired - Lifetime
- 2004-05-06 CN CNB2006101218343A patent/CN100397368C/zh not_active Expired - Lifetime
- 2004-05-06 DE DE602004031628T patent/DE602004031628D1/de not_active Expired - Lifetime
- 2004-05-06 SI SI200431564T patent/SI1653343T1/sl unknown
- 2004-05-06 GB GB0518901A patent/GB2414841B/en not_active Expired - Lifetime
- 2004-05-06 DE DE602004011018T patent/DE602004011018T2/de not_active Expired - Lifetime
- 2004-05-06 EP EP08150756A patent/EP1914627B1/en not_active Expired - Lifetime
- 2004-05-06 EP EP05108507A patent/EP1653365B1/en not_active Expired - Lifetime
- 2004-05-06 ES ES08150756T patent/ES2336973T3/es not_active Expired - Lifetime
- 2004-05-06 SI SI200431659T patent/SI1653365T1/sl unknown
- 2004-05-06 GB GB0518904A patent/GB2414842B/en not_active Expired - Lifetime
- 2004-05-06 PL PL05108507T patent/PL1653365T3/pl unknown
- 2004-05-06 AT AT08150756T patent/ATE449374T1/de not_active IP Right Cessation
- 2004-05-06 PL PL06116358T patent/PL1701269T3/pl unknown
- 2004-05-06 AT AT05108510T patent/ATE491178T1/de active
- 2004-05-06 DK DK06116358T patent/DK1701269T3/da active
- 2004-05-06 EP EP04731399A patent/EP1588267B1/en not_active Expired - Lifetime
-
2005
- 2005-08-09 US US11/199,666 patent/US7197601B2/en not_active Expired - Lifetime
- 2005-08-15 US US11/204,131 patent/US20060036824A1/en not_active Abandoned
- 2005-08-15 US US11/204,321 patent/US7281115B2/en not_active Expired - Lifetime
- 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 |
---|---|---|
KR100834362B1 (ko) | 스토리지 무효화, 버퍼 엔트리 제거 | |
US9804970B2 (en) | Invalidating a range of two or more translation table entries and instruction therefor | |
CA2874186C (en) | Compare and replace dat table entry | |
US9182984B2 (en) | Local clearing control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A107 | Divisional application of patent | ||
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 |