SE427590B - Databehandlingsanordning - Google Patents

Databehandlingsanordning

Info

Publication number
SE427590B
SE427590B SE7714243A SE7714243A SE427590B SE 427590 B SE427590 B SE 427590B SE 7714243 A SE7714243 A SE 7714243A SE 7714243 A SE7714243 A SE 7714243A SE 427590 B SE427590 B SE 427590B
Authority
SE
Sweden
Prior art keywords
register
data
instruction
output
address
Prior art date
Application number
SE7714243A
Other languages
English (en)
Other versions
SE7714243L (sv
Inventor
E D Finnegan
G B Marenin
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of SE7714243L publication Critical patent/SE7714243L/sv
Publication of SE427590B publication Critical patent/SE427590B/sv

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Bus Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)
  • Debugging And Monitoring (AREA)

Description

771l+243-8 en centralenhet med en räkne/logik-enhet, tillhörande ope- randregister jämte instruktionsavkodnings- och utförings- kretsar. Vidare ingår lokalminnesregister, ett huvudminne, ett utförbart styrminne och en eller flera ingångs/utgångs- anordningar. _ I enlighet med föreliggande uppfinning finns en enkel- riktad samlingsledare, som inkluderar en in-samlingsledare och en ut-samlingsledare, och en hjälpminiadressamlings- ledare, vilka ha till uppgift att möjliggöra kommunikation mellan de olika minnena, in/ut-anordningarna och central- enheten. Utsamlingsledaren har till uppgift att adressera det utförbara styrminnet och huvudminnet samt att leverera data till in/ut-anordningarna och lokalminnesregistret. In- samlingsledaren har till uppgift att leverera instruktioner och information till centralenheten och från in/ut-anord- ningarna och lokalminnesregistret till huvudminnet.
Vidare finns tidsanpassningsorgan för att etablera en instruktionsutföringscykelperiod i två delar för att till- låta överlappad funktion. Under den ena delen sker access till det utförbara styrmínnet med adressen på utsamlings- ledaren, och under den andra delen påverkas utsamlings- ledaren att sända data till lokalminnesregistret eller till in/ut-anordningarna.
Föreliggande uppfinning, som definieras i nedanstående patentkrav, framgår av följande mera detaljerade beskriv- ning av en föredragen utföringsform som illustreras på bi- fogade ritningar.
Fig. 1 visar hur figurerna la, lb och lc hör samman, vilka figurer år ett logikschema för mikrodatorkonfigura- tionen enligt uppfinningen.
Fig. za., ab, 3a, ab, 3c, ha, ht och hc är tidsan- passningsdiagram som visar utförandet av en uppsättning basinstruktioner, anpassbara till mikrodator- 77142ë3~8 in/ut-mikrokrets och utläsningsminnes/minne med konstant accesstid (ibland med adresstyrningI-mikrokretsar. Enligt det andra sättet fördelas behandlingsenhetens funktioner på ett antal identiska mikrokretsar. Detta kallas "bit- skívtekniken" och kräver vanligen separata in/ut-styrmikro- kretsar. Båda tillvägagângssätten kräver omfattande mikro- kretsanslutning, som begränsas av tillgängliga in/ut-stift, vilket resulterar i duplicering av logiken samt fördröjningar p.g.a. de nödvändiga utanför mikrokretsarna placerade driv- kretsarna och mottagarna. Om data- eller adressam1ingsledar~ na är dubbelriktade, kan inga signaler sändas eller mottagas förrän ett styrtillstånd "samtliga från" och därefter "samt- liga till" har etablerats mellan drivkretsarna och mottagarna för varje mikrokrets, vilket i sin tur orsakar fördröjningar.
Vidare kräver var och en av dessa dubbelriktade samlingsledare in/ut-stift och utanför mikrokretsen anordnade drivkretsar, vilket leder till större total area och högre míkrokrets- effektavgivning. För övervinnande av denna nackdel kombineras ibland adress- och datasamlingsledarna till en tidsmulti- plexad "unisamlingsledare", som i sin tur påverkar styr- och startfördröjningarna.
För att optimera kostnaden och prestandan behövs så- lunda en mikrobehandlarutformning, som minimerar antalet drivkretsar och mottagare och som kan packas på en enda mikrokrets med 68 stiftanslutningar.
I enlighet med föreliggande uppfinning åstadkommas en slingformad samlingsledarkonfiguration för en fullständigt integrerad mikrobehandlingsenhet, vilken kräver tillräck- ligt få ingångs/utgångsledningsanslutningar för att mikro- behandlingsenheten skall kunna packas på en enda integrerad mikrokrets. Antalet erforderliga kanaldrivkretsar minimeras samtidigt som genomströmningen maximeras genom att efter- ställda (pipelining) och överlappade operationer tillåtas.
Enligt uppfinningen åstadkommas en samlingsledarkon- figuratíon för ett databehandlingssystem, som innehåller 7?142l+3-8i* u konfigurationen enligt uppfinningen. Fíg. 2, 3 och ll visar förhållandet mellan dessa tidanpassningsdiagram. 7 Fig. 5 är ett mera. detaljerat logíkschema som visar den integrerade cykel- lån- och avbrottspríoriterade kanalen.
Med hänvisning till ritningarna och då. speciellt fig. 1 kommer nu dator- konfigurationen enligt uppfinningen att beskrivas. De fyra viktiga fysikaliska enheterna i konfigurationen enligt fig. l är: 1. Centralenheten (CPU) 9, som innefattar räkne- och logikenheten 22, en kanal (som omfattar in-samlingsledaren 10, ut-samlingsledaren , adress-samlingsledaren 21, den gemensamma upprop-samlingsle daren 53 och styrledningarna 15), ett flertal arbetsregister och styrlogik. 2. Lokalminnesregister lll. 3. Huvudminne 12. h. Utläsningsminne (RDS) 16, som ibland kallas utförbart :ninne 16 eller mikroprogrannninne 16.
Centralenheten 13 kan exempelvis utföras såsom en enda storskaligt inte- grerad mikrokrets, som år monterad på modernt sätt till ett paket som kräver mindre -än 70 modul-in/ut-stifh Detta centralenhetspaket kan vara monterat enligt modern teknik på ett kort tillsammans med en utläsningsminnesmodul 16, en lokalminnesmodul llß (med t.ex. 32 register), två moduler för stöddrivkretsar 18 och-en svångningskrets (visad av utgångsledningen 59). En liten del av huvud- minnet 12 kan också. vara monterad på detta kort. Det vanligaste enligt modern kretstelmik är emellertid att huvudminnet 12 monteras på. ett andra kort.
Data, instruktioner och in/ut(I/O)-order befordras mellan centralenheten 9 och övriga enheter via två. enkelriktade samlingsledare, in-samlingsledaren 10 och ut-samlingsledaren 20. In-ledaren 1_O mottager data från ej illustrerade in/ut-anordningar, från huvudminnet 12 via samlingsledaren 11, från utläsnings- minnet 16 via samlingsledaren lT och från lokahninnesregistret 11; via samlings- ' ledaren 13. Data på ledaren 10 matas till programregistret 30 och direkt till râkne/logik-enheten 22. Observera särskilt, att data och information på ledaren _10 matas i en riktning i förhållande till centralenhetsmikrokretsen 9, och att inga drivkretsar finns anordnade för att föra data från mikrokretsen 9 utmed ledaren 10. Huvudminnet 12, lokalminnesregistret lll och utläsningsminnet 16 har drivkretsar eller tillräcklig kraft för att placera data på inledaren 10. Vidare har huvudminnet 12 möjlighet att hämta data från ledaren 10, som placerats därpå av lokalminnesregistret 114 eller någon annan in/ut-anordning via samlingsledaren 13. Utledaren 20 presenterar innehållet i utbuffertregístret 26 för utläsnings- minnet 16, huvudminnet 12, lokalminnesregistret 11% och in/ut-anordníngarna (ej visade). För utläsningsmínnet 16 och huvudminnet 12 fungerar utledaren 20 såsom en adresssamlingsledare, men för lokalminnesregistret 114- och in/ut-anordningarna 7714243-8 används utledaren 20 såsom en datasamlingsledare. In/ut-anordningarna adresseras av en uppsättning om 6 lokalminneskodutledningar 21, vilka i denna utföringsform tillåter direktaccess för upp till 6h lokalminnesregister lh eller 63 inlut- anordningar. Såsom tidigare nämnts befordrar inledaren 10 mikroinstruktioner eller data från in/ut-anordningarna eller minnet. Källan eller destinationen för överföringarna på utledaren 20 och inledaren 10 väljs av styrledningar 15, vilka efter drivning från drivkretsen 18 uppträder som styr- och klockledningar 19.
Dessa ledningar omfattar: lokalminnesregisterutväljning, utläsningsminnesutvälj- ning, huvudminnesutväljning, skriv hög bitgrupp och skriv låg bitgrupp. En in/ut-anordning väljs genom kombinationen av en giltig anordningsadress och icke aktiv lokalminnesregisterutväljning. Giltighetsförklaring av utledarens 20 dataöverföringar tidsanpassas av föregående "klockan l"-pulser (en av ledningarna ). Prov-utsignaler indikerar att loka1minneskodut~ och utväljningskoder år giltiga. Prov-in är ett gensvar på prov-ut för att giltiggöra inledardataöver- föringar till mikrobehandlingsenheten 13 eller beordra gensvar från anordningarna.
Dessa signaler tillsammans med håll-klock-in, som låter in/ut-anordningarna blockera CPU-klock-framstegningen tillåter total asynkron I/0-funktion.
Närmast följer en förteckning över in/ut-länkledningarna 19, 20, 21, 10 och 31 inklusive en kort beskrivning av funktionen.
Utledaren 20 har lö ledningar för I/O-anordning och lokalminnesregister lh "data ut", huvudminne 12 "adress ut" och utläsníngsminne 16 "adress ut".
Inledaren 10 har 18 ledningar för mikroinstruktion från utläsningminne 16, data in från I/0-anordningarna och lokalminnesregister lh samt huvudminne 12 "data in" och "data ut". Uppropinledaren 53 har T multiplexcykellån-eller 7 avbrottnivåkravledningar, som förklaras längre fram. Upprop-cykellän-ut är en av ledningar l9 och används för att begära cykellånupprop på uppropsinledaren 53 i stället för avbrott genom tömning av uppropsingångsledarens 53 awbrottsprioriteter och begäran av cykellånprioriteter. Lokalminneskodut(LCO)-ledningen 21 har - 6 ledningar för adressering av de upp till 6Ä platserna i lokalminnesregistret lü, för signalering av cykellånnivå eller för adressering av upp till 63 in/ut~ anordningar.
LSR "utväljning ut" innehåller 5 styr- och klockledningar 19 inklusive LSR utväljning, minnesutväljning, ROS-utvåljning, skriv hög bitgrupp och skriv låg bitgrupp. (Om ingen hög eller låg skrivning specificerats, är en låsoperation underförstådd.) "Prov ut" är en av ledningarna 19 för att indikera att en order eller LSR- kodutsignaler äger giltighet, vilket är fallet under klocktid 3~h och 9-lh, vilket kommer att beskrivas mera ingående längre fram. "Prov in" (ej visad) inkluderar en gemensam linje för en vald anordning för besvarande av "prov ut", vilket gör data giltig, som har placerats på inledaren 10, eller såsom gensvar på en order. 77142143-8 Varje cykellån-in-ledning används av en in/ut-anordning vid signalstigtid för begäran om cykellånuppropoch vid signalfalltid för att indikera att dess prioritet är giltig på. inledaren 53. i En avbrott-in-ledning (ej visad) indikerar att en eller flera anordningar har ett avbrott aktuellt på upprop-in-ledaren 53 med prioriteterna indikerade på. denna ledare. Svängningskrets-in-ledningen. 59 levererar en kontinuerlig fyrkant- 'vågkIocksignaL Återställning-in (ej visad) åstadkommer en systemåterställnings- och energi-till-återstållningsinsignal.
"Klockan l eller 9 ut" är en av ledningar 19 för fortlöpande tidsanpassning- giltighetsförklaring av tidigare utgångsbuffertregisters 28 data på. utledaren . "Iflockan 6, 7 ut" eller "klockan lll, 15 ut" (för dubbelcykelinstruktioner) ingår i ledningarna 19 och åstadkommer kontinuerlig tidsanpassning med uppgift attindíkera en instruktions slut. f "Blockera minne hög bitgrupp" kommer från anordningen, när blott den låga 'bitgruppen skall skrivas i huvudminnet 12. "Blockera minne låg bitgrupp" leve- rereras från anordningen, när blott den höga bitgruppen skall skrivas i huvud- minnet 12. Om anordningen initierar både "blockera minne hög" och "låg", är en huvudminneslâsoperation under-förstådd.
"Minnesdatautvåljning" låter huvudminnets 12 data uppträda på inledaren 10.
Vid 'blockering av "minnesdatautvâljning" kan en anordning placera sin data (som kan vara huvudminnesadressen) på. inledaren för inskrivning i lokalminnesregistret (cykellånadressregistret ) .
"Styr LSR skriv" levereras av anordningen för hoplänkning av datatabellerna i huvudminnet eller för att förhindra framstegning av lokalminnesregistrets lll adress.
Ledningarnas 21 adresser 0-63 adresserar tillsammans med ledningen 19 lokalminnesregistrets 114 platser 0-63. Platserna 16-23 används för avbrott och platserna 274-31 för cykellån. Ledningens 21 adresser l-63 utom ledningen 19 adresserar in/ut-anordningarna l-63 med adress 0 reserverad för kanalfunktioner.
Med hänvisning till centrelenheten 9 är inledaren förd till räkna/logik- enheten 22 och programregistret 30. Utgången från programregistret 30 är anslu- ten via ledningar 33 till enheten 22 och till instruktionsavkodaren 62. Adress- delen av en i registret P lagrad instruktion matas också. via ledningen 31 till registret 1:0 och till backmatningsregistret 38. Utsignalen från registret 38- matas via ledningen 39 tillbaka till registret 30 och "aktuellt tillstånd"- registret ÄB och slmmaregistret 50. Utsignalen från registret 50 matas på. led- ningen 51 till registret 38 och registret ÄO. Utsignalen från registret ÄB matas på. ledningen 1t9 till "bevarat tillstånd"-kodregistret #2. Utsignalerna från såväl registret 48 som registret 50 matas också. via ledningen 1æ3 till enheten 22. Centralenhetens 19 dataflöde inkluderar 16 bitar för enheten 22 och nedan- 77142143-8 stående operandregister: accumulatorregistret 3h, vilka bitar kan matas på ledningen 35 till någondera sidan av enheten 22, accumulatorutvidgningsregistret 36, vilka bitar kan matas till någondera sidan på enheten 22 längs ledningen 37.
Totalregistret 2h år utgångsbufferten för enheten 22 och fylls via samlings- ledaren 23. Programregistret 30 håller såsom tidigare påpekats mikroinstruktionen för avkodning vid avkodaren 62 och utförande. Innehållet i programregistret 30 kan också inmatas i enheten 22, vilket sker på samlingsledaren 33. Mikroinstruk- tionsadressregistret 32 kan få sitt innehåll matat till enheten 22 på ledningen 29 för adressmodifikation eller förgrenings- och länkoperationer. Registret 50 används för skifträkning ooh för indirekt adressering av lokalminnesregistret lä, Dess innehåll kan matas till enheten 22 på ledningen H3 för utförande av de olika operationer som beskrivs i det följande. Utgångsbufferten 26 håller data, som presenteras på utledaren 28, vilken efter drívkretsarna 18 uppträder såsom utledaren 20. Särskilda instruktioner, som beskrivs längre fram, bevarar utgångs- buffertens 26 innehåll i lokalminnesregistrets lä position O, vilket innehåll därefter kan inmatas till enheten 22 på inledaren 10 för olika operationer.
Utsignalen från totalregistret 2h uppträder på samlingsledaren 25 och matas under styrning från ínstruktíonsavkodaren 62 till mikroinstruktion-adressregistret 32, ackumulatorregistret 3Ä, ntvidgningsregistret 36, felregistret Ä6, avbrotts- maskregistret bh, summaregistret 50, "aktuellt tillstånd"-registret hö och utgångsbuffertregistret 26. Utsignalen från registret hå matas på ledningar ES och H3 till enheten 22 och på ledningen M5 till avbrottsgrindkretsen 52. Utsig- nalen från registret M6 matas på ledningar h? och H3 till enheten 22. Dessutom kan utsignalen från totalregistret 2h, de fyra låga bitarna, föras på ledningen 27 till högpositionsbitarna i instruktíonsadressregistret 32.
Multiplexhehandlade oykellån- och avbrottskrav på uppropsamlingsledaren 53 matas till avbrottsgrindkretsen 52 och prioritetskodaren Sh, den sistnämnda för cykellån som har prioriteten framför avbrott. Utsignalen från avbrottsgrindkret- sen 52 matas på ledningar 69 till prioritetskodaren Sh. Utsignalen från priori- tetskodaren Sh matas på ledningar 55 till "aktuell avbrottsnivå"-registret 56, till testkretsen 58 och till registret H0. Utsignalen från testkretsen 58 upp- träder på ledningen 63 som signalen för "tvinga högre nivå avbrott". Utsignalen från registret 56 matas på ledningar 57 till "högre nivå avbrott"-testkretsen 58 och till registret ÄO.
Klocksignaler på ledningen 59 från en enkelfasoscillator matas till fyr- fasgeneratorn 60, vars utsignal matas på ledningen 61 till klockan 66 och hjälp- klockan 6h, vars utsignaler används i anslutning till instruktionsavkodaren 62 för att styra centralenhetens 9 funktion inklusive samlingsledningarnas matning till de olika operandregistren och styrning av de olika samlingsledarnas och Wiízêåšflå registrens tidsdelning.
Med hänvisning till fig. 5 lämnas nu en mera detaljerad beskrivning av cykellån- och avbrottskanalen enligt föreliggande uppfinning. Där så är möjligt har samma referenssiffror använts som för elementen i fig. l. I denna figur visas tydligare de olika styrorganen och låskretsarna som tillsammans bilda den integrerade cykellån- och avbrottsprioriteringskanalen. I fig. 5 representerar upprop- avbrott/ cykellån-ledningarna 530-536 de individuella ledningarna i den gemensamma uppropsamlingsledaren 53 i fig. l i negativ logik. Masken hä har utgångsledningar H50-H56. Upprop-cykellån-enbart-låskretsen 75 har återställnings- ledningen 80 såsom en utgång. I avbrottsgrindkretsen 52 OCH-behandlas ledningen h50 (som avser O-biten i maskregistret bh) med återställningslsdningen 80, och resultatet NELLER-behandlas med ledningen 530, som representerar nollbitpositionen på uppropsamlíngsledaren 53. Resultatet uppträder på ledningen 520. På liknande sätt blir bitarna l-6 i maskregistret Åh på ledningar H51-Ä56 OCH-behandlade med ledningen 80, och resultatet NELLER-behandlas med bitpositioner l-6 från samlings- ledaren 53 på ledningar 531-536, varvid resultatet erhålles på ledningar 521- 526. Ledningen 520 är ansluten till NELLER-kretsar 86, 9h och 95. Ledningen 521 är ansluten till NELLER-kretsar 86, 90 och 95. Ledningen 522 är ansluten till NELLER-kretsen 86 och OCH-kretsen 91. Ledningen 521 år ansluten till NELLER- kretsar 86 och 90. Ledningen 52% år ansluten till OCH-kretsar 86 och 92. Ledningen 525 är ansluten till OCH-kretsen 88 och till NELLER-kretsen 90. Ledningen 526 är ansluten till OCH-kretsen 92. Utgången från NELLER-kretsen 96 uppträder som minus Ä-prioritetsledningen Shü och är ansluten till OCH-kretsar 87, 88 och 92, till "aktuellt avbrott roa" 56 (position h), till "högre test" 58 ooh till oen- kretsen 82. Utsignalen från NELLER-kretsen 95 uppträder på minus 2-prioritetsled- ningen 5Ä2 och matas till OCH-kretsen 91, till "aktuellt avbrott kod"-kretsen 56 (position 2), till "jämför högre test"-kretsen 58 och till OCH-kretsen 82.
Utsignalen från NELLER~kretsen 90 matas till OCH-kretsen 93. I kretsen 95 blir utsignalerna från OCH-kretsarna 87 och 88 NELLER-behandlade med signalerna på ledningar 520 och 521. I NELLER-kretsen 9h blir utsignalerna från OCH-kretsarna 91-93 NELLER-behandlade med signalerna på ledningen 520 och uppträder på led- ningen Shl, som är ansluten till kretsen 56 (position l), kretsen 58 och OCH- kretsen 82.
Signalen på ledningen 68 inverteras och matas för inställning av låskretsen 75. Inställníngsutsignalen från låskretsen 75 matas på ledningar 77 för inställ- ning av låskretsen 76. Ãterställningsutsignalen från låskretsen 75 matas på ledningen 80 för att blockera grindkretsens 52 OCH-kretsar och spärra låskretsen Bh, vars utsignal uppträder på ledningar 79 och används för att styra ledningen 72 och ställa in ledningen 57. Signalen på ledningen 70 matas till låskretsen 76 och inverteras till låskretsen 8h. Signalen på ledningen 7l matas till låskretsen Sü. Signalen på ledningen 68 matas också till låskretsen 76. Utsignalen från '7714243-8 9 låskretsen 76 uppträder på ledningen 55. Dessutom blir en utsignal från led- ningen 55 OCH-behandlad vid 89 med en klockpuls på ledningen 85. Signalen på ledningen 78 matas till OCH-kretsen 82 och till högpositionsingångsbitledningarna 83ü, 835 för att bibringa dessa ledningar en förutbestämd kod.
Ledningarna 310-31% representerar de låga bitpositionerna av adressdelen i programregistret 30, visade såsom ledningar 31 i fig. l. Ledningarna 310-3lÄ matas via OCH-kretsar 83, där var och en individuellt OCH-behandlas med styrled- ningen Th för att uppträda såsom utgångsledningar 831-835 och därefter fortsätta till registret hO.
Utsignalerna från OCH-kretsarna 82 ELLER-behandlas till ledningar 831-833 med de låga bitpositionerna vid ingången till registret M0. Vidare blir utgångs- ledningarna från OCH-kretsarna 81 ELLER-behandlade till lågpositionsledningarna 831-833 för vidare befordran till registret M0. I OCH-kretsen 81 blir utsignalerna från registret 56, som uppträder på ledningar 561,562 och 56k, individuellt OCH- behandlade med ledningen 73 och dessutom matade till "jämför högre test"-kretsen 58. Ledningen 73, som slussar innehållet i registret 56 till registrets M0 tre lågpositionsingångsledningar, påverkar också högpositionsingångsledningarna 83k, 835, på ett sätt liknande det vid ledningen 78 med undantag för koden för att på ledningarna hl vid utgången från registret Ä0 placera en adress till en annan plats i lokalminnesregistret lä.
Cykellån har prioritet framför avbrott, och "vilket som helst cykellånkrav" 68 upphäver momentant det normalt kontinuerliga avbrottsuppropet genom att ställa in "upprop c kellån enbart"-låskretsen 75, som av alla anordningar kräver placering av cykellånprioriteterna på uppropssamlingsledarens 53 ledningar 530- 536 och återtagande av avbrottskraven. När signalerna på "vilket som helst avbrottskrav"-ledningen 70 upphör, vet mikrobehandlingsenheten 9 att alla anord- ningar ha avlågsnat sina avbrottsprioritetbitar på ledaren 53, och signalupphörandet vid "vilket som helst cykellånkrav" 68 tillsammans med "upprop cykellån enbart"- låskretsen 75 garanterar att utgångsledningarna 5hl, 5h2 och 5ÄÄ från cykellån- prioritetskretsen 5h äro klara att ställas in i registret HO tillsamans med cykellånmodifierarbitar, som bildats av ledningar 78 i de höga positionerna 83k- 835 samt indikerar cykellånbekräftelse 55 till in/ut-anordningarna. Cykellån LSR i LSE lä, som adresseras av ledningar hl, ger den indirekta huvudminnesadressen på samlingsledaren 13, som också kan framstegas via enheten 22 för antingen hämtning eller lagring av data vid anordningen. Cykellånnivån med lägsta priori- tet kräver ingen prioritetsbit, och dess påverkade anordningsadressdel kommer att vara noll för att tillåta alla binäranordningsadresser. Tidigt i cykellåncykeln blir låskretsen 75 återställd för omkastning av det kontinuerliga avbrottsupp- ropet eller sekventiella mikroinstruktionsutförandet, eller också kan låskretsar 75 åter inställas därför att den först måste återställas för att låta anordningarna på nytt ställa in kretsen 68, om sekventiella strömodcykellån påkallas. Avbrott- 7714243-8 maskregistret 14k är alltid passiverat, när låskretsen '(5 är inställd. Asynkrona anordningscykellånkrav kan styras genom aktivering av mikrobehandlingsenhetens klocka eller genom låsning av uppropsamJ.ingsledaren så. att prioritetskretsen kan stabiliseras .
Ovan har den generella uppbyggnaden hos systemet enligt uppfinningen beskri- vits. Närmast följer en detaljerad översikt gällande de olika komponenterna, dessas funktion och samverkan.
Saxulingsledarorganisation Den interna anslutningen med räkne/logik-enheten i sluten slinga för de yttre enkelriktade ingångs- och utgångssamlingsledarna enligt uppfinningen medgiver intern bearbetning och extern in/ut-datamodifikation, avbrottsnivåom- koppling och cykellånadresstegmatningsfimktioner för sofistikerade mångnivåav- brott och cykellån genom delning av existerande räkne/logik-enhet och dataväg med minsta möjliga styrlogikmaskinvara och utan ytterligare buffertregister.
Detta åstadkommes genom utnyttjande av en enkelriktad samlingsledare, som går in i och ut från centralenhetsmikrokretsen 9. Data och adressinformation blandas på. samma utgångssamlingsledare. Inledaren 10 är den enda datainsamlings- ledaren till mikrokretsen 9. Huvudminnet 12 är anslutet till denna samlingsleda- re liksom även lokalminnet 11%. Även om envägsfunktionen hos inledaren 10 bevaras i förhållande till enheten 9, använder huvudminnet 12 inledaren 10 för låsning eller skrivning av data, medan utledaren 20 handhar huvudminnets 12 adress.
Inledaren 10 fImgerar också såsom en extern ingång till enhetens 22 ena sida, vars utsignal placeras i det temporärt hållande totalregistret 211. Registret 211 har en gemensam utsamlingsledare 25, som går till varje register inom mikro- kretsen 9. Ledaren 25 är kopplad till utgångsbuffertregistret 26 och kommer därefter ut från mikrokretsen 9 för att bilda utledaren 20, som i detta exempel är en två. bitgruppers samlingsledare. Utledaren 20 levererar data till lokal- niinnesregistret 111 och dessutom till ett antal in/ut-anordningar (ej visade). På tidsdelad basis utför ledaren 20 också. adressminneskanalaccess (cykellån) med automatisk minnesadresstegning genom den gemensamma. råkne/logik-enheten och datavägen.
Systemets konstruktion med samlingsledareslingor medgiver överlappande och efterställt instruktionsutförande, och exempel på detta kommer härnäst att lämnas.
I ett första exempel sker efterställning (pipelining), närhelst RDS-instruk- tioner finns på. inledaren 10, vilket är vanligt vid slutet och början av varje mikroínstruktionscykel, när samtidigt utledaren 20 börjar sända data till en in/ut-anordning.
I ett andra exempel förekommer överlappad operation, när data inkommer på inledaren 10 från in/ut-anordningar eller från lokalminnet 11» och behandlas internt med hjälp av räkne/logik-enheten 22. Vid detta. tillfälle innehåller 771¿r243~8 ll utledaren 20 ROS 16-adressen, så att access sker till nästa sekvensiella instruk- tion.
Det tredje exemplet, som gäller överlappning, blir aktuellt när data från utförandet av en föregående instruktion fortfarande finns att lagra i lokal- minnet lä och utförandet av en ny instruktion redan har börjat. Lokalminnet lä fylls under "klockan ett" av den nya instruktionscykeln, medan utförandet av den nya instruktionen började vid "klockan noll". De sex ledningarna vid registret ÄO bilda en hjälpadressamlingsledare 21, hl som används för att adressera 6h halvord i lokalminnesregistret lä eller upp till 63 in/ut-anordningar på utledaren beroende på vilken typ av instruktion som skall utföras. Kombinationen av denna hjälpminiadressamlingsledare och samlingsledaren 10, 20 medgiver att operationer utföras under en cykel. En in/ut-anordning kan placera data på inledaren 10, få denna data behandlad via enheten 22 samt placera den arimetiskt eller logiskt modifierade datan på utledaren 20 under samma instruktion, medan anordningen adresseras av minisamlingsledaren 21. Detta är en fördel jämfört med tidigare kända kanaler, som kräver tre instruktioner för att utföra till och med en enkel in/ut-dataöverföring utan någon råkne/logik-operation enligt följande: först skulle centralenheten behöva sända ut en adress på en samlingsledare gäl- lande utläsningsminnet 16 (eller det inskrivbara styrminne som är anslutet, vari de för utföring avsedda instruktionerna lagras). Ledaren 20 är också adressamlings- ledaren för huvudminnet 12. Enligt uppfinningen åstadkommas sålunda en konfiguration med enkelriktade slingsamlingsledare, vilken konstruktion är hybrid till sin karaktär och innefattar en blandning av data- och adressinformation på utledaren respektive data och instruktioner på inledaren 10.
Frånvaron av en direkt centralenhetsmikrokretsdataväg till huvudminnet 12 har lösts genom att valfri centralenhet placerar resultatbilder i lokalminnet lh jämte användningen av den enkelriktade inledaren i den motsatta riktningen vad beträffar huvudminnet 12 från lokalregistret lä. Sålunda hålles inledaren 9 enkelriktad relativt centralenhetsmikrokretsen 9 genom att låta utledaren vid varje intern datamodifikationsmikroinstruktion valfritt placera resultatet i valt lokalminne lh utan någon ytterligare instruktion eller tid. Detta tillväga- gångssätt tillåter efterställning och samtidiga operationer på båda samlingsleda- rna, låter samlingsledare-ut-registret 26 få access till nästa mikroinstruktion från EOS 16 under det att föregående mikroinstruktion utföres med datan på in- ledaren 10 i överlappad mod. På samma sätt utnyttjas registret 26 för access direkt till huvudminnet 12, och mellan dessa båda adresseringsmoder överför ett smalt datafönster data till lokalminnet lh eller in/ut-anordningar, som adresseras av en separat sex bitars miniadressamlingsledare 21, vilken också signalerar respektive cykellånbekräftelser eller omkopplar aubrottsnivåer. Genom att ett av de 6Ä lokalminnesregistren reserveras såsom ett samlingsledare-ut-bildregister .771ë2lr3-8 12 kan behandlingsenhetsmikrokretsens interna dataflöde arrangeras kring en gemensam räkne/logík-enhet, varvid totalregistret 21+ matar alla andra interna data- och adresseringsregister samt yttervärlden via registret 26, som också. förblir- reserverad för programanvändning såsom en fjärde operand i lokalminnets lll bildbuffert. På. detta sätt kan varje yttre in/ut-anordning dela räkne/logik- *enheten 22 med intern behandling.
De yttre enkelriktade slingsamlingsledarna gör också hela centralenhetsmikro- _ kretsen internt öppen för avbrottsnivåomkoppling och direkt minneskanalaccess (Kcykellån) medautomatisk minnesadresstegning genom den gemensamma räkna/logik- enheten och datavägen.
Slingsamlingsledarkonfigmationen medgiver överlappat och efterställt (pipelining) instruktionsutförande. Exempel på. detta finns nedan.
Efterställning eller "pipelining" uppträder, närhelst utläsningminnes-(ROQ- instruktioner finns på. inledaren lO, vilket är vanligt vid slutet och början av varje mikroinstruktionscykel, när samtidigt utledaren 20 börjar sända data till ~ en in/ ut-anordning. Överlappande operation uppträder, när data inkommer på, inledaren lO från in/ut-anordningar eller från lokalminnet lä och behandlas internt via räkne/logik- enheten 22. Samtidigt innehåller utledaren 20 ROS lö-adressen, så. att access sker till nästa instruktion i sekvensen. Överlappning kan också. föreligga, när data från utförandet av en tidigare instruktion fortfarande finns att lagra i registret 11+, och utförandet av en ny instruktion redan har börjat. Registret lll fylls under klockan ett av den nya instruktionscykeln, medan den nya instruktionens utförande startade vid klockan noll. De sex ledningarna i LCO-registret ILO bildar en hjälpadressaxnlingsledare 21, ll-l, som utnyttjas för adressering av 61! halvord i registret lll, eller upp till 63 in/ut-anordningar på. utledaren 20 beroende på vilket slags instruktion som utföres. Kombinationen av denna hjälpminiadressamlingsledare och sling-in/ut- samlingsledaren l0, 20 tillåter att operationer utföras under en cykel. En in/ut-anordning kan placera data på inledaren lO, få denna databehandlad via en- heten 22 och "se" den aritmetiskt eller logiskt modifierade datan på. utledaren under samma instruktion, medan anordningen adresseras av minisamlingsledaren 21. Detta är en fördel framför tidigare kända kanaler, som kräver tre instruk- tioner t.o.m. för att utföra en enkel ín/ut-dataöverföring utan någon räkne/logik- enhetsoperation enligt följande: först måste centralenheten utsända en adress på. en gemensam in/ut-samlingsledare. Då. skulle anordningen behöva svara via en fråga/ svar-länk för att tala om att den identifierat sin egen adress. En andra instruktion skulle behövas för att centralenheten skulle sända ut en orderspeci- fikation, som skulle besvaras av anordningen. Härefter skulle behandlingsenheten behöva utföra en tredje instruktion, läsning eller skrivning beroende på i vilken riktning datan skall flyta. 7714243-8 13 Utledaren 20 har multiplexfunktion, vilket innebär att för varje instruktion som utförs äger en överlappad operation rum. Överlaçpningen innebär i sin tur, att nästa instruktion från instruktionsminnet 16 tillgripes under det att central~ enheten samtidigt internt utför den nu aktuella instruktionen. Detta äger rum över de allmänna samlingsledarna genom att t.ex. fem klockperioder av den åtta klockperiodiga instruktionscykeln tillåtas för adressering av ROS 16, medan övriga tre åttondelar av instruktionscykeln reserveras för datasändning antingen till lokalminnesregistret lh eller till in/ut-anordningarna.
Huvudminnet 12 Huvudminnet 12 är ett adresserbart och uppdaterbart minne, där både mikro- datorn och in/ut-anordningarna kan lagra data för senare uthämtning. Data överförs i både läs~ och skrivmoden över samlingsledaren ll i förhållande till inledaren . Ledningar 19 åstadkomer tidsanpassning och styrning, och adressen levereras via utlcdaren 20.
Närhelst access sker till huvudminnet l2 adderas en ytterligare cykel, som gör instruktionen till en dubbelcykelinstruktion. Såsom kommer att beskrivas i det följande utföres under den första cykeln en framstegning, en backstegning eller annan adressmodifikation på den huvudminne 12-adressvisare, som erhållits från lokalminnesregistret lå eller B-registret 35. Huvudminneslâsning eller - skrivning utföres under den andra cykeln efter det att huvudminnets 12 adress- visare har uppdaterats för åstadkommande av den effektiva nya adressen. Adressen hålles i utgångsbufferten 26 under hela den andra cykeln, som i det följande kallas huvudminnets minnescykel, vilket ger en åttondels klockperiod för adres~ sering av huvudminnet 12.
Huvudminnet 12 arbetar i efterstëllningsmod på följande sätt: under en huvudmínneshämtningsoperation tages data från huvudminnet l2 på inledarcn 10 och inmatas i ett av mikrodatorns nio interna register. Vid slutet av hämtningsopera~ tionen - vid klockan noll, när nästa instruktion skall börja - slussas den hämtade datan på inledaren 10 från huvudminnet 12 via enheten 22 och placeras i totalregistret 2h för att därefter överföras till utgångsbuffertregistret 26.
Inställningen av denna data i bufferten 26 förstör den aktuella huvudminnes- adressen.
Utläsningsminne (ROS) 16 ROS 16 lagrar utförbara instruktioner inklusive mikrodatorstyrprogram.
Dessa instruktioner inmatas via inledaren 10, buffertlagras i programregistret och avkodas vid instruktionsavkodaren 62, vilken tillsammans med tidsanpassnings- kretsarna styr grindkretsar, register och funktionskretsar för att utföra de olika instruktionerna på ett sätt som förklaras tydligare i anslutning till fig. 2-Ä.
EOS 16 arbetar i efterställd (pipelining) miljö. Vid klocktid noll, som vanligen är början på varje mikroinstruktion, inställes sålunda instruktionen i 771Å2l+3-8 lä programregistret 30 via inledaren 10. Vid samma tid,'klocktid noll, inställs data i utbuffertregistret 26. Data från minnet 16, som adresseras på utledaren , tas sålunda från inledaren l0, medan samtidigt adressen på utledaren 20 förstörs. På grund av de fördröjningar som ingår i kretsarna (inklusive driv- kretsar och logiksteg) äger samtidig efterställning rum.vid dessa operationer.
Lokalminnesregister lå Registret lä innehåller ett flertal adresserbara och mofifierbara register- platser. Data inskrivs i registret lh från utledaren 20 och utläses på inledaren enligt adressering via ledningarna 21. Data, som placeras på inledaren 10, kan dirigeras till huvudminnet 12 eller till centralenhetsmikrokretsen 9. Plats noll i registret lä är reserverad för bevarande av buffert 26-data under nedan beskrivna förhållande.
Räkne/logik-enhet 22 Enheten 22 delas på tidsmultiplexbasis för databehandling, mikroinstruktion- sadressframstegning, förskjutningsförgrening, subrutinlänkning, huvudminnesadress- ering, adressmodifikation, datahämtning eller -lagring, prioritetsbestämd avbrotts- behandling och cykellån.
Detta utföres genom integrering av adressregistrets 32 innehåll med enhetens 22 dataflöde och genom användning av registret 1%. Adressregistret 32 (ett enkelt icke stegande polaritetshållregister) tidsdelar enheten 22 på växelvis halvcykelbasis för stegning eller modifiering på annat sätt av minnets 16 instruk- Ktionsadress. Plus-eller minusförskjutningsförgrening och länkning underlättas genom denna enkla dataväg till enheten 22. Eftersom enheten 22 levererar utsignaler till utledaren 20, kan mikroadresser lagras i registret lä såsom returvisare från avbrott. Eftersom vidare registren lå levererar signaler till inledaren 10 och via enheten 22 till adressregistret 32, kan nya avbrottsrutinvisare inmatas eller tidigare avbrottsrutinvisare återuppråttas, vilket låter en prioritetsbestämd och utvidgningsbar avbrottsstruktur inkluderas i enhetens 22 grunddataflöde. En plats i registret lh (plats noll) år reserverad för att bevara och återställa registrets 26 innehåll.
Mikrobehandlingsenheten 9 hämtar data från huvudminnet 12 via inledaren 10 och enheten 22 för lagring i sina interna operandregister, medan registret 26 håller huvudminne 12-adressen från det valda registret lä eller operandregistret (t.ex. utvidgningsregister 36) för samtidig access och uppdatering.
Mikrocentralenhetsdata som skall lagras i huvudminnet 12 såsom resultat av ett tidigare mikroinstruktionsutförande sänds först till ett valt register lh via registret 26. Mikroinstruktionen "skriv huvudminne" slussar datan i registret lh via inledaren 10 till huvudminnet 12.
Vissa platser i registret lfi kan vidare fungera som indirekta huvudminnes- adresser för direkta in/ut-anordnings-cykellånoperationer, varvid ett register 77142113-'8 tilldelas varje prioritetsnivå. In/ut-anordningarna har sin egen datalängdräknare.
Huvudminnets l2 adressregister i registren lü framstegas automatiskt via enheten 22 på vägen till utledaren 20 för adressering av huvudminnet för att däri skriva I/0-data på inledaren 10 för utläsning av huvudminnets 12 data, som via inledaren passerar enheten 22 för att göras tillgänglig för in/ut-anordningarna på utledaren 20. In/ut-anordningarna mottager data från mikrobehandlaren 9 på utledaren 20 och sänder data till mikrobehandlaren 9 på inledaren 10.
Enheten 22 används delad vid avkodning av emulerade instruktioner. Operations- koden för den instruktion, som emuleras, adderas av enheten 22 till adressen för den aktuella instruktionen i adressregistret 32 för framtagning av en förskjutnings~ visare till en tabell i RDS l6 alldeles under den aktuella instruktion som är under utförande. På detta sätt åstadkommes en 256-vägs-förgrening till ROS l6- instruktionerna för utförande av den emulerade instruktionen.
Genom delning av instruktionsadressregistret 32 åstadkommas avbrottsomkopp- ling via sama dataväg som användes för basinstruktionsutförandet. Det instruk- tionsadressvärde, som finns i adressregistret 32, lagras i lokalminnesregistret lä via enheten 22, totalregistret 2h, internsamlingsledaren 25, utgângsbufferten 26 och utledaren 20. När ett avbrott uppträder, bevaras visaren till nästa instruktion, som skulle ha utförts på det aktuella programmets prioritetsnivå, i registret lä. Härnäst blir den högsta nivå, som skall utföras, bestämd genom användning av prioritetskoden, som utvecklas i prioritetskodaren Sh för alstring av en adress vid registret Ä0. Detta register adresserar den plats i lokalminnes- registret lh, som innehål ler visaren för ROS 16-subrutinen för denna avbrotts- nivå. Denna visare läses från registret lh via inledaren 10 och in i mikrodator- mikrokretsen 9 via enheten 22 för inställning i totalregistret 2Ä före lagringen i adressregistret 32 och utgångsbuffertregistret 26 för att i ROS 16 adressera subrutinen för den avbrottsnivå som skall utföras. När avbrottet har betjänats, lagras visaren för det aktuella avbrottets subrutin i registret lb, och adress- visaren för den avbrutna programmet hämtas därifrån.
Programregister Programregistret 30 är en buffert för den aktuella instruktionen och håller den instruktionsoperationskod (OP) som håller på att utföras av mikrodatormikro- kretsen 13.
Räkne- eller adressfältet i instruktioner, som lagras av programregistret , kan slussas direkt till backstegningsregistret 32 och till registret RO.
Totalregister (T) Totalregistret 2h inställes med utsignalen från räkne/logik~enheten 22, vilket fyller ledaren 25 åtminstone två gånger under varje instruktionsutförande cykel - en gång med adressen för nästa instruktion som skall utföras, och en gång med räkne/logik-enhetens resultat efter utförandet av den funktion som instruktionen specificerar. 771h243-8 16 Då data från enheten 22 hålles temporärt i totalregistret 21L och därefter buffras i utgångsbufferten 26, kan en funktion utföras på inleder-en 10 samtidigt som en annan funktion avslutas på utledaren 20. Denna buffring i två steg i slingan tillåter överlappade operationer och "pipelining".
Instrnktionsadressregister Instruktionsadressregistret 32 modifieras under utförandet av varje instruk- tion av "enheten 22 i och för påverkan av adressen i ROS 16 för nästa instruktion som skall utföras.
Ackumulatorregister och utökninvsregister De båda arbetsregistren är ackumulatorregistret 31! och utökningsregistret 36. Dessa register har vardera sexton bitar, vilket ger en kapacitet av trettitvå bitar för instruktioner med skiftning, t.ex. aritmetisk skiftning, logisk vänster- eller högerskiftning, vänsterskiftning och smnmering eller rotation vänster eller höger.
Dessa register bildar tillsammans med sxnnmaregistret 50 och utgängsregistret 26 de interna registren och är direkt adresserbara genom mikroinstruktioner för utförande av interna aritmetiska och logiska beräkningar. Registren kan också. modifieras med ett av de yttre lokalminnesregistren lit eller omvänt, varvid resultatet lagras i ett av de interna registren eller i lokalminnesregistret 11:.
Utgšlngf,sbuffertregistcr Utgångsbuffertregistret 26 utför en dubbelfunktion. När det fungerar som operandregister för enheten 22, innehåller det data, som mikroprograzmnet förser det med. Vidare måste ett avbrott, som åstadkommer överföring av adressvisare eller direktminnesaccess (DMAJ-cykelläneaccesser, läta både adressen och datan flyta genom utgångsbuffertregistret 26. För att buffertregistret 26 ej skall förlora data, som placeras där av mikroprogrammet, är lokalminnesregistrets 11+ plats noll reserverad såsom en bild för utgångsbufferten 26, närhelst mikro- datorn ändrar instruktioner, adresser och data, vare sig detta sker under av- brottsstyrning eller under en cykellånoperation. Senare kan buffert 26-värdet, som är lagrat i registret lä, plats noll, i form av ett enhet 22-operandvärde, återinkallas. På detta sätt krävs ingen uppbackning på. mikrodatorznikrokretsen 9 för buffertregistret 26.
Effektdrivkretsar Då ledaren 28 lämnar mikrokretsen 9, går den via effektdrivkretsar 18, vilkas utgång är utledaren 20. På en storskalig integrerad mikrokrets kan varje drivkrets blott driva en belastning. Eftersom utledaren 20 är en gemensam sam- lingsledare, som går till ett antal enheter (eller belastningar), måste den dílrför strömförsörjas på nytt, “vitaliseras". (När man gör denna vitalisering, åstadkommas en utökning av antalet framkallade kanalledningar genom kodning av de existerande ledningarna för en övre eller nedre nivå under olika klockperioder av varje mikroinstniktionscykel om åtta klockperioder.) 7714243-8 17 Minskningsregister Minskningsregistret 38 används för räkning vid alla skift-, multiplicerings-, och divideringsinstruktioner och vid minsknings-, test- och förgreningsinstruktioner.
Registret 38 mottager insignaler från programregistret 30, närhelst en skiftopera- tion påkallar en direkt skiftning av upp till 32 positioner, och lagrar det minskade värdet i programregistret 30. Vid indirekta skiftningar, där summaregistrets 50 innehåll blir skiftsummavärdet, används sama minskning med ett som i direkta skiftningar, och minskningsregistret 38 håller det minskade värdet innan detta returneras till summaregistret 50.
Eftersom den maximiskiftoperation, som har utförts i denna tillämpning är 32, är ett fem bitars register 38 tillräckligt. För att utföra en fältlängdopera- tion används emellertid summaregistret 50 också såsom fältlängdsumaregister.
För denna operation krävs en fullständig åtta bitars minskningsfunktion. Detta åstadkommas genom att det fem bitar stora minskningsregistret 38 genomgår sin cykel två gånger, varvid det först tar ett fyra bitars tecken från summaregistret 50, minskar detta och lagrar överföringen i den höga femte positionen. Den eventuella lagrade överföringssiffan minskas tillsamans med det höga fyra bitars tecknet från sumaregistret 50 för att bilda det fullständiga åtta bitars minskade värdet som skall återföras till summaregistret 50.
Lsakoautuco Magister LSRkodut(LCO)registret ÄO adresserar in/ut-anordningen eller den register lh~plats, relativt vilken data skall överföras.
"Nuvarande tillstånd"~register De fyra översta bitarna i "Nuvarande tillstånd"-registret ÄB innehåller de fyra tillståndskoderna, och de nedre fyra bitarna innehåller fyra programerbara flaggor. Dessa bitar bilda den ej förbundna höga bitgruppen i summaregistret 50.
Vid varje aritmetisk operation inställas de fyra tillståndskoderna för senare fältlänkade operationer. De fyra tillstånden är binär överföring, två-komplement- spill, två-komplement-minus och ej-noll-indikator, som är kumulativ. Ej~noll- indíkatorn kommer, när den en gång inställs i en fältlängd, att förbli inställd tills den ändas av en mikroinstruktion.
Sumaregister Det andra räkne/logik-enhet-operandregistret är summaregistret 50. Detta kan dessutom fungera såsom en skifträknare. Det skiftvärde, som från början lagras i summaregistret 50, minskas för varje skiftning i ackumulatorregistret 3h eller i ökningsregistret 36 - individuellt eller i båda - när dessa är samman- kopplade för en skiftoperation med dubbelprecision. Vid en instruktion "skifta vänster och summera" blir, så snart högpositionsbiten påträffats, skiftningen avslutad, och det i summaregistret 50 kvarstående värdet indikerar hur långt skiftningen har fortskridit. I många operationer blir därför detta värde en 7714243-8 182 indirekt adressvisare till ROS 16 eller registret lll. Sålunda kan summaregistret 50 fyllas från internsamlingsledaren 25 och kan modifieras via räkna/logik- enheten 22 med resultatet inmatat i registret ll0 för adressering av lokalminnet lll på samlingsledaren 21 eller in/ut-anordningar på utledaren 20. För indexering av adressbehandlingar eller för beräkning av effektiva adresser utnyttjas summa- registret för positiv eller negativ förskjutning, som kombineras med data av enheten 22. Resultatet lagras i lokalLminnesregistret lll eller i något annat internt register på mikrfokretsen_Q._ _ _ __ Register "bevarad tillståndskodoch nuvarande tillståndskod" Utsignalen från "nuvarande tillstånd"-registret llö 'buffras selektivt i registret ll2, "bevarat tillstånd”. Bastillståndskoderna, som inställs såsom ett resultat av räkne/logik-enhetsoperationer, är: spill, överföring/lån, kumulativ ej noll, minus. "Nuvarande tillstånds"-koderna återspegla resultatet av den allra senaste aritmeriska mikroinstmzlitionens utförande. Alla vänsterskiftade högpositionsbitar åstadkomma inskiftning i "aktuell överföring"-indikatorn. Vid skiftning vänster och summa kan högpositionsbiten -inställa "aktuell överföring"- índikatorn. Laddningar, lagringar, förflyttningar, logikfunktioner, ökningar, minskningar, hopp och förgreningar ändrar ej tillståndskoderna. Koderna i regist- ren ll2 och ll8 kan tömmas separat och kan testas individuellt av hoppinstruktioner.
Förutom dessa tillståndskoder finns :fyra programstyrda flaggbitar, vilka i kom- bination med "aktuellt tillstånd"-koderna bildar tillståndsregístret llö. När en mikroinstnflitíon är föremål för emulering, överförs den korrekta nuvarande mikronivåkoden till "bevarat tillstånd"-kodregistret ll2 för att 'bevara mikronivå- tillståndskoden i det språk, som emuleras vid mikronivån.
Avbrottsregister Avbrottsmaskregistret llll innehåller aktuellt maskstatus för de tillåtna avbrottsnivåerna. Registret llll kan också modifieras via enheten 22, lagras undan i registret lll eller återstållas därifrån.
Felregister Lågpositionsbitarna i maskregistret llll omfattar det en bitgrupp stora felregistret ll6, som styr och loggbehandlar fel. Exempel på maskinkontrollfel, som kan loggföras, är: ett paritetsfel i en instruktion som hämtas från ROS 16, ett datafel från lokalminnesregistret lll, ett huvudminne l2-paritetsfel, som detekteras genom en paritetskontroll på inledaren 10, ett paritetsfel i data, som mottagits från någon av in/ut-anordningarna, ett kanalupphångningstíllstånd, där en in/ut-anordning varken utför "handskakning" eller låter mikrodatorn fortsätta till nästa mikroinstnzlition, eller tid-slut-fel, vilka t.ex. uppträder när en in/ut-instrliktion avges till en in/ut-anordning, som ej existerar och adressen därför ej är detekterbar. Dessa fel kan inställas i felregistret ll6 och modifieras, bevaras, testas eller lagras i registret lll. Vilket som helst av dessa fel, som inställs automatiskt av maskinvaran, får det högsta (nivå T) 7714243-8 l9 avbrottet i mikrodatorn att gå till en subrutin, som kan antingen försöka operationen på nytt eller avsluta den pågående funktionen och leverera signal till operatörens manöverbord.
Fyrafasgenerator och klockor 60, 6h, 66 En enkelfasoscillator 59 bildar ingången till fyrafasgeneratorn 60, vilken driver två muckar; basriockan 66 och hjälpskift- och tiaslutklockan 61+. Bas- klockan 66 är en tvåfasklocka, som kan stoppas varannan klockposition, varvid åtta klockavkodarpositioner bildas av fyra överlappande låsta tillstånd. Bas- klockan 66 genomgår de åtta positionerna under varje mikroinstruktionscykel.
Basklockan 66 ger också en "höglåspositon", som används varje gång den mikroin- struktion, som utförs, kräver en dubbelcykel, vilket äger rum varje gång access sker till huvudminnet 12. Då går klockan 66 igenom samma åtta positioner, men denna gång gör förekomsten av den höga låspositionen att vippkretsen kodar klockans 66 utsignal som klockperioder åtta t.o.m. femton. Hjälpklockans 6h avkodning ger fyra särskiljbara tidsspår tillsammans med en högpositionsvippa, som används varje gång klockan genomgår en repetitionscykel för att indikera maximitidslut för två klockgenomgångar, vilket är ekvivalent med en helt instruk- tionsutförande cykel. Hjälpklockan 6h används varje gång en skift-, multiplice- rings- eller divideringsoperation krävs. Under dessa instruktioner stoppas huvudklockan 66 vid sin sjunde position. Detta låter cykellån fortgå inuti skiftning, multiplicering eller divíderingsutökade operationer. Hjälpklockan 6h används för tidslutfunktioner, när I/O-anordningar ej svarar eller för hand- skakningsoperationer närhelst en in/ut-anordning gör sig påmind på ledaren 10 och försöker utväxla data. Om tidslut överskrider den tilldelade tiden, slår hjälpklockan 6h ifrån och ställer in indikatorer i felregistret Ä6 för att initiera högsta nivåns eller maskinkontroll-avbrott.
Integrerat cykellån och avbrottsprioriterad kanal Med hänvisning till fig. 5 och l utförs cykellån- och avbrottsfunktionerna av den gemensamma uppropsamlingsledaren 53, som har åtta cykellånnivåer eller sju avbrottskravnivåer. Ledaren 53 är sju bitar bred för att rymma krav på sju avbrottsnivåer över den innevarande utförbara programnivån, d.v.s. totalt åtta avbrottsnivåer. Varje in/ut-anordning kan anslutas till någon av de sju priori- terade avbrottskravledningarna. Upprop gällande avbrott sker kontinuerligt utom när låskretsen 75 är inställd och cykellånfunktionen äger rum. Så snart som en in/ut-anordning kräver service från mikrodatorn 9, placerar den sitt krav på den anvisade prioritctsbitlcdningen 530-536 inom samlingsledaren 53. En mångfald krav går via prioritetskodningslogiken SH, där högsta nivåns krav kodas till en tre bitars kod (på ledningar Shl, SÄ2, Shh), som specificerar en av åtta olika príoritetsnivåer. Avtrottens prioritet styrs också av avbrottsmaskregistret hk.
Om masken hk ställs in för att tillåta avbrottet, tillåter OCH-kretsarna i avbrottsgrindkretsen 52 detta avbrott att gå vidare till prioritetskodaren Sh i 771l+243-8 och för inställning av koden för de nuvarnade begärande prioriteterna. Denna av- 'brottsprioritet jämförs i jämföraren 58 med den aktuella nivån, som är lagrad i trebitsregistret "aktuell avbrottsnivå" 56. Registret 56 jämförs fortlöpande med varje ny nivå från kodaren 51; för att fastställa om den nya koden är högre än den nuvarande. Om så är fallet kommer nästa instruktion i den föreliggande kedjan ej att utföras. I stället blir den nuvarande adressvisaren i instruktione- adressregistret 32 överförd till lokalminnesregistrets 11% plats för den aktuella nivån. Den nya eller högre nivåns visare uttages därefter från registret lll och placeras i instruktionsadressregistret 32.
Adressen för avbrottsrutinen i registret 114 (en av de åtta möjliga avbrotts- visarna) framtages på följande sätt: de tre lågpositionsbitarna (pä ledningar 561, 562, 561l) från registret 56 överförs under styrning från grindkretsen öl till LCO-registrets 140 ingångsledningar 831, 832, och 533. Kretsen "inställd aktuell avbrottsnivå" 73 fyller högpositionsledningarna 8311, 835 med resterande bitar av LCO ÄO-adressen i och för lagring av den avbrutna visaren i registret 114. Den nya visaren till avbrottsregistret i registret 114 laddas på samma sätt i LCO 140 på högpositionsingångsledningar 83k, 835 av kretsen 72 (inställd nuvarande avbrottsnivå) och på lågpositionsledningarna 831-833 i LCO från avbrottsregistret 56 sedan kretsen 73 har överfört innehållet i logiken 51% till registret 56.
Detta ändrar den nya LCO MO-adressen till adressen för den register lll-plats, som innehåller en visare till ROS lö-subrutinen för utförande av avbrott gällande den valda nivån, varvid adressvisaren anländer på utledaren 20 och instruktione- adressregistret 32 från registret 11! via enheten 22 och totalregistret 214. Vid slutet av utförandet av subrutinen för den nya avbrottsnivån avgives en instruk- tion "förgrening ut". Denna instruktion återupprättar visaren för det ursprungligen avbrutna programmet. Eftersom den subrutin, som betjänade avbrottet, också återställer avbrottet, skall krav på samma avbrott ej föreligga. Om ett annat avbrott kommer upp på samma nivå eller en högre nivå, återvänder programmet ej till den ursprungliga programpositionen utan fortsätter att hantera det nyare avbrottsprioritetskravet. Detta ger en fullständig hantering av upp till åtta avbrottsnivåer. Dessutom kan för varje nivå existera en mångfald subnivåer. Så snart en given avbrottsnivå detekteras avgives en avbrottsnivåstatusord(ILSW)- instruktion till alla in/ut-anordningar, och en av de sexton anordningarna, som nu begär service på en viss avbrottsnivå, måste identifiera sig själv. (På detta sätt kan sexton subnivåer åstadkommas för var och en av de åtta nivåerna, d.v.s. totalt etthundratjugoåtta subnivåavbrott.) Avbrottsnivåstatusordet, som mottages i ett av mikrodatorregistren, kan användas för att bestämma vilken av de sexton anordningarna på denna nivå som begär servis. Detta sker genom en instruktion "skifta vänster och summera". Den första biten i den högsta positionen stoppar vânsterskiftning-och summeringsintruktionen, och den resterande summan i summa- registret 50 indikerar positionen för subrutinen för denna speciella anordning. 77142143-8 21 Ledaren 53 utnyttjas också för cykellån. Den måste emellertid först tömmas på alla avbrottskrav. Varje cykellånkrawledning 68 inställs till en negativ logiknivå av en anordning, som begär ett cykellån. Så snart denna ledning ställer in låskretsen 75 (upprop cykellån enbart), aktiveras omedelbart ledningen TT (upprop-cykel-lånkrav), varigenom anordningarna anmodas att avlägsna sina avbrotts-- krav från ledaren 53 till dess cykellånfunktionen har slutförts. Så snart som ledningen 70 och ledningen 68 släpps av alla anordníngarna, inställes låskretsen 76 vid nästa klockperiod noll, vilket indikerar att samlingsledaren 53 innehåller cykellånprioriteten för den begärande anordningen, vilken uppgift går direkt till prioritetskodaren Sh (förbi avbrottsmaskgrinden 52). Härigenom alstras tre bitar av en LCO-prioritetsadress vid prioritesavkodaren Sh, som slussas genom OCH~kretsen 82 av OCH 89-ledningen 78 (klockutsignalen från låskretsen 76) till LCO-registret ÄO - tillsamans med de fasta högpositionsbitadresserande visarna i registret lh för den cykellånnivå som används såsom adress för huvudminnet 12 för att antingen framtaga eller lagra data i huvudminnet 12 under fullständig styrning från I/O-anordningen - t.o.m. att ställa in den övre eller lägre gruppen (i stället för de båda bitgrupperna i halvordmoden). Registret 56 förblir i denna mod ostört därför att avbrottsnivån (vare sig det är programnivån eller någon högre nivå som utförs) just fördröjs av denna enda cykellåninstruktions inbrytning. Såsom sålunda beskrivits adresseras en minnesaccess från början genom en visare från LCO-registret ÄO inklusive tre loggposítionsbitar, som indikerar vilken av de åtta cykellånnivåerna som för närvarande bekräftas, varvid högpositionsbitarna ger en förskjutning till lokalminnets lä halvordregist- er, som innehåller den indirekta minnesadressen. Denna adress utläses från lokalminnet lh på inledaren l0 och stegas via enheten 22 före inställningen i buffertregistret 26. Under huvudminnets 12 minnesaccesstid kan den framstegade adressen på utledaren 20 i uppdaterad form återinskrivas i registrets lh cykel- lånregister eller hindras från att bli skriven av den bekräftade in/ut-anordningen för att bevara cykellånadressen oförändrad. Efter en accesstid utlåses data från minnet 12 på inledaren 10, om in/ut-anordningen tillåter utläsningsutväljning av huvudminnet 12 och inhibering av skrivpulser, som är styrpulser 19 från mikro- datorn. ln/ut-anordningen kan placera sin egen data på inledaren l0 för inskriv- ning i huvudminnet 12. Sålunda utövar anordningen full styrning av stegnings- eller icke-stegnings-funktionen via den integrerade räkne/logik-kretsen och fullständig styrning över läs- eller skrivarbetsmoden. I skrivmoden kan - så snart denna operation har fullföljts - in/ut-anordningen fortfarande "se" sin egen data på utledaren 20 under följande klockan ett~period. Under läsmod flyter datan, som utlästs på inledaren 10, genom enheten 22 in i totalregistret 2h och utgångsbufferten 26 för att vara tillgänglig för samtliga anordningar på utledaren . Den enda in/ut-anordning, som kommer att fånga upp denna data i lâsmoden, är 7714243-8 ae den anordning som identifierar cykellännivåkoden på de sex LCO-adressledningarna 21. Behandlingsenheten återgår då till sitt normala instruktionsutförande eller den avbrottsrutinhantering, som övergivits för denna DMA-(eller cykellån)-cykel.
Beskrivning av tidsanpassningar Med hänvisning till fig. 2-Ä lämnas nu en kort beskrivning av tidsanpassningarna för mikroinstruktionernas utförande. Då alla instruktioner har liknande utförings- tidsanpassningskarakteristik, lämnas först en allmän beskrivning, som därefter följs av mera detaljerad beskrivning av varje instruktionstyp.
Klockcykeln är uppdelad i åtta olika tidsperioder, visade såsom klockan noll till klockan sju. Klockperioderna åtta t.o.m. femton är upprepningar av perioderna noll till sju, och den enda gång som dessa klockperioder uppträder är under en huvudminne l2~operation inklusive DMA. Basinstruktionstiden om åtta klockperioder är uppdelad i två delar för utnyttjandet av enheten 22. Under perioden från klockan sju till klockan två är enheten 22 tillägnad framstegning eller annan modifiering av instruktionsadressregistret 32. Perioderna tre t.o.m. isex utnyttjas för behandling av alla mikroinstruktionerna. På detta sätt utnyttjas enheten 22 kontinuerligt för 50% instruktionsutförande och 50% instruktionsvisare- upp-datering. Det basfönster, under vilket adressen för ROS l6 uppträder på utledaren 20, startar klockan tre, när den bearbetade nya adressvisaren inmatas från enheten 22 i totalregistret 2Ä och överförs till utgängsbuffertregistret 26. Denna adress förblir oförändrad fram till följande klockan noll, när buffert- registret 26 ändras till att innehålla datan för antingen lokalminnesregistret _ lh eller någon in/ut-anordning på utledaren 20.
Klockan noll startar varje mikroinstruktion genom inmatning av instruktionen från utläsningsminnet 16 i programregistret 30. Denna buffring i programregistret medgiver utförande av denna instruktion under det att ROS l6~adressen ändras vid klockan tre såsom tidigare beskrivits för access till nästa mikro- instruktion. Totalregistret 2h inställes klockan två med instruktionsadressen och klockan sex med den data, som behandlats av enheten 22 vid utförandet av instruktionen. Klockan tre inställes nästa instruktionsadress i bufferten 26 för utmatning pä utledaren 20.
Om mikroinstruktionen kräver att data skall inskrivas i lokalminnesregistren lä, skrivs den under klockperiod ett för instruktionen efter den dä data behand- lades, och den skrivs från utgångsbufferten 26 via drivkretsarna 18 direkt in i den register lh~plats som väljs av de sex LCO ÄO-ledningarna. Pä samma sätt kan data överföras till en in/ut-anordning genom inmatning därav i utgångsbufferten 26 klockan noll och med en signal 19 klockan ett, som indikerar att datan på utledaren 20 är giltig. Denna data ändras i början av klockperiod tre, när minnets 16 adress uppträder i utgångsbuffertregistret 26. Data, som inkomer till centralenheten 9 på inledaren 10 för lagring eller modifikation, måste anlända och bli giltig vid enheten 22 under klockperioderna tre, fyra, fem och 771¿+243~8 23 sex, vilket är den tid under vilken räkne/logik-enheten utför processen som specificeras av instruktionen under utförande. Av samma skäl placeras data för registret lä på inledaren 10 för att behandlas av centralenheten 9 klockan två.
Klockan tre, där utrymme för signalfördröjningar finns, är datan tillgänglig för räkne/logik-enhetensfunktion.
Data från lokalminnesregistret lä placeras på inledaren 10 med början klockan två. Den inmatas ej i enheten 22 förrän vid början av klockperiod tre, därför att enheten 22 från klockan sju till klockan två utnyttjas för uppdatering av instruktionsadressregistret 32. Vid början av klockperiod sju går enheten 22 tillbaka till adressframstegningsfunktionen efter att ha fullbordat sin mikroinstruk- tionsbehandlande basfunktion.
Med hänvisning till fig. 2 och med tanke på mikroinstruktioner i samband med huvudminnet 12, speciellt hämtning av data från huvudminnet 12 till något av enhetens 9 register, är den andra cykeln (klockan åtta till femton) något varierad i det att nästa mikroinstruktion hämtas från HOS 16 under klockperiod åtta, även om utförandet av den aktuella instruktionen fortsätter förbi klockan femton och in i påföljande klockan noll, vid vilken tid data från huvudminnet 12 slutligen inställes i enhetens 9 specificerade register eller sänds till en in/ut-anordning.
I detta fall (efter varje instruktion med access till huvudminnet 12) blir någon ny instruktion ej inmatad i programregistret 30 under påföljande klockperiod noll, eftersom denna redan har tagits i anspråk vid föregående klockan tolv av huvudminnets 12 instruktion. Dessutom har fönstret för uppdatering av instruktione- adressregistret 32 reducerats och börjar inte motsvarande klockan femton utan två klockperioder senare vid klockan ett samt varar blott under klockan ett och klockan två, eftersom denna uppdatering är en direkt överföring via enheten 22 utan någon modifikation (eftersom denna redan har ägt rum under klockperioder sju-tio i föregående huvudminnesinstruktion).
Huvudminnesskrivinstruktionen inskriver data i huvudminnet 12 under den andra fasen av instruktionen under klockperioderna tretton till femton.
Med hänvisning till fig. 3, som avser decimalaritmetik, utför enheten 22 under de första fyra klockperioderna den binära ekvivalensfunktionen och lagrar mellanöverföringarna för var och en av de upptagna decimalsiffrorna. Ett upp- repat enhet 22-förlopp uppträder därefter under fyra nya klockperioder (styrda av hjälpklockan GÄ), varvid ett rent decimalt resultat erhålles.
När - med hänvisning till fig. Ä - en förgrening utföres, varvid förgrenings- adressen matas in klockan sju (t.ex. gren-till-tillståndet, en flervägstabellför- grening vid avkodning av en OP-kod från ett målspråk, som emuleras, eller när en förgrening och länkning äterställes genom äterupprättning av originaladressen från registret lä i instruktionsadressregistret 32) adderas ytterligare fyra klockcykler i hjälpklockan 6% för att ge tid för ROS 16-access, eftersom i vartdera fallet en förgrening har ändrat den i förväg beräknade förutsedda adressen från den föregående instruktionen. 77111-2143-8 Vid skiftoperationer tar hjälpklockan 61+ två, klockperíoder för varje enkel bitskiftning i antingen ackumulatorregistret 31% eller ökningsregistret 36 eller också tar den fyra klockperioder (som är hälften så wcket som basmikroinstrukt- ionsutföringstiden) för skiftning en position i det register med dubbel precision, som består av ackumulatorn 31! och ökningsregistret 36. Deras logiska hopkoppling till ett dubbelprecisionsregister sker genom omväxlande cykling genom räkne/logik- enheten 22.
När det gäller hoppoperationer, utförs vid enhetens 22 basbehandlingstid (klockperioderna tre till sex) test beträffande likhet, större än eller test under mask. Resultatet av testen är ej känd förrän vid början av klockperiod sju, och vid denna tid fattas ett hoppbeslut. Om intet hopp skall äga rum, fortsätter nästa instruktion, till vilken access har skett, utan någon fördröjning.
Om ett hopptillstånd påträffas och en instruktion skall överhoppas, tager bas- mikrodatorklockan ytterligare en blindmikroinstrmnktionscykel i anspråk, under vilken den gör iramstegning för nästa mikroinstruktíon utan att utföra den överhoppade mikroinstruktionen.
Ovillkorlig förgrening är en mycket snabb instruktion därför att inga villkor behöver testas och sålunda inga hjälpklockfördröjningar förekommer.
Vidare får den tolv bitar långa förgreningsadressen passera direkt genom enheten 22 och inmatas i totalregistret 211 klockan två.. Från totalregistret 211 passerar den vidare till instruktionsadressregistret 32 och buffertregistret 26 vid klocktid tre i synkronisation med den normala förutseende instruktionsåtkomsten.
Instruktionssats Maskinbasinstwktionerna utformas optimalt för emulering och lagras i ROS 16. Dessa instruktioner, som ofta kallas mikroinstruktioner, kan i fortsättningen helt enkelt benämnas instruktioner utom när en distinktion krävs mellan emulerade mälmaskininstruktioner och mikrobehandlarinstruktioner.
Gemensam för alla instruktioner är en paritetsbit i den mest signifikanta bitpositionen (bit noll) och en tre bitars operationskod (bitarna ett-tre). i Resterande bitar äro uppdelade i fält av varierande längd, vars karaktär och funktion beror på instruktionstypen. Eftersom det blott finns åtta distinkta operationskoder, särskiljas vissa av instruktionerna genom avkodning av ytterligare modifierarbitar. Flertalet av instruktionerna äro högtykodade och specificera _ eller resultera i en stor mångfald distinkta operationer, varav många utföras sekvensiellt. Dessa sekvensiella operationer koordineras genom en mycket kompakt utformad uppsättning tidsanpassningsmönster enligt vad som visas i fig. 2-11.
Med hänvisning till fig. 2-1è kommer nu de elva basinstruktionskategorierna att beskrivas. De i tidsanpssningsdiagrammen använda symbolerna har följande samband med registren: 77142lr3'8 ' Symbol Register Ackumulator Utökning Total A B T P Program U Instruktionsadress N Summa (skiftsumma) M Utgångsbuffert (samlingsledaren ut) I/O In/ut-anordning Fel I Avbrottsmask Nuvarande tillstånd-kod PCC Bevarat tillstånd-kod L Lokalminnesregister Var och en av instruktionerna kan definieras av en sexton bitars instruk- tionskod, som inkluderar en paritetsbit. Bitarna ett-tre definierar operations- koden, och dessa koder upptages nedan tillsammans med instruktionskategorien.
Instruktioner Beteckning Ogerationskod Styrning CO 000 Logik skrivning LW 001 Logik skiftning IS 001 Logik flytta summa LM 001 Modifiera data MD 010 Modifiera operand M0 010 Hämta minne FS Oll Omedelbar modifiering IM 100 Hopp villkorligt JC 101 Förgrening villkorlig BC 110 Förgrening ovillkorlig BU lll Stïrinstruktion Med hänvisning till fig. 30, som år tidsanpassningsdiagrammet för styrin- struktionerna kan sådana instruktioner exempelvis åstadkommas för följande operationer: för överföring av data, för indirekt utförande, för inställning av avbrottsmasken, för inställning av paginering, för tabellförgrening, för utväljning av valfri mod, för funktion vid bevarat-tillstånd-kod och nuvarande-ti1lstånd- kod, för programflaggor och för in/ut-överföringar. Härnäst kommer ett flertal användningar av styrinstruktionerna att beskrivas.
Några av styrinstruktionerna hänför sig till awbrottsbehandling. En sådan instruktion låter ett avbrott äga rum efter fullföljandet av varje mikroin- 77142lß3-8 26 struktion, medan en annan styr-instruktion etablerar ett avbrottsfönster, under vilket ett väntande avbrott betjänas och avbrottsomkoppling görs. Härefter passiveras avbrotten till dess fönstret åter påträffas.
Andra styrinstruktioner avser ROS-in/ut-paginering. Den fyra bitar långa ROS l6-sidan är en intern sida, som specificeras inom instruktionsadressregistret 32. Detta sidregister används, närhelst direkt förgrening över de fyra K gränserna V för de direkt adresserbara ROS lß-instnlktionsplatserna är erforderlig. Enheten 22 stegar förbi de fyra K gränserna hela vägen genom minnets 16 sextiofyra K halvord. Vidare ger avbrottsomkopplingsvisarna fullständig sexton bitars adres- sering och icke blott tolv bitar. Därför blir det också möjligt att adressera hela sextiofyra K instruktionskomplement.
Andra styr-instruktioner styr de fyra flaggbitarna. Dessa är de nedre fyra bitarna i C-registret 148, vilka tillsammans med de fyr-a tillståndskoderna utgör summaregistrets 50 icke anslutna övre bitgrupp. Flaggbitarna kan inställas av programmeraren för olika indikationer och kan användas såsom omkopplare i subru- tinen. Flaggbitarna kan lagras eller återlagras tillsammans med tillståndskoderna och sunnnaregistrets lägre bitgrupp in i och ut ur registret lll vid avbrottsomkopp- ling.
Resterande styr-instruktioner har att göra med tillståndskoden. Det finns två. nivåer av tillståndskoder, vilka var och en har fyra bitar, som indikerar binär överföring, två-komplement-spill, två-komplement, högpositionsminusbit och kumulativt icke noll. Registrets H8 övre fyra bitar ändras vid varje aritmetisk operation liksom även vid en logikvänsterskiftning, vänsterskiftning och summering, multiplicering och division. För andra instruktioner av logisk karaktär kan registren själva testas gällande noll eller icke noll, ettor eller blandade ettor och nollor. Registret 142 lagrar saunna fyra bitar som registret 748, utom att det står under mikroprogramstyrning för överföring och ackumulering av 'motsvarigheten till tillståndskoder i det makrospråk som emulers.
Nedanstående styroperationer användas i utföringsformen av mikrodatorsystemet enligt uppfinningen.
Styroperation "ladda omedelbar data" (ICBUS) har till uppgift att inladda instruktionens datafält i utgångsbuffertens 26 höga bitpositioner. Lokalminnes- registrens ll; register 0, databitarna 0-ll, inmatas i buffertregistrets: 26 låga bitpositioner, och innehållet i 'buffertregistret 26 ínskrivs i registrens lll register 0. styroperation "överför :sa data till :lo-anordning (msRW åstaakonmer ett fyra bitars fält för adressering av registrens lll register 0-15. Data från det adresserade lokahninnesregistret lll- överförs till bufferten 26 och på. utledaren . Ett sex bitars fält av instruktionen KLSR åstadkonnner anordningsadressen, -vílken inmatas i LCD-registret l4O för adresser-ing av in/ut-anordningarna 1-63. 77142143-8 27 Styrinstruktionen "överför omedelbar data till I/O-anordning" (KLCO) fyller partiellt utgångsbuffertregistret 26 med omedelbar data från instruktionskoden, varvid resten inmatas från valt registers lh register nollëbitar. Data i andra bitpositíoner av instruktionskoden inmatas i LCO-registret ÄO för anordningsadressen.
Innehållet i utgångsbuffertregistret 26 inmatas i registrets lb register 0.
Styroperation "inställ avbrottsmesk" (KILM) åstadkommer avbrottsmaskbitarna för register Åh, varvid en etta i en bitposition möjliggör ett avbrott för motsvarande nivå. En bit i instruktionskoden specificerar huruvida avbrottsmaskbitarna skall bevaras eller inställas.
Styroperationer finns för inställning av utläsningsminnets 16 paginering.
KLAP har ett fält för att specificera sidorna 0-15, och KRAP specificerar sidan 16. Varje sida representerar h096 halvord.
Styroperationer för tabellförgreníng specificerar det register eller den registerdel, som skall adderas eller EXELLER-behandlas med instruktionsadress- registrets 32 innehåll för att nästföljande adress i ROS 16 skall koma till utförande. Dessa upptages nedan: Beteckning Addera till IAR 32 KIAL Ackumulatorregister Sh, låg bitgrupp Kim, Utökningsregister 36, :Låg bítgrupp KIBL Utgångsregister 26, låg bitgrupp KIEL Inledare 10, låg bitgrupp KIAH Ackumulatorregister 3%, låg hex KIXH Utökningsregister 36, låg hex KIBH Utgångsregister 26, låg hex KIEH Inledaren 10, låg hex KIAZ Ackumulatorregister Bh, låg zon KIXZ Utökningsregister 36, låg zon KIBZ Utgångsregister 26, låg zon KIEZ Inledare 10, låg zon KIAS Ackumulatorregister 3Ä, låga sex bitar KIXS Utökningsregister 36, låga sex bitar KIBS Utgångsregister 26, låga sex bitar KIES Yttre insamlingsledare 10, låga sex bitar Styroperation "förgrening ut" (KILB) överför det nuvarande innehållet i register 32 till register lh för det nuvarande avbrottet, återställer det nu- varande avbrottet, samplar beträffande ett nytt avbrott och överför innehållet i register 32 till register lh-platsen för den nya avbrottsnivån.
Styroperation KSIE åstadkommer tre två bitars fält (II, EE och SS) för att specificera avbrottskoden (möjliggörande av ett avbrott eller sampling av avbrottet och därefter omöjliggörande av ytterligare avbrott), specifieerar felmod och 7714243-8 28 specificerar hnvudminne 12-bítgruppsadress (ingen ändring, återställning eller inställning av bitgruppsmod).
Kod 01 i en eller flera positioner i varje avbrottskod (II), felmod (EE) och huvudminnets bitgruppadress (SS)-fält i KSIE-styroperationen är reserverade för specificering av ytterligare styroperationer, i vilka avbrottskodens, felmodens eller huvudminnesbitgruppsadressmodens karakteristik för KSIE-styrinstruktionen bevaras eller utbytas enligt vad som visas i tabellen nedan. Om styrkoden visar II, EE eller SS, definierar KSIE-styrinstruktionen de operationer som specificeras av avbrottskoden, felmoden eller huvudminnesbitgruppsadressmoden: Betecknine Instruktionskodfält Beskrivning ICPIE IIEEOJ. Återställ bevarat tillstånd I kod (ej spill) KPSI II0lSS Återställ bevarat tillstånd kod (allt) KCSE 0lEESS ELLER-nuvarande tillstånd kod, till bevarat tillstånd kod och återställ nuvarande tillstånd kod KTPI II0l0l Återställ nuvarande tillstånd kod och bevarat tillstånd kod (ej spill) KCPS Ol0lSS Överför nuvarande tillstånd kod till bevarat tillstånd kod och återställ nuvarande tillstånd. kod KCPE OlEEOl Överför nuvarande tillstånd kod till bevarat tillstånd kod (utom ELLER spill) och återställ nuvarande tillstånd kod.
Styroperation KNTC utför funktionen för KTPI. Dessutom inställs styrning för att utföra en KCSE efter nästa instruktioner, om det är en aritmetisk operation.
Flaggan Ä blir också återställd "jämn" eller inställd "udda" vid resultatet. _ Styrinstruktion KPCC utför en direkt överföring av bevarat tillstånd-koden till nuvarande-tillståndrkoden.
Styrinstruktion KFCC specificerar huruvida nuvarande-tillständ-kodregistret hö skall bevaras eller inställas och specificerar de positioner som skall bevaras eller ínställas: överföring-lån, spill, minus, kumulativ, icke noll eller flaggor l t.o.m. Ä. 7714243-8 Huvudminnesinstruktioner Instruktionerna, logikskrivning (LW) och minneshämtning (FS) har att göra med huvudminnesinstruktionsgruppering. Med dessa instruktioner, visade i fig. 2B, kan data läsas från huvudminnet 12 och placeras i de fyra interna basdatare- gistren: acknmulatorregistret 3%, utökningsregistret 36, summaregistret 50 och utgångsbuffertregistret 26.
Data som hämtas från huvudminnet l2 adresseras av registret 36 eller av ett av lokalminnesregistren lh enligt specifikation i instruktionsadressen. Adressen kan från början uppdateras med en ökning eller en minskning för åstadkommande av en kontinuerligt löpande visare till huvudminnet 12 på utledaren 20, eller också kan den få svänga vid en effektiv adress genom addering till en specificerad visare av N registerblock 50-förskjutningen (positiv eller negativ).
Halvord- eller bitgruppsadresseringsmoden kan specificeras för minnesinstruk- tionerna. Så t.ex. adresserar IBM 1130 sin huvudminnesdata i halvordsmod. IBM 360/370 och IBM System/3 utnyttjar bitgruppsadresseringsmoden, och kan hämta en eller två bitgrupper under vilken som helst access. Eftersom utformningen av instruktionssatsen för System/3 tillåter instruktionerna att vara antingen 3, U, eller 6 bitgrupper, orienteras själva instruktionerna ej i linje med halvords- gränserna. För att underlätta emuleringen åstadkomer därför mikrodatorn enligt föreliggande uppfinning halvordorientering genom bitgruppsvridning av datan från huvudminnet l2 i enheten 22 i och för orientering av vilken som helst särskild bitgrupp i en viss position, så att t.ex. instruktionsoperationskoden alltid uppträder i lågpositionsbitgruppen. ïnstruktion logikskrivning Såsom tidigare påpekats finns ingen direkt väg för datan från enheten 9 till huvudminnet 12. Detta beror på att utledaren 20 används såsom huvudminnes- adressamlingsledare och därför ej är tillgänglig för data. Inledaren 10 är dubbelriktad enbart relativt utminnet 12. Skälet till att ej låta den vara dnbbelriktad relativt mikrokretsen 9 är att tillvarata area på mikrokretsen 9, eftersom de utgångsdrivkretsar som behövs för att placera data på samlingsledaren skulle förbruka en stor mängd area och effekt på mikrokretsen 13, varför de exkluderats.
De fyra logikskrivinstruktionerna väljer halvord, låg bitgruppsmod eller hög bitgruppsmod och lagrar i huvudminnet 12 data, som tagits från adresserat lokalminncsregistcr lå-platsen eller från en in/ut-anordning.
Logikskrivning från LSR I den första logíkskrívinstruktionen inskrivs data från lokalminnesregistrets lh plats l i den plats i huvudminnet l2 som adresserats av en av registrets lä positioner 0-63. Ett registers lä registerpositioner l-63 väljs, och innehållet framstegas eller backstegas med ett respektive lämnas oförändrat innan utgångs- buffertregistret 26 inställes att adressera huvudminnet med den uppdaterade s 771LæZ43-8 adress, som återínskrivs i ovannämnda valda registers 11; plats l-63. Specificering av registrets lll plats O såsom adresskällan väljer summaregister 50 såsom den indirelcta adressen för lokahninnets lit register som skall användas såsom källan för adressen gällande huvudminnet 12. En minnesskrivcykel utföres med den data, som tagits från registrets 11! position l, vilken har kopplats "till", till insamlingsledaren 10. Enligt val kommer adressmodifikationskoden (två bitar av operationskoden) vid inställning på 10 att välja enbart den låga bitgruppen eller den hög bitgruppen för inskrivning i huvudminnet 12. Om en styr-instruktion har tidigare inställd bitgrupps minnesadresseringznod, kommer alla plus- eller minus-adressuppdateringar att fungera såsom plus eller minus 2, och valet "hög bitgrupp" kommer att åstadkomma en minus 1 adressuppdatering (låg bitgrupp modiferar ej adressen) med den resulterande adressen, jämn eller udda lagring av den höga respektive låga bitgruppen. Dessutom kommer det ursprungliga innehållet i utgångsbuffertregistret 26 att väljas från registrets 11% plats O.
Logikskrivning från LSR 0-63 adresserad av ökningsregistret 36 Denna andra instruktion liknar den första, utom att den data, som skall inskrivas i huvudminnet 12, uttages från ett valt lokalminnesregister 11+ (position 0-63) och minnesadressen för huvudminnet 12 erhålles från utökningsregistret' 36.
De ovan beskrivna ojperationerna för låg eller hög bitgrupp är också. tillgängliga.
Logikskrivning från in/ut-anordningen 0-63 adresserade av samma LSR 0-63 Den tredje instruktionen liknar den första logikskrivinstruktionen utom att samma LSR 15 (0-63)-kod, som väljer adressregistret, också väljer in/ut-anord- 'ningen (0-63) för att åstadkomma den data på inledaren 10 som skall inskrivas i huvudminnet 12.
Lovikskrivning från in/ut-anordninven l-63 adresserad av utökninflsregistret 36 Den fjärde instruktionen liknar den andra logikskrivinstruktionen ovan' utom att datan, som skall skrivas i huvudminnet 12, åstadkommes av den valda in/ut- anordningen (l-63) på insamlingsledaren 10.
Minneshëmtning Instruktionerna minneshämtning (FS) äro avsedda för halvordmoden. För inställning av minnesbitgruppsadressering i stället för halvordsadressering se styrinstruktioner. (Nuvarande tillstånd hö + Summa 50 eller avbrottsmask 141; + fel 1:6 användas alltid tillsammans i bitgruppsmoden och den övre bitgruppen blir icke noll vid en minneshämtningsorder). .
Laddning från minnet till enhetens 9 register med ISR lll-adressen (halvordadressmod) Ett LSR lll-register (l-63) väljs och innehållet modifieras av O, l eller ELLER 1 före inställningen av utgångsbuffertens 26 (ej LSR 114, plats O) register till adresshuvudminnet 12. Om modifikation var l, blir registrets 26 innehåll uppdaterat till det valda registret i lSR 11:. En minnesläscykel utföres nu, och minne lQ-data-ut omkopplas på inledaren 10 för att inställas i ackumulatorn 31L, 771lf2lr3-8 31 utökningsregistret 36, bufferten 26 eller summa 50/fel Ä6-operandregistren selektivt. Avbrott hk + fel h6~registren kan väljas av KSIE-styrinstruktion i stället för tillstånd Ä8 + summa 50-registren. (Summa 50/fel h6~registret har blott den låga bitgruppen). Registrets lä plats 0 väljer indirekt adressering av registret lh från registrets 50 låga sex bitar. Även utgångsbuffertens 26 ur- sprungliga data blir vald från registrets lh plats 0.
Med samlingsledareoperandadress (halvordadressmod) Denna instruktion liknar den härnäst beskrivna instruktionen utom att utgångsbuffertens (d.v.s. registrets lh plats O) register 26 används i stället för utökningsadressregistret, och hjälputledarens 20 adressöverföring fungerar såsom en halvordförflyttning i bufferten 26 till registrets lb platser l-63 eller utledarens 20 adressuppdatering till registrets lh plats 0.
Med XTN operandadress (halvordadressmod) Ökningsregistrets 36 innehåll modifieras med O, +-l eller genom addering av summa 50-operandförskjutningen före inställning av utgångsbuffert 26 (ej LSR O)- regístret för adressering av huvudminnet 12. Buffertregistrets 26 updaterade värde återinskrivs i ökningsregistret 36. En cykel "läs huvudminne 12" startas.
En hjälpöverföring utföres (innan huvudminnets 12 data är tillgänglig) under förutsättning att registrets lÄ utväljning är från 1 till 63 och ej O. Valfritt inskrivs adressregistrets 32 innehåll i det valda LSR lä-registret. Slutligen omkopplas huvudminnets 12 data på inledaren 10 i och för inställning i ackumu- latorn lä, ökningsregistret 36, utgångsbufferten 26 eller summa 50/fel Ä6- operandregistren, vilket sker selektivt såsom i den första FS-instruktionen.
Vidare kommer utgångsbuffertens 26 ursprungliga data att väljas från registrets lh plats O.
Inmatning från minnet till in/ut-anordningar (halvordadressmod) Denna instruktion liknar den ovan beskrivna med undantag av att adress- registret 32 kan väljas från ökningsregistret 36 eller den LSE lh~plats, som är lika med den valda och uppdaterade in/ut-anordningen. Huvudminnets 12 data instålles i buffertregistret 26 (ej ISR O), varifrån den sänds till den valda in/ut-anordningen (1-63) med en prov utpuls, och inga hjälpöverföringar äger rum. Anordningen 0 väljer indirekt adressering av anordningen från operandsumma- registret 50, de låga sex bitarna. Även buffertens 26 ursprungsdata blir vald från regístrets lä plats 0.
Aritmetik- och logikinstruktioner Med hänvisning till fig. 3 är aritmetik- och logikinstruktionerna "modifiera data" (MD) och "modifiera operand" (M0). Aritmetiken inkluderar addering med eller utan överföring och subtraktion. Dessa operationer kan utföras i binär tvåkomplement eller decimal packad mod (omärkt 1-siffra i varje hexadecimal grupp om fyra bitar data). Arítmetikfunktionerna kan utföras inom mikrodatorn mellan de interna registren (ackumulatorregister 3H, ökningsregister 36, summa- 77142¿+3'8 32 register 50 och utgångsbuffertregister 26.) Dessutom kan ackumulatorregistret 31; eller ökningsregistret 36 vara aritmetiskt kombinerat med ett av de 61k lokalminnes- registren lll, varvid resultatet lagras antingen i ett av registren lll eller i ökningsregistret 36. Alla de aritmetiska instruktioner som utförs inom mikrodatorns 9 register kan utföras i halvordsmod, den övre bitgruppen enbart-mod, lägre bitgrupp-mod eller låg fyra hex bitars mod. Övriga bitar i var och en av dessa konfigurationer förblir oförändrad.
Logikinstruktionerna omfattar OCH, ELLER och EXELLER. Dessa operationer kan, när de utföras på. de interna registren enbart, liksom i aritmetisk mod utföras i hemlåg ifyra bitar, den låga bitgruppen, den höga bitgruppen eller halvordmoden. Liknande funktioner kan också utföras med lokalminnesregistret 11+ bortsett från att alla dessa externa-till-interna respektive interna-till- externa logikfunktíoner blott kan utföras i halvordsmoden.
Datamodifiering Genom datamodiferingsordern kan ackumulatorregistret 37+ eller ökningsregist- ret 36 modifieras på, platsen med innehållet i lokalminnesregistret 11+ som förblir oförändrat. Likaså kan ett specificerat lokalminnesregister 11% modifieras med innehållet i ökningsregistret 36, varvid ökningsregistret 36 förblir oförändrat och resultatet inställt i det valda lokalminnesregistret 11%. Dessutom kan en godtycklig in/ut-anordning väljas att leverera data på insamlingsledaren 10.
Denna data kan modifieras med datan i ökningsregistret 36 och resultatet återföras till samma in/ut-anordning genom inställning av data i utgängsregistret 26 (ej LSR O) och därefter till utledaren 20 och även in i lokalminnesregistrets 114 position 0. Om adressdelen av den modifierade datainstruktionen inställes vid 0, alstras 0 data på. inledaren 107. Genom användning av ELLER-funktionen görs en förflyttning från ökningsregistret 36 till utgångsregistret 26. Genom användning av OCH-funktionen instëlles utgångsregistret 26 på. enbart nollor.
De modifieringsfunktioner som kan specificeras av datamodifieringsinstmm- tionen är: addera binärt med eller utan överföring eller decimalt packat med överföring, subtrahera binärt eller decimalt packade med lån (subtrahering kan ej ske från ett valt lokalminnesregister ll; eller en in/ut-anordning utom vid reverserad mod), OCH, ELLER och EICELLER. Specificering av lokalminnesregister 17+, position 0, väljer indirekt adressering av lokalminnesregistret lä eller in/ut-anordning från de sex lågpositionsbitarna i smmnaregistret 50.
Operandmodifiering Med instruktionerna operandmodifiering (M0) påverkas ackumulatorregistret 31! eller utökningsregistret 36. Vidare kan utökningsregistret 36 modifieras med hjälp av utgångsbuffertregistret 26. Med registret 36 på noll förflyttas regist- rets ll; plats 0 (utgångsbufferten 26) till registret 36 och också till LSR 174 (positionerna l-l5), vilket sker genom det valfria halvordresultatets flyttning.
Modifieringsfunktioner är desannna som vid datamodifieringsfldl)Finstrulctionerna 77142113-8 33 utom att flyttningsfunktionerna mellan en godtycklig kombination av ackumulator 3h, ökning 36 eller summa 50 och fel hö-operandregistren adderas och att subtaktion ej kan ske från summa 50/ fel Ä6-operandregistren utom vid reverserad mod.
Dessutom kan alla ovannämnda funktioner utföras i antingen halvord, enbart hög bitgrupp, enbart låg bitgrupp eller låg hex siffra enbart, utom då den höga bitgruppen i summa 50/fel M6-operandregistret ej existerar. Sedan var och en av ovanstående funktioner har fullföljts kan ett hjälphalvordresultat (höga bitgruppen i summa 50/fel Ä6 lika med nuvarande tillstånd ÄB/avbrottsmask ÄH)-föflyttning utföras till ett valt register lh, plats 1-15.
Logikskiftning Med hänvisning till fig. Ä kan skiftoperationer utföras antingen åt vänster eller åt höger med en bit åt gången. Skiftningens längd beror på registrets längd. Ackumulatorregistret Sh och ökningsregistret 36 kan vart och ett skiftas från en till sexton positioner. För multiplicering och division, när dubbel precision erfordras, blir ackumulatorregistret 3ü högpositionsregistret i öknings- registret 36, och tillsammans bildar de ett kopplat trettiotvå bitars register, som kan skiftas från en till trettiotvå positioner i någon av följande moder: högerskiftaritmetik, skifta vänster och summera, vânsterskiftlogik, högerskiftlogík, vänsterskiftning och vridning samt högerskiftning och vridning. Snabbare opera- tioner, vilka är ekvivalenta med en vridning av de sexton bitars registrens åtta positioner, i annat sammanhang kända såsom bitgruppvridningar, kan utföras under en mikroinstruktionscykel.
Omedelbar modifering Instruktionerna omedelbar modifiering (IM) illustreras i fig. 3C.
En databitgrupp från programregistret 30 (operationsbitar 8-15) kombineras med den låga bitgruppen i ackumulatorregistret 3%, ökningsregistret 36 eller summa 50/fel Ä6, som valts av en föregående KSIE-styrinstruktion. För ackumulator 3h- eller ökning 36-operandregistren är följande funktioner kombinationsfunktioner: subtrahering, fyllning, ELLER, OCH, EXELLER, addition. Varje överföring eller lån, som alstras av addition eller subtraktion, fortplantas till den höga bitgruppen.
För suma 50/fel H6-registret är kombinationsfunktionerna ELLER, OCH, fyllning, addition. För additions- eller subtraktionsfunktionerna framstegas eller backstegas den omedelbara bitgruppsdatan med ett, och eventuella inkomande överföringar blir ignorerade med en ny tillståndskod inställd.
Villkorligt hogp Med hänvisning till fig. ÄB utföres hoppinstruktionen varje gång ett test är falskt. Testerna, som utförs mot maskbitgruppen i instruktionen på de låga åtta bitarna i ett valt register, är följande: mask lika med den låga bitgruppen, mask är större än den låga bitgruppen, maskbitarna testas vad beträffar "till"- bitar i den låga bitgruppen och resterande icke valda bitar ignoreras, eller masken testas vad beträffar "från"-bitarna i den låga bitgruppen medan resterande vvíuzßs-s 31» bitar ignoreras. Tillståndsregister H8 kan testas under masken med till/från- biturväljning och ett hopp vid vilken som helst kombination av tillstånd. Till- ståndsregister 148 har fyra tillståndskoder och fyra programstyrda flaggbitar. Är testet falskt, överhoppas nästa instruktion. Även de höga hexzonsiffrorna i ackumulatorns 3lß eller ökningsregistrets 36 operander kan testas beträffande enbart nollor .
Forgreningsoperationer Förgreningsoperationerna är Villkorlig förgrening och ovillkorlig förgrening.
De kan utföras till varje fyra K område inom utförbara minnet 16. Genom lagring av innehållet i registret 32+l i ett av registren ll; innan den ovillkorliga förgreningen utförs blir en förgrenings- och lånkningsoperation utförd. Det motsatta, att ta den sålunda lagrade adressen i registret lb. och förflytta denna adressvisare tillbaka till instruktionsadressregistret 32, åstadkommer retur till den subrutin, varifrån förgreningen och länkningen från början gjordes.
- En andra gruppering av förgreningsinstruktioner åstadkommer den flervågs tabellförgrening, som kan göras på de låga fyra hex-bitarna i mikrodatorregistren, på de närmaste fyra bitarna, som år zon ll-bitarna, under ignorering av de låga fyra eller sex bitarna eller på. alla de åtta bitarna, vilket ger en fullständig 256 tabellförgrening, varifrån åtta bitars operationskoden kan avkodas genom en instruktion ovillkorlig förgrening ut från tabellen.
En tredje grupp av förgreningsinstruktioner ger markerad förskjutningsför- 'grening vid sexton olika tillstånd, t.ex.: register noll eller icke noll, register negativ eller icke negativ. Förskjutningsförgrening utföres genom att åtta bitarsförskjutningen tages från instruktionen och adderas såsom ett markerat -sextonbitars tal till innehållet i adressregistret 32.
Andra instruktioner tillåter förskjutningsförgrening på basis av att summa- registret 50 backstegas med ett eller med sexton och förgreningar vidtages, om resultatet år enbart nollor eller icke enbart nollor, om de låga fyra bitarna samtliga är nollor eller ej samtliga nollor, om de låga fšyra bitarna äro samtliga ettor eller icke samtliga ettor, om de fyra höga bitarna äro samtliga ettor eller ej samtliga ettor, etc. _ Logikförflyttning summering Med hänvisning till fig. 3B förflyttar logikförflyttning summering (LM)- instruktionerna innehållet i ett specificerat register 1-63 inom registret ll; och till instruktionsadressregistret 32, aekumulatorregístret 31:, ökningsregistret 36 eller de kombinerade "nuvarande tillstånd"- och summa-registren ÅS, 50. Under denna överföring kan värdet modifieras med 0, -l eller +l (utom vid förflyttningar av enkla bitgrupper in i ackumulatorregistret 31+ eller ökningsregistret 36), och det modifierade värdet återskrivs in i det valda registret l-63 inom lokalminnes- registret lit. Omvänt kan innehållet i specificerat register (något av registren 32, 31+, 36 eller kombinationen ÄB, 50) flyttas in i den valda platsen 1-63 inom 77142læ3-8 registret lä med modifikation 0, +l eller -l (utom när enkla databitgrupper förflyttas från ackumulatorregistret 3ü eller ökningsregistret 36.) Bitgrupps- förflyttningarna kan specificera antingen den höga eller låga bitgruppen i ackumulatorregistret 3Ä eller ökningsregistret 36, men ingen modifikation utföres på förflyttningar mellan registret 3h eller registret 36 och det specificerade registret i lokahminnesregistret lä. Registrets 32 värde är sammansatt av den sexton bitar långa adressen gällande utlâsningsminnet 16. "Nuvarande tillstånd"- registret M8 kan endast väljas såsom den översta bitgruppen i kombinationsre- gistren hö, 50, och intet framsteg eller backsteg specificeras. Likaså kommer avbrottsregistret Åh och felregistret M6 att insättas i stället för kombinations- registren Ä8, 50, om inställning sker av KSIE-styrinstruktionen enligt ovan. När logiksummaförflyttningsinstruktionen specificerar plats O i register lä, väljs indirekt adressering av registret lä från de låga sex bitarna i sumaregistret 50, utom vid utväljning av kombinationsregistren M8, 50 såsom destination eller källregister för den förflyttningsoperation, som skall flytta data till eller från registren ÄB, 50 fram eller till lokalminnesregistrets lå plats 0.
Ingång/utgång Det finns ingen särskild in/ut-instruktion såsom sådan; direkt programstyrda överföringar av data- eller styrmeddelanden till eller från en in/ut-anordning utföras med hjälp av följande instruktioner: minneshämtning, minneslogikskrivning, datamodifiering och styrning.
Minneshämtinstruktionen överför data från huvudminnet 12 till en in/ut- anordning via den interna datavägen av samlingsledare 23, 25, 28. Logikskrivinstruk- tionen överför data direkt från en in/ut-anordning till huvudminnet 12 via inledaren lO utan att passera genom centralenheten 9 och med utnyttjande av adressen från registret 36 eller något av LSR lü-registren. Datamodifieringsin- struktionen förflyttar data från en in/ut-anordning, utför en räkne/logik- enhets22-operation på denna med ökningsoperand 36 och returnerar resultatet till in/ut-anordningen via utgångsbuffertregistret 26. En styrinstruktion kan användas för att utmata data till en anordning antingen från ett specificerat register lä (O-15) eller från ett omedelbart datafält i instruktionen. Andra styrinstruktioner kan överföra data från en in/ut-anordning till ackumulatorregistret Bh, ökninge- registret 36 eller LSR lä-registren 0-15.
I samtliga fall blir anordningens adress, som specificeras av instruktionen antingen direkt i adressfältet eller indirekt såsom innehåll i summaregistret 50, överförd till in/ut-anordningen via LCO-ledningar 21, hl, vilka också användas för adressering av lokalminnesregistret lä. Överföringen synkroniseras med hjälp av ett par handskakningssignaler, "prov in" och "prov ut". Dessa signaler till- låter tillsamans med håll-klock-in asynkron funktion vid in/ut-överföringarna oberoende av linjelängd och anordningsfunktionsfördröjning.

Claims (9)

7?14243-s 56 PATENTKIRAV
1. Databehandlingsanordning innefattande en behandlingsmikrokrets (9) med en räkne/logik-enhet, tillhörande operandregister (šh, 36), en instruktionsavkodar- och utföringskrets (62) och en takt- och tids- styrkrets (60, 6h, 66) för tídsstyrning av successivt fortlöpande operationer vid utförandet av instruktioner, samt innefattande vidare in/ut-anordningar, ett styrminne (16), ett huvudminne (12) och ett samlingsledarsystem.som sammanbinder ovannämnda komponenter, k ä n n e- t e c k n a d av en enkelriktad intern samlingsledning (25, 28) till vilken ett antal i och för sig kända register såsom ett mikroinstruk- tionsregister (32), ackumulatorregistret (3h, 36), ett felregister (H6) och ett avbrottsmaskregister (Åh) är anslutna, vilken samlingsledning (25) leder från räkne/logik-enhetens utgång (2Ä) via ett utmatnings- buffertregister (26) till drivkretsar (18) för en utgångssamlingsledning (20) kopplad till in/ut-anordningarna, huvudminnet (12), styrminnet (16) och till ett lokalminne (1Ä), vilka drivkretsar (18) även driva styr-och adressledningar för styrning och adressering av in/ut-anordningarna och minnena, samt av en ingångssamlingsledning (10) som samanbinder ut- gångarna för in/ut-anordningarna och utgångarna (11, 13, 17) för nämnda minnen med ingången till räkne/logik-enheten, varigenom en enkelríktad informationsslinga bildas för dataflödet vid utförandet av successiva instruktioner, varvid de i slingan ingående enheternas buffertlagrings- kapacitet möjliggör överlappad instruktionsutföring.
2. Databehandlingsnordning enligt patentkravet 1, k ä n n e t e c- k n a d därav, att utgångssamlingsledningen (20) adresserar styrmínnet (16) och hnvudminnet (12), vilka är anordnade utanför själva behand- lingsmikrokretsen (9) och levererar data till in/ut-anordningarna och lokalminnet (1ü), under det att ingångssamlingsledningen (10) avger instruktioner och information till behandlingsmikrokretsen (9) resp. från in/ut-anordningarna och lokalminnet (1h) till huvudminnet (12).
3. Databehandlingsanordning enligt patentkraven 1 och 2, k ä n- n e t e c k n a d därav, att takt- och tidsstyrningen bestämmer en tvådelad utföringscykel för instruktionerna i och för överlappad funk- tion, varvid under den ena delen styrminnet (16) blir adresserat med en adress på utgångssamlingsledningen (20), medan under den andra delen data sänds över denna utgångsledning (20) till lokalminnet (1h) eller till utanordningarna. '7714243-8 57 Ä.
4. Databehandlingsanordning enligt patentkraven 1-3, k ä n n e - t e c k n a d därav, att utförandet av en instruktion börjar under en instruktionsutföringscykels första del, medan under denna instruktione- utföringscykels andra del data utmatas på utgångssamlingsledningen (20), vilken data överförs till en in/ut-anordning och/eller till den plats i lokalminnet (1h), som adresseras genom adressledningarna (21) från drivkretsarna.
5. Databehandlingsanordning enligt patentkraven 1-Ä, k ä n n e - t e c k n a d därav, att i lokalminnet (1h) vid en reserverad adress data finns lagrad, som uppträder på utgångssamlingsledningen (20) under en del av varje instruktionsutföringscykel för att selektivt under nästa instruktionsutföringscykel matas till ingångsledningen (10).
6. Databehandlingsanordníng enligt patentkraven 1-5, k ä n n e ~ t e c k n a d därav, att drivkretsarna (18) och takt- och tidsstyr- kretsarna (60, 6h, 66) är anordnade på behandlingsmikrokretsen (9).
7. Databehandlingsanordning enligt patentkraven 1-5, k ä n n e - t e c k n d därav, att drívkretsarna (18), styrminnet (16), huvudminnet (12), lokalminnet (1h) och dessas dataledningar (11, 13, 17) är anord- nade på en eller flera andra halvledarmikrokretsar.
8. Databehandlingsanordning enligt patentkraven 1-T, k ä n n e - t e c k n a d därav, att den interna samlíngsledningen (25), som är förbunden med ett efter räkne/logik-enheten (22) inkopplade totalregist- ret (2h), under varje instruktionsutföringscykel fylls två gånger, närmare bestämt en gång med adressen för den instruktion, som skall utföras härnäst, och den andra gången med utföringsresultatet av den i instruktionen angivna funktionen.
9. Databehandlingsanordning enligt patentkraven 1-8, k ä n n e - t e c k n a d därav, att data från räkne/logik-enheten (22) lagras dels tillfälligt i det efterkopplaae totalregistret (211), dels därefter tidsstyrt i utmatningsbuffertregistret (26), varigenom på ingångssam- lingsledningen (10) en operation kan utföras, under det att samtidigt en andra operation överlappande äger rum och avslutas på utgångssamlings- ledningen (20).
SE7714243A 1976-12-27 1977-12-15 Databehandlingsanordning SE427590B (sv)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US75446276A 1976-12-27 1976-12-27

Publications (2)

Publication Number Publication Date
SE7714243L SE7714243L (sv) 1978-06-28
SE427590B true SE427590B (sv) 1983-04-18

Family

ID=25034899

Family Applications (1)

Application Number Title Priority Date Filing Date
SE7714243A SE427590B (sv) 1976-12-27 1977-12-15 Databehandlingsanordning

Country Status (10)

Country Link
JP (1) JPS6053898B2 (sv)
AU (1) AU512868B2 (sv)
BR (1) BR7708663A (sv)
CA (1) CA1091359A (sv)
CH (1) CH623946A5 (sv)
DE (1) DE2756767C2 (sv)
ES (1) ES465430A1 (sv)
GB (1) GB1543279A (sv)
HK (1) HK70784A (sv)
SE (1) SE427590B (sv)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6140500U (ja) * 1984-08-16 1986-03-14 三菱重工業株式会社 シ−ルド式トンネル掘進機のテ−ルシ−ル
JPS62175082U (sv) * 1986-04-24 1987-11-06
JPS63104495U (sv) * 1986-12-25 1988-07-06
JPH0535198Y2 (sv) * 1987-02-17 1993-09-07
JPH0513834Y2 (sv) * 1987-02-17 1993-04-13
JPH0540157Y2 (sv) * 1987-08-13 1993-10-12

Also Published As

Publication number Publication date
AU2956177A (en) 1979-05-24
CH623946A5 (en) 1981-06-30
HK70784A (en) 1984-09-21
BR7708663A (pt) 1979-07-24
ES465430A1 (es) 1978-09-16
DE2756767C2 (de) 1982-09-09
DE2756767A1 (de) 1978-06-29
JPS6053898B2 (ja) 1985-11-27
GB1543279A (en) 1979-03-28
SE7714243L (sv) 1978-06-28
CA1091359A (en) 1980-12-09
AU512868B2 (en) 1980-10-30
JPS5382239A (en) 1978-07-20

Similar Documents

Publication Publication Date Title
US4016545A (en) Plural memory controller apparatus
EP0010188B1 (en) Computer instruction prefetch circuit
US3983541A (en) Polymorphic programmable units employing plural levels of phased sub-instruction sets
EP0045634B1 (en) Programmable digital data processing apparatus arranged for the execution of instructions in overlap
US4181934A (en) Microprocessor architecture with integrated interrupts and cycle steals prioritized channel
US5511207A (en) Program control circuit determining the designated number of times a sequence of instructions is repetitively executed to prevent further execution of a jump instruction
US4896259A (en) Apparatus for storing modifying data prior to selectively storing data to be modified into a register
US4558411A (en) Polymorphic programmable units employing plural levels of sub-instruction sets
EP0124597B1 (en) Multiple control stores in a pipelined microcontroller for handling jump and return subroutines
EP0238090B1 (en) Microcomputer capable of accessing internal memory at a desired variable access time
JPH0731603B2 (ja) Forth特定言語マイクロプロセサ
JPH0235523A (ja) フレキシブルasicマイクロコンピュータ
JPS6044699B2 (ja) 特殊アドレス発生装置
US4348720A (en) Microcomputer arranged for direct memory access
EP0126125B1 (en) Multiple control stores for a pipelined microcontroller
EP0032515B1 (en) A method of pipeline control for a computer
EP0126124B1 (en) Multiple control stores in a pipelined microcontroller for handling nested subroutines
SE427590B (sv) Databehandlingsanordning
US4225921A (en) Transfer control technique between two units included in a data processing system
US4432050A (en) Data processing system write protection mechanism
US4481581A (en) Sequence control circuit for a computer
KR920007253B1 (ko) 마이크로 프로그램 제어 장치
KR940006916B1 (ko) 선택적 캐쉬 메모리를 가진 마이크로프로세서
US8200943B2 (en) Microprocessor
US3440618A (en) Information processing system