NL8503516A - Werkwijze voor het bedrijven van een microprocessor. - Google Patents

Werkwijze voor het bedrijven van een microprocessor. Download PDF

Info

Publication number
NL8503516A
NL8503516A NL8503516A NL8503516A NL8503516A NL 8503516 A NL8503516 A NL 8503516A NL 8503516 A NL8503516 A NL 8503516A NL 8503516 A NL8503516 A NL 8503516A NL 8503516 A NL8503516 A NL 8503516A
Authority
NL
Netherlands
Prior art keywords
instruction
byte
cycle
operation code
operand
Prior art date
Application number
NL8503516A
Other languages
English (en)
Other versions
NL193474C (nl
NL193474B (nl
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of NL8503516A publication Critical patent/NL8503516A/nl
Publication of NL193474B publication Critical patent/NL193474B/nl
Application granted granted Critical
Publication of NL193474C publication Critical patent/NL193474C/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching

Landscapes

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

Description

r * % " 4 C/Ca/ar/1725
Werkwijze voor het bedrijven van een microprocessor.
De onderhavige uitvinding heeft in het algemeen betrekking op het bedrijven van een microcomputer, en meer in het bijzonder op een bedrijfswijze met een verbeterde instructiecyclus, waardoor microcomputerbewerking van informa-5 tie kan worden versneld.
Moderne, monolytisch uitgevoerde microcomputers vertonen vaak een opbouw, welke aan een pijpleiding doet denken, en de mogelijkheid verschaft, dat ophaal- of haalcycli (fetch cycles) en instructie-uitvoeringscycli (instruction 10 execution cycles) elkaar overlappen. Tijdens een haalcyclus (fetch cycle) worden instructies uit een geheugen (op)gehaald. Iedere instructie bestaat uit een in een geheugen van het ROM-type, bijvoorbeeld een programmeerbaar geheugen van dit type of PROM-type, opgeslagen operatiecode (OP-code) en uit 15 een eveneens in een geheugen van het ROM-type opgeslagen operand, welke kan wijzen naar een in een geheugen van het RAM-type opgeslagen waarde van een variabele. Bij een pijpleidings-opbouw van gebruikelijk type worden het halen van de operatiecode en het halen van de operand uitgevoerd tijdens verschil-20 lende instructie-uitvoeringscycli, welke hierna als "instruc-tiecycli" zullen worden aangeduid. Voor het halen van een 2-bytes instructie met een 1-byte operatiecode en een 1-byte operand zijn bijvoorbeeld in een 4-bits microcomputer twee instructiecycli nodig. In dat geval neemt derhalve iedere 25 instructiecyclus drie machineklokcycli in beslag. De efficiëncy van een dergelijke pijpleidingsopbouw van gebruikelijk type is derhalve niet zeer bevredigend.
In het algemeen is de haalcyclus voor het halen van een operatiecode of van een operand korter dan de 30 instructiecyclus, hetgeen wil zeggen, dat in de instructiecyclus een periode voorkomt, waarin geen halen plaatsvindt.
Indien de volgende instructiecomponent tijdens een dergelijke periode zou kunnen worden gehaald, kan de looptijd worden verkort.
35 De onderhavige uitvinding stelt zich ten doel, een microcomputerbedrijfswijze met een verbeterde haalcyclus ter verkorting van de instructiecyclus te verschaffen.
a S Γ- " s 1 ft - 2 - r ï
Daartoe stelt de uitvinding voor, dat een microcomputer werkt met een instructiedecodeereenheid en een programmateller. De instructiedecodeereenheid dient voor decodering van gehaalde instructies en geeft een stuursignaal 5 af, dat de uitvoering van de gehaalde instructie beveelt. Het door de instructiedecodeereenheid afgegeven stuursignaal bevat een haalcyclusstuurcomponent, welke aan het begin van iedere instructiecyclus een haalcyclus voor het halen van de operand voor de op dat ogenblik uitgevoerde instructie en voor het in 10 het midden van iedere instructiecyclus halen van de operatie-code voor de volgende instructiestart.
De programmateller reageert op het starten van iedere haalcyclus door zijn telwaarde te verhogen, zodanig, dat deze laatstgenoemde tijdens iedere haalcyclus consistent 15 met het benaderde adres wordt gehouden.
De uitvinding verschaft nu in eerste instantie een werkwijze voor het bedrijven van een microprocessor met een pijpleidingsopbouw, welke bedrijfswijze de mogelijkheid biedt om tijdens een aangevangen instructie-uitvoeringscyclus 20 voor een latere instructie-uitvoeringscyclus bestemde instructie- informatie uit een geheugen te halen, welke bedrijfswijze wordt gekenmerkt door: het vóórprogrammeren van instructie-operatie-codes (OP codes) voor instructies, welke meer dan 1 byte in-25 structie-informatie benodigen, met aanvullende informatie, welke het onder toepassing van tijdbasiscompressie halen van instructie-informatie verzoekt, en door het meer dan 1 byte instructie-informatie uit het geheugen halen tijdens de onmiddellijk op een verzoek tot 30 het onder toepassing van tijdbasiscompressie halen volgende instructiecyclus.
De instructie-informatie kan bestaan uit éën operatiecode-byte en één operand-byte, waarbij de operatie-code-byte onmiddellijk vóór het begin van een instructie-35 cyclus wordt gehaald, terwijl het halen bestaat uit het gelijktijdig met het begin van de instructiecyclus halen van de aan de gehaalde operatiecode-byte toegevoegde operand-byte.
Λ -jo Λ "7 5” >1 <5 110 ij 0 0 i $ * % - 3 -
Alternatief is het mogelijk,, dat de instructie-informatie uit ëên operatiecode-bvte en twee operand-bytes bestaat, waarbij de operatiecode-byte onmiddellijk vöór het begin van een eerste instructiecyclus wordt gehaald en het halen bestaat uit 5 het gelijktijdig met het begin van de eerste instructiecyclus halen van een eerste aan de gehaalde operatiecode-byte toegevoegde operand-byte en uit het tijdens de eerste instructiecyclus op het halen van de eerste operand-byte volgende halen van een tweede aan de gehaalde operatiecode-byte toegevoegde 10 operand-byte.
Volgens de uitvinding omvat de bedrijfswijze voorts het tijdens de onmiddellijk door het halen van de operatiecode-byte voorafgaande instructiecyclus uitvoeren van de door de operatiecode-byte en de operand-bytes gespecifir 15 ceerde instructie.
De onderhavige uitvinding zal worden verduidelijkt in de nu volgende beschrijving aan de hand van de bijbehorende tekening van een voorkeursuitvoeringsvorm, waartoe de uitvinding zich echter niet beperkt. In de tekening tonen: 20 fig. 1(A) en 1(B) tijdbasisschalen van een instructie-uitvoeringscyclus van respectievelijk gebruikelijk type en volgens de uitvinding voor een 2-bytes instructie, fig. 2(A) en 2(B) tijdbasisschalen voor een instructie-uitvoeringscyclus van respectievelijk gebruikelijk 25 type en volgens de uitvinding voor een 3-bytes instructie, fig. 3 een blokschema van een microcomputer-stelsel volgens de onderhavige uitvinding, fig. 4 een vergelijking op tijdbasisschaal van een instructie-uitvoeringsprocedure van respectievelijk 30 gebruikelijk type en volgens de uitvinding, waarbij (B) de telwaarde van de programmatener tijdens uitvoering van een 1-byte instructie en (C) de desbetreffende telwaarde tijdens uitvoering van een 2-bytes instructie laat zien, fig. 5(A) en 5(B) zowel voor uitvoering van 35 een 2-bytes instructie als van een 3-bytes instructie de duur van de instructiecyclus in geval van informatiebewerking van respectievelijk gebruikelijk type en volgens de uitvinding, en fi rt ·* t r: ~ ^ ·* -3 -J 'J i 0 * *» - 4 - fig. 6(A) en 6(B) een instructiedecodeer-eenheid van respectievelijk gebruikelijk type en volgens de uitvinding.
In de tekening, te beginnen bij fig. 1(A) en 5 fig. 1(B), zal het principe en het effect van de microcomputer-bedrijfswijze volgens de uitvinding steeds in vergelijking met een dergelijke bedrijfswijze van gebruikelijk type worden toegelicht. Fig. 1(A) toont een typisch voorbeeld van een dergelijke bedrijfswijze van bekend type, terwijl fig. 1(B) een 10 vergelijkbare voorkeursbedrijfswijze volgens de uitvinding .laat zien. Beide tijdbasisschalen hebben betrekking op de uitvoering van een 2-bytes instructie met een 8-bits operatie-code, zoals LDA, en een 8-bits operand, welke in het onderhavige geval wordt gevormd door een adrescode, welke een te raadplegen 15 (accessed) adres van een geheugen van het RAM-type identificeert. Bij het hier gegeven voorbeeld is de instructie erop gericht de op een specifiek dergelijk adres aanwezige informa-tie-inhoud naar de accumulator over te brengen, respectievelijk daarin in te voeren.
20 Bij de gebruikelijke bedrijfswijze volgens fig. 1(A) wordt de operatiecode LDA voor de tweede instruc-tiecyclus vóór het begin van de eerste instructiecyclus gehaald. In de daarop volgende haalcyclus, samenvallend met het begin van de eerste instructiecyclus, wordt de op het door de ope-25 rand geïdentificeerde rang-adres aanwezige informatie gehaald.
In de tweede instructiecyclus worden de informatie, welke in de gelijktijdig met de eerste instructiecyclus beginnende haalcyclus is gehaald, en de operatiecode LDA, welke vöór de eerste instructiecyclus is gehaald, gebruikt.
30 Bij een dergelijke bedrijfswijze van gebruike lijk type wordt de telwaarde van een programmateller aan het einde van iedere instructiecyclus met één verhoogd. Als gevolg daarvan heeft de programmate11er aan het begin van de haalcyclus van de operatiecode de telwaarde PC. Aan het begin van 35 de eerste instructiecyclus wordt de telwaarde van de prograrama-teller met één verhoogd, zodat de telwaarde dan PC+1 wordt.
Op soortgelijke wijze wordt de telwaarde van de programmateller 8503516 - 5 - aan het begin van de tweede instructiecyclus met één verhoogd tot PC+2.
Bij de in fig. 1(B) weergegeven bedrijfswijze volgens de uitvinding wordt de operatiecode voor de eerste 5 instructiecyclus vóór het begin van de eerste instructiecyclus gehaald, zoals bij de gebruikelijke bedrijfswijze. Deze 2-bytes operatiecode bevat echter een verzoek tot compressie van de haalcyclus. In de periode M2~M3 van eerste instructiecyclus wordt op het door de operant RAM geïdentificeerde 10 RAM-adres aanwezige informatie gehaald. De tijdens de periode M2-M.J van de eerste instructiecyclus gehaalde operand-informa-tie en de vóór de eerste instructiecyclus gehaalde operatiecode worden voor uitvoering van de eerste instructiecyclus gebruikt. Bij deze bedrijfswijze volgens de uitvinding is de 15 in de periode M2~M3 op het RAM-adres gehaalde informatie voor uitvoering van de instructie tijdens de eerste instructiecyclus niet nodig tot de daarop volgende periode Mq-M.j.
Tijdens een dergelijke bedrijfswijze wordt de telwaarde van de programmateller aan het einde van iedere 20 instructiecyclus met één verhoogd. Voorts wordt de telwaarde van de programmateller in reactie op iedere klokimpuls M^ met één verhoogd. Dit wil zeggen, dat de telwaarde van de programma-teller aan het einde van iedere haalcyclus voor het halen van de operatiecode van PC naar PC+1 wordt verhoogd. In reactie 25 op de klokimpuls M3 tijdens de eerste instructiecyclus vindt weer verhoging met één plaats, zodat de telwaarde PC+2 wordt. Daarna wordt de telwaarde van de programmateller in reactie op een aan het eind van de eerste instructiecyclus verschijnende klokimpuls M opnieuw met één verhoogd.
30 Tijdens de periode Mq-M.j van de eerste instruc tiecyclus kanode operatiecode voor de volgende instructiecyclus worden gehaald.
Duidelijk zal derhalve zijn, dat voor uitvoering van een 2-bytes instructie bij de voorkeursbedrijfswijze 35 volgens de uitvinding slechts één instructiecyclus nodig is.
De fig. 2(A) en 2(B) tonen een ander voorbeeld, dat betrekking heeft op de uitvoering van een 3-bytes + z - 6 - instructie. Het desbetreffende voorbeeld heeft betrekking op een subroutine volgens welke de programmabesturing overspringt naar een door twee bytes, dat wil zeggen een HOGE adres-bvte P en een LAGE adres-byte P , gespecificeerd programma-adres.
H i-j 5 De instructie bevat derhalve een 1-byte (8-bits) operatiecode CALL en de twee operand-bytes PH en PL·
Bij de gebruikelijke bedrijfswijze volgens fig. 2(A) wordt de operatiecode voor de tijdens de derde instructiecyclus uit te voeren instructie vóór het begin van 10 de eerste instructiecyclus gehaald. Tijdens de volgende haal- cyclus, gelijktijdig met de eerste instructiecyclus, wordt de HOGE adres-byte P„ gehaald. Op soortgelijke wijze wordt tij- n dens de tweede instructiecyclus de LAGE adres-byte P_ ge-
Xi haald. De HOGE en LAGE adres-bytes P en P , welke respec-15 tievelijk gelijktijdig met de eerste en de tweede instructiecyclus zijn gehaald, en de vóór de eerste instructiecyclus gehaalde operatiecode CALL worden gebruikt om de subroutine-CALL-instructie tijdens de derde instructiecyclus uit te voeren.
20 Bij deze bedrijfswijze van bekend type wordt de telwaarde van de programmatener aan het einde van iedere instructiecyclus met ëén verhoogd. Als gevolg daarvan wordt de telwaarde aan het einde van de haalcyclus voor de operatiecode van PC naar PC+1 verhoogd. Aan het einde van de eerste instruc-25 tiecyclus wordt de telwaarde weer met ëén verhoogd, dat wil zeggen tot PC+2. Op soortgelijke wijze wordt de telwaarde van de programmateller aan het einde van de tweede en de derde instructiecyclus steeds met één verhoogd.
Bij de in fig. 2(B) weergegeven bedrijfs-30 wijze volgens de uitvinding wordt de operatiecode CALL voor de tijdens de tweede instructiecyclus uit te voeren instructie vóór het begin van de eerste instructiecyclus gehaald.
Deze operatiecode CALL bevat een verzoek voor tijdbasiscom-pressie van de daarop volgende haalcycli. Tijdens de periode 35 M2~M3 van de eerste instructiecyclus wordt de HOGE adresbyte Pjj gehaald. Tijdens de periode van de eerste instructie cyclus wordt de LAGE adres-byte PL gehaald. De tijdens de eerste 8503515
X
- 7 - instructiecyclus gehaalde adres-bvtes P„ en PT en de vóór de eerste instructiecyclus gehaalde operatiecode CALL worden gebruikt voor uitvoering van de subroutine-CALL tijdens de tweede instructiecyclus.
5 Bij een dergelijke bedrijfswijze volgens de uitvinding wordt de telwaarde van de programmateller aan het einde van iedere instructiecyclus met één verhoogd. Bovendien wordt de telwaarde met een verhoogd in reactie op iedere klok-impuls M^, welke in het midden van iedere instructiecyclus 10 valt. Aan het einde van de haalcyclus voor de operatiecode stijgt de telwaarde van PC naar PC+1. In reactie op de in de eerste instructiecyclus verschijnende klokimpuls stijgt de telwaarde weer met éên en wordt PC+2. Daarna wordt de telwaarde van de programmateiler in reactie op de aan het einde 15 van de eerste instructiecyclus verschijnende klokimpuls opnieuw met één verhoogd, enz.
Aan het begin van de tweede instructiecyclus kan de operatiecode voor de volgende uit te voeren instructie worden gehaald.
20 Zoals hieruit naar voren komt, zijn derhalve bij de voorkeursbedrijfswijze volgens de uitvinding slechts twee instructiecycli nodig voor uitvoering van een 3-bytes instructie.
Fig. 3 toont een microprocessorstelsel dat 25 is ontworpen voor toepassing van de voorkeursbedrijfswijze volgens de onderhavige uitvinding. De voorkeursuitvoeringsvorm van een dergelijk stelsel omvat een programmeerbaar geheugen 1 van het RQM-type, dat wil zeggen van het PROM-type, een infor-matiebuffer 2, een instructieregister 3, een bijvoorbeeld op 30 een programmeerbare logische rangschikking PLA gebaseerde instructiedecodeereenheid 4, een programmateller 5 een RAM-adresregister 6, en veldeffecttransistoren 7-9.
De werking van een dergelijk microcomputer-stelsel zal nu worden beschreven aan de hand van fig. 4. Daar-35 in toont (A) de tijdens iedere instructiecyclus geproduceerde klokimpulsen M2,M3,MQ en M , terwijl (B) de telwaarde van de programmateller 5 tijdens uitvoering van opeenvolgende 1-byte 3 s! *Λ ‘I 5 V V ^ V i i “ - 8 - instructies laat zien. (C) toont de variatie van de telwaarde van de programmateller 5 tijdens uitvoering van opeenvolgende 2-byte instructies.
De instructiedecodeereenheid levert een 5 programmatelwaardeverhogingssignaal PCUP en enige stuursignalen welke laatstgenoemden de informatiestroom door de microprocessorelementen 1-6 beheersen. De stuursignalen ,0^ en worden voor besturing van de veldeffecttransistoren 7,8 en 9 aan EN-bewerking met respectievelijk de klokimpulsen 10 en onderworpen. De veldeffecttransistoren 7 en 8 maken in hun geleidende toestand vergrendeling door de informa-tiebuffer 2 of het instructieregister 3 mogelijk van informatie uit het programmageheugen 1 van het ROM-type; deze informatie heeft de vorm van een operand of van een operatiecode. De veld-15 effecttransistor 9 laat in geleidende toestand de operand in de informatiebuffer 2 tot de informatiebus toe, zodat de operand voor invoer, opslag of dergelijke bevelen in het RAM-adresregister 6 kan worden ingevoerd of voor een subroutine-CALL in de programmateller 5 kan worden ingevoerd.
20 Wanneer een operatiecode een verzoek tot het halen van een operand onder toepassing van tijdbasiscompres-sie bevat, geeft de instructiedecodeereenheid 4 zowel een programmatelwaardeverhogingssignaal PCUP als de signalen C2 en af, waardoor de operand in reactie op de volgende 25 klokimpuls in de informatiebuffer 2 kan worden ingevoerd en daaruit worden uitgelezen, en verhoogt de telwaarde van de programmateller om de volgende operatiecode aan te wijzen.
Bij het voorbeeld volgens fig. 4(B) vindt uitvoering van een 1'-byte instructie binnen een enkele instruc-30 tiecyclus plaats. Het halen van de instructies uit het geheugen 1 van het PROM-type wordt gestart door de achterflank van de klokimpuls wanneer het uitgangssignaal van de instructiedecodeereenheid 4 aanwezig is. Op het zelfde tijdstip wordt de telwaarde van de programmateller 5 in reactie op het reeds 35 genoemde signaal PCUP met één verhoogd. De gehaalde instructie (operatiecode) wordt in het instructieregister 3 ingelezen en vervolgens aan de instructiedecodeereenheid 4 toegevoerd.
8503 5 1-3 ···* - 9 -
Deze laatstgenoemde decodeert de gehaalde instructie en geeft de in aanmerking komende signalen c-j en af.
De achterflank van de klokimpuls signaleert het begin van de instructiecyclus, waarbinnen de tijdens de 5 voorafgaande instructiecyclus gehaalde instructie wordt uitgevoerd. Gelijktijdig met de uitvoering van de in de voorafgaande cyclus gehaalde instructie wordt tijdens de op dat ogenblik aangevangen instructiecyclus de volgende 1-byte instructie gehaald. Het voor het halen van de instructie te benaderen 10 adres van het geheugen 1 van het PROM-tvpe wordt weergegeven door de telwaarde (PC,PC+1,PC+2), welke bij iedere achterflank van de klokimpuls door het genoemde signaal PCUP met één wordt verhoogd.
Tijdens de uitvoering van 1-byte instructies 15 blijven, aangezien geen verzoek voor het halen van een operand onder toepassing van tijdbasiscompressie voorligt, de uitgangen C2 en Cg van de instructiedecodeereenheid 4 nonactief.
Als gevolg daarvan blijven de veldeffecttransistoren 8 en 9 in hun niet-geleidende toestand. Aangezien deze keer niet in 20 het midden van de instructiecyclus het signaal PCUP van de instructiedecodeereenheid verschijnt, wordt de telwaarde van de programmateller 5 slechts in reactie op de achterflank van de klokimpuls verhoogd.
Zoals fig. 4 (C) laat zien, worden voor uit-25 voering van de 2-bytes instructies met een 1-byte operatie-code en een 1-byte operand de signalen C2 en C^ door de instructiedecodeereenheid 4 afgegeven na het halen van de operatiecode van de op de achterflank van de klokimpuls volgende instructie. De desbetreffende uitgangssignalen C2 30 en C^ brengen de veldeffecttransistoren 8 en 9 in hun geleidende toestand, waardoor de operand uit het geheugen 1 van het ROM-type wordt uitgelezen en in de informatiebuffer 2, de programmateller 5 en/of het RAM-adresregister 6 wordt inge- » voerd.
35 Bij de achterflank van de klokimpuls neemt de telwaarde van de programmateller 5 in reactie op het van de instructiedecodeereenheid 4 afkomstige signaal PCUP met 85033 1-3 - 10 - één toe. Tegelijkertijd wordt bijvoorbeeld de informatie in het RAM-adresregister 6 uitgelezen en voor uitvoering van de instructie in de periode Mq-M.j gebruikt.
Tijdens de periode M0“M1 wordt de volgende 5 instructie uit het geheugen van het PROM-type gehaald. Aangezien de telwaarde van de programmateller 5 door het signaal PCÜP in reactie op de achterflank van dè klokimpuls wordt verhoogd, zal het door de telwaarde vertegenwoordigde PROM-adres overeenkomen met het adres van de operatiecode voor de 10 volgende instructie. Duidelijk zal zijn, dat het ter verkrijging van tijdbasiscompressie bij een haalcyclus, zoals bij de voorkeursbedrijfswijze volgens de uitvinding wordt voorgesteld, noodzakelijk is, dat de tweede of derde informatie-byte geen operatiecodecomponenten bevatten, doch slechts een 15 operand, zoals numerieke informatie of een adres. Sinds de instructies bij de meeste 4-bits microcomputers slechts een 1-byte operatiecode en êén of meer operand-bytes omvatten, kan de voorkeursbedrijfswijze volgens de uitvinding bij de meeste microcomputers van dit type worden toegepast.
20 Zoals de fig. 5(A) en 5(B) laten zien, ver schaft de uitvinding de mogelijkheid om 2-bytes instructies, welke gewoonlijk 2 instructiecycli voor uitvoering vergen, bij een pijpleidingsopbouw binnen een enkele instructiecyclus uit te voeren. Op soortgelijke wijze kunnen 3-bytes instruc-25 ties, welke gewoonlijk voor uitvoering 3 instructiecycli vergen, in 2 instructiecycli worden uitgevoerd. Dit laat duidelijk zien, dat de voorkeursbedrijfswijze volgens de uitvinding tot een effectieve verkorting van de voor uitvoering van een instructie benodigde duur leidt.
30 Bovendien tonen de fig. 6(A) en 6(B) schema tisch het gebied, dat respectievelijk voor een instructie-decodeereenheid van een microcomputer van bekend type en voor de instructiedecodeereenheid van een microcomputerstelsel volgens de uitvinding nodig is. In de fig. 6(A) en 6(B) ver-35 tegenwoordigen de verticale lijnen EN-elementkiesleidingen en vertegenwoordigen de horizontale lijnen OF-elementkies-leidingen. Het symbool m^ vertegenwoordigt het kiessignaal 8503516 t - 11 - voor de machinestatus 1, m2 vertegenwoordigt het kiessignaal voor de machinestatus 2 en m^ vertegenwoordigt het kiessignaal voor de machinestatus 3.
Zoals uit de fig. 6(A) en 6(B) naar voren 5 komt, zijn bij een gebruikelijk microcomputerstelsel drie machinestatus nodig voor uitvoering van een 3-bytes instructie, hetgeen drie instructiecycli in beslag neemt. Bij de voorkeursbedrijfswijze volgens de uitvinding zijn echter voor uitvoering van een 3-bytes instructie slechts twee instruc-10 tiecvcli nodig. Als gevolg daarvan zijn slechts twee machinestatus van de instructiedecodeereenheid voor uitvoering van 3-bytes instructies nodig. De OP-elementkiesleiding, welke als stuursignaalleiding voor de machinestatus 3 dient, is in een dergelijk geval derhalve overbodig. Dit resulteert in 15 een aanzienlijke lengtevermindering van de EN-elementkies-leidingen en levert derhalve een overeenkomstige vermindering van de afmetingen van de instructiedecodeereenheid.
De onderhavige uitvinding vervult derhalve de in de beschrijvingsinleiding genoemde doelen en verschaft 20 de daarin genoemde voordelen.
De uitvinding beperkt zich niet tot de in het voorgaande beschreven en in de tekening weergegeven voor-keursuitvoeringsvormen. Afhankelijk van de omstandigheden kunnen verschillende wijzigingen in de weergegeven rangschik-25 kingen en dergelijke worden aangebracht, zonder dat daarbij het kader van de uitvinding wordt overschreden.
85035 H

Claims (5)

1. Werkwijze voor het bedrijven van een microprocessor met een pijpleidingsopbouw, welke bedrijfswijze de _ mogelijkheid biedt om tijdens een aangevangen instructie-uitvoeringscyclus voor een latere instructie-uitvoeringscyclus 5 bestemde instructie-informatie uit een geheugen te halen, gekenmerkt door: - het vóórprogrammeren van instructie-operatie-codes (OP codes) voor instructies, welke meer dan 1 byte instructie-informatie benodigen, met aanvullende informatie, 10 welke.het onder toepassing van tijdbasiscompressie halen van instructie-informatie verzoekt, en door het meer dan 1 byte instructie-informatie uit het geheugen halen tijdens de onmiddellijk op een verzoek tot het onder toepassing van tijdbasiscompressie halen volgende 15 instructiecyclus.
2. Werkwijze volgens conclusie 1, waarbij de instructie-informatie uit één operatiecode-byte en één operand-byte bestaat en de operatiecode -byte onmiddellijk vóór het begin van een instructie-uitvoeringscyclus wordt gehaald, 20 met.het kenmerk, dat het halen bestaat uit het gelijktijdig met het begin van de instructiecyclus halen van de aan de gehaalde operatiecode-byte toegevoegde operand-byte.
3. Werkwijze volgens conclusie 1, waarbij de instructie-informatie uit één operatiecode-byte en twee 25 operand-bytes bestaat en de operatiecode-byte onmiddellijk vóór het begin van een eerste instructiecyclus wordt gehaald met het kenmerk, dat het halen bestaat uit het gelijktijdig met het begin van de eerste instructiecyclus halen van een eerste aan de gehaalde operatiecode-byte toege-30 voegde operand-byte en uit het tijdens de eerste instructiecyclus op het halen van de eerste operand-byte volgende halen van een tweede aan de gehaalde operatiecode-byte toegevoegde operand-byte.
4. Werkwijze volgens conclusie 2, geken-35 m e r k t door het tijdens de onmiddellijk door het halen van de operatiecode-byte voorafgegane instructiecyclus uitvoeren van de door de operatiecode-byte en de operand-bytes gespecificeerde instructie. 8r —· 1 .5 53 "3 ] Ό ->/ vv > J - 13 ί· *
5. Werkwijze volgens conclusie 3, gekenmerkt door het tijdens een tweede, onmiddellijk de eerste volgende instructiecyclus uitvoeren van de door de operatie-code-byte en de eerste en de tweede operand-bytes gespecifi-5 ceerde instructie. 8 c (\ % ^ i
NL8503516A 1984-12-29 1985-12-19 Werkwijze voor het bedrijven van een microprocessor. NL193474C (nl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP27683584 1984-12-29
JP59276835A JPH0776917B2 (ja) 1984-12-29 1984-12-29 マイクロコンピユ−タ

Publications (3)

Publication Number Publication Date
NL8503516A true NL8503516A (nl) 1986-07-16
NL193474B NL193474B (nl) 1999-07-01
NL193474C NL193474C (nl) 1999-11-02

Family

ID=17575063

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8503516A NL193474C (nl) 1984-12-29 1985-12-19 Werkwijze voor het bedrijven van een microprocessor.

Country Status (12)

Country Link
US (3) US5630085A (nl)
JP (1) JPH0776917B2 (nl)
KR (1) KR930009754B1 (nl)
CN (1) CN1024960C (nl)
AT (1) AT396409B (nl)
AU (1) AU582408B2 (nl)
CA (1) CA1242802A (nl)
DE (1) DE3546332C2 (nl)
FR (1) FR2575563B1 (nl)
GB (1) GB2169115B (nl)
IT (1) IT1208731B (nl)
NL (1) NL193474C (nl)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5088035A (en) * 1988-12-09 1992-02-11 Commodore Business Machines, Inc. System for accelerating execution of program instructions by a microprocessor
GB2230116B (en) * 1989-04-07 1993-02-17 Intel Corp An improvement for pipelined decoding of instructions in a pipelined processor
US5293592A (en) * 1989-04-07 1994-03-08 Intel Corporatino Decoder for pipelined system having portion indicating type of address generation and other portion controlling address generation within pipeline
US6003127A (en) * 1995-10-04 1999-12-14 Nippondenso Co., Ltd. Pipeline processing apparatus for reducing delays in the performance of processing operations
US5901293A (en) * 1996-06-25 1999-05-04 Claxton; Daniel Dean Bus interface controller for serially-accessed variable-access-time memory device
KR100308211B1 (ko) 1999-03-27 2001-10-29 윤종용 압축 명령을 갖는 마이크로 컴퓨터 시스템
US6978360B2 (en) * 2001-05-11 2005-12-20 International Business Machines Corporation Scalable processor
US7552427B2 (en) * 2004-12-13 2009-06-23 Intel Corporation Method and apparatus for implementing a bi-endian capable compiler
US9112495B1 (en) * 2013-03-15 2015-08-18 Mie Fujitsu Semiconductor Limited Integrated circuit device body bias circuits and methods

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3609700A (en) * 1970-02-24 1971-09-28 Burroughs Corp Data processing system having an improved fetch overlap feature
US3771138A (en) * 1971-08-31 1973-11-06 Ibm Apparatus and method for serializing instructions from two independent instruction streams
BE789583A (fr) * 1971-10-01 1973-02-01 Sanders Associates Inc Appareil de controle de programme pour machine de traitement del'information
US3793631A (en) * 1972-09-22 1974-02-19 Westinghouse Electric Corp Digital computer apparatus operative with jump instructions
US3840861A (en) * 1972-10-30 1974-10-08 Amdahl Corp Data processing system having an instruction pipeline for concurrently processing a plurality of instructions
US3961313A (en) * 1974-12-04 1976-06-01 International Business Machines Corporation Computer control apparatus
US4079455A (en) * 1976-12-13 1978-03-14 Rca Corporation Microprocessor architecture
DE2702586C3 (de) * 1977-01-22 1979-07-05 Standard Elektrik Lorenz Ag, 7000 Stuttgart Schaltungsanordnung zum Steuern des Speicherzugriffs bei einem Rechner
US4363091A (en) * 1978-01-31 1982-12-07 Intel Corporation Extended address, single and multiple bit microprocessor
US4462073A (en) * 1978-11-08 1984-07-24 Data General Corporation Apparatus for fetching and decoding instructions
CA1134952A (en) * 1979-04-24 1982-11-02 Thomas E. Kloos Means and method within a digital processing system for prefetching both operation codes and operands
US4346437A (en) * 1979-08-31 1982-08-24 Bell Telephone Laboratories, Incorporated Microcomputer using a double opcode instruction
US4316247A (en) * 1979-10-30 1982-02-16 Texas Instruments, Inc. Low power consumption data processing system
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor
US4541045A (en) * 1981-09-21 1985-09-10 Racal-Milgo, Inc. Microprocessor architecture employing efficient operand and instruction addressing
US4654781A (en) * 1981-10-02 1987-03-31 Raytheon Company Byte addressable memory for variable length instructions and data
JPS58134350A (ja) * 1982-02-04 1983-08-10 Matsushita Electric Ind Co Ltd メモリ制御装置
JPS58149541A (ja) * 1982-03-01 1983-09-05 Hitachi Ltd デ−タ処理装置
JPS58205256A (ja) * 1982-05-24 1983-11-30 Matsushita Electric Ind Co Ltd データ処理方法
JPS5920049A (ja) * 1982-07-26 1984-02-01 Nec Corp 演算処理装置
US4471432A (en) * 1982-10-13 1984-09-11 Wilhite John E Method and apparatus for initiating the execution of instructions using a central pipeline execution unit
US4613935A (en) * 1983-02-02 1986-09-23 Couleur John F Method and apparatus for pipe line processing with a single arithmetic logic unit
US4742451A (en) * 1984-05-21 1988-05-03 Digital Equipment Corporation Instruction prefetch system for conditional branch instruction for central processor unit

Also Published As

Publication number Publication date
CN85109719A (zh) 1986-07-02
KR860005297A (ko) 1986-07-21
AU5147785A (en) 1986-07-03
GB2169115B (en) 1989-01-11
US5630085A (en) 1997-05-13
DE3546332C2 (de) 1995-09-21
DE3546332A1 (de) 1986-07-10
KR930009754B1 (ko) 1993-10-09
JPS61157946A (ja) 1986-07-17
CA1242802A (en) 1988-10-04
GB2169115A (en) 1986-07-02
IT8548990A0 (it) 1985-12-27
GB8531800D0 (en) 1986-02-05
NL193474C (nl) 1999-11-02
NL193474B (nl) 1999-07-01
FR2575563B1 (fr) 1990-12-07
AU582408B2 (en) 1989-03-23
US6484252B1 (en) 2002-11-19
AT396409B (de) 1993-09-27
JPH0776917B2 (ja) 1995-08-16
ATA376385A (de) 1992-12-15
US5621907A (en) 1997-04-15
IT1208731B (it) 1989-07-10
FR2575563A1 (fr) 1986-07-04
CN1024960C (zh) 1994-06-08

Similar Documents

Publication Publication Date Title
US3949370A (en) Programmable logic array control section for data processing system
US4179731A (en) Microprogrammed control system
US4897787A (en) Data processing system
CA1227578A (en) Entry control store for enhanced cpu pipeline performance
GB1528332A (en) Central processing unit employing microprogrammable control in a data processing system
GB1426748A (en) Small micro-programme data processing system employing multi- syllable micro instructions
US5581776A (en) Branch control system for rom-programmed processor
NL8503516A (nl) Werkwijze voor het bedrijven van een microprocessor.
US4251862A (en) Control store organization in a microprogrammed data processing system
US5032983A (en) Entry point mapping and skipping method and apparatus
EP0062658A4 (en) STACK STORAGE FOR A DATA PROCESSING SYSTEM.
US5991872A (en) Processor
EP0073561A1 (en) High speed microinstruction execution apparatus
EP0388735A2 (en) Microprogram controller having fixed-instruction generator and microprogram memory
EP0240606A2 (en) Pipe-line processing system and microprocessor using the system
US5479620A (en) Control unit modifying micro instructions for one cycle execution
JPS5815810B2 (ja) デジタル処理装置
US5187782A (en) Data processing system
JPS6378235A (ja) マイクロコンピユ−タ
US5649229A (en) Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage
US4285036A (en) Data processing device using a subroutine call instruction
US3789368A (en) Programme translation and reentrance device
AU540728B2 (en) Stack for a data processor
JPS62297939A (ja) デ−タ処理装置
JPS6049439A (ja) マイクロプログラム制御方式

Legal Events

Date Code Title Description
BA A request for search or an international-type search has been filed
BB A search report has been drawn up
BC A request for examination has been filed
V1 Lapsed because of non-payment of the annual fee

Effective date: 20030701