DE3636105A1 - Digitaler signalprozessor - Google Patents
Digitaler signalprozessorInfo
- Publication number
- DE3636105A1 DE3636105A1 DE19863636105 DE3636105A DE3636105A1 DE 3636105 A1 DE3636105 A1 DE 3636105A1 DE 19863636105 DE19863636105 DE 19863636105 DE 3636105 A DE3636105 A DE 3636105A DE 3636105 A1 DE3636105 A1 DE 3636105A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- memory
- area
- digital signal
- signal processor
- 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
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000003111 delayed effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
Die Erfindung bezieht sich auf einen digitalen Signalprozessor,
und insbesondere bezieht sie sich auf einen so verbesserten
digitalen Signalprozessor, daß das Signalverarbeiten sehr ef
fektiv durchgeführt werden kann.
Ein digitaler Signalprozessor ist ein Mikroprozessor, der
speziell für digitales Signalverarbeiten ausgerichtet ist, der
für den Zweck der schnellen Multiplikations- und Additionstä
tigkeit, die häufig für digitale Signalverarbeitung benötigt
werden, entwickelt ist.
Fig. 1 zeigt ein schematisches Blockschaltdiagramm eines Bei
spieles eines konventionellen Signalprozessors, wie er zum Bei
spiel in "A Single-Chip Digital Signal Processor for Voiceband
Applications" von Y. Kawakami u.a., IEEE International Solid-
State Circuits Conference, Seiten 40-41, 1980, veröffentlicht
ist. Der in Fig. 1 gezeigte konventionelle digitale Signalpro
zessor weist, wie in einem gewöhnlichen Mikroprozessor, einen
Speicherbereich 1, einen Steuerbereich 2, einen arithmetischen
Rechenbereich 3 und einen Datenbus 4 auf. Der Speicherbereich
1 weist ein RAM 11 und ein ROM 12 auf. Daten, die in dem arith
metischen Rechenbereich 3 verarbeitet werden sollen, und Daten,
die für diese Verarbeitung notwendig sind, sind in dem RAM 11
und dem ROM 12 gespeichert. Nicht feste Daten sind in dem RAM
11 gespeichert, und feste Daten (wie die konstanten Daten für
die 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 sind in dem Befehls-ROM 21 gespeichert.
Der Programmzähler 22 liest nacheinander Programmdaten von dem
Befehls-ROM 21 in Synchronisation mit einem Grundtaktpulsgeber
(nicht abgebildet) des digitalen Signalprozessors aus. Das Be
fehlsregister 23 speichert zeitweilig die von dem Befehls-ROM
ausgelesenen Programmdaten. Ein Ausgang des Befehlsregisters
23 wird dem Befehlsdecodierer 24 zugeführt. Ein Teil des Bit
ausganges von dem Befehlsregister 23 wird dem Datenbus 4 zuge
führt. Der Befehlsdecodierer 24 entschlüsselt die von dem Be
fehlsregister 23 erhaltenen Programmdaten und erzeugt verschie
dene Steuersignale. Diese Steuersignale werden dem Speicher
bereich 1, dem Steuerbereich 2, dem arithmetischen Rechenbe
reich 3 usw. so zugeführt, daß die Tätigkeit der internen
Schaltkreise dieser Komponenten gesteuert wird.
Der rechnende Bereich 3 weist einen Multiplizierer 31, eine
arithmetische und logische Einheit (im folgenden als ALU) 32
und einen Akkumulator 33 auf. Eingänge des Multiplizierers 31
sind mit dem Datenbus 4 verbunden. Einer der Eingänge des Mul
tiplizierers 31 ist direkt mit dem RAM 11, und dessen anderer
Eingang ist direkt mit dem ROM 12 verbunden. Ein Eingang der
ALU 32 ist mit dem Datenbus 4 verbunden und ebenfalls direkt
mit dem Multiplizierer 31. Der andere Eingang der ALU 31 nimmt
einen Ausgang des Akkumulators 33 auf. Ein Ausgang von der ALU
32 wird dem Akkumulator 33 zugeführt. Der Akkumulator 33 ist
mit dem Datenbus 4 verbunden.
In der oben beschriebenen Anordnung multipliziert der Multipli
zierer einen von dem RAM 11 gelesenen Wert mit einer von dem
ROM 12 gelesenen Konstante und führt das Resultat der ALU 32
zu. Die ALU 32 addiert das Resultat der Multiplikation durch
den Multiplizierer 31 zu dem sich aufsummierenden Gesamtwert
der Resultate der bis dahin durchgeführten und in dem Akkumu
lator 33 gespeicherten Multiplikationen und speichert das Re
sultat der Addition in dem Akkumulator 33. Der in dem Akkumu
lator 33 gespeicherte aufsummierte Gesamtwert wird durch den
Datenbus 4 zur Verfügung gestellt.
Da der digitale Signalprozessor den Multiplizierer 31 als Hard
ware-Schaltkreis aufweist, der auf den Multiplikationsprozess,
wie oben beschrieben, zugeschnitten ist, kann der Multiplika
tionsprozess mit einer höheren Geschwindigkeit durchgeführt
werden, als wenn die Multiplikation in der ALU 32 als wieder
holte Addition durchgeführt wird, wie in einem konventionellen
Mikrocomputer. Da der Multiplizierer 31 direkt mit dem RAM 11
und dem ROM 12 verbunden ist, können zusätzlich Daten in den
Multiplizierer 31 durch einen Befehl gesetzt werden. Da der
Multiplizierer 31 direkt mit der ALU 32 verbunden ist, kann
zusätzlich ein Resultat der Multiplikation in die ALU 32 durch
einen Befehl gesetzt werden. Daher sind die Datenwege für Mul
tiplikations- und Additionstätigkeiten separat von dem Datenbus
4 vorgesehen, und folglich können Multiplikations- und Addi
tionstätigkeiten und der Transfer von Daten simultan durchge
führt werden, und das Durchführen der Multiplikations- und
Additionstätigkeiten kann bei hoher Geschwindigkeit stattfinden.
In einem solchen konventionellen digitalen Signalprozessor, wie
er oben beschrieben wurde, werden zu multiplizierende Daten
in dem RAM 11 gespeichert, und das zieht das Problem nach sich,
daß mehrere Befehle zum Ausführen der Tätigkeit, die Daten zu
verzögern, nötig sind (solche Tätigkeit ist oft in einem digi
talen Filter oder ähnlichem nötig). Zum Beispiel sind in Bezug
auf die Tätigkeit der Datenverzögerung um eine Einheit, um ein
Teilbild oder eine Abtastung, die folgenden Befehle nötig.
(1) Setzen einer Adresse n in den RAM 11.
(2) Speichern des Inhaltes der Adresse n in dem RAM 11 in ein
erstes zeitweiliges Register (nicht abgebildet) und zur
gleichen Zeit Erhöhen der Adresse in dem RAM 11.
(3) Speichern des Inhaltes der Adresse (n + 1) in den RAM 11
in ein zweites zeitweiliges Register (nicht abgebildet).
(4) Schreiben des Inhaltes des ersten zeitweiligen Registers
in die Adresse (n + 1) in dem RAM 11.
Wie es oben beschrieben wurde, ist es in dem konventionellen
digitalen Signalprozessor notwendig, die in dem RAM 11 gespei
cherten Daten zeitweilig in einem Register zu sichern und in
den RAM 11 wieder die in einem zeitweiligen Register gesicher
ten Daten zu schreiben, nachdem die Adresse in dem RAM 11 er
höht wurde. Folglich sind mehrere Befehle notwendig, damit die
Verzögerung um eine Einheit erzielt wird. Weiterhin ist es not
wendig, die oben beschriebene Tätigkeit für alle um eine Ein
heit zu verzögernden Daten durchzuführen.
Daher ist es Aufgabe der Erfindung, einen digitalen Signalpro
zessor vorzusehen, bei dem die Verzögerung der zu multiplizie
renden Daten durch eine extrem kleine Anzahl von Befehlen
durchgeführt werden kann (zum Beispiel einen Befehl).
Erfindungsgemäß wird diese Aufgabe gelöst, indem in einem Spei
cherbereich mindestens eine von einer ersten und zweiten vorge
sehenen Speichereinrichtung durch ein Schieberegister gebildet
wird.
Erfindungsgemäß ist mindestens die erste oder zweite Speicher
einrichtung, die in einem Speicherbereich vorgesehen sind,
durch ein Schieberegister gebildet, und folglich können zu mul
tiplizierende Daten nur durch das Schieben verzögert werden,
und folglich kann der Verzögerungsprozeß durch eine extrem
kleine Anzahl von Befehlen durchgeführt 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 eines Bei
spieles eines konventionellen digitalen Signal
prozessors;
Fig. 2 ein schematisches Blockdiagramm einer erfindungs
gemäßen Ausführungsform eines digitalen Signalpro
zessors; und
Fig. 3 ein schematisches Blockdiagramm einer anderen er
findungsgemäßen Ausführungsform.
Fig. 2 ist ein schematisches Blockdiagramm, das eine Ausfüh
rungsform der Erfindung zeigt. Die in Fig. 2 gezeigte Ausfüh
rungsform weist ein Schieberegister 13 anstelle des in Fig.
1 gezeigten RAM 11 auf. Dieses Schieberegister 13 ist geeignet,
die Eingangsdaten um eine Zeiteinheit oder Probenzeit zum Bei
spiel zu verzögern. Die andere Anordnung dieser Ausführungsform
ist die gleiche wie in dem in Fig. 1 gezeigten konventionellen
Beispiel. Daher sind die gleichen Bereiche wie in Fig. 1 mit
den gleichen Bezugszeichen versehen und deren Beschreibung ist
weggelassen.
Im folgenden wird die Tätigkeit der oben angeführten Ausfüh
rungsform beschrieben. Zu verzögernde Daten werden in das
Schieberegister 13 eingegeben. Das Schieberegister 13 verzö
gert die Eingangsdaten um eine Zeiteinheit durch Verschieben
der Daten. Damit in dem digitalen Signalprozessor dieser Aus
führungsform zu multiplizierende Daten verzögert werden, kann
der Verzögerungsprozeß von Daten folglich durch nur einen Be
fehl zum Verschieben der Daten in dem Schieberegister 13 durch
geführt werden. In anderen Worten, das Durchführen von zeit
weiligem Sichern von in dem RAM 11 gespeicherten Daten, zum
Schreiben der Daten wiederum, wie in dem in Fig. 1 gezeigten
konventionellen Beispiel, ist nicht nötig, und als Resultat
kann die Anzahl der Befehle verringert werden. Daher kann der
Verzögerungsprozeß der Daten sehr effektiv durchgeführt werden,
und das digitale Signalverarbeiten kann bei hoher Geschwindig
keit durchgeführt werden.
Obwohl die oben beschriebene Ausführungsform den Fall betrifft,
in dem alle zu multiplizierenden Daten (mit Ausnahme der in
dem ROM 12 gespeicherten konstanten Daten) um eine Einheitszeit
zu verzögern sind (zum Beispiel in dem Fall der Berechnung
durch das digitale Filter) kann sowohl ein RAM 11 als auch das
Schieberegister 13 in dem Speicherbereich 1 vorgesehen werden,
wenn es viele Daten gibt, die nicht verzögert werden müssen.
Diese Ausführungsform ist in Fig. 3 gezeigt. In der in Fig. 3
gezeigten Ausführungsform werden Daten, die zu verzögern sind,
in das Schieberegister 13 eingegeben, und Daten, die nicht ver
zögert werden müssen, werden in dem RAM 11 gespeichert. Der
Multiplizierer 31 ist direkt mit beiden, mit dem Schiebere
gister 13 und dem RAM 11 so verbunden, daß der Multiplizierer
31 eine Ausgabe von jedem von ihnen auswählen und empfangen
kann, wie es gerade passend ist.
Claims (4)
1. Digitaler Signalprozessor, auf digitales Signalverarbeiten
ausgerichtet, mit einem Speicherbereich (1), einem Steuerbe
reich (2), einem arithmetischen Rechenbereich (3), und einem
Datenbus (4), der als Datenübertragungsleitung zwischen dem
Speicherbereich (1), dem Steuerbereich (2) und dem arithmeti
schen Rechenbereich (3) dient, dadurch gekennzeichnet,
daß der Speicherbereich (1) eine erste Speichereinrichtung zum
Speichern eines Teiles der zu multiplizierenden Daten und eine
zweite Speichereinrichtung zum Speichern der anderen zu multiplizierenden
Daten aufweist, wobei mindestens einer des ersten oder zweiten
Speicherbereiches durch ein Schieberegister (13) gebildet ist,
daß der Steuerbereich (2) einen Programmspeicher (21) zum Spei
chern von Programmdaten, eine Leseeinrichtung (22) zum Nach
einander-Auslesen der in dem Programmspeicher (21) gespeicher
ten Programmdaten, und eine Einrichtung (24) zum Vorsehen ver
schiedener Steuersignale, die auf den von dem Programmspeicher
(21) ausgelesenen Programmdaten basieren, aufweist, und
daß der arithmetische Rechenbereich (3) einen direkt mit der
ersten und zweiten Speichereinrichtung verbundenen Multipli
zierer (31) zum Multiplizieren von Daten, die von der ersten
Speichereinrichtung vorgesehen werden, mit Daten, die von der
zweiten Speichereinrichtung vorgesehen werden, eine direkt mit
dem Multiplizierer (31) verbundene arithmetische und logische
Einheit (32) und einen Akkumulator (33) zum zeitweiligen Spei
chern einer Ausgabe der arithmetischen und logischen Einheit
(32) so, daß die Ausgabe dem Datenbus (4) zugeführt wird, auf
weist.
2. Digitaler Signalprozessor nach Anspruch 1, dadurch gekenn
zeichnet, daß das Schieberegister (13) eine Verzögerungstätig
keit auf die miteinander zu multiplizierenden Daten durch einen
Befehl ausführt.
3. Digitaler Signalprozessor nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß eine der ersten oder zweiten Speicherein
richtungen durch ein Schieberegister (13) gebildet ist und die
andere durch einen Nur-Lese-Speicher (ROM, 12) zum Speichern
von festen Daten gebildet ist.
4. Digitaler Signalprozessor nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß eine der ersten und zweiten Speicherein
richtungen durch ein Schieberegister (13) und einen Speicher
mit direktem Zugriff (RAM, 11) gebildet ist und der andere
durch einen Nur-Lese-Speicher (ROM, 12) zum Speichern von
festen Daten gebildet ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60238831A JPS6297062A (ja) | 1985-10-23 | 1985-10-23 | デイジタルシグナルプロセツサ |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3636105A1 true DE3636105A1 (de) | 1987-04-23 |
Family
ID=17035920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19863636105 Ceased DE3636105A1 (de) | 1985-10-23 | 1986-10-23 | Digitaler signalprozessor |
Country Status (4)
Country | Link |
---|---|
US (1) | US4811267A (de) |
JP (1) | JPS6297062A (de) |
DE (1) | DE3636105A1 (de) |
FR (1) | FR2588981A1 (de) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4577282A (en) | 1982-02-22 | 1986-03-18 | Texas Instruments Incorporated | Microcomputer system for digital signal processing |
US5038312A (en) * | 1988-11-14 | 1991-08-06 | Nec Corporation | Data processing system capable of performing vector/matrix processing and arithmetic processing unit incorporated therein |
US5109497A (en) * | 1989-01-27 | 1992-04-28 | Hughes Aircraft Company | Arithmetic element controller for controlling data, control and micro store memories |
US5218564A (en) * | 1991-06-07 | 1993-06-08 | National Semiconductor Corporation | Layout efficient 32-bit shifter/register with 16-bit interface |
JPH07122973A (ja) * | 1993-10-20 | 1995-05-12 | Yamaha Corp | デジタル信号処理回路 |
US5442576A (en) * | 1994-05-26 | 1995-08-15 | Motorola, Inc. | Multibit shifting apparatus, data processor using same, and method therefor |
US5517436A (en) * | 1994-06-07 | 1996-05-14 | Andreas; David C. | Digital signal processor for audio applications |
JP3693367B2 (ja) * | 1994-07-28 | 2005-09-07 | 富士通株式会社 | 積和演算器 |
US5867726A (en) * | 1995-05-02 | 1999-02-02 | Hitachi, Ltd. | Microcomputer |
US5740420A (en) * | 1995-10-26 | 1998-04-14 | Advanced Micro Devices, Inc. | System and method for compiling and executing sequences of macro and micro instructions |
IL127134A (en) * | 1996-03-04 | 2002-11-10 | Oren Semiconductor Ltd | Install DSP |
DE19630861A1 (de) * | 1996-07-31 | 1998-02-05 | Philips Patentverwaltung | Datenverarbeitungseinrichtung mit einem Mikroprozessor und einer zusätzlichen Recheneinheit |
US6205459B1 (en) * | 1996-12-18 | 2001-03-20 | Yamaha Corporation | Digital signal processor and digital signal processing system incorporating same |
US6317770B1 (en) * | 1997-08-30 | 2001-11-13 | Lg Electronics Inc. | High speed digital signal processor |
US6449630B1 (en) * | 1999-04-07 | 2002-09-10 | Mitsubishi Electric Research Laboratories, Inc. | Multiple function processing core for communication signals |
US6944747B2 (en) * | 2002-12-09 | 2005-09-13 | Gemtech Systems, Llc | Apparatus and method for matrix data processing |
US20100099954A1 (en) * | 2008-10-22 | 2010-04-22 | Zeo, Inc. | Data-driven sleep coaching system |
US11373705B2 (en) * | 2020-11-23 | 2022-06-28 | Micron Technology, Inc. | Dynamically boosting read voltage for a memory device |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4533992A (en) * | 1982-02-22 | 1985-08-06 | Texas Instruments Incorporated | Microcomputer having shifter in ALU input |
US4491910A (en) * | 1982-02-22 | 1985-01-01 | Texas Instruments Incorporated | Microcomputer having data shift within memory |
US4561065A (en) * | 1982-02-23 | 1985-12-24 | Tokyo Shibaura Denki Kabushiki Kaisha | Arithmetic processing device using sampled input data and several previous output data |
US4468786A (en) * | 1982-09-21 | 1984-08-28 | Harris Corporation | Nonlinear equalizer for correcting intersymbol interference in a digital data transmission system |
US4612625A (en) * | 1983-10-12 | 1986-09-16 | Wavetek Rockland Scientific, Inc. | Decimator employing finite impulse response digital filters |
US4617676A (en) * | 1984-09-04 | 1986-10-14 | At&T Bell Laboratories | Predictive communication system filtering arrangement |
-
1985
- 1985-10-23 JP JP60238831A patent/JPS6297062A/ja active Pending
-
1986
- 1986-10-23 FR FR8614723A patent/FR2588981A1/fr active Pending
- 1986-10-23 DE DE19863636105 patent/DE3636105A1/de not_active Ceased
-
1988
- 1988-02-29 US US07/162,306 patent/US4811267A/en not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
MORRIS MANO, Digital Logic and Computer Design, Prentice-Hall, 1976, S. 523-585 * |
US-Z.: IEEE Intern. Solid-State Circuits Conference, 1980, S. 40-41 * |
Also Published As
Publication number | Publication date |
---|---|
FR2588981A1 (fr) | 1987-04-24 |
US4811267A (en) | 1989-03-07 |
JPS6297062A (ja) | 1987-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3636105A1 (de) | Digitaler signalprozessor | |
DE3424962C2 (de) | ||
DE3636106A1 (de) | Digitaler signalprozessor | |
DE2819571C2 (de) | ||
DE3586603T2 (de) | Datenprozessor fuer interpretierende und kompilierte sprache. | |
DE1499175B2 (de) | Steuereinrichtung in einem mehrspezies rechner | |
DE2912287A1 (de) | Datenverarbeitungsgeraet | |
DE69324730T2 (de) | Multiplizier-Akkumulator | |
DE3400723C2 (de) | ||
DE3338345A1 (de) | Vektor prozessor | |
DE3709675C2 (de) | ||
DE2758830A1 (de) | Rechenvorrichtung | |
DE3588212T2 (de) | Verfahren und Gerät zum Suchen von Daten | |
DE2247534C3 (de) | Additions- und Subtraktionsvorrichtung | |
DE69632655T2 (de) | Pipeline-Datenverarbeitungsanordnung zur Durchführung einer Mehrzahl von untereinander datenabhängigen Datenprozessen | |
DE3507584C2 (de) | ||
DE3486073T2 (de) | Vektorverarbeitungsgeraet. | |
DE3314139C2 (de) | ||
EP0265555B1 (de) | Verfahren und Schaltungsanordnung zur Addition von Gleitkommazahlen | |
DE19628039B4 (de) | Speicheradressen-Steuerschaltung | |
DE68903280T2 (de) | Vektorschlange in computern mit vektorregister. | |
DE3786986T2 (de) | Bildbehandlungsvorrichtung. | |
DE3440680A1 (de) | Verfahren und vorrichtung zur dezimaldivision | |
DE3535215C2 (de) | ||
DE1916377C3 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |