FI112709B - Datamuistin jakaminen moniprosessorijärjestelmissä - Google Patents
Datamuistin jakaminen moniprosessorijärjestelmissä Download PDFInfo
- Publication number
- FI112709B FI112709B FI953204A FI953204A FI112709B FI 112709 B FI112709 B FI 112709B FI 953204 A FI953204 A FI 953204A FI 953204 A FI953204 A FI 953204A FI 112709 B FI112709 B FI 112709B
- Authority
- FI
- Finland
- Prior art keywords
- signal
- memory
- data
- nämnda
- processor
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F13/30—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/725—Cordless telephones
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Memory System (AREA)
- Multi Processors (AREA)
Description
1 112709
Datamuistin jakaminen moniprosessorijärjestelmissä
Tausta
Esillä oleva keksintö liittyy laitteeseen tietokonearkkitehtuurissa, 5 joka muodostuu ohjausprosessorista, yhdestä tai useammasta oheispro-sessorista, ja jaetusta datamuistista, ja tarkemmin laitteeseen sellaisessa järjestelmässä, joka sallii ohjausprosessorin jatkaa käskyjen hakemista ohjausmuistista samalla kun muille oheisprosessoreille sallitaan pääsy jaettuun muistiin, ja jopa vieläkin tarkemmin sellaiseen laitteeseen, joka sallii 10 ohjausprosessorin jakaa datamuistin oheisprosessoreiden kanssa ilman että oleellisesti estetään ohjausprosessoria suorittamasta ohjausohjelmaa.
Tekniikan tason mikroprosessorit, jotka ovat Von Neuman-arkkitehtuureina tunnettua tyyppiä, on yksi väylä kaiken tyyppisten muistien kytkemistä varten, mukaan lukien iuku-kirjoitusmuistin (RAM), lukumuistin 15 (ROM), ohjelmoitavan lukumuistin (PROM), sähköisesti ohjelmoitavan lukumuistin (EPROM) ja sähköisesti pyyhittävän ja uudelleen ohjelmoitavan lukumuistin (EEPROM).
ROM-, PROM- ja EPROM-muisteja käytetään yleensä ohjelma-käskyjen tallentamiseen, koska tämän tyyppiset muistit ovat "haihtumatto-20 mia". Tämä tarkoittaa, että ne eivät menetä ohjelmasisältöään, kun virransyöttö kytketään pois. Tämä on tärkeää akkukäyttöisissä laitteissa, jotka voidaan väliaikaisesti kytkeä pois akkutehon säästämiseksi.
RAM- ja E EPROM-muisteja puolestaan käytetään tallentamaan väliaikaisia työmuuttujia (RAM) tai dataa, jota tietokone saattaa haluta 25 muuttaa ohjelman suorituksen tuloksena mutta joka täytyy säilyttää yli ajan, • jonka virransyöttö on kytketty pois (EEPROM).
: : Von Neumann -arkkitehtuurissa kaikki erilaiset muistimodulit on kytketty samaan sähköiseen osoite- ja dataväylään, niin että tietokone kykenee pääsemään vain voimamuistiin tai datamuistiin tai molempiin . 30 samanaikaisesti. Yksi väylä merkitsee myös sitä, että kiinteät datamuuttujat voidaan tallentaa ohjelma-ROMissa ja että ohjelmakäskyt voidaan suorittaa ’ data-RAMista, jos näin halutaan.
; * Esimerkkejä tekniikan tason mukaisesta Von Neuman -arkkitehtuureista ovat INTEL 8085 ja IBM PC -sarjan mikroprosessori 8088, .:, ‘: 35 8086, 80186, 286, 386, 486; ZILOG Z80 ja MOTOROLA 6800, 6801, 6802, 2 112709 6803 ... 6809 ja 68000 sarjan mikroprosessorit.
Tarvittaessa yhdentyyppisen muistin käyttöä ohjelmakäskyille ja toisentyyppisen muistin käyttöä dynaamisesti muuttuvaa dataa varten, käytetään usein toista arkkitehtuuria, joka tunnetaan tekniikan tasossa Har-5 vard-arkkitehtuurina. Harvard-arkkitehtuurille on tunnusomaista, että siinä on erilliset väylät ohjelmamuistia ja datamuistia varten, niin että ohjelmakäskyjä ei voida suorittaa datamuistista ja mahdollisesti, riippuen toteutuksesta, dataa ei voida kirjoittaa ohjelmamuistiin.
Molemmat arkkitehtuurit, Harvard ja Von Neumann, yleensä sallivat 10 vakioiden lukemisen ohjelmamuistista, toimintatila, joka usein tunnetaan suorana osoituksena, koska muussa tapauksessa ei olisi minkäänlaista välinettä alunperin tyhjän data-RAMin alustamista varten.
Harvard-arkkitehtuurit voivat sallia käsittelynopeuden kasvattamisen ilman että hyvin tunnettu muistihaun pullonkaulailmiö tulisi häiritseväksi, sal-15 limalla RAMissa olevan datan manipuloinnin samaan aikaan kuin prosessori hakee seuraavaa käskyä ohjelma-ROMista. Tämä päällekkäisprosessi tunnetaan englanninkielisellä nimellä pipelining. Kaikki Harvard-arkkitehtuurit eivät kuitenkaan käytä pipelining-prosessia.
Esimerkkejä Harvard-arkkitehtuureista ovat digitaaliset signaalipro-20 sessorisirut, sellaiset kuten Texas Instruments TMS320 -sarjat ANALOG DEVICES ADSP2100 -sarjat, jotka käyttävät pipelining-prosessia.
Harvard-arkkitehtuureja voi myös olla olemassa arkkitehtuurissa, jossa on vain yksi väylä datan osoittamiseen ja siirtämiseen tietokoneen ja : sekä ohjelma- että datamuistityyppien välillä. Tässä erityyppiset siirrot (ts.
: 25 ohjelmakäskyt ja data) erotetaan toisistaan siten, että on olemassa erilliset j Read, Write ja Control -signaali erityyppisille muisteille. Nämä arkkitehtuurit : eivät voi käyttää pipelining-prosessia. Esimerkkejä tästä arkkitehtuurista ovat INTEL 8048, 8049, 8051 sarjojen mikro-ohjaimet. Harvard-arkkitehtuurin ; nopeusetu on tietenkin uhrattu näissä osissa sen päämäärän eduksi, että . 30 saavutetaan pienempi nastojen lukumäärä integroidussa piirissä. Erillisten ohjelma- ja datamuistien etu tässä tapauksessa on kuitenkin se, että yksi 16-bittinen osoiteväylä voi osoittaa 65536 datatavun lisäksi myös 65536 ohjel- makäskytavua. Tämä on selvä ero Von Neumann -arkkitehtuuriin, kuten Z80 ; tai 8085, jossa on 16-bittinen osoiteväylä, joka voi kokonaisuudessaan osoit- : 35 taa vain 65536 tavua, jotka täytyy jakaa ohjelmakäskyjen ja datan välillä, , 112709 esimerkiksi 56K ohjelmaa ja 8K dataa, tai 32k ohjelmaa ja 32k dataa.
Toinen tekniikan tason mukainen tekniikka tietokonejärjestelmän käsittelynopeuden kasvattamiseksi tunnetaan suorana muistihakuna (DMA). DMA on tekniikka, joka suunniteltiin mahdollistamaan oheislaitteiden, sellais-5 ten kuten levyohjaimien, magneettinauhan lukijoiden, tietoliikennemodee-mien, jne. hakijadataa tietokonedatamuistista oheislaitteissa tapahtuvaa lähetystä tai tallennusta varten, tai asettaa suoraan tietokonemuistiin dataa, joka saadaan muistilaitteista tai vastaanotetaan tietoliikennemodeemilla, ilman että merkittävästi hidastetaan sen tietokoneen suoritusta, joka käyttää 10 samaa muistia. Tämä on tietenkin käyttökelpoinen vain niin kutsutuissa moniohjelmointisovellutuksissa, joissa on muita tehtäviä, joita tietokone voi hyödyllisesti olla suorittamassa samalla kun ensimmäinen tehtävä odottaa DMA-operaation toteuttamista. DMA on sisääntulo/ulostulo (I/O) -tekniikka, joka palvelee vaihtoehtona sellaisten tietokonekäskyjen suorittamiselle, jotka 15 syöttävät datatavuja muistiin tai tulostavat niitä muistista. Täten tietokone ei osallistu l/O-operaatioihin, jotka suoritetaan itsenäisesti DMA-ohjauspiireillä. Tietokone ainoastaan alustaa DMA-ohjaimen ottamaan tai vastaanottamaan tietty määrä tavuja N muistista tai muistiin alkaen määritellystä paikasta. Sitten tietokone keskeyttää tehtävän, joka ei voi alkaa uudelleen ennenkuin 20 DMA-operaatio on saatettu loppuun, ja jatkaa seuraavaksi korkeimman prioriteetin omaavan tehtävän kanssa. DMA:n suorittamisen jälkeen DMA-ohjain synnyttää keskeytyksen tiedottaakseen tietokoneelle, että DMA-‘ operaatio on suoritettu. Tämän seurauksena tietokone keskeyttää nykyisen : tehtävänsä ja aloittaa uudelleen tehtävän, joka alunperin pyysi DMAta. Jos 25 uudelleen aloitettu tehtävä on nyt saatettu loppuun, keskeytetty tehtävä tai f prioriteetiltaan korkeampi tehtävä voidaan aloittaa uudelleen.
: Vaihtoehtoinen menetelmä päättää DMA- tai mikä tahansa l/O- operaatio on ohjelmoida DMA- tai l/O-ohjain ilmaisemaan tietty datakuvio viimeisenä siirrossa, sellainen kuten tiedoston loppu (EOF)- tai siirron loppu 30 (EOT)-merkki.
Vaikka tekniikan tason DMA l/O-tekniikat sallivat tietokoneen suorittaa muita tehtäviä samalla kun ne odottavat l/O-operaation loppuun • suorittamista, nämä muut tehtävät eivät välttämättä jatka samalla suoritus- nopeudella kuin aktiivisen DMA-operaation puuttuessa, johtuen samaan . : 35 muistiin pääsyyn liittyvästä kilpailutilanteesta. Jos muisti, johon tietokone ja 4 112709 DM-ohjain voivat molemmat olla yrittämässä pääsyä, on ainakin kaksi kertaa niin nopea kuin tarvitaan yhteen pääsyyn, se voi olla aikajaettu vuorottelemaan DMA- ja tietokonepääsyjen välillä, niin että kumpikaan ei havaitse viivettä. Toisaalta, jos nopeus on rajoitettu muistin saantiajalla, niin 5 tekniikan tason tekniikat vaativat, että jompi kumpi prosessi, joko laskenta tai I/O, laitetaan odottamaan, jotta sallitaan toisen prosessin jatkua. Tähän liittyy se epäkohta, että ei voida olla täysin varmoja kuinka kauan tietyn ohjelman suorittaminen tarkalleen kestää, jos DMA-operaatiot voivat varastaa RAM-saantijaksoja mielivaltaisella hetkellä. Reaaliaikaisissa sovelluksissa, 10 sellaisissa kuin aikajakomonikäyttöradioliikennelaitteen toiminnan ajoituk-senohjaus, tarkka ajoitus on tärkeä säilyttää.
Tämän vuoksi on toivottavaa aikaansaada parannettu DMA-ohjain, joka sallii oheislaiteohjaimien tai tiettyyn käyttöön tarkoitettujen oheispro-sessoreiden pääsyn yleiskäyttöisen mikroprosessorin data-RAMiin tavalla, 15 joka ei aiheuta kilpailutilannetta, jolloin vältetään häiriö ohjelman suorituksen ajoituksessa.
Tiettyyn käyttötarkoitukseen varattujen oheisprosessorien kytkentä yhteen yleiskäyttöisten mikroprosessorien kanssa on myös tunnettua tekniikkaa. Muutamat nykyaikaiset digitaaliset signaaliprosessorit, jotka on 20 sovitettu suorittamaan nopeaa kiinteän tai liukuvan pilkun aritmetiikkaa, käsittävät ns. isäntäportin. Isäntäportti on joukko nastakytkentöjä yleiskäyttöiseen mikroprosessoriin liittymistä varten, joka ohjaa signaaliprosessorin aktiviteettia. Tämän isäntäporttikytkennän luonne ei kuitenkaan * salli oheisprosessorin suoraa pääsyä mikroprosessorin datamuistiin, ei edes 25 silloin jos isännällä on sitä vastoin suora pääsy oheisprosessorin muistiin.
Viimeksi mainittu on vähemmän kilpailua aiheuttava, koska oheisprosessorit, .* mukaanlukien niiden sisäiset muistinopeudet, ovat yleensä suuruusluokkaa nopeammat kuin yleiskäyttöinen isäntäprosessori. Täten on mahdotonta, että yleiskäyttöinen isäntäprosessori merkittävästi viivästäisi nopeaa oheispro-30 sessoria, mutta oheisprosessori voisi toisaalta merkittävästi viivästää isännän toimintaa.
Tällaiset esimerkit tunnetuista DMA-operaatioista, joita oheispro- : sessorit suorittavat isäntäprosessoreille, ovat tunnettua DMA-tyyppiä, joka ; mahdollistaa pääsyn muistiin neuvottelemalla kilpailevien pääprosessorin ja ; 35 oheisprosessorin pyyntöjen välillä, vaikka päinvastaisessa suunnassa * * 5 112709 isännän pääsy oheisprosessorin muistiin saavutetaan varastamalla kellojaksoja. Täten on toivottavaa aikaansaada laite, joka mahdollistaa yhdelle tai useammalle oheisprosessorille kilpailua aiheuttamattoman pääsyn isännän luku-ja kirjoitusmuistiin.
5 Yhteenveto
Esillä olevan keksinnön päämääränä on täten aikaansaada parannettu DMA-ohjain, joka mahdollistaa oheislaiteohjaimien tai erikoiskäyttöön varattujen oheisprosessorien päästä yleiskäyttöisen mikroprosessorin data-RAMiin tavalla, joka ei aiheuta kilpailua, niin että vältetään ajoituksen häirintä.
10 Esillä olevan keksinnön toisena päämääränä on aikaansaada laite, joka sallii yleiskäyttöisen mikroprosessorin jatkaa käskyjen hakemista ohjel-mamuistista, vaikka samanaikaisesti sallitaan oheislaiteohjaimien tai erikoiskäyttöön varattujen oheisprosessorien päästä yleiskäyttöisen mikroprosessorin data-RAMiin.
15 Esillä olevan keksinnön vielä eräänä päämääränä on aikaansaada laite, jolla on yllä olevat piirteet ja joka toimii yhdessä yleiskäyttöisen mikroprosessorin kanssa, jolla on Von Neumann -arkkitehtuuri.
Esillä oleva keksintö toimii järjestelmässä, jossa ohjausmikropro-sessori suorittaa ohjauskäskyjä, jotka on tallennettu lukumuistissa (ROM).
20 Ohjausohjelman käskyt usein, mutta eivät aina, lukevat dataa lukumuistista (RAM) tai kirjoittavat dataa lukumuistiin, joka palvelee datamuistina. Täten ohjausprosessori ei pääse datamuistiin, kun se lukee käskyjä ROMista eikä ' edes tietyllä osalla käskyistä käskynsuorituksen aikana. Kuitenkin, vaikka : ohjausprosessori on hakemassa seuraavaa käskyään lukumuistista, toisen ,: 25 yksikön samanaikainen pääsy datamuistiin olisi normaalisti mahdoton, koska • mikroprosessorit yleensä käyttävät samaa osoita-dataväylää kytkemään : kaikki muistityypit, joko ohjausmuisti (ROM) tai datamuisti (RAM). Kuitenkin esillä oleva keksintö muodostaa erillisen väylän ROM- ja datamuistille käyt-; täen kytkintä, joka erottaa datamuistin ohjausprosessorista ainakin aina silloin 30 kun ohjausprosessori on lukemassa käskyä ROMista. Kytkintä voi käyttää ohjaussignaali, jonka mikroprosessori tuottaa ja joka osoittaa, että "käskyn-haku"-operaatio on tapahtumassa. RAM-väylän neuvottelulogiikka käyttää tätä signaalia ja muita signaaleja määrittämään milloin RAM-väylä voidaan : : allokoida muille prosessoreille. Vaihtoehtoisesti voi olla olemassa ilmaisuväli- ·. : 35 neet sen ilmaisemiseksi, onko ohjausprosessori yrittämässä pääsyä osoittee- Ί A r, ' Ί {'. Γ'; 6 ί ! Δ / U y seen, joka ei vastaa datamuistiin liittyvää osoitealuetta.
Datamuistin ja ROMin suhteellisesta nopeudesta riippuen aika, jonka aikana ohjausprosessori suorittaa käskynhaun, voi sallia yhden tai useamman datamuistin pääsyn oheisprosessorien tarpeetonta palvelemista 5 varten. Sen jälkeen kun suoran muistinhaun (DMA)-ajoitin on palvellut tämän määrän datamuistipääsyjä, se lopettaa pääsyn datamuistiin ajoissa, niin että ohjausprosessori voi, jos tarvitaan, kytkeä ohjaussignaali, joka uudelleenkyt-kee RAM-väylän ohjausprosessorille. Muiden prosessorien pääsyt muistiin eivät siten lainkaan hidastuta ohjausprosessorin ohjelman suoritusta.
10 Esillä olevan keksinnön toisen piirteen mukaisesti poikkeuksena sallitaan suuriprioriteettisten RAM-väyläpyyntöjen mennä ohjausprosessorin edellä. Suuri prioriteetti voidaan antaa esimerkiksi kun datamuistipääsyjen jono, jota DMA-hajoitin ylläpitää, on saavuttanut suurimman sallitun jonopituuden, missä pisteessä ajoittimen sallitaan pidentää datamuistin 15 käyttöä kunnes se on tyhjentänyt kyseessä olevan jonon, ja ohjaus-prosessorille annetaan ODOTA-signaali, mikäli se yrittää päästä datamuistiin tällä välillä.
Täten, keksinnön erään piirteen mukaisesti laite, joka ohjaa datamuistiin pääsyä käsittää ohjausprosessorin liitäntävälineen mainitun 20 ohjausprosessorin kytkemiseksi, oheisprosessorin liitäntävälineen oheisprosessorin kytkemiseksi; ilmaisuvälineen, joka on kytketty ohjausprosessorin liitäntävälineeseen, sen ilmaisemiseksi, milloin ohjauspro-' sessori pyytää pääsyä ohjelmamuistiin ja ensimmäisen pääsynohjaussignaa- : Iin synnyttämiseksi vasteena sille; ajoitusvälineen, joka on kytketty oh- 25 jausprosessorin liitäntävälineeseen, sen ilmaisemiseksi, milloin : oheisprosessori pyytää pääsyä datamuistiin ja toisen pääsynohjaussignaalin : synnyttämiseksi vasteena sille: kytkimen, jolla on kytkimen ohjauksen sisääntuloväline, ensimmäinen liitäntäväline ohjausprosessoriin liittyviin muistiosoite-, muistidata- ja muistiohjaussignaaleihin kytkeytymistä varten, ; 30 toinen liitäntäväline oheisprosessoriin liittyviin muistiosoite-, muistidata- ja muistiohjaussignaaleihin kytkeytymistä varten, ja datamuistiliitäntäväline datamuistiin kytkeytymistä varten, jolloin kytkin vuorotellen kytkee ensimmäisen liitäntävälineen ja toisen liitäntävälineen datamuistilii-: täntävälineeseen vasteena kytkimen ohjaussignaalille, joka vastaanotetaan : 35 mainitusta ohjaussisääntulosta; ja neuvotteluvälineen, joka on kytketty 7 112709 ilmaisuvälineeseen, ajoitusvälineeseen ja kytkimeen kytkinohjaussignaalin synnyttämiseksi vasteena ensimmäiselle ja toiselle pääsynohjaussignaalille. Piirrosten lyhyt selitys Nämä ja muut keksinnön piirteet, päämäärät ja edut tulevat 5 ymmärretyksi lukemalla seuraava yksityiskohtainen selitys yhdessä piirrosten kanssa, joissa kuvio 1 on lohkokaavio aikajakomonipääsytyyppisestä (TDMA) digitaalisesta kannettavasta solukkopuhelimesta, joka sisältää esillä olevan keksinnön piirteet; 10 kuvio 2 on lohkokaavio esillä olevan keksinnön mukaisesta TDMA- ohjaimesta; kuvio 3 on lohkokaavio esillä olevan keksinnön mukaisesta DMA-kanavaohjaimesta; kuvio 4 on lohkokaavio esillä olevan keksinnön mukaisesta 15 rakenteesta DMA-laskureille; ja kuviot 5-9 havainnollistavat erilaisia ajoitusesimerkkejä, jotka liittyvät esillä olevan keksinnön mukaisiin DMA-prioriteettimenettelyihin. Yksityiskohtainen selitys
Esillä oleva keksintö liittyy nopeisiin, erityistarkoituksiin varattuihin 20 tietokonearkkitehtuureihin, kuten sellaisiin, joita voidaan käyttää käsittelemään akustista, radio- tai tutkadataa joko lähetystä tai vastaanottoa varten tai molempia varten samanaikaisesti. Tällainen tietokonearkkitehtuuri ‘ tyypillisesti käsittää ohjausprosessorin, sellaisen kuten yleiskäyttöinen mik- • roprosessorisiru, jota käytetään ohjaaman yhden tai useamman : : 25 erikoistarkoitukseen varatun signaaliprosessorisirun aktiviteettia. Esillä oleva • keksintö sallii kaikkien prosessoreiden jakaa yhteinen lukumuisti RAM (siru), : niin että RAM-sirua voidaan käyttää välineenä, jonka kautta data, jonka yksi siru on jo käsitellyt yhdellä tavalla, saadaan käyttöön toiselle sirulle käsi-; ’ ; teltäväksi toisella tavalla.
• , 30 Esillä olevan keksinnön yksi piirre käsittää erillisen dataväylän ' muodostamisen pääprosessorin kytkemiseksi data-RAMiinsa, jopa silloin kun - ’ mainittu prosessori on Von Neumann -tyyppinen, sellainen kuten Z80, joka • itsessään käsittää ainoastaan yhden dataväylän. Kytkin on sovitettu ; kytkemään esimerkiksi Z80 Von Neumann -tietokoneväylä, data-RAMiin, kun , , : 35 tarvitaan pääsyä tähän data-RAMiin, ja kytkemään se muutoin irti niin että 8 112/09 sallitaan oheisprosessorien pääsy muistiin. Päinvastoin kuin tekniikan tason ratkaisuissa tietokoneilta ei (ainakaan normaaleissa olosuhteissa) koskaan kielletä pääsyä data-RAMiin, kun tällaista pääsyä tarvitaan, jolloin ohjelman hidastumista ei esiinny. Tämä on mahdollista, koska keksinnön mukaiselle 5 DAM-ohjaimelle on annettu runsaasti mahdollisuuksia suorittaa pääsy data-RAMiin varastamatta tietokoneen kellojaksoja. Esimerkinomaisen Z80 Von Neumann -tietokoneen täytyy, säännöllisesti, etsiä seuraava ohjelmakäskynsä ohjelman muistista, esim. ROM (ja sen luonnostaan yksiväyläinen Von Neumann -arkkitehtuuri ei voi samanaikaisesti pyytää pääsyä RAMiin. Tämän 10 vuoksi tietokoneen jokainen käskynsuoritusjakso antaa jakson, jonka aikana tietokone ei käytä RAMia, koska tietokone on kyseisellä hetkellä hakemassa käskyä ROMista.
Esillä olevan keksinnön mukaisesti tietokoneen "käskynhaku"-jakson esiintyminen ilmaistaan, jotta voidaan ohjata kytkimen toimintaa, joka 15 erottaa data-RAMin tietokoneen Von Neumann -väylästä ja kytkee sen, tämän sijasta, DMA-ohjaimen väylään, jonka kautta muut laitteet, sellaiset kuten oheislaiteohjaimet tai oheisprosessorit, voivat saada pääsyn muistiin. Monet tietokoneet tuottavat "käskynhaku"-indikaatiosignaalin, jota voidaan käyttää tähän tarkoitukseen esillä olevassa keksinnössä. Esimerkiksi 20 esimerkkinä käytetty Z80-prosessori muodostaa signaalin, jota kutsutaan M1, joka osoittaa käskynhakujakson esiintymisen. Muut prosessorit muodostavat myös tällaisia signaaleja, mutta mahdollisesti eri muodossa, kuten 8085:n • · ' toimintatilasignaalit SO, S1.
' : Vaihtoehtoisesti kytkimen toimintaa voidaan ohjata signaalilla, joka : : 25 johdetaan ilmaisemalla, että prosessori on yrittämässä pääsyä muistiosoittee- • | seen, joka on data-RAMiin liittyvällä alueella. Tällaisen signaalin puuttuminen ; : osoittaisi, että data-RAM voidaan erottaa tietokoneen Von Neumann - väylästä ja kytkeä tämän sijasta DMA-ohjaimen väylään. Tämä tullaan ; ; selittämään yksityiskohtaisemmin alla.
30 Keksinnön mukainen DMA-ohjain on täten synkronoitu myöntämään DMA-laitteille pääsyjä data-RAMiin isäntäprosessorilta saatavan '·* käskynhakuohjaussignaalin avulla. Keksinnön toisessa suoritusmuodossa * DMA-ohjain lisäksi käsittää välineet, joka muodostaa oheisprosessorien . pyytämille DMA-pääsyille jonon periaatteella, jossa ensimmäisenä tullut . , ; 35 pyyntö palvellaan ensimmäisenä. DMA-ohjain voi lisäksi käsittää välineet, 9 112709 jotka muodostavat useita samaprioriteettisten osoitepyyntöjen jonoja, joissa eri jonoilla on eri prioriteetit. Alemman prioriteetin jono vastaanottaa pääsyn hyväksymisen vain jos kaikki ylemmän prioriteetin jonot ovat tyhjiä. Vaihtoehtoisesti erillisille lineaarisille jonoille, joilla on samanlaiset prioriteetit, voidaan 5 myöntää pääsymahdollisuudet "round robin"-ajoittimen mukaisesti.
Yleisesti voidaan olettaa, että DMA-pyyntöjen keskimääräinen tiheys voidaan helposti sovittaa käytettävissä olevien DMA-mahdollisuuksien keskimääräiseen lukumäärään. Kuten yllä selitettiin, DMA-mahdollisuus tarjotaan joka kerta kun tietokone suorittaa käskyn, ja tämä tapahtuu 10 tyypillisesti nopeudella ainakin 1 miljoona sekunnissa. Täten on yleensä niin, että on olemassa DMA-kapasiteetti, jonka suuruus on 1 megatavu sekunnissa, ilman että hidastetaan mikroprosessoria. On jopa mahdollista, että voidaan sovittaa kaksi DMA-pääsyä yhden käskynhaun antaman tilan sisään, jolloin aikaansaadaan DMA-kapasiteetti, jonka suuruus on 2 megatavua se-15 kunnissa.
Lisäksi voi olla, että osa käskyistä sisältää kahden tai kolmen tavun hakemisen ROMista, jolloin se antaa aikaa useille peräkkäisille DMA-pääsyille RAMiin. Lisäksi osa käskyistä ei ehkä osoita RAMia lainkaan vaan tämän sijasta käsittävät ainoastaan ROMin, EEPROMin, sisäisten 20 rekistereiden tai l/O-porttien käyttöä. Täten tyypillinen yleiskäyttöinen prosessori ei keskimäärin käytä kuin murto-osan saatavilla olevasta RAM-väylän kaistanleveydestä, edes silloin kun se toimii täydellä nopeudella, niin ’ että suuri osuus RAM-väylän kaistaleveydessä on oheisprosessorien '· · saatavilla keksinnön mukaisen DMA-ohjaimen avulla. DMA, joka on 2-4 : : 25 megatavua sekunnissa, on keskimäärin enemmän kuin riittävä tukemaan • : monia suurinopeuksisia oheislaitteita tai oheisprosessoreita, sellaisia kuten ·, ·* reaaliaikaiset puhe-l/O-laitteet, joita on esimerkkinä käytetyssä digitaalisen aikajakomonikäyttötyyppisen (TDMA) kannettavan solukkopuhelimen i‘ : toteutuksessa. Tällaiset oheisprosessorit tyypillisesti lukevat rajoitetun . . 30 määrän datatavuja ja sitten käyttävät näitä datatavuja suorittaessaan suuren määrän matemaattisia tai loogisia operaatioita, jotka antavat rajoitetun > » ’··’ määrän tuloksia, jotka sitten tallennetaan takaisin data-RAMiin käyttäen ' : DMAta. Jos tyypillisesti suoritettaisiin 40 matemaattista operaatiota jokaista ; DMA-käsiteltyä tavua kohti, niin DMA, jonka suuruus on 1 megatavu , ; 35 sekunnissa, voisi tukea mikroprosessoria, joka toimii nopeudella 40 miljoonaa 10 112709 käskyä sekunnissa (MIPS). On kuitenkin yleensä olemassa mahdollisuus, että joukko oheisprosessoreita synnyttää DMA-pyyntökasoja lähekkäisinä hetkinä ja täten täyttävät saatavilla olevan jonotilan DMA-ohjaimessa. Keksinnön mukainen DMA-ohjain tyypillisesti toteuttaisi jonot käyttäen 5 ensimmäinen sisään-ensimmäinen ulos -muistia (FIFO). FIFO-muistikoko määrittää niiden näennäisesti samanaikaisesti vastaanotettujen pyyntöjen lukumäärän, jotka voidaan sijoittaa jonoon ilman ylivuotoa. Esimerkkinä käytetyssä digitaalisessa TDMA-solukkopuhelimessa, FIFOn pituus, joka on 16 tavua, antaa riittävän tasaisuuden DMA-aktiviteetille. Kuitenkin alan 10 ammattilaiset havaitsevat, että sopivan FIFO-muistikoon valinta on sovellutuksista riippuvainen ja voi tämän vuoksi erota esillä olevasta esimerkistä.
Jotta aikaansaataisiin enemmän joustavuutta rykelmänä esiintyvien DMA-pyyntöjen käsittelemiseksi tehokkaammin, keksinnöllinen DMA-ohjain 15 voi myös käsittää välineet, jotka rikkovat "ei kilpailua"-sääntöä palvellakseen suuren prioriteetin DMA-jonoa, jonka FIFO on tullut täyteen. Kun "FIFO TÄYNNÄ"-indikaatiosignaali synnytetään tällaiselle jonolle, DMA-ohjaimelle voi olla annettu data-RAM-hakuja varten suurempi prioriteetti kuin tietokoneelle. Mikroprosessorin jo käynnistetyn RAM-pääsyn annetaan ensin 20 tulla suoritetuksi loppuun, mikä loppuun suorittaminen ilmaistaan esimerkiksi poistamalla tietokoneelta RAMille tuleva luku- tai kirjoitussignaali. Sitten, jos tietokone seuraavaksi suorittaa käskynhaun ROMista, niin RAM-väylä ‘ vapautetaan ja DMA-ohjaimelle annetaan pääsy RAMiin. DMA-ohjain
säilyttää pääsyn kunnes jono on täysin palveltu ja jonolle synnytetään FIFO
i 25 TYHJÄ-signaali. Jos mikroprosessori kuitenkin pyytää toista datamuistiin j pääsyä sensijaan että se suorittaisi käskynhaun ROMista, tämä pyyntö : asetetaan odottamaan, tuottamalla ODOTA-signaali tietokoneelle, kunnes FIFO TYHJÄ-signaali tuotetaan. Jos tietokone ei ollut osoittamassa RAMia, kun FIFO TÄYNNÄ-signaali synnytettiin, DMA-jonolle myönnetään välitön , 30 pääsy ja se säilyttää pääsyn kunnes jono on tyhjä. Jos tietokone oli ; osoittamassa RAMia, kun FIFO TÄYNNÄ-signaali synnytettiin, tietokoneen ’ toiminnan sallitaan jatkua loppuun, ja jos tietokoneen seuraava pääsypyyntö : on myös RAMiin, se kielletään ja tietokone asetetaan odottamaan, niin että : ; DMA-jonolle annetaan aikaa tyhjentyä.
, , : 35 Vaihtoehtona yllä oleville välineille, jotka rikkovat 11 112709 kilpailemattomuusstrategiaa DMA-pyyntöjen kiireisen ryhmän käsittelemiseksi, voidaan käyttää "lomitus-strategiaa", jolloin DMA-ohjaimelle allokoidaan RAM-pääsyjä vuorotellen tietokoneen kanssa aina kun molemmat vaativat joukkoa peräkkäisiä pääsyjä. Tämän lomitustekniikan 5 vaikutus on, että sekä tietokone että DMA-ohjain hidastuvat sen sijaan että viivästettäisiin tietokonetta täydellisesti kunnes DMA-jono on tyhjä.
Mikäli DMA-jono ei vastaanota mitään etuoikeutettua käsittelyä, täysi prioriteetti tietokoneen yli, jos FIFO TÄYNNÄ-signaali synnytetään, tai vuorotteleva prioriteetti kilpailevien tietokoneen RAM-pääsypyyntöjen kanssa, 10 kun FIFO TÄYNNÄ-signaali on synnytetty, riippuu prioriteettitasosta, joka DMA-jonolle on allokoitu. Prioriteettitaso voi olla kiinteä (langoitettu), tai se voi olla tietokoneen itsensä ohjelmoima kokoonpanossa tai myöhemmin. Tekemällä prioriteettitaso ohjelmoitavaksi, voidaan aikaansaada suuri joustavuus muuttaa dynaamisesti DMA-prioriteetteja sovelluksen mukaan tai 15 kulloisenkin toimintatilan mukaan sovelluksen sisällä.
Keksinnön toisen piirteen mukaisesti DMA-jonon prioriteettitaso voi myös määrittää yhden DMA-laitteen RAM-pääsypyyntöjen prioriteetin muiden DMA-pyyntöjen yli sen lisäksi että se määrittää prioriteetin prosessorin tekemien pyyntöjen yli. Tällaiset jonoon asetetut prioriteetit ovat alalla 20 tunnettuja keskeytysten priorisoinnin yhteydessä, jossa sallitaan oheislaitteiden keskeyttää meneillään oleva tietokoneohjelma erityishuomion saamiseksi. Priorisoitujen keskeytysten ei kuitenkaan koskaan sallita * · ‘ keskeyttää käskyä keskellä sen suoritusta, kuten keksinnöllisessä DMA- i ohjaimessa, eivätkä ne myöskään aiheuta keskeytä suoran muistiin pääsyn
I t I
: 25 saamiseksi. Toisaalta tekniikan tason laitteet, jotka vaativat suoraa muistiin
• I
· pääsyä, keskeyttävät prosessorin ohjelman suorituksen. Tämä tehdään :Ί*: tyypillisesti ensin antamalla "VÄYLÄPYYNTÖ"-signaali mikroprosessorille ja sitten odottamalla kunnes mikroprosessori vastaa "VÄYLÄ MYÖNNETTY"-!' ·. signaalilla. Mikroprosessorin ohjelman suorittaminen keskeytetään tässä I i .... ..
, ·", 30 tekniikan tason menetelmässä, kunnes VAYLAPYYNTO-signaali poistetaan.
’·' Esillä olevan keksinnön esimerkinomainen sovellus on esitetty : ·..: kuviossa 1 aikajakomonipääsytyyppisenä (TDMA) digitaalisena kannettavana ’ solukkopuhelimena. Alan ammattimiehille on kuitenkin helposti ilmeistä, että , . esillä olevan keksinnön erilaisia piirteitä voidaan käyttää missä tahansa , . : 35 tietokonearkkitehtuurissa, jossa data-RAM on jaetta mikroprosessorin ja Λ Λ r ·. " 7 Γϊ Ρ· Ί2 I I L f U > yhden tai useamman oheisprosessorin kesken, kun mikroprosessori käyttää eri muistilähdettä ohjelmakäskyjään varten. Täten digitaalisen kannettavan TDMA-solukkopuhelimen toiminnan täydellinen selitys ei ole oleellinen esillä olevan keksinnön täydellisen ymmärtämisen kannalta. Sen sijaan alla 5 esitetään tällaisen puhelimen toiminnan yleiskuvaus, jonka päätarkoituksena on havainnollistaa, kuinka esillä olevan keksinnön erilaiset piirteet voivat helpottaa ohjausprosessorin, useiden oheisprosessoreiden ja jaetun datamuistin yhteistoimintaa.
Viitaten nyt kuvioon 1, esitetyllä digitaalisella kannettavalla TDMA-10 solukkopuhelimella on kaksi perustoimintatilaa: joutotila ja keskustelutila. Joutotilassa puhelin kuuntelee kutsu- tai hakukanavaa, jonka solukkoverkko (ei esitetty) yleislähettää, mutta se ei lähetä. Signaalinkäsittelyaktiviteetti on täten alhainen joutotilan aikana ja DMA-pyyntöjen lukumäärä sekunnissa on alhainen.
15 Keskustelutilassa puhelin vastaanottaa antennin 1 ja vastaanottimen 2 avulla TDMA-signaalipurskeita, jotka kuljettavat koodattua, digitoitua puheinformaatiota, solukkoverkosta. Puhelimen täytyy puskuroida digitoitu puheinformaatio, demoduloida se, dekoodata se ja konvertoida se jatkuvaksi puheaaltomuodoksi. Enemmän tai vähemmän samaan aikaan, 20 ainakin käyttäjän näkemänä, hänen puheensa syötetään mikrofonista 17, digitoidaan, koodataan ja lähetetään datapurskeina allokoidussa lähetysai-kavälissä. Lähetysaikavälit ja vastaanottoaikavälit lomitetaan siten, että » · ' \ puhelimen ei tarvitse lähettää ja vastaanottaa samaan aikaan, mikä helpottaa • ': saman antennin 1 käyttöä. Täten TDMA-kehysjakson aikana täytyy suorittaa
1 I I
: '.: 25 joukko operaatioita seuraavasti: ! · 1. Käyttää lähetys/vastaanotto (T/R)-kytkintä 4 kytkemään antenni 1 : f: vastaanottimeen 2, ja syöttää virta vastaanottimelle.
2. Vastaanottaa analoginen signaalipurske vastaanottimessa 2, : ; käyttää analogiadigitaali (A/D)-muunninta 9 digitoimaan purskesignaali, ja ,' · ·, 30 siirtää digitoitu signaali DMA-ohjaimen 6 kautta datamuistin 8 puskurialueelle, sitten kytkeä antenni 1 lähettimeen 3 ja poistaa käyttöteho vastaanottimelta.
t I
' 3. Aktivoida purskedemodulaatio oheisprosessori 11 demoduloi- ‘' ' · maan purske, joka on tallennettu datamuistin 8 puskurialueelle, ja palauttaa . demoduloidut tulokset datamuistiin 8.
, : 35 4. Aktivoida salaus/salauksenpurkuyksikkö 12 hakemaan
I I
13 1 12709 lähetyssekvenssissä seuraavana oleva purske datamuistista 8, salaamaan se, ja tallentamaan salattu data takaisin muistiin 8.
5. Aktivoimaan lähetin 3 lähettämään sekvenssissä seuraavana oleva salattu datapurske. Tämän datapurskeen data haetaan datamuistista 8 5 ja muunnetaan ennen lähetystä analogiseen muotoon digitaalianalogia (D/A) -muuntimella 10.
6. Vaiheen 3 jokaisen suorituksen jälkeen aktivoida salaus/salauk- senpurkuoheisprosessori 12 koodatun digitaalisen puheen salauksen purkamiseksi.
10 7. Sen jälkeen kun vaiheen 6 kaikki neljä operaatiota on suoritettu loppuun, aktivoida virheenkorjausdekooderi oheisprosessori 13 poistamaan lomitus ja dekoodaamaan salauksesta puretut tulokset, niin että tuotetaan dekoodattu äänidata tai ohjausdata.
8. Vaiheen 7 jokaisen suorituksen jälkeen aktivoida 15 äänidatadekooderi 14 muuntamaan dekoodattu äänidata joukoksi pulssikoodimoduloituja (PCM) -aaltomuotonäytteitä ja asettamaan ne ympyräpuskuriin datamuistissa 8.
9. Samaan aikaan, joka 125. mikrosekunti, ottaa yksi aikaisemmin tallennettu PCM-näyte datamuistista 8, konvertoida se digitaalisesta 20 analogiseen muotoon D/A-muuntimella 10, ja ohjata kuuloketta 8 analogisella aaltomuodolla. Myöskin joka 125. mikrosekunti, muuntaa analoginen aaltomuotonäyte mikrofonilta 17 digitaaliseen muotoon A/D-muuntimella 9 ja ’ tallentaa se lähetettävän puheen ympyräpuskuriin, joka sijaitsee : datamuistissa 8.
: : 25 10. Joka 20. millisekunti käsitellä 160 PCM-näytettä lähetettävän • puheen puskurista, niin että synnytetään äänidataa ja sijoitetaan äänidata ; : muistiin.
11. Vaiheen 10 jokaisen suorituksen jälkeen aktivoida ; kanavakooderi 11 virhekorjauskoodaamaan äänidata ja lomittamaan 30 koodattu data joukkoon TDMA-purskeita ja muodostamaan purskeet sekvenssissä datamuistiin 8.
· Yllä olevasta voidaan nähdä, että useita oheisprosessoreita 19 • täytyy aktivoida eri aikoina ja että muutamat prosessit ovat näennäisesti , samanaikaisia tai niillä on epävarmat ajoitukset. Koska tällaiset asynkroniset 35 prosessit voivat synnyttää suuren määrän pääsypyyntöjä samaan muistiin, Γ * 14 1 12709 DMA-ohjaimen saattaa tarvita lomittaa tällaisten pyyntöjen hyväksymiset tietyn DMA-kanavan prioriteetin mukaan. Esimerkiksi DMA-ohjaimen 6 saattaa täytyä ylläpitää järjestelyä, jossa DMA-kanavat, joilla on suurin prioriteetti tehdä pääsypyyntöjä datamuistiin 8, saavat etusijan 5 pääsypyyntöihin nähden, joita tekevät alemman prioriteetin kanavat ja ohjausprosessori 5, ja jossa pyynnöt, joita tekevät yhtä suuren prioriteetin omaavat DMA-kanavat, limitetään round robin-periaatteella niiden DMA-tilaisuuksien kesken, joita niitä allokoidaan. Viimeksi mainitussa tapauksessa DMA-tilaisuudet voivat olla joko myönnettyjä etuoikeudella niihin pyyntöihin 10 nähden, joita ohjausprosessori 5 tekee (kun kukin DMA-kanavista on suurin prioriteetin kanava), tai ne voivat olla myönnettyjä vuorottelevalla periaatteella ohjausprosessorin 5 tekemien pyyntöjen kanssa (kun jokaisella DMA-kanavista on keskitasoinen prioriteetti).
Muutamat prosessit aloitetaan ainoastaan muista riippuvaisina tai 15 riippuvaisina siitä, että määrätty määrä muita operaatioita on saatettu loppuun. Tämä orkestrointi on päätietokoneen tai ohjausprosessorin 5 toiminto. Ohjausprosessori 5 aktivoi DMA-ohjaimen 6 välittämään datamuistista 8 yhdelle oheisprosessoreista 19 tai yhdeltä ohjausprosesso-reista 19 datamuistiin 8 määrätyn määrän tavuja, ja se myös aktivoi 20 oheisprosessorin suorittaman halutun operaation. Ohjausprosessori 5 vastaanottaa keskeytyksen DMA-ohjaimilta 6, kun operaatio on saatettu loppuun. Ohjausprosessori 5 määrittää sitten täytyykö sen laukaista toisen oheisprosessorin ja DMA-aktiviteetin aktivointi. Samalla kun DMA-ohjain 6 ja ; oheisprosessori toimivat itsenäisesti, ohjausprosessori 5 käsittelee hitaampia, 25 alemman prioriteetin tehtäviä, sellaisia kuten käyttäjän näytön päivitys ja käyttäjän näppäimistön skannaus, joita yhdessä kutsutaan ihminen-kone-liitännäksi (MMI) (ei esitetty).
Esillä oleva keksintö sopii ideaalisesti toteuttamaan sellainen : järjestelmä, joka yllä kuvattiin. Kuviossa 1 esitetty esimerkinomainen sovellus 30 tullaan nyt selittämään yksityiskohtaisemmin.
Antenni 1 on kytketty joko lähettimeen 3 tai vastaanottimeen 2 T/R-kytkimellä 4, jota ohjataan ohjausprosessorilla 5. Ohjausprosessori 5 kykenee myös aktivoimaan vastaanottimen 2 ja A/D-muuntimen 9 vastaanottamaan TDMA-signaalipurskeen, digitoimaan sen käyttäen edullisesti logpolaarista 35 tekniikkaa, joka on selostettu US-patentissa 5 048 059, joka täten 15 1 12709 sisällytetään tähän viitteenä, ja aktivoimaan DMA-ohjaimen 6, joka on rakennettu esillä olevan keksinnön mukaisesti, reitittämään digitoitu vastaanotettu data luku-kirjoitusmuistiin 8. A/D-muunnin 9 on myös kytketty mikrofoniin 17 tarkoituksena digitoida mikrofonisignaalit, jotka myös reititetään DMA-5 ohjaimen 6 kautta datamuistiin 8. Ohjausprosessori 5 voi myös ohjelmoida DMA-ohjaimen 6 generoimaan keskeytyksen sen jälkeen kun on kerätty tietty määrä vastaanotettuja datanäytteitä, missä pisteessä ohjausprosessori 5 aktivoi uudelleen demodulointioheisprosessorin 11 itsenäisesti lukemaan vastaanotetun datan takaisin datamuistista 8 keksinnöllisen DMA-ohjaimen 6 10 avulla, käsittelemään se omalla nopeudellaan, ja tallentamaan käsittelytulokset takaisin datamuistiin 8 DMA-ohjaimen 6 avulla. Ohjausprosessori 5 voi ohjelmoida DMA-ohjaimen 6 synnyttämään keskeytyksen sen jälkeen kun odotettu määrä käsittelytuloksia on siirretty DMA-operaatiolla demodulaatio-oheisprosessorilta 11 muistiin. Ohja-15 usprosessori 5 voi sitten aktivoida salaus/salauksenpurkuoheis-prosessorin 12 samalla tavoin lukemaan tulokset takaisin muistista 8, purkamaan niiden salauksen ja palauttamaan salauksesta puretut tulokset datamuistiin 8. Edullisessa toteutuksessa salauksenpurkuoperaatio suoritetaan lennossa, niiden tulosten välissä, jotka annetaan ulostulona demodulaatio- 20 oheisprosessorilta 11 ja DMA-ohjelmalta 6, jotta vältetään liian suuri määrä muistin lukemisia ja uudelleenkirjoittamisia. Tällaisessa sovelluksessa salaus/salauksenpurkuoheisprosessori 12 olisi osa DMA-ohjainta 6, niin että ' se voisi operoida demodulaatio-oheisprosessorilta 11 tulevaa dataa ennen- : kuin se tallennetaan takaisin datamuistiin 8, millä vältetään se, että data 25 täytyy kirjoittaa datamuistiin 8, uudelleenlukea ja jälleen uudelleenkirjoittaa.
: Vaihtoehtoisessa suoritusmuodossa ohjausprosessori 5 suorittaa : tämän sijaan ohjelmallisen salauksenpurkualgoritmin, joka suoraan operoi datamuistiin 8 tallennettuja tuloksia niiden salauksen purkamiseksi. Nämä : valinnat riippuvat salausalgoritmin valinnasta. Lisäksi esillä olevan keksinnön 30 DMA-ohjain 6 voidaan ohjelmoida oheisprosessorin 5 toimesta suorittamaan datan reititys jonkin yllä esitetyn salauksenpurkutekniikan mukaisesti, mikä ’···' täten sallii saman laitteiston suorittaa mikä tahansa salauksenpurkutila : : olosuhteesta riippuen.
y: Salauksenpurkuoperaation jälkeen DMA-ohjain voi olla ennalta . , : 35 ohjelmoitu synnyttämään ohjausprosessorille 5 keskeytys, joka ilmoittaa, että 112709 16 uusi lohko salauksesta purettua dataa on tallennettu muistiin. Ohjausprosessori 5 voi sitten kasvattaa käsiteltyjen lohkojen lukemaa ja määrittää onko aika aktivoida virheenkorjausdekoodausoheisprosessori 13 suorittamaan näiden lohkojen yhteinen lomituksenpurku ja dekoodaus. Jos 5 näin on, DMA-ohjain 6 aktivoidaan välittämään data dekoodausta varten virheenkorjausdekoodausoheisprosessorille 13 ja vastaanottamaan odotettu määrä dekoodaustuloksia tältä oheisprosessorilta reititettäväksi takaisin datamuistiin. DMA-ohjain 6 voi olla asetettu keskeyttämään ohjausprosessori 5, kun odotettu määrä tuloksia on käsiteltyjä tallennettu datamuistiin 8.
10 Operaatiot, jotka ovat analogisia yllä selitettyjen proseduurien käänteisprosesseille suoritetaan, kun on tarpeen synnyttää signaali lähetettäväksi esimerkin omaisella digitaalisella kannettavalla TDMA-solukkopuhelimella. Kannattaa kuitenkin tuoda esille, että suoritusmuodossa, jossa salaus/salauksenpurkuoheisprosessori sijaitsee DMA-ohjaimen 6 15 sisällä, salaus/salauksenpurkuoheisprosessori edullisesti saa salattavan datan toiselta oheisprosessorilta, jota kutsutaan "purskeen rakentajaksi" (ei esitetty), joka kokoaa salatun datan yhteen synkronointisanojen ja muiden ohjausbittien kanssa määrättyyn lähetysformaattiin, muuntaa kootun purskeen moduloivaksi aaltomuodoksi, joka esitetään numeeristen näytteiden 20 sekvenssinä, ja sitten antaa nämä ulostulona D/A-muuntimelle 10 moduloimaan tämän jälkeen lähetintä 3. Sisäisen purskeenrakentajan, sellaisen kuten tässä ollaan selittämässä, täytyisi sisältää DMA-osoite-’ generaattori, joka kykenee hakemaan dataa muistipaikoista sekvenssissä, ; jonka määrittää lomitusformaattigeneraattori.
: 25 Toiminnan selitystä ei jatketa enempää, koska pitäisi olla selvää, • kuinka isäntäohjausprosessori 5 voi käyttää DMA-ohjainta 6 orkestroimaan . : oheisprosessoriaktiviteettia joko riippuvaisesti tai riippumattomasti toisesta oheisprosessoriaktiviteetista sekä suorittamaan minkä tahansa halutun . : välitulosten reititysten oheisprosessorin välillä yksinkertaisesti ohjelmoimalla 30 muistin aloitusosoitteet, joista data on löydettävissä käsittelyä varten tai joihin ; data sijoitetaan käsittelyn jälkeen.
On huomattava, että ohjausprosessorilla 5, joka on esimerkiksi : ZILOG Z80, jolla on Von Neumann -tyyppinen arkkitehtuuri, on yhden . osoiteväylän ja kaksisuuntaisen dataväylän käsittävä liitäntä DMA-ohjaimelle . . : 35 6. Keksinnöllinen DMA-ohjain 6 käsittää välineet ohjausprosessoriväylien 112709 kytkemiseksi ROMille 7, joka sisältää ohjelmakäskysekvenssin, jonka ohjausprosessori 5 suorittaa. DMA-ohjain 6 käsittää myös välineet, jotka kytkevät datamuistin 8 data- ja ohjausväylän yhteen tai useampaan mainituista oheisprosessoreista 19, kun ohjausprosessori 5 operoi ROMia 7, 5 ja välineet datamuistin 8 väylien kytkemiseksi ohjausprosessorin 5 väyliin, kun ohjausprosessori 5 tätä pyytää. Tällainen pyyntö indikoidaan, jos ohjausprosessorin 5 osoiteväylällä oleva osoite vastaa osoitealuetta, joka liittyy datamuistiin 8. Esimerkiksi datamuistin osoitealue voi olla osoitealue 32768-65535, jolloin osoitealue 0-32767 vastaa osoitteita, joita käyttää ROM 10 7. Jotta ROMiin 7 olisi mahdollista tallentaa enemmän kuin 32k tavua
ohjelmaa, DMA-ohjain 7 voi sisältää muistinhallintayksikön (MMU), joka on yksitavuisen muistiosoitteen laajennusrekisteri. Tällä rekisterillä voi olla 8-bittinen tavu, jonka on kirjoittanut siihen ohjausprosessorin 5 suorittama l/O-tai muistimapitettu l/O-käsky, niin että se voi valita minkä tahansa aina 256 15 mahdollisesta 16 kilotavun ROM-segmentistä mapitettavaksi ohjelma-muistialueen ylempään puoliskoon, ts. alueelle 16384-32767, kun taas aina sama 16 kilon ROM-segmentti mapitetaan ohjelmamuistialueen alemmalle puoliskolle, ts. 0-16383. Syynä kiinteästi mapitetun osan, jota kutsutaan nimellä juuri-ROM, syynä on, että se sisältää tehot päällekytkettäessä 20 käytettävän rutiinin, joka voi täten operoida riippumattomasti MMU-rekisterin sisällöstä, joka on päällekytkettäessä satunnainen. Lisäksi juuri-ROM voi sisältää kiinteän koodin, joka tarvitaan suorittamaan segmenttihyppyjä 16 ' kilon ROM-segmenttien välillä MMU:n manipuloinnin kautta. Tällainen MMU
: on aikaisemmin tunnettu ja se sisältyy kaupallisesti saatavilla olevaan V 25 prosessoriin, joka tunnetaan tyypillä 64180 ja jota myy Hitachi.
: Keksinnön mukaisen DMA-ohjaimen sisäpuoliset yksityiskohdat : : tullaan nyt selittämään viitaten kuvioon 2.
Osoitedekooderi 20 ilmaisee erikoisosoitteiden tai osoitealueiden f.esiintymisen 16-bittisellä prosessoriosoiteväylällä. Osoiteilmaisu voi olla 30 synkronoitu prosessorisignaalilla, sellaisella kuten "MREQ" (kun kyseessä on Z80-mikroprosessori) tai "ALE" (kun kyseessä on 8085-mikroprosessori). ‘ Esimerkiksi yksi erikoisosoite on l/O-osoite, joka on allokoitu 8-bittiselle : rekisterille (ei esitetty), joka sisältyy yksikköön MMU 21. Kun tämä l/O-osoite ilmaistaan osoiteväylällä yhdessä sellaisen ohjausprosessorilta 5 tulevan : 35 ohjaussignaalin kanssa, joka indikoi l/O-operaatiota, 8-bittinen data-arvo
» I
ie 112709 siirretään ohjausprosessorilta 5 MMU-rekisteriin käytettäväksi ROM-osoitteen eniten merkitsevien bittien muodostamisessa. Kun ohjausprosessorilta 5 tulevien osoitebittien ilmaistaan olevan ROM-osoitealueella (esim. ohjausprosessorin 5 osoiteväylän määrittelemä osoiteavaruuden alempi 32 5 kiloa) yhdessä ohjausprosessorin READ-ohjaussignaalin kanssa, ohjausprosessorin osoitebitit (esim. ainakin 15 vähiten merkitsevää bittiä esimerkkitapauksessa) yhdistetään niiden 8 bitin kanssa, jotka MMU 21 antaa ulostulona, niin että muodostetaan laajennettu osoite, joka voi olla 20-24 bittiä leveä, riippuen toteutuksesta, ja näin mahdollistetaan ainakin yhden 10 megatavun ROMin osoittaminen. Niihin 20-24 nastaan, joiden on näytetty tulevan kytketyksi MMUIta 21 ROMille 7, sisältyy mikä tahansa ohjaussignaali, joka voidaan tarvita, sellainen kuten CHIP ENABLE-signaali.
Kun ilmaistaan, että ohjausprosessori 5 osoittaa ROMia 7, RAM/ROM/IO ADDRESS RANGE -signaali, joka menee RAM-väylän 15 neuvottelulogiikalle 24, ei ole aktiivinen. RAM-väylän neuvottelulogiikka 24 voi sitten myöntää DMA-ajoittimelle 25 pääsyn RAM-väylälle 36 kytkemällä väy-läkytkin 23 yhdistämään DMA-osoite- ja dataväylät sekä luku-/kirjoitusohjaussignaalit (kaikki, jotka liittyvät datamuistipääsyihin, jotka yksi oheisprosessoreista 19 tekee) datamuistille 8. Jos prosessorin osoitteen kui-20 tenkin ilmaistaan olevan alueella, joka liittyy datamuistiin 8, ja prosessorilta tulevat ohjaussignaalit osoittavat, että luku- tai kirjoituspääsy on ilmeinen, niin RAM-väyläneuvottelulogiikan 24 käyttäytyminen riippuu prioriteettisignaa-' leista, jotka vastaanotetaan DMA-ajoittimelta 25 ja toimintasekvenssin : nykytilasta. Toisin sanoen, mikä tahansa jo aloitettu ohjausprosessori- : 25 datamuistipääsy saa aina saattaa loppuun yksitavuisen pääsyn, mutta se • voidaan asettaa odottamaan välittömästi seuraavaa pääsyä, jos DMA-ajoitin : : 25 ilmoittaa, että sopivan prioriteetin omaava DMA-pyyntö on odottamassa.
Tyypillisesti ohjausprosessorit kykenevät vastaanottamaan VVAIT-signaalin, - : joka syötetään niille tässä tarkoituksessa.
* . 30 DMA-jonot (FlPOt), (jotka selitetään alla) ovat osa DMA-kanavaoh- jaimia 26, 27, 29. Jokainen kanavaohjaimista 26, 27, 29 on kytketty multiplekserin 28, joka on joukko osoitettavia kytkimiä, kautta RAM-väylälle 36. : Multiplekseri 28 toimii DMA-ajoittimen 25 ohjauksen alaisena kytkien valitun : ; DMA-kanavaohjaimen 26, 27 tai 29 RAM-väyläkytkimelle 23. 25-linjainen . : 35 kytkentä 37, joka on esitetty kuviossa 2, sisältää tyypillisesti 15-bittisen 19 1 J s Ί Γ; ' 7 ί~! f' i I L· i os osoiteväylän, 8-bittisen kaksisuuntaisen dataväylän ja ohjaussignaaleja, jotka indikoivat lukemisen tai kirjoittamisen. Prioriteettisignaaleja voi olla mukana, jos kuhunkin DMA-ohjaimeen liittyvä prioriteetti ei ole kiinteä vaan sen sijaan vastaanotetaan vastaavalta oheisprosessorilta 19.
5 DMA-ohjain 6 on edullisesti toteutettu samalla sirulla kuin ohjausprosessori 5, jotta pienennettäisiin nastojen lukumäärää ja tehon kulutusta. ROM 7 ja datamuisti 8 ovat tyypillisesti tämän sirun ulkopuolella, mutta vaihtoehtoisesti osa datamuistia 8, jota pääasiallisesti osoitetaan DMA-operaatioilla, voi edullisesti olla sisällytetty samalle sirulle ulkopuolisten 10 pääsyoperaatioiden vähentämiseksi. Valinnaisesti kytkin 33 voi olla sisällytetty sirulle, niin että vältetään ROM-dataväylän kytkeminen edestakaisin, kun mikroprosessoriväylä kytketään RAM-väyläkytkimellä 23 datamuistin 8 osoiteväylään. Muistinhallintayksikkö 21 voi olla suunniteltu välttämään ROM-osoitelinjojen tilojen vaihtelua edestakaisin, kun 15 ohjausprosessori 5 osoittaa datamuistia 8. Näiden linjojen tilojen turhan vaihtelun välttäminen pienentää tehokulutusta, mikä on yksi etu, joka saavutetaan keksinnössä jakamalla RAM- ja ROM-väylät.
Kun siruun on kytkettävä monia ulkopuolisia oheisprosessoreita, on myös toivottava minimoida nastojen lukumäärä käyttämällä bittisarjamuotoisia 20 liitäntöjä. Monilla kaupallisesti saatavissa olevilla oheisprosessoreilla, sellaisilla kuten Texas Instruments TMS320-C53 tai ANALOG DEVICES ADSP2101, on sopivat sarjaliitännät. Nämä liitännät siirtävät 16-bittiset sanat ‘ keksinnön mukaiselle sirulle ja siltä pois käyttäen sarjamuotoisia datalinjoja.
: Bittisiirto on synkronoitu kellolinjalla ja sanojen rajat ilmaistaan mittauslinjoilla.
25 Siru, joka on rakennettu esillä olevan keksinnön mukaisesti, voi sopivasti : · sisältää sarja-rinnanmuunnoksen suorittavat liitäntäpiirit, sarjamuotoiset l/F- ; i : piirit) 30, 31, 32, jotka suorittavat muunnoksen tällaisten sarjaliitäntöjen protokollan ja 16-bittisiä rinnakkaismuotoisia sanoja käsittelevän liitännän, j joka liittyy DMA-kanavaohjaimeen 26, 27, 29, välillä. Kanavaohjain suorittaa 30 muunnoksen 16-bittisen oheisprosessorisiirron ja 18-bittisten suorien ,· muistihakujen (DMA) välillä, ts., yksi 16-bittinen siirto käsitellään kahtena '>>* yksitavuisena siirtona datamuistiin 8 ja sieltä pois. Tietenkin 16 bitin sanan : pituus ja 8-bitin datamuistin dataleveys ovat vain esimerkkejä eivätkä ole V; tarkoitettu rajoittaviksi.
. : 35 Sarja-l/F-piirit 30, 31, 32 on suunniteltu toteuttamaan joko ulostulon 2° 112/09 tai sisääntulon. Kummassakin tapauksessa bittikello, joka on mukana datasiirrossa, voi kulkea joko vastaavalta oheisprosessorilta 19 vastaavalle sarja-l/F-piirille 30, 31, 32 tai päinvastoin. Samalla tavoin sanamittasignaali-linja voi kulkea kummassa tahansa suunnassa. Kello- ja mittasignaalisuunnat 5 voivat sopivasti olla tehdyt ohjelmoitaviksi, niin että sarja-l/F-piiri on mahdollisimman yleisesti käyttökelpoinen aikaansaamaan liitännän erilaisiin oheisprosessoreihin. Sarja-l/F-piiri 30 kuviossa 2 on esitetty sarjamuotoisena ulostulona, jossa l/F-piiri on kello- ja mittasignaalin lähde. Tämä tarkoittaa, että DMA-ohjain 6 kontrolloi liitäntää määrittäen, milloin siihen liittyvä 10 oheisprosessori 19 vastaanottaa ja hyväksyy sarjamuotoisen sanasiirron. Sarja-l/F-piiri 31 on puolestaan esitetty sisääntulona. Keksinnön mukainen siru kuitenkin syöttää kellon vastaavalle oheisprosessorille 19, mutta oheisprosessori on nyt mittasignaalin lähde. Mittasignaalilinjaa käännetään esimerkiksi alhaalta ylös osoittamaan, että oheisprosessori pyytää siirtoa. Jos 15 vastaava DMA-kanavaohjain 27 voi hyväksyä siirron (ts. FIFO ei ole täynnä), se sallii sarjaliitännän lähettää kellon oheisprosessorille, joka sitten kellottaa ulos 16 bittiä dataa ja sitten asettaa mittasignaaliTmjan alas. Tässä tapauksessa oheisprosessori päättää, milloin se on lopettanut laskennan ja haluaa siirtää sen muistiin, mutta DMA-ohjain 6 ei ole pakotettu hyväksymään 20 sitä välittömästi, jos datamuistiin on pullonkaula. Keksinnöllisen järjestelyn koko tarkoitus on kuitenkin varmistaa, että tällaisia pullonkauloja ei esiinny niin pitkälle kuin mahdollista ja että vaikka jos datamuistin pullonkaula ‘ esiintyy, ei ole tarpeen viivästää oheisprosessorin aktiviteettia ellei FIFO- : puskuri myöskin ole täynnä.
: 25 Kolmatta liitäntätyyppiä on havainnollistettu sarja-l/F-piirillä 32.
• Tämä on ulostulo, mutta mittasignaalien suunta on oheisprosessorilta : keksinnön mukaiselle sirulle, kun taas kello kulkee vastakkaisessa suun nassa. Tämä mahdollistaa oheisprosessorin pyytää ulostuloa, mutta : mahdollistaa DMA-kanavaohjaimen 6 viivästää ulostuloa, jos se ei ole . 30 välittömästi saatavilla, viivästämällä kellon lähettämistä oheisprosessorille.
; Jos sirulle sisältyy oheisprosessori, sellainen kuten sisäinen ’ oheisprosessori 34, joka voi olla esimerkiksi salaus/salauksenpurkulogiikka, mitään sarjaliitäntää ei tarvita. Sirulle voidaan muodostaa rinnakkaisliitäntä, ; ; joka voi myös mahdollistaa sekä lukemiset datamuistista 8 että kirjoittamiset : 35 sinne.
21 112/09
Sopivan DMA-kanavaohjaimen ja siihen liittyvien piirteiden yksityiskohtaisempi selitys tullaan nyt esittämään viitaten kuvioihin 3 ja 4. Kuten aikaisemmin mainittiin, ohjausprosessori 5 orkestroi oheisprosessorien datasiirtoa yhdeltä toiselle asettamalla datamuistiosoitteet, joista ne ottavat 5 dataa käsittelyä varten tai joihin ne välittävät käsitellyt tulokset. Datamuistin aloitusosoitteet, joita voidaan tyypillisesti käsitellä 16-bittisenä arvona jopa jos vain 15 näistä biteistä siirtää järkevää informaatiota, kirjoitetaan oh-jausprosessorin kaksitavuisen l/O-operaation toimesta 16-bittiseen laskuriin. Kuten kuviossa 4 on esitetty, useiden DMA-kanavaohjaimien 26, 27, 29 10 tällaiset laskurit voivat olla edullisesti kerätyt pieneen sirulla olevaan RAMiin 40, koska tämä on piipinta-alan kannalta tehokas ratkaisu. RAM 40 voi edullisesti olla toteutettu osana multiplekseriä 28, niin että liitäntä multiplekserin 28 ja kunkin DMA-kanavaohjaimen 26, 27, 29 välillä voidaan pelkistää 25 linjasta, jotka on esitetty kuviossa 2, vain 8 linjaan, jotka kuljettavat dataa. 15 Jäljelle jäävä osoiteinformaatio, joka voidaan mahdollisesti sijoittaa RAM-väylälle 36, tulee RAMilta 40.
RAM 40-laskurioperaatio (kasvattaminen tai pienentäminen) voi olla toteutettu RAM-lue/modifioi- ja uudelleenkirjoita-jaksolla käyttäen modifi-ointilogiikkaa 41 ja sekvensoijaa 44 sopivien ohjaussignaalien synnyttämi-20 seen. Modifiointilogiikka 41 voi sisältää lukeman lopun ilmaisimen, jonka tyyppi voi olla yksi kolmesta; (1) se voi olla ohjelmoitu ilmaisemaan tietty 16-bittinen osoite, joka tulee sirulla olevalta RAMilta 40, (2) sirulla oleva RAM 40 ' voi olla leveydeltään laajennettu sisältämään laskuri, joka on esiasetettu : siirrettävien tavujen lukumäärän ja jota modifiointilogiikka 41 aina pienentää, 25 tai (3) se voi sisältää tietyn, sarjaliitäntäpiiriltä 31 siirrettävän datakuvion, joka : j osoittaa siirron päättymisen, ilmaisun. Kaikissa tapauksissa lukeman loppu tai ; Γ: siirron loppu, kun se ilmaistaan, lähetetään DMA-ajoittimelle 25, joka asettaa DMA-kanavan ei-aktiiviseksi kunnes se aktivoidaan uudelleen ja myöskin, jos ;v. tämä piirre on valittu, synnyttää keskeytyksen ohjausprosessorille 5 , ·, 30 keskeytysohjaimen 35 kautta (katso kuvio 2).
; Luku/modifioi/uudelleenkirjoita sekvenssi aukaistaan vastaanotta- • ·.: maila DMA-ajoittimelta 25 sekvensoijalle 44 mikä tahansa lukusignaali, joka osoittaa, että DMA-pääsy datamuistiin 8 on myönnetty. Alan ammattilaiselle . on ilmeistä ja hyvin tunnettua, että monimutkaisten ja nopeiden logiikkapiirien : 35 toteutus hyötyy pääkellon käytöstä, joka sekvensoija synkronoi piirin erilaisten 22 i λ ονηο osien operaatiot. On epäkäytännöllistä kuvata sivun jokainen tällainen logiikan yksityiskohta, kun loogisten veräjien lukumäärä lähenee 100000, ja voidaan olettaa, että sekvensoija 44 sulkee sisäänsä kaikki tällaiset sekvensointi-, ja ajoitusvaatimukset, jotka johdetaan 13MHz pääkellosta.
5 DMA-kanava, johon pääsy on myönnetty, vastaanottaa myös lukusignaalin FIFOIIeen 42 (kuvio 3), joka antaa ulostulona seuraavan sekvenssissä olevan tavun ja testaa onko se nyt tyhjä. EMPTY-signaali poistaa tämän kanavan listalta, jota DMA-ajoitin 25 yrittää palvella, eikä FIFOon 42 vastaanoteta uusia lukemisoperaatioita ennenkuin EMPTY-10 signaali katoaa johtuen uudesta sarjasisääntulosta sarjasisääntulopiirin 31 kautta. EMPTY-signaalin esiintyminen myöskin nollaa minkä tahansa prioriteetin, joka DMA-kanavalle on saatettu aikaisemmin myöntää synnytetyn FULL-signaalin seurauksena.
Toisaalta DMA-ajoitin 25 voi käyttää EMPTY-signaalin puuttumista 15 indikaationa siitä, että väyläpyyntö on olemassa.
Joukko ajateltavissa olevia DMA-prioriteetteja on jo mainittu ja ne toistetaan alla listassa, joka ei välttämättä ole tyhjentävä.
1) HIGH PRIORITY DMA "QUEUE FULL" -prioriteetin ohjaussignaali aiheuttaa, että DMA-ohjaimelle 6 annetaan absoluuttinen 20 prioriteetti ohjausprosessorin datamuistipääsyihin nähden ja alemman prioriteetin omaaviin suoriin muistihakuihin DMA nähden kunnes "QUEUE EMPTY" -prioriteetin ohjaussignaali synnytetään DMA-kanavaohjaimelta. ί 2) MEDIUM PRIORITY DMA "QUEUE FULL" -signaali tuottaa : vuorottelevan prioriteetin ohjausprosessorin väyläpääsyjen kanssa tai : 25 suuremman prioriteetin suorien muistihakujen DMA kanssa, jotka eivät ole : : : "QUEUE FULL" -tilassa, kunnes QUEUE EMPTY -signaali synnytetään. Oh- ν' : jausprosessorin väyläpääsyt ainoastaan lomittuvat DMA-pääsyjen kanssa, jos niitä tarvitaan; muutoin DMA saa peräkkäisiä pääsyjä prioriteetilla kaikkiin suoriin muistihakuihin DMA nähden lukuunottamatta tyypin (1) mukaisia "30 korkeamman prioriteetin suoria muistihakuja DMA.
3) LOW PRIORITY DMA QUEUE FULL vastaanottaa sellaisen ‘ ‘ pääsyn RAM-väylälle 36, joka vuorottelee sellaisten suuremman prioriteetin 1 : DMA-pääsyjen, joiden jonot eivät ole täynnä, kanssa round-robin- : periaatteella.
35 4) LOWEST PRIORITY DMA QUEUE FULL ei vastaanota korke- 23 ^10 7 0 0 i ! L· ! U y ampaan prioriteettia vaan sen sijaan aiheuttaa WAIT-signaalin lähettämisen siihen liittyvälle DMA-kanavaohjaimelle, joka tarvittaessa välittää sen eteenpäin siihen liittyvälle oheisprosessorille estämään lisäsyötöt jono FIFOon.
Ajoitus, joka liittyy esillä olevan keksinnön mukaisiin DMA-5 prioriteettiperiaatteisiin, tullaan nyt selittämään viitaten kuvioihin 5-9. Kuvio 5 esittää DMA-pääsyt, jotka on myönnetty tapauksessa, jossa DMAn prioriteetti on normaali, ts., tapauksissa, joissa FIFO FULL -signaalia ei ole synnytetty. Pisteessä 501 FIFO sisältää kuuden pääsyn jonon odottamassa palvelua. Nämä kuusi pääsyä saattavat olla juuri saapuneet rykelmänä yhdeltä tai 10 useammalta oheisprosessorilta, tai ne ovat saattaneet kerääntyä FIFOon sinä aikana, jona ohjausprosessori 5 oli käyttämässä datamuistia 8. Kohdassa 501 myönnetään kuitenkin ensimmäinen DMA-pääsy. Tämä voi johtua prosessorin pääsyjen ja DMA-pääsyjen sallitusta multipleksoinnista tai se voi johtua uuden prosessorin käskynhakujakson alkamisesta. Ajoituskaaviot 15 kohdassa 5 esittävät, että DMA-pääsyt alkavat juuri ennen käskynhakusig-naalia, mikä osoittaa, että pääsyn aloittaminen kohdassa 501 on seurausta DMA-pääsyjen multipleksoinnista ohjausprosessorin 5 datamuistin 8 suorittamien aikaisempien pääsyjen kanssa. Kohdassa 503 käskynhakusignaalin synnyttäminen kuitenkin indikoi, että DMAIIa voi tarvittaessa olla jatkuva 20 pääsy datamuistiin 8 ilman multipleksointia ohjausprosessorin pääsyjen kanssa. Jos ohjausprosessorin 5 sallitaan hakea käskyjä datamuistista 8 (riippuen arkkitehtuurista ja siitä, mitä rajoituksia ohjelmille on annettu) "RAM-‘ osoite ilmaistu" -signaalin täytyy myös olla alhaalla sekä käskynhaku-signaa- ': Iin olla ylhäällä (JA-funktio) multipleksoinnin päättämiseksi.
.: 25 Kuviossa 5 havainnollistetussa esimerkissä jonon pituus on tällä vä- : * Iin kasvanut seitsemään kohdassa 503, johtuen siitä, että DMA-pääsyt v : kerääntyvät nopeammin kuin niitä voidaan palvella. FIFO ei kuitenkaan tullut täydeksi, kuten on ilmaistu sillä, että FIFO FULL -signaali on edelleen alati-| ; lassa. Kohdassa 503 DMA vastaanottaa jatkuvasti myönnettyjä pääsyjä ja \ 30 FIFOn jonon pituus pienenee nopeasti seitsemästä kuuteen, sitten viiteen, neljään ja kolmeen. Tässä kohdassa 505 ilmaistaan, että prosessori synnyttää datamuistiosoitteen käskyn suorituksen aikana (huomaa, että prosessorin : käskynhaku -signaalia ei ole annettu). Koska FIFO ei ole ollut täynnä sen jälkeen, kun viimeinen EMPTY-signaali synnytettiin, prosessori vastaanottaa 35 prioriteetin DMA-pääsyihin nähden kohdassa 505 ja synnyttää READ tai 24 λ Ί Λ ·/η ο I ί i. / ο > WRITE -signaalin. Sitten kohdassa 507 DMA vastaanottaa sallitun multiplek-soidun pääsyn. Käskynhaku tapahtuu juuri ennen pistettä 509, mikä sallii jonossa jäljellä olevan DMA-pääsyn palvelemisen. Tästä on seurauksena FIFO-EMPTY-signaalin esiintyminen kohdassa 509. Vaikka tässä kohdassa 5 on käytettävissä pääsy datamuistiin 8 suoraa muistihakua DMA varten, koska käskynhaku on meneillään, jonossa ei ole yhtään DMAta vaatimassa pääsyä kyseisellä hetkellä.
Kuvio 6 esittää ajoituksen tapauksessa, jossa FIFO tulee täyteen, mutta koska ohjausprosessorin käskyn suoritus ei osoita datamuistia 8, FIFO 10 voidaan tyhjentää ilman että prosessoria täytyy asettaa väliaikaisesti WAIT-tilaan.
Kohdassa 601 odottamassa on yhdeksän pääsyä ja DMA alkaa. Johtuen siitä, että lisää suoria muistihakuja DMA kerääntyy sen jälkeen kun yksi pääsy on myönnetty, kohdassa 603 on nyt odottamassa kymmenen pyy-15 dettyä pääsyä ja FIFO FULL -signaali synnytetään. Koska prosessori 5 ei kuitenkaan lainkaan osoita datamuistia 8 sen paremmin käskyn suoritusjak-sojen kuin hakujaksonkaan aikana kohtien 605 ja 607 välillä, DMA vastaanottaa jatkuvat pääsyt datamuistiin 8, mikä mahdollistaa jonon palvelemisen täydellisesti kunnes EMPTY-signaali ilmestyy kohdassa 607. EMPTY-signaa-20 Iin synnyttäminen kohdassa 607 päättää DMA-pääsyt. Voidaan nähdä, että ohjausprosessori 5 ei hidastunut lainkaan tänä aikana, koska pääsystä data-’; muistiin 8 ei ollut minkäänlaista riitaa.
’ Kuvio 7 esittää ajoituksen, joka tapahtuu kun suuremman prioritee- ’ ’· tin DMA-pyyntö, jonka aiheuttaa FIFO FULL -tila, joutuu konfliktiin ohjauspro- l ', ‘ 25 sessorin datamuistin 8 kohdistamien hakujen kanssa. Kohdassa 701 FIFO on » » ’ : tullut täyteen, mutta välittömästi jälkeenpäin, kohdassa 703, DMA alkaa vas- i j taanottaa pääsyjä johtuen siitä, että ohjausprosessori 5 suorittaa käskynha- kua (joka osoitetaan käskynhaku-signaalin syöttämisellä). Jos ohjausproses-;' sori 5 olisi todella osoittanut datamuistia 8 kohdassa 703, ohjausprosessorin . . 30 pääsyn loppuunsuorittaminen olisi sallittu, mutta ohjausprosessorin 5 myö hempi pääsy datamuistiin 8 olisi annettu DMAIIe, joka olisi sitten joka tapauk-• ‘ sessa vastaanottanut prioriteetin kohdassa 703. Ensimmäisen pääsyn (ts.
: kun FIFOa jonottaa kymmenen pyyntöä) on myönnetty FIFO ei enää ole täysi ; ' mutta se ei myöskään ole tyhjä. Tämän vuoksi DMA-pääsyt jatkuvat. Kun • : 35 prosessori yrittää päästä datamuistiin 8 kohdassa 705, DMA säilyttää priori- 1 1 25 1 1 9 ;7 o c I i Z / U b- teetin ja ohjausprosessorille 5 synnytetään WAIT-signaali, mistä on seurauksena sen osoite- ja ohjaussignaalien (ts. READ tai WRITE) pidentäminen tai viivästäminen kunnes kaikki suorat muistihaut DMA on palveltu. Lopulta FIFO tulee tyhjäksi ja EMPTY-signaali synnytetään kohdassa 709. Vasteena tälle 5 WAIT-signaali nollataan, mikä sallii ohjausprosessorin viivästetyn datamuisti-pääsyn tapahtumisen.
Kohdassa 711 lisää DMA-pyyntöjä on vastaanotettu sen jälkeen kun FIFO viimeksi tyhjättiin, minkä seurauksena EMPTY-signaali katoaa. Kuitenkin koska DMA-prioriteetti on nollattu normaaliksi, DMA ei saa etusijaa 10 ohjausprosessorin 5 datamuistipääsyihin nähden eikä uutta DMA-pääsyä myönnetä ennenkuin kohdassa 713, sen jälkeen kun ohjausprosessorin da-tamuistipääsy on saatettu loppuun. Tämä on "multipleksoitu"-pääsy, joka myönnetään koska datamuisti 8 on riittävän nopea vuorotteleville DMAn ja ohjausprosessorin pyynnöille. Jos datamuisti 8 ei ole riittävän nopea mahdol-15 listaakseen tällaista multipleksointia, uuden DMA-pääsyn täytyisi odottaa prosessorin käskynhaun alkamista. Uudet DMA-pääsyt on kuitenkin pian täytetty ja EMPTY-signaali ilmestyy jälleen kohdassa 715 päättäen näin suoran muis-tihaun DMA.
Kuvioiden 5 ja 6 ajoituskaavioista voidaan nähdä, että esillä oleva 20 keksintö aikaansa oleellisen DMA-kapasiteetin ilman että se koskaan hidastaa prosessoria. Kuviossa 7 esitetty ajatuskaavio havainnollistaa, kuinka ; suuri näennäisesti samanaikaisten DMA-pyyntöjen rypäs käsitellään esillä olevan keksinnön avulla siten, että ohjausprosessori 5 hidastuu vain hieman ‘ (esim. 1 WAIT-tila). Kuitenkin koska DMA on saanut prioriteetin, jonka se : 25 säilyttää kunnes FIFO on tyhjä, varmistetaan, että prosessori ei todennäköi- » * • ; · sesti joudu odottamaan uudelleen vähään aikaan, ts. kunnes suuri määrä : ; : DMA-pyyntöjä on jälleen ilmestynyt näennäisesti samanaikaisesti ja nope ammin kuin mahdollisuudet myöntää DMA-pääsyjä luonnostaan syntyy. Kek-: '; sinnön päämääränä on minimoida tällaisten tapahtumien todennäköisyys, niin 30 että sekä DMA-tarpeet ja prosessorin tarpeet palvellaan ilman että ne hidas-; ’ tavat toisiaan.
··' Tarkasteltaessa edelleen tapausta, jossa datamuistin 8 nopeus on '*täysin käytetty, niin että vuorottelevien ohjausprosessorin pääsyjen ja DMA-: ·. pääsyjen multipleksointi ei ole mahdollista ilman nopeuden menetystä, on pa- •. : 35 rempi havainnollistaa pääsyn ohjaus- ja prioriteettisignaalien käyttöä. Tässä
4 I
112/09 26 tapauksessa DMA aloittaa vastaanottaa pääsyjä, jos FIFO-jono ei ole tyhjä, normaalisti sen jälkeen kun prosessorin käskynhakusignaali on ilmaistu, kuten on esitetty kohdassa 801 kuviossa 8. Kolme suoraa muistihakua DMA suoritetaan ennenkuin prosessori osoittaa datamuistia 8 kohdassa 803. Sitten 5 ohjausprosessori 5 vastaanottaa prioriteetin ja säilyttää prioriteetin kahden peräkkäisen datamuistipääsyn ajan, tai niin monta kuin se tarvitsee, jolloin ohjausprosessorin prioriteetti nollataan vain seuraavalla käskynhakusignaa-lilla, tai ohjausprosessorin prioriteetti ohitetaan FIFO FULL -signaalin esiintymisen johdosta. Jos viimeksi mainittu tapahtuu, vaihtoehtoisia DMA-prioritee-10 tin tyyppejä voidaan myöntää, kuten yllä selitettiin. Korkein DMA-prioriteetti on se, joka vastaanottaa kaikki datamuistipääsyt kunnes sen FIFO EMPTY signaali ilmestyy. Flieman alemman prioriteetin DMA-kanava voi vaihtoehtoisesti vastaanottaa vuorottelevia pääsyjä ohjausprosessorin 5 kanssa kunnes sen FIFO EMPTY -signaali ilmestyy. Tämä tapaus on esitetty kuviossa 9.
15 Kohdassa 901, DMAIIe myönnetään pääsy palvelemaan jonoaan, jossa on yhdeksän odottavaa pääsypyyntöä. Lisää DMA-pyyntöjä kuitenkin vastaanotetaan, niin että kohdassa 903 synnytetään FIFO FULL -signaali. Tästä huolimatta ohjausprosessori 5 vastaanottaa pääsyn datamuistiin 8 kohdassa 905, koska DMAIIa on juuri ollut vuoro. Kuitenkin kun toinen kah-20 desta käskyn suoritukseen liittyvästä ohjausprosessoripääsystä on ohi, DMA vastaanottaa toisen pääsyn kohdassa 907 ja prosessorille synnytetään VVAIT-signaali. Vaikka FIFO EMPTY -signaalia ei ole vielä ilmestynyt aiheut-‘ tamaan DMA-prioriteetin nollaamista normaaliksi, ohjausprosessori 5 vas- < J » ' · ' taanottaa seuraavan pääsyn datamuistiin 8 kohdassa 909, koska DMAIIa on : .: 25 juuri ollut vuoro. Tämä vuorotteleva prosessori/DMA-käyttäytyminen on tyypil- i listä tämän tyyppiselle DMA-prioriteetille. Kohdassa 911 DMA vastaanottaa v : pääsyt eri syystä, nimittäin koska ohjausprosessori 5 on suorittamassa käs- kynhakua ROMista 7, niin että RAM-väylä 36 on vapaa. Jos tämä ei mahdol-• : lista DMA-jonon tyhjentämistä ennen ohjausprosessorin seuraavia pyyntöjä 30 päästä datamuistiin 8, ohjausprosessori 5 vastaanottaa datamuistipääsyt vuorotellen DMA-pääsyjen kanssa kunnes FIFO EMPTY -signaali nollaa DMA-‘ prioriteetin normaaliksi.
: Keksintö on selitetty viitaten tiettyyn suoritusmuotoon. Kuitenkin ; alan ammattilaisille on helposti ilmeistä, että keksintö on mahdollista toteuttaa : 35 tietyissä muodoissa, jotka ovat muita kuin ne, jotka on selitetty yllä ensisijai- 27 1 12709 sessa suoritusmuodossa. Tämä voidaan tehdä poikkeamatta keksinnön hengestä. Ensisijainen suoritusmuoto on vain havainnollistava eikä sitä tulisi pitää millään tavoin rajoittavana. Keksinnön suojapiiri on annettu oheisilla patenttivaatimuksilla, ennemmin kun edellä olevalla selityksellä, ja kaikki muunnel-5 mat ja ekvivalentit, jotka osuvat patenttivaatimusten alueelle, on tarkoitettu olemaan niiden sisäänsäsulkeminen.
♦ * -· t
* I
> » » »
Claims (25)
1. Järjestelmässä, joka sisältää ohjausprosessorin (5), oheispro-sessorin (19), ohjelmamuistin (7) ja datamuistin (8), ja jossa ohjausprosessori 5 (5) pääsee mainittuun ohjelmamuistiin (7) käskynhakujakson aikana ja mainittuun datamuistiin (8) käskyn suoritusjakson aikana, laite, joka ohjaa pääsyä mainittuun datamuistiin (8), tunnettu siitä, että laite käsittää: ohjausprosessorin liitäntävälineen (6) mainitulle ohjausprosessorille (5) kytkeytymistä varten; 10 oheisprosessorin liitäntävälineen (6) mainitulle oheisprosessorille (19) kytkeytymistä varten; ilmaisuvälineen, joka on kytketty mainitulle ohjausprosessorin liitäntävälineelle (6), ilmaisemaan milloin mainittu ohjausprosessori pyytää pääsyä mainittuun ohjelmamuistiin (7) ja synnyttämään ensimmäinen 15 pääsynohjaussignaali tämän vasteena; ajoitusvälineen (25), joka on kytketty mainittuun oheisprosessorin liitäntävälineeseen (6), ilmaisemaan milloin mainittu oheisprosessori (19) pyytää pääsyä mainittuun datamuistiin (8) ja synnyttämään toinen pääsynohjaussignaali tämän vasteena; 20 kytkimen (23), jolla on kytkimenohjaussisääntuloväline (24), ensimmäinen liitäntäväline mainittuun ohjausprosessoriin liittyviin muis-' I!' tiosoite-, muistidata- ja muistinohjaussignaaleihin kytkeytymistä varten, toinen ‘1 ’ liitäntäväline mainittuun oheisprosessoriin liittyviin muistiosoite-, muistidata- ja ; / muistinohjaussignaaleihin kytkeytymistä varten sekä datamuistiliitän- ·* 25 tävälineen mainittuun datamuistiin kytkeytymistä varten, jolloin mainittu kytkin ; : (23) vuorotellen kytkee mainitun ensimmäisen liitäntävälineen ja mainitun v : toisen liitäntävälineen mainittuun datamuistiliitäntävälineeseen vasteena kytki- nohjaussignaalille, joka vastaanotetaan mainitusta ohjaussisääntulosta; ja :v: neuvotteluvälineen (24), joka on kytketty mainittuun ilmaisuvälinee- 30 seen, mainittuun ajoitusvälineeseen, ja mainittuun kytkimeen (23) synnyttämään kytkimenohjaussignaali vasteena mainituille ensimmäiselle ja ’" ’ toiselle pääsynohjaussignaalille; jolloin mainitut käskynhakujakso ja käskyn suoritusjakso ovat : : : toisensa poissulkevia. : ; 35 2. Patenttivaatimuksen 1 mukainen laite, tunnettu siitä, että 29 112/09 ohjausprosessorin liitäntäväline sisältää liitännän muistiosoitesignaalille, jonka mainittu ohjausprosessori synnyttää, ja mainittu ilmaisinväline synnyttää mainitun ensimmäisen pää-sysignaalin vasteena mainitulle muistiosoitussignaalille, joka antaa 5 muistiosoitteen, joka ei ole mainittuun datamuistiin liittyvien muistiosoitteiden alueen sisällä.
2. Anordning enligt patentkrav 1,kännetecknad avatt styr-processorgränssnittet innehäller ett gränssnitt för en minnesadressignal, som nämnda styrprocessor genererar, och nämnda detekteringsorgan genererar nämnda första ätkomstsignal i 5 respons pä nämnda minnesadresseringssignal, som ger en minnesadress, som inte är inom omrädet av minnesadresser i anslutning tili nämnda datananne.
3. Anordning enligt patentkrav 1, kännetecknad avatt nämnda styrprocessorgränssnitt innehäller ett gränssnitt för styrprocessorns till- 10 ständssignal, som nämnda styrprocessor genererar, och nämnda detekteringsorgan genererar en första signal i respons pä nämnda styrprocessors tillständssignal, som berättar om instruktionshämt-ningscykeln som nämnda styrprocessor utfört.
3. Patenttivaatimuksen 1 mukainen laite, tunnettu siitä, että mainittu ohjausprosessorin liitäntäväline sisältää liitännän ohjausprosessorin tilasignaalille, jonka mainittu ohjausprosessori synnyttää, ja 10 mainittu ilmaisuväline synnyttää ensimmäisen signaalin vasteena mainitulle ohjausprosessorin tilasignaalille, joka kertoo mainitun ohjaus-prosessorin suorittamasta käskynhakuoperaatiosta.
4. I ett system, som inkluderar en styrprocessor (5), en hjälpproces- 15 sor (19), ett programminne (7) och ett dataminne (8), och väri styrprocessorn (5) har atkomst tili nämnda programminne (7) under en instruktionshämtnings-cykel och tili nämnda dataminne (8) under en instruktionsutförandecykel, en anordning som styr ätkomsten tili nämnda dataminne (8), kännetecknad av att anordningen omfattar: 20 ett styrprocessorgränssnitt (6) för anslutning med nämnda styrpro cessor (5); ett hjälpprocessorgränssnitt (6) för anslutning med nämnda hjälp-,/ processor (19); • : ett kanalstyrorgan (26, 27, 29), som är styrt kopplat tili nämnda ·': 25 hjälpprocessorgränssnitt (28) och som innehäller ett först-in-först-ut- : minnesorgan (FIFO) (42), varvid nämnda kanalstyrorgan lagrar i nämnda , FIFO-minnesorgan data, som hänför sig tili hjälpprocessorns begäran att fä ät- komst tili nämnda dataminne (8), och ge en FIFO-fullt -signal i respons pä att .. . nämnda FIFO-minnesorgan ärfullt; 30 ett detekteringsorgan, som är kopplat tili nämnda styrprocessor- ‘ ‘ ‘ gränssnitt, för att detektera när nämnda styrprocessor begär ätkomst tili nämn- da programminne (7) och för att generera en första ätkomststyrsignal i re-:·*: spons; Λ ett tidsättningsorgan (25), som är kopplat tili nämnda kanalstyr- ; \ 35 organ, för att generera en andra ätkomststyrsignal i respons pä styrproces- 112/09 40 sorns (19) begäran om ätkomst till nämnda dataminne (8) och för att generera en prioritetssignal i respons pa att nämnda FIFO-fullt -signal hargetts; en brytare (23), som har en brytarstyringäng, ett första gränssnitt för anslutning med minnesadress-, minnesdata- och minnesstyrsignaler i anslut-5 ning tili nämnda styrprocessor, ett andra gränssnitt för anslutning med minnesadress-, minnesdata- och minnesstyrsignaler i anslutning tili nämnda hjälppro-cessor, varvid nämnda brytare turvis kopplar nämnda första gränssnitt och nämnda andra gränssnitt tili nämnda dataminnesgränssnitt i respons pä bryta-rens styrsignal, som mottas frän nämnda styringäng; och 10 ett överläggningsorgan (24), som är kopplat tili nämnda detekte- ringsorgan, nämnda tidsättningsorgan och nämnda brytare (23) för att generera en brytarstyrsignal i respons pa nämnda första och andra ätkomststyrsigna-ler och nämnda prioritetssignal; varvid nämnda instruktionshämtningscykel och instruktionsutföran-15 decykel utesluter varandra.
4. Järjestelmässä, joka sisältää ohjausprosessorin (5), oheis-prosessorin (19), ohjelmamuistin (7) ja datamuistin (8) ja jossa ohjaus- 15 prosessori (5) pääsee mainittuun ohjelmamuistiin (7) käskyn hakujakson aikana ja mainittuun datamuistiin (8) käskyn suoritusjakson aikana, laite, joka ohjaa pääsyä mainittuun datamuistiin (8), tunnettu siitä, että laite käsittää: ohjausprosessorin liitäntävälineen (6) mainittuun ohjausprosessoriin 20 (5) kytkeytymistä varten; oheisprosessorin liitäntävälineet (6) mainittuun oheisprosessoriin (19) kytkeytymistä varten; ’ kanavanohjausvälineen (26, 27, 29), joka on ohjattu kytketty : mainittuun oheisprosessorin liitäntävälineeseen (28) ja joka sisältää : ·’ 25 ensimmäinen-sisään-ensimmäinen-ulos-muistivälineen (FIFO) (42), mainitun : : kanavanohjausvälineen tallentaessa mainitussa FIFO-muistivälineessä datan, v : joka liittyy oheisprosessorin pyyntöön päästä mainittuun datamuistiin (8), ja antaa FIFO-täynnä -signaalin vasteena sille, että mainittu FIFO-muistiväline : on täynnä; 30 ilmaisuvälineen, joka on kytketty mainittuun ohjausprosessorin liitäntävälineeseen, ilmaisemaan milloin mainittu ohjausprosessori pyytää pääsyä mainittuun ohjelmamuistiin (7) ja synnyttämään ensimmäinen ' ‘ pääsynohjaussignaali tämän vasteena; :': : ajoitusvälineen (25), joka on kytketty mainittuun kanavanoh- : 35 jausvälineeseen, synnyttämään toinen pääsynohjaussignaali vasteena 30 112:/09 ohjausprosessorin (19) pyynnölle päästä mainittuun datamuistiin (8) ja synnyttämään prioriteettisignaali vasteena sille, että mainittu FIFO-täynnä -signaali on annettu; kytkimen (23), jolla on kytkimenohjaussisääntuloväline, ensim-5 mäinen liitäntäväline mainittuun ohjausprosessoriin liittyviin muistiosoite-, muistidata- ja muistinohjaussignaaleihin kytkeytymistä varten, toisen lii-täntävälineen mainittuun oheisprosessoriin liittyviin muistiosoite-, muistidata-ja muistinohjaussignaaleihin kytkeytymistä varten, jolloin mainittu kytkin vuorotellen kytkee mainitun ensimmäisen liitäntävälineen ja mainitun toisen 10 liitäntävälineen mainittuun datamuistin liitäntävälineeseen vasteena kytkimen ohjaussignaalille, joka vastaanotetaan mainitusta ohjaussisääntulosta; ja neuvotteluvälineen (24), joka on kytketty mainittuun ilmaisuvälineeseen, mainittuun ajoitusvälineeseen ja mainittuun kytkimeen kytkimen ohjaussignaalin synnyttämiseksi vasteena ensimmäiselle ja toiselle 15 pääsynohjaussignaalille ja mainitulle prioriteettisignaalille; jolloin mainitut käskynhakujakso ja käskyn suoritusjakso ovat toisensa poissulkevia.
5. Anordning enligt patentkrav 4, kännetecknad av att nämnda styrprocessorgränssnitt innehaller ett gränssnitt för en minnesadressignal, som nämnda styrprocessor genererar, och nämnda detekteringsorgan genererar nämnda första ätkomstsignal i 20 respons pä nämnda minnesadressignal, som ger en minnesadress, som inte är inom omradet av minnesadresser i anslutning tili nämnda dataminne.
5. Patenttivaatimuksen 4 mukainen laite, tunnettu siitä, että mainittu ohjausprosessorin liitäntäväline sisältää liitännän muistiosoi-20 tesignaalille, jonka mainittu ohjausprosessori synnyttää, ja mainittu ilmaisuväline synnyttää mainitun ensimmäisen pää-'! sysignaalin vasteena mainitulle muistiosoitesignaalille, joka antaa ’ muistiosoitteen, joka ei ole mainittuun datamuistiin liittyvien muistiosoitteiden : alueen sisällä. : ’ 25 6. Patenttivaatimuksen 4 mukainen laite, tunnettu siitä, että ; mainittu ohjausprosessorin liitäntäväline sisältää liitännän ohjausprosessorin v · tilasignaalille, jonka mainittu ohjausprosessori synnyttää, ja ilmaisuväline synnyttää mainitun ensimmäisen pääsysignaalin · ·’; vasteena mainitulle ohjausprosessorin tilasignaalille, joka kertoo mainitun : ’ ’ ’; 30 ohjausprosessorin suorittamasta käskynhakuoperaatiosta.
6. Anordning enligt patentkrav 4, k ä n n e t e c k n a d av att nämnda styrprocessorgränssnitt innehaller ett gränssnitt för styrprocessorns till- ; ständssignal, som nämnda styrprocessor genererar, och 25 detekteringsorganet genererar nämnda första ätkomstsignal i re spons pä nämnda styrprocessors tillständssignal, som berättar om instruk-. ; . tionshämtningscykeln som nämnda styrprocessor utfört. i « »
7. Anordning enligt patentkrav 4, kännetecknad av att nämn- .. . da tidsättningsorgan genererar nämnda andra ätkomststyrsignal i respons pä 30 en signal, som anger att nämnda FIFO-minnesorgan inte ärtomt.
' ; * * 8. Anordning enligt patentkrav 4, kännetecknad av att nämn- ; da prioritetssignal berättar om en av flera prioritetsniväer, vilka prioritetsniväer ·:*· innehäller en hög prioritetsnivä, och att nämnda tidsättningsorgan genererar en prioritetssignal, som anger nämnda höga prioritetsnivä, i respons pä att ’ 35 nämnda FIFO-fullt -signal har getts. Ί Ί f, 7ΠΠ I iz/Uy 41
7. Patenttivaatimuksen 4 mukainen laite, tunnettu siitä, että ] mainittu ajoitusväline synnyttää mainitun toisen pääsynohjaussignaalin ‘ ' vasteena signaalille, joka osoittaa, että mainittu FIFO-muistiväline ei ole tyhjä. : ’;'; 8. Patenttivaatimuksen 4 mukainen laite, tunnettu siitä, että ; : 35 mainittu prioriteettisignaali kertoo yhden useista prioriteettitasoista, jotka 112709 prioriteettitasot sisältävät korkean prioriteettitason, ja että mainittu ajoi-tusväline synnyttää prioriteettisignaalin, joka ilmoittaa mainitun korkean prioriteettitason, vasteena sille, että mainittu FIFO-täynnä -signaali on annettu.
9. Anordning enligt patentkrav 8, kännetecknad avatt nämn-da genererade kopplingsstyrsignal i respons pä att nämnda prioritetssignal är en signal med hög prioritet förorsakar det att nämnda brytare kopplar nämnda andra gränssnitt till nämnda dataminnesgränssnitt oavsett om nämnda första 5 atkomststyrsignal har getts eller ej.
9. Patenttivaatimuksen 8 mukainen laite, tunnettu siitä, että mainittu synnytetty kytkinohjaussignaali, vasteena sille, että mainittu priori-teettisignaali on korkean prioriteetin signaali, aiheuttaa sen, että mainittu kytkin kytkee mainitun toisen liitäntävälineen mainittuun datamuistin liitäntävälineeseen riippumatta siitä, onko mainittu ensimmäinen pääsy-10 nohjaussignaali annettu vai ei.
10. Anordning enligt patentkrav 8, kännetecknad av att nämnda överläggningsorgan i respons pa att nämnda prioritetssignal är en signal med hög prioritet genererar en styrsignal för styrprocessorns väljare, som far nämnda brytare att kopplas till nämnda andra gränssnitts nämnda da- 10 taminnesgränssnitt oavsett om nämnda första atkomststyrsignal har getts eller ej, och därefter fortsätta genereringen av nämnda styrsignal för styrprocessorns väljare tills en signal detekteras, som anger att nämnda FIFO-minnesorgan ärtomt.
10. Patenttivaatimuksen 8 mukainen laite, tunnettu siitä, että mainittu neuvotteluväline, vasteena sille, että mainittu prioriteettisignaali on korkean prioriteetin signaali, synnyttää ohjausprosessorin valintakytkimen ohjaussignaalin, joka saa mainitun kytkimen kytkemään mainitun toisen 15 liitäntävälineen mainittuun datamuistin liitäntävälineen riippumatta siitä onko mainittu ensimmäinen pääsynohjaussignaali annettu vai ei, ja sitten jatkaa mainittuun ohjausprosessorin valintakytkimen ohjaussignaalin synnyttämistä kunnes ilmaistaan signaali, joka osoittaa mainitun FIFO-muistivälineen olevan tyhjä. 20 11. Järjestelmässä, joka sisältää ohjausprosessorin (5), oheispro- : sessorin (19), ohjelmamuistin (7) ja datamuistin (8) ja jossa ohjausprosessori (5) pääsee mainittuun ohjelmamuistiin (7) käskyn hakujakson aikana ja ; ' mainittuun datamuistiin (8) käskyn suoritusjakson aikana, laite, joka ohjaa pääsyä mainittuun datamuistiin (8), tunnettu siitä, että laite käsittää: ·’ * 25 ohjausprosessorin liitäntävälineen (6) mainittuun ohjausprosessoriin : : : (5) kytkeytymistä varten; v : oheisprosessorin liitäntävälineen (6) mainittuun oheisprosessoriin (19) kytkeytymistä varten; kanavanohjausvälineen (26, 27, 29), joka on kytketty mainittuun ; 30 oheisprosessorin liitäntävälineeseen (28) ja joka sisältää ensimmäinen- sisään-ensimmäinen-ulos (FIFO)-muistivälineen (42), jolloin kanavanohjaus- • » • ‘l väline tallentaa mainitussa FIFO-muistivälineessä dataa, joka liittyy oheis- ’ ‘ prosessorin pyyntöön päästä mainittuun datamuistiin (8) ja antaa FIFO- ;': : täynnä -signaalin vasteena sille, että mainittu FIFO-muistiväline on täynnä; * 35 ilmaisuvälineen, joka on kytketty mainittuun ohjausprosessorin Ύ2 Λ Λ <' -1 Ο Γ· I I ί,ί 0> liitäntävälineeseen, ilmaisemaan milloin mainittu ohjausprosessori pyytää pääsyä mainittuun ohjelmamuistiin (7) ja synnyttämään ensimmäinen pääsynohjaussignaali tämän vasteena; ajoitusvälineen (25), joka on kytketty mainittuun kanavanohjaus-5 välineeseen, synnyttämään prioriteettisignaali vasteena sille, että mainittu FIFO-täynnä -signaali annetaan; kytkimen (23), jolla on kytkimenohjaussisääntuloväline, ensimmäinen liitäntäväline mainittuun ohjausprosessoriin liittyviin muistiosoite-, muistidata- ja muistinohjaussignaaleihin kytkeytymistä varten, toinen lii-10 täntäväline oheisprosessoriin liittyviin muistiosoite-, muistidata-ja muistinohjaussignaaleihin kytkeytymistä varten sekä datamuistin liitäntäväline mainittuun datamuistiin kytkeytymistä varten, jolloin mainittu kytkin vuorotellen kytkee mainitun ensimmäisen liitäntävälineen ja mainitun toisen liitäntä-välineen mainittuun datamuistinliitäntävälineeseen vasteena kytkimenohjaus-15 signaalille, joka vastaanotetaan mainitusta ohjaussisääntulosta; ja neuvotteluvälineen (24), joka on kytketty mainittuun ilmaisuvälineeseen, mainittuun ajoitusvälineeseen ja mainittuun kytkimeen synnyttämään kytkimenohjaussignaali vasteena mainitulle ensimmäiselle pääsynohjaussignaalille ja mainitulle prioriteettisignaalille; 20 jolloin mainitut käskynhakujakso ja käskyn suoritusjakso ovat toisensa poissulkevia.
11. I ett system, som inkluderar en styrprocessor (5), en hjälppro- 15 cessor (19), ett programminne (7) och ett dataminne (8), och vari styrproces- sorn (5) har atkomst till nämnda programminne (7) under en instruktionshämt-ningscykel och till nämnda dataminne (8) under en instruktionsutförandecykel, en anordning som styr ätkomsten till nämnda dataminne (8), kännetecknad av att anordningen omfattar: 20 ett styrprocessorgränssnitt (6) för anslutning med nämnda styrpro cessor (5); ...V ett hjälpprocessorgränssnitt (6) för anslutning med nämnda hjälp- processor (19); '·/ ett kanalstyrorgan (26, 27, 29), som är kopplat tili nämnda hjälppro- 25 cessorgränssnitt (28) och som innehäller ett först-in-först-ut (FIFO)-ί :\· minnesorgan (42), varvid nämnda kanalstyrorgan lagrar i nämnda FIFO- minnesorgan data, som hänför sig tili hjälpprocessorns begäran att fä ätkomst tili nämnda dataminne (8), och ge en FIFO-fullt -signal i respons pä att nämnda FIFO-minnesorgan ärfullt; 30 ett detekteringsorgan, som är kopplat tili nämnda styrprocessor- *;' gränssnitt, för att detektera när nämnda styrprocessor begär atkomst tili nämn- da programminne (7) och för att generera en första atkomststyrsignal i re-spons; , ·, ett tidsättningsorgan (25), som är kopplat tili nämnda kanalstyr- . 35 organ, för att generera en andra atkomststyrsignal i respons pä styrproces- 11970° 42 1 » t"« ^ ^ sorns (19) begäran om atkomst till nämnda dataminne (8) och för att generera en prioritetssignal i respons pä att nämnda FIFO-fullt -signal har getts; en brytare (23), som har en brytarstyringäng, ett första gränssnitt för anslutning med minnesadress-, minnesdata- och minnesstyrsignaler i anslut-5 ning tili nämnda styrprocessor, ett andra gränssnitt för anslutning med minnesadress-, minnesdata- och minnesstyrsignaler i anslutning tili nämnda hjälppro-cessor, varvid nämnda brytare turvis kopplar nämnda första gränssnitt och nämnda andra gränssnitt tili nämnda dataminnesgränssnitt i respons pä bryta-rens styrsignal, som mottas frän nämnda styringang; och 10 ett överläggningsorgan (24), som är kopplat tili nämnda detekte- ringsorgan, nämnda tidsättningsorgan och nämnda brytare (23) för att generera en brytarstyrsignal i respons pä nämnda första ätkomststyrsignaler och nämnda prioritetssignal; varvid nämnda instruktionshämtningscykel och instruktionsutföran-15 decykel utesluter varandra.
12. Anordning enligt patentkrav 11, kännetecknad av att nämnda styrprocessorgränssnitt innehäller ett gränssnitt för en minnesadress-signal, som nämnda styrprocessor genererar, och nämnda detekteringsorgan genererar nämnda första ätkomstsignal i 20 respons pä nämnda minnesadresseringssignal, som ger en minnesadress, som är inom omrädet av minnesadresser i anslutning tili nämnda dataminne.
. 13. Anordning enligt patentkrav 11, kännetecknad av att nämnda styrprocessorgränssnitt innehäller ett gränssnitt för styrprocessorns : ·.: tillständssignal, som nämnda styrprocessor genererar, och 25 nämnda detekteringsorgan genererar nämnda första ätkomstsignal i : respons pä nämnda hjälpprocessors tillständssignal, som berättar om instruk- , ·; *. tionshämtningscykeln som nämnda styrprocessor utfört.
12. Patenttivaatimuksen 11 mukainen laite, tunnettu siitä, että mainittu ohjausprosessorin liitäntäväline sisältää liitännän muisti-osoitesignaalille, jonka mainittu ohjausprosessori synnyttää, ja 25 mainittu ilmaisuväline synnyttää mainitun ensimmäisen pääsysignaalin vasteena mainitulle muistiosoitesignaalille, joka antaa muistiosoitteen, joka on mainittuun datamuistiin liittyvien muistiosoitteiden alueen sisällä. I : 13. Patenttivaatimuksen 11 mukainen laite, tunnettu siitä, että 30 mainitun ohjausprosessorin liitäntäväline sisältää liitännän ohjausprosessorin tilasignaalille, jonka mainittu ohjausprosessori synnyttää, ja mainittu ilmaisuväline synnyttää mainitun ensimmäisen pääsysignaalin vasteena mainitulle oheisprosessorin tilasignaalille, joka kertoo mainitun ohjausprosessorin suorittamasta käskyn hakuoperaatiosta.
14. Anordning enligt patentkrav 11, kännetecknad av att tid-.. . sättningsorganet genererar nämnda prioritetssignal i respons pä en signal, 30 som berättar att nämnda FIFO-minnesorgan inte ärtomt. ‘15. Anordning enligt patentkrav 11, kännetecknad av att : nämnda prioritetssignal anger en av flera prioritetsniväer, vilka prioritetsniväer :··: innehäller en hög prioritetsnivä, och att nämnda tidsättningsorgan genererar en prioritetssignal, som anger nämnda höga prioritetsnivä, i respons pä att ’ 35 nämnda FIFO-fullt -signal har getts. 112/09 43
14. Patenttivaatimuksen 11 mukainen laite, tunnettu siitä, että 33 λ ί rj Ί η Ο ι \1ί υ> ajoitusväline synnyttää mainitun prioriteettisignaalin vasteena signaalille, joka kertoo, että mainittu FIFO-muistiväline ei ole tyhjä.
15. Patenttivaatimuksen 11 mukainen laite, tunnettu siitä, että mainittu prioriteettisignaali ilmoittaa yhden useista prioriteettitasoista, jotka 5 prioriteettitasot sisältävät korkeat prioriteettitason, ja että mainittu ajoitusväline synnyttää prioriteettisignaalin, joka ilmoittaa mainitun korkeaprioriteettitason vasteena sille, että mainittu FIFO-täynnä -signaali on annettu.
16. Anordning enligt patentkrav 15, kännetecknad av att nämnda genererade kopplingsstyrsignal i respons pa att nämnda prioritetssig-nal är en signal med hög prioritet fär nämnda brytare att koppia nämnda andra gränssnitt till nämnda dataminnesgränssnitt oavsett om nämnda första ät- 5 komststyrsignal har getts eller ej.
16. Patenttivaatimuksen 15 mukainen laite, tunnettu siitä, että mainittu synnytetty kytkimenohjaussignaali, vasteena sille, että mainittu priori- 10 teettisignaali on korkean prioriteetin signaali, saa mainitun kytkimen kytkemään mainitun toisen liitäntävälineen mainittuun datamuistinliitäntä-välineeseen riippumatta siitä onko mainittu ensimmäinen pääsynohjaussig-naali annettu vai ei.
17. Anordning enligt patentkrav 15, kännetecknad av att nämnda överläggningsorgan i respons pä att nämnda prioritetssignal är en signal med hög prioritet genererar en styrsignal för styrprocessorns väljare, som far nämnda brytare att kopplas tili nämnda andra gränssnitts nämnda da- 10 taminnesgränssnitt oavsett om nämnda första ätkomststyrsignal har getts eller ej, och därefter fortsätta genereringen av nämnda styrsignal för styrprocessorns väljare tills en signal detekteras, som berättar att nämnda FIFO-minnesorgan är tomt.
18.1 ett system, som inkluderar en styrprocessor (5), en första hjälp-15 processor, en andra hjälpprocessor, ett programminne (7) och ett dataminne (8), och väri styrprocessorn (5) har ätkomst tili nämnda programminne (7) under en instruktionshämtningscykel och tili nämnda dataminne (8) under en in-struktionsutförandecykel, en anordning som styr ätkomsten tili nämnda dataminne (8), kännetecknad av att anordningen omfattar: 20 ett styrprocessorgränssnitt för anslutning med nämnda styrproces sor; ett första hjälpprocessorgränssnitt för anslutning med nämnda första hjälpprocessor; • : ett andra hjälpprocessorgränssnitt för anslutning med nämnda and- 25 ra hjälpprocessor; • ett första och ett andra kanalstyrorgan, som är kopplade tili respek- 1. tive nämnda första och andra hjälpprocessorgränssnitt och som vardera omfat tar ett först-in-först-ut (FIFO)-minnesorgan, varvid vardera av nämnda första ;Vi och andra kanalstyrorgan lagrar i nämnda FIFO-minnesorgan data, som hänför 30 sig tili respektive hjälpprocessors begäran att fa atkomst tili nämnda datamin-ne, och ge en FIFO-fullt -signal i respons pa att nämnda FIFO-minnesorgan är fullt; !··; ett detekteringsorgan, som är kopplat tili nämnda styrprocessor gränssnitt, för att detektera när nämnda styrprocessor begär atkomst tili nämn-35 da programminne och för att generera en första ätkomststyrsignal i respons; 112/09 44 ett multiplexerorgan (28) med första och andra ingängar, som är kopplade tili minnesadress-, minnesdata- och minnesstyrsignaler i anslutning tili respektive första och andra hjälpprocessor; ett tidsättningsorgan, som är kopplat tili nämnda första och andra 5 kanalstyrorgan och tili nämnda multiplexer, för att generera en prioritetssignal i respons pä att atminstone ett av nämnda första och andra kanalstyrorgan har gett nämnda FIFO-fullt -signal, och att alstra en multiplexerstyrsignal; en brytare (23), som har en brytarstyringang, ett första gränssnitt för anslutning med minnesadress-, minnesdata- och minnesstyrsignaler i anslut-10 ning tili nämnda styrprocessor, ett andra gränssnitt för anslutning med minnesadress-, minnesdata- och minnesstyrsignaler i anslutning tili nämnda multiplexer samt för koppling av dataminnesgränssnittet tili nämnda dataminne, var-vid nämnda brytare turvis kopplar nämnda första gränssnitt och nämnda andra gränssnitt tili nämnda dataminnesgränssnitt i respons pä brytarens styrsignal, 15 som mottas frän nämnda styringäng; och ett överläggningsorgan, som är kopplat tili nämnda detekterings-organ, nämnda tidsättningsorgan och nämnda brytare för att generera en bry-tarstyrsignal i respons pa nämnda första ätkomststyrsignal och nämnda prioritetssignal; 20 varvid nämnda instruktionshämtningscykel och instruktionsutföran- decykel utesluter varandra.
17. Patenttivaatimuksen 15 mukainen laite, tunnettu siitä, että 15 mainittu neuvotteluväline, vasteena sille, että mainittu prioriteettisignaali on korkean prioriteetin signaali, synnyttää oheisprosessorin valintakytkimen ohjaussignaalin, joka saa mainitun kytkimen kytkemään mainitun toisen liitäntävälineen mainittuun datamuistin liitäntävälineeseen riippumatta siitä, onko mainittu ensimmäinen pääsynohjaussignaali annettu vai ei, ja sitten 20 jatkaa mainitun oheisprosessorin valintakytkimen ohjaussignaalin syn nyttämistä kunnes ilmaistaan signaali, joka kertoo, että FIFO-muistiväline on j tyhjä. ; * 18. Järjestelmässä, joka sisältää ohjausprosessorin (5), : ensimmäisen oheisprosessorin, toisen oheisprosessorin, ohjelmamuistin (7) ·' ’ 25 ja datamuistin (8) ja jossa ohjausprosessori pääsee mainittuun : : ί ohjelmamuistiin käskynhakujakson aikana ja mainittuun datamuistiin käskyn v *’ suoritusjakson aikana, laite, joka ohjaa pääsyä mainittuun datamuistiin (8), tunnettu siitä, että laite käsittää: ; ohjausprosessorin liitäntävälineen mainittuun ohjausprosessoriin : ‘: 30 kytkeytymistä varten; ensimmäisen oheisprosessorin liitäntävälineen mainittuun ensim-mäiseen oheisprosessoriin kytkeytymistä varten; toisen oheisprosessorin liitäntävälineen mainittuun toiseen oheis-:': : prosessoriin kytkeytymistä varten; 35 ensimmäisen ja toisen kanavanohjausvälineen, jotka on kytketty 34 112709 vastaavasti mainittuun ensimmäiseen ja toiseen oheisprosessorin liitäntä väl ineeseen ja josta kumpikin käsittää ensimmäinen-sisään-ensimmäinen-ulos (FIFO)-muistivälineen, jolloin kumpikin mainituista ensimmäisestä ja toisesta kanavanohjausvälineestä tallentaa mainitussa FIFO-muistivälineessä 5 dataa, joka liittyy vastaavan oheisprosessorin pyyntöön päästä mainittuun datamuistiin, ja antaa FIFO-täynnä -signaalin vasteena sille, että mainittu FIFO-muistiväline on täynnä; ilmaisuvälineen, joka on kytketty mainittuun ohjausprosessorin liitäntävälineeseen ilmaisemaan milloin mainittu ohjausprosessori pyytää 10 pääsyä mainittuun ohjelmamuistiin ja synnyttämään ensimmäinen pääsynohjaussignaali tämän vasteena; multiplekserivälineen (28), jolla on ensimmäiset ja toiset sisääntulot, jotka on kytketty vastaavasti ensimmäiseen ja toiseen oheisprosessoriin liittyviin muistiosoite-, muistidata-ja muistinohjaussignaaleihin; 15 ajoitusvälineen, joka on kytketty mainittuun ensimmäiseen ja toiseen kanavanohjausvälineeseen ja mainitulle multiplekserille, synnyttämään prioriteettisignaali vasteena sille, että ainakin yksi mainituista ensimmäisestä ja toisesta kanavanohjausvälineestä on antanut mainitun FIFO-täynnä -signaalin, ja synnyttämään multiplekserin ohjaussignaalin; 20 kytkimen (23), jolla on kytkimenohjaussisääntuloväline, ensim mäinen liitäntäväline mainittuun ohjausprosessoriin liittyviin muistiosoite-, muistidata- ja muistinohjaussignaaleihin kytkeytymistä varten, toinen liitäntä-; ’ väline mainitun multiplekserin ulostuloon liittyviin muistiosoite-, muistidata- ja • : muistinohjaussignaaleihin kytkeytymistä varten sekä datamuistin liitäntävä- : 25 lineen mainittuun datamuistiin kytkeytymistä varten, jolloin mainittu kytkin .: · vuorotellen kytkee mainitun ensimmäisen liitäntävälineen ja mainitun toisen v ·’ liitäntävälineen mainittuun datamuistiliitäntävälineeseen vasteena kytki- menohjaussignaalille, joka vastaanotetaan mainitusta ohjaussisääntulosta; ja neuvotteluvälineen, joka on kytketty mainittuun ilmaisuvälineeseen, . 30 mainittuun ajoitusvälineeseen ja mainittuun kytkimeen synnyttämään .; kytkimenohjaussignaali vasteena mainitulle ensimmäiselle ’ · · · * pääsynohjaussignaalille ja mainitulle prioriteettisignaalille; ' ‘ jolloin mainitut käskynhakujakso ja käskyn suoritusjakso ovat : Y: toisensa poissulkevia. ; * ; 35 19. Patenttivaatimuksen 18 mukainen laite, tunnettu siitä, että 35 112/09 mainittu ajoitusväline synnyttää prioriteettisignaalin, jolla on ensimmäinen arvo, vasteena sille, että mainittu ensimmäinen kanavanohjausväline antaa mainitun FIFO-täynnä -signaalin, prioriteettisignaalin, jolla on toinen arvo, vasteena sille, että mainittu toinen kanavanohjausväline antaa mainitun FIFO-5 täynnä -signaalin ja että mainitulla prioriteettisignaalilla on mainittu ensimmäinen arvo vasteena sille, että sekä mainittu ensimmäinen että toinen kanavanohjausväline antavat mainitut FIFO-täynnä -signaalit.
19. Anordning enligt patentkrav 18, kännetecknad av att ·, : nämnda tidsättningsorgan genererar en prioritetssignal med ett första värde i : \: respons pa att nämnda första kanalstyrorgan ger nämnda FIFO-fullt -signal, en 25 prioritetssignal med ett andra värde som svar pa att nämnda andra kanalstyr-j organ ger nämnda FIFO-fullt -signal och att nämnda prioritetssignal har nämn- , da första värde i respons pä att bade nämnda första och andra kanalstyrorgan ger nämnda FIFO-fullt -signaler. ,, , 20. Anordning enligt patentkrav 19, kännetecknad av att 30 nämnda tidsättningsorgan alstrar en multiplexerstyrsignal, som väljer nämnda » * ';·’ första multiplexers ingäng i respons pä att bäde nämnda första och andra ka- ; ‘ ''; nalstyrorgan ger nämnda FIFO-fullt -signaler. ·:*>· 21. Anordning enligt patentkrav 20, kä n n e t e c k n a d av att nämnda prioritetssignal anger en av flera prioritetsniväer, vilka prioritetsniväer ; ’ 35 innehäller en hög prioritetsnivä, och att nämnda tidsättningsorgan genererar 45 112709 en prioritetssignal, som anger nämnda höga prioritetsnivä, i respons pä att en av nämnda FIFO-fullt -signaler har getts.
20. Patenttivaatimuksen 19 mukainen laite, tunnettu siitä, että mainittu ajoitusväline synnyttää multiplekserin ohjaussignaalin, joka valitsee 10 mainitun ensimmäisen multiplekserin sisääntulon vasteena sille, että sekä mainittu ensimmäinen että toinen kanavanohjausväline antavat mainitut FIFO-täynnä -signaalit.
21. Patenttivaatimuksen 20 mukainen laite, tunnettu siitä, että mainittu prioriteettisignaali ilmoittaa yhden useista prioriteettitasoista, jotka 15 prioriteettitasot sisältävät korkean prioriteetin tason, ja että mainittu ajoitusväline synnyttää prioriteettisignaalin, joka ilmoittaa mainitun korkean prioriteettitason, vasteena sille, että yksi mainituista FIFO-täynnä -signaaleista on annettu.
22. Anordning enligt patentkrav 21, kännetecknad av att nämnda genererade brytarstyrsignal i respons pa att nämnda prioritetssignal är 5 en signal med hög prioritet far nämnda brytare att koppia nämnda andra gränssnitt tili nämnda dataminnesgränssnitt oavsett om nämnda första ät-komststyrsignal har getts eller ej.
22. Patenttivaatimuksen 21 mukainen laite, tunnettu siitä, että 20 mainittu synnytetty kytkimenohjaussignaali vasteena sille, että mainittu prioriteettisignaali on korkean prioriteetin signaali, saa mainitun kytkimen kytkemään mainitun toisen liitäntävälineen mainittuun datamuistin ’ liitäntävälineeseen riippumatta siitä, onko mainittu ensimmäinen pääsynoh- > jaussignaali annettu vai ei. ',: 25 23. Patenttivaatimuksen 19 mukainen laite, tunnettu siitä, että ; · mainittu synnytetty kytkimenohjaussignaali vasteena sille, että mainitulla prio- v : riteettisignaalilla on mainittu toinen arvo, saa mainitun kytkimen lomittamaan datamuistipääsy mainitun ohjausprosessorin ja mainitun multiplekserin välillä. I * : 24. Patenttivaatimuksen 18 mukainen laite, tunnettu siitä, että ,' * . 30 se edelleen käsittää suoran muistihaun (DMA) laskurivälineen, joka sisältää: lukukirjoitusmuistin, jolla on muistipaikat mainittua ensimmäistä ja toista oheisprosessoria vastaavasti; ; : ensimmäisen välineen, joka on kytketty mainittuun ensimmäiseen ja : toiseen kanavanohjausvälineeseen ja joka määrittää, kummalla mainituista ·. : 35 ensimmäisestä ja toisesta oheisprosessorista on korkeimman prioriteetin οβ •'Ί Λ ('/ ( . 36 ι ί l / u y omaava pyyntö datamuistipääsyä varten, ja synnyttää väyläpyyntösignaalin; toisen välineen, joka on kytketty mainittuun ensimmäiseen välineeseen ja mainittuun ohjausprosessorin liitäntävälineeseen ja joka synnyttää väylän myöntämissignaalin vasteena mainitulle väylän 5 pyyntösignaalille ja mainitulta ohjausprosessorilta tuleville käskynhaku- ja osoitesignaaleille; kolmannen välineen, joka on kytketty mainittuun ensimmäiseen välineeseen, mainittuun toiseen välineeseen ja mainittuun lukukirjoitus-muistiin ja joka lukee arvon mainitusta lukukirjoitusmuistista vasteena 10 mainitulle väylän myöntämissignaalille, jolloin mainittu arvo luetaan muistipaikasta, joka vastaa mainittua oheisprosessoria, jolla määriteltiin olevan mainittu korkeimman prioriteetin omaava pyyntö; ja neljännen välineen, joka antaa mainitun arvon ainakin osana mainittuja muistiosoitesignaaleja, joita käytetään osoittamaan mainittua 15 datamuistia, ja tämän jälkeen modifioi mainittua arvoa ja tallentaa mainittua modifioitua arvoa mainitussa lukukirjoitusmuistissa mainitussa muistipaikassa, joka vastaa sitä oheisprosessoria, jolla määriteltiin olevan mainittu korkeimman prioriteetin omaava pyyntö.
25. Järjestelmässä, joka käsittää ohjausprosessorin (5), useita 20 oheisprosessoreita (19) ja datamuistin (8), suoran muistihaun (DMA) laskuriväline, tunnettu siitä, että mainittu laskuriväline käsittää: ohjausprosessorin (5) liitäntävälineen mainittuun ohjausprosessoriin ’ kytkeytymistä varten; : useita oheisprosessoreiden (19) sisääntulovälineitä vastaaviin : ’ 25 oheisprosessoreihin kytkeytymistä varten; : ! lukukirjoitusmuistin, jolla on mainittuja useita oheisprosessoreita v ’ vastaavat muistipaikat; ensimmäisen välineen, joka on kytketty mainittuihin useisiin sisääntulovälineisiin ja joka määrittää, millä mainituista useista " ; 30 oheisprosessoreista on korkeimman prioriteetin omaava pyyntö data- ,;. muistipääsyä varten, ja joka synnyttää väyläpyyntösignaalin; toisen välineen, joka on kytketty mainittuun ensimmäiseen Mllt ’ 1 välineeseen ja mainittuun ohjausprosessorin liitäntävälineeseen ja joka :Y; synnyttää väylän myöntämissignaalin ainoastaan vasteena mainitulle väylän 35 pyyntösignaalille ja mainitulta ohjausprosessorilta tuleville käskynhaku- ja I > 37 Λ Ί 0 7 0C ι ι L / υ b osoitesignaaleille; kolmannen välineen, joka on kytketty mainittuun ensimmäiseen välineeseen, mainittuun toiseen välineeseen ja joka lukee arvon mainitusta lukukirjoitusmuistista vasteena mainitulle väylän myöntämissignaalille, jolloin 5 mainittu arvo luetaan muistipaikasta, joka vastaa mainittua oheisprosessoria, jolla määriteltiin olevan mainitun korkeimman prioriteetin omaava pyyntö; ja neljännen välineen, joka antaa mainitun arvon ainakin osana mainittuja muistiosoitesignaaleja, jotka tuotetaan datamuistille (8) muistiinpääsyn aikana, ja joka tämän jälkeen modifioi mainittua arvoa ja 10 tallentaa mainitun modifioidun arvon mainittuun lukukirjoitusmuistiin mainittuun muistipaikkaan, joka vastaa sitä oheisprosessoria, jolla määriteltiin olevan korkeimman prioriteetin omaava pyyntö. 1 » » » ♦ 38 112/09 1.1 ett system, som inkluderar en styrprocessor (5), en hjälpproces-sor (19), ett programminne (7) och ett dataminne (8), och vari styrprocessorn 5 (5) har ätkomst till nämnda programminne (7) under en instruktionshämtnings-cykel och till nämnda dataminne (8) under en instruktionsutförandecykel, en anordning som styratkomsten till nämnda dataminne (8), kännetecknad av att anordningen omfattar: ett styrprocessorgränssnitt (6) för anslutning med nämnda styrpro- 10 cessor(5); ett hjälpprocessorgränssnitt (6) för anslutning med nämnda hjälp-processor (19); ett detekteringsorgan, som är kopplat tili nämnda styrprocessorgränssnitt (6), för att detektera när nämnda styrprocessor begär ätkomst tili 15 nämnda programminne (7) och för att generera en första ätkomststyrsignal i respons; ett tidsättningsorgan (25), som är kopplat tili nämnda hjälpprocessorgränssnitt (6), för att detektera när nämnda hjälpprocessor (19) begär ätkomst tili nämnda dataminne (8) och för att generera en andra ätkomststyrsig-20 nai i respons; en brytare (23), som har en brytarstyringäng (24), ett första gräns-; snitt för anslutning med minnesadress-, minnesdata- och minnesstyrsignaler i anslutning tili nämnda styrprocessor, ett andra gränssnitt för anslutning med minnesadress-, minnesdata- och minnesstyrsignaler i anslutning tili nämnda ,·. 25 hjälpprocessor samt ett dataminnesgränssnitt för anslutning tili nämnda data- '' J / minne, varvid nämnda brytare (23) turvis kopplar nämnda första gränssnitt och I t t nämnda andra gränssnitt tili nämnda dataminnesgränssnitt i respons pä en .. , brytarstyrsignal, som mottas frän nämnda styringäng; och : ett överläggningsorgan (24), som är kopplat tili nämnda detekte- : 30 ringsorgan, nämnda tidsättningsorgan och nämnda brytare (23) för att genere- ra en brytarstyrsignal i respons pä nämnda första och andra ätkomststyrsigna-....: ler; varvid nämnda instruktionshämtningscykel och instruktionsutförandecykel utesluter varandra. 112/09 39
23. Anordning enligt patentkrav 19, kännetecknad av att nämnda genererade brytarstyrsignal i respons pa att nämnda prioritetssignal 10 har nämnda andra värde fär nämnda brytare att överlappa dataminnesatkoms-ten mellan nämnda styrprocessor och nämnda multiplexer.
24. Anordning enligt patentkrav 18, k ä n n e t e c k n a d av att den vidare omfattar ett räkneorgan för direkt minnessökning (DMA), vilket innehäl-ler: 15 ett lässkrivminne med minnesplatser motsvarande respektive nämnda första och andra hjälpprocessor; ett första organ, som är kopplat tili nämnda första och andra kanal-styrorgan och som bestämmer vilkendera av nämnda första och andra hjälpprocessor som har begäran med högsta prioritet för dataminnesatkomst, och 20 genererar en bussbegäransignal; ett andra organ, som är kopplat tili nämnda första organ och tili . : * nämnda styrprocessorgränssnitt och som genererar en bussbeviljandesignal i respons pä nämnda bussbegäransignal och pa instruktionshämtnings- och : '. i adressignaler som kommer frän nämnda styrprocessor; 25 ett tredje organ, som är kopplat tili nämnda första organ, nämnda andra organ och nämnda lässkrivminne och som avläser värdet frän nämnda lässkrivminne i respons pä nämnda bussbeviljandesignal, varvid nämnda värde avläses frän en minnesplats som motsvarar nämnda hjälpprocessor, som .. . definierades ha nämnda begäran med den högsta prioriteten; och 30 ett fjärde organ, som ger nämnda värde som ätminstone en del av ;** nämnda minnesadressignaler, vilka används för att ange nämnda dataminne, och därefter modifierar nämnda värde och lagrar nämnda modifierade värde i :··: nämnda lässkrivminne pä nämnda minnesplats, som motsvarar den hjälppro- ,cessor som definierades ha nämnda begäran med högsta prioritet. > * » Ί 197Q0
46 I ! c- ί u ^
25. I ett system, som omfattar en styrprocessor (5), flera hjälppro-cessorer (19) och ett dataminne (8), ett räkneorgan för direkt minnessökning (DMA), kännetecknat avatt nämnda räkneorgan omfattar: ett styrprocessorgränssnitt (5) för anslutning med nämnda styrpro- 5 cessor; flera hjälpprocessorers (19) ingängsorgan för anslutning med mot-svarande hjälpprocessorer; ett lässkrivminne, som har minnesplatser motsvarande nämnda flera hjälpprocessorer; 10 ett första organ, som är kopplat tili nämnda flera ingängsorgan och som bestämmer vilken av nämnda flera hjälpprocessorer som har begäran med den högsta prioriteten för dataminnesätkomst, och som genererar en bussbegäransignal; ett andra organ, som är kopplat tili nämnda första organ och tili 15 nämnda styrprocessorgränssnitt och som genererar en bussbeviljandesignal endast i respons pä nämnda bussbegäransignal och pä instruktionshämtnings-och adressignaler som kommerfrän nämnda styrprocessor; ett tredje organ, som är kopplat tili nämnda första organ, nämnda andra organ och som avläser värdet fran nämnda lässkrivminne i respons pä 20 nämnda bussbeviljandesignal, varvid nämnda värde avläses frän en minnes-plats som motsvarar nämnda hjälpprocessor, som definierades ha nämnda . :' begäran med den högsta prioriteten; och · , ,* ett fjärde organ, som ger nämnda värde som ätminstone en del av : ' i nämnda minnesadressignaler, vilka genereras för dataminnet (8) under min- : ’ ·': 25 nesätkomsten, och som därefter modifierar nämnda värde och lagrar nämnda : modifierade värde i nämnda lässkrivminne pä nämnda minnesplats, som mot- . , svarar den hjälpprocessor som definierades ha nämnda begäran med högsta prioritet. »tl t * I i i « I • I I : » * · i i i i ä » • »
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14364093A | 1993-11-01 | 1993-11-01 | |
US14364093 | 1993-11-01 | ||
PCT/US1994/012634 WO1995012854A1 (en) | 1993-11-01 | 1994-11-01 | Multiprocessor data memory sharing |
US9412634 | 1994-11-01 |
Publications (3)
Publication Number | Publication Date |
---|---|
FI953204A0 FI953204A0 (fi) | 1995-06-28 |
FI953204A FI953204A (fi) | 1995-08-28 |
FI112709B true FI112709B (fi) | 2003-12-31 |
Family
ID=22504949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FI953204A FI112709B (fi) | 1993-11-01 | 1995-06-28 | Datamuistin jakaminen moniprosessorijärjestelmissä |
Country Status (10)
Country | Link |
---|---|
US (1) | US5598575A (fi) |
JP (1) | JP3877231B2 (fi) |
KR (1) | KR100324885B1 (fi) |
CN (1) | CN1038160C (fi) |
AU (1) | AU675169B2 (fi) |
DE (1) | DE4438975A1 (fi) |
FI (1) | FI112709B (fi) |
FR (1) | FR2714747B1 (fi) |
GB (1) | GB2283596B (fi) |
WO (1) | WO1995012854A1 (fi) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3308386B2 (ja) * | 1994-04-25 | 2002-07-29 | ファナック株式会社 | 制御システム |
WO1996008878A1 (en) | 1994-09-14 | 1996-03-21 | Ericsson Inc. | Satellite communications adapter for cellular handset |
US5734867A (en) * | 1995-07-28 | 1998-03-31 | Motorola, Inc. | Method, device, microprocessor and microprocessor memory for instantaneous preemption of packet data |
US5983327A (en) * | 1995-12-01 | 1999-11-09 | Nortel Networks Corporation | Data path architecture and arbitration scheme for providing access to a shared system resource |
KR100376056B1 (ko) * | 1995-12-29 | 2003-07-22 | 엘지엔시스(주) | 멀티 프로세서 인터럽트 처리장치 |
US5809538A (en) * | 1996-02-07 | 1998-09-15 | General Instrument Corporation | DRAM arbiter for video decoder |
US5892934A (en) * | 1996-04-02 | 1999-04-06 | Advanced Micro Devices, Inc. | Microprocessor configured to detect a branch to a DSP routine and to direct a DSP to execute said routine |
US5901293A (en) * | 1996-06-25 | 1999-05-04 | Claxton; Daniel Dean | Bus interface controller for serially-accessed variable-access-time memory device |
US5815674A (en) * | 1996-07-15 | 1998-09-29 | Micron Electronics, Inc. | Method and system for interfacing a plurality of bus requesters with a computer bus |
EP1059588A1 (en) * | 1999-06-09 | 2000-12-13 | Texas Instruments Incorporated | Multi-channel dma with request scheduling |
DE69919992T2 (de) * | 1999-06-09 | 2005-01-20 | Texas Instruments Inc., Dallas | Verteilter Speicher mit programmierbarer Grösse |
US6378051B1 (en) | 1999-06-14 | 2002-04-23 | Maxtor Corporation | Interrupt signal prioritized shared buffer memory access system and method |
US6754509B1 (en) * | 1999-12-30 | 2004-06-22 | Qualcomm, Incorporated | Mobile communication device having dual micro processor architecture with shared digital signal processor and shared memory |
JP3520032B2 (ja) * | 2000-06-14 | 2004-04-19 | 松下電器産業株式会社 | データ処理装置 |
IT1320466B1 (it) * | 2000-06-29 | 2003-11-26 | Cselt Centro Studi Lab Telecom | Procedimento e apparecchiuatura per l'arbitrio di processi concorrenti in sistemi multiprocessore. |
US6785284B1 (en) * | 2000-08-10 | 2004-08-31 | Infineon Technologies North America Corp. | Interleavement for transport of frames and cells |
WO2002021290A1 (en) * | 2000-09-06 | 2002-03-14 | Koninklijke Philips Electronics N.V. | Inter-processor communication system |
FR2824650A1 (fr) | 2001-05-10 | 2002-11-15 | Koninkl Philips Electronics Nv | Systeme de traitement de donnees et procede de distribution d'acces a des memoires |
JP2002342104A (ja) * | 2001-05-18 | 2002-11-29 | Hitachi Ltd | 制御装置及びそれを用いた光ディスク装置 |
US7024511B2 (en) * | 2001-06-22 | 2006-04-04 | Intel Corporation | Method and apparatus for active memory bus peripheral control utilizing address call sequencing |
KR100761473B1 (ko) * | 2001-07-19 | 2007-09-27 | 삼성전자주식회사 | 휴대용 기기의 파일관리장치 및 파일관리방법 |
US20030095447A1 (en) * | 2001-11-20 | 2003-05-22 | Koninklijke Philips Electronics N.V. | Shared memory controller for display processor |
JP2004096534A (ja) * | 2002-09-02 | 2004-03-25 | Nec Corp | 携帯電話器およびその制御方法 |
US7139881B2 (en) * | 2003-09-25 | 2006-11-21 | International Business Machines Corporation | Semiconductor device comprising a plurality of memory structures |
US20050132145A1 (en) * | 2003-12-15 | 2005-06-16 | Finisar Corporation | Contingent processor time division multiple access of memory in a multi-processor system to allow supplemental memory consumer access |
EP1550953A1 (en) * | 2003-12-29 | 2005-07-06 | CNX S.p.A. | Method and device implementing a time multiplexed access to a single dual port RAM from several data source with independent clocks |
JP3949674B2 (ja) * | 2004-05-11 | 2007-07-25 | 株式会社コナミデジタルエンタテインメント | 表示装置、表示方法、ならびに、プログラム |
US7660916B2 (en) * | 2005-06-16 | 2010-02-09 | Agere Systems Inc. | Emulation of independent active DMA channels with a single DMA capable bus master hardware and firmware |
JP2010003067A (ja) * | 2008-06-19 | 2010-01-07 | Sony Corp | メモリシステムおよびそのアクセス制御方法、並びにプログラム |
WO2010016169A1 (ja) * | 2008-08-07 | 2010-02-11 | 日本電気株式会社 | マルチプロセッサシステム及びその制御方法 |
KR101620128B1 (ko) * | 2008-12-30 | 2016-05-12 | 마이크론 테크놀로지, 인크. | 직렬 비휘발성 메모리를 위한 향상된 어드레싱 능력 |
CN101763484B (zh) * | 2009-10-10 | 2012-05-23 | 北京派瑞根科技开发有限公司 | 高安全信息网络系统 |
US20110321052A1 (en) * | 2010-06-23 | 2011-12-29 | International Business Machines Corporation | Mutli-priority command processing among microcontrollers |
FR2961923B1 (fr) * | 2010-06-25 | 2013-12-20 | Commissariat Energie Atomique | Dispositif, chaine et procede de traitement de donnees, et programme d'ordinateur correspondant |
FR2961922B1 (fr) * | 2010-06-29 | 2013-12-13 | Flexycore | Procede de compilation selective, dispositif et produit programme d'ordinateur correspondant. |
CN102567238B (zh) * | 2010-12-13 | 2015-12-16 | 联想(北京)有限公司 | 接口切换控制方法、便携终端、便携移动设备及输入设备 |
GB2495959A (en) | 2011-10-26 | 2013-05-01 | Imagination Tech Ltd | Multi-threaded memory access processor |
US9373182B2 (en) * | 2012-08-17 | 2016-06-21 | Intel Corporation | Memory sharing via a unified memory architecture |
CN103200131B (zh) * | 2013-04-03 | 2015-08-19 | 清华大学深圳研究生院 | 一种数据收发装置 |
CN106294233B (zh) * | 2015-06-29 | 2019-05-03 | 华为技术有限公司 | 一种直接内存访问的传输控制方法及装置 |
US9921986B2 (en) | 2015-10-27 | 2018-03-20 | International Business Machines Corporation | Suspend and resume in a time shared coprocessor |
CN110162122B (zh) * | 2019-04-29 | 2021-02-12 | 贵州贵谷农业股份有限公司 | 一种双中控的大棚控制系统 |
CN113778040B (zh) * | 2021-11-11 | 2022-02-15 | 西安热工研究院有限公司 | 一种基于火电厂嵌入式智能控制的装置及方法 |
CN116155290B (zh) * | 2023-04-18 | 2023-07-21 | 青岛本原微电子有限公司 | 一种模数转换单元的控制装置及控制方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3276916D1 (en) * | 1981-09-18 | 1987-09-10 | Rovsing As Christian | Multiprocessor computer system |
NO173304C (no) * | 1984-12-20 | 1993-11-24 | Honeywell Inc | Dobbelt buss-system |
US5179689A (en) * | 1987-03-13 | 1993-01-12 | Texas Instruments Incorporated | Dataprocessing device with instruction cache |
US5099417A (en) * | 1987-03-13 | 1992-03-24 | Texas Instruments Incorporated | Data processing device with improved direct memory access |
US5175841A (en) * | 1987-03-13 | 1992-12-29 | Texas Instruments Incorporated | Data processing device with multiple on-chip memory buses |
US4912636A (en) * | 1987-03-13 | 1990-03-27 | Magar Surendar S | Data processing device with multiple on chip memory buses |
FR2625340B1 (fr) * | 1987-12-23 | 1990-05-04 | Labo Electronique Physique | Systeme graphique avec controleur graphique et controleur de dram |
US5214769A (en) * | 1987-12-24 | 1993-05-25 | Fujitsu Limited | Multiprocessor control system |
EP0346917A3 (en) * | 1988-06-17 | 1990-11-07 | Modular Computer Systems Inc. | Bus stealing method for concurrent cpu and i/o processing |
US5121487A (en) * | 1989-02-21 | 1992-06-09 | Sun Microsystems, Inc. | High speed bus with virtual memory data transfer capability using virtual address/data lines |
US5210848A (en) * | 1989-02-22 | 1993-05-11 | International Business Machines Corporation | Multi-processor caches with large granularity exclusivity locking |
US5151997A (en) * | 1989-08-10 | 1992-09-29 | Apple Computer, Inc. | Computer with adaptable video circuitry |
US5218686A (en) * | 1989-11-03 | 1993-06-08 | Compaq Computer Corporation | Combined synchronous and asynchronous memory controller |
FR2656710A1 (fr) * | 1989-12-29 | 1991-07-05 | Radiotechnique Compelec | Microcontroleur pour l'execution rapide d'un grand nombre d'operations decomposable en sequence d'operations de meme nature. |
US5197143A (en) * | 1990-10-01 | 1993-03-23 | Digital Equipment Corporation | Device and method for distributing information in a computer system |
CA2086386C (en) * | 1991-12-31 | 1997-04-29 | Daniel F. Daly | Interface chip for a voice processing system |
FR2687487B1 (fr) * | 1992-02-19 | 1996-12-20 | Alcatel Business Systems | Systeme de partage de temps d'acces a une memoire partagee entre un processeur et d'autres applications. |
WO1993023810A1 (en) * | 1992-05-12 | 1993-11-25 | Seiko Epson Corporation | Scalable coprocessor |
SE9203016L (sv) * | 1992-10-14 | 1994-04-15 | Ericsson Telefon Ab L M | Signalbehandlingssystem med delat dataminne |
-
1994
- 1994-10-19 GB GB9421100A patent/GB2283596B/en not_active Expired - Lifetime
- 1994-10-24 AU AU77414/94A patent/AU675169B2/en not_active Ceased
- 1994-10-27 FR FR9412877A patent/FR2714747B1/fr not_active Expired - Fee Related
- 1994-10-31 DE DE4438975A patent/DE4438975A1/de not_active Withdrawn
- 1994-10-31 JP JP26751894A patent/JP3877231B2/ja not_active Expired - Fee Related
- 1994-11-01 KR KR1019950702717A patent/KR100324885B1/ko not_active IP Right Cessation
- 1994-11-01 WO PCT/US1994/012634 patent/WO1995012854A1/en active IP Right Grant
- 1994-11-01 CN CN94191073A patent/CN1038160C/zh not_active Expired - Fee Related
-
1995
- 1995-06-28 FI FI953204A patent/FI112709B/fi active
-
1996
- 1996-04-15 US US08/626,911 patent/US5598575A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
FR2714747B1 (fr) | 1997-06-13 |
KR960700478A (ko) | 1996-01-20 |
JPH07281946A (ja) | 1995-10-27 |
FI953204A (fi) | 1995-08-28 |
CN1038160C (zh) | 1998-04-22 |
GB2283596A (en) | 1995-05-10 |
KR100324885B1 (ko) | 2002-07-03 |
US5598575A (en) | 1997-01-28 |
AU675169B2 (en) | 1997-01-23 |
FI953204A0 (fi) | 1995-06-28 |
DE4438975A1 (de) | 1995-06-29 |
WO1995012854A1 (en) | 1995-05-11 |
CN1117318A (zh) | 1996-02-21 |
FR2714747A1 (fr) | 1995-07-07 |
GB2283596B (en) | 1998-07-01 |
AU7741494A (en) | 1995-05-18 |
JP3877231B2 (ja) | 2007-02-07 |
GB9421100D0 (en) | 1994-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FI112709B (fi) | Datamuistin jakaminen moniprosessorijärjestelmissä | |
EP0288636B1 (en) | Network communications adapter | |
US6691216B2 (en) | Shared program memory for use in multicore DSP devices | |
US6895459B2 (en) | Bus arbitration method employing a table of slots suitably distributed amongst bus masters | |
EP1226493B1 (en) | Bus architecture and shared bus arbitration method for a communication processor | |
US6192442B1 (en) | Interrupt controller | |
US5781799A (en) | DMA controller arrangement having plurality of DMA controllers and buffer pool having plurality of buffers accessible to each of the channels of the controllers | |
US9430411B2 (en) | Method and system for communicating with non-volatile memory | |
JPH06266650A (ja) | データを転送する方法と装置及びデータ転送をインタリーブする装置 | |
JPH06266649A (ja) | 複数のデータチャネルを介してデータを転送する方法及びその回路アーキテクチャ | |
US5964859A (en) | Allocatable post and prefetch buffers for bus bridges | |
EP1436724A1 (en) | Multi-threaded packet processing engine for stateful packet pro cessing | |
KR20090092835A (ko) | 직접 메모리 액세스 컨트롤러 | |
JPH11296389A (ja) | プロセッサでマルチタスキングを管理するコンテキスト・コントロ―ラ | |
US9390033B2 (en) | Method and system for communicating with non-volatile memory via multiple data paths | |
US20140068625A1 (en) | Data processing systems | |
US5608889A (en) | DNA controller with wrap-around buffer mode | |
KR900001120B1 (ko) | 우선도가 낮은 유니트를 우선도가 높은 위치에 위치시키기 위한 분배된 우선도 회로망 로직을 가진 데이타 처리 시스템 | |
US9377968B2 (en) | Method and system for using templates to communicate with non-volatile memory | |
US6282144B1 (en) | Multi-ported memory with asynchronous and synchronous protocol | |
US20020091957A1 (en) | Multiprocessor array | |
JPH11296385A (ja) | プロセッサでマルチタスキングを管理するコンテキスト・コントロ―ラ | |
KR20040045446A (ko) | 버스트 모드를 지원하는 외부 메모리가 있는 인터페이싱프로세서 | |
US20200278825A1 (en) | Multi-core audio processor with flexible memory allocation | |
JPS61202258A (ja) | チャネル処理装置 |