NL8205076A - Data processor eenheid voorzien van een stuurgedeelte welk een adresgenerator bevat voor het genereren van adressen welke uit karakteristieke adresdelen zijn samengesteld. - Google Patents

Data processor eenheid voorzien van een stuurgedeelte welk een adresgenerator bevat voor het genereren van adressen welke uit karakteristieke adresdelen zijn samengesteld. Download PDF

Info

Publication number
NL8205076A
NL8205076A NL8205076A NL8205076A NL8205076A NL 8205076 A NL8205076 A NL 8205076A NL 8205076 A NL8205076 A NL 8205076A NL 8205076 A NL8205076 A NL 8205076A NL 8205076 A NL8205076 A NL 8205076A
Authority
NL
Netherlands
Prior art keywords
address
micro
data processor
output
partial
Prior art date
Application number
NL8205076A
Other languages
English (en)
Original Assignee
Philips Nv
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Nv filed Critical Philips Nv
Priority to NL8205076A priority Critical patent/NL8205076A/nl
Priority to DE3344340A priority patent/DE3344340C2/de
Priority to GB08334334A priority patent/GB2133189B/en
Priority to IT24416/83A priority patent/IT1170295B/it
Priority to JP58252355A priority patent/JPH0640303B2/ja
Priority to FR8321105A priority patent/FR2538928B1/fr
Publication of NL8205076A publication Critical patent/NL8205076A/nl
Priority to US06/918,681 priority patent/US4750108A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/261Microinstruction address formation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields

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)
  • Advance Control (AREA)

Description

. S?-' *1 PHN 10.537 1 N.V. PHILIPS' GLOEILAMPENFABRIEKEN TE EINDHOVEN.
"Data processor eenheid voorzien van een stuurgedeelte welk een adresgenerator bevat voor het genereren van adressen welke uit karakteristieke adresdelen zijn samengesteld".
De uitvinding heeft betrekking op een dataprocessor, bevattende een intern geheugen, een verwerkingsgedeelte, een stuurgedeelte en een ccnnunicatiegedeelte voor informatietransport tussen genoemde onderdelen en tussen de dataprocessor en daarmee extern aan te 5 sluiten elementen, welk ccnnunicatiegedeelte van een instruktieregister is voorzien voor het invoegen van een door de dataprocessor te verwerken informatie, welk stuurgedeelte een volgardebesturingsinrichting (sequencer) en een microcode geheugen bevat; welk microcode geheugen voorzien is van een onderling verbonden adresdecodeur en een opslaggedeelte 10 voor het opslaan van een aantal behandelaars, die elk ten minste één micro-instruktiewoord bevatten, voor het afgeven van stuur informatie voor het sturen van de door de dataprocessor te verwerken informatie; welke volgardebesturingsinrichting voorzien is van een adresgenerator voor het genereren van adressen voor de micrcr-instrukt iewoorden, welke 15 volgardebestur ingsinrichting verder een eerste ingang heeft verbonden met een eerste uitgang van het microcode geheugen voor het aanbieden van adres gegevens en een adresuitgang verbonden met een adresingang van het microcode geheugen, welk micro-code geheugen een tweede uitgang heeft verbonden met het cammicatiegedeelte.
20 Een dergelijke dataprocessor is bekend uit het confe- rentieverslag: "proceedings Coup. Canf. 79, September '79" bladzijden 68-69 en uitgegeven bij IEEE Conputer Society Long Beach, California, U.S.A.. De dataprocessor verwerkt informatie en genereert daarbij stuur informatie. De te verwerken informatie wardt meestal in de vorm 25 van instrukties, voornamelijk macro-instrukties, aan de dataprocessor aangeboden. De macro-instrukties worden in het instruktieregister opgeslagen alvorens door de dataprocessor te worden verwerkt. Bij de in het geciteerde conferentieverslag beschreven dataprocessor in een uitgang van het instruktieregister verbonden met een dekodeur, ook wel 30 mapping ROM genoemd. Deze mapping ROM heeft als funktie de macro-instrukties te vertalen naar een voor de volgardebestur ings inr ichting bruikbare taal. Onder controle van de "vertaalde" macro-instruktie 8205076 EHN 10.537 2 « genereert de adresgenerator van de volgordebesturings inr icht ing een startadres waarmee dan een in het microcode-geheugen opgeslagen micro-instruktiewoord dat deel uitmaakt van een behandelaar wordt geadresseerd. Een behandelaar bevat de stuurinformatie voor het sturen van de te ver-5 werken informatie. De micro-instruktiewoorden van een behandelaar bevatten een adresveld waarin adresgegevens zijn opgeslagen, waarmee dan door de adresgenerator een volgend micro-instruktiewoord wordt geadresseerd. Zo wordt onder besturing van opeenvolgende micro-instruktiewoor-den een informatie door de dataprocessor verwerkt. De hiervoor beno-10 digde stuur informatie wordt afgegeven aan de tweede uitgang van het micro-codegeheugen. Daar de dataprocessor meestal informatie van verschillende aard, zoals bijvoorbeeld leesoperaties, rekenoperaties, schrijfoperaties enz, te verwerken heeft, zijn hiervoor ook een aantal behandelaars in het micro-codegeheugen opgeslagen. Elk van deze behan-15 delaars is dan op zijn beurt voorzien van stuurinformatie voor het sturen van een bepaalde operatie.
Een nadeel van een dergelijke dataprocessor is dat voor grote micro-codegeheugens het adresveld groot wordt, bijvoorbeeld voor een 64K geheugen bevat dit adresveld 16 bits. De bewerkingstijd, met 20 name de door de adresgenerator benodigde tijd, neemt toe naar mate het adres groter wordt. Bovendien is voor het dekoderen van de macro-instruk-ties zoals reeds beschreven een mapping ROM noodzakelijk. Dit laatste kost dan weer enerzijds extra chip oppervlakte en anderzijds ook weer tijd, namelijk de benodigde decodeertijd.
25 De uitvinding beoogt een dataprocessoreenheid te realise ren waarbij een mapping ROM niet meer noödzakelijk is en waarbij het adresveld, zelfs bij grotere geheugens toch klein blijft.
Een data processoreenheid volgens de uitvinding heeft daartoe het kenmerk, dat een uitgang van het instruktieregister direkt 30 verbonden is met een tweede ingang van de volgordebes tur ings inr ichting waarvan de adresgenerator ten minste een eerste en een tweede deeladres-generator bevat, een eerste^aèresgenerator voor het genere^ van een eerste deeladres voor het adresseren van een behandelaar uit genoemde aantal behandelaars, en een tweede deeladresgenerator voor het genereren van een 35 tweede deeladres voor het adresseren van een micro-instruktiewoord binnen de door het eerste deeladres geadresseerde behandelaar.
8205076 c * PHN 10.537 3
Het direkt verbinden van het instruktieregister net de volgordebesturingsinrichting houdt in dat een mapping GOM geen deel meer uitmaakt van een dataprocessar volgens de uitvinding. Dit laatste is mogelijk doordat nu de adresgenerator ten minste twee deeladresgenera- 5 toren bevat die elk een deeladres genereren ei waarbij de deeladressen dan het adres voor een micro-instruktiewoard vormen. Een eerste deel-een adres staat voor [_ behandelaar en een tweede deeladres staat voor een woord binnen die behandelaar. Uit de inhoud van de macro-instruktie 20-als opgeslagen in het instruktieregister wordt nu direkt bepaald welke 10 behandelaar noodzakelijk is voor het sturen van het verwerken van die informatie. Bovendien is door gebruik te maken van deeladressen het adres-veld kleiner geworden waardoor bewerkingen hiermee eenvoudiger en dus sneller te realizeren zijn.
Een bijzondere uitvoeringsvorm van een dataprocessar 15 volgens de uitvinding, waarbij het aantal behandelaars in ten minste twee verschillende groepen is onderverdeeld, welke onderverdeling naar de aard van de stuur informatie van de behandelaar is aangebracht, heeft het kenmerk, dat de adresgenerator een derde deeladresgenerator bevat voor het genereren van een derde deeladres, voor bet adresseren van 20 een groep van behandelaars, waarbij eerste, tweede en derde deeladres een wederzijds exclusief deel van het adres bepalen.
In hoofdzaak zijn er drie verschillende groepen van behandelaars, namelijk de microsubrcutines, de speciale behandelaars, en de instruktie-behandelaars. Door nu aan elk van deze groepen een deeladres toe te 25 kennen zal een adres voor een micro-instruktiewoard dan drie delen bevatten, die door de volgordebesturingsinrachting afzonderlijk behandeld worden waardoor manipulatie met die adressen eenvoudig wordt en snel te realiseren is.
Een verdere bijzondere uitvoeringsvorm van een datapro-30 cessar volgens de uitvinding heeft het kenmerk, dat de verzameling van de door de adresdekodeur te dekoderen adressen welke adressen samengesteld zijn uit ten minste twee deeladressen, substantieel kleiner is dan een verdere verzameling van binaire getallen in een bitreeks met geaggregeerde lengte gelijk aan die van een adres.
35 Door de bijzondere keuze van de adressen voor de micro-instruktie-woorden, namelijk een eerste, tweede en eventueel derde deeladres, zijn niet alle mogelijke adresccmbinaties die er te realiseren zijn met een 8205076 ^ t PHN 10.537 4 gegeven woordlengte (aantal bits) voor een adreswoord noodzakelijk.
Het aantal te gebruiken adressen wordt irrmers bepaald door het aantal behandelaars, het aantal naicro-instruktiewoorden in een behandelaar en eventueel het aantal groepen van behandelaars. Deze bijzondere adres-5 keuze heeft gevolgen voor de implementatie van de adresdecodeur van het micro-ccdegeheugen, die hiervoor minder chip oppervlakte in beslag neemt, waardoor dan ook het micro-codegeheugen minder chip oppervlakte inneemt.
De uitvinding zal nader worden toegelicht aan de hand van 10 de tekening waarbij fig. 1 een afbeelding geeft van de voornaamste bestanddelen van een data verwerkend systeem; fig. 2 een voorbeeld laat zien van een implementatie van een stuurgedeelte van een dataprocessoreenheid; 15 fig. 3a, de verschillende delen van een geheugen uit het stuurgedeelte van. een dataprocessoreenheid illustreert? fig. 3b laat een eenvoudig voorbeeld zien van de struktuur van een micro-codegeheugen ; fic. 3c en d voorbeelden laat zien van de wijze waarop de 20 adressen zijn gevormd en het verband illustreert tussen de adressen en de micro instruktiewoorden; fig. 4 een uitvoeringsvoorbeeld laat zien van een volg-ordebesturingsinrichting die deel uitmaakt van het stuurgedeelte van een dataprocessoreenheid volgens de uitvinding.
25 Een dataverwerkend systeem zoals afgebeeld ia fig. 1 bevat onder meer een dataprocessoreenheid (1) en een hoofdgeheugen (2). De dataprocessoreenheid en het hoofdgeheugen zijn aangesloten aan een bus 3 waarover gegevens circuleren. Aan de bus kunnen nog meerdere eenheden aangesloten zijn zoals bekend bij dataverwsrkende systemen, maar deze 30 zijn niet afgebeeld daar zij niet van belang zijn voor de beschrijving van de uitvinding. In de data processoreenheid (1) zijn verscheidene delen te onderscheiden. Zo bevat de centrale processoreenheid bijvoorbeeld een intern geheugengedeelte A, een stuurgedeelte B, een verwer-kingsgedeelte C en een ingangs/uitgangsinterface gedeelte D. Deze ge-35 deeltes A, B, C en D zijn alle aangesloten op een interne bus 4 waardoor zij onderling met elkaar informatie kunnen uitwisselen. Het stuur-* gedeelte B zendt verder via de lijn 5 stuursignalen naar elk der overige gedeeltes.
8205076 1 .
PHN 10.537 5
De uitvinding heeft betrekking op het stuurgedeelte B van de data processareenheid, in het bijzonder op een implementatie van dit stuurgedeelte B. Het stuurgedeelte zorgt ervoor, door het genereren van stuursignalen dat te verwerken data op de aangewezen plaatsen op een 5 aangegeven manier wordt behandeld.
Het systeem 15 uit figuur 2 laat een voorbeeld zien van een implementatie van een stuurgedeelte uit een data processoreenheid volgens de uitvinding. Het stuurgedeelte 15 bevat een volgordebesturingsinrich-ting 11 (sequencer) waarvan een eerste ingang verbonden is met een kon-10 ditieregister 13 en een tweede ingang verbonden is met een instruktie-register 10. Een uitgangspoortsysteem 16 van de vervolgregelinrichting is verbonden met een adresingang van een micro-code geheugen 12. Een datauitgang van dat micro-code geheugen 12 is verbonden met een ingang van een micro-instruktiewoord register 14, waarvan een eerste uitgang 15 verbonden is met de lijn 5 van de data processareenheid. Een tweede respektievelijk derde uitgang van het micro-instruktiewoord register 14 is verbonden met een derde respektievelijk vierde ingang van de volgordebestur ingsinrichting 11. Het micro-dnstruktiewoardregister en zijn daaraan verbanden uitgangslijnen vormen een "pijplijn verzamel-lijn" (pipe-20 line assembly-line). Het begrip "pijplijn verzamel-lijn" is bijvoorbeeld beschreven op de bladzijden 84 en 84 van het boek "Computer Structures Reading and Examples" van C.G. Bell en A. Newell uitgegeven bij Mc Gr aw Hill Bock Company (1971).
Het instruktieregister 10 maakt deel uit van het ingangs/uit-25 gangsinterface gedeelte D van de data processareenheid. In het instruktieregister 10 wordt telkens een binaire code voor een volgende instruk-tie van het door de data processoreenheid in behandeling zijnde prograrma opgeslagen. De instrukties van het in behandeling zijnde programma zijn afkomstig van het hoofdgeheugen (2 uit fig. 1) of van een andere aan de 30 bus 3 aangesloten eenheid. Deze instrukties zijn "macro-instrukties" dat zijn instrukties die in een conpakte vorm zijn geformuleerd.
Een voorbeeld van een macro-instruktie is "ADD , R^". Zo geformuleerd stelt deze macro-instrukt ie een bewerking voor waarbij de inhoud van het register R-j moet worden opgeteld bij de inhoud van het register R^.
35 De in het instruktieregister opgeslagen macro-instruktie wordt door het stuurgedeelte van de data processoreenheid vertaald in micro-instrukties die dan door het verwerkingsgedeelte C warden uitgevoerd. Zo wordt de 8205076 PHN 10.537 6 in het voorbeeld geciteerde macro-instruktie "AT® R1, R^" vertaald in micro-instrukties bijvoorbeeld door: R.j ALU 1? breng de inhoud van register R1 naar de eerste ingang van de ALU (Arithmetic logic unit) (De ALU maakt deel uit van 5 het verwerkingsgedeelte C van de data processoreenheid)
R^ —* ALU 2; breng de inhoud van het register R^ naar de tweede ingang van de ALU
ALU -> Rj ; schrijf het resultaat aan de uitgang van de ALU in het register R^ 10 PC + 1 —* MEMADR; verschuif de progranmateller PC (Program counter) naar een volgend geheugenadres van het geheugen waar het in behandeling zijnde programma is opgeslagen PC + 1 -¾ PC; incrementeer met één eenheid de programmateller MEM IR; lees de inhoud van dat volgend geheugenadres en schrijf 15 deze inhoud in het instruktieregister.
Deze laatste drie micro-instrukties kanen (bijna) altijd voor bij het uitvoeren van macro-instrukties. De micro-instrukties zijn in de vorm van micro-instruktiewoorden in het micro-code geheugen 12. opgeslagen. Elk micro-instruktiewoord wordt door middel van een uniek adres 2.0 aangeboden aan de adresingang van dat micro-code geheugen geadresseerd. Dit adres is afkomstig van de volgordebesturingsinrichting 11 waar het aan het uitgangspoortsysteem 16 wordt af gegeven. In dit uitvoer ingsvoor-beeld is dat adres uit drie karakteristieke delen samengesteld. Deze drie karakteristieke delen identificeren het bijbehorende instruktie-25 woord. Cm dit duidelijk te maken is het noodzakelijk eerst in. te gaan op de inhoud van het micro-code geheugen 12. Vervolgens zal dan worden beschreven hoe het adres in de volgordebesturingsinrichting 11 wordt gevormd, alsmede de wijze waarop het stuurgedeelte 15 funktioneert.
Figuur 3a geeft een voorbeeld van een inwendige struktuur van 30 een micro-code geheugen 12 voor een stuurgedeelte van een data processoreenheid. Zo'n micro-code geheugen bevat een opslaggedeelte 20 en een daarmee verbonden adresgedeelte 21. Bij elk adres uit het adresgedeelte 21 behoort een micro-instruktiewoord uit het opslaggedeelte. Het adres wordt aangeboden aan een adresingang 22 en het micro-instruktiewoord be-35 horende bij het aangeboden adres wordt aan een datauitgang 23 afgegeven. Het micro-code geheugen bevat bijvoorbeeld een EN-matrix struktuur voor het dekoderen van het adressignaal en een OF-matrix struktuur voor het 8205076 FHN 10.537 7 opslaan van de micxo-instruktiewoorden welke in het opslaggedeelte zijn opgeslagen.
Figuur 3b illustreert zo’n micro-code geheugen struktuur aan de hand van een eenvoudig voorbeeld. Het aan de adresingang 22 aange-5 boden adres is bijvoorbeeld twee bits breed (AjAq) . Voor elke adresbit is er een adreslijn, namelijk adreslijn 24 respektievelijk 25 voor adresbit Ag respektievelijk Aj. Elke adreslijn is aan de ingang van het adresgedeelte telkens verbanden met de ingang van een bij die adreslijn behorende inverteur (Gg, G^. Een uitgang van elke inverteur (GQ resp. G.j) 10 is verbonden met een nevenadreslijn (24' resp. 25'). De adreslijnen en de nevenadreslijnen vonten dan de kolomen van de matrix. Voor het decoderen van de adresinformatie zijn transistoren voorzien welke door middel van een kruis zijn aangegeven. De trans is toren vonten de elementen van de matrix die op de knooppunten van de rijen en de kolomen staan 15 De adreslijnen, resp. de nevenadreslijnen zijn verbonden met een eerste elektrode (bijvoorbeeld de basis) van zo'n transistor. Een tweede elektrode (bijvoorbeeld de kollektar) van zo'n transistor is verbanden met een punt 26 waaraan een spanningsbron wordt aangesloten. Deze spanningsbron (in de figuur niet af geheeld) geeft een spanning af die bijvoorbeeld 20 de waarde logische "1" voorstelt. Een derde elektrode (bijvoorbeeld de emitter) van zo'n transistor is verbonden met een ingang van een logische EN-poort (27, 28, 29). In dit voorbeeld zijn er vier ingangen bij elke logische EN-poort. On de afbeelding overzichtelijk te houden is er slechts één ingang getekend. Het bijzondere van deze struktuur is dat niet elk 25 knooppunt van zo'n transistor is voorzien (er zijn knooppunten zonder kruis). Op bepaalde knooppunten is de transistor weggelaten (in de praktijk gerealiseerd door het kortslutien van de transistor). Zo'n knooppunt waar de transistor is weggelaten heeft dan altijd de woerden logische "1" ongeacht de waarde van de adresbit.
30 Bij het voorbeeld gegeven in figuur 3b heeft elke rij slechts twee trans is tor en . Het voordeel van zo'n struktuur is dat op deze manier de adreskeuze voor de te adresseren micro-instruktiewocrden volkomen vrij is.
Bij het voorbeeld gegeven in figuur 3b wordt door het adres AjAq = 00 het 35 micro-instruktiewoord op de eerste rij van het opslaggedeelte geadresseerd (waarde logische "1111" op de vier ingangen van logische ENpoort 27).
Door het adres A^Aq = 10 resp. AjAq - 11 wordt het micro-instruktiewoard 8205076 PHN 10.537 8 op de tweede resp. de derde rij van het qpslaggedeelte geadresseerd.
Het adres AjAq = 01 wordt door deze struktuur niet gedekodeerd en wordt niet als adres gebruikt. Door deze vrijheid in de keuze van de adressen is het nu mogelijk cm een link te leggen tussen de waarde van het adres 5 en het door dat adres aangegeven mLcro-instruktiewoord.
Het opslaggedeelte bevat een analoge struktuur aan het adresgedeelte. Hier echter is elke kolom met een logische OF-poort (30, 31, 32) verbonden. De struktuur voor het dataopslaggedeelte wordt dan ook als OF-matrix struktuur aangeduid.
10 Een dergelijk geheugen waarbij vele adressen niet hardware ge realiseerd zijn zal in de verdere beschrijving als "ijl geheugen" (sparse memory) worden aangeduid. Zo'n ijl geheugen is dan slechts ten dele gevuld met micro-code woorden in vergelijking met een normaal geheugen met dezelfde opslagcapaciteit.
15 Zoals reeds vermeld bij de beschrijving van figuur 2 bevat het adressignaal in dit uitvoeringsvoorbeeld drie karakteristieke delen.
In figuur 3c is het adresgedeelte van het geheugen 12 uit fig. 3a en fig. 2 af geheeld, en worden deze drie karakteristieke delen aan de hand van een voorbeeld geïllustreerd. De gedachte cm een adres voor een geheu-20 gen van een stuurgedeelte van een data processoreenheid op te bouwen uit drie karakteristieke delen is gebaseerd op het feit dat er slechts een beperkt aantal soorten van micro-instrukties te onderscheiden is.
Een onderscheid wordt gemaakt tussen vier soorten van micro-instrukties namelijk: 25 1. Het aanroepen van een micro-subroutine 2. Het springen naar een behandelaar (handler) voor een nieuwe macro-instruktie 3. Het springen naar speciale behandelaars-routinen zoals bijvoorbeeld foutafhandelingsroutines, of een qphaalroutine (fetch routine).
30 4. Het springen binnen een behandelaar.
Daar er nu voor het micro-code geheugen een ijl geheugen wordt gebruikt, wordt de vrijheid on de adressen te kiezen die zo'n ijl geheugen biedt, benut voor het linken van de adressen met de micro-in-struktiewoorden. Een adres voor dat ijl geheugen wordt nu uit drie ka-35 rakteristieke delen samengesteld en vormt zodoende een triplet. Dit triplet, bevat zoals geïllustreerd in fig. 3c: 8205076 PHN 10.537 9 I’ I een indikatie voor het type behandelaar II een indikatie die het nurrmer van dé behandelaar binnen een type | aangeeft III een indikatie voor het nuicro-instruktiewoard binnen een behan-5 del aar.
De bestanddelen van dit triplet zullen nu nader warden anschreven.
I. Een indikatie voor het type behandelaar.
Dit deel is bijvoorbeeld zoals in figuur 3c aangeduid, twee bits breed, en duidt het type behandelaar aan. Zo wordt bijvoorbeeld aangeduid door: 10 00: de micro-subroutines (behandelaar van het eerste type) 01: de speciale behandelaars (behandelaar van het tweede type) 10: de instruktie behandelaars (behandeling van het derde type), dat zijn behandelaars voor het uitvoeren van micro-instrukties.
In deze uitvoering zal een adres voor het ijl geheugen dat met 00 begint 15 altijd wijzen naar een micro-subroutine, en omgekeerd heeft het adres van een micro-subroutine uit het ijl geheugen altijd 00 als bitwaarde voor de twee eerste bits. Het adres van een speciale behandelaar, respek-tievelijk een instruktie-behandelaar uit het ijl geheugen heeft altijd 01, resp. 10 als bitwaarde voor de twee eerste bits. Hiermee is dan een 20 eerste grove verdeling gerealiseerd tussen de verschillende soorten van micro-instrukties en de wijze waarop ze in het ijl geheugen warden opgeslagen. Deze grove verdeling wordt verfijnd door de twee overige delen van het triplet.
H Een indikatie die het nuirmer van de behandelaar binnen een type aan-25 geeft.
Dit deel is k bits breed (bijvoorbeeld k=8) waardoor er dan voor elk type maximaal 2^ verschillende behandelaars kan bevatten. Door het gebruik van een ijl geheugen echter is het niet noodzakelijk al deze mogelijkheden te gebruiken maar wordt de mogelijkheid geboden om voor elk 30 type behandelaar zoveel verschillende adresnunmers te reserveren als er aantallen behandelaars bij dat betreffende type behoren. De verschillende behandelaars van één bepaald type zijn, al dan niet opeenvolgend, genummerd van 0, ........ I (0 I ^ ^-1). In het voorbeeld gegeven in fig. 3c zijn er voor de behandelaars van het eerste type drie ver- 35 schillende behandelaars genummerd 0.....00, 0 ..... 10 en 0 .... 11.
Voor de behandelaars van het tweede type zijn er twee verschillende behandelaars genummerd 0 .... 00 en 0 .... 01, en voor de behandelaars 8205076 EHN 10.537 10 van het derde type zijn er vier verschillende behandelaars genummerd 0.....00, 0 .... 01, 0.......10 en 0.....11.
Zoals uit het voorbeeld van figuur 3c bij de behandelaars van het eerste type blijkt is het niet noodzakelijk dat de verschillende behande-5 laars behorende bij een bepaald type opeenvolgend genummerd zijn. Deze vrijheid in het toekennen van nummers die dan als adres fungeren is, zoals reeds vermeld, mogelijk door gebruik te maken van een ijl geheugen. III Een indikatie voor het micro-instruktiewoord binnen een behandelaar. Dit deel is p bits breed (bijvoorbeeld p=8) waardoor er dan maximaal 10 2^ micro-instruktieadressen beschikbaar zijn voor elke behandelaar af zonderlijk. Dit betekent dan dat elke behandelaar maximaal P micro-instruktiewoorden mag bevatten. Door middel van het derde gedeelte (III) van het triplet zijn de micro-instruktiewoorden dan genummerd van Ο,.,.,Ν (0 N 2^-1). Wederom is door gebruik te maken van een ijl geheugen k 15 het niet noodzakelijk voor elke behandelaar alle 2 -1 adressen te gebruiken maar kunnen telkens zoveel adressen worden gebruikt als er micro-instruktiewoorden in de betreffende behandelaar aanwezig zijn.
Het verband tussen een triplet-adres en een micro-instruktie-woord wordt aan de hand van een voorbeeld geïllustreerd in figuur 3d.
20 In dit voorbeeld bevat het deel I (indikatie voor het type behandelaar) één bit, het deel II (indikatie die het nunrner van de behandelaar binnen een type aangeeft) twee bits en het deel III (indikatie voor het micro-instruktiewoord) drie bits. Verondersteld is dat het een behandelaar van het eerste type betreft, dus een micro-subroutine (sbr), 25 en dat er drie verschillende micro-subroutines zijn. Dat het een micro-subroutine betreft wordt aangeduid door de bitwaarde "O" in de eerste kolom (I) van de adresmatrix in het adresgedeelte 21. De tweede en derde kolom, die samen voor elke rij telkens het deel II van het triplet vormen, laten zien dat de micro-subroutine met het nunrner 00 (no.Q) het 30 nunrner 10 (no. 2) en het nunrner 11 (no. 3) in dit gedeelte van het microcode geheugen zijn opgeslagen. De micro-subroutine met het nunrner 01 is niet aanwezig, dat mag, gezien de vrijheid die er gegeven is bij het gebruik van een ijl geheugen. De vierde, vijfde en zesde kolom, die samen voor elke rij het deel III van het triplet vormen, geven voor elke 35 rij de adressen van de opeenvolgende micro-instruktiewoorden van elke micro-subroutine. In het voorbeeld zoals gegeven in figuur 3d bevat de micro-subroutine met het nunrner 00 vijf micro-instruktiewoorden 8205076 PHN 10.537 11 (yum w r d 0 t/m 4), de nücrosutrcutine met het nurtmer 10 drie micro-ins truktiewoorden (^um w r d 0 t/m 2) en de micro-subroutine met het nummer 11 vijf micro-insturktiewoarden (^um w r d 0 t/m 4). De vijf micro-instruktiewoctrden van de micro-subroutine met het numner 00 bevat-5 ten voer het deel III van het triplet adres een opeenvolgende binaire numnering van 000 t/m 100. Voor de drie micro-instruktiewoorden van de micro-subroutine met het nummer 10 bevat het deel III van het triplet adres een opeenvolgende binaire numner ing van 000 t/m 010. Voor de mi-•crosuhroutine met het numner 11 geldt een analoge opzet. Het voorbeeld 10 van figuur 3d laat dus zien hoe de informatie in het ijl geheugen wordt opgeslagen en hoe de waarde van elk adres beherende bij een micro-in-struktiewoard wordt gekozen.
Deze bijzondere keuze van adressen heeft natuurlijk gevolgen voor de implementatie van de volgordebesturingsinrichting 11 uit figuur 15 2.
Fig. 4 geeft een voorbeeld van een implementatie van een volgordebesturingsinrichting. Deze volgordebesturingsinrichting 11 bevat voor elk deel van het genoemde triplet één multiplexer, namelijk multiplexer 50 voor deel I, multiplexer 51, resp. 52 voor deel II respek-20 tievelijk deel III. Elke multiplexer (50, 51, 52) heeft zijn eigen uit-gangsregister (53, 54, 55). Elk uitgangsregister is dan verbonden met een respektievelijke uitgangslijn 61, 62, 63 welke dan tesamen het uit-gangspoartsysteem 16 van de volgordebestur ingsinrichting vormen, en aan welk uitgangspoartsysteem 16 het triplet adres wordt afgegeven voor 25 het adresseren van het ijl geheugen. De volgordebesturingsinrichting bevat verder een stapel (stack) 58, dit is een "laatste in, eerste uit register", alsook een "plus 1" element 56, een dekodeur 57 en een konstanten generator 59. De funktie van deze elemental en de wijze waarop zij in de volgordebesturingsinrichting zijn geschakeld zal in de verdere 30 beschrijving warden toegelicht. Ctnwille van de duidelijkheid van de figuur zijn de verbindingslijnen als enkelvoudige lijnen getekend, het zal echter duidelijk zijn dat deze lijnen geschikt zijn cm een signaal dat meerdere bits breed te transporteren. De stapel 58 heeft drie infar-matie-ingangen en drie informatie-uitgangen waarvan telkens een infar-35 matieingang gepaard is met een informatieuitgang. Elk paar is telkens verbonden met een bepaalde multiplexer en andersom behoort bij elke multiplexer een ingangs-uitgangspaar van de stapel. De infarmatieingang 8205076 PHN 10.537 12 van het paar P^Q respektievelijk is verbonden met de uitgangslijn 61 respektievelijk 62 van de multiplexer 50 respektievelijk 51. De in-formatieuitgang van het paar P^Q respektievelijk P^ is verbonden met de ingangspoort van de multiplexer 50 respektievelijk 51. De infor-5 matieuitgang van het paar is verbonden met de ingangspoort van multiplexer 52. De informatieingang van het paar P52 is verbonden met een uitgang van het "plus 1" element 56.
Zoals vermeld bij de beschrijving van figuur 2 bevat de volg-ordebesturingsinrichting vier ingangen, namelijk een eerste 80 verbonden 10 met een konditieregister, een tweede 81 verbonden met een instruktreregister, een derde 78 en een vierde 79 elk verbonden met een uitgang van het micro-code-register (14 in fig. 2).
Elk micro-instruktiewoord bevat een micro operationele kode die in de verdere beschrijving als micro-opkode zal warden aangeduid, en een 15 micro-adresveld. De micro-opkode wordt aan de genoemde derde ingang 78 en het micro-adresveld aan de vierde ingang 79 van de volgordebesturings-inrichting aangeboden.
De micro-opkode specificeert de berekeningswijze voor het adres van de volgende micro-instruktiestap voor de uitvoering van de 20 behandelaar. De derde ingang 78 van de volgordebesturingsinrichting is verbonden met een eerste ingang van de dekodeur 57. Een tweede ingang van deze dekodeur is verbonden met de eerste ingang 80 van de volgordebesturings inr ichting. Deze dekodeur dekodeert de kondities afkomstig van het konditieregister (13 in fig. 2) en de micro-opkode. Het gedekodeerde 25 signaal bestuurt de drie multiplexers (50, 51, 52) alsook de stapel 58. Hiervoor is een eerste uitgang van de dekodeur via een verbindingslijn 64 verbonden met een stuuringang van de multiplexer 50. Een tweede respektievelijk derde uitgang van de dekodeur is via de verbindingslijn 65 respektievelijk 66 verbonden met een stuur ingang van de multiplexer 51 30 respektievelijk 52. Een vierde uitgang van de dekodeur is via de verbindingslijn 67 verbonden met een stuuringang van de stapel 68. Afhankelijk van het gedekodeerde signaal aan zijn stuuringang wordt een multiplexer in een bepaalde stand geschakeld waardoor één van de ingangspoorten van de multiplexer wordt geselekteerd en het signaal aanwezig 35 aan die ingangspoort naar het bijbehorende uitgangsregister wordt getransporteerd. Deze uitvoering met een aparte dekodeur 57 is slechts één mogelijke oplossing. Een andere oplossing is bijvoorbeeld cm elke mul- 8205076 FHN 10.537 13 tiplexer alsook de stapel van een aparte dekodeur te voorzien en de micro-opkode alsook de kondities ignalen afkomstig van het konditieregis-ter direkt aan de nul tiplexer en de stapel aan te bieden. De keuze van één van de beide oplossingen heeft geen direkte gevolgen op de werking 5 van de volgordebesturlngsinrichting daar beide oplossingen precies dezelfde taak verrichten. Deze keuze speelt in feite alleen een rol bij een realisatie volgens een gekozen technologie van een volgordebestu-ringsinrichting volgens de uitvinding.
De werking van de volgordebesturingsinrichting zal nu warden 10 beschreven aan de hand van de mogelijke micro-opkodes. Deze micro-op-kodes zijn bijvoorbeeld a) NEXT: Adresseer het micro-instruktiewocrd dat binnen de behandelaar welke wordt uitgevoerd cp het adres gelokaliseerd is, dat een adreswaarde heeft die precies één eenheid hoger is dan het 15 adres waarop deze micro-opkode is gelokaliseerd (adres + 1 = * nieuw adres) b) BRANCH: Adresseer het micro-instruktiewoord dat binnen de behande laar in uitvoering gelokaliseerd is op het adres zoals gegeven in het bijbehorende micro-adresveld, welke hier het deel III 20 van het triplet representeert. In deze micro-opkode kan nog een onderscheid worden getaakt tussen een niet-konditionele en een konditianele branch. Bij een niet-konditionele branch wordt altijd het adres zoals gegeven in het micro-adresveld geadresseerd. Bij een konditianele branch daarentegen wordt het adres 25 dat bepaald is afhankelijk van de geselekteerde konditie in het konditieregister geadresseerd.
c) JUMP: Adresseer een behandelaar van hetzelfde type maar met een ver schillend nummer dan diegene in uitvoering. Het nunrner van de te adresseren behandelaar wordt gegeven in het bijbehorende 30 adres veld.
d) NEXT INSTRUCTION: Kies aan de hand van de volgende macro-instruktie in het instruktieregister de volgende instruktiebehandelaar.
e) JSR: Adresseer een behandelaar van het eerste type, namelijk een micro-subroutine en plaats het adres van de mieree instruktie 35 volgend op de ISR instruktie cp de stapel.
f) RETURN: Haal het micro-adres op van de stapel.
g) JUMP SP: Adresseer een behandelaar van het tweede type, namelijk een speciale behandelaar.
B ? 0 5 0 7 6 , ' t- PHN 10.537 14
Voor elk van deze micro-opkodes zal nu worden beschreven hoe ze door de volgordebesturingsinrichting worden verwerkt. Dezelfde volgorde van opsomming van micro-opkodes zal worden aangehouden.
a) NEXT. Het uitgangsreg ister 55 van multiplexer 52 heeft via uitgangs-5 lijn 63 het deel III van het triplet adres van eer? op te halen micro- instruktiewDord afgegeven. Dat op te halen micro-instruktiewoord heeft als micro-opkode "NEXT". Het "plus 1" element 56 waarvan een ingang verbonden is met uitgangslijn 63 telt één eenheid op bij dat genoemde deel III van het triplet adres aanwezig op uitgangslijn 63 (adres i 10 adres i+1). Het met één eenheid geïncrementeerde adres wordt aan de ingangspoort M6 van multiplexer 52 aangeboden via lijn 68. De dekodeur 57 dekodeert de micro-opkode "next". Onder kontrole van het gedekodeerde "next" signaal op lijn 66 wordt de ingangspoort M6 van multiplexer 52 geselekteerd. Hierdoor wordt het geïncrementeerde deel III van het 15 triplet adres via uitgangsregister 55 en lijn 63 naar het uitgangspoort-systeem 16 getransporteerd. De gedekodeerde "next" signalen qp de lijnen 65 respektievelijk 64 zorgen er voor dat de ingangspoort M7 van de multiplexer 51 respektievelijk 50 wordt geselekteerd en het signaal aan die ingangspoort in het respektievelijk uitgangsregister wordt opgeslagen.
20 voor de multiplexer 50 en 51 is de ingangspoort M7 telkens direkt verbonden met de uitgang van zijn respektievelijk uitgangsregister. Via de lijn 61, resp. 62 wordt het deel I resp. deel II van het triplet naar het uitgangspoortsysteem 16 getransporteerd. Bij een micro-opkode "next" is dus alleen het deel III van het triplet adres gemodificeerd, deel I 25 en II blijven onveranderd. Hierdoor wordt dus een volgend instruktie-woord van eenzelfde behandelaar van eenzelfde type geadresseerd. Het aan het uitgangspoortsysteem 16 aangeboden adressignaal is dan van de vorm (M7, M7, M6) (adressignaal zoals bij deze micro-opkode aan de ingangspoort Mi van elke multiplexer gepresenteerd). Onder kontrole van 30 het gedekodeerde "next" signaal op lijn 67 blijft de stapel 58 inaktief.
b) BRMCH. 1° niet konditioneel: Het adres van het te adresseren micro-instruktiewoord wordt gegeven in het micro-adresveld van het micro-instruktiewoord dat "branch" als micro-opkode bevatte. Dit adres (deel III van het triplet) wordt aan de volgordebestur ings inrichting 35 aangeboden via ingang 79 vanwaar het langs lijn 60 aan de ingangspoort M5 van de multiplexer 52 wordt aangeboden. De dekodeur 57 dekodeert de micro-opkode "branch". Onder kontrole van het gedekodeerde "branch" 8205076 FHN 10.537 15 signaal αρ lijn 66 wordt de ingangspoort M5 van multiplexer 52 geselek-teerd. Hierdoor wordt het deel III van het triplet van het te adresseren adres via uitgangsregister 55 en lijn 63 naar het uitgangspoortsysteem 16 getransporteerd. Daar het te adresseren micro-instruktiewoord zich 5 binnen dezelfde behandelaar van hetzelfde type bevindt blijven deel I en deel II van het triplet ongewijzigd. Dit wordt gerealiseerd door, zoals ook beschreven bij de micro-opkode next, door het selekteren van het signaal aan de ingangspoort M7 van de multiplexers 50 en 51. Het aan het uitgangspoortsysteem 16 aangeboden adressignaal is nu van de vorm 10 (M7, M7, M5). Onder kantrole van het gedekodeerde "branch" signaal op lijn 67 blijft de stapel 68 inaktief, ook voor een kcnditionele branch. 2°: kontidicneel: Indien de micro-opkode onder voorwaarde geschiedt dan wordt deze voorwaarde via ingang 80 aan de dekodeur 57 af gegeven. Afhankelijk van deze voorwaarde zal de dekodeur via een kontrole signaal 15 op lijn 66 de ingangspoort M5 van multiplexer 52 kiezen voor het geval dat aan de kcnditie is voldaan (branch wel), of de ingangspoort M6 van multiplexer 52 kiezen voor het geval dat niet aan de kcnditie is voldaan (geen branch, dan "next").
c)JUMP; Het adres van de te adresseren behandelaar, dat is in dit geval 20 het nummer van deze behandelaar, wordt gegeven in het micro-adresveld van het micro-instruktiewoord dat "junp" als micro-opkode bevat. Dit adres (deel II van het triplet) wordt aan de volgordebesturingsinrichting aangeboden via ingang 79 vanwaar het langs lijn 82 aan de ingangspoort M5 van de multiplexer 51 wordt aangeboden. De dekodeur 57 dekodeert de 25 micro-opkode "jump". Older kontrole van het gedekodeerde "jump" signaal op lijn 65 wordt de ingangspoort M5 van de multiplexer 51 geselekteerd. Older kontrole van het gedekodeerde "junp" signaal op lijn 67 blijft de stapel 58 inaktief. Door het gedekodeerde "junp" signaal op lijn 66 wxdt de ingangspoort M4 van multiplexer 52 geselekteerd.
30 De ingangspoort M4 van multiplexer 52 is verbonden met een uitgang 70 van de kcnditiegenerator 49. Deze kanstantengeneratar 59 geeft aan zijn uitgang 70 altijd een adressignaal af dat het deel III van het triplet-adres van een eerste micro-instruktiewoord van een behandelaar karakteriseert. In het voorbeeld geïllustreerd in figuur 3d zou dan aan de uitgang 70 35 van de generator het adressignaal "000" worden afgegeven. Het gedekodeerde "junp" signaal op lijn 64 selekteert de ingangspoort M7 van de multiplexer 50. Het aan het uitgangspoortsysteem 16 aangeboden adressignaal is nu van de vorm (M7, M5, M4).
"705076 * PHN 10.537 16 d) NEXT INSTRUCTION: De dekodeur 57 dekodeert de micro-opkode "next instruction". Onder kontrole van het gedekodeerde "next instruction" signaal qp lijn 66 wordt de ingangspoort M4 van de multiplexer 52 geselek-teerd. De ingangspoort M4 is verbonden met de uitgang 70 van konstanten- 5 generator 59 welk’een adressignaal afgeeft zoals hiervoor beschreven bij de micro-opkode "jump". Onder kontrole van het gedekodeerde "next-instruction" signaal op lijn 65 wordt de ingangspoort M4 van de multiplexer 51 geselekteerd. De ingangspoort M4 van multiplexer 51 is verbonden via lijn 74 met de ingang 81 van de volgordebesturingsinrichting 11. Aan 10 deze ingang 81 die met het instruktieregister (10 uit fig. 2) verbonden is wordt de volgende macro-instruktie onder de vorm van een (adres-) nummer van een behandelaar aangeboden (deel II van het triplet). Onder kontrole van het gedekodeerde "next instruction" signaal op lijn 64 wordt de Ingangspoort M4 van multiplexer 50 geselekteerd. De ingangspoort M4 15 van multiplexer 50 is verbonden met uitgang 73 van de konstantengenera-tor 59. Deze konstantengenerator 59 geeft aan zijn uitgang 73 altijd een adressignaal af dat het deel I van het triplet-adres voor een instruktie behandelaar karakteriseert (behandelaar van het derde type). Onder kontrole van het gedekodeerde "next instruction" signaal (¾) lijn 67 blijft 20 de stapel 58 inaktief. In het voorbeeld geïllustreerd in figuur 3d zou dan aan de uitgang 73 van de konstantengenerator het adressignaal "10" worden af gegeven. Het aan dit uitgangspoortsysteem 16 aangeboden adressignaal is nu van de vorm (M4, M4, M4).
e) JSR: De dekodeur 57 dekodeert de micro-opkode "JSR". Onder kontrole 25 van het gedekodeerde "JSR" signaal op lijn 66 wordt de ingangspoort M4 van de multiplexer 52 geselekteert (analoog zoals bij micro-opkode "jump"). Onder kontrole van het gedekodeerde "JSR" signaal op lijn 65 wordt de ingangspoort M5 van multiplexer 51 geselekteerd. Aan de ingangspoort M5 van de multiplexer 51 wordt het nummer van de behandelaar bin-30 nen de micro-subroutine aangeboden. Dit nummer is afkomstig van het aan de ingang 79 aangeboden micro-adresveld (analoog zoals bij micro-opkode "jump"). Onder kontrole van het gedekodeerde "JSR" signaal op lijn 64 wordt de ingangspoort M2 van multiplexer 50 geselekteerd. De ingangspoort M2 van multiplexer 50 is verbonden met uitgang 71 van de konstantengene-35 rator 59. Deze konstantengenerator 59 geeft aan zijn uitgang 71 altijd een adressignaal af dat karakteristiek is voor het deel I van het tri-pletadres voor een micro-subroutine (behandelaar van het eerste type).
8205076 FHN 10.537 . 17
In het voorbeeld geïllustreerd in fig. 3d zou dan aan de uitgang 73 van de konstantengenerator het adressignaal "00" vrorden afgegeven. Het aan het uitgangspoortsysteem 16 aangeboden adressignaal is nu van de vorm {M2, M5, M4). Older kontrole van het gedekodeerde "JSR" signaal cp 5 lijn 67 vordt de stapel 58 geaktiveerd. Ce stapel voert een "push" operatie uit. Dit betekent dat op de top van de stapel het triplet (J, k, 1+1) wordt geschreven indien (j, k, 1) het adres was van dit micro-instruktiewoard met micro-opkode "JSR".
f) RETURN: Wanneer de dekodeur 57 de micro-opkode "return" dekodeert dan 10 wordt onder kontrole van dat gedekodeerde signaal pp lijnen 64, 65 en 66 de ingangspoort M1 van elke multiplexer 50, 51 en 52 geselekteerd.
De ingangspoort Mj van elke multiplexer is verbanden met een bijbehorende uitgang van de stapel 58. Onder besturing van het gedekodeerde "return" signaal op lijn 67 voert de stapel een "pop" operatie uit dat is een ope-15 ratie waarbij het bovenste element van de stapel wordt opgehaald en van de stapel wordt verwijderd. Het aan het uitgangspoortsysteem 16 aangeboden adressignaal is nu van de vorm (M1, M1, M1).
g) JUMP SP; De werking bij deze micro-opkode voor de multiplexer 51 en 52 is volkanen analoog aan de werking beschreven bij micro-opkode "JSR".
20 voor multiplexer 50 echter wordt onder kontrole van het gedekodeerde "jump SP" signaal op lijn 64 de ingangspoort M3 geselekteerd. De ingangspoort M3 van multiplexer 50 is verbonden met uitgang 72 van de konstantengenerator 59. Deze komstantengeneratar geeft aan zijn uitgang 72 altijd een adressignaal af dat het deel I van het triplet-adres 25 voor een speciale behandelaar (behandelaar van het tweede type) karakteriseert. In het voorbeeld geïllustreerd in fig. 3d zou dan aan de uitgang 72 van de kcnstantnegenerator het adressignaal "01" worden af gegeven. Het aan het uitgangspoortsysteem 16 aangeboden adressignaal is nu van de vorm (M3, M5, M4). Onder kontrole van het gedekodeerde "JUMP SP" 30 signaal op lijn 67 blijft de stapel 58 inaktief.
35 8205076

Claims (3)

1. Dataprocessor, bevattende een intern geheugen, een verwer-kingsgedeelte, een stuurgedeelte en een ccmnunicatiegedeelte voor informatietransport tussen genoemde onderdelen en tussen de dataprocessor en daarmee extern aan te sluiten elementen, welk ccranunicatiege- 5 deelte van een instruktieregister is voorzien voor het invoegen van een door de dataprocessor te verwerken informatie, welk stuurgedeelte een volgordebesturingsinrichting (sequencer) en een microcode geheugen bevat; welke microcode geheugen voorzien is van een onderling verbcnden adresdecodeur en een qpslaggedeelte voor het opslaan van een aantal 10 behandelaars, die elk ten minste één micro-instruktiewoord bevatten, voor het afgeven van stuurinformatie voor het sturen van de door de dataprocessor te verwerken informatie; welke volgordebesturingsinrichting voorzien is van een adresgenerator voor het genereren van adressen voor de micro-instructiewoorden, welke volgordebesturings in-15 richting verder een eerste ingang heeft verbonden met een eerste uitgang van het micro-code geheugen voor het aanbieden van adresgegevens en een adresuitgang verbonden met een adresingang van het microcode geheugen welk micro-code geheugen een tweede uitgang heeft verbonden met het ccmnunicatiegedeelte, met het kenmerk, dat een uitgang 20 van het instructieregister direct verbonden is met een tweede ingang van de volgordebesturingsinrichting waarvan de adresgenerator ten minste een eerste en een tweede deeladresgenerator bevat, een eerste deel- /adresgenerator voor het genereren van een eerste deeladres voor het adresseren van een behandelaar uit genoemde aantal behandelaars, en 25 een tweede deeladresgenerator voor het genereren van een tweede deeladres voor het adresseren van een micro-instructie woord binnen de door het eerste deeladres geadresseerde behandelaar.
2. Dataprocessor volgens conclusie 1, waarbij genoemde aantal behandelaars in ten minste twee verschillende groepenj^onderverdeeld, 30 welke onderverdeling, naar de aard van de stuurinformatie van de behandelaar is aangebracht, met het kenmerk, dat de adresgenerator een derde deeladresgenerator bevat voor het genereren van een derde deeladres voor het adresseren van een groep van behandelaars, waarbij eerste, tweede en derde deeladres een wederzijds exclusief deel van het adres 35 bepalen.
3. Dataprocessor volgens conclusie 1 of 2, met het kenmerk, dat de verzameling van de door de adresdecodeur te decoderen adressen welke adressen samengesteld zijn uit ten minste twee deeladressen sub- 8205076 PHN 10.537 19 stantieel kleiner is dan een verdere verzameling van binaire getallen in een bitreeks met geaggregeerde lengte gelijk aan die van een adres. 5 10 15 i 20 25 30 35 8205076
NL8205076A 1982-12-31 1982-12-31 Data processor eenheid voorzien van een stuurgedeelte welk een adresgenerator bevat voor het genereren van adressen welke uit karakteristieke adresdelen zijn samengesteld. NL8205076A (nl)

Priority Applications (7)

Application Number Priority Date Filing Date Title
NL8205076A NL8205076A (nl) 1982-12-31 1982-12-31 Data processor eenheid voorzien van een stuurgedeelte welk een adresgenerator bevat voor het genereren van adressen welke uit karakteristieke adresdelen zijn samengesteld.
DE3344340A DE3344340C2 (de) 1982-12-31 1983-12-08 Datenverarbeitungsanordnung zum Durchführen von Mikrobefehlen
GB08334334A GB2133189B (en) 1982-12-31 1983-12-23 Microprogram arrangement
IT24416/83A IT1170295B (it) 1982-12-31 1983-12-28 Unita' di elaborazione di dati comprendente una sezione di controllo dotata di un generatore di indirizzi per generare indirizzi composti di porzioni caratteristiche di indirizzo
JP58252355A JPH0640303B2 (ja) 1982-12-31 1983-12-29 デ−タ処理装置
FR8321105A FR2538928B1 (fr) 1982-12-31 1983-12-30 Unite de traitement de donnees pourvue d'une section de commande qui comporte un generateur d'adresses destine a produire des adresses composees de parties d'adresses caracteristiques
US06/918,681 US4750108A (en) 1982-12-31 1986-10-15 Data processor unit comprising a control section which comprises an address generator for generating addresses which are composed of characteristic address portions

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8205076A NL8205076A (nl) 1982-12-31 1982-12-31 Data processor eenheid voorzien van een stuurgedeelte welk een adresgenerator bevat voor het genereren van adressen welke uit karakteristieke adresdelen zijn samengesteld.
NL8205076 1982-12-31

Publications (1)

Publication Number Publication Date
NL8205076A true NL8205076A (nl) 1984-07-16

Family

ID=19840833

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8205076A NL8205076A (nl) 1982-12-31 1982-12-31 Data processor eenheid voorzien van een stuurgedeelte welk een adresgenerator bevat voor het genereren van adressen welke uit karakteristieke adresdelen zijn samengesteld.

Country Status (7)

Country Link
US (1) US4750108A (nl)
JP (1) JPH0640303B2 (nl)
DE (1) DE3344340C2 (nl)
FR (1) FR2538928B1 (nl)
GB (1) GB2133189B (nl)
IT (1) IT1170295B (nl)
NL (1) NL8205076A (nl)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62117038A (ja) * 1985-11-15 1987-05-28 Mitsubishi Electric Corp マイクロプログラム制御装置
US5454088A (en) * 1985-11-15 1995-09-26 Mitsubishi Denki Kabushiki Kaisha Microprogram control device for controlling data path section including designation of instruction cycle values
US4980821A (en) * 1987-03-24 1990-12-25 Harris Corporation Stock-memory-based writable instruction set computer having a single data bus
DE3788877T2 (de) * 1987-03-24 1994-06-23 Insignia Solutions Ltd Einrichtung zur software-emulation.
US5113507A (en) * 1988-10-20 1992-05-12 Universities Space Research Association Method and apparatus for a sparse distributed memory system
EP0374830A3 (en) * 1988-12-19 1992-03-18 Bull HN Information Systems Inc. Control store address generator for developing unique instruction execution starting address
JP2001195250A (ja) * 2000-01-13 2001-07-19 Mitsubishi Electric Corp 命令トランスレータ、トランスレータ付命令メモリおよびそれらを用いたデータ処理装置
JP2001306316A (ja) * 2000-04-21 2001-11-02 Sharp Corp 制御回路およびそれを用いた半導体装置
US6957322B1 (en) * 2002-07-25 2005-10-18 Advanced Micro Devices, Inc. Efficient microcode entry access from sequentially addressed portion via non-sequentially addressed portion

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1250659B (de) * 1964-04-06 1967-09-21 International Business Machines Corporation, Armonk, NY (V St A) Mikroprogrammgesteuerte Datenverarbeitungsanlage
IT995721B (it) * 1973-10-10 1975-11-20 Honeywell Inf Systems Italia Apparato per l interpretazione di codici di funzione in calcolatori microprogrammati e per l indirizza mento indipendente di fasi inter pretative ed esecutive di micro programma
US3958227A (en) * 1974-09-24 1976-05-18 International Business Machines Corporation Control store system with flexible control word selection
US3990054A (en) * 1974-11-05 1976-11-02 Honeywell Inc. Microprogram organization techniques
US4038643A (en) * 1975-11-04 1977-07-26 Burroughs Corporation Microprogramming control system
JPS52119832A (en) * 1976-04-01 1977-10-07 Toshiba Corp Electroinc calculator of microprogram control system
US4173041A (en) * 1976-05-24 1979-10-30 International Business Machines Corporation Auxiliary microcontrol mechanism for increasing the number of different control actions in a microprogrammed digital data processor having microwords of fixed length
US4070703A (en) * 1976-09-27 1978-01-24 Honeywell Information Systems Inc. Control store organization in a microprogrammed data processing system
HU172445B (hu) * 1976-10-13 1978-09-28 Bhg Hiradastech Vallalat Programmiruemoe ustrojstvo dlja upravlenija sredne- i malojomkostnymi perekljuchateljami telefonnykh centrov
US4179737A (en) * 1977-12-23 1979-12-18 Burroughs Corporation Means and methods for providing greater speed and flexibility of microinstruction sequencing
JPS5539914A (en) * 1978-09-12 1980-03-21 Nec Corp Address control system of microprogram control device
DE2846537C2 (de) * 1978-10-26 1986-09-18 Standard Elektrik Lorenz Ag, 7000 Stuttgart Mikroprogrammierte Datenverarbeitungseinrichtung
DE3009121C2 (de) * 1980-03-10 1982-02-18 Siemens AG, 1000 Berlin und 8000 München Mikroprogramm-Steuereinrichtung
JPS57753A (en) * 1980-06-02 1982-01-05 Hitachi Ltd Microprogram controller
GB2077010B (en) * 1980-06-02 1984-10-31 Hitachi Ltd Microprogramme control method and apparatus therefor
JPS5797151A (en) * 1980-12-10 1982-06-16 Hitachi Ltd Instruction storage device
JPS57203141A (en) * 1981-06-10 1982-12-13 Hitachi Ltd Method and device for controlling microprogram
US4509114A (en) * 1982-02-22 1985-04-02 International Business Machines Corporation Microword control mechanism utilizing a programmable logic array and a sequence counter

Also Published As

Publication number Publication date
DE3344340C2 (de) 1994-09-22
GB2133189B (en) 1987-05-07
IT8324416A1 (it) 1985-06-28
JPS59136851A (ja) 1984-08-06
JPH0640303B2 (ja) 1994-05-25
GB8334334D0 (en) 1984-02-01
GB2133189A (en) 1984-07-18
FR2538928B1 (fr) 1989-07-28
IT8324416A0 (it) 1983-12-28
IT1170295B (it) 1987-06-03
US4750108A (en) 1988-06-07
FR2538928A1 (fr) 1984-07-06
DE3344340A1 (de) 1984-07-05

Similar Documents

Publication Publication Date Title
EP3620992B1 (en) Neural network processor and neural network computation method
KR20210027065A (ko) 행렬 피연산자에 액세스하기 위한 다변량 스트라이드된 판독 연산
US4118773A (en) Microprogram memory bank addressing system
KR102486029B1 (ko) 비트폭이 다른 연산 데이터를 지원하는 연산 유닛, 연산 방법 및 연산 장치
CN104756090B (zh) 提供扩展的缓存替换状态信息
JPH0764853A (ja) Simdマルチプロセッサ用の可変正確度間接的アドレス方法およびそれを行う装置
CN111656339B (zh) 存储器装置及其控制方法
US3601812A (en) Memory system
JPH10187661A (ja) コンピュータにおけるスカラ値をベクトルに記入する方法
NL8205076A (nl) Data processor eenheid voorzien van een stuurgedeelte welk een adresgenerator bevat voor het genereren van adressen welke uit karakteristieke adresdelen zijn samengesteld.
JP5352780B2 (ja) プロセッサ
CN111258950A (zh) 原子访存方法、存储介质、计算机设备、装置和系统
US6757807B1 (en) Explicitly clustered register file and execution unit architecture
CN108733352B (zh) 支持向量排序的装置、方法及应用
CN115525343A (zh) 一种并行译码的方法、处理器、芯片及电子设备
US20220188380A1 (en) Data processing method and apparatus applied to graphics processing unit, and electronic device
JP4723334B2 (ja) Dma転送システム
JP2812292B2 (ja) 画像処理装置
CN112579971B (zh) 矩阵运算电路、矩阵运算装置及矩阵运算方法
US6772271B2 (en) Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory
JPS63141131A (ja) パイプライン制御方式
JPS6391739A (ja) 可変長命令解読装置
JP2005535045A (ja) Vliw命令を処理するためのプロセッサおよび方法
Wright Relation of microcode to future machine design
JP2576589B2 (ja) 仮想記憶アクセス制御方式

Legal Events

Date Code Title Description
A1B A search report has been drawn up
A85 Still pending on 85-01-01
BV The patent application has lapsed