NO143473B - Anordning ved mikroprogrammert datamaskin. - Google Patents

Anordning ved mikroprogrammert datamaskin. Download PDF

Info

Publication number
NO143473B
NO143473B NO4500/73A NO450073A NO143473B NO 143473 B NO143473 B NO 143473B NO 4500/73 A NO4500/73 A NO 4500/73A NO 450073 A NO450073 A NO 450073A NO 143473 B NO143473 B NO 143473B
Authority
NO
Norway
Prior art keywords
microprogram
unit
memory
processor
task
Prior art date
Application number
NO4500/73A
Other languages
English (en)
Other versions
NO143473C (no
Inventor
Francois Anceau
Claude Beauducel
Pierre Courboulay
Jacques Cretin
Original Assignee
Inst Francais Du Petrole
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 Inst Francais Du Petrole filed Critical Inst Francais Du Petrole
Publication of NO143473B publication Critical patent/NO143473B/no
Publication of NO143473C publication Critical patent/NO143473C/no

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
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Preparation Of Compounds By Using Micro-Organisms (AREA)
  • Saccharide Compounds (AREA)

Description

Denne oppfinnelse angår en anordning ved mikroprogrammert datamaskin. Vanligvis omfatter en datamaskin en regneenhet eller et behandlingssystem som utfører ordre levert fra en sentral hukommelse og utveksler informasjoner med periferiske, ytre innretninger gjennom utvekslingsenheter. Programmer oppdeles i to typer: Regneprogrammer og de såkalte "kanal"-programmer som vedrører overføring til regneenheten av data som utstedes av periferiinnretninger, og utsendelse av resultater til disse samme innretninger.
Overføringen av elementære data fra en periferi-innretning til utvekslingsenheter og derfra til den sentrale hukommelse blir vanligvis oppnådd ved hjelp av en logisk innretning som synkroniserer de elementære utvekslinger mellom regne-
enheten og periferi-innretningene og som styres av et mikroprogram. Den totale mangel på synkronisering mellom regneenheten og periferi-innretningene gjør det nødvendig å utføre overføringen blokkvis. Begynnelsen av disse overføringer styres av program-met, og de elementære utvekslinger som innsettes mellom to ordre, behandles av den synkroniserende, logiske innretning. Følgelig blir stans av datamaskinen for å vente på at eksterne data blir tilgjengelige, unngått.
Behandlingssystemet kan brukes for andre programmer under overføringsperioden da utførelsen av det program som krever over-føringen, må utsettes inntil de nødvendige data blir tilgjengelige. Men det oppstår raskt konflikter fordi det program som følger efter det avbrutte program, ikke også kan kreve en overføring av data fra den samme periferi-innretning. Når det står til disposisjon en enkelt prosessor eller enhet, blir det nødvendig å teste tilstanden av den periferi-innretning som berøres av overføringen, og å forlenge testperioden inntil overføringsoperasjonen er avsluttet. Driften av datamaskinen kan således bli avbrutt som
følge av problemet med utveksling med periferi-innretninger.
Dette problem kan løses ved å bruke et datamaskin-arrangement i hvilket flere forskjellige prosesser som f.eks. angår regneoperasjoner eller operasjoner knyttet til dataoverføring mellom datamaskinen og eventuelle perif eri-innretninger,.. kan bli oppnådd. For dette formål omfatter virkemåten av datamaskinen anvendelse av en samling spesifikke mikroprogrammer som hvert er innrettet til å utføre en separat prosess og som i det følgende er betegnet som "potensielle prosessorer".
Hver arbeidsoppgave vil bli definert ved eller assosiert med et program som er dannet for utførelse av visse prosesser med en kontroll- eller styreblokk i sentralhukommelsen. Denne styreblokk er også betegnet som "oppgavebeskriver" og består av en samling ord i sentralhukommelsen som definerer en arbeidsoppgave og styrer enten utførelsen av denne arbeidsoppgave eller opprett-holdelse av denne i tilfelle av avbrudd.
Det første ord i oppgavebeskriveren definerer f.eks. den type prosess som er knyttet til oppgaven, ved hjelp av et binærsiffer. I utførelsesøyeblikket vil dette siffer bli overført til et tilstandsregister i datamaskinen og blir brukt som komple-mentært binærsiffer i operasjonskoden for den ordre- som utføres. Det er således mulig å ha adkomst til forskjellige ordrereper-toafer i overensstemmelse med den type prosess som utføres, og i dette øyemed anvendes det to forskjellige prosessorer med samme regneenhet, dvs. f.eks. en regneprosessor og en såkalt "kanal"-prosessor.
Antallet av potensielle prosessorer kan økes vilkårlig, f.eks. ved å assosiere en slik prosessor med hver kanal for data-overføring mellom en spesiell periferi-innretning og datamaskinen. I et slikt tilfelle kan hver prosessor være i en av de følgende tilstander: disponibel, dvs. uten å ha noe program å utføre
aktiverbar, dvs. i påvente av at behandlingssystemet blir tilgjengelig for utførelse av et program
aktiv, dvs. under utnyttelse av behandlingssystemet
i en ventetilstand, dvs. for å vente inntil slutten av en overføring og uvirksom selv om det foreligger oppgaver som venter på utførelse.
Regneprosessoren kan også være i en av de ovennevnte tilstander, bortsett fra ventetilstanden, og kan derfor aldri stop-
pes for dette formål.
Da hver av prosessorene har adgang til behandlingssysteme er det nødvendig å frembringe et hierarki mellom dem.
Det kan f.eks. bestemmes at kanalprosessoren har prioritet fremfor regneprosessoren.
Tilstanden av en prosessor bestemmes av en liste som er knyttet til denne og som omfatter i det minste en arbeidsoppgave som kan utføres av prosessoren. Denne arbeidsoppgave kan.ha en av følgende tilstander: - disponibel, hvilket betyr at de tilsvarende operasjoner er avsluttet eller har ennå ikke startet - aktiverbar, dvs. som er i ventelisten i sin prosessor og kan ikke utføres før denne har avsluttet den arbeidsoppgave som allerede er under utførelse.
- aktiv, dvs. under utførelse av.sin prosessor
- i en ventetilstand, hvilket betyr at returnering til ventelisten i en prosessor avhenger av en eller flere ytre fak-torer.
Hver aktiv arbeidsoppgave kan kreve utførelse av andre oppgaver. F.eks. kan en regneoppgave kreve utførelse av opp-
gaver som nødvendiggjør bruk av kanalprosessorer i hvilket tilfelle de nevnte arbeidsoppgaver vil akkumuleres på ventelisten for den tilsvarende prosessor.
Operasjonen av potensielle prosessorer i en datamaskin-anordning krever således et system for. - dannelse av et hierarki mellom prosessorene og stille systemet til disposisjon for den prosessor som har prioritet
- dannelse av ventelister for de arbeidsoppgaver som
er assosiert med hver prosessor og overvåkning eller styring av disse.
Nærmere bestemt går således denne oppfinnelse ut på en anordning ved mikroprogrammert datamaskin,. omfattende et databehandlingssystem, en sentral hukommelse forbundet med behandlingssystemet, en innretning for utveksling av data med periferi-innretninger gjennom i det minste en dataoverføringskanal, og en mikroprogrammert, automatisk innretning som innbefatter en lesehukommelse forsynt med et sett mikroprogrammer og en innretning for utførelse av mikroprogramsettet, hvilken innretning omfatter en første mikroprogramenhet som tjener til å styre utførelsen av instruksjoner for den sentrale hukommelse. "Det nye og særegne ved anordningen ifølge oppfinnelsen består i første rekke i at den mikroprogrammerte, automatiske innretning også omfatter en annen mikroprogramenhet som tjener til å etablere et hierarki mellom de lister av arbeidsoppgaver som er tilforordnet utveks-lingsprosesser av samme type eller er tilforordnet regneproses-sen, og at behandlingssystemet gjøres tilgjengelig for den arbeidsoppgave som står øverst på prioritetsoppgavelisten, og en tredje-, automatisk mikroprogramenhet som tjener til å etablere ikke-hierarkiserte lister over aktiverbare arbeidsoppgaver assosiert med forskjellige prosesser av samme type, en tilstandsregisterenhet omfattende et første hukommelseselement forbundet med den annen og.den tredje mikroprogramenhet for lagring av et signal fra den tredje mikroprogramenhet som angir tilstanden av oppgavelistene som er tilforordnet regne- og utvekslingsprosessene, og gir et utgangssignal som angir dette til den annen mikroprogramenhet, et annet hukommelseselement som er forbundet med den første, den annen og den tredje mikroprogramenhet for lagring av et signal fra den tredje mikroprogramenhet som angir at en aktiverbar liste av oppgaver prioriteres med hensyn til en aktiv oppgaveliste og avgir et utgangssignal som angir dette til den første mikroprogramenhet, og et tredje hukommelseselement som er forbundet med den første og den annen mikroprogramenhet for lagring av et signal fra den annen mikroprogramenhet som angir den type utveksling eller regneprosess som utføres av behandlingssystemet og avgir et utgangssignal som angir dette til den første mikroprogramenhet.
Anordningen ifølge oppfinnelsen har følgende fordeler: - en forenkling av synkroniseringen mellom de forskjellige enheter i den automatiske mikroprogrammerte anordning - en økning i hurtigheten av anrops- eller oppdrags-utførelse mellom programmer - vilkårlig avbrytelse av en prosess som utføres mens det samtidig foretas lagring av aktivitetsrapporten for de forskjellige moduler eller enheter.
Andre spesielle trekk og fordeler ved oppfinnelsen
vil fremgå av den følgende beskrivelse av et ikke begrensende, spesielt utførelseseksempel av anordningen, under henvisning til tegningen, hvor:
Fig. 1 er et skjematisk blokkdiagram for en utførelses-form av en mikroprogrammert datamaskin, Fig. 2 viser skjematisk den automatiske styre- eller overvåkningsanordning og innretningene for å lagre tilstanden av modulene i styreanordningen i et arrangement omfattende to potensielle prosessorer, og Fig. 3 viser skjematisk den automatiske styre- eller overvåkningsanordning og elementer for å lagre tilstanden av enhetene i denne anordning i et arrangement omfattende fire potensielle prosessorer.
Den mikroprogrammerte datamaskin som er illustrert
på fig. 1, omfatter en styredel bestående av en "død" eller ROM-hukommelse 1 i hvilken mikroprogrammer registreres, og en arit-metikk- og logikkregneenhet bestående av et operasjonsorgan 2,
et register for instruksjoner og en hukommelse med registre 4,
en gruppe 5 av tilstandsregistre, en sentral hukommelse 6 av "aktiv" type, et element 7 for styring av sentralhukommelsen, stående i forbindelse med denne gjennom en hukommelseskabel eller -skinne 8, et element 9 for styring av dataoverføringen mellom datamaskinen og periferi-innretningene (ikke vist) gjennom en kabelskinne 10.
Utvekslingene mellom de forskjellige elementer og enheter i datamaskinen blir foretatt gjennom en intern kabelskinne 11. En kabelskinne 12 - betegnet som testkabel — forbinder også de forskjellige elementer med ROM-hukommelsen og overfører til denne data vedrørende tilstanden av datamaskinen i forskjellige punkter, hvorved den er et middel til å samordne sekvensen av utstedte mikroinstruksjoner.
ROM-hukommelsen er knyttet til et element 13 for de-kodning av de utstedte mikroinstruksjoner og er også forbundet med de forskjellige enheter i datamaskinen.
Et adresseregister 14 er forbundet med utgangen av dekodningsenheten 13 og med testkabelen 12. Det styrer av-givelsen av mikroinstruksjoner fra ROM-hukommelsen■ 1- i samme rekkefølge som de suksessive adresser som denne inneholder. Or-dene i ROM-hukommelsen er oppdelt i grupper av binærsifre eller "felter" som hvert har en veldefinert funksjon. Spesielt er et av disse felter viet styringen av adresseregisteret 14 og omfatter et "ord" som angir den partielle adresse eller "umiddelbare verdi" som overføres til adresseregisteret. Det omfatter videre en ordre bestemt for et av elementene i datamaskinen for å bringe dette
til å overføre til adresse-registeret 14 et binærsiffer (en bit) som representerer dettes tilstand. Dette siffer er et komplement
til den partielle adresse eller "umiddelbare verdi" for å danne den nye adresse for den mikroinstruksjon som er avgitt fra ROM-hukommelsen. Dette arrangement gjør det mulig å danne betingede forbindelser (conditional connections).
Spesielt vil utførelsen av instruksjoner overført fra sentralhukommelsen 6 til instruksjonsregisteret 3 foretas ved suksessive tester av binærsifrene i vedkommende operasjonskode.
På lignende måte vil forskjellige binærsiffere i gruppen 5 av tilstandsregistre være i posisjon for suksessiv testing.
Den utførelsesform som er illustrert på fig. 2, viser et tilfelle hvor anordningen omfatter to potensielle prosessorer, dvs. en regneprosessor og en kanalprosessor.
Mikroprogramhukommelsen 1 er oppdelt i tre deler:
- En blokk for utførelse av standardinstruksjoner assosiert med behandlingsinnretningen 15 for tolkning og utførelse av instruksjoner avgitt fra sentralhukommelsen. Denne blokk omfatter en hovedmikroprogrammodul 16 betegnet "grunnutførelses-enhet" og to spesielle sekundære mikroprogrammoduler 161 og 162 for utførelse av ordre som spesielt angår hvilken som helst av anordningens prosessorer. De tre moduler er forbundet med hovedhukommelsen 6. Begge de sekundære moduler 161 og 162 styres av hovedmodulen og sender signaler til denne når de instruksjoner som de får, er blitt utført på deres tilsvarende prosessorer, '- en blokk 17 som består av et mikroprogrammert automatisk system for å etablere et hierarki mellom prosessorene eller også mellom de respektive arbeidsoppgavelister som er assosiert med disse og for å danne det behandlingssystem 15 (regneenhet) som består av operasjonsorganet 2, instruksjonsregisteret 3 og hukommelsen med registeret 4 (fig. 1), som er tilgjengelig for den prosessor som har prioritet (avsender), og - en blokk 18 som består av et automatisk mikroprogrammert system for å opprette ventelister for de aktiverbare arbeidsoppgaver^om er knyttet til hver prosessor og styring av samme (planlegger).
'Blokken 17 er forbundet med hukommelsen 6 og med den nevnte grunnenhet 16 når denne siste i sitt mikroprogram innbefatter en "system"-instruksjon IS, dvs. en aktiveringsinstruksjon som angår en eller flere arbeidsoppgaver som skal utføres.
Styreblokken 18 er.arrangert for å tillate en maksi-mal utnyttelse av datamaskinsystemet og spesielt frembringelsen av et hierarkisk system av arbeidsoppgavene. Den omfatter en anordning for midlertidig å utsette en arbeidsoppgave ved å utelukke denne fra ventelisten og igjen å inkludere den senere.
Blant de arbeidsoppgaver som befinner seg på en vente-liste, kan noen ha vært gjenstand for separate anrop. Disse betegnes "ressursanrop". For å ta hensyn til de suksessive anrop eller behov, omfatter styreblokken 18 en anordning for å lagre disse i "beskriveren" for vedkommende arbeidsoppgave.
Styreblokken 18 omfatter også et system for detek-tering av en instruksjon som angir slutten av de operasjoner som vedrører en arbeidsoppgave og for å utelukke eller gjeninnføre den samme i overensstemmelse med det faktum at alle de suksessive ressursanrop er eller er ikke blitt tilfredsstilt. I det tilfelle hvor en arbeidsoppgave som er forskjellig, men antatt av den samme prosessor, blir anropt eller efterspurt, omfatter styreblokken 18 en anordning for innføring av beskriveren av denne oppgave i ventelisten.
Gruppen 5 av tilstandsregistre omfatter en første bistabil flip-flop 19 styrt av bokken 17. Hver stabil tilstand av denne flip-flop er assosiert med en av de to prosessorer. Hovedmodulen 16 i utførelsesblokken er innrettet til i hvert øyeblikk å styre tilstanden av flip—flop-kretsen 19. Gruppen 5 omfatter også en annen flip-flop EXD (20) aktivert av blokken 18 og av blokken 17 samt av et register 21 bestående av to bistabile flip-flop-kretserCN (212) som også påvirkes av styreblokken 18.
Hovedmodulen 16 i utførelsesblokken er innrettet til å styre tilstanden av flip-flop-kretsen EXD, og styreblokken 17 omfatter en anordning for testing av tilstanden av begge flip-flop-kretser CN og CL.
Hver potensiell prosessor er definert som samlingen av et binærsiffer fra registeret 21, et ord fra hovedhukommelsen 6 som inneholder adressen på oppgavebeskriveren for den første aktiverbare arbeidsoppgave som kan utføres på prosessoren, grunn-utførelsesenheten 16 og den sekundære modul 161 eller 162 som er spesialisert for prosessoren. Denne siste er tilgjengelig når det ikke er til stede noen adresse i ordet fra hukommelsen.
Flip-flop-kretsene 19, 20 og 21 i gruppen 5 av tilstandsregistere sørger for synkroniseringen av de forskjellige blokker i den mikroprogrammerte hukommelse 1.
Flip-flop-kretsen 19 definerer den aktive prosessor.
Den trigges gjennom blokken 17 til den ene eller den annen av sine stabile tilstander avhengig av hvorvidt behandlingssystemet er tilgjengelig enten for kanalprosessoren eller for regneprosessoren. Flip-flop-kretsen EXD (20) påvirkes av styreblokken 18 når denne har bevirket eller kontrollert innstillingen av den prosessor som har prioritet, i eller til påvirkbar tilstand.
Ved testing av flip-flop-kretsen EXD detekterer grunn-modulen eller -enheten 16 i utførelsesblokken enhver modifikasjon i konfigurasjonen av de aktiverbare prosessorer, og når det opp-trer en modifikasjon, aktiveres blokken 17 som etablerer et hierarki mellom prosessorene.
Flip-flop-kretsene CN og CL i registeret 21 tilsvarer henholdsvis kanalprosessoren og regneprosessoren. De befinner seg respektive i den eller eller den annen av sine stabile tilstander når de tilsvarende prosessorer er henholdsvis aktiverbare eller ikke aktiverbare.
Synkroniseringsmekanismen er da meget enkel. Dette bringes i orden av blokken 18 når den påvirkes av et eksternt "ressursanrop" DR eller av en "system"-instruksjon IS, dvs. en aktiveringsinstruksjon vedrørende en eller flere arbeidsoppgaver som skal utføres. Ankomst av en instruksjon IS vedrørende en arbeidsoppgave knyttet til en tilgjengelig eller disponibel prosessor, gjør denne aktiverbar. I dette tilfelle lagrer blokken 18 endringen i den tilsvarende flip-flop i registeret 21. Når dessuten den nye aktiverbare prosessor har prioritet fremfor den aktive prosessor, trigger blokken 18 flip-flop-kretsen EXD (20)
og gir styringen til grunnutførelsesenheten 16. Denne siste tester flip-flop-kretsen EXD og overfører styringen til blokken 17 som avbryter utførelsen av den arbeidsoppgave som foretas, og styrer overføringen av innholdet av registrene i den lokale hukommelse 4 (fig. 1) til den enhet i hukommelsen 6 som er knyttet til den blokk som styrer den arbeidsoppgave som er blitt avbrutt. Den fortsetter med å teste flip-flop-kretsene CN og CL i register 21
og bestemmer derefter den arbeidsoppgave på toppen av oppgave-listen som er knyttet til den nye aktiverbare prosessor og påvirker flip-flop-kretsen 19 for lagring av arten av den prosessor som behandlingssystemet er tilknyttet. Den styrer derefter overføringen av et visst antall ord tatt fra styreblokken for den nye arbeidsoppgave (kontekst) til registrene i den lokale hukommelse 4. Spesielt blir et av de nevnte ord overført til ordenstelleren i
denne. Denne siste operasjon blir vanligvis betegnet "initialisering". Styreblokken overfører igjen styringen til grunn-utf ørelsesenheten 16. Denne enhet styrer utlesningen av ordenstelleren og avlesningen av den tilsvarende ordre og overfører denne siste til ordreregisteret 3. Den fortsetter med test av flip-flop-kretsen 19 for tolkning av koden i den ordre som inneholdes i ordreregisteret 5 enten som en ordre vedrørende beregning eller som en "kanal"-ordre vedrørende én dataoverføring.
Når alle operasjoner svarende til denne nye arbeidsoppgave som har prioritet, er avsluttet, overfører grunnutførel-sesenheten 16 styringen til styreblokken 17 som igjen styrer over-føringen av innholdet av den blokk som styrer den avbrutte arbeidsoppgave, til registrene i den lokale hukommelse.
Utførelsen av den avbrutte arbeidsoppgave kan så
igjen iverksettes.
Anordningen på fig. 3 omfatter - slik som i den foregå-ende utførelse - en sentral hukommelse 6 og en mikroprogrammert hukommelse bestående av en styreblokk 17 for etablering av et hierarki mellom prosessorene og for å gjøre behandlingssystemet 15 tilgjengelig for den prosessor som har prioritet, en styreblokk 18 for å opprette ventelistene for de arbeidsoppgaver som er assosiert med hver prosessor, og styring eller overvåking av den samme samt en blokk for utførelse av standardinstruksjoner. Denne siste blokk er innrettet for det tilfelle hvor anordningen omfatter fire potensielle prosessorer. Denne anordning kan f.
eks. omfatte en "kanal"-prosessor CR innrettet for rask over-føring av data, en prosessor TR beregnet for samtidsberegning,
en "kanal"-prosessor CMX innrettet for behandling av multipleks-informasjon, og en regneprosessor CAL.
Utførelsesblokken omfatter en hovedmikroprogrammodul 16 betegnet "grunnutførelsesenhet" og fire spesialiserte, sekundære mikroprogrammoduler 161, 162, 163 og 164 for utførelse av instruksjoner angående spesielt en av de prosessorer som er' tilforordnet anordningen.
Gruppen 5 av tilstandsregistere omfatter en enkelt flip-flop 20 identisk med den på fig. 2, påvirket av blokken 18 og testet av hovedmodulen 16. Arten av den aktive prosessor defi-neres av et register 22 omfattende to tilhørende bistabile flip-flop-kretser PA 0 (221) og PA 1 (222). De fire forskjellige binær-tall som kan representeres med dette i sammenheng, svarer til de respektive fire prosessorer. Begge flip-flop-kretser styres også av styreblokken 17 og testes av grunnutførelsesenheten 16.
Det er også anordnet et register 2 3 med fire bistabile flip-flop-kretser BCR (231), BTR (232), BCMX (233) og BCAL (234) som er tilforordnet de respektive fire prosessorer CR, TR, CMX
og CAL. Som tidligere avhenger de stabile tilstander av de binære elementer av det faktum at deres tilhørende prosessor er aktiverbar eller ikke. Hver potensiell prosessor vil også være definert ved den samling som består av den tilsvarende flip-flop i registeret 23, et ord i hukommelsen som inneholder adressen på beskriveren for den første arbeidsoppgave som kan utføres i denne prosessor, grunnutførelsesenheten 16 og den spesielle sekundære modul 161-164 for denne prosessor.
Virkemåten av anordningen svarer til det som er be-skrevet tidligere. Det ligger ikke utenfor rammen for denne oppfinnelse å forsyne anordningen med hvilket som helst antall N potensielle prosessorer. I dette tilfelle vil utførelses-blokken omfatte N sekundære moduler, det register 23 som definerer den aktiverbare prosessor, vil omfatte N binærsiffere og arten av den aktive prosessor vil bli definert ved n koblede bistabile flip-flop-kretser, hvor n er gitt av relasjonen n=log2N.

Claims (3)

1. Anordning ved mikroprogrammert datamaskin, omfattende et databehandlingssystem, en sentral hukommelse forbundet med behandlingssystemet, en innretning for utveksling av data med periferi-innretninger gjennom i det minste en dataoverførings-kanal, og en mikroprogrammert, automatisk innretning som innbefatter en lesehukommelse (ROM) forsynt med et sett mikroprogrammer og en innretning for utførelse av mikroprogramsettet, hvilken innretning omfatter en første mikroprogramenhet (16) som tjener til å styre utførelsen av instruksjoner fra den sentrale hukommelse,karakterisert vedat den mikroprogrammerte, automatiske innretning også omfatter en annen mikroprogramenhet (17) som tjener til å etablere et hierarki mellom de lister av arbeidsoppgaver som er tilforordnet utveks- lingsprosesser av samme type eller er tilforordnet regneproses-sen, og at behandlingssystemet gjøres tilgjengelig for den arbeidsoppgave som står øverst på prioritetsoppgavelisten, og en tredje, automatisk mikroprogramenhet (18) som tjener til å etablere ikke-hierarkiserte lister over aktiverbare arbeidsoppgaver assosiert med forskjellige prosesser av samme type, en tilstandsregisterenhet omfattende et første hukommelseselement (21, 23) forbundet med den annen og den tredje mikroprogramenhet (17, 18) for lagring av et signal fra den tredje mikroprogramenhet (18) som angir tilstanden av oppgavelistene som er tilforordnet regne- og utvekslingsprosessene, og gir et utgangssignal som angir dette til den annen mikroprogramenhet (17), et annet hukommelseselement (20) som er forbundet med den første, den annen og den tredje mikroprogramenhet (16, 17, 18) for lagring av et signal fra den tredje mikroprogramenhet (18) som angir at en aktiverbar liste av oppgaver prioriteres med hensyn til en aktiv oppgaveliste og avgir et utgangssignal som angir dette til den første mikroprogramenhet (16), og et tredje hukommelseselement (19, 22) som er forbundet med den første og den annen mikroprogramenhet (16, 17) for lagring av et signal fra den annen mikroprogramenhet (17) som angir den type utveksling eller regneprosess som utføres av behandlingssystemet og avgir et utgangssignal som angir dette til den første mikroprogramenhet (16) .
2. Anordning ifølge krav 1,karakterisert vedat den første mikroprogramenhet omfatter en hovedmodul (16) innrettet til å styre utførelsen av generelle operasjoner vedrørende instruksjoner avgitt av hukommelsen, og sekundære moduler forbundet med hovedmodulen og hver innrettet til å styre utførelsen-av spesifikke operasjoner vedrørende en spesiell regne- eller utvekslingsprosess.
3. Anordning ifølge krav 1,karakterisert vedat det tredje hukommelseselement (19, 22) omfatter et binært register hvis maksimale innhold er i det minste lik antallet av de nevnte prosesstyper og at det første hukommelseselement (21, 23) omfatter et antall bistabile flip-flop-kretser i det minste lik antallet av de nevnte prosesstyper.
NO4500/73A 1972-11-27 1973-11-26 Anordning ved mikroprogrammert datamaskin NO143473C (no)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR7242157A FR2208551A5 (no) 1972-11-27 1972-11-27

Publications (2)

Publication Number Publication Date
NO143473B true NO143473B (no) 1980-11-10
NO143473C NO143473C (no) 1981-02-18

Family

ID=9107789

Family Applications (1)

Application Number Title Priority Date Filing Date
NO4500/73A NO143473C (no) 1972-11-27 1973-11-26 Anordning ved mikroprogrammert datamaskin

Country Status (11)

Country Link
US (1) US4007444A (no)
JP (1) JPS5632654B2 (no)
BE (1) BE806765A (no)
CA (1) CA1015866A (no)
DE (1) DE2359037C2 (no)
FR (1) FR2208551A5 (no)
GB (1) GB1446740A (no)
IT (1) IT1002152B (no)
NL (1) NL180049C (no)
NO (1) NO143473C (no)
SE (1) SE394151B (no)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49125005A (no) * 1973-03-24 1974-11-29
US4346438A (en) * 1979-10-24 1982-08-24 Burroughs Corporation Digital computer having programmable structure
DE3113138A1 (de) * 1981-04-01 1982-10-21 Siemens Ag Verfahren zum koordinieren einer mehrzahl von prozessen unter verwendung eines mikrorechners
FR2604543B1 (fr) * 1986-09-30 1989-04-07 Sfena Procede et dispositif pour l'optimalisation des performances de primitives temps reel d'un noyau d'executif temps reel sur des structures multiprocesseurs
US6263359B1 (en) 1997-05-22 2001-07-17 International Business Machines Corporation Computer resource proportional utilization and response time scheduling
US7899892B2 (en) * 2006-03-28 2011-03-01 Microsoft Corporation Management of extensibility servers and applications
US7873153B2 (en) * 2006-03-29 2011-01-18 Microsoft Corporation Priority task list

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL280931A (no) * 1961-07-14
JPS514381B1 (no) * 1969-11-24 1976-02-10
US3662401A (en) * 1970-09-23 1972-05-09 Collins Radio Co Method of program execution

Also Published As

Publication number Publication date
JPS507443A (no) 1975-01-25
GB1446740A (en) 1976-08-18
DE2359037C2 (de) 1985-07-25
US4007444A (en) 1977-02-08
CA1015866A (fr) 1977-08-16
FR2208551A5 (no) 1974-06-21
SE394151B (sv) 1977-06-06
NL180049C (nl) 1986-12-16
JPS5632654B2 (no) 1981-07-29
IT1002152B (it) 1976-05-20
BE806765A (fr) 1974-04-30
NL7316219A (no) 1974-05-29
NO143473C (no) 1981-02-18
DE2359037A1 (de) 1974-05-30
NL180049B (nl) 1986-07-16

Similar Documents

Publication Publication Date Title
US3665404A (en) Multi-processor processing system having interprocessor interrupt apparatus
US4354225A (en) Intelligent main store for data processing systems
US4527237A (en) Data processing system
US4516199A (en) Data processing system
US4447874A (en) Apparatus and method for communication of information between processes in an information system
US4920486A (en) Distributed arbitration apparatus and method for shared bus
Swan et al. The implementation of the Cm* multi-microprocessor
US4060849A (en) Data input and output controller
CN100373331C (zh) 独立处理多个指令流、软式控制各指令流的处理功能的多线程处理器
US5265240A (en) Channel measurement method and means
CN100440139C (zh) 双线程处理器和方法
US4124891A (en) Memory access system
US4494189A (en) Method and means for switching system control of CPUs
US10671426B2 (en) Data processing
US4103328A (en) Control apparatus for controlling data flow between a control processing unit and peripheral devices
GB2079997A (en) Data processing apparatus
TW470885B (en) Apparatus and method for emulating an I/O instruction for the correct processor and for servicing software SMI's in a multi-processor environment
CN103761145A (zh) 用于各个处理器的辅助中断虚拟化的访客中断控制器
JPS646488B2 (no)
US4549296A (en) Device for reporting error conditions occurring in adapters, to the data processing equipment central control unit
US4692861A (en) Microcomputer with interprocess communication
CN104866443A (zh) 可中断存储独占
JPH05216835A (ja) 割込み再試行低減装置
US4079448A (en) Apparatus for synchronizing tasks on peripheral devices
WO1995010806A1 (fr) Dispositif et procede pour le controle d'interruptions