FI93586C - Segmenttimäärittelijäyksikkö - Google Patents
Segmenttimäärittelijäyksikkö Download PDFInfo
- Publication number
- FI93586C FI93586C FI875615A FI875615A FI93586C FI 93586 C FI93586 C FI 93586C FI 875615 A FI875615 A FI 875615A FI 875615 A FI875615 A FI 875615A FI 93586 C FI93586 C FI 93586C
- Authority
- FI
- Finland
- Prior art keywords
- segment
- bit
- ram
- word
- group
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Description
93586
Segmenttimäärittelijäyksikkö. - Segmentdeskrlptorenhet.
Keksinnön kohteena on muistilaite, ja tarkemmin sanottuna muistilaite, jota käytetään segmenttimäärittelijätiedon käsittelemiseen .
Nykyään käyttävät monet järjestelmät sivutus- ja segmenttipiir-teiden kombinaatiota. Eräs parhaiten tunnetuista tällaisista järjestelmistä on MULTICS-JärJestelmä. Tällaiset järjestelmät käyttävät segmenttimäärittelijäsanoja, joista jokainen sisältää segmentin sivutaulukkoon osoittavan tiedon, jos tiedetään, että segmentti on muistissa, jolloin segmentin koko ja määrittelijakentta sisältävät hakuohJaustiedon. Bittien määrä segmenttimääritteli-jäsanalle on varsin suuri, erityisesti silloin, kun järjestelmän muistin kapasiteetti on suuri tai käytetään monimutkaisia suojauksen ohjauksia. Lisätietoa MULTICS-järjestelmästä saa artikkelista "The MULTICS System: An Examination of its sructure", kirjoittaja Elliot I. Organick, Copyright 1972.
Jotta voitaisiin tallettaa ja hakea segmenttimääritteliJoitä, ovat järjestelmät käyttäneet muistipaikkojen ryhmiä tai muistire-kistereita, joilla on tarpeellinen määrä bittipaikkoja. Tämä vaatii RAM-piirlparienkäyttöä, jotta muodostettaisiin haluttu muis-tirekistenn leveys. Vaikka tämä lähestymistapa on sopiva monille . - järjestelmille, vaatii se paljon tilaa ja kuluttaa liian paljon tehoa järjestelmillä, Jotka on toteutettu VLSI-piiritekniikalla. Lisäksi, jotta voitaisiin käyttää segmenttimäärittelijäsanoja, voi olla pakko tallettaa lisätietoa. Tämä voi lisätä RAM-muisti-vaatimuksia lisäten tila- ja tehokulutusta.
Siten on keksinnön ensisijainen tehtävä muodostaa segmenttimääritteli Jien talletuslaite, joka on yksinkertainen muodostaa VLSI-muodossa ja vaatii mahdollisimman vähän tilaa.
Keksinnön toinen tehtävä on muodostaa segmenttimäärittelijien talletuslaite, Joka käyttää mahdollisimman vähän tehoa.
2 93586 Nämä ja keksinnön muut tehtävät saavutetaan keksinnön edullisessa toteutuksessa, joka käsittää segmenttimäärittelijäyksikön (SDU), jaetun suorasaantimuistin (RAM), assosiatiivisen muistin (CAM) ja dekooderipiirit kytkettynä toisiinsa suorittamaan dynaamisia ja staattisia osoitekäännösoperaatiota mikro-ohjelman ohjauksen alaisuudessa pienimmällä mahdollisella piirialalla ja alhaisella teholla. CAM on järjestetty tallettamaan lukuisia sisääntuloja, jotka sisältävät segmenttinumeron ja kelpoisuustiedon, joka liittyy vastaaviin segmenttimäärittelijoiden numeroihin. Keksinnön erityiset tunnuspiirteet on esitetty patenttivaatimuksen 1 tunnus-merkkiosassa.
RAM sisältää paikkoja, jotka on varattu segmenttimäärittelijä-sanojen (SDW) ja työtiedon tallettamiseen. Jokainen SDW on loogisesti jaettu tai toiminnallisesti lokeroitu kahteen kenttään, staattiseen käännössanakenttään (STW), joka sisältää kaikki bitit, jotka tarvitaan staattisen osoitteen käännösoperaation suorittamiseen, ja hakuohjaussanakenttään (ACW), joka sisältää kaikki bitit, jotka vaaditaan tarkistamaan yhtenevyys järjestelmän turvallisuuden kanssa. Jokaisen STW:n ja ACW:n bitit on talletettu vuorottai-siin bittipaikkoihin SDW:n paikkoihin. Jokainen RAM-bittipaikka kytkeytyy yhteiseen luku/kirjoitusvahvistimeen ja multiplekseri-piiriin.
Sellaisten mikrokäskykomentojen ohjauksen alaisuudessa, jotka on koodattu määrittämään eri osoitekäännöstoimintoja, luetaan CAM:in valitsemat STW- ja ACW-kentät RAM:ista eri intervalleissa, jotta suoritettaisiin tarpeelliset vaiheet jokaiselle tällaiselle osoi-tekäännösoperaatiolle. Esimerkiksi edullisessa toteutuksessa kirjoitetaan jokainen 64 bitin segmenttimäärittelijäsana SDUrhun, 32 bittiä kerrallaan. Dynaamisen osoiteoperaation aikana, jonka määrittelee ensimmäinen mikrokäskykomento, kun sivumäärittelijää luetaan muistista, on SDU määrätty lukemaan rinnakkaisesti sen segmenttimäärittelijän ACW-kenttää, jonka määrittävät CAM:in ulostulot ja käännettävän virtuaaliosoitteen osan dekoodaus. Tämä sallii sen, että turvavertailupiirit, jotka on sisällytetty SDU-hun, verifioivat yhteneväisyyden järjestelmän turvavaatimusten .. , kanssa. Staattisen osoitekäännösoperaation tapauksessa, jonka määrittää toinen mikrokäskykomento, määrätään SDU lukemaan sen tl 3 93586 segmenttimäärittelijän STW-kenttä, joka spesifioidaan CAM:in osu-maulostuloilla, ja dekoodaamaan käännettävän virtuaaliosoitteen osa.
Ensimmäisen ja toisen mlkrokäskykomennon muodostamia sisääntulo-signaalelta käytetään määrittämään, mistä osasta RAM:ia haetaan sen funktiona, minkä tyyppistä osoltekäännösoperaatiota ollaan suorittamassa, kuten tällaisilla komennoilla on määritetty. STW-kenttä siirretään summalmeen sen käännetyn osoitteen muodostamiseksi, jota tarvitaan segmenttimäärittelijoiden hakemiseen pää-mulstilta tai välimuistilta. Toinen mikrokäskykomento sallii pääsyn työrekisterlpaikkolhin saman RAM:in toisella alueella, jolloin mahdollistetaan sen tiedon talletus, joka liittyy suoritettaviin käännöstoimintoihin.
Tämä keksinnön järjestely, joka jakaa segmenttimäärittelijäsanan suoritettavien funktioiden perusteella, poistaa tietotiemultip-leksereiden Ja -kytkinten tarpeen, koska sen informaatiosanan leveys, jota luetaan RAMrista siirrettäväksi joko turvayksikköön tai summalmeen, on sama kuin näiden yksiköiden käsittelemän tiedon leveys. Lisäksi tämä sallii summain- ja turvavertailupiinen sijoittamisen RAM:in viereen, jolloin vähennetään piirin metal-loimista, liitoksia ja tilavaatimuksia. Lisäksi organisaatio vähentää luku/klrjoitusvahvlstinpiirien määrää puolella, Josta seuraa olennaisia säästöjä piinpinta-alassa ja tehokulutuksessa. Lisäksi keksintö sallii pääsyn lukuisten erityyppisten rekistereiden sisältöön, jotka kaikki ovat samalla RAM:lila, käyttämällä muutamia mikrokäskykomentoja.
Uudet piirteet, Joiden uskotaan olevan luonteenomaisia keksinnölle sekä sen organisaation että toimintamenetelmän kannalta, yhdessä lisäetujen kanssa ymmärretään paremmin seuraavasta kuvauksesta yhdessä llitteinäolevien piirrosten kanssa. On kuitenkin ymmärrettävä, että jokainen piirroksista on esitetty ainoastaan kuvauksen ja selityksen kannalta, eikä niitä ole tarkoitettu keksinnön rajojen määrittelemiseen.
4 93586
Kuva 1 on keksinnön segmenttimääritteli}äyksikön (SDU) lohkokaavio .
Kuva 2 on kuvan 1 SDU:n muistiosan lohkokaavio.
Kuvat 3a - 3b esittävät yksityiskohtaisemmin kuvan 2 muistiosan eri osat.
Kuvat 4a ]a 4b esittävät kuvan 2 muistiosan mappauksen 3a sisällön .
Kuva 5 on vuokaavio, 3ota käytetään kuvan 1 SDU.-n toiminnan selittämiseen .
Kuvat 6a - 6e niitä ohjaussanaformatte3a 3a virtuaaliosoitefor-matte3a, 3oita käytetään kuvan l SDU:n toiminnan selittämiseen.
Kuva 1 esittää lohkokaaviomuodossa määritteli3äyksikön (SDU) edullista toteutusta, 3oka on konstruoitu keksinnön opetusten mukaisesti. Kuten kuvasta näkyy, sisältää SDU 10 muistiosan 12, summaimen 14, turvatarkistuksen vertailupiirit 16 3a virtuaali-mulstirekisterln 18. Jokainen elementeistä 12 - 18 kytkeytyy sisäiseen väylään 20, kuten on näytetty. SDU 10 toimii mikro-oh3el-moldun oh3ausykslkön 30 alaisuudessa, 3onka se 3akaa siihen liittyvän keskusyksikön (CPU) virtuaalimuistin hallintayksikön (VMMU) muiden osien kanssa. Tämä tarkoittaa sitä, että 3okainen mikro-käskysana on 3aettu lukuisiin osiin, 3a osat 3aetaan SDU:lle 10 3a CPU:n muille osille. Kuten on esitetty, vastaanottaa SDU 10 16 bittiä mikrokäskysanasta, vastaten signaale3a VRDR0-15. Nämä signaalit dekoodataan piireillä, 3oita ei ole kuvassa, 3a syötetään ..... sisääntuloina. Tällaisen laitteen esimerkki on esitetty patentti- hakemuksessa, 3onka ovat tehneet Richard P. Kelly et ai. Tämän keksinnön tarkoituksiin voidaan kuitenkin yksikköä 30 pitää SDU:n 10 osana.
Muistiosa 12 sisältää 28x32 suorasaantimuistm (RAM) 12-1, assosiatiivisen muistin (CAM) 12-3, lukuisia puskuripiire3ä 12-5 3a dekoodauspilrit 12-7, 3otka on 3är3estetty esitetyllä tavalla. Kuten tässä on esitetty, osoitetaan RAM:m 12-1 en osia mikro-oh3elmaoh3ausslgnaallen 3a/tai virtuaaliosoiteslgnaalien kombinaatioilla, 30tka vastaanotetaan VA-rekisteriltä 18.
5 93586 RAM:in 12-1 28x32-bitin paikat tallettavat segmenttimaäritteliμ-sanan sisääntulot, jotka sisältävät 8 32-bitin staattista kään-nössanaa (STW), 8 32-bitin hakuohjaussanaa (ACW), 4 32-bitin seg-menttisivutaulusanaaf 32-bitin määrittelijäsegmentin kantarekis-terln (DSBR) ylemmän, 32-bitin DSBR:n alemman sekä 6 32-bitin työrekisterisanaa. CAM:in 12-3 8 ll-bitin paikkaa tallettavat 8 10-bitin segmenttinumerosanaa ja 8 1-bitin CAM-kelpoisuusbittiä.
SDU:n 10 operaatioihin kuuluu: (1) CAM:in 12-1 kysyminen käyttäen VA-rekisteriltä 18 vastaanotettua virtuaalista segmenttinumeroa ja osuman etsimistä, mikä ilmaisee, että pyydetty segmentti on palkalla; (2) VMMU:n toisen osan signaloimista, kun tapahtuu puuttuminen segmenttinumerolle; (3) CAM-kelpoisuusbittien tyhjennys kelpaamattomille segmenteille; (4) CAM-sisääntulojen kelvol-listamlnen osumasignaalien vastineena; (5) työrekistereiden sisällön talletus RAM:iin 12-1 vaadittaessa; (6) niiden sivutaulu-slsääntulojen tallettaminen RAM:iin 12-1, joita tarvitaan seg-menttimäärltteliJöiden paikallistamiseen, ja (7) sen sivutaulun paikallistaminen, johon osoitetaan DSBR.llä, kun se on talletettuna RAM:Iin 12-1.
Kuten on esitetty, on virtuaaliosoite jaettu lukuisiin kenttiin, jotka sisältävät 2-bitin segmenttinuraerokentän Sx, 8-bitin seg-menttlnumerokentän Sy, ensimmäisen 8-bitin sananumerokentän ix ja toisen 8-bltln sananumerokentän ly. Kenttä ix vastaa sivun siir-toarvoa suhteessa segmenttimaärittelijään, kuntaas kenttä ly on sanan siirtoarvo suhteessa segmenttimaärittelijään.
CAM:ia 12-3 tutkitaan konkatenoimalla kentät Sx Ja Sy kelpoisuus-bitin kanssa, Jotta muodostettaisiin ll-bitin kenttä, joka syötetään tietoslsääntulona CAM:iin 12-3. CAM:in 12-3 kahdeksan sana-sisääntuloa skannataan, ja kun vertailun tulos on sama, pakottaa CAM 12-3 yhden kahdeksasta osumalmjasta korkeaksi.
Kuten kuvasta 1 nähdään, nämä kahdeksan linjaa syötetään sisääntuloina vastaaviin kahdeksaan puskunpiirien 12-5 asteisiin. Pus-kuripiint 12-5 erottavat RAM: in 12-1 CAM:ista 12-3 ja lisäävät < · 6 93586 sen osumalinjasignaalin vahvuutta, jota käytetään RAM:in 12-1 hakemiseen.
Nämä kahdeksan osumalinjasignaalia toimivat allosoitteina, jotka syötetään siihen RAM:ln 12-1 osaan, joka sisältää ACW:t ja STW:t. ACW:n Ja STW:n valinta tehdään mikro-ohjelmoidun ohjausyksikön 30 alaisuudessa, kun aktiviteetin funktio tai operaatio suoritetaan. Esimerkiksi, kun suoritetaan dynaamista osoltekäännösoperaatiota, kun sitä osaa VMMU:sta haetaan, joka tallettaa sivumäärittelijä-sanat, sallii keksinnön järjestely ACW:n hakemisen siten, että hakuoikeudet voidaan tarkistaa turvatarkistuspureillä 14 (eli rengassulku ja haku (luku, kirjoitus, suoritus, portti), koko (eli segmentti, portti). Lisäksi sinä aikana, kun osoitetta paikallistetaan, jotta muodostettaisiin osoite puuttuvalle sivumääritteli jälle , sallii keksintö haun STW:hin toisen sivun saamiseksi sivutaulukosta.
Siten järjestely sallii käännöksen suorittamisen virtuaalisesta fyysiseen osoitteeseen sisältäen kaiken tarvittavan tarkistuksen mikro-ohjelmoidun ohjausyksikön 30 yhden täydellisen toimintajakson aikana.
Osana ylläolevaa osoitekäännöstä voi olla tarpeen hakea tiettyjen työrekistereiden sisältö. Tämä tehdään mikro-ohjelman ohjauksen alaisuudessa pakottamalla dekooderipiirit 12-7 muodostamaan alio-soite käyttäen joko signaaleita BI 20 tai VAR 18. Sitä 6-bitin aliosoitetta, joka muodostetaan vastauksena 3-bitin signaaleille valitusta lähteestä (eli BI 20 tai VAR 18), käytetään valitsemaan yksi kuudesta 32-bitin työrekisteripaikoista, tai yksi kuudesta 32-bitin määrittelijäsegmenttirekisteripaikoista osana sen tietyn operaation funktiota, jota suoritetaan Ja jonka määrittää mikro-ohjelman ohjausyksikkö 30.
Tämä järjestely poistaa tarpeen hakea tietoa eri RAM:eista ja syöttää nämä sisääntuloina ALU:lle, jotta vaatimuksen mukaan muodostettaisiin uusi osoite. Tästä on seurauksena olennainen ohjauksen yksinkertaistaminen siinä mielessä, että tarvitaan vain > 7 93586 CAM ja dekooderi, joita köyttää pieni määrä mikrokomentoja, jotta muodostettaisiin haluttu staattinen käännösosoite ja tehtäisiin tarvittavat hakutarkistukset.
Käyttämällä edelläkuvattua organisaatiota maksimoidaan SDU:n 10 eri elementtien sijoittelu tehokkuuden suhteen. Tämä tarkoittaa sitä, että RAM:in 12-1 ja ALU:n 16 elementit on organisoitu sarakkeisiin, mikä minimoi piirin alan ja tehokulutuksen. Tämän organisaation eri näkökohtia on esitetty kuvissa 2, 3a ja 4b.
Kuva 2 esittää yksityiskohtaisemmin muistiosan 12 organisaation keksinnön opetuksien mukaisena. Kuten kuvasta 2 nähdään, sisältää osan 12 RAM 12-1 RAM-parin 12-la ja 12-lb. Kukin RAM sisältää ryhmän soluja 12-10 organisoituna 14 32-pylvääseen bittlsoluja, 16 multlplekserlpllrlä 12-12, 16 luku/kirjoitusvahvistia 12-14 ja 32 eslvarauspiiriln 12-16. Kukin RAM on erotettu CAM-.ista 12-3 ja dekooderista 12-7 sarakkeella 14 sisääntulopuskunpilrejä 12-5.
Kukin ensimmäinen puskuripiirien 6-13 ryhmä vastaanottaa sisääntulona osumasignaalit HITO - HIT7 CAM:ilta 12-3. Toinen ryhmä puskurlpllreJä 0-5 vastaanottaa dekoodatut signaalit DECO -DEC5 vastaavalta lohkon 12-7 dekooderipiiriltä 12-7a ja 12-17b. Puskuripiirien jokainen sarake sisältää lisäksi puskuripiirin 12-50, joka tallettaa sen sisääntulo-ohjaussignaalin V79EQ7D tilan, jonka yksikkö 30 muodostaa. Sisääntulopuskuriplirien molem-.. ( pla ryhmiä voidaan pitää suunnittelultaan konventionaalisina. Ne toimivat siten, että ne muuntavat loogisen tason sisääntulosig-naalit korkean tason komplementtiulostulosignaaleiksi, Lisäksi puskuripiirien ryhmät vastaanottavat kirjoltussuojelusignaalin WRTPROT keskitetyltä ajoituslähteeltä, joka ei ole kuvassa ja joka on suunnittelultaan konventionaalinen. Tämä signaali estää si-sääntulosignaalien syötön RAM:iin 12-1 sen aikajakson Tl aikana, kun RAM:ia 12-1 esivarataan.
Vastakkaiset ulostulosignaalit OUT ja OUT, tässä järjestyksessä, syötetään veräJäulostuloihm ensimmäiseen ja toiseen ryhmään pus-kunpiirejä 12-5. Lisäksi puskurlpiirit 12-5 ja esivarauspiirlt ... · 8 93586 12-16 vastaanottavat ajoltussignaalit 11 keskusajoltusyksiköltä.
Ajoitusyksikkö muodostaa myös ajoltussignaalit T2 ja T12, jotka syötetään luku/klrjoitusvahvistuspllreihln 12-14. Ohjaussignaalit SAT, SAT Ja SWRTRAMR, jotka muodostetaan mikro-ohjelmoidun ohjausyksikön 30 alaisuudessa, syötetään multipiekseripilreihm 12-12 ja luku/kirjoltusvahvistuspiireihin 12-14, kuten on esitetty. Tieto luetaan RAM-solulhin Ja kirjoitetaan niihin luku/kir-joltusvahvlstuspiirlen 12-14 kautta.
Kunkin RAM:in jokainen luku/kirjoitusvahvistuspiireistä 12-14 on jaettu bittisolujen eri sarakeparille, kuten on esitetty. Signaalit SAT Ja SAT mikroohJelmoidulta ohjausyksiköltä 30 määräävät ne parien blttlsolut, joiden sisältö pitää syöttää luku/kirjoitus-vahvistinpilreihin 12-14 multiplekseripiireillä 12-12, kuten edellä on esitetty.
Kuten kuvasta 2 nähdään, vastaanottaa kumpikin dekooderlpllrl 12-7a Ja 12-7b kolmen sisääntulosignaalm ryhmän joko yksiköltä 30 tai VAR:ilta 18. Nämä signaalit syötetään lohkon 12-72 multiplekseri- ja slsääntulopuskunpiirien kautta funktiona ohjaussignaaliin VRDR79EQ6, joka muodostetaan dekoodaamalla VRDR-bitit 7-9, jotka on vastaanotettu mikro-ohjelmoidulta ohjausyksiköltä 30 (eli bitit 7-9 = "110" tai 6).
CAM 12-3 sisältää 8x11 muistiryhmän 12-30, lukuisia sisääntulo-puskuripilrejä 12-32 ja lukuisia ulostulopuskurlpllreja 12-34. Sisääntulopuskuripiirit 12-32 vastaanottavat virtuaaliosoitesig-naalit BV00 - BV09 sekä kelpoisuusohjauksen bittisignaalin WRT04 VAR:ilta 18. Kelpoisuusohjauksen bittisignaalin WRT0A tila asetetaan korvauspiireillä, joita ei ole kuvassa. Kun osoitesignaalit kirjoitetaan CAM:iin 12-3, asetetaan kelpoisuusbitti. Bittiä päivitetään tavanomaisella tavalla, kun osoitesanaa muunnetaan.
CAM 12-3 toimii siten, että se samanaikaisesti vertaa sitä virtuaalista osoitetta, joka syötetään sisääntulopuskuripiireihin 12-32, kaikkiin kahdeksaan segmenttimäänttelijäsanaan, jotka on talletetttu ryhmän 12-30 muistisolujen pystysuoriin riveihin tai n 9 93586 sarakkeisiin. Kun vertailun tulos on positiivinen, se solujen pystysuora rivi, joka huomaa tilanteen, pakottaa osumalinjän, joka kytkee yhteen kaikki tämän pystysuoran rivin solut, edeltä-määrättyyn tilaan. CAM 12-3 syöttää samanaikaisen vertauksen tulokset osumalinjoille HITO - HIT7. Nämä signaalit puolestaan syötetään sisääntuloina vastaaviin RAM-mulstiryhmien 12-10a ja 12-10b solujen vaakasuorille vastaaville riveille puskunpiirien 12-5a ja 12-5b kautta, tässä järjestykessä.
Ulostulopuskurlpiirlt 12-34 syöttävät tulokset vertailusta vastaten signaalien HITO - HIT7 tiloja korvauspiireille. CAM:ln 12-3 030iteslsällöt muutetaan tai nuhin kirjoitetaan niiden signaalien SDWL0 - SDWL7 funktiona, jotka korvauspiirit ovat muodostaneet ja syöttäneet sanalinjoille. Tämän keksinnön kannalta voidaan korvauspiirejä pitää suunnittelultaan konventionaalisina.
CAM 12-3 voidaan lnitialisoida tallettamaan annettu joukko kahdeksasta segmenttlmäärlttelijäosoitesanasta pakottaen peräkkäin kukin kahdeksasta sanalinJasta edeltämäärattyyn tilaan.
Huomataan, että CAM 12-3 muodostaa kaksi osumalinjojen Joukkoa. Ensimmäinen joukko, joka kytkeytyy RAM:hin 12-ia ja 12-lb, on suunnaltaan vaakasuora, ja toinen joukko, joka on suunnaltaan pystysuora, kytkeytyy korvauspiireihin, jotka sijaitsevat CAM:in 12-3 yläpuolella. Tämä saadaan aikaan viemällä tietty määrä linjoja kohtisuorassa suunnassa jokaisen CAM-solun läpi.Järjestely sallii sen, että osumalinjät ja sanalinjät ovat suuntautuneet haluttuihin suuntiin kytkeytymiseksi VMMU-piirin toisiin osiin. Seurauksena on pinta-alan pieneneminen, parempi teho ja suorituskyky. Lisätietojen saamiseksi CAM-solujen toteutuksesta voidaan viitata rinnakkaiseen patenttihakemukseen, jonka on tehnyt Thomas J. Joyce et ai.
Kuva 3a esittää yksityiskohtaisemmin muistilohkon 12 osien, ver-tailupiirien 14 ja summaimen 16 organisaation bittipaikoille QO - 015. Kuten on esitetty, ryhmän 12-10 muistisolut, multipleksen-piirit 12-12, luku/kirjoitusvahvistuspiirit 12-14 ja summaimen 16 vaiheet on järjestetty sarakkeiksi tai viipaleiksi. Kytkennät 93586
1 O
väylälle BI 20 ja vaadittavat sisääntulosignaalit summainasteille on muodostettu esitetyllä tavalla. Edullisen toteutuksen järjestely minimoi lisäksi piirin pinta-alavaatimuksia vuorottelemalla vertallupiirien 14 lohkoja ja summaimen 16 vaiheita. Jäljellejäävät bittipaikat Q16 - 031 on järjestetty samalla tavalla kuvan 4b mukaisesti.
Kuvat 3b - 3f esittävät yksityiskohtaisemmin niiden piirien rakenteen, jotka muodostavat kuvien 3a ja 4b bittipaikat Q0 - Q31. Tarkemmin sanottuna esittää kuva 3b ensimmäisten neljän bitin QO - 03 muodostamisen. Kuten näkyy, sisältävät nämä lohkot vahvistin- ja transistoripiirejä, jotka yksinkertaisesti siirtävät signaalit väylälle BI 20 vastaavilta luku/kirjoitusvahvistmpiireil-tä yksiköltä 30 tulevien mikrokäskykomentosignaalien BIC7TL1 ja BICTL2 ohjauksen alaisuudessa.
Kuva 3c esittää ensimmäisten 10 summainasteen AO - A9 rakenteen bittipaikoille 04 - 013, kun taas kuva 3d esittää summainasteiden AIO - A27 rakenteen bittipaikoille 014 - 031. Kuten näistä ku vista nähdään, muodostaa kukin summainaste 10-27 summa- ja muis-tlbittlslgnaalit parille operandeja A ja B, kun taas summain-asteet 0-9 muodostavat summa- ja rauistibittisignaalit yhdelle ainoalle operandille A. Siten puolisummainpiirlt kuvassa 3c edustavat yksinkertaistettua versiota täydellisistä summainpiireistä kuvassa 3d.
* * * • 4 <
Yksityiskohtaisemmin esitettynä sisältää kuvan 3d täydellinen summainaste AIO muistibitin levityslohkon, joka on tehty avaus-moodi -MOSFET:eistä 16-1000, 16-1002 ja 16-1004, loogisen lohkon, joka on tehty MOSFET:eistä 16-1032 - 16-1046 kytkettyinä EI-TAI-, JA-, eksklu3llvlnen-EI-TAI- ja eksklusiivmen-TAI-porteiksi sekä ··'· eksklusiivinen-TAI-summauslohkon, joka sisältää lnvertteripunt ’· 16-1 020 ja 16-1022 sekä MOSFET: it 16-1004 ja 16-1006. Summabitit (AIO tai S10), jotka generoidaan asteella, syötetään väylälle BI puskuripiirien 16-1016 ja 16-1014 kautta signaalien BICTLl ja BICTL2 funktiona, tässä järjestyksessä. Ohjaussignaalia OTLB käytetään siirtämään valittu B-operandm arvo väylälle BI. 5:1 mul- ti 11 93586 tiplekserlplirlä, joka on tehty MOSFET:eistä 16-1054 - 16-1058, käytetään valitsemaan haluttu B-operandin arvo niiden mikrokäsky-komento}en VRDR(O) - VRDR(4) ohjauksen alaisuudessa, 3otka on dekoodattu yksiköltä 30. Valittu B-operandin arvo syötetään koko-summalnasteeseen 3a väylälle BI invertteripiirien 16-1050 3a 16-1052 3a MOSFETrln 16-1012 kautta, kuten on esitetty.
Kuva 3c esittää summainastetta AO, 3oka sisältää eksklusiivisen TAI-asteen, 3oka on tehty mvertteriplireista 16-220, 16-222 sekä MOSFETrelStä 16-204 3a 16-206, 3a muistit)!tin etenemisasteesta, 3oka on tehty MOSFET:eista 16-200 3a 16-202. Summabitit (AO tai SO) syötetään väylälle BI puskuripiirien 16-216 3a 16-214 kautta komentosignaalien BICTLi 3a BICTL2 funktiona, tässä 3är3estykses-sä, MOSFET:ille 16-210 syötettyä oh3aussignaalia CTLADD käytetään siirtämään summasignaali SO, kun taas MOSFET:i1le 16-212 syötetty oh3aussignaali CTLB siirtää ZERO B operandiarvon väylälle BI.
Kuvassa 3e esitetään niiden kahden viimeisen summainasteen A28 3a A29 rakenne, 3otka ulottuvat luku/kir3oitusvahvistuspiirien ulkopuolelle, kuten kuvassa 4b on esitetty. Kukin puolisummainaste muodostaa summa- 3a mulstlbittisignaalit yhdelle B-operandille, 3oka on valittu 5:1 multlplekserlplirillä. Yksityiskohtaisemmin esitettynä, kuten kuvasta näkyy, on vastaava summainaste A28 muodostettu samalla tavalla kuin puolisummainaste kuvassa 3c silla lisäyksellä, että siinä on samanlainen multiplekseripiin kuin • ' kuvassa 3g B-operandin arvon valitsemiseksi. Tämä tarkoittaa si tä, että summainaste sisältää muistibitm etenemislohkon, 3oka on tehty lisäysmoodi-MOSFET:eista 16-2800 3a 16-2802, 3a eksklusiivisen TAI-lohkon, 3oka on tehty lnverttenpiireistä 16-2820 3a 16-2822 sekä MOSFETreistä 16-2804 3a 16-2806. MOSFET: ille 16-2813 syötetyn oh3aussignaalin CTLADD 3ohdosta syötetään summabitti B28 väylälle BI puskuripiirien 16-2814 kautta komentoslgnaalin BICTL2 funktiona. MOSFET-.ille 16-2812 syötettyä oh3aussignaalia käytetään siirtämään B-operandi B28, 3oka on valittu MOSFET:eillä 16-2854 - 16-2858, invertteripiirien 16-2852 3a 16-2850 sekä MOSFET: in 16-2812 kautta väylälle BI.
12 93586
Kuva 3f esittää turvatarkistuspiirin 14 bittivertailulohkojen rakenteen. Kuten kuvasta 4b nähdään, on ensimmäistä ja toista ryhmää bittivertailulohkoja vaihdeltu summainasteiden A2 - Ali ja A18 - A27 välillä, kuten kuvassa 3a on esitetty. Ensimmäinen ryhmä bittivertailulohkoja (C0-C9) vastaanottaa A-operandisignaalit SSO - SS9 SDRAM:ilta 12-la ja B-operandisignaalit ix(12) - ix(21) VAR-rekisteriltä 18. Toinen ryhmä bittivertailulohkoja <C0-C9>, el kuvassa, vastaanottaa A-operandisignaalit GSO - GS9 SDRAM:ilta 12-lb ja B-operandisignaalit ly(22) - Iy(3l) VAR-rekisteriltä 18. Kukin bittivertailulohko muodostaa muistibittietenemissignaalin, joka ilmaisee tulosta A- ja B-operandiparin vertailusta.
Yksityiskohtaisemmin esitettynä, sisältää kuvan 3f bittivertailu-lohko CO muistlbltin etenemislohkon, joka on tehty lisäysmoodi-MOSFET.-eistä 16-230 - 26-234, ja kombmatoonsen logiikkalohkon, joka on tehty MOSFET:eistä 16-236 - 16-246. Lukuunottamatta ver-tailulohkoa C9, vastaanottaa jokainen vertailulohko muistlbltin sisääntuloslgnaalln (esimerkiksi CYIN(l)) edelliseltä lohkolta. B-operandiarvo ix(12) syötetään lohkoon mverttenpiirien 16-248 kautta.
Voidaan olettaa, että samalla tavalla rakennettuja vertailupure-jä yhdessä vaadittavien rekistereiden kanssa käytetään suorittamaan erilaiset rengastarkistusoperaatiot. Tämän keksinnön kannalta voidaan piirejä, joita käytetään muodostamaan summaimen 16 eri ... asteet, ja turvatarkistuspurien 14 lohkot, pitää suunnittelultaan konventionaalisina.
Kuva 3g esittää yksityiskohtaisemmin yhden multiplekseripiirien joukon ja yhden luku/kir joitusvahvistuspnreistä lohkoista 12-12 ja 12-14, tässä järjestyksessä. Kuten on esitetty, sisältää mul-·· tiplekseripiiri kaksi paria lisäys-MOSFET:ejä 12-120, 12-122 sekä 12-124, 12-126. Jokainen pan kytkeytyy en RAM-soluun ja se sallitaan eri vastakkaisella ohjaussignaalilla SAT ja SAT.
Kuten on esitetty, sisältää luku/kirjoitusvahvistuspilri parin esivarattuja MOSFET:e ja 12-140 ja 12-142, kirjoitusvahvistmpii- il· 13 93586 rln, joka on tehty MOSFET:eista 12-145 ja 12-148. Vahvistmpiirι sisältää lisäksi D-salpapiirinf joka on tehty sarjaankytketyista invertterlpllreista 12-150 ja 12-152, MOSFET: it 12-154 ja 12-156, sekä puskuripiirin, joka sisältää MOSFET:ιt 12-160 - 12-164. Jokaisen operaatio jakson aikana Tl esivaraavat esivaraus-MOSFET:it 12-140 ja 12-142 niihin liittyvät RAM-bittllinjät korkeiksi.
D-salpaplirl sallitaan jokaisen operaatio jakson aikana ajoitus-signaalilla T2. Tämä tarkoittaa sitä, että vahvistuspiirl 12-14 laitetaan lukemaan tai kirjoittamaan yksikön 30 muodostaman ohjaussignaalin SWRTRAMR funktiona. Kun ohjausignaali on bmääri-sesti yksi tai korkea, pakottaa se MOSFET-pann 12-170 ja 12-172 asettamaan kirjoitusvahvistuspilrln trisate-tilaan, poistaen sen olennaisesti piiristä. Se ei siten reagoi signaaleihin väylältä BI 20, joita syötetään sen sisääntuloihin invertteripllreillä 12-174 ja 12-176. Tänä aikana luetaan tietosignaali, joka on talletettu D-salpapllrissä, väylälle BI 20, kun ohjaussignaali BICTL1 yksiköltä 30 pakotetaan binääriseksi ykköseksi tai korkeaksi. Lisäksi syötetään tänä aikana pari vastakkaista ulostulosignaalia OUT ja OUT vastaavalle summannen 16 asteelle.
Ohjaussignaalin SAT tila määrää tiedon valinnan STW RAM-blttipai-kasta tai AOW RAM-bittipaikasta. Kun signaali SAT on bmäänsesti ykkönen tai korkea, syötetään STW RAM-bittipaikan sisältö sisääntulona summainasteelle 16. Seuraavana ajanjaksona T2, kun T2 on ... binäärisestl yksi, pysyy sen tiedon sisältö, joka on luettu RAM:ista, talletettuna salpatransistoreissa vielä yhden kokonaisen operaatio jakson ajan. Tämä tapahtuu siksi, että signaali T2 pakottaa MOSFET:in 12-154 säilyttämään sisältönsä.
Kuten edellä mainittiin, on kuvan 2 RAM.it 12-la ja 12-lb toiminnallisesti organisoitu tallettamaan kahdentyyppistä tietoa. Yksi lohko tallettaa ACW/STW-tiedon, kun taas toinen lohko tallettaa työrekisterltledon. Kahdeksan sanaa STW/ACW haetaan tai valitaan haettavaksi CAM:illa 12-3 vastineena osumaan. Työrekistentieto valitaan dekooderilla 12-7 vastineena mikrokomentosignaaleihin mikro-ohjelman ohjausyksiköltä 30 riippumatta CAM:in valinnasta.
14 93586
Kuvat 4a Ja 4b esittävät yksityiskohtaisemmin RAM:ien 12-la ja 12-lb sijoituksen ja organisaation. Kuvaan 4a viitaten nähdään, että kuudelle työreklsteripaikalle 1-5 on annettu osoitteet 0-5, ja niitä osoitetaan mikro-ohjelman ohjausyksiköllä 30, kuten tässä on esitetty. Seuraavat kaksi paikkaa 7 ja 8 vastaavat määritteli järekisterin (DSBR) ylempää ja alempaa kantaa, tässä järjestyksessä, ja niihin osoittaa myös ohjausyksikkö 30.
DSBR määrittelee prosessoriyksikön osoitemoodin ja sen hetkisen suorltusosoiteavaruuden. Jos DSBRm ensimmäiset kaksi sanaa ovat nollia, niin CPU on absoluuttisessa osoitusmoodissa, ja prosessin osoiteavaruus on rajoitettu siihen, mitä on talletettu fyysisessä muistissa. Jos DSBR:n kaksi ensimmäistä sanaa ovat suurempia kuin nolla, niin CPU on käännösosoitemoodissa, ja prosessin osoiteavaruus on määritelty segmenttimäanttelijataulukolla (DSPT), johon DSBR osoittaa. Segmenttimäarittelijän sivutaulupaikkoihin 17-20 osoitetaan ohjausyksiköllä 30 ja/tai virtuaaliosoitteen ylimmillä biteillä.
Segmenttimäärittelijät on talletettu segmenttitaulukkoon ja ne voivat viedä aina tuhat sisääntuloa 64 bittiä kukin. Kun prosessi aloitetaan, määrää käyttöjärjestelmä vaaditut järjestelmä- ja käyttöjäsegmenttimäärittelijät prosessille. Prosessin suorituksen aikana lisäsegmenttejä lisätään tarpeen mukaan segmenttitauluk-koon alenevassa järjestyksessä, jotta pidettäisiin taulukko niin tiiviinä kuin mahdollista. Kahdeksan viimeisimmin käytettyä segmenttimääritteli Jää on talletettu RAM:hin 12-la ja 12-lb. Tarkemmin sanottuna, ovat määrittelijöiden bitit jaettu funktion perusteella ja talletettu STW- ja ACW-paikkoihm. STW-paikat 9-16 osoitetaan ohjausyksiköllä 30 ja segmentti-CAM:n osumalla. ACW-·*' paikat 21-28 osoitetaan ohjausyksiköllä 30 ja segmentti-CAM:n "osumalla".
Kuva 4b esittää yksityiskohtaisemmin sen tiedon tyypin, joka on talletettu RAM:ien 12-la ja 12-lb en paikkojen eri bittipaikkoihin. Siinä näytetään myös summannen 16, turvayksikkövertalijapii- li.
15 93586 rien 14 3a RAM-solujen blttivllpaleorganisaatio, josta on seurauksena yksinkertaistettu sijoittelu, lisääntynyt toimivuus ja tiheys.
Kuten kuvasta nähdään, sisältää segmenttimääritteliJän kantare-kisterln ylempi osa (DSBRU) seuraavaa: (1) Bitti 0 tai NS on uusi pinoindikaattor1. Jos tama bitti asetetaan ykköseksi, niin uudet kutsu- ja palautuskäskyt ovat sallittuja, ja keskeytykset aiheuttavat sen, että uusi kehys hae-taan/hylätään vastaavassta pinosegmentissä uudessa pinossa. Jos tämä bitti asetetaan nollaksi, niin uudet kutsu- ja palautuskäskyt eivät ole sallittuja, Ja keskeytykset käsitellään käyttäen keskeytyksen talletusalueita.
(2) Bitti 1 tai NI on uusi I/O-indikaattori. Jos tämä bitti asetetaan ykköseksi, niin syötön/tulostuksen suorittaminen vaatii uutta I/O-käslttelyä.
(3) Bitit 4-23 tai PGFO-19 määrittelevät sivukehysnumeron arvon, Joka vastaa 30-bitln fyysisen osoitteen 20 eniten merkitsevää bittiä segmenttimäärittelijätaulukossa (DSPT).
(4) Bitit 24-31 tai OFSO-7 määrittelevät siirtymän, Joka vastaa 30-bitin fyysisen osoitteen keskiosan jälkeistä kahdeksaa bittiä ... segmenttimääritteliJätaulukossa (jäljellejäävät kaksi vähiten merkitsevää bittiä 30-bitln fyysisessä osoitteessa asetetaan nolliksi ) .
DSBRL koostuu seuraavasta: (1) Bitit 2-9 tai SBO-7 määrittelevät pinon kanta-arvon. Tämä 8-bitm kenttä Ja 2-bitin sen hetkinen rengas määrittelevät sen hetkisen pinosegmentin segmenttinumeron, kun käytetään uutta pl-notoimintoa.
(2) Bitit 24-31 tai PSO-9 määrittelevät prosessin tai segmentti- 16 93586 määrittelijän taulukon koon. Tämä kenttä sisältää 10-bitin ko-koarvon, joka edustaa suurinta sallittua segmenttinumeroa. Jos virtuaallosoitteen segmenttinumero on suurempi kuin prosessin tai segmenttimäärittelijän taulukon koko, ilmoitetaan segmenttivirhe.
SegmenttimääritteliJän sivutaulukon (DSPT) sisääntulo koostuu seuraavista: (1) Bitti 0 on kelpoisuusindikaattori. Jos kelpoisuusbltti asetetaan nollaksi, niin määrittelijä on sallittu ja loput bitit osoittavat sivukehysnumeroa segmenttimäärittelijätaulukossa.
(2) Bittit 1-2 tai V, M ovat käytetty- ja muunnettuindikaattorei-ta, tässä järjestyksessä. Tätä sisääntuloa varten täytyy käytetyt ja muunnetut asettaa ykkösiksi.
(3) Bitit 4-23 tai PGFO-19 määrittelevät sivukebysnumeroarvon, joka vastaa segmenttimäärittelijätaulukon fyysisen osoitteen 20 eniten merkitsevää bittiä.
(4) Bitit 24-31 tai MBZ0-7 asetetaan nolliksi ja ne vastaavat segmenttimäärittelijätaulukon fyysisen osoitteen kahdeksaa vähiten merkitsevää bittiä (jäljellejäävät kaksi vähiten merkitsevää bittiä 30-bitln fyysisestä osoitteesta asetetaan nolliksi).
.. ' Staattinen käännössana (STW) koostuu seuraavasta: • * » (1) Bitti 0 tai V on kelpoisuusindikaattori. Jos kelpoisuusbltti asetetaan ykköseksi, niin segmenttimäärittelijä on kelvollinen ja segmenttimäärittelijän loppuja bittejä käytetään suorittamaan käännös virtuaalisesta osoitteesta fyysiseen osoitteeseen sekä *; tarpeelliset hakuoikeustarkistukset. Jos kelpoisuusbltti on ase-tettu nollaksi, niin segmenttlmäärltteliJä ei ole kelvollinen ja ilmoitetaan 3egmenttlvirheestä.
(2) Bitti 1 tai PR on etuoikeusmdikaattorι. Jos se on asetettu ykköseksi, niin etuoikeutettujen käskyjen suorittaminen on sai- II.
17 93586 llttua vain, 30s rengas on tyhjä. Jos se on asetettu nollaksi, eivät etuoikeutetut käskyt ole sallittuja, ja jos tällainen havaitaan, ilmoitetaan etuolkeuskäskyvirheestä.
(3) Bitit 4-23 tai PFGO-19 määrittelevät sivukehysnumeron ja vastaavat 30-bitin osoitteen 20 eniten merkitsevää bittiä sivumää-rittelijätaulukossa tai segmentin alussa muistissa.
(4) Bitit 24-31 tai OFO-7 määrittelevät siirtymäarvon, joka sisältää keskeltä alkaen kahdeksan bittiä fyysisestä osoitteesta. Jos segmenttiä ei ole sivutettu, tätä kenttää ei käytetä ja sen on oltava nolla. Jos segmentti on sivutettu, niin yhdessä sivunumeron kanssa määrittävät nämä bitit tämän segmentin sivutaulukon alun (jäljelle jäävät vähiten merkitsevät kaksi bittiä 30-bitin fyysisestä osoitteesta asetetaan nolliksi).
Hakuohjaussana (ACW) koostuu seuraavasta: (1) Bitti 0 tai P on sivutusindikaatton. Jos se on asetettu ykköseksi, niin segmentti on sivutettu. Sivukehysnumero ja silrty-mäkentta määrittävät sivutaulukon alun. Jos se on asetettu nollaksi, ei segmentti ole sivutettu. Sivukehysnumero määrittää ei-slvutetun segmentin alun päämuisti33a. Ei-sivutetun segmentin täytyy alkaa ja loppua sivurajoihin ja koostua jatkuvista sivuke-hykslstä.
(2) Bitti 1 tai E on suorltuksensallintaindikaattori. Käskyn haut ovat sallittuja tästä segmentistä vain, jos tämä indikaattori on yksi ja prosessi suorittaa rengasta, joka on suurempi tai yhtäsuuri kuin Rl ja pienempi tai yhtäsuuri kuin R2. On huomattava, että kun suorituksensallintaindikaattori on päällä ja lukusallin-taindikaattori on pois päältä, on segmettiä käsiteltävä "vain- » suoritettavana"-proseduurisegmenttinä. Vain-suoritettavan prose-duurisegmentin sallitaan viitata tietoon itsensä sisällä luvun sallinnan puuttesta huolimatta. Lukusallinta on kuitenkin estetty kaikkiin muihin proseduureihm en segmenteissä. Jos yritetään suorittaa käskyä segmentissä ilman suoritusoikeuksia, ilmoitetaan 18 93586 hakuvirhe.
(3) Bitit 2-3 tai Rl määrittelevät vähiten etuoikeutetun rengas-numeron luku/kirjoltuskllnnikkeestä talle segmentille (Ο-Rl). Tämä tarkoittaa sitä, että proseduuri, joka ajaa rivinumeroissa Ο-Rl (kirjoitussulku), voi kirjoittaa tähän segmenttiin.
(4) Bitit 4-5 tai R2 määrittelevät vähiten etuoikeutetun rengas-numeron luku/klrjoituskiinnikkeestä tälle segmentille (R1-R2). Tämä tarkoittaa sitä, että proseduuri, joka ajaa rivinumeroissa R1-R2, voi kirjoittaa tähän segmenttiin tai suorittaa sitä.
(5) Bitit 6-15 tai SSO-9 ovat segmenttikokokenttiä, jotka määrittävät segmentin koon sivuina. Jos segmentti on sivutettu, niin koko määrittelee myös sivutaulukon koon. Jos virtuaaliosoite on suurempi kuin segmenttikoko, ilmoitetaan segmenttivirhe.
(6) Bitti 16 tai C on yhteensopivuusilmaisin. Jos se on asetettu nollaksi, ulottuu suoritussulku renkaasta 0 R2:een simuloidakseen etuoikeushaun ohjaussovellutuksia. Jos se on asetettu nollaksi ulottuu suoritussulku Rl:stä R2:een.
(7) Bitti 17 tai G on veräjäilmaisin. Jos se on asetettu, on segmentti veräjäsegmentti.
- (8) Bitti 18 tai R on lukusallintaindikaattori. Tietohaut tähän segmenttiin muilta segmenteiltä ovat sallittuja vain, jos tämä bitti on päällä, ja jos prosessi suorittaa rengasta, jolla on sama tai suurempi etuoikeus kuin R2.
Jos yritetään rikkoa lukusal1intaa, ilmoitetaan hakuvika.
• · (9) Bitti 19 tai W on kirjoitussallintaindikaattori. Tietotalle-tukset tähän segmenttiin ovat sallittuja vain, jos tämä bitti on paalia ja prosessori suorittaa rengasta, jolla on sama tai suurempi etuoikeus kuin Rl.
19 93586
Jos yritetään rikkoa kirjoitussallintaa, ilmoitetaan hakuvika (10) Bitit 20-21 tai R3 määrittävät vähiten etuoikeutetun rangas-numeron tämän segmentin (R2-R3) kutsusulussa.
(11) Bitit 22-31 tai GSO-9 ovat veräjäkokokenttiä. Jos veräjäin-dikaattori on asetettu ykköseksi, niin veräjäkokokenttä määrittää sanojen lukumäärän segmentin veräjäosassa. Tätä kenttää käytetään kutsukäskyn yhteydessä.
Kuten edellä on mainittu, ovat kuvan l SDU:n 10 suorittamat en toiminnot mikro-ohjelmoidun ohjausyksikön 30 ohjauksen alaisuudessa. Nämä toiminnat määritellään kuvien 6a - 6c eri mikrokäs-kyillä. Ensimmäisen tyyppinen mikrokasky, joka on esitetty kuvassa 6a, määrittää staattisen osoitekäännösoperaation (SAT). Kuten on esitetty, on tämän mikrokäskysanan kaksi enitenmerkitsevää palkkaa (0,1) asetettu nolliksi. Sanan muut kentät eivät ole mitenkään erityisen tärkeitä keksinnön kannalta. On kuitenkin havaittava, että bittipaikat 6-9 sisältävät tietoa, jota käytetään SDU:n 10 toiminnan ohjaamiseen. Esimerkiksi bittipaikka 6 tallettaa kirJoltusbitin, kun taas bittipaikat 7-9 tallettavat loogisen osoitteen, jolla voi olla arvot 000 - m. Kun oktaalisella loogisella osoitteella on arvo 000, osoitetaan segmenttlmääritteli-Jän kantareklsterln (DSBR) ylimpiä 32 bittiä. Jos oktaalisella loogisella osoitteella on arvo 001, osoitetaan DSBR:n alinta 32 bittiä. Kir Joltusbitin 6 tila määrittää sen, luetaanko tietoa paikkaan vai kirjoitetaanko siihen.
Oktaaliset loogiset osoitearvot 010 - 101 sallivat eksplisiittisesti segmenttlmäärlttelijäsivutaulun sisääntulojen nollasta (DSPT0) kolmeen (DSPT3) osoittamisen. Oktaalinen looginen osoi-tearvo 110 määrittää yhden neljästä DSPT-paikan osoittamisen sen aliosoitteen kautta, joka vastaa kuvassa 6d esitettyjä virtuaa-llosoitekentän Sx ylempiä kahta bittiä. Oktaalinen looginen osoi-tearvo lii sallii staattisten käännössanojen (STW) hakemisen käyttäen segmentti-CAM:in "osumaa" (SCH). Tämä on staattisen osoitekäännösoperaation suorittama päätoiminta, jonka on käytet 20 93586 tävä STW:tä kääntääkseen virtuaaliosoitteen, jotta saataisiin si-vutaulukkosisääntulo toisen sivun hakemiseksi siinä tapauksessa, että slvumäärittelljä puuttuu.
Toinen mikrokäskysanan tyyppi, jota käytetään SDU:n 10 toiminnan ohjaamiseen, on sekalainen kenttä, jota kutsutaan nimellä MS2 kuvassa 6b. Tämän mikrokäskysanan kaksi eniten merkitsevää bitti-palkkaa (01) on asetettu ykkösiksi. Bittipaikat 6-9 muodostavat saman tiedon, kun kuvan 6a mikrokäskysana teki. Tämä mikrokäsky-sana tulkitsee uudelleen oktaalisen loogisen osoitteen bitit 7-9 salliakseen haun eri RAM-paikoista SDU:n 10 sisällä. Tarkemmin sanottuna, kun oktaalisella loogisella osoitteella on arvot 000 -101, haetaan työreklsteripaikkoja WR0 - WR5. Oktaalisen loogisen osoitteen arvo 111 sallii hakuohjaussanojen (ACW) hakemisen käyttäen segmentti-CAM:in osumaa (SCH).
Kolmannen tyyppinen mikrokäskysana, joka on esitetty kuvassa 6c ja jota käytetään SDU.-n 10 toiminnan ohjaamiseen, on mikrokäsky, jota käytetään dynaamisen osoitekäännösoperaation DAT määrittämiseen. Eniten merkitsevät kaksi bittipaikkaa (01) on asetettu arvoon "01". Tämä ilmaisee hakua ACW-paikkoihm SDU:n RAM:issa 12-1 käyttäen segmenttl-OAM:in "osumaa" aliosoitteena. DAT-mikrokäsky-sanan muita kenttiä, vaikka ne eivät olekaan olennaisia tämän keksinnön ymmärtämisen kannalta, käytetään ohjaamaan käännöstä (esimerkiksi sallimaan CAM-puutos), pääsytarkistusta (esimerkiksi , salli luku, kirjoitus, jne.) ja rengastar kistusoperaatioita.
i ·
Neljännen tyyppinen mikrokäskysana, joka on esitetty kuvassa 6d ja jota käytetään lataamaan virtuaallosoite VAR-rekisteriin 18, on sekalainen kenttä nimeltää MSI. Tämän mikrokäskysanan kaksi eniten merkitsevää bittipaikkaa (01) asetetaan arvoon "10". Bit-tipaikat 12-14 ohjaavat VAR-rekisterin 18 lataamista seuraavalla tavalla: Kun oktaall arvo on "000", säilyy sisältö samana, jos arvo on "001" ladataan VA-rekisteri väylältä BI, kun taas arvo "010" vähentää VA:n sisältöä yhdellä. Oktaaliarvo "011" lisää VA:n sisältöä yhdellä, arvo "100" tyhjentää VA-rekisterm nolliksi, ja arvo "ΙΟΙ" myös lataa VA-rekisterm. Oktaaliarvot "110" ja 21 93586 "111" lisäävät tai kasvattavat, tässä järjestyksessä, sisältöä kahdella. Muut mikrokä3kysanan kentät eivät ole tärkeitä tämän keksinnön kannalta.
Ylläolevasta nähdään, että tarvitaan vain muutamia mikrokäskyjä suorittamaan lukuisia sellaisia eri operaatioita rinnakkain, jotka vaativat pääsyä eri tyyppisiin rekisteripaikkoihin, kaikki yhdessä ainoassa SDU:n RAM rissa 12-1.
SDU:n 10 toiminta kuvataan nyt viitaten kuvan 5 vuokaavioon. Kuva 5 esittää tavallisen muistinlukusekvenssin. Kuten on esitetty, sisältää sekvenssi niiden toimintojen suorittamisen, jotka on merkitty laatikoilla 500 - 504. Näihin kuuluu VAR-rekisterin 18 lataaminen, virtuaallosoitteen muuntaminen fyysiseksi osoitteeksi, pääsytarkistuksen tekeminen, välimuistilta saadun tiedon lataaminen Ja VAR 18 lataaminen tiedolla. Yksityiskohtaisemmin esitettynä, kuvan 6e formatin omaava virtuaaliosoite ladataan väylältä BI VAR-rekisteriin 18 ensimmäisen mikrokäskysanan ohjauksen alaisuudessa, joka on formatoitu MSCl-mikrokäskyksi, kuten kuvassa 6d on esitetty. Tämä osoite syötetään SDU:hun 10 sekä sivumää-rittelijäyksikköön (PDU), jota ei ole kuvassa. PDU suorittaa si-vukäännöksen 20-bitin virtuaalisesta osoitteesta 20-bltin fyysiseen osoitteeseen rinnakkaisesti SDU:n toimintojen kanssa.
Koska PDU:n toiminta ei ole olennaista tämän keksinnön ymmärtämi-, sen kannalta, el sitä kuvata tässä. Lisätiedon saamiseksi voidaan kuitenkin viitata rinnakkaiseen patenttihakumukseen, jonka nimi on "High Speed High Density Dynamic Address Translator".
Kuten kuvasta 5 nähdään, suoritetaan lohkon 502 toiminnot toisen mikrokäskysanan ohjauksen alaisuudessa, joka on formatoitu kuvan 6c DAT-mikrokäskyksi. Virtuaallosoitteen segmenttinumero syötetään CAM:iin 12-3. Jos vertailun tulos on identtinen, tulee yhdestä SDU:n kahdeksasta osumasignaalista binäärinen ykkönen. Olettaen, että fyysinen osoite on lähetetty välimuistiin suorittaa SDU 10 välimuistin lukuoperaation aikana tarpeelliset pääsy-tarkistukset. Tämä tarkoittaa sitä, että DAT-mikrokäskysana ai- « . · 22 93586 heuttaa sen, että SDU-.n RAM 12-1 hakee ACW-03anr jota on osoitettu osumasignaalilla SCH. SDU:n RAM:in 12-1 ACW-osaa käyttävät VMMU:n turvatarkastuksen vertailupiirit 14, DAT-mikrokäskysanan 6c ohjauksen alaisuudessa, suorittaakseen rengasvalinnan, pääsy-tarkistuksen ja renkaan pienennyksen.
Rengasvalinnan suorittavat rengastarkistuksen loogiset piirit, jotka on sisällytetty turvatarkistuspiireihin 14, käyttäen ACW:n arvoja Rl, R2 ja R3 sekä sisältöä sen hetkisestä rengasrekiste-rlstä (RCR), efektllflsestä rengasrekistenstä (REF), ja rengas-numeron (RN) arvoa vlrtuaallosoitteessa muodostaaksen arvon (RNG). DAT-mikrokäskyn rengasmuodostuksen ohjauskenttäbittien 12-14 ohjauksen alaisuudessa valvotaan varmistusta seuraavalla tavalla.
Varmistustarklstuspiirlt 14 käyttävät AGW-.n bittipaikkoja 1-5 ja bittipaikkaa 16 suorittaakseen suorituslupien ja rengassulku-jen tarkistuksen. Esimerkiksi, jos vertailupiirit 14 päättävät, että kuvan 6d kenttä RN on suurempi kuin ACW-kenttä R2 (bitit 4-5) tai Jos ACW-kenttä Rl (bitit 2-3) on suurempi kuin RN ja ACW:n yhteensoplvuusbitti 16 ei ole päällä tai suorituksen sal-linnan indlkaattoribitti 18 ei ole päällä ja mikrokäskysanan bitit 6-8 ovat oktaalisestl l tai 4, ilmoitetaan pääsyvika.
ACW:n bittipaikkoja 4-5 ja ACW:n bittipaikkaa 18 käytetään pii-. reillä 14 luvunsallinta- ja rengassulkutarkistusten suorittamiseen. Esimerkiksi, jos piirit 14 havaitsevat, että arvo (REFF), jonka määrittää suurempi arvoista RN ja REF, on suurempi kuin ACW-kenttä R2 (bitit 4-5), tai lukusallinnan taindikaattoribitti 18 ei ole päällä, ja mikrokäskysanan bitit 6-8 ovat yhtäsuuria kuin oktaalinen 2 tai 7, ilmoitetaan pääsyvika.
• ·
Piirit 14 käyttävät myös ACW-bittipaikkoja 2-3 sekä bittipaikkaa 19 muodostaakseen kirjoitusluvan ja rengassulkujen tarkistuksen. Esimerkiksi, jos piirit 14 havaitsevat, että REFF on suurempi kuin ACW-kenttä Rl (bitit 2-3), tai kirjoitussallinnan mdikaat-toribitti 19 ei ole päällä, ja mikrokäskysanan bitit 6-8 ovat yh- • · • -
Il : 23 93586 täsuuria kuin oktaalinen 4 tai 7, ilmoitetaan paasyvika.
Varmistustarkistuspiirit 14 käyttävät ACW:n bittipaikkoja 2-5, 20-21 ja bittipaikkaa 17 suorittaakseen veräjänsallmnan ja ren-gassulkujen tarkistuksen. Jos esimerkiksi piirit 14 havaitsevat, että kenttä Rl on suurempi kuin REF ja mikrokäskysanan bitit 6-8 ovat yhtäsuuria kuin oktaalinen 5, ilmoitetaan veräjävika. Lopuksi käyttävät piirit 14 ACW:n bittipaikkoja 6-15 suorittaakseen segmenttikokotarkistuksen. Esimerkiksi, jos purit 14 havaitsevat, että virtuaaliosoitteen keskibitit 12-21 ovat suurempia kuin segmenttlkokobitit 6-15, ilmoitetaan kokovika.
Kun pääsytarkistus on suoritettu toisen MSCl-mikrokaskysanan ohjauksen alaisuudessa ladataan tieto, jonka määrittää välimuistilta vastaanotettu fyysinen osoite, sopivaan CPU-rekisterun, ja seuraava vlrtuaallosoite ladataan VAR-reklsterlin 18. Lohkojen 502 ja 504 operaatioiden sekvenssi, jossa MSCi- ja DAT-mikrokäs-kysanojen silmukkaa haetaan toistuvasti, jatkuu niin kauan kuin osumia havaitaan. Jos havaitaan määrittelijän puuttuminen, aiheuttaa tämä sen, että SDU 10 suorittaa ohjausyksikön 30 alaisuudessa operaatioiden sekvenssin, jota on merkitty lohkoilla 506 -530, Ja jota tarvitaan puuttuvan segmenttimäänttelijän hakemiseksi. SivumäärlttellJän puuttuminen keskeyttää myös sekvenssi-silmukan ja aiheuttaa sellaisten toimintojen sekvenssin suorittamisen, joka on samankaltainen kuin lohkoissa 506 - 530 on esitet-ty, jotta haettaisiin puuttuva sivumäärlttellja välimuistiin tai muistiin talletetuista sivutaulukoista. PDU:n toimintaa kuvataan vain siinä laajuudessa, jossa se käyttää SDU:sta 10 haettua tietoa .
Yksityiskohtaisemmin, virtuaaliosoitteen, jolla on kuvan 6d for-matti, segmenttlnumero syötetään CAM:in 12-3. Jos identtistä vertailua ei tapahdu, pysyvät kalkki kahdeksan osumasignaalla binäärisinä nollina, jonka seurauksena muodostetaan puuttumisilla, jonka CAM 12-3 havaitsee (havaitaan kaikki nollat). Koska oletetaan, että tapahtui virhe, joka ilmaisee, että haluttua tietoa ei haettu välimuistista, suorittaa mikro-ohjelman ohjausyksikkö 30 93586 24 MSC2:n kautta peruutuaoperaation, joka eliminoi tai peruu aen askelen, joka oli tulossa suoritettavaksi. Ohjausyksikkö 30 menee sitten ensimmäiseen paikkaan puuttuvan käsittelijän rutiiniin.
Kuten lohkossa 508 on esitetty, on ensimmäinen suoritettu operaatio pyyhkiä pois puuttumlsehto. Tämä tehdään SAT-mikrokäskysanan ohjauksen alaisuudessa, joka resetoi kyseisen bittipaikan oirere-kisteriesä, jota käytetään tallettamaan virhe-ehdot muun tilatiedon lisäksi. Toisen MSC2-mikrokäskysanan ohjauksen alaisuudessa talletetaan väliaikaisesti myös tieto, joka liittyy kirjoitusoperaatioon, niin sanottuun tähtirekisteriin. Tämä tieto sällit järjestelmän tehdä uudelleen kirjoitusoperaatio, jos tämä operaatio osoittautuu kirjoitusoperaatioksi.
Lohkojen 506, 508 ja 510 siivousoperaatioiden suorittamisen jälkeen, alkaa SDU 10 ensimmäisen askelen puuttuvan segraenttimäärit-teiijän sekvenssissä. Kuten lohkosta 512 nähdään, muodostaa SDU 10 toisen SAT-mlkrokäskyn ohjauksen alaisuudessa mikro-ohjelman ohjausyksiköltä 30 STW:n osoitteen Ja kirjoittaa CAM:in 12-3. Jotta muodostettaisiin vaadittu osoite, haetaan sopiva SDU:n RAM:in 12-1 neljästä DSPT-sanasta vastineena SAT-mikrokäskysanal-le. Sen DSPT:n sisältö, jonka määrittävät SAT-mikrokäskysanan bitit 7-9, luetaan RAM:ista 12-1 summaimelle 16.
Seuraavan jakson aikana seuraavan SAT-mikrokäskysanan ohjauksen alaisuudessa, kuten lohkossa 514 on esitetty, tarkistetaan DSPT-sana ohimenon suhteen. Tämä tarkoittaa sitä, että sopiva bitti (eli bitti 0) tutkitaan sen määräämiseksi, onko DSPT-sanassa ohimeno (eli se ei ole SDU:n RAM-.issa 12-1). Jos ohimeno oli kyseessä, mikro-ohjelman ohjausyksikkö 30 haarautuu aliohjelmaan FIX DSPT, jota käytetään DSPT:n ohimenon käsittelemiseen. Tämä käsit-tää SDU-.n 10 käytön ja erityisesti DSBR-sanapaikkojen haun, jotta muodostettaisiin osoite seuraavan sivun hakemiseksi muistista.
Olettaen, että tapahtui osuma, niin seuraavan jakson aikana, kuten on esitetty lohkossa 516, käytetään muodostettua osoitetta, joka on kombinaatio osasta virtuaaliosoitetta VAR-rekistenssä 18 tl 25 93586 ja DSPT-sanasta, hakemaan SDW välimuistista toisen MSC2-mikrokäs-kysanan ohjauksen alaisuudessa. SDW on yksi sisäänraenoista seg-menttitaulukkoon, joka liittyy virtuaaliosoitteen segmenttinume-roon.
Haluttu arvo tuodaan SDU:hun 10 väylän BI 20 kautta, ja eegment-timäärittelljäsanan ensimmäinen puolisko, joka vastaa STW:tä, kirjoitetaan SDU:n RAMriln 12-1. Yksityiskohtaisemmin sanottuna, kuten lohkossa 51B on esitetty, seuraavan jakson aikana SAT-mik-rokäskysana, jolla on kirJoitusrekisteribltti asetettuna binääriseksi ykköseksi ja osoitebitit 7-9 asetettu arvoon "lii*·, saa aikaan sen, että STW-arvo kirjoitetaan yhteen SDUm RAM:m 12-1 kahdeksasta STW-paikkaan, jonka määrittää segmentti-CAM:in osuma. Tämä tarkoittaa sitä, että sekvenssiin tultiin aluksi segmentti-CAM:in puuttumisen takia. VAR:in 18 virtuaaliosoitesisältö kirjoitettiin segmentti-CAM:iin 12-5, ennenkuin segmenttimääritteli-Jäsana vastaanotettiin välimuistilta. Tänä aikana segmenttimää-rltteliJäsanan STW-bitlt kirjoitettiin RAM-palkkaan, jonka osoitti segmentti-CAM:in osuma. SAT-mikrokaskysana muodostaa signaalin SAT, joka pakottaa kuvan 2 multiplekseripiirit 12-12 syöttämään signaalit luku/kirJoitusvahvistimilta 12-14 RAM:ien 12-la ja 12-lb yhteen ainoaan STW-blttipalkkaan. SAT-mikrokäskysanan bittipaikan 6 tila pakottaa signaalin SWRTTAMR binääriseksi nollaksi aiheuttaen sen, että kuvan 3g luku/kirjoitusvahvistin syöttää komplementaariset signaalit kaikkiin STW-bittipaikkoihin.
Kuten lohkossa 520 on esitetty, sinä aikana, kun osoitteen toinen puolisko muodostetaan (eli välimuistiin talletetun segraenttimäa-rittelijän toinen kaksoissanaosoite), tarkistaa SDU 10 seuraavan SAT-mikrokäskysanan ohjauksen alaisuudessa segmenttimäärittelijäsanan eniten merkitsevän bitin (bitti 0) tilan määrittääkseen, oliko kyseessä kelvollinen segmenttimäärittelija. Jos se ei ole binäärinen ykkönen, mikä ilmaisee, että se on kelvoton, haarautuu mikro-ohjelman ohjausyksikkö 30 segmenttimäärittelijän virheru-tiiniin SD-FLT, kuten lohkossa 520 on esitetty. Tämä rutiini tallettaa tiedon SDU:n työrekistenpaikkoihm virheenkäsittelyn vaatimalla tavalla.
26 9 3 5 8 6
Olettaen, että segmenttimäärittelijä on Kelvollinen, suoritetaan toinen lukuoperaatio, kuten lohkossa 522 on esitetty, MSC2-mikro-käskysanan ohjauksen alaisuudessa. Tänä aikana ACW haetaan ja kirjoitetaan SDU:n RAM:iin 12-1. Tämä tarkoittaa sitä, kuten lohkossa 524 on esitetty, että tämän operaation suorittaa MS2-mlkro-käskysana, jossa eniten merkitsevät kaksi bittiä ovat li, kirjoi-tusreklsterlblttl 6 on binääri3esti ykkönen ja bitit 7-9 ovat arvoltaan ‘'lii". Tuloksena on, että ACW kirjoitetaan paikkaan, Jonka määräävät bitit 7-9 ja segmentti-CAM:in osuma, kuten lohkossa 524 on esitetty. Tämä tarkoittaa sitä, että kyseisenä aikana signaali SAT on binäärisestl nolla. Tämä pakottaa multiplekseripii-rit 12-12 syöttämään signaalit vain ACW-bittipaikkaan. Bittipaikan 6 tila pakottaa jälleen signaalin SWRTRAMR binääriseksi nollaksi aiheuttaen sen, että jokainen luku/kirjoitusvahvistln syöttää komplementaariset signaalit jokaiseen ACW-bittipaikkaan.
Kuten lohkosta 256 nähdään, suoritetaan vielä lisäpuhdistusaskel toisen MSC2-mikrokäskysanan ohjauksen alaisuudessa, ennenkuin jätetään sekvenssi lisänä lohkon 528 uudellen tehtävälle operaatiolle. Koska SDU 10 oli suorittamassa lukuoperaatiota, on tämän operaation seurauksena se, että muunnetaan virtuaalinen osoite fyysiseksi osoitteeksi välimuistin lukemiseksi, ja suoritetaan pääsytarklstus rlnnakkaisesti välimuistin lukuoperaatlon kanssa, kuten on esitetty lohkossa 530.
t ·
Seuraavaksi sekvenssi palaa alkuperäiseen silmukkaan. Koska puutuva tieto on korvattu, muodostetaan osuma, ja vastaanotettu tieto ladataan lataamalla VAR-rekisteri 18 seuraavalla käännettävällä virtuaaliosoitteella. Kuten aikaisemmin on mainittu, SDU 10 pysyy tässä silmukassa, kunnes tapahtuu joko segmentti- tai sivu-määrittelijän puuttuminen. Puuttuvan sivumääritteliJän tapaukses- 4 « sa sivutaulukkosanan PTW sisaantulo-osoite täytyy muodostaa osana sekvenssiä sivutetulle segmentille. Tämä tarkoittaa sitä, että ACW sisältää bitin, joka ilmaisee onko segmentti sivutettu vai ei. Tämän bitin tilaan perustuen SDU 10 suorittaa operaatiot sivutetuille ja slvuttamattomille segmenteille. Tämä operaatio teh-
II
27 93586 dään vastineena SAT-mikrokäskysanalle, jossa kirjoitusrekisteri-bitti 6 on binäärinen nolla ja bitit 7-9 ovat arvoltaan "lii". Tämä sallii SDW:n STW-bittien lukemisen SDU:n RAM:ista 12-1. STM sisältää PTW:n kantaosoitteen ja siirtymän välimuistiin talletetussa sivutaulukossa. Virtuaaliosoitebittejä VAR-rekisterissä 18 käytetään ilmaisemaan kyseinen sivutaulukkosisäänmeno. Tätä tietoa käyttäen lasketaan tuloksena oleva osoite summaimessa 16 ja talletetaan tähtireki3teriin, jossa sitä seuraavaksi käytetään hakemaan PTW välimuistista. Jos kyseessä on sivuttamaton segmentti, muodostaa summain 16 eri SAT-mikrokäskysanan ohjauksen alaisuudessa sivumääritteliJäosoitteen STW-biteista ilman, että sen täytyy hakea välimuistia. Siten ACW-talletu3 saa aikaan summannen joustavuutta, koska se suorittaa osoitekäännösoperaatiot, jotka liittyvät sivutettuihin ja sivuttamattomim segmentteihin.
Ylläolevasta nähdään, kuinka tämän keksinnön mukainen SDU:n 10 organisaatio sallii sen, että erilaisia operaatioita suoritetaan hakemalla lukuisia erityyppisiä reklsteripaikkoJa yhdessä ainoassa RAM:issa erittäin vähien mikrokäskykomentojen ohjauksen alaisuudessa .
Alan ammattimlehille on selvää, että monia muutoksia voidaan tehdä keksinnön edulliseen toteutukseen. Esimerkiksi sanakoko, paikkojen lukumäärä sekä tiedon ja ohjauksen tyyppi voidaan haluttaessa muuttaa.
Vaikka tässä on kuvattu ja esitetty keksinnön paras muoto, voidaan tiettyjä muutoksia tehdä poikkeamatta keksinnön hengestä, joka on esitetty liitteinäolevissa patenttivaatimuksissa, ja joissakin tapauksissa voidaan keksinnön joitakin piirteitä käyttää hyväksi ilman vastaavaa muiden piirteiden käyttöä.
Claims (11)
1. Segmenttimäärittelijäyksikkö (10) käännösoperaatioiden suorittamiseksi mainitun yksikön vastaanottamille kaikille sanoille, tunnettu siitä, että mainittu yksikkö sisältää: yhden ainoan suorasaantimuistin (RAM)(12-1), jolla on lukuisia muistipaikkoja, jolloin kullakin muistipaikalla on lukuisia bittipaikkoja, jolloin mainittujen lukuisten muistipaikkojen ensimmäisten yksilöiden ensimmäinen ja toinen bitti-paikkaryhmä ovat sijoitetut toistensa suhteen ennalta määrätyllä tavalla tallettamaan eri tyyppistä määrittelijätietoa, joka on haettavissa vain ensimmäisen ja vastaavasti toisen tyyppisen käännösoperaation aikana; assosiatiivisen muistin (CAM) (12-3), jossa on lukuisia muistipaikkoja sellaisen tiedon tallettamiseen, joka tarvitaan vastaavan määrän käännettäviä segmenttimäärittelijäsanoja kääntämistä varten, ja lukuisia ulostuloja osumasignaalien muodostamiseksi, jotka ilmaisevat tulosta mainitun kunkin käännettävän sanan vertaamisesta tietoon, joka on talletettu mainittuihin lukuisiin muistipaikkoihin, jolloin mainitut ulostulot on kytketty mainittuun RAM:iin; ja mikro-ohjelmoidun ohjauselimen (30) kytkettynä mainittuun RAM:iin ja mainittuun CAM:iin, jolloin mainittu ohjauselin sisältää ohjausmuistin, jossa on useita paikkoja useiden eri tyyppiä olevien mikrokäskysanojen tallentamiseksi (Fig. 6a -6e), jolloin mainittu ohjauselin, vastauksena kunkin mainitun ; käännettävän sanan vastaanottamiselle, lukee ensimmäisen maini tuista eri tyyppiä olevista mikrokäskysanoista ensimmäisen signaaliryhmän kehittämiseksi ensimmäisen laitteen (14) tekemiseksi kykeneväksi suorittamaan toimenpiteitä ensimmäisen tyyppisen käännöstoimenpiteen suorittamiseksi ja jolloin mainittu ohjauselin vastauksena mainituille osumasignaaleille, jotka ilmaisevat puuttumistilanteen, lukee toisen mainituista eri tyyppiä olevista mikrokäskysanoista toisen signaaliryhmän kehittämiseksi toisen laitteen (16) tekemiseksi kykeneväksi kehittämään osoitteen informaatiosta, joka on talletettu mainittuun toiseen palkkaryhmään, puuttuvan datan hakemiseksi toisen tyyppisen käännöstoimenpiteen loppuunsaattamiseksi il , 29 93586 mainitulle vastaanotetulle sanalle samanaikaisesti mainitun ensimmäisen tyyppisen toimenpiteen kanssa eri toimintasyklien aikana.
2. Patenttivaatimuksen 1 mukainen segmenttimäärittelijä, tunnettu siitä, että mainittu yksikkö lisäksi sisältää dekooderielimen (12-7) kytkettynä mainittuun RAM:iin ja mainittuun mikro-ohjelmoituun ohjauselimeen, jolloin mainittu dekoo-derielin pakotetaan kolmannella ryhmällä signaaleja mainitulta mikro-ohjelmoidulta ohjauselimeltä hakemaan haluttu toisista mainitun RAM-muistin mainituista lukuisista paikoista, joita käytetään tallettamaan työrekisteritietoa, jota käytetään mainittujen ensimmäisen ja toisen tyyppisen käännösoperaation suorittamisen aikana.
3. Patenttivaatimuksen 2 mukainen segmenttimäärittelijä, tunnettu siitä, että mainittu yksikkö lisäksi sisältää rekisterin (18) tallettamaan jokaisen sanan, joka tarvitsee kääntää, jolloin mainittu rekisteri on kytketty mainittuun dekooderielimeen, jolloin mainittu dekooderielin pakotetaan signaaleilla mainitulta rekisteriltä ja signaaleilla mainitulta toiselta ryhmältä signaaleja hakemaan määrätty kolmannesta ryhmästä mainittuja muistipaikkoja, jotta muodostettaisiin osoite sen tiedon hakemiseksi, joka tullaan tallettamaan mainittuun toiseen ryhmään bittipaikkoja yhteen mainituista ensim- ' . mäisistä paikoista, joka sai CAM:in muodostamaan osumasignaa- lit, jotka ilmaisivat puuttumistilannetta.
4. Patenttivaatimuksen 1 mukainen segmenttimäärittelijä, tunnettu siitä, että mainittu ensimmäinen laite (14) vastaa varmistustarkistuspiirejä, jotta verifioidaan muistin haku, joka perustuu mainitun tiedon tilaan, joka on talletettu mainittuun ensimmäiseen ryhmään bittipaikkoja.
5. Patenttivaatimuksen 3 mukainen segmenttimäärittelijä, tunnettu siitä, että mainittu toinen laite (16) on summain osoitteen muodostamiseksi mainitusta tiedosta, joka on 30 93586 talletettu mainittuun toiseen ryhmään paikkoja, jotta haettaisiin puuttuva tieto, jota tarvitaan mainitun vastaanotetun sanan käännöksen loppuunsaattamiseen.
6. Patenttivaatimuksen 1 mukainen segmenttimäärittelijä, tunnettu siitä, että mainittu yksikkö on VLSI-piirira-kenteinen ja mainitun RAM:in mainittu ensimmäinen ryhmä bitti-paikkoja ja mainittu toinen ryhmä bittipaikkoja on järjestetty vuorottelevalla tavalla siten, että vain se tieto joka on tarpeen mainittujen ensimmäisen ja toisen käännösoperaation suorittamiseen mainituilla ensimmäisellä ja toisella laitteella, on haettavissa toiminnan eri jaksoilla, jotka määritellään mainituilla ensimmäisellä ja toisella ryhmällä signaaleja, jolloin mainittu järjestely vähentää piiritilaa niiden tieto-bittien määrään nähden, joita mainituilla laitteilla käsitellään.
7. Patenttivaatimuksen 6 mukainen segmenttimäärittelijä, tunnettu siitä, että mainittu ensimmäinen laite sisältää lukuisia vertailulohkoja (SSO-9), ja mainittu toinen laite sisältää lukuisia summainasteita (AO-11), jolloin kukin mainituista lukuisista summainasteista on sijoitettu mainittujen vertailulohkojen väliin, jotta minimoitaisiin piirialavaatimuk-set.
8. Patenttivaatimuksen 6 mukainen segmenttimäärittelijä, tunnettu siitä, että mainittu RAM lisäksi sisältää lukuisia luku/kirjoitusvahvistinpiirejä (12-14) ja lukuisia multiplekseripiirejä (12-12), jolloin kukin lukumäärä vastaa mainitun ensimmäisen ryhmän bittipaikkojen määrää, jolloin mainitut vahvistinpiirit ja mainitut multiplekseripiirit on järjestetty sarakkeiksi, jotka on asetettu riviin vastaavien bittiparien kanssa mainituilta ensimmäiseltä ja toiselta ryhmältä RAM-bittipaikkoja, jolloin mainitut multiplekseripiirit on kytketty mainittuun mikro-ohjelmoituun ohjauselimeen, jolloin mainitut multiplekseripiirit vastineena signaaleille mainitulta ohjauselimeltä valitsevat, mitkä bittipaikat maini- 31 93586 tuista bittiparien paikoista kytketään vastaaviin mainittuihin luku/kirjoitusvahvistuspiireihin RAM:in luku- tai kirjoitusoperaatio jakson aikana.
9. Patenttivaatimuksen 1 mukainen segmenttimäärittelijäyksikkö, tunnettu siitä, että mainittu suorasaantimuisti (RAM) on yhtäläisesti jaettu lohkopariksi (12-1 a, 12—1b), jolloin kussakin lohkossa on lukuisia bittipaikkoja järjestettyinä riveihin ja sarakkeisiin, ja lukuisia sanalinjoja, kunkin sana-linjan ollessa liitettynä eri rivin bittipaikkoihin ja lukuisiin bittilinjoihin, mainittujen bittilinjaparien ollessa kytkettyinä eri sarakkeen bittisoluihin, kunkin ensimmäisen rivien joukon vuorotellen sijoitettujen bittipaikkojen ensimmäisen ja toisen ryhmän tallentaessa tietoa, joka liittyy ensimmäiseen ja toiseen eri tyyppiä oleviin osoitteenkäännös-toimenpiteisiin, missä mainittu tieto, joka on talletettu kunkin RAM-lohkon mainittuun toiseen rivien joukkoon mainittuun ensimmäiseen bittipaikkojen ryhmään, sisältää osoitteet hakemaan segmentinmäärittelijätiedon, jonka mainitut osumasignaalit ovat ilmaisseet olevan tallentamatta mainitussa assosiatiivisessa muistissa (CAM).
10. Patenttivaatimuksen 9 mukainen segmenttimäärittelijäyksikkö, tunnettu siitä, että rivien toisen joukon bitti-paikkojen mainittu ensimmäinen ryhmä on käytettävissä työrekis-terimuistina, joka on käyttökelpoinen mainitun ensimmäisen ja toisen käännöstoimenpiteen aikana.
11. Patenttivaatimuksen 10 mukainen segmenttimäärittelijäyksikkö, tunnettu siitä, että mainittu RAM tallentaa segmenttimääritteli jät (SDW), kunkin segmenttimäärittelijän sisältäessä kaksi osaa, hakuohjausosan (ACW) ja staattisen käännös-sanaosan (STW), ja missä mainitut hakuohjausosat ovat talletetut mainitun ensimmäisen ryhmän vastaaviin paikkoihin ja mainitut staattiset käännössanaosat ovat talletetut mainitun toisen ryhmän vastaaviin paikkoihin. 32 93586 Patenikrav
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US94731586A | 1986-12-23 | 1986-12-23 | |
US94731586 | 1986-12-23 |
Publications (4)
Publication Number | Publication Date |
---|---|
FI875615A0 FI875615A0 (fi) | 1987-12-21 |
FI875615A FI875615A (fi) | 1988-06-24 |
FI93586B FI93586B (fi) | 1995-01-13 |
FI93586C true FI93586C (fi) | 1995-04-25 |
Family
ID=25485945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FI875615A FI93586C (fi) | 1986-12-23 | 1987-12-21 | Segmenttimäärittelijäyksikkö |
Country Status (11)
Country | Link |
---|---|
EP (1) | EP0272670A3 (fi) |
JP (1) | JPH07120316B2 (fi) |
KR (1) | KR930009667B1 (fi) |
CN (1) | CN1009771B (fi) |
AU (1) | AU603167B2 (fi) |
CA (1) | CA1286422C (fi) |
DK (1) | DK685987A (fi) |
FI (1) | FI93586C (fi) |
MX (1) | MX168306B (fi) |
NO (1) | NO173116C (fi) |
YU (1) | YU236587A (fi) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4819165A (en) * | 1987-03-27 | 1989-04-04 | Tandem Computers Incorporated | System for performing group relative addressing |
GB2260629B (en) * | 1991-10-16 | 1995-07-26 | Intel Corp | A segment descriptor cache for a microprocessor |
US5895489A (en) * | 1991-10-16 | 1999-04-20 | Intel Corporation | Memory management system including an inclusion bit for maintaining cache coherency |
US5479628A (en) * | 1993-10-12 | 1995-12-26 | Wang Laboratories, Inc. | Virtual address translation hardware assist circuit and method |
US5530824A (en) * | 1994-04-04 | 1996-06-25 | Motorola, Inc. | Address translation circuit |
US6754784B1 (en) * | 2000-02-01 | 2004-06-22 | Cirrus Logic, Inc. | Methods and circuits for securing encached information |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4520441A (en) * | 1980-12-15 | 1985-05-28 | Hitachi, Ltd. | Data processing system |
US4538241A (en) * | 1983-07-14 | 1985-08-27 | Burroughs Corporation | Address translation buffer |
-
1987
- 1987-12-16 AU AU82609/87A patent/AU603167B2/en not_active Ceased
- 1987-12-21 EP EP87118946A patent/EP0272670A3/en not_active Withdrawn
- 1987-12-21 FI FI875615A patent/FI93586C/fi not_active IP Right Cessation
- 1987-12-22 MX MX009885A patent/MX168306B/es unknown
- 1987-12-22 CA CA000555044A patent/CA1286422C/en not_active Expired - Lifetime
- 1987-12-22 NO NO875391A patent/NO173116C/no unknown
- 1987-12-22 JP JP62325130A patent/JPH07120316B2/ja not_active Expired - Lifetime
- 1987-12-23 KR KR1019870015023A patent/KR930009667B1/ko not_active IP Right Cessation
- 1987-12-23 CN CN87108389A patent/CN1009771B/zh not_active Expired
- 1987-12-23 YU YU02365/87A patent/YU236587A/xx unknown
- 1987-12-23 DK DK685987A patent/DK685987A/da not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
FI875615A0 (fi) | 1987-12-21 |
YU236587A (en) | 1990-12-31 |
KR880008160A (ko) | 1988-08-30 |
CN87108389A (zh) | 1988-07-06 |
EP0272670A2 (en) | 1988-06-29 |
FI875615A (fi) | 1988-06-24 |
NO173116B (no) | 1993-07-19 |
EP0272670A3 (en) | 1990-05-16 |
NO875391D0 (no) | 1987-12-22 |
NO875391L (no) | 1988-06-24 |
CA1286422C (en) | 1991-07-16 |
JPH07120316B2 (ja) | 1995-12-20 |
AU603167B2 (en) | 1990-11-08 |
MX168306B (es) | 1993-05-17 |
KR930009667B1 (ko) | 1993-10-08 |
CN1009771B (zh) | 1990-09-26 |
AU8260987A (en) | 1988-06-23 |
NO173116C (no) | 1993-10-27 |
FI93586B (fi) | 1995-01-13 |
DK685987D0 (da) | 1987-12-23 |
JPS63213046A (ja) | 1988-09-05 |
DK685987A (da) | 1988-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5053951A (en) | Segment descriptor unit for performing static and dynamic address translation operations | |
US6523090B2 (en) | Shared instruction cache for multiple processors | |
US5559986A (en) | Interleaved cache for multiple accesses per clock cycle in a microprocessor | |
US7240159B2 (en) | Data processor having cache memory | |
JP3936378B2 (ja) | アドレス変換装置 | |
US5588126A (en) | Methods and apparatus for fordwarding buffered store data on an out-of-order execution computer system | |
US5341500A (en) | Data processor with combined static and dynamic masking of operand for breakpoint operation | |
US11972126B2 (en) | Data relocation for inline metadata | |
US20030177335A1 (en) | Method and apparatus for detecting pipeline address conflict using parallel compares of multiple real addresses | |
US4901228A (en) | Pipelined cache system using back up address registers for providing error recovery while continuing pipeline processing | |
US7035986B2 (en) | System and method for simultaneous access of the same line in cache storage | |
EP0730228B1 (en) | ECC protected memory organization with pipelined read-modify-write accesses | |
FI93586C (fi) | Segmenttimäärittelijäyksikkö | |
US6804759B2 (en) | Method and apparatus for detecting pipeline address conflict using compare of byte addresses | |
US6990556B2 (en) | System and method for simultaneous access of the same doubleword in cache storage | |
JPH07248974A (ja) | 情報処理装置 | |
JP2517154B2 (ja) | デ―タ処理装置 | |
KR100196522B1 (ko) | 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치 | |
JPS62296252A (ja) | バツフア記憶制御方式 | |
IE901526A1 (en) | Method and apparatus for increasing the data storage rate of¹a computer system having a predefined data path width | |
JPH03282753A (ja) | キャッシュメモリの無効化方式 | |
JPS5969843A (ja) | マイクロプログラム制御方式 | |
JPH02139635A (ja) | エラー処理方式 | |
JPH0973428A (ja) | 演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
BB | Publication of examined application | ||
MM | Patent lapsed | ||
MM | Patent lapsed |
Owner name: HONEYWELL BULL INC. |