DE3636106A1 - Digitaler signalprozessor - Google Patents
Digitaler signalprozessorInfo
- Publication number
- DE3636106A1 DE3636106A1 DE19863636106 DE3636106A DE3636106A1 DE 3636106 A1 DE3636106 A1 DE 3636106A1 DE 19863636106 DE19863636106 DE 19863636106 DE 3636106 A DE3636106 A DE 3636106A DE 3636106 A1 DE3636106 A1 DE 3636106A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- arithmetic
- multipliers
- digital signal
- memory
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
- 230000015654 memory Effects 0.000 claims description 40
- 238000000034 method Methods 0.000 claims description 2
- 238000009825 accumulation Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- 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/544—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 for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
Description
Die Erfindung bezieht sich auf einen digitalen Signalprozessor,
und insbesondere bezieht sie sich auf einen digitalen Signal
prozessor mit einer verbesserten digitalen Signalverarbeitung.
Ein digitaler Signalprozessor ist ein Mikroprozessor, der auf
das digitale Signalverarbeiten zugeschnitten ist, der zu dem
Zwecke der schnellen Durchführung von arithmetischen Operatio
nen der Multiplikation und Addition entwickelt ist, wie sie
häufig bei digitalem Signalverarbeiten benötigt werden.
Fig. 1 ist ein schematisches Blockschaltdiagramm, das ein Bei
spiel eines konventionellen digitalen Signalprozessors zeigt,
wie er zum Beispiel in "A Single-Chip Digital Signal Processor
for Voiceband Applications" von Y. Kawakami u.a., IEEE Inter
national Solid-State Circuits Conference, Seiten 40-41, 1980,
veröffentlicht ist. Unter Bezugnahme auf Fig. 1 wird ein digi
taler Signalprozessor beschrieben, der, wie in einem gewöhn
lichen Mikrocomputer, einen Speicherbereich 1, einen Steuer
bereich 2, einen arithmetischen Rechenbereich 3 und einen Da
tenbus 4 aufweist. Der Speicherbereich 1 weist einen Direkt
zugriffsspeicher (im folgenden RAM genannt) 11 und einen Nur-
Lese-Speicher (im folgenden ROM genannt) 12 auf. In dem arith
metischen Rechenbereich 3 zu verarbeitende Daten, und Daten,
die zum Verarbeiten nötig sind, sind in dem RAM 11 und dem ROM
12 gespeichert. Nicht-feste Daten sind in dem RAM 11 gespei
chert, und feste Daten (zum Beispiel konstante Daten usw. für
Multiplikation) sind in dem ROM 12 gespeichert. Der RAM 11 und
der ROM 12 sind mit dem Datenbus 4 verbunden.
Der Steuerbereich 2 weist einen Befehls-ROM 21, einen Programm
zähler 22, ein Befehlsregister 23 und einen Befehlsdecodierer
24 auf. Programmdaten werden in dem Befehls-ROM 21 gespeichert.
Der Programmzähler 22 liest nacheinander die Programmdaten von
dem Programm-ROM 21 in Synchronisation mit nicht abgebildeten
Grundtaktpulsen des digitalen Signalprozessors aus. Das Be
fehlsregister 23 speichert zeitweilig die von dem Befehls-ROM
21 ausgelesenen Programmdaten. Eine Ausgabe von dem Befehls
register 23 wird dem Befehlsdecodierer 24 zugeführt. Ein Teil
der Bitausgabe von dem Befehlsregister 23 wird dem Datenbus
4 zugeführt. Der Befehlsdecodierer 24 entschlüsselt die von
dem Befehlsregister 23 erhaltenen Daten und sieht verschiedene
Steuersignale vor. Diese Steuersignale werden dem Speicherbe
reich 1, dem Steuerbereich 2, dem arithmetischen Rechenbereich
3 usw. zugeführt, so daß die Tätigkeit der internen Schalt
kreise dieser Komponenten gesteuert wird.
Der arithmetische Rechenbereich 3 weist einen Multiplizierer
31, eine arithmetische und logische Einheit (im folgenden als
ALU bezeichnet) 32 und einen Akkumulator 33 auf. Eingänge des
Multiplizierers 31 sind mit dem Datenbus 4 verbunden. Einer
der Eingänge des Multiplizierers 31 ist direkt mit dem RAM 11
verbunden, und der andere Eingang ist direkt mit dem ROM 12
verbunden. Ein Eingang der ALU 32 ist mit dem Datenbus 4 ver
bunden und ist direkt mit dem Multiplizierer 31 verbunden. Der
andere Eingang der ALU 32 nimmt einen Ausgang von dem Akkumu
lator 33 auf. Ein Ausgang der ALU 32 wird dem Akkumulator 33
zugeführt. Der Akkumulator 33 ist mit dem Datenbus 4 verbun
den.
In der oben beschriebenen Anordnung multipliziert der Multi
plizierer 31 einen von dem RAM 11 gelesenen Wert mit einer von
dem ROM 12 gelesenen Konstanten und führt das Resultat der Mul
tiplikation der ALU 32 zu. Die ALU 32 addiert das Multiplika
tionsresultat des Multiplizierers 31 zu dem akkumulierenden
Gesamtwert der soweit erhaltenen und in dem Akkumulator 33 ge
speicherten Multiplikationsresultate so, daß das Resultat der
Addition in dem Akkumulator 33 gespeichert wird. Der in dem
Akkumulator 33 gespeicherte akkumulierende Wert wird durch den
Datenbus 4 vorgesehen.
Da der digitale Signalprozessor den Multiplizierer 31 als Hard
ware-Schaltkreis aufweist, der der Multiplikationstätigkeit
gewidmet ist, kann daher die Multiplikationstätigkeit bei einer
höheren Geschwindigkeit durchgeführt werden als im Vergleich
mit dem Fall, in dem die Multiplikation als eine wiederholte
Addition in der ALU 32 ausgeführt wird, wie es in einem kon
ventionellen Mikrocomputer der Fall ist. Da der Multiplizierer
31 direkt mit dem RAM 11 und dem ROM 12 verbunden ist, können
Daten in den Multiplizierer 31 durch einen Befehl gesetzt wer
den. Da der Multiplizierer 31 direkt mit der ALU 32 verbunden
ist, kann das Resultat der Multiplikation in die ALU 32 mit
einem Befehl gesetzt werden. Daher sind Datenwege für arith
metische Operationen der Multiplikation und Addition separat
von dem Datenbus 4 vorgesehen, und folglich können arithmeti
sche Operationen der Multiplikation und Addition simultan mit
der Übertragung von Daten ausgeführt werden, und das Ausführen
von arithmetischen Operationen der Multiplikation und Addition
kann bei einer hohen Geschwindigkeit durchgeführt werden.
In einem wie oben beschriebenen digitalen Signalprozessor ist
jedoch die Rechengeschwindigkeit in dem Multiplizierer 31 am
langsamsten im Vergleich mit der Verarbeitungsgeschwindigkeit
in anderen Schaltkreisen. Daher ist in einem solchen konven
tionellen digitalen Signalprozessor die Durchgangsleistung ge
wöhnlich in Abhängigkeit der Rechengeschwindigkeit des Multi
plizierers 31 bestimmt, und weitere Verbesserungen der Durch
gangsleistung können nicht erzielt werden.
Daher ist es Aufgabe der Erfindung, einen digitalen Signalpro
zessor vorzusehen, der eine höhere Durchgangsleistung im Ver
gleich mit konventionellen digitalen Signalprozessoren auf
weist.
Erfindungsgemäß ist eine Mehrzahl von Multiplizierern in einem
arithmetischen Rechenbereich vorgesehen, und diese Multipli
zierer sind direkt mit Datenspeichern verbunden und ebenfalls
direkt mit einer arithmetischen und logischen Einheit verbun
den.
Erfindungsgemäß ist eine Mehrzahl von Multiplizierern vorge
sehen, die direkt mit Datenspeichern so verbunden sind, daß
die Multiplikationsdurchführung simultan durchgeführt werden
kann. Daher kann die Verarbeitungsfähigkeit für Multiplikation
und Addition bemerkenswert verbessert werden im Vergleich mit
einem konventionellen digitalen Signalprozessor, und folglich
kann die Durchgangsleistung verbessert werden.
Weitere Merkmale und Zweckmäßigkeiten der Erfindung ergeben
sich aus der Beschreibung von Ausführungsbeispielen anhand
der Figuren. Von den Figuren zeigen:
Fig. 1 ein schematisches Blockschaltdiagramm, das ein Bei
spiel eines konventionellen digitalen Signalprozes
sors darstellt;
Fig. 2 ein schematisches Blockdiagramm einer erfindungsge
mäßen Ausführungsform;
Fig. 3 ein schematisches Blockdiagramm einer anderen Aus
führungsform der Erfindung;
Fig. 4 ein Zeitablaufdiagramm zum Erklären des Betriebes
der in Fig. 3 gezeigten Ausführungsform; und
Fig. 5 ein Schaltdiagramm eines Beispieles des in Fig. 3
gezeigten Verzögerungsschaltkreises.
Fig. 2 ist ein schematisches Blockschaltdiagramm, das eine Aus
führungsform der Erfindung darstellt. Diese Ausführungsform
ist die gleiche wie das in Fig. 1 gezeigte konventionelle Bei
spiel mit Ausnahme der unten beschriebenen Punkte, und daher
sind die gleichen Bereiche mit den gleichen Bezugszeichen be
zeichnet und ihre Beschreibung ist ausgelassen. Die in Fig.
2 gezeigte Ausführungsform weist einen Speicherbereich 1, einen
Steuerbereich 2, einen arithmetischen Rechenbereich 3 und einen
Datenbus 4 wie das in Fig. 1 gezeigte konventionelle Beispiel
auf. Der Steuerbereich 2 ist ganz der gleiche wie der des in
Fig. 1 gezeigten konventionellen Beispieles. Der Speicherbe
reich 1 weist einen Zwei-Anschluß-RAM 13 anstelle des in Fig.
1 gezeigten RAM 11 auf. Der Zwei-Anschluß-RAM 13 weist zwei
Ausgangsanschlüsse so auf, daß Daten simultan von zwei Adres
sen ausgelesen werden können. Die von einer Adresse ausgele
senen Daten werden von dem ersten Anschluß 13 a vorgesehen. Die
von der anderen Adresse ausgelesenen Daten werden von dem zwei
ten Anschluß 13 b vorgesehen. Diese ersten und zweiten An
schlüsse 13 a und 13 b sind mit dem Datenbus 4 verbunden. Der
Speicherbereich 1 weist einen ROM 14 mit zwei Speicherberei
chen anstelle des in Fig. 1 gezeigten ROM 12 auf. Dieser ROM
14 hat zwei Speicherbereiche, die auf dem gleichen Chip gebil
det sind, zum Beispiel, jeder funktioniert als ein ROM, so daß
Daten simultan von den zwei Speicherbereichen ausgelesen werden
können. Jeder Speicherbereich des ROM 14 ist mit dem Datenbus
4 verbunden.
Der arithmetische Rechenbereich 3 weist zwei Multiplizierer
311 und 312, zwei ALUs 321 und 322 und einen Akkumulator 33
auf. Ein Eingang des ersten Multiplizierers 311 ist mit dem
Datenbus 4 verbunden und ist ebenfalls direkt mit dem ersten
Anschluß 13 a des Zwei-Anschluß-RAM 13 verbunden. Der andere
Eingang des ersten Multiplizierers 311 ist mit dem Datenbus
4 verbunden und ist ebenfalls direkt mit einem der Speicher
bereiche des ROM 14 verbunden. Ein Eingang des zweiten Multi
plizierers 312 ist mit dem Datenbus 4 verbunden und ist eben
falls direkt mit dem zweiten Anschluß 13 b des Zwei-Anschluß-
RAM 13 verbunden. Der andere Eingang des zweiten Multiplizie
rers 312 ist mit dem Datenbus 4 verbunden und ist ebenfalls
direkt mit dem anderen Speicherbereich des ROM 14 verbunden.
Ein Eingang der ersten ALU 321 ist direkt mit dem ersten Mul
tiplizierer 311 verbunden, und der andere Eingang davon ist
direkt mit dem zweiten Multiplizierer 312 verbunden. Ein Ein
gang der zweiten ALU 322 ist mit dem Datenbus 4 verbunden und
ist ebenfalls direkt mit der ersten ALU 321 verbunden. Der an
dere Eingang der zweiten ALU 322 nimmt einen Ausgang von dem
Akkumulator 33 auf. Diese erste und zweite ALU 321 und 322 bil
den eine arithmetische und logische Einheit 320. Ein Ausgang
von der zweiten ALU 322 ist dem Akkumulator 33 zugeführt. Der
Akkumulator 33 ist mit dem Datenbus 4 verbunden.
Im folgenden wird der Betrieb der oben aufgeführten Ausfüh
rungsform beschrieben. Die in dem Speicher-ROM 21 gespeicherten
Programmdaten werden nacheinander von dem Programmzähler 22
ausgelesen und in dem Befehlsregister 23 gespeichert. Der Be
fehlsdecodierer 24 liest und entschlüsselt die in dem Befehls
register 23 gespeicherten Programmdaten und sieht verschiedene
Steuersignale vor. Diese Steuersignale werden dem Speicherbe
reich 1, dem Steuerbereich 2, dem arithmetischen Rechenbereich
3 usw. so zugeführt, daß die Tätigkeit dieser Komponenten ge
steuert wird.
Auf der anderen Seite werden von dem ersten Anschluß 13 a des
Zwei-Anschluß-RAM 13 zugeführte Daten direkt einem der Ein
gänge des Multiplizierers 311 zugeführt und nicht durch den
Datenbus 4. Von dem zweiten Anschluß 13 b des Zwei-Anschluß-RAM
zugeführte Daten werden ebenfalls direkt einem der Eingänge
des zweiten Multiplizierers 312 zugeführt und nicht durch den
Datenbus 4. Zusätzlich werden von den Speicherbereichen des
ROM 14 gelesene Daten direkt zu dem anderen Eingang des ersten
Multiplizierers 311 zugeführt und nicht durch den Datenbus 4.
Von dem anderen der Speicherbereiche des ROM 14 ausgelesene
Daten werden ebenfalls direkt dem anderen Eingang des zweiten
Multiplizierers 312 zugeführt und nicht durch den Datenbus 4.
Folglich multipliziert der erste Multiplizierer 311 die von
dem ersten Anschluß 13 a des RAM 13 vorgesehenen Daten mit den
aus dem einen der Speicherbereiche des ROM 14 gelesenen Daten.
Der zweite Multiplizierer 312 multipliziert die von dem zweiten
Anschluß 13 b des RAM 13 vorgesehenen Daten mit den aus dem
anderen der Speicherbereiche des ROM 14 gelesenen Daten. Die
Resultate der Multiplikation des ersten und zweiten Multipli
zierers 311 und 312 werden der ersten ALU 321 so zugeführt,
daß deren Resultate addiert werden. Die Resultate der Addition
durch die erste ALU 321 wird direkt der zweiten ALU 322 zuge
führt und gehen nicht durch den Datenbus 4. Die zweite ALU 322
addiert das Resultat der Multiplikation von der ersten ALU 321
zu dem auflaufenden Gesamtwert der soweit erhaltenen und in
dem Akkumulator 33 gespeicherten Resultate der Multiplikation,
so daß das Resultat der Addition in dem Akkumulator 33 gespei
chert wird. Der auflaufende Gesamtwert der Resultate der Multi
plikation, der in dem Akkumulator 33 gespeichert ist, wird
durch den Datenbus 4 zur Verfügung gestellt.
Wie oben beschrieben wurde, weist die in Fig. 2 gezeigte Aus
führungsform zwei Multiplizierer und zwei ALUs auf, und als
Resultat hat diese Ausführungsform eine Verarbeitungskapazität
für arithmetische Operationen der Multiplikation und Addition,
die zweimal so groß ist, wie die des in Fig. 1 gezeigten kon
ventionellen digitalen Signalprozessors. Folglich kann die
Durchgangsleistung der Daten zweimal so groß gemacht werden
im Vergleich mit dem in Fig. 1 gezeigten konventionellen Bei
spiel. Da der erste und zweite Multiplizierer 311 und 312
direkt mit dem RAM 13 und dem ROM 14 verbunden sind, können
zusätzlich Daten in die zwei Multiplizierer 311 und 312 durch
einen Befehl gesetzt werden, und damit kann die Verarbeitungs
effektivität verbessert werden.
Obwohl die oben beschriebene Ausführungsform zwei Multipli
zierer und zwei ALUs aufweist, können drei oder mehr Multipli
zierer und drei oder mehr ALUs vorgesehen werden, die Verar
beitungskapazität für die Multiplikation und Addition kann
weiter in Abhängigkeit von der Zahl der Multiplizierer und ALUs
erhöht werden. In einem solchen Fall ist es nötig, damit die
Daten simultan in die entsprechenden Multiplizierer gesetzt
werden, einen RAM mit Anschlüssen vorzusehen, deren Anzahl
gleich der Anzahl von Multiplizierern ist, anstelle des Zwei-
Anschluß-RAM 13, oder mehrere Ein-Anschluß-RAM vorzusehen,
deren Anzahl gleich der Anzahl der Multiplizierer ist. Auf die
gleiche Weise ist es in einem solchen Fall notwendig, anstelle
des ROMs 14 mit zwei Speicherbereichen einen ROM vorzusehen
mit Speicherbereichen, deren Anzahl gleich der Anzahl der Mul
tiplizierer ist, oder mehrere ROM mit einem einzelnen Speicher
bereich vorzusehen, deren Anzahl gleich der Anzahl der Multi
plizierer ist.
Obwohl nicht-feste Daten, die in dem Zwei-Anschluß-RAM 13 ge
speichert sind, mit festen Daten (wie konstante Daten), die
in dem ROM 14 der oben beschriebenen Ausführungsform gespei
chert sind, multipliziert werden, können nicht-feste Daten mit
nicht-festen Daten multipliziert werden. In diesem Fall wird
ein Zwei-Anschluß-RAM anstelle des ROM 14 vorgesehen. In dem
Fall, in dem drei oder mehr Multiplizierer und drei oder mehr
ALUs vorgesehen werden, ist es zusätzlich notwendig, jeweils
zwei RAM mit Anschlüssen vorzusehen, deren Zahl gleich der
Zahl der Multiplizierer ist, oder Ein-Anschluß-RAMs vorzusehen,
deren Anzahl zweimal so groß ist wie die Anzahl der Multipli
zierer.
Wenn die Zugriffszeit des RAM und des ROM, die in dem Speicher
bereich 1 benutzt werden, vielfach geringer ist als die Rechen
geschwindigkeit von jedem der Multiplizierer, die in dem arith
metischen Rechenbereich 3 vorgesehen sind, können die Daten
in die Multiplizierer in einem Zeit-Multiplexing-Verfahren
gesetzt werden, und in einem solchen Fall kann die Anzahl der
RAM und die Anzahl der ROM verringert werden.
Fig. 3 zeigt ein schematisches Blockschaltdiagramm einer ande
ren Ausführungsform der Erfindung als die oben aufgeführte.
In Fig. 3 ist die Zugriffsgeschwindigkeit von jedem der RAM
11 und der ROM 12, die in dem Speicherbereich 1 vorgesehen
sind, um ein Vielfaches schneller als die Rechengeschwindigkeit
von jedem der ersten und zweiten Multiplizierer 311 und 312,
die in dem arithmetischen Rechenbereich 3 vorgesehen sind. Ein
Ausgang des RAM 11 ist mit dem Datenbus 4 verbunden und ist
ebenfalls mit einem Eingang von jedem des ersten und zweiten
Multiplizierers 311 und 312 verbunden. Ein Ausgang des ROM 12
ist mit dem Datenbus 4 verbunden und ebenfalls mit den anderen
Eingängen des ersten und zweiten Multiplizierers 311 und 312
verbunden. Ein Verzögerungsschaltkreis 34 ist zwischen dem
ersten Multiplizierer 311 und der ALU 321 vorgesehen. Die
andere Anordnung dieser Ausführungsform ist die gleiche wie
die der in Fig. 2 gezeigten.
In der oben beschriebenen Anordnung ist es angenommen, daß
jeder der Multiplizierer 311 und 312 die Fähigkeit für eine
Multiplikationstätigkeit während eines Maschinenzyklus hat.
Der RAM 11 und der ROM 12 führen Daten dem ersten Multipli
zierer 311 in der ersten Halbperiode eines Maschinenzyklus
zu und führen Daten dem zweiten Multiplizierer 312 in der zwei
ten Halbperiode eines Maschinenzyklus zu. Folglich multi
plizieren der erste und zweite Multiplizierer 311 und 312 die
Daten während der Dauer eines Maschinenzyklus, aber die
Ausgabezeiten des ersten Multiplizierers 311 und die des zwei
ten Multiplizierers 312 stimmen nicht überein. Daher verzögert
der Verzögerungskreis 34 die Ausgabe des ersten Multiplizierers
311 um eine vorbestimmte Zeitdauer, so daß die Resultate der
Multiplikation von dem ersten und zweiten Multiplizierer 311
und 312 der ALU 321 gleichzeitig eingegeben werden können. Die
andere Tätigkeit ist die gleiche wie die der in Fig. 1 gezeig
ten Ausführungsform.
Die oben beschriebene Tätigkeit wird im folgenden unter Bezug
auf die Fig. 4 speziell erklärt. Fig. 4 zeigt den Fall, in
dem ein Maschinenzyklus durch einen Zyklus von Taktpulsen Φ 1
bis Φ 4 definiert ist. In der Zeitdauer von einem Maschinen
zyklus wird die Adresse in dem ROM 12 zweimal als Reaktion auf
die Taktpulse Φ 1 und Φ 3 geändert, so daß Daten von dem ROM 12
ausgelesen werden. Daten in dem ROM 12 werden den Multipli
zierern 311 und 312 in Abhängigkeit von den Taktpulsen Φ 2 bzw.
Φ 4 eingegeben, um die Multiplikation so zu starten. Die Multi
plizierer 311 und 312 verriegeln (latch) die Ausgabe in Ab
hängigkeit von den Taktpulsen Φ 4 bzw. Φ 2. Die Ausgabe von dem
Multiplizierer 311 hat einen Phasenvorlauf von 1/2 Maschinen
zyklus im Vergleich mit der Ausgabe von dem Multiplizierer 312,
und daher werden die Phasen der Ausgaben in dem Verzögerungs
kreis 34 zum Ubereinstimmen gebracht, so daß die Ausgaben von
den Multiplizierern 311 und 312 der ALU 321 zugeführt werden.
Ein Beispiel des in diesem Fall benutzten Verzögerungskreises
34 ist in Fig. 5 abgebildet. Fig. 5 zeigt ein sogenanntes sta
tisches Register, das zwei MOS-Transistoren 341 und 342 und
zwei Inverter 343 und 344 aufweist. Der MOS-Transistor 341 wird
durch Taktpulse Φ 2 gesteuert, und der MOS-Transistor 342 wird
durch einen invertierten Taktpuls Φ 2 des Taktpulses Φ 2 ge
steuert. Wenn der Puls Φ 2 ansteigt, schaltet insbesondere der
MOS-Transistor 341 ein, und der MOS-Transistor 342 schaltet
ab, wodurch die in den Invertierern 343 und 344 und in dem MOS-
Transistor 342 verriegelten Daten ausgegeben werden.
In den jeweils oben beschriebenen Ausführungsformen sind zwei
ALUs vorgesehen. Wenn die Rechengeschwindigkeit einer solchen
ALU jedoch um ein Vielfaches höher ist als die Multiplizier
geschwindigkeit von jedem Multiplizierer, wird nur eine ALU
benötigt, um die Resultate der Multiplikation der entsprechen
den Multiplizierer zu addieren, und um das Resultat der Addi
tion zu dem auflaufenden Gesamtwert in dem Akkumulator 33 zu
addieren. Das ist in dem Fall der Benutzung von drei oder mehr
Multiplizierern das gleiche.
Claims (7)
1. Digitaler Signalprozessor, der auf digitales Signalverar
beiten zugeschnitten ist, mit:
einem Speicherbereich (1), einem Steuerbereich (2), einem arithmetischen Rechenbereich (3) und einem Datenbus (4), der als Datenübertragungsleitung zwischen dem Speicherbereich (1), dem Steuerbereich (2) und dem arithmetischen Rechenbereich (3) dient,
wobei der Speicherbereich (1) Datenspeicher (11 und 12 oder 13 und 14) zum Speichern von zu multiplizierenden Daten auf weist, und
der Steuerbereich einen Programmspeicher (21) zum Speichern von Programmdaten, eine Leseeinrichtung (22) zum aufeinander folgenden Auslesen von den in dem Programmspeicher (21) gespei cherten Programmdaten und eine Ausgabeeinrichtung (24) zum Vor sehen verschiedener Steuersignale auf der Basis der von dem Programmspeicher (21) ausgelesenen Programmdaten aufweist, dadurch gekennzeichnet, daß der arithmetische Rechenbereich (3) eine Mehrzahl von di rekt mit den Datenspeichern (11, 12 oder 13, 14) verbundene Multiplizierer (311 und 312) zum Multiplizieren von von den Datenspeichern (11, 12 oder 13, 14) vorgesehenen Daten, eine direkt mit der Mehrzahl von Multiplizierern (311, 312) verbundene arithmetische und logische Einheit (320) zum Anwen den einer vorbestimmten arithmetischen und logischen Operation auf die Ausgaben der Multiplizierer (311, 312), und einen Akkumulator (33) zum zeitweiligen Speichern einer Aus gabe der arithmetischen und logischen Einheit (320) so, daß die Ausgabe dem Datenbus (4) zugeführt wird, aufweist.
einem Speicherbereich (1), einem Steuerbereich (2), einem arithmetischen Rechenbereich (3) und einem Datenbus (4), der als Datenübertragungsleitung zwischen dem Speicherbereich (1), dem Steuerbereich (2) und dem arithmetischen Rechenbereich (3) dient,
wobei der Speicherbereich (1) Datenspeicher (11 und 12 oder 13 und 14) zum Speichern von zu multiplizierenden Daten auf weist, und
der Steuerbereich einen Programmspeicher (21) zum Speichern von Programmdaten, eine Leseeinrichtung (22) zum aufeinander folgenden Auslesen von den in dem Programmspeicher (21) gespei cherten Programmdaten und eine Ausgabeeinrichtung (24) zum Vor sehen verschiedener Steuersignale auf der Basis der von dem Programmspeicher (21) ausgelesenen Programmdaten aufweist, dadurch gekennzeichnet, daß der arithmetische Rechenbereich (3) eine Mehrzahl von di rekt mit den Datenspeichern (11, 12 oder 13, 14) verbundene Multiplizierer (311 und 312) zum Multiplizieren von von den Datenspeichern (11, 12 oder 13, 14) vorgesehenen Daten, eine direkt mit der Mehrzahl von Multiplizierern (311, 312) verbundene arithmetische und logische Einheit (320) zum Anwen den einer vorbestimmten arithmetischen und logischen Operation auf die Ausgaben der Multiplizierer (311, 312), und einen Akkumulator (33) zum zeitweiligen Speichern einer Aus gabe der arithmetischen und logischen Einheit (320) so, daß die Ausgabe dem Datenbus (4) zugeführt wird, aufweist.
2. Digitaler Signalprozessor nach Anspruch 1, dadurch gekenn
zeichnet,
daß die arithmetische und logische Einheit (320) eine Mehrzahl
von arithmetischen und logischen Schaltkreisen (321, 322) auf
weist.
3. Digitaler Signalprozessor nach Anspruch 2, dadurch gekenn
zeichnet,
daß die Mehrzahl von arithmetischen und logischen Schaltkreisen
(321, 322)
einen arithmetischen und logischen Schaltkreis (321) zum Addi tionsausführen, der direkt mit der Mehrzahl von Multiplizierern (311, 312) so verbunden ist, daß die Ausgaben der Mehrzahl von Multiplizierern (311, 312) addiert werden, und
einen arithmetischen und logischen Schaltkreis (322) zum Akku mulationsausführen, der direkt mit dem arithmetischen und lo gischen Schaltkreis (321) zum Additionsausführen verbunden ist und mit dem Akkumulator (33) so verbunden ist, daß eine Aus gabe des arithmetischen und logischen Schaltkreises (321) zum Additionsausführen zu einem in dem Akkumulator (33) gespeicher ten Wert addiert wird, aufweist.
einen arithmetischen und logischen Schaltkreis (321) zum Addi tionsausführen, der direkt mit der Mehrzahl von Multiplizierern (311, 312) so verbunden ist, daß die Ausgaben der Mehrzahl von Multiplizierern (311, 312) addiert werden, und
einen arithmetischen und logischen Schaltkreis (322) zum Akku mulationsausführen, der direkt mit dem arithmetischen und lo gischen Schaltkreis (321) zum Additionsausführen verbunden ist und mit dem Akkumulator (33) so verbunden ist, daß eine Aus gabe des arithmetischen und logischen Schaltkreises (321) zum Additionsausführen zu einem in dem Akkumulator (33) gespeicher ten Wert addiert wird, aufweist.
4. Digitaler Signalprozessor nach einem der Ansprüche 1 bis
3, dadurch gekennzeichnet,
daß die Datenspeicher (13, 14) eine Mehrzahl von Speichern auf
weisen.
5. Digitaler Signalprozessor nach Anspruch 4, dadurch gekenn
zeichnet,
daß die Mehrzahl von Speichern (13, 14) einen Direktzugriffs
speicher (13) zum Speichern von nicht-konstanten Daten, und
einen Nur-Lese-Speicher (14) zum Speichern von konstanten Daten
aufweist.
6. Digitaler Signalprozessor nach Anspruch 5, dadurch gekenn
zeichnet,
daß der Direktzugriffsspeicher (13) eine Mehrzahl von direkt
mit einem Eingang von jedem der Multiplizierer (311, 312) ver
bundenen Ausgangsanschlüssen (13 a und 13 b) aufweist, und
daß der Nur-Lese-Speicher (14) Speichergebiete aufweist, die
in der Lage sind, Daten unabhängig voneinander auszulesen,
wobei die Zahl der Speichergebiete gleich der Zahl der Multi
plizierer (311, 312) ist.
7. Digitaler Signalprozessor nach einem der Ansprüche 1 bis
3, dadurch gekennzeichnet,
daß die Datenspeicher Speicher (11 und 12) sind, die eine aus
reichend hohe Zugriffsgeschwindigkeit, verglichen mit der Ver
arbeitungsgeschwindigkeit der Multiplizierer (311, 312), haben,
so daß Daten von den Datenspeichern (11, 12) in jeden der Mul
tiplizierer (311, 312) in einem Time-Multiplexing-Verfahren
gesetzt werden können.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60238829A JPS6297060A (ja) | 1985-10-23 | 1985-10-23 | デイジタルシグナルプロセツサ |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3636106A1 true DE3636106A1 (de) | 1987-04-23 |
Family
ID=17035890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19863636106 Ceased DE3636106A1 (de) | 1985-10-23 | 1986-10-23 | Digitaler signalprozessor |
Country Status (4)
Country | Link |
---|---|
US (1) | US4771379A (de) |
JP (1) | JPS6297060A (de) |
DE (1) | DE3636106A1 (de) |
FR (1) | FR2588980B1 (de) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4036995A1 (de) * | 1990-04-27 | 1991-10-31 | Pioneer Electronic Corp | Digitaler signalprozessor |
DE4123186A1 (de) * | 1990-07-13 | 1992-01-23 | Aisuke Katayama | Multiplikationseinrichtung vom typ fuer unterteilte produkte, die zum ausfuehren einer multiplikation numerischer werte mit vielen stellen bei hoher genauigkeit faehig ist |
DE4304198A1 (de) * | 1993-02-12 | 1994-08-18 | Itt Ind Gmbh Deutsche | Verfahren zur Beschleunigung der Datenverarbeitung eines Signalprozessors |
SG85630A1 (en) * | 1998-03-31 | 2002-01-15 | Intel Corp | Executing partial-width packed data instructions |
US7366881B2 (en) | 1998-03-31 | 2008-04-29 | Intel Corporation | Method and apparatus for staggering execution of an instruction |
US8185571B2 (en) | 1995-08-31 | 2012-05-22 | Intel Corporation | Processor for performing multiply-add operations on packed data |
Families Citing this family (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2612308B2 (ja) * | 1988-06-03 | 1997-05-21 | 沖電気工業株式会社 | ディジタル信号処理プロセッサ |
JP2592979B2 (ja) * | 1990-04-25 | 1997-03-19 | 株式会社東芝 | 信号処理用集積回路装置 |
US5623683A (en) * | 1992-12-30 | 1997-04-22 | Intel Corporation | Two stage binary multiplier |
US5509129A (en) * | 1993-11-30 | 1996-04-16 | Guttag; Karl M. | Long instruction word controlling plural independent processor operations |
US5541865A (en) * | 1993-12-30 | 1996-07-30 | Intel Corporation | Method and apparatus for performing a population count operation |
US5642306A (en) * | 1994-07-27 | 1997-06-24 | Intel Corporation | Method and apparatus for a single instruction multiple data early-out zero-skip multiplier |
EP0795155B1 (de) * | 1994-12-01 | 2003-03-19 | Intel Corporation | Ein mikroprozessor mit mulitplizierungsopeeration |
US6738793B2 (en) * | 1994-12-01 | 2004-05-18 | Intel Corporation | Processor capable of executing packed shift operations |
US6275834B1 (en) | 1994-12-01 | 2001-08-14 | Intel Corporation | Apparatus for performing packed shift operations |
US5819101A (en) * | 1994-12-02 | 1998-10-06 | Intel Corporation | Method for packing a plurality of packed data elements in response to a pack instruction |
CN101211255B (zh) | 1994-12-02 | 2012-07-04 | 英特尔公司 | 对复合操作数进行压缩操作的处理器、设备和计算系统 |
JP2636789B2 (ja) * | 1995-03-31 | 1997-07-30 | 日本電気株式会社 | マイクロプロセッサ |
US5752001A (en) * | 1995-06-01 | 1998-05-12 | Intel Corporation | Method and apparatus employing Viterbi scoring using SIMD instructions for data recognition |
GB9514684D0 (en) * | 1995-07-18 | 1995-09-13 | Sgs Thomson Microelectronics | An arithmetic unit |
US5721892A (en) * | 1995-08-31 | 1998-02-24 | Intel Corporation | Method and apparatus for performing multiply-subtract operations on packed data |
US7395298B2 (en) | 1995-08-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed data |
CN1252587C (zh) * | 1995-08-31 | 2006-04-19 | 英特尔公司 | 移位分组数据的方法、装置和处理数字音频信号的系统 |
RU2139564C1 (ru) * | 1995-08-31 | 1999-10-10 | Интел Корпорейшн | Устройство для выполнения операций умножения-сложения с упакованными данными |
US5983253A (en) * | 1995-09-05 | 1999-11-09 | Intel Corporation | Computer system for performing complex digital filters |
US5936872A (en) * | 1995-09-05 | 1999-08-10 | Intel Corporation | Method and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations |
US6470370B2 (en) | 1995-09-05 | 2002-10-22 | Intel Corporation | Method and apparatus for multiplying and accumulating complex numbers in a digital filter |
US6237016B1 (en) | 1995-09-05 | 2001-05-22 | Intel Corporation | Method and apparatus for multiplying and accumulating data samples and complex coefficients |
US6058408A (en) * | 1995-09-05 | 2000-05-02 | Intel Corporation | Method and apparatus for multiplying and accumulating complex numbers in a digital filter |
US5822459A (en) * | 1995-09-28 | 1998-10-13 | Intel Corporation | Method for processing wavelet bands |
US5935240A (en) * | 1995-12-15 | 1999-08-10 | Intel Corporation | Computer implemented method for transferring packed data between register files and memory |
US5984515A (en) * | 1995-12-15 | 1999-11-16 | Intel Corporation | Computer implemented method for providing a two dimensional rotation of packed data |
US5815421A (en) * | 1995-12-18 | 1998-09-29 | Intel Corporation | Method for transposing a two-dimensional array |
US5757432A (en) * | 1995-12-18 | 1998-05-26 | Intel Corporation | Manipulating video and audio signals using a processor which supports SIMD instructions |
US5940859A (en) * | 1995-12-19 | 1999-08-17 | Intel Corporation | Emptying packed data state during execution of packed data instructions |
AU1465497A (en) * | 1995-12-19 | 1997-07-28 | Intel Corporation | A computer system performing a two-dimensional rotation of packed data representing multimedia information |
US5701508A (en) | 1995-12-19 | 1997-12-23 | Intel Corporation | Executing different instructions that cause different data type operations to be performed on single logical register file |
US5852726A (en) * | 1995-12-19 | 1998-12-22 | Intel Corporation | Method and apparatus for executing two types of instructions that specify registers of a shared logical register file in a stack and a non-stack referenced manner |
US6792523B1 (en) | 1995-12-19 | 2004-09-14 | Intel Corporation | Processor with instructions that operate on different data types stored in the same single logical register file |
US5835748A (en) * | 1995-12-19 | 1998-11-10 | Intel Corporation | Method for executing different sets of instructions that cause a processor to perform different data type operations on different physical registers files that logically appear to software as a single aliased register file |
US5857096A (en) * | 1995-12-19 | 1999-01-05 | Intel Corporation | Microarchitecture for implementing an instruction to clear the tags of a stack reference register file |
US5907842A (en) * | 1995-12-20 | 1999-05-25 | Intel Corporation | Method of sorting numbers to obtain maxima/minima values with ordering |
US6036350A (en) * | 1995-12-20 | 2000-03-14 | Intel Corporation | Method of sorting signed numbers and solving absolute differences using packed instructions |
US5787026A (en) * | 1995-12-20 | 1998-07-28 | Intel Corporation | Method and apparatus for providing memory access in a processor pipeline |
US5742529A (en) * | 1995-12-21 | 1998-04-21 | Intel Corporation | Method and an apparatus for providing the absolute difference of unsigned values |
US5880979A (en) * | 1995-12-21 | 1999-03-09 | Intel Corporation | System for providing the absolute difference of unsigned values |
US5793661A (en) * | 1995-12-26 | 1998-08-11 | Intel Corporation | Method and apparatus for performing multiply and accumulate operations on packed data |
US5983257A (en) * | 1995-12-26 | 1999-11-09 | Intel Corporation | System for signal processing using multiply-add operations |
US5740392A (en) * | 1995-12-27 | 1998-04-14 | Intel Corporation | Method and apparatus for fast decoding of 00H and OFH mapped instructions |
US6092184A (en) * | 1995-12-28 | 2000-07-18 | Intel Corporation | Parallel processing of pipelined instructions having register dependencies |
US5835392A (en) * | 1995-12-28 | 1998-11-10 | Intel Corporation | Method for performing complex fast fourier transforms (FFT's) |
US5764943A (en) * | 1995-12-28 | 1998-06-09 | Intel Corporation | Data path circuitry for processor having multiple instruction pipelines |
US5862067A (en) * | 1995-12-29 | 1999-01-19 | Intel Corporation | Method and apparatus for providing high numerical accuracy with packed multiply-add or multiply-subtract operations |
US5621674A (en) * | 1996-02-15 | 1997-04-15 | Intel Corporation | Computer implemented method for compressing 24 bit pixels to 16 bit pixels |
US6009191A (en) * | 1996-02-15 | 1999-12-28 | Intel Corporation | Computer implemented method for compressing 48-bit pixels to 16-bit pixels |
US5959636A (en) * | 1996-02-23 | 1999-09-28 | Intel Corporation | Method and apparatus for performing saturation instructions using saturation limit values |
US5822232A (en) * | 1996-03-01 | 1998-10-13 | Intel Corporation | Method for performing box filter |
US5835782A (en) * | 1996-03-04 | 1998-11-10 | Intel Corporation | Packed/add and packed subtract operations |
US5831885A (en) * | 1996-03-04 | 1998-11-03 | Intel Corporation | Computer implemented method for performing division emulation |
US6070237A (en) * | 1996-03-04 | 2000-05-30 | Intel Corporation | Method for performing population counts on packed data types |
US5881279A (en) * | 1996-11-25 | 1999-03-09 | Intel Corporation | Method and apparatus for handling invalid opcode faults via execution of an event-signaling micro-operation |
FR2758195B1 (fr) * | 1997-01-09 | 1999-02-26 | Sgs Thomson Microelectronics | Coprocesseur d'arithmetique modulaire comprenant deux circuits de multiplication operant en parallele |
US6014684A (en) * | 1997-03-24 | 2000-01-11 | Intel Corporation | Method and apparatus for performing N bit by 2*N-1 bit signed multiplication |
US6026421A (en) * | 1997-11-26 | 2000-02-15 | Atmel Corporation | Apparatus for multiprecision integer arithmetic |
US6081824A (en) * | 1998-03-05 | 2000-06-27 | Intel Corporation | Method and apparatus for fast unsigned integral division |
US7392275B2 (en) * | 1998-03-31 | 2008-06-24 | Intel Corporation | Method and apparatus for performing efficient transformations with horizontal addition and subtraction |
US6041404A (en) | 1998-03-31 | 2000-03-21 | Intel Corporation | Dual function system and method for shuffling packed data elements |
US7395302B2 (en) | 1998-03-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing horizontal addition and subtraction |
US6418529B1 (en) | 1998-03-31 | 2002-07-09 | Intel Corporation | Apparatus and method for performing intra-add operation |
US6571268B1 (en) | 1998-10-06 | 2003-05-27 | Texas Instruments Incorporated | Multiplier accumulator circuits |
US6557022B1 (en) * | 2000-02-26 | 2003-04-29 | Qualcomm, Incorporated | Digital signal processor with coupled multiply-accumulate units |
US7155601B2 (en) * | 2001-02-14 | 2006-12-26 | Intel Corporation | Multi-element operand sub-portion shuffle instruction execution |
US7624138B2 (en) | 2001-10-29 | 2009-11-24 | Intel Corporation | Method and apparatus for efficient integer transform |
US20040054877A1 (en) | 2001-10-29 | 2004-03-18 | Macy William W. | Method and apparatus for shuffling data |
US7739319B2 (en) * | 2001-10-29 | 2010-06-15 | Intel Corporation | Method and apparatus for parallel table lookup using SIMD instructions |
US7725521B2 (en) * | 2001-10-29 | 2010-05-25 | Intel Corporation | Method and apparatus for computing matrix transformations |
US7685212B2 (en) * | 2001-10-29 | 2010-03-23 | Intel Corporation | Fast full search motion estimation with SIMD merge instruction |
US7430578B2 (en) | 2001-10-29 | 2008-09-30 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed byte data |
US7631025B2 (en) * | 2001-10-29 | 2009-12-08 | Intel Corporation | Method and apparatus for rearranging data between multiple registers |
US7818356B2 (en) | 2001-10-29 | 2010-10-19 | Intel Corporation | Bitstream buffer manipulation with a SIMD merge instruction |
US7047383B2 (en) * | 2002-07-11 | 2006-05-16 | Intel Corporation | Byte swap operation for a 64 bit operand |
US7424501B2 (en) | 2003-06-30 | 2008-09-09 | Intel Corporation | Nonlinear filtering and deblocking applications utilizing SIMD sign and absolute value operations |
US8190669B1 (en) | 2004-10-20 | 2012-05-29 | Nvidia Corporation | Multipurpose arithmetic functional unit |
US7640285B1 (en) * | 2004-10-20 | 2009-12-29 | Nvidia Corporation | Multipurpose arithmetic functional unit |
US8037119B1 (en) | 2006-02-21 | 2011-10-11 | Nvidia Corporation | Multipurpose functional unit with single-precision and double-precision operations |
US20080071851A1 (en) * | 2006-09-20 | 2008-03-20 | Ronen Zohar | Instruction and logic for performing a dot-product operation |
US8051123B1 (en) | 2006-12-15 | 2011-11-01 | Nvidia Corporation | Multipurpose functional unit with double-precision and filtering operations |
US8106914B2 (en) * | 2007-12-07 | 2012-01-31 | Nvidia Corporation | Fused multiply-add functional unit |
US8078836B2 (en) | 2007-12-30 | 2011-12-13 | Intel Corporation | Vector shuffle instructions operating on multiple lanes each having a plurality of data elements using a common set of per-lane control bits |
JP5742366B2 (ja) * | 2011-03-28 | 2015-07-01 | ヤマハ株式会社 | デジタル信号処理装置およびプログラム |
US10528346B2 (en) * | 2018-03-29 | 2020-01-07 | Intel Corporation | Instructions for fused multiply-add operations with variable precision input operands |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2142636B2 (de) * | 1971-08-25 | 1978-12-07 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Rechenwerk für die Durchführung digitaler Multiplikationen |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5547420B2 (de) * | 1972-02-21 | 1980-11-29 | ||
JPS5615535B2 (de) * | 1974-12-03 | 1981-04-10 | ||
EP0086570B1 (de) * | 1982-02-15 | 1990-03-14 | The Secretary of State for Defence in Her Britannic Majesty's Government of the United Kingdom of Great Britain and | Digitales Signalverarbeitungsgerät |
-
1985
- 1985-10-23 JP JP60238829A patent/JPS6297060A/ja active Pending
-
1986
- 1986-10-21 US US06/922,031 patent/US4771379A/en not_active Expired - Lifetime
- 1986-10-23 DE DE19863636106 patent/DE3636106A1/de not_active Ceased
- 1986-10-23 FR FR8614724A patent/FR2588980B1/fr not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2142636B2 (de) * | 1971-08-25 | 1978-12-07 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Rechenwerk für die Durchführung digitaler Multiplikationen |
Non-Patent Citations (2)
Title |
---|
US-Z.: IBM Technical Disclosure Bulletin Vol. 16, No. 7, Dec. 1973, S. 2053 u. 2054 * |
US-Z.: IEEE Intern. Solid-State Circuits Conference, 1980, S. 40,41 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4036995A1 (de) * | 1990-04-27 | 1991-10-31 | Pioneer Electronic Corp | Digitaler signalprozessor |
DE4123186A1 (de) * | 1990-07-13 | 1992-01-23 | Aisuke Katayama | Multiplikationseinrichtung vom typ fuer unterteilte produkte, die zum ausfuehren einer multiplikation numerischer werte mit vielen stellen bei hoher genauigkeit faehig ist |
DE4304198A1 (de) * | 1993-02-12 | 1994-08-18 | Itt Ind Gmbh Deutsche | Verfahren zur Beschleunigung der Datenverarbeitung eines Signalprozessors |
US5465225A (en) * | 1993-02-12 | 1995-11-07 | Deutsche Itt Industries Gmbh | Method of increasing the data-processing speed of a signal processor |
US8396915B2 (en) | 1995-08-31 | 2013-03-12 | Intel Corporation | Processor for performing multiply-add operations on packed data |
US8185571B2 (en) | 1995-08-31 | 2012-05-22 | Intel Corporation | Processor for performing multiply-add operations on packed data |
US8495123B2 (en) | 1995-08-31 | 2013-07-23 | Intel Corporation | Processor for performing multiply-add operations on packed data |
US8626814B2 (en) | 1995-08-31 | 2014-01-07 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed data |
US8725787B2 (en) | 1995-08-31 | 2014-05-13 | Intel Corporation | Processor for performing multiply-add operations on packed data |
US8745119B2 (en) | 1995-08-31 | 2014-06-03 | Intel Corporation | Processor for performing multiply-add operations on packed data |
US8793299B2 (en) | 1995-08-31 | 2014-07-29 | Intel Corporation | Processor for performing multiply-add operations on packed data |
US6970994B2 (en) | 1998-03-31 | 2005-11-29 | Intel Corporation | Executing partial-width packed data instructions |
US7366881B2 (en) | 1998-03-31 | 2008-04-29 | Intel Corporation | Method and apparatus for staggering execution of an instruction |
US7467286B2 (en) | 1998-03-31 | 2008-12-16 | Intel Corporation | Executing partial-width packed data instructions |
SG85630A1 (en) * | 1998-03-31 | 2002-01-15 | Intel Corp | Executing partial-width packed data instructions |
Also Published As
Publication number | Publication date |
---|---|
JPS6297060A (ja) | 1987-05-06 |
FR2588980B1 (fr) | 1993-08-20 |
FR2588980A1 (fr) | 1987-04-24 |
US4771379A (en) | 1988-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3636106A1 (de) | Digitaler signalprozessor | |
DE2716369C2 (de) | ||
DE3752017T2 (de) | Mikrorechner mit Zugriffsfähigkeit auf einen internen Speicher mit gewünschter variabler Zugriffszeit | |
DE69132495T2 (de) | Verteilter Verarbeitungsspeicher | |
DE3750073T2 (de) | Programmierbare Folgesteuerung. | |
DE3688505T2 (de) | Multiportspeichersystem. | |
DE69019555T2 (de) | Technik für die serielle Prüfung eingebauter Speicher. | |
DE2819571C2 (de) | ||
DE3885775T2 (de) | Digitaler Signalprozessor. | |
DE3586603T2 (de) | Datenprozessor fuer interpretierende und kompilierte sprache. | |
DE68927798T2 (de) | Prozessor für ein numerisches Signal | |
DE3751205T2 (de) | Paralleles verarbeitungssystem und verfahren zu dessen anwendung. | |
DE69102065T2 (de) | Eine arithmetische einheit für strukturarithmetik. | |
EP0010173B1 (de) | Halbleiterplättchen mit verbesserter Prüfbarkeit der monolithisch hochintegrierten Schaltungen | |
DE3588212T2 (de) | Verfahren und Gerät zum Suchen von Daten | |
DE3344141C2 (de) | Vorrichtung zur Neuordnung von Elementen in eine gewünschte Reihenfolge | |
DE3314917A1 (de) | Multimicroprozessor-system | |
DE3851554T2 (de) | Steuerungsanordnung für gemeinschaftlichen Speicher. | |
DE2457612A1 (de) | Mikroprogrammier-steuersystem | |
DE2311220A1 (de) | Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung | |
DE3636105A1 (de) | Digitaler signalprozessor | |
DE3854212T2 (de) | Signalgenerator für die Umlaufadressierung. | |
DE3400723A1 (de) | Vektorprozessor | |
DE3789471T2 (de) | Mikrocomputer. | |
DE3486073T2 (de) | Vektorverarbeitungsgeraet. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |