FI79200C - Kontrollsystem foer flera processorer anvaendande databehandlingssystem. - Google Patents

Kontrollsystem foer flera processorer anvaendande databehandlingssystem. Download PDF

Info

Publication number
FI79200C
FI79200C FI834449A FI834449A FI79200C FI 79200 C FI79200 C FI 79200C FI 834449 A FI834449 A FI 834449A FI 834449 A FI834449 A FI 834449A FI 79200 C FI79200 C FI 79200C
Authority
FI
Finland
Prior art keywords
queue
pointer
route
control
vector
Prior art date
Application number
FI834449A
Other languages
English (en)
Swedish (sv)
Other versions
FI834449A0 (fi
FI79200B (fi
FI834449A (fi
Inventor
Robert Bean
Edward A Gardner
Michael Chow
Barry L Rubinson
Richard F Lary
Robert Blackledge
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of FI834449A0 publication Critical patent/FI834449A0/fi
Publication of FI834449A publication Critical patent/FI834449A/fi
Publication of FI79200B publication Critical patent/FI79200B/fi
Application granted granted Critical
Publication of FI79200C publication Critical patent/FI79200C/fi

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)

Description

1 79200
Ohjausjärjestely useita prosessoreita käyttävää tietojenkäsittelyjärjestelmää varten
Keksintö liittyy yleisesti järjestelyjen alaan, 5 joissa useita erityistarkoituksiin tarkoitettuja prosessoreja käyttävät tietojenkäsittelyjärjestelmät ohjaavat tai ajoittavat tehtävien tai prosessien käsittelyä ja erityisesti järjestelyihin, joissa ohjeet tehtävien tai prosessien käsittelyä varten siirretään prosessoreista, jotka muodos-10 tavat tällaisen moniajojärjestelmän.
Elektronisiin tietojenkäsittelyjärjestelmiin käytettyjen prosessorien kustannusten ja koon pieneneminen muutamien viime vuosien aikana on johtanut dramaattiseen lisäykseen prosessorien, erityisesti mikroprosessorien, luku-15 määrässä, joita käytetään tietojenkäsittelyjärjestelmissä. Prosessoreja käytetään tietojenkäsittelyjärjestelmissä sekä prosessoriyksiköiden osana käyttäjäohjelmien käsittelemiseksi että ohjausyksiköiden osana, jotka ohjaavat useita oheismuistielementtejä, kuten levy- ja nauhakäyttöjä ja 20 sisääntulo/ulostuloelementtejä, kuten kirjoittimia, näppäimistöjä ja visuaalisia näyttölaitteita, tieteellisiä instrumentteja, kortinlukijoita ja -lävistimiä, yhteyslinjoja ja vastaavia.
Useissa tapauksissa on suotavaa käyttää järjestel-25 mässä erillisiä prosessoriyksiköitä useiden käskyluokkien suorittamiseksi. Esimerkiksi useissa järjestelmissä on erilliset prosessorit, jotka on konstruoitu suorittamaan liukuvan pilkun komentoja tai kiinteän pilkun komentoja tai suorittamaan matriisitoimenpiteitä tai käyttämään ja etsi-30 mään merkkijonoja. On suunniteltu erityisprosessoriyksi-köitä nopeuttamaan näiden käskyjen suorittamista. Lisäksi joissakin tapauksissa erilliset prosessoriyksiköt voivat 2 79200 kyetä suorittamaan käskyjä samanaikaisesti nopeuttaen siten järjestelmän toimintaa.
Prosessorien käyttö oheis- ja sisääntulo/ulostulo-ohjausyksiköissä sallii prosessoriyksikön käyttää ohjaus-5 yksiköille lausekomentoja, jotka vain yleisesti määrittävät suoritettavat toiminnot ja ohjausyksikkö itse siten määrittää yksityiskohtaiset toiminnot, jotka on suoritettava komennoilla vaadittujen toimintojen suorittamiseksi. Lisäksi ohjausyksikön prosessorit voivat aloittaa ja suorittaa liitet-10 tyjen oheisyksiköiden diagnooseja tai ylläpitää ilman käsittelevän yksikön tai yksiköiden väliintuloa vapauttaen ne siten keskittymään käyttäjäohjelmien suorittamiseen. Tämä järjestely oleellisesti vähentää sen suoran huomion määrää, jonka prosessoriyksikön tulee antaa oheis- ja sisääntulo/ulos-15 tuloelmenttien yksityiskohtaisilla toiminnoilla.
Moniprosessoreita käyttävillä järjestelmillä on yleensä toinen kahdesta järjestelytyypistä useiden prosessorien suorittamien tehtävien suorittamisen ohjaamiseksi ja ajoittamiseksi, jotka molemmat tyypit on kuvattu S. Madnick et al.:n 20 julkaisussa "Operating Systems (McGraw-Hill Book Company,
New York, New York (1974) sivuilla 244-247. Toisessa järjestelyssä pääprosessori kehittää tehtävät, jotka esimerkiksi käyttäjäohjelma vaatii ja jakelee ne sivuprosessoreille. Pääprosessori yleensä ilmoittaa sivuprosessorien toiminta-25 tilat. Toiminnan käynnistämiseksi sivuprosessorin avulla pääprosessori keskeyttää sivuprosessorin ja kun sivupro-sessori saa tehtävänsä päätökseen se keskeyttää pääprosessorin toimintatilan ilmaisemiseksi. Pääprosessori voi sitten nimittää sivuprosessorille uuden tehtävän. Pääprosessori 30 voi myös suorittaa diagnoosi- ja ylläpito-ohjelmia järjestelmällä .
Pääprosessorin käyttö yksinkertaistaa ajoitusta, mutta jos pääprosessorille asetettavat vaatimukset ovat kovat, se voi ylikuormittua hidastaen siten järjestelmää.
35 Lisäksi vaatimus, että pää- ja sivuprosessorit kommunikoi- 3 79200 vat keskeytyksillä, edelleen lisää ylikuormitusta, koska molemmilta prosessoreilta vaaditaan aikaa keskeytysten hoitamiseen .
Toinen järjestely eliminoi tarpeen varata prosessori 5 ainoastaan tehtävien kehittämiseen ja ajoittamiseen. Tässä järjestelyssä prosessien tilalista ja niiden toimintatilat on tallennettu niin, että millä tahansa prosessorilla on pääsy listaan. Aina kun prosessorin täytyy lopettaa prosessin suoritus, se päivittää prosessorin toimintatilan tila-10 listassa ja löytää sitten toisen prosessin ajettavaksi. Tällaisessa järjestelmässä, joka käyttää hajotettua ohjausta, on tarpeen synnyttää hyvä koordinointi ja kommunikointi kaikkien prosessorien välille sen varmistamiseksi, että prosessia käsitellään vain yhdellä prosessorilla kerrallaan 15 ja myös sen varmistamiseksi, että kaikki prosessit käsitellään. Kun järjestelmän prosessorien lukumäärä kasvaa, tyydyttävä kommunikointi ja koordinointi tulee vaikeammaksi saavuttaa.
Yhteenveto 20 Keksinnön kohteena on näin ollen muodostaa uusi ja parannettu järjestely moniprosessorijärjestelmän muodostavien prosessorien välistä kommunikointia ja koordinointia varten.
Keksinnön toisena kohteena on muodostaa uusi ohjaus-25 järjestely moniprosessorijärjestelmälle, joka käyttää toiminnallisesti eriytettyjä prosessoreita, joka järjestely samanaikaisesti vähentää järjestelmän muodostavien prosessorien välistä suoraa kommunikointia ja parantaa prosessorien välistä koordinointia.
30 Keksinnön kohteena on edelleen muodostaa uusi ja parannettu moniprosessoriohjausyksikkö tietojenkäsittelyjärjestelmän oheis- ja sisääntuloyksiköiden ohjaamiseksi.
Lyhyenä yhteenvetona järjestelmä käyttää useita erityistarkoituksiin tarkoitettuja prosessoreja useiden komen-35 tojen suorittamiseksi. Kutakin komentoa käsitellään suorittamalla ennalta määritetty toimintosarja. Kukin toiminto 4 79200 suoritetaan prosessorilla tai tarkemmin prosessissa tai "asemalla", jonka jokin järjestelmän prosessori suorittaa.
Järjestelmän muistiyksikkö tallentaa "reitin", joka sisältää listan "reittivektoreista", jotka kukin määrittä-5 vät suoritettavan toiminnon komennon suorittamiseksi ja aseman, jonka tulee suorittaa toiminto. Kun komento vastaanotetaan, yksi prosessori lähdeprosessorina kehittää ohjausjakson isäntäkomennosta. Ohjausjakso sisältää osoit-timen, joka identifioi ensimmäisen reittivektorin reitillä 10 ja siirtää ohjausjakson sen aseman työjonoon, jonka on suoritettava ensimmäinen operaatio.
Kukin asema noutaa peräkkäin ohjausjaksot työjonos-taan. Ohjausjakson noutamisen jälkeen asema noutaa reitti-vektorin, joka on identifioitu ohjausjaksossa ja suorittaa 15 reittivektorin määrittämän toiminnon. Toiminnon suorittamisen jälkeen asema siirtää eteenpäin osoitinta ohjausjak-sossa seuraavan reittivektorin identifioimiseksi reitillä ja siirtää ohjausjakson suoraan sen aseman työjonoon, joka on seuraavassa reittivektorissa identifioitu suorittamaan 20 seuraava toiminta.
Ylimääräisenä piirteenä kukin reittivektori voi myös sisältää ohjausjakson vastaanottavan aseman identifikaation, jos suorittava asema ei onnistu yrityksessään suorittaa reittivektorin vaatimaa operaatiota.
25 Lisäksi kukin prosessori voi käsitellä useita ase mia kun kullakin asemalla on oma työjononsa. Tällaisessa tapauksessa kullakin prosessorilla voi olla myös palvelujono. Kun asema siirtää ohjausjakson tyhjään työjonoon, myös työjonon identifikaatio siirretään vastaanottavan prosesso-30 rin palvelujonoon. Prosessori voi määrittää palvelujonostaan, että yhdellä sen asemien aikaisemmin tyhjistä työjo-noista nyt on ohjausjakso. Prosessorin ei siten tarvitse kysellä sen asemien työjonoja sen määrittämiseksi, sisältävätkö ne käsiteltäviä ohjausjaksoja ja siirtoaseman ei tar-35 vitse keskeyttää vastaanottavan aseman prosessoria kun se siirtää ohjausjakson tyhjään työjonoon.
5 79200
Lisäksi lähdeprosessori voi kehittää useita itsenäisesti suoritettavia ohjausjaksoja tietyistä isäntäkomen-noista. Jos keskitetään useita ohjausjaksoja, lähdeprosessori voi myös muodostaa laskurin, joka identifioi niiden 5 ohjausjaksojen lukumäärän, jotka se kehittää komentoon perustuen. Kun asema suorittaa viimeisen reittivektorin ohjaus jakson reitissä, se vähentää laskurin arvoa. Kun laskurin arvo on vähennetty nollaan, kehitetään vastaus, joka ilmaisee, että komento on suoritettu.
10 Lyhyt piirustusten selitys Tämä keksintö on esitetty erityisesti oheisissa patenttivaatimuksissa. Tämän keksinnön yllä mainitut ja muut kohteet ja edut voidaan ymmärtää paremmin viitaten seuraa-vaan selitykseen, johon liittyvät oheiset piirustukset, 15 joissa kuvio 1 on moniprosessoreita käyttävä oheisohjain, joka on konstruoitu keksinnön mukaisesti, kuviot 2 ja 3 on kaaviokuvia, jotka esittävät tiettyjä ohjausrakenteita, jotka ovat tarpeen keksinnön ymmär-20 tämisessä, kuviot 4, 5 ja 6 ovat keksinnön piirteiden ymmärtämisessä hyödyllisiä vuokaavioita ja kuviot 7A ja 7B ovat kuvion 6 ymmärtämisessä hyödyllisiä diagrammeja, 25 kuvio 8 on toinen keksinnön piirteiden ymmärtämises tä hyödyllinen vuokaavio, ja kuvio 9 on toinen diagrammi, joka esittää ohjausrakenteen, joka on käyttökelpoinen vielä erään keksinnön piirteen ymmärtämiseksi.
30 Havainnollistavan esimerkin kuvaus
Kuvio 1 esittää oheisohjaimen 10, jolla on monipro-sessorirakenne, johon sisältyy neljä erityistarkoitusproses-soria sisältäen isäntäliitännänohjausprosessorin 12, levyn-ohjausprosessorin 14, nauhanohjausprosessorin 16 ja lähde-35 prosessorin 18. Isäntäliitännänohjausprosessori 12 kommunikoi isäntätietojenkäsittelyjärjestelmän (ei esitetty) kanssa 6 79200 isäntäväylän 20 kautta ja siirtää komento- ja toimintatila-informaatiota isäntäväylän 20 ja ohjausmuistin 22 välillä ohjausinformaatioväylän 24 kautta. Isäntäliitännänohjaus-prosessori 12 siirtää myös dataa isäntäväylän 20 ja data-5 muistin 26 välillä dataväylän 28 kautta.
Levynohjausprosessori 14 ja nauhanohjausprosessori 16 on myös liitetty ohjausinformaatioväylään 24 ja dataväy-lään 28. Levynohjausprosessori 14 on liitetty myös useisiin levyasemiin, joista neljä on esitetty kuviossa 1, joita on 10 yleisesti merkitty 30:11a ja nauhanohjausprosessori 16 on myös yhdistetty nauha-asemiin, joista neljä on esitetty kuviossa 1 merkittynä yleisesti 32:11a.
Ohjausmuisti 22 tallentaa myös ohjausinformaatiota, jota käyttävät levynohjausprosessori 14 ja nauhanohjaus-15 prosessori 16 datamuistiin 26 tallennetun datan siirtämiseksi levyasemien 30 ja/tai nauha-asemien 32 välillä data-väylän 28 kautta. Ohjausmuisti tallentaa myös ohjausinformaatiota, jota isäntäliitännänohjausprosessori 12 käyttää toimintojensa suorittamisessa.
20 Lähdeprosessori 18 on myös yhdistetty ohjausinfor maatioväy lään 24 ja dataväylään 28 ja voi noutaa ohjausinformaatiota ohjausmuistista 22 ja tallentaa ohjausinformaatiota siihen. Lähdeprosessori 18 kehittää ohjausinformaation, jota levynohjausprosessori ja nauhanohjausprosessori 25 käyttävät ja voi suorittaa myös diagnostisia ja ylläpito-ohjelmia .
Oheisohjain 10, jota on kuvattu kuviossa 1, on esitetty kytketyksi vain levyasemiin 30 ja nauha-asemiin 32. Näin on ainoastaan esimerkin vuoksi, oheisohjain voi olla 30 yhdistetty myös muun tyyppisiin oheislaitteisiin samoin kuin sisääntulo/ulostulolaitteisiin, kuten kirjoittimet, videonäyttöpäätteet ja näppäimistöt, tieteelliset laitteet jainstrumentit ja yhteyslinjat yhdessä sopivien ohjauspro-sessorien kanssa. Lisäksi ohjain 10 voi olla yhdistetty 35 useisiin isäntäprosessoreihin ylimääräisten isäntäliitännänoh jausprosessorien 12 kautta.
7 79200 Lähdeprosessori 18 on liitetty myös ohjausinformaa-tioväylään 24 ja dataväylään 28. Erillistä lähdeprosessoria ei tarvita keksinnön etujen saavuttamiseen, yksi tai useammat ohjausprosessoreista 12, 14 ja 16 voivat suorittaa 5 lähdeprosessorin toiminnat. Kuviossa 1 esitetyssä suoritusmuodossa lähdeprosessori 18 noutaa isäntäkomennot, jotka on ladattu ohjausmuistiin 22 ja kehittää ohjausinformaation, jota prosessorit 12, 14 ja 16 käyttävät isäntäkomen-tojen suorittamiseen. Lisäksi lähdeprosessori 18 suorittaa 10 ylläpito- tai diagnostisia ohjelmia sen varmistamiseksi, että ohjain 10 toimii kunnolla ja niiden virheiden syiden havaitsemiseksi, jotka se tai jokin muu muista prosessoreista voi havaita. Lisäksi kun vaaditaan isäntäkomennon suorittamista joko lähdeprosessori 18 tai ohjausprosessorit 15 14 ja 16 voivat suorittaa tiettyjä operaatioita, kuten ta vanomaisen sektori- tai jaksoidentifiointi-informaation kehittäminen, joka voidaan kirjoittaa otsikoksi levyille tai nauhoille KIRJOITUS-operaatioiden tai muiden siirtojen aikana, joissa dataa siirretään oheis- tai sisääntulo/ulos-20 tuloyksikköön. Nämä operaatiot suorittavat tehtävät tai prosessit, jotka muodostavat osan vastaavien prosessorien ohjausohjelmista. Kukin tehtävä tai prosessi, jonka prosessorit 12, 14, 16 ja 18 suorittavat isäntäkomennosta riippuvaisesti mukaan lukien diagnostiset ja ylläpitoteh-25 tävät, jotka lähdeprosessori 18 voi käynnistää, on "asema".
Keksinnön mukaisesti kukin isäntäkomento, jonka oheisohjain 10 voi suorittaa, liittyy reitt-in 36, josta on esitetty esimerkki kuvion 2 oikeanpuoleisessa osassa. Kuviossa 1 esitetyssä suoritusmuodossa reitit on tallennet-30 tu ohjausmuistiin 22 ja siten näitä voi käyttää mikä hyvänsä oheisohjaimen muodostava asema. Kukin reittivektori 38 listassa identifioi TOIMKOODI kentässä 39 isäntäkomennon käsittelemisen aikana suoritettavan operaation. Kukin reittivektori 38 identifioi myös aseman reittivektorin 35 suorittamiseksi, toisin sanoen reittivektorin TOIMKOODI kentässä 39 identifioidun operaation suorittamiseksi 8 79200 listassa ASEMA kentässä 40. Lisäksi yhdessä tietyssä suoritusmuodossa kukin reittivektori 38 sisältää myös kenttiä, jotka identifioivat ilmoitettavan aseman, jos jokin asema ei onnistu yrityksessään reittivektorin 38 vaatiman operaa-5 tion suorittamiseksi, VIRHETAVOITE kentässä 41 ja neljä lippua, X-lipun 42, H-lipun 43, E-lipun 44 ja B-lipun 45, joilla on alla kuvatut merkitykset.
Kutakin isäntäkomentoa varten, jonka oheisohjain 10 vastaanottaa, lähdeprosessori 18 kehittää ohjausjakson 49, 10 josta esimerkki on esitetty kuviossa 2 vasemmalla. Ohjaus-jakso 49 sisältää vallitsevan reittivektorin osoittimen 50, joka osoittaa reittivektoriin 38 isäntäkomentoon liittyvällä reitillä. Erityisesti vallitseva reittivektoriosoi-tin 50 sisältää isäntäkomentoon liittyvän reitin ensimmäi-15 sen reittivektorin TOIMKOODI kentän osoitteen. Ohjauspro-sessorin 18 kehittämänä ohjausjakson 49 vallitsevan reitti-vektorin osoitin 50 osoittaa ensimmäiseen reittivektoriin, jota on merkitty REITTIVEKTORI (1. toiminto) reitillä 36.
Ohjausjakso 49 sisältää myös jonolinkitysosoittimen 20 52, joka on ohjausjakson ensimmäinen kenttä. Kullakin asemalla on siihen liittyvä työjono 58, joka on esitetty kuviossa 3. Työjono 58 tallentaa ohjausjaksot, jotka asema on käsitellyt siinä järjestyksessä, jossa ne on tallennettu jonoon. Yhdessä tietyssä suoritusmuodossa työjono on sijoi-25 tettu ohjausmuistiin 22 ja sen määrittää (a) esiosoitin 60, joka osoittaa tai sisältää ohjausmuistin 22 sen muistipaikan osoitteen, joka sisältää ensimmäisen ohjausjakson aseman työjonossa 58 ja (b) jälkiosoitin 61, joka osoittaa tai sisältää ohjausmuistin 22 sen muistipaikan osoitteen, joka 30 sisältää viimeisen ohjausjakson työjonossa 58. Kuten on esitetty kuviossa 3, työjonon kunkin ohjausjakson jonolinki-tysosoitin 52 osoittaa jonon seuraavaan ohjausjaksoon identifioiden siten jonon muodostavat ohjausjaksot.
Ohjausjakso sisältää myös isäntäkomento-osoittimen 35 51, joka sisältää sen isäntäkomennon osoitteen, joka sai lähdeprosessorin 18 kehittämään ohjausjakson. Kuten alla on 9 79200 selitetty, yhdessä suoritusmuodossa isäntäkomento voi saada lähdeprosessorin 18 kehittämään useita ohjausjaksoja. Jos näin tapahtuu, lähdeprosessori voi myös synnyttää laskurin, joka identifioi isäntäkomentoa varten kehitettyjen ohjaus-5 jaksojen lukumäärän. Kun viimeinen reittivektori on käsitelty kutakin ohjausjaksoa varten, asema, joka suorittaa viimeisen reittivektorin, voi vähentää laskuria käyttäen isäntäkomento-osoitinta isäntäkomennon ja laskurin identifioimiseen .
10 Ohjausjakso 49 voi myös sisältää muuta informaatio ta kentissä, joita on yleisesti merkitty 53:11a, joka informaatio on käyttökelpoista isäntäkomentoa suoritettaessa. Tämä muodostelma voi sisältää oheis- tai sisääntulo/ ulostuloyksikön. Osoiteinformaatiota, informaatiota, joka 15 identifioi datamuistin 26 puskurit, jotka sisältävät kirjoitettavaa dataa tai joihin data on siirrettävä tai vastaavaa .
Toiminnassa, kun lähdeprosessori 18 kehittää ohjaus-jakson 49, joka on esitetty kuviossa 2, se siirtää ohjaus-20 jakson sen aseman työjonoon 59 (kuvio 3), joka on identifioitu ensimmäisessä reittivektorissa 38 asemana, jonka on käsiteltävä ensimmäinen reittivektori 38.
Kukin asema noutaa peräkkäin ohjausjaksot työjonos-taan 59 ja suorittaa toiminnon, jota on kutsuttu reitti-25 vektorin 38 TOIMKOODI kentässä 39, johon vallitseva reitti-vektori 50 osoittaa. Jos asema kykenee suorittamaan toiminnon, se siirtää vallitsevaa reittivektoriosoitinta 50 eteenpäin ohjausjaksossa osoittamaan seuraavaa reittivektoria reitillä 36. Toisin sanoen asema lataa seuraavan reittivek-30 torin TOIMKOODI kenttään osoitteen vallitsevaan reittivektorin osoittimeen 50 ja suorittaa LÄHETYS-operaation oh-jausjakson siirtämiseksi reittivektorin 38 ASEMA kentässä 40 identifioidun aseman työjonoon, jonka reittivektorin nyt on identifioinut vallitsevan reittivektorin osoitin 50.
35 jos asema ei kykene käsittelemään reittivektoria,
toisin sanoen, jos se ei kykene suorittamaan TOIMKOODI
10 79200 kentän 39 vaatimaa operaatiota, se ei siirrä vallitsevan reittivektorin osoitinta 50 eteenpäin vaan käyttää sen sijaan LÄHETYS-operaatiota ohjausjakson siirtämiseksi VIRHE-TAVOITE kentän 41 identifioimaan työjonoon, joka voi olla 5 diagnostisia tai ylläpito-ohjelmin suorittavan aseman työ-jono.
Voidaan nähdä, että keksintö muodostaa moniprosesso-rijärjestelmän, jolla on useita etuka. Koska keksintö ei vaadi pääprosessoria, ei esiinny viiveitä minkään prosesso-10 rin ylikuormituksen johdosta. Todellakin, mikä tahansa tai kaikki prosessorit voivat toimia lähdeprosessoreina ohjaus-jaksojen kehittämiseksi järjestelmää varten. Edelleen asemat voivat siirtää ohjausjaksot työjonojen joukkoon tarvitsematta keskeyttää vastaanottavaa asemaa tai siihen liitty-15 vää prosessoria, mikä myös välttää viivettä. Lisäksi reitit sallivat oleellisen määrän joustavuutta, kuten haaroit-tamisen ja silmukat, koska operaatio ja kunkin operaation suorittavan aseman identiteetti on tallennettu itse reit-tivektoriin. Tämä voi olla hyödyllistä, jos isäntäkomen-20 nosta riippuvaisesti suoritettavat operaatiot riippuvat tietyistä olosuhteista. Esimerkiksi, jos levyohjaimella 30 (kuvio 1) on välimuisti suoritettavat operaatiot ja siten käsiteltävät reittivektorit voivat riippua siitä, onko levylle kirjoitettava data jo tallennettu välimuistiin 25 vai ei.
Keksintö voidaan ymmärtää täydellisemmin viitaten kuviossa 4 esitettyyn vuokaavioon. Isäntäliitännän ohjaus-prosessori 12 vastaanottaa ensin isäntäkomennon ja lataa sen ohjausmuistiin (vaihe 100). Vaiheessa 102 isäntäprosessori 30 18 noutaa isäntäkomennon ohjausmuistista 22 ja kehittää yhden tai useampia ohjausjaksoja 49 (kuvio 2). Jos on kehitettävä useampia kuin yksi ohjausjakso isäntäkomentoa varten, ohjausprosessori voi synnyttää laskurin, joka osoittaa kehitettyjen ohjausjaksojen lukumäärän.
35 Isäntäkomennosta lähdeprosessori 18 kehittää ohjaus- jakson 49 ja siirtää sen isäntäkomentoon (vaihe 104) 11 79200 liittyvän reitin ensimmäisen reittivektorin ASEMA kentän 40 identifioiman aseman työjonoon (kuvio 3). Prosessia, jossa keksinnön yksi erityinen suoritusmuoto siirtää ohjaus-jaksot, selitetään alla kuvioiden 5, 6 ja 7 yhteydessä.
5 Kukin asema noutaa ohjausjaksot työjonostaan (vai he 106). Viitaten kuvioon 3 yhdessä erityisessä suoritusmuodossa asema noutaa ohjausjakson ohjausmuistin 22 paikasta, joka on identifioitu pääosoittimeen 60 sisällöllä. Asema noutaa sitten reittivektorin ohjausmuistin 22 paikas-10 ta, joka on identifioitu ohjausjakson vallitsevan reitti-vektorin osoittimessa 50 ja suorittaa TOIMKOODI kentässä identifioidun operaation (vaihe 108). Operaation suorittamisen jälkeen asema siirtää vallitsevan reittivektorin osoitinta 50 eteenpäin (vaihe 110, katso myös kuvion 5 vai-15 he 126). Yhdessä tietyssä suoritusmuodossa reittivektorit ovat kaikki saman pituisia ja aseman tarvitsee vain lisätä vallitsevan reittivektorin osoitinta 50 vakiolla seuraavaan reittivektoriin osoittamista varten. Reittivektorit voivat kuitenkin olla eri mittaisia ja jonot, joita kukin asema 20 käyttää eri reittivektorien käsittelemiseen, on sovitettava eri pituuksiin.
Sen jälkeen kun asema on siirtänyt vallitsevan reittivektorin osoitinta 50 eteenpäin, se siirtää ohjausjakson toiseen työjonoon (vaihe 110). Jos asema onnistuneesti 25 suorittaa reittivektorin vaatiman operaation, se siirtää ohjausjakson asemalle erityisesti sen aseman työjonoon 59, joka on identifioitu reitin seuraavan reittivektorin ASEMA kentässä 40. Jos asema ei kykene suorittamaan operaatiota, se siirtää ohjausjakson siihen jonoon, joka on identifioitu 30 tämän reittivektorin VIRHETAVOITE kentässä 41. Jos tämä on reitin 36 viimeinen reittivektori, asema voi myös vähentää isäntäkomentoon liittyvää laskuria.
Työjonon 59 pääosoitin 60 ilmaisee myös, onko ohjaus-jakso työjonossa. Yhdessä tietyssä suoritusmuodossa, jos 35 pääosoittimen sisältö on nolla, työjono ei sisällä käsiteltäviä ohjausjaksoja. Sen jälkeen kun asema on suorittanut 12 79200 siirtojonon ohjausjakson 49 siitämiseksi toiseen työjonoon 59 asema testaa sen työjonon pääosoittimen 60 sen määrittämiseksi, onko työjono tyhjä (vaihe 112). Jos työjono ei ole tyhjä, asema palaa vaiheeseen 100 ja noutaa seuraavan oh-5 jausjakson työjonostaan. Jos toisaalta pääosoitin 60 ilmaisee, että työjono on tyhjä, asema voi jatkaa työjononsa pääosoittimen testaamista, kunnes se ei ole tyhjä (vaihe 114), jolloin se palaa vaiheeseen 106 seuraavan ohjausjakson käsittelemiseksi.
10 Keksinnön yhdessä suoritusmuodossa reitit ja reitti- vektorit ovat yhteisen ohjausmuistin 22 lukuosassa. Vaihtoehtoisesti reittivektorit voivat olla jettuina asemien ja prosessorien paikallismuistien joukkoon, 30s näin on asia, kunkin paikallismuistin tarvitsee vain tallentaa aseman 15 suoritettavaksi vaaditut reittivektorit samoin kuin seuraa-va reittivektori tai vähintään seuraavan reittivektorin ASEMA kenttä, jotta asema voi siirtää ohjausjakson seuraa-valle asemalle. Tämä järjestely voi vaatia enemmän muistia jetruna asemien joukkoon kaikkien reittivektorien talien-20 tamiseksi niihin, mutta se vähentää asemien kilpailua yhteisestä muistista.
Kuvio 5 esittää jonon, jota aseman yksi tietty suoritusmuoto käyttää ohjausjaksojen siirtämiseen sen työjonos-ta toiseen työjonoon sen jälkeen kun se on saattanut päätök-25 seen reittivektorin TOIMKOODI kentän 39 määrittämän toiminnon suorittamisen. Asema noutaa ensin vallitsevan reitti-vektorin osoitteen, toisin sanoen se noutaa ohjausjakson 49 vallitsevan reittivektorin osoittimen 50 sisällön (vaihe 120). Jos asema ei kyennyt suorittamaan reittivektorin 30 vaatimaa operaatiota (vaihe 121) se käyttää LÄHETYS-jonoa, joka on kuvattu kuviosta 6 ohjausjakson siirtämiseksi reittivektorin VIRHETAVOITE kentän 41 identifioimaan työjonoon (vaihe 124). Jos asema suoritti reittivektorin 38 määrittämän operaation, se siirtää ohjausjakson 49 vallitsevan reit-35 tivektorin osoitinkentän 50 osoittamaan reitin 36 seuraavaa reittivektoria 38.
13 79200
Asema testaa sitten X-lipun 42, H-lipun 43, E-lipun 44 ja B-lipun 45 (kuvio 2) reittivektorissa 38. Jos X-lip-pua ei ole asetettu (vaihe 128), asema vähentää kaikkia laskureita, jotka ovat saattaneet liittyä siirtoon (vaihe 5 130). Yhdessä tietyssä suoritusmuodossa, jossa asema ohjaa levyasemaa, tällaisia laskureita voidaan käyttää päättämään, onko suoritettava HAKU-operaatio.
Jos B (sanasta buffer = puskuri) lippu on asetettu puskurit datamuistissa 26 (kuvio 1), jotka oli varattu 10 isäntäkomentoa varten, vapautuvat, niin että ne ovat käytettävissä muihin isäntäkomentoihin (vaihe 134).
Jos reittivektorin E (sanasta end = loppu) lippu on asetettuna (vaihe 136), tämä reittivektori on reitin viimeinen reittivektori. Isäntäkomentoon liittyvää laskuria, 15 jonka paikka liittyy ohjausjakson isäntäkomennon osoitti-meen 51, vähennetään (vaihe 138).
Lopuksi jos reittisektorin H-lippu (sanasta head = esi) on asetettuna (vaihe 140), asema siirtää ohjausjakson aseman työjonon alkuun seuraavan reittivektorin käsittele-20 miseksi (vaihe 142). Vaihtoehtoisesti, jos H-lippu ei ole asetettuna,ohjausjakso siirretään työjonon loppuun seuraa-vaa asemaa varten (vaihe 144).
Esimerkkiä LÄHETYS-jonosta, jota aseman yksi suoritusmuoto käyttää ohjausjakson siirtämiseen toisen aseman 25 työjonoon 59, kuvataan viitaten kuvioihin 6, 7A ja 7B. Lyhyesti asema siirtää ohjausjaksot muuttamalla esiosoitinta 60, jälkiosoitinta 61 ja jonoliitäntäosoittimia 52 (kuvio 2). Asema selvittää ensin lähetetyn ohjausjakson jonoliitäntä-osoittimen 52 (vaihe 150).
30 Yhdessä tietyssä suoritusmuodossa jonot ovat lukit tuja, toisin sanoen, jos yksi asema lukee työjonosta tai siirtää siihen, se lataa esiosoittimen arvon, jonka kaikki asennot tunnistavat lukitusarvoksi, joka lukitsee jonon, jotta estetään mitä tahansa muuta asemaa lukemasta jonosta 35 tai siirtämästä siihen, kun esiosoitin 60 sisältää tämän arvon. Asema testaa vastaanottavan työjonon 59 esiosoittimen 14 79200 sisältöä, kunnes esiosoittimen sisältö ilmaisee, että työ-jono ei ole lukittu (vaihe 152). Työasema lataa silloin lukitusarvon esiosoittimeen jonon lukitsemiseksi (vaihe 1 54) .
5 Esiosoittimen sisältöä tutkitaan sen määrittämisek si, onko vastaanottava työjono tyhjä (vaihe 156). Jos se on tyhjä, siirtävä asema muuttaa sekä jälkiosoitinta 61 että esiosoitinta 60 tässä järjestyksessä osoittamaan siihen ohjausjaksoon, jota se on siirtämässä. Molemmat osoittimet 10 on ladattu siirrettävän ohjausjakson osoitteella muistissa 22 (vaiheet 158 ja 160). Jälkiosoitin ladataan ensin (vaihe 158) ja esiosoitin toiseksi, koska osoitteen lataaminen esiosoittimeen myös palvelee jonon lukituksen vapauttamista ja antaa sen muiden asemien käyttöön.
15 Jos vastaanottava työjono ei vaiheessa 156 ole tyhjä ja jos reittivektorin H-lippu on asetettu (kuvio 5A, vaihe 140), "LÄHETYS ETEEN" jonoa käytetään siirtämään ohjausjak-so vastaanottavan työjonon alkuun (vaihe 162 ja kuvio 7B). Vastaanottavan työjonon esiosoittimen sisältö ladataan 20 siirrettävän ohjausjakson jonolinkitysosoittimeen 52 (Ctrl B1 # 0 vaihe 164). Siirrettävän ohjausjakson jonolinkitys-osoitin osoittaa siten edeltävään ensimmäiseen ohjausjak-soon työjonossa (Ctrl B1 # 1), kuten on esitetty katkovii-vanuolella kuviossa 7B. Uuden ensimmäisen ohjausjakson 25 (Ctrl B1 # 0) osoite ladataan sitten esiosoittimeen 60 (vaihe 166) vapauttaen siten jonon.
Jos kuvion 5A vaiheissa 140 reittivektorin H-lippu ei ollut asetettuna, suoritetaan kuviossa 7A kuvattu "LÄHETYS"-operaatio. Siirtävä asema lataa siirrettävän oh-30 jausjakson (Ctrl B1 #N+1) osoitteen työjonon viimeisen ohjausjakson (Ctrl B1 # N) jonolinkitysosoittimeen 52 (vaihe 168). Siirretyn ohjausjakson osoite ladataan sitten jäl-kiosoittimeen 61 (vaihe 170) ja vaiheessa 154 noudetun esiosoittimen sisältö palautetaan esiosoittimeen 60 jonon va-35 pauttamiseksi (vaihe 172).
15 79200
Kuvio 8 esittää jonon, jota keksinnön yksi tietty suoritusmuoto käyttää ohjausjaksojen noutamiseen työjonos-taan. Jonon esiosoittimen 60 sisältö on jonon ensimmäisen ohjausjakson osoite. Asema testaa ensin työjonoa esiosoi-5 tinta 60, kunnes se ilmaisee, että jono ei ole lukittu (vaihe 180). Asema noutaa sitten esiosoittimen 60 sisällön ja lataa lukitusarvon siihen jonon lukitsemiseksi (vaihe 181). Asema testaa noudettua esiosoitinta sen määrittämiseksi, onko jono tyhjä (vaihe 182). Jos jono on tyhjä, asema tallen-10 taa esiosoittimen jonon vapauttamiseksi (vaihe 184). Jos jono ei ole tyhjä, asema käyttää noudettua esiosoitinta osoitteena noutaessaan jonolinkitysosoittimen, johon ensimmäisestä ohjausjaksosta (vaihe 186) ja lataa jonolinkitysosoittimen jonon esiosoittimeen jonon vapauttamiseksi (vai-15 he 188). Asema voi sitten noutaa ohjausjakson paikasta, jonka on identifioinut esiosoittimen 60 noudettu sisältö.
Esimerkkiä toiminnoista, jotka keksinnön erityinen suoritusmuoto oheisohjaimen 10 muodossa on isäntäkomennos-ta riippuvaisesti suorittanut, käytetään keksinnön edelleen 20 havainnollistamiseen. Tässä esimerkissä isäntäkomento on VARJOKIRJOITUS-operaatio levyasemien 30 (kuvio 1) levyaseman 1 osoitteeseen. VARJOKIRJOITUS isäntäkomento levyasemaan 1 saa aikaan datan kirjoittamisen myös levyasemiin 2 ja 3 ja datan varakopion kirjoittamisen nauha-asemalle 4.
25 VARJOKIRJOITUS-operaatio on tässä esimerkissä liitty nyt reittiin 36, joka sisältää reittivektoreita 38, jotka saavat oheisohjaimen suorittamaan seuraavat operaatiot: (1) datan lataaminen isäntämuistista isäntädatan käsittelyjärjestelmässä datamuistin 26 määrättyihin pusku- 30 reihin, (2) datan lataaminen datamuistin 26 puskureista levyasemaan 1 , (3) datan lataaminen datamuistin 26 puskureista levyasemaan 2, 35 (4) datan lataaminen datamuistin 26 puskureista levy asemaan 3, 16 79200 (5) osoiteinformaation kehittäminen käytettäväksi otsikkona nauhaa varten, ja (6) otsikon ja datan lataaminen datamuistin 26 puskureista nauha-asemaan 4.
5 Vastaanottaessaan tämän VARJOKIRJOITUS-komennon isän nältä lähdeprosessori 18 kehittää ensin ohjausjakson 49, jonka vallitsevan reittivektorin osoitin 50 (kuvio 2) osoittaa reitin 36 ensimmäiseen reittivektoriin komennon käsittelemiseksi. Lähdeprosessori siirtää sitten kehitetyn oh-10 jausjakson tämän reittivektorin ASEMA-kentässä 40 (kuvio 2) identifioidun aseman työjonoon 59, tässä tapauksessa isän-täliitännönohjausprosessorin 12 työjonoon 59.
Isäntäliitännänohjausprosessori 12 käsittelee oh-jausjaksoja siinä järjestyksessä, jossa ne on tallennettu 15 sen työjonoon. Kun se pääsee tämän operaation ohjausjaksoon, se noutaa dataa isäntämuistista ja lataa sen ohjausjaksossa määriteltyyn datapuskuriin datamuistissa 26. Jos se onnistuneesti saa tämän operaation päätökseen, se siirtää vallitsevan reittivektorin osoitinta 50 osoittamaan reitin 20 seuraavaa reittivektoria ja siirtää ohjausjakson seuraavan aseman tässä tapauksessa levyohjaimen 14 työjonoon.
Levyohjainprosessori 14 käsittelee myös ohjausjaksot siinä järjestyksessä, jossa ne on tallennettu työjonoon. Kun se pääsee VARJOKIRJOITUS-operaation ohjausjaksoon, se 25 suorittaa reitin toisen reittivektorin vaatiman operaation, mikä saa sen lataamaan datan ohjausjaksossa määritetystä datamuistin 26 puskurista levyasemalla 1 määrättyyn paikkaan. Sen jälkeen kun se on suorittanut tämän operaation, se siirtää vallitsevan reittivektorin osoitinta 50 eteen-30 päin osoittamaan seuraavaan reittivektoriin ja siirtää ohjausjakson seuraavan reittivektorin suorittavan aseman työjonoon seuraavan reittivektorin käsittelemiseksi, toisin sanoen VARJOKIRJOITUS-operaation kolmannen operaation suorittavalle asemalle.
35 Tässä tapauksessa kolmannen operaation suorittava asema on myös levynohjausprosessori 14. Siten levynohjaus- 17 79200 prosessori 14 siirtää ohjausjakson työjononsa loppuun. Kun levynohjausprosessori jälleen pääsee tähän ohjausjaksoon, se lataa saman datan datamuistin 26 samasta puskurista levyasemaan 2 ohjausjaksossa määrättyihin paikkoihin, siirtää 5 reittivektorin osoitinta eteenpäin ohjausjaksossa ja jälleen siirtää ohjausjaksoon työjononsa loppuun datan latauksen aikaansaamiseksi levyasemaan 3.
Sen jälkeen kun levynohjausprosessori 14 on ladannut datan levyasemaan 3, se siirtää vallitsevan reittivek-10 torin osoitinta 50 eteenpäin osoittamaan seuraavaan reitti-vektoriin, mikä aikaansaa osoiteinformaation kehittämisen käytettäväksi otsikkona nauhaa varten. Tässä tapauksessa nauhaotsikon kehittää ohjelmistoprosessori, niin että levynohjausprosessori 14 lähettää ohjausjakson tämän ohjel-15 mistoprosessorin työjonoon. Sen jälkeen kun ohjelmistopro-sessori on kehittänyt nauhaotsikon, se siirtää vallitsevan reittivektorin osoitinta 50 eteenpäin osoittamaan viimeiseen reittivektoriin ja siirtää ohjausjakson nauhanohjaus-prosessorin 16 työjonoon.
20 Nauhanohjausprosessori 16 noutaa myös ohjausjaksot 49 työnjonostaan 59 järjestyksessä. Kun se pääsee tähän ohjaus jaksoon, se noutaa vallitsevan reittivektorin osoit-timen 50 identifioiman reittivektorin, joka saa sen lataamaan otsikon ja datan datamuistista 26 nauha-asemaan 4.
25 Sen jälkeen kun nauhanohjausprosessori 16 on suorit tanut reittivektorin vaatiman toimenpiteen, se voi siirtää reittivektorin osoitinta seuraavaan reittivektoriin ja lähettää ohjausjakson takaisin isäntäliitännänohjausproses-sorin 12 työjonoon, joka voi sitten lähettää isännälle vas-30 tauksen, joka ilmaisee VARJOKIRJOITUS-operaation tulleen onnistuneesti suoritetuksi, missä tapauksessa ohjausprosessori 18 voi kehittää vastauksen lähetettäväksi isännälle isäntäliitännänohjausprosessorin 12 kautta. Jos jokin asemista ei kykene suorittamaan reittivektorin vaatimaa ope-35 raatiota, sen sijaan, että se siirtäisi ohjausjakson seu-raavan aseman työjonoon, se siirtää ohjausjakson asemalle, 18 79200 joka suorittaa diagnostisia tai ylläpito-operaatioita auttamaan virheen syyn määrittämistä.
Kuten on mainittu, keksinnön kahtena muuna piirteenä kukin prosessori voi käsitellä useita asemia ja lähde-5 prosessori 18 voi kehittää useita ohjausjaksoja 49 tietyistä isäntäkomennoista. Esimerkki tulee havainnollistamaan molempia piirteitä. Yhdessä tietyssä suoritusmuodossa levyn kukin sektori liittyy eri asemaan. Edelleen datamuisti 16 on jaettu puskureihin, joilla kullakin on kylliksi ti-10 laa, jotta voidaan mahduttaa kylliksi dataa levysektorin täyttämiseen. Isäntäkomento, joka vaatii datan kirjoittamisen levyuran peräkkäisiin sektoreihin tai lukemisen niistä voi siten johtaa ohjausjaksojen 49 kehittämiseen, mikä sallii levyohjaimen 14 alittaa datan siirron levylle tai le-15 vyltä miltä tahansa sektorilta ja datan noutamisen tai datan lataamisen muistin 26 sopiviin puskureihin eliminoi kaiken odotustarpeen, kunnes levy kiertyy ensimmäiseen sektoriin ennen kuin se alkaa siirron.
Erityisesti isäntäkomennossa, joka vaatii monisek-20 torisiirtoa, erityisesti KIRJOITUS-operaatio, lähdeproses-sori 18 (kuvio 1) kehittää useita ohjausjaksoja, joista kukin identifioi levysektorin, joka liittyy siirtoon, samoin kuin datapuskurin datamuistissa 26 käytettäväksi siirrosta nämä ohjausjakson 49 kentässä 53 (kuvio 2) ja reitin, joka 25 määrittää asemat ja suoritettavat operaatiot. Lähdeproses-sori siirtää sitten ohjausjaksot isäntäkomennon reitin ensimmäisen aseman työjonoon, nimittäin isäntäliitännänohjaus-prosessori 12, joka lataa datan datamuistin 26 puskureihin, jotka on määritetty ohjausjaksoissa.
30 Sen jälkeen kun isäntäliitännänohjausprosessori 12 on ladannut datan kuhunkin puskuriin, se siirtää ohjausjakson aseman työjonoon datan siirtämiseksi muistista 26 levyn tiettyyn sektoriin. Koska kukin sektori liittyy erilliseen asemaan, kukin ohjausjakso lähetetään eri aseman 35 työjonoon. Kuitenkin, jotta sallitaan kaikkien asemien käyttää samaa reittiä tässä siirrossa isäntäliitännänohjaus- 19 79200 prosessori 12 ei kykene käyttämään ASEMA-kenttää 40 (kuvio 2) suoraan ohjausjaksojen siirtämiseen, koska muutoin kaikki ohjausjaksot menisivät samalle asemalle. Sen sijaan isäntäliitännänohjausprosessori 12 voi määrittää sen ase-5 man identiteetin, johon sen on lähetettävä kukin ohjaus-jakso ASEMA-kentästä samoin kuin muun informaation ohjaus-jaksossa, kuten levysektorin. Tällä tavoin samaa reittiä voidaan käyttää jonoja varten, joissa eri asemien on suoritettava sama operaatio, toisin sanoen suoritettava sama 10 reitin reittivektori vaadittavien reittien lukumäärän pienentämiseksi .
Kuten on mainittu, kun isäntävektori johtaa useiden ohjausjaksojen kehittämiseen, voidaan myös muodostaa laskuri, joka ilmaisee kehitettyjen ohjausjaksojen lukumäärän. 15 Yllä esitetyssä esimerkissä yksi ohjausjakso kehitetään kutakin siirrettävää sektoria varten. Kun viimeinen reitti-vektori on suoritettu, asema tai tarkemmin prosessori, joka suorittaa tähän asemaan liittyvää prosessia, vähentää laskuria. Kun laskuri on vähennetty nollaan, prosessori 20 voi kehittää vastauksen, joka ilmaisee isäntäkomennon saatetun onnistuneesti päätökseen.
Kun prosessorissa on useita asemia, se voi kysellä asemien työjonoja sen määrittämiseksi, onko suoritettavia ohjausjaksoja. Jos asemien lukumäärä kuitenkin tulee suu-25 reksi työjonojen kiertokysely voi kuitenkin tulla aikaavieväksi. Vaihtoehtona kiertokyselyn käytölle yhdessä suoritusmuodossa prosessori voi käyttää palvelujonoa, joka on esitetty kuviossa 9 ja joka tallentaa niiden työjonojen identifikaatiot, jotka olivat aiemmin tyhjiä ja joihin ase-30 ma siirtää ohjausjakson. Kyselemällä palvelujonoa prosessori voi määrittää työjonot, jotka ovat lakanneet olemasta tyhjiä, ei tyhjiksi ja voi siten määrittää asemat, jotka vaativat käsittelyä.
Viitaten kuvioon 9 esiosoittimen 60 ja jälkiosoit-35 timen 61 lisäksi kunkin työjonon määrittää edelleen palvelu jono-osoitin/liitäntä 200 ja H-lippu 202. Prosessorilla 20 79200
Prosessorilla on myös esiosoittimen 204 ja jälkiosoittimen 206 määrittämä palvelujono. Kun työjono on tyhjä, palvelujono-osoitin osoittaa tai sisältää osoitteen palvelujono-esiosoittimen 204 ohjausmuistissa 22 ja H-lippu 202 on selvä.
5 Kun asema siirtää ohjausjakson tyhjään työjonoon, toisin sanoen kun työjono lakkaa olemasta tyhjä tullakseen ei-tyh-jäksi, siirtävä asema myös lataa nyt ei-tyhjän työjonon identifikaation palvelujonoon.
Erityisesti yhdessä tietyssä suoritusmuodossa, kun 10 siirtävä asema lataa ohjausjakson 49 tyhjään työjonoon, se suorittaa myös LÄHETYS-operaation, kuten on esitetty kuvioissa 6, 7A ja 7B, työjonolla vaihtaen erityisesti osoitin/liitännän 200, osoittimet 204 ja 206 ja H-lipun 202. Siirtävä asema ensin selvittää osoitin/liitännän 200 (vai-15 he 150, kuvio 6). Jos työjono oli aiemmin tyhjä, siirtävä asema suorittaa vaiheet 154, 156, 158 ja 160 työjonon osoitteen lataamiseksi palvelujonon esi- ja jälkiosoittimiin 204 ja 206 ja asettaa myös H-lipun 202.
Jos palvelujono ei ole tyhjä, palvelujonon kunkin 20 työjonon osoitinliitäntä 200 osoittaa palvelujonon seuraa-vaan työjonoon. Siirtävä asema suorittaa vaiheet 162, 168, 170 ja 172 palvelujonon viimeisen työjonon osoitin/liitännän 200 muuttamiseksi osoittamaan uutta viimeistä työjonoa ja palvelujonon jälkiosoittimen 206 muuttamiseksi myös 25 osoittamaan palvelujonon viimeistä työjonoa ja asettaa lisäksi H-lipun 202.
Prosessori voi sitten suorittaa kuviossa 8 esitetyn jonon sen määrittämiseksi, mitkä aikaisemmin tyhjät työjonot eivät ole tyhjiä ja voi noutaa ohjausjaksot ei-tyhjistä 30 työjonoista tarvitsematta kysellä niitä sen määrittämiseksi, ovatko ne tyhjiä vai eivät.
Edeltävä selitys on rajoitettu tämän keksinnön tiettyyn suoritusmuotoon. On kuitenkin ilmeistä, että tätä keksintöä voidaan soveltaa järjestelmissä, joilla on poikkea-35 va perusrakenne tai jotka käyttävät erilaista sisäistä pii-ristöä kuin selityksessä on kuvattu saavutetaan jotkin 21 79200 tai kaikki tämän keksinnön edeltävät kohteet ja edut. Siksi oheisten patenttivaatimusten tarkoituksena on kattaa kaikki sellaiset muutokset ja modifikaatiot, jotka kuuluvat tämän keksinnön todelliseen luonteeseen ja piiriin.

Claims (16)

22 79200
1. Tietojenkäsittelyjärjestelmä komentojen suorittamiseksi, jotka komennot kukin vaativat useita peräkkäin 5 suoritettuja operaatioita, järjestelmän käsittäessä A. muistivälineet (22) reitin tallentamiseksi kutakin komentoa varten kunkin reitin käsittäessä sarjan reit-tivektoreita (38), jotka määrittävät suoritettavan operaation käskyn ja aseman osasuorituksena,
10 B. välineet (18) ohjausjakson (49) kehittämiseksi komennosta riippuvaisesti, joka ohjausjakso (49) sisältää osoittimen (52), joka identifioi komentoon liittyvän reitin ensimmäisen reittivektorin, tunnettu siitä, että se edelleen käsittää 15 useita asemia, jotka kukin käsittävät: (1) työjonovälineet (58), jotka on yhdistetty kehi-tysvälineisiin (18) jonon ohjausjaksojen vastaanottamiseksi ja tallentamiseksi jonossa, (2) työjonovälineisiin (58) yhdistetyt välineet 20 ohjausjaksojen noutamiseksi peräkkäin työjonovälineistä (58), (3) käsittelyvälineet, jotka on yhdistetty noutovä-lineisiin ja muistivälineisiin (22) reittivektorin noutamiseksi muistivälineistä (22), jotka on identifioitu 25 osoittimella (50) noudetussa ohjausjaksossa (49), ja reittivektorin (40, 41) määrittämän operaation suorittamiseksi, ja (4) siirtovälineet, jotka on yhdistetty käsittely-välineisiin ja muiden asemien työjonovälineisiin (58) 30 reittivektoriosoittimen (50) siirtämiseksi eteenpäin ohjaus jaksossa (49) seuraavan reitin seuraavan reittivektorin (40, 41) identifioimiseksi ja ohjausjakson (49) siirtämiseksi sen aseman työjonovälineisiin (58), jonka on suoritettava reittivektoriosoittimen (50) identifioima 35 reittivektori (38). 23 7 9 2 0 0
2. Asema liitettäväksi tietojenkäsittelyjärjestelmään, joka suorittaa komentoja, jotka vaativat useita operaatioita, joka tietojenkäsittelyjärjestelmä sisältää muistivälineet (22) kutakin komentoa varten olevan reitin 5 tallentamiseksi ennalta määrättyyn paikkaan kunkin reitin käsittäessä useita reittivektoreita (38), jotka kukin identifioivat operaation, jonka komennon suorittavan aseman on suoritettava, jotka tietojenkäsittelyvälineet käsittävät edelleen kehitysvälineet (18) ohjausjakson (49) 10 kehittämiseksi komennosta riippuvaisesti, joka ohjausjakso (49) sisältää osoittimen (50), joka identifioi komentoon liittyvän reitin ensimmäisen reittivektorin (38), joka asema on tunnettu siitä, että se käsittää (1) työjonovälineet (58), jotka on yhdistetty kehi-15 tysvälineisiin (18) jonon ohjausjaksojen (49) vastaanottamiseksi ja tallentamiseksi, (2) työjonovälineisiin (58) yhdistetyt välineet ohjausjaksojen (49) noutamiseksi peräkkäin työjonoväli-neistä (58), 20 (3) käsittelyvälineet, jotka on yhdistetty noutovä- lineisiin ja muistivälineisiin (22) reittivektorin (38) noutamiseksi muistivälineistä (22), jotka on identifioitu osoittimella (50) noudetussa ohjausjaksossa (49), ja reittivektorin (38) määrittämän operaation suorittamiseksi, ja 25 (4) siirtovälineet, jotka on yhdistetty käsittely- välineisiin ja muiden asemien työjonovälineisiin (58) reittivektoriosoittimen (50) siirtämiseksi eteenpäin oh-jausjaksossa (49) seuraavan reittivektorin (40, 41) identifioimiseksi ja ohjausjakson (49) siirtämiseksi sen ase-30 man työjonovälineisiin (58), jonka on suoritettava reittivektoriosoittimen (50) identifioima reittivektori (40, 41).
3. Patenttivaatimuksen 2 mukainen asema, tunnettu siitä, että kukin reittivektori sisältää edel- 35 leen välineet (40) reittivektorin suorittavan aseman iden- 24 7 9 2 0 0 tifioimiseksi ja siirtovälineet sisältävät A. välineet yhdistettäviksi muistivälineisiin (22) reitin seuraavan reittivektorin jonon identifioivien välineiden (40) noutamiseksi, joka reitti sisältää sen aseman 5 käsittelemän reittivektorin (38), jossa on muistivälineistä (22) tullut reittivektori, ja B. välineet reitin identifioivan ohjausjakson kytkemiseksi sen aseman työjonovälineisiin (58), jonka ovat identifioineet seuraavan reittivektorin (50) jonon iden- 10 tifioivat välineet (40).
4. Patenttivaatimuksen 3 mukainen asema, tunnettu siitä, että työjonovälineet (58) identifioi työjonoosoitin, joka identifioi työjonon ohjausjaksot ja siirtovälineisiin kuuluu välineet työjono-osoittimen muut- 15 tamiseksi, kun kytketään uusi ohjausjakso työjonovälineisiin (58).
5. Patenttivaatimuksen 4 mukainen asema, tunnettu siitä, että työjono-osoitin (52) sisältää jäl-kiosoittimen (61) työjonovälineiden viimeisen ohjausjakson 20 identifioimiseksi ja kytkentävälineet sisältävät jälkikyt-kentävälineet jälkiosoittimen (61) muuttamiseksi, kun kytketään uusi ohjausjakso työjonovälineisiin (58).
6. Patenttivaatimuksen 5 mukainen asema, tunnettu siitä, että työjono-osoittimeen kuuluu myös 25 esiosoitin (60) työjonovälineiden (58) ensimmäisen ohjaus-jakson identifioimiseksi ja kytkentävälineet sisältävät esikytkentävälineet esiosoittimen (60) muuttamiseksi, kun kytketään uusi ohjausjakso työjonovälineisiin (58).
7. Patenttivaatimuksen 6 mukainen asema, t u n - 30. e t t u siitä, että reittivektori (38) sisältää edelleen lippuvälineet, joilla on ensimmäinen tila sen osoittamiseksi, että ohjausjakso (49) on siirrettävä työjonovälineiden (58) etupäähän ja toinen tila sen osoittamiseksi, että ohjausjakso (49) on siirrettävä työjonovälineiden 35 (58) perään, ja kytkentävälineet sisältävät välineet lip- 25 79200 puvälineiden tilan määräämiseksi siten, että ne mahdollistavat joko esikytkentävälineiden tai jälkikytkentävälinei-den kytkeä ohjausjakso työjonovälineisiin (58).
8. Patenttivaatimuksen 7 mukainen asema, t u n -5 n e t t u siitä, että kukin ohjausjakso (49) sisältää edelleen jonoliitäntäosoittimen (52) seuraavan ohjausjakson (49) identifioimiseksi kussakin työjonovälineessä (58) viimeisen ohjausjakson (49) jonoliitäntäosoittimen (52) identifioidessa työjonovälineiden (58) jälkiosoittimen 10 (61), ja että kaikki kytkentävälineet sisältävät edelleen A. välineet vastaanottavissa työjonovälineissä (58) olevan viimeisen ohjausjakson jonoliitäntäosoittimen (52) modifioimiseksi työjonovälineisiin (58) siirrettävän ohjausjakson (49) identifioimiseksi ja
15 B. välineet työjonovälineisiin (58) siirrettävän ohjausjakson (49) jonoliitäntäosoittimen (52) modifioimiseksi työjonovälineiden (58) jälkiosoittimen (61) identifioimiseksi .
9. Patenttivaatimuksen 7 mukainen asema, t u n -20 n e t t u siitä, että asema käsittää useita työjonoväli- neitä (58) ja edelleen huoltojonovälineet (200), joissa on sarja sisääntuloja, jotka kukin identifioivat ne työ-jonovälineet (58), jotka ovat menneet tyhjästä tilasta ei-tyhjään tilaan, sarjan kuhunkin sisääntuloon kuuluu lii-25 täntä seuraavaan sisääntuloon, huoltojonovälineet (200) käsittävät esiosoittimen (204) ja jälkiosoittimen (206), työjonovälineet sisältävät edelleen huoltojono-osoittimen, joka identifioi huoltojonon (200) ja siirtovälineet käsittävät edelleen
30 A. tilan ilmaisevat välineet sen määrittämiseksi, ovatko vastaanottavat työjonovälineet (58) tyhjiä, B. välineet, jotka on yhdistetty tilan ilmaiseviin välineisiin uuden sisääntulon kehittämiseksi huoltojonovä-lineitä (200) varten vastaanottavien työjonovälineiden 35 (58) identifioimiseksi, 26 79200 C. välineet huoltojonovälineiden (200) viimeisen sisääntulon liitännän muuttamiseksi uuden sisääntulon identifioimiseksi ja D. välineet huoltojonovälineiden (200) jälkiosoit-5 timen (206) muuttamiseksi huoltojonovälineiden uuden sisääntulon identifioimiseksi.
10. Patenttivaatimuksen 9 mukainen asema, tunnettu siitä, että noutovälineet käsittävät huoltojonon noutovälineet sisääntulon noutamiseksi huoltojonoväli- 10 neistä (200) käsittäen A. välineet huoltojonovälineiden (200) esiosoitti-men (204) noutamiseksi huoltojonovälineiden ensimmäisen sisääntulon identtisyyden määrittämiseksi, B. välineet huoltojonovälineiden esiosoittimen 15 (204) käyttämiseksi ensimmäisen sisääntulon noutamiseksi huoltojonovälineistä, C. välineet huoltojonovälineiden (200) esiosoittimen (204) korvaamiseksi liitännällä huoltojonovälineiden ensimmäisestä sisääntulosta, joka liitäntä muodostaa uuden 20 esiosoittimen huoltojonovälineitä varten.
11. Patenttivaatimuksen 5 mukainen asema, tunnettu siitä, että kukin ohjausjakso (49) sisältää jo-noliitäntäosoittimen (52) seuraavan ohjausjakson (49) identifioimiseksi kussakin työjonovälineessä (58) ja nou- 25 tovälineet käsittävät A. välineet esiosoittimen (60) käyttämiseksi ensimmäisen ohjausjakson identifioimiseksi työjonovälineiden (58) ohj ausj aksosarj assa, B. välineet ensimmäisen ohjausjakson (49) noutami- 30 seksi työjonovälineistä (58) ja C. välineet noudetun ohjausjakson (49) jonoliitän-täosoittimen (52) käyttämiseksi (60) esiosoittimen muuttamiseksi työjonovälineiden seuraavan ohjausjakson identifioimiseksi .
12. Patenttivaatimuksen 3 mukainen asema, t u n - 27 79200 n e t t u siitä, että kehitysvälineet kehittävät useita ohjausjaksoja (49) komennosta riippuvaisesti, kehitysväli-neillä kehitetyt ohjausjaksot käsittävät kukin osoittimen (50), joka identifioi reitin ensimmäisen reittivektorin 5 (38) operaatioiden ollessa identifioituja kaikissa komen non suorittamiseen tarvittavissa reiteissä, muistivälineet (22) sisältävät edelleen kehitysvälineillä asetettuun komentoon liittyvän laskimen kehitysvälineiden kehittämien ohjausjaksojen (49) määrän identifioimiseksi komennosta 10 riippuvaisesti, komentoon liittyvät ohjausjaksot sisältävät laskinidentifiointivälineet laskimen muistivälineiden paikan identifioimiseksi ja siirtovälineet sisältävät edelleen A. välineet sen määrittämiseksi, että asema suorit-15 taa reitin viimeisen reittivektorin (38), ja B. välineet, jotka on yhdistetty määritysvälinei-siin ja muistivälineisiin (22) laskimen vähentämiseksi, kun käsittelyvälineet ovat lopettaneet reittivektorin (38) määrittämän operaation suorittamisen.
13. Patenttivaatimuksen 12 mukäinen tietojenkäsit telyjärjestelmä, tunnettu siitä, että kunkin reitin viimeinen reittivektori (38) sisältää viimeisen reit-tivektorilipun, joka ilmaisee, että se on viimeinen reittivektori ja määritysvälineet sisältävät välineet viimei-25 sen reittivektorilipun testaamiseksi.
14. Menetelmä moniprosessorijärjestelmän ohjaamiseksi, joka järjestelmä suorittaa komentoja yhden prosessoreista käsittäessä lähdeprosessorin (18) ja muiden prosessorien käsittäessä suoritusprosessorit, jotka komennot 30 vaativat useita operaatioita, joista kunkin suorittaa moniprosessori järjestelmän yksi valittu suoritusprosessori ja jotka komennot kukin liittyvät reittiin, joka käsittää sarjan reittivektoreita (38), jotka kukin identifioivat suoritettavan operaation ja suoritusprosessorin operaation 35 suorittamiseksi, jolloin kuhunkin suoritusprosessoriin 28 79200 kuuluu työjono (58) ohjausjaksojen (49) tallentamiseksi, tunnettu siitä, että se käsittää seuraavat vaiheet: A. lähdeprosessori (18) 5 (i) kehittää ohjausjakson (49) komennon saannista riippuvaisesti, joka ohjausjakso sisältää reittivektori-osoittimen (50), joka identifioi reitin ensimmäisen reit-tivektorin (38), ja (ii) siirtää ohjausjakson (49) identifiointireitin 10 ensimmäisen reittivektorin (38) identifioiman suorituspro-sessorin työjonoon, B. kukin suoritusprosessori (i) noutaa sarjoittain ohjausjaksot (49) siihen liittyvästä työjonosta (58) ja suorittaa ohjausjakson 15 identifioiman reittivektorin (38) vaatiman operaation, (ii) lisää ohjausjakson reittivektoriosoitinta (50) reitin seuraavan reittivektorin (38) identifioimiseksi, ja (iii) siirtää ohjausjakson (49) seuraavan reitti-vektorin (38) identifioiman suoritusprosessorin työjonoon 20 (58).
15. Perifeerinen ohjain liitettäväksi isäntätieto-jenkäsittelyjärjestelmään ulkoisten yksikköjen välisten tiedonsiirtojen ohjaamiseksi, johon kuuluu isäntäjärjes-telmä ja perifeerinen yksikkö isäntäjärjestelmästä tule-25 vista komennoista riippuvaisesti, joka perifeerinen ohjain käsittää useita suoritusprosessoreita liitettäviksi ulkoiseen yksikköön, tunnettu siitä, että perifeerinen ohjain sisältää edelleen A. muistivälineet, joihin kuuluu ohjaustallennusvä-30 lineet reitin tallentamiseksi kutakin komentoa varten, jotka reitit kukin käsittävät sarjan reittivektoreita (38), jotka kukin identifioivat komennon suorituksessa suoritettavan operaation ja suoritusprosessorin operaation suorittamiseksi,
35 B. lähdeprosessorin (18), joka on yhdistetty oh- 29 7 9 2 0 0 jaustallennusvälineisiin ohjausjakson kehittämiseksi isäntä järjestelmästä tulevan komennon perusteella, joka oh-jausjakso (49) sisältää osoittimen (50), joka identifioi komentoon ja operaation suorittavaan suoritusprosessoriin 5 liittyvän reitin ensimmäisen reittivektorin (38), ja C. kukin suoritusprosessori käsittää (i) työjonovälineet (58), jotka on yhdistetty läh-deprosessoriin (18) ohjausjaksojen vastaanottamiseksi ja tallentamiseksi, 10 (ii) työjonovälineisiin yhdistetyt välineet ohjaus- jaksojen noutamiseksi peräkkäin työjonovälineistä, (iii) käsittelyvälineet, jotka on yhdistetty (38) noutovälineisiin ja muistivälineisiin reittivektorin noutamiseksi muistivälineistä, jotka on identifioitu osoit- 15 timella noudetussa ohjausjaksossa (49), ja identifioidun reittivektorin (38) määrittämän operaation suorittamiseksi, ja (iv) siirtovälineet, jotka on yhdistetty käsittely-välineisiin ja muiden suoritusprosessorien työjonovälinei- 20 siin (58) reittivektoriosoittimen (50) siirtämiseksi eteenpäin ohjausjaksossa reitin seuraavan reittivektorin (38) identifioimiseksi ja ohjausjakson (49) siirtämiseksi siihen suoritusprosessoriin, jonka on suoritettava reittivektoriosoittimen (50) identifioima reittivektori (38).
16. Suoritusprosessori liitettäväksi perifeeriseen ohjaimeen, joka ohjaa ulkoisten yksikköjen välisiä tiedonsiirtoja ja johon kuuluu isäntäjärjestelmä ja perifeerinen yksikkö isäntäjärjestelmästä tulevista komennoista riippuvaisesti, johon perifeeriseen ohjaimeen kuuluu muisti rei- 30 tin tallentamiseksi kutakin komentoa varten, joka reitti käsittää useita reittivektoreita (38), jotka kukin identifioivat suoritettavan operaation ja suoritusprosessorin operaation suorittamiseksi ja lähdeprosessorin (18) ohjausjakson (49) kehittämiseksi kustakin komennosta riip- 35 puvaisesti, johon kuuluu osoitin (50), joka identifioi 30 79200 komentoon liittyvän reitin ensimmäisen reittivektorin (38), tunnettu siitä, että se liitetään ulkoiseen yksikköön ja se käsittää A. työjonovälineet (58), jotka on yhdistetty lähde-5 prosessoriin (18) ohjausjaksojen (49) vastaanottamiseksi ja tallentamiseksi, B. työjonovälineisiin (58) liittyvät välineet ohjausjaksojen (49) noutamiseksi peräkkäin työjonovälineis- C r
10 C. käsittelyvälineet, jotka on yhdistetty noutovä- lineisiin ja muistivälineisiin reittivektorin (38) noutamiseksi muistivälineistä, jotka on identifioitu reittivek-toriosoittimella (50) noudetussa ohjausjaksossa (49), ja identifioidun reittivektorin (38) määrittämän operaation 15 suorittamiseksi ja D. siirtovälineet, jotka on yhdistetty käsittelyvä-lineisiin ja muiden suoritusprosessorien työjonovälineisiin reittivektoriosoittimen (50) siirtämiseksi eteenpäin ohjausjaksossa (49) reitin seuraavan reittivektorin (38) 20 identifioimiseksi ja ohjausjakson (49) siirtämiseksi siihen suoritusprosessoriin, jonka on suoritettava reittivek-toriosoittimella (50) identifioitu reittivektori (38). 3i 79200
FI834449A 1982-12-06 1983-12-05 Kontrollsystem foer flera processorer anvaendande databehandlingssystem. FI79200C (fi)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US44722882 1982-12-06
US06/447,228 US4543626A (en) 1982-12-06 1982-12-06 Apparatus and method for controlling digital data processing system employing multiple processors

Publications (4)

Publication Number Publication Date
FI834449A0 FI834449A0 (fi) 1983-12-05
FI834449A FI834449A (fi) 1984-06-07
FI79200B FI79200B (fi) 1989-07-31
FI79200C true FI79200C (fi) 1989-11-10

Family

ID=23775493

Family Applications (1)

Application Number Title Priority Date Filing Date
FI834449A FI79200C (fi) 1982-12-06 1983-12-05 Kontrollsystem foer flera processorer anvaendande databehandlingssystem.

Country Status (7)

Country Link
US (1) US4543626A (fi)
EP (1) EP0110792B1 (fi)
JP (1) JPS59149548A (fi)
AU (1) AU560384B2 (fi)
CA (1) CA1206268A (fi)
DE (1) DE3380461D1 (fi)
FI (1) FI79200C (fi)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4901232A (en) * 1983-05-19 1990-02-13 Data General Corporation I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor
US4939644A (en) * 1983-05-19 1990-07-03 Data General Corporation Input/output controller for controlling the sequencing of the execution of input/output commands in a data processing system
GB8328396D0 (en) * 1983-10-24 1983-11-23 British Telecomm Multiprocessor system
US4755928A (en) * 1984-03-05 1988-07-05 Storage Technology Corporation Outboard back-up and recovery system with transfer of randomly accessible data sets between cache and host and cache and tape simultaneously
JPS60235269A (ja) * 1984-05-08 1985-11-21 Toshiba Corp デ−タ転送制御装置
US4750107A (en) * 1985-01-07 1988-06-07 Unisys Corporation Printer-tape data link processor with DMA slave controller which automatically switches between dual output control data chomels
US5056003A (en) * 1985-06-17 1991-10-08 International Business Machines Corporation Distributed data management mechanism
US5218713A (en) * 1985-06-17 1993-06-08 International Business Machines Corporation Distributed data management mechanism for handling a data stream
JPH087662B2 (ja) * 1985-10-18 1996-01-29 株式会社日立製作所 データ転送制御方法
US5072368A (en) * 1985-10-31 1991-12-10 International Business Machines Corporation Immediate duplication of I/O requests on a record by record basis by a computer operating system
JPH071498B2 (ja) * 1985-11-28 1995-01-11 株式会社日立製作所 パルス入出力プロセッサ及びそれを用いたマイクロコンピュータ
JPH0778785B2 (ja) * 1986-03-29 1995-08-23 株式会社東芝 プロセッサ選択方法
US5109484A (en) * 1986-04-09 1992-04-28 International Business Machines Corporation Self configuring terminal which polls loop network and generates list of connected devices for use in selectively downloading control programs
US5274797A (en) * 1986-05-30 1993-12-28 Bull Hn Information Systems Inc. Multiprocessor system with centralized initialization, testing and monitoring of the system and providing centralized timing
US4827399A (en) * 1986-10-03 1989-05-02 Nec Corporation Common file system for a plurality of data processors
US4914576A (en) * 1986-12-18 1990-04-03 Bull Hn Information Systems Inc. Apparatus and method of loading a control store memory of a central subsystem
US4901231A (en) * 1986-12-22 1990-02-13 American Telephone And Telegraph Company Extended process for a multiprocessor system
WO1988008162A1 (en) * 1987-04-10 1988-10-20 Eip Microwave, Inc. Data transfer system for a multiprocessor computing system
US5163132A (en) * 1987-09-24 1992-11-10 Ncr Corporation Integrated controller using alternately filled and emptied buffers for controlling bi-directional data transfer between a processor and a data storage device
US4887076A (en) * 1987-10-16 1989-12-12 Digital Equipment Corporation Computer interconnect coupler for clusters of data processing devices
US4953078A (en) * 1987-10-28 1990-08-28 Digital Equipment Corporation Apparatus and method for multi-threaded program execution in a microcoded data processing system
US5159686A (en) * 1988-02-29 1992-10-27 Convex Computer Corporation Multi-processor computer system having process-independent communication register addressing
US5050070A (en) * 1988-02-29 1991-09-17 Convex Computer Corporation Multi-processor computer system having self-allocating processors
US5003464A (en) * 1988-05-23 1991-03-26 Bell Communications Research, Inc. Methods and apparatus for efficient resource allocation
EP0346801B1 (de) * 1988-06-17 1996-12-27 Siemens Aktiengesellschaft Verfahren und Anordnung zur Ausführung eines Programms in einem heterogenen Mehrrechnersystem
US5182798A (en) * 1988-12-30 1993-01-26 Pitney Bowes Inc. Multiple material processing system start-up
US5043874A (en) * 1989-02-03 1991-08-27 Digital Equipment Corporation Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory
US5109495A (en) * 1989-02-03 1992-04-28 Digital Equipment Corp. Method and apparatus using a source operand list and a source operand pointer queue between the execution unit and the instruction decoding and operand processing units of a pipelined data processor
US4965793A (en) * 1989-02-03 1990-10-23 Digital Equipment Corporation Method and apparatus for interfacing a system control unit for a multi-processor
US5222224A (en) * 1989-02-03 1993-06-22 Digital Equipment Corporation Scheme for insuring data consistency between a plurality of cache memories and the main memory in a multi-processor system
US5175837A (en) * 1989-02-03 1992-12-29 Digital Equipment Corporation Synchronizing and processing of memory access operations in multiprocessor systems using a directory of lock bits
US5067069A (en) * 1989-02-03 1991-11-19 Digital Equipment Corporation Control of multiple functional units with parallel operation in a microcoded execution unit
US5420981A (en) * 1989-09-29 1995-05-30 At&T Corp. Arrangement for establishing a data pipeline in a data processing system employing multiple processors
CA2045756C (en) * 1990-06-29 1996-08-20 Gregg Bouchard Combined queue for invalidates and return data in multiprocessor system
US5276900A (en) * 1990-12-14 1994-01-04 Stream Computers Master connected to common bus providing synchronous, contiguous time periods having an instruction followed by data from different time period not immediately contiguous thereto
CA2067576C (en) * 1991-07-10 1998-04-14 Jimmie D. Edrington Dynamic load balancing for a multiprocessor pipeline
US5390328A (en) * 1992-03-30 1995-02-14 International Business Machines Corporation Data processing system and method for providing notification in a central processor of state changes for shared data structure on external storage
NL9201668A (nl) * 1992-09-25 1994-04-18 Nederland Ptt Methode voor het converteren van een pollingfrequentietabel in een polling-volgordetabel.
JP2502932B2 (ja) * 1993-01-29 1996-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション デ―タ転送方法及びデ―タ処理システム
JP3261665B2 (ja) * 1993-01-29 2002-03-04 インターナショナル・ビジネス・マシーンズ・コーポレーション データ転送方法及びデータ処理システム
JP2821345B2 (ja) * 1993-09-29 1998-11-05 北海道日本電気ソフトウェア株式会社 非同期i/o制御方式
US5592683A (en) * 1994-03-18 1997-01-07 Ibm Corporation System for selectively processing nested print commands and buffered post-print commands thereafter and resending selected portion of data stream upon error detection
JP2846837B2 (ja) * 1994-05-11 1999-01-13 インターナショナル・ビジネス・マシーンズ・コーポレイション 障害を早期検出するためのソフトウェア制御方式のデータ処理方法
US5638538A (en) * 1995-01-13 1997-06-10 Digital Equipment Corporation Turbotable: apparatus for directing address and commands between multiple consumers on a node coupled to a pipelined system bus
US20030037096A1 (en) * 1995-04-07 2003-02-20 Ruey Kao Method and apparatus for the management of queue pointers by multiple processors in a digital communications network
US5838915A (en) * 1995-06-21 1998-11-17 Cisco Technology, Inc. System for buffering data in the network having a linked list for each of said plurality of queues
JP3120963B2 (ja) * 1995-12-14 2000-12-25 株式会社日立製作所 メッセージを転送する方法およびメッセージを転送するシステム
US6006292A (en) * 1997-03-13 1999-12-21 Adaptec, Inc. Method of managing hardware control blocks utilizing endless queue maintained to never be empty and containing tail pointer only accessible by process executing on system processor
US5938747A (en) * 1997-03-13 1999-08-17 Adapter, Inc. Hardware command block delivery queue for host adapters and other devices with onboard processors
US6012107A (en) * 1997-05-22 2000-01-04 Adaptec, Inc. Hardware control block delivery queues for host adapters and other devices with onboard processors
US6487202B1 (en) 1997-06-30 2002-11-26 Cisco Technology, Inc. Method and apparatus for maximizing memory throughput
US6526060B1 (en) 1997-12-05 2003-02-25 Cisco Technology, Inc. Dynamic rate-based, weighted fair scheduler with explicit rate feedback option
US6243107B1 (en) * 1998-08-10 2001-06-05 3D Labs Inc., Ltd. Optimization of a graphics processor system when rendering images
US7181548B2 (en) * 1998-10-30 2007-02-20 Lsi Logic Corporation Command queueing engine
JP2003006170A (ja) * 2001-06-20 2003-01-10 Hitachi Ltd 複数計算機環境でのプログラム実行方法
US7991758B2 (en) * 2005-09-07 2011-08-02 International Business Machines Corporation System and method for performing a search operation within a sequential access data storage subsystem

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3348210A (en) * 1964-12-07 1967-10-17 Bell Telephone Labor Inc Digital computer employing plural processors
US3496551A (en) * 1967-07-13 1970-02-17 Ibm Task selection in a multi-processor computing system
US3643227A (en) * 1969-09-15 1972-02-15 Fairchild Camera Instr Co Job flow and multiprocessor operation control system
US3662401A (en) * 1970-09-23 1972-05-09 Collins Radio Co Method of program execution
GB1443176A (en) * 1973-04-13 1976-07-21 Int Corputers Ltd Data processor control of a plurality of devices
US3962685A (en) * 1974-06-03 1976-06-08 General Electric Company Data processing system having pyramidal hierarchy control flow
JPS5841538B2 (ja) * 1975-12-04 1983-09-13 株式会社東芝 マルチプロセツサシステム ノ ユウセンセイギヨホウシキ
US4149243A (en) * 1977-10-20 1979-04-10 International Business Machines Corporation Distributed control architecture with post and wait logic
JPS56135266A (en) * 1980-03-26 1981-10-22 Omron Tateisi Electronics Co Data processing system
US4394727A (en) * 1981-05-04 1983-07-19 International Business Machines Corporation Multi-processor task dispatching apparatus

Also Published As

Publication number Publication date
US4543626A (en) 1985-09-24
CA1206268A (en) 1986-06-17
EP0110792A3 (en) 1986-12-10
AU2212283A (en) 1984-06-14
AU560384B2 (en) 1987-04-02
FI834449A0 (fi) 1983-12-05
FI79200B (fi) 1989-07-31
DE3380461D1 (en) 1989-09-28
EP0110792A2 (en) 1984-06-13
FI834449A (fi) 1984-06-07
JPS59149548A (ja) 1984-08-27
EP0110792B1 (en) 1989-08-23
JPS6338733B2 (fi) 1988-08-02

Similar Documents

Publication Publication Date Title
FI79200B (fi) Kontrollsystem foer flera processorer anvaendande databehandlingssystem.
US4369494A (en) Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system
US4123795A (en) Control system for a stored program multiprocessor computer
US4395757A (en) Process synchronization utilizing semaphores
US4675806A (en) Data processing unit utilizing data flow ordered execution
US5247628A (en) Parallel processor instruction dispatch apparatus with interrupt handler
US4077058A (en) Method and apparatus for executing an extended decor instruction
US5251306A (en) Apparatus for controlling execution of a program in a computing device
US4374409A (en) Method of and system using P and V instructions on semaphores for transferring data among processes in a multiprocessing system
US4210961A (en) Sorting system
US4432051A (en) Process execution time accounting system
US4316245A (en) Apparatus and method for semaphore initialization in a multiprocessing computer system for process synchronization
US4060849A (en) Data input and output controller
CA1223371A (en) System for by-pass control in pipeline operation of computer
US4320455A (en) Queue structure for a data processing system
US5148544A (en) Apparatus and method for control of asynchronous program interrupt events in a data processing system
US5892963A (en) System and method for assigning tags to instructions to control instruction execution
EP0132381A2 (en) Method of synchronizing the sequence by which a variety of randomly called unrelated activities are executed in a digital processor
KR0122528B1 (ko) 슈퍼스칼라 프로세서 시스템에서 중간 기억 버퍼의 할당을 인덱스하기 위한 방법 및 시스템
KR0128274B1 (ko) 인터페이스 시스템 및 그 동작 방법
GB2037041A (en) Cache unit
JP3431941B2 (ja) データ処理システムにおける命令の実行順序を決定する方法および装置
US4791560A (en) Macro level control of an activity switch in a scientific vector processor which processor requires an external executive control program
EP0206335B1 (en) Interruption method for a data processing system
EP0132995A2 (en) Controller for controlling access to a plurality of records that can be accessed and changed by several independent processors

Legal Events

Date Code Title Description
MM Patent lapsed

Owner name: DIGITAL EQUIPMENT CORPORATION