(57)【要約】【課題】プロセッサの負荷を軽減することができる通信用ＬＳＩを提供する。【解決手段】通信用ＬＳＩ１００は、通信データを演算処理するために設けられた算術論理演算器３および積和演算器４と、算術論理演算器３および積和演算器４の動作を制御するための制御コードを供給するプロセッサ５と、プロセッサ５によって供給された制御コードに基づいて算術論理演算器３および積和演算器４を制御する演算制御器１とを具備する。【選択図】  図１
2004227264.tif 000002
【特許請求の範囲】
【請求項１】
通信データを演算処理するために設けられた演算手段と、
前記演算手段の動作を制御するための制御コードを供給するプロセッサと、
前記プロセッサによって供給された前記制御コードに基づいて前記演算手段を制御する演算制御手段と、
前記制御コードを格納する制御コード格納手段とを具備しており、
前記演算制御手段は前記プロセッサの動作によらずに前記制御コードに基づいて動作する、前記制御コード格納手段からの読み出し機能を有しており、
前記演算手段は、前記通信データを積和演算するための積和演算器と前記通信データを算術論理演算するための算術論理演算器とを含んでいることを特徴とする通信用ＬＳＩ。
【請求項２】
前記積和演算器は、前記通信データをフィルタ処理する、請求項１記載の通信用ＬＳＩ。
【請求項３】
前記フィルタ処理は、ＦＩＲフィルタ処理、ＩＩＲフィルタ処理およびエコーキャンセラ処理のいずれかを含んでいる、請求項２記載の通信用ＬＳＩ。
【請求項４】
前記積和演算器は、前記通信データをＦＥＱ処理する、請求項１記載の通信用ＬＳＩ。
【請求項５】
前記積和演算器は、前記通信データをＦＦＴ処理する、請求項１記載の通信用ＬＳＩ。
【請求項６】
前記算術論理演算器は、前記通信データをビットマッピング処理する、請求項１記載の通信用ＬＳＩ。
【請求項７】
前記算術論理演算器は、前記通信データをスクランブル処理する、請求項１記載の通信用ＬＳＩ。
【請求項８】
前記算術論理演算器は、前記通信データをＣＲＣ処理する、請求項１記載の通信用ＬＳＩ。
【請求項９】
前記算術論理演算器は、前記通信データをビタビ処理またはインターリーブ処理する、請求項１記載の通信用ＬＳＩ。
【請求項１０】
前記算術論理演算器は、第１種類の算術論理演算を実行するための第１演算部と、
第２種類の算術論理演算を実行するための第２演算部とを有している、請求項１記載の通信用ＬＳＩ。
【請求項１１】
前記演算制御手段は、前記算術論理演算器に設けられた前記第１演算部を制御するための第１演算制御命令と、前記第２演算部を制御するための第２演算制御命令とを前記制御コードに基づいて生成するデコーダと、
前記デコーダによって生成された前記第１演算制御命令に基づいて、前記算術論理演算器に設けられた前記第１演算部を制御する第１演算部制御器と、
前記デコーダによって生成された前記第２演算制御命令に基づいて、前記算術論理演算器に設けられた前記第２演算部を制御する第２演算部制御器とを有している、請求項１０記載の通信用ＬＳＩ。
【請求項１２】
前記算術論理演算器に設けられた前記第１演算部によって実行される前記第１種類の算術論理演算は、バイト算術論理演算であり、
前記算術論理演算器に設けられた前記第２演算部によって実行される前記第２種類の算術論理演算は、ビット算術論理演算とビット分割／結合演算とのいずれかである、請求項１０記載の通信用ＬＳＩ。
【請求項１３】
前記算術論理演算器に設けられた前記第１演算部と前記第２演算部とのいずれかによる演算処理に関連するデータを格納するために設けられたメモリ手段をさらに具備しており、
前記デコーダは、前記制御コードに基づいて前記メモリ手段を制御するためのメモリ手段制御命令を生成し、
前記デコーダによって生成された前記メモリ手段制御命令に基づいて前記メモリ手段を制御するデータパス制御器をさらに具備しており、
前記メモリ手段は、前記データパス制御器による制御に応じて、前記メモリ手段に格納されたデータを読み出して前記第１演算部と前記第２演算部とのいずれかへ供給し、前記第１演算部と前記第２演算部とのいずれかから供給されたデータを前記メモリ手段へ書き込む、請求項１０記載の通信用ＬＳＩ。
【請求項１４】
前記プロセッサは、前記演算手段による前記通信データの演算処理動作を制御するための他の制御コードを供給し、
前記プロセッサによって供給された前記他の制御コードと前記プロセッサの処理動作に関連するワークデータとを格納するためのワークメモリと、
前記ワークメモリに格納された前記他の制御コードへの前記演算制御手段からのアクセス要求と前記前記ワークメモリに格納された前記ワークデータへの前記プロセッサからのアクセス要求とを調停するアービタとをさらに具備する、請求項１記載の通信用ＬＳＩ。
【請求項１５】
前記プロセッサは、所定の優先度によって前記ワークメモリへのアクセスを前記アービタに要求し、
前記演算制御手段は、前記プロセッサの動作状況に応じて、前記所定の優先度よりも高い優先度と前記所定の優先度よりも低い優先度とのいずれかによって前記ワークメモリへのアクセスを前記アービタに要求する、請求項１４記載の通信用ＬＳＩ。
【請求項１６】
前記プロセッサは、前記他の制御コードを前記ワークメモリへ供給した後、前記ワークメモリへのアクセスを前記演算制御手段へ指示し、前記演算制御手段は、前記プロセッサからの指示に従って前記ワークメモリへのアクセスを前記アービタに要求する、請求項１４記載の通信用ＬＳＩ。
【請求項１７】
前記プロセッサによって供給された前記制御コードを格納するためのワークメモリをさらに具備しており、
前記演算制御手段は、前記通信データを送受信する準備のためのトレーニング期間の間は、前記演算手段の演算処理動作を停止させ、前記通信データを送受信するための送受信期間の間は、前記ワークメモリに格納された前記制御コードに基づいて、前記演算手段が演算処理動作を実行するように前記演算手段を制御する、請求項１記載の通信用ＬＳＩ。
【請求項１８】
前記演算手段は、前記通信データを算術論理演算するための算術論理演算器である、請求項１７記載の通信用ＬＳＩ。
【請求項１９】
前記ワークメモリには、前記プロセッサの処理動作に関連するワークデータがさらに格納されており、
前記プロセッサは、前記ワークメモリに格納された前記ワークデータに基づいて前記処理動作を実行する、請求項１７記載の通信用ＬＳＩ。
【請求項２０】
前記演算手段による演算処理に関連するデータを格納するために設けられたメモリ手段をさらに具備しており、
前記プロセッサによって供給される前記制御コードは、前記演算手段による前記通信データの演算処理動作を制御するための演算器制御コードと、
前記メモリ手段の動作を制御するためのデータパス制御コードとを含んでおり、
前記プロセッサによって供給される前記演算器制御コードを格納するための演算器制御コード格納器と、
前記プロセッサによって供給される前記データパス制御コードを格納するためのデータパス制御コード格納器とをさらに具備する、請求項１記載の通信用ＬＳＩ。
【請求項２１】
前記演算制御手段は、前記プロセッサによって発行された前記起動命令に応じて、前記演算器制御コード格納器に格納された前記演算器制御コードと前記データパス制御コード格納器に格納された前記データパス制御コードとを読み出す制御コード読み出し器を有している、請求項２０記載の通信用ＬＳＩ。
【請求項２２】
前記演算制御手段は、前記制御コード読み出し器によって読み出された前記演算器制御コードに基づいて、前記演算手段の演算処理動作を制御するための演算制御命令を生成する演算器デコーダと、
前記制御コード読み出し器によって読み出された前記データパス制御コードに基づいて、前記メモリ手段の動作を制御するためのデータパス制御命令を生成するデータパスデコーダとを有しており、
前記演算手段は、前記演算器デコーダによって生成された前記演算制御命令に従って前記通信データを演算処理し、
前記メモリ手段は、前記データパスデコーダによって生成された前記データパス制御命令に応じて、前記メモリ手段に格納されたデータを読み出して前記演算手段へ供給し、前記演算手段から供給されたデータを前記メモリ手段へ書き込む、請求項２１記載の通信用ＬＳＩ。
【請求項２３】
前記演算手段による演算処理に関連するデータを格納するために設けられたメモリ手段と、
前記プロセッサから供給される通信データを格納するためのデータキューと、
前記データキューに格納された前記通信データを前記メモリ手段に格納するデータパス制御器とをさらに備える、請求項１記載の通信用ＬＳＩ。
【請求項２４】
前記演算手段は、前記データパス制御器によって前記メモリ手段に格納された前記通信データを演算処理する、請求項２３記載の通信用ＬＳＩ。
【請求項２５】
前記データキューは、ＦＩＦＯ構造を有している、請求項２３記載の通信用ＬＳＩ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＬＳＩ集積回路に関し、特に通信用ＬＳＩに関する。
【０００２】
【従来の技術】
ＡＤＳＬおよび無線ＬＡＮのような高速通信モデムを実現する装置には、ＦＦＴ（フーリエ変換）、フィルタ、ＦＥＣ（フォワード・エラー・コレクション）、複素マッピング、ＣＲＣ，スクランブルおよびインタリーブなどの様々な処理が必要とされる。
【０００３】
従来技術において高速通信用ＬＳＩを実現する方法としては、制御用のプロセッサを一個用意し、信号処理は主に専用ハードウェアによって処理させることで通信用ＬＳＩを実現する方法がある。
【０００４】
図１１は、従来の通信用ＬＳＩ９０の構成を示すブロック図である。通信用ＬＳＩ９０は、１個のプロセッサ９５およびモデムデータを処理するための算術論理演算器９３と積和演算器９４とを備えている。算術論理演算器９３には、Ｆｒａｍｉｎｇ  ＣＲＣ８１とｓｃｒａｍｍｂｌｅ８２とＦＥＣ８３とＩｎｔｅｒｌｅａｖｅ８４とＴｒｅｌｌｉｓ  ｖｉｔａｒｂｉ８５とＭａｐｐｉｎｇ８６とが設けられている。積和演算器９４は、ＦＥＱ８７とＦＦＴ８８とフィルタ８９とを有している。
【０００５】
このような専用ハードウェアによって通信用ＬＳＩを実現しようとする場合には処理内容が固定的に決定してしまうため柔軟性に欠ける。このため、規格の変更および他社モデムに接続する時の不具合への対応が困難である。
【０００６】
また別の方法として、マイコン、ＤＳＰなど複数のプロセッサを搭載し、プログラムを駆使して通信用ＬＳＩを実現する方法がある。実際の通信用ＬＳＩでは前述した二つの方法の中間の方法として、一部を専用ハードウェアによって実現し残りの部分をマイコン、ＤＳＰによって実現しているものが多い。
【０００７】
図１２は、従来の他の通信用ＬＳＩ８０の構成を示すブロック図である。通信用ＬＳＩ８０は、プロセッサ８５およびモデムデータを処理するためのプロセッサ８６とＤＳＰ８７とを備えている。
【０００８】
このようにマイコン、ＤＳＰなど複数のプロセッサによって通信用ＬＳＩを実現しようとする場合にはプロセッサ間におけるメモリアクセスの競合によってそれぞれのプロセッサの処理能力が低下する。この場合、命令制御が複雑になるため命令メモリ容量が大きくなる。その結果、回路規模が増大しコストアップにつながる。
【０００９】
従来技術においてもこれらの課題を回避するために、専用ハードウェアについては多様なモードに対応することができるハードウェアを用意して、ある程度の融通性を持たせているものがある（例えば、特許文献１参照。）。
【００１０】
もしくは、演算量が膨大なフィルタやＦＦＴ処理および演算が複雑なＦＥＣ等の処理についてはハードウェアアクセラレータを準備してプロセッサの負荷を軽減するなどの工夫が取られている。
【００１１】
【特許文献１】
特開平１０−２４３０４９号公報（第１０頁〜第１３頁、図１）
【００１２】
【発明が解決しようとする課題】
しかしながら、専用ハードウェアに多様なモードを持たせる前述した手法においては、例えば規格変更または想定外の要因等によってあらかじめ準備した機能以外の機能が必要になった際に、そのような機能に対応するだけの柔軟性を通信用ＬＳＩに持たせることは困難であるという問題がある。
【００１３】
また、ハードウェアアクセラレータを準備してプロセッサの負荷を軽減する前述した手法においては、ハードウェアアクセラレータからプロセッサへの割り込みがプロセッサの処理能力を大きく低減してしまうという問題がある。
【００１４】
さらに、ハードウェアアクセラレータとプロセッサとの間のデータ転送期間があらかじめ必要な演算に対して、ハードウェアアクセラレータからプロセッサへの割り込みが新たな負荷として加わることになるおそれがあるという問題がある。
【００１５】
本発明の目的は、プロセッサの負荷を軽減することができる通信用ＬＳＩを提供することにある。
【００１６】
【課題を解決するための手段】
本発明に係る通信用ＬＳＩは、通信データを演算処理するために設けられた演算手段と、前記演算手段の動作を制御するための制御コードを供給するプロセッサと、前記プロセッサによって供給された前記制御コードに基づいて前記演算手段を制御する演算制御手段と、前記制御コードを格納する制御コード格納手段とを具備しており、記演算制御手段は前記プロセッサの動作によらずに前記制御コードに基づいて動作する、前記制御コード格納手段からの読み出し機能を有しており、前記演算手段は、前記通信データを積和演算するための積和演算器と前記通信データを算術論理演算するための算術論理演算器とを含んでいることを特徴とする。
【００１７】
【発明の実施の形態】
本実施の形態に係る通信用ＬＳＩにおいては、演算制御手段が、プロセッサによって供給された制御コードに基づいて積和演算器と算術論理演算器とを制御する。このため、通信データを演算処理する積和演算器と算術論理演算器とは演算制御手段によって制御される。従って、プロセッサは、通信データを演算処理する積和演算器と算術論理演算器とを制御する必要がない。その結果、プロセッサは、通信データの処理以外の処理に充分性能を発揮することができるので、プロセッサの負荷が軽減された通信用ＬＳＩを得ることができる。
【００１８】
前記積和演算器は、前記通信データをフィルタ処理することが好ましい。
【００１９】
前記フィルタ処理は、ＦＩＲフィルタ処理、ＩＩＲフィルタ処理およびエコーキャンセラ処理のいずれかを含んでいることが好ましい。
【００２０】
前記積和演算器は、前記通信データをＦＥＱ処理することが好ましい。
【００２１】
前記積和演算器は、前記通信データをＦＦＴ処理することが好ましい。
【００２２】
前記算術論理演算器は、前記通信データをビットマッピング処理することが好ましい。
【００２３】
前記算術論理演算器は、前記通信データをスクランブル処理することが好ましい。
【００２４】
前記算術論理演算器は、前記通信データをＣＲＣ処理することが好ましい。
【００２５】
前記算術論理演算器は、前記通信データをビタビ処理またはインターリーブ処理することが好ましい。
【００２６】
前記算術論理演算器は、第１種類の算術論理演算を実行するための第１演算部と、第２種類の算術論理演算を実行するための第２演算部とを有していることが好ましい。
【００２７】
前記演算制御手段は、前記算術論理演算器に設けられた前記第１演算部を制御するための第１演算制御命令と、前記第２演算部を制御するための第２演算制御命令とを前記制御コードに基づいて生成するデコーダと、前記デコーダによって生成された前記第１演算制御命令に基づいて、前記算術論理演算器に設けられた前記第１演算部を制御する第１演算部制御器と、前記デコーダによって生成された前記第２演算制御命令に基づいて、前記算術論理演算器に設けられた前記第２演算部を制御する第２演算部制御器とを有していることが好ましい。
【００２８】
前記算術論理演算器に設けられた前記第１演算部によって実行される前記第１種類の算術論理演算は、バイト算術論理演算であり、前記算術論理演算器に設けられた前記第２演算部によって実行される前記第２種類の算術論理演算は、ビット算術論理演算とビット分割／結合演算とのいずれかであることが好ましい。
【００２９】
前記算術論理演算器に設けられた前記第１演算部と前記第２演算部とのいずれかによる演算処理に関連するデータを格納するために設けられたメモリ手段をさらに具備しており、前記デコーダは、前記制御コードに基づいて前記メモリ手段を制御するためのメモリ手段制御命令を生成し、前記デコーダによって生成された前記メモリ手段制御命令に基づいて前記メモリ手段を制御するデータパス制御器をさらに具備しており、前記メモリ手段は、前記データパス制御器による制御に応じて、前記メモリ手段に格納されたデータを読み出して前記第１演算部と前記第２演算部とのいずれかへ供給し、前記第１演算部と前記第２演算部とのいずれかから供給されたデータを前記メモリ手段へ書き込むことが好ましい。
【００３０】
前記プロセッサは、前記演算手段による前記通信データの演算処理動作を制御するための他の制御コードを供給し、前記プロセッサによって供給された前記他の制御コードと前記プロセッサの処理動作に関連するワークデータとを格納するためのワークメモリと、前記ワークメモリに格納された前記他の制御コードへの前記演算制御手段からのアクセス要求と前記前記ワークメモリに格納された前記ワークデータへの前記プロセッサからのアクセス要求とを調停するアービタとをさらに具備することが好ましい。
【００３１】
前記プロセッサは、所定の優先度によって前記ワークメモリへのアクセスを前記アービタに要求し、前記演算制御手段は、前記プロセッサの動作状況に応じて、前記所定の優先度よりも高い優先度と前記所定の優先度よりも低い優先度とのいずれかによって前記ワークメモリへのアクセスを前記アービタに要求することが好ましい。
【００３２】
前記プロセッサは、前記他の制御コードを前記ワークメモリへ供給した後、前記ワークメモリへのアクセスを前記演算制御手段へ指示し、前記演算制御手段は、前記プロセッサからの指示に従って前記ワークメモリへのアクセスを前記アービタに要求することが好ましい。
【００３３】
前記プロセッサによって供給された前記制御コードを格納するためのワークメモリをさらに具備しており、前記演算制御手段は、前記通信データを送受信する準備のためのトレーニング期間の間は、前記演算手段の演算処理動作を停止させ、前記通信データを送受信するための送受信期間の間は、前記ワークメモリに格納された前記制御コードに基づいて、前記演算手段が演算処理動作を実行するように前記演算手段を制御することが好ましい。
【００３４】
前記演算手段は、前記通信データを算術論理演算するための算術論理演算器であることが好ましい。
【００３５】
前記ワークメモリには、前記プロセッサの処理動作に関連するワークデータがさらに格納されており、前記プロセッサは、前記ワークメモリに格納された前記ワークデータに基づいて前記処理動作を実行することが好ましい。
【００３６】
前記演算手段による演算処理に関連するデータを格納するために設けられたメモリ手段をさらに具備しており、前記プロセッサによって供給される前記制御コードは、前記演算手段による前記通信データの演算処理動作を制御するための演算器制御コードと、前記メモリ手段の動作を制御するためのデータパス制御コードとを含んでおり、前記プロセッサによって供給される前記演算器制御コードを格納するための演算器制御コード格納器と、前記プロセッサによって供給される前記データパス制御コードを格納するためのデータパス制御コード格納器とをさらに具備することが好ましい。
【００３７】
前記演算制御手段は、前記プロセッサによって発行された前記起動命令に応じて、前記演算器制御コード格納器に格納された前記演算器制御コードと前記データパス制御コード格納器に格納された前記データパス制御コードとを読み出す制御コード読み出し器を有していることが好ましい。
【００３８】
前記演算制御手段は、前記制御コード読み出し器によって読み出された前記演算器制御コードに基づいて、前記演算手段の演算処理動作を制御するための演算制御命令を生成する演算器デコーダと、前記制御コード読み出し器によって読み出された前記データパス制御コードに基づいて、前記メモリ手段の動作を制御するためのデータパス制御命令を生成するデータパスデコーダとを有しており、前記演算手段は、前記演算器デコーダによって生成された前記演算制御命令に従って前記通信データを演算処理し、前記メモリ手段は、前記データパスデコーダによって生成された前記データパス制御命令に応じて、前記メモリ手段に格納されたデータを読み出して前記演算手段へ供給し、前記演算手段から供給されたデータを前記メモリ手段へ書き込むことが好ましい。
【００３９】
前記演算手段による演算処理に関連するデータを格納するために設けられたメモリ手段と、前記プロセッサから供給される通信データを格納するためのデータキューと、前記データキューに格納された前記通信データを前記メモリ手段に格納するデータパス制御器とをさらに備えることが好ましい。
【００４０】
前記演算手段は、前記データパス制御器によって前記メモリ手段に格納された前記通信データを演算処理することが好ましい。
【００４１】
前記データキューは、ＦＩＦＯ構造を有していることが好ましい。
【００４２】
実施の形態に係る通信用ＬＳＩは、通信データ処理を実行する算術論理演算器と積和演算器、および制御用のプロセッサとからなり、算術論理演算器と積和演算器は制御コードに基づいて動作するものとする。算術論理演算器ではビットＡＬＵ・バイトＡＬＵ・ビット分割・ビット結合などの制御コードを用意し、積和演算器では積和演算、複素乗算、積和＋加減算などの制御コードを用意する。算術論理演算器と積和演算器は制御コードを格納する記憶装置を有しており、これらの制御コードは制御用のプロセッサによって書き込まれる。
【００４３】
また、それぞれの演算器には制御コードを解析し演算器の動作と入出力データを制御する演算制御器を有しており、演算制御器は通信の同期信号を起動信号として受け取ることで制御コードに書き込まれた処理を繰り返し実行する。
【００４４】
実施の形態に係る通信用ＬＳＩでは、制御コードによってプログラムされた処理を通信データの処理単位であるシンボル、フレームの同期信号を単位として自動的に繰り返し処理を行なうことにより、プロセッサの処理能力を減ずることなく通信データの送受信を行い、かつ制御コードをマイコンから自由に書き換える構成を取っているため処理の柔軟性を併せ持つことが可能である。また、制御コード発生器が制御プロセッサに集約されており積和演算器・算術論理演算器におけるコードの発生は不要なため制御コード発生器として汎用ＤＳＰのような大規模オンチップメモリが不要となる。
【００４５】
ＡＤＳＬおよび無線ＬＡＮのような高速通信モデム装置に必要とされる演算種類は、ＦＦＴ、フィルタといった高速な積和演算と、ビタビ復号、インタリーブおよびマッピングなどのビットもしくはバイト単位の算術論理演算との２種類の演算に大別される。
【００４６】
以下、図面を参照して本発明の実施の形態を説明する。
【００４７】
（実施の形態１）
図１は実施の形態１に係る通信用ＬＳＩ１００の構成を示すブロック図であり、図２は通信用ＬＳＩ１００に設けられた演算制御器１の構成を説明するためのブロック図であり、図３は通信用ＬＳＩ１００に設けられた演算制御器２の構成を説明するためのブロック図である。
【００４８】
算術論理演算器３は演算制御部１によって制御され、その制御コードは制御コード格納器６に格納される。積和演算器４は演算制御部２によって制御され、その制御コードは制御コード格納器７に格納される。制御コード格納器６および制御コード格納器７に対する制御コードの書き込みはプロセッサ５が行なうものとする。
【００４９】
図１に示す演算制御器１および演算制御器２の詳細構成を図２および図３にそれぞれ示す。演算制御１および演算制御器２はいずれも同様の構成によって実現することが可能である。以下、この動作について説明する。
【００５０】
まず、プロセッサ５は制御コード格納器６と制御コード格納器７にそれぞれの制御コードを書き込む。次に、プロセッサ５は演算制御器１および演算制御器２に対して起動命令を発行する。演算制御器１および演算制御器２は、最初にプロセッサ５から起動命令が発行された後、通信同期信号を受け取ることで起動される。
【００５１】
演算制御器１が起動されると、制御コード読み出し器８が制御コード格納器６から制御コードを読み出してデコーダ９に送る。そして、デコーダ９は算術論理演算器３の演算処理を制御するための命令を演算器制御部１１に送る。次に、算術論理演算器３は、演算器制御部１１からの命令に従って演算処理を実行する。
【００５２】
デコーダ９は、制御コード格納器６から読み出された制御コードをデコードして、入出力データの位置とアドレスモードとを制御するための命令をデータパス制御器１０に送る。そして、メモリ／レジスタ１２は、データパス制御器１０からの指示に従ってデータの読み出し・書き込みを行なう。
【００５３】
制御コード読み出し器８は、制御コードの読み出しが終了すると次回起動時の制御コード開始位置に戻って停止し、２回目以降は通信同期信号を受け取ることで起動される。
【００５４】
演算制御器１と同様に構成された演算制御器２も、演算制御器１と同様に動作する。
【００５５】
通信データを送受信するために必要とされる通常の処理は同期信号毎の繰り返し処理であるため、このような構成をとることによりプロセッサ５は制御コードを制御コード格納器６および制御コード格納器７へそれぞれ書き込み、最初の起動命令を演算制御器１および演算制御器２へ発行した後は、通信データの演算処理を演算制御器１および演算制御器２に任せてプロセッサ５自身の処理を行なうことが可能となる。これによりプロセッサ５の演算能力に応じた様々な上位アプリケーションに対応することが可能となる。
【００５６】
以上の構成により、通信データ処理において必要とされる大部分の処理を小規模の制御コードによって実行することができる。
【００５７】
積和乗算器４について考えると、例えばフィルタ処理であれば、通信用ＬＳＩにはＦＩＲフィルタ、ＩＩＲフィルタ、エコーキャンセラ等が用いられる。この場合、演算の処理内容は全て信号データと係数データとに基づいた積和演算機能によって実現することが可能である。従って、演算器制御部１１に積和演算の繰り返し回数を書き込み、データパス制御器１０に読み出し・書き込み位置とアドレッシングモードの制御を適切に書き込むことで、全てのフィルタ処理を実行することが可能である。
【００５８】
ＦＥＱであれば、演算器制御部１１に複素乗算動作を設定し、入力データ順に処理を行なうことで実行可能である。ＦＦＴにおいても、基本的には複素乗算機能と加減算機能との繰り返しによって処理が可能である。
【００５９】
従って、積和演算、複素乗算および積和＋加減算などの積和演算制御機能を備えた積和演算器４と、メモリ・レジスタ２６及びデータパス制御器１０を備えた演算制御器２とを図１および図３に示すような構成で接続し、プロセッサ５が自由に制御コードを書き込むことにより通信の規格および通信状況に最適なデジタル演算処理が可能となる。
【００６０】
更なる効果として、各演算処理の必要性能はＦＥＱでは低く、フィルタおよびＦＦＴでは極めて高いといった偏りがあるが、１個の積和演算器４によって全ての処理を行なう構成であるため、回路規模の大きい乗算器の個数を最適化することが可能である。
【００６１】
算術論理演算器３について考えると、例えばビットマッピング処理においては、ビット分割・結合処理機能を算術論理演算器３に設定し、入力データ順に処理を行なうことで実行することが可能である。スクランブル処理、ＣＲＣ処理においては、ビット単位のＥＸＯＲを算術論理演算器３に設定することで実現することが可能である。ＦＥＣによって行なわれる処理は若干複雑ではあるが基本的にはバイト単位のＡＬＵ機能によって処理を実行している。従って、ビット分割・結合処理、ビット単位のＡＬＵ、バイト単位のＡＬＵ機能を備えた算術論理演算器３と、メモリ・レジスタ１２及びデータの並び換えにも対応した演算制御器１を図２に示すような構成で接続し、プロセッサ５が自由に制御コードを書き込むことにより通信の規格および通信状況に最適なデジタル演算処理が可能となる。
【００６２】
これらの積和演算器４と算術論理演算器３とを図１に示すように制御プロセッサ５と接続することで、通信データを処理している間に制御プロセッサ５に対して負荷を与えず、規格の変更や他社製のモデムに接続した時の不具合に対して制御コードの変更によって対応することができる融通性を持つ通信用ＬＳＩ１００を提供することが可能となる。
【００６３】
（実施の形態２）
図４は、実施の形態２に係る通信用ＬＳＩに設けられた演算制御器１Ａの構成を説明するためのブロック図である。実施の形態１において図２を参照して前述した構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【００６４】
算術論理演算器３Ａによって実行される処理は演算の種類を多く必要とする。しかしながら、処理に乗算器を必要としないため回路規模が小規模である。このため、図４に示すように算術論理演算器３Ａを機能ごとに複数の演算ユニットに分割し、演算器制御部に各演算ユニットを制御するための演算ユニット制御器を複数個用意しても、回路規模を大幅に増大することがない。
【００６５】
算術論理演算器３Ａは、バイト演算を実行するためのバイトＡＬＵ１３とビット演算を実行するためのビットＡＬＵ１４とビット分割演算およびビット結合演算を実行するためのビット分割／ビット結合演算ユニット１５と専用命令演算を実行するための専用命令演算ユニット１６とに分割されている。
【００６６】
演算制御器１Ａには、バイトＡＬＵ１３を制御するための演算ユニット制御器１７と、ビットＡＬＵ１４を制御するための演算ユニット制御器１８と、ビット分割／ビット結合演算ユニット１５を制御するための演算ユニット制御器１９と、専用命令演算ユニット１６を制御するための演算ユニット制御器２０とが設けられている。
【００６７】
このように算術論理演算器３Ａと演算器制御部とを分割することで、個々の演算ユニット制御器に用意すべき演算の種類が減少するため制御コードの量を削減することが可能であると共に、演算処理の並列化によって演算の処理速度を向上することが可能である。この際、算術論理演算器３Ａを並列化してもデータパス制御器１０Ａを１個としておくことで算術論理演算器３Ａを並列化しない場合と同様に、制御コードの変更によって対応することができる融通性を保つことが可能である。
【００６８】
（実施の形態３）
図５は実施の形態３に係る通信用ＬＳＩ１００Ｂの構成を示すブロック図であり、図６は通信用ＬＳＩ１００Ｂに設けられたアービタ２２の動作を説明するためのブロック図である。図１を参照して前述した通信用ＬＳＩ１００の構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【００６９】
図１を参照して前述した実施の形態１の構成に加えて、プロセッサ５Ｂが使用するワークメモリ２１から制御コード格納器６Ｂに対して書き込みパスが設けられており、プロセッサ５Ｂの制御と演算制御器１Ｂの制御とを調停するアービタ２２が設けられているものとする。
【００７０】
また、図６に示すように、演算制御器１Ｂからアービタ２２へのワークメモリ２１の使用要求は、プロセッサ５Ｂからのワークメモリ２１の使用要求よりも高い優先度を有する高優先の要求と、低い優先度を有する低優先の要求とを持つものとする。
【００７１】
以上のような構成を取る事により、予め用意された制御コード格納器６Ｂの容量では通信データ処理のための制御コードが収まらない場合にも、プロセッサ５Ｂの処理を大きく阻害することなく通信データ処理に対応することが可能となる。以下、この動作について説明する。
【００７２】
プロセッサ５Ｂは制御コードが制御コード格納器６Ｂに収まりきらない時、ワークメモリ２１へのアクセス命令を制御コードに書き込み、アービタ２２に対してアクセス要求を発行することを演算制御器１Ｂに指示する。そして、演算制御器１Ｂは制御コードの処理が進行し制御コード格納器６Ｂに制御コードの上書きが可能となった時点においてアクセス命令に従ってワークメモリ２１に対する読み出し要求をアービタ２２に送出する。
【００７３】
演算制御器１Ｂがアービタ２２に送出するアクセス要求は、算術論理演算器３が制御コード格納器６Ｂに収められている制御コードによって動作可能な間は低優先の要求であり、プロセッサ５Ｂが内部キャッシュメモリを使用している期間または休止状態であるためにワークメモリ２１にアクセスしていない期間にのみアービタ２２は演算制御器１Ｂからの要求に従ってワークメモリ２１へのアクセス権を演算制御器１Ｂに開放する。
【００７４】
このようにプロセッサ５Ｂがワークメモリ２１を使用していない期間に制御コードの書き換えを実現することができる場合は、演算制御器１Ｂがワークメモリ２１から制御コードを読み出しても、プロセッサ５Ｂの処理性能を減ずることがない。
【００７５】
プロセッサ５Ｂがワークメモリ２１を使用していない期間に制御コードの書き換えを実現することができない場合は、算術論理演算器３が制御コード格納器６Ｂに収められている制御コードのみでは動作不可能になった時点において、演算制御器１Ｂからアービタ２２への要求は高優先の要求となる。そして、アービタ２２はプロセッサ５Ｂからのワークメモリ２１へのアクセスを停止してワークメモリ２１へのアクセス権を演算制御器１Ｂに開放する。
【００７６】
これによりプロセッサ５Ｂの動きを阻害することにはなるけれども、通信処理に破綻をきたすことなく処理を継続することが可能となる。以上のように動作することで、制御コード格納器６Ｂに制御コードが収まりきらない際にもプロセッサ５Ｂの処理を大幅に阻害することなく通信処理に対応することが可能となる。
【００７７】
（実施の形態４）
図７は実施の形態４に係る通信用ＬＳＩ１００Ｃの構成を示すブロック図であり、図８は通信用ＬＳＩ１００Ｃの動作を説明するためのブロック図である。図１を参照して前述した通信用ＬＳＩ１００の構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【００７８】
図１を参照して前述した実施の形態１の構成に加えて、算術論理演算器３を制御するための制御コードを、プロセッサ５Ｃが使用するワークメモリ２１Ｃに格納する構成をとるものとする。
【００７９】
ＡＤＳＬ、無線ＬＡＮなどのモデム通信の規格では機器間の転送を正常に行なうために、回線状態を検知するトレーニング期間が必要となる。トレーニング期間中においては、誤り訂正、周波数マッピングなどの算術論理演算器３によって行なう処理は不必要である代わりに、回線状態を検知するという複雑な処理を行なう。このため、プロセッサ５Ｃの役割が増加するため、プロセッサ５Ｃが必要とするワークメモリ２１Ｃの容量が増加する。逆にトレーニング期間が終了した後のモデム送受信処理中においては、プロセッサ５Ｃの役割は減少するので、プロセッサ５Ｃが必要とするワークメモリ２１Ｃの容量も減少する。
【００８０】
このため、算術論理演算器３を制御するための制御コードを格納する制御コード格納部を、プロセッサ５Ｃが使用するワークメモリ２１Ｃと共有することが可能である。
【００８１】
トレーニング期間中においては図７に示すようにプロセッサ５Ｃがワークメモリ２１Ｃを使用し、演算制御器１Ｃは算術論理演算器３に対して停止命令を発行する。モデム送受信期間中においては図８に示すようにワークメモリ２１Ｃに格納された制御コードに基づいて演算制御器１Ｃは算術論理演算器３の動作を制御する。
【００８２】
以上のような構成にすることで、通信用ＬＳＩ１００Ｃ全体の動作を損なうことなく制御コードを格納するために必要なメモリ資源を削減することが可能となる。
【００８３】
（実施の形態５）
図９は、実施の形態５に係る通信用ＬＳＩに設けられた演算制御器１Ｄの構成を説明するためのブロック図である。実施の形態１において図２を参照して前述した構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【００８４】
図２を参照して前述した実施の形態１の構成における制御コード格納器６を演算器制御コード格納器２７とデータパス制御コード格納器２８とに分割する。制御コード読み出し器８Ｄは、演算器制御コードの読み出しとデータパス制御コードの読み出しとを同時に制御するものとする。
【００８５】
通信処理に必要な種々の演算は、演算器制御部１１による制御は同一であってもデータパス制御器１０による演算データの読み出し位置、アドレッシングモードが異なる場合がある。また逆にデータパス制御器１０による演算データの読み出し方法は一定であっても演算器制御部１１の演算種類が異なる処理も存在する。従って、図９に示すように演算器制御コード格納器２７とデータパス制御コード格納器２８とを独立に設け、１種類の演算器制御コードに対して種々の読み出し位置、アドレッシングモードを組み合わせることによって、または、逆に１種類のデータパス制御コードに対して種々の演算器制御コードを組み合わせることによって、必要な制御コードの量を削減することが可能となる。
【００８６】
（実施の形態６）
図１０は、実施の形態６に係る通信用ＬＳＩ１００Ｅの構成を示すブロック図である。実施の形態１において図１および図２を参照して前述した構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【００８７】
実施の形態１において図１および図２を参照して前述した構成に加えて、プロセッサ５Ｅのワーク用レジスタとして接続されたデータキュー２５およびデータキュー２５からモデム演算データメモリであるメモリ／レジスタ１２へのリード／ライト制御機能を有するデータパス制御器１０Ｅを持つものとする。データキュー２５は、ＦＩＦＯ構造を持つものとする。
【００８８】
ＡＤＳＬモデムのような長時間接続を前提とした通信規格においては、通信維持、メインテナンス情報などのリアルタイム性が不要な情報データであって、ユーザ設定によって処理内容を随意に変更することができるプロセッサによって処理を行なうことが有効な情報データをモデムデータに載せて送受信する場合がある。このような情報データをプロセッサ５Ｅからメモリ／レジスタ１２へ格納しモデムデータに載せる際、データキュー２５を用いる。
【００８９】
プロセッサ５Ｅは、データキュー２５をチェックするためのチェック命令をあらかじめ制御コードに書き込んでおく。そして、プロセッサ５Ｅは、モデムデータの送受信中にデータを送信する必要ができた時にデータキュー２５に送信データを書き込む。
【００９０】
次に、データパス制御器１０Ｅは、定期的にデータキュー２５にデータが格納されているか否かを制御コードに従ってチェックする。そして、データキュー２５にデータが無い時にはモデム演算処理をそのまま継続する。データキュー２５にデータがある場合にはデータキュー２５からデータを取り出してメモリ／レジスタ１２へ格納した後モデム演算処理を継続する。モデムデータからの読み出しについては逆の動作を行なう。
【００９１】
以上の動作により、プロセッサ５Ｅはデータキュー２５を介して任意のタイミングによってモデムデータにデータを送信・または受信することが可能となる。その結果、演算制御器１Ｅの割り込みを受けることなくモデムデータの送受信処理を継続することが可能となる。
【００９２】
以上に示すように実施の形態１〜実施の形態６に係る通信用ＬＳＩにおいては、通信演算処理が制御コードに基づいて実行されるため汎用性を高めることができる。
【００９３】
また、制御コードにおいては条件分岐制御などの複雑な制御機構を持たないため制御器の回路規模を小さくすることができる。
【００９４】
さらに、制御コードを発生する機能がプロセッサに集約されているので、積和演算器・算術論理演算器において制御コードを発生させる必要がない。このため、制御コード発生器として汎用ＤＳＰのような大規模オンチップメモリが不要となる。
【００９５】
さらに、プロセッサが通信データのリアルタイム制御から切り離されるため、通信データの処理以外にプロセッサが充分性能を発揮することができる。
【００９６】
さらに、面積コストの大きい乗算器を複数の積和演算で用いることにより乗算器の個数の最適化を図ることができる。
【００９７】
その結果、融通性を保ちながら面積の削減を図ることができ低コストな通信ＬＳＩの提供が可能となる。
【００９８】
【発明の効果】
以上のように本発明によれば、プロセッサの負荷を軽減し、通信データの演算に融通性を保つことができる通信用ＬＳＩを提供することができる。
【図面の簡単な説明】
【図１】実施の形態１に係る通信用ＬＳＩの構成を示すブロック図
【図２】実施の形態１に係る通信用ＬＳＩに設けられた演算制御器の構成を説明するためのブロック図
【図３】実施の形態１に係る通信用ＬＳＩに設けられた他の演算制御器の構成を説明するためのブロック図
【図４】実施の形態２に係る通信用ＬＳＩの構成を説明するためのブロック図
【図５】実施の形態３に係る通信用ＬＳＩの構成を示すブロック図
【図６】実施の形態３に係る通信用ＬＳＩに設けられたアービタの動作を説明するためのブロック図
【図７】実施の形態４に係る通信用ＬＳＩの構成を示すブロック図
【図８】実施の形態４に係る通信用ＬＳＩの動作を説明するためのブロック図
【図９】実施の形態５に係る通信用ＬＳＩの構成を説明するためのブロック図
【図１０】実施の形態６に係る通信用ＬＳＩの構成を示すブロック図
【図１１】従来の通信用ＬＳＩの構成を示すブロック図
【図１２】従来の他の通信用ＬＳＩの構成を示すブロック図
【符号の説明】
１  演算制御器
２  演算制御器
３  算術論理演算器
４  積和演算器
５  プロセッサ
６  制御コード格納器
７  制御コード格納器
８  制御コード読み出し器
９  デコーダ
１０  データパス制御器
１１  演算器制御部
１２  メモリ／レジスタ
１３  バイトＡＬＵ
１４  ビットＡＬＵ
１５  ビット分割／結合演算ユニット
１６  専用命令演算ユニット
１７、１８、１９、２０  演算ユニット制御器
２１  ワークメモリ
２２  アービタ
２３  演算器デコーダ
２４  データパスデコーダ
２５  データキュー
２７  演算器制御コード格納器
２８  データパス制御コード格納器
【図１】
2004227264.tif 000003
【図２】
2004227264.tif 000004
【図３】
2004227264.tif 000005
【図４】
2004227264.tif 000006
【図５】
2004227264.tif 000007
【図６】
2004227264.tif 000008
【図７】
2004227264.tif 000009
【図８】
2004227264.tif 000010
【図９】
2004227264.tif 000011
【図１０】
2004227264.tif 000012
【図１１】
2004227264.tif 000013
【図１２】
2004227264.tif 000014