NL8100631A - PIPELINE DIGITAL PROCESSOR SUITABLE FOR CONDITIONAL OPERATION. - Google Patents
PIPELINE DIGITAL PROCESSOR SUITABLE FOR CONDITIONAL OPERATION. Download PDFInfo
- Publication number
- NL8100631A NL8100631A NL8100631A NL8100631A NL8100631A NL 8100631 A NL8100631 A NL 8100631A NL 8100631 A NL8100631 A NL 8100631A NL 8100631 A NL8100631 A NL 8100631A NL 8100631 A NL8100631 A NL 8100631A
- Authority
- NL
- Netherlands
- Prior art keywords
- during
- word
- interval
- instruction
- processor
- Prior art date
Links
- 230000014509 gene expression Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 24
- 238000012360 testing method Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 5
- 239000000523 sample Substances 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 claims 3
- 230000015654 memory Effects 0.000 description 82
- 230000006870 function Effects 0.000 description 24
- 238000000034 method Methods 0.000 description 14
- 238000012546 transfer Methods 0.000 description 13
- 238000009825 accumulation Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 241000195493 Cryptophyta Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000003556 assay Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003446 memory effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 210000003371 toe Anatomy 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01G—CAPACITORS; CAPACITORS, RECTIFIERS, DETECTORS, SWITCHING DEVICES, LIGHT-SENSITIVE OR TEMPERATURE-SENSITIVE DEVICES OF THE ELECTROLYTIC TYPE
- H01G9/00—Electrolytic capacitors, rectifiers, detectors, switching devices, light-sensitive or temperature-sensitive devices; Processes of their manufacture
- H01G9/20—Light-sensitive devices
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
VO 15^5VO 15 ^ 5
Gepijplijnde digitale processor geschikt voor een voorwaardeli jke werkingPiped digital processor suitable for conditional operation
De uitvinding heeft betrekking op een digitale processor geschikt voor een gepijplijnde werking, voorzien van een bron voor het leveren van een stroom van instructiewoorden voor het regelen van routine bewerkingen, en voor het leveren van een stroom van informatiewoorden; 5 van een rekenkundige sectie voor het verwerken van één informatiewoord met een ander inf ormatiewoord door middel van een geselecteerde sub-secties voor het uitvoeren van bewerkingen, weergegeven door een uitdrukking, teneinde een resulterend inf ormatiewoord op te wekken; en van een bestemmingssectie voor het ontvangen van het resulterende informatie-10 woord vanuit de rekenkundige sectie.The invention relates to a digital processor suitable for a pipelined operation, provided with a source for supplying a stream of instruction words for controlling routine operations, and for supplying a stream of information words; 5 of an arithmetic section for processing one information word with another information word by means of a selected sub-sections for performing operations, represented by an expression, to generate a resulting information word; and from a destination section for receiving the resulting information word from the arithmetic section.
Een digitale computer voor het bewerken van een daarin opgeslagen programma omvat een geheugen, een ingangs/uitgangsketen, een regelinrich-ting en een rekenkundige sectie. Het geheugen voorziet in een bron voor een computerprogramma en levert informatie dat moet worden bewerkt door 15 de rekenkundige sectie. De rekenkundige sectie omvat ketens voorzien van middelen voor het manipuleren van informatie op een vooraf bepaalde wijze. De regelinrichting levert regelsignalen voor het regelen van de tijdstippen en overdracht van informatie die moet worden bewerkt. De ingangs/uitgangsketen bezit middelen voor het overdragen van informatie 20 tussen de computer en externe inrichtingen. Bepaalde bewerkingen van de computer kunnen worden aangepast aan vlaggen, status of voorwaarden, teneinde een resultaat van voorgaande bewerkingen of andere gebeurtenissen aan te geven.A digital computer for processing a program stored therein includes a memory, an input / output circuit, a control device and an arithmetic section. The memory provides a resource for a computer program and provides information to be processed by the arithmetic section. The arithmetic section includes chains provided with means for manipulating information in a predetermined manner. The control device provides control signals for controlling the times and transmission of information to be processed. The input / output circuit has means for transferring information 20 between the computer and external devices. Certain computer operations can be adjusted to flags, status or conditions to indicate a result of previous operations or other events.
Om de ccmput er snelheid op te voeren zijn bepaalde computers inge-25 richt voor een zogenaamde "gepijplijnde" bewerking. Voor het uitvoeren van een gepijplijnde bewerking cmvat de rekenkundige eenheid of sectie, een verzameling van gespecialiseerde ketens die gelijktijdig werken, doch tezamen een algemeen doelsorganisatie vormen. Deze gespecialiseerde ketens werken onafhankelijk en voeren elk een specifieke taak uit in 30 een algsaeen doelprocedure, De gepijplijnde bewerking verdeelt een proces in verschillende subprocessen die door de individuele gespecialiseerde ketens worden uitgevoerd. De opeenvolgende subprocessen worden op een overlappende wijze uitgevoerd een en ander in analogie met een industriële assemblagelijn. Gedurende elke cyclus worden aan de ingang van 8100631 -2- de rekenkundige sectie nieuve operaaden toegevoerd. Verschillende sub-secties van de rekenkundige sectie voeren hun taken tijdens opeenvolgende cycli uit volgens een bepaalde volgorde. Tijdens elke cyclus wordt een resultante opgewekt. Elke gespecialiseerde keten voert zijn eigen 5 taak uit met de cyclussnelheid.In order to increase the speed of the computer, certain computers have been set up for a so-called "pipelined" operation. To perform a pipelined operation, the arithmetic unit or section comprises a collection of specialized chains that operate simultaneously, but together form a common target organization. These specialized chains operate independently and each perform a specific task in an algae and target procedure. The pipelined operation divides a process into several sub-processes performed by the individual specialized chains. The successive sub-processes are performed in an overlapping manner, in analogy with an industrial assembly line. During each cycle, at the entrance of 8100631 -2-, the arithmetic section is supplied with new operaades. Different subsections of the arithmetic section perform their tasks in successive cycles in a specific order. A resultant is generated during each cycle. Each specialized chain performs its own task at the cycle speed.
Het regelen van een gepijplijnde computer, of processor geeft zeer ingewikkelde problemen wanneer de bewerking voorwaardelijk moet worden uitgevoerd. Het gevolg hiervan kan zijn dab de instructies tijdens een blijvende toestandsbewerking opgestapeld worden in de pijplijn.Controlling a pipelined computer, or processor, presents very complex problems when the operation is to be performed conditionally. As a result, the instructions may be piled up in the pipeline during a persistent state operation.
10 De bekende gepijplijnde digitale processor is geschikt voor het overdragen van inform at iewoord en en instructies vanuit het geheugen aan de rekenkundige sectie en aan een regelsectie in de resp. gepijplijnde strcmen. Dez.e. stromen van informatie- en instructiewoorden vullen de pijplijnen van de ketens binnen de processor. Zolang de processor 15 normaal werkt, wordt de infoimatie van de pijplijnen stap voor'stap door de secties van de processor in een cyclische bewerking bewerkt.The known pipelined digital processor is suitable for transferring information word and instructions from the memory to the arithmetic section and to a control section in the resp. pipelined streams. This one. flows of information and instruction words fill the pipelines of the chains within the processor. As long as the processor 15 is operating normally, the pipeline infoimation is processed step by step by the sections of the processor in a cyclic operation.
Een probleem treedt op wanneer een bewerking voorwaardelijk moet worden uitgevoerd. Een dergelijke bewerking wordt gerealiseerd door een voorwaardelijke overdracht met als gevolg het uitvoeren van een of twee 20 ...A problem occurs when an operation must be performed conditionally. Such an operation is accomplished by a conditional transfer resulting in the execution of one or two 20 ...
alternatieve reeksen van een of meer instructies. Aangezien een van deze reeksen van instructies in de pijplijn van de processor is, wanneer de voorwaarde wordt getest, kan het noodzakelijk zijn de bewerking van die reeks ontijdig te beëindigen cm de pijplijn van informatie te voorzien voor het uitvoeren van de alternatieve reeks. Er gaat derhalve 25 · · .alternate series of one or more instructions. Since one of these sets of instructions is in the processor pipeline when the condition is tested, it may be necessary to prematurely terminate the operation of that set to provide the pipeline with information to execute the alternative set. There is therefore 25 · ·.
verwerkingstijd verloren wanneer een dergelijke alternatieve reeks wordt bewerkt.processing time is lost when such an alternate string is edited.
Het doel van de uitvinding is aan de bezwaren tegemoet te kernen.The object of the invention is to overcome the drawbacks.
Het doel wordt bereikt doordat volgens de uitvinding de processor is voorzien van een regelketen voor het decoderen van een enkel voorwaarde-30 lijk instructiewoord voor het regelen van de uitvoering van een specifieke voorvaarde-test tijdens een eerste opvolgende processorcyclus, waarbij de regelketen een ander instructiewoord decodeert tijdens de eerste opvolgende processorcyclus voor het regelen van bepaalde verwerkende sécties tijdens een tweede opvolgende processorcyclus; van een vergelijker / 35 die reageert op het gedecodeerde voorwaardelijke instructiewoord en:'die vergelijkt'met de voorwaarden die aanwezig .zijn in de digitale processor vergelijkt met behulp van een eerste apparatuur tijdens de eerste 81 00 63 1 * Λ, b ' -3- opvolgende processorcyclus, en met behulp Tan. een tweede apparaat dat de specifieke voorwaarde informatie cmvat in het voorwaardelijke instructiewoord voor het opwekken van- een voorwaardelijk signaal; en van een logica-keten die in responsie op het voorwaardelijkè·.signaal selec- 5 tief de reeling blokkeert van tenminste een deel van een sectie van de digitale processor tijdens de tweede opvolgende processor cyclus.The object is achieved in that, according to the invention, the processor is provided with a control circuit for decoding a single conditional instruction word for controlling the execution of a specific condition test during a first subsequent processor cycle, the control circuit another instruction word decodes during the first subsequent processor cycle to control certain processing sections during a second subsequent processor cycle; of a comparator / 35 responding to the decoded conditional instruction word and: "comparing" to the conditions present in the digital processor comparing using a first equipment during the first 81 00 63 1 * Λ, b '-3 - subsequent processor cycle, and using Tan. a second device that captures the specific condition information in the conditional instruction word for generating a conditional signal; and a logic circuit that selectively blocks the reeling of at least a portion of a section of the digital processor during the second subsequent processor cycle in response to the conditional signal.
De uitvinding zal onderstaand aan de hand van een uitvoerings-voorbeeld en onder verwijzing naar de tekening nader worden uiteengezet. Hiertin toont: 10 fig. 1 en 2 een blokdiagram van een gepijplijnde digitale signaal processor; fig. 3 de wijze waarop de fig. 1 en 2 samenwerken; fig. k een tijddiagrsm; fig. 5 en 6 een processorfunctie kaart; 15 fig· T de wijze waarop de fig. 5 en 6 samenwerken; fig. 8 een processorfunctie kaart voor een voorwaardelijke bewerking .The invention will be explained in more detail below with reference to an exemplary embodiment and with reference to the drawing. Herein: Figures 1 and 2 show a block diagram of a pipelined digital signal processor; Fig. 3 shows the way in which Figs. 1 and 2 work together; Fig. k is a time chart; 5 and 6 show a processor function map; Fig. T shows the way in which fig. 5 and 6 work together; Fig. 8 shows a processor function map for a conditional operation.
In de fig. 1 en 2 is in blokvorm een gepijplijnde digitale signaalprocessor weergegeven.In Figs. 1 and 2, a pipelined digital signal processor is shown in block form.
81 0 0 6 3 1 -k-81 0 0 6 3 1 -k-
In de fig. 1 en 2 is een overzicht gegeven van een gepijplijnde digitale signaalprocessor.Figures 1 and 2 provide an overview of a pipelined digital signal processor.
In een dood geheugen 100 worden de instructies en vaste infor-matiewoorden opgeslagen. De instructies worden door een geneenschappe-5 lijke informatie regelbus 101 vanuit het dode geheugen overgedragen aan instructieregisters IR-C; IR-L,M,N; en IR-S,T, resp. 131, 133 en 13k. Delen van de instructies worden toegevoerd aan de instructieregisters.In a dead memory 100, the instructions and fixed information words are stored. The instructions are transferred from dead memory to instruction registers IR-C by a common information control bus 101; IR-L, M, N; and IR-S, T, respectively. 131, 133 and 13k. Parts of the instructions are supplied to the instruction registers.
De vaste infoimatiewoorden of coëfficiëntwoorden, worden door de gsneen-schappelijke informatie en regelbus 101 vanuit het dode geheugen over-10 gedragen aan een coëfficiëntregister 102. Het register 102 is aangeduid met REG-X daar de coëfficiënten hierna worden aangeduid door het symr· bool x.The fixed infoimation words, or coefficient words, are transferred from the dead memory to the coefficient register 102 by the common information and control bus 101. The register 102 is designated REG-X since the coefficients are indicated below by the symbol x .
De variabele informatiewoorden die afkomstig zijn-van een externe bron of van de uitgang van de rekenkundige sectie van de processor- worden 15 in een vrij toegankelijk geheugen 105 opgaslagen. De variabele informatiewoorden worden met behulp van de gemeenschappelijke informatie-en regelbus 101 vanuit het vrij toegankelijke geheugen overgedragen aan o een variabel informatieregister 106, Dit register 106 is gemerkt REG - Y omdat de variabele informatiewoorden hierna worden aangegeven 20 door het symbool De gebruiker kan als gevolg van de keuzemogelijkheid in vrij toegankelijke geheugen, coëfficiënten opslaan in plaats van vaste informatiewoorden of variabele informatiewoorden.The variable information words coming from an external source or from the output of the arithmetic section of the processor are stored in a freely accessible memory 105 layers. The variable information words are transferred from the freely accessible memory to a variable information register 106 using the common information and control bus 101. This register 106 is marked REG - Y because the variable information words are hereinafter indicated by the symbol. As a result of the choice in freely accessible memory, storing coefficients instead of fixed information words or variable information words.
De registers 101 en 106 verwerken resp. een opeenvolgende stroom van coëfficiëntwoorden en variabele informatiewoorden, die als operanden 25 worden toegevoerd aan de ingangen van een rekenkundige sectie 110.Registers 101 and 106, respectively. a consecutive stream of coefficient words and variable information words applied as operands to the inputs of an arithmetic section 110.
Deze opeenvolging van operanden worden op een gepijplijnde wijze verwerkt in een vermenigvuldiger subsectie 112, in een accumulatorsubsectie 115 en in een afgeronde en overstrocraketen subsectie 11-6. Een afgerond uitgangswoord wordt opgewekt in een register 118 welk register is aange-30 duid met REG - W omdat de afgeronde uitgangswoord en hierna worden geïdentificeerd met het symbool w.This sequence of operands is processed in a pipelined manner in a multiplier subsection 112, in an accumulator subsection 115, and in a rounded and overstreak chain subsection 11-6. A rounded output word is generated in a register 118 which register is designated REG - W because the rounded output word and hereafter are identified by the symbol w.
Een uitgangsketen 120 is in de rekenkundige sectie aangebracht teneinde een uitgangswoord uit de rekenkundige sectie te kiezen en deze toe te voeren aan de infoimatiebus 101 hetzij als het variabele infor-35 matiewoord y; opgeslagen in het register 106, hetzij als het afgeronde uitgangswoord w opgeslagen in het register 118. Het afgeronde uitgangswoord w is het resultaat van enige procëdë's, uitgevoerd door de rekenkundige sectie. Het gekozen uitgangswoord kan via de gemeenschappelijke 8 1 0 0 63 1 -5- informatiebesturingsbus 101 vanuit het register 1θ6 of het register 118 aan een inschrijfbestamaing worden overgedragen, hij voorbeeld aan het vrij toegankelijk geheugen 105·An output circuit 120 is arranged in the arithmetic section to select an output word from the arithmetic section and apply it to the information bus 101 either as the variable information word y; stored in the register 106, or as the rounded output word w stored in the register 118. The rounded output word w is the result of some procedures performed by the arithmetic section. The selected output word can be transferred via the common 8 1 0 0 63 1 -5 information control bus 101 from the register 1θ6 or the register 118 to a write-in destination, for example to the freely accessible memory 105 ·
Zoals eerder is vermeld worden de instructies voor de digitale 5 signaalprocessor opgeslagen in het dode geheugen 100. Zoals in fig. ^ is aangegeven wordt gedurende elke processorcyclus, een enkele instructie automatisch uitgelezen uit het dode geheugen welke instructie een adres heeft dat opgewekt is door de adresrekeneenheid, of sectie 12k.As mentioned earlier, the instructions for the digital signal processor are stored in the dead memory 100. As shown in Fig. 1, during each processor cycle, a single instruction is automatically read from the dead memory which instruction has an address generated by the address calculator, or section 12k.
Het adres uit een programma telregister PC in de adres rekensectie 10 wordt door een adreshus 128 toegevoerd aan de adresketen van het dode geheugen. Tijdens elke processorcyclus reageert het dode geheugen door de enkele aldus verkregen instructie via de gemeenschappelijke informatie en regelbus toe te voeren aan de verschillende controlevelden, of instructie registers IR-C, IH-L, Μ, H, en IR-S,T die samenwerken met 15 de verschillende secties van de processor.The address from a program count register PC in the address computing section 10 is applied by an address 128 to the dead memory address chain. During each processor cycle, the dead memory responds by feeding the single instruction thus obtained through the common information and control bus to the different control fields, or instruction registers IR-C, IH-L, Μ, H, and IR-S, T that cooperate with 15 different sections of the processor.
Elke instructie of opcode, toegepast in de digitale signaalprocessor cmvat een aantal regelvelden, of regeiberichten, die elk een aanduiding bezitten, zoals 1, m, n, s_, en t_ en zullen onderstaand verder worden toegepast. Het regelveldregister I5-L,M,ÏÏ,dat samenwerkt met 20 de rekenkundige sectie 110 ontvangt enige van de velden, zoals de instructievenen 1, m en n die resp. samenwerken.met de regeling van de vermenigvuldiging-, de accumulatie- en afrondingsbewerkingen.Each instruction or opcode used in the digital signal processor includes a number of control fields, or control messages, each of which has an indication, such as 1, m, n, s_, and t_, and will be further applied below. The control field register I5-L, M, II, which cooperates with the arithmetic section 110, receives some of the fields, such as the instruction toes 1, m and n, respectively. with control of multiplication, accumulation and rounding operations.
Het register IH-S,T dat samenwerkt met de 12U, ontvangt de instructie-velden s_ en _t die betrekking hebben op het regelen van de adresregister 25 modificatie teneinde het te voorschijn halen van de operanden x en £, en het opzamelen van het uitgangswoord, gekozen door de selectorketen 120 te regelen.The register IH-S, T, which cooperates with the 12U, receives the instruction fields s_ and _t related to controlling the address register 25 modification to extract the operands x and £, and to collect the output word selected by controlling selector circuit 120.
De sectie 12^ cmvat twee stellen registers 1^1 en 1h2 alsmede een adresbus vergrendelingsinrichting 1^-5, een opbeller 1 h-T en een optel-30 vergrendelingsinrichting 150 die door middel van enige bussen met elkaar verbonden zijn.The section 12 contains two sets of registers 1, 1 and 1h2 as well as an address bus locking device 1, 5, a caller 1h-T and an adder locking device 150, which are connected by means of some buses.
Het ene stel registers 1U1, die de registers BX, RY, RD en PC aa-vatten, zijn geschikt voor het opzamelen van geheugenadressen. Een adres opgeslagen in het register BX kan worden gebruikt voor het verkrijgen 35 van toegang tot een coëfficiëntwoord dat in een geheugenplaats is opgeslagen, hetzij in het vrij toegankelijk geheugen hetzij in het dode geheugen. Een adres, ongeslagen in het; register RY, kan uitsluitend 81 00 63 1 % -6- vorden toegepast voor het verkrijgen van toegang tot een variabel informatievoord, opgeslagen in een geheugenplaats in het vrij toegankelijke geheugen. Een adres, opgeslagen in het register RD kan worden toegepast voor het inschrijven van een resulterend informatievoord op 5 een bestamning, bij voorbeeld in het vrij toegankelijk geheugen,The one set of registers 1U1, which include registers BX, RY, RD and PC, are suitable for collecting memory addresses. An address stored in register BX can be used to access a coefficient word stored in a memory location, either in free access memory or in dead memory. An address, unbeaten in it; register RY, only 81 00 63 1% -6- can be used to access a variable information stored in a memory location in the freely accessible memory. An address stored in the register RD can be used to write a resulting information request on a file, for example in the freely accessible memory,
Een adres, opgeslagen in het prcgrammatelregister PC wordt gebruikt voor het in het dode geheugen verkrijgen van toegang tot het volgende instructie- of vaste informatievoord.An address stored in the program count register PC is used for accessing the next instruction or fixed information in dead memory.
Het tweede stel registers 1^+2 is bestond voor het opslaan van 10 variabele incranentvaarden dievworden gebruikt voor het automatisch incranenteren van adressen, die opgeslagen zijn in de registers EX, EY en KD. Eveneens kunnen de opgeslagen adressen worden geïncrementeerd door een incrementvaarde van een stel vaste incrementvaarden.The second set of registers 1 ^ + 2 existed for storing 10 variable incremental values used for automatically incrementing addresses stored in registers EX, EY and KD. Also, the stored addresses can be incremented by an increment value of a set of fixed increment values.
De bewerkingen,, uitgevoerd door de processor worden geregeld 15 door twee typen instructies. De normale instructies worden meestal toegepast. Zij regelen de uitvoering van de rekenkundige bewerkingen tijdens de signaalverwerking. Een ander type instructie, die af en toe wordt toegepast wordt een hulpinstructie genoead. Een specifieke hulpinstruc-tie regelt het opladen van een adresregister of een adresincraaent-20 register in de adresrekensectie.The operations performed by the processor are controlled by two types of instructions. The normal instructions are usually applied. They control the execution of the arithmetic operations during signal processing. Another type of instruction, which is occasionally used, is called an auxiliary instruction. A specific auxiliary instruction controls the loading of an address register or an address incraaent-20 register in the address calculation section.
Aangenomen wordt dat de reeks voor het starten van instructies is opgeslagen in het dode geheugen en aanvangt met het starten van een initieel adres en dat een terugstelketen het programma relregister PC instelt op het initiële adres. Wanneer de terugstelbewerking wordt ge-25 volgd, is er een typische instructiereeks voor het opslaan van additionele adressen in de adresregisters RX, RY en RD en incranentvaarden in de incranentregisters RI, RJ en RK. Deze registers worden door middel van hulpinstructies ingesteld. Gewoonlijk worden de waarden, opgeslagen in de registers RI, RJ en RK, daarin vastgehouden tijdens een programma, 30 terwijl de waarden in de registers RX, RY en RD tijdens de werking van een reeks van normale instructies van tijd tot tijd worden veranderd.It is assumed that the instruction start sequence is stored in the dead memory and starts an initial address start and that a reset circuit sets the program rerregister PC to the initial address. When the reset operation is followed, there is a typical instruction sequence for storing additional addresses in the address registers RX, RY and RD and incremental values in the incremental registers R1, RJ and RK. These registers are set up by means of auxiliary instructions. Usually, the values stored in registers RI, RJ and RK are held therein during a program, while the values in registers RX, RY and RD are changed from time to time during the operation of a series of normal instructions.
Nadat de processor is teruggesteld en het adres en de increnent-waarden zijn opgeslagen, kan de processor een geldig programma voor het verwerken van digitale signalen aanvangen. De meeste instructies, toe-35 gepast voor het verwerken van signalen, zijn normale rekenkundige instructies .After the processor is reset and the address and increnent values are stored, the processor can start a valid program for processing digital signals. Most of the instructions used for processing signals are normal arithmetic instructions.
De informatie in elk van de registers RX, RY, RD, PC, RI, RJ en RKThe information in each of the registers RX, RY, RD, PC, RI, RJ and RK
81 0 0 63 1 -τ- kunnen door middel Tran een specifieke waarde ran een hulpinstructie worden ingesteld. Bij voorbeeld geeft een eerste instructie roor het opladen ran het adresregister RY aan dat een processorregister moet worden opgeladen of ingesteld.81 0 0 63 1 -τ-, a specific value of an auxiliary instruction can be set using Tran. For example, a first instruction to load the address register RY indicates that a processor register is to be charged or set.
5 In deze eerste instructie cmrat een regelreld c_ de vereiste infozmatie. Dit regelveld £ wordt tijdens de instructie ophaalcyclus opgeslagen in een instructieregister IR-C.5 In this first instruction, a control field c_ the required information. This control field £ is stored in an instruction register IR-C during the instruction fetch cycle.
. Een vast informatievoord, dat samenwerkt met de eerste instructie en dat wordt toegevoerd aan het adres van de rekenkundige sectie 12k 10 tijdens de processorcyclus waarin die instructie wordt gedecodeerd, verschaft informatie die aangeeft welk adresregister moet worden opgeladen en fixeert de inereaentwaarde die moet worden opgeslagen. Het regelveld en waardeveld worden door middel van de gemeenschappelijke informatie en regelhus 101 vanuit het geheugen overgedragen aan het regel-15 veldregister XSR 185 en aan het waardeveldregister XSL 186.. A fixed information word, which cooperates with the first instruction and is applied to the address of the arithmetic section 12k 10 during the processor cycle in which that instruction is decoded, provides information indicating which address register to load and fix the inereaent value to be stored. The control field and value field are transferred from memory to the control-15 field register XSR 185 and to the value field register XSL 186 by means of the common information and control body 101.
Tijdens het uitvoeren van de eerste instructies, wordt het regelveld in het register XSR gedecodeerd in een decodeerinrichting 157» teneinde het juiste adresregister te selecteren. Tijdens de uitvoerings-cyclus van de eerste instructie wordt de waarde van het register XSL, dat 20 moet worden opgeslagen in het adresregister Y, toegevoerd aan de registers 1U1 ea itó, via een selectieketen 158 en een hus 160.While executing the first instructions, the control field in the register XSR is decoded in a decoder 157 to select the correct address register. During the execution cycle of the first instruction, the value of the register XSL, which is to be stored in the address register Y, is supplied to the registers 1U1 and others via a selection circuit 158 and a hus 160.
Een tweede instructie, die het incrementregister RI oplaadt, geeft aan dat een processorregister moet worden opgeladen of ingesteld.A second instruction, which charges the increment register RI, indicates that a processor register needs to be charged or set.
In het zoeven beschreven voorbeeld, voor het instellen van het adres-25 register RY, levert een vast adreswoord, dat op gelijke wijze samenwerkt met de tweede instructie, een regelveld cm. aan te geven welk register moet worden ingesteld, en een waard eveld voor het verkrijgen van de waarde die moet worden opgeladen. De velden van het vaste infor-matiewoord worden geleverd door, het register XSR, via de decodeer-30 inrichting 157 en de bus 137» teneinde het incrementreg ister te bepalen dat gekozen is in het stel registers 1^-2, en door het register XSL, via de selector 158 en de bus 161, teneinde de waarde te verkrijgen die moet worden opgeladen in het gekozen incrementregister tijdens de uit-voercyclus van de tweede instructie.In the example just described, for setting the address-register RY, a fixed address word which interacts similarly with the second instruction provides a control field cm. indicate which register to set, and a value field for obtaining the value to be charged. The fields of the fixed information word are supplied by the register XSR via the decoder 157 and the bus 137 to determine the increment register selected in the set of registers 1, -2, and by the register XSL, via selector 158 and bus 161, to obtain the value to be loaded into the selected increment register during the execution cycle of the second instruction.
35 Tijdens de verwerking van de noimale-, en de hulpinstructies worden de regelvelden £ en t van de instructie opgeslagen in het instructieregister IR-S,T althans wanneer die instructie is opgehaald. Deze velden 81 0 0 63 1 -8- worden gedecodeerd in een decodeerinrichting 152, tijdens de volgende processorcyclus tezamen met de gecodeerde informatie die vergrendeld is in een AAU regelmeten 15^· Deze gecodeerde informatie wordt tijdens de instructie uitvoercyclus of tijdens de tweede processorcyclus, na 5 het ophalen via een hus 135 toegevoerd aan de stellen registers 11*1 en 1^2. Zowel een adresregister als een incrsaentregister of een vast increment worden door de informatie op de hus 135 geselecteerd. Het adres wordt toegevoerd aan de adresbusvergrendeling 1^5 en aan de ingang van een opteller 1V[. De incrementwaarde wordt· gelijktijdig toegevoerd aan. de 10 andere ingang van de opteller 1 UT 9 die het adres incrsnenteerd en gedurende één machinetoestand opslaat in een optelvergrendelinrichting 150. Tijdens de volgende machinetoestand, wordt het geïncrenenteerde adres via een hus 136 toegevoerd aan het stel adresregisters 1^1.During the processing of the minimum and auxiliary instructions, the control fields £ and t of the instruction are stored in the instruction register IR-S, T at least when that instruction is retrieved. These fields 81 0 0 63 1 -8- are decoded in a decoder 152 during the next processor cycle along with the encoded information locked in an AAU line measuring 15 ^ This encoded information is output during the instruction execution cycle or during the second processor cycle, after 5 retrieval through a hus 135 supplied to the sets of registers 11 * 1 and 1 ^ 2. Both an address register and an incrsaent register or a fixed increment are selected by the information on the hus 135. The address is applied to the address bus lock 1 ^ 5 and to the input of an adder 1V [. The increment value is applied simultaneously to. the other input of the adder 1 UT 9 which increments the address and stores it in an adder lock device 150 during one machine state. During the next machine state, the incremented address is supplied through a hus 136 to the set of address registers 1 ^ 1.
Tijdens het verwerken van een normale instructie wordt gelijk-15 tijdig een deel van de informatie in de velden s en t via een enkele machinetoestandsvertraging toegevoerd aan een vertragingsketen 155·During the processing of a normal instruction, part of the information in the fields s and t is simultaneously supplied to a delay circuit via a single machine state delay.
Deze vertraagde informatie geeft de kiesinformatie, teneinde te bepalen welk van de adresregisters 1M moet worden ingeschreven na de zojuist beschreven adresbewerking. In de volgende machinetoestand, wordt de 20 vertraagde informatie gecodeerd in een decodeerinrichting 157 en wordt vervolgens via een bus 137 toegevoerd aan de adresregisters ïU1 .This delayed information provides the dialing information to determine which of the address registers 1M is to be written after the address operation just described. In the next machine state, the delayed information is encoded in a decoder 157 and then supplied through a bus 137 to the address registers II1.
Op dit tijdstip wordt het ge increment eerde adres, opgeslagen in de optel-vergrendelingsinrichting 150, ingeschreven in het geselecteerde adresregister, zodat het adres na de adresseringsbewerking wordt gewijzigd.At this time, the incremented address stored in the adder lock device 150 is written into the selected address register, so that the address is changed after the addressing operation.
25 Tijdens het verwerken van een hulpregister-instelinstructie, kan de hierboven beschreven bewerking cm een naderhand gewijzigd adres terug te schrijven in een adresregister, van tevoren worden geleegd door de register-instelbewerking. Het vooraf legen wordt verkregen door de decodeerinrichting 157s in responsie op de daarin toegevoerd infor-30 matie, vanuit de logische keten 122, via een baan 138, de AAU regel-keten 15U en de vertragingsketen 155·While processing an auxiliary register setting instruction, the above-described operation to write a subsequently changed address back into an address register can be pre-emptied by the register setting operation. The pre-emptying is accomplished by the decoder 157s in response to the information supplied therein, from the logic circuit 122, via a path 138, the AAU control circuit 15U and the delay circuit 155
Wanneer de registerinstelinstructie van tevoren de inschrijving van een adresregister leegt, wordt de informatie voor het selecteren van het adresregister vanuit het register XSR via de decodeerinrichting 157 35 en de bus 137 toegevoerd aan het adresregisterstel 1^1. Gelijktijdig wordt vanuit het register XSR informatie toegevoerd, via de decodeerinrichting 157 en de bus 137, voor het selecteren van informatie op de bus 160, in plaats van informatie op de bus 137· 8 1 0 0 63 1 -9-When the register setting instruction empties the registration of an address register in advance, the information for selecting the address register from the register XSR is supplied via the decoder 157 and the bus 137 to the address register set 1 ^ 1. Simultaneously, information is supplied from the register XSR, via the decoder 157 and the bus 137, for selecting information on the bus 160, instead of information on the bus 137 · 8 1 0 0 63 1 -9-
De adresrekensectie 12h draagt adressen over met "behulp van de adresbusvergrendelingsinrichting 1U5 voor het verkrijgen van een toegang in de geheugens 100 en 105, en wekt nieuwe adressen op in de opteller 1U7 en stelt de adresregisters RX, RY, RD en PC in.The address calculation section 12h transfers addresses using the address bus latch 1U5 to access the memories 100 and 105, and generates new addresses in the adder 1U7 and sets the address registers RX, RY, RD and PC.
5 Het diagram van fig. h toont aan dat de adressen worden toege voerd aan het geheugen als een serie van vier adressen die tijdens elke processor cyclus worden overgedragen. Eên van de adressen wordt tijdens elke processorcyclus tijdens elk van de vier machinetoestanden overgedragen. Het eerste adres dat tijdens de eerste maehinetoestand 10 is overgedragen is het adres, opgeslagen in het programma telregister PC. Zoals in fig. k is, aangegeven, wordt dit adres tijdens de eerste maehinetoestand van elke processorcyclus amtcmatisch overgedragen.The diagram of Fig. H shows that the addresses are supplied to the memory as a series of four addresses that are transferred during each processor cycle. One of the addresses is transmitted during each processor cycle during each of the four machine states. The first address transmitted during the first maehine state 10 is the address stored in the program count register PC. As indicated in FIG. K, this address is transmitted amtcmatically during the first maehine state of each processor cycle.
Het tweede adres dat gedurende de tweede maehinetoestand wordt overgedragen ishet adres opgeslagen in het register RD of in het register RX. 15 Het derde adres dat tijdens de derde maehinetoestand wordt overgedragen is het adres, opgeslagen in het register RX of in het prcgrammatel-register PC. Het vierde adres dat tijdens de vierde maehinetoestand wordt overgedragen is het adres opgeslagen in het register RY.The second address transmitted during the second maehine state is the address stored in the register RD or in the register RX. The third address transmitted during the third maehine state is the address stored in the register RX or in the program count register PC. The fourth address transmitted during the fourth maehine state is the address stored in the register RY.
Elk adres afkomstig van de adresrekenkundige sectie wordt tijdens 20 de genoemde machinetoestanden van de processorcyclus vergrendeld in de adresbus vergrendelingsinrichting lk5. Eveneens worden tijdens deze machinetoestanden de adressen in de adresrekeneenheidopteller 1bj ge-increaenteerd door een incrementele waarde dat uit een van de increment-registers RI, EJ en RK, geïncrementeerd is, of in het geval van het 25 adres uit het register PC, het adres geïncrementeerd wordt met +1. Deze incrementele bewerkingen worden tijdens dezelfde maehinetoestand, waarbij het adres wordt vergrendeld, tot stand gebracht.Each address from the address arithmetic section is locked in the address bus locking device 1k5 during said machine states of the processor cycle. Also, during these machine states, the addresses in the address calculator adder 1bj are incremented by an incremental value incremented from one of the increment registers R1, EJ and RK, or in the case of the address from the register PC, the address is incremented with +1. These incremental operations are accomplished during the same maehine state where the address is locked.
Identificatie van het geselecteerde adres en inerementregisters wordt verkregen door het aan het instructieregister IR-S,T toevoeren 30 van geschikte regelvelden, en wel voorafgaande aan de adresseerbewerkirg, zodat de geschikte codering wordt toegevoerd aan de toegangsketen voor zowel het adres als de increaentregisters tijdens de maehinetoestand waarbij het adres moet worden overgedragen. Zowel het adres als de waarde van het increment worden uitgelezen en worden in de opteller 1U7 35 opgeteld. Het resulterende geïncrementeerde adres wordt in de optelver-grendelinrichting 150 opgeslagen, terwijl het adres afkomstig is van de adresbusvergrendelinrichting 1 k5.Identification of the selected address and increment registers is obtained by applying appropriate control fields to the instruction register IR-S, T prior to the addressing operation, so that the appropriate encoding is applied to the access chain for both the address and increaent registers during the maehine state where the address is to be transferred. Both the address and the value of the increment are read out and added in the adder 1U7 35. The resulting incremented address is stored in the adder lock device 150, while the address comes from the address bus lock device 1k5.
810063! -10-810063! -10-
De codering, om aan te geven welk adresregister moet worden geselecteerd, wordt via de vertragingsketen 155 toegevoerd aan de decodeer-registerketen 157· De vertraging en decodering zijn zodanig gedimensioneerd dat het geïncreaenteerde adres, opgeslagen in de optelver-5 grendelinrichting 150, in het adresregister kan worden ingeschreven, van waar het overgedragen adres was verkregen. Het overgedragen adres wordt derhalve later gemodificeerd of later geincrenenteerd tijdens de processorcyclus wanneer het wordt overgedragen aan de geheugens 101 en 105.The coding, to indicate which address register to select, is supplied to the decoding register circuit 157 via the delay circuit 155 · The delay and decoding are dimensioned such that the incremented address stored in the adder latch 150 in the address register can be registered from where the transferred address was obtained. Therefore, the transferred address is later modified or later incremented during the processor cycle when it is transferred to the memories 101 and 105.
10 In fig. 2 is de rekenkundige'sectie 110 georganiseerd voor ge- pijplijnde bewerkingen. De coëfficiëntwoorden x en de variabele* informatiewoorden jr zijn operanden afkomstig van de geheugens en worden via de gemeenschappelijke informatie en regelbus 101 toegevoerd aan het coëfficiëntwoardregister 102 en aan het variabele informatiewoord-15 register 106. De afgeronde uitgangswoorden w zijn eveneens operanden die bestemd zijn voor bepaalde bewerkingen en die worden opgeslagen in het register 118. Een nieuwe operand wordt aan elk van deze registers toegevoerd tijdens elife procescyclus van een normale instructie.In Fig. 2, the arithmetic section 110 is organized for pipelined operations. The coefficient words x and the variable * information words jr are operands from the memories and are applied via the common information and control bus 101 to the coefficient board register 102 and to the variable information word-15 register 106. The rounded output words w are also operands intended for certain operations and are stored in the register 118. A new operand is applied to each of these registers during elife process cycle of a normal instruction.
De rekenkundige sectie 110 aavat drie subsecties die onafhanke-20 lijk regelbaar zijn in de responsie op verschillende regelvelden 1, m en n. Tijdens de ophaalcyclus van een instructie, worden de velden 1_, m en n opgeslagen in een instructieregister IR-L,M,1T. In de volgende processor cyclus worden deze velden gedecodeerd in een decodeerketen 113 en wordt het resultaat opgeslagen, in het register KEG - F, 188. Tijdens de 25 volgende processorcyclus wordt deze informatie toegevoerd aan een AAU regelketen 1lll·, cm de regelsignalen toe te voeren aan de verschillende subsecties van de rekenkundige sectie. Deze laatstgenoande processor-cyclus is de uitvoeringscyclus van de instructie. De regelsignalen leveren infonnatie met betrekking tot die keuzen die gemaakt zijn uit 30 de beschikbare verwerking sopt ies in elk van de subsecties. De vermenigvuldiger subsectie 112 levert typisch een produkt op van twee operanden tijdens elke processorcyclus. Bij een bepaalde vermenigvuldiging is een operand het coëfficiëntwoord x en is de tweede operand hetzij het variabele informatiewoord, £ hetzij het afgeronde uitgangswoord w.The arithmetic section 110 includes three subsections that are independently controllable in the response to different control fields 1, m and n. During the fetch cycle of an instruction, fields 1_, m and n are stored in an instruction register IR-L, M, 1T. In the next processor cycle, these fields are decoded in a decoding circuit 113 and the result is stored in the register KEG-F, 188. During the next processor cycle, this information is supplied to an AAU control circuit 11ll cm to supply the control signals to the different subsections of the arithmetic section. This latter processor cycle is the execution cycle of the instruction. The control signals provide information regarding those choices made from the available processing options in each of the subsections. The multiplier subsection 112 typically yields a product of two operands during each processor cycle. At a given multiplication, an operand is the coefficient word x and the second operand is either the variable information word £ or the rounded output word w.
35 Het coëfficiëntwoord x is een 16-bit woord. Deze 16 bits zijn aangebracht in het register 102 en zijn afkomstig van de meest significante bitlijnen van de gemeenschappelijke informatie en regelbus.35 The coefficient word x is a 16-bit word. These 16 bits are provided in the register 102 and are from the most significant bit lines of the common information and control bus.
8 1 0 0 63 1 b -11-8 1 0 0 63 1 b -11-
Sen selectieketen 162 tast de 16 tits van het coëfficiëntvoord. af vanaf de minst significante bit totaan de meest significante bit, en wel vier bitsrtegelijkertijd, tijdens elk van de vier macbinetoestanden in elke processor cyclus. Een andere selectieketen 163 selecteert 5 gelijktijdig hetzij een 20-bit variabel informatiewoord 21 hetzij een 20 bit afgerond uitgangsvoord w.Sen selection chain 162 probes the 16 tits of the coefficient. from the least significant bit to the most significant bit, four bits at a time, during each of the four macbin states in each processor cycle. Another selection circuit 163 simultaneously selects either a 20-bit variable information word 21 or a 20-bit rounded output word w.
De vermenigvuldiging is gebas-erd op de welbekende algoritme van Booth. Een logische keten 165 van Booth reageert derhalve op de opeenvolgende k—bit knabbels (in het Engels "nibbles") teneinde regel-10 signalen op te wekken voor het verkrijgen van partiële produkten.The multiplication is based on the well-known Booth algorithm. Thus, a Booth logic circuit 165 responds to the successive k-bit nibbles ("nibbles") to generate control-10 signals to obtain partial products.
Het uitgangssignaal van de keten 165 wordt tijdens elke maehine-toestand in een register 166 vergrendeld. Dit uitgangssignaal wordt toegevoerd aan een keten 168 die de partiële produkten voor de informatieselectie opwekt.The output of the circuit 165 is locked in a register 166 during each maehine state. This output is applied to a circuit 168 which generates the partial products for the information selection.
15 Deze partiële produkten worden geaccumuleerd door optelling van voorafgaande s arm en en overdrachten (Engels "carries"). Een opteller 170 sommeert de partiële produkten met de voorafgaande som- en overdrachts-informatie om een resulterende 36-bit gemiddelde operand of produkt woord n, in een produktregister P,191 op te slaan. Samenwerkende regis-20 ters S,190 en C,189 slaan de soa- en overdrachtsinf ormatie^. opgewekt tijdens elke procescyclus, op.15 These partial products are accumulated by adding previous arm and transfers (English "carries"). An adder 170 sums the partial products with the preceding sum and transfer information to store a resulting 36-bit average operand or product word n in a product register P, 191. Cooperating registers S, 190 and C, 189 store the STI and transmission information. generated during each process cycle, op.
Vanwege het feit dat de rekenkundige sectie ingericht is voor een gepijplijnde bewerking, wordt aan het produktregister p.191 een nieuw gemiddelde operand, of produktwoord p toegevoegd, tijdens elke 25 procescyclus van de normale instructies. Dit produktwoord n wordt via een bus 172 toegevoerd als een gemiddelde operand aan de ingang van de accumulator subsectie 115·Due to the fact that the arithmetic section is arranged for a pipelined operation, a new average operand, or product word p, is added to the product register p.191 during each process cycle of the normal instructions. This product word n is supplied via a bus 172 as an average operand at the input of the accumulator subsection 115
In de accumulator subsectie wordt het produktwoord £ opgeteld bij een kO-bit resulterend uitgangswoord a, welk uitgangswoord af-30 kaastig kan zijn van een keten 17k, voordat een ingangssignaal aan de optelketen 175 wordt toegevoerd. De keten 175 levert de som- en over-draehtsinformatie die het register 177 is opgeslagen. De som- en over-drachtsinfcrmatie wordt tijdens elke procescyclus opgeslagen in het register 177· De overdrachten worden uitgevoerd door de overdracht-35 kijk-vooruit logica in de opteller 178. Het uitgangssignaal van de opteller 178 wordt toegevoerd aan een ingang van een logicaketen 180, tezamen met het resulterende uitgang swoord a, teneinde de volgende 81 00 63 1 5 -12- opvolgende vaarde van het 4o-bit resulterend uitgangswoord a op te wekken, welk uitgangswoord. wordt ‘opgeslagen in het register A. Een der-gelijk resulterend uitgangswoord wordt tijdens elke processorcyclus van. een normale instructie opgewekt en opgeslagen in het register A, 192.In the accumulator subsection, the product word £ is added to a kO-bit resulting output word a, which output word may be scrambled from a circuit 17k before an input is applied to the adder 175. The circuit 175 provides the sum and transfer information stored in the register 177. The sum and transfer information is stored in the register 177 during each process cycle. The transfers are performed by the transfer-look ahead logic in the adder 178. The output of the adder 178 is applied to an input of a logic circuit 180 , together with the resulting output word a, so as to generate the following sequence of the 4o-bit resulting output word a, which output word. is "stored in register A. Such a resulting output word becomes during each processor cycle of. a normal instruction generated and stored in register A, 192.
Een gedeelte van het resulterende uitgangswoord a wordt toege- voerd aan een ingang van de afrondings- en overstroamketen sutsectie 116 in plakken van 10-bits. Deze plakken worden via een afronding sketen 182 en een overstroomlogicaketen 184 toegevoerd aan het 20-bi.t afgeronde uitgangsregister ¥ in drie opeenvolgende machinetoestanden van elke 10 processorcyclus.· In de vierde machinetoestand kan de waarde in het register W gecorrigeerd worden voor overstroming indien de waarde in het register A te groot is voor het register W, 118. Vervolgens kan het afgeronde uitgangsvoord via de gemeenschappelijke informatie en regel-bus 101 overgedragen worden aan een bestorming, bij voorbeeld in een · 15 geheugenplaats in het vrij toegankelijke geheugen 105 om daarin te worden opgeslagen.A portion of the resulting output word a is applied to an input of the rounding and overflow chain sut section 116 in 10-bit slices. These slices are applied through a rounding circuit 182 and an overflow logic circuit 184 to the 20-bit rounded output register ¥ in three consecutive machine states of each 10 processor cycle. · In the fourth machine state, the value in register W can be corrected for flooding if the value in register A is too large for register W, 118. Subsequently, the rounded output word can be transferred via the common information and control bus 101 to a storming, for example in a memory location in the freely accessible memory 105 to be stored therein. to be saved.
De drie subsecties (vermenigvuldiger, accumulator en afronding) van de rekenkundige sectie voeren elk een basisbewerking uit in éên processorcyclus. De uitgangssignalen van de subsecties worden tijdens 20 elke processorcyclus opgeslagen in registers, zodat de volgende sub-sectiej die daarmee in lijn is, een stabiel ingangssignaal bezit, teneinde de daarop volgende processorcyclus te beginnen.The three subsections (multiplier, accumulator and rounding) of the arithmetic section each perform a basic operation in one processor cycle. The sub-section outputs are stored in registers during each processor cycle, so that the next sub-section aligned therewith has a stable input signal to begin the subsequent processor cycle.
De regeling van de rekenkundige sectie 110 en of van de adres rekensectie 124 wordt verkregen door een gepijplijnde stroom van in-25 structies, afkomstig van het geheugen 100 en worden via de gemeenschappelijke informatie en regelbus 101 toegevoerd. Zoals eerder is opgemerkt met betrekking tot fig. 4, wordt bij elke processorcyclus een enkele instructie uit het geheugen uitgelezen. Een dergelijke instructie aavat verschillende instructievelden of regelberichten, 1, m, n, s_,en t_.The control of the arithmetic section 110 and or of the address arithmetic section 124 is obtained by a pipelined stream of instructions from the memory 100 and are supplied through the common information and control bus 101. As noted previously with respect to Fig. 4, a single instruction is read from memory with each processor cycle. Such an instruction includes several instruction fields or control messages, 1, m, n, s_, and t_.
30 De velden 1, m en n worden via de gemeenschappelijke bus 101 overgedragen aan het register IR-L, Μ, II, voor het regelen van de subsecties van de rekenkundige sectie 110. De velden s en t worden via de gemeenschappelijke bus 110 aan het register IR-S,T overgedragen voor het regelen van de selectie en incrementatie van de adressen, opgeslagen in de 35 registers RX, RY, RW en PC.The fields 1, m and n are transferred via the common bus 101 to the register IR-L, Μ, II, for controlling the subsections of the arithmetic section 110. The fields s and t are transmitted via the common bus 110 the register IR-S, T transferred to control the selection and incrementation of the addresses stored in the 35 registers RX, RY, RW and PC.
Voor een goed begrip van de opstelling en werking van de gepijplijnde regeling zal onderstaand nader een uiteenzetting worden gegevenA detailed explanation will be given below for a proper understanding of the arrangement and operation of the pipeline scheme
-13- «a.n de hand van. een specifiek uitvoerirgsvoorbeeld.-13- «a.n the hand of. a specific output example.
Een complete normale reeks van taalinstructies omvat alle vereiste instructies voor het uitvoeren van een gewenste rekenkundige 5 bewerking. De reeks van taalinstructies voor de digitale signaalprocessor zijn zodanig dat deze de regeling voor de toegang tot het geheugen en de regeling van de werking van de rekenkundige subsectie en van de adresrekenkundige subsectie voorstellen. De rekenkundige subsectie voert continu vermenigvuldigingen en optelbewerkingen uit. De normale 10 bewerkingen van de rekenkundige secties zijn gekenmerkt door de volgende algemene uitdrukkingen: X.f(y) + f (a) — 9» a { - —> w} x.f(w) + f (a) — a 9 a { - —> w} waarbij 15 x een 16-bit coëfficiëntwoord is die gewoonlijk uit het dode geheugen wordt verkregen. Het coëfficiëntwoord x zou eveneens uit het vrij toegankelijke geheugen gehaald kunnen worden of uit een ingangs/uit-gangsketen 200 en heeft gewoonlijk een waarde voor alle rekenkundige bewerkingen.A complete normal set of language instructions includes all required instructions for performing a desired arithmetic operation. The set of language instructions for the digital signal processor are such as to represent the memory access control and the operation of the arithmetic subsection and the address arithmetic subsection. The arithmetic subsection continuously performs multiplications and addition operations. The normal 10 operations of the arithmetic sections are characterized by the following general expressions: xf (y) + f (a) - 9 »a {- -> w} xf (w) + f (a) - a 9 a {- -> w} where 15x is a 16-bit coefficient word usually obtained from dead memory. The coefficient word x could also be taken from free access memory or from an input / output circuit 200 and usually has a value for all arithmetic operations.
20 £ is een 20-bit informatiewoord dat normaliter uit het vrij toegankelijk geheugen wordt gehaald. Een dergelijke informatiewoord kan eveneens worden opgehaald uit de ingangs/uitgangsketen 200. a stelt de 40-bit inhoud voor van een accumulatorregister A, 192. In dit register A, 192 worden de minst significante 36 bits toegepast om het 25 prcdukt van een 16-bit te accumuleren tot een 20-bit vermenigvuldiging. De vier meest significante bits leveren de overstroombeveiliging op voor de accumulatie bewerking.20 £ is a 20-bit information word normally extracted from free access memory. Such an information word can also be retrieved from the input / output circuit 200. a represents the 40-bit content of an accumulator register A, 192. In this register A, 192, the least significant 36 bits are applied to produce a 16-bit output. bit to a 20-bit multiplication. The four most significant bits provide the overcurrent protection for the accumulation operation.
w is een 20-bit afgerond of afgeknot uitgangssignaal van de accumulator. De minst significante bit van het afgeronde uitgangswoord w correspon-30 deert met de bit die de viertiende van de minst significante bit van de inhoud a van de accumulator is. Deze overeenkomst van bits komt overeen met een veronderstelling dat het informatiewoord en het afgeronde uitgangssignaal w gehele getallen zijn en dat het coëfficiëntwoord x gewoonlijk beperkt is binnen de grenzen -2 ^ x<^ 2.w is a 20-bit rounded or truncated output from the accumulator. The least significant bit of the rounded output word w corresponds to the bit which is the fourteenth of the least significant bit of the contents a of the accumulator. This correspondence of bits corresponds to an assumption that the information word and the rounded output signal w are integers and that the coefficient word x is usually limited within the limits -2 ^ x <^ 2.
81 00 63 1 -Ill·- f beschrijft een functie van hetzij het informatiewoord jr hetzij het afgeronde uitgangssignaal w. Een dergelijke functie kan de feitelijke waarde, het teken, of de absolute waarde zijn van een van de variabelen £ en £.81 00 63 1 -Ill · - f describes a function of either the information word jr or the rounded output signal w. Such a function can be the actual value, the sign, or the absolute value of one of the variables £ and £.
5 f beschrijft in het alg oneen een functie van de inhoud a van de accumu- 6.5 f generally describes a function of the contents a of the accumulator 6.
lator, zoals a, -a, 0,2a etc.later, such as a, -a, 0.2a etc.
De variabelen x, £, w zijn aanwezig in de registers X, 102, Υ,10β, W,108 en P9191 van de rekenkundige sectie.The variables x, £, w are present in the registers X, 102, Υ, 10β, W, 108 and P9191 of the arithmetic section.
De hierboven aangegeven alganene uitdrukkingen geven aan dat drie 10 bewerkingen door de processor·moeten worden uitgevoerd.The above general expressions indicate that three operations must be performed by the processor.
(1) Een van de produkten p = x.f(y) of p = x.f:(w) wordt verkregen en wordt opgeslagen in het produktregister P, gelegen bij de uitgang van een vezmenigvuldiger.(1) One of the products p = x.f (y) or p = x.f: (w) is obtained and stored in the product register P located at the exit of a fiber multiplier.
(2) Een accumulator van een resulterend woord a = p + f (a) s* 15 wordt in de accumulator tot stand gebracht.(2) An accumulator of a resulting word a = p + f (a) s * 15 is created in the accumulator.
(3) Vervolgens wordt, indien vereist, het resulterende woord a van de accumulator afgerond, en wordt het afgeronde uitgangswoord w ingeschreven in het afgeronde uitgangsregister W.(3) Then, if required, the resulting word a of the accumulator is rounded, and the rounded output word w is written in the rounded output register W.
Elk van deze drie bewerkingen worden tijdens een processorcyclus 20 van de digitale signaalprocessor uitgevoerd. Tijdens deze bewerkingen heeft de coëfficiënt x een waarde en vormt een vermenigvuldiging het produkt p_. Eveneens worden tijdens elke cyclus, alle drie de soorten bewerkingen gelijktijdig uitgevoerd door de verschillende subsecties van de rekenkundige sectie, Bij bepaalde instructies behoeven een..of 25 meer van de drie bewerkingen niet te worden uitgevoerd. De bewerking die tijdens een processorcyclus wordt uitgevoerd door een subsectie, is een gedeeltelijke evaluatie van een andere alganene uitdrukking dan de uitdrukkingen die gelijktijdig worden geëva-ueerd in de andere subsecties.Each of these three operations is performed during a processor cycle 20 of the digital signal processor. During these operations, the coefficient x has a value and a multiplication forms the product p_. Also, during each cycle, all three types of operations are performed simultaneously by the different subsections of the arithmetic section. Certain instructions do not require one or more of the three operations to be performed. The operation performed by a subsection during a processor cycle is a partial evaluation of a general expression other than the expressions that are simultaneously evaluated in the other subsections.
30 Een reeks taalinstructies wordt angezat in machinetaalinstructies, die in het geheugen worden opgeslagen voor het feitelijk regelen van . de digitale signaalprocessor. Omdat de bewerkingen afhankelijk van elkaar zijn en omdat al deze bewerkingen gelijktijdig binnen de processor worden uitgevoerd, is het op elk tijdstip van belang te weten wat 35 in de verschillende registers is opgeslagen en welke bewerking vervolgens moet worden uitgevoerd.A series of language instructions is converted into machine language instructions, which are stored in memory for actually controlling. the digital signal processor. Since the operations are interdependent and because all these operations are performed simultaneously within the processor, it is important at any time to know what is stored in the different registers and what operation to perform next.
Teneinde verwarring te vermijden welke waarde van het produkt- 81ÓO63 1 -15- voord id en welke waarde van de inhoud a_ van de accumulator tijdens bepaalde process ar bewerking, betrekking heeft, wordt de volgende reeks van bewerkingen aanbevolen bij bet inschrijven van reeksen van taal-uitdrukkingen die deze vertegenwoordigen.In order to avoid confusion about the value of the product and the value of the content a_ of the accumulator during certain processing operations, the following sequence of operations is recommended when registering strings of language expressions that represent them.
5 p <— x. f (y) {w <—a} a<— p + f (a) Qé p <f— X. f (w)5 p <- x. f (y) {w <—a} a <- p + f (a) Qé p <f— X. f (w)
Wanneer vervolgens de lezer van links naar rechts gaat, worden de juiste waarden van het produktwoord £ en van de inhoud a van de 10 accumulator meer duidelijk. De juiste waarden zijn het resultaat van de laatstvoorgaande bewerking die deze waarden bepalen. Derhalve is de waarde van de inhoud a van de accumulator, die moet worden afgerond in het afgeronde uitgangssignaal w of moet worden toegepast in een functie f (a), de inhoud a van de accumulator aan het einde van de, 15 laatst voorgaande accumulatie. Op overeenkomstige wijze heeft de waarde van een produktwoord £ dat moet worden toegepast in een lopende accumulatie een waarde die bepaald wordt in de laatst voorgaande vermenigvuldiging sbewerking.Then, as the reader moves from left to right, the correct values of the product word £ and of the content a of the accumulator become more apparent. The correct values are the result of the last operation that determines these values. Therefore, the value of the contents a of the accumulator to be rounded in the rounded output signal w or to be applied in a function f (a) is the contents a of the accumulator at the end of the last previous accumulation. Likewise, the value of a product word £ to be used in a running accumulation has a value determined in the last previous multiplication operation.
Door de volgorde van de processor bewerkingen, zoals hierboven 20 is ααschreven ishet van belang dat de informatie, aanwezig in de reeks van taalinstructies, op de juiste wijze aan de processor wordt aangeboden. De informatie, aangeboden in de navolgende volgorde is acceptabel voor de processor.Due to the sequence of the processor operations, as described above, it is important that the information contained in the sequence of language instructions is properly presented to the processor. The information presented in the following order is acceptable to the processor.
(1) Een keuze van de bestemming wordt gemaakt. Het woord dat 25 voor de bestemming moet worden ingeschreven wordt gekozen hetzij het afgeronde uitgangswoord w hetzij het informatievoord y. Het gekozen woord kan in het vrij toegankelijke geheugen of in de ingangs/uitgangs-keten worden ingeschreven. De specifieke bestemming van het geselecteerde woord is gegeven.(1) A choice of destination is made. The word to be written for the destination is chosen either the rounded output word w or the information word y. The selected word can be written in the freely accessible memory or in the input / output circuit. The specific destination of the selected word is given.
30 (2) Zoals vereist wordt door de instructie, kan een keuze worden genaakt, of wel, of niet, het resulterend a wordt verschoven naar het afgeronde uitgangswoord w.(2) As required by the instruction, a choice may be made as to whether or not the resulting a is shifted to the rounded output word w.
(3) Er wordt een accumulatie bewerking geselecteerd, uit een groep van bewerkingen met een algemene uitdrukking a=p+f (a).(3) An accumulation operation is selected from a group of operations with a general expression a = p + f (a).
2. 1 8 1 0 0 63 f (*0 Specificeer een vermenigvuldiging sbewerking voor het verkrijgen -16- van het produkt. p=K.f (y) door het aangeven van de bron XSRC van het coëfficiëntwoord x, de aard van de functie f, en de selectie van het informatievoord y, 'tezamen met de "bron YSRC van het inf omatievoord y.2. 1 8 1 0 0 63 f (* 0 Specify a multiplication operation to obtain -16- the product. P = Kf (y) by specifying the source XSRC of the coefficient word x, the nature of the function f , and the selection of the information for y, "together with the source YSRC of the information for y.
In een ander geval wordt voor een vermenigvuldigingsbewerking voor het 5 verkrijgen van het produkt p=x.f(v) gespecificeerd door het aangeven van de bron XSRC van het coëfficiënt woord x, de aard van de functie f, en de selectie van het afgeronde uitgangswoord y, in plaats van het informatievoord y.In another case, for a multiplication operation to obtain the product p = xf (v), specify by specifying the source XSRC of the coefficient word x, the nature of the function f, and the selection of the rounded output word y , instead of the information for y.
De volgende uitzonderingen bestaan op de hierboven genoemde links-10 naar-rechts regel. Wanneer het afgeronde uitgangswoord w voor de vermenigvuldiging is geselecteerd, is de waarde van het afgeronde uit-gang-swoord w de waarde bepaald door de laatste afronding van het resulterende woord a, zoals uitgevoerd in een voorafgaande instructie. Indien een inform at iewoord y moet worden ingeschreven en een bron wordt 15 gespecificeerd voor een informatievoord y, zal tijdens de eerste stap in het uitvoeren van de instructie de infomatie zich verplaatsen van de gespecificeerde bron naar het informatieregister Y. Vervolgens kan elke inschrijving, van deze nieuwe waarde voor het informatievoord y plaatsvinden.The following exceptions exist to the left-10 to-right rule mentioned above. When the rounded output word w for the multiplication is selected, the value of the rounded output word w is the value determined by the final rounding of the resulting word a, as performed in a previous instruction. If an information word y is to be written and a source is specified for an information word y, during the first step in executing the instruction, the information will move from the specified source to the information register Y. Then, any entry from this new value for the information for y takes place.
20 De onderstaande tabel I geeft een opsomming van de normale assem- bleertaalinstructies die een programmeerinrichting zou kunnen toepassen voor het gereedmaken van een programma voor een assanbleertaal. De syntaxis van een taal, genoemd C, wordt toegepast als de assembleertaal die wordt beschreven in een tekst getiteld, "The C Programming Language by B.W. Kemighan et all, Prentice-Hall, Incorporated, 1978. Elk., com-25 pleet instructie woord, wordt verkregen door uit vier bewerkingen te kiezen, en wel uit elke kolan van de tabel I één bewering; te beginnen bij de linker kolom en vervolgens naar rechts. In de twee linkerkolommen is het woord "NIETS"/ als een geldige keuze aangegeven. Wanneer het woord NIETS wordt geselecteerd, als deel van een complete instructie, 30 wordt de corresponderende ruimte in de instructie leeg gelaten. Elke complete assembleertaalinstructie wordt beëindigd door een puntkomma.Table I below lists the normal assem- bly language instructions that a programmer could employ to prepare a program for an assanble language. The syntax of a language called C is applied as the assembly language described in a text entitled, "The C Programming Language by BW Kemighan et all, Prentice-Hall, Incorporated, 1978. Elk., Complete instruction word , is obtained by choosing from four operations, one statement from each column of Table I, starting from the left column and then to the right. In the two left columns, the word "NONE" / is indicated as a valid choice. When the word NONE is selected, as part of a complete instruction, the corresponding space in the instruction is left blank Each complete assembly language instruction is terminated by a semicolon.
8 1 0 0 6 3 f -H- TABEL I - Noimale taalreeks instructies HIETS BIETS a=p p«XSRC*YSRC DEST=y w=a a=p+a p=XSRCSw DEST=YSRC a=p-a p=XSRCHc DEST=w a=p+2sa p=XSRC5abs(QWRC) a=p+8aa p=XSRCaabs(w) a=p+a/2 p=XSRCacasgn(YSRC) a=p+a/8 p=XSRCScSsgn(w) a=p&a 10 In de tabel I betekent bet symbool DEST een bestaningsbewering en wordt insdelassaableertaalinstructie vervangen door een van de volgende beweringen.8 1 0 0 6 3 f -H- TABLE I - No language sequence instructions HIETS BIETS a = pp «XSRC * YSRC DEST = yw = aa = p + ap = XSRCSw DEST = YSRC a = pa p = XSRCHc DEST = wa = p + 2sa p = XSRC5abs (QWRC) a = p + 8aa p = XSRCaabs (w) a = p + a / 2 p = XSRCacasgn (YSRC) a = p + a / 8 p = XSRCScSsgn (w) a = p & a 10 In Table I means the symbol DEST a file statement and is replaced by the mass language instruction with one of the following statements.
DEST Srd++i 15 Srd++j Hrd++k obuf waarbij bij voorbeeld ard++i betekent, dat rd, die het adres is van de geheugenplaats 'in het vrij toegankelijke geheugen, en verwijst naar 20 de inhoud van het register BB, naderhand geïncreaenteerd wordt door de inhoud i_ van het ruiste: EI. Interpretaties van de verschillende van de voorgaande bestemmingsbeweringen zullen achtereenvolgens nader in detail worden uiteengezet.DEST Srd ++ i 15 Srd ++ j Hrd ++ k obuf where for example ard ++ i means that rd, which is the address of the memory location 'in free access memory, and refers to the contents of the register BB, afterwards it is incremented by the content i_ of the murmur: EI. Interpretations of the various of the previous destination claims will be set out in more detail in sequence.
Verder betekent in tabel I het symbool XSRC een bewering voor 25 de bron van een informatiewoord x, en betekent het symbool YSRC een bewering voor de bron van het infozmatiewoord yn Elk van deze twee symbolen, aangegeven in tabel I, moet worden vervangen in een van de assembleertaalinstructie, en wel door een van de beweringen van de navolgende twee kolommen; 81 00 63 1 -18- XSRC. YSRC x (oud x) a . ry++i WAARDE (gemiddeld x) ry++j “rxt+i Sry++k as rx-H-j ibufy arx++k srx 3 ibufx 10 S(rom+rx++i) 3trom+rx++j (rom+rx++k)Furthermore, in Table I, the symbol XSRC means an assertion for the source of an information word x, and the symbol YSRC means an assertion for the source of the information word yn. Each of these two symbols, indicated in Table I, must be replaced with one of the assembly language instruction, by one of the statements of the following two columns; 81 00 63 1 -18- XSRC. YSRC x (old x) a. ry ++ i VALUE (average x) ry ++ j “rxt + i Sry ++ k as rx-Hj ibufy arx ++ k srx 3 ibufx 10 S (rom + rx ++ i) 3trom + rx ++ j ( rom + rx ++ k)
& LABEL& LABEL
In de hi erboven aangegeven kolommen onder de kop XSRC, stelt 15 liet symbool "WAARDE" een getal voor dat verschijnt als een argument (mathematisch) van een instructie, bij voorbeeld het 1 β-bitwoord dat onmiddellijk gevolgd door de opcode in het dode geheugen. Dit argument wordt geadresseerd door het adres, opgeslagen in het programmatelregis-ter PC. Bij andere ophalingen uit het geheugen wordt het coëfficiënt 20 woord x geadresseerd door de inhoud rx van het register EX. De notatie S(rom+rx...) wordt toegepast om aan te geven dat de inhoud rx van..het register EX verwijst naar het dode geheugen en niet naar het vrij toegankelijk geheugen. Het symbool &-LABEL geeft aan dat de waarde, uitgelezen uit de geheugenbron x, een adres is,dat samentwerkt met 25 een LABEL in het programma. Andere uitdrukkingen, weergegeven in de voorgaande twee kolanmen voor de bronnen van het coëfficiëntwoord x en het informatiewoord jr zullen thans meer in detail worden beschreven.In the columns indicated above under the heading XSRC, the symbol "VALUE" represents a number that appears as an argument (mathematically) of an instruction, for example the 1 β-bit word immediately followed by the opcode in the dead memory . This argument is addressed by the address stored in the program counter PC. In other memory retrievations, the coefficient 20 word x is addressed by the content rx of the register EX. The notation S (rom + rx ...) is used to indicate that the contents rx of..the register EX refers to the dead memory and not to the freely accessible memory. The & LABEL symbol indicates that the value read from the memory source x is an address which interacts with a LABEL in the program. Other terms, shown in the previous two columns for the sources of the coefficient word x and the information word jr, will now be described in more detail.
Met betrekking tot het vormen van een complete assembleertaal-instructie uit de in de tabel I weergegeven informatie, moet enige 30 voorzichtigheid worden betracht. Wanneer de uitdrukking DEST=YSRC wordt gewenst in een instructie die de uitdrukking YSRC van de meest rechtse kolom omvat, moet de uitdrukking DEST=y worden toegepast in plaats van de uitdrukking DEST=YSRC. Indien het afgeronde uitgangssignaal w moet worden gebruikt in de meest rechtse kolan, kan de uitdrukking 35 DEST=YSRC niet uit de meest linkse kolan worden geselecteerd. Verder moet "HIETS" worden geselecteerd uit de meest linkse kolan, wanneer 8 1 0 0 63 1 b -19- de assembleertaalinstructie een normale instructie is waarin de bron ran bet coëfficiëntwoord x aanwezig is in bet vrij toegankelijk geheugen.Some caution should be exercised in forming a complete assembly language instruction from the information shown in Table I. When the expression DEST = YSRC is desired in an instruction that includes the right-most column YSRC expression, the DEST = y expression must be used instead of the DEST = YSRC expression. If the rounded output signal w is to be used in the right-most column, the expression 35 DEST = YSRC cannot be selected from the left-most column. Furthermore, "HIETS" must be selected from the leftmost column, when the assembly language instruction is a normal instruction in which the source of the coefficient word x is contained in the freely accessible memory.
Tijdens bet opstellen τβη een programma zal een programmeur 5 eerst een reeks algemene wiskundige uitdrukkingen opschrijven, of de gewenste bewerkingen die nader worden üitgevoerd. Dit kan bij voorbeeld plaatsvinden in de vorm van, x f (w) = f (a) - a{ - w} &During the preparation of a program, a programmer 5 will first write down a series of general mathematical expressions, or the desired operations to be carried out in more detail. This can for example take the form of, x f (w) = f (a) - a {- w} &
Een dergelijke algemene wiskundige uitdrukking wordt door de 10 programmeur vertaald in een assembleertaalbewering die de volgende vorm kan bebben: m l,t_ a=p+a p=arx++issry++k s_ n rd++j=w w=a waarbij 15 1 een instructieveld betekent voor bet regelen van de formatie van een prodnkt.Such a general mathematical expression is translated by the 10 programmer into an assembly language assertion that can have the following form: ml, t_ a = p + ap = arx ++ issry ++ k s_ n rd ++ j = ww = a where 15 1 an instruction field means for controlling the formation of a product.
m bet instructieveld voorstelt voor het uitvoeren van een accumulatie, n een instructieveld voorstelt voor het regelen van een overdrachts-bewerking van bet register A naar het register W met de gewenste 20 afronding.m represents the instruction field for performing an accumulation, n represents an instruction field for controlling a transfer operation from the register A to the register W with the desired rounding.
s_ een instructieveld voorstelt, dat een scbrijfbestemming aangeeft.s_ represents an instruction field indicating a writing destination.
In dit voorbeeld is de bestemming een geheugenplaats, aangegeven door bet adres, dat in bet register ED is opgeslagen. Dat adres wordt naderhand geincreaenteerd en bet resultaat wordt opgeslagen 25 in bet register ED.In this example, the destination is a memory location, indicated by the address, which is stored in the register ED. That address is subsequently incentered and the result is stored in the register ED.
t_ een instructieveld voorstelt voor bet uithalen van een informatie uit een adres, opgeslagen in een adresrekenkundigeeenheidregister, waarna dat adres naderhand wordt gexncrementeerd en opnieuw wordt orgeslagen in hetzelfde register.t_ represents an instruction field for extracting an information from an address stored in an address arithmetic unit register, after which that address is subsequently incremented and republished in the same register.
30 De volgende stap, die door de programmeur wordt uitgevoerd is de assembleertaalbewering naar de tijd als volgt te verschuiven (te .sprei· den of te distribueren); 81 0 0 63 1 -20-The next step to be performed by the programmer is to shift (spread or distribute) the assembly language statement over time as follows; 81 0 0 63 1 -20-
Tijd _s n m i p=5rx -H-is*ry++k i+1 a=p+a i+2 w=a i+3 Hrd++j=wTime _s n m i p = 5rx -H-is * ry ++ k i + 1 a = p + a i + 2 w = a i + 3 Hrd ++ j = w
De resulterende verschuiving van de assemblagetaalbewering, die diagonaalsgewijze verschijnt op de tijdlijn van de linkerkolom, is tezamen vermeld met de verschoven assemblagetaalheweringen die andere alg an. ene wiskundige "bewerkingen weergeven. Wanneer deze verschoven 10 assemblagetaalheweringen tezamen worden gencmen, vormen de resulterende delen van de verschillende beweringen, die in dezelfde rij of gedurende hetzelfde interval zoals het interval, ^verschijnen, een assemhleer-taalinstructie. In de assembieertaalinstructie, zijn de verschillende delen van de informatie in hetzelfde interval gescheiden velden van 15 die assanbleertaalinstruetie. Elk van deze velden regelt een afzonderlijke subsectie van de processor voor het uitvoeren van een stap in het evalusa-tieproces, als beschreven als deel van één van de algemene wiskundige uitdrukking en.The resulting shift of the assembly language claim, which appears diagonally on the left column timeline, has been reported along with the shifted assembly language erasures that other algae have. one mathematical "operations. When these shifted 10 assembly language erasures are combined together, the resulting parts of the different statements, appearing in the same row or during the same interval as the interval, ^, form an assembly language instruction. In the assembly language instruction, the different parts of the information in the same interval separate fields of 15 that assay language instruetion Each of these fields controls a separate subsection of the processor to perform a step in the evaluation process, as described as part of one of the general mathematical expression and .
Een assembleerprogramma, dat verwerkt kan worden in een algemene 20 computer, reageert op elke assembieertaalinstructie door de bronvelden twee processorcycli terug in het programma te verschuiven dan de rest van de velden in diezelfde assembieertaalinstructie. Deze verplaatsing van de bronvelden wordt uitgevoerd bij elke assembieertaalinstructie in het programma. De resulterende tijdlijn voor de voortgaande assem-25 bleerbewering, zoals verschoven door de programmeur en de assembleer-inrichting is als volgt: 8100631 -21-An assembly program, which can be processed in a general computer, responds to each assembly language instruction by shifting the source fields back two processor cycles in the program than the rest of the fields in that same assembly language instruction. This move of the source fields is performed with every assembly language instruction in the program. The resulting timeline for the progress assembly assertion as shifted by the programmer and assembler is as follows: 8100631 -21-
In de fig. 5 en 6 is een tijdlijndiagram aangegeven dat aangeeft hoe de informatie wordt verwerkt in de digitale signaalprocessor.Figures 5 and 6 show a timeline diagram showing how the information is processed in the digital signal processor.
10 In het algemeen geeft het diagram de informatiestroom weer door de verschillende subsecties van de processor tijdens de evaluatie van een algemene wiskundige uitdrukking, tezamen met delen van andere wiskundige uitdrukking en.In general, the diagram depicts the flow of information through the various subsections of the processor during the evaluation of a general mathematical expression, along with parts of other mathematical expression and.
Alvorens de weergegeven bewerkingen nader te beschrijven worden 15 eerst de symbolen, die in het tijdlijndiagram van de fig. 5 en 6 worden toegepast, nader bepaald.Before further describing the operations shown, the symbols used in the timeline diagram of FIGS. 5 and 6 are first determined.
2020
Tijd s^ t n m 1_ i-2 x=srx++i y=5ry++k i-1 i p=x s y i+1 . a=p+a i+2 w=a. i+3 Srd++j=w is een machinetaalinstructie verkregen uit het dode geheugen tijdens een processorcyclys, of interval, i_, en gedecodeerd in de processor tijdens een processorcyclus, of interval i+1. In het algemeen beïnvloedt de instructie I^"de bewerking van de secties van de processor gedurende een procescyclus of interval i+2. Zoals eerder is aangegeven cmvat elke instructie de velden of regelberichten 1, m, n, s_ en t_.Time s ^ t n m 1_ i-2 x = srx ++ i y = 5ry ++ k i-1 i p = x s y i + 1. a = p + a i + 2 w = a. i + 3 Srd ++ j = w is a machine language instruction obtained from the dead memory during a processor cycle, or interval, i_, and decoded in the processor during a processor cycle, or interval i + 1. Generally, the instruction I ^ "affects the processing of the sections of the processor during a process cycle or interval i + 2. As previously indicated, each instruction includes the fields or control messages 1, m, n, s_, and t_.
11 (t) stelt het veld t voor in de machinetaalinstructie I. voor het — - x 25 1.(1) I^a) regelen van het ophalen van de operanden van de en y. Deze ophalingen vinden plaats tijdens het interval i+3. stelt het veld 1 voor, in de machinetaalinstructie I. voor het — x regelen van de vermenigvuldiging van een produkt of gemiddelde operand p^+,, tijdens het interval i+2. Het produkt P^+2 een functie van de operanden x, - en y. . stelt het veld m voor in de machinetaalinstructie I. voor het — x regelen van de accumulatie van het uitgangssignaal van het gewenste resulterende woord a^+^ gedurende het interval i+2.11 (t) represents the field t in the machine language instruction I. for - - x 25 1. (1) I ^ a) controlling the retrieval of the operands of the and y. These collections are made during the interval i + 3. represents the field 1, in the machine language instruction I., for - x controlling the multiplication of a product or mean operand p ^ + ,, during the interval i + 2. The product P ^ + 2 is a function of the operands x, - and y. . represents the m field in the machine language instruction I. for - x controlling the accumulation of the output signal of the desired resulting word a ^ + ^ during the interval i + 2.
i+3* 30 8 1 0 0 63 1 -22-i + 3 * 30 8 1 0 0 63 1 -22-
Het resulterende woord a^+2 is een functie van het laatst voorgaande resulterende woord a^+1 en een produkt P^+1 dat eerder is berekend.The resulting word a ^ + 2 is a function of the last previous resulting word a ^ + 1 and a product P ^ + 1 previously calculated.
^(n) I^s) 10 15 is een veld n in demachinetaalinstructie voor het regelen van de overdracht van een afgerond uitgangsvoord v^+2 gedurende het interval i+2. Het afgeronde uitgangsvoord w. is een functie van het laatst voorgaande afgeronde uitgangsvoord w^+^ en het resulterende a. van de.accumulator. i+l is een veld in de machinetaalinstructie voor het regelen van het opslaan van het afgeronde uitgangsvoord ν^+^' en de wijziging van de in het register opgeslagen adressen u^+2 gedurende het interval i+2. De gemodificeerde adressen zijn een functie van het voorgaande adres u^+^ en veld L· (s). De bijgewerkte geheugen-toestand M^+2 is een functie van het veld L· (s). De voorgaande geheugentoestand de in het register opgeslagen adressen u^ en het afgeronde uitgangsvoord +^.^ (n) I ^ s) 10 15 is a field n in the machine language instruction for controlling the transfer of a rounded output v v + 2 during the interval i + 2. The rounded exit point w. is a function of the last previous rounded output word w ^ + ^ and the resulting a. of the accumulator. i + 1 is a field in the machine language instruction for controlling the storage of the rounded output word ν ^ + ^ 'and the modification of the addresses stored in the register u ^ + 2 during the interval i + 2. The modified addresses are a function of the previous address u ^ + ^ and field L (s). The updated memory state M ^ + 2 is a function of the field L · (s). The previous memory state is the addresses u ^ stored in the register and the rounded output word + ^.
I.(s.t) is een combinatie van de velden s en t in de machinetaal-1 — — instructie. De velden regelen de modificatie van de in het register ojgeslagen adressen u£+2 gedurende Het interred i+2.I. (s.t) is a combination of the fields s and t in the machine language 1 instruction. The fields control the modification of the addresses stored in the register u £ + 2 during the interred i + 2.
20 De gsuodificeerde adressen u^+2 ziJn eveneens een functie wan het adres u.,..20 The modified addresses u ^ + 2 are also a function of the address u., ..
en y 25 30 i+1 1 zijn operanden opgehaald uit het geheugen tijdens het interval i^, onder besturing van het veld t_ van de instructie Ij: 2’ °PgehaaId uit het geheugen gedurende het‘interval i-3. De instructie L· ^ wordt gedecodeerd tijdens het interval i-2 en regelt de bewerking tijdens het interval i-1, waarbij de adressen voor de operanden en y^ worden verkregen.and y 30 i + 1 1 are operands fetched from memory during the interval i ^, under the control of the field t_ of the instruction Ij: 2 ° P removed from memory during the interval i-3. The statement L ^ is decoded during the interval i-2 and controls the operation during the interval i-1, obtaining the addresses for the operands and y ^.
Zoals eerder genoemd, worden deze operanden verkregen uit het geheugen tijdens het interval i. Zij worden verwerkt tijdens'de vermenigvuldiging in het interval i+1 onder controle van het veld 1_ van de instructie 1, die opgehaald is tijdens het interval i^ Deze wekt de gemiddelde operand of produkt p. . op.As mentioned earlier, these operands are obtained from memory during the interval i. They are processed during multiplication in the interval i + 1 under the control of the field 1_ of the instruction 1, which is retrieved during the interval i ^ This generates the average operand or product p. . on.
stelt het produkt voor verkregen door de vermenigvuldiging in het interval i+1. Dit produkt is een gemiddelde operand die wordt toegepast als een ingangssignaal voor de acuumulator tijdens zijn bewerking, die plaatsvindt in het interval i+2.represents the product obtained by the multiplication in the interval i + 1. This product is an average operand applied as an input to the accumulator during its operation, which occurs in the interval i + 2.
810063 1 35 -23-810063 1 35 -23-
Het produkt p.+^ wordt verkregen in het register P onder controle van het veld L· ^(l). De vermenigvuldiger en het vermenigvuldig-getal zijn de operanden en y..The product p. + ^ Is obtained in the register P under the control of the field L ^ (1). The multiplier and the multiply number are the operands and y ..
a~+g stellen de inhoud voor van de accumulator tijdens het interval 5 i+2. Dit is het gewenste resulterende woord a. _ voor de ge- lT4 evalueerde uitdrukking. Het woord is een uitgangssignaal voor de afrond- en uitgangsketensuhsectie in het interval i+3.a ~ + g represent the contents of the accumulator during the interval 5 i + 2. This is the desired resulting word a. For the lT4 evaluated expression. The word is an output signal for the rounding and output chain section in the interval i + 3.
De afrondhewerking vindt plaats onder de besturing van.-het veld ^i+l'^n) * 10 w^+2 c :stelt het afgeronde uitgangswoord w voor dat beschikbaar is in het register ¥ en dat kan worden opgeslagen in het inschrijf-bare geheugen tijdens het interval i+^ onder besturing van het veld li+2(s).The rounding operation takes place under the control of.-The field ^ i + l '^ n) * 10 w ^ + 2 c: represents the rounded output word w which is available in the register ¥ and which can be stored in the registration- memory during the interval i + ^ under control of the field li + 2 (s).
In het diagram van de fig. 5 en 6 zijn alle bewerkingsactiviteiten 15 aangegeven van de verschillende processorsubsecties van de digitale signaalprocessor tezamen met de tijd in de processorcycli. Elke kolcm in de kaart stelt een verschillende processorcyclus voor, of tijdinterval van de processor. De informatie in elke kolcm is nauw gerelateerd aan bepaalde machinetaalinstructies. Elke rij stelt activiteiten voor 20 van een verschillende processorsubsectie, die de daarbij behorende functies uitvoert tijdens een werking van de digitale signaalprocessor.In the diagram of Figs. 5 and 6, all processing activities of the various processor subsections of the digital signal processor are shown together with the time in the processor cycles. Each column in the map represents a different processor cycle, or processor time interval. The information in each column is closely related to certain machine language instructions. Each row represents activities of a different processor subsection, which performs the associated functions during operation of the digital signal processor.
Daar elke rij van de kaart een verschillende activiteit voorstelt, zullen deze activiteiten nader beschreven worden. De eerste rij onder de kop processorcyclus geeft de geheugenactiviteiten weer, dat wil zeggen; 25 in en-.uit het geheugen brengen. De tweede rij stelt de tijdstippen voor waarin de instructies worden gecodeerd in de digitale signaalprocessor.As each row of the map represents a different activity, these activities will be described in more detail. The first row below the processor cycle head represents memory activities, that is; 25 in and out. The second row represents the times when the instructions are encoded in the digital signal processor.
De derde rij toont de berekening van het produkt £ in de vemenigvuldiger-subsectie van de processor. De vierde rij stelt de accumulatie voor van het resulterende woord & in de accumulatorsubsectie van de processor.The third row shows the calculation of the product £ in the multiplier subsection of the processor. The fourth row represents the accumulation of the resulting word & in the accumulator subsection of the processor.
30 De vijfde rij stelt de activiteiten voor van de afronding- en over-strocmsubsectie van de processor, die het afgeronde uitgangswoord w opwekt. De zesde rij geeft de activiteiten, die samenwerken met modificerende adressen, die ingepast worden voor het verwijderen van infozma-tie voor de rekenkundige bewerkingen, 35 Het verwerken van de eerder genoemde algemene rekenkundige uit drukking kan worden gevolgd met behulp van verschillende secties en subsecties van de digitale signaalprocessor, en wel door middel van 8100631 -24- de in de fig. 5 en 6 aangegeven referenties.The fifth row represents the activities of the rounding and over-stream subsection of the processor, which generates the rounded output word w. The sixth row lists the activities, which cooperate with modifying addresses, which are fitted to remove information for the arithmetic operations. 35 The processing of the aforementioned general arithmetic expression can be followed using different sections and subsections of the digital signal processor, by means of 8100631 -24- the references shown in FIGS. 5 and 6.
Een eerste stap in het verwerken van een algemene rekenkundige uitdrukking is het ophalen van operanden voor een vermenigvuldiging. Zoals eerder aangegeven, wordt de infomatie, met betrekking tot deze 5 ophaalbewerking, toegevoerd aan het assembleerprogramma, in een interval, dat eerder aanwezig is dan de informatie die samenwerkt met de regeling van de vermenigvuldigingsbewerking. Het resultaat van deze assanbleerprogrammafunctie is dat elke machinetaalinstructie een regelveld omvat voor een ophaalbewerking, die informatie ophaalt uit 10 het geheugen, welke moet worden verwerkt en die wordt bestuurd door een volgende machinetaalinstructie.A first step in processing a general arithmetic expression is to retrieve operands for a multiplication. As indicated earlier, with respect to this fetching operation, the information is supplied to the assembler program in an interval that is present before the information which interacts with the control of the multiplication operation. The result of this assay program function is that each machine language instruction includes a control field for a fetch operation, which retrieves information from the memory to be processed and which is controlled by a subsequent machine language instruction.
Als voorbeeld wordt beschouwd het verwerken van een algemene uitdrukking met informatie die betrekking heeft op ophaalbewerkingen voor zijn operanden, die aanwezig zijn in een instructie, opgehaald 15 tijdens het interval is i-3 van fig. 5· Deze instructie L· ^ 'is zonderlijk weergegeven in het omlijnde gedeelte en is aangegeven met een index, die de instructie weergeeft als een instructie opgehaald tijdens het interval i-3. Elke instructie, weergegeven in de processor functiekaart, is overeenkomstig aangeg.even in overeenstemming met het 20 interval waarin de instructie uit het geheugen wordt opgehaald. Ook omvat elke instructie, zoals weergegeven in de fig. 5 en 6, verschillende regelinformatievelden. Elk van deze velden 1, m en n, _s en t_ zijn tussen haken aangegeven en horen bij de instructies in de eerste rij, die de ophaal- en opzamelbewerkingen weergeven. Een afzonderlijk 25 veld of afzonderlijke velden van een instructie zijn in de andere rijen van de kaart aangegeven, bij voorbeeld Ik (l) in de rij voor het berekenen van produkten, en (s,t) in de rij voor het modificeren van adressen.As an example, consider processing a general expression with information pertaining to fetch operations for its operands present in an instruction fetched during the interval is i-3 of Fig. 5. This instruction L shown in the boxed area and is identified by an index, which represents the instruction as an instruction retrieved during the interval i-3. Each instruction, shown in the processor function card, is correspondingly indicated in accordance with the interval in which the instruction is retrieved from memory. Also, each instruction, as shown in Figures 5 and 6, includes different control information fields. Each of these fields 1, m and n, _s and t_ are enclosed in brackets and are part of the instructions in the first row, which represent the fetch and collect operations. A separate field or separate fields of an instruction are indicated in the other rows of the card, for example I (1) in the row for calculating products, and (s, t) in the row for modifying addresses.
Tijdens het interval i-2, wordt de zoeven opgehaalde instructie 30 L· ^ gedecodeerd in de processor, zoals weergegeven in het cmlijnde gedeelte van de tweede rij, welk gedeelte de decodering van de instructies weergeeft.During the interval i-2, the just-fetched instruction 30L is encoded in the processor, as shown in the cm-lined portion of the second row, which portion represents the decoding of the instructions.
Een ophaalbewerking voor de operanden voor de operanden x en jr, be paald door de instructie I. - begint tijdens het interval 1-1. De op- 1—o, 35 haalbewerking vangt aan onder toepassing van een adres, gespecificeerd in het instruct!eveld L· (t). Wanneer dat adres wordt toegepast, wordt het gemodificeerd, en opnieuw opgeslagen in de adresrekenkundige 81 0 0 63 1 -25- sectie als een functie -van het instructieveld 31 ^ s^) s en VSJ1 de voor gaande toestand ^ in de adresrekenJcundigesectie. Deze modificatie van de adressen is weergegeven in liet aalijnde gedeelte onder het interval i-1. Het ophalen van deze operanden x en jr wordt verkregen 5 tijdens het interval i_, indien de specifieke operanden x^ en Y^, geïdentificeerd door de instructie II uit het geheugen uitgelezen zijn en, via de gemeenschappelijke informatie- en regelbus overgedragen worden aan de resp. registers EEG - X,102 en REI - Υ,1θ6. Deze ophaal-bewerkingen zijn weergegeven in het aalijnde gedeelte, onder het 10 interval i_. De operand x^ wordt typisch uit het dode geheugen uitgelezen, terwijl de operand typisch wordt uitgelezen uit het vrij toegankelijk geheugen.An operand retrieval for the operands x and jr determined by the instruction I. - begins during the interval 1-1. The retrieval operation commences using an address specified in the instruction field L (t). When that address is applied, it is modified, and stored again in the address arithmetic section 81 0 0 63 1 -25- as a function of the instruction field 31 ^ s ^) s and VSJ1 the previous state ^ in the address arithmetic section. This modification of the addresses is shown in the leash section below the interval i-1. The retrieval of these operands x and jr is obtained during the interval i_, if the specific operands x ^ and Y ^, identified by the instruction II, are read from memory and are transferred via the common information and control bus to the resp. . registers EEG - X, 102 and REI - Υ, 1θ6. These retrieval operations are shown in the lined section, below the interval i_. The operand x ^ is typically read from the dead memory, while the operand is typically read from the freely accessible memory.
De adreswijzers, of de adressen opgeslagen in de registers RX en RY die tijdens het voorgaande interval i-1 bijgewerkt zijn, worden be-15 nut voor het verkrijgen van toegang tot de operanden uit het geheugen, tijdens het interval i_.The address pointers, or addresses stored in registers RX and RY that have been updated during the previous interval i-1, are used to access the operands from memory during the interval i_.
De eerste rekenkundige bewerking, uitgevoerd op de operanden x^ en y^, vindt plaats tijdens het interval i+1. Op dit tijdstip reageert de vermenigvuldigerseetie op het instructieveld II ^(l) voor het be-20 rekenen van een gemiddelde operand, of produkt zoals weerge geven in het aalijnde gedeelte, onder het interval i+1. Een dergelijk produkt "weergegeven als een functie van de operanden x^ en y^ en van het instructieveld L· ^(l).The first arithmetic operation, performed on the operands x ^ and y ^, takes place during the interval i + 1. At this time, the multiplier response responds to the instruction field II ^ (1) to calculate an average operand, or product as shown in the aligned portion, under the interval i + 1. Such a product "is represented as a function of the operands x ^ and y ^ and of the instruction field L ^ (1).
De instructie L· die het veld L· ^(-) aavat,'wordt opgehaald 25 uit het geheugen, tijdens het interval i-1, en wordt tijdens het interval_i gedecodeerd, en regelt de secties van de processor tijdens het interval i+1.The instruction L, which takes the field L ^ (-), is retrieved from memory during the interval i-1, and is decoded during the interval_i, and controls the sections of the processor during the interval i + 1 .
De volgende stap in het evalueren van de algemene vergelijking wordt verkregen in de accumulator, tijdens het interval i+2. Dit is 30 in fig. 6 weergegeven, en wel in de vierde rij, die de accumulatie van het resulterende woord a in het aalijnde gedeelte onder de kolem aan-geduid met interval i+2 weergeeft. Een resulterend voord a^+^ is weergegeven als een functie van het voorgaande resulterende woord a_. , opgeslsgen in de accumulator, van het zoeven beschreven gemiddelde 35 operand, of produkt p^+^, en van het instructieveld I^(m).The next step in evaluating the general equation is obtained in the accumulator, during the interval i + 2. This is shown in FIG. 6 in the fourth row, which represents the accumulation of the resulting word a in the lineal portion below the column denoted by interval i + 2. A resulting ford a ^ + ^ is presented as a function of the previous resulting word a_. stored in the accumulator, of the mean operand described above, or product p ^ + ^, and of the instruction field I ^ (m).
Indien gespecificeerd door de programeur en. nadat het resultaat geaccumuleerd is tijdens het interval i+2, wordt dat resultaat afgerond 8 1 0 0 63 1 -26- en opgeslagen in het afgeronde uitgangsregister W. Deze afgeronde bewerking is weergegeven onder het interval i+3, in het cmlijnde gedeelte van de vijfde rij, en geeft het af ronden van het uitgangssignaal.If specified by the programmer and. after the result has been accumulated during the interval i + 2, that result is rounded 8 1 0 0 63 1 -26- and stored in the rounded output register W. This rounded operation is shown under the interval i + 3, in the cmged portion of the fifth row, and it rounds off the output signal.
De gespecificeerde afronding sbewerking vindt plaats tijdens het inter- 5 val i+3, waarbij het afgeronde uitgangswoord w^+^ is weergegeven als een functie van het laatste afgeronde voortgaande uitgangssignaal w^+g van het afgeronde uitgangsregister ¥,118, van het zoeven beschreven resulterende woord a.van de accumulator, en van het instructie- i+2 veld I.,, (n). ï+l 10 Een laatste stap in het verwerken van de algemene uitdrukking is het inschrijven van het afgeronde uitgangssignaal w^+^ in het geheugen, tijdens het interval i+U. Dit is weergegeven in het omlijnde gedeelte in de eerste rij van de kaart onder het interval i+U. Het inschrijven van een nieuwe geheugentoestand is een functie van 15 de geheugentoestand M. _ in het interval i+3 van de laatst voorgaande 1+0 adresregistertoestand van het zoeven beschreven laatste afgeronde uitgangssignaal w^^, en van het instructieveld I^^Cs) tijdens het interval i+2 was opgehaald en dat gedecodeerd wordt tijdens het interval i+3.The specified rounding operation takes place during the interval i + 3, where the rounded output word w ^ + ^ is displayed as a function of the final rounded output output signal w ^ + g of the rounded output register ¥, 118. described resulting word a. of the accumulator, and of the instruction i + 2 field I. ,, (n). ï + l 10 A final step in the processing of the general expression is writing the rounded output signal w ^ + ^ into memory, during the interval i + U. This is shown in the boxed area in the first row of the map under the interval i + U. The writing-in of a new memory state is a function of the memory state M. _ in the interval i + 3 of the last previous 1 + 0 address register state of the last rounded output signal w ^^ described above, and of the instruction field I ^^ Cs) was retrieved during the interval i + 2 and is decoded during the interval i + 3.
20 Het afgeronde uitgangssignaal w^+^, aanwezig in het afgeronde uitgangsregister aan het einde van het interval i+3j wordt via de gemeenschappelijke informatie en regelbus overgedragen aan hetzij het vrij toegankelijk-geheugen hetzij een buffer in de ingangs/uitgangs-keten, tijdens het interval i+h.The rounded output signal w ^ + ^, present in the rounded output register at the end of the interval i + 3j, is transferred via the common information and control bus to either the freely accessible memory or a buffer in the input / output circuit, during the interval i + h.
25 Op het moment dat de geheugeninschrijfbewerking plaatsvindt tijdens..het interval i+U, worden de adresrekenkundigesectieregisters bijgewerkt op basis van de informatie in de instructie, opgehaald tijdens het interval i+2. De toegepaste informatie is aanwezig in de velden ii+2(S’t) varL instructie dat tijdens het interval i+2 is opge- 30 haald en die tijdens het interval i+3 wordt gedecodeerd.25 When the memory write operation takes place during the interval i + U, the address arithmetic section registers are updated based on the information in the instruction retrieved during the interval i + 2. The information applied is contained in the fields ii + 2 (S't) varL instruction which is retrieved during the interval i + 2 and which is decoded during the interval i + 3.
Opgemerkt wordt dat tijdens het interval i+2 de instructie L·, die tijdens het interval i_ was opgehaald, de vermenigvuldigersubsectie, de accumulatorsubsectie en de afrond- en overstrocmsubsectie van de reken-kundigesectie regelt. Het resultaat van deze instructie, L· die tijdens 35 het interval _i opgehaald is, en gedecodeerd is in het interval i+1, wordt voor regeldoeleinden toegepast, tijdens het interval i+2. Er blijven geen delen over voor het regelen van subsecties van de rekenkundige-sectie tijdens opeenvolgende intervallen, zoals in de voorgaande ge- 8 1 0 0 63 1It is noted that during the interval i + 2, the instruction L, which was retrieved during the interval i_, controls the multiplier subsection, the accumulator subsection and the rounding and transfer subsection of the arithmetic section. The result of this instruction, L · retrieved during the interval _i, and decoded in the interval i + 1, is applied for control purposes, during the interval i + 2. No parts remain for controlling subsections of the arithmetic section at successive intervals, as in the previous 8 1 0 0 63 1
VV
-27- pijplijnde regelopstelling. De meeste van de kolomen, die het interval i+2, zijn aangegeven met zware lijnen, zodat de lezer meteen de verschillende velden van de instructie kan vinden voor het regelen van de subsecties van de rekenkundig es ectie, tijdens het interval i+2.-27- pipeline control arrangement. Most of the columns, which represent the interval i + 2, are indicated by heavy lines, so that the reader can immediately find the different fields of the instruction for controlling the subsections of the arithmetic section, during the interval i + 2.
5 De operanden voor de vermenigvuldiging swerking werden tijdens het interval i+1, dat volgt op het interval i_, opgehaald. Het resulterende produkt p^ wordt gevormd tijdens het volgende interval i+2,The operands for the multiplication operation were retrieved during the interval i + 1, which follows the interval i_. The resulting product p ^ is formed during the next interval i + 2,
Een resulterend woord a..^, dat wordt gevormd tijdens datzelfde interval i+2, is een functie van een vroeger resulterend woord a^+^ en 10 een vroeger produkt p^+^. Dit resulterende woord a^+^ is een resulterend woord, geëvalueerd voor een andere algemene betrekking dan de algemene betrekking die werd geëvalueerd tijdens het vormen van het produkt P£+2* ®it concept kan waarschijnlijk beter worden begrepen door in aanmerking te nonen dat de omlijnde gedeelten, die een diagonaal 15 vormen van de bovenkant van de kolan, aangegeven met processorcyclus i_, tot de vijfde rij in de kolcm, aangegeven met processorcyclus i+3, betrekking hebben op de evaluatie van een algemene uitdrukking. Een overeenkomstige diagonaal, die in elke kolom één interval naar rechts is verschoven, heeft betrekking op de evaluatie van een andere algemene 20 uitdrukking.A resulting word a ... ^, which is generated during that same interval i + 2, is a function of a previous resulting word a ^ + ^ and a previous product p ^ + ^. This resulting word a ^ + ^ is a resulting word, evaluated for a general relationship other than the general relationship that was evaluated during the formation of the product P £ + 2 * * concept, may be better understood by considering that the delineated sections, which form a diagonal from the top of the column, denoted by processor cycle i_, to the fifth row in the column, denoted by processor cycle i + 3, relate to the evaluation of a general expression. A corresponding diagonal, shifted one interval to the right in each column, refers to the evaluation of another general expression.
In een signaal verwerkend programma, worden de instructies typisch in volgorde uitgevoerd naar een punt waar de programme-teller PC wordt ingesteld op de adreswaarde in het programmageheugen, dat de geheugen-plaats -is van de instructie aan het begin van de reeks. Het programma 25 zal derhalve continu_in een lus werken, om dezelfde reeks van instructies te herhalen. Verder zullen vaste informatiewoorden worden opgeslagen op geheugenplaatsen waar adressen tussen gevoegd zijn met de geheugenplaats van instructiesiin de programmareeks. Zoals in fig. k is weergegeven wordt het adres in het programatelregister PC toege-30 past aa een vastinfozmatiewoord tijdens de toestand 2 van de processor-yyclus i-1, te adresseren. De program atelier wordt dan met een vast increment + 1 geïncreaenteerd, of wordt toegepast om een instructie in de toestand 0 van de processorcyclus i+2 te adresseren. Opnieuw wordt de programmateller gexncrsaenteerd met een vast increment +1, en toe-35 gepast aa het volgende vaste adreswoord in de toestand 2 van de processorcyclus i+2 te adresseren. Vervolgens wordt de programmateller ge-incremenueerd met +1 en wordt toegepast aa de instructie I. - in de 8 1 0 0 63 1 -28- toestand 0 van de processorcyclus i+3 te adresseren en zo vervolgens, tot het einde van de instructiereeks. Op dat tijdstip is de programma-teller met "behulp van een hulpregister instelinstructie, op het adres van de eerste instructie in de reeks ingesteld.In a signal processing program, the instructions are typically executed in sequence to a point where the program counter PC is set to the address value in the program memory, which is the memory location of the instruction at the beginning of the sequence. The program 25 will therefore run continuously in loop to repeat the same set of instructions. Furthermore, fixed information words will be stored in memory locations between which addresses are interleaved with the memory location of instructions in the program sequence. As shown in FIG. K, the address in the program register PC is applied to address a fixed info word during the state 2 of processor cycle I-1. The program workshop is then incremented with a fixed increment + 1, or is used to address an instruction in the state 0 of the processor cycle i + 2. Again, the program counter is incremented with a fixed increment +1, and used to address the next fixed address word in the state 2 of the processor cycle i + 2. Then the program counter is incremented by +1 and applied to the instruction I. - to address i + 3 in the 8 1 0 0 63 1 -28 state 0 of the processor cycle and so on, until the end of the instruction sequence . At that time, the program counter is set to the address of the first instruction in the sequence by means of an auxiliary register setting instruction.
81 0 0 63 1 -29-81 0 0 63 1 -29-
In "bovenstaande beschrijving is uitgegaan van het feit dat de digitale signaalprocessor uitsluitend normale routine bewerkingen uitvoert. Ook andere bewerkingen zoals voorwaardelijke bewerkingen kunnen door de gepdgplijnde digitale signaalprocessor worden uitgevoerd.The above description assumes that the digital signal processor performs only normal routine operations. Other operations such as conditional operations may also be performed by the pplplined digital signal processor.
5 Voorwaardelijke werking5 Conditional operation
In vele gevallen kan het rekenschaaa, gerealiseerd, door de voorwaardelijke test en het uitvoeren van alternatieve bewerkingen die onafhankelijk zijn van de uitkomst van de tests eveneens gerealiseerd worden door een reeks van een of meerdere instructies, die hetzij wel 10 hetzij nietfworden uitgevoerd. Indien deze reeks kort is, kan de totale besparing in de verwerkingstijd groot zijn in vergelijking met de overdracht vanlliet voorwaardelijke programma dat in dezelfde tijd met behulp van de bekende techniek wordt uitgevoerd. De uitvinder heeft ontdekt dat voorwaardelijke bewerkingen die plaatsvinden tijdens de 15 digitale signaalverwerking vaak kunnen worden verkregen met behulp van een reeks van een of meerdere instructies die hetzij wel of niet worden uitgevoerd. Daartoe is de digitale signaalprocessor geschikt gemaakt om op deze wijze efficiënt de voorwaardelijke bewerkingen uit te voeren. De hierbij toegepaste methode heeft echter een grotere 20 algemene toepasbaarheid.In many cases, the calculation scaled realized by the conditional test and performing alternative operations independent of the outcome of the tests can also be realized by a series of one or more instructions, which are either executed or not. If this sequence is short, the overall processing time savings can be large compared to the transfer of the non-conditional program performed in the same time using the known technique. The inventor has discovered that conditional operations that take place during digital signal processing can often be accomplished using a sequence of one or more instructions that may or may not be performed. To this end, the digital signal processor has been made suitable for efficiently carrying out conditional operations in this way. However, the method used here has a greater general applicability.
Beschouwd wordt het probleem van het vinden van de maximale waarde van een reeks van monsters die in een geheugen zijn opgeslagen. De waarde van elk monster in de reeks kan worden vergeleken met de waarde van een woord, aanwezig op een andere geheugenplaats en wel met 25 behulp van de gebruikelijke conventionele voorwaardelijke overdracht; dat wil zeggen met behulp van het verwerken van alternatieve reeksen.The problem of finding the maximum value of a series of samples stored in a memory is considered. The value of each sample in the sequence can be compared to the value of a word present in a different memory location using conventional conventional conditional transfer; ie using alternative strings processing.
3030
Indien (x ^ x ) max x = x; max voor het overige (doe :niets) 35 8 1 0 0 63 1 -30-If (x ^ x) max x = x; max for the rest (do: nothing) 35 8 1 0 0 63 1 -30-
Een en ander zodanig dat de "bewering x = x; "buiten de voorwaarde- lijke verandering van de programma tellerinhoud gaat. In de digitale signaalprocessor volgens de uitvinding, wordt de instructie x =x.All such that the "statement x = x;" goes beyond the conditional change of the program counter content. In the digital signal processor according to the invention, the instruction x = x.
verwerkt,· {dat wil zeggen opgehaald en gecodeerd) in een volgorde die * 5 onafhankelijk is van de test met de feitelijke overdracht van informatie naar x die geblokkeerd wordt indien de rest foutief is.processed, {(i.e. retrieved and coded) in an order that is * 5 independent of the test with the actual transfer of information to x that will be blocked if the rest is erroneous.
Een voorwaardelijke instructie zorgt ervoor dab de processor een voorwaardelijke testbewerking uitvoert welke testbewerking een niet rekenkundige hulpbewerking is. Evenals bij de normale rekenkundige 10 bewerkingen, zoals hierboven is beschreven, is er een huiste volgorde voor het inschrijven van een assembleer taalinstructie voor de voorwaardelijke bewerkingen. Het onderstaande is weergegeven in de juiste volgorde.A conditional instruction causes the processor to perform a conditional test operation, which test operation is a non-arithmetic auxiliary operation. As with the normal arithmetic operations, as described above, there is an order to write an assemble language instruction for the conditional operations. The following is shown in the correct order.
(1) Een keuze van de bestemming wordt gemaakt. Het woord dat 15 moét wórden ingeschreven voor de bestemming -wordt gekozen uit hetzij het afgeronde uitgangswoord w hetzij het informatiewoord £. Het gekozen woord kan in het vrij toegankelijk geheugen worden ingeschreven of in de ingangs/uitgangsketen. De specifieke bestemming van het geselecteerde woord wordt gegeven.(1) A choice of destination is made. The word to be registered for the destination is selected from either the rounded output word w or the information word £. The selected word can be written in the freely accessible memory or in the input / output chain. The specific destination of the selected word is given.
20 (2) Specificeer de voorwaarde die moet worden getest en de processor bewerking die moet worden uitgevoerd indien de test succesvol is.(2) Specify the condition to be tested and the processor operation to be performed if the test is successful.
De onderstaande tabel II geeft een samenvatting van de conditionele instructies, die worden verkregen door uit „elk van de twee 25 kolommen één bewering te kiezen.Table II below summarizes the conditional instructions obtained by choosing one statement from each of the two columns.
TABEL II - VOORWAARDELIJKE INSTRUCTIESTABLE II - CONDITIONAL INSTRUCTIONS
NIETS indien (VOORWAARDE) doset j ) DEST=YSRC indien (VOORWAARDE) doau ('.' ) DEST=w indien (VOORWAARDE) dowt ( ) 1 8 1 0 0 63 1NOTHING if (CONDITION) doset j) DEST = YSRC if (CONDITION) doau ('.') DEST = w if (CONDITION) dowt () 1 8 1 0 0 63 1
De betekenis van DEST en YSRC zijn dezelfde als die, zoals aan gegeven in tabel I. De term VOORWAARDE moet worden vervangen door een van de volgende voorwaarden: -31- VOOHWMBDE · Cbtschri.tving a==0 accumulator “bevat & en is gelijk aan nul.The meanings of DEST and YSRC are the same as those given in Table I. The term CONDITION must be replaced with one of the following conditions: -31- VOOHWMBDE · Cbtschri.tving a == 0 accumulator “contains & is equal to zero.
a > 0 accumulator “bevat a en is groter dan nul.a> 0 accumulator “contains a and is greater than zero.
a < 0 accumulator omvat a en is kleiner dan nul.a <0 accumulator includes a and is less than zero.
Elke voorwaardelijke instructie wordt geassembleerd als een 16-bit opcode-wcord door een 16-bit argument. Het formaat voor een voorwaardelijke instructie is 10 c s t waarbij c, s en t regelvelden zijn, evenals dat het. geval is bij de normale rekenkundige instructies, De velden s en t hebben dezelfde betekenis. Het regelveld c_ levert dë regelinformatie voor de voorwaardelijke bewerking. Deze informatie geeft aan welke bewerking moet 15 worden uitgevoerd tezamen met de voorwaarde die moet worden getest.Each conditional statement is assembled as a 16-bit opcode wcord by a 16-bit argument. The format for a conditional statement is 10 cs t where c, s, and t are control fields, as well as that it. is the case with normal arithmetic instructions, fields s and t have the same meaning. The control field c_ provides the control information for the conditional operation. This information indicates which operation to perform along with the condition to be tested.
Er zijn drie manieren om de geleverde bewerkingen te kiezen.There are three ways to choose the supplied operations.
Een processoradres of incrementregister wordt ingesteld indien de gespecificeerde voorwaarde waar is. De volgende rekenkundige sectie bewerking wordt uitgevoerd indien de voorwaarde waar-is. De volgende 20 inschrijfbewerking wordt uitgevoerd indien de voorwaarde waar is. Voor elke voorwaardelijke instructie, zullen de genoemde bewerkingen niet plaats vinden indien de voorwaarde vals is.A processor address or increment register is set if the specified condition is true. The following arithmetic section operation is performed if the condition is true. The next write operation is performed if the condition is true. For any conditional instruction, said operations will not take place if the condition is false.
Bewerkingen die deel uitmaken van de voorwaardelijke test zijn de bewerkingen gespecificeerd in de instructie die volgt op de voorwaar-25 delijke instructie in de pijplijn.Operations that are part of the conditional test are the operations specified in the instruction following the conditional instruction in the pipeline.
Elke voorwaardelijke instructie, verwerkt door de digitale signaalprocessor, wordt opgehaald uit het dode geheugen 100 en wordt via de informatiebus toegevoerd aan de instructieregisters. De regelvelden s_, t_ worden opgeslagen in het instructieregister IR-S ,T, zoals eerder 30 beschreven. Het regelveld _c wordt opgeslagen in het instructieregister IH-C.Each conditional instruction, processed by the digital signal processor, is retrieved from the dead memory 100 and is supplied through the information bus to the instruction registers. The control fields s_, t_ are stored in the instruction register IR-S, T, as previously described. The control field _c is stored in the instruction register IH-C.
Voor het uitvoeren van een voorwaardelijke bewerking met de opstelling, zoals in fig. 1 en 2 is aangegeven, wordt verwezen naar fig.8.To perform a conditional operation with the arrangement, as shown in Figures 1 and 2, see Figure 8.
De meeste van de vocrwaardelijke bewerkingen vinden op dezelfde wijze plaats als een nozmale routine bewerking. Er zal derhalve de nadruk 35 worden gelegd, op die gedeelten van de bewerking die verschillen van een 81 0 0 63 1 -32- normale routine bewerking. De· lezer wordt hiertoe verwezen naar de voorgaande beschrijving.Most of the conditional operations are performed in the same way as a routine routine operation. Therefore, emphasis will be placed on those parts of the operation that are different from a normal routine operation. The reader is referred to the previous description.
In fig. 8 is een voorwaardelijke instructie L· (e,s,t) weergegeven welke instructie tijdens de process or cyclus is opgehaald en welke 5 instructie wordt gecodeerd tijdens de processorcyclus i+l. In dit voorbeeld is de voorwaardelijke instructie I^(c,s,t) geplaatst in de pijplijn teneinde een normale rekenkundige instructie I^+^!il,m,nss ,t) te beïnvloeden, welke voorwaardelijke instructie tijdens de processorcyclus 1+1 opgehaald is, waarbij deze voorwaardelijke instructie 10 wordt gecodeerd tijdens de processorcyclus i+2 en voorwaardelijk wordt uitgevoerd tijdens de processorcyclus i+3.In Fig. 8, a conditional instruction L (e, s, t) is shown which instruction is fetched during the process or cycle and which instruction is coded during the processor cycle i + 1. In this example, the conditional instruction I ^ (c, s, t) is placed in the pipeline to affect a normal arithmetic instruction I ^ + ^! Il, m, nss, t), which conditional instruction during the processor cycle 1 + 1 fetched, this conditional instruction 10 being encoded during the processor cycle i + 2 and conditionally executed during the processor cycle i + 3.
De velden s en t van de instructie I^(e,s,t) regelen.de opgehaalde informatie alsmede een inschrijfbewerking tijdens het interval i+2. De toestand u^+g van de registers in de adresrekenkundigesectie 15 wordt tijdens het interval i+2 bijgewerkt als een functie van de regel-velden I^(s,t) en van de voorafgaande toestand u^+^ van deze registers.The fields s and t of the instruction I ^ (e, s, t) control the retrieved information as well as a write operation during the interval i + 2. The state u ^ + g of the registers in the address arithmetic section 15 is updated during the interval i + 2 as a function of the control fields I ^ (s, t) and of the previous state u ^ + ^ of these registers.
Een geheugeninschrijfbewerking die plaatsvindt tijdens de cyclus i+2 is overeenkomstig de reeds eerder-beschreven bewerking met betrekking tot de normale rekenkundige instructie. Aangezien de voor-20 waardelijke instructie een hulpinstructie is, voert de rekenkundige sectie 110 tijdens het interval i'+2 geen bewerking uit; wat de gebruikelijke uitvoeringscyclus is voor deze instructie. Derhalve behouden het vermenigvuldigerregister P, het accumulatorregister A, en het afgeronde uitgangsregister W hun resp. informatie van de laatst .voorgaande 25 cyclus. De gemiddelde operand p^+2 is derhalve gelijk aan p^+1, en is de resulterende a^+£ gelijk aan a^+^5 en is het afgeronde uitgang s-woord w^+2 gelijk aan w^+^.A memory write operation that takes place during cycle i + 2 is in accordance with the previously described operation with respect to the normal arithmetic instruction. Since the conditional instruction is an auxiliary instruction, the arithmetic section 110 performs no operation during the interval i '+ 2; which is the usual execution cycle for this instruction. Therefore, the multiplier register P, the accumulator register A, and the rounded output register W retain their resp. information from the last previous cycle. The mean operand p ^ + 2 is therefore equal to p ^ + 1, and the resulting a ^ + £ is equal to a ^ + ^ 5 and the rounded output s word w ^ + 2 is equal to w ^ + ^.
Het regelveld I^(c) dat opgeslagen is in het instructieregister IR-C, tijdens het interval i_, cmvat een eerste deel, dat aangeeft 30 welke voorwaarde moet worden getest, en omvat een tweede deel dat aangeeft welke bewerking moet worden geregeld in afhankelijkheid van de testuitslag van de voorwaarde. Tijdens het interval i+1 worden de beide delen van het regelveld I^(c) gecodeerd in de ketens 211 en 212 en worden vervolgens opgeslagen in de registers 213 en 21 k.The control field I ^ (c) stored in the instruction register IR-C, during the interval i_, includes a first part indicating the condition to be tested and comprising a second part indicating the operation to be controlled in dependence of the test result of the condition. During the interval i + 1, both parts of the control field I ^ (c) are coded in the chains 211 and 212 and are then stored in the registers 213 and 21 k.
35 Tijdens het interval i+2, wordt het eerst gecodeerde gedeelte van het regelveld I^(c), dat is opgeslagen in het register 213, toegevoerd aan een vergelijker 215, die vaststelt welke conditie moet worden getest.During the interval i + 2, the first coded portion of the control field I ^ (c) stored in the register 213 is supplied to a comparator 215, which determines which condition to test.
8100631 -33-8100631 -33-
Gelijktijdig wordt de status van de condities, of vlaggen van de regelinrichting 11U via een taan 225 toegevoerd aan de vergelijker 215· Derhalve wordt de status van de voorwaarden van de rekenkundige sectie getest. De vergelijker 215 wekt een voorwaardelijk-waar of voorwaar&e-5 lijk vals signaal op op de leiding 221 door middel waarvan het resulterende- signaal wordt toegevoerd als een voorwaardelijke regeling aan de logicaketen 122.Simultaneously, the status of the conditions, or flags, of the controller 11U is supplied to comparator 215 through a tan 225. Therefore, the status of the conditions of the arithmetic section is tested. Comparator 215 generates a conditional or conditional false signal on lead 221 through which the resulting signal is applied as a conditional control to logic circuit 122.
tijdens dit interval i+2 wekt de logicaketen 122, die werkt onder de regeling van het voorwaardelijke signaal op de leiding 221, 10 eveneens verdere regelsignalen op, welke signalen worden verdeeld over de keten DECODEER F, 113, de regelinrichting 15^, het vrij toegankelijk geheugen 105, en de ingangs/uitgangsketen 200. Het resultaat van de voorwaardelijke bewerking wordt toegevoerd aan de uitgang van de logicaketen 122 teneinde de verschillende secties van de processor tij-15 dens het interval i+3 te regelen.during this interval i + 2, the logic circuit 122, which operates under the control of the conditional signal on the line 221, 10, also generates further control signals, which signals are distributed over the decoding circuit F, 113, the control device 15 ^, the free accessible memory 105, and the input / output circuit 200. The result of the conditional operation is applied to the output of the logic circuit 122 to control the different sections of the processor during the interval i + 3.
De normale rekenkundige instructie I. ,(l,m,n,s,t), die wordt .1+i beïnvloed door de voorwaardelijke instructie I^(c,s,t), wordt tijdens het interval i+Γ ópgehaald en wordt gecodeerd tijdens de cyclus i+2. Zonder de voorgaande voorwaardelijke instructie zou deze instructie 20 de processor tijdens het interval i+3 regelen. Informatie opgehaald tijdens het interval i+3 vindt op de gewone wijze plaats.The normal arithmetic instruction I., (l, m, n, s, t), which is .1 + i influenced by the conditional instruction I ^ (c, s, t), is fetched during the interval i + Γ and is coded during the cycle i + 2. Without the previous conditional instruction, this instruction 20 would control the processor during the interval i + 3. Information retrieved during the interval i + 3 takes place in the usual way.
Vervolgens zullen, tijdens het interval i+3, de uitgevoerde bewerkingen afhangen van de gebruikelijke operanden tezamen met de toestand van de regellijnen van de logicaketen 122, die voorwaardelijk 25 zijn gemaakt op de uitkomsten van de vergelijking, verkregen tijdens het interval i+2.Then, during the interval i + 3, the operations performed will depend on the usual operands along with the state of the control lines of the logic circuit 122, which are conditionally made on the results of the comparison obtained during the interval i + 2.
Wanneer de voorwaardelijke instructie I.(c,s,t) in een voorwaardelijke rekenkundige sectie wordt uitgevoerd worden alleen rekenkundige eenheid bewerkingen voorwaardelijk uitgevoerd tijdens het interval i+3-30 Het inscfarijfgeheugen is op dit tijdstip niet geblokkeerd. Indien de voorwaarde waar is voor de voorwaardelijke rekenkundige sectie die de instructie uitvoert, wordt een nieuw produkt sen resulterend woord en sen afgerond uitgangswoord w^ berekend. Indien de voor waaide vals is, wordt de regeling van de rekenkundige sectie geblokkeerd 35 en wordt geen nieuw produkt, resulterend of afgerond uitgangswoord tot stand gebracht. De registers P, A en W behouden hun waarde van het laatst voorgaande interval. Alle andere nozmale procesbewerkingen vinden 81 00 63 1 -3 k- plaats tijdens het interval i+3.When the conditional instruction I. (c, s, t) is executed in a conditional arithmetic section, only arithmetic unit operations are conditionally performed during the interval i + 3-30. The encryption disk memory is not blocked at this time. If the condition is true for the conditional arithmetic section executing the instruction, a new product s resulting word and a rounded output word w ^ is calculated. If the furrow is false, the arithmetic section control is disabled and no new product, resulting or rounded output word is created. Registers P, A and W retain their value from the last previous interval. All other normal process operations take place 81 00 63 1 -3 k- during the interval i + 3.
Indien de voorvaardelijke instructie L·(c,S,t) een voorvaardelijke inschrijfinstructie is, vorden uitsluitend het inschrijfgeheugen en de uitgang-inschrijflbeverkingen tijdens het interval i+3 "beïnvloed. De be-5 verkingen van de rekenkundige sectie zijn niet geblokkeerd. Indien de voorvaarde vaar is voor de voorvaardelijke inschrijfinstructie, vindt de geheugeninschrijfbeverking of ui tg ang-ins chri j fbever king plaats.If the prerequisite instruction L ((c, S, t) is a prerequisite enrollment instruction, only the enrollment memory and the output enrollment restrictions during the interval i + 3 "are affected. The arithmetic section queries are not blocked. the condition is for the prerequisite enrollment instruction, the memory enrollment acknowledgment or out of ang-write verification.
Indien de voorvaarde vals is vordt de regeling van de inschrijfbever-king geblokkeerd en behoudt het geheugen zijn toestand van het 10 voorgaande interval. Het inschrijven in het geheugen of in de uitgang vordt geregeld door het regelveld L·, zoals reeds eerder besproken is bij de behandeling van de normale instructies. Ongeacht het feit of de voorvaarde vaar of vals is vinden alle andere procesbeverkingen plaats tijdens het normale interval i+3. Indien de voorvaardelijke instruc-15 tie I^(c,s,t) een voorvaardelijk register instelinstructie is, vordt uitsluitend een register instelbeverking beïnvloed tijdens het interval i+3. .In dit verband vordt opgemerkt, dat'alhoevel de registerinstel-instructie een hulpinstructie is er. geen activiteiten zullen zijn in de rekenkundige sectie. De geheugen,- of uitgangsinschrijving kan voortgang 20 vinden zonder dat deze beïnvloed vordt door het regelveld L· (s).If the condition is false, the control of the write operation is blocked and the memory retains its state of the previous interval. Writing in the memory or in the output is controlled by the control field L, as discussed previously in the handling of the normal instructions. Irrespective of whether the condition is fair or false, all other process restrictions occur during the normal interval i + 3. If the prerequisite instruction I ^ (c, s, t) is a prerequisite register setting instruction, only a register setting confirmation is affected during the interval i + 3. In this connection, it is noted that although the register setting instruction is an auxiliary instruction there. there will be no activities in the arithmetic section. The memory or output entry can progress 20 without being affected by the control field L (s).
Indien de voorvaarde vaar is vordt het register, aangegeven door het register selectieveld van het vaste informatievoord, dat samenverkt met de registerinstelinstructie, opgeladen met de vaarde in het vaardeveld van dat informatievoord, zoals eerder.is uiteengezet. Indien de voor-25 vaarde vals vordt de regeling van de register instelbeverking geblokkeerd en verandert de inhoud van het register niet door de registerinstelinstructie.If the condition is navigated, the register, indicated by the register selection field of the fixed information word, which coalesces with the register setting instruction, is loaded with the value in the sailing field of that information word, as previously explained. If the condition is false, the register bias adjustment control is blocked and the contents of the register are not changed by the register setting instruction.
0 0 63 f0 0 63 f
Claims (6)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12005980A | 1980-02-11 | 1980-02-11 | |
US12005980 | 1980-02-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
NL8100631A true NL8100631A (en) | 1981-09-01 |
Family
ID=22388030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NL8100631A NL8100631A (en) | 1980-02-11 | 1981-02-10 | PIPELINE DIGITAL PROCESSOR SUITABLE FOR CONDITIONAL OPERATION. |
Country Status (10)
Country | Link |
---|---|
JP (1) | JPS56149648A (en) |
BE (1) | BE887451A (en) |
CA (1) | CA1155231A (en) |
DE (1) | DE3104256A1 (en) |
ES (1) | ES8201745A1 (en) |
FR (1) | FR2475763A1 (en) |
GB (1) | GB2069733B (en) |
IT (1) | IT1135394B (en) |
NL (1) | NL8100631A (en) |
SE (1) | SE456051B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4589065A (en) * | 1983-06-30 | 1986-05-13 | International Business Machines Corporation | Mechanism for implementing one machine cycle executable trap instructions in a primitive instruction set computing system |
GB8401807D0 (en) * | 1984-01-24 | 1984-02-29 | Int Computers Ltd | Pipelined data processing apparatus |
US4755966A (en) * | 1985-06-28 | 1988-07-05 | Hewlett-Packard Company | Bidirectional branch prediction and optimization |
GB2343973B (en) * | 1998-02-09 | 2000-07-12 | Mitsubishi Electric Corp | Data processing device for scheduling conditional operation instructions in a program sequence |
JP3881763B2 (en) * | 1998-02-09 | 2007-02-14 | 株式会社ルネサステクノロジ | Data processing device |
CN113485748B (en) * | 2021-05-31 | 2022-08-12 | 上海卫星工程研究所 | Satellite condition instruction system and execution method thereof |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3728692A (en) * | 1971-08-31 | 1973-04-17 | Ibm | Instruction selection in a two-program counter instruction unit |
BE789583A (en) * | 1971-10-01 | 1973-02-01 | Sanders Associates Inc | PROGRAM CONTROL APPARATUS FOR DATA PROCESSING MACHINE |
-
1981
- 1981-01-30 SE SE8100735A patent/SE456051B/en not_active IP Right Cessation
- 1981-02-07 DE DE3104256A patent/DE3104256A1/en active Granted
- 1981-02-09 FR FR8102496A patent/FR2475763A1/en active Granted
- 1981-02-10 NL NL8100631A patent/NL8100631A/en not_active Application Discontinuation
- 1981-02-10 IT IT19634/81A patent/IT1135394B/en active
- 1981-02-10 ES ES499277A patent/ES8201745A1/en not_active Expired
- 1981-02-10 CA CA000370508A patent/CA1155231A/en not_active Expired
- 1981-02-10 BE BE0/203750A patent/BE887451A/en unknown
- 1981-02-10 JP JP1758681A patent/JPS56149648A/en active Granted
- 1981-02-11 GB GB8104139A patent/GB2069733B/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
GB2069733A (en) | 1981-08-26 |
IT1135394B (en) | 1986-08-20 |
SE8100735L (en) | 1981-08-12 |
FR2475763B1 (en) | 1984-05-04 |
ES499277A0 (en) | 1982-01-16 |
FR2475763A1 (en) | 1981-08-14 |
JPS56149648A (en) | 1981-11-19 |
DE3104256A1 (en) | 1982-03-18 |
SE456051B (en) | 1988-08-29 |
DE3104256C2 (en) | 1991-06-27 |
BE887451A (en) | 1981-06-01 |
IT8119634A0 (en) | 1981-02-10 |
ES8201745A1 (en) | 1982-01-16 |
CA1155231A (en) | 1983-10-11 |
GB2069733B (en) | 1984-09-12 |
JPS619648B2 (en) | 1986-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4860197A (en) | Branch cache system with instruction boundary determination independent of parcel boundary | |
KR100242617B1 (en) | Exception recovery in a data processing system | |
EP0071028B1 (en) | Instructionshandling unit in a data processing system with instruction substitution and method of operation | |
DE60004640T2 (en) | METHOD AND DEVICE FOR JUMP FORECASTING USING A HYBRID BRANCH HISTORY WITH A COMMON ACCESS STRUCTURE | |
US4763255A (en) | Method for generating short form instructions in an optimizing compiler | |
US4179731A (en) | Microprogrammed control system | |
EP0320098B1 (en) | Jump prediction | |
EP0348495A1 (en) | Method and digital computer for prefetching vector data from memory in a memory system designed for scalar processing. | |
US4539635A (en) | Pipelined digital processor arranged for conditional operation | |
US3988719A (en) | Microprogrammed data processing systems | |
EP0207519B1 (en) | Data processor | |
KR102379894B1 (en) | Apparatus and method for managing address conflicts when performing vector operations | |
US5220656A (en) | System for selecting control parameter for microinstruction execution unit using parameters and parameter selection signal decoded from instruction | |
US4317170A (en) | Microinstruction controlled data processing system including micro-instructions with data align control feature | |
WO2015144517A1 (en) | Branch predictor history recovery in pipelined computer architectures employing branch prediction and branch delay slots of variable size | |
US5859994A (en) | Apparatus and method for modifying instruction length decoding in a computer processor | |
US11106465B2 (en) | Vector add-with-carry instruction | |
CN107851007B (en) | Method and apparatus for comparison of wide data types | |
EP0201833A2 (en) | Instruction processor | |
JPH07104784B2 (en) | Digital data processor | |
NL8100631A (en) | PIPELINE DIGITAL PROCESSOR SUITABLE FOR CONDITIONAL OPERATION. | |
US4598358A (en) | Pipelined digital signal processor using a common data and control bus | |
KR101042647B1 (en) | Result partitioning within simd data processing systems | |
US5293499A (en) | Apparatus for executing a RISC store and RI instruction pair in two clock cycles | |
WO2010067522A1 (en) | Computation unit, processor, and parallel computation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
BT | A notification was added to the application dossier and made available to the public | ||
BA | A request for search or an international-type search has been filed | ||
BB | A search report has been drawn up | ||
A85 | Still pending on 85-01-01 | ||
BC | A request for examination has been filed | ||
BV | The patent application has lapsed |