NL8503516A - Werkwijze voor het bedrijven van een microprocessor. - Google Patents
Werkwijze voor het bedrijven van een microprocessor. Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 9
- 230000006835 compression Effects 0.000 claims description 9
- 238000007906 compression Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 description 10
- 230000005669 field effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 101100087530 Caenorhabditis elegans rom-1 gene Proteins 0.000 description 1
- 101100305983 Mus musculus Rom1 gene Proteins 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/321—Program or instruction counter, e.g. incrementing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand 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
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59276835A JPH0776917B2 (ja) | 1984-12-29 | 1984-12-29 | マイクロコンピユ−タ |
JP27683584 | 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)
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)
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 |
-
1984
- 1984-12-29 JP JP59276835A patent/JPH0776917B2/ja not_active Expired - Lifetime
-
1985
- 1985-09-27 CN CN85109719A patent/CN1024960C/zh not_active Expired - Lifetime
- 1985-12-04 KR KR1019850009098A patent/KR930009754B1/ko not_active IP Right Cessation
- 1985-12-18 CA CA000497968A patent/CA1242802A/en not_active Expired
- 1985-12-19 NL NL8503516A patent/NL193474C/nl not_active IP Right Cessation
- 1985-12-19 AU AU51477/85A patent/AU582408B2/en not_active Expired
- 1985-12-24 GB GB08531800A patent/GB2169115B/en not_active Expired
- 1985-12-27 FR FR858519331A patent/FR2575563B1/fr not_active Expired - Lifetime
- 1985-12-27 IT IT8548990A patent/IT1208731B/it active
- 1985-12-27 AT AT0376385A patent/AT396409B/de not_active IP Right Cessation
- 1985-12-30 DE DE3546332A patent/DE3546332C2/de not_active Expired - Fee Related
-
1993
- 1993-06-28 US US08/082,822 patent/US5630085A/en not_active Expired - Lifetime
-
1995
- 1995-02-01 US US08/382,392 patent/US5621907A/en not_active Expired - Lifetime
- 1995-06-07 US US08/488,082 patent/US6484252B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5621907A (en) | 1997-04-15 |
NL193474C (nl) | 1999-11-02 |
AU582408B2 (en) | 1989-03-23 |
ATA376385A (de) | 1992-12-15 |
CA1242802A (en) | 1988-10-04 |
IT1208731B (it) | 1989-07-10 |
FR2575563A1 (fr) | 1986-07-04 |
DE3546332A1 (de) | 1986-07-10 |
FR2575563B1 (fr) | 1990-12-07 |
IT8548990A0 (it) | 1985-12-27 |
KR860005297A (ko) | 1986-07-21 |
US5630085A (en) | 1997-05-13 |
JPS61157946A (ja) | 1986-07-17 |
AU5147785A (en) | 1986-07-03 |
KR930009754B1 (ko) | 1993-10-09 |
US6484252B1 (en) | 2002-11-19 |
AT396409B (de) | 1993-09-27 |
NL193474B (nl) | 1999-07-01 |
CN85109719A (zh) | 1986-07-02 |
GB8531800D0 (en) | 1986-02-05 |
DE3546332C2 (de) | 1995-09-21 |
JPH0776917B2 (ja) | 1995-08-16 |
GB2169115A (en) | 1986-07-02 |
CN1024960C (zh) | 1994-06-08 |
GB2169115B (en) | 1989-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4897787A (en) | Data processing system | |
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 | |
JPH071479B2 (ja) | 中央処理装置の制御記憶装置及びマクロ命令用のマイクロ命令を実行装置に与える方法 | |
NL8503516A (nl) | Werkwijze voor het bedrijven van een microprocessor. | |
US4251862A (en) | Control store organization in a microprogrammed data processing system | |
EP0062658A4 (en) | STACK STORAGE FOR A DATA PROCESSING SYSTEM. | |
US5991872A (en) | Processor | |
US4047245A (en) | Indirect memory addressing | |
EP0073561A1 (en) | High speed microinstruction execution apparatus | |
EP0388735A2 (en) | Microprogram controller having fixed-instruction generator and microprogram memory | |
US4493029A (en) | Microprocessor with PLA adapted to implement subroutines | |
EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
JPS5815810B2 (ja) | デジタル処理装置 | |
US4511983A (en) | Apparatus for controlling microinstructions stored in a data processing unit memory | |
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 | |
CA1106978A (en) | Simple flexible indexing method for ros storage microcomputers | |
JPH0348535B2 (nl) | ||
AU540728B2 (en) | Stack for a data processor | |
JPS5917461B2 (ja) | 許されたマクロインストラクシヨンと禁止されたマクロインストラクシヨンをほん訳し制御するための装置 | |
JPS62297939A (ja) | デ−タ処理装置 | |
JPH02173825A (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 |