DE4106784C2 - Signal processor for use in a digital radio telephone - Google Patents

Signal processor for use in a digital radio telephone

Info

Publication number
DE4106784C2
DE4106784C2 DE19914106784 DE4106784A DE4106784C2 DE 4106784 C2 DE4106784 C2 DE 4106784C2 DE 19914106784 DE19914106784 DE 19914106784 DE 4106784 A DE4106784 A DE 4106784A DE 4106784 C2 DE4106784 C2 DE 4106784C2
Authority
DE
Germany
Prior art keywords
interrupt
register
signal processor
address
decoder
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
DE19914106784
Other languages
German (de)
Other versions
DE4106784A1 (en
Inventor
Johannes Schuck
Karl Hellwig
Harald Bauer
Harald Ebert
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.)
Philips Intellectual Property and Standards GmbH
Original Assignee
Philips Corporate Intellectual Property GmbH
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
Application filed by Philips Corporate Intellectual Property GmbH filed Critical Philips Corporate Intellectual Property GmbH
Priority to DE19914106784 priority Critical patent/DE4106784C2/en
Publication of DE4106784A1 publication Critical patent/DE4106784A1/en
Application granted granted Critical
Publication of DE4106784C2 publication Critical patent/DE4106784C2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)

Description

Die Erfindung bezieht sich auf einen Signalprozessor mit einer zur Erzeugung von Adressen für eine Speichereinheit dienenden Adressierungseinheit, die eine Adreßregisteran­ ordnung und einen Decoder enthält, der in Abhängigkeit eines Programmbefehls während der Abarbeitung eines Pro­ gramms oder eines Interruptzyklusses (Interruptzyklus) zur Freigabe eines Registers der Adreßregisteranordnung zum Lesen oder Schreiben von Adressen vorgesehen ist.The invention relates to a signal processor one for generating addresses for a storage unit serving addressing unit that an address register order and contains a decoder that is dependent a program command during the execution of a pro or an interrupt cycle (interrupt cycle) to release a Registers of the address register arrangement for reading or Address writing is provided.

Signalprozessoren sind spezielle Mikrocomputer für Echt­ zeitanwendungen. Ein solcher Signalprozessor, der z. B. aus dem Aufsatz "Vernetztes Europa - High-Tech-DSP bringt neues Licht in die mobile Telefonie" von P. McAlinden und D. Hartley, Elektronik 25/1990, Seiten 46 bis 52, bekannt ist, dient beispielsweise in einem mobilen Funktelefon zur Sprachcodierung und -decodierung, Entzerrung, Synchronisation usw.. Der Prozessor umfaßt in der Regel eine Speichereinheit, eine Adressierungseinheit zur Er­ zeugung für Adressen für die Speichereinheit, eine Daten­ verarbeitungseinheit zur Durchführung von arithmetischen und logischen Operationen, Peripherieeinheiten, eine Pro­ grammspeichereinheit und eine Steuereinheit, Gekoppelt sind die Einheiten über wenigstens einen Programmbus und einen Datenbus. Über den Programmbus werden den Einheiten Programmbefehle und über den Datenbus Datenworte zuge­ führt. Des weiteren sind noch Verbindungen zwischen einzelnen Einheiten über Steuerleitungen vorhanden. Signal processors are special microcomputers for real time applications. Such a signal processor, the z. B. from the essay "Connected Europe - high-tech DSP brings new light in mobile telephony "by P. McAlinden and D. Hartley, Electronics 25/1990, pages 46 to 52 is used, for example, in a mobile radio telephone for speech coding and decoding, equalization, Synchronization etc. The processor usually includes a storage unit, an addressing unit for Er generation for addresses for the storage unit, a data processing unit for performing arithmetic and logical operations, peripheral devices, a pro gram storage unit and a control unit, coupled are the units via at least one program bus and a data bus. The units are connected via the program bus Program commands and data words added via the data bus leads. There are also connections between individual units via control lines.  

In einem Signalprozessor wird ein von einem Anwender ein­ gegebenes Programm ausgeführt. Bei der Abarbeitung eines solchen Programms werden unter anderem bestimmte Daten aus der Speichereinheit ausgelesen, geschrieben und wei­ terverarbeitet. Hierbei müssen die Daten, welche ausge­ lesen werden, über eine Adresse angesprochen werden. Zur Bildung einer solchen Adresse dient die Adressierungsein­ heit, welche wenigstens einen Decoder und eine Adreßre­ gisteranordnung mit mehreren Adreßregistern enthält. Der Decoder erhält über einen Programmbus einen binär codier­ ten Programmbefehl, den er ausführt. Hierbei kann ein Adreßregister zum Einschreiben oder Auslesen von Adressen dienen. Im Programmbefehl ist jeweils die Adresse für ein Adreßregister enthalten. Um einen Programmbefehl nicht zu groß werden zu lassen, ist die Anzahl der Adreßregister beschränkt. Bei modernen Signalprozessoren stehen höch­ stens vier Adreßregister zur Verfügung, d. h. zwei Binär­ stellen im Programmbefehl sind für die Adresse eines Adreßregisters reserviert. Die ausgelesene Adresse kann zur Bildung einer neuen Adresse über eine arithmetisch/­ logische Einheit auch verändert werden.In a signal processor one is used by a user given program executed. When processing a Such a program contains, among other things, certain data read from the storage unit, written and white processed. Here, the data that is output read will be addressed via an address. For Forming such an address is used for addressing unit, which has at least one decoder and one address contains a arrangement with several address registers. The The decoder receives a binary coding via a program bus program command that it executes. Here, a Address register for writing or reading addresses serve. The address for a is in the program command Address register included. To avoid a program command The number of address registers is large limited. In modern signal processors are high at least four address registers are available, i. H. two binary are in the program instruction for the address one Address register reserved. The read address can to create a new address using an arithmetic / logical unit can also be changed.

Ein von dem Signalprozessor ausgeführtes Programm kann durch einen Interrupt (Programmunterbrechung) z. B. zur Ausführung einer Ein/Ausgabeoperation unterbrochen wer­ den. In diesem Fall wird die Abarbeitung des aktuellen Programmes unterbrochen und ein Interrupt-Unterprogramm gestartet. Nach dem Ende des Interrupt-Unterprogrammes fährt der Signalprozessor mit dem Programmablauf an der Stelle fort, an der das Programm durch einen Interrupt unterbrochen wurde.A program executed by the signal processor can by an interrupt (program interruption) e.g. B. for Execution of an input / output operation interrupted the. In this case, the processing of the current Program interrupted and an interrupt subroutine started. After the end of the interrupt subroutine the signal processor moves with the program sequence on the Resume where the program was interrupted was interrupted.

Zur Durchführung eines Interrupt-Unterprogrammes werden in der Regel Adressen aus der Adressierungseinheit benö­ tigt. Diese Adressen für Interrupt-Unterprogramme sind in Adreßregistern gespeichert oder sie müssen über aufwen­ dige Programmoperationen aus anderen Speicherbereichen des Signalprozessors in die Adreßregister geholt werden. Im ersten Fall kann also ein Teil der Adreßregister nur für den normalen Programmablauf verwendet werden, weil die anderen Adreßregister Adressen für Interrupt-Unterprogramme enthalten. Hierdurch sind bestimmte Operationen zeitaufwendiger auszuführen, weil bestimmte Adressen aus anderen Speicherbereichen des Signalprozessors zu einem Adreßregister geholt werden müssen. Im zweiten Fall dauert die Rechenzeit länger, weil erst Adressen des normalen Programms aus Adreßregistern ausgelesen und gesichert werden müssen und anschließend neue Adressen für das Interrupt-Unterprogramm in die Adreßregister geholt werden müssen. Bei der Beendigung des Interrupt-Unterprogramms ist ein umgekehrter Vorgang erforderlich. Da dadurch die Rechenzeit erhöht ist, kann es Probleme bei bestimmten Operationen geben, die in Echtzeit ausgeführt werden müssen.To execute an interrupt subroutine usually need addresses from the addressing unit does. These addresses for interrupt subroutines are in Address registers are saved or they have to be used  dige program operations from other memory areas of the signal processor in the Address register can be fetched. In the first case, some of the address registers can only be used for the normal program flow can be used because the other address register addresses included for interrupt subroutines. This makes certain operations time consuming to execute because certain addresses from other memory areas of the Signal processor must be brought to an address register. In the second case it takes Computing time longer, because only addresses of the normal program from address registers must be read out and saved and then new addresses for the Interrupt subroutine must be fetched into the address register. At the end the reverse subroutine requires a reverse process. Because this means that Computing time is increased, there may be problems with certain operations that occur in Must be run in real time.

Aus der US 4 912 707 ist noch ein Prozessor bekannt mit einem "checkpoint retry mechanism", der unter anderem ein Schatten-Statusregister (shadow status register) enthält. Dieses Register ist zur Speicherung des Inhaltes eines Statusregisters vorgesehen, wenn ein neuer Adreßwert in einem bestimmten Adreßregister gespeichert wird.A processor with "checkpoint retry" is also known from US Pat. No. 4,912,707 mechanism ", which includes a shadow status register contains. This register is intended for storing the content of a status register, when a new address value is stored in a particular address register.

Der Erfindung liegt daher die Aufgabe zugrunde, einen Signalprozessor zu schaffen, welcher den Programmablauf ohne zusätzliche größere zeitaufwendige Operationen mit den Registeranordnungen ausführt.The invention is therefore based on the object of providing a signal processor which with the program flow without additional major time-consuming operations the register arrangements.

Diese Aufgabe wird bei einem Signalprozessor der eingangs genannten Art dadurch gelöst,
daß die Adreßregisteranordnung einen Haupt-Adreßregisterteil und einen Schatten- Adreßregisterteil enthält,
daß nach einem Interrupt der Decoder zur Freigabe eines Registers des Schatten- Adreßregisterteils vorgesehen ist, welcher zur Speicherung der Anfangsadresse eines Interruptzyklus bestimmt ist, und
daß am Ende eines Interruptzyklus der Decoder zur Freigabe des vor dem Interrupt zum Schreiben oder Lesen vorgesehenen Registers der Adreßregisteranordnung bestimmt ist.
This problem is solved in a signal processor of the type mentioned at the outset by
that the address register arrangement contains a main address register part and a shadow address register part,
that after an interrupt the decoder is provided for releasing a register of the shadow address register part which is intended for storing the start address of an interrupt cycle, and
that at the end of an interrupt cycle the decoder is intended to release the register of the address register arrangement which is provided for writing or reading before the interrupt.

Bei diesem Signalprozessor dient der Schatten-Adreßre­ gisterteil in der Adreßregisteranordnung im wesentlichen zur Speicherung von Adressen für die Interrupt-Unterpro­ gramme. Falls noch Adreßregister im Schatten-Adreßregi­ sterteil frei belegbar sind, können diese beim normalen Programmablauf benutzt werden. Zur Unterscheidung der Adreßregisterteile im normalen Programmablauf könnte da­ her ein zusätzlicher Programmbefehl vor dem die Adreßre­ gisteranordnung betreffenden Programmbefehl erfolgen. Ein solcher zusätzlicher Programmbefehl benötigt sehr viel weniger Zeit als die Programmbefehle, die für Holvor­ gänge und Sicherungsvorgänge von Adressen bisher erfor­ derlich sind. Die Anzahl der Adreßregister hat sich durch die erfindungsgemäße Maßnahme vergrößert, obwohl eine Vergrößerung der Binärstellen für eine Adresse eines Adreßregisters im Programmbefehl nicht erforderlich ist. Dadurch ist eine Vergrößerung der Programmspeichereinheit nicht nötig. Unter einer Adresse werden ein Adreßregister im Haupt-Adreßregisterteil oder ein Adreßregister im Schatten-Adreßregisterteil angesprochen. Der Schatten- Adreßregisterteil wird selektiert falls ein Interrupt vorliegt. Ein Register des Schatten-Adreßregisterteils kann auch in einem normalen Programmablauf benutzt wer­ den. Hierfür sind aber, wie oben erwähnt, besondere Be­ fehle notwendig.The shadow address is used in this signal processor register part in the address register arrangement essentially for storing addresses for the interrupt subpro gram. If there are still address registers in the shadow address register parts are freely assignable, they can be used in normal Program sequence can be used. To distinguish the Address register parts in the normal program flow could be there ago an additional program command before the address program order related to the ghost arrangement. On such an additional program command requires a great deal less time than the program instructions for Holvor Previously, operations and backup processes of addresses were required are such. The number of address registers has increased the measure according to the invention increases, although a Enlargement of the binary digits for an address of a Address register in the program instruction is not required. This increases the size of the program storage unit not necessary. At an address there will be an address register in the main address register part or an address register in the Shadow address register part addressed. The shadow- Address register part is selected if an interrupt is present. A register of the shadow address register part can also be used in a normal program flow the. For this, however, as mentioned above, special Be missing necessary.

In einem Adreßregister des Schatten-Adreßregisterteils ist eine Anfangsadresse eines Interruptzyklusses gespei­ chert. Diese Anfangsadresse wird erstmalig bei der Ini­ tialisierung des Signalprozessors über eine Initialisie­ rungsprogramm in das Adreßregister des Schatten-Adreßre­ gisterteils eingeschrieben. Diese Anfangsadresse kann un­ verändert bleiben oder während eines Interruptzyklusses verändert werden und als eine neu gebildete Anfangsadres­ se für den nächsten Interruptzyklus zur Verfügung ste­ hen. Nach dem Ende des Interruptzyklusses fährt der Sig­ nalprozessor mit dem Programmablauf an der Stelle fort, an der er unterbrochen worden ist. Dazu wird das vor dem Interrupt zum Schreiben oder Lesen vorgesehene Register der Adreßregisteranordnung wieder angesprochen. Durch diese obengenannten Maßnahmen sind keine rechenzeitinten­ siven Operationen erforderlich.In an address register of the shadow address register part a start address of an interrupt cycle is saved chert. This starting address is the first time at Ini Initialization of the signal processor via an initialization program into the address register of the shadow address enrolled in part. This start address can be un remain changed or during an interrupt cycle be changed and as a newly formed starting address available for the next interrupt cycle hen. After the end of the interrupt cycle, the sig  processor continues with the program sequence at the point, at which he was interrupted. This will be done before Interrupt registers intended for writing or reading addressed the address register arrangement again. By the above measures are not time-intensive sive operations required.

In einem Programmbefehl zur Abarbeitung eines Programms oder auch in einem Programmbefehl, welcher nach einem Interrupt in einem aufgerufenen Interrupt-Unterprogramm enthalten ist, ist eine Adresse für ein Adreßregister vorhanden. Diese Adresse gilt für ein Adreßregister im Haupt-Adreßregisterteil und im Schatten-Adreßregister­ teil. Selektiert werden die Adreßregister nach dem Auf­ treten eines Interrupts oder weiterer Programmbefehle bei der Abarbeitung eines Programms. Diese Selektierung kann z. B. im Decoder vorgenommen werden. Bei einer anderen Ausführungsform ist vorgesehen, daß die Ausgänge des Haupt-Adreßregisterteils mit einem ersten Eingang und die Ausgänge des Schatten-Adreßregisterteils mit einem zwei­ ten Eingang eines ersten von dem Decoder gesteuerten Multiplexers gekoppelt ist, dessen Ausgang mit der Spei­ chereinheit gekoppelt ist, und daß der Decoder zur Liefe­ rung eines Steuerbefehles an den ersten Multiplexer vor­ gesehen ist, der bei einem die Adreßregisteranordnung betreffenden Programmbefehl wahlweise zur Kopplung des ersten oder zweiten Eingangs mit dem Ausgang des ersten Multiplexers und bei einem Interrupt zur Kopplung des zweiten Eingangs mit dem Ausgang des ersten Multiplexers dient.In a program command to process a program or also in a program command, which after a Interrupt in a called interrupt subroutine is an address for an address register available. This address applies to an address register in the Main address register part and in the shadow address register part. The address registers are selected after opening join an interrupt or other program instructions the execution of a program. This selection can e.g. B. in the decoder. Another one Embodiment is provided that the outputs of the Main address register part with a first input and the Shadow address register part outputs with a two th input of a first one controlled by the decoder Multiplexer is coupled, whose output with the Spei chereinheit is coupled, and that the decoder to the delivery a control command to the first multiplexer seen the one in the address register arrangement relevant program command optionally for coupling the first or second input with the output of the first Multiplexers and with an interrupt to couple the second input with the output of the first multiplexer serves.

Hierbei werden also die Schreibausgänge der beiden Adreß­ registerteile wahlweise mit einer Speichereinheit gekop­ pelt. Die Kopplung der beiden Eingänge des ersten Multi­ plexers mit seinem Ausgang hängt von einem vom Decoder gelieferten Steuerbefehl ab. Bei Vorliegen eines Inter­ rupts ist der zweite Eingang des ersten Multiplexers mit seinem Ausgang gekoppelt. Mit dem Ausgang des ersten Multiplexers kann auch eine arithmetisch/logische Einheit gekoppelt werden, welche die aus einem Adreßregister aus­ gelesene Adresse verändert und als neue Adresse dem Adreßregister wieder zuführt.This means that the write outputs of the two addresses register parts optionally coupled with a storage unit pelt. The coupling of the two inputs of the first Multi plexers with its output depends on one from the decoder delivered control command. If there is an Inter  rupts is the second input of the first multiplexer coupled to its output. With the exit of the first Multiplexers can also be an arithmetic / logic unit be coupled, which from an address register read address changed and as new address the Address register feeds again.

Bei einem Interrupt bewirkt der Steuerbefehl, der vom Decoder dem ersten Multiplexer zugeführt wird, daß der zweite Eingang mit dem Ausgang des ersten Multiplexers gekoppelt ist. Eine Steuerung des ersten Multiplexers bei einem Programm kann über einen zusätzlichen Programmbe­ fehl erfolgen. Hierbei ist vorgesehen, daß zumindest vor dem erstmaligen Auftreten eines die Adreßregisteranord­ nung betreffenden Programmbefehls mit einem Ladeprogramm­ befehl ein Kontrollregister zur Ladung eines Datenwortes bestimmt ist und daß ein Bit dieses Datenwortes den Steu­ erbefehl des Decoders bei Nichtvorliegen eines Interrupts bestimmt. Der Decoder wertet das Bit des Datenwortes aus und bildet daraufhin den entsprechenden Steuerbefehl für den ersten Multiplexer. Es kann hierbei vorgesehen wer­ den, daß das Bit des Datenwortes, welches den Steuerbe­ fehl bei einem Programm bestimmt, das niederwertigste Bit ist.In the event of an interrupt, the control command issued by the Decoder is fed to the first multiplexer that the second input with the output of the first multiplexer is coupled. Control of the first multiplexer at a program can have an additional program failed. It is provided that at least before the first occurrence of the address register arrangement program command with a loader command a control register to load a data word is determined and that a bit of this data word controls Command of the decoder in the absence of an interrupt certainly. The decoder evaluates the bit of the data word and then forms the corresponding control command for the first multiplexer. It can be provided here that the bit of the data word which the control area The program with the least significant bit failed is.

In einer weiteren Ausführungsform ist vorgesehen, daß der Ausgang der niederwertigsten Speicherzelle des Kontroll­ registers mit dem Decoder gekoppelt ist und daß der Ein­ gang der niederwertigsten Speicherzelle mit einem Ausgang eines zweiten Multiplexers gekoppelt ist, dessen erster Eingang zur Zuführung des niederwertigsten Bits des Datenwortes und dessen zweiter Eingang zur Zuführung eines Bits vorgesehen ist, welches den Decoder zur Bil­ dung eines Steuerbefehles bei einem Interrupt veranlaßt. Bei einem Interrupt wird vom Decoder der zweite Multi­ plexer so geschaltet, daß er anstelle des niederwertig­ sten Bits des Datenwortes ein Bit einliest, aus welchem der Steuerbefehl bei einem Interrupt gebildet wird. Der Decoder wertet bei der Abarbeitung eines Programms und ebenso bei einem Interruptzyklus das Bit, welches in der niederwertigsten Speicherzelle des Kontrollregisters steht, aus und bestimmt danach den Steuerbefehl für den ersten Multiplexer.In a further embodiment it is provided that the Output of the control's least significant memory cell registers is coupled to the decoder and that the one corridor of the least significant memory cell with one output a second multiplexer is coupled, the first Input for feeding the least significant bit of the Data word and its second input for feeding a bit is provided, which the decoder for Bil a control command caused by an interrupt. In the event of an interrupt, the decoder becomes the second multi  plexer switched so that it instead of the low value most bits of the data word reads in a bit from which the control command is generated in the event of an interrupt. The Decoder evaluates when processing a program and likewise in the case of an interrupt cycle the bit which is in the least significant memory cell of the control register stands, and then determines the control command for the first multiplexer.

Es kann vorkommen, daß während eines Interruptzyklusses ein weiterer Interruptzyklus beginnt. Damit der Inhalt der niederwertigsten Speicherzelle des zuerst erfolgten Interruptzyklusses nicht verloren geht, ist vorgesehen, daß beim Auftreten eines weiteren Interrupts während eines Interruptzyklusses ein Reservespeicher zur Ein­ schreibung des in der niederwertigsten Speicherzelle des Kontrollregisters befindlichen Bits vorgesehen ist und daß am Ende des zuletzt erfolgten Interruptzyklusses das in dem Reservespeicher gespeicherte Bit zur Einschreibung in die niederwertigste Speicherzelle des Kontrollregi­ sters bestimmt ist. Falls mehr als zwei verschachtelte Interruptzyklen auftreten, ist der Reservespeicher zur Einschreibung der in der niederwertigsten Speicherzelle des Kontrollregisters befindlichen Bits von mehreren Interruptzyklen vorgesehen. Die Anzahl der Speicherzellen des Reservespeichers sollte dabei so groß gewählt werden, daß sie mindestens gleich der Anzahl der Interruptquellen ist. Eine Interruptquelle ist beispielsweise eine Ein/­ Ausgabeeinheit. Die Einschreibung und Auslesung der Bits aus dem Reservespeicher kann auf einfache Weise reali­ siert werden, indem der Reservespeicher bei der Ein­ schreibung der Bits zur Arbeit nach dem Schieberegister­ prinzip und zur Auslesung des zuletzt eingeschriebenen Bits am Ende eines Interruptzyklusses vorgesehen ist. It can happen that during an interrupt cycle another interrupt cycle begins. So the content the least significant memory cell of the first made Interrupt cycle is not lost, is provided that when another interrupt occurs during of an interrupt cycle, a reserve memory for on write the in the least significant memory cell of the Control register located bits is provided and that at the end of the last interrupt cycle that bits for enrollment stored in the reserve memory in the least significant memory cell of the control room sters is determined. If more than two are nested Interrupt cycles occur, the reserve memory is used Registration of the in the least significant memory cell bits of several of the control register Interrupt cycles provided. The number of memory cells the reserve memory should be chosen so large that they are at least equal to the number of interrupt sources is. An interrupt source is, for example, an on / Output unit. The registration and readout of the bits from the reserve memory can reali in a simple manner be siert by the reserve memory at Ein Write the bits to work according to the shift register principle and for reading out the last registered Bits is provided at the end of an interrupt cycle.  

Aufgrund der erfindungsgemäßen Maßnahmen in der Adressierungseinheit des Signalprozessors, ist dieser besonders für Echtzeitanforderungen geeignet. In der Telekommunikation, insbesondere im mobilen Funkbereich treten Echtzeitanforderungen auf, die mit diesem Signalprozessor gelöst werden können. Daher ist der Signalprozessor zur Verwendung in einem digitalen Funktelefon besonders geeignet.Due to the measures according to the invention in the Addressing unit of the signal processor is this especially suitable for real-time requirements. In the Telecommunications, especially in the mobile radio area real-time requirements occur with this Signal processor can be solved. Hence the Signal processor for use in a digital Radio telephone particularly suitable.

Ein Ausführungsbeispiel der Erfindung wird nachstehend anhand der Zeichnungen näher erläutert. Es zeigenAn embodiment of the invention is shown below explained in more detail with reference to the drawings. Show it

Fig. 1 ein Blockschaltbild eines digitalen Mobiltelefons mit einem Signalprozessor, Fig. 1 is a block diagram of a digital mobile phone with a signal processor,

Fig. 2 ein Blockschaltbild des in Fig. 1 verwendeten Signalprozessors und Fig. 2 is a block diagram of the signal processor used in Fig. 1 and

Fig. 3 ein Ausführungsbeispiel einer in Fig. 2 in einem Signalprozessor verwendeten Adressierungseinheit. Fig. 3 shows an embodiment of an addressing unit used in Fig. 2 in a signal processor.

Das in der Fig. 1 dargestellte Blockschaltbild eines digitalen Funktelefons enthält einen Sende- und Empfangs­ weg. Die von einem Mikrophon 1 empfangenen Sprachsignale werden über einen Analog-Digital-Umsetzer 2 in binär co­ dierte Datenworte umgesetzt. Diese Datenworte werden einem Signalprozessor 3 zugeführt. Für die verschiedenen Funktionen, die der Signalprozessor 3 durchführt, sind in der Fig. 1 im Signalprozessor 3 die Blöcke 4 bis 10 dar­ gestellt. Mit den vom Analog-Digital-Umsetzer 2 erzeugten Datenworten wird im Block 4 eine Sprachcodierung, dann im Block 5 eine Kanalcodierung und anschließend im Block 6 eine Verschlüsselung durchgeführt. Diese verschlüsselten Datenworte werden in einem Modulator 12 GMSK-moduliert. Dieser ist mit einem Ausgang des Signalprozessors 3 ver­ bunden. Anschließend werden die modulierten digitalen Signale in einem Digital-Analog-Umsetzer 13 in analoge modulierte Signale umgesetzt. Diese modulierten analogen Signale werden einer Sendeschaltung 14 zugeführt, die Funksignale erzeugt, welche über eine Antenne 15 abge­ strahlt werden. Der bisher beschriebene Weg stellt den Sendeweg des digitalen Funktelefons dar.The block diagram of a digital radio telephone shown in FIG. 1 contains a transmission and reception path. The voice signals received by a microphone 1 are converted into binary coded data words via an analog-digital converter 2 . These data words are fed to a signal processor 3 . For the various functions that the signal processor 3 performs, blocks 4 to 10 are shown in FIG. 1 in the signal processor 3 . With the data words generated by the analog-to-digital converter 2 , speech coding is performed in block 4 , then channel coding in block 5 and then encryption in block 6 . These encrypted data words are GMSK-modulated in a modulator 12 . This is connected to an output of the signal processor 3 . The modulated digital signals are then converted into analog modulated signals in a digital-to-analog converter 13 . These modulated analog signals are fed to a transmission circuit 14 which generates radio signals which are radiated via an antenna 15 . The path described so far represents the transmission path of the digital radio telephone.

Der Empfangsweg des digitalen Funktelefons wird im fol­ genden beschrieben. Von einer Antenne 16 empfangene ana­ loge Funksignale werden in einer Empfangsschaltung 17 verarbeitet und analoge modulierte Signale einem Analog- Digital-Umsetzer 18 zugeführt. Die von dem Analog-Digi­ tal-Umsetzer abgegebenen digital modulierten Signale wer­ den in einem Demodulator 19 demoduliert und dem Signal­ prozessor 3 zugeführt. Der Block 10 im Signalprozessor 3 soll die anschließende Entzerrung der demodulierten Sig­ nale aufzeigen. Anschließend wird eine Entschlüsselungs­ funktion durchgeführt, die durch den Block 9 symbolisiert ist. Nach einer Kanaldecodierung im Block 8 und einer Sprachdecodierung im Block 7 leitet der Signalprozessor 3 digitale Datenworte einem Digital-Analog-Umsetzer 20 zu, der die analogen Sprachsignale zu einem Lautsprecher 21 gibt.The reception path of the digital radio telephone is described in the fol lowing. Analog radio signals received by an antenna 16 are processed in a receiving circuit 17 and analog modulated signals are supplied to an analog-to-digital converter 18 . The digitally modulated signals emitted by the analog-to-digital converter are demodulated in a demodulator 19 and supplied to the signal processor 3 . The block 10 in the signal processor 3 is intended to show the subsequent equalization of the demodulated signals. A decryption function is then carried out, which is symbolized by block 9 . After a channel decoding in block 8 and a speech decoding in block 7 , the signal processor 3 forwards digital data words to a digital-to-analog converter 20 , which gives the analog voice signals to a loudspeaker 21 .

Der in Fig. 1 verwendete Signalprozessor ist etwas detaillierter in der Fig. 2 dargestellt. Der Signalpro­ zessor 3 weist eine Adressierungseinheit 22 auf, in der Adressen für eine Speichereinheit 23 gebildet werden, die einen ROM und RAM enthält. In einer Datenverarbeitungs­ einheit 24 werden Daten mittels einer arithmetisch/lo­ gischen Einheit und einem Multiplizierer verarbeitet. Des weiteren ist noch eine Steuereinheit 25 und eine Pro­ grammspeichereinheit 26, in der ein auszuführendes Pro­ gramm abgelegt ist, in dem Signalprozessor 3 vorhanden. The signal processor used in FIG. 1 is shown in somewhat more detail in FIG. 2. The signal processor 3 has an addressing unit 22 in which addresses are formed for a memory unit 23 which contains a ROM and RAM. In a data processing unit 24 , data are processed by means of an arithmetic / logic unit and a multiplier. Furthermore, there is also a control unit 25 and a program storage unit 26 in which a program to be executed is stored in the signal processor 3 .

Die Einheiten 22 bis 26 sind über ein Bussystem mit­ einander verbunden. Dieses Bussystem besteht aus einem Programmbus, über den Programmbefehle übertragen werden, einem Datenbus, über den Datenworte übertragen werden, und Steuerleitungen, über die Steuerinformationen weiter­ gegeben werden. Desweiteren ist mit dem Bussystem noch eine Peripherieeinheit 27 gekoppelt, über die über ver­ schiedene Schnittstellen Ein/Ausgabeeinheiten mit dem Bussystem gekoppelt sind. Für bestimmte Einheiten ist noch eine Spezialeinheit 28 vorhanden, die rechenzeit­ intensive Operationen durchführen kann.The units 22 to 26 are connected to one another via a bus system. This bus system consists of a program bus, via which program commands are transmitted, a data bus, via which data words are transmitted, and control lines, via which control information is passed on. Furthermore, a peripheral unit 27 is also coupled to the bus system, via which input / output units are coupled to the bus system via various interfaces. A special unit 28 is also available for certain units and can perform intensive operations at the computing time.

Ein Ausführungsbeispiel der Adressierungseinheit 22 ist in der Fig. 3 gezeigt. Diese enthält eine Adreßregister­ anordnung 29 mit einem Haupt-Adreßregisterteil 30 und einem Schatten-Adreßregisterteil 31. Das Haupt-Adreßre­ gisterteil 30 und das Schatten-Adreßregisterteil 31 ent­ halten jeweils vier Adreßregister. Der Ausgang des Haupt-Adreßregisterteils 30 ist mit einem ersten Ein­ gang 32 eines ersten Multiplexers 33 und der Ausgang des Schatten-Adreßregisterteils 31 mit einem zweiten Ein­ gang 34 des ersten Multiplexers 33 verbunden. Der Aus­ gang 35 des ersten Multiplexers 33 ist mit einer arithme­ tisch/logischen Einheit 36 und der hier nicht näher dar­ gestellten Speichereinheit 23 gekoppelt. Gesteuert wird der erste Multiplexer 33 mittels eines Steuerbefehls ST von einem Decoder 37, der aus logischen Grundelementen (UND-, ODER-, EXOR-, NAND-, NOR-Gatter und weiteren Gat­ tern) besteht. Über vier weitere Steuerverbindungen 38, 39, 53 und 54 werden den Adreßregisterteilen 30 und 31 die Steuersignale A1, A2, RWS und RWH zugeführt.An embodiment of the addressing unit 22 is shown in FIG. 3. This contains an address register arrangement 29 with a main address register part 30 and a shadow address register part 31 . The main address register part 30 and the shadow address register part 31 each contain four address registers. The output of the main address register part 30 is connected to a first input 32 of a first multiplexer 33 and the output of the shadow address register part 31 is connected to a second input 34 of the first multiplexer 33 . The output 35 of the first multiplexer 33 is coupled to an arithmetic / logic unit 36 and the memory unit 23 not shown here. The first multiplexer 33 is controlled by means of a control command ST from a decoder 37 , which consists of basic logic elements (AND, OR, EXOR, NAND, NOR gates and other gatters). Control signals A1, A2, RWS and RWH are fed to address register parts 30 and 31 via four further control connections 38 , 39 , 53 and 54 .

Der Ausgang der arithmetisch/logischen Einheit 36 weist eine Verbindung mit einem ersten Eingang 40 eines dritten Multiplexers 41 auf. Der zweite Eingang 42 des dritten Multiplexers 41 ist an den Datenbus angeschlossen. Ge­ steuert wird der dritte Multiplexer 41 über ein Steuer­ signal M3 von dem Decoder 37. Der Ausgang 43 des dritten Multiplexers 41 ist mit den beiden Eingängen der Adreß­ registerteile 30 und 31 gekoppelt.The output of the arithmetic / logic unit 36 has a connection to a first input 40 of a third multiplexer 41 . The second input 42 of the third multiplexer 41 is connected to the data bus. The third multiplexer 41 is controlled via a control signal M3 from the decoder 37 . The output 43 of the third multiplexer 41 is coupled to the two inputs of the address register parts 30 and 31 .

Zur Erläuterung der Funktionsweise der bisher geschilder­ ten Elemente in der Adressierungseinheit 22 sei folgendes bemerkt. Eine logische "1" wird im folgenden als "1" und eine logische "0" wird als "0" bezeichnet.To explain the operation of the previously described elements in the addressing unit 22 , the following should be noted. A logical "1" is hereinafter referred to as "1" and a logical "0" is referred to as "0".

Die Steuersignale A1 und A2 kennzeichnen eine Adresse beider Adreßregisterteile 30 und 31. Die Steuersignale RWS und RWH kennzeichnen, ob ausgelesen und/oder einge­ schrieben wird. Falls beide Steuersignale RWS und RWH gleich "1" gesetzt sind, wird sowohl aus einem Register des Haupt-Adreßregisterteils 30 als auch aus einem Regi­ ster des Schatten-Adreßregisterteils 31 ausgelesen. Falls einer der beiden Signale RWS und RWH "0" gesetzt ist, wird aus einem Register der Adreßregisterteile 30 und 31 ausgelesen und zwar aus dem Register, dessen Adreßregi­ sterteil 30 oder 31 "0" erhält. Darauffolgend kann diese ausgelesene Adresse in der arithmetisch/logischen Einheit 36 modifiziert werden. Die Adresse wird modifiziert oder unmodifiziert in dasselbe Register wieder eingeschrie­ ben. Gegebenenfalls wird auch eine Adresse vom Datenbus über einen zweiten Multiplexer 41 eingeschrieben.The control signals A1 and A2 identify an address of both address register parts 30 and 31 . The control signals RWS and RWH indicate whether reading out and / or writing in. If both control signals RWS and RWH are set to "1", both a register of the main address register part 30 and a register of the shadow address register part 31 are read out. If one of the two signals RWS and RWH "0" is set, is read from a register of the address register parts 30 and 31, specifically from the register whose address register part 30 or 31 receives "0". This read address can then be modified in the arithmetic / logic unit 36 . The address is modified or unmodified in the same register again. If necessary, an address from the data bus is also written via a second multiplexer 41 .

Soll eine Adresse aus dem Schatten-Adreßregisterteil 31 ausgelesen werden, so werden von dem Decoder 37 über die Verbindungen 53 und 54 die Steuersignale RWS und RWH mit dem Wert "1" geliefert. Die beiden anderen Steuersignale A1 und A2 kennzeichnen ein bestimmtes Adreßregister in den Adreßregisterteilen 30 und 31. Auf den Leitungen, die zu dem ersten Eingang 32 und zu dem zweiten Eingang 34 des ersten Multiplexers 33 führen, liegen Adressen aus den beiden Adreßregisterteilen 30 und 31 an. Welche Adresse zum Ausgang 35 des ersten Multiplexers 33 gegeben wird, hängt von dem Steuerbefehl ST ab. Da eine Adresse aus dem Schatten-Adreßregisterteil 31 zum Ausgang 35 ge­ geben werden soll, ist der Steuerbefehl ST gleich "1" ge­ setzt. Das bedeutet, daß der zweite Eingang 34 mit dem Ausgang 35 verbunden ist. Wenn der Steuerbefehl ST gleich "0" ist, wird der erste Eingang 32 mit dem Ausgangs 35 verbunden. Die Adresse am Ausgang 35 kann nun zu der Speichereinheit 23 oder von der arithmetisch/logischen Einheit 36 weiterverarbeitet werden. Falls die Adresse z. B. nach einer Modifikation wieder demselben Register zurückgeführt werden soll, wird der dritte Multiplexer durch das Steuersignal M3 so beeinflußt, d. h. logisch gleich "1", daß sein erster Eingang 40 mit seinem Aus­ gang 43 verbunden ist.If an address is to be read from the shadow address register part 31 , the control signals RWS and RWH with the value "1" are supplied by the decoder 37 via the connections 53 and 54 . The two other control signals A1 and A2 identify a specific address register in the address register parts 30 and 31 . Addresses from the two address register parts 30 and 31 are present on the lines leading to the first input 32 and to the second input 34 of the first multiplexer 33 . Which address is given to the output 35 of the first multiplexer 33 depends on the control command ST. Since an address from the shadow address register part 31 is to be given to the output 35 , the control command ST is set to "1". This means that the second input 34 is connected to the output 35 . If the control command ST is "0", the first input 32 is connected to the output 35 . The address at the output 35 can now be processed further to the memory unit 23 or from the arithmetic / logic unit 36 . If the address is e.g. B. after a modification to be returned to the same register, the third multiplexer is influenced by the control signal M3, ie logically equal to "1", that its first input 40 is connected to its output 43 .

In der Adressierungseinheit 22 sind noch ein Kontrollre­ gister 44, ein zweiter Multiplexer 45 und ein Reserve­ speicher 46 enthalten. Der erste Eingang 47 des zweiten Multiplexers 45 ist mit der Leitung des Datenbusses ver­ bunden, die das niederwertigste Bit eines Datenwortes transportiert. Dem zweiten Eingang 48 des zweiten Multi­ plexers 45 wird eine logische "1" zugeführt. Der Aus­ gang 49 des zweiten Multiplexers 45 ist mit der nieder­ wertigsten Speicherzelle 50 des Kontrollregisters 44 ver­ bunden. Gesteuert wird der zweite Multiplexer 45 mittels eines Signales M2 von dem Decoder 37. Ein Steuersignal MK erhält die niederwertigste Speicherzelle 50 ebenfalls vom Decoder 37. Der Ausgang der niederwertigsten Speicherzel­ le 50 ist mit dem Reservespeicher 46 und mit dem Deco­ der 37 verbunden. Der Reservespeicher 46 wird noch mit­ tels zweier Steuersignale R1 und R2 von dem Decoder 37 gesteuert. Der Decoder 37 ist außerdem noch mit dem Pro­ grammbus verbunden. Ein Programmbefehl der vom Programm­ bus dem Decoder 37 zugeführt wird, kann im Decoder 37 verarbeitet werden, wenn ein weiteres dem Decoder 37 zu­ geführtes Steuersignal PF dies anzeigt. Wird ein Pro­ gramm durch einen Interrupt unterbrochen, so zeigt dieses ein Interruptstartsignal IS an und das Ende eines Inter­ ruptzyklusses ein Interruptendesignal IE an. Beide Sig­ nale IS und IE werden auf weiteren Leitungen dem Deco­ der 37 zugeführt.In the addressing unit 22 , a control register 44 , a second multiplexer 45 and a reserve memory 46 are also included. The first input 47 of the second multiplexer 45 is connected to the line of the data bus, which transports the least significant bit of a data word. A logic "1" is supplied to the second input 48 of the second multiplexer 45 . The output 49 of the second multiplexer 45 is connected to the least significant memory cell 50 of the control register 44 . The second multiplexer 45 is controlled by means of a signal M2 from the decoder 37 . A control signal MK also receives the least significant memory cell 50 from the decoder 37 . The output of the least significant memory cell 50 is connected to the reserve memory 46 and to the decoder 37 . The reserve memory 46 is still controlled by means of two control signals R1 and R2 from the decoder 37 . The decoder 37 is also connected to the program bus. A program command which is fed from the program bus to the decoder 37 can be processed in the decoder 37 if another control signal PF to be supplied to the decoder 37 indicates this. If a program is interrupted by an interrupt, this indicates an interrupt start signal IS and the end of an interrupt cycle indicates an interrupt end signal IE. Both signals IS and IE are fed to the Deco 37 on additional lines.

Soll bei einem Programmablauf aus einem Adreßregister­ teil 30 oder 31 eine Adresse verwendet werden, so wird zuerst vom Programmbus ein Ladebefehl gesendet, der vom Decoder 37 verarbeitet werden kann, wenn das Steuersignal PF gleich "1" ist. In diesem Fall setzt der Decoder das Steuersignal M2 gleich "0", so daß eine Kopplung des ersten Einganges 47 des zweiten Multiplexers 45 mit seinem Ausgang 49 vorliegt. Das Steuersignal MK wird gleich "1" gesetzt, womit in die niederwertigste Spei­ cherzelle 50 des Kontrollregisters 44 das niederwertigste Bit NB eines Datenwortes eingelesen wird. Dieses Bit NB wird über die Leitung 51 dem Decoder 37 zugeführt. Wenn das in der Speicherzelle 50 enthaltene Bit NB gleich "1" ist wird der Steuerbefehl ST gleich "1" gesetzt. Falls das Bit NB in der Speicherzelle 50 gleich "0" ist, wird der Steuerbefehl ST gleich "0" gesetzt. Nach dem Ladepro­ grammbefehl wird in einem späteren Schritt vom Programm­ bus ein Befehl zugeführt mit dem eine Aktion in einem Adreßregisterteils 30 oder 31 durchgeführt werden soll. Beispielsweise könnte ein Programmbefehl bewirken, daß aus einem Adreßregister des Adreßregisterteils 30 eine Adresse zur Speichereinheit 23 gegeben wird.If an address is to be used in a program sequence from an address register part 30 or 31 , a load command is first sent from the program bus, which can be processed by the decoder 37 if the control signal PF is "1". In this case, the decoder sets the control signal M2 to "0", so that the first input 47 of the second multiplexer 45 is coupled to its output 49 . The control signal MK is set to "1", so that the least significant bit NB of a data word is read into the least significant memory cell 50 of the control register 44 . This bit NB is fed to the decoder 37 via the line 51 . If the bit NB contained in the memory cell 50 is "1", the control command ST is set to "1". If the bit NB in the memory cell 50 is "0", the control command ST is set to "0". After the load program command, in a later step the bus program supplies a command with which an action in an address register part 30 or 31 is to be carried out. For example, a program command could result in an address being given to the memory unit 23 from an address register in the address register part 30 .

Kommt während eines Programmablaufes ein Interrupt, so daß IS gleich "1" gesetzt ist, wird der Programmablauf unterbrochen. Der Decoder setzt daraufhin das Steuersig­ nal M2 gleich "1" und in die Speicherzelle 50 wird der vom Ausgang 49 des zweiten Multiplexers 45 angebotene Wert eingelesen. Vorher wurde der Inhalt der Speicher­ zelle 50 über die Leitung 51 in den Reservespeicher 46 eingelesen. Dazu wird das Steuersignal R1 gleich "1" gesetzt, was bedeutet, daß die erste Speicherzelle im Reservespeicher 46 zum Einlesen des Bits NB aus der Spei­ cherzelle 50 bereit ist. Im folgenden kann nun ein Inter­ rupt-Unterprogramm ablaufen. Hierbei können auch alle Adreßregister der Adreßregisteranordnung 29 verwendet werden. Wenn ein Interruptzyklus zu Ende ist, wird das Steuersignal IE gleich "1" gesetzt. Daraufhin wird das Steuersignal R1 gleich "0" und das Steuersignal R2 gleich "1" gesetzt, was bedeutet, daß der Reservespeicher 46 zur Abgabe des in der obersten Speicherzelle des Reserve­ speichers 46 enthaltenen Wertes an die Speicherzelle 50 bereit ist. Mit dem Steuersignal MK wird das Bit aus dem Reservespeicher 46 über die Leitung 51 in die Speicher­ zelle 50 eingelesen. Der Inhalt der Speicherzelle 50 gibt über die Leitung 51 dem Decoder 37 an, welchen Wert der Steuerbefehl ST haben muß. Entsprechend wird der erste Multiplexer 33 geschaltet. Damit beginnt das Programm an der Stelle, an der es nach dem Auftreten eines Interrupts aufgehört hat.If an interrupt occurs during a program run, so that IS is set to "1", the program run is interrupted. The decoder then sets the control signal M2 equal to "1" and the value offered by the output 49 of the second multiplexer 45 is read into the memory cell 50 . Before the content of the memory cell 50 is read via line 51 into the reserve storage 46th For this purpose, the control signal R1 is set to "1", which means that the first memory cell in the reserve memory 46 is ready for reading in the bit NB from the memory cell 50 . An interrupt subroutine can now run in the following. Here, all address registers of the address register arrangement 29 can also be used. When an interrupt cycle has ended, the control signal IE is set to "1". Then, the control signal R1 is equal to "0" and the control signal R2 is equal to "1", which means that the reserve memory 46 is ready to dispense the value contained in the top memory cell of the reserve memory 46 to the memory cell 50th With the control signal bit from the MK, the reserve memory 46 is read into the memory cell 50 via the line 51st The content of the memory cell 50 indicates via line 51 to the decoder 37 which value the control command ST must have. The first multiplexer 33 is switched accordingly. The program starts at the point where it stopped after an interrupt occurred.

Während eines Interruptzyklusses kann ein weiterer Inter­ rupt vorkommen. In diesem Fall wird der laufende Inter­ ruptzyklus unterbrochen und ein neuer Interruptzyklus be­ ginnt. Hierbei wird zu Beginn eines Interruptzyklusses das Interruptstartsignal IS gleich "1" gesetzt, eine Ver­ bindung zwischen dem Eingang 48 und dem Ausgang 49 des zweiten Multiplexers 45 hergestellt und in die Speicher­ zelle 50 ein neuer Wert eingelesen. Vorher ist der in der Speicherzelle 50 bisher gespeicherte Wert NB in den Reservespeicher 46 eingelesen worden. Der von dem Pro­ gramm stammende Wert in dem Reservespeicher 46 ist dabei nach dem Schieberegisterprinzip in eine benachbarte Speicherzelle des Reservespeichers 46 geschoben worden. Bei dieser Operation ist das Steuersignal R1 gleich "1" und das Steuersignal R2 gleich "0" gesetzt. Auf diese Art können verschiedene Interruptzyklen ineinander verschach­ telt sein. Wenn der Reservespeicher 46 vier Speicherzel­ len aufweist, können insgesamt vier verschachtelte Interruptzyklen auftreten.Another interrupt may occur during an interrupt cycle. In this case, the current interrupt cycle is interrupted and a new interrupt cycle begins. Here, at the beginning of an interrupt cycle, the interrupt start signal IS is set to "1", a connection is established between the input 48 and the output 49 of the second multiplexer 45 and a new value is read into the memory cell 50 . The value NB previously stored in the memory cell 50 was previously read into the reserve memory 46 . The program of the Pro-derived value in the backup memory 46 is thereby shifted to the shift register principle in an adjacent memory cell of spare memory 46th In this operation, the control signal R1 is set to "1" and the control signal R2 is set to "0". In this way, different interrupt cycles can be interleaved. If the reserve memory 46 has four memory cells, a total of four interleaved interrupt cycles can occur.

Wie oben erwähnt besteht der Decoder aus logischen Schaltelementen. Bei einem Programmbefehl oder einem Interrupt weisen die Ausgänge und Eingänge des De­ coders 37 bestimmte logische Zustände auf. Im folgenden sind für die verschiedenen Ein- und Ausgangssignale die logischen Zustände in den untenstehenden Tabellen aufge­ führt. Anhand dieser Tabellen kann ein Decoder 37 mit entsprechenden logischen Schaltelementen aufgebaut werden.As mentioned above, the decoder consists of logic switching elements. In the event of a program command or an interrupt, the outputs and inputs of the decoder 37 have certain logic states. In the following, the logical states are listed in the tables below for the various input and output signals. On the basis of these tables, a decoder 37 with corresponding logic switching elements can be constructed.

Folgende Zustände treten bei einem Programmbefehl für eine Adreßregisteroperation auf, bei dem die Speichereinheit 23 adressiert werden soll:
The following states occur in a program command for an address register operation in which the memory unit 23 is to be addressed:

Folgende Zustände treten bei dem Start eines Interruptzyklusses auf:
The following states occur when an interrupt cycle starts:

Folgende Zustände treten am Ende eines Interruptzyklusses auf:
The following states occur at the end of an interrupt cycle:

Folgende Zustände treten bei einem Programmbefehl zum Laden des Kontrollregisters 44 auf:
The following states occur with a program command for loading the control register 44 :

Folgende Zustände treten bei einem Programmbefehl zum Laden eines Adreßregisters auf:
The following states occur with a program command for loading an address register:

"x" bedeutet, daß ein Signal oder Befehl den Zustand "0" oder "1" aufweisen kann."x" means that a signal or command has the status "0" or may have "1".

Claims (10)

1. Signalprozessor (3) mit einer zur Erzeugung von Adres­ sen für eine Speichereinheit (23) dienenden Adressie­ rungseinheit (22), die eine Adreßregisteranordnung (29) und einen Decoder (37) enthält, der in Abhängigkeit eines Programmbefehls während der Abarbeitung eines Pro­ gramms oder eines Interruptzyklusses zur Freigabe eines Registers der Adreßregisteranordnung zum Lesen oder Schreiben von Adressen vorgesehen ist, dadurch gekennzeichnet, daß die Adreßregisteranordnung (29) einen Haupt-Adreßre­ gisterteil (30) und einen Schatten-Adreßregisterteil (31) enthält, daß nach einem Interrupt der Decoder (37) zur Freigabe eines Registers des Schatten-Adreßregisterteils vorgesehen ist, welcher zur Speicherung der Anfangsadres­ se eines Interruptzyklusses bestimmt ist und daß am Ende eines Interruptzyklusses der Decoder zur Freigabe des vor dem Interrupt zum Schreiben oder Lesen vorgesehenen Registers der Adreßregisteranordnung bestimmt ist.1. Signal processor ( 3 ) with an addressing unit ( 22 ) for generating addresses for a memory unit ( 23 ), which contains an address register arrangement ( 29 ) and a decoder ( 37 ), which is a function of a program command during the processing of a pro Gram or an interrupt cycle for releasing a register of the address register arrangement for reading or writing addresses is provided, characterized in that the address register arrangement ( 29 ) contains a main address register part ( 30 ) and a shadow address register part ( 31 ) that after an interrupt the decoder ( 37 ) is provided for releasing a register of the shadow address register part which is intended for storing the start address of an interrupt cycle and that at the end of an interrupt cycle the decoder is intended for releasing the register of the address register arrangement which is provided for writing or reading before the interrupt . 2. Signalprozessor nach Anspruch 1, dadurch gekennzeichnet, daß die Ausgänge des Haupt-Adressenregisterteils (30) mit einem ersten Eingang (32) und die Ausgänge des Schatten- Adreßregisterteils (31) mit einem zweiten Eingang (34) eines ersten von dem Decoder (37) gesteuerten Multi­ plexers (33) gekoppelt ist, dessen Ausgang (35) mit der Speichereinheit (23) gekoppelt ist, und daß der Decoder zur Lieferung eines Steuerbefehls (ST) an den ersten Multiplexer vorgesehen ist, der bei einem die Adreßre­ gisteranordnung betreffenden Programmbefehl wahlweise zur Kopplung des ersten oder zweiten Eingangs mit dem Ausgang des ersten Multiplexers und bei einem Interrupt zur Kopplung des zweiten Eingangs mit dem Ausgang des ersten Multiplexers dient.2. Signal processor according to claim 1, characterized in that the outputs of the main address register part ( 30 ) with a first input ( 32 ) and the outputs of the shadow address register part ( 31 ) with a second input ( 34 ) of a first of the decoder ( 37 ) controlled multiplexer ( 33 ) is coupled, the output ( 35 ) of which is coupled to the memory unit ( 23 ), and that the decoder is provided for supplying a control command (ST) to the first multiplexer, which in a register arrangement relating to the address address Program command optionally for coupling the first or second input to the output of the first multiplexer and, in the case of an interrupt, for coupling the second input to the output of the first multiplexer. 3. Signalprozessor nach Anspruch 2, dadurch gekennzeichnet, daß zumindest vor dem erstmaligen Auftreten eines die Adreßregisteranordnung (29) betreffenden Programmbefehls mit einem Ladeprogrammbefehl ein Kontrollregister (44) zur Ladung eines Datenwortes bestimmt ist und daß ein Bit dieses Datenwortes den Steuerbefehl (ST) des Decoders (37) bei Nichtvorliegen eines Interrupt bestimmt.3. Signal processor according to claim 2, characterized in that at least before the first occurrence of a program instruction relating to the address register arrangement ( 29 ) with a load program instruction, a control register ( 44 ) is determined for loading a data word and that a bit of this data word is the control instruction (ST) of the Decoder ( 37 ) determined in the absence of an interrupt. 4. Signalprozessor nach Anspruch 3, dadurch gekennzeichnet, daß das Bit des Datenwortes, welches den Steuerbefehl (ST) bei einem Programm bestimmt, das niederwertigste Bit ist.4. signal processor according to claim 3, characterized, that the bit of the data word which contains the control command (ST) determined for a program that is the least significant bit. 5. Signalprozessor nach Anspruch 4, dadurch gekennzeichnet, daß der Ausgang der niederwertigsten Speicherzelle (50) des Kontrollregisters (44) mit dem Decoder (37) gekoppelt ist und daß der Eingang der niederwertigsten Speicherzelle mit einem Ausgang (49) eines zweiten Multiplexers (45) ge­ koppelt ist, dessen erster Eingang (47) zur Zuführung des niederwertigsten Bit des Datenwortes und dessen zweiter Eingang zur Zuführung eines Bits vorgesehen ist, welches den Decoder zur Bildung eines Steuerbefehls (ST) bei einem Interrupt veranlaßt.5. Signal processor according to claim 4, characterized in that the output of the least significant memory cell ( 50 ) of the control register ( 44 ) is coupled to the decoder ( 37 ) and that the input of the least significant memory cell with an output ( 49 ) of a second multiplexer ( 45 ) is coupled, the first input ( 47 ) for supplying the least significant bit of the data word and the second input for supplying a bit is provided, which causes the decoder to form a control command (ST) in the event of an interrupt. 6. Signalprozessor nach Anspruch 5, dadurch gekennzeichnet, daß beim Auftreten eines weiteren Interrupts während eines Interruptzyklusses ein Reservespeicher (46) zur Einschrei­ bung des in der niederwertigsten Speicherzelle (50) des Kontrollregisters (44) befindlichen Bits vorgesehen ist und daß am Ende des zuletzt erfolgten Interruptzyklusses das in dem Reservespeicher gespeicherte Bit zur Einschrei­ bung in die niederwertigste Speicherzelle des Kontrollre­ gisters bestimmt ist.6. Signal processor according to claim 5, characterized in that when a further interrupt occurs during an interrupt cycle, a reserve memory ( 46 ) for inscription of the bits in the least significant memory cell ( 50 ) of the control register ( 44 ) is provided and that at the end of the last Interrupt cycle done, the bit stored in the reserve memory is intended to be written into the least significant memory cell of the control register. 7. Signalprozessor nach Anspruch 6, dadurch gekennzeichnet, daß auch beim Auftreten weiterer Interrupts der Reserve­ speicher (46) zur Einschreibung der in der niederwertig­ sten Speicherzelle (50) des Kontrollregisters (44) befind­ lichen Bits vorgesehen ist.7. Signal processor according to claim 6, characterized in that even when further interrupts the reserve memory ( 46 ) for writing in the least significant memory cell ( 50 ) of the control register ( 44 ) is provided bits provided. 8. Signalprozessor nach Anspruch 7, dadurch gekennzeichnet, daß die Anzahl der Speicherzellen des Reservespeichers (46) mindestens gleich der Anzahl der Interruptquellen ist.8. Signal processor according to claim 7, characterized in that the number of memory cells of the reserve memory ( 46 ) is at least equal to the number of interrupt sources. 9. Signalprozessor nach Anspruch 7 oder 8, dadurch gekennzeichnet, daß der Reservespeicher (46) bei der Einschreibung der Bits zur Arbeit nach dem Schieberegisterprinzip und zur Auslesung des zuletzt eingeschriebenen Bits am Ende eines Interruptzyklusses vorgesehen ist.9. Signal processor according to claim 7 or 8, characterized in that the reserve memory ( 46 ) is provided when writing the bits to work according to the shift register principle and for reading out the last written bit at the end of an interrupt cycle. 10. Signalprozessor nach einem der vorhergehenden An­ sprüche zur Verwendung in einem digitalen Telefon.10. Signal processor according to one of the preceding An sayings for use in a digital telephone.
DE19914106784 1991-03-04 1991-03-04 Signal processor for use in a digital radio telephone Expired - Fee Related DE4106784C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19914106784 DE4106784C2 (en) 1991-03-04 1991-03-04 Signal processor for use in a digital radio telephone

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19914106784 DE4106784C2 (en) 1991-03-04 1991-03-04 Signal processor for use in a digital radio telephone

Publications (2)

Publication Number Publication Date
DE4106784A1 DE4106784A1 (en) 1992-09-10
DE4106784C2 true DE4106784C2 (en) 2000-04-13

Family

ID=6426388

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19914106784 Expired - Fee Related DE4106784C2 (en) 1991-03-04 1991-03-04 Signal processor for use in a digital radio telephone

Country Status (1)

Country Link
DE (1) DE4106784C2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19520952C2 (en) * 1995-06-08 1997-11-13 Rohde & Schwarz Method for transmitting a voice signal over a transmission channel which fluctuates greatly over time in terms of its transmission quality
US6992997B1 (en) 2000-10-17 2006-01-31 Telefonaktiebolaget L.M. Ericsson Methods, wireless terminals, and systems for acquiring service using stored TDMA digital control channel information

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4912707A (en) * 1988-08-23 1990-03-27 International Business Machines Corporation Checkpoint retry mechanism

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4912707A (en) * 1988-08-23 1990-03-27 International Business Machines Corporation Checkpoint retry mechanism

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
McALINDEN, P., HARTLEY, D., "Vernetztes Europa- High-Tech-DSP bringt neues Licht in die mobile Telefonie", in: Elektronik, 25/1990, S. 46-52 *

Also Published As

Publication number Publication date
DE4106784A1 (en) 1992-09-10

Similar Documents

Publication Publication Date Title
DE1815078C3 (en) Electronic data processing system
DE1299145B (en) Circuit arrangement for controlling peripheral input and output devices of data processing systems
DE3301628A1 (en) CIRCUIT ARRANGEMENT FOR DATA EXCHANGE BETWEEN TWO COMPUTERS
DE2646163B2 (en) Circuit arrangement for replacing incorrect information in memory locations of a non-changeable memory
DE2118581A1 (en) Data processing system
DE3439828A1 (en) IMAGE REPRODUCTION SYSTEM
DE3013070C2 (en) Circuit arrangement for processing request signals brought in from several peripheral devices within a data processing device
DE2064383C3 (en) Data processing system with several central processing devices
DE1499206A1 (en) Computer system
EP0062141B1 (en) Circuit arrangement for entering control commands into a microcomputer system
DE4106784C2 (en) Signal processor for use in a digital radio telephone
DE2517525C3 (en) Method and signaling identifier for recognizing telecommunication signaling criteria
DE2745204A1 (en) MICROPROGRAM CONTROL UNIT FOR A DATA PROCESSING SYSTEM
DE1499286B2 (en) DATA PROCESSING SYSTEM
DE1222289B (en) Data processing device
EP0045043B1 (en) Control of a channel connection
DE2524957C3 (en) Arrangement for the selection of input and output units by means of addresses
DE1935258C3 (en) Program switching device for data processing systems with several connection units
DE2007041A1 (en) Automatically structurable data processing system
DE2555329C3 (en) Control device made up of several modules for a switching system, in particular telephone switching system, and method for operating the control device
DE1499288C (en) Data processing system
DE2321232C3 (en) Circuit for the transmission of the address of a pearl unit
DE2613899C2 (en) Arrangement for the visual display of data
EP1105807B1 (en) Method for converting different data formats
DE3218856C2 (en)

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8127 New person/name/address of the applicant

Owner name: PHILIPS CORPORATE INTELLECTUAL PROPERTY GMBH, 2233

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee