FI80533C - Kontroll av datamaskinhierarki. - Google Patents

Kontroll av datamaskinhierarki. Download PDF

Info

Publication number
FI80533C
FI80533C FI842384A FI842384A FI80533C FI 80533 C FI80533 C FI 80533C FI 842384 A FI842384 A FI 842384A FI 842384 A FI842384 A FI 842384A FI 80533 C FI80533 C FI 80533C
Authority
FI
Finland
Prior art keywords
unit
cache
data
input
dpu
Prior art date
Application number
FI842384A
Other languages
English (en)
Swedish (sv)
Other versions
FI80533B (fi
FI842384A (fi
FI842384A0 (fi
Inventor
Lane K Hooker
Thomas H Howell
Charles W Ferrell
Original Assignee
Honeywell Inf Systems
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Inf Systems filed Critical Honeywell Inf Systems
Publication of FI842384A0 publication Critical patent/FI842384A0/fi
Publication of FI842384A publication Critical patent/FI842384A/fi
Application granted granted Critical
Publication of FI80533B publication Critical patent/FI80533B/fi
Publication of FI80533C publication Critical patent/FI80533C/fi

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Small-Scale Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Description

1 80533
Tietokoneen hierarkinen ohjaus. - Kontroll av datamuskin-hierarki.
Esillä oleva keksintö kohdistuu patenttivaatimuksien 1-3 johdanto-osien mukaisiin tietokonejärjestelmiin. Täsmällisemmin keksintö kohdistuu tietovirran ohjaukseen moniprosessorijärjestelmän prosessorien välillä.
Digitaalisten tietojenkäsittelyjärjestelmien alalla tällaisiin järjestelmiin voi sisältyä useita erillisiä käsittely-yksi-köitä, joilla jokaisella on oma erillinen kätkömuistinsa.
Näillä useilla käsittely-yksiköillä voi samalla olla yhteinen päämuisti. Käsittely-yksikön käsittelytehon maksimointiin pyrittäessä on tunnettua käyttää kätkömuisteja store-into-pohjalla. Toisin sanoen sellaisen tiedon tapauksessa, joka on otettu päämuistista ja jota jokin käsittely-yksiköistä on käsitellyt tai muuttanut, tuloksena saatu tieto tallennetaan vain tähän käsittely-yksikköön liittyvään kätkömuistiin.
Tässä tapauksessa muutetun tiedon viimeisimmän muodon ainoa sijaintipaikka on tähän käsittely-yksikköön liittyvässä kätkömuistissa. Päämuistiin jäänyt sama tietolohko on kel- · paamaton. Jos tällöin jokin toinen prosessoreista tarvitsee samaa tietolohkoa, on oltava välineet tiedon viimeisimmän muodon saamiseksi pyytävän prosessorin käyttöön.
Ongelmaa on käsitelty eräässä aikaisemmassa US-patent isä 3 753 360, Anderson et. ai. Tässä patentissa on esitetty järjestelmä, jossa jokaisessa kätkömuistiyksikössä pidetään rekisteriä, joka ilmaisee, että vaaditun tiedon ainoa kelpaava muoto on yhdessä kätkömuisteista. Tarvittava tieto siirretään tällöin vaadittaessa kätkömuistista, josta se on löydetty, takaisin päämuistiin ja haetaan päämuistista pyytävän käsittely-yksikön saataville. Tällainen järjestelmä on välttämättä hidas, koska päämuistia, joka on huomattavasti hitaampi yksikkö, on käytettävä kahdesti jokaisessa tällaisessa siirrossa.
Esillä olevan keksinnön tarkoituksena on siten saada aikaan 2 80533 parannettu tietokonejärjestelmä, jolla vältetään edellä mainitut puutteet.
isillä olevan keksinnön toisena tarkoituksena on saada aikaan esitetyn kaltainen parannettu tietokonejärjestelmä, jolla on paremmat käsittely teho-ominaisuudet.
Esillä olevan keksinnön vielä eräänä tarkoituksena on saada aikaan esitetyn kaltainen tietokonejärjestelmä, jolle on ominaista parannettu tietovirran ohjaus.
Näiden ja muiden tavoitteiden saavuttamiseksi esillä olevalle keksinnölle on tunnusomaista patenttivaatimuksien 1-3 tunnusmerk-' kiosissa esitetyt asiat. Keksinnön mukaan aikaansaadaan moniproses- - soritietokone järjestelmä, jossa on "store-into"-kätkömuistijärjestely, jossa järjestelmän jokaisella prosesoriyksiköllä on oma erityinen kätkömuistiyksikkönsä. Jonkin prosessoriyksikön käsittelemä tieto tallennetaan tähän prosessoriyksikköön liittyvään kätkömuistiin. Kun jokin toinen prosessoriyksiköistä tarvitsee täten muutettua tietolohkoa, pyydetty tieto siirretään suoraan pyytävälle prosessoriyksikölle ilman, että tietoa tarvitsisi ensin siirtää yhteiseen päämuistiin. Järjestelmä on myös varustettu mahdollisuudella tiedon siirtämiseksi määrätyissä tapauksissa kätkömuistista päa-muistille, mutta tämä ei ole ehtona siirron suorittamiselle pyytävälle prosessorille.
Esillä oleva keksintö on paremmin ymmärrettävissä seuraavasta yksityiskohtaisesta selityksestä luettuna oheisiin piirustuksiin liittyen, joissa:
Kuvio 1 on lohkokaavio esillä olevan keksinnön sisältävästä tietokonejärjestelmästä.
Kuvio 2 on lohkokaavio esillä olevaan keksintöön sisältyvän tyyppisestä käsittely-yksiköstä.
Kuvio 3 on lohkokaavio esillä olevaan keksintöön sisältyvän tyyppisestä kätkömuistiyksiköstä.
Il 3 80533
Kuviot 4A ja 4B muodostuvat yhdessä kuviossa 3 esitetyn tyyppisen kätkömuistiyksikön yksityiskohtaisen logiikkalohkokaavion.
Kuvio 5 on lohkokaavio esillä olevan keksinnön mukaisesta tietokonejärjestelmän hierarkisesta ohjauksesta.
Tarkasteltaessa piirustuksia yksityiskohtaisemmin kuviossa 1 on esitetty edellä mainitun tyyppinen tietokonejärjestelmä. Kuten rinnakkaisessa US-patenttihakemuksessa n:o 413 130, R.C. Moffett on esitetty, kuvatulle tietokonejärjestelmälle on ominaista hajautettu toiminta. Kuten piirustuksessa on esitetty, järjestelmään sisältyy ensimmäinen keskusyksikkö (CPU) 2 ja toinen keskusyksikkö (CPU) 4. Järjestelmässä on myös ensimmäinen keskusliitäntäyksikkö (CIU) 6 ja toinen keskusliitäntäyksikkö (CIU) 8. Ensimmäinen prosessoriyksikkö 2 on varustettu välineillä sekä ensimmäisen keskusliitäntä-yksikön 6 että.toisen keskusliitäntäyksikön 8 kanssa tapahtuvaa kommunikointia varten. Vastaavasti toinen prosessori-yksikkö 4 on varustettu välineillä ensimmäisen keskusliitäntäyksikön 6 ja toisen keskusliitäntäyksikön 8 kanssa tapahtuvaa kommunikointia varten. Järjestelmässä on yksi tai useampia syöttö/tulostusyksiköitä (I/O U) 10 ja 12.
Nämä yksiköt muodostavat itse asiassa multipleksoidun yhteyden liitäntäyksiköiden 6 ja 8 ja järjestelmän syöttö/tulostus-oheislaitteiden välille. Ensimmäinen muistiyksikkö 14 on kytketty ensimmäiseen liitäntäyksikköön 6 liittyväksi. Vastaavasti toinen muistiyksikkö 16 on kyktketty toiseen liitäntäyksikköön 8 liittyväksi. Tällaisessa järjestelmässä prosessoriyksiköt suorittavat tiedon tavanomaista laskennallista käsittelyä.
Tiedot vastaanotetaan tai lähetetään syöttö/tulostusyksiköstä vast. - yksikköön 10. Keskusliitäntäyksiköt 6 j a 8 huolehtivat mm. liikenteenohjaustoiminnasta keskusyksikön, syöttö/tulos-tusyksiköiden ja niihin liittyvien muistiyksiköiden välillä.
4 80533
Muistiyksiköt 14 ja 16 muodostavat tallennuspaikan sekä alkuperäiselle tiedolle että prosessoriyksiköiden muokkaamalle tiedolle. Tässä esitetyssä·järjestelmässä on huomattava, että kumpikin keskusliitäntäyksikkö 6 ja Θ voi olla suorassa yhteydessä kumpaan tahansa kahdesta keskusyksiköstä 2 ja 4. Molemmat keskusliitäntäyksiköt ovat yhteydessä syöttö/tu-lostusyksiköihin 10 ja 12. Esillä olevan keksinnön suori-tusesimerkissä kumpikin keskusliitäntäyksikkö voi kommunikoida suoraan järjestelmän toiseen puolikkaaseen liittyvän muisti-yksikön kanssa. Voidaan siten havaita, että esitetyn järjestelmän kahden puolikkaan välillä on keskinäinen kommunikointimahdollisuus.
Tästä keskinäisestä kommunikointimahdollisuudesta johtuen järjestelmän monet komponentit on kaikki synkronoitava keskenään. Tätä varten on olemassa ohjauskeskus 18. Ohjaus-keskus 18 on itse asiassa vielä eräs prosessoriyksikkö, jonka tehtävänä on määrittää järjestelmän perusohjaustoiminnat mukaanlukien toimintayksiköiden synkronointi.
Kuviossa 1 havainnollistettu rakenne on esitetty vain havainnollistamaan ympäristöä, jossa esillä oleva keksintö toimii.
Kuviossa 2' on esitetty prosessoriyksikön, esimerkiksi kuviossa 1 esitetyn prosessoriyksikön 2 pääkomponentit tai osajärjestelmät toisen prosesoriyksikön 4 ollessa rakenteeltaan samanlainen. Kuten tavallista prosessoriyksikkö 2 sisältää kätkömuistin. Kuviossa 2 esitetyssä suoritusesimerkissä tämä kätkömuisti on esitetty kahdesta osasta tai yksiköstä muodostuvana ensimmäisen osan ollessa käskykätkömuisti 20, josta seuraavassa käytetään nimitystä I-kätkömuisti. Kätkömuistin toinen osa on esitetty operandikätkömuistina 22, josta seuraavassa käytetään nimitystä O-kätkömuisti.
Kuten edellä mainitussa rinnakkaisessa hakemuksessa, jonka hakijat ovat Shelly ja Trubinsky, on täydellisemmin esitetty, prosessorin 2 koko toimintaa ohjaa keskusyksikön liukuhihna-(pipeline-) rakenne (CUPS) 24. Käskynnoutoyksikkö 26 antaa
II
5 80533 tai lähettää käskysanojen osoittet käskykätkömuistille 20 ja/tai operandikätkömuistille 22. Kun käskykätkömuisti vastaanottaa käskyosoitteen käskynnoutoyksiköltä 26, kätkö-muistista 20 tai 22 lähetetään tämän vaikutuksesta kaksois-käskysana käskynnoutoyksikölle 26. Käskynnoutoyksikkö 26 puolestaan tallentaa tai kerää käskyjonon käskypinorekisteriin, joka sisältyy osana käskynnoutoyksikköön 26.
Keskusyksikön liukuhihnarakenne 24 saa käskyt ohjelmajär-jestyksessä käskynnoutoyksikön.26 käskypinorekisteriltä. Liukuhihnayksikössä 24 on esitetyssä suoritusmuodossa viisiportainen liukuhihna, joka kuten edellä mainitussa rinnakkaisessa hakemukessa sekä toisessa rinnakkaisessa US-hakemuksessa 434 196, Wilhite ja Shelly on täydellisemmin selitetty käsittelee käskynnoutoyksiköstä 26 saadut käskyt ja suorittaa operaatiokoodin dekoodauksen ja operandin osoitteen muodostamisen. Kuten seuraavassa selitetään täydellisemmin, jos tarvittu tieto löydetään kätkömuistiyksiköistä, tämä tieto luetaan ja syötetään jakeluyksikön 28 kautta asianomaiselle useista suoritusyksiköistä.
Tietokonejärjestelmän suoritusesimerkissä useiden suoritus-yksiköiden joukossa on ensimmäinen keskussuoritusyksikkö 30, jonka arkkitehtuuri soveltuu erikoisesti suorittamaan laskennallisia perusoperaatioita, kuten yksinkertaisia latauksia, summauksia, vähennyksiä jne. Keskussuoritusyksikölle CEU 30 on lisäksi ominaista, että se suorittaa operaatiot sen mukaan kuin ne on vastaanotettu. Toinen suoritusyksikkö on yksilöity näennäismuisti- ja suojaushallintayksiköksi (VMSM) 32. Tämä yksikkö suorittaa käskyjä, jotka liittyvät näennäismuistiin, sekä suojaus- ja erikoikäskyjä, jotka ovat ominaisia suojatulle käyttöjärjestelmälle. Kolmas suoritusyksikkö on yksilöity binääriaritmeettiseksi yksiköksi (BINAU) 34. Tämän yksikön arkkitehtuuri on erityisesti orientoitu suorittamaan binääriaritmeettisia käskyjä, kuten kerto-, jako- ja liukuvan pilkun käskyjä. Neljäs suoritus-yksikkö on suoritusesimerkissä yksilöity desimaali/merkki- 6 80533 suoritusyksiköksi (DECCU) 36. Tämä yksikkö soveltuu erikoisesti desimaaliaritmeettisten, aakkosnumeeristen ja bittijonokäskyjen suorittamiseen. Jokainen suoritusyksikkö 32, 34 ja 36 on varustettu tulopinomuistilla tulevien käskyjen ja tietojen keräämiseksi ja antamiseksi peräkkäin asinaomaisille suoritus-yksiköille. Vastaavasti jokainen suoritusyksikkö 30, 32, 34 ja 36 on varustettu tulospinomusitilla asianomaisten suoritusyksiköiden käsittelyn tuloksien keräilemiseksi ja antamiseksi peräkkäin. Käskynsuoritusjono 38 tallentaa keskusyksikön liukuhihnarakenteen 24 ohjaamana suoritusjonon sanat ohjelmajärjestyksessä. Keräilyohjausyksikkö 40 käyttää käskynsuoritusjonon sanoja ohjaamaan tuloksena olevien tietojen lukemista kunkin suoritusyksikön 30, 32, 34 ja 36 tulospinomuistista. Täten ohjattuna nämä suoritustulokset voidaan tallentaa joko suojattuun päämuistiyksikkön 42 tai pinomuistiyksikköön 44 valintakytkinjärjestelyn 46 toiminnan avulla.
Kaikki edellä oleva on perustunut vaaditun tiedon löytämiseen kätkömuistirakenteista 20 tai 22. Mikäli vaadittua tietoa ei löydetä kätkömuistiyksiköistä, luetaan päämuisti keskus-liitäntäyksikön kautta vaaditun tiedon saamiseksi. Kätkö-muistiyksiköt 20 tai 22 lukevat vuorostaan keskusliitän-täyksikön 6 porttiyksikön 48 kautta. Täten saatu tieto tallennetaan kätkömuistirakenteeseen. Prosessoriyksikön toiminta jatkuu tämän jälkeen edellä esitetyllä tavalla.
Kun asianomainen yksi tai useampi suoritusyksikkö on käsitellyt valittua tietoa, pinomuisti 44 tallentaa tiedon takaisin kätkömuistirakenteisiin.
Kuviossa 3 on esitetty lohkokaaviomuodossa kummankin kuviossa 2 esitetyn kätkömuistiyksikön komponentit tai alijärjestelmät. Primäärinen pyyntö- ja osoiteinformaatio tuodaan tuloliitäntään 30. Liitäntä 50 antaa vuorostaan informaation tarpeen mukaan osoiteohjausyksikölle 52, varmistuspinomuistiyksikölle 54 ja pääohjausjärjestelyn 56 primääriohjausosaan. Ohjaus- li 7 80533 järjestelyn 56 primääriohjausosa aikaansaa kätkömuistiele-menttien operaatioiden tarvitsemat ajoitustoiminnat. Myös osoiteohjausyksikkö 52 suorittaa kätkömuistirakenteen signaa-lioperaatioiden ajoituksenohjaustehtäviä ja aikaansaa signaalien alustavan jakamisen asianomaisille toimintaelementeille. Esimerkiksi osoiteohjausyksikön 52 toiminta kanavoi primääri-osoiteinformaation tietomatriisille 58, hakemistomatriisille 60 ja yhteyden 62 avulla prosessoriyksikön porttiyksikölle 48.
Tietomatriisi 58 on muistimatriisi, jonka kapasiteetti on suorituesimerkisä 8192 sanaa. Sanat on järjestetty neljään sarakkeeseen tai tasoon, joissa kussakin on nimellisesti lk x 80 bittiä (tai kaksi 40 bitin sanaa). Tämä rakenne selitetään täydellisemmin myöhemmin. Hakemistomatriisi 60 on samalla tavalla muodostettu neljäksi tasoksi, joissa kussakin on 256 18-bittistä sanaa. Myös tämä rakenne selitetään yksityiskohtaisemmin myöhemmin.
Kun tietoja noudetaan päämuistista kätkömuistiyksikköön tallennettavaksi, ne noudetaan kahdeksan sanan lohkoina.
Koska tietomatriisin jokainen taso on kahden sanan levyinen, kahdeksan sanan lohko täyttää neljä peräkkäistä riviä tieto-matriisin valitusta tasosta. Tietomatriisin jokainen taso voi siten sisältää enintään 256 kahdeksan sanan lohkoa. Hakemistomatriisin kunkin tason kapasiteetti on 256 18-bitin sanaa. Hakemistomatriisin kunkin tason 256 sanaa liittyvät pareittain tietomatriisin 58 vastaavalle tasolle tallennettuihin 256 kahdeksan sanan lohkoihin. Prosessoriyksikön porttiyksikkö 48 sisältää muiden elementtien ohella hakemiston 60 jäljennöksen. Tätä varten osoiteohjausyksikkö 52 antaa osoiteinformaation myös yhteyden 62 kautta porttiyksikölle 48. Vastaavasti hakemistomatriisilla 60 on myös tiedonsiirtoyhteys porttiyksikköön 48.
Tietomatriisista 58 luettu tieto voidaan syöttää kuviossa 2 esitetyllä tavalla jakeluyksikön 28 kautta prosessoriyksikön 8 80533 mille tahansa suoritusyksikölle. Tietomatriisista 58 luettu tieto voidaan samoin syöttää suoraan keskusliitäntäyksikölle 6.
Kuten aikaisemmin on todettu, kätkömuiistissa voidaan suorittaa oleelliseti samanaikaisesti useampaa kuin yhtä toimintaa.
Tätä varten kätkömuistille syötetään seundääriset pyynnöt ja osoitteet. Sekundääriosoitteet voidaan antaa tulon 64 kautta, joka edustaa yhtä useista sekundääriosoiteinformaa-tiolähteistä, kuten myöhemmin esitetään. Tämä sekundääriosoite syötetään pyynnönvalintayksikköön 66. Sekundääripyynnöt syötetään tulon 68 kautta, joka edustaa yhtä tai useampaa tällaisten pyyntösignaalien lädhettä, pääohjausyksikön 56 sekundääriohjausosan tuloon. Yksikön 56 sekundääriohjausosa antaa ohjaussignaalin pyynnönvalintayksikön 66 toiminnan ohjaamiseksi ja toisen ohjaussignaalin osoiteohjausyksikölle 52. Nämä signaalit ohjaavat asinaomaisten yksiköiden ajoitus-javalintatoimintoja. Pyynnönvalintayksikön lähtö syöttää i sekundääriosoiteinformaation osoiteohjausyksikön 52 vielä erääseen tuloon. Tämä informaatio syötetään edelleen valinnaisesti hakemistomatrlisille 60 ja/tai tietomatriisille 58 siten suoritettavaa asianomaista käsittelyä varten.
Kuviossa 4 on esitetty kummankin esillä olevan keksinnön mukaisen kätkömuistiyksikön toiminnallisten yksiköiden yksityiskohtainen logiikkakaavio I-kätkömuistin ja O-kätkömuistin ollessa rakenteellisesti identtisiä. Primääriosoitesignaalit syötetään porttielimen 68 tuloon. Porttielin 68 on varustettu suoralla ja komplementäärisellä lähdöllä. Suora lähtö on johdettu myöhemmin täydellisemmin käsiteltävän signaalinja-kelujärjestelyn yhteen tuloon. Porttielimen 68 komplementäärien lähtö on johdettu varmistuspinorekisterille, joka muodostuu kolmesta peräkkäin kytketystä rekisteristä 70, 72 ja 74.
Kunkin kolmen varmistusrekisterin 70, 72 ja 74 lähtö on johdettu tulona valintakytkimelle 76.
Joukko sekundääritulo-osoitesignaaleja syötetään kolmeen
II
5 80533 tuloliitäntään 78, 80 ja 82. Tulosignaalit edustavat proses-soriyksikön porttiyksiköltä 48 tulevia signaaleja, sivutus-signaalia ja käskynnoutosignaalia. Nämä signaalit johdetaan valintakytkimen 84 tulopuolelle. Valintakytkin 84 on varustettu suoralla lähdöllä ja komplementäärisellä lähdöllä. Suora lähtö on kytketty suoraan edellä mainitulle signaalin-jakeluverkolle. Komplementäärinen lähtö johdetaan ensimmäiselle laskurille tai rekisterille 86, jonka lähtö on kytketty valintakytkimen 88 välityksellä toisen laskurin 90 tuloon. Valintakytkimen 84 komplementäärinen lähtö on myös johdettu invertterin kautta suoraan valitsimen 88 tuloon ja sieltä laskurille 90. Laskurin 90 lähtö on johdettu ensinnäkin inkrementoivan summaimen 92 kautta, jonka lähtö on kytketty valitsimen 76 yhteen tuloon, suoraan jakeluverkon yhteen tuloon ja takaisinkytkennän kautta valitsimen 88 tuloon. Laskurin 86 lähtö on myös johdettu suoraan valitsinkytkimen 76 tuloon.
Edellä mainittuun signaalinjakeluverkkoon sisältyy esimerk-kisuoritusmuodossa viisi tulovalitsinta 94, 96, 98, 100 ja 102. Valitsimien 94-102 lähdöt on kytketty rekisteriväli-neisiin 104, 106, 108, 110 ja 112. Jokaisella viidellä tulovalitsimella 94-102 on neljä tuloliitäntää kunkin valitsimen yksityisten tuloliitäntöjen ollessa kytketty neljän muun valitsimen vastaavaan tuloliitäntään. Siten porttielimen 68 suora lähtö on kytketty kaikkien viiden tulovaiitsimen 94-102 ensimmäiseen tuloliitäntän. Valitsinkytkimen 76 lähtö on kytketty viiden tulovalitsimen toisiin tulolii-täntöihin. Summaimen 92 lähtö ja laskurin 90 lähtö edellä mainitun ohituskytkennän 114 kautta on kytketty yhdessä kunkin tulovalitsimen 94-102 kolmanteen tuloliitäntään. Valitsinkytkimen 84 suora lähtö on kytketty suoraan viiden valitsinkytkimen 94-102 neljänteen tuloliitäntään. Rekisterin 104 lähtö muodostaa lohkonumerolähdön kytkettäväksi prosesso-riyksikön porttiyksikköön 48. Rekisterin 106 lähtö on kytketty tulorekisterin 116 tuloon. Rekisterin 108 lähtö on kytketty 10 80533 tulorekisterin 118 tuloon. Rekisterin 110 ja rekisterin 112 lähdöt on vastaavasti kytketty muiden tulorekistereiden 120 ja 122 tuloon.
Tulorekisterit 116, 116, 220 ja 122 muodostavat tulorekisterit kätkömuistin tietomatriisimuistiyksikölle. Kätkömuisti on järjestetty neljäksi tasoksi. Suoritusesimerkissä tieto-matriisin kukin taso sisältää RAM-välineen, jonka dimensiot ovat lk x 80. Nämä tasot on esitetty neljästä RAM-muistista 124, 126, 128 ja vastaavasti 130 muodostuvina. Kukin tieto-matriisin tasoyksikkö on varustettu lähtörekisterillä 132, 134, 136 vasta. 138. Rekisterin 132 lähtö on kytketty kahden valitsinkytkinelimen 140 ja 142 ensimmäiseen tuloon. Rekisterin 134 lähtö on johdettu kummankin kytkinelimen 140 ja 142 toiseen tuloon. Rekisterien 136 ja 138 lähdöt on samoin johdettu valitsinkytkinelinten 140 ja 142 kolmanteen ja vastaavasti neljänteen tuloon. Kytkin 140 on varustettu suoralla lähdöllä ja komplementäärisellä lähdöllä. Suora lähtö on kytketty kuviossa 2 esitetyn käskynnoutoyksikön 26 käskynnoutorekisteriin. Kytkimen 140 komplementäärinen lähtö on kytketty toisen valitsinkytkimen 144 yhteen tuloon. Valitsimen 144 lähtö on kytketty rekisteriin 146. Rekisteri 146 on myös varustettu suoralla ja komplementäärisellä lähdöllä. Rekisterin 146 kaksi lähtöä on kytketty kuviossa 1 esitettyihin keskusliitäntäyksikköihin 6 vast. 8.
RAM-muistit 124, 126, 128 ja 130 käsittävän tietomatriisio tulotietosignaalit otetaan yhdestä tai useammasta tulolii-tänästä 148. Nämä tuloliitännät 148 on kytketty tuloina valitsinkytkimelle 150, jonka lähtö on kytketty rekisterille 152. Rekisterin 152 lähtö on johdettu tulona tietomatriisio RAM-muisteille 124, 126, 128 ja 130. Rekisterin 152 lähtö on johdettu ohitusjohtimen 154 kautta suoraan valitsimen 144 toiseen tuloon siirrettäväksi rekisterin 146 kautta jommalle kummalle keskueliitäntäyksikölle.
Tietomatriisin luku/kirjoitustoimintaa ohjaavat ohjaussignaalit
II
11 80533 syötetään josain tietokonejärjetelmän useista lähteistä tuloliitäntöihin 156. Nämä liitännät on järjestetty tuloksi valitsimelle 158, jonka lähtö on kytketty rekisteriin 160. Rekisterin 160 lähtö johdetaan tulona valintalogiikkaverkolla 162. Valintalogiikkaverkko 162 on järjestetty reagoimaan tulosignaaleihin sillä tavoin, että se määrää, millä tieto-matriisin tasolla informaation lukeminen tai kirjoittaminen on suoritettava.
Primääriosoiteinformaatio johdetaan myös kahdelle porttieli-melle 164 ja 166. Portin 164 lähtö johdetaan tietomatriisin yhteydessä esitettyä vastaavan jakeluverkon yhteen tuloon.
Eli portin 164 lähtö on kytketty kunkin neljän valitsimen 168, 170, 172 ja 174 ensimmäiseen tulonapaan. Portin 166 lähtö on kytketty kolmen rekisterin 176, 178 ja 180 varmistus-ketjun kautta. Ensimmäisen rekisterin 176 lähtö on kytketty toisen rekisterin 178 tulon lisäksi valitsinkytkinjärjestelyn 182 yhteen tulonapaan. Toisen rekisterin 178 lähtö on paitsi, että se on kytketty kolmannen rekisterin 180 tuloon, kytketty myös valitsimen 182 toiseen tuloon. Kolmannen rekisterin 180 lähtö on myös kytketty valitsimen 182 kolmanteen tuloon. Valitsin 182 on varustettu suoralla ja komplementäärisellä lähdöllä. Suora lähtö on kytketty vahvistimen kautta kunkin neljän valitsimen 168, 170, 172 ja 174 yhteenkytkettyihin toisiin tuloihin.
Kuten edellä sekundääriosoiteinformaatio saadaan yhdestä tai useammasta kolmesta tuloliitännästä 186, jotka on merkitty porttiyksikkö, sivutus ja käskynnouto. Nämä tuloliitännät johdetaan valitsinkytkinjärjestelyn 188 tuloon. Kytkin 188 on varustettu suoralla lähdöllä ja komplementäärisellä lähdöllä. Komplementäärinen lähtö on kytketty tulona ensimmäiselle rekisterille 190, jonka lähtö on kytketty toiselle rekisterille 192. Ensimmäieen rekisterin 190 lähtö on kytketty valitsimen 182 erääseen tuloon toisen rekisterin 192 lähdön ollessa kytketty valitsimen 182 vielä erääseen tuloon.
12 80533
Lisäksi toisen rekisterin 192 lähtö on kytketty kunkin valitsimen 168, 170, 172 ja 174 yhteenkytkettyihin kolmansiin tuloihin. Valitsimen 183 suora lähtö on kytketty suoraan neljän valitsimen 168, 170, 172 ja 174 yhteenkytkettyihin neljänsiin tuloihin.
Valitsimen 168, 170, 172 ja 174 lähdöt on kytketty vastaavasti neljän rekisterin 194, 196, 198 ja 200 tuloihin. Rekisterit 194, 196, 198 ja 200 muodostavat tulorekisterit kätkömuisti-järjestelyn hakemistomatrlisille. Samoin kuin tietomatriisin tapauksessa hakemistomatriisi on myös järjestetty neljään tasoon, joita edustavat neljä RAM-muistia 202, 204, 206 ja 208. Esillä olevan keksinnön suoritusesimerkissä kukin näistä neljästä RAM-muistista muodostuu 256 x IB matriisista. Hakemistomatriisin kunkin taosn lähtö on kytketty ohjainvah-vistimen 210, 212, 214 ja 216 kautta vastaavaan pitorekisteriin 218, 220, 222 ja 224. Hakemistomatriisin tasojen lähdöt on kukin kytketty yhteen lähtörekisterilin 226, 228, 230 ja 232» Kaikkien näiden rekisterien lähdöt on kytketty eri tuloon valitsinky tkimesä 234, jonka lähtö on kytketty lähtörekisteriin 236. Tämän rekisterin 236 lähtö on kytketty prosessoriyksikön porttiyksikköön 4B.
Korreloitaessa kätkömuistin toimintaa päämuistiyksikön toimintaan todellinen sivunumero syötetään tuloliitäntään RPN.
Tämä numero syötetään ensiksikin suoraan valitsinkytkinelimen 238 yhteen tulonapaan, jonka läthö on kytketty todellisen sivunumeron rekisteriin 240. Todellinen sivunumero syötetään myös ensimmäisen rekisterin 242 tuloon, jonka lähtö syötetään toisen rekisterin 244 tuloon. Ensimmäisen rekisterin 242 lähtö on myös kytketty valitsinkytkinelimen 238 eri tuloon. Toisen rekisterin 244 lähtö on samalla tavalla kytketty kytkinelimen 238 kolmanteen tuloliitäntään. Todellisen sivunumeron rekisterin 240 lähtö on johdettu ensimmäisen puskurivahvitimen 241 kautta neljästä RAM-muistista 202, 204, 206 ja 208 muodostuvan hakemistomatriisin ohjaustuloon. Rekisterin 240 lähtö on myös johdettu suoraan jokaisen ti 13 80533 neljän komparaattorin 246, 248, 250 ja 252 yhteen tuloon. Komparaattorin 246 toinen tulo on kytketty rekisterin 218 lähtöön sivunumeron vertaamiseksi rekisterissä 218 olevaan sivunumeromerkintään. Vastaavasti komparaattorin 280 toinen tulo on kytketty rekisteriin 220, komparaattorin 250 toinen tulo on kytketty rekisteriin 222 ja komparaattorin 252 toinen tulo on kytketty rekisteriin 224. Komparaattorien 246, 248, 250 ja 252 lähdöt on kytketty ohjaamaan valitsimen 142 suorittamaa valintaa. Rekisterien 218, 220, 222 ja 224 lähdöt on myös kytketty vaiitsinkytkinelimen 254 neljään tuloliitäntään. Valitsinkytkimen 254 lähtö on kytketty käskyn todellisen sivunumeron pinorekisterin 256 tuloon. Pinorekisterin 256 lähtö johdetaan tulona pinorekisterille 258, jonka pinorekisterin lähtö johdetaan kummankin komparaattorin 260 ja 262 yhteen tuloon.
Todellisen sivunumeron rekisterin 240 lähtö johdetaan hake-mistomatriisille ja hakemistokomparaattoreille johtamisen ohella myös valitsinkytkimen 264 yhten tuloon, jonka kytkimen lähtö johdetaan rekisterille 266, joka on merkitty TRA G0. Rekisterin 266 lähtö johdetaan ensin neljäntenä tulona valitsinkytkimelle 238. Toiseksi se johdetaan yhtenä tulona valitsinkytkimelle 268, jonka lähtö on kytketty rekisteriin 270, joka on merkitty .TRA N0G0. Valitsinkytkimen 268 toinen tulo on kytketty myös RPNO-rekisterin 240 lähtöön. Rekisterin 270 lähtö johdetaan tulona viiverekisterille 272, jonka lähtö on kytketty silmukkana takaisin valitsinkytkimen 264 toiseen tuloon.
RPNO-rekisterin 240 lähtö johdetaan myös puskurivahvistimen 274 kautta valitsinkytkimen 276 tuloon ja valitsimen 278 tuloon. Valitsimen 276 lähtö johdetaan tulona rekisterille 280, joka on merkitty IS RPN. Rekisterin 280 lähtö syötetään toisena tulona valitsinkytkimelle 278. Valitsinkytkimen 278 lähtö syötetään tulona rekisterille 282, jonka lähtö on kytketty tulona viiverekisterille 284. Viiverekisterin 284 lähtö syötetään takaisinkytkentäsilmukkana valitsinkytkimen 14 80533 276 toiseen tuloon. Puskurivahvistimen 274 lähtö syötetään lisäksi tulosignaalina rekisterille 278, jonka lähtö on kytketty toisena tulona komparaattorille 262. Rekisterin 280 lähtö syötetään toisena tulona komparaattorille 260. Komparaattorit 260 ja 262 vertaavat itse asiassa kätkömuis-tiyksikön ulkopuolelta syötettyä ..todellista sivunumeroa hakemistomatriisista saatuihin numeroihin. Tällaisella vertailulla ilmaistaan esillä olevalle kätkömuistille kelpaamaton todellinen sivunumero.
Valitsinkytkimen 188 komplementäärinen lähtö syötetään myös invertoivan vahvistimen 286 kautta kytkinvalitsimen 288 yhteen tuloon, jonka valitsimen lähtö on kytketty rekisterin 290 tuloon. Varmistusrekisterin 176 lähtö on lisäksi kytketty tulona valitsinkytkimelle 292 ja toisena tulona vaiitsinkytkimelle 288. Rekisterin 190 lähtö on kytketty toisena tulona valitsinkytkimelle 292 ja se muodostaa ensimmäisen tulon valitsinkytkimelle 294. Valitsimen 294 lähtö on kytketty kolmantena tulona valitsimelle 288. Rekisterin 290 lähtö syötetään ensiksikin tulona rekisterille 296, joka on merkitty WRB-WRT. Rekisterin 296 lähtö syötetään neljäntenä tulona valitsinkytkimelle 288.
; Rekisterin 290 lähtö syötetään RAM-muistin 298 ohjaustuloon, RAM 298 on suoritusesimerkissä 256 x 8 RAM myöhemmin enemmän selitettävän kirjoitettu-bitti-koodin tallentamiseksi. Kirjoitettu-bitti esiintyy nelibittisenä yksikkönä, joten RAM 298 on jaettu kahteen nelibittiseen osaan. Kuten kuviossa 4 on esitetty, vasemmanpuoleinen osa on järjestetty vastaanottamaan kirjoitettu-bitit. RAM-muistin oikeanpuoleiseen osaan tallennetaan vasemmanpuoliseen osaan kirjoitetun tiedon jäljennös. Tätä jäljennöstä ^käytetään esimerkki-suoritusmuodossa kirjoitettu-bitin virheettömyyden tarkastamiseen. Kirjoitettu-bitin RAM-muistin 298 kummastakin puolikkaasta syötetään lähtö tuloina rekisterin 300 vastaaviin puolikkaisiin. Rekisterin 300 kummastakin puolikkaasta syötetään lähtö komparaattorin 302 tuloihin. Kirjoitettu-
II
15 80533 bitti-koodi rekisterin 30 vasemmanpuoleisesta osasta syötetään myös tulona logiikkaverkolle 304, joka on merkitty NEW WRB. Tämän logiikkaverkon 304 lähtö syötetään tulona rekisterille 306, joka on merkitty WRB. Rekisterin 306 lähtö syötetään samanaikaisesti RAM-muistin 298 molempiin puolikkaisiin. Kirjoitettu-bitti tallennetaan RAM-muistiin 298 kohtaan, joka vastaa kutakin tietomatriisiin 124, 126, 128 ja 130 tallennettua tietolohkoa. Tietomatriisin jokaisella tasolla on tilaa 256 tietolohkoa varten. Tietomatriisissa on neljä tasoa. Kirjoitettu-bitit tallennetaan tämän vuoksi 256 x 4 matriisiin kunkin bitin edustaessa yhtä lohkoa kullakin vastaavalla matriisin tasolla. Käytännössä kirjoitettu-bitit asetetaan ykköseksi osoittamaan, että asianomainen kätkömuisti "omistaa" tietolohkon. Rekisterin 300 lähtö on myös kytketty prosessoriyksikön porttiyksikölle 48 kirjoitettu-bitti-infor-maation välittämiseksi porttiyksikölle.
Valitsinkytkimen 182 komplementäärinen lähtö on kytketty viiverekisterin 308, joka on merkitty RCW-DLY, tuloon. Rekisterin 308 lähtö muodostaa toisen tulokytkennän valitsinky tkimelle 294 ja kolmannen tulokytkennän valitsinkytkimelle 292. Valitsinkytkimen 292 neljäs tulo on kytketty varmis-tusrekisterin 178 lähtöön. Valitsinkytkimen 292 lähtö on kytketty rekisterin 310, joka on merkitty ADD DLY, tuloon. Rekisterin 310 lähtö on syötetty tulona RCW ADD rekisterille 312. Rekisterin 312 lähtö on syötetty tulona RAM-muistille 314, joka on merkitty RCW RAM. RCW RAM on suoritusesimerkissä 256 x 6 RAM, johon tallennetaan korvauskoodisanat kätkömuistin tietomatriisin sen tietolohkon, jonka käytöstä on kulunut pisin aika, seuraamiseksi. RAM-muistin 314 lähtö on johdettu tulosignaalina rekisterille 316, joka on merkitty RPLI ja jonka lähtö on johdettu rekisterin 318, joka on merkitty MISS LV, tuloon. RAM-muistin 314 lähtö on myös johdettu tulona rekisterille 320, joka on merkitty ΝΓΤ. NFT-rekisteri 320 sisältyy järjestelmään, joka mahdollistaa toiminnan ulkopuolella suoritettavat testioperaatiot. Rekisterin 318 lähtö johdetaan tulo-ohjaussignaalina hakemistomatriisille, 16 80533 johon sisältyy RAM-tasot 202, 204, 206 ja 208. Sama signaali johdetaan myös yhtenä tulosignaalina valitsinkytkimelle 322. Valitsinkytkimelle 322 syötetään muita· tulosignaaleja lohkonnollauslogiikkayksiköltä 324 ja löytövarauslogiikka-yksiköltä 326. Valitsinkytkimen 322 lähtö syötetän ohjaussignaalina RCW RAM-muistille 314.
Edellä on selitetty kaksoiskätkömuistin rakennetta ja sen ympäristöä ja seuraajassa tarkastellaan laitteiston toimintaa.
I-kätkömuisti, joka on yksilöity käskykätkömuistiksi, on sovitettu tallentamaan vain päämuistista saatuja muuntamattomia käskyjä. I-kätkömuiti voi lisäksi sisältää epäsuoria sana-lohkoja. 0-kätkömuisti sitä vastoin on sovitettu tallentamaan kaikki operandit, muunnetut käskyt ja muunnetut epäsuorat sanalohkot.
Esillä olevan keksinnön kätkömuistia on ajateltu käytettäväksi nopeassa tietokonejärjestelmässä, jossa voi olla useampia kuin yksi prosessoriyksikkö ja jossa jokaiseen prosessori-yksikköön sisältyy joukko suoritusyksiköitä, kuten kuvion 2 selityksen yhteydessä on esitetty. Koska kysymyksessä on useampia kuin yksi suoritus ja useat suoritusyksiköt voivat olla samanaikaisesti toiminnassa, tiedot ja käskyt esitetään liukuhihnamuodossa. Tätä varten CUPS-yksikön 24 avulla aikaansaadaan alustava liukuhihnatoiminta.
Aluksi käskynnoutoyksikölle 26 annetaan pyyntö käskyn noutamiseksi. Tällöin käskynnoutoyksikkö lukee I-kätkömuistihn ensimmäisen käskyn saamiseksi. Jos tämä käsky löydetään kätkömuistista, käsky luetaan ja tallennetaan käskypino-rekisteriin käskynnoutoyksikössä 26. Käskyt saa peräkkäin keskusyksikön liukuhihnarakenne (CUPS 24), jossa käskyin-formaatiota muokataan ja käytetään 0-kätkömuistin 22 osoitukseen. Jos oletetaan, että pyydetty informaatio on tallennettu 0-kätkömuistiin, tieto otetaan Q-kätkömuistista 22
II
17 80533 ja lähetetään annetusta käskystä riippuen joko jakeluyksikölle 28 tai suoraan keskusliitäntäyksikölle 6.
Tarkasteltaessa edellä mainittua menettelyä kuvioissa 4A ja B esitetyn rakenteen yhteydessä primääripyyntö CUPS-yksiköltä 24 syötetän portin 68 primääriosoitetuloon ja porttien 164 ja 166 primääriosoitetuloon. Portin 68 lähtö syötetään tulona jakeluverkolle, joka sisältää valitsimet 96, 98, 100 ja 102 sekä valitsimen 94. Rekisterin 68 lähtö johdetaan myös varmistusrekisterin 70 tuloon. Vastaavasti lähtösignaali portilta 164 syötetään tulona jakeluverkolle, jota edustavat valitsimet 168, 170, 172 ja 174. Primääripyyntösignaali syötetään myös portin 166 kautta varmistusrekisterille 176. Varmistusrekisterit 70, 72 ja 74 muodostavat kaskadiin kytketyn viivejärjestelyn primääripyyntöosoitteen säilyttämiseksi rekisteriketjussa sellaisen häiritsevän rutiinin keston tapauksessa, joka estäisi primääriosoitteen suoran lukemisen rekistereihin 106, 108, 110 ja 112. Vastaavasti varmistusrekisterit 176, 178 ja 180 muodostavat kaskadiin kytketyn viivejärjestelyn primääriosoitesignaalin tallentamiseksi samoin häiritsevän rutiinin tapauksessa.
Koska esillä olevan keksinnön sisältävissä kätkömuistijärjestelyissä voi olla samalla kertaa käynnissä useampia kun yksi operaatio, sekundäärirutiini, joka on jo käynnissä oleva rutiini, katsotaan rutiiniksi, jota ei voi keskeyttää ja primäärirutiini katsotaan rutiiniksi, joka voidaan keskeyttää, koska se on ensimmäisessä toimintavaiheessaan. Siten häiritsevän rutiinin tapauksessa primääripyyntöä viivästetään varmistusrekistereillä 70, 72 ja 74 tietomatriisissa ja varmistusrekistereillä 176, 178 ja 180 hakemistomatriisissa. Valitsimet 168, 170, 172 ja 174 aktivoidaan primääriohjaus-logiikan 56 (kuvio 3) ohjaamana antamaan primääriosoitteen portilta 164 kuhunkin rekistereistä 194, 196, 198 ja 200.
Esillä olevan keksinnön suoritusesimerkissä primääripyyntöön sisältyy 26 bitin sanan osoite, jonka ensimmäiset 16 bittiä ie 80 533 edustavat todellista sivunumeroa RPN. Bitit 15-22 edustavat lohkonumeroa bitin 15 ollessa lomittuneena molempiin numeroihin. Viimeiset kolme bittiä edustavat sanan sijaintia lohkossa.
Siten kuviossa 4 bitit 0-15 syötetään rekisterin 242 BPN-tuloon. Bitit 15-22 syötetään puolestaan primääriosoitetuloon tai hakemistomatriisiin. Jos oletetaan, että häiriöitä ei esiinny, kytkimet 168, 170, 172 ja 174 ohjaavat lohkonumeron rekistereihin 194, 196, 198 ja 200. Nämä suorittavat tällöin samanaikaisesti hakemistomatriisin kaikkien neljän tason 202, 204, 206 ja 208 osoituksen. Jokaiseen tasoon sisältyy luonnollisesti lohkon osoite, joka vastaa sille syötettyä lohkon osoitetta. Kaikissa näissä lohkon osoitteissa on siihen aikaisemmin tallennettu yksilöllinen 16 bitin todellinen sivunumero RPN sekä pariteettibitti ja kelpoisuusbitti.
Jokaisen neljän tason osoitetussa lohkossa olevat todelliset sivunumerot siirretään puskurivahvistimien Z10, 212, 214 ja 216 kautta rekistereille 218, 220, 222 ja 224. Kun lohko-numero tuodaan hakemistomatriisin kautta rekistereille 218-224, todellinen sivunumero RPN tuodaan rekisterien 242, 244 kautta ja se ohjataan rekisteriin 240. Rekisterin 240 lähtö syötetään kunkin neljästä komparaattorista 246, 248, 250 ja 252 yhteen tuloon. Rekisterien 218, 220, 222 ja 224 lähdöt syötetään kunkin neljän komparaattorin 246-252 toiseen tuloon. Samaa ajankohtaista todellista sivunumeroa ei ole tallennettu useammalle kuin yhdelle hakemistomatriisin tasolle. Siten "löytymistapauksessa" vain yksi neljästä komparaattorista kehittää löytynyt-lähtösignaalin.
Kun asianomaiset signaalit on tuotu hakemistomatriisin ja komparaattorien kautta siten, että löytynyt-signaali on saatu, primääripyynnön bitit 15-24 syötetään portin 66 tuloon ja sijoitetaan rekistereihin 106, 108, 110 ja 112. Samat signaalit tuodaan tämän jälkeen rekistereihin 116, 118, 110 ja 122. Rekistereissä 116, 118, 120 ja 122 olevia osoitteita käytetään tämän jälkeen tietomatriisin ti 19 80533 kunkin neljän tason 124, 126, 128 ja 130 osoittamiseen. Osoitettuihin paikkoihin tietomatriisin neljällä tasolla tallennettu informaatio ladataan rekistereihin 132, 134, 136 ja 138. Rekistereihin 132, 134, 136 ja 138 tallennettu informaatio syötetään tämän jälkeen kahden kytkimen 140 ja 142 neljään tuloliitäntään. Tähän asti kätkömuistin toiminta on samanlainen riippumata siitä, onko kätkömuisti I-kätkömuisti 20 tai 0-kätkömuisti 22. Jos tarkasteltava kätkömuisti on I-kätkömuisti ja tietomatriisista otettu tieto on käsky, kytkin 142 aktivoidaan valinnaisesti valitsemaan se lähtötaso tietomatriisista, joka vastaa tasoa, jolla löytyminen todettiin hakemistossa. Tämä valittu käsky annetaan tämän jälkeen noutoyksikön 26 käskynnoutorekisteriin.
Valitsinkytkintä 140 ei käytetä I-kätkömuistin tapauksessa eikä myöskään valitsinkytkimen 142 komplementääristä lähtöä.
Kun primääriosoite syötetään portin 166 kautta, osoite ladataan rekisteriin 176. Rekisterin 176 lähtö, joka on johdettu kytkentävalitsimen 292 tuloon, lataa tämän primää-riosoitteen rekisteriin 310. Seuraavalla kellojaksolla tämä osoite ladataan rekisteriin 312, joka on merkitty RCW ADD. Tämän jälkeen tätä käytetään seuraavalla kellojaksolla RCW RAM-muistin 314 osoitukseen. RCW RAM 314 on kuten on todettu, 236 x 6 RAM, jossa kukin 236 rivistä edustaa ja vastaa yhtä hakemistossa olevista 236 lohkon osoitteesta tietomatriisin kullakin tasolla oleville 236 lohkolle.
RCU RAM päivitetään korvauskoodisanalla, joka osoittaa, että osoitettu lohko on viimeksi osoitettu lohko kätkö-muistissa. RCW RAM 314 seuraa siten sitä, mitä kätkömuistin lohkoista on käytetty viimeksi ja mikä on ollut kauimmin käyttämättä.
Jos pyydetty primääriosoite ei olisi ollut kätkömuistissa, tietoa olisi kysytty päämuistiyksiköstä. Täten saatu pyydetty tieto ladattaisiin tällöin tietomatriisiin ja osoite ladattaisiin hakemistomatrlisiin. Sen nimenomaisen osoitteen 20 80533 matriisissa, johon uusi tieto tallennetaan, määrää RCW RAM 314. Kätkömuistin kauimmin käyttämättömän rivin osoite ladataan rekisteriin 316 ja tämän jälkeen ei löytynyt-taso-dekoodausrekisteriin 31Θ. Tämä rekisterin 318 lähtö osoittaa lohkon osoitteen ja tason, johon uuden noudetun tiedon on sijoituttava.
Koska, kuten aikaisemmin on mainittu, tietokonejärjestelmässä, johon sisältyy useampia kuin yksi prosessoriyksikkö, jotka voivat käyttää samaa yhteistä päämuistiyksikköä, jokaisella muulla prosessoriyksiköllä on oma kätkömuistijärjestelmänsä, päämuistiyksikön informaatiolohko voidaan hakea ja tallentaa mihin tahansa useista kätkömuistiyksiköistä. Koska mikä tahansa prosessoriyksiköistä voi olla muuntanut päämuistiyksikön tietoja ja tallentanut sen omaan kätkömuistiyksikköönsä, on tärkeää, että voimassa oleva ja viimeksi muunnettu tieto on tallennettu ja käytettävissä vain yhdessä useista kätkö-muisteista. Tämän vuoksi, kun tieto kirjoitetaan esim. kuviossa 4 esitetyn mukaiseen kätkömuistiyksikköön, tämän informaation osoite, joka tuodaan primääriosoitetuloon portin 166 ja rekisterin 176 kautta, tuodaan korvauskoodi-sana-RAM-muistin osoituksen lisäksi valitsinkytkimen 294 ja valitsinkytkimen 288 kautta rekisterille 290. Tämän rekisterin 290 lähtö suorittaa WRB RAM-muistin 298 osoituksen.
RAM 298 on, kuten aikaisemmin on mainittu, 256 x 8 RAM.
Se on jaettu kahteen identtiseen 256 x 4 suuruiseen osaan. Toinen puoli on toisen puolen redundanttinen kopio. RAM-muistiin on tallennettu KIRJOITETTU-bitit vastaamaan jokaista kätkömuistin lohkon osoitetta hakemistomatriisi ja tietomat-riisi mukaanluettuina. Kun tieto on kirjoitettu sille varattuun lohkoon asinaomaisessa kätkömuistissa, vastaava KIRJOITETTU-bitti asetetaan. Kutakin tiettyä asianomaisen kätkömuistin lohkoa edustavan KIRJOITETTU-bitin asettaminen osoittaa, että kyseisellä kätkömuistilla on tietyn tietolohkon viimeksi päivitetty versio.
Il 21 80533
Jos kätkömuistille annetaan lukupyyntö ja pyydetty tieto löydetään kätkömuistista eli tuloksena on löytö kätkömuistista, kysellään myös kirjoitettu-bitti-RAM sen varmistamiseksi, että kätkömuistista löydetty tieto on kelpaava tieto eli että se on tämän tiedon viimeisin muoto. Tämä määritetään toteamalla, että tämän tietolohkon kirjoitettu bitti on asetettu kirj oitettu-bitti-RAM-muistissa.
Kun kirjoitettu-bitti on asetettu ja kelpaava-bitti on asetettu hakemistomatriisissa, tietomatriisin osoitettu lohko voi tällöin lähettää osoitetun tiedon valitsimen 142 kautta asianomaisen prosessoriyksikön jakeluyksikölle 28. Kun prosessoriyksikkö on käsitellyt tietoa, muunnettu tieto kirjoitetaan tämän jälkeen uudelleen sille varattuun osoitteeseen tietomatriisiin ja kelpaava-bitti asetetaan hakemistomatriisissa ja kirjoitettu-bitti asetetaan WRB RAM-muistissa.
Kun kätkömuistia käytetään liukuhihna-tyyppisessä rakenteessa, on mahdollista, että useampi kuin yksi toiminta on käynnissä jossain kätkömuistissa mielivaltaisena aikana. Tätä varten sekundäärisignaaleja voidaan syöttää valitsinkytkimen 84 tuloon tietomatriisissa tai valitsinkytkimen 188 tuloon hakemistomatriisissa. Samanaikaiset toiminnat voidaan pääosin suorittaa toisiaan häiritsemättä. Joissain tapauksisa kaksi rutiinia voivat kuitenkin häiritä toisiaan.
Koska sekundääriproseduurit edustavat toimintoja, jotka ovat jo alkaneet, sekundääritoiminnoille annetaan korkeampi prioriteetti primääritoimintoihin verrattuna. Tätä varten tietomatriiissa primääriosoiteinformaatio syötetään varmistus-pinorekistereille, joita edustavat rekisterit 70, 72 ja 74. Jokainen kolmesta rekisteristä 70, 72 ja 74 edustaa yhden kellojakson viivettä. Kunkin varmistusrekisterin lähtö on kytketty yhteen tuloon valitsinkytkimessä 76, joka voidaan tällöin ohjata kytkemään asianomaisen osoitteen osoitteenjakeluverkolle. Tämä muodostaa enintään neljän 22 80533 kellojakson viiveen primääripyynnölle käynnissä olevan sekundääritoiminnan suorittamiseksi loppuun.
Vastaavasti hakemistomatriisin primääriosoite syötetään portin 166 kautta varmistusrekisteripinoon, jota edustavat rekisterit 176, 178 ja 180. Nämä rekisterit 176, 178 ja 180 muodostavat jälleen enintään neljän kellojakson viiveen primääriosoitesignaalille, jonka aikana käynnissä oleva sekundääritoiminta suoritetaan loppuun.
Mikäli kätkömuistissa suoritettavana oleva käsky edellyttää siirtorutiinia, jota joskus kutsutaan haarautuvaksi tai hyppyrutiiniksi, tai jos pyyntö on kohdistunut epäsuoran osoitteenmuodostuksen ohjelmaan, vastaavat käskyt otetaan kätkömuistista ja tallennetaan käskynnoutoyksikön 26 käsky-pinorekisteriin. Käskynnoutoyksikköön 26 tallennettu informaatio ei sisällä todellisia sivunumeroita, siinä käytetään vain osoitetun informaation lohkon osoitetta ja kätkömuistin tason numeroa. Kuten aikaisemmin on mainittu, käskynnouto-yksikköön tallennetut käskyt säilytetään niin kauan kuin valitun rutiinin toiminta tarvitsee niitä. Koska kätkömuistissa voidaan suorittaa samanaikaisesti muita toimintoja, on mahdollista, että tällaisen muun rutiinin toiminta on poistanut ja/tai siirtänyt osoitetussa muistipaikassa kätkömuistissa olevan tiedon sen ajanhetken, jolloin käsky tallennettiin käskynnoutoyksikön 26 käskypinoon, ja ajanhetken, jolloin toiminta tarvitsee käskyä, välillä. Tällaisessa tapauksessa, kun kätkömuistin muuttuneen paikan osoite valitaan, siihen tallennettu informaatio on väärää informaatiota kyseiselle rutiinille. Tällaisen virhein formaation käytön välttämiseksi, aina kun tällaisia käskyjä otetaan kätkömuistista ja tallennetaan käskynnoutoyksikön ,.5Jcäskypinoon, tämän informaation todellinen sivunumero tallennetaan IRPN-pinoon 256. Tämä pinorekisteri pitää yksittäin tallennettuina todellisia sivunumeroita, jotka vastaavat käskynnoutoyksikön 26 käsky-pinoon tallennettuja käskyjä. Kun yksityinen käsky otetaan suoritettavaksi käskynnoutoyksikön 26 pinosta, osoitetun
II
23 80533 muistipaikan todellista sivunumeroa kätkömuistissa, joka vastaa käskyn osoitetta, verrataan senhetkisen käskysekvenssin todelliseen sivunumeroon. Aina siirto-operaation esiintyessä siirtosekvenssin todellinen sivunumero ladataan rekisteriin 266 ja rekisteriin 280 sekä rekistereihin 270 ja 282. Seu-raavalla kellojaksolla rekisterin 270 sisältö ladataan rekisteriin 272 ja rekisterin 266 sisältö sisällytetään rekisteriin 270. Vastaavasti rekisterin 282 sisältö ladataan rekisteriin 284 ja rekisterin 280 sisältö ladataan rekisteriin 282. Tähän mennessä on määrätty, onko siirto sallittu siirto eli onko se G0 siirto vain NO G0 siirto. Jos kyseessä on G0 siirto, rekisterin 272 sisältö ladataan uudelleen rekisteriin 266 ja tallennetaan sinne, kunnes sitä kutsutaan. Vastaavasti rekisterin 284 sisältö ladataan uudelleen rekisteriin 280 ja tallennetaan, kunnes sitä kutsutaan. Jos siirto on NO G0 siirto, rekisterin 272 sisältö hävitetään ja se kadotetaan. Vastaavasti, jos siirto on NO G0 siirto, rekisterin 284 sisältö hävitetään. Jos siirto oletetaan GO-tyyppiseksi, rekisterin 280 sisältö edustaa sen hetkisen siirtosekvenssin todellista sivunumeroa. Se on sivunumero, jota verrataan komparaattorissa 260 vastaavaan todelliseen sivunumeroon, joka on saatu IRPN-pinosta 256. Jos molemmat todelliset sivunumerot ovat identtisiä, se ilmaise, että osoitettu tieto on oikea tieto. Jos toisaalta todelliset sivunumerot eroavat toisistaan, komparaattorin lähtö osoittaa tämän ja antaa ilmoituksen virheellisestä todellisesta sivunumerosta. Tässä tapauksessa CUPS-yksikkö hylkää osoitetun tiedon ja suorittaa uuden noudon kätkömuistista. Vastaavasti, kun kyseinen rutiini on epäsuoran osoitteenmuodostuksen ohjelma, todellinen sivunumero ladataan rekisteriin 287 ja komparaattorin 262 toiminta vertaa sitä IRPN-pinosta 256 saatuun todelliseen sivunumeroon. Jälleen, jos molemmat todelliset sivunumerot ovat yhtäpitäviä, komparaattorin lähtö ilmaisee tämän. Toisaalta, jos todelliset sivunumerot eivät ole yhtäpitäviä, tällöin komparaattorin 262 lähtö antaa ilmoituksen virheellisestä todellisesta sivunumerosta ja jälleen prosessori hylkää tiedon.
24 80 533
Jos pyyntö on koskenut kätkömuistin lukurutiinia eikä vaadittu informaatio ollut osoitetussa kätkömuistissa, järjestelmä rekisteröi kätkömuistista löytymättä jäämisen. Tällaisen löytymättä jäämisen tapauksessa vaadittu informaatio otetaan paämuistista tai toisen ohjausyksikön kätkömuistista, kuten myöhemmin täydellisemmin esitetään. Vaadittu tieto tallennetaan tällöin sille osoitetulle paikalle pyytävään kätkömuistiin. Osoitetun paikan määrää luonnollisesti RAM-muistiin 314 tätä paikkaa varten tallennettu korvauskoodisana. Jos kyseinen paikka, vaikkakin se on kauimmin käyttämättä ollut sana, sisältää kelpaavaa informaatiota niin, että tämän sanan kirjoitettu-bitti on asennettuna, kyseinen isänä siirretään tämän informaation katoamisen välttämiseksi tallennettavaksi uudelleen päämuistiin. Tämän aikaansaamiseksi varatulle hakemistotasolle tallennettu todellinen sivunumero ladataan asianoamiseen rekistereistä 226, 228, 230 ja 232 päämuistiin uudelleen siirettävän tiedon osoitteen yksilöimiseksi.
Vastaavan tietomatriisin paikkaan tallennettu tieto siirretään rekisterien 132, 134, 136, 138 ja valinnaisesti rekisterin 146 kautta keskusliitäntäyksikölle siirrettäväksi päämuistille. Uusi tieto ja todellinen sivunumero voidaan tällöin siirtää varattuun paikkaan kätkömuistissa. Toisaalta, jos varattuun paikkaan tallennettua tietoa ei ole ilmoitettu kelpaavaksi informaatioksi, kelpaava-bitti on nollattuna ja sen kirjoitettu-bitti ei ole asetettuna, tällöin uusi tieto tallennetaan sille osoitettuun paikkaan siten, että se korvaa vanhan tiedon ilman, että vanhaa tietoa siirrettäisiin takaisin muistiin. Syynä tähän on, että jos kirjoitettu-bitti ei ole asetettu, tällöin osoitettuun paikkaan tallennettu informaatio on muuntamatonta informaatiota ja oikea informaatio on jo tallennettu päämuistiin. Jos tähän muistipaikkaan tallennettua informaatiota ei ole ilmoitettu kelpaavaksi, tällöin oikea informaatio on tallennettuna eri ohjausyksikön kätkömuistiin. Tässä tapauksessa kelpaamatonta tietoa ei tarvitse siirtää takaisin muistiin.
Kuten edellä on mainittu, esillä olevan keksinnön kätkömuis- ii 25 80533 tille on ominaista, että se soveltuu lisättäväksi monipro-sessorijärjestelmään, jossa jokainen prosessoreista voi käyttää yhteisessä päämuistissa olevia tietoja. Kun eri ohjausyksikön pyytämä tai osoittama tieto on sillä hetkellä esitetyn kätkömuistin hallussa, tämä informaatio pyydetään tai kanavoidaan esitetystä kätkömuistista.
Eri ohjausyksiköiden välisen tietojen välityksen ohjaus sisältyy esimerkkisuoritusmuodossa pohjimmiltaan keskus-liitäntäyksikköön, joka on yhteistoiminnassa kuviossa 3 esitettyjen ajoitus- ja ohjausyksiköiden kanssa. Yhteistoiminnan ohjauslaitteet on esitetty kuviossa 5.
Kuten kuviossa 5 on esitetty, useista prosessoreita edustavat kuvion 1 prosessoriyksikkö 2 ja prosessoriyksikkö 4, jotka kumpikin on esitetty täydellisemmin kuviossa 2. Kuvion 1 keskusliitäntäyksikkö 6 edustaa liitäntäohjausta.
Prosessoriyksikössä 2 kätkömuisti 22 on kytketty vastaanottamaan ohjaussignaalit tasonvalintayksiköltä 340, joka voi käytännössä kuulua kuviossa 3 esitettyyn ohjausjärjestelmään. Kuviossa 2 prosessoriyksikön eräs osa on yksilöity porttiyksiköksi 48. Tässä porttiyksikkö 48 on esitetty katkoviivoin ja se sisältää useita osakomponentteja. Portti-yksikkö 48 sisältää esimerkiksi porttiyksikön komentorekisterin 342, johon prosessoriyksikön ohjauskeskuksesta tulevat komennot tai käskyt syötetään. Porttiyksikön komentorekisteri on kytketty porttiyksikön vaihtohakemistoon 344, jota selitetään enemmän jäljempänä. Porttiyksikköön 48 sisältyy myös kaksoiskätkömuistihakemisto 346. Hakukomentopinorekisteri 348 on kytketty vastaanottamaan käskyjä keskusliitäntäyksiköltä 6 ja ohjaamaan porttiyksikön vaihtohakemiston 344 ja kaksois-kätkömuistihakemiston 346 hakua. Porttiyksikön vaihtohakemiston ja kaksoiskätkömuistihakemiston haun tulokset syötetään ja kerätään vastausgeneraattoriin 350. Porttiyksikön komento-rekisteri 342, porttiyksikön vaihtohakemisto 344, kaksois-kätkömusitihakemisto 346, hakukomentopino 348 ja vastausge- 26 80533 neraattori 350 sisältyvät kaikki viitenumerolla 48 merkittyyn porttiyksikköön. Prosessoriyksikkö 4 on varustettu samanlaisella järjestelyllä porttiyksikön ollessa merkitty viitenumerolla 48'. Sen osakomponentit on samalla tavalla yksilöity porttiyksikön komentorekisteriksi 342', porttiyksikön vaihto-hakemistoksi 344', kaksoiskätkömuistihakemistoksi 346', hakukomentopinoksi 348' ja vastausgeneraattoriksi 350'.
Kaksoiskätkömuistihakemiston 346 lähtö on kytketty vastaus-generaattoriin 350. Myös porttiyksikön vaihtohakemiston 344 lähtö on vastaavasti kytketty tulona vastausgeneraatto-rille. Kaksoiskätkömuistihakemiston 346 lähtö on myös kytketty tasovalintayksikön 340 kautta kätkömuistille 22.
Porttiyksikön komentoyksikön tai -rekisterin 342 yksi lähtö on kytketty keskusliitäntäyksikön 6 komentopuskuriyksikköön 352. Komentopuskuriyksikön 352 yksi lähtö on kytketty tulona lohkonsiirtotaulukkoyksikköön 354. Lohkonsiirtotaulukossa 354 on myös tulo, joka tulee vastaavalta komentopuskurilta 356, joka on kytketty vastaanottamaan komentosignaalit prosessoriyksikön 4 porttiyksikön komentorekisteriltä 342'. Lohkonsiirtotaulukko antaa siihen joko toisesta tai molemmista komentopuskureista 352 ja 356 tallennettujen komentosignaalien vaikutuksesta ohjaussignaalit hakupyyntögeneraattorille 358 ohjauslogiikkayksikön 360 ohjaamana. Hakupyyntögene-raattorilla 358 on lähtökytkennät hakukomentopinoon 348, hakukomentopinoon 348' ja syöttö/tulostuskätkömuistiemu-laattorille 362. Emulaattorin 362 ominaisuudet vastaavat kätkömuistin ominaisuuksia, mutta sen kapasiteetti on pienempi ja se toimii syöttö/tulostusyksikön 10 yhteydessä. Syöttö/tu-lostuskätkömuistiemulaattorin rakenteeseen sisältyy vaihtohakemiston vastine ja kuten myöhemmin todetaan, vaihtopuskurivä-lineen vastine.
Hakupyyntögeneraattorilta 358 tulevien signaalien seurauksena hakukomentopinorekisterit 348 ja 348' sekä syöttö/tulostus-kätkömuistiemulaattori 362 käynnistävät haun, joka määrää, 27 80533 onko pyydetty informaatiolohko jommassa kummassa prosessoriyksiköistä tai kätkömuistiemulaattorissa 362. Kaksoiskätkömuisti-hakemisto 346 ja Dorttiyksikön vaihtohakemisto 344 palauttavat hakukomennon tuloksen vastausgeneraattorille 350. Vastaavasti porttiyksikön vaihtohakemisto 344' ja kaksoiskätkömuisti-hakemisto 346' palauttavat hakukomentopinon 348 kautta annetun signaalin tuloksen vastausgeneraattorille 350'. Vastausgeneraattoreiden 350 ja 350' lähdöt syötetään tulosig-naaleina hakupyyntöjenkeräily-yksikölle 364. Syöttö/tulos-tuskätkömuistiemulaattori 362 syöttää myös tulossignaalin hakupyyntöjenkeräily-yksikölle 364. Pyyntösignaali syötetään hakupyyntöjenkeräily-yksikölle jokaisesta kolmesta elementistä riippumatta siitä, onko pyydettyä informaatiota löydetty vai ei. Hakupyyntöjenkeräily-yksikkö 364 antaa tällöin signaalin lohkonsiirtotaulukolle 354. Lohkonsiirtotaulukon 354 lähtö on kytketty komento-suoritettu-generaattorille 366. Komento suoritettu-generaattorin 366 lähtö on vuorostaan kytketty molempiin porttiyksikön komentoyksiköihin tai -rekistereihin 342 ja 342' osoittamaan, että hakupyyntökomento on suoritettu.
Kuviosta 5 voidaan havaita, että kätkömuistin 22 lähtö on kytketty vaihtopuskuriin 368. Vastaavasti kätkömuistin ‘ 22' lähtö on kytketty samanlaiseen vaihtopuskuriin 370.
Syöttö/tulostuskätkömuistiemulaattorin 362 yksi lähtö on kytketty ensimmäiseen jakelulinjaan 372. Vaihtopuskurin 368 lähtö on kytketty toiseen jakelulinjaan 374 vaihtopuskurin 370 lähdön ollessa kytketty kolmanteen jakelulinjaan 376. Ensimmäinen jakelulinja 372 on kytketty kunkin neljän multiplekserin 378, 380, 382 ja 384 ensimmäiseen tuloon. Toinen jakelulinja 374 on kytketty kunkin neljän multiplekserin ensimmäiseen tuloon. Kolmas jakeiulinja 376 on samalla tavalla kytketty kunkin neljän multiplekserin kolmanteen tulonapaan. Ensimmäisen multiplekserin 378 lähtö on kytketty kätkömuistiin 22. Toisen multiplekserin 380 lähtö on kytketty syöttö/tulos-tuskätkömuiätiemulaattorin 362 tuloon. Kolmannen multiplekserin 382 lähtö on kytketty päämuistiin 14. Neljännen multiplekserin lähtö on kytketty kätkömuistiin 22'.Päämuisti 14 on esitetty 80533 28 kytketyksi lähdöstään multiplekserien 378, 380 ja 384 neljänsiin tulonapoihin.
Edelllä olevan laitteen rakenne-elementtien esityksen jälkeen seuraavassa tarkastellaan laitteen toimintaa. Kuten muistetaan, kun esimerkiksi prosessoriyksikkö 2 tarvitsee tietolohkoa, se etsii tarvittavaa tietoa omasta kätkömuististaan, Jos tieto löydetään sieltä, tuloksena on "löytö kätkömuistista" ja kätkömuistista saatua informaatiota käytetään rutiinissa.
Jos yhden ainoan prosessorin tapauksessa tuloksena on "ei löytynyt" kätkömuistista, suoritetaan päämuistin osoitus, vaadittu tieto otetaan päämuistista ja tallennetaan pyytävän prosessoriyksikön kätkömuistiin. Esillä olevan keksinnön suoritusesimerkissä esitetyssä "store into"-tekniikassa tieto palautetaan prosessoriyksikön suorittaman käsittelyn jälkeen vain asinaomaiseen kätkömuistiin. Muunnettua tietoa ei palauteta päämuistiin. Tässä tapauksessa asianomainen kätkömuisti on ainoa paikka, jolla on päivitetyn tiedon viimeisin muoto,
Moniprosessorijärjestelmässä tämä muodostaa ongelman siten, että jokin prosessori voi tarvita tietoa, joka on tallennettu toisen prosessorin kätkömuistiin, mikä edellyttää välineitä vaaditun tiedon saamiseksi pyytävän prosessorin saataville. Kuten aikaisemmin on todettu, tätä ongelmaa on käsitelty aikaisemmassa US-patentissa 3 753 360, Anderson et ai.
Tässä patentissa toisen prosessorin kätkömuistissa ollut tieto on kuitenkin siirrettävä ensin päämuistiin ja tämän jälkeen takaisin pyytävän prosessorin kätkömuistiin. Tällainen siirto on välttämättä melko hidas. Sen sijaan esillä olevan keksinnön mukaan jonkin prosessorin kätkömuistista pyydetty tieto kanavoidaan tai siirretään suoraan nopealla siirrolla pyytävän prosessorin kätkömuistiin.
Esimerkkeinä tällaisesta kanavoinnista tai siirrosta prosessoriyksikön 2 ohjauselementeiltä tuleva pyyntö tai komento tuodaan porttiyksikön komentorekisteriin 342. Pyyntö tai
II
29 80533 komento siirretään pinoasemaan keskusliitäntäyksikön 6 komentopuskuriin 352. Nämä pyynnöt tai komennot siirretään ohjauslogiikan 360 ohjaamana lohkonsiirtotaulukkoon 354.
Kuten muistetaan, prosessoriyksiköltä tulee tietenkin monia eri tyyppisiä komentoja lohkonsiirtotaulukkoon 354 riippuen siitä, miten pyydettyä tietoa on tarkoitus käyttää.
Lohkonsiirtotaulukko sisältää muun muassa pinorekisterin, johon komennot voidaan pinota määrätyssä järjestyksessä suoritettavaksi. Lohkonsiirtotaulukko 354 sisältää myös ohjauslogiikan 360 ohjaamat välineet komentojen käsittelemiseksi oikeassa suoritusjärjestyksessä. Kun komentoon sisältyy tietopyyntö, lohkonsiirtotaulukko antaa pyydetyn tiedon yksilöivän ohjaussignaalin hakupyyntögeneraattorille 364. Hakupyyntögeneraattori 364 lähettää tämän jälkeen hakukäskyn kummallekin prosessoriyksikölle ja syöttö/tulostuskätkö-muistiemulaattorille 362. Prosessoriyksiköissä 2 ja 4 haku-pyyntögeneraattorin 358 hakupyyntösignaalin vastaanottaa hakukomentopinorekisteri 348 vast. 348'. Hakukomentopino-rekisteri ohjaa kaksoiskätkömuistihakemiston 346 ja portti-yksikön vaihtohakemiston 344 hakua pyydetyn tietolohkon "" tunnistamiseksi. Kaksoiskätkömuistihakemisto 346 on kuvion :: 3 hakemistomatriisin 60 jäljennös ja se sisältää tunnistus- tiedot kaikista kätkömuistiin 22 tallennetuista tietolohkoista. Jos tietoa ollaan ^siirtämässä kätkömuistista 22 joko pää-muistiin 14 tai toisen prosessorin kätkömuistiin, se tallennetaan tilapäisesti vaihtopuskuriin 368. Porttiyksikön vaihtohakemisto 344 pitää kirjaa kaikkien vaihtopuskuriin 368 tilapäisesti tallennettujen tietojen tunnistustiedoista ja osoitteista. Vastaavsti kaksoiskätkömuistihakemisto 346' on kätkömuistiin 22' liittyvän hakemistomatriisin jäljennös. Myös tässä porttiyksikön vaihtohakemisto 344' pitää kirjaa kaikista vaihtopuskuriin 370 tilapäisesti tallennetuista tiedoista. Pyydetty tietolohko voi lisäksi olla tallennettu syöttö/tulostuskätkömuistiemulaattoriin 362, kun joko sen on kutsunut toimintaan syöttö/tulostusyksikkö 10 tai kun se on syöttö/tulostusyksiköltä 10 tuleva uusi 30 80 533 syöttötieto.
Määritelmän mukaan tietolohkon viimeisin muunnettu muoto voi olla olemassa vain yhdessä muistiyksiköistä. Jos tiedon rekisteröinti löydetään prosessoriyksikön 2 omasta kätkö-muistista 22, tuloksena on "löytö" eikä komentosignaalia lähetetä keskusliitäntäyksikölle 6. Valittua tietolohkoa käytetään tällöin sisäisesti prosessoriyksikössä 2 enemmittä toimenpiteittä.
Jos toisaalta pyydetty tietolohko löytyisi prosessoriyksikön 4 kätkömuistista, myönteinen vastaus saataisiin vastausgene-raattorilta 350' kaikkien muiden antaessa negatiivisen vastauksen. Hakupyyntöjenkeräily-yksikkö 364 lähettää yhdistelmäsignaalin takaisin lohkon siirtotaulukolle 354, mikä mahdollistaa rekisteröinnin nollaamisen lohkonsiirto-taulukosta ja komento suoritettu-generaattori lähettää prosessoriyksikön porttiyksikölle komento suoritettu-signaalin, joka mahdollistaa siellä olevan pyyntösignaalin nollaamisen, :* Kun osoitus tietolohkon sisältymisestä kätkömuistiin 22' on löydetty kaksoiskätkömusitihakemistosta 346', proses-soriyksikkö 4 kehittää "vaihto"-signaalin ja se ohjaa tasonvalintayksikön 340' kautta kätkömuistin 22' lähettämään pyydetyn informaatiolohkon vaihtopuskuriin 370. Vaihto-puskuriin 370 sijoitettu tieto siirretään sitten multiplek-serille 378 logiikkapiirien 360 ohjaamana. Multiplekseriltä 378 se siirretään ja sijoitetaan pyytävän prosessoriyksikön 2 kätkömuistiin 22. Tällainen siirto suoritetaan luonnollisesti vain, jos kätkömuiätissa 22' olevaa tietoa on aikaisemmin muunnettu ja se siten eroaa vastaavasta vielä 'j päämuistissa 14 olevasta tietolohkosta. Tässä tapauksessa : tieto on edelleen tallennettuna sekä kätkömuistissa 22 että kätkömuistissa 22'.
Kun kätkömuisti 22 on saanut halutun tietolohkon, prosessori- 11 3i 80533 yksikkö 2 voi käsitellä ja edelleen muuntaa kätkömuistissa 22 olevaa tietoa. Kun näin tapahtuu, prosessoriyksikkö antaa "kirjoitusilmoitus"-signaalin porttiy.ksikön komento-rekisterin 342 kautta komentopuskurille 332 ja sieltä lohkonsiirtotaulukkoon 354. Lohkonsiirtotaulukko välittää tällöin "kirjoitusilmoitu8"-signaalin vaikutuksen kätkö-muistille 22' nollaten lohkon osoitteen kätkömuistissa 22'. Kuten edellä on kätkömuistien toiminnan yhteydessä selitetty, nollaaminen suoritetaan palauttamalla kätkömuistin asianomaisen tietolohkon "kelpaava"-bitti. Vastaavasti, kuten edellä on selitetty, kun prosessoriyksikkö 2 on käsitellyt valittua tietolohkoa, muunnettu tieto tallennetaan takaisin kätkömuistiin 22 ja sen "kelpaava" ja "kirjoitettu bitti" asetetaan. Tämä määrää tämän tietolohkon omistajaksi kätkömuistin 22.
Jos pyytävä prosessoriyksikkö olisi ollut prosessoriyksikkö 4 ja tieto olisi löydetty prosessoriyksikön 2 kätkömuistista 22, tieto siirrettäisiin samalla tavalla vaihtopuskurin 36Θ ja multiplekserin 3Θ4 kautta prosessori yksikön 4 kätkö-• muistiin 22'.
Kuten muistetaan, tietyissä tapauksissa, kuten tarvittaessa tilaa uudelle syöttötiedolle kätkömuistissa 22 tai 22', tämä tietolohko siirretään takaisin päämuistille. Tällaista siirtoa ohjataan kaikissa tapauksissa prosessoriyksikön • ohjauspiireillä. Tietolohko siirretään kätkömuistista vaihtopuskuriin 368. Samalla porttiyksikön vaihtohakemisto 344 päivitetään osoittamaan tämän tietyn tietolohkon tunnistus- ja osoitetiedot vaihtopuskurissa 368. Vastaavasti kätkömuistista 22' tuleva tieto siirrettäisiin vaihtopuskuriin 370 ja vastaava osoitus sijoitettaisiin porttiyksikön vaihtohakemistoon 344'. Vaihtopuskurissa 368 ja/tai vaihto-puskurissa 370 oleva tieto siirretään tämän jälkeen multiplekserin 382 kautta asianomaiseen osoitettuun paikkaan päämuistissa 14.
32 80533
Jos siirrettäessä tietoa kätkömuistista?; vaihtopuskurin kautta ja ennen tiedon siirtymistä päämuistiin 14 jompi kumpi prosessoriyksiköistä pyytää tätä nimenomaista tieto-lohkoa, pyytävä prosessoriyksikkö antaa komentonsa tai pyyntönsä porttiyksikön komentorekisterin 342 tai 342' kautta komentopuskurille 352 tai 356 ja lohkosiirtotaulukkoon 354. Jos hetkeksi oletetaan, että pyyntö on tullut prosessori-yksiköltä 2, pyyntö siirretään porttiyksikön komentoyksikön 342 ja komentopuskurin 352 kautta. Lohkosiirtotaulukko 354 antaa jälleen merkin hakupyyntögeneraattorille 358 hakupyynnön antamiseksi. Kuten edellä, hakupyyntö lähetetään kaikille yksiköille mukaanluettuina prosessoriyksikön 2 hakukomentopinorekisteri 348, prosessoriyksikkö 4, haku-komentopinorekisteri 348* ja syöttö/tulostuskätkömuistiemu-laattori 362. Mikäli jälleen oletetaan, että siirrettävänä oleva tietolohko on tallennettuna vaihtopuskuriin 368, prosessoriyksiköltä 4 ja syöttö/tulostuskätkömuistiemu-laattorilta 362 saadaan negatiivinen vastaus. Hakukomentopinorekisteri osoittaa pyynnön paitsi kaksoiskätkömuisti-hakemistoon 346, myös porttiyksikön vaihtohakemistoon 344. Tässä tapauksessa porttiyksikön vaihtohakemisto 344 sisältää ilmoituksen siitä, että tieto on tilapäisesti tallennettuna vaihtopuskuriin 368 ja antaa siten vastauksen keskusliitäntäyksikölle.
Ohjauslogiikan ohjaamana ja porttiyksikön vaihtohakemistolta 344 saadun positiivisen tunnistusvastauksen seurauksena vaihtopuskuri 368 ohjataan siirtämään pyydetyn tietolohkon multiplekserin 378 kautta takaisin kätkömuistiin 22, missä se on prosessoriyksikön 2 toiminnan käytettävissä. On luonnollisesti huomattava, että jos syy tiedon vaihto-puskurissa 368 oloon on se, että kätkömuisti on jo täyttynyt, tällöin prosessoriyksikön on suoritettava uusi,vaihtorutiini tilan muodostamiseksi kätkömuistiin vaihdetun tiedon palauttamista varten. Kun vaihtopuskuri on siirtänyt informaation multiplekserin 378 kautta kätkömuistiin 22, tunnistustieto porttiyksikön vaihtohakemistossa 344 nollataan.
33 80533
Jos toisaalta vaihtopuskurissa 368 olevaa tietoa on pyytänyt prosessoriyksikkö 4, menettely on oleellisesti samanlainen paitsi, että ohjauslogiikka 360 antaa yhdessä lohko-siirtotaulukon 334 kanssa käskyn vaihtopuskurille 368 pyydetyn tietolohkon siirtämiseksi multiplekserin 384 kautta kätkömuistille 22'.
Kun tietolohko on edellä mainitulla tavalla siirrettävä joko kätkömuistista 22 tai 22', informaatio siirretään asianomaiseen vaihtopuskuriin 368 tai 370 ja sieltä multiplekserin 382 kautta päämustiin 14. Kun siirto päämuistiin 14 on suoritettu, osoitus väliaikaisesta tallentamisesta nollataan asianomaisessa porttiyksikön vaihtohakemistossa.
Kun tietolohko on palautettu päämuistiin 14, sitä ei enää merkitä muunnetuksi tiedoksi, vaan se katsotaan tällöin alkuperäiseksi tiedoksi.
Syöttö/tulostuskätkömuitiemulaattorilla 362 on useita kätkömuistin, kuten prosessoriyksikköön 2 liittyvän kätkö-muistin 22, ominaisuuksia. Syöttö/tulostuskätkömuisti-emulaattori 362 liittyy kuitenkin syöttö/tulostusyksikköön 10 ja se toimii liitäntänä tietokonejärjestelmään liittyviin moniin syöttö/tulostusyksiköihin. Jos jokin syöttö/tulostus-yksiköistä tarvitsee tiettyä tietolohkoa, esiemrkiksi päämuistista 14, tämä tieto syötetään multiplekserin 280 kautta syöttö/tulostuskätkömuistiemulaattorille. Kun syöttö/-tulostusyksikkö on käsitellyt tietoa, tieto palautetaan hetkeksi syöttö/tulostuskätkömusitiemulaattoriin 362 ja tämän jälkeen päämuistiin. Vastaavasti, jos syöttö/tulos-tusyksikkö pyytää tietoa, joka löydetään jomman kumman prosessoriyksikön kätkömuistiyksiköstä tai kumpaankin prosessoriyksikköön liittyvästä vaihtopuskurista, tieto siirretään multiplekserin 380 kautta syöttö/tulostuskätkö-muistiemulaattorille 362 tiedon saamiseksi syöttö/tulostus-yksikön käytettäväksi.
34 80533
Jos sen lyhyen aikavälin aikana, jolloin tieto on kätkömuisti-emulaattorissa, jompi kumpi prosessoriyksiköistä, esimerkiksi prosessoriyksikkö 2 pyytäisi tätä tietolohkoa, prosessoriyk-sikkö 2 antaisi pyynnön tai komennon porttiyksikön komento-yksikön 342 kautta. Tämä siirrettäisiin jälleen komentopuskurin 352 kautta lohkonsiirtotaulukkoon 354. Lohkonsiirtotaulukko 354 liipaisee hakugeneraattorin 358 lähettämään hakupyyntö-signaalit kyseesä oleville yksiköille, joihin sisältyvät prosessoriyksikkö 2 ja prosessoriyksikkö 4 ja syöttö/tulos-tuskätkömuistiemulaattori 362. Sekä prosessoriyksikkö 2 että prosessoriyksikkö 4 palauttavat vastausgeneraattorien 350 ja 350' välitykellä negatiivisen vastauksen hakupyyn-töjenkeräily-yksikölle 364. Sen sijaan syöttö/tulostuskätkö-muistiemulaattori 362 antaa takaisin positiivisen vastauksen hakupyyntöjenkeräily-yksikölle. Asianomainen signaali lähetetään hakupyyntöjenkeräily-yksiköstä 364 takaisin lohkon-siirtotaulukolle 354. Tämän seurauksena pyytävän prosessori-yksikön porttiyksikön komentoyksikkö 342 nollataan. Pyydetty syöttö/tulostuskätkömuistiemulaattorissa oleva tietolohko siirretään syöttö/tulostuskätkömuistiemulaattorin 362 signaalin seurauksena ohjauslogiikan 360 ohjaamana multiplekserille 378 siirrettäväksi ja ladattavaksi pyytävän prosessoriyksikön :· 2 kätkömuistiin. Kun prosessoriyksikkö 2 on käsitellyt : : pyydettyä tietoa ja muutanut sitä, tieto palautetaan ja tallennetaan kätkömuistiin ja sekä "kirjoitettu"-bitti että "kelpaava"-bitti asetetaan kätkömuistissa 22 osoittamaan, että tänä tietolohko kuuluu prosessoriyksikölle 2. Jos prosessoriyksikkö 2 on pyytänyt tietoa muuttaakseen sitä, pyyntö tai komento keskusliitäntäyksikölle 6 on "lukeminen kirjoitusta varten"-signaali. Tämä signaali käynnistää kaikille muille muistiyksiköille annettavan käskyn, jonka vaikutuksesta muunnetun tiedon tultua palautetuksi kätkömuistiin 22 jokaisen tämän tietolohkon kopion sisältävän muun muistiyksikön "kirjoitettu"-bitti ja "kelpaava"-bitti nollataan.
Jos tietolohkoa on pyytänyt prosessoriyksikkö 4, tällöin syöttö/tulostuskätkömuistiemulaattorilta tuleva tietolohko
II
55 80533 siirretään multiplekserin 384 kautta kätkömuistiin 22' rutiinin ollessa muuten olennaisesti samanlainen kuin jos prosessoriyksikkö 2 olisi pyytänyt tietoa.
Kaikissa tapauksissa, jos pyydetty tietolohko on havaittu muuttamattomaksi eli se on edelleen samanlainen kuin vastaava päämusitissa oleva tietolohkoa, tietoa ei koskaan siirretä kätkömuistista toiseen tai kätkömuistiemulaattorista toiseen kätkömuistiin, vaan se otetaan aina suoraan päämuistista.
Vain muunnettuja tietoja siirretään kätkömuistien välillä, muuttamaton tieto otetaan aina suoraan päämuistista paitsi luonnollisesti, jos haluttu tietolohko löytyy pyytävän prosessoriyksikön kätkömuistista.
Harvoissa tapauksissa voi esiintyä potentiaalinen ristiriitatilanne, jossa kaksi prosessoriyksikköä pyytää samaa tieto-lohkoa oleellisesti samanaikaisesti. Esillä olevan keksinnön hierarkinen ohjaus sisältää varotoimenpiteen todellisuudessa esiintyvän ristiriitatilanteen välttämiseksi.
Esimerkiksi, jos prosessoriyksiköt 2 ja 4 ovat molemmat pyytäneet saman tietolohkon "lukeminen kirjoitusta varten" saantia oleellisesti samalla hetkellä eikä tietolohko ole kummankaan prosessoriyksikön hallussa, molemmat pyynnöt lähetetään keskusliitäntäyksikölle 6. Molempia pyyntöjä ei kuitenkaan voida ladata samaan paikkaan lohkonsiirtotau-lukossa 334. Jompi kumpi ladataan sen järjestyksessä ylempään paikkaan. Toinen pyyntö palvellaan siten ennen toista ja toista pyyntöä ei palvella ennen toisen loppuunsuorittamista. Ensimmäisenä palvellun pyynnön loppuunsuorittamisesta on tuloksena muunnetun tietolohkon siirtyminen ensimmäisen prosessoriyksikön haltuun. Kaikille muille prosessoreille ilmoitetaan tästä hallinnasta.
Tämän seurauksena toinen prosessoriyksikkö muuttaa pyyntönsä "lukeminen kirjoitusta varten"-komennosta "siirto ja nol-laus"-komennoksi. Tämä komento annetaan uudelleen keskuslii- 80533 36 täntäyksikölle samaa tietolohkoa pyytäen. Tällöin kuitenkin muunnettu tieto kanavoidaan ensimmäiseltä prosessorilta edellä esitettyä menettelyä käyttäen. Siirron toiseen prosessoriin tultua suoritetuksi tieto nollataan ensimmäisen prosessorin kätkömuistista ja sen "kirjoitettu"-bitti ja "kelpaava"-bitti nollataan.
Kuten voidaan ymmärtää, valtaosassa tapauksia kumpikin prosessori käsittelee omaan kätkömuistiinsa tallennettua tietoa. Vain suhteellisen harvoissa tapauksissa esiintyy pyyntöjä tiedon siirtämiseksi tai kanavoimiseksi kätkömuisti-yksiköstä toiseen.
Edellä on siten esitetty parannettu tietokonejärjestelmä, jolla on parannetut käsittelyominaisuudet johtuen parannetusta tiedonsiirron ohjauksesta moniprosessorijärjestelmän eri prosessoriyksiköiden välillä.
Il

Claims (3)

37 80533
1. Tietojenkäsittelyjärjestelmässä, johon kuuluu useita tieto-jenkäsittely-yksiköitä (2, 4) ja päämuisti (14, 16) kunkin tietojenkäsittely-yksikön omatessa siihen liittyvän kätkö-muisti-yksikön (22, 22') mainitun tietojenkäsittely-yksikön avulla käsiteltävän tiedon ja mainitun yksikön avulla käsitellyn tiedon pitämiseksi, mainitun järjestelmän ollessa sitä tyyppiä, missä yhden mainitun tietojenkäsittely-yksikön käsitellessä tietoa käsitelty tieto on, käsittelyn jälkeen, normaalisti tallennettuna vain sen omassa kätkömuistiyksikössä; parannettu laite sallimaan tietojenkäsittely-yksikön saada tietoa käsittelyä varten, kun havaitaan että siihen liittyvässä kätkömuistiyksikössä ei ole tällaista tietoa, tunnettu; puskuriyksiköstä (368, 370) liitettynä kunkin tietojenkäsittely-yksikön kanssa omalta kätkömuistiyksiköltä päämuistiin tai toiseen tietojenkäsittely-yksikköön siirrettävän tiedon pitämiseksi; keskusohjausyksiköstä (6, 8) vastaanottamaan tietojenkäsittely-·.: yksiköltä signaaleita, jotka ilmaisevat tietopyynnön, mainitun keskusyksikön vastatessa mainittuihin signaaleihin kyselläkseen kaikista mainituista kätkömuistiyksiköistä ja mainituista pus-kuriyksiköistä määrittääkseen onko kaikkein ajankohtaisin versio mainitusta pyydetystä tiedosta sijoitettuna yhteen mainituista kätkömuisti- tai puskuriyksiköistä, mainitun keskusoh-jausyksikön vastatessa myönteiseen vastaukseen mainittuun kyselyyn aikaansaamaan mainitun tiedon siirron mainitusta kätkö-muisti- tai puskuriyksiköstä, jossa se on sijoitettuna, pyytävään tietojenkäsittely-yksikköön; piireistä (116 - 122, 132 - 138, jne.) mainitun tiedon siirtämiseksi yhdestä mainituista kätkömuistiyksiköistä vastaavaan 38 80533 yhteen mainitusta puskuriyksiköistä, seuraavana tapahtuvaa siirtoa varten pyytävälle tietojenkäsittely-yksikölle, kun mainittu tieto sijaitsee mainitussa yhdessä kätkömuistiyksi-kössä.
2. Tietojenkäsittelyjärjestelmä, johon kuuluu: useita tietojenkäsittely-yksiköitä (DPU) (2, 4) kunkin DPU:n sisältäessä "store-into" kätkömuistin (20, 22') tietolohkojen tallentamiseksi käytettäväksi DPU:nsa avulla; hajasaantimuisti (RAM) (14,16) tietolohkojen tallentamiseksi; tunnettu: keskusliitäntäyksikköelimistä (CIU) (6, 8) liitettyinä toiminnallisesti kuhunkin DPU:hun ja RAM-muistiin, mainittujen CIU-elimien sisältäessä ohjauselimet (360) ohjaussignaalien tuottamiseksi, vaihtopuskurielimet (368, 370) tietolohkojen tallentamiseksi, jolloin kutakin DPU:ta varten on vaihtopuskurielimet, ja multiplexerielimet (378, 380, 382, 384) reagoimaan ohjaus-signaaleihin, jotka on tuotettu CIU:n ohjauselimien avulla mihin tahansa vaihtopuskurielimeen tallennetun tietolohkon siirtämiseksi DPU:n kätkömuistiin tai päämuistiyksikköön; mainituista ClU-elimistä, jotka reagoivat annettua tietolohkoa kyselevän DPU:n kyselyyn, aikaansaaden kunkin DPU:n määrittämään onko ainoa kelvollinen kopio annetusta tietolohkosta tallennettuna sen kätkömuistiin (22, 22'); DPU:sta, jonka kätkömuistissa ainoa pätevä kopio annetusta tietolohkosta on tallennettuna, joka DPU aikaansaa annetun tieto-lohkon kelvollisen kopion siirtämisen siirtävän DPU:n kätkö-muistista siirtävän DPU:n kanssa liitetyn CIU:n vaihtopuskuriin (368, 370) tallennettavaksi siihen; II 39 80533 mainitusta CIU:sta, joka reagoi mainitun kelvollisen annetun tietolohkon tallennukseen vaihtopuskuriin (368, 370), joka on liitetty siirtävän DPU:n kanssa, aikaansaamaan CIU:n elimet ohjaussignaalien tuottamiseksi tuottamaan ohjaussignaalit aikaansaamaan multiplexerielimet (378, 380, 382, 384) siirtämään kelvollisen kopion annetusta tietolohkosta, joka on tallennettu siirtävän DPUin asianomaiseen vaihtopuskuriin, suoraan pyytävän DPU:n kätkömuistiin (20, 22').
3. Tietojenkäsittelyjärjestelmä, johon kuuluu: useita tietojenkäsittely-yksiköitä (2, 4); kunkin tietojenkäsittely-yksikön käsittäessä "store-into" kätkönuistin (20, 22') tietolohkojen tallentamiseksi käytettäväksi tietojenkäsittely-yksikkönsä avulla, kunkin kätkömuistiyksikön sisältäessä tietotaulukon (58) tietolohkojen tallentamiseksi ja hake-mistotaulukon (60) tallentamaan tunnistustiedon, joka tunnistaa tietolohkot, jotka on tallennettu tietotaulukkoon ja mainittujen tietolohkojen tilan, tietolohkojen tilan ollessa määritetty kelvollisen bitin ja kirjoitusbitin avulla; hajasaantipäämuistiyksikkö (14, 16) tietolohkojen tallentamiseksi; tunnettu siitä, että kukin tietojenkäsittely-yksikkö sisältää lisäksi porttiyksik-köelimet (48, 48'), kunkin porttiyksikköelimen sisältäessä portin komentorekisterin (342, 342'), kaksoiskätkömuistihakemiston (346, 346'), mikä on jäljennös tietojenkäsittely-yksikön (2, 4) kätkömuistiyksikön kätkömuistihakemistosta, mainitun tietojenkäsittely-yksikön sisältäessä elimet aikaansaamaan sen kätkö-muistihakemistoon tallennetun tunnistustiedon tallentamisen olennaisesti satunnaisesti samanaikaisesti tietojenkäsittely-yksikön (2, 4) porttiyksikköelimien (48, 48') jäljennettyyn kätkömuistihakemistoon (346, 346'); 40 80 533 että järjestelmään kuuluu lisäksi: keskusliitäntäyksikkö (CIU) (6, 8), joka on toiminnallisesti kytketty kuhunkin tietojenkäsittely-yksikköön ja päämuistiyk-sikköön, mainitun CIU:n sisältäessä ohjauselimet (360) ohjaussignaalien tuottamiseksi, vaihtopuskurin (368, 370) tietosana-lohkojen tallentamiseksi, jolloin kuhunkin DPU:hun on liitetty vaihtopuskuri, ja multiplexerielimet (378, 380, 382, 384), mainittujen multiplexerielimien reagoidessa CIU:n ohjauselimien avulla tuotettuihin ohjaussignaaleihin siirtämään tietolohko, joka on tallennettu mihin tahansa vaihtopuskuriin, DPU:n kätkö-muistiyksikölle tai päämuistiyksikölle, mainitun CIU:n vastaanottaessa komentosignaalit annettua tietolohkoa, joka ei ole tallennettu pyytävän DPU:n kätkömuistiyksikköön, pyytävän DPU:n porttiyksikön komentorekisteristä, mainitun CIU:n sisältäessä elimet (354, 358), jotka reagoivat pyytävältä DPUilta tulevien tällaisten komentosignaalien vastaanottamiseen, tuottamaan hakukyselysignaalin ja siirtämään hakukyselysignaalin kunkin DPU:n porttiyksikölle, porttiyksikön sisältäessä elimet (348, 348') reagoimaan hakukyselysignaalin vastaanottamiseen CIU:lta aikaansaamaan kunkin porttiyksikön tutkimaan jäljennettyä hakemistoaan määrittämään onko pyydetty tietolohko tallennettuna sen DPU:n kätkömuistiyksikön tietotaulukkoon ja sen tila, kunkin porttiyksikön sisältäessä vastauksenmuodostuseli-met (350, 350') muodostamaan myönteinen vastaus mikäli pyydetty tietolohko on tallennettuna sen tietotaulukkoon ja pyydetyn tiedon kirjoitus- ja kelvollisen tilan bitti on asetettu; mainittu CIU, joka reagoi myönteiseen vastaukseen DPU:n portti-yksiköltä, tuottaen komennon täydennyssignaalin, mikä siirretään DPU:n porttiyksikölle; DPU, jonka porttiyksikkö tuottaa myönteisen vastaussignaalin, tuottaen vaihtosignaalin aikaansaaden sen kätkömuistiyksikön siirtämään halutun tietolohkon sen kätkömuistiyksiköstä asianomaiseen vaihtopuskuriin; tl 41 80533 mainittu CIU, joka reagoi halutun tietolohkon tallennukseen DPU:n vaihtopuskuriin tuottaen ohjaussignaalit, aikaansaaden multiplexerielimet siirtämään haluttu tietolohko vaihtopusku-rista, johon se on tallennettu, suoraan haluttua tietolohkoa pyytävän DPU:n kätkomuistiyksikköön. 42 80533 Patenckrav
FI842384A 1983-07-07 1984-06-13 Kontroll av datamaskinhierarki. FI80533C (fi)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US51161683 1983-07-07
US06/511,616 US4695951A (en) 1983-07-07 1983-07-07 Computer hierarchy control

Publications (4)

Publication Number Publication Date
FI842384A0 FI842384A0 (fi) 1984-06-13
FI842384A FI842384A (fi) 1985-01-08
FI80533B FI80533B (fi) 1990-02-28
FI80533C true FI80533C (fi) 1990-06-11

Family

ID=24035680

Family Applications (1)

Application Number Title Priority Date Filing Date
FI842384A FI80533C (fi) 1983-07-07 1984-06-13 Kontroll av datamaskinhierarki.

Country Status (10)

Country Link
US (1) US4695951A (fi)
EP (1) EP0131277B1 (fi)
JP (1) JPS6039259A (fi)
KR (1) KR930002337B1 (fi)
AU (1) AU578420B2 (fi)
CA (1) CA1214884A (fi)
DE (1) DE3478519D1 (fi)
FI (1) FI80533C (fi)
NO (1) NO167831C (fi)
YU (1) YU45633B (fi)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0198574A3 (en) * 1985-02-05 1989-11-29 Digital Equipment Corporation Apparatus and method for data copy consistency in a multi-cache data processing system
JP2539357B2 (ja) * 1985-03-15 1996-10-02 株式会社日立製作所 デ−タ処理装置
US5349672A (en) * 1986-03-17 1994-09-20 Hitachi, Ltd. Data processor having logical address memories and purge capabilities
US5113510A (en) * 1987-12-22 1992-05-12 Thinking Machines Corporation Method and apparatus for operating a cache memory in a multi-processor
US5226146A (en) * 1988-10-28 1993-07-06 Hewlett-Packard Company Duplicate tag store purge queue
US5185875A (en) * 1989-01-27 1993-02-09 Digital Equipment Corporation Method and apparatus for reducing memory read latency in a shared memory system with multiple processors
US5206941A (en) * 1990-01-22 1993-04-27 International Business Machines Corporation Fast store-through cache memory
US5297269A (en) * 1990-04-26 1994-03-22 Digital Equipment Company Cache coherency protocol for multi processor computer system
US5263144A (en) * 1990-06-29 1993-11-16 Digital Equipment Corporation Method and apparatus for sharing data between processors in a computer system
JPH0827755B2 (ja) * 1991-02-15 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション データの単位を高速度でアクセスする方法
US5185861A (en) * 1991-08-19 1993-02-09 Sequent Computer Systems, Inc. Cache affinity scheduler
US5428761A (en) * 1992-03-12 1995-06-27 Digital Equipment Corporation System for achieving atomic non-sequential multi-word operations in shared memory
JPH0797352B2 (ja) * 1992-07-02 1995-10-18 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・システム及び入出力コントローラ
US5684977A (en) * 1995-03-31 1997-11-04 Sun Microsystems, Inc. Writeback cancellation processing system for use in a packet switched cache coherent multiprocessor system
US5655100A (en) * 1995-03-31 1997-08-05 Sun Microsystems, Inc. Transaction activation processor for controlling memory transaction execution in a packet switched cache coherent multiprocessor system
US6018791A (en) * 1997-04-14 2000-01-25 International Business Machines Corporation Apparatus and method of maintaining cache coherency in a multi-processor computer system with global and local recently read states
US6477620B1 (en) * 1999-12-20 2002-11-05 Unisys Corporation Cache-level return data by-pass system for a hierarchical memory

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1124017A (en) * 1964-12-17 1968-08-14 English Electric Computers Ltd Data storage apparatus
US3510844A (en) * 1966-07-27 1970-05-05 Gen Electric Interprocessing multicomputer systems
GB1354827A (en) * 1971-08-25 1974-06-05 Ibm Data processing systems
US3735360A (en) * 1971-08-25 1973-05-22 Ibm High speed buffer operation in a multi-processing system
US3771137A (en) * 1971-09-10 1973-11-06 Ibm Memory control in a multipurpose system utilizing a broadcast
US3967247A (en) * 1974-11-11 1976-06-29 Sperry Rand Corporation Storage interface unit
US4471429A (en) * 1979-12-14 1984-09-11 Honeywell Information Systems, Inc. Apparatus for cache clearing
DE3176632D1 (en) * 1980-11-10 1988-03-03 Ibm Cache storage hierarchy for a multiprocessor system
US4394731A (en) * 1980-11-10 1983-07-19 International Business Machines Corporation Cache storage line shareability control for a multiprocessor system
US4394727A (en) * 1981-05-04 1983-07-19 International Business Machines Corporation Multi-processor task dispatching apparatus
US4503497A (en) * 1982-05-27 1985-03-05 International Business Machines Corporation System for independent cache-to-cache transfer
US4527238A (en) * 1983-02-28 1985-07-02 Honeywell Information Systems Inc. Cache with independent addressable data and directory arrays
US4551799A (en) * 1983-02-28 1985-11-05 Honeywell Information Systems Inc. Verification of real page numbers of stack stored prefetched instructions from instruction cache

Also Published As

Publication number Publication date
YU45633B (sh) 1992-07-20
EP0131277A3 (en) 1986-06-11
JPH0457026B2 (fi) 1992-09-10
CA1214884A (en) 1986-12-02
DE3478519D1 (en) 1989-07-06
NO842747L (no) 1985-01-08
KR930002337B1 (ko) 1993-03-29
FI80533B (fi) 1990-02-28
KR850001572A (ko) 1985-03-30
EP0131277A2 (en) 1985-01-16
JPS6039259A (ja) 1985-03-01
FI842384A (fi) 1985-01-08
YU119284A (en) 1986-12-31
US4695951A (en) 1987-09-22
EP0131277B1 (en) 1989-05-31
NO167831B (no) 1991-09-02
FI842384A0 (fi) 1984-06-13
AU3024984A (en) 1985-01-10
AU578420B2 (en) 1988-10-27
NO167831C (no) 1991-12-11

Similar Documents

Publication Publication Date Title
FI80533C (fi) Kontroll av datamaskinhierarki.
US4707784A (en) Prioritized secondary use of a cache with simultaneous access
US5043873A (en) Method of parallel processing for avoiding competition control problems and data up dating problems common in shared memory systems
US4527238A (en) Cache with independent addressable data and directory arrays
US4591977A (en) Plurality of processors where access to the common memory requires only a single clock interval
US5119481A (en) Register bus multiprocessor system with shift
JP2792649B2 (ja) 並列コンピュータシステム
US4551799A (en) Verification of real page numbers of stack stored prefetched instructions from instruction cache
EP0351955B1 (en) Multiprocessor systems with cross-interrogated store-in-caches
FI86485B (fi) Portzonkontroll.
JPH0361214B2 (fi)
EP0125855A2 (en) Buffer-storage control system
JPH01500377A (ja) 2個のシステムクロックサイクルを利用する書込み動作をもったキャッシュメモリユニットを供与する装置及び方法
US4371949A (en) Time-shared, multi-phase memory accessing system having automatically updatable error logging means
JPH01269142A (ja) 計算機システム
US20040153598A1 (en) Apparatus and method for dual access to a banked and pipelined data cache memory unit
FI86484C (fi) Styrorgan i en digital datamaskin.
US5983307A (en) Electrical circuit for exchanging data between a microprocessor and a memory and computer comprising a circuit of this type
WO2015067195A1 (zh) 一种可重构缓存组织结构
SU734653A1 (ru) Коммутатор процессоров
JPH0323026B2 (fi)
JPS6141024B2 (fi)
RU2263951C2 (ru) Способ обработки цифровых данных в запоминающем устройстве и запоминающее устройство для осуществления способа
JP2815850B2 (ja) データ処理ユニット
JP2589828B2 (ja) 複数のプロセッサと複数のメモリとを備えるデータ処理システム用中央処理ユニット

Legal Events

Date Code Title Description
MM Patent lapsed
MM Patent lapsed

Owner name: HONEYWELL INFORMATION SYSTEMS INC.