NL8902040A - HIGH SPEED DIRECT MEMORY ACCESS CONTROL FOR TEST AND MEASUREMENT INSTRUMENTS. - Google Patents

HIGH SPEED DIRECT MEMORY ACCESS CONTROL FOR TEST AND MEASUREMENT INSTRUMENTS. Download PDF

Info

Publication number
NL8902040A
NL8902040A NL8902040A NL8902040A NL8902040A NL 8902040 A NL8902040 A NL 8902040A NL 8902040 A NL8902040 A NL 8902040A NL 8902040 A NL8902040 A NL 8902040A NL 8902040 A NL8902040 A NL 8902040A
Authority
NL
Netherlands
Prior art keywords
instruction
unit
data
arithmetic
result
Prior art date
Application number
NL8902040A
Other languages
Dutch (nl)
Original Assignee
Tektronix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tektronix Inc filed Critical Tektronix Inc
Publication of NL8902040A publication Critical patent/NL8902040A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R13/00Arrangements for displaying electric variables or waveforms
    • G01R13/20Cathode-ray oscilloscopes
    • G01R13/22Circuits therefor
    • G01R13/34Circuits for representing a single waveform by sampling, e.g. for very high frequencies

Description

Korte aanduiding: Met hoge snelheid werkende directe geheu- gentoegangsbesturing voor test- en meetin¬strumenten .Short designation: High-speed direct memory access control for test and measurement instruments.

De uitvinding heeft betrekking op besturingsketens metdirecte geheugenbenadering voor op microprocessor gebaseerdeinformatiestelsels en in het bijzonder op de toepassing vaneen directe geheugenstoegangsbesturingsketen van een soortdie geschikt is voor verwerking met hoge snelheid van dedigitale informatie.The invention relates to direct memory access control circuits for microprocessor-based information systems and in particular to the application of a direct memory access control circuit of a type suitable for high-speed processing of the digital information.

Bekende test- en meetinstrumenten maken typisch gebruikvan programmeerbare digitale signaalprocessors voor hetuitvoeren van standaardsignaalverwerkingsalgoritmen enspecifieke routines. Figuur 1 toont een bekend test- enmeetinstrument 10, zoals een digitale oscilloscoop, waarineen digitaal signaalverwerkingssubstelsel 12 aangebracht kanworden.Known test and measurement instruments typically use programmable digital signal processors to perform standard signal processing algorithms and specific routines. Figure 1 shows a known test and measurement instrument 10, such as a digital oscilloscope, into which a digital signal processing subsystem 12 can be mounted.

In figuur 1 omvat een instrument 10 een anti-overlap-pingsingangsfilter 14 dat een analoog ingangssignaal ver¬werkt en het aan de ingang van een bemonster- en analoog/di-gitaalomzetmoduul 16 levert. Het moduul 16 bemonstert deamplitude van het analoge signaal in discrete, regelmatiggescheiden tijdsintervallen en zet de amplitudewaarden ineen digitaal signaalformaat om. Het gedigitaliseerde in¬gangssignaal wordt omgezet volgens een signaalverwerkingsal-goritme, zoals een snelle Fourier-transformatie (FFT) offiltering, die een geordende verzameling van door hetverwerkingssubstelsel 12 uitgevoerde verwerkingsstappen is.Dergelijke algoritmen zijn rekenintensief en worden inhardwaar of zachtwaar gerealiseerd. De door het verwerkings¬substelsel 12 berekende resultaat wordt aan een digitaal/analoog-omzet- en filtermoduul 18 geleverd dat het berekenderesultaat in een analoog formaat omzet dat geschikt is voorgebruik door een weergeefeenheid.In Figure 1, an instrument 10 includes an anti-overlap input filter 14 that processes an analog input signal and supplies it to the input of a sample and analog / digital conversion module 16. The module 16 samples the amplitude of the analog signal in discrete, regularly separated time intervals and converts the amplitude values into a digital signal format. The digitized input signal is converted according to a signal processing algorithm, such as a fast Fourier transform (FFT) off-filtering, which is an ordered collection of processing steps performed by processing subsystem 12. Such algorithms are computationally intensive and are realized in hard or soft ware. The result calculated by the processing subsystem 12 is supplied to a digital / analog conversion and filter module 18 which converts the calculation result into an analog format suitable for use by a display unit.

Figuur 2 toont een blokschema van een bekend digitaalsignaalverwerkingsstelsel 12 van de hardwaarsoort en bijbe¬horend geheugen in het instrument 10 van figuur 1. In figuur2 omvat het verwerkingssubstelsel 12 een paar digitale geheugenketens 22, 24 die operands opslaat en hen aan eenmicroprocessor 26 levert die voorafbepaalde rekenkundigeberekeningen en logische functies op de operands uitvoert.Figure 2 shows a block diagram of a known hardware-type digital signal processing system 12 and associated memory in the instrument 10 of Figure 1. In Figure 2, the processing subsystem 12 includes a pair of digital memory circuits 22, 24 which store operands and supply them to a microprocessor 26 which provides predetermined performs arithmetic calculations and logical functions on the operands.

De geheugens 22 en 24 zijn bijvoorbeeld de respectievelijke5 acquisitie- en weergeefgeheugens van een digitale oscillos-coop. De overdracht van operands naar en de overdracht vanhet berekende resultaat van de microprocessor 26 wordenbestuurd door een directe toegangsbesturingsketen 28 inovereenstemming met programma-instructies die bepaald wordenI door het signaalverwerkingsalgoritme dat geïmplementeerdwordt.For example, the memories 22 and 24 are the respective acquisition and display memories of a digital oscillos coop. The transfer of operands to and the transfer of the calculated result from the microprocessor 26 are controlled by a direct access control circuit 28 in accordance with program instructions determined by the signal processing algorithm being implemented.

De digitale geheugentoegangsbesturingsketen 28 onder¬breekt de werking van de microprocessor 26 en neemt debesturing van het verwerkingssubstelsel 12 over voor hetuitvoeren van de voorafbepaalde berekeningen en logischefuncties en geeft de besturing dan terug aan de microproces¬sor 26. De microprocessor 26 in het verwerkingssubstelsel 12vereist tenminste twee machine- of instructiecycli voor hetverzorgen van de taken van het verplaatsen van data uit degeheugens 22 en 24 naar de microprocessor 26 en het uitvoe¬ren van de rekenkundige berekeningen of logische functies,terwijl het bezig is ("on the fly").The digital memory access control circuit 28 interrupts the operation of the microprocessor 26 and takes control of the processing subsystem 12 to perform the predetermined calculations and logic functions and then returns control to the microprocessor 26. The microprocessor 26 in the processing subsystem 12 requires at least two machine or instruction cycles to perform the tasks of moving data from memories 22 and 24 to microprocessor 26 and performing arithmetic calculations or logic functions while it is in progress ("on the fly").

De noodzaak voor twee of meer instructiecycli werpt eeninherente barrière op tegen de zeer snelle werking dievereist is voor vergroting van veelzijdigheid en verbeteringvan prestatiemogelijkheden die in de markt voor dergelijkeinstrumenten gevraagd worden.The need for two or more instructional cycles poses an inherent barrier to the very rapid action required to increase versatility and improve performance capabilities required in the market for such instruments.

De uitvinding beoogt daarom een test- en meetinstrumentte verschaffen dat geschikt is voor zeer snelle digitalesignaalverwerking.The object of the invention is therefore to provide a test and measuring instrument which is suitable for very fast digital signal processing.

Een ander doel van de uitvinding is het verschaffen vaneen instrument dat geschikt is voor het uitvoeren vantypische signaalverwerkingsalgoritmen met relatief weiniginstructiecycli.Another object of the invention is to provide an instrument suitable for performing typical signal processing algorithms with relatively few instruction cycles.

Een ander doel van de uitvinding is het in een test- enmeetinstrument verschaffen van een werkwijze voor hetgebruik van een digitale signaalprocessor voor het verschaf¬fen van een directe geheugentoegangsmogelijkheid voor het benaderen van data uit externe geheugenketens en het uitvoe¬ren van rekenkundige functies op de data binnen een enkeleinstructiecyclus.Another object of the invention is to provide in a test and measurement instrument a method of using a digital signal processor to provide a direct memory access capability for accessing data from external memory chains and performing arithmetic functions on the data within a single instruction cycle.

De uitvinding vergroot de verwerkingssnelheid van aaneen test- en meetinstrument geleverde ingangssignaalinforma-tie door in haar digitale signaalprocessor een directegeheugentoegangsmogelijkheid voor het benaderen van data uitexterne geheugenketens en voor het uitvoeren van rekenkundi¬ge berekeningen, logische functies en schuifbewerkingen opde data binnen een enkele instructiecyclus te verschaffen.Tijdens de enkele instructiecyclus maakt de uitvinding nietalleen data-overdracht tussen een data-acquisitiegeheugen eneen weergèeforgaan of een buffergeheugen of een dergelijkinstrument mogelijk, maar tevens optelling van een dataver-schuivingswaarde, schaling, vermenigvuldiging, verschuivingen uitvoering van andere rekenkundige bewerkingen en logi¬sche functies op de overgedragen data.The invention increases the processing speed of input signal information supplied to a test and measuring instrument by providing a direct memory access capability in its digital signal processor for accessing data from external memory chains and for performing arithmetic calculations, logic functions and scrolling operations on the data within a single instruction cycle. During the single instruction cycle, the invention allows not only data transfer between a data acquisition memory and a display or a buffer memory or the like instrument, but also addition of a data shift value, scaling, multiplication, shifts execution of other arithmetic operations and logic functions on the transferred data.

De vergroting van de dataverwerkingssnelheid wordtverzorgd door parallelle werking van een instructie-ophaal-eenheid, een adresberekeningseenheid en een rekenkundigeeenheid die de digitale signaalprocessor vormen. De reken¬kundige eenheid is selectief te configureren voor hetcombineren van tijdens aangrenzende instructiecycli verkre¬gen resultaten en voor het rangschikken van tijdens opeen¬volgende instructiecycli verkregen resultaten voor leveringop pijplijnwijze aan een uitgangsaansluiting.The increase in data processing speed is provided by the parallel operation of an instruction fetch unit, an address calculation unit and an arithmetic unit constituting the digital signal processor. The arithmetic unit is selectively configurable to combine results obtained during adjacent instruction cycles and to rank results obtained during successive instruction cycles for pipeline delivery to an output terminal.

De rekenkundige eenheid brengt de functie van demicroprocessor in de directe geheugentoegangsbesturingsketenin een bekend digitaal verwerkingssubstelsel onder en vormtdaarbij "intelligente" directe geheugentoegangsbesturingske-tens. De rekenkundige eenheid elimineert de noodzaak voor demicroprocessor omdat de rekenkundige eenheid ingericht isvoor het uitvoeren van de hiervoor genoemde rekenkundigeberekeningen en logische functies die typisch nodig zijnvoor digitale signaalprocessors in de test- en meetinstru¬menten.The arithmetic unit incorporates the microprocessor function in the direct memory access control chain into a known digital processing subsystem, thereby forming "intelligent" direct memory access control chains. The arithmetic unit eliminates the need for the microprocessor because the arithmetic unit is arranged to perform the aforementioned arithmetic calculations and logic functions typically required for digital signal processors in the test and measurement instruments.

De uitvinding wordt toegelicht aan de hand van detekeningen. In de tekeningen toont:The invention is elucidated with reference to the drawings. In the drawings shows:

Figuur 1 een blokschema van een bekend test- en meetin¬strument waarin een bekend digitaal signaalverwerkingssub-stelsel toegepast is;Figure 1 is a block diagram of a known test and measurement instrument employing a known digital signal processing subsystem;

Figuur 2 een blokschema van een bekend digitaal sig-i naalverwerkingssubstelsel van de soort als opgenomen in hettest- en meetinstrument van figuur 1? enFigure 2 is a block diagram of a known digital signal processing subsystem of the type included in the test and measurement instrument of Figure 1? and

Figuur 3 een gedetailleerd blokschema van de internearchitectuur van een digitale signaalprocessor die volgensde uitvinding verwezenlijkt is.Figure 3 is a detailed block diagram of the internal architecture of a digital signal processor implemented in accordance with the invention.

Figuur 3 toont de interne architectuur van een digitalesignaalprocessor 40, die geschikt is voor enkele-instructie-cyclusverwezenlijking van typische rekenkundige berekeningenen logische functies die voor test- en meetinstrumentenvereist worden.Figure 3 shows the internal architecture of a digital signal processor 40, which is suitable for single instruction cycle realization of typical arithmetic calculations and logic functions required for test and measurement instruments.

In figuur 3 omvat een processor 40 een instructie-op-haaleenheid 42, een adresberekeningseenheid 44 en eenrekenkundige eenheid 46 die parallel werken en alle instruc¬ties in ongeveer 150 nanoseconden uitvoeren. De instructie-ophaaleenheid 42 ontvangt in een extern instructiegeheugen48 opgeslagen instructies en de rekenkundige eenheid 46benadert data uit twee externe datageheugens 50 en 52. Hetdatageheugen 50 slaat operands op voor levering aan derekenkundige eenheid 46 en het datageheugen 52 slaat door derekenkundige eenheid 46 geleverde resultaten op. Het in¬structiegeheugen 48 en de datageheugens 50 en 52 zijnverwezenlijkt in gescheiden ketens om gelijktijdige ophalingvan instructies en benadering van data mogelijk te maken.In Figure 3, a processor 40 includes an instruction fetch unit 42, an address calculation unit 44 and an arithmetic unit 46 which operate in parallel and execute all instructions in approximately 150 nanoseconds. The instruction fetching unit 42 receives instructions stored in an external instruction memory 48 and the arithmetic unit 46 accesses data from two external data memories 50 and 52. The data memory 50 stores operands for delivery to the arithmetic unit 46 and the data memory 52 stores results delivered by the arithmetic unit 46. Instruction memory 48 and data memories 50 and 52 are implemented in separate chains to allow simultaneous retrieval of instructions and access of data.

Datacommunicatie tussen de instructie-ophaaleenheid 42,de adresberekeningseenheid 44 en de rekenkundige eenheid 46wordt verzorgd via een interne registerbus 54 en verschil¬lende statusvlaggen. De registerbus 54 stelt de internedatawegen voor waarover data tussen de eenheden en registersverplaatst wordt. Deze data omvatten statusvlaggen die doorde processoreenheden opgewekt worden en door hen via deregisterbus 54 toegankelijk gemaakt worden. De statusvlaggengeven aan de instructie-ophaaleenheid, de adresberekenings¬eenheid en de rekenkundige eenheid aan wat de andere tweeeenheden aan het doen zijn en maken een verscheidenheid aan conditionele bewerkingen mogelijk. Een enkele instructie kaneen rekenkundige bewerking uitvoeren, een woord uit elk vande datageheugens 50 en 52 overdragen, data-adreswijzerswijzigen, een instructie ophalen, een stroomconditie verwer¬ken, en een lusteller verlagen en testen. Hierna wordt dewerking van elk van de drie genoemde eenheden toegelicht.Data communication between the instruction fetch unit 42, the address calculation unit 44 and the arithmetic unit 46 is provided via an internal register bus 54 and various status flags. Register bus 54 represents the internal data paths over which data is moved between the units and registers. This data includes status flags generated by the processor units and accessed by them through register bus 54. The status flags indicate to the instruction fetch unit, the address calculation unit and the arithmetic unit what the other two units are doing and allow a variety of conditional operations. A single instruction can perform an arithmetic operation, transfer a word from each of data memories 50 and 52, change data address pointers, retrieve an instruction, process a current condition, and decrease and test a loop counter. The operation of each of the three units mentioned is explained below.

De instructie-ophaaleenheid 52 voert een instructieuit, terwijl het de volgende instructie ophaalt. De op deuitgangen 58 van het instructiegeheugen 48 gelezen instruc¬ties worden opgeslagen in een instructieregister 60, dieingericht is met een tweetraps meester-slaafrangschikking.The instruction fetch unit 52 executes an instruction while it fetches the next instruction. The instructions read on the outputs 58 of the instruction memory 48 are stored in an instruction register 60, which is arranged with a two-stage master-slave arrangement.

De slaaftrap bevat de instructie die uitgevoerd wordt en demeestertrap bevat de volgende instructie. Aan het begin vaneen instructiecyclus leest de instructie-ophaaleenheid 42 devanuit de registerbus 54 toegankelijke statusvlaggen om tebepalen welke instructie uitgevoerd wordt. De in het in¬structieregister 60 opgeslagen instructie wordt geleverd aaneen besturingsketen 61 die verschillende kloksignalen enandere besturingssignalen levert die voor de werking van deprocessor 40 nodig zijn. Een schaduwprogrammateller (SPC) 62levert op haar uitgang 64 een wijzer die representatief isvoor het instructiegeheugenadres van de instructie dieuitgevoerd wordt,The slave stage contains the instruction being executed and the master stage contains the following instruction. At the beginning of an instruction cycle, the instruction fetch unit 42 reads status flags accessible from the register bus 54 to determine which instruction is being executed. The instruction stored in instruction register 60 is supplied to a control circuit 61 which supplies various clock signals and other control signals required for the operation of processor 40. A shadow program counter (SPC) 62 supplies on its output 64 a pointer representative of the instruction memory address of the instruction being executed,

De lokatie van de op te halen en in de meestertrap vantiet instructieregister 60 op te bergen volgende instructiewordt gekozen vanuit een programmateller (PC) 66; eenlaatste in, eerste uit (LIFO) stapelregister 68; een inter-ruptie-adresregister (IAR) 70; een overloopadresregister(VAR) 72; of een direct in de instructie geleverd adres. Deprogrammateller 66 en het stapelregister 68 worden in denormale werking gebruikt. Het interruptie-adresregister 70wordt gebruikt voor interrupties en het overloopadresregis¬ter 72 wordt gebruikt voor overloopvallen ("overflowtraps").•iet stapelregister 68 houdt de geschikte instructiegeheugen-adressen in responsie op een overloopconditie vast.The location of the next instruction to be retrieved and to be stored in the master stage of the instruction register 60 is selected from a program counter (PC) 66; one last in, first out (LIFO) stack register 68; an interruption address register (IAR) 70; an overflow address register (VAR) 72; or an address delivered directly in the instruction. Program counter 66 and stack register 68 are used in normal operation. The interrupt address register 70 is used for interrupts and the overflow address register 72 is used for overflow traps ("overflow traps").

Een digitale opteller 74 telt een eenheidswaarde bij deioor de uitgangen 64 van de teller 62 voorgestelde waarde enstelt de programmateller 66 vooraf met het resultaat in. De programmteller 66 levert op haar uitgangen 76 een wijzer diekenmerkend is voor het instructiegeheugenadres van devolgende op te halen instructie, daarbij de aanwezigheid vangeen sprong- of interruptiecommando's aannemend.A digital adder 74 counts a unit value at the value proposed by the outputs 64 of the counter 62 and sets the program counter 66 with the result in advance. The program counter 66 provides on its outputs 76 a pointer indicative of the instruction memory address of the next instruction to be retrieved, assuming the presence of no jump or interrupt commands.

Het stapelregister 68 slaat instructieadressen voorlussen en sprongen naar subroutines (weer) op. Het stapelre¬gister 68 ontvangt selectief instructieadreswijzers diegeleverd worden via een multiplexer 78 vanuit de schaduwpro-grammateller 62, uit de programmateller 66, en via deregisterbus 54 uit de hierna toegelichte iteratietellers.The stack register 68 stores instruction addresses for loops and jumps to subroutines (again). The stack register 68 selectively receives instruction address pointers supplied through a multiplexer 78 from the shadow program counter 62, from the program counter 66, and through the register bus 54 from the iteration counters explained below.

Een multiplexer 88 levert aan het instructiegeheugen 48 hetin overeenstemming met de programmataak die uitgevoerd wordtgekozen instructiegeheugenadres. De instructies zelf omvat¬ten typisch de voor het uitvoeren van de taak vereisteinformatie.A multiplexer 88 supplies the instruction memory 48 with the instruction memory address selected in accordance with the program task being performed. The instructions themselves typically included the information required to perform the task.

De instructie-ophaaleenheid 42 gebruikt een iteratie-tellerregisterbestand (ICA) 100 en een iteratietellerregis-terbestand (ICB) 102, die indexering voor programmalussenverschaffen. De iteratietellers 100 en 102 maken nesten vantot vier programmalussen mogelijk. Elke iteratieteller 100,102 omvat een referentieteller en een werkteller, dietijdens dezelfde instructiecyclus geladen worden. Voor hetverzorgen van een dergelijk programmalusnesten worden deuitgangen 106 van de iteratieteller 102 verbonden met deregisterbus 54 en met een digitale aftrekker 108, diesamenwerkt met een multiplexer 110 voor het tijdens elkeinstructiecyclus met één verlagen van de inhoud van deiteratieteller 102. De functies van de referentie- enwerktellers worden als volgt verwezenlijkt:The instruction fetcher 42 uses an iteration counter register file (ICA) 100 and an iteration counter register file (ICB) 102, which provide indexing for program loops. The iteration counters 100 and 102 allow nests of up to four program loops. Each iteration counter 100,102 includes a reference counter and a working counter, which are loaded during the same instruction cycle. To provide such program loop nests, the outputs 106 of the iteration counter 102 are connected to the register bus 54 and to a digital subtractor 108, which cooperates with a multiplexer 110 to decrease the content of deiteration counter 102 by one during each instruction cycle. The functions of the reference and work counters are accomplished as follows:

Wanneer een nulvlag van een van de iteratietellers 100en 102 een sprongtestconditie voorstelt, wordt de werktellerautomatisch verlaagd, tenzij het al nul is. Wanneer dewaarde van de werkteller nul is, wordt de in de referentie¬teller aanwezige startwaarde automatisch in de werktellergeladen, waarbij de teller voor de volgende gang door eenlus voorbereid wordt. Het hiervoor toegelichte ontwerp vande instructie-ophaaleenheid 42 maakt het testen, verlagen enherinitialiseren parallel met de werking van de rekenkundige eenheid 46 uit te voeren.When a zero flag of one of the iteration counters 100 and 102 represents a jump test condition, the working counter is automatically lowered unless it is already zero. When the value of the working counter is zero, the start value present in the reference counter is automatically loaded into the working counter, preparing the counter for the next pass by a loop. The previously explained design of the instruction fetch unit 42 allows testing, lowering and initialization to be performed in parallel with the operation of the arithmetic unit 46.

De adresberekeningseenheid 44 is ontworpen voor hetherbergen van signaalverwerkingsalgoritmen in de test- enmeetinstrumenten om op grote complexe datamatrixen tewerken. Veel van dergelijke algoritmen bestaan uit verschil¬lende niveau's van dicht geneste lussen die zelf bevat zijnin verschillende niveau's van langzamere kritische lussen.The address calculation unit 44 is designed to accommodate signal processing algorithms in the test and measurement instruments to operate on large complex data matrixes. Many such algorithms consist of different levels of densely nested loops that are themselves contained in different levels of slower critical loops.

De adresberekeningseenheid 44 omvat alternatieve bereke-ningsketens die de data-adreswijzers voor de datageheugens50 en 52 berekenen. Een dergelijke keten is geschikt voorhet sequentieel uit een geheugen lezen van data en de andereketen is geschikt voor het niet-sequentieel maar periodiekherhaaldelijk uitlezen van data uit een geheugen.The address calculation unit 44 includes alternative calculation chains that calculate the data address pointers for the data memories 50 and 52. Such a circuit is suitable for reading data sequentially from a memory, and the other chain is suitable for non-sequential but periodic reading of data from a memory.

De eerste van de alternatieve berekeningsketens in deadresberekeningseenheid 44 gebruikt vier adresregisterbe-standen 120, 122, 124 en 126 die in twee groepen van tweeadresregisterbestanden gerangschikt zijn. Het adresregister-bestand (ARA^) 120 en het adresregisterbestand (ARB^) 122wijzen naar de lokaties in een datageheugen 50, en hetadresregisterbestand (ARA2) 124 en het adresregisterbestand(ARB2) 126 wijzen naar lokaties in een datageheugen 52. Eenvan 16 registers in elk van de registerbestanden 120 en 124wordt gebruikt als een referentiewijzer naar het begin vaneen data (bijvoorbeeld golfvorm) -kader in het datageheugen50, en het corresponderende register in elk van de register¬bestanden 122 en 126 wordt gebruikt als werkwijzer naar degolfvorm.The first of the alternative calculation chains in dead address calculator 44 uses four address register files 120, 122, 124 and 126 which are arranged in two groups of two address register files. The address register file (ARA ^) 120 and the address register file (ARB ^) 122 point to the locations in a data memory 50, and the address register file (ARA2) 124 and the address register file (ARB2) 126 point to locations in a data memory 52. One of 16 registers in each of the register files 120 and 124 is used as a reference pointer to the beginning of a data (e.g. waveform) frame in the data memory 50, and the corresponding register in each of the register files 122 and 126 is used as a waveform method.

De uitgangen 128 en 130 van de respectievelijke adres¬registerbestanden 120 en 124 zijn verbonden met ingangen vaneen multiplexer 132, en de uitgangen 134 en 136 van derespectievelijke adresregisterbestanden 122 en 126 zijnverbonden met ingangen van een multiplexer 138. De uitgangen140 van een indexregister 142 zijn verbonden met een ingangvan elk van de multiplexers 132 en 138, waarvan de uitgangen144 respectievelijk 146 met de ingangen van een rekenkundigelogische eenheid (ALU) 148 verbonden zijn. De multiplexers132 en 138 kiezen een referentiewijzer en een werkwijzervoor levering aan het datageheugen 50 of het datageheugen 52. Het indexregister 142 dient voor het verschaffen van eenopvolgende indexadresseringsfunctie met een indexverschui-vingsmogelijkheid (bijvoorbeeld voor adressering van elkederde operand).The outputs 128 and 130 of the respective address register files 120 and 124 are connected to inputs of a multiplexer 132, and the outputs 134 and 136 of the respective address register files 122 and 126 are connected to inputs of a multiplexer 138. The outputs 140 of an index register 142 are connected to an input of each of multiplexers 132 and 138, the outputs of which 144 and 146, respectively, are connected to the inputs of an arithmetic logic unit (ALU) 148. The multiplexers 132 and 138 select a reference pointer and a method for delivery to the data memory 50 or the data memory 52. The index register 142 serves to provide a subsequent index addressing function with an index shift capability (e.g., addressing each third operand).

3 De rekenkundige logische eenheid 148 is geschikt voor het optellen van de referentie- en werkwijzers en hetleveren van de som op haar uitgangen 150 voor levering aande registerbus 54 of de tweede van de alternatieve bereke-ningsketens die hierna toegelicht zal worden. Het gebruikI van de rekenkundige logische eenheid 148 voor het vormen vande som van de referentiewijzer en de werkwijzer verschaftgrotere flexibiliteit bij de verwezenlijking van algoritmenmet spronginstructies en indexfuncties. Een referentiewijzerkan bijvoorbeeld gemakkelijk geïndexeerd worden door juistekeuze van multiplexerinvoeren voor de indexregisteruitvoerenen de referentiewijzer. De rekenkundige logische eenheid 148kan dan de vaste referentiewijzer bij de veranderendeindexregisteruitvoer tellen voor het verkrijgen van degewenste indexering.3 The arithmetic logic unit 148 is capable of adding the reference and methods and supplying the sum of its outputs 150 for delivery to register bus 54 or the second of the alternative calculation circuits which will be explained below. The use of the arithmetic logic unit 148 to form the sum of the reference pointer and the method provides greater flexibility in realizing algorithms with jump instructions and index functions. For example, a reference pointer can be easily indexed by properly selecting multiplexer inputs for the index register outputs and the reference pointer. The arithmetic logic unit 148 can then count the fixed reference pointer at the changing index register output to obtain the desired indexing.

De aan de registerbus 54 geleverde som wordt dan aaneen multiplexer 152 geleverd waarvan de uitgangen 154verbonden zijn met de voorinstelingangen van de registerbe-standen 120, 122, 124 en 126 voor het bijwerken van hetgeschiktste bestand ervan. De meeste tijd wordt de werkwij¬zer bijgewerkt. Samenvattend leveren de registers 120, 122,124 en 126 eerst de adressen en verwerkt de rekenkundigelogische eenheid 148 hen vervolgens en werkt de registersvanwaar zij voorsprongen bij.The sum supplied to the register bus 54 is then supplied to a multiplexer 152 whose outputs 154 are connected to the preset inputs of the register files 120, 122, 124 and 126 for updating its most suitable file. The process is updated most of the time. In summary, registers 120, 122, 124 and 126 first supply the addresses and the arithmetic logic unit 148 then processes them and updates the registers from which they advance.

De uitvoeren van de registers 122, die werkwijzersbevatten, worden via de multiplexer 158 aan de adresingangen156 van het datageheugen 50 geleverd. De uitvoeren 130 vanhet registerbestand 124 en de uitvoeren 136 van het regis-terbestand 126, die referentie-werkwijzers bevatten, wordenvia de multiplexer 162 aan de adresingangen 160 van hetdatageheugen 52 geleverd.The outputs of the registers 122 containing processors are supplied through the multiplexer 158 to the address inputs 156 of the data memory 50. The outputs 130 of the register file 124 and the outputs 136 of the register file 126, which contain reference methods, are supplied via the multiplexer 162 to the address inputs 160 of the data memory 52.

De tweede van de alternatieve berekeningsketens in deadresberekeningseenheid 44 is nuttig wanneer datawijzersniet sequentieel uit het geheugen gelezen worden, maar een herhaald voorafbepaald patroon volgen. Het herhaalde patroonwordt opgewekt door een modulo en bitomkeerteller 164waarvan het telpatroon gezet wordt door de som van deuitvoeren van de referentiewijzer en het indexregister op deuitgangen 150 van de rekenkundige logische eenheid 148. Debitomkeringsfunctie vergemakkelijkt de vorming van afwisse¬lend toenemende en afnemende adrespatronen (bijvoorbeeld0,7; 1,6; 2,5; etc.) die nuttig zijn in bepaalde algoritmen,zoals FFT. De uitvoeren 166 van de teller 164 worden gele¬verd aan ingangen van een paar multiplexers 168 en 170 dieop andere ingangen de sommen van de referentie- en werkwij¬zers ontvangen. De uitgangen 172 van de multiplexer 168leveren de sommen van de referentiewijzers aan een patroon-register (PTR^) 174, waarvan de uitvoeren 176 via de multi¬plexer 158 aan de adresingangen van het datageheugen 50geleverd worden. De uitgangen 178 van de multiplexer 170leveren de sommen van de werkwijzers aan een patroonregister(PTI^) 180, waarvan de uitvoeren 182 via de multiplexer 162aan de adresingangen van het datageheugen 52 geleverdworden.The second of the alternative calculation chains in the address calculator 44 is useful when data pointers are not read sequentially from memory, but follow a repeated predetermined pattern. The repeated pattern is generated by a modulo and bit reversal counter 164, the counting pattern of which is set by the sum of the outputs of the reference pointer and the index register on the outputs 150 of the arithmetic logic unit 148. The debit reversal function facilitates the formation of alternately increasing and decreasing address patterns (e.g., 0, 7; 1.6; 2.5; etc.) that are useful in certain algorithms, such as FFT. The outputs 166 of the counter 164 are supplied to inputs of a pair of multiplexers 168 and 170 which receive the sums of the reference and methods on other inputs. The outputs 172 of the multiplexer 168 supply the sums of the reference pointers to a pattern register (PTR) 174, the outputs 176 of which are supplied via the multiplexer 158 to the address inputs of the data memory 50. The outputs 178 of the multiplexer 170 supply the sums of the methods to a pattern register (PTI) 180, the outputs 182 of which are supplied via the multiplexer 162 to the address inputs of the data memory 52.

De bij de tweede alternatieve keten beschikbare specia¬le verwerkingsmodi omvatten modulo rijvorming en bitomke-ring, wat data-adressering vergemakkelijkt voor middeling,correlatie en FFT toepassingen.The special processing modes available in the second alternative chain include modulo rowing and bit reversal, which facilitates data addressing for averaging, correlation and FFT applications.

De rekenkundige eenheid 46 omvat een drie-poort regis-terbestand 200, een parallelle vermenigvuldiger 202, eenrekenkundige logische eenheid (ALU) 204 en een schalings-groepverschuiver ("barrel shifter") 206. Tijdens elke in-structiecyclus is het registerbestand 200 geschikt voor hetlezen van tot drie operands en het uitvoeren van tweeexterne geheugenuitwisselingen. De aanwezigheid van tweedirect toegankelijke extrene datageheugens verhoogt dedoorvoer voor toepassingen, zoals filteren, data-overdrachten FFT.The arithmetic unit 46 includes a three-port register file 200, a parallel multiplier 202, an arithmetic logic unit (ALU) 204 and a scaling group shifter (barrel shifter) 206. During each instruction cycle, the register file 200 is suitable for reading up to three operands and performing two external memory exchanges. The presence of two-way accessible external data memories increases throughput for applications such as filtering, FFT data transfers.

Datacommunicatie vindt plaats via de registerbus 54tussen twee bidirectionele aansluitingen (B) 208 en (C) 210van het registerbestand 200 en de ingangs- en uitgangsaan-sluitingen van de respectievelijke datageheugens 50 en 52.Data communication takes place via the register bus 54 between two bidirectional connections (B) 208 and (C) 210 of the register file 200 and the input and output connections of the respective data memories 50 and 52.

Aan het begin van een instructiecyclus leest de reken¬kundige eenheid 46 uit het registerbestand 200 twee of drieoperands, een vooraf uit het geheugen 52 tijdens een vooraf¬gaande instructiecyclus ingelezen datapunt en/of een voorge¬laden constante. De uit het registerbestand 200 gelezen dataworden gemanipuleerd door de vermenigvuldiger 202, derekenkundige logische eenheid 204 en de groepsverschuiver206 tijdens dezelfde instructiecyclus in overeenstemming metde programma-instructie in uitvoering. Het berekende resul¬taat wordt dan in het registerbestand 200 terug opgeslagen.At the beginning of an instruction cycle, the arithmetic unit 46 reads from the register file 200 two or three operands, a data point previously read from memory 52 during a previous instruction cycle and / or a pre-loaded constant. The data read from the register file 200 is manipulated by the multiplier 202, the logic logic unit 204 and the group shifter 206 during the same instruction cycle in accordance with the program instruction in progress. The calculated result is then stored back in the register file 200.

In het bijzonder worden de data op een derde bidirecti-onele aansluiting (A) 202 van het registerbestand 200geleverd aan een van twee ingangen van een multiplexer 214waarvan de uitvoeren 216 direct aan een ingang van devermenigvuldiger 202 en aan een van twee ingangen van eenmultiplexer 218 geleverd worden. De data op de uitgangen 208van het registerbestand 200 worden direct aan de andereingang van de vermenigvuldiger 202 en aan een van tweeingangen van een multiplexer 220 geleverd. De uitgangen 222van de vermenigvuldiger 202 zijn verbonden met de andereingang van de multiplexer 220. De uitgangen 224 en 226 vande respectievelijke multiplexers 218 en 220 zijn verbondenmet verschillende ingangen van de rekenkundige logischeeenheid 204 waarvan uitvoeren 228 geleverd worden aan deingangen van de groepsverschuiver 206 en een prioriteitco-deur 230. De hiervoor toegelichte rangschikking geeft eenmogelijkheid voor selectieve combinatie van de uit hetregisterbestand 200 te lezen operands en hun produkten voorverwerking door de rekenkundige logische eenheid 204 inovereenstemming met de programma-instructie in uitvoering.Specifically, the data on a third bidirectional terminal (A) 202 of the register file 200 is supplied to one of two inputs of a multiplexer 214, the outputs 216 of which are supplied directly to an input of multiplier 202 and to one of two inputs of a multiplexer 218 turn into. The data on the outputs 208 of the register file 200 are supplied directly to the other input of the multiplier 202 and to one of two inputs of a multiplexer 220. The outputs 222 of the multiplier 202 are connected to the other input of the multiplexer 220. The outputs 224 and 226 of the respective multiplexers 218 and 220 are connected to different inputs of the arithmetic logic unit 204 of which outputs 228 are supplied to the inputs of the group shifter 206 and a priority co door 230. The arrangement explained above allows a selective combination of the operands to be read from the register file 200 and their products to be pre-processed by the arithmetic logic unit 204 in accordance with the program instruction in progress.

Groepsverschuiver ("barrel shifter") 206 verschuift deposities van de bits in het ingangsgegeven om, bijvoorbeeld,de extra leidende logische één-toestanden in een in twee-complementformaat voorgesteld klein negatief gegeven teelimineren of het ingangsgegeven te normaliseren. De werkingvan de prioriteitscodeur 230 bepaalt het aantal verschuivin¬gen die de groepsverschuiver 206 moet uitvoeren, zodat hetdoelmatig de gespecificeerde verschuivingen kan uitvoeren terwijl het bezig is.Group shifter (barrel shifter) 206 shifts depositions of the bits in the input data to, for example, eliminate the additional leading one-state logic in a small negative data represented in two's complement format or normalize the input data. The operation of the priority encoder 230 determines the number of shifts that the group shifter 206 must perform so that it can effectively perform the specified shifts while it is in progress.

De uitgangen 232 van de groepsverschuiver 206 zijnverbonden met de andere ingang van de multiplexer 214 en metde bidirectionele aansluiting (A) 212 van het registerbe-stand 200 voor opslag en latere levering aan de vermenigvul¬diger 202 of de rekenkundige logische eenheid 204, wanneervereist door het programma in uitvoering. De uitgangen 234van de prioriteitscodeur 230 zijn verbonden met de ingangenvan een Q register 236 en met een van twee ingangen van eenmultiplexer 238, waarvan uitgangen 240 verbonden zijn meteen bidirectionele aansluiting (C) 210 van het registerbe-stand 200 en met de andere ingang van de multiplexer 218.Deze rangschikking van de ingangs- en uitgangsaansluitingenvan de multiplexer 238 en de aanwezigheid van het Q register236 en de multiplexer 214 verschaffen de mogelijkheid vanhet uitvoeren van drijvende blokrekenkunde of door derekenkundige eenheid 46 verwerkte data.The outputs 232 of the group shifter 206 are connected to the other input of the multiplexer 214 and to the bidirectional connector (A) 212 of the register file 200 for storage and subsequent delivery to the multiplier 202 or the arithmetic logic unit 204, when required by the program in progress. The outputs 234 of the priority encoder 230 are connected to the inputs of a Q register 236 and to one of two inputs of a multiplexer 238, outputs 240 of which are connected to a bidirectional connection (C) 210 of the register file 200 and to the other input of the multiplexer 218. This arrangement of the input and output terminals of the multiplexer 238 and the presence of the Q register236 and the multiplexer 214 allows the execution of floating block arithmetic or data processed by the arithmetic unit 46.

Het ontwerp van de rekenkundige eenheid 46 omvat eenparallelle vermenigvuldiger 202 en een rekenkundige logischeeenheid 204 omdat veel digitale signaalverwerkingsalgoritmenin test- en meetstelsels gebaseerd zijn op de vermenigvul¬dig- en accumuleerwerking. Het registerbestand 202 omvattevens de accumulators voor de vermenigvuldig- en accumu¬leer instructie. De uitvoer van de vermenigvuldiger 202 kannaar links verschoven worden voor fractionele rekenkunde ofnaar rechts voor vermijding van een overloop door volgendeuitvoering van vermenigvuldig-accumuleerinstructies. Degroepsverschuiver 206 is nuttig voor het schalen van data enhet ondersteunen van de blokrekenmodus met drijvende puntvan de processor. De rekenkundige eenheid 46 zet geschiktevlaggen na uitvoering van een instructie op of terug. Deblokmodus met drijvende punt verschaft automatisch de soortschaling die geëist wordt door een algoritme-ontwerper voorvergroting van het dynamisch bereik maar voert de schalingslechts uit wanneer noodzakelijk gemaakt door de omvang vande data. De rekenkundige eenheid 46 omvat tevens een inhardwaar verwezenlijkt niet-heropslaand deelalgoritme.The design of the arithmetic unit 46 includes a parallel multiplier 202 and an arithmetic logic unit 204 because many digital signal processing algorithms in test and measurement systems are based on the multiply and accumulate operation. The register file 202 also includes the accumulators for the multiply and accumulate instruction. The output of the multiplier 202 can be shifted to the left for fractional arithmetic or to the right for overflow avoidance by subsequent execution of multiply accumulation instructions. The group shifter 206 is useful for scaling data and supporting the floating point block calculation mode of the processor. The arithmetic unit 46 sets or resets appropriate flags after an instruction has been executed. Floating point block mode automatically provides the type scaling required by an algorithm designer for dynamic range enlargement, but performs the scaling only when made necessary by the size of the data. The arithmetic unit 46 also includes a hard-ware realized non-redo partial algorithm.

Gedurende de tijd dat de rekenkundige eenheid 46 op de uit het registerbestand 200 gelezen data werkt, wordt een inhet geheugen 50 opgeslagen nieuw gegevenspunt in het regis¬terbestand 200 gelezen en wordt het tijdens de onmiddellijkvoorafgaande instructiecyclus opgewekte resultaat uit het> registerbestand 200 naar het geheugen 52 gelezen. De gehelewerking wordt daarom een overdracht van ruwe of verwerktedata tussen geheugens 50 en 52 tijdens een enkele instruc¬tiecyclus .During the time that the arithmetic unit 46 is operating on the data read from the register file 200, a new data point stored in the memory 50 is read into the register file 200 and the result generated during the immediately preceding instruction cycle is stored from the> register file 200 to the memory 52 read. The operation therefore becomes a transfer of raw or processed data between memories 50 and 52 during a single instruction cycle.

De werking van de rekenkundige eenheid 46 tijdens een) enkele instructiecyclus kan door middel van de volgende drieuitdrukkingen samengevat worden: GR[ra]^-GR[ra3 * GRtr^], die een van verschillenderekenkundige berekeningen of logische functies aangeeft opeen tijdens de onmiddellijk voorafgaande instructiecyclust uit het geheugen 52 gelezen gegeven; GR^ rMl -1 DM1 £addr13' die een inlezing in het register¬bestand 200 van een in een adreslokatie van het geheugen 50opgeslagen gegeven aangeeft; en DM2[addr2]«- GRErm2^t die het in een lokatie van hetgeheugen 52 opslaan van de inhoud van een registerbestand200 aangeeft.The operation of the arithmetic unit 46 during a single instruction cycle can be summarized by the following three expressions: GR [ra] ^ - GR [ra3 * GRtr ^], which indicates one of several arithmetic calculations or logic functions consecutively during the immediately preceding instruction cycle read from memory 52; GR1 rM1 -1 DM1 £ addr13 'which indicates a reading in the register file 200 of a data stored in an address location of the memory 50; and DM2 [addr2] «- GRErm2 ^ t indicating storing the contents of a register file 200 in a location of the memory 52.

De door de adresgenerators van de adresberekeningseen-heid 44 berekende adressen voor de geheugens 50 en 52 en delusbesturingsmechanischmen van de instructie-ophaaleenheid42 vergemakkelijken de data-overdrachtsfunctie. Het regis¬terbestand 200 vergemakkelijkt niet alleen interactie met dedatageheugens 50 en 52, maar maakt ook de uitvoering van eenvermenigvuldig-accumuleer schuifbewerking mogelijk.The addresses for the memories 50 and 52 and the loop controllers of the instruction fetch unit 42 calculated by the address generators of the address calculation unit 44 facilitate the data transfer function. The register file 200 not only facilitates interaction with the data memories 50 and 52, but also allows the execution of a multiply accumulate shift operation.

Claims (5)

1. Werkwijze voor het benaderen en verwerken van operandsvoor het op een pijplijnwijze opwekken van een uitvoerresul-taat bij beëindiging van elk van opeenvolgende instructie-cycli in een datasignaalprocessor, die een instructie-op¬haaleenheid, een adresberekeningseenheid, en een rekenkundi¬ge eenheid omvat die parallel en met datacommunicatie tussenelkaar werken, waarbij de instructie-ophaaleenheid instruc¬ties aan de berekeningseenheid levert voor het leveren vanvooraf opgeslagen operands aan de rekenkundige eenheid voorverwerking in overeenstemming met een voorafbepaald algorit¬me, omvattende: het benaderen van in een aantal datageheugens opgesla¬gen operands, waarbij het benaderen plaatsvindt tijdens eenenkele instructiecyclus in responsie op een door de instruc¬tie-ophaaleenheid verkregen instructie; en het tijdens de enkele instructiecyclus leveren van deoperands aan een rekenkundige eenheid die ingericht is voorhet uitvoeren van rekenkundige bewerkingen en/of logischefuncties voor het opwekken en opslaan van een resultaat envoor het aan een uitgangsbus leveren van een tijdens eenvoorafgaande instructiecyclus opgewekt resultaat.1. A method of accessing and processing operands for pipelining generating an output result upon termination of each of successive instruction cycles in a data signal processor, comprising an instruction fetch unit, an address calculator, and an arithmetic unit comprising operating in parallel and with data communication, the instruction fetching unit providing instructions to the computing unit for supplying pre-stored operands to the computing unit in accordance with a predetermined algorithm, comprising: accessing a plurality of data memories stored operands, the approximation taking place during a single instruction cycle in response to an instruction obtained by the instruction fetch unit; and delivering the operands during the single instruction cycle to an arithmetic unit adapted to perform arithmetic operations and / or logic functions to generate and store a result and to supply an output bus with a result generated during a previous instruction cycle. 2. Werkwijze volgens conclusie 1, met het kenmerk, dat dedatageheugens extern van de instructie-ophaaleenheid, deadresberekeningseenheid en de rekenkundige eenheid aange¬bracht zijn.Method according to claim 1, characterized in that the data memories are arranged externally of the instruction fetching unit, dead address calculation unit and the arithmetic unit. 3. Werkwijze volgens conclusie 1, met het kenmerk, dat derekenkundige bewerkingen en de logische functies die derekenkundige eenheid in de enkele instructiecyclus kanuitvoeren vermenigvuldiging, accumulatie en schuiven omvat.Method according to claim 1, characterized in that the arithmetic operations and the logic functions that the arithmetic unit can perform in the single instruction cycle comprise multiplication, accumulation and shifting. 4. Werkwijze volgens conclusie 1, met het kenmerk, dat derekenkundige eenheid een multi-poortopslagregister, eenmulti-bitparallelle vermenigvuldiger, een rekenkundigelogische eenheid en een groepsverschuiver ("barrel shifter")omvat, waarvan de ingangs- en uitgangsaansluitingen metelkaar verbonden zijn voor het langs geschikte internedatawegen leiden van door de datageheugens geleverde ope- rands en voor het opslaan van het resultaat in overeenstem¬ming met de door de instructie-ophaaleenheid verkregeninstructie.Method according to claim 1, characterized in that the arithmetic unit comprises a multi-port storage register, a multi-bit parallel multiplier, an arithmetic logic unit and a group shifter (barrel shifter), the input and output terminals of which are connected together for longitudinal appropriate internal data paths lead from open edges provided by the data memories and for storing the result in accordance with the instruction obtained by the instruction fetch unit. 5. Werkwijze volgens conclusie 4, gekenmerkt door: het in een multi-poortopslagregister opslaan van eentijdens een instructiecyclus opgewekt resultaat; en het leveren van het resultaat aan de vermenigvuldigervoor de verwerking met een tijdens de volgende instructiecy¬clus ontvangen operand voor berekening van een uitgangsre-sultaat in overeenstemming met een iteratief verwerkingsal-goritme.A method according to claim 4, characterized by: storing a result generated during an instruction cycle in a multi-port storage register; and supplying the result to the multiplier for processing with an operand received during the next instruction cycle for calculating an output result in accordance with an iterative processing algorithm.
NL8902040A 1988-08-19 1989-08-10 HIGH SPEED DIRECT MEMORY ACCESS CONTROL FOR TEST AND MEASUREMENT INSTRUMENTS. NL8902040A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US23423288A 1988-08-19 1988-08-19
US23423288 1988-08-19

Publications (1)

Publication Number Publication Date
NL8902040A true NL8902040A (en) 1990-03-16

Family

ID=22880498

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8902040A NL8902040A (en) 1988-08-19 1989-08-10 HIGH SPEED DIRECT MEMORY ACCESS CONTROL FOR TEST AND MEASUREMENT INSTRUMENTS.

Country Status (2)

Country Link
JP (1) JPH02100135A (en)
NL (1) NL8902040A (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06168116A (en) * 1992-11-30 1994-06-14 Mitsubishi Electric Corp Microcomputer
JP3658072B2 (en) * 1996-02-07 2005-06-08 株式会社ルネサステクノロジ Data processing apparatus and data processing method
AU2015413794B2 (en) 2015-11-02 2019-05-09 Mitsubishi Electric Corporation Fan, outdoor unit, and refrigeration cycle apparatus

Also Published As

Publication number Publication date
JPH02100135A (en) 1990-04-12

Similar Documents

Publication Publication Date Title
USRE34850E (en) Digital signal processor
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
US4972359A (en) Digital image processing system
US6367003B1 (en) Digital signal processor having enhanced utilization of multiply accumulate (MAC) stage and method
US5081573A (en) Parallel processing system
EP0329023A2 (en) Apparatus for performing digital signal processing including fast fourier transform radix-4 butterfly computations
EP0127508A2 (en) Full floating point vector processor
JPH06509893A (en) Image processing and graphics processing system
CN111353126A (en) Block matrix multiplication system
CN1809810A (en) Instruction controlled data processing device
US5083267A (en) Horizontal computer having register multiconnect for execution of an instruction loop with recurrance
JP2008519349A (en) Programmable data processing circuit supporting SIMD instructions
KR20010031192A (en) Data processing system for logically adjacent data samples such as image data in a machine vision system
KR20100075588A (en) Apparatus and method for performing magnitude detection for arithmetic operations
US4823258A (en) Index limited continuous operation vector processor
EP0530310A1 (en) Programmable signal processor architecture, system for implementing circuits and method for processing information in said processor
JP2002297377A (en) Simd-type microprocessor having sorting function
JPS63167967A (en) Digital signal processing integrated circuit
NL8902040A (en) HIGH SPEED DIRECT MEMORY ACCESS CONTROL FOR TEST AND MEASUREMENT INSTRUMENTS.
JPH04503720A (en) Flexible control device and method for digital signal processing device
JPH03210680A (en) Curve generator
EP0474246A2 (en) Image signal processor
GB2425860A (en) Multi-dimensional fast fourier transform
CN109800191B (en) Method and apparatus for calculating covariance of sequence data
EP1936492A1 (en) SIMD processor with reduction unit

Legal Events

Date Code Title Description
BV The patent application has lapsed