NL8701711A - Gegevensverwerkingssysteem. - Google Patents

Gegevensverwerkingssysteem. Download PDF

Info

Publication number
NL8701711A
NL8701711A NL8701711A NL8701711A NL8701711A NL 8701711 A NL8701711 A NL 8701711A NL 8701711 A NL8701711 A NL 8701711A NL 8701711 A NL8701711 A NL 8701711A NL 8701711 A NL8701711 A NL 8701711A
Authority
NL
Netherlands
Prior art keywords
unit
signal
data
address
register
Prior art date
Application number
NL8701711A
Other languages
English (en)
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=21821613&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=NL8701711(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of NL8701711A publication Critical patent/NL8701711A/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)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Executing Machine-Instructions (AREA)
  • Bus Control (AREA)

Description

-¾. -Λ-
Reg. Nr. 125.720 JEV/CN Gegevensverwerkingssysteem
De uitvinding heeft betrekking op een perifere eenheid die is ingericht voor het sturen van data-overdrachten naar een andere eenheid in een dataverwerkingsstelsel waarbij perifere eenheden in dit stelsel een relatieve prioriteit bezitten en het stelsel een 5 prioriteitselement bevat dat is ingericht voor aansluiting aan een bus in het data-verwerkingsstelsel welke bus geleiderorganen bevat voor data, adressignalen en stuursignalen.
Het Amerikaanse octrooischrift 3.470.542 beschrijft een computerstelsel waarin de verschillende operationele modulen met een 10 gemeenschappelijke bus eenzelfde interface hebben.. Om met een overdracht te beginnen zendt een bepaalde eenheid achtereenvolgens uit een byte dat een overdrachts-commando bevat en twee daarop volgende bytes die samen een adres bevatten. De modulen decoderen de adres-bytes en het door het adres geïdentificeerde moduul voert de operatie uit die door 15 het commando is gespecificeerd. De opeenvolgende bytes die het commando en het adres bevatten, worden overgedragen met gebruikmaking van een paar handshakesignalen. Het Amerikaanse octrooischrift. geeft geen aanwijzing hoe een eenheid door arbitrage een plaats op de bus krijgt.
Het Amerikaanse octrooischrift 3.376.554 beschrijft een 20 stelsel waarin de processor een begin maakt met de overdracht van besturingsinformatie en van data naar andere eenheden. Bij het beginnen van een overdracht zendt de processor eerst een signaal uit dat aangeeft aan alle andere eenheden dat het data of besturingsinformatie zal uitzenden. Vervolgens zendt de processor een signaal uit met de 25 data of de besturingsinformatie, en een gecodeerd woord dat de bedoelde ontvanger identificeert die daarop een signaal uit met de data of de besturingsinformatie, en een gecodeerd woord dat de bedoelde ontvanger identificeert die daarop een signaal terugzendt. In het. Amerikaanse octrooischrift beschreven stelsel is de processor in wezen de baas 30 voor alle overdrachten. Andere eenheden die een overdracht moeten uitvoeren, signaleren aan de processor die dan de overdracht laat beginnen.
Dit is niet het geval bij de onderhavige uitvinding.
De uitvinding beoogt een perifere eenheid te verschaffen die op basis van prioriteit in het dataverwerkingsstelsel waartoe het be-35 hoort, de besturing in dat stelsel ovemeemt.
Volgens de uitvinding is de perifere eenheid van de in de aanhef omschreven soort gekenmerkt door: 8701711 - 2 - ï ür '-fc.
A. verzoekmiddelen voor het overbrengen van een verzoeksignaal
V
naar verzoekbesturing-geleiderorganen wanneer de perifere eenheid is voorbereid op het besturen van een data-overdracht, B. bevestigingsmiddelen die reageren op de coïncidentie van een verzoek- 5 signaal vanuit de verzoekmiddelen· en de ontvangst van een toekennings- signaal vanuit het prioriteitselement dat zich bevindt op een toe-kenningsbesturing-geleiderorgaan, en wel door een bevestigingssignaal uit te zenden over een bevestigingsbesturing-geleiderorgaan waarbij het'verzoekorgaan het verzoeksignaal beëindigt in reactie 10 op het bevestigingssignaal, C. interval aanwijzende middelen die reageren op de coïncidentie van een bevestigingssignaal en het ontbreken van een bezetsignaal op een bezit-besturing geleiderorgaan door een interval aan te geven gedurende welk interval de perifere eenheid data kan overdragen, 15 D. een bezitsignaal-opwerkorgaan dat reageert op het interval aanwijzende orgaan en een bezet-signaal kan uitzenden over de bezet-besturing-geleiderorgaan, waarbij het orgaan voor het uitzenden van het bevestigingssignaal het bevestigingssignaal beëindigt in de reactie op het bezetsignaal opwekkende orgaan, 20 en 8701711' - 3 - «s.
% ί E. middelen die reageren op het bezetsignaal opwekkende orgaan om daarbij een data-overdracht over de data-geleiderorganen te besturen tussen de perifere eenheid en een andere aan de bus in het stelsel aangesloten eenheid, waarbij het bezet- 5 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.
Fig, 1 toont een gegevensverwerkingssysteem volgens de uitvinding.
10 Fig. 2 is een schema van de verwerkingseenheid uit fig. 1
Fig. 3 toont een uitvoering van de geheugeneenheid uit fig. 1.
Fig. 4 is een schema van een typische randeenheid uit fig. 1.
15 Fig. 5 illustreert signalen, dié overgedragen worden over de in fig. 1 weergegeven rail.
«101711 i k - 4 -
Fig. 6 is een stromingsdiagram van een door de ver-werkingseenheid volgens fig. 2 uitgevoerde "fetch" cyclus.
Fig. 7 is een stromingsdiagram van. een door de verwer-kingseenheid volgens fig. 2 uitgevoerde "execute" cyclus.
5 Fig. 8 is een stromingsdiagram van een door de verwer- kingseenheid volgens fig. 2 uitgevoerde "term" cyclus.
Fig. 9 toont een timingeenheid voor de verwerkingseenheid volgens fig. 2.
Fig. 10 is een schema van een statuseenheid en inter- 10 ruptieprioriteitseenheid voor de verwerkingseenheid volgens fig. 2.
Fig. 11 is een schema van andere gedeelten van de in fig. 2 weergegeven verwerkingseenheid, die nodig zijn voor een begrip van de uitvinding.
Fig. 12 is een schema van een adresselektie-eenheid voor 15 de in fig, 4 weergegeven randeenheid.
Fig. 13 is een schema van een interruptieregeleenheid voor gebruik in de randeenheid uit fig. 4.
870 1 7 1 1
': -339LC
* S
5
Beschrijving van een illustratieve uitvoering 1. Algemene beschrijving
Het in fig. 1 weergegeven gegevensverwerkingssysteem omvat een ververkingseenheid 22, een reandoraaccess-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. Ververkingseenheid 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 kQ omvat een regelsektie U2 en een aantal opslagregisters, die aangeduid zijn als B0 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 R6 register is aangeduid als een SP register, wanneer het funktioneert 35 om aangrenzende geheugeneenheidplaatsen te identificeren.
8701711 6 * r
Een rekeneenheid, 1*1* (fig. 2) omvat een opteleenheid 1*6 en tvee inputcirciuts. De A en B inputcircuits 1*8 en 52 ontvangen elk inputs van het registergeheugen 1*0 op een rail 1*9 en van de rail-interface-eenheid 36 op een rail 50. Outputsignalen van de op-5 teleenheid 1*6 vorden 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 58. De statuseenheid 58 omvat een statusvoordregister 10 59 en is aangebracht in een regeleenheid 6o.
Het acht-bit-statusregister 59 is weergegeven in fig. 2 en slaat de minst signifikante acht bits op op de rail 30, vanneer zij de processorprioriteit vormen, voorgaande bewerkingen en of de ververkingseenheid 22 gestopt of "trapped" kan vorden na. een instruk-15 tie. De prioriteitbits (bits 5, 6 en 7) definiëren een van acht prioriteiten.· Een T-bit (bit 1*) 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 vorden, vanneer 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 ververkingseenheid 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 een timingeenheid 66 en een algemene regeleenheid 68. De timingsignalen en signalen van de instruktiede-30 kodëerinrichting 61* en de algemene regeleenheid 68 worden ook ge koppeld 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 7l*, die ook reageert op andere signalen in de regeleenheid 60. Signalen, 8701711 ί 7 die het bestaan van zekere invendige condities aanduiden, kunnen gekoppeld worden via de B-i nput s c hakelin g 52, de opteleenheid b6 en de poorteenheid 5^ met de rail 56.
Voor het beschrijven van de.details, die nodig 2ijn 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 "fetch1' 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 R7 register in het registergeheugen Uo) via het B-inputcircuit 52, de opteleenheid h6, en de poorteenheid 5^ aan het railadresregister 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 31*, verkregen met een informatieoverdracht over’ de rail (hierna een "railbewerking") en gekoppeld via de rail-interface-een'neid 36 in een instruktieregister 62. Nadat de instruktie gedekodeerd is in een instruktiedekodeerinrichting 6k. Voltooit de regeleenheid 6ö de "fetch" 20 cyclus met enige aanvullende railbewerkingen.
Indien de instruktie er een is van verscheidene regel-instrukties, kan de regeleenheid 60 de ververkingseenheid 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 verwerkings-eenheid 22, voltooit een "term" of een "execute" cyclus de werking 3Q 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.
8701711 1 ί 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 worden 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 2k 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 in-struktie 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 6k. Indien de instruktie een operand-adres bevat, wordt de inhoud van het bestemde register overgedragen via het B-inputcircuit 52 en de reknkundige eenheid M 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 31*. De inhoud van de geadres-35 seerde plaats wordt overgedragen naar de A of B inputcircuits H8 of 8701711 9 f. * - 52, als gegevens of als een ander adres met een ander railbeverking.
Het begrijpen van de details van het adresseren is niet noodzakelijk voor een goedbegrip van de uitvinding. Verdere details van de in de ververkingseenheid volgens fig. 2 gebruikte adressering kunnen ver-5 kregen vorden in de Amerikaanse octrooiaanvrage Serial No. (File 83-0Ö2), getiteld "Data Processing System" van Aanvrager, c. Band-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 vorden 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 computervoord verscheidene 15 omt'rekeenheidvoorden bevat, kan een gegevensbuffer 10U omtrekeen-heidvoorden accumuleren om een computerwoord te vormen, tot dat de randeenheid alle randeenheidvoorden gebruikt heeft. Verscheidene in-strukties of andere gegevens kunnen overgedragen vorden 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 één adres of een van een groep adressen. Deze eenheid regelt het inputcircuit 100 en de registers 102, 10U, I06 en 108 om inputinformatie naar de juiste plaats te geleiden.
Informatie kim ook bewogen worden op de rail 30 vanaf 30 de randeenheid in fig. k door het te verzamelen in één der registers 102, 10k, 106 en 108. Elk register is gekoppeld via één der output-poortcircuits 1ik, Hé, t18 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- 8701711
3 X
10 ’ scheidene regelsignalen van resp. naar andere eenheden in het ge- gevensverwerkingssysteem. Als de randeenheid gereed is voor het zenden van gegevens, wekt 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. U weergegeven randeenheid zendt dus en ontvangt gegevens, adressen, en verscheidene regelsignalen naar resp. vanaf de rail 30. Zoals duidelijk zal worden 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 gegevensverwerkingssysteem of onder zijn eigen regeling, d. Verbindingsrail 15 Alle eenheden in het gegevensverwerkingssysteem 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. Eén 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 NPR, SACK en INTR signalen koppelen met de verwerkingseenheid 22. De verwerkingseenheid 22 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 gegevensverwerkingssysteem.
30 Alleen de geadresseerde eenheid wordt evenwel 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. ~ \ 8701711 η “ 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 overge-dragen 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 docht er eenheid.
Elke eenheid in het systeem kan een mastereenheid of een dochtereenheid worden. De geheugeneenheid 24 (fig. t) vereist nooit systeemregeling en is altijd een dochtereenheid. Als resultaat 15 zijn veel circuitelementen beschreven aan de hand vanfig. 4 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. 4, werken als dochtereenheden.
Informatie in bijvoorbeeld het register 106 (fig. 2 en * 20 4) 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 34. Railwerkingsignalen, 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 8701711 12 * ΐ < is. De verwerkingseenheid 22 maakt het mogelijk dat de rail-inter-face-eenheid 36 de informatie accepteerd voor bewerking. Wanneer de gegevens in de verwerkingseenheid zijn, stopt de rail-interface-eenheid. 36 het zenden van het mastersynchronisatiesignaal. De DATI 5 railwerking is voltooid, wanneer het railadresregister 3^ 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 verwerkingseenheid 22 een serie DATI raiibe-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 verwerkingseenheid 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 verwerkingseenheid 22 als een mastereenheid informatie moet overdragen aan het register 106 in de randeenheid van fig. Een DATa Output (DATO) railbewerking wordt geproduceerd door de verwerkingseenheid 22. In het begin wordt ge-35 produceerd door de verwerkingseenheid 22. In het begin worden het 8701711 * 13 * adres voor het register 106, de signalen die de railbeverking iden tificeren, en de gegevens overgedragen aan de rail 30. Het adres wordt verkregen van.het railadresregister 3^; de railbewerkingssig-nalen 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 ververkingseenheid 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 aastersynchronisatiesignaal te steken 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 railbeverking voltooid is.
Normaal maakt een als een döchtereenheid 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 DARO 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 ijij een vraag over één 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 systeembeverkingen. Indien de vragende inrichting voldoende priori- 8701711 * 1¾ if text heeft, vordt. 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 interrupt!erou-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 8701711 i ï· 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 gegevensververkingssysteem 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 doch-tereenheid. 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éHjk te beschrijven hoe verscheidene doeleinden van dè 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-ververkingssysteem een mastereenheid kan worden, kan elke randeenheid het gegevens verwerkingssysteem 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- 8701711 16 „t f eenheid. 2kt die als een andere randeenheid verschijnt in het gegevens- ververkingssysteem, verhogen dus de processorbewerkingstijd niet aanmerkelijk.
Om duidelijk te maken hoe de voorgaande en verdere doel-5 einden en voordelen van de uitvinding worden verkregen, beschrijft de volgende toelichting een specifieke uitvoering van een gegevensver-verkingssysteem in termen van een verwerkingseenheid en een typische randeenheid in detail. Deze beschrijving maakt duidelijk hoe de verscheidene signalen op de onderling verbindende rail worden opgewekt 10 en gebruikt door de verscheidene eenheden binnen het gegevensver-werkingssysteem.
2. Gedetailleerde beschrijving;
Het is nodig om de verwerkingseenheid 22 en zijn werking met betrekking tot verscheidene instrukties te beschrijven om 15 de uitvinding op waarde te schatten. Elke instruktie bevat een be-werkingskode en kan een of twee operandadressen bevatten. Details van de respons van de verwerkingseenheid op het operandadres, dat adresmode en registerselektiekodes bevat, zijn beschreven in de reeds genoemde Amerikaanse octrooiaanvrage Serial Ho. (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 worden hier bekeken, a. Instrukties
Instrukties worden arbitrair verdeeld in regel-, één-25 operandadres en twee-operandadres categorieën voor beschouwingsdoel-einden en zijn gevormd als weergegeven in Tabel I. Wanneer een specifieke instruktie wordt overgedragen naar de instruktiedekodeerin-richting 6h (fig. 2), wordt een outputsignaal aangeduid door hetzelfde geheugen geproduceerd.
8701711 r *’
IT
Tabel I-Instrukties
Instruktie. Octal Funktie _ nummer__
Regelinstrukties HALT 000000 De verwerkingseenheid 22 leidt af naar de "term" cyclus en stopt de bwerking WACHT 000001 De verwerkingseenheid 22 staat zijn regeling over het systeem af en wacht op een inter-ruptiesignaal van een eenheid buiten de verwerkingseenheid .
HTI 000002 Dit is de laatste instruktie in een inter rupt ier out ine, opgeslagen in de geheugen-eenheid 2U verkrijgt de volgende instruktie in het onderbroken program van de geheugen-eenheid 2k tijdens de volgende ’’fetch” cyclus.
RTS 00020R Dit is de laatste instruktie in een subrou tine. R is een drie-bit registerselektie-kode. De verwerkingseenheid 22 verkrijgt de volgende instruktie in het program met de JSR instruktie.
BEQ 001XXX Dit is êén van verscheidene branchinstruk ties» waarbij XXX een acht-bit offsetwaarde . heeft voor het modificeren van de PC regis- terinhoud, wanneer (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 waarde groter dan, kleiner dan, groter dan of gelijk a*an, of niet gelijk aan een referentie. Weer andere branchinstrukties nemen nul, plus of minus waarden of andere condities waar. Onvoorwaardelijke branches zijn ook mogelijk.
Eén-operandadres instrukties JMP 0001ADR De verwerkingseenheid 22 is onvoorwaardelijk overgedragen aan een ander stel instrukties.
Het adres van de volgende instruktie is opgeslagen op de plaats, gedefinieerd door het operandadres ADR.
JSR 000i*RADR Wanneer het nodig is een tussenresultaat te verkrijgen van een ander stel instrukties en dan terug te keren naar het oorspronkelijk program, wordt de JSR instruktie uitgegeven, waarbij R een drie-bit registerkode is. Het 8701711 * ί 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.
IRC 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 0051+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 005ÖADR De inhoud van de "C" bit uit het statusre- gister 59 wordt 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 H .-bits in het statusregister 59 worden gesteld in overeenstemming met de inhoud van de geadresseerde plaats.
8701711 19 i 'ε ROS 0060ADR De inhoud van de geadresseerde plaats wordt een positie naar rechts geroteerd, waarbij het meest signofikante bit en de carry vervangen warden door resp. de meest signifikante carry en de minst signifikante bit.
0061ADR De inhoud van de geadresseerde plaats wordt een positie naar links geroteerd waarbij de meest signifikante carry en bit overgedragen 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 QifXADR 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 870 1 7 1 1 :J f.
20 gecombineerd' in een logische "OF" bewerking; het resultaat wordt opgeslagen in de door het tweede operandadres gedefinieerde plaats.
ADD 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 1ÖXADR 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 stromingsdiagrammen voor de "fetch", "execute" en "term" werkcycli in fig. 6, 7 en 8 voor de verwerkingseenheid is 20 weergegeven in Tabel II.
8701711 21 s
Tabel II
Adresmod.es 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 wordt geincrementeerd, nadat hij gebruikt is.
1»· en 5 Het gekozen register wordt eerst gedecrementeerd wat betreft zijn inhoud. De gedecrementeerde inhoud vormt een gegevensadres, indien MODE-4 en het adres van een tussenplaats, die een ge— gevensadres bevat indien MODE-5.
6 en 7 De inhoud van de volgende instruktieplaats wordt teruggewonnen als de indexwaarde en gevoegd bij de inhoud van het gekozen register. De som 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 wer-kingscycli te behandelen, die geproduceerd worden door de verwerkings-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 wordt 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 verwerkings-15 eenheidtiming, terwijl BSR signalen gebruikt worden voor timing en het regelen van railbeverkingen.
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 railbewerking uit te 20 8701711 ‘ ' 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 48 een nul-cutput produceert, gaat de programtelling door de opteleenheid 46 zonder modifikatie naar het railadresregister 34 tijdens een eerste gedeelte van de BSR-2 toestand. Een aan het A inputcircuit 48 gelegde incremente-rende waarde produceert een nieuwe programtelling op de output van 10 de opteleenheid 46 tijdens een tweede gedeelte van de BSR-2 toestand. Nadat deze nieuwe programtelling bewogen is naar het PC-register in het registergeheugen 40 tijdens een eerste gedeelte van de BSR-3 toestand, wordt de instruktie, die opgeslagen is op de door het railadresregister 34 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 64 en voor het maken van verscheidene beslissingen. Indien de in-20 struktie gédekodeerd 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 afleidt 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 8701711 * 23 * de regeleenheid 60 een DATI of DATIP railbeverking tijdens een ver lengde ISR-1 toestand* bestaande uit drie 3SR toestanden, om het operandadres in het begin te dekoderen. De inhoud van het in het aangewezen operandadres geïdentificeerde register wordt bewogen 5 naar het B inputcircuit 52 tijdens de BSR-1 toestand. Een decremen-terende kwantiteit wordt gekoppeld met het A inputcircuit 1+8 om de aan het B inputcircuit 52 gelegde waarde te decrementeren, indien het aangewezen operandadres een M0DE-1+ of -5 operandadres is. In elk geval wordt de output van de opteleenheid 1+6 overgedragen naar het 10 railadresregister 3*+ tijdens de BSR-2 toestand. Indien het aangewezen operandadres een MQDE-2 of -3 operandadres is, wordt een incre-menterende kwantiteit gekoppeld met het A inputcircuit 1+8 tijdens een tweede gedeelte van de BSR-2 toestand. Nadat de output van de opteleenheid 1+6 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 3l+ geadresseerde plaats overgedragen naar het B inputcircuit 52. De BSR-3 toestand wordt verlengd tot-dat deze overdracht voltooid is.
Net de MQDE-1, -2 of -1+ operandadres sen (fig. ÓS) 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 indexvaarde bevat bij het einde van de ISR-1 toestand. Tijdens de ISR-2 toestand wordt de inhoud van het in het 30 operandadres aangewezen register bewogen naar het A inputcircuit 1+8 om gevoegd te worden bij de indexvaarde. Nadat de output van de opteleenheid 1+6 is overgedragen naar het railadresregister 3*+ tijdens de BSR-2 toestand, wordt een verlengde BSR-3 toestand gebruikt om de inhoud van de door het railadresregister 3l+ geadresseerde plaats te 35 bewegen naar het B inputcircuit 52.
8701711 2k 3 f ' 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 1+6 naar een SOURCE register in het registergeheugen 1+0,· indien het aangewezen 15 operandadres een eerste van twee operandadressen is. Wanner deze overdracht gedaan is, wordt 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 verwer-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 1+6 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 overdracht instruktie wordt het 35 oorspronkelijke subroutine instruktieadres tijdelijk opgeslagen in 8701711 ί * 25 * het TEMP register tijdens een I5R-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 TExecute cyclus
De respons van de ververkingseenheid 22 tijdens de 5 "execute" cyclus wordt 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. TA) 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 R6 register) over in het registergeheugen Uo naar het B input-circuit 52. Een decrementerende waarde wordt gelegd aan het A inputcircuit kd gelijktijdig tijdens de BSR-1 toestand. De gedecrementeerde waarde 15 van de opteleenheid k6 wordt bewogen naar het railadresregister 3^ en naar het SP register in het registergeheugen Uo tijdens respectievelijk de BSR-2 en BSR-3 toestanden. Wanneer de BSR-3 toestand is beëindigd, adresseert het railadresregister 3** een vacante plaats in de groep van aangrenzende plaatsen, gedefinieert als blok 9^ 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 ^0 geïdentificeerd worden door de JSR instruktie. Tijdens de BSR-T 25 toestand vacht 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 ge'neugeneenheid 2k tijdens de DATO railbewerking door het decrementeren van de inhoud van het SP register om een vacant 30 adres te vormen in het blok 9^.
Tijdens de volgende ISR toestanden geschieden geen rial-beverkingen. 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 wordt overgedragen uit het TEMP register, waarin het was opgeslagen 8701711 ' 26 * tijdens de "fetch1' cyclus, naar het B input circuit 52 tijdens de ISR-3 toestand. Deze nieuwe prgramtelling wordt dan "bewogen naar het PC register tijdens de ISR-U 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 9^ 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 2U 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, TA en TB 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-T toestand, beweegt de ververkingseenheid 22 de laatste invoer in het blok 9^ (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 voor het overdragen van gegevens naar het blok 9k in de geheugeneenheid 2^4, 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 inputschakeling U8 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 9^» verkregen door een DATO bewerking.
35 Deze invoer wordt overgedragen naar het R5 register tijdens de ISr-7 8701711 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 9^; 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 werkroutine, die volgt op de JSR instruktie, verkregen van een van de blokken 86, 90 of. 92 in het geheugen 2h in fig. 10.
RTI Instrukties
Wanneer de ververkingseenheid 22 zijn regeling over het 10 gegevensververkingssysteem opgeeft na een randvraag om de verk- routine te onderbreken, die is toegevezen, worden de pragramtelling en het statusvoord voor de onderbroken werkroutine bewogen naar de volgende twee beschikbare geheugenplaatsen in het blok 9^ (fig· 3) door DATO bewerkingen. Dan worden het statusvoord en de program-15 telling voor de interruptieroutine bewogen 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-1*, -5, -6 en -7 toestanden om de pragramtel-20 ling en statusvoord van de onderbroken werkroutine over te dragen naar het PC register en het statusregister 59· Een DATI bewerking (fig. 7B en 7C) wordt gebruikt in een verlengte ISR-1+ toestand, bestaande uit BSR-1, -2 en -3 toestanden, om de verkroutineprgramtel-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 bewogen naar het railadresregister 3^ tijdens de BSR-1 en BSR-2 toestanden, produceert een aan het A inputcircuit 1*8 gelegde incre-menterende waarde een geincrementeerde vaarde voor terugkeer naar het SP register tijdens de BSR-3 toestand. Een DATI bewerking 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 bewerking tijdens een verlengde ISR-6 toestand met drie BSR toestanden, die de inhoud van het SP register op dezelfde wijze incrementeren, draagt 35 het statusvoord over naar het statusregister 59 tijdens de ISH-7 8701711 28 toestand. Nadat deze bewerkingen voltooid zijn, leidt de verwerkings-eenheid 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 48 tijdens de ISR-1 toestand.
Een nieuwe programtelling, gevormd door de geincrementeerde program-10 telling en verschoven som van de opteleenheid 46, 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 48 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 48 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 48.
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 input circiut. Konst anten worden dan naar het andere ; inputcircuit bewogen, indien nodig. Gegevens in het B inputcircuit .35 52 bijvoorbeeld worden gemodificeerd door het A inputcircuit 48 te 8701711 i 29
X
- belasten met de incrementerende of decrement erende veterde voor INC
of DEC instrukties.
Indien de instruktie 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 Η, V, C en Z bits in een statusvoord, waar nodig, te wijzigen, 15 nadat de verscheidene instrukties uitgevoerd-zijn. Indien de instruktie een TST, BIT of CNP instruktie is, wordt de nodige informatie overgedragen naar het statusregister 59* In de instruktie er êên is, die een statusvoord verandert, gebruikt de ververkingseenheid een ISR-a timingtoestand om de nieuwe statusvoord op te slaan in de 20 geheugeneenheid.
Indien een statusvoord niet veranderd moet worden en de tweede van twee operandadressen of het ene operandadres is een MODE-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-4 en BSR-5 toestand gegevens naar de rail 30 met een DATO bewerking. Wanneer het dochter-synchronisatiesignaal de opslag bevestigt, begint de ververkingseenheid een "term" cyclus.
30 De ververkingseenheid 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 railbeverkingen voor het overdragen van instrukties en gegevens worden geleverd door de regeleenneid 60 en schakelingen, die be-35 schreven zullen worden aan de hand van fig. 9 t/m 13.
870 1 7 1 1 Α -ρ 30 - iii "Term"Cyclus
De derde bewerkingscyclus en aanverwante railbewerkingen voor de verwerkingseenheid 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 verwerkingseenheid 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 register geheugen 4o 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 verwerkingseenheid 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 putcircuit 48. Tijdens de BSR-2 toestand wordt de gedecrementeerde waarde van de opteleenheid 46 overgedragen naar het railadresregis-ter 34 om de volgende beschikbare plaats in het blok 94 (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 2b door een DATO bewerking voor opslag in het blok 94 op de plaats, die door het railadresregister 34 gedefinieerd wordt. Een verlengde BSR-T toestand stopt de verwerkingseenheidwerking, 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 41+ tijdens een BSR-1 toestand, overgedragen 8701711 * 31 t 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, wordt 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 2k 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 DATI bewerking tijdens een ISR-U 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 3^ 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 DATI 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 DABI 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 8701711 . 32 " l nieuwe statuswoord naar het B inputcircuit 52» Het voordt overgedragen. naar- het statusregister 59 via de rekenkundige eenheid kk tijdens een ISR-7 toestand.
Mat de ISR-7 toestand voltooid is, heeft de verver-5 kingseenheid 22 de "tem" 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 verwerkingseenheid 22, is de eerste instruktie in de interruptieroutine. Indien geen interrupties optreden, geschiedt geen van deze stappen, en de 10 verwerkingseenheid produceert een "fetch" cyclus om de volgende verk-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 schrgfcyclusgrens, 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 8701711 33 3 * R/W-3 cyclus om 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 één van de outputgeleiders van een van de generatoren 5 ίδΟ 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 ververkingseenheid 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 statusvoord op de rail 56 is. Deze drie signalen worden opgeslagen in geklokte flipflops 200, 202 en 20U door een CLKT impuls. De CLKT impuls wordt 25 opgewekt, wanneer het statusregister 59 impliciet geadresseerd wordt tijdens de ISR-7 toestand van een RTX instruktie "execute" cyclus of van een "term" cyclus of tijdens de ISR-L 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 20U vormen dus één van acht verwerkingseenheid-prioriteiten voor een comparatorcircuit 206, dat ook reageert op signalen van de flipflops 208, 210 en 21L.
35 In een gegevensverwerkingssysteem volgens fig. 1 kan 870 1 7 1 1 31* * i 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. Waaneer 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 NPR signaal op te vekken. Railverzoeken worden gedaan door een BR signaal. Wanneer een NPR of BR signaal bestaat, worden één of meer van de flipflops 208, 210 of 21 k gesteld door periodieke CLKBR impulsen, die later beschreven 10 worden. NPR signalen hebben de hoogste prioriteit en schakelen het comparatorcircuit 206 uit. Zij kunnen toegestaan worden, wanneer de rail 30 niet gebruikt wordt voor overdracht van informatie. Wanneer deze toestand bestaat een GRANTNPR impuls opgewekt, meestal na de beëindiging van een railcyclus, via een poort 215 naar de NPG draad 15 in de rail 30 (fig. 5).
Wanneer een BR 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 regèleenheid 60. De GRANTBR impuls wordt alleen opgewekt 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 PR0CREL 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 22^ 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 t 8701711 4- ' * 35 CLXC impuls wordt ook geproduceerd tijdens een "execute" cyclus ISR-h toestand voor bepaalde instrukties, die conditiekodemodifikatie vereisen. Een andere flipflop voor de C-bit, analoog aan de flipflop 22h, kan verder geklokt worden voor nog andere instrukties.
5 Wanneer het gewenst is het statuswoord over te dragen naar de rail 30» opent een CST3 signaal een poortcircuit 226, dat een EN circuit 228 voor de Z bit omvat. Het CSTB signaal wordt opgewekt tijdens de BSR-6 en BSR-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 22h, door CSTD signaal. Dit signaal schakelt een EN circuit 230 om de flipflop 22h te stellen of terug te stellen in overeenstemming net de output van de opteleenheid U6 (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 flipflops en bijbehorende poortcircuits, die geopend worden door één van verscheidene, wederzijds exclusieve impulsen, 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 interrupt ieroutine 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 systeemwerking voor direkte overdracht naar de geheugeneen-35 heid als gegevenvoorden. Een gegevenwoord kan evenwel ook afzonder- 8701711 36 « 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 UO. 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 DATX 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 OF 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 2é0 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 26b via een OF circuit 262, zodat de volgende geïnverteerde SCLK signaal de flipflop 26U 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.
k) en de instruktie te herschrijven. Zoals beschreven in verband met 35 de randeenheid-adresselektie-eenheid 112, wekt de geheugeneenheid 8701711 :V- 37 ƒ * - een dochtersynchronisatiesignaal SSYN op na het ontvangen van het MSYN signaal en het overdragen van de instruktie. 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 MQDE-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 een adresdekodeer-eenheid in het systeem in, zoals de eenheid 266, wanneer de converter geadresseerd wordt. Een inwendige dekodeerinrichting, waaronder 2Q EN circuits 268, 270, 272 en 2Jht 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 Eli circuit 268 kiest het commando- en statusregister 102; het openen van een der EN circuits 270, 272 en 27^ kiest respectieve— 25 lijk een van de gegevensbuffer 10U, opslagregister 106 en opslagregister 108 (fig. k)»
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 vekken 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 87017? i 38 -1 t ' andere condities. Wanneer het gegeven op de rail 30 is, vordt het opgeslagen in het SOURCE register (fig. 2) in overeenstemming met de "fetch" cyclus respons op een MOV instructie.
Als het tweede operandadres in de MOV instructie een 5 MODE-0 operandadres is, leidt de ververkingseenheid 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-h toestand.
10 Aangenomen vordt dat het tweede operandadres een R2(l) operandadres is, zodat het R2 register een gegevensadres in de ge-heugeneenheid bevat; en de ververkingseenheid 22 gebruikt een DATO bewerking om het gegeven op te slaan, zoals weergegeven in fig. 7E. 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 Cl 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. k) 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 ververkingseenheid om de ververkingseenheid terug te stellen en het DATA CLEAR signaal op te wekken, dat de flipflop 2ók (fig. 11) terugstelt. Dan wordt het SSYN signaal uitgeschakeld.
30 Deze voorbeelden illustreren heo de ververkingseenheid DATO en DATI bewerkingen gebruikt om informatie naar en van specifieke plaatsen binnen het gegevensververkingsysteem over te dragen. Een instruktie vordt 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 8701711 Λ'
- F
39 6 plaats in de analoog-digitaalconverter en dan overgedragen, direkt naar de ververkingseenheid in het ene voorbeeld of naar de geheugen-eenheid in het andere voorbeeld, g. Niet-ververkingseenheidoverdrachten 5 Normaal accumuleert een analoog-digitaalconverter de gegevens in een aantal opslagregisters. Wanneer de converter gereed is om die informatie over te dragen, wordt hij meestal zonder modi-fikatie in de geheugeneenheid opgeslagen. Gelijksoortige overdrachten vanaf een magnetische schrijfeenheid 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. k.
Enige regelingen moeten meestal gestart worden door de ververkingseenheid, voordat het gegeven overgedragen wordt. Wanneer 15 de converter gereed is om een overdracht uit te voeren, wekt hij een F3R signaal op, dat gekoppeld is met een EN circuit 28¾ (fig. 13).
Dit EN circuit produceert een BR output, als tvee flipflops 286 en 288 beiden teruggesteld zijn en bekrachtigt daardoor een EN circuit 290.
Een van de geklokte flipflops 2*10 of 21¾ (fig. 10) wordt gesteld door 20 het BR signaal en een CLKBR 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 wordt 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 ververkingseenheid een WAIT instruktie heeft uitgevoerd. Het WAIT signaal van de instruktiedekodeerinrichting 6k (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.
870171! * t ito >
De poort 216 (fig. 10) vordt geopend door het GRANTBR signaal om een BG signaal te koppelen met de rail 30. Het GRANTBR signaal vordt een vaste tijd na het CLKBR signaal opwekt (fig. 11). Het CLKBR signaal vordt 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 31 , 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 32h 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 "een" 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 r 35 tot een "êé" tracht te verhogen. De "nul" output van het OF circuit 8701711 ï * » ui 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 "nul11 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 3G impuls door het vertragingscircuit 32h 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. 1i)
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 8701711 1+2 > 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 "een" 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 8701711 ^3 ΐ *- de D input van een flipflop 382 tijdens de ISR-0 toestand van de "term" cyclus. Deze timing vordt verschaft door het EN circuit 312.
De cutput van het EN circuit 378 wordt ook gekoppeld via een OF circuit 3ÖU en een vertragingscircuit 386 om de flipflop 382 te 5 klokken en te stellen. Wanneer de flipflop 382 gesteld is, wordt een SSÏN 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 NSÏN 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 monostabiele multivibrator 390 te bekrachtigen, die de flipflop 382 terugstelt via een OF circuit, wanneer het BUSÏ signaal gedeaktïveerd 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 SSÏN signaal uit de verwerkingseenheid. Eenzelfde werking geschiedt wanneer het MSYN signaal gedeaktïveerd is en een monostabiele multivibrator 396 bekrachtigt.
Wanneer het SSÏN signaal ontvangen is door de randeen-2Q heid, stelt een EN circuit 370 (fig. 13), bekrachtigd door het SSÏN signaal en de output van het EN circuit 366, de flipflop 286 terug via het OF circuit 33^. Dit heft het BUSÏ signaal op en schakelt de D input van de flipflop 250 (fig. 11) in via het NOR circuit 3k2. 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 SSÏN signaal opwekt als gevolg van een INTR signaal. Voor andere BR verzoeken zonder het INTR signaal, staakt de randeenheid alleen het opwekken van het BUSÏ 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 gegevensvoorden weergeeft, overdragen naar zijn regei-sektie. De regelsektie van de randeenheid kan ook schakelingen om-35 vatten voor het opwekken van aangrenzende adressen, te beginnen met 8701711 • 5 4 l kk het eerste adres en MSYN signalen, totdat alle woorden overgedragen zijn.
Volgens de uitvinding wordt het gegeven opgeslagen in de geheugeneenheid 2onder tussenkomst van de verwerkingseenheid door 5 overdrachten te maken, terwijl de verwerkingseenheid of andere elementen de rail niet gebruiken.
Wanneer alle gegevens verzameld zijn, zoals in de registers 106 en 108 (fig, U), wekt de randeenheid een NPR 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 GRMTNPR signaal opwekt. NPR verzoeken worden toegewezen na elke 2Q. 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 verwerkingseenheid, 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 gegevenswoord over naar het 8701711 . 1*5 9 geheugen. Het SSYH 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-digitaaleonverter in dit voor-10 beeld is verbonden met een gegevensverwerkingssysteem. Hij wordt geïdentificeerd door één 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 voeren. Alle 15 eenheden, of dit nu de ververkingseenheid, geheugeneenheid of randeenheden 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 ververkingseenheid 20 of naar de ververkingseenheid 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 regelbeslissingen gelijktijdig gedaan worden met 25 andere gegevensoverdrachten en systeembeverkingen om daardoor de bedrijfsdoelmatigheid te verbeteren.
De uitvinding is beschreven in termen van een specifieke illustratieve uitvoering van een gegevensverwerkingssysteem. Voorbeelden van randeenheden, ververkingseenheden 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- 87 0 1 711 r ^ U6 teitniveaus en alternatieve methoden voor het opwekken van regel-signalen kunnen in een gegevensverwerkingssysteem opgenomen worden zonder het kader van de uitvinding te verlaten.
8701711

Claims (6)

1. Perifere eenheid die is ingericht voor het sturen van dataoverdrachten naar een andere eenheid in een data-verwerkingsstelsel waarbij perifere eenheden in dit stelsel een relatieve prioriteit en het stelsel een prioriteitselement bevat dat is ingericht voor aansluiting 5 aan een bus in het data-verwerkingsstelsel welke bus geleiderorganen bevat voor data, adressignalen en stuursignalen, met het kenmerk, dat de perifere eenheid omvat: A. verzoekmiddeLen voor het overbrengen van een verzoeksignaal naar verzoekbesturing-geleiderorganen wanneer de perifere IQ eenheid is voorbereid op het besturen van een data-overdracht, 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 bevindt op een toekenningsbesturing-geleiderorgaan, en wel door 15 een bevestigingssignaal uit te zenden over een bevestigings- besturing-geleiderorgaan waarbij het verzoekorgaan het verzoeksignaal 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- 20 signaal op een bezit-besturing geleiderorgaan door een interval 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 22 bezet-besturing-geleiderorgaan, waarbij het orgaan voor het uitzenden van het bevestigingssignaal het bevestigingssignaa] beëindigt in de reactie op het bezet-signaal opwekkende orgaan, en E. middelen die reageren op het bezetsignaal opwekkende orgaan 20 om daarbij een data-overdracht over de data-geleiderorganen 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- 25 overdracht-interval aan te geven.
2. Perifere eenheid volgens conclusie 1, met het kenmerk, dat de data-overdracht-besturingsmiddelen omvatten: I. middelen voor het genereren van adressignalen oo de adres- 8701711 - 48 - ' A , geleiderorganen, bestemd voor een andere eenheid in het stelsel, II.,middelen voor het opwekken van cyclusregelsignalen op cyclus- besturing-geleiderorganen die de richting van een data-overdracht aanwijzen,
5 III. middelen voor het genereren van een vertraagd eerste synchronisatie signaal op eerste synchronisatie-besturing geleider-organen, welk signaal een data-eenheidcyclus in de andere eenheid laat beginnen om daardoor de overdracht gedurende het data-overdrachtinterval te effectueren.
3. Perifere eenheid volgens conclusie 1, met het kenmerk, dat in het geval het dataverwerkingsstelsel bovendien omvat een aan de bus in het stelsel aangesloten processors-eenheid en de prefirere eenheid, daarbij nog een schakeling omvat die wordt ingeschakeld in reactie op bepaalde verzoeken voor het effectueren van een over-15 dracht van de data rechtstreeks naar de processor-eenheid, deze schakeling omvat: I. middelen voor het uitzenden van een digitaal woord over de data-geleiderorganen, II.. middelen die reageren op de middelen voor het genereren van het 20 bezet-signaal en die een interrupt-signaal uitzenden over interrupt-besturing-geleiderorganen waarbij de processor-eenheid het digitale woord accepteert in reactie op het interrupt-signaal en een tweede synchronisatiesignaal uitzendt over tweede synchronisatie-besturings-geleiderorganen teneinde daarmee de 25 ontvangst van het digitale woord aan te geven, en III. middelen die reageren op het tweede synchronisatiesignaal en die de middelen voor het üitzenden van het interrupt-signaal uitschakelen en zo ook de middelen voor het digitale woord . en de middelen voor het genereren van het bezet-signaal. 3Q 4. Perifere eenheid volgens conclusie 1, gekenmerkt door: A. non-processor verzoekmiddelen voor het uitzenden van een non-processorverzoek over non-processor verzoek besturing-geleider-organen, en B. middelen die reageren op de non-processorverzoekmiddelen en op 22 een signaal dat in het non-processorverzoek toestemt en dat verschijnt op de non-processor toestemming besturing-geleider-organen om de bevestigingsmiddelen in te schakelen en zo ook 8701711 - 49 - , > * de middelen voor het opwekken van het bezet-signaal en de data * overdracht-besturingsmiddelen om een dataoverdracht te effectueren 0 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.
5. Pefifere eenheid volgens conclusie 4, met het kenmerk, dat de dataoverdracht-besturingsmiddelen omvatten:
10 A. middelen voor het uitzenden 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 synchronisatie signaal 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 bezet-signaal uit te schakelen en daardoor het dataover dracht- interval te beëindigen. « 8701711
NL8701711A 1970-04-01 1987-07-20 Gegevensverwerkingssysteem. NL8701711A (nl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US2463670A 1970-04-01 1970-04-01
US2463670 1970-04-01

Publications (1)

Publication Number Publication Date
NL8701711A true NL8701711A (nl) 1987-11-02

Family

ID=21821613

Family Applications (2)

Application Number Title Priority Date Filing Date
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.
NL8701711A NL8701711A (nl) 1970-04-01 1987-07-20 Gegevensverwerkingssysteem.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
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.

Country Status (8)

Country Link
US (1) US3710324A (nl)
CA (1) CA957778A (nl)
DE (1) DE2115993C2 (nl)
FR (1) FR2130858A5 (nl)
GB (1) GB1353995A (nl)
IE (2) IE36763B1 (nl)
IL (1) IL36321A (nl)
NL (2) NL181892C (nl)

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3815099A (en) * 1970-04-01 1974-06-04 Digital Equipment Corp Data processing system
US3810114A (en) * 1971-12-29 1974-05-07 Tokyo Shibaura Electric Co Data processing system
US3836889A (en) * 1973-03-23 1974-09-17 Digital Equipment Corp Priority interruption circuits for digital computer systems
US3924240A (en) * 1973-04-09 1975-12-02 Gen Electric System for controlling processing equipment
US3921145A (en) * 1973-10-12 1975-11-18 Burroughs Corp Multirequest grouping computer interface
US3886524A (en) * 1973-10-18 1975-05-27 Texas Instruments Inc Asynchronous communication bus
US3911400A (en) * 1974-04-19 1975-10-07 Digital Equipment Corp Drive condition detecting circuit for secondary storage facilities in data processing systems
FR2269150B1 (nl) * 1974-04-25 1977-10-28 Honeywell Bull Soc Ind
FR2273317B1 (nl) * 1974-05-28 1976-10-15 Philips Electrologica
US4028663A (en) * 1974-06-05 1977-06-07 Bell Telephone Laboratories, Incorporated Digital computer arrangement for high speed memory access
US3937925A (en) * 1974-06-25 1976-02-10 Ibm Corporation Modular transaction terminal with microprocessor control
US4150429A (en) * 1974-09-23 1979-04-17 Atex, Incorporated Text editing and display system having a multiplexer circuit interconnecting plural visual displays
GB1505535A (en) * 1974-10-30 1978-03-30 Motorola Inc Microprocessor system
US4024505A (en) * 1974-11-18 1977-05-17 Compucorp Interface system for coupling an indeterminate number of peripheral devices to a central processing unit
FR2296221A1 (fr) * 1974-12-27 1976-07-23 Ibm France Systeme de traitement du signal
US3997896A (en) * 1975-06-30 1976-12-14 Honeywell Information Systems, Inc. Data processing system providing split bus cycle operation
US3993981A (en) * 1975-06-30 1976-11-23 Honeywell Information Systems, Inc. Apparatus for processing data transfer requests in a data processing system
US3983540A (en) * 1975-09-08 1976-09-28 Honeywell Inc. Rapid bus priority resolution
US4038644A (en) * 1975-11-19 1977-07-26 Ncr Corporation Destination selection apparatus for a bus oriented computer system
US4034349A (en) * 1976-01-29 1977-07-05 Sperry Rand Corporation Apparatus for processing interrupts in microprocessing systems
US4055851A (en) * 1976-02-13 1977-10-25 Digital Equipment Corporation Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle
DE2613899C2 (de) * 1976-03-31 1985-08-22 Atex, Inc., Bedford, Mass. Anordnung zur visuellen Wiedergabe von Daten
US4156927A (en) * 1976-08-11 1979-05-29 Texas Instruments Incorporated Digital processor system with direct access memory
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4050097A (en) * 1976-09-27 1977-09-20 Honeywell Information Systems, Inc. Synchronization technique for data transfers over an asynchronous common bus network coupling data processing apparatus
US4085448A (en) * 1976-10-04 1978-04-18 International Business Machines Corporation Data communication bus structure
US4218739A (en) * 1976-10-28 1980-08-19 Honeywell Information Systems Inc. Data processing interrupt apparatus having selective suppression control
JPS5362945A (en) * 1976-11-17 1978-06-05 Toshiba Corp Disc address system
US4209838A (en) * 1976-12-20 1980-06-24 Sperry Rand Corporation Asynchronous bidirectional interface with priority bus monitoring among contending controllers and echo from a terminator
US4339793A (en) * 1976-12-27 1982-07-13 International Business Machines Corporation Function integrated, shared ALU processor apparatus and method
US4259718A (en) * 1977-03-10 1981-03-31 Digital Equipment Corporation Processor for a data processing system
JPS5427741A (en) * 1977-08-03 1979-03-02 Toshiba Corp Information processing organization
US4149238A (en) * 1977-08-30 1979-04-10 Control Data Corporation Computer interface
JPS5463634A (en) * 1977-10-03 1979-05-22 Nec Corp Bus controller
ES474427A1 (es) * 1977-10-25 1979-04-16 Digital Equipment Corp Un aparato central de tratamiento para uso en un sistema de tratamiento de datos.
ES474428A1 (es) * 1977-10-25 1979-04-16 Digital Equipment Corp Un sistema de tratamiento de datos.
IT1192334B (it) * 1977-10-25 1988-03-31 Digital Equipment Corp Sistema di elaborazione dei dati numerici
CA1114517A (en) * 1977-10-25 1981-12-15 Digital Equipment Corporation Data processing system with read operation splitting
US4236203A (en) * 1978-01-05 1980-11-25 Honeywell Information Systems Inc. System providing multiple fetch bus cycle operation
US4161786A (en) * 1978-02-27 1979-07-17 The Mitre Corporation Digital bus communications system
AR227513A1 (es) * 1978-09-08 1982-11-15 Fujitsu Ltd Disposicion de control para una pluralidad de aparatos de entrada y salida
AU530137B2 (en) * 1978-09-11 1983-07-07 K.K. Toshiba Information processor
IT1100916B (it) * 1978-11-06 1985-09-28 Honeywell Inf Systems Apparato per gestione di richieste di trasferimento dati in sistemi di elaborazione dati
US4300194A (en) * 1979-01-31 1981-11-10 Honeywell Information Systems Inc. Data processing system having multiple common buses
US4292668A (en) * 1979-01-31 1981-09-29 Honeywell Information Systems Inc. Data processing system having data multiplex control bus cycle
US4459665A (en) * 1979-01-31 1984-07-10 Honeywell Information Systems Inc. Data processing system having centralized bus priority resolution
US4300193A (en) * 1979-01-31 1981-11-10 Honeywell Information Systems Inc. Data processing system having data multiplex control apparatus
US4383295A (en) * 1979-02-09 1983-05-10 Honeywell Information Systems Inc. Data processing system having data entry backspace character apparatus
JPS55134470A (en) * 1979-03-12 1980-10-20 Digital Equipment Corp Data processing system
US4449183A (en) * 1979-07-09 1984-05-15 Digital Equipment Corporation Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US4395758A (en) * 1979-12-10 1983-07-26 Digital Equipment Corporation Accelerator processor for a data processing system
US4319324A (en) * 1980-01-08 1982-03-09 Honeywell Information Systems Inc. Double word fetch system
US4319323A (en) * 1980-04-04 1982-03-09 Digital Equipment Corporation Communications device for data processing system
US4527236A (en) * 1980-04-04 1985-07-02 Digital Equipment Corporation Communications device for data processing system
US4398243A (en) * 1980-04-25 1983-08-09 Data General Corporation Data processing system having a unique instruction processor system
IT1130480B (it) * 1980-06-16 1986-06-11 Olivetti & Co Spa Telescrivente elettronica per il trattamento di messaggi
US4385350A (en) * 1980-07-16 1983-05-24 Ford Aerospace & Communications Corporation Multiprocessor system having distributed priority resolution circuitry
US4381542A (en) * 1980-10-20 1983-04-26 Digital Equipment Corporation System for interrupt arbitration
US4410942A (en) * 1981-03-06 1983-10-18 International Business Machines Corporation Synchronizing buffered peripheral subsystems to host operations
US4435762A (en) 1981-03-06 1984-03-06 International Business Machines Corporation Buffered peripheral subsystems
DE3226313A1 (de) * 1981-07-15 1983-02-03 Canon Kk Einrichtung zur informationsverarbeitung
US4482950A (en) * 1981-09-24 1984-11-13 Dshkhunian Valery Single-chip microcomputer
US4931922A (en) * 1981-10-01 1990-06-05 Stratus Computer, Inc. Method and apparatus for monitoring peripheral device communications
US4466058A (en) * 1981-10-02 1984-08-14 Ncr Corporation Method and apparatus for establishing priority between processing units having a common communication channel
US4458312A (en) * 1981-11-10 1984-07-03 International Business Machines Corporation Rapid instruction redirection
US4482951A (en) * 1981-11-12 1984-11-13 Hughes Aircraft Company Direct memory access method for use with a multiplexed data bus
USRE33705E (en) * 1982-02-24 1991-10-01 Digital Equipment Corporation Interchangeable interface circuit structure
US4744024A (en) * 1982-08-27 1988-05-10 Burroughs Corporation Method of operating a bus in a data processing system via a repetitive three stage signal sequence
US4737907A (en) * 1982-09-21 1988-04-12 Xerox Corporation Multiprocessor control synchronization and instruction downloading
US4626634A (en) * 1982-09-30 1986-12-02 At&T Bell Laboratories Multiprocessor computing system featuring shared global control
US4713834A (en) * 1982-09-30 1987-12-15 American Telephone And Telegraph Company, At&T Bell Laboratories Multiprocessor computing system featuring shared global control
US4751727A (en) * 1982-09-30 1988-06-14 American Telephone And Telegraph Company, At&T Bell Laboratories Multiprocessor computing system featuring shared global control
US4647123A (en) * 1983-02-07 1987-03-03 Gulf & Western Manufacturing Company Bus networks for digital data processing systems and modules usable therewith
IT1206331B (it) * 1983-10-25 1989-04-14 Honeywell Inf Systems Architettura di sistema di elaborazione dati.
US5067071A (en) * 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
DE3673578D1 (de) * 1985-05-09 1990-09-27 Voest Alpine Automotive Mikrorechnersystem.
US5101478A (en) * 1985-06-28 1992-03-31 Wang Laboratories, Inc. I/O structure for information processing system
AU583108B2 (en) * 1985-06-28 1989-04-20 United Module Corporation I/O structure for information processing system
US4797853A (en) * 1985-11-15 1989-01-10 Unisys Corporation Direct memory access controller for improved system security, memory to memory transfers, and interrupt processing
US4858173A (en) * 1986-01-29 1989-08-15 Digital Equipment Corporation Apparatus and method for responding to an aborted signal exchange between subsystems in a data processing system
JPS63118816A (ja) * 1986-11-06 1988-05-23 Toshiba Corp キヤツシユメモリ付マイクロプロセツサシステム
US4905182A (en) * 1987-03-13 1990-02-27 Apple Computer, Inc. Self-configuring memory management system with on card circuitry for non-contentious allocation of reserved memory space among expansion cards
US4931923A (en) * 1987-03-13 1990-06-05 Apple Computer, Inc. Computer system for automatically reconfigurating memory space to avoid overlaps of memory reserved for expansion slots
US5056060A (en) * 1987-03-13 1991-10-08 Apple Computer, Inc. Printed circuit card with self-configuring memory system for non-contentious allocation of reserved memory space among expansion cards
JP2664950B2 (ja) * 1988-08-31 1997-10-22 日本電気株式会社 入出力処理装置
US5276818A (en) * 1989-04-24 1994-01-04 Hitachi, Ltd. Bus system for information processing system and method of controlling the same
JP2665813B2 (ja) * 1990-02-23 1997-10-22 三菱電機株式会社 記憶制御装置
US5369748A (en) * 1991-08-23 1994-11-29 Nexgen Microsystems Bus arbitration in a dual-bus architecture where one bus has relatively high latency
EP0544954B1 (en) * 1991-12-05 1996-04-24 International Business Machines Corporation Disk drive synchronisation
WO1995034905A1 (en) * 1994-06-15 1995-12-21 Intel Corporation Computer system with peripheral control functions integrated into host cpu
JP2000047883A (ja) * 1998-07-31 2000-02-18 Denso Corp タスク制御方法および記録媒体
US6691257B1 (en) 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same
US6687851B1 (en) 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
US6708283B1 (en) 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
US6633996B1 (en) 2000-04-13 2003-10-14 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus architecture
US6735715B1 (en) 2000-04-13 2004-05-11 Stratus Technologies Bermuda Ltd. System and method for operating a SCSI bus with redundant SCSI adaptors
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6862689B2 (en) 2001-04-12 2005-03-01 Stratus Technologies Bermuda Ltd. Method and apparatus for managing session information
US6901481B2 (en) 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US6718474B1 (en) 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
US6948010B2 (en) * 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US6886171B2 (en) * 2001-02-20 2005-04-26 Stratus Technologies Bermuda Ltd. Caching for I/O virtual address translation and validation using device drivers
US6766479B2 (en) 2001-02-28 2004-07-20 Stratus Technologies Bermuda, Ltd. Apparatus and methods for identifying bus protocol violations
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) * 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
US7065672B2 (en) * 2001-03-28 2006-06-20 Stratus Technologies Bermuda Ltd. Apparatus and methods for fault-tolerant computing using a switching fabric
US6971043B2 (en) * 2001-04-11 2005-11-29 Stratus Technologies Bermuda Ltd Apparatus and method for accessing a mass storage device in a fault-tolerant server
US6996750B2 (en) * 2001-05-31 2006-02-07 Stratus Technologies Bermuda Ltd. Methods and apparatus for computer bus error termination

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3061192A (en) * 1958-08-18 1962-10-30 Sylvania Electric Prod Data processing system
NL132748C (nl) * 1960-03-29
NL297037A (nl) * 1962-08-23
US3283306A (en) * 1962-11-26 1966-11-01 Rca Corp Information handling apparatus including time sharing of plural addressable peripheral device transfer channels
US3274561A (en) * 1962-11-30 1966-09-20 Burroughs Corp Data processor input/output control system
US3297996A (en) * 1963-06-10 1967-01-10 Beckman Instruments Inc Data processing system having external selection of multiple buffers
US3370274A (en) * 1964-12-30 1968-02-20 Bell Telephone Labor Inc Data processor control utilizing tandem signal operations
US3374465A (en) * 1965-03-19 1968-03-19 Hughes Aircraft Co Multiprocessor system having floating executive control
US3386082A (en) * 1965-06-02 1968-05-28 Ibm Configuration control in multiprocessors
US3400376A (en) * 1965-09-23 1968-09-03 Ibm Information transfer control system
US3395394A (en) * 1965-10-20 1968-07-30 Gen Electric Priority selector
US3416139A (en) * 1966-02-14 1968-12-10 Burroughs Corp Interface control module for modular computer system and plural peripheral devices
US3408632A (en) * 1966-06-03 1968-10-29 Burroughs Corp Input/output control for a digital computing system
US3421150A (en) * 1966-08-26 1969-01-07 Sperry Rand Corp Multiprocessor interrupt directory
US3480914A (en) * 1967-01-03 1969-11-25 Ibm Control mechanism for a multi-processor computing system
US3470542A (en) * 1967-03-17 1969-09-30 Wang Laboratories Modular system design
US3512136A (en) * 1967-06-21 1970-05-12 Gen Electric Input/output control apparatus in a computer system
US3593300A (en) * 1967-11-13 1971-07-13 Ibm Arrangement for automatically selecting units for task executions in data processing systems
US3566363A (en) * 1968-07-11 1971-02-23 Ibm Processor to processor communication in a multiprocessor computer system
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

Also Published As

Publication number Publication date
IE36762L (en) 1971-10-01
DE2115993C2 (de) 1982-11-25
IL36321A0 (en) 1971-06-23
IL36321A (en) 1975-05-22
IE36762B1 (en) 1977-02-16
NL7104318A (nl) 1971-10-05
DE2115993A1 (de) 1971-10-28
NL181892C (nl) 1987-11-16
NL181892B (nl) 1987-06-16
IE36763B1 (en) 1977-02-16
FR2130858A5 (nl) 1972-11-10
GB1353995A (en) 1974-05-22
US3710324A (en) 1973-01-09
CA957778A (en) 1974-11-12

Similar Documents

Publication Publication Date Title
NL8701711A (nl) Gegevensverwerkingssysteem.
US4031512A (en) Communications network for general purpose data communications in a heterogeneous environment
AU637428B2 (en) Apparatus for conditioning priority arbitration
EP0476990B1 (en) Dynamic bus arbitration
CA1325286C (en) Method and apparatus for interfacing a system control unit for a multi-processor system with input/output units
EP0009678B1 (en) Computer input/output apparatus
EP0241129A2 (en) Addressing arrangement for a RAM buffer controller
EP0318221A2 (en) Controlling responding by users of an intercommunications bus
US4041473A (en) Computer input/output control apparatus
JPS60186956A (ja) デジタルデ−タ処理システムの入/出力部のためのバツフア装置
US4443848A (en) Two-level priority circuit
US20080294879A1 (en) Asynchronous Ripple Pipeline
US3919483A (en) Parallel multiplexed loop interface for data transfer and control between data processing systems and subsystems
AU642405B2 (en) Priority apparatus having programmable node dwell time
US4064486A (en) Data communications loop synchronizer
EP0327203A2 (en) NxM arbitrating non-blocking high bandwidth switch
US5828891A (en) Multilevel interrupt device
US20060047754A1 (en) Mailbox interface between processors
JPS58222363A (ja) 共用メモリの割振装置
US4926419A (en) Priority apparatus
US20090055837A1 (en) Real-Time Distributed Processor Environment
EP1132818A2 (en) Multiple processor interface, synchronization, and arbitration scheme using time multiplexed shared memory for real time systems
KR19990071464A (ko) 범용멀티소스인터럽트구성을갖는고체데이터프로세서
US4053947A (en) Method and apparatus for executing sequential data processing instructions in function units of a computer
EP1211603B1 (en) Interface for multi-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
BV The patent application has lapsed