NL8002606A - Gegevensverwerkingssysteem. - Google Patents

Gegevensverwerkingssysteem. Download PDF

Info

Publication number
NL8002606A
NL8002606A NL8002606A NL8002606A NL8002606A NL 8002606 A NL8002606 A NL 8002606A NL 8002606 A NL8002606 A NL 8002606A NL 8002606 A NL8002606 A NL 8002606A NL 8002606 A NL8002606 A NL 8002606A
Authority
NL
Netherlands
Prior art keywords
unit
data
signal
address
cycle
Prior art date
Application number
NL8002606A
Other languages
English (en)
Other versions
NL182178B (nl
NL182178C (nl
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from NLAANVRAGE7104318,A external-priority patent/NL181892C/nl
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of NL8002606A publication Critical patent/NL8002606A/nl
Publication of NL182178B publication Critical patent/NL182178B/nl
Application granted granted Critical
Publication of NL182178C publication Critical patent/NL182178C/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/37Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4213Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

4 / ' - -Η /
Gegevensverwerkingssysteem
De uitvinding heeft in het algemeen betrekking op ge-gevensververkingssystemen, en in het bijzonder op de onderlinge verbinding tussen een ververkingseenheid, een geheugen en randeen-heden in een systeem* 5 Een gegevensververkingssysteem omvat gevoonlijk een ver verkingseenheid, die instrukties uitvoert, welke zijn opgeslagen op adressen of plaatsen in een geheugen. Deze instrukties worden in volgorde overgedragen naar de ververkingseenheid onder de beheersing van een programteller* Het gegeven, dat verwerkt wordt, wordt in en uit 10 het systeem gevoerd door input /outputinrichtingen of randeenheden, zoals verreschrijvers, ponsbandapparaten of kaartlezers. Het gegeven wordt meestal tijdelijk opgeslagen in het geheugen v66r en na de verwerking.
Er zijn verscheidene manieren om gegevens te transpor-15 teren tussen een randeenheid en een geheugeneenheid of ververkingseenheid. Twee populaire methoden worden gevormd door gegevens te transporteren via input/outputregeleenheden of direkt met het geheugen.
In de eerste methode leveren de ververkingseenheid en 20 een werkzaam verbonden input/outputregeleenheid informatieoverdrachten als gevolg van gescheiden input/outputinstrukties. Het bestaan van deze instrukties naast de normale werkinstrukties verhoogt de ingeveikkeldheid van de programmering en de ververkingseenheid. Randeenheden reageren alleen op input/outputinstrukties en niet op verk-25 instrukties. De systeemdoelmatigheid wordt gereduceerd met verscheidene trappen, omdat elke bewerking, die een overdracht omvat van een randeenheid, de uitvoering vereist van een input/outputinstruktie en dan van een verkinstruktie. Deze vermindering van de systeemdoelmatigheid kan vermeden worden, indien de randeenheden, het geheugen 30 en de ververkingseenheid reageerden op één stel instrukties en indien 800 2 6 06 **'·* 2 alle eenheden reageerden op dezelfde instrukties. Deze vermindering wordt evenwel geaccepteerd in vele systemen, wanneer informatie wordt overgedragen naar en vanaf een eerste categorie van randeen-heden, waaronder verreschrijvers,haartponsapparaten en kaartlezers, 5 die gegevens met betrekkelijk lage snelheid overdragen.
De systeemwerking wordt onaanvaardbaar, wanneer deze eerste methode wordt gebruikt om informatie over te dragen tussen de geheugeneenheid en een tweede categorie van randeenheden, waaronder magnetische trommels, schijven en bandmachines. Deze rand-10 eenheden dragen grote hoeveelheden gegevens over met betrekkelijk grote snelheden, gewoonlijk in groepen van "woorden", die elk bestaan uit een vast aantal bits. Het is duidelijk, dat de voor de overdracht van een "woord" vereiste input/outputinstrukties het niet mogelijk maken, dat grote hoeveelheden informatie doelmatig getransproteerd 15 worden.
Direkte geheugenoverdrachten (de tweede methode) maken het mogelijk, dat grote hoeveelheden informatie getransporteerd worden tussen het geheugen en een randeenheid met een in hoge mate vergrote doelmatigheid. Enige voorbereidende werking van de verwer-20 kingseenheid is nodig voor elke direkte geheugenoverdracht. Meestal starten en stoppen sommige instrukties of andere signalen de overdracht, en deze signalen vereisen een onderbreking van de werking van de verwerkingseenheid en synchrone overdrachten. De resulterende systeemondoelmatigheid is onaanvaardbaar, indien direkte geheugen-25 overdrachten gedaan worden met randeenheden in de eerste categorie, dat wil zeggen één woord per keer. Wanneer evenwel grote hoeveelheden gegevens getransporteerd moeten worden in of uit een geheugeneenheid, verhogen direkte geheugenoverdrachten de systeemdoelmatigheid aanmerkelijk.
30 Vele gegevensverwerkingssystemen passen beide methoden toe om doelmatige systeemcommunicaties en werkingen te verkrijgen.
Dat wil zeggen randeenheden, die door lage overdrachtssnelheden gekenmerkt worden, communiceren synchroon via de input/outputregel-eenheid, terwijl andere randeenheden direkte geheugenoverdrachten 35 toepassen. Een aanmerkelijke verwerkingstijd en circuits zijn even- 800 2 6 06 * * ïg .. J f % 3 wel nog nodig. Randeenheden, die werking met input/outputinstrukties en die met direkte geheugenoverdrachten zijn gekoppeld met het geheugen via multiplexing circuits, bijvoorbeeld. De doelmatigheid van de verwerkingseenheid wordt ook gereduceerd met gekombineerde 5 systemen, omdat de overdrachten synchroon gedaan worden en afhankelijk zijn van de uitvoering door de verwerkingseenheid van tenminste enige voorbereidende instrukties voor beide typen overdracht.
Naast doelmatige gegevens- en instruktieoverdracht-tijden te hebben, kan het ook wenselijk zijn het gegevensverwerkings-10 systeem te sturen door een randeenheid. In de meeste gegevensver-werkingssystemen stuurt de verwerkingseenheid altijd het systeem.
Zelfs waar de verwerkingseenheid afziet van de sturing, zijn verscheidene voorbereidende handelingen van de verwerkingseenheid meestal nodig. Deze handelingen onderbreken de lopende verwerkings-15 eenheidhandelingen en reduceren de systeemdoelmatigheid.
Een doel van de uitvinding is daarom het verschaffen van een gegevensververkingssysteem, waarbij één stel instrukties gegevensoverdrachten naar en van randeenheden, een verwerkingseenheid en het geheugen stuurt.
20 Een ander doel is het verschaffen van een gegevensver- werkingssysteem, waarbij de verwerkingseenheid en elke randeenheid reageren op dezelfde instrukties.
Een ander doel is het verschaffen van een gegevens-verwerkingssysteem, waarbij elke randeenheid asynchroon ten opzichte 25 van de verwerkingseenheid gegevens overdracht.
Weer een ander doel is het verschaffen van een gegevens-verwerkingssysteem, waarbij direkte overdrachten tussen een randeenheid en het geheugen onafhankelijk van de verwerkingseenheid gedaan worden.
30 Weer een ander doel is het verschaffen van een gegevens- verwerkingssysteem, waarbij een randeenheid het systeem kan sturen.
Weer een ander doel is het verschaffen van een gegevens-verwerkingssysteem, waarbij voorbereidende bewerkingen, die nodig zijn om de sturing over te dragen aan een randeenheid, tegelijk plaats 35 vinden met andere bewerkingen van de verwerkingseenheid.
800 2 6 06 k
Volgens de uitvinding zijn de ververkingseenheid en alle randeenheden verbonden met één verbindingsrail, waarover alle gegevensoverdrachten plaats vinden. Een randeenheid kan de sturing van het systeem vragen. Indien de vraag wordt toegewezen, wordt de vra-5 gende randeenheid gekozen. Op een passend tijdstip krijgt hij de sturing, en later, wanneer de randeenheid zijn bewerkingen voltooit heeft, wordt de sturing teruggegeven aan de verwerkingseenheid.
De uitvinding wordt in de volgende beschrijving nader toegelicht aan de hand van de tekeningen.
10 Fig. 1 toont een gegevensverwerkingssysteem volgens de uitvinding.
Fig. 2 is een schema van de ververkingseenheid uit fig.1
Fig. 3 toont een uitvoering van de geheugeneenheid uit fig. 1.
15 Fig. U is een schema van een typische randeenheid uit fig. 1.
Fig. 5 illustreert signalen, die overgedragen worden over de in fig. 1 weergegeven rail.
Fig. 6 is een stromingsdiagram van een door de ver-20 werkingseenheid volgens fig. 2 uitgevoerde "fetch" cyclus.
Fig. 7 is een stromingsdiagram van een door de verwerkingseenheid volgens fig. 2 uitgevoerde "execute" cyclus.
Fig. 8 is een stromingsdiagram van een door de ververkingseenheid volgens fig. 2 uitgevoerde "term" cyclus.
25 Fig. 9 toont een timingeenheid voor de verwerkingseen heid volgens fig. 2.
Fig. 10 is een schema van een statuseenheid en inter-ruptieprioriteitseenheid voor de ververkingseenheid volgens fig. 2.
Fig. 11 is een schema van andere gedeelten van de in 30 fig. 2 weergegeven verwerkingseenheid, die nodig zijn voor een begrip van de uitvinding.
Fig. 12 is een schema van een adresselektie-eenheid voor de in fig. k weergegeven randeenheid.
Fig. 13 is een schema van een interruptieregeleenheid 35 voor gebruik in de randeenheid uit fig. k.
800 2 6 06 3.-= j * 5
Beschrijving van een illustratieve uitvoering 1. Algemene beschrijving
Het in fig. 1 weergegeven gegevensververkingssysteem omvat een ververkingseenheid 22, een reandomaccess-geheugeneenheid 5 2k en een aantal randeenheden, zoals randeenheden 26 en 28. De verscheidene eenheden zijn onderling verbonden door een in twee richtingen geleidende rail 30 om direkte gegevens-en instruktieover-drachten hiertussen mogelijk te maken. Elke randeenheid en geheugen-eenheid omvat een regelsektie, die gegevensbufferregisters, adres-10 dekodeercircuits voor selektiedoeleinden, inrichtingen voor het opslaan van onderbrekende vektoren en andere circuitelementen, die nodig zijn voor eenheidregeling. Bepaalde details van deze regelsek-ties worden in detail later beschreven, a. Verwerkingseenheid 15 De ververkingseenheid 22 is weergegeven in fig. 2. Hij is gekoppeld met de rail 30 via een aantal verbindingen. De primaire verbinding loopt via een rail-interfacing-eenheid 32, bestaande uit een railadresregister 3^, een rail-interface-eenheid 36 en een inter* ruptieprioriteiteenheid 38. Informatie in de vorm van gegevens of 20 instrukties wordt overgedragen aan of ontvangen van plaatsen, die gevormd worden door de randeenheden of de geheugeneenheid. Elke plaats wordt gedefinieerd door een adres in het railadresregister 3^; en het gegeven of de instruktie wordt overgedragen over de rail 30.
Het railadresregister 3¼ draagt ook informatie over 25 met een console-eenheid 35* die met de rail 30 gekoppeld is. Hierdoor kan de inhoud van het railadresregister 3^ overgedragen worden aan de console-eenheid 35 voor weergavedoeleinden of een adres kan door de console-eenheid 35 geleverd worden aan de rail 30 voor controledoeleinden.
30 Een registergeheugen ho omvat een regelsektie h2 en een aantal opslagregisters, die aangeduid zijn als R0 t/m R7, TEMP en SOURCE. Het R7 register is de programteller en wordt geïdentificeerd als het R7 of PC register, afhankelijk van zijn funktie.Het Ré register is aangeduid als een SP register, wanneer het funktioneert 35 om aangrenzende geheugeneenheidplaatsen te identificeren.
800 2 6 06 6
Een rekeneenheid kb (fig. 2) omvat een opteleenheid hé en tvee inputcirciuts. De A en B inputcircuits U8 en 52 ontvangen elk inputs van het registergeheugen HO op een rail ^9 en van de rail-interface-eenheid 36 op een rail 50. Outputsignalen van de op-5 teleenheid 1+6 worden overgedragen via een poorteenheid 5^» die vermogens roteert en schuift op een rail 56. De rail 56 is gekoppeld met een railadresregister 3^» de rail-interface-eenheid 36, de in-terruptieprioriteiteenheid 38, het registergeheugen 1+0 en een sta-tuseenheid 53* De statuseenheid 58 omvat een statusvoordregister 10 59 en is aangebracht in een regeleenheid 60.
Het acht-bit-statusregister 59 is weergegeven in fig. 2 en slaat de minst signifikante acht bits op op de rail 30, wanneer zij de processorprioriteit vormen, voorgaande bewerkingen en of de verwerkingseenheid 22 gestopt of "trapped" kan worden na een instruk-15 tie. De prioriteitbits (bits 5» 6 en 7) definiëren één van acht prioriteiten. Een T-bit (bit k) kan gesteld worden om "trapping" te verschaffen. Een N-bit (bit 3) kan gesteld worden, indien het resultaat van de voorgaande instruktie negatief was, terwijl een C-bit (bit 2) gesteld kan worden voor nul-resultaten. Een V-bit (bit 20 1) kan gesteld worden, wanneer een rekenkundige overloop optreedt, terwijl een C-bit (bit 0) gesteld kan worden, wanneer een carry wordt opgewekt door de opteleenheid 1+6 voor het meest signifikante bit.
Informatieoverdrachten binnen de verwerkingseenheid 22 25 worden door de regeleenheid 60 geïnspekteerd. In het algemeen worden instrukties vanaf de rail 50 gekoppeld met een instruktieregister 62 om gedekodeerd te worden in een instruktiedekodeerinrichting 61+ als gevolg van signalen uit eentimingeenheid 66 en een algemene regeleenheid 68. De timingsignalen en signalen van de instruktiede-30 kodeerinrichting 6¼ en de algemene regeleenheid 68 worden ook gekoppeld met een rekenkundige regeleenheid 70, die de verscheidene eenheden in de rekenkundige eenheid 1+1+ regelt.
De bewerkingen in het registergeheugen 1+0 worden geregeld door een registergeheugenregeleenheid 72. Inwendige computerbe-35 drijfscondities worden bewaakt door een inwendige regeleenheid 7*+, die ook reageert óp andere signalen in de regeleenheid 6o. Signalen, 800 2 6 06 «> η -•e > t ’ 7 die het bestaan van zekere inwendige condities aanduiden, kunnen gekoppeld worden via de B-inputschakeling 52, de opteleenheid k6 en de poorteenheid net de rail 56.
V6or het beschrijven van de details, die nodig zijn voor 5 een kompleet begrip van de uitvinding, zal het nuttig zijn om na te gaan hoe ve verwerkingseenheid 22 informatie overdraagt als gevolg van verscheidene instrukties. Tijdens een ’’fetch” cyclus, die in detail aan de hand van fig. 6 wordt beschreven, draagt de regeleen-heid 60, waaronder de rekenkundige regeleenheid 70 en de register-10 geheugenregeleenheid 72, de programstelling over van het PC register (het K7 register in het registergeheugen kO) via het B-inputcircüit 52, de opteleenheid U6, en de poorteenheid 5^ aan het railadresre-gister 3^ zonder modifikatie. De programtelling wordt dan geincremen-teerd en teruggevoerd naar het PC register 5^. Dan wordt de instruk-15 tie in de plaats, die geadresseerd is door het railadresregister 3^, verkregen met een informatieoverdracht over de rail (hierna een ’’railbewerking”) en gekoppeld via de rail-interface-eenheid 36 in een instruktieregister 62. Nadat de instruktie gedekodeerd is in een instruktiedekodeerinrichting 6¾. Voltooit de regeleenheid 60 de ’’fetch” 20 cyclus met enige aanvullende railbewerkingen.
Indien de instruktie er een is van verscheidene regel-instrukties, kan de regeleenheid 60 de verwerkingseenheid 22 doen afleiden naar een ’’execute” of een "term" cyclus. Indien de instruktie een operand-adres bevat, wordt het gedekodeerd en de operand, 25 meestal gegevens, gedefinieerd door het operandadres, wordt overgedragen van de geheugeneenheid aan de verwerkingseenheid met een railbewerking.
Nadat het gegeven overgedragen is aan de verwerkingseenheid 22, voltooit een ’’term” of een "execute” cyclus de werking 30 van de verwerkingseenheid. De ”execute”cyclus bewerkt de gegevens, die gedurende de "fetch" cyclus zijn verkregen in overeenstemming met de werkingskode. Tijdens de "term" cyclus bepaalde de verwerkingseenheid 22 of er kondities bestaan, die afleiding naar een interruptieroutine noodzaken. Beide "execute" en "term" cycli kunnen 35 aanvullende railbewerkingen omvatten.
800 2 6 06 ! j lx 8 b. Geheugeneenheid
Een typische inrichting voor de geheugeneenheid 2k is weergegeven in fig. 3. Adressen van het railadresregister 3^ zijn gekoppeld met een geheugenadresregister (MAR) 8k.-Indien instrukties 5 of gegevens overgedragen vorden aan de geheugeneenheid, worden zij overgedragen via de geheugenbuffer (MB) 88 aan de bestaande plaatsen. Instrukties of gegevens in geheugenplaatsen worden overgedragen van de bestemde geheugenplaatsen via de geheugenbuffer 88 aan de rail 30.
10 De geheugeneenheid 2h is arbitrair verdeeld in blokken, of groepen van aangrenzende geheugenplaatsen, voor het opslaan van gerelateerde instrukties involgorde, en random plaatsen. De geheugenplaatsen bijvoorbeeld, waaruit het blok 86 bestaat, slaan bedrijfs-programinstruktie op. Deze plaatsen worden normaal geadresseerd door 15 het PC register. Een subroutine overdrachtinstruktie (JSR) bevat een adres voor het blok 90, dat de verscheidene subroutineinstrukties opslaag. Interruptieroutine-instrukties worden opgeslagen in een blok 92 van aangrenzende geheugenplaatsen. Het blok 9^ slaat de PC registerinhoud en de statusregisterinhoud op, behalve wanneer een 20 subroutine of interruptieroutine wordt ingeleid, op plaatsen, die door de SP (of R6) registerinhoud geïdentificeerd worden.
Een eerste railbewerking (fig. 2 en 3) beweegt een instrukt ie voor een bedrijfsprogram van een plaats in het blok 86 nadat de PC registerinhoud is overgedragen via de rekenkundige een-25 heid naar het railadresregister 3^. De geadresseerde instruktie wordt overgedragen aan het instruktieregister 62 en de instruktiede-kodeerinrichting 6U. Indien de instruktie een operand-adres bevat, wordt de inhoud van het bestemde register overgedragen via het B-inputcircüit 52 en de reknkundige eenheid UU aan de rail 56. Indien 30 de output van de rekenkundige eenheid op de rail 56 gegevens zijn, worden de gegevens overgedragen naar een adres, gedefinieerd door de instruktie en opgeslagen in het railadresregister.
Indien de rekenkundige output een adres is, wordt het overgedragen naar het railadresregister 3^·. De inhoud van de geadres-35 seerde plaats wordt overgedragen naar de A of B inputcircuits k8 of 800 2 6 06 A > :κ · - t ' 9 52, als gegevens of als een ander adres met een ander railbewerking.
Het begrijpen van de details van het adresseren is niet noodzakelijk voor een goedbegrip van de uitvinding. Verdere details van de in de verwerkingseenheid volgens fig. 2 gebruikte adressering kunnen ver-5 kregen worden in de Amerikaanse octrooiaanvrage Serial No. (File 83-082), getiteld "Data Processing System" van Aanvrager, c. Rand-eenheden
Het schema in fig. U toont een typische randeenheid voor het overdragen en ontvangen van informatie. Naar de randeen-10 heid over de rail 30 gezonden gegevens worden geleid naar één van verscheidene opslagregisters via een inputcircuit 100. Elk opslag-register houdt een bepaald soort informatie vast. Signalen in een bevelen statusregister 102 betekenen bijvoorbeeld verscheidene inwendige randeenheidcondities. Indien een computerwoord verscheidene 15 omtrekeenheidvoorden bevat, kan een gegevensbuffer 10U omtrekeen-heidwoorden accumuleren om een computerwoord te vormen, tot dat de randeenheid alle randeenheidwoorden gebruikt heeft. Verscheidene in-strukties of andere gegevens kunnen overgedragen worden naar en van de randeenheid door middel van opslagregisters 106 en 108. Elk· re-20 gister is ook gekoppeld met een regeleenheid 110, die regelschake-lingen bevat voor de randeenheid.
Wanneer een gegevensverwerkingssysteem verscheidene rand-eenheden omvat of een randeenheid omvat verscheidene inwendige opslagplaatsen, identificeren adressen de juiste eenheid of inwendige 25 plaats. Adressignalen worden gekoppeld met een adresselektie-eenheid 122, die reageert op een adres of êên van een groep adressen. Deze eenheid regelt het inputcircuit 100 en de registers 102, 10^, 106 en 108 om inputinformatie naar de juiste plaats te geleiden.
Informatie kan ook bewogen worden op de rail 30 vanaf 30 de randeenheid in fig. U door het te verzamelen in één der registers 102, 10U, 106 en 108. Elk register is gekoppeld via één der output-poortcircuits 111+, 116, 118 en 120 met de rail 30. Wanneer één out-putpoortcircuit wordt geopend, wordt de informatie in het korees-ponderende register gekoppeld met de rail 30.
35 Een interruptieregeleenheid 122 ontvangt en zendt ver- 800 2 6 06 10 i , - * Λ scheidene regelsignalen van reap, naar andere eenheden in het gegevensververkingssysteem. Als de randeenheid gereed is voor het zenden van gegevens, vekt de interuptieregeleenheid 122 de verscheidene signalen op en ontvangt hen om de informatie op het juiste tijd-5 stip over te dragen aan de rail 30. De eenheid regelt ook de overdracht van adressen van en naar de adresselektie-eenheid 112.
De in fig. 4 weergegeven randeenheid zendt dus en ontvangt gegevens, adressen, en verscheidene regelsignalen naar resp. vanaf de rail 30. Zoals duidelijk zal vorden in de volgende beschrij-10 ving aan de hand van fig. 12 en 13 is de randeenheid in staat gegevens of andere informatie te zenden en te ontvangen onder de supervisie van een andere eenheid in het gegevensververkingssysteem of onder zijn eigen regeling, d. Verbindingsrail 15 Alle eenheden in het gegevensververkingssysteem volgens fig. 1 zijn onderling verbonden door de rail 30. Deze rail is het algemeen aangeduid als een in twee richtingen geleidende verbindingsrail, omdat informatie over de rail overgedragen wordt naar en vanaf eenheden. Zoals weergegeven in fig. 5 omvat de rail 30 verscheidene 20 draden, die elk gereserveerd zijn voor een specifiek doel. Een groep draden geleidt DATA signalen; een andere ADRES signalen. Beide groepen geleiden signalen in beide richtingen. Binnen de regelgroep van draden, geleiden sommigen in beide richtingen (draden voor de BUSY, CYCLE CONTROL, MYSN en SSYN signalen), terwijl andere draden de BR, 25 NFR, SACK en INTR signalen koppelen met de ververkingseenheid 22. De verwerkingseenheid 32 zendt altijd BG en NPG signalen. De funkties van elk signaal worden later beschreven.
In het algemeen wordt elk aan de rail 30 gelegd signaal gekoppeld met alle eenheden in het gegevensververkingssysteem.
30 Alleen de geadresseerde eenheid wordt evenvel in staat gesteld de informatie te ontvangen. Hoewel deze uitvinding is beschreven in termen van een "rail", is het duidelijk dat elke onderlinge verbinding van eenheden in een systeem mogelijk is. Daarom wordt "rail" gebruikt om elke onderlinge verbinding tussen eenheden voor het ge-35 leiden van signalen.
80 0 2 6 06
c * - * - T
i 11 e. Systeemwerking
Informatie bestaande uit gegevens of instrukties kan overgedragen worden tussen elke twee eenheden in het gegevensver-werkingssysteem volgens fig. 1. Bij elke overdracht regelt één een-5 heid de overdracht en wordt een mastereenheid genoemd; de andere eenheid bij de overdracht wordt een dochtereenheid. Wanneer een mas-tereenheid-dochtereenheidrelatie is gevestigd, kan informatie overgedragen worden naar of van de mastereenheid onder zijn regeling. Informatie wordt overgedragen naar de mastereenheid door een DATA in-10 put (DATI) railbewerking. Een DATA output (DATO) railbewerking draagt de informatie over van de mastereenheid naar de dochtereenheid.
Elke eenheid in het systeem kan een mastereenheid of een dochtereenheid worden. De geheugeneenheid 2k (fig. 1} vereist nooit systeemregeling en is altijd een dochtereenheid. Als resultaat 15 zijn veel eircuitelementen beschreven aan de hand vanfig. ^ en later aan de hand van fig. 13 niet nodig. Tijdens de meeste bewerkingen is de verwerkingseenheid een mastereenheid, terwijl randeenheden, zoals die volgens fig. werken als dochtereenheden.
Informatie in bijvoorbeeld het register 106 (fig. 2 en 20 H) wordt overgedragen aan de verwerkingseenheid 2;. door een DATI
railbewerking. In het begin draagt de verwerkingseenheid 22, als een mastereenheid, een adres over aan de ADRES lijnen van de rail 30 vanaf het railadresregister 3^. Railwerkingsign&len, die aanduiden dat de verwerkingseenheid 22 een DATI bewerking uitvoert, worden 25 ook overgedragen over de rail-interface-eenheid 36. Dan wordt een mastersynchronisatiesignaal gezonden naar de dochtereenheid van-af de rail-interface. 36.
Wanneer de dochtereenheid het adres ziet, als-mede de railwerking- en mastersynchronisatiesignalen bij de adresselektieeen-30 heid 112, wordt de outputpoorteenheid 118 geopend; en de signalen die informatie in het register 106 representeren, bekrach-tigen de DATA lijnen van de rail 30. Nadat de DATA lijnen bekrachtigd zijn, wekt de adresselektie-eenheid 112 een dochtersynchronisatiesignaal op. Wanneer dit signaal wordt ontvangen door een mastereenheid tij-35 dens een DATI railwerking, betekent het dat informatie op de rail 30 800 2 6 06 4 1 - ‘ * 12 is. De ververkingseenheid 22 maakt het mogelijk dat de rail-inter-face-eenheid 36 de informatie accepteerd voor bewerking. Wanneer de gegevens in de ververkingseenheid zijn, stopt de rail-interface-eenheid 36 het zenden van het mastersynchronisatiesignaal. De DATI 5 railwerking is voltooid, wanneer het railadresregister 3H en de rail-interface-eenheid 36 het zenden van de adres- en regelsignalen staken, en wanneer de adresselektieeenheid 112 het zenden van het doch-tersynchronisatiesignaal staakt.
Indien de ververkingseenheid 22 een seriè DATI railbe-10 werkingen moet uitvoeren, kan een tweede DATI railbewerking gestart worden voordat de eerste voltooid is. De adres- en regelsignalen voor de tweede DATI railbewerking worden overgedragen aan de rail 30, zodra de ververkingseenheid 22 het zenden staakt van de adresen regelsignalen voor de eerste DATI railbewerking. Het opwekken van 15 het mastersynchronisatiesignaal voor de tweede DATI railbewerking wordt vertraagd, totdat het door de mastereenheid ontvangen dochter-synchronisatiesignaal het einde aanduidt van de eerste DATI railbewerking.
Informatie genomen uit een destruktieve uitleesinrich-20 ting, zoals een kerngeheugeneenheid, wordt normaal direkt hersteld, nadat de informatie is overgedragen aan de rail 30 tijdens een DATI railbewerking. In sommige gevallen wordt informatie niet vernietigd. In andere gevallen wordt nieuwe informatie teruggevoerd naar dezelfde plaats, zodat het verlies accepteerbaar is. Met deze twee situaties 25 is het herstellen van de informatie niet nodig, en een gemodificeerde railbewerking wordt uitgevoerd door de mastereenheid. In deze bewerking, geïdentificeerd door de cyclusregelsignalen als een DATa Input-Pause (DATIP) railbewerking, wordt de informatie niet hersteld.Zoals later beschreven, worden overdrachten vanaf de mastereenheid na een 30 voorgaande DATP bewerking dienovereenkomstig gemodificeerd.
Beschouwd wordt nu dat de ververkingseenheid 22 als een mastereenheid informatie moet overdragen aan het register 106 in de randeenheid van fig. h. Een DATa Output (DATO) railbewerking wordt geproduceerd door de ververkingseenheid 22. In het begin wordt ge-35 produceerd door de ververkingseenheid 22. In het begin worden het 80 0 2 6 06
r N
.V*“ f — t
* I
13 adres voor het register 106, de signalen die de railbeverking identificeren, en de gegevens overgedragen aan de rail 30. Het adres wordt verkregen van het railadresregister 3b·, de railbewerkings signalen en de gegevens worden verkregen van de railinterface-eenheid 5 36. Dan produceert de rail-interface-eenheid 36 een mastersynchro- nisatiesignaal. Wanneer de adresselektie-eenheid 112 het mastersyn-chronisatiesignaal ontvangt, dekodeert hij de adres- en railbever-kingsignalen, schakelt het inputcircuit 100 in en draagt de informatie over aan het register 106. De adresselektie-eenheid 112 zendt 10 ook een dochtersynchronisatiesignaal terug naar de ververkingseen-heid 22, namelijk de rail-interface-eenheid 36, die aanduidt dat de informatie ontvangen is. De mastereenheid, de ververkingseenheid 22, reageert op het dochtersynchronisatiesignaal door het zenden van het mastersynchronisatiesignaal te staken en dan de adrescyclusregel-15 en gegevenssignalen. Wanneer de dochtereenheid waarneemt, dat de mastereenheid het zenden van het mastersynchronisatiesignaal heeft gestaakt, staakt hij het zenden van het dochtersynchronisatiesignaal; en de DATO railbewerking voltooid is.
Normaal maakt een als een dochtereenheid werkende rand-20 eenheid de opslagplaats vrij voor het ontvangen van de informatie.
Indien een DATO bewerking volgt op een DATIP bewerking, worden deze stappen gemodificeerd. Wanneer een DATIP bewerking de DATO bewerking is voorafgegaan, is de plaats reeds vrijgemaakt. De DAR0 bewerking wordt gemodificeerd door de vrijmakende stap weg te laten, waardoor 25 de herstellende en vrijmakende stappen geelimineerd worden, wanneer een DATIP en DATO bewerking gekombineerd worden.
Hoewel de ververkingseenheid 22 gewoonlijk het systeem regelt, zijn er situaties waarbij andere randeenheden het systeem sturen. Een magnetische schijfeenheid bijvoorbeeld wordt een master-30 eenheid voor direkte overdrachten naar en van een dochtereenheid, zoals de geheugeneenheid 2k of schijf geheugen. Wanneer een randeen-heid gereed is om de systeemregeling over te nemen, zendt lp.j een vraag over een van verscheidene vraaglijnen in de rail 30. De inter-ruptieprioriteiteenheid 38, in deze uitvoering weergegeven als deel 35 van de ververkingseenheid 22, vergelijkt deze vraag met bestaande systeembewerkingen. Indien de vragende inrichting voldoende priori- 800 2 6 06 ij * Λ 1¾ teit heeft, wordt de vraag geaccepteerd en de interruptieprioriteit-eenheid 38 wekt een selektiesignaal op.
Op dit ogenblik regelt de vragende randeenheid het systeem niet. Wanneer het selektiesignaal wordt ontvangen, wekt de rand-5 eenheid een bevestigingssignaal op, dat via de rail-interface-eenheid 36 gezonden wordt naar de algemene regeleenheid 68. Wanneer de eenheid, die dan werkt als een mastereenheid, een aan de gang zijnde bewerking voltooit, staakt hij het zenden van een signaal, dat zijn regeling aanduidt; en de gekozen randeenheid neemt de regeling over 10 door het opwekken van een vergelijkbaar signaal, dat aanduidt dat hij een nieuwe mastereenheid is.
Wanneer de nieuwe mastereenheid zijn werking voltooit, staakt hij het zenden van het signaal, dat systeemregeling aanduidt.
In de meeste situaties geeft dit de regeling terug aan de verwerkings-15 eenheid 22. Indien een andere randeenheid gekozen is als een mastereenheid ondertussen door de vragende, toestemmende en bevestigende signalen, wordt de randeenheid de master in plaats van de verwer-kingseenheid. Deze overdrachten van systeemregeling worden geklasseerd als passieve overdrachten.
20 De verwerkingseenheid kan ook de mastereenheid worden door een aktieve overdracht. Als een randeenheid, als een mastereenheid, verlangt dat de verwerkingseenheid 22 een interruptierou-tine uitvoert, zendt de randeenheid een interruptiesignaal en adres naar de rail 30. Dit adres kan opgeslagen worden als een vast stel 25 signalen voor transmissie op de DATA lijnen van de rail 30 onder de regeling van de interruptieregeleenheid 122, die ook het interruptiesignaal opwekt. Beide signalen worden via de rail-interface-eenheid 36 gekoppeld met de inwendige toestand regeleenheid 7^. Nadat de verwerkingseenheid het interruptiesignaal heeft ontvangen, wekt 30 hij een dochtersynchronisatiesignaal op, wanneer hij het adres over de DATA lijnen verkrijgt. Wanneer de randeenheid, als de mastereenheid, het dochtersynchronisatiesignaal waarneemt, staakt hij het zenden van het interruptiesignaal, het adres en het signaal, dat systeemregeling aanduidt, en draagt daardoor de systeemregeling ak-35 tief over aan de verwerkingseenheid 22. Wanneer de verwerkingseenheid 800 2 6 06
> 'N
^ ' * τ 15 22 waarneemt, dat de randeenheid het zenden van het interruptiesig-naal heeft gestaakt, stopt hij het zenden van het dochtersynchroni-satiesignaal en begint een interruptieroutine.
Het gegevensverwerkingssysteem volgens fig. 1 draagt 5 daarom informatie over tussen individuele eenheden door elke van vier mogelijke bewerkingen. Elke bewerking wordt geregeld door een mastereenheid, die samen met een dochtereenheid werkt. DATI of DATIP bewerkingen dragen informatie over van de mastereenheid naar de dochtereenheid. Andere eenheden dan de verwerkingseenheid 22 worden de 10 mastereenheid door middel van een prioriteitoverdrachtbewerking. Zoals later beschreven wordt bestaan deze prioriteitoverdrachten uit twee algemene typen: die welke de verwerkingseenheidwerking vereisen, en die welke niet de verwerkingseenheidwerking vereisen. De eersten worden gedaan tijdens de '’term” cyclus, terwijl de laatsten elke keer 15 gedaan kunnen worden als de verwerkingseenheid 22 niet een railbewer-king uitvoert. De verwerkingseenheid wordt weer passief de mastereenheid, of in het geval van een interruptieroutine aktief.
Het is nu mogéEjk te beschrijven hoe verscheidene doeleinden van de uitvinding verkregen worden. Asynchrone overdrachten 20 tussen twee eenheden worden verkregen door de master-en dochter- synchronisatiesignalen. Daar elk signaal afhankelijk is van de werking bij de mastereenheid of dochtereenheid, is een overdrachtsnelheid afhankelijk van de mastereenheid en dochtereenheid, die onderling verbonden zijn, en is de optimale snelheid voor het paar on-25 derling verbonden eenheden. Daar verder elke eenheid in het gegevens-verwerkingssysteem een mastereenheid kan worden, kan elke randeenheid het gegevensverwerkingssysteem regelen.
Zoals duidelijk zal worden uit de volgende gedetailleerde beschrijving, geschiedt de keuze en de bevestiging van een master-30 eenheid tegelijk met bewerkingen in een andere mastereenheid, zodat de prioriteitoverdrachtbewerking de systeembewerkingstijd niet aanmerkelijk verhoogt. Eén randeenheid kan een mastereenheid worden voor het overdragen van informatie naar een andere randeenheid, wanneer de verwerkingseenheid niet een railbewerking tegelijk uitvoert met 35 een verwerkingseenheidbewerking. Direkte overdrachten aan de geheugen- 800 2 6 06 * J * -* 16 eenheid 2k, die als een andere randeenheid verschijnt in het gegevens-ververkingssysteem, verhogen dus de processorbeverkingstijd niet aanmerkelijk.
Om duidelijk te maken hoe de voorgaande en verdere doel-5 einden en voordelen van de uitvinding vorden verkregen, beschrijft de volgende toelichting een specifieke uitvoering van een gegevensver-verkingssysteem in termen van een ververkingseenheid en een typische randeenheid in detail. Deze beschrijving maakt duidelijk hoe de verscheidene signalen op de onderling verbindende rail vorden opgewekt 10 en gebruikt door de verscheidene eenheden binnen het gegevensver-verkings systeem.
2. Gedetailleerde beschrijving
Het is nodig om de ververkingseenheid 22 en zijn werking met betrekking tot verscheidene instrukties te beschrijven om 15 de uitvinding op waarde te schatten. Elke instruktie bevat een be-verkingskode en kan één of twee operandadressen bevatten. Details van de respons van de ververkingseenheid op het operandadres, dat adresmode en registerselektiekodes bevat, zijn beschreven in de reeds genoemde Amerikaanse octrooiaanvrage Serial No. (File 83-082).
20 De bewerking, adresmode en registerselektiekodes in een instruktie zijn geinterreleerd en vormen primaire signalen in de regeleenheid 60 en de funkties van deze kodes jworden hier bekeken, a. Instrukties
Instrukties worden arbitrair verdeeld in regel-, één-25 operandadres en tvee-operandadres categorieën voor beschouvingsdoel-einden en zijn gevormd als weergegeven in Tabel I. Wanneer een specifieke instruktie wordt overgedragen naar de instruktiedekodeerinrichting 6¾ (fig. 2), wordt een outputsignaal aangeduid door hetzelfde geheugen geproduceerd.
80 0 2 6 06 f S'
r . , T
17
Tabel I-Instrukties
Instructie Octal Funktie _ nummer__
Regelinstrukties HALT 000000 De ververkingseenheid 22 leidt af naar de "term” cyclus en stopt de barerking WACHT 000001 De ververkingseenheid 22 staat zijn regeling over het systeem af en vacht op een inter-ruptiesignaal van een eenheid buiten de ver-verkingseenhe id.
RTI 000002 Dit is de laatste instruktie in een inter rupt ieroutine, opgeslagen in de geheugen-eenheid 2k verkrijgt de volgende instruktie in het onderbroken program van de geheugen-eenheid 2h tijdens de volgende "fetch" cyclus* RTS 00020R Dit is de laatste instruktie in een subrou tine. R is een drie-bit registerselektie-kode. De ververkingseenheid 22 verkrijgt de volgende instruktie in het program met de JSR instruktie.
BEQ 001XXX Dit is één van verscheidene branchinstruk- ties, vaarbij XXX een acht-bit offsetvaarde heeft voor het modificeren van de PC regis-terinhoud, vanneer (1) aan de conditie is voldaan en bit acht is gesteld, of (2) aan de conditie is voldaan en bit acht niet is gesteld. Terwijl BEQ instruktie reageert op gelijkheid, reageren andere branchinstrukties op condities, zoals een vaarde groter dan, kleiner dan, groter dan of gelijk aan, of niet gelijk aan een referentie. Weer andere branchinstrukties nemen nul, plus of minus vaarden of andere condities vaar. Onvoorvaardelijke branches zijn ook mogelijk.
Eén-operandadres instrukties JMP 0001ADR De ververkingseenheid 22 is onvoorvaardelijk overgedragen aan een ander stel instrukties.
Het adres van de volgende instruktie is opgeslagen op de plaats, gedefinieerd door het operandadres ADR.
JSR 000kRABR Wanneer het nodig is een tussenresultaat te verkrijgen van een ander stel instrukties en dan terug te keren naar het oorspronkelijk program, vordt de JSR instruktie uitgegeven, vaarbij R een drie-bit registerkode is. Het 800 2 6 06 * , * -* 18 oorspronkelijek subroutine-instruktieadres wordt gelokaliseerd door het operandadres ADR. Het adres voor de instruktie volgende op de JSR instruktie in het oorspronkelijke program wordt bewaard voor terugwinning als gevolg van de RTS instruktie, CLR 0050ADR De door het operandadres ADR bepaalde plaats wordt op nullen gesteld.
COM 0051ADR De inhoud van de door het operandadres ADR
bepaalde plaats wordt overgedragen aan de verwerkingseenheid 22 en gecimplementeerd; de gecomplementeerde waarde wordt teruggevoerd naar de geadresseerde plaats.
INC 0052ADR De inhoud van de door het operandadres ADR
bepaalde plaats wordt overgedragen naar de verwerkingseenheid 22 en geincrementeerd met een vaste waarde (meestal +1); en de geincrementeerde waarde wordt teruggevoerd naar de geadresseerde plaats
DEC 0053ADR De inhoud van de door het operandadres ADR
wordt overgedragen naar de verwerkingseenheid 22, gedecrementeerd met een vaste waarde (meestal -1); en de gedecrementeerde waarde wordt teruggevoerd naar de geadresseerde plaats
NEG 005^ADR De inhoud van de door het operandadres ADR
bepaalde plaats wordt overgedragen naar de verwerkingseenheid 22 en geconverteerd in de ’’two’s" complementvorm en de ’’two’s" com-plementvorm wordt teruggevoerd naar de geadresseerde plaats
ADC 0055ADR De inhoud van de door het operandadres ADR
bepaalde plaats wordt overgedragen aan de verwerkingseenheid 22 om gevoegd te worden bij de inhoud van de "C" bit uit het sta-tusregister 59; de som wordt opgeslagen in de geadresseerde plaats. De ADC instruktie veroorlooft een carry uit de toevoeging van twee lage-orde woorden te doen gebruiken in een hoge-orde resultaat.
SBC 0056ADR De inhoud van de "C” bit uit het statusre- gister 59 vordt afgetrokken van de inhoud van de door het operandadres ADR bepaalde plaats in de verwerkingseenheid 22. Het restant wordt opgeslagen in de geadresseerde plaats. De SBC instruktie veroorlooft de carry uit de aftrekking van twee lage-orde woorden te doen aftrekken van het hoge-orde woord.
TST 0057ADR De Z en N bits in het statusregister 59 worden gesteld in overeenstemming met de inhoud van de geadresseerde plaats.
800 2 6 06 19 ROS 0060ADR De inhoud van de geadresseerde plaats wordt één positie naar rechts geroteerd, waarbij het meest signofikante bit en de carry vervangen worden door resp. de meest signifi-kante carry en de minst signifikante bit.
0061ADR De inhoud van de geadresseerde plaats wordt één positie naar links geroteerd waarbij de meest signifikante carry en bit overge-dragen worden naar resp. de minst signifikante bit en meest signifikante bit.
0062ADR De inhoud van de geadresseerde plaats wordt één plaats naar rechts verschoven met de overdracht van de minst signifikante bit naar de "C" bit in het statusregister en herhaling van de meest signifikante bit.
0063ADR De inhoud van de geadresseerde plaats wordt één positie naar links verschoven. De meest signifikante bit wordt overgedragen naar de "C" bit in het statusregister; een nul wordt overgedragen naar de minst signifikant bit.
Twee-adres instrukties MOV 01XADR De inhoud van de door het eerste operand- adres gedefinieerde plaats wordt overgedragen naar de door het tweede operandadres gedefinieerde plaats zonder modifikatie.
XADR representeert twee zesbit operandadres-sen.
CMP 02XADR De inhoud van de door het tweede operand adres gedefinieerde plaats wordt afgetrokken van de inhoud van de door het eerste operandadres gedefinieerde adres. Het resultaat wordt gebruikt om de informatie te wijzigen die opgeslagen is in het statusregister 59.
BIT 03XADR De inhoud van de door de eerste en tweede operandadressen gedefinieerde plaatsen worden gekombineerd in een logische EN bewerking; het resultaat wordt gebruikt om de inhoud van het statusregister 59 te wijzigen.
BIC OtóADR Elk bit in de door het eerste operandadres gedefinieerde plaats wordt gecomplementeerd en gekombineerd in een logische EN bewerking met een korresponderende bit in de door het tweede operandadres gedefinieerde plaats. Hierdoor wordt elke bit in de door het tweede operandadres gedefinieerde plaats vrijgemaakt, indien de korresponderende bit in de door het eerste operandadres gedefinieerde plaats gesteld is.
BIS 05XADR De inhoud van de door de eerste en tweede operandadressen gedefinieerde plaatsen wordt 800 2 6 06 * 1 4 * 20 gekombineerd in een logische "OF" bewerking; het resultaat wordt opgeslagen in de door het tweede operandadres gedefinieerde plaats.
ADO 06XADR De inhoud van de door de eerste en tweede operandadressen gedefinieerde plaatsen wordt opgeteld; de som wordt opgeslagen in de door het tweede operand-adres gedefinieerde plaats.
SUB 16XADR De inhoud van de door het eerste operand· adres gedefinieerde plaats wordt afgetrokken van de inhoud van de door het tweede operandadres gedefinieerde plaats; het restant wordt opgeslagen in de door het tweede operandadres gedefinieerde plaats.
Conditiekodes, de N, Z, V en C bits in het statusregis-ter 59 (fig. 2) worden op passende wijze gemodificeerd, nadat elke instruktie uitgevoerd is. b. Operand-adressen 5 Indien de instruktie één operand-adres bevat in bits 0 t/m 5» worden de te bewerken gegevens verkregen van en teruggevoerd naar de door het operandadres gedefinieerde plaats. Net twee-operand-adressen definieert het eerste operandadres, bestaande uit bits 6 t/m 11, gewoonlijk de plaats waaruit de gegevens verkregen worden. Het 10 tweede operandadres, bestaande uit bits 0 t/m 5» definieert gewoonlijk de plaats, waarheen het gegeven overgedragen moet worden in overeenstemming met de bewerkingskode. Zoals beschreven aan de hand van de instrukties kunnen gegevens verkregen worden van plaatsen gedefinieerd door beide operandadressen, en deze operandadressen kun-15 nen plaatsen definiëren, die in de verwerkingseenheid 22, het geheugen 2k of elke randeenheid zijn.
De systeemrespons op elke operandadresmode, beschreven aan de hand van de stromingsdiagraamen voor de "fetch", "execute" en "term" werkcycli in fig. 6, 7 en 8 voor de verwerkingseenheid is 20 weergegeven in Tabel II.
800 2 6 06 v· 21 « t t *
Tabel II
Adresmodes Funktie
0 en 1 Het gekozen register in het registergeheugen kO
bevat gegevens indien MODE-0 en een gegevens-adres indien MODE-1 2 en 3 Het gekozen register bevat een gegevensadres indien MODE-2 en het adres van een tussenplaats, die gegevens bevat indien MODE-3. De register inhoud vordt geincrementeerd, nadat hij gebruikt is.
k en 5 Het gekozen register wordt eerst gedecrementeerd vat betreft zijn inhoud. De gedecrementeerde inhoud vormt een gegevensadres, indien MODE-1* en het adres van een tussenplaats, die een gegevensadres bevat indien MODE-5.
6 en 7 De inhoud van de volgende instruktieplaats vordt teruggewonnen als de indexwaarde en gevoegd bij de inhoud van het gekozen register. De scan is een gegevensadres indien MODE-6 en het adres van een tussenplaats, die een gegevensadres bevat indien MODE-7.
c. Werking van verwerkingseenheid
Nu het belang van de adresmodes en registerselektiebits in het algemeen duidelijk zal zijn, is het mogelijk verscheidene ver-kingscyeli te behandelen, die geproduceerd worden door de ververkings-5 eenheid 22 als gevolg van verscheidene instrukties om aan te tonen, wanneer de verwerkingseenheid DATI en DATO bewerkingen produceert, i. "Fetch" cyclus
Fig. 6 is een stromingsdiagram voor de "fetch" cyclus, die een instruktie verkrijgt van de geheugeneenheid 2k (fig. 1) en 10 de door het operandadres (indien aanwezig) gedefinieerde gegevens overdraagt aan de verwerkingseenheid 22. Elke cyclus vordt gekenmerkt door een timingsignaal, geïdentificeerd door een mnemonic ISR en BSR en opgewekt door een schakeling, die aan de hand van fig. 7 beschreven wordt. ISR signalen worden gebruikt voor inwendige ververkings-15 eenheidtiming, terwijl BSR signalen gebruikt worden voor timing en het regelen van railbewerkingen.
Wanneer de verwerkingseenheid 22 (fig. 2) een "fetch" cyclus begint, wordt een verlengde ISR-0 toestand gebruikt om de verwerkingseenheid in staat te stellen een DATI railbeverking uit te 20 800 2 6 06 * , * * 22 voeren, die drie BSR toestanden omvat, opgewekt door de regeleenheid 60 en weergegeven in fig. 6A. De inhoud van het PC register wordt overgedragen naar het B inputcircuit 52 tijdens een BSR-1 toestand. Tenzij anders vermeld, produceert een ongebruikt inputcircuit een 5 nul-cutput. Wanneer het A inputcircuit 1+8 een nul-cutput produceert, gaat de programtelling door de opteleenheid 1+6 zonder modifikatie naar het railadresregister 3l+ tijdens een eerste gedeelte van de BSR-2 toestand. Een aan het A inputcircuit 1+8 gelegde incremente-rende waarde produceert een nieuwe programtelling op de output van 10 de opteleenheid 1+6 tijdens een tweede gedeelte van de BSR-2 toestand. Nadat deze nieuwe programtelling bewogen is naar het PC-register in het registergeheugen 1+0 tijdens een eerste gedeelte van de BSR-3 toestand, wordt de instruktie, die opgeslagen is op de door het rail-adresregister 3l+ geadreseerde plaats, overgedragen in het instruktie-15 register 62 tijdens een tweede gedeelte van de BSR-3 toestand.
Wanneer deze DATI railbewerking voltooid is, produceren de timingeenheid 66 en de regeleenheid 68 een ISR-1 toestand voor het dekoderen van de instruktie in de instruktiedekodeerinrichting 61+ en voor het maken van verscheidene beslissingen. Indien de in-20 struktie gedekodeerd is als eenRTI of RTS instruktie, één operand-adresinstruktie met een MODE-0 operandadres, of een branchinstruktie met de gestelde condities, kan hij direkt uitgevoerd worden, zodat de verwerkingseenheid 22 af leidt naar de in fig. 7 weergegeven "execute” cyclus. De verwerkingseenheid 22 wordt afgeleid naar de 25 "term" cyclus in fig. 8 als gevolg van een HALT of WACHT instruktie, een branchinstruktie, waarbij aan de condities niet is voldaan, of andere soortgelijke instrukties.
Indien de verwerkingseenheid 22 niet wordt afgeleid naar de "execute" of "term" cycli worden de nodige stappen voor het ver-30 krijgen van de informatie gedaan, die gedefinieerd wordt door het operandadres of -adressen. Indien het eerste van twee operandadres-sen in de instruktie niet een MODE-0 operandadres is, wordt het gekozen als een aangewassen adres. Anders wordt het tweede of één operandadres het aangewezen adres.
35 Nadat het juiste operandadres aangewezen is, gebruikt 800 2 6 06 v * * * 23 de regeleenheid 6θ een DATI of DATIP railbeverking tijdens een verlengde ISR-1 toestand, bestaande uit drie BSR toestanden, om het operandadres in het begin te dekoderen. Re inhoud van het in het aangewezen operandadres geïdentificeerde register vordt bewogen 5 naar het B inputcircuit 32 tijdens de BSR-1 toestand. Een decremen-terende kwantiteit wordt gekoppeld met het A inputcircuit k8 om de aan het B inputcircuit 52 gelegde vaarde te decrementeren, indien het aangewezen operandadres een MODE-h of -5 operandadres is. In elk geval wordt de output van de opteleenheid U6 overgedragen naar het 10 railadresregister 3h tijdens de BSR-2 toestand. Indien het aangewezen operandadres een MOBE-2 of -3 operandadres is, wordt een incre-menterende kwantiteit gekoppeld met het A inputcircuit h8 tijdens een tweede gedeelte van de BSR-2 toestand. Nadat de output van de opteleenheid U6 teruggevoerd is naar het register, gedefinieerd in het 15 aangewezen operandadres tijdens een eerste gedeelte van BSR-3 toestand, wordt de inhoud van de door het railadresregister 3^ geadresseerde plaats overgedragen naar het B inputcircuit 52. De BSR-3 toestand wordt verlengd tot-dat deze overdracht voltooid is.
Net de MODE-1, -2 of -¾ operandadressen (fig. 6b) bevat 20 het B inputcircuit 52 gegevens en verdere bewerkingen zijn niet nodig. Met M0DE-3, -5, -6 of -7 operandadressen bevat het B inputcircuit 52 een adres, en de bewerkingseenheid 22 voert een andere DATI of DATIP railbewerking uit tijdens een ISR-2 toestand, die drie BSR toestanden omvat. Geen bewerking geschiedt in de BSR-1 toestand, 25 tenzij het operandadres een M0DE-6 of -7 operandadres is. Elek mode heeft tot gevolg, dat het PC register impliciet gekozen wordt en zijn inhoud geincrementeerd wordt tijdens de ISR-1 toestand, zodat het B inputcircuit een indexwaarde bevat bij het einde van de ISR-1 toestand. Tijdens de 1SR-2 toestand wordt de inhoud van het in het 30 operandadres aangewezen register bewogen naar het A inputcircuit kQ om gevoegd te worden bij de indexwaarde. Nadat de output van de opteleenheid k6 is overgedragen naar het railadresregister 3U tijdens de BSR-2 toestand, wordt een verlengde BSR-3 toestand gebruikt om de inhoud van de door het railadresregister 3^ geadresseerde plaats te 35 bewegen naar het B inputcircuit 52· 800 2 6 06 * « . » 2k
Wanneer de ISR-2 toestand geëindigd is, bevat het B-inputcircuit 52 gegevens, indien het operandadres een KODE-3, -5 of -6 operandadres is. Geen verdere adresserende bewerkingen zijn nodig. Met een MODE-7 operandadres bevat het B inputcircuit een gegevens*· 5 adres; en een andere DATI of DATIP bewerking wordt uitgevoerd tijdens een ISR-3 toestand. Tijdens de BSR-1 toestand worden geen bewerkingen uitgevoerd. Het gegevensadres wordt direkt overgedragen naar het railadresregister 3^ tijdens de BSR-2 toestand. Een verlengde BSR-3 toestand schuift de gegevens naar het B inputcircuit 52. Na het 10 beëindigen van de ISR-3 toestand is alle adressering met betrekking tot het aangewezen operandadres voltooid.
Wanneer een operandadres gedekodeerd is, wordt de in-houd van het B inputcircuit overgedragen via de opteleenheid kS naar een SOURCE register in het règistergeheugen UO, indien het aangewezen 15 operandadres een eerste van twee operandadressen is. Wanner deze overdracht gedaan is, vordt het resterende operandadres gedekodeerd door het herhalen van de voorgaande DATI of DATIP railbewerkingen tijdens ISR-1, -2 en -3 toestanden, indien het niet een MODE-0 operandadres is. Als het een MODE-0 operandadres is, leidt de verver-20 kingseenheid 22 af naar de ’’execute” cyclus. In alle andere gevallen eindigt de verwerkingseenheid 22 de ’’fetch” cyclus met enige voorbereidende overdrachten, indien de instruktie een JMP of JSR instruk-tie is.
Zowel de JMP als JSR instrukties (fig. 6c) wijzigen de 25 respons van de "fetch” cyclus op hun operandadressen. Wanneer de laatste ISR toestand, die nodig is om het operandadres te dekoderen, wordt gestart, wijzigt de regeleenheid 60 de BSR-3 toestand om de overdracht weg te laten van de geadresseerde inhoud naar het B inputcircuit 52. Deze modifikatie geschiedt omdat de output van de optel-30 eenheid k6 het adres is voor de eerste instruktie, die gebruikt moet worden nadat de JMP of JSR instruktie voltooid is . Met een JMP instruktie wordt het instruktieadres bewogen naar het PC register tijdens een ISR-0 toestand. Dan leidt de verwerkingseenheid 22 af naar de "term" cyclus. Met een JSR overdrachtinstruktie wordt het 35 oorspronkelijke subroutine instruktieadres tijdelijk opgeslagen in 800 2 6 06 25 * · » τ het TEMP register tijdens een ISR-0 toestand. De ververkingseenheid 22 leidt dan af naar de "execute” cyclus van fig. 6, hetgeen hij ook doet als de instruktie noch een JMP noch een JSR·instruktie is. ii '’’’Execute cyclus
De respons van de ververkingseenheid 22 tijdens de 5 "execute" cyclus vordt bepaald door de instruktie. Daarom varieert de werking van de ververkingseenheid voor elke instruktie, zoals beschreven is aan de hand van fig. 7.
JSR Instrukties
De regeleenheid 60 (fig. 7A) produceert aanvankelijk 10 een DATO bewerking tijdens een verlengde ISR-0 toestand als gevolg van een JSR instruktie en draagt de inhoud van het SP register (het Ré register) over in het registergeheugen 40 naar het B inputcircuit 52. Een decrementerende waarde wordt gelegd aan het A inputcircuit 48 gelijktijdig tijdens de BSR-1 toestand. De gedecrementeerde waarde 15 van de opteleenheid 46 wordt bewogen naar het railadresregister 34 en naar het SP register in het registergeheugen 40 tijdens respectievelijk de BSR-2 en BSR-3 toestemden. Wanneer de BSR-3 toestand is beëindigd, adresseert het railadresregister 34 een vacante plaats in de groep van aangrenzende plaatsen, gedefinieert als blok 94 in 20 fig. 3. Tijdens de volgende BSR-0 en -6 toestanden, wordt de inhoud van het door bits 6, 7 en 8 in de instruktie geïdentificeerde register overgedragen via het B inputregister 52 naar de vacante plaats.
Zoals hierboven vermeld is, kan elk register in het registergeheugen 4o geïdentificeerd worden door de JSR instruktie. Tijdens de BSR-7 25 toestand wacht de ververkingseenheid 22 totdat de inhoud van het R5 register werkelijk is opgeslagen en beëindigt dan zowel de BSR-7 als ISR-0 toestanden. De inhoud van het R5 register wordt dan overgedragen in de geheugeneenheid 24 tijdens de DATO railbewerking door het decrementeren van de inhoud van het SP register om een vacant 30 adres te vormen in het blok 94.
Tijdens de volgende ISR toestanden geschieden geen rial-bewerkingen. De inhoud van het PC register wordt overgedragen naar het B inputcircuit 52 en dan naar het R5 register tijdens een ISR-1 en ISR-2 toestand. Het adres voor de eerste subroutine-instruktie 35 vordt overgedragen uit het TEMP register, waarin het was opgeslagen 800 2 6 06 * J * "* 26 tijdens de "fetch” cyclus, naar het B inputcircuit 52 tijdens de ISR-3 toestand. Deze nieuwe prgramtelling wordt dan bewogen naar het PC register tijdens de ISR-4 toestand. Wanneer de ISR-4 toestand is beëindigd, bevat het PC register het adres voor de eerste instruktie 5 in de subroutine; het adres voor de volgende instruktie in de werk-routine en de laatste invoer in het blok 94 is de inhoud van het R5 register tijdens de "fetch" cyclus. Dit voltooit de door de JSR instruktie vereiste bewerkingen, zodat de verwerkingseenheid 22 de "term" cyclus voltooit. Tijdens de volgende "fetch" cyclus wordt de 10 eerste instruktie in de subroutine verkregen uit het blok 90 in de geheugeneenheid 24 van fig. 3.
RTS Instruktie
Elke subroutine eindigt met een RTS instruktie, die hetzelfde register identificeert als zijn gerelateerde JSR instruktie. 15 Wanneer het R5 register altijd wordt aangewezen in de JSR instrukties, heeft de RTS instruktie een vast formaat. Een programmeur gebruikt daarom altijd dezelfde instruktie als de laatste instruktie in een subroutine. In fig. 7A en 7B dragen door de regeleenheid 60 opgewekte ISR-4 en ISR-5 toestanden de inhoud van het R5 register via 20 het B inputcircuit 52 over naar het PC register. Tijdens een verlengde ISR-6 toestand, die een DATI bewerking vormt, en volgende IST-7 toestand, beweegt de verwerkingseenheid 22 de laatste invoer in het blok 94 (fig. 10) naar het R5 register.
Tijdens de BSR-1 toestand wordt de inhoud van het SP 25 register overgedragen naar het B inputcircuit 52. Daar het SP register gedecrementeerd is vo6r het overdragen van gegevens naar het blok 94 in de geheugeneenheid 24, bevat het SP register het adres voor de laatste invoer. Dit adres wordt overgedragen naar het rail-adresregister 3¾ tijdens een eerste gedeelte van de BSR-2 toestand.
30 Een incrementerende waarde, gelegd aan de A input schakeling 48 tijdens een tweede gedeelte van de BSR-2 toestand, voert het geincremen-teerde adres terug naar het SP register tijdens de BSR-3 toestand.
Bij het einde van de BSR-3 toestand bevat het B inputcircuit 52 de laatste invoer uit het blok 94, verkregen door een DATO bewerking.
35 Deze invoer wordt overgedragen naar het R5 register tijdens de ISr-7 800 2 6 06 r r ' 27 toestand. Wanneer de ISR-7 toestand beëindigd is, bevat het PC register het adres van de verkende routine-instruktie volgende op de JSR instruktie. Het R5 register bevat de laatste invoer uit het blok 9h; en het SP register het adres van de volgende gevulde plaats 5 in het blok 9^. Tijdens de volgende "fetch” cyclus vordt de instruktie in de verkroutine, die volgt op de JSR instruktie, verkregen van één van de blokken 86, 90 of 92 in het geheugen 2k in fig. 10.
RTI Instrukties
Wanneer de ververkingseenheid 22 zijn regeling over het 10 gegevensververkingssysteem opgeeft na een raadvraag om de verkroutine te onderbreken, die is toegevezen, vorden de pragramtelling en het statusvoord voor de onderbroken verkroutine bevogen naar de volgende tvee beschikbare geheugenplaatsen in het blok 9k (fig. 3) door DATO beverkingen. Dan vorden het statusvoord en de program-15 telling voor de interruptieroutine bevogen naar respectievelijk het statusregister 59 en het PC register.
Alle interruptieroutines eindigen met dezelfde RTI instruktie* Wanneer de instruktie gedekodeerd vordt, gebruikt de ververkingseenheid 22 ISR-h, -5, -6 en -7 toestanden om de pragramtel-20 ling en statusvoord van de onderbroken verkroutine over te dragen naar het PC register en het statusregister 59* Ren DATI beverking (fig. 7B en 7C) vordt gebruikt in een verlengte ISR-4 toestand, bestaande uit BSR-1, -2 en -3 toestanden, om de verkroutinepxgramtel-ling te verkrijgen van een plaats in de geheugeneenheid 2k, gedefi-25 nieerd door het SP register. Ndat de inhoud van het SP register is bevogen naar het railadresregister 3k tijdens de BSR-1 en BSR-2 toestanden, produceert een aan het A inputcircuit U8 gelegde incre-menterende vaarde een geincrementeerde vaarde voor terugkeer naar het SP register tijdens de BSR-3 toestand. Een DATI beverking tij 30 dens deze toestand draagt de laatste invoer in het blok 95 ( de programtelling) over naar het B inputcircuit 52 voor overdracht naar het PC register tijdens de ISR-5 toestand. Een andere DATI beverking tijdens een verlengde ISR-6 toestand met drie BSR toestanden, die de inhoud van het SP register op dezelfde vijze incrementeren, draagt 35 het statusvoord over naar het statusregister 59 tijdens de ISR-7 800 2 6 06 * Μ * * 28 toestand. Nadat deze bewerkingen voltooid zijn, leidt de verwerkingseenheid 22 naar de "term” cyclus.
Branch Instruktie
Wanneer een branchinstruktie gedekodeerd wordt, wordt 5 de verschoven waarde in bits 0 t/m 7 opgeslagen in het B inputcir-ciut 52 tijdens de "fetch" cyclus. Tijdens de in fig. 7C weergegeven "execute" cyclus, beweegt de verwerkingseenheid de inhoud van het PC register naar het A inputcircuit U8 tijdens de ISR-1 toestand.
Een nieuwe programtelling, gevormd door de geincrementeerde program-10 telling en verschoven som van de opteleenheid U6, wordt overgedragen naar het PC register tijdens een ISR-2 toestand. Wanneer de verwerkingseenheid de volgende "fetch" cyclus opwekt, wordt de instruktie op de nieuwe plaats verkregen. De verwerkingseenheidrespons op een branchinstruktie illustreert een werkcyclus zonder enige railbewer-15 king.
Operandadresinstrukties
Indien de instruktie niet gedekodeerd wordt als een JSR, RTS, RTI of Branch-instruktie, wordt hij uitgevoerd door gegevens over te dragen naar de A of B inputcirciuts ^8 of 52. Indien de 20 tweede van twee of één operandadres een MODE-0 operandadres is, wordt de inhoud van het door het operandadres gedefinieerde register overgedragen naar één van de inputcircuits U8 of 52 (fig. 6d).
Het gekozen inputcircuit is afhankelijk van de instruktie en de adresmode. Door een MODE-0 operandadres als het tweede operand-25 adres in de instruktie gedefinieerde gegevens bijvoorbeeld worden overgedragen naar het B inputcircuit 52 door een ADD instruktie. Door een MODE-0 operandadres in een NEG instruktie gedefinieerde gegevens worden overgedragen naar het A inputcircuit U8.
De verwerkingseenheid (fig. 7D) beweegt de inhoud van 30 het SOURCE register, de door het eerste operandadres gedefinieerde gegevens naar één der inputcircuits. Gegevens, die verkregen zijn als gevolg van instruktie met één operandadres, worden direkt overgedragen naar een inputcirciut. Konstanten worden dan naar het andere inputcircuit bewogen, indien nodig. Gegevens in het B inputcircuit 35 52 bijvoorbeeld worden gemodificeerd door het A inputcircuit U8 te 80 0 2 6 06 29 /* *«. f , , > belasten met de incrementerende of decrementerende waarde voor INC of DEC instrukties.
Indien de instruct ie een BIT of BIC instruktie is, zijn extra bewerkingen nodig om het logische EN resultaat te verkrijgen.
5 Een logische OF kombinatie wordt eerst uitgevoerd met de complementen van de door de operandadressen geïdentificeerde gegevens en dan wordt het resultaat gecomplementeerd om het logische EN resultaat te verkrijgen. De output van de opteleenheid bevat het resultaat van de OF bewerking. Dit resultaat wordt bewogen via het TEMP register 10 naar de complementerende input van het A inputcircuit U8 tijdens ISR-2 en -3 toestanden (fig. 7D) om het uiteindelijke EN resultaat te verschaffen.
Een ISR-4 toestand wordt gebruikt om de conditiekodes, de N, V, C en Z bits in een statuswoord, waar nodig, te wijzigen, 15 nadat de verscheidene instrukties uitgevoerd zijn. Indien de instruk-tie een TST, BIT of CNP instruktie is, wordt de nodige informatie overgedragen naar het statusregister 59. In de instruktie er êên is, die een statuswoord verandert, gebruikt de verwerkingseenheid een ISR-it· timingtoestand om de nieuwe statuswoord op te slaan in de 20 geheugeneenheid.
Indien een statuswoord niet veranderd moet worden en de tweede van twee operandadressen of het ene operandadres is een MQDE-0 operandadres, wordt de output van de opteleenheid U6 overge-dragen naar het aangewezen register. Voor andere modes wordt de out-25 put van de opteleenheid bewogen overeenkomstig de inhoud van het railadresregister. Daarom bewegen een BSR-^ en BSR-5 toestand gegevens naar de rail 30 met een DATO bewerking. Wanneer het dochter-synchronisatiesignaal de opslag bevestigt, begint de verwerkingseenheid een "term" cyclus.
30 De verwerkingseenheid 22 in fig. 2 voert daarom be paalde funkties uit tijdens een "execute" cyclus, die afhankelijk zijn van de specifieke instruktie. De resulterende timingtoestanden en railbewerkingen voor het overdragen van instrukties en gegevens worden geleverd door de regeleenheid 60 en schakelingen, die be-35 schreven zullen worden aan de hand van fig, 9 t/m 13.
80 0 2 6 06 A » Λ 3 30 iii "Term”Cyclus
De derde bewerkingscyclus en aanverwante railbeverkingen voor de ververkingseenheid 22 is een "term" cyclus, weergegeven in fig. 8. Als de prioriteiteenheid 58 een railvraagsignaal produ-5 ceert, zoals beschreven aan de hand van fig. 12, gaat de regeleen-heid 60 in een ISR-0 toestand.
In een gegevensverwerkingssysteem volgens fig. 1 geeft de ververkingseenheid 22 de regeling af aan de randeenheid. Wanneer deze regeling is overgedragen aan de randeenheid, wordt een tevoren 10 opgeslagen adres gezonden van de randeenheid in het TEMP register in het registergeheugen U0 via het B inputcircuit 52. Dit adres dient als een "interruptievektor" om de opslagplaatsen in de ge-heugeneenheid te identificeren voor het interruptieroutineadres en het statuswoord. Nadat deze overdracht naar het B inputcircuit vol-15 tooid is, verkrijgt de ververkingseenheid 22 weer de regeling over het systeem om DATO en DATI bewerkingen te produceren.
De ISR-2 toestand omvat zes BSR toestanden, die een DATO bewerking omvatten. Wanneer de regeleenheid 60 de BSR-1 toestand produceert, wordt de inhoud van het SP register bewogen naar het A in-20 put circuit U8. Tijdens de BSR-2 toestand wordt de gedecrementeerde waarde van de opteleenheid k6 overgedragen naar het railadresregister 3¾ om de volgende beschikbare plaats in het blok 9^ (fig· 3) te identificeren. De gedecrementeerde waarde wordt ook teruggevoerd naar het SP register tijdens een BSR-3 toestand. Na een inaktieve, 25 BSR-0 tussentoestand, beweegt de regeleenheid 60 een acht-bit statuswoord uit het statusregister 59 naar de geheugeneenheid 2k door een DATO bewerking voor opslag in het blok 9^ op de plaats, die door het railadresregister 3^ gedefinieerd wordt. Een verlengde BSR-7 toestand stopt de verwerkingseenheidverking, totdat de DATO bewerking is vol-30 tooid.
Nu produceert de regeleenheid 60 een andere DATO bewerking tijdens een ISR-3 toestand, die ook zes BSR toestanden omvat, om de inhoud van het PC register over te dragen naar de geheugeneenheid 2k. De inhoud van het SP register wordt gedecrementeerd in 35 de rekenkundige eenheid Uk tijdens een BSR-1 toestand, overgedragen 800 2 6 06 * * tl k 31 naar het railadresregister 3^ tijdens een BSR-2 toestand en teruggevoerd naar het SP register tijdens een BSR-3 toestand. Een tussenliggende BSR-0 toestand, die dient om de inhoud van het PC register over te dragen naar het B inputcircuit 52, vordt gevolgd door een 5 BSR-6 toestand, die de programtelling beweegt op de rail 30 met een DATO bewerking, die eindigt tijdens een verlengde BSR-7 toestand voor opslag in de geheugeneenheid 2h op de volgende vacante plaats in het blok (fig. 3). Wanneer de ISR-3 toestand is beëindigd, worden het statuswoord en de pngramtelling voor de onderbroken werk-10 routine opgeslagen in aangrenzende geheugenplaatsen.
Een DAT1 bewerking tijdens een ISR-i* toestand, bestaande uit drie BSR toestanden, beweegt de interruptievektor van het TEMP register naar het B intputcirciut 52 tijdens een BSR-1 toestand, zoals weergegeven in fig. 8B. Tijdens een eerste gedeelte van de 15 BSR-2 toestand, wordt de interruptievektor bewogen naar het railadresregister 31* en dan geincrementeerd tijdens een tweede gedeelte van de BSR-2 toestand. De regeleenheid 60 gebruikt een BSR-3 toestand om de geincrementeerde interruptievektor terug te voeren naar het TEMP register. Dan draagt de DATÏ bewerking de inhoud van de 20 door het railadresregister 3^ gedefinieerde plaats over naar het B inputcircuit 52. Het B inputcircuit 52 slaat daarom het adres op voor de eerste instruktie in de interruptieroutine. Dit adres wordt overgedragen naar het PC register, wanneer de regeleenheid 60 een ISR-5 toestand produceert.
25 De geincrementeerde interruptievektor in het TEMP re gister is het adres voor het statuswoord behorende bij de interruptieroutine. Een nieuw statuswoord moet geleverd worden, omdat de interruptieroutine meestal prioriteit-en conditiekodes heeft, die verschillen van die van de werkroutine.
30 Een andere DARI bewerking tijdens een ISR-6 toestand, bestaande uit drie BSR toestanden, wordt gebruikt om deze geincrementeerde interruptievektor over te dragen naar het B inputcircuit 52 en naar het railadresregister 3^ tijdens de BSR-1 en BSR-2 toestanden. De BSR-2 toestand wordt ook gebruikt om de inhoud van het 35 B inputcircuit te incrementeren voor terugvoer naar het TEMP register tijdens de BSR-3 toestand. Dan beweegt een DATI bewerking het 800 2 6 06 i * » 32 nieuwe statuswoord naar het B inputcircuit 52. Het voordt overgedragen naar het statusregister 59 via de rekenkundige eenheid ^ tijdens een ISR-7 toestand.
Ndat de ISR-7 toestand voltooid is, heeft de verwer-5 kingseenheid 22 de ’'term" cyclus voltooid en keert terug naar de "fetch” cyclus. De volgende instruktie verkregen als gevolg van de inhoud van het PC register en overgedragen naar de verwerkingseen-heid 22, is de eerste instruktie in de interruptieroutine. Indien geen interrupties optreden, geschiedt geen van deze stappen, en de 10 ververkingseenheid produceert een "fetch" cyclus om de volgende werk-routine-instruktie te verkrijgen na de "execute" cyclus, d Timing-eenheid
Zoals beschreven aan de hand van fig. 6, 7 en 8 wordt elke bewerking in de verwerkingseenheid 22 gedefinieerd en geregeld 15 door een ISR of BSR tijdtoestandsignaal, opgewekt door de timing-eenheid 66 in fig. 2. Elke timingtoestand is afhankelijk van verscheidene faktoren, zoals de voorgaande timingtoestand, de instruktie en de condities in de verwerkingseenheid 22. Een gedetailleerde beschrijving van hoe elke timingtoestand geproduceerd wordt is niet 20 noodzakelijk voor een goed begrip van de uitvinding. De in fig. 9A en 9B weergegeven schakeling en timingsignalen maken echter samen met de stromingsdiagrammen in fig. 6, 7 en 8 een goed begrip mogelijk, en maken het de vakman mogelijk de specifieke regelschakeling te produceren, die nodig is om de beschreven verwerkingseenheidwer-25 king te doen plaats vinden.
De timingeenheid 66 (fig. 9B) omvat een timingcircuit 176, een klok 178 en twee signaalgeneratoren 180 en 182. Fig. 9A toont de verhouding van de CLK signalen van de klok 178 en de SCLK signalen van het timingcircuit 176. Elke verandering in de CLK signa-30 len definieert een lees- of sehrgfeyclusgrens, waarbij een specifieke lees- of schrijfcyclus wordt bepaald door de verhouding tussen de SCLK en CLK signalen. Zoals weergegeven in fig. 9A worden deze lees/ schrijfcycli R/W-0, R/W-1, R/W-2 en R/W-3 opgewekt tijdens elke SCLK cyclus uit het timingcircuit 176. De R/W-2-cyclus is altijd een 35 schrijfcyclus, terwijl de klok 178 gestopt kan worden tijdens een 800 2 6 06 33 R/W-3 cyclus oa een BSR toestand te verlengen tijdens een railbever-king. Elke groep van vier R/W cycli vormt samen met andere signalen uit de regeleenheid 60 een schuifregistertoestand, weergegeven door een signaal op een van de outputgeleiders van êên van de generatoren 5 180 of 182.
De SCLK signalen van het timingcircuit 176 en signalen van de regeleenheid 60 worden gevoerd naar een instruktieschuifre-gistersignaalgenerator 180 en een railschuifregistersignaalgenerator 182. De generator 180 produceert ISR signalen, terwijl de generator 10 182 BSR signalen produceert. Een naar êên der generatoren gevoerd CLEAR signaal produceert een ''nul'’ toestand. Elke generator schakelt anderszins van de ene toestand naar een andere, waarbij specifieke volgorden, die nodig zijn om de verwerkingseenheid 22 te bedienen, zijn weergegeven in fig. 6, 7 en 8. Deze figuren illustreren hoe 15 elke timingtoestand afhankelijk is van vroegere condities, en wanneer de volgorde gewijzigd kan worden, e Status-eenheid
Fig. 10 illustreert êên uitvoering van de interruptie-prioriteiteenheid 38 en de statuseenheid 58, waaronder het status-20 register 59 in de verwerkingseenheid 22 van fig. 2.
De verwerkingseenheidprioriteit wordt veranderd door signalen op draden 56(5)» 56(6) en 56(7), wanneer een statuswoord op de rail 56 is. Deze drie signalen worden opgeslagen in geklokte flipflops 200» 202 en 20b door een CLKT impuls. De CLKT impuls wordt 25 opgewekt, wanneer het statusregister 59 impliciet geadresseerd wordt tijdens de ISR-7 toestand van een RTI instruktie "execute" cyclus of van een "term" cyclus of tijdens de ISR-k toestand van een "execute" cyclus, wanneer een instruktieoperandadres expliciet het statusregister identificeert en de verwerkingseenheid gereed is voor overdracht 30 naar de "term" cyclus. Elke CLKT impuls treedt op als de timing eenheid verandert uit de voorgaande ISR toestand. De geklokte flipflops 200, 202 en 20h vormen dus êên van acht verwerkingseenheid-prioriteiten voor een comparatorcircuit 206, dat ook reageert op signalen van de flipflops 208, 210 en 21U.
35 In een gegevensverwerkingssysteem volgens fig. 1 kan 80 0 2 6 06 * * \ *
3U
een randeenheid de regeling over het systeem verkrijgen en informatie zenden naar of vanaf de rail 30 onder zijn eigen regeling voor overdracht naar of vanaf een randeenheid of de ververkingseenheid 22. Wanneer de randeenheid gegevens overdraagt naar of vanaf een randeen-5 heid onafhankelijk van de werking van de ververkingseenheid, doet hij een non-processor verzoek door een NFR signaal op te vekken. Railverzoeken vorden gedaan door een BR signaal. Wanneer een NPR of BR signaal bestaat, vorden één of meer van de flipflops 208, 210 of 2“\k gesteld door periodieke CLKBR impulsen, die later beschreven 10 vorden. NPR signalen hebben de hoogste prioriteit en schakelen het comparatorcircuit 206 uit. Zij kunnen toegestaan vorden, wanneer de rail 30 niet gebruikt wordt voor overdracht van informatie. Wanneer deze toestand bestaat een GRANTNPR impuls opgevekt, meestal na de beëindiging van een railcyclus, via een poort 215 naar de NPG draad 15 in de rail 30 (fig. 5).
Wanneer eenBR signaal voldoende prioriteit heeft, wordt een signaal van de comparator 206 gekoppeld via een poort 216 als een railgrant (BG) impuls als gevolg van de GRANTBR impuls uit de regeleenheid 60. De GRANTBR impuls wordt alleen opgevekt tijdens 20 een '’term" cyclus ISR-0 toestand, wanneer de flipflop 208 teruggesteld is, hetgeen aanduidt dat er geen NPR verzoeken bestaan. Signalen van de flipflop 208 en de comparator 206 bekrachtigen een OF circuit 217 om een PROCREL signaal te produceren, dat aanduidt dat de ververkingseenheid gereed is om de systeemregeling op te geven.
25 De respons van de ververkingseenheid en de randeenheid op deze en andere signalen wordt lager beschreven.
De C, V, Z en N conditiekodes verschijnen op draden 56 (0) t/m 56(3), wanneer de rail 56 een statuswoord bevat. Daar de schakeling voor de Z bit exemplarisch is, is hij weergegeven in fig.
30 10. De Z bit wordt gesteld, als het gegeven op de rail 56 nul is nadat een instruktie uitgevoerd is. Alle gegevens zijn gekoppeld via inverters, weergegeven door een inverter 218, om een RN circuit 220 te bekrachtigen samen met een normaal inschakelend CL signaal. Een geklokte flipflop 22b wordt gesteld of teruggesteld tijdens de volgen-35 de CLKC impuls. De inwendige processorcondities voor het opwekken van de CLKC impuls zijn identiek aan die voor de CLKT impuls. De 800 2 6 06 35 CLKC impuls wordt ook geproduceerd tijdens een "execute” cyclus ISR-1* toestand voor bepaalde instrukties, die conditiekodemodifikatie vereisen. Een andere flipflop voor de C-bit, analoog aan de flipflop 22k, kan verder geklokt worden voor nog andere instrukties.
5 Wanneer het gewenst is het statuswoord over te dragen naar de rail 30, opent een CSTB signaal een poortcircuit 226, dat een EN circuit 228 voor de Z bit omvat. Het CSTB signaal wordt opgewekt tijdens de BSR-6 en BSB-7 toestanden van een "term" cyclus ICR-2 toestand, wanneer de inhoud van het statusregister wordt overge-10 dragen naar de geheugeneenheid. Het wordt ook geproduceerd, wanneer gegevens op de rail 30 overgedragen wordt van het statusregister 59 als gevolg van een instruktie, die expliciet of impliciet het statusregister 59 adresseert.
Conditiekodes of een specifieke kode worden overgedragen 15 in de conditiekodeflipflops, zoals de flipflop 22kt door CSTD signaal. Dit signaal schakelt een EN circuit 230 om de flipflop 22k te stellen of terug te stellen in overeenstemming met de output van de opteleenheid h6 (fig. 2), namelijk het signaal. Het CSTD signaal wordt opgewekt onder dezelfde condities als de CLKT impuls, maar het 20 bestaat gedurende een gehele ISR toestand.
Het statusregister 59 omvat daarom acht geklokte flip-flopa en bijbehorende poortcircuits, die geopend worden door één van verscheidene, wederzijds exclusieve inpulsen, geproduceerd door het regelcircuit 60. Eén stel flipflops slaat prioriteitinformatie 25 op; het andere conditiekodes. Elke groep kan onafhankelijk of samen met de prioriteitflipflops gesteld worden, meestal echter alleen wanneer een prioriteitsverandering nodig is, zoals wanneer een inter-rüptieroutine ingeleid wordt, f. Verwerkingseenheidoverdrachten 30 Om de onderlinge werking tussen een randeenheid, ver- werkingseenheid en geheugeneenheid geheel te begrijpen, beschouw een gegevensverwerkingssysteem, waaronder een analoog-digitaal converter. Deze converters accumuleren normaal gegevens asynchroon met betrekking tot de systeemverking voor direkte overdracht naar de geheugeneen-35 heid als gegevenwoorden. Een gegevenwoord kan evenwel ook afzonder- 800 2 6 06 36 * ï i, * t lijk naar de verwerkingseenheid bewogen worden voor bewerking in overeenstemming met de uitvinding. Gegevensoverdrachten worden ook gebruikt om randeenheidbewerkingen te regelen.
Neem aan dat de verwerkingseenheid 22 het gegevensver-5 werkingssysteem regelt, en de geheugeneenheid een MOV R(1), R2 (0) instruktie bevat. Het operandadres R1(1) identificeert een bepaalde opslagplaats in de analoog-digitaal converter; het operandadres R2(0), het R2 register in het registergeheugen M). Het uitvoeren van deze instruktie draagt de inhoud van het geïdentificeerde op-10 slagregister over naar het R2 register.
Een "fetch” cyclus van de verwerkingseenheid gebruikt een eerste DATI railbewerking om de instruktie te verkrijgen. Het instruktieadres, aanwezig in het PC register, en de regelsignalen voor een DATI bewerking worden overgedragen naar de rail 30. Een 15 geklokte flipflop 250 (fig. 11) is gesteld om tevoren een BUSY signaal op te wekken. Een DATI of DATIP signaal bekrachtigt een OP circuit 252 en schakelt een EN circuit 25^ in tijdens een BSR-2 toestand, tenzij het EN circuit is uitgeschakeld door een NAND circuit 256.
Het NAND circuit 256 produceert een uitschakelend signaal, als een 20 OF circuit 258 aanduidt, dat een JMP of JSR instruktie gedekodeerd is, als een ADR DONE signaal aanduidt dat de laatste DATI of DATIP bewerking, die nodig is om het operandadres te dekode—:ren, wordt uitgevoerd, en als een OF circuit 260 aanduidt, dat een eerste of tweede operandadres gedekodeerd wordt. Het uitschakelen van het EN 25 circuit 25^ levert de gemodificeerde adressering voor de JMP of JSR instrukties, hetgeen tevoren beschreven is. Het EN circuit 25^ bekrachtigt de "D" input van een geklokte flipflop 26U via een OF circuit 262, zodat de volgende geïnverteerde SCLK signaal de flipflop 26k stelt en het mastersynchronisatiesignaal MSYN opwekt. Het MSYN 30 signaal belet de voltooiing van de BSR-3 timingtoestand.
Het adres van het railadresregister 3^ (fig. 2) identificeert een geheugenplaats, en het MSYN signaal schakelt de geheugeneenheid in om de instruktie over te dragen naar de DATA lijnen (fig.
U) en de instruktie te herschrijven. Zoals beschreven in verband met 35 de randeenheid-adresselektie-eenheid 112, wekt de geheugeneenheid 800 2 6 06
V
/ - V t 37 een dochtersynchronisatiesignaal SSYN op na het ontvangen van het MSYN signaal en het overdragen van de instructie. Het SSYN signaal stelt sommige inwendige verwerkingseenheid-timingcircuit terug, die verzekeren dat de randeenheid reageert binnen een vast tijdsinter-5 val en de signaalgenerator 182 schakelt om de BSR-3 timingtoestand te voltooien, alsmede de DATI bewerking. Een DATA CLEAR signaal wordt gevoerd naar de terugstelinput van de flipflop 26k bij de voltooiing van de gegevensoverdracht om de MSYN te stoppen als gevolg van een signaal, dat op zijn beurt het SSYN signaal opheft.
10 Als het eerste operandadres in de MOV instruktie een MODE-1 operandadres is, worden gegevens verkregen van de analoog-di-gitaalconverter. Het gegevensadres wordt overgedragen van het R1-register naar het railadresregister 3^ tijdens de BSR-1 toestand van een "fetch” cyclus ISR-1 toestand. De adres- en regelsignalen 15 van de verwerkingseenheid worden gekoppeld over de rail 30 naar de adresselektie-eenheid 112 voor de in fig. 12 weergegeven converter.
Een gegeven stel adressignalen schakelt slechts één adresdekodeer-eenheid in het systeem in, zoals de eenheid 266, wanneer de converter geadresseerd wordt. Een inwendige dekodeerinrichting, waaronder 20 EN circuits 268, 270, 272 en 27^, die ook bekrachtigd worden door inverters 276 en 278 en direkt door de ADRES draden, verschaft de selektie van een specifiek opslagregister in de converter. Het openen van het EN circuit 268 kiest het commando- en statusregister 102; het openen van een der EN circuits 270, 272 en 27^· kiest respectieve-25 lijk één van de gegevensbuffer 10U, opslagregister 106 en opslagregister 108 (fig. 4).
Het MSYN signaal (fig. 12) wordt gevoerd naar alle adresselektie-eenheden in het systeem, maar alleen de geadresseerde randeenheid reageert omdat een EN circuit 280 bekrachtigd wordt door 30 zowel het MSYN signaal en de output van de adresdekodeereenheid 266. Normaal is het signaal van het EN circuit 280 gekoppeld via een vertragingscircuit 282 om het SSYN signaal opte wekken en aan te duiden, dat het gegeven op de rail 30 is. In sommige situaties moet een ander EN circuit 283 geopend worden door een DATA ON signaal om 35 aan te duiden, dat het gegeven werkelijk bewogen is naar de rail of 800 2 6 06 * , * 38 andere condities. Wanneer het gegeven op de rail 30 is, wordt het opgeslagen in het SOURCE register (fig. 2) in overeenstemming met de "fetch" cyclus respons op een MOV instruktie.
Als het tweede operandadres in de MOV instruktie een 5 MODE-0 operandadres is, leidt de verwerkingseenheid 22 af naar de "execute" cyclus. Het in het SOURCE register opgeslagen gegeven wordt bewogen door de rekenkundige eenheid 33 zonder modifikatie voor opslag in het R2 register tijdens een ISR-0 toestand en een ISR-U toestand.
10 Aangenomen wordt dat het tweede operandadres een R2(1) operandadres is, zodat het R2 register een gegevensadres in de ge-heugeneenheid bevat; en de verwerkingseenheid 22 gebruikt een DATO bewerking om het gegeven op te slaan, zoals weergegeven in fig. TE. Tijdens de ISR-6 toestand worden het gegevensadres in het railadres-15 register 3^ (fig. 2), de regelsignalen en de gegevens bewogen naar de rail 30 en wel gelijktijdig. Het MSYN signaal (fig. 11) wordt opgewekt, wanneer de flipflop geklokt wordt tijdens de BSR-7 toestand, waarbij het BSR-7 signaal gekoppeld is via het OF circuit 262.
20 Nadat de bewerkingsdekodeereenheid 28U (fig. 12) een c0 en C1 signaal heeft ontvangen, die een DATO bewerking aanduiden, bekrachtigt het MSYN signaal en de adresdekodeerinrichting 266 het EN circuit 280. De randeenheid-adresselektie-eenheid 112 (fig* U) schakelt het inputcircuit 100 of equivalent in, zodat het gegeven 25 wordt opgeslagen op de geïdentificeerde plaats. Het SSYN signaal, vertraagd ten opzichte van het MSYN signaal, wordt overgedragen naar de verwerkingseenheid csa de verwerkingseenheid terug te stellen en het DATA CLEAR signaal op te wekken, dat de flipflop 26k (fig. 11) terugstelt. Dan wordt het SSYN signaal uitgeschakeld.
30 Deze voorbeelden illustreren heo de verwerkingseenheid DATO en DATI bewerkingen gebruikt om informatie naar en van specifieke plaatsen binnen het gegevensverwerkingsysteem over te dragen. Een instruktie wordt verkregen van een willekeurige plaats in de geheugeneenheid, geïdentificeerd door het PC register dat een DATI 35 bewerking gberuikt. Gegevens worden verkregen van een specifieke 80 0 2 6 06
* > I
39 plaats in de analoog-digitaalconverter en dan overgedragen, direkt naar de verwerkingseenheid in het ene voorbeeld of naar de geheugen-eenheid in het andere voorbeeld, g. Niet-verwerkingseenheidoverdrachten 5 Normaal accumuleert een analoog-digitaalconverter de gegevens in een aantal opslagregisters. Wanneer de converter gereed is om die informatie over te dragen, vordt hij meestal zonder modi-fikatie in de geheugeneenheid opgeslagen. Gelijksoortige overdrachten vanaf een magnetische schrijf eenheid of een digitaal-analoog-10 converter worden zonder modifikatie gedaan. Aangenomen wordt dat de analoog-digitaalconverter twee woorden accumuleert in registers, die equivalent zijn met de registers 106 en 108 in fig. 4.
Enige regelingen moeten meestal gestart worden door de verwerkingseenheid, voordat het gegeven overgedragen wordt. Wanneer 15 de converter gereed is om een overdracht uit te voeren, wekt hij een PBR signaal op, dat gekoppeld is met een EN circuit 28¾ (fig. 13).
Dit EN circuit produceert een BR output, als twee flipflops 286 en 288 beiden teruggesteld zijn en bekrachtigt daardoor een EN circuit 290.
Eên van de geklokte flipflops 210 of 21¾ (fig. 10) wordt gesteld door 20 het BR signaal en een CLKHR signaal. CLKBR signalen worden opgewekt door een EN circuit 29¾ (fig. 11). Het EN circuit 29¾ wordt uitgeschakeld, als GRANT of SACK signalen bestaan, die aanduiden dat een randeenheid gekozen wordt of is gekozen. Het SACK signaal vordt via een vertragingscircuit 296 en een inverter 298 gekoppeld met het EN 25 circuit 29¾, terwijl het GRANT signaal gekoppeld wordt via een inverter 300.
Indien beide signalen het EN circuit 29¾ openen, bekrachtigt elk MSYN signaal een OF circuit 302 en het EN circuit 29¾ om het CLKBR signaal te produceren. Dit signaal wordt ook opgewekt, 30 als de verwerkingseenheid een WAIT instruktie heeft uitgevoerd. Het WAIT signaal van de instruktiedekodeerinrichting 6¾ (fig. 2) en omgekeerde SCLK signalen van een inverter 30¾ bekrachtigen een EN circuit 306 om CLKBR signalen te produceren. CLKBR signalen worden daarom konstant opgewekt tijdens de systeemwerking, omdat de flip-35 flops 208, 210 en 21¾ konstant "updated” zijn.
80 0 2 6 06
Uo
De poort 216 (fig. 10) wordt geopend door het GRANTBR signaal om een BG signaal te koppelen met de rail 30. Het GRANTBR signaal wordt een vaste tijd na het CLKBR signaal opwekt (fig. 11). Het CLKBR signaal wordt gekoppeld met de "C" input van een geklokte 5 flipflop 308 uit een vertragingseenheid 310. Daar BR verzoeken alleen tijdens een "term" cyclus ISR-0 toestand bevestigd kunnen worden, bekrachtigen signalen, die de "term" cyclus en ISR-0 toestand aanduiden, een EN circuit 312. Elk erkend NPR of BR signaal van de comperator 206 en aangeduid met NPR' en BR' bekrachtigt een OF cir-10 cuit 311*, zodat een EN circuit 316 een signaal voert naar de "D" input van de flipflop 308 tijdens de ISR-0 toestand van de "term" cyclus, indien een BR, of NPR signaal bestaat. De voorflank van de vertraagde CLKBR impuls stelt dan de flipflop 308 om het GRANTBR signaal te produceren, dat gekoppeld wordt met de poort 216 van 15 fig. 10 om een BG signaal over te dragen naar de rail 30 uit de comparator 206.
Het BG signaal (fig. 13) wordt ontvangen en de voorflank levert een kloksignaal aan de flipflop 286. Als de flipflop 288 teruggesteld is, bekrachtigt een OF circuit 318 de "D" input en het 20 BG signaal stelt de flipflop 286. Het stellen van de flipflop 286 vergrendelt hem via het OF circuit 318. Het BG signaal wordt ook gekoppeld via een inverter 320 om een emittervolgertransistorcircuit 322 in te schakelen bij afwezigheid van het BG signaal. Een vertra-gingscircuit 32b en een inverter 326 koppelen de BG output terug naar 25 de rail over een geleider 328. De geleider 328 is evenwel ook verbonden met de output van een OF circuit 330.
Wanneer zowel de flipflop 286 als de flipflop 288 teruggesteld zijn, tracht het OF circuit 330 een bevestigende "êén" cutput te produceren. De BG draad van de rail 30 is evenwel op een 30 logische "nul", zodat het transistorcircuit 322 geleidt en de inverter 326 produceert een beslissende "nul" output op de geleider 328. Wanneer de flipflop 286 gesteld is, produceert het OF circuit 330 een "nul” output. Het omgekeerde BG signaal van de rail 30 schakelt het transistorcircuit 322 uit, zodat de inverter 326 de geleider 328 35 tot een "éé" tracht te verhogen. De "mal" output van het OF circuit 800 2 6 06 b ' i
% V
in 330 is evenwel beslissend, zodat de BG impuls niet naar andere rand-eenheden voortgeplant wordt.
Indien een randeenheid niet het PBR signaal opgewekt heeft, wordt de flipflop 286 in een teruggestelde conditie gehand-5 haafd door een beslissend terugstelsignaal naar de "R" input van een inverter 332, die gekoppeld is via een OF circuit 33^. De output van de inverter 332 is ook direkt verbonden met de "R" input van de flipflop 288. Hoewel het OF circuit 330 de geleider 328 naar een "één" tracht te sturen, is de "nul" output van de inverter 326 be-10 slissend. Wanneer de BG impuls wordt gevoerd naar de inverter 320 en de "C" input van de flipflop 286, wordt de toestand van de flipflop 286 niet veranderd. Nadat de BG impuls door het vertragingscircuit 32k is gegaan, kan het invertereircuit 326 de geleider tot een bevestigende "êén" verhogen en daardoor het BG signaal overdragen naar 15 de volgende randeenheid.
Een eerste randeenheid draagt daarom een BG signaal over naar een andere randeenheid, indien de eerste randeenheid geen BR verzoek heeft opgewekt. Als hij wel een BR verzoek heeft opgewekt, dan wordt het BG signaal niet overgedragen uit de eerste randeen-20 heid. Hiernaast wordt een EN circuit 336 bekrachtigd door de gestelde flipflop 286 en de teruggestelde flipflop 288 om een SACK signaal te produceren, dat een randeenheid gekozen is.
Het SACK signaal (fig. 11) wordt via het vertragingscircuit 296 en een inverter 298 gekoppeld om het EN circuit 29^ uit 25 te schakelen en verdere CLKBR signalen te verhinderen. Zowel het signaal uit de inverter 298 als uit een timingseenheid 338, dat verzekert dat een bewerking geschiedt na een tijdsvertraging geen SACK signaal optreedt, bekrachtigen een OF circuit 3^0 om de flipflop 308 te stellen.
30 Op dit tijdstip bekrachtigen een BUSY signaal, vertra gend SACK signaal en Grant signaal een NOR circuit 3^2 (fig. 11)
Wanneer de plaats vindende overdracht van gegevens voltooid is, wordt het SSYN signaal uitgeschakeld en de timingsignalen gestart. Dit tijdstip wordt aangeduid door een CLK RUN signaal, dat een EN cir-35 cuit 3^ bekrachtigt samen met de outputs van het EN circuit 312 en een OF circuit 31¾. Indien daarom een BR verzoek bestaat tijdens de 800 2 6 06 42 •k * * t % ISR-0 toestand van een "term" cyclus en het EN circuit 316 wordt bekrachtigd, stelt een ander EN circuit 346 de flipflop 250 terug via een OF circuit 348. Het GRANT signaal van een door de flipflop 308 bekrachtigd OF circuit 350 wordt niet opgewekt, en de BUSY en SSYN 5 signalen worden uitgeschakeld. Wanneer het BUSY signaal uitgeschakeld is, stuurt geen eenheid het systeem.
Het SSYN signaal (fig. 13) en het omgekeerde BUSY signaal van een inverter 351 bekrachtigen een NOR circuit 352. Wanneer de plaatsvindende gegevensoverdracht voltooid is en het SSYN sig-10 naai is uitgeschakeld, opent het NOR circuit 352 een EN circuit 354. Dit circuit wordt bekrachtigd door een ander EN circuit 356, wanneer de flipflop 288 teruggesteld is en het BG signaal uitgeschakeld is. Als resultaat klokt het EN circuit 354 de flipflop 288, wanneer de flipflop 286 gesteld is. Het stellen van de flipflop 288 schakelt 15 het EN circuit 336 en zijn SACK signaaloutput uit en opent een EN circuit 358 om een "nul" bevestigende BUSY signaal van een inverter 359 te verkrijgen. Dit geschiedt nadat de flipflop 250 teruggesteld is en verhoogt de BUSY geleider tot een niet-bevestigend "êén" niveau via de inverter 251. Wanneer het BUSY signaal opgewekt is 20 door de randeenheid, nadat de flipflop 250 teruggesteld is, verkrijgt de randeenheid (de converter invoorbeeld) de regeling van het systeem. Het naar het NOR circuit 342 (fig. 11) via de inverter 343 gevoerde BUSY signaal houdt het OF circuit 364 uitgeschakeld, zodat volgende SCLK signalen de flipflop 250 niet kunnen stellen. Het tijd-25 vertragingscircuit 362 verhindert dat de flipflop 250 teruggesteld wordt tijdens deze verandering.
Indien de conditie, die het PBR signaal veroorzaakt, een interruptieroutine vereist, wordt een INEN signaal gevoerd naar een EN circuit 366, dat ook bekrachtigd wordt door het BUSY signaal om 30 een INTR draad op de rail 30 te bekrachtigen en een vektorpoort 368 te openen om een adres over te dragen naar de DATA lijnen. Het INTR signaal opent ook een ander EN circuit 370.
Het INTR signaal (fig. 11) wordt in de verwerkingseen-heid ontvangen door een EN circuit 376, dat verder bekrachtigd wordt 35 door het bevestigde BUSY signaal, om een andere EN poort 378 te openen. Dan wordt een signaal gekoppeld via een OF circuit 380 met 80 0 2 6 06 <*· 1*3 de D input van een flipflop 382 tijdens de ISR-0 toestand van de "term'1 cyclus. Deze timing wordt verschaft door het EN circuit 312.
De output van het EN circuit 378 wordt ook gekoppeld via een OP circuit 381* en een vertragingscircuit 386 om de flipflop 382 te 5 klokken en te stellen. Wanneer de flipflop 382 gesteld is, wordt een SSYN signaal opgewekt. Een statusadressignaal kan ook overgedragen worden via het OF circuit 380 en de D input in te schakelen. Een ander EN circuit 388 reageert op een NSYN signaal en PROCCNT signaal, dat aangeeft dat de verwerkingseenheid 22 het systeem stuurt, om in 10 dit geval een kloksignaal te verschaffen, De output van het EN circuit 376 wordt ook gebruikt om een monostahiele multivibrator 390 te bekrachtigen, die de flipflop 382 terugstelt via een OP circuit, wanneer het BUSY signaal gedeaktiveerd is. De door de monostabiele multivibrator verschafte vertraging is voldoende om de gegevens en de 15 interruptievektor te doen overdragen in de verwerkingseenheid en vormt het einde van het SSYN signaal uit de verwerkingseenheid. Eenzelfde werking geschiedt wanneer het MSYN signaal gedeaktiveerd is en een monostabiele multivibrator 396 bekrachtigt.
Wanneer het SSYN signaal ontvangen is door de randeen-20 heid, stelt een EN circuit 370 (fig. 13), bekrachtigd door het SSYN signaal en de output van het EN circuit 366, de flipflop 286 terug via het OF circuit 33**. Dit heft het BUSY signaal op en schakelt de D input van de flipflop 250 (fig. 11) in via het NOR circuit 3**2. Als resultaat stelt de volgende SCLK impuls de flipflop 250, omdat het 25 terugstelsignaal tevoren uitgeschakeld was. De verwerkingseenheid verkrijgt daarom weer de systeemregeling door een aktieve terugkeer, wanneer de verwerkingseenheid een SSYN signaal opwekt als gevolg van een INTR signaal. Voor andere BR verzoeken zonder het INTR signaal, staakt de randeenheid alleen het opwekken van het BUSY signaal om de 30 systeemregeling passief terug te geven.
De resulterende interruptieroutine kan een eerste ge-heugeneenheidadres en een getal, dat het aantal in de randeenheid opgeslagen gegevenswoorden weergeeft, overdragen naar zijn regel-sektie. De regelsektie van de randeenheid kan ook schakelingen om-35 vatten voor het opwekken van aangrenzende adressen, te beginnen met 800 2 6 06 kk het eerste adres en MSYN signalen, totdat alle woorden overgedragen zijn.
Volgens de uitvinding wordt het gegeven opgeslagen in de geheugeneenheid zonder tussenkomst van de ververkingseenheid door 5 overdrachten te maken, terwijl de ververkingseenheid of andere elementen de rail niet gebruiken.
Wanneer alle gegevens verzameld zijn, zoals in de registers 106 en 108 (fig. 4), wekt de randeenheid een HPR signaal op, analoog aan het BR signaal. Dit NPR signaal wordt gekoppeld met de 10 interruptieprioriteiteenheid 38 (fig. 10), in het bijzonder met de D input van de geklokte flipflop 208. Zoals vermeld is, klokken de CLKBR signalen periodiek de flipflop 208. Wanneer de flipflop 208 gesteld is, schakelt hij de comparatoreenheid 206 uit om BR verzoeken te verhinderen. Het resulterende signaal wordt naar de rail 30 geleid 15 via een poort 215 door een GRANTNPR signaal. Een GRANTNPR flipflop (fig. 11) ontvangt het NPR' signaal aan de D input vanuit de verge-lijkingseenheid 206. Het gevolg is dat een vertraagd CLKBR signaal uit het vertragingscircuit 310 de flipflop stelt en dat de flipflop het GRANTNPR signaal opwekt. NPR verzoeken worden toegevezen na elke 20 DATO of DATI bewerking of tijdens elke SCLK cyclus tijdens een WAIT instruktie.
Wanneer het NPG signaal ontvangen wordt door de randeenheid, produceert hij dezelfde prioriteitoverdrachtvolgorde als hierboven beschreven is. De randeenheid reageert niet op het NPG 25 signaal, tenzij hij het NPR verzoek doet. Indien het verzoek gedaan is, wordt de NPG impuls geëindigd. Een SACK signaal wordt gezonden naar de ververkingseenheid, die de regeling afstaat bij het einde van zijn plaatsvindende gegevensoverdracht.
Wanneer de analoog-digitaal teller in dit voorbeeld de 30 regeling overneemt, zendt hij het eerste geheugenadres uit een adresregister in de adresselektie-eenheid 112 en cycleregelsignalen voor een DATO bewerking. Dan wekt de eenheid 112 een MSYN signaal op. Wanneer de verwerkings- of andere eenheid zijn plaatsvindende gegevensoverdracht voltooit, zoals aangeduid door het opwekken van het 35 SSYN signaal, draagt de converter één gegevensvoord over naar het 800 2 6 06 r; ï' U5 * r >. * geheugen. Het SSYN signaal uit de geheugeneenheid tracht de vragende % randeenheid terug te stellen en geeft passief de regeling van het systeem terug aan de verwerkingseenheid door zijn BUSY signaal te beëindigen. Indien alle gegevens zijn opgeslagen in de geheugeneen-5 heid, zou de converter normaal een ander BR verzoek opwekken om dat feit aan te geven. Anders zou het NPR signaal weer opgewekt worden en het volgende gegevenswoord zou overgedragen worden naar de geheugeneenheid, wanneer de rail 30 weer vrij was.
Samenvattend: de analoog-digitaalconverter in dit voor-10 beeld is verbonden met een gegevensverwerkingssysteem. Hij wordt geïdentificeerd door een adres, dat verkregen of opgewekt kan worden zoals elk ander adres in het systeem. Dit vereenvoudigt de programmering, omdat een gegeven instruktie gebruikt kan worden om een bewerking met elke eenheid in het systeem uit te voeren. Alle 15 eenheden, of dit nu de verwerkingseenheid, geheugeneenheid of rand-eenheden zijn, reageren op hetzelfde stel instrukties. De synchro-nisatiesignalen maken het mogelijk, dat alle overdrachten asynchroon met een optimale snelheid gedaan worden. Gegevens kunnen overgedragen worden tussen randeenheden onafhankelijk van de verwerkingseenheid 20 of naar de verwerkingseenheid onder zijn regeling, omdat de verscheidene regelsignalen en reagerende circuits het mogelijk maken, dat elke eenheid het gegevensverwerkingssysteem kan regelen. De in-terruptieprioriteiteenheid en bijbehorende signalen maken het ook mogelijk, dat regeibeslissingen gelijktijdig gedaan worden met 25 andere gegevensoverdrachten en systeembewerkingen om daardoor de bedrijfsdoelmatigheid te verbeteren.
De uitvinding is beschreven in termen van een specifieke illustratieve uitvoering van een gegevensverwerkingssysteem. Voorbeelden van randeenheden, verwerkingseenheden en geheugeneenheden 30 zijn gegeven met hun specifieke logische organisatie. Het zal evenwel duidelijk zijn, dat veel veranderingen aangebracht kunnen worden in de uitvoering van deze uitvinding. Verschillende circuit- en timinginrichtingen kunnen gebruikt worden. De schakeling, die nodig is om de prioriteitbepaling te verschaffen, kan overal in het sys-35 teem aangebracht worden. Multipele dragen, verschillende priori- 800 2 6 06 *. I * * k6 teitniveaus en alternatieve methoden voor het opvekken van regel-signalen kunnen in een gegevensververkingssysteem opgenomen worden zonder het kader van de uitvinding te verlaten.
80 0 2 6 06

Claims (11)

1, Data-eenheid die is ingericht om te worden aangesloten aan een met een aantal geleiders uitgevoerde bus in een data-verwerkingsstelsel, waarbij het data-verwerkingsstelsel is voorzien van middelen voor het uitzenden van adressignalen, 5 cyclus-regelsignalen die de richting van een data-overdracht aan wijzen en tenslotte van een vertraagd eerste synchronisatiesignaal over bijbehorende bus-geleiders om in de data-eenheid tenminste een soort data-eenheidcyclus op te leveren voor het overdragen van data tussen bus-datageleiders en de data-eenheid gedurende een 10 overdrachtinterval, met het kenmerk, dat de data-eenheid omvat: A. tenminste een data-opslagplaats waarbij elke opslagplaats een eigen adres heeft, B. kiesmiddelen voor het genereren van een data-eenheid kies-sig-naal in responsie op adressignalen op de adres-geleiders die 15 een opslagplaats in de data-eenheid identificeren, C. middelen voor het uitvoeren van een data-eenheid cyclus gedurende een overdrachtsinterval, D. middelen die zijn aangesloten aan de middelen voor het uitvoeren van de data-eenheidcyclus en die reageren op de cyclusre- 20 gelsignalen voor het sturen van de soort data-eenheidcyclus die ten uitvoer wordt gebracht, E. Coincidentie-middelen die zijn aangesloten aan de middelen voor het uitvoeren van de data-eenheidcyclus en die reageren op de coincidentie van een vertraagd eerste synchronisatiesig- 25 naai en een data-eenheidkiessignaal om op dat ogenblik een data-eenheidcyclus te laten beginnen, en F. middelen die reageren op de coincidentie-middelen en die een 800 2 6 06 U8 tweede synchronisatiesignaal genereren dat de voltooiing van een data-eenheidcyclus aangeeft, en die reageren op een volgende beëindiging van het vertraagde eerste synchronisatiesignaal om het tweede synchronisatiesignaal op dat tijdstip te beëindigen.
2. Data-eenheid volgens conclusie 1, gekenmerkt door een verzameling data-opslagplaatsen met een geordende reeks adressen, waarbij de kiesmiddelen nog omvatten een adres-decoder die reageert op de adressignalen en dient voor het kiezen van een bepaalde data-opslagplaats voor de data-eenheidcyclus.
3. Data-eenheid volgens conclusie 1, met het ken merk, dat de middelen die het tweede synchronisatiesignaal opwekken, een vertragingsketen bevatten die reageert op het laten beginnen van een data-eenheidcyclus door de coinsidentiemiddelen. U. Data-eenheid volgens conclusie 1, met het ken-15 merk, dat de cyclus-regelsignalen een overdracht naar een geïdentificeerde opslagplaats vanuit de data-geleiders gedurende het overdrachtsinterval aangeven, waarbij de middelen die het tweede synchronisatiesignaal opwekken met dit tweede synchronisatiesignaal de opslag van de data op de geïdentificeerde plaats door de 20 middelen die de data-eenheidcyclus uitvoeren, aanwijzen.
5. Data-eenheid volgens conclusie 1, met het kenmerk, dat de cyclusregelsignalen een overdracht aanwijzen vanuit een geïdentificeerde opslagplaats naar de data-geleiders gedurende het overdrachtsinterval, waarbij de middelen die het tweede syn- 25 chronisatiesignaal opwekken, dit signaal laten aangeven dat data vanuit de geïdentificeerde plaats op de data-geleiders zijn gebracht door de middelen die de data-eenheidcyclus uitvoeren,
6. Perifere eenheid die is ingericht voor het sturen van data-overdrachten naar een andere eenheid in een data- 30 ververkingsstelsel waarbij perife re eenheden in dit stelsel een relatieve prioriteit bezitten en het stelsel een prioriteitsele-ment bevat dat is ingericht voor aansluiting aan een bus in het data-verwerkingsstelsel welke bus geleiderorganen bevat voor data, adressignalen en stuursignalen, met het kenmerk, dat de perifere 35 80 0 2 6 06 ί* t* eenheid omvat: A. verzoekmiddelen voor het overbrengen van een verzoeksignaal naar verzoekbesturing-geleiderorganen wanneer de perifere eenheid is voorbereid op het besturen van een data-overdracht,
5 B. bevestigingsmiddelen die reageren op de coïncidentie van een verzoeksignaal vanuit de verzoekmiddelen en de ontvangst van een toekenningssignaal vanuit het prioriteitselement dat zich bevind/^ op een toekenningsbesturing-geleiderorgaan, en wel door een bevestigingssignaal uit te zenden over een bevestigings- 10 besturing-geleiderorgaan waarbij het verzoekorgaan het ver zoeksignaal beëindigt in reactie op het bevestigingssignaal, C. interval aanwijzende middelen die reageren op de coïncidentie van een bevestigingssignaal en het ontbreken van een bezet-signaal op een bezet-besturing geleiderorgaan door een interval 15 aan te geven gedurende welk interval de perifere eenheid data kan overdragen, D. een bezetsignaal-opwekorgaan dat reageert op het interval aanwijzende orgaan en een bezet-signaal kan uitzenden over de bezet-besturing-geleiderorgaan, waarbij het orgaan voor het 20 uitzenden van het bevestigingsaignaal het bevestigingssignaal- beeindigt in de reactie op het bezet-signaal opwekkende orgaan, en E. middelen die reageren op het bezetsignaal opwekkende orgaan om daarbij een data-overdracht over de data-geleiderorganen 25 te besturen tussen de perifere eenheid en een andere aan de bus in het stelsel aangesloten eenheid, waarbij het bezet-signaal opwekkende orgaan het bezette signaal beëindigt bij voltooiing van de data-overdracht om zo het einde van het data-overdracht-interval aan te geven.
7. Perifere eenheid volgens conclusie 6, met het kenmerk, dat de data-overdracht-besturingsmiddelen omvatten: I. middelen voor het genereren van adressignalen op de'adresgelei derorganen, bestemd voor een andere eenheid in het stelsel, II. middelen voor het opwekken van cyclusregelsignalen op cyclus- 35 besturing-geleiderorganen die de richting van een data-overdracht 80 0 2 6 06 *. * * * % % aanvijzen, III. middelen voor het genereren van een vertraag-d eerste synchronisatie signaal op eerste synchronisatie-besturing ge-leider-organen, velk signaal een data-eenheidcyclus in de 5 andere eenheid laat beginnen om daardoor de overdracht ge durende het data-overdraehtinterval te effectueren.
8. Perifere eenheid volgens conclusie 6, met het kenmerk, dat in het geval het dataverwerkingsstelsel bovendien omvat een aan de bus in het stelsel aangesloten processors-een- 10 heid en de perifere eenheid daarbij nog een schakeling omvat die wordt ingeschakeld in reactie op bepaalde verzoeken voor het ef-fectu-eren van een overdracht van de data rechtstreeks naar de processor-eenheid, deze schakeling omvat: I. middelen voor het uitzenden van een digitaal woord over de data-15 geleiderorganen, II. middelen die reageren op de middelen voor het genereren van het bezetssignaal en die een inteApt-signaal uitzenden over inteApt-besturing-geleiderorganen waarbij de processor-eenheid het digitale woord accepteert in reactie op het inte&pt-sig-20 naai en een tweede synchronisatiesignaal uitzendt over tweede synchronisatie-besturings-geleiderorganen teneinde daarmee de ontvangst van het digitale woord aan te geven, en III. middelen die reageren op het tweede synchronisatiesignaal en die de middelen vooijhet uitzenden van het interupt-signaal 25 uitschakelen en zo ook de middelen voor het digitale woord en de middelen voor het genereren van het bezetsignaal.
9. Pèri ^ere eenheid volgens conclusie 6, gekenmerkt door: A. non-processor verzoekmiddelen voor het uitzenden van een non- 30 processor verzoek over non-processor verzoek besturing-geleider- organen, en B. middelen die reageren op de non-processorverzoekmiddelen en op een signaal dat in het non-processorverzoek toestemd en dat verschijnt op de non-processor toestemming besturing-geleider- 35 organen om de bevestigingsmiddelen in te schakelen en zo ook 80 0 2 6 06 „ '* * ·< t - * < * * de middelen voor het opwekken van het bezetsignaal en de data overdracht-besturingsmiddelen om een dataoverdracht te effectueren met een andere eenheid die aan de bus is aangesloten, waarbij de dataoverdracht besturingsmiddelen omvatten een orgaan voor het 5 uitzenden van adressignalen op de adres-geleiderorganen teneinde de andere eenheid die in de overdracht moet worden betrokken, te identificeren.
10. Perl* ere eenheid volgens conclusie 9, met het kenmerk, dat de dataoverdracht-besturingsmiddelen omvatten:
10 A. middelen voor het uit zenden van een vertraagd, eerste synchronisatiesignaal over eerste synchronisatie-bestu-ring geleiderorganen die het begintijdstip van een dataoverdracht cyclus aangeven, waarbij de andere eenheid middelen omvat voor het uitvoeren van een dataeenheidcyclus in reactie op het ver-15 traagde signaal en voor het opwekken van een tweede synchronisatiesignaal op tweede synchronisatiebesturing-geleiderorganen teneinde de voltooiing van de dataeenheid-cyclus aan te geven, B. middelen die reageren op de ontvangst van het tweede synchronisatiesignaal die de middelen voor het uitzenden 20 van het vertraagde eerste synchronisatiesignaal uitschakelen, waardoor de andere eenheid zijn tweede synchronisatiesignaal beëindigd, en C. middelen die reageren op de beëindiging van het tweede synchronisatiesignaal om de middelen voor het opwekken 25 van het bezetsignaal uit te schakelen en daardoor het dataover-dracht-interval te beëindigen. 800 2 6 06
NLAANVRAGE8002606,A 1970-04-01 1980-05-07 Dataeenheid met een adresseerbaar opslagorgaan. NL182178C (nl)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US2463670A 1970-04-01 1970-04-01
US2463670 1970-04-01
NLAANVRAGE7104318,A NL181892C (nl) 1970-04-01 1971-03-31 Stelsel voor het hanteren van gegevens bij het uitzenden of ontvangen van informatie over een gemeenschappelijke bus.
NL7104318 1971-03-31

Publications (3)

Publication Number Publication Date
NL8002606A true NL8002606A (nl) 1980-08-29
NL182178B NL182178B (nl) 1987-08-17
NL182178C NL182178C (nl) 1988-01-18

Family

ID=26644641

Family Applications (1)

Application Number Title Priority Date Filing Date
NLAANVRAGE8002606,A NL182178C (nl) 1970-04-01 1980-05-07 Dataeenheid met een adresseerbaar opslagorgaan.

Country Status (1)

Country Link
NL (1) NL182178C (nl)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL262930A (nl) * 1960-03-29
US3376554A (en) * 1965-04-05 1968-04-02 Digital Equipment Corp Digital computing system
NL6807612A (nl) * 1967-05-29 1968-12-02
US3421150A (en) * 1966-08-26 1969-01-07 Sperry Rand Corp Multiprocessor interrupt directory
US3470542A (en) * 1967-03-17 1969-09-30 Wang Laboratories Modular system design
US3614741A (en) * 1970-03-23 1971-10-19 Digital Equipment Corp Data processing system with instruction addresses identifying one of a plurality of registers including the program counter
US3614740A (en) * 1970-03-23 1971-10-19 Digital Equipment Corp Data processing system with circuits for transferring between operating routines, interruption routines and subroutines

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL262930A (nl) * 1960-03-29
US3376554A (en) * 1965-04-05 1968-04-02 Digital Equipment Corp Digital computing system
US3421150A (en) * 1966-08-26 1969-01-07 Sperry Rand Corp Multiprocessor interrupt directory
US3470542A (en) * 1967-03-17 1969-09-30 Wang Laboratories Modular system design
NL6807612A (nl) * 1967-05-29 1968-12-02
US3614741A (en) * 1970-03-23 1971-10-19 Digital Equipment Corp Data processing system with instruction addresses identifying one of a plurality of registers including the program counter
US3614740A (en) * 1970-03-23 1971-10-19 Digital Equipment Corp Data processing system with circuits for transferring between operating routines, interruption routines and subroutines

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ELECTRONICS, vol. 43, nr. 26, 21 december 1970 NEW YORK (US) *
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 7, nr. 12, mei 1965 NEW YORK (US) *

Also Published As

Publication number Publication date
NL182178B (nl) 1987-08-17
NL182178C (nl) 1988-01-18

Similar Documents

Publication Publication Date Title
NL8701711A (nl) Gegevensverwerkingssysteem.
US4031512A (en) Communications network for general purpose data communications in a heterogeneous environment
US4426681A (en) Process and device for managing the conflicts raised by multiple access to same cache memory of a digital data processing system having plural processors, each having a cache memory
US3673576A (en) Programmable computer-peripheral interface
AU639589B2 (en) Dynamic bus arbitration with grant sharing each cycle
KR900002895B1 (ko) 데이타처리 시스템 아키텍처
US4979096A (en) Multiprocessor system
US4041473A (en) Computer input/output control apparatus
US3283308A (en) Data processing system with autonomous input-output control
US3447135A (en) Peripheral data exchange
US4209839A (en) Shared synchronous memory multiprocessing arrangement
US4131942A (en) Non-volatile storage module for a controller
US4443848A (en) Two-level priority circuit
US3919483A (en) Parallel multiplexed loop interface for data transfer and control between data processing systems and subsystems
US3508206A (en) Dimensioned interrupt
US3413612A (en) Controlling interchanges between a computer and many communications lines
US4602341A (en) Shared data logger controller and method
US4007441A (en) Method of data communications in a heterogenous environment
US3949371A (en) Input-output system having cyclical scanning of interrupt requests
EP0295646B1 (en) Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus
JPS63280365A (ja) ダイレクトメモリアクセスオ−ダ競合制御方式
US6473821B1 (en) Multiple processor interface, synchronization, and arbitration scheme using time multiplexed shared memory for real time systems
US4926419A (en) Priority apparatus
US4231084A (en) Data transfer system
US4156909A (en) Structured data files in a data driven digital data processor

Legal Events

Date Code Title Description
A1A A request for search or an international-type search has been filed
BB A search report has been drawn up
BC A request for examination has been filed
A85 Still pending on 85-01-01
V4 Discontinued because of reaching the maximum lifetime of a patent