(57)【特許請求の範囲】
【請求項１】
演算、内部メモリアクセス及びデータ転送の各々の命令を１サイクルで実行可能なCPUと、
前記CPUに従って動作し、非巡回型フィルタ演算を１タップあたり１サイクルで実行可能な演算器を含むDSPと、
前記CPUと前記DSPに接続された複数のバスと、
前記複数のバスに接続され、前記CPUから供給されるアドレスによってアクセスされる複数の内部メモリと、
前記複数のバスに接続され、前記CPUから供給されるアドレスによって外部メモリのアクセスを制御可能な外部バスインタフェース回路と、を有するマイクロコンピュータ。
【請求項２】
前記複数のバスに接続された周辺バスインタフェース回路と、前記周辺バスインタフェース回路に接続された周辺回路を更に有する請求項１記載のマイクロコンピュータ。
【請求項３】
前記外部バスインタフェース回路は高速アクセスモードをサポートするメモリを直結可能である請求項１記載のマイクロコンピュータ。
【請求項４】
前記内部メモリは音声符号化復号プログラム及び通信路符号化復号プログラムを保有する請求項１記載のマイクロコンピュータ。
【請求項５】
キャッシュメモリ及びその制御装置を更に有する請求項１記載のマイクロコンピュータ。
【請求項６】
前記周辺回路としてシリアル入出力回路を有する請求項２記載のマイクロコンピュータ。
【請求項７】
前記外部バスインタフェース回路はDRAMを直結可能である請求項１記載のマイクロコンピュータ。
【請求項８】
前記CPUはCPUコアレジスタを有し、前記DSPはDSPレジスタを有し、
前記CPUは前記CPUコアレジスタに設定されたデータをアドレスとして前記内部メモリからデータを読み出し、読み出したデータを前記DSPレジスタに格納し、前記演算器は前記DSPレジスタに格納されたデータを入力する請求項１記載のマイクロコンピュータ。
【請求項９】
前記マイクロコンピュータは１個の半導体基板に形成される請求項１乃至８の何れか１項記載のマイクロコンピュータ。
【発明の詳細な説明】
技術分野
本発明は、デジタルセルラ携帯電話を始めとする移動通信システム用の端末装置に係わり、特にプログラマブルなマイクロプロセッサ（以下CPUと呼ぶ。）とデジタルシグナルプロセッサ（以下、DSPと略す。）等のデータ処理装置を用いた移動通信ベースバンドシステム実現方法に関する。
背景技術
本発明の関連する移動通信システムにおける処理の概要を図１を用いて説明する。図１にはユーザ102、通信端末101および基地局100が示してある。ユーザ102は通信端末101を用いて基地局100にアクセスして種々のサービスを受けることになる。他の通信端末と通信する場合も基地局100を介して行うので通信端末と基地局間の通信処理が本質となる。
通信端末101はユーザインタフェース機能及び、システム制御機能を有するユーザインタフェース／システム制御部109、通信プロトコル処理機能を有する通信プロトコル処理部110、音声符号化復号処理機能、通信路符号化復号化処理機能、変復調処理機能等を有する符号復号化処理部111およびアナログフロントエンド（AFE）及び、RF回路を有するAFE/RF回路部105で構成される。なお、通信端末101にはマイクロフォン（MIC）103及びスピーカ（SPK）104が接続されている。基地局100はシステム制御機能を有するシステム制御部112、通信プロトコル処理機能を有する通信プロトコル処理部113、通信路符号化復号化処理機能、変復調機能等を有する符号復号化処理部114およびアナログフロントエンド（AFE）及び、RF回路を有するAFE/RF回路部106で構成される。
通信端末101が基地局100とやり取りする仕方には大きく分けて２つある。一つは音声などユーザのデータをやり取りする場合であり、もう一方はシステム運用上の制御データをやり取りする場合である。
音声データをやり取りする場合は次のようになる。マイクロフォン（MIC）103から入力された音声データはデジタルデータに変換された後、符号復号化処理部111の音声符号化処理により圧縮される。圧縮された音声データは符号復号化処理部111の通信路符号化処理によって誤り訂正用の情報が付加されてから符号復号化処理部111の変調処理によって変調される。以上の処理はデジタル領域で行われる。変調されたデジタル音声はAFE/RF回路部105のアナログフロントエンド（AFE）でアナログデータに変換され、AFE/RF回路部105のRF回路で高周波の電波に乗せてアンテナ107から発信される。この電波は基地局100の、アンテナ108で受信されてから一端、復調される。そして通信相手に割り当てられている周波数（周波数分割多重の場合）で再び変調され、通信相手に割り当てられているタイムスロット（時分割多重の場合）のタイミングで通信相手に基地局から再送信される。
次にシステム運用上の制御データをやり取りする場合を説明する。この場合、通信端末101内の通信プロトコル処理部110と基地局100内の通信プロトコル処理部113がやり取りを行う。両者の間には仮想的な論理的接続が形成される。この仮想的な論理的接続は以下のような物理的接続で実現されている。例えば基地局100が通信端末に何か指示を出す場合、次のようになる。あらかじめ決められたプロトコルに従った指示データは符号復号化処理部114で通信路符号化処理及び変調処理を施される。そしてAFE/RF回路部106のアナログフロントエンド（AFE）でアナログデータに変換され、RF回路で電波に乗せてアンテナ108から発信される。この電波は通信端末101の、アンテナ107で受信されてから、RF回路部105のRF回路とアナログフロントエンド（AFE）を経てベースバンドのデジタルデータに変換される。続いて符合復号化処理部111で復調処理及び通信路復号化処理を施され通信プロトコル処理部110に渡される。
以上、通信端末101が基地局100とやり取りする２つの仕方および関連する処理の概要を説明した。これら関連する処理は２種類に大別できる。音声符号化復号化処理、通信路符号化復号化処理および変復調処理はデジタル信号処理に分類され、専用のハードウエアやプログラマブルなDSP（Digital Signal Processor）で実現するのに適している。一方、通信プロトコル処理は非常に複雑であり、Ｃ言語などの高級言語を用いたソフトウエアで実現するのに向いている。
このような事実を踏まえて、最近、移動通信端末のベースバンド処理のうち、音声符号化復号化処理、通信路符号化復号化処理および変復調処理をDSPで行い、通信プロトコル処理をCPU（汎用のマイクロプロセッサ）で実現する方法が提案されている（日本工業技術センター・セミナ資料「GSM/システム・端末・サービスの最新情報」平成７年５月18日−19日：「GSM電話端末用デバイスの開発動向」、pp.118−130、日本フィリップス（株））。
図２に上記公知例に基づき発明者が検討した、DSPとCPUを用いて構成した移動通信端末の例（上記公知例そのものではない）を示す。この移動通信端末はヨーロッパのデジタルセルラ電話の仕様であるGSM（Global System for Mobile communications）用のものである。図２の移動通信端末はDSPチップ223、DSP用のRAM（Random Access Memory）200,DSP用のROM（Read Only Memory）201,CPUチップ227、ベースバンド用アナログフロントエンド（AFE）202、高周波変復調器210、パワーアンプ（PA）212、アンテナ213、デュプレクサ（Duplexer）214、ローノイズアンプ（LNA）215、マイクロフォン208、増幅器Amp、スピーカ209、駆動回路Dri、周波数シンセサイザ216、システムタイミング回路219、電圧制御システムクロック221、1/4分周回路222、サウンダ（Sounder）用DA変換器231、サウンダ（Sounder）230、駆動回路Driver、電池監視用AD変換器232、電池監視回路233、電池234、CPU用のRAM239、CPU用のROM238、LCD（液晶駆動装置及び液晶パネル）237、SIM（Subscriber Identiy Module）236.キーボード235で構成されている。ベースバンド用アナログフロントエンド（AFE）202には、PA（Power Amp）用DA変換器203、I/Q用AD/DA変換器204、AGC（Auto Gain Control）用DA変換器205、音声用AD/DA変換器206、AFC（Auto Frequency Control）用DA変換器207が含まれる。DSP用のRAM（200）,DSP用のROM（201）はDSP用の外部バス240を介してDSPチップ223に接続されている。
以下、簡単に本端末の機能と動作を説明する。
音声送信時、マイクロフォン208から入力された音声は増幅器Ampで増幅された後、音声用AD変換器206でサンプリングされてデジタルデータに変換される。サンプリングレートは8kHz、ビット精度は13bitである。デジタル化されたデータはDSPチップ223に送られ、圧縮符号化、通信路符号化された後、再びアナログフロントエンド（AFE）202のI/Q用DA変換器204に渡される。ここでアナログデータに変調、変換されて高周波変復調器210に入力される。そしてRF周波数（〜800MHz）に乗せられてアンテナ213から発信される。Duplexer214は入力電波と出力電波を分離するのに使われる。高周波変復調で使われる高周波サイン波217は周波数シンセサイザ216で合成される。周波数シンセサイザ216は信号線218を介してCPUチップ227に接続されている。ROM（201）にはDSPチップ223で実行されるプログラムが内蔵されており、RAM（200）はDSPチップ223のワーク用である。
音声受信時、アンテナ213で受信されたデータはローノイズアンプ（LNA）215を介して高周波変復調器210に入力される。ここで低周波のベースバンドアナログ信号に変換され、アナログフロントエンド（AFE）202のI/Q用AD変換器204に渡される。サンプリングされ、デジタルデータに変換されたデータはDSPチップ223に送られて通信路復号化、圧縮復号化される。その後、音声用DA変換器206でアナログデータに変換され、スピーカ209から出力される。
ユーザが電話をかける時、キーボード235とLCD（237）を用いる。SIM236は着脱できるユーザIDモジュールであり、これを通信端末に装着することによって端末をそのユーザ専用のものにできる。ROM（238）にはCPUチップ227で実行されるプログラムが内蔵されており、RAM（239）はCPUチップ227のワーク用である。電池234は本端末全体のメインバッテリーであり、電池監視回路233、電池監視用AD変換器232を通して、CPUチップ227がその残量をモニタする。電話がかかってきた時、CPUチップ227はSounder用DA変換器231を介してSounder230を鳴らす。
本端末の基本クロック13MHzは電圧制御システムクロック221から供給される。この基本クロックからシステムタイミング回路219は必要なシステムタイミング信号241、220、を生成して端末内に分配する。基本クロックはまたDSPチップ223とCPUチップ227にも供給されている。GSMにおけるDSPの処理では20〜50MIPS（Mega Instructions Per Second）必要と言われている。図２ではDSPチップ内に搭載されたPLL（Phase Locked Loop）回路225を使ってDSPチップが基本クロック13MHzの４倍の52MHzで動作している。一方、GSMにおけるCPU処理は１〜2MIPSと言われている。そこで図２では1/4分周回路222で基本クロック13MHzの４分の１の3.25MHzを生成し、このレートでCPUを動かしている。
端末の基本クロック13MHzは基地局のマスタークロック13MHzと厳密に周波数を合わせる必要がある。これは次のようにして達成される。まず、基地局から厳密な周波数情報を受け取る。そしてDSPチップ223はこの情報に基づき、AFC（Auto Frequency Control）用DA変換器207を介して電圧制御システムクロック221を制御して周波数を調整する。また、基地局から端末の電波出力の指示がくる場合もある。この時はDSPチップ223がPA（Power Amp）用DA変換器203を駆動してパワーアンプ（PA）212の出力を調整する。さらにDSPチップ223は受信信号の振幅情報に基づき、AGC（Auto Gain Control）用DA変換器205を介して高周波変復調器内のゲインを調整する。
DSPチップ223とCPUチップ227間の通信は以下のように行われる。DSPチップ223はDSP用ホストインタフェース（HIF（Host InterFace））224を介してCPUチップのCPU外部バス229に接続されている。CPUチップ227はCPU外部バスインタフェース228及びCPU外部バス229を介してこのDSP用ホストインタフェース（HIF）224からDSPチップ223の内部リソースを自由に読み書きできる。DSPチップ223がCPUチップ227に連絡したい時はINT（INTerrupt）226信号を用いる。
しかしながら、上記に述べたような２つの独立したDSPとCPUを用いた従来技術では、DSP用とCPU用に２系統のメモリシステムが必要であった。上記公知例においてはDSP用のメモリは全てオンチップ化されている。しかし、これはGSMシステムが導入されたばかりであり、必要なDSP用メモリの容量が今のところ少ないためである。今後、加入者数増加に応じてハーフレートの音声符号化技術が本格採用された場合、端末はフルレートとハーフレートの両者に対応する必要がある。この時、両方の音声符号化プログラムをDSPに実装する必要がある。さらにGSMシステムにおいては現状のフルレートの音質が悪いため、エンハストフルレート音声符号化が検討されている。これが現実化すれば３つの音声符号化プログラムを実装しなければならない。また、音声ダイヤル用音声認識プログラムなどの付加価値のためのDSPプログラムも通信端末の差別化技術として実装される可能性が大きい。このように今後増加すると予想されるDSPプログラムを全てオンチップ化するのはコスト的にも現実的でない。
よって将来的にはDSP用の外付けメモリは不可避と考えられる。しかしながら、移動通信端末においては低コスト化、低消費電力化、小サイズ化の３つが非常に重要であるため、２系統の外付けメモリを使用することは大きな問題となる。
また、データ入出力用の周辺装置もDSP用とCPU用に２系統が必要であった。このため、DSPとCPU間の余分な通信オーバーヘッドが存在していた。
本発明の目的は，上記のような問題点に鑑み、DSPとCPUのメモリシステムと周辺回路を統合化して低コスト、低消費電力、小サイズの移動通信端末システムを実現する方法を提案することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
発明の開示
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、一つのバスマスターとして統合されたDSP/CPUコア、統合された外部バスインタフェースおよび統合された周辺回路インタフェースを持ったDSP/CPU統合チップで移動通信端末システムを実現する。
また、DSPの外部メモリアクセスの高速化のため、移動通信端末の処理に応じた内部メモリ、外部メモリのプログラム、データ配置を行う。
さらにDSPの周辺回路アクセスの高速化のため、複数サンプルを並列に転送する機能を用いる。
前記移動通信端末に用いるマイクロプロセッサのプログラム生成においては、上記DSP機能の実現するデジタル・シグナル・プロセッサのアドレスレジスタが上記CPU機能を実現するセントラル・プロセッシング・ユニツトのレジスタのサブセットにマッピングさせ、上記セントラル・プロセッシング・ユニットのレジスタのサブセットに引き数を渡す。
また、基地局とデータをやり取りして無線通信を行う移動通信端末は、メモリに格納されたプログラムを実行するデータ処理装置と、音声符号化処理を行うためのプログラムを格納する領域と、音声復号化処理を行うためのプログラムを格納する領域と、通信路符号化処理を行うためプログラムを格納する領域と、通信路復号化処理を行うためのプログラムを格納する領域と、基地局との通信用プロトコル制御を行うためのプログラムを格納する領域と、使用者とのインタフェース制御を行うためのプログラムを格納する領域とを有するメモリとを具備し、前記メモリの各領域を前記データ処理装置のアドレス空間に配置する。
前記データ処理装置は、音声符号化処理と音声復号化処理と通信路符号化処理と通信路復号化処理とを実行するデジタル・シグナル・プロセッサと、基地局との通信用プロトコル制御と使用者とのインタフェース制御とを実行するセントラル・プロセッシング・ユニットとを備え、１つの半導体基板上に形成するのが望ましい。
前記デジタル・シグナル・プロセッサの処理を高速にするため、前記音声符号化処理を行うためのプログラムを格納する領域と、音声復号化処理を行うためのプログラムを格納する領域と、通信路復号化処理を行うためのプログラムを格納する領域と、通信路復号化処理を行うためのプログラムを格納する領域とを前記データ処理装置に内蔵されるメモリに格納するとよい。
高速処理を要求されないプログラムについては、すなわち基地局との通信用プロトコル制御を行うためのプログラムを格納する領域と、使用者とのインタフェース制御を行うためのプログラムを格納する領域とを前記データ処理装置に外付けされるメモリに格納するとよい。
前記データ処理装置は、さらにアナログ・デジタル変換回路及びデジタル・アナログ変換回路とインタフェースするシリアル入出力回路を上記セントラル・プロセッシング・ユニットのアドレス空間内に備える。
【図面の簡単な説明】
第１図は、移動通信システムの基本構成図。
第２図は、DSPとCPUを用いたGSM移動通信端末の構成図。
第３図は、密結合されたDSP/CPU統合チップの構成図。
第４図は、DSPとCPUを単純に１つのチップにまとめた構成図。
第５図は、本発明の第１の実施例のGSM移動通信端末の構成図。
第６図は、本発明の第１の実施例における内部／外部メモリ接続構成図。
第７図は、本発明の第２の実施例のキャシュをのせたDSP/CPU統合チップ構成図。
第８図は、本発明の第３の実施例の移動通信端末応用におけるメモリ割付の基本形を示す図。
第９図は、本発明の第３の実施例の移動通信端末応用におけるメモリ割付の拡張形を示す図。
第10A図、10B図は、本発明の第４の実施例のバーストROMを直結した場合のDSP/CPU統合チップとの接続図及びタイムチャート。
第11図は、DSP/CPU統合チップのメモリマップの一例を示す図。
第12A図、12B図、12C図は、本発明の第５の実施例のDRAMを直結した場合のDSP/CPU統合チップとの接続図及びタイムチャート。
第13A図及び13B図は、本発明の第６の実施例におけるDSP/CPU統合チップとI/Q信号用AD/DA変換器との接続図及びタイムチャート。
第14図は、本発明の第６の実施例のシリアル入出力回路の構成図。
第15A図、15B図は、本発明の第７の実施例におけるDSP/CPU統合チップとI/Q信号用AD/DA変換器との接続図及びタイムチャート。
第16図は、本発明の第７の実施例のシリアル入出力回路の構成図。
第17A図、17B図は、本発明の第８の実施例におけるDSP/CPU統合チップとパワーアンプ制御用DA変換器との接続図及びタイムチャート。
第18図は、DSPとCPUを用いた従来のGSM移動通信端末におけるオーバーヘッドを示す図。
第19図は、GSM移動通信システムにおけるパワーアンプ制御のタイミングと出力波形を示す図。
第20A図、20B図は、本発明の第８の実施例のパワーアンプ制御におけるオーバーヘッドを示す図。
第21図は、本発明の第９の実施例の統合ASICバスインタフェースを備えたDSP/CPU統合チップ構成図。
第22図は、DSP/CPU統合チップ内のCPUの構成を示す図。
第23図は、本発明の第10の実施例を説明するＣプログラムの例を示す図。
第24図は、本発明の第10の実施例を説明するアセンブラプログラムと関連するハードウエアを示す図。
発明を実施するための最良の形態
［DSP/CPU統合チップ］
本発明がベースとしている密結合されたDSP/CPU統合チップについて説明する。なお、詳細については、発明者等による先の出願、特願平７−132906号に記載されている。この密結合されたDSP/CPU統合チップの例を図３に示す。同図に示される点線で囲まれたDSP/CPU統合チップ300は半導体集積回路製造技術によって単結晶シリコンのような１個の半導体基板上に形成される。図３には点線で囲まれたDSP/CPU統合チップ300、外部RAM（Random Access Memory）326、外部ROM（Read Only Memory）327、外部アドレスバス（EA）325及び外部データバス（ED）324が示されている。
DSP/CPU統合チップ300はDSP/CPU密結合統合コア305、内部メモリX304、内部メモリY303、統合バスインタフェース418、DMAC（Direct Memory Access Controler）317、統合周辺バスインタフェース319、DSP周辺回路322およびCPU周辺回路323で構成される。これら構成要素は３種類の内部メモリ用アドレスバス（Ｘアドレスバス（XA）302、Ｙアドレスバス（YA）301、Ｉアドレスバス（IA）314）、３種類の内部メモリ用データバス（Ｘデータバス（XD）315、Ｙデータバス（YD）316、Ｉデータバス（ID）313）、統合周辺アドレスバス（PA）320、統合周辺データバス（PD）321を介して接続されている。
DSP/CPU密結合統合コア305はCPUコア307とDSPエンジン306からなる。CPUコア307では命令デコーダ308、ALU（算術論理演算器）309およびレジスタ310が主たる構成要素である。DSPエンジン306には命令デコーダはなく、積和器311を始めとする演算器とレジスタ312が主な構成要素となる。
CPUコア307は内部メモリX304、内部メモリY303または外部RAM326,外部ROM327の何れかから命令を読み出し、命令デコーダ308で解読して実行する。DSPエンジン306はCPUコア307からの指示に従って動作する。すなわち、DSPの命令を実行する時、CPUコア307とDSPエンジン306は連携して並列して作動する。
だだし、ここでDSPと呼んでいるのは、デジタル信号処理の基本演算であるFIRフィルタ（Finite Response Filter）を１サイクル／タップで実行できる能力をいう。一般にはこのためには以下の４つの条件を同時に満たす必要がある。すなわち、（１）積和演算が１サイクルで実行でき、（２）２データを同時に１サイクルでメモリからアクセスでき、（３）オーバーヘッドなしの繰り返し命令をサポートし、（４）モジュロアドレッシングモードをサポートしている必要がある。このDSP機能の詳細は公知の情報として、例えばMotorola Inc.1990年発行「DSP56116Digital Signal Processor User's Manual」に開陳されている。上述の４つの条件から、単純な積和器やFPU（Floating Point Unit）はここでいうDSPエンジンとは言えない。
また、ここでCPUと呼んでいるのは、Ｃ言語などの高級言語で記述されたプログラムを効率良くコンパイル、実行できるアーキテクチャの標準的マイクロプロセッサのことである。例えば、（株）日立製作所平成６年３月発行第３版「日立シングルチップRISCマイコン  SH7032,SH7034ハードウエアマニュアル」にその詳細が開陳されている。
以上、述べてきたように図３のDSP/CPU密結合統合コア305はＣ言語などの高級言語で記述されたプログラムを効率良くコンパイル、実行できる標準的CPU機能を持ち、かつFIRフィルタを１サイクル／タップで実行できるDSP機能を持ち、かつ単一の命令流で制御されるところが特徴である。また、このDSP/CPU密結合統合コア305は命令デコーダおよび制御系を１系統しか持たないため、バスマスタとして見た時、１つに統合化されている。すなわち、バスにぶら下がる周辺回路およびメモリはDSP機能とCPU機能によって共有、統合化されている。また、DSP機能を実行するプログラムとCPU機能を実行するプログラムとの両方がCPUコア307のアドレス空間に配置されている。図３には統合周辺バスインタフェース319を介してDSP周辺回路322とCPU周辺回路323が統合されている様子を示してある。DSP周辺回路322の例としてはシリアル入出力回路等がある。CPU周辺回路323の例としてはパラレル入出力回路、シリアル入出力回路、タイマ、AD変換回路等がある。DSP周辺回路322とCPU周辺回路323が統合されている、すなわち共通のアドレス空間にあるので、DSP機能とCPU機能の両方でDSP周辺回路322とCPU周辺回路323を使用することができる。また、図３には統合外部バスインタフェースを介して外部RAM326、外部ROM327がDSP機能とCPU機能によって共有される様子も示してある。
［独立したDSPとCPUチップ］
次に比較のため、従来の２つの独立したDSPとCPUを用いた場合の例を図４に示す。図４は従来技術に記載の公知例に基づいて発明者が作成したものであり、公知例そのものではない。図４は点線で囲まれたDSPチップ400、点線で囲まれたCPUチップ413、CPU外部RAM430およびCPU外部ROM431からなる。DSPチップとCPUチップを単純に１つのチップにまとめた場合、点線で囲まれた２つの領域が１つの集積回路となるわけである。
CPUチップ413はCPUコア414、内部メモリ418、CPU周辺バスインタフェース421、CPU外部バスインタフェース422、DMAC423、CPU周辺回路426、427で構成される。
これら構成要素は内部アドレスバス（IA）419、内部データバス（ID）420、CPU周辺アドレスバス（PA）424、CPU周辺データバス（PD）425を介して接続されている。CPUコアは命令デコーダ415、ALU416およびレジスタ417を主たる構成要素とし、内部メモリ418、CPU外部RAM430またはCPU外部ROM431の何れかから命令を読み込み、命令デコーダで解読して実行する。CPU外部バスインタフェース422とCPU外部RAM430及びCPU外部ROM431とは外部アドレスバス（EA）428及び外部データバス（ED）429を介して接続される。DSPチップ400はDSPコア403、DSP内部メモリX404、DSP内部メモリY405、DSP周辺回路406、CPU/DSPインタフェース410、Ｙアドレスバス（YA）401、Ｘアドレスバス（XA）402、Ｘデータバス（XD）411及びＹデータバス（YD）412からなる。DSPコア403は命令デコーダ407、積和器408を始めとする演算器およびレジスタ409からなる。DSPコア403はDSP内部メモリX404またはDSP内部メモリY405の何れかからDSP専用命令を読み込み、命令デコーダ407で解読して実行する。なお、図４には示していないが、DSPに専用外部メモリがある場合、ここからDSP専用命令を読み込み、命令デコーダ407で解読して実行することもある。図４では、CPU/DSPインタフェース410には、内部アドレスバス（IA）419と内部データバス（ID）420とが接続されているが、CPUチップ413とDSPチップ400が別チップで構成される場合はCPU/DSPインターフェース410は外部アドレスバス（EA）428と外部データバス（ED）429が接続される。
このようにDSPチップとCPUチップを単純に１つのチップにまとめた場合、各々のメモリ空間、周辺回路は全く独立のものとなってしまい、互いにアクセスすることはできない。
以上、本発明がベースとしている密結合されたDSP/CPU統合チップの特徴を説明してきた。続いてこの密結合されたDSP/CPU統合チップを用いて実現された移動通信端末の特徴を実施例を用いて説明する。
［第１の実施例:GSM端末］
まず本発明の第１の実施例を図５、図２および図６を用いて説明する。図５は密結合されたDSP/CPU統合チップを用いて実現したGSM端末の例である。図５は先に詳しく説明した図２と基本的に同じ構成である。図２のGSM端末で使われていた２つの独立したDSPチップ223とCPUチップ227を１つの密結合されたDSP/CPU統合チップで置き換えたものである。図５はDSP/CPU統合チップ500、統合AFE（アナログフロントエンド）501、電池510、電池監視回路509、サウンダ511、高周波変復調回路513、PA（パワーアンプ）514、アンテナ515、Duplexer516、LNA（ローノイズアンプ）517、マイクロフォン518、スピーカ519、周波数シンセサイザ533、システムタイミング回路520、電圧制御システムクロック523および統合化外部バス526に接続された統合化モジュール527〜531から構成されている。
統合化モジュールはDSP/CPU共用外部RAM527、DSP/CPU共用外部ROM528、LCD529、SIM530およびキーボード531からなる。DSP/CPU統合チップ500は図３のDSP/CPU統合チップ300と同一である。統合AFE（アナログフロントエンド）501には、電池監視用AD変換器502、Sounder用DA変換器503、PA用DA変換器504、IQ用AD/DA変換器505、音声用AD/DA変換器506、AFC用DA変換器507が含まれる。
電池510、電池監視回路509、サウンダ511、駆動回路Driver、高周波変復調回路513、PA（パワーアンプ）514、アンテナ515、Duplexer516、LNA（ローノイズアンプ）517、マイクロフォン518、増幅器Amp、駆動回路Dri、スピーカ519、高周波サイン波532、周波数シンセサイザ533、システムタイミング回路520、システムタイミング信号521、541、信号線522、電圧制御システムクロック523、電池監視用AD変換器502、Sounder用DA変換器503、PA用DA変換器504、IQ用AD/DA変換器505、AGC用DA変換器506、音声用AD/DA変換器507、AFC用DA変換器508、LCD529、SIM530およびキーボード531は、それぞれ図２の電池234、電池監視回路233、サウンダ230、駆動回路Driver、高周波変復調回路210、PA（パワーアンプ）212、アンテナ213、Duplexer214、LNA（ローノイズアンプ）215、マイクロフォン208、増幅器Amp、駆動回路Dri、スピーカ209、周波数シンセサイザ216、システムタイミング回路219、システムタイミング信号220、241、信号線218、電圧制御システムクロック221、電池監視用AD変換器232、Sounder用DA変換器231、PA用DA変換器203、IQ用AD/DA変換器204、AGC用DA変換器205、音声用AD/DA変換器206、AFC用DA変換器207、LCD237、SIM236およびキーボード235に相当し、機能及び動作は同様である。従って、先に説明した図２の機能及び動作と同様であるので、図５の機能及び動作の説明は省略する。統合外部バス526には、外部RAM527及び外部ROM528が接続されており、CPU機能及びDSP機能の両者がアクセスできるようになっている。
また、図６にDSP/CPU統合チップと内部メモリと外部メモリの関係の詳細を示す。図６ではDSP/CPU統合チップ600、外部ROM611および外部RAM612が外部アドレスバス609と外部データバス610を介して接続されている。またDSP/CPU統合チップ600の内部でDSP/CPU密結合コア601、内部ROM602、内部RAM603および統合外部バスインタフェース606が内部データバス604と内部アドレスバスを介して接続されている様子が示してある。DSP/CPU密結合コア601は一つのバスマスタとして統合されているため、DSP機能とCPU機能の両者が内部ROM602、内部RAM603、外部ROM611および外部RAM612の何れをも任意にアクセスできることが本構成の大きな特徴となる。この構成のおかげで特に、貴重な内部メモリを無駄なく有効利用することができる。
なお、DSP/CPU統合チップ600は図３のDSP/CPU統合チップ300及び図５のDSP/CPU統合チップ500と同一であるが、説明と関係ないものは省略されている。従って、DSP/CPU密結合コア601はDSP/CPU密結合コア305に、内部バス604は内部メモリ用データバスID313に、内部バス605は内部メモリ用アドレスバス605に、統合外部バスインタフェース606は統合外部バスインタフェース318に相当する。但し、内部ROM602と内部RAM603とは、内部メモリX304及び内部メモリY303のROM部及びRAM部にそれぞれ対応する。
外部アドレスバス609は外部アドレスバス（EA）325に、外部データバス610は外部データバス（ED）324に、外部ROM611は外部ROM327及び外部ROM528に、外部RAM612は外部RAM326及び外部RAM527に相当する。また、外部バス526は、外部アドレスバス609及び外部データバス610の両方を含むものである。
以上、図５と図６で示したように本発明の第１の実施例では外部RAM/ROMがDSPとCPUで完全に共有化されているため、従来例の図２に存在したDSP専用の外部バス240、外部RAM200および外部ROM201が不要となっている。また、DSPチップ223とCPUチップ227との間の信号HIF224及びINT226が不要となっている。すなわち統合化によって、バス、信号線及びメモリチップの個数を減らすことができるので移動通信端末において、低コスト、低消費電力、小サイズが実現できる。
［第２の実施例：キャシュメモリの内蔵］
次に本発明の第２の実施例を図５、図７および図６を用いて説明する。第２の実施例は第１の実施例のDSP/CPU統合チップの内部RAMをキャシュメモリに置き換え、外部メモリアクセスの高速化を図ったものである。
従来の独立したDSPチップでは直結できる外部メモリはSRAM（Static RAM）やROMに限られていた。DRAMや高速アクセスモードを持ったRAM/ROMは直結できなかった。またアクセスできるデータサイズも16ビットに限られ、バイト（８ビット）アクセスやロングワード（32ビット）アクセスはできなかった。これは移動通信端末で使われるDSPチップでは命令長もデータ長も16ビットに固定されているためである。というのもDSPが適用される音声符号化、通信路符号化および変復調処理では命令長もデータ長も16ビットで充分だからである。アクセスできるデータサイズを16ビットに限定したおかげで外部メモリアクセスの制御が簡単になり、充分高速のメモリを用いれば外部アクセスを１サイクルで実行することもできた。
一方、従来の独立したCPUチップの中にはDRAMや高速アクセスモードを持ったRAM/ROMを始めとする様々な外部メモリを直結できるものがある。例えば、（株）日立製作所平成６年３月発行第３版「日立シングルチップRISCマイコン  SH7032,SH7034ハードウェアマニュアル」に記載されている。また、こうしたCPUチップではバイト（８ビット）アクセス、ショートワード（16ビット）アクセスおよびロングワード（32ビット）アクセスの全てをサポートするのが常識である。これはＣ言語などの高級言語で書かれたプログラムを効率良く実行するために不可欠であるためである。しかし、その反面、外部メモリアクセスの制御が複雑になり、外部アクセスには最低でも３サイクル以上かかってしまう。
以上、述べてきたように従来のDSPチップとCPUチップはそれぞれの応用に適した異なる外部メモリインタフェースをサポートしていた。本発明のようにDSP機能とCPU機能を統合した場合、従来のCPUタイプの外部メモリインタフェースを用いるのが望ましい。しかしながら、DSP機能にとって外部アクセスが遅くなるという問題が生じる。
そこで第２の実施例では第１の実施例のDSP/CPU統合チップの内部RAMをキャシュメモリに置き換え、外部メモリアクセスの高速化を図る。図７に図６の内部RAMをキャシュメモリに置き換えた場合のDSP/CPU統合チップとキャシュ（内部メモリ）と外部メモリの関係の詳細を示す。
図７ではDSP/CPU統合チップ700、外部ROM713および外部RAM714が外部アドレスバス711と外部データバス712を介して接続されている。またDSP/CPU統合チップ700の内部でDSP/CPU密結合コア701、内部ROM702、キャシュ（内部RAM）704、DMAC705および統合外部バスインタフェース708が内部でデータバス706と内部アドレスバス707を介して接続されている様子が示してある。図６の内部RAM704の代わりにキャッシュ（内部RAM）704とキャッシュコントローラ703がDSP/CPU統合チップに内蔵されている以外が、図６と異ならない。なお、図７ではDMAC705が図示されているが、図６ではDMACが図示されていない。これは、図６では説明上必要でなかったため省略されているだけで、図３でDMAC317が図示されているようにDSP/CPU統合チップにはDMACが内蔵されている。ただし、キャッシュコントローラ703とDMAC705の接続関係は図７にのみ適用される。
DSP/CPU密結合コア701がキャシュ機能でサポートされているアドレスをアクセスすると次のようになる。まずキャッシュ704がそのアドレスのデータがキャシュ704内にあるかチェックし、もしあればキャシュ704内のそのデータがアクセスされる。もしなければキャッシュ704がキャッシュコントロール703に知らせ、キャシュコントローラ703がDMAC705を起動して外部メモリ713、714からそのアドレスを含む近傍のデータ複数個（500B〜1kB程度の場合が多い）をキャシュ704内に読み込み、DSP/CPU密結合コア701に供給される。
プログラムやデータの参照には局所性がある。つまり、あるアドレスが参照された時、次にその近傍のアドレスが参照される可能性が非常に大きい。よって、前述のキャシュを用いたメカニズムを使えば、外付けメモリ713、714を平均的に内部メモリと同じレートでアクセスできる。このようなキャシュは例えば（株）日立製作所平成６年９月発行第１版「Supper RISC engine  SH7604ハードウエアマニュアル」に開陳してある。ただし、前記マニュアルに記載されるマイクロプロセッサ等のキャッシュメモリは、キャッシュメモリ内に該当するデータが無い場合（ミスヒットの場合）に、外部メモリから読み出すデータ量はキャッシュメモリの１ラインサイズで16B（バイト）等と小さい。
このようにDSP/CPU統合チップの内部RAMをキャシュメモリに置き換えることにより、DSP機能にとって外部アクセスが遅くなるという問題を解決できる。
［第３の実施例：プログラムの配置］
次に本発明の第３の実施例を図５、図６、図８および図９を用いて説明する。第３の実施例では、DSP機能にとって外部アクセスが遅くなるという問題点をメモリの割付を考慮することにより解決したものである。
図６は図５の移動通信端末の中のDSP/CPU統合チップと内部メモリと外部メモリの関係の詳細を示したものである。既に図６を用いて説明したようにDSP/CPU密結合コア601は一つのバスマスタとして統合されているため、DSP機能とCPU機能の両者が内部ROM602、内部RAM603、外部ROM611および外部RAM612の何れをも任意にアクセスできる。すなわち内部メモリも外部メモリもDSP用又はCPU用という区別が全くなく、完全に共有なリソースとなっている。
しかしながら、移動通信端末への適用を考えた場合、内部メモリと外部メモリの意識的な使い分けが重要となる。図８にこの使い分けの一例を示す。図８にはDSP/CPU統合チップ800、内部ROM801、内部RAM802、外部ROM803および外部RAM804が示してある。これらは、図６のDSP/CPU統合チップ600、内部ROM602、内部RAM603、外部ROM611および外部RAM612に対応する。図８のメモリ配置では音声符号化／復号化、通信路符号化復号化そして変復調などのDSP機能を用いたプログラムと固定データを内部ROM801にシステム制御、通信プロトコル、ユーザインタフェースといったCPU機能を用いたプログラムとそれ用の固定データを外部ROM803に配置している。
このようなプログラム配置をとることにより、DSP機能は外部メモリをアクセスする必要がなくなり、問題を克服できる。
しかし、DSP機能を用いたプログラムと固定データが内部ROM801に格納できない位大きい場合も考えられる。こうした場合は図９に示したメモリ割付が有効である。図９にはDSP/CPU統合チップ900、内部ROM901、内部RAM902、外部ROM903および外部RAM904が示してある。これらは、図６のDSP/CPU統合チップ600、内部ROM602、内部RAM603、外部ROM611および外部RAM612に対応する。図９のメモリ配置は基本的には図８の割付と同じである。違いは図９では音声符号化／復号化、通信路符号化復号化そして変復調などのDSP機能を用いたプログラムと固定データのうち、高速アクセスを必要としない部分を外部ROM903に配置しているところである。
例えば音声符号化において10キロバイト程度の大きな符号テーブルを検索する。この時、符号テーブルから符号を一つずつ読み出してきて処理するわけであるが、一符号当り数百サイクルかかる場合もある。よってこの10キロバイト程度の大きな符号テーブルを外部メモリに置き、アクセスに数サイクル必要でも数パーセントのオーバーヘッドに過ぎない。また、音声符号化／復号化、通信路符号化復号化そして変復調などのDSP機能を用いたプログラムでも全てが積和演算ではなく、ハウスキーピング処理と言われるCPUに近い機能を用いたプログラムも含まれている。このような処理の部分は一般に処理量が少なく、プログラムサイズが大きい。このようなプログラム部分を外部ROM903に配置すればよい。
図９に示したようにDSP機能を用いたプログラムと固定データのうち、高速アクセスを必要としない部分を外部ROMに配置することによってDSP機能にとって外部メモリアクセスが遅くなるという問題点を解決できる。
［第４の実施例：高速アクセスモードメモリインタフェース］
次に本発明の第４の実施例を図５、図10A、10Bおよび図11を用いて説明する。第４の実施例は第１、第２の実施例のDSP/CPU統合チップの外部メモリとして従来DSPには使われていなかった高速アクセスモードをサポートしているメモリを直結した例である。
高速アクセスモードをサポートしているメモリといってもたくさんあるのでここでは説明を具体的に行うためにバーストROMを直結した例をとりあげる。しかしながら、本発明はバーストROMに限るものでなく、全ての高速アクセスモードをサポートしているメモリ（シンクロナスDRAM、シンクロナスSRAM等）を含む。また、図10Aでは外部アドレス20ビット、外部データ８ビットとしてあるが、これも説明を具体化するためであり、本発明はあらゆる外部アドレスのビット幅とあらゆる外部データのビット幅に適用される。
図10Aは図５の異同通信端末の中のDSP/CPU統合チップと外部バーストROMを接続した場合の詳細を示したものである。図10AではDSP/CPU統合チップ1000と外部バーストROM1009が統合外部アドレスバス1007、データバス1008を介して直結されている。これらは、図６のDSP/CPU統合チップ600、外部ROM611、外部アドレスバス609及びデータバス610に相当する。DSP/CPU統合チップ1000の内部でDSP/CPU密結合コア1001、内部ROM1002、内部RAM1003および統合外部バスインタフェース1006が内部データバス1004と内部アドレスバス1005を介して接続されている様子が示してある。これらは、図６のDSP/CPU密結合コア601、内部ROM602、内部RAM603、統合外部バスインタフェース606、内部データバス604及び内部アドレスバス605に相当する。DSP/CPU統合チップ1000から外部バーストROM1009を制御する信号にはチップセレクト信号（/CS2）1010とリード信号（/RD）1011がある。これらの信号はバーストROM1009のチップイネーブル端子（/CE）とアウトプットイネーブル端子（/OE）に入力される。また図10BにはDSP/CPU統合チップ1000と外部バーストROM1009の間の信号のタイムチャートが示してある。
図11にDSP/CPU統合チップのメモリマップの一例1100を示す。このメモリマップ1100ではチップセレクト（/CS2）の空間にバーストROMを直結できる。すなわち図10AのDSP/CPU密結合コア1001がこのチップセレクト（/CS2）の空間をアクセスするとチップセレクト（/CS2）1010がアクティブ  ローになり、リード信号（/RD）1011がタイムチャートに示した動作を行なう。
バーストROMでは連続する４データをアクセスする場合、最初の第１データのアクセスに若干のオーバーヘッドがあるものの残りの３データは高速にアクセスできる。この様子を図10Bを使って説明する。チップセレクト信号（/CS2）1010がローになり、バーストROM1009がアクティブになった後、アドレスの上位ビットA2〜A19（下位２ビットを除く）を用いて連続する４データがバーストROM内部で一度にアクセスされる。その後、アドレスの下位２ビットA0,A1を用いてアクセスされた４データを順番にバーストROM外部に読み出すわけである。読み出されたデータはリード信号（/RD）1011の立ち上がりエッジでDSP/CPU統合チップ1000に読み込まれる。
図10Bの例では最初のデータの読み出しに６サイクルかかっている。これは先に述べた連続する４データをバーストROM内部で一度にアクセスする時間を含んでいるためである。しかし、引き続く３つのデータは１サイクルで読み出せている。よって実行的なアクセスサイクルは（６＋１＊３）/4＝2.25サイクルとなる。よって普通の外付けROMで３サイクルかかる場合よりも25％の高速になる。
このような高速アクセスモードをサポートしているメモリを直結することによってDSP機能にとって外部メモリアクセスが遅くなるという問題点を解決することもできる。また、この第４の実施例とキャシュメモリを用いた第２の実施例を組み合わせればキャッシュメモリがヒットしなかった場合のオーバーヘッドを削減できる。
［第５の実施例:DRAMインタフェース］
次に本発明の第５の実施例を図５、図12A、12B、12Cおよび図11を用いて説明する。第５の実施例は第１、第２の実施例のDSP/CPU統合チップの外部メモリとして従来DSPには使われていなかったDRAMを直結した例である。
図12Aは外部RAMの一つとしてDRAM（Dynamic RAM）を直結し、移動通信端末に新しい付加価値をつける例を示している。図12Aは図５の移動通信端末の中でDSP/CPU統合チップと外部DRAMを接続した場合の詳細を示したものである。図12AではDSP/CPU統合チップ1200と外部DRAM1209が統合外部アドレスバス1207、データバス1208を介して直結されている。これらは、図６のDSP/CPU統合チップ600、外部RAM612、外部アドレスバス609及びデータバス610に相当する。DSP/CPU統合チップ1200の内部でDSP/CPU密結合コア1201、内部ROM1202、内部RAM1203および統合外部バスインタフェース1206が内部データバス1204と内部アドレスバス1205を介して接続されている様子が示してある。これらは、図６のDSP/CPU密結合コア601、内部ROM602、内部RAM603、統合外部バスインタフェース606、内部データバス604及び内部アドレスバス605に相当する。DSP/CPU統合チップ1200から外部DRAM1209を制御する信号には行アドレス選択信号（/RAS）1210、列アドレス選択信号（/CAS）1211とライト信号（/WR）1212がある。これらの信号は外部DRAM1209の対応する端子に入力される。また図12B、12CにはDSP/CPU統合チップ1200と外部DRAM1209の間の信号のタイムチャートが示してある。
図11にDSP/CPU統合チップのメモリマップの一例1100を示す。このメモリマップ1100ではチップセレクト（/CS3）の空間にDRAMを直結できる。すなわち図12AのDSP/CPU密結合コア1201がこのチップセレクト（/CS3）の空間をアクセスすると行アドレス選択信号（/RAS）1210、列アドレス選択信号（/CAS）1211とライト信号（/WR）1212が図12B、図12Cのタイムチャートに示した動作を行なう。
本発明においては、このような直結された大容量のDRAMをDSP機能から直接アクセスできる。図５に示した移動通信端末では留守番電話機能のような付加価値の追加が用意に行なえる。移動通信端末では通信される音声データは4kbit/sec〜13kbit/secに圧縮されているので図12Aに示したように、例えば4MbitのDRAMチップを１個用いた場合、５分〜17分の音声を格納できる。
［第６の実施例：周辺回路のデータ転送の高速化］
次に本発明の第６の実施例を図５、図13A、13B及び図14を用いて説明する。第６の実施例は第１の実施例の統合周辺回路のデータ転送の高速化を図ったものである。
従来の独立したDSPチップでは周辺回路は数も種類も少なく内部データバスに直結され、データの高速転送が可能であった。一方、従来の独立したCPUチップでは周辺回路は数も多く、種類も多様であった。しかし、その半面、周辺回路インタフェースを介する必要があるため、データ伝送レートは低かった。
本発明のDSP/CPU統合チップではDSP機能用の周辺回路がCPU機能の周辺回路と統合周辺回路インタフェースを介して接続されている。そのため、DSP機能用の周辺回路のデータ転送が遅くなるという場合があった。
そこで第６の実施例では複数サンプルを並列に転送することによって、第１の実施例の統合周辺回路の高速データ転送化を図る。
図13は図５の移動通信端末の中でDSP/CPU統合チップ1300と統合ベースバンドAFE1313との接続の詳細を示したものである。これらは、図５のDSP/CPU統合チップ500と統合AFE501に対応する。図13Aには特に、高周波変復調器とのやり取りに係わるデータ転送の部分のみを示してある。
DSP/CPU統合チップ1300内ではシリアル入出力回路（SIO1）1301、シリアル入出力回路（SIO2）1302および統合周辺バス1303が関係する。これらは、図３のDSP周辺回路322及び統合周辺アドレスバス（PA）320と統合周辺データバス（PD）321に対応する。図13Aではシリアル入出力回路（SIO1）1301は入出力ともに使用されているがシリアル入出力回路（SIO2）1302は入力機能のみ使われている。すなわち、DSP/CPU統合チップ1300は統合ベースバンドAFE1313に対して１出力２入力という構成になっている。
統合ベースバンドAFE1313ではシリアルインタフェース1319、GMSK（Gaussian Minimum Sift Keying）変調器1316、Ｉ信号用DA変換器1318、Ｑ信号用DA変換器1317、Ｉ信号用AD変換器1315、Ｑ信号用AD変換器1314が本実施例に関連する要素である。高周波変復調器と統合ベースバンドAFE1313はアナロク信号であるＩ信号とＱ信号でやり取りする。
DSP/CPU統合チップ1300と統合ベースバンドAFE1313は信号線TXD1（1304）、STS1（1305）、STCK1（1311）、RXD1（1306）、SRS1（1310）、SRCK1（1311）、RDX2（1309）、SRS2（1308）およびSRCK2（1311）を介して接続されている。これら信号線のタイミングチャートを図13Bに示してある。また、図13Aの信号線1311と信号線1312の信号は図５のシステムタイミング回路520から供給される。信号線1312はシリアルインタフェース1319を制御するのに使われる。信号線1311はデータ転送用の基本クロックであり、DSP/CPU統合チップ1300と統合ベースバンドAFE1313の両者に供給されている。
次に転送の詳細を説明する。まず、DSP/CPU統合チップ1300から統合ベースバンドAFE1313にデータを転送する場合を考える。この時、使用される信号線はTXD1（1304）、STS1（1305）およびSTCK1（1311）の３本である。STCK1（1311）は先に述べたように図５のシステムタイミング回路520から供給されるデータ転送用の基本クロックである。ここでは16ビットのデジタルデータをこの基本クロックに同期して１ビットずつ転送している。もちろん任意のビット幅のデータを同じ図式で転送できる。TXD1（1304）は送信用の１ビットデータバスである。STS1（1305）はフレーム同期信号線であり、この信号がパルスとして出力された次のクロックから16クロックの間、TXD1（1304）上にデータが１ビットずつ順番に出力される。この時のタイミングが図13Bに示してある。STS1（1305）のパルスが出力された次のクロックから16ビットのデータD15〜D0が最上位ビットD15から順番に１クロックごとに１ビットずつTXD1（1304）上に出力されている。
次にDSP/CPU統合チップ1300が統合ベースバンドAFE1313からにデータを受信する場合を考える。Ｉ信号とＱ信号の２つの信号データが受信されるので、まずＩ信号から考える。この時、使用される信号線はRXD1（1306）、SRS1（1310）およびSRCK1（1311）の３本である。SRCK1（1311）は先に述べたように図５のシステムタイミング回路520から供給されるデータ転送用の基本クロックである。ここでも16ビットのデジタルデータをこの基本クロックに同期して１ビットずつ転送している。もちろん任意のビット幅のデータを同じ図式で転送できる。RXD1（1306）は受信用の１ビットデータバスである。SRS1（1310）はフレーム同期信号線であり、この信号がパルスとしてDSP/CPU統合チップ1300に入力された次のクロックから16クロックの間、RXD1（1304）上にあるデータが１ビットずつ順番に入力される。この時のタイミングも図13Bに示してある。SRS1（1306）のパルスが入力された次のクロックから16ビットのデータD15〜D0が最上位ビットD15から順番に１クロックごとに１ビットずつRXD1（1304）から入力されている。Ｑ信号の受信もＩ信号の受信と全く同様にして行なわれる。異なるのはＩ信号の受信がシリアル入出力回路（SIO1）1301で行なわれ、Ｑ信号がシリアル入出力回路（SIO2）1302で受信される所である。
次に図13Aにおけるシリアル入出力回路（SIO1）1301とシリアル入出力回路（SIO2）1302の詳細を図８を用いて説明する。図14にはDSP/CPU統合チップ内の本実施例に関連する部分を示してある。シリアル入出力回路（SIO1）1301はシリアル入出力回路（SIO1）1424に、シリアル入出力回路（SIO2）1302はシリアル入出力回路（SIO2）1420に対応する。
図14はDSP/CPU密結合コア1400、内部メモリX1401、内部メモリY1402、統合周辺バスインタフェース1406、DMAC1405、シリアル入出力回路（SIO1）1424、シリアル入出力回路（SIO2）1420およびアンド回路1429から構成されている。DSP/CPU密結合コア1400、内部メモリX1401、内部メモリY1402、統合周辺バスインタフェース1406およびDMAC  1405は内部アドレスバス（IA）1403と内部データバス（ID）（32ビット幅）1404を介して接続されており、シリアル入出力回路（SIO1）1424とシリアル入出力回路（SIO2）1420は統合周辺バス1407、1408、1409を介して統合周辺バスインタフェース1406につながっている。
統合周辺バスはアドレスバス（PA）1407、と32ビット幅のデータバス（PD）からなり、PDバスは上位16ビットPD（31−16）1408と下位16ビットPD（15−０）1409からなる。図14ではシリアル入出力回路（SIO1）1424が統合周辺データバスの上位16ビットPD（31−16）1408にシリアル入出力回路（SIO2）1420が統合周辺データバスの下位16ビットPD（15−０）1409に接続されている。図示されていないが、アドレスバス（PA）1407はシリアル入出力回路（SIO1）1424とシリアル入出力回路（SIO2）1420とに接続されている。
シリアル入出力回路（SIO1）1424は16ビット幅のデータ送信用データレジスタ（TDR1）1427、16ビット幅のデータ受信用データレジスタ（RDR1）1428、パラレル／シリアル変換器1425、シリアル／パラレル変換器1426および制御回路1423からなる。チップ外部とやり取りする６本（送受信おのおの３本づつ）の信号線類RXD1（1430）、SRCK1（1432）、SRS1（1433）、TXD1（1434）、STS1（1435）、STCK1（1436）も示してある。これらの信号線は、図13AのRXD1（1306）、SRCK1（1311）、SRS1（1310）、TXD1（1304）、STS1（1305）、STCK1（1311）に対応する。これら信号線の詳細は図13Aを用いて先に説明した。
シリアル入出力回路（SIO2）1420は16ビット幅のデータ送信用データレジスタ（TDR2）1415、16ビット幅のデータ受信用データレジスタ（RDR2）1416、パラレル／シリアル変換器1417、シリアル／パラレル変換器1418および制御回路1419からなる。チップ外部とやり取りする６本（送受信おのおの３本づつ）の信号線類TXD2（1431）、SRCK2（1437）、SRS2（1438）、RXD2（1439）、も示してある。これらの信号線のうち、SRCK2（1437）、SRS2（1438）、RXD2（1439）は、図13AのSRCK2（1307）、SRS2（1308）、RXD2（1309）に対応する。これら信号線の詳細も図13Aを用いて先に説明した。ただし、図13Aではこのシリアル入出力回路（SIO2）1420を受信用にしか使っていない。よってこれらの信号線のうち送信用の３本TXD2（1431）、STS2（1440）、STCK2（1441）は図13Aには表示されていない。
まず、シリアル入出力回路（SIO1）1424を用いてデータを送信する場合について説明する。16ビット幅送信データは統合周辺データバスの上位16ビットPD（31−16）1408を介して1424はデータ送信用データレジスタ（TDR1）1427に入力される。そしてパラレル／シリアル変換器1425を通って１ビットデータバスTDX1（1434）上に１ビットずつ出力される。出力のサイクルやタイミングは信号線STS1（1435）とSTCK1（1436）を用いて制御回路1423がコントロールする。
次にシリアル入出力回路（SIO1）1424とシリアル入出力回路（SIO2）1420で受信した２つの16ビットデータを32ビットバスを介して並列に転送する場合を説明する。シリアル入出力回路（SIO1）1424では受信データはRDX1（1430）から１ビットずつ入力される。入力のサイクルやタイミングは信号線SRS1（1433）とSRCK1（1432）を用いて制御回路1423がコントロールする。入力されたビット列はシリアル／パラレル変換器1426を通って16ビット幅の並列データに変換され、受信用データレジスタ1428に入力される。受信用データレジスタ1428に受信データが入力され、転送の準備が整うと制御回路1423はDMACへの割り込み信号（INT）1422をアクティブにする。
一方、シリアル入出力回路（SIO2）1420では受信データはRDX2（1439）から１ビットずつ入力される。入力のサイクルやタイミングは信号線SRS2（1438）とSRCK2（1437）を用いて制御回路1419がコントロールする。入力されたビット列はシリアル／パラレル変換器1418を通って16ビット幅の並列データに変換され、受信用データレジスタ（RDR2）1416に入力される。受信用データレジスタ（RDR2）1416に受信データが入力され、転送の準備が整うと制御回路1419はDMACへの割り込み信号（INT）1421をアクティブにする。アンド回路1429は割り込み信号（INT）1422と割り込み信号（INT）1421の論理積をとってDMAC1405に割り込みをかける。すなわち、DMAC1405に割り込みがかかった時点では２つの16ビット受信用データレジスタRDR1（1428）とRDR2（1416）には転送すべきデータが準備されている。DMACは２つの16ビット受信データを１つの32ビットデータとして扱い、32ビット幅の統合周辺データバス1408、1409と32ビット幅の内部データバス1404を介して内部メモリX1401か内部メモリY1402に転送することができる。
このように第６の実施例を用いれば16ビットのデータを１つずつ転送する場合に比べてシリアル入出力回路の転送レートを２倍にすることができ、DSP機能用の周辺回路のデータ転送が遅くなるという問題点を解決できる。
［第７の実施例］
次に本発明の第７の実施例を図５、図15A、15Bおよび図16を用いて説明する。第７の実施例は第６の実施例のバリエーションである。第６の実施例では２つの受信信号のために２つのシリアル入出力回路を使っていた。第７の実施例では２つの受信信号を時分割多重して１つのシリアル出回路しか使用しない。
図15Aは図５の移動通信端末の中でDSP/CPU統合チップ1500と統合ベースバンドAFE1511との接続の詳細を示したものである。これらは、図５のDSP/CPU統合チップ100と統合AFE501に対応する。図15Aでも特に、高周波変復調器とのやり取りに係わるデータ転送の部分のみを示してある。
DSP/CPU統合チップ1500内ではシリアル入出力回路SIO11502および統合周辺バス1501が関係する。これらは図３のDSP用周辺回路422及び統合用アドレスバス（PA）320と統合用データバス（PD）321に対応する。図15Aではシリアル入出力回路SIO11502は入出力ともに使用されている。DSP/CPU統合チップ1500は統合ベースバンドAFE1511に対して１出力１入力という構成になっている。
統合ベースバンドAFE1511ではシリアルインタフェース1505、GMSK（Gaussian Minimum Sift Keying）変調器1514、Ｉ信号用DA変換器1516、Ｑ信号用DA変換器1515、Ｉ信号用AD変換器1513、Ｑ信号用AD変換器1512が本実施例に関連する要素である。高周波変復調器と統合ベースバンドAFE1511はアナログ信号であるＩ信号とＱ信号でやり取りする。
DSP/CPU統合チップ1500と統合ベースバンドAFE1511は信号線TXD1（1503）、STS1（1504）、STCK1（1509）、RXD1（1508）、SRS1（1507）、SRCK1（1509）およびIQFLAG（1506）を介して接続されている。これら信号線のタイミングチャートを図15Bに示してある。また、図15Aの信号線1509と信号線1510の信号は図５のシステムタイミング回路520から供給される。信号線1510はシリアルインタフェース1505を制御するのに使われる。信号線1509はデータ転送用の基本クロックであり、DSP/CPU統合チップ1500と統合ベースバンドAFE1511の両者に供給されている。
次に転送の詳細を説明する。DSP/CPU統合チップ1500から統合ベースバンドAFE1511にデータを転送する場合は図13Aの例と全く同じであるので説明は省略する。
次にDSP/CPU統合チップ1500が統合ベースバンドAFE1511からにデータを受信する場合を考える。Ｉ信号とＱ信号の２つの信号データが受信されるが、図15Aではこの２つの信号が時分割多重されている。この時使用される信号線はRXD1（1508）、SRS1（1507）、SRCK1（1509）およびIQFLAG（1506）の４本である。SRCK1  1509は先に述べたように図５のシステムタイミング回路520から供給されるデータ転送用の基本クロックである。この場合も16ビットのデジタルデータをこの基本クロックに同期して１ビットずつ転送している。もちろん任意のビット幅のデータを同じ図式で転送できる。RXD1（1508）は受信用の１ビットデータバスである。SRS1（1507）はフレーム同期信号線であり、この信号がパルスとしてDSP/CPU統合チップ1500に入力された次のクロックから16クロックの間、RXD1（1508）上にあるデータが１ビットずつ順番に入力される。
この時のタイミングも図15Bに示してある。タイミングチャートでは最初にＩ信号が入力され、続いてＱ信号が入力される様子が示してある。まず、SRS1（1507）の最初のパルスが入力された次のクロックから16ビットのデータI15〜I0が最上位ビットI15から順番に１クロックごとに１ビットずつRXD1（1508）から入力されている。そして、SRS1（1507）の二番目のパルスが入力された次のクロックから16ビットのデータQ15〜Q0が最上位ビットQ15から順番に１クロックごとに１ビットずつRXD1（1508）から入力されている。RXD1（1508）で転送されているデータを識別するためにIQFLAG（1506）が用いられる。図15AではＩ信号が転送されている間、IQFLAG（1506）がハイレベルになっている。
次に図15Aにおけるシリアル入出力回路（SIO1）1502の詳細を図16を用いて説明する。図16にはDSP/CPU統合チップ内の本実施例に関連する部分を示してある。シリアル入出力回路（SIO1）1502はシリアル入出力回路（SIO1）1631に対応する。
図16はDSP/CPU密結合コア1600、内部メモリＸ  1601、内部メモリY1602、統合周辺バスインタフェース1606、DMAC  1605およびシリアル入出力回路SIO11631から構成されている。DSP/CPU密結合コア1600、内部メモリX1601、内部メモリY1602、統合周辺バスインタフェース1606およびDMAC1605は内部アドレスバス（IA）1603と内部データバス（ID）（32ビット幅）1604を介して接続されており、シリアル入出力回路（SIO1）1631は統合周辺バス1607、1608、1609を介して統合周辺バスインタフェース1606につながっている。統合周辺バスはアドレスバス（PA）1607、と32ビット幅のデータバス（PD）からなり、PDバスは上位16ビットPD（31−16）1608と下位16ビットPD（15−０）1609からなる。
シリアル入出力回路（SIO1）1631は２つの16ビット幅のデータ送信用データレジスタTDRU（1629）、TDRL（1630）、２つの16ビット幅のデータ受信用データレジスタRDRU（1614）、とRDRL（1615）、２つのマルチプレクサ（MUL）1628、1616、パラレル／シリアル変換器1627、シリアル／パラレル変換器1617および制御回路1619からなる。データ送信用データレジスタ（TDRU）1629とデータ受信用データレジスタ（RDRU）1614は統合周辺データバスの上位16ビットPD（31−16）1608に接続され、データ送信用データレジスタ（TDRL）1630とデータ受信用データレジスタ（RDRL）1615は統合周辺データバスの下位16ビットPD（15−０）1609に接続されている。チップ外部とやり取りする７本（送信用３本  STS1（1625）、STCK1（1624）、TDX1（1626）、受信用３本  SRS1（1620）、SRCK1（1621）、RXD1（1623）およびIQFLAG（1622））の信号線類も示してある。これら信号線の詳細は図15を用いて先に説明した。
まずシリアル入出力回路（SIO1）1631を用いてデータを送信する場合について説明する。はじめに、２つの16ビット幅送信データは32ビットの統合周辺データバスPD（31−０）を介して２つの16ビット幅のデータ送信用データレジスタTDRU（1629）、とTDRL（1630）に入力される。TDRU（1629）には上位16ビットPD（31−16）1608を介してTDRL（1630）には下位16ビットPD（15−０）1609を介して入力される。続いて２つの送信用データレジスタのどちらを送信するかがマルチプレクサ1628で選択される。選択された16ビット幅のデータはパラレル／シリアル変換器1627を通って１ビットデータバスTDX1（1626）上に１ビットずつ出力される。出力のサイクルやタイミングは信号線STS1（1625）とSTCK1（1624）を用いて制御回路1619がコントロールする。
次にシリアル入出力回路（SIO1）1631で受信した２つの16ビットデータ（Ｉ信号データとＱ信号データ）を32ビットバスを介して並列に転送する場合を説明する。シリアル入出力回路（SIO1）1631では受信データは（RDX1）1623から１ビットずつ入力される。入力のサイクルやタイミングは信号線SRS1（1620）とSRCK1（1621）を用いて制御回路719がコントロールする。入力されたビット列はシリアル／パラレル変換器1617を通って16ビット幅の並列データに変換され、２つの受信用データレジスタのどちらかに入力される。どちらに入力するかはマルチプレクサ（MUL）1616で選択される。マルチプレクサ（MUL）1616を切り替える制御信号はIQFLAG（1622）に基づいて制御回路719が生成する。よって例えばＩ信号データがRDRU（1614）にＱ信号データがRDRL（1615）に入力される。
２つの受信用データレジスタRDRU（1614）とRDRL（1615）に受信データが入力され、転送の準備が整うと制御回路719はDMACへの割り込み信号（INT）1618をアクティブにしてDMAC（1605）に割り込みをかける。DMACは２つの16ビット受信データを１つの32ビットデータとして扱い、32ビット幅の統合周辺データバス1608、1609と32ビット幅の内部データバス1604を介して内部メモリＸ（1601）か内部メモリＹ（1602）に転送することができる。
このように第７の実施例を用いれば16ビットのデータを１つずつ転送する場合に比べてシリアル入出力回路の転送レートを２倍にすることができ、DSP機能用の周辺回路のデータ転送が遅くなるという問題点を解決できる。
［第８の実施例：パワーアンプ制御］
次に本発明の第８の実施例を図５、図２、図17A、17B、図18、図19および図20A、20Bを用いて説明する。図２に示した従来例のGSM移動通信端末ではDSPとCPU間の通信オーバーヘッドがあり、システム構成上の効率が問題となっていた。本実施例は第１の実施例の構成ではDSP機能とCPU機能が統合されているのでこのオーバーヘッドがなく、移動通信端末システムを効率良く構成できることを示すものである。
本実施例では具体例としてRF部のパワーアンプ制御の場合をとりあげる。図５と図２に示したGSM移動通信端末では基地局からの指示に基づいてRF部のパワーアンプの出力制御をすることが義務づけられている。このパワーアンプ制御の場合、従来の構成ではDSPとCPU間の通信オーバーヘッドが頻繁に生じる。
まず、このオーバーヘッドの概略について図１および図18を用いて説明する。すでに図１を用いて移動通信システムの通信端末側の処理について説明した。
図18はこの処理が本発明と従来例でどのように実現されているかを示している。独立した２つのDSPとCPUを用いた従来例においては、ユーザインタフェース処理、システム制御および通信プロトコル処理がCPUチップで実現され、音声符号化復号化処理、通信路符号化復号化および変復調処理等がDSPチップで実現されていた。基地局とデータを送受信するためにはDSPチップで実現されている通信路符号化復号化および変復調処理を使用する必要がある。そのため通信プロトコル処理に関するデータを基地局とやり取りする必要が生じるためにたびにCPUチップはDSPチップと通信する必要があった。この通信のオーバーヘッドを図18の従来例の中に図式化してある。
また、RF部のパワーアンプの出力制御の場合、CPUチップで実行されているプロトコル処理プログラムが図２のパワーアンプPA制御用DA変換器203にアクセスする必要がある。しかし、物理的にはこのPA制御用DA変換器203はDSPチップに接続されており、やはり必要が生じるためにたびにCPUチップはDSPチップと通信する必要があった。
しかしながら、本発明ではユーザインタフェース処理、システム制御および通信プロトコル処理、音声符号化復号化処理、通信路符号化復号化および変復調処理等すべてのデジタル処理がDSP/CPU統合チップで実現されている。そのため、図18に示すようにCPUチップはDSPチップ間のオーバーヘッドが全くなく、システムを効率良く構成できる。
図20A、20Bで、このオーバーヘッドについてより詳細に説明する。図５と図２に示したGSM移動通信端末では、まず基地局からRF部のパワーアンプの出力制御の指示データが送られてくる。
図20Aの従来例では、この受信データはDSPチップに送られる。図20Aにはこれ以降の処理がフローチャートとして示してある。
まずDSPチップは受信データに復調処理、通信路復号化処理を施す。つづいてDSPチップは送られてきたデータをプロトコル処理に渡すためにCPUチップに割り込みをかける。割り込まれたCPUチップはその時、実行していたプログラムをいったん停止して内部状態を退避してDSPチップから受信データを受け取る。その後、CPUチップはプロトコル処理プログラムを実行して受信データを解読し、パワーアンプの出力制御の指示であることを知り、制御データを取り出す。そしてCPUチップはDSPチップに接続されているパワーアンプPA制御用DA変換器にアクセスするためにDSPチップに割り込みをかける。割り込まれたDSPチップはその時、実行していたプログラムをいったん停止して内部状態を退避してCPUチップからPA制御用DA変換器を駆動する指示と制御データを受け取る。そしてDSPチップがPA制御用DA変換器を内蔵するアナログフロントエンドAFE用のDSP周辺回路を駆動してパワーアンプの出力制御を行なう。以上が従来例における処理フローである。オーバーヘッドの部分を網かけで示してある。
これに対して図20Bのフローチャートで示したDSP/CPU統合チップを用いた本発明の場合このオーバーヘッドの部分は全く必要ない。これはDSP機能とCPU機能が統合されているためDSP処理とCPU処理間の通信の必要がないこととDSPとCPUの周辺回路が統合されていてCPU機能からDSP用周辺回路を直接アクセスできることによる。
次にこのCPU機能からDSP用周辺回路を直接アクセスする詳細を図17Aと図19を用いて説明する。すなわち、CPUで実行されるプロトコル処理プログラムが直接パワーアンプPA制御用DA変換器にアクセスする例を詳細に説明する。
図17Aは図５の通信端末のDSP/CPU統合チップ500とパワーアンプPA制御用DA変換器504の接合部分を拡大して関係のある所だけを示してある。DSP/CPU統合チップ1712内ではシリアル入出力回路SIO  1713、BIT  I/O回路1714および統合周辺バスが関係する。統合ベースバンドAFE  1700ではシリアルインタフェース1701、Power Ramping RAM  1703、PA制御信号用DA変換器1502が本実施例に関連する要素である。Power Ramping RAM  1703は出力波形をサンプルデータとして内蔵している。図17Aはサンプル数が６個の場合であるがもちろんいくつであっても構わない。内蔵された６個のデータで表される波形の一例1704も図15Aに示してある。統合ベースバンドAFE  1700はパワーアンプをアナログ信号であるPA制御信号でコントロールする。転送起動信号1706で指定されるタイミングでPower Ramping RAM  1703に内蔵されている出力波形がPA制御信号1705としてアナログ信号に変換、出力される。
図19に図17Aの転送起動信号1706で指定されるタイミングと要求されるパワーアンプの出力波形を示す。GSM通信システムは１フレーム（4.615ms）が８個のタイムスロット（577us）からなる時分割システムである。送信は１フレーム（８タイムスロット）中の１タイムスロット分の間起動される。よって図19のTxで示されたものが図17Aの転送起動信号1706で指定されるタイミングとなる。ちなみに図19のRxは受信のタイミングである。図19の下方に要求されるパワーアンプの出力波形を示してある。図に示したとおり、GSM通信システムではこの出力波形の振幅のみならず、立ち上がりと立ち下がりの傾き（Ramping）が厳しく規定されている。図17AのPower Ramping RAM1703はこの規定を満たすために用いられている。
さて図17Aにもどって説明を続ける。DSP/CPU統合チップ1712と統合ベースバンドAFE  1700は信号線TXD  1710、STS  1709、STCK  1708および/CTRL  1711を介して接続されている。これらの信号線のタイミングチャートを図17Bに示してある。また、図17Aの1708、1707と1706の信号は図５のシステムタイミング回路520から供給される。信号線1707はシリアルインタフェース1701を制御するのに使われる。信号線1708はデータ転送用の基本クロックであり、DSP/CPU統合チップ1712と統合ベースバンドAFE  1700の両者に供給されている。
次にPower Ramping RAM  1703にデータを書き込む場合の詳細を説明する。DSP/CPU統合チップ1712から統合ベースバンドAFE  1700にデータを転送する基本は図13A、Ｂ、図15A、Ｂで説明したものと同じである。異なる点は今回はPower Ramping RAM  1703の６つのエントリーのどれに書くかを指定するアドレスが必要なところである。そのために図17Aでは転送データ長16ビットのうち最初の10ビットがデータで後半の６ビットがアドレスとなるフォーマットを用いる。もちろんこれらの具体的なビット長は説明を明快にするため仮に設定したものであり、実際には何ビットであっても構わない。転送に使用される信号線は信号線TXD  1710、STS  1709、STCK  1708および/CTRL  1711の４本である。STCK  1708は先に述べたように図５のシステムタイミング回路520から供給されるデータ転送用の基本クロックである。ここでは16ビットのデジタルデータをこの基本クロックに同期して１ビットずつ転送している。もちろん任意のビット幅のデータを同じ図式で転送できる。TXD  1710は送信用の１ビットデータバスである。STS  1709はフレーム同期信号線であり、この信号がパルスとして出力された次のクロックから16クロックの間、TXD  1710上にデータが１ビットずつ順番に出力される。
この時のタイミングが図17Bの下方に示してある。STS  1709のパルスが出力された次のクロックから10ビットのデータD9〜D0と６ビットのアドレスA5〜A0が連続してデータの最上位ビットD9から順番に１クロックごとに１ビットずつTXD  1710上に出力されている。なお、図13A、Ｂと図15A、Ｂで説明した通常の転送モードと区別するために/CTRL  1711信号を用いる。/CTRL1711信号がアクティブの時、６ビットのアドレスで指定される統合ベースバンドAFE  1700の内部リソースに10ビットのデータが書き込まれる。Power Ramping RAM  1703の６つのエントリーにデータを書き込む場合、対応する６つのアドレスとデータをもつ６個の16ビットデータを上記の手順に従って転送すればよい。
以上、説明してきたようにパワーアンプ制御の場合には積和演算などのDSP機能を必要とする処理が全く含まれていない。にもかかわらず、従来例では単にDSP用の周辺回路をアクセスするためだけにDSPチップが割り込まれていた。本発明によればCPU機能が直接DSP用の周辺回路をアクセスできるため、このような無駄なオーバーヘッドは生じない。
［第９の実施例:ASIC回路］
次に本発明の第９の実施例を図５および図21を用いて説明する。第９の実施例は第１の実施例がベースとしているDSP/CPU統合チップに高速な専用回路を付加した場合の例である。
今までの実施例はDSP/CPU統合チップとして汎用で標準的なものを前提としていた。しかしながら、アプリケーションに特化してシステムを効率よく実現するためには高速な専用回路（ASIC回路  Application Specific Integrated Circuit）を内蔵する必要がある。本実施例では本発明の枠組みでこれを如何に構成するかについて説明する。なお、ASIC回路の例としては、図５の統合AFE  501内のAD変換器、DA変換器及びシリアルインタフェース回路等が考えられる。
図21にはDSP/CPU統合チップ内の本実施例に関連する部分及び外部メモリと外部バスを示してある。図21はDSP/CPU密結合コア2100、内部メモリＸ  2102、内部メモリＹ  2103、統合周辺バスインタフェース2116、DMAC  2101、統合外部バスインタフェース2118、統合ASICバスインタフェース2117、標準DSP周辺回路2104、標準CPU周辺回路2105およびASIC回路2106から構成されている。DSP/CPU密結合コア2100、DMAC  2101、内部メモリＸ  2102、内部メモリＹ  2103、統合周辺バスインタフェース2116、統合ASICバスインタフェース2117および統合外部バスインタフェース2118は内部アドレスバス2109と内部データバス2108を介して接続されている。標準DSP周辺回路2104と標準CPU周辺回路2105はアドレスバスPA  2110、データバスPD  2111を介して統合周辺バスインタフェース2116につながっている。
ASIC回路2106はアドレスバスAA  2112、データバスAD  2113を介して統合ASICバスインタフェース2117につながっている。外部メモリ2107はアドレスバスEA  2114、データバスED  2115を介して統合外部バスインタフェース2116につながっている。図21の構成では統合ASICバスインタフェース2117が統合周辺バスインタフェース2116と並列に内部バスに接続されている。統合ASICバスインタフェース2117は多様な周辺回路に対応する必要がなく高速で単純な構造で実現できる。場合によってはASIC回路2106を内部バスに直結することも考えられる。
このように標準的な統合周辺バスインタフェースと独立した高速で簡単な統合ASICバスインタフェースを用意することにより、高速な専用回路を内蔵することができ、アプリケーションに特化したシステムを効率よく実現することができる。
［第10実施例］
最後に本発明の第10の実施例を図３、図22、図23、および図24を用いて説明する。本実施例はDSP/CPU統合チップにおいてDSP機能で実行されるアセンブラプログラムにCPU機能で実行されるＣ言語などの高級言語からデータを効率よく渡すためのコンパイラ作成方法についてのものである。
図３に本発明がベースにしているDSP/CPU密結合コアの内部構造が示してある。先に説明したようにDSP機能実行時にはCPUコア307とDSPエンジン306が並列作動する。すなわち、CPUコア307はDSPエンジン306のアドレス演算器として働く。
図22に図３のCPUコア307の中で本実施例に関係する部分を拡大して示す。図22にCPUコア2203と３つの内部アドレスバスIA  2202、XA  2201およびYA  2200を示す。CPUコア2203の内部には16本のレジスタ2209（R0〜R15）、SFT（シフタ）2210、ALU2211、add−ALU（補助ALU）2212およびプログラムカウンタ2204が示してある。DSP機能実行時、16本のレジスタ2209のうち４つのレジスタR4、R5、R6およびR7が内部アドレスバスXA  2201およびYA  2200を介してデータアクセスに使用される。R4とR5はアドレスバスXA  2201に接続され、R6とR7はアドレスバスYA  2200に接続されている。
このCPUコアがどののうにDSPエンジンのアドレス演算器として働くかを図24を使って説明する。DSP機能の説明のためここでは単純な積和演算の例をとりあげる。図24の上方にはDSP機能で実現する積和演算のアセンブラ表現2400が示してある。図24の中央にはこの時、使用されるDSP/CPU統合チップ内のハードウエアを示す。これらはXMEM（内部メモリＸ）2413、YMEM（内部メモリＹ）2412、４つのCPUコアレジスタ（R4  2415、R5  2414、R6  2411およびR7  2410）、４つのDSPエンジンのレジスタ（X0  2416、Y0  2409、M0  2407およびA0  2405）、DSPエンジンの乗算器2408およびDSPエンジンのALU  2406である。
４つの矢印2401、2402、2403および2404は積和演算のアセンブラ表現2400の関係するハードウエアを指している。アセンブラ表現2400は並列動作を指定する４つの部分に別れていて４つの矢印2401、2402、2403および2404は、その各々に対応している。最初の部分は加算を指定しており、A0  2405の内容とM0  2407の内容を加算してA0  2405に格納する。２番目の部分は乗算を指定しており、X0  2416の内容とY0  2409の内容を乗算してM0  2407に格納する。３番目の部分は内部メモリＸからのデータの読み出しを指定しており、R5の内容をアドレスとしてXMEM（内部メモリＸ）2413をアクセスし読み出されたデータをX0に格納する。４番目の部分は内部メモリＹからのデータの読み出しを指定しており、R6の内容をアドレスとしてYMEM（内部メモリＹ）2412をアクセスし読み出されたデータをY0に格納する。
以上、説明したように本実施例においてCPUコアレジスタのうち４つは（R4  2415、R5  2414、R6  2411およびR7  2410）はDSPエンジンのアドレスポインタとして使用される。特にR4  2415とR5  2414は内部メモリＸ用のポインタとしてR6  2411とR7  2410は内部メモリＹ用のポインタとして並列アクセスに使用される。
次に図23に図24で示したアセンブラプログラムをＣ言語からコールすることを考える。図23ではこのアセンブラプログラムはmac_sssという名前で呼ばれている。図23のプログラムは要素数４つの２つの配列の積和をとる簡単なものである。この例を初めとするDSPプログラムでは引き数として積和を実行したい配列の先頭アドレスを引き数として渡すのが自然である。そこでコンパイラの引き数渡しのやり方として関数の最初の４つの引き数をDSPエンジンのアドレスポインタとして使用される４つのCPUコアレジスタに割り付けることが有効である。これにより図23の例では積和をとる２つの配列の先頭アドレスがR5とR6に渡されることになる。図24から明らかなようにR5とR6はそれぞれＸ、Ｙポインタとしてメモリの並列アクセスに直ちに利用することができ、効率がよい。
このように関数の最初の４つの引き数をDSPエンジンのアドレスポインタとして使用される４つのCPUコアレジスタに割り付けるという高級言語コンパイラ向けレジスタ割付方法により、引き数を受け取ったアセンブラプログラムは効率よくDSP機能を実行できる。
以上本発明者によってなされた発明を実施例に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種種変更可能であることは言うまでもない。また、各実施例を組み合わせ又は置き換えることも可能である。
産業上の利用可能性
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、DSP機能とCPU機能のメモリシステムと周辺回路を統合化して低コスト、低消費電力、小サイズの移動通信端末システムを実現できるという利点がある。
また、共有化されている内部メモリと外部メモリをDSP機能とCPU機能間で任意に分配できるという柔軟性があるため、搭載されたメモリを無駄なく効率良く利用できる。
さらにDSP機能とCPU機能間の通信に余分なオーバーヘッドがなくなるので移動通信端末システムを効率良く構成できる。
【図１０Ｂ】
0003621423.tif 000002
【図１】
0003621423.tif 000003
【図２】
0003621423.tif 000004
【図３】
0003621423.tif 000005
【図４】
0003621423.tif 000006
【図５】
0003621423.tif 000007
【図６】
0003621423.tif 000008
【図７】
0003621423.tif 000009
【図８】
0003621423.tif 000010
【図９】
0003621423.tif 000011
【図１０Ａ】
0003621423.tif 000012
【図１１】
0003621423.tif 000013
【図１２Ａ】
0003621423.tif 000014
【図１２Ｂ】
0003621423.tif 000015
【図１２Ｃ】
0003621423.tif 000016
【図１３Ｂ】
0003621423.tif 000017
【図１３Ａ】
0003621423.tif 000018
【図１４】
0003621423.tif 000019
【図１５Ａ】
0003621423.tif 000020
【図１５Ｂ】
0003621423.tif 000021
【図１７Ｂ】
0003621423.tif 000022
【図１６】
0003621423.tif 000023
【図１７Ａ】
0003621423.tif 000024
【図１８】
0003621423.tif 000025
【図１９】
0003621423.tif 000026
【図２０Ａ】
0003621423.tif 000027
【図２０Ｂ】
0003621423.tif 000028
【図２１】
0003621423.tif 000029
【図２２】
0003621423.tif 000030
【図２３】
0003621423.tif 000031
【図２４】
0003621423.tif 000032