NL8403059A - Polymorfe programmeerbare eenheden, welke meervoudige niveaus van sub-instructiestelsels toepassen en daarbij behorende informatie-overdracht naar perifere apparatuur. - Google Patents
Polymorfe programmeerbare eenheden, welke meervoudige niveaus van sub-instructiestelsels toepassen en daarbij behorende informatie-overdracht naar perifere apparatuur. Download PDFInfo
- Publication number
- NL8403059A NL8403059A NL8403059A NL8403059A NL8403059A NL 8403059 A NL8403059 A NL 8403059A NL 8403059 A NL8403059 A NL 8403059A NL 8403059 A NL8403059 A NL 8403059A NL 8403059 A NL8403059 A NL 8403059A
- Authority
- NL
- Netherlands
- Prior art keywords
- instruction
- memory
- instructions
- register
- control
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/223—Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7896—Modular architectures, e.g. assembled from a number of identical packages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Logic Circuits (AREA)
Description
% -1- 24246/JF/tv
Op basis van de 6 april 1984 gedateerde niet-eenheidsbeschikking van de Aanvraagafdeling van de Nederlandse octrooiaanvrage 70 06 955 afgesplitste octrooiaanvrage.
Korte aanduiding: Polymorfe programmeerbare eenheden, welke meervoudige niveaus van sub-instructiestelsels toepassen en daarbij behorende informatieoverdracht naar perifere apparatuur.
De uitvinding heeft betrekking op een programmeerbare eenheid, welke in staat is verschillende opdrachten uit te voeren, zoals berekeningen en andere informatie verwerkende functies en tevens ingang-uitgang besturing. Meer in het bijzonder heeft de uitvinding betrekking op een 5 dergelijke programmeerbare eenheid, welke meervoudige niveaus van sub-instructie stelsels toepast.
Het computergebruik is dusdanig toegenomen, dat er nu een markt bestaat voor een compleet spectrum van computers voor het uitvoeren van een grote variëteit van computerteken en andere informatie ver-10 werkende toepassingen. Aanvankelijk werd gedacht, dat de zogenaamde grote computersystemen in de eerste plaats geschikt waren voor complexe mathematische programma’s en de kleine informatie verwerkende systemen in de eerste plaats geschikt waren voor zakelijke en boekhoudkundige programma’s, welke betrekkelijk eenvoudige wiskundige operaties omvatten, 15 welke op een grote voorgroepering van informaties worden uitgevoerd. De laatste jaren hebben zakelijke toepassingen een dergelijke omvang aangenomen, dat grote informatie verwerkende systemen vereist zijn, en omgekeerd werden toepassingen gevonden voor middelgrote en kleine informatie verwerkende systemen voor het uitvoeren van wetenschappelijke opdrachten 20 naast het registreren van informatie. Er is daarom een behoefte aan een verscheidenheid van computer verwerkingssystemen, welke reikt van de zeer kleine tot de zeer grote en waarvan ieder niet alleen zakelijke en wetenschappelijke toepassingen kan uitvoeren maar ook de besturing van informatie verzending, informatie verwerking en dergelijke.
25 Terwijl een grote variatie van computer toepassingen gevonden werd, werden verschillende systemen apart aangepast aan deze toepassingen.
Bij situaties, waarin computer problemen van grote omvang een rol speelden, en waarbij vele honderden of duizenden herhaalde stappen vereist werden, werd de nadruk gelegd zowel op snelheid van uitvoering 8403059 -2- 24246/JF/tv als op het aantal informatie bits, dat verwerkt kon worden in een gegeven cyclus van instructie uitvoering. Voor een dergelijke situatie werd een systeem ontworpen voor het verwerken van grote informatie breedten en tevens werden vele van de algorithmische processen, die op de informatie . 5' moeten worden toegepast, direct uitgevoerd in bedrade schakelingen om een grotere snelheid van instructie uitvoering te verkrijgen. In hoofdzaak op grond van deze overwegingen was de grote schaal of wetenschappelijke computer zo kostbaar. Aangezien de markt een minder kostbare computer vroeg, werd een dergelijk computer systeem ontworpen met het oog op de 10 kostenfactor, met als resultaat, dat de betrokken schakelingen en systemen betrekkelijk eenvoudig waren en de verschillende algorithmische bewerkingen werden uitgevoerd door de programmeur. Als resultaat werd de tijd van uitvoering van het programma relatief lang, niet alleen omdat het systeem iedere stap van het programma apart moest uitvoeren, 15 maar ook omdat het systeem ontworpen werd om informatie te verwerken met een relatief kleine breedte om de schakelingen van het systeem goed in stand te houden. Aangezien de ontwerper van beide type systemen twee verschillende wiskundige logische eenheden zou moeten ontwerpen en fabriceren voor de aparte systemen, zou hij het economische voor-20 deel verliezen, dat verkregen zou kunnen worden bij een grote productie van slechts één ontwerptype.
Het bovengenoemde bezwaar is ook inherent aan computer systemen, welke van voldoende grootte zijn, dat de besturing van ingangs-uitgangs-operaties gelijktijdig moeten verlopen met de besturing van rekenkundige 25 en andere logische operaties. Dergelijke aparte ingang-uitgang (input- output, 1-0) besturende eenheden kunnen gelijken op, en zijn soms werkelijke digitale computers voor algemene doeleinden op zichzelf, compleet met een wiskundige eenheid en soms zelfs met een locale opslag. De functie en in verband daarmede het ontwerp van de 1-0 besturende eenheid is echter 30 nog steeds verschillend van die van de computer voor algemene doeleinden, waarmede hij in verband staat.
Een ander bezwaar verbonden aan systemen van verschillend onderwerp is de programmerings-onverenigbaarheid tussen de verschillende systemen. Aangezien enige programma's werden aangebracht in de schakelingen van 35 grotere systemen, was slechts een instructie vereist om te worden opgemaakt ten einde dat programma uit te voeren. In een kleiner systeem zal een veelvoud van dergelijke instructies moeten worden aange- 8403059 •__ ——-^^
V
% -3- 24246/JF/tv bracht om hetzelfde programma uit te voeren. Dit gebrek aan programma-verenigbaarheid was zelfs nog ernstiger tussen systemen, welke werden gebouwd door verschillende maatschappijen, aangezien verschillende ontwerpers verschillende instructieformaten toepasten, welke varieerden in 5 lengte en waarbij tevens verschillende veld-afmetingen binnen het instructieformaat werden toegepast. Om dergelijke verschillen in de "machinetalen" te compenseren, werd een variëteit van verschillende programmerende talen ontwikkeld, waarvan de meest bekende zijn Fortran, Cobol en Algol. Programma's geschreven in dergelijke programmerende talen konden 10 gecodeerd en toegepast worden in verschillende computersystemen; dergelijke programma’s moesten echter eerst worden vertaald in de machi-ne-taal van een bepaald systeem, welke vertaling werd uitgevoerd door een uitvoerprogramma soms een compilator genoemd, en indien een dergelijk uitvoerend programma niet was voorzien voor een bepaalde program-15 meringstaal, dan moest de gebruiker van de computer zijn programma opnieuw schrijven in een taal, waarvoor het systeem wel een compilator had.
Verschillende typen van systemenopbouw werden ontwikkeld om zowel de schakeling- of '‘hardware” onverenigbaarheid als de programmerings- of "software” onverenigbaarheid zoals boven beschreven te verminderen of 20 te miniseren. Hoewel een betere verenigbaarheid werd bereikt binnen bepaalde productlijnen, hebben pogingen om de onverenigbaarheid tussen verschillende programmeringstalen te verminderen in de praktijk alleen maar geleid tot de creatie van nog meer programmeringstalen. Bepaalde opbouwtechnieken, welke toegepast werden bij de bekende stand van de 25 techniek omvatten het ontwerp van modulaire verwerkingseenheden en opslageenheden, waardoor de capaciteit van het systeem kan worden vergroot door het toevoegen van traditionele verwerkingseenheden en de opslagcapaciteit van het systeem kan worden vergroot door het toevoegen van opslageenheden.
Andere technieken omvatten het ontwerp van informatie wegbreedten van ver-30 schillende organen van een productlijn om veelvouden te zijn van een of ander grond eenheidsegment en het aanpassen van het instructieformaat voor de productlijn door deze ook veelvouden van dat grond segment te doen zijn.
Een bijzonder opbouwconcept, dat meer flexibiliteit in het computerontwerp toestond en ook in de computer programmering was het 35 concept van micro-programma’s of micro-instructies. Oorspronkelijk was een micro-instructie slechts een stelsel van besturende bits toegepast binnen een macro-instructie formaat. Dergelijke besturende bits werden toegepast 84 0 3 0 5 9 t - Jff -4- 24246/JF/tv om corrigerende mogelijkheden te verkrijgen gedurende de uitvoering van een meervoudige instructie of verschuivingsinstructie en dergelijke. Dit concept ontwikkelde zich vervolgens tot waar de macro-instructie het bepaalde programma, dat moest worden uitgevoerd specificeerde, zoals de op-5 telling van twee operands, en de uitvoering van de macro-instructies had plaats via een opeenvolging van uitvoeringen van micro-instructies, waarvan ieder de bepaalde poorten specificeerde, welke gesteld moesten worden op de verschillende opeenvolgende tijden. Aangezien een veelvoud van macro-instructies konden worden uitgevoerd door een eindig stelsel van 10 micro-instructies, werd onderkend, dat deze zelfde micro-instructies konden worden opgeslagen in een aparte opslag om te worden geadresseerd in iedere bepaalde volgorde bij de uitvoering van verschillende macro-instructies. Verder werd onderkend, dat verschillende opeenvolgingen van micro-instructies konden worden geformuleerd om bepaalde operaties uit 15 te voeren en apart konden worden opgeslagen in ieder geheugen. Zodoende kon een grote variëteit van opeenvolgingen van micro-instructies gemaakt worden om een grote variëteit van programma’s uit te voeren, en, wanneer een gegeven computersysteem ontworpen werd om bepaalde programma’s uit te voeren, konden alleen de vereiste opeenvolgingen van micro-instructies 20 worden opgeslagen om te worden opgeroepen bij de uitvoering van specifieke bepaalde macro-instructies. Het concept van micro-instructies of micro-programma's werd vervolgens één van sub-instructie stelsels, welke werden gemaskeerd of verborgen voor de programmeur, waardoor het schrijven van bepaalde programma's werd vereenvoudigd door het verminderen van het aan-25 tal aparte specifieke stappen, welke de programmeur moest verrichten. Het concept van micro-programmering stond de computer ontwerper het ontwerpen van minder kostbare computersystemen toe, welke aan de computer gebruiker een grote variatie van programma's verschaften, zonder de noodzaak, dat apart functies werden aangebracht in de bedradingen en de schakelingen.
30 Terwijl dit concept van opeenvolgingen van micro-instructies op opeenvolgingen van sub-instructies diende om de programmeur grotere eenvoud bij de programmaformulering te verschaffen en tevens diende om de computer ontwerper een grotere flexibiliteit en meer variatiemogelijkheden te geven bij het voldoen aan de vereisten van bepaalde systeemopbouw, 35 heeft de bestaande stand van de techniek tot nog toe niet voldaan aan het verkrijgen van verenigbaarheid tussen verschillende orgaansystemen van een productlijn en programma-verenigbaarheid zowel tussen verschillende 8403059 H ^ -f -5- 24246/JF/tv programmerende talen als tussen de machinetalen van de verschillende systemen.
Een doelstelling van de uitvinding is zodoende het verschaffen van een verbeterde programmeerbare eenheid, waarvan de functionele 5 bekwaamheden snel kunnen worden gewijzigd gedurende de werking van de eenheid.
Een andere doelstelling van de uitvinding is het verschaffen van een verbeterde programmeerbare eenheid, welke dynamisch kan worden gewijzigd gedurende zijn werking om programma's uit te voeren, welke 10 geschreven zijn in een andere programmataal.
Nog een doelstelling van de uitvinding is het verschaffen van een verbeterde programmeerbare eenheid, welke snel kan worden gewijzigd gedurende zijn werking om opeenvolgingen van rekenkundige instructies uit te voeren of om opeenvolgingen van besturende instructies uit te 15 voeren voor ingang-uitgang informatie-overdrachten.
Nog een andere doelstelling van de uitvinding is het verschaffen van een verbeterde programmeerbare eenheid, welke dynamisch kan worden gewijzigd van een computer werkwijze naar een ingang-uitgang besturende werkwijze zonder de vereiste, dat aparte schakelingen voor iedere 20 werkwijze aanwezig zijn.
Weer een andere doelstelling van de uitvinding is het verschaffen van een verbeterde programmeerbare eenheid, waarvan een veelvoud kan worden toegepast in een computerreeks of combinatie om verschillende rekenkundige en informatie verwerkende operaties uit te voeren zon-25 der dat enige speciale aanpassing wordt aangebracht aan de eenheden van de reeks of combinatie.
Alsnog een doelstelling van de uitvinding is het verschaffen van een verbeterde programmeerbare eenheid met een uit te breiden aan- i tal functionele logische eenheden om een variëteit van logische operaties 30 uit te voeren onder de besturing van sub-instructie stelsels.
Tevens is een doelstelling van de uitvinding het verschaffen j van een verbeterde programmeerbare eenheid met een opbouwontwerp, dat kan worden toegepast in een verscheidenheid van dergelijke eenheden met verschillende rekenkundige capaciteiten en vermogens.
35 Het aanpassingsvermogen verkregen door micro-programmering, dat is de toepassing van een enkel niveau van sub-instructie stelsels, is nog niet voldoende voor het bereiken van de boven genoemde doelstellingen 8 4 0 3 0 c 9 * -¾ -6- 24246/JF/tv van de uitvinding. Ten einde de bovengenoemde doelstellingen te verwezenlijken past de uitvinding niet alleen een eerste niveau van sub-instruc-tie stelsels toe, welke hierna M instructies worden genoemd, maar wordt teven een tweede niveau van sub-instructie stelsels toegepast, welke 5 hierna N instructies worden genoemd. De macro-instructies of systeem-instructies zullen S instructies worden genoemd. In zekere zin kan de uitvoering van de N instructies worden beschouwd als een decodeerder voor de M instructies, welke gecodeerd zijn en niet alleen maar besturende signalen zijn. De N instructies kunnen geschikte combinaties van 10 bepaalde vereiste besturende signalen zijn of kunnen ook gecodeerde signalen zijn. Zodoende verschaft de uitvoering van een tweede niveau van sub-instructie stelsels οΓλΝ instructie stelsels een additionele orde van flexibiliteit bij hetgeen werd verschaft door de micro-program-meringstechnieken volgens de bekende stand van de techniek.
15 Aangezien het systeem van de uitvinding alle algorithmen kan uitvoeren onder de besturing van meervoudige niveaus van instructie stelsels, behoeven geen speciale schakelingen te worden aangebracht voor specifieke algorithmen maar slechts de Booleaanse grondverbinding-en. Zodoende past de uitvinding zichzelf aan voor de toepassing van 20 veelvoudige identieke logische eenheden op parallelle wijze geschakeld, welk veelvoud te wijzigen is van een computersysteem naar een ander met een andere informatie wegbreedte zonder enige modificatie van de logische grondeenheid. Dit is mogelijk gemaakt door de veelzijdigheid, welke door de uitvinding wordt verkregen, waarbij verschillende algorithmen 25 kunnen worden uitgevoerd door verschillende reeksen van M instructies, en waarbij zodoende de N instructies, welke de besturende signalen bepalen onafhankelijk kunnen zijn van het type algorithme, dat moet worden uitgevoerd.
Bovendien omvat de uitvinding een serie programmeerbare 30 eenheden, welke apart zijn geprogrammeerd en identiek in vorm en schakeling zijn, waarbij iedere eenheid dynamisch te wijzigen is door verandering van de M instructie stelsels om te werken op' een informatie verwerkende wijze of op een ingang-uitgang besturende wijze.
Een bijzondere eigenschap van de uitvinding is gelegen in 35 een programmeerbaar systeem en de methoden volgens welke het systeem werkt, waarbij voorzieningen zijn getroffen voor de opslag van verschillende opeenvolgingen van instructies, welke worden geselecteerd van een 84030c; 5 χ -7- 24246/JF/tv eerste niveau van sub-instructie stelsels en waarbij voorzieningen zijn getroffen voor het decoderen of uitvoeren van dergelijke eerste niveau sub-instructies door instructies* welke worden geselecteerd uit een tweede niveau van sub-instructie stelsels, en waarbij de bepaalde op-5 eenvolgingen van eerste niveau sub-instructies worden geselecteerd of geadresseerd in overeenstemming met de informatieinhoud van een instructie, welke wordt geselecteerd uit het stelsel van instructies van hoger niveau. Een bijzondere eigenschap van de uitvinding is gelegen in de middelen voor het adresseren en selecteren van de bepaalde 10 tweede niveau sub-instructies op een overlappende wijze om de uitvoering aan te passen van geconditioneerde eerste niveau sub-instructies gedurende een bepaalde tijdsperiode.
Een bijzondere eigenschap van de uitvinding is gelegen in een programmeerbare eenheid en methode voor het doen werken van deze 15 eenheid, waarin aparte opeenvolgingen van eerste niveau sub-instructies worden toegepast voor het besturen van de werking van de eenheid op verschillende wijzen, zoals een verwerkende wijze en een ingang-uitgang besturende wijze, welke opeenvolgingen kunnen worden geadresseerd en geselecteerd in overeenstemming met specifieke instructies van hoger niveau.
20 Een andere bijzondere eigenschap van de uitvinding is ge legen in een programmeerbare eenheid en een methode om deze eenheid te doen werken, waarin bepaalde verschillende opeenvolgingen van eerste niveau sub-instructies worden verkregen voor de uitvoering van hogere niveau instructies, uitgedrukt in verschillende programma-taalvormen, 25 welke specifieke opeenvolgingen van eerste niveau sub-instructies kunnen worden geselecteerd volgens de bepaalde taalvorm van het stelsel van de hogere niveau instructies.
Een andere bijzondere eigenschap van de uitvinding is gelegen in een programmeerbare eenheid met rekenkundige en logische schake-30 lingen bestaande uit een veelvoud van modulaire logische eenheden, welke worden geactiveerd onder de besturing van twee niveaus van sub-instructies.
De bovengenoemde en andere doelstellingen, voordelen en bijzondere eigenschappen van de uitvinding zullen duidelijk worden uit 35 de volgende beschrijving aan de hand van de bijgaande tekeningen.
Fig. 1A toont een programmeerbare eenheid volgens de uitvinding.
84 0 3 0 5-9 l - --- * * -8- 24246/JF/tv
Figuur 1B toont een opstelling van programmeerbare eenheden volgens de uitvinding.
Figuur 2 toont schematisch het besturende gedeelte en de rekenkundige logische eenheid volgens de uitvinding.
5 Figuur 3 toont gedetailleerd de rekenkundige logische een heid volgens de uitvinding.
Figuur 4 toont een alternatieve uitvoeringsvorm van de rekenkundige logische eenheid.
De figuren 5-11 tonen schematisch verschillende logische 10 schakelingen volgens de uitvinding.
Figuur 12 toont schematische de geheugentussenlaag.
De figuren 13 - 16 tonen de formaten van verschillende instructies, die worden toegepast in de uitvinding.
Figuur 17 toont schematisch de tweede niveau sub-instruc-15 tie decodeerder.
Figuur 18 toont schematisch de eerste niveau sub-instruc-tie decodeerder.
Figuur 19 toont een tabel van N besturende signalen van de fase 2 en 3 besturende velden van de N instructie.
20 Figuur 20 toont een tabel van N besturende signalen van het fase 3 besturende veld van de N instructie.
De figuren 21 - 23 tonen stelsels van tijddiagrammen, welke instructie voor overlapuitvoering aangeven.
De figuren 24 en 25 tonen M instructie opeenvolgingen, welke 25 in de uitvinding kunnen worden toegepast.
Bepaalde termen worden in de volgende beschrijving vaak toegepast en begrepen dient te worden, dat deze termen moeten worden uitge-lêgd. in overeenstemming met de volgende definities.
Programma taalvorm is ieder formaat, dat gecodeerd kan wor-30 den in binaire signalen, welk formaat kan worden toegepast door een programmeur of gebruiker van een computer zonder enige kennis van de schakelingen in een specifiek verwerkingssysteem.
S instructie is een instructie, welke informatie bevat, die een programma of een proces specificeert, dat moet worden uitgevoerd 35 op informatiestelsels. Een S instructie is vergelijkbaar met een macro- 8 4 0 3 0 5 9 4 £ -9- 24246/JF/tv instructie of machinetaal instructie volgens de bekende stand van de techniek.
M instructie is een instructie, welke informatie bevat, die een operationeel commando specificeert, dat moet worden uitgevoerd 5 in een verwerkingssysteem, waarbij één of meer van dergelijke operaties vereist izjn om een proces uit te voeren waarom gevraagd is door de S instructie. Een M instructie is vergelijkbaar met een micro-instruc-tie, die werd toegepast volgens de bekende stand van de techniek.
N instructie is een instructie, welke informatie bevat, 10 die bepaalde besturende signalen specificeert, welke moeten worden toegepast binnen het verwerkingssysteem om de uitvoering van een M instructie te activeren. Een of meer N instructies kunnen vereist zijn om een M instructie uit te voeren.
Concepten van micro-programmering volgens de bekende stand 15 van de techniek verschaften twee grond voordelen. Ten eerste wordt de programmeur ontlast van het moeten specificeren van de aparte stappen, die vereist zijn om een gegeven operatie te volvöéren, welke stappen worden gespecificeerd door de reeks van micro-instructies, waarom gevraagd wordt door de macro-instructie. Ten tweede wordt de computer ont-20 werper ontlast van de vereisteom speciale schakelingen aan te brengen, welke iedere speciale functie uitvoeren, welke het systeem moet verschaffen. Verder kan het ontworpen systeem een groter aantal reeksen operaties uitvoeren met een gegeven instructie formaat, aangezien de operatiecode van het instructie formaat niet langer vereist is om de bepaalde machine 25 operaties te specificeren.
De uitvinding past drie gescheiden systemen toe als een enkel systeem: namelijk het S systeem, het M systeem en het N systeem.
Ieder systeem gebruikt op zijn beurt zijn eigen geheugen en zijn eigen instructie decodeerder. Het rooster van N instructies staat normaal vast 30 maar kan worden aangepast om te kunnen worden gewijzigd. Het rooster van M instructies kan dynamisch worden gewijzigd gedurende de normale werking van het systeem. Ieder uniek stelsel van M instructies definieert een bepaald vertalend vermogen voor een bepaald stelsel van S instructies.
Iedere S instructie kan een complete algorithme specificeren, waarvan de 35 stappen worden gedefinieerd door een reeks van M instructies. De S in- 8403059 I ·© -10- 24246/JF/tv structie is het equivalent van de macro-instructie of machinetaal instructie volgens de bekende stand van de techniek. Volgens de uitvinding wordt echter geen bepaald stelsel van S instructies inherent vereist en zodoende kan een veelvoud van verschillende stelsels van S instructies wor-5 den toegepast, omvattende stelsels van S instructies, welke geschreven zijn in overeenstemming met verschillende programmerende talen. Verder wordt het stelsel van commando's tot bestuurde ingang-uitgang informa-tie-overdracht uitgevoerd door een bepaald stelsel van S instructies. Ieder stelsel van S instructies wordt in het systeem volgens de uitvinding ge-10 interpreteerd door een respectievelijk gescheiden stelsel van M instructies, waarvan ieder op zijn beurt wordt uitgevoerd door het rooster van N instructies.
De wijze, waarop de uitvinding wordt uitgevoerd zal beter worden begrepen uit een beschouwing van de tekeningen. In figuur 1A is 15 de basisinrichting van een programmeerbare eenheid volgens de uitvinding aangegeven. De programmeerbare eenheid bestaat uit twee basissecties, namelijk een rekenkundige logische eenheid (arithmetic logic unit) of ALU en een besturende sectie. Geheugen 20 wordt aangegeven als zijnde verdeeld in drie secties, namelijk het basisgeheugen 20A, het micro-20 programmageheugen 20B en het N geheugen 20C. Het basisgeheugen 20A zal van het normale uitwissend lezen (destructive readout) of DRO type ge-geheugen zijn, normaal toegepast in informatie verwerkende systemen als de opslageenheid. Het MP geheugen 20B is normaal van het niet-uitwissend lezen type (non-destructive readout) of NDRO type geheugen. Het n geheu-25 gen 20C is bij voorkeur van het NDRO type, maar kan een alleen leesge-heugen (read only memory) type of ROM zijn. Alle drie geheugens kunnen van het magnetische dunne filmtype of vaste stof geheugen type zijn; het N geheugen 20C zal echter inherent van het type moeten zijn met de snelste geheugencyclus. Het systeem volgens figuur 1A wordt gecomple-30 teerd door een veelvoud van ingang-uitgang inrichtingen 9, welke zijn gekoppeld met het basisgeheugen 20A door een schakeleenheid 8 onder de besturing van programmeerbare eenheid 10.
Voordat een gedetailleerde beschrijving van de programmeerbare eenheid 10 wordt gegeven, zal een bepaalde toepassing van een derge-35 lijke programmeerbare eenheid worden beschreven aan de hand van figuur 1B
8403059 > i -11- 24246/JF/tv om de veelzijdigheid van de uitvinding te illustreren. In figuur 1B zijn een veelvoud van programmeerbare eenheden 11, ...» 14 verbonden in * een reeks via schakelend synchronisatie-orgaan 15, dat ook de geheugen-eenheden 21, 22 en 23 verbindt evenals een veelvoud van ingang-uitgang 5 inrichtingen 9, welke zijn gekoppeld met de reeks van schakelende eenheden 8. De respectievelijke programmeerbare eenheden 11, . . . 14 zijn van het type, dat als programmeerbare eenheid 10 is aangegeven in figuur IA en zijn geschikt om in verschillende manieren te worden geplaatst in overeenstemming met de uitvinding. Zodoende kunnen de eenheden 11 en 12 10 zoals aangegeven in de tabel bij figuur 1B, worden geplaatst in een ingang-uitgang besturende wijze gedurende een bepaalde taakperiode terwijl de eenheden 13 en 14 op een verwerkende wijze zouden werken. In een latere taakperiode wanneer geen ingang-uitgang operaties vereist zijn, zouden alle vier eenheden kunnen worden geplaatst in een verwerkende wijze.
15 In een nog latere taakperiode, wanneer weer ingang-uitgang operaties vereist zijn, zal één van de eenheden van de reeks zoals eenheid 13 kunnen worden geplaatst in"een ingang-uitgang besturende wijze. Het doel van de tabel bij figuur 1B is slechts om aan te geven, dat iedere of alle pro-grammeerbare eenheden kunnen worden geplaatst in hetzij een ingang-uit-20 gang besturende wijze of in een verwerkende wijze overeenkomstig de vereisten van de toepassing van de reeks van figuur 1B.
In figuur 2 zijn de hoofdregisters en informatiewegen van ! zowel de besturende sectie als de rekenkundige logische eenheid van de programmeerbare eenheid volgens de uitvinding aangegeven. De ALU omvat 25 logische eenheid 30, welke onder andere dient als de opteller, cylinder schakelaar (barrel switch) 31, A registers 32, B register 33 en ware-valse poorten (true-false gates) 34.
B register 33 is de eerste tussenlaag tussen de programmeerbare eenheid van de uitvinding en het basisgeheugen. Dit register 30 dient tevens als de tweede ingang naar opteller 30 en heeft bepaalde secundaire functies, welke verband houden met de rekenkundige operaties.
De ware-valse poorten 34 dienen om de ware inhouden van het B register 33 te verschaffen of om de complenent enen (one's complement) van de inhouden van het register 33 te verschaffen.
35 De A register 32 zijn drie functioneel identieke registers.
8 4 0 3 ö ~ 9 I « -12- 24246/JF/tv
Ieder van de A registers wordt als een tijdelijke informatie-opslag gebruikt binnen een ALU en dient als een primaire ingang naar de opteller 30. Ieder van de A registers wordt geladen vanuit de uitgang van de cy-linderschakelaars 31.
5 De besturende eenheid van de programmeerbare eenheid van de uitvinding omvat drie basis sectiesj namelijk een sectie voor het verschaffen van een tussenlaag tussen de ALU en het geheugen en periphere of hulpinrichtingen, een sectie om het decoderen van M instructies te be-handelen en een sectie voor het ontvangen en het verzenden van de N in-10 structie besturende signalen.
De uitgang van de ALU komt van de cylinderschakelaar 31 en kan worden toegevoerd aan de tussenlaag poorten 48, de basisregisters 45 en 46 en het geheugeninformatieregister (memory information register MIR) 47 evenals naar het alternatieve micro-programma telregister (alter-15 nate microprogram count register AMPCR) 41. De uitgang van de cylinderschakelaar 31 kan ook worden toegevoerd aan het verschuifhoeveelheid-register (shift amount register SAR) 44.
Tussenlaag poort 48 dient om adressen en andere informatie te ontvangen voor transport, hetzij naar het geheugenadresregister 20 (memory address register MAR) 49 of naar teller 50. Register basis register (RBR) 45 bevat het basisadres van een 256 woordblok van het basisgeheugen. De inhoud van dit register is aaneengeschakeld met MAR 49 om een absoluut geheugenadres te vormen. Basisregister 2 (BR2) 46 staat in verband met RBR 45 en kan het basisadres van een 256 woordblok van het 25 basisgeheugen bevatten of het meest belangrijke gedeelte van een inrich-tingadres. Evenals de inhoud van RBR 45 is de inhoud van BR2 46 aaneengeschakeld met de inhoud van MAR 49 om een absoluut geheugenadres of een inrichtingadres te vormen. Geheugeninformatieregister (memory information register MIR) 47 wordt gebruikt als informatiebuffer van informatie, 30 welke wordt geschreven naar het basisgeheugen of naar een inrichting.
Dit register wordt geladen vanuit de uitgang van cylinderschakelaars (barrel switches) 31.
De inhoud van de micro-instructie wordt ontvangen door de micro-instructie decodeerder 40 om het N geheugen te adresseren en om te 35 worden overgedragen aan het letterregister 51, verschuivingshoeveelheid- 8 4 0 3 G o 3 * £ -13- 24246/JF/tv register (shift amount register SAR) 44 en naar het afwisselend micro-programma telregister (alternate microprogram count register AMPCR) 41. Letterregister 51 wordt gebruikt als een tijdelijke opslag voor letters in de M instructies, welke gebruikt moeten worden als ingangen naar de 5 opteller 30, het telregister 50 of naar het geheugenadresregister 49-Het verschuivingshoeveelheidregister 44 bewaart de verschuivingshoe-veelheid telling of het woordlengtecomplement daarvan, dat moet worden toegepast bij de besturing van het aantal bits, waardoor informatie wordt verschoven in de cylinderschakelaars 31. Het afwisselend micro-10 programmatelregister 41 bevat het sprong- of terugzendadres (jump or return address) voor programmasprongen en sub-programmaterugzendingen binnen de M programma's. Het adres in dit register is gebruikelijke één minder dan de positie van terugzending. Dit register kan worden geladen uit het micro-programmatelregister 42, uit de cylinderomschakeluitgang 15 of uit de M instructiedecodeerder 40. Het microprogrammatelregister (micro program count register MPCR) 42 staat met dit register in verband en is de instructieadresteller voor het M geheugen. Het bevat gewoonlijk het lopende M instructieadres.
De N instructiedecodering wordt uitgevoerd door de test logische 20 schakeling 53 en het commandoregister 52. De functies van deze laatste schakelingen zullen meer uitvoerig worden beschreven. Een opmerking op dit punt zal echter zijn, dat de testlogische schakeling 53 informatie omvat van het conditieregister 54, waarvan de inhoud een stelsel van testbare bits is, dat dient als foutindicator, onderbrekers, 25 locale en globale Booleaanse variabelen en uitsluitindicators. Deze verschillende conditieregisterbits zullen later zorgvuldig worden beschreven.
Voordat de formaten van de M en N instructies worden be- j schreven, zal nu een beschrijving van de principeoperaties, welke moe-30 ten worden uitgevoerd binnen de programmeerbare eenheid worden gegeven.
Begrepen dient te worden, dat de operaties, welke worden uitgevoerd binnen de programmeerbare eenheid, worden ingeleid door de M instructies.
De geheugen- en inrichtingoperaties worden gebruikt om informatie over te dragen tussen de programmeerbare eenheid en het geheugen 35 of één of andere hulpinrichting. De programmeerbare eenheid is ver- 8 4 0 3 0 ö 9 -14- 24246/JF/tv i *« bonden met de geheugenmodulen en inrichtingen via een schakelend syn-chronisatieorgaan (switch interlock) door twee-richting hoofdaders. Geheugen- en inrichtingadressen worden gevonden van het programmeerbare eenheden geheugenadresregister (programmable units memory address re-5 gister MAR) naar het schakelende synchronisatieorgaan en na doorverbinding naar het geselecteerde geheugen of toestel. De van een geheugen of inrichting ontvangen informatie wordt geplaatst in het B register door het B register te verwijzen naar de uitwendige informatie hoofdader. Informatie, welke wordt gezonden naar het geheugen of de inrichting, 10 wordt gezonden door middel van het geheugeninformatieregister (memory information register MIR). Iedere geheugen- of inrichtingoperatie wordt ingeleid in de eerste klokperiode van de M instructie en parallel voortgezet met daaruit volgende M instructieuitvoeringen. Zodoende kunnen de geheugen- en inrichtingoperaties geheel worden overlapt door 15 logische eenheidoperaties. De geheugen, inrichting en stelsel operaties, als groep, kunnen worden gespecificeerd als hetzij conditioneel of onconditioneel binnen iedere M instructie. De specifieke geheugen- en inrichtingoperaties zullen hierna meer in het bijzonder worden beschreven.
Iedere M instructie kan precies een logische operatie be-20 vatten. Deze operaties omvatten binaire Booleaanse operaties tussen de A en B en tussen de B en Z ingangen naar de ALU en de meeste binaire Booleaanse operaties tussen Z en A. Er zijn ook verscheidene drievoudige Booleaanse operaties tussen alle drie ingangen en werkelijke optel (true add) operaties tussen ieder paar ingangen. De logische vorm van 25 de verschillende Booleaanse operaties of Booleaanse verbinding zijn aangegeven in de tabel van figuur 19.
De ware opteloperaties voeren complementaire tweeën (two's complement) optelling uit tussen de A en B ingangen naar de ALU. Dezelfde operaties kunnen beschikbaar worden gemaakt tussen B en Z ingan-30 gen en tussen Z en A ingangen, indien gewenst. De uiteindelijke uitvoering van de meest belangrijke stand van de ALU is beschikbaar om te worden getest op de volgende M instructie en wordt ook gespaard in de overloop (overflow) bit van het conditieregister voor latere controle.
De ALU bestaat uit een veelvoud van basis logische een-35 heden overeenkomstig met de informatie wegbreedte, welke is gekozen 8403059 S- *, -15- 24246/JF/tv voor een bepaalde programmeerbare eenheid. Het aantal bits in een basis eenheid is acht gekozen. Opteloperatie-variatie ontstaat uit de keuze van overdrachten naar iedere acht-bitgroep. Voor iedere acht-bitgroep kan de logische eenheid worden bedraad, zodat het inbrengen of het uit-5 brengen van de onmiddellijk rechts gelegen groep is of een constante.
Deze keuze kan niet worden gewijzigd door het programma. Het inbrengen echter kan worden toegestaan of verboden door het programma. De gebruikte--configuratie heeft alle behalve de meest rechtse acht-bitgroep, welke zijn inbrengen ontvangt van de groep aan de rechterkant. De meest recht-10 se groepen hebben een constante één-inbreng. De overdracht stelt alle in staat maar de meest rechtse groep wordt samen gespecificeerd met de ene inbreng naar de minst betekenende positie, welke apart wordt gespecificeerd.
Er zijn vier cylinder-schakelaaroperatiès (barrel switch 15 operations), welke kunnen worden gespecificeerd en één moet worden gespecificeerd. Deze operaties zijn: niet verschuiven, de hoeveelheid in de SAR naar rechts rond verschuiven, de hoeveelheid in de SAR naar rechts tot het einde verschuiven, de complement tweeën (two’s complément) van de hoeveelheid in de SAR naar links tot het einde verschuiven.
20 Een ander type operatie, welke wordt uitgevoerd onder de besturing van M instructies zijn de steloperaties (set operations), welke worden toegepast om andere programmeerbare eenheden in een reeks van dergelijke eenheden te interrupperen, kritische secties van een dergelijke reeks uit te sluiten en aan te sluiten, en locale conditie-bits te stel-25 len. Bovendien bevatten de M instructies verschillende typen van informatie, welke meer nauwkeurig zullen worden besproken in verband met het formaat van de M instructie en andere instructies.
Er zijn vier bronnen van besturende informatie aanwezig in de programmeerbare eenheid volgens de uitvinding. Deze omvatten de drie 30 instructie-niveaus, namelijk de S instructie, de M instructie en de N instructie en omvatten tevens een stelsel van conditionele bits, welke geplaatst zijn in het conditieregister 54, zoals aangegeven in figuur 3.
Deze informatiebronnen zullen nu worden beschreven.
Aan de hand van figuur 13 zal een type S instructie-formaat 35 worden beschreven. Begrepen dient te worden, dat geen enkelvoudig 8403059 -16- 24246/JF/tv
s V
\ S instructie-formaat de voorkeur raag hebben in de uitvinding. Zodoende kan een variëteit van instructie-formaten worden toegepast, waarbij de enige vereiste is, dat bepaalde reeksen van M instructies in het M ge-geheugen zijn aangebracht om ieder bepaald stelsel van S instructies te 5 decoderen of uit te leggen. Verder dient te worden begrepen, dat een veelvoud van dergelijke M instructiereeksen aanwezig zijn in het M geheugen.
De speciale instructie-formaten, aangegeven in de figuren 13A, 13B en 13C, zijn geschikt voor de besturing van ingang-uitgang 10 informatie-overdrachten: begrepen dient echter te worden, dat deze instructie-formaten ook kunnen worden toegepast voor het specificeren van programma's, die moeten worden uitgevoerd binnen de programmeerbare eenheid volgens de uitvinding.
De ingang-uitgang beschrijver van figuur 13 omvat 96 bits, 15 gerangschikt in drie segmenten. Het operatiesegment van figuur 13A is verdeeld in twee velden. Veld I specificeert de uit te voeren operatie terwijl veld II gebruikt kan worden om het adres van de hulpinrichting te specificeren of de speciale geheugenmodule, waarnaar of waarvan informatie moet worden overgedragen. Veld III van figuur 13B is een teken 20. van 8 bits, dat gebruikt kan worden als een vergelijkingsteken om een informatie-overdracht te beëindigen. Veld IV bestaat uit een teller, welke het aantal informatiesegmenten, dat moet worden overgedragen, specificeert en welke telling moet worden verminderd met één en moet worden onderzocht op nul na iedere informatie-overdracht. Veld V is een 25 stelsel van besturende bits, zoals vlaggen, welke kunnen worden toegepast om de informatie-overdracht te wijzigen of om verschillende condities te specificeren. Veld VI is een instructieteller, welke het absolute adres specificeert, waarvan de volgende beschrijver-operatie moet worden verkregen. Veld VII van het besturende II-segment van figuur 30 13C wordt gebruikt om het adres in het geheugen te specificeren, waar naar of waarvan de informatie wordt overgedragen. Veld VII kan worden verdeeld in sub-velden om bijvoorbeeld een basis-adres en een relatieve adrespositie te specificeren. In het besturend II-segment wordt bit 64 toegepast om te specificeren, dat het lopende kanaal, waarvan de opera-35 tie wordt bestuurd door de beschrijver bezig is, en bit 65 wordt toege- 8403059 > m » -17- 24246/JF/tv past om de lopende beschrijver te verbieden een nieuwe 1-0 volgorde op een ander kanaal te laten beginnen en bit 95 is een pariteit bit.
De instructie-formaten van figuur 13 zoals boven beschreven, kunnen worden gebruikt om informatie te bevatten, welke vereist is 5 voor een speciale kanaaloperatie, waaronder de voorziening voor het adreseren van een nieuw stelsel van beschrijver-instructies voor het doen aanvangen van een nieuwe operatie op dat kanaal, wanneer de lopende operatie volbracht is. Terwijl het instructie-formaat van figuur 13 beschreven werd in verband met een 1-0 beschrijver, kan dit formaat ook 10 worden gebruikt voor andere programma's. In ieder geval wordt dit be-schrijver-formaat toegepast door de programmeerbare eenheid volgens de uitvinding door de ontvangst van veld I door het B register 33 van de rekenkudnige logische eenheid van figuur 3, waarvan dit veld wordt overgedragen via opteller 30 en de cilinder-schakelaars 31 naar de AMPCR 41 15 om te dienen voor het adresseren van het M geheugen. Op dat adres wordt een nieuw adres- gevonden en uitgelezen naar de micro-instructiedecodeerder 40 van figuur 3, welk adres de beginnende locatie specificeert van de volgorde van M instructies, welke vereist zijn om de aldus gedecodeerde S instructie uit te voeren.
20 Nadat nu beschreven is hoe een S instructie wordt gedeco deerd om een volgorde van M instructies te verkrijgen, welke de S instructie uitvoeren, zullen nu de M instructie-formaten worden beschreven aan de hand van figuur 14.
✓ * 1
Iedere M instructie vereist een zestien bitwoord van op- j 25 slag in het micro-programmageheugen of M geheugen. Er zijn twee typen M instructies, welke ieder verschillend gedecodeerd worden door de M j instructies. Het eerste type van M instructies specificeert ten minste j één van zes functies: een conditie, een logische eenheid operatie, een | geheugen of inrichtingoperatie, een ware opvolger (true successor), 30 een valse opvolger (false successor) en letters binnen de instructie.
De conditie en de opvolgers moeten aanwezig zijn in iedere M instructie; de andere functies zijn echter naar keuze, maar alle kunnen aanwezig zijn in dezelfde instructie. Een tweede type M instructie bevat slechts instructie-letters.
35 Het eerste type M instructie is aangegeven door het formaat 8403059 -18-. 24246/JF/tv s 5 van figuur 14A. In dit formaat is de nul-bit EEN en de overblijvende bits specificeren een N geheugenadres, alwaar de geëigende N instructie gevonden kan worden, welke de operatie en conditie besturende bits bevat, welke zijn gespecificeerd door dit eerste type M instructie.
5 Het tweede type M instructie wordt vertegenwoordigd door de formaten van de figuren 14B en 14C. In figuur 14B zijn de eerste drie belangrijke bits alle NULLEN, welke aangeven, dat de overblijvende bits 3-15 een M geheugenadres zijn, dat moet worden overgedragen naar AMPCR 41 van figuur 2. Indien één van de bits 1 en 2 een EEN is en bit 10 nul is een NUL, dat is het formaat, zoals aangegeven in figuur 14C, waarin bits 3-7 een SAR inhoudveld vertegenwoordigen, wanneer bit 3 een EEN is en bits 9-15 vertegenwoordigen een letterveld, wanneer bit 2 een EEN is. Bit 8 kan in hetzij, het SAR inhoudveld zijn of in het letterveld, indien beide niet worden gespecificeerd; wanneer bits 2 en 3 15 echter beide een EEN zijn, dan wordt bit 8 beschouwd een gedeelte van het SAR inhoudveld. te zijn.
Er zijn zestien testbare condities, waarvan exact één moet worden getest voor iedere M instructie. Indien de test succesvol is, wordt de gehele instructie uitgevoerd en de ware opvolger wordt genomen 20 als het volgende instructie-adres. Indien de test faalt, zullen alleen de onvoorwaardelijke gedeelten van de instructie worden uitgevoerd en de valse opvolger zal worden genomen als het volgende instructie-adres.
De zestien condities, welke getest kunnen worden, omvatten de twaalf * conditie-registerbits en vier andere condities, welke zijn: overloop, 25 exclusieve OF, meest en minst betekenende bituitgangen van de opteller op de voorgaande M instructie.
De logische eenheid-operaties, welke door de M instructies gespecificeerd worden omvatten de selectie van de ingangen naar de opteller, de opteloperatie, de cilinder-schakelaaroperatie, en de 30 specificatie van de bestemming voor de uitgangen van de opteller en cilinder-schakelaar, waarvan de bestemming hetzij in de ALU of in de besturende eenheid kan zijn. De besturingen voor het letter, teller en verschuivings-hoeveelheid-register en besturingen om reeds op gang zijnde instructies te wijzigen, zijn ook aanwezig in deze groep.
35 De specifieke rekenkundige en logische operaties evenals 8403059 -19- 24246/JF/tv
5 V
geheugen- en inrichtingoperaties en steloperaties werden boven besproken in een sectie over Operaties Onder de Besturing van M Instructies. Terwijl deze algemene operaties hier niet zullen worden herhaald, zijn er bepaalde specifieke functies, welke onder de besturing van de M instruc-5 ties zijn, welke moeten worden beschreven. Hieronder zijn de verzending van informatie-segmenten niet alleen naar de A en B registers van de ALU, maar ook naar dergelijke ver afgelegen bestemmingen als de AMPCR 41, de MIR 47, de RBR 45, teller 50 en MAR 49 zoals aangegeven in figuur 3.
De M instructies besturen ook de overdracht van de inhoud van letter-10 register 51 naar teller-register 50 en toevoegingen aan teller-register 51. Indien de toevoegingen aan teller 50 veroorzaken, dat de teller overloopt en wordt teruggesteld naar een totale nulstand, dan wordt het tel-ler-overloopbit van conditieregister 54 gesteld. Deze verzendfuncties worden uitgevoerd door de juiste M instructies te adresseren, welke 15 de vereiste besturende signalen bevatten.
Binnen iedere M instructie moet de inhoud van de SAR 44 worden gespecificeerd als één van de volgende keuzen: dezelfde als de inhoud van de voorgaande instructie, het woordlengte-complement van de inhoud van de voorgaande instructie,. de waarde van de meest rechtse zes 20 bituitgang van de cilindersehakelaars 31 op de voorgaande instructie, of een letterwaarde van de M instructie. Op deze specificatie wordt gereageerd voordat de verschuiving plaats heeft in de cilindersehakelaars 31 in plaats van daarna.
De M instructie laat ook twee vervangingsoperaties toe, 25 welke gedeeltelijk uitgevoerde instructies kunnen wijzigen. Deze operaties hangen af van de conditietest en omvatten de vervanging van de bestemming of een vervanging van de instructie. In het geval van een vervangende bestemmingsoperatie kan een succesvolle conditietest de voorgaande instructie completeren, indien de conditietest echter faalt, dan 30 werkt de lopende instructie als een nuloperatie. In het geval van een vervangende instructieoperatie, waarbij de conditietest succesvol is, wordt de voorgaande instructie afgebroken na één klok en wordt de lopende operatie uitgevoerd; wanneer echter de conditietest faalt, dan werkt de lopende instructie als een nuloperatie.
35 Er zijn twaalf geheugen- en inrichtingsoperaties, welke 8403059 * s -20- 24246/JF/tv ieder kunnen worden ingeleid door een gegeven M instructie. Deze operaties omvatten: sluit de inrichting voor lezen, sluit de inrichting voor schrijven, ontsluit het geheugen of inrichting, welke gereserveerd is voor lezen, ontsluit het geheugen of inrichting, welke gereserveerd is 5 voor schrijven, lees (wanneer een inrichting reeds gesloten was voor lezen), schrijf (wanneer een inrichting reeds gesloten was voor schrijven), register lezen, register schrijven, en het stapelen van AMPCR in M geheugen.
Zoals boven werd aangegeven, moet iedere M instructie het 10 volgende M instructie-adres of opvolger in het M geheugen op één of twee manieren specificeren, één voor de ware conditietest en één voor de valse conditietest. Indien beide specificaties dezelfde zijn, is de opvolger onvoorwaardelijk. MPCR 42 van figuur 2 bevat gewoonlijk het adres van de lopende instructie. AMPCR 41 van figuur 2 bevat gewoonlijk het 15 adres van de alternatieve instructie min één. Er zijn zeven keuzen voor iedere opvolger: ga over naar de volgende instructie in de volgorde (het volgende instructie-adres is de inhoud van MPCR plus één en de MPCR in-houd wordt vervangen door het volgende instructie-adres), sla de volgende instructie over (deze operatie staat een instructie conditioneel af te 20 takken toe binnen een expliciete optelspecificatie); het volgende instructie-adres is de inhoud van de MPCR plus twee en de MPCR inhoud wordt vervangen door het volgende instructie-adres; herhaal de instructie nog eens (deze operatie laat de herhaalde uitvoering toe totdat de waarde van een conditie zich wijzigt; het volgende instructie-adres is de inhoud van 25 de MPCR, welke ongewijzigd blijft); bewaar kringadres (dit veroorzaakt, dat het adres van de lopende instructie wordt bewaard in de AMPCR, zodat later sprongen kunnen worden gemaakt naar het lopende instructie-adres plus één); voer een volgorde-instructie uit (deze operatie laat de instructie toe, welke gespecificeerd is in AMP.CR om te worden uitgevoerd 30 met onmiddellijke terugkeer naar de normale volgorde); vraag om een procedure (deze operatie veroorzaakt een sprong naar een programma, dat gespecificeerd is in de AMPCR, waarbij de lopende positie bewaard wordt voor latere terugkeer); en spring (deze operatie geeft overdracht van besturing naar de instructie, welke gespecificeerd is in de AMPCR).
35 Er zijn drie letters, welke kunnen voorkomen in de M instruc- 8403059 » * \ -21- 24246/JF/tv ties: M instructie-adressen, informatieletters en verschuivingshoeveel-heden. Voor het type één-instructie wordt geen extra tijd vereist boven de logische eenheid-tijd om de letters te verwerken. Voor het type twee-instructie, welke geheel uit letters bestaat, wordt niet meer dan één 5 klok vereist. De M instructie-adres letters zijn die adressen, welke een volledig M instructie-woord vereisen, dat daarom niet kan worden gebruikt met type ééninstructies of met andere letters. Informatieletters kunnen worden gebruikt in type twee-instructies, hetzij alleen of te zamen met een verschuivingshoeveelheid. De informatieletter wordt geladen in 10 het letterregister 51 van figuur 2 voordat enige logische eenheidoperatie in de instructie wordt uitgevoerd. De verschuivingshoeveelheid letters worden geladen in SAR 44 van figuur 2 voordat enige logische-eenheid-operatie in de instructie wordt uitgevoerd.
Zoals boven reeds is aangegeven, wordt één van de vier bron-15 nen van informatie in de programmeerbare eenheid volgens de uitvinding gevormd door de uitwendige conditiesignalen, welke worden toegevoerd aan het conditieregister 54 van figuur 2. Aangezien deze conditiebits de uitvoering van de M instructies door de N instructies beïnvloeden, zullen de respectieve condities, welke door deze bits worden vertegenwoordigd, wor-20 den beschreven voordat een beschrijving wordt gegeven van het formaat van de N instructies.
Zoals boven werd aangegeven, is het conditieregister het stelsel van twaalf testbare bits, welke fungeren als foutindicatoren, onderbrekers, locale en globale Booleaanse variabelen, en uitsluitindica-25 toren. Het formaat van het conditieregister is aangegeven in figuur 16.
Teller-overloopbit (counter overflow bit COV) is een bit, dat gebruikt wordt voor het onthouden van overlopen van het tellerregis-ter 50 van figuur 2. Deze bit wordt gesteld steeds wanneer een toenemings-telleroperatie veroorzaakt, dat de teller teruggesteld wordt naar de 30 volledige nulstand. De bit wordt teruggesteld steeds wanneer hij getest wordt. Hij wordt ook steeds teruggesteld, wanneer het tellerregister wordt geladen uit hetzij de cilinderschakelaaruitgang of het letterregister 51 van figuur 2. Indien hij wordt gesteld en teruggesteld in dezelfde klokperiode, zal de terugstelling domineren. Iedere test op deze 35 bit test in feite de "logische OF" van deze bit met de ware overloop 5403059 -22- 24246/JF/tv van de teller.
Lees compleet bit (read complete bit RBC) is een bit, welke aangeeft, dat informatie beschikbaar is' voor tijdregistratie (to be clocked) in het B register. Deze bit wordt gesteld door de geheu-5 gen-module of de inrichting, waarmee de programmeerbare eenheid' in lees-verbinding staat. Alle inrichtingen zullen deze bit stellen. De lees-compleet-bit wordt gesteld door testen.
Geheugen-adresregister gereed bit (memory address register ready bit (MAR)) is een bit, welke wordt· gebruikt om aan te geven, dat de 10 MAR kan worden herladen. Hij wordt gesteld door het schakelaar-synchro-nisafcie-orgaan (switch interlock) of een inrichting gedurende een sluit, lees of schrijfoperatie. De bit wordt teruggesteld door testen. Zolang als de bit teruggesteld blijft, nadat de bovengenoemde operaties zijn begonnen, geeft hij aan, dat de inrichting of de geheugen-module bezig 15 is.
Fout in inrichting of geheugen-module voor lezen (error in device or memory module for read (ERR)) is een bit, welke aangeeft, dat een fout ontdekt werd in de geheugen-module of inrichting, welke verbonden is met de programmeerbare eenheid voor een leesoperatie. De bit wordt 20 gesteld door de inrichting of schakelaar-synchronisatie-orgaan en teruggesteld door het testen. De bit vertegenwoordigt de "logische OF” van alle foutsignalen van de inrichting, welke onmiddellijke attentie vereisen.
Dit. omvat geheugen-pariteitsfouten, invalide adressen in periphere geheugens, inrichting of geheugen niet verbonden (een signaal van het schakelaar-25 synchronisatie-orgaan), en<uitval van de stroomvoeding in de inrichting. Condities, zoals "snelle drukker zonder papier" (high speed printer out of paper) waarschuwing zijn niet inbegrepen (sommige typen fouten van de inrichting worden alleen maar aangegeven).
Fout in inrichting of geheugen-module voor schrijven (er-30 ror in device of memory module for write) (ERW) is een bit, welke fungeert als ERR behalve, dat hij in verband staat met de geheugen-module of inrichting, welke verbonden is met deze programmeerbare eenheid voor een schrijfoperatie.
De eerste externe verzoekbit (first external request bit 35 EX1) is een bit, welke een nieuw verzoek van een externe inrichting of 8403059 > · * -23- 24246/JF/tv andere programmeerbare eenheid aangeeft. Dergelijke verzoeken kunnen normaal worden beantwoord door iedere programmeerbare eenheid. De bit wordt gelijktijdig gesteld in alle programmeerbare eenheden van de inrichting. Hij wordt plaatselijk teruggesteld binnen iedere programmeer-5 bare eenheid door testen.
De tweede externe aanvraagbit (second external request bit EX2) is een bit, welke een aanvraag van een inrichting aangeeft, welke bezig is maar niet verbonden is met enige, programmeerbare eenheid.
Indicaties zouden condities omvatten, zoals “band-op-naar-snelheid" 10 (tape-up-to-speed) van een magnetische bandeenheid. In dit geval zal alleen de programmeerbare eenheid, welke de bandoperatie inleidde, een terugkeer verwachten.
MIR gereed-bit (MIR) geeft informatie aan, welke ontvangen is door het geheugen of een inrichting na een schrijfoperatie. Deze bit 15 wordt plaatselijk teruggesteld binnen iedere programmeerbare eenheid door testen.
De eerste globale conditiebit (first global condition bit GC1) is een bit, welke wanneer hij gesteld is een succesvol verlopen uitsluiting aangeeft. De bit kan op zijn meest in een programmeerbare 20 eenheid per keer gesteld worden. Hij wordt plaatselijk gesteld en teruggesteld binnen iedere programmeerbare eenheid. Het testen van deze bit stelt hem niet terug.
De tweede globale conditiebit (second global condition bit BC2) verschaft een overeenkomstige functie als de eerste globale conditie-25 bit (GC1).
De eerste locale conditiebit (first local condition bit LCD is een bit, welke wordt gebruikt voor tijdelijke opslag van Boole-aanse condities binnen een programmeerbare eenheid. Hij wordt plaatse- | lijk gesteld door de programmeerbare eenheid en plaatselijk terugge- ! 30 steld door testen.
De tweede locale conditiebit (second local condition bit LC2) komt overeen met de eerste locale conditiebit (LSI). De specifieke opdrachten voor de conditiebit kunnen worden gewijzigd voor systemen met speciale doeleinden. Met uitzondering van de globale conditiebits 35 zijn alle bits identiek behalve voor wat betreft hun uitwendige verbin- 8403059 I -24- 24246/JF/tv dingen. Slechts drie (MIR, LC1, LC2) kunnen echter plaatselijk worden gesteld.
Aan de hand van figuur 15 zal nu het N instructie-formaat worden beschreven. Dit formaat is samengesteld uit verschillende bestu-5 rende signalen,, welke vereist zijn· om de M instructies uit te voeren, welke boven werden beschreven. Begrepen zal worden, dat het N instructie-formaat besturende signalen omvat, welke siganlen niet direkt door de schakeling worden opgewekt, maar opgeslagen zijn in een instructie-vorm in het N geheugen om naar behoefte te worden teruggevonden, welke terug-10 vinding in overeenstemming is met het N geheugen-adres, dat aanwezig is in een M instructie van type één. Hoewel de voorkeursuitvoeringsvorm van de uitvinding de verschillende bits van de N instructie direkt toepast f als besturende signalen, is het binnen de strekking van de uitvinding, dat de verschillende bits van de N instructie in gecodeerde vorm kunnen 15 zijn, waarvan de verschillende combinaties het opwekken van de juiste vereiste besturende signalen zullen aangeven.
Zoals aangegeven in figuur 15 verloopt de uitvoering van een M instructie gedurende drie tijdfasen. Zodoende worden de door de N instructie aangewezen besturende signalen verdeeld in drie groepen: namelijk, 20 die, welke vereist zijn om te worden gebruikt gedurende fase 1, die, welke vereist zijn om te worden gebruikt gedurende de fasen 2 en 3, en die, welke vereist zijn om te worden gebruikt gedurende fase 3.
De tijdrelatie tussen de verschillende fasen zal later in verband met bepaalde tijd aangevende golfvormen meer nauwkeurig worden 25 beschreven; deze fasen zullen nu echter in het algemeen zodanig worden beschreven, dat deze beschrijving een beter begrip geeft van de verschillende besturende signalen, welke aanwezig zijn in het N instructie-fornaat van figuur 15.
Zoals boven werd aangegeven zijn er drie tijdfasen en tevens 30 zijn er twee typen van M instructies. Instructies van het eerste type zullen altijd fase 1 en fase 3 besturende signalen hebben en kunnen in sommige gevallen fase 2 besturende signalen hebben. Instructies van het tweede type hebben slechts fase 1 besturende signalen. De fase 1 besturende siganlen van type twee-instructies worden toegepast om de letters 35 naar AMPCR, LIT of SAR te laden, zoals gespecificeerd. M instructies van 8403059 " *r -25- 24246/JF/tv het tweede type vereisen altijd een kloktijd en overlappen altijd fase 2 van de voorgaande instructies van het eerste type.
Fase 1 heeft plaats in iedere instructie van het eerste type en vereist een kloktijd. Hij overlapt altijd fase 3 van de voor-5 gaande instructie van het eerste type (er kunnen tussenbeide komende instructies van het tweede type zijn). Fase 1 wordt gebruikt voor het conditietesten, het berekenen van het volgende instructie-adres, het inleiden van geheugen- en inrichtingsoperaties, het laden van instructie-letters in de LIT of SAR en het opstellen voor een logische eenheidope-10 ratie.
Fase 2 vindt plaats in sommige M instructies van het eerste type en vereist een variabel aantal kloktijden. Hij wordt toegepast om fase 3 uit te stellen voor overdracht-voortplanting, het bufferen van instructies, instructie-wijziging, en uitvoering van M instructies 15 van het tweede type. Wanneer de volgende M instructie van het tweede type is, wordt de lopende M instructie van het eerste type gehouden in fase 2 gedurende één kloktijd terwijl de M instructie van het tweede type wordt uitgevoerd. Fase 3 vindt plaats met iedere M instructie van het eerste type en vereist één kloktijd. Het wordt altijd fase 1 van de 20 volgende M instructie van het eerste type (er kunnen tussenbeide komende instructies van het tweede type zijn). Fase 3 wordt gebruikt om logische eenheidsoperaties uit te voeren, waaronder bestemmingsselectie.
De verschillende besturende signalen van de N instructies kunnen worden verdeeld in vijf groepen afhankelijk van de fase, waarin 25 zij worden uitgevoerd.
Besturingen, welke alleen worden toegepast in fase 1 worden direct uitgevoerd van de M instructies. Het conditietesten, voor-waardelijke-onvoorwaardelijke beschrijvingen, vervangingsoperaties, opvolgingsoperaties, het inleiden van geheugen- of inrichtingoperaties, 30 conditiebit stellende SAR beschrijvingen behoren tot deze groep.
Voor wat betreft de besturingen toegepast in fase 2 worden alleen de logische eenheidoperaties (uitgezonderd bestemmingsselectie) verricht in fase 2. Afhankelijk van de breedte van een ware optel-operatie, de kloksnelheïd van de programmeerbare eenheid en of de ci-35 Under schakelaaruitgang vereist is, kunnen twee in plaats van één 8403059 1 -26- 24246/JF/tv kloktijd vereist zijn om de logische eenheidoperatie te volbrengen. In dergelijke gevallen is een één-kloktijdfase 2 inbegrepen. De behoefte aan toevoeging van tijd wordt expliciet aangegeven in de instructie gedurende de tijdsbesturing.
5 · Wanneer het ophalen van de volgende instructie uit het M geheugen wordt uitgesteld, blijft de instructie van het eerste type, dat op dat moment wordt uitgevoerd (er is er altijd één) in fase 2 totdat het ophalen kan worden uitgevoerd. De behoefte aan tijdsduur voor dit uitstel is niet te bepalen door de programmeur en wordt dynamisch 10 aangegeven door de micro-programmabuffer of het M geheugen.
Wanneer de volgende M instructie een vervangingsoperatie bevat, wordt de lopende instructie van het eerste type in fase 2 gehouden gedurende één kloktijd om de vervangingsoperatie van fase 1 te kunnen uitvoeren. De behoefte aan dit uitstel wordt bepaald door de 15 vervangingsbesturingen in de volgende instructie.
Besturingen, welke worden toegepast in zowel fase 2 als fase 3, worden uitgevoerd uit het commandoregister. Deze groep heeft alleen betrekking op de logische eenheidoperatie en bestaat uit de A registerselectie, de B registerselectie, de C ingangselectie, de op-20 teloperatie en de cilinderschakelaaroperatie.
Besturingen, welke alleen worden toegepast in fase 3, worden uitgevoerd uit het commandoregister. Deze groep bestaat uit de A registerbestemming, de B registerbestemming, de verre bestemming, en de letteroverdracht en teloperaties.
25 De letters in de M instructies worden geladen in het gespecificeerde register (AMPCR, SAR of LIT) gedurende de eerste klok van de instructie. Voor type één-instructies is dit fase 1, voor type twee-instructies is dit fase 2 van de type één-instructie, welke dan wordt uitgevoerd.
30 Een tabel van de meer belangrijke besturende bits (of sig nalen), welke zich in het N instructie-formaat bevinden, zijn aangegeven in figuur 20 met een lijst van hun functies.
Uitwendige besturingen stellen de conditie-registerbits en worden ingeleid door uitwendige inrichtingen, geheugens- en andere 35 programmeerbare eenheden.
8403059 -27- 24246/JF/tv
De specifieke aparte besturende signalen zullen hierna meer uitvoerig worden beschreven in verband met de verschillende schakel-lingen waaraan deze besturende signalen worden toegevoerd.
Nu volgt een gedetailleerde beschrijving van specifieke 5 schakelingen.
In figuur 3 is een schematische weergave van de ALU van de uitvinding aangegeven, welke meer details bevat dan figuur 2. Men zal zich herinneren, dat een bijzondere eigenschap van de uitvinding bestaat uit het verschaffen van rekenkundige en logische schakelingen, gevormd 10 uit een veelvoud van modulaire logische eenheden. De schakeling van figuur 3 omvat een logisch systeem, aangebracht in wat een sectie zal worden genoemd, bestaande uit twee halve secties 60 en 61. Iedere halve sectie is in staat informatie-segmenten van acht bits parallel te ontvangen.
Zodoende is de logische sectie, aangegeven in figuur 3 in staat informatie-15 segmenten van zestien bits te ontvangen. Zoals verder is aangegeven in fi-gur 3, staat iedere logische halve sectie 60 en 61 onder de besturing van de respectievelijke logische besturingen 68 en 69, welke op hun beurt geactiveerd worden door besturende signalen ontvangen van de N decodeerder 55 van het besturende gedeelte van de programmeerbare eenheid, zoals aan-20 gegeven in figuur 2.
De logische halve sectie 60 omvat de logische groepen 64 en 65 evenals overdracht eenheden 74 en 75. Op dezelfde wijze omvat logische halve sectie 61 de logische groepen 66 en 67 evenals de overdracht-eenhe-den 76 en 77. Iedere logische groep is in staat ingang-informatiesegmen-25 ten van vier bits te ontvangen. Zoals aangegeven in figuur 3 verricht iedere overdrachteenheid een overdracht-vooruitkijkfunctie (carry-look-ahead-function) voor zijn corresponderende logische groep. Bovendien wordt de overdracht-vooruitkijkfunctie voor iedere halve sectie 60 en 61 voorzien van overdracht-vooruitkijk halve secties 80 en 81. | 30 Het resterende gedeelte van de ALU, aangegeven in figuur 3 omvat A registers 32 en het B register (en ware-valse poorten) 33. De A registers 32 kunnen worden gesteld onder de besturing van de A register besturingen 70 en 71 en het B register staat onder de besturing van B re-gisterbesturing 72. De ware-valse poorten, welke later zullen worden 35 besproken, staan onder de besturing van signalen, welke worden ontvangen 8403059 -28- 24246/JF/tv van het besturende gedeelte van het systeem door middel van besturende hoofdader 73, zoals aangegeven in figuur 3.
Waar toepasselijk worden dezelfde cijfers gebruikt in de figuren 2 en 3 om deze registers, welke in beide figuren staan aangege-5 ven, te identificeren.
Aan de hand van figuur 4 zal een alternatieve ALU worden beschreven, welke is gevormd uit twee logische secties of vier halve logische secties. Met dit formaat kan de ALU informatie-segmenten ontvangen van tweeëndertig bits. Zoals bij de uitvoering aangegeven in figuur 10 3 is met iedere logische halve sectie 60, . . . . .,63 geassocieerd de respectievelijke halve sectie overdracht-vooruitkijk 90, .....,93.
De onderlinge verbinding tussen de verschillende vooruitkijk halve secties verschilt van die van de uitvoering van figuur 3 op een wijze, welke nu in het kort zal worden beschreven.
15 Iedere halve sectie vooruitkijk ontvangt groep-signalen van de twee overdrachteenheden in de corresponderende logische halve sectie, zoals aangegeven in figuur 3 en retourneert groep-overdrachtsig-nalen naar deze overdrachteenheden. Bovendien wekt iedere halve sectie overdracht-vooruitkijk sectie doorzend- en sëctieopweksignalen op, welke 20 worden gezonden naar iedere halve sectie overdracht-vooruitkijk in het systeem, welke de meest betekenende is van ieder paar van halve sectie overdracht-vooruitkijken. Zodoende zijn in figuur 4 de meest betekenende van ieder paar van overdracht-vooruitkijk halve secties de overdracht-vooruitkijk 90 en 92, terwijl de respectievelijke overdracht-vooruit-25 kijk 91 en 93 de minst betekenende van het paar, waarin ze zich bevinden, zijn. Omgekeerd zal de minst betekenende van ieder paar groepen-signalen opwekken, welke worden verzonden naar de meest betekenende van dat paar. Zoals aangegeven in figuur 4 worden de sectie-signalen, die worden opgewekt door de meest betekenende van het paar, verzonden naar 30 de andere meest betekenende van de paren door verbinding 94 en 95, terwijl de groep-overdrachten tussen halve secties worden verzonden van de minst betekenenden van het paar naar de meest betekenenden van dat paar door de verbindingen 96. In figuur 3, waar slechts één paar van halve secties werd toegepast, worden de groep-signalen, welke tussen de halve 35 secties worden verzonden, opnieuw verzonden door middel van de verbin- 8403059 -29- 24246/JF/tv ding 82 van de minst betekenende van het paar naar de meest betekenende.
Zoals verder aangegeven in figuur 3 worden de sectie overdrachtsignalen werkelijk gebruikt door de halve sectie overdracht-vooruitkijk, welke deze signalen uitzendt.
5 Andere verschillen bestaan tussen de verschillende uitvoe ringen resp. aangegeven in de figuren 3 en 4. Eén is de manier, waarop de verschillende besturende signalen worden toegepast om de verschillende logische halve secties te activeren. In de uitvoering van figuur 3 is iedere logische halve sectie voorzien van zijn eigen logische besturende 10 eenheid en zodoende kan iedere logische halve sectie apart worden gebruikt. In de uitvoering volgens figuur 4 zijn de meest betekenende halve sectie 60 en de minst betekenende logische halve sectie 63 ieder voorzien van resp. aparte besturingen 98 en 99. De tussenliggende halve logische secties 61 en 62 zijn voorzien van dezelfde stelsels van bestu-15 rende signalen van de tussenliggende besturing 97. Ieder van de· resp. logische besturingen worden geactiveerd in antwoord op besturende signalen, ontvangen van het besturende gedeelte van het systeem in overeenstemming met het formaat van de resp. N instructies, zoals hierna meer uitvoerig zal worden besproken.
20 Zoals aangegeven in figuur 2, is de teller of logica ook voorzien van een derde ingang namelijk een Z ingang. Zoals in beide figuren 3 en 4 is aangegeven, zijn de X ingangen de inhouden, welke worden ontvangen van het tellerregister 50 van figuur 2, welke inhouden worden toegevoerd aan de meest betekenende logische halve sectie, terwijl de in-25 houden, welke worden ontvangen van het letterregister 51 van figuur 2 worden toegevoerd aan de minst betekenende logische halve sectie.
De logische groepen worden aangegeven in figuur 3 en ingesloten in figuur 4 en zijn identiek. De schakeling van een aparte logische groep is aangegeven in figuur 5 en zal nu worden beschreven. In es-30 sentie omvat de schakeling van figuur 5 een veelvoud van EN-poorten en NIET-0F-poorten (NOR gates). Opgemerkt kan worden, dat de schakeling van figuur 5 kan worden verdeeld in vier stelsels van schakelingen, welke ieder in staat zijn ingangen van informatiebits van verschillend betekenende niveaus te ontvangen en ook om de resp. besturende signalen 35 C|, · · · · ., Cj te ontvangen. De tussenliggende uitgangen X, Y, K' en 8403059 - 1 -30- 24246/JF/tv hun complementen worden ontvangen van het eerste niveau van poorten en worden toegevoerd aan het tweede niveau van dergelijke poorten om een uitzendsignaal te verschaffen evenals een doorzendsignaal en een som-signaal voor ieder van de vier betekenende bitsecties. De respectieve-5 lijke Booleaanse vergelijkingen, welke worden toegepast door de schakeling van figuur 5, zijn aangegeven in figuur 5·
De A ingangssignalen zijn die signalen, welke worden ontvangen van de A registers, zoals hierna meer uitvoerig zal worden beschreven.
De B signalen zijn die signalen, welke worden ontvangen van het B regis-10 ter of hun complementen. De Z ingangen zijn die ingangen, welke worden ontvangen hetzij van teller 50 of van letterregister 51 van het besturende gedeelte van de programmeerbare eenheid, zoals aangegeven in figuur 2« De inverse overdrachtsignalen K, ontvangen van de resp. overdracht-vooruitkijk schakelingen zullen hierna meer uitvoerig worden beschreven.
15 De resp. S signalen zijn de logische uitgangssignalen, welke worden toegevoerd, hetzij naar de cilinderschakelaar 31 of naar het B register 33, zoals aangegeven in figuur 2. De G signalen en T signalen zijn signalen, welke worden toegevoerd naar de resp. overdracht-vooruitkijk schakelingen, welke op hun beurt de K overdrachtsignalen, welke boven zijn beschre-20 ven, uitzenden.
Men zal begrijpen, dat de S uitgangssignalen verschillende Booleaanse uitdrukkingen zullen vertegenwoordigen in overeenstemming met de bepaalde geselecteerde besturende signalen C^,..... ., C^, aange geven bij de logische groep van figuur 5 in antwoord op de presentatie 25 van N signalen naar de logische besturingen 68 en 69 van figuur 3. De N signalen worden ontvangen van de N decodeerder 55 van figuur 2 en voeren een voor-gegeven N instructie uit.
Het zal duidelijk zijn uit een overzicht van figuur 5, dat iedere betekenende bitsectie van de logische groep, welke in deze figuur 30 staat aangegeven een overdrachtsignaal moet ontvangen van de voorgaande sectie en het overdrachtsignaal moet toevoeren naar de volgende sectie in volgorde. De groep overdracht-vooruitkijkschakeling, welke deze signalen verschaft, is aangegeven in figuur 6, welke nu zal worden beschreven. De schakeling is in staat een overdrachtsignaal GC^n te ontvangen 35 van de volgende minst betekenende logische groep door middel van de halve 8403059 -31- 24246/JF/tv sectie overdracht-vooruitkijkschakeling, welke hierna zal worden beschreven. Deze schakeling ontvangt tevens de verschillende bit-verzendsigna-len BT en bit-uitzendsignalen BG van de respectieve secties van zijn verbonden logische groep. De opwekking van deze signalen werd beschreven 5 in verband met figuur 5. Na ontvangst van deze signalen zendt de schakeling van figuur 6 op zijn beurt de geschikte inverse overdrachtsignalen BC, welke worden toegevoerd aan de verschillende secties van de verbonden logische groep als de overdrachtsignalen K, zoals aangegeven in figuur 5. Zoals verder aangegeven in figuur 6, zendt de schakeling tevens de 10 inverse groep dwarse signalen GT uit en de inverse groep wekt signalen GG op, welke signalen worden toegevoerd aan de overdracht-vooruitkijk halve secties, zoals werd aangegeven in figuur 3, hetgeen meer uitvoerig hierna zal worden beschreven. De respectieve Booleaanse vergelijkingen, welke de functies vertegenwoordigen, die door de schakeling van figuur 6 worden 15 uitgevoerd, zijn aangegeven in figuur 6. De schakeling van figuur 6 is juist die schakeling van de respectieve overdrachteenheden 74, . . . ,77, welke wordt aangegeven in figuur 3.
De overdracht-vooruitkijk halve secties 80 en 81, zoals aangegeven in figuur 3 en in figuur 4 onder nr. 90, - 94 worden meer gedetail-20 leerd aangegeven in figuur 7, welke nu zal worden besproken. Zoals aangegeven in de figuren 3 en 4 zal iedere halve sectie overdracht-vooruitkijk signalen ontvangen of niet-ontvangen van de volgende minst betekenende halve sectie overdracht-vooruitkijk afhankelijk of deze de meest betekenende of minst betekenende halve sectie overdracht-vooruitkijk van de 25 logische sectie is, waarvan het een deel vormt. Omgekeerd zal iedere halve sectie overdracht-vooruitkijk signalen van verschillende types verzenden naar de andere overdracht-vooruitkijk halve secties afhankelijk van zijn plaats in de hiërarchische volgorde. De schakeling van figuur 7 is in ! staat de verschillende vereiste signalen te ontvangen en te leveren onaf-30 hankelijk van zijn volgorde in de hiërarchie. Daardoor zullen bepaalde verbindingsleidingen zoals aangegeven in figuur 7 al dan niet vereist zijn. zodoende kan de schakeling van figuur 7 inverse groep uitzendsignalen GG ontvangen, welke worden voorgesteld met een oneven aantal onderschriften, wanneer ze van een minder betekenende groep van overdrachteen-35 heden komen en worden voorgesteld met een even aantal onderschriften 8403059 -32- 24246/JF/tv
wanneer zij van een meer betekenende groep overdrachtseenheden komen, j De schakeling is ook in staat om inverse groep doorzend-signalen GT
te ontvangen, welke ook zijn voorzien van even en oneven aantallen onderschriften in overeenstemming met de zojuist beschreven conventie.
5 Omgekeerd zend de schakeling van figuur 7 groep overdrachtsignalen GC uit, welke ook voorzien zijn van even of oneven aantallen onderschriften, afhankelijk van hun. betekenis, waarmee deze signalen worden toegevoerd aan de respectieve groep overdrachteenheden, zoals aangegeven in figuur 3. Wanneer de halve sectie overdracht-vooruitkijk een minder be-10 tekenende is, is hij in staat de volgende meest betekenende te voorzien van de groep doorzendsignalen GT en de groep uitzendsignalen GG.
Wanneer de schakeling een meest betekenende halve sectie vooruitkijk is, verschaft hij de respectieve sectie doorzendsignalen ST en de sectie uitzendsignalen SG aan alle meer betekenende overdracht-15 vooruitkijk halve secties van de ALÜ, zoals aangegeven in figuur 4. Dienovereenkomstig is de schakeling van figuur 7 ook in staat om dergelijke sectie uitzend- en sectiedoorzendsignalen te ontvangen van de andere meest betekenende overdracht-vooruitkijk halve secties om een inverse sectie overdracht in signaal SCin te vormen. Begrepen zal worden, dat 20 deze laatste functie niet verschaft zal worden, wanneer de schakeling een minder betekenende halve sectie overdracht-vooruitkijk is. Overeenkomstig zal de schakeling niet gevoelig zijn voor groep doorzend en groep uitzendsignalen van de volgende minder betekenende halve sectie overdracht-vooruitkijk en, in deze situatie, zullen de respectieve in-25 gangsleidingen, welke voor deze functie zijn aangebracht, NUL of EEN binaire signalen voortdurend opgedrukt krijgen, zoals aangegeven in figuur 7·
Opgemerkt kan worden, dat de uitzending van groep over-drachtsignalen naar de minst betekenende bitposities van iedere logische 30 halve sectie kan worden verboden door een besturend signaal N 15, dat wordt ontvangen van de respectieve logische besturingen 68 en 69 van figuur 2.
De respectieve Booleaanse vergelijkingen, welke de functies vertegenwoordigen, die worden uitgevoerd door de schakeling van 35 figuur 7, worden in figuur 7 aangeduid..
8403059 * · -33- 24246/JF/tv
De verschillende logische besturende eenheden 68 en 69 van figuur 3 en 97» 98 en 99 van figuur 4 zullen nu worden beschreven onder verwijzing naar figuur 8. Dergelijke besturingen zijn in hoofdzaak precies de standaard-decodeerders, gevormd uit een veelvoud van EN en 5 NlET-OF-poorten (AND and NOR gates). De schakeling van figuur 8 is echter aangegeven om een beter begrip te verkrijgen van de verschillende N bestuurde signalen, welke worden verkregen van de respectieve N instructies. De bepaalde signalen, welke worden toegepast om de respectieve logische groepen van figuur 3 te besturen, omvatten vijf N signalen, 10 waarvan één een verbodssignaal is. Na het decoderen van de signalen N^, N1q, en N^ worden zeven sub-besturende signalen. C^,.......
uitgezonden en toegevoerd aan de respectieve logische groepen, zoals aangegeven in figuur 5 en in verband daarmee beschreven. Een achtste signaal Ν 15 wordt ook uitgezonden door de logische besturing van figuur 2 en 15 wordt toegevoerd aan de overdracht-vooruitkijk halve sectie» welke correspondeert met de logische halve sectie ten einde de uitzending van het minst betekenende groep overdrachtsignaal te verbieden voor deze logische halve sectie, zoals eerder werd beschreven in verband met figuur 7-Een ander verbodssignaal wordt toegepast om de uitzending van de en 20 Cg signalen te verbieden. Kort verwijzende naar figuur 5 kan worden opgemerkt, dat de en Cg signalen dienen voor het uitvoeren van de Z ingang naar de logische groep. Zodoende dient het verbodssignaal naar de besturende schakeling van figuur 8 voor het verbieden van de Z ingang naar de corresponderende logische groepen. De verschillende functies, 25 welke door de respectieve logische groepen worden verschaft onder besturing van N besturende signalen, zijn in figuur 20 aangegeven onder het hoofd opteloperatie (Adder Operation).
Andere voorbeelden van de wijze, waarop de N besturende signalen van het N instructieformaat worden toegepast voor het besturen 30 van ALU operaties, zijn aangegeven in figuren 9» 10 en 11, welke respectievelijk de schakelingen van de A registers, het B register en de cilinderschakelaar-operaties illustreren.
Zoals aangegeven in figuur 9 worden de drie A registers A1, A2 en A3 gevormd uit respectievelijk drie stellen van flip-flops 35 A * * * * ^21J **··*» Ags» »·.····» A^g- Zoals aan— 8403059 |_ ' -34- 24246/JF/tv gegeven in de tabel van figuur 21, zijn de A regi ster ingangen onder de besturing van twee N signalen N 21 en N 22, welke respectievelijk de functie verschaffen van het ongewijzigd houden van de A registers, het verschaffen van een ingang naar het A1 register, het verschaffen 5 van een ingang naar het A2 register en het verschaffen van een ingang naar het A3 register. Zoals aangegeven in figuur 9 worden de respectieve besturende signalen N21 en N22 toegevoerd naar de N decodeerder 110, welke op zijn beurt drie uitgangssignalen C^, en verschaft, welke respectievelijk worden toegevoerd aan de flip-flops van 10 het A1 register, A2 register en het A3 register. Deze signalen kunnen van het type zijn, welke normaal de respectieve flip-flops doen terugstellen op kloktijd, waardoor het stellen van de flip-flops wordt voorkomen en de functie van de besturende signalen N21 en N22 is het verbieden, dat één van de C signalen zal toelaten, dat informatiesegmen-15 ten, welke binnenkomen over de informatiehoofdader 88 worden opgeslagen in enig registerstelsel van flip-flops.
Zoals aangegeven in de tabel van figuur 19 zijn de A re-gisteruitgangen onder de besturing van de besturende signalen en N2 en dienen om het uitlezen van het A1 register, het A2 register en het 20 A3 register uit te voeren of om allemaal nullen uit te voeren. De wijze, waarop deze operaties worden uitgevoerd, is ook aangegeven in figuur 9, waar de besturende signalen en Ng worden toegevoerd aan de N decodeerder 111, welke op zijn beurt vier uitgangssignalen verschaft Cg, . . . . , C12- De signalen Cg, C1Q, worden respectievelijk toe-25 gevoerd aan EN-poorten voor de besturing van het uitlezen van de respectieve flip-flops van de registers A1, A2, A3. Het signaal wordt echter toegevoerd aan de veelvoud van één-ingangs EN-poorten, welke zelf uitgangssignalen zullen uitzenden, welke worden omgezet door de NIET-OF-poorten, zoals aangegeven in figuur 9 om NUL-uitgangen te ver-30 krijgen. De uitgangen van de NIET-OF-poorten worden door middel van de hoofdader 84 toegevoerd aan de respectieve logische groepen, zoals werd aangegeven in de figuren 3 en 4.
Aan de hand van figuur 10 zal de wijze, waarop de besturende signalen de B registeroperaties beheren, worden beschreven.
35 Zoals aangegeven in de tabel van figuur 20, worden de 8403059 -35- 24246/JF/tv B registeringangen bestuurd door drie N signalen, N10, N„n en Non.
iö i y du
In figuur tO worden deze signalen toegevoerd aan de N decodeerden 112, welke op zijn beurt de respectieve signalen C......
uitzendt. Uit de voorgaande bespreking van het B register kan men zich 5 herinneren, dat het B register informatie kan ontvangen van het basisgeheugen, van de opteller, van de cilinderschakelaar en tevens vier bit en acht bit-overdrachten kan ontvangen. Zodoende dient het signaal on de geëigende EN-poort te conditioneren voor het ontvangen van een signaal over ingangsleiding 107, dat een acht bit-overdracht voorstelt, 10 besturend signaal dient voor het conditioneren van een geëigende EN-poort om het signaal over ingangsleiding 108 te ontvangen, hetwelk een vier bit-overdracht voorstelt, signaal C1g dient voor het conditioneren van de respectieve EN-poort om informatiebits te ontvangen over de respectieve ingangsleidingen 106, signaal dient voor het condi-15 tioneren van de respectieve EN-poorten om de ontvangst van de acht bit-infonnatiesegmenten toe te laten voor de respectieve leidingen 105 en signaal Cdient voor het conditioneren van de respectieve EN-poorten om de ontvangst van informatiebits toe te staan over de respectieve leidingen 104, terwijl de leidingen 104 slechts verbindingen zijn, vor-20 men zij informatie-hoofdader 88 van de cilinderschakelaar, welke infor-matie-hoofdader tevens de respectieve leidingen 106 van de opteller-uitgang bevat. Zodoende dienen de verschillende C signalen om de verschillende binnenkomende Informatiebits te poorten naar de respectieve flip-flops B.j, ...... Bg, welke het B register vormt. Zoals aange- 25 geven in figuur 10 dient het Cgl besturende signaal voor het stellen van de respectieve flip-flops op kloktijd.
Zoals aangegeven in dë tabel van figuur 19 onder het hoofd B Register Uitgangen worden deze operaties bestuurd door de besturende signalen Ng, ...... , Ng. Deze respectieve besturende signalen worden j 30 uitgezonden van het besturende gedeelte van de programmeerbare eenheid j volgens de uitvinding naar de corresponderende poorten in figuur 10, ! waarvan de uitgangen informatie-hoofdader 85 vormen, welke het B register verbindt met de respectieve logische eenheden.
In verband met zowel figuur 9 als figuur 10 moet worden 35 opgemerkt, dat de daarin aangegeven registers slechts acht bits breed 8403059 -36- 24246/JF/tv zijn. Begrepen dient echter te worden, dat de registers kunnen worden uitgebreid om iedere bepaalde informatiebreedte te hanteren en dat de enige wijziging, welke vereist kan zijn, het aanbrengen van extra aandrijvers zou zijn om signalen van voldoende stroom te voorzien, welke 5 aandrijvers niettemin onder de besturing van de respectieve N signalen zouden staan, zoals boven werd beschreven.
Figuur 11 toont een schematisch diagram van de cilinder-schakelaar, waarvan twee worden toegepast in de uitvinding. Deze schakelaars zijn van het type, dat werd beschreven in de Stokes c.s. oc-10 trooiaanvrage, Serie No. 789.886, ingediend op 8 januari 1969 in de Verenigde Staten van Amerika en toegewezen aan de gevolmachtigde van deze octrooiaanvrage in de Verenigde Staten van Amerika. Zodoende zullen de cilinderschakelaars niet gedetailleerd worden besproken, behalve om hun besturing aan te geven. De schakeling van figuur 11 is in 15 staat acht bit-informatiesegmenten te ontvangen van de informatie-hoofd-ader 88 en dergelijke bits naar rechts of links te verschuiven met een hoeveelheid, welke wordt gespecificeerd door de inhoud van SAR 44 van figuur 2. De signalen van SAR 44 worden toegevoerd aan een decodeerder (niet aangegeven), welke onder besturing van signalen en en 20 de instructie de toepasselijke lijn kiest uit de besturende lijnen C22» C2g, welke vereist wordt om de gewenste verschuiving aan te brengen. Indien aldus de SAR inhoud een verschuiving specificeert van drie bits en de N instructie specificeert een rechtse verschuiving, dan zal de decodeerder een geëigend signaal toevoeren aan 25 leiding C~c, zoals aangegeven in figuur 11. Indien de N instructie een o linkse verschuiving (van drie bits) specificeerde, dan zou de decodeerder een signaal aan de leiding toevoeren. Het resulterende verschoven informatiesegment wordt vervolgens geleid naar de informatie-hoofdader 88. De operaties, welke gespecificeerd worden door de en 30 Ν^γ signalen, zijn aangegeven in de tabel van figuur 19 onder het hoofd: verschuivende operaties. Opgemerkt moet worden, dat de schakelaar van figuur 11 kan worden, uitgebreid om informatiesegmenten te ontvangen met een groter aantal bits, wanneer de informatie-wegbreedte van de programmeerbare eenheid volgens de uitvinding zodanig wordt uitgebreid.
35 Een korte vermelding zal nu worden gemaakt van de figuren 8403059 -37- 24246/JF/tv 19 en 20. Zoals werd beschreven in verband met het formaat van de N instructie van figuur 15, wordt deze instructie primair opgemaakt van besturende signalen, welke vereist zijn om te worden toegepast gedurende verschillende fasen van de operatie van de programmeerbare eenheid 5 van de uitvinding, welke nu hierna meer nauwkeurig zullen worden beschreven. De drie stelsels van sectie besturende of N signalen zijn die, welke worden toegepast in de fasen 2 en 3, in fase 3 en in fase 1. Figuur 19 toont een lijst van de N besturende signalen, welke worden toegepast gedurende fase 2 en 3. Figuur 20 toont een lijst van de essentiële 10 N besturende signalen, toegepast gedurende fase 3.
Zoals werd aangegeven in het voorgaande gedeelte van deze beschrijving, worden de N instructies teruggevonden uit het N geheugen en worden, in essentie, gedecodeerd of uitgevoerd door de N decodeerder 55, zoals aangegeven in figuur 2. Deze schakeling is in meer gedetail-15 leerde vorm aangegeven in figuur 17 en zal nu worden beschreven.
De N instructie van het formaat, aangegeven in figuur 16, wordt ontvangen uit het N geheugen uitgangsregister 115 en doorgezonden naar de verschillende registers, welke dienen om de testlogica 53 te vormen, zoals aangegeven in figuur 2. Zoals aangeduid door het instruc-20 tie-formaat van figuur 16 bevat de N instructie fase 1 besturingen, fase 2 en 3 besturingen en twee andere bits, welke een logische eenheid operatie-conditie en een twee kloktijd-conditie specificeren. De specifieke fase 3 besturingen en fase 2 en 3 besturingen werden boven enigszins nader beschreven. De fase 1 besturingen werden echter niet zodanig 25 beschreven. Het zij voldoende te zeggen, dat fase 1 besturingen die signalen zijn, welke vereist zijn gedurende de eerste fase van een in-structie-uitvoering. Zij zullen nu in zoverre worden beschreven, dat dergelijke signalen vereist zijn om de verschillende conditie-registers van figuur 17 aan te vullen. Een bit van het fase 1 besturende veld 30 zal zodoende specificeren of de ware of valse toestanden van de verschillende conditie-bits van het conditie-register 54 al dan niet getest moeten worden. Dit signaal zal worden doorgezonden naar de conditie-kiezer 118 door middel van verbinding 142. Vier andere bits van het fase 1 veld worden toegepast om een bepaalde conditie te specificeren, ‘ ’ 35 welke moet worden getest onder de verschillende conditie-bits van 84Q3059 ; -38- 24246/JF/tv conditie-register 54 en deze vier signalen zullen worden doorgezonden naar de conditie-selectie-decodeerder door middel van hoofdader-ver-binding 141.
Nog een ander stelsel van besturende bits in het fase 1 5 veld worden toegepast voor het specificeren van een nieuw M instructie-adres en deze bits worden doorgezonden door middel van de verbindingen 139 en 140 naar de geheugenregister besturende selectie 128, welke, wanneer geconditioneerd door conditie-kiezer 118, zal veroorzaken, dat het M programma-adresregister (MPAD) 129 zal inleiden, dat een nieuw adres 10 wordt verzonden naar het M geheugen door hetzij MPCR 42 of AMPCR 41 van figuur 2.
Het fase 1 besturende veld omvat verder bits, welke een geheugen of een inrichting-operatie specificeren of een stel-operatie, zoals werd beschreven in de voorgaande algemene beschrijving en deze 15 bits worden zodanig doorgezonden door de verbindingen 136 en 137 naar het conditionerende register 117, dat, wanneer een geëigende conditie getest wordt door de conditie-kiezer 118, het conditie-register 127 deze uitkomst zal doorzenden naar het schakelende synchronisatie-orgaan en tevens de conditie-decodeerder 129 zal stellen voor het instellen 20 van de geëigende conditie-bit in conditie-register 54. Nog een andere bit in het fase 1 besturende veld wordt vereist om een woordcomplement aan te duiden van de inhoud van het SAR register 44 van figuur 2. Deze bit wordt doorgezonden naar het conditionerende register 126 door verbinding 135 om het complement in de SAR 44 te activeren. Wanneer een 25 logische eenheidsoperatie moet worden uitgevoerd, wordt de geëigende bit in het N instructie-formaat doorgezonden door verbinding 132 om de con-ditie-registers 123 en 124 te stellen voor de overdracht van de fase 2 en 3 besturingen en de overdracht van de fase 3 besturingen naar het commando-register 52. Wanneer een twee kloktijd-instructie moet worden 30 uitgevoerd, wordt dit aangeduid door de eerste bit van het N instructie-formaat en wordt dit overgedragen naar EN-poorten 125 om te worden geklokt naar commando-register 52. Het commando-register zal nu de geëigende fase 2 en 3 besturingen bevatten en tevens fase 3 besturingen, welke boven beschreven werden en vereist zijn voor het besturen van de 35 respectieve logische en bestemmingsoperaties. 'De andere signalen, die 8403059 % *· *· -39- 24246/JF/tv vereist zijn om de respectieve conditie-bits van conditie-register 54 te stellen, omvatten een signaal van het schakelende synchronisa-tie-orgaan naar globale conditie-bit 121 om de stijgende globale con-ditie-bits in het conditie-register 54 te stellen. De andere conditie-5 bits, welke gesteld moeten worden, worden gesteld door signalen, welke worden ontvangen van de ALU of van het schakelende synchronisatie-or-gaan, zoals werd beschreven in de voorgaande algemene beschrijving.
De M instructie-decodeerder 40 zal nu worden beschreven aan de hand van figuur 18. Men zal zich herinneren uit de bespreking 10 van de M instructie-formaten van figuur 14, dat een EEN in de nul betekenende bit een type één instructie aanduidt, welke een. N adres bevat en dat een NUL in de nul betekenende bit een letterinstructie of type twee instructie aanduidt, waarbij de bitposities 1 en 2 verschillende letteroperaties specificeren. In figuur 18 worden deze eerste drie bits 15 getest door decodeerder 151. Indien de nul betekenende bit een EEN bevat, dan wordt de inhoud van het MPM register 150 overgedragen om het N geheugen te adresseren. Indien de nulbit een NUL is en de eerste bit is een EEN, dan wordt het letterveld van de M instructie overgedragen naar het letterregister 51 van figuur 2. Indien de tweede betekenende 20 bitpositie een EEN is, dan wordt de inhoud van het SAR veld, zoals aangegeven in figuur 14, overgedragen aan de SAR ingangkiezer 153. Indien de eerste drie bitposities nul zijn, dan is het resterende gedeelte van de M instructie een nieuw M adres, dat wordt overgedragen naar AMPCR 41 van figuur 2. Indien de eerste en tweede betekenende bitposi-25 ties beide ENEN zijn, activeert decodeerder 151 besturende poort 152 om het letterregister 51 te stellen voor het ontvangen van een informatie- i segment van verschillende aantallen informatie-bits, zoals werd beschreven in verband met het M instructie-formaat in de voorgaande algemene beschrijving.
30 Zoals boven werd aangegeven in de beschrijving van de N instructie decodeerder bevat het N instructie-formaat bepaalde bits in het fase 1 veld, welke worden gebruikt voor het specificeren van in-formatie-overdrachten naar of van de programmeerbare eenheid volgens de uitvinding. Ten einde de wijze, waarop dergelijke informatie-overdrachten 35 plaats vinden, beter te beschrijven en tevens om de wijze aan te geven, 8403059 I .
-40- 24246/JF/tv waarop informatie en de verschillende instructies geplaatst worden in hun respectieve geheugens, zal nu worden verwezen naar figuur 12, welke het schakelende synchronisatie-orgaan (switch interlock SWI) aangeeft, dat slechts algemeen is aangeduid in figuur 1A. Zoals aangegeven in 5 figuur 12, kunnen informaties en/of instructies worden toegevoerd of geschreven in ieder van de drie geheugens 20a, 20b en 20c, door middel van het geheugen-instructie-register 47 of AMPCR 41, welke registers zijn van de programmeerbare eenheid, zoals aangegeven vanuit een hulp-inrichting door middel van de schakelende eenheid 8, zoals aangeduid 10 in figuur 12 en tevens in de figuren 1A en 1B. Opgemerkt wordt, dat, welk register wordt verbonden met welk geheugen, bepaald zal worden door het fase 1 veld van de N instructie, welke de informatie-overdracht bestuurt. Zoals verder is aangegeven in figuur 12 en boven werd beschreven, wordt het N geheugen 20C geadresseerd vanuit de M decodeerder 40, 15 het M geheugen 20b wordt geadresseerd door de MPCR of de AMPCR door middel van toevoeger 43 en het basis-geheugen of het S geheugen wordt geadresseerd door middel van MAR 49, wanneer aaneen geschakeld met het register basis-register 45 of basis-register 46. De uitgang van het basis-geheugen 20a is naar B register 33. De uitgang van het M geheugen 20 20b is M decodeerder 40 door middel van MP buffer 25.
Hoewel MP buffer 25 boven niet werd beschreven, dient hij een belangrijke functie door het mogelijk te maken, dat een gehelge reeks van M instructies wordt teruggevonden na het decoderen van een S instructie, waarbij de tijdsvertraging, welke zal optreden, indien de respec-25 tieve M instructies apart zouden moeten worden geadresseerd, wordt geëlimineerd.
Hoewel niet expliciet aangegeven in figuur 12, dient begrepen te worden, dat een alternatieve informatieweg kan worden verkregen van MIR 47, AMPCR 41 en SU 8 direct naar het B register 33.
30 Zoals werd aangeduid bij de bespreking van het M instruc- tie-formaat, zijn er twee typen M instructies: type één-instructies, welke logische informatie-overdracht operaties uitvoeren en type twee-instructies, welke letters bevatten, waaronder een nieuw M instructie-adres en verschuivingshoeveelheden. Het type één-instructie wordt uit-35 gevoerd in drie fasen, waarvan de eerste en derde één kloktijd vereisen 8403059 -41- 24246/JF/tv terwijl de tweede fase een variabel aantal kloktijden vereist. Het type twee-instructie heeft alleen fase 1, welke één kloktijd vereist.
Achtereenvolgende M instructies worden uitgevoerd op een overlappende wijze en deze overlapping en andere karakteristieken daar-5 van zullen nu worden beschreven aan de hand van de figuren 21, 22 en 23.
Figuur 21 toont de overlapping bij de uitvoering van twee opeenvolgende M instructies, welke Instructie A en Instructie B zullen worden genoemd. Men zal zich herinneren, dat wanneer de M instructie van het type één is, er een corresponderende N instructie is voor het 10 uitvoeren van de verschillende vereiste operaties. Zoals aangegeven in de golfvorm b van figuur 21, wordt het adres voor de corresponderende N instructie A doorgezonden naar het M geheugen aan het begin van klok-periode T^. De N instructie A wordt ontvangen van het N geheugen aan het einde van deze klokperiode, zoals aangegeven in golfvorm c. De gese-15 lecteerde condities wordt getest (golf vorm d) en de ingangen worden toegevoerd aan het MPAD register (golf vorm e). De uitgangssignalen van het j | MPAD register (golfvorm e) en de uitgang van het commando-register (golf- vorm g) worden uitgezonden aan het begin van klokperiode Tg· Het commando-register is nu vrij om een nieuwe instructie te ontvangen en zodoende 20 wordt een nieuw adres voor de volgende instructie B uitgezonden gedurende dezelfde klokperiode, zoals aangegeven in golfvorm h. Instructie B wordt kort voor het einde van klokperiode.Tg ontvangen uit het N geheugen, zoals aangegeven in golfvorm j. De andere golfvormen in figuur 21, welke het stellen van twee klok flip-flops en verschillende verbodssignalen aange-25 ven, worden bij deze operatie niet toegepast. Uit figuur 21 kan worden opgemerkt, dat de uitvoering van de fase 1 besturingen van instructie B plaats vond aan het einde van klokperiode Tg en zodoende worden de fase 1 besturingen van instructie B uitgevoerd gedurende fase 3 van instructie A.
Aan de hand van figuur 22 zal de uitvoering van een type 30 één-instructie, waarin fase 2 twee klokperioden vereist, nu worden beschreven. Zoals aangegeven in figuur 22, zijn de respectieve golfvormen b, ....... e dezelfde als in figuur 21, aangezien zij het terugvinden van de eerste instructie A voorstellen. In dit geval echter zal het teruggevonden N instructie-formaat een bit bevatten, welke een twee klok-35 tijdoperatie aanduidt, zoals boven werd beschreven in verband met figuur 17· Dit veroorzaakt, dat een twee kloktijd flip-flop gesteld wordt, zoals 84 0 30 5$
V
-42- 24246/JF/tv is aangegeven in golfvorm g van figuur 22 en als resultaat worden ,de uitgangssignalen van het MPAD register en het commando-register, zoals voorgesteld in de golfvormen f en h, vertraagd gedurende één klokperiode, zoals vereist is voor de twee kloktijd-operatie. Het adresseren en de 5 ontvangst van instructie B van het M geheugen wordt eveneens vertraagd gedurende één klokperiode totdat de twee kloktijd-operaties van instructie A uitgevoerd zijn. Gedurende de klokperioden en T^> zoals aangegeven door golfvorm e, wordt de fase 1 van instructie B daarom uitgevoerd aan het einde van klokperiode waarbij de verschillende klokken wer-10 den verboden aan het einde van kloktijd T2· Fase twee en/of drie zullen worden uitgevoerd gedurende T^.
Aan de hand van figuur 23 zal nu de tijdrelatie tussen twee achtereenvolgende instructies worden beschreven, waarbij de tweede M instructie B een*-letter bevat en zodoende geen N instructie vereist. Zoals 15 aangegeven in figuur 23 zijn de eerste vijf golfvormen (golfvormen b, . .
. . . . , f) dezelfde in figuur 23 als in figuur 21 erï geven het terugvinden en de uitvoering van de eerste fase van instructie A weer. Verder worden de uitgangssignalen van het commando-register (golfvorm h in figuur 21 en golfvorm g in figuur 23) beide ingeleid aan het begin van 20 klokperiode Het adresseren van het M geheugen voor instructie B vindt tegelijkertijd plaats in beide figuren. De ontvangst van M instructie (golfvorm i in figuur 23) vindt echter eerder plaats dan de ontvangst van de N instructie van figuur 21 (golfvorm j) en aangezien instructie B een letter in figuur 23 is, wordt geen N instructie vereist. Dit veroorzaakt, 25 dat M decodeerder 40 van figuur 2 een houdsignaal uitzendt, zoals aangegeven in de golfvorm m van figuur 23. Als resultaat wordt de uitgang van het commando-register (golfvorm g van figuur 23) gehandhaafd, terwijl de letters van de M instructie B worden overgedragen aan een respectief register, zoals aangegeven door golfvorm i van figuur 23. In feitelijke 30 samenloop met het houdsignaal van golfvorm m, worden de verschillende fase klokken verboden, zoals aangegeven in golfvorm n om de letter-over-drachten aan het einde van klokperiode toe te staan. Nadat de letter-overdrachten hebben plaatsgehad, blijft de uitgang van het commando-register geldig tot het einde van klokperiode T^, zoals aangegeven in 35 golfvorm g. Op deze wijze werd de uitvoering van een type 1 M instructie 84 0 3 0 59 -43- 24246/JF/tv vertraagd om letter-overdrachten door de volgende twee instructies van opeenvolgend type toe te staan. De letter van de B instructie zal altijd een nieuw M adres specificeren. Vervolgens wordt de MPAD, zoals aangegeven in golfvorm j genoodzaakt om het M geheugen opnieuw te adresseren (golf-5 vorm k) voor het terugvinden van een nieuwe instructie van het M geheugen en vervolgens zijn N overeenkomstig deel van het N geheugen, zoals aangegeven in golfvorm e. De instructie van het N geheugen wordt ontvangen aan het einde van klokperiode T^, wanneer de houd- en verbodssignalen niet langer gelden.
10 Hoewel de aldus beschreven tijddiagrammen slechts enige van de verschillende situaties vertegenwoordigen, welke ontstaan gedurende de uitvoering van achtereenvolgende instructies op een overlappende wijze, wordt aangenomen, dat de boven gegeven beschrijving voldoende zal zijn om aan te geven hoe deze overlappende instructie-uitvoering plaats vindt en 15 tevens hoe, bijvoorbeeld, verschillende letter-informatie vervangen kan worden in de respectieve registers, wanneer dit vereist is voor de uitvoering van een conditionele M instructie.
Terwijl de betekenis van S instructies en N instructies boven vrij goed werd beschreven, kan de betekenis van de M instructie 20 meer beschrijving vereisen. Hiertoe zijn reeksen of opeenvolgingen van M instructies aangegeven in figuren 24 en 25 en deze zullen nu in het kort worden beschreven.
Figuur 24 toont een opeenvolging van M instructies, welke zouden worden gebruikt in een bepaalde ingang-uitgang-operatie, welke 25 wordt gespecificeerd door een 1-0 beschrijver van het type, dat is aangegeven in figuur 13. Iedere stap van de opeenvolging vereist een M instructie-uitvoering. Deze stappen zijn: inhoud overdracht van MAR naar A2 register; doorzending van "inrichting schrijf" signaal en overdracht van de inhoud van het A1 register en het minst betekenende teken van het 30 B register plus EEN naar A1 register;, doorzending van "ontsluit inrichting lees" signaal; het lezen van de inrichting en het verschuiven van de inhoud van het B register linker 4 bits en het plaatsen in het A3 register; wanneer MAR gereed is, het overdragen van de inhoud van A1 register plus EEN naar A1 register en MAR; wanneer B register gereed is, het 35 overdragen van de inhoud van het B register naar A2 register en het lezen 84 0 3 O ?9 τ « -44- 24246/JF/tv van de inrichting; wanneer MAR gereed is, overdracht van de inhoud van het A2 register naar MAR; wanneer het B register gereed is, overdracht van de inhoud naar MIR; het zenden van de MIR inhoud naar het geheugen en het verschuiven van de inhoud van de A3 register rechter 8 bits.
5 Nog een M reeks is aangegeven in Figuur 25, welke in staat is een "reeks aftast" (string scan) programma uit te voeren, dat gespecificeerd is door een S instructie. Dit programma kan alle aan-vangsposities vinden van alle tegenhangers (matches) van een patroon-reeks (pattern string) in een bronreeks (source string). Het bijschrift 10 van figuur 25 geeft aan, welke registers de respectieve informatie-seg-menten zullen bevatten, welke de bronlocatie S bepalen, evenals de pa-troonlocatie B, de bron-inhoud SC, de patroon-inhoud PC, tegenhanger-indicatie M, wijzers SP, PP en MP en de register basis-registers.
Terwijl bepaalde uitvoeringsvormen van de uitvinding wer-15 den beschreven en aangegeven, zal het aan vakmensen duidelijk zijn, dat wijzigingen en veranderingen kunnen worden aangebracht zonder af te wijken van de geest en strekking van de uitvinding.
8403059
Claims (7)
1. Gegevensverwerkingsinrichting met ten minste één een stuureenheid en een rekenkundige/logische eenheid omvattende processor, waarbij de rekenkundige/logische eenheid een logische eenheid en meerdere registers ς voor de gegevensoverdracht bevat en de stuureenheid een stuurorgaan omvat, dat een microinstructiegeheugen bevat, dat onder een aantal adressen aanstuurbaar is en afhankelijk van het respectieve adres verschillende microinstructietypen, respectievelijk verschillende micro-instructies af geeft, met het kenmerk, dat met het microinstructiegeheugen een 10 microinstructiedecodeur is verbonden voor de decodering van het micro- instructietype en naar keuze voor de aansturing van een adres van een stuurgeheugen, waarbij het stuurgeheugen de onder het adres opgeslagen stuursignalen direkt aan de rekenkundige/logische eenheid en aan de registers af geeft. 15
2. Gegevensverwerkingsinrichting volgens conclusie 1, met het kenmerk, dat de microinstructiedecodeur uit het microinstructiegeheugen enerzijds reeksen van rekenkundige/logische bewerkingen voorschrijvende microinstructies en anderzijds gegevensoverdracht met een in/uitvoer-apparaat voorschrijvende reeksen microinstructies opneemt. 20
3. Gegevensverwerkingsinrichting volgens conclusie 1 of 2, met het kenmerk, dat de microinstructiedecodeur is gekoppeld met een klokorgaan en via het stuurgeheugen met een stuurinstructiedecodeur is verbonden, aan de uitgangen waarvan afhankelijk van het micro- i instructietype stuursignalen met verschillende soorten uitvoeringsfasen 25 worden af gegeven en dat tussen de microinstructiedecodeur en het stuurgeheugen in een adresseerorgaan is voorzien, dat verdere stuurinstructies ophaalt, waarvan enige bepaalde in het stuurgeheugen opgeslagen stuursignalen aanduiden.
4. Gegevensverwerkingsinrichting volgens conclusie 3, met het 30 kenmerk, dat de stuurinstructiedecodeur op het klokorgaan is aangesloten en de uitvoering van een voorgaande stuursignaalgroep door het blokkeren van bepaalde uitvoeringsfasen blokkeert en het uitlezen van een nieuwe microinstructie mogelijk maakt.
5. Programmeerbare eenheid met een logische eenheid en een 35 veelvoud van registers voor informatieoverdracht, met het kenmerk, dat deze eenheid omvat: 8403059 i -46- 24246/JF/tv . β' ·» i ketenmiddelen, welke gekoppeld zijn om de logische eenheid te conditioneren en registers voor het uitvoeren van logica en informatieoverdrachten in antwoord op verschillende specifieke stelsels van besturende signalen; een besturend geheugen voor het opslaan van een veelvoud 5 van verschillende stelsels van besturende signalen; een commando-geheugen voor het opslaan van hervindbaar gecodeerde operationel commando's waarvan sommige bepaalde stelsels van besturende signalen specificeren en een commandodecodeerder gekoppeld met het besturende geheugen voor het hervinden van bepaalde specifieke 10 stelsels van besturende signalen om hetzij een logische eenheid of de registers te conditioneren, en dat een uitwendige perifere- of \ hulpinrichting aanwezig is; waarbij de logische eenheid en de registers in staat zijn om logische operaties uit te voeren benevens informatie-overdracht naar 15 en van de hulpinrichting en waarbij het commandogeheugen in staat is volgorden van commandoinstructies op te slaan, welke logische operaties en welke informatieoverdrachten specificeren naar en van de hulpinrichting.
6. Programmeerbare eenheid omvattende een veelvoud van registers 20 voor informatie-overdracht, een eerste geheugen voor het opslaan van instructies, welke programma's specificeren, een tweede geheugen voor het opslaan van stelsels van operationele commando-instructies en een derde geheugen voor het opslaan van stelsels van besturende instructies, met het kenmerk, dat aanwezig zijn: i 25 eerste middelen gekoppeld met het eerste geheugen en in staat één van de programmainstructies te ontvangen; tweede middelen gekoppeld met de eerste middelen en reagerend op de ontvangst van de programmainstructie om het tweede geheugen te adresseren en een commando-instructie te ontvangen; en 30 derde middelen gekoppeld met de tweede middelen en reagerend op de ontvangst van een commando-instructie om het derde geheugen te adresseren en een besturende instructie te ontvangen en dat een uitwendige hulpinrichting aanwezig is waarbij de registers in staat zijn informatieoverdrachten uit te voeren naar of van de hulpinrichting en waarbij het 35 tweede geheugen in staat is om volgorden van commando-instructies op te slaan, welke logische operatie specificeren en volgorden van commando-instructies, welke informatie-overdrachten specificeren naar of van de «403059 / -47- 24246/JF/tv hulpinrichting.
7. Programmeerbare eenheid omvattende een veelvoud van registers voor informatie-overdracht, een eerste geheugen voor het opslaan van instructies welke programmaTs specificeren en een tweede geheugen voor het opslaan van stelsels van operationele commando-instructies, met 5 het kenmerk, dat aanwezig zijn: eerste middelen gekoppeld met het eerste geheugen en in staat om één van de programmainstructies te ontvangen; tweede middelen gekoppeld met de eerste middelen en reagerend op de ontvangst van de programmainstructie om het tweede geheugen te 10 adresseren en een commando-instructie te ontvangen; j klokmiddelen voor het opwekken van tijdimpulsen, welke fasen j vertegenwoordigen gedurende welke de commando-instructies worden ] uitgevoerd; en adresseringsmiddelen welke in staat zijn om een commando-15 instructie te hervinden gedurende de uitvoering van een voorgaande i commando-instructie, en dat een uitwendige hulpinrichting aanwezig is; waarbij de registers in staat zijn informatie-overdrachten uit te voeren naar en van de hulpinrichting; 20 en waarbij bepaalde volgorden van commando-instructies op geslagen in het tweede geheugen in staat zijn logische operaties te specificeren en andere volgorden van commando-instructies in staat zijn informatie-overdrachten te specificeren naar of van de hulpinrichting. Eindhoven, oktober 1984. 8403059
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US04/825,569 US4558411A (en) | 1969-05-19 | 1969-05-19 | Polymorphic programmable units employing plural levels of sub-instruction sets |
US82556969 | 1969-05-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
NL8403059A true NL8403059A (nl) | 1985-02-01 |
Family
ID=25244342
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NLAANVRAGE7006955,A NL178361C (nl) | 1969-05-19 | 1970-05-13 | Programmeerbare eenheid voor een gegevensverwerkende inrichting. |
NL8403030A NL8403030A (nl) | 1969-05-19 | 1984-10-05 | Polymorfe programmeerbare eenheden, welke meervoudige niveaus van sub-instructiestelsels toepassen en daarbij behorende commandogeheugens. |
NL8403059A NL8403059A (nl) | 1969-05-19 | 1984-10-08 | Polymorfe programmeerbare eenheden, welke meervoudige niveaus van sub-instructiestelsels toepassen en daarbij behorende informatie-overdracht naar perifere apparatuur. |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NLAANVRAGE7006955,A NL178361C (nl) | 1969-05-19 | 1970-05-13 | Programmeerbare eenheid voor een gegevensverwerkende inrichting. |
NL8403030A NL8403030A (nl) | 1969-05-19 | 1984-10-05 | Polymorfe programmeerbare eenheden, welke meervoudige niveaus van sub-instructiestelsels toepassen en daarbij behorende commandogeheugens. |
Country Status (11)
Country | Link |
---|---|
US (1) | US4558411A (nl) |
JP (4) | JPS578494B1 (nl) |
BE (1) | BE750068A (nl) |
CA (2) | CA939070A (nl) |
CH (1) | CH522919A (nl) |
DE (1) | DE2023354C2 (nl) |
FR (1) | FR2047381A5 (nl) |
GB (3) | GB1318233A (nl) |
NL (3) | NL178361C (nl) |
NO (1) | NO137165C (nl) |
SE (1) | SE393201B (nl) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1426749A (en) * | 1973-06-05 | 1976-03-03 | Burroughs Corp | Micro programme data processor having parallel instruction flow streams for plural level of subinstruction sets |
US4024504A (en) * | 1973-12-21 | 1977-05-17 | Burroughs Corporation | Firmware loader for load time binding |
IT1016854B (it) * | 1974-08-21 | 1977-06-20 | Olivetti & Co Spa | Calcolatore elettronico di elabora zione dati |
EP0016523B1 (en) | 1979-02-13 | 1984-09-26 | The Secretary of State for Defence in Her Britannic Majesty's Government of the United Kingdom of Great Britain and | Data processing unit and data processing system comprising a plurality of such data processing units |
US4577282A (en) * | 1982-02-22 | 1986-03-18 | Texas Instruments Incorporated | Microcomputer system for digital signal processing |
US5854907A (en) * | 1982-02-22 | 1998-12-29 | Texas Instruments Incorporated | Microcomputer for digital signal processing having on-chip memory and external memory access |
JPS58182758A (ja) * | 1982-04-20 | 1983-10-25 | Toshiba Corp | 演算制御装置 |
NL8203175A (nl) * | 1982-08-12 | 1984-03-01 | Wavin Bv | Haspel voor het opwikkelen van kunstofbuis. |
JPS6031479A (ja) * | 1983-07-26 | 1985-02-18 | Sumitomo Rubber Ind Ltd | 可撓性ホ−ス用巻き取り装置 |
JPS6089585U (ja) * | 1983-11-28 | 1985-06-19 | 株式会社富士通ゼネラル | 冷蔵庫 |
GB8413933D0 (en) * | 1984-05-31 | 1984-07-04 | Columbia Automation Ltd | Emulating timing characteristics of microprocessor |
CA1223969A (en) * | 1984-10-31 | 1987-07-07 | William M. Johnson | Microcode control of a parallel architecture microprocessor |
US4783738A (en) * | 1986-03-13 | 1988-11-08 | International Business Machines Corporation | Adaptive instruction processing by array processor having processor identification and data dependent status registers in each processing element |
JPS638269U (nl) * | 1986-07-02 | 1988-01-20 | ||
JPS6317174U (nl) * | 1986-07-19 | 1988-02-04 | ||
US5185870A (en) * | 1987-04-10 | 1993-02-09 | Tandem Computers, Inc, | System to determine if modification of first macroinstruction to execute in fewer clock cycles |
JPS63161483U (nl) * | 1987-04-10 | 1988-10-21 | ||
EP0312764A3 (en) * | 1987-10-19 | 1991-04-10 | International Business Machines Corporation | A data processor having multiple execution units for processing plural classes of instructions in parallel |
JPH01117184A (ja) * | 1987-10-26 | 1989-05-10 | Ashimori Ind Co Ltd | ホース巻取装置 |
US5136717A (en) * | 1988-11-23 | 1992-08-04 | Flavors Technology Inc. | Realtime systolic, multiple-instruction, single-data parallel computer system |
JPH0810428B2 (ja) * | 1988-12-26 | 1996-01-31 | 三菱電機株式会社 | データ処理装置 |
US5321825A (en) * | 1991-06-18 | 1994-06-14 | Advanced Micro Devices, Inc. | Processing system with lock spaces for providing critical section access |
US6150836A (en) * | 1997-06-13 | 2000-11-21 | Malleable Technologies, Inc. | Multilevel logic field programmable device |
US6006321A (en) * | 1997-06-13 | 1999-12-21 | Malleable Technologies, Inc. | Programmable logic datapath that may be used in a field programmable device |
US6219776B1 (en) * | 1998-03-10 | 2001-04-17 | Billions Of Operations Per Second | Merged array controller and processing element |
US6438569B1 (en) | 1999-09-20 | 2002-08-20 | Pmc-Sierra, Inc. | Sums of production datapath |
US7237216B2 (en) * | 2003-02-21 | 2007-06-26 | Infineon Technologies Ag | Clock gating approach to accommodate infrequent additional processing latencies |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL276777A (nl) * | 1961-04-04 | |||
GB1014635A (en) * | 1962-07-31 | 1965-12-31 | Rca Corp | Data processing system |
US3300764A (en) * | 1963-08-26 | 1967-01-24 | Collins Radio Co | Data processor |
US3302183A (en) * | 1963-11-26 | 1967-01-31 | Burroughs Corp | Micro-program digital computer |
GB1054725A (nl) * | 1964-04-06 | |||
US3315235A (en) * | 1964-08-04 | 1967-04-18 | Ibm | Data processing system |
US3391394A (en) * | 1965-10-22 | 1968-07-02 | Ibm | Microprogram control for a data processing system |
US3404378A (en) * | 1965-10-29 | 1968-10-01 | Automatic Telephone & Elect | Computers |
US3478322A (en) * | 1967-05-23 | 1969-11-11 | Ibm | Data processor employing electronically changeable control storage |
JPS5320378A (en) * | 1976-08-09 | 1978-02-24 | Tokyo Tatsuno Kk | Method of testing leakage in tank |
DE2639250C2 (de) * | 1976-09-01 | 1985-12-12 | Basf Ag, 6700 Ludwigshafen | Verfahren zur Herstellung von nadelförmigem, kobaltdotiertem magnetischem Eisenoxid |
JPS5331619A (en) * | 1976-09-02 | 1978-03-25 | Kayaku Antibiotic Research Co | Tetrapeptide and its derivatives |
-
1969
- 1969-05-19 US US04/825,569 patent/US4558411A/en not_active Expired - Lifetime
-
1970
- 1970-04-29 CA CA081410A patent/CA939070A/en not_active Expired
- 1970-05-06 SE SE7213883A patent/SE393201B/xx unknown
- 1970-05-06 JP JP3855270A patent/JPS578494B1/ja active Pending
- 1970-05-06 FR FR7016550A patent/FR2047381A5/fr not_active Expired
- 1970-05-06 GB GB328173A patent/GB1318233A/en not_active Expired
- 1970-05-06 GB GB330273A patent/GB1318234A/en not_active Expired
- 1970-05-06 BE BE750068D patent/BE750068A/xx not_active IP Right Cessation
- 1970-05-06 GB GB2180370A patent/GB1318231A/en not_active Expired
- 1970-05-12 NO NO701791A patent/NO137165C/no unknown
- 1970-05-13 DE DE2023354A patent/DE2023354C2/de not_active Expired
- 1970-05-13 CH CH715770A patent/CH522919A/de not_active IP Right Cessation
- 1970-05-13 NL NLAANVRAGE7006955,A patent/NL178361C/nl not_active IP Right Cessation
-
1975
- 1975-07-04 CA CA230,760A patent/CA993562A/en not_active Expired
-
1978
- 1978-03-16 JP JP53030497A patent/JPS5922263B1/ja active Pending
- 1978-03-20 JP JP53032295A patent/JPS5922264B1/ja active Pending
- 1978-03-23 JP JP53020378A patent/JPS5922262B1/ja active Pending
-
1984
- 1984-10-05 NL NL8403030A patent/NL8403030A/nl not_active Application Discontinuation
- 1984-10-08 NL NL8403059A patent/NL8403059A/nl not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
NL7006955A (nl) | 1970-11-23 |
JPS578494B1 (nl) | 1982-02-17 |
US4558411A (en) | 1985-12-10 |
NO137165C (no) | 1978-01-11 |
GB1318233A (en) | 1973-05-23 |
DE2023354A1 (de) | 1970-11-26 |
CA939070A (en) | 1973-12-25 |
GB1318231A (en) | 1973-05-23 |
SE393201B (sv) | 1977-05-02 |
NL178361B (nl) | 1985-10-01 |
JPS5922262B1 (nl) | 1984-05-25 |
FR2047381A5 (nl) | 1971-03-12 |
DE2023354C2 (de) | 1983-10-20 |
CH522919A (de) | 1972-05-15 |
JPS5922264B1 (nl) | 1984-05-25 |
NL178361C (nl) | 1986-03-03 |
CA993562A (en) | 1976-07-20 |
NL8403030A (nl) | 1985-02-01 |
JPS5922263B1 (nl) | 1984-05-25 |
NO137165B (no) | 1977-10-03 |
GB1318234A (en) | 1973-05-23 |
BE750068A (fr) | 1970-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NL8403059A (nl) | Polymorfe programmeerbare eenheden, welke meervoudige niveaus van sub-instructiestelsels toepassen en daarbij behorende informatie-overdracht naar perifere apparatuur. | |
US3983539A (en) | Polymorphic programmable units employing plural levels of sub-instruction sets | |
US4439827A (en) | Dual fetch microsequencer | |
US3983541A (en) | Polymorphic programmable units employing plural levels of phased sub-instruction sets | |
US4118773A (en) | Microprogram memory bank addressing system | |
US4370709A (en) | Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases | |
US4016545A (en) | Plural memory controller apparatus | |
US3781823A (en) | Computer control unit capable of dynamically reinterpreting instructions | |
US4099229A (en) | Variable architecture digital computer | |
US4179731A (en) | Microprogrammed control system | |
JP3954171B2 (ja) | コンピュータにおけるスカラ値をベクトルに記入する方法 | |
JPS59117666A (ja) | ベクトル処理装置 | |
US3953833A (en) | Microprogrammable computer having a dual function secondary storage element | |
US4541045A (en) | Microprocessor architecture employing efficient operand and instruction addressing | |
NL7807314A (nl) | Inrichting voor het vergroten van de lengte van een logisch computeradres. | |
US3958227A (en) | Control store system with flexible control word selection | |
US4045782A (en) | Microprogrammed processor system having external memory | |
US3786434A (en) | Full capacity small size microprogrammed control unit | |
US4467415A (en) | High-speed microprogram control apparatus with decreased control storage requirements | |
KR940005202B1 (ko) | 비트 순서 전환 장치 | |
EP0010196B1 (en) | Control circuit and process for digital storage devices | |
US4360869A (en) | Control store organization for a data processing system | |
EP0164418B1 (en) | Microprogram control system | |
EP0141752B1 (en) | Microcode control system for digital data processing system | |
US4714991A (en) | Microprogram control apparatus having variable mapping between microinstruction control bits and generated control signals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A1B | A search report has been drawn up | ||
BC | A request for examination has been filed | ||
CNR | Transfer of rights (patent application after its laying open for public inspection) |
Free format text: BURROUGHS CORPORATION |
|
BV | The patent application has lapsed |