DK158685B - Processor til en mikroprogrammerbar datamat - Google Patents

Processor til en mikroprogrammerbar datamat Download PDF

Info

Publication number
DK158685B
DK158685B DK607773A DK607773A DK158685B DK 158685 B DK158685 B DK 158685B DK 607773 A DK607773 A DK 607773A DK 607773 A DK607773 A DK 607773A DK 158685 B DK158685 B DK 158685B
Authority
DK
Denmark
Prior art keywords
register
output
bit
input
order
Prior art date
Application number
DK607773A
Other languages
English (en)
Other versions
DK158685C (da
Inventor
Ulbo Faber
Original Assignee
Samsung Semiconductor Tele
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 Samsung Semiconductor Tele filed Critical Samsung Semiconductor Tele
Publication of DK158685B publication Critical patent/DK158685B/da
Application granted granted Critical
Publication of DK158685C publication Critical patent/DK158685C/da

Links

Classifications

    • 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/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7832Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • G06F9/265Microinstruction selection based on results of processing by address selection on input of storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)
  • Advance Control (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

- i -
DK 158685 B
Den foreliggende opfindelse angår en processor til en itiikroprogrammerbar datamat af den i krav l 's indledning angivne art.
Fra US patentskrift nr. 3.478.322 kendes en processor omfattende en styreenhed med et styrelager, som fra et eks-5 ternt lager eller et register i selve processoren tilføres mikroordrer, således at processoren er i stand til uafhængigt af faste koblingsforbindelser selv at sammenknytte indlæste data. Herfor indeholder styreenheden en i afhængighed af systembetingelser styret adressegenerator til henvis-10 ning, udlæsning og udførelse af mikroordrerne samt flere registre og en aritmetisk-logisk enhed, hvis dataindgange via et A- og et B-register er forbundet med en A- og en B-data-bus. Via en udgangsbus er den aritmetisk-logiske enhed forbundet til registrene, hvorhos valg af register styres 15 ved hjælp af de af det elektronisk foranderlige styrelager udførte mikroordrer. Udgangene på samtlige registre kan valgbart forbindes med den aritmetisk-logiske enhed via A-bussen, medens udgangene på to af registrene yderligere kan forbindes med den aritmetisk-logiske enhed via B-bussen.
20 Ved den kendte processor tilføres den aritmetisk-logiske enhed således mikroordrer parallelt fra styrelageret til udførelse af logiske operationer og tillader en fleksibel og ikke til et bestemt formål begrænset indsats af processoren. Processoren kan således anvendes til såvel styring af ind-25 og udlæsning af data, udførelse af et program formuleret i et specielt højere programmeringssprog, som til udførelse af et program i et andet programmeringssprog.
På grund af den mikroprogrammerbare processors fleksibilitet kan to eller flere sådanne processorer benyttes i 30 en datamat med flere programmer uden behov for en særlig ind- og udlæsestyring.
En yderligere fordel ved den kendte processor består i, at de af styrelageret afgivne mikroordrer kan udføres indbyrdes hinanden overlappende, hvorhos bestemte mikroordrer 35 kan være betingelsesafhængige, således at deres udførelse udsættes til efter prøvning af de pågældende betingelser.
DK 158685 B
- 2 -
Andre mikroordrer kan annulleres i afhængighed af resultatet af foretagne prøver. Derudover er en forgrening i de enkelte mikroprogrammer mulig. Mikroordren angiver da de pågældende logiske operationer inklusive dataforskydninger og derudover datahopadressen samt forskydningsbeløb, som 5 er nødvendige for udførelsen af andre mikroordrer. Sådanne mikroordrer optager dog den aritmetisk-logiske enhed uafhængigt af, om en logisk operation er nødvendig eller ej.
Derved optages en simpel arbejdsfunktion, som i sig selv omfatter et minimum af logiske operationer, processorens 10 aritmetisk-logiske enhed i den periode, den samlede informationsoverføring varer.
Ud over den universelle anvendelighed kræves, for at processoren skal være økonomisk at anvende, at den er enkel at programmere, enkelt opbygget og billig at fremstille.
15 Desuden er det nødvendigt, at processoren er således organiseret, at den har færrest mulige til eksterne grænseflader førende forbindelser, og den skal være opbygget på en sådan måde, at den er egnet til· fremstilling på basis af en højt integreret halvlederchip.
20 Formålet med den foreliggende opfindelse er at redu cere den i og for sig kendte struktur ved en mikroprogram-meret processor af den indledningsvis nævnte art i en sådan grad, at den kan realiseres med en højt integreret halvlederskive med et minimalt antal af eksterne forbindel-25 ser og med optimal databehandlingshastighed.
Dette opnås ifølge opfindelsen ved den i krav 1 anviste udformning.
Opfindelsen skal i det følgende forklares nærmere i forbindelse med tegningen, hvor 30 fig. 1 i et forenklet blokdiagram viser data- og styresignalstrømmene i en programmerbar enhed, fig. 2 i et mere detaljeret blokdiagram data- og styresignalstrømme i en processor, 35 fig. 3 formatet for en litteral ordre, - 3 -
DK 158685 B
fig. 4 formatet for en testordre, fig. 5 en tabel over forskellige ordrer for adressering af mikrolageret, fig. 6 formatet for en logisk ordre, 5 fig. 7 formatet for en ydre ordre, fig. 8 et logisk diagram for et betinget register, fig. 9 et logisk diagram for en serieadder, fig. 10 et logisk diagram for en hexadecimal-10 tæller, fig. 11 etlogisk diagram for en 16/8 multiplekser, fig. 12 et logisk diagram for et 8-bit recirkule-rende skifteregister, fig. 13 et logisk diagram for en datavælger, 15 fig. 14 en grafisk repræsentation af impulser, der ledes til og genereres af den programmerbare enhed, fig. 15 impulser i den hexadecimale tæller, fig. 16 et logisk diagram for en 4/1 multiplekser, 20 fig. 17 en sandhedstabel for 4/1 multiplekseren i fig. 16, fig. 18 et logisk diagram for et parallel-8-bit skifteregister, fig. 19 et logisk diagram for en binær/en af fire 25 afkoder, fig. 20 en sandhedstabel for afkoderen i fig. 19, fig. 21 en sandhedstabel for registeret i fig. 8, fig. 22 et logisk diagram for en datavælger-multiplekser med otte indgange, 30 fig. 23 en sandhedstabel for multiplekseren i fig. 22, fig. 24 et logisk diagram for en binær/en af tre afkoder, fig. 25 en sandhedstabel for afkoderen i fig. 24, 35 fig. 26A og 26B et logisk diagram for en synkron 8-bit tæller,
DK 158685 B
- 4 - fig. 27 en grafisk repræsentation for forskellige styreimpulser frembragt af den programmerbare enhed, fig. 28A og 28B et logisk diagram for et 8-bit 5 parellelregister, fig. 29 et logisk diagram for et 8-bit skifteregister med parallelindlæsning og serieudlæsning, fig- 30A-30N et logisk blokdiagram for en fore-10 trukken udførelsesform for opfindelsen, og fig. 31 et logisk diagram for et 12-bit parallelregister.
En programmerbar enhed 10 (fig. 1) ifølge opfindelsen omfatter fem funktionelle dele, nemlig en logisk enhed 12 15 (LU), der udfører de krævede skifteoperationer og aritmeti ske og logiske funktioner, samt virker som gemmeregistre, et mikroprogrammerbart lager 14 (MPM), hvori mikroprogramsekvenser lagres, hvilke sekvenser kan være litteraler, eller de kan specificere styresignaler, en lagerstyreenhed 16 20 (MCU), der virker som register for mikroprogramlageradres-serne, en styreenhed 18 (CU), der udfører en synkronisering og betinger styring, bestemmelse af næste ordre og afkodning af ordrer, og en ydre grænseflade 20 (EXI). Den programmerbare enhed fungerer i de fleste operationer som en 25 parallelkoblet procesenhed, selv om den er koblet som en serieenhed.
I en udførelsesform ifølge opfindelsen omfatter den logiske enhed 12 tre 8-bit ringkoblede skifteregistre 22, 24 og 26 kaldet register Al, A2 og A3, et 8-bit ringkoblet 30 skifteregister 28, kaldet B-register, en serieadder 30 med tilhørende porte (fig. 2). Da A-registrene 22, 24 og 26 og B-registeret 28 er ringkoblede skifteregistre, kan information overføres til adderen 30 uden at slette indholdet i de respektive A-registre. Denne egenskab er ideel, når man an-35 vender MOS teknik.
- 5 -
DK 158685 B
Alle A-registrene 22, 24 og 26 er funktionsmæssigt ens. De lagrer midlertidigt data i den programmerbare enhed 10 og kan tilsluttes udgangen på adderen 30 gennem et udvælgelsesportkredsløb 36 (fig. 2), der styrer indgangene 5 til de respektive A-registre. Et udvælgelsesportkredsløb 40 tillader, at indholdet fra hvert af A-registrene 22, 24 eller 26 kan overføres til adderen 30 gennem indgangen 70, kaldet X-indgangen.
B-registeret 28 er den primære grænseflade mellem sy-10 stemets hovedlager (vist som DATA IN i fig. 1) og den ydre grænseflade 20. B-registeret 28 tjener også som en anden, eller Y, indgang 72 på adderen 30 og opsamler visse bieffekter fra de aritmetiske operationer. I B-registeret kan indlæses gennem et portkredsløb 38 fra udgangen på adderen 15 30 gennem portkredsløbet 36 fra udvendigt tilsluttet DATA
IN gennem den ydre grænseflade 20 eller fra sin egen udgang TRUE. Hertil kommer indlæsning af litteraler, der afkodes fra visse mikroordrer lagret i lageret 14. Disse indlæses direkte i B-registeret gennem en mikroordreafko-20 der 46. B-registerets udgang er tilsluttet et portkredsløb 42, der tillader, at B-registerets indhold eller det komplementære indhold over Y-indgangen 72 indlæses i adderen 30.
Adderen 30 i den logiske enhed 12 er en konventionel 25 serieadder, hvorfor en nærmere beskrivelse heraf kan vente til senere. Foruden at indholdet i adderen 30 kan indlæses i A-registeret 22, 24 og 26 og B-registeret 28, kan det også indlæses i et andet register 32 (AMPCR) eller gennem en ledning 34 til et eksternt register (vist som DATA 30 OUT i fig. 2). AMPCR registeret 32 er også et ringkoblet register og kan tjene som en Y-indgang 72 for adderen 30 gennem portkredsløbet 42.
Lagerstyreenheden (MCU) 16 består af to 8-bit registre, et mikroprogramregister (MPCR) 44 og et andet mikro-35 programregister (AMPCR) 32. MPCR registeret 44 er en 8-bit tæller, der kan gå frem i et eller to skridt, og som bruges til at udvælge næste ordre fra lageret 14. AMPCR registe-
DK 158685 B
- 6 - ret 32 indeholder hop- eller returadresse for programhop og underprogram. Adressen i AMPCR registeret 32 er sædvanligvis én mindre end returadressen. Indlæsning i register 32 kan ske fra MPCR registeret 44, fra adderen 30 5 gennem portkredsløbet 36 eller med litteraler afledt af visse mikroordrer lagret i lageret 14.
Den programmerbare procesenhed 10 ifølge opfindelsen kræver mikroordrer til at definere procesenhedens operationer.
10 I en udførelsesform for opfindelsen sker dette fra la geret 14, der kan være et læselager (ROM), som indeholder programmet, der definerer procesenhedens funktioner. Alternativt kan lageret 14 være et lager med direkte tilgang (RAM). I begge tilfælde styrer programmet i lageret 14 15 procesenheden på en optimal måde.
Filosofien bag konstruktionen af procesenheden 10 er, at der ikke er nogle specifikke ordresæt, der skal anvendes, men snarere et sæt af registerveje og styresekvenser, der kan bruges til at syntetisere funktionerne optimalt.
20 Hvis man har et stort antal enheder, er det at foretrække, at lageret 14 er et læselager, idet omkostningerne ved at maske et læselager for et givet bitmønster på en MOS LSI monolitisk chip til forskellige anvendelser er små, især når der kan afskrives over mange kopier.
25 Til eksperimentelle formål eller hvis man ønsker at kunne ændre procesenhedens funktioner, er det muligt at anvende et kombineret læse-skrive-lager. I dette tilfælde kan programmerne indlæses, afprøves og revideres, indtil man har opnået den ønskede virkemåde. Herefter kan man da 30 anvende det opnåede bitmønster til at frembringe en egnet maske til læselageret, der kan bruges i forbindelse med den faste logiske del, der senere vil blive beskrevet, hørende til enheden 10.
Her skal af hensyn til overskueligheden kun omtales 35 brug af et læselager. I den foretrukne udførelsesform indeholder lageret 14 256 ord, hver af en længde på 12 bit. Lageret 14 indeholder alene udførlige ordrer og kan ikke
DK 158685B
- 7 - ændres under programstyring. Hver mikroordre i lageret 14 omfatter 12 bit og afkodes i en afkoder 46, der er en del af styreenheden 18. De 12 bit for hver ordre afkodes til en af fire typer, nemlig litteral, betinget, logik og ydre.
5 En mere detaljeret omtale af disse fire ordretyper er optaget i det følgende. Styreenheden 18 omfatter den nævnte afkoder 46, et logisk kredsløb 48 til bestemmelse af den følgende ordre, et logisk kredsløb 50 til betinget valg og et betinget register 52. De logiske kredsløb 48, 50 og re-10 gisteret 52 aktiveres af udgangssignaler fra afkoderen 46. Yderligere afgiver adderen 30 fire betingelsesbit til registeret 52, nemlig den mindst signifikante sande bit (LST) 74 (jf. fig. 4), den mest signifikante sande bit (MST) 76, adderens overløbsbit (AOV) 78 og en indikatorbit (ABT) 80, 15 forudsat alle bit på adderens udgange er sande (dvs. 1).
Det logiske kredsløb 48 afgør, hvorvidt der skal gøres brug af indholdet af MPCR-registeret 44 tillagt en eller to, eller indholdet af AMPCR-registeret 32 skal benyttes til adressering af den følgende ordre i mikroprogramlageret 20 14.
Det betingede register 52 lagrer tre tilbagestillelige lokale betingelsesbit (LC1, LC2, LC3) 82,84 og 86 og udvælger en af otte betingelsesbit, nemlig blandt de fire adder-bit 76,74,78 og 80, en ydre betingelsesbit 88 og de tre lo-25 kale bit 82,84 og 86.
En 8-bit til overføringsbane 56 fra afkoderen 46 til AMPCR-registeret 32 benyttes til at overføre 8-bit litte-rale værdier, der afkodes af mikroordrerne i lageret 14.
En tilsvarende 8-bit overføringsbane 54 leder 8-bit lit-30 terale værdier fra afkoderen 46 til B-registeret 28. For visse ordrer afkodes en 4-bit ydre styrebane 90 til den ydre grænseflade 20. Disse fire bit informerer grænsefladen 20 om, hvorledes data skal modtages og udnyttes og sendes af grænsefladen i overensstemmelse med den ordretype, 35 der udføres i den programmerbare enhed 10. Styreenheden 18 afgiver synkrpniseringsimpulser via en generator 58.
DK 158685 B
- 8 -
Den ydre grænseflade 20 forbinder den programmerbare enhed 10 med ydre kredsløb i et multikørende system.
Denne forbindelse synkroniseres af en intern generator.
En ekstern asynkron indgang EXT (Fig. 2) til det betin-5 gede register 52 står til rådighed for signalering fra de ydre kredsløb i form af den ydre betihgelsesbit 88, medens styrebanen 90, der tidligere er nævnt, benyttes til at styre brugen af ydre registre.
Nu skal de fire typer af mikroordretyper omtales.
10 Alle mikroordrer i lageret 14 omfatter som nævnt 12 bit.
Den første ordretype er den litterale overføringsordre 64 (fig. 3). Bit 1-8 i denne ordre omfatter en værdi eller konstant, og det modtagende register er implicit bestemt af ordrens styrebit 9-12. Litterale værdier kan alene indlæ-' 15 ses i B-registeret 28 (Literal to B-ordre 64b) eller AMPCR- registeret 32 (Literal to AMPCR-ordre 64a) gennem en af overføringsbanerne 54 og 56.
Hvis bit 11 og 12 i ordren 64 begge er O, benyttes overføringsbanen 56 til AMPCR-registeret. Er styrebittene 20 9-12 1011, benyttes overføringsbanen 54 til B-registeret 28. En variant af Literal to AMPCR-ordren 64a er en GO to Literal-ordre 64c, hvor Ilte og 12te bit er 10. Når denne ordre udføres, påtrykkes den litterale værdi (bit 1-8) AMPCR-registeret herfra via en overføringsbane 92 til MPCR- 25 registeret 44. GO to Literal-ordrens 64c funktion er at indlagre hopadresser angivet i mikrolageret 14 i MPCR-registeret. For Literal to AMPCR- og GO to Literal-or-drerne 64a og 64c benyttes den 9ende og 1Oende bit ordren ikke af enheden 10.
30 Ved udførelse af Literal to B-ordren 64b komplemente res de indlæste bit under indlæsningen iB-registeret 28.
Dette er ikke tilfældet ved udførelse af Literal to AMPCR-ordren 64a, hvor indgangsbit lagres uden ændring, som de modtages fra afkoderen 46.
35 Den anden ordretype er betingelsestest-ordrer 66 (fig. 4). En betingelsesordre består af 5 felter, betingelsesfeltet 94, sætfeltet 100, sand efterfølgelsesfelt 96, - 9 -
DK 158685 B
falske efterfølgelsesfelt 98 og styrefelt. Med denne ordre udføres en afprøvning for en af otte betingelser, der afgives i betingelsesfeltet 94, der består af ordrens 66 første bit 1-3. Hvis prøvens resultat er sand, bestemmes næ-5 ste ordres adresse af ordrens 66 bit 6 og 7, dvs. sand efterfølgelsesfeltet 96. Er prøvens resultat falsk, bestemmes næste ordres adresse af ordrens 66 bit 8 og 9, falsk efterfølgelsesfeltet 98. Var prøvens resultat sand, afprøves også sætfeltet 100, ordrens 66 4de og 5te bit til 10 afgørelse af, om en af de tre lokale betingelsesbit LC1, LC2 eller LC3 skal sættes. Bit 10-12 i ordren 66 er styrefeltet. Alle bit i betingelsesordrens 66 styrefelt er 1^.
Som tidligere nævnt indeholder registeret 52 et sæt af otte betingelsesbit, der benyttes til et eller flere af 15 følgende formål: betinget eller ubetinget overføring af styreimpulser og sætning eller sletning af lokale betingelsesbit. De otte betingelser består af de fire adderbetin-gelser LST bit 74, MST bit 76, AOV bit 78 og ABT bit 80, den ydre betingelse EXT bit 88, de tre lokale betingelser 20 LC1, bit 82, LC2, bit 84 og LC3, bit 86.
LST-betingelsen er sat, hvis den mindst signifikante eller første bit fra adderen 30 er binær 1 eller slettet, hvis denne bit er 0. MST-betingelsen er sat, hvis den mest signifikante eller ottende bit fra adderen 30 er 1, og slet-25 tet, hvis denne bit er 0. Hvis alle bit fra adderen 30 er _1, er ABT-betingelsen sat og ellers slettet. AOV-betingel-sen indikerer, at overløb har fundet sted i en yderligere operation.
De lokale betingelser LC1, LC2 og LC3 slettes ved af-30 prøvning, og sætfeltet 100 benyttes til at sætte en lokal betingelse. Det skal bemærkes, at det er nødvendigt at prøve en sand tilstand for at sætte en lokal betingelse.
Den ydre betingelse EXT er fuldstændig ukontrolleret af den ydre grænseflade 20. De fire adderbetingelser LST, MST, 35 ABT og AOV indikerer resultatet af den sidste logiske ordre og slettes ikke ved afprøvning· men opretholdes til udførelse af en anden logisk ordre.
DK 158685 B
- 10-
Et résumé af sætninger og sletninger af betingelser er vist i tabel 1.
* t
Tabel 1 # Sætning og sletning af betingelser 1 2 3 Betingelser '<· 5 ' Sæt Slet 10 0 ‘LC1 0 0 S$ t LC1 Slettes ved afprøvning 1 0 1 LC2 0 1 Sæt LC2 · Slettes ved afprøvning - 1 1 O LC3 · 1 0 Sæt LC3 “ ' Slettes ved afprøvning 1 1 1 EXT 1 1 ~ ’ : ‘ Slettes ved
Et niveau for ydre udstyr - ydre aktion styret af ydre grænseflade 0 1 0 LST 1 1 Første bit fra adderkreds (mindst 1 ^ ; signifikant bit sand - ibit 1=1) i i i 0 0 0 MST 1 1 I sidste bit fra adderkreds 1 (mest signifikant bit sand - bit 8 = 1) . , 0 11 ABT 11 Alle bit sande fra adderkreds 1.
(bit 1 til bit 8 alle = 1) ·' j i J i 0 0 1 ÅOV 1 1 jAdderkredsens overløb sand 1 j '.(egentlig kredsens mente-bit) i f •! -i . · i !
! I
s* Ændres kun ved udførelse af anden logisk ordre - 11 -
DK 158685 B
En litteral overføringsordre 64, der angiver indføring i B-registeret 28 eller i AMPCR-registeret 32, kan ændre værdien af en indgang på adderen 30, men ikke værdien på adderens 30 udgange. Endvidere skal det bemærkes, at ad-5 skillige logiske enhedsoperationer kan have usædvanlige bivirkninger på visse adderoperationer, således som det senere vil blive omtalt i forbindelse med en logisk ordre.
Den første lokale betingelse LCl benyttes for midlertidig lagring af Boelske betingelser i den programmerbare 10 enhed 10 i form af en bit 82. Denne sættes internt af den programmerbare enhed og slettes, som tidligere nævnt, internt ved afprøvning. Den anden og den tredje lokale betingelse LC2 og LC3 har tilsvarende funktion.
Til angivelse af en afprøvning af MST-betingelsens bit 15 78 er de tre første bit i betingelsesordren 66 000. Er disse tre bit derimod 001, afprøves AOV-betingelsens bit 78, medens LST-betingelsens bit 74 afprøves for 010. ABT-betingelsen afprøves, når ordrens 66 første tre bit er 011, medens de tre lokale betingelser LCl, LC2 og LC3 afprøves 20 for 100, 101 og 110. Er de tre bit 111, afprøves den ydre betingelse EXT.
Enten den sande efterfølger, defineret af 6te og 7ende bit i ordren 66 eller den falske efterfølger defineret af 8nde og 9ende bit i ordren 66 må være eksplicit 25 valgt til bestemmelse af adressen for næste ordre, der skal indføres. For ubetingede efterfølgere kan de to efterfølgerfelter 96 og 98 have samme indhold. De fire valgmuligheder for hver efterfølger er STEP, dvs. skift til den følgende ordre i følgen bestemt af indholdet af MPCR-registe-30 ret 44, SKIP, dvs. overspringelse af den først følgende og skift til den anden følgende ordre SAVE, dvs. skift med opretholdelse af den øjeblikkelige adresse i MPCR-registeret 44 tillagt 1 i AMPCR-registeret 32 og JUMP, der overfører styringen af adressevalg til de adresser, der er lagret i 35 AMPCR-registeret 32.
Alle andre typer af mikroordrer har en implicit efterfølger af STEP, som ovenfor nævnt.
- 12 - 158685Β STEP-ordren 102 angiver altså som den følgende ordreadresse indholdet af MPCR-registeret 44 forøget med 1, og denne nye adresse vil herefter være indeholdt i registeret 44 (fig. 5). SKIP-ordren 104 angiver som den følgende 5 adresse indholdet af MPCR-registeret 44 forøget med 2. SAVE-ordren 106 vil angive som følgende ordreadresse indholdet af MPCR-registeret 44 forøget med lr og det nye indhold af registeret 44 vil også være adressen for AMPCR-re-gisterets 32 indhold til angivelse af den nye adresse 10 (MPCR+ _1) . JUMP-ordren 108 angiver som den følgende adresse indholdet af AMPCR-registeret 32 og medfører, at indholdet af MPCR-registeret 44 ændres til angivelse af denne adresse. Bemærk, at kun SAVE-ordren 106 ændrer indholdet af AMPCR-registeret 32.
15 Den tredje ordretype, der afkodes af mikroordreafkode ren 46, er en logisk ordre 68, der angiver X- og Y-operan-den på adderens 30 indgang og den aritmetiske eller logiske operation og retningsspecifikation for adderen 30.
En logisk ordre omfatter fire felter, nemlig X-ind-20 gangsfeltet 110, Y-indgangsfeltet 112, retningsfeltet 114 og styrefeltet 116.
X-indgangsfeltet 110, der består af ordrens 68 første og anden bit, angiver X-indgangen 70 på adderen 30. X-ope-randen kan være enten 00 eller udgangssignalet fra et af 25 de tre A-registre 22, 24 eller 26. Den operation, der skal udføres af adderen 30 og Y-indgangen 72 (dvs. det sande indhold af B-registeret 28 eller indholdet af AMPCR-registeret 32) på adderen angives som dele af felt 112, der omfatter ordrens 68 bit nr. 3-6. Operationsfeltet kan angive såvel 30 aritmetiske som logiske operationer, der skal udføres på AMPCR-registeret 32, som B-registerets 28 indhold. Retningen eller bestemmelsesstedet for adderens 30 udgangssignal bestemmes af bit 7-10, dvs. retningsfeltet 114 i ordren 68. Styrekoden i felt 116, dvs. Ilte og 12te bit, er altid 01.
35 De fire mulige X-indgange 70 for adderen 30 er nul (00), indholdet (01) af det første A-register 22, indholdet (10) af det andet eller indholdet (11) af det tredje A-register som vist i tabel 2.
- 13 -
DK 158685 B
Tabal'2 - * . i * ; i i J Octal !. Sit i Sit j. X Input til j.
• ! kode· i 1 ' ' 2 j adderkreds 1 » . · i ; t f i ____«-— -- - ♦— — - - - ' : ! i i i :
; G ! O ; O I O
« · ? ; 1 i • ' · · I 1 , O { 1 j Al j il! _· • . 's . ί 2 1 \ O ' \ A 2 j i .i ? ' .. ........ , ----------- - ..ΐ 3 j i ! i I A 3 j - 14 -
DK 158685 B
Ved den foretrukne udførelsesform kan 16 typer af operationer udføres af adderen 30 og den logiske enhed. Af disse mulige typer involverer de tolv udgangssignaler fra B-registeret 28 som Y-indgang 72 for adderen 30. De øvrige 5 fire operationer udnytter som Y-indgang 72 udgangssignalerne fra AMPCR-registeret 32.
De operationstyper, der kan defineres i felt 112, er såvel aritmetiske som logiske. Standardoperationerne X + Y og X+Y+_l udføres af den logiske enhed 12, såvel som stan-10 dardoperationerne AND, NAND, OR eller NOR. Også ikke-stan-dard logiske operationer kan udføres.
Sammenhængen mellem værdierne af bit nr. 3-6 i den logiske ordres operationsfelt 112, valg af Y-indgang 72 og operation er anført i nedenstående tabel 3.
15 Retningen af eller bestemmelsesstedet for adderens 30 udgangssignaler bestemmes af værdierne af bit nr. 7-10 i den logiske ordres retningsfelt 114. Som tidligere nævnt kan udgangssignaler fra adderen 30 ledes til B-registeret 28, AMPCR-registeret 32 eller over ledningen 34 til ydre 20 registre. I retningsfeltet kan fastlægges seksten mulige retninger, nemlig ovennævnte og eventuelt yderligere styrefunktioner eller operationer, der skal udføres, således som vist i tabel 4.
25 - 15 -
DK 158685 B
Tabel 3
Operationsfelt 112_Y = B_Y - AMPCR_Operation_ 0000 + X + Y + 1
0001 + X + Y
0010 + X + Y + 1
0011 + X + Y
0100 + XQVY,XYVx4 0101 + X xorY,XYVx4 0110 + X-Y,X+Y+1 0111 + Χ-4-Ι,Χ+Ϋ 1000 + X NoR Υ,ΧΫΫ
1001 + X NAND Y, XY
1010 + X NoR Y, NVY
1011 + X NAND Y, ΧΫ
1100 + X oR Y, XVY
1101 + X AND Y, ΧΫ
1110 + X OR Y, XVY
1111 + X AND Y, ΧΫ - 16 -
DK 158685 B
Tabel 4 Udgang til
Retningsfelt 114_(retningsregister)_Yderligere_
0000 B
0001 A 1 0010 A 2 0011 A 3 0100 OUT O* 0101 OUT 1 0110 OUT 2 0111 AMPCR (OUT 3) 1000 B )
1001 A 1 ) DATA IN
1010 A 2 ) x serieoverføres 1011 A 3 . , ) via portkreds 1100 B ) . til B-register 1101 A 1 . .
) retningsregister A ^ ! skiftes til højre 1111 A 3 j * OUT-udgangene forklares nærmere i det følgende.
Af tabellen fremgår, at adderens 30 udgangssignaler kan påtrykkes B-registeret 28, A-registrene 22,24 og 26 og AMPCR-registeret 32. Adderens 30 udgangssignaler overføres uhindret til den ydre grænseflade 20, når en logisk opera-5 tion vælges, men vælges en af OUT-retningerne, genereres en særlig 4-bit kode.på styreledningen 90 for at tillade overførsel til et specifikt ydre register. Det skal også bemærkes, at retningsværdierne lOxx medfører, at en 2-bit kode sendes over ledningen 90 for at tillade en 8-bit serieover-10 førsel fra den ydre DATA IN til B-registeret 28, samtidig med at udgangssignaler fra adderen 30 overføres til B- eller A-registre. I det tilfælde, retningsfeltets indhold (1000) betinger overførsel til B-registeret, vil dette blive påtrykt udgang 30 OR DATA IN. Normalt vil udgangssignalerne 15 fra adderen 30 i dette tilfælde blive sat til logiske nuller, således at DATA IN simpelthen indlæses i B-registeret 28.
- 17 -
DK 158685 B
Som tidligere anført vil Y-indgangen 72 tilsluttet AMPCR-registeret 32 have værdien 0, hvis dette register 32 ikke vælges som retningsregister. Dette indebærer, at resultatet af operationer, hvor AMPCR-registeret 32 benyttes 5 som Y-indgang, kun kan føres tilbage til dette register 32. Dette medfører, at 0, NOT 0, X og NOT X kan ledes til alle andre retningsregistre end AMPCR-registeret 32.
I de tilfælde, retningsregisteret 114 indeholder llxx, kan retningsregisteret skiftes mod højre, og den mest sig-10 nifikante bit tilføres fra udgangen af adderen 30. Det skal bemærkes, at additionen udføres for alle otte bit i den valgte indgangsoperander, og adderens betingelsesbit (LST, MST, ABT og AOV) sættes i overensstemmelse hermed.
Er det ønsket at udføre skifte B-registeret 28 en 15 plads mod højre, indsættes i X-operandfeltet 110 x = 0, i operations- og Y-feltet 112 indsættes (jf. tabel 3) 0011 svarende til X + Y, og i retningsfeltet 114 indsættes 1100 (jf. tabel 4). Den logiske ordre 64 bliver således 00 0011 1100 01.
20 Ønskes et cyklisk skift i B-registeret 28, bliver den logiske ordre 64 tilsvarende 00 0001 1100 01.
Er den logiske ordre 01 0001 1101 01, vil bit 8 i såvel Al-registeret 22 som B-registeret 28 blive adderet og den resulterende bit blive placeret som bit 1 (den mest 25 signifikante bit) i Al-registeret 22. Derefter adderes bit 7 (den mindst signifikante bit plus 1) i Al-registeret 22 til alle bit i B-registeret 28, og adderens betingelsesbit 74,76,78 og 80 ændres tilsvarende.
Den sidste interessante bieffekt af en serieimplemen-30 tation af adderen 30, der skal omtales her, er, at adderens overløbsbit 78 (AOV) er den indledningsvise og midlertidige bærerflip-flop (AOV betingelsesregister 294 omtales senere) for serieadderen 30. Som sådant sættes den indledningsvise bærer hver gang, 6te bit i ordren 68 er 0. Den 35 indledningsvise bærerflip-flop kan imidlertid kun virke som midlertidig eller mellemliggende bærer under aritmetiske operationer. Ved udførelse af eksempelvis operationen XORY
DK 158685B
- 18 - er ordrens 6te bit 0, hvorfor AOV-bit 78 er sat og forbliver sat, indtil den ændres ved en senere logisk operation.
Den sidste ordretype, der skal omtales, er den ydre ordre (DEV) 118, se fig. 7. Denne ordre omfatter to fel-5 ter, nemlig LITERAL TO DEV-felt 120 og et styrefelt. Det førstnævnte felt omfatter ordrens første otte bit, medens styrefeltet omfatter de sidste fire. Styrekoden for en ydre ordre er ved den foretrukne udførelsesform 0011. Ved udførelse af en ydre ordre sendes de første otte bit i or-10 dren, altså LITERAL TO DEV-feltet 120 i serie over DATA OUT-ledningen 34, hvorhos bit 8 sendes først. En ydre ordre 118 benyttes i forbindelse med ydre udstyr kun i den udstrækning, en programmør eller fremstiller af indgangs/ udgangsgrænseflader til sådant udstyr finder det hensigts-15 mæssigt.
Kodningen af de funktioner, der fastlægges af ydre ordre og udformningen af det ydre udstyr bør fastlægges parallelt, for at man kan opnå optimal udnyttelse af programmet og maskinel. Sker dette ikke, risikerer man, at 20 det ydre udstyrs funktion og opbygning bliver uøkonomisk eller programmerne ineffektive eller begge dele.
I den foretrukne udførelsesform foregår synkroniseringen ved hjælp af impulser fra en generator uden for enheden 10. Under udførelsen af enhver ordre i lageret 14 op-25 tælles otte synkroniseringsimpulser, hvorefter styreenheden 18 frembringer et sidste-impulssignal (LP) 122 og afventer et signal 126 (MCC), der angiver afslutningen af en lagercyklus, inden den følgende ordre aktiveres (se fig. 14). MCC-impulsen 126 er ufravigeligt nødvendig, inden en mikro-30 ordre udføres. Venteperioden mellem ordreinitieringer benyttes til lagercirkulation og ordreafkodning. Det skal bemærkes, at en MCC-impuls 126 kan initieres til et hvilket som helst tidspunkt senere end efter, at otte synkroniseringsimpulser har forekommet, efter den forudgående MCC-35 impuls 126.
Enheden 10 frembringer i styreenheden 18 en følge af CLOCK OUT (CO)-impulser 124, der er synkrone med impulserne - 19 -
DK 158685 B
fra den ydre generator. Der frembringes ingen CO-impuls samtidig med en LP-impuls 122.
Et eksternt frembragt CLEAR (CLR)-signal 128 benyttes til at rense MPCR-registeret 44 for adresser.
5 I det følgende skal forskellige kredsløb beskrives mere detaljeret. I fig. 3OB påtrykkes de positive synkroniseringsimpulser via en _synkroniseringsterminal (Cl) 130 den ene indgang på et NAND-kredsløb 132. Udgangen på dette portkredsløb 132 er forbundet med en tællerindgang 146 på 10 en hexadecimal tæller 134, der er en 4-bit binær tæller med fire udgange 148,150,152 og 154. Portkredsløbets 132 udgang er også forbundet med en inverter 136, hvis udgang er forbundet med enhedens 10 terminal 138 for CO-impulserne 124. MCC-impulserne 126, der, som vist i fig. 2, ligeledes 15 frembringes uden for enheden, påtrykkes via en terminal 140 den ene indgang på et NAND-kredsløb 142, hvis udgang er forbundet med en sletteterminal 144 på den hexadecimale tæller 134.
Ved den foretrukne udførelsesform fremkommer den mest 20 signifikante bit på tællerens 134 udgangsterminal 148, medens den mindst signifikante forekommer på terminalen 154. Terminalen 148 er forbundet med den anden indgang på NAND-kredsløbet 142 for MCC-impulser og via en inverter 156, den anden indgang på NAND-kredsløbet 132 for synkroniseringsim-25 pulserne Cl.
Heraf følger, at en betingelse, for at en impuls kan påtrykkes tællerens 134 sletteterminal 144, er, at terminalen 148 for tællerens mest signifikante udgangsbit må have højt niveau. Inden en MCC-impuls 126 kan slette tællerens 30 134 indhold, må denne altså have registreret mindst otte synkroniseringsimpulser. Samtidig sikres det, at der ikke, når tælleren har registreret otte synkroniseringsimpulser på indgangen 146, kan påtrykkes tælleren 134 flere synkroniseringsimpulser, før tællerindholdet er slettet af en 35 MCC-impuls 126. Endvidere vil der ikke på terminalen 158 forekomme CO-impulser i perioden mellem den ottende synkroniseringsimpuls Cl og den følgende MCC-impuls, altså medens tælleren 134 er uvirksom.
DK 158685B
- 20 -
Et logisk diagram for tælleren 134 er vist i fig. 10, og en grafisk repræsentation af de forskellige synkroniserings- og styreimpulser i tælleren er vist i fig. 15. Det bemærkes, at tælleren kun trigges af forflanken af tælle-5 impulser, der er inverterede synkroniserings- (Cl) impulser og kun slettes af forflanken af en MCC-impuls 126. Af hensyn til det følgende skal tidspunktet t defineres som sammenfaldende med forflanken af en MCC-impuls 126, medens tidspunktet t (n = 1) defineres som sammenfaldende med 10 bagflanken af positive synkroniseringsimpulser fra den ydre generator.
Til tiden t slettes indholdet i den hexadecimale tæl-o ler 134 af en MCC-impuls 126. Herved spærres portkredsløbet 142, fordi værdien på tællerterminalen 148 forbliver 15 lav. Samtidig åbnes portkredsløbet 132, således at synkroniseringsimpulser kan passere til tælleindgangen 146 og til CO-terminalen 13 via inverteren 136. Når tælleren 134 har registreret otte impulser på indgangen 146, bliver værdien på udgangen 148 høj, og NAND-kredsløbet 132 spærrer for 20 yderligere CI-impulser til tælleren.
Til inverterens 156 udgang er også forbundet en LP-terminal 158 for det sidste-impulssignal 122, der afgives til tiden t = tg (se fig. 15).
Forudsættes nu brugen af et statisk lager, benyttes et 25 256 ord/12 bit læselager 160 til at lagre ordre for den pro grammerbare enhed 10. Ved den foretrukne udførelsesform er otte styreledninger 161 nødvendige til at adressere lageret 160,og de 12 bit i hver ordre, der er lagret, frembydes af 12 udgangsterminaler.
30 Et ordreregister 500 (fig. 31), der vil blive omtalt mere detaljeret senere, benyttes til at sikre, at hver ordre fra læselageret 160 er fuldstændig udført, inden en næste ordre adresseres. Ordreregisteret 500 er et 12 bit lagerregister, der modtager de 12 binære signaler i en adresseret 35 ordre fra læselageret 160 og lagrer disse signaler, indtil en LP-impuls 122 frembringes. Tolv data/styreledninger 162,164 ...... 184,186 leder data/kontrolsignaler fra udgan-
DK 158685B
- 21 - gene på ordreregisteret 500 til enheden 10, MPCR-registeret 44 har otte udgangsterminaler, hvorfra adresser ledes via ledningerne 161 til læselageret, og otte indgangsterminaler, hvorpå registeret modtager adresseinformation fra 5 AMPCR-registeret 32. MPCR-registeret 44 har endvidere en sletteterminal 188, en tælleterminal 190 og en terminal 191. Disse og registeret 44 i øvrigt vil senere blive omtalt nærmere.
AMPCR-registeret 32 har otte udgangsterminaler til af-10 givelse af hopadresser til MPCR-registeret 44 og otte indgangsterminaler, der påtrykkes data fra en vælger 192.
Vælgeren 192 har 16 dataindgangsterminaler og en styreindgangsterminal 194 (fig. 11). Otte af vælgerens 192 dataindgangsterminaler er tilsluttet de første otte data/styre-15 ledninger 162-176, medens vælgerens øvrige otte indgangsterminaler er tilsluttet de otte udgangsterminaler 161 på MPCR-registeret 44.
Afhængigt af styresignalet på terminalen 194 afgiver vælgeren 192 til AMPCR-registeret 32 enten en litteral vær-20 di (de første otte bit af en litteral ordre 64) afkodet af mikroordren i læselageret 160 eller den adresse, der er lagret i MPCR-registeret 44. Vælgeren 192 kan således vælge mellem at forsyne AMPCR-registeret 32 med hopadresser afkodet af litterale ordrer i læselageret 160 eller fremkalde 25 en SAVE-ordre ved at indlæse adressen i MPCR-registeret 44.
Som tidligere omtalt afkodes de tolv bit i hver af de mulige 256 ordrer i læselageret 160 til en af fire ordretyper.
Otte af de 6te bit kan overføres direkte til AMPCR-registeret 32 via vælgeren 192 eller til B-registeret 28.
30 Til afkodning af en logisk ordre 68 benyttes et NAND- kredsløb 196 (fig. 30H) med to indgange til at identificere styrefeltet 116 i ordren. Den ene af kredsløbets 196 indgange påtrykkes altid den 12te bit (data/styreledning) 186 af ordre i læselageret 160, medens den anden indgang altid 35 påtrykkes komplementet til den Ilte bit (data/styreledning 184). Dette komplement af bit nr. 11 frembringes af en inverter 198. Da styrekoden (felt 116) for en logisk ordre - 22 -
DK 158685 B
altid er 01, vil udgangen fra NAND-kredsløbet 196 være lav, når enheden 10 udfører en logisk ordre 68.
NAND-kredsløbets 196 udgangssignal påtrykkes den ene indgang på et NOR-kredsløb 198. Dette kredsløbs 198 anden indgang påtrykkes MMC-impulser 125 gennem NAND-kredsløb 5 142.
Da, som tidligere nævnt, NAND-kredsløbets 142 udgang kun er lav i den periode, hvorunder en MCC-impuls 126 frembringes af den ydre generator (forudsat at den hexadecimale tæller 134 har registreret otte synkroniseringsimpulser), 10 vil NOR-kredsløbets 198 udgang være lav for alle logiske ordrer 68 bortset fra den tid, MCC-impulserne 126 varer.
Synkroniseringsimpulser for udførelsen af en logisk ordre 68 frembringes på udgangen af et NAND-kredsløb 204 med to indgange. Den ene indgang påtrykkes signalet på 15 NAND-kredsløbet 196 via en inverter, og signalet på inver-terens 136 udgang, altså CO-impulser. Udgangssignalet fra NAND-kredsløbet 196 påtrykkes en inverter 206. Det er indlysende, at NAND-kredsløbets 204 udgang er høj for alle synkroniseringsimpulser bortset fra, når enheden 10 udfø-20 rer en logisk ordre 681, hvor kredsløbets udgang følger udgangen af NAND-kredsløbet 132. Imidlertid må udgangen på NAND-kredsløbet skifte til høj, selv under udførelse af en logisk ordre 68 under frembringelsen af et sidste-impuls-signal (LP) 122 i den hexadecimale tæller 134. Dette 25 skyldes, at det inverterede signal på tællerens mest signifikante udgangsterminal 148 påtrykkes NAND-kredsløbet 132.
NAND-kredsløbets 204 udgangssignal påtrykkes som synkroniseringssignal hvert af de tre A-registre 22,24 og 26 30 (fig. 30F), B-registeret 28 (fig. 30G), MST-betingelses-registeret 202 og NOR-kredsløbet 214.
Som tidligere antydet er hvert af A-registrene 22,24 og 28 et 8 bit serieskifteregister (fig. 30F). Hvert register er forsynet med et 2-indgangsmultiplekserkredsløb og 35 komplementære serieudgange Q og Q, som vist i fig. 12.
Endvidere har hvert A-register en datavælgerindgangstermi- - 23 -
DK 158685 B
nal til modtagelse af styresignaler, der vælger, hvilken af registerets to indgange der skal benyttes. Ved den foretrukne udførelsesform er på hvert A-register Q-udgan-gen forbundet med den ene af de to mulige indgange på re-5 gisteret. Q-udgangene er tilsluttet hver sin af datavælgerens 208 tre indgange.
Datavælgeren 208 (fig. 16), der er en konventionel 2-bit multiplekser, omfatter invertere og drivtrin til frembringelse af binært afkodningsdatavalg, således at fire led-10 ninger kan multiplekses til én. Datavælgerens 208 opgave er at vælge én eller slet ingen af Q-udgangene på de tre A-registre 22,24 og 26, som X-indgang 70 til adderen 30. Datavælgeren styres over to ledninger 210 og 212, der er forbundet med hver sin af data/styreledningerne 162,164, 15 der bærer signaler svarende til den binære repræsentation af bit nr. 1 og 2 i enhver mikroordre i læselageret 160. Sandhedstabellen for datavælgeren 208 er vist i fig. 17.
Som tidligere nævnt kan adderens 30 Y-indgang 72 tilsluttes udgangen på forskellige kilder, således at B-regi-20 sterets 28 og AMPCR-registerets 32 indhold kan ledes til Y-indgangen 72 via passende portkredsløb.
Ved den foreliggende udførelsesform er B-registeret 28 en 8 bit parallel/serieomsætter, der skifter data mod højre aktiveret af synkroniseringsimpulser,.jf. fig. 18.
25 Den parallelle adgang til hvert trin opnås ved hjælp af otte individuelle dataindgange, der åbnes, når lavt niveau påtrykkes en indlæseterminal. Det ottende trin i registeret 28 er forsynet med komplementære udgange Q,Q. Synkronisering udøves via et NOR-kredsløb 216, der tillader, at 30 en indgang 218 benyttes som synkroniseringsspærre. Har en af synkroniseringsindgangene høj værdi, hindres synkronisering, og har en af synkroniseringsindgangene lav værdi, medens indlæseterminalen har høj værdi, er den anden synkroniseringsindgang virksom. Den synkroniseringsspærrende 35 indgang 218 bør kun ændres til højt niveau, når synkroniseringsniveauet er højt. Parallel indlæsning hindres, så længe indlæseterminalenhar høj værdi. Når værdien bliver - 24 -
DK 158685 B
lav, indlæses data fra de otte parallelle indgange direkte i registeret, uanset synkroniseringsniveauet.
Analyse af de seksten mulige typer af aritmetiske og logiske funktioner, der kan defineres af en logisk ordre 5 68,vil vise, at nogle aritmetiske operationer forudsætter brug af B-registerets sande indhold. Til at vælge mellem B-registerets sande udgang (Q) og den komplementære (Q) benyttes en kombination (fig. 2 vist som et vælgerkredsløb 42) af tre AND-kredsløb 220,222 og 224 og et NOR-kredsløb 10 226 (jf. fig. 30N). AND-kredsløbene 222 og 224 har tre indgange, medens AND-kredsløbet 220 kun har to udgange.
AND-kredsløbenes udgange er forbundet med hver sin indgang på NOR-kredsløbet 226. AND-kredsløbet 220 lader signalet på registerets 28 Q-udgang passere, når det mod-15 tager signal på data/styreledningen 170 (bit nr. 5 i ordrerne i læselageret 160). AND-kredsløbets 220 udgang har høj værdi for de logiske ordrer 68, hvis 5te bit har værdien 0. AND-kredsløbet 222 lader signalet på registerets 28 Q-udgang passere, når det modtager signal på ledningen 20 170 og på ledningen 168 (bit nr. 4 i ordren). AND-kreds- løbets 222 udgang har således kun høj værdi for sådanne funktioner, hvis ordre 68 har værdierne 11 på 4de og 5te plads.
Det tredje AND-kredsløb 224 har til opgave at vælge 25 udgangen fra AMPCR-registeret 32 som Y-indgang 72 til adde-ren 30.
Som tidligere nævnt vil, hvis AMPCR-registeret 32 ikke vælges som retningsregister, de logiske ordrer, hvor registeret 32 benyttes som Y-indgang, have "O" for Y-indgang.
30 Ved den foretrukne udførelsesform kan funktionerne med AMPCR-registeret 32 som Y-indgang 72 til adderen 30 kun overføres til dette register 32. Analyse af en logisk instruktion 68 vil i dette tilfælde vise 0111 som bit nr.
7-10. Til angivelse af AMPCR-registeret 32 som retningsre-35 gister benyttes derfor et NAND-kredsløb 232 med fire indgange tilsluttet ledningen 176 (bit 8), ledningen 180 (bit 9), ledningen 182 (bit 10) og via en. inverter 234 led- - 25 -
DK 158685 B
ningen 174 (bit 7). NAND-kredsløbets 232 udgangsværdi vil da være lav, når AMPCR-registeret 32 angives som retnings” register for adderens 30 udgangssignaler.
Til at sikre, at Y-indgangen 72 kun udviser O, når 5 AMPCR-registeret 32 vælges som Y-indgang, men ikke som retningsregister, benyttes et NOR-kredsløb 230 med to indgange og et AND-kredsløb 224. Den ene af NOR-kredsløbets 230 indgange påtrykkes udgangssignaler fra NAND-kredsløbet 232, der angiver AMPCR-registeret 34 som retningsregister, me-10 dens den anden indgang til NOR-kredsløbet 230 er signalet på data/styreledningen 168 (bit nr. 4). Udgangen fra NOR-kredsløbet 230, serieudgangssignalet fra AMPCR-registeret 32 og signalet på ledningen 170 påtrykkes hver sin af indgangene på AND-kredsløbet 224. Udgangsværdien på NQR-kreds-15 løbet 230 vil således være positiv, når AMPCR-registeret 32 er retningsregister og Y-indgangen 72 for adderen 30.
Adderen 30 har tre indgange, nemlig X-indgangen 70, Y-indgangen 72 og en menteindgang 234 som vist i fig. 9.
Adderens udgange er sumudgangen 236 og menteudgangen 238.
20 Til at afgøre, om signalet på sumudgangen 236, menteud gangen 238 eller dennes komplementære skal angive adderre-sultatet, benyttes en portkredsløbskombination, der er vist i fig. 30M. Et AND-kredsløb 240 med to indgange benyttes til at lede signaler på sumudgangen 236 fra adderen 30. Så-25 danne signaler påtrykkes AND-kredsløbets 240 ene indgang, medens den anden indgang er forbundet med data/styreledningen 166 (bit 3) via en inverter 252. Menteudgangen 238 er via en inverter 248 forbundet med den ene indgang på et AND-kredsløb 242. Dette kredsløbs to andre indgange er for-30 bundet med ledningen 166 (bit 3) og ledningen 168 (bit 4) via en inverter 250.
Menteudgangen 238 er også forbundet med den ene indgang på et AND-kredsløb 244, hvis to andre indgange er forbundet med ledningerne 168 (bit 4) og 166 (bit 3).
35 Udgangene på de tre AND-kredsløb 240,242 og 244 på trykkes de tre indgange på et NOR-kredsløb 246.
- 26 -
DK 158685 B
NOR-kredsløbet 246 påtrykkes via AND-kredsløbet 240 summen af X- og Y-operanderne på udgangen 236, når bit 3 i den logiske ordre er 0, altså for de første otte aritmeti-ske/logiske operationer i tabel 3 (side 15). Komplementet 5 til menteudgangen 238 vil gennem AND-kredsløbet 242 blive påtrykt NOR-kredsløbet 246, når 3die og 4de bit i den logiske ordre 68 er 10, altså for alle NOR- og NAND-operatio-ner (jf. tabel 3).
Angiver den logiske ordre 68 en af de sidste fire ope-10 rationer i tabel 3 (bit 3 og 4 er 11), vil menteudgangen 238 blive påtrykt NOR-kredsløbet 246 gennem AND-kredsløbet 244.
Til angivelse af retningen af adderens 30 udgangssignal benyttes en afkoder 254, der er vist i fig. 19. Denne 15 arbejder, i overensstemmelse med tabel 4, på grundlag af den logiske ordres 68 bit nr. 9 og 10 på den måde, der fremgår af sandhedstabellen i fig. 20.
Når OUT vælges som retning i den logiske ordre 68, skal afkoderen 254 spærres. Hertil benyttes et NOR-kreds-20 løb 256 med to indgange, der er forbundet til ledningen 174 (bit 7), og via en inverter 258 til ledningen 176 (bit 8). NOR-kredsløbets 256 udgang er, som vist i fig. 19, forbundet til afkoderens 254 spærreterminal. Afkoderens 254 udgangsværdier Q vil da alle være høje, når OUT eller AMPCR-25 regisreret 32 er angivet som retning for adderresultatet.
En afkoder 258 svarende til den netop omtalte afkoder 254 benyttes til at angive den yderligere skiftefunktion i henhold til retningsfeltets indhold, der er omtalt i forbindelse med tabel 4. Afkoderen 258 påtrykkes de signaler, 30 der forekommer på data/styreledningerne 180 og 182, altså bit nr. 9 og 10. Komplementet til skifteafkoderens 258 fire udgangsværdier og udgangsværdien fra NAND-kredsløbet 204 påtrykkes via et OR-kredsløb A- og B-registrene 22-28 som synkroniseringsimpulser. Som tidligere nævnt frembyder 35 NAND-kredsløbet 204 lavt udgangsniveau for alle synkroniseringsimpulser under udøvelse af en logisk ordre 68. De fire udgangsværdier fra afkoderen 258 komplementeres af invertere 260.
- 27 -
DK 158685 B
Som nævnt medfører den yderligere skifteinstruktion i ordren 68, at retningsregisteret skiftes en bit mod højre, hvorhos den mest signifikante bit afgives af adderen, der arbejder på den mindst signifikante bit i X-udgangen 70 og 5 Y-indgangen 72. Virkningen af skifteafkoderen 258 er således en sikring af, at kun den første bit fra adderens 30 udgang tilføres retningsregisteret, (der er bestemt af afkoderen 254), medens alle andre bit fra adderens 30 udgang spærres mod dette register.
10 Ved den foretrukne udførelsesform er nøglen til skifte afkoderens 258 korrekte virke signalet på afkoderens indgang. Dette åbne/spærresignal afledes via et portkredsløb fra den mindst signifikante udgang 154 på den hexadecimale tæller 134. Portkredsløbet omfatter et NAND-kredsløb 262, 15 der har to indgange, og hvis udgang er forbundet til den ene af tre indgange på et NAND-kredsløb 264. Indgangene på NAND-kredsløbet 262 påtrykkes komplementet til den mindst signifikante udgang 154 og udgangssignalet på et NOR-kreds-løb 266 med to indgange forbundet til terminalerne 150 og 20 152 på den hexadecimale tæller 134. De to øvrige indgange på NAND-kredsløbet 264 er forbundet med data/styrelednin-gerne 174 (bit 7) og 186 (bit 12). Skifteafkoderen 256 påtrykkes udgangssignalet fra NAND-kredsløbet 264.
Så snart en MCC-impuls 126 påtrykkes indgangsterminalen 25 140 på den programmerbare enhed 10, sættes udgangene på tæl leren 134 på den logiske værdi 0. Til tiden t = t er udgangsværdierne på inverterens 268 og NOR-kredsløbets 266 udgange høje, på NAND-kredsløbets 262 udgang lave og på NAND-kredsløbets 264 høje uanset værdierne af signalerne på 30 ledningerne 174 (bit 7) og 186 (bit 12). Skifteafkoderen 258 er således spærret for tiden t = t . Denne tilstand vedvarer, til bagflanken af den første synkroniseringsimpuls (t = t^) passerer NAND-kredsløbet 132.
Som omtalt er B-registeret 28 et 8 bit skifteregister 35 for parallel indlæsning og bestående af otte trin, hvori data skiftes fra trin til trin mod højre ved påtrykkelse af synkroniseringsimpulser. B-registeret 28 har imidlertid,
DK 158685B
- 28 - som vist i fig. 18, også en serieindgangsterminal. De otte indgangssignaler til registeret 28 er signalerne på data/styreledningerne for bit nr. 1-8. B-registeret 28 påtrykkes normalt synkroniseringsimpulser fra udgangen af 5 NAND-kredsløbet 204, medens spærreindgangen er forbundet med skifteafkoderens 258 udgang via en inverter 260.
Vælgerkredsløbene 38 (fig. 2) består af tre AND-kreds-løb 270,272 og 274, hvis udgange er forbundet med indgangene på et NOR-kredsløb 276. Udgangen på NOR-kredsløbet 10 276 er forbundet til B-registerets 28 serieindgangsterminal.
AND-kredsløbets 270 funktion er at lede adderens 30 udgangssignaler i serie til B-registeret 28. AND-kredsløbets 270 indgange er herfor forbundet med udgangen fra NOR-kredsløbet 246 og udgangen på retningsafkoderen 245 via en inver-15 ter 278. AND-kredsløbet 270 tillader således kun, at signaler fra adderen 30 passerer til B-registeret 28, hvis dette er retningsregister.
AND-kredsløbet 272 har til opgave at afkode en serieindlæsning fra en ydre kilde over DATA IN terminalen til 20 B-registeret 28. AND-kredsløbets 272 dataindgang er signalet på DATA IN terminalen 280, medens kredsløbets styreindgange er signalerne på ledningen 174 (bit 7) og, via en inverter 238, på ledningen 176 (bit 8), jf. tabel 3.
. Når et A-register ikke er valgt som retningsregister, 25 recirkuleres registerets Q-udgang til registerets indgang.
Når B-registeret 28 ikke er retningsregister, recirkuleres dets Q-udgang. Denne operation styres af AND-kredsløbet 274. Dataindgangen på dette kredsløb 274 er B-registerets 28 Q-udgang, medens styreindgangene er tilsluttet retnings-30 afkoderen 254 og et NAND-kredsløb 280 med to indgange.
Disse indgange er forbundet med ledningen 174 (bit 7) og via en inverter med ledningen 176 (bit 8). Herved opnås, at Q-udgangen på B-registeret 28 recirkuleres til registerets serieindgang via AND-kredsløbet 274 og NOR-kredsløbet 35 276, hver gang B-registeret ikke er retningsregister, og der ikke ønskes indlæsning via DATA IN terminalen.
DK 158685B
- 29 -
Til behandling af prøveordrer 66 benyttes et NAND-kredsløb 284 med tre indgange, jf. fig. 30H. De tre indgange påtrykkes signaler på data/styreledningerne 182 (bit 10), 184 (bit 11) og 186 (bit 12). Som nævnt kan ved 5 den foretrukne udføre1sesform en prøveordre 66 vælge en af otte betingelsesbit, nemlig de fire adderbit 76 (MST), 74 (LST), 78 (AOV) og 80 (ABT), den ydre betingelsesbit 88 (EXT) og de tre lokale betingelsesbit 82 (LCl), 84 (LC2) og 86 (LC3) fra registeret 52.
10 MST-betingelsen afprøves via et register i form af en flip-flop 202 af D-type, jf. fig. 8. Denne flip-flop 202 sættes, hvis adderens 30 mest signifikante eller ottende bit er JL, og slettes, hvis den ottende bit er 0. Som bekendt har en flip-flop af D-type en sætindgang, en slette-15 indgang, en synkroniseringsindgang og en dataindgang samt komplementære udgange Q og Q. Information overføres til Q-udgangen af en synkroniseringsimpuls.
MST-registeret 202 udgør et 1-bit lager. Under drift er registerets 202 udgang lig med indgangen forsinket en 20 synkroniseringsimpuls. Registerets sætindgang og slette-indgang, der er asynkrone indgange, har fortrinsret for de to andre indgange, således at O på sætindgangen medfører JL på Q-udgangen. Logisk 0 på Q-udgangen fremkaldes af 0 på sletteindgangen, jf. sandhedstabellen i fig. 21.
25 Ved den foretrukne udføreIsesform er sletteindgangen på MST-registeret 202 bundet til et potentiale Vcc· Sætindgangen påtrykkes udgangen fra NOR-kredsløbet 198 via en inverter 200. Da NOR-kredsløbets 198 udgang, som tidligere nævnt, er høj alene under en MCC-impuls 126, vil værdien på 30 registerets 202 Q-udgang være JL, medens en MCC-impuls påtrykkes. Adderinformation til registerets dataindgang findes på udgangen af NOR-kredsløbet 246.
Et LST-register 286 er logisk identisk med MST-registeret 202, men såvel sætindgangen som sletteindgangen på 35 LST-registeret 286 er bundet til potentialet V . LST- registerets 286 dataindgang er som MST-registerets 202 forbundet til NOR-kredsløbets 246 udgang.
- 30 -
DK 158685 B
Synkroniseringsindgangen på LST-registeret 286 er forbundet med udgangen på et NAND-kredsløb 288 med to indgange.
Den ene af disse indgange påtrykkes udgangssignalet på in-verteren 206 (høj værdi, når en logisk ordre 68 udføres).
5 NAND-kredsløb 292 med tre indgange, nemlig udgangene fra NOR-kredsløbet 266, på inverteren 268 og på inverteren 136.
Heraf følger, at udgangen på NAND-kredsløbet 288 er lav alene under den første synkroniseringsimpuls efter MCC-im-pulsen 126 (tQ<t<t^). LST-registeret 286 modtager altså 10 kun en synkroniseringsimpuls svarende til den første efter en MCC-impuls. Udgangen på LST-registeret 286 er lig med dataindgangen forsinket med den ene synkroniseringsimpuls.
Til ABT-prøvning benyttes to NAND-kredsløb 290 og 292 med to indgange. Q-udgangen på MST-registeret 202 er for-15 bundet til en af indgangene på det første NAND-kredsløb 290, hvis udgang er forbundet med en af indgangene på det andet NAND-kredsløb 292. Den anden indgang på NAND-kreds-løbet 292 påtrykkes udgangen af NAND-kredsløbet 288, medens den anden indgang på NAND-kredsløbet 290 påtrykkes udgangen 20 på NAND-kredsløbet 292. Som følge heraf vil udgangen på NAND-kredsløbet 292 uanset udgangen på NAND-kredsløbet 290 være høj under den første synkroniseringsimpuls. Hvis alle bit fra adderens 30 udgang er 1^, vil udgangen på NAND-kreds-løbet 290 være lav, således at udgangen på kredsløbet 292 25 bliver høj for alle synkroniseringsimpulser ved en given adderoperation. Er imidlertid en hvilken som helst af de otte bit fra adderen 0, skifter udgangen på NAND-kredsløbet 292 til lav og forbliver i denne tilstand, til den næste ordreadresse fremkaldes af MPCR-registeret 44.
30 Overløb prøves af et AOV-register 294, der logisk og strukturelt er identisk med MST- og LST-registrene 202 og 284. AOV-registerets 294 dataindgang er forbundet med udgangsterminalen 238 på adderen, medens synkroniseringsimpulser påtrykkes af et NAND-kredsløb 296 med tre indgange for-35 bundet til henholdsvis udgangen fra NAND-kredsløbet 204 via en inverter 298, data/styreledningen 166 (bit 3) via en inverter 252 og udgangen på et NAND-kredsløb 300 med to ind- - 31 -
DK 158685 B
gange. Disse to indgange er forbundet med ledningen 168 (bit 4) og via inverteren 228 med ledningenl70 (bit 5).
NAND-kredsløbet 300 har til opgave at erkende, om den logiske ordre 68 foreskriver en af operationerne X XOR B el-5 ler X EQV B.
NAND-kredsløbet 296 skal herfor afkode alle aritmetiske operationer ved at frembringe lav værdi på AOV-registe-rets 294 synkroniseringsindgang for alle synkroniseringsimpulser under udøvelse af en logisk ordre 68. Sætsignal 10 til AOV-registeret frembringes på udgangen af et NAND-kreds-løb 302 med to indgange, medens slettesignal frembringes på udgangen af et NAND-kredsløb 304 med to indgange. Den ene indgang på begge de to NAND-kredsløb 303,304 påtrykkes det signal på NOR-kredsløbet 198, som er lavt, alene medens en 15 MCC-impuls 126 påtrykkes under udførelse af en logisk ordre 68. Den anden indgang på NAND-kredsløbet 304 er, via en inverter 306, ligeledes forbundet med ledningen 172 (bit 6 .
Under hensyn til, at sletteindgang og sætindgang på AOV-registeret 294 er uafhængige af synkroniseringsindgan-20 gen, indses, at en lav værdi på sætindgangen medfører _1 på registerets 294 Q-udgang, medens en lav værdi på sletteind-gangen medfører 0 på Q-udgangen. NAND-kredsløbets 302 funktion er således at give Q-udgangen på AOV-registeret 294 værdien 1_ for t = t for følgende aritmetiske operatio-25 ner: X+B X+ZogX-B-1, og værdien 0 for t = t for følgende aritmetiske funktioner: X+B+l, X+Z+l og X + B + 1. AOV-registerets 294 Q-udgang er forbundet med adderens 30 indgangsterminal 234.
De tre lokale betingelsesbit 82,84 og 86 prøves af et 30 LCl-register 306, et LC2-register 308 og et LC3-register 310. Disse tre registre er logisk identiske med MST-regi-steret 202.
Som tidligere antydet slettes de lokale betingelsesbit ved prøvning, og sætfeltet 100 i ordren 66 benyttes 35 til at sætte et lokalt betingelsesregister. Endvidere skal det bemærkes, at det er nødvendigt at prøve en betingelse, der er sand, for at være i stand til at sætte et - 32 -
DK 158685 B
lokalt register. Nærmere herom vil følge.
Til afgørelse af, hvilken betingelsesbit der skal prøves, benyttes en betingelsesvælger 312, fig. 22. I overensstemmelse med tre styresignaler udvælger denne en 5 af otte datakilder og frembringer komplementære udgangssignaler. De tre styresignaler er signalerne på ledningen 163 (bit 1), på ledningen 164 (bit 2) og på ledningen 166 (bit 3). De otte indgangsdata på vælgeren 312 er de otte betingelsesbit fra henholdsvis Q-udgangen på MST-regi-10 steret 202, Q-udgangen på LST-registeret 286, Q-udgangen på AOV-registeret 294, udgangen på NAND-kredsløbet 292 (ABT-bit 80), den ydre betingelsesterminal 314 og Q-udgangen på de tre lokale registre 306,308 og 310.
Q-udgangen på vælgeren 312 afgiver styresignal for 15 sætning af de lokale betingelsesregistre 306, 308 og 310, medens Q-udgangen afgiver styresignal, der benyttes til valg af følgende ordre.
Til afgørelse af, hvilket af de tre lokale registre 306, 308 eller 310 der skal sættes, benyttes en afkoder 20 314 til afkodning af bit nr. 4 og 5 i ordren 66.
Denne sætteafkoders struktur og logik svarer til retningsafkoderen 254 og skifteafkoderen 258, bortset fra, at de to indgangsværdier kun afkodes til tre mulige udgange. Det logiske diagram for afkoderen 314 er vist i 25 fig. 24, og den tilsvarende sandhedstabel er vist i fig.
25. Sætteafkoderens 314 to indgange er, som antydet, forbundet med ledningerne 168 (bit 4) og 170 (bit 5). De tre udgange på afkoderen 314 er forbundet til dataindgangen på hver sit af de tre lokale betingelsesregistre 306, 30 308 og 310. Ved den foretrukne udførelsesform er hvert af disse registres sletteindgang bundet til den respektive dataudgang, således at man sikrer, at Q-udgangen på registrene sættes til 0, når værdien på det pågældende registers dataindgang er lav i overensstemmelse med signalerne 35 (bit 4 og 5) på afkoderens 314 indgange. Endvidere er sætindgangen på hvert register bundet til potentialet Vcc for at sikre, at signaler på disse indgange ikke får indflydelse på registrenes virke.
- 33 -
DK 158685 B
Det aktiverende signal for sætteafkoderen 314 afgives af udgangen på et NAND-kredsløb 316 med to indgange.
Dette NAND-kredsløbs 316 funktion er at gøre afkoderen 314 i stand til at sætte det korrekte lokalregister 306,308 el-5 ler 310 alene, når den af vælgeren 312 prøvede betingelse er sand. De to indgange på NAND-kredsløbet 316 påtrykkes Q-udgangen på vælgeren 316, som kun er høj, hvis prøven er sand, og udgangen af NOR-kredsløb 318 med to indgange.
Funktionen af NOR-kredsløbet 318 er at frembringe et 10 højt niveau alene under den anden synkroniseringsimpuls (t = t2) under udførelsen af en prøveordre 66. De to indgange på NOR-kredsløbet 318 er herfor forbundet med udgangen for NAND-kredsløbet 284 (lav, når ordren 66 udføres) og udgangen på et NAND-kredsløb 320 med tre indgange.
15 Dette NAND-kredsløb 320 skal frembringe et lavt niveau i løbet af den anden synkroniseringsimpuls, når - og kun når - en prøveordre 66 udføres. De tre indgange på NAND-kredsløbet 320 er forbundet med udgangen af NOR-kredsløbet 226, LST-terminalen 154 på den hexadecimale tæller 134 og 20 udgangen på inverteren 136. Analyse af fig. 27 vil vise, at disse tre indgange medfører, at NAND-kredsløbets 320 udgang bliver lav alene under den anden synkroniseringsimpuls efter MCC-impulsen 126.
Som nævnt er det kun tre af de otte mulige betingelser, 25 nemlig de lokale, der kan gensættes ved prøvning. Herfor benyttes en gensætningsafkoder 322, der logisk og strukturelt svarer til sætteafkoderen 314. Da bit nr. 2 og 3 i ordren fastlægger, hvilke af de lokale registre der skal prøves, medens bit nr. 1_ angiver, at en lokal betingelse 30 skal prøves, er de to styreindgange på afkoderen 322 forbundet til ledningerne 164 (bit 2) og 166 (bit 3).
Aktiveringssignalet på gensætningsafkoderen 322 frembringes på udgangen af et NAND-kredsløb 324 med to indgange. Dette NAND-kredsløb 324 har til opgave at aktivere afkode-35 ren 322 alene, når en lokal betingelse afprøves. De to indgange er derfor forbundet med ledningen 162 (bit 1) og udgangen på NOR-kredsløbet 318, der er høj alene under den - 34 -
DK 158685 B
anden synkroniseringsimpuls, når en prøveordre 66 udføres.
De tre udgange på gensætningsafkoderen 322 er forbundet til hver sin af de tre lokale registres 306,308 og 310 5 synkroniseringsindgange.
Til valg af næste ordre benyttes en efterfølgervælger 324. Ved den foretrukne udførelsesform omfatter denne to 3-kanalvælgere 326,328, fig. 13, med to fælles styreledninger. Hver af 3-kanalvælgerne har tre dataindgange og 10 komplementære udgange.
De to styresignaler er komplementet til udgangen på betingelsesvælgeren 312 og udgangen på NAND-kredsløbet 284.
De tre dataindgange på den ene 3-kanalvælger 326 er forbundet med ledningen 174 (bit 7), med ledningen 180 (bit 9) og 15 via inverteren 198 med ledningen 184 (bit 11). Den anden 3-kanalvælgers 328 dataindgange er forbundet med ledningerne 172 (bit 6), 176 (bit 8) og 186 (bit 12).
Ved den foretrukne udførelsesform vil, når udgangen på AND-kredsløbet 284 er lav og komplementet til udgangen 20 på betingelsesvælgeren 312 høj, Q-udgangen på den første 3-kanalvælger 326 være signalet på ledningen 176 (bit 8), medens Q-udgangen på den anden vælger 378 vil være signalet på ledningen 180 (bit 9). Er imidlertid komplementet til udgangen på betingelsesvælgeren 312 lavt samtidig med 25 udgangen på NAND-kredsløbet 284, vil Q-udgangen på den første 3-kanalvælger 326 være signalet på ledningen 172 (bit 6), og Q-udgangen på den anden vælger 328 vil være signalet på ledningen 174 (bit 7). Bliver udgangen på NAND-kredsløbet 284 høj, vil Q-udgangen på den første vælger 326 blive sig-30 na.let på ledningen 186 (bit 12), og Q-udgangen på den anden vælger 328 vil blive komplementet til signalet på ledningen 184 (bit 11) uanset styresignalet på betingelsesvælgeren 312.
Efterfølgervælgeren 324 frembringer altså på sin ud-35 gang signalet, der refremsender bit 6-9 i ordren 66. Udføres denne ordretype ikke, vil vælgeren 324 på udgangen repræsentere bit nr. 11 og 12 i den ordre, der da udføres.
DK 158685B
- 35 -
Det ses, at for enhver prøveordre 66 vil vælgeren 324 definere en sand efterfølger, hvis betingelsesprøven (vælgeren 312) er sand, og den passende falske efterfølger, der angives i ordren 66, hvis betingelsesprøven er falsk.
5 Den sande udgang på denne første 3-kanalvælger 326 på trykkes en af tre indgange på et NAND-kredsløb 330, medens den komplementerede udgang påtrykkes en af tre indgange på et NAND-kredsløb 332. Tilsvarende ledes den anden vælgers 328 sande udgang til en af tre indgange på et NAND-kreds-10 løb 334, medens den komplemente påtrykkes en indgang på NAND-kredsløbet 330 og 332. Den tredje indgang på NAND-kredsløbene 330 og 334 er udgangen på NOR-kredsløbet 318.
Denne er kun høj under den anden synkroniseringsimpuls, når en prøveordre 66 udføres. Den tredje indgang på NAND-15 kredsløbet 332 er udgangen på inverteren 290. Denne er kun høj under den første synkroniseringsimpuls for enhver ordre.
NAND-kredsløbet 332 har den funktion at afkode en hopordre, medens NAND-kredsløbet 330 afkoder skipordrer.
20 NAND-kredsløbet 334 afkoder SAVE-ordrer. Udgangen på NAND-kredsløbet 332 påtrykkes som indlæsestyresignal terminalen 191 på MPCR-registeret 44, fig. 26.
MPCR-registeret 44 er en 8 bit tæller bestående af otte M-S flip-flop. Synkront virke opnås ved, at alle otte 25 flip-flop synkroniseres samtidig, således at deres udgange skifter samtidig. Denne virkemåde eliminerer udgangsspidser, som normalt opstår i asynkrone tællere. Udgangene på de otte M-S flip-flop i MPCR-registeret 44 trigges af en lav-til-høj overgang på tælleindgangen 190.
30 MPCR-registeret er fuldt programmerbart, dvs., at ud gangene kan sættes til enhver tilstand, ved at data indlæses på de pågældende indgange, medens indlæseterminalen 191 er lav. De otte udgange på registeret 44 vil skifte til overensstemmelse med dataindgangene uafhængigt af synkro-35 niseringsimpulserne.
- 36 -
DK 158685 B
MPCR-registeret er endvidere forsynet med en slette-terminal 188. Når denne påtrykkes en høj værdi, ændres alle udgange til lavværdi. Slettefunktionen er uafhængig af tælle- og indlæseterminalerne 190 og 192. Det slette-5 signal 128, der benyttes, frembringes på en ydre slette-terminal 502.
Hvis NAND-kredsløbet 332 afkoder en hopordre på vælgerens 324 udgang, vil et signal med lavt niveau blive påtrykt MPCR-registerets 44 indlæseterminal 192 alene under 10 den første synkroniseringsimpuls, medens en prøveordre 66 udføres. For alle andre synkroniseringsimpulser og for alle andre ordrer vil udgangen på NAND-kredsløbet 332 og dermed indlæseterminalen 191 på registeret 44 være høj.
Når styreimpulsen til terminalen 192 er lav, vil således 15 adressen i AMPCR-registeret 32 blive indlæst i MPCR-regi-steret uanset styresignalet på MPCR-registerets 44 tælleterminal 190. Når en springordre er angivet for enten den sande eller falske efterfølger, vil adressen i AMPCR-registeret 32 blive adressen for den følgende ordre, der skal 20 udføres i den programmerbare enhed 10.
Til udførelse af en SKIP-ordre påtrykkes udgangen af NAND-kredsløbet 330 den ene af to indgange på et NAND-kredsløb 336, hvis udgang påtrykkes MPCR-registerets 44 tælleterminal 190. Den anden indgang på NAND-kredsløbet 25 336 påtrykkes udgangen på NAND-kredsløbet 292, der kun er lav under den første synkroniseringsimpuls (for alle ordretyper). NAND-kredsløbet 336 vil således frembringe en lav-til-høj overgang på tælleterminalen 190 til tiden t = t^ for enhver ordre og til tiden t = hvis en SKIP-ordre 30 er indeholdt i prøveordren 66.
Uanset udgangen på NAND-kredsløbet 330 vil udgangen på NAND-kredsløbet 336 være høj for t = t^ på grund af signalet fra NAND-kredsløbet 292. NAND-kredsløbets 336 opgave er at udføre STEP-ordren, uanset den ordre der er under ud-35 førelse, ved til indholdet i MPCR-registeret 44 at lægge 1. Denne stepprocedure vil ikke indvirke på en hopordre, - 37 -
DK 158685 B
da styresignalet for denne påtrykkes indlæseterminalen 191, der har fortrinsret for ethvert signal på tælleterminalen 190.
Til udførelse af en SAVE-ordre påtrykkes udgangen på 5 NAND-kredsløbet 334 den ene af to indgange på et NAND-kredsløb 339. Dette kredsløbs 339 udgang påtrykkes en indlæseterminal 340 på AMPCR-registeret 32 (fig. 30H), og den anden indgang påtrykkes via en inverter 342 udgangen på et NOR-kredsløb 334 med to indgange.
10 NOR-kredsløbets 334 opgave er at afkode en GO TO
LITERAL ordre 64c og en LITERAL TO AMPCR ordre 64a.
Disse, og kun disse, ordrer har 0 som bit nr. 12. Data-og styreindgang på NOR-kredsløbet 334 er derfor forbundet til data/styreledningen 186 (bit 12) og udgangen på NAND-15 kredsløbet 142, der er lav alene under en MCC-impuls 126.
Udgangen af NAND-kredsløbet 338 vil medføre, at AMPCR-registeret 32 til tiden t = t tilføres den valgte udgang fra vælgeren 192 for de to nævnte ordrer. Endvidere vil udgangen på NAND-kredsløbet 338 medføre, at AMPCR-regi-20 steret 32 til tiden t = t2 tilføres vælgerudgangen, hver gang en SAVE-ordre afkodes af vælgeren 324 og NAND-kredsløbet 334. For alle andre synkroniseringsimpulser, dvs. t = t^, tg, t^ ... tg, vil udgangen på NAND-kredsløbet 338 være lav.
25 Ved den foretrukne udførelsesform er AMPCR-registeret et 8.bit skifteregister, der også benyttes som parallel-lagerregister, jf. fig. 28. Ud over otte dataindgange og otte dataudgange og indlæsestyreterminalen 340 har AMPCR-registeret 32 en serieindgangsterminal og en synkronise-30 ringsterminal.
AMPCR-registeret 32 består af otte R-S flip-flop, otte AND-OR-INVERT-kredsløb, et AND-OR-kredsløb 346 og ti inverterdrivtrin. Indbyrdes forbindelse af disse funktioner medfører et foranderligt register, som vil udføre et 35 højre-skift, når indlæseterminalen 340 påtrykkes et pas sende signal.
- 38 -
DK 158685 B
Synkroniseringssignaler til AMPCR-registeret 32 frembringes på udgangen af NOR-kredsløbet 214. Som nævnt er en af dette kredsløbs 214 indgange forbundet med udgangen på NAND-kredsløbet 204, der frembringer de synkroniserings-5 impulser, der er nødvendige for udførelse af en logisk ordre 68. Den anden indgang på NOR-kredsløbet 214 er forbundet med udgangen på NAND-kredsløbet 232, der kun har lav værdi, når AMPCR-registeret 32 er angivet som retningsregister ifølge den logiske ordre 68.
10 Hvert AND-OR-INVERT-kredsløb i registeret 32 består af to AND-kredsløb, ANDl og AND2. Når logisk 0 påtrykkes udlæsekontrolterminalen 340 på AMPCR-registeret 32, åbnes kredsløbet ANDl, medens kredsløbet AND2 spærres. Herved kobles udgangen af hver R-S flip-flop til R-S-indgangene 15 på den efterfølgende flip-flop, og der opnås en højreskiftende operation styret af synkroniseringsimpulserne. Yderligere indføres seriedata på serieindgangen, medens de otte parallelle indgange er spærret af kredsløbene AND2.
Når terminalen 340 i stedet påtrykkes logisk 1, spær-20 res kredsløbene ANDl, og kredsløbene AND2 åbnes, således at data kan indlæses gennem de otte parallelle indgange.
Skifteregisteret synkroniseres af AND-OR-kredsløbet 346, der sørger for, at synkroniseringskilden kun benyttes ved højreskifteoperationer. Information skal være 25 til stede på R-S-indgangene inden synkroniseringen. Overførsel af information til Q-udgangen på AMPCR-registerets otte flip-flop sker, når synkroniseringsindgangen skiftes fra 1 til 0.
Når AMPCR-registeret 32 er angivet som retningsregi-30 ster af retningsfeltet 114 i den logiske ordre 68, forbindes serieudgangen på adderen 30 til serieindgangen på AMPCR-registeret 32 via NOR-kredsløbet 246, hvorhos synkroniseringsimpulser kommer fra udgangen på NOR-kredsløbet 214. I modsætning hertil vil, ved udøvelse af en SAVE-, 35 GO TO LITERAL- eller LITERAL TO AMPCR-ordre, de otte parallelle indgange på AMPCR-registeret 32 modtage i parallel de respektive signaler fra vælgeren 192 i overensstem - 39 -
DK 158685 B
melse med indlæsekontrolsignaler fra NAND-kredsløbene 338 og 334.
De parallelle AMPCR-indgange vælges af signalet på vælgerens 192 terminal 194. Styresignalet for terminalen 5 194 findes på indgangen af NAND-kredsløbet 284, der har lav værdi, alene når en logisk ordre 68 udføres. Hver gang en logisk ordre udføres, vil således vælgeren 192 som de parallelle indgange for AMPCR-registeret 32 frembyde indholdet af MPCR-registeret 44. For alle andre or-10 drer vil vælgeren 192 som indgang til AMPCR-registeret 33 frembyde de signaler, der forekommer på data/styreled-ningerne 162-176 (bit 1-8).
De kredse, der har relation til LITERAL TO AMPCR- og GO TO LITERAL-ordrerne 64a og 64c, er allerede omtalt i 15 forbindelse med prøveordrer 66. I det følgende skal omtales de yderligere kredse, der har relation til LITERAL TO B-ordren 64b.
Denne ordre afkodes i et NAND-kredsløb 348, hvis fire indgange påtrykkes signalerne på ledningen 182 (bit 20 9), ledningen 86 (bit 12) (jf. fig. 30G), udgangen af in- verteren 290 (jf. fig. 27) og udgangen af et NOR-kredsløb 350 med to indgange. Udgangen på NAND-kredsløbet 348 er forbundet med B-registerets 28 skifte/indlæseterminal, fig. 17.
25 NOR-kredsløbet 350 har til opgave at afkode de sid ste to bit (bit 10 og 11) i styrekoden for ordren 64b, og dets to indgange er derfor forbundet med ledningen 182 (bit 10) og via en inverter 198 med ledningen 184 (bit 11).
I denne opstilling vil NAND-kredsløbet 348, alene 30 nåren litteral ordre er ordren LITERAL TO B, afgive en lav værdi til skifte/indlæseterminalen på B-registeret.
Når dette sker, vil data på de otte parallelle indgange blive indlæst i B-registeret 28 uanset synkroniseringsimpulsernes tilstand.
35 Udgangen på NAND-kredsløbet 352 vil være lav, når en DEV-ordre 118 skal udføres. Denne udgang er forbundet med den ene af de to indgange på et NAND-kredsløb 356 og - 40 -
DK 158685 B
via en inverter 360 (fig. 3ON) med den ene af to indgange på et NAND-kredsløb 358.
Den anden indgang på NAND-kredsløbet 356 er forbundet med udgangen på NOR-kredsløbet 246 (adderens 30 udgang), 5 medens den anden indgang på NAND-kredsløbet 358 er forbundet med serieudgangen på et register 362 (fig. 29). Dette register 362 er i fig. 2 vist som en buffer 364. Udgangene på de to NAND-kredsløb 356,358 er tilsluttet hver sin af de to indgange på et NOR-kredsløb 370.
10 Registeret 362 er et 8-bit parallel-serie/skifteregi- ster, der skifter data mod højre, når det påtrykkes synkroniseringsimpulser fra udgangen af NAND-kredsløbet 132 (fig. 30B). De otte indgange på registeret 362 er forbundet med ledningerne 162-176 (bit 1-8). Et styresignal 15 for den parallelle indlæsning aftages på udgangen af NAND-kredsløbet 142 (MCC-impulser 126 til den hexadecimale tællers 134 terminal 146).
Når en MCC-impuls til tiden t = t påtrykkes den programmerbare enhed 10, vil de otte første bit af ordren 20 blive parallelindlæst i registeret 362. Til tidspunkterne t-j^......tg vil indholdet af registeret 362 bit for bit blive overført til indgangen på NAND-kredsløbet 358 (bit 8 først).
Da NAND-kredsløbet 352, der afkoder DEV-ordrer, kun 25 har lav udgangsværdi, når en sådan ordre 118 skal udføres, er funktionen af NAND-kredsløbet 358 at lede til enhedens 10 DATA OUT-terminal 368 den litterale del 120 af ordren 118 via NOR-kredsløbet 370. Omvendt vil NAND-kredsløbet 356 altid lede adderens 30 udgang via NOR-kredsløbet 246 30 til terminalen 368, når en DEV-ordre ikke udføres.
Styreledningen 90, der benyttes som hjælp for strømmen af informationer til og fra den programmerbare enhed 10, påtrykkes signaler fra data/styreledningerne 180 (bit 9) og 182 (bit 10) samt udgangene på to NAND-kreds-35 løb 372 og 374. Signalerne, der optræder på enhedens eksterne styreterminaler 376,378, angiver for omgivelserne, - 41 -
DK 158685 B
hvilket register OUT O, OUT 1, OUT 2 eller OUT 3 der angives af en logisk ordre (netop af bit 9 og 10).
De to andre styrebit A og B fra NAND-kredsløbene 372 og 374 angiver henholdsvis, at OUT er anført som 5 retning, og at en DEV-ordre 118 skal udføres.
Ved den foretrukne udførelsesform vil de fire mulige kombinationer af de to styrebit A og B angive bit A bit B angive 0 0 intet 0 1 serieoverføring (tabel 4)
1 0 OUT
1 1 DEV
Hvert NAND-kredsløb 372,374 har to indgange (fig.
15 30H). De to indgange på kredsløbet 372 er forbundet med udgangen på NAND-kreds løbet 352 (lav når DTSV-ordre skal udføres) og udgangen på et NAND-kredsløb 330. NAND-kredsløbet 380 har to indgange, hvoraf den ene er forbundet med udgangen af inverteren 206 (høj, nar logisk ordre 20 68 udføres), og den anden er forbundet med NOR-kredsløbet 256 (høj for OUT). NAND-kredsløbet 380 viU således afgive lavt niveau til NAND-kredsløbet 372, når OUT er angivet i en logisk ordres 68 retningsfelt 114. NAND-kredsløbet 272 vil altså afgive højt niveau (bit A), naår DEV-ordrer 25 118 udføres, eller OUT er angivet.
De to indgange på det andet NAND-kredsløb 374 er forbundet til udgangen på NAND-kredsløbet 352 og udgangen på et NAND-kredsløb 382. De to indgange på dette kredsløb 382 er forbundet med udgangen på inverteren 206 og udgan-30 gen på et NOR-kredsløb 384. De to indgange på NOR-kreds-løbet 384 er forbundet med ledningen 176 Obit 8) og via en inverter 234 med ledningen 174 (bit 7).
NOR-kredsløbet 384 vil have højt udgangsniveau, når serieoverføring er angivet. Dette høje niveau vil via 35 NAND-kredsløbet 382 give lavt indgangsniveau på NAND-kredsløbet 374. NAND-kredsløbet 374 vil saledes afgive højt niveau (bit B) på terminalen 388, når serieoverføring eller DEV-ordre er angivet.
- 42 -
DK 158685 B
I overensstemmelse med ordreadressen på udgangen af MPCR-registeret 44 vil lageret 160 fremskaffe den passende 12-bit ordre på indgangen af ordreregisteret 500, fig. 3OA. Som antydet er ordreregisteret 500 et 12-bit 5 parallellager, som overfører information til udgangsterminalerne, når en synkroniseringsimpuls skifter fra højt til lavt niveau. De tolv indgange til ordreregisteret 500 er forbundet med lageret 160, medens de tolv udgange er forbundet med data/styreledningerne 162-186. Synkro-10 niseringsimpulser til ordreregisteret aftages på udgangen af inverteren 156 (LP-impuls 122 til terminalen 158). Det skal bemærkes, at et høj/lav-skift på ordreregisterets synkroniseringsterminal vil kun indtræde for t = tg. En næste ordre vil således ikke blive indlæst i registeret 15 500, før den forudgående ordre er fuldført.
Ved at indlægge arbejdsfunktioner i mikroprogrammer lagrer man alle nødvendige styre- og datasignaler i lagre, således at unødvendige forbindelser til omgivelserne undgås. Ved den foretrukne udførelsesform benyttes tolv for-20 bindeiser til omgivelserne. Af disse benyttes fem, nemlig DATA IN-, CLOCK IN-, MCC-, MPCR-slette- og ydre betingelsesterminalerne 280, 130, 140, 502 og 314 til styre- og synkroniseringssignaler til den programmerbare enhed.
Signaler fra enheden 10 til omgivelserne ledes via CLOCK 25 OUT-, LP- og DATA OUT-terminalerne 138, 158 og 368 og de fire eksterne styreterminaler 376, 378, 386 og 388. To yderligere forbindelsesterminaler benyttes til spændingsforsyning.
I det foranstående er som.nævnt antaget, at mikrola-30 geret 14 (fig. 2) er et læselager. Med denne antagelse kan et læse-skrivelager først benyttes til at udvikle det optimale program for en given arbejdsfunktion. Af dette optimale program kan et bitmønster for et læselager genereres og samarbejdes med den uvariable logiske del af en-35 heden, der herefter kan udføres som en enkelt LSI-chip.
- 43 -
DK 158685 B
Kun litterale, logiske, betingede og DEV-ordrer er omtalt, men tilføjelser eller udeladelser i ordrerne ændrer ikke den grundlæggende struktur. Yderligere kredse kan let tilføjes for yderligere funktioner.
5 10 15

Claims (5)

1. Processor til en mikroprogrammerbar datamat med et lager for mikroordrer, hvis lagerpladser adresseres af en lagerstyreenhed og via en styreenhed afgiver mikroordrer til en logisk enhed til udførelse af aritmetiske 5 og logiske operationer, hvilken logisk enhed er forbundet med en ekstern grænseflade via en bitseriel dataindgangs-og dataudgangsbus og indeholder en adder, flere A- og et B-register samt vælgerkredse til at forbinde registrenes ind- og udgange med adderens ind- og udgange, kende-10 tegnet ved, at styreenheden (18) omfatter en med mikroordrelagerets (14) udgang forbundet afkoder (46) til bitparallel modtagelse af mikroordrer, et efterfølgervæl-gerkredsløb (48) til bestemmelse af den næste mikroordre, et betingelsesudvalgskredsløb (50) og et register for be-15 tingelser (52), der modtager de af den logiske enheds adder (30) afgivne betingelsesbit, at lagerstyreenheden (16) omfatter et med mikroordrelagerets (14) adresseringsindgang forbundet mikroordrelagertælleregister (44), der kan gå frem i et eller to skridt og kalde den følgende 20 ordre fra mikroordrelageret, samt et over bitparallelle ledninger (92) vekselsidigt med mikroordrelagertælleregisteret (44) forbundet skifte-mikroordrelagertælleregister (32), som på indgangssiden er forbundet via en bitparallel ledning (56) med en første udgang på afkoderen (46) 25 til modtagelse af fra mikroordrer afledede litteraler og via en bitseriel ledning med udgangen på en til adderens (30) udgang forbundet første vælgerkreds (36), og som indeholder hop- og returadresser for programhop og underprogrammer, at adderens (30) X-indgang via en anden væl-30 gerkreds (40) er forbundet til udgangen på et af A-regi-strene (22,24,26), medens Y-indgangen på den serielle adder (30) via en tredje vælgerkreds (42) er forbundet til enten udgangen på B-registeret (28) eller skifte-mikro-ordrelagertsl leregisteret (32), og for en del af de lo-35 giske eller aritmetiske operationer som Y-operand tilfø- - 45 - DK 158685 B res det sande eller det komplementære indhold i B-registe-ret (28), og for de øvrige operationer som Y-operand tilføres indholdet af skifte-mikroordrelagertælleregisteret (32), at en bitseriel indgang på B-registeret (28) via en 5 fjerde vælgerkreds (38) kan forbindes såvel med B-registe-rets (28) sande udgang, dels over den første vælgerkreds (36) med adderens (30) udgang dels med processorens (10) bitserielle dataindgangsbus, og at en bitparallel indgang på B-registeret (28) til modtagelse af mikroordrer er for-10 bundet med en anden udgang på afkoderen (46), hvorhos de i B-registeret (28) indførte data eller ordrer taktvis forskydes til udgangen eller ledes parallelt direkte ind i B-registeret (28), og at en bitseriel udgang på adderen (30) er forbundet med den eksterne grænseflade (20) via 15 processorens (10) dataudgangsbus, hvorhos styreenhedens (18) efterfølgervælgerkredsløb (48) fastlægger, om der til adressering af mikroordrelageret (14) skal benyttes det et eller to skridt fremførte indhold i rm'ikroordrela-gertælleregisteret (44) eller indholdet i skifte-mikro-20 ordrelager-tælleregister (32).
2. Processor ifølge krav 1, kendetegnet ved, at afkoderen (46) over en 4-bit bred overføringsbane (90) afgiver informationer om den af processoren (10) udførte funktion til den eksterne grænseflade (20).
3. Processor ifølge krav 1, kendetegnet ved, at B-registeret (28) består af en 8-bi± parallel-seriel-omsætter med takststyret højreforskydning af den indførte information og med komplementære udgange (Q,Q) på udgangen af det ottende omsættertrin.
4. Processor ifølge krav 1-3, kendeteg net ved, at mikroordrelagertælleregisteret (44) består af en 8-bit-tæller med otte JK-led med to-flankestyring, som taktstyres samtidigt, og hvis udgange uafhængigt af taktimpulserne ændres i overensstemmelse mad dataindgan-35 gene, hvorhos alle udgange ved påtrykning af en slette-irnpuls på en sletteindgang til mikroordrelagertælleregisteret (44) udviser et lavt spændingsniveau.. - 46 - DK 158685 B
5. Processor ifølge krav 1-4, kendetegnet ved, at skifte—mikroordrelager-tælleregisteret (32) består af et 8-bit højreskiftende register med otte dataind- og dataudgange, en sætindgang, en seriel indgang 5 og en taktimpulsforbindelse, hvilket register ved aktivering af sætindgangen foretager en højreforskydning af den parallelt eller serielt indlæste information og yderligere tjener som lagerregister med parallelle indgange og parallelle udgange, hvis otte parallelle indgange er spærret 10 ved indlæsning af seriel information, hvorhos i afhængighed af den aktuelle mikroordre adderens (30) serielle udgang er forbundet med registerets (32) serielle udgang, eller registerets (32) otte parallelle indgange er forbundet med registerets (44) otte parallelle udgange.
DK607773A 1972-11-20 1973-11-12 Processor til en mikroprogrammerbar datamat DK158685C (da)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US30786372 1972-11-20
US307863A US3878514A (en) 1972-11-20 1972-11-20 LSI programmable processor

Publications (2)

Publication Number Publication Date
DK158685B true DK158685B (da) 1990-07-02
DK158685C DK158685C (da) 1991-02-25

Family

ID=23191492

Family Applications (1)

Application Number Title Priority Date Filing Date
DK607773A DK158685C (da) 1972-11-20 1973-11-12 Processor til en mikroprogrammerbar datamat

Country Status (14)

Country Link
US (1) US3878514A (da)
JP (1) JPS6361691B2 (da)
BE (1) BE807098A (da)
BR (1) BR7309060D0 (da)
CA (1) CA1002200A (da)
DE (1) DE2357003C2 (da)
DK (1) DK158685C (da)
FR (1) FR2217745B1 (da)
GB (1) GB1429379A (da)
IE (1) IE40493B1 (da)
IL (1) IL43641A (da)
IT (1) IT1002151B (da)
NL (2) NL7315163A (da)
ZA (1) ZA738531B (da)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4896260A (en) * 1970-12-28 1990-01-23 Hyatt Gilbert P Data processor having integrated circuit memory refresh
US4825364A (en) * 1970-12-28 1989-04-25 Hyatt Gilbert P Monolithic data processor with memory refresh
US5615380A (en) * 1969-11-24 1997-03-25 Hyatt; Gilbert P. Integrated circuit computer system having a keyboard input and a sound output
US4016540A (en) * 1970-12-28 1977-04-05 Gilbert Peter Hyatt Apparatus and method for providing interactive audio communication
US5410621A (en) * 1970-12-28 1995-04-25 Hyatt; Gilbert P. Image processing system having a sampled filter
GB1469300A (en) * 1973-12-22 1977-04-06 Olympia Werke Ag Circuit arrangement for an integrated data processing system
US4153932A (en) * 1974-03-29 1979-05-08 Massachusetts Institute Of Technology Data processing apparatus for highly parallel execution of stored programs
US4149240A (en) * 1974-03-29 1979-04-10 Massachusetts Institute Of Technology Data processing apparatus for highly parallel execution of data structure operations
US3972025A (en) * 1974-09-04 1976-07-27 Burroughs Corporation Expanded memory paging for a programmable microprocessor
US4177511A (en) * 1974-09-04 1979-12-04 Burroughs Corporation Port select unit for a programmable serial-bit microprocessor
GB1505535A (en) * 1974-10-30 1978-03-30 Motorola Inc Microprocessor system
US3988604A (en) * 1974-11-19 1976-10-26 Raymond Jr Joseph H Electronic calculator or digital processor chip having multiple function arithmetic unit output
US4037090A (en) * 1974-11-19 1977-07-19 Texas Instruments Incorporated Multiphase clocking for MOS
JPS5193138A (en) * 1975-02-12 1976-08-16 Johoshorisochini okeru kyotsujohono densohoshiki
US4037202A (en) * 1975-04-21 1977-07-19 Raytheon Company Microprogram controlled digital processor having addressable flip/flop section
FR2325106A1 (fr) * 1975-05-29 1977-04-15 Burroughs Corp Appareil d'acces pour la communication de donnees
US3988717A (en) * 1975-08-06 1976-10-26 Litton Systems, Inc. General purpose computer or logic chip and system
JPS5228243A (en) * 1975-08-28 1977-03-03 Toshiba Corp Bit slice-type lsi function multiplexing
DE2638125A1 (de) * 1975-09-04 1977-03-17 Tokyo Shibaura Electric Co Datenverarbeitungssystem
GB1540923A (en) * 1975-12-01 1979-02-21 Intel Corp Programmable single chip mos computer
US4212076A (en) * 1976-09-24 1980-07-08 Giddings & Lewis, Inc. Digital computer structure providing arithmetic and boolean logic operations, the latter controlling the former
US4167781A (en) * 1976-10-12 1979-09-11 Fairchild Camera And Instrument Corporation Microprocessor system having a single central processing unit shared by a plurality of subsystems each having a memory
US4367524A (en) * 1980-02-07 1983-01-04 Intel Corporation Microinstruction execution unit for use in a microprocessor
US4446514A (en) * 1980-12-17 1984-05-01 Texas Instruments Incorporated Multiple register digital processor system with shared and independent input and output interface
US4384340A (en) * 1980-12-24 1983-05-17 Honeywell Information Systems Inc. Data processor having apparatus for controlling the selection of decimal digits of an operand when executing decimal arithmetic instructions
US4404629A (en) * 1981-01-26 1983-09-13 Atari, Inc. Data processing system with latch for sharing instruction fields
US4618925A (en) * 1981-05-22 1986-10-21 Data General Corporation Digital data processing system capable of executing a plurality of internal language dialects
US4656579A (en) * 1981-05-22 1987-04-07 Data General Corporation Digital data processing system having a uniquely organized memory system and means for storing and accessing information therein
US4583169A (en) * 1983-04-29 1986-04-15 The Boeing Company Method for emulating a Boolean network system
US4697250A (en) * 1983-08-22 1987-09-29 Amdahl Corporation Flexible computer control unit
US5349670A (en) * 1986-07-23 1994-09-20 Advanced Micro Devices, Inc. Integrated circuit programmable sequencing element apparatus
US5594908A (en) * 1989-12-27 1997-01-14 Hyatt; Gilbert P. Computer system having a serial keyboard, a serial display, and a dynamic memory with memory refresh
EP0992887B1 (en) * 1998-10-06 2010-03-03 Texas Instruments Inc. Memory access using byte qualifiers
US7298252B1 (en) * 2000-06-14 2007-11-20 Marvell International Ltd. Apparatus, method, and computer program for an alarm system
US7778736B2 (en) * 2000-06-14 2010-08-17 Marvell International Ltd. Apparatus, method, and computer program for sprinkler control
US7546172B1 (en) 2000-06-14 2009-06-09 Marvell International Ltd. Apparatus, method, and computer program product for recording and reproducing digital data
US7315764B1 (en) 2000-06-14 2008-01-01 Marvell International Ltd Integrated circuit, method, and computer program product for recording and reproducing digital data
US7577247B1 (en) 2000-06-14 2009-08-18 Marvell International Ltd. Apparatus and method for telephone, intercom, and clock
US7457676B1 (en) 2000-06-14 2008-11-25 Marvell International Ltd. Vehicle for recording and reproducing digital data
US8832670B2 (en) * 2011-07-01 2014-09-09 Mitsubishi Electric Corporation Programmable controller and programming tool for communication with legacy equipment

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3302183A (en) * 1963-11-26 1967-01-31 Burroughs Corp Micro-program digital computer
US3391394A (en) * 1965-10-22 1968-07-02 Ibm Microprogram control for a data processing system
US3478322A (en) * 1967-05-23 1969-11-11 Ibm Data processor employing electronically changeable control storage
US3700873A (en) * 1970-04-06 1972-10-24 Ibm Structured computer notation and system architecture utilizing same
US3745533A (en) * 1970-05-27 1973-07-10 Hughes Aircraft Co Digital data storage register modules
FR2136845B1 (da) * 1971-05-07 1973-05-11 Inf Cie Intern
US3736567A (en) * 1971-09-08 1973-05-29 Bunker Ramo Program sequence control
US3760369A (en) * 1972-06-02 1973-09-18 Ibm Distributed microprogram control in an information handling system

Also Published As

Publication number Publication date
AU6268773A (en) 1975-05-22
FR2217745B1 (da) 1983-11-04
DE2357003C2 (de) 1984-12-20
FR2217745A1 (da) 1974-09-06
JPS6361691B2 (da) 1988-11-30
IE40493L (en) 1974-05-20
ZA738531B (en) 1974-09-25
DK158685C (da) 1991-02-25
NL8900608A (nl) 1989-06-01
BE807098A (fr) 1974-03-01
GB1429379A (en) 1976-03-24
IL43641A (en) 1976-04-30
DE2357003A1 (de) 1974-05-22
BR7309060D0 (pt) 1974-08-29
JPS5047534A (da) 1975-04-28
IT1002151B (it) 1976-05-20
IE40493B1 (en) 1979-06-20
IL43641A0 (en) 1974-03-14
NL7315163A (da) 1974-05-22
US3878514A (en) 1975-04-15
CA1002200A (en) 1976-12-21

Similar Documents

Publication Publication Date Title
DK158685B (da) Processor til en mikroprogrammerbar datamat
US7844803B2 (en) Configurable data processing device with bit reordering on inputs and outputs of configurable logic function blocks
US4631663A (en) Macroinstruction execution in a microprogram-controlled processor
US4016545A (en) Plural memory controller apparatus
US4398244A (en) Interruptible microprogram sequencing unit and microprogrammed apparatus utilizing same
US3949370A (en) Programmable logic array control section for data processing system
JPS61248135A (ja) パイプライン式プロセツサ及びその制御方法
US3760369A (en) Distributed microprogram control in an information handling system
US4403287A (en) Microprocessor architecture having internal access means
US4159520A (en) Memory address control device with extender bus
JPH0752386B2 (ja) マルチデ−タ路のcpuア−キテクチヤ
US4789957A (en) Status output for a bit slice ALU
CA1158777A (en) Microprogrammed control unit sequencer
US5261116A (en) Programmable, expandable controller with flexible I/O
US5440714A (en) Method and system configuration for simplifying the decoding system for access to an register file with overlapping windows
EP0164995B1 (en) Parallel register transfer mechanism for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US6901504B2 (en) Result forwarding of either input operand to same operand input to reduce forwarding path
US4644464A (en) Graph manager for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
GB1587109A (en) Data processing apparatus
US3631401A (en) Direct function data processor
US5179716A (en) Programmable expandable controller with flexible I/O
US4615003A (en) Condition concentrator and control store for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
EP0239276A2 (en) Alu for a bit slice processor with multiplexed bypass path
KR920005331B1 (ko) 마이크로프로세서 칩과 온-칩 선택장치 및 방법
JPS61114341A (ja) 処理システム