DE19928259A1 - Finite status automation implementation method for ISDN telecommunications network - Google Patents
Finite status automation implementation method for ISDN telecommunications networkInfo
- Publication number
- DE19928259A1 DE19928259A1 DE19928259A DE19928259A DE19928259A1 DE 19928259 A1 DE19928259 A1 DE 19928259A1 DE 19928259 A DE19928259 A DE 19928259A DE 19928259 A DE19928259 A DE 19928259A DE 19928259 A1 DE19928259 A1 DE 19928259A1
- Authority
- DE
- Germany
- Prior art keywords
- state
- memory
- pointer
- input signal
- state machine
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0435—Details
- H04Q11/0471—Terminal access circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4498—Finite state machines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/12—Protocol engines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13103—Memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13106—Microprocessor, CPU
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13202—Network termination [NT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13209—ISDN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13299—Bus
Abstract
Description
Die Erfindung betrifft ein Verfahren zum Durchführen eines endlichen Zustandsautomaten nach dem Oberbegriff von Patent anspruch 1 und eine Vorrichtung zum Durchführen des Verfah rens nach dem Oberbegriff von Patentanspruch 9.The invention relates to a method for performing a finite state machines according to the preamble of patent Claim 1 and an apparatus for performing the procedure rens according to the preamble of claim 9.
Zur Protokollbearbeitung von Datenströmen, die in der Tele kommunikation wie beispielsweise bei ISDN (Integrated Servi ces Network) auftreten, werden sogenannte Protokollprozesso ren benutzt. Die Aufgabe solcher Protokollprozessoren besteht darin, aus den Datenströmen Protokolle zu entnehmen und diese zur Weiterverarbeitung in einer Telekommunikationsvorrichtung aufzubereiten. Bisher werden als Protokollprozessoren haupt sächlich Standard-Mikroprozessoren benutzt, die entsprechend den zu verarbeitenden Protokollen programmiert sind. Nach teilig ist dabei allerdings, daß die Standard-Mikroprozesso ren für die Aufgabe der Protokollverarbeitung nicht optimiert sind. Insbesondere in Bezug auf die Ausführungszeit, die La tenzzeit, d. h. die Zeit zur Bearbeitung von Protokolldaten, und die Code-Größe der Software zur Protokollbearbeitung sind die Standard-Mikroprozessoren gegenüber speziell für die Pro tokollbearbeitung entwickelten Prozessoren im Nachteil.For protocol processing of data streams in the Tele communication such as ISDN (Integrated Servi network), so-called protocol processing ren used. The task of such protocol processors is in taking logs from the data streams and these for further processing in a telecommunication device prepare. So far, as protocol processors at all Standard microprocessors are used accordingly the protocols to be processed are programmed. After Part of it is, however, that the standard microprocessor not optimized for the task of protocol processing are. Especially with regard to the execution time, the La time, d. H. the time for processing log data, and are the code size of the protocol editing software compared to the standard microprocessors specifically for the Pro Processors developed to disadvantage processing.
Bei der Protokollbearbeitung muß ein Prozessor ein Programm ausführen, das einen endlichen Zustandsautomaten in Software nachbildet. Die Größe des zu realisierenden endlichen Zu standsautomaten hängt von der Komplexität des zu verarbeiten den Protokolls ab. Zustandsautomaten für komplexe Protokolle, die beispielsweise bei ISDN vorkommen, weisen dabei sehr viele verschiedene Zustände und Zustandsübergänge auf. When processing the protocol, a processor must have a program execute that a finite state machine in software reproduces. The size of the finite to be realized free standing machine depends on the complexity of the process the protocol. State machines for complex protocols, that occur, for example, with ISDN, show a lot many different states and state transitions.
Realisierungen von endlichen Zustandsautomaten in Software sind in "A practical handbook for software development", N.D. Birell, Cambridge University Press 1985, Kapitel 4.3, Seite 175 beschrieben. Endliche Zustandsautomaten werden dort als Zustandstabelle in Software ausgeführt. Dies kann beispiels weise durch sogenannte "Look-Up"-Tabellen oder in Form von "case"- bzw. "if-then-else"-Konstrukten ausgeführt werden. Abhängig von der Komplexität des endlichen Zustandsautomaten können allerdings die entsprechenden "Look-Up"-Tabellen sehr groß bzw. die "if-then-else"- oder "case"-Konstrukte sehr um fangreich werden. Damit steigt auch der Bedarf an Speicher platz zum Speichern der "Look-Up"-Tabelle. Zudem erhöht sich bei der Abarbeitung eines solchen endlichen Zustandsautomaten durch einen Standard-Mikroprozessor die Rechenzeit und insbe sondere Latenzzeit, d. h. die Reaktionszeit des Zustandsauto maten auf Eingangssignale bzw. der Zeitraum zwischen einem neuen Eingangsvektor und dem entsprechenden Zustandsübergang. Eine lange Latenzzeit ist allerdings bei Echtzeitanforderun gen nachteilig.Realizations of finite state machines in software are described in "A practical handbook for software development", N.D. Birell, Cambridge University Press 1985, Chapter 4.3, page 175 described. Finite state machines are there as Status table executed in software. For example wise through so-called "look-up" tables or in the form of "case" or "if-then-else" constructs are executed. Depending on the complexity of the finite state machine However, the corresponding "Look-Up" tables can do a lot large or the "if-then-else" or "case" constructs very much become catchy. This also increases the need for storage space to save the "Look-Up" table. It also increases when processing such a finite state machine through a standard microprocessor the computing time and esp special latency, d. H. the response time of the state car mat on input signals or the period between one new input vector and the corresponding state transition. A long latency is, however, required in real time adverse.
Aufgabe der vorliegenden Erfindung ist es daher, ein Verfah ren und eine Vorrichtung zum Durchführen eines endlichen Zu standsautomaten anzugeben, wobei die Abarbeitung des endli chen Zustandsautomaten Echtzeitanforderungen genügen und die Codegröße eines in Software realisierten endlichen Zustands automaten klein sein soll.The object of the present invention is therefore a method ren and a device for performing a finite Zu state machines, whereby the processing of the endli Chen state machines meet real-time requirements and that Code size of a finite state implemented in software machine should be small.
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren zum Durchführen eines endlichen Zustandsautomaten mit den Merkma len von Patentanspruch 1 und durch eine Vorrichtung zur Durchführung des Verfahrens mit den Merkmalen von Patentan spruch 9 gelöst. Vorteilhafte Ausgestaltungen des Verfahrens und der Vorrichtung sind Gegenstand der entsprechenden abhän gigen Patentansprüche.This object is achieved by a method for Execution of a finite state machine with the characteristics len of claim 1 and by a device for Implementation of the process with the features of Patentan saying 9 solved. Advantageous refinements of the method and the device are subject to the corresponding depend current claims.
Die Erfindung betrifft ein Verfahren zum Durchführen eines
endlichen Zustandsautomaten, wobei jedem Zustand des Zu
standsautomaten jeweils eine Tabelle mit Folgezuständen zuge
ordnet ist, Eingangsignalvektoren den Zustandsautomaten steu
ern und das Verfahren ferner die folgenden Schritte aufweist:
The invention relates to a method for carrying out a finite state machine, each state of the state machine being assigned a table with subsequent states, input signal vectors controlling the state machine and the method further comprising the following steps:
- - Umwandeln eines Eingangsignalvektors in einen Zeiger,Converting an input signal vector into a pointer,
- - Ermitteln eines Folgezustandes an Hand des Zeigers aus der Folgezustandstabelle des Zustandes, in dem sich der endli che Zustandsautomat gerade befindet, und- Determine a subsequent state using the pointer from the Subsequent state table of the state in which the endli che state machine is currently, and
- - Verzweigen in den ermittelten Folgezustand.- Branch to the determined subsequent state.
Vorteilhafterweise ist das Zerlegen der vollständigen Zu standstabellen des Zustandsautomaten in eine Vielzahl von Folgezustandstabellen entsprechend den einzelnen Zuständen des Zustandsautomaten hinsichtlich der Bearbeitungszeit des endlichen Zustandsautomaten günstig, da beim Suchen bzw. Er mitteln eines Folgezustandes zu einem aktuellen Zustand nur die im Vergleich zur vollständigen Zustandstabelle kleine Folgezustandstabelle durchsucht werden muß.It is advantageous to disassemble the complete Zu status tables of the state machine in a variety of Follow-up state tables according to the individual states of the state machine with regard to the processing time of the finite state machines cheap, because when searching or Er averaging a subsequent state to a current state only which is small compared to the full state table Subsequent state table must be searched.
In einer bevorzugten Ausführungsform des Verfahrens adres siert der Zeiger zum Ermitteln eines Folgezustandes direkt einen Speicher. Damit kann an Hand des Speichers die Spei cherstelle im Speicher adressiert werden, die den Folgezu stand entsprechend dem Eingangssignalvektor, aus dem der Zei ger erzeugt wurde, enthält.In a preferred embodiment of the method adres the pointer directly determines a subsequent state a memory. This means that the memory can be are addressed in memory, which are the consequence stood according to the input signal vector from which the time ger was generated.
In einer besonders bevorzugten Ausführungsform ist in dem Speicher eine Tabelle mit Folgezuständen für genau den Zu stand, in dem sich der Zustandsautomat gerade befindet, abge legt. Damit wird der benötigte Speicherplatz für die Zustandstabelle klein gehalten und es ergibt sich eine schnellere Bearbeitungszeit.In a particularly preferred embodiment, the Save a table with subsequent states for exactly the To stand in which the state machine is currently located sets. This will save the space required for the State table kept small and there is a faster processing time.
In den Speicher wird die Tabelle mit Folgezuständen in Abhän gigkeit von dem Zustand, in dem sich der Zustandsautomat ge rade befindet, in einer bevorzugten Ausführungsform des Ver fahrens geladen.In the memory, the table with subsequent states is dependent the state in which the state machine is rade is in a preferred embodiment of Ver driving loaded.
Dabei erfolgt das Laden der Tabellen mit Folgezuständen be vorzugt bei einem Zustandswechsel des Zustandsautomaten.The tables with subsequent states are loaded preferably when the state machine changes state.
Beim Laden der Tabellen werden insbesondere nur Tabellenein träge geladen, die sich von den Tabelleneinträgen mit Folge zuständen, die sich gerade im Speicher befinden, unterschie den. Vorteilhafterweise kann dadurch die Ladezeit, die zum Laden der Tabelle mit Folgezuständen benötigt wird, verrin gert werden.When loading the tables, only tables are in particular sluggishly loaded, resulting from the table entries States that are currently in memory differ the. Advantageously, this can reduce the charging time for Loading the table with subsequent states is required be tied.
Vorzugsweise erfolgt das Umwandeln des Eingangssignalvektors in einen Zeiger mittels eines dafür vorgesehenen Prozessor- Befehls. Der Prozessor-Befehl zum Umwandeln des Eingangs signal-Vektors in einen Zeiger arbeitet dabei insbesondere nach einem "Round-Robin"-Verfahren.The input signal vector is preferably converted into a pointer by means of a processor Command. The processor command to convert the input signal vector in a pointer works in particular after a "round robin" process.
Die Erfindung betrifft weiterhin eine Vorrichtung zum Durch führen eines endlichen Zustandsautomaten mit einem ersten De koder, dem Eingangsignalvektoren von einem Prozessor zuge führt werden und der jeden Eingangsignalvektor in einen Zei ger umwandelt, einem Speicher, der durch den Zeiger des er sten Dekoders adressiert wird, und einen zweiten Dekoder, der einen durch den Zeiger adressierten Eintrag des Speichers in Adressen umwandelt, die in einen Programmzähler, der einen Programmspeicher des Prozessors adressiert, geladen werden.The invention further relates to a device for through run a finite state machine with a first de koder, the input signal vectors from a processor be led and each input signal vector in one time ger converts, a memory that by the pointer of the he most decoder is addressed, and a second decoder that an entry of the memory in addressed by the pointer Converts addresses into a program counter that stores a Program memory of the processor addressed, loaded.
Vorzugsweise wird der Speicher von dem Prozessor mit Daten geladen. Insbesondere weisen die Einträge des Speichers eine Bitbreite von 8 Bit auf.The processor preferably stores the data loaded. In particular, the entries in the memory have a Bit width of 8 bits.
Der zweite Dekoder weist vorzugsweise eine Tabelle auf, deren Einträge eine Bitbreite von 16 Bit haben und den Adressen zur Adressierung des Programmspeichers entsprechen. Dadurch kann ein Speicher mit 216 Speicherzellen adressiert werden.The second decoder preferably has a table, the entries of which have a bit width of 16 bits and correspond to the addresses for addressing the program memory. This means that a memory with 2 16 memory cells can be addressed.
Vorzugsweise ist der Speicher als Schreib-/Lesespeicher aus geführt, so daß sein Inhalt vom Prozessor veränderbar ist.The memory is preferably in the form of a read / write memory performed so that its content can be changed by the processor.
Weitere Vorteile und Anwendungsmöglichkeiten der Erfindung ergeben sich aus der Beschreibung von Ausführungsbeispielen in Verbindung mit den Zeichnungen. In den Zeichnungen zeigtFurther advantages and possible uses of the invention result from the description of exemplary embodiments in connection with the drawings. In the drawings shows
Fig. 1 ein Blockschaltbild der Vorrichtung zum Durchführen des erfindungsgemäßen Verfahrens, Fig. 1 is a block diagram of the apparatus for performing the method according to the invention,
Fig. 2 einen Ausschnitt aus einem Zustandsübergangsdia gramm eines endlichen Zustandsautomaten mit dazuge hörigen Zustandstabellen, und Fig. 2 shows a section of a state transition diagram of a finite state machine with associated state tables, and
Fig. 3 das Blockschaltbild eines U-Transceivers für ISDN, in dem die Erfindung eingesetzt wird. Fig. 3 shows the block diagram of a U-transceiver for ISDN, in which the invention is used.
In Fig. 1 arbeitet ein Prozessor 100 ein Programm, das einen endlichen Zustandsautomaten simuliert, aus einem Programm speicher 101 ab. Dazu liest der Prozessor 100 über einen er sten Datenbus 103 aus dem Programmspeicher 101 den Pro grammcode zur Simulation des endlichen Zustandsautomaten.In Fig. 1, a processor 100 operates a program which simulates a finite state machine from a program memory 101. For this purpose, the processor 100 reads the program code for simulating the finite state machine from the program memory 101 via a data bus 103 .
Für jeden Zustand des endlichen Zustandsautomaten schreibt der Prozessor 100 über einen zweiten Datenbus 104 in einen Speicher 2 die entsprechende Folgezustandstabelle des Zustan des.For each state of the finite state machine, the processor 100 writes the corresponding subsequent state table of the state to a memory 2 via a second data bus 104 .
Über einen Eingangsbus 110 empfängt der Prozessor weitere Da ten und über einen Ausgangsbus 111 gibt der Prozessor Daten zur Steuerung weiterer Komponenten aus. Die ausgegebenen Da ten können beispielsweise Signale des Zustandsautomaten sein.The processor receives further data via an input bus 110 , and the processor outputs data for controlling further components via an output bus 111 . The output data can be signals from the state machine, for example.
Bei einem Zustandswechsel des endlichen Zustandsautomaten empfängt ein erster Dekoder 1 von dem Prozessor 100 einen Eingangssignalvektor 109, der unter anderem von über den Ein gangsbus 110 empfangenen Daten abhängt, von dem ersten Deko der 1 in einen Zeiger umgewandelt wird. Dabei berechnet der erste Dekoder 1 aus dem Eingangssignalvektor und dem aktuel len Zustand, in dem sich der endliche Zustandsautomat befin det, eine Adresse des Speichers 2, die den Folgezustand ent sprechend den Eingangssignalen und dem aktuellen Zustand auf weist.When the state of the finite state machine changes state, a first decoder 1 receives from processor 100 an input signal vector 109 , which depends, among other things, on data received via input bus 110 , and is converted by the first decoder of FIG. 1 into a pointer. The first decoder 1 uses the input signal vector and the current state in which the finite state machine is located to calculate an address of the memory 2 which has the subsequent state corresponding to the input signals and the current state.
Der Zeiger wird dazu über einen dritten Datenbus 105 an den Speicher 2 zur Adressierung einer Speicherzelle übertragen. Die adressierte Speicherzelle des Speichers 2 weist den ent sprechenden Folgezustand auf.For this purpose, the pointer is transmitted via a third data bus 105 to the memory 2 for addressing a memory cell. The addressed memory cell of the memory 2 has the corresponding subsequent state.
Der Inhalt der Speicherzelle des Speichers 2 wird dann über einen vierten Datenbus 106 an einen zweiten Dekoder 3 über tragen, der daraus eine Programmadresse, die im Programm zur Simulation des endlichen Zustandsautomaten dem Folgezustand entspricht, berechnet.The content of the memory cell of the memory 2 is then transmitted via a fourth data bus 106 to a second decoder 3 , which uses this to calculate a program address which corresponds to the subsequent state in the program for simulating the finite state machine.
Diese Programmadresse wird von dem zweiten Dekoder 3 über ei nen fünften Datenbus 107 an einen Programmzähler 102 übertra gen.This program address is transmitted from the second decoder 3 via a fifth data bus 107 to a program counter 102 .
Der Programmzähler 102 adressiert den Programmspeicher 101 entsprechend der vorher berechneten Programmadresse und über trägt dazu die Programmadresse über einen sechsten Datenbus 108 an den Programmspeicher 101.The program counter 102 addresses the program memory 101 corresponding to the previously calculated program address and transmits to the program address via a sixth data bus 108 to the program memory one hundred and first
In Fig. 2 ist der Ausschnitt eines Zustandsübergangsdia gramms eines endlichen Zustandsautomaten, der mit der Vor richtung nach Fig. 1 ausgeführt wird, skizziert.In Fig. 2, the section of a state transition diagram of a finite state machine, which is carried out with the device according to FIG. 1, is outlined.
Der dargestellte endliche Zustandsautomat weist vier Zustände A, B, C und D auf, die durch entsprechende Bezugszeichen 4 bzw. 5 bzw. 6 bzw. 7 gekennzeichnet sind. Die Übergänge zwi schen den einzelnen Zuständen sind durch Pfeile gekennzeich net. Die Eingangssignale bzw. Bedingungen für einen Zu standsübergang stehen neben dem für den Zustandsübergang ent sprechenden Pfeil.The finite state machine shown has four states A, B, C and D, which are identified by corresponding reference numerals 4 or 5 or 6 or 7 . The transitions between the individual states are identified by arrows. The input signals or conditions for a state transition are next to the arrow corresponding to the state transition.
Für den Zustand 4 ergeben sich folgende Zustandsübergänge
entsprechend Tabelle 8:
For state 4 , the following state transitions result according to table 8:
- - ein Eingangssignal a ergibt einen Übergang in den Folgezu stand 7,- An input signal a gives a transition in the Folgzu stood 7 ,
- - ein Eingangssignal b ergibt einen Übergang in den Folgezu stand 6, und - An input signal b results in a transition in the Folgzu stood 6 , and
- - ein Eingangssignal c ergibt einen Übergang in den Folgezu stand 5.- An input signal c gives a transition in the Folgzu stood 5 .
Für den Zustand 5 ergeben sich die folgenden Zustandsüber
gänge entsprechend Tabelle 9:
For state 5 , the following state transitions result according to table 9:
- - bei einem Eingangssignal a oder c bleibt der Zustandsauto mat in dem Zustand 5,- With an input signal a or c, the state machine remains in state 5 ,
- - ein Eingangssignal b ergibt einen Wechsel in den Zustand 6.- An input signal b results in a change to state 6 .
Die Tabellen 8 und 9 entsprechen dabei den Folgezustandsta bellen für die Zustände 4 bzw. 5. Diese Folgezustandstabellen sind deutlich kleiner als die vollständige Zustandstabelle des endlichen Zustandsautomaten.Tables 8 and 9 correspond to the subsequent state tables for states 4 and 5, respectively. These subsequent state tables are significantly smaller than the complete state table of the finite state machine.
In Fig. 3 ist das Blockschaltbild eines U-Transceivers für ISDN, in dem die Erfindung eingesetzt wird, dargestellt.In Fig. 3 is a block diagram of a U-transceiver for ISDN in which the invention is used is illustrated.
Über eine Uk0-Schnittstelle 203 ist der U-Transceiver mit ei ner ISDN-Leitung verbindbar.The U transceiver can be connected to an ISDN line via a Uk0 interface 203 .
Eine Leitungsschnittstelle 202 weist in Empfangsrichtung ei nen Analog-Digital-Umsetzer 219 und in Senderichtung einen Digital-Analog-Umsetzer 216, dem ein Verstärker 217 nachge schaltet ist, auf. Eine Leitungsanpassungseinrichtung 218 dient zur Anpassung an die Leitungseigenschaften wie bei spielsweise die Impedanz der ISDN-Leitung.A line interface 202 has an analog-digital converter 219 in the receiving direction and a digital-analog converter 216 in the sending direction, which is followed by an amplifier 217 . A line adapter 218 is used to adapt to the line properties, such as the impedance of the ISDN line.
Die Leitungsschnittstelle 202 ist über einen bidirektionalen Bus mit einer Empfängerschaltung 201 verbunden. Die Empfän gerschaltung 201 weist einen digitalen Signalprozessor 213 auf. Der digitale Signalprozessor 213 berechnet aus dem Emp fangsdatenstrom die Empfangssignale und erzeugt aus einem Sendedatenstrom Sendesignale zur Übertragung über die ISDN- Leitung. Der digitale Signalprozessor 213 weist einen ersten Datenspeicher 211 zur Speicherung von Variablen und einen er sten Programmspeicher 212 für die Signalprozessor-Firmware auf. Zwei Koprozessoren 214 und 215 erhöhen die Rechenlei stung des digitalen Signalprozessors 213.The line interface 202 is connected to a receiver circuit 201 via a bidirectional bus. The receiver circuit 201 has a digital signal processor 213 . The digital signal processor 213 calculates the received signals from the received data stream and generates transmit signals for transmission over the ISDN line from a transmitted data stream. The digital signal processor 213 has a first data memory 211 for storing variables and a first program memory 212 for the signal processor firmware. Two coprocessors 214 and 215 increase the computing power of the digital signal processor 213 .
Die Empfängerschaltung 201 ist wiederum über einen bidirek tionalen Bus mit einer Systemschnittstelle 200 zur Koppelung an eine Telekommunikationseinrichtung verbunden. Die System schnittstelle 200 weist einen I/O-Prozessor 208, der als Pro tokollprozessor arbeitet, auf. Der I/O-Prozessor 208 simu liert dazu einen endlichen Zustandsautomaten zur Protokollbe arbeitung nach dem erfindungsgemäßen Verfahren und ist insbe sondere für die Protokollbearbeitung ausgeführt. In einem zweiten Programmspeicher 210 ist ein Programm zur Simulation des endlichen Zustandsautomaten abgelegt. Ein zweiter Daten speicher 209 dient zur Speicherung der Folgezustandstabellen. Über eine IOM-Schnittstelle 206 und eine Mikroprozessor schnittstelle 207 ist die Systemschnittstelle 200 mit einem IOM-2/PCM-Bus 204 bzw. einem Mikroprozessorbus 205 verbind bar. The receiver circuit 201 is in turn connected via a bidirectional bus to a system interface 200 for coupling to a telecommunications device. The system interface 200 has an I / O processor 208 , which functions as a protocol processor. For this purpose, the I / O processor 208 simulates a finite state machine for protocol processing according to the method according to the invention and is in particular designed for protocol processing. A program for simulating the finite state machine is stored in a second program memory 210 . A second data memory 209 is used to store the subsequent state tables. The system interface 200 can be connected to an IOM-2 / PCM bus 204 or a microprocessor bus 205 via an IOM interface 206 and a microprocessor interface 207 .
11
erster Dekoder
first decoder
22nd
Speicher
Storage
33rd
zweiter Dekoder
second decoder
44th
Zustand
Status
55
Zustand
Status
66
Zustand
Status
77
Zustand
Status
88th
Folgezustand
Subsequent state
99
Folgezustand
Subsequent state
100100
Prozessor
processor
101101
Programmspeicher
Program memory
102102
Programmzähler
Program counter
103103
erster Datenbus
first data bus
104104
zweiter Datenbus
second data bus
105105
dritter Datenbus
third data bus
106106
vierter Datenbus
fourth data bus
107107
fünfter Datenbus
fifth data bus
108108
sechster Datenbus
sixth data bus
109109
Eingangssignalvektor
Input signal vector
110110
Eingangsbus
Input bus
111111
Ausgangsbus
A Zustand
B Zustand
C Zustand
D Zustand
Output bus
A condition
B condition
C condition
D condition
200200
Systemschnittstelle
System interface
201201
Empfängerschaltung
Receiver circuit
202202
Leitungsschnittstelle
Line interface
203203
Uk0-Schnittstelle
Uk0 interface
204204
IOM-2/PCM-Bus
IOM-2 / PCM bus
205205
Mikroprozessorbus
Microprocessor bus
206206
IOM-Schnittstelle
IOM interface
207207
Mikroprozessorschnittstelle
Microprocessor interface
208208
I/O-Prozessor
I / O processor
209209
zweiter Datenspeicher
second data storage
210210
zweiter Programmspeicher
second program memory
211211
Datenspeicher
Data storage
212212
Programmspeicher
Program memory
213213
digitaler Signalprozessor
digital signal processor
214214
Koprozessor
Coprocessor
215215
Koprozessor
Coprocessor
216216
Digital-Analog-Umsetzer
Digital-to-analog converter
217217
Verstärker
amplifier
218218
Leitungsanpassungseinrichtung
Pipe adapter
219219
Analog-Digital-Umsetzer
Analog-to-digital converter
Claims (13)
- - Umwandeln eines Eingangssignalvektors in einen Zeiger,
- - Ermitteln eines Folgezustandes anhand des Zeigers, und
- - Verzweigen in den im vorhergehenden Schritt ermittelten Folgezustand.
- Converting an input signal vector into a pointer,
- - Determining a subsequent state using the pointer, and
- - Branch to the subsequent state determined in the previous step.
- - einem ersten Dekoder (1), dem Eingangssignalvektoren von einem Prozessor (100) zugeführt werden und der jeden Ein gangssignalvektor in einen Zeiger umwandelt,
- - einem Speicher (2), der durch den Zeiger des ersten Deko ders (1) adressiert wird, und
- - einem zweiten Dekoder (3), der einen durch den Zeiger adressierten Eintrag des Speichers (2) in Adressen umwandelt, die in einen Programmzähler (102), der einen Programmspeicher (101) des Prozessors (100) adressiert, geladen werden.
- a first decoder ( 1 ), to which input signal vectors are fed by a processor ( 100 ) and which converts each input signal vector into a pointer,
- - A memory ( 2 ) which is addressed by the pointer of the first decoder ( 1 ), and
- - A second decoder ( 3 ) which converts an entry of the memory ( 2 ) addressed by the pointer into addresses which are loaded into a program counter ( 102 ) which addresses a program memory ( 101 ) of the processor ( 100 ).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19928259A DE19928259B4 (en) | 1999-06-21 | 1999-06-21 | Method and apparatus for performing a finite state machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19928259A DE19928259B4 (en) | 1999-06-21 | 1999-06-21 | Method and apparatus for performing a finite state machine |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19928259A1 true DE19928259A1 (en) | 2000-12-28 |
DE19928259B4 DE19928259B4 (en) | 2009-07-09 |
Family
ID=7911940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19928259A Expired - Lifetime DE19928259B4 (en) | 1999-06-21 | 1999-06-21 | Method and apparatus for performing a finite state machine |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19928259B4 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5317757A (en) * | 1992-02-06 | 1994-05-31 | International Business Machines Corporation | System and method for finite state machine processing using action vectors |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5450598A (en) * | 1985-12-27 | 1995-09-12 | Xerox Corporation | Finite state machine data storage where data transition is accomplished without the use of pointers |
US5125098A (en) * | 1989-10-06 | 1992-06-23 | Sanders Associates, Inc. | Finite state-machine employing a content-addressable memory |
US5721920A (en) * | 1994-08-05 | 1998-02-24 | Telefonaktiebolaget Lm Ericsson | Method and system for providing a state oriented and event driven environment |
US5652886A (en) * | 1994-10-03 | 1997-07-29 | United Technologies Corporation | System for loading a boot program into an initially blank programmable memory of a microprocessor using state machine and serial bus |
-
1999
- 1999-06-21 DE DE19928259A patent/DE19928259B4/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5317757A (en) * | 1992-02-06 | 1994-05-31 | International Business Machines Corporation | System and method for finite state machine processing using action vectors |
Also Published As
Publication number | Publication date |
---|---|
DE19928259B4 (en) | 2009-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2521289C2 (en) | Data processing arrangement with data field auxiliary processor | |
DE69738188T2 (en) | METHOD AND APPARATUS FOR INCREASED ACCURACY IN THE BRANCHING FORECAST IN A SUPERSCALAR MICROPROCESSOR | |
DE1931966C3 (en) | Data processing system with associative memories | |
DE102008059204B9 (en) | Method for searching for a slave node in a communication network, master node and slave node for a communication network | |
DE2145120B2 (en) | DIGITAL DATA PROCESSING DEVICE | |
EP1069731B1 (en) | Network and procedure to exchange messages | |
DE4207148A1 (en) | Microprocessor super-scaler for parallel processing - uses by=pass line to interconnect pipelines and transfers data from one pipeline for subsequent processing by another | |
DE102008019277B4 (en) | Data transfer device | |
DE4224072A1 (en) | Data communication processor for hierarchical system - has single chip data processor with on chip memory and interfaces coupled to second and third level protocol ROM modules | |
DE3107568A1 (en) | DATA PROCESSING DEVICE | |
DE3137704C2 (en) | Device for decoding a tree-shaped code of variable length | |
DE19928259A1 (en) | Finite status automation implementation method for ISDN telecommunications network | |
EP0347970B1 (en) | Read-only memory test method, and device for carrying out the method | |
EP0110199B1 (en) | Method for the control of data transfer between a data transmitter and a data receiver on a bus, using a control unit which is connected to the bus | |
DE69836751T2 (en) | SERVICES WITH RUFUNDEPENDENT MODULES | |
EP0409330B1 (en) | Memory access control circuit | |
DE10296916T5 (en) | Communication device and method for supporting multiple access with line monitoring / collision detection | |
DE19631289A1 (en) | Testing second data exchange protocol converter using identical first protocol converter for computer systems | |
DE3843638C2 (en) | ||
DE4206112A1 (en) | PATTERN RECOGNITION DEVICE | |
DE3015876A1 (en) | ARRANGEMENT AND METHOD FOR A DIGITAL PROCESSOR FOR PRE-READING AN OPERATION CODE PART AND AN OPERATION PART OF A COMMAND WORD | |
EP1116098B1 (en) | Method and device for writing and reading a buffer memory | |
EP0175997B1 (en) | Circuit arrangement for the instruction-dependent calculation of operand addresses and for checking the page boundary crossing at operands for logical or decimal storage-to-storage instructions | |
EP0408936A2 (en) | Method for detecting a character pattern in a data stream | |
DE19950784B4 (en) | A branch instruction prediction system for a computer instruction pipeline and a method for prefetching a instruction code during execution of a conditional branch instruction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: INFINEON TECHNOLOGIES AG, 81669 MUENCHEN, DE |
|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE |
|
R081 | Change of applicant/patentee |
Owner name: LANTIQ DEUTSCHLAND GMBH, DE Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 81669 MUENCHEN, DE Effective date: 20110325 Owner name: LANTIQ BETEILIGUNGS-GMBH & CO. KG, DE Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 81669 MUENCHEN, DE Effective date: 20110325 |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0009420000 Ipc: G06F0009448000 |
|
R081 | Change of applicant/patentee |
Owner name: LANTIQ BETEILIGUNGS-GMBH & CO. KG, DE Free format text: FORMER OWNER: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE |
|
R071 | Expiry of right |