NL8800736A - Computersysteem en werkwijze met adressering onafhankelijk van de verwerkingswijze van de centrale verwerkingseenheid. - Google Patents

Computersysteem en werkwijze met adressering onafhankelijk van de verwerkingswijze van de centrale verwerkingseenheid. Download PDF

Info

Publication number
NL8800736A
NL8800736A NL8800736A NL8800736A NL8800736A NL 8800736 A NL8800736 A NL 8800736A NL 8800736 A NL8800736 A NL 8800736A NL 8800736 A NL8800736 A NL 8800736A NL 8800736 A NL8800736 A NL 8800736A
Authority
NL
Netherlands
Prior art keywords
memory
pointers
processing
computer system
processing mode
Prior art date
Application number
NL8800736A
Other languages
English (en)
Other versions
NL185634C (nl
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of NL8800736A publication Critical patent/NL8800736A/nl
Application granted granted Critical
Publication of NL185634C publication Critical patent/NL185634C/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Executing Machine-Instructions (AREA)
  • Storage Device Security (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)

Description

4
-V
International Business Machines Corporation Arinonk, New York, Verenigde Staten van Amerika.
Computersysteem en werkwijze met adressering onafhankelijk van de verwerkingswijze van de centrale verwerkingseenheid
De uitvinding heeft betrekking op een computersysteem dat gebruik maakt van een verwerkingseenheid met meer dan één adresseerverwerkings-wijze. Meer specifiek heeft de uitvinding betrekking op zo’n computersysteem dat het vermogen heeft om hetzelfde applicatieprogramma te laten 5 lopen in elk van een aantal adresseerverwerkingswijzen.
Microcomputers ("personal computers”) krijgen als eis opgelegd om steeds maar meer commplexe gegevensverwerkende taken uit te voeren terwijl ze geen achteruitgang in responssnelheid mogen ondergaan. Aan de andere kant moeten, om de meer ingewikkelde taken te kunnen uitvoeren, aanvullen-10 de eenheidsbesturende deelprogramma’s, netwerkprogramma’s, hostkoppelings-programraa's, sessiebeheersprogramma’s enz. worden geladen in de beschikbare geheugenruimte. De hoeveelheid ruimte die overblijft voor de toepassingsprogramma's van de gebruiker neemt op deze wijze af, waarbij men wordt gedwongen ongewenste afwegingen te maken tussen geheugen, prestatie 15 en functie.
Ten einde dit probleem te verhelpen, zijn er onlangs microverwer-kingseenheden beschikbaar geworden waarin de hoeveelheid adresseerbaar geheugen aanzienlijk is uitgebreid. Zo is, bij voorbeeld, voor de raicroverwerkingseenheid 8088/8086 van Intel Corporation (verderop zal een 20 microverwerkingseenheid voor het gemak worden vermeld als een CVE, d.i. de afkorting van centrale verwerkingseenheid) de hoeveelheid adresseerbaar geheugen ongeveer 1 megabyte (verderop afgekort tot MB), terwijl voor de nieuwere CVE 80286 ongeveer 16 MB geadresseerd kan worden.
De 80286 gebruikt echter twee verschillende, onverenigbare adresseer-25 verwerkingswijzen. De eerste verwerkingswijze, genaamd de "reële" verwerkingswijze, is exact dezelfde adresseerverwerkingswijze die wordt gebruikt in de CVE 8088/8086, en dientengevolge kunnen programma's geschreven voor een machine die gebruik maakt van de CVE 8088/8086, zoals de uitgebreide reeks programmatuur die is geschreven voor de IBM personal computer en 30 compatibelen, in de reële verwerkingswijze lopen, aangezien hetzelfde BIOS ("Basic Input-Output System", oftewel basis-invoer/uitvoer-systeem) recht- .8800736 BC9-87-003 ί Μ 2 streeks kan worden gebruikt. In de reële verwerkingswijze is echter de hoeveelheid adresseerbaar geheugen nog altijd beperkt tot ongeveer 1 MB, aangezien de adresseerverwerkingswijze in feite dezelfde is als voor de CVE 8088/8086.
5 De tweede verwerkingswijze, genaamd de "beschermde" verwerkingswijze, maakt gebruik van een geheel ander schema voor geheugenadressering, en kan met dit schema op z'n hoogst 16 MB geheugen adresseren. Het vroegere BIOS kan echter niet met succes worden gebruikt, omdat de adresseerverwerkingswijze duidelijk verschillend is, en derhalve zijn computers die gebruik 10 maken van de CVE 80286 niet in staat om gelijktijdig voordeel te putten uit de toename van de hoeveelheid beschikbaar geheugen in de beschermde verwerkingswijze en ook programmatuur te laten draaien die is geschreven voor de CVE 8088/8086.
Fig. 1 toont een geheugenoverzicht voor een typische toepassing voor 15 een microcomputer die gebruik maakt van een CVE 80286; hiermee wordt een voorbeeld getoond van hoe het geheugen georganiseerd kan zijn. Geheugen-adressen in het gebied van 0 kB (oftewel kilobytes) tot 40 kB worden opgepakt door het BIOS ("Basic Input-Output System" oftewel basis-invoer/ uitvoer-systeem) en door OS ("Operating System" oftewel besturingssysteem), 20 waarbij de meest bekende voorbeelden zijn PC DOS en het door Microsoft Corporation in de handel gebrachte MS DOS. De gebruiker krijgt de ruimte toegewezen van 40 kB tot 640 kB zowel voor de reële als voor de beschermde verwerkingswijze. De videobuffers nemen de ruimte van 640 kB tot 752 kB in beslag, en de ROM's (afkorting voor "Read-Only Memories", oftewel uitlees-25 geheugens) voor de eenheden en de planaire ROM's de ruimte van 752 kB tot 1 MB. Dit is al het geheugen dat met de reële verwerkingswijze kan worden geadresseerd. Met de beschermde verwerkingswijze is echter 15 MB aanvullende adresseerbare geheugenruimte voor de gebruiker beschikbaar.
Voor beter begrip van het door de uitvinding opgeloste probleem 30 worden nu de twee adresseerverwerkingswijzen meer gedetailleerd beschreven.
Zowel in de CVE's 8088/8086 als met de reële verwerkingswijze in de CVE 80286 wordt fysiek geheugen direct geadresseerd met 32-bits verwij-zers. Zoals getoond in fig. 2, is iedere 32-bits verwijzer samengesteld 35 uit een 16-bits verschuiving (de bits 0 - 15) en een 16-bits segment (de „8800736 BC9-87-003 3 bits 16 - 31). Het geheugen is verdeeld in segmenten van 64 kB, en ieder van de 16-bits segmentwaarden van de verwijzers correspondeert direct met één van deze segmenten van 64 kB in het geheugen. Dat betekent dat verwijzerssegment n, vermenigvuldigd met 2* (gelijkwaardig met het 5 verschuiven van één hexadecimale positie), rechtstreeks het adres aangeeft van de eerste 8-bits byte gegevens in segment n van het geheugen, oftewel de grens tussen de segmenten n-1 en n in het fysieke geheugen. Anderzijds geeft de verschuiving een verplaatsing aan vanaf de grens tussen de segmenten n-1 en n.
10 Zoals getoond in het diagram in fig. 3, wordt de segmentwaarde, ten einde de 20-bits waarde te verkrijgen die direct een gegeven geheugen-plaats van een byte (adres van opdrachtelement) in het fysieke geheugen 4 adresseert, vermenigvuldigd met 2 en opgeteld bij de verschuivingswaarde. Dit 20-bits adres wordt direct als adres in het geheugen aangebracht.
15 In de beschermde verwerkingswijze van de 80286 gebruikt het BIOS het fysieke geheugen niet in de vorm van segmenten en verschuivingen. In plaats daarvan wordt "virtuele" geheugenadressering gebruikt waarin de adressen niet direct corresponderen met goed te onderkennen geheugenplaat-sen in het fysieke geheugen. Ten einde meer efficiënt gebruik van de 20 beschikbare geheugenruimte mogelijk te maken terwijl men nog steeds betrekkelijk groot gemak behoudt om te adresseren, wordt het geheugen wederom verdeeld in segmenten, maar de segmenten kunnen variabele lengte hebben. Het genereren van de actuele fysieke adressen wordt voor de CVE 80286 intern gedaan, buiten het bereik van de gebruiker en van het BIOS.
25 De beschermde adresseerverwerkingswijze wordt meer gedetailleerd uiteengezet aan de hand van fig. 4.
Zoals in het geval van de CVE 8088/8086 met reële verwerkingswijze adresseert het BIOS geheugen met behulp van een 32-bits verwijzer. Bij de beschermde verwerkingswijze worden de lage 16 bits (de bits 0-15) van de 30 verwijzer ook weer "verschuiving" genoemd. Omdat de functie van het hoge 16-bits gedeelte van de verwijzer geheel anders is van die van het bovengenoemde segment in de CVE 8088/8086 bij reële verwerkingswijze, wordt dit gedeelte van de verwijzer een "selector" genoemd. In plaats van dit 4 gedeelte alleen maar met 2 te vermenigvuldigen en bij de verschuiving op 35 te tellen, wordt de selector gebruikt als een verwijzer naar een segment- .8800736 BC9-87-003 Μ
P
4 descriptor die is vervat in een segmentdescriptortabel, welke wordt geassembleerd in een vooraf bepaald gebied van het fysieke geheugen.
Iedere segmentdescriptor bevat een 24-bits waarde, die het basisadres (lage-grensadres) van het corresponderende segment in het fysieke geheugen 5 aangeeft. Ten einde het actuele adres van een gewenste operand in het fysieke geheugen te verkrijgen wordt de waarde van de 24-bits segmentdescriptor die door de selector is opgezocht toegevoegd aan de verschuiving.
Omdat de selectors die met de beschermde verwerkingswijze worden 10 gebruikt op deze wijze een functie hebben die zeer verschilt en ongelijkwaardig is met die van de segmenten in de CVE 8088/8086 bij reële verwerkingswijze, kan het BIOS dat is ontworpen voor de CVE 8088/8086 met reële verwerkingswijze, die bij het adresseren segmenten gebruikt, niet direct in de reële verwerkingswijze werken. Hierdoor wordt het onmogelijk 15 om in de beschermde verwerkingswijze programma's te laten lopen die zijn geschreven voor gebruik van het BIOS dat is ontwikkeld voor de CVE 8088/8086 met reële verwerkingswijze. Terwijl zulke programma's natuurlijk kunnen draaien op de CVE 80286 met reële verwerkingswijze, is het een nadeel dat men niet ook in staat is om ze met de beschermde verwerkings-20 wijze te laten lopen.
Volgens de uitvinding wordt een computersysteem verschaft, omvattende een centrale verwerkingseenheid (CVE) en een geheugen, waarin de CVE onverenigbare eerste en tweede verwerkingswijzen heeft om het geheugen te adresseren, gekenmerkt door middelen (ABIOS) om in het geheugen eerste en 25 tweede tabellen op te zetten die functioneel equivalente verwijzers bevatten naar vooraf bepaalde gebieden in het geheugen en eenheden die aan het systeem zijn gekoppeld, middelen om de eerste tabel met de eerste verwerkingswijze van de CVE te benaderen en middelen om de tweede tabel met de tweede verwerkingswijze van de CVE te benaderen.
30 In het geval van reële en beschermde verwerkingswijzen zoals boven besproken, zijn de verwijzers voor het gemeenschappelijk gegevensgebied voor de reële verwerkingswijze elk samengesteld uit een segment en een verschuiving, en die van het gemeenschappelijk gegevensgebied voor de beschermde werkwijze zijn samengesteld uit een selector en een verschui-35 ving. De verschuivingen van de verwijzers in de tabel voor de beschermde ^^w^r^i^s^i^e die verwijzen naar adressen buiten het gemeenschappelijk BC9-87-003 •t 5 gegevensgebied zijn in waarde identiek met die van corresponderende verwijzers in de tabel voor de reële verwerkingswijze, terwijl de selectors in het fysieke adres corresponderen met de segmenten van de corresponderende verwijzers.
5 Er wordt nu, bij wijze van voorbeeld, een uitvoering van de uitvinding beschreven, met verwijzing naar de tekening.
Fig. 1 is een geheugenoverzicht van een voorbeeld van een computersysteem dat gebruik maakt van een CVE met reële en beschermde adresseer-verwerkingswijzen.
10 Fig. 2 toont een gedeelte van een hoofdgeheugen in de reële verwerkingswijze en illustreert hoe het geheugen wordt geadresseerd met behulp van verschuivingen en verwijzers.
Fig. 3 toont hoe segmenten en verschuivingswaaarden worden bewerkt en opgeteld om adressen in fysiek geheugen met de reële verwerkingswijze te 15 produceren.
Fig. 4 toont een gedeelte van een hoofdgeheugen met de beschermde verwerkingswijze en illustreert hoe het geheugen wordt geadresseerd met gebruik van verschuivingen en verwijzers.
Fig. 5 is een diagram dat toont hoe de BlOS-code wordt gerangschikt 20 in overeenstemming met de uitvinding.
Fig. 6 is een overzicht van een gemeenschappelijk gegevensgebied voor twee verwerkingswijzen in overeenstemming met de uitvinding.
Fig. 7 (bestaande uit 7A en 7B) is een stroomdiagram dat gedetailleerd toont hoe het gemeenschappelijk gegevensgebied voor twee verwer-25 kingswijzen zoals geïllustreerd in fig. 6 wordt geassembleerd.
Fig. 8 is een stroomdiagram dat een voorbeeld toont van hoe een eenheidsblokverwijzer voor een gegeven logische ID ("identifier" oftewel identificatiesymbool) wordt verkregen.
Fig. 9 is een stroomdiagram dat illustreert hoe een verzoek wordt 30 gericht tot het BIOS in een computersysteem volgens de uitvinding.
Wij verwijzen nu eerst naar het diagram in fig. 5. Daarin wordt een geheugenoverzicht getoond voor de BlOS-code die wordt gebruikt in een computersysteem dat de uitvinding belichaamt.
De BlOS-code is samengesteld uit drie gedeelten: POST, CBIOS en 35 ABIOS. POST ("Power-On Self Test" oftewel de inschakelzelftoetsroutine) .8800736 BC9-87-003 9 Λ 6 wordt gebruikt om een initiële zelftoets en andere basisopstartfuncties uit te voeren, met inbegrip van het ophalen van het zelfstartrecord van de systeemschijf en het daaropvolgend laden van het besturingssysteem in het geheugen. CBIOS ("Compatibility Basic Input-Output System" oftewel op 5 compatibiliteit gebaseerd basis-invoer/uitvoer-systeem) bevat het BIOS dat wordt gebruikt voor toepassingsprogramma's ten einde invoer/uitvoer-bewerkingen uit te voeren (het overbrengen van gegevens naar en van het geheugen, randapparaten enz.) uitsluitend met de reële verwerkingswijze en in een enkeltaaks verwerkingsomgeving. ABIOS ("Advanced Basic Input-Output 10 System" oftewel geavanceerd basis-invoer/uitvoer-systeem) bevat het BIOS dat door toepassingsprogramma's wordt gebruikt teneinde invoer/uitvoer-bewerkingen uit te voeren in een veeltaaks verwerkingsomgeving voor twee verwerkingwij zen.
In het hier besproken systeem heeft ABIOS het vermogen om hetzij met 15 de reële verwerkingswijze hetzij met de beschermde verwerkingswijze te werken. De wijze waarop dit wordt bereikt is om ABIOS CDA's ("Common Data Areas" oftewel gebieden voor gemeenschappelijke gegevens) voor twee verwerkingswijzen te laten assembleren, zijnde één voor de reële verwerkingswijze en één voor de beschermde werkwijze. De ingangen die in de twee 20 CDA's zijn vervat zijn in functie gelijk, maar in de CDA voor de reële verwerkingswijze worden de verwijzers beschreven in termen van segmenten en verschuivingen, terwijl zij in de CDA voor de beschermde verwerkingswijze worden beschreven in termen van selectors en verschuivingen. Als het besturingssysteem de bedoeling heeft het BIOS alleen uit te voeren met de 25 reële verwerkingswijze, dan behoeft alleen de CDA voor de reële verwerkingswijze te worden geassembleerd en gebruikt, waarbij het door het BIOS bestuurde overbrengen van gegevens voor toepassingsprogramma's plaatsvindt op de reeds bekende wijze voor verwerkingen met de reële verwerkingswijze. Voordat het besturingssysteem echter het BIOS kan uitvoeren met de 30 beschermde verwerkingswijze, moet de CDA voor de beschermde verwerkingswijze worden geassembleerd. Door het gebruik van de CDA, dat immers functioneel identiek is met de CDA voor de reële verwerkingswijze, kunnen programma's die zijn geschreven voor de reële verwerkingswijze met succes lopen, als de gebruiker dat wenst, voor de beschermde verwerkingswijze.
35 Derhalve is, door het verschaffen van CDA's voor twee verwerkingswijzen, de ABIOS-code essentieel "transparant" voor de verwerkingswijze waarmee de gebruiker heeft verkozen de CVE te laten lopen. Het resultaat is adressering voor de toepassingsprogramma's onafhankelijk van de verwerkingswijze.
.88 0 0 7 3 6 BC9-87-003 «fc 7
Een voorbeeld van CDA's voor twee verwerkingswijzen wordt getoond in fig. 6. Ter wille van de eenvoud worden in fig. 6 de volgende afkortingen gebruikt: LID ("Logical IDentifier" oftewel logisch identificatiesymbool) -5 Ieder LID correspondeert met en identificeert een eenheid waarom is verzocht. Iedere eenheid die voor ABIOS beschikbaar is heeft een bijbehorend LID.
DB ("Device Block" oftewel eenheidsbesturingsblok) - Het DB is een gebied in het werkgeheugen dat wordt toegewezen door het besturingssysteem 10 en dat poortadressen voor de apparatuur, onderbrekingsniveaus en informatie over de eenheidsstatus bevat.
PTT ("Function Transfer Table" oftewel functie-overbrengingstabel) -De FTT is een gebied in permanent geheugen dat wordt toegewezen door het besturingssysteem en dat de verwijzers naar iedere ABIOS-functieroutine 15 bevat.
DATA PTR ("ABIOS Data Pointer" oftewel ABIOS gegevensverwijzer) - De gegevensverwijzers verschaffen het ABIOS adresseerbaarheid naar specifieke gedeelten van het geheugen in een werkomgeving met twee verwerkingswijzen. Voorbeelden zijn de verwijzers naar de videobuffers.
20 Zoals eenvoudig kan worden opgemaakt uit fig. 6, zijn heel algemeen de ingangen in de twee CDA's geheel identiek in functie en in plaatsing in de respectieve tabellen. Het enige verschil is dat de verwijzers in de CDA voor de reële verwerkingswijze zijn samengesteld uit waarden van segmenten en verschuivingen, terwijl de verwijzers in de CDA voor de beschermde 25 verwerkingswijze zijn samengesteld uit selectors en verschuivingen.
Zodoende worden alle BIOS-bewerkingen voor beide verwerkingswijzen op identieke manier uitgevoerd, door enkel en alleen de CDA te gebruiken die correspondeert met de op dat moment van kracht zijnde verwerkingswijze van de CVE, in zoverre als het de rest van het BIOS, het besturingssysteem en 30 de toepassingprogramma's betreft. Dat wil zeggen dat, zoals in fig. 6 wordt geïllustreerd, de corresponderende DB-verwijzer LID n in beide tabellen naar hetzelfde DB LID n verwijzen, dat de corresponderende gegevensverwijzer o in beide tabellen naar precies dezelfde geheugenplaats verwijzen, en dat dezelfde functie m-verwijzers naar precies dezelfde .8800736 BC9-87-003 δ functie m verwijzen.
Fig. 7 is een stroomdiagram dat gedetailleerd de wijze beschrijft waarop de twee CDA’s worden geassembleerd.
Vanaf het punt BEGIN wordt het ABIOS opgeroepen om in stap 20 de 5 systeemparametertabel op te bouwen. In stap 21 wordt het ABIOS opgeroepen om de systeeminitialisatietabel op te bouwen. Vervolgens wordt in stap 22 geheugenruimte toegewezen voor de CDA voor de reële verwerkingswijze, met inbegrip van de DB's, de FTT's en de gegevensverwijzers. In de daaropvolgende stap 23 wordt een initiële DB-routine (INITDB) opgeroepen om 10 initiële tabelingangen te verschaffen ten einde de FTT, de DB enz. op te laten bouwen. Wie vertrouwd is met het BIOS dat wordt gebruikt in de personal computer van IBM zal verdere details ten aanzien van de implementatie van de stappen 20 - 23 begrijpen.
Nadat in stap 24 is vastgesteld dat alle ingangen in de CDA-tabel 15 voor de reële verwerkingswijze compleet zijn, wordt in stap 25 geheugenruimte toegewezen voor de CDA voor de beschermde verwerkingswijze. In de daaropvolgende stap 26 wordt een verschuivingsgedeelte van een DB-verwijzer in de CDA voor de reële verwerkingswijze direct gekopieerd naar de corresponderende ingang in de CDA voor de beschermde verwerkings-20 wijze. Voor de verschuivingswaarde die in stap 26 is gekopieerd wordt in de stappen 27 en 28 een selector toegewezen waarvan het fysieke adres gelijk is aan het segment van de respectieve verwijzer in de CDA voor de reële verwerkingswijzer. In stap 29 wordt de selector gekopieerd naar de corresponderende geheugenplaats in de CDA voor de beschermde verwerkings-25 wijze om de verwijzer te voltooien.
Met verwijzing naar de stappen 30 - 34, wordt een FTT-verwijzer geassembleerd op een wijze die lichtelijk verschillend is van die voor de DB-verwijzers in de stappen 26 - 29, aangezien de FTT-verwijzers naar andere verwijzers binnen de CDA verwijzen in plaats van naar adressen die 30 buiten de CDA liggen. In stap 30 wordt een FTT voor de beschermde verwerkingswijze toegewezen. In stap 31 wordt een kopie van de verschuiving van de overeenkomstige FTT voor de beschermde verwerkingswijze overgebracht naar de FTT-verwijzer voor de beschermde verwerkingswijze. In de daaropvolgende stap 32 wordt vastgesteld of een selector voor de beschermde 35 verwerkingswijze is toegewezen. Zo niet, dan wordt in stap 33 een selector . 8 8 P C 7 * k BC9-87-003J v v toegewezen die naar de FTT verwijst. In stap 34 wordt de selector gekopieerd naar het gedeelte voor de selector in de CDA voor de beschermde verwerkingwij ze.
* 9
Overeenkomstig met het assembleren van de DB-verwijzer in de stappen 5 26 - 29 wordt in de stappen 35 - 38 een corresponderende functleverwijzer geassembleerd in de CDA voor de beschermde verwerkingswijze.
Stap 39 houdt een toets in om vast te stellen of alle verwijzers van de FTT zijn voltooid. De stappen 35 tot 39 worden herhaald totdat alle verwijzers van de FTT zijn geassembleerd. De daaropvolgende stap 40 houdt 10 een toets in om vast te stellen of alle logische ID's, DB-verwijzers en FTT-verwijzers zijn voltooid. Zo niet, dan voert het proces een kringloop uit naar stap 26, en de stappen 26 - 40 worden herhaald totdat alle logische ID's, DB-verwijzers en FTT-verwijzers zijn voltooid.
Ter voltooiing van de CDA voor de beschermde verwerkingswijze worden 15 in stap 41 de gegevensverwijzers (bijv. verwijzers naar de videobuffer) geassembleerd. Dit wordt gedaan op dezelfde wijze als boven. In stap 41 wordt het verschuivingsgedeelte van een gegevensverwijzer uit de CDA voor de reële verwerkingswijze gekopieerd naar de corresponderende ingang in de CDA voor de beschermde verwerkingswijze. In stap 42 wordt een selector 20 toegewezen met een fysiek adres dat gelijk is aan het segment in de corresponderende ingang van de CDA voor de reële verwerkingswijze. In stap 43 wordt de selector gekopieerd naar de CDA voor de beschermde verwerkingswijze. In stap 44 wordt vastgesteld of alle gegevensverwijzers zijn voltooid. Zo niet, dan beschrijft het proces een kringloop naar 25 stap 41, waarna de stappen 41 tot 44 worden herhaald totdat alle gegevensverwijzers gereed zijn. Op dat moment is het assembleren van beide CDA’s voltooid (EINDE).
Fig. 8 toont een voorbeeld van hoe de geassembleerde CDA door het ABIOS wordt gebruikt. De figuur is een stroomdiagram dat een voorbeeld 30 toont van hoe een DB-verwijzer wordt verkregen uit de CDA voor twee verwerkingswijzen voor een gegeven logisch ID.
Eerst wordt in stap 60 toegang verkregen tot de ankerverwijzer voor het "lopende11 CDA. In stap 61 gebeurt hetzelfde met de corresponderende 3 logische ID. In stap 62 wordt de logische ID vermenigvuldigd met 2 (=8) • 8 8 0 0 7 5 6 BC9-87-003 10 ten einde de verschuiving voor de DB-verwijzer te verkrijgen. Daarna kan in stap 63 toegang worden verkregen tot de DB-verwijzer.
Big. 9 is een stroomdiagram dat toont hoe een programma een verzoek richt tot het ABIOS.
5 Eerst wordt in stap 70 een verzoekblok voor het specifieke onderhavige verzoek toegewezen en ingevuld. In stap 71 wordt toegang verkregen tot de ankerverwijzer voor de "lopende" CDA. In de daarop volgende stappen 72 en 73 worden de ankerverwijzer en de verzoekblok-verwijzer veilig gesteld in het stapelkader met gebruik van PUSH-instructies zodanig dat de 10 verwijzer die het laatst wordt ingebracht weer het eerst tevoorschijn kan worden gehaald. Tot de bijbehorende logische ID uit het verzoekblok wordt toegang verkregen in stap 74. Men wordt erop gewezen dat er natuurlijk een een-eenduidige correspondentie is tussen logische ID's en eenheidsingangen 3 in de CDA. In stap 75 wordt de logische ID vermenigvuldigd met 2 om de 15 verschuiving van de DB-verwijzer te verkrijgen, nl. vier bytes per verwijzer en twee verwijzers. Tot de respectieve FTT-verwijzer die zich vier bytes voorbij het adres van de DB-verwijzer bevindt wordt toegang verkregen in stap 76, en deze FTT-verwijzer wordt veiliggesteld in het stapelkader met behulp van een PUSH-instructie (zie boven) in stap 77. In 20 stap 78 wordt de DB-verwijzer veilig gesteld in het stapelkader, eveneens met gebruik van een PUSH-instructie. Tenslotte wordt in stap 79 de gewenste functie in de FTT opgeroepen.
Binnen het gebied van de uitvinding worden ook nog verdere toepassingen overwogen. Zo kan, bij voorbeeld, het aanbrengen van noodhulpvoor-25 zleningen in de BIOS-code ten einde daar veranderingen in teweeg te brengen worden gebruikt met gebruikmaking van de FTT-verwijzers. Dat betekent dat in de CDA's FTT-verwijzers kunnen worden aangebracht welke herverwijzing naar noodhulproutines ("patch routines") tot gevolg hebben.
.8800735 BC9-87-003

Claims (11)

1. Computersysteem omvattende een centrale verwerkingseenheid (CVE) en een geheugen, waarin de CVE onverenigbare eerste en tweede verwerkingswijzen heeft om het geheugen te adresseren, gekenmerkt door middelen (ABIOS, zie fig. 5) om in het geheugen eerste en tweede tabellen op te 5 zetten die functioneel equivalente verwijzers bevatten naar vooraf bepaalde gebieden in het geheugen en naar eenheden die aan het systeem zijn gekoppeld, middelen (zie fig. 3) om de eerste tabel met de eerste verwerkingswijze van de CVE te benaderen en middelen (zie fig. 4) om de tweede tabel met de tweede verwerkingswijze van de CVE te benaderen.
2. Computersysteem volgens conclusie 1, waarin de CVE het vermogen heeft om van het geheugen met de tweede verwerkingswijze meer te adresseren dan met de eerste verwerkingswijze.
3. Computersysteem volgens conclusie 1 of 2, waarin iedere verwijzer in de eerste en de tweede tabel een bestanddeel van lagere orde en een 15 bestanddeel van hogere orde omvat, waarbij de bestanddelen van lagere orde van corresponderende verwijzers in de eerste en tweede tabel aan elkaar gelijk zijn.
4. Computersysteem volgens conclusie 3, waarin de bestanddelen van hogere orde van de verwijzers in de eerste tabel bepalend zijn voor 20 begrenzingsadressen tussen vaste segmenten in het geheugen.
5. Computersysteem volgens conclusie 3 of 4, waarin de bestanddelen van hogere orde van de verwijzers in de tweede tabel bepalend zijn voor adressen in een segmentbeschrijvingstabel, waarbij het adres van iedere segmentbeschrijvingstabel een begrenzingsadres tussen vaste segmenten in 25 het geheugen bevat.
6. Computersysteem volgens één der voorgaande conclusies, waarin de eerste en tweede tabellen in het geheugen worden opgezet onder besturing van een inschakelzelftoetsroutine die wordt ingevoerd wanneer de computer wordt aangezet of opnieuw wordt ingesteld.
7. Werkwijze voor het besturen van een computersysteem dat een geheugen en een CVE heeft, met het vermogen om in één van twee onverenigbare •8800736 BC9-87-003 4 verwerkingswijzen voor geheugenadressering te werken, gekenmerkt door de volgende stappen: het toewijzen van ruimte in het geheugen voor eerste en tweede gebieden voor gemeenschappelijke gegevens, welke gebieden corresponderen 5 met respectievelijk de eerste en de tweede verwerkingswijze; het laden in het eerste gebied voor gemeenschappelijke gegevens van een tabel die eerste verwijzers bevat naar vooraf bepaalde gebieden in het geheugen en naar eenheden die aan het systeem zijn gekoppeld, waarbij de eerste verwijzers adressen voor de eerste verwerkingswijze bevatten; 10 het laden in het tweede gebied voor gemeenschappelijke gegevens van een tabel die verwijzers bevat die functioneel equivalent zijn met die van de eerste tabel, maar adressen voor de tweede verwerkingswijze bevatten; waarbij de GVE zich achtereenvolgens richt tot de eerste tabel voor het adresseren volgens de eerste verwerkingswijze en tot de tweede tabel 15 voor het adresseren volgens de tweede verwerkingswijze.
8. Werkwijze volgens conclusie 7, waarin de eerste verwerkingswijze het adresseren volgens een reële verwerkingswijze is en de tweede verwerkingswijze het adresseren volgens een beschermde verwerkingswijze.
9. Werkwijze volgens conclusie 7 of 8, waarbij de verwijzers bestand-20 delen van hogere en lagere orde omvatten, waarbij in de eerste tabel de bestanddelen met hogere orde betrekking hebben op segmentgrenzen voor vast geheugen en in de tweede tabel de bestanddelen met hogere orde betrekking hebben op adressen van een beschrijvingstabel die segmentgrenzen voor vast geheugen bevatten.
10. Werkwijze volgens conclusie 9, waarbij de bestanddelen van lagere orde van de verwijzers in de tweede tabel worden overgenomen van de bestanddelen van lagere orde van de corresponderende verwijzers in de eerste tabel.
11. Werkwijze volgens één der conclusies 7 tot 10, waarbij de verwijzers 30 omvatten: verwijzers naar eenheidsblokken, verwijzers naar functie-over-brengingstabellen, verwijzers naar gegevens en verwijzers naar functies. .8800756 BC9-87-003
NLAANVRAGE8800736,A 1987-03-27 1988-03-24 Computersysteem en werkwijze met adressering onafhankelijk van de verwerkingswijze van de centrale verwerkingseenheid. NL185634C (nl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/030,789 US4928237A (en) 1987-03-27 1987-03-27 Computer system having mode independent addressing
US3078987 1987-03-27

Publications (2)

Publication Number Publication Date
NL8800736A true NL8800736A (nl) 1988-10-17
NL185634C NL185634C (nl) 1990-06-01

Family

ID=21856049

Family Applications (1)

Application Number Title Priority Date Filing Date
NLAANVRAGE8800736,A NL185634C (nl) 1987-03-27 1988-03-24 Computersysteem en werkwijze met adressering onafhankelijk van de verwerkingswijze van de centrale verwerkingseenheid.

Country Status (15)

Country Link
US (2) US4928237A (nl)
EP (1) EP0288606B1 (nl)
JP (1) JPH0731628B2 (nl)
AT (1) ATE91812T1 (nl)
BE (1) BE1001064A3 (nl)
BR (1) BR8801388A (nl)
CA (1) CA1293821C (nl)
DE (2) DE3786660T2 (nl)
ES (1) ES2042531T3 (nl)
FR (1) FR2613093B1 (nl)
GB (1) GB2202657B (nl)
HK (1) HK33992A (nl)
IT (1) IT1217358B (nl)
NL (1) NL185634C (nl)
SG (1) SG5792G (nl)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4928237A (en) * 1987-03-27 1990-05-22 International Business Machines Corp. Computer system having mode independent addressing
US5226122A (en) * 1987-08-21 1993-07-06 Compaq Computer Corp. Programmable logic system for filtering commands to a microprocessor
US5018062A (en) * 1987-10-23 1991-05-21 A.I. Architects, Inc. Method and apparatus for overriding a ROM routine in response to a reset
JPH01273136A (ja) * 1988-04-26 1989-11-01 Oki Electric Ind Co Ltd オペレーティングシステムのファームウェア化方式
US5101493A (en) * 1989-06-19 1992-03-31 Digital Equipment Corporation Digital computer using data structure including external reference arrangement
JPH03233630A (ja) * 1990-02-08 1991-10-17 Nec Corp 情報処理装置
US5142626A (en) * 1990-07-20 1992-08-25 International Business Machines Corp. Personal computer with removable media identification
US5136711A (en) * 1990-10-17 1992-08-04 Ast Research System for multiple access hard disk partitioning
US5186978B1 (en) * 1990-11-16 1999-11-02 Cal West Equip Co Protective coating and method of using such coating
US5255379A (en) * 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5604885A (en) * 1991-02-01 1997-02-18 Texas Instruments Incorporated Apparatus and method enabling a computer to transfer control between two program segments that call one another but operate in different modes
US5303378A (en) * 1991-05-21 1994-04-12 Compaq Computer Corporation Reentrant protected mode kernel using virtual 8086 mode interrupt service routines
US5297282A (en) * 1991-05-29 1994-03-22 Toshiba America Information Systems, Inc. Resume processing function for the OS/2 operating system
US5355490A (en) * 1991-06-14 1994-10-11 Toshiba America Information Systems, Inc. System and method for saving the state for advanced microprocessor operating modes
US5237669A (en) * 1991-07-15 1993-08-17 Quarterdeck Office Systems, Inc. Memory management method
US5291585A (en) * 1991-07-29 1994-03-01 Dell Usa, L.P. Computer system having system feature extension software containing a self-describing feature table for accessing I/O devices according to machine-independent format
EP0534597B1 (en) * 1991-09-23 2000-04-26 Intel Corporation Computer system having software interrupt (INTN) instructions selectively operating in a virtual mode
US5596755A (en) * 1992-11-03 1997-01-21 Microsoft Corporation Mechanism for using common code to handle hardware interrupts in multiple processor modes
CA2093451C (en) * 1993-04-06 2000-03-14 David M. Mooney Method and mechanism for calling 32-bit functions from 16-bit functions
US5487158A (en) * 1993-04-06 1996-01-23 International Business Machines Corporation Method and procedure call mechanism for calling 16-bit functions from 32-bit functions
JPH0778106A (ja) * 1993-09-08 1995-03-20 Hitachi Ltd データ処理システム
US5537597A (en) * 1993-09-27 1996-07-16 Intel Corporation Method and apparatus for supporting real mode card services clients with a protected mode card services implementation
US5481684A (en) * 1994-01-11 1996-01-02 Exponential Technology, Inc. Emulating operating system calls in an alternate instruction set using a modified code segment descriptor
US5604887A (en) * 1994-01-21 1997-02-18 Microsoft Corporation Method and system using dedicated location to share information between real and protected mode device drivers
US5459869A (en) * 1994-02-17 1995-10-17 Spilo; Michael L. Method for providing protected mode services for device drivers and other resident software
US5625800A (en) * 1994-06-30 1997-04-29 Adaptec, Inc. SCB array external to a host adapter integrated circuit
US5564023A (en) * 1994-06-30 1996-10-08 Adaptec, Inc. Method for accessing a sequencer control block by a host adapter integrated circuit
US5864698A (en) * 1994-08-24 1999-01-26 Packard Bell Nec Disk based bios
US5642491A (en) * 1994-09-21 1997-06-24 International Business Machines Corporation Method for expanding addressable memory range in real-mode processing to facilitate loading of large programs into high memory
US6438621B1 (en) 1994-11-14 2002-08-20 Microsoft Corporation In-memory modification of computer programs
US6178550B1 (en) * 1995-01-31 2001-01-23 Dell Usa Mechanism for optimizing location of machine-dependent code
US5710941A (en) * 1995-02-28 1998-01-20 Microsoft Corporation System for substituting protected mode hard disk driver for real mode driver by trapping test transfers to verify matching geometric translation
US6141722A (en) * 1995-05-31 2000-10-31 Microsoft Corporation Method and apparatus for reclaiming memory
WO1996038784A1 (en) * 1995-06-02 1996-12-05 Systemsoft Corporation Digital data processing method and apparatus for peripheral device control
US5864689A (en) * 1995-12-05 1999-01-26 Advanced Micro Devices, Inc. Microprocessor configured to selectively invoke a microcode DSP function or a program subroutine in response to a target address value of branch instruction
US6091897A (en) 1996-01-29 2000-07-18 Digital Equipment Corporation Fast translation and execution of a computer program on a non-native architecture by use of background translator
US6535903B2 (en) * 1996-01-29 2003-03-18 Compaq Information Technologies Group, L.P. Method and apparatus for maintaining translated routine stack in a binary translation environment
US5860079A (en) * 1996-05-10 1999-01-12 Apple Computer, Inc. Arrangement and method for efficient calculation of memory addresses in a block storage memory system
FR2764407B1 (fr) * 1997-06-05 1999-07-30 Alsthom Cge Alcatel Dispositif de retouche de programme de commande dans un processeur
US5951658A (en) * 1997-09-25 1999-09-14 International Business Machines Corporation System for dynamic allocation of I/O buffers for VSAM access method based upon intended record access where performance information regarding access is stored in memory
US6148387A (en) * 1997-10-09 2000-11-14 Phoenix Technologies, Ltd. System and method for securely utilizing basic input and output system (BIOS) services
US6321332B1 (en) * 1998-06-17 2001-11-20 Intel Corporation Flexible control of access to basic input/output system memory
US6785806B1 (en) 1999-12-30 2004-08-31 Intel Corporation Bios having macro/effector pairs for hardware initialization
GB2396713B (en) 2002-11-18 2005-09-14 Advanced Risc Mach Ltd Apparatus and method for controlling access to a memory unit
GB2396930B (en) 2002-11-18 2005-09-07 Advanced Risc Mach Ltd Apparatus and method for managing access to a memory
US7738993B2 (en) * 2003-10-10 2010-06-15 Boston Scientific Scimed, Inc. Extrusion of articles
US9015727B2 (en) * 2008-04-02 2015-04-21 Qualcomm Incorporated Sharing operating system sub-processes across tasks
TW201020773A (en) * 2008-11-19 2010-06-01 Inventec Corp Method for reading/writing a big structure in a 64k operating environment
US9898307B2 (en) * 2015-12-21 2018-02-20 Intel Corporation Starting application processors of a virtual machine

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS532296B2 (nl) * 1973-03-19 1978-01-26
FR2258113A5 (nl) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
US4128875A (en) * 1976-12-16 1978-12-05 Sperry Rand Corporation Optional virtual memory system
JPS5448449A (en) * 1977-09-26 1979-04-17 Hitachi Ltd Virtual addressing sustem
US4315321A (en) * 1978-06-16 1982-02-09 The Kardios Systems Corporation Method and apparatus for enhancing the capabilities of a computing system
US4270167A (en) * 1978-06-30 1981-05-26 Intel Corporation Apparatus and method for cooperative and concurrent coprocessing of digital information
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US4442484A (en) * 1980-10-14 1984-04-10 Intel Corporation Microprocessor memory management and protection mechanism
US4514805A (en) * 1982-02-22 1985-04-30 Texas Instruments Incorporated Interrupt operation in systems emulator mode for microcomputer
US4727480A (en) * 1984-07-09 1988-02-23 Wang Laboratories, Inc. Emulation of a data processing system
US4825358A (en) * 1985-04-10 1989-04-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
US4779187A (en) * 1985-04-10 1988-10-18 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
US5027273A (en) * 1985-04-10 1991-06-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
DE3584446D1 (de) * 1985-06-18 1991-11-21 Ibm Mikroprozessor.
JPS623358A (ja) * 1985-06-28 1987-01-09 Yokogawa Hewlett Packard Ltd 複数アドレス空間アクセス方式
US4747040A (en) * 1985-10-09 1988-05-24 American Telephone & Telegraph Company Dual operating system computer
US4787032A (en) * 1986-09-08 1988-11-22 Compaq Computer Corporation Priority arbitration circuit for processor access
US4849875A (en) * 1987-03-03 1989-07-18 Tandon Corporation Computer address modification system with optional DMA paging
US4928237A (en) * 1987-03-27 1990-05-22 International Business Machines Corp. Computer system having mode independent addressing
US5018062A (en) * 1987-10-23 1991-05-21 A.I. Architects, Inc. Method and apparatus for overriding a ROM routine in response to a reset
US4974159A (en) * 1988-09-13 1990-11-27 Microsoft Corporation Method of transferring control in a multitasking computer system

Also Published As

Publication number Publication date
GB2202657B (en) 1991-09-18
ATE91812T1 (de) 1993-08-15
IT1217358B (it) 1990-03-22
DE3786660T2 (de) 1994-02-17
US5193161A (en) 1993-03-09
EP0288606A3 (en) 1989-05-03
FR2613093B1 (fr) 1990-03-23
BR8801388A (pt) 1988-11-01
DE3786660D1 (de) 1993-08-26
IT8819945A0 (it) 1988-03-25
EP0288606A2 (en) 1988-11-02
US4928237A (en) 1990-05-22
GB2202657A (en) 1988-09-28
JPS63244147A (ja) 1988-10-11
ES2042531T3 (es) 1993-12-16
HK33992A (en) 1992-05-15
NL185634C (nl) 1990-06-01
CA1293821C (en) 1991-12-31
FR2613093A1 (fr) 1988-09-30
DE3808167C2 (de) 1994-03-24
EP0288606B1 (en) 1993-07-21
SG5792G (en) 1992-03-20
JPH0731628B2 (ja) 1995-04-10
BE1001064A3 (fr) 1989-06-27
GB8728922D0 (en) 1988-01-27
DE3808167A1 (de) 1988-10-13

Similar Documents

Publication Publication Date Title
NL8800736A (nl) Computersysteem en werkwijze met adressering onafhankelijk van de verwerkingswijze van de centrale verwerkingseenheid.
US5307497A (en) Disk operating system loadable from read only memory using installable file system interface
US5598563A (en) Method of loading device drivers from ROM without requirement of system to have any harddisks or floppy drives and without using config.sys file
US4926322A (en) Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management
JP3571667B2 (ja) 割り込みフラグ管理方法
US5694583A (en) BIOS emulation parameter preservation across computer bootstrapping
US6813522B1 (en) Method of sharing memory in a multi-processor system including a cloning of code and data
US5887164A (en) System and method for enabling a target computer to use storage resources of a host computer
EP0171859B1 (en) Memory access control device for implementing guarded regions in a memory, and memory provided with such memory access control device
US5355498A (en) Method and apparatus for booting a computer system without loading a device driver into memory
US4984149A (en) Memory access control apparatus
US4031517A (en) Emulation of target system interrupts through the use of counters
EP1779241A1 (en) A system and method for simulating real-mode memory access with access to extended memory
JP3468247B2 (ja) ファームウェアを管理するためのコンピュータ・システムおよび装置
EP0175620B1 (en) Access verification arrangement for digital data processing system which has demand-paged memory
US6760827B2 (en) Method and apparatus for accessing ROM PCI memory above 64 K
US5127096A (en) Information processor operative both in direct mapping and in bank mapping, and the method of switching the mapping schemes
US5495611A (en) Method and apparatus for dynamic load of an ABIOS device support layer in a computer system
US7293207B2 (en) Method for testing memory in a computer system utilizing a CPU with either 32-bit or 36-bit memory addressing
US5117491A (en) Ring reduction logic using parallel determination of ring numbers in a plurality of functional units and forced ring numbers by instruction decoding
US6237078B1 (en) Code segment default operation determination
EP0149858B1 (en) Data processing system
JP2986306B2 (ja) コンピュータ・システム、マイクロコードをロードするための装置
Stevens et al. “El Torito” Bootable CD-ROM Format Specification
JP2001290606A (ja) 情報処理装置及び記録媒体

Legal Events

Date Code Title Description
A1B A search report has been drawn up
BC A request for examination has been filed
V1 Lapsed because of non-payment of the annual fee

Effective date: 19951001