[go: up one dir, main page]

NO175837B - Dobbeltbuss mikrodatamaskinsystem med et midlertidig hurtiglager og en midlertidig hurtiglagerstyrer - Google Patents

Dobbeltbuss mikrodatamaskinsystem med et midlertidig hurtiglager og en midlertidig hurtiglagerstyrer Download PDF

Info

Publication number
NO175837B
NO175837B NO891583A NO891583A NO175837B NO 175837 B NO175837 B NO 175837B NO 891583 A NO891583 A NO 891583A NO 891583 A NO891583 A NO 891583A NO 175837 B NO175837 B NO 175837B
Authority
NO
Norway
Prior art keywords
storage
cache
fast
bus
controller
Prior art date
Application number
NO891583A
Other languages
English (en)
Other versions
NO175837C (no
NO891583D0 (no
NO891583L (no
Inventor
Ralph Murray Begun
Patrick Maurice Bland
Mark Edward Dean
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 NO891583D0 publication Critical patent/NO891583D0/no
Publication of NO891583L publication Critical patent/NO891583L/no
Publication of NO175837B publication Critical patent/NO175837B/no
Publication of NO175837C publication Critical patent/NO175837C/no

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)
  • Hardware Redundancy (AREA)
  • Communication Control (AREA)
  • Microcomputers (AREA)
  • Saccharide Compounds (AREA)
  • Multi Processors (AREA)

Description

Foreliggende oppfinnelse angår et flerbuss mikrodatamaskinsystem med et midlertidig hurtiglagerdelsystem og nærmere bestemte en forbedring for å øke toleransen for langsomme lagerkomponenter for en hurtiglagerlesetap uten sammenpress-ing av ventetilstandsparametere.
Bakgrunnsinformasjon med hensyn til 80386-prosessen og dens statistikk og bruk ved mikrodatamaskinsystemer innbefattende midlertidig hurtiglagerdelesystemer er beskrevet i "Introduction to the 80386", april 1986 og "80386 Hardware Referance Manual" (1986). De karakteristiske operasjonsytel-sene til 82385-hurtiglagerstyreren er beskrevet i publikasjon "82385 High Performance 32-Bit Cache Controller" (1987). Alle disse publikasjonene er utgitt av Intel Corporation.
Ved mikrodatamaskinisystemer, som ved andre datamaskinsy-stemer, er hastighetsoperasjonene et viktig kriterium som i fleste tilfeller må bli bragt i forhold med de øvrige systemkostnadene. Mange trekk som først ble innført for å øke operasjonshastigheten ved hovedrammedatamaskiner og minidatamaskiner finner nå bruk i mikrodatamaskinsystemer. Dette innbefatter midlertid hurtiglagerdelsystemer. I det påfølgende blir forøvrig midlertidig hurtiglagersystemer benevnt som hurtiglager. Bruk av hurtiglagerdelsystemer resulterer i en flerbussdatamaskinarkitektur. Ved en mikroprosessor med et hurtiglagerdelsystem, en første buss, for enkelthets skyld henvist til som en CPU lokalbuss, forbinder nærmere bestemt mikroprosessoren (f.eks. en 80386-prosessor), et hurtiglagerstyrer (som kan være en 82385-hurtiglagerstyrer) og et direktelager som tjener som hurtiglager. CPU-lokalbussen kan være innbyrdes forbundet via en buffer med et andre bussystem for enkelthetens skyld uttrykt som en systembuss. Andre komponenter kan være forbundet ved systembussen (enten direkte eller indirekte) slik som hovedlager, inngang-utgangsutstyr, leselager etc.
En primaergrunn for å bruke et hurtiglagerdelsystem er å øke hastigheten til lageroperasjonene ved å klargjøre prosessoren til å lese fra hurtiglagerdelsystemet i den grad nødvendig eller ønsket informasjon er lagret i dette. Hurtiglagerdelsystemet har vanligvis en hastighetsfordel i forhold til hovedlageret. I den grad lageraksess kan bli begrenset til hurtiglagerdelsystemet krever prosessorene ikke aksess til systembussen. Dette frigjør systembussen for bruk ved andre operasjoner, f.eks. inngang-utgangsoperasjoner, DMA, etc. Dette er en annen fordel ved mikrodatamaskinsystemet med hurtiglagerdelsystemer.
For å opprettholde ordremessig sekvensering av forskjellige operasjoner som skal bli utført, blir operasjonene delt i tidsenheter henvist til som klokketilstander. Ved et mikrodatamaskinsystem som anvender f.eks. 80386-prosessoren og 82385-hurtiglagerstyreren krever de hurtigste lageroperasjonene to klokkeperloder, hver på to klokketilstander. Andre operasjoner som krever mer enn to klokkeperloder er henvist til som å ha det antall ventetilstander som er lik forskjellen mellom antall klokkeperloder nødvendig for operasjonen og to klokkeperiodeminimumet (som også henvises til som en nullventetilstand).
Siden operasjonshastigheten er et viktig kriterie er det fordelaktig å sikre, i den grad det er mulig, at operasjonen kan passes inn i nullventetilstandsoperasjonene, da motsatt en eller to ventetilstandsoperasjoner, etc.
Hurtiglageraksess er en operasjonstype som er en nullvente-tilstandsoperasjon.
Mens det er ønskelig å ha så mange lageraksesser som mulig håndtert av hurtiglagerdelsystemet er det naturligvis nødvendig ved de tidspunktene å aksessere hovedlageret. Et prinsipp anvendt ved operasjon av hurtiglagerdelsystemet er at i tilfelle av en lesefeil, dvs. en leseoperasjon ved hvilke ønsket informasjon ikke er funnet i hurtiglagerdelsystemet blir informasjonen lest fra hovedlageret og umiddelbart skrevet til hurtiglagerdelsystemet. Ved å bruke dette prinsippet blir lest informasjon deretter tilgjengelig i hurtiglagerdelsystemet (med mindre ikke overskrevet) slik at påfølgende aksesser til samme informasjon ikke må aksessere på hovedlageret. I tilfelle av en lesefeil, er det nødvendig med to operasjoner (1) aksess av hovedlageret for å lese ønsket informasjon for å gjøre det tilgjengelig for prosessoren, og (2) skriving av hurtiglagerdelsystemet med informasjon nettopp lest fra hovedlageret.
Det er karakteristisk for 82385-hurtiglagerstyreren, at i tilfelle av en lesefeiltilstand er informasjonen som skal bli aksessert fra hovedlageret nødvendigvis omskrevet til hurtiglagerdelsystemet før tidspunktet som informasjonen må være tilgjengelig for prosessoren. Chip-fremstilleren ser denne tilstanden og antyder en av to alternativer, dvs. enten valg av tilstrekkelig hurtig hovedlager slik at data kan bli aksessert og gjort tilgjengelig for 82385-hurtiglagerstyreren innenfor den nødvendige tiden for en fast ventetilstandsope-rasjon eller øke lengden på perioden fra hva som normalt vil være nødvendig ved å addere ytterligere ventetilstand hhv. tilstander etter behov. Mens begge alternativene er praktiske, medfører første alternativet økning i systemkostnadene siden hurtigere lågere som er nødvendig for å tilfredsstille tidsspesifikasjonen til 82385-hurtiglagerstyreren nødvendigvis blir dyrere og det andre alternativet medfører forsinkelse i en hver lesefeiloperasjon ved å innføre en eller flere ventetilstander.
Det er formål ved foreliggende oppfinnelse å eliminere nødvendigheten for å velge slik for å forbedre systemtoleran-sene og å senke ned lagerkomponentenes hastighet uten å påvirke ventetilstandsparameterene med hensyn til lesefeil-operasjoner.
Ifølge foreliggende oppfinnelse er det tilveiebrakt et databehandlingssystem hvis karakteristiske trekk fremgår av krav 1. Ytterligere trekk ved oppfinnelsen fremgår av de øvrige uselvstendige kravene.
I det påfølgende skal oppfinnelsen bli beskrevet ved hjelp av eksempler med henvisning til medfølgende tegninger, hvor: Fig. 1 viser et totalt riss av et typisk mikrodatamaskinsystem som kan anvende foreliggende oppfinnelse; Fig. 2 viser et detaljert blokkdiagram av hovedkomponentene til et typisk mikrodatamaskinsystem som anvender foreliggende oppfinnelse; Fig. 3 viser et detaljert blokkdiagram av en hurtiglagerstyrer, et direktelager, en logisk krets og buffere som utgjør foreliggende oppfinnelse; Fig. 4 er et tidsdiagram som viser forskjellige tidskrav på hurtiglagerstyreren og mikroprosessoren; Fig. 5A-5C viser operasjoner av oppfinnelsen for lesefeilhur-tiglagerskrivinger såvel som hurtiglagerskrivinger ikke bevirket av en lesefeil. Fig. 1 viser et typisk mikrodatamaskinsystem ved hvilke foreliggende oppfinnelse kan bli anvendt. Som vist, innbefatter mikrodatamaskinsystemet 10 et antall komponenter som er forbundet sammen. Nærmere bestemt, er en systemenhet 30 koblet med og drive en monitor 20 (slik som en kon-vensjonell videofremvisningsanordning). Systemenheten 30 er også koblet med inngangsanordningene slik som et tastatur 40 og en mus 50. En utgangsanordning slik som en skriver 60, som er forbundet med systemenheten 30. Systemenheten 30 kan innbefatte en eller flere diskdrivere, slik som diskdrev 70. Som det vil bli beskrevet nedenfor, reagerer systemenheten 30 på lnngangsanordnlngen slik som tastaturet 40 og musen 50 og inngangs/utgangsanordningen slik som diskdrev 40, for å tilveiebringe signaler for å drive utgangsanordninger, slik som monitoren 20 og skriveren 60. Fagmannen på området vil naturligvis vite at andre konvensjonelle komponenter også kan
bli forbundet med systemenheten 30 for samvirke med denne. I samsvar med foreliggende oppfinnelse innbefatter mikrodata-maskin 10 (som vil bli nærmere beskrevet nedenfor) et hurtiglagerdelsystem slik at det er en CPU-lokalbussforbin-delse med en prosessor, en hurtiglagerstyrer og et hurtiglager, hvilken CPU-lokalbuss er koblet via en buffer med en systembuss. Systembussen er forbundet med og samvirker med I/O-anordningene slik som tastaturet 40, musen 50, diskdrevet 70, monitoren 20 og skriveren 60. I samsvar med foreliggende oppfinnelse kan systemenheten 30 dessuten også innbefatte en tredje buss innbefattende en mikrokanal (TM) buss for innbyrdes forbindelse mellom systembussen og andre (valgte) inngang/utgangsanordninger, lågere, etc.
Fig. 2 viser et høynlvåblokkdlagram over forskjellige komponenter til et typisk mikrodatamaskinsystem. En CPU-lokalbuss 230 (medfølgende data, adresser og styrekomponenter) sørger for forbindelse av en mikroprosessor 225 (slik som en 80386-prosessor), en hurtiglagerstyrer 260 (som kan innbefatte en 82385-hurtiglagerstyrer) og et direktehur-tiglager 255. Også koblet på CPU-lokalbussen 230 er en buffer 240. Bufferen 240 er i seg selv forbundet med systembussen 250, som også innbefatter adresser, data og styrekomponenter. Systembussen 250 strekker seg mellom bufferen 240 og en ytterligere buffer 253.
Systembussen 250 er også forbundet med en busstyrer og et tidselement 265 og en DMA-styrer 325. En arbitrær styrebuss 340 kobler busstyreren og tidselementet 265 og et sentralt arbitrært element 335. Lager 350 er også forbundet med systembussen 250. Lageret 350 innbefatter et lagerstyreele-ment 351, en adressemultlplekser 352 og en databuffer 353. Disse elementene er forbundet innbyrdes sammen med lagerele-mentene 360 til 364, som vist på fig. 2.
En ytterligere buffer 254 er koblet mellom systembussen 250 og en planbuss 270. Planbussen 270 innbefatter adressedata og styrekomponenter hhv. Koblet langs planbussen 270 er flere I/O-adaptere og andre komponenter slik som fremvis-ningsadaptoren 275 (som er anvendt for å drive monitoren 20), en klokke 280, ytterligere direktelager 285, en RS 232 adaptor 290 (anvendt for seriel I/O-operasJoner), en skriveradaptor 295 (som kan bli anvendt for å drive skriveren 60), en takter 300, en diskettadaptor 305 (som samvirker med diskdrevet 70), en avbruddsstyrer 310 og et leselager 315. Bufferen 253 gir et grensesnitt mellom systembussen 250 og en valgbuss slik som mlkrokanal (TM) bussen 320 representert av mlkrokanal (TM) sokler. Anordninger slik som lageret 331 kan bli koblet til bussen 320.
Mens data for hurtiglagerskrivinger kan bli utledet fra lageret 350, kan slik data også bli utledet fra andre lågere, slik som lagret installert på mikrokanalen (TM) bussen.
I det konvensjonelt 80386/82385-mikrodatamaskinsystemet, har brukeren valg mellom to ikke attraktive alternativer i forbindelse med lageroperasjoner og spesielt operasjoner som følge av en lesefeil.
I et slikt system, anbringer mikroprosessoren 225 i løpet av en lesesystemperiode, adresse på adressekomponenten til CPU-lokalbussen 230. Hurtiglagerstyreren 260 reagerer på adressen og bestemmer om ønsket Informasjon er inneholdt i hurtiglageret 255. I tilfelle av at informasjonen er funnet i hurtiglageret 255, blir hurtiglageret 255 adressert, det anbringer data på datakomponenten til CPU-lokalbussen og det er tilgjengelig for mikroprosessoren 225. I tilfelle av at den ønskede informasjon ikke er i hurtiglageret 255, så klargjør hurtiglagerstyreren 260 bufferen 240, slik at adressene kan bli ført fra CPU-lokalbussen 230 til systembussen 250. Når ønsket adresse når systembussen 250 er den tilgjengelig for lageret 350 og etter en tidsperiode bestemt av lagerets 350 karakteristikk, fremkommer adresser data på datakomponenten til systembussen 250. Dataene er koblet via bufferen 240 hvor den så er tilgjengelig både for hurtiglageret 255 og mikroprosessoren 225. Informasjonen vil bli anvendt i hurtiglageret 255 for å bli beskrevet deri, slik at i tilfelle av at samme informasjon er ønskelig er det ikke nødvendig med en ytterligere aksess til lageret 350. Lignende operasjoner kan forekomme med lageret på planbussen 270 eller på valgbussen. I tilfelle av valgbuss blir adresseinformasjonen koblet via bufferen 253 til lageret på valgbussen. Data fra slikt lager blir koblet tilbake gjennom bufferen 253, systembussen 250 til CPU-lokalbussen 230 via bufferen 240.
Som tidligere nevnt, krever de karakteristiske trekket til 82385 hurtiglagerstyreren at informasjon utledet som et resultat av lesefeil må være tilgjengelig ved CPU-lokalbussen for skriving i hurtiglageret 255 før den er krevet av prosessoren 225. Med andre ord, er tidskravene satt på lageret 350 eller andre lågere av 82385-hurtiglagerstyreren strengere enn tidskravene diktert av 80386-prosessoren. Fremstilleren av 82385-hurtiglagerstyreren antyder at brukeren kan enten: 1) velge lagerelementer (slik som elementene 361-364) i hovedlageret 350 eller andre lager for være hurtig nok for å møte tidskravene til 82385-hurtiglagerstyreren med en
spesifikk ventetilstand, eller
2) sikre at dobbeltoperasjonen initiert av en lesefeil opptar en ytterligere ventetilstand.
Som det vil bli beskrevet nedenfor eliminerer foreliggende oppfinnelse disse kravene til å velge en eller to uønskede alternativene ved en virkning som eliminerer de strenge tidskravene initiert av hurtiglagerstyreren 260 slik at tidskravene satt på hovedlageret 250 eller andre lågere ikke er strengere enn de diktert av mikroprosessoren 225.
For å tilveiebringe dette, har hurtiglagerstyreren 260 tilkoblet flere logiske elementer utover 82385-chip'en som vist på fig. 3.
Fig. 3 viser, i blokkform, de detaljerte komponentene til hurtiglagerstyreren 260 og hurtiglageret 255. Hurtiglageret 255 er nærmere bestemt koblet med dataelementet til CPU-lokalbussen 230 og via sperren 255L med adressekomponenten til CPU-lokalbussen 230.
Hurtiglagerstyreren 260 innbefatter 82385-hurtiglagerstyreren såvel som et logisk element 261. Fig. 3 viser utgangssig-nalene til 82385-hurtiglagerstyreren som er medvirkende til hurtiglagerskriveoperasjonene. Dette innbefatter hur-tiglagersperreklargjøringen (CALEN), hurtiglagerskrive-klargjøringen innbefatter CWEA (for blank A) og CWEB (for blank B) og chip'en velger signalene CSO, CS1, CS2 og CS3.
Som vist på flg. 3 mottar logikken 261, som lnngangsslgnaler, CWEA og CEVB sammen med to klokkeslgnaler, CLK og CLK2 (det førstnevnte er nøyaktig halvparten av hastigheten til sistnevnte) og BUSRD (som indikerer en systembusslesing). BUSRD blir aktiv for operasjon som finner sted på systembussen 250. Et hvert lager (annet enn hurtiglageret) lesning finner sted (i det minste delvis) på systembussen 250. Logikken 261 reagerer på sine lnngangsslgnaler og under egnede forhold genereres DCWEA (forsinket hurtiglagerskrive-klargjøring A) eller DCWEB (forsinket hurtiglagerskrive-klargjøring B). I tilfelle CWEA er aktiv og BUSRD er aktiv (som således helt sikkert indikerer en lesefeil), så vil nærmere bestemt ved egnet tidspunkt bli generert DCWEA. På lignende måte, vil ved tilstedeværelse av en aktiv CWEB såvel som en aktiv BUSRD ved egnet tidspunkt genereres DCWEB.
Logikken 261 sender ut DCWEA og DCWEB hver for å tilveiebringe et inngangssignal til tilknyttet logikkporter 263A eller 263B. Hver av disse portene mottas også av korresponderende inngangssignal fra tilknyttede utgang til 82385-hurtiglagerstyrer, dvs. porten 263A har sin andre inngangssignal tilveiebragt av CWEA og likeledes 263B har sin andre inngangssignal tilveiebragt av CWEB.
I tillegg til de logiske portene 263A og 263B, innbefatter hurtiglagerstyreren 260 en buffer 262 som innbefatter et bufferelement 262a-262e, en for hver av signalene CALEN, CSO, CS1, CS2 og CS3. Som vist på fig. 3, er hvert av elementene til bufferen 262 en logisk port som er permanent partielt klargjort (med en inngang knyttet til egnet potensial). Den andre inngangen til bufferelementet kommer fra korresponderende utgang til 82385 hurtiglagerstyrer. Utgangen til bufferelementet 262a er inngangen som styreinngangen til sperren 255L. Utgangen til bufferelementene 262b-262e er direkteinngangene til hurtiglager 255 som CS0-CS3.
Før operasjonen av komponentene på fig. 3 er beskrevet, skal det henvises til fig. 4 for å vise egnede takting.
Flg. 4 viser tre tidsdiagrammer. Hver av diagrammene begynner ved det tidspunktet en systembussoperasjon forekommer, dvs. når BUSRD blir aktiv. Linjen merket 80386 viser ved et tidspunkt MT1 følgende begynnelse av lesefeil, data ut fra lagret er gyldig. Tidspunktet MT1 er tidstoleransen lagt på lageret av kravene til 80386-prosessoren.
På linjen på fig. 4 merket 82385, er tidskravene satt på 82385-hurtiglagerstyreren vist. Nærmere bestemt genererer 82385-hurtiglagerstyreren CWEA og CWEB slik at gyldig data må være tilgjengelig fra lageret ved tidspunktet MT2, dvs. ved et tidspunkt før gyldig data er krevet av 80386-prosessoren. Fig. 4 viser således de strengere tidskravene (MT2) på 82385-hurtiglagerstyreren sammenlignet med de mere svakere tidskravene (MT1) til 80386-prosessoren. Fig. 4 viser også effekten av logikken 261. DCWEA og/eller DCWEB utgangene til logikken 261 sporer de mer svakere tidskravene til 80386-prosessoren. DCWEA og/eller DWCEB er nærmere bestemt forsinket med den forsinkelsen vist på fig. 4, da sammenlignet med CWEA og CWEB. Ved denne forsinkelsen, vil de svakere tidskravene til 80386-prosessoren således kun tidskravene satt på lageret 350 i tilfelle av en lesefeil. Dette gjør at billigere lagerkomponenter kan bli anvendt sammenlignet med komponentene som ville ha vært nødvendige for 82385-hurtiglagerstyreren for å fullføre en lesefeil innenfor et spesifikt antall ventetilstander.
De interne komponentene til logikken 261 utgjør følgende logiske linje:
/DCEWA: - /BUSRD & /CLK & /CWEA
/DCWEB: - /BUSRD & /CLK & /CWEB
hvor operatoren "&" er en logisk OG, operatoren "/" represen-terer negering og de andre signalelementene (bortsett fra BUSRD) har allerede blitt definert.
Fig. 5A-5C er nyttige for å forklare operasjonen av elementene vist på fig. 3. Fig. 5A viser et typisk CWE-signal. Signalet har to overganger, en første lavtgående overgang og en andre høytgående overgang. Hurtiglageret 225 er anordnet for å bevirke et skrivetilfelle på den høytgående overgangen til CWE, slik som vist på fig. 5A. Fig. 5B viser et typisk CWE, DCWE og utgangen til porten (enten 263A eller 263B) for en lesefeiltilstand. Som vist på en første linje, blir CWE-signalet generert av 82385-hurtiglagerstyreren. Ved en lesefeiltilstand genererer logikkelementet 261 det som DCWE forsinket fra CWE ved egnet forsinkelse. Den tredje linjen på fig. 5B (merket GATE) viser utgangen til egnet port (263A eller 263B). Nærmere bestemt har utgangen til porten 263 en lavtgående overgang frembragt som et resultat av lavtgående overgang CWE. Når CWE-signalet utsettes for en høytgående overgang, forblir portutgangen lav p.g.a. det lave inngangssignalet fra DCWE. Det er kun når DCWE blir høy, at utgangen til porten blir høy, slik at tiden for skriveforløpet er forårsaket av den høytgående overgangen til DCWE. Som det fremgår av den tredje linjen på fig. 5B blir skriveforløpet forsinket ved forsinkelsen innbragt av logikkelementet 261, da sammenlignet med den høytgående overgangen til CWE. Fig. 5C viser operasjonen iløpet av en hurtiglagerskriving annerledes enn den forårsaket ved en skrivefeil. Den første linjen på fig. 5C (merket CWE) viser CWE-signalet da generert av 82385-hurtiglagerskriveren. P.g.a. fig. 5C viser en hurtiglagerskriving ikke forårsaket av en lesefeil, viser DCWE ingen overgang i det hele tatt (BUSRD forblir inaktiv). Utgangen til porten (263A eller 263B) er følgelig synkron med CWE, slik at skriveforløpet ikke blir forsinket i det hele tatt.
Ved en utførelsesform av oppfinnelsen, er varigheten DELAY (forsinkelsen) i størrelsesorden av 25 nanosekunder.
De logiske ligningene som det har blitt henvist til ovenfor, er vist umiddelbart nedenfor. Ved dette materialet har symbolene følgende betydning:
Logiske ligninger
/BUSRD:-BUSRD & BUSCYC385 & /BADS & /(BW/R) & CLK (1) + BUSRD & /PIPECYCLE385 & /(BW/R) & CLK
+ /BUSRD & BREADY
+ /BUSRD & /MISSI + /BUSRD & /CLK
/BUSCYC385:-BUSCYC385 & /BADS & CLK (2)
+ BUSCYC385 & /PIPECYC385 & CLK
+ BUSCYC385 & /BT2 & CLK
+ /BUSCYC385 & BREADY + /BUSCYC385 & /CLK
/PIPECYC385:-PIPECYC385 & /BADS & /BUSCYC385 & CLK &
/BREADY (3)
+ PIPECYC385 & /MISSI & BT2 & /BUSCYC385 & CLK & /BREADY
+ /PIPECYC385 & /CLK
/MISSI:-MISSI & BUSCYC385 & CPUNA & /BADS & /(BW/R) & CLK &
NCA (4)
+ MISSI & /BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY + /MISSI & /CLK
+ /MISSI & BREADY
/CPUNA:-MISS1 & CLK & CPUNA & /NACACHE (5) + /MISSI & CLK & CPUNA & /BREADY & /BUSCYC385
+ /CPUNA & /CLK + /CPUNA & /MISSI & CLK
+ /CPUNA & CLK & BREADY
+ /CPUNA & BUSCYC385 & NACACHE & CLK
/BT1:-BUSCYC385 & PIPECYC385 & /BADS & CLK & BT2 (6) + BUSCYC385 & /PIPECYC385 & BADS & CLK & NACACHE & BT2
+ MISSI & /BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY + /MISSI & /BREADY & /BSCYC385 & CLK
+ /BT2 & BREADY & NACACHE
+ /CLK & /BT2
Med henvisning til foregående logiske ligninger blir følgende signaler beskrevet eller henvist til i de nevnte Intel-publikasjonene:
BADS
BREADY
(BW/R) henvist til som BW/R, idet parantes er anvendt for å
indikere at hele uttrykket er et signal
CLK
BADS, når aktiv indikerer en gyldig adresse på systembussen 250. BREADY er et klarsignal for systembussen 250 til CPU-lokalbussen 230. BW/R definerer en systembuss 250 skriving eller lesing. CLK er et prosessorklokkesignal som er i fase med prosessoren 225.
Ligningene (l)-(6) definerer:
BT2
BUSCYC385
BUSRD
CPUNA
MISSI
PIPECYC385
1 uttrykk av definerte signaler, er signalene beskrevet eller henvist til i nevnte Intel-publikasjoner og NCA og NACACHE. BT2 viser tilstanden til systembussen 250. Tilstanden BT2 er en tilstand definert i de nevnte Intel-publikas Jonene.
BUSCY385 viser også tilstanden til systembussen 250. Er den høy for busstilstanden BT1, BT1, BT1P og lav for busstilstandene BT2, BT2P og BT2I (igjen er disse busstilstandene henvist til 1 nevnte Intel-publikasjoner).
/BUSRD er aktiv i løpet av lesingen som forekommer på systembussen 250.
CPUNA er signal til 80386-prosessoren som tillater paralell-ført operasjon.
MISSI er aktiv som definerer den første perioden ved en dobbeltperiode for håndtering av 64 bit-lesninger til hurtiglageranordningene.
PIPECYC385 er aktiv i løpet av BT1P (som er en busstllstand henvist til i nevnte Intel-publikasjoner).
NCA er et signal dannet ved dekoding av adressekomponenten på CPU-lokalbussen 230 for å vise, når aktiv, en ikke-hur-tiglagerbar aksess. Hurtiglagerbarheten er bestemt av en merket komponent (A31 til A17) og programmerbar informasjon som definerer hvilke merker (om noen) henviser til hurtiglagerbare motsatt av ikke-hurtiglagerbare adresser.
NACACHE er et signal lignende BNA-signalet. BNA er et system generert signal som anmoder om en neste adresse fra CPU-lokalbussen 230 og er henvist til i nevnte Intel-publikasjoner. NACACHE adskilles fra BNA kun med hensyn til det faktum at BNA er dannet for 32K hurtiglager, mens NACACHE er dannet for et 64K hurtiglager. Så lenge som hurtiglageret er 32K, som nevnt 1 Intel-publikasjonene, kunne NACACHE-signålet henvist til her, bli erstattet av BNA-signalet. Ved en utførelsesform var det logiske elementet 261 i form av en programmerbar logisk rekke. Det er klart at andre og ytterligere logiske anordninger kan bli anvendt for å utføre de identiske funksjonene.

Claims (7)

  1. Databehandlingssystem, innbefattende en mikroprosessor (225), et hurtiglager (255), et hurtiglager-til-hovedlager-grensesnitt (240) og en hurtiglagerstyrer (260) tilpasset til å generere separate styresignaler for ønskede aktiviteter med hensyn til hurtiglageret (255), innbefattende hurtiglager-skriveklargjøringssignaler, og med hensyn til hurtiglager-grensesnittet (240) for å tilveiebringe dataaksess som ønsket av prosessoren (225), karakterisert ved at logiske forsinkelsekretser (261, 262, 263) er anbrakt mellom hurtiglagerstyreren (260) og hurtiglageret (255) for å motta styresignaler som angår både hurtiglageret (255) og hurtig-lagergrensesnittet (240), innbefattende hurtiglager-skrive-klargjøringssignaler for å forsinke denne ved tilstedeværel-sen av mottatt kombinasjoner av styresignaler som indikerer en hurtiglagerlesefeil.
  2. 2. System ifølge krav 1, karakterisert ved at hurtiglageret (255) er et multi-chip-lager og at de logiske kretsene (261, 262, 263) også forbinder chip-velgesignaler (C50, C51, C52, C53) fra hurtiglagerstyreren (260) til hurtiglageret (255) og dessuten innbefatter en buffer-innretning (262) for å forsinke overføringen av chip-valgsignalene, idet bufferinnretningen (262) har en inngang for hver av chip-valgsignalene en utgang for hver av chip-velgesignalene, idet utgangen til bufferinnretningen (262) er koblet med chip-valgterminalene til hurtiglageret (255).
  3. 3. System ifølge krav 2, karakterisert ved at bufferinnretningen (262) videre innbefatter en inngang (262a) for et hurtiglagersperresignal (CALEN) fra hurtiglagerstyreren (260) og en utgang koblet med en adressesperre (255L) til hurtiglageret (255).
  4. 4. System ifølge et hvilket som helst av forutgående krav,karakterisert ved at prosessoren (225), hurtiglageret (255), hurtiglagerstyreren (260), og grensesnittet er sammenkoblet ved hjelp av en lokalbuss (230) og grensesnittet forbindes med en systembuss (250) til hvilken hovedlageret (350) er forbundet, idet hurtiglagerstyreren (260) innbefatter en første innretning som reagerer på en detektert feil-lesingstilstand for å føre adresseinformasjon fra lokalbussen (230) til systembussen (250) for å adressere hovedlageret (350) og en andre Innretning som reagerer på data på systembussen (250) utledet fra hovedlageret (350) for å koble data til lokalbussen (230) under styring av et busslesestyresignal slik at skriving i hurtiglageret kan finne sted når klargjort av et forsinket hurtiglager-skrlveklargjørlngssignal.
  5. 5. System ifølge krav 4, karakterisert ved at systembussen (250) er koblet til en valgbuss (320) til hvilken en lageranordning (331) er koblet på en slik måte at lageranordningen (331) kan bli adressert og data således aksessert returnert til lokalbussen (230) via systembussen (250).
  6. 6. System ifølge krav 4 eller 5, karakterisert ved at styresignalkombinasjonen på hvilken logikkretsen (261, 262, 263) reagerer for å generere det forsinkede hurtlglager-skrlveklargjøringssignalet er sammenfallende med et hurtiglager-skriveklargjøringssignal og et busslesesignal.
  7. 7. System ifølge et hvilket som helst av de foregående krav,karakterisert ved at hurtiglageret (255) innbefatter en første og en andre lagerbank og tilsvarende første og andre skriveklargjøringsinnganger (VEA, WEB), idet hurtiglagerstyreanordningen (260) har en første hurtig-lagerskriveklargjøringsutgang korresponderende med den første lagerbanken og en andre hurtiglagerskriveklargjøringsutgang korresponderende med den andre lagerbanken og hvor den logiske forsinkelseskretsen reagerer separat på et første eller andre hurtiglager-skriveklargjøringsutgangssignal til hurtiglagerstyreren for å frembringe et første eller et andre forsinket hurtiglager-skriveklargjøringssignal ved korresponderende første eller andre skrlveklargjøringsinngang (WEA, WEB). 8.
    System ifølge krav 7, karakterisert ved at den logiske kretsen innbefatter en port (263a) som forbinder den første skriveklargjørlngsinngangen (WEA) og som reagerer på et første hurtiglager-skriveklargjøringsutgangssignal (CWEA) fra hurtiglagerstyreren (260) og på et sammenfallende forsinket hurtiglager-skriveklargjøringssignal (DCWEA) for å klargjøre den første banken og en korresponderende andre port (263b) som reagerer på et andre hurtiglagerskrive-klargjøringsutgangssignal (CWEB) fra styreren (260) og på et sammenfallende forsinket hurtiglager-skriveklargjøringssignal (DCWEB) for å klargjøre den andre banken via den andre klargjøringsinngangen (WEB).
NO891583A 1988-05-26 1989-04-18 Dobbeltbuss mikrodatamaskinsystem med et midlertidig hurtiglager og en midlertidig hurtiglagerstyrer NO175837C (no)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/198,890 US5175826A (en) 1988-05-26 1988-05-26 Delayed cache write enable circuit for a dual bus microcomputer system with an 80386 and 82385

Publications (4)

Publication Number Publication Date
NO891583D0 NO891583D0 (no) 1989-04-18
NO891583L NO891583L (no) 1989-11-27
NO175837B true NO175837B (no) 1994-09-05
NO175837C NO175837C (no) 1994-12-14

Family

ID=22735299

Family Applications (1)

Application Number Title Priority Date Filing Date
NO891583A NO175837C (no) 1988-05-26 1989-04-18 Dobbeltbuss mikrodatamaskinsystem med et midlertidig hurtiglager og en midlertidig hurtiglagerstyrer

Country Status (25)

Country Link
US (1) US5175826A (no)
EP (1) EP0343989B1 (no)
JP (1) JP2755330B2 (no)
KR (1) KR930001584B1 (no)
CN (1) CN1019151B (no)
AT (1) ATE128566T1 (no)
AU (1) AU615542B2 (no)
BE (1) BE1002653A4 (no)
BR (1) BR8902383A (no)
CA (1) CA1314103C (no)
CO (1) CO4520299A1 (no)
DE (2) DE3911721A1 (no)
DK (1) DK170677B1 (no)
ES (1) ES2078237T3 (no)
FI (1) FI96244C (no)
FR (1) FR2632092A1 (no)
GB (2) GB8904920D0 (no)
HK (1) HK11592A (no)
IT (1) IT1230208B (no)
MX (1) MX170835B (no)
MY (1) MY106968A (no)
NL (1) NL8901327A (no)
NO (1) NO175837C (no)
SE (1) SE8901308L (no)
SG (1) SG110991G (no)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586302A (en) * 1991-06-06 1996-12-17 International Business Machines Corporation Personal computer system having storage controller with memory write control
US5361368A (en) * 1991-09-05 1994-11-01 International Business Machines Corporation Cross interrogate synchronization mechanism including logic means and delay register
US5802548A (en) * 1991-10-25 1998-09-01 Chips And Technologies, Inc. Software programmable edge delay for SRAM write enable signals on dual purpose cache controllers
US5333276A (en) * 1991-12-27 1994-07-26 Intel Corporation Method and apparatus for priority selection of commands
US5309568A (en) * 1992-03-16 1994-05-03 Opti, Inc. Local bus design
US5426739A (en) * 1992-03-16 1995-06-20 Opti, Inc. Local bus - I/O Bus Computer Architecture
US5471585A (en) * 1992-09-17 1995-11-28 International Business Machines Corp. Personal computer system with input/output controller having serial/parallel ports and a feedback line indicating readiness of the ports
US6487626B2 (en) 1992-09-29 2002-11-26 Intel Corporaiton Method and apparatus of bus interface for a processor
US5898894A (en) 1992-09-29 1999-04-27 Intel Corporation CPU reads data from slow bus if I/O devices connected to fast bus do not acknowledge to a read request after a predetermined time interval
US5613153A (en) * 1994-10-03 1997-03-18 International Business Machines Corporation Coherency and synchronization mechanisms for I/O channel controllers in a data processing system
US5890216A (en) * 1995-04-21 1999-03-30 International Business Machines Corporation Apparatus and method for decreasing the access time to non-cacheable address space in a computer system
US6397295B1 (en) 1999-01-04 2002-05-28 Emc Corporation Cache mechanism for shared resources in a multibus data processing system
US6874039B2 (en) 2000-09-08 2005-03-29 Intel Corporation Method and apparatus for distributed direct memory access for systems on chip
JP2005221731A (ja) * 2004-02-05 2005-08-18 Konica Minolta Photo Imaging Inc 撮像装置
US8996833B2 (en) * 2013-03-11 2015-03-31 Intel Corporation Multi latency configurable cache

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4190885A (en) * 1977-12-22 1980-02-26 Honeywell Information Systems Inc. Out of store indicator for a cache store in test mode
US4171538A (en) * 1978-01-23 1979-10-16 Rockwell International Corporation Elastic store slip circuit apparatus for preventing read and write operations interference
US4189770A (en) * 1978-03-16 1980-02-19 International Business Machines Corporation Cache bypass control for operand fetches
JPS58169958A (ja) * 1982-03-31 1983-10-06 Fujitsu Ltd Misスタテイツク・ランダムアクセスメモリ
US4494190A (en) * 1982-05-12 1985-01-15 Honeywell Information Systems Inc. FIFO buffer to cache memory
US4513372A (en) * 1982-11-15 1985-04-23 Data General Corporation Universal memory
US4686621A (en) * 1983-06-30 1987-08-11 Honeywell Information Systems Inc. Test apparatus for testing a multilevel cache system with graceful degradation capability
JPH0795395B2 (ja) * 1984-02-13 1995-10-11 株式会社日立製作所 半導体集積回路
US4736293A (en) * 1984-04-11 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Interleaved set-associative memory
US4623990A (en) * 1984-10-31 1986-11-18 Advanced Micro Devices, Inc. Dual-port read/write RAM with single array
DE3688400T2 (de) * 1985-02-01 1993-08-26 Nippon Electric Co Cachespeicherschaltung geeignet zur verarbeitung einer leseanforderung waehrend der uebertragung eines datenblocks.
US4630239A (en) * 1985-07-01 1986-12-16 Motorola, Inc. Chip select speed-up circuit for a memory
JPS6261135A (ja) * 1985-09-11 1987-03-17 Nec Corp キヤツシユメモリ
JPS62194563A (ja) * 1986-02-21 1987-08-27 Hitachi Ltd バツフア記憶装置
US4710903A (en) * 1986-03-31 1987-12-01 Wang Laboratories, Inc. Pseudo-static memory subsystem
US4905188A (en) * 1988-02-22 1990-02-27 International Business Machines Corporation Functional cache memory chip architecture for improved cache access

Also Published As

Publication number Publication date
DK189689D0 (da) 1989-04-19
CO4520299A1 (es) 1997-10-15
NL8901327A (nl) 1989-12-18
DE3911721A1 (de) 1989-11-30
JP2755330B2 (ja) 1998-05-20
BR8902383A (pt) 1990-01-16
FI96244B (fi) 1996-02-15
DE68924368T2 (de) 1996-05-02
EP0343989B1 (en) 1995-09-27
NO175837C (no) 1994-12-14
IT1230208B (it) 1991-10-18
MY106968A (en) 1995-08-30
IT8920649A0 (it) 1989-05-25
FI96244C (fi) 1996-05-27
DK170677B1 (da) 1995-11-27
BE1002653A4 (fr) 1991-04-23
EP0343989A3 (en) 1991-03-13
NO891583D0 (no) 1989-04-18
EP0343989A2 (en) 1989-11-29
DE3911721C2 (no) 1990-05-31
US5175826A (en) 1992-12-29
CN1040104A (zh) 1990-02-28
AU3409689A (en) 1989-11-30
KR890017619A (ko) 1989-12-16
FR2632092A1 (fr) 1989-12-01
GB8912019D0 (en) 1989-07-12
MX170835B (es) 1993-09-20
CA1314103C (en) 1993-03-02
GB8904920D0 (en) 1989-04-12
JPH0271344A (ja) 1990-03-09
NO891583L (no) 1989-11-27
CN1019151B (zh) 1992-11-18
KR930001584B1 (ko) 1993-03-05
GB2219111B (en) 1991-05-29
SE8901308D0 (sv) 1989-04-11
GB2219111A (en) 1989-11-29
DK189689A (da) 1989-11-27
SE8901308L (sv) 1989-11-27
SG110991G (en) 1992-02-14
ATE128566T1 (de) 1995-10-15
FI891788A0 (fi) 1989-04-14
DE68924368D1 (de) 1995-11-02
ES2078237T3 (es) 1995-12-16
AU615542B2 (en) 1991-10-03
HK11592A (en) 1992-02-21
FI891788A7 (fi) 1989-11-27

Similar Documents

Publication Publication Date Title
US6622225B1 (en) System for minimizing memory bank conflicts in a computer system
US4439829A (en) Data processing machine with improved cache memory management
US6192458B1 (en) High performance cache directory addressing scheme for variable cache sizes utilizing associativity
EP0617365B1 (en) Fully pipelined and highly concurrent memory controller
US5796605A (en) Extended symmetrical multiprocessor address mapping
US5581727A (en) Hierarchical cache system flushing scheme based on monitoring and decoding processor bus cycles for flush/clear sequence control
NO175837B (no) Dobbeltbuss mikrodatamaskinsystem med et midlertidig hurtiglager og en midlertidig hurtiglagerstyrer
US5826093A (en) Dual function disk drive integrated circuit for master mode and slave mode operations
US5696937A (en) Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses
US5838692A (en) System and method for extracting realtime debug signals from an integrated circuit
US5666515A (en) Information processing system having multiple modules and a memory on a bus, where any module can lock an addressable portion of the memory by sending retry signals to other modules that try to read at the locked address
US4586133A (en) Multilevel controller for a cache memory interface in a multiprocessing system
US6157980A (en) Cache directory addressing scheme for variable cache sizes
US6282589B1 (en) System for sharing data buffers from a buffer pool
JPH0756815A (ja) キャッシュ動作方法及びキャッシュ
US20060059319A1 (en) Architecture with shared memory
US6546465B1 (en) Chaining directory reads and writes to reduce DRAM bandwidth in a directory based CC-NUMA protocol
US20010044872A1 (en) Method for controlling a cache memory in a computer system
US6161153A (en) Method for sharing data buffers from a buffer pool
US5185879A (en) Cache system and control method therefor
CA1175581A (en) Data processing machine with improved cache memory management
US4594658A (en) Hierarchy of control stores for overlapped data transmission
EP0987625A2 (en) Microprocessor with a plurality of functional units and cache levels
KR970010367B1 (ko) 멀티프로세서 시스템에서 주기억장치의 보드내 인터리빙 장치 및 방법
KR100259943B1 (ko) 고속 마이크로 프로세서와 백플레인 접속장치 및 방법