NL8901237A - Apparatuur en werkwijze voor het benaderen van een geheugen voor paginaverwerkingswijze in een computersysteem. - Google Patents

Apparatuur en werkwijze voor het benaderen van een geheugen voor paginaverwerkingswijze in een computersysteem. Download PDF

Info

Publication number
NL8901237A
NL8901237A NL8901237A NL8901237A NL8901237A NL 8901237 A NL8901237 A NL 8901237A NL 8901237 A NL8901237 A NL 8901237A NL 8901237 A NL8901237 A NL 8901237A NL 8901237 A NL8901237 A NL 8901237A
Authority
NL
Netherlands
Prior art keywords
memory
data
address
bus
cas
Prior art date
Application number
NL8901237A
Other languages
English (en)
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 NL8901237A publication Critical patent/NL8901237A/nl

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

Description

*
International Business Machines Corporation,
Armonk, New York, Verenigde Staten van Amerika.
Apparatuur en werkwijze voor het benaderen van een geheugen voor paginaverwerkingswijze in een computersysteem.
Beschrijving
Deze uitvinding heeft in het algemeen betrekking op geheugens waarvan gebruik wordt gemaakt in computersystemen en meer in het bijzonder op het benaderen van gegevens opgeslagen in geheugens voor paginaverwerkingswij ze waarvan in zulke systemen gebruik wordt gemaakt.
5 De eisen aan computersystemen om steeds grotere bedrijfssnelheden, toegenomen effektief verwerkingsvermogen en groter algehele prestatievermogen te bereiken duren voort. Een trend is geweest om de klokfrequentie van de centrale verwerkingseenheid (CPU) van de computer te vergroten. Dit resulteert natuurlijk in een groter aantal instructies 10 welke per eenheid van tijd worden verwerkt. Echter, naarmate de klokfrequentie wordt vergroot, moet de benaderingstijd welke is verbonden met het geheugen op een of andere wijze'overeenkomstig worden verkort wanneer het volledige voordeel van de toename van de klokfrequentie moet worden gerealiseerd. Anders wordt de benaderingstijd welke is verbonden 15 met het lezen van gegevens uit het geheugen een prominente beperkende faktor welke het effektieve prestatievermogen van de CPU beperkt.
Eén benadering om de effektieve benaderingstijd welke is vereist om gegevens uit het geheugen af te lezen te verminderen is om geheugen voor paginaverwerkingswijze te gebruiken. D.w.z. dat geheugen wordt ver-20 deeld in een veelheid van pagina’s, waarbij iedere pagina bestaande uit een rij, die een gemeenschappelijk rijadres voor de gehele rij heeft.
Iedere rij van een pagina omvat een veelheid van kolommen met corresponderende kolomadressen. Om een bijzonder brok gegevens te benaderen dat is opgeslagen in zulk een geheugen voor paginaverwerkingswijze, wordt het 25 rijadres van die gegevens verschaft aan het geheugen om selectie van de pagina in het geheugen waar de gegevens zijn gelegen mogelijk te maken.
Vervolgens wordt het kolomadres dat is verbonden met de gegevens aan het geheugen verschaft teneinde selectie van het bijzondere gegevensbrok binnen de geadresseerde rij of pagina mogelijk te maken. Daarna worden BC 9.88.002 89 01 237.’ 4 4 2 typisch de geadresseerde gegevens uitgelezen naar de gegevensbus.
Een voorbeeld van een geheugen voor paginaverwerkingswijze wordt gevonden in de computer IBM Personnel System/2, Model 80. (Personnel System/2 is een handelsmerk van de International Business Machines 5 Corporation.) Een vereenvoudigd blokdiagram dat in het algemeen representatief is voor zulk een computersysteem met geheugen voor paginaverwerkingswijze wordt getoond in fig. 1 als systeem 10. Systeem 10 omvat een centrale verwerkingseenheid (CPU) 20 of microprocessor waaraan een adres-bus ("ADDRESS") 30 en een gegevensbus ("DATA") 40 zijn gekoppeld. Systeem 10 10 omvat verder een geheugenbesturingseenheid ("MEMORY CONTROLLER") 50 waaraan adresbus 30 en gegevensbus 40 zijn gekoppeld. Een besturingsbus ("CONTROL") 60 is gekoppeld tussen CPU 20 en geheugenbesturingseenheid 50 zodanig dat besturingssignalen daartussen kunnen worden doorgegeven. Geheugenbesturingseenheid 50 is gekoppeld aan tenminste één geheugenmoduul 15 ("MEMORY MODULE") 70 dat bestaat uit direkt toegankelijk geheugen (RAM).
In dit voorbeeld is geheugenmoduul 70 verdeeld in pagina's die 2K bytes lang zijn (512 x 32 plus pariteit), waarbij iedere pagina per definitie hetzelfde rij adres heeft. Iedere pagina omvat zodoende 2K kolomadressen.
Een gegevensbus ("DATA") 80 wordt gekoppeld tussen geheugenbesturings-20 eenheid 50 en geheugenmoduul 70 om het overbrengen van gegevens daartussen mogelijk te maken.
Een gemultiplexte MUX adresbus ("MUX ADDRESS") 90 is gekoppeld tussen geheugenbesturingseenheid 50 en geheugenmoduul 70 zodanig dat de informatie over rij- en kolomadressen kan worden doorgegeven van geheugen-25 besturingseenheid 50 naar geheugenmoduul 70. De gemultiplexte adresbus 90 heeft minder lijnen dan adresbus 30 ten gevolge van de aard van het multi-plexen van bus 90 waarop een adres voor rij of pagina eerst wordt verschaft aan geheugenmoduul 90 gedurende een benaderingscyclus voor het geheugen en vervolgens, ten tweede, wordt een kolomadres verschaft aan 30 geheugenmoduul 90 later in die cyclus. Geheugenbesturingseenheid 50 verschaft strobe (periodieke selectie) signalen voor rij adres (RAS) en strobe-signalen voor kolomadres (CAS) aan geheugenmoduul 70 zoals kan worden gezien in fig. 1. De aard van de signalen voor RAS en CAS wordt beschreven in de volgende uiteenzetting van het tijdregeldiagram van fig. 2.
35 Fig. 2 toont een tijdregeldiagram ("TIME" is tijd) van een typische BC 9.88.002 8901237.
ί- 3 geheugencyclus die is verbonden met computersysteem 10, Ter wille van dit voorbeeld wordt aangenomen dat CPU 20 een eerste brok gegevens van geheugen 70 wenst te benaderen of op te zoeken op een voorafbepaald gegevensadres daarin. Teneinde werkelijk zulke informatie te benaderen, zendt 5 CPU 20 het gegevensadres naar geheugenbesturingseenheid 50. Geheugen-besturingseenheid 50 deelt effektief het gegevensadres in twee porties, namelijk het rijadres (ook bekend als het pagina-adres) en het kolomadres.
Het rijadres en het kolomadres worden gemultiplext op MCX adresbus 90.
D.w.z., dat het rijadres eerst wordt verschaft aan zulk een MUX adres-10 bus bij 100. Het RAS-signaal is aanvankelijk HIGH (hoog) of OFF (uit).
Opgemerkt wordt dat, daar van negatieve logica gebruik wordt gemaakt in het tijdregeidiagram van fig. 2, HIGH correspondeert met een OFF-toestand en LOW (laag) correspondeert met een ON(aan)-toestand. Het RAS-signaal komt op ON bij 105 om de portie van het rijadres te selecteren die op dat 15 moment wordt verschaft aan MUX adres-bus 90. Op deze wijze selecteert geheugenmoduul 70 de bijzondere pagina (rij) waarin de geadresseerde gegevens zijn opgeslagen. RAS blijft ON voor de duur van de eerste geheugencyclus ("1ST MEMORY CYCLE") en de volgende tweede geheugencyclus ("2ND MEMORY CYCLE").
20 Nadat RAS op ON is gekomen en het rijadres is geselecteerd in de eerste geheugencyclus, wordt de portie van het kolomadres van de gewenste gegevens verschaft aan de MUX adresbus bij 110. Het CAS-signaal wordt dan aangedreven op ON bij 115 om de portie van het kolomadres te selecteren dat op dat moment wordt verschaft aan MUX adresbus 90. Op 25 dit punt is het adres volledig daar zowel het gedeelte voor het rijadres als het gedeelte voor het kolomadres overeenkomend met de verlangde gegevens zijn verschaft aan geheugenmoduul 70. Geheugenmoduul 70 benadert dan de gegevens die zo zijn geadresseerd en verschaft zulke gegevens aan de gegevensbus 80 voor het geheugen. De gegevens op de gegevensbus 80 voor 30 het geheugen worden geldig bij 120 nadat zich een voorafbepaalde tijdsvertraging Tp heeft voorgedaan na voltooiing en selectie van het adres op 115. Microprocessor 20 pikt dan de geadresseerde gegevens op van gegevensbus 40 van fig. 1. Degenen die geschoold zijn in de techniek gebruiken de term T om de tijdsvertraging te definiëren tussen de tijd waarop CAS aktief 35 wordt tot aan de tijd waarop de gegevens geldig worden op de gegevensbus 80 voor het geheugen. De term T^ heeft betrekking op de tijdsvertraging tussen de tijd waarop RAS aktief wordt tot aan de tijd waaarop de gegevens BC 9.88.002 8901237; » 4 geldig worden. Meer gebruikelijk wordt naar T^s verwezen als de "toegangstijd" die wordt vertoond door een bijzondere geheugeninrichting.
Bij voorbeeld vertoont een geheugeninrichting met een benaderingstijd van 8 nanoseconden een T_.n van 80 nanoseconden.
RAS
5 Ter wille van dit voorbeeld wordt aangenomen dat een tweede brok gegevens gelegen in dezelfde pagina of rij als bovengenoemd eerste brok gegevens benaderd moet worden vanuit geheugenmoduul 70. Degenen die geschoold zijn in de techniek gebruiken de term "pijplijnen" om de handeling van het veranderen van het adres te beschrijven, bijv. de portie van het 10 kolomadres, voorafgaand aan het einde van de lopende geheugencyclus ter voorbereiding van de volgende geheugencyclus ("END OF 1ST CYCLE START OF 2ND"). Pijplijnen zelf bespaart tijd daar het toelaat dat het adresdeco-deercircuit in geheugenbesturingseenheid 50 met het verwerken van het adres start op een eerder moment dan anders mogelijk zou zijn. Een voor-15 beeld van zulk pijplijnen ziet men in fig. 2 waar volgend op het geldig worden van de gegevens bij 120 en voorafgaande aan het einde van de eerste geheugencyclus op 125 het kolomadres wordt veranderd in een nieuw kolomadres bij 130, waarbij zulk een kolomadres overeenkomt met het tweede brok gegevens. Daar het tweede brok gegevens dat moet worden benaderd in de 20 tweede geheugencyclus op dezelfde pagina is als de gegevens die worden benaderd in de eerste geheugencyclus, verandert de portie van het kolomadres bij 130 terwijl de portie van het rijadres dezelfde blijft. Naar deze situatie wordt verwezen als een "page hit" (pagina-treffer). Daar het niet noodzakelijk is om een portie van een rijadres opnieuw te zenden 25 naar geheugenmoduul 70 als een "page hit" voorkomt, kan waardevolle tijd gespaard worden in een opstelling met geheugen voor paginaverwerkingswijze.
Voordat geheugenmoduul 70 de informatie over het kolomadres die nu aanwezig is op MUX adresbus 90 kan selecteren en werkelijk gebruiken, is het noodzakelijk om het CAS-signaal op OFF te drijven gedurende een voor-
30 afbepaalde periode waarnaar wordt verwezen als de voorlading van CAS ("CAS
PRECHARGE") 135. Degenen die geschoold zijn in de techniek verwijzen naar de voorlaadtijd van CAS als Tr . Voor een geheugeninrichting met een CRr benadertijd van 80 nanoseconden zou een typische waarde van T 15 nano- LRr seconden zijn. Wanneer het voorladen van CAS voltooid is, wordt CAS weer 35 op ON gedreven bij 140 zodanig dat de portie van het kolomadres van het tweede brok gegevens wordt geselecteerd door geheugenmoduul 70. Het adres BC 9.88.002 8901237.
ί 5 *
van het tweede brok gegevens is zodoende voltooid en de gegevens op adres-bus 80 van het geheugen worden geldig op 145 na een voorafbepaalde tijdsvertraging, Τρ, voor het voltooien en selecteren van het adres op 140. Microprocessor 20 pikt dan de geadresseerde gegevens op van gegevensbus 5 40 van fig. 1. De tweede geheugencyclus eindigt op 150 ("END OF 2ND
CYCLE").
Ter wille van dit voorbeeld wordt aangenomen dat een derde brok gegevens gelegen in een pagina of rij die verschillend is van die van de eerste en tweede brokken gegevens wordt benaderd in een derde geheugen-10 cyclus ("THIRD MEMORY CYCLE") die aanvangt bij 150, waarbij een portie van zulk een derde geheugencyclus wordt vertoond in fig. 2. Naar deze situatie wordt verwezen als een "page miss"(pagina-misser). D.w.z. dat een nieuwe portie voor het rijadres overeenkomend met de locatie van het derde brok gegevens moet worden verschaft aan geheugenmoduul 70. Zulk een 15 nieuwe portie voor het rijadres verschijnt op de MUX adresbus via pijplijnen bij 155. Bij begin 150 van de derde geheugencyclus wordt RAS gedreven op OFF ter voorbereiding van het nieuwe rijadres. Het nieuwe rijadres wordt in werkelijkheid geselecteerd wanneer RAS wordt gedreven op ON bij 160. De rest van de derde geheugencyclus is wezenlijk gelijk 20 aan de eerste geheugencyclus in fig. 2 waarbij de voorlading van CAS wordt verschaft bij 165 nabij het begin van de derde geheugencyclus.
In bovenstaande discussie kan men zien dat in de situatie waar een "page hit" voorkomt in een geheugen voor paginaverwerkingswijze, een wezenlijke hoeveelheid tijd wordt verbruikt (met verwijzing naar de 25 tweede geheugencyclus in fig. 2) in het geleiden van de voorlading van CAS alvorens de portie van het nieuwe kolomadres kan worden gebruikt om het nieuwe adres te voltooien en de overeenkomstige gegevens te selecteren.
Zoals boven is vermeld, worden computersystemen ontworpen met steeds 30 hogere kloksnelheden. Gegeven het feit dat een geheugencyclus bestaat uit een voorafbepaald aantal klokpulsen die overeenkomstig korter worden naarmate de kloksnelheid toeneemt, neigt de tijd vereist voor het opzetten van zulke geheugenaktiviteiten als het voorladen van CAS een steeds toenemende hoeveelheid van de benaderingscyclus voor het geheugen te bezet-35 ten naarmate de kloksnelheid toeneemt. Een manier om een microprocessor te BC 9.88.002 83 01 23 7 Λ 6 huisvesten die wordt bedreven met een zeer hoge snelheid ten opzichte van de snelheid of de benaderingstijd van het geheugen is om wacht-toestanden toe te voegen aan het computersysteem om op effektieve wijze de microprocessor te vertragen teneinde te wachten op gegevens die 5 vanuit het geheugen moeten worden benaderd. Deze gang van zaken is in het algemeen onwenselijk omdat die een aantal voordelen van het toenemen van de kloksnelheid van de microprocessor negeert.
Het is een doelstelling van deze uitvinding om een computersysteem te verschaffen dat in staat is om te werken bij hoge kloksnelheden zonder 10 dat er een toevlucht wordt genomen tot aanvullende wachttoestanden terwijl er een paginageheugen wordt benaderd.
Volgens de uitvinding wordt er een computersysteem verschaft omvattende een dynamisch geheugen voor paginaverwerkingswijze en middelen om het geheugen te benaderen door het genereren van strobesignalen voor rij-15 adres (RAS) en voor kolomadres (CAS) in combinatie resp. met adresgegevens voor rij en kolom, waarin voor het benaderen van een aantal lokaties in een pagina in een gelijk aantal opeenvolgende geheugencycli, het RAS-signaal en de gegevens van het rijadres constant blijven gedurende elk van deze geheugencycli, en het CAS-signaal wordt voorgeladen voor iedere 20 geheugencyclus behalve de eerste, gekenmerkt doordat de voorlading voor CAS voor een lopende geheugencyclus tot stand komt in een periode binnen en aan het einde van de onmiddellijk voorafgaande geheugencyclus.
Voorts wordt in overeenstemming met de uitvinding een werkwijze verschaft voor een computersysteem omvattende een dynamisch geheugen 25 voor paginaverwerkingswijze omvattende leesgegevens uit het geheugen voor paginaverwerkingswijze door de stappen van het voortbrengen van een strobesignaal voor rijadres (RAS) in combinatie met gegevens voor een rijadres teneinde een geheugenrij en een strobesignaal voor kolomadres (CAS) te selecteren in combinatie met gegevens voor het kolomadres om 30 een geadresseerde locatie te definiëren, en, teneinde een veelheid van locaties in een pagina te benaderen in een gelijke hoeveelheid van opeenvolgende geheugencycli, de gegevens voor RAS een rijadres constant te houden voor elk van deze cycli behalve de eerste, gekenmerkt doordat de voorlading voor CAS voor een lopende geheugen-35 cyclus tot stand komt in een periode binnen en aan het einde van de BC 9.88.002 89 01 237 - * 7 onmiddellijk voorafgaande geheugencyclus.
Voorts wordt door de uitvinding verschaft een werkwijze voor een computersysteem omvattende een verwerkingseenheid, een dynamisch geheugen voor paginaverwerkingswijzes een adresbus en een gegevensbus, 5 teneinde gegevens over te brengen van het geheugen naar het verwerken omvattende de volgende stappen: het toepassen van een rijadres op het geheugen uit de adresbus samen met het strobesignaai voor rijadres (RAS) bij het begin van een geheugencyclus; vervolgens, binnen dezelfde geheugencyclus, het toepassen van een kolomadres op het geheugen vanuit 10 de adresbus samen met een strobesignaai voor kolomadres (CAS)$ het bufferen van gegevens die zo zijn geadresseerd voor het daaropvolgend overbrengen naar de verwerkingseenheid over de gegevensbus en het voorladen voor CAS volgend op het bufferen van de gegevens en voorafgaande aan het einde van de geheugencyclus.
15 ïiu zal een belichaming van de uitvinding worden beschreven, bij wijze van voorbeeld, met verwijzing naar bijgevoegde tekeningen, waarin: fig. 1 een vereenvoudigd blokdiagram is van een conventioneel computersysteem met een geheugen voor paginaverwerkingswijze; fig. 2 een tijdregeidiagram is verbonden met één typisch conven-20 tioneel geheugen voor paginaverwerkingswijze; fig. 3 een vereenvoudigde grafische voorstelling is van het computersysteem dat deze uitvinding belichaamt; fig. 4 een blokdiagram is van het computersysteem dat de uitvinding belichaamt; 25 fig. 5A en 5B tijdregeldiagrammen zijn die het tijdregelen van de geheugenportie van het computersysteem van fig. 4 tonen (fig. 5B) vergeleken met het tijdregelen van de geheugenportie van het conventionele systeem van fig. 2 (fig. 5A); fig. 6 een stroomdiagram is dat toont hoe het benaderen van geheugen 30 wordt geïmplementeerd in het computersysteem van fig. 4; fig. 7 een blokdiagram is van het twee-richtingsbuffercircuit waarvan gebruik wordt gemaakt in het computersysteem van fig. 4; fig. 8 een blokdiagram is van de volledige gegevensbuffer van fig· 7; 35 fig. 9 een voorstelling is van de informatie op de aansluitpennen voor de gegevensbuffer van fig. 8.
BC 9.88.002 89 01 237 .
4 *Φ 8
Fig. 3 toont een vereenvoudigde voorstelling van het computersysteem volgens de uitvinding hetgeen omvat een computersysteemeenheid ("SYSTEM UNIT") 200 waarmee een monitor 205, een toetsenbordinvoer-inrichting ("KEYBOARD") 210, een muisinvoerinrichting ("MOUSE") 215 en 5 een afdrukuitvoerinrichting ("PRINTER") 220 zijn gekoppeld.
Fig. 4 is een blokdiagram van de computersysteemeenheid 200. Systeemeenheid 200 omvat een verwerkingseenheid ("MICROPROCESSOR") 225, bijv. een 32-bits verwerkingseenheid zoals de Intel 80386 verwerkingseenheid. Een locale bus ("CPU LOCAL BUS") 230 voor de CPU wordt gevormd 10 door een 36-bits adresbus, een 32-bits gegevensbus en een 10-bits bestu-ringsbus welke zijn gekoppeld tussen verwerkingseenheid 225 en een buffer 240 zoals getoond in fig. 4. Een wiskundige aanvullende verwerkingseenheid ("MATH COPROCESSOR") 245, zoals de Intel 80387 aanvullende verwerkingseenheid, is gekoppeld aan de locale bus 230 van de CPU om bewer-15 kingen met drijvende komma uit te voeren teneinde de doorvoer door het systeem te verhogen.
Systeemeenheid 200 omvat een plaatselijke bus ("SYSTEM LOCAL BUS") 250 voor het systeem gekoppeld tussen buffer 240 en een buffer 253. De plaatselijke bus 250 voor het systeem omvat een gegevensbus ("DATA"), een 20 adresbus ("ADDRESS") en een besturingsbus ("CONTROL") zoals getoond in fig. 4. Buffer 240 werkt teneinde de adresbus van de plaatselijke bus 230 van ue CPU te bufferen met betrekking tot de adresbus van de plaatselijke bus 250 van het systeem. Buffer 240 buffert ook de gegevensbus en de besturingsbus van de plaatselijke bus 230 van de CPU met betrekking tot 25 de gegevensbus en besturingsbus van de plaatselijke bus 250 van het systeem. Een gegevenscache ("64K DATA CACHE") 255 van de CPU, bijv. een gegevenscache omvattende 64K geheugen, is gekoppeld aan de adres- en gegevensbussen van plaatselijke bus 230 van de CPU. Een cachebesturings-eenheid ("CACHE CONTROLLER") 260 zoals bijv. de Intel 82385 cachebestu-30 ringseenheid is gekoppeld aan de adres- en besturingsbussen van plaatselijke bus 230 van de CPU. Cachebesturingseenheid 260 bestuurt het geheugen en het benaderen van vaak gebruikte gegevens die zijn opgeslagen in gegevenscache 255 om op effektieve wijze de werking van systeemeenheid 200 te versnellen. Cachebesturingseenheid 260 is ook gekoppeld aan de adresbus 35 van de plaatselijke bus 250 van het systeem.
BC 9.88.002 8901237.
& 9
Systeemeenheid 200 omvat een besturings- en tijdregelingscircuit ("BUS CNTL & TIMING") 265 voor de bus gekoppeld aan de bussen voor adres, gegevens en besturing van plaatselijke bus 250 van het systeem. De plaatselijke bus 250 van het systeem is gekoppeld via een vergrendelaar/ 5 buffer/decodeerder ("LCH/BUFFER DECODER") 267 aan een invoer/uitvoer (l/0)-bus ("PLANAR 1/0 BUS") 270 die omvat een 10-bits adresbus, een 8-bits gegevansbus en een besturingsbus. Buffer/decodeerder 267 verschaft besturing voor i/O-adresbuffer en i/O-gegevensbuffer. Buffer/decodeerder 267 decodeert het adres en de besturingssignalen voor de plaatselijke bus 10 van het systeem en verschaft signalen voor "chip select" en 1/0- commando’s aan de l/0-bus 270. Het zal duidelijk zijn dat "chip select" slaat op selectie van de bijzondere inrichting die is gekoppeld aan de l/0~bus 270 waarop een bewerking moet worden uitgevoerd. l/0-bus 270 is gekoppeld aan een display-adapter 275, een CMGS-klok 280, een CMOS RAM 15 285, een RS 232-adapter 290, een afdrukeenheidsadapter ("PRINT ADAPT") 295, en een 4-kanaalstijdregelaar ("4 CHAN TIMER") 300 voor algemene functies op het gebied van het bijhouden van de tijd. I/O-bus 270 is verder gekoppeld aan een diskette-adapter 305, een interruptbesturings-eenheid ("INTR CTLR") 310 en een uitleesgeheugen (ROM) dat het Basic 20 Input Output System (BIOS) van het systeem bevat.
Een bus 320 voor het microkanaal (TM) met daarin bussen voor adres, gegevens en besturing is gekoppeld aan de locale bus van het systeem via buffer 253. De architectuur van de bus voor het microkanaal is meer gedetailleerd beschreven in het IBM PS/2 Model 80 Technical 25 Reference Manual. In overeenstemming met de architectuur van het microkanaal is een centraal besturingspunt voor arbitrage ("CENTRAL ARBITRATION PT.")(CACP) 325 gekoppeld aan bus 320 van het microkanaal en het circuit 265 voor besturing en tijdregeling van de bus met het doel om het mechanisme van de busarbitrage voor meerdere inrichtingen voor het 30 microkanaal te besturen. De verbinding van zulk een centraal arbitragepunt 325 en circuit 265 voor het besturen en het tijdregelen van de bus vormt in werkelijkheid een onderdeel van bus 320 van het microkanaal.
Een veelheid van microkanaalcontactdozen ("3 MICRO-CHANNEL SOCKETS") 330 zijn gekoppeld aan bus 320 voor het microkanaal zoals getoond in fig.
35 4 om voorzieningskaarten op te nemen zoals geheugenkaarten, video- aanpassers, DASD-aanpassers, SCSI-aanpassers en verbindingsaanpassings- BC 9.88.002 89 01 237.
10 kaarten. Een of meer contactdozen ("HARDFILE/FLOPPY SOCKET") 335 voor harde schijf of diskette zijn gekoppeld aan bus 320 van het microkanaal om verbinding van een harde schijf of diskette (niet getoond) naar bus 320 te vergemakkelijken. Een besturingseenheid vpor direkt toegankelijk 5 geheugen ("DMA CONTRLR") (DMA) is gekoppeld aan de bussen voor adres, gegevens en besturing van plaatselijke bus 250 van het systeem met het doel randapparaten zoals harde schijven, diskette-aandrijfeenheden en allerlei soorten DMA-slaafinrichtingen voor het microkanaal toe té staan direkte toegang te hebben tot het hoofdgeheugen (beneden beschreven) om 10 te vermijden dat verwerkingseenheid 225 direkt betrokken wordt bij het overbrengen van gegevens tussen zulke randapparaten en het hoofdgeheugen.
Een geheugenbesturingscircuit ("MEMORY CONTROL") 340 is gekoppeld aan plaatselijke bus 250 van het systeem zoals getoond in fig. 4. De werking van geheugenbesturingscircuit 340 wordt volledig beschreven en 15 gespecificeerd in het tijdregeldiagram van fig. 5, verderop beschreven.
Er wordt echter, teneinde begrip voor het geheugenbesturingscircuit 340 te vergroten, opgemerkt dat het geheugenbesturingscircuit in werkelijkheid drie porties omvat, d.w.z. een RAS/CAS-decodeerder ("RAS, CAS DECODR") 345, een adres-decodeerder/multiplexer ("ADDR.MUX") 350 en een gegevensbuffer 20 ("DATA BUFFER") 355. RAS/CAS-decodeerder 345 is gekoppeld bij zijn invoer aan de besturingsbus van de plaatselijke bus 250 van het systeem. RAS/CAS-decodeerder 345 neemt adres en cyclusdefinitiesignalen voor de bus van verwerkingseenheid 225 en decodeert ze teneinde er signalen voor geheugen-selectie en geheugentijdregeiing aan te ontlenen. RAS/CAS-decodeerder 345 25 decodeert RAS- en CAS-signalen. Het RAS-signaal dat gedecodeerd wordt door decodeerder 345 specificeert welke geheugenbank, van acht geheugenbanken (waarbij iedere bank omvat een megabyte georganiseerd als 256K x 32 bits), moet worden benaderd gedurende de lopende geheugencyclus. De rangschikking van deze acht geheugenbanken in een geheugen 370 ornvat-30 tende modulen 371, 372, 373 en 374 wordt later beschreven. Het CAS-signaal dat gedecodeerd wordt door decodeerder 345 specificeert welke byte of bytes van het 32-bits woord dat is opgeslagen in geheugen 370 moeten worden benaderd gedurende de lopende geheugencyclus.
Geheugenbesturingscircuit 340 is gekoppeld aan bovengenoemd geheugen 35 370 op de wijze zoals hierna wordt beschreven. Geheugen 370 omvat vier modulen direkt toegankelijk geheugen (RAM), met name modulen 371, 372, BC 9.88.002 89 01 237 / 11 373 en 374, waarbij elk twee megabyte geheugen huisvest. In fig. 4 zijn modulen 371-374 bestemd als enkelvoudige inline-pakketten (SIP) voor dynamisch direkt toegankelijk geheugen (DRAM) of "DRAM SIP". Moduul 371 wordt bevolkt met twee megabyte geheugen en heeft als label "BASIC 2MB".
5 De overblijvende modulen 372-374 kunnen worden opgevuld met geheugen naar keuze van de gebruiker en zijn zodoende gelabeld met "OPTIONAL 2MB". De RAS/CAS-decodeerder 345 omvat een uitvoerbus 380 met 13 afzonderlijke lijnen waarop de signalen voor RAS, CAS en WE worden overgezonden naar elk van de geheugenbanken 371-374 waarvan acht lijnen zijn gewijd aan 10 RAS, vier lijnen zijn gewijd aan CAS en één lijn is gewijd aan WE. RAS/ CAS-decodeerder 345 genereert een signaal voor "write enable" (WE) (het vrijgeven van schrijfbewerkingen) dat bestemt of een bijzondere geheugen-cyclus een leescyelus of een schrijfcyclus is en verschaft die informatie aan geheugen 370. Elk van de modulen 371-374 omvat twee megabyte geheugen 15 waarbij iedere megabyte is verdeeld in 512 pagina’s of rijen die elk 2K bytes lang zijn. Dat betekent, dat banken 371-374 zijn geconfigureerd als geheugens voor paginaverwerkingswijze.
Adresmultiplexer ("ADDR MÜX") 350 is gekoppeld bij zijn invoer aan de 36-lijns gegevensbus van plaatselijke bus 250 van het systeem. Wanneer 20 verwerkingseenheid 225 een brok gegevens wenst te benaderen dat is opgeslagen in een locatie in geheugen 370, zendt verwerkingseenheid 225 de 36 bits van het adres van die geheugenlocatie over naar adresmultiplexer 350. Adresmultiplexer 350 leidt het pagina-adres (rijadres) en kolomadres af uit de 36-bits adresinformatie en verschaft het pagina-25 adres en kolomadres aan geheugen 370 via een gemultiplext adres ("MUX ADDR")-bus 390 die adresmultiplexer 350 koppelt aan geheugen 370. Een gegevensbus 400 voor 36-bits geheugen koppelt geheugenmodulen 371-374 van geheugen 370 aan gegevensbuffer 355. Nadat geheugen 370 zoals boven is vermeld is geadresseerd, worden de gegevens op het gespecificeerde 30 geheugenadres overgebracht naar een gegevensbus 400 voor geheugen die de gegevens verschaft aan gegevensbuffer 355 zoals getoond in fig. 4. Op gegevensbus 400 voor geheugen, zijn 32 bits (Dq-D^) gewijd aan gegevens en vier pariteitsbits (P^-P^) zijn gewijd aan pariteit. Wanneer de geadresseerde gegevens gegevensbus 400 voor het geheugen bereiken, 35 worden de gegevens gebufferd door gegevensbuffer 355 en worden dan geplaatst op de gegevensbus van plaatselijke bus 250 van het systeem. Vervolgens worden de gegevens doorgegeven aan verwerkingseenheid 225 BC 9.88.002 89 01 237 Λ ♦ 12 via buffer 240 en plaatselijke bus 230 van de CPU.
De volgende uiteenzetting van het tijdregeldiagram van fig. 5B beschrijft gedetailleerd de werking van geheugenbesturingscircuit 340 en geheugen 370. Voor het gemak en om een snelle vergelijking mogelijk te 5 maken, is het tijdregeldiagram volgens de stand van techniek in fig. 2 herhaald in het bovenste gedeelte van fig. 5 als fig. 5A. Ter wille van de uiteenzetting van het tijdregeldiagram van fig. 5B wordt verondersteld dat verwerkingseenheid 225 een brok gegevens wenst te benaderen dat is opgeslagen op een geselecteerd adres of locatie in 10 geheugen 370. Naar dit brok gegevens wordt verwezen als het eerste geselecteerde brok gegevens. Er wordt ook verondersteld dat na het benaderen van het eerste geselecteerde brok gegevens de verwerkingseenheid een tweede geselecteerde brok gegevens in een andere geheugen-locatie wenst te benaderen.
15 Verwerkingseenheid 225 voert het geselecteerde adres waarop het eerste brok gegevens is opgeslagen uit naar de gegevensbus van de plaatselijke bus 230 van de CPU. Het geselecteerde adres bestaat uit 32 adresbits A^-A^ en vier "byte enable" (byte-vrijgeef)-bits (BE^-BE^) aldus in totaal een 36-bits adres vormend. De vier "byte enable" bits 20 BEq-BE^ wordt gebruikt om aan te geven welke bytes (van 1 tot 4) moeten worden opgezocht uit de (4 bytes, 32 bits) gegevens opgeslagen op een bijzonder adres. Na te zijn aangekomen op de adresbus van de plaatselijke bus 230 van de CPU wordt het geselecteerde adres gebufferd door buffer 240. Het geselecteerde adres wordt dan overgebracht naar de adresbus van 25 de plaatselijke bus ("SYSTEM LOCAL DATA BUS") 250 van het systeem en wordt verschaft aan geheugenbesturingscircuit 340 en adresmultiplexer 350.
Systeemeenheid 200 wordt in deze belichaming zo opgesteld dat negen bits van dat geselecteerde 36-bits adres overeenkomen met het pagina-adres of rij adres (RAS-adres) 410 van de gegevens die moeten worden 30 benaderd. D.w.z. dat bits A^-A^ overeenkomen met het RAS-adres.
Pagina-adres 410 wordt zo tijdgeregeld dat het begint bij de start van de eerste geheugencyclus zoals aangegeven in fig. 5B. Adresmultiplexer 350 onttrekt dit 9-bits pagina-adres 410 aan het 36-bits adres en verschaft dit 9-bits pagina-adres 410 aan geheugen 370 via een 9-lijns 35 MUX ADDR (gemultiplext adres)-bus 390 die adresmultiplexer 350 koppelt 89 01237 - 13 * aan geheugen 370.
Bij het begin van de eerste geheugencyclüs is het RAS-signaal van geheugenbesturingscircuit 340 hoog hetgeen overeenkomt met een OFF-toestand in de negatieve-logica-conventie gebruikt in fig. 5B. Nadat het 5 pagina-adres 410 is verschenen op MUX ADDR-bus 390, drijft geheugenbesturingscircuit 340 (via RAS/CAS decodeercircuit 345) RAS omlaag of op ON op 415 zoals kan worden gezien in fig. 5B. Op deze wijze wordt het pagina-adres dat moet worden gebruikt door geheugen 370 om de gespecificeerde gegevens te benaderen verschaft aan geheugen 370.
10 Nadat RAS op ON is gekomen, onttrekt geheugenbesturingscircuit 370, via adresmultiplexer 350, het 9-bits kolomadres 420 van de gegevens aan het 36-bits adres en verschaft dat 9-bits kolomadres 420 aan geheugen 370 via MUX ADDR-bus 390. D.w.z., dat bits A^-A,^ corresponderen met zulk een kolomadres of (CAS)-adres. Zoals kan worden gezien in het tijdregel-15 diagram van fig. 5B, drijft geheugenbesturingscircuit 340, nadat kolomadres 420 is verschenen op MUX ADDR-bus 390 (via RAS/CAS decodeercircuit 345), CAS omlaag of op ON op 425. Op deze wijze wordt het kolomadres dat moet worden gebruikt door geheugen 370 om de gespecificeerde gegevens te benaderen verschaft aan geheugen 370. Het pagina-adres en het kolomadres 20 van de gegevens worden zodoende gemultiplext op dezelfde 9-iijns MUX ADDR-bus 390. De overblijvende bits A^-A^ worden gebruikt door de RAS-decodeerder 345 om aan te geven welke van de modulen 371-374 het eerste brok gegevens bevat dat geadresseerd wordt.
Op dit punt zijn zowel het pagina-adres 410 als het kolomadres 420 25 die de locatie in het geheugen van de geselecteerde gegevens specificeren verschaft aan geheugen 370. Na een voorafbepaalde tijdsvertraging T
wAi) vanaf de tijd dat CAS wordt geaktiveerd om omlaag te gaan, worden de gegevens op gegevensbus ("MEMORY DATA BUS") 400 van het geheugen geldig op 430. De gegevens worden dan onmiddellijk gebufferd op 435 door twee-30 richtingsvergrendelaars (later meer gedetailleerd beschreven) opgenomen in gegevensbuffer 355. Nadat de zo beschreven bufferaktie van gegevens-buffer 355 heeft plaatsgehad, worden de gebufferde gegevens (het eerste geselecteerde brok gegevens) verschaft op 437 aan de gegevensbus van de plaatselijke bus 250 van het systeem voor het overbrengen naar verwer-35 kingseenheid 225.
BC 9.88.002 8901 237.' 14
Volgend op het bufferen van de gegevens op 435 in de eerste geheu-gencyclus (lopende geheugencyclus) en voorafgaand aan het aanvangen van de tweede geheugencyclus (volgende geheugencyclus), wordt een CAS-voorlading ("CAS PRECHARGE") uitgevoerd op 440. Wanneer de CAS-voorlading 5 is aangevangen op 440, worden de gegevens op gegevensbus 400 van het geheugen ongeldig op 442 nadat een voorafbepaalde tijdsperiode is gepasseerd vanaf de aanvang van de CAS-voorlading. De buffercircuits in gegevensbuffer 365 bufferen de gegevens voordat ze ongeldig worden, d.w.z. voor 442 op het tijdsdiagram van de gegevensbus van het geheugen in fig.5B. 10 Die tijdsperiodes gedurende welke de gegevens op gegevensbus 400 van geheugen ongeldig zijn worden aangegeven door arcering op fig. 5B. Het einde van de CAS-voorlading definieert het einde van de eerste geheugencyclus ("FIRST MEMORY CYCLE").
Verwerkingseenheid 225 zendt het adres van het tweede geselecteerde 15 brok gegevens over naar geheugenbesturingscircuit 340 langs hetzelfde gegevenspad als dat over welke het eerste geselecteerde brok gegevens tot dan toè is overgestuurd. Als geheugenbesturingscircuit 340 bepaalt dat het tweede geselecteerde brok gegevens dat moet worden opgehaald van geheugen 370 in dezelfde pagina is als het eerste geselecteerde 20 brok gegevens, dan wordt, zoals gezien kan worden in het tijdregel-diagram van fig. 5, gedurende de CAS-voorlading op 440, het kolomadres dat is verschaft aan MUX ADDR-bus 390 veranderd in het kolomadres van dat tweede brok gegevens op 445. Deze verandering in kolomadres doet zich voor voor het einde van de eerste geheugencyclus.
25 Volgend op deze adreswijziging van de kolom, wordt de CAS-voorlading beëindigd en CAS wordt op OH gedreven en start de tweede geheugencyclus ("SECOND MEMORY CYCLE") op 450. Het kolomadres dat correspondeert met het tweede geselecteerde brok gegevens wordt zo verschaft aan geheugen 370.
Na een tijdsvertraging T worden de gegevens die corresponderen met 30 dat kolomadres en het reeds voorgeschreven pagina-adres geldig op 455 op gegevensbus 400 van het geheugen.
De gegevens worden dan onmiddellijk gebufferd op 460 door de twee-richtingsvergrendelaars opgenomen in gegevensbuffer 355. Nadat de buffer-aktie van gegevensbuffer 355 heeft plaatsgehad, worden de gebufferde 35 gegevens (nu het tweede geselecteerde brok gegevens) verschaft op 465 BC 9.88.002 89 01 237 .
15 aan de gegevensbus van plaatselijke bus 250 van het systeem voor het overbrengen naar verwerkingseenheid 225.
Zoals hieronder neer gedetailleerd zal worden beschreven bij de bespreking van gegevensbuffer 355, werkt buffer 355, wanneer het buffer-5 besturingssignaal van de geheugengegevens (LEAB0-3) laag is, in een transparante of doorgeefverwerkingswijze. Wanneer het bufferbesrurings-signaal voor de geheugengegevens hoog is, slaat buffer 355 gegevens op door bufferaktie.
Bovenstaande uiteenzetting heeft geheugenbenadering beschreven in de 10 situatie waar het tweede geselecteerde brok gegevens in dezelfde pagina is als het eerste brok gegevens. Als echter geheugenbesturingscircuit 340 bepaalt dat het tweede geselecteerde brok gegevens niet in dezelfde pagina is als het eerste geselecteerde brok gegevens, dan moet het geheugenadresseringsproces helemaal opnieuw starten bij het begin van 15 de eerste geheugencycius, D.w.z., daar het rijadres of pagina-adres niet hetzelfde is voor het tweede brok gegevens als voor het eerste brok gegevens, moet het nieuwe rijadres dat correspondeert met het tweede brok gegevens worden overgebracht naar geheugen 370 gevolgd door het nieuwe t:olomadres op een wijze gelijksoortig aan die getoond in de 20 eerste geheugencycius van het tijdregeidiagram voor de uitvinding getoond in fig. 5B.
Fig. 6 is een stroomdiagram dat beknopt het proces weergeeft waardoor geheugenbenaderingen worden uitgevoerd in systeemeenheid 200. Een geheugenbenadering begint wanneer verwerkingseenheid 225 adrespijplijnen 25 gebruikt om een lopend adres waarop gegevens moeten worden opgezocht uit te voeren zoals op blok 500 in het stroomdiagram ("PROCESSOR OUTPUTS ADDRESS VIA PIPELINING"). Het lopende adres wordt overgebracht naar geheugenbesturingscircuit 340 door de busstructuur in systeemeenheid 200 op de wijze zoals reeds is beschreven. Het lopende adres wordt gedecodeerd 30 ("DECODE CURRENT ADDRESS") door geheugenbesturingscircuit 340 zoals door blok 505. D.w.z. dat een pagina-adres en een kolomadres worden onttrokken aan het lopende adres.
Het pagina-adres wordt dan gemultiplext op de MUX adresbus 390 ("MULTIPLEX PAGE ADDRESS ONTO MUX ADDRESS BUS") zoals op blok 510, waarbij BC 9.88.002 8901237.
4' 16 .
deze gebeurtenis duidt op de start van de lopende geheugencyclus ("START CURRENT MEMORY CYCLE") zoals op blok 515. De RAS wordt dan geaktiveerd of aangezet op blok 520 zodanig dat geheugen 370 het pagina-adres selecteert dat op dat moment daaraan wordt verschaft op MUX.adresbus 390. Het kolom-5 adres wordt dan gemultiplext Op de MUX adresbus 390 ("MULTIPLEX COLUMN ADDRESS ONTO MUX ADDRESS BUS") zoals op blok 525. De CAS wordt geaktiveerd of aangezet op blok 530 zodanig dat geheugen 370 het kolomadres selecteert dat op dat moment daaraan wordt verschaft op MUX adresbus 390. Op dit punt is het adres van de gewenste gegevens die zijn opgeslagen in geheugen 370 10 volledig gespecificeerd en geheugen 370 brengt de gegevens op het gespecificeerde adres over naar gegevensbus 390 ("TRANSFER ADDRESS DATA TO MEMORY DATA BUS") van het geheugen zoals op blok 535. De gegevens worden gebufferd door de tweerichtingsvergrendelaars in gegevensbusbuffer 355 ("LATCH DATA") zoals op blok 540 om zulke gegevens momentaan te bewaren.
15 Nadat de gegevens zijn gebufferd, worden de gegevens overgebracht naar de plaatselijke gegevensbus 250 van het systeem ("TRANSFER DATA FROM LATCHES TO SYSTEM LOCAL DATA BUS") zoals op blok 545. Een CAS-voorlading ("CAS PRECHARGE") wordt dan uitgevoerd zoals op blok 550 voorafgaande aan het einde van de lopende geheugencyclus. Het volgende adres dat moet worden 20 benaderd wordt dan gedecodeerd ("DECODE NEXT ADDRESS") zoals op blok 555.
In besiissingsblok 560 wordt een test uitgevoerd om te bepalen of het volgende adres is gelegen in dezelfde pagina ("SAME PAGE ADDRESS ?") als dat waarin het voorafgaande adres (vroeger het bovenstaande lopende adres) was gelegen. Als het volgende adres niet in dezelfde pagina is als 25 het voorafgaande adres, dan vervolgt de processtroom terug naar blok 510 van fig. 6 waarop het volgende pagina-adres wordt gemultiplext op MUX adresbus 390. Als echter het volgende adres is gelegen in dezelfde pagina als het voorgaande adres, dan vervolgt de besturingsstroom naar blok 565 waarop het kolomadres van liet volgende adres wordt gemultiplext op MUX 30 adresbus 390 ("MULTIPLEX COLUMN ADDRESS ONTO MUX ADDRESS BUS"). Vervolgens wordt de volgende geheugencyclus of tweede geheugencyclus gestart ("START NEXT MEMORY CYCLE") op blok 570 wanneer eenmaal de CAS-voorlading is beëindigd. D.w.z., dat bij het begin van de tweede geheugencyclus CAS wordt geaktiveerd of aan wordt gezet zoals op blok 575 zodanig dat 35 geheugen 370 het kolomadres selecteert dat op dat moment daartoe wordt verschaft op MUX adresbus 390. Op dit punt is het adres van de gewenste gegevens die zijn opgeslagen in geheugen 370 weer eens volledig gespe- BC 9.88.002 8901 237.' 17 cificeerd en geheugen 370 brengt de gegevens op het gespecificeerde adres over naar gegevensbus 390 van het geheugen ("TRANSFER ADDRESSED DATA TO MEMORY DATA BUS") zoals op blok 580. De gegevens worden gebufferd ("LATCH DATA") door de tweerichtingsvergrendelaars in gegevensbuffer 355 5 zoals op blok 585 om zulke gegevens momentaan te bewaren. Nadat de gegevens zijn gebufferd, worden de gegevens overgebracht naar de locale gegevensbus ("SYSTEM LOCAL DATA BUS") 250 van het systeem ("TRANSFER DATA FROM LATCHES TO SYSTEM LOCAL DATA BUS") zoals op blok 590. Dan wordt een CAS-voorlading ("CAS PRECHARGE") uitgevoerd zoals op blok 595 voorafgaande 10 aan het einde van de lopende geheugencyclus. Het volgende adres dat moet worden benaderd wordt dan gedecodeerd ("DECODE NEXT ADDRESS") zoals op blok 600 waarna de stroom terugloopt naar beslissingsblok 560 waar wederom een beslissing wordt uitgevoerd om te bepalen of het volgende adres in dezelfde pagina is als het laatste adres.
15 Een gegevensbuffer van het vergrendelingstype voor hoge snelheden dat kan worden gebruikt als gegevensbuffer 355 wordt getoond in fig. 7 in de vorm van een blokdiagram. Om de illustratie duidelijk te houden, toont fig. 7 ëën van vier wezenlijk identieke modulen ("BLOCK DIAGRAM OF ONE DATA BYTE") die worden gebruikt in gegevensbuffer 355 als moduul 610, 20 Buffermoduul 610 omvat een 8-bits poort 615 die is gekoppeld aan gegevens-lijnen Dq t/m D-, van de gegevensbus ("MEMORY DATA BUS") 400 van het geheugen. Buffermoduul 610 omvat een gegevensontvanger 620 aangegeven als A REC welke is gekoppeld aan poort 615 zoals getoond. Gegevensontvanger 620 is een buffer die werkt als een verbinding tussen de omgeving van het 25 TTL-signaal van 0 tot 5 Volt dat aanwezig is op gegevensbus 400 van het geheugen en de omgeving van 0 tot ongeveer 3 Volt die karakteristiek is voor de interne werking van buffermoduul 610. De uitvoer van ontvanger 620 is gekoppeld aan de invoer van een 8-bits gegevensvergrendelaar ("LATCH") 625 die gegevens buffert die daar worden aangeboden wanneer ze zijn 30 geïnstrueerd om zo te doen door een geëigend bufferbesturingssignaal van geheugengegevens ("MEMORY DATA LATCH CONTROL") aangeboden aan zijn besturingsinvoer 625A aangegeven met LEAB0 (Latch Enable A naar B). Vergrendelaar 625 is een transparante vergrendelaar. D.w.z., dat vergrendelaar 625 kan werken of in een transparante verwerkingswijze of een 35 bufferverwerkingswijze in reactie op een geëigend besturingssignaal op besturingsinvoer 625A. Wanneer vergrendelaar 625 wordt geïnstrueerd om de transparante verwerkingswijze aan te nemen, veroorzaakt een lage BC 9.88.002 8901237.
18 * invoer een lage uitvoer en een hoge invoer een hoge uitvoer. D.w.z., wanneer vergrendelaar 625 in transparante verwerkingswijze is, stromen de 8-bits gegevens die worden aangeboden aan de invoer van vergrendelaar 625 door de uitvoer ervan. Wanneer echter vergrendelaar 625 wordt 5 geïnstrueerd om de bufferverwerkingswijze aan te nemen via het vergrende-laarsbesturingssignaal op invoer 625A (LEABO), dan neemt de uitvoer, wanneer die een bijzonder 8-bits invoersignaal krijgt aangeboden, een stabiele status aan en blijft in zulk een status of vergrendeld totdat die een geëigend besturingssignaal krijgt aangeboden op besturings-10 invoer 625A.
Van een vroegere uiteenzetting zal men zich herinneren dat onmiddellijk nadat de geadresseerde gegevens geldig zijn geworden op de gegevensbus op 430 van het geheugen in fig. 5B, de gegevens worden gebufferd zoals op 435. Een uitvoeraandrijver 630 is gekoppeld aan de 15 uitvoer van vergrendelaar 625 zoals getoond in fig. 7. Aandrijver 630 is aangegeven met "B DRV" en werkt als verbinding tussen de interne omgeving van 0 tot 3 Volt van gegevensbuffer 610 met de externe TTL-omgeving van 0 tot 5 Volt aanwezig bij. de uitvoer van aandrijver 630.
De 8-bits uitvoer van aandrijver 630 is gekoppeld aan een poort 635 die 20 is gekoppeld aan acht gegevenslijnen aangegeven met B0-B7 van de gegevensbus van de plaatselijke bus 250 van het systeem. Op deze wijze kan het systeem, wanneer eenmaal vergrendelaar 625 de gegevens die eraan zijn verschaft heeft gebufferd, voortgaan met het verwerken van gegevens en de signalen op gegevensbus 400 van het geheugen (Dq - D^) zijn vrij om 25 te veranderen terwijl vergrendelaar 625 de oude gegevens vasthoudt voor een later oppakken door verwerkingseenheid 225 via de plaatselijke bus 250 van het systeem.
Aandrijver 630 omvat een besturingsinvoer 630A voor een buspoort van geheugengegevens ("MEMORY DATA BUS GATE CONTROL") welke is aangegeven 30 met OEABO. Wanneer het signaal op OEABO aan is, wordt aandrijver 630 ge-aktiveerd om gegevens daarheen door te geven. Wanneer echter het signaal op OEABO is uitgeschakeld, is aandrijver 630 geïnaktiveerd.
De uitvoer van vergrendelaar 625 wordt gekoppeld aan de invoer van een 8-bits pariteitsboom ("8 BIT PARITY TREE") 640. Als de acht invoeren 35 naar de pariteitsboom 640 een even aantal enen laten zien, dan genereert BC 9.88.002 89 012 37.
19 pariteitsboom 640 een enkel bits uitvoer welke een 1 (hoog) is om oneven pariteit te handhaven. Als echter de acht invoeren naar pariteitsboom 640 een oneven aantal enen laten zien, dan genereert pariteitsboom 640 een enkel bits uitvoer die 0 (laag) is om oneven pariteit te handhaven.
5 Gegevensbuffer 610 omvat een GEN/CK-ontvanger 645 met een invoer aangegeven met GEN/CKO zoals geïllustreerd in fig. 7. GEN/CK-ontvanger ("GEN/CK RECEIVER”) 645 is een verbinding die TTL-signalen van 0 tot 5 Volt bij de invoer daarvan omzet in signalen van 0 tot 3 Volt bij de uitvoer daarvan. De waarde van GEN/CKO hangt af van het bijzondere type 10 cyclus dat verwerkingseenheid 225 vervolgens wenst te laten lopen. D.w.z., dat het invoersignaal GEN/CKO (zie fig. 5B) een waarde 1 (hoog) vertoont wanneer een schrijfcyclus van het geheugen moet worden uitgevoerd en een waarde 0 (laag) vertoont wanneer een leescyclus van het geheugen moet worden uitgevoerd. Ter wille van dit voorbeeld wordt verondersteld dat 15 het GEN/CKO-signaal een waarde 0 heeft, aangevend dat een leescyclus vanuit het geheugen moet worden uitgevoerd. D.w.z., dat de gegevens en overeenkomstige pariteitsinformatie reeds zijn opgeslagen in geheugen 370 en dat er nu gewenst wordt zulke gegevens te benaderen. Ter wille van dit voorbeeld wordt verondersteld dat een 32-bits woord bestaande uit 20 vier 8-bit bytes moet worden opgezocht in geheugen 370. Vier pariteits-bits worden verondersteld te zijn opgeslagen met zulk een 32-bits woord, d.w.z., dat één pariteitsbit is geassocieerd met iedere byte van het
A
32-bits woord. Opgemerkt wordt dat de gegevensbuffer 610 van fig. 7 in staat is om één byte (8-bits) en éën pariteitsbit van zulk een 32-bits 25 woord te behandelen. De overblijvende drie bytes en drie pariteitsbits van zulk een 32-bits woord worden verwerkt door drie andere gegevens-buffers gelijksoortig aan gegevensbuffer 610 en getoond in fig. 8.
De uitvoer van GEN/CK-ontvanger 645 is gekoppeld aan besturings-invoer 65QA van pariteitsaandrijver (''PARITY DRIVER") 650. De uitvoer van 30 pariteitsboom 640 is gekoppeld aan de invoer 650B van pariteitsaandrijver 650 en aan één invoer van een exclusief OF poort 655 met twee invoeren. Uitvoer 650B van de pariteitsaandrijver is gekoppeld aan de pariteitslijn Pq van de portie van de pariteitsbus van de gegevensbus 400 van het geheugen. Men zal zich herinneren dat de 36-bits gegevensbus 400 van het 35 geheugen omvat de lijnen Dq-D^-j. voor het opgeslagen 32-bits woord en vier pariteitslijnen P0-P3 corresponderend met elk van de vier pariteitsbits BC 9.88.002 89 01 237.' 20 verbonden met de vier bytes welke het opgeslagen 32-bits woord samenstellen. Behalve dat die is gekoppeld aan uitvoer 650C van de pariteits-aandrijver ("PARITY DRIVER"), is pariteitslijn PO gekoppeld via een pariteitsontvanger ("PARITY RECEIVER") 660 met de overblijvende invoer 5 van exclusief OF poort 655. De uitvoer van GEN/CK-ontvanger 645 is gekoppeld aan een besturingsinvoer 655A of exclusief OF poort 655. De logische toestand van het signaal dat wordt verschaft aan besturingsinvoer 655A bepaalt of exclusief OF poort 655 wordt aangezet om signalen toe te staan daar doorheen te gaan of wordt afgezet zodat hij signalen niet toe-10 staat daar doorheen te gaan naar de uitvoer van exclusief OF poort 655.
De uitvoer van exclusief OF poort 655 wordt aangegeven met Eq (fout) en gekoppeld met een foutaandrijver ("ERROR DRIVER") 665. De uitvoer van foutaandrijver 665 is gekoppeld met een foutterminal 670 dat is aangegeven met E. Foutaandrijver 665 is geen onderdeel van buffer 610 en wordt 15 verderop beschreven.
Een generator/checker 680 voor pariteitsfouten wordt gevormd door pariteitsboom 640, GEN/CK-ontvanger 645, pariteitsaandrijver 650, pariteitsontvanger 660, exclusief OF poort 655 en foutaandrijver 665.
Zoals hieronder zal worden uiteengezet, werkt pariteitsgenerator/checker 20 680 in twee verwerkingswijzen, d.w.z. een pariteitsgeneratieverwerlcings-wijze wanneer gegevens naar geheugen worden geschreven en een pariteits-checkverwerkingswijze wanneer gegevens worden opgezocht of benaderd vanuit geheugen 370. Daar deze uitvinding inhoudt het benaderen van gegevens opgeslagen in geheugen 370, wordt de pariteitscheckverwerkings-25 wijze van pariteitsgenerator/checker 680 nu besproken. Wanneer de GEN/CKO-invoer van GEN/CK-ontvanger 645 laag is (0), betreedt het génerator/checker-circuit 680 de pariteitscheckverwerkingswijze. In tegenstelling daarmee, wanneer de GENCKO-invoer hoog is (1), betreedt het generator/checker-circuit 680 de pariteitsgeneratieverwerkingswijze.
30 Terugkerend tot een bespreking van de pariteitscheckverwerkingswijze, wanneer ontvanger 645 een GEN/CKO-signaal van 0 ontvangt uit de externe (TTL) omgeving, verbindt ontvanger 645 dat signaal met zijn uitvoer welke, zoals reeds vermeld is, een uitvoer is van 0 tot ongeveer 3 Volt.
De uitvoer van ontvanger 645 is gekoppeld aan besturingsinvoer 650A van 35 pariteitsaandrijver 650 zodanig dat de logische laag of 0 die nu verschijnt op besturingsinvoer 650A er de oorzaak van is dat pariteitsaandrijver 650 wordt afgezet zodanig dat het signaal op de uitvoer van BC 9.88.002 89 01 237 , 21 pariteitsbooin 640 niet wordt doorgegeven aan lijn PO van de pariteits-bus van de gegevensbus 400 van het geheugen. Men zal zich herinneren van bovenstaande uiteenzetting, dat de functie van generator/checker circuit 680 in de checkverwerkingswijze is om in feite de opgeslagen pariteits-5 bit PO die is verbonden met een bijzondere gegevensbyte (Dq-Dj) te vergelijken met de aktuele pariteit P ' vertoond door die zelfde byte nadat die is opgezocht in geheugen 370. Indien de geheugenbenadering met succes was volbracht, zou de pariteit voor de benadering, Pq, dezelfde moeten zijn als de pariteit na de benadering, Pq'.
10 Wanneer byte Dq-D^ wordt opgehaald uit geheugen 370, wordt deze ontvangen door ontvanger 620 en gebufferd door vergrendelaar 625. (Naar de bijzondere byte die wordt opgehaald op lijnen Dq-D^ wordt hierna verwezen als naar byte 0.) De acht bits van byte 0 worden zodoende gebufferd bij de uitvoer van vergrendelaar 625, zodanig dat het computer-15 systeem vrij is om verder te gaan en de signaalwaarden op lijnen Dq-D^ van gegevensbus 400 van het geheugen te veranderen. Wanneer vergrendelaar 625 buffert, wordt byte 0 verschaft aan 8-bits pariteitsboom 640 die een pariteitsbit Pq’ afleidt voor deze zojuist benaderde byte 0.
Pq’ is zo de werkelijke pariteit, vertoond door byte 0 nadat deze is 20 opgezocht in geheugen 370. De Pq’-pariteitsbit wordt verschaft aan ëën invoer van de exclusief OF poort 655 met twee invoeren. Men zal zich herinneren dat de overblijvende invoer van exclusief OF poort 655 is gekoppeld via pariteitsontvanger 660 met de pariteitslijn Pq van gegevensbus 400 van het geheugen. Op deze wijze, wanneer byte 0 wordt 25 opgezocht in geheugen 370, wordt pariteitsbit Pq, corresponderend met zulk een byte 0, verschaft aan de overblijvende invoer van exclusief OF poort 655. Indien de PQ-pariteitsbit voorafgaande aan het benaderen van het geheugen dezelfde is als de pQ-pariteitsbit na het benaderen, d.w.z. dat zij beide 0 of 1 zijn, dan genereert exclusief OF poort 655 een 0 op 30 zijn uitvoer, aangevend dat er geen fout heeft plaatsgehad bij het opzoeken van de gegevensbyte, byte 0, in het geheugen. Indien echter de pariteitsbit Pq voor het benaderen van het geheugen niet dezelfde is als de pariteitsbit Pq’ na het benaderen, dan genereert exclusief OF poort 655 een ëën op zijn uitvoer, aangevend dat er een fout heeft plaatsgehad bij 35 het opzoeken van byte 0 in geheugen 370. De foutuitvoerbit op de uitvoer van exclusief OF poort 655 wordt verbonden via aandrijver 665 met logische Niet-OF functie met foutuitvoerpoort 670 die is aangegeven met E.
BC 9.88.002 8901237.
% 22
Opgemerkt wordt dat wanneer generator/checker-circuit 680 in de pariteits-checkverwerkingswijze is, het GENCKO-signaal verschijnend op de uitvoer van GEN/CK-ontvanger 645 laag of 0 is hetgeen exclusief OF poort 655 aktiveert. In tegenstelling hiermee, wanneer generator/checker-circuit 5 680 in de pariteitsgeneratieverwerkingswijze is, is het GEN/CKO-signaal hoog hetgeen exclusief OF poort 655 afzet. Het computersysteem trekt regelmatig monsters van de E-uitvoer 670 aan het einde van iedere geheugencyclus om te bepalen of zich een fout heeft voorgedaan.
Zoals boven is vermeld, werkt gegevensbuffer/vergrendelaar 610 ook 10 in de richting tegengesteld aan die die boven is beschreven. D.w.z., wanneer het computersysteem een schrijfbewerking naar het geheugen uitvoert van een bijzonder 32-bits woord dat byte 0, byte 1, byte 2 en byte 3 omvat, wordt byte 0 van dit woord overgebracht van de plaatselijke bus 250 van het systeem via buffer 610 naar gegevensbus 400 van het 15 geheugen. Meer gedetailleerd, verschaft het systeem byte 0 aan poort 635 die is aangegeven met B0-B7. Poort 635 is gekoppeld via een ontvanger 675 met een 8-bits vergrendelaar 680 zoals getoond in fig. 7. Ontvanger 675 en vergrendelaar 680 zijn wezenlijk identiek met ontvanger 620 resp. vergrendelaar 625. Vergrendelaar 680 omvat een vergrendelaarsbesturings-20 invoer voor geheugengegevens aangegeven met LEBAO welke, wanneer hoog aangedreven oftewel naar 1, resulteert in het bufferen van 8-bits gegevens verschaft aan vergrendelaar 680. De uitvoer van vergrendelaar 680 is gekoppeld via aandrijver 685 met de gegevens lijnen Dq-D^ van gegevensbus 400 van het geheugen. Aandrijver 685 is wezenlijk identiek 25 met de reeds besproken aandrijver 630. Aandrijver 685 omvat een bestu-ringsinvoer OEBAO voor de buspoort voor geheugengegevens (Output Enable (het vrijgeven van uitvoer) B naar A) welke, wanneer die een logische 0 of een laag signaal krijgt aangeboden, aandrijver 685 aanzet om het passeren van gegevens daar doorheen toe te laten. Om de werking van 30 ontvanger 675, vergrendelaar 680 en aandrijver 685 in de schrijf-naar-geheugenverwerkingswijze samen te vatten, wanneer byte 0 wordt verschaft aan poort 635, geeft ontvanger 675 de 8 bits van byte 0 door aan vergrendelaar 680. Het besturingssignaal LEBAO voor de vergrendelaar van geheugengegevens (Latch Enable B naar A) instrueert dan vergrendelaar 680 om 35 gegevens te bufferen bij de uitvoer van vergrendelaar 680, zo toelatend dat het computersysteem verder gaat en de signaalwaarden op gegevens-lijnen B0-B7 op poort 635 of de locale gegevensbus 250 van het systeem BC 9.88.002 &9 01 237 < 23 verandert. Het OEBAO besturingssignaal voor de buspoort voor geheugen-gegevens dat verschaft is aan aandrijver 685 gaat naar laag om aandrijver 685 aan te zetten aldus toelatend dat de 8 bits van byte 0 die zijn gebufferd op de uitvoer van vergrendelaar 680 passeren door de gegevens-5 lijnen D^-D^ van gegevensbus 400 van het geheugen. De OEBAO-3 signalen weerspiegelen het write enable (WE) signaal welke geheugenbesturings-eenheid 340 verschaft aan geheugen 370. Het WE-signaal is hoog voor leescycli en laag voor schrijfcycli.
Het bovenstaande is een beschrijving geweest van de portie van 10 gegevensbuffer 355 welke is gewijd aan het behandelen van ëén byte, B0, van een 4-bytes (32 bit) woord, opgeslagen en opgezocht in geheugen 370. Teneinde de overblijvende drie bytes, byte 1, byte 2 en byte 3 van dit 32-bits woord, te behandelen, wordt gegevensvergrendelaar/buffer 610 vier keer gerepliceerd zoals men kan zien in fig. 8. Voor het gemak 15 wordt naar deze vier gegevensbuffers 610 verwezen als gegevensbuffer 610-0, 610-1, 610-2 en 610-3 om gemakkelijk aan te geven dat zij de porties byte 0, byte 1, byte 2 en byte 3 van bovengenoemd 32-bits woord behandelen dat moet worden opgezocht in of geschreven naar geheugen 370.
20 Fig. 8 toont een vereenvoudigd blokdiagrara van gegevensbuffer 355 omvattende vier wezenlijk identieke gegevensbuffers/vergrendelaars 610, a met name gegevensbuffers 610-0, 610-1, 610-2 en 610—3 om resp. byte 0, byte 1, byte 2 en byte 3 van een 32-bits woord te verwerken. Voor het gemak zijn in fig. 8 ontvanger 620 en aandrijver 685, vergrendelaars 625 25 en 680 en aandrijver 630 en ontvanger 675 in groepen van twee voorgesteld in de respectieve boxen in fig. 8. Men zal zich herinneren dat gegevensbuffer 355 is gelegen tussen de gegevensbus van plaatselijke bus 250 van het systeem en gegevensbus 400 van het geheugen. Meer in het bijzonder, zijn de gegevenslijnen van buffer 355 gekoppeld aan de gegevens- 30 lijnen D^-D.^ van gegevensbus 400 van het geheugen. De gegevenslijnen B0-B31 van buffer 355 zijn gekoppeld aan de gegevenslijnen B0-B31 van de gegevensbus van de plaatselijke bus 250 van het systeem.
Wanneer een lees- of schrijfbewerking wordt uitgevoerd voor een 32-bits woord via buffer 355, werken buffers/vergrendelaars 610-Q, 610-1, 35 610-2 en 610-3 op resp. byte 0, byte 1, byte 2 en byte 3 van zulk een BC 9.88.002 89 01237.’ 24 32-bits woord. Gegevensbuffer 355 omvat vier pariteitsbitsin/uitvoeren PO, Pi, P2 en P3 corresponderend met de gegenereerde of benaderde pariteit van resp. byte 0, byte 1, byte 2 en byte 3. De PO, PI, P2 en P3 pariteitslijnen van gegevensbuffer 355 zijn gekoppeld met de PO, PI, P2 5 en P3 pariteitslijnen van de 36-lijns gegevensbus 400 van het geheugen.
Men zal zich herinneren dat gegevensbus 400 van het geheugen omvat gegevenslijnen Dq-D^ en pariteitslijnen P0-P3. Zodoende, wanneer een bijzonder 32-bits woord naar geheugen wordt geschreven, bepalen de respectieve pariteitsbomen 640 van gegevensbuffers 610 0-3 de pariteit 10 verbonden met elk van de vier bytes, byte 0-byte 3 van het 32-bits gegevenswoord en verschaffen de vier bepaalde pariteitsbits aan pariteitslijnen P0-P3 voor opslag in geheugen 370. Wanneer een opzoekbewerking wordt uitgevoerd om een 32-bits woord op te zoeken in geheugen 370, worden de vier pariteitsbits P0-P3 die zijn verbonden met zulk een 15 gegevenswoord opgezocht en verschaft aan de P0-P3 pariteitslijnen van gegevensbuffer 355.
De GEN/CKO, GEN/CK1, GEN/CK2 en GEN/CK3 lijnen van gegevensbuffer 355 worden gekoppeld aan corresponderende GENCK0-GENCK3 besturingslijnen (niet getoond), opgenomen in geheugenbesturingscircuit 340. Geheugen-20 besturingscircuit 340 genereert een GEN/CK signaal zodanig als het GEN/CKO signaal getoond in fig. 5B en verschaft ditzelfde aan de GENCK0-GENCK3 invoeren van buffer 355 om buffer 355 te instrueren of een lees- dan wel een schrijfbewerking moet worden uitgevoerd. Wanneer een schrijfbewerking moet worden uitgevoerd, dan worden geëigende GENCK0-GENCK3 signalen 25 geproduceerd om de respectieve buffer 610-1 t/m 610-3 te instrueren respectieve pariteitsbits te genereren die corresponderen met de vier bytes van het 32-bits woord dat wordt geschreven naar geheugen 370. Indien echter een leesoperatie moet worden uitgevoerd, dan genereert het geheugenbesturingscircuit 340 geëigende GENCK0-GENCK3 besturingssignalen om de 30 respectieve buffers 610-1 t/m 610-3 te instrueren de pariteitscheck-verwerkingswijze zoals reeds besproken bij de uiteenzetting over fig. 7 uit te voeren. D.w.z., dat na het opzoeken van de vier bytes en hun respectieve vier pariteitsbits P^-P^ in geheugen 370, pariteitsbomen 640 de pariteit P^'-P^', resp., van de vier bytes na het opzoeken bepalen.
35 Indien ëén van de oude pariteitsbits P^-P^ niet overeenstemt met de corresponderende nieuwe pariteitsbits P^'-P^', dan wordt een foutsignaal geproduceerd op de corresponderende foutlijn E0-E3 afgebeeld in fig. 8 op BC 9.88.002 8901237 * 25 de invoeren van foutaandrijver 665. Foutaandrijver 665 voert een logische Niet-OF-functie uit. Als ëën van de foutlijnen EO, El, E2 en E3 een fout-signaal ontvangt, dan genereert de uitvoer van foutaandrijver 665 ook zulk een foutsignaal. Opgeraerkt wordt dat foutaandrijver 665 een verbinding 5 vormt van de interne slingeromgeving met lage spanning van buffer 355 met de externe TTL-omgeving die wordt gepresenteerd aan foutterminal 670, aangegeven met E.
Fig. 9 is een voorstelling van de informatie op de aansluitpennen van gegevensbuffer ("DATA BUFFER") 355 welke de verscheidene invoeren en 10 uitvoeren van buffer 355 die reeds boven zijn besproken toont.
Tabel 1 wordt hier opgenomen om de verschillende toestanden samen te vatten waarin gegevensbuffer 355 in staat is om te werken.
TABEL 1
0-3 OEBA LEBA LEBA
0-3 0-3 0-3 0-3 A-B B-A
15 0 X 0 X 1 XI Transparante verwerkingswijze 0X1 X 2 X 2 Gebufferde gegevens 1X0 X 3 X 3 Uitvoer geblokkeerd 1 X 1 X 4 X 4 Uitvoer geblokkeerd/ gegevens gebufferd 20 X 0 X 0 X 1 X 0 X 1 X 2 XIX 0 X 3 XIX 1 X 4
Tabel 2 wordt hier opgenomen om de verschillende toestanden samen 25 te vatten die buffer 355 aanneemt in reactie op verschillende GEN/CK signalen.
BC 9.88.002 89 01 237.
ί 26 TABEL 2 GEN/CKx Px 0 Checkverwerkingswijze Px invoer wordt vergeleken met intern gegenereerde pariteitsbit voor de acht 5 corresponderende "A" invoeren.
Verkeerde combinatie drijft foutlijn aan op laag.
1 Generatieverwerkingswijze-pariteitsbit wordt naar de uitvoer uitgedreven op de volgende wijze: 1 Als een even aantal enen op corresponderende "A" 10 invoeren is; 0 Als er een oneven aantal enen is.
Let wel: Foutuitvoer = "1" indien GEN/CK 0-3 = 1.
De pennen OEABO-3 en GEN/CKO-3 op gegevensbuffer 355 worden samen 15 gekoppeld en zo signaleert de OEAB (buspoortbesturing voor geheugen-gegevens) spiegeling of navolging van de GEN/CK signalen zoals men kan zien in fig. 5B.
Terwijl boven apparatuur voor een computersysteem is beschreven die verminderde geheugenbenadertijden vertoont, wordt ook een werkwijze voor 20 het benaderen van geheugen in zulk een computersysteem beschreven en hieronder samengevat. Deze werkwijze wordt gebruikt in een computersysteem welk een geheugen voor paginaverwerkingswijze omvat dat een adresbus en een gegevensbus heeft die hieraan zijn gekoppeld en verder een eerste, tweede en verdere geheugencycli heeft die hiermee zijn 25 verbonden. Meer in het bijzonder wordt een werkwijze om informatie te lezen die in genoemd geheugen is opgeslagen verschaft welke omvat de stappen van het verschaffen aan het geheugen van een adressignaal dat correspondeert met de locatie van gegevens die in het geheugen moeten worden benaderd. De werkwijze omvat de stappen van het voorzien van 30 het geheugen met een kloksignaal voor rij adres (RAS) gedurende de eerste geheugencyclus en het toepassen van een kloksignaal voor kolomadres (CAS) aan het geheugen gedurende de eerste geheugencyclus en vervolgens aan het RAS-signaal. De werkwijze omvat het bufferen van gegevens die zo zijn geadresseerd voor het later overbrengen op de gegevensbus en het uitvoeren 35 van een CAS voorlading op het geheugen volgend op de stap van het “WÏ2J7.
27 bufferen en voorafgaand aan het einde van een eerste geheugencyclus.
Het voorgaande is een uiteenzetting geweest van een computersysteem waarin de benadertijd van geheugen met paginaverwerkingswijze beduidend is gereduceerd door het naar voren brengen van de CAS voorlading ver-5 bonden met gegevens die moeten worden benaderd in de volgende geheugencyclus tot in de lopende geheugencyclus. Het computersysteem is in staat om bij hoge kloksnelheden te werken zonder zijn toevlucht te nemen tot aanvullende wachttoestanden gedurende het benaderen van geheugen met paginaverwerkingswijze.
«k BC 9.88.002 8901237.

Claims (7)

1. Een computersysteem omvattende een dynamisch geheugen voor pagina-verwerkingswijze en middelen om het geheugen te benaderen door het genereren van strobe (periodieke selectie) signalen voor rij adres (RAS) en strobesignalen voor kolomadres (CAS) in combinatie met adresgegevens 5 voor rijen resp. voor kolommen, waarin voor het benaderen van een aantal locaties in een pagina in een gelijk aantal opeenvolgende geheugencycli, het RAS signaal en de rij adresgegevens constant blijven gedurende elk van deze geheugencycli, en het CAS signaal wordt voorgeladen voor elke geheugencyclus behalve de eerste, gekenmerkt doordat de CAS voorlading 10 voor een lopende geheugencyclus tot stand komt in een periode binnen en aan het einde van de onmiddellijk voorafgaande geheugencyclus.
2. Een computersysteem volgens conclusie 1, waarin genoemde CAS voorlading voor de lopende geheugencyclus wordt beëindigd bij het begin van de lopende geheugencyclus.
3. Een computersysteem volgens conclusie 1 of conclusie 2, waarin gegevens worden gelezen uit een geadresseerde locatie in het geheugen in een periode in een geheugencyclus voorafgaande aan het begin van de CAS voorlading in die cyclus, waarbij genoemd systeem omvat vergrende-lingsmiddelen om de leesgegevens te bufferen voorafgaande aan het aan-20 brengen daarvan op een gegevensbus van het systeem. A.
4. Een werkwijze voor een computersysteem met inbegrip van een dynamisch geheugen voor paginaverwerkingswijze omvattende leesgegevens uit het geheugen voor paginaverwerkingswijze door middel van de stappen van het genereren van een strobesignaal voor rij adres (RAS) in combinatie 25 met rij adresgegevens voor het selecteren van een geheugenrij en een strobesignaal voor kolomadres (CAS) in combinatie met kolomadresgegevens om een geadresseerde locatie te definiëren en, voor het benaderen van een veelheid van locaties in een pagina in een gelijke veelheid van opeenvolgende geheugencycli, het daarbij de gegevens van RAS en van rij-30 adres constant houden voor elk van deze cycli behalve de eerste, gekenmerkt doordat de CAS voorlading voor een lopende geheugencyclus tot stand komt in een periode binnen en aan het einde van de onmiddellijk voorafgaande geheugencyclus. BC 9.88.002 £9 01 237·
5. Een werkwijze volgens conclusie 4, verder gekenmerkt doordat genoemde CAS voorlading wordt beëindigd bij het begin van de lopende ge-heugencyclus.
6. Een werkwijze volgens conclusie 4 of conclusie 5, verder gekenmerkt 5 doordat gegevens worden gelezen uit een geadresseerde locatie in het geheugen in een periode voorafgaande aan het begin van de CAS in die cyclus, waarbij genoemde gegevens worden gebufferd voorafgaande aan het aanbrengen ervan op een gegevensbus van het computersysteem.
7. Een werkwijze voor een computersysteem met inbegrip van een 10 verwerkingseenheid, een dynamisch geheugen voor paginaverwerkingswijze, een adresbus en een gegevensbus, voor het overbrengen van gegevens van het geheugen naar het verwerken ervan, omvattende de volgende stappen: het aanbrengen van een rijadres in het geheugen uit de adresbus samen met een strobesignaal voor rijadres (RAS) bij de start van een 15 geheugencyclus; vervolgens, binnen dezelfde geheugencyclus, het aanbrengen van een kolomadres in het geheugen uit de adresbus samen met een strobesignaal voor kolomadres (CAS); het bufferen van gegevens die zo zijn geadresseerd voor overbrenging 20 hierna naar de verwerkingseenheid over de gegevensbus; het voorladen van de CAS volgend op het bufferen van de gegevens en voorafgaande aan het einde van de geheugencyclus. BC 9.88.002 8901237.'
NL8901237A 1988-05-26 1989-05-18 Apparatuur en werkwijze voor het benaderen van een geheugen voor paginaverwerkingswijze in een computersysteem. NL8901237A (nl)

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 (1)

Publication Number Publication Date
NL8901237A true NL8901237A (nl) 1989-12-18

Family

ID=22726583

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8901237A NL8901237A (nl) 1988-05-26 1989-05-18 Apparatuur en werkwijze voor het benaderen van een geheugen voor paginaverwerkingswijze in een computersysteem.

Country Status (24)

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

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
US6751696B2 (en) 1990-04-18 2004-06-15 Rambus Inc. Memory device having a programmable register
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
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
WO1993024885A1 (en) * 1992-06-04 1993-12-09 Cabletron Systems, Inc. Adaptive memory controller
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
TW388982B (en) * 1995-03-31 2000-05-01 Samsung Electronics Co Ltd Memory controller which executes read and write commands out of order
US5666494A (en) * 1995-03-31 1997-09-09 Samsung Electronics Co., Ltd. Queue management mechanism which allows entries to be processed in any 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
AU9798798A (en) 1997-10-10 1999-05-03 Rambus Incorporated 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
US7017002B2 (en) * 2000-01-05 2006-03-21 Rambus, Inc. System featuring a master device, a buffer device and a plurality of integrated circuit memory devices
US6502161B1 (en) * 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
US7266634B2 (en) * 2000-01-05 2007-09-04 Rambus Inc. Configurable width buffered module having flyby elements
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US7404032B2 (en) * 2000-01-05 2008-07-22 Rambus Inc. Configurable width buffered module having switch elements
US7363422B2 (en) * 2000-01-05 2008-04-22 Rambus Inc. Configurable width buffered module
US20050010737A1 (en) * 2000-01-05 2005-01-13 Fred Ware Configurable width buffered module having splitter elements
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
US8253751B2 (en) 2005-06-30 2012-08-28 Intel Corporation Memory controller interface for micro-tiled memory access
US8032688B2 (en) * 2005-06-30 2011-10-04 Intel Corporation Micro-tile memory interfaces
US7562271B2 (en) * 2005-09-26 2009-07-14 Rambus Inc. Memory system topologies including a buffer device and an integrated circuit memory device
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
US11328764B2 (en) 2005-09-26 2022-05-10 Rambus Inc. Memory system topologies including a memory die stack
US8878860B2 (en) * 2006-12-28 2014-11-04 Intel Corporation Accessing memory using multi-tiling
CN104238959B (zh) * 2013-06-06 2018-06-19 钰创科技股份有限公司 具有低消耗电流的内存和降低内存消耗电流的方法
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 高速メモリシステム
EP0170285B1 (en) * 1984-08-03 1991-04-03 Kabushiki Kaisha Toshiba Semiconductor memory device
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
FI95971B (fi) 1995-12-29
KR920010950B1 (ko) 1992-12-24
IT8920624A0 (it) 1989-05-24
PH30402A (en) 1997-05-08
CA1319201C (en) 1993-06-15
EP0343769A2 (en) 1989-11-29
HK23896A (en) 1996-02-16
MY104737A (en) 1994-05-31
DE68923403D1 (de) 1995-08-17
GB8904917D0 (en) 1989-04-12
MX167244B (es) 1993-03-11
FI891784A0 (fi) 1989-04-14
SE8901304L (sv) 1989-11-27
IT1230189B (it) 1991-10-18
NZ228610A (en) 1991-03-26
EP0343769B1 (en) 1995-07-12
CN1037983A (zh) 1989-12-13
FI891784A (fi) 1989-11-27
NO891581L (no) 1989-11-27
ATE125058T1 (de) 1995-07-15
US5034917A (en) 1991-07-23
FI95971C (fi) 1996-04-10
JPH06101225B2 (ja) 1994-12-12
KR890017611A (ko) 1989-12-16
BR8902399A (pt) 1990-01-16
DE68923403T2 (de) 1996-03-07
ES2075045T3 (es) 1995-10-01
DK189589A (da) 1989-11-27
DK189589D0 (da) 1989-04-19
GB2219418A (en) 1989-12-06
NO891581D0 (no) 1989-04-18
CN1010809B (zh) 1990-12-12
PT90631B (pt) 1994-10-31
SE8901304D0 (sv) 1989-04-11
EP0343769A3 (en) 1992-04-29
DE3909896A1 (de) 1989-11-30
BE1003816A4 (fr) 1992-06-23
DE3909896C2 (nl) 1990-09-20
JPH0223591A (ja) 1990-01-25
PT90631A (pt) 1989-11-30

Similar Documents

Publication Publication Date Title
NL8901237A (nl) Apparatuur en werkwijze voor het benaderen van een geheugen voor paginaverwerkingswijze in een computersysteem.
US4803621A (en) Memory access system
KR100434211B1 (ko) 2스텝 메모리 장치 커맨드 버퍼 장치 및 방법 및 메모리장치 및 이를 사용한 컴퓨터 시스템
EP0549139B1 (en) Programmable memory timing
US5226134A (en) Data processing system including a memory controller for direct or interleave memory accessing
US5522064A (en) Data processing apparatus for dynamically setting timings in a dynamic memory system
US6012106A (en) Prefetch management for DMA read transactions depending upon past history of actual transfer lengths
US5239639A (en) Efficient memory controller with an independent clock
US5946260A (en) Method and system for storing and processing multiple memory addresses
JPH0746507B2 (ja) 二重ポート読出し/書込みメモリー
US6178488B1 (en) Method and apparatus for processing pipelined memory commands
US5887157A (en) Local bus interface
KR20040063985A (ko) 데이터를 위한 순차 니블 버스트 오더링
US6542569B2 (en) Memory device command buffer apparatus and method and memory devices and computer systems using same
US6484244B1 (en) Method and system for storing and processing multiple memory commands
US4455606A (en) Logic control system for efficient memory to CPU transfers
US5586300A (en) Flexible addressing memory controller wherein multiple memory modules may be accessed according to comparison of configuration addresses
US5901298A (en) Method for utilizing a single multiplex address bus between DRAM, SRAM and ROM
US5253355A (en) Apparatus and method for developing wait states during addressing operation by using unused address bits
US5577228A (en) Digital circuit for performing multicycle addressing in a digital memory
JP3028932B2 (ja) 入出力バッファメモリ回路
JPS6326753A (ja) メモリ−バス制御方法
JPH02105385A (ja) メモリ装置

Legal Events

Date Code Title Description
A1A A request for search or an international-type search has been filed
BB A search report has been drawn up
BV The patent application has lapsed