FI91814B - Moniprosessorin yhteinen liukuhihnavälimuisti - Google Patents

Moniprosessorin yhteinen liukuhihnavälimuisti Download PDF

Info

Publication number
FI91814B
FI91814B FI853730A FI853730A FI91814B FI 91814 B FI91814 B FI 91814B FI 853730 A FI853730 A FI 853730A FI 853730 A FI853730 A FI 853730A FI 91814 B FI91814 B FI 91814B
Authority
FI
Finland
Prior art keywords
buffer memory
cache
access
address
signal
Prior art date
Application number
FI853730A
Other languages
English (en)
Swedish (sv)
Other versions
FI853730L (fi
FI853730A0 (fi
FI91814C (fi
Inventor
James W Keeley
Thomas F Joyce
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 FI853730A0 publication Critical patent/FI853730A0/fi
Publication of FI853730L publication Critical patent/FI853730L/fi
Application granted granted Critical
Publication of FI91814B publication Critical patent/FI91814B/fi
Publication of FI91814C publication Critical patent/FI91814C/fi

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • 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
    • 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

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)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)
  • Circuits Of Receivers In General (AREA)
  • Bus Control (AREA)

Description

1 91814
Honinrosessorin yhteinen 1 iukuhihnavälirrmisti . - Gemensamt buffertminne av transportbandstyp för multiprocessor.
Keksinnön kohteena ovat tietokonejärjestelmät ja moniprosessori-tietokonejärjestelmät. Tarkemmin sanottuna keksinnön kohteena ovat moniDrosessorijärjestelmät, jotka sisältävät välimuisti-järjestelmän.
On yleisesti tunnettua, että välimuistit ovat olleet hyvin tehokkaita kasvattamaan pienten ja suurten yksiprosessori- ja moninro-sessorijärjestelmien suoritustehoa. Moniprosessorijärjestelmissä välimuistit kokoonpannaan yleensä kahdella eri tavalla. Ensimmäinen näistä on yhteinen välimuistikokoonpano, jossa välimuistia käytetään yhtä tai lukuisia päämuistimoduleita varten. Kaikilla järjestelmässä olevilla prosessoreilla on pääsy siihen. Toinen kokoonpano on yksityinen välimuistijärjestely, jossa välimuisti on annettu yhdellä ainoalle prosessorille. Nämä kokoonpanot on kuvattu artikkelissa nimeltään "Effects of Cache Coherency in Multiprocessors", kirjoittajina Michael Dubois ja Fay A. Briggs, julkaisussa IEEE Transactions on Computers, Volume C-31, No. 11, marraskuu, 1982.
Lisäksi moniprosessorijärjestelmiä on pantu kokoon siten, että ne jatkavat yhteisen ohjausyksikön, joka sisältää välimuistin. Yhdysvaltalaiset patentit numerot 4,378,591 ja 4,392,200 ovat esimerkkejä tämän kaltaisista järjestelmistä. Tällaisissa järjestelmissä prosessointiyksiköt kytkeytyvät yhteiseen väylään ja sisältävät välitvsyksikköjä kävtettävissäolevien väyläjaksojen varaamiseksi välimuistiin pääsemiseksi. On havaittu, että huomattava aika tuhlataan ratkaisemalla nääsvristiriitoja prosessoreiden välillä. Tämä nuolestaan vähentää järjestelmän tehokkuut-• ta samalla, kun se lisää järjestelmän monimutkaisuutta.
Lisäksi U.S. patentissa no. 4,378,591 esitetyssä järjestelmässä on välimuistiosajärjestelmään sisällytetty muita väyläjaksoja pyytäviä lähteitä, kuten esimerkiksi jonomuisti (FIFO). Tälle re-.. surssille täytyy sallia pääsy välimuistiin paikallisen väylän 2 91 81 4 kautta prioriteettipohjalla. FIFO:lie annetaan korkeampi prioriteetti kuin prosessointiyksiköille siten, että tiedonsiirrot, jotka tavallisesti ovat päämuistiin kirjoitusoperaatioita, saavat etusijan. Tämä tarkoittaa sitä, että välimuistin päivitysoperaa-tioille annetaan suurempi prioriteetti kuin prosessoripyynnöille, mikä hidastaa lisää järjestelmän tehokkuutta.
Eräs nykytekniikan mmukainen yksiprosessorijärjestelmä käyttää muistijärjestelmää, joka sisältää välimuistin ja päämuistin toteutettuina täysin segmentoiduilla liukuhihnoilla. Järjestelmä on yksittäinen, henkilökohtainen tietokone ja se voi sinänsä sisältää vain yhdenkäyttäjän järjestelmän. Järjestelmän kuvausta varten viitataan artikkeliin nimeltään "The Memory System of a High. Performance Personal Computer", tekijöinä Douglas W. Clark, Butler W. Lampson ja Kenneth A. Pier, julkaisussa IEEE Transactions on Computers, Volume C-30, No. 10, lokakuu, 1981.
Näin ollen on tämän keksinnön päätehtävä muodostaa suuren suorituskyvyn omaava välimuistijärjestelmä, joka pystyy käsittelemään pyyntöjä lukuisista lähteistä.
Keksinnön toinen tehtävä on muodostaa järjestelmä, joka sallii riippumattomasti toimivien lähteiden jakaa välimuistiyksikkö konflikti-vapaalla pohjalla.
Edellämainitut tehtävät ja edut saavutetaan keksinnön edullisessa toteutuksessa, jolle on tunnusomaista patenttivaatimuksen 1 tun-nusmerkkiosassa esitetyt asiat. Keksinnön mukaisesti on välimuis-tiosajärjestelmä rakennettu siten, että sillä on kaksi liukuhihna-astetta, jotka lukuisat lähteet voivat jakaa, ja näihin kuuluu lukuisia toisistaan riippumattomasti toimivia prosessointiyksiköltä. Välimuistin ensimmäinen liukuhihna-aste huolehtii hakemistohaku-ja vertailuoperaatioista, kun taas toinen liukuhihna-aste suorittaa operaatiot, joilla haluttu tieto haetaan välimuistin puskuri-muistista ja siirretään se lähteeseen. Välimuisti sisältää lisäksi ajastus- ja ohjauslaitteen, joka kytkeytyy lähteisiin ja allokoi " jokaisen prosessointiyksikön aikavälejä niiden operaatioiden siirtämiseksi liukuhihna-asteella.
3 91814
Kun välimuistin ohjauslaite on synkronoimassa lähteiden toimintaa, on yhteentörmäysten mahdollisuus lähteiden välillä tehokkaasti poistettu, jolloin lisätään järjestelmän suorituskykyä. Välimuistia siis jaksotetaan jatkuvasti, jolloin sallitaan kaikkien lähteiden vhteentörmäyksetön toiminta liukuhihna-asteilla.
Lisäksi edullisessa toteutuksessa on jokainen keskusprosessoriyk-sikkölähde ohjelmoitu pyytämään käyttöönsä lähempää määrää kuin kaikkia niitä aikavälejä, jotka välimuistivksikkö on sille allokoinut. Toisin sanoen edullisessa toteutuksessa jokainen keskus-prosessorilähde pyytää joka toisen sille allokoidun aikavälin. Jäljelle jäävät aikavälit annetaan sitten muiden lähteiden käyttöön. Edullisessa toteutuksessa yksi tällainen toinen lähde on jonomuistiDUskuri (FIFO), joka käsittelee päivitys- ja vaihta-mispyyntöjä. Tämän keksinnön järjestely sallii näiden pyyntöjen käsittelyn vapaiden aikavälien aikana nopeudella, joka estää mikä tahansa puskurin ylivuodon.
Yksityiskohtaisemmin edullinen toteutus sisältää keskusyksikkö-alijärjestelmän, jolla on kaksi keskusyksikköä (CPU:ta). Kummallakin CPU:11a on virtuaalimuistin hallintayksikkö pyyntöjen vir-tuaaliosoitteiden kääntämiseksi fyysisiksi osoitteiksi. Kumpikin keskusyksikkö on mikro-ohjelmaohjattu siten, että on koodattu vuorottaisia mikrokäskyjä pyyntöjen muodostamiseksi toiminnan joka toisella mikrokäskyjaksolla. Synkronoinnin ohjauspiirit, : jotka sisältyvät välimuistiin, muodostavat signaalit kummankin keskusyksikön kellopiirien synkronoimiseksi eri aikajaksoissa.
Nämä jaksot on siirretty riittävällä määrällä aikavälejä siten, että saadaan aikaan tällaisten osajärjestelmien yhteentörmäyk-setön toiminta.
Uudet piirteet, joiden uskotaan olevan luonteenomaisia keksinnölle sekä sen oraanisäätiön että toimintamenetelmän kannalta, sekä muut edut ymmärretään paremmin seuraavasta kuvauksesta, kun tätä tarkastellaan yhdessä liitteenä olevien piirrosten kanssa. On kuitenkin syytä ymmärtää, että jokainen piirroksista on esitetty vain kuvaamis- ja selitystarkoituksessa, eikä niitä ole tarkoi- 4 91814 tettu keksinnön rajojen määrittelyksi.
Kuva 1 on sellaisen järjestelmän lohkokaavio, joka sisältää keksinnön laitteen.
Kuva 2 on kuvan 1 yhden sellaisen keskusalijärjestelmän lohko-kaavio, joka on rakennettu keksinnön mukaisesti.
Kuvat 3a - 3c esittävät yksityiskohtaisemmin kuvan 2 ajastus- ja ohjauspiirit.
Kuva 4 on ajastuskaavio, jota on käytetty selittämään keksinnön laitteen toimintaa.
Kuvassa 1 on moniprosessoritietojenkäsittelyjärjestelmä 10, joka sisältää lukuisia alijärjestelmiä 14 - 30 kytkettynä yhteen jär-jestelmäväylään 12. Kuvatut alijärjestelmät sisältävät lukuisia keskusalijärjestelmiä 14 - 16, lukuisia muistialijärjestelmiä 20 - 28 ja oheislaitealijärjestelmän 30. Jokaiseen alijärjestelmään kuuluu 1iitäntäalue, joka sallii yksikön tai siihen liittyvien yksiköiden lähettää ja vastaanottaa pyyntöjä komentojen, keskeytysten, tiedon tai vastausten/tilan muodossa toiselle yksikölle pitkin järjestelmäväylää 12 asynkronisessa muodossa. Tämä tarkoittaa, että jokaisen liitäntäalueen voidaan olettaa sisältävän väyläliitäntälogiikkapiirejä, kuten esimerkiksi sellaisia, jotka on esitetty U.S. patentissa no. 3,995,258, nimeltään "Data Processing System Having a Data Integrity Technique", keksijänä George J. Barlow.
Jokaisen keskusalijärjestelmän 14 - 16 organisaatio on sama. Kuvassa 2 esitetään lohkokaavion muodossa keskusalijärjestelmä 14 keksinnön mukaisesti järjestettynä. Alijärjestelmä 14 sisältää parin keskusyksikköalijärjestelmiä (CPU) 14-2 ja 14-4 kytkettynä jakamaan välimuistialijärjestelmä 14-6. Välimuistialijärjestelmä 14_6 kytkeytyy järjestelmäväylään 12 jonomuistialijärjestelmän (FIFO) 14-10 kautta, jonka voidaan katsoa sisältyvän liitäntä-alueeseen 14-1.
h 91814
Kuten kuvasta 2 nähdään, ovat molemmat CPU-alijärjestelmät 14-2 ja 14-4 rakenteeltaan täysin samanlaisia. Tämä tarkoittaa sitä, että kumpikin CPU-alijärjestelmä sisältää 32-bitin keskusyksikön (CPU) (eli CPU:t 14-20 ja 14-40), ja virtuaalimuistin hallinta-yksikön (VMMU) (eli VMMU:t 14-26 ja 14-46) CPU:n virtuaaliosoit-teen kääntämiseksi fyysiseksi osoitteeksi vietäväksi välimuisti-alijärjestelmään 14-6 osana muistihakua. Lisäksi kumpikin CPU-alijärjestelmä sisältää kiintomuistin (ROS) ja 16-bitin ROS-tietoulostulorekisterin (RDR) (eli ROS:it 14-24, 14-44 ja RDR:t 14-25, 14-45). '
Jokaisen jakson alussa saadaan kumpikin ROS lukemaan ulos 16-bitin mikrokäskysana tiedonulostulorekisteriinsä (RDR), joka määrää jakson aikana suoritettavan operaation tyypin (kiinteä ohjelmisto askel/rasia). Kellopiirit kummassakin CPU-alijärjestelmässä (eli piirit 14-22 ja 14-42) muodostavat perusajastuksen alijärjestelmälleen välimuistialijärjestelmän 14-6 ohjauksen alaisuudessa, kuten on selitetty. Kummankin CPU-alijärjestelmän elementit voidaan rakentaa standardeista integroiduista piireistä.
Kuten kuvasta 2 näkyy, on välimuistialijärjestelmä 14-6 järjestetty lähdeosoitteen muodostusosaan ja kahteen erilliseen liukuhihna-asteeseen, joilla kummallakin on omat dekoodaus- ja oh-jauspiirinsä. Lähdeosoitteen muodostusosa sisältää lohkot 14-62 ja 14-64, jotka suorittavat lähdeosoitteen valinta- ja inkremen-• tointitoiminnot. Ensimmäinen liukuhihna-aste on osoiteaste ja se sisältää lohkojen 14-66 - 14-76 piirit järjestettynä esitetyllä tavalla. Tämä aste suorittaa funktiot, joihin kuuluu muodostetun lähdeosoitteen salpaaminen ja hakemiston haku ja osuman vertaaminen. Ensimmäinen liukuhihna-aste muodostaa ulostulotiedon ta-sonumeron ja sarakeosoitteen muodossa. Ensimmäisen liukuhihna-asteen toiminnat ajastetaan ajastussignaaleilla, jotka lohkon 14-60 ajastus- ja ohjauspiirit muodostavat.
Tieto ensimmäisestä asteesta viedään välittömästi toiseen liukuhihna-asteeseen jättäen ensimmäinen aste seuraavan lähdepyvnnön >#; käytettäväksi. Toinen liukuhihna-aste on tietoaste ja se sisältää 6 91814 lohkojen 14-80 - 14-96 piirit järjestettynä esitetyllä tavalla. Tämä aste suorittaa funktiot, joihin kuuluu pyydetyn tiedon hakeminen puskurimuisteista 14-88 ja 14-90, tai tiedon korvaami-nen/tallettaminen sillä tiedolla, joka on saatu FIFO-alijärjestelmältä 14-10. Siten toinen 1iukuhihna-aste järjestää 36-bitin tietosanan siirron jollekin CPU-alijärjestelmistä. Jälleen toisen liukuhihna-asteen toiminnat ajastetaan ajastussignaaleilla, jotka lohkon 14-60 ajastus- ja ohjauspiirit ovat muodostaneet.
Ensimmäisen ja toisen liukuhihna-asteen eri lohkot on rakennettu standardeista integroiduista piireistä, kuten esimerkiksi sellaisista, jotka on kuvattu teoksessa "The TTL Data Book, Volumn 3", kustannusoikeus 1984 Texas Instruments Inc ja teoksessa "Advanced Micro Devices Programmable Array Logic Handbook", kustannusoikeus Advanced Micro Devices, Inc. Esimerkiksi lohkon 14-62 osoitteenvalintapiiri on rakennettu kahdesta sarjasta kuusia 74AS857-limitinpiiriä, jotka on asetettu peräkkäin valitsemaan yksi neljästä osoitteesta. Lohkon 14-92 vaihtoi imitin on rakennettu samantyyppisistä piireistä. Lohkojen 14-68 ja 14-72 salvat on rakennettu 74AS843 D-tvvppisistä salpaoiireistä. Lohkon 14-70 vaihtolimitin- ja rekisteripiirit on rakennettu yhdestä ainoasta ajastetusta ohjelmoitavasta ryhmälogiikkaelemen-tistä, kuten esimerkiksi Advanced Micro Devices, Inc.'n valmistama osa numero AMPA16R6A.
Hakemistomuistit 14-74 ja 14-76 on rakennettu 8-bitin viioale-välimuistiosoitteen vertailupiireistä, joilla on osanumero TMS2150JL, ja jotka on valmistanut Texas Instruments Incoroora-ted. Osoite- ja tietorekisterit 14-80 - 14-84 sekä 14-94 ja 14-96 on rakennettu 9-bitin limitinkiikuista, joilla on osanumero SN74AS823, ja jotka on valmistanut Texas Instruments Inc. Puskurimuistit on rakennettu 4K x 4-bitin muistioiireistä, joilla on osanumero IMS1420, ja jotka on valmistanut INMOS Coroora-tion. Lohkon 14-64 osoiteinkrementointioiirit on rakennettu standardeista ALU-piireistä osanumeroltaan 74AS131A ja ohjelmoitavasta ryhmäloqiikka elementistä, jonka osanumero on AmOAL16LSA, ja jonka on valmistanut Advanced Micro Devices, Inc.
I.
7 91814
Lohkojen 14-66 ja 14-86 komentorekistereiden ja dekoodausoiirien ensimmäiset ja toiset tasot, tässä järjestyksessä, käyttävät ajastettuja ohjelmoitavia loogisia ryhmäelementteja, joilla on osanumerot AmPAL16R4A ja AmPAL16R6A, ja jotka on valmistanut Advanced Micro Devices, Inc. Nämä niirit muodostavat tarvitut valinta-, luku- ja kirjoitusohjaussipnaalit, kuten kuvassa 2 on esitetty (eli signaalit SY/APLT+OO, SY/APRT+OO , POLDDT-OL, P1LDDT-0L, POLDDFOR, P1LDDT-0R). Lisäyksitviskohtien suhteen voidaan viitata Liitteen yhtälöihin.
Kuten kuvasta 2 nähdään, on välimuistialijärjestelmä 14-6 järjestetty parilliseen ja parittomaan osaan, jotka sallivat kahden tietosanan haun samanaikaisesti vastineena joko parittomalle tai parilliselle muistiosoitteelle. Lisätietojen saamiseksi tämän tyyppisestä välimuistin osoitusjärjestelystä viitataan U.S. patenttiin no. 4,378,591, joka on myönnetty samalle henkilölle kuin tässä mainittu.
Kuvassa 2 on myös lohkomuodossa FIFO-alijärjestelmä 14-10, joka sisältää sen lohkon 14-11 FIFO-ohjaus- ja ajastuspiirit, joka kytkeytyy korvausosoiterekisteriin 14-12 ja järjestelmäväylään 12. FIFO-alijärjestelmä 14-10 vastaanottaa kaiken sen tiedon, jota siirretään järjestelmäväylällä 12 minkä tahansa kahden alijärjestelmän välillä. Jos tieto on päämuistin päivitystä varten, koodataan tieto tällaisen päivitys- tai korvausooeraation osoit-: tamiseksi. FIFO-alijärjestelmä 14-10 vastaanottaa myös kaiken , sen uuden tiedon, joka on seurauksena muistipyynnöstä, joka on siirretty järjestelmäväylään 12 välimuistiosajärjestelmästä 14-6. Sekä päivitys- että uusi tieto talletetaan pyynnöiksi puskurimuistiin, joka sisältyy alijärjestelmään 14-10. FIFO-ohjaus-piirit dekoodaavat jokaisen pyynnön ja aloittavat sopivat toimintajaksot, joiden seurauksena osoite, tieto ja komennot syötetään välimuistialijärjestelmän 14-6 eri osille, kuten kuvasta 2 nähdään. Tämän keksinnön tarkoituksia varten voidaan FIFO-ali-järjestelmää pitää rakenteeltaan konventionaalisena, ja sen voidaan olettaa olevan muodoltaan niiden FIFO-piirien kaltainen, jotka on esitetty U.S. patentissa no. 4,195,340, joka on annettu « 91814 tässä nimetylle tekijälle.
Perusajastus kuvan 2 jokaista alijärjestelmää varten saadaan aikaan lohkon 14-60 ajastus- ja ohjauspiireillä. Tämän keksinnön mukaisesti tällainen ohjaus sallii vhteentörmäyksettömän väli-muistialijärjestelmän 14-6 jakamisen CPU-alijärjestelmillä 14-2 ja 14-4 sekä FIFO-alijärjestelmällä 14-10. Lohkon 14-60 piirit on esitetty yksityiskohtaisemmin kuvissa 3a - 3c. Kuvassa 3a on sen lohkon 14-600 osoitteenvalinnan loogiset piirit, joka muodostaa ohjauspignaalit PT0SEL+00, PT1SEL+00, SLFIAD+00 ja SLRPAD+00. Nämä signaalit muodostetaan vastineena CPU:n väli-muistipyyntösignaaleille P0RD02+10 ja P1RD02+10 CPU-alijärjestelmiltä 14-2 ja 14-4, CPU-portti-varattusignaaleille PT0BSY-00, ja BT1BSY-00 liitäntäalueelta 14-1, FIFO-signaaleille FIUPDT+00 ja FISHBA+00 FIFO-alijärjestelmältä 14-10 ja osoitteenajoitus-signaaleille TM1AS2+00 ja TM3AD4+00 lohkon 14-640 ajastuspiireil-tä. Nämä signaalit saavat osoitteenvalitsimen 14-62 valitsemaan yhden alijärjestelmistä 14-2, 14-4 ja 14-10 pyyntöosoitelähteek-si.
Kuten kuvasta 3a nähdään sisältävät piirit JA-veräjät 14-602 -14-608 ja TAI-veräjan 14-610. Lisäksi kuvassa esitetään RDR-re-kistereiden 14,25 ja 14-45 bittipaikka 2 sekä osa FIFO-lohkoa 14-11 sisältäen JA-veräjän 14-112, joka muodostaa signaalit FIUPDT+00 ja FISHBA+00.
Kuvassa 3b on lohkon 14-620 liukuhihna-ajastuspiirit. Nämä piirit määrittelevät eri tyyppiset välimuistijaksot, jotka voivat aloittaa liukuhihnan, mistä on seurauksena signaalin STPIPE+00 muodostaminen. Signaali STPIPE+00 ehdollistaa ajastetun rekisterin 14-632, joka muodostaa edeltämäärätyn sekvenssin signaaleja vastineena jokaiselle pyynnölle.
Yksityiskohtaisemmin muodostaa jokainen EI-JA-veräjä 14-622 -14-628 signaalin, joka ilmaisee yhden kuvan 2 alijärjestelmän pyytämää aktiivisuustyyppiä. Signaalit POCARD-OO ja P1CARD-00, tässä järjestyksessä, ilmaisevat välimuistin palvelupyyntöä li 91814 CPUO-alijärjestelmältä 14-2 ja CPUl-alijärjestelmältä 14-4, kun taas signaalit FISHBA-10 ja FIUPDT-10 ilmaisevat välimuistin palvelupyyntöä FIFO-alijärjestelmältä 14-10. Nämä pyynnöt voidaan esittää pääkohdittain seuraavasti: 1. CPUO-lukujakso: CPUO:n luku tapahtuu vastineena välimuistipyynnölle, jonka on initialisoinut ROS 14-24 (eli signaali P0RD02+10=1) ensimmäisen aikavälin/intervallin aikana (eli signaali TIME01+00=1), kun CPU-veräjä 0 liitännässä 14-1 ei ole varattu (eli signaali PT0BSY-10=1). CPUO-alijärjestelmän 14-2 syöttämä osoite toimitetaan ensimmäiseen liukuhihna-asteeseen ja hakemisto luetaan.
Jos havaitaan osuma, joka ilmaisee, että pyydetty tieto on talletettu tietopuskuriin, luetaan puskuri ja tieto ajastetaan CPUOrn tietorekisteriin. Jos havaitaan ohitus, asetetaan CPUO-portti varatuksi ja viedään pyyntö eteenpäin muistiin pyydetyn tiedon hakemiseksi.
2. CPUl-lukujakso: CPUltn luku tapahtuu vastineena välimuistipyynnölle, jonka on initialisoinut ROS 14-44 (eli signaali P1RD02+10=1) kolmannen aikavälin/intervallin aikana (eli signaali TIME03+00=1), kun CPU-veräjä 1 liitännässä 14-1 ei ole varattu (eli signaali PT1BSY-10=1).
: 3. Toinen puoliväyläjakso
Toinen puoliväyläjakso tapahtuu vastineena ensimmäisen tyyppiselle välimuistipyynnölle, jonka on initialisoinut FIFO-alijärjestelmä 14-10, sellaista tietoa varten, jota on pyytänyt joko päämuis-ti tai I/O-laite, ja joka on palautettu järjestelmäväylää 12 pitkin (eli signaali FISHBA=1) ensimmäisen tai kolmannen aikavälin/ intervallin aikana (eli signaali TM10R3+00=1), kun FIFO-alijär-jestelmällä 14-10 on pyyntö talletettuna (eli signaali FIHAVE+10= 1). Kun FIFO-alijärjestelmä 14-10 toimittaa tietoa I/O-laitteel-ta ensimmäiselle 1iukuhihna-asteelle, se menee tämän läpi muuttamatta minkään muistien tiloja ja ajastetaan sopivaan CPU-tieto-... rekisteriin. Tieto päämuistista kirjoitetaan välimuistin tieto- a 10 91814 puskureihin ja se ajastetaan sopiviin CPU-tietorekistereihin.
4. Muistiinkir joituksen päivitys jakso :
Muistiinkirjoituksen päivitysjakso tapahtuu vastineena toisentyyppiselle välimuistipyynnölle, jonka on initialisoinut FIFO-alijärjestelmä 14-10 sen tiedon korvaamiseksi tai päivittämiseksi, joka on vastaanotettu järjestelmäväylältä 12 (eli signaali FIUPD?+00=1) tällaisen tiedon kuittauksena (eli signaali F1ACKR+00=1) ensimmäisen tai kolmannen aikavälin/intervallin aikana (eli signaali TII10R3+00 = 1) , kun FIFO-alijär jestelmällä 14-10 on pyyntö talletettuna (eli signaali FIHAVE+10=1). FIFO-ali järjestelmä 14-10 toimittaa tiedon ensimmäiseen liukuhihna-asteeseen, mistä on seurauksena hakemistomuistin lukeminen. Jos havaitaan osuma, korvaava tieto kirjoitetaan puskurimuistiin.
Mikäli mikä tahansa signaaleista P0CARD-00 - F1UPDT-10 pakotetaan matalaksi binääriseksi nollaksi, EI-TAI-veräjä 14-630 (joka on ekvivalentti EI-JA-veräjän kanssa) pakottaa aloita-liuku-hihnasignaalin STPIPE+00 ylös arvoon binäärinen ykkönen. Tämä saa rekisterin 14-632 aloittamaan laskemisen vastineena jokaiselle kellosignaalille MCL0CK+00. Rekisteri 14-632 on kytketty kuten rengaslaskuri siten, että rekisterin ulostulot syötetään takaisin seuraaviin rekisterisisääntuloasteisiin suoraan tai sen jälkeen, kun ne on invertoitu invertteripiirillä 14-634, kuten on esitetty. Rekisteri 14-632 jatkaa laskemista syöttämällä ensimmäiseen asteeseen ladatun pulssin vastineena jokaiselle kellosignaalille MCL0CK+00. Tästä muodostuu pulssien sekvenssi, joka vastaa signaaleita PIPEOA+OA - PIPEOB-OB. Kellooulssit MCL0CK+00 muodostetaan kideoskillaattoriajastuspiireillä, ei kuvassa, jotka sisältyvät lohkoon 14-60. Kellosignaalit MCL0CK+00 syötetään myös sisääntuloina CPU-kellopiireille lohkoihin 14-22 ja 14-42.
Kuvassa 3c ovat päälaskuri- ja synkronoinninohjauspiirit lohkossa 14-640 ja lohkon 14-660 FIFO-jakson valintalogiikkaoiirit.
Lohkon 14-640 Piirit muodostavat vastineena kellosignaalille • MCL0CK+00 tarvittavan ajastussignaalien TIME01+00 - TM10R3+00 t! il 91814 sekvenssin, joka määrittelee eri aikavälit/intervallit, joiden aikana välimuistialijärjestelmä 14-6 suorittaa halutut oneraa-tiot alijärjestelmän välimuistipvyntöjen käsittelemiseksi.
Päälaskuri sisältää rekisterin 14-650 ja siihen liittyvät JA-FI-veräjät ja TAI-veräjät 14-642 ja 14-644 - 14-646, tässä järjestyksessä, kytkettynä esitetyllä tavalla. Järjestely toimii ren-gaslaskurina, jota jatkuvasti inkrementoidaan tai lisätään jokaisella kellosignaalilla MCL0CK+00. Päälaskuri syöttää ajastus-signaalit TIME01+00 ja TIME03+00 lohkon 14-652 synkronoinnin-ohjauspiireille. Nämä piirit muodostavat signaalin P0MSYN+00 ja signaalin P1MSYN+00, jotka syötetään CPUOrlle ja lohkojen 14-22 ja 14-24 1,kellopiireille, tässä järjestyksessä. Jokainen tällainen signaali synkronoi CPU-kelloniirien toiminnan välimuisti-alijärjestelmän ajoitus- ja ohjauspiirien kanssa. Tarkemmin sanottuna synkronointisignaali P0MSYM+00 syötetään sellaisen ren-gaslaskurirekisterin aika 02 kiikkuasteen sisääntuloon, joka sisältyy lohkoon 14-22, kun taas synkronointisignaali P1MSYN+00 syötetään sellaisen rengaslaskurirekisterin aika 02 kiikkuasteen sisääntuloon, joka sisältyy lohkoon 14-44. Ollessaan läsnä sallii kumpikin tälläinen signaali CPU-ajastuspiirien etenemisen sopivilla aikaväleillä. Signaalit POMSYNC+OO ja P1MSYIIC+00 muodostetaan siten, että ne pysyvät erotettuna toisistaan kahdella ai-kavälillä/intervallilla (kts. Liite).
Lohkon 14-660 FIFO-jakson valintalogiikkapiirit sisältävät parin EI-TAI-veräjiä 14-562 ja 14-664, parin JA-veräjiä 14-666 ja 14-668, EI-TAI-veräjän 14-670, EI-JA-veräjän (NAND) 14-672 ja ajastetun D-tyyooisen rekisterikiikkuasteen 16-674 kytkettynä sarjaan esitetyllä tavalla. Nämä piirit muodostavat FIFO-jakso-signaalin CYFIF0+00 ja FIFO-signaalin D0AFIF+00 aikavälien/in-tervallien TIME02 ja ΤΪΜΕ04 aikana, jotka synkronoivat FIFO-ali-järjestelmän 14-10 toiminnan välimuistialijärjestelmän 14-5 kanssa, kuten tässä on selitetty.
Viitaten kuviin 1 - 3c selitetään nyt keksinnön edullisen toteu-tuksen toiminta ajastuskaavion, joka on kuvassa 4, avulla. Olete- 12 91814 taan, että kuvien 3b ja 3c lohkojen 14-620 .ja 14-540 renraslas-kurioiirit jaksottelevat tai toimivat (eli laskevat vastineena kellosignaaleille MCL0CK+00) .ja että molemmat ROS-muistit 14-24 ja 14-44 on initialisoitu edeltämäärättyihin tiloihin. Kuten aikaisemmin mainittiin, ovat kunkin ROS-muistin ROS-sanat koodattu sopivasti siten, että ne muodostavat vaihtelevien ykkösten ja nollien kuvioita, jotka määrittävät CPU-alijärjestelmille 14-2 ja 14-4 allokoidut jaksot. Tämä koodaus on esitetty kuvassa 2, jossa jokaisen ROS-sanan bittipaikka 2 on sopivasti koodattu.
Signaalin TIME01+00 nousevalla reunalla ajastetaan ROS-sana CPUO:n ROS-tietorekisteriin 14-25. ROS-sanan komentokenttä tutkitaan (eli bitit 0 ja 1). Kun bitit 0 ja 1 ovat "10", määrittelee tämä, että välimuistialijärjestelmän 14-5 on suoritettava järjestelmäväyläpyyntö, jolloin tietoa kirjoitetaan tai luetaan laitteelta, joka on kytketty järjestelmäväylään 12. Olettaen, että välimuistipyyntö määrittää päämuistin lukuooeraation, lukee välimuistialijärjestelmä 14-6 välimuistin. Samalla hetkellä tutkitaan ROS-tietobitti 2 sen määräämiseksi, tuleeko CPUO käyttämään seuraavaa nousevaa välimuistiliukuhihnajaksoa, joka vastaa aikavälejä T2 ja T3, vai ei. Jos bitti 2 on nolla, ilmaisee tämä, että CPUO-alijärjestelmä 14-2 ei tule käyttämään seuraavaa välimuisti jaksoa. Jos kuitenkin bitti 2 on ykkönen, ilmaisee tämä, että CPU-ali jär jestelmä 14-2 tulee käyttämään seuraavaa välinnjis-tijaksoa.
Oletetaan, että veräjäpiirit CPUO-alijärjestelmälle 14-2 eivät ole varattuja toisen järjestelmäväyläpyynnön käsittelyyn (eli signaali PTOBSY-10=1). Kuten kuvasta 3b nähdään, oakottaa EI-JA-veräjä 14-622 signaalin P0CARD-00 nollaksi, minkä takia EI-TAI-veräjä 14-630 Dakottaa liukuhihnan aloitussiynaalin STPIPE+00 binääriseksi ykköseksi. Kuten kuvasta 4 nähdään, on tämä signaali kelvollinen signaalin TIHE01+00 takareunalla. Tämä tarkoittaa, että liukuhihnan aloitussignaali STPIPE+00, kuten on merkitty viivoitetulla alueella, on kelpo aina etureunaan saakka signaalia, jota on merkitty CPUO-jaksolla kuvassa 4.
Il 13 91814
Havaitaan myös, että sinä aikana, kun signaali STPIPE+OO muodostetaan, aiheuttavat signaali PGRD02+10, joka vastaa ROS-tietosa-nan bittiä 2, ja ajoitussignaali TI11AD2+00 ja veräjavarattusifinaali PT0BSY-00 sen, että JA-veräjä 14-602 kuvasta. 3a pakottaa osoitteenvalintasi,^naalin PTOSEL+OO ykköseksi. Tänä ehdollistaa tai aiheuttaa sen, että osoitevalitsin 14-62 valitsee osoitteeksi, joka syötetään parittomille ja parillisille salvoille 14-68 ja 14-72, 33-bitin soitteen CPUO:n VMMU:lta 19-25.
Liukuhihnan aio i tus s i gnaali STPIPE+OO syötetään kuvan 3b rengas-laskurille 14-623 ja ajastetaan ensimmäiseen bittipaikkaan toisen kellosignaalin MCL0CK+00 nousevalla reunalla. Kuten kuvasta 4 nähdään, on tästä sexirauksena signaalin PIPEOA+OA muodostaminen.
Liukuhihnan aloitussignaalin STPIPE+OO ensimmäinen esiintyminen määrittää CPUO-jakson. Signaali PIPEOA+OA syötetään kellosisään-tulona osoitteen parittomille ja parillisille salvoille 14-68 ja 14-72. Sama signaali syötetään lohkon 14-66 ensimmäisille taso-rekisteri- ja dekoodauspiireille sekä vaihtolimitintietorekiste-rille 14-70. Signaalin PIPEOA+OA nousevalla sivulla salvat 14-68 ja 14-72 sallitaan ja signaalin takareunalla salvat ehdollistetaan tallettamaan CPUO:n VMMU:n 14-26 muodostama välimuistin pyyntöosoite. Tämä tarkoittaa, että parilliset osoitesalvat 14-72 tallettavat parillisen osoitteen, jota on aikaisemmin inkremen-toitu yhdellä inkrementtipiirillä 1 4-64, jos alkuperäinen osoite oli pariton. Inkrementoimaton pariton osoitearvo talletetaan parittomiin osoitesalpoihin 14-68.
Salpojen 14-68 ja 14-72 parittomat ja parilliset osoitesisällöt syötetään parittomiin ja parillisiin hakemistomuisteihin 14-74 ja 14-76. Olettaen, että pyydetty tieto sijaitsee välimuistissa, hakemistomuistit 14-74 ja 14-76 lukevat taso- ja saraketiedon, mikä ilmaisee paikat vastaavissa puskurimuisteissa 14-88 ja 14-90, joissa pyydettu tieto sijaitsee. Lohkon 14-66 dekoodaus-piirit muodostavat sopivat hakemiston lukusignaalit, jotka kel-. lotetaan ohjelmoitavaan ryhmälogiikkaulostulorekisteriin vasti- 14 91814 neena signaalille P1PE0A+0A. Tämän jälkeen ensimmäisen liukuhihna-asteen suorittamat operaatiot on tehty.
Kuten kuvasta 4 nähdään, ladataan hakemistotaso ja saraketieto toisen liukuhihna-asteen parittomaan ja parilliseen osoiterekisteriin 14-80 ja 14-84 signaalin PIPEOB+OA nousevalla reunalla. Tämän signaalin muodostaa rengaslaskuri 14-632 vastineena kolmannelle kellosignaalille MCL0CK+00. Signaalia ΡΙΡΕ0Α+0Β, joka muodostetaan vastineena toiselle kellosignaalille MC0CK+00, ei käytetä.
Samanaikaisesti, kun parilliset ja parittomat osoiterekisterit 14-80 ja 14-84 kellotetaan signaalilla PIPEOB+OA, dekoodaavat lohkon 14-86 toiset tasokomentorekisteri- ja dekoodauspiirit komentosanan, jolloin seurauksena on oikea ja vasen vaihtosig-naali SV7APLT+00 ja SWAPRT+00, jotka syötetään vaihtoiimittimeen 14-92. Vaihtosignaalit, sekä lohkon 14-86 piireillä muodostetut muut signaalit, ajastetaan ohjelmoitavaan ryhmälogiikkaulostulo-rekisteriin vastineena signaalille PIPEOB+OA.
Parittomat ja parilliset tietosanat, jotka on luettu parittomista ja parillisista puskurimuisteista 14-88 ja 14-90, siirretään vaihtoiimittimen 14-92 kautta, kuten signaaleilla SV/APLT+00 ja SWAPRT+00 on määritetty. Lohkon 14-86 piirit muodostavat myös vasenpuolisänä- ja oikeapuolisanasignaalit POLDDT-OL ja POLDDT-OR, jotka sallivat yksinkertaisen tai kaksinkertaisen tietosanan kellottamisen CPU0:n tietorekisteriin 14-94 vastineena kellosignaalille PIPEOB-OB. Tietosanat siirretään sitten mik-to-ohjelman ohjauksen alaisina CPU-alijärjestelmälle 14-2,
Kuten kuvasta 3b nähdään, on signaali PIPEOB-OB kuvan 4 signaalin PIPEOB+OB komplementti, jonka muodostaa rengaslaskuri 14-632 vastineena neljännelle kellosignaalille MCL0CK+00. Tämä saattaa päätökseen toisen liukuhihna-asteen operaatiot.
Kuten kuvasta 4 nähdään, suorittavat ensimmäinen ja toinen liukuhihna-aste samanlaisen operaatioden sekvenssin käsitellessään l! 15 91814 välimuistin päämuistipyyntöä CPUl-alijärjestelmältä 14-4. Tämä tarkoittaa, että toinen liukuhihnan aloitussi^naali 3TPIPF+00 muodostetaan ajanhetkellä T3 EI-.JA-veräj ällä 14-S24 pakottaen signaalin P1CARD-00 binääriseksi nollaksi. Ajastusintervallin T4 aikana, kun puskurimuistiosoitteita CPUO:n välinuistipyyntöä varten ladataan rekistereihin 14-00 ja 14-84, salvataan väli-muistipyynnön parittomia ja parillisia osoitteita CPUl-alijär-jestelmältä 14-4 parittomiin ja parillisiin osoitesalpoihin 14-68 ja 14-72.
Seuraavaksi, toisen välimuistiosuman tapauksessa, lukevat hake-mistomuistit 14-74 ja 14-76 ulos tason ja saraketiedon, joka ilmaisee ne paikat parittomassa ja parillisessa välimuistiouskuri-muisteissa 14-88 ja 14-90, joissa pyydetty tieto sijaitsee. Vastineena signaalille ΡΙΡΕ0Β+0Α tämä tieto ladataan parittomaan ja parilliseen osoiterekisteriin 14-80 ja 14-84. Samanaikaisesti muodostavat lohkon 14-86 piirit komennon dekoodauksella vasemman ja oikean vaihtosignaalin SWAPLT+00 ja SV/APRT+OO, sekä signaalit P1LDDT-0L ja P1LDDT-0R.
Seurauksena on, että tietosanat, jotka on luettu parittomasta ja parillisesta puskurimuistista 14-80 ja 14-84 ja siirretty vaihto-limittimen 14-92 kautta, ajastetaan CPUl-tietorekisteriin 14-96. Tämä saattaa päätökseen toisen välimuistipyynnön käsittelyn.
y Seuraavaksi oletetaan, että FIFO-alijärjestelmä 14-10 pyytää palvelua seurauksena kolmannen 1iukuhihnanaloituspyynnön STPIPE+00 muodostaminen. Tämäfi jakso, voi olla seurauksena kummasta tahansa edelläkuvatusta pvyntötyypistä.
Keksinnön mukaisesti FIFO-alijärjestelmää 14-10 palvellaan aina, kun on käytettävissä vapaa liukuhihna-aste. Vapaa liukuhihna-aste esiintyy silloin ajan Tl aikana, kun CPU0:n ROS-tietobitti 2 on nolla, tai ajan T3 aikana, kun CPUl:n ROS-tietobitti 2 on nolla. Tämä sallii FIFO-alijärjestelmän 14-10 palvelemisen näinä ajanhetkinä. Siten FIFO-jaksot sattuvat aikoina 2 ja 4, kun ,, vastaavat CPU-alijärjestelmät eivät pyydä välimuistijaksoja.
* " 91814
Kuvassa 4 on oletettu, että CPUO-alijärjestelmä 14-2 ja CPUl-ali-järjestelmä 14-4 eivät käytä seuraavia aikavälejä/jaksoja Tl ja T3. Kun FIFO-alijärjestelmä 14-10 muodostaa välimuistin kirjoi-tusnäivityspyynnön, on vaiimuistiosoitteen lähde komennon FIFO-osoiteosa, jonka ovat toimittaneet piirit 14-11. Tämä tarkoittaa sitä, että osoitevalitsin 14-62 on ehdollistettu tai konfiguroi-tu siirtämään tämä osoite narittomiin ja parillisiin salnoihin 14-68 ja 14-72.
Signaali PIPEOA+OA ajastaa tiedon salnoihin, kun samanaikaisesti tieto FIFO-alijärjestelmapiireiltä 14-11 ajastetaan lohkon 14-70 vaihtorekisteriin. Lohkon 14-70 ohjelmoitavat logiikkaryhmäpii-rit on ehdollistettu signaaleilla FIFO-alijärjestelmältä 14-10 (eli osoitebitti 22) kohdistamaan oikein vasemmanpuoleiset ja oikeanpuoleiset tietosanapuoliskot, jotka sitten ajastetaan vaihtorekisteriin signaalin PIPEOA+OA nousevalla sivulla.
Kuten kuvasta 4 nähdään, osuman tapauksessa signaali PIPEOB+OA lataa taso- ja saraketiedon parittomiin ja parillisiin osoitere-kistereihin 14-80 ja 14-84, ilmaisten paikat parittomassa ja parillisessa välimuistipuskurissa 14-88 ja 14-90, missä päivitettävä tieto sijaitsee. Samanaikaisesti pä.ivitvstieto ajastetaan tietorekisteriin 14-82. Sen jälkeen päivitystieto kirjoitetaan parittomaan ja parilliseen puskurimuistiin 14-88 ja 14-90 niiden kirjoitussignaalien ohjauksen alaisuudessa, jotka lohkon 14-85 dekoodauspiirit ovat muodostaneet. Kuten kuvasta 3c nähdään, pakottavat lohkon 14-660 piirit signaalin DOAFIFIOO binääriseksi ykköseksi, kun signaali P0RDO2+10 on nolla ajan Tl aikana (eli signaali TIME01+00=1). Kuten kuvasta 4 nähdään pakottaa signaali DOAFIF+OO signaalin CYFIF0+00 binääriseksi ykköseksi vastineena kellosignaalille IICLOCK+OO. Signaali CYEIFQ-00 syötetään lohkon 14-11 FIFO-piireille ja sen seurauksena inkrementoidaan sisäistä FIFO-laskuria, joka saattaa päätökseen FIFO-alijärjestelmään 14-10 talletetun pyynnön suorituksen. Tämä saattaa myös päätökseen välimuistialijärjestelmän 14-6 FIFO-oyynnön käsittelyn.
. Oletetaan, että seuraavan FIFO-jakson aikana FIFO-alijärjestelmä li 17 91814 14-10 toimittaa välimuistin korvansnyynnön, ,ioka saa kuvan 3b EI-JA-veräjän 14-620 pakottamaan signaalin FIUPDT-10 nollaksi.
Tämän seurauksena muodostetaan neljäs liukuhihnan aloitussignaali STPIPE+00. Tässä tapauksessa on RAR-rekisteri 14-12 ladattu, kun pyyntö vietiin alussa järjestelmäväylalle 12 vastineena CPU-välimuistiovynnölle. Vastaavasti välimuistialijärjestelmä 14-5 suorittaa samanlaisen operaatioiden sekvenssin.
Havaitaan, että FIFO-,jaksot initialisoidaan signaalilla D0AFIF+00 ajanhetkillä Tl ja T3, vastaavasti, kun signaali P0RD02+00 tai PT0BSY-10 on nolla ja signaali P1RD02+10 tai PT1BSY-10 on nolla.
Tämä aiheuttaa FIFO-jaksojen tapahtumisen ajanhetkillä T2 ja T4. Kummassakin taoauksessa, kun molemmat siqnaalit (eli P0RD02+10, PT0BSY-10 ja P1RD02+10, PT1BSY-10) ovat ykkösiä, tämä estää sekä signaalin SLFIF0+0A että signaalin SLFIFO+OB muodostamisen, mikä puolestaan estää FIFO-jakson tapahtumisen. Siten FIFO-jak-sot syrjäytetään, kun aikavälin/jakson allokoima CPU-alijärjes-telmä käyttää jaksoa.
Pahimmanlaatuisissa olosuhteissa voi korkeintaan kaksi pyyntöä juuttua FIFO-alijärjestelmään 14-10. Siten voi olla korkeintaan kaksi FIFO-jaksoa, jotka sattuvat käänteis-rinnakkaisesti, kun FIFO-alijärjestelmä 14-10 on täynnä, kuten kuvassa 4 on esitetty ja edellä selitetty. Tämän keksinnön järjestely varmistaa, että aina on käytettävissä riittävästi liukuhihna-asteitä FIFO-ali-: järjestelmän 14-6 palvelemiseksi sillä maksiminopeudella, jolla se vastaanottaa pyyntöjä järjestelmäväylältä 12. Tämä on saavutettu sallimalla kunkin CPU-alijärjestelmän käyttää välimuisti-jaksoa joka toisessa mikrokäskyn sana/kiinteäohjelmistolaatikos-sa. CPU-ali jär jestelmälle 14-2 voi joka toinen mikrokäskysana, joka on luettu jokaisena ajanhetkenä Tl, määritellä välimuisti-pyynnön. Sama pätee CPU-alijärjestelmälle 14-4 mikrokäskysanal-le, joka on luettu joka ajanhetkenä T3. Tällä tavalla välimuistiali jär jestelmä 14-6 voi käsitellä välimuistipyyntöjä lukuisista lähteistä ilman yhteentörmäyksiä.
Havaitaan, että kun välimuistialijärjestelmä 14-6 häväisee ohitse- χβ 91814 tilanteen vastineena CPU:n välimuistipyynnölle, on seurauksena, että liitäntäalueoiirit 14-1 pakottavat veräjäpiirit varattuun tilaan (eli signaali PT0BSY-10 tai BT13SY-10 pakotetaan nollaksi), Tämä nuolestaan viedään takaisin CPU-ali.jär jestelnälle, joilloin se hidastaa toimintaansa. Koska tämä operaatio ei ole olennainen tämän keksinnön ymmärtämisen kannalta, ei sitä käsitellä enempää.
Ylläolevasta voidaan nähdä, kuinka tämä keksintö sallii nopean välimuistipyyntöjen käsittelyn lukuisista lähteistä. Se sallii välimuistialijärjestelmän ajan jakamisen moniprosessorijärjestelmän eri osajärjestelmien kesken yhteentörmäyksettömällä pohjalla. Tämä sallii jatketun välimuistipyyntöjen käsittelyn toisilta lähteiltä, kun yhden lähteen pyytämä tieto ei sijaitse välimuistissa.
Liite:
Kuvan 2 signaalien muodostamiseksi tarvittavat Boolen algebran yhtälöt saadaan seuraavilla kaavoilla: 1. * PO LDDT-OL-CPUCYL·CPUNUM·DBWDRD·EVNHIT·ODDHIT l ---- ,/
CPU READ CYCLE
+CPUCYL·CPUNUM·DBWDRD·CMAD22·CMAD23·EVNHIT
V-w-'
CPU READ CYCLE
+CPUCYL·CPUNUM·DBWDRD·CMAD22·CMAD23·ODDHIT
'-V-»
CPU READ CYCLE
+PPUCYL·FIAD17·FISHBA·RPMREFt iTo^SHBC
+CPUCYL-FIAD17·FISHBA·RPMREF.
-v
MEM SHBC
• · li 19 91814 2 . 1 PO LDDT-OR=^PUCYL ♦ CPUNUM · DBWDRD · EVNHIT · ODDHI Ti
CPU^READ
+CPUCYL·CPUNUM·DBWDRD·CMAD 2 2·EVNHIT
v- - · —v--— —'
CPUREAD
+CPUCYL·CPUNUM·DBWDRD·CMAD22·ODDHIT
^-- - _____ ^
CPU READ
+CPUCYL·FIAD17·FISHBA·RPMREF
----v , . ;
I/O SHBC
+CPUCYL •'FIADn · FISHBA · RPMREF.
3. 1PlLDDT-OL«same as 1 except CPUNUM«CPUNUM.
4. 1PlLDDT-OR«same as 2 except CPUNUM-CPUNUM.
* Nämä signaalit ajastetaan kellosignaalilla PIPEOB+OA.
5. 1SWAPLT-CPUCYL1CMAD22y CPU"read +CPUCYL·FISHBA·RPMREF·RPAD22.
V-v·-1
MEM SHBC
6. 1SWAPRT«CPUCYL«DBWDRD»CMAD22 '-V-'
CPU READ +CPUCYL·DBWDRD·CMAD22 CPU READ
+CPUCYL·FISHBA1 RPMREF1 (FIDBWD·RPAD22+FIDBWD»RPAD22).
>---»
MEM SHBC
7. CPUCYL«P0RD02-TM1AD2+P1RD02-TM3AD4» PT0SEL+00+PT1SEL+00.
8. CPUNUM=P1RD021TM3AD4»PTlSEL+00.
9. CPUNUMeP0RD021TMlAD2“PT0SEL+00.
10. P0MSYNCH+00 «DATA AVAIL·TIMEO1+P0RD15·TIMEO1 where DATA AVAIL1POLDDT-OL·POLDDT-OR· 11. P1MSYNCH+00 »DATA AVAIL·TIMEO3 +P0RD15·TIMEO3 where DATA AVAIL1P1LDDT-0L·P1LDDT-OR.
• · < Nämä signaalit ajastetaan kellosignaalilla PIPEOB+OA.
20 91814
Yhtälöissä esiintyvät ternit ovat seuraavat: 1. DBV/DRD = kaksois sanan lukukomento, jonka määrittelevät R0S-tietobitti 4 = 1 ja ROS-tietobitti 5=0, lohkon 14-65 dekoo-dauspiirien muodostamana, jota puolestaan ajastetaan signaalilla ΡΙΡΕ0Α+0Α.
2. CPUMUi-l = CPU-numero (CPUO tai CPU1) signaali, jonka muodostaa lohkon 14-66 piirit, jota puolestaan ajastetaan signaalilla PIPEOA+OA.
3. CPUCYL = CPU-jaksosignaali, joka muodostetaan lohkon 14-65 piireillä vastineena signaalille PT0SEL+00 ja PT1SEL+00, ja jota ajastetaan signaalilla PIPEOA+OA.
4. EVUHIT = parillisen hakemistomuistin 14-76 muodostama osuma-signaali, joka syötetään lohkon 14-86 dekoodauspiireille.
5. CMAD22 = välimuistin osoitebitti 22 muodostettuna valitsimen 14-62 ulostulolla.
6. CMAD22 = välimuistin osoitebitti 23 muodostettuna valitsimen 14-62 ulostulolla määrittää, kumpi puolisko (vasen vai oikea) tietorekisteristä 14-94 tai 14-96 ladataan tietosanan kanssa.
7. FIAD17 = FIFO-osoitebitti 17 FIFO-alijärjestelmästä 14-11 määrittää, kumpi CPU vastaanottaa korvaustiedon.
8. FIDBWD = FIF0:n kaksoisleveä sanakomentobitti FIFO-alijärjestelmältä 14-11 määrittää, koska palautettavalla tiedolla on kaksi sanaa.
9. FISHBA = FIFO:n toisen puolen väyläjaksokuittaussignaali alijärjestelmältä 14-11 määrittää, että FIFO-alijärjestelmä pyytää välimuistijaksoa käsittelemään tiedon, joka on vastaanotettu I/O-laitteelta tai muistista toisen puoliväyläjakson SHBC aikana.
10.0DDHIT = parittoman hakemistomuistin 14-74 muodostama osuma-signaali, joka syötetään lohkon 14-86 dekoodauspiireille.
11. RPITREF - RAR:n 14-12 muodostama muistireferenssisignaal i, joka sallii poikkeustilan huomioonottamisen.
12. RPAD22 = korvausosoitebitti 22 RARrilta 14-12.
tl 21 91814
Alan ammattiniehille on selvää, että lukuisia nnutoksia voidaan tehdä tämän keksinnön edulliseen toteutukseen. Esimerkiksi .v--r jestelmän ajastusta voidaan muuttaa siten, että eri aikavälit allokoidaan alijärjestelmille, sekä. ROS-muistien 14-24 ja 14-4' koodausta voidaan muuttaa käyttämään eri jaksoja (esimerkiksi joka kolmatta, neljättä, jne.). Lisäiisi voidaan muuttaa bittien lukumäärää ja välimuistin leveyttä (eli käsitellä yksittäisiä sanoja, kaksoissanoja tai nelinkertaisia sanoja), .nut muutokset ovat yhtä ilmeisiä alan ammattimiehille.
Vaikka edellä on esitetty ja kuvattu keksinnön naras muoto, voidaan tiettyjä muutoksia tehdä ooistumatta keksinnön hengestä, joka on esitetty liitteinä olevissa patenttivaatimuksissa, ja joissakin tapauksissa voidaan keksinnön joitakin piirteitä käyttää hyväksi ilman vastaavaa muiden oiirteiden käyttöä.
« 9 ·

Claims (5)

91814 22
1. Välimuistijärjestelmä tarjoamaan useiden hakuyksiköiden (14-2,4) samanaikaisen pääsyn välimuistiyksikköön (14-74,76,88,90), missä kukin mainituista hakuyksiköistä, tarvitessaan pääsyä mainittuun välimuistiyksikköön, syöttää päämuistipaikan osoitteen esityksen, mainitun järjestelmän ollessa tunnettu: ajastin-ohjaimesta (14-60) synkronoimaan mainittujen hakuyksiköiden pääsyä mainittuun välimuisti-yksikköön siten, että vain yhdelle mainituista hakuyksiköistä kerrallaan sallitaan alkupääsy mainittuun välimuistiyksikköön; ensimmäisestä asteesta (14-68,70,72) vastaanottamaan osoite-esitys ja hakemaan mainitun välimuistiyksikön hakemistosta (14-74,76) vastaavaa osoite-esitystä ja, mikäli hakeminen onnistuu, toimittamaan ulotulosignaalit, mitkä edustavat välimuistissa (14-88,90) pidetyn vastaavan tiedon asemaa; ja, toisesta asteesta (14-80,82,84,92) vastaanottamaan mainitut ulostulosignaalit ja vastauksena niihin hakemaan mainittujen ulotulosignaalien edustamat paikat välimuistissa (14-88,90); missä mainittu ajastin-ohjain samanaikaisesti sallii yhden mainituista hakuyksiköistä pääsevän mainittuun ensimmäiseen asteeseen ja jonkin toisen mainituista hakuyksiköistä pääsevän mainittuun toiseen asteeseen välittömästi seuraten mainitun hakemiston onnistunutta hakua.
2. Patenttivaatimuksen 1 mukainen välimuistijärjestelmä, tunnettu lisäksi siitä, että mainittu ajastin-ohjain synkronoi kunkin hakuyksikön mainittua pääsyä synkronoimalla niiden vastaavia kellopiirejä (14-22, 14-42) sallimaan mainittujen hakuyksiköiden vuorottelevan alkupääsyintervalleja mainittuun välimuistiyksikköön.
3. Patenttivaatimuksen 2 mukainen välimuistijärjestelmä, joka on lisäksi tunnettu: lisähakuyksiköstä (14-10), jolloin ainakin yksi mainituista synkronoiduista hakuyksiköistä li 23 91814 on ohjelmoitu valinnaisesti luopumaan yhdestä sen pääsyinter-vallista sallimaan mainitun lisähakuyksikön alkupääsyn mainittuun välimuistiyksikköön.
4. Patenttivaatimuksen 3 mukainen välimuistijärjestelmä, joka on lisäksi tunnettu siitä, että mainitut synkronoidut hakuyksiköt ovat CPU-alijärjestelmiä, ja mainittu lisä-hakuyksikkö on FIFO-alijärjestelmä esittämään lisäpyyntöjä mainittuun välimuistiyksikköön pääsyä varten.
5. Patenttivaatimuksen 1 mukainen välimuistijärjestelmä, joka on lisäksi tunnettu: osoitteenvalitsimesta (14-62), joka on kytketty kuhunkin mainituista hakuyksiköistä vastaanottamaan mainitut osoite-esitykset/ ja missä mainittu ajastin-ohjain on kytketty mainittuihin hakuyksiköihin ja mainittuun osoitteen valitsimeen aikaansaamaan mainitun osoitteen valitsimen siirtämään mainittuun ensimmäiseen asteeseen osoite-esityksen, jonka on syöttänyt yksi mainituista hakuyksiköistä, jolle mainittu ajastin-ohjain on sallinut pääsyn mainittuun ensimmäiseen asteeseen. 91814 24
FI853730A 1984-09-27 1985-09-27 Moniprosessorin yhteinen liukuhihnavälimuisti FI91814C (fi)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/655,473 US4695943A (en) 1984-09-27 1984-09-27 Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization
US65547384 1984-09-27

Publications (4)

Publication Number Publication Date
FI853730A0 FI853730A0 (fi) 1985-09-27
FI853730L FI853730L (fi) 1986-03-28
FI91814B true FI91814B (fi) 1994-04-29
FI91814C FI91814C (fi) 1994-08-10

Family

ID=24629022

Family Applications (1)

Application Number Title Priority Date Filing Date
FI853730A FI91814C (fi) 1984-09-27 1985-09-27 Moniprosessorin yhteinen liukuhihnavälimuisti

Country Status (19)

Country Link
US (1) US4695943A (fi)
EP (1) EP0176972B1 (fi)
JP (1) JPS61165154A (fi)
KR (1) KR910002929B1 (fi)
AT (1) ATE91353T1 (fi)
AU (1) AU572346B2 (fi)
BR (1) BR8504743A (fi)
CA (1) CA1237198A (fi)
DE (1) DE3587439T2 (fi)
DK (1) DK168548B1 (fi)
ES (1) ES8703652A1 (fi)
FI (1) FI91814C (fi)
IL (1) IL76502A (fi)
MX (1) MX160347A (fi)
MY (1) MY101777A (fi)
NO (1) NO173960C (fi)
PH (1) PH24161A (fi)
PT (1) PT81215B (fi)
YU (1) YU45743B (fi)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4709347A (en) * 1984-12-17 1987-11-24 Honeywell Inc. Method and apparatus for synchronizing the timing subsystems of the physical modules of a local area network
US4941088A (en) * 1985-02-05 1990-07-10 Digital Equipment Corporation Split bus multiprocessing system with data transfer between main memory and caches using interleaving of sub-operations on sub-busses
US4875155A (en) * 1985-06-28 1989-10-17 International Business Machines Corporation Peripheral subsystem having read/write cache with record access
US4980845A (en) * 1985-08-23 1990-12-25 Snap-On Tools Corporation Digital engine analyzer
US4768148A (en) * 1986-06-27 1988-08-30 Honeywell Bull Inc. Read in process memory apparatus
US4785395A (en) * 1986-06-27 1988-11-15 Honeywell Bull Inc. Multiprocessor coherent cache system including two level shared cache with separately allocated processor storage locations and inter-level duplicate entry replacement
JP2561261B2 (ja) * 1987-02-18 1996-12-04 株式会社日立製作所 バッファ記憶アクセス方法
US5276853A (en) * 1987-05-18 1994-01-04 Fujitsu Limited Cache system
US4833601A (en) * 1987-05-28 1989-05-23 Bull Hn Information Systems Inc. Cache resiliency in processing a variety of address faults
US4926323A (en) * 1988-03-03 1990-05-15 Advanced Micro Devices, Inc. Streamlined instruction processor
US5148536A (en) * 1988-07-25 1992-09-15 Digital Equipment Corporation Pipeline having an integral cache which processes cache misses and loads data in parallel
US5029070A (en) * 1988-08-25 1991-07-02 Edge Computer Corporation Coherent cache structures and methods
US4928225A (en) * 1988-08-25 1990-05-22 Edgcore Technology, Inc. Coherent cache structures and methods
US5027270A (en) * 1988-10-11 1991-06-25 Mips Computer Systems, Inc. Processor controlled interface with instruction streaming
US5226146A (en) * 1988-10-28 1993-07-06 Hewlett-Packard Company Duplicate tag store purge queue
US5163142A (en) * 1988-10-28 1992-11-10 Hewlett-Packard Company Efficient cache write technique through deferred tag modification
DE3850881T2 (de) * 1988-10-28 1995-03-09 Ibm Verfahren und Vorrichtung zur Nachrichtenübertragung zwischen Quellen- und Zielanwender durch einen anteilig genutzten Speicher.
US5081609A (en) * 1989-01-10 1992-01-14 Bull Hn Information Systems Inc. Multiprocessor controller having time shared control store
US5222223A (en) * 1989-02-03 1993-06-22 Digital Equipment Corporation Method and apparatus for ordering and queueing multiple memory requests
JPH0719222B2 (ja) * 1989-03-30 1995-03-06 日本電気株式会社 ストアバッフア
GB2234613B (en) * 1989-08-03 1993-07-07 Sun Microsystems Inc Method and apparatus for switching context of state elements in a microprocessor
US5574912A (en) * 1990-05-04 1996-11-12 Digital Equipment Corporation Lattice scheduler method for reducing the impact of covert-channel countermeasures
US5249284A (en) * 1990-06-04 1993-09-28 Ncr Corporation Method and system for maintaining data coherency between main and cache memories
JP2677706B2 (ja) * 1990-10-19 1997-11-17 富士通株式会社 メモリアクセス制御回路
US5537574A (en) * 1990-12-14 1996-07-16 International Business Machines Corporation Sysplex shared data coherency method
US5287473A (en) * 1990-12-14 1994-02-15 International Business Machines Corporation Non-blocking serialization for removing data from a shared cache
US5249283A (en) * 1990-12-24 1993-09-28 Ncr Corporation Cache coherency method and apparatus for a multiple path interconnection network
US5428810A (en) * 1991-03-15 1995-06-27 Hewlett-Packard Company Allocation of resources of a pipelined processor by clock phase for parallel execution of dependent processes
US5530835A (en) * 1991-09-18 1996-06-25 Ncr Corporation Computer memory data merging technique for computers with write-back caches
US5724549A (en) * 1992-04-06 1998-03-03 Cyrix Corporation Cache coherency without bus master arbitration signals
JPH06318174A (ja) * 1992-04-29 1994-11-15 Sun Microsyst Inc キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US5821940A (en) * 1992-08-03 1998-10-13 Ball Corporation Computer graphics vertex index cache system for polygons
US5430857A (en) * 1993-01-04 1995-07-04 Intel Corporation Method and apparatus for translating logical addresses into physical addresses using odd/even translation tables
US5689680A (en) * 1993-07-15 1997-11-18 Unisys Corp. Cache memory system and method for accessing a coincident cache with a bit-sliced architecture
JPH0756815A (ja) * 1993-07-28 1995-03-03 Internatl Business Mach Corp <Ibm> キャッシュ動作方法及びキャッシュ
US5581734A (en) * 1993-08-02 1996-12-03 International Business Machines Corporation Multiprocessor system with shared cache and data input/output circuitry for transferring data amount greater than system bus capacity
JPH07129456A (ja) * 1993-10-28 1995-05-19 Toshiba Corp コンピュータシステム
EP0676690B1 (en) * 1994-03-09 2003-05-14 Sun Microsystems, Inc. Delayed write of store instruction in processor device
GB2307072B (en) 1994-06-10 1998-05-13 Advanced Risc Mach Ltd Interoperability with multiple instruction sets
US5606688A (en) * 1994-08-31 1997-02-25 International Business Machines Corporation Method and apparatus for dynamic cache memory allocation via single-reference residency times
US5752264A (en) * 1995-03-31 1998-05-12 International Business Machines Corporation Computer architecture incorporating processor clusters and hierarchical cache memories
US5903910A (en) * 1995-11-20 1999-05-11 Advanced Micro Devices, Inc. Method for transferring data between a pair of caches configured to be accessed from different stages of an instruction processing pipeline
US5838631A (en) 1996-04-19 1998-11-17 Integrated Device Technology, Inc. Fully synchronous pipelined ram
US5819060A (en) * 1996-10-08 1998-10-06 Lsi Logic Corporation Instruction swapping in dual pipeline microprocessor
US5860158A (en) * 1996-11-15 1999-01-12 Samsung Electronics Company, Ltd. Cache control unit with a cache request transaction-oriented protocol
US6032226A (en) * 1997-04-14 2000-02-29 International Business Machines Corporation Method and apparatus for layering cache and architectural specific functions to expedite multiple design
US6061762A (en) * 1997-04-14 2000-05-09 International Business Machines Corporation Apparatus and method for separately layering cache and architectural specific functions in different operational controllers
US6061755A (en) * 1997-04-14 2000-05-09 International Business Machines Corporation Method of layering cache and architectural specific functions to promote operation symmetry
US5909694A (en) * 1997-06-12 1999-06-01 International Business Machines Corporation Multiway associative external microprocessor cache
US6418478B1 (en) * 1997-10-30 2002-07-09 Commvault Systems, Inc. Pipelined high speed data transfer mechanism
US7581077B2 (en) 1997-10-30 2009-08-25 Commvault Systems, Inc. Method and system for transferring data in a storage operation
US6532468B2 (en) * 1997-12-25 2003-03-11 Kawasaki Microelectronics, Inc. Binary data search method for selecting from among candidate data, and apparatus therefor
US6115320A (en) 1998-02-23 2000-09-05 Integrated Device Technology, Inc. Separate byte control on fully synchronous pipelined SRAM
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
US20020108022A1 (en) * 1999-04-28 2002-08-08 Hong-Yi Hubert Chen System and method for allowing back to back write operations in a processing system utilizing a single port cache
US6542991B1 (en) * 1999-05-11 2003-04-01 Sun Microsystems, Inc. Multiple-thread processor with single-thread interface shared among threads
US7069406B2 (en) 1999-07-02 2006-06-27 Integrated Device Technology, Inc. Double data rate synchronous SRAM with 100% bus utilization
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US7119813B1 (en) 2000-06-02 2006-10-10 Nintendo Co., Ltd. Variable bit field encoding
US6622217B2 (en) * 2000-06-10 2003-09-16 Hewlett-Packard Development Company, L.P. Cache coherence protocol engine system and method for processing memory transaction in distinct address subsets during interleaved time periods in a multiprocessor system
US7184059B1 (en) 2000-08-23 2007-02-27 Nintendo Co., Ltd. Graphics system with copy out conversions between embedded frame buffer and main memory
US7002591B1 (en) 2000-08-23 2006-02-21 Nintendo Co., Ltd. Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system
US7034828B1 (en) 2000-08-23 2006-04-25 Nintendo Co., Ltd. Recirculating shade tree blender for a graphics system
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6980218B1 (en) 2000-08-23 2005-12-27 Nintendo Co., Ltd. Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US7576748B2 (en) 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US6825851B1 (en) 2000-08-23 2004-11-30 Nintendo Co., Ltd. Method and apparatus for environment-mapped bump-mapping in a graphics system
US6867781B1 (en) 2000-08-23 2005-03-15 Nintendo Co., Ltd. Graphics pipeline token synchronization
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US7061502B1 (en) 2000-08-23 2006-06-13 Nintendo Co., Ltd. Method and apparatus for providing logical combination of N alpha operations within a graphics system
US6937245B1 (en) 2000-08-23 2005-08-30 Nintendo Co., Ltd. Graphics system with embedded frame buffer having reconfigurable pixel formats
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US20060111072A1 (en) * 2002-05-31 2006-05-25 Silicon Laboratories Inc. Wireless communication system and method using clock swapping during image rejection calibration
GB2409553B (en) 2002-09-16 2007-04-04 Commvault Systems Inc System and method for optimizing storage operations
US7583946B2 (en) * 2003-09-29 2009-09-01 Silicon Laboratories, Inc. Wireless communication system and method using clock swapping during image rejection calibration
CA2544063C (en) 2003-11-13 2013-09-10 Commvault Systems, Inc. System and method for combining data streams in pilelined storage operations in a storage network
JP4680851B2 (ja) * 2006-08-18 2011-05-11 富士通株式会社 システムコントローラ,同一アドレスリクエストキューイング防止方法および情報処理装置
JP5011885B2 (ja) * 2006-08-18 2012-08-29 富士通株式会社 スヌープタグの制御装置
JP4912789B2 (ja) * 2006-08-18 2012-04-11 富士通株式会社 マルチプロセッサシステム,システムボードおよびキャッシュリプレース要求処理方法
US8195890B1 (en) * 2006-08-22 2012-06-05 Sawyer Law Group, P.C. Method for maintaining cache coherence using a distributed directory with event driven updates
US8332590B1 (en) * 2008-06-25 2012-12-11 Marvell Israel (M.I.S.L.) Ltd. Multi-stage command processing pipeline and method for shared cache access
US8407420B2 (en) * 2010-06-23 2013-03-26 International Business Machines Corporation System, apparatus and method utilizing early access to shared cache pipeline for latency reduction
US9904481B2 (en) 2015-01-23 2018-02-27 Commvault Systems, Inc. Scalable auxiliary copy processing in a storage management system using media agent resources
US9898213B2 (en) 2015-01-23 2018-02-20 Commvault Systems, Inc. Scalable auxiliary copy processing using media agent resources
KR20170012629A (ko) * 2015-07-21 2017-02-03 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US11010261B2 (en) 2017-03-31 2021-05-18 Commvault Systems, Inc. Dynamically allocating streams during restoration of data

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
US4195342A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Multi-configurable cache store system
US4157587A (en) * 1977-12-22 1979-06-05 Honeywell Information Systems Inc. High speed buffer memory system with word prefetch
US4169284A (en) * 1978-03-07 1979-09-25 International Business Machines Corporation Cache control for concurrent access
US4345309A (en) * 1980-01-28 1982-08-17 Digital Equipment Corporation Relating to cached multiprocessor system with pipeline timing
US4349871A (en) * 1980-01-28 1982-09-14 Digital Equipment Corporation Duplicate tag store for cached multiprocessor system
US4493033A (en) * 1980-04-25 1985-01-08 Data General Corporation Dual port cache with interleaved read accesses during alternate half-cycles and simultaneous writing
US4378591A (en) * 1980-12-31 1983-03-29 Honeywell Information Systems Inc. Memory management unit for developing multiple physical addresses in parallel for use in a cache memory
US4439829A (en) * 1981-01-07 1984-03-27 Wang Laboratories, Inc. Data processing machine with improved cache memory management
US4525777A (en) * 1981-08-03 1985-06-25 Honeywell Information Systems Inc. Split-cycle cache system with SCU controlled cache clearing during cache store access period
JPS5848146A (ja) * 1981-09-18 1983-03-22 Toshiba Corp 命令先取り方式
US4494190A (en) * 1982-05-12 1985-01-15 Honeywell Information Systems Inc. FIFO buffer to cache memory

Also Published As

Publication number Publication date
NO173960C (no) 1994-02-23
PT81215B (pt) 1987-08-19
EP0176972B1 (en) 1993-07-07
KR860002758A (ko) 1986-04-28
PT81215A (en) 1985-10-01
IL76502A0 (en) 1986-01-31
DK440585D0 (da) 1985-09-27
ES8703652A1 (es) 1987-02-16
FI853730L (fi) 1986-03-28
AU4769685A (en) 1986-04-10
DK440585A (da) 1986-03-28
PH24161A (en) 1990-03-22
MX160347A (es) 1990-02-12
FI853730A0 (fi) 1985-09-27
AU572346B2 (en) 1988-05-05
IL76502A (en) 1989-06-30
KR910002929B1 (ko) 1991-05-10
ES547324A0 (es) 1987-02-16
JPS61165154A (ja) 1986-07-25
US4695943A (en) 1987-09-22
YU154985A (en) 1988-04-30
EP0176972A3 (en) 1988-06-08
NO853797L (no) 1986-04-01
EP0176972A2 (en) 1986-04-09
JPH0341857B2 (fi) 1991-06-25
DE3587439D1 (de) 1993-08-12
FI91814C (fi) 1994-08-10
DE3587439T2 (de) 1994-01-13
DK168548B1 (da) 1994-04-18
MY101777A (en) 1992-01-17
YU45743B (sh) 1992-07-20
NO173960B (no) 1993-11-15
BR8504743A (pt) 1986-07-22
CA1237198A (en) 1988-05-24
ATE91353T1 (de) 1993-07-15

Similar Documents

Publication Publication Date Title
FI91814B (fi) Moniprosessorin yhteinen liukuhihnavälimuisti
KR920008430B1 (ko) 처리 판독 메모리 장치
US6751698B1 (en) Multiprocessor node controller circuit and method
CA2051029C (en) Arbitration of packet switched busses, including busses for shared memory multiprocessors
US5265235A (en) Consistency protocols for shared memory multiprocessors
US6594728B1 (en) Cache memory with dual-way arrays and multiplexed parallel output
JP2512651B2 (ja) メモリ共有マルチプロセッサ
US6918015B2 (en) Scalable directory based cache coherence protocol
CN101925881B (zh) 多处理器系统以及多处理器系统的同步方法
CN104699631A (zh) Gpdsp中多层次协同与共享的存储装置和访存方法
JPH042976B2 (fi)
CN102375800A (zh) 用于机器视觉算法的多处理器片上系统
EP0293720A2 (en) Transparent cache memory
EP0489556B1 (en) Consistency protocols for shared memory multiprocessors
JP2602241B2 (ja) 並列計算機
EP0458552B1 (en) Dynamic hierarchical routing directory organization associative memory
JP2766404B2 (ja) データ駆動形マイクロプロセッサ
CA2042291C (en) Dynamic hierarchical associative memory
Luo et al. A VLSI design for an efficient multiprocessor cache memory
Khan et al. RSM—a restricted shared memory architecture for high speed interprocessor communication
Warner Directory based cache coherency protocols for shared memory multiprocessors
Uapproved V DISTRIBUTION UNLIMITED

Legal Events

Date Code Title Description
BB Publication of examined application
GB Transfer or assigment of application

Owner name: INTEL CORPORATION

MM Patent lapsed

Owner name: INTEL CORPORATION