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 Datenspeichers

Info

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
Application number
DE3856219T
Other languages
English (en)
Other versions
DE3856219D1 (de
Inventor
Masatoshi Kameyama
Koh Kamizawa
Yoshiaki Katoh
Naoto Kinjo
Tokumichi Murakami
Hideo Ohira
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP14087287A external-priority patent/JPS63304344A/ja
Priority claimed from JP18685887A external-priority patent/JPS6429932A/ja
Priority claimed from JP19700987A external-priority patent/JPS6441028A/ja
Priority claimed from JP62273763A external-priority patent/JPH0630056B2/ja
Priority claimed from JP27481087A external-priority patent/JPH01116730A/ja
Priority claimed from JP62296612A external-priority patent/JPH0766328B2/ja
Priority claimed from JP62296611A external-priority patent/JPH0766327B2/ja
Priority claimed from JP31655387A external-priority patent/JPH01156825A/ja
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE3856219D1 publication Critical patent/DE3856219D1/de
Application granted granted Critical
Publication of DE3856219T2 publication Critical patent/DE3856219T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G06F7/575Basic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7832Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/786Architectures 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/323Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining

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

    HINTERGRUND DER ERFINDUNG Gebiet der Erfindung
  • 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.
  • Beschreibung des Standes der Technik
  • 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.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • 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.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • - 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.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • 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.
DE3856219T 1987-06-05 1988-06-01 Digitaler Signalprozessor mit Adress-Generator für den Zugriff von Daten aus einem Zweidirektionalen Bereich eines Datenspeichers Expired - Fee Related DE3856219T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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