DE19928259A1 - Finite status automation implementation method for ISDN telecommunications network - Google Patents

Finite status automation implementation method for ISDN telecommunications network

Info

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
Application number
DE19928259A
Other languages
German (de)
Other versions
DE19928259B4 (en
Inventor
Karsten Jensen
Peter Hober
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.)
Intel Germany Holding GmbH
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE19928259A priority Critical patent/DE19928259B4/en
Publication of DE19928259A1 publication Critical patent/DE19928259A1/en
Application granted granted Critical
Publication of DE19928259B4 publication Critical patent/DE19928259B4/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0435Details
    • H04Q11/0471Terminal access circuits
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4498Finite state machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13103Memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13106Microprocessor, CPU
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13202Network termination [NT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13209ISDN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13299Bus

Abstract

A method for implementing a finite status automation, in which each state (A-D) of the automation is assigned a table with subsequent states (8,9). Input signal vectors are used to control the automation. Initially, an input signal vector is converted into a pointer, and the subsequent or succeeding state (8,9) is ascertained on the basis of the pointer, and branched into the succeeding state as determined in the preceding step. The pointer which is used for determining the succeeding state, addresses a store or memory which specifically contains a table of succeeding states for the state in which the status automation resides.

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 .

BezugszeichenlisteReference list

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)

1. Verfahren zum Durchführen eines endlichen Zustandsautoma­ ten, wobei jedem Zustand des Zustandsautomaten jeweils eine Tabelle mit Folgezuständen zugeordnet ist und Eingangssignal­ vektoren den Zustandsautomaten steuern, dadurch ge­ kennzeichnet, daß das Verfahren die folgenden Schritte aufweist:
  • - Umwandeln eines Eingangssignalvektors in einen Zeiger,
  • - Ermitteln eines Folgezustandes anhand des Zeigers, und
  • - Verzweigen in den im vorhergehenden Schritt ermittelten Folgezustand.
1. A method for performing a finite state machine, wherein each state of the state machine is assigned a table with subsequent states and input signal vectors control the state machine, characterized in that the method comprises the following steps:
  • 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.
2. Verfahren nach Anspruch 1, dadurch gekennzeich­ net, daß der Zeiger zum Ermitteln eines Folgezustands einen Speicher adressiert.2. The method according to claim 1, characterized in net that the pointer to determine a subsequent state Memory addressed. 3. Verfahren nach Anspruch 2, dadurch gekennzeich­ net, daß in dem Speicher eine Tabelle mit Folgezuständen für den Zustand, in dem sich der Zustandsautomat gerade be­ findet, abgelegt ist.3. The method according to claim 2, characterized in net that a table with subsequent states in the memory for the state in which the state machine is currently loading finds, is filed. 4. Verfahren nach Anspruch 3, dadurch gekennzeich­ net, daß in den Speicher die Tabelle mit Folgezuständen in Abhängigkeit von dem Zustand, in dem sich der Zustandsautomat gerade befindet, geladen wird.4. The method according to claim 3, characterized in net that in the memory the table with subsequent states in Depends on the state in which the state machine is is currently being loaded. 5. Verfahren nach Anspruch 4, dadurch gekennzeich­ net, daß das Laden der Tabelle mit Folgezuständen bei einem Zustandswechsel des Zustandsautomaten erfolgt.5. The method according to claim 4, characterized in net that the loading of the table with subsequent states at a The state machine changes state. 6. Verfahren nach Anspruch 5, dadurch gekennzeich­ net, daß beim Laden der Tabelle nur Tabelleneinträge gela­ den werden, die sich von den Tabelleneinträgen der Tabelle mit Folgezuständen, die sich gerade im Speicher befindet, un­ terscheiden.6. The method according to claim 5, characterized in net that only table entries when loading the table  those that differ from the table entries of the table with subsequent states that are currently in memory, un differentiate. 7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß das Umwandeln des Eingangssignal­ vektors in einen Zeiger mittels eines dafür vorgesehenen Be­ fehls erfolgt.7. The method according to any one of claims 1 to 6, characterized characterized in that converting the input signal vector into a pointer by means of a designated Be failed. 8. Verfahren nach Anspruch 7, dadurch gekennzeich­ net, daß der Befehl zum Umwandeln des Eingangssignalvektors in einen Zeiger nach einem "round-robin"-Verfahren arbeitet.8. The method according to claim 7, characterized in net that the command to convert the input signal vector works in a pointer according to a "round-robin" method. 9. Vorrichtung zum Durchführen eines endlichen Zustandsauto­ maten mit
  • - 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.
9. Device for performing a finite state machine with
  • 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 ).
10. Vorrichtung nach Anspruch 9, dadurch gekenn­ zeichnet, daß der Speicher (2) mit Daten von dem Prozes­ sor (100) geladen wird.10. The device according to claim 9, characterized in that the memory ( 2 ) with data from the processor ( 100 ) is loaded. 11. Vorrichtung nach Anspruch 9 oder 10, dadurch ge­ kennzeichnet, daß die Einträge des Speichers (2) eine Bitbreite von 8 Bit aufweisen. 11. The device according to claim 9 or 10, characterized in that the entries of the memory ( 2 ) have a bit width of 8 bits. 12. Vorrichtung nach Anspruch 11, dadurch gekenn­ zeichnet, daß der zweite Dekoder (3) eine Tabelle auf­ weist, deren Einträge eine Bitbreite von 16 Bit aufweisen und die Adressen zur Adressierung des Programmspeichers (101) sind.12. The apparatus according to claim 11, characterized in that the second decoder ( 3 ) has a table whose entries have a bit width of 16 bits and the addresses for addressing the program memory ( 101 ). 13. Vorrichtung nach einem der Ansprüche 9 bis 12, dadurch gekennzeichnet, daß der Speicher (2) als Schreib-­ /Lesespeicher ausgeführt ist.13. Device according to one of claims 9 to 12, characterized in that the memory ( 2 ) is designed as a read / write memory.
DE19928259A 1999-06-21 1999-06-21 Method and apparatus for performing a finite state machine Expired - Lifetime DE19928259B4 (en)

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)

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

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

Patent Citations (1)

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