NL192144C - Informatieverwerkende inrichting. - Google Patents
Informatieverwerkende inrichting. Download PDFInfo
- Publication number
- NL192144C NL192144C NL8105849A NL8105849A NL192144C NL 192144 C NL192144 C NL 192144C NL 8105849 A NL8105849 A NL 8105849A NL 8105849 A NL8105849 A NL 8105849A NL 192144 C NL192144 C NL 192144C
- Authority
- NL
- Netherlands
- Prior art keywords
- memory
- signals
- page
- address
- register
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
1 192144
Informatieverwerkende Inrichting
De uitvinding heeft betrekking op een voor meerdere taken geschikte informatieverwerkende inrichting, voorzien van een virtueel geheugen met een aantal segmenten, welke informatieverwerkende inrichting 5 omvat: een centrale processor met inbegrip van een grendelregister, een geheugenadresiegister en een geheugen-dataregister, een stuurgeheugen gekoppeld met de centrale processor, een bus gekoppeld met de centrale processor en omvattende adressignaallijnen voor ontvangst van 10 datasignalen van het geheugendataregister en het leveren van datasignalen aan het geheugendataregister, een fysisch geheugen bestemd voor het opbergen van datasignalen die representatief zijn voor data en macro-instructies, omvattende een relatief langzaam toegankelijk secundair geheugen gekoppeld met de genoemde bus omvattende een aantal pagina’s waarbij elke pagina een aantal van de genoemde datasignalen bevat, en 15 een relatief snel toegankelijk hoofdgeheugen, dat gekoppeld is met de genoemde bus, voor het ontvangen en leveren van datasignalen en voor ontvangen van adressignalen, welk hoofdgeheugen een aantal paginaframes omvat, ook bestemd om eenzelfde hoeveelheid datasignalen te herbergen als aanwezig is in een pagina van het genoemde secundaire geheugen en adiesseerbaar door fysische adressignalen omvattende paginaframenummersignalen en offsetsignalen, 20 welke centrale processor, stuurgeheugen en bus tezamen de middelen verschaffen voor het besturen van het kopiëren van een groep datasignalen ter grootte van een pagina vanuit het genoemde secundaire geheugen in de geadresseerde paginaframes van het hoofdgeheugen en omgekeerd, welke informatieverwerkende inrichting bestemd is om te reageren op bepaalde datasignalen representatief voor macro-instructies en opgeslagen in het genoemde fysische geheugen, welke centrale processor en 25 stuurgeheugen tezamen reageren op signalen die representatief zijn voor bepaalde geheugentoegang-macro-instructies voor lezen of schrijven teneinde virtuele adressignalen te genereren met inbegrip van segmentnummersignalen, paginanummersignalen en offsetsignalen en het leveren van deze virtuele adressignalen aan het genoemde grendelregister, welke centrale processor en stuurgeheugen verder reageren op de genoemde geheugentoegang-macro-30 adresinstructies voor het uitvoeren van een translatie van de genoemde virtuele adressignalen in corresponderende fysische adressignalen, welke translatie omvat het aanbieden van de genoemde segmentnummer-en paginanummersignalen aan het i loofdgeheugen voor het adresseren van bepaalde delen van het hoofdgeheugen, welke de paginaframenummersignalen bevatten, en de overdracht van de paginaframe-nummer vanuit het hoofdgeheugen tezamen met van het grendelregister afkomstige offsetsignalen naar het 35 geheugenadresregister, welke centrale processor en stuurgeheugen verder reageren op de geheugentoegang-macro-instructies voor leesbewerkingen door het aanbieden van datasignalen afkomstig van de geadresseerde hoofdgeheugen-paginaframes aan het geheugendataregister, en reageren op geheugentoegang-macro-instructies voor schrijfbewerkingen door het aanbieden van de geadresseerde hoofdgeheugenpaginaframesignalen van het 40 geheugendataregister.
Een dergelijk stelsel is bekend uit het Duitse Offenlegungsschrift DE 2.641.722. In dit bekende stelsel worden de geheugenpagina’s die behoren bij één van de diverse processen die in het systeem worden uitgevoerd herladen in een secundair geheugen vanaf het hoofdgeheugen wanneer het proces dat gerelateerd is aan deze pagina’s actief wordt doordat de uitvoering ervan wordt hervat. Aangegeven wordt 45 dat de geheugenpagina’s, die geassocieerd waren met het proces toen het proces voor het laatst actief was, als groep worden herladen in het secundaire geheugen wanneer de uitvoering van het proces wordt hervat en niet individueel worden herladen als naar de betreffende pagina wordt verwezen tijdens de uitvoering van het proces.
De uitvinding heeft nu ten doel de werksnelheid van het stelsel te verhogen door het reduceren van de 50 tijdsduur die nodig is voor de translatie van virtuele adressen naar fysieke adressen.
Aan deze doelstelling wordt bij een stelsel van in de aanhef genoemde soort voldaan, door een geïndexeerd willekeurig toegankelijk geheugen binnen de centrale processor voorzien van indexering-smiddelen gekoppeld met bepaalde uitgangen van het grendelregister, multiplexermiddelen waarvan de uitgangen zijn verbonden met de ingangen van het geheugenadresregister, 55 welke middelen twee groepen van ingangen bezitten, waarbij de uitgangen van het willekeurig toegankelijke geheugen zijn gekoppeld met de eerste groep van ingangen en de uitgangen van het grendelregister zijn gekoppeld met de tweede groep van ingangen, 192144 2 welke centrale processor en stuurgeheugen tezamen aanvankelijk reageren op de genoemde geheugentoegang-macro-instructie voor het aanbieden van signalen die representatief zijn voor het virtuele adrespaginanummer vanuit het grendelregister naar de indexeringsmiddelen van het willekeurig toegankelijke geheugen teneinde aan de uitgangen ervan de groep van signalen opgeborgen op de geïndexeerde 5 plaats aan te bieden met inbegrip van signalen, die representatief zijn voor het genoemde paginaframe-nummer en een foutsignaal dat een van twee toestanden kan aannemen, welke multiplexermiddelen reageren op een eerste toestand van het genoemde foutsignaal voor het overdragen van de geïndexeerde paginaframenummersignalen van het genoemde willekeurig toegankelijke geheugen naar het geheugenadresregister voor het adresseren van het hoofdgeheugen, en reageren op 10 een tweede toestand van het foutsignaal voor het overdragen van virtuele adressignalen afkomstig van het grendelregister naar het geheugenadresregister ter translatie, welke centrale processor en stuurgeheugen verder reageren op de tweede toestand van het genoemde foutsignaal door uitvoeren van de translatie van de virtuele adressignalen en het aanbieden van signalen die representatief zijn voor het genoemde vertaalde paginaframenummer aan de geïndexeerde locatie in het 15 willekeurig toegankelijke geheugen tezamen met een foutsignaal dat de eerste toestand heeft, een monitorbit in het genoemde hoofdgeheugen geassocieerd met elk virtueel geheugensegment, welk bit een van twee toestanden aanneemt en een stapelsignaalgeheugen in de centrale processor, welke centrale processor en stuurmiddelen tezamen reageren op de genoemde tweede toestand van het 20 foutsignaal en op de virtuele adressegmentnummersignalen gedurende de translatie van het genoemde virtuele adres teneinde het monitorbit voor elk segment te adresseren en de toestand ervan te testen, welke centrale processor en stuurmiddelen reageren op de eerste toestand van het genoemde monitorbit door het aanbieden van virtuele adrespaginanummersignalen aan de stapelsignaafgeheugenmiddelen voor opslag daarin, 25 welke centrale processor en stuurmiddelen reageren op een omschakeling van taken gedurende het bedrijf van de genoemde inrichting door het ophalen van opgeborgen virtuele adrespaginanummersignalen uit de stapelsignaafgeheugenmiddelen en het aanbieden van de opgeborgen signalen als indexeringssignalen aan het willekeurig toegankelijke geheugen voor het instellen van het foutsignaal in zijn genoemde tweede toestand.
30 Reductie van de translatietijd wordt bereikt door reductie van het aantal translaties en reductie van het translatieproces zelf. Volgens de uitvinding wordt de reductie bereikt door pagina’s vanuit het fysieke geheugen in het hoofdgeheugen op te nemen door middel van een referentie/wijzigingstabel die opgeslagen is in een lokale RAM en door het niet volledig wissen van het geheugen maar selectief wissen daarvan tijdens een taakwisseling naar een nieuw gebruikerssegment.
35 Opgemerkt wordt dat het Amerikaanse octrooischrift US 3.976.978 een werkwijze beschrijft voor het vertalen van virtuele adressen in fysieke adressen. Deze werkwijze heeft echter geen betrekking op het verhogen van de snelheid waarmee pagina’s in een geheugen kunnen worden geadresseerd.
Opgemerkt wordt verder dat in het artikel ’’Dynamic Address Translation (DAT) for Multiprocessing System”, gepubliceerd in IBM Technical Disclosure Bulletin, volume 14, nr. 5, pagina’s 1608-1609 een deel 40 van de materie van de onderhavige aanvrage wordt beschreven dat gericht is op het opslaan van fysieke adressen corresponderend met eerder vertaalde adressen in een T/RAM zodat deze snel toegankelijk zijn. Het gebruik van een monitorbit, waarmee aangegeven wordt dat bepaalde pagina’s van de virtuele adresruimte worden gedeeld door alle processen die momentaan op het systeem actief zijn, wordt hierin echter niet genoemd.
45
Andere doelstellingen, kenmerken en voordelen zullen duidelijk worden aan de hand van de volgende gedetailleerde beschrijving van de uitvinding waarin wordt verwezen naar de tekeningen.
Figuur 1 toont een schematisch overzicht van een informatieverwerkende machine.
Figuur 2 toont een vereenvoudigd blokschema van de centrale processor van de informatieverwerkende 50 inrichting uit figuur 1.
Figuur 3 toont een schematische indeling van de virtuele adresruimte van de informatieverwerkende inrichting uit figuur 1.
Figuur 4 toont het formaat van een ingevoerd gegeven in de translatie-RAM.
Figuur 5 toont het formaat van een virtueel adres.
55 Figuur 6 toont het formaat van een ingevoerd gegeven in de paginatabel.
Figuur 7 toont het formaat van een segmentstuurregister.
Figuur 8 toont het formaat van een fysisch adres.
3 192144
Figuur 9 toont schematisch het stuurgeheugen en de bijbehorende uitgangen.
Figuur 10 toont de schakelingen voor het af leiden van bepaalde stuursignalen uit bepaalde uitgangssignalen van het stuurgeheugen.
Figuur 11 toont in détail de schakeling van het T/RAM-adresgrendelregister.
5 Figuur 12 toont in detail de schakeling van de T/RAM.
Figuren 13,14 en 15 tonen schakelingen voor het afleiden van bepaalde stuursignalen.
Figuur 16 toont de schakeling van de T/RAM multiplexer in detail.
Figuur 17 toont de schakeling van de referentie/wijzigingstabei in detail.
Figuur 18 toont de tijdsbepalende signalen die gebruikt worden voor het besturen van de werking van de 10 informatieverwerkende inrichting.
Figuur 19 toont in detail de elementen van de centrale processor die betrekking hebben op de monitor-functie.
Figuur 20 illustreert in concept de werkwijze voor het wissen van waargenomen ingevoerde gegevens in de T/RAM.
15 Figuur 21 toont de schakeling van de geheugenadresregistermultiplexer in detail.
Figuren 22 en 23 tonen de tijdsrelaties bij toegang tot de T/RAM en bij het laden van een in te voeren gegeven in de T/RAM.
In de bijgaande figuren, en in het bijzonder in figuur 1, is een informatieverwerkende inrichting, gebruik 20 makend van en virtueel geheugen, schematisch geïllustreerd. De informatieverwerkende inrichting 10 is voorzien van een centrale processor (CPU) 12, die direct toegang heeft tot een stuurgeheugen 14, waarin groepen van stuursignalen zijn ondergebracht voor het sturen van de hardware van de informatieverwerkende inrichting. Bepaalde groepen van stuursignalen worden aangesproken in responsie op instructies ingevoerd via perifere eenheden, of in responsie op de huidige bedrijfstoestanden binnen de centrale 25 processor, alles op een uit de stand der techniek bekende wijze.
De informatieverwerkende inrichting 10 omvat verder een hoofdgeheugen 16 en een geheugenstuur-eenheid 18, die als functie heeft het verdelen van de adrestoegankelijkheid tussen de centrale processor en de perifere eenheden. Tot de perifere eenheden behoort een secundair geheugen 20, en andere eenheden zoals een toetsenbord, een beeldschermeenheid, een afdrukeenheid, telecommunicatiekoppelschakelingen 30 en dergelijke. Het hoofdgeheugen 16 wordt geadresseerd door de centrale processor via de bus 15 (waartoe data- en adreslijnen behoren) en de geheugenstuureenheid 18.
Het hoofdgeheugen 16 heeft een capaciteit van 8 megabytes (8.388.608 bytes) met een woordgrootte van 32 bits (vier bytes). Het hoofdgeheugen 16 wordt geadresseerd over 24 lijnen, via welke een 24-bit fysisch adres wordt aangeboden. De inhoud van het hoofdgeheugen 16 wordt verdeeld in paginaframes.
35 Een paginaframe heeft een grootte van 2 Kbytes. Zoals blijkt uit figuur 8 omvat het 24-bits fysische adresformaat een 13-bit paginaframenummer en een 11-bit offsetinfomnatie waarmee een byte binnen het paginaframe wordt gespecificeerd. (Het (meest significante) extra bit in het paginaframenummer maakt een toekomstige uitbreiding van het geheugen met een factor 2 mogelijk).
De inhouden van de bestandsgeheugeneenheden ofwel het secundaire geheugen 20 zijn verdeeld in 40 pagina’s, waarbij elke pagina dezelfde afmeting heeft als het paginaframe in het hoofdgeheugen 16, dat wil zeggen 2 Kbytes groot is. Data wordt overgedragen tussen het secundaire geheugen en het hoofdgeheugen in blokken, in het bijzonder in pagina’s. De betreffende wijze waarop dit wordt gerealiseerd maakt geen deel uit van de uitvinding.
In figuur 2 zijn een aantal elementen van de centrale processor 12, die in verband met de uitvinding van 45 belang zijn, in meer detail dan in figuur 1 in een blokschema geïllustreerd. De centrale processor 12 bevat in het bijzonder een rekenkundige eenheid (ALU) 22 van bekend ontwerp, voorzien van twee 32-bits ingangsbussen, de A-bus 21 en de B-bus 23, terwijl de uitgang gekoppeld is met een 32-bits bestemmings-bus, de C-bus 24. De Obus 24 vormt, naast andere bestemmingen, de ingang voor een stapelgeheugen 30, omvattende 256 registers van elk 32 bits, van een Obus/geheugenmultiplexer 32, van een T/RAM 50 adresgrendelregister 38, en van een 24-bits virtueel adresregister 26. Een deel van het stapelgeheugen 30 is aangegeven als het monitorgebied 34, omvattende registers met 128 woorden van elk 32 bits. Zoals uit het volgende nog zal blijken wordt het monitorgebied 34 gebruikt voor het opslaan van een lijst van kortgeleden vertaalde virtuele adressen. De functie van het monitorgebied zal uit het volgende nog blijken en in het bijzonder duidelijk worden uit de beschrijving van figuur 19.
55 Een verder deel 36 van het stapelgeheugen 30 wordt gebruikt voor het opslaan van een groep signalen samen aangeduid als de tabel van segmentbeschrijvingswoorden. Er zijn 8 van deze segmentbeschrijvings-woorden in de tabel, een voor elk segment van de virtuele adresruimte, gerealiseerd op een bepaald 192144 4 moment door de hardware. Het formaat van een segmentbeschrijvingswoord is getoond in figuur 7 en de toepassing etvan zal bij de beschrijving van figuur 19 worden verklaard.
De C-bus/geheugenmultiplexer 32 wordt geschakeld door geheugenstuursignalen, die in verband met de uitvinding van minder belang zijn, teneinde ofwel data vanaf het hoofdgeheugen ofwel vanaf de C-bus 24 5 door te geven via de uitgang van de multiplexer 32 naar een groep van 5 geheugendataregisters (0-4) 40. De uitgangssignalen van de geheugendataregisters 40 worden ofwel toegevoerd aan een databuffer 44 en vandaar naar het hoofdgeheugen 16, ofwel toegevoerd aan een groep werkregisters en verschuivings- en veimenigvuldigingslogicaschakelingen, die niet in detail getoond zijn, omdat hun bepaalde configuratie geen deel uitmaakt van de uitvinding.
10 Het 32-bits statusregister 46 is niet gekoppeld met de A-, B- of C-bus; de bits ervan worden individueel ingesteld en afgetast door de hardware van de CPU 12 tijdens het bedrijf. De bepaalde statusbits die in verband met de uitvinding van belang zijn zijn de bits ”M2H” en ”M2B” die op een nog te beschrijven wijze ingesteld worden door de schakeling van figuur 17, en ’’STATE”, hetgeen het ingangssignaal is van de schakeling van figuur 14. Dit ”STATE”-bit indiceerd ofwel de ’’systeemtoestand” (STATE = 0) ofwel de 15 ’’gebruikerstoestand” (STATE = 1); het bedrijfssysteem loopt in de systeemtoestand, terwijl alle programma’s lopen in de gebruikerstoestand. Bepaalde machinefuncties kunnen in de ene of de andere toestand niet beschikbaar zijn; de details zijn in verband met de uitvinding niet relevant.
Het hoofdgeheugen 16 wordt geadresseerd door een groep van drie geheugenadresregisters (MAR 0-2) tezamen aangeduid door het referentiecijfer 28. De MAR’s 28 worden geladen vanuit de MAR-multiplexer 20 52, die in meer detail in figuur 21 is getoond. De drie individuele MAR-registers hebben respectievelijk een lengte van 24, 32 en 32 bits. Individuele registers van deze drie geheugenadresregisters worden geselecteerd voor het uitvoeren van verschillende functies door de CPU 12, maar deze selectie is in verband met - de uitvinding van minder belang en zal in het volgende niet worden gespecificeerd. De uitgangssignalen van de MAR’s 28 worden toegevoerd aan de B-bus 23 en aan een (niet getoond) geheugenadresgrendel-25 register, van waar de (fysische) adressignalen worden afgegeven voor het adresseren van het hoofdgeheugen 16 op een conventionele wijze, hetgeen ook weer geen deel uitmaakt van de uitvinding.
Teneinde in overeenstemming met de uitvinding voordelen te realiseren in het geheugenbeheer omvat de centrale processor 10 verder een lokaal willekeurig toegankelijk geheugen 42, aangeduid met de term translatie-RAM of T/RAM, voorzien van 4K (4096) geheugenplaatsen van elk 16 bits. De T/RAM 42 wordt 30 geïndexeerd door 12 lijnen die tezamen een 12-bits index verschaffen en bevat een ingevoerd gegeven per pagina (elke pagina bevat 2 Kbytes) voor de gehele 8 megabyte grote virtuele adresruimte, die door de hardware kan worden gerealiseerd.
In een voor meerdere taken bestemde informatieverwerkende inrichting kan de virtuele adresruimte worden beschouwd als verdeeld in segmenten. In de hierin beschreven specifieke inrichting is de virtuele 35 adresruimte verdeeld in 8 segmenten, elk ter grootte van 1 megabyte. Zoals blijkt uit figuur 3, waarin de door de hardware gerealiseerde virtuele adresruimte in concept is getoond, bevat het segment 0 de bedrijfsprogrammatuur van de informatieverwerkende inrichting, segment 1 bevat een gebruikerprogramma, segment 2 bevat een gebruikerprogramma en verdere segmenten zijn voor uitbreiding beschikbaar. Elke gebmiker van de machine ziet een virtuele adresruimte van 8 segmenten, waarbij de bedrijfsprogrammatuur 40 aanwezig is in segment 0 van deze ruimte, terwijl zijn eigen programma en data aanwezig zijn in de resterende segmenten.
Het 24-bits virtuele adresformaat is getoond in figuur 5. Het eerste (meest significante) bit (VO) in de virtuele adressignalen is een ongeldig-bit, hetgeen in een geldig 23-bits adres gelijk is aan 0; als dit bit gelijk is aan 1, dan is het adres groter dan toegestaan. (Het 24-bits virtuele adresformaat maakt een toekomstige 45 uitbreiding van de door de hardware gerealiseerde virtuele adresruimte mogelijk). De toestand van het meest significante bit VO wordt getest door de hardware in de inrichting, zoals zal worden beschreven. De bits V1 en V12 vormen een eenheid, aangeduid als de T/RAM-index. Dit deel van het adres wordt logisch verdeeld in twee gedeelten, een segmentnummer en een paginanummer, tijdens het bedrijf van de centrale processor. Er wordt echter in hardware geen onderscheid gemaakt. De T/RAM-index wordt vertaald 50 gedurende het proces waarin het virtuele adres wordt afgebeeld op het fysische adres, op een wijze zoals nog zal worden beschreven. Het overblijvende deel van het virtuele adres (V13-V23) vormt de 11-bits offset, ofwel de plaats van het byte binnen de pagina. Dit deel van het adres wordt niet vertaald, omdat het zowel voor het virtuele als voor het fysische adres gelijk is.
Voor het opbergen van signalen in de T/RAM of voor het ophalen van signalen daaruit wordt de T/RAM 55 geïndexeerd door de twaalf ”T/RAM index” signalen afgegeven door het T/RAM-adresgrendelregister 38, dat 24 virtuele adressignalen (zoals getoond in figuur 5) ontvangt de C-bus 24. Tijdens het bedrijf van de informatieverwerkende inrichting wordt de T/RAM met telkens een gegeven tegelijkertijd geladen vanuit het 5 192144 virtuele adresregister 26 op een nog nader te beschrijven wijze.
Het formaat van een in de T/RAM ingevoerd gegeven is getoond in figuur 4. Dit gehele gegeven omvat 16 bits; bit 0 is een foutbit, bit 1 is een leesbeschermbit, bit 2 is een schrijfbeschermbit, en de bits 3-15 bevatten het paginaframenummer. Zoals blijkt uit figuur 2 worden de paginaframenummersignalen van een 5 geadresseerd ingevoerd gegeven uitgelezen uit de T/RAM 42 en toegevoerd aan de T/RAM multiplexer 54* die tevens een ingangssignaal ontvangt van het T/RAM-adresgrendelregister 38. De werking van de T/RAM multiplexer 54 zal nog aan de hand van figuur 16 worden besproken.
Het paginaframenummergedeelte (de bits 3-15) van het uitgangssignaal van T/RAM 42 wordt eveneens gebruikt voor het indexeren van de referentie- en wijzigingstabel 50, welke een 2-bits ingevoerd gegeven 10 per paginaframenummer bevat. Het gebruik van een referentie- en wijzigingstabel is op zichzelf bekend en zal derhalve niet in detail worden besproken. De twee bits omvatten een referentiebit en een wijzigingsbit voor elk paginaframe; het referentiebit wordt hoog ingesteld om een referentie naar dat paginaframe In het hoofdgeheugen aan te geven; het wijzigingsbit wordt hoog ingesteld om aan te geven dat het corresponderende ingevoerde gegeven in het hoofdgeheugen is gewijzigd. Als deel van zijn ’’huishoudelijke” bewerkin-15 gen refereert de bedrijfsprogrammatuur aan het wijzigingsbit en herschrijft het corresponderende deel van het secundaire geheugen teneinde dit in overeenstemming te houden met het hoofdgeheugen. De referentie- of wijzigingsbïts worden alleen ingesteld wanneer een translatie wordt uitgevoerd, niet bij elke geheugen referentie. (Het optreden van niet op translatie betrekking hebbende geheugenreferenties zal nog in het volgende worden besproken). De referentie- en wijzigingsbits worden teruggesteld wanneer het 20 paginaframe opnieuw wordt gebruikt, dat wil zeggen wanneer een verschillend gedeelte van het secundaire geheugen wordt gelezen in dat paginaframe van het hoofdgeheugen, normaal op een tijdstip waarop de informatieverwerkende inrichting van taak wisselt.
In verband met de uitvinding is het van belang dat de geheugenadresregisters 28 langs twee wegen ingangssignalen ontvangen. Allereerst worden bij het optreden van de ”T/RAM-fout”, die nog in het 25 volgende wordt besproken, (virtuele) paginanummersignalen ontvangen van het T/RAM-adresgrendelregister 38. Anderzijds, wanneer er geen fout optreedt in de T/RAM, dan worden de (fysische) paginaframenummersignalen ontvangen van de T/RAM multiplexer 54. In beide gevallen worden de offsetsignalen (de elf minder significante bits) ontvangen van het T/RAM-adresgrendelregister 38.
Zoals blijkt uit figuur 9 bevat het stuurgeheugen 14 stuursignalen die worden aangesproken in groepen 30 van 48 signalen, afgegeven aan de uitgang op 48 parallelle lijnen. Het signaal op elke lijn kan ofwel hoog; (1) ofwel laag (0) zijn, en wordt direct toegevoerd aan de hardwareschakelingen van de centrale processor 12, teneinde de werking daarvan te besturen. Van de signalen op de lijnen zijn er slechts enkele in verband met de uitvinding van belang. Dat zijn de signalen 0-6, die als groep worden aangeboden aan een decodeerschakeling (figuur 10) teneinde een van de stuursignalen, geïdentificeerd door de mnemonics 35 ’’LT/RAM" (laden van een gegeven in de T/RAM), ”TRCT” (test referentie/wijzigingstabel), en ”RRCT’ (terugstellen referentie/wijzigingstabel) indiceren, de signalen 22 en 23, die een van de drie MAR-registers 28 selecteren en waarvan de toepassing nog in het volgende zal worden besproken; en de signalen 27-29, die als groep worden aangeboden aan een decodeerschakeling (figuur 10) voor het afleiden van een van beide translatiestuursignalen geïdentificeerd door de mnemonics ”WT’ (translatiebewerking van het 40 schrijftype) en ”TRAN” (translatiebewerking). De bepaalde toepassing van de afgeleide stuursignalen zaf uit het volgende nog duidelijk blijken.
De algemene wijze van aanspreken van bepaalde groepen van stuursignalen in responsie op macro-instructies en machinetoestanden vormt geen deel van de uitvinding en zal op zichzelf duidelijk zijn uit de stand der techniek van het besturen van informatieverwerkende inrichtingen. Het aanspreken van bepaalde 45 groepen, die in verband met de uitvinding van belang zijn, zal in het volgende nog worden beschreven.
In figuur 11 is de schakeling van het T/RAM-adresgrendelregister 38 in detail getoond. De bits 8-31 van de 32-bits C-bus 24 waarover het virtuele 24-bits adres wordt getransporteerd, worden ingevoerd in het grendelregister 38. Het grendelregister 38 wordt bestuurd door een signaal op de ingang ”CK”, omvattende een stuursignaal en een kloksignaal; het stuursignaal is een van de signalen aangeduid met TRAN, 50 LT/RAM, TRCT, of RRCT, waarvan de afleidingen zijn getoond in figuur 10, terwijl het kloksignaal is aangeduid met ”T2” (figuur 18). Onder klokpulssturing zorgt het grendelregister voor overdracht van de bits 0-13, waartoe behoort het bit VO ("IVA”) en de 12 bits van de T/RAM index (zie figuur 5) van het virtuele adres. De resterende uitgangssignalen van het grendelregister 38 omvatten de 11-bits offset (zie figuur 5) en worden aangeboden aan de MAR multiplexer 52.
55 In figuur 12 is de schakeling van de T/RAM 42 in detail getoond. De twaalf T/RAM indexbits van het grendelregister 38 (figuur 11) worden aangeboden voor het indexeren van de T/RAM ofwel voor de ingang laden ofwel voor de uitgang translatie. Signalen, die een in de T/RAM in te voeren gegeven vertegenwoordt- 192144 6 gen, kunnen aan de T/RAM worden aangeboden aan de data-ingangspoorten ("Dl”), afkomstig van het virtuele adresregister (26) bij aanbieden van het stuursignaal ’’LT/RAM” (van de schakeling volgens figuur 10) tezamen met het kloksignaa! T2 (figuur 18). De signalen worden opgeborgen op de geïndexeerde plaats. Signalen representatief voor het geïndexeerde ingevoerde gegeven worden uitgevoerd via de 5 data-uitgangspoorten (”DO”) en de bits 3-15 (die het paginaframenummer vertegenwoordigen) worden aangeboden aan de T/RAM multiplexer 54 (figuur 16), waarvan de werking nog zal worden beschreven.
Zoals blijkt uit figuur 4 bevatten de als ingevoerd gegeven in de T/RAM opgeborgen signalen een foutbit (F), een leesbeschermbit (RP) en een schrijf bescherm bit (WP) alsmede een paginaframenummer van 13 bits. Zoals blijkt uit figuur 12 worden deze zestien signalen afgegeven via de data-uitgangspoorten (DO) van 10 de T/RAM 42. Figuur 13 toont dat het foutbit tezamen met het "IVA” bit van het T/RAM adresgrendelregister 38 (figuur 11), de stuursignalen CM 22 en 23 van het stuurgeheugen 14 (MAR selectiesignalen), en TRAN (van figuur 10) worden aangeboden aan de logische translatietrapschakeling 56, die een van de twee mogelijke trapsignalen TTO en TT1 genereert. Dit zijn beide translatietrapsignalen; het onderscheid ertussen hangt alleen af van het feit welk van de geheugenadresregister de adressignalen moeten ontvangen, 15 hetgeen in verband met de uitvinding niet van belang is.
Zoals blijkt uit figuur 14 worden de WP en RP bits van de T/RAM 42 tezamen met het STATE statusbit (figuur 2) en de WT en TRAN stuursignalen (van figuur 10) aangeboden aan een logische beschermings-trapschakeling 58. Deze schakeling genereert een trapsignaal TT2. Het gebruik van beschermingsbits is in het algemeen beken en zal niet in detail worden beschreven.
20 De drie trapsignalen worden aangeboden aan de schakeling 60 van figuur 15, die indien er geen trapsignaal is gegenereerd (dat wil zeggen dat er noch een T/RAM fout noch een beschermingsfout optreedt) een ’’geen trap” stuursignaal TT opwekt. De verdere functie van de drie trapsignalen zal in het volgende nog worden beschreven.
Zoals blijkt uit figuur 16 wordt het stuursignaal TT tezamen met het klokpulssignaal T1 aangeboden aan 25 de T/RAM multiplexer 54 voor het selecteren van een van zijn twee ingangen (elke ingang bestaat uit een groep van lijnen). Indien er geen trapsignalen optreden dan wordt het 13-bit paginaframenummergedeelte van het ingevoerde T/RAM gegeven, dat uit de T/RAM 42 is uitgelezen (als fysisch adres) overgedragen door de multiplexer 54 via de lijnen TR 0-12 naar de MAR multiplexer 52 (figuur 2). Als echter een trapsignaal optreedt, dan worden de C-bus bits 8-20 (virtueel adres) overgedragen via de lijnen TR 0-12 30 naar de MAR multiplexer 52.
In figuur 17 is de referentie/wijzigingstabel 50 in meer detail getoond. De stuursignalen, die de werking van deze tabel besturen, zijn aangeduid met de mnemonics WT (translatie-operatie van het schrijftype), RRCT (terugstellen referentie/wijzigingstabel), RF (instellen referentiebit), en TRCT (testen referentie/ wijzigingstabel), alle afkomstig van figuur 10; TRAN (translatiebewerking), afkomstig van figuur 13; TT (geen 35 trapsignalen) afkomstig van figuur 15; CM 22 (een van de MAR selectiestuursignalen) afkomstig van figuur 9; en CL9 en CL10, die worden afgegeven door het T/RAM grendelregister 38 (figuur 11). De klokpuls-signalen T1 en TA (figuur 18) besturen verder de werking van de referentie/wijzigingstabel. Het signaal RRCT zorgt voor het terugstellen van het 2-bits ingevoerde gegeven, geïndexeerd door de T/RAM bits 3-15 op ”00” (beide bits zijn op de lage toestand gesteld). Het signaal RF zorgt voor het instellen van het 40 ’’referentie” bit van het geïndexeerde ingevoerde gegeven in de hoge toestand. Het signaal WT zorgt met TT voor het instellen in de hoge toestand. Het gebruik van het paginaframenummer van T/RAM 42 voor het indexeren van de referentie/wijzigingstabel 50 resulteert in een toenemende snelheid en werkingsgraad van het bedrijf van de informatieverwerkende inrichting.
Het signaal TRCT zorgt ervoor dat de statusbits "M2H” en ”M2B” in het statusregister 46 (figuur 2) 45 worden ingesteld op de waarden van de referentie- en wijzigingsbits van het geadresseerde ingevoerde gegeven. De statusbits worden later getest door de bedrijfprogrammatuur om vast te stellen welke delen van het secundaire geheugen beschreven moet worden om ze in overeenstemming te houden met de inhouden van het hoofdgeheugen. Deze procedure is in de stand der techniek betreffende de werking van informatieverwerkende machines bekend en maakt ook geen deel uit van de uitvinding.
50 Zoals blijkt uit figuur 9 worden de trapsignalen ttO, tt1 en tt2 gebruikt om toegang te verkrijgen tot bepaalde groepen van stuursignalen opgeborgen in het stuurgeheugen. De details van bepaalde stuursignalen voor het uitvoeren van geïndexeerde functies zullen afhangen van de gedetailleerde structuur van de machine, waarin zij moeten worden gebruikt en het valt binnen de kennis van ontwerpers van informatieverwerkende machines om dergelijke bepaalde signalen te selecteren. Derhalve zal dit aspect van 55 de werking van de inrichting slechts in zijn algemeenheid worden aangegeven zonder detail te beschrijving van de stuursignalen, met uitzondering van het signaal dat nodig is voor het laden van T/RAM.
In het algemeen bestuurt de T/RAM fouten behandelende groep van stuursignalen de CPU voor het 7 192144 kopiëren van signalen uit het gedeelte 36 van de stapel 30 (tabel van segmentbeschrijvingswoorden) in een van de geheugendataregisters 40, welke signalen representatief zijn voor een bepaald segment-beschrijvingswoord geïndiceerd door het segmentgedeelte (de drie hoogst significante bits) van de T/RAM index van de virtuele adressignalen, die zijn afgedragen naar een werkregister vanuit de geheugenadres-5 registers 28 via de B-bus 23.
Uit figuur 7 blijkt dat elk segmentsbeschrijvingswoord bestaat uit 32 bits, waarvan het bit 0 wordt aangeduid als het ’’monitoibit”, waarvan het gebruik nog nader zal worden beschreven; de bits 1-10 vertegenwoordigen de lengte van de paginatabel voor het segment; de bits 11-30 vertegenwoordigen het adres van de paginatabel voor het segment; en bit 31 is een ’’virlueel/fysisch” bit aangevende of het adres 10 virtueel of fysisch is. Als het paginatabeladres fysisch is dan behoeft het adres niet te worden vertaald; als het virtueel is dan moet het worden vertaald voorafgaande aan de verwerking.
Het paginatabeladresgedeelte van de segmentbeschrijvingswoordsignalen wordt gebruikt voor het adresseren van de paginatabel in het hoofdgeheugen 16. Het formaat van een ingevoerd gegeven in de paginatabel is getoond in figuur 6 en daaruit blijkt dat dit identiek is met het formaat van een ingevoerd 15 gegeven in T/RAM. Het bepaalde ingevoerde gegeven in een paginatabel wordt geadresseerd door gebruik te maken van het paginagedeelte van het T/RAM indexgedeelte (de bits V1-V13) van de virtuele adressignalen (die nu in het werkregister staan). De signalen, die representatief voor het geadresseerde ingevoerde gegeven in de paginatabel worden vanuit het hoofdgeheugen naar het virtuele adresregister 26 gebracht. De foutbit van de PTE wordt getest. Indien het Foutbit = 1, dan bevindt de pagina zich niet in het 20 geheugen en moet met behulp van conventionele middelen daarnaar worden overgebracht, en het foutbit wordt teruggesteld op segment 0. Als het foutbit = 0, dan zorgen de stuursignalen LT/RAM (figuur 10) voor het iaden van de paginatabel-invoersignalen in de T/RAM op de geïndexeerde positie samen met het foutbit ingesteld op 0 en beschermingsbits waarvan de toestand wordt bepaald op een wijze die in velband met de uitvinding niet van belang is.
25 Zoals blijkt uit figuur 19 wordt het ’’monitorbit” van de segmentbeschrijvingswoordsignalen getest door de schakeling 62. Als het monitorbit laag is dan wordt de interpretatie van de macro-instructie opnieuw gestart. Als het monitorbit hoog is, dan wordt een stuursignaal ”MOVE VA” afgegeven, waardoor de virtuele adressignalen vanaf het werkregister worden aangeboden aan het stapelregister 30. De stapeladreslogica-schakeling 64 adresseert een plaats in het monitorgebied 34 van het stapelregister; de virtuele adres-30 signalen worden opgeborgen binnen het monitorgebied. Maximaal 128 virtuele adressen kunnen in het monitorgebied worden opgeborgen. Er wordt een telling bijgehouden en gebruikt door de stapeladreslogica-schakeling 64 bij het laden van verdere virtuele adressen. Nadat de virtuele adressen in het monitorgebied 34 zijn opgeslagen wordt de interpretatie van de macro-instructie opnieuw gestart.
De in het monitorgebied 34 opgeslagen virtuele adressignalen zijn voor gebruik beschikbaar bij het 35 wissen van bepaalde ingevoerde gegevens in T/RAM 42. Dat kan op diverse manieren worden uitgevoerd afhankelijk van bedrijfsomstandigheden die in verband met de uitvinding niet van belang zijn. In het bijzonder wanneer de informatieverwerkende inrichting wisselt van de ene taak naar de andere, kunnen waargenomen ingevoerde gegevens worden gewist door de bedrijfsprogrammatuur in samenhang met andere ’’huishoudelijke” operaties, die uitgevoerd worden in verband met de taakwisseling, hetgeen in 40 velband met de uitvinding verder niet van belang is. In figuur 9 wordt een ”taakwissel”signaal (afkomstig van de bedrijfsprogrammatuur) gebruikt om toegang te verkrijgen tot bepaalde stuursignalen in het stuurgeheugen teneinde de waargenomen ingevoerde gegevens te wissen.
Tijdens het wissen van een ingevoerd gegeven in de T/RAM worden, zoals blijkt uit het concept dat geïllustreerd is in figuur 20, de in het monitorgebied 34 van het stapelregister 30 opgeslagen virtuele 45 adressignalen toegevoerd aan het T/RAM adresgrendelregister 38 voor het indexeren van een bepaald ingevoerd te wissen gegeven. Het hoogst significante (fout) bit van het ingevoerde gegeven wordt in de hoge toestand ingesteld en de overblijvende bits worden in de lage toestand ingesteld op de geïndexeerde plaats teneinde het gegeven te wissen. Door gebruik te maken van adressen uit het monitorgebied kunnen de betreffende ingevoerde gegevens snel worden gewist zonder dat het nodig is om de gehele T/RAM te 50 wissen. Tegelijkertijd kunnen de niet bewaakte ingevoerde gegevens (zoals signalen die representatief zijn voor adressen van een segment van de bedrijfsprogrammatuur) in de T/RAM blijven en behoeven niet te worden gewist of te herladen bij een volgende geheugentoegang. Dit bespaart verdere bedrijfstijd.
Als voorbeeld wordt gekeken naar het gebruik van segment 1 van de virtuele adresruimte (figuur 3). Wanneer het bedrijf van de informatieverwerkende inrichting begint, dan zijn er nog geen geldige inge-55 voerde gegevens in het T/RAM voor segment 1 van de virtuele adresruimte. De bedrijfsprogrammatuur zorgt aanvankelijk voor het laden van het segmentbeschrijvingswoord voor segment 1, met M = 1 (waarmee een bewakingsfunctie wordt geïndiceerd, die figuur 7). De taak die van segment 1 gebruik maakt begint dan.
192144 8
Verondersteld wordt, dat bij de uitvoering van deze taak geheugenreferenties naar negen pagina’s van segment 1 zijn betrokken voordat de taak wordt onderbroken. Als elk van deze pagina’s wordt aangesproken dan wordt zijn virtuele adres vertaald door referentie aan het segmentbeschrijvingswoord en de paginatabel; bij elke referentie wordt de toestand van het monitorbit genoteerd en terwijl elk fysisch adres 5 wordt opgeborgen in de T/RAM wordt het virtuele adres opgeborgen in het monitorgebied 34. Als de taak wordt ondetbroken dan moeten de in T/RAM ingevoerde gegevens van segment 1 worden gewist. In dit voorbeeld zullen er op dit tijdstip negen virtuele adressen opgeborgen zijn in het monitorgebied 34 van het stapelregister 30. Deihalve behoeven slechts deze negen in de T/RAM ingevoerde gegevens te worden gewist. Tijdens bedrijf wordt de translatiefunctie opgeroepen gedurende de werking van de CPU 12 in 10 responsie op een macro-instructie, dat wil zeggen een instructie die deel uitmaakt van het door de informatieve rwerkende inrichting uit te voeren programma. De CPU 12 interpreteert elke macro-instructie en de hardware-elementen van de CPU 12 functioneren in overeenstemming met de interpretatie voor het uitvoeren van de gespecificeerde operatie. Deze hardware-interpretatie van macro-instructies is in de stand der techniek algemeen bekend en de details ervan maken geen deel uit van de uitvinding met uitzondering 15 van het hiernavolgend beschrevene.
In de loop van de interpretatie van de macro-instructie zal de CPU 12, indien de CPU 12 herkent, dat een geheugentoegangsoperatie is gespecificeerd, de betreffende stuursignalen uit het stuurgeheugen 14 aanspreken, met inbegrip van bepaalde signalen op de lijnen CM 27-29 (figuur 10).
Niet iedere toegang tot het geheugen vereist een translatiebewerking. Veelal zullen opeenvolgende 20 geheugenoperaties betrekking hebben op naburige geheugenplaatsen en in zo’n geval is het mogelijk om in plaats van een geheel adres van 23 bits voor elke opeenvolgende geheugenoperatie te genereren het reeds gegenereerde adres (dat aanwezig is in de MAR’s 28) te verhogen of te verlagen teneinde de gespecificeerde plaats voor de volgende geheugenoperatie aan te geven. Deze verhogende of verlagende stap-functïes worden aangeduid als "golf’-operaties en in de hierin beschreven inrichting wordt de ”golf”-functie 25 gespecificeerd door combinaties van de stuursignalen op de lijn CM 27-29, anders dan die getoond in figuur 10. De selectie van de ’’golf”- of ”translatie”-groepen van stuursignalen binnen het stuurgeheugen hangt af van andere aspecten van de interpretatie van de macro-instructies door de CPU 12, hetgeen in velband met de onderhavige aanvrage niet van belang is.
Als het volgende fysische adres door translatie moet worden vastgesteld, dan zullen in plaats van een 30 ’’golf”-functie afhankelijk van het feit of het gaat om een schrijf- of leesoperatie, de via de drie lijnen CM 27-29 afgegeven signalen ofwel een "leeshoofdgeheugen met translatie”-operatie (RTRAN), of een ’’schrijfhoofdgeheugen met translatie”-operatie (WTRAN) besturen. Er zijn twee typen "RTRAN”-operaties mogelijk, afhankelijk van bepaalde bedrijfsomstandigheden die in verband met de uitvinding niet van belang zijn.
35 De groep van stuursignalen, waartoe de RTRAN of WTRAN combinaties van signalen op de lijnen CM 27-29 behoren, omvat ook C-bus-bestemmingsstuursignalen, welke ervoor zorgen, dat de signalen, die representatief zijn voor het virtuele adres, waar toegang tot het geheugen moet worden verkregen, worden geplaatst op de C-bus 24 en van de C-bus 24 worden aangeboden aan het virtuele adresregister 26 en aan het T/RAM adresgrendelregister 38. Het stuursignaal TRAN zorgt voor het grendelen van het T/RAM 40 indexgedeelte van de virtuele adressignalen uit het T/RAM adresgrendelregister 28 in T/RAM 42. Het geïndexeerde gegeven in T/RAM zorgt voor het invoeren van signalen afgegeven aan de data-uitgangspoorten van T/RAM 42. De fout- en beschermingsbits (TR 0-TR 2) worden aangeboden aan de trapschakelingen van de figuren 13 en 14, terwijl de paginaframenummerbits (TR 3-15) worden aangeboden aan de T/RAM multiplexer 54 (figuur 16). Zijn er geen trappen aanwezig, dan zorgt het ’’geen 45 trap”-signaal TT voor het schakelen van de multiplexer 54 voor het overdragen van de paginaframenummer-signalen naar de MAR multiplexer 52 (figuur 2), die deze dan overbrengt samen met de offsetsignalen (V14-23) naar de MAR’s 28, waarin een groep van signalen wordt gevormd als representatie van het fysische adres. Het geïndexeerde gegeven in de referentie/wijzigingstabel 50 wordt op dat moment bijgewerkt.
50 Als er anderzijds een T/RAM fout optreedt, dan wordt het foutbit (TR 0) ingevoerd in de schakeling 56 van figuur 13 en zorgt ervoor dat daar een translatietrapsignaal ttO of tt1 wordt gegenereerd. Het uitgangssignaal van de schakeling 60 (figuur 15) schakelt de multiplexer 54 op het doorgeven van TRAM adressignalen van de C-bus 24 naar de MAR multiplexer 52. Het translatietrapsignaal spreekt een bepaalde groep van stuursignaal in het stuurgeheugen 14 aan, welke ervoor zorgen dat een segmentbeschrijvings-55 woord in tabel 36 in het stapelregister 30 wordt gebruikt voor het in het geheugen 16 lokaliseren van de paginatabel voor dat segment. Het paginatabelgegeven wordt gevonden in de segmentpaginatabel en het bepaalde gedecodeerde stuursignaal LT/RAM (figuur 10) zorgt ervoor dat paginatabelgegevenssignalen 9 192144 worden geladen in de T/RAM 42 (figuur 12), van V MAR 26, op de plaats die wordt aangegeven door de T/RAM indexsignalen van het T/RAM adresgrendelregister 38: het monitorbit van het segmentbeschrijvings-woord wordt getest door de schakeling 62 en indien dit bit hoog is dan worden de virtuele adressignalen opgeborgen in het monitorgebied 34 van het stapelregister 30 voor gebruik bij het selectief wissen van de 5 ingevoerde gegevens in de T/RAM op een later tijdstip.
De interpretatie van de macro-instructie wordt dan opnieuw gestart. De WTRAN of RTRAN stuursignalen worden opnieuw aangeboden aan de schakeling van figuur 10, en de signalen van het geïndexeerde gegeven worden gelezen uit de T/RAM 42. Ditmaal maakt het foutbit = 0 het mogelijk dat de vertaalde paginaframenummersignalen worden geplaatst in de MAR’s 28 teneinde de door de macro-instructie 10 gespecificeerde lees· of schrijfoperatie uit te voeren. De referentie/wijzigingstabel 50 wordt bijgewerkt op de door de paginaframenummersignalen (figuur 17) op dat moment aangegeven plaats.
Indien er een beschermingsfout optreedt, gedetecteerd door de schakeling 58 van figuur 14, dan spreekt het beschermingstrapsignaal tt2 bepaalde stuursignalen in het stuurgeheugen 14 (figuur 9) aan om de juiste werking van de CPU 12 te initiëren op een wijze die in verband met de uitvinding verder niet van belang is. 15 De tijdsrelaties bij het indexeren van de T/RAM 42 zijn getoond in figuur 22. Zoals uit deze figuur blijkt bevat een cyclus van de centrale processor (CP) vier tijdintervallen TA, TO, T1 en T2 (deze signalen worden gegenereerd op de wijze als geïllustreerd is in figuur 18). Elke translatie-operatie vergt twee CP-cyclussen, een ”MOVE”-cydus en een "TRAN”-cyclus. De tijdsafhankelijkheid is dezelfde onafharttelijk of er een T/RAM fout optreedt.
20 Het tijdsignaal T2 wordt ingevoerd in het T/RAM adresgrendelregister 38 (figuur 11) voor het vasthouden van de virtuele adressignalen van de C-bus 24 voor het indexeren van de T/RAM 42. De F, WP en RP bits van het T/RAM uitgangssignalen worden aangeboden aan de schakelingen van de figuren 13 en 14 voor het genereren van trapsignalen, en het uitgangssignaal van de schakeling 60 (figuur 15) wordt tezamen met het tijdsignaal T1 aangeboden aan de T/RAM multiplexer 54. In geval van een T/RAM fout worden de 25 virtuele adressignalen overgedragen naar de MAR multiplexer 52; in andere gevallen worden de paginaframenummersignalen (het fysische adres) overgedragen. De uitgangssignalen van de MAR multiplexer 52 (figuur 23) worden geladen in de MAR’s 28 door T2. Tenslotte wordt de referentie- en wijzigingstabel 50 bijgewerkt op de volgende T1 (indien er geen T/RAM fout optreedt).
Zoals beschreven is wordt in het geval van een T/RAM fout een trapsignaal aangeboden aan het 30 stuurgeheugen 14 voor het aanspreken geschikte stuursignalen voor het behandelen van de fout. Een van de op deze wijze af te leiden signalen is LT/RAM (laden van T/RAM, figuur 10) die, zoals beschreven is, ervoor zorgt, dat de paginaframenummersignalen worden geladen in de T/RAM. De tijdsrelaties tijdens het laden van een gegeven in de T/RAM 42 na een T/RAM fout, zijn getoond in figuur 23.
Nadat de informatieverwerkende inrichting een deel van het eerste gebruikersprogramma heeft 35 uitgevoerd wordt de inrichting omgeschakeld voor het uitvoeren van het programma van een andere gebruiker. Dat zal in het algemeen betekenen dat nieuwe data ingebracht moeten worden vanaf de bestandsgeheugens (secundaire geheugen 20, figuur 1) naar het hoofdgeheugen. Een paginatabel (voor elk segment van de door de tweede gebruiker geldende virtuele adresruimte) wordt geconstrueerd door de bedrijfsprogrammatuur teneinde de bepaalde paginaframes in het hoofdgeheugen, waarin bepaalde pagina’s 40 van het secundaire geheugen moeten worden geschreven, vast te leggen. Deze paginatabellen zullen worden gebruikt voor het vertalen van virtuele in fysische adressen voor het virtuele geheugen, zoals dit wordt gezien door de tweede gebruiker. De paginatabellen voor het stelsel zoals dit werd gezien door de voorafgaande gebruiker zijn niet langer geldig (omdat het programma van de tweede gebruiker of de data nu kunnen worden gelokaliseerd in paginaframes die eerder werden gebruikt door de eerste gebruiker) en 45 gegevens in de T/RAM die verwijzen naar de eerste paginatabellen moeten ongeldig worden gemaakt.
De bedrijfsprogrammatuur reageert op deze taakomschakeling door het uitvoeren van een aantal ’’huishoudelijke” operaties, met het begrip van het activeren van nieuwe paginatabellen door het overbrengen van nieuwe segmentbeschrijvingswoorden vanaf het hoofdgeheugen naar het deel 36 van het stapelregister 30 teneinde de paginatabellen aan te wijzen. In de loop van deze operaties zal de besturings-50 programmatuur de waargenomen gegevens uit de T/RAM wissen, zoals getoond is in figuur 20, gebruik makend van de virtuele adressen die opgeborgen zijn in het monitorgebied 34 van het stapelregister 30 op de reeds beschreven wijze. Niet alle gegevens in de T/RAM zijn echter ongeldig; diegene, die verwijzen naar het bedrijfsprogrammatuursegment (segment 0) blijven geldig. Deze bedrijfsprogrammatuurdelen zijn bijvoorbeeld een inventarismodule, een pagineermodule, bestandsbeheerdiensten, of diensten in verband 55 met het beheer van een gegevensbestand. In dergelijke gevallen zal het segmentbeschrijvingswoord voor het segment dat deze module bevat, een monitorbit hebben, dat op de lage toestand is ingesteld en als resultaat daarvan zal geen virtueel adres in dit segment worden opgeborgen in het monitorgebied 34.
Claims (1)
192144 10 Derhalve zal geen van de voor dit segment in de T/RAM opgeslagen gegevens bij het wisselen van een taak worden gewist. Volgens de uitvinding zullen alleen de gegevens van de paginatabel voor een waargenomen segment ongeldig worden gemaakt wanneer een nieuwe taak wordt geactiveerd. 5 Voor meerdere taken geschikte informatieverwerkende inrichting, voorzien van een virtueel geheugen met een aantal segmenten, welke informatieverwerkende inrichting omvat 10 een centrale processor met inbegrip van een grendelregister, een geheugenadresregister en een geheugendataregister, een stuurgeheugen gekoppeld met de centrale processor, een bus gekoppeld met de centrale processor en omvattende adressignaallijnen voor ontvangst van datasignalen van het geheugendataregister en het leveren van datasignalen aan het geheugendata-15 register, een fysisch geheugen bestemd voor het opbergen van datasignalen die representatief zijn voor data en macro-instructies, omvattende een relatief langzaam toegankelijk secundair geheugen gekoppeld met de genoemde bus omvattende een aantal pagina’s waarbij elke pagina een aantal van de genoemde datasignalen bevat, en 20 een relatief snel toegankelijk hoofdgeheugen, dat gekoppeld is met de genoemde bus, voor het ontvangen en leveren van datasignalen en voor ontvangen van adressignalen, welk hoofdgeheugen een aantal paginaframes omvat, ook bestemd om eenzelfde hoeveelheid datasignalen te herbergen als aanwezig is in een pagina van het genoemde secundaire geheugen en adresseerbaar door fysische adressignalen omvattende paginaframenummersignalen en offsetsignalen, 25 welke centrale processor, stuurgeheugen en bus tezamen de middelen verschaffen voor het besturen van het kopiëren van een groep datasignalen ter grootte van een pagina vanuit het genoemde secundaire geheugen in de geadresseerde paginaframes van het hoofdgeheugen en omgekeerd, welke informatieverwerkende inrichting bestemd is om te reageren op bepaalde datasignalen representatief voor macro-instructies en opgeslagen in het genoemde fysische geheugen, welke centrale processor 30 en stuurgeheugen tezamen reageren op signalen die representatief zijn voor bepaalde geheugentoegang-macro-instructies voor lezen of schrijven teneinde virtuele adressignalen te genereren met inbegrip van segmentnummersignalen, paginanummersignalen en offsetsignalen en het leveren van deze virtuele adressignalen aan het genoemde grendelregister, welke centrale processor en stuurgeheugen verder reageren op de genoemde geheugentoegang-macro-35 adresinstructies voor het uitvoeren van een translatie van de genoemde virtuele adressignalen in corresponderende fysische adressignalen, welke translatie omvat het aanbieden van de genoemde segmentnummer- en paginanummersignalen aan het hoofdgeheugen voor het adresseren van bepaalde delen van het hoofdgeheugen, welke de paginaframenummersignalen bevatten, en de overdracht van de paginaframenummer vanuit het hoofdgeheugen tezamen met van het grendelregister afkomstige 40 offsetsignalen naar het geheugenadresregister, welke centrale processor en stuurgeheugen verder reageren op de geheugentoegang-macro-instructies voor leesbewerkingen door het aanbieden van datasignalen afkomstig van de geadresseerde hoofd-geheugenpaginaframes aan het geheugendataregister, en reageren op geheugentoegang-macro-instructies voor schrijfbewerkingen door het aanbieden van de geadresseerde hoofdgeheugenpaginafra-45 mesignalen van het geheugendataregister, gekenmerkt door een geïndexeerd willekeurig toegankelijk geheugen binnen de centrale processor voorzien van indexeringsmiddelen gekoppeld met bepaalde uitgangen van het grendelregister, multiplexermiddelen waarvan de uitgangen zijn verbonden met de ingangen van het geheugenadres-50 register, welke middelen twee groepen van ingangen bezitten, waarbij de uitgangen van het willekeurig toegankelijke geheugen zijn gekoppeld met de eerste groep van ingangen en de uitgangen van het grendelregister zijn gekoppeld met de tweede groep van ingangen, welke centrale processor en stuurgeheugen tezamen aanvankelijk reageren op de genoemde geheugentoegang-macro-instructie voor het aanbieden van signalen die representatief zijn voor het 55 virtuele adrespaginanummer vanuit het grendelregister naar de indexeringsmiddelen van het willekeurig toegankelijke geheugen teneinde aan de uitgangen ervan de groep van signalen opgeborgen op de geïndexeerde plaats aan te bieden met inbegrip van signalen, die representatief zijn voor het genoemde 11 192144 paginaframenummer en een foutsignaal dat een van twee toestanden kan aannemen, weJke multiplexermiddelen reageren op een eerste toestand van het genoemde foutsignaal voor het overdragen van de geïndexeerde paginaframenummersignalen van het genoemde willekeurig toegankelijke geheugen naar het geheugenadresregister voor het adresseren van het hoofdgeheugen, en 5 reageren op een tweede toestand van het foutsignaal voor het overdragen van virtuele adressignalen afkomstig van het grendelregister naar het geheugenadresregister ter translatie, welke centrale processor en stuurgeheugen verder reageren op de tweede toestand van het genoemde foutsignaal door uitvoeren van de translatie van de virtuele adressignalen en het aanbieden van signalen die representatief zijn voor het genoemde vertaalde paginaframenummer aan de geïndexeerde locatie in 10 het willekeurig toegankelijke geheugen tezamen met een foutsignaal dat de eerste toestand heeft, een monitorbit in het genoemde hoofdgeheugen geassocieerd met elk virtueel geheugensegment, welk bit een van twee toestanden aanneemt en een stapelsignaalgeheugen in de centrale processor, welke centrale processor en stuuimiddelen tezamen reageren op de genoemde tweede toestand van het 15 foutsignaal en op de virtuele adressegmentnummersignalen gedurende de translatie van het genoemde virtuele adres teneinde het monitorbit voor elk segment te adresseren en de toestand ervan te testen, welke centrale processor en stuurmiddelen reageren op de eerste toestand van het genoemde monitorbit door het aanbieden van virtuele adrespaginanummersignalen aan de stapelsignaalgeheugenmiddelen voor opslag daarin, 20 welke centrale processor en stuurmiddelen reageren op een omschakeling van taken gedurende het bedrijf van de genoemde inrichting door het ophalen van opgeborgen virtuele adrespaginanummersignalen uit de stapelsignaalgeheugenmiddelen en het aanbieden van de opgeborgen signalen als indexeringssignalen aan het willekeurig toegankelijke geheugen voor het instellen van het foutsignaal in zijn genoemde tweede toestand. Hierbij 13 bladen tekening
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/220,902 US4410941A (en) | 1980-12-29 | 1980-12-29 | Computer having an indexed local ram to store previously translated virtual addresses |
US22090280 | 1980-12-29 |
Publications (3)
Publication Number | Publication Date |
---|---|
NL8105849A NL8105849A (nl) | 1982-07-16 |
NL192144B NL192144B (nl) | 1996-10-01 |
NL192144C true NL192144C (nl) | 1997-02-04 |
Family
ID=22825488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NL8105849A NL192144C (nl) | 1980-12-29 | 1981-12-24 | Informatieverwerkende inrichting. |
Country Status (11)
Country | Link |
---|---|
US (1) | US4410941A (nl) |
JP (1) | JPS57135493A (nl) |
BE (1) | BE891653A (nl) |
CA (1) | CA1165898A (nl) |
CH (1) | CH657218A5 (nl) |
DE (1) | DE3151745A1 (nl) |
FR (1) | FR2497374B1 (nl) |
GB (1) | GB2090448B (nl) |
IT (1) | IT1145635B (nl) |
NL (1) | NL192144C (nl) |
SE (1) | SE445269B (nl) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4464713A (en) * | 1981-08-17 | 1984-08-07 | International Business Machines Corporation | Method and apparatus for converting addresses of a backing store having addressable data storage devices for accessing a cache attached to the backing store |
US4525778A (en) * | 1982-05-25 | 1985-06-25 | Massachusetts Computer Corporation | Computer memory control |
JPS6047624B2 (ja) * | 1982-06-30 | 1985-10-22 | 富士通株式会社 | アドレス変換制御方式 |
US4513371A (en) * | 1982-07-29 | 1985-04-23 | Ncr Corporation | Computer interface apparatus using split-cycle lookahead addressing for faster access to paged memory |
US4926316A (en) * | 1982-09-29 | 1990-05-15 | Apple Computer, Inc. | Memory management unit with overlapping control for accessing main memory of a digital computer |
US4524415A (en) * | 1982-12-07 | 1985-06-18 | Motorola, Inc. | Virtual machine data processor |
USRE37305E1 (en) * | 1982-12-30 | 2001-07-31 | International Business Machines Corporation | Virtual memory address translation mechanism with controlled data persistence |
DE3300223A1 (de) * | 1983-01-05 | 1984-07-05 | Siemens AG, 1000 Berlin und 8000 München | Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage |
US4580217A (en) * | 1983-06-22 | 1986-04-01 | Ncr Corporation | High speed memory management system and method |
US4538241A (en) * | 1983-07-14 | 1985-08-27 | Burroughs Corporation | Address translation buffer |
US4747043A (en) * | 1984-02-10 | 1988-05-24 | Prime Computer, Inc. | Multiprocessor cache coherence system |
US4669043A (en) * | 1984-02-17 | 1987-05-26 | Signetics Corporation | Memory access controller |
US4873629A (en) * | 1984-06-20 | 1989-10-10 | Convex Computer Corporation | Instruction processing unit for computer |
US4757438A (en) * | 1984-07-12 | 1988-07-12 | Texas Instruments Incorporated | Computer system enabling automatic memory management operations |
EP0182501A3 (en) * | 1984-11-20 | 1988-01-20 | Tektronix, Inc. | Memory mapping method and apparatus |
EP0203601B1 (en) * | 1985-05-29 | 1992-08-05 | Kabushiki Kaisha Toshiba | Cache system adopting an lru system, and magnetic disk controller incorporating it |
US4972338A (en) * | 1985-06-13 | 1990-11-20 | Intel Corporation | Memory management for microprocessor system |
US4698749A (en) * | 1985-10-18 | 1987-10-06 | Gte Communication Systems Corporation | RAM memory overlay gate array circuit |
JPH0814803B2 (ja) * | 1986-05-23 | 1996-02-14 | 株式会社日立製作所 | アドレス変換方式 |
US4930065A (en) * | 1987-08-20 | 1990-05-29 | David Computer Corporation | Automatic data channels for a computer system |
US4937736A (en) * | 1987-11-30 | 1990-06-26 | International Business Machines Corporation | Memory controller for protected memory with automatic access granting capability |
US5155834A (en) * | 1988-03-18 | 1992-10-13 | Wang Laboratories, Inc. | Reference and change table storage system for virtual memory data processing system having a plurality of processors accessing common memory |
US5155826A (en) * | 1988-12-05 | 1992-10-13 | Fadem Richard J | Memory paging method and apparatus |
US5099415A (en) * | 1989-02-15 | 1992-03-24 | International Business Machines | Guess mechanism for virtual address translation |
US5644787A (en) * | 1993-08-03 | 1997-07-01 | Seiko Epson Corporation | Apparatus for controlling data transfer between external interfaces through buffer memory using table data having transfer start address transfer count and unit selection parameter |
US5479628A (en) * | 1993-10-12 | 1995-12-26 | Wang Laboratories, Inc. | Virtual address translation hardware assist circuit and method |
US5842225A (en) * | 1995-02-27 | 1998-11-24 | Sun Microsystems, Inc. | Method and apparatus for implementing non-faulting load instruction |
US5838893A (en) | 1996-12-26 | 1998-11-17 | Microsoft Corporation | Method and system for remapping physical memory |
US5956754A (en) * | 1997-03-03 | 1999-09-21 | Data General Corporation | Dynamic shared user-mode mapping of shared memory |
KR100546403B1 (ko) * | 2004-02-19 | 2006-01-26 | 삼성전자주식회사 | 감소된 메모리 버스 점유 시간을 가지는 시리얼 플레쉬메모리 컨트롤러 |
US7506009B2 (en) * | 2005-01-28 | 2009-03-17 | Dell Products Lp | Systems and methods for accessing a shared storage network using multiple system nodes configured as server nodes |
GB0505289D0 (en) * | 2005-03-15 | 2005-04-20 | Symbian Software Ltd | Computing device with automated page based rem shadowing and method of operation |
US20070039060A1 (en) * | 2005-08-12 | 2007-02-15 | Jamieson Georges E | Methods and systems for programming secure data into programmable and irreversible cells |
US9588902B2 (en) * | 2012-12-04 | 2017-03-07 | Advanced Micro Devices, Inc. | Flexible page sizes for virtual memory |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3829840A (en) * | 1972-07-24 | 1974-08-13 | Ibm | Virtual memory system |
JPS51115737A (en) * | 1975-03-24 | 1976-10-12 | Hitachi Ltd | Adress conversion versus control system |
US3976978A (en) * | 1975-03-26 | 1976-08-24 | Honeywell Information Systems, Inc. | Method of generating addresses to a paged memory |
JPS52149444A (en) * | 1976-06-08 | 1977-12-12 | Fujitsu Ltd | Multiplex virtual space processing data processing system |
DE2641722C3 (de) * | 1976-09-16 | 1981-10-08 | Siemens AG, 1000 Berlin und 8000 München | Hierarchisch geordnetes Speichersystem für eine datenverarbeitende Anlage mit virtueller Adressierung |
JPS53121538A (en) * | 1977-03-31 | 1978-10-24 | Fujitsu Ltd | Information processor |
-
1980
- 1980-12-29 US US06/220,902 patent/US4410941A/en not_active Expired - Lifetime
-
1981
- 1981-12-23 GB GB8138738A patent/GB2090448B/en not_active Expired
- 1981-12-24 CA CA000393216A patent/CA1165898A/en not_active Expired
- 1981-12-24 NL NL8105849A patent/NL192144C/nl not_active IP Right Cessation
- 1981-12-29 DE DE19813151745 patent/DE3151745A1/de active Granted
- 1981-12-29 IT IT68706/81A patent/IT1145635B/it active
- 1981-12-29 BE BE0/206958A patent/BE891653A/fr not_active IP Right Cessation
- 1981-12-29 FR FR8124447A patent/FR2497374B1/fr not_active Expired
- 1981-12-29 CH CH8338/81A patent/CH657218A5/de not_active IP Right Cessation
- 1981-12-29 JP JP56216089A patent/JPS57135493A/ja active Granted
- 1981-12-29 SE SE8107831A patent/SE445269B/sv not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE3151745A1 (de) | 1982-08-19 |
FR2497374A1 (fr) | 1982-07-02 |
NL192144B (nl) | 1996-10-01 |
CH657218A5 (de) | 1986-08-15 |
GB2090448B (en) | 1984-11-28 |
CA1165898A (en) | 1984-04-17 |
JPH0425579B2 (nl) | 1992-05-01 |
SE445269B (sv) | 1986-06-09 |
DE3151745C2 (nl) | 1991-05-16 |
NL8105849A (nl) | 1982-07-16 |
IT8168706A0 (it) | 1981-12-29 |
IT1145635B (it) | 1986-11-05 |
US4410941A (en) | 1983-10-18 |
GB2090448A (en) | 1982-07-07 |
JPS57135493A (en) | 1982-08-21 |
BE891653A (fr) | 1982-04-16 |
FR2497374B1 (fr) | 1988-05-06 |
SE8107831L (sv) | 1982-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NL192144C (nl) | Informatieverwerkende inrichting. | |
JP2635058B2 (ja) | アドレス変換方式 | |
US4339804A (en) | Memory system wherein individual bits may be updated | |
US3949379A (en) | Pipeline data processing apparatus with high speed slave store | |
US3979726A (en) | Apparatus for selectively clearing a cache store in a processor having segmentation and paging | |
US5317705A (en) | Apparatus and method for TLB purge reduction in a multi-level machine system | |
US3947823A (en) | Means for coordinating asynchronous main store accesses in a multiprocessing system using virtual storage | |
US3786432A (en) | Push-pop memory stack having reach down mode and improved means for processing double-word items | |
JP2619859B2 (ja) | 自動更新する単純化キャッシュ | |
US4577274A (en) | Demand paging scheme for a multi-ATB shared memory processing system | |
US4438493A (en) | Multiwork memory data storage and addressing technique and apparatus | |
US5148544A (en) | Apparatus and method for control of asynchronous program interrupt events in a data processing system | |
EP0315321B1 (en) | Multiprocessor system with multiple memories | |
US4520441A (en) | Data processing system | |
US3778776A (en) | Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability | |
US5182805A (en) | Method and system for determining copy-on-write condition | |
US4079453A (en) | Method and apparatus to test address formulation in an advanced computer system | |
GB888732A (nl) | ||
US3701977A (en) | General purpose digital computer | |
US4714990A (en) | Data storage apparatus | |
US3840864A (en) | Multiple memory unit controller | |
EP0297892B1 (en) | Apparatus and method for control of asynchronous program interrupt events in a data processing system | |
EP0915416B1 (en) | System for allowing a two word instruction to be executed in a single cycle and method therefor | |
GB2037466A (en) | Computer with cache memory | |
JP3456727B2 (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A85 | Still pending on 85-01-01 | ||
BA | A request for search or an international-type search has been filed | ||
BB | A search report has been drawn up | ||
BC | A request for examination has been filed | ||
V2 | Lapsed due to non-payment of the last due maintenance fee for the patent application |
Free format text: 970701 |