JP2004227264A - Lsi for communication - Google Patents
Lsi for communication Download PDFInfo
- Publication number
- JP2004227264A JP2004227264A JP2003013961A JP2003013961A JP2004227264A JP 2004227264 A JP2004227264 A JP 2004227264A JP 2003013961 A JP2003013961 A JP 2003013961A JP 2003013961 A JP2003013961 A JP 2003013961A JP 2004227264 A JP2004227264 A JP 2004227264A
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic
- unit
- data
- control code
- communication
- 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.)
- Withdrawn
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明はLSI集積回路に関し、特に通信用LSIに関する。
【0002】
【従来の技術】
ADSLおよび無線LANのような高速通信モデムを実現する装置には、FFT(フーリエ変換)、フィルタ、FEC(フォワード・エラー・コレクション)、複素マッピング、CRC,スクランブルおよびインタリーブなどの様々な処理が必要とされる。
【0003】
従来技術において高速通信用LSIを実現する方法としては、制御用のプロセッサを一個用意し、信号処理は主に専用ハードウェアによって処理させることで通信用LSIを実現する方法がある。
【0004】
図11は、従来の通信用LSI90の構成を示すブロック図である。通信用LSI90は、1個のプロセッサ95およびモデムデータを処理するための算術論理演算器93と積和演算器94とを備えている。算術論理演算器93には、Framing CRC81とscrammble82とFEC83とInterleave84とTrellis vitarbi85とMapping86とが設けられている。積和演算器94は、FEQ87とFFT88とフィルタ89とを有している。
【0005】
このような専用ハードウェアによって通信用LSIを実現しようとする場合には処理内容が固定的に決定してしまうため柔軟性に欠ける。このため、規格の変更および他社モデムに接続する時の不具合への対応が困難である。
【0006】
また別の方法として、マイコン、DSPなど複数のプロセッサを搭載し、プログラムを駆使して通信用LSIを実現する方法がある。実際の通信用LSIでは前述した二つの方法の中間の方法として、一部を専用ハードウェアによって実現し残りの部分をマイコン、DSPによって実現しているものが多い。
【0007】
図12は、従来の他の通信用LSI80の構成を示すブロック図である。通信用LSI80は、プロセッサ85およびモデムデータを処理するためのプロセッサ86とDSP87とを備えている。
【0008】
このようにマイコン、DSPなど複数のプロセッサによって通信用LSIを実現しようとする場合にはプロセッサ間におけるメモリアクセスの競合によってそれぞれのプロセッサの処理能力が低下する。この場合、命令制御が複雑になるため命令メモリ容量が大きくなる。その結果、回路規模が増大しコストアップにつながる。
【0009】
従来技術においてもこれらの課題を回避するために、専用ハードウェアについては多様なモードに対応することができるハードウェアを用意して、ある程度の融通性を持たせているものがある(例えば、特許文献1参照。)。
【0010】
もしくは、演算量が膨大なフィルタやFFT処理および演算が複雑なFEC等の処理についてはハードウェアアクセラレータを準備してプロセッサの負荷を軽減するなどの工夫が取られている。
【0011】
【特許文献1】
特開平10−243049号公報(第10頁〜第13頁、図1)
【0012】
【発明が解決しようとする課題】
しかしながら、専用ハードウェアに多様なモードを持たせる前述した手法においては、例えば規格変更または想定外の要因等によってあらかじめ準備した機能以外の機能が必要になった際に、そのような機能に対応するだけの柔軟性を通信用LSIに持たせることは困難であるという問題がある。
【0013】
また、ハードウェアアクセラレータを準備してプロセッサの負荷を軽減する前述した手法においては、ハードウェアアクセラレータからプロセッサへの割り込みがプロセッサの処理能力を大きく低減してしまうという問題がある。
【0014】
さらに、ハードウェアアクセラレータとプロセッサとの間のデータ転送期間があらかじめ必要な演算に対して、ハードウェアアクセラレータからプロセッサへの割り込みが新たな負荷として加わることになるおそれがあるという問題がある。
【0015】
本発明の目的は、プロセッサの負荷を軽減することができる通信用LSIを提供することにある。
【0016】
【課題を解決するための手段】
本発明に係る通信用LSIは、通信データを演算処理するために設けられた演算手段と、前記演算手段の動作を制御するための制御コードを供給するプロセッサと、前記プロセッサによって供給された前記制御コードに基づいて前記演算手段を制御する演算制御手段と、前記制御コードを格納する制御コード格納手段とを具備しており、記演算制御手段は前記プロセッサの動作によらずに前記制御コードに基づいて動作する、前記制御コード格納手段からの読み出し機能を有しており、前記演算手段は、前記通信データを積和演算するための積和演算器と前記通信データを算術論理演算するための算術論理演算器とを含んでいることを特徴とする。
【0017】
【発明の実施の形態】
本実施の形態に係る通信用LSIにおいては、演算制御手段が、プロセッサによって供給された制御コードに基づいて積和演算器と算術論理演算器とを制御する。このため、通信データを演算処理する積和演算器と算術論理演算器とは演算制御手段によって制御される。従って、プロセッサは、通信データを演算処理する積和演算器と算術論理演算器とを制御する必要がない。その結果、プロセッサは、通信データの処理以外の処理に充分性能を発揮することができるので、プロセッサの負荷が軽減された通信用LSIを得ることができる。
【0018】
前記積和演算器は、前記通信データをフィルタ処理することが好ましい。
【0019】
前記フィルタ処理は、FIRフィルタ処理、IIRフィルタ処理およびエコーキャンセラ処理のいずれかを含んでいることが好ましい。
【0020】
前記積和演算器は、前記通信データをFEQ処理することが好ましい。
【0021】
前記積和演算器は、前記通信データをFFT処理することが好ましい。
【0022】
前記算術論理演算器は、前記通信データをビットマッピング処理することが好ましい。
【0023】
前記算術論理演算器は、前記通信データをスクランブル処理することが好ましい。
【0024】
前記算術論理演算器は、前記通信データをCRC処理することが好ましい。
【0025】
前記算術論理演算器は、前記通信データをビタビ処理またはインターリーブ処理することが好ましい。
【0026】
前記算術論理演算器は、第1種類の算術論理演算を実行するための第1演算部と、第2種類の算術論理演算を実行するための第2演算部とを有していることが好ましい。
【0027】
前記演算制御手段は、前記算術論理演算器に設けられた前記第1演算部を制御するための第1演算制御命令と、前記第2演算部を制御するための第2演算制御命令とを前記制御コードに基づいて生成するデコーダと、前記デコーダによって生成された前記第1演算制御命令に基づいて、前記算術論理演算器に設けられた前記第1演算部を制御する第1演算部制御器と、前記デコーダによって生成された前記第2演算制御命令に基づいて、前記算術論理演算器に設けられた前記第2演算部を制御する第2演算部制御器とを有していることが好ましい。
【0028】
前記算術論理演算器に設けられた前記第1演算部によって実行される前記第1種類の算術論理演算は、バイト算術論理演算であり、前記算術論理演算器に設けられた前記第2演算部によって実行される前記第2種類の算術論理演算は、ビット算術論理演算とビット分割/結合演算とのいずれかであることが好ましい。
【0029】
前記算術論理演算器に設けられた前記第1演算部と前記第2演算部とのいずれかによる演算処理に関連するデータを格納するために設けられたメモリ手段をさらに具備しており、前記デコーダは、前記制御コードに基づいて前記メモリ手段を制御するためのメモリ手段制御命令を生成し、前記デコーダによって生成された前記メモリ手段制御命令に基づいて前記メモリ手段を制御するデータパス制御器をさらに具備しており、前記メモリ手段は、前記データパス制御器による制御に応じて、前記メモリ手段に格納されたデータを読み出して前記第1演算部と前記第2演算部とのいずれかへ供給し、前記第1演算部と前記第2演算部とのいずれかから供給されたデータを前記メモリ手段へ書き込むことが好ましい。
【0030】
前記プロセッサは、前記演算手段による前記通信データの演算処理動作を制御するための他の制御コードを供給し、前記プロセッサによって供給された前記他の制御コードと前記プロセッサの処理動作に関連するワークデータとを格納するためのワークメモリと、前記ワークメモリに格納された前記他の制御コードへの前記演算制御手段からのアクセス要求と前記前記ワークメモリに格納された前記ワークデータへの前記プロセッサからのアクセス要求とを調停するアービタとをさらに具備することが好ましい。
【0031】
前記プロセッサは、所定の優先度によって前記ワークメモリへのアクセスを前記アービタに要求し、前記演算制御手段は、前記プロセッサの動作状況に応じて、前記所定の優先度よりも高い優先度と前記所定の優先度よりも低い優先度とのいずれかによって前記ワークメモリへのアクセスを前記アービタに要求することが好ましい。
【0032】
前記プロセッサは、前記他の制御コードを前記ワークメモリへ供給した後、前記ワークメモリへのアクセスを前記演算制御手段へ指示し、前記演算制御手段は、前記プロセッサからの指示に従って前記ワークメモリへのアクセスを前記アービタに要求することが好ましい。
【0033】
前記プロセッサによって供給された前記制御コードを格納するためのワークメモリをさらに具備しており、前記演算制御手段は、前記通信データを送受信する準備のためのトレーニング期間の間は、前記演算手段の演算処理動作を停止させ、前記通信データを送受信するための送受信期間の間は、前記ワークメモリに格納された前記制御コードに基づいて、前記演算手段が演算処理動作を実行するように前記演算手段を制御することが好ましい。
【0034】
前記演算手段は、前記通信データを算術論理演算するための算術論理演算器であることが好ましい。
【0035】
前記ワークメモリには、前記プロセッサの処理動作に関連するワークデータがさらに格納されており、前記プロセッサは、前記ワークメモリに格納された前記ワークデータに基づいて前記処理動作を実行することが好ましい。
【0036】
前記演算手段による演算処理に関連するデータを格納するために設けられたメモリ手段をさらに具備しており、前記プロセッサによって供給される前記制御コードは、前記演算手段による前記通信データの演算処理動作を制御するための演算器制御コードと、前記メモリ手段の動作を制御するためのデータパス制御コードとを含んでおり、前記プロセッサによって供給される前記演算器制御コードを格納するための演算器制御コード格納器と、前記プロセッサによって供給される前記データパス制御コードを格納するためのデータパス制御コード格納器とをさらに具備することが好ましい。
【0037】
前記演算制御手段は、前記プロセッサによって発行された前記起動命令に応じて、前記演算器制御コード格納器に格納された前記演算器制御コードと前記データパス制御コード格納器に格納された前記データパス制御コードとを読み出す制御コード読み出し器を有していることが好ましい。
【0038】
前記演算制御手段は、前記制御コード読み出し器によって読み出された前記演算器制御コードに基づいて、前記演算手段の演算処理動作を制御するための演算制御命令を生成する演算器デコーダと、前記制御コード読み出し器によって読み出された前記データパス制御コードに基づいて、前記メモリ手段の動作を制御するためのデータパス制御命令を生成するデータパスデコーダとを有しており、前記演算手段は、前記演算器デコーダによって生成された前記演算制御命令に従って前記通信データを演算処理し、前記メモリ手段は、前記データパスデコーダによって生成された前記データパス制御命令に応じて、前記メモリ手段に格納されたデータを読み出して前記演算手段へ供給し、前記演算手段から供給されたデータを前記メモリ手段へ書き込むことが好ましい。
【0039】
前記演算手段による演算処理に関連するデータを格納するために設けられたメモリ手段と、前記プロセッサから供給される通信データを格納するためのデータキューと、前記データキューに格納された前記通信データを前記メモリ手段に格納するデータパス制御器とをさらに備えることが好ましい。
【0040】
前記演算手段は、前記データパス制御器によって前記メモリ手段に格納された前記通信データを演算処理することが好ましい。
【0041】
前記データキューは、FIFO構造を有していることが好ましい。
【0042】
実施の形態に係る通信用LSIは、通信データ処理を実行する算術論理演算器と積和演算器、および制御用のプロセッサとからなり、算術論理演算器と積和演算器は制御コードに基づいて動作するものとする。算術論理演算器ではビットALU・バイトALU・ビット分割・ビット結合などの制御コードを用意し、積和演算器では積和演算、複素乗算、積和+加減算などの制御コードを用意する。算術論理演算器と積和演算器は制御コードを格納する記憶装置を有しており、これらの制御コードは制御用のプロセッサによって書き込まれる。
【0043】
また、それぞれの演算器には制御コードを解析し演算器の動作と入出力データを制御する演算制御器を有しており、演算制御器は通信の同期信号を起動信号として受け取ることで制御コードに書き込まれた処理を繰り返し実行する。
【0044】
実施の形態に係る通信用LSIでは、制御コードによってプログラムされた処理を通信データの処理単位であるシンボル、フレームの同期信号を単位として自動的に繰り返し処理を行なうことにより、プロセッサの処理能力を減ずることなく通信データの送受信を行い、かつ制御コードをマイコンから自由に書き換える構成を取っているため処理の柔軟性を併せ持つことが可能である。また、制御コード発生器が制御プロセッサに集約されており積和演算器・算術論理演算器におけるコードの発生は不要なため制御コード発生器として汎用DSPのような大規模オンチップメモリが不要となる。
【0045】
ADSLおよび無線LANのような高速通信モデム装置に必要とされる演算種類は、FFT、フィルタといった高速な積和演算と、ビタビ復号、インタリーブおよびマッピングなどのビットもしくはバイト単位の算術論理演算との2種類の演算に大別される。
【0046】
以下、図面を参照して本発明の実施の形態を説明する。
【0047】
(実施の形態1)
図1は実施の形態1に係る通信用LSI100の構成を示すブロック図であり、図2は通信用LSI100に設けられた演算制御器1の構成を説明するためのブロック図であり、図3は通信用LSI100に設けられた演算制御器2の構成を説明するためのブロック図である。
【0048】
算術論理演算器3は演算制御部1によって制御され、その制御コードは制御コード格納器6に格納される。積和演算器4は演算制御部2によって制御され、その制御コードは制御コード格納器7に格納される。制御コード格納器6および制御コード格納器7に対する制御コードの書き込みはプロセッサ5が行なうものとする。
【0049】
図1に示す演算制御器1および演算制御器2の詳細構成を図2および図3にそれぞれ示す。演算制御1および演算制御器2はいずれも同様の構成によって実現することが可能である。以下、この動作について説明する。
【0050】
まず、プロセッサ5は制御コード格納器6と制御コード格納器7にそれぞれの制御コードを書き込む。次に、プロセッサ5は演算制御器1および演算制御器2に対して起動命令を発行する。演算制御器1および演算制御器2は、最初にプロセッサ5から起動命令が発行された後、通信同期信号を受け取ることで起動される。
【0051】
演算制御器1が起動されると、制御コード読み出し器8が制御コード格納器6から制御コードを読み出してデコーダ9に送る。そして、デコーダ9は算術論理演算器3の演算処理を制御するための命令を演算器制御部11に送る。次に、算術論理演算器3は、演算器制御部11からの命令に従って演算処理を実行する。
【0052】
デコーダ9は、制御コード格納器6から読み出された制御コードをデコードして、入出力データの位置とアドレスモードとを制御するための命令をデータパス制御器10に送る。そして、メモリ/レジスタ12は、データパス制御器10からの指示に従ってデータの読み出し・書き込みを行なう。
【0053】
制御コード読み出し器8は、制御コードの読み出しが終了すると次回起動時の制御コード開始位置に戻って停止し、2回目以降は通信同期信号を受け取ることで起動される。
【0054】
演算制御器1と同様に構成された演算制御器2も、演算制御器1と同様に動作する。
【0055】
通信データを送受信するために必要とされる通常の処理は同期信号毎の繰り返し処理であるため、このような構成をとることによりプロセッサ5は制御コードを制御コード格納器6および制御コード格納器7へそれぞれ書き込み、最初の起動命令を演算制御器1および演算制御器2へ発行した後は、通信データの演算処理を演算制御器1および演算制御器2に任せてプロセッサ5自身の処理を行なうことが可能となる。これによりプロセッサ5の演算能力に応じた様々な上位アプリケーションに対応することが可能となる。
【0056】
以上の構成により、通信データ処理において必要とされる大部分の処理を小規模の制御コードによって実行することができる。
【0057】
積和乗算器4について考えると、例えばフィルタ処理であれば、通信用LSIにはFIRフィルタ、IIRフィルタ、エコーキャンセラ等が用いられる。この場合、演算の処理内容は全て信号データと係数データとに基づいた積和演算機能によって実現することが可能である。従って、演算器制御部11に積和演算の繰り返し回数を書き込み、データパス制御器10に読み出し・書き込み位置とアドレッシングモードの制御を適切に書き込むことで、全てのフィルタ処理を実行することが可能である。
【0058】
FEQであれば、演算器制御部11に複素乗算動作を設定し、入力データ順に処理を行なうことで実行可能である。FFTにおいても、基本的には複素乗算機能と加減算機能との繰り返しによって処理が可能である。
【0059】
従って、積和演算、複素乗算および積和+加減算などの積和演算制御機能を備えた積和演算器4と、メモリ・レジスタ26及びデータパス制御器10を備えた演算制御器2とを図1および図3に示すような構成で接続し、プロセッサ5が自由に制御コードを書き込むことにより通信の規格および通信状況に最適なデジタル演算処理が可能となる。
【0060】
更なる効果として、各演算処理の必要性能はFEQでは低く、フィルタおよびFFTでは極めて高いといった偏りがあるが、1個の積和演算器4によって全ての処理を行なう構成であるため、回路規模の大きい乗算器の個数を最適化することが可能である。
【0061】
算術論理演算器3について考えると、例えばビットマッピング処理においては、ビット分割・結合処理機能を算術論理演算器3に設定し、入力データ順に処理を行なうことで実行することが可能である。スクランブル処理、CRC処理においては、ビット単位のEXORを算術論理演算器3に設定することで実現することが可能である。FECによって行なわれる処理は若干複雑ではあるが基本的にはバイト単位のALU機能によって処理を実行している。従って、ビット分割・結合処理、ビット単位のALU、バイト単位のALU機能を備えた算術論理演算器3と、メモリ・レジスタ12及びデータの並び換えにも対応した演算制御器1を図2に示すような構成で接続し、プロセッサ5が自由に制御コードを書き込むことにより通信の規格および通信状況に最適なデジタル演算処理が可能となる。
【0062】
これらの積和演算器4と算術論理演算器3とを図1に示すように制御プロセッサ5と接続することで、通信データを処理している間に制御プロセッサ5に対して負荷を与えず、規格の変更や他社製のモデムに接続した時の不具合に対して制御コードの変更によって対応することができる融通性を持つ通信用LSI100を提供することが可能となる。
【0063】
(実施の形態2)
図4は、実施の形態2に係る通信用LSIに設けられた演算制御器1Aの構成を説明するためのブロック図である。実施の形態1において図2を参照して前述した構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【0064】
算術論理演算器3Aによって実行される処理は演算の種類を多く必要とする。しかしながら、処理に乗算器を必要としないため回路規模が小規模である。このため、図4に示すように算術論理演算器3Aを機能ごとに複数の演算ユニットに分割し、演算器制御部に各演算ユニットを制御するための演算ユニット制御器を複数個用意しても、回路規模を大幅に増大することがない。
【0065】
算術論理演算器3Aは、バイト演算を実行するためのバイトALU13とビット演算を実行するためのビットALU14とビット分割演算およびビット結合演算を実行するためのビット分割/ビット結合演算ユニット15と専用命令演算を実行するための専用命令演算ユニット16とに分割されている。
【0066】
演算制御器1Aには、バイトALU13を制御するための演算ユニット制御器17と、ビットALU14を制御するための演算ユニット制御器18と、ビット分割/ビット結合演算ユニット15を制御するための演算ユニット制御器19と、専用命令演算ユニット16を制御するための演算ユニット制御器20とが設けられている。
【0067】
このように算術論理演算器3Aと演算器制御部とを分割することで、個々の演算ユニット制御器に用意すべき演算の種類が減少するため制御コードの量を削減することが可能であると共に、演算処理の並列化によって演算の処理速度を向上することが可能である。この際、算術論理演算器3Aを並列化してもデータパス制御器10Aを1個としておくことで算術論理演算器3Aを並列化しない場合と同様に、制御コードの変更によって対応することができる融通性を保つことが可能である。
【0068】
(実施の形態3)
図5は実施の形態3に係る通信用LSI100Bの構成を示すブロック図であり、図6は通信用LSI100Bに設けられたアービタ22の動作を説明するためのブロック図である。図1を参照して前述した通信用LSI100の構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【0069】
図1を参照して前述した実施の形態1の構成に加えて、プロセッサ5Bが使用するワークメモリ21から制御コード格納器6Bに対して書き込みパスが設けられており、プロセッサ5Bの制御と演算制御器1Bの制御とを調停するアービタ22が設けられているものとする。
【0070】
また、図6に示すように、演算制御器1Bからアービタ22へのワークメモリ21の使用要求は、プロセッサ5Bからのワークメモリ21の使用要求よりも高い優先度を有する高優先の要求と、低い優先度を有する低優先の要求とを持つものとする。
【0071】
以上のような構成を取る事により、予め用意された制御コード格納器6Bの容量では通信データ処理のための制御コードが収まらない場合にも、プロセッサ5Bの処理を大きく阻害することなく通信データ処理に対応することが可能となる。以下、この動作について説明する。
【0072】
プロセッサ5Bは制御コードが制御コード格納器6Bに収まりきらない時、ワークメモリ21へのアクセス命令を制御コードに書き込み、アービタ22に対してアクセス要求を発行することを演算制御器1Bに指示する。そして、演算制御器1Bは制御コードの処理が進行し制御コード格納器6Bに制御コードの上書きが可能となった時点においてアクセス命令に従ってワークメモリ21に対する読み出し要求をアービタ22に送出する。
【0073】
演算制御器1Bがアービタ22に送出するアクセス要求は、算術論理演算器3が制御コード格納器6Bに収められている制御コードによって動作可能な間は低優先の要求であり、プロセッサ5Bが内部キャッシュメモリを使用している期間または休止状態であるためにワークメモリ21にアクセスしていない期間にのみアービタ22は演算制御器1Bからの要求に従ってワークメモリ21へのアクセス権を演算制御器1Bに開放する。
【0074】
このようにプロセッサ5Bがワークメモリ21を使用していない期間に制御コードの書き換えを実現することができる場合は、演算制御器1Bがワークメモリ21から制御コードを読み出しても、プロセッサ5Bの処理性能を減ずることがない。
【0075】
プロセッサ5Bがワークメモリ21を使用していない期間に制御コードの書き換えを実現することができない場合は、算術論理演算器3が制御コード格納器6Bに収められている制御コードのみでは動作不可能になった時点において、演算制御器1Bからアービタ22への要求は高優先の要求となる。そして、アービタ22はプロセッサ5Bからのワークメモリ21へのアクセスを停止してワークメモリ21へのアクセス権を演算制御器1Bに開放する。
【0076】
これによりプロセッサ5Bの動きを阻害することにはなるけれども、通信処理に破綻をきたすことなく処理を継続することが可能となる。以上のように動作することで、制御コード格納器6Bに制御コードが収まりきらない際にもプロセッサ5Bの処理を大幅に阻害することなく通信処理に対応することが可能となる。
【0077】
(実施の形態4)
図7は実施の形態4に係る通信用LSI100Cの構成を示すブロック図であり、図8は通信用LSI100Cの動作を説明するためのブロック図である。図1を参照して前述した通信用LSI100の構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【0078】
図1を参照して前述した実施の形態1の構成に加えて、算術論理演算器3を制御するための制御コードを、プロセッサ5Cが使用するワークメモリ21Cに格納する構成をとるものとする。
【0079】
ADSL、無線LANなどのモデム通信の規格では機器間の転送を正常に行なうために、回線状態を検知するトレーニング期間が必要となる。トレーニング期間中においては、誤り訂正、周波数マッピングなどの算術論理演算器3によって行なう処理は不必要である代わりに、回線状態を検知するという複雑な処理を行なう。このため、プロセッサ5Cの役割が増加するため、プロセッサ5Cが必要とするワークメモリ21Cの容量が増加する。逆にトレーニング期間が終了した後のモデム送受信処理中においては、プロセッサ5Cの役割は減少するので、プロセッサ5Cが必要とするワークメモリ21Cの容量も減少する。
【0080】
このため、算術論理演算器3を制御するための制御コードを格納する制御コード格納部を、プロセッサ5Cが使用するワークメモリ21Cと共有することが可能である。
【0081】
トレーニング期間中においては図7に示すようにプロセッサ5Cがワークメモリ21Cを使用し、演算制御器1Cは算術論理演算器3に対して停止命令を発行する。モデム送受信期間中においては図8に示すようにワークメモリ21Cに格納された制御コードに基づいて演算制御器1Cは算術論理演算器3の動作を制御する。
【0082】
以上のような構成にすることで、通信用LSI100C全体の動作を損なうことなく制御コードを格納するために必要なメモリ資源を削減することが可能となる。
【0083】
(実施の形態5)
図9は、実施の形態5に係る通信用LSIに設けられた演算制御器1Dの構成を説明するためのブロック図である。実施の形態1において図2を参照して前述した構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【0084】
図2を参照して前述した実施の形態1の構成における制御コード格納器6を演算器制御コード格納器27とデータパス制御コード格納器28とに分割する。制御コード読み出し器8Dは、演算器制御コードの読み出しとデータパス制御コードの読み出しとを同時に制御するものとする。
【0085】
通信処理に必要な種々の演算は、演算器制御部11による制御は同一であってもデータパス制御器10による演算データの読み出し位置、アドレッシングモードが異なる場合がある。また逆にデータパス制御器10による演算データの読み出し方法は一定であっても演算器制御部11の演算種類が異なる処理も存在する。従って、図9に示すように演算器制御コード格納器27とデータパス制御コード格納器28とを独立に設け、1種類の演算器制御コードに対して種々の読み出し位置、アドレッシングモードを組み合わせることによって、または、逆に1種類のデータパス制御コードに対して種々の演算器制御コードを組み合わせることによって、必要な制御コードの量を削減することが可能となる。
【0086】
(実施の形態6)
図10は、実施の形態6に係る通信用LSI100Eの構成を示すブロック図である。実施の形態1において図1および図2を参照して前述した構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【0087】
実施の形態1において図1および図2を参照して前述した構成に加えて、プロセッサ5Eのワーク用レジスタとして接続されたデータキュー25およびデータキュー25からモデム演算データメモリであるメモリ/レジスタ12へのリード/ライト制御機能を有するデータパス制御器10Eを持つものとする。データキュー25は、FIFO構造を持つものとする。
【0088】
ADSLモデムのような長時間接続を前提とした通信規格においては、通信維持、メインテナンス情報などのリアルタイム性が不要な情報データであって、ユーザ設定によって処理内容を随意に変更することができるプロセッサによって処理を行なうことが有効な情報データをモデムデータに載せて送受信する場合がある。このような情報データをプロセッサ5Eからメモリ/レジスタ12へ格納しモデムデータに載せる際、データキュー25を用いる。
【0089】
プロセッサ5Eは、データキュー25をチェックするためのチェック命令をあらかじめ制御コードに書き込んでおく。そして、プロセッサ5Eは、モデムデータの送受信中にデータを送信する必要ができた時にデータキュー25に送信データを書き込む。
【0090】
次に、データパス制御器10Eは、定期的にデータキュー25にデータが格納されているか否かを制御コードに従ってチェックする。そして、データキュー25にデータが無い時にはモデム演算処理をそのまま継続する。データキュー25にデータがある場合にはデータキュー25からデータを取り出してメモリ/レジスタ12へ格納した後モデム演算処理を継続する。モデムデータからの読み出しについては逆の動作を行なう。
【0091】
以上の動作により、プロセッサ5Eはデータキュー25を介して任意のタイミングによってモデムデータにデータを送信・または受信することが可能となる。その結果、演算制御器1Eの割り込みを受けることなくモデムデータの送受信処理を継続することが可能となる。
【0092】
以上に示すように実施の形態1〜実施の形態6に係る通信用LSIにおいては、通信演算処理が制御コードに基づいて実行されるため汎用性を高めることができる。
【0093】
また、制御コードにおいては条件分岐制御などの複雑な制御機構を持たないため制御器の回路規模を小さくすることができる。
【0094】
さらに、制御コードを発生する機能がプロセッサに集約されているので、積和演算器・算術論理演算器において制御コードを発生させる必要がない。このため、制御コード発生器として汎用DSPのような大規模オンチップメモリが不要となる。
【0095】
さらに、プロセッサが通信データのリアルタイム制御から切り離されるため、通信データの処理以外にプロセッサが充分性能を発揮することができる。
【0096】
さらに、面積コストの大きい乗算器を複数の積和演算で用いることにより乗算器の個数の最適化を図ることができる。
【0097】
その結果、融通性を保ちながら面積の削減を図ることができ低コストな通信LSIの提供が可能となる。
【0098】
【発明の効果】
以上のように本発明によれば、プロセッサの負荷を軽減し、通信データの演算に融通性を保つことができる通信用LSIを提供することができる。
【図面の簡単な説明】
【図1】実施の形態1に係る通信用LSIの構成を示すブロック図
【図2】実施の形態1に係る通信用LSIに設けられた演算制御器の構成を説明するためのブロック図
【図3】実施の形態1に係る通信用LSIに設けられた他の演算制御器の構成を説明するためのブロック図
【図4】実施の形態2に係る通信用LSIの構成を説明するためのブロック図
【図5】実施の形態3に係る通信用LSIの構成を示すブロック図
【図6】実施の形態3に係る通信用LSIに設けられたアービタの動作を説明するためのブロック図
【図7】実施の形態4に係る通信用LSIの構成を示すブロック図
【図8】実施の形態4に係る通信用LSIの動作を説明するためのブロック図
【図9】実施の形態5に係る通信用LSIの構成を説明するためのブロック図
【図10】実施の形態6に係る通信用LSIの構成を示すブロック図
【図11】従来の通信用LSIの構成を示すブロック図
【図12】従来の他の通信用LSIの構成を示すブロック図
【符号の説明】
1 演算制御器
2 演算制御器
3 算術論理演算器
4 積和演算器
5 プロセッサ
6 制御コード格納器
7 制御コード格納器
8 制御コード読み出し器
9 デコーダ
10 データパス制御器
11 演算器制御部
12 メモリ/レジスタ
13 バイトALU
14 ビットALU
15 ビット分割/結合演算ユニット
16 専用命令演算ユニット
17、18、19、20 演算ユニット制御器
21 ワークメモリ
22 アービタ
23 演算器デコーダ
24 データパスデコーダ
25 データキュー
27 演算器制御コード格納器
28 データパス制御コード格納器[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an LSI integrated circuit, and particularly to a communication LSI.
[0002]
[Prior art]
Devices for realizing high-speed communication modems such as ADSL and wireless LAN require various processes such as FFT (Fourier transform), filter, FEC (forward error correction), complex mapping, CRC, scrambling and interleaving. Is done.
[0003]
As a method of realizing an LSI for high-speed communication in the related art, there is a method of realizing an LSI for communication by preparing one control processor and performing signal processing mainly by dedicated hardware.
[0004]
FIG. 11 is a block diagram showing a configuration of a
[0005]
When a communication LSI is to be realized using such dedicated hardware, the processing content is fixedly determined, and thus lacks flexibility. For this reason, it is difficult to change the standard and cope with a problem when connecting to a modem of another company.
[0006]
As another method, there is a method in which a plurality of processors such as a microcomputer and a DSP are mounted and a communication LSI is realized by making full use of a program. In an actual communication LSI, as a method intermediate between the above two methods, there are many methods in which a part is realized by dedicated hardware and the remaining part is realized by a microcomputer and a DSP.
[0007]
FIG. 12 is a block diagram showing the configuration of another conventional communication LSI 80. The communication LSI 80 includes a processor 85, a
[0008]
As described above, when a communication LSI is to be realized by a plurality of processors such as a microcomputer and a DSP, the processing capability of each processor is reduced due to competition of memory access between the processors. In this case, the instruction control becomes complicated, so that the instruction memory capacity increases. As a result, the circuit scale increases and the cost increases.
[0009]
In order to avoid these problems even in the prior art, there is a dedicated hardware that has hardware capable of supporting various modes and has a certain degree of flexibility (for example, Patent Reference 1).
[0010]
Alternatively, for a filter having a large amount of calculation, FFT processing, and processing such as FEC having complicated calculations, a hardware accelerator is prepared to reduce the load on the processor.
[0011]
[Patent Document 1]
JP-A-10-243049 (
[0012]
[Problems to be solved by the invention]
However, in the above-described method of providing the dedicated hardware with various modes, when a function other than a function prepared in advance becomes necessary due to, for example, a standard change or an unexpected factor, such a function is supported. There is a problem that it is difficult to give the communication LSI only flexibility.
[0013]
Further, in the above-described method of preparing a hardware accelerator to reduce the load on the processor, there is a problem that an interrupt from the hardware accelerator to the processor greatly reduces the processing capability of the processor.
[0014]
Further, there is a problem that an interrupt from the hardware accelerator to the processor may be added as a new load to an operation that requires a data transfer period between the hardware accelerator and the processor in advance.
[0015]
An object of the present invention is to provide a communication LSI that can reduce the load on a processor.
[0016]
[Means for Solving the Problems]
A communication LSI according to the present invention includes: an arithmetic unit provided for performing arithmetic processing on communication data; a processor for supplying a control code for controlling an operation of the arithmetic unit; and the control unit provided by the processor. Computing control means for controlling the computing means based on a code, and control code storing means for storing the control code, wherein the computing control means is based on the control code regardless of the operation of the processor. The operation means has a function of reading from the control code storage means, the operation means includes a product-sum operation unit for performing a product-sum operation on the communication data, and an arithmetic operation for performing an arithmetic and logic operation on the communication data. And a logical operation unit.
[0017]
BEST MODE FOR CARRYING OUT THE INVENTION
In the communication LSI according to the present embodiment, the operation control means controls the product-sum operation unit and the arithmetic and logic operation unit based on the control code supplied by the processor. For this reason, the product-sum operation unit and the arithmetic and logic operation unit for performing arithmetic processing on the communication data are controlled by the operation control means. Therefore, the processor does not need to control the product-sum operation unit and the arithmetic and logic operation unit for performing arithmetic processing on communication data. As a result, the processor can sufficiently exhibit performance in processing other than processing of communication data, so that it is possible to obtain a communication LSI in which the load on the processor is reduced.
[0018]
It is preferable that the product-sum operation unit filters the communication data.
[0019]
It is preferable that the filter processing includes any of FIR filter processing, IIR filter processing, and echo canceller processing.
[0020]
It is preferable that the product-sum operation unit performs FEQ processing on the communication data.
[0021]
It is preferable that the product-sum operation unit performs an FFT process on the communication data.
[0022]
It is preferable that the arithmetic and logic unit performs a bit mapping process on the communication data.
[0023]
The arithmetic and logic unit preferably scrambles the communication data.
[0024]
It is preferable that the arithmetic and logic unit performs a CRC process on the communication data.
[0025]
It is preferable that the arithmetic and logic unit performs a Viterbi process or an interleave process on the communication data.
[0026]
It is preferable that the arithmetic and logic unit has a first arithmetic unit for executing a first type of arithmetic and logic operation and a second arithmetic unit for executing a second type of arithmetic and logic operation. .
[0027]
The arithmetic control means includes: a first arithmetic control instruction for controlling the first arithmetic unit provided in the arithmetic and logic unit; and a second arithmetic control instruction for controlling the second arithmetic unit. A decoder that is generated based on a control code, and a first operation unit controller that controls the first operation unit provided in the arithmetic and logic operation unit based on the first operation control instruction generated by the decoder. And a second operation unit controller that controls the second operation unit provided in the arithmetic and logic operation unit based on the second operation control instruction generated by the decoder.
[0028]
The first type of arithmetic and logic operation performed by the first arithmetic unit provided in the arithmetic and logic unit is a byte arithmetic and logical operation, and is performed by the second arithmetic unit provided in the arithmetic and logic unit. It is preferable that the second type of arithmetic and logic operation to be performed is any of a bit arithmetic and logic operation and a bit division / combination operation.
[0029]
A memory unit provided for storing data related to an arithmetic operation performed by one of the first arithmetic unit and the second arithmetic unit provided in the arithmetic and logic unit; Generating a memory means control instruction for controlling the memory means based on the control code, and further comprising a data path controller for controlling the memory means based on the memory means control instruction generated by the decoder. The memory means reads out data stored in the memory means and supplies the data to one of the first arithmetic unit and the second arithmetic unit under the control of the data path controller. It is preferable that data supplied from any one of the first arithmetic unit and the second arithmetic unit is written to the memory unit.
[0030]
The processor supplies another control code for controlling an operation processing of the communication data by the operation means, and the other control code supplied by the processor and work data related to the processing operation of the processor. And a request from the processor for an access request from the arithmetic control unit to the other control code stored in the work memory and the work data stored in the work memory. An arbiter for arbitrating the access request is preferably further provided.
[0031]
The processor requests the arbiter to access the work memory according to a predetermined priority, and the arithmetic control unit determines a priority higher than the predetermined priority and the predetermined priority according to an operation state of the processor. It is preferable to request the arbiter to access the work memory according to one of the priorities lower than the priority of the arbiter.
[0032]
The processor, after supplying the other control code to the work memory, instructs the operation control unit to access the work memory, and the operation control unit transmits the access code to the work memory in accordance with an instruction from the processor. Preferably, access is requested from the arbiter.
[0033]
A work memory for storing the control code supplied by the processor, wherein the arithmetic control unit performs the arithmetic operation of the arithmetic unit during a training period in preparation for transmitting and receiving the communication data. During the transmission / reception period for transmitting / receiving the communication data, the processing unit stops the processing operation, and based on the control code stored in the work memory, causes the calculation unit to execute the calculation processing operation. It is preferable to control.
[0034]
The arithmetic means is preferably an arithmetic and logic unit for performing an arithmetic and logic operation on the communication data.
[0035]
Preferably, the work memory further stores work data related to a processing operation of the processor, and the processor executes the processing operation based on the work data stored in the work memory.
[0036]
The apparatus further comprises a memory provided for storing data related to the arithmetic processing by the arithmetic means, wherein the control code supplied by the processor controls the arithmetic processing of the communication data by the arithmetic means. A computing unit control code for controlling the computing unit and a data path control code for controlling the operation of the memory means, and for storing the computing unit control code supplied by the processor. Preferably, the apparatus further comprises a storage, and a data path control code storage for storing the data path control code supplied by the processor.
[0037]
The operation control means is responsive to the start command issued by the processor, the operation unit control code stored in the operation unit control code storage unit and the data path stored in the data path control code storage unit. It is preferable to have a control code reader for reading the control code.
[0038]
The arithmetic control unit includes: an arithmetic unit decoder that generates an arithmetic control instruction for controlling an arithmetic processing operation of the arithmetic unit based on the arithmetic unit control code read by the control code read unit; A data path decoder that generates a data path control instruction for controlling the operation of the memory unit based on the data path control code read by the code reader. The communication unit performs arithmetic processing on the communication data according to the arithmetic control instruction generated by the arithmetic unit decoder, and the memory unit stores the data stored in the memory unit according to the data path control instruction generated by the data path decoder. And supplies the read data to the arithmetic means, and the data supplied from the arithmetic means to the memory means. It is preferable to burn them.
[0039]
Memory means provided for storing data related to the arithmetic processing by the arithmetic means, a data queue for storing communication data supplied from the processor, and the communication data stored in the data queue. Preferably, a data path controller for storing the data in the memory means is further provided.
[0040]
It is preferable that the arithmetic means performs arithmetic processing on the communication data stored in the memory means by the data path controller.
[0041]
Preferably, the data queue has a FIFO structure.
[0042]
The communication LSI according to the embodiment includes an arithmetic and logic unit for executing communication data processing, a product-sum operation unit, and a control processor. The arithmetic and logic unit and the product-sum operation unit are based on a control code. It works. The arithmetic logic unit prepares control codes such as bit ALU / byte ALU / bit division / bit combination, and the product sum unit prepares control codes such as product-sum operation, complex multiplication, and product-sum + addition / subtraction. The arithmetic logic unit and the product-sum unit have a storage device for storing control codes, and these control codes are written by a control processor.
[0043]
Each arithmetic unit has an arithmetic control unit that analyzes the control code and controls the operation of the arithmetic unit and input / output data, and the arithmetic control unit receives a communication synchronization signal as a start signal, thereby controlling the control code. The process written in is repeatedly executed.
[0044]
In the communication LSI according to the embodiment, the processing capability of the processor is reduced by automatically repeating the processing programmed by the control code in units of a symbol and a frame synchronization signal which are processing units of communication data. Since communication data can be transmitted and received without any need, and the control code can be freely rewritten from the microcomputer, it is possible to have flexibility in processing. In addition, since the control code generator is integrated in the control processor and code generation in the product-sum operation unit and the arithmetic and logic operation unit is unnecessary, a large-scale on-chip memory such as a general-purpose DSP is not required as the control code generator. .
[0045]
The types of operations required for high-speed communication modem devices such as ADSL and wireless LAN are two types: high-speed product-sum operation such as FFT and filter, and arithmetic logic operation in bit or byte units such as Viterbi decoding, interleaving and mapping. These are roughly classified into types of operations.
[0046]
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0047]
(Embodiment 1)
FIG. 1 is a block diagram illustrating a configuration of a
[0048]
The arithmetic and
[0049]
The detailed configurations of the
[0050]
First, the processor 5 writes respective control codes into the
[0051]
When the
[0052]
The
[0053]
When the reading of the control code is completed, the
[0054]
The operation controller 2 configured similarly to the
[0055]
Since the normal processing required for transmitting and receiving communication data is a repetitive processing for each synchronization signal, such a configuration allows the processor 5 to store the control code in the
[0056]
With the above configuration, most of the processing required in the communication data processing can be executed by a small-scale control code.
[0057]
Considering the product-sum multiplier 4, for example, in the case of filter processing, a communication LSI uses an FIR filter, an IIR filter, an echo canceller, or the like. In this case, all the processing contents of the operation can be realized by the product-sum operation function based on the signal data and the coefficient data. Therefore, by writing the number of repetitions of the product-sum operation in the arithmetic
[0058]
The FEQ can be executed by setting a complex multiplication operation in the arithmetic
[0059]
Therefore, a product-sum operation unit 4 having a product-sum operation control function such as a product-sum operation, a complex multiplication, and a product-sum + addition / subtraction operation, and an operation controller 2 having a
[0060]
As a further effect, there is a bias that the required performance of each arithmetic processing is low in the FEQ and extremely high in the filter and the FFT. However, since all the processing is performed by one product-sum operation unit 4, the circuit scale is small. It is possible to optimize the number of large multipliers.
[0061]
Considering the arithmetic and
[0062]
By connecting the product-sum operation unit 4 and the arithmetic and
[0063]
(Embodiment 2)
FIG. 4 is a block diagram for explaining the configuration of the arithmetic and control unit 1A provided in the communication LSI according to the second embodiment. In the first embodiment, the same components as those described above with reference to FIG. 2 are denoted by the same reference numerals. Therefore, a detailed description of these components will be omitted.
[0064]
The processing executed by the arithmetic and
[0065]
The arithmetic and
[0066]
The operation controller 1A includes an operation unit controller 17 for controlling the
[0067]
By dividing the arithmetic and
[0068]
(Embodiment 3)
FIG. 5 is a block diagram showing a configuration of a communication LSI 100B according to the third embodiment, and FIG. 6 is a block diagram for explaining an operation of an
[0069]
In addition to the configuration of
[0070]
As shown in FIG. 6, the use request of the
[0071]
By adopting the above configuration, even when the control code for communication data processing cannot be accommodated by the capacity of the
[0072]
When the control code does not fit in the control
[0073]
The access request sent by the
[0074]
If the control code can be rewritten while the
[0075]
If the control code cannot be rewritten while the
[0076]
Although this will hinder the movement of the
[0077]
(Embodiment 4)
FIG. 7 is a block diagram showing a configuration of a communication LSI 100C according to the fourth embodiment, and FIG. 8 is a block diagram for explaining an operation of the communication LSI 100C. The same components as those of the
[0078]
In addition to the configuration of the first embodiment described above with reference to FIG. 1, it is assumed that a control code for controlling the arithmetic and
[0079]
According to the standards for modem communication such as ADSL and wireless LAN, a training period for detecting a line state is required for normal transfer between devices. During the training period, the processing performed by the arithmetic and
[0080]
For this reason, the control code storage unit for storing the control code for controlling the arithmetic and
[0081]
During the training period, the processor 5C uses the
[0082]
With the above configuration, it is possible to reduce the memory resources required for storing the control codes without impairing the operation of the entire communication LSI 100C.
[0083]
(Embodiment 5)
FIG. 9 is a block diagram for explaining the configuration of the arithmetic and control unit 1D provided in the communication LSI according to the fifth embodiment. In the first embodiment, the same components as those described above with reference to FIG. 2 are denoted by the same reference numerals. Therefore, a detailed description of these components will be omitted.
[0084]
The
[0085]
Various operations required for the communication processing may be different in the readout position of the operation data by the
[0086]
(Embodiment 6)
FIG. 10 is a block diagram showing a configuration of a
[0087]
In addition to the configuration described with reference to FIGS. 1 and 2 in the first embodiment, a
[0088]
In a communication standard such as an ADSL modem that requires a long-term connection, it is information data that does not require real-time properties such as communication maintenance and maintenance information. In some cases, information data that is effective to perform processing is transmitted and received by being carried on modem data. When such information data is stored in the memory /
[0089]
The
[0090]
Next, the
[0091]
With the above operation, the
[0092]
As described above, in the communication LSI according to the first to sixth embodiments, the versatility can be improved because the communication arithmetic processing is executed based on the control code.
[0093]
Further, since the control code does not have a complicated control mechanism such as conditional branch control, the circuit size of the controller can be reduced.
[0094]
Furthermore, since the function of generating control codes is integrated in the processor, there is no need to generate control codes in the product-sum operation unit / arithmetic logic operation unit. Therefore, a large-scale on-chip memory such as a general-purpose DSP is not required as a control code generator.
[0095]
Further, since the processor is separated from the real-time control of the communication data, the processor can exhibit sufficient performance in addition to the processing of the communication data.
[0096]
Furthermore, the number of multipliers can be optimized by using a multiplier having a large area cost in a plurality of product-sum operations.
[0097]
As a result, the area can be reduced while maintaining flexibility, and a low-cost communication LSI can be provided.
[0098]
【The invention's effect】
As described above, according to the present invention, it is possible to provide a communication LSI that can reduce the load on a processor and maintain flexibility in calculating communication data.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a communication LSI according to a first embodiment;
FIG. 2 is a block diagram for explaining a configuration of an arithmetic and control unit provided in the communication LSI according to the first embodiment;
FIG. 3 is a block diagram for explaining a configuration of another arithmetic and control unit provided in the communication LSI according to the first embodiment;
FIG. 4 is a block diagram for explaining a configuration of a communication LSI according to a second embodiment;
FIG. 5 is a block diagram showing a configuration of a communication LSI according to a third embodiment;
FIG. 6 is a block diagram for explaining an operation of an arbiter provided in a communication LSI according to a third embodiment;
FIG. 7 is a block diagram showing a configuration of a communication LSI according to a fourth embodiment;
FIG. 8 is a block diagram for explaining an operation of the communication LSI according to the fourth embodiment;
FIG. 9 is a block diagram for explaining a configuration of a communication LSI according to a fifth embodiment;
FIG. 10 is a block diagram showing a configuration of a communication LSI according to a sixth embodiment.
FIG. 11 is a block diagram showing a configuration of a conventional communication LSI.
FIG. 12 is a block diagram showing the configuration of another conventional communication LSI.
[Explanation of symbols]
1 Arithmetic controller
2 Operation controller
3 arithmetic logic unit
4 Multiply and accumulator
5 processor
6 Control code storage
7 Control code storage
8 Control code reader
9 Decoder
10 Data path controller
11 Operation unit control unit
12 Memory / Register
13-byte ALU
14-bit ALU
15-bit split / join operation unit
16 Dedicated instruction operation unit
17, 18, 19, 20 Arithmetic unit controller
21 Work memory
22 Arbiter
23 Operation unit decoder
24 Data Path Decoder
25 Data Queue
27 Operation unit control code storage
28 Data path control code storage
Claims (25)
前記演算手段の動作を制御するための制御コードを供給するプロセッサと、
前記プロセッサによって供給された前記制御コードに基づいて前記演算手段を制御する演算制御手段と、
前記制御コードを格納する制御コード格納手段とを具備しており、
前記演算制御手段は前記プロセッサの動作によらずに前記制御コードに基づいて動作する、前記制御コード格納手段からの読み出し機能を有しており、
前記演算手段は、前記通信データを積和演算するための積和演算器と前記通信データを算術論理演算するための算術論理演算器とを含んでいることを特徴とする通信用LSI。Arithmetic means provided for arithmetically processing the communication data;
A processor that supplies a control code for controlling the operation of the arithmetic unit,
Arithmetic control means for controlling the arithmetic means based on the control code supplied by the processor,
Control code storage means for storing the control code,
The arithmetic control unit operates based on the control code without depending on the operation of the processor, and has a reading function from the control code storage unit,
A communication LSI, wherein the arithmetic unit includes a product-sum operation unit for performing a product-sum operation on the communication data and an arithmetic-logic operation unit for performing an arithmetic-logic operation on the communication data.
第2種類の算術論理演算を実行するための第2演算部とを有している、請求項1記載の通信用LSI。The arithmetic and logic unit includes a first arithmetic unit for performing a first type of arithmetic and logic operation;
2. The communication LSI according to claim 1, further comprising a second operation unit for executing a second type of arithmetic and logic operation.
前記デコーダによって生成された前記第1演算制御命令に基づいて、前記算術論理演算器に設けられた前記第1演算部を制御する第1演算部制御器と、
前記デコーダによって生成された前記第2演算制御命令に基づいて、前記算術論理演算器に設けられた前記第2演算部を制御する第2演算部制御器とを有している、請求項10記載の通信用LSI。The arithmetic control means includes: a first arithmetic control instruction for controlling the first arithmetic unit provided in the arithmetic and logic unit; and a second arithmetic control instruction for controlling the second arithmetic unit. A decoder that generates based on the control code;
A first operation unit controller that controls the first operation unit provided in the arithmetic and logic operation unit based on the first operation control instruction generated by the decoder;
11. A second operation unit controller for controlling the second operation unit provided in the arithmetic and logic unit based on the second operation control instruction generated by the decoder. Communication LSI.
前記算術論理演算器に設けられた前記第2演算部によって実行される前記第2種類の算術論理演算は、ビット算術論理演算とビット分割/結合演算とのいずれかである、請求項10記載の通信用LSI。The first type of arithmetic and logic operation performed by the first arithmetic unit provided in the arithmetic and logic unit is a byte arithmetic and logic operation,
The said 2nd kind of arithmetic and logic operation performed by the said 2nd arithmetic part provided in the said arithmetic and logic operation unit is any of a bit arithmetic and logic operation and a bit division / combination operation. Communication LSI.
前記デコーダは、前記制御コードに基づいて前記メモリ手段を制御するためのメモリ手段制御命令を生成し、
前記デコーダによって生成された前記メモリ手段制御命令に基づいて前記メモリ手段を制御するデータパス制御器をさらに具備しており、
前記メモリ手段は、前記データパス制御器による制御に応じて、前記メモリ手段に格納されたデータを読み出して前記第1演算部と前記第2演算部とのいずれかへ供給し、前記第1演算部と前記第2演算部とのいずれかから供給されたデータを前記メモリ手段へ書き込む、請求項10記載の通信用LSI。The arithmetic and logic unit further includes a memory unit provided to store data related to an arithmetic process performed by one of the first arithmetic unit and the second arithmetic unit provided in the arithmetic and logic unit,
The decoder generates a memory control instruction for controlling the memory based on the control code,
A data path controller for controlling the memory means based on the memory means control instruction generated by the decoder;
The memory means reads out data stored in the memory means and supplies the data to one of the first arithmetic unit and the second arithmetic unit in accordance with control by the data path controller, and The communication LSI according to claim 10, wherein data supplied from one of a unit and the second arithmetic unit is written to the memory unit.
前記プロセッサによって供給された前記他の制御コードと前記プロセッサの処理動作に関連するワークデータとを格納するためのワークメモリと、
前記ワークメモリに格納された前記他の制御コードへの前記演算制御手段からのアクセス要求と前記前記ワークメモリに格納された前記ワークデータへの前記プロセッサからのアクセス要求とを調停するアービタとをさらに具備する、請求項1記載の通信用LSI。The processor supplies another control code for controlling an operation processing of the communication data by the arithmetic unit,
A work memory for storing the other control code supplied by the processor and work data related to a processing operation of the processor;
An arbiter for arbitrating an access request from the arithmetic control unit to the other control code stored in the work memory and an access request from the processor to the work data stored in the work memory. The communication LSI according to claim 1, comprising:
前記演算制御手段は、前記プロセッサの動作状況に応じて、前記所定の優先度よりも高い優先度と前記所定の優先度よりも低い優先度とのいずれかによって前記ワークメモリへのアクセスを前記アービタに要求する、請求項14記載の通信用LSI。The processor requests the arbiter to access the work memory according to a predetermined priority,
The arithmetic control means, according to an operation state of the processor, controls access to the work memory by one of a priority higher than the predetermined priority and a priority lower than the predetermined priority. The communication LSI according to claim 14, wherein the communication LSI is requested.
前記演算制御手段は、前記通信データを送受信する準備のためのトレーニング期間の間は、前記演算手段の演算処理動作を停止させ、前記通信データを送受信するための送受信期間の間は、前記ワークメモリに格納された前記制御コードに基づいて、前記演算手段が演算処理動作を実行するように前記演算手段を制御する、請求項1記載の通信用LSI。A work memory for storing the control code supplied by the processor;
The arithmetic control unit stops the arithmetic processing operation of the arithmetic unit during a training period for preparing to transmit and receive the communication data, and the work memory during a transmission and reception period to transmit and receive the communication data. 2. The communication LSI according to claim 1, wherein said arithmetic means controls said arithmetic means based on said control code stored in said arithmetic means so as to execute an arithmetic processing operation.
前記プロセッサは、前記ワークメモリに格納された前記ワークデータに基づいて前記処理動作を実行する、請求項17記載の通信用LSI。The work memory further stores work data related to the processing operation of the processor,
The communication LSI according to claim 17, wherein the processor executes the processing operation based on the work data stored in the work memory.
前記プロセッサによって供給される前記制御コードは、前記演算手段による前記通信データの演算処理動作を制御するための演算器制御コードと、
前記メモリ手段の動作を制御するためのデータパス制御コードとを含んでおり、
前記プロセッサによって供給される前記演算器制御コードを格納するための演算器制御コード格納器と、
前記プロセッサによって供給される前記データパス制御コードを格納するためのデータパス制御コード格納器とをさらに具備する、請求項1記載の通信用LSI。Further comprising a memory means provided for storing data related to the arithmetic processing by the arithmetic means,
The control code supplied by the processor, an arithmetic unit control code for controlling the operation processing of the communication data by the arithmetic means,
A data path control code for controlling the operation of the memory means.
A computing unit control code storage for storing the computing unit control code supplied by the processor;
2. The communication LSI according to claim 1, further comprising a data path control code storage for storing the data path control code supplied by the processor.
前記制御コード読み出し器によって読み出された前記データパス制御コードに基づいて、前記メモリ手段の動作を制御するためのデータパス制御命令を生成するデータパスデコーダとを有しており、
前記演算手段は、前記演算器デコーダによって生成された前記演算制御命令に従って前記通信データを演算処理し、
前記メモリ手段は、前記データパスデコーダによって生成された前記データパス制御命令に応じて、前記メモリ手段に格納されたデータを読み出して前記演算手段へ供給し、前記演算手段から供給されたデータを前記メモリ手段へ書き込む、請求項21記載の通信用LSI。The arithmetic control unit, based on the arithmetic unit control code read by the control code reader, an arithmetic unit decoder that generates an arithmetic control instruction for controlling the arithmetic processing operation of the arithmetic unit,
A data path decoder that generates a data path control instruction for controlling the operation of the memory unit based on the data path control code read by the control code reader.
The arithmetic means performs arithmetic processing on the communication data according to the arithmetic control command generated by the arithmetic unit decoder,
In response to the data path control command generated by the data path decoder, the memory unit reads out data stored in the memory unit and supplies the read data to the arithmetic unit. 22. The communication LSI according to claim 21, wherein the LSI is written into a memory.
前記プロセッサから供給される通信データを格納するためのデータキューと、
前記データキューに格納された前記通信データを前記メモリ手段に格納するデータパス制御器とをさらに備える、請求項1記載の通信用LSI。Memory means provided for storing data relating to the arithmetic processing by the arithmetic means,
A data queue for storing communication data supplied from the processor,
2. The communication LSI according to claim 1, further comprising: a data path controller configured to store the communication data stored in the data queue in the memory unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003013961A JP2004227264A (en) | 2003-01-22 | 2003-01-22 | Lsi for communication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003013961A JP2004227264A (en) | 2003-01-22 | 2003-01-22 | Lsi for communication |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004227264A true JP2004227264A (en) | 2004-08-12 |
Family
ID=32902149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003013961A Withdrawn JP2004227264A (en) | 2003-01-22 | 2003-01-22 | Lsi for communication |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004227264A (en) |
-
2003
- 2003-01-22 JP JP2003013961A patent/JP2004227264A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100733943B1 (en) | Processor system, dma control circuit, dma control method, control method for dma controller, graphic processing method, and graphic processing circuit | |
US6594713B1 (en) | Hub interface unit and application unit interfaces for expanded direct memory access processor | |
EP0845120A1 (en) | General purpose, programmable media processor | |
US8989242B2 (en) | Encoding/decoding processor and wireless communication apparatus | |
JP2004005382A (en) | Data transfer unit and method | |
JP4098241B2 (en) | Method and apparatus for connecting a processor to a coprocessor | |
KR100875377B1 (en) | Apparatus and Method for Performing Stack Pop and Push Operations in a Processing System | |
JP2845433B2 (en) | Integrated circuit device | |
JP6266308B2 (en) | Semiconductor device | |
JPS61855A (en) | Processor interface circuit | |
JP4078243B2 (en) | Method and apparatus for executing repeated block instructions along a nested loop with zero cycle overhead | |
US5734927A (en) | System having registers for receiving data, registers for transmitting data, both at a different clock rate, and control circuitry for shifting the different clock rates | |
JP2004227264A (en) | Lsi for communication | |
JPH08212075A (en) | Information processor | |
KR100472706B1 (en) | Digital signal processor having a plurality of independent dedicated processors | |
JPH11307725A (en) | Semiconductor integrated circuit | |
JP2006285724A (en) | Information processor and information processing method | |
US8209523B2 (en) | Data moving processor | |
KR20140103343A (en) | Digital signal processor and method for addressing a memory in a digital signal processor | |
JP6191172B2 (en) | Memory controller, processor, arithmetic processing method, and arithmetic instruction library. | |
JP2668987B2 (en) | Data processing device | |
JP3043861B2 (en) | Data processing device | |
JP3767529B2 (en) | Microprocessor | |
JPH0524537B2 (en) | ||
US20100153688A1 (en) | Apparatus and method for data process |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060404 |