PL2248025T3

Dynamic address translation with translation exception qualifier

Abstract

An enhanced dynamic address translation facility product is created such that, in one embodiment, a virtual address to be translated and an initial origin address of a translation table of the hierarchy of translation tables are obtained. Dynamic address translation of the virtual address proceeds. In response to a translation interruption having occurred during dynamic address translation, bits are stored in a translation exception qualifier (TXQ) field to indicate that the exception was either a host DAT exception having occurred while running a host program or a host DAT exception having occurred while running a guest program. The TXQ is further capable of indicating that the exception was associated with a host virtual address derived from a guest page frame real address or a guest segment frame absolute address. The TXQ is further capable of indicating that a larger or smaller host frame size is preferred to back a guest frame.

PL2248025T3, drawing sheet 1
Sheet 1 of 19

Term

2.4 yearsto projected expiry

Projected expiry 17 February 2029, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

1 claim: 1 independent, 0 dependent

  1. 1
    Claims Zastrzeżenia patentowe 1. Sposób kwalifikowania wyjątku translacji w funkcjonalności dynamicznego tłumaczenia adresu zdolnej do tłumaczenia adresu wirtualnego na przetłumaczony adres bloku danych w głównej pamięci (208) w systemie komputerowym (200), który to sposób obejmuje etapy:A method for qualifying a translation exception in a dynamic address translation functionality capable of translating a virtual address into a translated address of a data block in the main memory (208) in the computer system (200), which method comprises the steps of: otrzymania adresu wirtualnego do przetłumaczenia;receiving a virtual address for translation;dynamic translation of the virtual address into the actual address or absolute address of the desired data block in the main memory;and in response to the translation interruption event occurring during the dynamic translation of the virtual address, the bounds translator exception being written to the qualifier to indicate that the translation exception was the exception of the host DAT that occurred during the host program, or the host DAT exception that occurred during the guest program;and also characterized by writing in the bits of the translation exception qualifier to indicate any information from the size of the guest frame to which said host DAT exception applies, and the size of the host frame to be allocated for storing said guest frame. dynamicznego tłumaczenia adresu wirtualnego na adres rzeczywisty albo adres bezwzględny pożądanego bloku danych w głównej pamięci;a także w odpowiedzi na zdarzenie przerwania wyjątku translacji występuj ącego w trakcie dynamicznego tłumaczenia adresu wirtualnego, zapisania w kwalifikatorze wyjątku translacji bitów w celu wskazania, że wspomniany wyjątek translacji był wyj ątkiem DAT hosta, jaki wystąpił w trakcie działania programu hosta, albo wyjątkiem DAT hosta, jaki wystąpił w trakcie działania programu gościa;a także znamienny przez zapisanie we wspomnianych bitach kwalifikatora wyjątku translacji w celu wskazania dowolnej informacji spośród rozmiaru ramki gościa, której dotyczy wspomniany wyjątek DAT hosta, oraz rozmiaru ramki hosta, jaka ma być przydzielona w celu składowania wspomnianej ramki gościa. 2. Sposób według zastrzeżenia 1, obejmujący ponadto etap zapisania we wspomnianych bitach kwalifikatora wyjątku translacji w celu wskazania, że wspomniany wyjątek translacji był wyjątkiem DAT gościa, jaki wystąpił w trakcie wykonywania wspomnianego programu gościa. The method of claim 1, further comprising the step of including the translation exception qualifier in said bits to indicate that said translation exception was an exception to the guest DAT that occurred during the execution of said guest program. 3. Sposób według zastrzeżenia 1 albo 2, obejmujący ponadto etap zapisania we wspomnianych bitach kwalifikatora wyjątku translacji w celu wskazania, że wspomniany wyjątek DAT hosta dotyczył adresu otrzymanego z liściowego wpisu tablicy gościa. The method of claim 1 or 2, further comprising the step of including the translation exception qualifier in said bits to indicate that said host DAT exception is related to the address obtained from the leaf guest table entry. 4. Sposób według zastrzeżenia 1, 2 lub 3, obejmujący ponadto etap zapisania we wspomnianych bitach kwalifikatora wyjątku translacji w celu wskazania, że wspomniany wyjątek DAT hosta dotyczył adresu otrzymanego z adresu rzeczywistego ramki strony gościa. The method of claim 1, 2 or 3, further comprising the step of including a translation exception qualifier in said bits to indicate that said host DAT exception is related to the address obtained from the real guest page frame address. 5. Sposób według zastrzeżenia 1, 2, 3 lub 4, obejmujący ponadto etap zapisania we wspomnianych bitach kwalifikatora wyjątku translacji w celu wskazania, że wspomniany wyjątek DAT hosta dotyczył adresu otrzymanego z adresu bezwzględnego ramki segmentu gościa. The method according to claim 1, 2, 3 or 4, further comprising the step of including the translation exception qualifier in said bits to indicate that said host DAT exception relates to the address obtained from the absolute guest frame address. 6. System zawierający środki przystosowane do wykonywania wszystkich etapów spo59 sobu według dowolnego z poprzednich zastrzeżeń sposobu. A system comprising means adapted to perform all processing steps according to any of the preceding method claims. 7. Program komputerowy zawieraj ący instrukcje do wykonywania wszystkich etapów sposobu według dowolnego z poprzednich zastrzeżeń sposobu, kiedy wspomniany program komputerowy jest wykonywany na systemie komputerowym. A computer program comprising instructions for performing all the steps of the method according to any preceding method claim, when said computer program is executed on a computer system. Authorized by: International Business Machines Corporation Uprawniony: International Business Machines Corporation Pełnomocnik: Proxy: MSc. Irena Rachubik mgr inż. Irena Rachubik Patent Attorney Rzecznik patentowy ADRES WIRTUALNY VIRTUAL ADDRESS FIRST AREA OF THE AREA (ROS) PIERWSZA TABLICA OBSZARU (RFT) ENTRY IN THE FIRST AREA OF THE AREA (RFTE) WPIS PIERWSZEJ TABLICY OBSZARU (RFTE) POCZĄTEK DRUGIEJ TABLICY OBSZARU (RSTO) THE BEGINNING OF THE SECOND SITE AREA (RSTO) DRUGA TABLICA OBSZARU (RST) SECOND SITE OF THE AREA (RST) SECOND POINT OF THE RECTANGULAR (RSTE) WPIS DRUGIEf TABLICY OBSZARU (RSTE) FIG. 5A FIG. 5A 514 514 522 η 522 η 526 526 526 526 -530 -530 562 562 560 560 536 536 502 502 504 504 THIRD AREA OF THE AREA (RTT) TRZECIA TABLICA OBSZARU (RTT) THIRD ARRANGEMENT OF THE AREA [RTTE1 WPIS TRZECIE TABLICY OBSZARU [RTTE1 BEGINNING OF SEGMENT BOARD [STO POCZĄTEK TABLICY SEGMENTU [STO 520 520 POCZĄTEK TRZECIE TABLICY OBSZARU (KTO THIRD BEGINNING OF THE AREA (WHO 510 510 512 512 506 506 400 400 404 406 404,406 EFEKTYWNY ELEMENT KONTROLNY PRZESTRZENI ADRESOWE | |G|PjS|X[R| |DT|TLl EFFECTIVE CONTROL ELEMENT ADDRESS COUNTRY | G | PJS | X [R | | DT | TLL 516 516 524 524 532 532 534 536 534 536 POCZĄTEK TABLICY OBSZARU LUB TABLICY SEGMENTU —z402 THE BEGINNING OF THE SEGMENT AREA OR SECTION BOARD -with402 406 406 SEGMENT BOARD [ST] TABLICA SEGMENTU [ST) ADRES WIRTUALNY 534 530 VIRTUAL ADDRESS 534 530 ADRES WIRTUALNY 534 536 VIRTUAL ADDRESS 534 536 USE A PART OF THE VIRTUAL ADDRESS WITH THE INDEX OF THE WEBSITE WYKORZYSTAJ CZĘŚĆ ADRESU WIRTUALNEGO Z INDEKSEM STRONY DO ABSOLUTE HOST ENTRY. ASK ADDRESS.SOURCE = 'GUEST BEZWZGLĘDNEGO HOSTA WPISU TABLICY. PRZYPISZ ADDRESS.SOURCE = 'GUEST CZY DAT IIOSTA WYKONANE POMYŚLNIE? DO DAT IIOSTA PERFORMED THANKS? ARE BIT OF INVALIDITY SETTING UP? CZY BIT NIEWAŻNOŚCI USTAWIONY? ARE DAT HOSTEL MADE SUCCESSFUL? CZY DAT HOSTA WYKONANE POMYŚLNIE? HOST HOSTA STOP STOP 726 726 734 734 JAR1 SŁOI1 POKAZANO SHOWN EXCEPTION DATE WYJĄTEK dat TAK YES FIG. 7 FIG. 7 723 >-736 723> -736 722 722 TAK YES MAINTENANCE! BEGINNING THE GUEST STRING BOARD FROM THE BOARD SEGMENT GUIDE UTRZYMA! POCZĄTEK TABLICY STRUNY GOŚCIA Z WPISU TABLICY SEGMENTU GOŚCIA GENERATION OF ADDRESSES OF GUSLIA NOT REGARDING OVERLAPPERS OF THE PAGE WYGENEROWANIA ADRESU BEiSWZGLĘUNEGU GUSLIA WPISU TABLICY STRONY CilM.iA CilM.iA PERFORM DAT HOST AND PREFICTION PROCESS TO RECEIVE ADDRESS WYKONAJ PROCES DAT HOSTA I PREFIKSACJĘ W CELU OTRZYMANIA ADRESU 714 714 OTHERTll OTHERTll NE NE 720 720 OP TAKE PLACEMENT ON THE GUEST BOARD PO BIERZ WPIS TABLICY STRONY GOŚCIA APPLY THE PREFIXATION OF THE DETAILS ZASTOSUJ PREFIKSACJĘ GOŚCIA WCELU 730 730 OTRZYMANIA ADRESU BEZWZGLĘDNEGO DANYCH RECEIPT OF AN UNLIMITED DATA ADDRESS DOCELOWYCH TARGET PERFORM DAT HOST AND PREFIKSACJA W WYKONAJ PROCES DAT HOSTA I PREFIKSACJĘ W 732 732 AIM OF RECEIVING AN ACCURATE ADDRESS CELU OTRZYMANIA ADRESU BEZWZGLĘDNEGO HOST OF DATA DATA. NOTES HOSTA DANYCH DOCELOWYCH. PRZYPISY ADDRESS SOURCE - 'GUEST PFRA (2J ADDRESS SOURCE - 'GUEST PFRA (2J CONNECT THE ADDRESS REAL PARTIES FRAME WITH PART OF A VIRTUAL ADDRESS TRANSFER TO RECEIVE AN ADDRESS OF THE ACTUAL TEST OF DESTINY DATA POŁĄCZ ADRES RZECZYWISTY RAMKI STRONY Z CZĘŚCIĄ ADRESU WIRTUALNEGO Z PRZESUNIĘCIEM W CELU OTRZYMANIA ADRESU RZECZYWISTEGO GOŚCIA DANYCH DOCELOWYCH ACCESS TO TARGET DATA ADDRESSED BY A TRANSLATED VIRTUAL ADDRESS DOSTĘP DO DANYCH DOCELOWYCH ADRESOWANYCH PRZEZ TŁUMACZONY ADRES WIRTUALNY 724 724 POKAZ WYJĄTEK TRANSLACJI GOŚCIA Z TXQ='CURRENT CONFIGURATION'(0) SHOW EXCEPTION OF GUEST TRANSLATION WITH TXQ = 'CURRENT CONFIGURATION' (0) 630 630 710 710 OTRZYMA! POCZĄTEK TABLICY STRUNY GOŚCIA Z WPISU TABLICY SEGMENTU GOŚCIA RECEIVE! BEGINNING THE GUEST STRING BOARD FROM THE BOARD SEGMENT GUIDE DESIGNATION OF THE MAIN AREA OF THE AREA OR SEGMENT BOX (R = 0) OZNACZENIE GŁÓWNEJ TABLICY OBSZARU LUB TABLICY SEGMENTU (R = 0) 52 51 35 58 57 53 62 63 52 51 35 58 57 53 62 63 DESCRIPTION OF THE MAIN REAL-SPACE (R = 1) OZNACZENIE GŁÓWNEJ PRZESTRZENI RZECZYWISTEJ (R =1) 52 5455 5857 5853 63 FIG. 12 52 5455 5857 5853 63 FIG. 12 DOMESTIC DESIGNATION OF SEGMENT AREA OR SECTION BOARD (R = 0) OZNACZENIE DOMOWEJ TABLICY OBSZARU LUB TABLICY SEGMENTU (R = 0) 52 5Si «57 5Si $ 6 6 62 63 52 5Si«57 5Si$ć6 62 63 DOMESTIC REPLY DOMESTIC REFERENCE (R = 1) OZNACZENIE DOMOWEJ PRZESTRZENI RZECZYWISTEJ (R = 1) 52 55 3S 57 55 53 63 52 55 3S 57 55 53 63 FIG. 14 FIG. 14 33 £ 3 33 £3 ADRES INSTRUKCJI INSTRUCTIONS ADDRESS 36 36 ADRES INSTRUKCJI (KONTYNUACJA) INSTRUCTION ADDRESS (CONTINUATION) S6 127 S6 127 FIG. 15 FIG. 15 33 51 «3 33 51 «3 FIG. 16 FIG. 16 PREFIKSACJA PREFIKSACJA PREFIXATION PREFIXATION DLA CPU A RF7W7GI FDNF DLA CPU B (1) ADRESY RZECZYWISTE, W KTÓRYCH BITY 0-50 SĄ RÓWNE BITOM 0-50 PRZEDROSTKA DLA TEJ CPU (A LUB B) (2) ADRESY BEZWZGLĘDNE BLOKU, KTÓRY ZAWIERA DLA TEJ CPU (A LUB B) RZECZYWISTE LOKALIZACJ E O - 8191 FOR CPU A RF7W7GI FDNF FOR CPU B (1) REAL ADDRESSES, IN WHICH THE 0-50 BITS ARE EQUAL TO BITS 0-50 THE ORDER FOR THIS CPU (A OR B) (2) BLUE CONTENT ADDRESSES WHICH CONTAINS THIS CPU (A OR B) THE REAL EO LOCATION - 8191 FIG. 17 FIG. 17 PLATE OF SEGMENT BOARD (TT = 00, FC = 0) WPIS TABLICY SEGMENTU (TT=00, FC=0) BEGINNING OF THE PAGE POCZĄTEK TABLICY STRONY ST ST Ϊ3 54Κ Ϊ & 5 $ 80 ¢ 2 £ 3 Ϊ3 54Κ Ϊ&5$ 80 ¢2 £3 FIG. 21 FIG. 21 SEGMENT PLATE ENTRY (TT = 00, FC = 1) WPIS TABLICY SEGMENTU (TT=00, FC=1) ADRES BEZWZGLĘDNY RAMKI SEGMENTU SEGMENT INDIVIDUAL ADDRESS FRAME 31 31 FIG. 22 FIG. 22 ADDRESS REAL PARTY FRAME ADRES RZECZYWISTY RAMKI STRONY S £ 1 S £1 5S 58 5455 5 $ 88 5S 58 5455 5$ 88 FIG. 23 FIG. 23 DOCUMENTS QUESTED IN THE DESCRIPTION DOKUMENTY CYTOWANE W OPISIE Ta lista dokumentów cytowanych przez Zgłaszającego została przyjęta jedynie dla informacji czytającego i nie jest częścią europejskiego opisu patentowego. Została ona utworzona z dużą starannością;Europejski Urząd Patentowy nie ponosi jednak żadnej odpowiedzialności za ewentualne błędy i braki. This list of documents cited by the Applicant has been accepted only for the reader's information and is not part of the European patent specification. It was created with great care;However, the European Patent Office can not be held liable for any errors or omissions. Dokumenty patentowe cytowane w opisie Patent documents cited in the description US 2004024953 A1 [0011] US 5551013 A [0195] US 2004024953 A1 [0011] US 5551013 A [0195] US 5574873 A [0195] US 5574873 A [0195] US 5,790,825 A [0195] • US 6009261 A [0195] • US 6308255 B [0195] • US 6463582 B [0195] US 5790825 A [0195] • US 6009261 A [0195] • US 6308255 B [0195] • US 6463582 B [0195] Dokumenty niepatentowe cytowane w opisie Non-patent documents cited in the description IBM® System / 370 Extended Architecture. IBM® Pub. No. SA22-7095, 1985 [0020] z / Architecture® Principles of Operation. IBM® Pub.nr SA22-7832-05, April 2007 [0021] • z / VM: Running Guest Operating Systems. IBM® Pub. No. SC24-5997-02, 2001 [0024] • z / VM: General Information Manual. IBM® Pub No. GC24-5991-04, 2001 [0025] IBM® System/370 Extended Architecture. IBM® Pub. nr SA22-7095, 1985 [0020] z/Architecture® Principles of Operation. IBM® Pub.nr SA22-7832-05, kwiecień 2007 [0021] • z/VM: Running Guest Operating Systems. IBM® Pub. nr SC24-5997-02, 2001 [0024] • z/VM: General Information Manual. IBM® Pub nr GC24-5991-04, 2001 [0025]