FI90805B - Menetelmä ja laite sivukehyksen korvaamiseksi tietojenkäsittelyjärjestelmässä - Google Patents
Menetelmä ja laite sivukehyksen korvaamiseksi tietojenkäsittelyjärjestelmässä Download PDFInfo
- Publication number
- FI90805B FI90805B FI872396A FI872396A FI90805B FI 90805 B FI90805 B FI 90805B FI 872396 A FI872396 A FI 872396A FI 872396 A FI872396 A FI 872396A FI 90805 B FI90805 B FI 90805B
- Authority
- FI
- Finland
- Prior art keywords
- page
- main memory
- defining means
- new
- state
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 23
- 230000015654 memory Effects 0.000 claims description 83
- 230000000977 initiatory effect Effects 0.000 claims 2
- 230000008859 change Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000010387 memory retrieval Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
- G06F12/125—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being generated by decoding an array or storage
-
- 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
90805
Menetelmä ja laite sivukehyksen korvaamiseksi tietojenkäsittelyjärjestelmässä. Förfarande coh anordning för ersättning av bildsida i ett dataprocessorsystem
Keksinnön kohteena ovat yleisesti tietojenkäsittelyjärjestelmät, ja tarkemmin sanottuna sellaiset tietojenkäsittelyjärjestelmät, joilla on lukuisia keskusyksiköltä, jotka käyttävät virtuaali-osoitustekniikkaa yhteydenpidossaan päämuistiyksikköön.
Uudenaikaisessa tietojekäsittelyjärjestelmässä käytetään tyypillisesti hierarkista muistijärjestelmää. Se tietomäärä, johon tietojenkäsittelyjärjestelmällä on pääsy, on talletettu massa-talletuslaitteelle, kuten magneettinauhalle, magneettilevylie, tai muulle laitteelle, joka pystyy tallettamaan suuria määriä digitaalista tietoa. Nämä laitteet ovat tyypillisesti liian hitaita, jotta ne voisivat sallia talletetun tiedon suoran osoituksen keskusyksiköltä. Muistiyksikkö, jota yleensä kutsutaan päämuistiyksiköksi, on toteutettu nopeammalla tekniikalla, ja se tallettaa sen tiedon osia, jota tietojenkäsittelyjärjestelmä tarvitsee. (Vaikka se ei tähän keksintöön liitykkään, kuuluu tietojenkäsittelyjärjestelmään yleensä vielä nopeammalla tekniikalla toteutettu muisti keskusyksikölle erittäin tärkeän tiedon tallettamiseksi, ja tämä sijaitsee fyysisesti keskusyksikössä. Prosessorissa sijaitseva muistilaite on edullisempi kuin puskuri- tai välimuisti.)
Jokaiselle prosessorilla on käyttöjärjestelmän avulla pääsy kaikkeen saatavilla olevaan tietoon, joka liittyy tietojenkäsittelyjärjestelmään, ja se voi käyttää tätä tietoa halutulla tavalla. Käytännössä, koska sen tiedon määrä, joka on prosessorin saatavilla, olisi halutun tiedon saannilla massamuisteilta ratkaiseva vaikutus prosessin suorituksen tehokkuuteen. Tieto, jota tietojenkäsittelyjärjestelmä tarvitsee välittömästi, on talletettu päämuistiyksikköön. Koska kaiken tiedon tallettaminen päämuistiyksikköön on epäkäytännöllistä, on tieto jaettu tietolohkoihin, joita kutsutaan sivuiksi, ja jotka syötetään päämuistiin yhtenäisinä.
2
Virtuaalimuistitekniikoissa tietojenkäsittely-yksikön toiminnan aluksi allokoi käyttöjärjestelmä käytettävissä olevan tilan pää-muistiyksikössä. Päämuistitila allokoidaan ohjelmille/ taulukoille ja niille käyttöjärjestelmän osille/ joita tarvitaan tietojenkäsittelyjärjestelmän toimintaa varten. Tämän muistialueen sisältöä ei korvata kuten tyypillisesti tehdään jäljellejäävälle päämuistiin talletetulle tiedolle. Muistiyksikön jäljellejäävä osa on jaettu samansuuruisiin lohkoihin, joihin voidaan tallettaa toisiinsa liittyviä tietosignaaliryhmiä, jotka ovat tärkeitä tietojenkäsittelyjärjestelmälle. Näitä tietosignaalilohkoja kutsutaan sivukehyksiksi. Jokaiseen sivukehykseen liittyy ryhmä tietosignaaleja toisiinsa liittyvien signaalien taulukkona, jota kutsutaan sivukehysmäärittelijäksi. Käyttöjärjestelmä voi viitata sivukehysmäärittelijään, ja sivukehysmäärittelijä identifioi tai osoittaa siihen liittyvän sivumäärittelijän paikkaan. Sivu-määrittelijä sisältää tietoa, joka liittää tietojenkäsittelyjärjestelmän prosessoreiden käsittelemät virtuaaliset tai symboliset osoitteet todellisiksi tai fyysisiksi osoitteiksi sinne, missä alkuperäinen tieto on talletettu. Jokaiseen sivumääritte-lijään liittyy myös signaaleja, jotka ilmaisevat tilatiedon. Sivumääritteli jä sisältää myös tietosignaaleja paikassa, jota kutsutaan linkittäjäksi, ja joka ilmaisee sivukehysten järjestyksen edeltävalitun algoritmin mukaisesti, joka määrittää, kuinka sivukehysten järjestys on määriteltävä.
Tietojenkäsittelyjärjestelmän käynnistyksen jälkeen tarvitsee prosessori ryhmän tietosignaaleja. Ohjelmistoproseduuri muodostaa tiedon, joka liittää fyysisen osoitteen symboliseen osoitteeseen halutulle ryhmälle tietosignaaleja. Nämä toisiinsa liittävä tieto on talletettu sivumäärittelijään. Soveltuva tieto syötetään sivukehysmäärittelijän linkittäjäosaan ilmaisten, että tämä on sivukehysten sekvenssin ensimmäinen. Kun sivukehyksiä tulee lisää, identifioi linkittäjätieto sivukehyksen järjestyksen sekvenssissä. Kun kaikki sivukehykset ovat varattuina tiedolle, prosessori jatkaa saannin pyytämistä uuteen tietoon, vaatien, että tietoa jo sisältävä sivukehys ottaa uutta tietoa vanhan tiedon korvaamiseksi. Tämän keksinnön kohteena on kyseisen li 3 90805 sivukehystiedon korvaamisen toteutus.
Linkittäjätiedosta voidaan määrittää seuraava mahdollinen sivu-kehys sivukehysten sekvenssissä. Linkittäjätietoon perustuen voidaan identifioida tähän tietokehykseen liittyvä sivumääritte-lijä ja tämä sivumäärittelijä voidaan syöttää prosessoriin. Prosessori tutkii nykytekniikan mukaisen ohjelmisto-ohjauksen alaisuudessa ti1asignaalien arvot sivumäärittelijässä/ ja signaalien arvoihin pohjautuen tehdään päätös, voidaanko tieto tässä sivu-kehyksessä korvata. Esimerkiksi .usein käytettty tilasignaali liittyy siihen kokemukseen, että optimaalinen strategia tiedon korvaamiseksi on korvata tieto, jota on ei ole käytetty pisimpään aikaan. Tämän strategian toteuttaminen vaatii aivan liian paljon prosessointia. Tyypillinen strategia on poistaa "tieto käytetty" -signaali edeltämäärätyn proseduurin mukaisesti, ja asettaa "tieto käytetty" -signaali sivumäärittelijään silloin, kun tähän sivukehykseen liittyvä tieto on käytetty. Tällä tavalla voivat ohjelmistoproseduurit määrätä, että tieto on käytetty edeltävalitun aikajakson kuluessa.
Lisäksi voi sivukehykseen liittyä vielä muita tilasignaaleja.
Koska tilasignaaleja on useita, voi ohjelmistoproseduuri, joka päättää näihin liittyvän tietoryhmän korvaamisen, olla monimutkainen ja vaatia liian paljon prosessointitoimintaa.
Kun ohjelma, joka ohjaa tietojenkäsittelyjärjestelmän toimintaa, tarvitsee tietosignaaliryhmiä, jotka sillä hetkellä eivät ole talletettuna päämuistiin, käynnistetään korvausalgoritmi. Nykytekniikassa korvausalgoritmin suorittaa ohjelmistoprosessi, joka vaatii lukuisien tilasignaalien analysointia. Korvattavan sivukehystiedon määrityksen aikana on pääsy määrittäjään estetty, jotta estettäisiin sellaisen tiedon käyttö, joka voi olla muutettavana. Eräs menetelmä estäää pääsy tämän mahdollisen tie-donmuutosjakson aikana on varustaa muistin muistiosat muistin "lukolla", jolloin muistilukko estää pääsyn keskusmuistiin tai tämän valittuihin osiin. Tämä menetelmä on tehokas varmistamaan, että oikeaa tietoa käsitellään prosessoreilla, mutta ohjelmisto- 4 korvausalgoritmin suhteellisen hitaan suorituksen takia voidaan vaikuttaa vakavasti koko tietojenkäsittelyjärjestelmän suoritukseen. (Kuten alan asiantuntijoille on selvää/ vaikuttaa muisti-lukko tyypillisesti/ käytännön syistä/ lukuisiin muistipaikkoihin. Tehokkuuteen vaikutetaan siksi/ vaikka korvausalgoritmin analysoimaa tiettyä paikkaa ei haettaisikaan.)
Jotta poistettaisiin päämuistin osan varaaminen korvausalgoritmin suorituksen aikana, on käytetty menetelmiä, jotka sallivat korvauksen suorittamisen ilman päämuistialueen varausta. Tämän menetelmän mukaisesti tutkitaan sen jälkeen, kun korvattavan sivukehyksen valinta on tehty tietylle paikalle, onko sivukehyk-sen otsikon tilasignaaleissa on tapahtunut muutos korvausalgoritmin suorituksen aikana. Tämä menetelmä vaatii lisämonimutkai-suutta tietojenkäsittelyjärjestelmässä.
Tämän vuoksi on ollut tarvetta menetelmälle, joka sallii sellaisen päämuistipaikan määrittämisen, jolle käy, että siihen kyseisellä hetkellä talletettu tieto korvataan uudella tiedolla, jota tietojenkäsittelyjärjestelmä tarvitsee.
Keksinnön tehtävänä on muodostaa parannettu tietojenkäsittelyjärjestelmä .
Keksinnön toisena tehtävänä on muodostaa tietoryhmän korvaaminen tietojenkäsittelyjärjestelmän päämuistissa sellaisen edeltävali-tun kriteerin mukaisesti, joka perustuu tähän tietoryhmään liittyviin tilasignaaleihin.
Keksinnön vielä yksi tehtävä on muodostaa tietosignaaliryhmän analyysi käyttämättä ohjelmistoproseduuria tähän analyysiin.
Edellämainitut ja muut tehtävät on saavutettu keksinnön mukaisesti varustamalla tietojenkäsittelyjärjestelmä käskyllä, joka muodostaa alkuperäisiin tietosignaaleihin perustuvat uudet tila-signaalit samalla, kun se minimoi vaikutuksen päämuistiyksikön saatavuuteen. Keksinnön tunnusmerkit on esitetty oheisissa pa- I: 90805 5 tenttivaatimuksissa. Sivukehyksen korvausproseduurin aikana siirretään prosessoriin siihen seuraavaan sivukehykseen liittyvä sivumäärittelijä/ jota tullaan tutkimaan korvattavuuden suhteen. Korvattavuuden määritystä suorittavaan käskyyn liittyy taulukko syntyvistä tilasignaaliarvoista. Sivumäärittelijän tilasignaale-ja käytetään valitsemaan sopiva sisäänmenokohta käskytaulukkoon. Valitut tuloksena olevat tilasignaalit ilmaisevat/ pitääkö niihin liittyvä sivukehystieto korvata/ ja valittuja tilasignaaleja voidaan käyttää muiden prosessorin tarvitsemien aktiviteettien ilmaisemiseen. Valitut tilasignaalit talletetaan määrittelijään ja päämuistiin. Nämä ja muut keksinnön piirteet voidaan ymmärtää seuraavasta kuvauksesta piirrosten kanssa.
Kuva 1 on lohkokaavio tietojenkäsittelyjärjestelmästä/ joka pystyy käyttämään keksintöä.
Kuva 2 on kaavio, joka esittää päämuistiyksikön jakoa lukuisiin muistipaikkaryhmiin.
Kuva 3a on kaavio esittäen suhdetta sivukehysmäärittelijoiden taulukon ja sivutaulukon välillä/ kuva 3b esittää bittipaikkojen allokointia sivumäärittelijässä ja kuva 3c esittää tilasignaa-lien identifioimista sivumäärittelijässä.
Kuva 4 on kaavio korvauskäskyn bittipaikoista.
Kuva 5a esittää sisäänmenokohtia käännöstaulukossa, kun taas kuvassa 5b on esimerkkejä käännöstaulukon käytöstä.
Kuva 6 on lohkokaavio siitä laitteesta suoritusyksikössä/ joka suorittaa korvauskäskyn.
Kuva 7 on lohkokaavio esittäen kuinka korvauskäsky voidaan muodostaa ohjelmistoproseduurilla.
Kuva 8 esittää päämuistin erottamista sektoreihin pääsyn rajoittamiseksi .
6
Kuvassa 1 on esitetty tietojenkäsittelyjärjestelmä/ joka pystyy edullisesti käyttämään hyväksi tätä keksintöä. Tietojenkäsittelyjärjestelmä sisältää ainakin yhden prosessorin (esitetty prosessoreina 10 ja 11)# päämuistiyksikön 15/ ainakin yhden oheis-liitäntäyksikön (esitetty oheisliitäntäyksiköinä 12 ja 13)/ ja järjestelmäväylän 19. Kuvassa 1 esitetyssä tietojenkäsittelyjärjestelmässä päämuisti tallettaa ne tietosignaaliryhmät/ joita prosessorit käsittelevät. Järjestelmän käynnistyksen aikana on päämuistiyksikössä 15 päämuistin muistitila jaettu lukuisiin alueisiin/ jolloin kukin alue tallettaa edeltämäärätyn määrän loogisia signaaleja. Lisäksi päämuistiyksiköllä on tietyt alueet varattu tiedostoille/ jolloin prosessorit voivat hakea tiedostoista. Yhteisen päämuistiyksikön käyttöä lukuisille prosessoreille nimitetään "tiukasti kytketyksi" -järjestelmäksi.
Kuvassa 2 on päämuistin organisaation kaavamainen esitys. Tämä organisaatio muodostetaan tyypillisesti tietojenkäsittelyjärjestelmän käynnistyksen aikana. Alue 21 on yleensä varattu käyttöjärjestelmälle/ eli ohjelmille ja taulukoille, joita tietojenkäsittelyjärjestelmä tarvitsee. Loput päämuistipaikoista on jaettu päämuistipaikkojen ryhmiksi, joita kutsutaan sivukehyk-siksi. Kuvassa 2 on esitetty sivukehykset 1 22 - Q. On selvää, että kuva 2 on päämuistipaikkojen organisaation idealisoitu esitys, Tyypillisesti alue 21 olisi jaettu osiin ja levitetty koko päämuistiyksikköön. Sivukehysten numerointi on sattumanvaraista ja ilmaisee parhaimmillaan vain fyysisen paikan päämuistiyksikössä .
Kuvissa 3a, 3b ja 3c on esitetty niiden taulukoiden organisaatio, jotka ovat erityisen tärkeitä keksinnön kannalta. Kuvassa 2 on muodostettu sivukehysmäärittelijoiden 31 taulukko tietojenkäsittelyjärjestelmän käynnistyksen aikana. Jokainen sivukehys-määrittelijä liittyy yhteen kuvan 2 sivukehykseen 22 - 23. Sivu-kehysmäärittelijän tehtävä, nimenomaan tässä keksinnössä, on identifioida sen tiedon fyysinen osoite, joka sillä hetkellä on talletettuna vastaavassa sivukehyksessä. Tämä tehtävä suorite— i! 7 90805 taan muodostamalla osoitin sivutaulukkoon 34, ja tarkemmin sanottuna siihen sivumäärittelijään 35/ joka liittyy sillä hetkellä sivukehykseen talletettuun tietoon. Sivukehysmäärittelijä sisältää myös ryhmän paikkoja/ joka määrittelee sivukehyksen järjestyksen suhteessa toisiin sivukehyksiin. Kun tieto sivuke-hyksessä korvataan/ varmistaa linkittäjä, joka suorittaa sivu-kehysten järjestämisen, että kaikki muut sivukehykset päämuis-tissa tarkastellaan tiedon korvaamisen suhteen/ ennenkuin sitä sivukehystä tarkastellaan uudelleen, jossa tieto juuri korvattiin. Kuva 3b esittää kuvan 3a sivumäärittelijän 35 rakennetta. Sivumäärittelijä sisältää tilasignaalit 37 bittipaikoissa 0-3 ja sivukehysnumeron, joka identifioi sivukehyksen, bittipaikoissa 4-23. Kuvassa 3c esitetään tilabittien identifioiminen edullisessa toteutuksessa. Ensimmäinen paikka on kelpoisuusbitti ja se ilmaisee, milloin tietosivu on sivukehyksessä päämuistitie-dossa sivukehyksessä. Toinen paikka on käyttöbitti, ja se asetetaan joka kerta, kun tietoa siihen liittyvässä sivukehyksessä haetaan. Paikka 3 on muutosbitti, ja se ilmaisee, että sivukehyksessä olevan tiedon ja sen tiedon, josta sivukehys saatiin, välillä on ero. Tilabitti neljännessä paikassa on tällä hetkellä varattu tulevia tehtäviä varten.
Kuvassa 4 on esitetty sen käskyn rakenne, joka suorittaa kor-vausalgoritmin. Ensimmäiset 16 bittipaikkaa ilmaisevat käskyn operaatiokoodin. Toiset 16 bittiä ja mahdolliset 16-bitin lisä-tietosignaaliryhmät muodostavat osoittimen sivumäärittelijään. Lopuissa 16-bitin ryhmissä pidetään käännöstaulukkoa.
Kuvassa 5a on esitetty käännöstaulukkojen sisääntulot edullisen toteutuksen mukaisesti. Taulukon sisääntulot on esitetty heksa-desimaalisin merkinnöin. Todellinen käännös on esitetty kuvassa 5b, jossa näytetään, kuinka sivumäärittelijän tilasignaaleja muunnetaan korvausalgoritmilla.
Kuvassa 6 on esitetty käskyn suorittava laite. Prosessorin suo-ritusyksikössä ladataan rekisteri 61 tietosignaaleilla, jotka määrittelee käskyn operaatiokoodi. Käskyrekisteristä signaalit 8 syötetään dekoodaus- ja ohjauslaitteelle 62. Dekoodaus- ja ohjauslaite 62 syöttää signaalit osoituslaitteelle 63. Dekoodaus-ja ohjauslaitteen 62 ohjauksen alaisuudessa sen haetun sivumää-rittelijän tilasignaalit, jotka on talletettu työrekistereiden 60 rekisteriin 64/ käytetään osoitesignaalina osoittamaan sisääntuloa siinä käännöstaulukossa, joka liittyy käskyyn. Tila-signaalien osoitelaitteen 63 kautta osoittama sisääntulo muodostaa uudet tilasignaalit/ jotka talletetaan sivumääritteli-jään. Signaalianalysointiyksikköä 66 käytetään ilmaisemaan/ että korvaussivukehys on identifioitu/ ja aloittamaan proseduuri halutun tietosivun tallettamiseksi sivukehykseen.
Kuvassa 7 on esitetty vuokaavio sivumäärittelijoiden tutkimiseksi/ jotta määritettäisiin/ tulisiko kyseessä oleva sivukehys korvata. Kun prosessi on aloitettu askeleella 700/ esimerkiksi suorittamalla kuvan 4 käsky/ valitaan seuraava sivumäärittelijä. Tämän valinnan määräävät linkittäjän muistipaikat 34/ jotka on esitetty kuvassa 3a. Edullisessa toteutuksessa linkittäjä valitsee sellaisen sivumäärittelijän/ joka on jäänyt tutkimatta kor-vausalgoritmilla. Tutkittavaa sivumäärittelijää valittaessa haetaan tilasignaalit/ jotka muodostavat osan sivumäärittelijää/ päämuistista askelella 702. Askelella 703 tutkitaan kelpoisuus-tilasignaali. Jos kelpoisuussignaalilla on negatiivinen arvo, ei sivumäärittelijää muuteta askeleella 704/ ja proseduuri palaa askeleeseen 701 valitsemaan seuraavaa sivumäärittelijää. Kun kelpoisuussignaalilla on positiivinen arvo, tutkitaan käyttösig-naali askeleella 705. Kun käyttösignaalilla on positiivinen arvo/ muutetaan käyttöbitin paikalle negatiivinen arvo, ja uudet tilasignaalit talletaan sopiviin sivumäärittelijän paikkoihin päämuistissa askeleella 706. Proseduuri palaa sitten askeleeseen 701 valitsemaan seuraavaa määrittelijää tutkittavaksi. Kun käyttösignaalilla on negatiivinen arvo, tutkitaan muunnettu tilasig-naali askeleella 707. Kun muunnetulla tilasignaalilla on positiivinen arvo, niin muunnettu bitti muutetaan negatiiviseen arvoon samalla/ kun lähetetään komento tuomaan sivukehyksessä oleva tieto vastaten sitä tietoa, josta sivukehystieto saatiin askeleella 708. Jos muunnetulla tilasignaalilla negatiivinen arvo, <· 90805 9 niin siihen liittyvä sivukehys on sopiva korvattavaksi. Askel 709 muuttaa kaikki tilasignaalit negatiivisiin arvoihin, ja tallettaa nämä arvot vastaaviin paikkoihin sivumäärittelijässä.
Sivumäärittelijä estetään ja tieto sivukehyksessä korvataan pyydetyllä tietosivulla. Sivumäärittelijää muunnetaan vastaamaan uutta tietoa, joka on talletettu sivukehykseen askelella 710. Sivumäärittelijä on korvattu sivukehysten sekvenssissä linkittä-jällä sivukehysmäärittelijässä ja tiedon korvaamisprosessi si-vukehyksessä on suoritettu loppuun askeleella 711.
Kuvassa 8 on esitetty edullinen toteutus, jossa päämuistiyksik-köä ohjaa kaksi ohjainta, A ja B. Kumpikin muistiohjäin ohjaa yhtä puoliskoa muistipaikoista. Kummassakin ohjaimessa siihen liittyvät muistipaikat on jaettu lukuisiin sektoreihin 83. Pääsyä kuhunkin sektoriin voidaan ohjata vastaavalla muistiohjai-mella. Siksi, jos esimerkiksi jotakin muistipaikkaa ollaan muuttamassa, voi ohjain estää pääsyn siihen tiettyyn sektoriin ilman, että se rajoittaa pääsyä koko alueeseen, joka liittyy tähän muistiohjaimeen. Kalleuden ja monimutkaisuuden takia on yksittäisten muistipaikkojen saantiohjaus toteutettu harvoin. Tästä syystä tietyn muistipaikan haun rajoittaminen johtaa lukuisien muistipaikkojen haun rajoittamiseen, ja mikä tahansa pitempiaikainen haun rajoittaminen voi potentiaalisesti vaikuttaa tietojenkäsittelyjärjestelmän tehokkuuteen.
Keksintö ratkaisee prosessoreiden muistihakuongelman paikkojen sisällön mahdollisen muutoksen aikana muodostamalla sivukorvauk-sen tehokkaan algoritmin. Tällä tavalla se päämuistin osa, joka on varattuna algoritmin suorituksen aikana, varataan vai lyhyeksi ajanjaksoksi, jolloin minimoidaan vaikutus tietojenkäsittelyjärjestelmän tehokkuuteen. Ohjelmistoproseduurin sijasta, joka voi rajoittaa pääsyä päämuistin osiin liian pitkän ajan, määritetään sivukehyksen sopivuus korvattavaksi käskyllä, jossa sivu-kehykseen liittyviä tilasignaaleja käytetään osoitesignaaleina määrittämään sisääntulokohta taulukkoon. Taulukko liittyy käskyyn itseensä. Sisääntulokohdat käskyssä voidaan määrittää varsin lyhyessä ajassa. Nämä uudet tai tuloksena olevat tilasignaa- 10 lit voidaan välittömästi tallettaa määrittelijään. Koska uudet tilasignaalit estävät niihin liittyvän sivukehyksen käytön/ voidaan poistaa se muistimekanismi, joka rajoittaa pääsyä päämuis-tisektoreihin/ jotka sisältävät sivukehyksen. Tähän proseduuriin vaadittava varsin lyhyt aika minimoi vaikutuksen päämuistin saatavuuteen ja vastaavasti tietojenkäsittelyjärjestelmän tehokkuuteen.
Tärkeä piirre algoritmin toteuttamiseen ohjelmistoproseduurissa on proseduurin muunneltavuus. J,os esimerkiksi halutaa tilasig-naalin erilaista tulkitsemista, voidaan tämän tulkitsemismuu-toksen seuraukset saada aikaan vastaavilla muutoksilla proseduurin askeliin. On selvää, että tämä muuteltavuus on jäljellä keksinnössä sillä paikalla käskyssä, johon tilasignaalien ryhmä ohjataan. Muuttamalla tulossignaaleja, joidaan muutettavuus säilyttää.
Edelläoleva kuvaus on esitetty edullisen toteutuksen toiminnan selittämiseksi, eikä sen tarkoitus ole rajoittaa keksinnön suo-japiiriä. Keksinnön suojapiiriä rajoittavat ainoastaan seuraa-vat patenttivaatimukset. Edelläolevasta selityksestä on alan ammattimiehille selvää, että monia muutoksia voidaan tehdä poikkeamatta keksinnön hengestä ja suojapiiristä.
Claims (8)
1. Laite tietojenkäsittelyjärjestelmässä, jossa päämuisti pitää tietolohkoja sivujen muodossa ja jossa on pidettynä määrittelijä päämuistissa kutakin päämuistissa läsnäolevaa sivua varten, mainitun määrittelijän sisältäessä tilainformaation, joka kuvaa siihen liittyvän sivun ajankohtaista ryhmätilaa, joka laite on tarkoitettu toteuttamaan tietynlainen käsky määrittämään mikä sivu on korvattava silloin kun, mainitun järjestelmän käytön aikana, tulee tarpeen syöttää uusi sivu päämuistiin, mainitun käskyn sisältäessä ainutlaatuisen toimikoodin ja osoitteen yhden mainituista määrittelijöistä hakemiseksi; tunnettu mainitussa päämuistissa pidetystä taulukosta (65), joka sisältää kullekin erilaiselle ajankohtaiselle ryhmätilalle, mikä voi olla sisällytetty määrittelijään, uuden tilainformaation, joka kuvaa uuden ryhmätilan sivulle, joka on tarkoitettu varaamaan sama muistipaikka kuin se sivu, jota edustaa mainittu ajankohtainen ryhmätila; jäijitysvälineistä (61,62,63) reagoimaan mainitussa tietynlaisessa käskyssä olevaan toimikoodiin ja osoitteeseen osoitetussa määrittelijässä pidetyn tilainformaation jäljittämiseksi; osoitusvälineet (63), jotka reagoivat edelleen mainittuun tiettyyn käskyn toimikoodiin mainitun jäljitetyn tilainformaation soveltamiseksi osoitteena mainitulle taululle vastaavan uuden tilainformaation lukemiseksi päämuistista; ja signaalin analysointivälineet (66) mainitun jäljitetyn uuden tilainformaation vastaanottamiseksi, osoittaen korvaussivun tulleen yksilöidyksi, ja aloittaen toimenpiteen aikaansaamaan mainitussa päämuistissa pidetyn sivun vastaamaan mainittua uutta tilainformaatiota.
2. Patenttivaatimuksen 1 mukainen laite, tunnettu siitä, että mainittu toimenpide yksilöi sen, milloin tiedon sivukehys voidaan korvata uudella tiedon sivukehyksellä. ________ -- 1.. _ 12
3. Patenttivaatimuksen 2 mukainen laite, tunnettu siitä, että siihen lisäksi kuuluu välineet, jotka reagoivat valittuihin uusiin tilasignaaleihin sen mainitun tiedon sivukehyksen korvaamiseksi, joka liittyy mainittuihin talletettuihin tilasignaaleihin, uudella tiedon sivukehyksellä.
4. Patenttivaatimuksen 2 mukainen laite, tunnettu siitä, että mainitun tilainformaation ensimmäinen bitti kohdistuu mainitun siihen liittyvän tiedon sivukehyksen käyttöön ja mainitun tilainformaation toinen bitti kohdistuu mainitun siihen liittyvän tiedon sivukehyksen muuttamiseen,
5. Patenttivaatimuksen 1 mukainen laite, missä mainitulla osoi-telaitteella (63) muodostettua osoitetta on käytetty osoittamaan ennalta määrättyä yhtä mainitun taulukon syötöistä, mainitun ennalle määrätyn syötön ollessa korvaava määrittelijäkent-tä, tunnettu välineistä tallettamaan mainittu korvaus-kenttä mainittuun määrittelijään päämuistissa.
6. Menetelmä tietojenkäsittelyjärjestelmässä, missä päämuisti pitää tietolohkoja sivujen muodossa, ja missä on pidettynä määrittelijä päämuistissa kutakin päämuistissa läsnäolevaa sivua varten, mainitun määrittelijän sisältäessä tilainformaation, joka kuvaa siihen liittyvän sivun ajankohtaisen ryhmätilan; joka menetelmä on tarkoitettu toteuttamaan tietynlainen käsky määrittämään mikä sivu on korvattava silloin kun, mainitun järjestelmän käytön aikana, tulee tarpeen syöttää uusi sivu päämuistiin, mainitun käskyn sisältäessä ainutlaatuisen toimi-koodin ja osoitteen yhden mainituista määrittelijöistä hakemiseksi; tunnettu: taulukon pitämisestä mainitussa päämuistissa, mikä taulukko sisältää kutakin erilaista ajankohtaista ryhmätilaa varten, jotka ryhmätilat voivat olla sisällytetyt määrittelijään, uuden tilainformaation, joka kuvaa uuden ryhmätilan sivulle, joka on 90805 13 tarkoitettu varaamaan sama muistipaikka kuin sivu, jota edustaa mainittu ajankohtainen ryhmätila; mainitun tietynlaisen käskyn saaminen; yhden mainituista määrittelijöistä hakeminen mainitussa tietynlaisessa käskyssä olevan toimikoodin ja osoitteen ohjauksen alaisena osoitetussa määrittelijässä pidetyn tilainformaation jäljittämiseksi; mainitun jäljitetyn tilainformaation soveltaminen osoitteena mainitulle taulukolle vastaavan uuden tilainformaation lukemiseksi päämuistista; ja reagoiminen mainittuun jäljitettyyn uuteen tilainformaatioon osoittamaan, että korvaussivu on yksilöity ja aloittamaan toimenpiteen aikaansaamaan mainitussa päämuistissa pidetyn sivun vastaamaan mainittua uutta tilainformaatiota.
7. Patenttivaatimuksen 6 mukainen menetelmä, tunnettu siitä, että siihen lisäksi kuuluu vaihe mainittujen tilasignaa-lien korvaamiseksi mainitulla käskytaulukon syötöllä mainitussa määrittelijässä.
8. Patenttivaatimuksen 6 mukainen menetelmä, tunnettu siitä, että siihen lisäksi kuuluu vaihe sellaisen määrittelijän jäljittämiseksi, mitä ei ole tutkittu korvaamista varten pisim-pänä ajanjaksona, kun jäljitetty sivumäärittelijä ei ole sopiva korvattavaksi. 14
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US86914686 | 1986-05-30 | ||
US06/869,146 US4833603A (en) | 1986-05-30 | 1986-05-30 | Apparatus and method for implementation of a page frame replacement algorithm in a data processing system having virtual memory addressing |
Publications (4)
Publication Number | Publication Date |
---|---|
FI872396A0 FI872396A0 (fi) | 1987-05-29 |
FI872396A FI872396A (fi) | 1987-12-01 |
FI90805B true FI90805B (fi) | 1993-12-15 |
FI90805C FI90805C (fi) | 1994-03-25 |
Family
ID=25353012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FI872396A FI90805C (fi) | 1986-05-30 | 1987-05-29 | Menetelmä ja laite sivukehyksen korvaamiseksi tietojenkäsittelyjärjestelmässä |
Country Status (19)
Country | Link |
---|---|
US (1) | US4833603A (fi) |
EP (1) | EP0250876B1 (fi) |
KR (1) | KR930009092B1 (fi) |
CN (1) | CN1010715B (fi) |
AR (1) | AR244897A1 (fi) |
AT (1) | ATE100613T1 (fi) |
AU (1) | AU597666B2 (fi) |
BR (1) | BR8702715A (fi) |
CA (1) | CA1284390C (fi) |
DE (1) | DE3788824T2 (fi) |
DK (1) | DK276887A (fi) |
ES (1) | ES2049721T3 (fi) |
FI (1) | FI90805C (fi) |
IL (1) | IL82681A0 (fi) |
IN (1) | IN167131B (fi) |
MX (1) | MX171149B (fi) |
NO (1) | NO174311C (fi) |
PH (1) | PH25271A (fi) |
YU (1) | YU99187A (fi) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2778786B2 (ja) * | 1990-03-02 | 1998-07-23 | 富士通株式会社 | データ更新・復元処理方式 |
US5386538A (en) * | 1991-04-30 | 1995-01-31 | Texas Instruments Incorporated | Data cache access for signal processing systems |
US5740448A (en) * | 1995-07-07 | 1998-04-14 | Sun Microsystems, Inc. | Method and apparatus for exclusive access to shared data structures through index referenced buffers |
US6763424B2 (en) | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US6782464B2 (en) | 2001-07-17 | 2004-08-24 | International Business Machines Corporation | Mapping a logical address to a plurality on non-logical addresses |
US7242682B1 (en) | 2002-10-09 | 2007-07-10 | Storage Technology Corporation | Hardware frame modifier apparatus and method for storage virtualization |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1548401A (en) * | 1975-10-08 | 1979-07-11 | Plessey Co Ltd | Data processing memory space allocation and deallocation arrangements |
US4084230A (en) * | 1976-11-29 | 1978-04-11 | International Business Machines Corporation | Hybrid semiconductor memory with on-chip associative page addressing, page replacement and control |
US4638426A (en) * | 1982-12-30 | 1987-01-20 | International Business Machines Corporation | Virtual memory address translation mechanism with controlled data persistence |
-
1986
- 1986-05-30 US US06/869,146 patent/US4833603A/en not_active Expired - Lifetime
-
1987
- 1987-05-27 BR BR8702715A patent/BR8702715A/pt not_active Application Discontinuation
- 1987-05-27 IL IL82681A patent/IL82681A0/xx not_active IP Right Cessation
- 1987-05-27 EP EP87107745A patent/EP0250876B1/en not_active Expired - Lifetime
- 1987-05-27 ES ES87107745T patent/ES2049721T3/es not_active Expired - Lifetime
- 1987-05-27 AT AT87107745T patent/ATE100613T1/de not_active IP Right Cessation
- 1987-05-27 DE DE3788824T patent/DE3788824T2/de not_active Expired - Fee Related
- 1987-05-28 PH PH35314A patent/PH25271A/en unknown
- 1987-05-29 DK DK276887A patent/DK276887A/da not_active Application Discontinuation
- 1987-05-29 KR KR1019870005362A patent/KR930009092B1/ko not_active IP Right Cessation
- 1987-05-29 MX MX006711A patent/MX171149B/es unknown
- 1987-05-29 FI FI872396A patent/FI90805C/fi not_active IP Right Cessation
- 1987-05-29 AR AR87307722A patent/AR244897A1/es active
- 1987-05-29 YU YU00991/87A patent/YU99187A/xx unknown
- 1987-05-29 NO NO872263A patent/NO174311C/no unknown
- 1987-05-29 CA CA000538415A patent/CA1284390C/en not_active Expired - Lifetime
- 1987-05-30 CN CN87104487A patent/CN1010715B/zh not_active Expired
- 1987-06-01 AU AU73693/87A patent/AU597666B2/en not_active Ceased
- 1987-06-12 IN IN185/BOM/87A patent/IN167131B/en unknown
Also Published As
Publication number | Publication date |
---|---|
EP0250876A2 (en) | 1988-01-07 |
NO872263D0 (no) | 1987-05-29 |
CN1010715B (zh) | 1990-12-05 |
CA1284390C (en) | 1991-05-21 |
ES2049721T3 (es) | 1994-05-01 |
KR930009092B1 (ko) | 1993-09-22 |
BR8702715A (pt) | 1988-03-01 |
EP0250876B1 (en) | 1994-01-19 |
NO174311C (no) | 1994-04-13 |
AU7369387A (en) | 1987-12-03 |
KR870011534A (ko) | 1987-12-24 |
FI90805C (fi) | 1994-03-25 |
YU99187A (en) | 1990-06-30 |
FI872396A0 (fi) | 1987-05-29 |
PH25271A (en) | 1991-03-27 |
IN167131B (fi) | 1990-09-01 |
DE3788824T2 (de) | 1994-07-14 |
AR244897A1 (es) | 1993-11-30 |
DK276887A (da) | 1987-12-01 |
IL82681A0 (en) | 1987-11-30 |
NO872263L (no) | 1987-12-01 |
CN87104487A (zh) | 1988-02-17 |
AU597666B2 (en) | 1990-06-07 |
ATE100613T1 (de) | 1994-02-15 |
NO174311B (no) | 1994-01-03 |
US4833603A (en) | 1989-05-23 |
MX171149B (es) | 1993-10-05 |
DE3788824D1 (de) | 1994-03-03 |
EP0250876A3 (en) | 1990-04-25 |
FI872396A (fi) | 1987-12-01 |
DK276887D0 (da) | 1987-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0122529B1 (ko) | 슈퍼스칼라 프로세서 시스템에서 복수의 명령어를 단일 사이클 동안 디스패치하기 위한 방법 및 장치 | |
US5553305A (en) | System for synchronizing execution by a processing element of threads within a process using a state indicator | |
US6112285A (en) | Method, system and computer program product for virtual memory support for managing translation look aside buffers with multiple page size support | |
US9244883B2 (en) | Reconfigurable processor and method of reconfiguring the same | |
US4080651A (en) | Memory control processor | |
EP0072179A2 (en) | Clearing invalid addresses in cache memory | |
US20070130237A1 (en) | Transient cache storage | |
US4126893A (en) | Interrupt request controller for data processing system | |
JPH11505653A (ja) | 単一アドレス空間で保護ドメインと共に用いるためのオペレーティングシステム | |
JP2006513493A (ja) | フリーバッファプールを使用することによるメモリの管理 | |
US7093100B2 (en) | Translation look aside buffer (TLB) with increased translational capacity for multi-threaded computer processes | |
US5978900A (en) | Renaming numeric and segment registers using common general register pool | |
FI90805B (fi) | Menetelmä ja laite sivukehyksen korvaamiseksi tietojenkäsittelyjärjestelmässä | |
US20050097258A1 (en) | Systems and methods for accessing thread private data | |
JPS63132355A (ja) | メモリ制御装置 | |
CA2009717C (en) | Multiprocessing system having a single translation lookaside buffer with reduced processor overhead | |
US5450587A (en) | Expanded memory addressing scheme | |
EP0495167A2 (en) | Multiple asynchronous request handling | |
JP3456727B2 (ja) | データ処理装置 | |
Wilkes | The use of a writable control memory in a multiprogramming environment | |
JPS6152505B2 (fi) | ||
EP0349757A2 (en) | Apparatus and method for enhanced virtual to real address translation for accessing a cache memory unit | |
JPS61112260A (ja) | 多重階層記憶システムにおけるスワツプ制御装置 | |
KR20180117463A (ko) | 데이터 처리 장치 및 데이터 처리 방법 | |
JPS601657B2 (ja) | アドレス変換方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
BB | Publication of examined application | ||
MM | Patent lapsed | ||
MM | Patent lapsed |
Owner name: HONEYWELL BULL INC. |