SE411404B - Mellanminnesenhet - Google Patents
MellanminnesenhetInfo
- Publication number
- SE411404B SE411404B SE7512524A SE7512524A SE411404B SE 411404 B SE411404 B SE 411404B SE 7512524 A SE7512524 A SE 7512524A SE 7512524 A SE7512524 A SE 7512524A SE 411404 B SE411404 B SE 411404B
- Authority
- SE
- Sweden
- Prior art keywords
- address
- memory
- block
- buffer
- main memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0851—Cache with interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0859—Overlapped cache accessing, e.g. pipeline with reload from main memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Description
¿7s12524-5 2 10 20 25 30 35 40 Model 85, II the Cache" i IBM Systems Journal, vol. 7, nr. 1, sid 15 - 21, vidare en artikel av D.H. Gibson med rubriken "Considerations in Block-Oriented Systems Design" publicerad i samband med Spring Joint Computer Conference 1967 samt en artikel av C.J. Conti m.fl. med rubriken "Structural Aspects of the System/360 Model 85, I General Organization" publicerad i IBM Systems Journal, vol. 7, nr. 1 1968. I IBM-anläggningen 360-Modell 85 förorsakar minnes- operationer alltid en direkt uppdatering av huvudminnet. Om den huvudminnessektor som blir ändrad har en tillordnad sektor i buffertminnet blir även bufferten uppdaterad, men annars sker ej någon aktivitet hos bufferten. Därför kan minnesoperationer ej förorsaka att en buffertsektor blir återaktiverad, att ett block blir matat eller att aktivitetslistan för styrning av algoritmer- sättningen revideras. * Den föreliggande uppfinningen måste anses innebära väsentliga förbättringar relativt den minnesföljd som utnyttjas i IBM-anläggningarna. I enlighet med den föreliggande uppfinningen är en eller flera bearbetningsenheter och/eller in-/utmatarenheter avsedda att motta instruktioner och operander (härefter kollektivt benämnda "data") från ett huvudminne enbart medelst ett buffert- minne av höghastighetstyp. Data från bearbetnings- och/eller in/ut- matarenheterna och som skall lagras i huvudminnet måste även passera genom detta snabba buffertminne. Således kommer buffertminnet enligt den föreliggande uppfinningen att härefter benämnas "minnesgräns- enhet" eller "SIU" (storage interface unit).
Den i den föreliggande uppfinningen använda SIU är ett snabbuffertminne (dvs har liten cykeltid) och är utformad att nedbrínga Iutallagríngsíördröjníngstiden för datoranläggníngen genom att automatiskt medge det stora flertalet minnesreferenser att föreligga i SIU i stället för i det långsamma (längre cykeltid) huvudminnet eller hjälpminnet. I en föredragen utföringsform av uppfinningen förverkligas detta genom att anordna kretsar (hårdvara) för överföring av ett åttaordsblock med data till SIU närhelst något ord fordras från detta block av en dator eller in/utgångs- enhet. Detta block blir ett av flera block som förblir kvar i SIU tills det ersättes av ett nytt aktuellt block, vilket bestämmes medelst en ersättningsalgoritm.
Enheten SIU utgör i den föreliggande uppfinningen en så kallad deltillordnad minnesbuffert. I en som exempel utförd anordning kan bufferten omfatta 4096 ord, som kan vara uppdelade i lü 15 20 25 30 35 HU 3 128 delar, varvid varje del utgörs av fyra åttaordsblock med data.
Huvudminnet som användes i anläggningen är därvid även uppdelad i 128 delar, varvid varje del innehåller 1/128 av orden i det totala huvudminnesadressområdet. Alternativt kan bufferten vara utökad till att innehålla ytterligare minnesord, som är uppdelade på stort antal delar, vilka var och en består av fyra åttaordiga data- block. I detta alternativa utförande skulle huvudminnet likaledes uppdelas i ett identiskt lika stort antal delar, men varje del skulle innefatta ett färre antal âttaordsblock. Varje åttaordsblock inom en given huvudminnesdel kan införas i någon av de fyra åtta- ordsblocken i motsvarande SIU-del. När en överföring (antingen läs- eller skrivöverföring) sker mellan SIU och huvudminnet över- förs ett âttaordsblock från angränsande adresser under en enda huvudminnescykel.
När en förfrågan görs för ett ord från minnet av en bearbetnings- eller in/utgångsenhet avkänner denna förfrågan endast av SIU. Konventionella direktadressval användes för att adressera en av de 128 delarna vari det efterfrågade ordet föreligger. Detta val förorsakar SIU att omedelbart låsa adressen för vart och ett av de fyra blocken som för tillfället föreligger i delen och att jämföra vart och ett med den efterfrågade adressen. Om en av de fyra blockens adresser stämmer på den efterfrågade adressen utläses det motsvarande ordet från detta block och sändes till den frågande enheten. Om ingen av de fyra blockadresserna stämmer ställes en omedelbar fråga av SIU till huvudminnet för hela det block som innehåller önskat ord. Under väntan på detta nya datablock bestämmer SIU vilket av de fyra nuvarande blocken som använts minst den senaste tiden och utmärker det för att bli utbytt. Därefter kontrollerar SIU det block som skall utbytas för att bestämma om något ord i detta block har modifierats under vistelsen i SIU. Om en modifi- ering har skett inläses hela blocket plus dess adress i ett tempo- rärlagringsregister inom SIU, så att det kan återföras till huvud- minnet så snart som den pågående huvudminnescykeln är avslutad. När data anländer från huvudminnet lagras den i det nu vakanta blocket och det efterfrågade ordet sändes omedelbart av SIU till den ursprungliga frågande enheten så att cykeln blir fullständig.
I tidigare kända datoranläggningar vari snabbuffert- minnen utnyttjas för ökning av genommatningen i anläggningen föror- sakar lagringsfunktioner alltid en uppdatering av huvudminnet. Om den huvudminnesdel som blir ändrad har en motsvarande del i bufferten 7512524-5 I - Q 10 15 20 257 30" resp H0 si751252lw-5 ~ u _tillQrdnad densamma uppdateras även bufferten. Dvs varje gång en bearbetnings- eller in/utgångsenhet utför en skrivfunktion så Kzmåste huvudminnet omedelbart uppdateras. Eftersom huvudminnet arbetar med en relativt lång cykeltid kommer frekventa hänvisningar till huvudminnet att nedbringa den totala bearbetningstiden för anläggningen. 7 Anläggningen enligt den föreliggande uppfinningen utnyttjar vad som kallas ett "postlagrings"-förfarande för und- vikande av nämnt problem. I stället för att göra en skrivhänvisning till huvudminnet varje gång som en skrivning utförs i SIU-buffert- ' minnet blir huvudminnet endast uppdaterat då den adress som skall modifieras icke föreligger i bufferten och ett block som innehåller ändrad data, dvs data som skiljer sig från vad som föreligger i dess motsvarande block i huvudminnet, väljas för att bli ersatt.
Efter en detektering att önskad adress icke föreligger i SIU- ' bufferten sänder SIU omedelbart en "läsnings"4förfrågan till huvud- minnet för att erhålla hela det block vari önskad adress föreligger. _=Samtidigt bestämmer SIU genom en ersättningsalgoritm vilket av de block som för tillfället föreligger i buffertminnet som skall utbytas. En kontroll görs för att bestämma om det valda blocket har fått sitt innehåll modifierat under vistelsen i bufferten och om så är fallet grundas hela blocket plus dess adress till ett temporärt hållregáster. Medan det nya blocket håller på att införas i bufferten från huvudminnet och lagras i det nu vakanta blockläget 7 så återinskrivs det ersatte blocket, som finnes i hållregistret, .Hi huvudminnet-varigenom huvudminnet uppdateras.
Ekonomin som erhålles i tidsavseende med detta "postlagrings"ëförfarande är uppenbart. I stället för att fordra en relativt långsam huvudminnescykel varje gång en förändring utförs i ett block som är lagrat i bufferten i och för uppdatering av huvudminnet, såsom är fallet i tidigare kända anläggningar, så fordras i anläggningen enligt den föreliggande uppfinningen enbart en huvudminnescykel för uppdatering av huvudminnet och detta sker när ett block utväljes för att ersättas, vilket block har varit föremål för modifiering medan det vistades i buffertten. Emellertid är det uppenbart att detta block under vistelsen i bufferten kan ha undergått många, många modifieringar innan den väljes att bli ersatt och alltså innan huvudminnet blir uppdaterat. Ändamålet med den föreliggande uppfinningen är att åstadkomma en förbättrad buffertminnesanläggning för en digital dator. 10 15 20 25 30 35 HO 7512524-5 Ett annat ändamål är att åstadkomma en förbättrad minnesgränsenhet mellan ett eller fler frågeorgan och huvudminnet, vilken enhet innehåller ett snabbminne, som på statistiska grunder uppvisar en stor förmåga att bibehålla en ordadress som angivits av frågeorganet. Ännu ett ändamål är att åstadkomma en förbättrad minnesuppbyggnad för digitala datorer som medger upprepad modifiering av datablock som vistas i snabbminnet utan att någon motsvarande modifiering behöver utföras på tillordnat block i huvudminnet varje gång som buffertminnesblocket modiferas.
Dessa och andra ändamål med uppfinningen kommer att framgå av den följande detaljerade beskrivningen, som ges i samband med bifogade ritningar, där fig. 1a och 1b i sammanställning enligt fig. 1 visar ett blockschema över SIU, vari den föreliggande uppfinningen användes, fig. 2 visar ett blockschema för adressdelen i minnes- modulerna, fig. 3 visar ett blockschema för buffertdelen i minnes- modulerna, fig. 4 visar ett kopplingsschema över kretsar för förverkligande av funktionen "minst använd" algoritm, fig. Sa, Sb och 5c i sammanställning enligt fig. 5 visar medelst ett flödesschema sekvenserna för de olika funktioner som genomförs med den föredragna utföringsformen och . fig. 6 visar med ett kopplingsschema den styrkrets som användes i anläggningen enligt fig. 1.
I fig. 1 visas ett sammanställningsschema över en föredragen utföringsform av uppfinningen. Figuren är avsedd att bli använd i samband med förklaring av uppbyggnaden av och funktionen för en minnesgränsenhet (SIU) och därefter kommer konstruktionen och arbetssättet för de olika block i fig. 1 som avviker från konventionella block att beskrivas.
Såsom redan framgått av den inledande delen av denna beskrivning avser den föreliggande uppfinningen en SIU som fungerar som ett snabbuffertminne mellan ett flertal frågeenheter och ett huvudminne på ett sådant sätt att den totala minnesaccesstiden för en given operand väsentligt minskas. Detta förverkligas genom att det mellan frågeenheterna och huvudminnet insatta snabbuffert- minnet innehåller en undergrupp av den information som finnes lagrad i huvudminnet. Utformningen är sådan att det på statistiska 10 15 zog 25 '30 35 40 I 1512524-S 6 grunder föreligger stora möjligheter att en given operand, som sökes av en frågeenhet för läsning eller skrivning, står att återfinna i snabbuffertminnet, varigenom man undviker att gå in på det mer långsamma huvudminnet.
Den i fig. 1 visade.anläggningen innefattar två segment betecknade "udda segment" och "jämna segment" som i huvud- sak är identiskt lika till konstruktion och arbetssätt och som arbetar parallellt med varandra. Därför kommer i den följande beskrivningsdelen hänvisningar att ges till de olika funktionselementen i det udda segmentet, dvs de till vänster om sektionslinjen 10.
Det bör därvid ínses att vad som därmed anförs om dessa element även gäller för dem som är belägna till höger om sektionslinjen 12. Sådana element som delas av de båda segmenten är visade mellan de båda sektionslinjerna 10 och 12.
'I nederkanten på fig. 1 visas det flertal inlinjer 13 som leder från frâgeenheterna och som användes för att presentera frågestyrsignaler, adressrepresenterande signaler och data som skall tillskrivas SIU. Frågeenheterna kan omfatta en eller flera centrala bearbetningsenheter (CPU) och ingångs-/utgångsenheter (IOU). Även om endast tre sådana enheter (Fr.0, 1, 2) har angivits' skall det förstås att ytterligare frågeenheter kan föreligga. In- kommande frågesignaler inmatas på prioritetskretsar 14 inom varje SIU-halva, som vid mottagande av samtidig förfrågan från två eller flera frågeenheter ger företräde till en enda enhet i taget för kommunikation med SIU. Såväl CPU som IOU kommunicerar med SIU enligt en fråge/erkännprincip. Detta kommunikationsförfarande beskrivs fullständigt i amerikanskt patent 3 ZH3 781, varför det synes vara onödigt att här mer detaljerat beskriva konstruktionen och utformningen av dylika frågeenheter. Nämnt patent anger även det sätt varmed ett flertal från olika enheter kommande fråge- signaler kan inmatas på en prioritetskrets, som väljer en enhet i taget för konnunikation med resten av anläggningen.
Samtidigt med föresignalen presenteras en adress, som unikt väljer ett önskat ord för läsning eller modifiering i det fall frågesignalen är en läs- respektive skrivfrågesignal. Dessa adressrepresenterande signaler inmatas som insignaler på fråge- adressväljare 16. Väljarna 16 är i huvudsak grindorgan som svarar på styrsignaler som utgår från priorítetskretsen 14, vilken medger att adresssignaler från en enda frågeenhet kan passera fråge- adressregistren 18. Pâ ett liknande sätt är buffertskrivväljare 20 konventionella grindorgan som medger data från den valda fråge- 10 15 20 25 30 35 no v 7512524-5 enheten att bli inmatad på buffertskrivregistren 22.
Utsignalerna från frågeadressregistren 18 och buffert- skrivregistren 22 görs tillgängliga för två lägespräglade minnes- enheter (SASU) betecknade med 2U och 26. SASU 2H användes för att lagra de udda adresserna för olika block medan SASU 26 lagrar de jämna adresserna för samma block. Minnesenheterna 2H, 26 kan vara konventionellt adresserbara slumpaccessminnen, men är uppdelade i två delar benämnda "adressdel" och "buffert". Närmare bestämt och såsom kommer att ytterligare förklaras i samband med fig. 2 och 3 uppvisar SASU 24 en första stack adressbara register 28 för lagring av så kallade adressdelsord och en andra stack adressbara register 30 för lagring av flera delar av fyra U-ordiga halvblock, med data. På liknande sätt är SASU 26 delad i två delar 32, 34, varvid delen 32 lagrar adressdelsord och delen 34 lagrar flera delar av fyra H-ordiga halvblock med data. Det föreligger ett adressdelsord i delarna 28, 32 för varje H-ordig halvblock som lagras i delarna 30, 34.
För att underlätta förståelsen för totaluppbyggnaden av SIU kan det vara bra att ge en beskrivning av en exemplifierande utföringsform. Det bör emellertid förstås att den minneskapacitet som anges är en valfråga och någon begränsning får ej göras till de siffervärden som härvid uppställes.
Antag att buffertarna 30, BU har en kombinerad kapacitet av 4096 ord data och att huvudminnet 36 har en kapacitet av 262 1UU ord. I detta åskådningsexempel kan buffertarna uppdelas i 128 delar om fyra 8-ordiga block (128 X H X 8 = 4096 ord).
Huvudminnet kan därvid också antas omfatta 128 delar, varvid varje del innehåller 1/128 av ordkapaciteten i hela huvudminnet. För fullföljande av exemplet så skulle varje del innehålla 256 8-ordiga block (128 X 256 X 8 = 262 144 ord). Var fjärde av de 256 8-ordiga blocken i en del av huvudminnet kan föreligga i motsvarande del av de 128 delarna av de kombinerade buffertarna 30, BH.
För att öka adresseringshastigheten för data som lagras i SIU-buffertarna är SIU uppdelad i ett udda adressegment och ett jämnt adressegment så att det under vissa förhållanden, såsom kommer att förklaras, buffertaccess kan ske med ett överlappningsförfarande.
Den udda/jämnsegmentuppdelningen påverkar del/blockformen genom att varje 8-ordigt block uppdelas i två H-ordiga halvblock. Sålunda kan bufferten 30 lagra de 2 OH8 ord som har udda adresser och bufferten 34 kan lagra de återstående 2 048 orden med jämna adresser. 10 15 20 75 30 35 40 7512524-5 i 8 Denna udda/jämna adresstruktur återges nedan i tabell I.
TABELL I Fyra 8-ordiga block Fyra U-ordiga halvblock Fyra 4-ordiga halvblock ê§§2**__WWW-têšåê êâåâ s E E B E E E E o o o o O O 0 O E E E E 0 0 O 0 E E E E E E E E 0 O O O 0 0 0 O E E E E O O O 0 E E E E 0 0 0 0 E E E B Buffert 34 Buffert 30 0 0 0 O 1 _ I tabell II (avsedd som enbart exempel) anges nedan den form antagits för adressen, vilken avgivits av den valda frågeenheten och utnyttjas för erhållande av access till informa- tion som är lagrad i SASU 2U och 26 eller i huvudminnet 36 i de fall där den eftersökta adressen för läsning och skrivning icke föreligger i SASU. Återigen är denna form hänförd till användningen av ett enda huvudminne 36 med en minneskapacitet av 262 1HH ord loch en kombinerad buffert med en kapacitet av H 096 ord. Om flera minnesmoduler utnyttjas erfordras ytterligare adressbitar för modulàtskillnad.
TABELL ;;_ ......--....,._.-. .. ..._.,..-..._.,..........._ ...n .-........-..__,..._..- 4 . n.. ... . -_ ..-..-.. ..,.._..... ......~..,.. ...N ”__ .......,... 22 - 1(I 9 - 3 7 - 1 V 0 Ordselektion 0/E-sel.
Blockselektion -Delselektion Huvudminnesadress -øl 20 3 Pig. 2 visar schematiskt utförandet av adressdelarna 28, 32 i SASU 2H och 26 och innan beskrivningen av anläggningen enligt fig. 1 fortsättes skall uppmärksamheten här fästas vid uppbyggnaden för och-funktionen hos den udda segment~SASU:n 2U, varvid det är uppenbart att den jämna segment-SASU:n 26 fungerar på identiskt lika sätt.
SASU ZU innefattar konventionell adressering vid såväl adressdel som buffertdel. Utsignalen från frågeadressregistret 18 ínmatas via kabeln 38 på en adresstydare H0 i SASU 2%, som arbetar med att undersöka bitarna 3 till 9 av adressen för att entydigt välja en av de 128 linjer som leder till access till en av de 128 register som innehåller adressdelsminne. I varje adressdels- mínne är en 64-bitars ingång lagrad, som var och en har en form 10 15 20 25 30 35 H0 9 7512524-5 som visas i inställningsadressen 0 0 O i fig. 2. Den del av adressdelsordet som benämnts "blockadress" innefattar bitarna 10 - 22 av adressen för det första ordet i vart och ett av de fyra blocken som innehåller den delen i bufferten. Ett block utgör härvid åtta närliggande ord belägna på åttaordsgränser.
De ingångar som är betecknader "T" är var och en ett 2-bitars fält som tillhör var och en av de fyra blockadresserna inom varjeadressdelsplats och indikerar relativ tidslängd sedan varje block senast blev utnyttjat. Mer kommer att sägas om "ålders"- fält när detaljerna beträffande "minst utnyttjade" ersättnings- algoritmen senare förklaras. _ Det med WB betecknade fältet kan betecknas såsom "återinskrivníngsbiten" och utgörs av en bit som användes för att indikera om modifierade data föreligger i det speciella blocket.
Om låten är en binär "1" när blocket ifråga väljes för att bli ersatt så måste samtliga fyra ord inom detta block återinskrivas i huvudminnet. Då biten är en binär "O" behövs någon återinskriv- ning eftersom något ord inom detta block ej har modifierats medelst skrivfunktion medan det varit förlagt till bufferten.
För att avgöra om ett önskat block föreligger i bufferten jämförs de fyra blockadresserna hos den adressdel som tillhör efterfrågad del bit för bit med bitarna 10 till 22 av den adress som föreligger i frågeadressregistret 18 (fig. 2). Om en av de fyra blockadresserna överensstämmer med sökt block, såsom avgörs medelst en överensstämningsavgörarkrets H2, så finnes det eftersöktaordet i bufferten och kan direkt erhållas från bufferten.
Eftersom buffertdelarna är adresserade med delnummer (bitarna 3 - 9) och med de bitar som identifierar ett ord inom blocket (bitarna 1 - 2) så är dess utsignal fyra ord lång, ett ord från varje block i den tillfrågade delen. Utsignalen från komparatorn 42, som identifierar det blocknummer i vilket överensstämmelse erhållits, användes för att välja rätt ord från bufferten för att sända det till frågeenheten såsom kommer att förklaras i det följande.
I fig. 3 visas principen för buffertdelen 30 i SASU 2%. Bufferten 34 är identiskt lika utformad. Tidigare buffertar omfattade var och en ett flertal adresserbara register för lagring av data. De individuella orden är grupperade i 128 delar, som var och en innehåller fyra H-ordiga halvblock, varvid de jämna adresserna lagras i bufferten 3U och de udda adresserna i bufferten 10 15 20 30 35 40 A25 7512524-5 10 30. För att erhålla access till ett givet ord väljer bitarna 09 till 03 i frågeadressen en av de 128 delarna som lagras i bufferten.
Frågeadressregistrets bit O avkodas för att specifisera om adressen är udda eller jämn så att bufferten 30 eller 34 skall erhålla access. Bitarna 02 och 01 av frågeadressregistret översättes medelst ordväljaren 46 för att unikt, välja ett av de fyra orden i varje block inom en given del i det specifiserade udda eller jämna segmentet. Eftersom samma frågeadress samtidigt inmatats på adressdelsstacken (fig. 2), om överensstämmelse uppträder mellan adressen på efterfrågat block och på adressen för ett i bufferten beläget block, så kommer en utsignal att alstras på en av ledningarna A, B, C och D från komparatorn 42 inom det specificerade udda 'eller jämna segmentet. Denna utsignal kommer då den inmatas på ingångar på blockväljaren 48 (fig. 3) medge att enbart valda ord av det valda blocket i den utvalda delen till det valda segment som skall utläsas från bufferten 30 eller 34 i SASU 24 eller 26.
Om det önskade blocket icke föreligger i bufferten kommer givetvis överensstämningskomparatorn 42 ej att alstra någon utsignal på utledningarna A, B, C eller D och väljarkretsen 48 kommer att för- hindras från att grinda ord ut från bufferten 30.
Ord som sändes ut från SASU buffertsegmenten 30 och 34 kan överföras medelst kablarna 50 (fig. 1) till läsdataväljare I 52, vilka styrs medelst prioritetskretsen 14. Läsdataväljarna fungerar till att grinda dessa ord via kablar 54 till bestämda läsregister 56, 58 eller 50 i den fràgeenhet som ursprungligen presenterade läsfrågan för SIU. I 7 I det fall då en läs- eller skrivfråga presenteras för SIU och en bestämning görs som ger vid handen att eftersökt ord icke föreligger i bufferten överförs den önskade adressen från frågeadressregistren 18 via kabeln 61 till ett adressfrånvaro- register 62 där den uppfångas och kvarhålles för senare användning.
Därefter anropas minimumutnyttjandealogritmen (LRU), vilket påverkar den till blocket hörande adressdelsadressen som skall ersättas att bli utläst från adressdelarna 28 eller 32 till tillhörande adress- delsadressregister 64 och därifrån till buffertadressdelsregístret 86 via kablarna 63 och 65.
Efter detta utläses under fyra buffertminnesläscykler do två 4-ordiga halvhlnvk som uttugíts för att ersättas från buffertsektionerna 30 och 34 i SASU för att lagras en i taget i fyra sektioner av ett huvudminnesskrivdataregister 68, vari de kvarhålles. 10 15' 20 25. 30 35 40 M 7512524'5 Det önskade frånvarande datablocket utläses två ord i taget från huvudminnet 36 under fyra cykler på kabeln 70 och inmatas via buffertskrivväljaren 20 till buffertskrivregistren 22. Ersättningsblocket som erhållits från huvudminnet lagras vid den begynnelsebuffertadress som anges av innehållet i buffertadress- delsregistret 66 och när varje ord är ínmatat ínkrementeras bitarna 1 och 2 för att utgöra ordadress för varje ingång. Dessutom inskrivs ett nytt adressdelsord i adressdelarna 28, 32 av SASU på ett nedan beskrivet sätt.
Medan dessa funktioner är under utförande kontrolleras återskrivníngsbiten för den del av adressdelsordet som hittills ingått i adressdelsadressregistret 64 och om det befinnes vara utställt indikerar det att det nu föreliggande blocket i huvud- minnesskrivdataregistret 68 har varit föremål för modifiering medan det befunnit sig i bufferten. Därvid är det nödvändigt att åter- inskriva detta block i huvudminnet. _ Under fyra huvudminnescykler avleds orden två i taget från registren 68 (ett från det udda och ett från det jämna segmentet) och lagras i huvudminnet vid det blockläge som anges av den adress som tidigare kvarhållits i adressfrånvaroregistret 62. Innehållet i adressfrånvaroregistret 62 inmatas alltså i huvud- minnesadressregistret 72.
Efter det att det sista ordet av läsdata från huvud- minnet 36 har inmatats i bufferten initieras en ny prioritetsav- sökning, varvid den ursprungliga frågeenheten medges tillträde till den nu befintliga adressen i bufferten. Det önskade ordet är därmed tillgänggjort för den ursprungliga frågeenheten för läsning eller skrivning.
För att full förståelse skall uppnås av arbetet med LRU-algoritmen, som är det medel som användes för att välja ett block för ersättning när en förfrågan framställes efter ett ord som icke föreligger i bufferten, hänvisas nu till kretsen enligt fig. H.
Såsom ihågkommes från diskussionen beträffande adress- delen i SASU (fig. 2), att varje del har ett adressdelsord som anger adressen för de fyra för tillfället i bufferten förefintliga blocken samt ett par "ålders"-bitar för varje block, vilka bitar kan ha de bínära värdena 00, 01, 10 eller 11. Av sed är blocket med åldersbitar med värdet 00 det senast utnyttjade blocket (det yngsta blocket) och det block som har värdet 11 är det minst 10 15 20 "25 30 35 UG 7512524-s 12 utnyttjade (äldsta) blocket. När det därför är önskvärt att ersätta ett block i en del av bufferten med ett nytt block från huvud- minnet behöver styrkretsarna endast undersöka åldersbitarna för blocken inom denna del som blivit adresserad och välja det block som har åldersbitvärdet 11 till att bli ersatt. _Kretsen enligt fig. 4 åskådliggör de medel som utnyttjas i en föredragen utföringsform för uppdatering av åldersbitar i ett adressdelsord varje gång ett block inom denna del utnyttjas.
Nederst i figuren ligger fyra register 74, 76, 78 och 80, som kan vara en del av överensstämningsjämförelsekretsen 42 i fig. 2. Vid inmatning av en adressdelsadress på delväljaren H0 från den fråge- enhet som har högsta prioritet kommer adressdelsordet för denna del att inmatas i överensstämningsjämförelsekretsen H2 samtidigt med att blockadressåldersbitarma och âterinskrivningsbiten för 'block A inmatas i registret 7H, de för block B inmatas i registret 76 osv. Åldersbitarna från vart och ett av registren 70 - 80 inmatas på en komparatorväljare 82 och på indidivuella "större än, lika med eller mindre än" komparatorer 84, 86, 88 och 90. Komparator- väljarens 82 utsignal matas även som insignal till var och en av komparatorerna 84 - 90. Individuellt tillordnade var och en av ' komparatorerna 84 - 90 är en adderare 92, 94, 96 respektive 98, som har en utgång âterkopplad till sitt eget register 74 - 80.
Såsom kommer att förklaras är adderarna vid mottagandet av en ut- signal från komparatorerna 8U - 90 i stånd att addera en 1 eller 0 till åläersbiten i registren 7H - 80 eller att bringa åldersbiten till 0._ Såsom exempel kan antas att åldersbitarna i registren 7U - 80 är 00, 10, 01 respektive 11 och att överensstämningsjäm- förelsekretsen 42 i fig. 2 alstrar en utsignal på ledningen B, vilket indikerar att detta block i en given del (vilken del bestämts av väljaren #0) har blivit adresserat. Väljaren/komparatorn 82 mottar en insignal på ledningen 100 från överensstämningsjämföraren , 42, vilket förorsakar att åldersbitarna 10 inmatas till en första ingång på var och en av komparatorerna 84 - 90. Det binära talet 10 jämförs därför med åldersbitarna i var och en av registren 74 - 80. När det bínära talet 10 från enheten 82 jämförs med de antagna åldersbitarna 00 i komparatorn 84 genereras en utsignal som indikerar att åldersbitarna i registret 7U är mindre än komparator- väljarens 82 utsignalbitar 10 och adderaren kommer att aktiveras 10 15 20 25 30 35 H0 13 7512524-5 för att addera en 1 till innehållet i registret 7H.
När komparatorväljarens 82 utsignal jämförs med ålders- bitarna i registret 76 befinnes de vara lika och adderaren 9U kommer under detta förhållande ge en utsignal som rensar registret 76 till 0. Jämförelsen av åldersbitarna i registret 78 med valda blockåldersbitar medelst komparatorn 88 förorsakar adderaren 96 att addera en 1 till innehållet i registret 78 i det att de i registret 78 innehållna åldersbitarna antagits vara mindre än de valda åldersbitarna 10.
Eftersom åldersbitarna som antagits för registret 80 har större binärt värde än bitarna från överensstämningsjämförings- kretsen H2 kommer komparatorn 90 att alstra en utsignal som gör att en 0 adderas till registrets 80 innehåll. Efter denna upp- dateringsoperation kommer åldersbitarna för blocken i den valda delen att vara 01, 00, 10 och 11 och anger därmed att block B är det block som senast utnyttjats medan block D förblir minst utnyttjade block.
Sammanfattningsvis bestämmer komparatorerna 84 - 90 om nuvarande åldersbitar i registren 7% - 80 är större än, lika med eller mindre än åldersbitarna för adressdelen i det valda blocket inom vald del och adderarna 92 - 98 är var och en styrda att under ovan givna tre förhållanden addera 0, rensa eller addera 1 till åldersbitarna i registren 7U - 80. Efter varje referens till en del kommer åldersbitarna för adressdelen i denna del att uppdateras för identifiering av det minst använda blocket inom denna del.
Eftersom större än, lika med eller mindre än kompara- torer är kända inom tekniken är det onödigt att här återge några speciella kretsar för deras förverkligande. Önskas ytterligare information avseende sådana kretsar så kan här hänvisas till amerikanskt patent 3 293 603 eller till olika läroböcker för logisk formgivning av digitala komparatorkretsar.
Med flödesdiagrammen enligt fig. Sa, 5b och Sc skall den i fig. 1 visade anläggningens funktion förklaras. Vid funk- tionens inledning står prioritetskretsen 1H redo att motta inkommande frågor från det flertal frågeenheter som är anslutna till SIU- ingångskabeln 13. Denna inledningsfunktion representeras av rutan 102 i fig. 5a. Efter mottagning av antingen en "läs-" eller "skriv"- frågestyrsignal görs en bestämning av om det är fler än en fråge- enhet som ställer en sådan fråga (ruta 104). Om så är fallet väljer prioritetskretsen 1H (fig. 1) en enda sådan frågeenhet för 1o_ 15 20 25 30 35 40 751252lP5 w kommunikation (ruta 106) och om så icke är fallet utestängs samtliga frågeenheter utom den frågande under en tidsperiod som är till- räcklig för fullföljande av läs- eller skrivoperationen (ruta 108); , Prioritetskretsen 14 sänder en aktiversignal till den valda frågeenheten så att bitarna 09 - 03 av den efterfrågade adressen gríndas till delväljarna 40 och 44 (fig. 2 och 3) i adress- och buffertdelarna inom SASU 20 och 26. Samtidigt grindas de av frågeenheten presenterade adressbitarna 02 och 01 till ordväljaren 46 (fig. 3). Dessa grindningsfunktioner representeras av rutan 110 i flödesdiagrammet enligt fig. Sa. _ Därpå cyklas SISU och adressdelsordet för den valda delen inläses i överensstämningsjämförelsekretsen 42 och fyra data- ord från de valda blocken inom den valda delen inmatas i block- väljaren H8 (fig. 3). Dessa funktioner indikeras medelst flödes- diagramrutorna 112 och 11H.
Härefter jämförs blockadresserna för de fyra blocken omfattande den valda delen och ingående i överensstämnings- jämförelsekretsen H2 bit för bit med de adresser som presenterats för SASU. Denna funktion återges med rutan 116 i fig. 5a. Om en överensstämmelse uppnås vid denna jämförelse (ruta 118) alstras en utgående styrsignal på en av ledningarna A, B, C och D, som utgår från överensstämningsjämförelsekretsen H2. Denna signal matas via ledningen 100 till komparatorväljaren 82 (fig. U) för att därmed bringa åldersbitarna i adressdelsordet inom överensstämnings- jämförelsekretsen H2 till att bli uppdaterade vid rätt tidpunkt såsom tidigare beskrivits. Om någon överensstämmelse ej inträffar hoppar funktionssekvensen över till de i fig. Sb angivna såsom antyds med grenförbindelsesymbolen @ utgående från rutan 118 antyder. Ur förklaringssynpunkt kan det antas att en överensstämmelse inträffade och att åldersuppdateringsfunktionen, såsom den representeras av rutan 120 i fig. Sa, blivit utförd medelst kretsarna åskådliggjorda i fig. H.
Efter det att åldersbitarna i adressdelsordet för vald del blivit uppdaterade görs en bestämning av om den fråga som framsläppts av prioritetskretsen 10 är en "läs"- eller en "skriv"- fråga (ruta 122). Under antagande att det är en skrivfråga så kommer den funktionssekvens som visas med flödesdiagrammet enligt fig. 50 att verkställas, såsom antyds med anslutningen CL som utgår från beslutssymbolen 122 och bildar start för flödesschemat i fig. 5c. 10 15 20 25 30 35 40 15 751252164; Under det antagna förhållandet med en skrivfråga presenteras en skrivaktiversignal för SASU-bufferten, vilket möjliggör att dataordet i buffertskrivregistret 22 ínskrívs på ordläget i buffertstackarna 30 eller 34 i beroende av den adress som föreligger i frågeadressregistret 18. Denna funktion represen- teras av rutan 124 i fig. 5c. Eftersom skrivfunktionen gör den data som lagras i ett block inom bufferten olik den data som lagras i motsvarande block inom huvudminnet blir det nödvändigt att inskriva det modifierade blocket i huvudminnet när det en gång väljes för att ersättas enligt LRU-algoritmen. För att indikera att en modifikation har uppträtt utställes återskrivningsbiten (WB) för adressdelsordet inom det modifierade blocket såsom indikeras av rutan 126 i fig. 5c. Slutligen återsändes en erkännandesignal till vald frågeenhet med innebörden att det dataord som frågeenheten inmatade har blivit inskrivet i snabbufferten (ruta 128) och sekvensen avslutas. Detta frigör prioritetskretsen 14 och den tillåts att söka nya frågor.
Om den ursprungliga frågan hade varit en läsfråga skulle funktionssekvensen enligt fig. Se icke valts utan i stället hade sekvensen fullföljts med början vid rutan 130 enligt fig. Sa.
Sålunda hade det valda ordet i det valda blocket inom vald del grindats via blockväljaren H8 (fig. 3) till läsdataväljaren 52 (fig. 1) och därifrån till läsregistret 56, 58 eller 60 i den frågeenhet som ursprungligen erhöll prioritet. SIU-styrorganet sänder därefter en erkännandestyrsignal till frågeenheten med prioritet för att delge denna att det önskade ordet är närvarande i dess läsdataregister och kan erhållas därifrån (ruta 132).
Med återgång till ruta 118 i fig. Sa utgick den ovan givna diskussionen från att när adresserna för de fyra blocken inom den valda delen jämfördes med efterfrågad adress i överensstämnings- jämförelsekretsen H2 erhölls en sådan överensstämmelse. Om det nu antas att denna jämförelse resulterar i ett frånvaroförhållande så kommer den sekvens av steg som åskådliggörs medelst flödes- diagrammet enligt fig. 5b att följas.
Vid detektering av frånvaro så kommer överensstämnings- jämförelsekretsen 42 inom den del som är adresserad att avge en styrsignal på styrledningen 67 för inmatning på SIU-styrkretsen 15. Såsom kommer att ytterligare förklaras när detaljerna i styr- krersen 15 behandlas initierar mottagandet av frânvarostyrsignalen från något av segmenten (udda eller jämnt) en aktivering av en 10 15 20 25- 30 35 H0 ,vs12s2u-s p 3 W ordergenerator av fördröjningstyp, så att olika order avges av 'styrenheten vid förutbestämda tider för att därmed styra utväx- -lingen av data mellan snabbufferten och det långsammare huvudminnet.
På grund av skillnaden i cykeltid mellan snabbuffertarna 30, 3H och huvudminnet 36 är det möjligt att utföra olika funktioner parallellt eller med överlappning. Med hänvisning till fig. Sb är det överlappande förloppet representerat medelst två parallella grenar i flödesdiagrammet. Det bör emellertid förstås att flödes- diagrammet enligt fig. 5b endast är avsett att indikera den relativa funktionssekvensen och icke de speciella tidsrelationerna mellan funktioner som anges i de två parallella vägarna. _ Den första funktionen som skall utföras vid mottagande av frânvarosignalen är att styrenheten skall avge en order som påverkar adressen för det frånvarande blocket att bli lagrad. Det är den adress som givits av frågeenheten, vilken tidigare givits prioritet. Mer bestämt kommer ordern från styrenheten att påverka innehållet i frågeadressregistret 18 till att överföras via ledningarna i kabeln 61 till frånvaroadressregistret 62. Denna funktion representeras av ruta 13U i fig. Sb. Samtidigt arbetar kretsen enligt fig. ll på sätt som tidigare beskrivits för att identifiera det speciella block A, B, C och D i överensstämnings- jämförelsekretsen 42 som uppvisar ett åldersbitsvärde lika med 711, dvs. det minst använda blocket. Blockadressbitarna, ålders- bitarna och WB-biten som tillhör detta minst använda block utläses " från adressdelsminnet och inskrives i adressdelsadressregistret BH för att vidarematas via ledningarna i kabeln 63, 65 till buffert- adressdelsregistret 66. Denna funktion representeras av rutan 136 i fig. 5b.
Efter denna funktion sänder styrsektionen 15 en "läs"- fråga till huvudminnet (ruta 138) som initierar utläsningen av det 8-ordsblock som anges av den i adressfrånvaroregistret 62 belägna adressen. Mer bestämt grindas adressfrånvaroregistrets innehåll till huvudminnesregister 72 där det är tillgängligt för val av önskat block, som icke kunde återfinnas i bufferten.
En läsfrâga sändes också av styrsektionen 15 till var och en av SASU 2H och 26. Denna funktion representeras av ruta 1k0 i fig. 5b och ändamålet är att åstadkomma avlastning av de 8 ord som omfattar det minst använda blocket. Mer bestämt utförs detta, såsom kommer att närmare anges nedan genom initiering av huvudstyrfördröjningsledningen i kretsen 15, vilken ledning är 10 15 20 25 30 35 H0 17 > 7512524-5 anordnad att cyklas fyra successiva gånger. Under varje cykel utläses ett ord från varje segment i buffertarna 30, 34 medelst buffertläsregistret BH för att lagras i ett temporärt hållregister, dvs. i huvudminnesskrivdataregistret 68. Vid fulländandet av den första cykeln genom huvudstyrfördröjningsledningen utställes en vippa i styrkretsen 15 för att indikera att de första tvâ orden från bufferten är utlästa från SASU och inmatade i registren 68.
Efter utställningen av denna vippa överförs skrivdata medelst skrivdataväljarna till huvudminnet 36. Denna funktion representeras av rutan 1H2. Under den tredje cykeln genom huvudstyrfördröjnings- ledningen utställes den i styrkretsen 15 ingående återmatnings- vippan under förutsättning att återmatningsbiten i den adress- del som hör till det minst använda blocket är inmatad (ruta 144).
Om skrivmedgivande föreligger och om återinskrivnings- vippen är utställd kommer under den fjärde cykeln i huvudstyr- fördröjningsledningen, medan orden 7 och 8 av det minst använda blocket överförs, styrenheten 15 att alstrar en skrivförfrågesignal (ruta 1u6), som påverkar huvudmínnet att inta blocket på sin rätta adress. Medan det minst använda blocket höll på att avlastas från' SIU-bufferten och inmatas på det temporära.hâllregistret arbetade huvudminnet som svar på en tidigare läsfråga med att utläsa de 8 ord som innefattar det önskade blocket för inmatning på ett temporärt hållregister i huvudminnet. Vid ungefär samma tidpunkt som styrenheten 15 presenterar skrivfrågan för huvudminnet är läs- data från huvudminnet tillgängliga och en överföring av läsdata till SASU-buffertarna kan initieras. Dessa data överförs via ledningar i kablarna 70 och medelst buffertskrivväljarna 20 och buffertskrivregistren 22 i fyra cykler som styrs av SIU-skriv- förfarandets styrfördröjningsledning, vilken ävenledes ingår i styrkretsen 15.
I SIU-skrivförfarandets styrfördröjningsledning är lika- ledes cyklad fyra gånger. Under den första cykeln inskrivs fråge- adressregistrets 18 innehåll i blockadressdelen av adressdelsordet för det block som tidigare konstaterats vara det minst använda så att efter denna skrivfunktion kommer adressdelsordet att ange det tidigare saknade blocket, som kommer att vara närvarande efter det att hela dataöverföringen från huvudminnet till SIU- bufferten genomförts. Under var och en av de fyra buffertskruv- cyklerna kommer även återinskrivningsbiten för det adressdelsord som tillhör det nya blocket att bli ordnat. Detta är nödvändigt av 10 15' 20 '25 30 35 UÛ , 1512524-så e -.B det skälet att varje inskrivningsoperation för bufferten utställes återinskrivningsbiten automatiskt, men under inmatningen av ett ersättningsblock föreligger en bit-för-bit motsvarighet mellan den data som inmatas i bufferten och data för motsvarande block in- gående i huvudminnet. Följaktligen måste återinskrivningsbiten iordningställas för var och en av de fyra passagerna genom SIU- skrivförfarandets styrfördröjningsledning så att âterinmatningsbiten vid fulländad ersättning kommer att vara iordningställd, vilket anger någon mpdifiering ej har skett vid detta ord efter det att det erhölls från huvudminnet. Under inmatningen av det 8-ordiga ersättningsblocket i SIU-bufferten kommer även åldersbitarna i adressdelsordet för ersättningsblocket att uppdateras så att vid inskrivningsfunktionens slut kommer âldersbitarna för ersättnings- blocket att bli sådana att de indikerar att det är det senaste använda blocket. Överföringen av det önskade_8-ordiga blocket från huvudminnet till SASU. inmatningen av detta block i det läge som tidigare identifierats av LRU-blocket samt uppdateringen av adress- delsadressen, åldersbiten och iordningställandet av återinmatnings- biten representeras i i flödesdiagrammet i fíg. Eb av rutorna 148, 150 0Ch 152.
Efter det att ersättningsblocket inmatats på önskad plats i SIU-bufferten utsänder huvudminnet en skrivåterupptagnings- styrsignal, som för styrkretsen 15 indikerar att återinmatnings- informationen har lagrats i huvudminnet. Ungefär samtidigt utsänder huvudminnet en läsåterupptagningsstyrsignal, som presenteras för SIU för att indikera att huvudminnesläscykeln är avslutad, dvs. läsdataöverförelsen är fulländad. Dessa funktioner representeras i flödesdiagrammet enligt fig._5b av rutorna 154 och 156.
Efter läsåterupptagningsstyrsignalens generering åter- initierar styrkretsen 15 den ursprungliga frågeenheten, som tidigare föranledde frånvaro- eller avsaknadsförhållandet. Brioritets- kretsen 14 ger högsta prioritet till denna ursprungliga frågeenhet, så att funktionssekvenserna enligt rutorna 122 - 132 utförs på sätt som redan beskrivits. Alltså lämnar funktionssekvensen flödes- diagrammet enligt fíg. 5b vid anslutningssymbolen 3 och inträder på motsvarande punkt i flödesdiagrammet enligt fíg. 5a. En bestämning görs om frågeenheten presenterar en skrivfråga och om så är fallet fullföljes funktionsförloppet enligt flödesdiagrammet enligt fig. _ Sc. Om ursprungsfrågan var en läsfråga utförs de operationer som representeras av rutorna 130 och 132. 10 15 20 25 30 35 H0 19 7512526-5 I samband med fig. 6 kommer detaljerna hos styrkretsen 15 enligt fig. 1 att förklaras. Styrkretsens 15 primära funktion är den beordrade ersättningen av data som lagras i SASU-bufferten med data som lagras i huvudminnet och generellt ingår följande steg: a) frånvaro detekteras i antingen udda eller jämnt segment, b) styrkretsen ställer en fråga till huvudminnet avseende den frân- varande adressen, c) styrkretsen avlastar minst använd (LRU) data från SASU-bufferten, d) obefintlig data från huvudminnet inskrivs i bufferten och ny närvaroadress inskrivs i adressdelen, e) tidigare avlastad LRU-data inskrivs i huvudminnet om datan blivit modifierad under vistelsen i bufferten och f) ursprunglig frågeenhet återfår prioriteten och har nu tillgång till önskad data i bufferten.
Styrkretsen 15 alstrar erforderliga öppnings- och ordersignaler till den övriga anläggningen vid tidpunkter och med en sådan sekvens att föregående steg blir utförda. Såsom visas i fig. 6 omfattar styrkretsen ett flertal fördröjningsledningar 160, 162 och 16N med tillhörande logikkretsar för att alstra erforderliga styrsignaler. Såsom är välkänt inom denna teknik är en fördröjnings- linje en anordning som medför en bestämd pulsmatningstid så att när en puls inmatas i dess början löper den längs linjen med en känd hastighet för att alstra utsignaler på avgreningar utmed densamma.
I datorkretsar kan de sekvensiellt alstrade pulserna användas såsom order- eller öppningssignaler för andra enheter inom an- läggningen.
A-, B-, C- och D-utsignalerna från överensstämnings- jämföringskretsen H2 (fig. 2) för det udda segmentet sammanslås i ELLER-funktionen med kretsen 166, så att om en adress som söks av en frågeenhet saknar överensstämmelse med de i SASU:s adress- delssegment föreliggande adresserna avger NELLER-kretsen 166 en frånvarosignal. På liknande sätt kombinerar NELLER-kretsen 168 A-, B-, C- och D-utsignalerna från det jämna segmentet i STU för att generera en frånvarosignal vid sin utgång då den eftersökta adressen icke överensstämmer med adressdelen för den vald del i det jämna segmentet. Utsignalerna från vardera kretsen 166, 168 matas till en ELLER-grind 170 och om någon av signalerna är aktiv alstras en signal på grindens 170 utgång för utställning av från- varovippan 172. Frånvarovippan har sin utställda utgång ansluten som ingång på fördröjningslinjen 160 och tjänst till att inmata 810 ;15 20 25. 30, 35 40 7512524-5 280 en puls på linjen. Denna impuls går sedan längs linjen och alstrar sekvensiellt de angivna öppningssignalerna. Närmare bestämt upp- träder vid en första tidpunkt en puls på uttaget 17H, som öppnar de mellan frågeadressregistret 18 och frånvaroadressregistret 62 belägna grindarna (ej visade), så att frågeadressregistrets inne- håll grindas till frånvaroadressregistret 62 för att temporärt lagras för senare användning.
Samtidigt som SASU blev tillfrågad för bestämning av om en efterfrågad adress förelåg däri blev kretsen enligt fig. 4 synkront påverkad att bestämma vilket av de fyra blocken inom vald del som var minst använt. När sedan pulsen genomgår fördröj- ningslínjen 160 vid en förutbestämd tid uppträder en öppningssignal på uttaget 176 för att få det minst använda blockets adress att bli lagrat i adressdelregistret BH och i buffertadressdelsregistret 66.
Vid en efterföljande tidpunkt förorsakar den genom fördröjningslinjen 160 gående pulsen en utsignal på uttaget 178, som tjänar som en läsfrågestyrsignal för huvudminnet. De konventio- nella styrkretsarna som hör till huvudminnet svarar på denna frâgesignal och utför en utläsning av blocket om 8 ord och med en startadress som matas från adressfrånvaroregistret 62 via huvudminnesadressregistret 72.
Efter det att läsfrågan är sänd till huvudminnet når den genom fördröjningslinjen 160 gående pulsen uttaget 180 och inmatas på en konventionell räknarkrets 182, som ställer räknaren på tre (binärt 11). Utsignalen från cykelräknaren 182 matas som insignal till fördröjningslinjen 162. När cykelräknaren framräknats till tre och vid varje efterföljande nedräkning alstras en puls som bringas att passera fördröjningslinjen 162. Vid den första cykeln då cykelräknaren står på tre går den på fördröjnings- ledningen 162 inkommande pulsen följaktligen längs denna och när uttaget 184 passeras överförs en läsfråga till både det udda och det jämna segmentet för initíering av avlastningen av det minst använda blocket. Härnäst alstrar fördröjningsledningen 162 en utsignalpuls på uttaget 186, som är anslutet till en första ingång på en OCH-grind 188. Vid denna tidpunkt är emellertid OCH- grinden 188 inaktiv och kan ej alstra någon order för start av skrívöverföring till huvudminnet. _ Å Nästa händelse inträffar när pulsen på fördröjníngslinjen 162 når uttaget 190. Om återínskrivningsbiten för det minst använda 10 15 20 25 30 35 H0 2; 7512524-5 blockets adressdel, som ingår i adressdelsregistret BH, är utställd kommer OCH-grinden 192 att vara öppen för inställning av åter- inskrivningsvippan 19H. Om återinskrivningsbiten icke är utställd, vilket indikerar att någon modifiering av data svarande mot denna adress ej har skett medan blocket befunnit sig i bufferten, kommer grinden 192 givetvis ej att vara öppen och återinmatnings- vippan kommer att förbli i sitt overksamhetsläge.
När pulsen på fördröjningslinjen 162 når uttaget 196 àtermatas den till cykelräknaren 182 och användes till att nedräkna räknaren med ett. Nedräkningen av cykelräknaren 182 inmatar åter den puls på fördröjningslinjens 162 och ge successiva utsignaler på uttagen 189, 186, 190 och 196. När talet i cykelräknaren 182 minskas från tre till två kommer dessutom komparatorn 198 (talet = 2) att ge en signal på linjen 200 för utställning av belastningsvippan 202. Med vippan 202 utställd då en puls uppträder på uttaget 186 under denna andra aktivering av fördröjningslinjen 162 kommer grinden 188 att öppna och alstra en order att initiera en skrivöver- föring till huvudminnet. Det kan påminnas att under den första cykeln på fördröjningslinjen 162 då pulsen uppträdde vid uttaget 18k utnyttjades denna puls till att läsa orden 0 och 1 i valt block inom vald del från varje buffertsegment 30, 34 via buffertregistren 69 till huvudminnesdataregistret 68. Vid den andra cykeln på för- dröjningslinjen 162 åstadkommer signalen på uttaget 18U en utläs- ning av orden 2 och 3 i valt block inom vald del till huvudminnes- dataregistret 68 och kort därefter öppnas grinden 188 för initiering av skrivöverföring genom skrivdataväljarna 71 för att hålla registren i huvudminnet 36.
Vid slutet av den tredje cykeln på fördröjningslinjen 162 uppträder en puls vid uttaget 196 för att nedräkna cykelräknaren till noll. När cykelräknaren når noll avkännar en komparator 20U detta förhållande och avger en öppningssignal till ingången 206 på en OCH-grind 208. Om det vid detta tillfälle är så att åter- inskrivningsvippan är utställd uppträder en andra öppningssignal på ingången 210 till grinden 208. Med en skrivöppningsstyrsignal på ledaren 212 kommer grinden 208 till vara öppen till att generera en huvudminnesskrivfrâgestyrsignal. Effekten av denna skrivfrâga är att huvudminnet påverkas till att lagra det block av data som valts att bli ersatt vid minneslägen som bestämmes av innehållet i huvudminnesadressregistret 72.
Vid en förutbestämd tidpunkt efter alstrandet av läs- 10 15 20 _25 30 gas 40 7512524-5 22 frågestyrsignalen vid uttaget 178 på fördröjningslinjen 160 alstrar huvudminnesstyrkretsarna en "läsdataöverförings"-signal.
Tidsintervallet mellan läsfrågestyrsignalen och låsdataöverförings- signalen är så tilltaget att det är tillräckligt för att medge att huvudminnet utläser de 8 ord som omfattar önskar block. Läsdata- överföringssignalen inmatas såsom insignal på cykelräknaren 216 medelst ledaren 214. Effekten av signalen på ledaren 21k är att cykelräknaren 216 inställes på tre (binärt 11). Inställningen av cykelräknaren 216 på tre och påföljande nedräkning av densamma förorsakar en serie av fyra successiva pulser som inmatas på inklämman 218 till fördröjningslinjen 16k. För varje buffertskriv- cykel med läsdata från huvudminnet kommer fördröjningslinjen 16H att på varje segment (udda och jämnt) presentera den ursprungliga frågeenhetens obefintliga adress och inkrementera den med bitarna två och ett. Under den första buffertskrivcykeln då den första pulsen inträder på inklämman 218 går den på fördröjningslinjen för att alstra en utsignal på uttaget 220 och möjliggöra att en ny adress lagras i adressdelen av SASU 24 och 26; Den inmatade adressen är den som tidigare saknade frågeadressen som erhållits från buffertadressdelsregistret_66 via väljarna 16 och fråge- adressregistren 18. Adressdelsadressen inskrivs på det mest använda blockläget. Detta yngsta block har varit den senast använda adressen som har avlastats under de fyra cyklerna på fördröjnings- linjen 162, men på grund av läscyklernas natur blev adressdelens åldersbitar automatiskt uppdaterade till det nyaste åldersvärdet.
Under varje cykel kommer då en puls uppträder på uttaget 222 på fördröjningslinjen 16U en orderöppningssignal att genereras för att grinda läsdata från huvudminnet till rätt buffert- läge. Under var och en av de fyra cyklerna på fördröjningslinjen 16ü uppträder följaktligen en puls på uttaget 224, vilken användes för att upprätta återinskrivningsbiten. Detta nödvändiggörs av det faktum att adressdelsminnet automatiskt inställes adressdelens återinskrivningsbit närhelst det därtill hörande buffertläget skrivs eller modifieras. Sålunda måste styrkretsen upprätta âterínskrivnings- biten under varje buffertskrivfunktion, så att det icke senare kommer att uppträda något som inmatats i SIU-bufferten vilket skiljer sig från motsvarande block som ingår i huvudminnet.
När orden 7 och 8 av det önskade blocket från huvud- minnet inlästs i bufferten på den fjärde cykeln på fördröjnings- linjen 16U har talvärdet i cykelräknaren 216 reducerats till noll 10 15 20 25 30 23 och detta faktum avkännes av komparatorn 226 (talet = 0/. När talvärdet blir lika med noll alstras en signal från komparatorns 226 utgång för inställning av den sista passagevippan 228. Ut- signalen från den sista passagevippan matas till prioritetskretsen 1H och utnyttjas till att förmå prioritetskretsen att öppna för yttre frâgeenheter vid slutet av den sista cykeln på fördröjningsp linjen 16u. Detta slut avkännes av OCH-grinden 230. Närmare bestämt kombineras via OCH-grinden utsignalen från komparatorn 226 med en signal genererad vid uttaget 223 på fördröjningsledningen, så att enbart medelst den sista passagen genom fördröjningslinjen blir möjligt för OCH-grinden 230 att alstra en utsignal på ledaren 23H. Den sistnämnda signalen användes för att rensa eller nollställa varje vippa inom styrkretsen enligt fig. 6 som innehåller informa- tion om frånvarocykeln. Dvs. var och en av den sista passagevippan 228, belastningsvippan 202 och frånvarovippan 172 rensas vid slutet av den fjärde cykeln på fördröjningslinjen 16k.
Vid fulländandet av den sista passagecykeln återinför prioritetskretsen den ursprungliga frågeenheten och ger den I topprioritet. Resultatet blir att frågeenheten nu kan utläsa från SIU-bufferten nyss lagrad data som godtagbart svar på tidigare fråga.
Den ovan givna beskrivningen har enbart gällt en ut- färingsform i form av ett exempel och det inses av fackmannen att ett antal modifikationer kan åstadkommas utan att uppfinningstanken frångås.
Förutom vissa fetaljer i styrkretsen 15, som beskrivits fullständigt ovan, är återstående komponenter och kretsorgan åter- givna i fig. 1 som blockelement ansedda som konventionella och följaktligen behövs ej någon ytterligare förklaring av dessa med avseende på deras konstruktion och funktion.
Claims (2)
1. Mellanminnesenhet anordnad att fungera som ett snabb- buffertorgan mellan ett antal frågeenheter och ett relativt långsamt huvudminne (36) i en databearbetningsanläggning, var- vid mellanmínnesenheten omfattar ett snabbuffertminne (30, 3%) anordnat att erhålla data från huvudminnet och innefattande ett adressminne (28, 32) för att lagra adresserna för de data som för tillfället kvarhâlles i buffertminnet och står i tur att utmatas samt en återinskrivningsbit (WB) som utställes då inskrivning sker i buffertminnet för att indikera att dessa data måste återinföras i huvudminnet vid utmatning från buffert- minnet, k ä n n e t e c k n a d av att de data som överförs mellan huvudminnet (36) och buffertminnet (30, 34) är anordnade i block som vardera omfattar innehållet i ett flertal konseku- tiva minneslägen, varvid huvudminnets lagringslägen är uppde- lade i omgångar (Del 0 - Del 127) och buffertminnet är anord- nat att erhâlla ett förutbestämt antal block (A, B, C, D) med data från varje omgång av lagringslägena i huvudminnet, samt av att varje adressminne (28, 32) uppvisar ett enda adresser- bart läge för varje omgång (001, 002...i fig. 2) anordnat att för varje block inom den däri föreliggande omgången lagra dess första minnesadress, dess ålderstal och dess återinskrivnings- bit (WB).
2. Mellanminnesenhet enligt patentkravet 1, k ä n n e - t e c k n a d av att snabbuffertminnet och adressminnet är 'uppdelade i tvâ enheter (28, 30 resp 32, 34) med var sin egen adresseringskrets, varvid den ena enheten (32, 34) är anord- . nad att erhålla innehållet i lägen med jämna adresser i huvud- minnet (36) och den andra enheten (28, 30) är anordnad att er- hålla innehållet i lägen med udda adresser i huvudminnet (36), så att under tiden som ett läge i buffertminnet är öppet för utläsning eller inskrivning kan samtidigt en adressering genom- -föras för nästföljande adress i buffertminnets andra del. ANFÖRDA PUBLIKATIONER: US Re 26 624 (340-172.5)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US05/522,553 US3967247A (en) | 1974-11-11 | 1974-11-11 | Storage interface unit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| SE7512524L SE7512524L (sv) | 1976-05-12 |
| SE411404B true SE411404B (sv) | 1979-12-17 |
Family
ID=24081323
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| SE7512524A SE411404B (sv) | 1974-11-11 | 1975-11-07 | Mellanminnesenhet |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US3967247A (sv) |
| JP (1) | JPS6118222B2 (sv) |
| CH (1) | CH607139A5 (sv) |
| DE (2) | DE2560206C2 (sv) |
| FR (1) | FR2290710A1 (sv) |
| GB (1) | GB1532798A (sv) |
| IT (1) | IT1049044B (sv) |
| SE (1) | SE411404B (sv) |
Families Citing this family (81)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4073005A (en) * | 1974-01-21 | 1978-02-07 | Control Data Corporation | Multi-processor computer system |
| FR2348544A1 (fr) * | 1976-04-15 | 1977-11-10 | Honeywell Bull Soc Ind | Ensemble double de memoire associative |
| DE2703559A1 (de) * | 1977-01-28 | 1978-08-03 | Siemens Ag | Rechnersystem |
| US4126893A (en) * | 1977-02-17 | 1978-11-21 | Xerox Corporation | Interrupt request controller for data processing system |
| US4158235A (en) * | 1977-04-18 | 1979-06-12 | Burroughs Corporation | Multi port time-shared associative buffer storage pool |
| US4149262A (en) * | 1977-04-19 | 1979-04-10 | Semionics Associates | Associative memory device with variable recognition criteria |
| US4092713A (en) * | 1977-06-13 | 1978-05-30 | Sperry Rand Corporation | Post-write address word correction in cache memory system |
| US4141067A (en) * | 1977-06-13 | 1979-02-20 | General Automation | Multiprocessor system with cache memory |
| US4142234A (en) * | 1977-11-28 | 1979-02-27 | International Business Machines Corporation | Bias filter memory for filtering out unnecessary interrogations of cache directories in a multiprocessor system |
| JPS5489444A (en) * | 1977-12-27 | 1979-07-16 | Fujitsu Ltd | Associative memory processing system |
| US4168541A (en) * | 1978-09-25 | 1979-09-18 | Sperry Rand Corporation | Paired least recently used block replacement system |
| US4432050A (en) * | 1978-10-02 | 1984-02-14 | Honeywell Information Systems, Inc. | Data processing system write protection mechanism |
| US4258417A (en) * | 1978-10-23 | 1981-03-24 | International Business Machines Corporation | System for interfacing between main store memory and a central processor |
| US4323968A (en) * | 1978-10-26 | 1982-04-06 | International Business Machines Corporation | Multilevel storage system having unitary control of data transfers |
| CA1123964A (en) * | 1978-10-26 | 1982-05-18 | Anthony J. Capozzi | Integrated multilevel storage hierarchy for a data processing system |
| GB2037039B (en) * | 1978-12-11 | 1983-08-17 | Honeywell Inf Systems | Cache memory system |
| US4225922A (en) * | 1978-12-11 | 1980-09-30 | Honeywell Information Systems Inc. | Command queue apparatus included within a cache unit for facilitating command sequencing |
| US4276609A (en) * | 1979-01-04 | 1981-06-30 | Ncr Corporation | CCD memory retrieval system |
| US4298929A (en) * | 1979-01-26 | 1981-11-03 | International Business Machines Corporation | Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability |
| US4868734A (en) * | 1984-04-30 | 1989-09-19 | Unisys Corp. | Variable rate improvement of disc cache subsystem |
| US5241666A (en) * | 1979-06-04 | 1993-08-31 | Unisys Corporation | Variable rate improvement of disc cache subsystem |
| US4298932A (en) * | 1979-06-11 | 1981-11-03 | International Business Machines Corporation | Serial storage subsystem for a data processor |
| US4445191A (en) * | 1979-08-13 | 1984-04-24 | Burroughs Corporation | Data word handling enhancement in a page oriented named-data hierarchical memory system |
| DE2934771C3 (de) * | 1979-08-28 | 1982-03-25 | Siemens AG, 1000 Berlin und 8000 München | Speichervorrichtung. |
| US4317168A (en) * | 1979-11-23 | 1982-02-23 | International Business Machines Corporation | Cache organization enabling concurrent line castout and line fetch transfers with main storage |
| JPS5680872A (en) * | 1979-12-06 | 1981-07-02 | Fujitsu Ltd | Buffer memory control system |
| US4322795A (en) * | 1980-01-24 | 1982-03-30 | Honeywell Information Systems Inc. | Cache memory utilizing selective clearing and least recently used updating |
| US4345309A (en) * | 1980-01-28 | 1982-08-17 | Digital Equipment Corporation | Relating to cached multiprocessor system with pipeline timing |
| US4323967A (en) * | 1980-04-15 | 1982-04-06 | Honeywell Information Systems Inc. | Local bus interface for controlling information transfers between units in a central subsystem |
| US4371929A (en) * | 1980-05-05 | 1983-02-01 | Ibm Corporation | Multiprocessor system with high density memory set architecture including partitionable cache store interface to shared disk drive memory |
| US4382278A (en) * | 1980-06-05 | 1983-05-03 | Texas Instruments Incorporated | Hierarchial memory system with microcommand memory and pointer register mapping virtual CPU registers in workspace cache #4 and main memory cache |
| US4370710A (en) * | 1980-08-26 | 1983-01-25 | Control Data Corporation | Cache memory organization utilizing miss information holding registers to prevent lockup from cache misses |
| US4381541A (en) * | 1980-08-28 | 1983-04-26 | Sperry Corporation | Buffer memory referencing system for two data words |
| JPS57105879A (en) * | 1980-12-23 | 1982-07-01 | Hitachi Ltd | Control system for storage device |
| EP0055579B1 (en) * | 1980-12-31 | 1991-03-20 | Bull HN Information Systems Inc. | Cache memories with double word access |
| US4355306A (en) * | 1981-01-30 | 1982-10-19 | International Business Machines Corporation | Dynamic stack data compression and decompression system |
| US4414644A (en) * | 1981-04-03 | 1983-11-08 | International Business Machines Corporation | Method and apparatus for discarding data from a buffer after reading such data |
| US4821184A (en) * | 1981-05-22 | 1989-04-11 | Data General Corporation | Universal addressing system for a digital data processing system |
| CA1187198A (en) * | 1981-06-15 | 1985-05-14 | Takashi Chiba | System for controlling access to channel buffers |
| US4439837A (en) * | 1981-06-16 | 1984-03-27 | Ncr Corporation | Non-volatile memory system for intelligent terminals |
| US4525777A (en) * | 1981-08-03 | 1985-06-25 | Honeywell Information Systems Inc. | Split-cycle cache system with SCU controlled cache clearing during cache store access period |
| JPS58147879A (ja) * | 1982-02-26 | 1983-09-02 | Toshiba Corp | キヤツシユメモリ制御方式 |
| US4811203A (en) * | 1982-03-03 | 1989-03-07 | Unisys Corporation | Hierarchial memory system with separate criteria for replacement and writeback without replacement |
| US4493026A (en) * | 1982-05-26 | 1985-01-08 | International Business Machines Corporation | Set associative sector cache |
| US4574346A (en) * | 1982-09-29 | 1986-03-04 | International Business Machines Corporation | Method and apparatus for peripheral data handling hierarchies |
| US4675812A (en) * | 1983-02-14 | 1987-06-23 | International Business Machines Corp. | Priority circuit for channel subsystem having components with diverse and changing requirement for system resources |
| US4607331A (en) * | 1983-05-13 | 1986-08-19 | Motorola, Inc. | Method and apparatus for implementing an algorithm associated with stored information |
| US4695951A (en) * | 1983-07-07 | 1987-09-22 | Honeywell Bull Inc. | Computer hierarchy control |
| US4858111A (en) * | 1983-07-29 | 1989-08-15 | Hewlett-Packard Company | Write-back cache system using concurrent address transfers to setup requested address in main memory before dirty miss signal from cache |
| US4625273A (en) * | 1983-08-30 | 1986-11-25 | Amdahl Corporation | Apparatus for fast data storage with deferred error reporting |
| US4710966A (en) * | 1984-01-04 | 1987-12-01 | Itek Corporation | Digital frame processor pipe line circuit |
| US4736293A (en) * | 1984-04-11 | 1988-04-05 | American Telephone And Telegraph Company, At&T Bell Laboratories | Interleaved set-associative memory |
| US4630195A (en) * | 1984-05-31 | 1986-12-16 | International Business Machines Corporation | Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage |
| USRE34052E (en) * | 1984-05-31 | 1992-09-01 | International Business Machines Corporation | Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage |
| DE3429571A1 (de) * | 1984-08-10 | 1986-02-20 | Siemens AG, 1000 Berlin und 8000 München | Schaltungsanordnung zur prioritaetsbezogenen einordnung und registrierung von speicherabschnitten bzw. speicherbaenken, unter anwendung des lru-algorithmus |
| DE3574421D1 (en) * | 1984-08-10 | 1989-12-28 | Siemens Ag | Circuit arrangement for classifying in order of priority and for recording individual memory sections or banks using the lru algorithm |
| JPH0670773B2 (ja) * | 1984-11-01 | 1994-09-07 | 富士通株式会社 | 先行制御方式 |
| US4714994A (en) * | 1985-04-30 | 1987-12-22 | International Business Machines Corp. | Instruction prefetch buffer control |
| CH672816A5 (sv) * | 1986-10-03 | 1989-12-29 | Pantex Stahl Ag | |
| US5034885A (en) * | 1988-03-15 | 1991-07-23 | Kabushiki Kaisha Toshiba | Cache memory device with fast data-write capacity |
| US5097409A (en) * | 1988-06-30 | 1992-03-17 | Wang Laboratories, Inc. | Multi-processor system with cache memories |
| US4939641A (en) * | 1988-06-30 | 1990-07-03 | Wang Laboratories, Inc. | Multi-processor system with cache memories |
| US5027270A (en) * | 1988-10-11 | 1991-06-25 | Mips Computer Systems, Inc. | Processor controlled interface with instruction streaming |
| US5025365A (en) * | 1988-11-14 | 1991-06-18 | Unisys Corporation | Hardware implemented cache coherency protocol with duplicated distributed directories for high-performance multiprocessors |
| US5202972A (en) * | 1988-12-29 | 1993-04-13 | International Business Machines Corporation | Store buffer apparatus in a multiprocessor system |
| EP0419961A3 (en) * | 1989-09-26 | 1991-10-23 | Siemens Aktiengesellschaft | Method and circuit for replacement control, particularly for a system containing digital memory elements |
| US5297269A (en) * | 1990-04-26 | 1994-03-22 | Digital Equipment Company | Cache coherency protocol for multi processor computer system |
| US5263144A (en) * | 1990-06-29 | 1993-11-16 | Digital Equipment Corporation | Method and apparatus for sharing data between processors in a computer system |
| US5434990A (en) * | 1990-08-06 | 1995-07-18 | Ncr Corporation | Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch |
| US5218246A (en) * | 1990-09-14 | 1993-06-08 | Acer, Incorporated | MOS analog XOR amplifier |
| US5276852A (en) * | 1990-10-01 | 1994-01-04 | Digital Equipment Corporation | Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions |
| US5345582A (en) * | 1991-12-20 | 1994-09-06 | Unisys Corporation | Failure detection for instruction processor associative cache memories |
| US5404484A (en) * | 1992-09-16 | 1995-04-04 | Hewlett-Packard Company | Cache system for reducing memory latency times |
| US5673415A (en) * | 1993-12-03 | 1997-09-30 | Unisys Corporation | High speed two-port interface unit where read commands suspend partially executed write commands |
| JP3266470B2 (ja) * | 1994-10-03 | 2002-03-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム |
| JPH10509819A (ja) | 1994-10-14 | 1998-09-22 | シリコン グラフィックス インク. | インターリーブされるキャッシュメモリアレイのインデッキシングとマルチプレキシング |
| US5838631A (en) | 1996-04-19 | 1998-11-17 | Integrated Device Technology, Inc. | Fully synchronous pipelined ram |
| US6115320A (en) | 1998-02-23 | 2000-09-05 | Integrated Device Technology, Inc. | Separate byte control on fully synchronous pipelined SRAM |
| WO2000018041A2 (en) * | 1998-09-18 | 2000-03-30 | Harris Corporation | Distributed trunking mechanism for vhf networking |
| US7069406B2 (en) * | 1999-07-02 | 2006-06-27 | Integrated Device Technology, Inc. | Double data rate synchronous SRAM with 100% bus utilization |
| US9274964B2 (en) | 2012-02-02 | 2016-03-01 | Qualcomm Incorporated | Multi-bank cache memory |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| BE622921A (sv) | 1961-10-06 | |||
| BE629069A (sv) * | 1962-03-05 | |||
| US3275991A (en) * | 1962-12-03 | 1966-09-27 | Bunker Ramo | Memory system |
| US3569938A (en) * | 1967-12-20 | 1971-03-09 | Ibm | Storage manager |
| US3581291A (en) * | 1968-10-31 | 1971-05-25 | Hitachi Ltd | Memory control system in multiprocessing system |
| US3588839A (en) * | 1969-01-15 | 1971-06-28 | Ibm | Hierarchical memory updating system |
| US3670309A (en) * | 1969-12-23 | 1972-06-13 | Ibm | Storage control system |
| US3647348A (en) * | 1970-01-19 | 1972-03-07 | Fairchild Camera Instr Co | Hardware-oriented paging control system |
| US3737871A (en) * | 1971-07-28 | 1973-06-05 | Hewlett Packard Co | Stack register renamer |
| GB1354827A (en) * | 1971-08-25 | 1974-06-05 | Ibm | Data processing systems |
| US3735360A (en) * | 1971-08-25 | 1973-05-22 | Ibm | High speed buffer operation in a multi-processing system |
| US3848234A (en) * | 1973-04-04 | 1974-11-12 | Sperry Rand Corp | Multi-processor system with multiple cache memories |
-
1974
- 1974-11-11 US US05/522,553 patent/US3967247A/en not_active Expired - Lifetime
-
1975
- 1975-11-06 FR FR7533944A patent/FR2290710A1/fr active Granted
- 1975-11-07 IT IT29118/75A patent/IT1049044B/it active
- 1975-11-07 SE SE7512524A patent/SE411404B/sv not_active IP Right Cessation
- 1975-11-08 DE DE2560206A patent/DE2560206C2/de not_active Expired
- 1975-11-08 DE DE2550339A patent/DE2550339C2/de not_active Expired
- 1975-11-10 GB GB46376/75A patent/GB1532798A/en not_active Expired
- 1975-11-10 CH CH1448875A patent/CH607139A5/xx not_active IP Right Cessation
- 1975-11-11 JP JP50135592A patent/JPS6118222B2/ja not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| CH607139A5 (sv) | 1978-11-30 |
| DE2550339A1 (de) | 1976-06-16 |
| SE7512524L (sv) | 1976-05-12 |
| JPS5176936A (sv) | 1976-07-03 |
| FR2290710B1 (sv) | 1980-04-18 |
| DE2560206C2 (de) | 1983-01-20 |
| GB1532798A (en) | 1978-11-22 |
| FR2290710A1 (fr) | 1976-06-04 |
| JPS6118222B2 (sv) | 1986-05-12 |
| IT1049044B (it) | 1981-01-20 |
| US3967247A (en) | 1976-06-29 |
| DE2550339C2 (de) | 1982-10-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| SE411404B (sv) | Mellanminnesenhet | |
| KR880000299B1 (ko) | 캐쉬장치 | |
| US4707784A (en) | Prioritized secondary use of a cache with simultaneous access | |
| US3979726A (en) | Apparatus for selectively clearing a cache store in a processor having segmentation and paging | |
| US3699533A (en) | Memory system including buffer memories | |
| US4197580A (en) | Data processing system including a cache memory | |
| US4151593A (en) | Memory module with means for controlling internal timing | |
| US4835733A (en) | Programmable access memory | |
| EP0170284B1 (en) | Microcomputer | |
| JPS6114535B2 (sv) | ||
| US3956737A (en) | Memory system with parallel access to multi-word blocks | |
| GB888732A (sv) | ||
| US4755936A (en) | Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles | |
| US5119484A (en) | Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction | |
| US3768080A (en) | Device for address translation | |
| US4827400A (en) | Segment descriptor present bit recycle and detect logic for a memory management unit | |
| JPH0529945B2 (sv) | ||
| US4338662A (en) | Microinstruction processing unit responsive to interruption priority order | |
| NO834728L (no) | Lagerprogrammerbar styring | |
| US5295253A (en) | Cache memory utilizing a two-phase synchronization signal for controlling saturation conditions of the cache | |
| US4956770A (en) | Method and device to execute two instruction sequences in an order determined in advance | |
| US3427592A (en) | Data processing system | |
| US3631401A (en) | Direct function data processor | |
| WO1988002514A1 (en) | Method and device to execute two instruction sequences in an order determined in advance | |
| US4212058A (en) | Computer store mechanism |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| NUG | Patent has lapsed |
Ref document number: 7512524-5 Effective date: 19910611 Format of ref document f/p: F |