DE3856219T2 - Digitaler Signalprozessor mit Adress-Generator für den Zugriff von Daten aus einem Zweidirektionalen Bereich eines Datenspeichers - Google Patents
Digitaler Signalprozessor mit Adress-Generator für den Zugriff von Daten aus einem Zweidirektionalen Bereich eines DatenspeichersInfo
- Publication number
- DE3856219T2 DE3856219T2 DE3856219T DE3856219T DE3856219T2 DE 3856219 T2 DE3856219 T2 DE 3856219T2 DE 3856219 T DE3856219 T DE 3856219T DE 3856219 T DE3856219 T DE 3856219T DE 3856219 T2 DE3856219 T2 DE 3856219T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- address
- register
- value
- index
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 43
- 238000012986 modification Methods 0.000 claims description 31
- 230000004048 modification Effects 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 28
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000007792 addition Methods 0.000 claims description 13
- 230000001419 dependent effect Effects 0.000 claims description 2
- 230000001788 irregular Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003672 processing method Methods 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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
- G06F7/575—Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7828—Architectures of general purpose stored program computers comprising a single central processing unit without memory
- G06F15/7832—Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
- G06F15/786—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) using a single memory module
-
- 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/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch instructions
-
- 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/30094—Condition code generation, e.g. Carry, Zero flag
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/323—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
-
- 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/386—Special constructional features
- G06F2207/3884—Pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
Description
- Die vorliegende Erfindung betrifft einen digitalen Signaiprozessor, der in der Lage ist, die arithmetische oder Unterbrechungs-Verarbeitung hauptsächlich aufeinanderfolgender Signale mit einer hohen Geschwindigkeit durch eine kleine Anzahl von Schritten effizient auszuführen.
- Die EP-A-0 047 439 stellt den nächstkommenden Stand der Technik dar, von welchem die Erfindung ausgeht und offenbart ein Adreßerweiterungssystem mit einem Befehlsregister, welches an einen Hauptspeicher gekoppelt ist, und welches einen aus dem Hauptspeicher gelesenen Befehl speichert, wobei der Befehl ein gemeinsames Adreßmodifikationsfeld zum Bestimmen einer Indexadreßmodifikation und einer Basisadreßmodifikation und eines Versatzes beinhaltet, mehrere allgemeine Register, welche durch einen Bus an das Befehlsregister angeschlossen sind, wobei der Inhalt eines der Register zu einer logischen Adresse in der Indexadreßmodifikation hinzugefügt wird, mehrere Basisregister, welche durch den Bus mit dem Befehlsregister gekoppelt sind, wobei der Inhalt eines der Basisregister zu der logischen Adresse in der Basisadressenmodifikation hinzugefügt wird, eine Basisregisteradressenerzeugungseinrichtung, welche einen ersten Datenwert von dem gemeinsamen Adreßmodifikationsfeld empfängt, und welches einen zweiten Datenwert zum Bestimmen von einem der Basisregister erzeugt, und eine Additionseinrichtung, welche an das Befehlsregister, das allgemeine Register und das Basisregister gekoppelt ist, und welche die Inhalte der allgemeinen Register, der Basisregister und den Versatz hinzufügt.
- Die US-A-4 616 313 stellt einen weiteren Stand der Technik dar, welcher eine Hochgeschwindigkeits-Adreßberechnungsschaltung offenbart, in welcher ein erster Datenselektor entweder die Adresse aus einem Speicheradreßregister oder
- Daten von einem bezeichneten Indexregister einer Registerdatei selektiert und ein zweiter Selektor entweder Daten aus einem lnkrementierungsregister oder Versatzdaten aus einem in jedem Befehl enthaltenen Feld selektiert. Ein Addierer fügt selektiv Versatzdaten zu dem Inhalt entweder eines Basisregisters oder lndexregisters hinzu, wenn keine Verschiebung oder kein Vektorbefehl ausgeführt wird, wobei das Ergebnis zu dem Speicheradreßregister abgegeben wird und der Addierer addiert den Inhalt des Speicheradreßregisters zu dem Inkrementierungsregister, wobei beide Register von einer Berechnungseinheit voreingestellt werden, um auf äquidistante Positionen von Operandenadressen zuzu greifen, wenn ein Verschiebe- oder Vektor-Vorgang dekodiert wird.
- Fig. 1 zeigt einen weiteren Stand der Technik und ist ein Blockschaltbild, welches den Aufbau eines Adreßgenerators basierend auf dem Adreßsteuerungs system des offenbarten Standes der Technik, z.B. in dem "USER's MANUAL TMS32020", herausgegeben von Texas Instruments Inc., darstellt.
- In dieser Figur ist 701 ein Datenbus zur Datenübertragung, 702 ist ein Datenbus zu einem Hilfsregisterzeiger-Sicherungsregister (ARB) 191 von dem Datenbus 701, 191 ist ein Hilfsregisterzeiger-Sicherungsregister (ARB), 704 ist ein Datensicherungsbus, der sich von dem Hilfsregisterzeiger (ARP) 1 92 erstreckt, 705 ist ein Datenbus zwischen dem Hilfsregisterzeiger (ARP) 1 92 und dem Datenbus 701, 707 ist ein Auswahlsignal zum Auswählen eines Hilfsregisters (AR) 1 93 von dem Hilfsregisterzeiger (ARP) 192, 193 ist ein Hilfsregister (AR=AR0-AR4), welches fünf Wörter bereitstellt, 709 ist eine von dem Hilfsregister (AR) 193 ausgegebene relative (indirekte) Adresse, 710 ist ein von dem Hilfsregister (AR) 193 gesendeter Adreßdatenwert, 711 ist ein durch Aktualisieren des Adreßdatenwertes 710 in der Betriebseinheit nur für das Hilfsregister (ARAU) 194 erhaltener neuer Adreßdatenwert, 1 95 ist ein Datenspeicherseitenzeiger für die direkte Adresse (DP), 714 ist eine Datenspeicherseitendatenausgabe von dem Datenspeicherzeiger für die direkte Adresse (DP) 195, 196 ist ein Multiplexer (MUX), welcher die direkte Adresse 717 durch Multiplexen der durch den sofortigen Wert und die Datenspeicherseitendaten 714 angezeigten Direktadreßdaten erzeugt, 717 ist die direkte Adresse, 197 ist ein Selektor, welcher die direkte Adresse 717 und die relative Adresse 709 selektiert, 719 ist ein Adreßausgang, 720 ist ein Adreßsteuerungskode, 721 ist ein Hilfsregisterzeiger Sicherungsregistersteuerungssignal, 722 ist ein Hilfsregisterzeiger-Steuerungssignal, 198 ist ein Dekodierer zum Dekodieren des Adreßsteuerungskodes 720, 724 ist ein Steuerungssignal, welches die Betriebseinheit nur für das Hilfsregister (ARAU) 194 steuert, 725 ist ein Selektionssteuerungssignal, welches die direkte Adresse 717 und die relative Adresse 709 selektiert, 726 ist ein Daten- Eingabe/Ausgabe-Bus zwischen dem Hilfsregister (AR) 193 und dem Datenbus 701, 727 ist ein Daten-Eingabe/Ausgabe-Bus zwischen dem Datenspeicherseitenzeiger für die direkte Adresse (DP) 195 und dem Datenbus 701.
- Fig. 2 ist eine Tabelle zum Erläutern der Wirkungsweise des Adreßgenerators in Fig. 1 durch den Adreßsteuerungskode.
- Als nächstes wird die Wirkungsweise des Adreßgenerators des Standes der Technik erläutert. In dem Fall, in dem der eingegebene Adreßsteuerungskode 720 durch eine direkte Adresse bezeichnet ist, gibt der Dekodierer 1 98 die durch den unmittelbaren Wert aus 7 Bits in dem Befehlskode angezeigten direkten Adreßdaten 716 aus. Diese direkten Adreßdaten 716 und die Datenspeicher- Seitendaten 714 aus 8 Bits, welche von dem Datenspeicherseitenzeiger für die direkte Adresse (DP) 195 gehalten werden, werden von dem Multiplexer (MUX) 196 gemultiplext, um die direkte Adresse 717 zu erzeugen. Schließlich selektiert das Adreßregister die direkte Adresse 717 von dem Selektor 197 mit dem Selektionssteuerungssignal 725 und gibt das Adreßausgangssignal 719 aus.
- Als nächstes wird in dem Fall, in dem der eingegebene Adreßsteuerungskode 720 durch eine relative Adresse bezeichnet ist, eines der Hilfsregister (AR) 193, welches durch das von dem Dekodierer 198 ausgegebene Hilfsregisterzeigersteuerungssignal 722 bezeichnet wird, als die relative Adresse 709 ausgegeben. Diese wird von dem Selektor 1 97 mit dem Selektionssteuerungssignal 725 selektiert, um das Adreßausgangssignal 719 auszugeben. Danach führt die Betriebseinheit nur für das Hilfsregister (ARAU) 194 die festgelegte Aktualisierungsverarbeitung für das eine der selektierten Hilfsregister (AR) 193 aus, um die von dem nächsten Befehl zu verwendende relative Adresse 709 zu berechnen. Die relative Adresse 709 wird in den folgenden fünf Modi verwendet.
- 1. Das von dem Hilfsregisterzeiger (ARP) 192 verwendete Hilfsregister (AR) 193 wird als Datenspeicheradresse verwendet.
- 2. Ein Zugriff auf den Datenspeicher erfolgt mit dem Inhalt des Hilfsregisters (AR) 193, auf welches der Hilfsregisterzeiger (ARP) 192 zeigt, und danach wird "1" von diesem Inhalt subtrahiert.
- 3. Ein Zugriff auf den Datenspeicher wird ausgeführt mit dem Inhalt des Hilfsregisters (AR) 193, welches durch den Hilfsregisterzeiger (ARP) 192 angezeigt wird.
- 4. Ein Zugriff auf den Datenspeicher wird ausgeführt mit dem Inhalt des Hilfsregisters (AR) 193, auf welches der Hilfsregisterzeiger (ARP) 192 zeigt, und danach wird der Inhalt des Hilfsregisters (ARO) 193 von diesem Inhalt subtrahiert.
- 5. Ein Zugriff auf den Datenspeicher wird ausgeführt mit dem Inhalt des Hilfsregisters (AR) 193, welches durch den Hilfsregisterzeiger (ARP) 192 angezeigt wird, und danach wird der Inhalt des Hilfsregisters (ARO) 193 zu diesem Inhalt addiert.
- Insbesondere die Adressierung unter Verwendung des Hilfsregisters (AR) 193 ist im Stand der Technik grob in die folgenden zwei Arten klassifiziert und diese sind äquivalent zu den Arten der Berechnung der Betriebseinheit nur für das Hilfsregister (ARAU) 194.
- A. Gewöhnliche relative Adressierung durch Addition von "1"/Ssubtraktion von "1" für das Hilfsregister (AR) 193.
- B. Relative Adressierung mit Indexmodifikation basierend auf dem Inhalt des Hilfsregisters (ARO).
- Diese Adreßmodi können vorgesehen sein, um zu der vereinfachten Datenadresse aus den eindimensionalen Datenadressen hauptsächlich zur Sprachsignalverarbeitung zu passen.
- Wenn jedoch eine Adressierung für die Daten in dem zweidimensionalen Raum ausgeführt wird, muß die Adresse des führenden Referenzpunktes in dem Adreßregister eingestellt sein und die Aufeinanderfolge einer Reihe von Berechnungen wird unterbrochen und beeinträchtigt die Effizienz.
- Fig. 3 zeigt eine Datenfolge im zweidimensionalen Raum und Fig. 4 ist ein Flußdiagramm des Adressierungsvorgangs für die Datenreihenfolge in Fig. 3 durch den Adreßgenerator.
- In der Datenfolge in Fig. 3 wird angenommen, daß die zweidimensionalen Daten aus M Daten in der horizontalen Richtung und L Daten in der vertikalen Richtung in dem Datenspeicher mit der eindimensionalen Adresse gespeichert sind. Es wird hier ebenfalls angenommen, daß die Referenzpunkte in dem Block bei solchen zweidimensionalen Daten (2m Daten in der horizontalen Richtung, ein Datenwert in der vertikalen Richtung) in der Richtung der sequentiellen horizontalen Abtastung abgefragt werden.
- Zuerst wird die Adresse des Punktes Pl in dem einen Hilfsregister AR1 (ARP = 1) der Hilfsregister (AR) 8 als das Adreßregister eingestellt und "2" wird auf ARO eingestellt. Für die Bezugspunkte in der gleichen horizontalen Zeile wird eine Adressierung abhängig von dem in Fig. 2 gezeigten Adreßsteuerungsmodus Nr. 9, nämlich
- ARI E AR1 + AR0
- ausgeführt.
- Die Adresse des führenden Bezugspunktes Pm+l der nächsten Zeile kann nicht durch Aktualisieren des Wertes von ARI erzeugt werden und muß neu eingestellt werden. Daher ist ein Schritt zum Berechnen der führenden Adresse der Zeile unter Verwendung des Datenberechners und Einstellen dessen in AR1 erforderlich. Die nachfolgenden Verarbeitungen werden in der gleichen Weise ausgeführt wie diejenigen für die erste Zeile. Wie in den obigen Verarbeitungs- Verfahren erkennbar ist, ist es offensichtlich, daß die inneren Berechnungsverarbeitungen für die sekundären Daten jedesmal eingefügt werden, wenn sich die Zeile ändert, und dadurch wird die Pipeline-Effizienz verringert und die Verarbeitungsperiode erhöht sich infolge der Zunahme der Anzahl der Befehlsschritte.
- Da das bekannte Adreßsteuerungssystem aufgebaut ist, wie oben erläutert, führt es in dem Fall, in dem es für die zweidimensionale Signalverarbeitung wie die Verarbeitung des Videosignals verwendet wird, zu dem Problem, daß die Adreßberechnung häufig in der Datenberechnungssektion ausgeführt werden muß und die Programmsoftware des Signalverarbeitungsalgorithmus wird verkompliziert.
- Daher ist es eine Aufgabe der vorliegenden Erfindung, einen digitalen Signalprozessor mit einem Adreßerzeugungssystem zur Signalverarbeitung mit einem Multifunktionsadreßgenerator anzugeben, welcher vorgesehen ist zur zweidimensionalen Signalverarbeitung wie einer Videosignalverarbeitung durch Verwenden vergleichsweise kurzer Steuerungskodebitlängen und einem vereinfachten Schaltungsaufbau.
- Um die obige Aufgabe zu verwirklichen, wird erfindungsgemäß ein digitaler Signalprozessor angegeben, wie in Anspruch 1 beschrieben.
- Weitere vorteilhafte Ausführungsformen sind durch die abhängigen Ansprüche gekennzeichnet.
- Das Adreßerzeugungssystem zur Signalverarbeitung der vorliegenden Erfindung führt eine relative Adressierung abhängig von dem Adreßversatz aus, welcher durch einen Zwischenwert in dem Steuerungskode zusätzlich zu der Indexmodifikationsadresse durch Kombination des Adreßregisters und des lndexmodifikationsregisters angezeigt wird und führt ebenfalls eine Adreßzuordnung für jeden Mikrobefehl in dem relevanten Feld zwischen den horizontalen Mikroinstruktionen zwischendurch aus.
- - Fig. 1 ist ein Blockschaltbild, welches den Aufbau eines Adreßgenerators basierend auf dem Adreßsteuerungssystem im Stand der Technik zeigt;
- Fig. 2 ist eine Tabelle zum Erläutern des Betriebs mit dem Adreßsteuerungskode des Adreßgenerators in Fig. 1;
- Fig. 3 ist eine Datenfolge in dem zweidimensionalen Raum;
- Fig. 4 ist ein Flußdiagramm, welches den Adressierbetrieb für Datenfolgen in Fig. 3 durch den Adreßgenerator in Fig. 1 anzeigt;
- Fig. 5 ist ein Blockschaltbild, welches den Aufbau des Adreßgenerators anzeigt, welcher in dem Adreßerzeugungssystem zur Signalverarbeitung in einer bevorzugten Ausführungsform der vorliegenden Erfindung verwendet wird;
- Fig. 6 ist ein Flußdiagramm, welches den Adressiervorgang für eine Datenfolge in Fig. 3 durch die Einrichtung des Adreßgenerators in Fig. 5 anzeigt;
- Fig. 7 ist ein Beispiel eines Adreßsteuerungskodes in dem Adreßgenerator in Fig. 5;
- Fig. 8 ist eine Tabelle zum Erläutern der Wirkungsweise durch den Adreßsteuerungskode in Fig. 7;
- Fig. 9 ist ein Blockschaltbild, welches den Aufbau des Signalprozessors anzeigt, der das Adreßerzeugungssystem für die Signalverarbeitung in Fig. 5 verwendet; und
- Fig. 10 ist ein Beispiel eines Befehlskodes in dem Signalprozessor in Fig. 9.
- Fig. 5 ist ein Blockschaltbild des Aufbaus des Adreßgenerators, der in dem Adreßerzeugungssystem zur Signalverarbeitung als bevorzugte Ausführungsform der vorliegenden Erfindung verwendet wird. In dieser Fig. ist 701 ein Datenbus, der zur Datenübertragung verwendet wird, 728 ist ein Adreßregister (ARx), das zur Erzeugung der relativen Adresse verwendet wird, 726 ist ein Datenbus zur Eingabe und Ausgabe des Anfangswertes von dem Datenbus 701 in das Adreßregister (ARx) 728, 730 ist ein Indexmodifikationsregister (IXRx), 731 ist ein Datenbus zur Eingabe und Ausgabe des Anfangswertes von dem Datenbus 701 in das Indexmodifikationsregister (IXRx) 730, 732 ist eine gewünschte Datenausgabe aus den Adreßregistern (ARx), welche durch den Adreßsteuerungskode 720 angezeigt ist, 733 ist eine gewünschte Datenausgabe aus den Indexmodifikationsregistern (IXRx) 730, 734 ist ein Addierer [ADD(1)], welcher ausgegebene Daten 732 und ausgegebene Daten 733 addiert, 735 ist eine Datenausgabe des Additionsergebnisses des Addierers 734, 736 ist ein Selektor (1), welcher die Datenausgabe 735 des Additionsergebnisses selektiert, wenn IXR AN ist, oder die Datenausgabe 732, wenn IXR AUS ist, abhängig von dem lndexmodifikations-(IXR)-AN/AUS-Signal 746, 737 ist ein Addierer [ADD (2)], weicher das selektierte Ausgangssignal des Selektors (1) 736 und die von dem Dekodierer 723 ausgegebenen Versatzdaten 742 addiert, 738 ist eine Datenausgabe des Additionsergebnisses des Addierers [ADD (2)], 718 ist ein Selektor (2), welcher den Datenausgang 738 des Additionsergebnisses und die von dem Dekodierer 723 ausgegebenen Direktadreßdaten 743 selektiert, 739 ist die selektierte Datenausgabe des Selektors (2) 718, 740 ist ein Zwischenspeicher, welcher ein Datenausgangssignal 739 synchron mit der Zyklus-Zeitsteuerung ausgibt, 741 ist eine mit der Zyklus-Zeitsteuerung synchronisierte Adreßausgabe, 720 ist ein Adreßsteuerungskode, 723 ist ein Dekodierer, welcher einen Adreßsteuerungskode 720 dekodiert, 742 ist ein Versatzdatenwert, welcher durch den unmittelbaren Wert von dem Adreßsteuerungskode 720 angezeigt wird, 743 ist ein direkter Adreßdatenwert, welcher durch den unmittelbaren Wert von dem Adreßsteuerungskode 720 angezeigt wird, 744 ist ein Adreßregisterselektionssignal zum Selektieren von einem von mehreren Adreßregistern (ARx) 728, 745 ist ein lndexmodifikationsregisterselektionssignal, welches das eine aus den lndexmodifikationsregistern (IXRx) 730 selektiert, 746 ist ein lndexmodifikations- AN/AUS-Signal, das von dem Dekodierer 723 ausgegeben wird, und 747 ist ein von dem Dekodierer 723 ausgegebenes Direktadreß-AN/AUS-Signal.
- Fig. 6 ist ein Flußdiagramm, welches den Adressiervorgang für Datenfolgen in Fig. 3 durch den Adreßgenerator in Fig. 5 zeigt. Fig. 7 zeigt ein Beispiel des Adreßsteuerungskodes in dem Adreßgenerator in Fig. 5.
- Fig. 8 zeigt eine Tabelle zum Erläutern des Betriebs des Adreßsteuerungskodes in Fig. 7. Fig. 9 ist ein Blockschaltbild, welches den Aufbau des Signalverarbeitungsprozessors angibt, der das Adreßerzeugungssystem zur Signalverarbeitung in Fig. 5 verwendet. In diesen Fig. ist 750 ein aus Programmspeicher bestehender Befehlsspeicher, 751 ist eine Befehlsadresse, 752 ist ein entsprechend der Befehlsadresse 751 aus der Adresse des Befehlsspeichers 750 ausgelesener Befehlskode, 753 ist ein Befehlsregister (IR), welches den Befehlskode 752 hält und ihn dekodiert, 754 ist ein Programmzähler (PC), welcher die Befehlsadresse 751 ausgibt, 755 ist eine Programmsteuerungsschaltung (Programmsteuerung), welche den Programmzähler (PC) 754 abhängig von dem Befehlskode 752 steuert, 756 ist ein Programmbus (P-BUS), welcher die Befehle von dem Befehlsregister (IR) 753 zu der entsprechenden Sektion verteilt, 757 ist ein Datenspeicher zum Speichern von Berechnungsdaten, 758 ist ein Bus- Schnittstellenregister (BIR) zur Datenübertragung zwischen dem Programmbus (P-BUS) 756 und dem Datenbus (D-BUS) 701, 759 ist ein Multiplexer (MUX), welcher eine Zeile des Datenbus (D-BUS) 701 selektiert, 760 ist ein in Fig. 5 gezeigter Adreßgenerator (AGU), 761 ist eine Daten-Eingabe/Ausgabe zwischen dem Datenspeicher 757 und dem Datenbus (D-BUS) 701, 762 sind Eingangsdaten für den Datenberechnungsteil 763 von dem Datenbus (D-BUS) 701, 763 ist ein Datenberechnungsteil, welcher Berechnungen ausführt, 764 ist ein Arbeitsregister (WR), welches zur Datenberechnungsverarbeitung verwendet wird, 765 ist eine Daten-Eingabe/Ausgabe zwischen dem Arbeitsregister (WR) 764 und dem Datenbus (D-BUS) 701 und 770 ist ein Betriebskode zum Anzeigen der Befehlsabläufe.
- Fig. 10 ist ein Beispiel eines Befehlskodes in dem Signaiprozessor in Fig. 9. In dieser Fig. ist 770 ein Betriebskode, welcher Befehlsabläufe bestimmt, und 720 ist ein Adreßsteuerungskode, welcher die Adressierung des Datenspeichers 757 steuert.
- Als nächstes werden die Adreßerzeugungsabläufe des Adreßerzeugungssystems zur Signalverarbeitung als Ausführungsform der oben erläuterten, vorliegenden Erfindung erläutert. In dem Fall, in dem der eingegebene Adreßsteuerungskode 720 zur direkten Adreßbezeichnung vorgesehen ist, gibt der Dekodierer 723 zuerst die direkten Adreßdaten 743 aus, die durch den unmittelbaren Wert angegeben werden. Als nächstes wird das Direktadressen-AN/AUS-Signal 747 AN-geschaltet und dadurch können die ausgegebenen Daten 739 durch Selektieren der Direktadreßdaten 743 von dem Selektor (2) 718 erhalten werden. Schließlich werden die ausgegebenen Daten 739 in dem Zwischenspeicher 740 zur Synchronisation mit dem Maschinenzyklus gehalten und die Adreßausgabe 741 wird bereitgestellt.
- Als nächstes wird in dem Fall, daß der eingegebene Adressensteuerungskode 720 zur relativen Adreßbezeichnung vorgesehen ist, nur eines der Adreßregister (ARx) 728, welches durch das von dem Dekodierer 723 ausgegebene Adreßregisterselektionssignal 744 bezeichnet ist, selektiert. In der gleichen Weise wird im Fall der lndexmodifikation nur eines der lndexmodifikationsregister (IXRx) 730 selektiert. Die Ausgangsdaten 732 und die Ausgangsdaten 733, welche Inhalte dieser zwei Register sind, werden in dem Addierer (ADD(1)] addiert und die mit den Ausgabedaten 735 vervollständigte lndexmodifikation kann erhalten werden. Die Ausgabedaten 735 werden in den einen Addierer [ADD(2)] 737 durch Auswahl des Selektors (1) 736 entsprechend dem lndexmodifikations-AN/AUS- Signal 746 eingegeben und dann mit den in den anderen Addierer eingegebenen Versatzdaten 742 addiert, um die relative Adreßdatenausgabe 738 zu erhalten. Mit dieser Datenausgabe 738 wird der eine Inhalt des Adreßregisters (ARX) 728 aktualisiert und gleichzeitig wird die Datenausgabe 738 in dem Selektor (2) 718 selektiert, um die Ausgabedaten 739 der Adresse auszugeben. Sie wird dann durch den Zwischenspeicher 740 mit dem Maschinenzyklus synchronisiert, um die Adreßausgabe 741 zu erhalten.
- In dem Fall, in dem die Indexmodifikation nicht ausgeführt wird, gibt der Selektor (1) 736 während des obigen Vorgangs die Ausgabedaten 732 des Adreßregisters (ARx) 728 in den einen Eingang des Addierers [ADD(2)] 737 ein. Daher wird das eine der Indexmodifikationsregister (IXRx) 730 nicht selektiert. Inzwischen wird in dem Fall, in dem die Addition der Versatzdaten 742 nicht ausgeführt wird, der durch den unmittelbaren in dem Adreßsteuerungskode 720 angezeigte Versatzdatenwert 742 auf "0" eingestellt, und wird in den anderen Eingang des Addierers (ADD) 737 eingegeben. Der relative Adreßmodus beinhaltet die folgenden vier Arten von Modi, von denen jede Kombination. für jeden Steuerungszyklus auswählbar ist.
- 1. Ein Zugriff auf den Datenspeicher 757 wird mit dem Inhalt des einen Adreßregisters (ARx) 728 ausgeführt.
- 2. Nachdem die durch den unmittelbaren Wert angezeigten Versatzdaten 742 zu dem einen Inhalt in dem gewünschten Adreßregister (ARx) 728 addiert sind, wird der Zugriff auf den Datenspeicher 757 mit dem Ergebnis dieser Addition ausgeführt und gleichzeitig wird der Inhalt des Adreßregisters (ARx) 728 betrachtet.
- 3. Nachdem ein Inhalt des gewünschten Adreßregisters (ARx) 728 zu einem Inhalt in dem gewünschten lndexmodifikationsregister (IXRx) 730 addiert ist, wird der Zugriff auf den Datenspeicher 757 mit dem Ergebnis der Addition ausgeführt und gleichzeitig wird der Inhalt des Adreßregisters (ARx) 728 aktualisiert.
- 4. Nachdem ein Inhalt des gewünschten Adreßregisters (ARx) 728 zu dem einen Inhalt des gewünschten lndexmodifikationsregisters (IXRx) 730 addiert ist, wird der durch den unmittelbaren Wert angezeigte Datenversatzwert 742 zu dem Ergebnis der Addition addiert. Ein Zugriff auf den Datenspeicher 757 erfolgt mit dem Ergebnis der Addition und gleichzeitig wird der Inhalt des Adreßregisters (ARx) 728 aktualisiert.
- Fig. 7 zeigt ein Beispiel des Adreßsteuerungskodes 720 zur Adreßsteuerung und Fig. 8 ist eine Tabelle zum Erläutern des Ablaufs abhängig vom Inhalt des Adreßsteuerungskodes 720.
- Wenn z.B. die zweidimensionalen Daten in der horizontalen Richtung in der Folge der Adresse des Datenspeichers 757 durch den relativen Adreßmodus angeordnet sind, wenn die horizontale Größe der zweidimensionalen Daten M ist, kann die flexible Adreßsteuerung verwirklicht werden durch Kombinieren der relativen Adreßmodi, wie nachfolgend gezeigt.
- A. In dem Fall, daß ein Zugriff auf den Datenspeicher 757 bei jeder a-Adresse in der horizontalen Richtung ausgeführt wird: +a oder -a wird dem Versatzdatenwert 742 in dem Modus des Adreßregisters (ARx) 728 + Versatzdatenwert 742 zugewiesen.
- B. In dem Fall, in dem der Zugriff auf den Datenspeicher 757 bei jeder a-Adresse in der vertikalen Richtung ausgeführt wird:
- a × M oder -a × M wird in dem Indexmodifikationsregister (IXRX) 730 eingestellt und der Modus des Adreßregisters (ARX) 728 + Indexmodifikationsregister (IXRx) 730 wird verwendet.
- C. Im Fall, daß der Zugriff auf den Datenspeicher 757 in der schrägen Richtung (z.B. in der diagonalen Richtung) ausgeführt wird: M oder -M wird in dem Indexmodifikationsregister (IXRx) 730 eingestellt und der Modus des Adreßregisters (ARx) 728 + lndexmodifikationsregister (IXRx) 730 + Versatzdatenwert 742 wird verwendet.
- Fig. 6 zeigt hier ein Flußdiagramm des Adressierungsvorganges für die in Fig. 3 gezeigte Datenfolge. Zuerst wird ein Wert von (M - 2m) anfangs in dem einen IXR0 in den Indexmodifikationsregistern (IXRx) 730 eingestellt und die Adresse des Punktes Pl wird anfangs auf das eine ARO in den Adreßregistern (ARx) 728 eingestellt. Die Abläufe bis hier sind die gleichen wie diejenigen im Stand der Technik. Für den führenden Bezugspunkt P der ersten Zeile wird die Adressierung in dem Adreßsteuerungsmodus Nr.1 ausgeführt, nämlich in dem in Fig. 8 gezeigten Modus AR0 T AR0, und für den nächsten Bezugspunkt in der gleichen Zeile wird die Adressierung in dem Adreßsteuerungsmodus Nr.2 ausgeführt, nämlich in dem Modus von AR0 + Disp (=2) T AR0. Als nächstes kann die Adressierung, wenn die Zeile geändert wird, in dem Adreßsteuerungsmodus Nr.4, AR0 + IXR0 + Disp T AR0 ausgeführt werden. Daher kann in einem Beispiel in Fig. 3 die Adressierung kontinuierlich für die (m × l)-Daten ausgeführt werden.
- Wie vorstehend erläutert, ist es nicht länger erforderlich, die Adreßberechnung durch Zwischenberechnung bei jeder Änderung der Zeile in den zweidimensionalen Daten auszuführen, die Pipeline-Verarbeitung kann effizient verwirklicht werden und das Programm selbst kann in dem Adreßerzeugungssystem zur Signalverarbeitung der vorliegenden Erfindung ebenfalls vereinfacht werden.
- In dem Fall, daß ein Reihenberechnungsvorgang für mehrere Datenfolgen kontinuierlich ausgeführt wird, wird der Adreßwert des führenden Bezugspunktes jeder Datenfolge vorher berechnet und dann in der bestimmten Region des Datenspeichers gespeichert, wobei der führende Adreßwert der dem Anfang des Berechnungsvorgangs entsprechenden Datenfolge aus dem Datenspeicher 757 gelesen wird und dann anfangs in dem bestimmten Adreßregister in den Adreßgeneratoren über den Datenbus 701 eingestellt wird.
- Wie vorstehend erläutert, verwendet die vorliegende Erfindung die Anordnung, welche in der Lage ist, Adreßregister, Indexregister und Versatz für jeden Mikrobefehl in dem Adreßerzeugungssystem zur Signalverarbeitung zuzuordnen und eine relative Adressierung durch Kombination von Additionen von drei Elementen zu verwirklichen und bietet daher eine ausgezeichnete Wirkung wie das Vereinfachen der Beschreibung der komplizierten Adreßsteuerung für zweidimensionale Daten und eine Verwirklichung einer Hochgeschwindigkeits- Signalverarbeitung.
Claims (4)
1. Digitaler Signalprozessor, mit:
einem Befehlsspeicher (750), welcher Mikrobefehle speichert, die
Berechnungsinhalte und Datenadreßsteuerungsinhalte anzeigen,
einem Datenbus (701) zum Übertragen von Daten,
einem Rechner (763) zum Ausführen einer Berechnung abhängig von dem
Mikrobefehl för einen oder mehrere Datenwerte, die gleichzeitig von dem
Datenbus (701) gelesen werden, und
einer Adreßerzeugungseinrichtung (760) mit einem oder mehreren Adreßregistern
(728), welche in der Lage sind, Anfangswerte (726) von dem Datenbus (701)
einzugeben oder auszugeben, und einem oder mehreren Indexregistern (730),
welche in der Lage sind, Adreßmodifikationswerte (731) von dem Datenbus
(701) einzugeben oder auszugeben, zum entsprechenden Selektieren eines
Adreßregisters und Indexregisters aus derartigen Adreßregistern (728) und
Indexregistern (730) entsprechend dem Mikrobefehl,
und einer Einrichtung zum Berechnen eines gegenwärtigen Adreßdatenwertes
durch Kombination von Additionen von maximal drei Elementen, die aus dem
Inhalt des ausgewählten Adreßregisters (728), dem Inhalt des ausgewählten
Indexregisters (730), welcher den relativen Indexwert bestimmt, und einem
Versatz genommen werden, welcher einen relativen Modifikationswert festlegt,
der durch einen unmittelbaren Wert in dem Kode des Mikrobefehls angegeben
ist, wobei ein Anfangswert des Adreßregisters (728) und eines oder mehrerer
lndexregister (730) durch den Datenbus (701) vorab eingestellt wird,
dadurch gekennzeichnet, daß
mehrere Datenspeicher (757) vorgesehen sind zum Speichern einer Reihe von
Daten,
der Rechner (763) einen Daten-Eingabe/Ausgabe-Vorgang zu und von den
Datenspeichern (757) für einen Mikrobefeh parallel ausführt, und
die Adreßerzeugungseinrichtung mehrere Adreßgeneratoren (760) umfaßt,
welche unabhängig entsprechend Eingangsdaten in Übereinstimmung mit dem
Mikrobefehl Adressen für Lesedaten (762) aus den Datenspeichern (757)
erzeugen, wobei jeder der Adreßgeneratoren (760) ein oder mehrere
Adreßregister (728) umfaßt, eines oder mehre lndexregister (730), die
Berechnungseinrichtung ebenso wie eine Einrichtung zum Aktualisieren des Inhalts des
ausgewählten
Adreßregisters (728) mit der berechneten gegenwärtigen Adresse, und
eine Selektionseinrichtung (718) zum Selektieren entweder der berechneten
gegenwärtigen Adresse, welche von der Berechnungseinrichtung bereitgestellt
wird, wenn die relative Adreßverarbeitung angewiesen wird, wobei die Position
eines ersten Bezugspunktes, auf den zuzugreifen ist, in einer zweidimensionalen
Datenfolge, die in einem zweidimensionalen Raum in dem zugeordneten
Datenspeicher (757) gespeichert ist, der Inhalt eines bestimmten, bezeichneten
Adreßregisters ist, und wobei der berechnete gegenwärtige Adreßdatenwert für
die nachfolgenden Bezugspunkte bei jedem Mikrobefehl in der zweidimensionalen
Datenfolge auf dem in dem bestimmten Adreßregister (728) gespeicherten
gültigen Adreßwert, einem zugeordneten Indexregister (730) und einem Versatz
basiert, wobei das zugeordnete lndexregister (730) mit einem Wert, der
abhängig von dem auf den zweidimensionalen Raum bezogenen
Dimensionsdatenwert ist, voreingestellt wird, oder einem durch einen Zwischenwert in dem
Mikrobefehl für das Datensystem der gespeicherten, unregelmäßigen
Datenanordnung angezeigten Direktadreßdatenwert voreingestellt wird.
2. Digitaler Signalprozessor zur Signalverarbeitung nach Anspruch 1,
bei welchem in dem Fall, daß Daten in dem zweidimensionalen Raum, der sich M
Daten in der horizontalen Richtung und L Daten in der vertikalen Richtung
erstreckt, wobei M, L positive ganze Zahlen sind, in dem Datenspeicher (757) mit
der Skalar-Adresse durch die sequentielle Abtastung gespeichert sind, die Adreß-
Festlegung für den ersten Bezugspunkt der Datenfolge mit der
zweidimensionalen Anordnung unter Verwendung des Anfangswertes des bestimmten
Adreßregisters (728) in dem Adreßgenerator (760) ausgeführt wird; für die
nachfolgenden Bezugspunkte, in dem Fall, daß der gegenwärtige Bezugspunkt durch m
Datenwerte, wobei m ein Versatz ist, welcher durch eine ganze Zahl innerhalb
des einstellbaren Bereiches angezeigt ist, in der horizontalen Richtung und durch
l Datenwerte in der vertikalen Richtung von dem vorausgehenden Bezugspunkt
getrennt ist, wenn l "0" ist, nämlich der gegenwärtige Bezugspunkt in der
gleichen horizontalen Zeile existiert, wird ein Wert von m für den Versatz mit
dem gegenwärtigen Befehlskode (752) eingestellt und eine Adreßzuordnung wird
ausgeführt unter Verwendung eines Addierwertes des Inhalts des bestimmten
Adreßregisters (728) und eines Versatzes, für welchen der Wert von m
eingestellt ist, wenn 1 nicht "0" ist, ein Indexregister (730), in welchem ein Wert von l
× M + a voreingestellt ist, wobei a eine ganze Zahl ist, wird durch den
gegenwärtigen Befehlskode (752) bezeichnet und die Verarbeitung für die
Adreßbezeichnung wird mit dem Befehlskode (752) bei jedem Bezugspunkt durch den
Addierwert von drei Elementen des Inhalts des bestimmten Adreßregisters (728),
des Inhalts des zugeordneten lndexregisters (730) und des Versatzes
angewiesen, auf welchen ein Wert von m - a durch den gegenwärtigen Befehlskode
(752) eingestellt ist.
3. Digitaler Signalprozessor zur Signalverarbeitung nach Anspruch 1
oder 2,
bei welchem der Adreßgenerator (760) in der Lage ist, die vorab an der
bezeichneten Adresse des Datenspeichers (757) gespeicherten Daten einzustellen oder
Daten aus dem Rechner (763) zu dem bestimmten Adreßregister (728) oder
Indexregister (730) durch den Datenbus (701) auszugeben und den Inhalt des
bestimmten Adreßregisters (728) oder lndexregisters (730) zu dem
Datenspeicher (757) durch den Datenbus (701) oder zu diesem Rechner (763) als die
Eingangsdaten (762) des Rechners (763) auszugeben.
4. Digitaler Signalprozessor nach Anspruch 1 bis 3,
bei welchem in dem Fall, daß die relative Adressierung für die Datenfolge aus
mehreren Daten auszuführen ist, ein vorher berechneter und in der bestimmten
Adresse (741) des Datenspeichers (757) gespeicherter oder ausgegebener
Datenwert des Rechners (763) anfangs in dem bestimmten Adreßregister (728)
durch den Datenbus (701) als die Adresse des führenden Bezugspunktes einer
solchen Datenfolge eingestellt wird.
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14087287A JPS63304344A (ja) | 1987-06-05 | 1987-06-05 | マルチポ−トメモリ回路 |
JP18685887A JPS6429932A (en) | 1987-07-27 | 1987-07-27 | Address control system for signal processing |
JP19700987A JPS6441028A (en) | 1987-08-06 | 1987-08-06 | Interruption processing system |
JP62273763A JPH0630056B2 (ja) | 1987-10-29 | 1987-10-29 | 信号処理装置 |
JP27481087A JPH01116730A (ja) | 1987-10-30 | 1987-10-30 | デイジタル信号処理プロセツサ |
JP62296612A JPH0766328B2 (ja) | 1987-11-25 | 1987-11-25 | プロセッサの信号処理方式 |
JP62296611A JPH0766327B2 (ja) | 1987-11-25 | 1987-11-25 | 信号処理方法及び装置 |
JP31655387A JPH01156825A (ja) | 1987-12-15 | 1987-12-15 | 信号処理用アドレス生成方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3856219D1 DE3856219D1 (de) | 1998-08-20 |
DE3856219T2 true DE3856219T2 (de) | 1998-11-19 |
Family
ID=27573171
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3856219T Expired - Fee Related DE3856219T2 (de) | 1987-06-05 | 1988-06-01 | Digitaler Signalprozessor mit Adress-Generator für den Zugriff von Daten aus einem Zweidirektionalen Bereich eines Datenspeichers |
DE3856175T Expired - Fee Related DE3856175T2 (de) | 1987-06-05 | 1988-06-01 | Digitales Signalverarbeitungssystem in dem ein Prozessor unter Kontrolle eines Hosts auf zwei Befehlsspeicher zugreift |
DE3856220T Expired - Fee Related DE3856220T2 (de) | 1987-06-05 | 1988-06-01 | Digitaler Signalprozessor der bedingte Mehrpunkt-Sprungbefehle im Pipelinemodus bearbeitet |
DE3851858T Expired - Fee Related DE3851858T2 (de) | 1987-06-05 | 1988-06-01 | Digitaler Signalprozessor. |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3856175T Expired - Fee Related DE3856175T2 (de) | 1987-06-05 | 1988-06-01 | Digitales Signalverarbeitungssystem in dem ein Prozessor unter Kontrolle eines Hosts auf zwei Befehlsspeicher zugreift |
DE3856220T Expired - Fee Related DE3856220T2 (de) | 1987-06-05 | 1988-06-01 | Digitaler Signalprozessor der bedingte Mehrpunkt-Sprungbefehle im Pipelinemodus bearbeitet |
DE3851858T Expired - Fee Related DE3851858T2 (de) | 1987-06-05 | 1988-06-01 | Digitaler Signalprozessor. |
Country Status (4)
Country | Link |
---|---|
US (1) | US5045993A (de) |
EP (6) | EP0551934A2 (de) |
CA (1) | CA1288169C (de) |
DE (4) | DE3856219T2 (de) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1311063C (en) * | 1988-12-16 | 1992-12-01 | Tokumichi Murakami | Digital signal processor |
JPH0769791B2 (ja) * | 1988-12-21 | 1995-07-31 | 三菱電機株式会社 | マイクロプロセッサ |
JPH0740241B2 (ja) * | 1989-01-17 | 1995-05-01 | 富士通株式会社 | リクエストキャンセル方式 |
US5237670A (en) * | 1989-01-30 | 1993-08-17 | Alantec, Inc. | Method and apparatus for data transfer between source and destination modules |
US5150471A (en) * | 1989-04-20 | 1992-09-22 | Ncr Corporation | Method and apparatus for offset register address accessing |
US5175863A (en) * | 1989-10-23 | 1992-12-29 | International Business Machines Corporation | Signal data processing system having independently, simultaneously operable alu and macu |
EP0843254A3 (de) * | 1990-01-18 | 1999-08-18 | National Semiconductor Corporation | Integrierte, digital arbeitende Signalverarbeitungsanlage/Universalprozessor mit anteilig genutzten internem Speicher |
JPH0444151A (ja) * | 1990-06-11 | 1992-02-13 | Omron Corp | プロセッサ |
JPH0470946A (ja) * | 1990-07-04 | 1992-03-05 | Mitsubishi Electric Corp | Dmaコントローラを内蔵した処理装置 |
JP3194193B2 (ja) * | 1990-10-31 | 2001-07-30 | カシオ計算機株式会社 | 信号処理装置 |
RU1804645C (ru) * | 1991-03-27 | 1993-03-23 | Институт Точной Механики И Вычислительной Техники Им.С.А.Лебедева | Центральный процессор |
FR2678400B1 (fr) * | 1991-06-27 | 1995-08-04 | Texas Instruments France | Processeur de protocole destine a l'execution d'un ensemble d'instructions en un nombre reduit d'operation. |
US7197623B1 (en) | 1991-06-27 | 2007-03-27 | Texas Instruments Incorporated | Multiple processor cellular radio |
JP3201786B2 (ja) * | 1991-07-18 | 2001-08-27 | アジレント・テクノロジー株式会社 | ディジタル信号処理システムの制御方法 |
JP3172214B2 (ja) * | 1991-09-30 | 2001-06-04 | 富士通株式会社 | 状態モード設定方式 |
JP2906792B2 (ja) * | 1991-11-15 | 1999-06-21 | 日本電気株式会社 | ディジタルプロセッサ及びその制御方法 |
DE69228980T2 (de) * | 1991-12-06 | 1999-12-02 | National Semiconductor Corp., Santa Clara | Integriertes Datenverarbeitungssystem mit CPU-Kern und unabhängigem parallelen, digitalen Signalprozessormodul |
US6000026A (en) * | 1992-06-22 | 1999-12-07 | Texas Instrument Incorporated | Multiple processor apparatus having a protocol processor intended for the execution of a collection of instructions in a reduced number of operations |
DE69315630T2 (de) * | 1992-07-23 | 1998-07-16 | Rockwell International Corp | Datenzugriff in einem RISC-Digitalsignalprozessor |
US5481489A (en) * | 1992-08-31 | 1996-01-02 | Fujitsu Limited | Method of and apparatus for discriminating NaN |
US5717908A (en) * | 1993-02-25 | 1998-02-10 | Intel Corporation | Pattern recognition system using a four address arithmetic logic unit |
US5825921A (en) * | 1993-03-19 | 1998-10-20 | Intel Corporation | Memory transfer apparatus and method useful within a pattern recognition system |
FR2708359A1 (fr) * | 1993-06-30 | 1995-02-03 | Philips Electronics Nv | Procédé pour exploiter un processeur numérique de signal et dispositif mettant en Óoeuvre le procédé. |
ATE185204T1 (de) * | 1993-08-09 | 1999-10-15 | Siemens Ag | Signalverarbeitungseinrichtung |
JP3452655B2 (ja) * | 1993-09-27 | 2003-09-29 | 株式会社日立製作所 | ディジタル信号処理プロセッサおよびそれを用いて命令を実行する方法 |
US5778416A (en) * | 1993-12-20 | 1998-07-07 | Motorola, Inc. | Parallel process address generator and method |
US5590356A (en) * | 1994-08-23 | 1996-12-31 | Massachusetts Institute Of Technology | Mesh parallel computer architecture apparatus and associated methods |
US5835730A (en) * | 1996-07-31 | 1998-11-10 | General Instrument Corporation Of Delaware | MPEG packet header compression for television modems |
WO1998006042A1 (en) * | 1996-08-07 | 1998-02-12 | Sun Microsystems, Inc. | Wide instruction unpack method and apparatus |
WO1998006040A1 (en) * | 1996-08-07 | 1998-02-12 | Sun Microsystems, Inc. | Architectural support for software pipelining of nested loops |
WO1998006038A1 (en) * | 1996-08-07 | 1998-02-12 | Sun Microsystems, Inc. | Architectural support for software pipelining of loops |
US5958048A (en) * | 1996-08-07 | 1999-09-28 | Elbrus International Ltd. | Architectural support for software pipelining of nested loops |
WO1998006041A1 (en) * | 1996-08-07 | 1998-02-12 | Sun Microsystems, Inc. | Array prefetch apparatus and method |
WO1998006039A1 (en) * | 1996-08-07 | 1998-02-12 | Sun Microsystems, Inc. | Disambiguation memory circuit and operating method |
US5880981A (en) * | 1996-08-12 | 1999-03-09 | Hitachi America, Ltd. | Method and apparatus for reducing the power consumption in a programmable digital signal processor |
US6332152B1 (en) * | 1997-12-02 | 2001-12-18 | Matsushita Electric Industrial Co., Ltd. | Arithmetic unit and data processing unit |
TW380245B (en) * | 1998-05-18 | 2000-01-21 | Winbond Elelctronics Corp | Speech synthesizer and speech synthesis method |
US7234100B1 (en) * | 2000-09-28 | 2007-06-19 | Intel Corporation | Decoder for trellis-based channel encoding |
US6662296B1 (en) * | 2000-10-02 | 2003-12-09 | International Business Machines Corporation | Method and system for testing millicode branch points |
JP2002215606A (ja) * | 2001-01-24 | 2002-08-02 | Mitsubishi Electric Corp | データ処理装置 |
US20020184566A1 (en) | 2001-06-01 | 2002-12-05 | Michael Catherwood | Register pointer trap |
US20030061464A1 (en) * | 2001-06-01 | 2003-03-27 | Catherwood Michael I. | Digital signal controller instruction set and architecture |
US7167973B2 (en) * | 2001-11-15 | 2007-01-23 | Broadcom Corporation | Method and system for performing multi-tests in processors using results to set a register and indexing based on the register |
JP2005149297A (ja) * | 2003-11-18 | 2005-06-09 | Renesas Technology Corp | プロセッサおよびそのアセンブラ |
JP4908017B2 (ja) * | 2006-02-28 | 2012-04-04 | 富士通株式会社 | Dmaデータ転送装置及びdmaデータ転送方法 |
US7953958B2 (en) * | 2006-09-29 | 2011-05-31 | Mediatek Inc. | Architecture for joint detection hardware accelerator |
US20090129486A1 (en) * | 2007-11-15 | 2009-05-21 | Sequel Technologies, Llc. | Systems and methods for providing security communication procesess in a security system |
GB2500707B (en) * | 2012-03-30 | 2014-09-17 | Cognovo Ltd | Multiprocessor system, apparatus and methods |
US20150268962A1 (en) * | 2014-03-24 | 2015-09-24 | GoofyFoot Labs | Asynchronous Circuit Design |
US9817791B2 (en) * | 2015-04-04 | 2017-11-14 | Texas Instruments Incorporated | Low energy accelerator processor architecture with short parallel instruction word |
US11847427B2 (en) | 2015-04-04 | 2023-12-19 | Texas Instruments Incorporated | Load store circuit with dedicated single or dual bit shift circuit and opcodes for low power accelerator processor |
US10401412B2 (en) | 2016-12-16 | 2019-09-03 | Texas Instruments Incorporated | Line fault signature analysis |
US11010953B2 (en) * | 2017-04-21 | 2021-05-18 | Intel Corporation | Dedicated fixed point blending for energy efficiency |
CN109714056B (zh) * | 2019-01-17 | 2022-10-28 | 上海双微导航技术有限公司 | 一种用于兼容多款ad采集的方法 |
CN110737618B (zh) * | 2019-10-23 | 2021-03-16 | 盛科网络(苏州)有限公司 | 内嵌处理器进行快速数据通信的方法、装置及存储介质 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3570006A (en) * | 1968-01-02 | 1971-03-09 | Honeywell Inc | Multiple branch technique |
US3875391A (en) * | 1973-11-02 | 1975-04-01 | Raytheon Co | Pipeline signal processor |
US4025771A (en) * | 1974-03-25 | 1977-05-24 | Hughes Aircraft Company | Pipe line high speed signal processor |
US4090250A (en) * | 1976-09-30 | 1978-05-16 | Raytheon Company | Digital signal processor |
DE2710671A1 (de) * | 1977-03-11 | 1978-09-14 | Standard Elektrik Lorenz Ag | Schaltungsanordnung fuer einen mikroprozessor zur steuerung des datenspeicherzugriffs |
US4240139A (en) * | 1977-09-22 | 1980-12-16 | Tokyo Shibaura Denki Kabushiki Kaisha | Address generating system |
FR2407520B1 (fr) * | 1977-10-25 | 1989-05-12 | Digital Equipment Corp | Unite de traitement centrale pour l'execution d'instructions avec un specificateur d'operande special |
US4159519A (en) * | 1977-11-21 | 1979-06-26 | Burroughs Corporation | Template family interfacing structure for providing a sequence of microinstructions to a pipelined microprogrammable data processing system |
US4236206A (en) * | 1978-10-25 | 1980-11-25 | Digital Equipment Corporation | Central processor unit for executing instructions of variable length |
US4428046A (en) * | 1980-05-05 | 1984-01-24 | Ncr Corporation | Data processing system having a star coupler with contention circuitry |
US4493019A (en) * | 1980-05-06 | 1985-01-08 | Burroughs Corporation | Pipelined microprogrammed digital data processor employing microinstruction tasking |
JPS5750052A (en) * | 1980-09-09 | 1982-03-24 | Toshiba Corp | Address extension system |
US4439839A (en) * | 1981-08-24 | 1984-03-27 | International Telephone And Telegraph Corporation | Dynamically programmable processing element |
US4654783A (en) * | 1982-07-26 | 1987-03-31 | Data General Corporation | Unique process for loading a microcode control store in a data processing system |
JPS5979349A (ja) * | 1982-10-29 | 1984-05-08 | Toshiba Corp | 演算装置 |
US4613935A (en) * | 1983-02-02 | 1986-09-23 | Couleur John F | Method and apparatus for pipe line processing with a single arithmetic logic unit |
JPS59174948A (ja) * | 1983-03-25 | 1984-10-03 | Toshiba Corp | 情報処理装置 |
US4578750A (en) * | 1983-08-24 | 1986-03-25 | Amdahl Corporation | Code determination using half-adder based operand comparator |
US4785393A (en) * | 1984-07-09 | 1988-11-15 | Advanced Micro Devices, Inc. | 32-Bit extended function arithmetic-logic unit on a single chip |
-
1988
- 1988-06-01 EP EP93104238A patent/EP0551934A2/de not_active Withdrawn
- 1988-06-01 DE DE3856219T patent/DE3856219T2/de not_active Expired - Fee Related
- 1988-06-01 DE DE3856175T patent/DE3856175T2/de not_active Expired - Fee Related
- 1988-06-01 EP EP88108755A patent/EP0293851B1/de not_active Expired - Lifetime
- 1988-06-01 EP EP93104196A patent/EP0551932B1/de not_active Expired - Lifetime
- 1988-06-01 DE DE3856220T patent/DE3856220T2/de not_active Expired - Fee Related
- 1988-06-01 EP EP19930104197 patent/EP0551933A3/en not_active Withdrawn
- 1988-06-01 DE DE3851858T patent/DE3851858T2/de not_active Expired - Fee Related
- 1988-06-01 EP EP93104194A patent/EP0554917B1/de not_active Expired - Lifetime
- 1988-06-01 EP EP93104195A patent/EP0551931B1/de not_active Expired - Lifetime
- 1988-06-03 CA CA000568527A patent/CA1288169C/en not_active Expired - Fee Related
- 1988-06-03 US US07/201,208 patent/US5045993A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE3856175D1 (de) | 1998-06-10 |
DE3851858T2 (de) | 1995-05-24 |
EP0293851A2 (de) | 1988-12-07 |
EP0293851B1 (de) | 1994-10-19 |
DE3851858D1 (de) | 1994-11-24 |
EP0293851A3 (en) | 1990-05-09 |
EP0551932A2 (de) | 1993-07-21 |
DE3856220D1 (de) | 1998-08-20 |
DE3856219D1 (de) | 1998-08-20 |
EP0551933A3 (en) | 1993-12-15 |
EP0551931A2 (de) | 1993-07-21 |
EP0551931B1 (de) | 1998-07-15 |
CA1288169C (en) | 1991-08-27 |
US5045993A (en) | 1991-09-03 |
EP0554917B1 (de) | 1998-05-06 |
EP0554917A3 (de) | 1994-04-13 |
EP0551931A3 (en) | 1993-12-15 |
EP0551933A2 (de) | 1993-07-21 |
DE3856175T2 (de) | 1998-12-17 |
EP0554917A2 (de) | 1993-08-11 |
EP0551934A2 (de) | 1993-07-21 |
EP0551932A3 (en) | 1993-12-15 |
EP0551934A3 (de) | 1994-04-13 |
EP0551932B1 (de) | 1998-07-15 |
DE3856220T2 (de) | 1999-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3856219T2 (de) | Digitaler Signalprozessor mit Adress-Generator für den Zugriff von Daten aus einem Zweidirektionalen Bereich eines Datenspeichers | |
DE68924389T2 (de) | Verfahren und Einrichtung zur Anzeige einer Vielzahl von graphischen Bildern. | |
DE3751503T2 (de) | Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen. | |
DE69900980T2 (de) | Verfahren und vorrichtung zur ausführung von verschiebungsoperationen mit gepackten daten | |
DE2451982C2 (de) | ||
DE3882772T2 (de) | Vektorprozessor angepasst zum Sortieren von Vektordaten. | |
DE68914172T2 (de) | Datenverarbeitungssystem und Videoverarbeitungssystem mit einem derartigen Datenverarbeitungssystem. | |
DE69421103T2 (de) | Programmgesteuertes Prozessor | |
DE3486494T2 (de) | Graphisches Musterverarbeitungsgerät | |
DE69332458T2 (de) | Vektorprozessor | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE3752017T2 (de) | Mikrorechner mit Zugriffsfähigkeit auf einen internen Speicher mit gewünschter variabler Zugriffszeit | |
DE69428303T2 (de) | Verfahren und Vorrichtung zum Datenarbeiten mit mehreren Statusbitgruppen | |
DE2452214A1 (de) | Mikroprozessor mit unmittelbarer und indirekter adressierung | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE69130757T2 (de) | Ausführungsvorrichtung für bedingte Verzweigungsbefehle | |
DE2755728A1 (de) | Kathodenstrahlroehren-anzeigegeraet | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE2833175C2 (de) | Signalgenerator für ein Anzeigesystem | |
DE69119930T2 (de) | Vorrichtung zur Programmierung einer speicherprogrammierbaren Steuerung und Verfahren zum Gebrauch der Ablaufplantechnik | |
DE2651543A1 (de) | Digitales raster-anzeigesystem | |
DE69125874T2 (de) | Generator für mehrdimensionale Adressen und Anordnung zum Steuern desselben | |
DE19524402C2 (de) | Programmausführungssteuereinrichtung mit einer Adressierbarkeit entsprechend einer M-reihigen Pseudo-Zufallszahlenfolge | |
DE3856139T2 (de) | Mikroprozessor | |
DE3711201A1 (de) | Binaerdatenverdichtungs- und -dehnungs-verarbeitungsgeraet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
8339 | Ceased/non-payment of the annual fee |