NO174943B - Databehandlingsapparat - Google Patents

Databehandlingsapparat Download PDF

Info

Publication number
NO174943B
NO174943B NO874135A NO874135A NO174943B NO 174943 B NO174943 B NO 174943B NO 874135 A NO874135 A NO 874135A NO 874135 A NO874135 A NO 874135A NO 174943 B NO174943 B NO 174943B
Authority
NO
Norway
Prior art keywords
area
instruction
signal
address
access
Prior art date
Application number
NO874135A
Other languages
English (en)
Other versions
NO874135D0 (no
NO174943C (no
NO874135L (no
Inventor
Robert M Maier
John C Andoh
Arno S Krakauer
Richard J Tobias
Allan J Zmyslowski
Original Assignee
Amdahl Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amdahl Corp filed Critical Amdahl Corp
Publication of NO874135D0 publication Critical patent/NO874135D0/no
Publication of NO874135L publication Critical patent/NO874135L/no
Publication of NO174943B publication Critical patent/NO174943B/no
Publication of NO174943C publication Critical patent/NO174943C/no

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Monitoring And Testing Of Nuclear Reactors (AREA)
  • Vehicle Body Suspensions (AREA)

Description

Foreliggende oppfinnelse angår databehandlingsapparat som arbeider under programkontroll i en første status som angitt i innledningen til krav 1.
Moderne høyhastighets databehandlingsmaskiner blir tilpasset flerbrukeranvendelser. En måte å tilpasse en enkelt maskin for flerbrukeranvendelse involverer tildeling av en logisk prosessor til hver bruker. Den logiske prosessoren oppfører seg som om den hadde aksess eller tilgang til alle fasili-tetene eller egenskapene til databehandlingsmaskinen mens systemkontrollen begrenser aksessen til den logiske prosessoren til et spesifisert område av lagerplass og relatert maskinvare. På denne måte vil de forskjellige logiske prosessorer i en enkelt maskin ikke overlappe seg i lagerplass. For imidlertid å forenkle brukergrensesnittet er den begrensede aksess til den logiske prosessor transparent for denne prosessor. Således vil instruksjoner og adresser som kjøres i maskinen ikke spesifisere et bestemt område innenfor hvilket de skal utføres eller bli brukt for å få tilgang til data.
Et område er en prosesseringsomgivelse som består av hovedlager, kanaler, operatørfasiliteter og logiske prosessorer som utfører instruksjoner. Når et område blir aktivert i en foretrukket utførelse, har det fasiliteter beskrevet i IBM System/370 Principles of Operation, eller IBM System/370 Extended Architecture Principles of Operation. Disse kilder blir styrt av systemstyreprogrammet og blir kollektivt benevnt området til programmet.
Når et systemstyreprogram tar over i maskinen, blir dets område aktivert av en makrokode som allokerer mengden av lagerrom, antallet kanaler og logiske prosessorer som er nødvendige. Systemstyreprogrammene og makrokoden som allokerer et område arbeider i en maskintilstand som er kalt styre- eller kontrolltilstand. Styretilstand har dedikert hovedlager kalt systemlager som "blir adressert med systemadresser.
Programmer kjører i en logisk prosessor, kjent som område-programmer, og arbeider i en maskinstatus kalt brukerstatus. Hovedlageret allokert til et område kalt områdelager og områdelageraksesser bruker områdeadresser.
Av og til er det nødvendig for et program som kjører i kontrollstatus å få tilgang til data lagret i et områdelager. Dette finner sted f.eks. under emulering som beskrevet i det etterfølgende.
En databehandlingsmaskin er utformet for å implementere eller iverksette et sett av instruksjoner kjent som maskininstruksjoner. Etter at arkitekturen til maskinen er definert, er det ofte ønskelig å implementere instruksjoner andre enn de som er satt i maskinen. Dette blir utført ved å lagre et emulasjonsprogram av instruksjoner i systemlageret som kan kjøres i styrestatus for å emulere en ny instruksjon.
Når en instruksjon som skal emuleres blir avfølt av en logisk prosessor, blir det foretatt en avgrening til styrestatus og instruksjonen blir emulert.
Ved avgrening til styrestatus er det nødvendig å undersøke om programmet har unntak som passer på emuleringsrutinen som skal kjøres i styrestatus. Disse undersøkelser tar flere kodelinjer i emuleringsprogrammet og resulterer i en minsk-ning i ytelsen til de emulerte instruksjoner.
For å kunne emulere noen instruksjoner er det også nødvendig at emulasjonsprogrammet til systemlagerkjøringen i styrestatusen har tilgang til operander eller andre data lagret i områdelageret.
Som forklart ovenfor, spesifiserer ikke instruksjonene og adressene generert av logiske prosessorer hvorvidt en bestemt adresse som skal behandles som en områdeadresse eller en systemadresse.
For å kunne tilveiebringe denne områdekryssing under emulasjonen, spesifisert i tidligere kjent teknikk spesielle instruksjoner for emulasjonen som opererte i styrestatusen og sørget for tilgang til områdelager. Denne implementering av spesielle instruksjoner resulterte imidlertid bare i at et begrenset antall instruksjoner kunne implementere hoved-kryssingstilgangen, og var kostbart å implementere.
Den foreliggende oppfinnelse tilveiebringer en ny teknikk kalt underforstått områdeadressering for å differensiere mellom områdelageraksesser og systemlageraksesser under anvendelse av eksisterende instruksjonsformater.
Ovennevnte tilveiebringes ved hjelp av et databehandlingsapparat av den innledningsvis nevnte art hvis karakteristisk trekk fremgår av krav 1. Ytterligere trekk i oppfinnelsen fremgår av de øvrige uselvstendige krav.
Oppfinnelsen skal nå beskrives under henvisning til tegning-ene hvor
fig. 1 er et oversiktsblokkskjema for en databehandlingsmaskin som iverksetter den foreliggende oppfinnelse.
Fig. 2 er et skjematisk blokkdiagram som viser dataflyten under inngangen til et emuleringsprogram. Fig. 3 er et skjematisk blokkdiagram som illustrerer dataflyten under lageraksess. Fig. 4 er et mer detaljert diagram over den logiske implementering av underforstått områdelageraksess. Fig. 5 er et logisk diagram over instruksjonsenhetgrensesnit-tet under områdelageraksess. Fig. 6 er et skjematisk diagram som illustrerer tester utført under inngangen til et emuleringsprogram. Fig. 7 er et logisk diagram som illustrerer iverksettelsen av testene utført under inngangen til et emuleringsprogram.
Med referanse til figurene er det tilveiebrakt en detaljert beskrivelse av en foretrukket utførelse av oppfinnelsen. Med referanse til fig. 1 er først databehandlingssystemet i henhold til den foreliggende oppfinnelse beskrevet. Med referansen til fig. 2 er en del av apparatet i h.t. den foreliggende oppfinnelse beskrevet, hvilken del arbeider under inngang til et emuleringsprogram. I fig. 3 er en del av den foreliggende oppfinnelse som arbeider under drift av emuleringsprogrammet beskrevet. Med referanse til fig. 4-7 er detaljerte iverksettelser av elementer i h.t. den foreliggende oppfinnelse beskrevet.
Fig. 1 illustrerer en databehandlingsmaskin hvori den foreliggende oppfinnelsen blir implementert eller iverksatt. Databehandlingsmaskinen innbefatter en instruksjonsenhet og en utførelsesenhet 10 for å behandle instruksjoner og operander, en hurtiglagerenhet 11 for å mate instruksjoner og operander til instruksjonsenheten og utførelsesenheten 10 og for å gjenfinne instruksjoner og operander fra hovedlager 12.
Instruksjonsenheten/utførelsesenheten 10 mater kontrollsignaler og adresser på linje 17 til hurtiglagerenheten. Et av kontrollsignalene indikerer hvorvidt det er ønskelig med en områdeaksess eller en systemaksess. Data blir returnert til instruksjonsenheten/utførelsesenheten 10 over bussen 18.
På samme måte sender hurtiglagerenheten 11 adresser og kontrollinformasjon over linje 19 til hovedlageret 12 hvilke signaler er blitt oversatt til systemadresser. Data blir matet mellom hovedlageret 12 og hurtiglagerenheten 11 over bussen 20.
Hver bruker av instruksjonsenheten og utførelsesenheten 10 er tilordnet et område i databehandlingsmaskinen som innbefatter områdelager. Således er områdelageret vist på fig. 1 ved at det har område 1, lager 13, område 2, lager 14 og område 3, lager 15. I tillegg arbeider databehandlingsmaskinen i en kontrollstatus som har aksess til maskinressurser og en del av hovedlageret kjent som systemlager 16. Områdelager og systemlager er differensiert ved adresserommet som er allokert i individuelle områder. En logisk prosessor som arbeider i et område er imidlertid ikke begrenset i adressene som den kan bruke under behandling. Snarere, når den logiske prosessoren er igangsatt, blir hurtiglagerenheten stilt slik at den gjenkjenner en forespørsel etter hovedlager og til å oversette adresser matet fra instruksjonsenheten/utførelses-enheten 10 til områdeadresserom.
Det er også inngangs/utgangsmuligheter, kanaler, direkte aksesslagerinnretninger og andre ressurser som er tilordnet individuelle områder for anvendelse av en bestemt bruker av maskinen. Disse er imidlertid ikke vist på fig. 1. Disse fasiliteter, som selv om de er innbefattet i en total databehandlingsmaskin, er ikke viktige for den foreliggende oppfinnelse.
Foreliggende oppfinnelse har en bestemt applikasjon i emuleringen av instruksjoner, som nevnt i beskrivelsen av bakgrunnen for oppfinnelsen. Instruksjoner som ikke faller innenfor maskinsettet blir utført ved forgrening til et emuleringsprogram i systemlageret som blir utført ved at brukerstatusen forlates midlertidig og kontrollstatusen endres. I kontrollstatusen kan maskinressursene som er tilgjengelige for kontrollstatusen betraktes som et system-område. Systemområdet innbefatter systemlageret. Siden imidlertid virkelige systemadresser blir brukt av programmer som løper i kontrollstatusen, oversetter ikke hurtiglagerenheten 11 adressene slik det ble gjort i en brukerstatus.
Under bruk, når maskinen arbeider i kontrollstatusen, er det ofte nødvendig å få aksess til hovedlageret i hvilket operandene til instruksjonen som skal utføres blir lagret. Således må lagerenheten 11 bli varslet når en områdelageraksess blir laget slik at den riktige oversettelse av adressen til områdeadresserommet kan utføres. I tillegg blir andre lagerenhetparametre som er nødvendige for dataaksess manipulert for å forenkle aksessen til hovedlageret.
A. Inngang til en emuleringskontrollstatus
Fig. 2 illustrerer en del av instruksjonsenheten i samsvar med den foreliggende oppfinnelse som arbeider under inngang inn i et emuleringsprogram. En sekvens av instruksjoner blir matet gjennom en direkteforbindelse 200 som innbefatter et D-syklusinstruksjonsregister 201, en innretning 202 for å generere en adresse til en operand som skal brukes med utførelse av instruksjonen, et A-syklus effektivt adresseregister 203, et B-syklus operandadresseregister 204, et X-syklusregister 205, et W-syklusregister 206 og en flerhet av kontrollregistre 207.
Som respons på en instruksjon som ble matet på linje 208, blir en kontrollageradresse generert i innretningen 209 og matet over linje 210 til et kontrollager 211. Kontrollageret 211 har en innretning for å dekode instruksjonen for å generere en kontrollkode. Når en instruksjon blir mottatt og skal emuleres, blir kontrollkoden 212 adressert. En del av kontrollkoden 212 blir matet over linje 213 for å indikere at emulering skal utføres. Koden på linje 213 blir matet til en innretning 214 for å generere en forgreningsadresse for å mate til kontrollageradressegenereringsinnretningen 209. I den følgende syklus blir en forgreningsadresse matet på linje 210 til kontrollageret for å generere en kontrollkode for entring inn i emuleringsmodusen, kjent som hurtigassistanse-modus FAM.
Det neste er at en kode "blir matet på linje 215 som identifiserer dataaksesskontrollen som skal brukes under emuleringsprogrammet. Dataaksesskontrollkoden DAC blir matet over linje 215 til register 216. I en strøm av instruksj ons-enhetens direkteforbindelse 200 blir innholdet til DAC-registeret 216 valgt i en selektor 217 via en adderer 218 til A-syklusens effektive adresseregister 203. DAC-innholdet passerer ned direkteforbindelsen til operandadresseregisteret 204, operandordregisteret 205, det resulterende register 206 og blir lagret i et DAC-kontrollregister 219 (DACR), for å bli brukt under emuleringsprogrammet. Karakteren til DAC-koden er beskrevet mer detaljert i det etterfølgende.
Kontrollregistrene 207 innbefatter videre et område CPU-sta-tusregister 220 (DCPUS) og et programstatusordregister 221 (PSW). Område-CPU-statusregisteret 220 blir lastet ved å lese programstatusordet (den høyere ordens del i den fore-trukne utførelse) over linje 222 inn i X-syklusoperandord-registeret. Fra operandordregisteret 205 blir det matet til W-syklusresultatregisteret 206 og fra dette inn i område-CPU-statusregisteret 220. Denne område-CPU-statuskode i registeret 220 blir også brukt under utførelsen av emuleringsprogrammet som beskrevet i det etterfølgende. Innholdet til programstatusordregisteret 221 blir lastet under utførelsen av visse maskininstruksjoner såsom laste-PSW.
I henhold til den foreliggende oppfinnelse blir for å kunne forenkle hurtig inngang i emuleringsprogrammene, visse hurtiginngangstester 223 utført. Hurtiginngangstestene er identifisert av en del av kontrollkoden 212 matet over linje 224 til hurtiginngangstestmodulen 223. Dersom hurtiginngangstestene 223 slår feil, blir et signal matet på linje 225 til innretningen 214 for å generere en forgreningsadresse til å tvinge kontrollageradressens genereringsinnretning 209 til å forgrene til en ny kontrollagerlokalisering for å behandle emuleringsrutinen i en unntaksmodus kalt "normal inngang". Implementeringen av hurtiginngangstestene 223 er beskrevet nedenfor med referanse til figurene 6 og 7.
Innretningen 202 for å generere en adresse for en operand til bruk ved utførelse av en instruksjon innbefatter en flerhet av generelle registre 226, addereren 218, en selektor 217 og instruksjonsplattformen 201. Instruksjonsplattformen er her delt i en flerhet av felter benevnt som DO, Dl, D2, D3 og D4 på figuren. I det minste ett felt av instruksjonen, avhengig av formatet til instruksjonen som forklart nedenfor, blir matet over linje 227 for å velge adresseinformasjon som befinner seg i et generelt register fra flerheten av det generelle registeret 226 for å mates som en basisadresse til addereren 218. Således innbefatter i det minste ett instruk-sjonsfelt i instruksjonsplattformen 201 informasjon som identifiserer en lokalisering for en basisadresse for en operand som skal brukes ved utførelse av instruksjonen.
I tillegg blir et andre felt av instruksjonen matet over linje 208 gjennom selektor 217 som et andre inngangssignal til addereren 218. Addisjon av det andre feltet til instruksjonen matet over linje 228 og basisadressen matet fra de generelle registre 226 resulterer i en adresse til en operand som blir matet til det effektive A-syklus-adresseregister 203.
Fra det effektive adresseregister 203 blir adressen matet til lagerenheten for å gjenfinne data som blir matet til X-syklus-operandordregisteret fra lagerenheten.
Fig. 2 illustrerer lastingen av kontrollregistrene 207 og sekvensen av hendelser som fører til en avgrening til et emuleringsprogram. Kontrollregisteret 207 ble brukt som forklart nedenfor ved genereringen av grensnittsignaler som mater til lagerenheten for fortolkning av adressene matet fra registeret 203.
B. Drift under emulering
Fig. 3 illustrerer en del av instruksjonsenheten og lagerenheten som påvirkes av den foreliggende oppfinnelse under kjøringen av et emuleringsprogram. Deler av instruksjonsenheten vist på fig. 3 og også fig. 2 innbefatter instruksjonsplattformen 301 (201 på fig. 2), dataaksesskontroll-koderegisteret 319 (219 på fig. 2), område-CPU-statusregisteret 320 (220 på fig. 2), og programstatusordregisteret 321 (221 på fig. 2). Innretningen 303 for å generere en adresse for anvendelse ved utførelse av en instruksjon innbefatter det generelle registeret 320, addereren 318 og instruksjonsplattformen 301. I det minste ett felt av instruksjonen blir matet på linje 327 til kontrollvalg av et generelt register 326 for mating av en basisadresse til addereren 318. I det minste ett annet felt av instruksjonsplattformen blir matet på linje 328 til addereren 318 for addisjon med basisadressen for å generere en operandadresse for mating til det effektive adresseregisteret 303. Adressen i det effektive adresseregisteret 303 blir matet på linje 330 til lagerenheten vist generelt med referansetallet 331. Videre blir det sendt ned instruksjonsenhetens direkteforbindelse til B-syklusoperandadresseregisteret 304. Resten av instruksjonsenhetens direkte forbindelse er ikke beskrevet her.
En instruksjon i instruksjonsplattformen 301 mater en flerhet av felt av instruksjonen over linje 381 til en innretning 332 som dekoder instruksjonen. I tillegg mottas kontrollager-etiketter over linje 329 fra kontrollageret i instruksjons-dekoderinnretningen 232. Som respons på instruksjonsdekodingen i innretningen 332, blir kontrollsignaler matet på linje 333 til instruksjonsenhetens/lagerenhetens grensesnitt-logikk 334. Instruksjonsenhetens/lagerenhetens grensesnitt-logikk 334 er vist mer detaljert på fig. 5.
I tillegg blir feltet av instruksjonen som mates på linje 327 og som identifiserer et generelt register som holder en basisadresse til en operand matet til områdelageraksess-deteksjonslogikken 335. Kontrollsignaler på linje 336 fra instruksjonsdekodingen blir også matet til områdelageraksess-deteksjonslogikken 335. Til slutt blir signaler fra områdeaksesskontrollregisteret 319 matet på linje 337 til område-lageraksessdeteksjonslogikken 335. Områdelageraksessdetek-sjonslogikken er beskrevet mer detaljert på fig. 4. Den genererer et områdelageraksessignal på linje 338 for mating til instruksjonsenhet/lagerenhetgrensesnittlogikken 334.
Instruksjonsenhet/lagerenhetgrensesnittlogikken 334 mottar i tillegg andre kontrollsignaler fra områdeaksesskontrollregisteret 319 over linje 339. CPU-statusregisteret 320 mater også kontrollsignaler over linje 340 til grensesnittlogikken 334, og programstatusordregisteret 321 mater kontrollsignaler på linje 341 til grensesnittlogikken 334.
Grensesnittlogikken 334 genererer kontrollsignaler som blir matet til lagerenheten 331 og brukt ved gjenfinning av data som respons på adresser som blir matet over linje 330 fra det effektive adresseregisteret 303. Kontrollsignalene innbefatter adressemodussignal på linje 342, systemadresse-signalet på linje 343, det tilsynelatende adressesignal på linje 344, det andre adresseromsignalet på linje 345, forhindringsnøkkelsjekksignalet på linje 346 og forhindringslavadressebeskyttelsessignalet på linje 347.
Adressemodussignalet på linje 342 kontrollerer modusen til adressen matet på linje 330 ved å bestemme hvorvidt en 24-bit eller en 31-bit adresse blir matet.
Systemaksessignalet på linje 343 kontrollerer måten som lagerenheten reagerer på adressen på linje 330, som enten en systemadresse eller som en områdeadresse. Når et system-kontrollprogram blir satt opp, blir lagerenheten lastet med parametre som definerer områdegrenser i systemlageret inn i register 348. Adresserommet tilordnet systemkontrollstatusen blir også lagret som systemgrenser i et register 349. Systemgrensene og områdegrensene blir matet til en selektor eller velger 350 som blir kontrollert av systemaksessignalet på linje 343 for å velge enten systembegrensningen eller områdebegrensningen. En adresse på linje 330 blir sammen-lignet i komparatoren 351 med den valgte systembegrensning eller områdebegrensningen for å bestemme hvorvidt en gyldig adresse blir matet for å oppnå aksess. Dersom adressen ikke er en gyldig adresse, blir et adresseunntak generert på linje 352.
I tillegg blir systemaksessignalet brukt til å bestemme typen oversettelse utført på adressen i hurtigenheten. En områdeadresse kan være enten en tilsynelatende adresse eller en virkelig adresse. Dersom det er en tilsynelatende adresse, blir en translasjonssidebuffer 353 brukt til oversettelsen. Dersom det er en virkelig adresse, blir en områdebasisjuster-ingsmekanisme 354 brukt til å justere adressen til en systemadresse innenfor området. Dersom det ikke er en områdeaksess, så er det ikke nødvendig med noen oversettelse eller områdebasisjustering.
Et tilsynelatende adressesignal på linje 344 i kombinasjon med systemadressesignaler på linje 343 blir således brukt til å kontrollere oversettelsesmodusen som indikert ved 355.
For duale adresserominstruksjoner som spesifisert i IBM/370-arkitekturen, kontrollerer det andre adresseromsignalet på linje 345 aksessen til det primære og sekundære lager. Lokaliseringen av de primære og sekundære adresserom er spesifisert i kontrollregister 1 (356), og kontrollregisteret 7 (357), resp. Det andre adresseromsignalet på linje 345 kontrollerer velgeren 358 for å mate den riktige identifi-kator til den dynamiske adresseoversettelseskrets 359.
Forhindringsnøkkelsjekksignalet på linje 346 forhindrer generering av et beskyttelsesinntak på linje 360 når etikett-aksessnøkkelen og t> ruke ri age rnøk lene ikke passer som indikert med verdiene lagret i registrene 361 og 362 resp.
Forhindringslavadressebeskyttelsessignalet på linje 347 forhindrer genereringen av beskyttelsesunntak på linje 336 når lavadressebeskyttelsesdetekteringskretsen 364 detekterer en adresse fra linje 330 i et lavadresseområde.
Som det kan ses godtar lagerenheten en adresse på linje 330 og behandler denne som respons på en flerhet av kontrollsignaler. For hver instruksjon som mater en adresse til lagerenheten for å gjenfinne en operand, spesifiserer systemaksessignalet på linje 343 hvorvidt en systemadresse eller en områdeadresse blir matet. Som imidlertid nevnt ovenfor, inneholder instruksjonsplattformen 301 et felt eller bit for å spesifisere at en system eller områdeaksess blir laget. I h.t. den foreliggende oppfinnelse er det tilveiebrakt en innretning for å generere en kontrollkode ved entring inn i et emuleringsprogram som blir lagret i områdeaksesskontrollregisteret 319 for å klargjøre underforstått områdeadressering. Områdelageraksessdetekteringslogikken 335 sammenligner innholdet til feltet fra instruksjonen som spesifiserer det generelle registeret som skal anvendes ved genereringen av operandadressen med et forutvalgt område av generelle registre for å bestemme hvorvidt områdeaksess er nødvendig for visse instruksjoner. Områdeaksesslagerlogikken 335 mottar også visse kontrollsignaler fra instruksjons-dekoderen 332 over linje 336 for å identifisere instruksjonsformater som beskrevet mer detaljert i det etterfølgende. Et områdeaksesskontrollsignal blir matet på linje 338 til instruksjonsenhetens lagerenhetgrensesnittlogikk 334 for å påvirke genereringen av systemaksessignalet på linje 343.
I tillegg, i h.t. den foreliggende oppfinnelse, lagrer områdeaksesskontrollregisteret 319 andre signaler som i kombinasjon med kontrollsignalene lagres i området CPU-statusregisteret 320 arbeider for å oppheve signalet matet fra programstatusordregisteret 321 til grensesnittlogikken 334. Disse kontrollsignaler påvirker genereringen av adressemodussignalet på linje 342, det tilsynelatende adressesignalet på linje 344, det andre adressesignalet på linje 345, for-hindringsnøkkelsjekksignalet på linje 346 og forhindrings-lavadressebeskyttelsesnøkkelen på linje 347 under en aksess til områdeadresserommet fra et emuleringsprogram som arbeider i kontrollstatusen. Egenskapene beskrevet i den foreliggende patentsøknad er forklart i det etterfølgende.
C. Underforstått områdeadressering
Med underforstått områdeadressering blir instruksjonen innstilt til å være i stand til å anvendes ved tilgang til områdelager fra kontrollstatus utvidet til å innbefatte i hovedsak alle instruksjoner som er i stand til å få aksess til systemlageret. Et bestemt område av system-GPR 326 kan, når de blir brukt for å tilveiebringe en basisadresse, med hell forårsake underforstått områdeadressering. Disse registre blir benevnt områdeadresseringsbasisregistre, eller
DABR.
Underforstått områdeadressering blir aktivert via DABR-aktiv-eringskontrollbit i DACR 319. Når underforstått områdeadressering er aktiv, og et områdeadresseringsbasisregister blir brukt for å adressere en operand, blir områdeadressering brukt i stedet for systemadressering, unntatt for disse referanser som utelukkende er spesifisert for alltid å anvende systemadresseringen eller alltid anvende område-adresseringen.
D. Områdeadresseringsbasisregistre ( DABR)
System GBR 2-7 blir benevnt områdeadresseringsbasisregistre (DABR). De arbeider identisk med de andre system-GPR unntatt når underforstått områdeadressering er aktiv, og det blir alltid spesifisert i bestemte registerfelt (ER) til en instruksjon. I dette tilfellet blir områdeadresseringsregler fulgt (ved utføring av effektive adresseberegninger og/eller aksesser til hovedlager) for de korresponderende operander i de følgende tilfeller: Instruksjonsoperander som er tilsynelatende adresser. Instruksjonsoperander som er logiske adresser. Instruksjonsoperander som er virkelige adresser.
Underforstått områdeadressering brukes aldri i de følgende tilfeller:
Instruksjonsadresser.
Adresser til PSW, avbruddskoder og tilhørende informasjon
brukt under et avbrudd.
Adresser som blir addert til maskinvaren som en forskyv-ning til en basisadresse. I dette tilfellet bestemmer
basisadressen typen av adressering.
Formasjon av operandadresser som ikke blir brukt som
adresser.
Den følgende tabell viser registerfeltene, for hvert instruk-sjonsformat, som designerer DABR for adressering av hver operand, i kontrollstatus når de korresponderende system-GRP er aktive som DABR.
Basisregistre brukt som DABR:
E. Områdeaksesskontroller
Områdeaksesskontroller aktiverer underforstått områdeadressering for hver lageroperand. To bit er definert til å tillate to områder av DABR. Dette kan imidlertid generali-seres til å tillate en kontrollbit for hver DABR. Hver kontrollbit kan innstilles uavhengig, avhengig av hvorvidt underforstått områdeadressering skal anvendes for et bestemt sett av DABR. Områdeaksesskontrollbitene er definert i kontrollordet til instruksjonen som skal emuleres, og kan manipuleres ved hjelp av kontrollstatusmaskininstruksjoner.
I den hurtige assisteringsmodus FAM blir feltene til den løpende PSW overstyrt. Programutførelsen blir kontrollert av en effektiv PSW. Driften er i SE-modus og kontrollert status med mange avbrudd uskadeliggjort. For systemlageraksesser blir 31-bit reell adressering brukt med programhendelses-opptegning (PER) sikret. PSW-tasten for systemlageraksesser
(systemtast) blir innstilt av makrokode når et område blir aktivert.
Den effektive PSW som kontrollerer områdelageraksesser i FAM blir kalt område-CPU-status (DCPUS). DCPUS i FAM er den PSW som var i bruk ved instruksjonen som skulle emuleres. Denne PSW blir tatt som del av FAM-inngangsrutinen og plassert i et systemregister. Den spesifiserer brukerkontrollmodusen og kontrollerer: PER for områdereferanser som blir styrt av kontroll registeret 9, 10 og 11.
Områdeadressering som relaterer seg til
- dynamisk adresseoversettelse,
- adresseringsmodus,
- områdenøkkel,
- adresseromkontroll.
I FAM kan DCPUS bli modifisert ved å benytte en kontroll-statusdefinert instruksjon. Dette er ekvivalent med å laste en ny PSW.
Områdeaksesskontroller tillater manipulasjon av forskjellige bit i PSW tilknyttet områdelageraksesser. Denne egenskap blir kalt områdeaksesskontroller. Områdeaksesskontroller spesifiserer overkoblingshandlinger for visse felter til DCPUS og/eller kontrollregistre som ellers kunne kontrollere områdeadressering i tillegg til bitene tilveiebrakt for å kontrollere aktiveringen av områdeaksessbasisregistrene (DABR) som blir brukt til underforstått områdeadressering. Dette gir emuleringsrutinen kapasiteten til å manipulere disse funksjoner uten å modifisere område-PSW. Dette forbedrer effektiviteten til emuleringsrutinen ved å redusere antallet instruksjoner som er nødvendige for emuleringen. Områdeaksesskontrollene er inneholdt i områdeaksesskontrollregisteret (DACR). DACR blir lastet fra kontrollordet til den emulerte instruksjonen på FAM-inngangen, og kan modifi-seres i emuleringsrutinen ved kontrollstatusmaskininstruk-sj oner.
Områdeaksesskontrollers format:
/ = Reservert.
S = Andre adresseringsoverkobling: Bruk den andre virtuelle adressering på områdeadresseringslagerreferansen som er underkastet oversettelse (overkobler effektive DCPUS S bit - behandlet som 1).
Innstillingen av denne kontroll blir ignorert dersom den effektive DCPUS er spesifisert BC modus.
P = Områdeprimær adresseringsoverkobling: Bruk primær virtuell adressering på områdeadresseringslagerreferansen som er underkastet oversettelse (overkobler effektiv DCPUS S bit - behandlet som 0).
Innstillingen av denne kontroll blir ignorert dersom den effektive DCPUS er spesifisert BC-modus.
R = Område-PER-lagerendringsoverkobling: Undertrykk PER-lagerendringshendelsestester på områdeadresserings-lagerref eranser (overkobler CR9 bit 2 - behandlet som 0) .
T = Områdeoversettelsesoverkobling: Undertrykker oversettelse på logiske områdeadresseringslagerreferanser (overkobler effektive DCPUS T bit - behandlet som 0).
A = Områdeadresseringsmodusoverkobling: Anvender 31-bit effektiv adresseringsgenereringsregler for områdeadresser. (Overkobler effektivt DCPUS (A) - behandlet som 1) . Denne kontroll finner sted uten hensyn til hvorvidt den effektive DCPUS spesifiserer BC-modus eller EC-modus.
C = DABR aktivasjonskontroll 1: Aktiverer implisitt
områdeadressering for system GPR 4-7 som DABR.
D = DABR aktivasjonskontroll 2: Aktiverer implisitt områdeadressering for system GPR 2-3 som DABR.
Merk: Bit C og D kan begge være 1. I det tilfellet er begge de designerte sett av system-GPR aktive som DABR.
L = Områdelavadressebeskyttelsesoverkobling: Undertrykker lavadressebeskyttelse på områdeadresseringslagerreferanser (overkobler CRO bit 3 - behandlet som 0).
K = Områdenøkkelbeskyttelsesoverkobling: Undertrykker nøkkelbeskyttelse på områdeadresseringslagerreferanser (overkobler effektivt DCPUS nøkkelfelt, bit 8-11 - behandlet som 0).
Den følgende tabell oppsummerer handlingene til områdeaksesskontrollene:
II. Iverksettelse av underforstått områdeadressering
Det logiske diagrammet for områdelageraksesslogikk 335 er vist på fig. 4. Logikkenheten fastslår om den løpende lageraksess er en områdelageraksess (DSÅ). Instruksjons-feltet OPCODE DØ (DØ, Dl, D2 for 2 bitgrupper OPCODES) blir dekodet i logikkenheten 432 for å frembringe instruksjons-formattyper. Bare RR, RRE og SS formater blir dekodet som indikert med signaler på linjene 440, 441 og 442, resp. Alle andre formater har sine DABR-felt i den samme posisjonen. Instruksjonsdekoding blir også tilveiebrakt for å bestemme hvorvidt lageraksessen involverer den første lageroperanden. Dette er viktig i tilfeller såsom SS formatinstruksjoner hvor det er to lageroperander, som hver har sin egen bestemte DABR. Visse RR formatinstruksjoner har også to lageroperander. Uttrykket "0AR1 aksess" på linje 444 indikerer at det er aksess til den første lageroperanden. Dvs. Bl for SS formater og RI for RR formater. Siden alle andre formater bare har en lageroperand, passer "0AR1 aksess" til enten Bl eller B2 operander.
Tre andre funskjonelle signaler er tilveiebrakt av instruk-sjonsdekoderlogikken 432: 1) DFIST på linje 443 - indikerer den første strøm eller sekvens av en instruksjonsalgoritme. 2) USER på linjer 445 - indikerer at prosessoren er i brukerstatus (dvs. - ikke FAM eller kontrollstatus). 3) DISABLE DSA på linje 446 - en dekoder som forhindrer områdelageraksess for visse instruksjonstyper såsom for-greningsinstruksjoner som krever systemadresser.
Områdeaksesskontrollregisterbit 28 på linje 447 og 29 på linje 448 aktiverer underforstått områdeadressering for system GPR 4-7 og 2-3 som DABR, resp.
Fig. 4 viser logikkiverksettelsen av områdelageraksesslogikken som har referansenummer 335 på fig. 3. Instruksjonsplattformen er brutt ned til en flerhet av felter, DO til D4 som beskrevet ovenfor. Avhengig av formatet til instruksjonen blir et bestemt felt brukt for å få tilgang til en basisadresse fra et generelt register. Således kan enten Dl, D2 eller D3 feltene bli brukt til å spesifisere et generelt register. Områdelageraksesslogikken inkluderer således en innretning 449 for å sammenligne Dl feltet for å bestemme hvorvidt dette spesifiserer et register innenfor området på 4-7, og en innretning 450 for å bestemme hvorvidt Dl feltet ligger innenfor området 2-3. Disse blir forbundet for å motta innholdet fra Dl-feltet over linje 451.
Innholdet i D2-feltet blir matet over linje 452 til en innretning 453 for å detektere hvorvidt D2 faller innenfor området av 4-7 og en innretning 454 for å bestemme hvorvidt D2 faller innenfor området 2-3.
D3-feltet blir matet på linje 455 til en innretning 456 for å bestemme hvorvidt D3 faller innenfor et område på 4-7 og en innretning 457 for å bestemme hvorvidt D3 faller innenfor et område på 2-3. Det er åpenbart at området av generelle registre som blir brukt til områdeaksessbasisregisteret er tilfeldige, og kan velges fra et hvilket som helst område som passer brukeren.
Avhengig av verdiene til bit 28 og 29 fra områdeaksesskontrollregisteret 419 er enten området 4-7 eller 2-3 eller begge spesisfisert som områdeadressebaseregisterområdet. Således mottar og-porten 458 som inngangssignaler bit 28 fra linje 447 og utgangssignalet fra komparatoren 449 for å generere et sant utgangssignal når et områdeadressebaseregister fra området 4-7 er blitt spesifisert av feltet Dl. Og-porten 459 mottar som inngangssignal utgangssignalet fra komparatoren 450 og bit 29 på linje 448 fra områdeaksesskontrollregisteret for å generere et sant utgangssignal når et områdeadressebaseregister i området 2-3 er blitt spesifisert av feltet Dl. På samme måte mottar og-porten 460 som inngangssignaler utgangssignalet fra komparatoren 453 og bit 28 fra linjen 447 og og-porten 462 mottar utgangssignalet fra komparatoren 456 og bit 28 på linje 447 fra områdeaksesskontrollregisteret. Utgangssignalet fra og-portene 460 og 462 blir sanne når et områdeadressebaseregister i området 4-7 er blitt spesifisert av feltene D2 eller D3 resp.
Og-portene 461 og 463 mottar som inngangssignaler utgangssignalene fra komparatorene 454 og 456 resp. såvel som bit 29 fra områdeaksesskontrollregisteret på linje 448. Distanse-signalene fra og-portene 461 og 463 blir sanne når et områdeadressebaseregister i området 2-3 er spesifisert i feltene D2 eller D3 resp.
Utgangssignalet fra og-portene 458 og 459 blir matet til linje 471 for å indikere en områdeaksess fra et instruksjons-format som spesifiserer et områdeadressebaseregister i felt Dl. Utgangssignalet fra og-portene 461 og 460 blir matet til linje 472 for å indikere en områdeaksess ved et instruksjons-format som spesifiserer et områdeadressebaseregister for felt D2. Utgangssignalene fra og-portene 462 og 463 blir matet på linje 473 for å indikere en områdelageraksess fra et instruk-sjonsformat som spesifiserer et områdeadressebaseregister på felt D3.
Og-port 464 mottar som ingangssignaler RR-formatsignalet på linje 440, Dl f el tområdeaksessignalet på linje 471 og 0AR1 aksessignalet (0AR1) på linje 444 som genererer et sant utgangssignal for en områdeaksess på den første operand i et RR-format på linje 474.
Og-port 465 mottar som inngangssignaler RR-formatsignalet på linje 440, det inverterte 0AR1 aksessignalet på linje 444, og D2-feltområdeaksesignalet på linje 472. Port 465 genererer et sant utgangssignal på linje 474 for en RR-formatinstruksjon som spesifiserer en områdeaksess fra D2-feltet som ikke er den første operandaksessen som indikert ved signalet på linje 444.
Og-port 466 genererer et sant utgangssignal på linje 474 når en instruksjon i RRE-formatet blir matet for den første aksessen fra operandadresseregisteret for en områdeadresse fra felt D2 og det ikke er den første strømmen av en instruk-s j on.
Utgangssignalet fra og-port 467 genererer et sant utgangssignal for instruksjoner i SS-formatet under den første strømmen av en adresse fra instruksjonen når områdeaksess bes om fra felt D3. Utgangssignalet til og-porten 467 gis på linje 475.
Og-porten 468 genererer et sant utgangssignal når en instruksjon i SS-formatet blir innmatet og det ikke er den første adressen og ikke den første strømmen til et områdeadresse-register spesifisert fra felt D3.
Utgangssignalet fra og-port 469 blir påstått på linje 474 etter instruksjoner i SS-formatet for en første adresse fra operandadresseregisteret når det ikke er den første strømmen og et signal på linje 476 er sant.
Utgangssignalet fra og-port 470 påstår et sant signal på linje 474 etter alle instruksjonsformater andre enn RR, RRE og SS under den første 0AR1 aksessen når et områdeadressebaseregister blir spesifisert fra felt D3.
Utgangssignalet fra og-port 467 blir matet på linje 475 til en områdeutløserlås 477 som mater et signal på en linje 476 for å kontrollere utgangssignalet fra og-port 469.
Signalene på linje 474 og 475 blir matet til eller-port 478 som genererer et utgangssignal på linje 479. Og-port 480 genererer områdelageraksesskontrollsignalet på linje 499 som respons på signalet på linje 479, og som er det inverterte av brukersignalet på linje 445 og det inverterte av det uskade-liggjørende DSA-signalet på linje 446.
Utformingsligningen eller programbiten for DSA er som følger:
For RR-formatene bruker den første lageroperanden (0AR1 ACCESS) Rl-feltet til instruksjonen som en DABR. Dette feltet er inneholdt i Dl-instruksjonsplattformfeltet. Uttrykket "Dl=4:7" indikerer at Rl-feltet har en verdi mellom 4 og 7, og at det er og-koblet med DACR bit 28 for å aktivere en områdelageraksess. På samme måte indikerer uttrykket "Dl=2:3" at Rl-feltet har en verdi på 2 eller 3 og at den blir og-koblet med DACR bit 29 for DSA-aktivering. For å aktivere en områdelageraksess for den andre lageroperanden (lOARl ACCESS) til en RR-formatinstruksjon, blir R2-adressen (i D2-instruksjonsplattformfeltet) brukt som en DABR med D2=4:7 uttrykket og koblet med DACR bit 28 eller D2-2:3 uttrykket og-koblet med DACR bit 29.
For en RRE-formatinstruksjon blir R2-feltet flyttet til D2-instruksjonsplattformfeltet i den første instruksjons-syklusen (DFIST). Derfor kan ingen lagerforespørsler etter RRE-formater bli utstedt i denne syklus. Etter den første syklusen (iDFIST) vil lageroperandaksessen som vil være indikert ved "0AR1 ACCESS" bruke D2-feltet som en DABR. Derfor forårsaker D2=4:7 og DACR bit 28 eller D2=2:3 og DACR bit 29 områdelageraksess.
For SS-formatinstruksjoner kan den første lageroperanden (0AR1 ACCESS) bli gitt tilgang i den første instruksjons-strømmen (DFIST). B2-feltet er inneholdt i D3-feltet til instruksjonsplattformen. Derfor blir D3=4:7 og-koblet med DACR bit 28 eller D3=2:3 blir og-koblet med DACR-bit 29 for å aktivere hovedlageraksess.
Ved slutten av den første instruksjonsstrømmen blir D3-feltet oppdatert med B2-data og Bl-datafeltet blir borte. En utløser kalt områdeutløseren blir innstilt i denne syklus dersom områdelageraksesstilstanden er aktiv. Områdeutløseren innstilles ved følgende programbit:
Deretter vil når en hvilken som helst lageraksess til den første lageraksessen finner sted (0AR1 ACCESS), en områdelageraksess være resultatet dersom områdeutløseren er på. For den andre operanden (i0AR1 ACCESS), blir B2-feltet flyttet inn i D3-feltet til instruksjonsplattformen. Derfor vil etter den første instruksjonsstrømmen dDFIST), en områdelageraksess være indikert når D3=4:7 og DACR bit 28 eller D3=2:3 og DACR bit 29 er aktive.
For alle andre instruksjonsformater eksisterer bare en lageroperand, og den kan være enten Bl- eller B2-feltet til instruksjonen. Denne vil befinne seg i D3-feltet til instruksjonsplattformen. For disse formater (iRR FORMAT & i RRE FORMAT & -, SS FORMAT) vil derfor, når lageraksessen er aktiv, (0AR1 ACCESS), områdelageraksessen bli aktivert av D3=4:7 og DACR bit 28 eller D3=2:3 og DACR bit 29.
III Områdeaksesskontrollimplementering
Områdeaksesskontrollene styrer forskjellige kontrollsignaler til lagerenheten. Kontrollbitene blir lastet inn i områdeaksesskontrollregisteret (DACR) fra kontrollordet til instruksjonen som skal emuleres ved starten av FAM entringsrutinen. Registeret kan være modifisert av "last DACR" instruksjonen i FAM. Kontrollene overkobler vanligvis område CPU status (DCPUS) som er området eller bruker PSW som er i virksomhet ved begynnelsen av FAM-entring. DCPUS blir lastet inn i systemregister 6. Aksessignalene som blir møtt av områdeaksesskontrollene er som følger:
- System (område)
- Virtuell (reell)
- Adressemodus
- Adresserom
- Forhindre nøkkelsjekker
- Forhindre lavadressebeskyttelse
- Lagre PER
De logiske ligningene som blir presentert ved ethvert signal er et undersett av den fullstendige logiske ligningen og relaterer seg bare til områdelageraksessdelen til logikken. Det er spesielle unntakstilfeller i noen av ligningene, indikert med et "tvang " uttrykk. Dette uttrykk kan i virkeligheten overkoble DAC overkoblingene. Områdeaksess-kontrollogikken er vist på fig. 5.
Som vist på fig. 5, mater instruksjonsplattformen 501 en del av instruksjonen over linje 527 til instruksjonsdekodelogikken 532 (som korresponderer med instruksjondekodelogikken 332 på fig. 3). Instruksjonsdekodelogikken 532 genererer et tvangssystemsignal, et tvangsbrukersignal, et tvangsreelt signal, et tvangsprimaersignal over linje 533 som blir matet til instruksjonenhet/lagerenhetgrensesnittlogikken 534 (som korresponderer med blokk 334 på fig. 3).
I tillegg mater område CPU statusregisteret 520 kontrollsignaler over linje 540 til grensesnittlogikken 534. Områdeaksesskontrollregisteret 519 mater kontrollsignaler over linje 541 til grensesnittlogikken 534. Områdelageraksessdetekteringslogikken 535 genererer områdelageraksessignalet (DSA) på linje 538 for innmating til grensesnittlogikken 534.
Utgangssignalet fra grensesnittlogikken omfatter et system-aksessignal på linje 543, det virtuelle signalet på linje 544, adressemodussignalet på linje 542, det andre adresseromsignalet på linje 545, forhindre nøkkelsjekksignalet på linje 546, forhindre lavadressebeskyttelsesnøkkelen på linje 547 og programhendelsestegningssignalet (PER) på linje 520.
Og-portene 510 og 511 utgjør logikken som genererer systemaksessignalet på linje 543.
Og-port 510 mottar som inngangssignaler det inverse brukersignal , det inverse DSA-signal og det inverse tvangsbrukersignal.
Og-port 511 mottar som inngangssignaler det inverse tvangsbrukersignal og tvangssystemsignalet. Således er systemaksessignalet på linje 543 sant når tvangssystemsignalet er sant og tvangsbrukersignalet ikke er sant. Når videre tvangsbrukersignalet ikke er sant, dersom områdelageraksessignalet ikke er sant og brukersignalet ikke er sant, så blir systemaksessignalet påstått.
Det virtuelle signalet på linje 544 blir innmatet ved utgangen fra og-port 512. Inngangssignalet til og-port 512 innbefatter det inverse brukersignal, områdelageraksessignalet, område DPU status bit-T, den inverse av områdeaksess-register bit-T og det inverse av det reelle tvangssignal.
Adressemodussignalet på linje 542 indikerer en 31-bit adresse når utgangssignalet til og-port 513 eller og-port 514 er sant. Inngangssignalet til og-port 513 innbefatter DSA-signalet, bit-A fra område CPU statussignalet og det inverse brukersignalet. Utgangssignalet fra og-port 514 innbefatter DSA-signalet, områdeaksesskontrollregister bit-A og det inverse brukersignalet.
Det sekundære adressebasissignalet på linje 545 er sant når utgangssignalene til og-port 515 eller og-port 516 er sanne. Inngangssignalet til og-port 515 innbefatter bit-E til område CPU statusregisteret, bit-S til områdeaksesskontrollregisteret, områdelageraksessignalet, det inverse primære tvangssignalet og det inverse brukersignalet. Inngangssignalene til og-port 516 innbefatter det inverse brukersignalet, det inverse primære tvangssignalet, og områdelageraksessignalet. I tillegg innbefatter inngangssignalene den inverse bit-P til område CPU statussignalet og det inverse utgangssignalet til og-port 521. Inngangssignalet til og-port 521 innbefatter bit-E til område CPU statusregisteret og bit-P til områdeaksesskontrollregisteret.
Forhindre nøkkelsjekk signalet på linje 546 blir generert på utgangen til og-port 517. Inngangssignalet til og-port 517 innbefatter det inverse brukersignalet, områdelageraksessignalet og bit-K til områdeaksesskontrollregisteret. Forhindre lavadressebeskyttelsessignalet på linje 547 blir matet fra utgangen til og-port 518. Inngangssignalet til og-port 518 innbefatter det inverse brukersignalet, områdelageraksessignalet og bit-L til områdeaksesskontrollregisteret.
Programhendelsesopptegningssignalet på linje 520 blir påstått fra utgangen til og-port 519. Inngangssignalet til og-port 519 innbefatter det inverse brukersignalet, områdelageraksessignalet, bit-R fra område CPU statusregisteret og det inverse av bit-R fra områdeaksesskontrollregisteret.
Lagerenheten kontrollerer signaler som påvirkes av DACR og DCPUS registrene og kan oppsummeres på følgende måte:
A. Systemaksess
Dette signal på linje 543 indikerer en aksess til system-adresserommet med systemadressene. Signalet må uskadelig-gjøres for områdelageraksesser.
SYSTEM = USER & -| DSA + FORCE SYSTEM] & -\ FORCE USER
I FAM vil DSA-signalet uskadeliggjøre systemaskesser. "Tvangssystem"-uttrykket som spesifiserer nødvendige system-aksesser, overkobler DSA-uttrykket, og "tvangsbruker"-uttrykket vil uskadeliggjøre systemaksessen. Tvangsuttrykkene er gjensidig eksklusive.
B. Virtuell aksess
Dette signal på linje 544 indikerer at den løpende lageraksess vil kreve dynamisk adresseoversettelse.
For områdelageraksess i FAM er det virtuelle signalet under kontroll av DCPUS-T biten. DACR-T biten vil imidlertid overkoble DCPUS-T biten for å uskadeliggjøre virtuelle aksesser. Reelle tvangsuttrykk vil også uskadeliggjøre virtuelle aksesser for spesielle operander som er nødvendige for å få tilgang til reelt lager.
C. Adressemodusaksess
Når denne er aktiv, vil denne bit på linje 542 indikere en 31-bit lageradresse; ellers er en 24-bit adresse iverksatt.
For områdelageraksesser i FAM er 31-bit adressering aktiv dersom enten DCPUS-A bit eller DACR-A bit er aktiv.
D. Sekundært adresserom
Når dette er aktivt vil dette signal på linje 545 indikere sekundært adresserom; ellers er primært adresserom iverksatt.
For områdelageraksesser i FAM, er adresseromsignalet aktivt når DACR-S biten er aktiv, mens området er i EC modus (DCPUS-EC) dersom ikke operandlageraksessen krever en primær romaksess for den gitte instruksjon (tvangsprimær). Adresserom vil også være aktivt dersom DCPUS-P bit er av og enten DACR-P bit eller DCPUS-EC bit er av, unntatt igjen dersom operandlageraksessen krever en primær romaksess.
E. Forhindringsnøkkelsjekk
Når denne er aktiv vil dette signal på linje 546 forhindre beskyttelse av nøkkelsjekk i lagerenheten.
For områdelageraksesser i FAM er beskyttelsesnøkkelsjekking forhindret når DACR-K bit er aktiv.
F. Forhindre lavadressebeskyttelse
Når den er aktiv, forhindrer dette signal på linje 547 lavadressebeskyttelse i lagerenheten.
For områdelageraksesser i FAM er lavadressebeskyttelses-sjekking forhindret når DACR-L bit er aktiv.
G. Lagerprogram hendelsesopptegning ( PER)
Dette signal på linje 520 er ikke et grensesnittsignal til lagerenheten, men det blir truffet av områdelageraksessene i FAM. I virkeligheten er den eneste lager PER hendelser som kan finne sted i FAM disse som gjelder områdelageraksesser siden PER er forhindret for systemadresser.
For områdelageraksesser i FAM er lager PER under kontroll av DCPUS-R bit. DACR-R bit vil imidlertid overkoble DCPUS-R bit for å forhindre lager PER.
IV. Iverksettelse av FAM endringstester
Figurene 6 og 7 illustrerer implementeringen eller iverksettelsen av FAM entringstestene indikert med blokk 223 på fig. 2.
Instruksjonsemuleringsrutinene må teste etter programunntak som del av normal instruksjonsutførelse selv om programunn-takene sjelden opptrer. For å bedre effektiviteten til disse rutinene er det her tilveiebragt en maskinvareteknikk som ikke utfører programunntakstestingen som del av emulerings-entringsrutiner. Testene tilveiebringer en innretning for å indikere: - Hvorvidt kontrollert status er spesifisert av PSW under endringen FAM for den emulerte instruksjon. - Hvorvidt operantene til den emulerte instruksjon tilfreds-stiller nødvendige tilordningstester.
Hvorvidt FAM entringsinstruksjonen var målet med en utførelsesinstruksjon.
Hver test blir utført uavhengig av resultatet til de andre testene. Testene som skal utføres er spesifisert i kontrollordet til instruksjonen som skal emuleres. Dersom en FAM entringstest slår feil, så blir en tilhørende bit i et spesifisert system generelt register (System GPR 3) innstilt og entringsmodusen til FAM blir modifisert fra hurtig entring til normal entring. I dette tilfellet vil FAM entringsrutinen i steden for å avgrene til starten av emuleringsrutinen avgrenses til en felles rutine som et alternativ, hvilken rutine tjener for programunntak og spesielle tilfeller .
Som vist på fig. 6 mottar FAM entringstestlogikken 623 kodene fra kontrollageret som indikerer FAM entringstester på linje 624. Kontrollert statustestsignalet blir matet til kontrollert testkontrollen 630. Kontrollert testkontrollen leser Bit 15 til programstatusordet for instruksjonen som skal emuleres hvilket bestemmer hvorvidt problemstatusen er på. Dersom den er på, slår testene feil som indikert med et signal på linje 631. Signalet på linje 631 blir matet til kontrolllager-forgreningslogikk 214 for å frembringe en forgrening til en normal entring som skal behandle unntakstilstanden.
I tillegg utfører FAM entringstestene innretningstester. For instruksjoner som innbefatter en første operand blir kon-trollogikk 632 for innretting av den første operanden klargjort. Under en strøm fra instruksjondirekteforbind-elsen, når adressen til operanden når B-syklusoperandadresseregisteret (204 på fig. 2), blir Bit 29 til 31 lest for å utføre innretningstestene i blokk 633. Dersom den første operanden mislykkes i innreningstesten, blir et signal påstått på linje 631 for å tvinge kontrollageret til normal entring. På samme måte blir innrettingen av en andre operant klargjort ved innretning til kontroll 634. Når adressen til den andre operanden når B-syklusoperandadresseregisteret, blir Bit 29 til 31 lest og testen blir utført i logikk 635. Dersom testen slår feil, blir signalet på linje 631 påstått.
Til slutt blir målet med utførelsestesten utført etter entring inn i hurtig emulering ved å sjekke en utførelses-modulutløser som blir innstilt under normal drift når en instruksjon er utsatt for en utførelsesinstruksjon som spesifisert ved IBM/370 driftsprinsipper. Dersom utførelses-modusutløseren er på under entringen, vil signalet på linje 631 påstått til å tvinge kontrolllageret til normal entring. Fig. 7 viser detaljert iverksettelse av testlogikken for de hurtige entringstestene vist på fig. 6.
Instruksjonskontrollordet fra kontrollageret innbefatter en kontrolltestaktiveringsbit 701, en 4-bit innretningstestkode som inkluderer innretting 1, bit 0 og innretting 1, bit 1, innretting 2, bit 0 og innretting 2, bit 1. I tillegg blir når operasjonskoden blir dekodet i dekoder 704 i instruksjonsenheten, utførelsesmodusutløseren 705 innstilt når utførelsesinstruksjonen blir påstått.
Kontrolltestlogikken innbefatter Og-port 706, som mottar som inngangssignaler kontrolltestaktiveringsbiten fra kontrollordet 701 og bit 15 fra programstatusordet. Dersom begge blir påstått, blir kontrolltestfeilslutningen indikert av signal på linje 707.
Innrettingstesten mottar som inngangssignaler innretning 1, bit 0 og bit 1 fra blokk 702 til kontrollageret og innrettingen 2, bit 0 og bit 1 fra blokk 703 til kontrolllegeret som blir matet til en velger 708. Velgeren blir styrt av innrettingskontrollogikken som velger innretting 1 kontrollordene under strømmen av den første operandadressen og innretting 2 kontrollordene under strømmen av den andre operandadressen. Innrettingstesten kontrollerer at signaler fra kontrollageret blir dekodet i dekoderen 709 som angitt i
tabellen nedenfor.
Dersom verdien er 00, blir signalet på linje 710 matet til og-port 711. Utgangssignalet fra og-port 711 indikerer at det ikke er noen innretningstest som skal utføres slik at testen passeres.
Dersom verdien til den valgte koden er 01, blir et signal matet på linje 712 som et inngangs signal til og-port 713. Det andre inngangssignalet til og-port 713 er det inverse til Bit 31 til operandadresseregisteret og en sjekk blir utført på halvordinnretting.
Dersom verdien som er valgt til dekoderen 709 er 10, så er et signal som blir matet på linje 714 ett inngangssignal til og-port 715. De andre inngangssignalene til Og-port 715 inkluderer Bit 30 og 31 fra operandadresseregisteret. Således er utgangssignalet fra Og-port 715 resultatet av en helordsinnrettingssj ekk.
Dersom verdien til den valgte koden er 11, blir et signal påstått på linje 716 og blir matet som et inngangssignal til og-port 717. De andre inngangssignalene til Og-port 717 innbefatter Bit 29, 30 og 31 fra operandadresseregisteret. Således blir en dobbeltordinnrettingssjekk utført.
Dersom innrettingstesten passeres som indikert ved utgangssignalet fra en hvilken som helst av portene 711, 713, 715 eller 717, blir et signal påstått.
Og-portene 719, 720 og 721 kombineres for å sette opp en innrettingstestfeilutløser 722. Verdien til innrettingstest-feilutløseren blir matet på linje 707 indikerer at innrettingstesten har slått feil. Inngangssignalet til Og-port 719 innbefatter en operand 1 testkontrollsignal som indikerer en test av den første operanden fra innrettingstestkontrollen og det inverse av innrettingstestpasseringssignalet fra linje 718.
Inngangssignalene til og-port 720 innbefatter det inverse av innrettingtestpasseringssignalet på linje 718 og et operand 2 testkontrollsignal fra innrettingstestkontroll.
Inngangssignalene til og-port 721 innbefatter operand 2 testkontrollsignalet fra innrettingstestkontrollen og utgangssignalet fra innrettingen av testfeilutløseren 722. Når utgangssignalet fra enhver av portene 719 til 721 er sant, blir innrettingstestfeilutløseren 722 innstilt. Signalet på linje 707 blir matet til ELLER-port 723 slik at dersom noen av testene slår feil, blir et signal matet til hurtigentringslogikken ( 214 på fig. 2), for å uskadeliggjøre entring inn i hurtigemuleringen og kreve normal entring.
I tillegg vil feil i hver av testene indikeres ved lagring av en Bit i et systemgenerelt register 724.
A. Kontrolltest
Når funksjonen er valgt for en instruksjon, og instruksjonen blir utført i brukerstatus, vil dersom den løpende PSW (Problemstatus) er på følgende skje:
- Normal entring i steden for hurtig entring til FAM.
- System GPR3 (1) blir innstilt til en.
Kontrolltesten blir aktivert av en Bit i kontrollordet til instruksjonen som skal emuleres. Denne Bit blir OG-koblet med PSW bit 15 (problemstatus), og indikerer at den privili-gerte instruksjonen blir emulert i problemstatus og bringer kontrolltesten til å feile. Hurtigentring blir uskadeliggjort og normal entring blir klargjort. Makrokode vil emulere instruksjonen i henhold til oppsettet ved den normale entringsrutinen snarere enn å utføre den emulerte instruksjonen. Makrokoden kjenner til at kontrolltesten slo feil siden maskinvare/mikrokoden lagret resultatene til kontrolltesten i Bit 1 til system GPR3.
B. Innrettingstest
En modell kan sørge for innrettingstester på spesifiserte operander av spesielle instruksjoner. Dersom funksjonen er tilgjengelig og er valgt til å være instruksjoneoperand, bestemmer en 2-bitkode spesifisert av kontrollagerfeltene typen av innrettingstest som skal anvendes på instruksjons-operandene. De mulige kodeverdier og testtyper er:
Dersom en hurtigentringsinstruksjon feiler i innrettingstesten, vil følgende være tilfelle: - En normal entring istedet for en hurtig entring til FAM vil finne sted.
- System GPR3 (0) blir innstilt til en.
Innrettingstesten for en eller to instruksjonsoperander blir aktivert av to bit pr. operand i kontrollordet til instruksjonen som skal emuleres. De riktige aktiveringsbit blir valgt når de assosierte lavordens 3 bit til lageroperand-adressen er tilgjengelige. Operand 2 innrettingstesten blir brukt på alle instruksjonsformater unntatt RR og SS formatene. Operand 2 innrettingstesten blir brukt for den andre lageroperanden til RR eller SS formatinstruksjonene som skal emuleres. Den valgte 2 bit aktiveringskode blir dekodet og portstyrt med tilhørende operandadresseregister (OAR) bit for å bli testet. En 00 kode indikerer ingen innrettingstest. En 01 kode vil teste operandadressebit 31 (OAR 31). Dersom denne er en en, vil innrettingstesten feile. En 10 vil teste operandadressebiter 30 og 31. Dersom en av bitene er en, vil innrettingstesten feile. Til slutt vil en 11 kode teste operandadressebiter 29, 30 og 31. Dersom en av disse biter er en, vil innrettingstesten feile.
I tilfellet med instruksjoner med to lageroperander som skal emuleres, blir resultatene til den første testen holdt i en "innrettingstestfeile" uløser mens den andre operandadressen blir testet (dersom den er aktivert). Hvis en av operandene feiler i innrettingstesten, vil hurtigentring bli uskadeliggjort og det vil bli foretatt normal entring. Makrokode vil emulere instruksjonen i henhold til oppsettet gjennom den normale entringsrutinen snarere enn å utføre instruksjonen. Feil i innrettingstesten vil forårsake at bit 0 til system GPR3 blir innstilt.
C. Mål for utføringstest
GPR3 (2) vil være innstilt til 1 dersom FAM entringsinstruksjonen var målet for en utførelsesinstruksjon. Dersom FAM entringsinstruksjonen ellers ville forårsake en hurtigentring til FAM, blir entringsmodusen endret til normal.
Makrokode må kjenne til under emulering av en instruksjon hvorvidt instruksjonen er et mål for en utførelsesinstruk-sjon. Under den normale behandling av en utførelsesinstruk-sjon, innstiller maskinvaren en "utførelsesmodus" utløser som indikerer at den angjeldende instruksjon er et mål for en utførelse. Dersom denne utløser er på under FAM entringen, vil hurtigentring bli uskadeliggjort og det vil bli foretatt normal entring, og bit 2 til system GPR3 vil bli innstilt.
V. Konklusj on
Fastvareemulering av nye instruksjoner under anvendelse av eksisterende maskininstruksjoner tilveiebringer en effektiv måte til å introdusere nye funksjoner eller egenskaper uten å modifisere eksisterende maskinvare. Disse funksjoner eller egenskaper blir implementert på et høyere nivå enn mikrokode eller maskinvarekontrollpunkter, og medfører større fleksi-bilitet. Denne type fastvare blir kalt makrokode og instruk-sjonsemuleringen blir kalt hurtigassistanse.
Den foreliggende oppfinnelse forbedrer instruksjonsemuleringsrutinene ved følgende trekk: 1) Det tilveiebringes maskinvareassisteringsmekanismer som kan uføre mange av emuleringsrutinetestene og derved reduseres antallet sykluser av utførelser av hver emuleringsrutine. 2) Det defineres en kontrollteknikk som kan styre aksesser til programlager, og derved reduseres antallet instruksjoner som er nødvendig for hver emuleringsrutine. 3) Det tilveiebringes en mekanisme for å bringe enhver maskininstruksjon til å ha mulighet til å foreta lagerakses-ser til programlager såvel som emuleringslager, og derved reduseres antallet instruksjoner som er nødvendig for hver emuleringsrutine.
Oppfinnelsen er beskrevet med referanse til en bestemt utførelse. Fagkyndige vil imidlertid forstå at mange variasjoner og modifikasjoner av den beskrevne utførelse kan utføres innenfor rammen av oppfinnelsen. Rammen for oppfinnelsen er definert ved de følgende patentkrav.

Claims (6)

1. Databehandlingsapparat som arbeider under programkontroll i en første status, som har et første område av fasiliteter innenfor apparatet innbefattende første områdelagerrom, eller i en andre status som har et andre område av fasiliteter inne i apparatet innbefattende andre områdelagerrom, for å behandle en sekvens av instruksjoner normalt i den første status, idet sekvensen av instruksjoner innbefatter en instruksjon som resulterer i en forgrening til den andre statusen for utførelse av et program av instruksjoner i det andre området, karakterisert ved at det omfatter: et instruksjonsregister, oppkoblet for å motta instruksjoner i den første og andre status, og innbefatter en flerhet av felter, hvor i det minste ett felt identifiserer en lokalisering av adresseinformasjon for en operand; en dekodingsinnretning som reagerer på en instruksjon i den første status for å dekode instruksjonen for å generere en kontrollkode og hvor kontrollkoden inkluderer et forgreningssignal og et områdeaksessaktiveringssignal; en innretning som er oppkoblet til å motta og reagerer på forgreningssignaler for forgreningsprogramkontroll av apparatet til den andre statusen for å entre programmet av instruksjoner i det andre området; en grensesnittinnretning som reagerer på områdeaksessaktiveringssignalet og det ene feltet i hver instruksjon i programmet av instruksjoner for å generere et første område-aksessignal; en adresseringsinnretning som kommuniserer med instruksjonsregisteret for å mate en adresse til en operand; og lagerinnretninger som er oppkoblet til å motta det første områdeaksessignalet og adressen for å lagre operander i lokaliseringer identifisert av adresser fra det første og andre områdelagerrom og inkluderer en innretning som reagerer på det første områdeaksessignalet for å oversette adressen til første områdeadresserom under behandling av en instruksjon i den andre status.
2. Apparat i henhold til krav 1, karakterisert ved at lokaliseringen identifisert av det ene feltet er et generelt systemregister og innretningen for å generere det første områdeaksessignalet innbefatter: en innretning for å fastslå hvorvidt det generelle registeret identifisert av det ene feltet faller innenfor et forutvalgt område av generelle registere.
3. Apparat i henhold til krav 1, karakterisert ved at den første status er en brukerstatus som har aksess til brukerområdelagerrom og den andre status er en kontrollstatus som har aksess til systemlagerrom.
4. Apparat i henhold til krav 1, karakterisert ved at instruksjonsprogrammet i det andre området emulerer utførelse av en instruksjon i den første status.
5 . Apparat i henhold til krav 1, karakterisert ved at apparatet innbefatter en innretning for å generere et programstatusord for å kontrollere aksessene til lagerinnretningene og kontrollkoden videre innbefatter et områdeaksesskontrollsignal, og apparatet inkluderer videre: områdeaksessregisterinnretning oppkoblet til å motta område-aksesskontrollsignaler etter en forgrening til den andre status, for å holde områdeaksessaktiveringssignalet og områdeaksesskontrollsignalet under utførelsen av instruksjonsprogrammet i den andre status; en områdestatusregisterinnretning oppkoblet til å motta en statusindikator fra programstatusordet for instruksjonen i den første status som forårsaker en forgrening til den andre status, for å holde statusindikatoren under utførelsen av instruksjonsprogrammet i den andre status; og hvor grensesnittinnretningen videre kommuniserer med områdeaksesskontrollregisterinnretningen, områdestatusregi st-er innretningen og lagerinnretningen, for å generere område-aksesskontrollsignaler under utførelse av instruksjonsprogrammet i den andre status som respons på statusindikatoren og områdeaksesskontrollsignalet.
6. Apparat i henhold til krav 1, karakterisert ved at kontrollkoden videre innbefatter et forgrenings-testsignal, og apparatet innbefatter videre: en innretning oppkoblet for å motta forgreningstestsignalet for å søke etter programunntak etter en forgrening til den andre status; og en innretning som reagerer på et programunntak for å frembringe en forgrening til et alternativt instruksjonsprogram.
NO874135A 1986-10-14 1987-10-01 Databehandlingsapparat NO174943C (no)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/918,491 US4785392A (en) 1986-10-14 1986-10-14 Addressing multiple storage spaces

Publications (4)

Publication Number Publication Date
NO874135D0 NO874135D0 (no) 1987-10-01
NO874135L NO874135L (no) 1988-04-15
NO174943B true NO174943B (no) 1994-04-25
NO174943C NO174943C (no) 1994-08-03

Family

ID=25440469

Family Applications (1)

Application Number Title Priority Date Filing Date
NO874135A NO174943C (no) 1986-10-14 1987-10-01 Databehandlingsapparat

Country Status (10)

Country Link
US (1) US4785392A (no)
EP (1) EP0264216B1 (no)
JP (1) JP2730896B2 (no)
KR (1) KR940009097B1 (no)
AU (1) AU600040B2 (no)
CA (1) CA1271262A (no)
DE (1) DE3750806T2 (no)
DK (1) DK171728B1 (no)
NO (1) NO174943C (no)
NZ (1) NZ221667A (no)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210832A (en) * 1986-10-14 1993-05-11 Amdahl Corporation Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle
US5123101A (en) * 1986-11-12 1992-06-16 Xerox Corporation Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
JPS6488844A (en) * 1987-09-30 1989-04-03 Takeshi Sakamura Data processor
US5008811A (en) * 1988-02-10 1991-04-16 International Business Machines Corp. Control mechanism for zero-origin data spaces
US5187793A (en) * 1989-01-09 1993-02-16 Intel Corporation Processor with hierarchal memory and using meta-instructions for software control of loading, unloading and execution of machine instructions stored in the cache
EP0510429A3 (en) * 1991-04-24 1993-12-01 Ibm Millicode register management system
US5226164A (en) * 1991-04-24 1993-07-06 International Business Machines Corporation Millicode register management and pipeline reset
FR2678401A1 (fr) * 1991-06-28 1992-12-31 Philips Electronique Lab Dispositif de traitement de l'information plus particulierement adapte a un langage chaine, du type forth notamment.
JPH06348584A (ja) * 1993-06-01 1994-12-22 Internatl Business Mach Corp <Ibm> データ処理システム
US5584042A (en) * 1993-06-01 1996-12-10 International Business Machines Corporation Dynamic I/O data address relocation facility
US5574887A (en) * 1993-09-20 1996-11-12 Apple Computer, Inc. Apparatus and method for emulation routine pointer prefetch
US5408622A (en) * 1993-09-23 1995-04-18 Apple Computer, Inc. Apparatus and method for emulation routine control transfer via host jump instruction creation and insertion
US5577231A (en) * 1994-12-06 1996-11-19 International Business Machines Corporation Storage access authorization controls in a computer system using dynamic translation of large addresses
US6093213A (en) * 1995-10-06 2000-07-25 Advanced Micro Devices, Inc. Flexible implementation of a system management mode (SMM) in a processor
US6385712B1 (en) * 1999-10-25 2002-05-07 Ati International Srl Method and apparatus for segregation of virtual address space
US7694302B1 (en) 2001-04-05 2010-04-06 Network Appliance, Inc. Symmetric multiprocessor synchronization using migrating scheduling domains
US7373640B1 (en) 2003-07-31 2008-05-13 Network Appliance, Inc. Technique for dynamically restricting thread concurrency without rewriting thread code
US8171480B2 (en) * 2004-01-27 2012-05-01 Network Appliance, Inc. Method and apparatus for allocating shared resources to process domains according to current processor utilization in a shared resource processor
US8347293B2 (en) * 2005-10-20 2013-01-01 Network Appliance, Inc. Mutual exclusion domains to perform file system processes on stripes
US8055886B2 (en) * 2007-07-12 2011-11-08 Texas Instruments Incorporated Processor micro-architecture for compute, save or restore multiple registers and responsive to first instruction for repeated issue of second instruction

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5576447A (en) * 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
JPS5911944B2 (ja) * 1979-08-25 1984-03-19 富士通株式会社 仮想計算機のシミュレ−ション方式
US4503501A (en) * 1981-11-27 1985-03-05 Storage Technology Corporation Adaptive domain partitioning of cache memory space
JPS6057438A (ja) * 1983-09-08 1985-04-03 Hitachi Ltd 仮想計算機システム制御装置
CA1280829C (en) * 1985-11-13 1991-02-26 Toshio Matsumoto Main storage access control system for virtual computing function system

Also Published As

Publication number Publication date
JP2730896B2 (ja) 1998-03-25
DE3750806D1 (de) 1995-01-12
DK537987D0 (da) 1987-10-14
KR880005517A (ko) 1988-06-29
AU7971387A (en) 1988-04-21
KR940009097B1 (ko) 1994-09-29
NO874135D0 (no) 1987-10-01
EP0264216B1 (en) 1994-11-30
DK537987A (da) 1988-04-15
AU600040B2 (en) 1990-08-02
NO174943C (no) 1994-08-03
EP0264216A2 (en) 1988-04-20
JPS63191233A (ja) 1988-08-08
DK171728B1 (da) 1997-04-14
NO874135L (no) 1988-04-15
EP0264216A3 (en) 1991-10-23
US4785392A (en) 1988-11-15
NZ221667A (en) 1989-05-29
DE3750806T2 (de) 1995-06-22
CA1271262A (en) 1990-07-03

Similar Documents

Publication Publication Date Title
US5210832A (en) Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle
NO174943B (no) Databehandlingsapparat
US6009261A (en) Preprocessing of stored target routines for emulating incompatible instructions on a target processor
US5317754A (en) Method and apparatus for enabling an interpretive execution subset
US7281115B2 (en) Method, system and program product for clearing selected storage translation buffer entries
US4779188A (en) Selective guest system purge control
EP0067344B1 (en) Data processing system with guest architectural support
EP0145960B1 (en) Selective guest system purge control
GB2570691A (en) Controlling guard tag checking in memory accesses
KR20170100448A (ko) 데이터 스토리지
US5280592A (en) Domain interlock
CN105989758A (zh) 地址翻译方法和装置
US11397541B2 (en) Controlling guard tag checking in memory accesses
US6108761A (en) Method of and apparatus for saving time performing certain transfer instructions
JPH0668724B2 (ja) シミユレーシヨン方法
AU599709B2 (en) Fast entry to emulation
JPH06332803A (ja) 仮想計算機システムにおけるtlb制御方法
US6233675B1 (en) Facility to allow fast execution of and, or, and test instructions
US5117491A (en) Ring reduction logic using parallel determination of ring numbers in a plurality of functional units and forced ring numbers by instruction decoding
EP0550285A2 (en) Machine with two units of operation

Legal Events

Date Code Title Description
MM1K Lapsed by not paying the annual fees

Free format text: LAPSED IN APRIL 2001