ITRM960155A1 - Processore per calcolatore che utilizza la conversione logaritmica e motodo di uso - Google Patents
Processore per calcolatore che utilizza la conversione logaritmica e motodo di uso Download PDFInfo
- Publication number
- ITRM960155A1 ITRM960155A1 IT96RM000155A ITRM960155A ITRM960155A1 IT RM960155 A1 ITRM960155 A1 IT RM960155A1 IT 96RM000155 A IT96RM000155 A IT 96RM000155A IT RM960155 A ITRM960155 A IT RM960155A IT RM960155 A1 ITRM960155 A1 IT RM960155A1
- Authority
- IT
- Italy
- Prior art keywords
- values
- output
- processing elements
- accumulator
- logarithmic
- Prior art date
Links
- 238000006243 chemical reaction Methods 0.000 title claims description 25
- 238000012545 processing Methods 0.000 claims description 78
- 238000000034 method Methods 0.000 claims description 33
- 230000015654 memory Effects 0.000 claims description 5
- 241001442055 Vipera berus Species 0.000 description 25
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005465 channeling Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000001020 rhythmical effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/02—Digital function generators
- G06F1/03—Digital function generators working, at least partly, by table look-up
- G06F1/0307—Logarithmic or exponential functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/5235—Multiplying only using indirect methods, e.g. quarter square method, via logarithmic domain
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
- Radar Systems Or Details Thereof (AREA)
- Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
- Advance Control (AREA)
Description
DESCRIZIONE
a corredo di una domanda di Brevetto d'invenzione, avente per titolo:
"Processore per calcolare che utilizza la conversione logaritmica e metodo di uso"
Invenzioni sullo stesso argomento
La presente invenzione è in relazione alle seguenti invenzioni che sono state cedute alla stessa richiedente della presente invenzione:
La materia delle invenzioni precedentemente ideri tificate viene citata nella presente per riferimento nella descrizione della presente invenzione.
Campo dell'Invenzione
La presente invenzione si riferisce in linea generale ai calcolatori e, in particolare, ad un process£ re o elaboratore per calcolatore avente una molteplicità di elementi di elaborazione.
Precedenti dell'Invenzione
Gli elaboratori per calcolatore sono ben noti e largamente usati per una varietà di scopi. Una applicazione di un elaboratore per calcolatore è quella della elaborazione di segnali digitali (DSP). Per definizione, la elaborazione dei segnali digitali concerne la rappre sentazione di segnali per mezzo di sequenze di numeri o simboli e la elaborazione di questi segnali. La elabora zione di segnali digitali presenta una ampia varietà di applicazioni e la sua importanza è evidente in campi quali il riconoscimento delle configurazioni, le comun_i_ cazioni radio, le telecomunicazioni, il radar, l'ingegneria biomedica e molti altri campi.
Nel cuore di ogni sistema di elaborazione di segnali digitali vi è un elaboratore o processore per cal colatore che esegue operazioni matematiche sui segnali. In generale, i segnali ricevuti da un sistema di elaborazione per segnali digitali vengono prima convertiti in un formato digitale usato dall'elaboratore del calc£ latore. Quindi, il processore del calcolatore esegue una serie di operazioni matematiche sul segnale digitalizzato. Lo scopo di queste operazioni può essere quella di stimare i parametri caratteristici del segnale o£ pure trasformare il segnale in una forma che sia in qualche senso più desiderabile. Tali operazioni tipicamente implementano una matematica complicata e comporta no una vasta elaborazione numerica. Esempi di operazioni matematiche che possono essere eseguite nei sistemi di elaborazione per segnali digitali comprendono la moJ_ tiplicazione matriciale, la inversione delle matrici, la trasformata rapida di Fourier (FFT), la auto correi^ zione e la correlazione incrociata, le trasformate di valori discreti di coseno (DCT), le equazioni polinomi^ li e le equazioni differenziali in generale, come quelle usate per approssimare i filtri a risposta impulsiva infinita (IIR) ed a risposta impulsiva finita (FIR).
Gli elaboratori per calcolatori variano considerevolmente sotto l'aspetto della progettazione e del funzionamento. Un aspetto della progettazione di detto processore è la sua architettura. In generale, il termi ne di architettura per calcolatore di riferisce alla se rie delle istruzioni ed alla organizzazione di un processore. Una serie di istruzioni è un gruppo di istruzioni visibili dal programmatore usate per programmare l'elaboratore. La organizzazione di un elaboratore, d'altra parte, si riferisce alla sua complessiva struttura ed alla composizione delle risorse di calcolo, per esempio la struttura dei bus, la disposizione di memoria ed il numero degli elementi di elaborazione. Un eie mento di elaborazione, in senso vasto, è un dispositivo incorporato in un elaboratore per calcolatore che svolge operazioni logiche o aritmetiche sui dati che esso riceve. Per esempio, unelemento di elaborazione può essere tanto semplice quanto un circuito sommatore che somma due valori oppure può essere una unità di elabora zione complessa, quale l'unità di elaborazione centrale (CPU) che esegue una ampia varietà di diverse operazioni.
Vi sono molte diverse architetture, comprese fra l 'architettura del calcolatore impostato su istruzioni complesse (CISC) e'1'architettura basata sul calcolatore con serie di istruzioni ridotte (RISC). In aggiunta, alcune architetture presentano soltanto un elemento di elaborazione, mentre altre architetture comprendono due o più elementi di elaborazione. Nonostante le differenze di architettura, tutti gli elaboratori per calcolato ri presentano un obiettivo comune, il quale deve fornire le massime prestazioni al costo minimo. Comunque, le prestazioni di un elaboratore per calcolatore dipendono fortemente dal problema a cui si applica l'elaboratore, ed alcuni, se non uno qualsiasi, degli elaboratori per calcolatori a basso costo sono in grado di svolgere le operazioni matematiche precedentemente riportate alle velocità richieste, per esempio, per alcune attuali applicazioni più pressanti. Per esempio, la compressione dei dati MPEG di un segnale televisivo nello standard NTSC può essere eseguita soltanto utilizzando costosi super-calcolatori di speciale hardware o per scopi speciali.
Molte altre applicazioni, per esempio le trasfor mazioni matriciali in grafica in tempo reale, richiedono dati le cui velocità superano in ogni punto le capacità di un costoso elaboratore singolo, per esempio un microprocessore ed un chip di DSP commercialmente reperibili. Invece, queste applicazioni richiedono l'impiego di costosi calcolatori a multiprocessori oppure a processori multipli. Sebbene i calcolatori a multiprocessore tipicamente abbiano delle frequenze di uscita più elevate, essi comprendono anche una completa serie di istruzioni complesse e sono generalmente difficili da programmare.
Pertanto, vi è la necessità di un elaboratore per calcolatore che esegua operazioni matematiche ad elevate velocità, pur rimanendo economico. Vi è anche la necessità di un elaboratore per calcolatore che presenti una semplice serie di istruzioni e sia facilmente programmato per fornire le desiderate operazioni matema^ tiche. In aggiunta, vi è la necessità di un elaboratore per calcolatore che possa utilizzare una elevata veloc^ tà di produzione dei dati. Un tale elaboratore dovrebbe anche avere una piccola dimensione e consumare relativa mente poca energia elettrica.
Breve descrizione dei Disegni L'invenzione è puntualizzata con particolarità nelle rivendicazioni allegate. Tuttavia, altre caratteristiche dell'invenzione appariranno più evidenti e la invenzione sarà meglio compresa facendo riferimento alla seguente descrizione dettagliata in combinazione con i disegni allegati, in cui:
la Figura 1 illustra un elaboratore per calcolatore in conformità ad una forma di realizzazione della presente invenzione,
la Figura 2 illustra un elaboratore per calcolatore in conformità con una preferita forma di realizzazione della presente invenzione,
la Figura 3 rappresenta un diagramma concettuale di un albero di sommatore,
la Figura 4 rappresenta un diagramma concettuale di una unità accurnulatrice,
la Figura 5 illustra un albero sommatore impiega to in combinazione con una unità accumulatrice,
la Figura 6 illustra un formato di istruzione in conformità ad una preferita forma di realizzazione della presente invenzione,
la Figura 7 rappresenta un diagramma di flusso di un procedimento di uso dell'elaboratore per calcolatore della Figura 1, per generare almeno un segnale di uscita,
la Figura 8 rappresenta un diagramma di flusso del procedimento di uso del1'elaboratore per calcolatore della Figura 1, in cui gli indirizzi sono distribuiti agli elementi di elaborazione,
la Figura 9 rappresenta un.diagramma di flusso di un procedimento di uso dell'elaboratore per calcolatore della Figura 1, in cui i segnali di uscita sono utilizzati come retroazione,
la Figura 10 rappresenta un diagramma di flusso di un procedimento di uso dell'elaboratore per calcolatore della Figura 2, per generare almeno un segnale di uscita,
la Figura 11 rappresenta un diagramma di flusso di un procedimento di uso dell'elaboratore per calcolatore della Figura 2, in cui gli indirizzi sono distribuiti agli elementi di elaborazione,
la Figura 12 rappresenta un diagramma di flusso di un procedimento di uso del1'elaboratore per calcolatore della Figura 2, in cui i segnali di uscita sono utilizzati come retroazione.
Descrizione dettagliata della preferita forma di realizzazione In linea generale, la presente invenzione fornisce un eia boratore per calcolatore che riceve una pluralità di se gnali di ingresso e, a sua volta, genera almeno un segnale di uscita. I segnali di ingresso e di uscita sono tipicamente considerati come valori binari che rappresentano dati numerici. In conformità ad un aspetto della presente invenzione, l'elaboratore o processore per calcolatore comprende: un convertitore logaritmico che converte i segnali di ingresso in corrispondenti valori logaritmici; due o più elementi di elaborazione che ricevono i valori logaritmici e generano come uscita valo ri di termini; un convertitore logaritmico inverso per convertire i valori di termini in corrispondenti valori convertiti; un accumulatore per sommare le unità dei va lori convertiti per produrre almeno un segnale di uscita; ed una unità di controllo che configura l'accumulatore in modo da eseguire le operazioni in conformità con una istruzione.
Un vantaggio della presente invenzione consiste nel fatto che essa fornisce un processore per calcolate) re che è capace di svolgere sofisticate operazioni mate matiche con elevate velocità di elaborazione. Il proce£ sore può essere usato per una moltiplicazione matriciale, una inversione matriciale, una trasformata di Fourier rapida (FFT), una auto correlazione ed una correlazione incrociata, una trasformata di coseno discreta (DCT), equazioni polinomiali, calcoli di norme di L1 e L2 ed equazioni differenziali in generale, per esempio quelle usate per approssimare i filtri con risposta impulsiva infinita (11R) e con risposta impulsiva finita (FIR). Un altro vantaggio della presente invenzione consiste nel fatto che essa fornisce un processore per calcolata re che presenta una elevata velocità di produzione di dati. Un ulteriore vantaggio della presente invenzione consiste nel fatto che essa fornisce un processore per calcolatore che viene efficientemente implementato in un circuito integrato e, di conseguenza, presenta piccole dimensioni e consuma una energia relativamente bas sa.
La Figura 1 illustra un processore per calcolato re in conformità ad una forma di realizzazione della presente invenzione. II processore per calcolatore comprende un convertitore logaritmico 12 ed una pluralità di elementi di elaborazione, un convertitore logaritmico inverso 28, una unità di controllo 38, un commutatore di retroazione 36 ed un accumulatore 32. Tre della pluralità di elementi di elaborazione sono rappresentati nella Figura 1 dagli elementi di elaborazione 16a, 16b e 16c.
Il funzionamento del processore per calcolatore tipicamente procede nella maniera seguente. Inizialmente, il processore per calcolatore è configurato per la esecuzione nel tempo di funzionamento. Ciò viene effettuato quando una istruzione è ricevuta dall'unità di controllo 38 attraverso un bus 40 per le istruzioni. La unità di controllo 38 quindi decodifica l'istruzione per generare un primo segnale di controllo 31 ed un secondo segnale di controllo 33. Il primo segnale di controllo 31 viene usato per configurare l’accumulatore 32 in modo da eseguire specifiche operazioni di somma, meri tre il secondo segnale di controllo 33 viene usato per configurare il commutatore di retroazione 36 in posizi£ ne aperta oppure in posizione chiusa.
A seguito della configurazione iniziale dell'accumulatore 32 e del commutatore di retroazione 36, una pluralità di segnali di ingresso possono essere ricevuti dal convertitore logaritmico 12 attraverso una porta di ingresso 10. Il convertitore logaritmico 12 esegue una conversione logaritmica della pluralità dei segnali di ingresso per generare una corrispondente pluralità di valori logaritmici. I valori logaritmici vengono quindi distribuiti attraverso un bus 14 agli ingressi della pluralità degli elementi di elaborazione 16a-16c. In aggiunta alla ricezione dei segnali di ingresso, lo elaboratore per calcolatore può anche ricevere una pluralità di indirizzi corrispondenti ai segnali di ingres so. Gli indirizzi vengono distribuiti attraverso un bus 8 ad una pluralità di elementi di elaborazione 16a-16c. Gli indirizzi vengono usati dagli elementi di elaborazione per estrarre i valori dei dati memorizzati corrispondenti ai valori di ingresso.
A seguito della ricezione dei segnali di ingresso, ciascun elemento di elaborazione esegue una o più operazioni che comportano il fatto che, in qualità di uscita, venga generato almeno un valore di termine. I valori di termini generati dalla pluralità degli elemeri ti di elaborazione sono rappresentati dai numeri 18a, 18b e 18c. Il convertitore 28 di logaritmo inverso esegue una conversione logaritmica inversa sui valori di termini 18a-18c per generare una pluralità di valori convertiti 30. A sua volta, l'accumulatore o totalizzatore 32 somma alcuni scelti dei valori convertiti 30 per produrre uno o più segnali di uscita che sono dispc) nibìli su una porta di uscita 34.
Il convertitore logaritmico 12 può essere un qualsiasi mezzo per eseguire una conversione logaritmica dei segnali di ingresso, incluso un programma di cal colatore che viene eseguito su un microprocessore. Tuttavia, in una preferita forma di realizzazione della presente invenzione, il convertitore logaritmico 12 si approssima ad una funzione logaritmica utilizzando una regressione lineare. Il convertitore logaritmico 12 com prende una tabella di consultazione o di lettura (non rappresentata) ed un mezzo aritmetico (non rappresentato) per eseguire le conversioni, come è ben noto a coloi ro che sono esperti nel settore. I segnali di ingresso ed i valori logartimici possono essere una qualsiasi rappresentazione a n bit di valori numerici; tuttavia, essi sono preferibilmente rappresentati da numeri con punto decimale fluttuante da 23 bit aventi un formato che comprende un bit di segno, un esponente di 6 bit ed una mantissa da 16 bit.
Quando un numero con punto decimale fluttuante viene ricevuto dal convertitore logaritmico 12,, i 9 bit più significativi della mantissa vengono usati come indirizzo per estrarre un corrispondente inserimento dalla tabella di consultazione precedentemente menziona ta. L'inserimento estratto viene quindi applicato al mezzo aritmetico per generare il valore logaritmico di uscita dal convertitore logaritmico 12. Ulteriori dettjì gli del convertitore logaritmico 12 usato in una preferita forma di realizzazione sono riportati nell'invenzione No. 4 precedentemente riferita.
In un'altra forma di realizzazione della presente invenzione, il convertitore logaritmico 12 si appro_s sima ad una funzione logaritmica utilizzando una regre£ sione del secondo ordine. I segnali di ingresso sono rappresentati da numeri con punto decimale fluttuante da 32 bit standard secondo le norme IEEE. Utilizzando questo formato, ciascun segnale di ingresso presenta un bit di segno, un esponente di 11 bit ed una mantissa di 23 bit. Ulteriori dettagli del convertitore logaritmico usato nella presente invenzione sono riportati nell'invenzione sullo stesso argomento precedentemente identificata No. 5.
Ciascuno degli elementi di elaborazione 16a-16c genera come uscita almeno un valore di termine 18a-18c, in cui:
in cui y rappresenta il valore del termine, w rappresen ta un valore di coefficiente, xi rappresenta l'i-simo valore logaritmico ricevuto dall'elemento di elaborazio ne, gì rappresenta un valore di esponente corrispondente all'i-simo valore logaritmico ed m e n rappresentano numeri interi.
In una preferita forma di realizzazione, un elemento di elaborazione calcola un valore di termine utilizzando un circuito digitale che implementa una moltiplicazione basata su uno scorrimento, come descritto dall'invenzione sullo stesso argomento No. 2 precedente mente identificata.
Ciascun elemento di elaborazione può includere una memoria cache o di servizio (non rappresentata) per memorizzare almeno unvalore di esponente ed un valore di coefficiente. In questo caso, ciascun indirizzo rice vuto attraverso il bus 8 degli indirizzi corrisponde ad uno dei segnali di ingresso e viene usato per estrarre dalla memoria di servizio un valore di coefficiente e di esponente che corrisponde al segnale di ingresso.
Il convertitore logaritmico inverso 28 può essere costituito da unqualsiasi mezzo per eseguire una cori versione logaritmica inversa dei valori dei termini 18a-18c, con inclusione di un programma di calcolatore che viene attuato su un microprocessore o il convertitore logaritmico inverso come descritto nell'invenzione sullo stesso argomento No. 5 precedentemente identificata. Tuttavia, il convertitore logaritmico inverso 28 preferibilmente presenta una struttura identica a quella del convertitore logaritmico inverso descritto nell'invenzione relativa No. 4 precedentemente identificata, la quale struttura comprende una tabella di lettura o di consultazione (non rappresentata) ed un mezzo aritmetico (non rappresentato). Facoltativamente, i valori 18a-18c dei termini sono rappresentati da un valore binario avente una porzione intera ed una porzione frazionaria, mentre i valori convertiti sono rappresentati da numeri con punto decimale fluttuante da 23 bit aventi un formai to che comprende un bit di segno, un esponente di 6 bit ed una mantissa di 16 bit, tuttavia sono possibili altre strutture, per esempio il formato con punto decimale fluttuante da 32 bit che è compatibile con il sistema IEEE. La porzione frazionaria dei valori di termini 18a-18c viene usata per estrarre gli inserimenti effettuati dalla tabella di consultazione. Gli inserimenti estratti vengono quindi applicati ai mezzi aritmetici per generare corrispondenti valori convertiti. Ulteriori dettaglid el preferito convertitore logaritmico inverso possono essere trovati nell'invenzione No. 4 precedentemente identificata.
L'accumulatore 32 comprende una pluralità di cir cuiti sommatori e di percorsi di dati configurabili o percorsi di incanalamento. Essenzialmente, il primo segnale di controllo 31 abilita vari percorsi di dati per valori convertiti scelti agli ingressi dei circuiti som matori. Il primo segnale di controllo 31 abilita anche i percorsi dei dati che incanalano le uscite dei circu_i_ ti sommatori agli ingressi di altri circuiti sommatori e ad una porta o varco di uscita 34. In una preferita forma di realizzazione della presente invenzione, l'accumulatore 32 presenta la struttura e la funzione del circuito accumulatore descritto nell'invenzione relativa No. 3 precedentemente identificata.
L'accumulatore può essere configurato in modo da svolgere una qualsiasi di quattro diverse funzioni. In primo luogo, l'accumulatore 32 può essere configurato in modo da funzionare come un albero sommatore. In questa configurazione, l'accumulatore 32 genera i segnali di uscita sommando i valori convertiti corrispondenti ad alcuni scelti della pluralità degli elementi di elaborazione. In secondo luogo, l'accumulatore 32 può esse? re configurato in modo da funzionare come una pluralità di singoli accumulatori. In questa configurazione, ciascuno dei singoli accumulatori genera segnali di uscita sommando i valori convertiti provenienti da uno designato degli elementi di elaborazione. In terzo luogo, l'accumulatore 32 può essere configurato in modo da funzionare come un albero sommatore impiegato in combinazione con una unità di accumulazione. In questa confi_ gurazione, l'albero sommatore genera una sequenza di uscite, nel corso del tempo, sommando i valori converti ti corrispondenti ad alcuni scelti degli elementi di elaborazione e l'unità di accumulazione quindi somma la sequenza delle uscite del sommatore per produrre segnali di uscita. Nella quarta configurazione, l'accumulsto re 32 semplicemente lascia passare i valori convertiti in qualità di segnali di uscita.
Oltre a produrre i segnali di uscita, l'accumula tore 32 può anche generare degli indirizzi di uscita che corrispondono ai segnali di uscita. Gli indirizzi di uscita sono resi disponibili sulla porta di uscita 34 simultaneamente con i corrispondenti segnali di usci_ ta e possono essere usati da dispositivi esterni per identificare singoli segnali di uscita. In una forma di realizzazione della presente invenzione, gli indirizzi di uscita vengono memorizzati in memorie di sola lettura (ROM, non rappresentate), le quali sono collocate negli elementi di elaborazione 16a-16c. Gli elementi di elaborazione 16a-16c lasciano passare gli indirizzi di uscita verso l'accumulatore attraverso rispettivi bus 19a-19c. Ciascun valore di termine prodotto dagli elementi di elaborazione presenta un indirizzo di uscita ad esso associato. Nelle circostanze in cui i valori convertiti da diversi elementi di elaborazione vengono combinati in un segnale di uscita, l'accumulatore 32 se leziona un indirizzo di uscita da una pluralità di indi_ rizzi di uscita ricevuti e quindi associa l'indirizzo di uscita scelto al segnale di uscita. Per esempio, se l'accumulatore 32 è configurato in modo da produrre un segnale di uscita sommando i valori convertiti dagli e-Iementi di elaborazione uno e due 16a, 16b, allora l'ac cumulatore potrebbe associare l'indirizzo di uscita dal_ l'elemento di elaborazione uno 16a al segnale di uscita.
Il commutatore di retroazione 36 fornisce segnali di uscita al convertitore logaritmico 12 in conformi_ tà con il secondo segnale di controllo 33 dall'unità di controllo 38. La condizione del secondo segnale di controllo 33 regola il commutatore di retroazione nella po sizione aperta o nella posizione chiusa. Nella posizione chiusa, i segnali di uscita sono forniti come segnali di retroazione. La condizione del secondo segnale di controllo 33 dipende dall'istruzione decodificata dalla unità di controllo 38. Le istruzioni possono azionare il commutatore o interruttore di retroazione in una di tre maniere. Una istruzione può, a scelta: (1) mantenere l'interruttore di retroazione 36 nella posizione aperta, senza così fornire alcuna retroazione; (2) chiudere 11interruttore di retroazione 36 dopo un predeterminato intervallo; oppure (3) aprire o chiudere periodi_ camente l'interruttore di retroazione 36 in tempi prede terminati durante il funzionamento dell'elaboratore per calcolatore.
La retroazione dei segnali di uscita consente al_ l'elaboratore per calcolatore di operare con una produt tività molto più elevata durante certe operazioni, per esempio il calcolo delle norme L1 e L2 oppure un filtro digitale con risposta impulsiva infinita (IIR), etc.
Sebbene l'elaboratore per calcolatore della presente invenzione venga preferibilmente implementato come un circuito integrato, per esempio un dispositivo ASIC, coloro che sono normalmente esperti nel ramo rico nosceranno che l'elaboratore per calcolatore della presente invenzione può essere implementato in hardware op pure in software oppure una qualsiasi loro combinazione. Per esempio, una versione della presente invenzione potrebbe implementare il convertitore logaritmico 12 come un programma di software che può essere eseguito su un elaboratore separato, per esempio un microprocessore, mentre i restanti elementi dell'elaboratore per calcola tore potrebbero essere inclusi in un circuito integrato progettato in base alle specifiche dell'utente, collega to all'elaboratore separato.
La Figura 2 illustra un elaboratore per calcolatore in conformità con una preferita forma di realizzazione della presente invenzione. In aggiunta agli elementi rappresentati nella Figura 1, l'elaboratore per calcolatore preferibilmente comprende un circuito multi_ plexer o multiplatore 45 ed un circuito demultiplexer o demultiplatore 53. Il multiplatore 45 seleziona, in con formità ad un terzo segnale di controllo 46, i segnali di ingresso provenienti da una prima porta di ingresso 42 o da una seconda porta di ingresso 44. Il demultipla tore 53 trasmette, in conformità ad un quarto segnale di controllo 52, i segnali di uscita ad una prima porta di uscita 54 oppure ad una seconda porta di uscita 56. Oltre a trasmettere i segnali di uscita, il demultiplatore 53 può anche trasmettere indirizzi di uscita alla una o l'altra delle porte di uscita. Il terzo ed il quarto segnale di controllo 46, 52 sono generati dalla unità di controllo 39, quando essa decodifica una istru zione 40.
Le due porte di ingresso e di uscita consentono all'elaboratore per calcolatore di ricevere i segnali di ingresso da due diverse correnti di dati e di fornire segnali di uscita all'uno o l'altro di due ricevitori. Ciò migliora significativamente la flessibilità del_ l'elaboratore per calcolatore in molte applicazioni. Per esempio, due correnti di dati aventi diverse cadenze dei dati e diverse esigenze di elaborazione possono essere sovrapposte dall'elaboratore per calcolatore, aumentando cosi la produttività complessiva di elaborazione dei dati di detto elaboratore.
La Figura 3 rappresenta un diagramma concettuale di un albero sommatore 62. L'albero sommatore 62 comprende una pluralità di circuiti sommatori che sono col_ legati insieme nella maniera rappresentata per combinare una pluralità di ingressi 60 dell'albero sommatore in una singola somma su una uscita 64 dell'albero somma, tore. Molti diversi sommatori digitali esistono e posse) no essere usati per implementare ciascun circuito somma tore, incluso un sommatore del tipo carriy-look-ahead oppure un sommatore ad ondulazione. Ciascun circuito sommatore somma due operandi per produrre una somma; perciò, un albero sommatore richiede n-1 circuiti sommai tori per n ingressi. Nell'esempio rappresentato, l'albe ro sommatore 62 comprende sette circuiti sommatori e può sommare otto ingressi.
La Figura 4 rappresenta un diagramma concettuale di una unità totalizzatrice o accumulatrice 70. L'unità accumulatrice comprende un circuito sommatore 66 per produrre una somma ed un registro 68 per memorizzare la somma. In aggiunta, il registro 68 fornisce la somma co_ me segnale di ingresso al circuito sommatore 66. Ciò consente all'unità accumu1atrice di sommare una sequenza di ingressi, regolando a zero l'uscita del registro 68, il circuito sommatore 66 semplicemente farà passare gli ingressi verso l'uscita dell'unità accumulatrice.
La Figura 5 illustra l'albero sommatore 62 usato in combinazione con l'unità accumulatrice 70. Questa struttura consente agli ingressi 60 dell'albero sommate) re di essere addizionati, nel corso di un periodo di tempo, in un singolo valore. Una prima serie di segnali di ingresso vengono ricevuti sugli ingressi 60 dell'albero sommatore e quindi vengono combinati in una singola somma sull'uscita 64 dell'albero sommatore. L'uscita 64 dell'albero sommatore viene quindi sommata ai contenuti dei registro 68 per produrre una ulteriore somma. A sua volta, la ulteriore somma viene memorizzata nel registro 68 ed il procedimento viene ripetuto quando un'altra serie di ingressi arriva sull'ingresso 60 del-1'albero sommatore.
La Figura 6 illustra un formato di istruzioni in conformità ad una preferita forma di realizzazione della presente invenzione. Sebbene una persona di ordinaria esperienza apprezzerà il fatto che una istruzione di un calcolatore può assumere·molti diversi formati e conservare lo stesso significato, il formato dell'istru zione della presente invenzione è preferibilmente quello di una parola digitale di 19 bit che comprende i seguenti campi: un codice di identificazione o ID della istruzione, il modo di ingresso/uscita I/O, il codice di identificazione ID del chip, lo sfalsamento o offset e l'indirizzo. II codice di identificazione dell'istruzione è un segmento di 5 bit che indica la identità del_ l'istruzione. Perciò, il formato preferito consente alla serie di istruzioni del1'elaboratore per calcolatore di comprendere fino a 32 diverse istruzioni. Come rappresentato nella Figura 6, il codice di identità della istruzione comprende i bit 14-18 di una istruzione. Il modo di ingresso/uscita è un segmento di 2 bit il quale viene decodificato per generare il terzo segnale di con trollo 46 ed il quarto segnale di controllo 52. Questi segnali, a loro volta, configurano le porte di ingresso e di uscita dell'elaboratore per calcolatore. Il modo di ingresso/uscita è collocato sui bit 12-13 di una istruzione. I bit 7-11 di una istruzione forniscono il codice di identificazione del chip. In una preferita forma di realizzazione, un elaboratore per calcolatore presenta un corrispondente numero di identificazione di 5 bit. L'elaboratore per calcolatore decodifica soltanto le istruzioni aventi i codici di identificazione dei chip che coincidono. Il campo di identificazione del chip consente che una istruzione venga distribuita ad una pluralità di elaboratori per calcolatore su di un bus comune, mentre soltanto gli elaboratori del calcola tore che presentano numeri di identificazione coinciden ti rispondono all'istruzione. I bit 0-6 di una istruzio ne forniscono lo sfalsamento o offset dell'istruzione. Lo sfalsamento dell'istruzione viene decodificato per generare il primo segnale di controllo 31 che, a sua volta, configura l'accumulatore 32.
La Figura 7 rappresenta un diagramma di flusso di un procedimento di impiego dell'elaboratore per calcolatore della Figura 1, per generare almeno un segnale di uscita. Nel riquadro 100, una pluralità di segnali di ingresso sono ricevuti sulla porta di ingresso 10 dell'elaboratore per calcolatore. Successivamente, nel riquadro 102, il convertitore logaritmico 12 esegue una conversione logaritmica dei segnali di ingresso per generare una corrispondente pluralità di valori logaritmi ci. Nel riquadro 104, i valori logaritmici vengono distribuiti alla pluralità degli elementi di elaborazione 16a-16c. Nel riquadro 106, ciascuno degli elementi di e laborazione genera almeno un valore di termine come risultato della ricezione dei valori logaritmici. Nel riquadro 108, una conversione 'logaritmica inversa viene e seguita sui valori di termine per generare una pluralità di valori convertiti. Nel riquadro 110, una istruzio ne viene decodificata dall'unità di controllo 38 per ge nerare il primo segnale di controllo 31 che configura l'accumulatore 32 per la esecuzione di operazioni di somma. Successivamente, nel riquadro 112, l'accumulatore 32 somma i singoli valori convertiti per produrre al_ meno un segnale di uscita sulla porta di uscita 34.
Con riferimento al riquadro 110, l'accumulatore 32 è configurato in modo da eseguire una qualsiasi delle quattro diverse funzioni, come precedentemente descritte per la Figura 1. In una forma di realizzazione della presente invenzione, l'operazione di configura zione dell'accumulatore 32, riquadro 110, si verifica prima dell'operazione di ricezione dei segnali di ingresso, riquadro 100.
Con riferimento ora al riquadro 112, l'elaborata re per calcolatore, in aggiunta ai segnali di uscita, può generare indirizzi di uscita che corrispondono ai segnali di uscita. Questi indirizzi di uscita possono essere utilizzati da dispositivi collegati all'elaboratore per calcolatore per identificare i singoli segnali di uscita.
La Figura 8 rappresenta un diagramma di flusso del procedimento di impiego dell'elaboratore per calcolatore della Figura 1, in cui gli indirizzi sono distri_ buiti agli elementi di elaborazione. Contrariamente al procedimento rappresentato nella Figura 7, il procedimento rappresentato nella Figura 8 comprende le operazioni per elaborare i segnali di ingresso ed i loro cor rispondenti indirizzi. Nel riquadro 120, una pluralità di segnali di ingresso e dei loro indirizzi associati sono ricevuti dall'elaboratore per calcolatore. Successivamente, nel riquadro 122, il convertitore logaritmico 12 esegue una conversione logaritmica sui segnali di ingresso in modo da generare una pluralità di valori logaritmici. Nel riquadro 124, i valori logaritmici ed i loro rispettivi indirizzi sono distribuiti alla plura lità degli elementi di elaborazione 16a-16c. Nel riquadro 126, ciascun elemento di elaborazione utilizza gli indirizzi per ricuperare i valori dei coefficienti e de gli esponenti corrispondenti ai segnali di ingresso. Successivamente, nel riquadro 128, ciascuno degli elementi di elaborazione genera almeno un valore di termine come risultato della ricezione dei valori logaritmici e del ricupero dei valori dei coefficienti e degli esponenti. Nel riquadro 130, una conversione logaritmica inversa viene eseguita sui valori di termine per generare una pluralità di valori convertiti. Nel riquadro 132, una istruzione viene decodificata dall'unità di controllo 38 in modo da generare un primo segnale di controllo 31 che configura l'accumulatore 32 in modo da svolgere le operazioni di somma. Successivamente, nel riquadro 134, l'accumulatore 32 somma i singoli valori convertiti per produrre almeno un segnale di uscita su una porta di uscita 34.
Con riferimento al riquadro 132, l'accumulatore 32 è configurato in modo da svolgere una qualsiasi delle quattro diverse funzioni precedentemente descritte per la Figura 1. In una forma di realizzazione della presente invenzione, l'operazione di configurazione de_l_ l'accumulatore 32, riquadro 132, si verifica prima dell'operazione di ricezione dei segnali di ingresso, riquadro 120.
Con riferimento ora al riquadro 134, l'elaborat£ re per calcolatore, in aggiunta ai segnali di uscita, può generare indirizzi di uscita che corrispondono ai segnali di uscita. Questi indirizzi di uscita possono essere utilizzati da dispositivi collegati all'elaboratore per calcolatore per identificare singoli segnali di uscita.
La Figura 9 rappresenta un diagramma di flusso di un procedimento di impiego dell'elaboratore per calcolatore della Figura 1, in cui I segnali di uscita sorio utilizzati come segnali di retroazione. La retroazio ne dei segnali di uscita consente all'elaboratore per calcolatore di operare con una produttività molto più elevata durante certe operazioni, per esempio il calcolo delle norme L1 e L2 oppure un filtro digitale a rispo sta impulsiva infinita (IIR). Nel riquadro 140? una plu ralità di segnali dì ingresso sono ricevuti dall'elaboratore per calcolatore. Successivamente, nel riquadro 142, il convertitore logaritmico 12 esegue una conversione logaritmica sui segnali di ingresso per generare una pluralità di valori logaritmici. Nel riquadro 144, i valori logaritmici vengono distribuiti alla pluralità degli elementi di elaborazione 16a-16c. Nel riquadro 146, ciascun elemento di elaborazione genera almeno un valore di termine come risultato della ricezione dei va lori logaritmici. Nel riquadro 148, una conversione logaritmica inversa viene eseguita sui valori dei termini per generare una pluralità di valori convertiti. Nel ri_ quadro 150? una istruzione viene decodificata dall'unità di controllo 38 per generare il primo segnale di con trollo 31, il quale configura l'accumulatore 32 per la esecuzione di operazioni di addizione. Successivamente, nel riquadro 152, l'accumulatore 32 somma i singoli valori convertiti per produrre gli almeno uno segnali di uscita attraverso la porta o varco di uscita 34.
Nel riquadro di decisione 154, viene effettuata una verifica per determinare se i segnali di uscita deb bano o meno essere forniti come segnali di retroazione. In caso positivo, il procedimento ritorna al riquadro 142 ed i segnali di uscita sono forniti come segnali di ingresso al convertitore logaritmico 12 attraverso l'in terruttore di retroazione 36. In caso negativo, il procedimento termina. La determinazione se fornire o meno la retroazione è basata sull'istruzione decodificata dall'unità di controllo 38.
Con riferimento al riquadro 150, l'accumulatore 32 è configurato in modo da eseguire una qualsiasi di quattro diverse funzioni, come precedentemente descritto con riferimento alla Figura 1. In una forma di realizzazione della presente invenzione, l'operazione di configurazione dell'accumulatore 32, riquadro 150, si verifica prima dell'operazione di ricezione dei segnali di ingresso, riquadro 140.
Con riferimento ora al riquadro 152, l'elaborata re per calcolatore, in aggiunta ai segnali di uscita, può generare indirizzi di uscita che corrispondono ai segnali di uscita. Questi indirizzi di uscita possono essere utilizzati da dispositivi collegati all'elaboratore del calcolatore per identificare i singoli segnali di uscita.
La Figura IO rappresenta un diagramma di flusso del procedimento di impiego dell'elaboratore per calcolatore della Figura 2 per generare almeno un segnale di uscita. Con riferimento al riquadro 160, il primo, il terzo ed il quarto segnale di controllo vengono generati mediante decodificazione di una istruzione. Nel riquadro 162, il terzo segnale di controllo 46 viene applicato al multiplatore 45 per selezionare una pluralità di segnali di ingresso dalla prima porta di ingresso 42 oppure dalla seconda porta dì ingresso 44. Successivamente, nel riquadro 164, il convertitore logaritmico 12 esegue una conversione logaritmica sulla pluralità dei segnali di ingresso per generare una corrispondente pluralità di valori logaritmici. Nel riquadro 166, i va lori logaritmici sono distribuiti alla pluralità degli elementi di elaborazione 16a-16c. Nel riquadro 168, ciascun elemento di elaborazione genera almeno un valore di termine. Nel riquadro 170, una conversione logaritmica inversa viene eseguita sui valori di termine per generare una pluralità di valori convertiti. Quindi, nel riquadro 172, il primo segnale di controllo 31 viene applicato all'accumulatore 32 per configurare l'accu mulatore 32 in modo da eseguire operazioni di somma o di addizione. Nel riquadro 174, l'accumulatore 32 somma alcuni scelti della pluralità dei valori convertiti per produrre gli almeno uno segnali di uscita. Nel riquadro 176, il quarto segnale di controllo 52 viene applicato al demultiplatore 53 allo scopo di trasmettere gli almeno uno segnali di uscita all'una o all'altra fra la pri_ ma porta di uscita 54 e la seconda porta di uscita 56.
La Figura 11 rappresenta un diagramma di flusso di un procedimento di impiego dell'elaboratore per calcolatore della Figura 2, in cui gli indirizzi sono distribuiti agli elementi di elaborazione. Con riferimento al riquadro 200, il primo, il terzo ed il quarto segnale di controllo sono generati mediante decodificazione di una istruzione. Nel riquadro 202, il terzo segnale di controllo 46 viene applicato al multiplatore 45 per selezionare una pluralità di segnali di ingresso dalla prima porta di ingresso 42 oppure dalla seconda porta di ingresso 44. Successivamente, nel riquadro 204, sono ricevuti una pluralità di indirizzi corrispondenti ai segnali di ingresso. Nel riquadro 206, il convertito re logaritmico 12 esegue una conversione logaritmica sulla pluralità dei segnali di ingresso per generare una corrispondente pluralità di valori logaritmici. Nel riquadro 208, i valori logaritmici ed i loro corrispondenti indirizzi sono distribuiti alla pluralità degli elementi di elaborazione 16a-16c. Nel riquadro 210, ciascun elemento di elaborazione utilizza gli indirizzi per ricuperare i valori dei coefficienti e degli esponenti corrispondenti ai segnali di ingresso e quindi ge_ nera almeno un valore di un termine. Nel riquadro 212, una conversione logaritmica inversa viene eseguita sui valori dei termini per generare una pluralità di valori convertiti. Successivamente, nel riquadro 214, il primo segnale di controllo 31 viene applicato all'accumulatore 32 per configurare l'accumulatore 32 in modo da eseguire operazioni di somma. Nel riquadro 216, l'accumula tore 32 somma alcuni scelti della pluralità dei valori convertiti, per produrre gli almeno uno segnali di usci_ ta. Nel riquadro 218, il quarto segnale di controllo 52 viene applicato al demultiplatore 53 allo scopo di trasmettere gli almeno uno segnali di uscita alla prima porta di uscita 54 oppure alla seconda porta di uscita 56.
La Figura 12 rappresenta un diagramma di flusso di un procedimento di impiego dell'elaboratore per calcolatore secondo la Figura 2, in cui i segnali di uscita sono utilizzati come retroazione. Con riferimento al riquadro 230, il primo, il terzo ed il quarto segnale di controllo vengono generati mediante decodificazione di una istruzione. Nel riquadro 232, il terzo segnale di controllo 46 viene applicato al multiplatore 45 per selezionare una pluralità di segnali di ingresso dalla prima porta di ingresso 42 oppure dalla seconda porta di ingresso 44. Successivamente, nel riquadro 234, il convertitore logaritmico 12 esegue una conversione loga ritmica sulla pluralità dei segnali di ingresso per generare una corrispondente pluralità di valori logaritmi_ ci. Nel riquadro 236, i valori logaritmici sono distribuiti alla pluralità degli elementi di elaborazione 16a-16c. Nel riquadro 238, ciascun elemento di elaborazione genera almeno un valore di termine. Nel riquadro 240, una conversione logaritmica inversa viene eseguita sui valori dei termini in modo da generare una pluralità di valori convertiti. Successivamente, nel riquadro 242, il primo segnale di controllo 31 viene applicato all'ac cumulatore 32 per configurare l'accumulatore 32 in modo da eseguire operazioni di somma. Nel riquadro 244, l' ac cumulatore 32 somma alcuni scelti della pluralità dei valori convertiti, cosi da produrre gli almeno uno segnali di uscita.
Nel riquadro di decisione 246, viene effettuata una verifica per determinare se i segnali di uscita deb bano o meno essere forniti come segnali di retroazione. In caso positivo, il procedimento ritorna al riquadro 234 ed i segnali di uscita sono forniti come segnali di ingresso al convertitore logaritmico 12 attraverso l'in terruttore di retroazione 36. In caso negativo, il pròcedimento termina. La determinazione se fornire o meno la retroazione è basata sull'istruzione decodificata dall'unità di controllo 39.
Nel riquadro 248, il quarto segnale di controllo 52 viene applicato al demultiplatore 53, allo scopo di trasmettere gli almeno uno segnali di uscita alla prima porta di uscita 54 oppure alla seconda porta di uscita 56.
Perciò, in definitiva, è stato descritto nella presente un concetto, insieme con diverse forme di realizzazione, comprendenti una preferita forma di realizzazione, di un elaboratore o processore per calcolatore che esegue conversioni logaritmiche sui segnali di ingresso prima di eseguire operazioni aritmetiche sui segnali di ingresso, permettendo cosi all'elaboratore di effettuare operazioni matematiche con velocità notevolmente maggiori, mentre nello stesso tempo vengono ridot: te la grandezza e la complessità dell'elaboratore in un circuito integrato. Operando su valori logaritmici piut tosto che su segnali di ingresso numerici, gli elementi di elaborazione possono essere implementati utilizzando uno spazio sul silicio significativamente inferiore.
Poiché le varie forme di realizzazione della pre^ sente invenzione forniscono un elaboratore per calcolatore che comprende doppie porte di ingresso e di uscita, essere permettono di realizzare delle velocità di elabo razione dei dati notevolmente aumentate.
Sebbene siano state rappresentate e descritte specifiche forme di realizzazione della presente invenzione, sarà evidente a coloro che sono esperti nel ramo che la descritta invenzione può essere modificata in nu merose maniere e può assumere molte forme di realizzazione diverse dalla forma preferita specificamente espo sta e precedentemente descritta.
In accordo con ciò, si intende nelle allegate ri vendicazioni coprire tutte le modificazioni dell'invenzione che ricadono sotto l'effettivo spirito e nell'ambito dell'invenzione.
Claims (10)
- RIVENDICAZIONI 1. In un elaboratore o processore per calcolatore avente una prima porta di ingresso, una seconda porta di ingresso ed una pluralità di elementi di elaborazione, un procedimento per generare almeno un segnale di uscita, il procedimento comprendendo le seguenti operazioni: generare un primo segnale di controllo, un terzo segnale di controllo ed un quarto segnale di controllo mediante decodificazione di una istruzione; applicare il terzo segnale di controllo ad un circuito multiplexer o multiplatore per selezionare una pluralità di segnali di ingresso dalla prima porta di ingresso oppure dalla seconda porta di ingresso; eseguire una conversione logaritmica sulla pluralità dei segnali di ingresso in modo da generare una pluralità di valori logaritmici; distribuire la pluralità dei valori logaritmici alla pluralità degli elementi di elaborazione; ciascuno della pluralità di elementi di elaborazione generando almeno un valore di termine; effettuare una conversione logaritmica inversa sugli almeno uno valori dei termini da ciascuno della pluralità degli elementi di elaborazione in modo da generare una pluralità di valori convertiti; applicare il primo segnale di controllo ad un accumulatore per configurare l'accumulatore in modo da eseguire operazioni di somma; sommare alcuni della pluralità dei valori convertiti in modo da produrre gli almeno uno segnali di uscita; e applicare il quarto segnale di controllo ad un circuito demultiplexer o demultiplatore per trasmettere negli almeno uno segnali di uscita ad una prima porta di uscita oppure ad una seconda porta di uscita.
- 2. Procedimento secondo la rivendicazione 1, in cui gli almeno uno valori dei termini hanno la forma: in cui y rappresenta gli almeno uno valori deitermini, w rappresenta un valore di coefficiente, gi rappresenta un valore di esponente, Xi. rappresenta uno della pluralità dei valori logaritmici, m e n sono numeri interi ed i rappresenta un numero intero nell'intervallo fra m e n.
- 3. Procedimento secondo la rivendicazione 2, ulteriormente comprendente le seguenti operazioni: ricevere una pluralità di indirizzi corrispondenti alla pluralità dei segnali di ingresso; distribuire la pluralità degli indirizzi alla pluralità degli elementi di elaborazione; e ciascuno della pluralità degli elementi di elaborazione utilizzando la pluralità degli indirizzi per estrarre da una memoria cache o di servizio il valore dei coefficienti ed il valore degli esponenti corrispondenti ad uno della pluralità dei segnali di ingresso.
- 4. Procedimento secondo la rivendicazione 1, in cui l'operazione di generazione dei segnali di controllo comprende la sottooperazione di: generare un secondo segnale di controllo mediante decodificazione di una istruzione; e in cui il procedimento comprende ulteriormente la seguente operazione: includere gli almeno uno segnali di uscita nella pluralità dei segnali di ingresso in conformità con il secondo segnale di controllo.
- 5. Procedimento secondo la rivendicazione 1, in cui l'operazione di applicazione del primo segnale di controllo comprende la sottooperazione di configurare l'accumulatore in modo da generare un segnale di uscita mediante la somma dei valori convertiti corrispondenti ad alcuni scelti della pluralità degli elementi di elaborazione.
- 6. Procedimento secondo la rivendicazione 1, in cui l'operazione di applicazione del primo segnale di controllo comprende la sottooperazione di configurare l'accumulatore in modo da generare una pluralità di segnali di uscita, in cui ciascuno della pluralità dei segnali di uscita viene generato sommando i valori convertiti corrispondenti ad uno della pluralità degli elementi di elaborazione.
- 7. Procedimento secondo la rivendicazione 1, in cui l'operazione, di applicazione del primo segnale di controllo comprende la sottooperazione di configurare l'accumulatore in modo da generare un segnale di uscita sommando i valori convertiti corrispondenti ad alcuni scelti della pluralità degli elementi di elaborazione, in modo da produrre una sequenza di uscite dei sommatori, nel corso del tempo, e sommando la sequenza delle uscite dei sommatori per produrre il segnale di uscita.
- 8. Procedimento secondo la rivendicazione 1, ulteriormente comprendente l'operazione di generare almeno un indirizzo di uscita che corrisponde agli almeno uno dei segnali di uscita.
- 9. Elaboratore per calcolatore che riceve una pluralità di segnali di ingresso e genera almeno un segnale di uscita, comprendente: un convertitore logaritmico per eseguire una conversione logaritmica sulla pluralità dei segnali di ingresso in modo da generare una pluralità di valori logaritmici; una pluralità di elementi di elaborazione, ciascuno della pluralità degli elementi di elaborazione avendo un ingresso e generando come uscita almeno un valore di termine y, in cui:giXif in cui w rappresenta un valore di un coefficiente, gi rappresenta un valore di un esponente, rappresenta uno della pluralità dei valori logaritmici, m e n sono numeri interi ed i è un numero intero nell'intervallo fra m e n; un bus per distribuire la pluralità dei valori logaritmici agli ingressi della pluralità degli elementi di elaborazione; un convertitore logaritmico inverso per eseguire una conversione logaritmica inversa sugli almeno uno valori dei termini da ciascuno della pluralità degli elementi di elaborazione in modo da generare una pluralità di valori convertiti; un accumulatore per sommare alcuni della pluralità dei valori convertiti per produrre gli almeno uno segnali di uscita; e una unità di controllo, operativamente collegata all'accumulatore, per configurare l'accumulatore in modo da eseguire operazioni in conformità ad una istruzione che può essere decodificata dall'unità di controllo.
- 10. Procedimento per l'impiego di un elaboratore per calcolatore avente una porta di ingresso ed una pluralità di elementi di elaborazione, per generare almeno un segnale di uscita, il procedimento comprendendo le seguenti operazioni: (a) ricevere una pluralità di segnali di ingresso sulla porta di ingresso; (b) eseguire una conversione logaritmica sulla pluralità dei segnali di ingresso in modo da generare una pluralità di valori logaritmici; (c) distribuire la pluralità dei valori logaritmici alla pluralità degli elementi di elaborazione; (d) ciascuno della pluralità degli elementi di elaborazione generando almeno un valore di termine; (e) effettuare una conversione logaritmica inversa sugli almeno uno valori dei termini da ciascuno della pluralità degli elementi di elaborazione per generare una pluralità di valori convertiti; (f) decodificare una istruzione in modo da configurare un accumulatore per eseguire operazioni di addizione o somma; e (g) sommare alcuni della pluralità dei valori convertiti per produrre gli almeno uno segnali di uscita.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/403,158 US5685008A (en) | 1995-03-13 | 1995-03-13 | Computer Processor utilizing logarithmic conversion and method of use thereof |
US08/512,849 US5696986A (en) | 1995-03-13 | 1995-08-09 | Computer processor utilizing logarithmic conversion and method of use thereof |
Publications (3)
Publication Number | Publication Date |
---|---|
ITRM960155A0 ITRM960155A0 (it) | 1996-03-11 |
ITRM960155A1 true ITRM960155A1 (it) | 1997-09-11 |
IT1284293B1 IT1284293B1 (it) | 1998-05-18 |
Family
ID=27018181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
IT96RM000155A IT1284293B1 (it) | 1995-03-13 | 1996-03-11 | Processore per calcolatore che utilizza la conversione logaritmica e motodo di uso |
Country Status (8)
Country | Link |
---|---|
US (1) | US5696986A (it) |
KR (1) | KR960035301A (it) |
CN (1) | CN1140278A (it) |
AU (1) | AU4768296A (it) |
FR (1) | FR2731813A1 (it) |
IT (1) | IT1284293B1 (it) |
SG (1) | SG73402A1 (it) |
WO (1) | WO1996028775A1 (it) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5930158A (en) * | 1997-07-02 | 1999-07-27 | Creative Technology, Ltd | Processor with instruction set for audio effects |
US6032168A (en) * | 1997-08-15 | 2000-02-29 | Motorola, Inc. | Computer system to perform a filter operation using a logarithm and inverse-logarithm converter and methods thereof |
US6023719A (en) * | 1997-09-04 | 2000-02-08 | Motorola, Inc. | Signal processor and method for fast Fourier transformation |
US5951629A (en) * | 1997-09-15 | 1999-09-14 | Motorola, Inc. | Method and apparatus for log conversion with scaling |
US7231614B2 (en) * | 2004-07-06 | 2007-06-12 | Quickfilter Technologies, Inc. | System and method for design and implementation of integrated-circuit digital filters |
US8510361B2 (en) * | 2010-05-28 | 2013-08-13 | George Massenburg | Variable exponent averaging detector and dynamic range controller |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4439839A (en) * | 1981-08-24 | 1984-03-27 | International Telephone And Telegraph Corporation | Dynamically programmable processing element |
US4555768A (en) * | 1983-06-07 | 1985-11-26 | Rca Corporation | Digital signal processing system employing logarithms to multiply and divide |
US4700319A (en) * | 1985-06-06 | 1987-10-13 | The United States Of America As Represented By The Secretary Of The Air Force | Arithmetic pipeline for image processing |
US5109524A (en) * | 1985-07-02 | 1992-04-28 | Vlsi Technology, Inc. | Digital processor with a four part data register for storing data before and after data conversion and data calculations |
US5337266A (en) * | 1987-12-21 | 1994-08-09 | Arnold Mark G | Method and apparatus for fast logarithmic addition and subtraction |
US5359551A (en) * | 1989-06-14 | 1994-10-25 | Log Point Technologies, Inc. | High speed logarithmic function generating apparatus |
US5097434A (en) * | 1990-10-03 | 1992-03-17 | The Ohio State University Research Foundation | Hybrid signed-digit/logarithmic number system processor |
US5331582A (en) * | 1991-12-16 | 1994-07-19 | Pioneer Electronic Corporation | Digital signal processor using a coefficient value corrected according to the shift of input data |
US5365465A (en) * | 1991-12-26 | 1994-11-15 | Texas Instruments Incorporated | Floating point to logarithm converter |
US5553012A (en) * | 1995-03-10 | 1996-09-03 | Motorola, Inc. | Exponentiation circuit utilizing shift means and method of using same |
-
1995
- 1995-08-09 US US08/512,849 patent/US5696986A/en not_active Expired - Fee Related
-
1996
- 1996-01-23 WO PCT/US1996/001019 patent/WO1996028775A1/en active Application Filing
- 1996-01-23 AU AU47682/96A patent/AU4768296A/en not_active Abandoned
- 1996-02-13 FR FR9601725A patent/FR2731813A1/fr active Pending
- 1996-03-11 CN CN96103925A patent/CN1140278A/zh active Pending
- 1996-03-11 IT IT96RM000155A patent/IT1284293B1/it active IP Right Grant
- 1996-03-12 KR KR1019960006456A patent/KR960035301A/ko not_active Application Discontinuation
- 1996-03-14 SG SG1996006419A patent/SG73402A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
AU4768296A (en) | 1996-10-02 |
SG73402A1 (en) | 2000-06-20 |
IT1284293B1 (it) | 1998-05-18 |
ITRM960155A0 (it) | 1996-03-11 |
WO1996028775A1 (en) | 1996-09-19 |
KR960035301A (ko) | 1996-10-24 |
FR2731813A1 (fr) | 1996-09-20 |
CN1140278A (zh) | 1997-01-15 |
US5696986A (en) | 1997-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW310406B (it) | ||
US20190114169A1 (en) | Vector multiplication with accumulation in large register space | |
US20150134936A1 (en) | Single instruction multiple data add processors, methods, systems, and instructions | |
WO1996028774A1 (en) | Exponentiation circuit utilizing shift means and method of using same | |
CN111008003B (zh) | 数据处理器、方法、芯片及电子设备 | |
TWI493453B (zh) | 提高精確度積和演算之微處理器及其視頻解碼裝置、其方法及其電腦程式產品 | |
CN104145245A (zh) | 浮点舍入量确定处理器、方法、系统和指令 | |
EP3238022B1 (en) | Method and apparatus for performing big-integer arithmetic operations | |
US8892615B2 (en) | Arithmetic operation circuit and method of converting binary number | |
JPH11504744A (ja) | 単精度または倍精度で算術演算を行なうためのシステム | |
ITRM960592A1 (it) | Processore per calcolatore avente una architettura in pipeline e relativo procedimento di uso | |
JPH05224883A (ja) | 浮動小数点n−ビット符号付大きさの2進数を固定小数点m−ビット2の補数表示の2進数に変換するためのシステム | |
ITRM960155A1 (it) | Processore per calcolatore che utilizza la conversione logaritmica e motodo di uso | |
Premkumar | A formal framework for conversion from binary to residue numbers | |
US7219117B2 (en) | Methods and systems for computing floating-point intervals | |
US6151612A (en) | Apparatus and method for converting floating point number into integer in floating point unit | |
US5685008A (en) | Computer Processor utilizing logarithmic conversion and method of use thereof | |
US10664237B2 (en) | Apparatus and method for processing reciprocal square root operations | |
EP3379407B1 (en) | Embedded system, communication unit and method for implementing an exponential computation | |
EP0936537B1 (en) | Cyclic redundancy check in a computer system | |
del Campo et al. | A multi-cycle fixed point square root module for FPGAs | |
CN110647307B (zh) | 数据处理器、方法、芯片及电子设备 | |
US6725360B1 (en) | Selectively processing different size data in multiplier and ALU paths in parallel | |
EP0431417A2 (en) | Method and apparatus for SRT divison using gray coded quotient bit signals | |
JP3286990B2 (ja) | ディジタルシグナルプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
0001 | Granted |