FI95971B - Laite ja menetelmä sivutettuun muistiin pääsemiseksi tietokonejärjestelmässä - Google Patents

Laite ja menetelmä sivutettuun muistiin pääsemiseksi tietokonejärjestelmässä Download PDF

Info

Publication number
FI95971B
FI95971B FI891784A FI891784A FI95971B FI 95971 B FI95971 B FI 95971B FI 891784 A FI891784 A FI 891784A FI 891784 A FI891784 A FI 891784A FI 95971 B FI95971 B FI 95971B
Authority
FI
Finland
Prior art keywords
memory
data
address
bus
parity
Prior art date
Application number
FI891784A
Other languages
English (en)
Swedish (sv)
Other versions
FI891784A (fi
FI891784A0 (fi
FI95971C (fi
Inventor
Mark Edward Dean
Patrick Maurice Bland
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of FI891784A0 publication Critical patent/FI891784A0/fi
Publication of FI891784A publication Critical patent/FI891784A/fi
Publication of FI95971B publication Critical patent/FI95971B/fi
Application granted granted Critical
Publication of FI95971C publication Critical patent/FI95971C/fi

Links

Classifications

    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1018Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
    • G11C7/1021Page serial bit line access mode, i.e. using an enabled row address stroke pulse with its associated word line address and a sequence of enabled column address stroke pulses each with its associated bit line address
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Dram (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Hardware Redundancy (AREA)
  • Bus Control (AREA)

Description

χ '95971
Laite ja menetelmä sivutettuun muistiin pääsemiseksi tietokonej ärjestelmässä Tämä keksintö liittyy tietokonejärjestelmissä käy-5 tettyihin muisteihin yleensä ja erityisesti sellaisissa järjestelmissä käytettyihin sivutettuihin muisteihin talletetun datan osoittamiseen.
Tarkemmin sanottuna keksinnön kohteena on tietokonejärjestelmä, joka käsittää: dynaamisen sivutetun muis-10 tin; osoite- Ja dataväylät, data- ja osoiteväyliin kytketyt prosessointivälineet; ja data- ja osoiteväyliin sekä muistiin kytketyn muistiohjaimen muistin osoittamiseksi generoimalla riviosoite-toimintapulsseja ja sarakeosoite-toimintapulsseja kulloinkin prosessorin osoiteväylän väli-15 tyksellä välittämän rivi- ja sarakeosoitedatan yhteydessä muistipaikan osoittamiseksi muistista, muistiohjaimen käsittäessä esivarausvälineet CAS-signaalin esivaraamiseksi.
Keksinnön kohteena on lisäksi menetelmä tietokonejärjestelmän käyttämiseksi, joka järjestelmä käsittää dy-20 naamisen sivutetun muistin, data- ja osoiteväylät, data-ja osoiteväyliin kytketyt prosessointivälineet, ja data-ja osoiteväyliin sekä muistiin kytketyn muistiohjaimen, jolloin menetelmä käsittää: muistiohjaimen prosessorin osoiteväylän välityksellä välittämän rivi- ja sarakeosoi-25 tedatan yhteydessä kulloinkin tuottamien riviosoite-toi-mintapulssien ja sarakeosoite-toimintapulssien syöttämisen muistiin muistipaikan osoittamiseksi muistista.
Tietokonejärjestelmille asetetut vaatimukset yhä suurempien nopeuksien, suuremman tehollisen käsittelytehon 30 ja suuremman kokonaissuorituskyvyn saavuttamiseksi jatkuvat. Eräänä suuntana on ollut tietokoneen suorittimen (CPU) kellotaajuuden nostaminen. Tämä johtaa tietenkin siihen, että aikayksikössä käsitellään suurempi määrä käskyjä. Kun kellotaajuutta nostetaan, on kuitenkin muistiin 35 liittyvää saantiaikaa vastaavasti jotenkin lyhennettävä, 2 95971 mikäli kellotaajuuden nostamisesta halutaan saada täysi hyöty. Muutoin datan muistista lukemiseen liittyvästä saantiajasta muodostuu merkittävä rajoittava tekijä, joka rajoittaa suorittimen tehollista suorituskykyä.
5 Eräs lähestymistapa datan muistista lukemiseen vaa ditun tehollisen saantiajän lyhentämiseksi on sivutetun muistin käyttäminen. Toisin sanoen, muisti jaetaan useisiin sivuihin, jolloin jokainen sivu käsittää rivin, jolla on yhteinen riviosoite koko riville. Sivun jokainen rivi 10 sisältää useita sarakkeita, joilla on vastaavat sarake-osoitteet. Sellaiseen sivutettuun muistiin talletetun määrätyn datalohkon käyttämiseksi muistille syötetään tämän datan riviosoite sen muistisivun valitsemiseksi, jossa data on. Sen jälkeen dataan liittyvä sarakeosoite syöte-15 tään muistille, osoitetulla rivillä eli sivulla olevan määrätyn datalohkon valitsemiseksi. Tyypillisesti osoitettu data sitten luetaan dataväylälle. Esimerkki sivutetusta muistista on IBM Personal System/2, Model 80 -tietokoneessa. (Personal System/2 on International Business Machines 20 Corporationiin tavaramerkki). Sellaista sivutettua muistia käyttävää tietokonetta yleisesti edustava yksinkertaistettu lohkokaavio on esitetty kuviossa 1 järjestelmänä 10. Järjestelmä 10 sisältää suorittimen (CPU) 20 eli mikroprosessorin, johon on kytketty osoiteväylä 30 ja dataväylä 25 40. Järjestelmä 10 sisältää lisäksi muistin ohjaimen 50, ' johon on kytketty osoiteväylä 30 ja dataväylä 40. Suorit timen 20 ja muistin ohjaimen 50 välille on kytketty oh-jausväylä 60, niin että niiden välillä voidaan siirtää ohjaussignaaleja. Muistin ohjain 50 on kytketty ainakin 30 yhteen muistiyksikköön 70, joka muodostuu hajasaantimuis-,, tista (RAM). Tässä esimerkissä muistiyksikkö 70 on jaettu sivuihin, joiden pituus on 2Ksanaa (512 x 32 ja pariteetti), jolloin jokaisella sivulla on määritelmän mukaan sama riviosoite. Jokainen sivu sisältää siten 2K sarakeosoit-35 teitä. Muistin ohjaimen 50 ja muistiyksikön 70 välille on kytketty dataväylä 80 niiden välistä datan siirtoa varten.
95971 3
Multipleksoitu MUX-osoiteväylä 90 on kytketty muistin ohjaimen 50 ja muistiyksikön 70 väliin, niin että rivi- ja sarakeosoiteinformaatio voidaan siirtää muistin ohjaimesta 50 muistiyksikölle 70. MUX-osoiteväylällä 90 on 5 vähemmän johtoja kuin osoiteväylällä 30 johtuen väylän 90 multipleksoidusta luonteesta, jolloin ensiksi syötetään rivin eli sivun osoite muistiyksikölle 90 muistin osoitus-jakson aikana, ja sitten toiseksi myöhemmin samassa jaksossa syötetään sarakeosoite muistiyksikölle 90. Muistin 10 ohjain 50 syöttää riviosoite-toimintapulssin (RAS) signaaleja sekä sarakeosoite-toimintapulssin signaaleja (CAS) muistiyksikölle 70, kuten kuviosta 1 voidaan nähdä. RAS-ja CAS-signaalien luonnetta selitetään seuraavassa kuvion 2 ajastuskaavion selityksen yhteydessä.
15 Kuvio 2 esittää tietokonejärjestelmään 10 liittyvän tyypillisen muistijakson ajastuskaavion. Tätä esimerkkiä varten oletetaan, että CPU 20 haluaa osoittaa tai noutaa ensimmäisen datalohkon muistista 70 sen ennalta määrätystä osoitteesta. Jotta se todella pääsisi tällaiseen informaa-20 tioon, CPU 20 lähettää datan osoitteen muistin ohjaimelle 50. Muistin ohjain 50 toteuttaa dataosoitteen jakamisen kahteen osaan, nimittäin riviosoitteeseen (joka myös tunnetaan sivuosoitteena) ja sarakeosoitteeseen. Riviosoite ja sarakeosoite multipleksoidaan MUX-osoiteväyIälle 90 25 (MUX ADDR). Toisin sanoen, riviosoite annetaan ensin tälle MUX-osoiteväylälle 90. RAS-signaali on aluksi ylhäällä eli OFF. On huomattava, että koska kuvion 2 ajastuskaaviossa käytetään negatiivista logiikkaa, vastaa tila ylhäällä OFF-tilaa, ja tila alhaalla ON-tilaa. RAS-signaali laskee 30 ON-tilaan kohdassa 105 sen riviosoitteen valitsemiseksi, joka sillä hetkellä on syötetty MUX-osoiteväylälle 90. Tällä tavalla muistiyksikkö 70 valitsee sen määrätyn sivun (rivin), johon osoitettu data on talletettu. RAS pysyy ON-tilassa ensimmäisen muistijakson ajan ja sitä seuraavan 35 toisen muistijakson ajan.
4 95971
Kun RAS menee ON-tilaan ja riviosoite on valittu ensimmäisessä muistijaksossa, halutun' data sarakeosoite syötetään MUX-osoiteväylälle kohdassa 110. Sen jälkeen CAS-signaali muutetaan ON-tilaan kohdassa 115 sen sarake-5 osoiteosan valitsemiseksi, joka sillä hetkellä syötetään MUX-osoiteväylälle 90. Tässä kohdassa osoite on valmis, koska haluttua dataa vastaavat sekä rivi- että sarake-osoiteosat on syötetty muistiyksikölle 70. Muistiyksikkö 70 hakee tällöin näin osoitetun datan ja luovuttaa sen 10 muistin dataväylälle 80. Muistin dataväylällä 80 oleva data muuttuu kelvolliseksi kohdassa 120 määrätyn aikaviiveen TD jälkeen, joka esiintyy kohdan 115 jälkeen kun osoitteen määrittely ja valinta on valmis. Mikroprosessori 20 vastaanottaa tällöin osoitetun datan kuvion 1 data-15 väylältä 40. Alan ammattilaiset käyttävät termiä TCAS määri telläkseen aikaviiveen siitä hetkestä, jolloin CAS tulee aktiiviksi, siihen hetkeen, jolloin muistin dataväylän 80 data tulee kelvolliseksi. Termi TRAS viittaa aikaviiveeseen siitä hetkestä, jolloin RAS tulee aktiiviksi, siihen 20 hetkeen, jolloin data tulee kelvolliseksi. Tavallisemmin TRAS:ään viitataan "saantiaikana", joka esiintyy määrätyllä muistilaitteella, Esimerkiksi muistilaitteella, jonka saantiaika on 80 ns, on 80 ns pituinen TRAS.
Tätä esimerkkiä varten oletetaan, että muistiyksi-25 köstä 70 on haettava toinen datalohko, joka sijaitsee samalla sivulla eli rivillä kuin ensimmäinen datalohko. Alan ammattilaiset käyttävät termiä liukuhihnakäsittely ("pipelining" ) kuvatessaan osoitteen muutos toimintaa, esimerkiksi sarakeosoitteen osalta, ennen käynnissä olevan 30 muistijakson loppumista ja valmisteluna seuraavaan muisti- .. jaksoon. Liukuhihnakäsittely itsessään säästää aikaa, kos ka sen avulla muistin ohjaimen 50 osoitteen dekoodauspii-rit voivat aloittaa osoitteen käsittelyn aikaisemmin kuin mitä muutoin olisi mahdollista. Kuviossa 2 nähdään esi-35 merkki sellaisesta liukuhihnakäsittelystä, jossa, sen jäi-
i· m.i «iiu uiM
5 95971 keen kun data on tullut kelvolliseksi kohdassa 120, ja ennen kuin ensimmäinen muistijakso päättyy kohdassa 125, sarakeosoite muutetaan uudeksi sarakeosoitteeksi kohdassa 130, joka sarakeosoite vastaa toista datalohkoa. Koska 5 toisessa muistijaksossa haettava data sijaitsee samalla rivillä kuin ensimmäisessä muistijaksossa haettu data, sarakeosoiteosa muuttuu kohdassa 130, kun taas rlviosoite pysyy samana. Tätä tilannetta sanotaan sivuosumaksi ("page hit"). Koska sivuosuman tapahtuessa riviosoitetta ei vält-10 tämättä tarvitse lähettää muistiyksikölle 70, voidaan muistin sivutusjärjestelyllä säästää arvokasta aikaa.
Ennenkuin muistiyksikkö 70 voi valita ja todella käyttää nyt MUX-osoiteväylällä 90 olevaa sarakeosoite-informaatiota, on CAS-signaali siirrettävä OFF-tilaan en-15 naita määrätyksi ajaksi, jota sanotaan CAS-esivaraukseksi 135. Alan ammattilaiset viittaavat CAS-esivarausaikaan termillä TCRP. Muistilaitteella, jonka saantiaika on 80 ns, tyypillinen TCRPrn arvo olisi 15 ns. Sen jälkeen kun CAS-esivaraus on päättynyt, siirretään CAS jälleen 0N-20 tilaan kohdassa 140, niin että toisen datalohkon sarakeosoiteosa valitaan muistiyksiköllä 70. Näin on toisen datalohkon osoite valmis, ja muistin dataväylän 80 data tulee kelvolliseksi kohdassa 145 ennalta määrätyn aikaviiveen TD jälkeen siitä, kun kohdassa 140 osoite on val-25 mis ja valittu. Sen jälkeen mikroprosessori 20 vastaanottaa datan kuvion 1 dataväylältä 40. Toinen muistijakso päättyy kohdassa 150.
Tämän esimerkin vuoksi oletetaan, että kolmas data-lohko, joka sijaitsee eri sivulla eli rivillä kuin ensim-30 mäinen ja toinen datalohko, on haettava kolmannen muisti-jakson aikana, joka alkaa kohdassa 150, jolloin osa sellaista kolmatta muistijaksoa on esitetty kuviossa 2. Tähän tilanteeseen viitataan sivuhutina ("page miss"). Toisin sanoen, muistiyksikölle 70 on järjestettävä kolmannen da-35 talohkon paikkaan liittyvä uusi riviosoiteosa. Sellainen 6 95971 uusi riviosoiteosa esiintyy MUX-osoiteväylällä liukuhihna-käsittelyllä kohdassa 155. Kolmannen muistijakson aluksi kohdassa 150 RAS muutetaan OFF-tilaan valmisteltaessa uutta riviosoitetta. Uusi riviosoite valitaan tosiasiassa 5 sitten, kun RAS on siirretty ON-tilaan kohdassa 160. Kolmannen muistijakson loppuosa on oleellisesti samanlainen kuin kuvion 2 ensimmäinen muistijakso, jolloin CAS-esiva-raus järjestetään kohdassa 165 lähellä kolmannen muisti-jakson alkua.
10 Edellä olevasta selityksestä nähdään, että siinä tapauksessa jolloin sivuosuma esiintyy sivutetussa muistissa, käytetään merkittävä aika (vertaa toinen muistijakso kuviossa 2) suoritettaessa CAS-esivaraus ennen kuin uutta sarakeosoiteosaa voidaan käyttää täydentämään uutta 15 osoitetta ja valitsemaan vastaavaa dataa.
Kuten edellä mainittiin, on tietokonejärjestelmiä suunniteltu yhä suuremmin kellotaajuuksin. Olettaen, että muistijakso käsittää ennalta määrätyn lukumäärän kello-pulsseja, jotka lyhenevät vastaavasti kellotaajuuden kas-20 väessä, pyrkivät sellaiset muistin valmistelutoimenpiteet, kuten CAS-esivaraus, varaamaan yhä suuremman osan muistin saantijaksosta kun kellotaajuus kasvaa. Eräs tapa muistin nopeuteen tai saantiaikaan nähden hyvin nopeasti toimivan mikroprosessorin sopeuttamiseksi on tietokonejärjestelmän 25 odotustilojen lisääminen, jolloin mikroprosessoria tehol-lisesti hidastetaan odottamaan muistista haettavaa dataa. Tämä toimintatapa on yleisesti ottaen epätoivottava, koske se kumoaa joitakin niistä eduista, jotka saavutetaan nostamalla mikroprosessorin kellotaajuutta.
30 Esillä olevan keksinnön tarkoituksena on sellaisen .. tietokonejärjestelmän aikaansaaminen, joka pystyy toimi maan suurilla kellotaajuuksilla turvautumatta lisäodotus-tiloihin sivutettua muistia käytettäessä. Tämä päämäärä saavutetaan keksinnön mukaisella järjestelmällä, jolle on 35 tunnusomaista, että muistiohjain käsittää pitovälineet, 7 95971 jotka on kytketty dataväylään ja muistiin datan tallentamiseksi osoitetusta muistipaikasta sen siirtämiseksi dataväylälle, ja että esivarausvälineet esivaraavat CAS-signaalin, kun pitovälineet ovat tallentaneet datan.
5 Esillä olevan keksinnön mukaisesti aikaansaadaan lisäksi menetelmä sivutetun muistin sisältävän tietokonejärjestelmän käyttämiseksi. Keksinnön mukaiselle menetelmälle on tunnusomaista, että muistiohjaimen pitovälinei-siin tallennetaan muistista osoitetusta muistipaikasta 10 saatua dataa tämän syöttämiseksi dataväylälle, ja kun pitovälineet ovat tallentaneet datan esivarataan CAS-signaa li.
Keksintöä selitetään seuraavassa lähemmin esimerkin avulla viitaten oheisiin piirustuksiin, joissa: 15 Kuvio 1 on yksinkertaistettu tavanomaisen sivute tulla muistilla varustetun tietokonejärjestelmän lohkokaavio;
Kuvio 2 on erääseen tyypilliseen tavanomaiseen sivutettuun muistiin liittyvä ajastuskaavio; 20 Kuvio 3 on yksinkertaistettu graafinen esitys esil lä olevan keksinnön sisältävästä tietokonejärjestelmästä;
Kuvio 4 on esillä olevan keksinnön sisältävän tietokone järjestelmän lohkokaavio;
Kuviot 5A ja 5B ovat ajastuskaavioita, jotka esit-25 tävät kuvion 4 (kuvion 5B) mukaisen tietokonejärjestelmän muistiosan ajastuksen verrattuna kuvion 2 (kuvio 5A) mukaisen tavanomaisen järjestelmän muistiosan ajastukseen;
Kuvio 6 on vuokaavio, joka esittää miten muistin osoitusta sovelletaan kuvion 4 tietokonejärjestelmässä; 30 Kuvio 7 on kuvion 4 tietokonejärjestelmässä käyte tyn kaksisuuntaisen pitopiirin lohkokaavio;
Kuvio 8 on kuvion 7 täydellisen datapuskurin lohko-kaavio ; ja
Kuvio 9 on kuvion 8 datapuskurin nastajärjestyksen 35 havaintoesitys.
β 95971
Kuviossa 3 esitetään esillä olevan tietokonejärjestelmän yksinkertaistettu lohkokaavio, sisältäen tietokone järjestelmäyksikön 200, johon on kytketty monitori 205, näppäimistö-syöttölaite 210, hiiri-syöttölaite 215 ja 5 kirjoitin-tulostuslaite 220.
Kuvio 4 on tietokonejärjestelmäyksikön 200 lohko-kaavio. Järjestelmäyksikkö 200 sisältää prosessorin 225, esimerkiksi 32-bittisen prosessorin, kuten Intel 80386-prosessorin. CPU:n paikallisväylä 230 muodostuu 36-bitti-10 sestä osoiteväylästä, 32-bittisestä dataväylästä ja 10- bittisestä ohjausväylästä, jotka on kytketty prosessorin 225 ja puskurin 240 välille, kuten kuvio 4 osoittaa. Mate-matiikka-rinnakkaisprosessori 245, kuten Intel 80387 rin-nakkaisprosessori, on kytketty CPU:n paikallisväylään 230 15 liukulukulaskujen suorittamiseksi ja järjestelmän suori tuskyvyn nostamiseksi.
Järjestelmäyksikkö 200 sisältää järjestelmän paikallisväylän 250 puskurin 240 ja puskurin 253 välillä. Järjestelmän paikallisväylä 250 sisältää dataväylän, 20 osoiteväylän ja ohjausväylän, kuten kuviossa 4 on esitetty. Puskuri 240 toimii puskuroiden CPU:n paikallisväylän 230 osoiteväylää suhteessa järjestelmän paikallisväylän 250 osoiteväylään. Puskuri 240 puskuroi myös CPU:n paikallisväylän dataväylää ja osoiteväylää suhteessa järjestel-25 män paikallisväylän 250 ohjausväylään ja dataväylään.
CPU:n datan välimuisti 225, esimerkiksi datan välimuisti sisältäen 64 K muistia, on kytketty CPU:n paikallisväylän 230 osoite- ja dataväyliin. välimuistin ohjain 260, kuten esimerkiksi Intel 82385 välimuistiohjain, on kytketty 30 CPU:n paikallisväylän 230 osoite- ja dataväyliin. Välimuistiohjain 260 ohjaa usein käytetyn datan hakemista ja tallettamista, joka data on talletettu välimuistiin 255 järjestelmäyksikön 200 toiminnan tehokasta nopeuttamista varten. Välimuistiohjain 260 on kytketty myös järjestelmän 35 paikallisväylän 250 osoiteväylään.
9 95971 Järjestelmäyksikkö 200 sisältää väylän ohjaus- ja ajastuspiirin 265, joka on kytketty järjestelmän paikallisväylän 250 osoite-, data- ja ohjausväyliin. Järjestelmän paikallisväylä 250 on kytketty pito/puskuri/dekooderin 5 267 kautta tulo/lähtö- (I/O) väylään 270, joka sisältää 10-bittisen osoiteväylän, 8-bittlsen dataväylän ja osoite-väylän. Puskuri/dekooderi 267 purkaa järjestelmän paikallisväylän osoite- ja ohjaussignaalit, ja antaa I/O-väyläl-le 270 "siruvalinta"- ja 1/0-käskysignaalit. Ymmärretään, 10 että "siruvalinta" viittaa määrätyn, I/O-väylään 270 kytketyn laitteen valitsemiseen, jossa toiminta on suoritettava. I/O-väylä 270 on kytketty näyttösovittimeen 275, CMOS-kelloon 280, CMOS-RAM:iin 285, RS-232 sovittimeen 290, kirjoitinsovittimeen 295, 4-kanavaiseen ajastimeen 15 300 yleistä ajastustoimintaa varten. I/O-väylä 279 on li säksi kytketty levykesovittimeen 305, keskeytysohjaimeen 310 ja lukumuistiin (ROM), joka sisältää järjestelmän pe-rusliitäntöjen ohjausjärjestelmän (BIOS).
Micro Channel- (TM) väylä 320, jossa on osoite-, 20 data- ja ohjausväylä, on kytketty järjestelmän paikallisväylään puskurin 253 kautta. Micro Channel-väylän rakennetta kuvataan tarkemmin kirjassa IBM PS/2 Model 80 Technical Reference Manual. Micro Channel-väylän rakenteen mukaisesti keskeinen hallintapiste (CACP) 325 on kytketty 25 Micro Channel-väylään 320 sekä ohjaus- ja ajastuspiiriin • 265 moni lait teisen Micro Channel-väylän hallintamekanismin ohjaamiseksi. Sellaisen hallintapisteen 325 ja väylän ohjaus- ja ajastuspiirin liitäntä muodostaa itse asiassa osan Micro Channel-väylää 320.
30 Micro Channel-väylään 320 on kytketty useampia
Micro Channel-kantoja, kuten kuviossa 4 esitetään, joihin ...... voidaan liittää eri toiminteita sisältäviä piirilevyjä, kuten muistikortteja, videosovittimia, DASD-sovittimia, SCSI-sovittimia ja tietoliikenteen sovituskortteja. Micro 35 Channel-väylään 320 on kytketty yksi tai useampia kiinto- „ «971 levyn/levykeaseman kantoja 335 kiintolevyaseman tai levykeaseman (ei esitetty) kytkemiseksi väylään 320. Muistin suorasaantiohjain (DMA) 337 on kytketty järjestelmän paikallisväylän 250 osoite-, data- ja ohjausväyliin, niin 5 että sellaiset oheislaitteet, kuten kiintolevyt, levykeasemat tai mitkä tahansa Micro Channel-väylän DMA-renki-laitteet voivat olla suorassa yhteydessä keskusmuistiin (selitetään alla), ja jotta prosessorin 225 ei välittömästi tarvitsisi osallistua datan siirtämiseen sellaisten 10 oheislaitteiden ja keskusmuistin välillä.
Muistin ohjauspiiri 340 on kytketty järjestelmän paikallisväylään 250, kuten kuviossa 4 on esitetty. Muistin ohjauspiirin 340 toiminta on selitetty ja määritelty täydellisesti kuvion 5 ajastuskaavion yhteydessä, jota 15 selitetään myöhemmin. Jotta muistin ohjauspiiriä 340 paremmin ymmärrettäisiin, havaitaan, että muistin ohjauspiiri itse asiassa sisältää kolme osaa, ts. RAS/CAS-dekoode-rin 345, osoite-dekooderi/multiplekserin 350 ja datapusku-rin 355. RAS/CAS-dekooderi 345 on kytketty tulostaan jär-20 jestelmän paikallisväylän 250 ohjausväylään. RAS/CAS-de kooderi 345 ottaa osoite- ja ohjausjakson määrittelysig-naalit prosessorilta 225 ja purkaa koodauksen saadakseen muistin valinta- ja muistin ajastussignaalit. RAS/CAS-dekooderi 345 putkaa RAS- ja CAS-signaalit. RAS-signaali 25 purettuna dekooderilla 345 määrittelee mikä muistilohko kahdeksasta muistilohkosta (jolloin jokainen lohko sisältää 1 Mtavua järjestettynä 256x32 bitin lohkoksi) on osoitettava sen hetken muistijaksoon aikana. Myöhemmin selitetään näiden 8 muistilohkon järjestelyä muistiin 370, joka 30 sisältää yksiköt 371, 372, 373 ja 374. Dekooderin 345 pur-. kama CAS-signaali määrittelee minkä tavun tai mitkä tavut .muistiin 370 talletetusta 32-bittisestä sanasta on osoitettava sen hetkisen muistijakson aikana.
Muistin ohjauspiiri 340 on kytketty edellä mainit-35 tuun muistiin 370 seuraavassa kuvattavalla tavalla. Muisti u 95971 370 sisältää 4 hajasaantimuisti-yksikköä (RAM), nimittäin yksiköt 371, 372, 373 ja 374, joista jokainen sisältää 2 Mtavua muistia. Kuviossa 4 yksiköt 371 - 374 on merkitty dynaamisiksi hajasaantimuisteiksi (DRAM) yksirivisessä ko-5 telossa (SIP) eli DRAM SIP:ksi. Yksikköön 371 sisältyy 2 Mtavua muistia, ja sitä on merkitty "BASIC 2MB". Muut yksiköt 372 - 374 voidaan varustaa muistilla käyttäjän valinnan mukaan, ja niitä merkitään siten "OPTIONAL 2MB". RAS/CAS-dekooderi 345 sisältää lähtöväylän 380, jossa on 10 13 erillistä johtoa, joilla RAS-, CAS-, ja WE-signaalit siirretään jokaiseen muistilohkoon 371- 374, jolloin 8 johtoa on varattu RAS:a varten, 4 johtoa CAS:a varten ja yksi johto WE:tä varten. RAS/CAS-dekooderi 345 kehittää kirjoituksen käynnistys- (WE) signaalin, joka osoittaa 15 sen, onko kulloinenkin muistijakso lukujakso vai kirjoi-tusjakso, ja se antaa tämän tiedon muistille 370. Jokainen lohkoista 371 - 374 sisältää 2 Mtavua muistia, jolloin jokainen megatavu on jaettu 512 sivuun eli riviin, kukin pituudeltaan 2 Ktavua. Toisin sanoen, lohkot 371 - 374 on 20 muodostettu sivutetuiksi muisteiksi.
(ADDR MUX) 350 tuloon on kytketty 36-johtoiseen järjestelmän paikallisväylän 250 dataväylään. Kun prosessori 225 haluaa hakea muistin 370 paikkaan talletetun datalohkon, prosessori 225 lähettää tämän muistipaikan 25 osoitteen 36 bittiä osoitemultiplekserille 350. Osoite-multiplekseri 350 johtaa 36-bittisestä osoitetiedosta sivuosoitteen (riviosoitteen) ja siirtää sivuosoitteen ja sarakeosoitteen muistille 370 multipleksoidun osoiteväylän (MUX ADDR) 390 kautta, joka kytkee osoitemultiplekserin 30 350 muistiin 370. 36-bittinen muistin dataväylä 400 kytkee . muistin 370 muistiyksiköt 371 - 374 datapuskuriin 355. Kun ·’· muistia 370 osoitettu edellä olevalla tavalla, siirretään määrätyssä muistipaikassa oleva data muistin dataväylälle 400, joka syöttää datan datapuskurille 355, kuten kuvios-35 sa 4 on esitetty. Muistin dataväylällä 400 on 32 bittiä l2 95971 (DO - D31) osoitettu dataa varten ja 4 pariteettibittiä (PO - P3) on osoitettu pariteettia varten. Kun osoitettu data saavuttaa dataväylän 400, data puskuroidaan datapus-kurilla 355 ja asetetaan sitten järjestelmän paikallisväy-5 Iän 250 dataväylälle. Sen jälkeen data johdetaan prosessorille 225 puskurin 240 ja CPU:n paikallisväylän 230 kautta.
Seuraava selitys koskee kuvion 5B ajastuskaaviota, joka yksityiskohtaisesti selittää muistin ohjauspiirin 340 10 ja muistin 370 toimintaa. Yksinkertaisuuden vuoksi ja vertailun helpottamiseksi on kuvion 2 tekniikan tasoa kuvaava kaavio toistettu kuvion 5 yläosassa kuviona 5A. Kuvion 5B ajastuskaavion selittämiseksi oletetaan, että prosessori 225 haluaa hakea muistin 370 valittuun osoitteeseen tai 15 paikkaan talletetun datalohkon. Tähän datalohkoon viitataan ensimmäisenä datan valittuna lohkona. Oletetaan myös, että sen jälkeen kun ensimmäinen datalohko on haettu, prosessori haluaa hakea toisen valitun datalohkon muistin toisesta paikasta.
20 Prosessori 225 antaa valitun osoitteen, johon en simmäinen datalohko on talletettu, CPU:n paikallisväylän 230 dataväylälle. Valittu osoite sisältää 32 osoitebittiä AO - A31 ja 4 tavua käynnistysbittejä (ΒΕ0 - BE3), jotka yhdessä muodostavat 36-bittisen osoitteen. Käynnistysbit-25 tien neljää tavua ΒΕ0 - BE3 käytetään osoittamaan mitkä * tavut (1 ... 4) on haettava määrättyyn paikkaan talletetusta datasta (4 tavua, 32 bittiä). Sen jälkeen kun valittu data on saapunut CPU:n paikallisväylän osoiteväylälle, se puskuroidaan puskurilla 240. Valittu osoite siirretään 30 sitten järjestelmän paikallisväylän 250 osoiteväylälle ja . tarjotaan sitten muistin ohjauspiirille 340 ja osoitemul- tiplekserille 350.
Järjestelmäyksikkö 200 on järjestetty tässä suoritusmuodossa siten, että 9 bittiä valitusta 36 bittisesti 35 osoitteesta vastaa haettavan datan sivuosoitetta eli rivi- 13 95971 osoitetta (RAS-osoite) 410. Toisin sanoen bitit All - A19 vastaavat RAS-osoitetta. Sivuosoite 410 on ajastettu alkamaan ensimmäisen muistijakson alussa, kuten on osoitettu kuviossa 5B. Osoitemultiplekseri 350 eriyttää tämän 9-bit-5 tisen sivuosoitteen 410 36-bittisestä osoitteesta ja tarjoaa tämän 9-bittisen sivuosoitteen 410 muistille 370 9-johtoisen MUX ADDR-väylän (multipleksoitu osoite) 390 kautta, joka kytkee osoitemultiplekserin 350 muistiin 370.
Ensimmäisen muistijakson alussa RAS-signaali muis-10 tin ohjauspiiristä 340 on ylhäällä, mikä vastaa OFF-tilaa kuvion 5B yhteydessä käytetyllä negatiivisella logiikalla. Kun sivuosoite esiintyy MUX ADDR-väylällä 390, ohjaa muistin ohjauspiiri 340 (RAS/CAS-dekooderipiirin 345 kautta) RAS:n alas eli ON-tilaan kohdassa 415, kuten kuviosta 5B 15 nähdään. Tällä tavalla muistin 370 määrätyn datan hakemiseen käyttämä sivuosoite ohjataan muistille 370.
Sen jälkeen kun RAS on siirtynyt ON-tilaan, erottaa muistin ohjauspiiri 370 osoitemultiplekserin 350 kautta 9-bittisen datan sarakeosoitteen 420 36-bittisestä osoit-20 teestä ja johtaa tämän 9-bittisen sarakeosoitteen 420 muistille 370 MUX ADDR-väylän 390 kautta. Toisin sanoen, bitit A2 - Ali vastaavat sellaista sarakeosoitetta eli CAS-osoitetta. Kuten kuvion 5B mukaisesta ajastuskaaviosta voidaan nähdä, niin sen jälkeen kun sarakeosoite 420 25 esiintyy MUX ADDR-väylällä 390, muistin ohjauspiiri 340 (RAS/CAS-dekooderipiirin 345 kautta) ohjaa CAS:n alas eli ON-tilaan kohdassa 425. Tällä tavalla muistin 370 määrätyn datan osoittamiseksi käyttämä sarakeosoite aikaansaadaan muistille 370. Datan sivuosoite ja sarakeosoite on siten 30 multipleksoitu samaan 9-johtoiseen MUX ADDR-väylään 390. Muita bittejä A17 - A31 käytetään RAS-dekooderilla 345 ilmoittamaan, mikä yksiköistä 371 - 374 sisältää osoitettavan datan ensimmäisen datalohkon.
Tällä kohdalla muistille 370 on johdettu sekä sivu-35 osoite 410 että sarakeosoite 420, joka määrittelee valitun 14 95971 datan sijainnin muistissa. Ennalta määrätyn ajan TCAS kuluttua siitä, kun CAS on aktivoitu eli menee alas, muistin dataväylällä 400 oleva tieto tulee kelvolliseksi kohdassa 430. Data lukitaan sitten välittömästi kohdassa 435 kak-5 sisuuntaisilla pitopiireillä (joita yksityiskohtaisemmin selitetään myöhemmin), jotka sisältyvät datapuskuriin 355. Kun puskurointi/pito-toiminta on suoritettu datapuskurilla 355, lukittu data (ensimmäinen valittu datan lohko) johdetaan kohdassa 437 järjestelmän paikallisväylän 250 data-10 väylälle siirrettäväksi prosessorille 225.
Sen jälkeen kun data on lukittu kohdassa 435 ensimmäisessä muistijaksossa (sen hetkinen muistijakso) ja ennen kuin toinen muistijakso (seuraava muistijakso) alkaa, suoritetaan kohdassa 440 CAS-esivaraus. Kun CAS-esivaraus 15 kohdassa 440 on aloitettu, muuttuu muistin dataväylällä 400 oleva data epäkelvoksi sen jälkeen, kun ennalta määrätty aika on kulunut CAS-esivarauksen aloittamisesta. Pitopiirit datapuskureissa 365 pitävät eli lukitsevat datan ennen kuin se tulee epäkelvoksi, ts. ennen kohtaa 442 20 kuvion 5B muistin dataväylän ajastuskaaviossa. Niitä ajanjaksoja, joiden aikana data muistin dataväylällä 400 on epäkelpoa, on osoitettu kuvion 5B vinoviivoituksella. CAS-esivarauksen loppuminen määrittelee ensimmäisen muisti jakson loppumisen.
25 Prosessori 225 lähettää toisen valitun datalohkon osoitteen muistin ohjauspiirille 340 samaa datan reittiä pitkin, jolla ensimmäinen valittu datalohko saapui sille. Jos muistin ohjauspiiri 340 määrittää, että muistista 370 haettava toinen valittu datalohko on samalla sivulla kuin 30 ensimmäinen valittu datalohko, niin CAS-esivarauksen aikana, kuten kuvion 5B ajastuskaaviosta nähdään kohdassa 440, ? MUX ADDR-väylälle 390 syötetty sarakeosoite muutetaan toi sen datalohkon sarakeosoitteeksi kohdassa 445. Tämä sara-keosoitemuutos tapahtuu ennen ensimmäisen muistijakson 35 loppua.
15 95971 Tämän sarakeosoitemuutoksen jälkeen CAS-esivaraus lopetetaan, ja CAS-tlla muutetaan ON-tilaksi, jolloin aloitetaan toinen muistijakso kohdassa 450. Toista valittua datalohkoa vastaava sarakeosoite annetaan tällä taval-5 la muistille 370. Aikaviiveen TCAS jälkeen tätä sarake-osoitetta vastaava data ja jo annettu sivuosoite tulevat kelvolliseksi kohdassa 455 muistin dataväylällä 400.
Tämän jälkeen data kohdassa 460 välittömästi lukitaan kaksisuuntaisilla pitopiireillä, jotka sisältyvät 10 datapuskuriin 355. Datapuskurin 355 puskurointi/lukitus-toiminnan jälkeen lukittu data (nyt toinen valittu data-lohko) kohdassa 465 annetaan järjestelmän paikallisväylän 250 dataväylälle siirrettäväksi prosessorille 225.
Kuten seuraavassa selitetään yksityiskohtaisemmin 15 datapuskurin 355 yhteydessä, niin muistin datalukituksen ohjaussignaalin (LEAB 0-3) ollessa alhaalla, puskuri 355 toimii transparentisti eli läpäisevästi. Kun muistin data-lukituksen ohjaussignaali on ylhäällä, tallettaa puskuri 355 dataa pitotoiminnalla.
20 Edellä oleva selitys on kuvannut muistin hakua sel laisessa tilanteessa, jossa toinen valittu datalohko on samalla sivulla kuin ensimmäinen valittu datalohko. Jos kuitenkin muistin ohjauspiiri 340 määrittää toisen valitun datalohkon olevan eri sivulla kuin ensimmäinen valittu 25 datalohko, niin muistin osoitusprosessin on käynnistyttävä kokonaan uudestaan ensimmäisen muistijakson alusta. Toisin sanoen, koska riviosoite eli sivuosoite ei valitulle toiselle datalohkolle ole sama kuin ensimmäiselle valitulle datalohkolle, niin toista valittua datalohkoa vastaava 30 uusi riviosoite on siirrettävä muistiin 370 ja sen perään . uusi sarakeosoite, samalla tavalla kuin esitettiin keksin- • nön ajastuskaavion ensimmäisen muistijakson osalta kuvios sa 5B.
Kuvio 6 on vuokaavio, jossa yhteenvetona esitetään 35 tapahtumat, joilla muistin osoittaminen suoritetaan jär- 16 95971 jestelmäyksiköllä 200. Muistin osoittaminen aloitetaan kun prosessori 225 käyttää osoitteen liukuhihnakäsittelyä tuottaakseen voimassa olevan osoitteen, josta dataa on haettava, kuten vuokaavion lohkossa 500 on esitetty. Voi-5 massa oleva osoite siirretään sitten muistin ohjauspiirille 340 järjestelmäyksikön 200 väyläjärjestelmällä jo kuvatulla tavalla. Voimassa oleva osoite dekoodataan muistin ohjauspiirissä 340 lohkossa 505. Toisin sanoen, sivuosoite ja sarakeosoite erotetaan voimassa olevasta osoitteesta. 10 Sivuosoite multipleksoidaan sitten MUX ADDR-väyläl- le 390 lohkossa 510, ja tämä tapahtuma merkitsee sen hetkisen muistijakson alkamista lohkossa 515. Sen jälkeen RAS aktivoidaan eli muutetaan ON-tilaan lohkossa 520, niin että muisti 370 valitsee sen sivuosoitteen, joka sillä 15 hetkellä tarjotaan sille MUX ADDR-väylällä 390. Sitten sivuosoite multipleksoidaan MUX ADDR-väylälle 390 lohkossa 525. CAS aktivoidaan eli muutetaan ON-tilaan lohkossa 530, niin että muisti 370 valitsee sen sarakeosoitteen, joka sillä hetkellä tarjotaan sille MUX ADDR-väylällä 390. Täl-20 lä kohtaa muistiin 370 talletetun halutun datan osoite on täysin määritelty, ja muisti 370 siirtää määrätyssä osoitteessa olevan datan muistin dataväylälle 390 lohkossa 535. Data lukitaan kaksisuuntaisilla pitopiireillä datapusku-rissa 355 lohkossa 540 sellaisen datan hetkellistä pidät-25 tämistä varten. Sen jälkeen, kun data on lukittu, data siirretään järjestelmän paikallisväylälle 250 lohkossa 545. CAS-esivaraus suoritetaan sitten lohkossa 550 ennen kyseisen muistijakson loppumista. Seuraava osoitettava osoite dekoodataan sitten lohkossa 555.
30 Päätöslohkossa 560 suoritetaan testi sen määrittä
miseksi, sijaitseeko seuraava osoite samalla sivulla kuin edellinen osoite (edellä aikaisemmin voimassa oleva osoite). Ellei seuraava osoite ole samalla sivulla kuin edellinen osoite, prosessi jatkaa takaisin lohkoon 510 kuvios-35 sa 6, jossa seuraavan sivun osoite multipleksoidaan MUX
95971 17 ADDR-väylälle 390. Jos kuitenkin seuraava osoite sijaitsee samalla sivulla kuin edellinen osoite, niin prosessi jatkaa lohkoon 565, jossa seuraavan osoitteen sarakeosoite multipleksoidaan MUX ADDR-väylälle 390. Sen jälkeen seu-5 raava muistijakso eli toinen muistijakso aloitetaan lohkossa 570 heti, kun CAS-esivaraus on loppunut. Toisin sanoen toisen muistijakson alussa CAS aktivoidaan eli muutetaan ON-tilaan lohkossa 575, niin että muisti 370 valitsee sen sarakeosoitteen, joka sillä hetkellä tarjotaan sille 10 MUX ADDR-väylällä 390. Tässä kohdassa muistiin 370 talletetun halutun datan osoite on jälleen täysin määritelty, ja muisti 370 siirtää määrätyssä osoitteessa olevan datan muistin dataväylälle 390 lohkossa 580. Data lukitaan data-puskurin 355 kaksisuuntaisilla pitopiireillä lohkossa 585 15 sellaisen datan pitämiseksi hetkellisesti voimassa. Sen jälkeen kun data on lukittu, data siirretään järjestelmän paikallisväylän 250 dataväylälle lohkossa 590. CAS-esivaraus suoritetaan tämän jälkeen lohkossa 595 ennen kyseisen muistijakson loppumista. Seuraava osoitettava osoite 20 dekoodataan tämän jälkeen lohkossa 600, jonka jälkeen vuo jatkaa takaisin päätöslohkoon 560, jossa tehdään jälleen päätös siitä, onko seuraava osoite samalla sivulla kuin viimeksi käsitelty osoite.
Kuviossa 7 esitetään lohkokaaviomuodossa eräs nopea 25 pitopiirityyppinen datapuskuri, jota voidaan käyttää data- puskurina 355. Havainnollisuuden vuoksi kuvio 7 esittää yhden neljästä oleellisesti identtisestä yksiköstä, joita käytetään datapuskurissa 355 yksikkönä 610. Puskuriyksikkö 610 sisältää 8-bittisen portin 615, joka on kytketty muis-30 tin dataväylän 400 datajohtoihin DO - D7. Puskuriyksikkö 610 sisältää datavastaanottimen 620, joka on merkitty A REC, joka on esitetyllä tavalla kytketty porttiin 615. Datavastaanotin 620 on puskuri, joka toimii rajapintana muistin dataväylän 400 0 - 5 V TTL-signaaliympäristön ja 35 puskuriyksikön 610 sisäiselle toiminnalle ominaisen 0 - X8 95971 noin 3 V ympäristön välillä. Vastaanottimen 620 lähtö on kytketty 8-bittisen datan pitopiirin 625 tuloon, joka lukitsee sille tarjotun datan, kun sitä käsketään tekemään niin soveltuvalla muistin datalukituksen ohjaussignaalil-5 la, joka tarjotaan sen ohjaustuloon 625A. Kun pitopiiriä 625 käsketään siirtymään transparenttiin tilaan, aiheuttaa alhaalla oleva tulosignaali alhaalla olevan lähtösignaa-lin, ja ylhäällä oleva tulosignaali ylhäällä olevan lähtö-signaalin. Toisin sanoen, transparentissa tilassa pitopii-10 rin 625 tuloon johdettu 8-bittinen data kulkee sen lähtöön. Kun pitopiiri 625 käsketään lukitustilaan lukituksen ohjaussignaalilla tulosta 625A (LEABO), ja siihen ohjataan 8-bittinen määrätty tulosignaali, lähtö kuitenkin pysyy samassa tilassa ja pysyy tässä tilassa eli lukittuna, kun-15 nes piirille annetaan soveltuva ohjaussignaali sen ohjaus-tuloon 625A.
Aikaisemmasta selityksestä palautettakoon mieleen, että välittömästi sen jälkeen kun data muuttuu kelvolliseksi muistin dataväylällä 430 kuviossa 5B, niin data lu-20 kitaan kohdassa 435. Lähdön ohjauspiiri 630 on kytketty pitopiirin 625 lähtöön, kuten kuvio 7 osoittaa. Ohjauspiiriä on merkitty "B DRV", ja se toimii rajapintana datapus-kurin 610 sisäisen 0 - 3 V sisäisen ympäristön ja ohjaus-piirin 630 lähdössä olevan 5 V TTL-ympäristön välillä. 25 Ohjauspiirin 630 8-bittinen lähtö on kytketty porttiin 635, joka on kytketty järjestelmän paikallisväylän 250 dataväylän kahdeksaan datajohtoon, joita on merkitty BO -B7. Näin ollen, kun pitopiiri 625 on lukinnut sille tarjotun datan, järjestelmä voi jatkaa datan käsittelyä ja sig-30 naalit muistin dataväylällä 400 (DO - D7) voivat vapaasti muuttua, pitopiirin 625 pitäessä vanhan datan voimassa, prosessorilla 225 järjestelmän paikallisväylän kautta tapahtuvaa myöhempää noutamista varten.
Ohjauspiiri 630 sisältää muistin dataväylän veräjän 35 ohjaustulon 630A, jota on merkitty 0ΕΑΒ0. Kun OEABO-sig- 19 95971 naali on ON-tilassa, aktivoituu ohjauspiiri 630 johtamaan dataa kauttansa. Kun OEABO-signaali on OFF-tilassa, ohjauspiiri 630 ei kuitenkaan toimi.
Pitopiirin 625 lähtö on kytketty 8-bittisen pari-5 teettipuun tuloon. Jos pariteettipuun 640 kahdeksan tuloa esittävät parillisen lukumäärän ykkösiä, niin pariteetti-puu 640 kehittää yhden ainoan bitin lähdön, jossa on ykkönen (ylhäällä), parittoman pariteetin ylläpitämiseksi. Jos kuitenkin pariteettipuun 640 kahdeksan tuloa osoittaa palo rittoman lukumäärän ykkösiä, niin pariteettipuu 640 kehittää yhden ainoan bitin lähdön, joka on nolla (alhaalla) parittoman pariteetin ylläpitämiseksi.
Datapuskuri 610 sisältää GEN/CK-vastaanottimen 645, jolla on GEN/CKO merkitty tulo, kuten kuviossa 7 on esi-15 tetty. GEN/CK-vastaanotin 645 on rajapinta, jossa muunnetaan sen tulossa olevat 0 - 5 V TTL-signaalit sen lähdössä oleviksi 0 - 3 V signaaleiksi. GEN/CKO-arvot riippuvat kulloisenkin tyyppisestä jaksosta, jonka prosessori 225 seuraavaksi haluaa suorittaa. Ts. GEN/CKO-tulosignaali (ks 20 kuvio 5B) on arvoltaan 1 (ylhäällä), kun suoritettavana on muistin lukemisjakso, ja 0 (alhaalla), kun suoritettavan on muistin kirjoitusjakso. Tämän esimerkin tarkoituksen vuoksi oletetaan, että GEN/CKO-signaalilla on arvo 0, joka osoittaa että suoritettavana on muistin lukemisjakso. Ts. 25 data ja sitä vastaava pariteettitieto on jo talletettu • · ' * muistiin 370, ja nyt halutaan osoittaa sellaista dataa.
Tämän esimerkin vuoksi oletetaan, että muistista 370 on haettava 32-bittinen sana joka käsittää neljä 8-bittistä tavua. Oletetaan, että muistiin on talletettu sellaisen 30 32-bittisen sanan mukana neljä pariteettibittiä, jolloin • ts. yksi pariteettibitti liittyy 32-bittisen sanan jokai seen tavuun. Huomataan, että kuvion 7 datapuskuri 610 pystyy käsittelemään sellaisen 32-bittisen sanan yhden tavun (8 bittiä) ja yhden pariteettibitin. Sellaisen 32-bittisen 35 sanan muut 3 tavua ja 3 pariteettibittiä käsitellään koi- 20 95971 mella muulla datapuskurilla, jotka ovat samantapaisia kuin datapuskuri 610, ja jotka on esitetty kuviossa 8.
GEN/CK-vastaanottimen 645 lähtö on kytketty pariteetin ohjauspiirin 650 ohjaustuloon 650A. Pariteettipuun 5 640 lähtö on kytketty pariteetin ohjauspiirin 650 tuloon 650B sekä kaksituloisen ehdollinen tai-veräjän 655 toiseen tuloon. Pariteetin ohjauspiiriin lähtö 650B on kytketty muistin dataväylän 400 pariteettiväyläosan pariteettijohtoon PO. Palautettakoon mieleen, että 36-bittinen muistin 10 dataväylä 400 sisältää johdot DO - D31 talletettua 32-bit-tistä sanaa ja neljä pariteettijohtoa PO - P3, jotka vastaavat niitä kutakin neljää pariteettibittiä, jotka liittyvät talletetun 32-bittisen sanan muodostavaan neljään tavuun. Sen lisäksi että se on kytketty pariteetin ohjaus-15 piirin 650C lähtöön, pariteettijohto PO on kytketty pari-teettivastaanottimen 660 kautta ehdollinen tai-veräjän 655 jäljelle jäävään tuloon. Ehdollinen-tai -piirin 655 lähtö on merkitty E0 (virhe) ja se on kytketty virheohjauspii-riin 665. Virheohjauspiirin 665 lähtö on kytketty virhe-20 liitäntään, jota merkitään E. Virheen ohjauspiiri 665 ei ole osana puskuria 610, ja sitä selitetään myöhemmin.
Pariteetin virhegeneraattori/tarkistuspiiri 680 muodostuu pariteettipuusta 640, GEN/CK-vastaanottimesta 645, pariteetin ohjauspiiristä 650, pariteettivastaanotti-25 mesta 660, ehdollinen-tai -veräjästä 655 ja virheen oh-• jauspiiristä 665. Kuten seuraavassa selitetään, pariteet- tigeneraattori/tarkistuspiiri 680 toimii kahdella tavalla, ts. pariteetin muodostustilassa, kun dataa kirjoitetaan muistiin, ja pariteetin tarkistustilassa, kun dataa hae-30 taan muistista 370. Koska esillä oleva keksintö sisältää muistiin 370 talletetun datan osoittamisen, selitetään seuraavassa pariteettigeneraattori/tarkistuspiirin 680 pariteetin tarkistustilaa. Kun GEN/CK- vastaanottimen 645 GEN/CKO-tulo on alhaalla (0), pariteettigeneraattori/tar-35 kistuspiiri 680 siirtyy pariteetin tarkistustilaan. Sitä 2l 95971 vastoin, jos GEN/CKO-tulo on ylhäällä (1), pariteettigene-raattori/tarkistuspiiri 680 siirtyy pariteetin generointi-tilaan. Palataksemme taas pariteetin tarkistustilaan, niin vastaanottimen 645 vastaanottaessa 0-tasoa olevan GEN/CKO-5 signaalin ulkoisesta (TTL) ympäristöstä, vastaanotin 645 sovittaa tämän signaalin sen lähtöön, joka, kuten jo mainittiin, on lähtö, jossa on tasot 0 - noin 3V. Vastaanottimen 645 lähtö on kytketty pariteettiohjainpiirin 650 ohjaustuloon 650A niin, että looginen alhainen taso eli 0, 10 joka nyt esiintyy ohjaustulossa 650A, aiheuttaa pariteet-tiohjauspiirin 650 kytkeytymisen pois päältä, siten että pariteettipuun 640 lähdössä olevaa signaalia ei johdeta muistin dataväylän 400 pariteettiväylän johdolle PO. Edellä olevasta selityksestä palautetaan mieleen, että pari-15 teettigeneraattori/tarkistuspiirin 680 toimintana on pariteetin tarkistustilassa on itse asiassa kulloiseenkin datan tavuun (DO - D7) liittyvän talletetun pariteettibitin PO vertaaminen saman tavun esittämään sen hetkiseen pariteettibittiin PO’ sen jälkeen, kun se on haettu muistista 20 370. Jos muistin osoitus toteutettiin menestyksellisesti, tulisi pariteetin ennen osoitusta PO olla sama kuin osoituksen jälkeen PO'.
Kun tavu DO - D7 haetaan muistista 370, se vastaanotetaan vastaanottimella 620 ja lukitaan pitopiirillä 625. 25 (Johdoilla DO - D7 haettu kulloistakin tavua kutsutaan r tästä lähtien tavuksi 0). Tavun 0 kahdeksan bittiä luki taan siten pitopiirin 625 lähtöön, niin että tietokonejärjestelmä voi jatkaa eteenpäin ja muuttaa muistin dataväylän 400 johtojen DO - D7 signaaliarvoja. Kun pitopiiri 625 30 lukittuu, tavu 0 johdetaan 8-bittiselle pariteettipuulle 640, joka johtaa pariteettibitin PO’ tälle juuri haetulle tavulle 0. Siten PO' on tavun 0 varsinaisesti osoittama pariteetti, sen jälkeen kun se on haettu muistista 370. Pariteettibitti PO' johdetaan kaksituloisen ehdollinen 35 tai-veräjän 655 toiseen tuloon. Tässä palautettakoon mie- 22 9 5 9 71 leen, että ehdollinen tai-veräjän 655 toiseen tuloon kytketään pariteettivastaanottimen 660 kautta muistin data-väylän 400 PO-pariteettijohtoon. Tällä tavalla, kun tavu 0 on siirretty muistista 370, tätä tavua 0 vastaava pari-5 teettibitti PO johdetaan ehdollinen tai-veräjän 655 toiseen tuloon. Jos PO-pariteettibitti ennen hakua on sama kuin PO-pariteettibitti muistista hakemisen jälkeen, ts. molemmat ovat nollia tai ykkösiä, niin ehdollinen taive-räjä 655 kehittää lähdössään nollan, joka osoittaa, ettei 10 datan tavun, tavun 0, muistista hakemisessa ole ollut virhettä. Jos kuitenkin PO-pariteettibitti ennen muistista hakemista ei ole sama kuin tuore PO-pariteettibitti hakemisen jälkeen, niin ehdollinen tai-veräjä 655 kehittää lähdössään ykkösen, joka osoittaa, että tavua 0 muistista 15 370 haettaessa on esiintynyt virhe. Ehdollinen tai-veräjän 655 lähdössä oleva virhelähdön bitti sovitetaan ohjaimen 665 kautta loogisen ei-tai -veräjän kautta virhelähdön liitäntään 670, jota on merkitty E:llä. Huomataan, että kun pariteettigeneraattori/tarkistuspiiri 680 on paritee-20 tin tarkistustilassa, niin GEN/CK-vastaanottimen 645 lähdössä oleva GEN/CKO-signaali on alhaalla eli 0, joka aktivoi ehdollinen tai-veräjän 655. Sitä vastoin, kun pari-teettigeneraattori/tarkistuspiiri 680 on pariteetin kehi-tystilassa, GEN/CKO-signaali on ylhäällä, joka vuorostaan 25 kytkee ehdollinen tai-veräjän 655 pois päältä. Tietokonejärjestelmä ottaa säännöllisesti näytteitä lähdöstä E 670 jokaisen muistijakson lopussa määrittääkseen, onko virhettä tapahtunut.
Kuten edellä mainittiin, datapuskuri/pitopiiri 610 30 toimii myös täysin päinvastaisesti kuin edellä kuvattiin. Toisin sanoen, kun tietokonejärjestelmä suorittaa määrä-·· tyn, tavun 0, tavun 1, tavun 2 ja tavun 3 sisältävän 32- bittisen sanan muistiin kirjoittamisen, tämän sanan tavu 0 siirretään järjestelmän paikallisväylältä 250 puskurin 610 35 kautta muistin dataväylälle 400. Eli täsmällisemmin, jär- aa 95971 jestelmä johtaa tavun 0 porttiin 635, jota on merkitty BO - B7. Portti 635 on kytketty vastaanottimen 675 kautta 8-bittiseen pitopiiriin 680, kuten on esitetty kuviossa 7. Vastaanotin 675 ja pitopiiri 680 ovat oleellisesti ident-5 tisiä vastaanottimen 620 ja vastaavasti pitopiirin 625 kanssa. Pitopiiri 680 sisältää muistin datan pitopiirin ohjaustulon, jota on merkitty LEBAO, joka ylätilaan eli ykköseksi johdettuna johtaa pitopiiriin 680 johdetun 8-bittisen datan lukitsemiseen. Pitopiirin 680 lähtö on kyt-10 ketty ohjaimen 685 kautta muistin dataväylän 400 datajoh-doille DO - D7. Ohjain 685 on oleellisesti identtinen jo käsitellyn ohjaimen 635 kanssa. Ohjain 685 sisältää muistin dataväylän veräjän ohjaustulon 0ΕΒΑ0 (lähdön aktivoiminen B:stä A:hän), joka siihen johdetun loogisen nollan 15 tai alhaalla olevan signaalin perusteella aktivoi ohjaimen 685 ja sallii datan kulun sen läpi. Vastaanottimen 675, pitopiirin 680 ja ohjaimen 685 toiminnan yhteenvetona, kun tavu 0 johdetaan porttiin 635, vastaanotin 675 johtaa tavun 8 bittiä pitopiirille 680. Muistin datan pitopiirin 20 ohjaussignaali LEBAO (pitopiirin aktivointi B:stä A:hän) antaa tämän jälkeen ohjeen pitopiirille pitopiirin 680 lähdössä olevan datan lukitsemiseksi, ja sallii siten tietokonejärjestelmän jatkaa eteenpäin ja muuttaa signaaliarvoja järjestelmän paikallisväylän 250 datajohdoilla BO -25 B7 portissa 635. OEBAO muistin dataväylän veräjän ohjaussignaali, joka on johdettu ohjaimelle 685 menee alas ja aktivoi ohjaimen 685, sallien siten tavun 0 pitopiirin 680 lähtöön lukittujen kahdeksan bitin kulkea edelleen muistin dataväylän 400 datajohdoille DO - D7. OEBAO-3 signaalit 30 ovat käänteisiä kirjoittamisen aktivointisignaalin (WE) . suhteen, jonka muistiohjain 340 syöttää muistille 370.
WE-signaali on ylhäällä lukujaksojen osalta ja alhaalla kirjoitusjaksojen osalta.
Edellä oleva oli selitys datapuskurin 355 osasta, 35 joka on tarkoitettu käsittelemään muistiin 370 talletetun 24 95971 ja siitä haetun nelitavuisen (32 bit) sanan yhtä tavua, BO. Tämän 32-bittisen sanan muiden kolmen tavun käsittelemiseksi, tavu 1, tavu 2 ja tavu 3, on datan pitopiiri/-puskuri 610 monistettu neljä kertaa, kuten kuviosta 9 voi-5 daan nähdä. Yksinkertaisuuden vuoksi näitä neljää data-puskuria 610 merkitään datapuskuri 610-0, 610-1, 610-2 ja 610-3, jotta selvästi ilmaistaisiin, että ne käsittelevät vain tavua 0, tavua 1, tavua 2 ja tavua 3 edellä mainitusta 32-bittisestä sanasta, joka on haettava muistista tai 10 kirjoitettava muistiin 370.
Kuvio 9 esittää yksinkertaistetun lohkokaavion da-tapuskurista 355, sisältäen neljä oleellisesti identtistä datapuskuri/pitopiiriä 610, nimittäin datapuskurit 610-0, 610-1, 610-2 ja 610-3, jotka käsittelevät tavua 0, tavua 15 1, tavua 2 ja vastaavasti tavua 3 mainitusta 32-bittisestä sanasta. Yksinkertaisuuden vuoksi kuviossa 8 vastaanotin 620 ja ohjain 685, pitopiirit 625 ja 680, sekä ohjain 630 ja vastaanotin 675 on yhdistetty pareiksi vastaaviin laatikoihin kuviossa 8. Palautettakoon mieleen, että datapus-20 kuri 355 sijaitsee järjestelmän paikallisväylän 250 data-väylän ja muistin dataväylän 400 välissä. Tarkemmin sanottuna puskurin 355 datajohdot DO - D31 on kytketty muistin dataväylän 400 datajohtoihin DO - D31. Puskurin 355 data-johdot BO - B31 on kytketty järjestelmän paikallisväylän 25 250 dataväylän datajohtoihin BO - B31.
* Riippuen siitä, suoritetaanko 32-bittiselle sanalle puskurin 355 kautta lukemis- tai kirjoitustoiminta, toimivat puskurit 610-0, 610-1, 610-2 ja 610-3 käsitellen tavua 0, tavua 1, tavua 2 ja tavua 3 mainitusta 32-bittisestä 30 sanasta. Datapuskuri 355 sisältää 4 pariteettibitin tulo/-lähtöä PO, Pl, P2, P3, jotka vastaavat kehitettyjä tai haettuja tavujen 0, 1, 2, ja 3 vastaavia pariteetteja.
Datapuskurin 355 pariteetti johdot PO, Pl, P2, P3 on kytketty 36-johtoisen muistin dataväylän 400 pariteettijoh-35 töihin PO, Pl, P2, P3. Palautettakoon mieleen, että muis- 25 95971 tin dataväylä 400 sisältää datajohdot DO - D31 ja pari-teettijohdot PO - P3. Kun siten määrätty 32-bittinen sana kirjoitetaan muistiin, määrittävät datapuskurien 610 0-3 vastaavat pariteettipuut 640 kuhunkin neljään tavuun, 32-5 bittisen sanan tavuihin 0-3, liittyvän pariteetin, ja tarjoavat määritellyt neljä pariteettibittiä pariteetti-johdoille PO - P3 talletettavaksi muistiin 370. Kun suoritetaan hakemistoiminta 32-bittisen sanan hakemiseksi muistista 370, sellaiseen datasanaan liittyvät neljä pariteet-10 tibittiä PO - P3 haetaan ja syötetään datapuskurin 355 pariteettijohdoille PO - P3.
Datapuskurin 355 johdot GEN/CK0, GEN/CK1, GEN/CK2 ja GEN/CK3 on kytketty vastaaviin muistin ohjauspiiriin 340 sisältyviin ohjausjohtoihin GEN/CK0 - GEN/CK3 (ei esi-15 tetty). Muistin ohjauspiiri 340 kehittää GEN/CK-signaalin, kuten GEN/CKO-signaalin kuviossa 5B, ja syöttää sen puskurin 355 tuloihin GEN/CK0 - GEN/CK3 osoittaakseen puskurille 355 onko suoritettavana luku- tai kirjoitustoiminta. Jos suoritettavana on kirjoitustoiminta, kehitetään vas-20 taavat GEN/CK0 - GEN/CK3-signaalit, joilla käsketään vastaavia puskureita 610-1...610-3 kehittämään vastaavat pariteettibitit, jotka vastaavat muistiin 370 kirjoitettavan 32-bittisen sanan neljää tavua. Jos kuitenkin suoritettavana on lukutoiminta, niin muistin ohjauspiiri 340 kehit-25 tää vastaavat GEN/CK0 - GEN/CK3-ohjaussignaalit, joilla käsketään vastaavia puskureita 610-1...610-3 suorittamaan jo kuvion 7 yhteydessä selitetyn pariteetin tarkistustoi-minnan. Toisin sanoen, sen jälkeen kun kulloisetkin neljä tavua ja niitä vastaavat neljä pariteettibittiä PO - P3 on 30 haettu muistista 370, määrittelevät pariteettipuut 640 näiden neljän tavun pariteetit PO' - P3' hakemisen jäl-... keen. Jos jokin näistä vanhoista pariteettibiteistä PO - P3 ei vastannut vastaavaa uutta pariteettibittiä PO - P3, tuotetaan virhesignaali vastaavalla virhejohdolla E0 - E3, 35 jotka on esitetty kuviossa 9 virheohjaimen 665 tuloissa.
95971 26
Virheohjain 665 suorittaa loogisen ei-tai -toiminnan. Jos jokin virhejohdoista EO, El, E2, E3 vastaanottaa virhesig-naalin, virheohjaimen 665 lähtö myös kehittää sellaisen virhesignaalin. Huomataan, että virheohjain 665 sovittaa 5 puskurin 355 sisäisen pienen jännitealueen ulkoiseen TTL-ympäristöön, joka esiintyy viitteellä E merkityssä virhe-liitännässä 670.
Kuvio 9 havainnollistaa datapuskurin 355 nastajär-jestystä ja siinä esitetään jo edellä selitetyt puskurin 10 355 erilaiset tulot ja lähdöt.
Taulukossa 1 alla on yhteenveto niistä erilaisista tiloista, joissa datapuskuri 355 voi toimia.
Taulukko 1 15
0-3 OEBA LEBA LEBA
0-3 0-3 0-3 0-3 A-B A-B
/X /X 1 X 1 Transparent- titila 20 / X IX 2 X 2 Data lukittu 1 X / X 3 X 3 Lähtö estetty 1 X 1 X 4 X 4 Lähtö estet- ty/data lukittu 25 X / X / X 1 X / X 1 X 2 X 1 X / X 3 X 1 X 1 X 4 30 Taulukossa 2 alla on yhteenveto niistä eri tilois ta, joihin puskuri 355 voi siirtyä erilaisten GEN/CK-sig- < naalien johdosta.
» 27 95971
Taulukko 2 GEN/CKx Px / Tarkistustila; Px-tuloa verrataan sisäisesti kehi- 5 tettyyn pariteettibittiin vastaavien kahdeksan "A"-tulon osalta. Poikkeaman sattuessa virhelinja asetetaan alas-tilaan.
1 Kehittämistila; pariteettibitti lähdöstä kehite 10 tään seuraavasti: 1 Jos vastaavissa "A"-tuloissa on parilli nen määrä ykkösiä / Jos on pariton määrä ykkösiä.
15 Huom: virhelähtö = "1", jos GEN/CK /-3 - 1.
Datapuskurin 355 OEABO-3 ja GEN/CK-3 on kytketty yhteen ja siten OEAB- (muistin dataväylän veräjän ohjaus) signaalit peilaavat eli seuraavat GEN/CK-signaaleja, ku-20 ten kuviosta 5B nähdään.
Vaikka edellä on selitetty tietokonejärjestelmän laitteistoa, jonka osoitusajat ovat lyhentyneet, selitetään ja esitetään yhteenvetona alla myös menetelmää sellaisen tietokonejärjestelmän muistin käyttämiseksi. Tätä 25 menetelmää käytetään tietokonejärjestelmässä, joka sisäl- • · tää sivutetun muistin, johon on kytketty osoiteväylä ja dataväylä ja johon lisäksi liittyy ensimmäinen, toinen ja näitä seuraavat muistijaksot. Tarkemmin ottaen selitetään menetelmä mainittuun muistiin talletetun informaation lu-30 kemiseksi, joka käsittää vaiheet, joissa muistille annetaan osoitesignaali, joka vastaa muistista haettavan da-’ tan sijaintia. Menetelmä sisältää vaiheet, joissa muis tille syötetään riviosoite-toimintapulssi- (RAS) signaali ensimmäisen muistijakson aikana, ja joissa muistille joh-35 detaan sarakeosoite-toimintapulssi- (CAS) signaali ensim- 95971 28 mäisen muistijakson aikana ja RAS-signaalin jälkeen. Menetelmä sisältää näin osoitetun datan lukitsemisen myöhempää dataväylällä siirtämistä varten sekä CAS-esivarau-ksen suorittamisen muistilla lukitsemisvaiheen jälkeen ja 5 ennen ensimmäisen muistijakson päättymistä.
Edellä oleva on selitys tietokonejärjestelmästä, jossa sivutetun muistin osoitusaika on merkittävästi lyhentynyt varhentamalla seuraavassa muistijaksossa haettavaan dataan liittyvä CAS-esivaraus käynnissä olevaan 10 muistijaksoon. Tietokonejärjestelmä voi toimia suurilla kellotaajuuksilla turvautumatta lisäodotustiloihin sivutettua muistia osoitettaessa.

Claims (2)

95971 29
1. Tietokonejärjestelmä, joka käsittää: dynaamisen sivutetun muistin (370); osoite- ja dataväylät (250), da- 5 ta- ja osoiteväyliin kytketyt prosessointivälineet (225); ja data- ja osoiteväyliin sekä muistiin kytketyn muistioh-jaimen (340) muistin osoittamiseksi generoimalla riviosoi-te-toimintapulsseja (RAS) ja sarakeosoite-toimintapulsseja (CAS) kulloinkin prosessorin osoiteväylän välityksellä 10 välittämän rivi- ja sarakeosoitedatan yhteydessä muistipaikan osoittamiseksi muistista, muistiohjaimen käsittäessä esivarausvälineet (345) CAS-signaalin esivaraamiseksi, tunnettu siitä, että muistiohjain käsittää pito-välineet (355), jotka on kytketty dataväylään ja muistiin 15 datan tallentamiseksi osoitetusta muistipaikasta sen siirtämiseksi dataväylälle, ja että esivarausvälineet esiva-raavat CAS-signaalin, kun pitovälineet ovat tallentaneet datan.
2. Menetelmä tietokonejärjestelmän käyttämiseksi, 20 joka järjestelmä käsittää dynaamisen sivutetun muistin (370), data- ja osoiteväylät (250), data- ja osoiteväyliin kytketyt prosessointivälineet (225), ja data- ja osoite-väyliin sekä muistiin kytketyn muistiohjaimen (340), jolloin menetelmä käsittää: muistiohjaimen prosessorin osoi-25 teväylän välityksellä välittämän rivi- ja sarakeosoiteda- * · tan yhteydessä kulloinkin tuottamien riviosoite-toiminta-pulssien (RAS) ja sarakeosoite-toimintapulssien (CAS) syöttämisen muistiin muistipaikan osoittamiseksi muistista, tunnettu siitä, että muistiohjaimen pitoväli-30 neisiin (355) tallennetaan muistista osoitetusta muisti-. paikasta saatua dataa tämän syöttämiseksi dataväylälle, ja kun pitovälineet ovat tallentaneet datan esivarataan CAS-signaali. 30 95971
FI891784A 1988-05-26 1989-04-14 Laite ja menetelmä sivutettuun muistiin pääsemiseksi tietokonejärjestelmässä FI95971C (fi)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US19672188 1988-05-26
US07/196,721 US5034917A (en) 1988-05-26 1988-05-26 Computer system including a page mode memory with decreased access time and method of operation thereof

Publications (4)

Publication Number Publication Date
FI891784A0 FI891784A0 (fi) 1989-04-14
FI891784A FI891784A (fi) 1989-11-27
FI95971B true FI95971B (fi) 1995-12-29
FI95971C FI95971C (fi) 1996-04-10

Family

ID=22726583

Family Applications (1)

Application Number Title Priority Date Filing Date
FI891784A FI95971C (fi) 1988-05-26 1989-04-14 Laite ja menetelmä sivutettuun muistiin pääsemiseksi tietokonejärjestelmässä

Country Status (24)

Country Link
US (1) US5034917A (fi)
EP (1) EP0343769B1 (fi)
JP (1) JPH06101225B2 (fi)
KR (1) KR920010950B1 (fi)
CN (1) CN1010809B (fi)
AT (1) ATE125058T1 (fi)
BE (1) BE1003816A4 (fi)
BR (1) BR8902399A (fi)
CA (1) CA1319201C (fi)
DE (2) DE68923403T2 (fi)
DK (1) DK189589A (fi)
ES (1) ES2075045T3 (fi)
FI (1) FI95971C (fi)
GB (1) GB2219418A (fi)
HK (1) HK23896A (fi)
IT (1) IT1230189B (fi)
MX (1) MX167244B (fi)
MY (1) MY104737A (fi)
NL (1) NL8901237A (fi)
NO (1) NO891581L (fi)
NZ (1) NZ228610A (fi)
PH (1) PH30402A (fi)
PT (1) PT90631B (fi)
SE (1) SE8901304L (fi)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5159679A (en) * 1988-09-09 1992-10-27 Compaq Computer Corporation Computer system with high speed data transfer capabilities
GB9008145D0 (en) * 1989-05-31 1990-06-06 Ibm Microcomputer system employing address offset mechanism to increase the supported cache memory capacity
US5276856A (en) * 1989-09-28 1994-01-04 Pixel Semiconductor, Inc. Memory controller flexible timing control system and method
CA2028085A1 (en) * 1989-11-03 1991-05-04 Dale J. Mayer Paged memory controller
GB2242294B (en) * 1990-03-19 1993-12-22 Apple Computer Memory architecture using page mode writes and single level write buffering
IL96808A (en) 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
US6751696B2 (en) 1990-04-18 2004-06-15 Rambus Inc. Memory device having a programmable register
US5247636A (en) * 1990-05-31 1993-09-21 International Business Machines Corporation Digital processor clock circuit
US5301299A (en) * 1990-06-07 1994-04-05 Intel Corporation Optimized write protocol for memory accesses utilizing row and column strobes
US5835945A (en) * 1990-08-06 1998-11-10 Ncr Corporation Memory system with write buffer, prefetch and internal caches
US5278967A (en) * 1990-08-31 1994-01-11 International Business Machines Corporation System for providing gapless data transfer from page-mode dynamic random access memories
US5522064A (en) * 1990-10-01 1996-05-28 International Business Machines Corporation Data processing apparatus for dynamically setting timings in a dynamic memory system
US5274786A (en) * 1990-11-28 1993-12-28 Hewlett-Packard Company Microprocessor memory bus interface for inhibiting relatching of row address portions upon subsequent accesses including a same row address portion
US5265236A (en) * 1990-11-29 1993-11-23 Sun Microsystems, Inc. Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode
US5283880A (en) * 1991-01-02 1994-02-01 Compaq Computer Corp. Method of fast buffer copying by utilizing a cache memory to accept a page of source buffer contents and then supplying these contents to a target buffer without causing unnecessary wait states
JP3180362B2 (ja) * 1991-04-04 2001-06-25 日本電気株式会社 情報処理装置
US5353417A (en) * 1991-05-28 1994-10-04 International Business Machines Corp. Personal computer with bus interface controller coupled directly with local processor and input/output data buses and for anticipating memory control changes on arbitration for bus access
US5253214A (en) * 1991-09-27 1993-10-12 Eastman Kodak Company High-performance memory controller with application-programmable optimization
US5551054A (en) * 1991-11-19 1996-08-27 Adaptec, Inc. Page mode buffer controller for transferring Nb byte pages between a host and buffer memory without interruption except for refresh
US5295247A (en) * 1992-04-17 1994-03-15 Micronics Computers, Inc. Local IDE (integrated drive electronics) bus architecture
DE69305511T2 (de) * 1992-06-04 1997-02-20 Cabletron Systems Inc Adaptive speichersteureinrichtung.
EP0607668B1 (en) * 1993-01-21 1999-03-03 Advanced Micro Devices, Inc. Electronic memory system and method
US5732236A (en) * 1993-05-28 1998-03-24 Texas Instruments Incorporated Circuit and method for controlling access to paged DRAM banks with request prioritization and improved precharge schedule
US5640527A (en) * 1993-07-14 1997-06-17 Dell Usa, L.P. Apparatus and method for address pipelining of dynamic random access memory utilizing transparent page address latches to reduce wait states
JPH07129456A (ja) * 1993-10-28 1995-05-19 Toshiba Corp コンピュータシステム
US5758107A (en) * 1994-02-14 1998-05-26 Motorola Inc. System for offloading external bus by coupling peripheral device to data processor through interface logic that emulate the characteristics of the external bus
KR970001699B1 (ko) * 1994-03-03 1997-02-13 삼성전자 주식회사 자동프리차아지기능을 가진 동기식 반도체메모리장치
JPH07248963A (ja) * 1994-03-08 1995-09-26 Nec Corp Dram制御装置
JPH08314795A (ja) * 1994-05-19 1996-11-29 Hitachi Ltd 記憶装置の読み出し回路及び記憶システム
AU703750B2 (en) * 1994-10-14 1999-04-01 Compaq Computer Corporation Easily programmable memory controller which can access different speed memory devices on different cycles
US5701143A (en) * 1995-01-31 1997-12-23 Cirrus Logic, Inc. Circuits, systems and methods for improving row select speed in a row select memory device
USRE36532E (en) * 1995-03-02 2000-01-25 Samsung Electronics Co., Ltd. Synchronous semiconductor memory device having an auto-precharge function
WO1996029652A1 (en) * 1995-03-22 1996-09-26 Ast Research, Inc. Rule-based dram controller
US5666494A (en) * 1995-03-31 1997-09-09 Samsung Electronics Co., Ltd. Queue management mechanism which allows entries to be processed in any order
TW388982B (en) * 1995-03-31 2000-05-01 Samsung Electronics Co Ltd Memory controller which executes read and write commands out of order
US5638534A (en) * 1995-03-31 1997-06-10 Samsung Electronics Co., Ltd. Memory controller which executes read and write commands out of order
US5765203A (en) * 1995-12-19 1998-06-09 Seagate Technology, Inc. Storage and addressing method for a buffer memory control system for accessing user and error imformation
US6209071B1 (en) * 1996-05-07 2001-03-27 Rambus Inc. Asynchronous request/synchronous data dynamic random access memory
US6263448B1 (en) 1997-10-10 2001-07-17 Rambus Inc. Power control system for synchronous memory device
US6052756A (en) * 1998-01-23 2000-04-18 Oki Electric Industry Co., Ltd. Memory page management
JPH11272606A (ja) * 1998-03-19 1999-10-08 Fujitsu Ltd バス制御装置
US6643752B1 (en) * 1999-12-09 2003-11-04 Rambus Inc. Transceiver with latency alignment circuitry
US20050010737A1 (en) * 2000-01-05 2005-01-13 Fred Ware Configurable width buffered module having splitter elements
US6502161B1 (en) 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
US7363422B2 (en) * 2000-01-05 2008-04-22 Rambus Inc. Configurable width buffered module
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US7266634B2 (en) * 2000-01-05 2007-09-04 Rambus Inc. Configurable width buffered module having flyby elements
US7404032B2 (en) * 2000-01-05 2008-07-22 Rambus Inc. Configurable width buffered module having switch elements
US7010642B2 (en) * 2000-01-05 2006-03-07 Rambus Inc. System featuring a controller device and a memory module that includes an integrated circuit buffer device and a plurality of integrated circuit memory devices
US6829184B2 (en) * 2002-01-28 2004-12-07 Intel Corporation Apparatus and method for encoding auto-precharge
US7315928B2 (en) * 2005-02-03 2008-01-01 Mediatek Incorporation Apparatus and related method for accessing page mode flash memory
US8607328B1 (en) 2005-03-04 2013-12-10 David Hodges Methods and systems for automated system support
US8032688B2 (en) * 2005-06-30 2011-10-04 Intel Corporation Micro-tile memory interfaces
US8253751B2 (en) * 2005-06-30 2012-08-28 Intel Corporation Memory controller interface for micro-tiled memory access
US11328764B2 (en) 2005-09-26 2022-05-10 Rambus Inc. Memory system topologies including a memory die stack
US7464225B2 (en) * 2005-09-26 2008-12-09 Rambus Inc. Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology
US7562271B2 (en) 2005-09-26 2009-07-14 Rambus Inc. Memory system topologies including a buffer device and an integrated circuit memory device
US8878860B2 (en) * 2006-12-28 2014-11-04 Intel Corporation Accessing memory using multi-tiling
TWI539468B (zh) 2013-06-06 2016-06-21 鈺創科技股份有限公司 具有低消耗電流的記憶體和降低記憶體消耗電流的方法
CN113361683B (zh) * 2021-05-18 2023-01-10 山东师范大学 一种生物仿脑存储方法及系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4239993A (en) * 1978-09-22 1980-12-16 Texas Instruments Incorporated High performance dynamic sense amplifier with active loads
US4318014A (en) * 1979-07-27 1982-03-02 Motorola, Inc. Selective precharge circuit for read-only-memory
JPS5727477A (en) * 1980-07-23 1982-02-13 Nec Corp Memory circuit
JPS57117168A (en) * 1981-01-08 1982-07-21 Nec Corp Memory circuit
GB2112256B (en) * 1981-11-18 1985-11-06 Texas Instruments Ltd Memory apparatus
US4625300A (en) * 1982-12-01 1986-11-25 Texas Instruments Incorporated Single-ended sense amplifier for dynamic memory array
FR2541796B1 (fr) * 1983-02-25 1987-08-21 Texas Instruments France Dispositif permettant de repartir le temps d'acces d'une memoire sur plusieurs utilisateurs
JPS60108953A (ja) * 1983-11-15 1985-06-14 モトローラ・インコーポレーテツド メモリデータバスの多重化方法
US4623986A (en) * 1984-02-23 1986-11-18 Texas Instruments Incorporated Memory access controller having cycle number register for storing the number of column address cycles in a multiple column address/single row address memory access cycle
JPS6142793A (ja) * 1984-08-02 1986-03-01 Seiko Instr & Electronics Ltd 高速メモリシステム
DE3582376D1 (de) * 1984-08-03 1991-05-08 Toshiba Kawasaki Kk Halbleiterspeicheranordnung.
JPH0799616B2 (ja) * 1984-08-30 1995-10-25 三菱電機株式会社 半導体記憶装置
DE3586736T2 (de) * 1984-10-11 1993-02-18 Hitachi Ltd Halbleiterspeicher.
JPS61110394A (ja) * 1984-10-31 1986-05-28 Mitsubishi Electric Corp 半導体記憶装置
US4649522A (en) * 1985-02-11 1987-03-10 At&T Bell Laboratories Fast column access memory
JPS6228994A (ja) * 1985-07-29 1987-02-06 Nec Corp メモリ集積回路
US4658381A (en) * 1985-08-05 1987-04-14 Motorola, Inc. Bit line precharge on a column address change
US4754433A (en) * 1986-09-16 1988-06-28 Ibm Corporation Dynamic ram having multiplexed twin I/O line pairs

Also Published As

Publication number Publication date
IT1230189B (it) 1991-10-18
DE68923403D1 (de) 1995-08-17
GB2219418A (en) 1989-12-06
SE8901304D0 (sv) 1989-04-11
KR890017611A (ko) 1989-12-16
FI891784A (fi) 1989-11-27
NZ228610A (en) 1991-03-26
GB8904917D0 (en) 1989-04-12
JPH0223591A (ja) 1990-01-25
PT90631B (pt) 1994-10-31
ES2075045T3 (es) 1995-10-01
NO891581D0 (no) 1989-04-18
JPH06101225B2 (ja) 1994-12-12
EP0343769A2 (en) 1989-11-29
KR920010950B1 (ko) 1992-12-24
IT8920624A0 (it) 1989-05-24
DK189589D0 (da) 1989-04-19
MX167244B (es) 1993-03-11
DK189589A (da) 1989-11-27
EP0343769B1 (en) 1995-07-12
MY104737A (en) 1994-05-31
NO891581L (no) 1989-11-27
CN1010809B (zh) 1990-12-12
US5034917A (en) 1991-07-23
DE68923403T2 (de) 1996-03-07
BR8902399A (pt) 1990-01-16
EP0343769A3 (en) 1992-04-29
PT90631A (pt) 1989-11-30
CA1319201C (en) 1993-06-15
CN1037983A (zh) 1989-12-13
DE3909896A1 (de) 1989-11-30
DE3909896C2 (fi) 1990-09-20
HK23896A (en) 1996-02-16
BE1003816A4 (fr) 1992-06-23
FI891784A0 (fi) 1989-04-14
PH30402A (en) 1997-05-08
FI95971C (fi) 1996-04-10
SE8901304L (sv) 1989-11-27
NL8901237A (nl) 1989-12-18
ATE125058T1 (de) 1995-07-15

Similar Documents

Publication Publication Date Title
FI95971B (fi) Laite ja menetelmä sivutettuun muistiin pääsemiseksi tietokonejärjestelmässä
US4803621A (en) Memory access system
US5448703A (en) Method and apparatus for providing back-to-back data transfers in an information handling system having a multiplexed bus
US6836816B2 (en) Flash memory low-latency cache
US5239639A (en) Efficient memory controller with an independent clock
US6012106A (en) Prefetch management for DMA read transactions depending upon past history of actual transfer lengths
EP1665058B1 (en) Memory module and method having on-board data search capabilites and processor-based system using such memory modules
EP0375194B1 (en) Dual port RAM
EP0375121B1 (en) Method and apparatus for efficient DRAM control
EP0629956A2 (en) Bus-to-bus bridge for optimising data transfers between a system bus and a peripheral bus
US4316244A (en) Memory apparatus for digital computer system
US5859990A (en) System for transferring data segments from a first storage device to a second storage device using an alignment stage including even and odd temporary devices
KR930016888A (ko) 컴퓨터 시스템 및 시스템 메모리 액세스 제어방법
US4912631A (en) Burst mode cache with wrap-around fill
US4513369A (en) Information processing system
EP0464848B1 (en) Structure for enabling direct memory-to-memory transfer
US4455606A (en) Logic control system for efficient memory to CPU transfers
EP0602805B1 (en) Cache memory systems
US4964037A (en) Memory addressing arrangement
US5809534A (en) Performing a write cycle to memory in a multi-processor system
JP2514292B2 (ja) オペランドペ―ジメモリ及び命令ペ―ジメモリを有するコンピュ―タシステム
US6483753B1 (en) Endianess independent memory interface
KR940001590B1 (ko) 블럭읽기 및 쓰기에서의 메모리 엑세스 시간 단축장치 및 방법
JPH02188848A (ja) バッファメモリ方式を使用したデータ処理方式
EP0568678B1 (en) Device for transmission of data

Legal Events

Date Code Title Description
BB Publication of examined application
MM Patent lapsed
MM Patent lapsed

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION