NO176294B - Apparat med mikroprosessor assistert lager-til-lager bevegelse - Google Patents
Apparat med mikroprosessor assistert lager-til-lager bevegelse Download PDFInfo
- Publication number
- NO176294B NO176294B NO861662A NO861662A NO176294B NO 176294 B NO176294 B NO 176294B NO 861662 A NO861662 A NO 861662A NO 861662 A NO861662 A NO 861662A NO 176294 B NO176294 B NO 176294B
- Authority
- NO
- Norway
- Prior art keywords
- data
- address
- storage
- read
- bits
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
- Hardware Redundancy (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Dram (AREA)
Description
Denne oppfinnelse vedrører informasjonsbevegelse for et databehandlingssystem generelt mellom en lagerenhet i databehandlingssystemet og en ytre styreenhet og der prosessoren involveres i å hjelpe til med informasjons-bevegelsen. Nærmere bestemt vedrører oppfinnelsen en lageraksesstyrekrets i et databehandlingssystem som innbefatter : et lager som omfatter et flertall av adresserbare lagersteder for lagring av data i forskjellige lagermoduler,
ytre enheter koplet til en ytre styreenhet som omfatter et ytre register som etter avgivelsen av et datafordringssignal mottar data lest fra nevnte lager og som etter avgivelsen av et dataklar-signal overfører data for skriving inn i nevnte lager, idet nevnte datafordrings— og dataklar-signaler genereres ved hjelp av nevnte ytre styreenhet når tilfellet oppstår,
en prosessor som er i stand til å reagere på nevnte datafordrings— og dataklar-signaler når de mottas fra nevnte ytre styreenhet,
en buss som sammenkopler nevnte lager, nevnte ytre styreenhet og nevnte prosessor for direkte dataoverføring mellom nevnte enheter, idet nevnte buss omfatter
en databuss for overføring av data mellom lageret, den ytre styreenheten og prosessoren, og
en adressebuss for overføringen av adressebiter,
idet en første undergruppe av de totalt tilgjengelige adressebiter representerer adresseaksessbitene som er tilstrekkelige i antall til å aksessere samtlige av nevnte lagersteder, og
en andre undergruppe av de totalt tilgjengelige adressebiter som representerer adressestyrebitene for å muliggjøre direkte overføring av data over nevnte databuss,
en styrelogikk krets for å muliggjøre aksessen til nevnte data i nevnte lager og/eller i nevnte ytre register, idet nevnte styrelogikkkrets omfatter
en multiplekser som styrer, under styring fra nevnte adressestyrebiter, lese/skrivesignaler, som leveres til dens
innganger, til enhetene som er involvert i nevnte dataover-føring for å utføre lesning og skriving av nevnte data fra eller inn i de aksesserte lagringssteder i nevnte enheter som er involvert og overføring av nevnte data over databussen, og
adressedekodermiddel som reagerer på forskjellige konfigurasjoner av nevnte adressestyrebiter for å bestemme ved hjelp av denne konfigurasjon modusen for dataoverføring mellom de involverte enheter og for å levere, på utgangsterminaler hos nevnte adressedekodermiddel, utgangssignaler matet til klargjøringsterminalene hos lagermodulene og hos det ytre register for å sette disse i stand til å være operative og reagere på nevnte lese/skrivesignaler levert av nevnte multiplekser, hvorved
en første av nevnte konfigurasjoner av nevnte adressestyrebiter setter prosessoren i stand til å aksessere i en normal dataoverføringsmodus lageret eller det ytre register for lesing av data derfra eller levering av data dertil,
en andre av nevnte konfigurasjoner av nevnte adressestyrebiter utfører direkte lageraksess i en første direkte aksess dataoverføringsmodus, hvorved data overføres fra nevnte ytre register til nevnte lager, og
en tredje av nevnte konfigurasjoner av nevnte adressestyrebiter utfører direkte lageraksess i en andre direkte aksess dataoverføringsmodus hvorved data overføres fra nevnte lager til nevnte ytre register, og hvorved
når den første konfigurasjonen av nevnte adressestyrebiter er gyldig, kun én dekodermiddel utgangsterminal leverer et klargjøringssignal til enheten som er involvert, og når nevnte andre eller tredje konfigurasjon av nevnte adressestyrebiter er gyldig, to dekodermiddel utgangsterminaler leverer klargjøringssignaler til nevnte enheter som er koblet til disse for å utføre direkte overføring av data over nevnte databuss mellom de to således klargjorte enheter ,
og hvorved
dataoverføring i direkte aksess overføringsmodi utføres uten å ty til et internt register i nevnte prosessor.
I de foreliggende databehandlingssystemer møter man ofte et tidskritisk databevegelsesproblem når data overføres fra en buffer i en ytre styreenhet til en ordnet oppstilling av sekvensmessige steder i en lagerenhet av direktelager (RAM) type.
I foreliggende databehandlingssystemer blir den ytre styreenhet vanligvis utstyrt med en styrelinje for å indikere at data i dens bufferregister er klar til å bli overført.
Denne styrelinje er vanligvis koplet til en avbruddsterminal hos prosessoren. Ved opptredenen av et dataklar-signal på avbruddsterminalen bevirker prosessoren at et flertall operasjoner utføres. Disse operasjoner omfatter å bevare databehandlingssystemets tilstand. Data beveges fra bufferen i den ytre styreenheten til et internt register i prosessoren. Dernest lastes et indeksregister med en tidligere bevart peker, og dataene blir så beveget fra det interne registeret til et sted i RÅM utpekt av indeksregisteret. Mengden i indeksregisteret inkrementeres og bevares for den neste databevegelsen, og til sist bringes maskinen tilbake til den tilstand som eksisterte før avbruddet opptrådte.
Hvis der er tilstrekkelig tid til å utføre samtlige av disse trinn før den ytre styreenheten har et dataoverløp, er denne fremgangsmåte for databevegelse enkel og virker meget godt. Men, ettersom dataoverføringshastigheter øker, særlig ved anvendelse av diskett med høy tetthet, Winchester eller kommunikasjoner, vil prosessoren slippe opp for tid til å utføre samtlige av de ovennevnte operasjoner før den neste databitgruppe eller det neste dataord er tilgjengelig.
En fremgangsmåte for dataoverføringsstyring er kjent fra den japanske publiserte patentsøknad 59-72532 (A) (se Patent
Abstracts of Japan, Vol. 8, No. 179 (P-295 ) 1616, 17. august 1984) som gir en direkte innbyrdes overføring av data mellom lager og en ytre anordningsstyreenhet. Ved adresseringsmåten blir adressebitene som har høyeste betydning anvendt til å velge et bestemt lagersegment i et lagerkart for dataover-føringen fra lager til ytre utstyr eller omvendt. Ettersom prosessoren i forbindelse med denne type av dataoverføring ikke bør bli involvert med databuf ringsoppgaven, blir databussen til prosessoren avbrutt (åpnet) og kun én databussforbindelse mellom lager og ytre styreenhet opprett-holdes. En "ikke-operasjon" instruksjon beskrives som ikke å utføre noen operasjoner, men kun sette en adresse og lese/skrivestyresignaler på bussen. Det vesentlige ved denne struktur er en NOP-generator som i lagerkartet har adresserom som er datalagrings- og bilde-relatert adresserom. Således blir adresserom i lagermodulene (RAM og ROM) speilet til NOP-adresserommet. Kretsen velger både NOP-generatoren og RAM modulen på et tidspunkt og setter et adresserom i nevnte RAM lik nevnte NOP. Det ytre utstyrs styreenhet utfører lese/skriveoperasjoner med én bitgruppe hver gang NOP valgsignalet inverteres og tilføres styreenheten.
Til tross for det faktum at dataene ved denne struktur blir overført direkte og innbyrdes med en akselerert behandlings-hastighet, er kretsen fortsatt komplisert ved at den krever en spesiell NOP generator og koblingsoperasjoner for å isolere databussen fra prosessoren.
Følgelig er det fortsatt et behov for å tilveiebringe en krets for å utføre den ønskede databevegelse med de høye hastighetsoverføringstakter som kreves i de nevnte anvendelser, hvilken krets er mindre komplisert enn den krets som er tilveiebragt for den ovenfor nevnte fremgangsmåte.
Det er derfor et formål med den foreliggende oppfinnelse å tilveiebringe en forbedret krets for å utføre databevegelse-operasjoner med høy hastighet i en databehandlingsanordning. Disse og andre formål oppnås ved en krets av den innlednings-vis nevnte type og som, ifølge oppfinnelsen kjennetegnes ved at prosessoren som reaksjon på mottakelsen av nevnte datafordring- eller dataklar-signaler utfører en avbruddsrutine som innbefatter en lesekommando (administrativ 2: "skinnlesning") ved hjelp av hvilken
et første sett av adressebiter tilføres nevnte adressebuss for å identifisere lagringssteder i nevnte lager for dataaksess, og et andre sett av minst to adresseaksessbiter tilføres adressedekodermiddelet i styrelogikkretsen for å muliggjøre aksessen til data i nevnte lager og/eller i nevnte ytre register,
nevnte adressestyrebiter tilføres nevnte adressedekodermiddel styrelogikkretsen, for bestemmelsen av modusen for data-overføring mellom de involverte enheter, og
lese- og skrivepulssignaler genereres, hvilke tilføres inngangene til multiplekseren for deres styring, under styringen fra nevnte adressestyrebiter, til enhetene som er involvert i nevnte dataoverføring, og
at nevnte dekodermiddel, som reaksjon på nevnte andre og tredje konfigurasjoner av nevnte adressestyrebiter styrer nevnte minst to adresse aksessbiter etter deres dekoding, til nevnte dekodermiddels utgangsterminaler på slike forskjellige måter at
når den andre konfigurasjon av nevnte adressestyrebiter er gyldig, leverer to dekodermiddel utgangsterminaler klar-gjøringssignaler til de respektive enheter som er koblet til disse, og
når den tredje konfigurasjon er gyldig, leverer et annet par av dekodermiddelutgangsterminaler klargjøringssignaler til de respektive enheter som er koblet til disse,
for å utføre den direkte overføring av data over nevnte databuss mellom de to enhetene uten å avbryte den forbindende integritet mellom nevnte databuss og prosessoren.
Ytterligere utførelsesformer av lageraksess-styrekretsen vil fremgå av patentkravene, samt av den etterfølgende beskrivelse med henvisning til de vedlagte tegninger.
Fig. 1 viser et blokkskjema over et databehandlingssystem i
hvilket den foreliggende oppfinnelse kan anvendes.
Fig. 2 viser et definert lagerkart over den foretrukne
utførelsesform av den foreliggende oppfinnelse.
Fig. 3 viser et blokkskjema over fysisk lager ifølge den foretrukne utførelsesform av den foreliggende oppf innelse. Fig. 4 som består av fig. 4A og 4B, viser inngangs og utgangsf orbindelser til en multiplekser for om-veksl ing av styresignaler for derved å aktivere de passende kretser til å gjennomføre den ønskede operasj on. Fig. 5 viser et logisk blokkskjema over klargjøringslogikk. Fig. 6 viser trinnene i en avbruddsrutine utført av en mikroprosessor i databehandlingssystemet ifølge den foretrukne utførelsesform av foreliggende oppfinnelse for å initiere databevegelsesoperasjonen.
Idet der vises til fig. 1, er der vist et blokkskjema over et databehandlingssystem i hvilket den foreliggende oppfinnelse kan anvendes. En prosessor 10 er operativt forbundet med en buss 20, som har data og adresselinjer. Et lager 30 og en ytre styreenhet 40 er også operativt koplet til bussen 20. En ytre anordning 45 er operativt knyttet til den ytre styreenheten 40. Selvom den foretrukne utførelsesform av den foreliggende oppfinnelse særlig viser en platestyreenhet og en plateanordning for henholdsvis den ytre styreenheten 40 og den ytre enheten 45, skal det forstås av fagfolk at den foreliggende oppfinnelse kan anvendes på et stort utvalg av ytre styreenheter og ytre anordninger. Den ytre styreenheten 40 omfatter en buffer (eller ytre register) 41 som midler-, tidig lagrer data fra bussen 20 eller fra den ytre enheten 45. Diskusjonen nedenfor fokuserer på overføringen mellom den ytre styreenheten 40 og databehandlingssystemet, dvs. lageret 30 og prosessoren 10, for særlig å dekke den ytre styreenheten 40 - databehandlingssystem grensesnitt i stedet for den ytre styreenheten 40 - ytre anordning 45 grensesnitt, ettersom oppfinnelsen her ligger i databehandlingssystem-ytre styreenhet 40 dataoverføringene.
Idet der vises til fig. 2, er der vist et lagerkart ifølge den foretrukne utførelsesform av den foreliggende oppfinnelse. Lageret 30 (også referert til her som lagermoduler) i databehandlingssystemet ifølge den foretrukne ut-førelsesform av foreliggende oppfinnelse er kartlagt til fire 16K-segmenter, idet de fire segmentene danner et totalt lagerrom. Seksten adresselinjer A^5 - Ag, hvor Ag er den minst signifikante bit, anvendes i buss 20. De øvre 16K (steder C000 - FFFF heksadesimal, samtlige lagersteder gitt her er i heksadesimal) kartlegges til å innbefatte en 4K ROM fra steder F000 - FFFF, og 8K RAM fra steder D000 til EFFF, og et I/U-register på sted C000. For denne definerte øvre 16K i lageret, er adressebiter A^5 og A^4 begge logisk en. Denne øvre 16K i lageret betegnes også her som første 16K i lageret.
Den neste, eller andre 16K i det definerte lagerkart fra sted 8000 til BFFF omfatter et 4K ROM-bilde, et 8K RAM-bilde, og et I/U-registerbilde som avspeiler (eller dupliserer) nevnte første 16K. I den andre 16K av definert lager, er A^5 én logisk en og A^4 en logisk null. Den tredje 16K i det definerte lagerkart fra steder 4000 til 7FFF innbefatter også et 4K ROM-bilde, et 8K RAM-bilde og et I/U-registerbilde som avspeiler den øvre 16K. I nevnte tredje 16K av definert lager, er A^5 en logisk null og A^4 en logisk én. Den fjerde
(eller nedre) av det definerte lagerkart fra steder 0000 til 3FFF anvendes ikke den foretrukne utførelsesform av foreliggende oppfinnelse. Den andre 16K i lager adresseres når en databevegelse skal utføres fra det ytre register 41 til RAM-lager, og det tredje 16K i lager adresseres når en databevegelsesoperasjon skal utføres fra lager til det ytre register 41. Denne operasjon vil bli beskrevet i nærmere detalj nedenfor. Adressene 0000-FFFF er lagerromadressene innenfor det totale lagerrom.
Idet der vises til fig. 3, er der vist et blokkskjema over fysisk lager 30 ifølge den foretrukne utførelsesform av foreliggende oppfinnelse. Lageret 30 i den foretrukne utførelsesform av foreliggende oppfinnelse omfatter en 4K ROM-lagermodul 30-3 som har reelle adresser 000 - FFF, en første 4K RAM1 lagermodul 30-1 som har reelle adresser 000-FFF, og en andre 4K RAM2 lagermodul 30-2 som har reelle adresser 000 - FFF og dessuten har pseudoadresser 1000-1FFF. Adresselinjer 21, A-^ - Aq hos buss 20, er operativt knyttet til de korresponderende 12 terminaler på ROM 30-3, RAM1 30-1 og RAM2 30-2. Disse 12 adresselinjer som bærer de korresponderende adressesignaler fra prosessoren 10 er tilstrekkelige til å adressere et hvilket som helst sted innenfor et 4K-rom. A^5 og A^4 er de øvre biter som anvendes til å adressere et av de 16K-områdene, og A^3, A-^ anvendes til å adressere området innenfor det valgte 16K-området. For å unngå lageraksesser til et sted innenfor flertallet av 4K-områder, blir et klargjøringssignal koplet fra styrelogikken 50. Styrelogikken 50 genererer det riktige klargjørings-signalet ved å dekode adresseinformasjon som befinner seg på adresselinjer A^5 - & i2> idet styrelogikken 50 skal beskrives i detalj nedenfor. Et klargjøringssignal fra styrelogikken 50 er også koplet til en klargjøringsterminal, E, på det ytre registeret 41. Datalinjene 22 hos bussen 20 er koplet til de korresponderende dataterminaler, D, på ROM- og RAM-modulene og dataterminalene på det ytre registeret 41. Det vil forstås at hvis mer enn et enkelt ytre register 41 anvendes i den ytre styreenheten 40, kan adresselinjene 21 koples til korresponderende adresseterminaler hos de ytre registre (ikke vist) for å adressere et enkelt ytre register.
Idet der vises til fig. 4Å og 4B, som sammen danner fig. 4, er der vist et blokkskjema over en multiplekser, MUX, 51 som omveksler styresignalene fra styrelogikken 50 til den passende lagermodulen 30 og/eller det ytre registeret 41, for derved å oppnå den ønskede operasjon. Prosessorens (pp) lesepulssignal koples til inngangsterminalene Å0, CO, Bl, A2 , B2 og C3. Inngangsterminalene BO, Cl, C2 og B3 er bundet til en logisk null som effektivt er et avbruddsdannende (disabling) signal. Prosessorens skrivepulssignal koples til inngangsterminalene Al og A3. Utgangen hos MUX 51, utgangene 0 - 3 er respektive koplet til RAM/EOM-lesepulsterminalen på lagermodulene 30, RAM-skrivepulsterminalen på RAM 30-1, 30-2, ytre enhets lesepulsterminal, og ytre enhets skrivepuls-terminal. Adressesignaler A^5 og A^4 anvendes til å velge mellom inngangsterminaler A, B og C, ifølge tabellen i fig. 4B. I en normal operasjon for prosessoren 10 hvor den akses-serer lagermodulene 30 og/eller det ytre registeret 41, adresserer mikroprosessoren lagerrom hvori A^5 og A-^4 er en logisk en. Derfor velges A-inngangsterminalene hos MUX 51.
1 dette tilfellet koples mikroprosessorens lespulssignal til RAM/ROM-lesepulsterminal og koples også til ytre enhets lespulsterminal via utgangsterminal 2. Derfor blir normale lesninger foretatt fra ROM 30-1, RAM 30-1, 30-2 eller det ytre registeret 41 ved hjelp av prosessoren 10. Når skriveoperasjoner utføres, adresserer prosessoren 10 påny adresserom hvori A^5 og A^4 begge er en logisk én og skrivepulssignalet koples til RAM-skrivepulsterminalen eller den ytre enhets skrivpulsterminal som en funksjon av den spesielle adressen, hvorved normale skriveoperasjoner til RAM
.30-1, 30-2 eller det ytre registeret 41 blir utført.
I en I/U-operasjon virker prosessoren 10 også som en styreenhet. Når det ytre registeret 41 har data som skal overføres, idet der antas en leseoperasjon for den ytre anordningen 45, genereres dataklarsignalet av den ytre styreenheten 40, hvorved prosessoren 10 avbrytes. Prosessoren 10 bevirker så de data som er lagret i det ytre register 41 til å bli direkte innmatet i lager som går forbi operasjonen med lesning av dataene inn i et internt register hos prosessoren og dataene utmates så inn i lageret 30. Prosessoren utfører en "skinnlesning" (dummy read) av RAM-adressen i hvilken dataene skal lagres. Adresserommet som adresseres er den andre 16K i det definerte lagerkart hvori A-^5 og A-L4 er henholdsvis en logisk én og en logisk null. Dette bevirker B-inngangsterminalene hos MUX 51 til å bli valgt. "Skinnlesningen" fra prosessoren bevirker lesepulssignalet til å bli koplet via inngang Bl til RAM-skrivepulsterminalen. Prosessorens "skinnlesning" bevirker også at lesepulssignalet koples via inngang B2 til ytre enhets lesepulsterminal, idet ytre enhets skrivepuls gjøres inopera-tiv av den logiske nullinnmatning via inngang B3. Derfor er den ytre enhets operasjon en lesning, eller utmatning av data, idet nevnte data plasseres på datalinjene 22 og RAM godtar de data som er tilstede på datalinjene 22 og skrives inn i RAM på den adressen som er angitt på adresselinjene, idet adressen er adressen for "skinnlesning" operasjon. Derfor blir data overført direkte fra det ytre registeret 41 inn i RAM og går forbi overføringen av data inn i prossoren 10. RAM1 30-1 og RAM2 30-2 har begge adresser som tilsvarer adressen på adresselinjen, men kun en enkelt RAM, dvs. RAM1 eller RAM2, velges som en funksjon av klargjøringssignalet. Genereringen av det riktige klargjøringssignalet til å velge det korrekte RAM, dvs. RAM1 eller RAM2, vil bli omtalt nedenfor. Når en skriveoperasjon fra lager til det ytre register 41 skal utføres, utfører prosessoren en "skinn-lesnings"-operasjon av adressen i lager som skal leses, og adresserer det tredje 16K-området hvori A^5 er en logisk null og A^4 er en logisk én, idet dette området er blitt definert som databevegelsen fra lager til den ytre enhet, idet dette er blitt beskrevet i forbindelse med fig. 2 ovenfor. I dette lagerrom velges Inngangsterminaler C. I dette tilfellet bevirker prosessorens "skinnlesning" at dens lesepulssignal koples til RAM-lesterminalen og bevirker også prosessorens lesepulssignal til å bli koplet til den ytre enhets skriveterminal. Derfor blir data plassert på datalinjene 22 fra RAM og data som er tilstede på datalinjene 22 skrives inn i det ytre registeret 41. Påny bevirker klargjøringssignalene som er koplet til lagermodulene 30 data fra en enkelt RAM 30-1, 30-2 eller ROM 30-3 til å plassere data på datalinjene 22. Denne operasjon går påny forbi prossoren som må lese data inn i et internt register og så utmate dataene til den ytre styreenheten 41. Den logisk null som er koplet til inngangsterminalene sikrer at styresignalet er null, hvorved den spesielle funksjon settes ut av virksomhet. D-inngangsterminalene på MUX 51 anvendes ikke i den foretrukne utførelsesform av foreliggende oppfinnelse .
Idet der vises til fig. 5, er der vist et blokkskjema over klargjøringslogikken 52 i styrelogikken 50. Klargjørings-logikken 52 genererer klargjøringssignal for hver av lagermodulene 30-1, 30-2, 30-3, og for det ytre registeret 41, idet klargjøringssignalet koples til den korresponderende klargjøringsterminalen, E, for hver modul. Når prosessoren aksesser lagermodulene 30 eller det ytre registeret 41, anvendes det første 16K-adresserommet og A^5 og A^4 er begge en logisk én, hvilket klargjør en første (2:4) dekoder 53. Dekoderen dekoder signalene som er knyttet til adresselinjene A^3 og A^g. Disse to signaler identifiserer den spesielle modulen som adresseres. Således når A-^3 er en logisk null og A^g er en logisk null, blir det ytre registeret 41 adressert av prosessoren, og klargjørings-signalet koples til det ytre registeret 41 via en ELLER-port 57. Når A-L3 og A-^ begge er en logisk én, adresseres R0M-modulen 30-3 og klargjøringssignalet blir direkte koplet til nevnte ROM. Når nevnte RAM adresseres av prosessoren 10, for adressesteder mellom D000 og DFFF, er A^3 en logisk null og A^2 en logisk én, hvorved genereres et klargjøringssignal som klargjør ELLER-porten 55, hvorved tillates aksesser til RAM1 30-1. Likeledes, når prosessoren adresserer lagerstedene E000 t.o.m. EFFF hos RAM, dekoder den første dekoderen 53 A^^ som en logisk én og A±2 som en logisk null som genererer et klargjøringssignal som klargjør ELLER-port 56, hvorved tillates aksess til RAM2 30-2. I bevegelsen av data mellom det ytre registeret 41 og nevnte RAM-lagre 30-1, 30-2, blir en andre (2:4) dekoder 54 klargjort som klargjør enten RAM1 30-1 eller RAM2 20-2 som en funksjon av adresseinformasjons-signalene på adresselinjene A^3 og A^g» idet det korresponderende klargjøringssignalet koples til ELLER-porten 57 for å klargjøre det ytre registeret 41 og den korresponderende RAM1 eller RAM2. En lese eller skriveoperasjon hos det ytre utstyret 41 eller nevnte RAM 30-1, 30-2 er en funksjon av styresignalene fra multiplekseren 51.
Idet der vises til fig. 6, er der vist operasjonene som utføres av avbruddsrutinen hos prosessoren. Som omtalt ovenfor, når det ytre registeret 41 er fullt og inneholder data som er klart til å bli overført, blir dataklarsignalet generert og koplet til avbruddsterminalen hos prossoren 10. Prosessoren utfører operasjonene for avbruddsrutinen i fig.
6. En første administrativ operasjon utføres nemlig som krever å bevare maskintilstanden og initialisere en peker som definerer lagersteder hvori data skal lagres. En "skinnlesning" utføres så til det stedet hvori en dataaksess skal foretas, idet stedet defineres i adressbiter A-^3 - Aq . Adresserommet som er adressert av biter A^3 - Aq er tilstrekkelig til å adressere et hvilket som helst sted innenfor nevnte definerte 16K. A^5 og A^4 innbefattes i adresse-signalene som er plassert på adresselinjene 21 som definerer hvilken operasjon som skal utføres, idet operasjonstypen utjevnes til ett av fire 16K-områder som definert av lagerkartet som omtalt ovenfor. Såsnart "skinnlesnings"-operasjonen utføres, blir den andre administrative operasjon utført som i alt vesentlig gjenvinner pekeren og gjenvinner maskintilstanden. Avbruddsrutinen blir såavsluttet, og-prosessoren fortsetter å utføre eller iverksette sitt anvendelsesprogram eller oppgave som var underveis forutfor avbruddet. I den foretrukne utførelsesform av den foreliggende oppfinnelse anvendes en Motorola 68000 mikroprosessor, og de trinn som kreves for å utføre de forskjellige administative operasjoner reduseres. Dette reduserer mengden av administrasjon, hvorved reduseres tidslengden innenfor avbruddsrutinen. Denne reduksjon i administrasjon tillater prosessoren å utføre sine oppgaver og virker også som en direkte lageraksess-styreenhet og møter ikke en overløps-betingelse. (En over-løpsbetingelse opptrer når det neste stykke eller kvantum av data er tilgjengelig i det ytre register 41 forut for at prosessoren hadde en mulighet til å bevege det tidligere datastykket. ) Det skal forstås av fagfolk at ved utmatning av data fra lager 30 til det ytre registeret 41, utføres en lignende operasjon. Datafordringssignalet fra det ytre registeret koples nemlig til prosessoren 10 som medfører et avbrudd til prosessoren 10. En "skinnlesning" i avbruddsrutinen blir så utført fra det tredje 16K-lagerrommet hvori A^5 er en logisk null og A^4 er en logisk én.
Selv om der er blitt vist hva som anses som den foretrukne utførelsesform av foreliggende oppfinnelse, vil det kunne fastslås at mange endringer og modifikasjoner kan foretas deri uten å avvike fra oppfinnelsens vesentlige ide og omfang. Det er derfor hensikten i de vedlagte krav å dekke alle slike endringer og modifikasjoner som faller innenfor oppfinnelsens sanne omfang.
Claims (7)
1.
Lageraksesstyrekrets i et databehandlingssystem som innbefatter : et lager (30) som omfatter et flertall av adresserbare lagersteder (16kBytes) for lagring av data i forskjellige lagermoduler (RAM 30-1, 30-2, ROM 30-3), ytre enheter (45) koplet til en ytre styreenhet (40) som omfatter et ytre register (41) som etter avgivelsen av et datafordringssignal mottar data lest fra nevnte lager (30) og som etter avgivelsen av et dataklar-signal overfører data for skriving inn i nevnte lager (30), idet nevnte datafordrings— og dataklar-signaler genereres ved hjelp av nevnte ytre styreenhet (40) når tilfellet oppstår, en prosessor (10) som er i stand til å reagere på nevnte datafordrings— og dataklar-signaler når de mottas fra nevnte ytre styreenhet (40), en buss (20) som sammenkopler nevnte lager (30), nevnte ytre styreenhet (40) og nevnte prosessor (10) for direkte dataoverføring mellom nevnte enheter (10,30,40), idet nevnte buss omfatter en databuss (22) for overføring av data mellom lageret (30), den ytre styreenheten (40) og prosessoren (10), og en adressebuss (21) for overføringen av adressebiter, idet en første undergruppe (14) av de totalt tilgjengelige (16) adressebiter representerer adresseaksessbitene (A13—Aq) som er tilstrekkelige i antall til å aksessere samtlige av nevnte lagersteder (16 kBytes), og en andre undergruppe (2) av de totalt tilgjengelige (16) adressebiter som representerer adressestyrebitene (A-^, A14) for å muliggjøre direkte overføring av data over nevnte databuss (22 ), en styrelogikk krets (50) for å muliggjøre aksessen til nevnte data i nevnte lager (30) og/eller i nevnte ytre register (41), idet nevnte styrelogikkkrets omfatter en multiplekser (51) som styrer, under styring fra nevnte adressestyrebiter (Ais.A^), lese/skrivesignaler (jjP lese og pP skrivepuls), som leveres til dens innganger (AO-3, BO-3, CO-3), til enhetene som er involvert i nevnte dataoverføring for å utføre lesning og skriving av nevnte data fra eller inn i de aksesserte lagringssteder i nevnte enheter som er involvert og overføring av nevnte data over databussen (22), og adressedekodermiddel (52) som reagerer (ved E i 53/54) på forskjellige konfigurasjoner av nevnte adressestyrebiter (A-^5, A14) for å bestemme ved hjelp av denne konfigurasjon modusen for dataoverføring mellom de involverte enheter og for å levere, på utgangsterminaler (55, 56, 57 ) hos nevnte adressedekodermiddel, utgangssignaler matet til klar-gjøringsterminalene (E i 30/41) hos lagermodulene og hos det ytre register for å sette disse i stand til å være operative og reagere på nevnte lese/skrivesignaler (RAM/ROM les, RAM skriv, ytre les, ytre skriv) levert av nevnte multiplekser (51), hvorved en første av nevnte konfigurasjoner av nevnte adressestyrebiter (Ai5="l"; Ai4="l") setter prosessoren (10) i stand til å aksessere i en normal dataoverføringsmodus lageret (30) eller det ytre register (41) for lesing av data derfra eller levering av data dertil, en andre av nevnte konfigurasjoner av nevnte adressestyrebiter (A^5="l"; Ai4="0") utfører direkte lageraksess (DMA) i en første direkte aksess dataoverføringsmodus (BEVEG PER -» LAG), hvorved data overføres fra nevnte ytre register (41) til nevnte lager (30), og en tredje av nevnte konfigurasjoner av nevnte adressestyrebiter (Ai5="0<M>; Ai4="l") utfører direkte lageraksess (DMA) i en andre direkte aksess dataoverføringsmodus (BEVEG LAG -» PER) hvorved data overføres fra nevnte lager (30) til nevnte ytre register (41), og hvorved når den første konfigurasjonen av nevnte adressestyrebiter (A15 = "1"; A-L4 = "1") er gyldig, kun én dekodermiddel utgangsterminal leverer et klargjøringssignal til enheten (30-1 eller 30-2 eller 30-3 eller 41) som er involvert, og når nevnte andre eller tredje konfigurasjon av nevnte adressestyrebiter (A^5, A^4 = "10" eller "01") er gyldig, to dekodermiddel utgangsterminaler leverer klargjøringssignaler til nevnte enheter som er koblet til disse for å utføre direkte overføring av data over nevnte databuss (22) mellom de to således klargjorte enheter, og hvorved dataoverføring i direkte aksess overføringsmodi utføres uten å ty til et internt register i nevnte prosessor (10),karakterisert ved at prosessoren (10) som reaksjon på mottakelsen av nevnte datafordring- eller dataklar-signaler utfører en avbruddsrutine (figur 6) som innbefatter en lesekommando (administrativ 2: "skinnlesning") ved hjelp av hvilken et første sett av adressebiter (A^^—Aq) tilføres nevnte adressebuss (21) for å identifisere lagringssteder i nevnte lager (30) for dataaksess, og et andre sett av minst to adresseaksessbiter (A13, A-^) tilføres adressedekodermiddelet (52) i styrelogikkretsen (50) for å muliggjøre aksessen til data i nevnte lager (30) og/eller i nevnte ytre register (41), nevnte adressestyrebiter (A-j^A^) tilføres nevnte adressedekodermiddel (52) styrelogikkretsen (50), for bestemmelsen av modusen for dataoverføring mellom de involverte enheter, og lese- og skrivepulssignaler (jjP les; >jP skriv) genereres, hvilke tilføres inngangene (AO-3, BO-3, CO-3) til multiplekseren (51) for deres styring, under styringen fra nevnte adressestyrebiter, til enhetene som er involvert i nevnte dataoverføring, og at nevnte dekodermiddel (52), som reaksjon på nevnte andre og tredje konfigurasjoner av nevnte adressestyrebiter (A15, A^4 ="10" eller "01") styrer nevnte minst to adresse aksessbiter (<A>13, A12) etter deres dekoding (2;4), til nevnte dekodermiddels utgangsterminaler på slike forskjellige måter at når den andre konfigurasjon av nevnte adressestyrebiter (A15, A14 = "10") er gyldig, leverer to dekodermiddel utgangsterminaler klargjøringssignaler til de respektive enheter som er koblet til disse, og når den tredje konfigurasjon (A15, <A>^4 = "01") er gyldig, leverer et annet par av dekodermiddelutgangsterminaler klargjøringssignaler til de respektive enheter som er koblet til disse, for å utføre den direkte overføring av data over nevnte databuss (22) mellom de to enhetene uten å avbryte den forbindende integritet mellom nevnte databuss (22) og prosessoren (10).
2.
Lageraksesstyrekrets som angitt i krav 1, karakterisert ved at utgangsterminalene (0—3) på nevnte multiplekser (51) er koplet til nevnte lagermoduler (RAM1, RAM2, ROM; 30-1, 30-2, 30-3) og til nevnte ytre register (41) for å overføre nevnte lese/skrivepulsstyresignaler til disse, hvorved
en første utgang (0) leverer et første (RAM/ROM) lesepulssignal til de lagermoduler som er i stand til å levere lagret data,
en andre utgang (1) leverer et første (RAM) skrivepulssignal til de lagermoduler som er i stand til å godta data for lagring,
en tredje utgang (2) leverer et andre (ytre) lesepulssignal til det ytre register (41) for å initiere lesingen av data derfra, og
en fjerde utgang (3) leverer et andre (ytre) skrivepulssignal til det ytre register (41) for å initiere skrivingen av data deri .
3.
Lageraksesstyrekrets som angitt i krav 1, karakterisert ved at nevnte dekodermiddel (52) omfatter: en første dekoder (53) hvis utgangsterminaler (00, 11, 10,01) er respektiv koplet til hver av nevnte lagermoduler (30—1, 30—2, 30-3) og nevnte ytre register (41), og en andre dekoder (54) hvis utgangsterminaler (10,01) er respektiv koplet alltid til det ytre register (41) og til en forskjellig lagermodul (01 i 54 via 55 til 30—1 og via 57 til 41; 10 i 54 via 56 til 30-2 og via 57 til 41).
4.
Lageraksesstyrekrets som angitt i krav 2, karakterisert ved at multiplekseren (51) gir utgangssignal-kombinasjoner som følger: det første lesepulssignalet og det andre lesepulssignalet som reaksjon på et lesestyresignal (jiP les) og på nevnte ene konfigurasjon (A14/A15 = 11) av nevnte adressestyrebiter, det første skrivepulssignalet og det andre skrivepulssignalet som reaksjon på et skrivestyresignal (jiP skriv) og på nevnte ene konfigurasjon (A14/A15 = 11) av nevnte adressestyrebiter, det andre lesepulssignalet og det første skrivepulssignalet som reaksjon på et lesestyresignal (>jP les) og til nevnte andre konfigurasjon (A14/A15 =0 1) av nevnte adressestyrebiter, og det andre skrivepulssignalet og det første lesepulssignalet som reaksjon på et lesestyresignal (pP les) og på nevnte tredje konfigurasjon (A14/A15 =10) av nevnte adressestyrebiter.
5.
Lageraksesstyrekrets som angitt i et hvilket som helst av de foregående.krav, karakterisert ved at den ytre enheten (40) frembringer dataklar-styresignaler når data skal overføres mellom det ytre register (41) og lageret (30), hvoretter prosessoren (10) utfører en avbruddsrutine og sammen med lesestyresignalet (pP les) frembringer de ønskede adresse—aksess og adresse—styringssignaler (A0—A15) for å aksessere den respektive lagermodul til å utføre data-overføringen med hensyn til det ytre register (41).
6.
Lageraksesstyrekrets som angitt i et hvilket som helst av de foregående krav, karakterisert ved at det ønskede lagerstedet i en lagermodul som aktiveres gjennom et valgstyresignal på sin klargjøringsterminal, adresseres gjennom adresseaksessbit- (A^—Aq) signalene som sendes over adressebusslinjene (21), hvorved så mange adresseaksessbiter tilveiebringes i nevnte første sett av adressebiter som behøves for å adressere den valgte lagermodul (12 biter A^i--^0 f°r et lagerrom lik 4 kBytes).
7.
Lageraksesstyrekrets som angitt i krav 6, karakterisert ved at lageret (30) omfatter minst to direkte-tilgang-moduler (RAM 30—1, 30—2) og minst en leselagerlager-modul (ROM 30—3), idet hver av disse lagermoduler har et flertall (4 kBytes) av adresserbare lagersteder som adresseres av et flertall av adresseaksessbi ter (A-q— Aq ) i samsvar i deres antall for utvetydig å adressere det totale adresserom som er tilgjengelig i hver lagermodul.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/750,797 US4764896A (en) | 1985-07-01 | 1985-07-01 | Microprocessor assisted memory to memory move apparatus |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| NO861662L NO861662L (no) | 1987-01-02 |
| NO176294B true NO176294B (no) | 1994-11-28 |
| NO176294C NO176294C (no) | 1995-03-08 |
Family
ID=25019201
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| NO861662A NO176294C (no) | 1985-07-01 | 1986-04-28 | Apparat med mikroprosessor assistert lager-til-lager bevegelse |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US4764896A (no) |
| EP (1) | EP0212152B1 (no) |
| JP (1) | JPS629456A (no) |
| AU (1) | AU591126B2 (no) |
| CA (1) | CA1261071A (no) |
| DE (1) | DE3688446T2 (no) |
| NO (1) | NO176294C (no) |
| ZA (1) | ZA863644B (no) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS638491Y2 (no) * | 1980-10-08 | 1988-03-14 | ||
| US4987530A (en) * | 1985-11-15 | 1991-01-22 | Data General Corp. | Input/output controller for a data processing system |
| JPS63255760A (ja) * | 1987-04-14 | 1988-10-24 | Mitsubishi Electric Corp | 制御システム |
| JPS63255759A (ja) * | 1987-04-14 | 1988-10-24 | Mitsubishi Electric Corp | 制御システム |
| CA2028378A1 (en) * | 1989-11-03 | 1991-05-04 | Timothy K. Waldrop | Floppy disk controller with dma verify operations |
| EP0501621A3 (en) * | 1991-02-26 | 1994-07-06 | Hewlett Packard Co | Address prediction and verification for burst cycle data reads |
| CA2099838C (en) * | 1993-07-05 | 2000-01-18 | Philip Ching | Method of extracting data words from a binary serial bit stream |
| DE69516817T2 (de) * | 1994-11-14 | 2000-12-07 | Nec Corp., Tokio/Tokyo | Peripheriegerät zur Ausführung von Bitfeldbefehlen |
| US5664152A (en) * | 1995-06-06 | 1997-09-02 | Hewlett-Packard Company | Multiple segmenting of main memory to streamline data paths in a computing system |
| US5724502A (en) * | 1995-08-07 | 1998-03-03 | International Business Machines Corporation | Test mode matrix circuit for an embedded microprocessor core |
| DE19946716A1 (de) * | 1999-09-29 | 2001-04-12 | Infineon Technologies Ag | Verfahren zum Betrieb eines Prozessorbusses |
| US7132963B2 (en) * | 2004-09-13 | 2006-11-07 | Ati Technologies Inc. | Methods and apparatus for processing variable length coded data |
| US9009114B1 (en) * | 2005-10-31 | 2015-04-14 | Symantec Operating Corporation | Version mapped incremental backups |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4316244A (en) * | 1978-11-08 | 1982-02-16 | Data General Corporation | Memory apparatus for digital computer system |
| US4371932A (en) * | 1979-07-30 | 1983-02-01 | International Business Machines Corp. | I/O Controller for transferring data between a host processor and multiple I/O units |
| US4344130A (en) * | 1979-09-26 | 1982-08-10 | Sperry Corporation | Apparatus to execute DMA transfer between computing devices using a block move instruction |
| JPS56116138A (en) * | 1980-02-15 | 1981-09-11 | Omron Tateisi Electronics Co | Input and output controller |
| US4454575A (en) * | 1980-12-29 | 1984-06-12 | International Business Machines Corporation | Shared memory system with access by specialized peripherals managed by controller initialized by supervisory CPU |
| US4476522A (en) * | 1981-03-09 | 1984-10-09 | International Business Machines Corporation | Programmable peripheral processing controller with mode-selectable address register sequencing |
| US4450521A (en) * | 1981-04-13 | 1984-05-22 | Texas Instruments Incorporated | Digital processor or microcomputer using peripheral control circuitry to provide multiple memory configurations and offset addressing capability |
| US4535404A (en) * | 1982-04-29 | 1985-08-13 | Honeywell Information Systems Inc. | Method and apparatus for addressing a peripheral interface by mapping into memory address space |
| US4649471A (en) * | 1983-03-01 | 1987-03-10 | Thomson Components-Mostek Corporation | Address-controlled automatic bus arbitration and address modification |
| US4620279A (en) * | 1983-07-29 | 1986-10-28 | Standard Oil Company, Now Amoco Corporation | Data transfer system |
-
1985
- 1985-07-01 US US06/750,797 patent/US4764896A/en not_active Expired - Fee Related
-
1986
- 1986-04-28 NO NO861662A patent/NO176294C/no unknown
- 1986-05-14 CA CA000509177A patent/CA1261071A/en not_active Expired
- 1986-05-16 ZA ZA863644A patent/ZA863644B/xx unknown
- 1986-05-19 AU AU57552/86A patent/AU591126B2/en not_active Ceased
- 1986-06-28 EP EP86108812A patent/EP0212152B1/en not_active Expired - Lifetime
- 1986-06-28 DE DE86108812T patent/DE3688446T2/de not_active Expired - Fee Related
- 1986-07-01 JP JP61154962A patent/JPS629456A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| NO861662L (no) | 1987-01-02 |
| EP0212152A3 (en) | 1988-08-24 |
| ZA863644B (en) | 1986-12-30 |
| CA1261071A (en) | 1989-09-26 |
| AU591126B2 (en) | 1989-11-30 |
| EP0212152B1 (en) | 1993-05-19 |
| NO176294C (no) | 1995-03-08 |
| DE3688446D1 (de) | 1993-06-24 |
| JPS629456A (ja) | 1987-01-17 |
| DE3688446T2 (de) | 1994-01-05 |
| EP0212152A2 (en) | 1987-03-04 |
| US4764896A (en) | 1988-08-16 |
| AU5755286A (en) | 1987-01-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4471429A (en) | Apparatus for cache clearing | |
| US4725945A (en) | Distributed cache in dynamic rams | |
| US4414627A (en) | Main memory control system | |
| EP0380855B1 (en) | Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory | |
| US5201041A (en) | Cache bypass apparatus | |
| JPS6259822B2 (no) | ||
| EP0140752A2 (en) | Memory subsystem | |
| NO176294B (no) | Apparat med mikroprosessor assistert lager-til-lager bevegelse | |
| US6779074B2 (en) | Memory device having different burst order addressing for read and write operations | |
| US5479625A (en) | Ring systolic array system for synchronously performing matrix/neuron computation using data transferred through cyclic shift register connected in cascade of trays | |
| US5060186A (en) | High-capacity memory having extended addressing capacity in a multiprocessing system | |
| US4513369A (en) | Information processing system | |
| JP2718254B2 (ja) | ベクトル処理装置 | |
| EP0182126B1 (en) | Directing storage requests during master mode operation | |
| GB2065941A (en) | Cache store system | |
| EP0103132B1 (en) | Buffer storage control system | |
| US5640531A (en) | Enhanced computer operational system using auxiliary mini-cache for enhancement to general cache | |
| EP0375864A2 (en) | Cache bypass | |
| US5689680A (en) | Cache memory system and method for accessing a coincident cache with a bit-sliced architecture | |
| EP0055579B1 (en) | Cache memories with double word access | |
| AU602952B2 (en) | Cache memory control system | |
| EP0067519B1 (en) | Telecommunications system | |
| CA1324679C (en) | Method and means for interfacing a system control unit for a multi-processor system with the system main memory | |
| NO173305B (no) | Datasystem | |
| US4561071A (en) | Storage system having buffer storage |