明 細 書
CPU接続回路、データ処理装置、演算装置及びこれらを用いた携帯通 信端末並びにデータ転送方法
技術分野
[0001] 本発明は、二つの CPUがそれらの間に設けられた二つのバッファを交互に切り換 えて用いるための回路及び方法並びにその回路を用いた携帯通信端末に関し、特 に、 HSDPA(High Speed Downlink Packet Access)通信対応の通信用 CPUとアプリ ケーシヨン用 CPUとの接続回路及び方法並びに携帯通信端末に関する。
背景技術
[0002] 従来、 CPUを二つ備え、これらの CPU間でデータを送受信しつつ所定の処理を実 行する情報処理装置が実用化されて!/、る。
例えば、通信用とアプリケーション用との二つの CPUを備え、通信用 CPU (CCPU
)で復調されたデータをアプリケーション用 CPU (ACPU)で処理することで、通信を 伴う任意のアプリケーションを実行する携帯通信端末が知られている。
[0003] 通信用とアプリケーション用との二つの CPUを備えた移動体通信端末に関連する 技術としては、特許文献 1に開示される「複数 CPU構成の通信機能付き携帯端末お よびその制御方法」がある。
[0004] しかし、データ転送レートの高い通信方式 (例えば HSDPA)を採用すると、 CCPU から ACPUへ転送すべきデータ量が増大し、通信中の高負荷時に(特に、マルチタ スク処理でアプリケーションを動かしているときに)、 ACPU側でデータ処理が間に合 わなくなる場合があった。
[0005] これは、パケット通信では 1パケット全体を受信しないと、そのパケットを処理できな いためである。特に、 HSDPAのようなデータ転送レートの高い通信方式では、単位 時間当たりに処理する必要のあるパケット量が多くなるため、上記のことが特に問題と なる。
[0006] ここで例に挙げた移動体通信端末に限らず、一般的に、二つの CPUを協働させる 情報処理装置において両方の CPUのデータ処理速度が同じとなることはほとんどな
い。よって、データの流れの上流側の CPUのデータ処理の方が遅いならば、下流側 の CPUがデータの受信待ちをするだけで正常にデータを処理できる力 s、下流側の C
PUのデータ処理の方が遅いならば、上流側の CPUが出力するデータを処理しきれ なくなり、バッファオーバーランが発生してしまう。
特許文献 1 :特開 2005— 142981号公報
発明の開示
発明が解決しょうとする課題
[0007] 本発明は力、かる問題に鑑みてなされたものであり、二つの CPUがそれらの間に設 けられた二つのバッファを交互に切り換えて用いる回路であって、受け側の CPUの データ処理が追いつかなくなることを防ぐ CPU接続回路、データ処理装置、演算装 置及びこれらを用いた携帯通信端末並びにデータ転送方法を提供することを目的と する。
課題を解決するための手段
[0008] 上記目的を達成するため、本発明は、第 1の態様として、二つのバッファを含み、二 つの CPUの間に接続されて、一方の CPUから他方の CPUへのデータ転送を中継 する CPU接続回路であって、バッファの!/、ずれか一方に送信側の CPUによって蓄 積されたデータ量が所定の閾値に達したか否力、を監視する手段と、送信側の CPU によってバッファに蓄積されたデータ量が閾値に達した場合に、受信側の CPUにバ ッファに蓄積されているデータの引き取りを要求するとともに、送信側の CPUからの データの蓄積先を他方のバッファに変更する手段とを有し、閾値は、送信側の CPU 力 Sバッファへ送信するデータの単位量よりも大きい値であることを特徴とする CPU接 続回路を提供するものである。
[0009] 本発明の第 1の態様においては、バッファと送信側の CPUとがシリアル伝送路を介 して接続されること力好ましい。また、ノ ッファと受信側の CPUとがパラレル伝送路を 介して接続されること力好ましレヽ。
[0010] 本発明の第 1の態様の上記のいずれの構成においても、受信側の CPUから入力さ れる制御信号に応じて閾値を動的に設定する手段をさらに含むことが好ましい。また
、送信側の CPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄積され
受信側の CPUに引き取られずに残っているデータが切り替え後のバッファに存在す る場合には、少なくとも受信側の CPUに対してオーバーラン信号を出力することが好 ましい。また、送信側の CPUからバッファへのデータ転送速度よりも、受信側の CPU が前記バッファからデータを引き取る速度の方が高速であることが好ましい。また、送 信側の CPUがバッファへ送信するデータはパケットデータであることが好ましい。
[0011] また、上記目的を達成するため、本発明は、第 2の態様として、二つの CPUの間に 接続され、データ伝送方向ごとに二つずつ含むバッファを用いて、各 CPU同士のデ ータ転送を中継する CPU接続回路であって、各データ伝送方向について、上流側 の CPUによってバッファのいずれか一方に蓄積されたデータ量が所定の閾値に達し たか否かを監視する手段と、上流側の CPUによってバッファに蓄積されたデータ量 が閾値に達した場合に、下流側の CPUにバッファに蓄積されているデータの引き取 りを要求するとともに、上流側の CPUからのデータの蓄積先を他方のバッファに変更 する手段とを有し、閾値は、上流側の CPUがバッファへ送信するデータの単位量より も大きい値であることを特徴とする CPU接続回路を提供するものである。
[0012] また、上記目的を達成するため、本発明は、第 3の態様として、二つのバッファを含 み、二つの CPUの間に接続されて、各 CPU同士のデータ転送を中継する CPU接 続回路であって、バッファの!/、ずれか一方に上流側の CPUによって蓄積されたデー タ量が所定の閾値に達した否かを監視する手段と、上流側の CPUによってバッファ に蓄積されたデータ量が閾値に達した場合に、下流側の CPUにバッファに蓄積され ているデータの引き取りを要求するとともに、上流側の CPUからのデータの蓄積先を 他方のバッファに変更する手段とを有し、閾値は、各 CPUがバッファへ送信するデ ータの単位量よりも大きい値であり、上流側の CPUからバッファへのデータ転送速度 よりも、下流側の CPUがバッファからデータを引き取る速度の方が高速であることを 特徴とする CPU接続回路を提供するものである。
[0013] 本発明の第 3の態様においては、二つの CPUの双方がバッファにデータを転送し ようとする場合に、いずれの CPUを上流側とするかの優先順位が予め設定されてい ることが好ましい。
[0014] 本発明の第 2又は第 3の態様の上記のいずれの構成においても、それぞれの伝送
方向について下流側の CPUから入力される制御信号に応じて閾値を動的に設定す る手段をさらに含むことが好ましい。また、上流側の CPUがデータの蓄積先とするバ ッファを切り換える際に、以前に蓄積され下流側の CPUに引き取られずに残ってい るデータが切り替え後のバッファに存在する場合には、少なくとも下流側の CPUに対 してオーバーラン信号を出力することが好ましい。また、上流側の CPUからバッファ へのデータ転送速度よりも、下流側の CPUがバッファからデータを引き取る速度の方 が高速であることが好ましい。また、上流側の CPUがバッファへ送信するデータはパ ケットデータであることが好ましレ、。
[0015] また、上記目的を達成するため、本発明は、第 4の態様として、送信側の CPUから 二つのバッファを含む受信側の CPUへとデータを転送して処理するデータ処理装置 であって、バッファの!/、ずれか一方に送信側の CPUによって蓄積されたデータ量が 所定の閾値に達したか否かを監視する手段と、送信側の CPUによってバッファに蓄 積されたデータ量が閾値に達した場合に、受信側の CPUの演算処理手段にバッフ ァに蓄積されているデータの引き取りを要求するとともに、送信側の CPUからのデー タの蓄積先を他方のバッファに変更する手段とを有し、閾値は、送信側の CPUがバ ッファへ送信するデータの単位量よりも大きい値であることを特徴とするデータ処理 装置を提供するものである。
[0016] 本発明の第 4の態様においては、バッファと送信側の CPUとがシリアル伝送路を介 して接続されること力好ましい。また、ノ ッファと演算処理手段とがパラレル伝送路を 介して接続されること力好ましい。また、演算処理手段が出力する制御信号に応じて 閾値を動的に設定する手段をさらに含むことが好ましい。
[0017] 本発明の第 4の態様の上記のいずれの構成においても、送信側の CPUがデータ の蓄積先とするバッファを切り換える際に、以前に蓄積され演算処理手段に引き取ら れずに残っているデータが切り替え後のバッファに存在する場合には、少なくとも演 算処理手段に対してオーバーラン信号を出力することが好ましい。また、送信側の C PUからバッファへのデータ転送速度よりも、受信側の CPUの演算処理手段がバッフ ァからデータを引き取る速度の方が高速であることが好ましい。また、送信側の CPU が前記バッファへ送信するデータはパケットデータであることが好ましい。
[0018] また、上記目的を達成するため、本発明は、第 5の態様として、他の CPUとデータ 伝送路を介して接続された二つのバッファと、他の CPUから転送されてバッファの!/ヽ ずれか一方に蓄積されたデータ量が所定の閾値に達したか否かを監視する手段と、 他の CPUによってバッファに蓄積されたデータ量が閾値に達した場合に、バッファに 蓄積されてレ、るデータの弓 Iき取りを演算処理手段に要求するとともに、他の CPUから のデータの蓄積先を他方のバッファに変更する手段とを有し、閾値は、他の CPUが ノ ッファへ送信するデータの単位量よりも大きい値であることを特徴とする演算装置 を提供するものである。
[0019] 本発明の第 5の態様においては、閾値は、演算処理手段からの制御信号に応じて 動的に設定されることが好ましい。また、他の CPUから転送されてきたデータの蓄積 先とするバッファを切り換える際に、以前に蓄積され演算処理手段に引き取られずに 残っているデータが切り替え後のバッファに存在する場合には、演算処理手段に対 してオーバーラン信号を出力することが好ましい。また、他の CPUからバッファへの データ転送速度よりも、演算処理手段がバッファからデータを引き取る速度の方が高 速であることが好ましい。また、他の CPUによってバッファへ蓄積されるデータはパケ ットデータであることが好ましレ、。
[0020] また、上記目的を達成するため、本発明は、第 6の態様として、バッファを二つ備え 二つの CPUの間に接続された CPU接続回路を用いたデータ転送方法であって、バ ッファに、送信側の CPUがバッファへ送信するデータの単位量よりも大きい値をデー タ蓄積量の閾値として設定し、バッファの一方に送信側の CPUによって蓄積された データ量が閾値に達したか否力、を監視し、送信側の CPUによって蓄積されたデータ 量が閾値に達した場合に、受信側の CPUにデータの引き取りを要求するとともに、 送信側の CPUからのデータの蓄積先を他方のバッファに変更することを特徴とする CPU接続方法を提供するものである。
[0021] 本発明の第 6の態様においては、閾値を、受信側の CPUから入力される制御信号 に応じて動的に設定することが好ましい。また、送信側の CPUがデータの蓄積先と するバッファを切り換える際に、以前に蓄積され受信側の CPUに引き取られずに残 つているデータが切り替え後のバッファに存在する場合には、少なくとも受信側の CP
Uに対してオーバーラン信号を出力することが好ましい。また、送信側の CPUからバ ッファへのデータ転送速度よりも、受信側の CPUがバッファからデータを引き取る速 度の方が高速となるように二つの CPUを接続することが好まし!/、。
[0022] また、上記目的を達成するため、本発明は、第 7の態様として、二つのバッファ及び 演算処理手段を備えた受信側の CPUと送信側の CPUとを接続し、バッファに、送信 側の CPUがバッファへ送信するデータの単位量よりも大きい値をデータ蓄積量の閾 値として設定し、バッファの一方に、送信側の CPUによって蓄積されたデータ量が閾 値に達したか否かを監視し、送信側の CPUによって蓄積されたデータ量が閾値に達 した場合に、演算処理手段にデータの引き取りを要求するとともに、送信側の CPU 力、らのデータの蓄積先を他方のバッファに変更することを特徴とするデータ転送方法 を提供するものである。
[0023] 本発明の第 7の態様においては、閾値は、演算処理手段が出力する制御信号に応 じて動的に設定されること力 S好ましい。また、送信側の CPUから転送されてきたデー タの蓄積先とするバッファを切り換える際に、以前に蓄積され演算処理手段に引き取 られずに残っているデータが切り替え後のバッファに存在する場合には、演算処理 手段に対してオーバーラン信号を出力することが好ましい。また、送信側の CPUから ノ ッファへのデータ転送速度よりも、演算処理手段が前記バッファからデータを引き 取る速度の方が高速となるように受信側の CPUと送信側の CPUとを接続することが 好ましい。
[0024] 本発明の第 6の態様又は第 7の態様の上記のいずれの構成においても、送信側の CPUからバッファへパケットデータを送信することが好ましい。
[0025] また、上記目的を達成するため、本発明は、第 8の態様として、二つの CPUの間に 接続され、データ伝送方向ごとに二つずつのバッファを備えた CPU接続回路を用い たデータ転送方法であって、各データ伝送方向について、バッファに、上流側の CP Uがバッファへ送信するデータの単位量よりも大きい値をデータ蓄積量の閾値として 設定し、バッファの一方に上流側の CPUによって蓄積されたデータ量が閾値に達し たか否力、を監視し、上流側の CPUによって蓄積されたデータ量が閾値に達した場合 に、下流側の CPUにデータの引き取りを要求するとともに、上流側の CPUからのデ
ータの蓄積先を他方のバッファに変更することを特徴とするデータ転送方法を提供 するものである。
[0026] また、上記目的を達成するため、本発明は、第 9の態様として、二つのバッファを備 え、二つの CPUの間に接続された CPU接続回路を用いたデータ転送方法であって 、二つの CPUの双方がバッファにデータを転送しょうとする場合に、いずれの CPU を上流側とするかの優先順位を予め設定し、各データ伝送方向について、バッファ に、上流側の CPUがバッファへ送信するデータの単位量よりも大き!/、値をデータ蓄 積量の閾値として設定し、バッファの一方に、上流側の CPUによって蓄積されたデ ータ量が閾値に達したか否かを監視し、上流側の CPUによって蓄積されたデータ量 が閾値に達した場合に、下流側の CPUにデータの引き取りを要求するとともに、上 流側の CPUからのデータの蓄積先を他方のバッファに変更することを特徴とするデ ータ転送方法を提供するものである。
[0027] 本発明の第 8又は第 9の態様においては、閾値を、それぞれの伝送方向について 下流側の CPUから入力される制御信号に応じて動的に設定することが好ましい。ま た、上流側の CPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄積さ れ下流側の CPUに引き取られずに残っているデータが切り替え後のバッファに存在 する場合には、少なくとも下流側の CPUに対してオーバーラン信号を出力することが 好ましい。また、各データ伝送方向について、上流側の CPUからバッファへのデータ 転送速度よりも、下流側の CPUがバッファからデータを引き取る速度の方が高速とな るように二つの CPUを接続することが好ましい。また、各データ伝送方向について、 上流側の CPUからバッファへパケットデータを送信することが好ましい。
[0028] また、上記目的を達成するため、本発明は、第 10の態様として、通信用の CPUとァ プリケーシヨン処理用との二つの CPUを有し、通信用 CPUから前記アプリケーション 用 CPUへのデータ伝送路に上記本発明の第 1、第 2又は第 3の態様のいずれかの 構成に力、かる CPU接続回路が設置されたことを特徴とする携帯通信端末を提供す るものである。
[0029] また、上記目的を達成するため、本発明は、第 11の態様として、通信用の CPUとァ プリケーシヨン処理用との二つの CPUを有し、通信用 CPUが送信側の CPU、アプリ
ケーシヨン処理用の CPUが受信側の CPUとなって上記本発明の第 4の態様のいず れかの構成に力、かるデータ処理装置を形成していることを特徴とする携帯通信端末 を提供するものである。
[0030] また、上記目的を達成するため、本発明は、第 12の態様として、通信用の CPUとァ プリケーシヨン処理用との二つの CPUを有し、アプリケーション処理用の CPUとして 上記本発明の第 5の態様のいずれかの構成にかかる演算装置が適用されていること を特徴とする携帯通信端末を提供するものである。
発明の効果
[0031] 本発明によれば、二つの CPUが各 CPU間に設けられた二つのバッファを交互に 切り換えて用いる回路であって、受け側の CPUのデータ処理が追いつかなくなること を防ぐ CPU接続回路、データ処理装置、演算装置及びこれらを用いた携帯通信端 末並びにデータ転送方法を提供できる。
発明を実施するための最良の形態
[0032] 〔発明の原理〕
以下の説明では、二つの CPUが通信用及びアプリケーション用である場合を例と する力 これ以外の処理を目的とした CPUであっても同様である。
図 1に、二つの CPUとバッファリング ICとの接続状態を示す。
通信用 CPU (CCPU) 1とアプリケーション用 CPU (ACPU) 2との間のデータ転送 において、二つのバッファとこれらのいずれをデータライト用とするかを交互に切り換 えるスィッチとを有する回路が形成されたバッファリング IC3を二つの CPUの間に設 。
[0033] 各 CPUとバッファリング IC3とは、バッファリング IC3力、ら ACPU2へのデータ転送速 度力 CCPU1からバッファリング IC3へのデータ転送速度よりも高速となるように接 続することが好ましい。ここでは、 CCPU1とバッファリング IC3とをシリアル IF接続、バ ッファリング IC3と ACPU2とをバス IF接続とすることで、上記条件を実現しているが、 この他の接続方法であっても良い。
[0034] 二つのバッファのうちの一方(データライト用となっている方)の蓄積データ量が設 定値に達すると、 CCPU1から転送されてくるデータの蓄積先のバッファ(データライ
ト用のバッファ)を他方へと切り換える。なお、設定値はバッファリング IC3に設定がな され、蓄積データ量の判断もバッファリング IC3が行う。
[0035] データライト用のバッファを切り換えたのち、バッファリング IC3は、データ引取要求 を ACPU2へ出力する。 ACPUは 2は、バッファリング IC3からのデータ引取要求を 受け取ると、 DMA(Direct Memory Access)で切り替え前にデータライト用だつ たバッファにデータを取りに行く。この際、バッファリング IC3のバッファは ACPU2か らはメモリとして見えているため、メモリ上のデータを読みに行くのと同様の動作を行う
[0036] 再びバッファの蓄積データ量が設定値に達すると、バッファリング IC3は、データラ イト用のバッファをもう一方 (最初にデータライト用だった方)に切り替えて同様にデー タを蓄積するとともに、データ引取要求を ACPU2へ出力し、同様の動作を繰り返す
[0037] なお、 CCPU1は、バッファリング IC3の存在を認識してはおらず、単にデータを出 力するのみである。
[0038] 上記動作を行うことにより、バッファリング IC3からのデータ引取要求を受けてすぐに ACPU2がデータを引き取れなくても、データ損失が発生することはない。これにより 、 ACPU2のデータ処理が追!/、つかなくなることを防止できる。
[0039] なお、設定値は ACPU2が実行するアプリケーションに応じて任意に設定可能であ る。設定値を大きくした場合には、 ACPU2のデータ引き取りの遅れによるデータ損 失防止の効果が大きくなるが、 ACPU2でのデータ処理に遅延が生じる。逆に、設定 値を小さくした場合には、 ACPU2のデータ引き取りの遅れによるデータ損失防止の 効果は小さくなる力 ACPU2でのデータ処理がリアルタイムに近くなる。よって、 AC PU2が実行するアプリケーションの種類に応じて設定値を定め、データ損失防止の 効果とデータ処理のリアルタイム性とのバランスを調整すればよい。
[0040] また、設定値は必ずしも二つのバッファに共通の値である必要はなぐそれぞれの ノ ッファに異なる値を設定しても良い。さらに、設定値はバッファの一部のみを使用 する値に限定されることはなぐノ ッファ全体を使用することを妨げない。例えば、 Xバ イトのバッファに対して Xバイトと!/、う設定値を設定してもよ!/、。
[0041] 設定値は、高く設定するとバッファあふれ防止効果が大きくなるとともに ACPUの動 作率を低くできるが (ACPUがデータを一度にまとめてバッファから引き取れるため) 、バッファにある程度データがたまるまで ACPU側にデータが引き取られないため、 遅延が発生する。よって、 目的に応じて、バッファあふれ防止効果とデータ遅延量と のバランスが最適となるように設定すればよい。
例えば、 CCPUと ACPUとでパケットデータをやりとりする場合には、 1パケット分の 容量をバッファの設定値とすると良い。これは、パケットデータの場合には、 1パケット 分のデータが揃って始めてアプリケーションでの処理が可能となる(換言すると、 1パ ケットに満たないデータサイズごとに ACPUがバッファからデータを引き取ったとして も、 ACPUは引き取ったデータを処理できず、 1パケット分のデータが揃った段階で 処理することとなる。)ためである。
[0042] ただし、両方のバッファの設定値が CCPU1から入力されるデータの単位量と同じ であると、 ACPU2のデータ引き取りの遅れが即バッファあふれにつながることとなる 。このため、どちらかのバッファの設定 は少なくとも CCPU1から入力されるデータ の単位量よりも大きく設定する必要がある。
具体例を挙げると、 CCPU1が 1バイト単位でデータを処理(バッファリング IC3へ入 力)する場合、両方のバッファの設定値がともに 1バイトであると、 ACPU2のデータ引 き取りが遅れたとたんにバッファあふれが発生してしまい、データ損失防止効果が得 られない。この場合には、どちらかのバッファの設定値を 2バイト以上とすることでデー タ損失防止の効果が得られる。
[0043] ノ ッファの容量は、大き!/、分には動作上に不都合はな!/、。ただし、容量の大きレ、バ ッファはコストが高くサイズも大きいため、バッファのごく一部し力、使用しないような設 定値を設定すると、製造コストなどの点では不利となる。
一方、バッファの容量が少なすぎると、ノ ッファの全容量を使用するように設定値を 設定してもバッファあふれの効果が十分に得られない可能性が生じる。このため、 C CPUから送られるデータのサイズや ACPUのデータ処理能力に応じて、バッファあ ふれ防止効果を得るのに十分な容量を備えたバッファを適用することが好ましい。
[0044] 以下、上記原理に基づく本発明の好適な実施の形態について説明する。
[0045] 〔第 1の実施例〕
本発明を好適に実施した第 1の実施例について説明する。本実施例にかかるデー タ処理装置は、図 1に示したように、通信用 CPU (CCPU) 1とアプリケーション用 CP U (ACPU) 2との間に、二つのバッファとこれらを交互に切り換えるスィッチとを有す る回路が形成されたバッファリング IC3が設置された構成である。
[0046] 図 2に、バッファリング IC3内部の構成を示す。バッファリング IC3の内部には CPU 接続回路が形成されてレ、る。
ノ ッファリング IC3は、 2面分のデータを格納できるバッファを有する。これらのうち、 一面は CCPU1からのデータライト用として使用され、もう一面は ACPU2によるデー タリーダ用として使用される。これらは、交互に切り換えて使用される。
[0047] また、バッファリング IC3内のメモリコントローラ 301により、一面分のバッファに蓄積 可能なデータ量が任意に設定されてレ、る。
[0048] ノ ッファリング IC3から ACPU2に対するデータの引取要求には、「データ引取要求 信号」が用いられる。この信号は、 ACPU2からのデータリード用バッファが読み出し 可能な条件を満たしたタイミング(データライト用からデータリード用に切り替わったタ イミング)でアサートし、 ACPU2によりバッファ内の前データが読み出されたタイミン グでネゲートする。
[0049] また、バッファリング IC3は、両方のバッファにデータが格納された状態で、さらに C
CPU1からのデータを受信した場合、オーバラン割り込み信号 (O. V. R)を生成し、 データ損失が生じたことを ACPU2側に通知可能である。
[0050] ACPU2は、割り込み検出時、各システムに適したエラー処理を行う。
[0051] さらに、バッファリング IC3は ACPU2から制御可能なフロー制御信号の機能を有す る。本信号を制御することにより、 CCPU1に対しデータ再送を通知できる。
[0052] 図 3に、バッファリング IC3の動作の流れを示す。ここで、初期状態ではバッファ 302 がデータライト用、バッファ 303がデータリード用であるとする。
CCPU1からのデータ受信すると、メモリコントローラ 301は、データライト用のバッフ ァ(バッファ 302)に前回蓄積したデータが残っているか否かを確認する(ステップ S 1
01)。データが残っているならば、オーバーラン処理を行う。
[0053] データライト用のバッファにデータが残っていなければ(ステップ S101/Yes)、 CC PU1から受信したデータをデータライト用のバッファに蓄積し、データライト用バッフ ァのデータ蓄積量が設定値に達したか否かを確認する(ステップ S102)。
[0054] データライト用のバッファのデータ蓄積量が設定値に達していなければ (ステップ S 102/No)、メモリコントローラ 301は設定値に達するまで CCPU1から受信したデー タをデータライト用バッファに蓄積する。
[0055] データライト用バッファのデータ蓄積量が設定値に達したら(ステップ S102/Yes) 、メモリコントローラ 301は、データライト用のバッファをバッファ 302からバッファ 303 へと切り換える(ステップ S103)。そして、メモリコントローラ 301は、バッファ 302に蓄 積されてレ、るデータの弓 I取要求を ACPU2へ送信する(ステップ S 104)。
[0056] メモリコントローラ 301は、データライト用に切り換えたバッファ 303に前回蓄積され て!/、たデータが残って!/、るか否かを確認する(ステップ S 101)。データが残って!/、る ならば、オーバーラン処理を行う。
[0057] データライト用のバッファにデータが残っていなければ(ステップ S101/Yes)、 CC PU1から受信したデータをデータライト用のバッファに蓄積し、データライト用のバッ ファのデータ蓄積量が設定値に達したか否かを確認する(ステップ S102)。
[0058] データライト用のバッファのデータ蓄積量が設定値に達していなければ (ステップ S 102/No)、メモリコントローラ 301は設定値に達するまで CCPU1から受信したデー タをデータライト用バッファに蓄積する。
[0059] データライト用バッファのデータ蓄積量が設定値に達したら(ステップ S102/Yes) 、メモリコントローラ 301は、データライト用のバッファをバッファ 303からバッファ 302 へと切り換える(ステップ S103)。そして、メモリコントローラ 301は、バッファ 303に蓄 積されてレ、るデータの弓 I取要求を ACPU2へ送信する(ステップ S 104)。
[0060] 以降、 CCPU1からのデータを受信している間、上記同様の処理を繰り返す。
[0061] 図 4に、バッファリング IC3を用いた CPU間のデータ転送動作の一例を示す。
ここで、 CCPU1からバッファリング IC3へのデータ転送速度と、ノ ッファリング IC3 力、ら ACPU2へのデータ転送速度との比を 1: 4であるとする。
[0062] 時刻 tOにおいて、 CCPU1からバッファリング IC3へデータが入力され始める。メモ
リコントローラ 301は、入力されたデータをバッファ 302に蓄積する。
[0063] 時刻 tlにお!/、て、バッファ 302のデータ蓄積量が設定値に達する。メモリコントロー ラ 301は、データライト用のバッファをバッファ 303へと切り換えるとともに、バッファ 30
2に蓄積されているデータの引取要求信号をアサートし ACPU2へ出力する。
[0064] 時刻 t2において、バッファ 302に蓄積されていたデータの ACPU2への引き取りが 完了し、データ引取要求信号がネゲートする。
[0065] 時刻 t3において、バッファ 303のデータ蓄積量が設定値に達すると、メモリコント口 ーラ 301は、データライト用のバッファをバッファ 302へと切り換えるとともに、バッファ
303に蓄積されているデータの引取要求信号をアサートし ACPU2へ出力する。
[0066] 時刻 t4において、バッファ 302に蓄積されていたデータの ACPU2への引き取りが 完了し、データ引取要求信号がネゲートする。
[0067] 以降同様の処理が繰り返され、時刻 t8においてデータ引取要求信号がネゲートす ることで CCPU1から ACPU2へのデータの転送が完了する。
[0068] 図 5に、バッファリング IC3を用いた CPU間のデータ転送動作の別の一例を示す。
上記同様に、 CCPU1からバッファリング IC3へのデータ転送速度と、バッファリング
IC3から ACPU2へのデータ転送速度との比を 1: 4であるとする。
[0069] 時刻 tOにおいて、 CCPU1からバッファリング IC3へデータが入力され始める。メモ リコントローラ 301は、入力されたデータをバッファ 301に蓄積する。
[0070] 時刻 tlにお!/、て、バッファ 302のデータ蓄積量が設定値に達する。メモリコントロー ラ 301は、データライト用のバッファをバッファ 303へと切り換えるとともに、バッファ 30
2に蓄積されているデータの引取要求信号をアサートし ACPU2へ出力する。
[0071] 時刻 t2において、バッファ 302に蓄積されていたデータの ACPU2への引き取りが 完了し、データ引取要求信号がネゲートする。
[0072] 時刻 t3において、バッファ 303のデータ蓄積量が設定値に達すると、メモリコント口 ーラ 301は、データライト用のバッファをバッファ 302へと切り換えるとともに、バッファ
303に蓄積されているデータの引取要求信号をアサートし ACPU2へ出力する。ここ で ACPU2はビジー状態にあり、データの弓 I取要求を受けても即座にはデータの弓 I き取りを開始できていない。
[0073] 時刻 t41において、 ACPU2はバッファ 303に蓄積されているデータの引き取りを 開始する。なお、時刻 t3から時刻 t41までの間隔 (T )は、ノ ッファのデータ蓄積量が
3
設定値に達するまでの時間 (T )と ACPU2がバッファからデータを引き取るのに要 する時間 (T )との差 (T -T )よりも短い (ここでは、蓄積所要時間 T =4a、引き取り
2 1 2 1
所要時間が T =a、遅延時間 T = 2a)ものとする。
2 3
[0074] 時刻 t42において、バッファ 303に蓄積されていたデータの ACPU2への引き取り が完了し、データ引取要求信号がネゲートする。
[0075] 時刻 t5において、バッファ 302のデータ蓄積量が設定値に達する。メモリコントロー ラ 301は、データライト用のバッファをバッファ 303へと切り換えるとともに、バッファ 30
2に蓄積されているデータの引取要求信号をアサートし ACPU2へ出力する。
[0076] 時刻 t6において、バッファ 302に蓄積されていたデータの ACPU2への引き取りが 完了し、データ引取要求信号がネゲートする。
[0077] 以降同様の処理が繰り返され、時刻 t8においてデータ引取要求信号がネゲートす ることで CCPU1から ACPU2へのデータの転送が完了する。
[0078] 図 6に、バッファリング IC3を用いた CPU間のデータ転送動作のさらに別の一例を 示す。
上記同様に、 CCPU1からバッファリング IC3へのデータ転送速度と、バッファリング IC3から ACPU2へのデータ転送速度との比を 1: 4であるとする。
[0079] 時刻 tOにおいて、 CCPU1からバッファリング IC3へデータが入力され始める。メモ リコントローラ 301は、入力されたデータをバッファ 301に蓄積する。
[0080] 時刻 tlにお!/、て、バッファ 302のデータ蓄積量が設定値に達する。メモリコントロー ラ 301は、データライト用のバッファをバッファ 303へと切り換えるとともに、バッファ 30 2に蓄積されているデータの引取要求信号をアサートし ACPU2へ出力する。
[0081] 時刻 t2において、バッファ 302に蓄積されていたデータの ACPU2への引き取りが 完了し、データ引取要求信号がネゲートする。
[0082] 時刻 t3において、バッファ 303のデータ蓄積量が設定値に達すると、メモリコント口 ーラ 301は、データライト用のバッファをバッファ 302へと切り換えるとともに、バッファ 303に蓄積されているデータの引取要求信号をアサートし ACPU2へ出力する。ここ
で ACPU2はビジー状態にあり、データの弓 |取要求を受けても即座にはデータの弓 I き取りを開始できていない。
[0083] 時刻 t43において、 ACPU2はバッファ 303に蓄積されているデータの引き取りを 開始する。なお、時刻 t3から時刻 t43までの間隔 Tは、ノ ッファのデータ蓄積量が設
3
定値に達するまでの時間 (T )と ACPU2がバッファからデータを引き取るのに要する 時間 (T )との差 (T— T )よりも長い(蓄積所要時間 T =4a、引き取り所要時間 T =
2 1 2 1 2 a、遅延時間 T = 3. 3a)ものとする。
3
[0084] 時刻 t44において、バッファ 302のデータ蓄積量が設定値に達する。メモリコント口 ーラ 301は、データライト用のバッファをバッファ 303へと切り換えようとする力 この時 点ではバッファ 303に蓄積されているデータの ACPU2への引き取りが完了していな い。よって、メモリコントローラ 301は、オーバーラン割り込み信号(〇· V. R)を生成し 、データ損失が生じたことを ACPU2側に通知する。
[0085] 上記の例から明らかなように、 ACPU2のデータ引き取りの遅延時間 T 1 ノ ッファ
3 のデータ蓄積量が設定値に達するまでの時間 (T )と ACPU2がバッファからデータ を引き取るのに要する時間 (T )との差 (T -T )よりも短ければ、バッファあふれによ
2 1 2
るデータ損失の発生を防止できる。
[0086] このように、本実施例に力、かる CPU接続回路によれば、 ACPU— CCPU間のシリ アル転送速度を、 CCPUの平均処理速度に見合う速度に向上できる。
[0087] 〔第 2の実施例〕
本発明を好適に実施した第 2の実施例について説明する。
本実施例にかかるデータ処理装置は、第 1の実施例と同様に、 CCPU1と ACPU2 との間にバッファリング IC31が接続された構成である。ただし、図 7に示すように、本 実施例においては、バッファリング IC31 (メモリコントローラ 311)には ACPU2からァ プリケーシヨン通知信号が入力される。
[0088] アプリケーション通知信号は、 ACPU2が、どのアプリケーションを実行するのかを 特定する情報である。
[0089] ACPU2において CCPU1とのデータの授受を伴うアプリケーションが起動されると 、 ACPU2はバッファリング IC31に対してアプリケーション通知信号を出力する。
ノ ッファリング IC3がアプリケーション通知信号を受信すると、メモリコントローラ 311 は、起動されたアプリケーションが CCPU1からのデータを受信するために最適となる 閾値をバッファ 312, 313に設定する。
[0090] このように、 ACPU2が実行するアプリケーションの種類に応じて、ノ ッファ 312、 31
3に設定する閾値を変化させることにより、アプリケーションの種類に応じて最適な条 件(データ損失の発生を抑え、かつ ACPU側の引取遅延が生じにくい)で CCPU1 力、ら ACPU2へのデータ転送を行える。
[0091] なお、 ACPU2が複数のアプリケーションを同時に実行してマルチタスク処理を行う 場合には、実行するアプリケーションの組み合わせに応じてバッファの設定値を変更 しても良!/、ことは言うまでもなレ、。
[0092] 〔第 3の実施例〕
本発明を好適に実施した第 3の実施例について説明する。
図 8に、本実施例にかかるデータ処理装置の構成を示す。図に示すように、本実施 例においては、第 1の実施例におけるバッファリング IC3の機能がバッファリング部 30 として ACPU21内に取り込まれた構成となって!/、る。
データ処理装置全体としての動作は、上記第 1の実施例と同様であるため、重複す る説明は省略する。
[0093] 〔第 4の実施例〕
本発明を好適に実施した第 4の実施例について説明する。
図 9に本実施例にかかるデータ処理装置の構成を示す。本実施例にかかるデータ 処理装置は、第 1の CPU10及び第 2の CPU20のそれぞれとバッファリング IC32と はシリアル IF及びメモリ IFを介して接続されている。そして、第 1の CPU10と第 2の C PU20とは、バッファリング IC32を介して双方向にデータを転送する。
[0094] 図 10に、バッファリング IC32内部の CPU接続回路の構成を示す。
本実施例においては、バッファリング IC32は、メモリコントローラ 321は一つだけで ある力 メモリ、シリアル IF及びバス IFを二つずつ(メモリ 322a, 322b,シリアノレ IF32 3a, 323b、 ノ ス IF324a, 324b)備えており、一方(メモリ 322a、シリアノレ IF323a、 バス IF324a)が第 1の CPU10から第 2の CPU20へのデータ伝送用、他方(メモリ 3
22b、シリアノレ IF323b、ノ ス IF324b)カ第 2の CPU20力、ら第 1の CPU10へのデー タ伝送用として用いられる。
[0095] 第 1の CPU10から第 2の CPU20へのデータ転送及び第 2の CPU20から第 1の C
PU10へのデータ転送時の動作については上記第 1の実施例における CCPU1から
ACPU2への転送動作と同様である(メモリコントローラ 321が両方向のデータ伝送を 個別に制御する)ため、重複する説明は割愛する。
[0096] 〔第 5の実施例〕
本発明を好適に実施した第 5の実施例について説明する。
本実施例にかかるデータ処理装置の構成は、上記第 4の実施例にかかるデータ処 理装置と同様であり、第 1の CPU及び第 2の CPUのそれぞれとバッファリング IC33と はシリアル IF及びメモリ IFを介して接続されている。そして、第 1の CPUと第 2の CPU とは、バッファリング IC33を介して双方向にデータを転送する。ただし、図 11に示す ように、本実施例においては、第 1の CPU及び第 2の CPUのそれぞれからデータラ イト要求信号がバッファリング IC33へと入力される。データライト要求信号は、 CPU がバッファにデータを書き込む(転送する)のに先立ってバッファリング IC33内のメモ リコントローラ 331へ入力される。
[0097] 図 12に、バッファリング IC33内部の CPU接続回路の構成を示す。
本実施例においては、バッファリング IC33は、シリアル IF及びバス IFを二つずつ( シリアノレ IF333a, 333b、ノ ス IF334a, 334b)備えており、一方(シリアノレ IF333a、 バス IF334a)が第 1の CPUから愛 2の CPUへのデータ伝送用、他方(シリアル IF33 3b、バス IF334b)が第 2の CPUから第 1の CPUへのデータ伝送用として用いられる 。なお、第 4の実施例とは異なりメモリ 332を一つ(バッファ 2面分)し力、備えていない。
[0098] 本実施例にかかるデータ処理装置は、第 1の CPU10及び第 2の CPU20がーつメ モリ 332を共用するため、これらが同時にデータライト動作を行わないように制御する 必要がある。このため、メモリコントローラ 331は、各 CPUからのデータライト要求に基 づレ、て以下のような制御を行う。
第 1の CPU10と第 2の CPU20とに、データライト動作の優先順位を設定しておき、 両方の CPUがデータライト動作を要求する場合には、優先順位の高!/、方にデータラ
イト動作を行わせる。優先順位が低い方がデータライト動作を行っている最中に優先 順位の高い方からデータライト動作の要求があった場合には、処理中の動作を継続 しても良いし、処理を中断して優先順位の高い方のデータライト動作を実行しても良 い。
[0099] なお、第 1の CPU10と第 2の CPU20と力 フロー制御信号を用いて相手側の CP Uにデータ送出タイミングを指示することによって、排他的にデータライト動作を行うよ うに予めソフトウェアを設定しておいてもよい。この場合には、各 CPUからのデータラ イト要求は不要となる。
[0100] データ転送そのものの動作 (バッファ)は上記第 1の実施例と同様であるため、説明 は割愛する。
[0101] 〔第 6の実施例〕
本発明を好適に実施した第 6の実施例について説明する。
図 13に、本実施例にかかる携帯電話端末の構成を示す。この携帯電話端末は、通 信用 CPUとアプリケーション用 CPUとの二つの CPUを備えたデュアル CPU携帯電 話 末である。
[0102] 本実施例にかかる携帯電話端末の動作について説明する。
アンテナ 21において受信された無線信号は、無線回路 22で電気信号に変換され 、さらにアナログ信号処理部 23においてデジタル信号に変換される。アナログ信号 処理部 23においてデジタルに変換された信号は、デジタル信号処理部 24を介して CCPU1に入力される。 CCPU1に入力されたデジタル信号は、デジタルデータとし てバッファリング IC3を介して ACPU2へと送られる。 ACPU2は、入力されたデジタ ルデータを処理し、処理したデータをメモリ 25に蓄積したり、音声出力部 26から音声 を出力したり、表示部 28に画像を表示させるなどの処理を行う。
一方、 ACPU2は、操作部 26を介して行われた入力操作や音声入力部 29を介し て入力された音声を処理して、処理したデータを CCPU1へと転送する。 CCPU1は ACPU2から入力されたデータをデジタル信号処理部 24へと送りアナログの電気信 号に変換する。デジタル信号処理部 24は、アナログ電気信号をアナログ信号処理部 23を介して無線回路 22へ入力する。無線回路 22は、入力されたアナログ電気信号
を無線信号に変換しアンテナ 21を介して送出する。
[0103] CCPU1と ACPU2との間に上記第 1の実施例と同様のバッファリング ICを設けるこ とにより、通信中に ACPUがビジーとなっても、バッファあふれが発生しに《なり、通 信品質の安定性が向上する。
[0104] CCPUから ACPUへのデータ転送動作そのものは、上記第 1の実施例と同様であ るため、重複する説明は省略する。
[0105] なお、ここでは CCPUと ACPUとは第 1の実施例と同様の回路構成で接続するもの とした力 第 2又は第 3の実施例と同様の回路構成で CCPUと ACPUとを接続しても 良いことは言うまでもない。
また、第 4又は第 5の実施例における第 1の CPU及び第 2の CPUを CCPU及び A
CPUとして適用可能であることも自明である。
[0106] なお、上記実施例は本発明の好適な実施の一例であり、本発明はこれに限定され ることはない。
例えば、上記各実施例においては、 2面分のバッファをデータリード用、データライ ト用に交互に切り換えて用いる構成を例とした力 図 14に示すように 3以上のバッファ を備える構成として、これらをローテーションして用いるようにしても良レ、。
このように、本発明は様々な変形が可能である。
[0107] この出願 (ま、 2006年 7月 28曰 ίこ出願された曰本出願特願 2006— 206808を基 礎とする優先権を主張し、その開示の全てをここに取り込む。
図面の簡単な説明
[0108] [図 1]本発明を好適に実施した第 1の実施例に力、かるデータ処理装置の二つの CPU とバッファリング ICとの接続状態を示す図である。
[図 2]バッファリング ICの内部の構成を示す図である。
[図 3]バッファリング ICの動作の流れを示すフローチャートである。
[図 4]バッファリング ICを用いた CPU間のデータ転送動作の一例を示す図である。
[図 5]バッファリング ICを用いた CPU間のデータ転送動作の一例を示す図である。
[図 6]バッファリング ICを用いた CPU間のデータ転送動作の一例を示す図である。
[図 7]本発明を好適に実施した第 2の実施例に力、かるデータ処理装置のバッファリン
グ ICの構成を示す図である。
[図 8]本発明を好適に実施した第 3の実施例に力、かるデータ処理装置の ACPUの構 成を示す図である。
[図 9]本発明を好適に実施した第 4の実施例にかかるデータ処理装置の構成を示す 図である。
[図 10]第 4の実施例に力、かるデータ処理装置のバッファリング ICの構成を示す図で ある。
[図 11]本発明を好適に実施した第 5の実施例にかかるデータ処理装置の構成を示す 図である。
[図 12]第 5の実施例に力、かるデータ処理装置のバッファリング ICの構成を示す図で ある。
[図 13]本発明を好適に実施した第 6の実施例に力、かる携帯電話端末の構成を示す 図である。
[図 14]3面分のバッファを備えたバッファリング ICの構成を示す図である。
符号の説明
1 通信用 CPU
2、 201 アプリケーション用 CPU
3、 31、 32、 33 ノペッファリング IC
10 第 1の CPU
20 第 2の CPU
21 アンテナ
22 無線回路
23 アナログ信号処理部
24 デジタル信号処理部
25、 322a, 322b メモ!;
26 操作部
27 音声出力部
28 表示部
音声入力部
バッファリング部
、 302、 312、 313 ノペッファ 、 311、 321、 331 メモリコントローラa, 323b, 333a, 333b シリアル IFa, 324b, 334a, 334b ノ ス IF