[go: up one dir, main page]

JPH0818563A - Exchange - Google Patents

Exchange

Info

Publication number
JPH0818563A
JPH0818563A JP14356894A JP14356894A JPH0818563A JP H0818563 A JPH0818563 A JP H0818563A JP 14356894 A JP14356894 A JP 14356894A JP 14356894 A JP14356894 A JP 14356894A JP H0818563 A JPH0818563 A JP H0818563A
Authority
JP
Japan
Prior art keywords
data
cell
processing
information
processor
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.)
Pending
Application number
JP14356894A
Other languages
Japanese (ja)
Inventor
Keiji Tsunoda
啓治 角田
Junichi Takeda
純一 武田
Taketoshi Tsujita
武俊 辻田
Yasuro Shohata
康郎 正畑
Yoshiaki Takahata
由彰 高畠
Shigeto Kimura
成人 木村
Mikio Hashimoto
幹生 橋本
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP14356894A priority Critical patent/JPH0818563A/en
Priority to US08/351,098 priority patent/US5557609A/en
Priority to CN94112756A priority patent/CN1113502C/en
Priority to CNB02157832XA priority patent/CN1274108C/en
Publication of JPH0818563A publication Critical patent/JPH0818563A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PURPOSE:To considerably improve the processing efficiency of software processing by processing data while a processing unit such as physical layer processing is in matching with a data width of a processor mounted on an exchange. CONSTITUTION:A receiver side FIFO 2701 provides an output of received serial data in the unit of n-bits being a data width of a CPU 2703. The CPU 2703 reads data in n-bit width from the receiver FIFO 2701 and applies prescribed processing to the data. On the other hand, the CPU converts the data in n-bit width outputted from the transmitter side into serial data and provides an output. The physical layer processing in the CPU 2703 is more efficient than the case of serial or 8-bit parallel processing having been executed in a conventional hardware by forming a width of data sent/received between the FIFO 2701, 2702 and the CPU 2703 to be equal to a data width (n) read/written at once by the CPU 2703 in this way.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は交換装置に係り、特に複
数のインタフェース点を収容し、各インタフェース点の
入力ポートから入力されたATMセルをそのヘッダ情報
に従って所望のインタフェース点の出力ポートへと転送
する交換装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a switching device, and more particularly, it accommodates a plurality of interface points and transfers an ATM cell input from an input port of each interface point to an output port of a desired interface point according to its header information. It relates to a switching device for transferring.

【0002】[0002]

【従来の技術】従来より、伝送/交換技術の高速化を狙
う技術として、ATM(非同期転送モード)技術が注目
を集めている。ATMは全ての情報をセルと呼ばれる固
定長短パケットに担わせて転送することによりパケット
交換のハードウェア化を狙い、高速な情報の伝送/交換
を容易にすることを狙った技術である。この方式を用い
て情報通信を行うATM通信網を実現するためには、セ
ルをある伝送路から該セルのヘッダ情報に従って所望の
伝送路へ転送する交換装置が必須となる。
2. Description of the Related Art Conventionally, ATM (Asynchronous Transfer Mode) technology has been attracting attention as a technology aiming at speeding up of transmission / switching technology. The ATM is a technology aiming at hardware implementation of packet switching by transferring all information in fixed length and short packets called cells and facilitating high speed information transmission / exchange. In order to realize an ATM communication network that performs information communication using this method, a switching device that transfers cells from a certain transmission line to a desired transmission line according to the header information of the cell is essential.

【0003】しかしながら、従来の交換装置には以下の
ような問題がある。ATM通信網は、基本的にハードウ
ェアでATMレイヤの情報伝達機能を提供するものであ
る。ハードウェアで実現される機能は、一般的にそのス
ループットは高いが、コスト高となる。従来の交換装置
においても、ハードウェアによりATMレイヤ機能を実
現しており、コスト高となってしまう。特に、ATM−
LANとして近年注目を集めている、比較的狭い範囲に
存在している端末に対してATMセルによる情報転送能
力を提供する目的の通信システムに使用する交換装置と
しては、耐え難いコストとなってしまう。また、ハード
ウェア化された機能では、機能を少しだけ変更する場合
にもハードウェアを作りなおす必要があり、柔軟性に欠
けるという問題点もある。
However, the conventional exchange apparatus has the following problems. The ATM communication network basically provides the information transfer function of the ATM layer with hardware. Functions implemented by hardware generally have high throughput, but are costly. Even in the conventional switching device, the ATM layer function is realized by hardware, resulting in high cost. In particular, ATM-
This is an unbearable cost for a switching device used in a communication system for the purpose of providing information transfer capability by ATM cells to terminals existing in a relatively narrow range, which has recently been drawing attention as a LAN. In addition, in the case of a hardwareized function, it is necessary to recreate the hardware even when the function is slightly changed, and there is a problem that it lacks flexibility.

【0004】このような問題を解決するためには、交換
装置の機能をソフトウェアにより実現することが考えら
れるが、その場合にはスループットの低下をいかに抑え
るかが大きな課題となる。
In order to solve such a problem, it is considered that the function of the exchange apparatus is realized by software. In that case, how to suppress the decrease in throughput becomes a big problem.

【0005】さらに、ソフトウェア処理を行うことを考
えた場合、与えられた情報によって処理時間が変動す
る。インタフェース点より予め定められた速度でよどみ
なく情報の入出力を行わなければならないATM交換装
置においては、この処理時間の変動をいかに吸収するか
も大きな課題である。
Further, when considering software processing, the processing time varies depending on the given information. In the ATM switching apparatus that must input and output information at a predetermined speed from the interface point, how to absorb the fluctuation of the processing time is a big problem.

【0006】以上の課題を解決するための手段として、
処理をソフトウェアによって行う手法が考えられる。そ
のような交換装置では、物理レイヤ処理をプロセッサ内
部のレジスタ上にて実行することによって、物理レイ
ヤ、ATMレイヤ処理の高速化を図ろうというものであ
る。
As means for solving the above problems,
A method of performing the processing by software can be considered. In such a switching device, the physical layer processing is executed on a register inside the processor to speed up the physical layer and ATM layer processing.

【0007】ところで、近年性能向上の著しいプロセッ
サで、RISCプロセッサとして周知のもの(例えばM
IPS社のR3000)は、その速度向上を、命令実行
のパイプラインを持つことに負っている所が大きい。命
令実行のパイプライン化により、同時に複数命令を実行
でき、もって1クロック当たりの実行命令数を限りなく
1に近づけている。
By the way, a processor whose performance has been remarkably improved in recent years and is well known as a RISC processor (for example, M
R3000) manufactured by IPS Co., Ltd. largely bears the speed improvement by having an instruction execution pipeline. By pipelining instruction execution, a plurality of instructions can be executed at the same time, and thus the number of executed instructions per clock approaches 1 as much as possible.

【0008】しかしながら、良く知られているように、
パイプラインを矛盾無く動作させるためには、パイプラ
イン中に含まれる命令が読み書きするデータ間に関連性
が無いことが望ましい。このような性格を持つアセンブ
ラプログラムを人間が直接書き下すことは不可能に近
く、良く知られているように、RISCプロセッサの能
力を最大限に生かす為には、C等のいわゆる高級言語で
記述されたプログラムを、上述の性格を持つアセンブラ
プログラムへと変換する最適化コンパイラが必須とな
る。
However, as is well known,
In order for the pipeline to operate without contradiction, it is desirable that the instructions included in the pipeline have no relationship between the data read and written. It is almost impossible for a human to directly write an assembler program having such a character, and as is well known, in order to make the most of the power of the RISC processor, it is written in a so-called high-level language such as C. An optimizing compiler for converting the created program into an assembler program having the above-mentioned character is essential.

【0009】上述のような処理をソフトウェアによって
行う交換装置では、レジスタを用いて各機能間のインタ
フェースを取ることで高速性を得ることが考えられる。
しかしながら、一般的なCのコンパイラは、プロセッサ
のアーキテクチャからプログラムを独立させるため、明
示的にレジスタを指定する方法を持っていない。即ち、
上述の交換装置の場合、その開発者がアセンブラでプロ
グラムを記述する必要が生じ、開発効率が悪くなってし
まう、という問題点がある。
In a switching device which performs the above-mentioned processing by software, it is possible to obtain high speed by using a register as an interface between the functions.
However, a general C compiler does not have a method of explicitly specifying registers in order to make the program independent of the processor architecture. That is,
In the case of the above-mentioned exchange device, there is a problem that the developer needs to write a program in the assembler, which deteriorates the development efficiency.

【0010】さらにまた、現状のフレーム構造、セル構
造は、32bit幅、64bit幅といった近年の高機
能マイクロプロセッサのデータ幅を意識して作られてい
ない。上述の特許にて開示された交換装置では、ATM
セルの交換処理では32bit幅、64bit幅を意識
した内部セル構造を取ることにしていたが、物理レイヤ
の処理、フレーム同期処理やセル同期処理での内部デー
タ構造については現状のものを踏襲していた。この結果
として、フレーム同期処理やセル同期処理を行う場合
に、メインメモリからレジスタへの、フレームやセルの
コピーの効率が悪化する、という問題点もあった。
Furthermore, the current frame structure and cell structure are not made in consideration of the data width of recent high-performance microprocessors such as 32 bit width and 64 bit width. In the switching device disclosed in the above patent, the ATM
In the cell exchange process, the internal cell structure was designed with 32 bit width and 64 bit width taken into consideration, but the internal data structure in the physical layer process, the frame synchronization process and the cell synchronization process follows the current one. It was As a result, there is also a problem that the efficiency of copying frames or cells from the main memory to the register is deteriorated when performing frame synchronization processing or cell synchronization processing.

【0011】[0011]

【発明が解決しようとする課題】以上説明したように、
処理をソフトウェアによって行う交換装置では、レジス
タを用いて高速性を得ることとしていたので、C等の高
級言語での記述性、またプロセッサアーキテクチャから
の独立性が低く、開発効率が悪い、という問題点があっ
た。さらにまた、処理をソフトウェアによって行う交換
装置では、フレーム構造、セル構造が32bitや64
bitといった近年の高性能プロセッサのデータ幅を意
識していない結果、メモリとレジスタの間のデータ転送
が非効率的である、という問題点があった。
As described above,
In a switching device that performs processing by software, high speed performance was achieved by using a register, so that the descriptiveness in a high-level language such as C and the independence from the processor architecture were low, and the development efficiency was poor. was there. Furthermore, in a switching device that performs processing by software, the frame structure and the cell structure are 32 bits or 64 bits.
As a result of not being aware of the data width of recent high-performance processors such as bit, there is a problem that the data transfer between the memory and the register is inefficient.

【0012】本発明は、上記課題に鑑みてなされたもの
であり、処理をソフトウェアによって行う交換装置にお
いて、C言語等によるプログラミングムが容易である交
換装置、メモリとCUP内レジスタ間でのデータ転送が
効率的である交換装置を提供することを目的とする。
The present invention has been made in view of the above-mentioned problems, and in an exchange device which performs processing by software, data exchange between a exchange device and a memory and a register in a CUP in which programming in C language is easy. It is an object of the present invention to provide a switching device that is efficient.

【0013】[0013]

【課題を解決するための手段】本発明では、交換装置に
おいて、ソフトウェア処理による機能(特に物理レイヤ
処理機能)を、プロセッサのデータ幅に合わせた形で実
施することによって実現される。
According to the present invention, in a switching device, a function by software processing (particularly a physical layer processing function) is implemented in a form matched with a data width of a processor.

【0014】すなわち、本発明は、複数の受信ライン夫
々から入力されるATMセルを該情報に付加された宛先
情報に基づいて複数の送信ラインのいずれかに出力する
交換処理を行うとともに、該交換処理の少なくとも一部
の処理をプロセッサに所定のプログラムを実行させるこ
とによって行う交換装置において、前記交換処理のうち
プロセッサを利用して実行する処理における前記情報の
処理可能なデータ単位を、前記プロセッサの処理可能な
データ幅に設定したことを特徴とする。
That is, the present invention performs an exchange process of outputting an ATM cell input from each of a plurality of reception lines to any of a plurality of transmission lines based on the destination information added to the information, and the exchange processing. In a switching device that performs at least a part of the processing by causing a processor to execute a predetermined program, a data unit that can process the information in the processing that is executed by using the processor in the switching processing is It is characterized in that the data width that can be processed is set.

【0015】好ましくは、前記交換処理のうちプロセッ
サを利用して実行する処理は、ビット同期処理、フレー
ム作成処理、セル同期処理、HEC作成処理、スクラン
ブル処理またはデスクランブルの少なくとも一つの処理
を含むことを特徴とする。
Preferably, the processing executed by using the processor in the exchange processing includes at least one of bit synchronization processing, frame creation processing, cell synchronization processing, HEC creation processing, scramble processing and descrambling. Is characterized by.

【0016】また、本発明は、複数の受信ライン夫々か
ら入力されるATMセルを該情報に付加された宛先情報
に基づいて複数の送信ラインのいずれかに出力する交換
処理を行うとともに、該交換処理の少なくとも一部の処
理をプロセッサに所定のプログラムを実行させることに
よって行う交換装置において、前記受信ラインからのA
TMセルを構成するシリアル・データをプロセッサの処
理可能なデータ幅を有するパラレル・データに変換して
出力する、前記受信ライン夫々に設けられた第1のデー
タ幅変換手段と、前記データ幅変換手段夫々に設けら
れ、該データ幅変換手段から前記パラレル・データを入
力し、プロセッサに所定のプログラムを実行させること
によって、該パラレル・データに対し受信側物理レイヤ
処理および受信側ATMレイヤ処理を施す第1の処理手
段と、前記第1の処理手段夫々からの情報を交換処理し
て複数の出力端のいずれかに出力するスイッチ手段と、
前記出力端夫々に設けられ、前記プロセッサまたは別に
設けたプロセッサに所定のプログラムを実行させること
によって、前記スイッチ手段からの情報に対し、送信側
物理レイヤ処理および送信側ATMレイヤ処理を施す第
2の処理手段と、前記第2の処理手段夫々に設けられ、
該第2の手段からの情報を、シリアル・データに変換し
て、収容している前記送信ラインに出力する第2のデー
タ幅変換手段とを備えたことを特徴とする。
Further, the present invention performs an exchange process of outputting an ATM cell input from each of a plurality of reception lines to any one of a plurality of transmission lines based on destination information added to the information, and the exchange processing. In a switching device for performing at least a part of processing by causing a processor to execute a predetermined program, A from the receiving line
First data width conversion means provided in each of the reception lines and converting the serial data forming the TM cell into parallel data having a data width that can be processed by the processor, and the data width conversion means A first processing unit for receiving the parallel data from the data width converting means, and causing the processor to execute a predetermined program to perform the physical layer processing on the receiving side and the ATM layer processing on the receiving side for the parallel data; A first processing means, and a switch means for exchanging information from the first processing means and outputting the information to any one of a plurality of output terminals.
A second physical layer processing and a transmission ATM layer processing for the information from the switching means by causing the processor or a processor provided separately at each of the output terminals to execute a predetermined program. A processing means and the second processing means, respectively.
And a second data width conversion means for converting the information from the second means into serial data and outputting the serial data to the accommodated transmission line.

【0017】好ましくは、前記第1のデータ幅変換手段
夫々は、与えられたシリアル・データからクロック信号
を抽出するクロック抽出手段と、この抽出されたクロッ
ク信号に従い前記シリアル・データをパラレル・データ
に変換して出力するシリアル−パラレル変換手段とから
なることを特徴とする。
Preferably, each of the first data width conversion means is a clock extraction means for extracting a clock signal from given serial data, and the serial data is converted into parallel data according to the extracted clock signal. It is characterized by comprising serial-parallel conversion means for converting and outputting.

【0018】また、好ましくは、前記第2のデータ幅変
換手段夫々は、パラレル・データの有効ビット幅を示す
情報を生成する手段と、この情報に基づき前記パラレル
・データをシリアル・データに変換して出力するパラレ
ル−シリアル変換手段とからなることを特徴とする。
Further, preferably, each of the second data width conversion means is means for generating information indicating an effective bit width of parallel data, and based on this information, the parallel data is converted into serial data. It is characterized in that it comprises a parallel-serial conversion means for outputting the same.

【0019】一方、本発明では、複数の物理レイヤ処理
機能および複数のATMレイヤ処理機能の機能プロセス
間で、共通メモリの使用権を排他的に制御管理すること
によって実現される。
On the other hand, the present invention is realized by exclusively controlling and managing the right of use of the common memory between the functional processes of the plurality of physical layer processing functions and the plurality of ATM layer processing functions.

【0020】すなわち、本発明は、複数の受信ライン夫
々から入力されるATMセルを該情報に付加された宛先
情報に基づいて複数の送信ラインのいずれかに出力する
交換処理を行うとともに、該交換処理は複数の処理から
構成され、該複数の処理のうちの少なくとも2以上の処
理をプロセッサに所定のプログラムを実行させることに
より行う交換装置において、前記2以上の処理夫々を実
行する際に処理の対象とする共通の情報を格納するため
の共通情報記憶手段と、前記2以上の処理夫々に対して
前記共通情報記憶手段にアクセスするための使用権を択
一的に与える制御を行うアクセス制御手段を備えたこと
を特徴とする。
That is, the present invention performs an exchange process for outputting an ATM cell input from each of a plurality of reception lines to any one of a plurality of transmission lines based on the destination information added to the information, and the exchange processing. The processing is composed of a plurality of processings, and in a switching device that performs at least two or more processings of the plurality of processings by causing a processor to execute a predetermined program, the processings are performed when the respective two or more processings are executed. Common information storage means for storing target common information, and access control means for performing control to selectively give a usage right for accessing the common information storage means to each of the two or more processes. It is characterized by having.

【0021】また、本発明は、複数の受信ライン夫々か
ら入力されるATMセルを該情報に付加された宛先情報
に基づいて複数の送信ラインのいずれかに出力する交換
処理を行うとともに、該交換処理は複数の処理から構成
され、該複数の処理のうちの少なくとも2以上の処理を
プロセッサに所定のプログラムを実行させることにより
行う交換装置において、前記プロセッサを利用して前記
物理レイヤ処理を実行する物理レイヤ処理手段と、前記
物理レイヤ処理手段が利用するプロセッサと同一のプロ
セッサまたは別に設けたプロセッサを利用して前記AT
Mレイヤ処理を実行するATMレイヤ処理手段と、前記
物理レイヤ処理手段および前記ATMレイヤ処理手段が
共に処理の対象とする共通の情報を格納するための共通
情報記憶手段と、前記物理レイヤ処理手段および前記A
TMレイヤ処理手段に対して前記共通情報記憶手段にア
クセスするための使用権を択一的に与える制御を行うア
クセス制御手段とを備えたことを特徴とする。
Further, the present invention performs an exchange process for outputting an ATM cell input from each of a plurality of reception lines to any one of a plurality of transmission lines based on destination information added to the information, and the exchange processing. A process is composed of a plurality of processes, and in a switching device that performs at least two or more processes of the plurality of processes by causing a processor to execute a predetermined program, the processor executes the physical layer process. The AT using the physical layer processing means and the same processor as the processor used by the physical layer processing means or a processor provided separately.
ATM layer processing means for executing M layer processing, common information storage means for storing common information to be processed by both the physical layer processing means and the ATM layer processing means, the physical layer processing means, and The A
Access control means for controlling the TM layer processing means to selectively give a use right for accessing the common information storage means.

【0022】また、好ましくは、前記アクセス制御手段
は、前記情報が格納されている前記共通情報記憶手段中
の位置を示すポインタを与えることにより前記使用権を
与えることを特徴とする。
Further, preferably, the access control means gives the use right by giving a pointer indicating a position in the common information storage means in which the information is stored.

【0023】[0023]

【作用】本発明においては、これまでの交換機能に必要
な種々の処理(特に物理レイヤ処理)を従来のハードウ
ェアによる処理単位であるビット単位、あるいは多くて
もバイト単位で処理するような考え方では、ソフトウェ
ア処理効率があまり上がらなかった。すなわち、ソフト
ウェア処理による交換装置において使用を想定している
高性能プロセッサは通常、32ビットあるいは64ビッ
トといったデータ幅を持っており、それに対して物理レ
イヤの処理をバイト単位にして処理していたためであ
る。
According to the present invention, various processings (especially physical layer processings) required for the exchange function up to now are processed in bit units, which are processing units by conventional hardware, or in byte units at most. Then, the software processing efficiency did not increase so much. That is, a high-performance processor that is supposed to be used in a switching device by software processing usually has a data width of 32 bits or 64 bits, whereas the physical layer processing is performed in byte units. is there.

【0024】ソフトウェア処理においては、メモリから
データを読みだしてレジスタに書き込むといった処理の
ための時間が全体の処理効率の大部分を占めるため、本
発明のようにデータ処理幅をプロセッサのデータ幅にう
まく合うようにプログラミングを考えることによって、
物理レイヤのソフトウェア処理効率が飛躍的によくな
る。
In software processing, the time for processing such as reading data from a memory and writing it in a register occupies most of the overall processing efficiency. Therefore, the data processing width is set to the data width of the processor as in the present invention. By thinking about programming so that it fits well,
The software processing efficiency of the physical layer is dramatically improved.

【0025】例えば、セルのヘッダを計算する処理は、
ハードウェアにおいては、例えばビット単位あるいはバ
イト単位にヘッダを取り込んで、わり算を実施し、その
結果の1バイトを蓄える、といった処理を繰り返す。繰
り返す回数はビット単位の場合は40回、バイト単位の
場合でも5回である。この処理をそのままソフトウェア
で実現すると、バイト単位で処理したとしても、メモリ
からデータを読み出す回数が5回、結果を格納するのに
やはり5回かかり、そのための処理量は、ともすれば全
体の処理量の半分以上を占めてしまう。しかし、これを
32ビットのプロセッサで処理し、しかも1回に32ビ
ット分のデータを読み出すことにして、それに合わせた
処理プログラムを作成すれば、読みだし回数が2回にま
で減らせる。64ビットプロセッサならば、1回の読み
だしで計算結果を作成するところまでの処理が、それに
合わせたプログラムを用いることによって可能である。
For example, the process of calculating the cell header is
In hardware, for example, a header is fetched in bit units or byte units, division is performed, and 1 byte of the result is stored, and the like processing is repeated. The number of repetitions is 40 in the bit unit and 5 in the byte unit. If this process is implemented by software as it is, even if it is processed in byte units, it takes 5 times to read the data from the memory and 5 times to store the result. It occupies more than half of the amount. However, if this is processed by a 32-bit processor and data of 32 bits is read at one time and a processing program is created in accordance with it, the number of times of reading can be reduced to two. With a 64-bit processor, the processing up to the point where the calculation result is created by one reading is possible by using a program suitable for it.

【0026】このように、交換機能に必要な種々の処理
の少なくとも一部(特に、物理レイヤ処理)がプロセッ
サのデータ幅に一致されると、処理効率が上がるという
利点を有する。
As described above, when at least a part of various processes (especially physical layer process) necessary for the exchange function is matched with the data width of the processor, there is an advantage that the processing efficiency is improved.

【0027】また、本発明においては、1つの交換処理
を行うためには複数のソフトウェアプログラムが同時に
動いている場合に、これらの複数プログラムにおいて、
同じメモリを共有する。
Further, according to the present invention, when a plurality of software programs are simultaneously operating in order to perform one exchange process, the plurality of software programs are:
Share the same memory.

【0028】このうち、例えばセルデータは、処理プロ
グラム毎に別々のメモリあるいはメモリ領域を持つよう
なことをすると、それを転送するための無駄な処理のた
めに効率が悪くなる。従って同じメモリ上に置かれたも
のを使うことになるが、このときにもし複数のプログラ
ムの処理が同時に行われるような状態があるならば、そ
れらの処理の間でデータの取り合いがあり、そのために
パイプライン処理の乱れが発生して、処理速度が遅くな
る原因となる。
Of these, for example, if the cell data has a separate memory or memory area for each processing program, the efficiency becomes poor due to useless processing for transferring it. Therefore, it is necessary to use the one placed in the same memory, but if there is a state where multiple programs are processed at the same time, there is a data conflict between those processes, so Disturbance of pipeline processing occurs in the above, which causes a decrease in processing speed.

【0029】そこで、本発明のように、例えばポインタ
を用いて、各プログラムの間で処理できるセル、あるい
はそれ以外のデータを1つのプログラムが占有できるよ
うにすることによって、処理のパイプライン化が図ら
れ、処理効率が上がる。
Therefore, as in the present invention, for example, by using a pointer, one program can occupy cells that can be processed between programs or other data, so that the processing can be pipelined. The processing efficiency is improved.

【0030】例えば、受信側通話路処理において物理レ
イヤとATMレイヤとでは同じメモリを共有する場合が
一般的である。そしてメモリに書かれたセルデータにつ
いて、物理レイヤにおいてはセルヘッダが正しいかどう
かを確認するための処理があり、一方、ATMレイヤに
おいてはそのヘッダからスイッチング用のテーブルを参
照したりするような処理がある。このように物理レイヤ
プログラムとATMレイヤプログラムが独立して存在す
るときには、同じセルヘッダ部分に同時にアクセスする
可能性がある。これを防止するためにポインタを用い、
この例では受信側なので、先に物理レイヤプログラムに
対してアクセス権を与え、まずはセルデータをその領域
に書き込んで、その書き込まれた部分のセルに対して物
理レイヤの処理を行う。そして物理レイヤ処理が終わっ
た時点で、ATMレイヤにそのアクセス権のポインタを
渡す、といった処理を行う。ATMレイヤが処理を終え
ると、また物理レイヤに戻って、そこに新たなセルが書
き込めるようになる。
For example, it is general that the same memory is shared by the physical layer and the ATM layer in the processing of the communication path on the receiving side. Regarding the cell data written in the memory, the physical layer has a process for confirming whether the cell header is correct, while the ATM layer has a process for referring to the switching table from the header. is there. When the physical layer program and the ATM layer program exist independently as described above, the same cell header portion may be accessed at the same time. Use a pointer to prevent this,
In this example, since it is the receiving side, the access right is given to the physical layer program first, cell data is first written in the area, and the physical layer processing is performed on the cell of the written portion. Then, when the physical layer processing is completed, a processing of passing the pointer of the access right to the ATM layer is performed. When the ATM layer finishes processing, it returns to the physical layer and a new cell can be written therein.

【0031】以上のようなATMレイヤ処理と物理レイ
ヤ処理の場合に限らず、構成によっては、例えば複数の
ATMレイヤ処理等の間でメモリを共有することがあり
得る。このような際に、ポインタを用いてメモリのアク
セス権を排他的に制御することによって、メモリの競合
が発生せず、プログラム実行上での排他制御によるパイ
プライン処理の乱れもなく、従ってC言語のような高位
言語によるプログラムによっても、効率的な交換処理を
実行することができる。
Not limited to the case of the ATM layer processing and the physical layer processing as described above, depending on the configuration, for example, a memory may be shared among a plurality of ATM layer processings. In such a case, by exclusively controlling the access right to the memory by using the pointer, memory conflict does not occur, and the pipeline processing is not disturbed by the exclusive control on the program execution. Even a program in a high level language such as can execute the exchange process efficiently.

【0032】[0032]

【実施例】以下、図面を参照しながら本発明の実施例を
説明する。本実施例の交換装置は、図1のように、受信
側入力部1a、受信側物理レイヤ処理部2、受信側AT
Mレイヤ処理部3、受信側出力部1bからなる受信側イ
ンタフェース部と、送信側入力部7a、送信側ATMレ
イヤ処理部5、送信側物理レイヤ処理部6、送信側出力
部7bからなる送信側インタフェース部とを、それぞれ
スイッチ部4の入力側と出力側に複数接続して構成され
ている。
Embodiments of the present invention will be described below with reference to the drawings. As shown in FIG. 1, the exchange apparatus of this embodiment includes a receiving side input section 1a, a receiving side physical layer processing section 2, and a receiving side AT.
A receiving side interface section including an M layer processing section 3 and a receiving side output section 1b, and a transmitting side including a transmitting side input section 7a, a transmitting side ATM layer processing section 5, a transmitting side physical layer processing section 6, and a transmitting side output section 7b. A plurality of interface units are connected to the input side and the output side of the switch unit 4, respectively.

【0033】また、本交換装置は、図2のようにプロセ
ッサ(以下、CPUと略記する)11を備えており、予
めプログラム記憶部13上に容易しておいた上記各処理
部の後述するような各機能に対応したプログラム14を
CPU11にて実行させるものである。外部から入力さ
れた通信情報や交換処理に必要な情報は、必要に応じて
図2のメインメモリ12およびキャッシュメモリ16に
格納され、プログラムによって提供される各機能(プロ
セス)は、このメインメモリ12およびキャッシュメモ
リ16や図示しない送受信FIFOにアクセスしつつ処
理を実行する。プログラムは、その実行前に予めプログ
ラム記憶部13からメインメモリ12にロードされる。
As shown in FIG. 2, the exchange apparatus is provided with a processor (hereinafter abbreviated as CPU) 11, and each of the above-mentioned processing units which are easily stored in the program storage unit 13 in advance will be described later. The CPU 11 executes the program 14 corresponding to each function. Communication information input from the outside and information necessary for exchange processing are stored in the main memory 12 and the cache memory 16 of FIG. 2 as needed, and each function (process) provided by the program is stored in the main memory 12. Also, the processing is executed while accessing the cache memory 16 and the transmission / reception FIFO (not shown). The program is loaded from the program storage unit 13 into the main memory 12 in advance before its execution.

【0034】受信側入力部1a、受信側出力部1b、送
信側入力部7a、送信側出力部7bはハードウェアで実
現することを想定し、その他の各処理部によって実行さ
れる各々の処理は、ソフトウェアで実現することを想定
しているが、各処理ごとに必要に応じてハードウェアで
実現することも可能である。
The receiving side input unit 1a, the receiving side output unit 1b, the transmitting side input unit 7a, and the transmitting side output unit 7b are assumed to be realized by hardware, and the respective processes executed by the other processing units are Although it is supposed to be realized by software, it may be realized by hardware as necessary for each process.

【0035】本実施例では、スイッチ部4として、一定
の時間サイクルでセルデータを読み込むハードウェア的
に構成されたスイッチを想定する。以下、このスイッチ
部4をATMスイッチ4と記述して説明する。ただし、
ATMスイッチの代わりに、スイッチ処理をも後述する
受信側通話路プロセスと一体の処理としてソフトウェア
にて実現する方式を採用することも可能である。
In the present embodiment, it is assumed that the switch section 4 is a hardware-configured switch that reads cell data in a fixed time cycle. Hereinafter, this switch section 4 will be described as an ATM switch 4. However,
Instead of the ATM switch, it is also possible to adopt a method in which the switch process is also realized by software as a process integrated with the receiving side communication channel process described later.

【0036】最初に図3を参照しながら、本実施例の交
換装置において、受信されたデータが送信されるまでに
どのような処理がなされるのかを流れに沿っておおまか
に説明する。
First, with reference to FIG. 3, what kind of processing is performed by the exchange apparatus of this embodiment until the received data is transmitted will be roughly described along the flow.

【0037】図3は、本実施例の交換装置における各受
信側インタフェース部および各送信側インタフェース部
での処理の流れを示した図である。本交換装置にて実行
される処理は、通話路プロセス101とOAM(Ope
ration And Maintenance)プロ
セス102から構成される。
FIG. 3 is a diagram showing a flow of processing in each receiving side interface section and each transmitting side interface section in the exchange apparatus of this embodiment. The processing executed by this exchange is the communication path process 101 and the OAM (Ope).
(Ration And Maintenance) process 102.

【0038】通話路プロセス101は、さらに2つのプ
ロセスから構成される。すなわち、受信側ラインからの
データを受信側入力部1aを介して受信し、これに対し
て物理レイヤ処理とATMレイヤ処理を順に行い、受信
側出力部1bを介してATMスイッチ4に向けて出力す
る受信側通話路プロセスと、ATMスイッチ4からのデ
ータを送信側入力部7aを介して受け取り、これに対し
てATMレイヤ処理と物理レイヤ処理を順に行い、送信
側出力部7bを介し送信側ラインへ向けて出力する送信
側通話路プロセスである。
The call path process 101 is further composed of two processes. That is, data from the receiving side line is received via the receiving side input section 1a, physical layer processing and ATM layer processing are sequentially performed on this, and output to the ATM switch 4 via the receiving side output section 1b. And the data from the ATM switch 4 is received via the input unit 7a on the transmission side, and ATM layer processing and physical layer processing are sequentially performed on the process and the line on the transmission side is output via the output unit 7b on the transmission side. It is a transmission side channel process output to.

【0039】受信側通話路プロセスの処理の概略は以下
の通りである。受信側入力部1aにて、受信された信号
から、網クロックが抽出されるとともにビット同期がと
られて信号はビット表現のデータ列に変換される。ここ
までの処理は、ソフトウェアではなく、ハードウェアで
の実現が想定される。
The outline of the processing of the reception side channel process is as follows. At the receiving side input section 1a, a network clock is extracted from the received signal, bit synchronization is performed, and the signal is converted into a data string in bit representation. It is assumed that the processing up to this point is realized by hardware rather than software.

【0040】このビット列からラインデコーディング1
21、フレーム同期122、セル同期123、セルペイ
ロード部分のデスクランブル124といった物理レイヤ
処理を受けてATMセルが抽出される。その後、ATM
レイヤ処理としてヘッダ変換125、スイッチ内ルーテ
ィング用のルーティングタグ付加126、流量監視(ポ
リシング)127の処理が行われ、受信側出力部1bを
介しATMセルスイッチ4にセルが送出される。
Line decoding 1 from this bit string
An ATM cell is extracted by receiving physical layer processing such as 21, frame synchronization 122, cell synchronization 123, and descrambling 124 of the cell payload portion. Then ATM
As layer processing, header conversion 125, routing tag addition 126 for intra-switch routing, and flow rate monitoring (policing) 127 are performed, and cells are sent to the ATM cell switch 4 via the reception side output unit 1b.

【0041】一方、送信側通話路プロセスの処理の概略
は以下の通りである。送信側では、ATMスイッチ4で
交換処理されたセルは、送信側入力部7aを介し送信側
通話路プロセスへと渡される。このセルデータには、A
TMレイヤ処理として流量監視(シェイピング)13
7、ルーティングタグ削除136、ヘッダ変換135が
行われる。さらに、物理レイヤ処理として、このデータ
にセルペイロード部分のスクランブル134、セルヘッ
ダのHEC(Header Error Contro
l)フィールド生成133、フレームの作成132、ラ
インエンコーディング131が行われ、送信側出力部7
bを介して送信側ラインへビットデータが送出される。
On the other hand, the outline of the processing of the transmission side call path process is as follows. On the transmission side, the cells exchange-processed by the ATM switch 4 are passed to the transmission side speech path process via the transmission side input unit 7a. This cell data contains A
Flow rate monitoring (shaping) 13 as TM layer processing
7. Routing tag deletion 136 and header conversion 135 are performed. Further, as physical layer processing, scrambling 134 of the cell payload portion and HEC (Header Error Control) of the cell header are added to this data.
l) Field generation 133, frame creation 132, and line encoding 131 are performed, and the transmission side output unit 7
Bit data is sent to the transmission side line via b.

【0042】次に、OAMプロセスの処理について述べ
る。送受信ラインと本交換装置との間で入出力されるデ
ータには、ユーザデータの他にOAMデータがある。上
記各通話路プロセスではユーザデータを扱うが、OAM
データについてはOAMデータ専用のプロセスが用意さ
れている。
Next, the processing of the OAM process will be described. The data input / output between the transmission / reception line and this switching apparatus includes OAM data in addition to user data. User data is handled in each of the above call path processes, but OAM
For data, a dedicated process for OAM data is prepared.

【0043】OAMデータは、伝送フレーム上のOH
(オーバヘッド)部分のバイトを使って送られてくる物
理レイヤのOAM情報と、フレームのペイロードの中で
OAMセルの形で送られてくるATMレイヤのOAM情
報に分けられる。物理レイヤのOAM情報は、交換装置
内で検出される異常等の物理レイヤ/ATMレイヤのO
AM情報とともに、そのまま、あるいは加算等の統計的
な処理を行った後に、監視制御インタフェース114を
通してOAMデータを処理する別のプロセス(以下、こ
れをOAMプロセスと呼ぶ)に渡される。一方、OAM
セルには、一般的に性能管理用、フォールト管理用、活
性化/非活性化用、ループバック用が定義されており、
ヘッダに書かれている値によって、その交換装置で終端
すべきセルかどうかが判断できる。従って、ATMレイ
ヤのOAMセル分岐挿入部113においてセルヘッダの
値をみて、分岐すべきOAMセルである場合には、それ
をOAMプロセスの監視制御処理部141に渡す。ま
た、分岐すべきでないOAMセルについては、通常のユ
ーザデータと同様に交換装置を通過させる。
The OAM data is OH on the transmission frame.
It is divided into physical layer OAM information transmitted using bytes in the (overhead) portion and ATM layer OAM information transmitted in the form of OAM cells in the frame payload. The OAM information of the physical layer is the O of the physical layer / ATM layer such as abnormality detected in the switching device.
The AM information is passed to another process (hereinafter referred to as an OAM process) that processes the OAM data through the supervisory control interface 114 as it is or after performing statistical processing such as addition. On the other hand, OAM
In general, cells are defined for performance management, fault management, activation / deactivation, and loopback.
From the value written in the header, it can be determined whether or not the cell should be terminated in the switching device. Therefore, the OAM cell dropping / inserting unit 113 of the ATM layer looks at the value of the cell header, and if it is an OAM cell to be dropped, it is passed to the supervisory control processing unit 141 of the OAM process. In addition, OAM cells that should not be branched are passed through the switching device in the same manner as normal user data.

【0044】OAMセルはペイロード部分を見て詳細な
情報を解析する必要があり、通常は通話路処理では、そ
こまで複雑な動作を行わない。セルペイロードはそのま
ま渡され、OAMプロセス内の監視制御処理141にお
いて詳細に処理が行われる。また、コネクション状態の
変更によるルーティングタグテーブルの更新や通話路処
理で発生する統計情報の外部への通知などの処理も、交
換装置には必要である。これらの処理もOAMプロセス
によって行われる。すなわち、OAMプロセスがルーテ
ィングタグの設定を行い、通話路プロセスはそれを見
て、セルヘッダ変換を行う。また、OAMセルから出さ
れるデータは、物理レイヤのものはフレームのOH部分
に、またATMレイヤのものはOAMセルの形で伝送フ
レームの中に組み込んで、外部に送出する。
It is necessary for the OAM cell to analyze the detailed information by looking at the payload portion, and normally, the communication path processing does not perform such a complicated operation. The cell payload is passed as it is, and detailed processing is performed in the supervisory control processing 141 in the OAM process. In addition, the switching device is also required to perform processing such as updating the routing tag table by changing the connection state and notifying the statistical information generated in the communication path processing to the outside. These processes are also performed by the OAM process. That is, the OAM process sets the routing tag, and the speech path process looks at it and performs cell header conversion. The data output from the OAM cell is incorporated in the transmission frame in the OH portion of the frame for the physical layer and in the form of the OAM cell for the ATM layer and transmitted to the outside.

【0045】なお、メッセージ送出部142およびメッ
セージ受信部143は、さらに上位の機能と通信するた
めのインタフェース機能を持った部分である。ここで、
CPUと受信側入力部1aのFIFO、送信側出力部7
bのFIFOとのデータの流れを示した大まかなハード
ウェア構成の一例を図4に示す。
The message sending unit 142 and the message receiving unit 143 are parts having an interface function for communicating with higher-level functions. here,
FIFO of CPU and receiving side input section 1a, transmitting side output section 7
FIG. 4 shows an example of a rough hardware configuration showing a data flow with the FIFO of b.

【0046】受信側FIFO2701では、受信したシ
リアル・データを、CPU2703のデータ幅であるn
ビット単位で出力する。CPU2703では、受信側F
IFO2701からnビット幅のデータを読み込み、該
データに所定の処理を施す。
In the reception side FIFO 2701, the received serial data is transferred to the CPU 2703 having a data width n.
Output in bit units. In the CPU 2703, the receiving side F
Data having an n-bit width is read from the IFO 2701, and the data is subjected to predetermined processing.

【0047】一方、送信側の出力処理において、送信側
FIFO2702では、CPU2703の出力するnビ
ット幅のデータをシリアル・データに変換して出力す
る。このように、各FIFO2701,2702とCP
U2703との間でやりとりされるデータの幅を、CP
U2703が一度に読み書きできるデータ幅nに等しく
なるように構成することにより、以下で示されるよう
に、CPU2703における物理レイヤ処理が、従来の
ハードウェアにおいて実施されていたシリアルあるいは
8ビットパラレルの場合よりも効率的になる。
On the other hand, in the output processing on the transmission side, the transmission-side FIFO 2702 converts the n-bit wide data output by the CPU 2703 into serial data and outputs the serial data. In this way, each FIFO 2701, 2702 and CP
The width of the data exchanged with U2703 is set to CP
By configuring the U2703 to be equal to the data width n that can be read and written at one time, as shown below, the physical layer processing in the CPU 2703 is more efficient than the case of serial or 8-bit parallel that was implemented in conventional hardware. Will also be efficient.

【0048】なお、図2や図4において、CPU全体が
送受信で共有されるように書かれているが、これはあく
まで一例であり、送受信ごとにCPUを設けるなど、種
々の構成が考えられる。
2 and 4, it is written that the entire CPU is shared for transmission and reception, but this is merely an example, and various configurations such as providing a CPU for each transmission and reception are conceivable.

【0049】次に、ITU−TS勧告I.432による
セルをITU−TS勧告G.804に従ってTTC標準
JT−G.703−aのフレームにマッピングしたデー
タに対するこれら通話路プロセスの処理を行うための各
プログラムの説明を、受信側通話路プロセスと送信側通
話路プロセスに分けて詳細に行う。なお、各プログラム
はCなどの高級言語により記述するのが好ましい。
Next, ITU-TS Recommendation I. The cell according to ITU-TS Recommendation G.432 is used. 804 according to TTC standard JT-G. Each program for processing these speech path processes for the data mapped to the frame 703-a will be described in detail separately for the reception side speech path process and the transmission side speech path process. Note that each program is preferably written in a high-level language such as C.

【0050】まず、受信側通話路プロセスを構成する各
サブルーチンとそれらの詳細について説明する。 (サブルーチン切り分けについて)ソフトウェアでデー
タに対して複数の処理をしていく際には、それらの処理
を同時に行うことはできないので、データを適当な大き
さに分け、その1つに対して複数の処理を順次行ってい
き、一連の処理が終わると次のデータに対して再びそれ
らの処理を行うという方法が考えられる。以下、あるデ
ータの固まりに対して順次行う各サブルーチンの流れ
と、その時のデータとポインタや有効セル等の情報の流
れを図4に従って説明する。なお、図5で太い矢印はデ
ータの流れを、Pと記された細い矢印はポインタの流れ
を示すものとする。
First, the respective subroutines constituting the reception side speech path process and their details will be described. (Regarding sub-routine division) When performing multiple processes on data with software, it is not possible to perform those processes at the same time, so divide the data into appropriate sizes and assign multiple data to one. A method is considered in which the processes are sequentially performed, and when the series of processes is completed, the processes are performed again on the next data. The flow of each subroutine that is sequentially performed on a certain data block and the flow of data at that time and information such as pointers and valid cells will be described below with reference to FIG. In FIG. 5, thick arrows indicate the flow of data, and thin arrows marked P indicate the flow of pointers.

【0051】まず、受信側入力部1aにおいて、ビット
表現のデータ列に変換され受信側入力FIFO(図示せ
ず)に蓄積された受信データは、受信データ入力サブル
ーチン203によってある決められた量の固まりにして
CPU11内部のメモリ上のフレームデータ収容バッフ
ァ209に書き込まれる。このサブルーチン203は、
データをメモリ上のどの位置に書き込んだかを示すポイ
ンタを、次のサブルーチンであるフレーム同期サブルー
チン204に渡す。
First, in the reception side input section 1a, the reception data converted into a data string of bit representation and accumulated in the reception side input FIFO (not shown) is a fixed amount of data set by the reception data input subroutine 203. Then, it is written in the frame data accommodating buffer 209 on the memory inside the CPU 11. This subroutine 203 is
A pointer indicating where in the memory the data has been written is passed to the next frame synchronization subroutine 204.

【0052】データ入力サブルーチン203から受け取
ったフレーム同期サブルーチン204は、フレームデー
タ収容バッファ209上のデータの必要な部分だけを読
み込んで処理を行う。つまり、フレーム同期が全く取れ
ていない状態ではデータの先頭から順に全てのデータを
読み込んで検査をして行き、フレーム同期が確立してか
らはフレーム同期ビットの部分だけを読み込んでその確
認を行う。フレーム同期によって得られたフレーム同期
ビットの位置情報などは、次のサブルーチンであるセル
同期サブルーチン205に渡される。
The frame synchronization subroutine 204 received from the data input subroutine 203 reads and processes only the necessary portion of the data in the frame data accommodation buffer 209. That is, in the state where the frame synchronization is not obtained at all, all the data are sequentially read from the beginning of the data and inspected, and after the frame synchronization is established, only the frame synchronization bit portion is read and the confirmation is performed. The position information of the frame synchronization bit obtained by the frame synchronization is passed to the next cell synchronization subroutine 205.

【0053】セル同期サブルーチン205は、フレーム
同期サブルーチン204から受け取った情報をもとに、
やはりフレームデータ収容バッファ209上のデータの
必要な部分だけを読み込んでセル同期などの手続きを行
う。つまり、セル同期が取れていない時はデータ中のセ
ルデータの部分を先頭から順に全て読み込んでセルのヘ
ッダを検索し、セル同期が確立してからはセルのヘッダ
部分のみを読み込んでその誤りの検出や訂正を行う。さ
らに、セル同期が確立してからは、読み込んだデータ
は、ヘッダの初めの4バイトを1ワードにまとめて、新
たにメモリ上のセルヘッダだけを集めたセルヘッダ収容
バッファ210に書き込まれる。
The cell synchronization subroutine 205, based on the information received from the frame synchronization subroutine 204,
Again, only the necessary portion of the data in the frame data accommodating buffer 209 is read and the procedure such as cell synchronization is performed. In other words, when the cell synchronization is not achieved, the cell data part in the data is read in order from the beginning to search the cell header, and after the cell synchronization is established, only the cell header part is read and the error Detect and correct. Further, after the cell synchronization is established, the read data is written in the cell header accommodating buffer 210 in which the first 4 bytes of the header are combined into one word and only the cell header on the memory is newly collected.

【0054】セル同期サブルーチン204の次には、デ
スクランブルとATMレイヤ処理の2つのサブルーチン
がある。デスクランブルサブルーチン206には、セル
同期サブルーチン204からフレームデータ収容バッフ
ァ209上のデータ内でのセルの個数と開始位置やその
有効無効などの情報が渡され、その情報に基づきフレー
ムデータ収容バッファ209上のセルのペイロード部分
を読み込む。読み込まれたデータにはデスクランブルを
行い、デスクランブル後のデータをセル毎にセルペイロ
ード収容バッファ212上に書き込む。
Following the cell synchronization subroutine 204 are two subroutines, descramble and ATM layer processing. Information such as the number of cells in the data in the frame data accommodating buffer 209, the start position, and their validity / invalidity is passed from the cell synchronization subroutine 204 to the descramble subroutine 206, and the descrambling subroutine 206 is stored in the frame data accommodating buffer 209 based on the information. Read the payload part of the cell. The read data is descrambled, and the descrambled data is written in the cell payload accommodating buffer 212 for each cell.

【0055】一方、ATMレイヤサブルーチン207に
は、ヘッダ収容バッファの位置と収容されているヘッダ
の個数の情報が渡され、その情報に基づきヘッダ収容バ
ッファ210上のセルヘッダを読み込む。読み込まれた
ヘッダにはポリシングやルーティングタグの付加、ヘッ
ダの書換等を行い、新たなヘッダをルーティングタグ付
きヘッダ収容バッファ211に書き込む。
On the other hand, the ATM layer subroutine 207 is provided with information on the position of the header accommodating buffer and the number of headers accommodated, and the cell header on the header accommodating buffer 210 is read based on this information. The read header is subjected to policing, routing tag addition, header rewriting, etc., and a new header is written in the header accommodating buffer 211 with a routing tag.

【0056】これらの2つのサブルーチン206,20
7から最後の受信データ出力のサブルーチン208にセ
ルペイロードの位置やルーティングタグ付きのヘッダの
位置が渡され、それをもとにデータ出力サブルーチン2
08では、セルデータを合成して出力をする。
These two subroutines 206, 20
The position of the cell payload or the position of the header with the routing tag is passed from 7 to the final reception data output subroutine 208, and based on this, the data output subroutine 2
At 08, the cell data is combined and output.

【0057】このようなサブルーチン構成を取ることに
よって、各サブルーチン間で無駄なデータの受け渡しを
しなくて済むようになり、CPUに大きな負荷のかかる
データのロードとストアの回数を減らすことができ高速
化を図ることができる。
By adopting such a subroutine structure, it is not necessary to transfer useless data between the respective subroutines, and it is possible to reduce the number of times data is loaded and stored, which imposes a heavy load on the CPU, and high speed is achieved. Can be realized.

【0058】また、このように各サブルーチンを分離独
立させて、データを他のメモリにおいて、ポインタ等を
受け渡す構成にしていることで、容易に各サブルーチン
をハードウェアによって置き換えることも可能となる。
例えばフレーム同期まではハードウェアによって行いそ
の後の処理をソフトウェアによって行う、またはデスク
ランブルまでの処理をハードウェアで行うなどの組み合
わせを比較的自由に選ぶことができるようになる。
Further, by making the respective sub-routines separate and independent so that data is transferred to a pointer or the like in another memory, each sub-routine can be easily replaced by hardware.
For example, it is possible to relatively freely select a combination such that hardware is used up to frame synchronization and subsequent processing is performed by software, or processing up to descrambling is performed by hardware.

【0059】次に、各手続き、サブルーチンについてさ
らに詳細に説明する。 (受信側入力部)図6は、受信側通話路データ入力部1
aを示す概略構成図である。
Next, each procedure and subroutine will be described in more detail. (Reception Side Input Section) FIG. 6 shows a reception side communication path data input section 1
It is a schematic block diagram which shows a.

【0060】まず、通話路から入力されたデータは、そ
のデータ自身からクロック抽出回路301にて抽出され
たクロックを用いて内部レジスタ(図示せず)に取り込
まれ、さらにシリアル−パラレル変換器302にてシリ
アル−パラレル変換をうけてから通話路入力FIFO3
03に格納される。
First, the data inputted from the speech path is taken into an internal register (not shown) by using the clock extracted from the data itself by the clock extracting circuit 301, and further into the serial-parallel converter 302. Communication path input FIFO3 after serial-parallel conversion
It is stored in 03.

【0061】通話路入力FIFO303にある程度の量
のデータが溜まると、FIFO303から信号が発せら
れ、それをうけてCPU304はデータ入力サブルーチ
ン(データをCPU304の内部メモリに取り込むサブ
ルーチン)を起動する。本実施例では、データ幅32ビ
ットのCPUの使用を想定しているので、データの1ワ
ードを32ビット幅で取り込むこととする。
When a certain amount of data is accumulated in the speech path input FIFO 303, a signal is issued from the FIFO 303, and in response to this, the CPU 304 activates a data input subroutine (a subroutine for fetching data into the internal memory of the CPU 304). In the present embodiment, since it is assumed that a CPU with a data width of 32 bits is used, one word of data is taken in with a 32-bit width.

【0062】この時、CPU304内部での処理を行い
やすくするために、図6に示すようにシリアル−パラレ
ル変換を行うタイミングをCPU304からシリアル−
パラレル変換器302に送り、フレーム同期などの結果
を反映させる方法を取っている。CPU304からシリ
アル−パラレル変換のタイミングを指定する場合はさら
に、ビット数等まで指定することでカウンター305を
用いて、例えば789ビットといった32ビットの倍数
でないフレーム長を持つデータの各フレームの先頭がい
つもワードの先頭に来るようにシリアル−パラレル変換
を行うことも考えられる。
At this time, in order to facilitate the processing in the CPU 304, the timing for performing serial-parallel conversion is set from the CPU 304 to serial-parallel as shown in FIG.
It is sent to the parallel converter 302 to reflect the result of frame synchronization or the like. When the timing of serial-parallel conversion is designated from the CPU 304, the head of each frame of data having a frame length that is not a multiple of 32 bits, such as 789 bits, is always used by using the counter 305 by designating the number of bits and the like. It is also conceivable to perform serial-parallel conversion so that it comes at the beginning of a word.

【0063】一方、シリアル−パラレル変換のタイミン
グは全てハードウェアにまかせてCPUは関与しない方
法も考えられる。本実施例で示しているプログラムは、
これらCPUからの指定は全くないものを想定して作成
したものである。
On the other hand, there may be a method in which the timing of serial-parallel conversion is entirely left to the hardware and the CPU is not involved. The program shown in this embodiment is
It is created assuming that there is no designation from these CPUs.

【0064】(受信データ入力サブルーチン203)本
実施例にて用いたTTC標準JT−G.703−aのフ
レーム構造では、789ビットのフレーム4つからなる
マルチフレーム1つで1回のフレーム同期を取ることが
できる。CPUによる受信データに対する各処理(各サ
ブルーチン)は、このマルチフレーム8つ分のデータ、
つまり25248ビット、789ワードのデータを1つ
の単位として行うこととする(もちろんこの数は他の値
でも構わない)。この時、1回にフレームデータ収容バ
ッファ209に取り込むデータの量は、1つのマルチフ
レームにある2つのフレーム同期信号が取り込むデータ
間でまたがっても確認ができるように、またデータの7
89ワードの最後のビットが含まれているセルの最終ビ
ットまで読むことができるように、次に読み込む789
ワードのデータの先頭の25ワードを付けたした814
ワードとする。つまり、図7に示すように、入力された
シリアルデータを789ワードずつ区切って、その前後
のデータ間で、25ワードのデータを重複しながら読み
込むことになる。以下、1回に取り込む814ワードの
データをデータブロックと呼ぶ。
(Received Data Input Subroutine 203) The TTC standard JT-G. In the frame structure 703-a, one frame can be synchronized with one multi-frame consisting of four 789-bit frames. Each process (each sub-routine) for the data received by the CPU is equivalent to the data for eight multiframes,
That is, data of 25,248 bits and 789 words is used as one unit (of course, this number may be another value). At this time, the amount of data to be loaded into the frame data accommodating buffer 209 at one time is set so that it can be confirmed even between data fetched by two frame synchronization signals in one multiframe.
Read next 789 so that the last bit of the cell containing the last bit of the 89 word can be read
814 with the top 25 words of word data added
It is a word. That is, as shown in FIG. 7, the input serial data is divided into 789 words, and 25 words of data are read while overlapping between the preceding and following data. Hereinafter, the 814-word data captured at one time is referred to as a data block.

【0065】データ入力サブルーチン203はこのデー
タブロックをフレームデータ収容バッファ209に書き
込んで、そのバッファの位置を他のサブルーチンに知ら
せる。
The data input subroutine 203 writes this data block in the frame data accommodating buffer 209 and informs other subroutines of the position of the buffer.

【0066】(フレーム同期サブルーチン204)フレ
ームデータ収容バッファ209に取り込んだデータブロ
ックに対しては、まずフレーム同期を行い、フレームビ
ット、ユーザ情報転送領域の位置や、そのフレームが有
効なものかどうかを明確にする。フレーム同期の結果や
その他の情報を、次に行うセル同期や次回のデータブロ
ックに対するフレーム同期のサブルーチン内で使用でき
るように、いくつかの変数を定義する。それは、フレー
ム同期状態表示変数、有効フレーム開始表示変数、フレ
ーム同期信号開始表示変数の3つである。
(Frame Sync Subroutine 204) First, frame synchronization is performed on the data block fetched in the frame data accommodating buffer 209, and the frame bit, the position of the user information transfer area, and whether the frame is valid or not. To clarify. Some variables are defined so that the result of frame synchronization and other information can be used in the subroutine of cell synchronization to be performed next and frame synchronization for the next data block. The three variables are a frame synchronization status display variable, an effective frame start display variable, and a frame synchronization signal start display variable.

【0067】フレーム同期状態表示変数は、その値によ
ってフレーム同期の状態や誤ったフレームビットを持っ
たフレームの連続到着個数などを表す。フレーム同期状
態表示変数の値が−4ならばフレームの同期が全くとれ
ていない状態、−3〜−1ならフレーム同期確立のため
に3つの連続する正しいフレーム同期信号を確認してい
る状態(値の絶対値は同期状態になるまであと何個正し
い同期信号の確認が必要かを表す)、0〜6ならフレー
ム同期が確立している状態(値は連続して受信された誤
った同期信号を持ったフレームの数を表す)である。
The frame synchronization status display variable represents the status of frame synchronization and the number of consecutive arrivals of frames having an erroneous frame bit depending on its value. If the value of the frame synchronization status display variable is -4, the frame is not synchronized at all, and if it is -3 to -1, three consecutive correct frame synchronization signals are confirmed to establish frame synchronization (value The absolute value of indicates the number of correct sync signals that need to be confirmed until a sync state is reached), and if 0 to 6 the frame sync is established (the value indicates an erroneous sync signal received continuously). It represents the number of frames you have).

【0068】有効フレーム開始表示変数は、フレーム同
期によって判明した有効フレームの始まりを表す。この
値以降のデータに対してセル同期を行うことになる。こ
の値が0であれば、全データが有効であるとみなされ、
値が26049なら全データが有効でないと判定され
る。
The valid frame start display variable represents the start of a valid frame found by frame synchronization. Cell synchronization will be performed for data after this value. If this value is 0, all data are considered valid,
If the value is 26049, it is determined that all data are not valid.

【0069】フレーム同期信号開始表示変数は、フレー
ム同期信号をどこまでチェックしたかを表し、この値が
25248を超えたら、その値から25248を減算し
たものを新たなフレーム同期信号開始表示変数とし、フ
レーム同期サブルーチンを終了する。この書き換えられ
たフレーム同期信号表示変数は、次のデータブロックに
対するフレーム同期を開始すべき点を表している。
The frame synchronization signal start display variable represents how far the frame synchronization signal is checked. When this value exceeds 25248, the value obtained by subtracting 25248 from that value is set as a new frame synchronization signal start display variable, End the synchronization subroutine. The rewritten frame synchronization signal display variable represents the point at which frame synchronization for the next data block should be started.

【0070】次に、実際のフレーム同期サブルーチン2
04を図8に従って説明して行く。新たなデータブロッ
クがフレームデータ収容バッファに書き込まれてきたと
き、1つ前のデータブロックでのフレーム同期状態が最
後にどのような状態であったかを、この時のフレーム同
期状態表示変数の値によって知ることができる。
Next, the actual frame synchronization subroutine 2
04 will be described with reference to FIG. When a new data block is written in the frame data accommodating buffer, the last state of the frame synchronization state of the immediately previous data block is known from the value of the frame synchronization state display variable at this time. be able to.

【0071】フレーム同期状態表示変数の値が−4の場
合、この新しいデータに対してはビット毎のフレームビ
ットの同期パタンの検索2401を行う。つまり、フレ
ームデータ収容バッファ209上のデータの最初から順
に1ワードずつデータを読み込んで行き、そのデータに
対して、フレームビットの同期パタンの検索を行う。
When the value of the frame synchronization status display variable is -4, a search 2401 for a frame bit synchronization pattern for each new data is performed. That is, the data in the frame data accommodating buffer 209 is sequentially read word by word from the beginning, and the sync pattern of the frame bit is searched for the data.

【0072】2箇所のフレームビットに同期パタンが正
しく確認された場合は、フレーム同期状態表示変数に1
を足して検索を次のマルチフレームに移し、該当する位
置に2つの同期パタンがあることを確認する前同期処理
状態2402に入る。この確認を行う際は、フレームデ
ータ収容バッファ209上の必要なデータのみを読み込
んで行う。そして、正しく同期パタンがあった場合は、
さらにフレーム同期状態表示変数に1を足して、次のマ
ルチフレームの同期パタンの確認を行う。もし誤った同
期パタンが検出された場合は、フレーム同期状態表示変
数を−4に設定して、ビット毎の検索2401に戻る。
When the synchronization pattern is correctly confirmed in two frame bits, 1 is set in the frame synchronization status display variable.
To move the search to the next multi-frame and enter the pre-sync processing state 2402 which confirms that there are two sync patterns at the corresponding positions. When this confirmation is performed, only necessary data in the frame data accommodation buffer 209 is read. And if the synchronization pattern is correct,
Further, 1 is added to the frame synchronization status display variable to confirm the synchronization pattern of the next multiframe. If an incorrect sync pattern is detected, the frame sync status display variable is set to -4 and the process returns to the bit-by-bit search 2401.

【0073】3回続けて正しい同期パタンが検出されて
フレーム同期が確立した場合は、有効フレーム開始表示
変数にそのフレームの始まりのビットを設定し、同期状
態2403に入る。この時、フレーム同期状態表示変数
は0になっている。
When the correct synchronization pattern is detected three times in a row and frame synchronization is established, the valid frame start display variable is set to the start bit of the frame, and the synchronization state 2403 is entered. At this time, the frame synchronization status display variable is 0.

【0074】同期状態2403においては、データ内の
全てのマルチフレームについて、フレームビットに正し
い同期パタンが存在するかを調べる。正しくないマルチ
フレームを検出した場合はフレーム同期状態表示変数に
1を足し、一方、正しいフレームが来たときは常にフレ
ーム同期状態表示変数を0に設定する。もし変数が7に
達してしまった場合は、再び変数を−4に設定し、有効
フレーム開始表示変数をフレームの最後尾を表す260
49に設定し、ビット単位のフレームビットの同期パタ
ン検索2401に戻る。
In the sync state 2403, it is checked whether or not the correct sync pattern exists in the frame bits for all multiframes in the data. When an incorrect multi-frame is detected, 1 is added to the frame synchronization status display variable, while the frame synchronization status display variable is set to 0 whenever a correct frame comes. If the variable has reached 7, the variable is set to -4 again and the effective frame start display variable is set to 260 indicating the end of the frame.
The setting is set to 49, and the process returns to the frame pattern synchronization pattern search 2401 in bit units.

【0075】これらの手続きをフレーム同期信号開始表
示変数がデータブロックの789ワード目を超えるまで
行ったところで、その時のフレーム同期信号開始表示変
数の値から25248を減算して(ステップ3000)
フレーム同期サブルーチン204を終了とする。
When these procedures are performed until the frame synchronization signal start display variable exceeds the 789th word of the data block, 25248 is subtracted from the value of the frame synchronization signal start display variable at that time (step 3000).
The frame synchronization subroutine 204 ends.

【0076】実際にフレームビットの同期パタンの検索
を行う方法はいくつか考えられる。例えば、2つに分か
れた同期パタンを1度に調べることをビット毎に行う方
法である。他には、1つ目のフレーム同期パタンである
1100を1ビットずつ探して行き、もしそのパタンが
発見されたらその789ビット後に2つ目の同期パタン
である、10100があるかどうかを確認する方法であ
る。
There are several possible methods for actually searching the frame bit synchronization pattern. For example, it is a method of checking the synchronization pattern divided into two at a time for each bit. Otherwise, the first frame synchronization pattern 1100 is searched bit by bit, and if the pattern is found, it is confirmed whether or not there is a second synchronization pattern 10100 after 789 bits. Is the way.

【0077】後者の方法の場合、もし2つ目の同期パタ
ンが正しく存在しなかったら、1つ目の同期パタンの直
後のビットから再び1つ目の同期パタンに一致する箇所
を探して行く。この方法において、1つ目の同期パタン
の1100を探す方法も、例えば直接1100と比較を
して、合わない時は1ビットデータをシフトして再度比
較をする方法や、図9に示すような状態遷移に従ってデ
ータを1ビットずつ調べて行く方法などが考えられる。
この方法によると全く独立した1ビットずつで検索が行
われるので、同期パタン1100が2つのワードにまた
がって存在する場合でも特別な処理をしないで検索でき
るため、処理を簡略化でき、そのために高速化を計るこ
とができる。
In the latter method, if the second synchronization pattern does not exist correctly, the bit immediately after the first synchronization pattern is searched again for a portion that matches the first synchronization pattern. In this method, a method of searching for the first synchronization pattern 1100 is also performed, for example, by directly comparing with 1100, and if they do not match, by shifting 1-bit data and performing comparison again, as shown in FIG. A method of examining the data bit by bit according to the state transition may be considered.
According to this method, since the search is performed independently for each bit, even if the synchronization pattern 1100 exists over two words, the search can be performed without any special processing, so that the processing can be simplified and therefore the high speed is achieved. Can be measured.

【0078】また、図8のビット毎の同期パタンの検索
2401は、入力データの全ビットについて行うため、
CPUにとって非常に負荷の大きい処理となる。したが
ってこの処理が入力データレートを律速することも予想
される。そこで、フレーム同期引き込み時間は多少要す
ることになるが、同期パタンの検索を入力されたデータ
の全てについて1ビット単位に行うのではなく、データ
の一部分についてのみ行うことで、処理可能となる入力
データレートを引き上げる方法も考えられる。
Further, since the search 2401 of the synchronization pattern for each bit in FIG. 8 is performed for all the bits of the input data,
This is a very heavy processing for the CPU. Therefore, it is expected that this process will rate limit the input data rate. Therefore, although it takes some time for the frame synchronization pull-in, it is possible to process the input data by performing the search for the synchronization pattern not for all input data in 1-bit units but for only a part of the data. A method to raise the rate is also possible.

【0079】一例としては、入力データをマルチフレー
ムの大きさに分割して、最初のマルチフレーム分のデー
タに対してはその前半部分、2つ目に対してはその後半
部分に対して同期パタンを検索する方法であり、同期引
き込み時間は2倍になるが、同じCPUの処理能力であ
っても入力データのレートを約2倍にして処理すること
が可能となる。
As an example, the input data is divided into multi-frame sizes, and the sync pattern is applied to the first half of the data for the first multi-frame and the latter half of the second. , The synchronous pull-in time is doubled, but it is possible to double the input data rate and process even with the same CPU processing capacity.

【0080】さらに、ひとたびフレーム同期が確立し、
セル同期も確立して定常状態に入ってからはフレーム同
期の確認を省略し、セル同期だけをとることも考えられ
る。フレーム同期を行わなくても、セル同期が正しく取
れていることでフレームは正しく到着していることが分
かるからである。この時、セル同期がはずれた際には、
再度フレーム同期処理を開始してフレームが正しく到着
しているか否かを調べることが必要である。
Furthermore, once frame synchronization is established,
It is also conceivable to omit the confirmation of the frame synchronization after establishing the cell synchronization and entering the steady state, and to establish only the cell synchronization. This is because even if frame synchronization is not performed, it can be understood that the frame has arrived correctly because the cell synchronization is correct. At this time, when cell synchronization is lost,
It is necessary to start the frame synchronization process again and check whether the frame has arrived correctly.

【0081】従来のハードウェアによって実現されるフ
レーム同期方法では、ビットシリアル入力されたデータ
に対し、必要なフレーム同期パターン(本実施例では
「1100」の4ビット)分だけのビットを取り込んで
比較するものが一般的である。従って、これをソフトウ
ェアにおいて方式を変えずにそのまま実現する場合、以
下のようになる。
In the conventional frame synchronization method realized by hardware, only bits of a necessary frame synchronization pattern (4 bits of "1100" in this embodiment) are fetched from bit serially input data and compared. What you do is common. Therefore, if this is realized as it is in software without changing the method, it is as follows.

【0082】まず、バッファに蓄積されている入力デー
タから4ビットのみを取り出してそれが「1100」で
あるかを見る。一致する場合には次のマルチフレームの
パターンである「10100」の検索に移り、一致しな
い場合には「1100」を検索した4ビットを1ビット
ずらせた(すなわち前回メモリより呼び出した下位3ビ
ットと次の1ビットの合計4ビット)新たな4ビットに
対する検索を行うことになる。
First, only 4 bits are taken out from the input data stored in the buffer and it is checked whether it is "1100". If they match, the process moves to the search for the next multi-frame pattern "10100". If they do not match, the 4 bits searched for "1100" are shifted by 1 bit (that is, the lower 3 bits called from the previous memory). The next 1 bit (total 4 bits) will be searched for new 4 bits.

【0083】このような方法で行うと、1回の検索を行
う度にCPU外部のFIFOから必ず1回の読み出しを
行わなければならない。すると図10のように、例えば
8ビット長のデータに対しての読み出し回数は、1ビッ
トずつずらしながら4ビット単位で読み出すので5回と
なる。これはCPUの処理時間を大幅に食うものであ
り、良い方法とは言えない。
When this method is used, it is necessary to always read once from the FIFO outside the CPU each time one search is performed. Then, as shown in FIG. 10, for example, the number of times of reading 8-bit data is 5 because the data is read in units of 4 bits while shifting by 1 bit. This consumes a lot of CPU processing time and is not a good method.

【0084】しかるに、これを例えば図11のように8
ビットで読むと、5回読み出しにかかっていたデータを
1回で済ますことが可能である。1回読み出して、それ
について上記と同様1ビットずつずらしながら4ビット
単位で5回の検索を行うことができる。その次の読み出
しは直前の読み出しと3ビットだけ重複するように読み
出せば検索に抜けを発生させることなく検索が可能であ
る。本実施例では32ビットのデータ幅のCPUを仮定
しているので、その最大データ幅である32ビットを1
回に読み出すと最も読み出し回数が少なくなる。よっ
て、読み出しにかかるソフトウェア処理時間を大幅に短
縮できる。
However, as shown in FIG.
By reading in bits, it is possible to complete the data that was read 5 times in 1 time. It is possible to read once and perform 5 searches in 4-bit units while shifting it one bit at a time as described above. If the next read is performed so that it overlaps with the immediately preceding read by only 3 bits, the search can be performed without causing omission in the search. In the present embodiment, since a CPU having a data width of 32 bits is assumed, the maximum data width of 32 bits is set to 1
If it is read once, the number of times of reading becomes the smallest. Therefore, the software processing time required for reading can be significantly reduced.

【0085】従って、フレーム同期において、データの
読み出し幅はCPUのデータ幅にすると、ソフトウェア
処理において律速段階となるデータ読み出し回数を減少
させることができる。
Therefore, in the frame synchronization, if the data read width is set to the data width of the CPU, the number of data read times, which is the rate-determining step in software processing, can be reduced.

【0086】(セル同期サブルーチン205)フレーム
同期を行うことによって、フレームデータ収容バッファ
209上のデータ中のセル情報の領域と、セルデータの
バイト単位の同期が識別できる。そこで、次にそのセル
情報が存在する領域内のデータに対してセル同期を行
い、セルヘッダの位置、セルペイロードの位置を明確に
し、またヘッダ部分の誤りの訂正・検出を行う。
(Cell synchronization subroutine 205) By performing frame synchronization, it is possible to identify the cell information area in the data on the frame data accommodating buffer 209 and the synchronization of the cell data in byte units. Therefore, next, cell synchronization is performed on the data in the area in which the cell information exists, the position of the cell header and the position of the cell payload are clarified, and the error in the header part is corrected and detected.

【0087】セル同期の結果やその他の情報を次に行う
デスクランブルや次回のデータブロックに対するセル同
期のサブルーチンに使用できるように、いくつかの変数
を定義する。それは、セル同期状態表示変数、同期セル
数、同期セル開始ビット配列、セル開始ビット、無効セ
ル表示配列などである。
Some variables are defined so that the result of cell synchronization and other information can be used in the descrambling to be performed next and the cell synchronization subroutine for the next data block. It is a cell synchronization state display variable, the number of synchronization cells, a synchronization cell start bit array, a cell start bit, an invalid cell display array, and the like.

【0088】セル同期状態表示変数は、フレーム同期の
時と同様にセル同期の状態や誤ったセルヘッダの到着個
数などを表す。セル同期状態表示変数の値が−7ならば
セルの同期は全く取れていない状態(ハンチング状
態)、−6〜−1ならセル同期のために6個の連続した
正しいセルヘッダの確認をしている状態(前同期状
態)、0ならセル同期が確立していてヘッダ誤りの訂正
モード、1〜6ならセル同期が確立していてヘッダ誤り
の検出モードであることを表す。前同期状態ではセル同
期状態表示変数の値は同期状態までに必要な正しいセル
の個数を表しており、同期状態のヘッダ誤り検出モード
ではセル同期状態表示変数の値は連続して観測された誤
ったヘッダを持つセルの個数を表す。
The cell synchronization status display variable represents the cell synchronization status, the number of erroneous cell header arrivals, etc., as in the case of frame synchronization. If the value of the cell synchronization status display variable is -7, the cell is not synchronized at all (hunting state), and if it is -6 to -1, 6 consecutive correct cell headers are confirmed for cell synchronization. State (pre-synchronization state), 0 indicates that cell synchronization is established and header error correction mode, and 1 to 6 indicates that cell synchronization is established and header error detection mode. In the pre-synchronization state, the value of the cell synchronization state display variable represents the correct number of cells required until the synchronization state.In the synchronization state header error detection mode, the value of the cell synchronization state display variable is continuously observed. Represents the number of cells with a header.

【0089】同期セル数は、データブロック中のセル同
期がとれている部分に存在するセルの総数を表し、同期
セル開始ビット配列によってそのそれぞれセルの開始ビ
ットが示される。セル開始ビットはセル同期を行ってゆ
く際、対象となっているセルの開始ビットを常に表して
いる。セル同期はデータブロックの789ワード目のワ
ードの最後のビットを含んだセルに対してまで行われ
る。つまり、セル開始ビットが25248を超えた時点
でセル同期サブルーチンは終了する。この時、最後のセ
ル開始ビットの値から25248を引いた値を次回のデ
ータブロックでのセル同期を開始すべきセルの先頭ビッ
トとして、新たなセル開始ビットとして保存する。
The number of sync cells represents the total number of cells existing in the cell-synchronized portion of the data block, and the start bit of each cell is indicated by the sync cell start bit array. The cell start bit always represents the start bit of the target cell when performing cell synchronization. Cell synchronization is performed up to the cell including the last bit of the 789th word of the data block. That is, the cell synchronization subroutine ends when the cell start bit exceeds 25248. At this time, a value obtained by subtracting 25248 from the value of the last cell start bit is stored as a new cell start bit as the first bit of the cell in which cell synchronization in the next data block should be started.

【0090】無効セル表示配列は、上記の同期セルのう
ちヘッダ誤りによって無効とされたセルが何番目のセル
かを表す。実際のセル同期サブルーチン205を図12
に従って説明して行く。
The invalid cell display array indicates the number of the cell invalidated by the header error among the above-mentioned synchronization cells. The actual cell synchronization subroutine 205 is shown in FIG.
Follow along to explain.

【0091】新たにフレームデータ収容バッファ209
に取り込んだデータブロックのフレーム同期が終了する
と、次にセル同期サブルーチン205が起動される。フ
レーム同期サブルーチン204からの有効フレーム開始
表示変数の値が26049である時は、そのデータブロ
ックには有効なフレームが含まれていないと判断して
(ステップ600a)、セル同期サブルーチン205は
セル同期状態表示変数の値を−7に設定して処理を終了
する。
A new frame data accommodating buffer 209
When the frame synchronization of the data block taken in is completed, the cell synchronization subroutine 205 is activated next. When the value of the effective frame start display variable from the frame synchronization subroutine 204 is 26049, it is determined that the data block does not include a valid frame (step 600a), and the cell synchronization subroutine 205 determines the cell synchronization state. The value of the display variable is set to -7 and the process ends.

【0092】もし有効フレーム開始表示変数の値が0の
時は、このデータブロックのフレームは全て有効である
と判定できるので(ステップ600b)、前回のセル同
期サブルーチン205での最後の同期状態表示変数の値
に従った状態から処理を開始する。
If the value of the valid frame start display variable is 0, it can be determined that all the frames of this data block are valid (step 600b). Therefore, the last synchronization state display variable in the previous cell synchronization subroutine 205 is determined. The process starts from the state according to the value of.

【0093】前回のセル同期サブルーチン205が前同
期状態602や同期状態603で終了した場合、前回の
セル同期サブルーチン205からのセル開始ビットに従
ったデータをフレームデータ収容バッファ209から読
み出しそのデータに対してセル同期の処理を行う。
When the previous cell synchronization subroutine 205 ends in the previous synchronization state 602 or the synchronization state 603, the data in accordance with the cell start bit from the previous cell synchronization subroutine 205 is read from the frame data accommodating buffer 209 and the data is read. Cell synchronization processing.

【0094】ハンチング状態601の場合は、有効なフ
レームの先頭から、1ワードずつデータを読み込み、フ
レーム同期によって与えられるバイト同期に従って、セ
ルのヘッダを検索する。また有効フレーム開始表示変数
の値がデータブロックの途中のフレームをさしている時
は、そのフレームのデータから、状態はハンチングで処
理を開始する。ハンチング状態601でもし正しいセル
ヘッダの部分を発見した場合、セル同期状態表示変数の
値を−6に設定して前同期状態602にはいる。
In the hunting state 601, data is read word by word from the beginning of a valid frame and the cell header is searched according to the byte synchronization given by the frame synchronization. When the value of the effective frame start display variable points to a frame in the middle of the data block, the process starts from the data of the frame by hunting. When the correct cell header portion is found in the hunting state 601, the value of the cell synchronization state display variable is set to -6 and the pre-synchronization state 602 is entered.

【0095】前同期状態602では、セル周期ごとにヘ
ッダの確認を行い、正しいものが確認できたらセル同期
状態表示変数に1を足し、誤ったものを検出したらセル
同期状態表示変数を−7に設定して、ハンチング状態に
状態を変化させる。正しいヘッダが連続して6個確認し
てセル同期状態表示変数が0になると、同期状態の誤り
訂正モード603にはいる。
In the pre-synchronization state 602, the header is confirmed every cell cycle, and if the correct one can be confirmed, 1 is added to the cell synchronization state display variable, and if the wrong one is detected, the cell synchronization state display variable is set to -7. Set and change state to hunting state. When 6 correct headers are continuously confirmed and the cell synchronization status display variable becomes 0, the synchronization status error correction mode 603 is entered.

【0096】同期状態の誤り訂正モード603において
は、セル周期に従ってセルヘッダの確認を行い、同期セ
ル数の値をインクリメントし、そのセルの開始ビットを
同期セル開始ビット配列の現在の同期セル数の値が示す
要素に記録し、またセルヘッダをヘッダ収容バッファ2
09に格納する。もし誤ったセルヘッダが観測された場
合は、この時もやはり同期セル数の値を1つインクリメ
ントし、同期セル開始ビット配列に記録をし、その後セ
ルヘッダの訂正を試みる。訂正に成功した場合は上記と
同様にそのヘッダをヘッダ収容バッファに格納し、もし
失敗した場合はそのセルは無効セルとして無効セル表示
配列に現在の同期セル数の値を記録する。また、ヘッダ
収容バッファ209には空セルのヘッダを出力する。誤
ったセルヘッダを観測した場合はいずれの場合もセル同
期状態表示変数に1を足し、同期状態の誤り検出モード
604に移る。
In the error correction mode 603 in the synchronous state, the cell header is confirmed according to the cell cycle, the value of the number of synchronous cells is incremented, and the start bit of the cell is set to the value of the current number of synchronous cells in the synchronous cell start bit array. Is recorded in the element indicated by and the cell header is stored in the header accommodating buffer 2
It is stored in 09. If an erroneous cell header is observed, the value of the number of sync cells is also incremented by one at this time, the sync cell start bit array is recorded, and then the cell header is corrected. If the correction is successful, the header is stored in the header accommodating buffer in the same manner as above, and if the correction is unsuccessful, the cell is recorded as the invalid cell in the invalid cell display array with the value of the current number of synchronization cells. Also, the header of the empty cell is output to the header accommodation buffer 209. When an erroneous cell header is observed, 1 is added to the cell synchronization status display variable and the error detection mode 604 of the synchronization status is entered.

【0097】同期状態の誤り検出モード604では、や
はりセル周期毎にヘッダの確認を行い、訂正モードと同
様に同期セル数に1を足し、同期セル開始ビットを記録
し、正しいヘッダが観測された場合はセル同期状態表示
変数を0に設定して同期状態の訂正モード603に状態
を変化させる。誤ったヘッダが観測された場合はそのヘ
ッダの訂正は試みず、そのセルを無効セルとして無効セ
ル表示配列に記録をし、セル同期状態表示変数に1を足
す。もしセル同期状態表示変数の値が、7に達した場合
は、セル同期状態表示変数を−7にして、ハンチング状
態601に状態を変化させる。
In the error detection mode 604 in the synchronization state, the header is confirmed every cell cycle, the number of synchronization cells is incremented by 1, and the synchronization cell start bit is recorded as in the correction mode, and the correct header is observed. In this case, the cell synchronization state display variable is set to 0 and the state is changed to the synchronization state correction mode 603. When an erroneous header is observed, the header is not corrected, the cell is recorded as an invalid cell in the invalid cell display array, and 1 is added to the cell synchronization status display variable. If the value of the cell synchronization state display variable reaches 7, the cell synchronization state display variable is set to -7 and the state is changed to the hunting state 601.

【0098】どの状態にある時でも、セルの開始ビット
またはハンチングの確認をするバイトがデータブロック
の789ワードを越えた時にセル同期の処理は終了とな
り、セル開始ビットの現在の値から25248を引いて
新たなセル開始ビットとしてサブルーチンは終了する。
In any state, when the start bit of the cell or the byte for confirming the hunting exceeds 789 words of the data block, the cell synchronization process ends, and 25248 is subtracted from the current value of the cell start bit. As a new cell start bit, the subroutine ends.

【0099】実際のセル同期のとり方、およびヘッダの
誤り訂正の方法はいくつか考えられる。従来のようにハ
ードウェアにて実現する場合には、例えば特開平4−3
63927において開示されている方法がある。この方
法によると、セル同期については、ヘッダであると仮定
される部分を1ビットあるいは1バイトずつ取り込んで
GF(2)の上での割り算を行い、合計5バイトの値が
望む値になっているかどうかの判定を行う。また、同期
が確立している状態で誤り訂正を行う場合には、5バイ
トに対する割り算の結果を初期値にして、1ビット単位
あるいは1バイト単位で同じ割り算を継続して訂正位置
を見つける処理を行う。
There are several possible methods for actual cell synchronization and header error correction. When it is realized by hardware as in the past, for example, Japanese Patent Laid-Open No. 4-3
There is a method disclosed in 63927. According to this method, for cell synchronization, the portion assumed to be the header is taken in bit by bit or byte by byte, and division is performed on GF (2), and the total value of 5 bytes becomes the desired value. It is determined whether or not there is. Further, when performing error correction in a state where synchronization is established, a process of finding the correction position by setting the result of division for 5 bytes as an initial value and continuing the same division in 1-bit units or 1-byte units To do.

【0100】ここで採用するセル同期の方法としては、
上記のセル同期手法をそのままソフトウェアのプログラ
ムに応用するという方法が考えられる。まず、セル同期
確立時は、図13の流れ図にあるように、ヘッダ部分の
連続した1バイトデータD1、D2、D3、D4、D5
について、順に読みだして(ステップ701〜S70
5)、割算処理706とGF(2)の上の加算すなわち
ビット毎の排他的論理和707の処理とを交互に行っ
て、最後にヘッダであるかどうかの判定708を行う。
この場合、一度の処理に対して5回の読みだしを必要と
する。
As the cell synchronization method adopted here,
A method in which the above cell synchronization method is directly applied to a software program can be considered. First, when cell synchronization is established, as shown in the flowchart of FIG. 13, continuous 1-byte data D1, D2, D3, D4, D5 in the header part
Are read in order (steps 701 to S70).
5) The division processing 706 and the addition on GF (2), that is, the processing of the bitwise exclusive OR 707 are alternately performed, and the determination 708 as to whether or not it is a header is finally performed.
In this case, 5 readings are required for one processing.

【0101】各々の割算処理706を多項式表現する
と、入力をDI、出力をDOとして、 DO=DI*X^8 modG(X) …(1) ただし、G(X)=X^8+X^2+X+1
と表される。
When each division process 706 is expressed by a polynomial, input is DI and output is DO. DO = DI * X ^ 8 modG (X) (1) where G (X) = X ^ 8 + X ^ 2 + X + 1
It is expressed as

【0102】一方、ハンチング状態の時は、上述したよ
うに、1バイトずつシフトしながらセルヘッダであるか
どうかの判定を行うため、上述の特開平4−36392
7の方法のように1つ前に処理をした結果をうまく使う
ことによって、読みだし処理を減らすことができる。
On the other hand, in the hunting state, as described above, since it is determined whether the cell header is shifted by shifting one byte at a time, the above-mentioned Japanese Patent Laid-Open No. 4-36392.
By making good use of the result of the previous processing as in the method of 7, it is possible to reduce the reading processing.

【0103】一例として、あるタイミングで5バイトの
連続したデータD1、D2、D3、D4、D5に関して
セル同期のための処理を行ったとする。このとき、その
割算および排他的論理和の値をH5とする。このとき、
1バイトだけずらしたデータ、D2、D3、D4、D
5、D6に関する次の処理は図14に示すような流れと
なる。
As an example, it is assumed that the 5-byte continuous data D1, D2, D3, D4 and D5 are processed for cell synchronization at a certain timing. At this time, the value of the division and the exclusive OR is set to H5. At this time,
Data shifted by 1 byte, D2, D3, D4, D
The next processing for 5 and D6 is as shown in FIG.

【0104】まず、改めてD1を読み出し(ステップ8
10)、先ほどとは異なる割り算処理802を行う。こ
の割算処理802を多項式表現すると、入力をDI、出
力をDOとして、 DO=DI*X^32 modG(X) …(2) と表される。
First, D1 is read again (step 8).
10), division processing 802 different from the above is performed. When this division process 802 is expressed by a polynomial, the input is DI and the output is DO, which is expressed as DO = DI * X ^ 32 modG (X) (2).

【0105】そして、その結果とH5とのビット毎の排
他的論理和803をとり、その全体に対して、式(1)
で表される割算処理B804を行う。さらに、読み出さ
れたデータD6との排他的論理和806を行い、その値
が望まれた値(2進数で01010101)になってい
れば、その部分がヘッダであると判定され、そうでなけ
ればヘッダ部分ではないと判定される。
Then, the exclusive OR 803 for each bit of the result and H5 is taken, and the whole is expressed by the equation (1).
The division processing B804 represented by is performed. Further, the exclusive OR 806 with the read data D6 is performed, and if the value is a desired value (binary number 01010101), it is determined that the portion is the header, and otherwise. If it is not the header part, it is determined.

【0106】この方式では、図13が5回の読みだし回
数であったのに対し、2回の読みだし回数で済むため、
処理量を減少させることができる。しかし、上述の特開
平4−363927にて開示された発明においては、1
度の読みだしのデータ幅が8ビットに制限されており、
これが本実施例のように32ビット幅あるいは64ビッ
ト幅といった高性能なCPUを用いる場合には、効率が
悪くなってしまうという問題点がある。
In this system, the number of times of reading is 5 in FIG. 13, whereas the number of times of reading is 2; therefore,
The throughput can be reduced. However, in the invention disclosed in the above-mentioned JP-A-4-363927,
The data width for reading once is limited to 8 bits,
However, when a high-performance CPU having a 32-bit width or a 64-bit width is used as in the present embodiment, there is a problem that the efficiency becomes poor.

【0107】そこで、他の方法として、例えば32ビッ
ト幅のCPUを用いる場合には、始めの4バイトを一度
に読み出すことにより、図13のようにヘッダ検査のた
めに、5回の読みだしを行う場合よりも読み出し回数を
減らすことができる方法も考えられる。
Therefore, as another method, for example, when a CPU having a width of 32 bits is used, the first 4 bytes are read at a time so that the header is inspected 5 times as shown in FIG. A method that can reduce the number of times of reading as compared with the case of performing it is also conceivable.

【0108】例えば、図15にあるように、まずヘッダ
のうちの先頭4バイトD1、D2、D3、D4を一度に
読み込む(ステップ901)。そして、それに対して割
算処理902を行う。ここでの割算処理は、32ビット
のデータを式(1)のG(X)で順に割っていくと、た
いへん時間がかかってしまい、読みだし回数を2回に減
らした利点がなくなってしまう。
For example, as shown in FIG. 15, first, the first 4 bytes D1, D2, D3, D4 of the header are read at once (step 901). Then, division processing 902 is performed on it. If the 32-bit data is divided by G (X) in the equation (1) in order, the division process takes a very long time, and the advantage of reducing the number of reading times to two is lost. .

【0109】ところが、上記の割り算処理をビット毎に
見ていくと、各ビットとその結果には以下のような関係
のあることがわかる。D1〜D5バイトの各ビットを順
に、 D1=(d[1]、d[2]、・・、d[8]) …(3a) D2=(d[9]、d[10]、・・、d[16]) …(3b) D3=(d[17]、d[18]、・・、d[24]) …(3c) D4=(d[25]、d[26]、・・、d[32]) …(3d) D5=(d[33]、d[34]、・・、d[40]) …(3e) とする。
However, looking at the above division processing bit by bit, it can be seen that each bit and its result have the following relationship. D1 = (d [1], d [2], ..., d [8]) ... (3a) D2 = (d [9], d [10], ... , D [16]) (3b) D3 = (d [17], d [18], ..., d [24]) ... (3c) D4 = (d [25], d [26], ... , D [32]) (3d) D5 = (d [33], d [34], ..., d [40]) (3e).

【0110】すると、わり算の結果の8ビットを上位の
ビットから順にr[i](i=1〜8)として、 r[1]=d[2]+d[3]+d[5]+d[10]+d[12] +d[14]+d[15]+d[17]+d[19]+d[21] +d[25]+d[26]+d[27]+d[33] …(4a) r[2]=d[3]+d[4]+d[6]+d[11]+d[13] +d[15]+d[16]+d[18]+d[20]+d[22] +d[26]+d[27]+d[28]+d[34] …(4b) r[3]=d[1]+d[4]+d[5]+d[7]+d[12] +d[14]+d[16]+d[17]+d[19]+d[21] +d[23]+d[27]+d[28]+d[29]+d[35] …(4c) r[4]=d[1]+d[2]+d[5]+d[6]+d[8] +d[13]+d[15]+d[17]+d[18]+d[20] +d[22]+d[24]+d[28]+d[29]+d[30] +d[36] …(4d) r[5]=d[2]+d[3]+d[6]+d[7]+d[9] +d[14]+d[16]+d[18]+d[19]+d[21] +d[23]+d[25]+d[29]+d[30]+d[31] +d[37] …(4e) r[6]=d[3]+d[4]+d[7]+d[8]+d[10] +d[15]+d[17]+d[19]+d[20]+d[22] +d[24]+d[26]+d[30]+d[31]+d[32] +d[38] …(4f) r[7]=d[2]+d[3]+d[4]+d[8]+d[9] +d[10]+d[11]+d[12]+d[14]+d[15] +d[16]+d[17]+d[18]+d[19]+d[20] +d[23]+d[26]+d[31]+d[32]+d[39] …(4g) r[8]=d[1]+d[2]+d[4]+d[9]+d[11] +d[13]+d[14]+d[16]+d[18]+d[20] +d[24]+d[25]+d[26]+d[32]+d[40] …(4h) と表される。ただし、+はビット毎の排他的論理和を表
す。
Then, the 8 bits of the result of the division are set as r [i] (i = 1 to 8) in order from the upper bit, and r [1] = d [2] + d [3] + d [5] + d [10 ] + D [12] + d [14] + d [15] + d [17] + d [19] + d [21] + d [25] + d [26] + d [27] + d [33] (4a) r [2] = d [3] + d [4] + d [6] + d [11] + d [13] + d [15] + d [16] + d [18] + d [20] + d [22] + d [26] + d [27] + d [ 28] + d [34] (4b) r [3] = d [1] + d [4] + d [5] + d [7] + d [12] + d [14] + d [16] + d [17] + d [19 ] + D [21] + d [23] + d [27] + d [28] + d [29] + d [35] (4c) r [4] = d [ 1] + d [2] + d [5] + d [6] + d [8] + d [13] + d [15] + d [17] + d [18] + d [20] + d [22] + d [24] + d [28] + D [29] + d [30] + d [36] (4d) r [5] = d [2] + d [3] + d [6] + d [7] + d [9] + d [14] + d [16] + d [18] + d [19] + d [21] + d [23] + d [25] + d [29] + d [30] + d [31] + d [37] (4e) r [6] = d [3] + d [ 4] + d [7] + d [8] + d [10] + d [15] + d [17] + d [19] + d [20] + d [22] + d [24] + d [26] + d [30] + d [31] + D [32] + d [38] (4f) r [7] = d [2] + d [3] + d [4] + d [8] + d [9] + d [10 ] + D [11] + d [12] + d [14] + d [15] + d [16] + d [17] + d [18] + d [19] + d [20] + d [23] + d [26] + d [31] + d [32] + d [39] (4g) r [8] = d [1] + d [2] + d [4] + d [9] + d [11] + d [13] + d [14] + d [16] + d [ 18] + d [20] + d [24] + d [25] + d [26] + d [32] + d [40] (4h). However, + represents an exclusive OR for each bit.

【0111】そこでこれを用いて、通常の割り算ではな
く、直接これらのビットを排他的論理和演算によって足
し込み、割算した場合と同じ結果になるようにプログラ
ミングすることにより、処理時間を大幅に減少させるこ
とができる。
Therefore, by using this, instead of normal division, these bits are directly added by an exclusive OR operation and programming is performed so that the same result as in the case of division is obtained, thereby significantly increasing the processing time. Can be reduced.

【0112】具体的には、図16にあるように、まずヘ
ッダのD1、D2、D3、D4の32ビットを読みだ
し、これらを1ビットずつ、左側は最大7ビットずつま
で、右側は最大2ビットずつまでシフトする。そして、
シフトのない場合のD1からD4までのそれぞれの1ビ
ット目の位置にあたるものをr[1]用、2ビット目の
位置にあたるところをr[2]用、・・・というように
して、必要なデータのみを抜き出して排他的論理和を行
う。
Specifically, as shown in FIG. 16, first, 32 bits of D1, D2, D3, and D4 of the header are read out, and these are read one bit at a time, up to 7 bits on the left side, and up to 2 bits on the right side. Shift up bit by bit. And
When there is no shift, the first bit position of each of D1 to D4 is for r [1], the second bit position is for r [2], and so on. Exclusive data is extracted by extracting only the data.

【0113】そしてその処理が終わると、今度はデータ
D5を読み出す。D5は、d[33]がr[1]に、d
[34]がr[2]に、・・というように順に入れられ
るので、上記の32ビットの排他的論理和の結果得られ
た8ビットと、D5のそれぞれのビットとを単純に排他
的論理和すると、最終的なヘッダ判定のための値r
[1]〜r[8]が揃う。この8ビットが前述した01
010101であるならば、そこがヘッダ部分であると
判定される。
When the processing is completed, the data D5 is read this time. In D5, d [33] becomes r [1], d
Since [34] is sequentially entered in r [2], and so on, the 8 bits obtained as a result of the exclusive OR of the above 32 bits and each bit of D5 are simply exclusive ORed. When summed, the value r for the final header determination
[1] to r [8] are complete. These 8 bits are 01 described above.
If it is 010101, it is determined to be the header part.

【0114】図16のプログラムをより詳細に説明す
る。ここではr[1]を求める部分のみ図17に示す。
上述したように、r[1]に対するレジスタポイント
は、D1からD4までのそれぞれ最も左側の4箇所であ
る。シフトのない場合のレジスタ1101では、D1か
らD4のそれぞれ最初のビットである、d[1]、d
[9]、d[17]、d[25]が見えている。これを
左右に順にシフトさせることによって、d[1]からd
[27]までのデータが見えることになる。
The program of FIG. 16 will be described in more detail. Here, only the part for which r [1] is calculated is shown in FIG.
As described above, the register points for r [1] are the four leftmost points from D1 to D4. In the register 1101 in the case of no shift, d [1], d, which are the first bits of D1 to D4, respectively.
[9], d [17], and d [25] are visible. By shifting this to the left and right in order, d [1] to d
The data up to [27] will be visible.

【0115】そこで、まずD1部分のレジスタ1102
では、d[2]とd[3]のみを取り出して排他的論理
和する。d[1]はこのとき無視される。同様に、D2
部分のレジスタ1103ではd[5]+d[10]、D
3部分のレジスタ1104ではd[12]+d[14]
+d[15]+d[17]+d[19]、D4部分のレ
ジスタ1105では、d[21]+d[25]+d[2
6]+d[27]がそれぞれ計算される。さらに、これ
ら4つのレジスタおよびD5の始めのvビットであるd
[33]が排他的論理和されて、r[1]ができあが
る。他のr[i](i=2〜8)も同様である。
Therefore, first, the register 1102 of the D1 portion.
Then, only d [2] and d [3] are extracted and subjected to exclusive OR. d [1] is ignored at this time. Similarly, D2
In the partial register 1103, d [5] + d [10], D
In the three-part register 1104, d [12] + d [14]
+ D [15] + d [17] + d [19], and in the D1 register 1105, d [21] + d [25] + d [2
6] + d [27] are calculated respectively. In addition, these four registers and the first v bits of D5, d
[33] is exclusive-ORed to complete r [1]. The same applies to the other r [i] (i = 2 to 8).

【0116】このとき、r[1]に関するレジスタで
は、d[28]〜d[32]は見えないが、これは割算
の結果の形として、これらのビットを用いる必要がない
ために、見せていないのである。このような理由によ
り、本来すべてのビット(すなわちd[1]〜d[3
2])を見せるためには、左右それぞれ7ビットずつま
でシフトしなければならないが、影響を及ぼさない部分
を省くことによって、上述したように、左側のシフトは
2ビットまででよい。
At this time, d [28] to d [32] are not visible in the register for r [1], but this is not necessary because these bits do not need to be used as the result of division. Not. For this reason, essentially all bits (that is, d [1] to d [3
2]) must be shifted by 7 bits on each of the left and right sides, but by omitting the unaffected portion, the shift on the left side can be up to 2 bits.

【0117】これらのデータ処理の中で、何度か繰り返
し用いられるデータについては、例えばC言語における
レジスタ変数宣言等を用いてレジスタ上で演算を進行さ
せるようにすれば、無駄なメモリからのロードを減らす
ことが可能で、その結果、処理の高速化を図ることがで
きる。
For the data used repeatedly several times in the data processing, if the calculation is made to proceed on the register by using the register variable declaration in the C language, for example, it is unnecessarily loaded from the memory. Can be reduced, and as a result, the processing speed can be increased.

【0118】次に、誤り訂正の場合の方法は、上述の特
開平4−363927にあるように式(1)を用いて上
述と同様に割算を行う手法も考えられるが、これはやは
り5回の繰り返し処理を必要とするために、ソフトウェ
ア上では処理の手間がかかるという問題があった。
Next, as a method for error correction, a method of performing division in the same manner as described above using equation (1) as in Japanese Patent Laid-Open No. 4-363927 can be considered. There is a problem that the processing is troublesome on software because it requires repeated processing once.

【0119】ここで、r[i](i=1〜8)が決まる
と、誤り訂正ができるかどうか、さらにどのビットを訂
正すればよいかが一意に決まることが知られている。そ
こで、すべてのr[i]の組(64通り)に対して、訂
正可能性と訂正ビットパターンのテーブルを内蔵してお
き、r[i]が求められて、これが(0101010
1)でなかった時点でテーブルを引き、訂正パターンを
知るというような手順を用いることによって、瞬時に誤
り訂正が可能となる。ただし、当然のことながら、セル
同期が確立し、誤り訂正のできるモードであることが必
須の条件であることは言うまでもない。
It is known that when r [i] (i = 1 to 8) is determined, whether or not error correction is possible and which bit should be corrected are uniquely determined. Therefore, a table of correctability and a correction bit pattern is built in for all sets of r [i] (64 ways), r [i] is obtained, and this is (0101010).
By using a procedure in which a table is drawn when the condition is not 1) and the correction pattern is known, error correction can be instantaneously performed. However, as a matter of course, it is needless to say that a mode in which cell synchronization is established and error correction is possible is an essential condition.

【0120】このようなテーブルを引く方法を拡張する
と、セル同期の場合にも応用できる。すなわち、ヘッダ
であると仮定される5バイトのうち先頭の4バイトをア
ドレスとしてそれに対応する5バイト目の値を引き、そ
れと実際に読み出された5バイト目の値を比較するとい
う方法である。これは2の32乗という数のアドレスが
必要であるため、テーブル量としては大きくなるが、処
理量を小さくするためには有効な方法である。
An extension of the method of drawing such a table can be applied to the case of cell synchronization. That is, of the 5 bytes assumed to be the header, the first 4 bytes are used as an address, the corresponding 5th byte value is subtracted, and this is compared with the actually read 5th byte value. . Since this requires a number of addresses of 2 to the 32nd power, it increases the table amount, but is an effective method for reducing the processing amount.

【0121】以上のように、セル同期処理において、デ
ータの読み出し単位をCPUの処理幅として、その全体
に対する排他的論理和の処理、あるいはテーブル検索を
行うことによって、従来のハードウェア的なバイト単位
での読み出しおよび割算処理を用いた方法に比べて、ソ
フトウェア処理の削減を図ることができる。
As described above, in the cell synchronization processing, the unit of data read is set as the processing width of the CPU, and the exclusive OR processing is performed on the entire data or the table search is performed. The software processing can be reduced as compared with the method using the reading and division processing in.

【0122】また、セルヘッダの誤り訂正処理において
も、バイト単位に誤り訂正のための割算処理を行う従来
の方法に比べて、剰余パターンからテーブルを引いて訂
正パターンを導く方法が、ソフトウェア処理の量が削減
される。
Also in the error correction processing of the cell header, the method of subtracting the table from the surplus pattern to derive the correction pattern is software processing as compared with the conventional method of performing division processing for error correction in byte units. The amount is reduced.

【0123】特にテーブル検索において、訂正可能か否
かの情報さえ取得できればHECフィールドの値を修正
する必要がない。従って、訂正する必要があるのはヘッ
ダの残り4バイトのみであるので、本実施例である32
ビットのデータ幅のCPUでは1回で訂正パターンのテ
ーブル読み出しが可能であり、さらに効率が良くなる。
In particular, in the table search, it is not necessary to correct the value of the HEC field as long as it is possible to obtain information as to whether correction is possible. Therefore, since it is only the remaining 4 bytes of the header that needs to be corrected, this embodiment is 32.
The CPU having a bit data width can read the correction pattern table once, which further improves the efficiency.

【0124】(デスクランブルサブルーチン206)セ
ル同期サブルーチン205によって、データブロックに
含まれる同期セルの個数とその開始ビットが明確になっ
ているので、それに従ってフレームデータ収容バッファ
209からセルペイロードのデータを読みだし、順次、
デスクランブル214を行いながらペイロード収容バッ
ファ212にセルごとに12ワードにまとめて書き出し
を行う。
(Descramble Subroutine 206) Since the number of synchronous cells included in the data block and its start bit are clarified by the cell synchronous subroutine 205, the data of the cell payload is read from the frame data accommodating buffer 209 accordingly. Dashi, sequentially
While performing the descrambling 214, the data is collectively written into the payload accommodating buffer 212 in 12 words for each cell.

【0125】セルペイロードデータのあるビットに対す
るデスクランブルを行うには、やはりセルペイロード上
の43ビット前に到着したデータが必要となる。このた
め、前回のデータブロックの最後のセルのペイロードの
最後の2ワードをデスクランブル用データとして保存し
てある。
In order to descramble a certain bit of the cell payload data, the data that arrived 43 bits before the cell payload is required. Therefore, the last two words of the payload of the last cell of the previous data block are stored as descramble data.

【0126】実際の操作は以下のように行われる。デー
タブロックの最初のセルのペイロードの初めの32ビッ
トを抜き出しレジスタに書き込む。そのデータとデスク
ランブル用のデータを左右にシフトして各ビットにちょ
うど43ビット前のデータが対応するようにしたものと
の排他的論理和をとる。得られたデータをペイロード出
力用のメモリに書き出す。レジスタに書き込んだ初めの
32ビットは以後2回のデスクランブルにデスクランブ
ル用データとして使用したあと消去される。このデスク
ランブルに用いたデータもレジスタ変数宣言すること
で、メモリからのデータのロードの回数を減らすことが
可能となり高速化が計れる。
The actual operation is performed as follows. The first 32 bits of the payload of the first cell of the data block are extracted and written to the extract register. The data and the data for descrambling are shifted to the left and right, and the exclusive OR is taken with each bit corresponding to the data of 43 bits before. The obtained data is written to the payload output memory. The first 32 bits written to the register are erased after being used as descramble data for two subsequent descrambles. By declaring the register variables also for the data used for this descrambling, it is possible to reduce the number of times data is loaded from memory and speed up.

【0127】この操作を繰り返して行き、データブロッ
ク中の最後のセルのペイロードの最後の1ワードのデス
クランブルを終了した時点で、このデータブロックに対
するデスクランブルが終了する。その時このセルの最後
の2ワードのデータは次のデータブロックのデスクラン
ブルの時に使用できるように保存する。
When this operation is repeated and the descrambling of the last one word of the payload of the last cell in the data block is completed, the descrambling for this data block is completed. The last two words of data in this cell are then stored for use at the time of descrambling the next data block.

【0128】最後に無効セル表示配列に従って、無効セ
ルのペイロード部分には空セルのデータを書き込む。ま
た、無効セルの部分には初めからデスクランブルをかけ
ずに固定パターンをセルペイロード収容バッファ212
に書き込むという方法も考えられる。
Finally, in accordance with the invalid cell display array, empty cell data is written in the payload portion of the invalid cell. Further, a fixed pattern is applied to the invalid cell portion from the beginning without descrambling the cell payload accommodating buffer 212.
It is also possible to write it in.

【0129】従来のハードウェアの概念を用いたデスク
ランブル方法においては、やはりビット毎、あるいはバ
イト毎にデスクランブルの処理を行うような方法をとっ
ていたが、1セル分のペイロードは48バイトもあり、
これをデスクランブルのために最低でも1回は繰り返し
読み出さなければならないことから、本実施例のように
CPUのデータ幅の最大値である32ビット単位で処理
をすることにより、メモリからの読み出し回数を激減さ
せることができ、よってソフトウェア処理量を抑えるこ
とができる。
In the conventional descrambling method using the concept of hardware, the descrambling process is performed bit by bit or byte by byte, but the payload for one cell is 48 bytes. Yes,
Since this must be repeatedly read at least once for descrambling, the number of readings from the memory is performed by processing in units of 32 bits, which is the maximum value of the CPU data width as in this embodiment. Can be drastically reduced, and thus the software processing amount can be suppressed.

【0130】(ATMレイヤサブルーチン207)受信
側ATMレイヤ処理部3は、図18に示すようにレイヤ
処理部1201とヘッダ変換テーブル1202で構成さ
れている。このATMレイヤ処理部1201では、物理
レイヤ処理部2において抽出されたATMセルに対して
そのセルに対する情報をヘッダ変換テーブル1202か
ら引いてきて、その情報を基にヘッダ変換、スイッチ内
ルーティングタグ付加、流量監視(ポリシング)等のA
TMレイヤ処理を行い、そのデータをデータ出力プロセ
ス1204へ送出する。
(ATM Layer Subroutine 207) The receiving side ATM layer processing section 3 is composed of a layer processing section 1201 and a header conversion table 1202 as shown in FIG. The ATM layer processing unit 1201 extracts information about the ATM cell extracted by the physical layer processing unit 2 from the header conversion table 1202, converts the header based on the information, adds a routing tag in the switch, A for flow rate monitoring (polishing)
TM layer processing is performed and the data is sent to the data output process 1204.

【0131】また、ヘッダ変換テーブル1202には、
ATMレイヤ処理を行うために必要な情報が記憶されて
いる。具体的には、新しいVPI/VCIまたはコピー
コネクションのためのコネクション識別子、スイッチ内
経路情報(ルーティングタグ)、ポリシング用パラメー
タ、及び過去のある一定個数のセルの到着時間(カウン
タ値;Tp(n))がテーブルに記されている。新VP
I/VCI及びルーティングタグの値は呼設定時に設定
されると次に設定変更が行われるまで変更されない。ポ
リシング用申告値(T0,X0,T1,X1)について
も変更されない。到着時間情報はそれに対応するVPI
/VCIが到着する毎に更新されていく。
Further, in the header conversion table 1202,
Information necessary for performing ATM layer processing is stored. Specifically, a connection identifier for a new VPI / VCI or copy connection, in-switch route information (routing tag), policing parameters, and arrival time of a certain number of past cells (counter value; Tp (n)) ) Is written on the table. New VP
If the values of the I / VCI and the routing tag are set at the time of call setup, they will not be changed until the next setting change. The policing declared values (T0, X0, T1, X1) are not changed either. Arrival time information is the corresponding VPI
/ Updated every time the VCI arrives.

【0132】以下、受信側ATMレイヤ処理部3につい
て図19に示すフローチャートに従って説明していく。 (物理レイヤとのデータの受け渡し;ステップ300
1)受信側物理レイヤ処理によって抽出されたATMセ
ルはセルヘッダとペイロードの二つに分割され、受信側
ATMレイヤ処理部3はATMセルのうちヘッダ部分の
みを受け取り、ペイロード部は直接、スイッチ出力部1
204へ送られる。ここで、データ幅が32bitであ
る時、本来ATMセルヘッダは図20(a)に示すよう
に5octetあるため、そのままヘッダを転送すると
転送するためには図20(b)のように2word必要
になる。
The receiving side ATM layer processing section 3 will be described below with reference to the flow chart shown in FIG. (Passing data to and from the physical layer; step 300
1) The ATM cell extracted by the physical layer processing on the receiving side is divided into a cell header and a payload. The ATM layer processing section 3 on the receiving side receives only the header portion of the ATM cell, and the payload section directly outputs the switch output section. 1
Sent to 204. Here, when the data width is 32 bits, since the ATM cell header originally has 5 octets as shown in FIG. 20A, if the header is transferred as it is, 2 words are required as shown in FIG. 20B. .

【0133】そこで、図20(b)に示すように受信側
物理レイヤ以降の処理では使用されないHECフィール
ドを削除することにより、物理レイヤからATMレイヤ
に送られるヘッダを1wordにする。またデータ幅が
64bit以上ある場合、図20(c)に示すようにヘ
ッダはHECフィールドを削除しなくとも1wordに
収まるが、ATMスイッチでの制御情報フィールド(ル
ーティングタグ、コピー情報など)を付加する場合、そ
のフィールドを広くとるためにHECフィールドを削除
しても良い。
Therefore, as shown in FIG. 20B, the header sent from the physical layer to the ATM layer is set to 1 word by deleting the HEC field that is not used in the processing on and after the receiving side physical layer. When the data width is 64 bits or more, as shown in FIG. 20 (c), the header fits in one word without deleting the HEC field, but a control information field (routing tag, copy information, etc.) in the ATM switch is added. In this case, the HEC field may be deleted to make the field wider.

【0134】(セル数のカウントアップ;ステップ30
02)受信側ATMレイヤ処理部3では、流量監視(ポ
リシング)を行うが、このポリシングのためにはセルの
交換装置への到着時間または同一VPI/VCIの前セ
ルからの経過時間を知る必要がある。ここで受信側AT
Mレイヤ処理部3には、物理レイヤ処理部2から全ての
入力されたATMセル(有効セル、無効セル、空セル)
が送られてくるので、これらのセルを全てカウントして
いくことにより、セルの到着時間を1セル時間を単位と
した時間で知ることができる。この方法により、交換装
置、CPU等で使われている外部のクロックを用いるこ
となくこのインタフェースでの正確なセル到着時間を知
ることができ、インタフェース速度が変更されてもプロ
グラムを変更する必要がない。実時間は、このカウンタ
値に1セル時間を掛けることにより求めることができ
る。
(Counting up the number of cells; Step 30)
02) The receiving-side ATM layer processing unit 3 performs flow rate monitoring (policing). For this policing, it is necessary to know the arrival time of the cell to the switching device or the elapsed time from the previous cell of the same VPI / VCI. is there. Here the receiving AT
The M layer processing unit 3 receives all the ATM cells (valid cells, invalid cells, empty cells) input from the physical layer processing unit 2.
Is received, it is possible to know the arrival time of the cell in units of one cell time by counting all these cells. With this method, it is possible to know the exact cell arrival time at this interface without using the external clock used in the switching device, CPU, etc., and there is no need to change the program even if the interface speed is changed. . The real time can be obtained by multiplying this counter value by one cell time.

【0135】ここで、セル数のカウントに使うことので
きるデータ幅がmビットであるとすると、カウンタ値は
0から1づつインクリメントされ、2^m−1までくる
とカウンタ値は0にリセットされ、再びインクリメント
されていく。
Here, if the data width that can be used to count the number of cells is m bits, the counter value is incremented by 1 from 0, and when 2 ^ m−1, the counter value is reset to 0. , Will be incremented again.

【0136】(VPI/VCI取り出し;ステップ30
03)受け取ったヘッダ情報から図21に示すように、
ルーティング及びポリシングに必要なVPI/VCIの
値をそれぞれを取り出す。VPIは物理レイヤ処理部2
から渡されたヘッダデータ(HD)を(VCIのビット
長)+4bitだけ右にシフトさせ、VPIのビット長
以外をマスクすることにより得られる。またVCIはH
Dを4bit右にシフトした後VCIのビット長以外を
マスクすることにより得られる。このように、VPI/
VCIのビット長が変化しても、VPI/VCIのビッ
ト長のパラメータを変更するだけで簡単に対応すること
ができる。
(VPI / VCI retrieval; step 30)
03) From the received header information, as shown in FIG.
The values of VPI / VCI required for routing and policing are extracted. VPI is the physical layer processing unit 2
It is obtained by shifting the header data (HD) handed over from the unit to the right by (VCI bit length) +4 bits and masking other than the VPI bit length. VCI is H
It is obtained by shifting D to the right by 4 bits and masking other than the bit length of VCI. In this way, VPI /
Even if the VCI bit length changes, it can be easily dealt with by simply changing the parameter of the VPI / VCI bit length.

【0137】(変換テーブルアドレス計算;ステップ3
004)先に取り出したVPI/VCIから、そのVP
I/VCIに対応する変換テーブル1202の参照位置
を計算する。VPI/VCIの参照長をVPI/VCI
のビット長以下のa(bit),b(bit)とし、V
PI/VCIの下位a(bit),b(bit)を用
い、図22に示すようにそれぞれのVPI/VCIに対
応する変換テーブル1202を参照しに行く。
(Calculation of conversion table address; step 3)
004) From the VPI / VCI extracted earlier, the VP
The reference position of the conversion table 1202 corresponding to the I / VCI is calculated. The reference length of VPI / VCI is set to VPI / VCI.
A (bit) and b (bit) less than the bit length of
Using the lower a (bit) and b (bit) of PI / VCI, the conversion table 1202 corresponding to each VPI / VCI is referred to as shown in FIG.

【0138】(各情報読み出し;ステップ3005)変
換テーブル1202を参照し、各情報を読み出す。 (ポリシング〜ピークレート計算および平均レート計
算;ステップ3006)ポリシングは、ATMフォーラ
ムに規定されるUNI標準に基づいて行うが、具体的な
実現方法に付いて以下に説明する。
(Reading out each information; Step 3005) Referring to the conversion table 1202, each information is read out. (Policing-Peak Rate Calculation and Average Rate Calculation; Step 3006) Policing is performed based on the UNI standard defined by the ATM Forum, and a specific implementation method will be described below.

【0139】(1.ピークレート計算)本実施例では、
ピークレート監視のための申告値として時間T0、及び
T0時間中に存在し得る最大セル個数X0を用い、ピー
クレートをX0/T0で表す。図23に示すように、セ
ル流が時間Tk(k=…,n−X0,…,n,…)に到
着したとすると、測定対象セルの到着時間TnがX0個
前のセルの到着時間Tn-X0からT0時間たっていなけれ
ばこのセルは申告したピークレートに違反していること
になる。つまりTac=Tn−Tn-X0がT0よりも小さ
ければこのセルはピークレートに違反している。
(1. Peak Rate Calculation) In this embodiment,
The time T0 and the maximum number of cells X0 that can exist during the time T0 are used as the declared values for the peak rate monitoring, and the peak rate is represented by X0 / T0. As shown in FIG. 23, assuming that the cell flow arrives at time Tk (k = ..., n−X0, ..., N, ...), the arrival time Tn of the cell to be measured T0 before the arrival time Tn of the measurement target cell is X0. -If T0 hours have not passed since X0, this cell violates the declared peak rate. That is, if Tac = Tn-Tn-X0 is smaller than T0, this cell violates the peak rate.

【0140】ただし、端末において申告値を順守してセ
ルを送出しいても、交換装置などを経由している内に交
換装置等のバッファリング等によりセル流にゆらぎが生
じ、違反状態になることがある。そこで、ある程度のゆ
らぎを許容するためにある一定時間τを定め、Tac>
T0−τであればゆらぎの範囲内であるとし、違反セル
とはしない。ただし、この時の到着時間Tnはカウンタ
値ではなくTn=Tn-1 +T0とする。
However, even if the terminal does not send the cell in compliance with the declared value, the cell flow may fluctuate due to buffering of the switching device while passing through the switching device, resulting in a violation state. There is. Therefore, a certain time τ is set to allow a certain amount of fluctuation, and Tac>
If it is T0-τ, it is within the fluctuation range, and it is not regarded as a violation cell. However, the arrival time Tn at this time is Tn = Tn-1 + T0, not the counter value.

【0141】ここで、カウンタがリセットされた後セル
が到着すると、その前とのセルの到着時間間隔は負の値
になり正しい値にならない。そこで、Trbにセルが到
着し、その後カウンタがリセットされ、Traに次のセ
ルが到着したとする。また、カウンタの最大値がTcm
であるとする。すると、セルの到着間隔は、Tra−T
rbではなく、(Tcm−Trb)+Traになる。カ
ウンタのリセットをはさむ到着時間の間隔はこの式によ
り算出すれば良いが、リセットの有無の判定が煩雑にな
る。そこで、到着間隔の計算を(Tra−Trb+Tc
m)mod Tcmとすることによりカウンタのリセッ
トに関り無く到着時間間隔を算出することができる。
Here, when a cell arrives after the counter has been reset, the arrival time interval of the cell before that becomes a negative value, which is not a correct value. Therefore, it is assumed that the cell arrives at Trb, the counter is reset thereafter, and the next cell arrives at Tra. The maximum value of the counter is Tcm
Suppose Then, the arrival interval of cells is Tra-T.
It becomes (Tcm-Trb) + Tra instead of rb. The interval of arrival time between resets of the counter may be calculated by this formula, but it becomes complicated to determine whether or not the counter is reset. Therefore, the calculation of the arrival interval is calculated as (Tra-Trb + Tc
By setting m) mod Tcm, the arrival time interval can be calculated regardless of the reset of the counter.

【0142】(2.平均レート計算)平均レート監視の
ために、申告値として時間T1とセル個数X1を用い、
これにより監視値である平均レートをX1/T1として
表す。セル流が図24に示すように時間Tk(k=…,
n,…)に到着したとすると、セルが到着する毎に、直
前に到着したセルとの間の時間とT1/X1との差を積
算していく。つまり、セル到着毎にTad←Tad+
((Tk−Tk-1 )−T1/X1)(k=…,n,…)
と更新し、この値が負であればそのセルは申告した平均
レートに違反していることになる。
(2. Average Rate Calculation) To monitor the average rate, the time T1 and the number of cells X1 are used as declared values,
As a result, the average rate that is the monitored value is expressed as X1 / T1. As shown in FIG. 24, the cell flow has time Tk (k = ...,
, n), each time a cell arrives, the difference between the time between the cell and the cell that arrived immediately before and T1 / X1 is integrated. That is, Tad ← Tad + for each cell arrival
((Tk-Tk-1) -T1 / X1) (k = ..., n, ...)
If the value is negative, the cell violates the declared average rate.

【0143】セル到着時間間隔の計算は、ピークレート
監視の場合と同様に行い、この場合もカウンタ値のリセ
ットに影響されずに計算される。 (VPI/VCI付け替え;ステップ3012)上記ポ
リシングにおいて違反していないと判定されたセルは、
ヘッダ変換テーブル1202においてセルヘッダに付け
られたVPI/VCIに対応する部分から求めてきた新
しいVPI/VCIあるいはコピーコネクションのため
のコネクション識別子によってヘッダが上書きされる。
The cell arrival time interval is calculated in the same manner as in the case of peak rate monitoring, and in this case as well, it is calculated without being affected by the reset of the counter value. (VPI / VCI reassignment; step 3012) The cells determined not to violate in the above policing are:
The header is overwritten by the new VPI / VCI obtained from the portion corresponding to the VPI / VCI attached to the cell header in the header conversion table 1202 or the connection identifier for the copy connection.

【0144】(ルーティングタグ付加;ステップ301
3)セルはスイッチにおいて自己ルーティングを行うた
めに、ヘッダ変換テーブル1202からVPI/VCI
を基に引いてきたスイッチでのスイッチング情報を記し
たルーティングタグをスイッチセルフォーマットに合わ
せてヘッダ部分に付加する。
(Add Routing Tag; Step 301)
3) The cell uses VPI / VCI from the header conversion table 1202 to perform self-routing in the switch.
A routing tag that describes the switching information of the switch drawn based on is added to the header part according to the switch cell format.

【0145】(ピークレート、平均レートに違反してい
る場合の処理;ステップ3007〜ステップ3011)
一方、入力されたATMセル流が、上記のポリシング
(ピークレート、平均レート)のいずれかに違反してい
る場合、ATMレイヤ処理部3では次のような処理を行
う。ルーティングタグを付加する時、ATMスイッチ4
において無効セルあるいは空セルと判断されるルーティ
ングタグを付加する(ステップ3011,3013)。
あるいは該当セルに違反セルであるというフラグを記し
て(ステップ3010)、そのままヘッダ変換を行う
(ステップ3012)。
(Processing when Violation of Peak Rate and Average Rate; Step 3007 to Step 3011)
On the other hand, when the input ATM cell flow violates any of the above policings (peak rate, average rate), the ATM layer processing unit 3 performs the following processing. ATM switch 4 when adding a routing tag
A routing tag determined to be an invalid cell or an empty cell is added in step (steps 3011 and 3013).
Alternatively, a flag indicating that it is a violating cell is added to the corresponding cell (step 3010), and the header conversion is performed as it is (step 3012).

【0146】(ポリッシング用セル到着時間更新;ステ
ップ3014)ルーティングタグ付加(ステップ301
3)を行った後、ポリッシング用セル到着時間更新を行
う。ポリシングのための変数として、各VPI/VCI
について上記の申告値X0,T0,X1,T1の他にX
0セル個前までのセル到着時間が必要になる。本実施例
では、図25の例において、それら到着時間は配列Tp
(n)(n=0,1,‥‥,X0−1)に記憶されてい
る。この配列の内容は、以下のアルゴリズムに従って更
新されていく。
(Updating cell arrival time for polishing; step 3014) Adding routing tag (step 301)
After performing 3), the polishing cell arrival time is updated. Each VPI / VCI as a variable for policing
Regarding the above declared values X0, T0, X1, T1, X
The cell arrival time up to 0 cells before is required. In the present embodiment, in the example of FIG. 25, the arrival times are the array Tp.
(N) (n = 0, 1, ..., X0-1). The contents of this array are updated according to the following algorithm.

【0147】Tp(k)=Tnであるとすると、Tp
(k−1)=Tn-1 ,Tp(k−2)=Tn-2 ,‥‥
‥,Tp(0)=Tn-k ,Tp(X0−1)=Tn-k-1
,‥‥‥,Tp(k+1)=Tn-X0となっている。次
のセルが到着すると、Tp(k+1)=Tn+1 とTp
(k+1)を更新する。これにより、次のセルが到着し
た時、ポリシングを行うためにはkを用いて、Tp
(k),Tp(k+1)(k=X0−1の場合はTp
(X0−1),Tp(0))を参照/更新すればよい。
If Tp (k) = Tn, then Tp
(K-1) = Tn-1, Tp (k-2) = Tn-2, ...
, Tp (0) = Tn-k, Tp (X0-1) = Tn-k-1
, ..., Tp (k + 1) = Tn-X0. When the next cell arrives, Tp (k + 1) = Tn + 1 and Tp
Update (k + 1). Thus, when the next cell arrives, k is used to perform policing and Tp
(K), Tp (k + 1) (Tp if k = X0-1)
(X0-1), Tp (0)) may be referred to / updated.

【0148】(受信データ出力サブルーチン(図1の2
01に対応))ATMレイヤサブルーチンの処理の結
果、ATMスイッチ4に出力すべきセルのヘッダにルー
ティングタグを付加したものが、ルーティングタグ付き
ヘッダ収容バッファに211収容される。また、同時に
セル同期サブルーチンによって得られたセルのうち、A
TMスイッチ4に出力しないものの情報が得られる。こ
れらの情報と、デスクランブルサブルーチンの結果のセ
ルペイロード収容バッファ212上のデータとから、A
TMスイッチ4に出力するセルを再形成して出力を行
う。
(Received data output subroutine (2 in FIG. 1
(Corresponding to 01)) As a result of the processing of the ATM layer subroutine, the header of the cell to be output to the ATM switch 4 with the routing tag added is accommodated in the header accommodating buffer with routing tag 211. At the same time, among the cells obtained by the cell synchronization subroutine, A
Information that is not output to the TM switch 4 can be obtained. From these information and the data in the cell payload accommodating buffer 212 as a result of the descrambling subroutine, A
The cells to be output to the TM switch 4 are reformed and output.

【0149】(受信側出力部)データ出力サブルーチン
からのセルデータは、受信側出力部1bすなわち受信側
出力FIFOに格納される。受信側出力FIFOは、A
TMスイッチ4からのタイミングに従ってATMスイッ
チ4にセルデータを出力する。
(Reception Side Output Unit) The cell data from the data output subroutine is stored in the reception side output unit 1b, that is, the reception side output FIFO. The receiver output FIFO is A
Cell data is output to the ATM switch 4 according to the timing from the TM switch 4.

【0150】受信側出力FIFOは、内部にデータが存
在しない場合は空セルを送出する。また、受信側出力F
IFOに空きがない場合、データ出力サブルーチンから
のセルデータは廃棄する。
The output FIFO of the receiving side sends out an empty cell when there is no data inside. Also, the receiving side output F
If there is no free space in the IFO, the cell data from the data output subroutine is discarded.

【0151】次に、送信側通話路プロセスサブルーチン
の構成とその詳細について説明する。 (サブルーチン切り分けについて)送信側の通話路プロ
セスに関しても受信側と同様のプロセスで行われてい
る。以下、送信側通話路プロセスにおける各サブルーチ
ンの流れとその時のデータとポインタ、有効セル等の情
報の流れを図26に従って説明する。なお、図26で太
い矢印はデータの流れを、Pと記された細い矢印はポイ
ンタの流れを示すものとする。
Next, the structure and details of the transmission side speech path process subroutine will be described. (Subroutine division) Regarding the communication path process on the transmission side, the same process as on the reception side is performed. The flow of each subroutine in the transmission side communication path process and the flow of information such as data, pointers, and valid cells at that time will be described below with reference to FIG. In FIG. 26, the thick arrow indicates the data flow, and the thin arrow marked P indicates the pointer flow.

【0152】まず、ATMスイッチ4から出力されたセ
ルは、送信側入力部7aすなわち送信側入力FIFOに
入力される。送信側入力FIFO内のセルデータは、送
信側入力サブルーチン2003によってCPUメモリ上
のスイッチセル収容バッファ2009に書き込まれる。
ここで、送信側入力FIFOの容量が十分に大きくとれ
る場合は、セルデータを一度スイッチセル収容バッファ
2009に保持する必要はなく、図26の上部の点線で
囲まれた部分2014は不要となる。
First, the cell output from the ATM switch 4 is input to the transmission side input section 7a, that is, the transmission side input FIFO. The cell data in the transmission side input FIFO is written in the switch cell accommodating buffer 2009 on the CPU memory by the transmission side input subroutine 2003.
Here, when the capacity of the transmission side input FIFO can be made sufficiently large, it is not necessary to hold the cell data once in the switch cell accommodating buffer 2009, and the portion 2014 surrounded by the dotted line in the upper part of FIG. 26 is unnecessary.

【0153】送信側入力サブルーチン2003から送信
側ATMレイヤ処理サブルーチン2004へは、スイッ
チセル収容バッファ2009のポインタのみが渡され、
ATMレイヤ処理サブルーチン2004は、このポイン
タを基にセルデータをスイッチセル収容バッファ200
9から取り出してくる。上述のようにスイッチセル収容
バッファ2009が省略された場合は、セルデータが直
接、送信側ATMレイヤ処理部5に送られてくる。
Only the pointer of the switch cell accommodating buffer 2009 is passed from the transmitting side input subroutine 2003 to the transmitting side ATM layer processing subroutine 2004.
The ATM layer processing subroutine 2004 stores the cell data in the switch cell accommodating buffer 200 based on this pointer.
Take out from 9. When the switch cell accommodating buffer 2009 is omitted as described above, the cell data is directly sent to the transmitting side ATM layer processing section 5.

【0154】送信側ATMレイヤ処理部5にいては、ス
イッチフォーマットのセルから受信側ATMレイヤ処理
部3において付加されたルーティングタグを削除し、A
TMフォーマットのセルに変換する。また、必要に応じ
てVPI/VCIの変換、シェーピングを行う。
In the transmitting side ATM layer processing section 5, the routing tag added in the receiving side ATM layer processing section 3 is deleted from the cell of the switch format, and A
Convert to TM format cell. Also, VPI / VCI conversion and shaping are performed as necessary.

【0155】シェーピングを行った結果、送信側ATM
レイヤ処理部5に入力されたときとセル順序が異なって
くるため、セル順序収容バッファ2012にシェーピン
グ後のセル順序を記録し、そのポインタを物理レイヤ処
理サブルーチン2005へ渡す。
As a result of shaping, the ATM on the transmitting side
Since the cell order is different from that when input to the layer processing unit 5, the cell order after shaping is recorded in the cell order accommodation buffer 2012, and the pointer is passed to the physical layer processing subroutine 2005.

【0156】また、セルはヘッダとペイロードに分離さ
れてヘッダ収容バッファ2010とペイロード収容バッ
ファ2011に収容され、物理レイヤ処理サブルーチン
2005にはそのポインタのみが渡される。
The cell is separated into a header and a payload and accommodated in the header accommodation buffer 2010 and the payload accommodation buffer 2011, and only the pointer is passed to the physical layer processing subroutine 2005.

【0157】物理レイヤ処理サブルーチン2005で
は、主にペイロード部のスクランブルとヘッダのHEC
部分の計算、セルデータのフレームへの組み込みなどを
行う。まず、セル順序収容バッファ2012にあるセル
送出順に従ってペイロード収容バッファからセル単位で
フレーミングに必要なデータを読み出し、逐次スクラン
ブルを行う。この組み込み時、別途、ヘッダ収容バッフ
ァ2010からペイロードに対応するヘッダを読み出
し、読みだした4バイトのヘッダに対応したHECを計
算しそこに付加し、スクランブルされたペイロード部と
組み合わせてセルデータを構成しそのデータをフレーム
に組み込む。このデータは出力フレームデータ収容バッ
ファ2013に書き込まれ、出力プロセス2008に引
き渡される。この時、送信側の出力FIFOが十分に大
きい場合、または物理レイヤ処理のサブルーチンが送信
側出力FIFOの空を感知して起動される場合は、フレ
ームのデータを一度、出力フレームデータ収容バッファ
2013に保存する必要はなく、直接、送信側出力サブ
ルーチン2006にデータを渡して、外部のFIFOに
書き込むことが可能である。この場合は、図26の下部
の点線で囲まれた部分2015は不要となる。
In the physical layer processing subroutine 2005, mainly the scrambling of the payload part and the HEC of the header are performed.
It calculates parts and incorporates cell data into frames. First, the data necessary for framing is read from the payload accommodating buffer in cell units according to the cell transmission order in the cell order accommodating buffer 2012, and scrambled sequentially. At the time of this incorporation, a header corresponding to the payload is separately read from the header accommodating buffer 2010, HEC corresponding to the read 4-byte header is calculated, added to the HEC, and combined with the scrambled payload part to form cell data. Then incorporate that data into the frame. This data is written in the output frame data accommodating buffer 2013 and is delivered to the output process 2008. At this time, if the output FIFO of the transmission side is sufficiently large, or if the physical layer processing subroutine is activated by sensing that the output FIFO of the transmission side is empty, the frame data is once stored in the output frame data accommodating buffer 2013. It is not necessary to save the data, and it is possible to directly pass the data to the transmission side output subroutine 2006 and write it in the external FIFO. In this case, the portion 2015 surrounded by the dotted line at the bottom of FIG. 26 is unnecessary.

【0158】以上のように、送信側通話路プロセスも受
信側通話路プロセスと同様に処理がサブルーチンに分割
される。これにより、例えばペイロード部のスクランブ
ルをハードウェアに置き換える、などのソフトウェアと
ハードウェアの組み合わせを自由に行うことができる。
As described above, the transmission side speech path process is divided into subroutines like the reception side speech path process. As a result, it is possible to freely combine software and hardware, for example, to replace the scramble of the payload with hardware.

【0159】これら送信側の物理レイヤ処理についても
受信側の物理レイヤと同様に、CPUのデータ幅で処理
を行うことによって、ソフトウェア処理の軽減がはから
れている。
As for the physical layer processing on the transmitting side, the software processing can be reduced by processing with the data width of the CPU similarly to the physical layer on the receiving side.

【0160】HEC生成においては、従来のハードウェ
ア概念による処理においては、ヘッダを1バイトずつ4
回読み出して、その度にわり算処理を行う必要があった
が、本実施例の32ビットCPUでは、ヘッダの先頭4
バイトを1回で読み出し、排他的論理和演算、あるいは
テーブルを引くことによってHECの値を容易に得るこ
とができる。
In the HEC generation, in the processing according to the conventional hardware concept, the header is divided into 4 bytes by 1 byte.
It was necessary to read the data twice and perform the division processing each time, but in the 32-bit CPU of this embodiment, the header 4
The value of HEC can be easily obtained by reading the byte once and performing an exclusive OR operation or drawing a table.

【0161】スクランブルについてもデスクランブルと
同様、1セルについて48バイトのデータを読み出さな
ければならないため、これを1ビットおよび1バイト単
位で読み出す従来の方式に比べ、32ビット等のデータ
幅で読み出すことで、読み出し回数を減らせる。
For scrambling as well as for descrambling, 48 bytes of data must be read for each cell. Therefore, it is necessary to read this with a data width of 32 bits or the like as compared with the conventional method of reading this in 1-bit and 1-byte units. Thus, the number of times of reading can be reduced.

【0162】さらに、そのスクランブルされたデータを
直接フレーム送出用のFIFOに書き込むことによっ
て、一旦内部キャッシュメモリに書き込む必要がなく、
そのために書き込む回数が減らせる。
Further, by writing the scrambled data directly into the FIFO for frame transmission, there is no need to write once into the internal cache memory,
Therefore, the number of writings can be reduced.

【0163】一般に、メモリおよびFIFOへの書き込
み、およびそれらからの読み出しにはCPUには多くの
処理をとられてしまう。このため、上記のような1バイ
トを越えるようなCPUのデータ幅を有効に使って、デ
ータを処理することによって、書き込みや読み出しの回
数が減り、従ってCPU処理が軽減される。
Generally, a lot of processing is performed by the CPU for writing to and reading from the memory and the FIFO. Therefore, by effectively using the CPU data width exceeding 1 byte as described above to process the data, the number of times of writing and reading is reduced, and therefore the CPU processing is reduced.

【0164】以上述べた、物理レイヤによる従来の処理
と本実施例での処理の比較を図27に示す。次に、各手
続き、サブルーチンについてさらに詳細に説明する。
FIG. 27 shows a comparison between the conventional processing by the physical layer described above and the processing in this embodiment. Next, each procedure and subroutine will be described in more detail.

【0165】(送信側入力処理サブルーチン2003)
ATMスイッチ4から出力されたセルデータは、送信側
入力FIFOに保持される。送信側入力サブルーチン2
003は、そのFIFO内のデータをCPUメモリ上に
あるスイッチセル収容バッファ2009に書き込む。次
のサブルーチンであるATMレイヤ処理サブルーチン2
004には、そのスイッチセル収容バッファ2009の
ポインタ、および収容セル数などを与える。図26の上
部の点線で囲まれた部分2014を省略する場合、この
サブルーチンは単にデータをFIFOからATMレイヤ
処理サブルーチン2004に渡すだけである。
(Sending side input processing subroutine 2003)
The cell data output from the ATM switch 4 is held in the transmission side input FIFO. Transmitting side input subroutine 2
003 writes the data in the FIFO into the switch cell accommodating buffer 2009 on the CPU memory. ATM layer processing subroutine 2 which is the next subroutine
A pointer of the switch cell accommodating buffer 2009 and the number of accommodating cells are given to 004. If the portion 2014 surrounded by the dotted line in the upper part of FIG. 26 is omitted, this subroutine simply passes the data from the FIFO to the ATM layer processing subroutine 2004.

【0166】(送信側ATMレイヤ処理サブルーチン2
004)受信側ATMレイヤ処理部3においてルーティ
ングタグ、コピータグ、等の情報が付加され、スイッチ
セルフォーマットに変更されたセルを、送信側ATMレ
イヤ部5において受信側で付加された部分を削除しAT
Mセルフォーマットにもどす。また、同時に後述の送信
側物理レイヤ処理部6で行うペイロード部のスクランブ
ルを容易にするために、セルヘッダとペイロード部の分
離を行う。
(Sending ATM layer processing subroutine 2
004) Delete the cells added with information such as routing tag, copy tag, etc. in the receiving side ATM layer processing section 3 and changed to the switch cell format in the transmitting side ATM layer section 5 at the receiving side. AT
Return to M cell format. At the same time, in order to facilitate the scrambling of the payload section performed by the transmission side physical layer processing section 6 described later, the cell header and the payload section are separated.

【0167】ATMスイッチ4にコピー機能が付いてい
る場合、受信側ATMレイヤ処理部3でVPI/VCI
の変換を行う代わりに、交換装置内部でのみ有効なコネ
クション識別子を付加し、送信側ATMレイヤ処理部5
では、このコネクション識別子によってVPI/VCI
変換テーブル1202を参照し、新しいVPI/VCI
に書き換えるという方式が有効である。
When the ATM switch 4 has a copy function, the ATM layer processing unit 3 on the receiving side performs VPI / VCI.
Instead of performing the above conversion, a connection identifier valid only within the switching device is added, and the transmitting side ATM layer processing unit 5
Then, with this connection identifier, VPI / VCI
Referring to the conversion table 1202, the new VPI / VCI
The method of rewriting is effective.

【0168】さらに、ATMスイッチにおける輻輳制
御、また他のパスからのセルとの多重化によりセル流の
形態が入力されたときの状態と変わってくる。そこで、
申告値に合うようにセル流を整形するシェイピング処理
を、送信側ATMレイヤ処理部5において実行すると有
効である。
Furthermore, due to congestion control in the ATM switch and multiplexing with cells from other paths, the state of the cell flow changes from the state when it is input. Therefore,
It is effective to execute the shaping process for shaping the cell flow so as to match the declared value in the transmission side ATM layer processing unit 5.

【0169】シェイピングを行う場合、シェイピングを
行うセルの出力セル流における時間的位置を知る必要が
ある。そこで、ATMレイヤ処理部5から物理レイヤ処
理部6へ引き渡すセル数をカウントしていき、このカウ
ント数を1セル時間を単位とした時間としてシェイピン
グに用いることにより、CPUは時計機能を持つ必要が
ない。このように、物理レイヤ処理部6へに引き渡され
たセル数をカウントすることにより、例えば、セル廃棄
特性向上を目的として、セル転送速度をインタフェース
点でのセル転送速度よりも上げたATMスイッチ4に対
応したATMレイヤ処理サブルーチンであっても、この
方法により物理レイヤ処理部6におけるセル転送速度で
シェイピングを行うことが可能になる。
When performing shaping, it is necessary to know the temporal position in the output cell flow of the cell to be shaped. Therefore, the number of cells passed from the ATM layer processing unit 5 to the physical layer processing unit 6 is counted, and this counting number is used for shaping in a unit of one cell time, so that the CPU needs to have a clock function. Absent. As described above, by counting the number of cells delivered to the physical layer processing unit 6, for example, the ATM switch 4 having a cell transfer rate higher than the cell transfer rate at the interface point for the purpose of improving cell discard characteristics. Even in the ATM layer processing subroutine corresponding to the above, this method enables shaping at the cell transfer rate in the physical layer processing unit 6.

【0170】(物理レイヤ処理サブルーチン2005)
フレームを生成する際は、1フレームを単位に生成を行
う。ここでモデルとしているフレーム構造としては、そ
の1つのフレームが含むセルデータは96バイトとセル
数にして2セル弱であり、セルの切れ目とフレーム生成
の切れ目が一致することは希なことである。そこで,フ
レームを生成するサブルーチン間で、以下のデータの受
け渡しをする必要が生じる。それらはフレーム書き込み
ポイント、セル読み出しポイント、スクランブルデー
タ、メモリ内セル書き込み変数、メモリ内セル読み出し
変数などである。フレーム書き込みポイントはフレーム
内で次の書き込みを行う位置をバイト単位で表してお
り、0〜95までの値を取る。セル読み出しポイントは
CPUの内部メモリ上のセル内で次に読み出しを行う位
置をバイト単位で表しており、−52〜52までの値を
取る。
(Physical layer processing subroutine 2005)
When a frame is generated, it is generated in units of one frame. In the frame structure used as a model here, the cell data included in one frame is 96 bytes, and the number of cells is less than 2 cells, and it is rare that a cell break and a frame generation break match. . Therefore, it becomes necessary to transfer the following data between the subroutines that generate frames. These are frame write points, cell read points, scrambled data, in-memory cell write variables, in-memory cell read variables and the like. The frame writing point represents the position where the next writing is performed in the frame in byte units, and takes a value from 0 to 95. The cell read point represents the position where data is read next in a cell on the internal memory of the CPU in byte units, and takes a value from -52 to 52.

【0171】値が負の場合はメモリ上に出力可能のセル
が存在しなかったために空セルを出力している場合であ
り、その絶対値が空セルの何バイト目かを示す。スクラ
ンブルデータは、このデータブロックの最初の2ワード
のデータに対するスクランブルを行うのに使用するため
のデータで、前データブロックでスクランブルを行った
後の最後の2ワードのデータである。もちろん、このデ
ータブロックのフレーミングが終了する時はこのデータ
ブロックのスクランブル後の最後の2ワードを入れてお
く。
When the value is negative, it means that there is no outputtable cell on the memory and therefore an empty cell is being output. The absolute value indicates the number of bytes of the empty cell. The scramble data is data used to scramble the first two words of data in this data block, and is the last two words of data after scrambling in the previous data block. Of course, when the framing of this data block ends, the last two words after scrambling of this data block are inserted.

【0172】メモリ内セル書き込み変数はCPUのメモ
リ上で次にセルを書き込むポイントを表しており、この
値とセルを読み出すポイントを表すメモリ内セル読み出
し変数の値を比べることによって出力可能なセルの有無
を判別する。書き込み変数と読み出し変数の値が等しい
場合は読み出せるセルがない時で、書き込み変数が読み
出し変数よりも大きい場合は読み出しが可能なセルが存
在する時である。1つのセルの読み出しが完了したらセ
ルの読み出しポイントは1を足され、また書き込み変数
との比較を行う。
The in-memory cell write variable represents the point at which the next cell is written in the memory of the CPU. By comparing this value with the value of the in-memory cell read variable indicating the point at which the cell is read, Determine the presence or absence. When the value of the write variable is equal to the value of the read variable, there is no readable cell, and when the write variable is larger than the read variable, there is a readable cell. When the reading of one cell is completed, the reading point of the cell is incremented by 1 and a comparison with the write variable is made.

【0173】次に、実際に新しいフレームを生成する時
の手続きについて図28に従って説明を行う。まず、初
めに前回のフレーム生成で最後のワードに入らずに余っ
たデータ(0〜3バイト)を今回のフレームの初めに入
れ込む(ステップ4001)。実際には1ワード全てを
書き込む操作をするのであるが、その余りのデータのバ
イト数に応じたフレーム書き込みポイントを受け取り、
その値に従って次のデータの書き込みを開始すること
で、余りのデータのフレームへの書き込みがなされる。
Next, the procedure for actually generating a new frame will be described with reference to FIG. First, the data (0 to 3 bytes) left over from the last word in the previous frame generation is inserted into the beginning of the current frame (step 4001). Actually, the operation to write all 1 word is performed, but the frame writing point according to the number of bytes of the remaining data is received,
By starting writing the next data according to the value, the remaining data is written to the frame.

【0174】次に、セル読み出しポイントの値によっ
て、前回の物理レイヤ処理がどのような状態で終了した
かを調べる。前回の物理レイヤ処理のフレーミングが空
セルの出力途中で終了していた場合(ステップ4002
でYesの場合)、HECの出力からであれば(ステッ
プ4003でYesの場合;セル読み出しポイントは−
4)、まず空セルのHECを出力フレームデータ収容バ
ッファ2013に書き込み(ステップ4004)、その
後、空セルのデータをスクランブルしながらバッファに
書き込む(ステップ4005)。ここで、空セルのヘッ
ダパターンは固定値であるので、プログラム中にHEC
の値を定数で持っており、その空セルHECデータを出
力するだけでよい。一方、ペイロード部分の出力からで
あれば(ステップ4003でNoの場合;セル読み出し
ポイントは−5以下)、空セルのペイロードの残りの分
をスクランブルしながらバッファに書き込む(ステップ
4005)。
Next, the state of the previous physical layer processing is checked by the value of the cell read point. If the previous framing of the physical layer processing was completed while the empty cell was being output (step 4002)
If Yes in step 4003, if the output is from the HEC (Yes in step 4003; cell read point is −).
4) First, the HEC of the empty cell is written in the output frame data accommodating buffer 2013 (step 4004), and thereafter, the data of the empty cell is scrambled and written in the buffer (step 4005). Here, since the header pattern of an empty cell has a fixed value, HEC
Has a constant value, and it is only necessary to output the empty cell HEC data. On the other hand, if it is from the output of the payload portion (No in step 4003; cell read point is -5 or less), the rest of the payload of the empty cell is scrambled and written in the buffer (step 4005).

【0175】前回のフレーミングが有効セルの出力途中
であった場合(ステップ4006でYesの場合)、H
ECの出力からであれば(ステップ4007でYesの
場合;セル読み出しポイントの値が4)、まずヘッダの
値からHECを計算して、それをバッファに書き込み
(ステップ4008)、その後ペイロード部分をスクラ
ンブルしながらバッファに書き込む(ステップ400
9)。一方、ペイロード部分からであれば(ステップ4
006でNoの場合;セル読み出しポイントの値は5以
上)、残りのペイロード部分をスクランブルしながらバ
ッファに書き込んで行く(ステップ4009)。
If the previous framing was in the process of outputting a valid cell (Yes in step 4006), H
If it is from the output of EC (Yes in step 4007; the value of the cell read point is 4), HEC is first calculated from the value of the header and written in the buffer (step 4008), and then the payload part is scrambled. While writing to the buffer (step 400
9). On the other hand, if it is from the payload part (step 4
If No in 006; the value of the cell read point is 5 or more), the remaining payload portion is scrambled and written into the buffer (step 4009).

【0176】次に、上記ステップ4005、4009を
行った後、あるいはステップ4006でNoの場合、す
なわち前回の処理がちょうどセルの終わりで終了してい
た場合は(セル読み出しポイントの値は0)、以下の処
理を行う。
Next, after performing the above steps 4005 and 4009, or in the case of No in step 4006, that is, when the previous processing has just ended at the end of the cell (the value of the cell read point is 0), The following processing is performed.

【0177】出力可能な有効セルがCPU上のメモリに
あるかどうかを知らべて(ステップ4010または40
15)、それに応じて有効セルの出力(ステップ401
1〜4013または4016〜4018)もしくは空セ
ルの出力(ステップ4014または4019)を行う。
これらバッファへのデータの書き込みの位置は全てフレ
ーム書き込みポイントの値に従って行われる。また、書
き込みを行った時は必ずフレーム書き込みポイントとセ
ル読み出しポイントの値の更新を行う。空セル、有効セ
ル、どちらのセルの出力の場合も1つのセルの終わりま
で出力をしたら、セル読み出しポイントを0に初期化
し、メモリ内セル読み出し変数に1を足し、再び出力可
能な有効セルがCPU上に存在するか否かを検査し、そ
れにしたがって次のセルの出力を行う。
Notify whether there is a valid outputable cell in the memory on the CPU (step 4010 or 40).
15), and output the valid cells accordingly (step 401
1-4013 or 4016-4018) or an empty cell is output (step 4014 or 4019).
All data writing positions in these buffers are performed according to the value of the frame writing point. Also, when writing is performed, the values of the frame writing point and the cell reading point are always updated. When outputting to the end of one cell in the case of output of either empty cell or valid cell, the cell read point is initialized to 0, 1 is added to the in-memory cell read variable, and the valid cell that can be output again is It is checked whether it exists on the CPU and the next cell is output accordingly.

【0178】上記処理をフレームのデータが満たされる
まで、つまりフレーム書き込みポイントが96以上にな
るまで続けて行う。フレームが満たされた場合、スクラ
ンブル用のデータの保存や、フレームデータから余った
データの保存、フレーム書き込みポイントの次のフレー
ミング用への設定などを行って物理レイヤ処理サブルー
チンは終了する。
The above processing is continuously performed until the frame data is filled, that is, until the frame writing point becomes 96 or more. When the frame is filled, the physical layer processing subroutine ends by saving the data for scrambling, saving the extra data from the frame data, and setting the frame writing point for the next framing.

【0179】次に、セルペイロードのスクランブルの手
続きを図29に従って説明する。セルペイロードのある
ビットのスクランブルを行うには、そのビットより43
ビット前に出力をした、スクランブル後のデータが必要
である。よって現在のデータワードに対するスクランブ
ルを行うために、常にスクランブル後のデータのうち最
新の2ワードはレジスタ内で保持するようにしている。
この時、この変数をC上でレジスタ変数指定することで
メモリとの間の無駄なロードを削減することが可能とな
り、高速化が計れる。実際のデスクランブルデータは、
セルペイロード収容バッファから読み込んできた1ワー
ドのデータと、スクランブル用のデータ2ワードのうち
古い方のデータを左に21ビット、新しい方のデータを
を右に11ビットビットシフトしたもの3つで排他的論
理和の処理をすることで得られる。新たに得られたデー
タはフレーム上にセルデータとして出力されるととも
に、CPU内部のレジスタ上に次のデータへのスクラン
ブル用のデータとして保持される。また、スクランブル
用の2ワードのデータのうち古い方は廃棄をされる。な
お、読み出し可能なセルが内部のメモリに無い場合、フ
レーミングサブルーチンでは空セルを出力する訳である
が、その際、データのペイロード部分のスクランブルを
行わないという方法も考えられる。
The cell payload scrambling procedure will be described below with reference to FIG. To scramble a bit in the cell payload, use 43 from that bit.
The scrambled data that is output before the bit is required. Therefore, in order to scramble the current data word, the latest two words of the scrambled data are always held in the register.
At this time, by designating this variable as a register variable on C, it is possible to reduce unnecessary load to the memory and speed up. The actual descrambled data is
Exclusive of the 1-word data read from the cell payload accommodating buffer and the scrambled data of 2 words, the older one of which is shifted 21 bits to the left and the newer data is shifted to the right by 11 bits. It is obtained by processing logical disjunction. The newly obtained data is output as cell data on the frame and held in a register inside the CPU as data for scrambling to the next data. In addition, the older one of the scrambled two-word data is discarded. If there is no readable cell in the internal memory, an empty cell is output in the framing subroutine. At that time, a method of not scrambling the payload part of the data may be considered.

【0180】HECの計算は、セル同期のところで詳細
に説明したように、1ワードの長さのヘッダのデータを
左に最大7ビット右に最大2ビットシフトした、計10
個のデータそれぞれにマスクをかけて必要なビットを4
つのバイトのいずれかの位置に作用させ、最後にその4
つのバイトの各ビットを対応させた排他的論理和をとる
ことで計算が可能である。
As described in detail in the cell synchronization, the HEC calculation is performed by shifting the data of the header having a length of 1 word to the left by up to 7 bits and to the right by up to 2 bits in total.
Mask each of the data and set the required bits to 4
Act on any of the two bytes, and finally the 4
It is possible to calculate by taking the exclusive OR of each bit of one byte.

【0181】(送信側出力処理サブルーチン2006)
データを出力する際、送信側出力部7bのFIFOへ渡
す1つのフレームのデータは24ワードと21ビットな
るが、このデータをフレーム間でどのように連続的に出
力するかにも、幾つか方法が考えられる。まず、ソフト
ウェアによって半端なデータを内部のメモリにためてお
き、次回のフレームの先頭にそれを付加する方法があ
る。また、図30に示すハードウェアを用いて、CPU
2301からパラレルのデータとともにそのデータの有
効ビット幅の情報を出力し、データはデータ用のFIF
O2302に、有効ビット幅の情報を有効データ幅記憶
FIFO2304にそれぞれ記憶し、その情報に従って
パラレル−シリアル変換器2303にてパラレル−シリ
アル変換を行う方法が考えられる。
(Transmission side output processing subroutine 2006)
When outputting data, the data of one frame passed to the FIFO of the output unit 7b on the transmission side is 24 words and 21 bits, but there are several methods for how to output this data continuously between frames. Can be considered. First, there is a method of storing odd data in internal memory by software and adding it to the beginning of the next frame. In addition, by using the hardware shown in FIG.
2301 outputs the information of the effective bit width of the data together with the parallel data, and the data is the FIF for the data.
A method of storing effective bit width information in the O2302 in the effective data width storage FIFO 2304 and performing parallel-serial conversion in the parallel-serial converter 2303 according to the information may be considered.

【0182】以上説明してきたように、物理レイヤ処理
を従来のハードウェアによる処理単位であるビット単位
あるいは多くてもバイト単位で処理するような考え方で
は、ソフトウェア処理効率があまり上がらなかった。す
なわち、ソフトウェア処理による交換装置において使用
を想定している高性能プロセッサは通常、32ビットあ
るいは64ビットといった8ビットを越えるデータ幅を
持っており、それに対して物理レイヤの処理をバイト単
位にして処理していたためである。ソフトウェア処理に
おいては、メモリからデータを読みだしてレジスタに書
き込むといった処理のための時間が全体の処理効率の大
部分を占めるため、本実施例のようにデータ処理幅をプ
ロセッサのデータ幅にうまく合うようにプログラミング
を考えることによって、物理レイヤのソフトウェア処理
効率が飛躍的によくなる。
As described above, the software processing efficiency has not been improved so much in the idea that the physical layer processing is performed in the unit of bit which is the processing unit of the conventional hardware or in the unit of byte at most. That is, a high-performance processor that is supposed to be used in a switching device by software processing usually has a data width exceeding 8 bits such as 32 bits or 64 bits, whereas the physical layer processing is performed in byte units. It was because I was doing. In software processing, the time for processing such as reading data from the memory and writing it in the register occupies most of the overall processing efficiency, so that the data processing width matches the data width of the processor well as in the present embodiment. By thinking about programming in this way, the software processing efficiency of the physical layer is dramatically improved.

【0183】次に、他の発明に係る実施例について説明
する。上記実施例において、物理レイヤプロセスとAT
Mレイヤプロセスとでのセルの受け渡しとして、空間的
にヘッダ部分とペイロード部分を分けて管理することを
述べた。以下、これらのデータが実際にCPU内メモリ
のどこに書かれたかを示す情報、あるいはどこのセルを
読み出したかを示す情報をやりとりし、これら2つのプ
ロセス間でのデータの流れをうまくいくようにする方法
について説明する。ここでは、ポインタを使って共有メ
モリの排他制御を行う方法の実施例を示す。
Next, an embodiment according to another invention will be described. In the above embodiment, the physical layer process and the AT
It has been described that the header part and the payload part are spatially divided and managed as the cell transfer with the M layer process. Below, information indicating where these data were actually written in the memory in the CPU or information indicating which cell was read is exchanged so that the flow of data between these two processes will be successful. The method will be described. Here, an embodiment of a method of performing exclusive control of shared memory using a pointer will be shown.

【0184】図31は、受信側、送信側におけるデータ
の流れと、ポインタの様子を示す。まず、受信側におい
て、入力データは受信側FIFO2801に蓄えられ、
受信側物理レイヤプロセス2802によって物理レイヤ
処理が行われ、セルの形になったデータがCPUメモリ
上受信側バッファ2803に書き込まれる。この書き込
みのときには、受信側ATMレイヤプロセス2804に
よってまだ処理されて読み出されていないセルのメモリ
領域にオーバーライトしてはいけない。そのため、受信
側書き込み可能アドレスポインタ列2805に、CPU
メモリ上受信側バッファ2803上でセルの書かれてい
ない領域のアドレスポインタをいれておいて、そこに入
っているポインタの部分にセルを書き込む。書き込まれ
たセルの領域に相当するポインタは、受信側書き込み可
能アドレスポインタ列から出されて、受信側読み出し可
能アドレスポインタ列2806に移される。
FIG. 31 shows the flow of data on the receiving side and the transmitting side and the state of the pointer. First, on the receiving side, the input data is stored in the receiving side FIFO 2801,
Physical layer processing is performed by the reception side physical layer process 2802, and the data in the form of cells is written in the reception side buffer 2803 on the CPU memory. At the time of this writing, the memory area of the cell which has not been read yet by the ATM layer process 2804 on the receiving side should not be overwritten. Therefore, the receiving side writable address pointer column 2805 has a CPU
An address pointer of an area where a cell is not written is entered on the receiving side buffer 2803 on the memory, and the cell is written in the pointer portion contained therein. A pointer corresponding to the area of the written cell is output from the receiving side writable address pointer column and is moved to the receiving side readable address pointer column 2806.

【0185】受信側ATMレイヤプロセス2804は、
受信側読み出し可能アドレスポインタ列2806が空で
ないときに、プロセスを実行させることができる。そし
て、受信側読み出し可能アドレスポインタ2806の先
頭に入っているアドレスポインタによって示されるメモ
リバッファ2803上の領域からセルを読み出して、A
TMレイヤ処理を行ってATMスイッチ(図示せず)へ
セルを出力する。
The receiving ATM layer process 2804 is
The process may be allowed to execute when the receiver readable address pointer column 2806 is not empty. Then, the cell is read from the area on the memory buffer 2803 indicated by the address pointer at the beginning of the reception side readable address pointer 2806, and A
The TM layer processing is performed and the cell is output to the ATM switch (not shown).

【0186】ここで、受信側書き込み可能アドレスポイ
ンタ列2805は、FIFOである必要はなく、受信側
物理レイヤプロセス2802は、該ポインタ列にはいっ
ているポインタの任意のものを選択できる。ところが、
受信側読み出し可能アドレスポインタ列2806はFI
FO構造になっており、受信側ATMレイヤプロセス2
804は、該ポインタ列の最も先頭にあるものを選択し
なければならない。これは、FIFO構造にしないとA
TMセルの処理順序が変わってしまうためである。
Here, the receiving side writable address pointer sequence 2805 does not need to be a FIFO, and the receiving side physical layer process 2802 can select any of the pointers included in the pointer sequence. However,
The readable address pointer column 2806 on the receiving side is FI
FO structure, ATM layer process 2 on the receiving side
804 must select the one at the top of the pointer sequence. This is A unless it is a FIFO structure.
This is because the processing order of TM cells is changed.

【0187】また、送信側の手順も全く同様である。A
TMスイッチから到着したATMセルは、送信側ATM
レイヤプロセス2807によって、ATMレイヤ処理を
施された後、CPUメモリ上送信側バッファ2808に
書き込まれる。このとき、送信側物理レイヤプロセス2
809によってまだ読み出されていないセルの存在する
領域にセルを上書きしないようにしなければならない。
このために送信側ATMプロセスは、CPUメモリ上送
信側バッファ2808にセルを書き込む前に、まず送信
側書き込み可能アドレスポインタ列2810を参照す
る。
The procedure on the transmitting side is exactly the same. A
The ATM cell arriving from the TM switch is the ATM on the transmitting side.
After being subjected to ATM layer processing by the layer process 2807, it is written in the transmission side buffer 2808 on the CPU memory. At this time, the transmitting side physical layer process 2
It must be ensured that no cells are overwritten in the area where cells have not yet been read by 809.
Therefore, the transmitting ATM process first refers to the transmitting side writable address pointer column 2810 before writing a cell in the transmitting buffer 2808 on the CPU memory.

【0188】そして、そこに書かれてあるポインタのな
かから1つを選択して、そのポインタによって示される
メモリバッファ2808上の領域にセルを書き込む。そ
して該ポインタは反対側の送信側読み出し可能アドレス
ポインタ列2811に移される。
Then, one of the pointers written therein is selected, and the cell is written in the area on the memory buffer 2808 indicated by the pointer. Then, the pointer is moved to the transmission side readable address pointer column 2811 on the opposite side.

【0189】送信側物理レイヤプロセス2809は、送
信側読み出し可能アドレスポインタ列2811にポイン
タが入っているときに、CPUメモリ上送信側バッファ
からセルを読み出すことができる。該ポインタ列281
1の先頭のポインタを参照し、それが示すメモリバッフ
ァ2808の領域からセルを読み出して、そのセルに物
理レイヤ処理を施し、送信側FIFO2812へ送る。
そのデータは回線側へ出力される。また参照されたポイ
ンタは、セルが読み出されると再び書き込みができるの
で、送信側書き込み可能アドレスポインタ列2810へ
戻される。
The transmitting side physical layer process 2809 can read a cell from the transmitting side buffer on the CPU memory when the transmitting side readable address pointer column 2811 has a pointer. The pointer column 281
The pointer at the head of 1 is referred to, the cell is read from the area of the memory buffer 2808 indicated by the pointer, the physical layer processing is performed on the cell, and the cell is sent to the transmission side FIFO 2812.
The data is output to the line side. Further, the referenced pointer can be written again when the cell is read out, and is therefore returned to the transmitter-side writable address pointer column 2810.

【0190】受信側と同様、セル順序の保証のために、
送信側読み出し可能アドレスポインタ列2811はFI
FO構造をしており、必ず先頭から読まれなければなら
ない。一方、送信側書き込み可能アドレスポインタ列2
810はこの限りではない。
Similar to the receiving side, in order to guarantee the cell order,
The transmission side readable address pointer column 2811 is FI.
It has a FO structure and must be read from the beginning. On the other hand, the transmitter side writable address pointer column 2
810 is not limited to this.

【0191】以上のように、送信側、受信側それぞれに
ついてポインタによって、物理レイヤプロセスとATM
レイヤプロセスとのメモリの排他制御が容易に実現でき
る。本実施例によれば、1つの交換処理を行うために同
時に動いている複数のソフトウェアプログラムが同じメ
モリを共有して、転送するための無駄な処理を省き処理
効率を良くするとともに、ポインタを用いて各プログラ
ムの間で処理できるセルあるいはそれ以外のデータを1
つのプログラムが占有できるように排他制御することに
よって、複数の処理の間でのデータの取り合いによるパ
イプライン処理の乱れが発生するのを防ぎ、処理効率を
上げることができる。また、ポインタを用いてメモリの
アクセス権を排他的に制御することによって、メモリの
競合が発生せず、プログラム実行上での排他制御による
パイプライン処理の乱れもないので、C言語のような高
位言語によるプログラムによっても、効率的な交換処理
を実行することができる。
As described above, the physical layer process and the ATM are identified by the pointers on the transmitting side and the receiving side.
Exclusive control of the memory with the layer process can be easily realized. According to the present embodiment, a plurality of software programs running at the same time to perform one exchange process share the same memory, thereby eliminating unnecessary processing for transfer and improving processing efficiency, and using a pointer. Cell or other data that can be processed between programs
By performing exclusive control so that one program can occupy, it is possible to prevent the pipeline processing from being disturbed due to data competition among a plurality of processing, and to improve processing efficiency. Further, by exclusively controlling the access right to the memory by using the pointer, memory conflict does not occur, and the pipeline processing is not disturbed by the exclusive control during program execution. Efficient exchange processing can also be executed by a language program.

【0192】なお、メモリバッファ2803および28
08は、必ずしも物理的に2つ必要であるとは限らな
い。また物理レイヤプロセス2802および2809、
ATMレイヤプロセス2804および2807も必ずし
も別プロセスの形態でなくとも構わない。さらには、メ
モリバッファが共有されている場合には、書き込み可能
アドレスポインタ列2805、2810が送受信で共有
されている場合もあり得る。
The memory buffers 2803 and 283
The number 08 is not necessarily required to be two physically. Also, physical layer processes 2802 and 2809,
The ATM layer processes 2804 and 2807 do not necessarily have to be in the form of separate processes. Furthermore, when the memory buffer is shared, the writable address pointer columns 2805 and 2810 may be shared for transmission and reception.

【0193】また、アドレスポインタ列を用いる代わり
に、リングバッファを用いて、その中にアドレスポイン
タを入れ、読み出しと書き込みの先頭位置をそれぞれ示
しておくことによっても実現可能である。
Further, instead of using the address pointer sequence, a ring buffer may be used and an address pointer may be inserted therein to indicate the read and write head positions, respectively.

【0194】また、ATMレイヤ処理と物理レイヤ処理
の場合に限らず、構成によっては、例えば複数のATM
レイヤ処理等の間でメモリを共有することがあり得る。
もちろん、図5や図26の実施例に、上記のようなメモ
リの排他制御を適用することも可能である。また、本発
明は上述した各実施例に限定されるものではなく、その
要旨を逸脱しない範囲で、種々変形して実施することが
できる。
Further, not limited to the case of the ATM layer processing and the physical layer processing, depending on the configuration, for example, a plurality of ATMs may be used.
It is possible that a memory is shared between layer processes and the like.
Of course, it is also possible to apply the memory exclusive control as described above to the embodiments of FIG. 5 and FIG. Further, the present invention is not limited to the above-described embodiments, and various modifications can be carried out without departing from the scope of the invention.

【0195】[0195]

【発明の効果】以上述べてきたように、本発明によれ
ば、物理レイヤ処理などの各処理における処理単位を交
換装置に搭載されるプロセッサのデータ幅に一致させて
処理させることによって、従来ビット毎あるいはバイト
毎の処理によって、非効率であったソフトウェア処理
(特に物理レイヤ処理)の処理効率を、特にフレームや
セルのメモリからレジスタへのコピー等の点で、飛躍的
に増大させることができる。
As described above, according to the present invention, by processing the processing unit in each processing such as physical layer processing so as to match the data width of the processor mounted in the switching device, the conventional bit can be processed. By processing on a byte-by-byte or byte-by-byte basis, the processing efficiency of inefficient software processing (especially physical layer processing) can be dramatically increased, especially in terms of copying frames or cells from memory to registers. .

【0196】また、本発明によれば、ATMレイヤ処理
と物理レイヤ処理、あるいは複数のATMレイヤ処理等
の間でメモリを共有する際に、メモリのアクセス権を排
他的に制御することによって、メモリの競合が発生せ
ず、プログラム実行上での排他制御によるパイプライン
処理の乱れもなく、従ってC言語のような高位言語によ
るプログラムによっても、効率的な交換処理を実行する
ことができる。
Further, according to the present invention, when the memory is shared between the ATM layer processing and the physical layer processing, or the plurality of ATM layer processings, etc., the memory access right is exclusively controlled, and the memory Does not occur, and there is no disturbance in the pipeline processing due to exclusive control on program execution, and therefore, efficient exchange processing can also be executed by a program in a high-level language such as C language.

【図面の簡単な説明】[Brief description of drawings]

【図1】本実施例の概略構成図FIG. 1 is a schematic configuration diagram of this embodiment.

【図2】レーヤ処理部をソフトウェアにより実現する方
式を説明するための図
FIG. 2 is a diagram for explaining a method of realizing a layer processing unit by software.

【図3】プロセッサ交換処理パッケージを備えた交換装
置の全体構成を示す図
FIG. 3 is a diagram showing an overall configuration of an exchange apparatus including a processor exchange processing package.

【図4】受信側通話路プロセスサブルーチンの切り分け
を説明するための図
FIG. 4 is a diagram for explaining division of a receiving side call path process subroutine.

【図5】本実施例におけるインタフェースの構成図FIG. 5 is a configuration diagram of an interface in this embodiment.

【図6】受信側通話路データ入力部分の一例を示す図FIG. 6 is a diagram showing an example of a reception side communication channel data input portion.

【図7】受信側通話路データ入力フォーマットを示す図FIG. 7 is a diagram showing a reception side communication channel data input format.

【図8】受信側通話路フレーム同期処理の流れ図FIG. 8 is a flow chart of reception side speech path frame synchronization processing.

【図9】フレームビット同期パターン1100を検出す
るための状態遷移図
FIG. 9 is a state transition diagram for detecting a frame bit synchronization pattern 1100.

【図10】ハードウェア概念による従来のフレーム同期
のためのデータ読み込みを示す図
FIG. 10 is a diagram showing data reading for conventional frame synchronization according to a hardware concept.

【図11】本実施例におけるフレーム同期のためのデー
タ読み込みを示す図
FIG. 11 is a diagram showing data reading for frame synchronization in the present embodiment.

【図12】受信側通話路セル同期処理の流れ図FIG. 12 is a flow chart of reception side call path cell synchronization processing.

【図13】従来のセル同期処理の流れ図FIG. 13 is a flowchart of conventional cell synchronization processing.

【図14】ハンチング状態での1バイトずつシフトした
セル同期処理の流れ図
FIG. 14 is a flow chart of cell synchronization processing in which each byte is shifted in the hunting state.

【図15】図11のD1〜D4を一度に読みだした場合
のセル同期処理の流れ図
FIG. 15 is a flowchart of cell synchronization processing when D1 to D4 of FIG. 11 are read at once.

【図16】セル同期のための演算を説明するための図FIG. 16 is a diagram for explaining a calculation for cell synchronization.

【図17】図16のr[1]に関するセル同期のための
演算の詳細を説明するための図
FIG. 17 is a diagram for explaining details of an operation for cell synchronization regarding r [1] in FIG. 16;

【図18】受信側ATMレイヤ処理部の概略構成図FIG. 18 is a schematic configuration diagram of a receiving side ATM layer processing section.

【図19】受信側ATMレイヤ処理の流れ図FIG. 19 is a flow chart of ATM layer processing on the receiving side.

【図20】HEC削除処理を説明するための図FIG. 20 is a diagram for explaining HEC deletion processing.

【図21】VPI/VCI取り出し処理を説明するため
の図
FIG. 21 is a diagram for explaining VPI / VCI extraction processing.

【図22】ヘッダ変換テーブル参照手順を説明するため
の図
FIG. 22 is a diagram for explaining a header conversion table reference procedure.

【図23】ポリシング(ピークレート監視)の原理を説
明するための図
FIG. 23 is a diagram for explaining the principle of policing (peak rate monitoring).

【図24】ポリシング(平均レート監視)の原理を説明
するための図
FIG. 24 is a diagram for explaining the principle of policing (average rate monitoring).

【図25】セル到着時間記憶手順を説明するための図FIG. 25 is a diagram for explaining a cell arrival time storage procedure.

【図26】送信側通話路プロセスサブルーチンの切り分
けを説明するための図
FIG. 26 is a diagram for explaining division of a transmission side call path process subroutine.

【図27】従来と本実施例の物理レイヤ処理を比較する
ための図
FIG. 27 is a diagram for comparing the physical layer processing of the related art with that of the present embodiment.

【図28】送信側通話路物理レイヤ処理の流れ図FIG. 28 is a flow chart of a transmission side communication path physical layer process.

【図29】データデスクランブル処理の流れ図FIG. 29 is a flowchart of data descramble processing.

【図30】送信側通話路データ出力部分を示す図FIG. 30 is a diagram showing a transmission side speech path data output portion.

【図31】ATMレイヤプロセスと物理レイヤプロセス
によるメモリバッファ排他制御を説明するための概略構
成図
FIG. 31 is a schematic configuration diagram for explaining memory buffer exclusive control by an ATM layer process and a physical layer process.

【符号の説明】[Explanation of symbols]

1a…受信側入力部、1b…受信側出力部、2…受信側
物理レイヤ処理部、3…受信側ATMレイヤ処理部、4
…スイッチ部、5…送信側ATMレイヤ処理部、6…送
信側物理レイヤ処理部、7a…送信側入力部、7b…送
信側出力部、11…プロセッサ、12…メインメモリ、
13…プログラム記憶部、16…キャッシュメモリ、1
01…通話路プロセス、102…OAMプロセス、11
1…ビット同期、112…網同期、113…OAMセル
分岐挿入、114…監視制御インタフェース、121…
ラインデコーディング、122…フレーム同期、123
…セル同期、124…デスクランブル、125…ヘッダ
変換、126…ルーティングタグ付加、127…流量監
視(ポリシング)、128…セル送出、129…空セル
生成、131…ラインエンコーディング、132…フレ
ーム作成、133…HEC生成、134…スクランブ
ル、135…ヘッダ変換、136…ルーティングタグ削
除、137…流量監視(シェイピング)、138…セル
受信、141…監視制御処理、142…メッセージ送
出、143…メッセージ受信、201…CPU手続き、
202…CPUメモリ上バッファ、203…受信データ
入力サブルーチン、204…フレーム同期サブルーチ
ン、205…セル同期サブルーチン、206…デスクラ
ンブルサブルーチン、207…ATMレイヤ処理サブル
ーチン、208…受信データ出力サブルーチン、209
…フレームデータ収容バッファ、210…セルヘッダ収
容バッファ、211…ルーティングタグ付きヘッダ収容
バッファ、212…セルペイロード収容バッファ、27
01…受信側FIFO、2702…送信側FIFO、2
703…nビットデータ幅プロセッサ、301…クロッ
ク抽出部分、302…シリアル−パラレル変換部分、3
03…受信側データ入力FIFO、304…CPU、3
05…カウンター、1001…シフトなしレジスタ、1
002…左1ビットシフトレジスタ、1003…左2ビ
ットシフトレジスタ、1004…右1ビットシフトレジ
スタ、1005…右2ビットシフトレジスタ、1006
…右3ビットシフトレジスタ、1007…右4ビットシ
フトレジスタ、1008…右5ビットシフトレジスタ、
1009…右6ビットシフトレジスタ、1010…右7
ビットシフトレジスタ、1011…排他的論理和、11
01…シフトなしレジスタ、1102…D1部分のレジ
スタ表示、1103…D2部分のレジスタ表示、110
4…D3部分のレジスタ表示、1105…D4部分のレ
ジスタ表示、1106…D1部分のレジスタ値の加算、
1107…D2部分のレジスタ値の加算、1108…D
3部分のレジスタ値の加算、1109…D4部分のレジ
スタ値の加算、1110…D5部分のレジスタ値、11
11…排他的論理和、1201…ATMレイヤ処理部、
1202…ヘッダ変換テーブル、1203…物理レイヤ
処理プロセス、1204…スイッチ出力プロセス、20
01…CPU手続き、2002…CPUメモリ上バッフ
ァ、2003…送信側入力処理、2004…ATMレイ
ヤ処理、2005…物理レイヤ処理、2006…送信側
出力処理、2009…スイッチセル収容バッファ、20
10…セルヘッダ収容バッファ、2011…セルペイロ
ード収容バッファ、2012…セル順序収容バッファ、
2013…出力フレームデータ収容バッファ、2014
…スイッチセル収容バッファ入出力プロセス、2015
…出力フレーム収容バッファ入出力プロセス、2301
…CPU、2302…送信側データ出力FIFO、23
03…送信側パラレル−シリアル変換装置、2304…
送信側有効データ幅記憶FIFO、2801…受信側F
IFO、2802…受信側物理レイヤプロセス、280
3…CPUメモリ上受信側バッファ、2804…受信側
ATMレイヤプロセス、2805…受信側書き込み可能
アドレスポインタ列、2806…受信側読み出し可能ア
ドレスポインタ列、2807…送信側ATMレイヤプロ
セス、2808…CPUメモリ上送信側バッファ、28
09…送信側物理レイヤプロセス、2810…送信側書
き込み可能アドレスポインタ列、2811…送信側読み
出し可能アドレスポインタ列、2812…送信側FIF
1a ... Reception side input section, 1b ... Reception side output section, 2 ... Reception side physical layer processing section, 3 ... Reception side ATM layer processing section, 4
... switch section, 5 ... transmission side ATM layer processing section, 6 ... transmission side physical layer processing section, 7a ... transmission side input section, 7b ... transmission side output section, 11 ... processor, 12 ... main memory,
13 ... Program storage unit, 16 ... Cache memory, 1
01 ... Channel process, 102 ... OAM process, 11
1 ... Bit synchronization, 112 ... Network synchronization, 113 ... OAM cell drop / insert, 114 ... Supervisory control interface, 121 ...
Line decoding, 122 ... Frame synchronization, 123
... cell synchronization, 124 ... descramble, 125 ... header conversion, 126 ... routing tag addition, 127 ... flow monitoring (policing), 128 ... cell transmission, 129 ... empty cell generation, 131 ... line encoding, 132 ... frame creation, 133 ... HEC generation, 134 ... Scrambling, 135 ... Header conversion, 136 ... Routing tag deletion, 137 ... Flow rate monitoring (shaping), 138 ... Cell reception, 141 ... Monitoring control processing, 142 ... Message transmission, 143 ... Message reception, 201 ... CPU procedure,
202 ... CPU memory buffer, 203 ... Received data input subroutine, 204 ... Frame synchronization subroutine, 205 ... Cell synchronization subroutine, 206 ... Descramble subroutine, 207 ... ATM layer processing subroutine, 208 ... Received data output subroutine, 209
... Frame data accommodating buffer, 210 ... Cell header accommodating buffer, 211 ... Routing header-added header accommodating buffer, 212 ... Cell payload accommodating buffer, 27
01 ... FIFO on receiving side, 2702 ... FIFO on sending side, 2
703 ... n-bit data width processor, 301 ... Clock extraction part, 302 ... Serial-parallel conversion part, 3
03 ... Receiving side data input FIFO, 304 ... CPU, 3
05 ... Counter, 1001 ... No shift register, 1
002 ... left 1-bit shift register, 1003 ... left 2-bit shift register, 1004 ... right 1-bit shift register, 1005 ... right 2-bit shift register, 1006
... right 3 bit shift register, 1007 ... right 4 bit shift register, 1008 ... right 5 bit shift register,
1009 ... right 6-bit shift register, 1010 ... right 7
Bit shift register, 1011 ... Exclusive OR, 11
01 ... Register without shift, 1102 ... Register display of D1 portion, 1103 ... Register display of D2 portion, 110
4 ... D3 part register display, 1105 ... D4 part register display, 1106 ... D1 part register value addition,
1107 ... D2 part register value addition, 1108 ... D
Addition of register values of 3 parts, 1109 ... Addition of register values of D4 parts, 1110 ... Register values of D5 parts, 11
11 ... Exclusive OR, 1201 ... ATM layer processing unit,
1202 ... Header conversion table, 1203 ... Physical layer processing process, 1204 ... Switch output process, 20
01 ... CPU procedure, 2002 ... CPU memory buffer, 2003 ... Transmission side input processing, 2004 ... ATM layer processing, 2005 ... Physical layer processing, 2006 ... Transmission side output processing, 2009 ... Switch cell accommodating buffer, 20
10 ... Cell header accommodation buffer, 2011 ... Cell payload accommodation buffer, 2012 ... Cell order accommodation buffer,
2013 ... Output frame data accommodating buffer 2014
... Switch cell accommodating buffer input / output process, 2015
... Output frame accommodating buffer input / output process, 2301
... CPU, 2302 ... Transmission side data output FIFO, 23
03 ... Transmission side parallel-serial converter, 2304 ...
Transmitting side effective data width storage FIFO, 2801 ... Receiving side F
IFO, 2802 ... Receiving side physical layer process, 280
3 ... Receiving side buffer on CPU memory, 2804 ... Receiving side ATM layer process, 2805 ... Receiving side writable address pointer sequence, 2806 ... Receiving side readable address pointer sequence, 2807 ... Sending side ATM layer process, 2808 ... On CPU memory Transmitter buffer, 28
09 ... Transmission side physical layer process, 2810 ... Transmission side writable address pointer sequence, 2811 ... Transmission side readable address pointer sequence, 2812 ... Transmission side FIF
O

───────────────────────────────────────────────────── フロントページの続き (72)発明者 正畑 康郎 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 高畠 由彰 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 木村 成人 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 橋本 幹生 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 ─────────────────────────────────────────────────── ─── Continuation of front page (72) Inventor Yasuro Masahata No. 1 Komukai Toshiba-cho, Kouki-ku, Kawasaki-shi, Kanagawa Inside the Toshiba Research and Development Center, a stock company (72) Inventor Yoshiaki Takahata Ko-ko, Kawasaki-shi, Kanagawa Muko Toshiba Town No. 1 in Toshiba Research & Development Center Co., Ltd. (72) Inventor Kimura Adult Komukai Toshiba Town No. 1 in Komu Toshiba City, Kawasaki City, Kanagawa Prefecture (72) Inventor Mikio Hashimoto Kawasaki, Kanagawa Prefecture Komukai Toshiba-cho, Sachi-ku, Yokohama-shi Incorporated company Toshiba Research and Development Center

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】複数の受信ライン夫々から入力されるAT
Mセルを該情報に付加された宛先情報に基づいて複数の
送信ラインのいずれかに出力する交換処理を行うととも
に、該交換処理の少なくとも一部の処理をプロセッサに
所定のプログラムを実行させることによって行う交換装
置において、 前記交換処理のうちプロセッサを利用して実行する処理
における前記情報の処理可能なデータ単位を、前記プロ
セッサの処理可能なデータ幅に設定したことを特徴とす
る交換装置。
1. An AT input from each of a plurality of receiving lines
By performing an exchange process for outputting the M cell to any of the plurality of transmission lines based on the destination information added to the information, and causing a processor to execute a predetermined program for at least a part of the exchange process. In the exchange device for performing, the data unit that can be processed by the information in the process executed by using the processor in the exchange process is set to a data width that can be processed by the processor.
【請求項2】前記交換処理のうちプロセッサを利用して
実行する処理は、ビット同期処理、フレーム作成処理、
セル同期処理、HEC作成処理、スクランブル処理また
はデスクランブルの少なくとも一つの処理を含むことを
特徴とする請求項1に記載の交換装置。
2. Among the exchange processing, processing executed by using a processor is bit synchronization processing, frame creation processing,
The switching device according to claim 1, further comprising at least one of a cell synchronization process, an HEC creation process, a scramble process, and a descramble process.
【請求項3】複数の受信ライン夫々から入力されるAT
Mセルを該情報に付加された宛先情報に基づいて複数の
送信ラインのいずれかに出力する交換処理を行うととも
に、該交換処理の少なくとも一部の処理をプロセッサに
所定のプログラムを実行させることによって行う交換装
置において、 前記受信ラインからのATMセルを構成するシリアル・
データをプロセッサの処理可能なデータ幅を有するパラ
レル・データに変換して出力する、前記受信ライン夫々
に設けられた第1のデータ幅変換手段と、 前記データ幅変換手段夫々に設けられ、該データ幅変換
手段から前記パラレル・データを入力し、プロセッサに
所定のプログラムを実行させることによって、該パラレ
ル・データに対し受信側物理レイヤ処理および受信側A
TMレイヤ処理を施す第1の処理手段と、 前記第1の処理手段夫々からの情報を交換処理して複数
の出力端のいずれかに出力するスイッチ手段と、 前記出力端夫々に設けられ、前記プロセッサまたは別に
設けたプロセッサに所定のプログラムを実行させること
によって、前記スイッチ手段からの情報に対し、送信側
物理レイヤ処理および送信側ATMレイヤ処理を施す第
2の処理手段と、 前記第2の処理手段夫々に設けられ、該第2の手段から
の情報を、シリアル・データに変換して、収容している
前記送信ラインに出力する第2のデータ幅変換手段とを
備えたことを特徴とする交換装置。
3. An AT input from each of a plurality of receiving lines
By performing an exchange process for outputting the M cell to any of the plurality of transmission lines based on the destination information added to the information, and causing a processor to execute a predetermined program for at least a part of the exchange process. In the switching device for performing the serial communication, which constitutes the ATM cell from the reception line,
First data width conversion means provided in each of the reception lines for converting data into parallel data having a data width processable by a processor and outputting the parallel data, and the data provided in each of the data width conversion means. By inputting the parallel data from the width converting means and causing the processor to execute a predetermined program, the receiving side physical layer processing and the receiving side A are performed on the parallel data.
First processing means for performing TM layer processing; switching means for exchanging information from each of the first processing means and outputting the information to any one of a plurality of output terminals; Second processing means for performing transmission side physical layer processing and transmission side ATM layer processing on the information from the switch means by causing a processor or a separately provided processor to execute a predetermined program; and the second processing. Second data width conversion means provided in each of the means for converting the information from the second means into serial data and outputting the serial data to the accommodated transmission line. Exchange device.
【請求項4】前記第1のデータ幅変換手段夫々は、 与えられたシリアル・データからクロック信号を抽出す
るクロック抽出手段と、 この抽出されたクロック信号に従い前記シリアル・デー
タをパラレル・データに変換して出力するシリアル−パ
ラレル変換手段とからなることを特徴とする請求項3に
記載の交換装置。
4. The first data width conversion means each include clock extraction means for extracting a clock signal from given serial data, and convert the serial data into parallel data according to the extracted clock signal. 4. The exchange device according to claim 3, further comprising serial-parallel conversion means for outputting the output.
【請求項5】前記第2のデータ幅変換手段夫々は、 パラレル・データの有効ビット幅を示す情報を生成する
手段と、 この情報に基づき前記パラレル・データをシリアル・デ
ータに変換して出力するパラレル−シリアル変換手段と
からなることを特徴とする請求項3に記載の交換装置。
5. The second data width conversion means each generate means for generating information indicating an effective bit width of parallel data, and based on this information, the parallel data are converted into serial data and output. The exchange device according to claim 3, comprising parallel-serial conversion means.
【請求項6】複数の受信ライン夫々から入力されるAT
Mセルを該情報に付加された宛先情報に基づいて複数の
送信ラインのいずれかに出力する交換処理を行うととも
に、該交換処理は複数の処理から構成され、該複数の処
理のうちの少なくとも2以上の処理をプロセッサに所定
のプログラムを実行させることにより行う交換装置にお
いて、 前記2以上の処理夫々を実行する際に処理の対象とする
共通の情報を格納するための共通情報記憶手段と、 前記2以上の処理夫々に対して前記共通情報記憶手段に
アクセスするための使用権を択一的に与える制御を行う
アクセス制御手段を備えたことを特徴とする交換装置。
6. An AT input from each of a plurality of receiving lines
An exchange process for outputting the M cell to any of the plurality of transmission lines based on the destination information added to the information is performed, and the exchange process is configured by a plurality of processes, and at least two of the plurality of processes are performed. In a switching device that performs the above processing by causing a processor to execute a predetermined program, common information storage means for storing common information to be processed when performing each of the two or more processing, An exchange apparatus comprising an access control means for performing control to selectively give a use right for accessing the common information storage means to each of two or more processes.
【請求項7】複数の受信ライン夫々から入力されるAT
Mセルを該情報に付加された宛先情報に基づいて複数の
送信ラインのいずれかに出力する交換処理を行うととも
に、該交換処理は複数の処理から構成され、該複数の処
理のうちの少なくとも2以上の処理をプロセッサに所定
のプログラムを実行させることにより行う交換装置にお
いて、 前記プロセッサを利用して前記物理レイヤ処理を実行す
る物理レイヤ処理手段と、 前記物理レイヤ処理手段が利用するプロセッサと同一の
プロセッサまたは別に設けたプロセッサを利用して前記
ATMレイヤ処理を実行するATMレイヤ処理手段と、 前記物理レイヤ処理手段および前記ATMレイヤ処理手
段が共に処理の対象とする共通の情報を格納するための
共通情報記憶手段と、 前記物理レイヤ処理手段および前記ATMレイヤ処理手
段に対して前記共通情報記憶手段にアクセスするための
使用権を択一的に与える制御を行うアクセス制御手段と
を備えたことを特徴とする交換装置。
7. An AT input from each of a plurality of receiving lines
An exchange process for outputting the M cell to any of the plurality of transmission lines based on the destination information added to the information is performed, and the exchange process is configured by a plurality of processes, and at least two of the plurality of processes are performed. In a switching device that performs the above processing by causing a processor to execute a predetermined program, a physical layer processing unit that executes the physical layer processing by using the processor, and a processor that is the same as the processor used by the physical layer processing unit. An ATM layer processing means for executing the ATM layer processing using a processor or a processor provided separately, and a common for storing common information to be processed by both the physical layer processing means and the ATM layer processing means. The information storage means, the physical layer processing means and the ATM layer processing means An exchange apparatus comprising: an access control unit that performs control for selectively giving a right to use for accessing the common information storage unit.
【請求項8】前記アクセス制御手段は、前記情報が格納
されている前記共通情報記憶手段中の位置を示すポイン
タを与えることにより前記使用権を与えることを特徴と
する請求項6または7に記載の交換装置。
8. The access control means gives the usage right by giving a pointer indicating a position in the common information storage means in which the information is stored. Exchange device.
JP14356894A 1993-12-01 1994-06-24 Exchange Pending JPH0818563A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP14356894A JPH0818563A (en) 1994-06-24 1994-06-24 Exchange
US08/351,098 US5557609A (en) 1993-12-01 1994-11-30 Switching apparatus for ATM
CN94112756A CN1113502C (en) 1993-12-01 1994-12-01 Apparatus for (ATM) exchange with asynchronous transmitting
CNB02157832XA CN1274108C (en) 1993-12-01 1994-12-01 Exchange device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14356894A JPH0818563A (en) 1994-06-24 1994-06-24 Exchange

Publications (1)

Publication Number Publication Date
JPH0818563A true JPH0818563A (en) 1996-01-19

Family

ID=15341784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14356894A Pending JPH0818563A (en) 1993-12-01 1994-06-24 Exchange

Country Status (1)

Country Link
JP (1) JPH0818563A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001298490A (en) * 2000-03-06 2001-10-26 Agilent Technol Inc Encoding method and encoder for encoding packetized serial data
JP2012044356A (en) * 2010-08-17 2012-03-01 Nippon Telegr & Teleph Corp <Ntt> Method for determining optical packet route and optical packet exchange device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001298490A (en) * 2000-03-06 2001-10-26 Agilent Technol Inc Encoding method and encoder for encoding packetized serial data
JP2012044356A (en) * 2010-08-17 2012-03-01 Nippon Telegr & Teleph Corp <Ntt> Method for determining optical packet route and optical packet exchange device

Similar Documents

Publication Publication Date Title
US5557609A (en) Switching apparatus for ATM
JP2788577B2 (en) Frame conversion method and apparatus
EP0600683B1 (en) Packet network interface
US5828903A (en) System for performing DMA transfer with a pipeline control switching such that the first storage area contains location of a buffer for subsequent transfer
JP3188732B2 (en) Bridge for connecting IEEE 802.3 local area network to asynchronous time division multiplex network
US7100020B1 (en) Digital communications processor
US7876769B2 (en) Self-cleaning mechanism for error recovery
US20130094370A1 (en) Methods and Apparatus for Selecting the Better Cell From Redundant Streams Within A Cell-Oriented Environment.
JP3761980B2 (en) Apparatus and method for additive data packing
JP2000216785A (en) Cell processing apparatus, ATM exchange, and cell disposal method
US7272675B1 (en) First-in-first-out (FIFO) memory for buffering packet fragments through use of read and write pointers incremented by a unit access and a fraction of the unit access
JPH08102739A (en) Information collecting apparatus and method in communication network
JPH02288440A (en) Signal message processing device in an asynchronous time-division communication network
US7379467B1 (en) Scheduling store-forwarding of back-to-back multi-channel packet fragments
US6594237B1 (en) Fixed length data processing apparatus
JPH0818563A (en) Exchange
EP1225732B1 (en) Method and device for assigning cell data units to sequential storage positions of data frames using a pointer position estimation
WO2003079612A1 (en) Method and apparatus for direct data placement over tcp/ip
US6611871B1 (en) Fixed length data processing apparatus
GB2320160A (en) Shaping processing of ATM cells
JP4258996B2 (en) Scheduling device and cell communication device
JP3217667B2 (en) ATM communication control method and device
JP2937750B2 (en) Pointer insertion device
JPH08102761A (en) Protocol converter and protocol conversion method
JPH07154395A (en) Exchange device