30.08.2013 Views

(12) Oversettelse av europeisk patentskrift - Patentstyret

(12) Oversettelse av europeisk patentskrift - Patentstyret

(12) Oversettelse av europeisk patentskrift - Patentstyret

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

(<strong>12</strong>) <strong>Oversettelse</strong> <strong>av</strong><br />

<strong>europeisk</strong> <strong>patentskrift</strong><br />

(19) NO<br />

NORGE (51) Int Cl.<br />

G06F 9/50 (2006.01)<br />

G06F 9/30 (2006.01)<br />

G06F 9/455 (2006.01)<br />

<strong>Patentstyret</strong><br />

(21) <strong>Oversettelse</strong> publisert 2011.11.14<br />

(80) Dato for Den Europeiske<br />

Patentmyndighets<br />

publisering <strong>av</strong> det meddelte<br />

patentet: 2011.06.22<br />

(86) Europeisk søknadsnr: 09701347.8<br />

(86) Europeisk innleveringsdag 2009.01.<strong>12</strong><br />

(87) Den <strong>europeisk</strong>e søknadens<br />

Publiseringsdato 2010.09.01<br />

(30) Prioritet 2008.01.11 US 972802<br />

(11) NO/EP 2223214 B1<br />

(84) Utpekte stater AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC<br />

MK MT NL NO PL PT RO SE SI SK TR<br />

(62) Avdelt fra 10184363.9 / 2 290 539<br />

(73) Inneh<strong>av</strong>er International Business Machines Corporation, New Orchard RoadArmonk, NY<br />

10504, USA<br />

(72) Oppfinner GAINEY JR., Charles, 21 James StreetPoughkeepsieNew York <strong>12</strong>603-1524, USA<br />

FARRELL, Mark, 38 Stirrup LanePleasant ValleyNew York <strong>12</strong>569, USA<br />

KUBALA, Jeffrey, 10 Morgan LanePoughquagNew York <strong>12</strong>570, USA<br />

SCHMIDT, Donald, 77 Vincent LaneStone RidgeNew York <strong>12</strong>484, USA<br />

(74) Fullmektig Oslo Patentkontor AS, Postboks 7007 Majorstua , 0306 OSLO, Norge<br />

(54) Benevnelse Oppdagelse <strong>av</strong> virtuell topologikonfigurasjon til en datamaskin<br />

(56) Anførte<br />

publikasjoner EP-A- 0 730 226 B1, US-A1- 2007 203 943 B1, EP-A- 1 674 987 B1


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

Teknisk felt<br />

Den foreliggende oppfinnelsen relaterer seg hovedsakelig til en virtualisering <strong>av</strong><br />

1<br />

multiprosessor systemer. Spesielt, den foreliggende oppfinnelsen relaterer seg til å<br />

gjøre det mulig for programmer å oppdage topologien <strong>av</strong> deres virtuelle miljø.<br />

Bakgrunn for oppfinnelsen<br />

Blant systemkontrollfunksjonene er det muligheten til dele systemet inn i flere lo-<br />

giske deler (LPAR’er). En LPAR er en underliggende del <strong>av</strong> prosessormaskinvaren<br />

som er definert til å støtte et operativsystem. En LPAR inneholder resurser (proses-<br />

sorer, minne, og I/O-enheter) og opererer som et u<strong>av</strong>hengig system. Multiple lo-<br />

giske inndelinger kan eksistere innen en stormaskins maskinvaresystem.<br />

I stormaskindatasystemet fra IBM inkluderende S/390®, var det i mange år en<br />

begrensning på 15 LPAR’er. Nyere maskiner har 30 (og potensielt flere). Slike<br />

maskiner er eksemplifisert <strong>av</strong> de <strong>av</strong> z/Architecture®. IBM® z/Architecture® er<br />

beskrevet i operasjonsmanualen til z/Architecture SA22-7832-05 publisert April<br />

2007 <strong>av</strong> IBM.<br />

Praktiske begrensninger <strong>av</strong> størrelsen på minnet, I/O tilgjengelighet og tilgjengelig<br />

prosesseringskraft begrenser vanligvis antallet LPAR’er til mindre enn disse maksi-<br />

ma<br />

Maskinvare’en og fastvare’en som skaffer til veie inndelingen er kjent som PR/SM<br />

(Prosessorresurser/ Systemadministrator). Det er PR/SM funksjoner som er vant til<br />

å lage og kjøre LPAR’er. Denne forskjellen mellom PR/SM (en innbygget fasilitet) og<br />

LPAR’er (resultatet <strong>av</strong> bruken <strong>av</strong> PR/SM) er ofte ignorert og termen LPAR er kollek-<br />

tivt brukt for fasiliteten og dens resultater.<br />

Systemadministratorer tilegner deler <strong>av</strong> minnet til hver LPAR og minnet kan ikke bli<br />

delt imellom LPAR’er. Administratorene kan tilegne prosessorene (også kjent som<br />

CP’er eller CPU’er) til spesifikke LPAR’er eller de kan tillate systemkontrollerene å<br />

ekspedere hvilke som helst eller alle prosessorene til alle LPAR’ene ved å bruke en<br />

intern lastbalanserende algoritme. Kanalene (CHPID’er) kan bli tilegnet til spesifikke<br />

LPAR’er eller kan bli delt ved multiple LPAR’er, <strong>av</strong>hengig <strong>av</strong> enhetene i hver kanal.<br />

Et system med en enkelt prosessor (CP prosessor) kan ha multiple LPAR’er. PR/SM<br />

har en intern fordelingssentral som kan allokere en del <strong>av</strong> prosessorene til hver


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

LPAR, mye likt hvordan et operativsystem fordeler en del <strong>av</strong> sin prosessortid til<br />

hver prosess, tråd eller oppg<strong>av</strong>e.<br />

2<br />

Å dele kontrollspesifikasjoner er delvis rommet i IOCD’ene og er delvis rommet i en<br />

systemprofil. IOCD’ene og profilene befinner seg begge i støtteelementet (SE) som<br />

ganske enkelt er en bærbar datamaskin inne i systemet. SE’en kan bli koblet til en<br />

eller flere Maskinvare Management Consoles (HMC’er), som er skrivebords-PC’er<br />

brukt til å overvåke og kontrollere maskinvare slik som mikroprosessorene til<br />

stormaskinene. En HMC er mer beleilig å bruke enn en SE og kan kontrollere et<br />

flertall <strong>av</strong> stormaskiner.<br />

Å arbeide fra en HMC (eller fra en SE, i uvanlige forhold), en operatør forbereder en<br />

stormaskin for bruk ved valg og lasting <strong>av</strong> en profil og en IOCDS. Denne lager<br />

LPAR’er og konfigurerer kanalene med enhetsnumre, LPAR-oppg<strong>av</strong>er, multippel sti-<br />

informasjon, og så videre. Dette er kjent som en Power – på Reset (POR). Ved å<br />

laste en annen profil og IOCDS, operatøren kan fullstendig forandre antallet og<br />

naturen til LPAR’er og fremtoningen til I/O-configurasjonen. Imidlertid ved å gjøre<br />

dette forstyrres det operativsystemet og applikasjonene som er i bruk og er derfor<br />

sjelden utført uten nøye planlegging.<br />

Logisk oppdeling (LPAR’er) er, i praksis, lik separate hovedmaskiner.<br />

Hver LPAR kjører sitt eget operativsystem. Dette kan være hvilke som helst opera-<br />

tiv system for en stormaskin; det er ingen grunn til å kjøre z/OS®, f.eks. i hver<br />

LPAR. Installeringsplanleggerene kan velge å dele I/O enheten på flere LPAR’er,<br />

men dette er et lokalt valg.<br />

Systemadministratoren kan tillegne en eller flere systemprosessorer for den inklu-<br />

sive bruken <strong>av</strong> en LPAR. Alternativt, kan administratoren tillate alle prosessene til å<br />

bli brukt på enkelte eller alle LPAR’een. Her skaffer systemkontrollfunksjonene (ofte<br />

kjent som microcode eller fastvare) til veie en <strong>av</strong>sender for å dele prosessorene<br />

blant de valgte LPAR’ene. Administratoren kan spesifisere et maksimum antall <strong>av</strong><br />

samtidige prosessorer som utføres i hver LPAR. Administratoren kan også skaffe til<br />

veie vekting for forskjellige LPAR’er; for eksempel, spesifisere at LPAR 1 skulle mot-<br />

ta dobbelt så masse prosessortid som LPAR2.<br />

Operativsystemet i hver LPAR er IPL’et separat, har sin egen kopi <strong>av</strong> sitt operativ-<br />

system, har sin egen operatørkonsoll (hvis nødvendig), og så videre. Hvis systemet<br />

i en LPAR krasjer, har det ingen effekt på de andre LPAR’ene.


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

3<br />

I en stormaskin med tre LPAR’er, f.eks., kan du ha en produksjon z/OS i LPAR1, en<br />

testversjon <strong>av</strong> z/OS i LPAR2, og Linux® for S/390® i LPAR3. Hvis dette totale sys-<br />

temet har 8 GB med minne, kan vi kanskje ha tillegnet 4 GB til LPAR1, 1 GB til<br />

LPAR2, 1 GB til LPAR3 og 2GB i reserve. Operativsystemkonsollene for de to z/OS<br />

LPAR’ene kan være på fullstendig forskjellige steder.<br />

For de fleste praktiske formålene er det ikke noe forskjell mellom, f.eks., tre sepa-<br />

rate stormaskiner som kjører z/OS (og deler det meste <strong>av</strong> deres I/O konfigurasjon)<br />

og tre LPAR’er på den samme stormaskinen som gjør den samme tingen. Med<br />

mindre unntak kan ikke z/OS, operatørene, og applikasjonene detektere forskjellen.<br />

De mindre forskjellene inkluderer mulighetene ved z/OS (hvis tillatt når LPAR’ene<br />

er definert) til å skaffe til veie prestasjons- og utnyttelsesinformasjon, over hele<br />

stormaskinsystemet og for dynamisk flytte resurser (prosessorer og kanaler) lange<br />

LPAR’ene for å bedre prestasjonene.<br />

Nåværende IBM® stormaskiner har et sentralt prosessorkompleks (CPC), som kan<br />

inneholde flere forskjellige typer <strong>av</strong> z/Architecture® prosessorer som kan bli brukt<br />

for litt forskjellige formål.<br />

Flere <strong>av</strong> disse formålene er relatert til kostnadskontroll <strong>av</strong> programvare, mens and-<br />

re er mer fundamentale. Alle <strong>av</strong> disse prosessorene i CPC’en begynner som ekviva-<br />

lente prosessorenheter (PU’er) eller motorer som ikke har blitt karakterisert for<br />

bruk. Hver prosessor er karakterisert <strong>av</strong> IBM under installering eller ved en senere<br />

tid. De potensielle karakteriseringene er:<br />

- Prosessor (CP)<br />

Denne prosessortypen er tilgjengelig for normale operativsystemer og<br />

applikasjonsprogramvare.<br />

- Systemassisterende prosessor (SAP)<br />

hver moderne stormaskin har i det minste en SAP; større systemer har<br />

flere. SAP’en iverksetter interne koder for å forsyne I/O undersystemet.<br />

En SAP, for eksempel, oversetter enhetsnumre og virkelige adresser til<br />

kanalstiidentifiserere (CHPID’er), kontrollenhetsadresser, og enhetsnum-<br />

re. Det håndterer multiple stier til kontrollenheter og utfører feilgjenopp-


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

4<br />

retting for midlertidige feil. Operativsystemet og applikasjonene kan ikke<br />

detektere SAP’er og SAP’er bruker ikke “normalt" minne.<br />

- Integrert fasilitet for Linux® (IFL)<br />

- zAAP<br />

- zIIP<br />

dette er en normal prosessor med en eller to instruksjoner utkoblede<br />

som er brukt bare ved hjelp <strong>av</strong> z/OS®. Linux bruker ikke disse instruk-<br />

sjonene og kan bli utført ved hjelp <strong>av</strong> en IFL. Linux kan bli utført <strong>av</strong> en<br />

CP i tillegg. Forskjellene er at en IFL ikke er tellet når man spesifiserer<br />

modellnummeret til systemet. Dette kan føre til en vesentlig forskjell i<br />

programvare kostnader.<br />

dette er en prosessor med et antall <strong>av</strong> funksjoner deaktivert (<strong>av</strong>brudds-<br />

håndtering, enkelte instruksjoner) slik at intet fult operativsystem kan bli<br />

effektuert på prosessoren. Imidlertid, z/OS kan detektere nærværet <strong>av</strong><br />

zAAP prosessorer og vil bruke de til å utføre J<strong>av</strong>a code. Den samme<br />

J<strong>av</strong>akoden kan bli effektuert på en standard CP. Igjen, er zAAPmotoren<br />

ikke tellet når man spesifiserer modellen til systemet. I likhet med IFL’er,<br />

eksisterer de kun for å kontrollere programvare kostnader.<br />

Systemet z9 Integrert informasjonsprosessor (Integrated Information<br />

Processor) (zIIP) er en spesialisert motor for prosessering <strong>av</strong> passende<br />

arbeidslaster for databaser. zIIP’ene er designet for å hjelpe med å sen-<br />

ke programvarekostnadene for valgte arbeidslaster på stormaskinen, slik<br />

som business intelligens (business intelligence) (BI), enterprice resource<br />

planning (ERP) og customer relationship management (CRM). zIIP’en<br />

styrker stormaskinens rolle som en datahub til bedriften ved å hjelpe<br />

med å gjøre direkte tilgang til DB2® mer kostnadseffektiv og redusere<br />

behovet for multiple kopier <strong>av</strong> data.<br />

Integrert koblingsfasilitet (ICF)<br />

Disse prosessorene kjører bare lisensiert intern kode. De er ikke synlige for normale<br />

operativsystemer eller applikasjoner. En koplingsfasilitet er, egentlig en stor minne


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

notisblokk brukt <strong>av</strong> multiple systemer for å koordinere arbeid. ICF’er må bli dedi-<br />

kert til LPAR’er som så blir koblingsfasiliter.<br />

Reserve<br />

En ukarakterisert PU virker som en “reserve” hvis systemkontrollerene detekterer<br />

en feilende CP eller SAP, den kan bli byttet ut med en reserve PU. I fleste tilfeller<br />

kan dette bli gjort uten noe system<strong>av</strong>brudd, selv for applikasjonen som kjører på<br />

den feilende prosessoren.<br />

I tillegg til disse karakteriseringene <strong>av</strong> prosessorer, har enkelte stormaskiner mo-<br />

5<br />

deller eller versjoner som er konfigurert til å kjøre saktere enn den potensielle has-<br />

tigheten til deres CP’er. Dette er vidt kjent som “underklokking” (knee-capping),<br />

selv om IBM foretrekker terminologien kapasitetssetting eller noe liknende. Det er<br />

gjort ved å bruke mikrokoder for sette inn nullsykluser i instruksjonsstrømmen til<br />

prosessoren. Formålet, igjen, er for å kontrollere programvarekostnadene ved å ha<br />

den minste stormaskinmodellen eller versjonen som møter applikasjonskr<strong>av</strong>ene.<br />

IFL’er, SAP’er, zAAP’er, zIIP’er, og ICF’er virker alltid ved full hastighet på prosesso-<br />

ren fordi disse prosessorene “teller ikke“ i beregninger <strong>av</strong> prisen på programvare.<br />

Prosessor og CPU kan referere til enten den komplette systemboksen, eller til en <strong>av</strong><br />

prosessorene (CPU’ene) i systemboksen. Selv om meningen kan være klar utfra<br />

sammenhengen <strong>av</strong> diskusjonen. IBM bruker terminologien sentral prosessor<br />

komplex (central prosessor complex) (CPC) for å referere til den fysiske samlingen<br />

<strong>av</strong> maskinvare som inkluderer hovedlageret, en eller flere <strong>av</strong> sentralprosessorene,<br />

taktgivere, og kanaler. (Noen systemprogrammerere bruker terminologien sentral<br />

elektronisk kompleks (central electronic complex) (CEC) for å referere til storma-<br />

skinen “boks”, men den foretrukne terminologien er CPC.)<br />

Kort fortalt alle S/390 eller z/Architecture prosessorene i en CPC er prosesserings-<br />

enhetene (PU’er). Når IBM leverer CPC’en, er PU’ene karakterisert som CP’er (for<br />

normalt arbeid), integrert fasilitet for Linux (IFL), integrert koplingsfasilitet (ICF) for<br />

parallell sysplex konfigureringer, og så videre.<br />

Profesjonelle på stormaskiner bruker typisk systemer for å indikere at maskinvare-<br />

bokser, et komplett maskinvare miljø (med I/O enhet), eller et driftsmiljø (med<br />

programvare), <strong>av</strong>hengig <strong>av</strong> sammenhengen. Den typiske bruken <strong>av</strong> prosessoren for<br />

å midle en enkelt prosessor (CP) i CPC’en.


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

6<br />

z/VM® HYPERVISOR er designet for å hjelpe klienter med å utvide businessverdi-<br />

en <strong>av</strong> stormaskinteknologien over hele foretaket ved å integrere applikasjoner og<br />

data mens å forsyne uvanlige nivåer <strong>av</strong> tilgjengelighet, sikkerhet og enkel drifting.<br />

z/VM viritualiseringsteknikk er designet til å tillate muligheten for klienter å kjøre<br />

fra hundrer til tusener <strong>av</strong> Linux servere på en enkelt stormaskin som kjører med<br />

andre System z operativsystemer, slik som z/OS®, eller som en storskala server-<br />

løsning for et foretak som kun kjører Linux. z/VM V5.3 kan også hjelpe til med å<br />

forbedre produktiviteten ved å være vert for ikke-Linux arbeidslaster slik som z/OS,<br />

z/VSE, og z/TPF.<br />

z/VM forsyner hver bruker med et individuelt arbeidsmiljø kjent som en virtuell ma-<br />

skin. Den virtuelle maskinen simulerer eksistensen <strong>av</strong> en dedikert virkelig maskin,<br />

inkluderende prosessorfunksjoner, minner, nettverk, og input/output (I/O) resur-<br />

ser. Operativsystemer og applikasjonsprogrammer kan kjøre i virtuelle maskiner<br />

som gjester. For eksempel, kan du kjøre multiple Linux og z/OS bilder og det sam-<br />

me z/VM systemet som også støtter forskjellige applikasjoner og endebrukere. Som<br />

et resultat kan, utvikling, testing, og produksjonsmiljøer dele en enkelt fysisk da-<br />

tamaskin.<br />

Med referanse til figurene 15A-15D, involverer partisjonering og virtualisering et<br />

skifte i tankegangen fra fysisk til psykisk ved å behandle IT resurser som logiske<br />

ansamlinger i stedet for separate fysiske entiteter. Dette involverer konsolidering<br />

og ansamling <strong>av</strong> IT-resurser, og forsyne en «illusjon <strong>av</strong> et enkelt system» for både<br />

homogene og heterogene servere, lagre, distribuerte systemer, og nettverk.<br />

Partisjonering <strong>av</strong> maskinvare involverer separate CPU’er for separate operativsys-<br />

temer, hver <strong>av</strong> hvilke kjører sine spesifikke applikasjoner. Programvarepartisjone-<br />

ring tar i bruk en programvare basert forvalter <strong>av</strong> virtuelle maskiner (hypervisor) til<br />

å muliggjøre individuelle operativsystemer til å kjøre på hvilke som helst eller alle<br />

<strong>av</strong> CPU’ene.<br />

Programvare basert forvaltere <strong>av</strong> virtuelle maskiner tillater multiple operativsyste-<br />

mer å kjøre på en vertsmaskin på den samme tiden. Teknologien til programvare<br />

baserte forvaltere <strong>av</strong> virtuelle maskiner som har sitt opph<strong>av</strong> i IBM VM/370, for-<br />

gjengeren til z/VM vi har i dag. Logisk partisjonering (LPAR) involverer patisjone-<br />

ringsfastvare (en maskinvarebasert hypervisor) for å isolere operativsystemet fra<br />

CPU’ene.


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

Virtualiseringen muliggjør eller utnytter fire fundamentale kapasiteter: ressursde-<br />

7<br />

ling, ressursansamling, kappestrid <strong>av</strong> funksjoner, isolering. Vi utforsker disse tema-<br />

ene i ytterligere detalj i den følgende seksjonen.<br />

z/VM er et operativsystem for IBM System z plattformen som forsyner en høyst<br />

fleksibel test og produksjonsmiljø. z/VM implementeringen <strong>av</strong> IBM viritualise-<br />

ringsteknologien tilveiebringer muligheten til å kjøre fullfunksjons operativsystemer<br />

slik som Linux på system z, z/OS og andre som «gjester» <strong>av</strong> z/VM. z/VM støtter 64-<br />

bits IBM z/Arkitektur gjester og 31-bits IBM Enterprise Systems Architecture /390<br />

gjester.<br />

z/VM anskaffer hver b ruker med et individuelt arbeidsmiljø kjent som en virtuell<br />

maskin. Den virituelle maskinen simulerer eksistensen til en dedikert reell maskin,<br />

inkluderende prosessorfunksjoner, minne, netverk, g input/output (I/O) resurser.<br />

Operativsystemer og applikasjonsprogrammer kan kjøre i virituelle maskiner som<br />

gjester. For eksempel, kan man kjøre multiple Linux og z/OS® bilder på den sam-<br />

me z/VM systemer som også støtter forskjellige applikasjoner og endebrukere. Som<br />

et resultat, utvikling, testing, og produksjonsmiljøer kan dele en enkelt fysisk da-<br />

tamaskin.<br />

En virituell maskin bruker virkelige maskinvareresurser, men selv med dedikerte<br />

enheter (som et bånddrev), den virituelle adressen til bånddrevet kan eller kan ikke<br />

være den samme som den reelle adressen til bånddrevet. Derfor, kjenner bare en<br />

virituell maskin «virituell maskinvare» som kan eksistere eller ikke eksistere i den<br />

reelle verdenen.<br />

Et første-nivå z/VM er grunnoperativsystemet som er installert på toppen <strong>av</strong> den<br />

virkelige maskinvaren fig. 16. Et nivå-to operativsystem er et system som er laget<br />

på et z/VM baseoperativsystem. Derfor z/VM som et baseoperativsystem kjører på<br />

maskinvaren, mens et gjesteoperativsystem kjører på viritualiseringsteknologien. I<br />

figur 14 illustreres en nivå-to gjest z/VM OS lastet inn i en nivå-en gjest (gjest-1)<br />

cpartisjon.<br />

Med andre ord, er det et nivå-en z/VM operativsystem som passer direkte med ma-<br />

skinvaren, men gjesten <strong>av</strong> dette nivå-en z/VM system er viritualisert. Ved virituali-<br />

sering <strong>av</strong> maskinvaren til gjesten, har vi muligheten til å lage og bruke så mange<br />

gjester som muligsom nødvendig med en liten mengde med maskinvare.


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

8<br />

Som tidligere nevnt, er operativsystemet som kjører på en virituell maskin ofte kalt<br />

«gjester». Andre terminologier og fraser som man kan støte på er:<br />

- «kjøre første nivå» midler kjører direkte på maskinvaren (som er hva z/VM<br />

gjør).<br />

- «kjøre andre nivå», «kjøre under VM», eller «kjøre på (toppen <strong>av</strong>) VM» be-<br />

tyr å kjøre som en gjest.<br />

Et eksempel på funksjonaliteten til z/VM er, hvis du har et nivå-en z/VM system og<br />

et nivå-to z/VM system, , unne man fortsette å lage flere operativsystemer på nivå-<br />

2 systemet. Denne typen <strong>av</strong> miljø er spesielt brukbart for testing <strong>av</strong> operativsyste-<br />

mer installert før det er satt i bruk, eller for testing eler debugging <strong>av</strong> operativsys-<br />

temet. Virituelle resurser kan ha funksjoner for trekk som ikke er tilgjengelige i<br />

deres underliggende fysiske resurser. Figur 14 illustrerer viritualisering ved res-<br />

sursemulering.<br />

Eksempler inkluderer arkitekturemuleringsprogramvare som implementerer en pro-<br />

sessors arkitektur ved bruk <strong>av</strong> en annen; iSCSI, som implementerer en virtuell<br />

SCSI bus på et IP nettverk; og virituell båndlagring implementert på det fysiske<br />

disklageret.<br />

Videre, er pakkingen <strong>av</strong> prosessorenheter (CPU’er) i moderne teknologi ofte hierar-<br />

kisk. Multiple kjerner kan bli plassert på en enkelt krets, multiple kretser kan bli<br />

plassert i en enkelt modul. Multiple moduler kan bli pakket på et brett ofte referert<br />

til som en bok, og multiple bøker være distribuert over multiple rammer.<br />

CPU’er har ofte flere nivåer med cache, for eksempel kan hver prosessor ha en ca-<br />

che (eller muliggens en delt instruksjonscache og en datacache) og det kan i tillegg<br />

være større cacher imellom hver prosessor og hovedminnegrensesnittet. Avhengig<br />

<strong>av</strong> nivået til hierarkiet, er cache også plassert for å forbedre den samlede ytelsen,<br />

og på bestemte nivåer kan cache være delt mellom fler enn en enkelt CPU. Engi-<br />

neerings<strong>av</strong>gjørelsene med hensyn på slik plassering tar for seg plass,<br />

kraft/temperatur, kablingsdistanse, CPU-frekvens, systemytelse og andre aspekter.<br />

Denne plasseringen <strong>av</strong> elementer til CPU’en lager en intern struktur som kan være<br />

mer eller mindre f<strong>av</strong>oriserende for en bestemt logisk <strong>av</strong>deling, <strong>av</strong>hengig <strong>av</strong> hvor<br />

plasseringen <strong>av</strong> hver CPU <strong>av</strong> partisjoneringen befinner seg. En logisk partisjonering<br />

gir inntrykket <strong>av</strong> at et operativsystem, med eierskap <strong>av</strong> enkelte resurser inkluderer<br />

prosessorbruk hvor faktisk, operativsystemet deler resursene med andre operativ-


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

9<br />

systemer i andre partisjoner. Normalt, er programvare ikke klar over plasseringen<br />

og, i en symmetrisk multiprosessering (SMP) konfigurasjon, observeres et sett med<br />

CPU’er hvor hver forsyner det samme nivået med ytelse. Problemet er at ignorering<br />

<strong>av</strong> pakking og distansen mellom hvilke som helst to CPU’er kan resultere i at pro-<br />

gramvaretar mindre enn optimale beslutninger hvordan CPU’er kan bli tillegnet ar-<br />

beid. Derfor er ikke det fulle potensialet til SMP konfigurasjonen oppnådd.<br />

Stormaskineksempelet som er presentert på viritualisering er ment å lære forskjel-<br />

lige topologier som er mulige ved viritualisering <strong>av</strong> en maskin. Som nevnt, kjører<br />

programmet en partisjon (inkluderende operativsystemet) som sannsynlig har et<br />

bilde <strong>av</strong> resursene tilgjengelig for dem, inkluderende prosessorene, minne og I/O er<br />

dedikert til en partisjon. Faktisk har ikke programmene noe som helst ide at de<br />

kjører på en partisjon. Slike programmer er også ikke klar over at topologien til<br />

deres partisjon og kan derfor ikke gjøre valg basert på slik topologi. Det som behø-<br />

ves er en måte for programmer å kunne optimalisere konfigurasjonen <strong>av</strong> topologien<br />

på hvilke de kjører.<br />

EP-A-1674987 innbefatter en metode i henhold til innledende delene <strong>av</strong> kr<strong>av</strong> 1.<br />

Sammenfatning <strong>av</strong> oppfinnelsen<br />

Oppfinnelsen skaffer til veie en fremgangsmåte slik beskrevet i kr<strong>av</strong> 1 og korres-<br />

ponderende system og dataprogram.<br />

Svakhetene ved tidligere kjent teknikk er overkommet, og ytterligere fordeler er<br />

gitt, gjennom frembringelsen <strong>av</strong> en fremgangsmåte, system og et dataprogram<br />

som iverksetter et underliggende sett <strong>av</strong> sovende datamaskinmaskinvareresurser.<br />

En vertsmaskin omfattende verts-CPU’er kan bli partisjonert i logiske/virtuelle par-<br />

tisjoner som har gjeste CPU’er. Partisjoneringen er fortrinnsvis <strong>av</strong>stedkommet ved<br />

hjelp <strong>av</strong> fastvare eller ved hjelp <strong>av</strong> programvare som kan bli anskaffet <strong>av</strong> et opera-<br />

tivsystem slik som z/VM fra IBM. Hver gjeste-CPU er en virtuell CPU i det at gjeste-<br />

programmene ser på gjeste-CPU’ene som faktiske PRU prosessorer, men faktisk<br />

<strong>av</strong>bilder den underliggende verten hver gjeste-CPU til verts-CPU-resurser. I en ut-<br />

førelsesform, er en gjeste-CPU implementert ved bruk <strong>av</strong> en dek <strong>av</strong> en verts-CPU<br />

ved at verten designerer en det <strong>av</strong> CPU-tiden for gjeste-CPU’en til å benytte seg <strong>av</strong><br />

verts-CPU’en. Det er forestilt at et flertall <strong>av</strong> gjeste-CPU’er kan være støttet <strong>av</strong> en<br />

enkelt verts-CPU, men det motsatte kan også være tilfellet.


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

I et annet utførelseseksempel, er gjeste-CPU’en emulert <strong>av</strong> programvare hvor ,<br />

emuleringsrutinene konverterer funksjonene til gjeste-CPU’en (inkluderende in-<br />

struksjonsdekoding og utførelse) til rutiner som kjører på en verts-CPU. Verts-<br />

10<br />

CPU’en er forsynt til å støtte gjeste-CPU’er.<br />

I et annet utførelseseksempel, kan et første gjestebilde være verten for et andre<br />

gjestebilde. I hvilket tilfelle den andre gjeste-CPU’en er forsynt <strong>av</strong> første gjeste-<br />

CPU’er som selv er forsynt <strong>av</strong> verts-CPU’er. En ny PERFORM TOPOLOGY FACILITY<br />

(PTF) instruksjon er forsynt og kjent teknikk STORE SYSTEM INFORMATION (STSI)<br />

instruksjon er økt for å skaffe til veie en ny SYSIB (SYSIB identifier 15.1.2) som<br />

skaffer til veie komponentslektskap og logisk pakkingsinformasjon til programva-<br />

ren. Dette gir programvaren lov å ta i bruk informerte og intelligente valg på hvor-<br />

dan individuelle elementer, slik som prosesseringsenheter til multiprosessorer, er<br />

tilegnet til forskjellige applikasjoner og arbeidslaster. Således skaffe til veie infor-<br />

masjon til et program (OS) for å forbedre ytelsen ved f.eks. å øke den delte ca-<br />

chens trefforhold.<br />

En ny PERFORM TOPOLOGY FUNCTION (PTF) instruksjon er brukt <strong>av</strong> et privilegert<br />

program (slik som en supervisor, en OS, en kernel o.l.) for å forespørre at CPU-<br />

konfigurasjonstopologien innen hvilke programmet kjører blir forandret. I en utfø-<br />

relsesform er topologien til gjeste-CPU’en byttet mellom horisontal og vertikal pola-<br />

risering.<br />

Ved å ha kapasiteten til å lære topologiinformasjonen til CPU’en, forstår program-<br />

met <strong>av</strong>standen imellom hvilke som helst to vilkårlige to eller flere CPU’er til en sy-<br />

metrisk multiprosesseringskonfigurasjon.<br />

Muligheten anskaffet ved minimering <strong>av</strong> den samlede <strong>av</strong>standen til alle CPU’ene i<br />

en konfigurasjon, og hvor spesielle applikasjonsprogramgjøremål er sendt ut på<br />

den individuelle CPU’ene som skaffet til veie overvåkningsprogrammer med mulig-<br />

heten til å forbedre ytelsen. Den forbedrede ytelsen kan resultere fra en til flere <strong>av</strong><br />

de følgende attributtene som er forbedret <strong>av</strong> bedre kjennskap til topologi:<br />

Forkorte <strong>av</strong>standene til intern CPU-signalisering.<br />

Delt lagringsplass, aksessert <strong>av</strong> multiple CPU’er er mer sannsynlig å befinne seg i<br />

cacher som er nærmere settet med CPU’er. Derfor er bruk <strong>av</strong> intern cache-lagring<br />

begrenset til et mindre undersett <strong>av</strong> den overliggende maskinen og konfigurasjonen


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

11<br />

som tillater raskere cache-til-cache overføring. Nærvær <strong>av</strong> en lagringslokalisering i<br />

den nærmeste cachen til en CPU (L1) er signifikant mer sannsynlig å forekomme.<br />

På grunn <strong>av</strong> forbedret ytelse, kan antallet <strong>av</strong> CPU’er som faktisk er i konfigurasjo-<br />

nen være færre i antall, mens de fortsatt gjør den samme jobben med den samme<br />

kjøretiden eller mindre. En slik reduksjon <strong>av</strong> CPU’er minsker antallet kommuni-<br />

kasjonsstier som hver enkelt CPU må bruke for å kommunisere me de andre<br />

CPU’ene til konfigurasjonen, dermed videre bidra til totalt sett forbedret ytelse.<br />

For eksempel, hvis 10 CPU’er behøver å utføre et spesielt program, er den interne<br />

cache trafikken formidabel, hvor ved hvis det samme programmet kan bli utført på<br />

en CPU, er det ingen intern cache-trafikk. Dette indikerer at nærværet <strong>av</strong> ønskede<br />

lagringsplasser til cachen er garantert å være i cachen til den enkelte CPU, hvis<br />

dette lageret befinner seg ig et cache i det hele tatt.<br />

Når lagring og det assosierte cachehierarkiet er lokalt, i motsetning til å være dist-<br />

ribuert over multiple fysiske rammer (f.eks. bokser osv.) er signalstiene kortere.<br />

Kjennskapen til topologien indikerer den relative <strong>av</strong>standen ved valg <strong>av</strong> det pas-<br />

sende undersettet <strong>av</strong> CPU’er å tilegne til et applikasjonsprogram slik at, selv innen<br />

et større sett med CPU’er i en SMP-konfigurasjon, optimaliserer undersettet den<br />

minste <strong>av</strong>standen dem imellom. Dette kalles noen ganger en affinitetsgruppe.<br />

Begrepene relatert til redusering <strong>av</strong> CPU-antallet og <strong>av</strong>standen mellom CPU’er er<br />

informert <strong>av</strong> topologiinformasjon som tillater programmet å optimalisere anvisning-<br />

en <strong>av</strong> CPU’er til en affinitetsgruppe.<br />

I en utførelsesform (fig. 20), i et logisk partisjonert vertsmaskin system omfattende<br />

vertsprosessorer (verts-CPU’er), er topologiinformasjon oppdaget <strong>av</strong> en eller gjes-<br />

teprosessorer (gjeste-CPU’er) <strong>av</strong> en gjestekonfigurasjon og lagret i en tabell. Fort-<br />

rinnsvis henter en gjesteprosessor til gjestekonfigurasjonene en STORE SYSTEM<br />

INFORMATION instruksjon for å bli utført. Når den er utført anskaffer STORE SYS-<br />

TEM INFORMATION instruksjonen, basert på en forespørsel om topologiinformasjon<br />

<strong>av</strong> STORE SYSTEM INFORMATION instruksjonen, anskaffer topologiinformasjon til<br />

datamaskinkonfigurasjonen omfatter stablinginformasjon <strong>av</strong> prosessorer til konfigu-<br />

rasjonen. Den anskaffede topologiinformasjonen er lagret i en konfigurasjonstopo-<br />

logitabell fortrinnsvis i minnet.


5<br />

10<br />

15<br />

20<br />

25<br />

<strong>12</strong><br />

I et utførelseseksempel omfatter topologiinformasjonen identifikasjon <strong>av</strong> vertspro-<br />

sessorer og stablingsnivåer assosiert med topologien til vertsprosessorene.<br />

I et annet utførelseseksempel, omfatter topologiinformasjonen informasjon om<br />

vertsprosessorer til gjestekonfigurasjoner og stablingsnivåer assosiert med topolo-<br />

gien til vertsprosessorer til gjestekonfigurasjonene.<br />

I en utførelsesform omfatter STORE SYSTEM INFORMATION instruksjon et opcode<br />

felt, et grunnregister felt, et signert omplasseringsfelt, hvor instruksjonen for<br />

topologi oppdaging videre består <strong>av</strong> et første underforstått generelt register som<br />

inneholder et funksjonskodefelt og et selektor-1 felt og andre impliserte generell<br />

registre som inneholder et selektor-2 felt, funksjonskodefelt angir topologi-<br />

forespørsel om informasjon, et grunnregister felt og et signert omplasseringsfelt<br />

identifiserer et sted i minnet <strong>av</strong> en systeminformasjonsblokk (SYSIB) som<br />

inneholder konfigurasjonstopologitabellen, hvor verdier <strong>av</strong> selektor-1 feltet og<br />

selektor-2-feltet, i kombinasjon, bestemmer topologiforespørsel om informasjon<br />

som skal utføres.<br />

I en annen utførelsesform, tabellen omfatter en topologilisteprosessoroppføring for<br />

hver gruppe <strong>av</strong> stablede prosessorer <strong>av</strong> prosessorene.<br />

I enda en utførelsesform omfatter topologilisteprosessoroppføringen ytterligere en<br />

indikator som indikerer hvor dedikert prosessorene <strong>av</strong> gruppen med stablede<br />

prosessorer er ovenfor logiskpartisjongjestkonfigurasjonen.<br />

I en utførelsesform, inkluderer tabellen videre en topologilistebeholderoppføring <strong>av</strong><br />

hvert stablede nivå for et hierarki <strong>av</strong> ett eller flere stablende nivåer som har nevnte<br />

stablende prosessorer.<br />

I en utførelsesform, er utførelsen <strong>av</strong> STORE SYSTEM INFORMATION utført <strong>av</strong><br />

emulering på en fremmed prosessor.<br />

Kort beskrivelse <strong>av</strong> figurene<br />

Det temaet som anses som oppfinnelsen er spesielt påpekt og tydelig hevdet i den<br />

<strong>av</strong>sluttende delen <strong>av</strong> spesifikasjonen. Oppfinnelsen imidlertid både med hensyn til<br />

organisering og fremgangsmåte <strong>av</strong> praksis, sammen med ytterligere objekter og


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

fordeler <strong>av</strong> dette, kan best forstås ved henvisning til følgende beskrivelse tatt i<br />

13<br />

forbindelse med de medfølgende figurer der:<br />

Figur 1 viser et vertsmaskinsystem i henhold til tidligere kjent teknikk;<br />

Figur 2 viser et emulert vertsmaskinsystem i henhold til tidligere kjent teknikk ;<br />

Figur 3 viser et instruksjonformat <strong>av</strong> en kjent teknikk STSI maskin instruksjon;<br />

Figur 4 viser underforståtte registre over kjent teknikk STSI instruksjon;<br />

Figur 5 viser en funksjonskodetabell;<br />

Figur 6 viser en kjent teknikk SYSIB 1.1.1 tabell;<br />

Figur 7 viser en kjent teknikk SYSIB 1.2.1 tabell;<br />

Figur 8 viser en kjent teknikk Format-1 SYSIB 1.2.2 tabell;<br />

Figur 9 viser en kjent teknikk Format-2 SYSIB 1.2.2 tabell;<br />

Figur 10 viser en SYSIB 15.1.2 tabell i henhold til oppfinnelsen;<br />

Figur 11 viser en beholdertype TLE;<br />

Figur <strong>12</strong> viser en CPU type TLE;<br />

Figur 13 viser et instruksjonsformat <strong>av</strong> en PTF maskininstruksjon i henhold til<br />

oppfinnelsen;<br />

Figur 14 viser et registerformat <strong>av</strong> PTF instruksjonen;<br />

Figur 15A-15D viser kjent teknikks elementer <strong>av</strong> partisjonerte datasystemer;<br />

Figur 16 viser et eksempel datasystem;<br />

Figur 17-19 viser beholdere <strong>av</strong> eksempel datasystemet, og<br />

Figur 20 viser en flytskjema <strong>av</strong> en utførelsesform <strong>av</strong> oppfinnelsen.<br />

Detaljert beskrivelse<br />

I en stormaskin, er bygde maskininstruksjoner brukt <strong>av</strong> programmerere (typisk<br />

skrive applikasjoner i "C", men også J<strong>av</strong>a®, COBOL, PL/I, PL/X, Fortran og andre<br />

høynivåspråk), ofte i form <strong>av</strong> en kompilatorapplikasjon. Disse instruksjonene lagret<br />

på lagringsmediet kan utføres problemfritt i en z/Arkitektur IBM-Server, eller<br />

alternativt i maskiner som utfører andre arkitekturer. De kan bli emulert i<br />

eksisterende og i fremtidige IBM stormaskinservere og på andre maskiner fra IBM<br />

(f.eks pSeries® Servere og xSeries® Servers). De kan utføres i maskiner som<br />

kjører Linux på en rekke maskiner som bruker maskinvare produsert <strong>av</strong> IBM®,<br />

Intel®, AMD, Sun Microsystems og andre. Ved siden <strong>av</strong> kjøring på hardware<br />

under az/Architecture®, kan Linux brukes i tillegg til maskiner som benytter<br />

emulering <strong>av</strong> Hercules, UMX, FSI (Fundamental Software, Inc) eller Platform<br />

Solutions, Inc. (PSI), hvor generelt utførelse er i en emuleringsmodus. I


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

35<br />

emuleringsmodus er emulering programvare utført <strong>av</strong> en reell prosessor for å<br />

14<br />

emulere arkitekturen i en emulert prosessor.<br />

Den reelle prosessoren utfører typisk emuleringsprogramvare bestående enten <strong>av</strong><br />

firmware eller et reelt operativsystem til å utføre emuleringen <strong>av</strong> den emulerte<br />

prosessoren. Emuleringsprogramvaren er ansvarlig for henting og gjennomføring <strong>av</strong><br />

instruksjonene til den emulerte prosessorarkitekturen. Den emulerte programvaren<br />

opprettholder et emulert program mot å holde styr på instruksjonsgrensene.<br />

Emuleringsprogramvaren kan hente en eller flere emulerte maskin instruksjoner <strong>av</strong><br />

gangen og konvertere en eller flere emulerte maskininstruksjoner til en tilsvarende<br />

gruppe <strong>av</strong> reelle maskininstruksjoner for utførelse <strong>av</strong> den reelle prosessoren. Disse<br />

konverterte instruksjonene kan være hurtigbufret slik at en raskere konvertering<br />

kan oppnås. Ikke tåler, må emuleringsprogramvaren opprettholde arkitekturreglene<br />

for emulert prosessorarkitektur, slik som å sikre at operativsystemer og<br />

applikasjoner skrevet for den emulerte prosessoren skal fungere korrekt. Videre må<br />

emuleringsprogramvare gi ressurser identifisert <strong>av</strong> emulerte prosessor arkitektur,<br />

inkludert men ikke begrenset til å kontrollere registre, generelle registre (ofte med<br />

flyttall registre), dynamisk NAT-funksjon, inkludert segment tabeller og side tabeller<br />

for eksempel <strong>av</strong>bryte mekanismer, kontekst bryter mekanismer, Time of Day (TOD)<br />

klokker og bygd for grensesnitt til I / O delsystemer slik at et operativsystem eller<br />

et program designet for å kjøre på den emulerte prosessoren, kan kjøres på den<br />

innfødte prosessoren som har emuleringsprogramvare.<br />

En spesifikk instruksjon som blir emulert blir dekodet, og en subrutine kalt til å ut-<br />

føre funksjon <strong>av</strong> individuell veiledning. En emuleringsprogramvarefunksjon som<br />

emulerer en funksjon til en emulert prosessor er implementert, for eksempel i en<br />

"C" underrutine eller driver, eller en annen metode for å skaffe til veie en driver for<br />

den spesifikke maskinvaren som vil være innenfor kunnskapen til en fagmann på<br />

området etter å ha forstått beskrivelsen <strong>av</strong> den foretrukne utførelsesformen. For-<br />

skjellige programvare- og maskinvareemuleringspatenter er inkludert, men ikke<br />

begrenset til US5551013 for en "multiprosessor for maskinvareemulering" <strong>av</strong> Beau-<br />

soleil et al., og US6009261: forhåndsbehandling <strong>av</strong> lagrede målrutiner for å emule-<br />

re uforenlige instruksjoner på en mål prosessor "<strong>av</strong> Scalzi et al; og US5574873:<br />

Dekoding <strong>av</strong> gjesteinstrukser om å få direkte tilgang til emuleringsrutiner som<br />

emulerer gjesteinstruksjoner, <strong>av</strong> D<strong>av</strong>idian et al;. US6308255: Symmetrisk mul-<br />

tiprosesseringsbuss og brikkesett brukt for koprosessorstøtte slik at ikke-innfødt<br />

kode kan kjøres i et system, <strong>av</strong> Gorishek et al; og US6463582: dynamisk optimali-


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

15<br />

seringsobjektkodeoversetter for arkitekturemulering og dynamisk optimaliserende<br />

objektkodeoversettelsesmetode for Lethin et al; og US5790825: Metode for å emu-<br />

lere gjesteinstruksjonene på en vertsmaskin gjennom dynamisk rekompilering <strong>av</strong><br />

vertsinstruksjoner, <strong>av</strong> Eric Traut, og mange andre, illustrerer en rekke kjente måter<br />

å oppnå emulering <strong>av</strong> et instruksjonsformat utformet for en annen maskin for en<br />

målmaskinen tilgjengelig for fagmenn på området, så vel som kommersielle pro-<br />

gramvareteknikker som brukes <strong>av</strong> de som er nevnt ovenfor.<br />

Med henvisning til FIG. 1, er representative deler <strong>av</strong> et vertsdatasystem 100 vist.<br />

Andre arrangementer <strong>av</strong> komponenter kan også være tatt i bruk i et datasystem<br />

som er godt kjent innenfor fagfeltet.<br />

Vertsdatamiljøet er fortrinnsvis basert på z/Arkitektur som tilbys <strong>av</strong> International<br />

Business Machines Corporation (IBM®), Armonk, New York. z/Arkitekturen er mer<br />

fullstendig beskrevet i: z/Architecture Principles of Operation, IBM® Pub. No SA22-<br />

7832-05, 6thEdition, (april 2007). Datamiljøer basert på z/Arkitektur inkluderer, for<br />

eksempel eServer og zSeries®, begge fra IBM®.<br />

Den representative vertsmaskinen 100 består <strong>av</strong> en eller flere CPU’er 101 i kom-<br />

munikasjon med hovedlageret (datamaskinminnet 102) samt I/O grensesnittet til<br />

lagringsenheten 111 og nettverket 101 for å kommunisere med andre datamaski-<br />

ner eller SAN og lignende. CPU kan ha Dynamic Address Translation (DAT) 103 for<br />

å transformere program adresser (virtuelle adresser) til virkelige adressen til min-<br />

ne. En DAT inkluderer vanligvis en Translation Lookaside Buffer (TLB) 107 for hur-<br />

tigbufring <strong>av</strong> oversettelser, slik at senere tilgang til blokker med datamaskinens<br />

minne 102 ikke krever forsinkelse <strong>av</strong> adresseoversettelse. Vanligvis er en cache<br />

109 sysselsatt mellom datamaskinminne 102 og prosessoren 101. Cachen 109 kan<br />

være hierarkisk, ha en stor cache tilgjengelig for mer enn én CPU og mindre, raske-<br />

re (l<strong>av</strong>ere nivå) cacher mellom den store cachen og hver CPU. I noen implemente-<br />

ringer er den l<strong>av</strong>ere nivå cachen delt for å gi separate l<strong>av</strong>t nivå cacher for instruk-<br />

sjonshenting og datatilgang. I en utførelsesform, er en instruksjon hentet fra min-<br />

net 102 <strong>av</strong> en instruksjonshenteenhet 104 via en cache 109. Instruksjonene er de-<br />

kodet i en instruksjonsdekodeenhet (706) og sendes (med andre instruksjoner i<br />

noen utførelsesform) til instruksjonsutførelsesenheter 108. Vanligvis er flere in-<br />

struksjonsutførelsesenheter 108 tatt i bruk, for eksempel en aritmetisk utførelses-<br />

enhet, en flyttall utførelsesenhet og en gren instruksjonsutførelsesenhet. instruk-<br />

sjonene er utført <strong>av</strong> utførelsesenheten, tilgangsoperander fra instruksjonsspesifiser-


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

te registre eller minne etter behov. Dersom en operand skal bli aksessert (lastet<br />

16<br />

eller lagret) fra minnet 102, håndterer en lastlagringsenhet 105 typisk tilgang un-<br />

der kontroll <strong>av</strong> at instruksjonen blir utført.<br />

I en utførelsesform, kan oppfinnelsen utøves <strong>av</strong> programvare (noen ganger referert<br />

til som Licensed Internal Code (LIC), fastvare, mikro-kode, milli-kode, pico-kode og<br />

lignende, noe som ville være i samsvar med den foreliggende oppfinnelsen). Pro-<br />

gramvare programkode som legemliggjør den foreliggende oppfinnelsen er vanlig-<br />

vis aksessert <strong>av</strong> prosessoren også kjent som CPU (Central Processing Unit) 101 til<br />

datasystem 100 fra langtidslagringsmediet 111, for eksempel en CD-ROM-stasjon,<br />

tape eller harddisk. Programkoden kan være nedfelt på hvilke som helst <strong>av</strong> en rek-<br />

ke kjente medier for bruk med databehandlingssystemer, for eksempel en diskett,<br />

harddisk eller CD-ROM. Koden kan være distribuert på slike medier, eller kan bli<br />

distribuert til brukere fra datamaskinens minne 102 eller lagring <strong>av</strong> et datasystem<br />

over et nettverk 110 til andre datasystemer for bruk <strong>av</strong> brukere <strong>av</strong> andre slike sys-<br />

temer.<br />

Alternativt kan den programkoden som innlemmes i minnet 102, og nås ved pro-<br />

sessoren 101 bruke prosessorbussen. Slik programkode inkluderer et operativsys-<br />

tem som kontrollerer funksjon og samspillet mellom de ulike datakomponenter og<br />

ett eller flere applikasjonsprogrammer. Programkoden er vanligvis oppkalt fra tette<br />

lagringsmedier 111 til høyhastighetsminnet 102 der det er tilgjengelig for behand-<br />

ling <strong>av</strong> prosessoren 101. Teknikker og metoder for å utforme programvare pro-<br />

gramkode i minnet, på fysiske media, og / eller distribuert programvare-kode via<br />

nettverk er godt kjent og vil ikke bli nærmere diskutert her. Programkode, da opp-<br />

rettet og lagret på et konkret medium (inkludert men ikke begrenset til elektroniske<br />

minnemoduler (RAM), flash-minne, kompakte plater (CD), DVD-plater, magnetbånd<br />

og lignende er ofte referert til som et "dataprogram produkt ". Mediet til datapro-<br />

gramproduktet er vanligvis lesbart <strong>av</strong> en prosesseringskrets fortrinnsvis i et data-<br />

system for utføring <strong>av</strong> prosesseringskretsen.<br />

I FIG. 2, er et eksempel på et emulert vertsmaskinsystem 201 anskaffet som emu-<br />

lerer et vertsmaskinsystem 100 til en vertsarkitektur. I det emulerte vertsmaskin-<br />

systemet 201, er vertsprosessoren (CPU) 208 en emulert vertsprosessor (eller vir-<br />

tuell vertsprosessor) og omfatter en emuleringsprosessor 207 som har en annen<br />

reelle instruksjonssettarkitektur enn det som brukes <strong>av</strong> prosessoren 101 til vertsda-<br />

tamaskinen 100. Det emulerte vertsdatasystemet 201 har minne 202 tilgjengelig


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

17<br />

for emuleringsprosessoren 207. I utførelseseksempelet er minnet 207 partisjonert i<br />

en vertsmaskinminnedel 102 og en emuleringsrutinedel 203. Vertsmaskinminnet<br />

102 er tilgjengelig for programmer til den emulerte vertsmaskinen 201 i henhold til<br />

vertsmaskinens arkitektur. Emuleringsprosessoren 207 utfører reelle instruksjoner<br />

<strong>av</strong> et konstruert instruksjonssett til en arkitektur annen enn den emulerte proses-<br />

soren 208, de reelle instruksjonene er innhentet fra emuleringsrutineminnet 203,<br />

og kan få tilgang til en rekke instruksjoner for gjennomføring <strong>av</strong> et program i<br />

vertsmaskinminnet 102 ved å ansette en eller flere instruksjon(er) fått i en sekvens<br />

og tilgangs- / Dekodingsrutine som kan dekode vertsinstruksjon(ene) sin tilgang til<br />

å <strong>av</strong>gjøre en reell instruksjonsutførelsesrutine for å emulere funksjonen til vertsin-<br />

struksjon som aksesseres.<br />

Andre fasiliteter som er definert for arkitekturen til vertsdatamaskinsystemet 100<br />

kan bli emulert ved utformede fasilitetsrutiner, herunder slike anlegg som General<br />

Purpose Registers, kontrollprotokoller, Dynamic Address Translation, og I / O un-<br />

dersystemsupport og prosessor cache for eksempel. Emuleringsrutinene kan også<br />

dra nytte <strong>av</strong> funksjoner tilgjengelig på emuleringsprosessoren 207 (som General<br />

Registers og dynamisk oversettelse <strong>av</strong> virtuelle adresser) for å forbedre ytelsen <strong>av</strong><br />

emuleringsrutinene. Spesiell maskinvare og Off Load motorer kan også gis for å<br />

bistå prosessoren 207 i å emulere funksjonen <strong>av</strong> vertsmaskinen 100.<br />

For å gi topologiinformasjon til programmene, er to instruksjoner gitt. Den første er<br />

en forbedring <strong>av</strong> en kjent teknikk instruksjon STSI (STORE SYSTEM INFORMATION)<br />

og den andre er en ny instruksjon PTF (PERFORM TOPOLOGY FUNCTION).<br />

CPU Topologi Oversikt:<br />

Med bruk <strong>av</strong> den nye IBM eSeries stormaskiner, og enda tidligere, har maskin or-<br />

ganisasjon til knutepunktsstrukturer resultert i en ikke-uniform minnetilgangoppfør-<br />

sel (NUMA) (noen ganger også kalt "lumpiness"). Formålet med den nye SYSIB<br />

15.1.2 funksjonsteknikkens STSI (STORE SYSTEM INFORMATION instruksjon og<br />

den nye PERFORM TOPOLOGY FUNCTION (PTF) instruksjonen er å gi ekstra maskin-<br />

topologibevissthet til programmet slik at visse optimaliseringer kan utføres (inklu-<br />

dert forbedret cachetrefforhold) og dermed forbedre den generelle ytelsen. Meng-<br />

den <strong>av</strong> verts-CPU ressurer tildelt en multiprosesserings (MP) gjestkonfigurasjon har<br />

generelt vært spredt jevnt over et antall konfigurerte gjeste-CPU’er. (En gjeste-CPU<br />

er en logisk CPU gitt til et program, der alle gjeste-CPU’er støttes <strong>av</strong> programvare-<br />

/maskinvarepartisjonering på virkelige verts-CPU’er). Slike en jevn spredning inne-


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

35<br />

18<br />

bærer at ingen spesielle gjeste-CPU (eller CPU) er berettiget til noen ekstra verts-<br />

CPU forsyning enn noen annen vilkårlig fastsatt gjeste-CPU. Denne tilstanden <strong>av</strong><br />

gjestekonfigurasjon, som berører alle CPU’er til konfigurasjonen, kalles "horisontal<br />

polarisering". Under horisontal polarisering, er tildelingen <strong>av</strong> en verts-CPU til en<br />

gjeste-CPU omtrent samme mengde klargjøring for hver gjeste-CPU. Når forsyning-<br />

en ikke er dedikert, den samme verts-CPU’en som forsyner gjeste-CPU’en også kan<br />

brukes til bestemmelse <strong>av</strong> gjeste-CPU’er til en annen gjest, eller andre gjeste-<br />

CPU’er <strong>av</strong> samme gjestekonfigurasjon.<br />

Når den andre gjestekonfigurasjonen er en annen logisk partisjon, må en verts-<br />

CPU, når aktive i hver partisjon, vanligvis aksessere hovedlageret mer fordi ca-<br />

chetrefforholdet reduseres ved å måtte dele cacher på tvers <strong>av</strong> flere flyttingssoner.<br />

Hvis verts-CPU forsyningen kan endre balansen slik at noen verts-CPU’er er for det<br />

meste, eller utelukkende, tildelt en gitt gjestekonfigurasjon (og det blir normal at-<br />

ferd), så blir cachetrefforholdstallet bedre, det samme gjør også ytelsen. En slik<br />

ujevn spredning innebærer at en eller flere gjeste-CPU’er har rett til ekstra verts-<br />

CPU forsyning versus andre, vilkårlig fastsatte gjeste-CPU’er som er berettiget til<br />

mindre verts-CPU forsyning. Denne tilstanden <strong>av</strong> gjestekonfigurasjon, berører alle<br />

CPU’er <strong>av</strong> konfigurasjonen, kalt "vertikal polarisasjon". Arkitekturen som presente-<br />

res her kategoriserer vertikale polarisasjon inn i tre nivåer <strong>av</strong> berettigelse for klar-<br />

gjøring, høy, middels og l<strong>av</strong>:<br />

! Høy rett garanterer at ca. 100 % <strong>av</strong> en verts-CPU blir tildelt en logisk / vir-<br />

tuell CPU, og tilhørighet blir opprettholdt som en sterk korrespondanse mel-<br />

lom de to. Med hensyn til klargjøring <strong>av</strong> en logisk partisjon, når vertikal po-<br />

larisasjon er i effekt, er berettigelsen <strong>av</strong> en dedikert CPU definert til å være<br />

høy.<br />

! Medium rett garanterer at en uspesifisert mengde verts-CPU ressurser (en<br />

eller flere verts-CPU’er) blir tilordnet en logisk / virtuell CPU, og eventuell<br />

gjenværende kapasitet på verts-CPU’en anses å være slakk som kan bli til-<br />

delt andre steder. Det beste tilfellet for den tilgjengelige slakken ville være å<br />

tildele det som lokalt slakk hvis det er mulig. Et mindre gunstig resultat opp-<br />

står hvis den tilgjengelige slakken er tildelt som ekstern slakk. Det er også<br />

slik at ressursandelen tildelt en logisk CPU med middels ytelsen er en mye<br />

mykere tilnærming i forhold til 100 % tilnærming <strong>av</strong> høy rett innstilling.<br />

! L<strong>av</strong> rett garanterer at ca. 0 % <strong>av</strong> en verts-CPU blir tildelt en logisk / virtuell<br />

CPU. Men hvis slakk er tilgjengelig, kan en slik logisk / virtuell CPU fortsatt


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

19<br />

motta noe CPU ressurser. En modell <strong>av</strong> stablede beholdere med polarisering<br />

er ment å gi et nivå <strong>av</strong> intelligens om maskinens knutepunktsstruktur som<br />

gjelder for den anmodende konfigurasjon, slik at, generelt sett, kan klynger<br />

<strong>av</strong> verts-CPU’er tildeles klynger <strong>av</strong> gjeste-CPU’er, og dermed bedre så mye<br />

som mulig delingen <strong>av</strong> lagring og minimering <strong>av</strong> forskjellige konfigurasjoner<br />

som hovedsakelig kolliderer på samme verts-CPU’er. Polarisering og beretti-<br />

gelsen indikerer forholdet mellom fysiske CPU’er til logisk CPU’er eller logis-<br />

ke CPU’er til virtuelle CPU’er i en gjestekonfigurasjon, og hvordan kapasite-<br />

ten tildelt gjestekonfigurasjonen fordeles over CPU’er som utgjør konfigura-<br />

sjonen.<br />

Historisk sett har en gjestekonfigurasjon vært horisontalt polarisert. For uansett<br />

hvor mange gjest CPU’er ble definert i konfigurasjonen, var tildelte verts-CPU res-<br />

surser spredt jevnt over alle gjeste-CPU’er på en rettferdig, ikke-berettiget måte.<br />

Det kan sies at vekten <strong>av</strong> en enkelt logisk CPU i en logisk partisjon når horisontal<br />

polarisering er i effekten er omtrent lik den samlede vekten til konfigurasjonen delt<br />

på antall CPU’er. Men med introduksjonen <strong>av</strong> 2097 og familiemodeller, blir det vik-<br />

tig å kunne spre verts-CPU ressurser på en annen måte, som kalles vertikal polari-<br />

sering <strong>av</strong> en konfigurasjon, og deretter blir graden <strong>av</strong> klargjøring <strong>av</strong> gjeste-CPU’er<br />

med verts-CPU’er angitt som høy, middels eller l<strong>av</strong> berettigelse. Høy berettigelse er<br />

i kraft når en logisk / virtuell CPU <strong>av</strong> en vertikalt polarisert konfigurasjon er full-<br />

stendig støttet <strong>av</strong> samme verts-CPU. Medium berettigelse er i kraft når en logisk /<br />

virtuell CPU <strong>av</strong> en vertikalt polarisert konfigurasjon er delvis støttet <strong>av</strong> en verts-<br />

CPU. L<strong>av</strong> ytelsen er i kraft når en logisk / virtuell CPU <strong>av</strong> en vertikalt polarisert kon-<br />

figurasjon ikke er garantert noen verts-CPU ressurs, annet enn det som kan bli til-<br />

gjengelig på grunn <strong>av</strong> at slakk ressurs bli tilgjengelig.<br />

CPU Slakk:<br />

CPU ressurser; det er to typer <strong>av</strong> slakk CPU ressurser:<br />

! Lokal slakk blir tilgjengelig når en logisk / virtuell CPU <strong>av</strong> en konfigurasjon<br />

ikke bruker alle ressurser som den er berettiget, og slik slakk deretter bru-<br />

kes i konfigurasjonen <strong>av</strong> den CPU’en. Lokal slakk er foretrukket overfor eks-<br />

tern slakk idet bedre trefforhold på cacher er å forvente når slakk brukes in-<br />

nenfor konfigurasjonen.<br />

! Ekstern slakk blir tilgjengelig når en logisk / virtuell CPU <strong>av</strong> en konfigurasjon<br />

ikke bruker alle ressurser som den er berettiget, og slik slakk deretter bru-


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

20<br />

kes utenfor konfigurasjonen <strong>av</strong> den CPU’en. Ekstern slakk er forventet å stil-<br />

le l<strong>av</strong>ere trefforhold på cacher, men det er fortsatt bedre enn ikke å kjøre en<br />

logisk / virtuell CPU i det hele tatt.<br />

Målet er å maksimere CPU cachens trefforhold. For en logisk partisjon, er mengden<br />

<strong>av</strong> fysiske CPU-ressurser bestemt <strong>av</strong> det samlede systemets vekter som bestemmer<br />

den CPU-ressursen tildelt hver logisk partisjon. For eksempel i en logisk 3-veis MP<br />

som er tildelt fysiske CPU-ressurser tilsvarende en enkelt CPU, og er horisontalt<br />

polarisert, ville hver logisk CPU sendes u<strong>av</strong>hengig og dermed motta ca. 33 % fysis-<br />

ke CPU-ressurser. Hvis den samme konfigurasjonen skulle være vertikalt polarisert,<br />

ville bare en estable logisk CPU kjøres og vil motta ca. 100 % <strong>av</strong> den tildelte fysiske<br />

CPU-ressursen (høy berettigelse) mens de resterende to logiske prosessorene nor-<br />

malt ikke ville bli sendt (l<strong>av</strong> berettigelse). Slik ressurstildeling er normalt en til-<br />

nærming. Selv en l<strong>av</strong> rett CPU kan få noe mengderessurs hvis bare å bidra til at et<br />

program ikke blir sittende fast på en slik CPU. Ved å gi et middel for et kontrollpro-<br />

gram for å vise at den forstår polarisering, og å få en indikasjon for hver CPU <strong>av</strong><br />

polariseringen sin, og hvis vertikal polarisasjon, kan graden <strong>av</strong> berettigelsen, brett<br />

slik at programmet gjøre mer intelligent bruk <strong>av</strong> data strukturer som er generelt<br />

antatt å være lokale for en CPU vs. tilgjengelig for alle CPU’er <strong>av</strong> en konfigurasjon.<br />

Dessuten kan et slikt kontrollprogram unngå å dirigere arbeidet til hvilke som helst<br />

l<strong>av</strong> rett CPU. Den faktiske fysiske CPU-ressursen tildelt utgjør kanskje ikke et hel-<br />

tallig antall CPU’er, så det er også mulighet for en eller flere CPU'er i en MP vertikalt<br />

polarisert konfigurasjon å ha berettigelse, men ikke høy, og dermed resulterer i at<br />

slike CPU’er har enten middels eller l<strong>av</strong> vertikal berettigelse. Det er mulig for even-<br />

tuelle gjenværende l<strong>av</strong> berettigelse CPU’er å motta noen mengde verts-CPU-<br />

ressurser. For eksempel kan dette skje når en slik CPU er målrettet, for eksempel<br />

via en SIGP orden og slakk verts-CPU-ressursen er tilgjengelig. Ellers kan en slik<br />

logisk / virtuell CPU forbli i en ikke-sendt tilstand, selv om det ellers er i stand til å<br />

bli sendt.<br />

Fortrinnsvis i henhold til oppfinnelsen, er et 2-bits polariseringsfelt definert for den<br />

nye CPU-type "topology-list entry" (TLE) til STORE SYSTEM INFORMATION (STSI)<br />

instruksjonen. Graden <strong>av</strong> vertikal polariseringsberettigelse for hver CPU er indikert<br />

som høy, middels eller l<strong>av</strong>. Oppdraget er ikke en presis prosentandel, men snarere<br />

er noe uklar og heuristisk.


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

21<br />

I tillegg til vertikal polarisering som et middel til å tilordne vekting til gjeste-CPU’er,<br />

eksisterer et annet konsept, som er etablering og styring <strong>av</strong> slakk kapasitet (også<br />

kalt "white space"). Slakk kapasitet er opprettet under følgende omstendigheter:<br />

! En høy vertikal CPU bidrar til slakk når gjennomsnittlig utnyttelsesgrad (AU)<br />

faller under 100 prosent (100-AU).<br />

! En middels vertikale CPU som har en tilordnet klargjøring <strong>av</strong> M prosent <strong>av</strong><br />

en verts-CPU bidrar til slakk når gjennomsnittlig utnyttelsesgrad (AU) faller<br />

under M prosent (M-AU> 0).<br />

! En l<strong>av</strong> vertikal CPU bidrar ikke til slakk.<br />

! En høy vertikal CPU er ikke en forbruker <strong>av</strong> slakk.<br />

STORE SYSTEM INFORMATION Instruksjon:<br />

Et eksempel på en utførelsesform <strong>av</strong> et format <strong>av</strong> en STORE SYSTEM INFORMA-<br />

TION Instruksjon FIG. 3 omfatter et opkode felt 'B27D", e baseregistreringsfelt B2<br />

og et signert forskyvningsfelt D2. Instruksjonen opkode informerer maskinen som<br />

utfører instruksjonen at det er underforstått generelle registre '0' og '1' i forbindel-<br />

se med instruksjonen. En adresse er innhentet fra en andre operand ved å legge<br />

den signerte forskyvningsfeltverdien til innholdet i det generelle generelle registre-<br />

re spesifisert <strong>av</strong> basen feltet. I en legemliggjøring, da basen register feltet spesifi-<br />

sert <strong>av</strong> basefeltet. I en utførelsesform, når baseregisterfeltet er '0', er den tegnut-<br />

videde verdien <strong>av</strong> forskyvningsfeltet brukt direkte til å angi andre operand. Når<br />

STORE SYSTEM INFORMATION instruksjon hentes og kjøres, <strong>av</strong>hengig <strong>av</strong> en funk-<br />

sjonskode i det generelle registeret 0, enten en identifisering <strong>av</strong> nivået <strong>av</strong> konfigu-<br />

rasjonen som kjører programmet er plassert i det generelle registeret 0 eller in-<br />

formasjon om en komponent eller komponenter i en konfigurasjon er lagret i en<br />

system-informasjon blokk (SYSIB). Når informasjonen om en komponent eller<br />

komponenter er bedt om, er informasjonen nærmere spesifisert <strong>av</strong> et videre inn-<br />

hold <strong>av</strong> det generelle registeret 0 og <strong>av</strong> innholdet <strong>av</strong> det generelle registeret 1.<br />

SYSIB’en, hvis noen, er utpekt <strong>av</strong> andre-operand adressen. Maskinen regnes å gi<br />

ett, to eller tre nivåer <strong>av</strong> konfigurasjon. Nivåene er:<br />

1. Den grunnleggende maskinen, som er maskinen som om den opererer i det<br />

grunnleggende moduset.<br />

2. En logisk partisjon, som er forutsatt hvis maskinen er i drift i LPAR (logisk<br />

partisjonert) modus. En logisk partisjon er levert <strong>av</strong> LPAR hypervisor, som


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

22<br />

er en del <strong>av</strong> maskinen. En grunnleggende maskin foreligger, selv når ma-<br />

skinen er i drift i LPAR modus.<br />

3. En virtuell maskin, som leveres <strong>av</strong> et virtuelt maskinkontrollprogram (VM)<br />

som er utført enten <strong>av</strong> en grunnleggende maskin eller i en logisk partisjon.<br />

En virtuell maskin kan selv utføre et VM kontrollprogram som gir en høyere<br />

nivå (mer fjernet fra den grunnleggende maskinen) virtuell maskin, som<br />

også regnes som en nivå-3-konfigurasjon. Begrepene grunnleggende mo-<br />

dus, LPAR modus, logisk partisjon, hypervisor og virtuell maskin, og even-<br />

tuelle andre vilkår knyttet spesifikt til disse begrepene, er ikke definert i<br />

denne publikasjonen, de er definert i maskinens håndbøker. Et program<br />

som blir utført <strong>av</strong> en nivå-1-konfigurasjon (grunnleggende maskin) kan be<br />

om informasjon om den konfigurasjon. Et program blir utført <strong>av</strong> et nivå-2-<br />

konfigurasjon (i en logisk partisjon) kan be om informasjon om den logiske<br />

partisjonen og om den underliggende grunnleggende maskinen. Et program<br />

blir utført ved en nivå 3-konfigurasjon (en virtuell maskin) kan be om in-<br />

formasjon om den virtuelle maskinen og om ett eller to underliggende nivå-<br />

er, en grunnleggende maskin er alltid underliggende, og en logisk partisjon<br />

kan eller kan ikke være mellom den grunnleggende maskinen og den virtu-<br />

elle maskinen. Når informasjon om en virtuell maskin er bedt om, er infor-<br />

masjon om konfigurasjonskjøreprogrammet og om eventuelle underliggen-<br />

de nivå eller nivåer <strong>av</strong> virtuell maskiner. I noen <strong>av</strong> disse tilfellene, er infor-<br />

masjonen gitt om et nivå bare dersom nivået gjennomfører instruksjonen.<br />

Funksjonskoden som bestemmer at operasjonen er et usignert binært heltall i bit<br />

posisjonene 32-35 til det generelle registeret 0 og er som følger:<br />

Funksjon<br />

Kode ønsket informasjon:<br />

0 Nåværende-konfigurasjons-nivånummer<br />

1 Opplysninger om nivå 1 (grunnleggende maskinen)<br />

2 Opplysninger om nivå 2 (en logisk partisjon)<br />

3 Opplysninger om nivå 3 (en virtuell maskin)<br />

4-14 Ingen; koder er reservert<br />

15 Gjeldende-konfigurasjonsnivå informasjon


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

Ugyldig funksjonskode:<br />

23<br />

Nivået <strong>av</strong> konfigurasjonen som kjører programmet kalles nåværende nivå. Konfi-<br />

gurasjonsnivået angitt <strong>av</strong> en ikke-null funksjonskode kalles det angitte nivået. Når<br />

det angitte nivået er nummerert høyere enn nåværende nivå, kalles dermed koden<br />

for funksjonen ugyldig, tilstandskoden er satt til 3, og ingen andre tiltak (inkludert<br />

kontroll) er utført.<br />

Gyldig funksjonskode:<br />

Når funksjonskoden er lik eller mindre enn tallet til det nåværende nivået, kalles<br />

det gyldig. I dette tilfellet må bitene 36-55 til det generelle registeret 0 og bitene<br />

32-47 til det generelle registeret 1 være null eller 15, ellers er et spesifikasjons-<br />

unntak anerkjent. Bitene 0-31 til det generelle registeret 0 og 1 ignoreres alltid.<br />

Når funksjonskoden er 0, er et usignert binært heltall som identifiserer det aktuelle<br />

konfigurasjonsnivået (1 for enkel maskin, 2 for logisk partisjon, eller 3 for virtuell<br />

maskin) plassert i bitposisjonene 32-35 til det generelle registeret 0, er tilstands-<br />

koden satt til 0, og ingen ytterligere tiltak er utført. Når funksjonskoden er gyldig<br />

og ikke-null, inneholder det generelle registeret 0 og 1 flere spesifikasjoner om<br />

den ønskede informasjonen, som følger:<br />

! Bit posisjoner 56-63 <strong>av</strong> generell registrer 0 inneholde en usignert binære<br />

heltall, kalt selector 1, som angir en komponent eller deler <strong>av</strong> den angitte<br />

konfigurasjonen.<br />

! [0133] Bit posisjoner 48-63 <strong>av</strong> generell registrere en inneholder en usignert<br />

binære heltall, kalt selector 2, som angir hvilken type informasjon etter-<br />

spør. Innholdet <strong>av</strong> generelle registre 0 og 1 er vist i FIG. 4.<br />

Når funksjonskoden er gyldig og ikke-null, kan informasjon lagres i en systemin-<br />

formasjonsblokk (SYSIB) som begynner lokaliseringen til andre-operand. SYSIB’en<br />

er 4 kB og må begynne på en 4 kB grens, ellers kan et spesifikasjonsunntak bli<br />

gjenkjent, <strong>av</strong>hengig <strong>av</strong> selector 1 og selector 2 og om tilgangsunntak er anerkjent<br />

på grunn <strong>av</strong> referanser til SYSIB.<br />

Selector 1 kan ha verdier som følger:<br />

Selector 1 ønsket informasjon<br />

0 Ingen; selector er reservert


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

1 Informasjon om konfigurasjonsnivået er spesifisert <strong>av</strong> koden for<br />

funksjonen<br />

2 Opplysninger om en eller flere CPU’er i det spesifiserte konfigura-<br />

sjonsnivået<br />

24<br />

3-255 Ingen; selectorer er reservert<br />

Når selector 1 er 1, kan selector 2 ha verdier som følger:<br />

Selector 2 når<br />

Selector 1 er 1 ønsket informasjon<br />

0 Ingen; selector er reservert<br />

1 Opplysninger om det angitte konfigurasjonsnivået<br />

2 Topologi informasjon om det angitte konfigurasjonsni-<br />

vået<br />

3-65,535 Ingen; selectorer er reservert<br />

Når selector 1 er 2, kan selector 2 har verdier som følger:<br />

Selector 2 når<br />

Selector 1 er 2 ønsket informasjon<br />

0 Ingen; selector er reservert<br />

1 Opplysninger om CPU utfører programmet i det angitte<br />

konfigurasjonsnivået<br />

2 Opplysninger om alle CPU’er i det angitte konfigura-<br />

sjonsnivået<br />

3-65,535 Ingen; selectorer er reservert<br />

Kun enkelte kombinasjoner <strong>av</strong> funksjonskode, selector 1, og selector 2 er gyldige,<br />

som vist i FIG. 5.<br />

Når den angitte funksjonskoden, selector-1, og selector-2 kombinasjonen er ugyldig<br />

(er annet enn som vist i FIG. 5), eller om den er gyldig, men den forespurte infor-<br />

masjonen er ikke tilgjengelig fordi det angitte nivået ikke gjennomfører eller ikke<br />

fullt ut gjennomfører instruksjonen eller fordi en nødvendig del <strong>av</strong> nivået er <strong>av</strong>in-<br />

stallert eller ikke initialisert, og forutsatt at et unntak ikke gjenkjennes, er til-<br />

standskoden satt til 3. Når funksjonskoden er null, er kombinasjonen gyldig, er den


5<br />

10<br />

15<br />

20<br />

25<br />

25<br />

forespurte informasjonen tilgjengelig, og det ikke er noe unntak, er den forespurte<br />

informasjonen lagret i en system-informasjon blokk (SYSIB) på adressen til den<br />

andre operanden.<br />

Noen eller alle <strong>av</strong> SYSIB kan være hentet før den er lagret.<br />

En SYSIB kan identifiseres i referanser ved hjelp <strong>av</strong> "SYSIB fc.s1.s2," hvor "fc",<br />

"s1" og "s2" er verdiene <strong>av</strong> en funksjonskoden, selector 1, og selector 2, henholds-<br />

vis.<br />

Følgende <strong>av</strong>snitt beskriver de definerte SYSIB’en ved hjelp <strong>av</strong> figurer og tilhørende<br />

tekst. I tallene, er de forskyvninger som vises til venstre ordverdier (et ord som<br />

består <strong>av</strong> 4 byte). "Konfigurasjonen" refererer til konfigurasjonnivået spesifisert <strong>av</strong><br />

funksjonskoden (konfigurasjonsnivået om hvilken informasjon som er forespurt).<br />

SYSIB 1.1.1 (Basic-Machine Configuration)<br />

SYSIB 1.1.1 har formatet vist i FIG. 6, der feltene har følgende betydning:<br />

Reservert: Innholdet <strong>av</strong> ord 0-7, 13-15 og 29-63 er reservert og lagres som<br />

nuller. Innholdet i ord 64-1023 er reservert og kan lagres som nuller eller<br />

forblir uendret.<br />

Produsent: Ord 8-11 inneholder 16 tegn (0-9 eller store bokst<strong>av</strong>er AZ) EBC-<br />

DIC n<strong>av</strong>net på produsenten <strong>av</strong> konfigurasjonen. N<strong>av</strong>net er venstrejustert<br />

med etterfølgende blanke tegn hvis nødvendig.<br />

Type: Ord <strong>12</strong> inneholder de fire tegn (0-9) EBCDIC typenummer til konfigu-<br />

rasjonen. (Dette kalles maskin-type nummer i definisjonen <strong>av</strong> STORE CPU<br />

ID.)<br />

Model-Capacity Identifier: Ord 16-19 inneholder 16 tegn (0-9 eller store<br />

bokst<strong>av</strong>er AZ) EBCDIC modellkapasitetidentifikator til konfigurasjonen. Mo-<br />

dellkapasitetidentifikator er venstrejustert med etterfølgende blanke tegn<br />

hvis nødvendig.


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

26<br />

Sekvenskodeord 20-23 inneholde 16 tegn (0-9 eller store bokst<strong>av</strong>er AZ)<br />

EBCDIC sekvenskode til konfigurasjonen. Sekvenskoden er høyrejustert med<br />

ledende EBCDIC nuller hvis nødvendig.<br />

Produksjonsfabrikk: Ord 24 inneholder de fire karakter (0-9 eller store bok-<br />

st<strong>av</strong>er AZ) EBCDIC kode som identifiserer anlegget for produksjon for konfi-<br />

gurasjonen. Koden er venstrejustert med etterfølgende blanke tegn hvis<br />

nødvendig.<br />

Model: Når Ord 25 ikke er binære nuller, inneholder ord 25-28 16 tegn (0-9<br />

eller store bokst<strong>av</strong>er AZ) EBCDIC modell identifikasjon til konfigurasjonen.<br />

Modellidentifikasjonen er venstrejustert med etterfølgende blanke tegn hvis<br />

nødvendig. (Dette kalles modellnummer i programmeringsnote 4 på side 10-<br />

111 <strong>av</strong> STORE CPU ID.) Når Ord 25 er binære nuller, representerer innholdet<br />

til ord 16-19 både modell-kapasitet identifikator og modellen.<br />

Programnotater:<br />

1. Feltene i SYSIB 1.1.1 er lik de til node beskriveren beskrevet i publikasjonen<br />

Vanlige I / O-enhet kommandoer og selvbeskrivelse. Imidlertid kan innholdet <strong>av</strong><br />

SYSIB feltene ikke være identisk med innholdet i det tilsvarende nodebeskriverfel-<br />

tet fordi SYSIB feltene:<br />

! Tillater flere tegn.<br />

! Er mer fleksible når det gjelder typen tegn som er tillatt.<br />

! Gir informasjon som er berettiget annerledes innenfor feltet.<br />

! Kan ikke bruke samme metode for å bestemme innholdet <strong>av</strong> felt som sek-<br />

venskodefeltet.<br />

2. Modellfeltet i en node beskrivelse tilsvarer innholdet i STSI modellfeltet og<br />

ikke STSI modell-kapasitet-identifikatorfeltet.<br />

3. Modellfeltet angir modell <strong>av</strong> maskinen (dvs. den fysiske modellen), modell-<br />

kapasitetsidentifikatorfeltet angir en token som kan brukes til å finne en angivelse<br />

<strong>av</strong> kapasiteten eller ytelsen i System Library publikasjonen for modellen.<br />

SYSIB 1.2.1 (Grunnleggende-Maskin CPU)<br />

SYSIB 1.2.1 har formatet vist i FIG. 7 der feltene har følgende mening:


5<br />

10<br />

15<br />

20<br />

25<br />

27<br />

Reservert: Innholdet <strong>av</strong> ord 0-19, byte 0 og 1 <strong>av</strong> ord 25, og ord 26-63 er re-<br />

servert og lagres som nuller. Innholdet i ord 64-1023 er reservert og kan<br />

lagres som nuller eller forblir uendret.<br />

Sekvenskodeord 20-23 inneholde 16 tegn (0-9 eller store bokst<strong>av</strong>er AZ)<br />

EBCDIC sekvens kode til konfigurasjonen. Koden er høyrejustert med leden-<br />

de EBCDIC nuller hvis nødvendig.<br />

Produksjonanlegg: Ord 24 inneholder de fire karakter (0-9 eller store bok-<br />

st<strong>av</strong>er AZ) EBCDIC kode som identifiserer anlegget for produksjonen <strong>av</strong> kon-<br />

figurasjonen. Koden er venstrejustert med etterfølgende blanke tegn hvis<br />

nødvendig.<br />

CPU Adresse: Bytes 2 og 3 til ord 25 inneholde CPU-adressen som denne<br />

CPU’en er identifisert i en multiprosessorkonfigurasjon. Den CPU-adressen er<br />

et 16-bit usignert binært heltall. Denne CPU-adressen er den samme som er<br />

lagret <strong>av</strong> STORE CPU ADRESSE når programmet utføres <strong>av</strong> en maskin som<br />

opererer i grunnleggende modus.<br />

Programmeringsnotater:<br />

Flere CPU’er i samme konfigurasjon har samme sekvenskoden, og det er<br />

nødvendig å bruke annen informasjon, som for eksempel CPU-adressen, for<br />

å etablere en unik CPU-identitet. Sekvenskoden returneres for en grunnleg-<br />

gende maskin-CPU og en logisk-partisjons-CPU er identiske og har samme<br />

verdi som sekvenskoden som returneres for grunnleggende-maskin-<br />

konfigurasjonen.<br />

SYSIB 1.2.2 (Grunnleggende-Maskin CPU’er)<br />

Formatfeltet i byte 0 <strong>av</strong> ordet 0 bestemmer formatet på SYSIB. Når formatfeltet har<br />

en verdi på null, har SYSIB 1.2.2 et format-0 layout som vist i FIG. 8. Når format-<br />

feltet har en verdi på én, har SYSIB 1.2.2 et format-1 layout som vist i FIG. 9.<br />

Reservert:<br />

Når formatfeltet inneholder en verdi på null, er innholdet i bytes 1-3 <strong>av</strong> ord<br />

0 og ord 1-6 reservert og lagres som nuller. Når formatfeltet inneholder en


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

Format:<br />

28<br />

verdi på én, er innholdet i byte 1 <strong>av</strong> ord 0 og ord 1-6 reservert og lagres<br />

som nuller. Når færre enn 64 ord behøves for å inneholde informasjonen for<br />

alle CPU’ene, er delen <strong>av</strong> SYSIB’en som etterfølger justeringsfaktorlisten i et<br />

format-0 SYSIB eller den alternerende-justeringsfaktorlisten i en format-1<br />

SYSIB opp til ord 63 reservert og lagret som nuller. Innholdet <strong>av</strong> ord 64 –<br />

1023 er reservert og kan lagres som nuller kan forbli uforandret. Når 64 el-<br />

ler flere ord behøves for å inneholde informasjonen for alle CPU’ene, er de-<br />

len <strong>av</strong> SYSIB’en som etterfølger justeringsfaktorlisten i et format-0 SYSIB el-<br />

ler den alternerende-justeringsfaktorlisten i en format-1 SYSIB opp til ord<br />

1023 reservert og kan bli lagret som nuller eller kan forbli uforandret.<br />

Byte 0 <strong>av</strong> ordet 0 inneholder et 8-bit usignert binært heltall som angir formatet på<br />

SYSIB 1.2.2.<br />

Alternerende-CPU-kapabilitetsoffset:<br />

Når formatfeltet har en verdi på én, inneholder bytes 2-3 i ord 0 et 16-bit usignert<br />

binært heltall som angir forskyvningen i byte <strong>av</strong> det alternative-CPU-<br />

kapabilitetsfeltet i SYSIB.<br />

Sekundær CPU kapabilitet:<br />

Ord 7 inneholder et 32-bit usignert binært heltall som, når det ikke er null, spesifi-<br />

serer en sekundær funksjon som kan brukes på visse typer CPU’er i konfigurasjo-<br />

nen. Det er ingen formell beskrivelse <strong>av</strong> algoritmen som brukes til å generere dette<br />

heltallet, bortsett fra at det er den samme som algoritmen som brukes til å genere-<br />

re CPU evne. Heltallet brukes som en indikasjon på kapasiteten til en CPU i forhold<br />

til evnen til andre CPU-modeller, og også i forhold til evnen til andre CPU typer in-<br />

nenfor en modell. Kapabilitetsverdien gjelder for hver <strong>av</strong> CPU’ene til ett eller flere<br />

aktuelle CPU typer i konfigurasjonen. Det vil si at alle CPU’er i konfigurasjonen <strong>av</strong><br />

en gjeldende type eller typer har samme evne. Når verdien er null, har alle CPU’er<br />

<strong>av</strong> enhver CPU type i konfigurasjonen samme evne, som angitt <strong>av</strong> CPU evne. Den<br />

sekundære CPU kapabiliteten kan eller kan ikke være den samme verdi som CPU-<br />

kapabilitetsverdien. Multiprosesserings-CPU-evne-justeringsfaktorer er også gjel-<br />

dende for CPU’er hvis funksjoner er spesifisert <strong>av</strong> den sekundære CPU evnen.


5<br />

10<br />

15<br />

20<br />

25<br />

CPU kapabilitet:<br />

29<br />

Hvis biter 0-8 <strong>av</strong> ord 8 er null, inneholder ordet et 32-bit usignert binært heltall (I) i<br />

området 0


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

konfigurasjonen, er ikke tilgjengelig for å brukes til å kjøre programmer, og kan<br />

30<br />

ikke gjøres tilgjengelig ved utstedelse <strong>av</strong> instruksjonene for å plassere den i konfi-<br />

gurerte tilstand. (Det kan være mulig å plassere en reservert CPU i standby eller<br />

konfigurert tilstand ved hjelp <strong>av</strong> manuelle handlinger.)<br />

Multiprosesserings-CPU-kapabilitetsjusteringsfaktorer:<br />

Fra og med byte 0 og 1 <strong>av</strong> ord 11, inneholder SYSIB en serie med sammenhengen-<br />

de to-byte felt, som hver inneholder et 16-bit usignert binært heltall som brukes til<br />

å danne en justeringsfaktor (fraksjon) for verdien som finnes i CPU -evne feltet. En<br />

slik brøkdel er utviklet ved hjelp <strong>av</strong> verdien (V) <strong>av</strong> de første to-byte felt i henhold til<br />

én <strong>av</strong> følgende metoder:<br />

! Hvis V er i størrelsesorden 0


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

35<br />

som en indikasjon på den varslede kapabiliteten til CPU i forhold til den varslede<br />

31<br />

kapabiliteten til andre CPU-modeller. Den alternerende kapabilitetsverdi gjelder for<br />

hver <strong>av</strong> CPU’ene i konfigurasjonen. Det vil si at alle CPU’er i konfigurasjonen har<br />

samme alternerende kapabilitet.<br />

Dermed er brøkdelen representert med hvert to-byte felt så utviklet ved å dele<br />

innholdet i to byte felt <strong>av</strong> den indikerte nevneren. Antallet alternative-justerings-<br />

faktorfelter er én mindre enn antall CPU'er angitt i total-CPU-tallfeltet. Det<br />

alternative justeringsfaktorfeltet tilsvarer konfigurasjoner med økende antall CPU'er<br />

i den konfigurerte tilstanden. Det første alternerende justeringsfaktorfeltet tilsvarer<br />

en konfigurasjon med to CPU'er i den konfigurerte tilstanden. Hvert suksessive<br />

alternerende justeringsfaktorfelt tilsvarer en konfigurasjon med en rekke CPU'er i<br />

den konfigurerte tilstanden som er én mer enn for de foregående feltet.<br />

SYSIB 15.1.2 (konfigurasjonstopologi)<br />

SYSIB 15.1.2 har formatet vist i FIG. 10. Feltene har den betydning som følger:<br />

Reservert: Innholdet <strong>av</strong> bytes 0-1 <strong>av</strong> ord 0, byte 2 <strong>av</strong> ordet 2 og ord 3 er<br />

reservert, og lagres som nuller. Innholdet <strong>av</strong> ord N-1023 er reservert og kan<br />

lagres som nuller eller forblir uendret.<br />

Lengde: Bytes 2-3 <strong>av</strong> ordet 0 inneholder et 16-bit usignert binært heltall<br />

som verdi er antall byte <strong>av</strong> hele SYSIB 15.1.2. Lengden på bare topologi<br />

listen er bestemt ved å trekke 16 fra lengden verdien i byte 2-3 <strong>av</strong> ordet 0.<br />

N i FIG. 10 er bestemt ved å evaluere formelen N = Lengde / 4.<br />

Mag 1-6: Ord og bytes 0-1 <strong>av</strong> ord utgjør seks én byte felt der innholdet i<br />

hver byte angir maksimalt antall beholder-type topologi-oppføringer (TLE)<br />

eller CPU-type TLE'er på tilsvarende stablings nivå. CPU-type TLE'er er alltid<br />

funnet bare på Mag1 nivå. I tillegg spesifiserer Mag1 verdien også maksimalt<br />

antall CPU'er som kan være representert <strong>av</strong> en beholder-type TLE til Mag2<br />

nivået. Når verdien <strong>av</strong> det stablende nivået er større enn én, inneholdende<br />

stablende nivåer over Mag1 nivå er opptatt <strong>av</strong> beholder-type TLE'er. En<br />

dynamisk endring i topologien kan endre antall TLE'er og antall CPU'er på<br />

Mag1 nivå, men grensene representert ved verdiene <strong>av</strong> Mag1-6 feltet endres<br />

ikke innenfor en modell familie <strong>av</strong> maskiner.<br />

Topologien er en strukturert liste over oppføringer der en oppføring definerer en<br />

eller flere prosessorer eller annet er involvert med stablende struktur. Følgende<br />

illustrerer betydningen <strong>av</strong> omfanget feltene:<br />

Når alle CPU'er <strong>av</strong> maskinen er jevnaldrende og ingen begrensende organisasjon<br />

eksisterer, annet enn helheten <strong>av</strong> sentralprosesseringskomplekset selv, er verdien


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

35<br />

32<br />

<strong>av</strong> stablende nivå 1, Mag1 den estable ikke-null størrelse feltet, og antall lagrede<br />

CPU-type TLE'er overskrider ikke Mag1 verdien.<br />

Når alle CPU'er <strong>av</strong> maskinen er delt inn i likestilte grupper slik at et nivå <strong>av</strong> kontroll<br />

eksisterer, er verdien <strong>av</strong> stablende nivå 2, Mag1 og Mag2 det estable feltet <strong>av</strong><br />

størrelsesorden ikke-null, antall lagrede beholder-type TLE'er overstiger ikke Mag2<br />

verdien, og antall CPU-type TLE'er lagret innenfor hver beholder overskrider ikke<br />

Mag1 verdieen.<br />

Mag3-6 bytes blir likeledes brukt (går i en rett-til-venstre retning) når verdien <strong>av</strong><br />

det stablende nivået faller i området 3-6.<br />

MStabl: Byte 3 <strong>av</strong> ordet 2 angir det stablende nivået <strong>av</strong> topologi som til hvilke<br />

konfigurasjonen kan forlenges mens du fortsetter å tillate gjesteprogrammet for å<br />

overleve. Den maksimale MStabl verdien er seks, den minste er én. Hvis MStabl er<br />

én, er det ingen reelle TLE stabling struktur, er Mag1 det estable ikke-null-feltet i<br />

Mag1-6-serien, og bare CPU-type TLE'er er representert i topologilisten. MStabl<br />

verdien angir antall verdier <strong>av</strong> størrelsesorden ikke-null som begynner med<br />

størrelsesordensfeltet ved byte <strong>av</strong> ord 2 (Mag1), fortsetter til venstre når MStabl er<br />

større enn én, og med de resterende størrelsesordensfeltene lagret som nuller.<br />

Verdien <strong>av</strong> MStabl er det maksimale mulig stablende. Ingen dynamisk<br />

konfigurasjonsendring overskrider denne grensen.<br />

Topologilisten: Ord <strong>av</strong> FIG. 10 i området 4 til N-1 spesifiserer en liste <strong>av</strong> en eller<br />

flere topologilisteoppføringer (TLE). Hver TLE er et åtte-byte eller seksten-byte felt,<br />

derfor er N et likt antall ord, og en konsekvens er at en TLE alltid starter på en<br />

dobbelordgrense.<br />

Topologilisteoppføringer: Den første TLE i topologi listen begynner på et stablende<br />

nivå lik MStabl-1. Hele topologilisten representerer konfigurasjonen <strong>av</strong> utstederen<br />

<strong>av</strong> STSI instruksjonen som spesifiserer SYSIB 15.1.2, ingen ytterste beholder TLE<br />

oppføring blir brukt i det det ville være overflødig med hele listen, og hele<br />

konfigurasjonen. Der derfor kan det høyeste stablende nivået ha mer enn en enkelt<br />

likestilt beholder.<br />

Fig. 11 og <strong>12</strong> illustrerer typene TLE'er, der feltene har følgende definisjoner:<br />

Stablende nivå (NL): Byte 0 til ord 0 spesifiserer TLE Stablende nivå.<br />

NL betydning<br />

0 TLE'en er en CPU-type TLE.<br />

1-5 TLE'en er en beholder-type TLE.


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

35<br />

06-FF Reservert.<br />

33<br />

Den første beholder-type TLE'en lagret i en topologiliste eller en<br />

forelderbeholder har en beholder-ID i området 1-255. Hvis søsken<br />

beholdere eksistere innenfor samme foreldre, går de i en stigende<br />

rekkefølge <strong>av</strong> beholder ID-kort, som kan eller ikke kan være<br />

sammenhengende, til en maksimal verdi på 255.<br />

Søsken TLE'er har samme verdi <strong>av</strong> stablende nivå som tilsvarer enten verdien <strong>av</strong><br />

det stablende nivået minus ett <strong>av</strong> de umiddelbare foreldre TLE'ene, eller verdien <strong>av</strong><br />

MStabl minus én, fordi den umiddelbare foreldre er topologiliste heller enn en TLE.<br />

Reservert, 0: For en beholder-type TLE blir bytes 1-3 <strong>av</strong> ord 0 og bytes 0-2 <strong>av</strong> ord<br />

1 reservert og lagret som nuller. For en CPU-type TLE blir bytes 1-3 <strong>av</strong> ord 0 og<br />

biter 0-4 <strong>av</strong> ord 1 reservert og lagret som nuller.<br />

Beholder ID:<br />

Byte <strong>av</strong> ord 1 <strong>av</strong> en beholder-type TLE angir en 8-bit usignert ikke er null binære<br />

heltall som verdi identifikatoren <strong>av</strong> beholderen. Beholderen ID for en TLE er unik<br />

innenfor samme foreldre beholder.<br />

Dedikerte (D):<br />

Bit 5 <strong>av</strong> ord 1 <strong>av</strong> en CPU-type TLE, når man, indikerer at en eller flere CPU'er<br />

representert ved TLE er dedikerte. Når D er null, er en eller flere CPU'er <strong>av</strong> TLE ikke<br />

dedikerte.<br />

Polarisering (PP):<br />

Bits 6-7 <strong>av</strong> ord 1 <strong>av</strong> en CPU-type TLE spesifisere polariseringsverdien og, når<br />

polariseringen er vertikal, er graden <strong>av</strong> vertikal polarisasjon også kalt bruksrett<br />

(høy, middels, l<strong>av</strong>) <strong>av</strong> tilsvarende CPU (er) representerte <strong>av</strong> TLE. Følgende verdier<br />

brukes:<br />

PP Betydning:<br />

0 en eller flere CPU'er representert ved TLE er horisontalt polarisert.<br />

1 En eller flere CPU'er representert ved TLE er vertikalt polarisert.<br />

Ytelsen er l<strong>av</strong>.<br />

2 en eller flere CPU'er representert ved TLE er vertikalt polarisert. Ytelsen er<br />

middels.


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

35<br />

34<br />

3 En eller flere CPU'er representert ved TLE er vertikalt polarisert.<br />

Ytelsen er høy.<br />

Polariseringen er estable signifikante i en logisk og virtuell<br />

multiprosesseringskonfigurasjon som bruker delt vertsprosessorer og omhandler<br />

hvordan ressursen tildelt en konfigurasjon er brukt over CPU'er <strong>av</strong> konfigurasjonen.<br />

Når horisontale polarisasjon er i kraft, er hver CPU til en konfigurasjon garantert<br />

omtrent samme mengde ressurs. Når vertikal polarisasjon er i kraft, er CPU'er <strong>av</strong><br />

en konfigurasjon klassifisert i tre nivåer <strong>av</strong> ressurs bruksrett: høy, middels og l<strong>av</strong>.<br />

Både undersystem reset og vellykket gjennomføring <strong>av</strong> SIGP set-arkitektur orden<br />

som spesifiserer ESA/390 modussted en konfigurasjon og alle <strong>av</strong> dens CPU'er inn i<br />

horisontale polarisasjon. CPU'er som er umiddelbart rammet er de som er i den<br />

konfigurerte tilstanden. Når en CPU i standby-tilstand er konfigurert, anskaffer den<br />

den aktuelle polariseringen til konfigurasjonen og forårsaker en topologiendring <strong>av</strong><br />

denne konfigurasjonen å bli kjent.<br />

En dedikert CPU er enten horisontalt eller vertikalt polarisert. Når en dedikert CPU<br />

er vertikalt polarisert, er bruksretten alltid høy. Så når D er 1, er PP enten 00 binær<br />

eller 11 binær.<br />

CPU Type:<br />

Byte 1 <strong>av</strong> ord 1 <strong>av</strong> en CPU-type TLE angir et 8-bit usignert binært heltall hvilkes<br />

verdi er CPU typen til en eller flere CPU'er representert ved TLE. CPU-typeverdien<br />

angir enten en primær-CPU type eller noen <strong>av</strong> de mulige sekundære-CPU-typene.<br />

CPU-Adresse opph<strong>av</strong>:<br />

Bytes 2-3 <strong>av</strong> ord 1 <strong>av</strong> en CPU-type TLE angir et 16-bit usignert binært heltall<br />

hvilkets verdi er CPU adressen til den første CPU'en i området <strong>av</strong> CPU'er<br />

representert ved CPU maske, og hvis tilstedeværelse er representert <strong>av</strong> verdien <strong>av</strong><br />

bit posisjon 0 i CPU masken. En CPU-adresse opprinnelse er jevnt delbart med 64.<br />

Verdien <strong>av</strong> en CPU-adresse opprinnelse er den samme som den lagret <strong>av</strong> STORE<br />

CPU ADRESSE (STAP) instruksjonen når utført på CPU representert ved bit posisjon<br />

0 i CPU maske.


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

35<br />

CPU Maske:<br />

Ord 2-3 <strong>av</strong> en CPU-type TLE angir en 64-bits maske der hver bitposisjon<br />

representerer en CPU. Verdien <strong>av</strong> CPU-adresse opprinnelsesfeltet pluss en<br />

35<br />

bitposisjon i CPU maske lik CPU adressen for tilsvarende CPU. Når et CPU maske bit<br />

er null, er den tilsvarende CPU ikke er representert ved TLE. CPU er enten ikke i<br />

konfigurasjonen eller må være representert ved en annen CPU-type TLE.<br />

Når en CPU maske bit er en, har de tilsvarende CPU den modifiserer-<br />

attributtverdiene spesifisert <strong>av</strong> TLE, er i topologien til konfigurasjonen, og er ikke til<br />

stede i noen andre TLE'er til topologien.<br />

Derfor, for eksempel hvis CPU-adresseopprinnelsen er en verdi på 64, og bit<br />

posisjon 15 <strong>av</strong> CPU masken er en, er CPU 79 i konfigurasjonen og har CPU-type,<br />

polarisering, berettigelse og dedikasjon som spesifisert <strong>av</strong> TLE.<br />

TLE Rekkefølge:<br />

Modifisererattributtene som gjelder for en CPU-type TLE er CPU-type, polarisering,<br />

berettigelse og dedikasjon. Polarisering og berettigelse (for vertikal polarisasjon)<br />

tas som en enkelt atributt, men med fire mulige verdier (horisontal, vertikal-høy,<br />

vertikal-medium, og vertikal-l<strong>av</strong>).<br />

En enkelt CPU TLE er tilstrekkelig til å representere så mange som 64 CPU'er at alle<br />

har samme modifisererattributtverdier.<br />

Når mer enn 64 CPU'er eksisterer, eller hele spekteret <strong>av</strong> CPU-adresser ikke er<br />

dekket <strong>av</strong> en enkelt CPU-adresse opprinnelse, og modifisererattributtene er<br />

konstante, er en egen søsken CPU TLE lagret for hver CPU-adresse opprinnelse,<br />

som nødvendig, i stigende rekkefølge <strong>av</strong> CPU-adresse opprinnelse. Hver slik lagret<br />

TLE har minst én CPU representert. Samlingen <strong>av</strong> en eller flere slike CPU TLE'er<br />

kalles et CPU-TLE sett.<br />

Når flere CPU-typer finnes, er en egen CPU-TLE satt lagret for hver, i stigende<br />

rekkefølge <strong>av</strong> CPU type.<br />

Når flere polarisering-og-berettigelseverdier eksisterer, er en egen CPU-TLE sett<br />

lagret for hver enkelt, i synkende rekkefølge <strong>av</strong> polariseringsverdi og grad (vertikal


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

35<br />

høy, middels, l<strong>av</strong>, deretter horisontal). Når til stede, er alle polarisering CPU-TLE<br />

sett <strong>av</strong> en gitt CPU type lagret før stable CPU-TLE sett til den stable CPU-typen.<br />

Når både dedikerte og ikke-dedikert CPU'er eksisterer, er en egen CPU-TLE satt<br />

36<br />

lagret for hver, dedikerte vises før ikke-dedikert. Alle TLE'er er sortert forutsatt en<br />

dybde-første tr<strong>av</strong>ersering hvor sorteringsrekkefølge fra størst til minst er som<br />

følger:<br />

1. CPU type<br />

a. L<strong>av</strong>este CPU-type verdi<br />

b. Høyeste CPU-type verdi<br />

2. Polarisering-Berettigelse<br />

a. Vertikal høy<br />

b. Vertikal medium<br />

c. Vertikal l<strong>av</strong><br />

d. Horisontal<br />

3. Dedikasjon (når gjeldende)<br />

a. Dedikerte<br />

b. Ikke dedikert<br />

Rangeringen <strong>av</strong> CPU-adresseopprinnelse og modifisererattributter <strong>av</strong> søsken CPU<br />

TLE'er innenfor en forelder beholder er gjort i henhold til følgende liste, fortsetter<br />

som fra høyeste til l<strong>av</strong>este.<br />

1. CPU-TLE sett l<strong>av</strong>este CPU-type verdi, vertikal høy, dedikert<br />

2. CPU-TLE sett l<strong>av</strong>este CPU-type verdi, vertikal høy, ikke-dedikert<br />

3. CPU-TLE sett l<strong>av</strong>este CPU-type verdi, vertikale medium, ikke-dedikert<br />

4. CPU-TLE sett l<strong>av</strong>este CPU-type verdi, vertikal l<strong>av</strong>, ikke-dedikert<br />

5. CPU-TLE sett l<strong>av</strong>este CPU-type verdi, horisontal, dedikert<br />

6. CPU-TLE sett l<strong>av</strong>este CPU-type verdi, horisontal, ikke-dedikert<br />

7. CPU-TLE sett <strong>av</strong> høyeste CPU-type verdi, vertikal høy, dedikert<br />

8. CPU-TLE sett <strong>av</strong> høyeste CPU-type verdi, vertikal høy, ikke-dedikert<br />

9. CPU-TLE sett <strong>av</strong> høyeste CPU-type verdi, vertikale medium, ikke-dedikert<br />

10. CPU-TLE sett <strong>av</strong> høyeste CPU-type verdi, vertikal l<strong>av</strong>, ikke-dedikert<br />

11. CPU-TLE sett <strong>av</strong> høyeste CPU-type verdi, horisontal, dedikert<br />

<strong>12</strong>. CPU-TLE sett <strong>av</strong> høyeste CPU-type verdi, horisontal, ikke-dedikert


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

35<br />

Andre TLE Regler:<br />

37<br />

En beholder-type TLE ligger på stablende nivåer i området 1-5.<br />

En CPU-type TLE ligger på stablende nivå 0.<br />

Antall søsken beholder-type TLE'er i en topologiliste eller en gitt foreldrene beholder<br />

ikke overstiger verdien <strong>av</strong> størrelsesordensbyte (Mag2-6) <strong>av</strong> det stablende nivået<br />

tilsvarer søskenene.<br />

Antall CPU'er representert ved en eller flere CPU-type TLE'er <strong>av</strong> den overordnede<br />

beholderen ikke overstiger verdien <strong>av</strong> Mag1 størrelsesordensbyte.<br />

Innholdet i en TLE er definert som følger:<br />

Hvis en TLE er en beholder-type TLE, er innholdet i en liste som følger<br />

umiddelbart etter den overordnede TLE'en, som består <strong>av</strong> en eller flere<br />

barneTLE'er, og hver barneTLE har et stablende nivå <strong>av</strong> én mindre enn det<br />

stablende nivået i forelderTLE'en eller topologi-liste enden.<br />

Hvis en TLE er en CPU-type TLE, er innholdet en eller flere CPU'er, som<br />

identifisert <strong>av</strong> andre felt <strong>av</strong> en CPU TLE.<br />

Når den første TLE på et stablende nivå er en CPU oppføring, har det maksimale<br />

stablende nivå 0 blitt nådd.<br />

Programmeringsnotater:<br />

En mulig undersøkelsesprosess med en topologiliste er beskrevet. Før en<br />

undersøkelse <strong>av</strong> en topologi liste er begynt, er den nåværende-TLE pekeren<br />

initialisert til å referere til den første eller øverste TLE i topologilisten, er den<br />

tidligere-TLE pekeren initialisert til null, og deretter er TLE'er undersøkt i en topp-<br />

til- bunn rekkefølge.<br />

I det en topologi-liste undersøkelsen skrider frem, er den nåværende-TLE pekeren<br />

inkrementert ved å øke den nåværende-TLE pekeren med størrelsen på den<br />

nåværende TLE til hvilke den peker. En beholder-type TLE er inkrementert ved å<br />

legge åtte til den nåværende-TLE pekeren. En CPU-type TLE er inkrementert ved å<br />

legge seksten til den nåværende-TLE pekeren. Prosessen med å inkrementere den


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

35<br />

38<br />

nåværende-TLE pekeren inkluderer lagre dens verdi som før-TLE peker rett før den<br />

økes. TLE undersøkelse er ikke utført hvis topologilisten ikke har noen TLE'er.<br />

Eksamineringsprosessen er skissert i følgende trinn:<br />

1. Hvis det gjeldende-TLE stablende nivået er null, og den tidligere-TLE stablende<br />

nivået er null eller en, representerer nåværende TLE den første CPU-type TLE <strong>av</strong> en<br />

gruppe <strong>av</strong> en eller flere CPU-type TLE'er. Programmet skal utføre nødvendige tiltak<br />

hensiktsmessige for når en ny gruppe <strong>av</strong> en eller flere CPU'er er først observert. Gå<br />

til trinn 5.<br />

2. Hvis den nåværende-TLE stablende nivået er null, og den tidligere-TLE stablende<br />

nivået er null, representerer den nåværende TLE'en en senere CPU-type TLE <strong>av</strong> en<br />

gruppe CPU-type TLE'er som representerer søsken <strong>av</strong> CPU'er tidligere observert i<br />

trinn 1 eller 2. Programmet som skal utføre nødvendige tiltak er hensiktsmessig for<br />

når størrelsen <strong>av</strong> en eksisterende søskengruppe <strong>av</strong> en eller flere CPU'er er økt. Gå<br />

til trinn 5.<br />

3. Hvis det nåværende-TLE stablende nivået ikke er null, og det tidligere-TLE<br />

stablende nivået er null, representerer forutgående TLE en siste eller bare CPU-type<br />

TLE <strong>av</strong> en gruppe <strong>av</strong> en eller flere CPU-type TLE'er. Programmet som skal utføre<br />

nødvendige tiltak er hensiktsmessig for når en eksisterende gruppe <strong>av</strong> en eller flere<br />

CPU'er er fullført. Gå til trinn 5.<br />

4. Gå til trinn 5.<br />

Ved eliminasjon, ville dette være tilfelle der det aktuelle-TLE stablende nivået ikke<br />

er null, og den tidligere-TLE stablende nivået ikke er null. Hvis det nåværende-TLE<br />

stablende nivået er l<strong>av</strong>ere enn det tidligere-TLE stablende nivå, er retningen <strong>av</strong><br />

topologilisten tr<strong>av</strong>ersering mot en CPU-type TLE. Hvis det nåværende-TLE stablende<br />

nivået er større enn det tidligere-TLE stablende nivået, er retningen <strong>av</strong> topologi-<br />

liste tr<strong>av</strong>erseringen vekk fra en CPU-type TLE. Beholder-type TLE'er blir krysset<br />

som fører til enten (1) en annen gruppe <strong>av</strong> CPU-type TLE'er som er en egen gruppe<br />

i den totale topologien, eller (2) på slutten <strong>av</strong> topologilisten. I begge tilfeller er<br />

ingen spesiell behandling nødvendig utover å <strong>av</strong>ansere til stable TLE.<br />

5. Videre til stable TLE posisjon basert på typen <strong>av</strong> nåværende TLE. Hvis den<br />

<strong>av</strong>anserte nåværende-TLE pekeren tilsvarer slutten <strong>av</strong> topologi listen:


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

35<br />

39<br />

a. Ingen flere TLE'er <strong>av</strong> enhver type eksisterer.<br />

b. Dersom det tidligere-TLE stablende nivået er null, bør programmet<br />

utføre nødvendige tiltak være hensiktsmessig for når en eksisterende<br />

gruppe <strong>av</strong> en eller flere CPU'er er fullført.<br />

c. Eksamineringen er fullført.<br />

Ellers går du til trinn 1.<br />

I et eksempel på en implementering, FIG. 16, består et datasystem <strong>av</strong> to fysiske<br />

rammer (Ramme 1 og Ramme 2). Hver ramme inneholder to logikk boards (Board<br />

1 og Board 2), hovedlageret (Memory) og I / O-adaptere (I / O Kanal 1 og I / O<br />

Kanal 2) for å kommunisere med eksterne enheter og nettverk. Hvert board<br />

inneholder to multi-chip moduler (1 Mod, 2 Mod, type 3 og type 4). Hver multi-chip<br />

modul inneholder to prosessorer (CPU1, CPU2, CPU3, CPU4, CPU5, CPU6 CPU7 og<br />

CPU8). Hver modul inneholder også en nivå-2 Cache (Cache 1, Cache 2, Cache 3 og<br />

Cache 4). Hver prosessor (Central Processing Unit eller CPU), inkluderer en nivå-1<br />

Cache og <strong>Oversettelse</strong>-Lookaside-Buffer (TLB). TLB bufferets Addresse Translation<br />

informasjon under dynamisk adresse oversettelse.<br />

I henhold til oppfinnelsen, FIG. 17, 18 og 19 er komponentene i datasystemet til-<br />

delt til "beholdere" i henhold til nærhet. Hver modul er tildelt til innerste beholder<br />

6, 7, 8 og 9 i det CPU’er til hver modul finnes i den innerste nærhet til hverandre.<br />

Siden modulene er pakket på brett, er modulene i de respektive brettene tildelt til<br />

stable nivå beholdere 4 og 5. Den stable høyere nærhetsgrupperingen er rammen.<br />

Brettene til en ramme er lagt til en beholder som representerer rammen (beholdere<br />

2 og 3). Hele systemet er representert ved beholder 1.<br />

Det kan sees at to CPU’er på samme modul som CPU1 og CPU2 er i nærmest topo-<br />

logiskeforhold eller <strong>av</strong>stand til hverandre og at begge befinner seg i en beholder<br />

(beholder 6) og ingen beholder grense er krysset når bare de CPU’er er involvert.<br />

Men hvis CPU1 og CPU8 er involvert, er 4 beholder grenser krysset. CPU1 i behol-<br />

der 6 er separert <strong>av</strong> fire beholdere, 5 og 9 fra CPU8. Derfor ved å vite beholder-<br />

strukturen, kan en bruker få en oversikt over topologien til systemet.<br />

Selvfølgelig, i et logisk partisjonert system, kan CPU’er deles mellom operativsys-<br />

temer som tidligere diskutert. Derfor, hvis en logisk partisjon ble tildelt tre logiske<br />

prosessorer, hver logiske CPU tildelt 20% <strong>av</strong> hver <strong>av</strong> de tre virkelige CPU’ene, ville<br />

partisjonen virke best hvis 3 ekte CPU’er var innerste nærhet til hverandre som<br />

kommunikasjon mellom CPU og CPU-ressurser (cache og minne for eksempel) ville


5<br />

10<br />

15<br />

20<br />

25<br />

40<br />

virke best. I vårt eksempel, ville CPU1 og CPU2 i en partisjon oppleve mindre tres-<br />

king <strong>av</strong> cache linjer i Cache 1 enn hvis de to CPU’ene var CPU1 og CPU8.<br />

I eksemplet er en partisjon skapt inkludert CPU1, CPU2 og CPU3. Et program som<br />

opererer i partisjonen utsteder en STSI instruksjon og en SYSIB 15.1.2 (fig. 10)<br />

tabell returneres til programmet. I dette tilfellet omfatter partisjon en <strong>av</strong> beholder 6<br />

og beholder 7 og dermed er det to nivåer <strong>av</strong> stabler. SYSIB tabellverdiene er:<br />

MNest feltet er satt til 4, indikerende at topologien inneholder 4 stablingsnivåer,<br />

som er en absolutt maksimal stabel for modellen, og kan eller kan ikke være fullt<br />

utnyttet på hvilke som helst vilkårlige topologiliste, <strong>av</strong>hengig <strong>av</strong> ressurstildeling til<br />

gjestekonfigurasjon utstedelse STSI, og hvordan ressurser tildeles til andre gjeste-<br />

konfigurasjoner <strong>av</strong> systemet.<br />

Mag1 feltet er satt til 2 indikerer at 2 CPU’er er tilgjengelig på det mest primitive<br />

første nivået.<br />

Mag2 feltet er satt til 2 indikerer at 2 andrenivå (Modul) beholdere er tilgjengelig.<br />

Mag3 feltet er satt til 2 indikerer 2 tredjenivåer (Boards) er tilgjengelig.<br />

Mag4 feltet er satt til 2 indikerer 2 fjerdenivåer (Frames) er tilgjengelig.<br />

I vårt eksempel er de tre prosessorer som finnes i to moduler på samme bord, der-<br />

for følgende fire TLE oppføringer følger:<br />

1. NL = 1; CtnrID = 1 (beholder 6)<br />

2. NL = 0; CPU type = 1 (type CPU); CPU Addr Origin = 0; CPU Mask 0. . . 11<br />

(CPU1 og CPU2 <strong>av</strong> adressert CPU)<br />

3. NL = 1; CtnrID = 2 (beholder 7)<br />

4. NL = 0; CPU type = 1 (<strong>av</strong> type CPU-tallet); CPU Addr Origin = 4; CPU Mask 0. . .<br />

10 (CPU3 <strong>av</strong> adressert CPU)<br />

Dermed har programmet en representasjon <strong>av</strong> den fysiske topologien basert på<br />

beholderen og CPU TLE’er er returnert.<br />

Utfør Topologi Funksjon (PTF)


5<br />

10<br />

15<br />

20<br />

25<br />

41<br />

Med henvisning til FIG. 13, består en Utfør Topologi Function (PTF) instruksjon fort-<br />

rinnsvis <strong>av</strong> en opcode og et registerfelt R1 som identifiserer en første operand. Inn-<br />

holdet i det generelle registeret identifisert <strong>av</strong> R1 spesifiserer en funksjonskode i bit<br />

posisjoner 56-63, som vist i FIG. 14.<br />

Den definerte funksjonskodene er som følger:<br />

FC Betydning<br />

0 Forespørre om horisontal polarisering.<br />

1 Forespørre om vertikal polarisering.<br />

2 Sjekk topologi-endrings status.<br />

Udefinert funksjonskoder i størrelsesorden 0-255 er reservert for fremtidige utvi-<br />

delser.<br />

Ved ferdigstillelse hvis tilstandskoden 2 er satt, er en grunnkode lagret i bit posi-<br />

sjoner 48-55 til det generelle registeret R1. Bits 16-23 og 28-31 <strong>av</strong> instruksjonen<br />

blir oversett.<br />

Drift <strong>av</strong> funksjonskode 0:<br />

Kjøretid fullfører med betingelseskode for enkelte <strong>av</strong> følgende årsaker og (grunn-<br />

koder):<br />

Ingen grunn spesifisert (0).<br />

Den anmodende konfigurasjonen er allerede horisontalt polarisert (1).<br />

En topologi endringen er allerede i prosess (2).<br />

Ellers er en prosess i gang for å plassere alle CPU’er i konfigurasjonen inn i horison-<br />

tale polarisasjon.<br />

Gjennomføringen <strong>av</strong> prosessen er asynkron med hensyn til gjennomføringen <strong>av</strong><br />

instruksjonen og kan ellers ikke være fullført når gjennomføring <strong>av</strong> instruksjonen er<br />

ferdig.<br />

Resulterende Tilstandskode:<br />

0 Topologi-forandring er initiert<br />

1 -<br />

2 forespørsel <strong>av</strong>vist


5<br />

10<br />

15<br />

20<br />

25<br />

3 -<br />

Drift <strong>av</strong> Funksjonskode 1:<br />

42<br />

Kjøretid fullfører med betingelseskode 2 for noen <strong>av</strong> følgende årsaker og (grunn-<br />

koder):<br />

Ingen grunn spesifisert (0).<br />

Den anmodende konfigurasjonen er allerede vertikalt polarisert (1).<br />

En topologi endringen er allerede i prosess (2).<br />

Ellers er en prosess i gang for å plassere alle CPU’er i konfigurasjonen i vertikal<br />

polarisering. Gjennomføring <strong>av</strong> prosessen er asynkron med hensyn til gjennomfø-<br />

ring <strong>av</strong> instruksjonen og kan eller kan ikke være fullført når gjennomføring <strong>av</strong> in-<br />

struksjonen er ferdig.<br />

Resulterende Tilstandskode:<br />

0 Topologiforandring initiert<br />

1 -<br />

2 Forespørsel <strong>av</strong>vist<br />

3 -<br />

Drift <strong>av</strong> funksjonskode 2: topologiforandringsrapportpåventetilstand er sjekket, og<br />

instruksjonen fullføres med tilstandskodesettet.<br />

Resulterende Tilstandskode:<br />

0 Topologiforandringsrapporten ikke i påvente <strong>av</strong> topologi<br />

1 endring rapport i påvente<br />

2 -<br />

3 -<br />

En topologi forandring er enhver endring slik at innholdet i en SYSIB 15.1.2 ville<br />

være forskjellig fra innholdet i SYSIB 15.1.2 før topologi forandringen.<br />

En topologiforandringsrapportpåventetilstand skapes når en topologi-<br />

forandringsprosess fullføres. En topologiforandringsrapportpåventetilstand er klarert<br />

for konfigurasjonen når noen <strong>av</strong> de følgende er utført:


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

Gjennomføring <strong>av</strong> Utfør Topologi Funksjon angir funksjons-kode 2 som fullfører<br />

med tilstandskode 1.<br />

43<br />

STORE SYSTEM INFORMATION for SYSIB 15.1.2 er vellykket utført <strong>av</strong> hvilken som<br />

helst CPU i konfigurasjonen.<br />

Undersystemtilbakestilling utføres.<br />

Spesielle betingelser:<br />

Hvis bit posisjonene 0-55 til det generelle registeret R1 er ikke nuller, er et spesifi-<br />

kasjonsunntak anerkjent. Hvis en udefinert funksjonskode er angitt, er et spesifika-<br />

sjonsunntak anerkjent.<br />

Program Unntak:<br />

Operasjon (Konfigurasjonstopologianlegget er ikke installert)<br />

Privilegert drift<br />

Spesifikasjon<br />

Et eksempel på et stormaskinmiljø:<br />

I det en high end server arkitekturer øker antallet fysiske prosessorer og proses-<br />

sorhastigheter fortsette å forbedres, fortsetter prosessor "stabler" som trengs for å<br />

bygge store maskiner til å være laget <strong>av</strong> små byggeklosser som er mer nodale i<br />

natur. For eksempel, mens L2 cache på en z990 eller Z9 maskinen er helt cache-<br />

sammenhengende, har fullt befolkede modeller faktisk fire (4) separate L2’er som<br />

er koblet sammen med et stoff for å presentere utseendet <strong>av</strong> en enkelt L2 cache.<br />

Straffen for å gå «off node» for å løse en cacheglipp fortsetter å øke. For eksempel<br />

å løse en L1 glipp i en ekstern L2 er dyrere enn å løse det i den lokal L2. Glipp i en<br />

CP’s private, vanligvis på chip, L1 cache er dyrt til å begynne med og å måtte gå<br />

hele veien ut til minne kan virke som en evighet. Økningen i hastighet på minnet<br />

og forbindelser til det er ikke å holde tritt med økningen i prosessorhastighet. Mens<br />

man kanskje ønsker å prøve å pakke alt tettere sammen "på chip" eller lignende,<br />

stride strømforbruk og kjølingsproblemstillinger mot dette.<br />

Med introduksjonen <strong>av</strong> z990, ble LPAR oppmerksom på maskintopologi og begynte<br />

å optimalisere fordelingen <strong>av</strong> logisk partisjons CP og lagringsressurser til de fysiske<br />

ressursene. Forbedringer <strong>av</strong> mulighetene for dynamisk re-optimalisering <strong>av</strong> logisk<br />

partisjonsressurstildelingene ble innført med Z9 GA-en primært til støtte for samti-<br />

dige bok reparasjon.


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

Den nye støtten diskutert her adresser den virkelige starten på å ha zSeries OS<br />

programvaren klar over topologien <strong>av</strong> maskinen, presentert som en logisk parti-<br />

44<br />

sjonstopologi, for å deretter gi slektskapsutsending med hensyn til CPU-plassering i<br />

CEC bokstruktur.<br />

Du kan tenke på den måten zSeries LPAR forvalter felles logiske partisjoner i dag<br />

som horisontalt polarisert. Det vil si, prosesseringsvekten for den logiske partisjo-<br />

nen er likt fordelt mellom alle online logiske CP’er i den logiske partisjonen. Denne<br />

støtten introduserer en ny, valgfri form for polarisering for å administrere delte lo-<br />

gisk CP’er <strong>av</strong> en logisk partisjon som kalles vertikal polarisering.<br />

Når en logisk partisjon velger å kjøre i vertikal modus, sender programvaren en ny<br />

instruks for å informere zSeries hypervisor om dette og hypervisoren vil endre<br />

hvordan den sender den logiske partisjonen.<br />

Avhengig <strong>av</strong> konfigurasjonen <strong>av</strong> den vertikale logisk partisjon, ville logiske proses-<br />

sorer ha høy, middels eller l<strong>av</strong> polaritet. Polaritet beskriver mengden <strong>av</strong> fysisk pro-<br />

sessordeling som vertikale logiske prosessorer har kr<strong>av</strong> på. Kunder definerer vekter<br />

for logiske partisjoner som effektivt definerer mengden fysisk prosessorsykluser<br />

hver logisk partisjon på en maskin er berettiget til.<br />

Polaritet er målt ved forholdet mellom en logisk partisjons nåværende vekt på an-<br />

tallet logiske prosessorer konfigurert til den logiske partisjonen. Høy polaritetspro-<br />

sessorer har nær 100 % CPU andel. Medium polaritetsprosessorer har> 0 til 99 %<br />

andel og l<strong>av</strong> polaritet prosessorer har 0 % andel (eller svært nær det). Høy polari-<br />

tet logisk CP vil bli tildelt en fysisk prosessor til å kjøre på svært lik dedikerte CP,<br />

men den delte høye polaritets CP kan fortsatt gi opp den fysiske ressurs og la andre<br />

delte CP’er å bruke sine overflødige sykluser. Nøkkelen her blir da at programvaren<br />

ser logisk topologi og prøver å utnytte de svært polariserte logiske CP’er for sine<br />

arbeidskøer. For eksempel konfigurerer en kunde en tre-veis-prosessor med to lo-<br />

giske partisjoner, hver med to logiske prosessorer og hver med en vekt på 50. Hvis<br />

den første logiske partisjon definert seg som vertikal, ville det ha 1 høy og 1 mid-<br />

dels polaritetslogisk CP.<br />

Merk at når en logisk partisjon velger å kjøre i vertikal modus, går hele den logiske<br />

partisjonen i vertikal modus. Dette inkluderer alle sine sekundære prosessorer som<br />

zAAPs (IFAs) og / eller zIIPs. Det er kundens ansvar å definere vekter til alle pro-


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

sessortypene for disse logiske partisjonene som vil oppnå det ønskede nivået <strong>av</strong><br />

vertikale prosessering for hver type.<br />

Logisk partisjonstopologistøtte<br />

45<br />

! Etablere infrastruktur for en logisk partisjonsnodal topologi.<br />

! Gjør eventuelle endringer som trengs til LPAR’s nodal oppdragsalgoritmer for<br />

eksisterende horisontale partisjoner som trengs for å gi en gyldig topologi.<br />

! Gi instruksjonssimulering for den nye konfigurasjonstopologiinformasjons-<br />

blokken for den STORE SYSTEM INFORMATION (STSI) instruksen om å gi<br />

logisk partisjon nodal topologi til den logiske partisjonen.<br />

! Undersøk endringer i fysiske eller logiske konfigureringer for å <strong>av</strong>gjøre om<br />

en topologi endring er nødvendig. Disse kan skje når:<br />

o En fysisk CP er lagt til eller fjernet fra konfigurasjonen<br />

o En logisk CP er lagt til eller fjernet fra konfigurasjonen<br />

o En logisk partisjon er aktivert<br />

o En logisk partisjon er deaktivert<br />

o Den logiske partisjonsvekten er endret fra HMC / SE<br />

o Programvareinitiering <strong>av</strong> endringer en logisk partisjons vekt.<br />

o En logisk partisjon er tilbakestilt (bytte til horisontal).<br />

o En logisk partisjon bytter til ESA/390 modus (bytte til horisontal).<br />

Algoritmer til miljøet:<br />

En topologi må tilordnes en logisk partisjon når det først aktiveres og deretter<br />

eventuelle endringer i nodal topologi tilordnet en logisk partisjon må resultere i at<br />

den logiske partisjonen blir varslet. Resultatene <strong>av</strong> nodal topologi må holdes på en<br />

beleilig ny datastruktur for å tillate enklere spørringer ved den nye STSI behandling<br />

samt begrense behandlingen best mulig når konfigurasjonen gjør endringer. Denne<br />

nye strukturen gjør det også mulig for topologiendringsprosessen fullføres i flere<br />

trinn med den nødvendige serialisering for hvert trinn uten å innføre inkonsekvent<br />

utsikt over topologien til den logiske partisjonen.<br />

Topologi tildeling<br />

Hvordan den logiske topologien er valgt, er ikke viktig for denne utlevering. Det er<br />

nok å si at en <strong>av</strong>gjørelse må være laget <strong>av</strong> hvor mange <strong>av</strong> hver type logiske pro-<br />

sessorer som er nødvendige og hvilke noder eller bøker de trenger å bli tildelt. For


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

46<br />

en vertikal modus partisjon, betyr dette at antallet <strong>av</strong> vertikale høye, vertikale me-<br />

dium, og vertikale l<strong>av</strong> prosessorer for hver prosessor type.<br />

Tilordne Polariseringsverdier til logiske CP’er<br />

Når ovennevnte teller er bestemt, er polariseringsoppdraget laget fra l<strong>av</strong>est online<br />

logisk CP-adresse for CP typen til høyeste i rekkefølgen <strong>av</strong> (1) alle vertikale høye,<br />

(2) alle vertikale medium, og (3) alle vertikale l<strong>av</strong>e. I hvilken rekkefølge dette er<br />

gjort er vilkårlig og andre ordre <strong>av</strong> utvalget er mulig.<br />

"STORE SYSTEM INFORMATION" Instruksjonsmappinger<br />

Legg til 3 strukturer for å kartlegge 15.1.2 respons:<br />

1. Kartlegging for 15.1.2 STSI, Respons Blokk Kartlegging <strong>av</strong> Topologi<br />

DCL 1 syibk15<strong>12</strong> char (4096) based (*),<br />

3 * char (2),<br />

3 syibk15<strong>12</strong>_length fast (16), lengde<br />

3 syibk15<strong>12</strong>_mag6 fast (8), 6thlevel stabel<br />

3 syibk15<strong>12</strong>_mag5 fast (8), 5.<br />

3 syibk15<strong>12</strong>_mag4 fast (8), 4.<br />

3 syibk15<strong>12</strong>_mag3 fast (8), 3.<br />

3 syibk15<strong>12</strong>_mag2 fast (8), 2., noder<br />

3 syibk15<strong>12</strong>_mag1 fast (8), 1., CPU’er<br />

3 * char (1),<br />

3 syibk15<strong>12</strong>_mstabl fast (8), stabling nivå<br />

3 * char (4),<br />

3 syibk15<strong>12</strong>_topology_list char (0); topologi liste<br />

2. Mapping for en Beholder-Type TLE for STSI 15.1.2<br />

DCL 1 syibk_vcm_beholder char (8) basert (*),<br />

3 syibknl fast (8), stabling nivå<br />

3 * char (3),<br />

3 * char (1),<br />

3 * char (2),<br />

3 syibk_beholder_id fast (8); node id


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

47<br />

3. Mapping for en CPU-type TLE for STSI 15.1.2<br />

DCL 1 syibk_vcm_cpu char (16) basert (*),<br />

TOPBK-partisjonstopologi<br />

3 syibknl2 fast (8), stabling nivå<br />

3 * char (3),<br />

3 syibk_ded_polarization bit (8), VCM byte<br />

5 * bit (5),<br />

5 syibk_dedicated bit (1), dedikert bit<br />

5 syibk_polarization bit (2), polarisasjon biter<br />

3 syibk_cputype fast (8), CPU typen<br />

3 syibk_cpuaddrorg fast (16), adresse opprinnelse<br />

3 syibk_cpumask bit (64); CPU-maskeoppføring<br />

En oppsummering <strong>av</strong> en logisk partisjons topologi holdes oppdatert i denne blokken<br />

<strong>av</strong> nodaloppdragsrutiner. Dataene i denne blokken er ordnet på en slik måte at<br />

STSI behandling kan gjøre én gang <strong>av</strong> hele strukturen for å skape den logiske par-<br />

tisjonstopologiresponsen på programmet, bevare anordningen og separering <strong>av</strong><br />

CPU oppføringer som kreves <strong>av</strong> arkitektur.<br />

Det består <strong>av</strong> en 3 dimensjonal matrise (node, CP type, polarisasjonsklassifisering)<br />

med en 64-bits CPU maske per oppføring.<br />

Et andre arbeidsområde, TOP_WORKING, er inkludert for bruk i oppdateringen <strong>av</strong><br />

topologien.<br />

DECLARE<br />

1 TOPBK BASERT BDY (DWORD),<br />

* /<br />

* /<br />

3 TOP_CURRENT,<br />

5 TOPCPUMASK (1: MAXNODE, / * Hver 1-4 noder<br />

0: CPUTMAX, / * CP type index<br />

0:3) / * 4 mulige topologi klassifiseringer når logisk partisjon er vertikal.<br />

Det er bare 2 klassifiseringer når partisjon er horisontal.<br />

* /


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

sering.<br />

* /<br />

48<br />

BIT (64), / * Mask <strong>av</strong> de logiske prosessorer som faller inn i denne klassifi-<br />

3 TOP_WORKING CHAR (LENGDE (TOP_CURRENT)); / * Arbeid område for byg-<br />

ging <strong>av</strong> ny topologi<br />

* /<br />

TO3PO-partisjonstopologioversettelse<br />

Disse "konstante" oversettelsestabeller brukes <strong>av</strong> nodal oppdragsrutiner som byg-<br />

ger topologien (kartlagt <strong>av</strong> TOPBK) og STSI foredling som leser topologi.<br />

/****************************/<br />

/ * STSI translation arrays: * /<br />

/****************************/<br />

DECLARE<br />

1 TOPVERT (00:03) BIT (8) / * For vertikale skillevegger, oversetter klassifisering<br />

index over for å det bygd for D (engasjement) og PP (Polarisasjon) verdier som skal<br />

returneres for denne gruppen <strong>av</strong> KP i STSI data<br />

* /<br />

STATISK INIT ('00000 'b'1'bPPVH, / * Klassifisering 0: Dedikerte Vertikal høy * /<br />

‘00000'b'0'bPPVH, / * Klassifisering 1: Delt Vertikal høy * /<br />

‘00000'b'0'bPPVM, / * Klassifisering 2: Delt Vertikal Medium * /<br />

'00000 'B'0'bPPVL), / * Klassifisering 3: Delt Vertikal L<strong>av</strong> * /<br />

3 * BIT (5), / * Ubrukt, må byte justering for bit arrays * /<br />

3 TOPDPP BIT (3), / * Faktisk D, PP verdier til bruk * /<br />

1 TOPHOR (00:01) BIT (8) / * For horisontal partisjoner, oversetter klassifisering<br />

index over for å det bygd for D (engasjement) og PP (Polarisasjon) verdier som<br />

skal returneres for denne gruppen <strong>av</strong> KP i STSI data. Merk bare de to første klassi-<br />

fikasjoner kan brukes til en horisontal deling.<br />

* /<br />

STATISK INIT ('00000 'b'1'bPPH, / * Klassifisering 0: Dedikerte Horisontal * /<br />

'00000 'B'0'bPPH), / * Klassifisering 1: Delt Horisontal * /<br />

3 * BIT (5), / * Ubrukt, må byte justering for bit arrays * /<br />

3 TOPDPP BIT (3), / * Faktisk D, PP verdier til bruk * /<br />

/*************************/


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

/ * NDI oversettelse array * /<br />

/*************************/<br />

49<br />

1 TOPDPP2CLASS (00:07) Fast / * Brukes <strong>av</strong> nodal oppdragsrutiner for å opprette<br />

topologi informasjon. LPDPP brukes som en indeks inn i denne matrisen til å <strong>av</strong>gjø-<br />

re hvilken klassifiseringsindeksere logisk CP bør bruke. Denne ene matrisen er bru-<br />

ket både for horisontale og vertikale partisjoner * /<br />

STATISK INIT (1, / * Delt, horisontal * /<br />

3, / * Delt, vertikal l<strong>av</strong> * /<br />

2, / * Delt, vertikale medium * /<br />

1, / * Delt, vertikal høy * /<br />

0, / * Dedikert, horisontal * /<br />

0, / * Ikke aktuelt * /<br />

0, / * Ikke aktuelt * /<br />

0), / * Dedikerte, vertikal høy * /<br />

3 * CHAR (4); / * Force å være ikke-enkle element * /<br />

Logisk Prosessorblokk:<br />

En 2 bit koding <strong>av</strong> partisjonspolariseringen kan spores for hver logiske prosessor for<br />

å gjenspeile sin polarisering. Gruppering <strong>av</strong> dette med en 1-bit indikasjon på enga-<br />

sjement gir et komplett polaritetsbilde for en logisk prosessor i 3-bits:<br />

. . .<br />

3 LPDPP BIT (3), / * Polarisering, herunder engasjement * /<br />

4 LPDED BIT (1), / *= 1, er logisk CP dedikert * /<br />

4 LPPP BIT (2), / * Prosessor Polarisering * /<br />

. . .<br />

/ * Kodinger for Prosessor Polarisering * /<br />

PPH BIT (2) KONSTANT ('00 'B), / * horisontalt polarisert * /<br />

PPVL BIT (2) KONSTANT ('01 'B), / * vertikalt polarisert-L<strong>av</strong> * /<br />

PPVM BIT (2) KONSTANT ('10 'B), / * vertikalt polarisert-Medium * /<br />

PPVH BIT (2) KONSTANT ('11 'B), / * vertikalt polarisert-High * /<br />

Oppdater topologiblokk<br />

rensk lokal kopi <strong>av</strong> CPU topologi maske<br />

DO for hver logisk CP i den logiske målpartisjonen


5<br />

10<br />

15<br />

20<br />

25<br />

HVIS den logiske CP er online THEN<br />

DO<br />

50<br />

Polaritets index = Polaritets index hensiktsmessig for den logiske CP polariserings-<br />

verdi i henhold til de oversatte polariseringsverdier til polaritetsindex matrisen<br />

Lokal kopi <strong>av</strong> CPU topologi maske (CPU_address, node, CPtype, Polaritet index) =<br />

ON END<br />

END<br />

IF ny topologi blokk NOT = nåværende topologi blokk for partisjon THEN<br />

Set topologiendrerapport bit og kopiere den nye topologien til nåværende.<br />

Instruksjon simulering STSI 15.1.2<br />

Innen syibk kartlegginger for STSI 15.1.2 respons blokk, har en beholder-type TLE,<br />

og en CPU-type TLE blitt lagt til. Hovedsaklig, dataene må returneres i beholder (e)<br />

med oppføringen på det l<strong>av</strong>este nivået som er en CPU-type TLE. Man kan tenke på<br />

dette som en rekke matriser basert på hvordan den logiske partisjonsressursen har<br />

blitt delt eller tildelt. For den foretrukne utførelsesformen, er hver beholder hoved-<br />

saklig en node med et stablende nivå 1 og inkluderer CPU type TLE (S) som hver<br />

har et stablings nivå <strong>av</strong> 0. CPU TLE’er er sortert etter CPU type etterfulgt <strong>av</strong> klassi-<br />

fiseringen deres. Vertikal partisjoner har fire klassifiseringer (vertikal dedikert, ver-<br />

tikal høy delt, vertikale medium delt, og vertikale l<strong>av</strong> delt) og horisontale partisjo-<br />

ner har to klassifikasjoner (dedikert og delt).<br />

Følgende trinn illustrerer et brukt tilfelle for hvordan en STSI 15.1.2 håndteres etter<br />

at alle åpne sjekker har validert instruksjonsinput.<br />

For den nåværende inkarnasjonen er en maks på 4 noder og 64 prosessorer antatt.<br />

Start skanning <strong>av</strong> topbk, og i en lokal variabel kalt current_node_value oppretthol-<br />

der verdien <strong>av</strong> nodeindexen vi nå erpå. Grunnen til at vi trenger dette er fordi hvis<br />

alle de 64 bit maskene innen en node er null, trenger vi ikke å skape en beholder-<br />

type TLE for den noden.


5<br />

10<br />

15<br />

20<br />

25<br />

51<br />

Når den første ikke-null oppføringen er funnet innenfor en node, opprettes først en<br />

beholder-type TLE oppføring for den noden. Innenfor beholder TLE oppføring, er<br />

stablede verdien 1, etterfulgt <strong>av</strong> 48 reserverte biter. De siste bitene er Node-ID<br />

som er den indeksen i topbk <strong>av</strong> dagens node vi behandler. Når du har opprettet<br />

beholder-type TLE, opprette en CPU-type TLE for oppføringen med en ikke-null bit<br />

maske. Innenfor denne oppføringen er stablede nivå 0, etterfulgt <strong>av</strong> 24 reservert<br />

biter. De neste 8 bits inkluderer dedikerte bit og polariserings bit. Hvis partisjonen<br />

er vertikal, fyll inn polariseringen verdi og dedikert bit som følger:<br />

Klassifisering 0 i topbk er loddrett dedikert, lagre en 11 i PP og 1 i D<br />

Klassifisering 1 i topbk er loddrett høy delt, lagre en 11 i PP og 0 i D<br />

Klassifisering 2 i topbk er loddrett medium delt, 10 lagre i PP og 0 i D<br />

Klassifisering 3 i topbk er loddrett l<strong>av</strong> delt, lagre en 01 i PP og 0 i D<br />

For vannrett partisjoner, kun klassifikasjon 0 og 1 er gjeldende. Fyll inn dedikerte<br />

bit og polariseringsverdi som følger:<br />

Klassifisering 0 i topbk er horisontal dedikert, lagre en 00 i PP og 1 i D<br />

Klassifisering 1 i topbk er horisontalt delt, lagre en 00 i PP og 0 i D<br />

CPU Type, neste verdi som skal fylles i CPU-TLE er bare indeks over andre utvalg<br />

innen topcpumask i topbk. (0-GP, 2-IFA, 3-IFL, 4-ICF, 1 er for tiden ubrukt).<br />

1. Den neste verdi er CPU adressens opprinnelse. Denne verdien er eksplisitt<br />

lagret som 0 som 64 er maks antall CPU’er tilgjengelige i den gjeldende ut-<br />

førelsesformen.<br />

2. Den siste verdien i syibk_vcm_cpu er CPU maske, den ikke-null 64 bit<br />

masken lagret i den stablede matrisen <strong>av</strong> matriser topcpumask.<br />

3. For hver ikke-null maske etter den første ikke-null bit maske innen en<br />

node, lage en egen CPU-type TLE oppføringen og iterere gjennom denne<br />

prosessen for alle 4 noder.<br />

Flerprosessors-topologi-endrings-rapport (MTCR) påventer hvis konfigurasjons-<br />

topologi anlegget er installert og aktivert (ECB.7 er én), og SCA adressen for gjes-<br />

te-CPU er null, bitposisjonen 0 brukes til å huske topologi-endrings-rapporten-i på-


5<br />

52<br />

vente <strong>av</strong> betingelsen for konfigurasjonen. Tilbakestillingstilstanden <strong>av</strong> topologi end-<br />

ring-rapport-i påvente er null.<br />

Oppfinnelsen beskrevet her er ikke begrenset til topologien til prosessorer. Det kan<br />

bli verdsatt at den grunnleggende komponenten til oppfinnelsen kunne med fordel<br />

gjelde andre komponenter enn CPU’er, inkludert men ikke begrenset til co-<br />

prosessorer, Cacher, TLB’er, interne datastier, datastibuffere, distribuert minne og I<br />

/ O kommunikasjonsadaptere for eksempel.


5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

P a t e n t k r a v<br />

53<br />

1. For et logisk partisjonert vertsmaskinsystem omfattende vertsprosessorer,<br />

en fremgangsmåte for å oppdage en topologi <strong>av</strong> en eller flere gjesteprosessorer til<br />

en gjestekonfigurasjon, metoden er<br />

k a r a k t e r i s e r t v e d at:<br />

en gjesteprosessor til en gjestekonfigurasjon henter (2001) en STORE SYSTEM IN-<br />

FORMATION instruksjon for utførelse, STORE SYSTEM INFORMATION instruksjonen<br />

definert for en datamaskin arkitektur og STORE SYSTEM INFORMATION instruksjo-<br />

nen spesifiserer en lokalisering i minnet <strong>av</strong> en topoligitabell; gjennomføring <strong>av</strong><br />

STORE SYSTEM INFORMATION instruksjonen omfatter:<br />

basert på en topologiinformasjonforespørsel fra STORE SYSTEM INFORMATION in-<br />

struksjonen, innhenting (2004) <strong>av</strong> topologi informasjon <strong>av</strong> en gjestekonfigurasjon,<br />

topoligiinformasjonen omfatter informasjon om den logiske grupperingen <strong>av</strong> pro-<br />

sessorer til gjestekonfigurasjonen i logiske beholdere i henhold til nærhet; lagring<br />

(2006) <strong>av</strong> topologiinformasjonen i konfigurasjonstopologitabellen; hvori konfigura-<br />

sjonstopologitabellen inkluderer en post <strong>av</strong> topologilisteprosessorer for et førstenivå<br />

til en hierarkisk gruppering <strong>av</strong> prosessorer som har liknende attributter; hvori pos-<br />

ten <strong>av</strong> topologilisteprosessorer videre omfatter en indikator som indikerer hvor de-<br />

dikert prosessorene til gruppen <strong>av</strong> prosessorer er til den logiske gjestepartisjons-<br />

konfigurasjonen; og hvori den hierarkiske grupperingen består <strong>av</strong> en eller flere ni-<br />

våer, og konfigurasjonstopologitabellen videre inkluderer en topologilistebeholder-<br />

post <strong>av</strong> hvert nivå større enn det første nivået, slik at topologilistebeholderposten<br />

blir brukt når vertsprosessorer til systemet er underindelt i likestilte grupper.<br />

2. Fremgangsmåte i henhold til kr<strong>av</strong> 1, hvori STORE SYSTEM INFORMATION<br />

instruksjonen omfatter et opcode felt, et baseregistrerefelt, et signert omrokke-<br />

ringsfelt, hvori topologioppdagelsesinstruksjonen videre består <strong>av</strong> e første under-<br />

forstått generelt register som inneholder et funksjonskodefelt og et selektor-1 felt<br />

og et andre underforstått generelt register som inneholder et selektor-2 felt, funk-<br />

sjonskodefeltet angir topologiforespørsel om informasjon, baseregisterfeltet og sig-<br />

nert omrokkeringsfelt identifiserer et sted i minnet <strong>av</strong> en systeminformasjonblokk<br />

(SYSIB) som inneholder konfigurasjonstopologibrett, hvor verdier <strong>av</strong> selektor-1<br />

feltet og selektor -2-feltet, i kombinasjon, bestemmer topologiforespørsel om in-<br />

formasjon som skal utføres.


5<br />

10<br />

3. Fremgangsmåte i henhold til kr<strong>av</strong> 1, hvori STORE SYSTEM INFORMATION<br />

54<br />

instruksjonen definert for datamaskinarkitekturen er hentet og utført <strong>av</strong> en sentral-<br />

enhet til en alternativ datamaskinarkitektur,<br />

hvori fremgangsmåten videre består <strong>av</strong> å tolke STORE SYSTEM INFORMATION in-<br />

struksjonen til å identifisere en forhåndsbestemt programvarerutine for emulere <strong>av</strong><br />

driften <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen, og<br />

hvori gjennomføringen <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen utgjør kjø-<br />

ring <strong>av</strong> forhåndsbestemt programvarerutine for å utføre trinnene i metoden for å<br />

gjennomføre STORE SYSTEM INFORMATION instruksjonen.<br />

4. System omfattende midler tilpasset for å utføre alle trinnene til fremgangs-<br />

måten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåtekr<strong>av</strong>ene<br />

5. Datamaskinprogram omfattende instruksjoner for å utføre alle trinnene til<br />

fremgangsmåten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåte-<br />

kr<strong>av</strong>ene, når nevnte datamaskinprogram er utført på et datamaskinsystem.


5<br />

10<br />

3. Fremgangsmåte i henhold til kr<strong>av</strong> 1, hvori STORE SYSTEM INFORMATION<br />

54<br />

instruksjonen definert for datamaskinarkitekturen er hentet og utført <strong>av</strong> en sentral-<br />

enhet til en alternativ datamaskinarkitektur,<br />

hvori fremgangsmåten videre består <strong>av</strong> å tolke STORE SYSTEM INFORMATION in-<br />

struksjonen til å identifisere en forhåndsbestemt programvarerutine for emulere <strong>av</strong><br />

driften <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen, og<br />

hvori gjennomføringen <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen utgjør kjø-<br />

ring <strong>av</strong> forhåndsbestemt programvarerutine for å utføre trinnene i metoden for å<br />

gjennomføre STORE SYSTEM INFORMATION instruksjonen.<br />

4. System omfattende midler tilpasset for å utføre alle trinnene til fremgangs-<br />

måten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåtekr<strong>av</strong>ene<br />

5. Datamaskinprogram omfattende instruksjoner for å utføre alle trinnene til<br />

fremgangsmåten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåte-<br />

kr<strong>av</strong>ene, når nevnte datamaskinprogram er utført på et datamaskinsystem.


5<br />

10<br />

3. Fremgangsmåte i henhold til kr<strong>av</strong> 1, hvori STORE SYSTEM INFORMATION<br />

54<br />

instruksjonen definert for datamaskinarkitekturen er hentet og utført <strong>av</strong> en sentral-<br />

enhet til en alternativ datamaskinarkitektur,<br />

hvori fremgangsmåten videre består <strong>av</strong> å tolke STORE SYSTEM INFORMATION in-<br />

struksjonen til å identifisere en forhåndsbestemt programvarerutine for emulere <strong>av</strong><br />

driften <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen, og<br />

hvori gjennomføringen <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen utgjør kjø-<br />

ring <strong>av</strong> forhåndsbestemt programvarerutine for å utføre trinnene i metoden for å<br />

gjennomføre STORE SYSTEM INFORMATION instruksjonen.<br />

4. System omfattende midler tilpasset for å utføre alle trinnene til fremgangs-<br />

måten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåtekr<strong>av</strong>ene<br />

5. Datamaskinprogram omfattende instruksjoner for å utføre alle trinnene til<br />

fremgangsmåten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåte-<br />

kr<strong>av</strong>ene, når nevnte datamaskinprogram er utført på et datamaskinsystem.


5<br />

10<br />

3. Fremgangsmåte i henhold til kr<strong>av</strong> 1, hvori STORE SYSTEM INFORMATION<br />

54<br />

instruksjonen definert for datamaskinarkitekturen er hentet og utført <strong>av</strong> en sentral-<br />

enhet til en alternativ datamaskinarkitektur,<br />

hvori fremgangsmåten videre består <strong>av</strong> å tolke STORE SYSTEM INFORMATION in-<br />

struksjonen til å identifisere en forhåndsbestemt programvarerutine for emulere <strong>av</strong><br />

driften <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen, og<br />

hvori gjennomføringen <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen utgjør kjø-<br />

ring <strong>av</strong> forhåndsbestemt programvarerutine for å utføre trinnene i metoden for å<br />

gjennomføre STORE SYSTEM INFORMATION instruksjonen.<br />

4. System omfattende midler tilpasset for å utføre alle trinnene til fremgangs-<br />

måten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåtekr<strong>av</strong>ene<br />

5. Datamaskinprogram omfattende instruksjoner for å utføre alle trinnene til<br />

fremgangsmåten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåte-<br />

kr<strong>av</strong>ene, når nevnte datamaskinprogram er utført på et datamaskinsystem.


5<br />

10<br />

3. Fremgangsmåte i henhold til kr<strong>av</strong> 1, hvori STORE SYSTEM INFORMATION<br />

54<br />

instruksjonen definert for datamaskinarkitekturen er hentet og utført <strong>av</strong> en sentral-<br />

enhet til en alternativ datamaskinarkitektur,<br />

hvori fremgangsmåten videre består <strong>av</strong> å tolke STORE SYSTEM INFORMATION in-<br />

struksjonen til å identifisere en forhåndsbestemt programvarerutine for emulere <strong>av</strong><br />

driften <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen, og<br />

hvori gjennomføringen <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen utgjør kjø-<br />

ring <strong>av</strong> forhåndsbestemt programvarerutine for å utføre trinnene i metoden for å<br />

gjennomføre STORE SYSTEM INFORMATION instruksjonen.<br />

4. System omfattende midler tilpasset for å utføre alle trinnene til fremgangs-<br />

måten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåtekr<strong>av</strong>ene<br />

5. Datamaskinprogram omfattende instruksjoner for å utføre alle trinnene til<br />

fremgangsmåten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåte-<br />

kr<strong>av</strong>ene, når nevnte datamaskinprogram er utført på et datamaskinsystem.


5<br />

10<br />

3. Fremgangsmåte i henhold til kr<strong>av</strong> 1, hvori STORE SYSTEM INFORMATION<br />

54<br />

instruksjonen definert for datamaskinarkitekturen er hentet og utført <strong>av</strong> en sentral-<br />

enhet til en alternativ datamaskinarkitektur,<br />

hvori fremgangsmåten videre består <strong>av</strong> å tolke STORE SYSTEM INFORMATION in-<br />

struksjonen til å identifisere en forhåndsbestemt programvarerutine for emulere <strong>av</strong><br />

driften <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen, og<br />

hvori gjennomføringen <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen utgjør kjø-<br />

ring <strong>av</strong> forhåndsbestemt programvarerutine for å utføre trinnene i metoden for å<br />

gjennomføre STORE SYSTEM INFORMATION instruksjonen.<br />

4. System omfattende midler tilpasset for å utføre alle trinnene til fremgangs-<br />

måten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåtekr<strong>av</strong>ene<br />

5. Datamaskinprogram omfattende instruksjoner for å utføre alle trinnene til<br />

fremgangsmåten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåte-<br />

kr<strong>av</strong>ene, når nevnte datamaskinprogram er utført på et datamaskinsystem.


5<br />

10<br />

3. Fremgangsmåte i henhold til kr<strong>av</strong> 1, hvori STORE SYSTEM INFORMATION<br />

54<br />

instruksjonen definert for datamaskinarkitekturen er hentet og utført <strong>av</strong> en sentral-<br />

enhet til en alternativ datamaskinarkitektur,<br />

hvori fremgangsmåten videre består <strong>av</strong> å tolke STORE SYSTEM INFORMATION in-<br />

struksjonen til å identifisere en forhåndsbestemt programvarerutine for emulere <strong>av</strong><br />

driften <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen, og<br />

hvori gjennomføringen <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen utgjør kjø-<br />

ring <strong>av</strong> forhåndsbestemt programvarerutine for å utføre trinnene i metoden for å<br />

gjennomføre STORE SYSTEM INFORMATION instruksjonen.<br />

4. System omfattende midler tilpasset for å utføre alle trinnene til fremgangs-<br />

måten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåtekr<strong>av</strong>ene<br />

5. Datamaskinprogram omfattende instruksjoner for å utføre alle trinnene til<br />

fremgangsmåten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåte-<br />

kr<strong>av</strong>ene, når nevnte datamaskinprogram er utført på et datamaskinsystem.


5<br />

10<br />

3. Fremgangsmåte i henhold til kr<strong>av</strong> 1, hvori STORE SYSTEM INFORMATION<br />

54<br />

instruksjonen definert for datamaskinarkitekturen er hentet og utført <strong>av</strong> en sentral-<br />

enhet til en alternativ datamaskinarkitektur,<br />

hvori fremgangsmåten videre består <strong>av</strong> å tolke STORE SYSTEM INFORMATION in-<br />

struksjonen til å identifisere en forhåndsbestemt programvarerutine for emulere <strong>av</strong><br />

driften <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen, og<br />

hvori gjennomføringen <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen utgjør kjø-<br />

ring <strong>av</strong> forhåndsbestemt programvarerutine for å utføre trinnene i metoden for å<br />

gjennomføre STORE SYSTEM INFORMATION instruksjonen.<br />

4. System omfattende midler tilpasset for å utføre alle trinnene til fremgangs-<br />

måten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåtekr<strong>av</strong>ene<br />

5. Datamaskinprogram omfattende instruksjoner for å utføre alle trinnene til<br />

fremgangsmåten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåte-<br />

kr<strong>av</strong>ene, når nevnte datamaskinprogram er utført på et datamaskinsystem.


5<br />

10<br />

3. Fremgangsmåte i henhold til kr<strong>av</strong> 1, hvori STORE SYSTEM INFORMATION<br />

54<br />

instruksjonen definert for datamaskinarkitekturen er hentet og utført <strong>av</strong> en sentral-<br />

enhet til en alternativ datamaskinarkitektur,<br />

hvori fremgangsmåten videre består <strong>av</strong> å tolke STORE SYSTEM INFORMATION in-<br />

struksjonen til å identifisere en forhåndsbestemt programvarerutine for emulere <strong>av</strong><br />

driften <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen, og<br />

hvori gjennomføringen <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen utgjør kjø-<br />

ring <strong>av</strong> forhåndsbestemt programvarerutine for å utføre trinnene i metoden for å<br />

gjennomføre STORE SYSTEM INFORMATION instruksjonen.<br />

4. System omfattende midler tilpasset for å utføre alle trinnene til fremgangs-<br />

måten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåtekr<strong>av</strong>ene<br />

5. Datamaskinprogram omfattende instruksjoner for å utføre alle trinnene til<br />

fremgangsmåten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåte-<br />

kr<strong>av</strong>ene, når nevnte datamaskinprogram er utført på et datamaskinsystem.


5<br />

10<br />

3. Fremgangsmåte i henhold til kr<strong>av</strong> 1, hvori STORE SYSTEM INFORMATION<br />

54<br />

instruksjonen definert for datamaskinarkitekturen er hentet og utført <strong>av</strong> en sentral-<br />

enhet til en alternativ datamaskinarkitektur,<br />

hvori fremgangsmåten videre består <strong>av</strong> å tolke STORE SYSTEM INFORMATION in-<br />

struksjonen til å identifisere en forhåndsbestemt programvarerutine for emulere <strong>av</strong><br />

driften <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen, og<br />

hvori gjennomføringen <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen utgjør kjø-<br />

ring <strong>av</strong> forhåndsbestemt programvarerutine for å utføre trinnene i metoden for å<br />

gjennomføre STORE SYSTEM INFORMATION instruksjonen.<br />

4. System omfattende midler tilpasset for å utføre alle trinnene til fremgangs-<br />

måten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåtekr<strong>av</strong>ene<br />

5. Datamaskinprogram omfattende instruksjoner for å utføre alle trinnene til<br />

fremgangsmåten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåte-<br />

kr<strong>av</strong>ene, når nevnte datamaskinprogram er utført på et datamaskinsystem.


5<br />

10<br />

3. Fremgangsmåte i henhold til kr<strong>av</strong> 1, hvori STORE SYSTEM INFORMATION<br />

54<br />

instruksjonen definert for datamaskinarkitekturen er hentet og utført <strong>av</strong> en sentral-<br />

enhet til en alternativ datamaskinarkitektur,<br />

hvori fremgangsmåten videre består <strong>av</strong> å tolke STORE SYSTEM INFORMATION in-<br />

struksjonen til å identifisere en forhåndsbestemt programvarerutine for emulere <strong>av</strong><br />

driften <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen, og<br />

hvori gjennomføringen <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen utgjør kjø-<br />

ring <strong>av</strong> forhåndsbestemt programvarerutine for å utføre trinnene i metoden for å<br />

gjennomføre STORE SYSTEM INFORMATION instruksjonen.<br />

4. System omfattende midler tilpasset for å utføre alle trinnene til fremgangs-<br />

måten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåtekr<strong>av</strong>ene<br />

5. Datamaskinprogram omfattende instruksjoner for å utføre alle trinnene til<br />

fremgangsmåten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåte-<br />

kr<strong>av</strong>ene, når nevnte datamaskinprogram er utført på et datamaskinsystem.


5<br />

10<br />

3. Fremgangsmåte i henhold til kr<strong>av</strong> 1, hvori STORE SYSTEM INFORMATION<br />

54<br />

instruksjonen definert for datamaskinarkitekturen er hentet og utført <strong>av</strong> en sentral-<br />

enhet til en alternativ datamaskinarkitektur,<br />

hvori fremgangsmåten videre består <strong>av</strong> å tolke STORE SYSTEM INFORMATION in-<br />

struksjonen til å identifisere en forhåndsbestemt programvarerutine for emulere <strong>av</strong><br />

driften <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen, og<br />

hvori gjennomføringen <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen utgjør kjø-<br />

ring <strong>av</strong> forhåndsbestemt programvarerutine for å utføre trinnene i metoden for å<br />

gjennomføre STORE SYSTEM INFORMATION instruksjonen.<br />

4. System omfattende midler tilpasset for å utføre alle trinnene til fremgangs-<br />

måten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåtekr<strong>av</strong>ene<br />

5. Datamaskinprogram omfattende instruksjoner for å utføre alle trinnene til<br />

fremgangsmåten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåte-<br />

kr<strong>av</strong>ene, når nevnte datamaskinprogram er utført på et datamaskinsystem.


5<br />

10<br />

3. Fremgangsmåte i henhold til kr<strong>av</strong> 1, hvori STORE SYSTEM INFORMATION<br />

54<br />

instruksjonen definert for datamaskinarkitekturen er hentet og utført <strong>av</strong> en sentral-<br />

enhet til en alternativ datamaskinarkitektur,<br />

hvori fremgangsmåten videre består <strong>av</strong> å tolke STORE SYSTEM INFORMATION in-<br />

struksjonen til å identifisere en forhåndsbestemt programvarerutine for emulere <strong>av</strong><br />

driften <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen, og<br />

hvori gjennomføringen <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen utgjør kjø-<br />

ring <strong>av</strong> forhåndsbestemt programvarerutine for å utføre trinnene i metoden for å<br />

gjennomføre STORE SYSTEM INFORMATION instruksjonen.<br />

4. System omfattende midler tilpasset for å utføre alle trinnene til fremgangs-<br />

måten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåtekr<strong>av</strong>ene<br />

5. Datamaskinprogram omfattende instruksjoner for å utføre alle trinnene til<br />

fremgangsmåten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåte-<br />

kr<strong>av</strong>ene, når nevnte datamaskinprogram er utført på et datamaskinsystem.


5<br />

10<br />

3. Fremgangsmåte i henhold til kr<strong>av</strong> 1, hvori STORE SYSTEM INFORMATION<br />

54<br />

instruksjonen definert for datamaskinarkitekturen er hentet og utført <strong>av</strong> en sentral-<br />

enhet til en alternativ datamaskinarkitektur,<br />

hvori fremgangsmåten videre består <strong>av</strong> å tolke STORE SYSTEM INFORMATION in-<br />

struksjonen til å identifisere en forhåndsbestemt programvarerutine for emulere <strong>av</strong><br />

driften <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen, og<br />

hvori gjennomføringen <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen utgjør kjø-<br />

ring <strong>av</strong> forhåndsbestemt programvarerutine for å utføre trinnene i metoden for å<br />

gjennomføre STORE SYSTEM INFORMATION instruksjonen.<br />

4. System omfattende midler tilpasset for å utføre alle trinnene til fremgangs-<br />

måten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåtekr<strong>av</strong>ene<br />

5. Datamaskinprogram omfattende instruksjoner for å utføre alle trinnene til<br />

fremgangsmåten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåte-<br />

kr<strong>av</strong>ene, når nevnte datamaskinprogram er utført på et datamaskinsystem.


5<br />

10<br />

3. Fremgangsmåte i henhold til kr<strong>av</strong> 1, hvori STORE SYSTEM INFORMATION<br />

54<br />

instruksjonen definert for datamaskinarkitekturen er hentet og utført <strong>av</strong> en sentral-<br />

enhet til en alternativ datamaskinarkitektur,<br />

hvori fremgangsmåten videre består <strong>av</strong> å tolke STORE SYSTEM INFORMATION in-<br />

struksjonen til å identifisere en forhåndsbestemt programvarerutine for emulere <strong>av</strong><br />

driften <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen, og<br />

hvori gjennomføringen <strong>av</strong> STORE SYSTEM INFORMATION instruksjonen utgjør kjø-<br />

ring <strong>av</strong> forhåndsbestemt programvarerutine for å utføre trinnene i metoden for å<br />

gjennomføre STORE SYSTEM INFORMATION instruksjonen.<br />

4. System omfattende midler tilpasset for å utføre alle trinnene til fremgangs-<br />

måten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåtekr<strong>av</strong>ene<br />

5. Datamaskinprogram omfattende instruksjoner for å utføre alle trinnene til<br />

fremgangsmåten i henhold til hvilke som helst <strong>av</strong> de foregående fremgangsmåte-<br />

kr<strong>av</strong>ene, når nevnte datamaskinprogram er utført på et datamaskinsystem.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!