DK171728B1 - Databehandlingsapparat - Google Patents

Databehandlingsapparat Download PDF

Info

Publication number
DK171728B1
DK171728B1 DK537987A DK537987A DK171728B1 DK 171728 B1 DK171728 B1 DK 171728B1 DK 537987 A DK537987 A DK 537987A DK 537987 A DK537987 A DK 537987A DK 171728 B1 DK171728 B1 DK 171728B1
Authority
DK
Denmark
Prior art keywords
domain
instruction
access
signal
address
Prior art date
Application number
DK537987A
Other languages
English (en)
Other versions
DK537987A (da
DK537987D0 (da
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 DK537987D0 publication Critical patent/DK537987D0/da
Publication of DK537987A publication Critical patent/DK537987A/da
Application granted granted Critical
Publication of DK171728B1 publication Critical patent/DK171728B1/da

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)
  • Vehicle Body Suspensions (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Monitoring And Testing Of Nuclear Reactors (AREA)

Description

DK 171728 B1
Den foreliggende opfindelse angår et databehandlingsapparat, der arbejder under programstyring i en første tilstand, som angivet i indledningen til krav 1.
Moderne hurtige databehandlingsmaskiner indrettes til at ar-5 bejde med flere brugere. En måde at tilpasse en enkelt maskine til at arbejde med flere brugere omfatter tildeling af en logisk processor til hver bruger. Den logiske processor opfører sig, som om den havde adgang til samtlige faciliteter eller egenskaber for databehandlingsmaskinen, mens et styre-10 system begrænser adgangen for den logiske processor til et specifikt domæne af lagerpladsen og det dertil knyttede udstyr. På den måde vil de forskellige logiske processorer i en enkelt maskine ikke overlappe hinanden i lageret. For imidlertid at forenkle brugergrænsefladen, er den begrænsede ad-15 gang til den logiske processor transparent for den pågældende processor. Således vil instruktioner og adresser, som køres i maskinen ikke specificere et specielt domæne, hvori de skal udøves eller anvendes for at få adgang til data.
Et domæne er et behandlende område, som består af hovedlager, 20 kanaler, operatørfaciliteter og logiske processorer, som udfører instruktioner. I en foretrukken udførelsesform har et domæne, når det aktiverer de faciliteter, der er beskrevet i IBM system/370 Principles of Operation eller IBM system/370 Extended Architecture Principles of Operation. Disse resour-25 cer styres af et systemstyreprogram og kaldes tilsammen programmets domæne.
Når et systemstyreprogram overtager styringen i en maskine, aktiveres dets domæne af en makrokode, som tildeler den nødvendige mængde af lagerplads, antal kanaler og logiske pro-30 cessorer. Systemstyreprogrammerne og makrokoden, som tildeler et domæne, arbejder i en maskintilstand, som kaldes styreeller kontroltilstand. Styretilstanden har dedikeret et hovedlager, kaldet systemlager, som adresseres med systemadresser.
DK 171728 B1 2
Programmer kører i en logisk processor kendt som domæneprogrammer, og arbejder i en maskinetilstand kaldet brugertilstanden (eng:user state). Det hovedlager, som er tildelt et domæne kaldes domænelageret, og domænelagertilgange anven-5 der domæneadresser.
Til tider er det nødvendigt for et program, som kører i styretilstanden at få adgang til data, som er lagret i domænelageret. Dette forekommer f.eks. under emulering, som forklaret i det følgende.
10 En databehandlingsmaskine er konstrueret til at udføre et sæt instruktioner, som kendes som maskininstruktioner. Efter at maskinens arkitektur er defineret, viser det sig ofte at være ønskeligt at realisere andre instruktioner end dem, der indgår i maskinsættet. Dette opnås ved at lagre et emulerings- 15 program med instruktioner i systemlageret, som køres i styretilstanden for at emulere en ny instruktion.
Når en logisk processor træffer en instruktion, som skal emuleres, følges en gren til styretilstanden, og instruktionen emuleres.
20 Ved forgrening til styretilstanden, er det nødvendigt at kontrollere for programundtagelser, som gælder for emuleringsru-tinen, som skal køre i styretilstanden. Disse kontrolprøver optager flere kodelinier i emuleringsprogrammet og resulterer i et fald i effektiviteten for de emulerede instruktioner.
25 For at emulere visse instruktioner, er det også nødvendigt for emuleringsprogrammet i systemlageret, der kører i styretilstanden at få adgang til operander eller andre data, som er lagret i domænelageret.
Som allerede omtalt i det foregående, specificerer instruk- 30 tioner og adresser, som genereres af logiske processorer, ikke om en given adresse skal behandles som en domæneadresse DK 171728 B1 3 eller som en systemadresse.
For at tage højde for denne domænekrydsning under emulering har den hidtil kendte teknik specificerede specielle instruktioner for emuleringen, som fungerede i styretilstanden, og 5 var beregnet for adgang til domænelageret. Denne realisering af specielle instruktioner resulterede imidlertid kun i et begrænset antal instruktioner, som kunne realisere domæne-krydsningtilgangen og var kostbar at realisere.
Den foreliggende opfindelse tilvejebringer en ny teknik kal-10 det indirekte domæneadressering for at skelne mellem domæne-lagertilgange og systemtilgange, ved anvendelse af eksisterende instruktionsformater.
Ovennævnte tilvejebringes ved hjælp af et databehandlingsapparat af den indledningsvis angivne art, hvis karakteristiske 15 træk fremgår af krav l's kendetegnende del. Yderligere karakteristiske træk fremgår af de uselvstændige underkrav.
Opfindelsen skal i det følgende forklares nærmere under henvisning til tegningen, hvor: fig. 1 et samlet blokdiagram af en databehandlingsmaskine 20 ifølge den foreliggende opfindelse, fig. 2 et skematisk blokdiagram, der viser datastrømmen under indføring i et emuleringsprogram, fig. 3 et skematisk blokdiagram, der viser datastrømmen under 1agert i1gang, 25 fig. 4 et mere detaljeret diagram af logiske kredsløb, som realiserer indirekte domænelagertilgang, fig. 5 et logisk diagram af grænsefladen mellem instruktions enheden og lagerenheden under domænelagertilgang.
DK 171728 B1 4 fig. 6 et skematisk diagram, som illustrerer afprøvninger, som blev foretaget under et emuleringsprogram, og fig. 7 et logisk diagram, som illustrerer de prøver, som blev udført under indføringen i et emuleringsprogram.
5 I det følgende beskrives en foretrukken udførelsesform detaljeret og under henvisning til tegningerne. Et databehandlingsanlæg ifølge den foreliggende opfindelse, er som helhed vist i fig. 1. I fig. 2, ses en del af apparatet ifølge den foreliggende opfindelse, nemlig den del, der arbejder under 10 indføringen i et emuleringsprogram. I fig. 3, ses den del af den foreliggende opfindelse, som arbejder, mens emulerings-programmet er i drift. I forbindelse med fig. 4-7 beskrives detaljerede realiseringer af elementer i den foreliggende opfindelse.
15 Fig. 1 viser en databehandlingsmaskine, hvori den foreliggende opfindelse er realiseret. Databehandlingsmaskinen omfatter en instruktionsenhed og en udførelses- eller aktivitetsenhed 10 til behandling af instruktioner og operander, et mellemlager 11 til tilføring af instruktioner og operander 20 til instruktionsenheden og udførelsesenheden 10 og til at hente instruktioner og operander i hovedlageret 12.
Instruktionsenheden/udførelsesenheden 10 tilføres styresignaler og adresser på en linie 17 til mellemlageret 11. Et af styresignalerne angiver, om man ønsker tilgang til domæne el-25 ler tilgang til et system. Data returneres til instruktions-enheden/udførelsesenheden 10 over en bus 18.
På tilsvarende måde sender mellemlagerenheden 11 adresser og styrer informationen via en ledning 19 til hovedlageret 12, som er blevet oversat til systemadresser. Data tilføres mel-30 lemhovedlageret 12 og mellemlageret 11 gennem en bus 20.
Hver bruger af instruktionsenheden og udførelsesenheden 10, DK 171728 B1 5 er tilknyttet et domæne i databehandlingsmaskinen, som indbefatter domænelager. Hovedlageret er således vist i fig. 1 med et domæne 1 lager 13, domæne 2 lager 14, og et domæne 3 lager 15. Endvidere arbejder databehandlingsmaskinen i en styretil-5 stand, som har adgang til maskineressourcer og en del af hovedlageret betegnet som systemlager 16. Domænelager og systemlager adskilles af adresseplads, som er tildelt de enkelte domæner. En logisk processor, som arbejder i et domæne, er dog ikke begrænset i adresserne, som den kan anvende under 10 databehandlingen. Når den logiske processor startes op vil mellemlagerenheden blive indstillet til at genkende en forespørgsel om et domænelager og til at oversætte adresser, som tilføres af instruktionsenheden/udførelsesenheden 10 i domæ-neadresserummet.
15 Hvad der ikke er vist i fig. 1, er indgangs-/udgangsfaciliteter, kanaler, lagerenheder med direkte adgang og andre ressourcer som er knyttet til individuel domæner til brug for en speciel bruger af maskinen. Disse faciliteter er ikke af betydning for den nærværende opfindelse, selv om de indgår i 20 den samlede databehandlingsmaskine.
Den foreliggende opfindelse har en særlig anvendelse ved emu-lering af instruktioner, som nævnt i forbindelse med den kendte teknik. Instruktioner, som ikke falder inden for maskinsættet, udføres ved forgrening til et emuleringsprogram i 25 systemlageret, som udføres ved midlertidigt at forlade brugertilstanden og gå ind i styretilstanden. I styretilstanden kan de maskinressourcer, som er tilrådighed i styretilstanden betragtes som et systemdomæne. Systemdomænet omfatter systemlageret . Eftersom der er anvendes reelle systemadresser ved 30 programkørsler i styretilstanden, oversætter mellemlagerenheden 11 ikke adresser, således som det gøres i en brugertilstand .
Under emuleringen, når maskinen arbejder i styretilstanden, er det ofte nødvendigt med adgang til domænelageret, som in- DK 171728 Bl 6 deholder operanderne for de instruktionerne, som skal realiseres. Lagerenheden 11 må derfor aktiveres, når der foretages en domænelagertilgang, således at en passende oversættelse af adressen til domæneadresserummet kan foretages. Yderligere 5 behandles andre lagerenhedsparametre, der er nødvendige for datatilgangen for at lette tilgangen til domænelageret.
A. Indføring i en emulerinasstvretilstand
Fig. 2 viser et afsnit af instruktionsenheden ifølge den foreliggende opfindelse, som arbejder under indføring i et emu-10 leringsprogram. En række instruktioner tilføres gennem en "pipeline" 200, som indbefatter et D-cyklus instruktionsregister 201, et organ 202 til frembringelse af en adresse for en operand, som skal anvendes ved udøvelse af instruktionen, et A-cyklus effektiv adresseregister 203, et B-cyklus operand-15 adresseregister 204, et X-cyklus register 205, et W-cyklus register 206 og flere styreregistre 207.
Som svar på en instruktion, som tilføres på en ledning 208, frembringes en styrelageradresse i et organ 209 og overføres gennem en ledning 210 til et styrelager 211. Styrelageret 211 20 er et organ til dekodning af instruktionen for at frembringe en styrekode. Når en instruktion modtages, og denne instruktion skal emuleres, adresseres styrekode 212. Et afsnit af styrekoden 212 føres gennem en ledning 213 for at angive, at en emulering skal udføres. Koden på ledningen 213 tilføres 25 til et organ 214 til frembringelse af en forgreningsadresse, som skal tilføres styrelageradressefrembringelsesorganet 209.
I den følgende cyklus tilføres en forgreningsadresse på ledningen 210 til styrelageret for at frembringe en styrekode for indføring i emuleringstilstanden, der kendes som FAM, 30 d.v.s. fast assist mode eller hurtig hjælpetilstand.
Dernæst tilføres en kode på en ledning 215, og denne kode identificere dataadgangsstyringer, som skal anvendes under emuleringsprogrammet. Datatilgangstyrekoden DAC, d.v.a. data DK 171728 B1 7 access control code, tilføres gennem ledningen 215 til registret 216. I en strøm fra instruktionsenheden "pipeline" 200, udvælges indeholdene af DAC-registret 216 i vælger (eller selektor) 217 gennem en adder 218 til A-cyklus effektiv adres-5 seregistret 203. DAC'en passerer ned gennem "pipelinen" til operandadresseregister 204, operandordregistret 205, resultatregistret 206 og lagres i et DAC-styreregister 219 (DACR), for at blive anvendt under emuleringsprogrammet. Karakterne af DAC-koden er beskrevet mere detaljeret i det følgende.
10 Styreregistrene 207 omfatter yderligere et domæne CPU-status-register 220 (DCPUS) og et programstatusordregister 221 (PSW). Domæne CPU-statusregistret 220 fyldes ved at læse programstatusordet (højordensafsnittet i den foretrukken udførelsesform) gennem en ledning 222 ind i X-cyklusoperandordre-15 gistret. Fra operandordregistret 205 tilføres det til W-cy-klusresultatregistret 206 og derfra ind i domæne CPU-statusregistret 220. Denne domæne CPU-statuskode i registret 220, anvendes også under udøvelse af emuleringsprogrammet, som beskrevet i det følgende. Indholdene af programstatusordregi-20 stret 221 indføres under udøvelse af visse maskininstruk-tioner, som f.eks. indlæs PSW (load PSW).
Ifølge den foreliggende opfindelse og for at lette en hurtig indføring i emuleringsprogrammerne, udføres visse hurtige indgangsprøver 223. De hurtige indgangsprøver identificeres 25 af et afsnit af styrekoden 212, som tilføres gennem ledningen 224 til hurtig indgangsprøvningsmodulet 223. Hvis prøverne for hurtig indgang 223 svigter, tilføres et signal på en ledning 225 til organerne 214 til frembringelse af en forgreningsadresse for at tvinge styrelageradressefrembringelses-30 organerne 209 til at forgrene sig til en ny s tyre lagerposition for at behandle emuleringsrutinen i en undtagelsestilstand, kaldet "normal indgang". Realiseringen af de hurtige indgangsprøver 223 er beskrevet i det følgende under henvisning til fig. 6 og 7.
DK 171728 Bl 8
Organerne 202 til frembringelse af en adresse for en operand til brug ved udførelse af en instruktion, indbefatter flere generelle register 226, additionskredsløbet 218, en vælger 217 og instruktionsplatformen 201. Instruktionsplatformen er 5 inddelt i flere felter betegnet DO, Dl, D2, D3 og D4 i figuren. Mindst ét af instruktionsfelterne, afhængig af formatet af instruktionen, som omtalt i det følgende, tilføres gennem en ledning 227 for at udvælge adresseinformation placeret i et generelt register fra antallet af generelle registre 226 10 for at blive tilført som en grundadresse til additionskredsløbet 218. Mindst ét instruktionsfelt i instruktionsplatformen 201 indbefatter således information, som identificerer en position for en grundadresse, for en operand, som skal anvendes ved udførsel af instruktionen.
15 Yderligere tilføres et andet instruktionsfelt gennem en ledning 228 gennem en vælger 217, som en anden indgang til additionskredsløbet 218. Addition af det andet instruktionsfelt, som tilføres gennem ledningen 228, og grundadressen, som tilføres fra de generelle registre 226, resulterer i en adresse 20 på en operand, som tilføres til A-cyklus effektiv adresseregister 203 .
Fra effektiv adresseregister 203 tilføres adressen til lagerenheden for at hente data, som tilføres til X-cyklus operand-ordregistret fra lagerenheden.
25 Fig. 2 viser indlæsningen af styreregistrene 207 og rækken af hændelser, som fører til en forgrening til et emuleringspro-gram. Styreregistrene 207 anvendes som omtalt i det følgende, ved frembringelse af grænsefladesignaler for tilførsel til lagerenheden til fortolkning af adressen, som tilføres fra 30 registret 203.
B. Funktion under emulerinc.
Fig. 3 viser et afsnit af instruktionsenheden og lagerenhe- DK 171728 B1 9 den, som påvirkes af den foreliggende opfindelse under kørslen af et emuleringsprogram. Dele af instruktionsenheden vist i fig. 3 og også i fig. 2, omfatter instruktionsplatformen 301 (201 i fig. 2), datatilgangsstyrekoderegistret 319 (219 i 5 fig. 2), domæne CPU-statusregistret 320 (220 i fig. 2) og programstatusordregistret 321 (221 i fig. 2). Organerne 303 til frembringelse af en adresse til brug ved udøvelse af en instruktion indeholder generelle registre 326, additions-kredsløbet 318 og instruktionsplatformen 301. Mindst ét in-10 struktionsfelt tilføres på en ledning 327 for at styre udvælgelsen af et generelt register 326 for tilførsel af en grundadresse til additionskredsløbet 318. Mindst ét andet instruktionsfelt på platformen 301 tilføres på ledningen 328 til additionskredsløbet 318, for at blive adderet med grundadres-15 sen for at frembringe en oper andadresse, som tilføres det effektive adresseregister 303. Adressen i det effektive adresseregister 303 tilføres på en ledning 330 til lagerenheden, der generelt er vist med henvisningstallet 331. Yderligere føres den ned langs instruktionsenhedspipelinen til 20 B-cyklus operandadresseregistret 304. Resten af instruktionsenhedspipelinen er ikke beskrevet her.
En instruktion i instruktionsplatformen 301 tilfører flere instruktionsfelter gennem en ledning 381 til et organ 332 for dekodning af instruktionen. Yderligere modtages styrelager-25 mærkater gennem ledningen 329 fra styrelageret i instruktionsdekodningsorganerne 332. Som svar på instruktionskoden i organerne 332, tilføres styresignaler på ledningern 333 til instruktionsenhed/lagerenhedsgrænsefladelogikken 334. Det logiske kredsløb 334, der danner grænseflade mellem instruk-30 tionsenheden og lagerenheden, er vist mere detaljeret i fig.
5.
Instruktionsfeltet, som tilføres på ledningen 327 og som identificerer et generelt register, der indeholder en grundadresse for operand, tilføres til domænelagertilgangsde-35 tektionslogikken 335. Styresignaler på en ledning 336 fra DK 171728 B1 10 instruktionsdekodningen tilføres også til domænelagertil-gangsdetektionslogikken 335. Endelig tilføres signaler fra domænetilgangsstyreregistret 319 på ledningen 337 til domæne-lagertilgangsdetektionslogikken 335. Det logiske kredsløb 335 5 til detektion af domænelagertilgang, er beskrevet mere detaljeret i fig. 4. Kredsløbet frembringer et domænelagertilgangssignal på en ledning 338, som tilføres det logiske kredsløb 334, der danner grænseflade mellem instruktionsenheden og lagerenheden.
10 Det logiske kredsløb 334, der danner grænseflade mellem instruktionsenheden og lagerenheden modtager endvidere andre styresignaler fra domænetilgangsstyreregistret 319 gennem en ledning 339. Domæne CPU-statusregistret 327 tilføres styresignaler gennem en ledning 340 til det logiske grænseflade-15 kredsløb 334 og programstatusordregistret 321 tilføres styresignaler på en ledning 341 til det logiske grænsefladekredsløb 3 34 .
Det logiske grænsefladekredsløb 334 frembringer styresignaler, som tilføres til lagerenheden 331 og anvendes, når der 20 hentes data som svar på adresser, der tilføres gennem ledningen 330 fra det effektive adresseregister 303. Styresignaler omfatter adressetilstandssignaler på en ledning 342, system-adressesignaler på en ledning 343, det virtuelle (indbildte) adressesignal på en ledning 344, det sekundære 25 adressemellemrumsignal på en ledning 345, et "inhibit check key"signal på en ledning 346 og et "inhibit low address protection" signal på en ledning 347.
Adressetilstandsignalet på ledningen 342 styrer tilstanden af den adresse, som tilføres på ledning 330 ved at bestemme om, 30 der skal tilføres en 24 bit- eller en 31 bit-adresse.
Systemtilgangssignalet på ledning 343 styrer den måde, hvorpå lagerenheden svarer på adressen på ledningen 330, enten som en systemadresse eller som en domæneadresse. Når et system- DK 171728 Bl 11 styreprogram er oprettet følges lagerenheden med parametre, som definere domænebegrænsninger i systemlageret. Parametrene indlæses i registret 348. Adresserummet, som er knyttet til systemstyretilstanden lagres også som systemgrænser i et re-5 gister 349. Systemgrænserne og domænegrænserne tilføres til en vælger 350, som styres af systemtilgangssignalet på ledningen 343, for at vælge enten systemgrænsen eller domænegrænsen. En adresse på en ledning 330 sammenlignes i en kom-parator 351 med den valgte systemgrænse eller domænegrænse 10 for at bestemme om en gyldig adresse er tilført for tilgang. Hvis adressen ikke er en gyldig adresse, frembringes en adresseundtagelse på en ledning 352.
Yderligere anvendes systemadgangssignalet for at bestemme arten af oversættelse, som udføres på adressen i mellemlageret.
15 En domæneadresse kan enten være en virtuel (indbild) adresse eller en reel adresse. Hvis det er en virtuel adresse, anvendes en "translation lookaside" buffer 353 ved oversættelsen. Hvis det er en reel adresse, anvendes en domænebasis justeringsmekanisme 354 for at justere adressen til en system-20 adresse inden for domænet. Hvis det ikke er en domæne tilgang (domæneadresse) er en oversættelse eller domænebasisjustering ikke nødvendig.
Et virtuel adressesignal på en ledning 344 kombineret med sy-stemadressesignalet på en ledning 343, anvendes derefter til 25 at styre oversættelsen, som angivet ved 355.
For dobbelt adressemellemrumsinstruktioner, som specificeret i IBM/370 arkitektur, styrer det sekundære adressemellemrum-signal på ledningen 345 tilgangen til det primære og det sekundære lager. Positionen af det primære og det sekundære 30 adressemellemrum, er specificeret i henholdsvis styreregister 1 (356) og styreregister 7 (357). Det sekundære adressemel- lemrumsignal på ledningen 345 styrer vælgeren 358 for at tilføre den korrekte identifikator til det dynamiske adresseoversættelseskredsløb 359.
DK 171728 Bl 12 "Inhibit key check"signalet på ledningen 346 hindrer frembringelsen af en "protection exception", d.v.s. beskyttelsesundtagelse på en ledning 360, når markørtilgangsnøglen og brugerlagernøglen ikke passer som angivet af de værdier, der 5 er lagret i registrene henholdsvis 361 og 362.
"Inhibit low address protection" signalet på ledningen 347, hindrer dannelsen af "beskyttelsesundtagelse" (protection exception) på ledningen 363, når kredsløbet 364 til detektion af lavadressebeskyttelse detekterer en adresse fra ledning 10 330 i et 1avadresseområde.
Som det vil ses, modtager lagerenheden en adresse på ledningen 330 og behandler den som svar på flere styresignaler. For hver instruktion, som tilfører en adresse til lagerenheden for at hente en operand, specificeres styrertilgangssignalet 15 på ledningen 343 om der tilføres en systemadresse eller en domæneådresse. Som nævnt ovenfor indeholder instruktionsplatformen 301 ikke noget felt eller nogen bit til at specificere, at der skabes tilgang til et system eller et domæne. Ifølge den foreliggende opfindelse tilvejebringes et organ 20 til at frembringe en styrekode efter indgang i et emulerings-program, som er lagret i domænetilgangsstyreregistret 319 for at tillade indirekte domæneadressering. Det logiske kredsløb 335 til detektion af domænelagertilgang, sammenligner indholdene af feltet fra den instruktion, som specificerer det ge-25 nerelle register, som skal anvendes ved frembringelse af ope-randadressen med et forudvalgt område af generelle registre til at bestemme om der kræves domænetilgang for visse instruktioner. Det logiske kredsløb 335 for domænetilgangslageret modtager også visse styresignaler fra instruktionsdekod-30 ningen 332 gennem ledningen 336, som identificerer instruktionsformater, som beskrevet mere detaljeret i det følgende.
Et domænetilgangsstyresignal tilføres på ledningen 338 til det logiske grænsefladekredsløb 334 mellem instruktionsenhed og lagerenhed for at påvirke dannelsen af systemtilgangssig-35 nalet på ledningen 343.
DK 171728 B1 13
Ifølge den foreliggende opfindelse, lagrer endvidere domæne-tilgangsstyreregistret 319 andre signaler, som kombineret med styresignaler lagret i domæne CPU-statusregistret 320, arbejder på at tilsidesætte det signal, som tilføres fra program-• 5 statusordregistret 321 til grænsefladelogikken 334. Disse styresignaler påvirker dannelsen af adressetilstandssignalet på ledningen 342, det virtuelle (indbildte) adressesignal på linien 344, det sekundære adressesignal på linien 345, "inhibit check key" signalet på linien 346 og "inhibit low address 10 protection" signalet på linie 347 under en tilgang til domæ-neadresserummet fra et emuleringsprogram, der arbejder i styretilstanden. De enkelte træk ved den foreliggende opfindelse vil blive beskrevet nærmere i det følgende.
C. Indirekte domæneadressering 15 Med indirekte domæneadressering udvides det instruktionssæt, som kan anvendes for at få adgang til domænelageret fra styretilstanden, til at indbefatte i hovedsagen alle instruktioner, som er i stand til at skabe adgang til systemlageret.
Et specielt område af system GPR'er 326, kan eventuelt be-20 virke indirekte domæneadressering, når de anvendes til at-tilvejebringe en grundadresse. Disse registre betegnes domæneadresserende basisregistre eller DABR'er.
Indirekte domæneadressering aktiveres via DABR aktiveringsstyre bit i DACR 319. Når den indirekte domæneadressering er 25 aktiv, og et domæneadresserende basisregister anvendes til at adressere en operand, anvendes domæneadressering i stedet for systemadressering med undtagelse af de referencer, som eksplicit er specificeret til altid at anvende systemadressering eller altid anvende domæneadressering.
30 D. Domæneadresserende basisreaistre (DABR'er).
System GPR'er 2-7 er betegnet de domæneadresserende basis-registre (DABR'er). De arbejder identisk med de andre system DK 171728 B1 14 GPR'er, undtagen når den indirekte domaeneadressering er aktiv, og de er specificeret i specielle registerfelter i en instruktion. I så tilfælde følges domæneadresserende regler (med udførelsen af effektive adressekalkulationer og/eller 5 tilgange til hovedlager) for de tilsvarende operander i følgende tilfælde: - Instruktionsoperander som er virtuelle adresser.
- Instruktionsoperander som er logiske adresser.
- Instruktionsoperander som er reelle adresser.
10 Indirekte domæneadresering anvendes aldrig i følgende til fælde: - Instruktionsadresser.
- Adresser for PSW'er, afbrydelseskoder og tilhørende infor mation, som anvendes under en afbrydelse.
15 - Adresser, som er tilføjet af udstyret som en forskydning af en basisadresse. I dette tilfælde bestemmer basisadressen arten af adressering.
- Dannelsen af operandadresser, som ikke anvendes som adresser .
20 Følgende tabel viser registerfelterne for hvert instruktionsformat, som anfører DABR'er til adressering af hver operand i styretilstanden, når de tilsvarende system GPR'er er aktive som DABR'er.
DK 171728 Bl 15
Basisregistre anvendt som DABR'er: DABR adr. for:
Instrk. Opd Opd
Type *** instruktions format dtdidi 1 2 RR / OPC /R1/R2/ Ri R2 +--H---+--+--+ RR / OPC /M1/R2/ - R2 H---H---+--+--+ RR / OPC / I / - H---+—+--+--+—+—+—+— + RS / OPC /RI/**/B2/ D2 / - B2 +—+—+—+—+—+—+—+— + RX / OPC /**/X2/B2/ D2 / - B2 +—+—+—+—+—+—+—+—+ S / OPC /B2/ D2 / - B2 +—+—+—+—+—+—+---h—+ SI / OPC / 12 /Bl/ Dl / Bl - +—+—+—+—+—+—+—+—+—+—+—+—+ SS / OPC / ** /Bl/ Dl /B2/ D2 / Bl B2 H----1---+--H---+--H H + + + H H + SSE/ OPC /Bl/ Dl /B2/ D2 / Bl B2 H---+—+—+—+—+—+—+—+—+—+—+—+ RRE/ OPC / / /R1/R2/ - R2 H---+—+—+—+—+—+—+—+ E. Domænetilaanasstvringer
Domænetilgangsstyringer aktiverer indirekte domæneadressering for hver 1ageroperand. To bit er defineret til at tillade to 5 område af DABR'er. Dette kan imidlertid generaliseres til at tillade én styrebit for hver DABR'er.
Hver styrebit kan sættes uafhængigt, afhængig af om der skal foretages en indirekte domæneadressering for et givet sæt af DABR'er. Domænetilgangsstyre bit'ne defineres i styreordet af 10 instruktionen, som skal emuleres, og kan manipuleres med styre tilstandsmaskineinstruktioner.
I den hurtige hjælpetilstand FAM. overses felter af den l<a- DK 171728 B1 16 bende PSW. Programudførslen styres af en effektiv PSW. Operationen er i EC-tilstanden og overvågningstilstanden med mange afbrydelser, som udkobles. For systemlagertilgange anvendes 31 bit reel adressering med registrering af program-5 hændelser (PER, program event recording) frakoblet. PSW-nøg-len for systemlagertilgange (systemnøglen) sættes med en ma-krokode, når et domæne aktiveres.
Den effektive PSW, som styrer domænelagertilgange i FAM kaldes domæne CPU-tilstand (DCPUS, Domain CPU Status). DCPUS i 10 FAM er den PSW, som var i kraft for den instruktion som skal emuleres. Denne PSW fanges som en del af FAM-indgangsrutinen og placeres i et systemregister. Den specificerer brugerstyretilstanden og styringerne: - PER for domænehenvisninger, som styres af styreregistrene 15 9, 10 og 11.
- Domæneadresseringen med relation til - dynamisk adresseoversættelse - adresseringstilstand - domænenøglen 20 - adresserumsstyring.
I FAM kan DCPUS modificeres ved brug af en styretilstands defineret instruktion. Dette er ækvivalent med at indlæse en ny PSW:
Domænetilgangsstyringer tillader manipulation af forskellige 25 bits i den PSW, som er knyttet til domænelagertilgange. Faciliteten kaldes domænetilgangsstyringer. Domænetilgangsstyringer (Domain Access Controls) specificerer tilsidesættelser af visse felter af DCPUS og/eller styreregistre, som ellers ville styre domæneadresseringen ud over de bit som er til-30 vejebragt for at styre aktiveringen af domænetilgangsbasisre-gistrene (DABR'er), som anvendes til indirekte domæneadressering. Dette tillader emuleringsrutinen muligheden for at manipulere disse funktioner, uden at modificere domæne PSW. Dette forbedrer virkningsgraden af emuleringsrutinen, ved at DK 171728 B1 17 reducere antallet af instruktioner, som kræves til emulering.
Domænetilgangsstyringer er indeholdt i domænetilgangsstyre- registret DACR. DACR'en indlæses fra styreordet af den emule- rede instruktion på FAM-indgangen og kan modificeres i emule-5 ringsrutinen af styretilstandsmaskininstruktion.
Domænetilaanasstvreformat: / /////////////////// /S/P/R/T/A/C/D/L/K/ 0 16 20 24 28 31 10 / = Reserveret S = Sekundære adressetilsidesættelse: brug sekundær virtuel adressering på domæneadresseringslagerhenvisninger, som udsættes for oversættelse (tilsidesætter fungerende DCPUS S bit - behandles som 1).
15 Indstillingen af denne styring ignoreres, hvis den fun gerende DCPUS specificerede BS-tilstand.
P = Domæne primær adressetilsidesættelse: brug primær virtuel adresse på domæneadresseringslagerhenvisninger, som udsættes for oversættelse (tilsidesætter fungerende 20 DCPUS S bit - behandles som 0).
Indstillingen af denne styring ignoreres, hvis den fun gerende DCPUS specificerer BS-tilstand.
R = Domæne PER-lager ændringstilsidesættese: undertrykker PER-lager-ændrings-hændelsesprøver på domæneadresse 25 ringslagerreferencer (tilsidesætter CR9 bit 2 - behand les som 0).
T = Domæneoversættelses-tilsidesættelse: undertrykker over sættelse af logiske domæneadresseringslagerreferencer (tilsidesætter fungerende DCPUS T bit - behandles som 30 0) .
DK 171728 B1 18 A = Domæneadresseringstilstands-tilsidesættelse: anvender 31-bit fungerende adressedannelsesregler som domæneadresser. (Tilsidesætter fungerende DCPUS (A) - behandles som en). Denne styring træder i kraft uanset om den 5 fungerende DCPUS specificerer BC-tilstand eller EC-til- stand.
C = DABR-aktiveringstyring 1: aktiver implicit domæneadressering for system GPR'er 4-7 som DABR'er.
D = DABR-aktiveringstyring 2: aktiver implicit domæneadres-10 sering for system GPR'er 2-3 som DABR'er.
Bemærk: Bit'ne C og D kan begge være en. I såfald er begge designerede sæt af system GPR'er aktive som DABR' er.
15 L = Tilsidesættelse af domæne lavadressebeskyttelse: undertryk lavadressebeskyttelse på domæneadresserende lagerreferencer (tilsidesætter CRO bit 3 - behandles som 0).
K = Tilsidesættelse af domænenøglebeskyttelse: undertryk nøglebeskyttelse på domæneadresserende lagerreferencer 20 (tilsidesætter fungerende DCPUS nøglefelt, bit 8-11 - behandles som nuller).
Den følgende tabel sammenfatter virkninger af domænetilgangs- styringerne: DK 171728 B1 19 +j +1 +* I O 0) 4)
0» i— OTI- ΙΟ X) OTOV
8)1.00 V>> «
E *<0 OT t_ -i- ·<- OT
O C i— OTO Ό V -M >— Ό ·>“ O M <0 ®
* +> 1. W <0 <V V
ΚΟΟΌΟ Ή CJ) +J-P
Q-Ct-Ot. T3 C t-H CM Ό >
•r- O TI L 3 3 3 -V
Oli- l-eOUH-V-Ml-W
C O Ο» 8 O* XI M8)^0+J
•r- OT C Ό t- (D Η- -M OT W S- Ό Ό c ot ·>- c tu _i ro ·>- roos ro t. 3 ε · xi o: ar ·— t- t_i_>>ii -i- a: i— i m m a. o> x> •fO+» o t- UJ < «- < < < O Ί- > ro ot to a. cl a η a o —i z« c.
o •L>
•P
8
OT
o ot tn i— < Ό ·
•i- OT OT M OT OT OT
OT 3 3 · 3) =J => i— a. a. σ> a. a. ι · a.
•r· o u a: u o a
η- o q a a Q Q
o tn o o ot +-> ro
OT O 8) O
r— O) -L> OTOT
row -w o >—
4J t- 8) TJ O
4j ro o ot ··“ *· « +> OTO OT *» (Λ -Η ι— Ό <— R) ro tu ro ··- ·«- ot
Ό OT +j OT +* O
•r- ro +j r— oto OTO 8) ·<“ O -r-
r— -r- OT -W OT OT
*·— « O OT r- >“* M r— Ό TJ O -f-
•r- « -f- C -H -U
I +iOTOTro»HC'J+-'OT
i— r— 4J >i O
o i ro->-OTOio>^OT
Ot -M +» r— C C OT >— OT O +* I -r- -Γ- -f- ro o
rowMOT-MULn-M t_ OT OT O W >» > I -M
-OOOOTO)-M-l->ro>
roC-"Of— COTOTOTJC TJ ·<- Φ -r- w OT OT W
l. ro ot v t_ σι σ> ro ro
8) r— ro c c t_ -Q
Ό t- ··“ 85 OT *“ ·Γ· TJ I
CR)VOTWC_l_(0O
3 ε l. ro o ro i r~ -r- cc oi->>> cn ro t-iu > ό t -r ro q ot cl a. o ro +j -u i— c ££ X.
*··*·'·<< * * ro o ro o ro ro ro c c c c c » * c c »RSMRjMararMRi εεεεεοαοαεε ooooo<<oo
OaOQQQQOCJ
ι ι ι ι ι ι ι ι i tncLcc)-<OQ_Js«: DK 171728 B1 20 1. tilsidesættelsesstyringerne arbejder som følger: når en bit er aktiv, gøres den tilsvarende tilsidesættelse aktiv for al domæneadressering af CPU'en i FAM. Når en bit inaktiv, undlades den tilsvarende tilsidesættelseshandling 5 og domæneadresseringen foregår som sædvanlig (styret af DCPUS, styreregistre o.s.v.).
2. DABR aktiveringstyringer styrer brugen af DABR'er ved be stemmeisen af om domæneadresseringsregler gælder. De ar bejder som følger: 10 hvis en bit inaktiv, arbejder det tilhørende sæt af system GPR'er identisk med det andet system af GPR'er. Hvis en bit er aktiv, er det tilhørende sæt af system GPR'er ak tiv som DABR'er. Anvendelse af én af disse systemers GPR'er som en basis for logisk eller reel adressering med-15 fører, at domæneadresseringsregler vil blive fulgt.
II. Indirekte domæneadresserincrsrealiserina
Det logiske diagram for det logiske kredsløb 335 for domænelagertilgang er vist i fig. 4. Det logiske kredsløb fastlægger om den løbende lagertilgang er en domænelagertilgang 20 (DSA).
Instruktionen OPCODE-felt DØ (DØ, Dl, D" for 2 byte OP-koder) dekodes i et logisk kredsløb 432 for instruktionsformattyper.
Kun RR, RRE og SS-formater dekodes som angivet af signaler på linier henholdsvis 44 0, 441 og 442. Alle andre formater har 25 deres DABR-felt i den samme position. Dekodning af instruktioner tilvejebringes også for at fastlægge, hvornår lagertilgangen involverer den første lageroperand. Dette er vigtigt i tilfælde, såsom SS-formatinstruktioner, hvor der er 2 lageroperander, der hver har sin egen entydige DABR. Visse 30 RR-formatinstruktioner har også to lageroperander. Udtrykket "0AR1-tilgang" på linien 444 angiver, at den første lageroperand er tilgængelig. D.v.s. Bl for SS-formater og Ri for RR-formater. Eftersom alle andre formater kun har en lager- DK 171728 B1 21 operand gælder 0AR1-tilgangen, enten Bl eller B2-operander.
Tre andre funktionelle signaler frembringes af det logiske instruktionsdekodekredsløb 432: 1) DFIST på en linie 443 - angiver den første strøm eller 5 sekvens af en instruktionsalgoritme.
2) USER på linie 445 - angiver at processoren er i brugertilstanden (d.v.s. ikke FAM eller styretilstand).
3) DISABLE DSA på linien 44 6 - er en kode som forbyder domænelagertilgang for visse instruktionstyper, såsom forgre- 10 ningsinstruktioner som kræver systemadresser.
Domænetilgang styreregister bit 2 8 på en linie 44 7 og 2 9 på linien 448 aktiverer indirekte domæneadressering for system GPR'er 4-7 og 2-3 som DABR'er.
Fig. 4 viser den logiske realisering af domænelagertilgangs-15 logik med referencenummer 343 i fig. 3. Instruktionsplatformen er brudt ned i flere felter, D0-D4 som beskrevet ovenfor. Afhængig af instruktionens format, anvendes et specielt felt for at få adgang til en basisadresse fra et generelt register. Således kan enten Dl, D2 eller D3-felterne anvendes til 20 at specificere et generelt register. Domænelagertilgangslogikken indbefatter således organer 449 til at sammenligne Dl-feltet for at bestemme om det specificerer et register inden for området 4-7 og et organ 450 til at bestemme om Dl-feltet ligger inden for området 2-3. Disse er forbundnet til 25 at modtage indholdet af Dl-feltet gennem ledningen 451.
Indholdet af D2-feltet tilføres gennem en ledning 452 til organer 453 for at detektere om D2 falder inden for området 4-7 og til organer 450 for at bestemme om de to ligger i området 2-3.
30 D3-feltet tilføres på en ledning 455 til et organ 456 for at bestemme om D3 falder i et område fra 4-7 og til et organ 457 for at bestemme om D3 ligger i et område fra 2-3. Det er DK 171728 B1 22 klart, at området af de generelle registre, der anvendes for domænetilgangsbasisregistrene er arbitære og kan vælges i et hvert område som passer brugeren.
Afhængig af bit'ne 28 og 29 fra domænetilgangsstyreregister 5 419 er enten området 4-7 eller 2-3 eller begge specificeret som domæneadressebasisregisterområde. OG-porten 458 modtager således som udgangssignaler bit 28 fra en ledning 447 og udgangssignalet af komparatoren 449 for at frembringe et sandt udgangssignal, når et domæneadressebasisregister fra området 10 4-7 er blevet specificeret af feltet Dl. OG-porten 459 mod tager som indgangssignaler, udgangssignaler fra komparatoren 450 og bit 29 på ledningen 448 fra domænet ilgangsstyreregistret for at frembringe et sandt udgangssignal, når en domæneadressebasisregister i området 2-3 specificeres af feltet 15 Dl. På tilsvarende måde, modtager OG-porten 460, som indgange udgangen for komparatoren 453 og bit 28 fra linien 447 og OG-porten 462 modtager udgangen af komparator 456 og bit 28 på linie 447 fra domænetilgangsstyreregistret. Udgangene af OG-portene 460 og 462 bliver sande, når et domæneadresseba-20 sisregister i området 4-7 specificeres af henholdsvis felterne D2 eller D3.
OG-portene 461 og 463 modtager som indgange udgangen af kom-paratorernen 454 henholdsvis 456, såvel som bit 29 fra do-mænetilgangsstyrereigstret på linien 448. Udgangene af 25 OG-portene 461 og 463 bliver sande, når et domæneadressebasisregister i område 2-3 specificeres i felterne henholdsvis D2 eller D3.
Udgangen fra OG-portene 458 og 459 tilføres en ledning 471 for angive en domænetilgang fra et instruktionsformat, som 30 specificerer et domæneadressebasisregister i feltet Dl. Udgangen fra OG-portene 461 og 460 tilføres en ledning 472 for at angive en domæneadgang ved et instruktionsformat, som specificerer et domæneadressebasisregister for feltet D2. Udgangene fra OG-portene 462 og 463 føres ud på en ledning 473 for DK 171728 B1 23 at angive en domænelageradgang fra et instruktionsformat, som specificerer et domæneadressebasisregister på feltet D3. OG-porten 464 modtager som indgangssignaler RR-formatsignalet på en ledning 440, Dl-felt domæneadgangssignalet på en led-5 ning 471 og OAR1-adgangssignalet (OAR1) på en ledning 444, som frembringer et sandt udgangssignal for en domæneadgang på den første operand i et RR-format på en ledning 474.
OG-porten 465 modtager som indgangssignaler RR-formatsignalet på linien 440, det inverterede OAR1-adgangssignal på en led- 10 ning 444, og D2-felt domæneadgangssignalet på en ledning 472. Porten 465 frembringer et sandt udgangssignal på ledningen 474 for en RR-formatinstruktion, som specificerer en domæneadgang fra D2-feltet som, ikke er den første oprandadgang, som angivet af signalet på ledningen 444.
15 OG-porten 466 frembringer et sandt udgangssignal på en ledning 474, når en instruktion i RRE-format tilføres for den første adgang fra operandadresseregistret for en domæneadresse fra feltet D2, og forudsat at den ikke er den første instruktion, der tilfører porten.
20 Udgangssignalet fra OG-porten 467 frembringer et sandt udgangssignal for instruktioner i SS-formatet under den første strøm af en adresse fra instruktionen, når der anmodes om en domæneadgang fra feltet D3. Udgangssignalet af OG-porten 467 tilføres på en ledning 475.
25 OG-porten 468 frembringer et sandt udgangssignal, når en instruktion i SS-formatet tilføres, og forudsat at det ikke er den første adresse og ikke den første strøm for et domænea-dresseregister, som specificeres fra feltet D3.
Udgangssignalet fra OG-porten 469 gøres gældende på ledningen 30 474 for instruktioner i SS-formatet, for en første adresse fra operandadresseregistret, når det ikke er den første strøm, og når et signal på ledningen 476 er sandt.
DK 171728 B1 24
Udgangssignalet fra OG-porten 470 hævder et sandt signal på ledningen 474 for alle instruktionsformater andre end RR, RRE og SS under den første OAR1-adgang, når et domæneadresseba-sisregister specificeres fra feltet D3.
5 Udgangssignalet fra OG-porten 467 tilføres på en ledning 475 til en domænetrigger lås (latch) 477, som tilfører et signal på en ledning 476 til at styre udgangssignalet fra OG-porten 469.
Signalerne på ledningen 474 og 475 tilføres til en ELLER-port 10 4 78, som frembringer et udgangssignal på en ledning 479. En OG-port 480 danner et domænelageradgangsstyresignal på en ledning 499, som en reaktion på signalet på ledningen 479, det inverse af brugersignalet på ledningen 445 og det inverse af spærresignalet DSA på ledningen 446.
15 Konstruktionsligningen for DSA er som følger: RR FORMAT & ·) DISABLE DSA £ -jUSER & (OAR1 ACCESS & ((01=4:7) £ DACR <28> +(01=2:3) £ DACR <29>] + -|OARl ACCESS £ ((02=4:7) £ DACR <28> + (D2=2:3) & DACR <29>J) +RRE FORMAT fi η DISABLE DSA £ η USER & -|DFIST £ OARl ACCESS ((D2=4:7) & DACR <28>+(D2=2:3) £ DACR <29>] +SS FORMAT £ η DISABLE DSA fi -jUSER £ (DFIST £ OARl ACCESS S ((D3=4:7) 6 DACR <28>+(D3=2:3) £ DACR <29>] + TDFIST S -jOARI ACCESS £ ((D3=4:7) S DACR <28>+(D3=2:3) S DACR <29>] + ηDFIST & OARl ACCESS & DOMAIN TGR) + η RR FORMAT £ -j RRE FORMAT £ -[ SS FORMAT £ -j DISABLE DSA £ -jUSER £ OARl ACCESS £ ((D3=4:7) £ DACR <28> + (D3=2:3) £ DACR <29>1 DK 171728 B1 25 "|user" udtrykket tillader domæneadressering for styretilstanden specielt i FAM.
For RR-formater anvender den første lageroperand (0AR1 ACCESS) Rl-feltet af instruktionen som en DABR. Dette felt er 5 indeholdt i Dl-instruktionsplatform-feltet. Udtrykket "Dl=4:7" angiver, at Rl-feltet har en værdi mellem 4 og 7, og den behandles med en OG-operator sammen med DACR bit 28 for at aktivere en domænelagertilgang. På tilsvarende måde angiver udtrykket "Dl=2:3", at Rl-feltet har en værdi på 2 10 eller 3 og den behandles med en OG-operator sammen med DACR bit 29 til aktivering af DSA.
For at aktivere en domænelagertilgang for den anden lagerope-rant (S0AR1 ACCESS) for en RR-formatinstruktion, anvendes R2-adressen (i D2-instruktionsplatformfeltet) som en DABR med 15 D2=4:7 udtrykker udsat for en OG-operation sammen DACR bit 28 eller D2-2:3 udtrykket udsat for en OG-operation sammen med DACR bit 29.
For en RRE-formatinstruktion flyttes R2-feltet til D2-in-struktionplatformfeltet i den første instruktonscyklus 20 (DFIST). Derfor kan ingen lageranmodninger for RRE-formater udstedes i denne cyklus. Efter den første cyklus (SDFIST) vil lageroperanttilgangen, som vil blive angivet med "OARl ACCESS" anvende D2-feltet som en DABR. Derfor vil D2=4:7 og DACR bit 28 eller D2=2:3 og DACR bit 29 medføre domænelager-25 tilgang.
For SS-formatinstruktioner, kan der opnås adgang til den første lageroperant (OAR1 ACCESS) i den første instruktionsstrøm (DFIST). βΐ-feltet er indeholdt i D3-feltet for instruktionsplatformen. Derfor behandles D3=4:7 med en OG-operator sammen 30 med DACR bit 28 eller D3=2:3 behandles med OG-operator sammen med DACR bit 29 og at aktivere domænelagertilgangen.
Ved afslutningen af den første instruktionsstrøm, opdateres DK 171728 B1 26 D3-feltet med B2-data og Bl-datafeltet går tabt. En trigger kaldet domænetriggeren indstilles i denne cyklus, hvis domænelagertilgangstilstanden er aktiv. Domænetriggeren sættes af: 5 DFIST & ^ USER & SS FORMAT & | (D3=4:7) & DACR<28> + (D3=2:3) & DACR<29>| Når som helst en anden lagertilgang for den første lagertilgang forekommer (0AR1 ACCESS), vil resultatet være en domænelagertilgang, hvis domænetriggeren er slået til. For den an-10 den operant ("jOARl ACCESS) , flyttes B2-feltet ind i D3 af instruktionsplatformen. Efter den første instruktionsstrøm (] DFIST), angives en domænelagertilgang, når D3=4:7 og DACR bit 28 eller D3=2:3 og DACR bit 29 er aktive.
For alle andre instruktionsformater, eksisterer kun én lager-15 operant og det kan være enten Bl- eller B2-feltet af instruktionen. Det vil ligge i D3-feltet af instruktionsplatformen-For disse formater (|RR FORMAT & | RRE FORMAT & | SS FORMAT) aktiveres domænelagertilgangen af D3=4:7 og DACR bit 28 eller D3=2 :3 og DACR bit 29.
20 III. Realisering af domænetilgangsstvrina
Domænetilgangsstyringerne manipulerer forskellige styresignaler til lagerenheden. Styrebit'ne indføres i domænetilgangs-styreregistret (DACR) fra styreordet i den instruktion, som skal oversættes ved begyndelsen af FAM-indgangsrutinen. Regi-25 stret kan modificeres af "Load DACR"-instruktionen i FAM. Styringerne undtrykker grundlæggende den domæne-cpu-tiistand (DCPUS), som er den domæne- eller bruger-PSW, der er i funktion ved begyndelsen af FAM-indgangen. DCPUS indføres i systemregistret 6. De tilgangssignaler, som domænetilgangssty-30 ringerne støder sammen med, er følgende: - system (domæne) - virtuel (real) DK 171728 B1 27 - adressetilstand - adresserum - spær nøglekontroller - spær lav adressebeskyttelse
5 - gem PER
De logiske ligninger, som præsenteres med hver signal, er et undersæt af den fulde logisk ligning og har kun relation til domænelagertilgangsafsnittet af logikken. Der er specielle undtagelsestilfælde i nogle af ligningerne, angivet af et 10 "nød - "(på engelsk: "Force_") . Når dette udtryk er i fun ktion kan det tilsidesætte DAC-tilsidesættelserne. Domænetil-gangsstyrelogikken er vist i fig. 5.
Som vist i fig. 5, tilfører instruktionsplatformen 501 et afsnit af instruktionen gennem en ledning 527 til instruktions-15 dekode kredsløbet 532 (som svarer til instruktionsdekode kredsløbet 322 i fig. 3) . Instruktionsdekode kredsløbet 532 frembringer et nødsystemsignal, et nødbrugersignal, et nødre-alsignal og et nød primærsignal gennem en ledning 533, som tilføres til instruktionsenheden/lagerenhedsgrænsefladelogik-20 ken 534 (som svarer til blok 334 i fig. 3).
Domæne-cpu-statusregistret 520 tilfører endvidere styresignaler gennem en ledning 540 til grænsefladelogikken 534. Domæ-netilgangsstyreregistret 519 tilføres styresignaler gennem en ledning 541 til grænsefladelogikken 534. Domænelagertilgangs-25 detektionskredsløbet 535 frembringer domænelagertilgangssignaler (DSA) på en ledning 538, som tilføres det logiske grænsefladekredsløb 534.
Udgangssignalet fra det logiske grænsefladekredsløb indbefatter et systemtilgangssignal på en ledning 543, det virtuelle 30 signal på en ledning 544, adressetilstandssignalet på en ledning 542, det sekundære adresserumsignal på en ledning 545, signalet for afspærring af nøglekontrol på ledningen 546 og spærresignalet for lav adressebeskyttelse på ledning 547 samt DK 171728 B1 28 PER-signalet, hvor PER står for program event recording, d.v.s. registrering af programhændelser, på en ledning 520.
OG-portene 510 og 511 udgør den logik, der frembringer systemtilgangssignalet på en ledning 543.
5 OG-porten 510 modtager som indgangsignaler det inverterede brugersignal, det inverterede DSA og det inverterede nødbru-gersignal.
OG-porten 511 modtager som indgangsignaler det inverterede nødbrugersignal, og nødsystemsignalet. Systemtilgangssignalet 10 på ledningen 543, er derfor sandt, når nødsystemsignalet er sandt og nødbrugersignalet ikke er sandt. Når nødbrugersignalet ikke er sandt, hvis domænelagertilgangssignalet ikke er sandt og brugersignalet ikke er sandt, hævdes systemtilgangs-signalet.
15 Det virtuelle signal på en ledning 544 tilføres på indgangen af OG-porten 512. Indgangssignalet på OG-porten 512 omfatter det inverterede brugersignal, domænelagertilgangssignalet, domæne-DPU-status bit-T, det inverterede domænetilgangsstyre-register bit-T og det inverterede nødreelsignal.
20 Adressetilstandssignalet på ledningen 542 angiver en 31 bitadresse, når udgangssignalet fra OG-porten 513 eller OG-porten 514 er sandt. Indgangssignalet til OG-porten 513 indbefatter DSA-signalet, bit-A fra domæne-CPU-statussignalet og det inverterede af brugersignalet. Udgangssignalet fra 25 OG-porten 514 indbefatter DSA-signalet, domænetilgangsstyre-register bit-A og det inverterede brugersignal.
Det sekundære adressebasissignal på ledningen 545 er sandt, når udgangsignalerne fra OG-porten 515 eller OG-porten 516 er sande. Indgangssignalerne til OG-porten 515 indbefatter bit-E 30 af domæne-CPU-statusregistret, bit-S af domænetilgangstyreregistret, domænelagertilgangssignalet, det inverterede primære DK 171728 Bl 29 nødsignal og det inverterede brugersignal. Indgangene til 0G-porten 516 indbefatter den inverteret brugersignal, det inverterede primære nødsignal og domænelagertilgangssignalet. Yderligere indgangssignaler indbefatter det inverterede bit-P 5 af domæne-CPU-statussignalet og det inverterede af udgangssignalet fra OG-porten 521. Indgangssignalet til OG-portaen indbefatter bit-E af domæne-CPU-statusregistret og bit-F af domænetilgangsstyreregistret.
Signalet for afspærring af nøglekontrol på ledningen 546 dan-10 nes på udgangen af OG-porten 517. Indgangssignalet til OG-porten 517 indbefatter det inverteret brugersignal, domænelagertilgangssignalet og bit-K af domænetilgangsstyreregi-stret.
Signalet for afspærring af lav adressebeskyttelse på lednin-15 gen 547 tilføres fra udgangen OG-porten 518. Indgangssignalet til OG-porten 518 indbefatter det invereteret brugersignal, domænelagertilgangssignalet, og bit-L i domænetilgangsstyre-registret.
Signalet for registrering af programhændelser på ledningen 20 520 hævdes fra udgangen af OG-porten 519. Indgangssignalet til OG-porten 519 indbefatter det inverteret brugersignal, domænelagertilgangssignalet, bit-R fra domæne-CPU-statusregistret og den inverterede bit-R fra domænetilgangstyringsregistret .
25 De lagerenhedsstyresignaler, som er under påvirkning af DACR-og DCPUS-registrene kan summeres som følger: A. Svstemtilgang
Dette signal på ledningen 543 angiver en tilgang til systema-dresserummet med systemadresser. Signalet skal blokeres (dis-30 abled) for domænelagertilgange.
DK 171728 B1 30 system = Huser & Idsa & force system] & '| force user I FAM, vil DSA-signalet blokere systemtilgange. Udtrykket "force system" også kaldet "nødsystem", som specificerer en krævet systemtilgang, tilsidesætter DSA-udtrykket, og udtryk-5 ket "force user" også kaldet "nødbruger" vil blokere systemtilgangen. Udtrykkede med "force" eller "nød" udelukker gensidigt hinanden.
B. Virtuel tilgang
Dette signal på ledningen 544 angiver, at den nuværende la-10 gertilgang vil kræve en dynamisk adresseforskydning.
VIRTUEL = 1 USER & DSA & DCPUS-T & “|DACR-T &
] FORCE REAL
For domænelagertilgang i FAM er det virtuelle signal under kontrol af DCPUS-T bit. DACR-T bit vil imidlertid tilsidesæt-15 te DCPUS-T bit for at blokere virtuelle tilgange. Udtrykket "force real" vil også blokere virtuelle tilgange for specifikke operander, som kræves for at få adgang til det reelle lager.
C. Adressetilstandstilgang 20 Når den er aktiv, angiver denne bit på ledningen 542 en 31 bit lageradresse. Ellers antyder den en 24 bit adresse.
ADDRESSE MODE = ]USER & DAS & [DCPUS-A + DACP-A]
For domænelagertilgange i FAM, er 31 bit adressering aktiv, hvis enten EDCPUS-A bit eller DACR-A bit er aktiv.
25 D. Sekundært adresserum
Dette signal på ledningen 545 angiver, når det er aktivt, se DK 171728 B1 31 kundært adresserum, ellers antyder det primære adresserum.
ADDRESSE SPACE = ~] USER & DSA & *] FORCE PRIMARY
(] [DACR-P & DCPUS-EC] & "|DCPUS-P + DACR-S & DCPUS-EC)
For domænelagertilgange i FAM, er adresserumssignalet aktivt, 5 når DACR-S bit er aktiv, mens domænet er i EC-tilstanden (DCPUS-EC), med mindre operandlagertilgangen kræver en primære rumtilgang for den givne instruktion (force primary) . Adresserummet vil også være aktivt, hvis DCPUS-P bit er afbrudt, og enten DACR-P bit eller DCPUS-EC bit er afbrudt, 10 igen med mindre operandlagertilgangen kræver en primære rumtilgang.
E. Blokering af nøqlekontrol Når dette signal er aktivt på ledningen 546, hindrer det kontrol af beskyttelsesnøglen i lagerenheden.
15 INHIBIT KEY CHECK = ]USER & DSA & DACR-K
For domænelagertilgange i FAM, blokeres kontrollen af beskyttelsesnøglen, når DACR-K biten er aktiv.
F. Blokering af lav adressebeskvttelse Når dette signal på ledningen 547 er aktivt, blokeres lav 20 adressebeskyttelse i lagerenheden.
INHIBIT LAP = "jUSER & DSA & DACR-L
For domænelagertilgange i FAM, blokeres kontrollen af lav adressebeskyttelse, når DACR-L biten er aktiv.
DK 171728 B1 32 G. Laaerprogramhændelsesreqistrerinq (PER)
Dette signal på ledningen 520 er ikke et grænsefladesignal til lagerenheden, men det støder sammen med domænelagertilgange i FAM. De eneste lager-PER-hændelser, som kan forekomme 5 i FAM, er for domænelagertilgange, eftersom PER er blokeret for systemadresser.
ENABLE STORE PER = ]USER & DSA & DCPUS-R & ]DACR-R
For domænelagertilgange i FAM, er "store PER" under kontrol af DCPUS-R biten. DACR-R biten vil imidlertid tilsidesætte 10 DCPUS- R biten for at spærre "store PER".
IV Realisering af FAM-indgangsorøver
Fig. 6 og 7 illustrerer realiseringen af FAM-indgangsprøver som angivet af blok 223 fig. 2.
Instruktionsemuleringsrutiner skal undersøge om der er pro-15 gramundtagelser, som en del af udførslen af normale instruktioner også selv om programundtagelser sjælden forekommer.
For at forbedre virkningsgraden af disse rutiner, tilvejebringes ifølge opfindelsen en teknik, der bygger på det tekniske udstyr, som udfører afprøvningen af programundtagelser-20 ne som en del af emuleringsindgangsrutinen. Prøverne udgør et middel til at angive: - om en overvågningstilstand er specificeret af PSW under indgangen til FAM for emuleringsinstruktionen.
- om operander for den emulerede instruktion opfylder de 25 krævede linearitets prøver.
- om FAM-indgangstruktionen var målet for en udførelses instruktion.
Hver enkelt prøve udføres uafhængigt af resultatet af de øvrige prøver. Prøverne, som skal udføres, er specificeret i DK 171728 Bl 33
styreordet for den instruktion, som skal emuleres. Hvis en FAM-indgangsprøve svigter, sættes en dertil hørende bit i et specificeret generel anvendeligt systemregister (system GPR
3) og indgangstilstanden til FAM modificeres fra hurtig ind-5 gang til normal indgang. I dette tifælde, i stedet for at forgrene til starten af emuleringsrutinerne, vil FAM-ind-gangsrutinen forgrene sig til en almindelig rutine som et alternativ, som betjener programundtagelser og special tilfælde .
10 Som i fig. 6 modtager FAM indgangsafprøvningslogik kredsløbet 623 koderne fra styrelageret (control store) og disse koder angiver FAM-indgangsprøver på en ledning 624. Et overvågningstilstands afprøvningssignal tilføres til en overvågnings afprøvningstyring 630. Overvågningsafprøvningsstyringen læser 15 bit 15 af programstatus ordet for den instruktion, som skal emuleres, hvilket bestemmer om problemtilstanden er aktiveret. Hvis den er aktiveret, svigter afprøvningen, som angivet af et signal på en ledning 631. Signalet på ledningen 631 tilføres til lagerstyringsforgreningskredsløbet 214 for at 20 bevirke en forgrening til en normal indgang for at behandle undtagelsestilstanden.
FAM-indgangsprøverne udfører endvidere lineariseringsprøver (alignment tests). For instruktioner, som indbefatter en første operant, åbnes et logisk styrekredsløb 632 til linearise-25 ring af den første operant. I løbet af en strøm gennem in-struktionsledningen, når adressen for operanden når B-cyklus operantadresseregistret (204 i fig. 2), læses bitene 29 til 31 for at udføre lineariseringsprøver i blok 633 . Hvis den første operand ikke består lineariseringsprøven, udsendes et 30 signal på en ledning 631 for at tvinge lagerstyringen til en normal indgang. På lignende måde muliggøres lineariseringen af en anden operant gennem linearisering til en styring 634.
Når adressen på den anden operant når B-cyklus operandadres-seregistret, læses bitene 29 til 31, og prøven udføres i det 35 logiske kredsløb 635. Hvis prøven ikke bestås fastholdes sig- DK 171728 B1 34 nalet på ledningen 631.
Målet for aktivprøve udføres efter indgang i en hurtig emule-ring ved afprøvning af en aktivtilstandstrigger, som sættes under normal drift, når en instruktion underkastes en aktiv 5 instruktion, som er specificeret ifølge driftsprincipperne for IBM/370. Hvis aktiv tilstandstriggeren er aktiveret under indførslen, fastholdes signalet på ledningen 631 for at tvinge lagerstyringen til normal indførsel.
Fig. 7 viser den detaljerede udformning af det logiske af-10 prøvningskredsløb for de hurtige indgangsprøver, der er vist i fig. 6.
Instruktionsstyreordet fra styrelageret indeholder en overvågningsprøve aktiveringsbit 701, en 4-bit lineariseringsprø-vekode omfattende linearisering 1, bit 0 og linearisering 1, 15 bit 1, linearisering 2, bit 0 og linearisering 2, bit 1. Når OP-koden dekodes i en dekoder 704 i instruktionsenheden, sættes aktivtilstandstriggeren 705, når aktivinstruktionen fastholdes .
Det logiske kredsløb for overvågningsprøver omfatter en OG-20 port 706, som modtager som indgangssignaler overvågningsprøve aktiveringsbiten fra styreoordet 701 og bit 15 fra programstatusordet. Hvis begge hævdes, falder overvågningsprøven negativt ud, hvilket angives med et signal på en ledning 707.
Lineariseringsprøven modtager som indgangssignaler linearise-25 ring 1, bit 0 og bit 1 fra blok 702 i styrelageret og linearisering 2, bit 0 og bit 1 fra blok 703 i styrelageret, som tilføres til en vælger 708. Vælgeren styres af det logiske lineariseringsstyrekredsløb, der vælger linearisering 1 sty-reord i strømmen af den første operandadresse og linearise-30 ring 2 styreord i strømmen af den anden operandadresse. Line-ariseringsprøve-styre-signalerne fra styrelageret dekodes i en dekoder 709, som specificeret i den efterfølgende tabel.
DK 171728 B1 35
Hvis værdien er 00, tilføres signalet på en ledning 710 til en OG-port 711. Udgangen fra OG-porten 711 angiver, at der ikke er nogen lineariseringsprøve, som skal udføres, så prøven er bestået.
5 Hvis værien af den valgte kode er 01, tilføres et signal på en ledning 712, som den ene indgang til en OG-port 713. Den anden indgang til OG-porten 713 er det inverterede af bit 31 i operandadresseregistret, og en kontrol udføres på halvords- linearisering.
10 Hvis den valgte værdi til dekoderen 709 er 10, tilføres et signal på en ledning 714 til den ene indgang til OG-port 715.
De andre indgangssignaler til OG-porten 715 omfatter bitene 30 og 31 fra operandadresseregistret. Udgangssignalet fra OG-porten 715 er resultatet af en kontrol af lineariseringen 15 af et helt ord.
Hvis værdien af den valgte kode er 11, hævdes et signal på en ledning 716 og tilføres som det ene indgangssignal til en OG-port 717. De andre indgangssignaler til OG-porten 717 omfatter bitene 29, 30 og 31 i operandadresseregistret. Der ud- 20 føres således en kontrol af lineariseringen af et dobbelt ord.
Hvis lineariseringsprøvens bestås som angivet af udgangssignalerne fra én af portene 711, 713, 715, 717 fastholdes et signal.
25 OG-portene 719, 720 og 721 er forbundet på udgangen for at indstille en trigger 722 ved fejlende lineariseringsprøver. Værdien af lineariseringsprøve-fejltriggeren tilføres på en linie 707 og angiver, at der har været fejl i lineariserings-prøverne. Indgangene til OG-porten 719 indbefatter et operand 30 1 pr øve s tyresignal, som angiver en prøve for den første ope rant fra lineariseringsprøvestyringen og den inverterede af signalet for bestået lineariseringsprøve fra en ledning 718.
DK 171728 B1 36
Indgangssignalerne til OG-porten 720 indeholder det inverterede signal for bestået lineariseringsprøve på ledning 718 og et operant 2 prøvestyresignal fra lineariseringsprøvestyrin-gen.
5 Indgangssignalerne til OG-proten 721 omfatter operant 2 prøvestyresignalet fra lineariseringsprøvestyringen og udgangssignalet fra lineariseringsprøve-fejltriggeren 722. Når udgangssignalet fra én af portene 719 til 721 er sandt, sættes lineariseringsprøve-fejltriggeren 722 (alignment test fail 10 trigger, d.v.s. et kredsløb der aktiveres, når linearise-ringsprøverne ikke beståes). Signaler på en ledning 707 tilføres til en eller -port 723, således at hvis én af prøvene ikke beståes, tilføres et signal til det logiske kredsløb for hurtig indgang (214 i fig. 2) for at spærre indgangen til den 15 hurtige emulering og kræve normal indgang.
Hvis en af prøverne ikke beståes, vil dette blive angivet ved at lagre en bit i et systemregister 724 til generelle formål.
A. OvervåaninasOrøve Når funktionen er valgt for en instruktion, og instruktionen 20 udføres i brugertilstanden, og hvis den løbende PSW er tilsluttet (problemtilstanden):
- der vil ske en normal indgang i stedet for hurtig indgang til FAM
- system GPR3 (1) sættes til en.
25 Overvågningsprøven aktiveres af en bit i styreordet for instruktionen, som skal emuleres. Denne bit behandles med en OG-operator med PSW-bit 15 (problemtilstanden) , som angiver,, at en privilegeret instruktion emuleres i problemtilstanden, og medfører, at overvågningsprøven svigter. En hurtig indgang 30 blokeres og normal indgang gøres mulig. En makrokode vil emulere instruktionen ifølge omgivelserne gennem den normale indgangsrutine, i stedet for at udføre emuerlingsinstruk- DK 171728 Bl 37 tionen. Makrokoden ved, at overvågningsprøven svigtede, eftersom udstyret/mikrokoden lagrede resultatet af overvågningsprøven i bit 1 af system GPR3.
B. Lineariserinqsprøve 5 En model kan give mulighed for lineariseringsprøver på specifikke operander i specifikke instruktioner. Hvis funktionen er til rådighed og er valgt for en instruktionsoperant, bestemmer en 2 bit-kode, som specificeres af styrelagerfelter, den form for lineariseringsprøve, som skal foretages på in-10 struktionsoperanderne. De mulige kodeværdier og prøveformer er som følger: Værdi Prøve / 00_/Ingen kontrol_/ 15 / 01_/Lineariseringskontrol af et halvt ord / / 10_/Lineariseringskontrol af et helt ord / / 11_/Lineariseringskontrol af et dobbelt ord /
Hvis en hurtig indgangsinstruktion ikke består line- ariseringsprøven: 20 - der vil ske en normal indgang i stedet for en hur tig indgang til FAM.
- system GPR3 (0) sættes til en.
Lineariseringsprøven for en eller to operander aktiveres af to bit pr. operand i styreordet for instruktionen, som emule-25 res. De korrekte aktiveringsbit vælges, når de tilhørende lavere ordens 3 bit af lageroperandadressen er til rådighed. Operand 1 lineariseringsprøven anvendes for alle instruktionsformater med undtagelse af RR- og SS-formater. Operand 2 lineariseringsprøven anvendes for den anden lageroperant af 30 RR- eller SS-formatinstruktioner, som skal emuleres. Den valgte 2-bit aktiveringskode dekodes og føres gennem en port sammen med den eller de tilhørende operandadresseregisterbit DK 171728 B1 38 (OAR), som skal afprøves. En ØØ-kode angiver ingen linearise-ringsprøve. En 01-kode vil afprøve operandadressebit 31 (OAR 31). Hvis den er et 1-tal, vil lineariseringsprøven svigte.
Et 10 vil afprøve operandadressebitene 30 og 31. Hvis begge 5 bit er et 1-tal vil lineariseringsprøven svigte. Endelig vil en 11-kode afprøve operandadressebitene 29, 30 og 31. Hvis en af disse bit er et 1-tal vil lineariseringsprøven svigte.
I tilfælde af instruktioner med to lageroperander, som emuleres, holdes resultaterne af den første prøve i en "linearise-10 ringsprøve svigt" trigger, mens den anden operandadresse afprøves (hvis aktiveret). Hvis en eller begge operander svigter lineariseringsprøven, vil den hurtige indgang blive blokeret, og der vil blive valgt en normal indgang. En makrokode vil emulere instruktionen i overensstemmelse med omgivelserne 15 gennem den normale indgangsrutine i stedet for at udføre instruktionen. Lineariseringsprøve svigt vil medføre, at bit 0 for system GPR3 sættes.
C. Målet for aktiv prøven (executive test) GPR3(2) vil blive sat til 1, hvis FAM-indgangsinstruktionen 20 var målet for en AKTIV INSTRUKTION. Hvis FAM-indgangs instruktionen ellers ville bevirke en hurtig indgang til FAM, ændres indgangstilstanden til normal.
Når makrokode emulerer en instruktion, skal den vide, om instruktionen er et mål for en aktiv instruktion. Under den 25 normale behandling af en aktiv instruktion, sætter udstyret en "aktiv tilstand" trigger, som angiver, at den pågældende instruktion er objekt for en aktiv order. Hvis denne trigger er aktiv under en FAM-indgang, vil en hurtig indgang blive blokeret, og normal indgang vil blive fulgt, og bit 2 i sy-30 stem GPR3 vil blive sat.

Claims (6)

1. Databehandlingsapparat, der arbejder under programstyring DK 171728 B1 40 i en første tilstand, som har et første domæne af faciliteter inden for apparatet, omfattende første domænelagerrum, eller i en anden tilstand, der har et andet domæne af faciliteter inden for apparatet, omfattende et andet domæne1agerrum, til 5 at behandle en række af instruktioner normalt i den første tilstand, idet rækken af instruktioner omfatter en instruktion, som resulterer i en forgrening til den anden tilstand for udførelse af et program af instruktioner i det andet domæne, kendetegnet ved, at det omfatter: 10 et instruktionsregister (301) , der er forbundet til at modtage instruktioner i den første og i den anden tilstand, og omfatter flere felter, hvoraf mindst et felt identificerer en position af adresseinformation for en operand, en dekodningsorgan (322), som reagerer på en instruktion i 15 den første tilstand for at dekode instruktionen for at danne en styrekode, hvilken styrekode omfatter et forgreningssignal og et domænetilgangsaktiveringssignal, et organ (214), der er forbundet til at modtage og reagere på forgreningssignaler for at forgrene programstyringen af 20 apparatet til den anden tilstand for at gå ind i instruktionsprogrammet i det andet domæne, grænsefladeorganer (335), som reagerer på domænetilgangsaktiveringssignalet og det ene felt i hver instruktion i instruktionsprogrammet for at danne et første 25 domænetilgangssignal, adresseringsorganer (326) i forbindelse med instruktionsregisteret for at tilføre en adresse til en operand, og lagerorganer (331), der er forbundet til at modtage det første domænetilgangssignal og adressen for at lagre operander 30 på positioner, der er identificeret af adresser fra det første og det andet domænelagerrum og omfatter et organ (353, 3 54) , der kan reagere på det første domæne tilgangs signal for at oversætte adressen til det første domæneadresserum under behandlingen af en instruktion i den anden tilstand.
1. At tilvejebringe hjælpemekanismer til udstyret, som udfører mange af emuleringsrutineprøvene, hvorved antallet af 15 aktive cykler for hver emuleringsrutine reduceres.
2. Apparat ifølge krav 1, kendetegnet ved, at positionen, som identificeres af det ene felt, er et generelt DK 171728 B1 41 systemregister (326), og at grænsefladeorganerne (335) til at frembringe det første domænetilgangssignal omfatter: organer (458-463) til at bestemme, om det generelle systemregister, der identificeres af det ene felt, falder inden for 5 et forudvalgt område af generelle registre (326) .
2. Ved at definere en s tyre teknik, som kan manipulere tilgange til programlageret for derved at reducere antallet af instruktioner, som er nødvendige for hver emuleringsrutine.
3. Apparat ifølge krav 1, kendetegnet ved, at den første tilstand er en brugertilstand, som har adgang til bru-gerdomænelagerplads (13, 14, 15), og den anden tilstand er en styretilstand, der har adgang til systemlagerplads (16).
3. At tilvejebringe en mekanisme til at lade enhver maskinin-20 struktion have muligheden for at skabe lagertilgange til programlager, såvel som emuleringslager, for derved at reducere antallet af instruktioner, som er nødvendige for hver emuleringsrutine . Opfindelsen er blevet beskrevet ud fra en specifik udførel-25 sesform. Det vil være klar for fagfolk, at den beskrevne udførelsesform kan varieres på flere måder, der falder inden for opfindelsens rammer, således som de defineres i de efterfølgende krav. Patentkrav 30 -------------------
4. Apparat ifølge krav 1, kendetegnet ved, at instruktionsprogrammet i det andet domæne emulerer udførelse af en instruktion i den første tilstand.
5. Apparat ifølge krav 1, kendetegnet ved, at apparatet omfatter organer til at danne et programstatusord 15 for at styre tilgange til lagerorganerne, og at styrekoden endvidere omfatter et domænetilgangsstyresignal, og apparatet yderligere indbefatter: domænetilgangsregisterorganer (219), forbundet til at modtage et domænetilgangsstyresignalet efter en forgrening til den 20 anden tilstand, for at holde domænetilgangsaktiveringssignalet og domænetilgangsstyresignalet under udførelsen af instruktionsprogrammet i den anden tilstand, domænestatusregisterorganer (221), forbundet til at modtage en tilstandsindikator fra programtilstandsordet for instruk-25 tionen i den første tilstand, som bevirker en forgrening til den anden tilstand, for at holde tilstandsindikatoren under udførslen af instruktionsprogrammet i den anden tilstand, og hvor grænsefladeorganerne (335) yderligere er under forbindelse med domænetilgangsstyreregistreringsorganerne (219), 30 domænetilstandsregistreringsorganerne (227) og lagerorganerne (331), for at frembringe domænetilgangsstyresignaler under udførelse af instruktionsprogrammet i den anden tilstand som svar på tilstandsindikatoren og domænetilgangsstyresignalet. DK 171728 B1 42
6. Apparat ifølge krav 1, kendetegnet ved, at styrekoden yderligere omfatter et forgreningsprøvesignal, og apparatet endvidere omfatter: organer (709), forbundet til at modtage forgreningsprøvesig-5 nalet, for at prøve, om der er programundtagelser efter en forgrening til den anden tilstand, og organer (723, 724), der kan reagere på en programundtagelse for at frembringe en forgrening til et alternativt instruktionsprogram. 10
DK537987A 1986-10-14 1987-10-14 Databehandlingsapparat DK171728B1 (da)

Applications Claiming Priority (2)

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

Publications (3)

Publication Number Publication Date
DK537987D0 DK537987D0 (da) 1987-10-14
DK537987A DK537987A (da) 1988-04-15
DK171728B1 true DK171728B1 (da) 1997-04-14

Family

ID=25440469

Family Applications (1)

Application Number Title Priority Date Filing Date
DK537987A DK171728B1 (da) 1986-10-14 1987-10-14 Databehandlingsapparat

Country Status (10)

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

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.
US5584042A (en) * 1993-06-01 1996-12-10 International Business Machines Corporation Dynamic I/O data address relocation facility
JPH06348584A (ja) * 1993-06-01 1994-12-22 Internatl Business Mach Corp <Ibm> データ処理システム
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 仮想計算機システム制御装置
AU571377B2 (en) * 1985-11-13 1988-04-14 Fujitsu Limited Main storage access control system

Also Published As

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

Similar Documents

Publication Publication Date Title
DK171728B1 (da) Databehandlingsapparat
US5210832A (en) Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle
US10768832B2 (en) Managing storage protection faults
US6009261A (en) Preprocessing of stored target routines for emulating incompatible instructions on a target processor
CA2024444C (en) Process using virtual addressing in a non-privileged instruction to control the copying of a page of data in or between multiple media
US5517651A (en) Method and apparatus for loading a segment register in a microprocessor capable of operating in multiple modes
US5317754A (en) Method and apparatus for enabling an interpretive execution subset
EP4020168A1 (en) Apparatus and method for secure instruction set execution, emulation, monitoring, and prevention
KR910001447B1 (ko) 가상계산기능 시스템용 주기억장치 억세스 제어시스템
EP0145960B1 (en) Selective guest system purge control
CN113448620A (zh) 用于对代码进行分区操作的指令的装置、方法和系统
KR20040101332A (ko) 구획된 보안을 위한 입/출력 허가 비트맵
CN111556996A (zh) 控制存储器访问中的守卫标签检查
Osisek et al. ESA/390 interpretive-execution architecture, foundation for VM/ESA
US5280592A (en) Domain interlock
KR20170100448A (ko) 데이터 스토리지
EP0171475B1 (en) Data processing system with logical processor facility
US6108761A (en) Method of and apparatus for saving time performing certain transfer instructions
CN111566628A (zh) 控制存储器访问中的守护标签检查
EP3408749B1 (en) Memory address translation management
CA1291271C (en) High performance instruction emulation in a large scale data processing system
US6795936B2 (en) Bus bridge resource access controller
US6233675B1 (en) Facility to allow fast execution of and, or, and test instructions
JPH06332803A (ja) 仮想計算機システムにおけるtlb制御方法
JPH0412861B2 (da)

Legal Events

Date Code Title Description
B1 Patent granted (law 1993)
PBP Patent lapsed