FI80352C - System foer buffertminne. - Google Patents

System foer buffertminne. Download PDF

Info

Publication number
FI80352C
FI80352C FI831080A FI831080A FI80352C FI 80352 C FI80352 C FI 80352C FI 831080 A FI831080 A FI 831080A FI 831080 A FI831080 A FI 831080A FI 80352 C FI80352 C FI 80352C
Authority
FI
Finland
Prior art keywords
memory
levels
level
buffer memory
address
Prior art date
Application number
FI831080A
Other languages
English (en)
Swedish (sv)
Other versions
FI80352B (fi
FI831080A0 (fi
FI831080L (fi
Inventor
James W Keeley
Edwin P Fisher
John L Curley
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 FI831080A0 publication Critical patent/FI831080A0/fi
Publication of FI831080L publication Critical patent/FI831080L/fi
Publication of FI80352B publication Critical patent/FI80352B/fi
Application granted granted Critical
Publication of FI80352C publication Critical patent/FI80352C/fi

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

1 80352 Välimuistijärjestelmä . - System för buffertminne.
Keksintö koskee välimuistijärjestelmää ja tarkemmin sanottuna virheen käsittelyä tällaisissa järjestelmissä.
Välimuistijärjestelmien käyttö tietokoneissa on hyvin tunnettua; välimuisti on pieni suurinopeuksinen muisti, joka on järjestetty säilyttämään äskettäin käytettyjä sanoja, kahdentamaan pää-muistissa olevat sanat ja tällöin sallien nopeamman pääsyn näille sanoille, jos niitä vaaditaan uudelleen.
Tällaisten välimuistien luotettavuusongelma on saanut huomiota osakseen. Yksinkertaista pariteettihavaintoa voidaan käyttää käytettäessä pariteettivirheitä yksinkertaisesti tekemään pätemättömäksi sana, jolla on sopimaton pariteetti välimuistista (joten sana on päästettävä päämuistiin). Tunnetaan myös kehittyneempiä järjestelmiä, joissa luotettava toiminta saavutetaan tekemällä pätemättömäksi välimuistipaikat, joissa on havaittu olevan väärä pariteetti. Tämä vaatii lisäbittejä liitettäväksi välimuistipaikkoihin ja voi lisätä huomattavasti välimuistin kustannuksia ja monimutkaisuutta. Vielä tärkeämpää on, että se vaatii prosessiaikaa tällaisten pätemättömäksi tekemisoperaati-oiden suorittamista varten.
Muut tunnetut välimuistit sallivat välimuistin ohittamisen, kun siihen liittyvä keskusyksikkö CPU havaitsee virheelliset olosuhteet. Tämän tyyppinen välimuistijärjestelmä voidaan suunnitella ilmoittamaan kahdentyyppiset virheet keskusyksikölle CPU, muistin "punainen" virhe, joka ilmaisee korjaamattoman virheen, ja muistin "keltainen" tila, joka ilmaisee korjattavissa olevan virheen. Sen jälkeen kun on vastaanotettu "punainen" virhesig-naali tai havaittu tavudatapariteettivirhe vastaanotetussa muistidatassa, keskusyksikkö CPU kytkee koko välimuistin pois, ilmoittaa virheen käyttöjärjestelmään ja jatkaa toimintaa. Kun tällainen järjestelmä sallii välimuistin irtikytkemisen virheellisen tilan seurauksena, se vaatii keskusyksikön CPU käsittelevän tällaiset virheelliset tilat. Tämä voi osoittautua 2 80352 aikaa vieväksi ja voi myös aiheuttaa menetyksiä arvokkaiden tietojen suhteen, koska tällainen diagnoosi pitää varmana osittain välimuistin itsensä ilmoittamia virheolosuhdetyyppejä.
Myös "punainen" virhe aiheuttaa koko välimuistin täydellisen menetyksen.
Tämän mukaisesti oheisen keksinnön päätehtävänä on tarjota luotettava välirauistijärjestelmä, joka on yksinkertainen ja jonka kustannukset ovat alhaiset.
Tämän mukaisesti keksintö tarjoaa patenttivaatimuksen 1 johdanto-osan mukaisen välimuistin, joka on tunnettu siitä, että välimuistiyksikköön kuuluu; virheenhavaitsemiselimet kytkettynä mainittuun hakemisto-muistiin, mainittujen havaintoelimien toimiessa virhesig-naalin tuottamiseksi osoittamaan virheen, joka liittyy mainitusta hakemistomuistista luettuun ensimmäiseen osoiteosaan; toimintamuodon ohjauselimet kytkettynä mainittuihin virheen havaitsemiselimiin ja toiminnallisesti kytkettynä mainittuun hakemistomuistiin ja mainittuun datamuistiin, mainittujen toimintatavan ohjauselimien toimiessa vastauksena ensimmäiseen ilmenevään virhesignaaliin, joka on havaittu luettaessa yhteen mainitun välimuistiyksikön tasoon talletettua tietoalkiota, mainitun välimuistiyksikön kääntämiseksi osittain rajoitettuun toimintatilaan, missä mainitun • hakemistomuistin ja datamuistin toiminta on rajoitettu vain niihin tasoihin, joissa virhettä ei havaittu.
Välimuistin sisältävää keksintöä selitetään seuraavassa esimerkin avulla viitaten piirustuksiin, joissa:
Kuvio 1 esittää välimuistin lohkokaaviota.
Kuvio 2 esittää kiertovuorottelukorvausyksikön lohkokaaviota.
ti 3 80352
Kuviot 3 ja 4 esittävät toimintamuodon ohjausyksikön lohkokaaviota .
Kuvio 5 esittää kirjoituksen ohjausyksikön lohkokaaviota.
Oheinen järjestelmä käsittelee monitasoista yhdistävää väli-muistijärjestelmää, mukaanlukien hakemisto ja välimuistit, jotka on järjestetty joukoksi muistipaikkojen tasoja.
Hakemistomuisti käsittää virheen havaitsemislaitteen virheiden havaitsemiseksi hakemistomuistiosoitteissa toiminnan välimuistin lukemisen ja kirjoittamisen muistivaiheiden aikana. Virheiden havaitsemislaite on kytketty ohjauslaitteeseen, joka liittää virhesignaalit välimuistin osumia indikoiviin signaaleihin epäpätevien osumien havaitsemissignaalien tuottamiseksi. Ohjelmiston tai laitteiston virheet hakemistomuistissa epäpätevien osumasignaalien indikoimana, jos ne jäävät havaitsematta, aiheuttavat sen, että välimuistijärjestelmään toimitetaan vääriä tai virheellisiä datoja.
Ohjauslaite on kytketty kiertovuorottelukorvauslaitteeseen, jota käytetään identifioimaan välimuistin taso, jolla informaatio on korvattava. Ohjauslaite ensimmäisen epäpätevän osuman havaitse-missignaalin ilmenemisen vaikutuksesta asettaa välimuistijärjestelmän alennettuun toimintamuotoon. Kun tässä muodossa korvaus-laite samoin kuin muut välimuistijärjestelmän osat on saatettu rajoittamaan välimuistin lukemis- ja kirjoitusmuistien toimintoja välimuistin tasojen niihin osiin, joissa ei ole virheitä, vähentäen siten sopivasti välimuistin toimintaa. Muisti-informaation kokonaisuuden säilyttämiseksi ohjauslaite epäpätevien osumailmaisinsignaalien esiintyessä muodostaa signaalit, jotka tehokkaasti kytkevät välimuistijärjestelmän irti.
Yllä mainittu järjestely parantaa järjestelmän luotettavuutta ja suoritekykyä. Mukaan liittämällä välimuistiin laite, joka kykenee poistamaan välimuistijärjestelmän alaosat joihin liittyy hakemisto virheitä, eliminoituu prosessiaika joka tavallisesti 4 80352 vaaditaan todentamaan ilmoitetut viat ja suorittamaan poistetut operaatiot. Koska välimuistijärjestelmä on edelleen toimiva, keskusmuistiyksikön CPU suorituskyky ei ole oleellisesti vähen-tynyt kuten niissä järjestelmissä, joissa koko välimuistijärjestelmä ohitetaan muistivian seurauksena.
Suorituskyvyn ja nopeuden lisäystä tapahtuu lisäksi seurauksena välimuistin alaosien poiskytkemisestä ainoastaan seurauksena virheiden havaitsemisesta välimuistin osumien aikana, mikä vähentää tarvittavien tarkistusten määrän minimiin. Toisin sanoen tarkistaminen rajoittuu tilanteisiin, jotka aiheuttaisivat väärien datojen toimittamisen.
20
Oheinen välimuisti on suunniteltu toimimaan yhdessä 2 sanaa käsittävän päämuistin kanssa, jolloin osoitemuisti on 20 bitin pituinen. Tämä osoite on jaettu välimuistissa käyttöä varten kahteen puoliskoon: eniten merkitsevät 10 bittiä MSA ja vähiten merkitsevät 10 bittiä LSA. Välimuistin voidaan katsoa käsittävän 1 0 2 erilaista saraketta, joissa kussakin on 4 tasoa. Kun osoite syötetään välimuistiin, LSA -puolisko valitsee sarakkeen välimuistissa. Välimuisti käsittää datamuistin ja hakemiston, jotka 10 kukin on jaettu 2 sarakkeeseen ja neljään tasoon, yhdessä erilaisten ohjaus- ja muiden piirien kanssa. Valittu sarake muistissa sisältää 4 sanaa, kunkin osoitteensa LSA -puoliskon kanssa ollessa sana siinä sarakkeessa. Vastaava sarake hakemistossa sisältää näiden neljän sanan osoitteiden MSA -puoliskot - kukin taso hakemistossa sisältää sanan osoitteen MSA -puoliskon vastaavassa tasossa muistissa. Päämuistin voidaan katsoa järjestetyn 2^ riviin, joista kukin on osoitettu päämuisti-osoitteen MSA -puoliskolla, ja 2 sarakkeeseen, joista kukin on osoitettu päämuistiosoitteen LSA -puoliskolla. Siten MSA ja LSA osoitepuoliskoja voidaan pitää vastaavasti rivi- ja sarake-osoitteina.
Toiminnassa halutun osoitteen LSA -puoliskoa käytetään valitsemaan sarake hakemistossa ja siinä olevat 4 MSA osoitepuoliskoa luetaan ulos ja verrataan halutun osoitteen MSA osoitepuoliskoon.
5 80352
Jos täsmäys vallitsee, muistissa saman sarakkeen vastaavassa tasossa datalla on pääsy. Ellei täsmäys vallitse, ei haluttu osoite ole välimuistissa, ja olemassa oleva osoite on poistettava, jolloin haluttu osoite voidaan sijoittaa. Tähän käytetty algoritmi on kiertovuorottelualgoritmi. Kullakin sarakkeella on siihen liittyen vastaava syklinen laskuri, joka osoittaa tasoa johon uusi sana on sijoitettava. Kun uusi sana on sijoitettu tasolle (poistaen siten aiemmin sillä tasolla olleen sanan), laskuri saa syklisesti lisäyksen osoittaa seuraavaa tasoa (syklisessä järjestyksessä), joten kun seuraavan kerran uusi sana on sijoitettava tähän sarakkeeseen se joutuu seu-raavalle tasolle.
Kuvioon 1 viitaten välimuisti sisältää muistin STR 40, joka tallentaa datasanoja. Tämä muisti on jaettu neljään tasoon LVO - LV3 ja kukin taso sisältää 1024 muistipaikkaa, joista kukin 20 bitin pituinen. 20 bitin datasanat syötetään muistiin ja luetaan sieltä 20 bitin laajuisen dataväylän DTA kautta.
Kukin muistin neljästä tasosta on osoitettu datasanan päämuisti-osoitteen 10-bittisellä LSA osalla. Lisäksi kullakin neljällä tasolla on kykeneväksi tekevä syöttö, joka on tehtävä kykeneväksi sitä tasoa varten, joka on tehtävä kykeneväksi. Kykeneväksi tekevät syötöt ovat vastaavia bittejä 4-bittisen lastun kykeneväksitekevältä väylältä CHS. Myös kullakin neljästä tasosta on kirjoittamisen sallintasyöttö; tämän syötön tila määrittää luetaanko tasosta vai kirjoitetaanko siihen. Kirjoittamisen sallintasyötöt ovat vastaavia bittejä 4-bittiseltä kirjoituksen sallivalta väylältä WRS.
Hakemisto-osa DIR 84 tallentaa muistiin 40 tallennettujen sanojen osoitteiden MSA osoiteosat. Kun osoite on syötetty välimuistiin, LSA osa osoittaa neljä muistin 40 paikkaa, yhden kussakin neljästä tasosta LVO - LV3 ja tämä sama LSA osoiteosa osoittaa vastaavat neljä paikkaa, yksi kussakin neljästä tasosta LVO - LV3, joihin hakemisto 84 on jaettu hakemistossa. Neljä tallennettua MSA osoiteosaa (neljän sanan osoiteosat muistissa 40) luetaan siten ulos ja syötetään vertailijayksikköön 6 80352 COMP 421, joka myös on jaettu neljään tasoon LVO - LV3. Vertai-lijan 421 neljä tasoa syötetään myös halutun sanan osoitteen MSA-osan kanssa. Kukin vertailijayksikön neljästä tasosta tuottaa "osumasignaalin", jos täsmäys vallitsee siihen syötettyjen kahden MSA osoiteosan välillä, ja neljä antoa yhdessä muodostavat 4-bittisen osumaväylän HIT. Nämä osumasignaalit on yhdistetty kirjoituksen ohjaussignaalien kanssa 4-bittisellä väylällä WRC valitsinyksikössä 430, jotta muodostettaisiin lastun kykeneväksi tekevät signaalit väylällä CHE muistiin 40. Siten jos haluttu sana on välimuistissa yksi neljästä osumasignaa-lista menee lävitse ja vastaava taso muistissa 40 tulee kykeneväksi, joten haluttu sana pääsee läpi lukemista tai kirjoittamista varten.
Tähän saakka kuvattu järjestelmä on laajasti soveltuva väli-muistitoimintoihin, jos haluttu sana on välimuistissa. On lisäksi huomattava, että ainoastaan osumasignaalit HIT syötetään kirjoitusohjausyksikköön 82, jolloin sopivat kirjoituksen sallivat signaalit voidaan muodostaa, jos haluttu sana on kirjoitettava eikä luettava.
Voi kuitenkin tapahtua, että haluttu sana ei ole valmiina välimuistissa. Sen ilmaisevat kaikki neljä vertailijayksikön 421 antoa ilmaisten harhalaukauksen. Jos näin tapahtuu, olemassa oleva sana välimuistissa on poistettava ja uusi sana kirjoitettava sisään. Tason valinta jolle uusi sana kirjoitetaan määritetään kiertovuorottelualgoritmin mukaan, joka valitsee neljä tasoa 0, 1, 2, 3, 0, jne. syklisesti peräkkäisille uusille sanoille. Tätä ohjaa kiertovuorottelulaskuriyksikkö RR 80, joka on kytketty kirjoituksen ohjausyksikköön W CTL 82, joka muodostaa kirjoituksen valintasignaalit WRS. Se on myös kytketty toimintamuodon ohjausyksikköön M CTL 86, joka ohjaa uuden sanan osoitteen MSA osan kirjoittamista hakemistoon 84.
Kuvio 2 esittää kiertovuorotteluyksikköä 80. Siinä on kaksi 1024 x 1 bitin muistiyksikköä 800, 802, jotka on osoitettu halutun osoitteen LSA osalla; nämä yhdessä tallentavat erillisen 7 80352 2-bitin numeron kuhunkin välimuistin 1024:n sarakkeeseen.
2-bitin numero sopivaa saraketta varten luetaan sen vuoksi ulos ja tallennetaan kiikkupariin RDO, RD1. Tämä numero ilmaisee sen tason, mihin seuraava sana on kirjoitettava ja kaksi antoa RDO, RD1 syötetään kirjoituksenohjausyksikköön 82 koodin tulkitsemiseksi, jotta muodostettaisiin yksi neljästä -signaali WRS, joka syötetään muistiin 40 ja hakemistoon 84 sopivan tason valitsemiseksi kirjoittamista varten. Jos kirjoitetaan uusi sana, kiertovuorottelu ottaa huomioon, että taso on myös saatettava ajantasalle, ts. syklisesti lisättävä. Tämä suoritetaan kääntäjän 807 avulla, joka muuntaa alemman bitin, ja yksinomaan-TAI-portin 812, joka muuttaa ylemmän bitin, jos nämä kaksi bittiä ovat erilaisia. Annot kahdesta portista 807 ja 812 kirjoitetaan takaisin kahteen muistiin 800, 802. Tämä tapahtuu ainoastaan kirjoitettaessa uutta sanaa välimuistiin, jos halutulla osoitteella varustettu sana jo on välimuistissa, kiertovuorottelu-yksikkö 80 ei ole aktivoitu. Kiertovuorotteluyksikön nollaus-kiikku RDC on ohjattu esittämättä jätettyjen sopivien ajoitus-signaalien avulla kahden kiikun RDO ja RD1 nollaamiseksi sopivasti ja niiden ohjaamiseksi sellaisiin asioihin kuin alustus.
Kuvio 3 esittää osaa toimintamuodon ohjauspiiristä 86. Koska neljä anto-osoiteosaa hakemiston 84 neljältä tasolta on erilaisia ja kaikki neljä syötetään yksittäin vertailijayksikköön 421, MSA osoiteosa on puskuroitava erikseen kullekin tasolle. Tämä tehdään neljän puskurisarjän 863 avulla. Lisäksi MSA osa on jaettu kahteen 5-bitin osaan, jotka syötetään kahteen vastaavaan pariteettikehittäjään PG1, PG2, joista kukin muodostaa pariteettibitin ja sen komplementin. Kaksi pariteettibittiä on yhdistetty 2-bitin parillisuusväylälle PBE, ja puskuroitu neljällä puskurisarjalla 864 hakemiston 84 neljälle tasolle, jolloin väylät hakemistoon ovat 12 bittiä, 10 MSA osaa varten plus 2 pariteettia varten.
Anto kultakin hakemiston 84 tasolta, kun haluttu osoite on etsitty välimuistista, on siten 12-bitin signaali, 10 bittiä MSA osaa varten plus 2 bittiä pariteettiä varten. 10-bitin 8 80352 MSA osa syötetään vastaavalle vertailijayksikön 421 tasolle halutun osoitteen MSA osan vertaamiseksi. Kaksi pariteetti-bittiä syötetään takaisin kuviossa 3 esitettyyn piiriin ja vastaavan yhden neljästä pariteettivertailijasta 860 ohitse.
MSA osa halutusta osoitteesta syötetään pariteettikehittäjiin PG1 , PG2, jotta muodostettaisiin 2-bittinen parittomuussignaali PBO, joka myös syötetään neljään vertailijaan 860 (joista kukin voi käsitää parin yksinomaan-TAI-portteja, jotka syöttävät EI-TAI-porttia). Nämä muodostavat 4-bitin osuman sallivan signaalin HEN. Sekä parillisten että parittomien pariteetti-bittien käyttö, yksi tallentamista varten hakemistoon ja toinen vertailuun tallennetun bitin kanssa, aikaansaavat yksinkertaistuksen ja säästön loogisilla tasoilla.
Osuman sallivat signaalit HEN on yhdistetty osumasignaaleihin HIT eräässä toimintamuodon ohjauspiirin 86 yksikössä, joka on esitetty kuviossa 4. Osuman sallivat signaalit ovat tulosta pariteettibittien vertailusta, joka on muodostunut halutusta MSA osoiteosasta yhdessä tallennettujen MSA osoiteosien pariteettibittien kanssa ja ilmeisesti ainoastaan osumatapauksessa tämä vertailu on mielekäs.Tämän vuoksi osuman sallivat signaalit HEN on yhdistetty vastaaviin osumasignaaleihin HIT neljän portin 881 sarjalla. Itse asiassa tässä kohdassa on käytetty negatiivista logiikkaa, jolloin näiden porttien annot ovat tavallisesti 1. Osuma antaa tavallisesti yhden 0-syötön yhteen näistä porteista ja osuman salliva signaali tälle portille tulee myös olla 0 (edustaen täsmäyksen vallitsemista tämän tason tallennetun MSA osoiteosan pariteettibittien ja halutun MSA osoiteosan välillä, näiden olessa identtisiä, koska kyseessä oli osuma). Olemassaolo tai muuten 0 yhdestä näistä porteista 881 havaitaan portilla 887, joka asettaa ensimmäisen pari-teettivirhekiikun PEO vastaavasti. Tämä puolestaan asettaa toisen pariteettivirhekiikun PE1.
Samanaikaisesti osuman olemassaolon havaitsee portti 902, johon syötetään kaikki HIT väylän bitit. Tämä portti syöttää porttia 904, jota syötetään myös portista 887 kääntäjän 903 kautta.
9 80352
Sen vuoksi portin 904 anto ilmaisee koska on ollut pätevä osuma - ts. osuma, johon ei liittynyt pariteettivirhettä. Tämän portin antoa käytetään määrittämään onko uusi sana kirjoitettava välimuistiin vai ei.
Havaitaan, että virhe hakemistossa 84 voi muuttaa joko MSA osan bitin tai pariteettibitin. Viimeksi mainitussa tapauksessa osuma on todella pätevä, mutta sitä ei voida pitää varmana koska pariteetti on väärä. Edellisessä tapauksessa voi esiintyä osuma, joka on todellisuudessa epäpätevä , koska todella tallennettu MSA osa ei täsmää halutun MSA osan kanssa. Tässä tapauksessa pariteettivertailu epäonnistuu, koska tallennetut pariteetti-bitit ovat niitä, jotka ovat todella tallennettu MSA osaan, ei sitä mitä tallennettu MSA osa on tullut virheen seurauksena, ja ei täsmää halutun MSA osan pariteettibittien kanssa.
Neljän portin 881 annot on yhdistetty kahden portin 885 avulla määrittämään onko esiintynyt virhe tasoparilla 0 ja 1 vai taso-parilla 2 ja 3. Nämä kaksi porttia syöttävät kaksi vastaavan asteista tasokiikkua DL1 ja DL2 porttiparin 889 kautta, joka on tehty kykeneväksi asettamalla ensimmäinen pariteettivirhekiikku PEO. Siten pariteettivirhe tasolla 0 tai 1 asettaa kiikun DL1; pariteettivirhe tasolla 2 tai 3 asettaa kiikun DL2.
Kuten huomataan, välimuisti voi edelleen toimia vaikkakin asteittaisessa toimintamuodossa, jos jompikumpi kiikuista DL1 tai DL2 on asetettu. Kuitenkin jos molemmat on asetettu, välimuisti ei voi toimia lainkaan. Tämä tila havaitaan ja siitä annetaan signaali keskusyksikköön CPU portin 898 avulla.
Astetasokiikun asetus ilmaisee, että vastaava tasopari ei ole luotettava ja sitä ei sen vuoksi saa enää käyttää. Vastaavasti kaksi signaalia DL1 ja DL2 näistä kahdesta kiikusta syötetään vertailijayksikön 421 neljään vertailijaan kuten kuviossa 1 on esitetty. Signaali DL1 syötetään tasoille 0 ja 1, jotta estettäisiin näiden kahden tason vertailut, kun kiikku DL1 on asetettu; vastaavasti signaalia DL2 käytetään estämään tasojen 10 80352 2 ja 3 vertailut, kun virhe on ilmennyt jommassa kummassa näistä kahdesta tasosta.
Kuvio 5 esittää yksityiskohtaisesti kirjoituksen ohjauspiirin 82. Sen on valittava sopiva taso kirjoittamiseen kahdessa tilanteessa; kirjoitaminen osuman jälkeen ja uuden sanan kirjoittaminen ellei osumaa ole tapahtunut.
Jos osuma on tapahtunut, taso jolla osuma on ilmennyt koodataan kahden kirjoituksen valintakiikun WS0 ja WS1 avulla. Kuten esitettiin nämä kaksi kiikkua syötetään HIT-väylältä kahden portin 821 avulla, jotka syötetään tasojen 0, 1 ja kahden HIT-signaalin HTO, HT1 ja HT2 kanssa kuten esitettiin. Siten kiikku WS0 on asetettu, jos osuma on tasoilla 0 tai 1, ja kiikku WS1 on asetettu, jos osuma on tasoilla 2 tai 0. (HIT-väylä käyttää negatiivista logiikkaa.)
Signaali RPL määrittää onko kirjoitusosa korvaamista varten (ei osumaa) vai onko kyseessä välimuistissa jo olevan sanan yksinkertainen uudelleen kirjoittaminen (osuma). Uudelleen kirjoittamista varten signaalin RPL komplementti sallii kahden portin 843 ohittaa kahden kiikun WS0 ja WS1 annot. Korvaamista varten signaali RPL sallii kahden portin 841, jotka on syötetty signaalien RDO ja RDM avulla, jotka on saatu vastaavasti kahdesta kiertovuorottelukiikusta RDO ja RD1. Valittu signaalipari kulkee toisen porttiparin 845 lävitse kahteen dekooderiin 848 ja 851, jotka koodaavat 2-bittiset signaalit porteista 845 väylien WRS ja WRC yksi neljästä signaaleiksi. Kahta erillistä dekooderia käytetään, koska tämä sallii kahden väylän WRS ja WRC ohjauksen erillisen kykeneväksi tekemisen. On välttämätöntä kyetä tekemään kykeneviksi nämä kaksi väylää erillisesti, koska väylää WRC käytetään valitsinyksikön 430 kautta sekä lukemiseen että myös kirjoittamiseen muistissa 40.
Ajateltaessa kiertovuorottelun antojen valintaa kirjoittamisen ohjaukseen tarkemmin, on välttämätöntä kyetä valitsemaan neljä tasoa peräkkäin, kun välimuisti on täysin toimiva, mutta valita
II
11 80352 ainoastaan tasojen 0 ja 1 välillä tai ainoastaan tasojen 2 ja 3 välillä, kun jokin kiikuista DL1 ja DL2 on asetettu ja välimuisti toimii alennetussa toimintamuodossa. Tämä saavutetaan syöttämällä kirjoitusohjauspiirin 82 kiertovuorotteluyksikön annot muokkauksen jälkeen toimintamuodon ohjausyksikköön 86 suoran syötön asemesta. Itse asiassa kiikun RDO anto syötetään kirjoitusyksikköön 82 suoraan. Kuitenkin kiikun RD1 anto syötetään kahden portin 896 ja 895 lävitse, kuvio 4, toimintamuodon ohjausyksikköön 86 signaalin RDM muodostamiseksi, joka signaali syötetään kirjoituksen ohjausyksikköön 82.
Kiikku RD1 valitsee kahden alemman tason 0 ja 1 ja kahden ylemmän tason 2 ja 3 välillä, kun taas kiikku RDO valitsee tason 0 ja tason 1 välillä tai tason 2 ja tason 3 välillä. Kaksi porttia 896 ja 895 määrittävät signaalin RDM signaalista RD1 riippuen siten, että jos kumpikaan tai alennetun tason kiikut DL1 ja DL2 on asetettu (tavanomainen toiminta), signaali RDM on sama kuin RD1; jos kiikku DL1 on asetettu, ilmaisten virhettä tasoilla 0 ja 1 , signaali RDM pakotetaan ykköseksi; kun taas jos kiikku DL2 on asetettu, ilmaisten virhettä tasoilla 2 ja 3, signaali RDM pakotetaan nollaksi. Siten korvattava taso valitaan tavallisesti syklisessä sarjassa, mutta jos virhe on ilmennyt tasoilla 0 tai 1, ainoastaan tasot 2 ja 3 voidaan valita (syklisesti) korvaamiseen, koska jos virhe on tapahtunut tasoilla 2 ja 3, ainoastaan tasot 0 ja 1 voidaan valita (syklisesti) korvaamiseen. Tason valinta kahden korvaukseen saatavissa olevan tason välillä häiriön sattuessa kahdessa muussa tasossa määritetään edelleen kuhunkin sarakkeeseen (LSA osa) riippumattomasti kiertovuorotteluyksikön 80 avulla.
Järjestelmän yleistoiminta voidaan sen vuoksi tiivistää seuraa-valla tavalla. Sen alkuperäinen ja normaali tila on kaikilla neljällä tasolla käytössä ja molemmat alennustasokiikut on nollattu. Havaittaessa pariteettivirhe on sopiva tarkistaa myös onko keskusyksikön CPU lukemisvaatimus suoritettu, koska mikäli näin ei ole, on väyläkirjoitussykli ja virhe voidaan jättää huomiotta koska kirjoitus tapahtuu, johon virhe ei vaikuta. Kuitenkin pariteettivirheessä keskusyksikön CPU
12 80352 lukemispyynnössä, toinen alennetun tason kiikuista asetetaan. Välimuisti jatkaa sen jälkeen toimintaa, mutta alennetussa toimintamuodossa ainoastaan kahden tason ollessa toiminnassa. Tästä tilasta annetaan signaali keskusyksikköön CPU toisen pari-teettivirhekiikun avulla. Koko järjestelmän, johon välimuisti lasketaan mukaan, suorituskyky alenee hieman, koska välimuisti pitää sisällään ainoastaan puolet siitä sanamäärästä kuin tavallisesti ja enemmän päämuistipääsyjä tarvitaan kuin tavallisesti vaaditaan. Pariteettivirheen esiintyessä yhdellä jäljelle jääneistä kahdesta tasosta (jälleen keskusyksikköön CPU lukupyyntö), toinen alennetun tason kiikku asetetaan ja välimuisti tulee täysin toimimattomaksi.
Luonnollisesti huomataan, että yllä yksinkertaistetuin termein esitetty saattaa käytännössä vaatia erilaisia lisäselvityksiä. Erityisesti ajoitussignaalit on lähes kokonaan jätetty huomioon ottamatta tässä selityksessä. Luonnollisesti myös yksityiskohtaiset tavat, joilla vaaditut loogiset toiminnot toteutetaan voi vaihdella huomattavasti riippuen suunnittelijan suosimasta tekniikasta, käytetystä loogisesta järjestelmästä, käytettävissä olevista komponenteista, jne.
ti

Claims (8)

13 80352
1. Osittain rajoitettavissa oleva välimuistiyksikkö käytettäväksi tietokonejärjestelmässä tarjoamaan suurinopeuksisen pääsyn päämuistissa pidettäviin tietoihin vastauksena muistin hakupyyntöihin, kunkin pyynnön ollessa identifioituna vaadittavan tiedon päämuistiosoitteella, mainitun osoitteen käsittäessä mainitun järjestelmän tuottaman ensimmäisen ja toisen osoite-osan, missä mainittu välimuistiyksikkö käsittää: osoitettavan datamuistin (20-400) järjestettynä useisiin tasoihin, kunkin tason käsittäessä yhtä suuret ryhmät muistipaikkoja, vastaavien paikkojen kaikissa tasoissa ollessa määritettynä erilaisella mainitulla toisella osoiteosalla, kunkin paikan tallettaessa tietoalkion; osoitettava hakemistomuisti (20-84) järjestettynä yhtä suureen määrään tasoja ja muistipaikkaryhmiä kuin mainittu datamuisti, kunkin hakemistomuistin paikan tallettaessa vastaavassa data-muistipaikassa pidetyn tietoalkion päämuistiosoitteen ensimmäisen osoiteosan, vastaavien paikkojen kaikissa mainitussa hakemistomuistin tasoissa ollessa määritettynä erilaisella mani-tulla toisella osoiteosalla, tunnettu siitä, että välimuistiyksikköön kuuluu; virheenhavaitsemiselimet (20-860) kytkettynä mainittuun hake-mistomuistiin, mainittujen havaintoelimien toimiessa virhesig-naalin tuottamiseksi osoittamaan virheen, joka liittyy mainitusta hakemistomuistista luettuun ensimmäiseen osoiteosaan; toimintamuodon ohjauselimet (20-880) kytkettynä mainittuihin virheen havaitsemiselimiin ja toiminnallisesti kytkettynä mainittuun hakemistomuistiin ja mainittuun datamuistiin, mainittujen toimintatavan ohjauselimien toimiessa vastauksena ensimmäiseen ilmenevään virhesignaaliin, joka on havaittu luettaessa yhteen mainitun välimuistiyksikön tasoon talletettua tietoalkiota, mainitun välimuistiyksikön kääntämiseksi osittain rajoitettuun toimintatilaan, missä mainitun hakemistomuistin ja datamuistin toiminta on rajoitettu vain niihin tasoihin, joissa virhettä ei havaittu. 14 80352
2. Patenttivaatimuksen 1 mukainen välimuisti, tunnettu siitä, että toimintamuodon ohjauselimet (896, 895) on kytketty korvauselimiin, jotta estettäisiin sanan pääsy tasolle, joka on korvattu toimimattomana.
3. Patenttivaatimuksen 1 tai 2 mukainen välimuisti, tunnet-t u siitä, että virheen havaitsemiselimet (860) havaitsevat pariteettivirheet.
4. Jonkin edellisen patenttivaatimuksen mukainen välimuisti, tunnettu siitä, että virheen havaitseminen suoritetaan kaikilla tasoilla, mutta virheet tasoilla, joilla ei vallitse täsmäystä, jätetään huomioon ottamatta (881).
5. Jonkin edellisen patenttivaatimuksen mukainen välimuisti, tunnettu siitä, että toimintamuodon ohjauselin on herkkä ainoastaan lukemistoimintojen virheisiin.
6. Jonkin edellisen patenttivaatimuksen mukainen välimuisti, tunnettu siitä, että toimintamuodon ohjauselin käsittää joukon alennustasokiikkuja (DL1, DL2), joista kukin on yhteydessä vastaavaan tasoon tai joukkoon tasoja ja jotka, kun ne on asetettu, korvaavat toimimattoman yhteydessä olevan tason tai tasot.
7. Patenttivaatimuksen 6 mukainen välimuisti, tunnettu siitä, että looginen TAI-elin (PE1) on liitetty alennustaso-kiikkuihin ilmaisemaan milloin välimuistissa ainakin yksi taso en toimimaton.
8. Patenttivaatimuksen 6 tai 7 mukainen välimuisti, tunnettu siitä, että looginen JA-elin (898) on liitetty alennus-tasokiikkuihin ilmaisemaan milloin välimuisti on täysin toimimaton. ti is 80352
FI831080A 1982-03-31 1983-03-30 System foer buffertminne. FI80352C (fi)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/364,052 US4464717A (en) 1982-03-31 1982-03-31 Multilevel cache system with graceful degradation capability
US36405282 1982-03-31

Publications (4)

Publication Number Publication Date
FI831080A0 FI831080A0 (fi) 1983-03-30
FI831080L FI831080L (fi) 1983-10-01
FI80352B FI80352B (fi) 1990-01-31
FI80352C true FI80352C (fi) 1990-05-10

Family

ID=23432812

Family Applications (1)

Application Number Title Priority Date Filing Date
FI831080A FI80352C (fi) 1982-03-31 1983-03-30 System foer buffertminne.

Country Status (9)

Country Link
US (1) US4464717A (fi)
EP (1) EP0090638B1 (fi)
JP (1) JPS58179982A (fi)
AU (1) AU549615B2 (fi)
BR (1) BR8301593A (fi)
CA (1) CA1184665A (fi)
DE (1) DE3382111D1 (fi)
FI (1) FI80352C (fi)
MX (1) MX154471A (fi)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4686621A (en) * 1983-06-30 1987-08-11 Honeywell Information Systems Inc. Test apparatus for testing a multilevel cache system with graceful degradation capability
US4667288A (en) * 1983-06-30 1987-05-19 Honeywell Information Systems Inc. Enable/disable control checking apparatus
US4646237A (en) * 1983-12-05 1987-02-24 Ncr Corporation Data handling system for handling data transfers between a cache memory and a main memory
CA1233271A (en) * 1984-06-26 1988-02-23 David S. Mothersole Cache disable for a data processor
US4740889A (en) * 1984-06-26 1988-04-26 Motorola, Inc. Cache disable for a data processor
US4823259A (en) * 1984-06-29 1989-04-18 International Business Machines Corporation High speed buffer store arrangement for quick wide transfer of data
US4737909A (en) * 1985-04-01 1988-04-12 National Semiconductor Corp. Cache memory address apparatus
US4755930A (en) * 1985-06-27 1988-07-05 Encore Computer Corporation Hierarchical cache memory system and method
JPS62194563A (ja) * 1986-02-21 1987-08-27 Hitachi Ltd バツフア記憶装置
US5237671A (en) * 1986-05-02 1993-08-17 Silicon Graphics, Inc. Translation lookaside buffer shutdown scheme
US4802087A (en) * 1986-06-27 1989-01-31 Honeywell Bull Inc. Multiprocessor level change synchronization apparatus
JPS6324428A (ja) * 1986-07-17 1988-02-01 Mitsubishi Electric Corp キヤツシユメモリ
AU604101B2 (en) * 1987-04-13 1990-12-06 Computervision Corporation High availability cache organization
US4833601A (en) * 1987-05-28 1989-05-23 Bull Hn Information Systems Inc. Cache resiliency in processing a variety of address faults
US5025366A (en) * 1988-01-20 1991-06-18 Advanced Micro Devices, Inc. Organization of an integrated cache unit for flexible usage in cache system design
US5136691A (en) * 1988-01-20 1992-08-04 Advanced Micro Devices, Inc. Methods and apparatus for caching interlock variables in an integrated cache memory
ATE109910T1 (de) * 1988-01-20 1994-08-15 Advanced Micro Devices Inc Organisation eines integrierten cachespeichers zur flexiblen anwendung zur unterstützung von multiprozessor-operationen.
US4912630A (en) * 1988-07-29 1990-03-27 Ncr Corporation Cache address comparator with sram having burst addressing control
US5067078A (en) * 1989-04-17 1991-11-19 Motorola, Inc. Cache which provides status information
US5070502A (en) * 1989-06-23 1991-12-03 Digital Equipment Corporation Defect tolerant set associative cache
JPH0359741A (ja) * 1989-07-28 1991-03-14 Mitsubishi Electric Corp キャッシュメモリ
US5317718A (en) * 1990-03-27 1994-05-31 Digital Equipment Corporation Data processing system and method with prefetch buffers
US5347648A (en) * 1990-06-29 1994-09-13 Digital Equipment Corporation Ensuring write ordering under writeback cache error conditions
US5155843A (en) * 1990-06-29 1992-10-13 Digital Equipment Corporation Error transition mode for multi-processor system
US5454093A (en) * 1991-02-25 1995-09-26 International Business Machines Corporation Buffer bypass for quick data access
US5280591A (en) * 1991-07-22 1994-01-18 International Business Machines, Corporation Centralized backplane bus arbiter for multiprocessor systems
US5345576A (en) * 1991-12-31 1994-09-06 Intel Corporation Microprocessor simultaneously issues an access to an external cache over an external cache bus and to an internal cache, cancels the external cache access on an internal cache hit, and reissues the access over a main memory bus on an external cache miss
US5649154A (en) * 1992-02-27 1997-07-15 Hewlett-Packard Company Cache memory system having secondary cache integrated with primary cache for use with VLSI circuits
US5530823A (en) * 1992-05-12 1996-06-25 Unisys Corporation Hit enhancement circuit for page-table-look-aside-buffer
US5905997A (en) * 1994-04-29 1999-05-18 Amd Inc. Set-associative cache memory utilizing a single bank of physical memory
US5826052A (en) * 1994-04-29 1998-10-20 Advanced Micro Devices, Inc. Method and apparatus for concurrent access to multiple physical caches
US5768295A (en) * 1995-03-10 1998-06-16 Nec Corporation System for parity calculation based on arithemtic difference between data
JP2799983B2 (ja) * 1996-02-16 1998-09-21 三信工業株式会社 船舶推進機のエンジン冷却装置
US5875201A (en) * 1996-12-30 1999-02-23 Unisys Corporation Second level cache having instruction cache parity error control
US5894487A (en) * 1997-07-15 1999-04-13 International Business Machines Corporation Error detection of directory arrays in dynamic circuits
US6049845A (en) * 1997-11-05 2000-04-11 Unisys Corporation System and method for providing speculative arbitration for transferring data
US6052760A (en) * 1997-11-05 2000-04-18 Unisys Corporation Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks
US6092156A (en) * 1997-11-05 2000-07-18 Unisys Corporation System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations
US6014709A (en) * 1997-11-05 2000-01-11 Unisys Corporation Message flow protocol for avoiding deadlocks
AT406461B (de) * 1997-12-15 2000-05-25 Fronius Schweissmasch Schweissbrenner
US6314501B1 (en) 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US6665761B1 (en) 1999-07-28 2003-12-16 Unisys Corporation Method and apparatus for routing interrupts in a clustered multiprocessor system
US6687818B1 (en) 1999-07-28 2004-02-03 Unisys Corporation Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system
JP3812258B2 (ja) * 2000-01-13 2006-08-23 株式会社日立製作所 キャッシュ記憶装置
US6728823B1 (en) * 2000-02-18 2004-04-27 Hewlett-Packard Development Company, L.P. Cache connection with bypassing feature
US6918071B2 (en) * 2001-04-20 2005-07-12 Sun Microsystems, Inc. Yield improvement through probe-based cache size reduction
US7581026B2 (en) * 2001-12-28 2009-08-25 Intel Corporation Communicating transaction types between agents in a computer system using packet headers including format and type fields
US7099318B2 (en) * 2001-12-28 2006-08-29 Intel Corporation Communicating message request transaction types between agents in a computer system using multiple message groups
US7184399B2 (en) * 2001-12-28 2007-02-27 Intel Corporation Method for handling completion packets with a non-successful completion status
US7191375B2 (en) * 2001-12-28 2007-03-13 Intel Corporation Method and apparatus for signaling an error condition to an agent not expecting a completion
US7472038B2 (en) * 2007-04-16 2008-12-30 International Business Machines Corporation Method of predicting microprocessor lifetime reliability using architecture-level structure-aware techniques
GB2505179A (en) * 2012-08-20 2014-02-26 Ibm Managing a data cache for a computer system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US932005A (en) * 1903-07-31 1909-08-24 United Shoe Machinery Ab Machine for making lacing-hooks.
US3685020A (en) * 1970-05-25 1972-08-15 Cogar Corp Compound and multilevel memories
US3820078A (en) * 1972-10-05 1974-06-25 Honeywell Inf Systems Multi-level storage system having a buffer store with variable mapping modes
US3848234A (en) * 1973-04-04 1974-11-12 Sperry Rand Corp Multi-processor system with multiple cache memories
US4020466A (en) * 1974-07-05 1977-04-26 Ibm Corporation Memory hierarchy system with journaling and copy back
JPS5721799B2 (fi) * 1975-02-01 1982-05-10
US4053752A (en) * 1975-09-15 1977-10-11 International Business Machines Corporation Error recovery and control in a mass storage system
FR2361718A1 (fr) * 1976-08-11 1978-03-10 Adersa Processeur parallele associatif a hierarchie de memoire, notamment pour l'acquisition et le traitement rapides des signaux
US4084236A (en) * 1977-02-18 1978-04-11 Honeywell Information Systems Inc. Error detection and correction capability for a memory system
US4195343A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Round robin replacement for a cache store
US4195342A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Multi-configurable cache store system
JPS5542318A (en) * 1978-09-14 1980-03-25 Nec Corp Cash memory control system
US4168541A (en) * 1978-09-25 1979-09-18 Sperry Rand Corporation Paired least recently used block replacement system
JPS5687280A (en) * 1979-12-14 1981-07-15 Hitachi Ltd Data processor
US4342084A (en) * 1980-08-11 1982-07-27 International Business Machines Corporation Main storage validation means

Also Published As

Publication number Publication date
FI80352B (fi) 1990-01-31
EP0090638B1 (en) 1991-01-16
DE3382111D1 (de) 1991-02-21
FI831080A0 (fi) 1983-03-30
BR8301593A (pt) 1983-12-06
EP0090638A3 (en) 1987-04-08
MX154471A (es) 1987-08-28
US4464717A (en) 1984-08-07
JPS58179982A (ja) 1983-10-21
AU549615B2 (en) 1986-02-06
FI831080L (fi) 1983-10-01
AU1185583A (en) 1983-10-06
EP0090638A2 (en) 1983-10-05
CA1184665A (en) 1985-03-26

Similar Documents

Publication Publication Date Title
FI80352C (fi) System foer buffertminne.
KR100572800B1 (ko) 에러 체크 방법, 에러 정정 코드 체커 및 이를 포함하는 컴퓨터 시스템
US4905141A (en) Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification
US5142540A (en) Multipart memory apparatus with error detection
US4410944A (en) Apparatus and method for maintaining cache memory integrity in a shared memory environment
US4357656A (en) Method and apparatus for disabling and diagnosing cache memory storage locations
US3436734A (en) Error correcting and repairable data processing storage system
EP0095033A2 (en) Set associative sector cache
EP0009412A2 (en) Block replacement in a high speed cache memory system
US4323968A (en) Multilevel storage system having unitary control of data transfers
KR100273907B1 (ko) 컴퓨터에 의해 사용되는 캐쉬내의 결함을 제거하기 위한 방법
EP0321793B1 (en) Apparatus for forcing a reload from main memory upon cache memory error
US6493799B2 (en) Word selection logic to implement an 80 or 96-bit cache SRAM
EP0259967B1 (en) Directory memory
EP0706131A2 (en) Method and system for efficient miss sequence cache line allocation
JPH0524540B2 (fi)
KR100297914B1 (ko) 스누핑장치를위한다중캐쉬디렉토리
US5916314A (en) Method and apparatus for cache tag mirroring
EP0279396B1 (en) Cache memory having self-error checking and sequential verification circuits
US5854943A (en) Speed efficient cache output selector circuitry based on tag compare and data organization
US5894487A (en) Error detection of directory arrays in dynamic circuits
US6412051B1 (en) System and method for controlling a memory array in an information handling system
US5581730A (en) Condition detector and prioritizer with associativity determination logic
US3976865A (en) Error detector for an associative directory or translator
KR910004309B1 (ko) 다중 레벨 캐쉬 시스템

Legal Events

Date Code Title Description
MM Patent lapsed

Owner name: HONEYWELL INFORMATION SYSTEMS INC.