NL7920197A - Informatieverwerkende inrichting met een op-code verlengd register. - Google Patents
Informatieverwerkende inrichting met een op-code verlengd register. Download PDFInfo
- Publication number
- NL7920197A NL7920197A NL7920197A NL7920197A NL7920197A NL 7920197 A NL7920197 A NL 7920197A NL 7920197 A NL7920197 A NL 7920197A NL 7920197 A NL7920197 A NL 7920197A NL 7920197 A NL7920197 A NL 7920197A
- Authority
- NL
- Netherlands
- Prior art keywords
- address
- memory
- instruction
- register
- bit
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- 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/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
7 9 2 O 1 9 7 VO 805
Informatieverwerkende inrichting met een op-code verlengd register
De uitvinding heeft betrekking op een centrale verwerkingseenheid (CPU) van een informatieverwerkingssysteem voor het met behulp van .een reeks instructiecycli uitvoeren van een.programma van opgeslagen, instructies, waarbij de centrale verwerkingseenheid geschikt is voor het ont-5 vangen van een instructie tijdens de "ophaal"-fase-instructie van een instructiecyclus en, in responsie op de instructie, het tijdens de informatie uitvoerfase van de instructiecyclus uitvoeren van een rekenbewerking op de opgeslagen informatie gespecificeerd door de instructie, waarbij elke opgeslagen instructie voorzien.is van een op-codegedeelte 10 en een adresgedeelte, waarbij de centrale verwerkingseenheid voorzien is van een instructieregister voor het tijdens de instructie-ophaalfase van de instructiecyclus ontvangen van het op-codegedeelte van de instructie en voor het opslaan van de op-code tijdens de gehele instructiecyclus en van een besturingsinrichting voor het tijdens de informatiebewerkings-1 5 fase van de instructiecyclus opwekken van commandosignalen die corresponderen met de rekenbewerking.
De op-code van een instructie is een groep van binaire cijfers (bits) die een rekenbewerking bepalen, zoals OPTELLEN, AFTREKKEN, COMPLEMENT, etc. Het instellen van de rekenbewerkingen, geformuleerd voor een 20 CPU hangt af van de soort van bewerking die moet worden uitgevoerd, Het totale aantal verschillende bewerkingen, die door de CPU kunnen worden uitgevoerd bepaalt de waarde van de rekenbewerkingen.
Het aantal bits dat de op-code (op-codeveld) vormt is een functie van het aantal bewerkingen dat mogelijk is. Er zijn ten minste N-bits no- N .
25 dig voor het definiëren van 2 of minder verschillende bewerkingen. De ontwerper van de CPU geeft aan elke bewerking een andere bitcombinatie (d.w.z. op-code). Een stuursectie van de CPU detecteert op het juiste tijdstip na elkaar de bitcombinatie en voert de juiste commandosignalen naar de vereiste bestemmingen in de CPU, teneinde de gespecificeerde be-30 werking uit te voeren.
Behalve het specificeren van een rekenbewerking, zal een instructie normaliter ook andere informatie geven, zoals het adres of de adressen van de geheugenplaaitsen, waar een operand of de operanden zijn opge- 7920197 -2- .slagen, die worden benut voor de rekenbewerkingen. Het aantal bits, dat vereist is voor de operandadressen. (adresveld) bezetten gewoonlijk bet grootste deel van het aantal beschikbare bitposities in de instructie, zodat slechts een gering aantal bits overblijft voor .het op-codeveld.
5 Wanneer de ontwerper van een CPU vindt, dat de toegekende bits voor het op-codeveld onvoldoende is voor een bepaalde instelling van de rekenbewerkingen, had hij tot nu toe de keuze, of het accepteren van een kleiner .aantal rekenbewerkingen, of het verlengen van de instructie.
Lange instructies zijn nadelig in kleine rekeninrichtingen, die 10 slechts een beperkte geheugencapaciteit hebben voor het opslaan van instructies. Bovendien hebben kleine rekeninrichtingen een beperkte woord-lengte (in bepaalde systemen waar de CPU de vorm heeft van een microprocessor minder dan k bits), terwijl een lange instructie het nadeel heeft van een groot aantal geheugenreferenties om de instructie eruit 15 te halen en derhalve een langzamere uitvoering van de bewerking. Van het standpunt van veelzijdigheid, programmeergemak, en de werkefficiëntie, is het echter gewenst een groot aantal rekenbewerkingen te hebbem. Het probleem is derhalve een CPU te ontwikkelen voor kleine rekeninrichtingen, die geschikt is voor het uitvoeren van een groot aantal bewerkingen, 20 met een minimale instructielengte.
Voor het in stand houden van de lengte van de instructies heeft men zich in de bekende techniek bezig gehouden met het verminderen van de lengte van het adresveld door het toepassen van een of andere vorm van verkorte adressering van geheugenplaatsen, bij voorbeeld in de vorm 25 van indirecte adressering, relatieve adressering, of het verlengen van de adrescode. Evenwel blijft het probleem aanwezig hoe een extra vermindering van de instructielengte is te verkrijgen, wanneer een U-bit . N .
op-codeveld m de instructie meer dan 2 -rekenbewerkingen omvat.
Het probleem wordt volgens de uitvinding opgelost door de centra- 30 le verwerkingseenheid te voorzien van een op-code-verlengregister voor het daarin opslaan van een geselecteerd op-codeverlengwoord en- waarbij de besturingsinrichting zowel reageert op de geccmbineerde inhoud van het instructieregister als op het op-codeverlengregister voor het opwekken van commandosignalen, die overeenkomen met de gecombineerde inhoud, 35 waarbij de inhoud van het op-codeverlengregister alleen verandert indien de centrale verwerkingseenheid een instructie ontvangt voor het overdragen van een nieuw geselecteerd op-codeverlengwoord naar het op-code- 7920197 -3- verlengregister.
De uitvinding voorziet in een CPU van een informatieverwerkend systeem, teneinde een programma van opgeslagen informatie door middel van een opeenvolging van instructiecycli uit te voeren, waarbij de CPU 5 gedurende de instructie-ophaalfase van de instructiecyclus een instructie ontvangt en in responsie op de instructie, bet gedurende de informa-tiebewerkingsfase van een instructiecyclus uitvoeren van een bewerking gespecificeerd door de instructie van opgeslagen informatie gespecificeerd door de instructie, waarbij elke opgeslagen instructie voorzien 10 is van een op-codegedeelte en van een adres-gedeelte, waarbij de CPU voorzien is van een instructieregister voor het ontvangen van het op-codegedeelte van de instructie gedurende de instructie ophaalfase en voor het opslaan van de op-code tijdens de gehele instructiecyclus; en van een besturingsinrichting voor het leveren van de commandosignalen . 15 die corresponderen met de rekenbewerkingen gedurende de informatie-uit-voeringsfase, met het kenmerk, dat de opgeslagen informatie voorzien is van operanden en op-codeverlengwoorden en dat voorzien is in een op-code— verlengregister voor het daarin opslaan van een geselecteerd op-code-verlengwoord en waarbij de besturingsinrichting responsief is op de ge-20 combineerde inhoud van het instructieregister en van het op-codeverleng-register voor het leveren van commandosignalen, die corresponderen met de rekenbewerkingen, die vereist zijn voor de respectieve gecombineerde inhoud, waarbij de inhoud van.het op-codeverlengregister verandert wanneer de CPU een instructie ontvangt voor het overdragen van een nieuw ge-25 selecteerd op-codeverlengwoord naar het op-codeverlengregister.
De inhoud van het op-codeverlengregister, dat niet veranderd behoeft te worden bij elke instructiecyclus, wordt derhalve gecombineerd met de op-code, opgeslagen in het instructieregister, dat verandert met elke nieuwe instructie voor het vormen van een effectieve langere op-30 code.
Met voordeel wordt het op-codeverlengregister tóegepast bij het verdelen van het aantal CPU-bewerkingen in algemene rekenbewerkingen en facultatieve CPU-eigenschappen, die de algemene bewerkingen modificeren. Het op-codeveld bepaalt derhalve in elke instructie de algemene bewer-35 kingen, terwijl de facultatieve eigenschappen wel of niet worden geselecteerd door het op-codeverlengwoord, opgeslagen in het op-codeverleng-register.
7920197 -k-
Het is derhalve een doel van de uitvinding een CPU te verschaffen, die een rekenbewerkingsinstelling mogelijk maakt, die groter is dan die, die bepaald kan worden door het op-codeveld in een instructie.
Een ander doel van de uitvinding is te voorzien in een CPU, die 5 de veelzijdigheid en de prestatie van een kleine rekeninrichting met een kleine woordafmeting en een beperkte instructiegeheugencapaciteit aanzienlijk verbetert.
Een ander doel van de uitvinding is te voorzien in een CPU voor het verminderen van het aantal geheugenreferenties, die vereist zijn 10 voor het ophalen van een instructie in een informatieverwerkend systeem met een kleine woordafmeting.
Een.ander doel van de uitvinding is te voorzien in een CPU, die het mogelijk maakt programmeerbare facultatieve eigenschappen toe te voegen zonder dat aanvullende op-codes nodig zijn.
15 Een ander doel van de uitvinding is te voorzien in een CPU, die toegepast kan worden in een goedkope microverwerkingsinrichting met een zeer grote prestatie.
De hierboven aangegeven doelen van de uitvinding zijn gerealiseerd in de verschillende uitvoeringsvormen, die naderhand zullen worden beschre-20 ven.
Het is evenwel duidelijk, dat ook andere nuttige uitvoeringsvormen kunnen worden onderworpen die minder kunnen uitvoeren dan alle hierboven genoemde doelen, maar die tóch gelegen zijn binnen de principes van de uitvinding.
25 De uitvinding zal onderstaand aan de hand van een aantal voorbeel den en onder verwijzing naar de tekening nader worden uiteengezet. Uitdrukkelijk wordt naar voren gebracht dat de tekening uitsluitend bestemd is ten behoeve van een nadere uiteenzetting van de uitvinding en niet . .bestemd is om de uitvinding te beperken.
30 Fig. 1 toont een blokdiagram van een bekende CPU; fig. 2 is een stromingsdiagram voor het aangeven van de wijze van verwerking gedurende een instructiecyclus; fig. 3 toont een diagram van de opeenvolgende stappen van de CPU van fig. 1 tijdens het uitvoeren van een ALU-bewerking; 35 fig· ^ toont een blokdiagram van een CPU, waarin de operand- breedte wordt geregeld door de programmabesturing van de ALU; fig. 5 toont een logicadiagram van de overdracht-in-administratie- 7920197 -5- keten, zoals toegepast in de CPU van fig. U; fig. 6 toont een logicadiagram van de overdracht-uit-multiplex-keten, zoals toegepast in de CPU van fig. l·; fig. 7 is een logicadiagram van de overdracht-uit-registerketen 5 toegepast in de CPU van fig. U; fig. 8 is een logicadiagram van de draai/verschuif naar rechts-administratieketen, zoals toegepast in de CPU van fig. k; fig. 9 is een logicadiagram van de ALU-functieblokkeerketen, zoals toegepast in de CPU van fig 10 fig. 10 is een blokdiagram van een CPU, waarin de facultatieve kenmerken van variabele operandbreedte, automatisch laden en auto-incrementering van de geheugenaanwijsregisters worden geregeld door een programmabesturing; fig. 11 toont een op-códeverlengregister, zoals toegepast in de . 15 CPU van fig. 10; fig. 12 is een diagram van de door de CPU van fig. 10 achtereenvolgens uitgevoerde stappen tijdens het uitvoeren van een ALU-bewerking en de.bewerking van, de variabele operandbreedte en de auto-incremente-rende eigenschappen; 20 fig. 13 is een diagram van de door de CPU van fig. 10 gevolgde stappen in adresformatie en de bewerking van de eigenschap van het automatisch laden; fig. 1U is· een blokdiagram van een deel van een CPU, waarin de overdracht van het adresregister voor het daarin opslaan van hetzij ge-25 heugenadressen of randinrichtingadressen door de programmabesturing wordt geregeld overeenkomstig de principes van de uitvinding; fig. 15 is een blokdiagram van het instructieregister, op-code-verlengregister en de besturingsinrichting van de CPU van fig. 1U en een logicadiagram van de keten in de besturingsinrichting, die het adres-30 registeropdrachtsveld decodeert; fig. 16 is een blokdiagram van een koppelingsopstelling van de CPU van fig. 1U met een RAM en drie randinrichtingen.
Thans wordt verwezen naar fig. 1 , die een blokdiagram geeft van een simpele CPU 100, die in de technisch op zich bekend is en die toe-35 gepast wordt in verwerkingssystemen, zoals minicomputers en microver-werkingsinrichtingen. Alleen die gedeelten van de CPU, die essentieel zijn voor dëuitleg, zijn in fig. 1 aangegeven. In de configuratie van 79 2 0 1 9 7 ........................................................ ........-6- fig. 1 is voorzien in êên enkel instructieregister (IR) 101, waarin de in uitvoering zijnde instructie is opgeslagen. Een programma van instructie dat moet worden uitgevoerd door de CPU is opgeslagen in een dood geheugen (ROM) 102, in de vorm van "binaire woorden, die hierna instruc-5 tiewoorden genoemd worden. In dit voorbeeld bevat elk instructiewoord acht bits. De CPU haalt teneinde een complete instructie te vormen een integraal aantal instructiewoorden uit het ROM. Elke instructie is samengesteld uit een op-code, die een bewerking aangeeft, die door de CPU kan worden uitgevoerd, en uit een adres-code, die de geheugenplaats aangeeft, 10 waarin een operand of de operanden voor het uitvoeren, van. een specifieke bewerking wordt of worden opgeslagen. In de CPU van fig. 1 zijn de operand en opgeslagen in een vrij toegankelijk geheugen (RAM) 103, welke operanden in de vorm zijn van. binaire woorden, die hierna operandwoorden genoemd worden. In dit voorbeeld, omvat elk operandwoord acht bits. Een 15 operand wordt gevormd uit êên operandwoord, dat uit het RAM tevoorschijn is gehaald. De IR houdt acht bits van een instructie vast, waarvan zes gereserveerd zijn voor de op-code en de overblijvende twee gereserveerd zijn voor het deel van de adrescode, dat de adresmodus specificeert.
Vier adresmodi zijn beschikbaar in de CPU van fig. 1; nl. de direct mode, 20 twee indirecte modi en de spoedinformatiemodus. De lengte van een instructie varieert afhankelijk van de toegepaste adresmodus. In onderstaande tabel I is een uitvoeringsvoorbeeld gegeven hoe een zes-bit op-code wordt toegepast voor het bepalen van achtenveertig rekenbewerkingen.
25 TABEL I
CPU instructie-instelling
Instructie Op-code 1 Tel op 000000 2 Tel op bij overdracht 000001 30 3 Trek af 000010 U Trek af bij overdracht 000011 5 En 000100 6 Of 000101 7 Exclusief af 000110 35 8 Verplaats 000111 9 Vergelijk en tak af indien gelijk 001000 10 Vergelijk en tak af niet gelijk 001001 11 Vergelijk en tak af kleiner dan 001010 7920197 -7- 12 Vergelijk en tak af groter dan gelijk 001011 13 Test en tak af indien nul 001100 1U· Test en tak af\ indien niet nul 001101 -15 DECREMENT, tak af indien niet nul 001110 5 16 Stel in 001111 17 Vrijgeven 010000 18 INCREMENT 010001 19 DECREMENT 010010 20 COMPLEMENT 010011 10 21 Draai naar links 010100 22 Draai naar links bij overdracht 010101 23 Draai naar rechts 010110 2k Draai naar rechts met overdracht 010111 25 Verschuif naar links 011000 15 26 Verschuif naar links hij overdracht 011001 27 Verschuif naar rechts 011010 28 Verschuif naar rechts hij overdracht 011011 29 . Stel Bit in 011100 30 Geef hit vrij 011101 20 31 Tak af op hit instelling 011110 32 Tak af op vrijgeefbit. 011111 33 Verwissel 100000 3^· Test met masker en tak af indien nul 100001 35 Test met. masker eh tak af indien niet nul 100010 25 36 Tak af 100011 37 Spring 100100 38 Roep op 100101 39 Keer terug 100110 1+0 Keer terug hij onderbreken 100111 30 1+1 Geef vlag. register vrij 101000 1+2 Stel vlag register in 101001 1+3 Druk 101010 1+1+ Duw 101011 1+5 Verwissel geheugen aanwijzer 101100 35 1+6 Laad stapel aanwijzer 101101 1+7 Sla stapel aanwijzer op 101110 1+8 Geen bewerking 101111 7920197 -8-
De programmateller (PC) 10U, houdt normaliter het adres vast van het volgende instructiewoord of constante, dat uit het ROM wordt gehaald. De PC is een twaalf-hit-register, dat door een.stap-voor-stap telreeks gaat en. daarbij wijst op opeenvolgende in het ROM opgeslagen 5 instructiewoorden; echter niet in responsie op een prpjgramma-overdrachts-ihstructie (d.w.z. instructies 9-15» 31, 32, 3^-1+0, 1*3, en van tabel 1),. wanneer een nieuw adres in het PC wordt geladen.. Een acht-bit infor-matiebus 105, wordt toegepast voor het overdragen van:instructies, adressen, en operanden tussen de verschillende geheugenplaatsen in de CPU.
10 De adressen van de geheugen in het RAM 103, worden opgeslagen in een twaalf-bit geheugen-adresvergrendelinrichting (MAL) 106, die een adres ontvangt van êén van een groep van registers in een geheugenaanwijsin# . richting (MP) 107. De inhoud van het IR wordt gedetecteerd doof een be-sturingsinrichting 10Ö, die commandosignalen levert voor de rekenbewer-15 kingen en adresm anipulaties, gespecificeerd door de gedetecteerde inhoud. De commandosignalen worden overgedragen naar verschillende bestemmingen in de CPU, via stuurlijnen 109 -
De rekenkundige, en logische bewerkingen worden uitgevoerd in de rekenlogica-eenheid (ALU) -110, die voorzien is van twee ingangen A en B, 20 waaraan ein of twee operanden kunnen worden toegevoerd. Een accumulator (ACC) 113, slaat ten behoeve van de ALU een operand op en slaat eveneens het resultaat op van de ALU-bewerking. De ALU is voorzien van een over-dracht-in-ingang voor het ontvangen van een overdrachtssignaal en van een overdracht-uit-uitgang, waaraan het door de ALU opgewekte over-25 drachtssignaal wordt toegevoerd. Het ingangsoverdrachtssignaal wordt geleverd door de overdracht-in-administratieketen 111, die een +1 signaal selecteert in het geval van een INCREMENT bewerking, en een overdrachtssignaal selecteert in het geval van een DRAAI-HAAR-LINKS BIJ OVERDRACHT-bewerking, of de meest significante bit AC 7, van de accumulator selec-30 teert in het geval van een DRAAI NAAR LINKS-bewerking. Het uitgangsover-drachtssignaal wordt ontvangen door een overdrachtsregister (CR) 112, dat een ALU-overloop of -onderloopfunctie aangeeft. Het CR is eveneens oplaadbaar, terugzetbaar en neemt deel in de SCHUIF- en DRAAI-bewerkingen.
De ACC die een hoofdgedeelte ACM, en een slaafgedeelte ACS bezit, 35 wordt in dit voorbeeld eveneens toegepadt als een vergrendeling voor de informatie die moet worden uitgelezen uit of moet worden ingelezen in het RAM. Een speciale schuif/draainaarrechts-keten (SRR) 11U, levert 7920197 -9- ..........
de SCHUIF-EN-DRAAI-MAR-RECHTS-bewerkingen met betrekking tot de ACC.
De SCHUIF-EU-DRAAJ-NAAR-LIMS-bewerking wordt verkregen door de operand, bij zichzelf op te tellen en vereist derhalve geen speciale keten. Een draai/verschuif-naar-rechts-aclministratieketen (RSR) 115, selecteert 5 hetzij het overdrachts-uitgangssignaal, hetzij de minst significante bit, ACO, van de ACC die moet worden opgeladen in de meest significante bit-positie van de ACC, ten behoeve van resp. de DRAAI-NAAR-RECHTS-bij-overdracht en de DRAAI-NAAR-RECHTS-bewerkingen.
Teneinde de instructiecyclus te vormen vindt de uitvoering van 10 elke instructie plaats met behulp van de CPU in een opeenvolging van basisstappen. De opeenvolgende stappen worden geregeld met behulp van tempeersignalen, die worden opgewekt door een klokketen, die in fig. 1 niet is aangegeven.
Thans wordt verwezen naar fig. 2, waarin een stromingsdiagram is 15 aangegeven van de stappen in de instructiecyclus. De instructiecyclus is verdeeld in twee fasen;- een instructie-ophaalfase en een informatie-uitvoerfase. De refer ent i enurmn er s 201 t/m 206 geven de basisstadia aan van elke fase. In de instructie-ophaalfase wordt een instructiewoord, waarvan het adres in de PC is, overgedragen van het ROM naar het IR.
20 Het. instructiewoord, zoals eerder genoemd, bezit een zes-bit op-codeveld en een twee-bit-adresmodusveld. De eerste stap in de informatie-uitvoe-ringsfase is de formatie van het adres of adressen van operanden,. die vereist zijn voor de bewerking. De operanden worden opgeslagen in het RAM of in inwendige registers in de CPU. Eerst wordt de op-code in het 25 IR gecodeerd met behulp van de besturingsinrichting, teneinde vast te stellen of de bewerking eenwaardig of tweewaardig is. Een eenwaardige bewerking is een bewerking die slechts éên operand vereist, zodat uitsluitend een operandadres wordt gevormd. Het aldus gevormde enkele ope-randadres voor een enkelvoudige bewerking wordt een bestemmingsadres ge-30 noemd, omdat de resultaten van de bewerking automatisch worden opgeslagen in de geheugenplaats, die eerder bezet werd door de enkele operand. Een tweewaardige bewerking is een bewerking die twee operanden vereist, zodat twee operandadressen worden geformeerd. De adressen van de eerste operand wordt het bronadres genoemd, terwijl dat van de twee operand het 35 bestemmingsadres wordt genoemd, omdat de resultaten van de tweevoudige bewerking automatisch zal worden opgeslagen in de geheugenplaats, die eerder bezet werd door de tweede operand. In de CPU van fig. 1, is het 7920197 ................-10-.......
bestemmingsadres in bet algemeen altijd ACC.
De adresmodusbits in het IR worden eveneens gedetecteerd door de besturingsinrichting. Indien een rechtstreekse adressering is aangegeven, wordt, een adres overgedragen van een geheugenplaats in het ROM 5 naar de MAL. Indien evenwel êên van de beide indirecte adresmodi wordt aangegeven, wordt de inhoud van een gespecificeerd geheugenaanwijsregis-ter in de MP overgedragen naar de MAL. In het geval van een spoed-infor-matie-adresmodus wordt de operand of worden de operanden meegevoerd door het adresgedeelte van de instructie en worden derhalve geen operandadres-10 sen gevormd..
Nadat het operandadres is gevormd en overgedragen naar de MAL, kan de operand opgehaald worden uit de geheugenplaats in het RAM, dat \ door de MAL.is aangewezen. De laatste stap in de informatie-uitvoerings-fase is het uitvoeren van de bewerking aangegeven door de op-code in 15 het IR, dat in dit geval een ALU-functie is. Na voltooiing van de ALU-functie eindigt de instructiecyclus.
Thans wordt verwezen naar fig. 3, die een blokdiagram 300 weergeeft van de gesimplificeerde CPU van fig. 1. De referentienummers 301 t/m 310 geven de gedetailleerde stappen aan in een instructiecyclus voor 20 het uitvoeren van de ALU en de informatie-overdrachtsbewerkingen. Niet-informatiebewerkingen, zoals AFTAKKEN, 0PR0EPEN, TERUGKEREN, etc. zijn geklassificeerd als gemengde instructies en zijn niet weergegeven. De tweevoudige bewerking ADD tussen een eerste operand, opgeslagen in een RAM geheugenplaats, aangewezen door een register in het MP en een tweede 25 operand eveneens opgeslagen in de ACC kunnen door de navolgende reeks worden weergegeven: S1 —* S2 —> Sh —S6 > S9 -> S10.
Onder verwijzing naar de toestanden, weergegeven door de blokken aangeduid met de referentiecijfers 301 t/m 310 in fig. 3, wordt in de 30 toestand S1 de inhoud van het ROM geheugenplaats, geadresseerd door de inhoud van PC, overgedragen naar IR. In de toestand S2 wordt de inhoud van IR gecodeerd door de besturingsinrichting. In dit voorbeeld is verondersteld, dat de adresmodus indirect is en dat in de toestand Sb, 30U, de inhoud van een gespecificeerd register in het MP overgedragen wordt 35 naar de MAL. In de toestand S6, 306, wordt de operand, opgeslagen in de RAM-geheugenplaats en gespecificeerd door het adres in de MAL, overgedragen naar de ALU, en wordt een bepaald ALU-bewerking, gespecificeerd 7920197 -11- door de op-code (d.w.z. ADD), uitgevoerd met de hierboven aangegeven operand en de inhoud van ACC, met als resultaat de overdracht naar het hoofdgedeelte (ACM) van de ACC. In de toestand S9, 309, kan de inhoud van ACM, indien gewenst door de instructie, hetzij naar de slaag (ACS) 5 van de ACC, hetzij naar een RAM-geheugenplaats, aangewezen door de MAL, worden overgedragen. Voor de ADD-bewerking blijft het resultaat (de som) . in de ACC. In de toestand S10, 310, wordt het PC geïncrementeerd, alvorens een nieuwe instructiecyclus te beginnen.
Een voorbeeld van een enkelvoudige bewerking, STEL ACCUMULATOR IN, 10 kan weergegeven worden door de navolgende toestandreeks; S1 —> S2 ST S9 —* SI0.
De stappen, weergegeven door de toestanden S1 en S2: zijn dezelfde als die hierboven beschreven voor de tweevoudige bewerking. In de toestand S7, 307, wekt de ALU een acht-bitwoord op, bestaande uit enen, 15 welk woord overgedragen wordt naar de ACM. De stappen weergegeven door de toestanden S9 en S10 zijn dezelfde als hierboven beschreven voor de tweevoudige bewerking.
Een voorbeeld van een informatie-overdrachtsbewerking, VERPLAATS, van. een in het ROM opgeslagen constante, naar een register in het MP, 20 wordt weergegeven door de navolgende toestandreeks; S1'-»'S2-*S3 —>S5—*S10.
De stappen, weergegeven door detoestanden S1 en S2 zijn reeds uiteengezet met betrekking tot de tweevoudige bewerking. In de toestand S3, 303, wordt de PC geïncrementeerd en verwezen naar de ROM-geheugenplaats, 25 waar de constante wordt opgeslagen. In de toestand S5, 305, wordt de constante in de ROM-geheugenplaats, aangewezen door het PC, overgedragen naar het MP. De stap weergegeven door de toestand S10 is reeds uiteengezet met betrekking tot de tweevoudige bewerking.
De CPU-configuratie van fig. 1 kan zodanig worden gemodificeerd, 30 dat deze behalve de in de tabel 1 aangegeven bewerkingen, ook nog andere rekenbewerkingen kan uitvoeren. Bij voorbeeld kan, zoals naderhand in detail beschreven zal worden, de ALU-sectie gewijzigd worden en geschikt gemaakt worden voor zowel vier-bit-operanden als ook voor de normale achtlbit-operanden waarbij de keuze van de operandbreedte wordt geregeld 35 door het besturingsprogramma. Een dergelijke modificatie zou de rekenkundige, de logica en de informatieverplaatsingsbewerkingen, weergegeven door de instructies 1 t/m 35 van tabel 1, beïnvloeden. De modificatie 7920197 . -12- ' ·, zou effectief 35 nieuwe bewerkingen toevoegen aan de vier-bit-operand- breedte, aan de bewerkingen die reeds zijn aangegeven in tabel I, waardoor het totaal-aantal bewerkingen op 83 komt. Voorzover het zes-bit op-codeveld in de CPU van fig. 1 slechts 6b verschillende codes toelaat, 5 moet het opcodeveld uitgebreid worden, teneinde deze extra bewerkingen te kunnen onderbrengen. Als gevolg van het feit, dat de woordafmeting - van de CPU acht-bit is, teneinde koppelingsmoeilijkheden te voorkomen, : zou het noodzakelijk zijn het IR door een veelvoud van acht-bits uit te breiden. Indien elke. instructie informatie moet meevoeren met betrek-10 king tot de operandbreedte, zou de instruetielengte met acht bits toenemen; dit zou een aanzienlijke toename van het ROM geheugen betekenen, teneinde het programma op te slaan en bovendien, is er nog een extra , ROM-referentie nodig, die moet worden toegevoegd aan elke instructie-cyclus. Deze extra toename in het geheugen zal de kosten aanzienlijk doen 15 toenemen, terwijl deze extra ROM-referenties de snelheid van de bewerking aanzienlijk doet afnemen.
Volgens de principes van de uitvinding is eveneens voorzien in een . alternatief middel voor programmaselectie van de operandbreedte. Het zal duidelijk zijn, dat in de meeste programma's, wanneer een bepaalde ope-20 randbreedte is geselecteerd, vele bewerkingen kunnen worden uitgevoerd, alvorens het noodzakelijk is van operandbreedte. te veranderen. Het gedeelte van het op-codeveld, dat de operandbreedte aangeeft,, blijft constant gedurende vele instructiecycli, terwijl het gedeelte van het opcodeveld, dat de bewerkingen aangeeft, zoals aangegeven in tabel I 25 (algemene bewerkingen) gwoon verandert met elke nieuwe instructiecyclus. Het is derhalve.niet nodig aan elke instructie het niet-frequente veranderde gedeelte van de op-code toe te voeren; in plaats daarvan kan deze worden opgeslagen in een speciaal register. Voor dit doeleinde zal het specifieke register genoemd worden het op-codeverlengregister (OER). 30 Het toepassen van het OER voor hetfopslaan van het gedeelte van de opcode, die de operandbreedte specificeert, betekent, dat het op-codeveld in elke instructie alleen de algemene bewerkingen behoeft aan te geven, waarvoor zes bits voldoende zijn. Door het toepassen van het OER, is het niet meer nodig de instruetielengte te verlengen.
35 Het OER kan eveneens andere facultatieve eigenschappen, behalve de variabele operandbreedte, specificeren. Enkele van deze andere eigenschappen, zoals automatisch opladen en automatische incrementering van 7920197 "·...... .................. ......-13-..........
de geheugenaanwijsregisters, en de overdracht van adresregisters, zullen eveneens, in detail-worden "behandeld.
Wanneer verschillende facultatieve eigenschappen door het OER moet worden gespecificeerd, moeten er voldoende bitposities in het OER 5 aanwezig zijn teneinde alle verschillende combinaties van de facultatieve eigenschappen te specificeren. Een groep bits, die door het OER worden opgeslagen, wordt hierna genoemd een op-eodeverlengwoord. De inhoud van het OER. wordt alleen veranderd indien speciale instructies dit noodzakelijk maken (toegevoegd aan de lijst van tabel I) voor het aan het 10 OER overdragen van de nieuw op-codeverlengwoord vanuit het- geheugen en voor het veranderen van een bepaalde bit in het OER. Elk op-codeverleng-woord komt overeen met een bepaalde combinatie van speciale eigenschappen, die in het programma worden toegepast. Door het toepassen van het OER. voor het programmaselectie van facultatieve eigenschappen, wordt een 15 geheugenruimte in het ROM in stand gehouden en zijn geen extra ROM-refe-renties in elke instructiecyclus nodig.
Variabele operandbreedte
Thans wordt verwezen naar fig. 1+, waarin een blokdiagram is aangegeven van een CPU 1+00, die in principe gelijk is aan die van fig. 1, 20 maar die thans gemodificeerd is, teneinde een verandering van de operand-breedte van acht bits naar vier bits .mogelijk te maken. Deze modificatie omvat het delen van de ALU, de accumulator en de schuif-en-draai-naar-rechts-keten in twee onafhankelijke vier-bitsecties, die hierna genoemd zullen worden "hogere: en "lagere" secties. In fig. k zijn de hogere 25 secties van de ALU (ALUH), accumulator (ACCH), en de schuif-en-draai-naar-rechts-keten (SRRH), resp. aangegeven met de referentienummers Ui0, Ui6 en U18. De lagere secties van de ALU (ALUL), de accumulator (ACCL) en de schuif-naar-rechts-en-draai-keten (SRRL) zijn resp. aangegeven met de referentiecijfers Ui 1, 1+17 en 1+19· Voor elk van deze gevallen zijn de 30 hogere en de lagere secties zodanig aangesloten, dat wanneer de operand-breedte acht bits is, de hogere secties werkt op de meest significante vier-bits van het operandwoord, terwijl de lagere sectie werkt op de minst significante vier-bits van het acht-bitoperandwoord. Wanneer de operandbreedte vier-bits is, blijven de hogere secties van elk gedeelte 35 onwerkzaam, alsof de lopende instructie GEEN BEWERKING was, terwijl de lagere secties werken op de minst significante vier-bits van een operandwoord.
7920197 ' "......................... -1U-
De overdracht-in-administratieketen (CIA) U12, voorziet normaliter in een "nul" aan de overdracht-in-ingang van de ALUL, Ui 1. Indien de huidige instructie INCREMENT OF DECREMENT is, is het CIA-uitgangssignaal een "een". Het CIA-uitgangssignaal is in de toestand van het overdrachts-5 register Vl3, indien de huidige instructie TEL OP hij OVERDRACHT, AFTREKKEN, of DRAAI-NAAR-LINKS-hij-OVERDRACHT, is. Voor de DRAAI-NAAR-LINKS-instructie geeft de CIA-uitgang de meest significante hit (ACC) van ACCH in het geval van een acht-hitoperand, en geeft de meest significante hit (AC3) van ACCL in het geval van een vier-hitoperand.
10 Een voorbeeld van een logische uitvoering van de CIA is in fig. 5 weergegeven.
De overdracht-uit-multiplexer (COMX) UlU, voert het overdracht-hit-ingangssignaal toe aan het overdrachtsregister U13. Het COMX-uitgangs-signaal is hetzij het overdracht-uit-uitgangssignaal van de ALUH in het , 15 geval van een acht-hitoperand, hetzij het overdracht-uit-uitgangssignaal van de ALUL in het geval van een vier-hitoperand. Een voorbeeld van een logica-uitvoering van de overdracht-uit-multiplexer is in fig. 6 weergegeven.
Het overdrachtsregister (CR) h-13, is een flipflop, die vanuit 20 verschillende bronnen ingesteld kan worden, afhankelijk van de huidige instructie. De werkzame ingangen van het CR voor de verschillende instructies zijn onderstaand aangegeven:
Instructie Werkzame CR ingang
(ALU bewerking met overdracht) CB van COMX
25 . Laad CR Data Bus
Geef CR vrij "0"
Verschuif naar rechts met overdracht "0"
Draai naar rechts met overdracht ACO
Een voorbeeld van een logica-uitvoering van het overdrachtsregis-30 ter is in fig. 7 weergegeven.
De keten (RSR) k20 levert de meest significante hit voor de ACCH en/of ACCL in de SCHUIF-EN-DRAAI-NAAR-RECHTS-bewerkingen. In het geval van een acht-bit-operandbreedte, levert de RSR de toestand van de minst significante bit (ACO) van de ACCL naar de meest significante bitposi-35 tie (ACC) van de ACCH via de 0T8-uitgang. Bovendien levert de RSR de toestand van de minst significante bit (ACU) van de ACCH naar de meest significante bit-positie (AC3) van de ACCL via de OT^-uitgang. In het 7920197 * -15- gefval van een k-bitoperandbreedte, levert de RSR-toestand van de minst significante bit (ACO) van.de ACCL naar de meest significante bit-* i. positie (AC3) van de ACCL via de OT^-uitgang. De ingangssignalen en de operatieve uitgangssignalen van de RSR voor de verschillende instruc-5 ties zijn onderstaand aangegeven:
Instructie Ingangen Werkzame uitgangen
Verschuif naar rechts (8-bit) 0,ACU 0T8,0Tl·
Verschuif naar rechts (il~bit) 0 OTi+
Draai naar rechts
(8-bit) ACOjACH 0T8.0TU
. 10 Draai naar rechts (H-bit) ACO OTk
Verschuif naar rechts/ draai bij overdracht Overdracht,AC^ ΟΤδ,ΟΤΗ
Verschuif naar rechts/
draai bij overdracht Overdracht OTH
Een logica-uitvoering van. de draai/verschuif-naar-rechts-admini-15 stratieve keten is aangegeven in.fig. 8.
De ALU-functie-blokkeerketen (ALUFI) Ui 5 wordt benut voor het blokkeren van de ALUH, indien de operandbreedte vier-bits is. Indien de operandbreedte acht-bits is, regelt de ALU-functiestuurlijnen 1+22 van de besturingsinrichting Uo8 de keuze van de ALU-functies voor zowel 20 de ALUH en ALUL. Wanneer de operandbreedte vier-bits is, levert een stuursignaal aan de ALUH, welk signaal correspondeert met de ΝΓΕΤ-ΒΕ-WERKING-instructie, en laat de ALUH de operanden passeren zonder te veranderen. Een voorbeeld van een logica-uitvoering van de ALU-functie-blokkeerketen is weergegeven in fig. 9· 25 Wanneer een vier-bitoperandbreedte wordt geselecteerd voor de CPU van fig. U, werken alleen de minst significante vier-bits van het operandwoord, terwijl de meest significante vier-bits ongebruikt blijven. Teneinde gebruik te maken van de meest significante vier-bits van het operandwoord en daarbij volledig gebruik te maken van de RAM-opslagruimte 30 die ingericht wordt voor het opslaan van acht-bitvoorden, is het noodzakelijk te voorzien in middelen om de meest significante en de minst significante vier-bits van het operandwoord onderling te wijzigen.
Een dergelijke onderlinge wijziging kan verkregen worden op verschillende manieren. Eén van de wijzen om een effectieve onderlinge verandering 7920197 -16- V van de meest en de minst significante vier-tits in een operandwoord te verkrijgen is, onder besturing van een bitpositie in het OER, de "hoge" en "lage" secties van de ALU onderling te veranderen.. Wanneer bij voorbeeld een aangewezen bitpositie van het OER voor het besturen van de 5 ALU-verwisseling een "nul" bevat gedurende de vier-bitbeverking, zal de ALUEI de ALUH blokkeren, terwijl de ALUL werkzaam wordt op de minst significante vier-bits van het operandwoord. Indien de aangewezen bitpositie een "een" bevat gedurende de vier-bitbewerking, zal de ALUEI de ALUL blokkeren, terwijl de ALUH uitsluitend op de meest significante vier-10· bit van het operandwoord werkt.
De meest en minst significante vier-bits van een operandwoord kan rechtstreeks worden verwisseld, door het introduceren van een. DRAAI-1)— , instructie, aan de lijst van tabel I. De CPU van fig. H zal na ontvangst van. een. dergelijke instructie een operandwoord, gespecificeerd door de 15 instructie vanuit het RAM, overdragen aan de gedeelde accumulator, waarbij oorspronkelijk de meest significante vier-bit van het operandwoord in de ACCH en de minst significante vier-bit in de ACCL aanwezig blijft. Het operandwoord wordt dan in de gedeelde accumulator "rondgedraaid", totdat de voorgaande meest significante vier-bits aanwezig is in de ACCL 20 en de voorgaande minst significante vier-bits aanwezig in de ACCH. Het "rondgedraaide" operandwoord in de gedeelde accumulator kan hetzij meteen worden toegepast in een ALU-bewerking, hetzij terug worden gevoerd naar het RAM.
Een programmeerbare selectie van. de operandbreedte wordt verkregen 25 met behulp van het op-codeverlengregister (OER) 1+21, dat in dit voorbeeld uitsluitend een-bitpositie behoeft te bevatten. Wanneer de binaire bittoestand van die bit een "een" is, is de operandbreedte voor de ALU en informatieverplaatsingsbewegingen vier-bits, voor het overige is de operandbreedte acht-bits. Een LAAD-OER-instructie wordt toegevoegd aan 30 de lijst in tabel I, waarbij het ROM twee constanten bevat, en waarbij als op-code verlengwoorden dienst doen een "een" en een "nul". Alhoewel slechts êên. bit nodig is voor het specificeren van de operandbreedte, kan het OER extra bitposities omvatten voor het selecteren van andere facultatieve eigenschappen, zoals hierboven reeds is besproken.
35 Een alternatieve CPU-configuratie voor het uitvoeren van de vari abele operandbreedte., alsook voor de andere facultatieve eigenschappen is in fig. 10 aangegeven. Alhoewel het ontwerp van de CPU uit fig. 10 7920197 -17- principieel verschillend is van dat van fig. U, wordt hetzelfde op-code ; verlengregister toegepast voor het selecteren van de facultatieve eigen-; schappen. Thans wordt verwezen naar' fig. 10,. waarin het instructieregis-• ; ter 1001, het ROM 1002, het RAM 1003, de informatiebus 100h en de be- 5 sturingsinrichting 1005 allen op dezelfde wijze functioneren als hun - corresponderende delen in de CPU van fig. U, met uitzondering van de ; . woordafmeting van het ROM en RAM en de breedte van de informatiebus en : het instructieregister die allen vier-bits zijn in plaats van acht-bits.
De. adresvergrendeling (AL) 1006 is een twaalf-bit-hoofd-slaagvergrende-10 ling voor het opslaan van het huidige adres van een instructie of van een operand. De twaalf-bit-adres-rekenkundige eenheid (AAU) 1007, incre-menteert of decrementeert het huidige adres in AL. Het interne register-geheugen (IRM) 1008, bestaat uit een groep registers, voorzien van een programmeerteller (PC) 1009, van twee geheugenaanwijsregisters BO 1010 15 en B1 1011 en van een stapelaanwijzer 1012. Het tijdelijke registerge-heugen (TRM) 1013 omvat twee tijdelijke registers TO 101h en T1 1015 en worden toegepast voor de gemiddelde adresberekeningen tijdens de adresr-formatietoestand. De vier adresmodi, beschikbaar in de CPU van fig. I* zijn eveneens beschikbaar in de CPU van fig. 10.
20 De informatie-adresbus-multiplexer (DAMUX) 1015, bestuurt de overdracht van informatie.in vier-bitwoorden vanuit het ROM en RAM naar de twaalf-bitregisters in het RIM en TRM, via de vier-bitinformatiebus.
De DAMUX regelt de vier-bits van déinformatiebus naar een van de drie vier-bitsecties (aangegeven met hogere, middelste en onderste secties) 25 van de adresrekenbus 1026. De drie secties van de adresrekenbus zijn resp.'verbonden met de.hogere, de middelste en de onderste vier-bitsecties van de twaalf-bitregisters in het IRM en TRM. Een twaalf-bit-adresbus 1027 draagt de adressen van de AL over naar de AAU, RAM en ROM.
De vier-bitreken- en logica-eenheid (ALU) wordt toegepast voor 30 het uitvoeren van alle rekenkundige en logicafuncties. De operanden voor de ALU worden opgeslagen in de vier-bit tijdelijke informatieregisters TA 1018, en TB 1019-
In tegenstelling tot de CPU van fig. U, heeft de CPU van fig. 10 geen adresseerbare accumulator. In plaats daarvan worden door de geheugen-35 aanwijsregisters 1010 en 1011 de RAM-geheugenplaatsen aangewezen die als accumulators worden toegepast. Derhalve heeft de CPU net zo veel accumulators als de RAM geheugenruimte heeft.
79 2 01 9 7 ' .......... .................’ ................. -18-
De basis-operandbreedte van de ALU in de CPU van fig. 10 heeft vier-bits; evenwel is zijn configuratie zodanig, dat de ALU-bewerkingen kunnen worden uitgevoerd op operanden, waarvan de "breedten integrale meervouden zijnvan.de basisbreedte (bij voorbeeld 8, 12 en l6-bits)j· 5 Voor de operanden met breedtes, die een meervoud zijn van de basisbreedte, werkt de ALU op vier-bitsegmenten van de operand; te beginnen : met het meest significante segment, waarbij de ALU-bewerking wordt, herhaald op de andere segmenten, overeenkomstig de belangrijkheid van hun . significantie. Een vier-bit segment wordt gewoonlijk '’knabbel'' (in het 10 Engels nibble) genoemd. Het aantal herhalingen van een ALU-bewerking, ' vereist voor een gegeven operandbreedte, is gelijk aan het aantal "knabbels" in de operand.
In het voorbeeld van fig. 10 heeft het OER zes bitposities, die ingedeeld zijn overeenkomstig fig. 11. In fig.-11 specificeert een 15 twee-bitveld, voorzien van bits B0 1101 en B1 1102, de vier facultatieve operandbreedtes van vier-bits, acht-bits, twaalf-bits en zestien-bits. De andere vier-bitposities van het OER worden toegepast om andere speciale eigenschappen te specificeren, die naderhand beschreven zullen worden. De codering van de bits BO en B1 en het aantal herhalingen, 20 nodig voor het voltooien van de ALU-bewerking voor elke toestand zijn onderstaand aangegeven: b1, bO Operandbreedte ALU herhalingen 00 16-bits " ^ 01 4-bits 1 25 10 8-bits 2 11 12-bits 3
Zoals in fig. 10 is aangegeven, wordt het aantal herhalingen van een ALU-bewerking, gespecificeerd door déinhoud van het OER, bestuurd door de twee-bitteller 1021, en de comparator 1022, die de toestand van 30 de teller vergelijkt met die van B0-B1. Wanneer de toestand van d:e teller en die van B0-B1 met elkaar overeenkomen, zullen de herhalingen van de ALU-bewerking stoppen.
De details van een ALU-bewerking in de CPU van fig. 10 kan beter begrepen worden, wanneer men het toestandsdiagram 1200, weergegeven in 35 fig. 12, nader beschouwt. In fig. 12 zijn de instructie-ophaaltoestanden 1201 en de adresinformatietoestanden 1202 reeds besproken in verband met fig. 2. Na de adresformatie wordt het bronadres voor een tweevoudige be- 7920197 ' "'r' " . ......... -19- werking opgeslagen in het tijdelijke register TO. Wanneer de bewerking ' van de huidige instructie een enkelvoudige of tweevoudige bewerking is, - is het bestemmingsadres in het tijdelijke register T1. Opgemerkt moet worden dat in de CPU van fig. 10 een bestemmingsadres altijd vereist : 5 is voor een tweevoudige op bewerking, in tegenstelling tot de CPU van fig. 1+, waarin de accumulator altijd de veronderstelde bestemming is voor tweevoudige bewerkingen.
In de toestand ALU1, 1203 wordt de inhoud van T0 (bronadres) overgedragen aan het hoofd (ALM) van de adresvergrendeling (1023 in 10 fig. 10). Indien de huidige instructie een enkelvoudige bewerking aan-. geeft, is de volgende toestand ALU5, 1207; overigens is de volgende toestand ALU2, 120^. Gedurende de overgangsperiode van ALU1 naar ALU2, wordt de inhoud van ALM overgedragen naar de slaaf (ALS) van de adresvergrendeling (102^4- in fig. 10) en wordt in de toestand ALU2 de operand, 15 opgeslagen in de RAM-geheugenplaats aangewezen door ALS, overgedragen naar het tijdelijk informatieregister TB. In de toestand ALU3, 1205> wordt het adres in ALS geïncrementeerd en overgedragen naar zowel T0 als ALM, en indien een adres facultatieve eigenschap, bij voorbeeld auto-incrementering die nu zal worden beschreven wordt vrijgegeven, wordt het 20 geïncrementeerde adres eveneens overgedragen aan het aanwijsregister B0. Indien de huidige instructie een onmiddellijke informatie-adressering aangeeft voor de tweede operand van de tweevoudige bewerking (d.w.z. de tweede operand zelf wordt toegevoerd in het adresveld van de huidige instructie) wordt de volgende toestand ALU^, 1206. In de ALU^ wordt de • 25 inhoud van ALS overgedragen naar PC, voor het herstellen van het R0M- adres voor de volgende informatieconstante of instructie. Voor de andere adresseermodi wordt de volgende toestand ALU5, 1207, waarbij het bestemmingsadres is opgeslagen in T1, overgedragen naar ALM en wordt de twee-bitteller geïncrementeerd, waarbij de teller vrijgegeven is aan het be-30 gin van de instructiecyclus. Gedurende de overdracht van de toestand ALU5 naar de toestand ALUö wordt de inhoud van ALM overgedragen naar ALS.
In de toestand ALU6, 1208, wordt de inhoud van de RAM-positie aangewezen door ALS overgedragen naar het tijdelijk informatieregister TA.
De volgende toestand is ALU7, 1209, waarbij ALS wordt geïncrementeerd, 35 en zijn inhoud wordt overgedragen naar T1 en naar B1, althans indien de auto-incrementerende eigenschap wordt vrijgegeven. De ALU-bewerking, aangegeven door de huidige instructie wordt uitgevoerd op twee operanden 7920197 -20- geleverd door TA en TB in het geval van een tweevoudige Bewerking, of -door een enkele operand, geleverd door TA in het geval van een enkelvoudige Bewerking. De volgende toestand is ALU8, 1210,. waarbij het resultaat van de ALU-Bewerking (AlU-UIT)<wordt opgeslagen in de RAM-ge-5 heugenplaats, aangewezen door ALS. De toestand van de teller wordt dan vergeleken met. de toestand van B0-B1 in het''OER. Indien het compara-toruitgangssignaal waar is, wordt de‘ ALU-Bewerking voltooid; maar indien het comparatoruitgangssignaal vals is, keert de CPU terug naar . de toestand ALU1 en wordt de ALU-Bewerking herhaald.
10 Het, automatisch, laden van de aanwi.j sregisters
Een andere facultatieve eigenschap van de CPU in fig. 10, welke eigenschap geselecteerd kan worden met de programmahesturing van het OER, is het automatisch laden van de aanwijsregisters BO en B1. Deze eigenschap is alleen ter Beschikking voor de rechtstreekse adresseer-• 15 modus, waar Bij het volledige operandadres aanwezig is in de adrescode van de instructie. Wanneer het automatisch laden wordt vrijgegeven, worden de operandadressen, geleverd door de huidige instructie, automatisch opgeslagen in de gespecificeerde aanwijsregisters ten tijde van het voltooien van de instructiecyclus. Het automatisch léden van BO en B1 20 wordt geregeld door de toestand van resp. de Bitposities ALO (1105 van fig. 11) en AL1 (1106 van fig. 11) in het OER, waarBij een "een"-toe-stand met automatisch laden vrijgeeft.
Het automatisch laden wordt uitgevoerd tijdens de adresformatie-toestand van déinformatie-uitvoeringsfase. Een toestandsdiagram van de 25 adresinformatietoestand voor de CPU van fig. 10 is weergegeven in fig.
13. Een voorbeeld van adresinformatie zal thans worden uiteengezet aan de hand van fig. 13.
Tijdens de instruetie-ophaalfase, weergegeven door het Blok 1301, wordt een instructiewoord, omvattende een op-code en een adresmodus-30 code, overgedragen van het ROM naar het IR. De CPU gaat dan naar de eerste adresinformatietoestand AF1, 1302. De Baan die gevolgd wordt door de CPU door de adresinformatiestappen hangt af van de adresseermodus, aangegeven door de adresmoduscode in het IR, en hangt af of de Bewerking, aangegeven door de op-code in het IR, enkelvoudig of tweevoudig is.
35 Een D-type flipflop (DFF), 1025, in de CPU van fig. 10, regelt of het v adres, geformeerd voor een tweevoudige Bewerking, een Bron of Bestemmingsadres is. Voorafgaande aan de formatie van het Bronadres van een 7920197 -21- - tweevoudige bewerking, wordt DFF vrijgegeven (DFF = O); doch voorafgaan de aan de formatie van het enkele operandadres van een enkelvoudige "bewerking of het bestemmingsadres van een tweevoudige bewerking, wordt DFF ingesteld (DFF = 1). Indien de rechtstreekse adresseermodus het 5 bronadres is worden de meest significante (bovenste) vier-bits van TO alle ingesteld op "een" en worden, op overeenkomstige wijze, indien de rechtstreekse adresseermodus een bestemmingsadres is, de meest significante vier-bits van TT alle ingesteld op "een".
De CPU gaat vervolgens naar de toestand AF2, 1303. Indien de 10 adresseermodus een indirecte adressering is, wordt de inhoud van B0 overgedragen naar T1, indien DFF is ingesteld, of wordt.de inhoud van BO overgedragen naar TO en wordt de inhoud van B1 overgedragen naar T1, indien DFF vrijgegeven is. De CPU gaat vervolgens rechtstreeks naar de toestand AFö, 1307· Indien.de adresseermodus een onmiddellijke infor-15 matie is, wordt de toestand van PC overgedragen aan T0 en gaat de CPU meteen naar de toestand AF6.
In de toestand AF2 wordt, voor het geval van een rechtstreekse adressering, de inhoud van PC overgedragen naar ALM, waarbij de inhoud van PC, zijnde het adres van de ROM-geheugenplaats, de eerste "knabbel" 20 van het operandadres bevat. Gedurende de overgangstoestand van de toestand AF2 naar de toestand AF3, 130U, wordt de inhoud van ALM overgedragen naar ALS. In de toestand AF3 wordt ALS geïncrementeerd en wordt zijn inhoud overgedragen naar PC. Indien een andere "knabbel" van het ROM is vereist voor het completeren van de formatie van het adres, wordt 25 het geïncrementeerde adres in ALS eveneens overgebracht naar ALM. De inhoud van de ROM-geheugenplaats, aangewezen door ALS, wordt dan overge-dragen naar de onderste vier bits van T0 (TOL) indien DFF i^ingesteld, of aan de onderste vier bits van T1 (T1L) indien DFF is vrijgegeven. Gedurende de overdracht van de toestand AF3 naar de toestand AFH, 1305, 30 wordt de inhoud van ALM overgedragen naar ALS. In de toestand AFi;. wordt ALS opnieuw geïncrementeerd, en wordt zijn inhoud overgedragen naar PC. De inhoud van de ROM-geheugenplaats, aangewezen door ALS, wordt overgedragen naar de middelste vier bits van T0 (TOM) indien DFF is ingesteld, of naar de middelste vier bits van T1 (T1M) indien DFF is 35 vrijgegeven. Opgemerkt wordt dat de bovenste vier bits van een operandadres in de directe adresseermodus "1111" is.
Indien het automatisch laden niet vrijgegeven is voor het hetzij 7920197 -22- BO, of B1,. gaat de CPU van de toestand AF^· rechtstreeks'naar de toestand ΑΡβ. Overigens is de volgende toestand AF5, 1306. In de toestand AF5 wordt de inhoud van TO overgehracht naar BO indien DFF is ingesteld, en wordt het automatisch laden vrijgegeven voor BO (d.w.z. ALO = 1), 5 of wordt de inhoud van T1 overgehracht naar B1 indien DFF is vrijgegeven en wordt het automatisch laden vrijgegeven voor B1 (d.w.z. AL1 =1).
In de toestand AF6 wordt het gecompleteerde operandadres in TO overgedragen naar ALM. Indien DFF is ingesteld in de toestand AF6, wordt de adresformatie gecompleteerd en.gaat de CPU naar de ALU-functie, weer-10 gegeven door het blok 1309. Indien evenwel DFF. is vrijgegeven, aangevende dat de adresinformatievoor een tweevoudige bewerking is incompleet, gaat de CPU eerst naar de toestand AF7, waarbij DFF is ingesteld en gaat vervolgens naar de toestand AF1 en herhaalt de adresformatiestappen voor - het bestemmingsadres..
15 Auto-incrementering van aanwijsregisters
Een andere facultatieve kenmerk van de CPU van fig. 10, welke eigenschap wel of niet kan worden vrijgegeven met behulp van. het OER, is het auto-incrementeren van de aanwijsregisters BO en B1. Indien deze eigenschap wordt vrijgegeven voor een specifiek geheugenaanwijsregister, 20 zal het adres, opgeslagen in dat register, automatisch voortschuiven (incrementeren) aan het eindé van elke instructiecyclus, teneinde te wijzen naar de geheugenplaats van de eerste "knabbel" van de volgende operand. Het automatisch incrementeren van BO en B1 wordt geregeld door de toestand van resp. de OER-bitposities AIO (1103 van fig. 11) en AI1 25 (11 OU van fig. 11). Een "een"-toestand geeft de auto-incrementering vrij.
Wanneer deze toestand is vrijgegeven, vindt het auto-incremente-ren plaats van BO en B1 tijdens de ALU-functietoestand van de informatie-Uitvoerfase, zoals weergegeven door het toestandsdiagram van fig. 12.
30 In fig. 12 wordt, zoals reeds bovenstaand in verband met de variabele operandbreedte wanneer de CPU in de toestand ALU3, 1205 is, een bron-adres, opgeslagen in de ALS die wijst naar een "knabbel" van een eerste operand (verondersteld wordt een tweevoudige bewerking), geïncrementeerd, teneinde te wijzen naar de volgende "knabbel" van dezelfde operand, indien de ALU-bewerking herhaald wordt bij de volgende "knabbel". Indien de ALU-bewerking voltooid is voor alle "knabbels" van dezelfde operand, wijst de ALS naar de eerste "knabbel" van een nieuwe eerste operand.
7920197 -23-
Het geïncrementeerde adres wordt dan overgedragen naar TO en ALM. Indien de auto-incrementering van BO vrijgegeven is, (d.w.z. AIO = 1) wordt het geïncrementeerde adres eveneens overgedragen van ALS naar TO.
• In de toestand ALU7, 1209 wordt een testemmingsadres, aanwezig in ALS.
5 en wijzende naar een "knabbel" van de tweede operand.van een tweevoudige bewerking, geïncrementeerd en overgedragen naar T1. Indien de auto-incrementering van B1 vrijgegeven is (d.w.z. AI1 = i) wordt het gexncre-menteerde adres eveneens overgedragen van ALS naar B1. De ALU-bewerking wordt dan uitgevoerd op de corresponderende "knabbels" van. de eerste en 10 tweede operanden die resp, aanwezig zijn in TA en TB. Het resultaat van de ALU-bewerking wordt opgeslagen in de geheugenplaats, die daarvóór bezet was door de corresponderende "knabbel" van de tweede operand.
De ALU-bewerking wordt indien noodzakelijk, herhaald, op aanvullende "knabbels" van de eerste en tweede operanden. Opgemerkt moet worden', dat 15 wanneer het autoïncrementeren vrijgegeven is voor een bepaald aanwijs-register, zijn inhoud bij elke herhaling van de ALU-bewerking zodanig wordt geïncrementeerd dat aan het einde'van de instructiecyclus het aanwijsregister altijd wijst naar de eerste "knabbel" van de volgende operand.
20 Toewijzing van adresregisters
Een andere facultatieve eigenschap, dat bestuurd kan worden door middel van het OER is de toewijzing van adresregisters. In sommige CPU-configuraties delen de RAM en randinrichtingen (bij voorbeeld een tele-type-toetsenbord, kaartlaser, drukinrichting, magnetische bandaandrijving, 25 etc.), gekoppeld aan de CPU, niet alleen hetzelfde adresveld in de instructie, maar bovendien delen zij dezelfde adressen. D.w.z.. dat een gegeven adres kan refereren aan hetzij een RAM-geheugenplaats, hetzij aan een randinrichting. Identificatie van een adres, zoals een RAM-geheugenplaats of een randinrichting kan verkregen worden door afzonderlijk ge-30 scheiden RAM-referentie- en randreferentie-instructies (bij voorbeeld LEES RAM UIT, LEES RAND UIT, etc. te bepalen. Teneinde de op-codes in-stand te houden kan dezelfde instructie worden toegepast door te verwijzen naar zowel de RAM als de randinrichtingen. Derhalve zal de instructie aangeven of het.adres voor een RAM-geheugenplaats is, of voor 35 een randinrichting door te refereren naar hetzij een adresregister dat specifiek gereserveerd is voor het opslaan van een geheugenadres, hetzij een adresregister specifiek gereserveerd voor het opslaan van een rand- 7920197 -21+- ; inrichting adres.
' In de bekende CPU's waarin het gereserveerde adresregister wordt toegepast, wordt het aantal geheugenadresregisters en randadresregis-ters bepaald door het ontwerp van de CPU. D.w.z. dat de ontwerper van de 5 CPU beslist over het aantal van elk type adresregister, gebaseerd op . het soort van toepassing waarvoor de CPU werd ontwikkeld. Indien de CPU wordt toegepast in een geheugen met een intensieve toepassing, heeft deze meer geheugenadresregisters en minder randadresregisters.:.Bet is ; duidelijk, dat een vaste toewijzing van adresregisters de veelzijdigheid 10 van een CPU beperkt.
Een optimale veelzijdigheid kan worden verkregen in zowel geheugen-, intensieve als rand-intensieve toepassingen door de toewijzing van het adresregister, onder invloed van een besturingsprogramma, variabel te maken. Een dergelijke facultatieve eigenschap, die ervoor, moet zorgen, 15 dat de toewijzing van adresregisters herhaaldelijk wordt vervangen tij-;; dens een programma-uitypering, is in het bijzonder van voordeel bij programma's die in bepaalde delen zeer geheugen-intensief zijn. en in andere delen zeer rand-intensief zijn.
In fig. 11+ is een. blokdiagram aangegeven van een deel van een CPU. 20 11+00·,. waarmee een programmeerbare aanwijzing mogelijk is van verschillen de adresregisters, in overeenstemming met de principe van deze uitvinding. Een groep van acht-twaalf-bitadresregisters, B0-B7 resp. aangegeven door 11+01 t/m 1U08, kunnen elk worden aangewezen voor het opslaan van hetzij een geheugenadres, hetzij een randinrichtingadres. De functies van de 25 informatiebus 11+09, programmateller 1H-10, instructieregister 1M1, komen in hoofdzaak overeen met de functies, zoals uiteen is gezet in verband met de CPU van dig. U. In het op-codeverlengregister (OER) 1U12, wordt een op-codeverlengwoord opgeslagen, welk woord cmvat de selectie, van facultatieve CPU-eigenschappen, zoals hierboven beschreven eigenschappen, 30 alsook de aanwijzing van de adresregisters voor het opslaan van RAM- adressen, en waarbij het opslaan van randinrichtingadressen wordt gespecificeerd door de toestanden van drie bitposities in het OER. De bestu-ringsinrichting 1^+13 decodeert gelijktijdig de inhoud van zowel het IR alsook het OER (in feite gebeurt dat na elkaar) en wekt commandosignalen 35 op, die overeenkomen met de processorbewerking, vereist door de gecombineerde inhoud van het IR en het OER. De adresmultiplexer 1U18 koppelt het adresregister, aangewezen door de instructie, aan de twaalf-bitadres- 7920197 .......;................:.........................-25- ....................
uit-bus 1UlT -
Wanneer een instructie verwijst naar een particulier adresregister, geeft de besturingsinrichting het geschikte adresregister-selectielijn 1^-15 vrij en zorgt de adres-MUX-besturingslijn ervoor, 5 dat het adres opgeslagen wordt in"dat register, dat'beschikbaar is op de adres-üis-bus. Op hetzelfde tijdstip decodeert de besturingsinrichting , de inhoud van OER, teneinde vast te stellen of het adresregister waar-. naar verwezen wordt een RAM-adres bevat'of een'randinrichtingadres.
' Indien het een RAM-adres bevat, wordt de RAM-selectiebesturingslijn 1 ii-19 10 vrijgegeven; overigens wordt de randselectiebesturingslijn 1U20 vrijgegeven. De lees/scbrijf-besturingslijn 1^21 levert een signaal aan het RAM, teneinde aan te. geven of een geheugenreferentie-informatie in. het RAM. moet schrijven.of informatie uit het RAM moet lezen.
In fig. 15 is een logicadiagram aangegeven van een deel van. de 15 besturingsinrichting 1500, die het adresregisteraanwijsveld AR0-AR2 van het OER decodeert. Indien de instructie de referentie van een van de adresregisters B0-B7 opvraagt, zal het instructiedecodeergedeelte 1503 ervoor zorgen, dat zowel de I/O-instructie-vrijgeeflijn I50U als de adresregisterselectielijn 1505 gaan naar de toestand "een". In het voor-20 beeld van fig. 15 worden van de acht adresregisters B0-B7 twee gelijk-' tijdig door de drie bits (AR0-AR2) in het adresregisteraanwijsveld van het OER aangewezen. De registers BO en Bi zijn altijd gereserveerd voor de RAM-adressen, terwijl de registers B2 en B3 toegewezen worden cm het RAM-adres, indien de bit AR2, I50U een "nul" is, en toegewezen worden 25 aan de randinrichtingadressen indien de bit AR2 een "een" is. Op een overeenkomstige wijze bepaalt de toestand van de bit AR1 de aanwijzing van. de registers BU en B5, en bepaalt de toestand van de bit AR0 de aanwijzing voor de registers Ββ en B7. De keten,, samengesteld uit logische poorten G1-G10 (referentienummers 1506-1515) detecteert de toestanden 30 van de AR0-AR2, en die van de ‘adresregisterselectielijn 1505, teneinde de juiste toestanden te leveren op de RAM-selectielijn of de randselec-tielijn, afhankelijk van de aanwijzing van het geselecteerde adresregister.
In fig. 16 is een voorbeeld weergegeven van een ingang/uitgang 35 (I/O) koppelopstelling van de CPU van fig. 1U met een RAM en drie rand inrichting en. In dit voorbeeld is verondersteld, dat de CPU slechts êén Ι/0-poort bezit, waarbij de RAM 1602 zijn eigen inwendige adresdecodeer- 7920197 -26- inrichting bezit, en waarbij de drie randinrichtingen 1603-1605 alle ingangsinrichtingen zijn die informatie leveren aan de CPU. Indien de CPU een ingangsinformatie-instructie uitvoert en verwijst naar êên van de adresregisters, komt het adres, opgeslagen in het aangewezen adres-5 register, beschikbaar via de adres-uit-uitgang van de CPU naar de rand-; adresdecodeerinrichting (PAD) 16o6 en aan de adresingang van het RAM.
. In dit voorbeeld is verondersteld, dat het adres, geleverd aan de adres--; uit refereert aan zowel de randinriehting 2, 16oU, en aan een geheugen-plaats in het RAM, teneinde te kiezen tussen deze twee, waarbij de be-10 sturingsinrichting in de CPU het adresregisteraanwijsveld (AR0-AR2) van het OER detecteert, teneinde te bepalen of het geselecteerde adresregister toegewezen wordt aan het RAM of aan de randinrichtingen. De in-houd. van het OER is tijdens een voorafgaande instructie opgeladen.
Indien het geselecteerde adresregister toegewezen wordt aan de 15 randinrichtingen, wordt het RAM geblokkeerd via de RAM-selectie-uitgang, terwijl de PAD vrijgegeven wordt via de randselectie-uitgang. de PAD . activeertde inrichting 2 en zorgt ervoor, dat de randinrichting-multi-plexer 1607 wordt gekoppeld aan de inrichting 2 en aan de Ι/0-poort van de CPU. Indien evenwel het geselecteerde adresregister werd toegewezen 20 aan het RAM, is de PAD geblokkeerd en is het RAM vrijgegeven. Een lees-signaal, geleverd door de lees/inschrijfuitgang, zal er derhalve voor zorgen, dat de inhoud van de geadresseerde geheugenplaats in het RAM wordt overgedragen aan de CPU via de I/O-poort.
25 7920197
Claims (2)
- 2. Centrale verwerkingseenheid volgens conclusie 1,. voorzien van een geheugen voor'het opslaan van instructies voor informatie, waarbij het geheugen voorzien is van meerdere geheugenplaatsen, waarbij elke ge-heugenplaats een afzonderlijk geheugenadres bezit, waarbij de centrale 30 verwerkingseenheid voorzien is van een adresbus, die gekoppeld is aan een adresdecodeerinrichting, die samenwerkt met het geheugen en responsief is op een adres, aanwezig in de adresbus voor het selecteren van de ge-heugenplaats overeenkomstig het adres, met het kenmerk, dat de centrale verwerkingseenheid voorzien is van een rekenkundige logica-eenheid (411) 35 die reageert op selectieve commandosignalen overeenkomstig de inhoud 7920197 A • -28- van het op-ebdeverlengwoordregister en van het instructieregister van ; de besturingsinrichting voor het ontvangen van één of meer operanden vanuit het geheugen en voor het uitvoeren van. een rekenkundige of logica-beverking op de operand of operanden, bepaald door de gecombineerde : 5 inhoud van het instructieregister en het op-codeverlengregister, waarbij de rekenkundige logica-eenheid (^11) geschikt' is voor het verwerken van operanden met êén of meer N-bitsegmenten, waarbij het aantal van N-bitsegmentenin een operand bepaald wordt door het op-codeverlengwoord, opgeslagen in het op-codeverlengregister. 10 3. " Centrale, ververkingseenheid volgens conclusie. 2, met het kenmerk, i dat.de centrale verwerkingseenheid 2N-b it op er andwoo rd en ontvangt vanuit" het geheugen en de rekenkundige logica-eenheid die voorzien is van een '. bovenste en een onderste gedeelte voor het behandelen van het meest significante N-bitsegment en het minst significante N-bitsegment van een ;; 15' 2 N-bitoperandwoord uit het geheugen gehaald is wanneer’ een aangewezen : bitpositie in het op-codeverlengregister een eerste binaire toestand omvat, waarbij de.beide gedeelten van de rekenkundige logica-eenheid worden vrijgegeven.voor het verwerken van het gehel 2 N-bitoperandwoord, en wanneer de aangewezen bitpositie de andere binaire toestand omvat, 20 waarbij het bovenste gedeelte van de rekenkundige logica-eenheid geblokkeerd is en het onderste gedeelte vrijgegeven is bewerkingen uit te voeren, op het minst significante N-bitsegment van het operandwoord en de meest significante N-bitsegmenten onveranderd blijven. Centrale verwerkingseenheid volgens conclusie 3, met het kenmerk, 25 dat een keten aangebracht is voor het verwisselen van de meest signi- i ficante en de minst significante N-bitsegmenten van een. 2 N-bitoperand-woord.
- 5. Centrale verwerkingseenheid volgens conclusie 2, voorzien van ten minste êén bidirectioneel ingang/uitgangspoort, die geschikt is om 30 te worden gekoppeld aan een aantal randinrichtingen, die elk een verschillend randinrichtingsadres hebben en gekoppeld zijn aan een deel van het geheugen, waarbij enkele van de geheugenplaatsen in het gedeelte van het geheugen adressen bezitten die gemeenschappelijk zijn voor de rand-inrichtingadressen; van een adresuitgang gekoppeld aan de adresbus en . 35 geschikt om te worden gekoppeld aan een randinrichtingadresdecodeer- inrichting, die samenwerkt met de randinrichtingen, waarbij de randin-richtingadresdecodeerinrichting responsief is op een adres, toegevoerd 7920197 % » -29- ; aan de adresuitgang voor het selecteren van een randinrichting, dat wordt gekoppeld aan de ingang/uitgang spoort en aan een deel;.van de ge-heugenadresdecodeerinrichting die responsief is op het adres aan. de adresingang voor het selecteren van een geheugenplaats in het gedeelte van het 5 geheugen waarin toegang verzocht wordt door de centrale.ververkingseenheid via de ingangs/uitgangspoort; van een eerste'uitgang, die geschikt is om te worden gekoppeld aan de randadresdecodeerinrichting voor het vrijgeven van de randadresdecodeerinrichting indien de eerste uitgang in een. eerste binaire toestand is en voor het blokkeren van de randadres-10 decodeerinrichting indien de eerste uitgang in een tweede binaire toestand is; van een tweede uitgang, die geschikt is om te worden gekoppeld aan het gedeelte van.de geheugenadresdecodeerinrichting voor het vrij-j geven van het gedeelte van de geheugenadresdecodeerinri dating indien de tweede uitgang in een eerste binaire toestand is en voor het blokkeren 15 van het gedeelte van de geheugenadresdecodeerinrichting indien de tweede uitgang in een tweede.binaire toestand is; en van een aantal adresregisters voor het daarin opslaan van adressen, waarbij tenminste één van de adresregisters toegewezen is voor het opslaan van hetzij een geheugen-adres dat overeenkomt met een geheugenplaats in het gedeelte van het ge-i 20 heugen het ervan een randinrichtingadres, met het kenmerk, dat het op-codeverlengregister de toewijzing regelt voor elk toewijsbaar adresregister indien een instructie wordt uitgevoerd door de centrale verwer-kingseenheid voor het overdragen van de inhoud van een bepaald adresregister aan.de adresuitgang; dat de besturingsinrichting responsief is 25 op de inhoud van het op-codeverlengregister voor het leveren van een eerste binaire toestand aan de eerste uitgang en van een tweede binaire toestand aan de tweede uitgang, indien het bepaalde adresregister is aangewezen voor het opslaan van een randinrichtingadres;. en dat de besturingsinrichting een tweede binaire toestand levert aan de eerste uit-30 gang en een eerste binaire toestand aan de tweede uitgang indien het bepaalde adresregister is aangewezen voor het opslaan van een geheugen-adres, dat overeenkomt met een geheugenplaats in het gedeelte van het geheugen. .7920197
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US97442678 | 1978-12-29 | ||
US05/974,426 US4293907A (en) | 1978-12-29 | 1978-12-29 | Data processing apparatus having op-code extension register |
Publications (1)
Publication Number | Publication Date |
---|---|
NL7920197A true NL7920197A (nl) | 1980-11-28 |
Family
ID=25522024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NL7920197A NL7920197A (nl) | 1978-12-29 | 1979-12-06 | Informatieverwerkende inrichting met een op-code verlengd register. |
Country Status (13)
Country | Link |
---|---|
US (1) | US4293907A (nl) |
JP (1) | JPS55501075A (nl) |
AU (1) | AU542875B2 (nl) |
BE (1) | BE880888A (nl) |
CA (1) | CA1123959A (nl) |
CH (1) | CH650600A5 (nl) |
ES (1) | ES487294A1 (nl) |
FR (1) | FR2445555B1 (nl) |
GB (1) | GB2050659B (nl) |
IT (1) | IT1127771B (nl) |
NL (1) | NL7920197A (nl) |
SE (1) | SE424114B (nl) |
WO (1) | WO1980001423A1 (nl) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0052828B1 (en) * | 1980-11-24 | 1989-04-19 | Texas Instruments Incorporated | Microprocessor system |
US4519028A (en) * | 1981-02-17 | 1985-05-21 | Digital Equipment Corporation | CPU with multi-stage mode register for defining CPU operating environment including charging its communications protocol |
US4577282A (en) * | 1982-02-22 | 1986-03-18 | Texas Instruments Incorporated | Microcomputer system for digital signal processing |
US4519031A (en) * | 1982-02-22 | 1985-05-21 | Texas Instruments Incorporated | Microcomputer with accumulator saturation upon overflow |
US4488219A (en) * | 1982-03-18 | 1984-12-11 | International Business Machines Corporation | Extended control word decoding |
US4586130A (en) * | 1983-10-03 | 1986-04-29 | Digital Equipment Corporation | Central processing unit for a digital computer |
US4893235A (en) * | 1983-10-03 | 1990-01-09 | Digital Equipment Corporation | Central processing unit for a digital computer |
US4812971A (en) * | 1983-10-03 | 1989-03-14 | Digital Equipment Corporation | Central processing unit for a digital computer |
DE3500377A1 (de) * | 1984-01-16 | 1985-07-25 | N.V. Philips' Gloeilampenfabrieken, Eindhoven | Verfahren zur bearbeitung maschinencodierter befehlswoerter und datenprozessor durch durchfuehrung des verfahrens |
FR2569285B1 (fr) * | 1984-08-14 | 1989-02-03 | Trt Telecom Radio Electr | Processeur pour effectuer suivant differents modes le traitement de donnees et dispositif de multiplication convenant pour un tel processeur |
DE3577242D1 (de) * | 1984-08-14 | 1990-05-23 | Trt Telecom Radio Electr | Prozessor zur verarbeitung von daten verschiedener darstellungsarten und geeignetes multipliziergeraet fuer einen solchen prozessor. |
JP2565495B2 (ja) * | 1986-08-27 | 1996-12-18 | 株式会社日立製作所 | デ−タ処理システム |
US5218712A (en) * | 1987-07-01 | 1993-06-08 | Digital Equipment Corporation | Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption |
JP2845433B2 (ja) * | 1987-09-07 | 1999-01-13 | 日本電気株式会社 | 集積回路装置 |
NL8800071A (nl) * | 1988-01-13 | 1989-08-01 | Philips Nv | Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem. |
JPH01297764A (ja) * | 1988-05-25 | 1989-11-30 | Nec Corp | プロセッサ |
US5280620A (en) * | 1988-12-16 | 1994-01-18 | U.S. Philips Corporation | Coupling network for a data processor, including a series connection of a cross-bar switch and an array of silos |
US5249273A (en) * | 1989-01-17 | 1993-09-28 | Fujitsu Limited | Microprocessor having a variable length instruction format |
DE68928980T2 (de) * | 1989-11-17 | 1999-08-19 | Texas Instruments Inc. | Multiprozessor mit Koordinatenschalter zwischen Prozessoren und Speichern |
US5446865A (en) * | 1990-03-13 | 1995-08-29 | At&T Corp. | Processor adapted for sharing memory with more than one type of processor |
DE69327504T2 (de) * | 1992-10-19 | 2000-08-10 | Koninklijke Philips Electronics N.V., Eindhoven | Datenprozessor mit Operationseinheiten, die gemeinsam Gruppen von Registerspeichern benutzen |
US5848289A (en) * | 1992-11-27 | 1998-12-08 | Motorola, Inc. | Extensible central processing unit |
JPH07281890A (ja) * | 1994-04-06 | 1995-10-27 | Mitsubishi Electric Corp | 命令セット及びそのマイクロコンピュータによる実行方法 |
US5890222A (en) * | 1995-01-04 | 1999-03-30 | International Business Machines Corporation | Method and system for addressing registers in a data processing unit in an indirect addressing mode |
FR2731094B1 (fr) * | 1995-02-23 | 1997-04-30 | Dufal Frederic | Procede et dispositif de commande simultanee des etats de controle des unites d'execution d'un processeur programmable |
FR2731095B1 (fr) * | 1995-02-23 | 1997-04-30 | Dufal Frederic | Procede et dispositif de commande simultanee des etats de controle des unites d'execution d'un processeur programmable a architecture du type pipeline, notamment un processeur de traitement d'images |
US6298002B1 (en) * | 1999-12-14 | 2001-10-02 | Intel Corporation | Memory structures having selectively disabled portions for power conservation |
US7028170B2 (en) | 2000-03-08 | 2006-04-11 | Sun Microsystems, Inc. | Processing architecture having a compare capability |
US6892295B2 (en) | 2000-03-08 | 2005-05-10 | Sun Microsystems, Inc. | Processing architecture having an array bounds check capability |
AU2001249122A1 (en) * | 2000-03-08 | 2001-09-17 | Sun Microsystems, Inc. | Processing architecture having field swapping capability |
US7124160B2 (en) | 2000-03-08 | 2006-10-17 | Sun Microsystems, Inc. | Processing architecture having parallel arithmetic capability |
FR2867874A1 (fr) * | 2004-03-22 | 2005-09-23 | St Microelectronics Sa | Dispositif et procede de gestion d'un jeu d'instructions d'un microprocesseur |
JP5217431B2 (ja) | 2007-12-28 | 2013-06-19 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
GB2589334B (en) | 2019-11-26 | 2022-01-05 | Advanced Risc Mach Ltd | Register-provided-opcode instruction |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE629725A (nl) * | 1962-03-29 | |||
US3292151A (en) * | 1962-06-04 | 1966-12-13 | Ibm | Memory expansion |
US3331056A (en) * | 1964-07-15 | 1967-07-11 | Honeywell Inc | Variable width addressing arrangement |
US3593312A (en) * | 1969-11-14 | 1971-07-13 | Burroughs Corp | Data processor having operand tags to identify as single or double precision |
US3764988A (en) * | 1971-03-01 | 1973-10-09 | Hitachi Ltd | Instruction processing device using advanced control system |
US3781823A (en) * | 1972-07-28 | 1973-12-25 | Bell Telephone Labor Inc | Computer control unit capable of dynamically reinterpreting instructions |
JPS5171648A (nl) * | 1974-12-18 | 1976-06-21 | Panafacom Ltd | |
JPS5245232A (en) * | 1975-10-08 | 1977-04-09 | Hitachi Ltd | Micro program modification circuit |
US4021655A (en) * | 1976-03-30 | 1977-05-03 | International Business Machines Corporation | Oversized data detection hardware for data processors which store data at variable length destinations |
US4117536A (en) * | 1976-12-27 | 1978-09-26 | International Business Machines Corporation | Instruction processing control apparatus |
US4161784A (en) * | 1978-01-05 | 1979-07-17 | Honeywell Information Systems, Inc. | Microprogrammable floating point arithmetic unit capable of performing arithmetic operations on long and short operands |
-
1978
- 1978-12-29 US US05/974,426 patent/US4293907A/en not_active Expired - Lifetime
-
1979
- 1979-12-06 CH CH6635/80A patent/CH650600A5/de not_active IP Right Cessation
- 1979-12-06 JP JP50030579A patent/JPS55501075A/ja active Pending
- 1979-12-06 GB GB8027349A patent/GB2050659B/en not_active Expired
- 1979-12-06 NL NL7920197A patent/NL7920197A/nl unknown
- 1979-12-06 WO PCT/US1979/001045 patent/WO1980001423A1/en unknown
- 1979-12-17 CA CA342,084A patent/CA1123959A/en not_active Expired
- 1979-12-20 AU AU54064/79A patent/AU542875B2/en not_active Ceased
- 1979-12-24 FR FR7931593A patent/FR2445555B1/fr not_active Expired
- 1979-12-27 ES ES487294A patent/ES487294A1/es not_active Expired
- 1979-12-27 BE BE0/198767A patent/BE880888A/fr not_active IP Right Cessation
- 1979-12-28 IT IT28442/79A patent/IT1127771B/it active
-
1980
- 1980-08-27 SE SE8005989A patent/SE424114B/sv not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
ES487294A1 (es) | 1980-08-01 |
WO1980001423A1 (en) | 1980-07-10 |
IT7928442A0 (it) | 1979-12-28 |
US4293907A (en) | 1981-10-06 |
GB2050659B (en) | 1983-05-18 |
GB2050659A (en) | 1981-01-07 |
IT1127771B (it) | 1986-05-21 |
FR2445555A1 (fr) | 1980-07-25 |
CA1123959A (en) | 1982-05-18 |
JPS55501075A (nl) | 1980-12-04 |
CH650600A5 (de) | 1985-07-31 |
AU5406479A (en) | 1980-07-10 |
AU542875B2 (en) | 1985-03-21 |
BE880888A (fr) | 1980-04-16 |
FR2445555B1 (fr) | 1986-07-18 |
SE424114B (sv) | 1982-06-28 |
SE8005989L (sv) | 1980-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NL7920197A (nl) | Informatieverwerkende inrichting met een op-code verlengd register. | |
US4258419A (en) | Data processing apparatus providing variable operand width operation | |
US7219215B2 (en) | Data processing apparatus and method for moving data elements between specified registers and a continuous block of memory | |
Kuehn et al. | The Horizon supercomputing system: architecture and software | |
US7822947B2 (en) | Aliasing data processing registers | |
US4524416A (en) | Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system | |
US3983539A (en) | Polymorphic programmable units employing plural levels of sub-instruction sets | |
US4799149A (en) | Hybrid associative memory composed of a non-associative basic storage and an associative surface, as well as method for searching and sorting data stored in such a hybrid associative memory | |
US20050198473A1 (en) | Multiplexing operations in SIMD processing | |
US5522051A (en) | Method and apparatus for stack manipulation in a pipelined processor | |
US3983541A (en) | Polymorphic programmable units employing plural levels of phased sub-instruction sets | |
BR102020019657A2 (pt) | aparelhos, métodos e sistemas para instruções de um acelerador de operações de matriz | |
TWI461910B (zh) | 用於依照組態資訊執行原子記憶體操作之記憶體及方法 | |
US20060150170A1 (en) | Methods and apparatus for automated generation of abbreviated instruction set and configurable processor architecture | |
US20050125647A1 (en) | Endianess compensation within a SIMD data processing system | |
US20050125636A1 (en) | Vector by scalar operations | |
US7210023B2 (en) | Data processing apparatus and method for moving data between registers and memory in response to an access instruction having an alignment specifier identifying an alignment to be associated with a start address | |
US20050125639A1 (en) | Table lookup operation within a data processing system | |
US3701977A (en) | General purpose digital computer | |
US4240142A (en) | Data processing apparatus providing autoincrementing of memory pointer registers | |
CN1662904A (zh) | 具有级联simd结构的数字信号处理器 | |
US20050125631A1 (en) | Data element size control within parallel lanes of processing | |
CN110321165A (zh) | 复数向量融合乘加和复数向量乘法的高效实现 | |
US4250545A (en) | Data processing apparatus providing autoloading of memory pointer registers | |
US20050125638A1 (en) | Data shift operations |