NO137165B - Programmerbar anordning. - Google Patents

Programmerbar anordning. Download PDF

Info

Publication number
NO137165B
NO137165B NO1791/70A NO179170A NO137165B NO 137165 B NO137165 B NO 137165B NO 1791/70 A NO1791/70 A NO 1791/70A NO 179170 A NO179170 A NO 179170A NO 137165 B NO137165 B NO 137165B
Authority
NO
Norway
Prior art keywords
memory
unit
instruction
signals
control
Prior art date
Application number
NO1791/70A
Other languages
English (en)
Other versions
NO137165C (no
Inventor
Ulbe Faber
Robert Lowell Davis
David Allen Fischer
Joseph David Mc Gonagle
Original Assignee
Burroughs 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 Burroughs Corp filed Critical Burroughs Corp
Publication of NO137165B publication Critical patent/NO137165B/no
Publication of NO137165C publication Critical patent/NO137165C/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/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7896Modular architectures, e.g. assembled from a number of identical packages
    • 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/24Loading of the microprogram
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Executing Machine-Instructions (AREA)
  • Stored Programmes (AREA)
  • Logic Circuits (AREA)
  • Debugging And Monitoring (AREA)
  • Advance Control (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

Programmerbar anordning.

Description

Oppfinnelsen angår en programmerbar anordning med
en logisk enhet som er forbundet med et antall registre for dataoverføring, omfattende en koplingsenhet som er forbundet med den logiske enhet og registrene for overføring av styresignalsett til denne, en styrehukommelse for lagring av et antall forskjellige styresignalsett i respektive adresser og er forbundet med koplingsenheten.
Datamaskinanvendelse har utbredd seg i så stor grad
at det nå finnes et marked for et helt spektrum av data-
maskiner for å utføre en stor mengde ulike databeregningsopp-gaver og andre databearbeidningsanvendelser. En gang oppfant man det såkalte store regnesystem bare for først og fremst å anvende det for kompliserte matematiske rutiner, og de små databearbeidningssystemer var først og fremst bestemt for forretnings- og bokføringsrutiner som innebar at ganske enkle aritmetiske operasjoner utføres på en stor mengde av data. I
de senere år har forretningsanvendelser kommet til et så stort omfang at de krever databearbeidningssystemer av stort format,
og omvendt, har man funnet anvendelser for mellomstore og små databearbeidningssystemer for å ta seg av- vitenskapelige anvendelser og også datajournalføring. Det finnes derfor et behov for en flerhet av ulike databearbeidningssystemer som strekker seg fra de meget små til de meget store og av hvilke hver av dem kan ta seg av ikke bare forretningsmessige og vitenskapelige anvendelser men også styring av dataoverføring, dataakkvisisjon og lignende.
Da man fant en større mangfoldighet av datamaskin-anvendelser, ble det "skreddersydd" ulike systemer individuelt for disse anvendelser. For de situasjoner hvori det inngikk omfattende regnemessige problemer, som krevde mange hundre eller tusentalls iterative trinn, la man tyngdepunktet både på hastighet i iverksettelsen og på det antall databiter sem kunne behandles i en gitt instruksjonsrekkefølge. Por en slik situasjon konstruertes systemet for å ta seg av store databredd-er og også fikk de algoritmiske forløp som måtte utføres på disse data, sitt direkte uttrykk i ferdige kretser for å oppnå større hastighet i instruksjonsiverksettelsen. Det var hovedsakelig avhengig av disse synspunkter at den store og vitenskapelige datamaskin ble så dyr. Der markedet etterspurte en billigere datamaskin konstruertes et sådant databearbeidningssystem med omkostningsfaktoren i tanke, hvilket resulterte i at de kretser og systemer som ingikk, var relativt enkle, og at de ulike algoritmer ble bragt til uttrykk av programmereren. Som et resultat var programmets iverksettelse relativt langsom -
ikke bare fordi systemet måtte utføre ethvert individuelt trinn i programmet, men også fordi systemet var konstruert for å be-handle data med relativt små format for å kunne beholde systemets kretser. Ettersom konstruktøren av begge typer system måtte konstruere og fremstille to ulike aritmetisklogiske enheter for de separate systemer, kom han til å tape den økonomiske fordel som skulle ha ligget i masseproduksjon av bare én konstruksjons-type.
Ovenstående ulempe henger også sammen med databearbeidningssystemer som er av tilstrekkelig størrelse til å kreve styring av inn-utoperasjoner samtidig med styring av regnemessige og andre logiske operasjoner. Slike separate I-U-styreenheter kan likne og er også iblant fullstendig digitaldatamaskiner for generelt formål, komplettert med en aritmetisk enhet og iblant også med et lokalt minne. Imidlertid er funksjonen og dermed konstruksjonen av I-U-styreenheten fremdeles forskjellig fra den hos den datamaskin for generelt formål den er forenet med.
En annen ulempe som hører sammen med systemer av ulike konstruksjoner, er uforenlighet i programmering mellom de ulike systemer. Ettersom noen rutiner hadde sitt uttrykk i kretser i større systemer, behøvde bare In instruksjon å iverksettes for å utføre den rutinen. På den annen side måtte man i et mindre system ha en flerhet sådanne instruksjoner for å utføre samme rutine. Denne mangel på programforenlighet var enda mer føl-bar mellom systemer bygget av forskjellige firmaer, ettersom ulike konstruktører anvender ulike instruksjons formater som varierte i lengde, og også anvendte ulike feltstørrelser innenfor instruksjons formatet. For å overvinne sådanne forskjelligheter i "maskinspråkene", ble der utviklet en flerhet av ulike programspråk samt de mer vanlige slik som Fortran, Cobol og Algol. Programmer skrevet på sådanne programspråk skulle kunne innkodes og anvendes i ulike datasystemer; imidlertid måtte sådanne programmer først oversettes til maskinspråket for et særskilt system, hvilken oversettelse utførtes av et iverksett-ende program iblant kalt en kompilator, og hvis et sådant iverk-settende program ikke var anordnet for et særskilt programspråk, så skulle datamaskinanvenderen tvinges til å skrive om sitt program til et språk for hvilket systemet hadde en kompilator.
Ulike systemer av systemoppbygning er foreslått for å redusere til et minimum både antallet kretser i installasjonen og også den ovenfor beskrevne programmerings- eller funksjons-uforenlighet. Skjønt forenkling har forekommet innenfor visse produksjonsbaner, har forsøkene med å redusere uforenligheten mellom forskjellige programspråk i realiteten bare resultert i at der er utviklet enda flere programspråk. En bestemt oppbyg-ningsteknikk som er anvendt innenfor tidligere teknikk, innbefatter konstruksjon av modulbearbeidningsenheter og lagringsenheter der evnen (kapasiteten) hos systemet kan økes ved å legge til tilsatsmessige bearbeidningsenheter, og lagringsevnen hos systemet kan økes ved å legge til lagringsenheter. Andre teknikker innebærer at man konstruerer dataveisbredder hos ulike organer i en produktserie som multipler av et grunnleggende enhetsavsnitt og at man også tilpasser instruksjons formatet for produktserien som multipler av disse grunnleggende avsnitt. En spesiell oppbygningside som muliggjorde mer fleksibilitet i datamaskinkonstruksjon og også datamaskinprogrammering har vært ideen med mikroprogrammer eller mikroinstruksjoner. Opprinnelig var mikroinstruksjon bare et sett kontrollbiter anvendt innenfor et makroinstruksjonsformat. Sådanne styrebiter anvendes for å avstedkomme korrektive foranstaltninger under iverksettelsen av en multipliseringsinstruksjon eller skyveinstruksjon eller liknende. Denne idé ble utviklet til et punkt der makroiristruk-sjonen spesifiserte den særskilte rutine som addisjon av to operander, og iverksettelsen av mikroinstruksjoner av hvilke hver og en spesifiserte de særskilte porter som skulle innstilles ved de ulike sekvenssidene. Ettersom en flerhet rnakroinstruksjoner skulle fullføres av en begrenset pakke mikroinstruksjoner, innså man at nettopp disse mikroinstruksjoner skulle kunne lagres i et separat minne for å oppkalles med adresse i hvilken som helst spesiell sekvens ved iverksettelsen av ulike rnakroinstruksjoner. Man innså enn videre at ulike sekvenser av mikroinstruksjoner skulle kunne formuleres for å utføre særskilte operasjoner og lagres separat i hvilket som helst minne. Således skulle man kunne anordne en stor mengde ulike sekvenser av mikroinstruksjoner for å utføre en stor mengde ulike rutiner, og når et bestemt databearbeidningssystem var planlagt å utføre særskilte rutiner, skulle bare disse nødvendige sekvenser av mikroinstruksjoner kunne lagres for å oppkalles til iverksettelse ved iverksettelsen av særskilte individuelle rnakroinstruksjoner.
Ideen med mikroinstruksjon eller mikroprogram gikk senere over til underinstruksjonspakker som var masker eller skjult for programmereren; noe som dermed forenklet skrivningen av særskilte programmer ved å redusere det antall individuelle særskilte trinn som måtte begjæres av programmereren. Ideen med mikroprogrammer tillot datamaskinkonstruktøren å konstruere et billigere databearbeidningssystem som kunne by datamaskinens anvendere en stor mengde ulike rutiner uten at individuelle funksjoner måtte ha sitt uttrykk i ferdige kretser.
Skjønt denne idé med sekvenser av mikroinstruksjoner eller sekvenser av underinstruksjoner var egnet til å by programmereren større frihet i programformulering og også var egnet til å by datamaskinkonstruktøren større fleksibilitet og flere valgmuligheter for å svare til kravene til særskilt systemoppbygning , har man ved tidligere teknikk ennå ikke kunnet oppnå kretsforenlighet mellom ulike organsystemer i en fremstillingsserie, eller kunnet oppnå programforenlighet hverken mellom ulike programspråk eller mellom maskinspråkene i de ulike systemer.
Oppfinnelsens formål.
Foreliggende oppfinnelse har følgende formål:
1) Å tilveiebringe en programmerbar enhet hvis funksjonelle muligheter dynamisk kan endres under enhetens drift. 2) Å tilveiebringe en programmerbar enhet som dynamisk kan endres under sin drift for å iverksette programmer skrevet på
ulike programspråk.
3) Å tilveiebringe en programmerbar enhet som dynamisk kan endres under sin drift for å iverksette sekvenser av databe-arbeidningsinstruksjoner eller for å iverksette sekvenser av styreinstruksjoner for inn- ut-dataoverføringer.
M Å tilveiebringe en programmerbar enhet som dynamisk kan
endres fra en regnemessig virkemåte til en virkemåte med inn-utstyring uten behov for separate kretser for hver virkemåte. 5) Å tilveiebringe en programmerbar enhet som i flertall kan anvendes i en regnemessig oppstilling for å avstedkomme ulike regnemessige og databearbeidningsoperasjoner uten at noen spesiell tilpasning foretas med noen enhet i oppstillingen. 6) Å tilveiebringe en programmerbar enhet med et utvidbart antall funksjonelle logiske enheter for å utføre mange ulike logiske operasjoner med manøvrering fra underinstruksjonspakker. •' 7) Å tilveiebringe en programmerbar enhet med en oppbygning som kan anvendes i en mangfoldighet av ulike sådanne enheter med atskilte regnemessige funksjoner og muligheter.
Dette oppnås ifølge oppfinnelsen ved en ordrehukommel-
se for lagring av uttakbare driftsordresignaler som er mikro-instruks joner av hvilke noen angir adresser i styrehukommelsen i hvilke noen bestemte av styresignalsettene er lagret, og en ordredekoder som er forbundet med styrehukommelsen som lagrer NANO-instruksjoner (N-instruksjoner) for adressering og uttak
av de respektive bestemte styresignaler, idet i det minste noen av styresignalene overføres uten dekoding direkte til registrene for innstilling av disse.
Ytterligere trekk ved oppfinnelsen vil fremgå av
kravene 2-i6.
Ovenstående og andre formål og for leier og karakteris-tiske trekk ved foreliggende oppfinnelse turde lettere fremgå av en gjennomgang av følgende beskrivelse i forbindelse med tegningene, der: Fig. IA viser en fremstilling av en programmerbar enhet i foreliggende oopfinnelse; fig. IB viser en fremstilling av en oppstilling programmerbare enheter i foreliggende oppfinnelse;fig.2 viser en skjematisk fremstilling av styredelen og den aritmetisk-logiske enhet i foreliggende oppfinnelse; fig. 3 viser en detaljert fremstilling av den aritmetisk-logiske enhet i foreliggende oppfinnelse; fig. k viser en alternativ fremstilling av den aritmetisk-logiske enhet; fig. 5-ll viser skjematisk de ulike logiske kretser i foreliggende oppfinnelse; fig. 12 viser skjematisk minnetilpasningen;fig. 13_l6 viser fremstillinger av formatene av ulike instruksjoner som anvendes ved foreliggende oppfinnelse; fig. 17 viser skjematisk det andre nivås underinstruksjonsavkoder; fig. 18 viser skjematisk det første nivås underinstruksjonsavkoder; fig. 19 viser en tabell over N-styresignalene i styrefeltene av fase 2 & 3 i N-instruksjonen; fig. 20 viser en tabell av N-styresignalene i styrefeltet av fase 3 i N-instruksjonen; fig. 21-23 viser grunper av tidstyringsdiagrammer som illustrerer overlapping ved instruksjonsiverksettelse; og fig. 2k og 25 viser M-instruksjonssekvenser som kan anvendes ved foreliggende oppfinnelse.
Generell beskrivelse av systemet.
Definisjoner.
Visse uttrykk anvendes ofte i hele følgende beskrivelse og man får regne med at disse uttrykk skal forstås i overensstemmelse med følgende definisjoner.
Programspråk form er en hvilken som helst bestående
eller presentasjon som kan kodes til binære signaler, hvilken beståen kan anvendes av en programmerer, eller datamaskinanvender uten noen kunnskap om kretsene i et særskilt bearbeidningssystem.
S-instruksjonen er en instruksjon som inneholder informasjon som spesifiserer en rutine eller en behandlingsgang som . skal utføres på datapakken. En S-instruksjon kan sammenliknes med en rnakroinstruksjon eller maskinspråkinstruksjon ved tidligere teknikk. M-instruksjonen er en instruksjon som inneholder informasjon som spesifiserer en operativ ordre som skal utføres i et bearbeidningssystem hvori en eller -flere sådanne operasjoner fordres for å utføre en behandlingsgang som begjæres av S-instruksjonen. En M-instruksjon er sammenlikningsbar med en mikroinstruksjon anvendt ved tidligere teknikk.
N-instruksjonen er en instruksjon som inneholder informasjon som spesifiserer særskilte styresignaler som skal anvendes innenfor bearbeidnijigssystemet for å sette igang fullfør-ingen av en M-instruksjon. En eller flere N-instruksjoner kan fordres for å realisére en M-instruksjon.
Som mikroprogrammering innenfor tidligere teknikk bod den to grunnleggende fordeler. For det forste er programmereren befridd for å behove spesifisere de individuelle trinn som fordres for å fullstendiggjore en gitt operasjon, hvilke trinn er spesifisert av det knippe mikro-instruks joner som begjæres av rnakroinstruksjonen. For det andre er datamaskinkonstruktdren befridd for kravet om at spesielle kretser skal utfore enhver spesiell funksjon som skal avstedkommes av systemet. Enn videre kan det plan-lagte system utfore et storre antall regnemessige operasjoner med i. et gitt instruksjonsformat, ettersom operasjonskpden i instruksjons-ormatet ikke lenger bendves for å spesifisere de særskilte maskinoperasjonene.
Foreliggende oppfinnelse anvender tre separate systemer som - ett enste system: S-systemet, M-systeinet og N-systenret.Hvert system anvender i sin tur sitt eget minne og sin egen instruksjonshefter. Listen på N-instruksjoner er normalt fast^men kan anordnes foranderlig. Listen på M-instruksjoner kan dynamisk endres under systemets normale drift. Enhver enkelt pakke M-instruksjoner definerer en særskilt tolkningsmulighet for en særskilt pakke S-instruksjoner. Enhver S-instruksjon kan spesifisere en komplett algoritme hvis trinn defineres av et knippe M—instruksjoner. S-instruksjonen er ekvivalent med rnakroinstruksjonen eller maskinspråkinstruksjonen i tidligere teknikk. Imidlertid fordres ingen særskilt egen pakke S-instruksjoner ifolge foreliggende oppfinnelse og således kan en flerhet ulike pakker S-instruksjoner anvendes inklusive pakker av S-instruksjoner skrevet ifolge ulike programspråk. Enn videre realiseres den ordrepakke som skal styre inn-utdataover-foringen i foreliggende oppfinnelse,av en særskilt pakke S-instruksjoner. Enhver pakke S-instruksjoner tolkes i systemet ifolge foreliggende oppfinnelse av en tilsvarende separat pakke M-instruksjoner, av hvilke hver i sin tur få* sitt uttrykk på listen N-instruksjoner.
Den måte hvorpå oppfinnelsen realiseres turde bedre forstås av en gjennomgang av tegningene. I fig. IA illustreres den grunnleggende anordning av en programmerbar enhet i forelig--gende oppfinnelse. Den programmerbare enhet består av to grunnseksjoner, nemlig en aritmetisk-logisk enhet eller ALU og en styreseksjon. Minnet 20 er illustrert som oppdelt
i tre seksjoner, nemlig hovedminnet 20a, mikroprogram-minnet 20b og N-minnet 20c. Hovedminnet 20a er nærmest av den normale minnetype, DRO, med slettende avlesning, som normalt anvendes i databehandlingssystemer som minnesenhet. MP-minnet 20b er normalt av typen ikke-slettende avlesning oller minne av NDRO-typen. N-minnet 20c er fortrinns-vis av NDRO-typen men kan være en "bare-avlese" minnety<p>e eller ROM. Alle tre minne kan være av den magnetiske tynnfilmtypen eller faststoff minne ;
N-minnet 20c vil imidlertid konstant velges av
den type som har den hurtigste minnessyklus. Systemet i fig. IA fjillbyrdes med en flerhet inn-utenheter 9 som er koplet til hovedminnet 20a via en koplingsenhet 8 som styres av en programmerbar enhet 10.
Innen en detaljert beskrivelse av den programmerbare enhet
10 gis, skal en særskilt anvendelse av en sådan programmerbar enhet beskrives i tilknytning til fig. IB for å illustrere mangesidigheten ved foreliggende oppfinnelse. I fig. IB er et antall programmerbare enheter 11 ... 14 tilsluttet i en oppstilling via koplingsenheten 15 og som har tilknytning til minneenhetene 21,22 og 23 såvel som til et antall innputenheter 9 som er koplet til en oppstilling av koplingsenheter 8. De respektive programmerbare enheter 11 •.. 14 er av den type som er illustrert som programmerbar enhet i fig. IA og er innrettet til å settes i ulike virkemåter i overensstemmelse med fo religgende oppfinnelse. Således kan, som illustrert i den til fig. IB horende tabell, enhetene 11 og 12 settes i en inn-atstyremåte i tiden for en spesiell oppgave,mens enhetene 13 og 14 arbeider på en bearbeidningsmåte. Ved en senere oppgavetid^når det ikke kreves noen inn-utoperasjoner, kan kanskje alle fore enheter settes i en virkemåte for bearbeidning. Ved en enda senere oppgavetid; når ytterligere inn-utoperasjoner fordres, kan en av enhetene i oppstillingen, f.eks. enheten 13, settes i en virkemåte for inn-utstyring. Formålet med den i fig. IB vedlagte tabell er bare å illustrere at hvilken som helst av eller alle de programmerbare enheter kan settes i enten en virkemåte for inn-utstyring eller i en virkemåte for bearbeidning i henhold til kravene i den anvendelse til hvilken oppstillingen i fig. IB er stilt.
Aritmetiske register og styreregister.
På fig. 2 illustreres både prinsippregistrene og dataveiene hos både styreseksjonen og den aritmetisk-logiske enhet i den programmerbare enhet i foreliggende oppfinnelse. ALU inkluderer den logiske enhet 30, som bl.a. tjener som adder-er, troramelomkaster 31, A-registrene 32, B-registret 33
og sant-falskt- portene 34.
B-registret 33 ©r den primære tilpasning mellom den programmerbare enhet i foreliggende oppfinnelse og hovedminnet.Dette register tjener også som sekundær inngang til addereren 30 og betjener visse sekundære funksjoner forenet med de aritmetiske operasjonene.
Sant-falskt- portene 34 tjener til å gi det danne innholdet i B-registret 33 eller å gi etterpå komplementet av innholdet av registret 33* A-registrene 32 er tre funksjonelt like register. Hvert av A-registrene anvendes som et midlertidig dataminne innenfor en ALU og tjener som primærinngang til addereren 30. Hvert av A-registrene mates fra utgangen av trommelomkasteren 31. - Styreenheten i den programmerbare enhet i foreliggende oppfinnelse innbefatter tre grunnleggende seksjoner: en seksjon for å avstedkomme en tilpasning mellom ALU og minnet og perifere anordninger, en seksjon for å ivareta avkoding av M-instruksjoner og en seksjon for å motta og dirigere veien for instruksj onsstyresignaler.
Utgangen fra ALU er fra trommelomkasterne 31 og kan fores
til tilpasnings-porter 48, basisregister 45 og 46 og minnes-informasjonsregister (MIR) 47 såvel som til det alterner-
ende mikroprogramregneregister (AMPCR) 41» Utgangen tii trommelomkasterne 31 kan også fbres til skyve-verdi-regist-ret (SAR) 44.
Tilpasningsporten 48 tjener til å motta adresser og annen informasjon for overforing enten til minnesadresseregister (MAR) 49 eller til telleren 50."'Registerhasisre^i ster (<RDR>)
45 inneholder basisadressen til en 256-ordhlokk i hovedminnet. Innholdet i dette register er sammenkoplet med MAR 49 for å danne en absolutt minnesadresse. Samordnet med RBR 45 er basisregister 2 (BR 2) 46 som kan inneholde basisadressen til en 256-ordblokk i hovedminnet eller den mest signifikante del av en maskinadresse. Som i tilfellet med innholdet i RBR 45 er innholdet i BR 2 46 saramenkjedet med innholdet i MAR 49 for å danne en absolutt minnesadresse eller/fen maskinadresse. Minnesinformasjonsregistret (MIR) 47 anvendes for å bufferlagre informasjon som skrives til hovedminnet eller til et apparat. Dette register mates fra utgangen til trommelomkasterne 31.
Innholdet i mikroinstruksjonen mottas av mikroinstruksjons-dekoderen 40 for å a dressere N-minnet og for overforing til
et bokstavregister 51, skyvebelopregistret (SAR) 44 og til det alternerende mikroprogramregneregister (AMPCR) 41. Bokstavregisteret 51 anvendes som et temporært minne for bokstavtegn i M-instruksjonene og som skal anvendes som inngangssignaler til addereren 30, til regneregistret 50, eller til minnesadresseregistret 49. Skyvebelopregistret 44 holder enten regning på skyvebeløpet t eller dets ord-lengdekoraponent som skal anvendes for å regulere det antall biter hvormed data skyves i trommelomkasterne 31. Det alternerende mikroprogramregneregister 41 inneholder sprang eller tilbakegangsadresse for programsprang og underrutine-tilbakeganger innenfor M-program. Adressen i dette register er vanligvis en mindre enn den posisjon tilbakegangen er bestemt til. Dette register kan mates fra mikropragramregne-registret 42, fra trommelomkasterutgangen eller fra M-instruksjonsde"koderen 40. I samband med dette register er mikroprogramregneregistret; (MPCR) 42, som er instruksjons-adresseregneren for M-minnet. Det inneholder vanligvis den lopende M-instruksjonsadresse.
N-instruksjonsdekodingen utfores med den logiske testkrets
53 og ordreregistret 52. Funksjonene av disse sistnevnte kretser skal beskrives grundigere nedenfor. En kommentar på dette punkt er imidlertid at den logiske testkrets 53 mottar informasjon fra vilkårsregistret 54.,hvorved innholdet i dette sistnevnte register er en pakke testbare biter som virker som feilindikatorer, brytere, lokale og globale Boolske variable og forbudsindikatorer. Disse ulike vilkårs-registerbiter skal beskrives grundig nedenfor.
Operasjoner under styring av M- instruksjoner.
Innen bestanden av w- og N- instruksjoner heskrives. skal det nå gis en beskrivelse av de prinsippoperasjoner som 6kal utfores innenfor den programmerbare enhet. Det er klart at de innenfor den programmerbare enhet utforte operasjoner initieres av M-instruksjonene.
Minne - og maskinoperasjoner.
Minne - og maskinoperasjonene anvendes for å overfore data mellom programmerbar enhet og minne eller en eller annen perifer maskin. Den programmerbare enhet er sluttet til hukommelses-moduler og maskiner via en koplingsenhet ved hjelp av to-retningsskinner. Minne - og maskinadresser sendes fra den programmerbare enhets minne~adresseregister (MAR) til koplingsenheten og etter kopling til det valgte minne eller maskinen.
Djta mottatt fra et minne eller maskinen innføres i B-registret ved å tildele B-registret til skinnen for ytre data. Data sendt til minne eller maskinen sendes via minnerinformasjons-registret (MIR). Enhver minne. - eller maskinoperasjon initieres i det forste tidsintervall for M-instruksjonen og fort-settes i parallell med påfolgende M-instruksjonsiverksettelse. Således kan minne- og maskinoperasjoner helt overlappes av
den logiske enhets operasjoner. Minne»-, maskin og serie-operasjoner, som en gruppe, kan spesifiseres som enten betingete eller ubetingete innenfor hver M-instruksjon. De særskilte minne:- og maskinoperasjoner skal beskrives mer utftfrlig nedenfor.
Logiske operasjoner.
Enhver M-instruksjon kan inneholde eksakt en logisk operasjon. Disse operasjoner innbefatter binære Boolske operasjoner mellom A- og B- og mellom B- og Z-inngangene til ALU, og de fles-te av de binære Boolske operasjoner mellom Z og A. Det fins også flere ternære Boolske operasjoner imellom alle tre innganger og sanne adderingsoperasjoner mellom et vilkårlig par innganger. Den logiske form hos de ulike Boolske operasjoner eller Boolske sambandaillustreres i tabellen i fig.
19-
De sanne adderingsoperasjoner utfore» to'er komplement-addisjon mellom A- og B-inngangene til ALU. Samme operasjoner kan gjores tilgjengelige mellom B- og Z-inngangene og mellom Z- og A-inngangene^hvis så fordres. Sluttresultatet i den
mest signifikante posisjon i ALU er tilgjengelig for testing ved neste M-instruksjon og spares også i overflods-
biten i vilkårsregistret for senere testing.
ALU består av en flerhet grunnleggende logiske enheter ifølge
den dataveibredde som er valgt for en særskilt programmerbar enhet. Antallet biter i en grunnleggende enhet er valgt til åtte. Adderingsoperasjonsvariasjon oppstår fra valget av mente-sifre til hver åttebitsgruppe. For hver åttebitsgruppe kan den logiske enhet koples slik at "mente-inn" er enten "mente-ut" av gruppen umiddelbart til høyre eller en konstant. Dette valg kan ikke endres av program. "Mente-inn" kan imidlertid enten åpnes eller blokkeres av program. Den vanlige utformning lar alle utenom den ytterste høyre åttebitsgruppe motta sitt mente-inn fra gruppen til høyre. De ytterste høyregrupper har en konstant In som minne-in. Menteåpningene for alle utenom gruppen ytterst til høyre spesifiseres sammen med menten In til den minst signifikante posisjonen spesifisert separat. Trommelomkasterens virkemåte.
Det finnes fire trommelomkasteroperasjoner som kan spesifiser-
es og In må være spesifisert. Disse operasjoner er: skyv ikke, skyve beløpet i SAR sirkulært til høyre, skyv høyre ende av beløpet i SAR ut, og skyv til venstre ende av to'er komplement til beløpet i SAR.
En annen type av operasjon som utføres under styring av M-instruksjoner, er satsoperasjonene som anvendes for å avbryte andre programmerbare enheter i en oppstilling av slike enheter,
å blokkere og åpne kritiske seksjoner av en sådan oppstilling,
og å innstille lokale vilkårsbiter. Dertil inneholder M-instruksjonene ulike typer av informasjon som skal diskuteres grundigere nedenfor i samband med formatet på M-instruksjonen og andre instruksjoner.
Instruksjons format og vilkårsregistre.
Det finnes fire kilder av styreinformasjon realisert
i den programmerbare enhet i foreliggende oppfinnelse. Disse innbefatter de tre nivåene instruksjoner, nemlig S-instruksjonen, ^-instruksjonen og N-instruksjonen og innbefatter også en sats vilkårsbiter anbragt i vilkårsregistret 51* som illustrert i fig. 3. Disse informasjonskilder skal nå beskrives. S- instruksjons format.
En type av S-rinstruksjonsformat skal nå beskrives i til--slutning til fig. 13. Det er tydelig at intet enkelt S-instruksjonsformat skal foretrekkes ved foreliggende oppfinnelse. Således kan en mangfoldighet ulike instruksjonsformater anvendes, idet det eneste krav er «t der fins særskilte knipper M-instruksjoner Anordnet i M-minnet for å avkode eller tolke enhver særskilt sats S-instruksjoner. Det er enn videre klart at en flerhet sådanne M-instruksjons-knipper kommer til å ligge i M-minnet.
De i fig. 13A, I3B og 13C illustrerte særskilte instruksjonsformater er anordnet for styring av inn-utdataover-foringer; man må imidlertid regne med at disse instruksjonsformater også kan anvendes for å spesifisere rutiner som skal utfores innenfor den programmerbare enhet ved foreliggende oppfinnelse*
Inn-utbeskriveren i fig. 13 innbefatter 96 biter anordnet
i tre segmenter. Operasjonssegmentet i fig. 13a er oppdelt i to felt. Felt I spesifiserer den operasjon som skal utftir-e6/ mens felt II kan anvendes for å spesifisere adressen til den perifere maskin eller den særskilte minnesmodul til eller fra hvilken data skal overfores. Felt III i fig. 13b er et ord på åtte biter som kan anvendes som et sammen-likningsord for å a vslutte en dataoverfbring. Felt IV danner en regner som spesifiserer det antall datasegmenter som skal overfores og hvilket antall skal minskes med én og skal testes for null ved hver dataoverforing. Felt V er en sats styrebiter såsom signaler som kan anvendes for å modifisere dataoverfbringen eller spesifisere ulike vilkår. Felt VI er en instruksjonsregner som spesifiserer den absolutte adresse fra hvilken neste beskrivelse-operas/jon skal erholdes. Felt VII i styresegment II i fig. 13c anvendes for å spesifisere den adresse i minnet til eller fra hvilken data skal overfores. Felt VII kan være oppdelt i to underfelt for f.eks. å spesifisere en basisadresse-
og en relativadresseposisjon. I styresegment II anvendes bit 64 for å spesifisere at den gjeldende kanal hvis operasjon styres av beskriveren er opptatt, bit 65 anvendes for å hindre den aktuelle beskriver fra å initiere en ny inn-utsekvens på en annen kanal og bit 95 er en paritets-bit.
De således beskrevne instruksjonsformater i fig. 13 kan anvendes for å inneholde informasjon som fordres £or en særskilt kanaloperasjon innbefattende anordning for å adressere en ny sats beskriverinstruksjoner for å initiere en ny operasjon på den kanalen når den lopende operasjon er fullbyrdet. Skjont instfcuksjonsformatet på fig. 13
er beskrevet i tilknytning til en inn- utbeskriver kan disse formater også anvendes for andre rutiner. I hvilket som helst tilfelle fullfores dette beskriverformat av den programmerbare enhet i foreliggende oppfinnelse ved at felt I mottas av B-registret 33 i den aritmetisk-logiske enhet
i fig. 3> fra hvilket dette felt overfores, via addereren 30 og trommelomkasterne 31 til AMPCR 41 for å tjene til
å addressere M-minnet. Ved denne adressen oppsøkes en ny adresse san utledes til mikroinstruksjonddekoderen 40 i fig. 3, hvilken adresse spesifiserer begynnelsesstedet for den sekvens av M-instruksjonen som fordres for å iverksette den således dekodede S-instruksjon.
M- instruksjonsfornat.
Etter at det nå er beskrevet hvordan en S-instruksjon dekodes for å erholde en sekvens M-instruksjoner som iverksetter S-instruksjonen, skal nå M-instruksjonsformat-ene beskrives med henvisningiil fig. 14*
Enhver M-instruksjon krever et sekstenbitminnesord i mikro-programminnet eller M-minnet. Det fins to typer M-instruksjoner av hvilke hver dekodes forskjellig av M-instruksjonene. Den forste type M-instruksjoner spesifiserer i det minste én av seks funksjoner: en operasjon i den logiske enhet, en minnes- eller maskinoperasjon, en sann etterfblger, en falsk etterfolger og bokstaver innenfor instruksjonen. Vilkåret og etterfolgeroe må finnes nær-værende i hver M-instruksjon; de andre funksjoner er imidlertid valgfrie, men alle valgmuligheter kan være innbe-fattet i samme instruksjon. En andre type M-instruksjon inneholder bare instruksjonsbekstaver
Den forste type M-instruksjon representeres av formatet i fig. 14a. I dette format er nullbiten EN og de gjenstå-
ende biter spesifiserer en N-minneadresse ved hvilken man kan finne den hensiktsmessige N-instruksjon som inneholder de operasjons- og vilkårsstyrebiter som er speiifisert av denne forste type M-instruksjon.
Den andre type M-instrukt»jon representeres av formatene i fig. 14b og 14c. I fig. 14b er de forste tre signifikante biter alle NULLER angivende at' de gjenstående biter 3 - 15 er en
'<!> i,-- '* •• 1-' - .:*• »•>«<»>• v ' I Ot»-: •• M-minneadresse som skal overfores til AMPCR 41 i fig. 2. Hvis en av bitene 1 og 2 er en ENER og biten null er en NULL. da ~ -r. Of <. >vVi ,o/.yL'-V-•.'/ y v...'.t. ;r.->-..T i j. ;,>t i- •; >. '.:v er formatet som illustrert i l4d, der bitene 3-7 representerer et SAR-innholdsfelt når bit 3 er en ENER og bitene 9-15 representerer et. bokstavfelt når bit 2 er en ENER. Bit 8 vi,*... An Vå. * •..»:..( ' t>-r. fi .1.J ,. v. <i * • •»•/..• •; . • xsUjr.U*.
kan være enten i SAR-innholdsfeltet eller bokstavfeltet hvis begge ikke er spesifisert; når bitene 2. og 3 begge er
J":- rrj;>>;.c:.-.r)V.Ni ir j Jj io ... >■ ■ ..r1.^ r '■>!?•:.,n.o--.oi
ENere, anses imidlertid biten 8 å vare en del av SAR-innholdsfeltet.
Det fins seksten tes.tbare vilkår, av hvilke eksakt on må testes for hver M-instruksjon. Hvis testen er gunstig, vil
•■' ". : ..: <\ r»'>; u.V/ii'l
hele instruksjonen iverksettes og den sanne etterfolger tas
• Oi*"-j ■: :j?g i :■■■ L.r.wx j . i.-Oi'- !ji'-t'.i'i •; som neste .instruksjonsadresse. Hvis testen klikker vil bare de .>■ -. :r.„ ■ i ,• • •. - :ir, t« .;•>«. 5. f i . • r>r . • '•? . c" i;
vilkårlig sløse partier a v ' i ns t ruks j onén i verks'et tes , og den falske.etterfolger vil tas som neste instruksjonsadresse. Do seksten vilkår sora skal testes innbefatter de tolv vilkårsregisterbitene og fire andre vilkår, som er overskuddl "over-«~«o-;*.."- ■-■•-;«"• vt- i - :i «..';.-->i:o- iVu- kJ^ s, v<-,
flow"), eksklusivt ELLER, minst og mest signifikante bit-utsignaler fra addereren ved tidligere M-instruksjon.
De operasjoner X den logiske enhet som er spesifisert av M-instruksjonene innbefatter valg av innganger til addereren, addereropeeasjonen, trommelomkasteroperasjanen, og spesifisering av destinasjonen for utgangene fra addereren c (te- /■■ - . ^.: , f>- v.. Ui»is,.r.r: ut A- t- A Ifc 1 <i vo,-; og trommelomkasterne, hvilken destinasjon enten kan vxre i ALU eller i styreenheten. Styringene for .boks tav -, regne-og skyveregistret og "styringer for å endre instruksjoner "' «••"-. ; ■■' ••»! -.'i ;usf!tc >!*>....:
som allerede er i gang inngår også i denne gruppe.
>i.^-. -1 k-» T; .tco.l •■ ;• s i r.-jr: IJij'; j>-.. r.
De særskilte aritmetiske og logiske operasjoner såvel som minne - og maskinoperasjonene og serieoperasjonene ble diskutert ovenfor i en seksjon om "Operasjoner under Styring a<y> M-Instruksj<p>ner". Skjont disse"genere!le' operasjoner ikke skal gjentas' her ^ fins der "visse ^særskilte' 'funksjoner som er under styring av^M-iristruksjonéno^sotf bdr -besk rives. Blant disse er veivalg for datasegmenter ikke barre til,<J>A- og d-registrene i ALU men også til så fje"rnd destinasjoner som
: .'i r ' i ib /•C?/' i i^.ii v-'...1? iti--J '•■>''•■■'■: i« ri.», * ' ■
AMPCR 41, MIR 47, regnéren 50 og rlAR 49 som illustrert i
• . r:o.^Un jiSii; ?.>j::-..(jc,i n-i- ri j ro; ?.s>ni«.- •_■/«.
fig. 3. M-instruksjonene styrer ogsa overfonnged av inn-
-huldet i bokstavregistret 51 til regneregistret 50 og inkrementering av regneregistret 51. Hvis inkrementeringen av regneren 50 får regneren til å "fylles" og tilbake-stille til bare nuller, da innstilles regnerfyllingsbiten i vilkårsregistret 54» Disse veivalgsfunksjoner utfores ved å addressere passende M-instruksjoner som inneholder de nodvendige styresignaler. Innenfor hver Minstruksjon må innholdet av SAR 44 spesifiseres som et av fblgende valg: det samme^som inneholdet ved foregående instruksjon, ordlengdekomplementet av innholdet i foregående instruksjon, den ytterste hoyere seksbit-utverdien fra trommelomkasteren 31 ved foregående instruksjon, eller en bokstavverdi fra M-instruksjonen. Denne spesifikasjon ©åvirkes heller før enn etter at skyvingen har funnet sted i trommelomkasterne 31* M-instruksjonen muliggjor også to utskiftningsoperasjoner som tillater at delvis iverksette instruksjoner kan modifi-seres. Disse operasjoner er avhengig av vilkårstesten og innbefatter utskiftning av destinasjonen eller en utskiftning av instruksjonen, i tilfelle av en operasjon med utskiftet destinasjon tillater en vilkårstesting med gunstig utfall at foregående instruksjon kan fullbyrdes; hvis imidlertid vilkårstestingen klikker, virker lopende instruksjon som en nullstillingsoperasjon.
Det fia tolv minnes-og maskinoperasjoner av hvilke hvilken som helst kan initieres av en gitt M-instruksjon. Disse operasjoner innbefatter: Steng maskinen for lesning, steng maskinen for skrivning, frigjbr det for lesning reserverte minne eller maskinen, frigjor det for skrivning reserverte minne eller maskinen, les (når en maskin allerede er låst for lesning) skriv (når en maskin allerede er låst for skrivning), registrer lesning, registrer skrivning, og lagre AMPCR i M-minnet.
Som ovenfor angitt må hver M-instruksjm spesifisere neste N-instruksjonsadresse eller etterfolger i M-minnet på en av to måter, en for vilkårstestingen sant og en for vilkårstestingen falskt. Hvis begge spesifikasjonene er de samme,
da er etterfolgeren ubetinget. MPCR 42 i fig. 2 inneholder vanligvis adressen til den lopende instruksjon. AMPCR 41
i fig. 2 inneholder vanligvis adressen til den alternative
instruksjonen minus én. Det fins fire valg for hver etterfolger: gå til neste instruksjon i rekkefolgen (neste instruksjonsadresse er innholdet av MPCR pluss én og MPCR-innholdet erstattes av neste instruksjonsadresse), spring over neste' instruksjon (denne operasjon tillater vilkårlige e'ninstruk-sjonsgrener innenfor en uttrykkelig adderingsspesifikasjdn;
neste instruksjonsadresse er innholdet av MPCR pluss to og MPCR-innholdet erstattes av neste instruksjonsadresse), ta instruksjonen om igjen (denne operasjon tillater gjentatt iverksettelse inntil verdien gå et vilkår endrer seg; neste instruksjonsadresse er innholdet av MPCR som forblår uforandret), bevar syklusadressen (dette bringer adressen til løp-ende instruksjon å bli bevart i AMPCR,slik at det senere kan gjør-es sprang til lopende instruksjonsadresse pluss én), iverk-sett en instruksjon utenfor sekvensen (denne operasjon til-
later at den i AMPCR spesifiserte instruksjon kan iverksettes med umiddelbar tilbakegang til den normale turordning), begjar en prosedyre (denne operasjon avstedkommer et sprang til en i AMPCR spesifisert rutine med lopende posisjon bevart for
senere tilbakegang), og sprang (denne operasjon tillater overforing av styringen til den i AMPCR spesifiserte instruk-
sjon.
Det fins tre bokstaver som kan forekomme i M-instruksjonene: M-instfcuksjonsadresser, databokstaver og skvvebelØD • Por instruksjoner av typen én behoves ingen tilkommende tid utover tiden for den logiske enhet for å bearbeide bokstavene. For instruksjoner av typen to utelukkende bestående av bokstaver behoves ikke mer enn ett klokkeintervall. M-instruksjons-adressebokstavene er de adresser som krever et helt M-instruksjonsord som derfor ikke kan anvendes med instruksjoner av typen en eller med andre bokstaver Databokstaver- kan anvendes i instruksjoner av typen to enten alene eller sammen med et skyvebeløp.. Databokstaven• mates i bokstavregistret 51 i fig. 2 innen noen logisk enhets operasjon i instruksjon-
en utfores. Skyvebeløpbokstavene mates i SAR 44 i fig. 2 innen noen logisk enhets operasjon i instruksjonen utfores. - Vilkårsbiter.
Som ovenfor angitt,er en av de fire informasjonskildene i
den programmerbare enhet i foreliggende oppfinnelse de ytre vilkårssignaler som fores til vilkårsregistret 54 i fig. 2.
Ettersom disse vilkårsbiter påvirker iverksettelsen av M-instruksjonene via N-inslruksjonene, skal de respektive vilkår som representeres av disse biter, beskrives for det gis noen beskrivelse over formatet av N-instruksjonene. -
Som ovenfor angitt er vilkårsregistret den sats av tolv testbare biter som virker som feilindikatorer, brytere,
lokale og globale Boolske variabler og forbudsindikatorer. Formatet til vilkårsregistret er illustrert i fig. 16. Repner-overskuddsbiten (COV) er en bit som anvendes for å erindre overskudd fra regneregistret 50 i fig. 2. Denne bit innsettes n&rsomhels t en inkrementregneoperasjon bringer regneren å stilles tilbake til bajre nuller. Biten tilbakestilles nårsomhelst den testes. Den tilbakestilles også nårsomhelst regneregistret mates enten fra trommelomkasterutgangen eller bokstavregistret 51 i fig. 2. Hvis den innsettes og tilbakestilles i samme tidsintervall vil tilbakestillingen dominere. Hver prove på denne bit tester i virkeligheten det "logiske ELLER" hos denne bit med det sanne overskudd fra regneren.
Biten "les alt" (RBC) er en bit som angir at data er dispo-nible for å tidsinnstilles i B-registret. Denne bit innstilles av minnesmodulen eller den maskin til hvilken den programmerbare enhet avleses som tilsluttet. Alle mas-
kiner kan innstille denne bit. Biten "les alt" tilbake-
stilles ved testing.
Biten"minne-adresseregistret ferdig" (MAR) er en bit som anvendes for å angi at MAR kan mates på ny. Den innstilles av sentralenheten eller en maskin under stengnings-, les-
eiler skriv-operasjon. Denne bit tilbakestilles ved test-
ing. Sålenge biten forblir tilbakestilt etter at ovenstå-
ende operasjoner er initiert, angir den at maskinen eller minnesmodulen er opptatt.
Feil ved maskin eller minnesmodul for lesning (ERR) er en
bit som angir at der er oppdaget feil i den til den programmerbare enhet for en leseoperasjon tilknyttede minne. - modul eller maskin. Biten innstilles av maskinen eller sentralenheten og tilbakestilles ved testing. Biten representerer det "logiske ELLER" av alle feilsignaler fra maskinen som krever umiddelbar oppmerksomhet. Dette innbefatter minnesparitetsfeil, ugyldige adresser i perifere minner, maskin eller minner ikke tilsluttet (et signal fra
sentralenheten), oy ef f ek tbortf all i maskinen. Tilstander såsom "hurtigskriveren uten papir" inngår ikke (noen typer av maskinfeil går bare til kontrollpanelet).
Feil i maskin eller minne-ismodul f»r skrivning (ERW) er en bit som virker som ERR foruten at den er forbundet med den minne - modul eller maskin som er sluttet til denne programmerbare enhet for en skriveoperasjon.
Forste ytre foresporselsbit (EXl) er en bit som angir en ny foresporsel fra en ytre maskin eller annen programmerbar enhet. Sådanne forespørsler skulle normalt kunne betjenes av hvilken som helst programmerbar enhet. Biten innsettes samtidig i alle programmerbare enheter Av maskinen. Den tilbakestilles lokalt innenfor hver programmerbar enhet ved test-
ing.
Den andre foresporselsbit (EX2) er en bit som angir en foresporsel fra en maskin som er opptatt men ikke tilknyttet til noen programmerbar enhet. Angivelser pleier innbefatte sådanne vilkår som "båndet oppe i fart" fra en magnetisk bånd-
enhet. I dette tilfelle pleier bare den programmerbare enhet som initierer båndoperasjonen å avvente en rapport. -
MIR ferdig "biten (MIR) angir data mottatt av minne eller en maskin etter en skriveoperasjon. Denne bit tilbakestilles lokalt innenfor hver programmerbar enhet ved testing.
Den forste globale vilkårsbit (GCl) er en bit som når den ©r innstille<t>, angir en vellykket gjennomfort avstengning. Biten kan innsettes i hbyst en programmerbar enhet ad gangen. Den innsettes og tilbakestilles lokalt innenfor hver programmer-
bar enhet. Testingen av denne bit tilbakestiller den ikke. -
Den andre globale vilkårsbit (GC2) avstedkommer en liknende funksjon som den forste globale vilkårsbit (GCl).
Den forste lokale vilkårsbit (LCl) er en bit som anvendes for temporær lagring av Boolske vilkår innenfor en programmerbar enhet.Den innstilles lokalt av den programmerbare enhet og tilbakestilles lokalt ved testing.
Den andre lokale vilkårsbit (LC2) er likedan som den forste lokale vilkårsbit (LCl). De særskilte oppgaver for vilkårs-biten kan endres for systemer med spesielt formål. Med unn-tagelse av globale vilkårsbiter er alle biter likedanne foruten hva som angår deres ytre tilslutninger. Bare tre (MIR, LCl, LC2) kan imidlertid innstilles lokalt.
N- instruks. jonsf oraiat.
N^instruksjonsformatet skal nå beskrives i tilknytning til fig. 15. Dette format består av ulike styresignaler som fordres for å iverksette de ovenfor beskrevne M-instruksjoner. Det er tydelig at N-instruksjonsforraatet innbefatter styresignaler, hvilke signaler ikke frembringes direkte av kretser men er lagret i en instruksjonsform i N-minnet for å oppsokes alt etter behov, hvilken oppsokning er i overensstemmelse med den N-minne adresse som inneholdes i en M-instruksjon av typen én. Skjont den foretrukne utforelse av foreliggende oppfinnelsde anvender de ulike biter av N-instruksjonen di reii te som styresignaler, ligger det innenfor området for foreliggende oppfinnelse at de ulike biter i N-instruksjonen kan være i kodede former hvorav de ulike kombinasjoner angir frembringelse av de på hensiktsmessig fordrede.
Som angitt i fig. 15 skjer en fullforing av en M-instruksjon under tre tidsfaser. Således er de av N-instruksjonen anviste styresignaler særskilte i tre grupper: de som behbver anvendes under fase 1, de som behover anvendes under fase 2 og 3, og de som behbver anvendes uøder fase 3.
Tidleggingen mellom de ulike faser skal beskrives grundigere nedenfor i samband med visse tidsstyringsbblgeformerj disse faser skal imidlertid nå generelt beskrives så langt det behoves for å belyse betydningen av de ulike styresignaler som inngår i N-instruksjonsformatet i fig. 15*
Som ovenfor angitt ,fins det tre tidstyringsfaser og det fins også to typer M-instruksjoner. <i>nstruksjoner av type en vil alltid ha styresignaler av fase 1 og fase 3, og kan i noen tilfelle ha styresignaler av fase 2. <i>nstruksjoner av type to har bare styresignaler av fase 1. Styresignaler av fase 1 for instruksjoner av type to fremfores for å mate bokstavene til AMPCR, LIT eller SAR slik som spesifisert.
M-instruksjodee av type to krever alltid et tids-
intervall og overlapper alltid fase 2 av foregående instruksjoner av type en.
Fase 1 forekommer i hver instruksjon av type en og krever et tidsintervall . Den overlapper alltid fase 3 av foregående instruksjon av type en (det kan finnes mellomkomraende instruksjoner av type to). Fase 1 anvendes for vilkårs--testing, fremtagning av neste instruksjonsadresse, initiering av minnes- og maskinoperasjoner, matnigg av instruksjons-Variable til LIT eller SAR, og innstilling for en
operasjon i den logiske enhet.
Fase 2 forekommer i noen M-instruksjoner av typen en og ford-rer et variabelt antall tidsintervaller ., Den anvendes for å forsinke fase 3 for utsending av mentes i fre, instruksjons-bufferlagring, instruksjonsmodifisering, og iverksettelse
av M-instruksjon av type to. Når neste M-instruksjon er av type to, holdes lopende M-instruksjon av type en i fase 2 1 et tidsintervall, mens M-instruks jonen av type to utfores. Fase 3 forekommer med hver M-instruksjon av type én og krever et tidsintervall. Den er alltid fase 1 av neste M-instruksjon av type 1 (det kan finnes meilomkommende instrukp sjoner av type 2). Fase 3 anvendes for å utfore den logiske enhets operasjoner inklusive destinasjonsvalg.
De ulike styresignaler i N-instruksjonene kan oppdeles i fea grupper avhengig av den fase i hvilken de iverksettes. Styringer bare anvendt i fase 1.
Disse styringer iverksettes direkte fra M-instruksjonen. Vilkårstesting, spesifikasjoner vilkårlig-uvilkårlig, utskiftningsoperasjoner, etterf61geroperasjo©er, initiering av minnes- eller maskinoperasjoner, vilkårsbit som innstiller SAR-spesifikasjoner danner denne gruppe.
Styringer anvendt i fase 2 ,
Bare den logiske enhets operasjoner (eksklusive destinasjonsvalg) utfores i fase 2. Avhengig av bredden ved en sann adderingsoperasjon, tidsverdien for den programmerbare enhet og hvorvidt trommelomkasterens utgang behoves, kan to istedenfor ett tidsintervall fordres for å fullbyrde den logiske enhets operasjon. I sådanne tilfelle inngår en fase 2 på ett tidsintervall.. Behovet for tidtillegg er uttrykkelig angitt i instruksjonen under varighetsstyringen.
Når hentingen av neste instruksjon fra M-minnet er for-sinket, forblir den instruksjon av type 1 som er igang med å iverksettes (det fins alltid en) i fase 2 inntil hentingen kan utfores. Denne forsinkelseslengde bestemmes ikke av programmereren og anvises dynamisk av mikroprogrambuffer - • minnet eller M-minnet.
Når neste M-instruksjon inneholder en utskiftningsoperasjon holdes lopende instruksjon av typen <1> i fase 2 i et tids--intervall for å tillate iverksettelsen av fase 1 i utskift-ningsoperasjonen. Behovet for denne forsinkelse bestemmes av utskiftningsstyringene i neste instruksjon.
Styringer som anvendes i fase 2 og fase 3»
Disse styringer iverksettes fra ordreregistret. Denne gruppe henforer seg bare til den logiske enhets operasjon og består av A-registervalget, B-registervalget, C-inngangsvalg, xaMaxxxBaasx addereroperasjon og trommelomkasteroperasjon. - Styringer som bare anvendes i fase 3.
Disse styringer iverksettes fra ordreregistret. Denne gruppe består av A-registerdestinasjonen, B-registerdestinasjonen, fjerndestinasjonen og variableoverførings- og regneoper-asjoner.
Variablene i M-instruksjonene mates inn i spesifisert register (AMPCR, SAR eller LIT) i det forste tidsintervall i instruksjonen. For instruksjoner av type én er dette fase 1; for instruksjoner av type to er dette fase 2 av den instruksjon av type en som da er under iverksettelse.
En tabell av de viktigere styrebiter (eller -signaler) som inngår i N-instruksjonsformatet er vist i fig. 20 med en liste på deres funksjoner.
Ytre styringer innstiller vilkårsregisterbitene og initieres av ytre maskiner, minner og andre programmerbare enheter. De spesifikke individuelle styresignaler skal beskrifces grundigere nedenfor i samband med de ulike kretser til hvilke disse styresignaler fremfores.
Detaljert beskrivelse av spesifikke kretser.
I fig. 3 gis en skjematisk fremstilling av ALU til foreliggende oppfinnelse og som er mer detaljert enn i fig. 2. Et karakteristisk trekk ved foreliggende oppfinnelse er som be-kjent at man anordner aritmetiske og logiske kretser bestående av en flerhet logiske modulenheter. Kretsene i fig. 3 omfatter et logisk system anordnet i noe som skal kalles en seksjon bestående av to halvseksjoner 60 og 61. Hver halvseksjon er anordnet for i parallell å motta datasegmenter på åtte biter. Dermed er den i fig. 3 illustrerte logiske seksjon innrettet til å motta datasegmenter på seksten biter. Som ytterligere illustrert i fig. 3/er hver logisk halvseksjon 60 respektive 61 under styring av logeke styringer 68 og 69 som i sin tur påvirkes av styresignaler mottatt fra N-dekoderen 55 i styredelen til den programmer-
-bare enhet som illustrert i fig. 2.
Den logiske halvseksjon 60 innbefatter de logiske grupper
64 og 65 såvel som minne-isifferenhetene 74 og 75» Likeså innbefatter den logiske halvseksjon 61 de logiske grupper 66 og 67 såvel som minne-sifferenhetene 76 og 77» Hver logisk gruppe er anordnet for å motta inngangsdatasegmenter på fire biter. Som illustrert i fig. 3;utforer hver minne'-sifferenhet en minne-siffertransportfunksjon for sin til* svarende logiske gruppe. Dessuten tilgodeses minne-siffer-transportfunksjonen for hver halvseksjon 60 og 61 av minne-siffertransporthalvseksjonene 80 respektive 81.
Den gjenstående, i fig. 3 illustrerte del av ALU innbefatter A-registrene 32 og B-registret (og sant-falsk-portene ) 33. A-registrene 32 kan innstilles under styring av A-register-styringene 70 og 71 og B-registret er under styring av B-registerstyringen 72. Sant-falsk-portene ,som skal diskuteres nedenfor, er under styring av signaler mottatt fra styredelen av systemet via styreskinnen 72 som illustreres i fig. 3.
Der det har vist seg hensiktsmessig er samme sifre anvendt ved både fig. 2 og 3 for å identifisere de registre som forekommer ^ de to figurer.
I tilknytning til fig. 4 kan beskrives en alternativ ALU
som består av to logiske seksjoner eller fire logiske halvseksjoner. Med dette format kan ALU motta datasegmenter på 32 biter. Som ved den i fig. 3 illustrerte utforelse har hver av de logiske halvseksjoner 60 .... 63 koordinert med seg respektive minne*»siffertransporthal vseksjon 90 .... 93» Sammenkoplingen mellom de ulike transporthalvseksjoner skil-ler seg fra den i utfbrelsen i fig. 3 på en måte som nå
skal beskrives i korthet. Hver transporthalvseksjon mot-
tar gruppesignaler fra de to minne-sifferenheter i tilsvarende logiske halvseksjon som illustrert i fig. 3» og tilbakefdrer gruppeminne—siffersignaler til disse minne. - sifferenheter. Dertil frembringer hver minnetnsiffertransport-halvseksjon seksjon-send- og seksjon-frembring-signaler som sendes til hver minne-siffertransporthalvseksjon i systemet og som er det mest signifikante av hvert par av minnet.-siffertransporthalvseksjoner. Således er i fig. 4 det mest signifikante av hvert par av minnet-siffertransport-halvseksjoner minne»siffertransport 90 og 92, mens respektive
minne-»siffertransporter 91 og 93 er det minst signifikante i det par der de ligger. Omvendt vil det minst signifikante i hvert par frembringe gruppesignaler som oversendes til den mest signifikante i det paret. Som angis i fig. 4,overfores de av dejrf mest signifikante i paret frembragte seksjons-signaler til de andre mest signifikante i parene ved hjelp av forbindelsen 94 og 95, mens grupperainne-sifre mellom halvseksjonene overfores fra de minst signifikante i paret til de mest signifikante i det paret ved hjelp av forbindelsene 96. I fig. 3, der bare ett par halvseksjoner er anvendt, sendes de mellom halvseksjonene overforte gruppesignaler tilbake via forbindelsen 82 fra den minst signifikante i paret til den mest signifikante. Som ytterligere illustrert i fig. 3, anvendes i realiteten seksjonsminne-siffersignalene av den minnersiffertransporthalvseksjon som frembringer de signalene.
Andre forskjelligheter fins mellom de ulike utforelser som vises i fig. 3 respektive 4* En sådan er den måte på hvilken de ulike styresignaler anvendes for å påvirke ulike logiske halvseksjoner. I utfdrelsen i fig. 3 er hver logisk halvseksjon forsynt med sin egen logiske styreenhet og således kan hver logisk halvseksjon anvendes separat. I utfbrelsen i fig. 4
er den mest signifikante halvseksjon 60 og den minst signifikante logiske halvseksjon 63 hver forsynt med separate styringer 98 respektive 99. De mellomliggende logiske halvseksjoner 61 og 62 er forsynt med samme pakke styresignaler fra mellom-styringen 97. Hver av de respektive logiske styringer påvirkes under innvirkning av styresignaler mottatt fra styredelen i systemet i overensstemmelse med formatet i respektive N-instruksjoner, noe som skal diskuteres grundigere neden-
for.
Som angis i fig. 2 er addereren eller den logiske enhet også forsynt med en tredje inngang, nemlig en Z-inngang. Som angis både i fig. 3 og 4, er X-innverdiene det innhold som er mottatt fra regneregistret 50 i fig. 2, hvilket innhold fremfores til den mest signifikante logiske halvseksjon,og videre det innhold som er mottatt fra bokstavregistret 51
i fig. 2, hvilket innhold fremfores til den minst signifikante logiske halvseksjon.
De logiske grupper er fremstilt i fig. 3 og underforstås å være likedanne i fig. 4. Kretsene i en individuell logisk gruppe er illustrert i fig. 5 og skal nå beskrives. I hovedsaken omfatter kretsene i fig. 5 en flerhet OG-iPorten
og IKKE HELLER-por ter. Man ser at krete ene i fig. 5 kan deles i fire pakker av kretser av hvilke hver er innrettet
for å motta innverdier av databiter av ulike signifikante nivåer og også for å motta respektive styresignaler
.... C^. Mellomutverdiene X,Y,K<*> og deres komplement mottas fra det forste nivå av porter og fremfores til det andre nivå hos disse porter for å avstedkomme et frembringelsessignal, sendesignal og sumøignal for hver av de fire signifikante bitseksjoner. De av kretsene i fig. 5 respektive realiserte Boolske ekvasjoner er oppregnet i fig. 5.
A-innsignalene er de signaler som mottas fra A-registrene,
som skal beskrives grundigere nedenfor. B-signalene er de signaler som mottas fra B-registret eller deres komplement* - Z-innverdiene er de innverdier som mottas enten fra regneren
50 eller bokstavregistret 51 i kontrolldelen til den programmerbare enhet som illustreres i fig. 2. De inverse mentesignaler K mottas fra de respektive . mentetransportkretser som skal beskrives grundigere nedenfor. Respektive S-signaler er de logiske utgangssignaler som
fores enten til trommelomkasterne 31 eller til B-registret 33 som angitt i fig. 2. G-signalene og T-signalene er signaler som fores til de respektive mentetransportkretser som i sin tur frembringer de K- mentesignaler som beskrevet ovenfor.
Det er tydelig at S-utgangssignalene skal representere ulike Boolske uttrykk i overensstemmelse med de-særskilte utvalgte styresignaler ... C_ som avgitt til den logiske gruppe i fig. 5 som reaksjon på avgivning av N-signaler til de logiske styringer 68 og 69 i fig. 3» N-signalene mottas fra N-iekoderen 55 i fig. 2 og fullforer en på forhånd gitt N-instruksjon•
Av fig. 5 kan man se at hver signifikant -bit-seksjon i den
i figuren illustrerte logiske gruppe må motta et» mente-signal fra foregående seksjon og fbre mente-signalet til neste seksjon i rekkefolgen. De gruppemente-siffertransportkretser som avstedkommer disse signaler er illustrert i fig. 6, som nå skal beskrives. Kretsene er inn-
rettet for å motta et mentesipnal GC^n fra neste minst signifikante logiske gruppe via de halvseksjonsmentetransport-kretser som skal beskrives nedenfor. Disse kretser mottar også
de ulike bitsendesignaler BT op bitgenerende signaler BG fra de respektive seksjoner av deres tilhørende logiske gruppe. Gener-eringen av disse signaler ble beskrevet i forbindelse med fig. 5. Ved mottagelsen av disse signaler frembringer kretsene i fig. 6
i sin tur de nødvendige inverse mentesignalene BC som fremføres til de ulike seksjoner av den tilhørende logiske gruppe som mentesignalene K som angitt i fig. 5- Som videre illustrert i fig. 6 frembringer disse kretser også det inverse pruppetverrsignal GT
og det inverse pruppepenerte signal GG, hvilke signaler fremføres til mentetransporthalvseksjonene som angitt i fig. 3 og som skal beskrives mer grundig nedenfor. De respektive Boolske ligninger representerer de funksjoner som er realisert av kretsene i fig. 6, som nettopp er kretsene i de respektive menteenheter 7^..••77»
som er illustrert i fig. 3.
Mentetransporthalvseksjonene 80 og 8l illustrert i
fig. 3 og 90 ... 93 illustrert i fig. ^ er vist i detalj i fig.
7, som nå skal beskrives nærmere. Som angitt i fip. 3 op h vil hver mentetransporthalvseksjon motta eller ikke motta sipnaler fra neste minst signifikante mentetransporthalvseksjon, avhengig av hvorvidt den er den mest signifikante eller minst signifikante mentetransporthalvseksjon i den logiske seksjon av hvilken den er en del. Omvendt vil hver mentetransporthalvseksjon overføre ulike typer av sipnaler til de andre mentetransporthalvseksjonene, avhengig av dens plass i den hierarkiske rekkefølge. Kretsen i fig. 7 er innrettet til å motta op gi de ulike nødvendige signaler uansett deres rekkefølge i hierarkiet. Derfor vil disse forbindelsesledninger illustrert i fig. 7 behøves eller ikke be-høves . Således er kretsen i fig. 7 innrettet til å motta inverse gruppegenererte signaler GG som er fremstilt med indekser av ulike tall når de kommer fra en mindre signifikant gruppe av menteenheter op er gjengitt med likenummererte indekser når de kommer fra en mer signifikant gruppe menteenheter. Kretsen er også innrettet til å motta inverse
gruppesendesignaler GT som også or forsynt med odde- og liketallsindeks i overensstemmelse med nettopp beskrevne ord-ning.. Til gjengjeld frembringer kretsen i fig. 7 gruppe-mentesignaler GC som også er forsynt med odde- eller liketallsindeks avhengig av deres signifikans, idet disse signaler fremfores til de respektive gruppemente-
enheter såsom illustrert i fig. 3. Når mentetransport-halvseks jonen er en mindre signifikant, er den anordnet for å forsyne deste mest signifikante med gruppeendesignalene GT og gruppefrembringelsessignalene GG. Når kretsen er
en mest signifikant transporthalvseksjon går den de respektive seksjonsendesignalene ST og seksjonsfrembringelses-signalene SG til alle de mer signifikante minnessiffer-transporthalvseksjonene i ALU som angitt i fig. 4. I overensstemmelse dermed er kretsei i fig. 7 også anordnet for å motta sådanne seksjonsfrembringelses- og seksjonsendesignaler fra de andre mest signifikante minnessiffertransporthaiv-seksjonene for å danne en invers seksjonsminnessiffersignal SC^n> Det er tydelig at denne sistnevnte fanksjon ikke tilgodeses når kretsen er en mindre signifikant minnessiffer-transpor thai vseksjon. Likeså kommer kretsen ikke å være fol-som for gruppesende- og gruppefrembringelsessignaler fra neste mindre signifikante minnessiffertransporthalvseksjon og, i denne situasjon, kommer de respektive inngangsledning-er som er anordnet for denne funksjon permanent å få seg på-tvunget de nære signaler NULL og EN som angitt i fig. 7« - Det bor bemerkes at frembringelsen av gruppeminnessiffer-signaler til de minst signifikante bitposisjonene i hver logisk halvseksjon kan forhindres av styresignaler N 15 mottatt fra respektive logiske styringer 68 eller 69 i fig. 2.
De respektive Boolske ekvasjoner som representerer de av kretsen i fig. 7 realiserte funksjoner er"anfort i fig» 7.
De ulike logiske styreenheter 68 og 69 i fig. 3 og 97, 98
og 99 i fig. 4 skal nå beskrives i tilknytning til fig. 8. Sådanne styringer er i grunnen nettopp standardavkodere bestående av en flerhet OG- og IKKE HELLER-grinder. Kretsene i fig. 8 fremvises imidlertid for å gi en bedre forståelse av de ulike N-styresignaler som erholdes fra respektive N-instruksjoner. De særskilte signaler som anvendes for å
styre respektive logiske grupper i fig. 3 innbefatter fem N-signaler av hvilke et er et inhibisjonssignal. Ved avkoding av signalene N^, N1Q, <N>ll og N12 frembringes syv understyre-signaler .... C og fores til respektive logiske grupper som angis i fig. 5 og beskrives i tilknytning til denne figur. Et åttende signal N 15 frembringes også av den logiske krets
i fig. 2 og fores til den minnessiffertransporthalvseksjon som svarer til den logiske halvseksjon for å inhibere frembringelse av den minst signifikante gruppeminnessignal for denne logiske halvseksjon som ovenfor beskrevet i forbindelse med fig. 7» Et annet inhibisjonssignal anvendes for å inhibere frembringelse av C,.- og C^-signalene. Med tilfeldig henvisning til fig. 5 bor det bemerkes at C^- og C^-signalene tjener til å iverksette Z-innverdien til den logiske gruppe. Således tjener inhibisjonssignalet tjl styrekretsene i fig. 8 til å inhibere Z-inngangen til de tilsvarende logiske kxsfcxx grupper. De ulike funksjoner som presteres av respektive logiske grup-pers understyring av N-styresignaler er anfort i fig. 20 under rubrikken addereroperasjon.
Andre eksempler på den måte hvorpå N-styresignalene i N-instruksjonsformatet anvendes for å styre ALU-operasjoner er illustrert i fig. 9, 10 og 11 som respektive illustrerer kretsene i A-registrene, B-registret og trommelomkasteroperasjoner.
Som illustrert i fig. 9 består de tre A-registrene Al, A2 og A3 henholdsvis av tre pakker flip-flop A^ .... A^g;
<A>21 A28' <A>31 <A>38<*>
Som angitt i tabellen på fig. 20 er A-registerinngangene under styring av to N-signaler N21 og N22 som respektive tilgode-ser funksjonen å holde A-registrene uforandret, å anordne en inngang til Al-registret, å anordne en inngang til A2-registret og å anordne en inngang til A3-registret. Som angitt i fig. tilfores respektive styresignaler N21 og N22 N-avkoderen 110 som i sin tur avstedkommer tre utgangssignåler C-j^
og C^^ som respektive tilfores flip-flopene i Al-registret, A2-registret og A3-registret. Disse signaler kai være av
den type som normalt tvinger respektive flip-floper å tilbakestilles ved klokketid og dermed forhindrer avstilling av flip-flopene og dermed er funksjonen for styresignalene <N>21 °g <N>22 å inhibere en eneste av C-signalene og dermed til--late at datasegmenter kommer inn via dataskinnen 88 for å lagres i en av registerpakkene av flip-floper.
Som angitt i tabellen i fig. 19 er A-registerutgangene under styring av styresignalene H^ og N2 og tjener til å realisere utlesningen av Al-registret, A2-registret og A3-registret eller for å avstedkomme utnulling. Den måte hvorpå disse operasjoner er realisert er også illustrert i fig. 9 der styresignalene N.. og N tilfores N-avkoderén 111 som i sin tur tilveiebringer fire utgangssignaler CQ .... c^2* Signalene <C>9' <C>10<*> S.1 t:*-ifores respektive OG-grinder for å styre utlesningen av respektive flip-floper i registrene A1,A2,A3. Signalet C^2 tilfores den flerhet OG-grinder med en inngang som hver for seg vil frembringe utgangssignaler som invers-eres av IKKE HELLEB-grindene som illustrert i fig. 9 for å tilveiebringe NULL-utverdien. Utverdiene fra IKKE HELLER-grindene fores via skinnen 84 til de respektive logiske grupper som illisbrert i fig. 3 og 4« I tilslutning til fig . 10 skal nå beskrives den måte hvorpå styresignalene manovrerer B-registrets operasjoner. Som angitt i tabellen på fig. 20 styres B-registerinngangene av tre N-signaler, <N>1<Q> og <N>2Q. I fig. 10 tilfores disse signaler N-avkoderen 112 som i sin tur frembringer de respektive signaler .... Man nusker fra tidligere disku-sjon av B-registret at B-registret kan motta data fra hovedminnet, fra addereren, fra trommelomkasterne og også motta firebits- og åttebitsminnessifre. Således tjener signalet C.., til å sette den hensiktsmessige OG-grind i tilstand til
å motta et signal over inngangsledningen 107 representerende en åttebitsminnesoppgave, styresignalet tjener til å sette passende OG-grind i tilstand til å motta signalet over inngangsledningen 108 representerende en firebitsminnes-oppgave, signalet C^g tjener til å sette respektive OG-grind i tilstand til å motta databiter over de respektive inngangs-Icedninger 106, signalet C.- tjener til å sette respektive OG-grinder i tilstand til å tilgodese mottagelse av åttebits-datasegmentene for respektive ledninger 105 og signalet C2Q tjener til å sette de respektive OG-grinder lbfckxJt^tilstand til /til-^°molta<g>elsen av databiter over respektive ledninger 104. Skjont ledningene 104 bare ec forbindelser, utgjor de dataskinnen 88 fra trommeloarkasteren hvilken dataskinne også innbefatter respektive ledninger 106 fra addererutgangen. Således
tjener de ulike C-signaler til å innmate de ulike innkommende databiter til de respektive flip-floper B, .... Bg som danner B-registret. Som angitt i fig. 10 tjener C^-styresignalet til å innstille respektive flip-floper ved klokketid.
Som angitt i tabellen på fig. 19 under rubrikken B-register-utganger, styres disse operasjoner av styresignalene N3 .....NoQ, Disse respektive styresignaler sendes fra styredelen i den programmerbare enhet i foreliggerub oppfinnelse til de tilsvarende grinder i fig. 10, hvis utganger danner dataskinnen 85 som forbinder B-registret med de respektive logiske enheter.
Det bor bemerkes både i samband med fig. 9 og 10 at der der illustrerte registre bare er åtte biter brede. Registrene kan naturligvis imidlertid utvides for å ta seg av hvilken som helst spesiell databredde og den eneste endring som kan behoves skulle være anordningen av ekstra matere for å bestyre tilstrekkelige stfcbmsignaler, hvilke matere ikke desto mindre skulle være under styring av respektive N-signaler såsom ovenfor beskrevet.
Fig. 11 viser skjematisk trommelomkasterne, av hvilke to anvendes ved foreliggende oppfinnelse. Disse omkastere er av den type som beskrives i US-soknad nr. 789.886 fra Stokes et al, innlevert den 8. januar 1969 og overdratt til inne-haveren av foreliggende soknad. Derfor skal trommelomkasterne ikke diskuteres i detalj utover for å angi deres styring. Kretsen i fig. 11 er innrettet til å motta åttebits-datasegmenter fra dataskinnen 88 og å skifte sådanne biter til hoyre eller venstre med et belop som er spesifisert av innholdet i SAR 44 i fig. 2. Signalene fra SAR 44 tilfores en avkoder (ikke vist), som, under styring av signalene <N>l6 og N17 ^ra induksjonen, utvelger den hensiktsmessige
av styreledningene C^ ,... C alt etter behovet for å iverksette onskede skiftninger. Hvis således SAR-innholdet spesifiserer et skift på tre biter og N-instruksjonen spesifiserer et hdyreskift, vil avkoderen fremfore et passende signal til ledningen C som angitt i fig. 11. Hvis N-instruksjonen spesifiserte et venstreskift (på tre biter),
så skulle avkoderen fore et signal til ledningen C . Det resulterende skiftede datasegment ledes deretter tilbake til dataskinnen 88. De av Nlo~°g N^-signalene spesifiserte
operasjoner er anfort i tabellen på fig. 19 under rubrikken skiftoperasjoner. Naturligvis kan omkasteren i fig. 11 utvides for å motta datasegmenter på storre antall biter når dataveibredden av den programmerbare enhet i foreliggende oppfinnelse utvides på samme måte.
Fig. 19 og 20 skal nå i korthet berores. Som beskrevet i forbindelse med formatet av N-instruksjonen i fig. 15, består denne instruksjon forst og fremst av styresignaler som behbver anvendes under ulike operasjonsfaser av «fcy»»«- rg»»v»- » den programmerbare enhet i foreliggende oppfinnelse, og som skal beskrives grundigere nedenfor. De tre pakker seksjonsstyre-eller N-signaler er de som er anvendt i fasene 2 og 3, de som er anvendt i fase 3 og de som er anvendt i fase 1. Fig.
19 er en liste på de N-styresignåler som anvendes under fase
2 og 3» Fig. 20 er en liste på de viktigste N-styresignalene som anvendes under fase 3* Som angitt i den tidligere del av denne beskrivelse, oppsokes N-instruksjonene fra N-minnet og avkodes eller iverksettes hovedsakelig av N-avkoderen 55 som illustrert i fig, 2. Disse kretser vises i mer detaljert fora i fig. 17 og skal nå beskrives.
N-instruksjonen av det i fig. 16 illustrerte format mottas fra N-minnesutregistret 115 og sendes til de ulike registre som tjener til å danne en logisk testenhet 53 som illustreres i fig. 2. Som angitt av instruksjonsformatet i fig. 16, innbefatter N-instruksjonen styringer av fase 1, styringer av fase 2 og 3 og to andre biter som spesifiserer et den logiske enhets operasjonsvilkår og et vilkår på to klokkeintervaller. De særskilte styringer i fase 3 og styringene i fase 2 og 3 er i noen utstrekning beskrevet ovenfor. Styringene i fase 1 er imidlertid ikke således beskrevet. Det skal bare nevnes at styringene i fase 1 er de signaler som fordres under den forste fase i instruksjons!verksettelsen og de skal nå beskrives i den grad sådanne signaler fordres for å tilpasse de ulike vilkårsregistre i fig. 17. Således vil en bit av styrefeltet i fase 1 spesifisere hvis eller hvis ikke de sanne eller falske tilstander hos de ulike vilkårsbiter i vilkårsregistret 54 skal testes. Dette signal vil overfores til vilkårsvelgeren 118 via tilkopleren 142. Fire andre biter av settet i fase 1 anvendes for å spesifisere et særskilt vilkår som skal testes fra de ulike vilkårsbiter
•i vilkårsregistret 54 og disse fire signaler overfores til vilkårsvelgeravkoderen via ski taleforbindelsen 141. Ytterligere en annen pakke av kontrollbiter i feltet fase 1 anvendes for å spesifisere en ny M-instruksjonsadresse og disse biter sendes via tilkoplinger 139 og 140 til minnes-registers.tyrevelgeren 128 som tiår den er tilpasset av vil kårsvelgeren 118 bringer M-programadresseregistret (MPAD) 129 å initiere at en ny adresse sendes til M-minnet via enten MPCB 42 eller AMPCR 41 i fig. 2. Styrefeltet i fase 1 innbefatter videfce biter som spesifiser er en minnes- eller en maskinoperasjon eller en pakke-. operasjon slik som beskrevet i ovenstående generelle beskriv else og disse biter sendes via tilkoplinger 136 og 137 til tilpasningsregister 127 slik at når et tilborlig vilkår testes av vilkårsvelgeren 118, vil vilkårstilpasningsregistret 127 overfore denne opplysning til styreenheten og også innstille vilkårsavkoderen 129 til å innstille den tilbSrlige vilkårsbit i vilkårsregistret .54. fin annen bit i styrefeltet i fase 1 er en som fordres for å angi et ord-komplemént av innholdet i SAR-registret 44 i fig» 2. Denne bit overfores til vilkårstilpasningsregistret 126 via tilslutning. 34 for å aktivere komplementet i SAR 44. Når en . av den logiske enhets operasjoner skal utfores, overfores - den tilbbrlige bit i N-instruksjonsformatet via tilslutning 132 for å innstille vilkårsregistrene 123 og 124 for overforingen av styringene i fase 2 og 3 og overforingen av styringene i fase 3 til ordreregistret 52. Når en instruksjon på to klokkeintervaller skal iverksettes, angis dette av den forste bit i N-instruksjonsformatet og overfores til
OG-grindene 125 for å klokkes til ordreregistret 52. Ordreregistret vil nå inneholde de tilbbrlige styringer i fase
2 og 3 og styringene i fase 3 som ovenfor beskrevet og
fordres for å styre respektive logiske og destinasjons-operasjoner. De andre signaler som fordres for å innstille respektive vilkårsbiter i vilkårsregistret 54 innbefatter et signal fra styreenheten til den globale vilkårsbit 121 for å innstille de tilbbrlige globale vilkårsbiter i vilkårsregistret 54. De andre vilkårsbiter som skal innstilles, innstilles ved hjelp av signaler mottatt fra ALU eller fra styreenheten som beskrevet i den generelle beskrivelse ovenfor.
M-instruksjonsavkoderen 40 skal nå beskrives under henvisning til fig. 18. Man husker fra diskusjonen av M-instruksjonsformatene i fig. 14 at en ENER i den signifikante nullbit angir en instruksjon av typen en xd inneholder en N-adresse og at en NULL i den signifikante nullbit angir en litteralinstruksjon eller instruksjon type to i hvilken bitposisjoner 1 og 2 spesifiserer ulike litte-raloperasjoner. I fig. 18 testes disse forste tre biter av avkoderen 19-. Hvis den signifikante nullbit inneholder en ENER, så overfores innholdet av MPM-registret 150 for å adressere N-minnet. Hvis nullbiten er en NULL og den forste biten er en ENER, så overfores litteralfeltet i M-instruksjonen til litteralregistret 51 i fig» 2. Hvis
den andre signifikante bitposisjon er en ENER, så overfores innholdet i SAR-feltet som illustrert i fig. 14 til SAR-inngangsvelgeren 153. Hvis de fbrste tre bitposisjoner er null uix da er den gjenstående del av M-instruksjonen en ny M-adresse og overfores til AMPCR 41 i fig. 2. Hvis de forste og andre signifikante bitposisjoner begge er enere, påvirker avkoderen 151 styregrinden 152 til å innstille litteralregistret 51 for å motta et datasegment med forskjellig antall databiter fra hva som ble beskrevet med hensyn til M-instruksjonsformatet i den generelle beskrivelse ovenfor.
Som angitt ovenfor ved beskrivelsen av N-instruksjonsavkoderen, inneholder N-instruksjonsformatet visse biter i settet i fase 1 hvilke anvendes for å spesifisere data-overf bringer til eller fra den programmerbare enhet i foreliggende oppfinnelse. For bedre å beskrive den måte hvorpå sådanne dataoverfbringer finner sted og pgså illustrere den måte hvorpå data og de ulike instruksjonene innsettes i sine respektive minner, henvises nå til fig. 12
som illustrerer den styreenhet (SWI) som bare generelt er angitt i fig. IA. Som angitt i fig. 12 kan data og/eller instruksjoner tilfores eller innskrives i hvilket som helst av de tre minner 20a, 20b og 20c via minnesinstruk-sjonsregistret 47 eller AMPCR 41 hvilke er register i den programmerbare enhet som kan mates som illustrert fra en perifer maskin via omkoplingsenheten 8 som angitt i fig. 12 og også i fig. IA og IB.
Det bor bemerkes at hvilket register som er sluttet til hvilket minne bestemmes av feltet i fase 1 av N-instruksjonen som styrer dataoverfbringen. Som videre angitt i fig.
12 og ovenfor beskrevet, er N-minnet 20c adressert fra M-avkoderen 40, M-minnet 20b er adressert av MPCR eller AMPCR via inkrementgiweren 43 og hovedminnet eller S-minnet adressert via MAR 49 når det er sammenkjedet med register-basisregistret 43 eller basisregistret 46. Utgangen av hovedminnet 20a er til B-registret 33. Utgangen av M-minnet 20b er M-avkoderen 40 via MP-buffertminnet 25. Skjont MP-buffertminnet 25 ikke er beskrevet ovenfor, betjener det en viktig funksjon da det tillater et helt knippe M-instruksjoner å oppsokes ved avkoding av en S-instruksjon og dermed eliminerer den tidsforsinkelse som skulle oppstå
hvis respektive M-instruksjoner skulle adresseres separat. - Skjont det ikke uttrykkelig er vist i fig. 12, må man regne med at en alternativ datavei kan anordnes fra MIR 47, AMPCR 41 og SU 8 direkte til B-registret 33,
Fasesamband for iverksettelse av M- instruksjon.
Som angitt ved diskusjonen av M-instruksjonsformatet, fins det to typer M-instruksjoner: instruksjoner av type en som iverksetter logiske og dataoverforingsoperasjoner og instruksjoner av type to som inneholder litteraler inklusive en ny M-instruksjonsadresse og skiftbelbp. Instruksjonen av type en iverksettes i tre faser, av hvilke den forste og tredje krever et klokkeintervall med den andre fase krevende et variabelt antall klokkeintervaller. <i>nstruksjonen av type to har bare fase 1 som krever et klokkeintervall. - Suksessive M-instruksjoner iverksettes med overlapping og denne overlapping og andre karakteristika deri skal nå beskrives med henvisning til fig. 21, 22 og 23.
Fig. 21 illustrerer overlappingen ved iverksettelse av to suksessive M-instruksjoner som skal kalles instruksjon A og instruksjon B. Når M-instruksjonen er av type en fins det jo tilsvarende N-instruksjon for å realisere de ulike nddvendige operasjoner. Bom angitt i bdlgeform b i fig. 21, sendes adressen for tilsvarende N-instruksjon A til minnet B ved begynnelsen av klokkeintervallet T^. N-instruksjonen A mottas fra N-minnet mot slutten av dette klokkeintervall som angitt i bblgeform c. De valgte vilkår testes (bolge-form d) og innverdiene tilfores MPAD-registret (bblgeform e).
Utsignalene fra MPAD-registret (bblgeform e) og utsignalet fra ordreregistret (bblgeform g) frembringes ved begynnelsen av klokkeintervallet T2> Ordreregistret er nå ledig for å motta en ny instruksjon og således frembringes, under dette samme klokkeintervall, en ny adresse for neste instruksjon B som illustrert i bblgeform h. Instruksjon B mottas fra N-minnet kort for sluttet av klokkeintervallet T_ som angitt i bblgeform j. De andre bolgeformer i fig. 21 som angir innstilling av toklokke-flip-fldper og andre inhibi-sjonssignaler anvendes ikke i denne operasjon. Man ser av fig. 21 at iverksettelsen av styringene i fase 1 av instruksjon B inntraff ved slutten av klokkeintervallet T2 og dermed fullfores styringene i fase 1 av instruksjon
B under fase 3 av instruksjon A.
Se fig. 22': Iverksettelsen av instruksjon type en ved hvilken fase 2 krever to klokkeintervaller skal nå beskrives. Som angitt i fig. 22 er respektive bolgeformer b .... e ' de samme som i fig. 21 ettersom de representerer oppsokning av den forste instruksjonen A. I dette tilfelle vil imidlertid det oppsbkte N-instruksjonsformat inneholde en bit som angir ei/opeeasjon på to klokkeintervaller såsom ovenfor beskrevet i samband med fig. 17* Dette bringer en toklokkeintervallsflip-flop til å innstilles som angitt i bblgeform g i fig. 22, og, som et resultat, forsinkes utgangssignalene fra MPAD-registret og ordreregistret som representert i bblgeformene f og h under et klokkeintervall som nbdvendig for toklokkeintervallsoperasjonen. Likeså forsinkes også adresseringen og mottagelsen av instruksjon B fra M-minnet udder/ét klokkeintervall inntil toklokke-intervallsoperas jonen i instruksjon A er utfort. Under klokkeintervallene 1^ og T^, som angitt av bblgeform j, iverksettes derfor instruksjon B i fase 1 ved slutteh av klokkeintervallet T^, hvorved de ulike klokkestyringer er inhibert ved slutteh av klokkeintervallet T^. Fase to og/eller tre skal iverksettes under T^.
Se fig. 23<*>. Tidsstyringssambandet mellom to suksessive instruksjoner skal nå beskrives når den andre M-instruksjonen B inneholder en littera! og således ikke krever noen N-instruksjon. Som angitt i fig. 23 er de forste fem bolgeformer (bblgeform b .... f) de samme i fig. 23 som i fig.
21 og representerer oppsbkningen og iverksettelsen av den forste fase av instruksjonen A. Enn videre initieres utgangen fra ordreregistret (bblgeform h i fig. 21 og bblgeform g i fig. 23) i begge tilfelle ved begynnelsen av klokkeintervallet T . Enn videre inntreffer adresseringen av M-minnet for instruksjon B også ved samme tidspunkt i begge figurer. Mottagelsen av M-instruksjonen (bblgeform i i fig. 23) inntreffer derimot tidligere enn mottagelsen av N-instruksjonen i fig. 21 (bblgeform j), og, ettersom instruksjon b er en litteral i fig. 23, fordres ingen N-instruksjon. Dette bringer M-avkoderen 40 i fig. 2 til å frembringe et holdesignal som angitt i bblgeform m i fig. 23. Som resultat bibeholdes utgangs-verdien i ordreregistret (bblgeform g i fig. 23) mens litteralene i M-instruksjonen B overfores til et passende register soipangitt av bblgeform i i fig. 23. Praktisk talt samtidig med holdesignalet i bblgeform m inhiberes de ulike fasetidstyringene som vist i bblgeform n for å tilgodese de littorale overfbringer ved slutten av klokkeintervallet T2» Når litteraloverfbringene har foregått, forblir utgangen til ordreregistret senere valid til slutten av klokkeintervallet som angitt i bblgeform g. På denne måte har iverksettelsen av M-instruksjonen av type en forsinkets for å tilgodese litteraloverfbringer av nest fblgende instruksjoner av type to. Litteralen i B-instruksjonen vil alltid spesifisere en ny M-adresse. Senere tvinges MPAD som angitt i bblgeform j til igjen å adressere M-minnet (bblgeform k)
for å oppsbke en ny instruksjon fra M-ainnet og senere dets N-motsvarighet fra N-rainnet som angitt i bblgeform e. Instruksjonen fra N-minnet mottas ved slutten av klokkeintervallet T onår holde- og inhibisjonssignalene ikke lenger er i kraft.
Skjont de dermed beskrevne tidstyringsdiagrammene bare representerer noen få av de ulike situasjoner som oppstår under iverksettelsen av suksessive instruksjoner under overlapping, turde ovenstående beskrivelse være tilstrekkelig for å angi hvordan denne overlappende instruksjonsiverksettelse finner sted og også, f.eks. hvordan avvikende litteralinformasjon kan utgjore erstatning i de respektive registre når så fordres for iverksettelsen av en vilkårlig M-instruksjon.
M- instruksjonssekvenser.
Skjont betydningen av S-instruksjoner og N-instruksjoner er beskrevet ganske godt ovenfor, krever kanskje betydningen av M-instruksjonen mer beskrivelse. Hertil er knipper eller sekvenser av M-instruksjoner illustrert i fig. 24 og 25
og skal nå i korthet beskrives.
Fig. 24 illustrerer en sekvens M-instruksjoner som skulle anvendes i en særskilt inn-utoperasjon spesifisert av en inn-utdeskriptor av den i fig. 13 illustrerte type. Hvert trinn i sekvensen krever en M-instruksjonsiverksettelse. Disse trinn er: overfor innholdet av MAR til A2-registret; send "maskin skriv"-signal og overfbr innholdet av Al-registret og minste signifikante tegn i B-registret pluss EN til Al-registret; send signalet "frigjbr maskinvei"; avles fra maskin og skift innholdet i B-registret 4 biter til venstre og sett inn i A3-registret; når MAR er klart, overfor innholdet i Al-registret pluss EN til Al-registret og MAR; når B-registret er klart overfor innholdet av B-regiBtret til A2-registret og avles fra maskin; når MAR er klart, overfor innholdet av A2-registret til MAR; når B-registret er klart, overfor dets «innhold til MIR; send MIR-innholdet til minnet og skift innholdet i A3-registret 8 biter til hbyre.
Et annet M-knippe er illustrert i fig. 25 og er anordnet
for å realisere en "knippesgransknings"-rutine spesifisert av en S-instruksjon. Denne rutine er å finne i alle start-stillinger hos alle motsvarigheter til et monsterknippe i et kildeknippe. Teksten i fig. 25 anfbrer hvilke register som inneholder de respektive datasegment er som danner kilde-lokeeingen S, mbnsterlokeringen P, kildeinnholdet SC, mbnsterinnholdet PC, motsvarighetsangivelse M, anvisere SP, PP og MP og registerbasisregistrene.
Skjont særskilte utfbrelser av foreliggende oppfinnelse er beskrevet og illustrert, turde det være åpenbart for fagfolk at endringer og modifikasjoner kan gjbres deri uten at man fraviker hovedtanken og omfanget av oppfinnelsen ifolge kravene.

Claims (16)

1. Programmerbar anordning (10) med en logisk enhet (60,61) som er forbundet med et antall registre (32,33,50,51) for data-overføring, omfattende en koplingsenhet (8) som er forbundet med den logiske enhet og registrene for overføring av styresignalsett til denne, en styrehukommelse (20c) for lagring av et antall forskjellige styresignalsett i respektive adresser og er forbundet med koplingsenheten, karakterisert ved en ordrehukommelse (20b) for lagring av uttakbare driftsordresignaler som er mikroinstruksjoner (M) av hvilke noen angir adresser i styrehukommelsen i hvilke noen bestemte av styresignalsettene er lagret, og en ordredekoder (40) som er forbundet med styrehukommelsen (20c) som lagrer NANO-instruksjoner (N instruksjoner) for adressering og uttak av de respektive bestemte styresignalsett (N^-NgjN^jN^), idet i det minste noen av styresignalene overføres uten dekoding direkte til registrene (32, 33,50,51) for innstilling av disse.
2. Anordning ifølge krav 1, karakterisert ved en tidsstyreinnretning som er koplet med ordredekoderen for å frembringe tidspulser som representerer tidsrom i hvilke styresignalene benyttes, og en adresseringsinnretning som er forbundet mellom ordredekoderen (40) og styrehukommelsen (20c) for å ta ut styresignalsett i løpet av benyttelsen av et foregående sett styresignaler.
3. Anordning ifølge krav 2, karakterisert ved en forsinkelsesinnretning (55) som er koplet med tids-styreinnretningen for å sperre visse tidspulser for å hindre benyt-telse av det foregående sett styresignaler, og muliggjøre uttak av et nytt ordresignal.
4. Anordning ifølge krav 1,2 eller 3, karakterisert ved en rutinehukommelse (20a) for lagring av ordre som spesifiserer rutiner og som er forbundet med minst ett register (33) som er innstillet av utvalgte styresignalsett tatt ut av styrehukommelsen for å motta rutineordre.
5. Anordning ifølge krav 1, karakterisert ved at styrehukommelsen. og ordrehukommelsen er ut-inn-hukommelser, at anordningen omfatter en tredje rutine ut-innhukom-melse (20a) en første enhet (33) som er forbundet med rutinehukom-melsen for å motta en av rutineordrene, en andre enhet (43,40) som er forbundet med ordrehukommelsen og den første enhet og-reagerer på rutineordre for å adressere ordrehukommelsen og motta et ordresignal, og en tredje enhet (55,^0) som er forbundet med styrehukommelsen og den andre enhet og reagerer på ordre for å adressere styrehukommelsen og motta et styresignal.
6. Anordning ifølge krav 5, karakterisert ved en ut-inn-enhet (9) som er forbundet med minst ett register (47) for å overføre'data til eller fra denne, idet den andre enhet er innrettet til å motta rekker av ordresignaler fra ordrehukommelsen som spesifiserer logiske operasjoner, og rekker av ordresignaler som spesifiserer dataoverføring til og fra ut-inn-enheten.
7. Anordning ifølge krav 5 eller 6, karakterisert ved at den første enhet omfatter en tredje hukom-melsesadresseringsenhet (49) som er forbundet med den tredje hukommelse og som innstilles av utvalgte styresignaler for overføring av rutinesignaler fra den tredje hukommelse til den første enhet, og at den andre enhet (43) omfatter en ordrehukommelsesadresseringsenhet som er forbundet med den første enhet og reagerer på denne for å ta ut et ordresignalsett fra ordrehukommelsen for å starte en rutine.
8. Anordning ifølge krav 5,6 eller 7, karakterisert ved en logisk enhet (30) som er dannet av et antall modulenheter (61,60) som er parallellkoplet med den tredje .enhet og er innrettet til å bli innstillet for operasjon ved et styresignal, idet hver modulenhet omfatter kretser (64,65,66,67) som parallelt hver mottar minst to sett av minst fire informasjonsbitsignaler og frembringer et sett utgangssignaler som representerer en logisk forbindelse av to sett signaler. o
9.. Anordning ifølge krav 8,-. karakterisert ved forskjellige modulenheter (68,69) som er forbundet med den tredje enhet (55,40) for hver for seg å motta forskjellige styresignaler i samsvar med styresignalenes format.
10. Anordning ifølge krav 7 eller 8, karakterisert ved at hver logisk modulenhet' er forbundet med minst ett register (3.2,33) for å motta databits fra to forskjellige datakilder for en logisk forbindelse.
11. Anordning ifølge krav 8,9 eller 10, karakterisert ved at den mest viktige og den minst viktige modulenhet er forbundet med et tredje register (50,51) for hver for seg å motta de tredje databits.
12. Anordning ifølge krav 8, karakteri-ser \ ved at de logiske modulenheter er forbundet med tre av registrene (32,33,50,51) for samtidig å motta databits fra tre forskjellige datakilder for en logisk forbindelse.
13. Anordning ifølge krav 12, karakterisert ved at forsinkelsesenheten (55) er forbundet med ett av registrene for å stoppe mottakning av databits fra en av datakildene.
14. Anordning ifølge krav 1, karakterisert ved at forskjellige modulenheter (62,63) er forbundet med den andre enhet (43,40) for hver for seg å motta forskjellige styresignaler i samsvar med ordresignalet.
15. Anordning ifølge krav 1, karakterisert ved at ordredekoderen (40), styrehukommelsen (20c) og tidsstyreenheten (55) er forbundet med ett av registrene for å hindre at modulenhetene mottar databits fra en av datakildene.
16. Anordning ifølge krav 1-4, karakterisert ved at en første enhet (33) er forbundet med rutinehu-kommelsen (20a) og mottar ett av rutinesignalene og en andre enhet (40) er forbundet med ordrehukommelsen (20b) for mottagningen av rutineordre for adressering av ordrehukommelsen og mottagningen av et ordresignal, hvilken andre enhet omfatter en adresseringsenhet (43) for å ta ut et ordresignal under utførelsen av den foregående ordre, en tidsstyreenhet som er forbundet med den andre enhet for å frembringe tidsstyrepulser som representerer tidspunkter på hvilke ordrene blir utført, og en foråinkelsesenhet (20c,55,40) som er forbundet med tidsstyreenheten for å hindre bestemte tidsstyrepulser som hindrer utførelsen av en foregående ordre og tillate u^tak av et nytt ordresignal .
NO701791A 1969-05-19 1970-05-12 Programmerbar anordning. NO137165C (no)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US04/825,569 US4558411A (en) 1969-05-19 1969-05-19 Polymorphic programmable units employing plural levels of sub-instruction sets

Publications (2)

Publication Number Publication Date
NO137165B true NO137165B (no) 1977-10-03
NO137165C NO137165C (no) 1978-01-11

Family

ID=25244342

Family Applications (1)

Application Number Title Priority Date Filing Date
NO701791A NO137165C (no) 1969-05-19 1970-05-12 Programmerbar anordning.

Country Status (11)

Country Link
US (1) US4558411A (no)
JP (4) JPS578494B1 (no)
BE (1) BE750068A (no)
CA (2) CA939070A (no)
CH (1) CH522919A (no)
DE (1) DE2023354C2 (no)
FR (1) FR2047381A5 (no)
GB (3) GB1318231A (no)
NL (3) NL178361C (no)
NO (1) NO137165C (no)
SE (1) SE393201B (no)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1426749A (en) * 1973-06-05 1976-03-03 Burroughs Corp Micro programme data processor having parallel instruction flow streams for plural level of subinstruction sets
US4024504A (en) * 1973-12-21 1977-05-17 Burroughs Corporation Firmware loader for load time binding
IT1016854B (it) * 1974-08-21 1977-06-20 Olivetti & Co Spa Calcolatore elettronico di elabora zione dati
EP0016523B1 (en) 1979-02-13 1984-09-26 The Secretary of State for Defence in Her Britannic Majesty's Government of the United Kingdom of Great Britain and Data processing unit and data processing system comprising a plurality of such data processing units
US4577282A (en) * 1982-02-22 1986-03-18 Texas Instruments Incorporated Microcomputer system for digital signal processing
US5854907A (en) * 1982-02-22 1998-12-29 Texas Instruments Incorporated Microcomputer for digital signal processing having on-chip memory and external memory access
JPS58182758A (ja) * 1982-04-20 1983-10-25 Toshiba Corp 演算制御装置
NL8203175A (nl) * 1982-08-12 1984-03-01 Wavin Bv Haspel voor het opwikkelen van kunstofbuis.
JPS6031479A (ja) * 1983-07-26 1985-02-18 Sumitomo Rubber Ind Ltd 可撓性ホ−ス用巻き取り装置
JPS6089585U (ja) * 1983-11-28 1985-06-19 株式会社富士通ゼネラル 冷蔵庫
GB8413933D0 (en) * 1984-05-31 1984-07-04 Columbia Automation Ltd Emulating timing characteristics of microprocessor
CA1223969A (en) * 1984-10-31 1987-07-07 William M. Johnson Microcode control of a parallel architecture microprocessor
US4783738A (en) * 1986-03-13 1988-11-08 International Business Machines Corporation Adaptive instruction processing by array processor having processor identification and data dependent status registers in each processing element
JPS638269U (no) * 1986-07-02 1988-01-20
JPS6317174U (no) * 1986-07-19 1988-02-04
US5185870A (en) * 1987-04-10 1993-02-09 Tandem Computers, Inc, System to determine if modification of first macroinstruction to execute in fewer clock cycles
JPS63161483U (no) * 1987-04-10 1988-10-21
EP0312764A3 (en) * 1987-10-19 1991-04-10 International Business Machines Corporation A data processor having multiple execution units for processing plural classes of instructions in parallel
JPH01117184A (ja) * 1987-10-26 1989-05-10 Ashimori Ind Co Ltd ホース巻取装置
US5136717A (en) * 1988-11-23 1992-08-04 Flavors Technology Inc. Realtime systolic, multiple-instruction, single-data parallel computer system
JPH0810428B2 (ja) * 1988-12-26 1996-01-31 三菱電機株式会社 データ処理装置
US5321825A (en) * 1991-06-18 1994-06-14 Advanced Micro Devices, Inc. Processing system with lock spaces for providing critical section access
US6150836A (en) * 1997-06-13 2000-11-21 Malleable Technologies, Inc. Multilevel logic field programmable device
US6006321A (en) * 1997-06-13 1999-12-21 Malleable Technologies, Inc. Programmable logic datapath that may be used in a field programmable device
US6219776B1 (en) * 1998-03-10 2001-04-17 Billions Of Operations Per Second Merged array controller and processing element
US6438569B1 (en) 1999-09-20 2002-08-20 Pmc-Sierra, Inc. Sums of production datapath
US7237216B2 (en) * 2003-02-21 2007-06-26 Infineon Technologies Ag Clock gating approach to accommodate infrequent additional processing latencies

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL276777A (no) * 1961-04-04
GB1014635A (en) * 1962-07-31 1965-12-31 Rca Corp Data processing system
US3300764A (en) * 1963-08-26 1967-01-24 Collins Radio Co Data processor
US3302183A (en) * 1963-11-26 1967-01-31 Burroughs Corp Micro-program digital computer
GB1054725A (no) * 1964-04-06
US3315235A (en) * 1964-08-04 1967-04-18 Ibm Data processing system
US3391394A (en) * 1965-10-22 1968-07-02 Ibm Microprogram control for a data processing system
US3404378A (en) * 1965-10-29 1968-10-01 Automatic Telephone & Elect Computers
US3478322A (en) * 1967-05-23 1969-11-11 Ibm Data processor employing electronically changeable control storage
JPS5320378A (en) * 1976-08-09 1978-02-24 Tokyo Tatsuno Kk Method of testing leakage in tank
DE2639250C2 (de) * 1976-09-01 1985-12-12 Basf Ag, 6700 Ludwigshafen Verfahren zur Herstellung von nadelförmigem, kobaltdotiertem magnetischem Eisenoxid
JPS5331619A (en) * 1976-09-02 1978-03-25 Kayaku Antibiotic Research Co Tetrapeptide and its derivatives

Also Published As

Publication number Publication date
NL7006955A (no) 1970-11-23
CA993562A (en) 1976-07-20
BE750068A (fr) 1970-10-16
GB1318233A (en) 1973-05-23
NO137165C (no) 1978-01-11
SE393201B (sv) 1977-05-02
CH522919A (de) 1972-05-15
NL178361B (nl) 1985-10-01
JPS5922264B1 (no) 1984-05-25
NL178361C (nl) 1986-03-03
DE2023354A1 (de) 1970-11-26
GB1318234A (en) 1973-05-23
JPS578494B1 (no) 1982-02-17
US4558411A (en) 1985-12-10
NL8403030A (nl) 1985-02-01
DE2023354C2 (de) 1983-10-20
GB1318231A (en) 1973-05-23
JPS5922263B1 (no) 1984-05-25
FR2047381A5 (no) 1971-03-12
JPS5922262B1 (no) 1984-05-25
NL8403059A (nl) 1985-02-01
CA939070A (en) 1973-12-25

Similar Documents

Publication Publication Date Title
NO137165B (no) Programmerbar anordning.
US3983539A (en) Polymorphic programmable units employing plural levels of sub-instruction sets
US4814976A (en) RISC computer with unaligned reference handling and method for the same
US3983541A (en) Polymorphic programmable units employing plural levels of phased sub-instruction sets
US3537074A (en) Parallel operating array computer
KR102305389B1 (ko) 데이터 경로에서의 컴퓨팅 장치 및 방법
US9141131B2 (en) Methods and systems for performing exponentiation in a parallel processing environment
EP3539130B1 (en) Apparatuses and methods for memory alignment
US4334269A (en) Data processing system having an integrated stack and register machine architecture
US4099229A (en) Variable architecture digital computer
US3585605A (en) Associative memory data processor
EP0199173B1 (en) Data processing system
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
US20130054939A1 (en) Integrated circuit having a hard core and a soft core
US4204252A (en) Writeable control store for use in a data processing system
SE424114B (sv) Central processorenhet-anordning
CN104395876B (zh) 没有算术和逻辑单元的计算机处理器和系统
US3748649A (en) Translator memory decoding arrangement for a microprogram controlled processor
US4451885A (en) Bit operation method and circuit for microcomputer
GB2038049A (en) Floating point processor having concurrent exponent/mantissa operation
US4388682A (en) Microprogrammable instruction translator
CN103890857A (zh) 采用环形寄存器的可移位的存储器
NO141105B (no) Databehandlingssystem som har en hoeyhastighets bufferlager - enhet for overfoering av data mellom et hovedlager og en sentral behandlingsenhet
CN102262611B (zh) 一种16位的risc cpu系统结构
CN109582364B (zh) 基于忆阻器的精简指令集处理器