JP5168144B2 - Cpu接続回路、データ処理装置、演算装置及びこれらを用いた携帯通信端末並びにデータ転送方法 - Google Patents

Cpu接続回路、データ処理装置、演算装置及びこれらを用いた携帯通信端末並びにデータ転送方法 Download PDF

Info

Publication number
JP5168144B2
JP5168144B2 JP2008526794A JP2008526794A JP5168144B2 JP 5168144 B2 JP5168144 B2 JP 5168144B2 JP 2008526794 A JP2008526794 A JP 2008526794A JP 2008526794 A JP2008526794 A JP 2008526794A JP 5168144 B2 JP5168144 B2 JP 5168144B2
Authority
JP
Japan
Prior art keywords
cpu
data
buffer
amount
upstream
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.)
Expired - Fee Related
Application number
JP2008526794A
Other languages
English (en)
Other versions
JPWO2008013209A1 (ja
Inventor
貴雄 中川
孝 立河
直行 中村
直史 塚本
俊克 細井
博 倉金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008526794A priority Critical patent/JP5168144B2/ja
Publication of JPWO2008013209A1 publication Critical patent/JPWO2008013209A1/ja
Application granted granted Critical
Publication of JP5168144B2 publication Critical patent/JP5168144B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、二つのCPUがそれらの間に設けられた二つのバッファを交互に切り換えて用いるための回路及び方法並びにその回路を用いた携帯通信端末に関し、特に、HSDPA(High Speed Downlink Packet Access)通信対応の通信用CPUとアプリケーション用CPUとの接続回路及び方法並びに携帯通信端末に関する。
従来、CPUを二つ備え、これらのCPU間でデータを送受信しつつ所定の処理を実行する情報処理装置が実用化されている。
例えば、通信用とアプリケーション用との二つのCPUを備え、通信用CPU(CCPU)で復調されたデータをアプリケーション用CPU(ACPU)で処理することで、通信を伴う任意のアプリケーションを実行する携帯通信端末が知られている。
通信用とアプリケーション用との二つのCPUを備えた移動体通信端末に関連する技術としては、特許文献1に開示される「複数CPU構成の通信機能付き携帯端末およびその制御方法」がある。
しかし、データ転送レートの高い通信方式(例えばHSDPA)を採用すると、CCPUからACPUへ転送すべきデータ量が増大し、通信中の高負荷時に(特に、マルチタスク処理でアプリケーションを動かしているときに)、ACPU側でデータ処理が間に合わなくなる場合があった。
これは、パケット通信では1パケット全体を受信しないと、そのパケットを処理できないためである。特に、HSDPAのようなデータ転送レートの高い通信方式では、単位時間当たりに処理する必要のあるパケット量が多くなるため、上記のことが特に問題となる。
ここで例に挙げた移動体通信端末に限らず、一般的に、二つのCPUを協働させる情報処理装置において両方のCPUのデータ処理速度が同じとなることはほとんどない。よって、データの流れの上流側のCPUのデータ処理の方が遅いならば、下流側のCPUがデータの受信待ちをするだけで正常にデータを処理できるが、下流側のCPUのデータ処理の方が遅いならば、上流側のCPUが出力するデータを処理しきれなくなり、バッファオーバーランが発生してしまう。
特開2005−142981号公報
本発明はかかる問題に鑑みてなされたものであり、二つのCPUがそれらの間に設けられた二つのバッファを交互に切り換えて用いる回路であって、受け側のCPUのデータ処理が追いつかなくなることを防ぐCPU接続回路、データ処理装置、演算装置及びこれらを用いた携帯通信端末並びにデータ転送方法を提供することを目的とする。
上記目的を達成するため、本発明は、第1の態様として、二つのバッファを含み、二つのCPUの間に接続されて、一方のCPUから他方のCPUへのデータ転送を中継するCPU接続回路であって、バッファのいずれか一方に送信側のCPUによって蓄積されたデータ量が所定の閾値に達したか否かを監視する手段と、送信側のCPUによってバッファに蓄積されたデータ量が閾値に達した場合に、受信側のCPUにバッファに蓄積されているデータの引き取りを要求するとともに、送信側のCPUからのデータの蓄積先を他方のバッファに変更する手段とを有し、閾値は、送信側のCPUがバッファへ送信するデータの単位量よりも大きい値であることを特徴とするCPU接続回路を提供するものである。
本発明の第1の態様においては、バッファと送信側のCPUとがシリアル伝送路を介して接続されることが好ましい。また、バッファと受信側のCPUとがパラレル伝送路を介して接続されることが好ましい。
本発明の第1の態様の上記のいずれの構成においても、受信側のCPUから入力される制御信号に応じて閾値を動的に設定する手段をさらに含むことが好ましい。また、送信側のCPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄積され受信側のCPUに引き取られずに残っているデータが切り替え後のバッファに存在する場合には、少なくとも受信側のCPUに対してオーバーラン信号を出力することが好ましい。また、送信側のCPUからバッファへのデータ転送速度よりも、受信側のCPUが前記バッファからデータを引き取る速度の方が高速であることが好ましい。また、送信側のCPUがバッファへ送信するデータはパケットデータであることが好ましい。
また、上記目的を達成するため、本発明は、第2の態様として、二つのCPUの間に接続され、データ伝送方向ごとに二つずつ含むバッファを用いて、各CPU同士のデータ転送を中継するCPU接続回路であって、各データ伝送方向について、上流側のCPUによってバッファのいずれか一方に蓄積されたデータ量が所定の閾値に達したか否かを監視する手段と、上流側のCPUによってバッファに蓄積されたデータ量が閾値に達した場合に、下流側のCPUにバッファに蓄積されているデータの引き取りを要求するとともに、上流側のCPUからのデータの蓄積先を他方のバッファに変更する手段とを有し、閾値は、上流側のCPUがバッファへ送信するデータの単位量よりも大きい値であることを特徴とするCPU接続回路を提供するものである。
また、上記目的を達成するため、本発明は、第3の態様として、二つのバッファを含み、二つのCPUの間に接続されて、各CPU同士のデータ転送を中継するCPU接続回路であって、バッファのいずれか一方に上流側のCPUによって蓄積されたデータ量が所定の閾値に達した否かを監視する手段と、上流側のCPUによってバッファに蓄積されたデータ量が閾値に達した場合に、下流側のCPUにバッファに蓄積されているデータの引き取りを要求するとともに、上流側のCPUからのデータの蓄積先を他方のバッファに変更する手段とを有し、閾値は、各CPUがバッファへ送信するデータの単位量よりも大きい値であり、上流側のCPUからバッファへのデータ転送速度よりも、下流側のCPUがバッファからデータを引き取る速度の方が高速であることを特徴とするCPU接続回路を提供するものである。
本発明の第3の態様においては、二つのCPUの双方がバッファにデータを転送しようとする場合に、いずれのCPUを上流側とするかの優先順位が予め設定されていることが好ましい。
本発明の第2又は第3の態様の上記のいずれの構成においても、それぞれの伝送方向について下流側のCPUから入力される制御信号に応じて閾値を動的に設定する手段をさらに含むことが好ましい。また、上流側のCPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄積され下流側のCPUに引き取られずに残っているデータが切り替え後のバッファに存在する場合には、少なくとも下流側のCPUに対してオーバーラン信号を出力することが好ましい。また、上流側のCPUからバッファへのデータ転送速度よりも、下流側のCPUがバッファからデータを引き取る速度の方が高速であることが好ましい。また、上流側のCPUがバッファへ送信するデータはパケットデータであることが好ましい。
また、上記目的を達成するため、本発明は、第4の態様として、送信側のCPUから二つのバッファを含む受信側のCPUへとデータを転送して処理するデータ処理装置であって、バッファのいずれか一方に送信側のCPUによって蓄積されたデータ量が所定の閾値に達したか否かを監視する手段と、送信側のCPUによってバッファに蓄積されたデータ量が閾値に達した場合に、受信側のCPUの演算処理手段にバッファに蓄積されているデータの引き取りを要求するとともに、送信側のCPUからのデータの蓄積先を他方のバッファに変更する手段とを有し、閾値は、送信側のCPUがバッファへ送信するデータの単位量よりも大きい値であることを特徴とするデータ処理装置を提供するものである。
本発明の第4の態様においては、バッファと送信側のCPUとがシリアル伝送路を介して接続されることが好ましい。また、バッファと演算処理手段とがパラレル伝送路を介して接続されることが好ましい。また、演算処理手段が出力する制御信号に応じて閾値を動的に設定する手段をさらに含むことが好ましい。
本発明の第4の態様の上記のいずれの構成においても、送信側のCPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄積され演算処理手段に引き取られずに残っているデータが切り替え後のバッファに存在する場合には、少なくとも演算処理手段に対してオーバーラン信号を出力することが好ましい。また、送信側のCPUからバッファへのデータ転送速度よりも、受信側のCPUの演算処理手段がバッファからデータを引き取る速度の方が高速であることが好ましい。また、送信側のCPUが前記バッファへ送信するデータはパケットデータであることが好ましい。
また、上記目的を達成するため、本発明は、第5の態様として、他のCPUとデータ伝送路を介して接続された二つのバッファと、他のCPUから転送されてバッファのいずれか一方に蓄積されたデータ量が所定の閾値に達したか否かを監視する手段と、他のCPUによってバッファに蓄積されたデータ量が閾値に達した場合に、バッファに蓄積されているデータの引き取りを演算処理手段に要求するとともに、他のCPUからのデータの蓄積先を他方のバッファに変更する手段とを有し、閾値は、他のCPUがバッファへ送信するデータの単位量よりも大きい値であることを特徴とする演算装置を提供するものである。
本発明の第5の態様においては、閾値は、演算処理手段からの制御信号に応じて動的に設定されることが好ましい。また、他のCPUから転送されてきたデータの蓄積先とするバッファを切り換える際に、以前に蓄積され演算処理手段に引き取られずに残っているデータが切り替え後のバッファに存在する場合には、演算処理手段に対してオーバーラン信号を出力することが好ましい。また、他のCPUからバッファへのデータ転送速度よりも、演算処理手段がバッファからデータを引き取る速度の方が高速であることが好ましい。また、他のCPUによってバッファへ蓄積されるデータはパケットデータであることが好ましい。
また、上記目的を達成するため、本発明は、第6の態様として、バッファを二つ備え二つのCPUの間に接続されたCPU接続回路を用いたデータ転送方法であって、バッファに、送信側のCPUがバッファへ送信するデータの単位量よりも大きい値をデータ蓄積量の閾値として設定し、バッファの一方に送信側のCPUによって蓄積されたデータ量が閾値に達したか否かを監視し、送信側のCPUによって蓄積されたデータ量が閾値に達した場合に、受信側のCPUにデータの引き取りを要求するとともに、送信側のCPUからのデータの蓄積先を他方のバッファに変更することを特徴とするCPU接続方法を提供するものである。
本発明の第6の態様においては、閾値を、受信側のCPUから入力される制御信号に応じて動的に設定することが好ましい。また、送信側のCPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄積され受信側のCPUに引き取られずに残っているデータが切り替え後のバッファに存在する場合には、少なくとも受信側のCPUに対してオーバーラン信号を出力することが好ましい。また、送信側のCPUからバッファへのデータ転送速度よりも、受信側のCPUがバッファからデータを引き取る速度の方が高速となるように二つのCPUを接続することが好ましい。
また、上記目的を達成するため、本発明は、第7の態様として、二つのバッファ及び演算処理手段を備えた受信側のCPUと送信側のCPUとを接続し、バッファに、送信側のCPUがバッファへ送信するデータの単位量よりも大きい値をデータ蓄積量の閾値として設定し、バッファの一方に、送信側のCPUによって蓄積されたデータ量が閾値に達したか否かを監視し、送信側のCPUによって蓄積されたデータ量が閾値に達した場合に、演算処理手段にデータの引き取りを要求するとともに、送信側のCPUからのデータの蓄積先を他方のバッファに変更することを特徴とするデータ転送方法を提供するものである。
本発明の第7の態様においては、閾値は、演算処理手段が出力する制御信号に応じて動的に設定されることが好ましい。また、送信側のCPUから転送されてきたデータの蓄積先とするバッファを切り換える際に、以前に蓄積され演算処理手段に引き取られずに残っているデータが切り替え後のバッファに存在する場合には、演算処理手段に対してオーバーラン信号を出力することが好ましい。また、送信側のCPUからバッファへのデータ転送速度よりも、演算処理手段が前記バッファからデータを引き取る速度の方が高速となるように受信側のCPUと送信側のCPUとを接続することが好ましい。
本発明の第6の態様又は第7の態様の上記のいずれの構成においても、送信側のCPUからバッファへパケットデータを送信することが好ましい。
また、上記目的を達成するため、本発明は、第8の態様として、二つのCPUの間に接続され、データ伝送方向ごとに二つずつのバッファを備えたCPU接続回路を用いたデータ転送方法であって、各データ伝送方向について、バッファに、上流側のCPUがバッファへ送信するデータの単位量よりも大きい値をデータ蓄積量の閾値として設定し、バッファの一方に上流側のCPUによって蓄積されたデータ量が閾値に達したか否かを監視し、上流側のCPUによって蓄積されたデータ量が閾値に達した場合に、下流側のCPUにデータの引き取りを要求するとともに、上流側のCPUからのデータの蓄積先を他方のバッファに変更することを特徴とするデータ転送方法を提供するものである。
また、上記目的を達成するため、本発明は、第9の態様として、二つのバッファを備え、二つのCPUの間に接続されたCPU接続回路を用いたデータ転送方法であって、二つのCPUの双方がバッファにデータを転送しようとする場合に、いずれのCPUを上流側とするかの優先順位を予め設定し、各データ伝送方向について、バッファに、上流側のCPUがバッファへ送信するデータの単位量よりも大きい値をデータ蓄積量の閾値として設定し、バッファの一方に、上流側のCPUによって蓄積されたデータ量が閾値に達したか否かを監視し、上流側のCPUによって蓄積されたデータ量が閾値に達した場合に、下流側のCPUにデータの引き取りを要求するとともに、上流側のCPUからのデータの蓄積先を他方のバッファに変更することを特徴とするデータ転送方法を提供するものである。
本発明の第8又は第9の態様においては、閾値を、それぞれの伝送方向について下流側のCPUから入力される制御信号に応じて動的に設定することが好ましい。また、上流側のCPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄積され下流側のCPUに引き取られずに残っているデータが切り替え後のバッファに存在する場合には、少なくとも下流側のCPUに対してオーバーラン信号を出力することが好ましい。また、各データ伝送方向について、上流側のCPUからバッファへのデータ転送速度よりも、下流側のCPUがバッファからデータを引き取る速度の方が高速となるように二つのCPUを接続することが好ましい。また、各データ伝送方向について、上流側のCPUからバッファへパケットデータを送信することが好ましい。
また、上記目的を達成するため、本発明は、第10の態様として、通信用のCPUとアプリケーション処理用との二つのCPUを有し、通信用CPUから前記アプリケーション用CPUへのデータ伝送路に上記本発明の第1、第2又は第3の態様のいずれかの構成にかかるCPU接続回路が設置されたことを特徴とする携帯通信端末を提供するものである。
また、上記目的を達成するため、本発明は、第11の態様として、通信用のCPUとアプリケーション処理用との二つのCPUを有し、通信用CPUが送信側のCPU、アプリケーション処理用のCPUが受信側のCPUとなって上記本発明の第4の態様のいずれかの構成にかかるデータ処理装置を形成していることを特徴とする携帯通信端末を提供するものである。
また、上記目的を達成するため、本発明は、第12の態様として、通信用のCPUとアプリケーション処理用との二つのCPUを有し、アプリケーション処理用のCPUとして上記本発明の第5の態様のいずれかの構成にかかる演算装置が適用されていることを特徴とする携帯通信端末を提供するものである。
本発明によれば、二つのCPUが各CPU間に設けられた二つのバッファを交互に切り換えて用いる回路であって、受け側のCPUのデータ処理が追いつかなくなることを防ぐCPU接続回路、データ処理装置、演算装置及びこれらを用いた携帯通信端末並びにデータ転送方法を提供できる。
〔発明の原理〕
以下の説明では、二つのCPUが通信用及びアプリケーション用である場合を例とするが、これ以外の処理を目的としたCPUであっても同様である。
図1に、二つのCPUとバッファリングICとの接続状態を示す。
通信用CPU(CCPU)1とアプリケーション用CPU(ACPU)2との間のデータ転送において、二つのバッファとこれらのいずれをデータライト用とするかを交互に切り換えるスイッチとを有する回路が形成されたバッファリングIC3を二つのCPUの間に設置する。
各CPUとバッファリングIC3とは、バッファリングIC3からACPU2へのデータ転送速度が、CCPU1からバッファリングIC3へのデータ転送速度よりも高速となるように接続することが好ましい。ここでは、CCPU1とバッファリングIC3とをシリアルIF接続、バッファリングIC3とACPU2とをバスIF接続とすることで、上記条件を実現しているが、この他の接続方法であっても良い。
二つのバッファのうちの一方(データライト用となっている方)の蓄積データ量が設定値に達すると、CCPU1から転送されてくるデータの蓄積先のバッファ(データライト用のバッファ)を他方へと切り換える。なお、設定値はバッファリングIC3に設定がなされ、蓄積データ量の判断もバッファリングIC3が行う。
データライト用のバッファを切り換えたのち、バッファリングIC3は、データ引取要求をACPU2へ出力する。ACPUは2は、バッファリングIC3からのデータ引取要求を受け取ると、DMA(Direct Memory Access)で切り替え前にデータライト用だったバッファにデータを取りに行く。この際、バッファリングIC3のバッファはACPU2からはメモリとして見えているため、メモリ上のデータを読みに行くのと同様の動作を行う。
再びバッファの蓄積データ量が設定値に達すると、バッファリングIC3は、データライト用のバッファをもう一方(最初にデータライト用だった方)に切り替えて同様にデータを蓄積するとともに、データ引取要求をACPU2へ出力し、同様の動作を繰り返す。
なお、CCPU1は、バッファリングIC3の存在を認識してはおらず、単にデータを出力するのみである。
上記動作を行うことにより、バッファリングIC3からのデータ引取要求を受けてすぐにACPU2がデータを引き取れなくても、データ損失が発生することはない。これにより、ACPU2のデータ処理が追いつかなくなることを防止できる。
なお、設定値はACPU2が実行するアプリケーションに応じて任意に設定可能である。設定値を大きくした場合には、ACPU2のデータ引き取りの遅れによるデータ損失防止の効果が大きくなるが、ACPU2でのデータ処理に遅延が生じる。逆に、設定値を小さくした場合には、ACPU2のデータ引き取りの遅れによるデータ損失防止の効果は小さくなるが、ACPU2でのデータ処理がリアルタイムに近くなる。よって、ACPU2が実行するアプリケーションの種類に応じて設定値を定め、データ損失防止の効果とデータ処理のリアルタイム性とのバランスを調整すればよい。
また、設定値は必ずしも二つのバッファに共通の値である必要はなく、それぞれのバッファに異なる値を設定しても良い。さらに、設定値はバッファの一部のみを使用する値に限定されることはなく、バッファ全体を使用することを妨げない。例えば、Xバイトのバッファに対してXバイトという設定値を設定してもよい。
設定値は、高く設定するとバッファあふれ防止効果が大きくなるとともにACPUの動作率を低くできるが(ACPUがデータを一度にまとめてバッファから引き取れるため)、バッファにある程度データがたまるまでACPU側にデータが引き取られないため、遅延が発生する。よって、目的に応じて、バッファあふれ防止効果とデータ遅延量とのバランスが最適となるように設定すればよい。
例えば、CCPUとACPUとでパケットデータをやりとりする場合には、1パケット分の容量をバッファの設定値とすると良い。これは、パケットデータの場合には、1パケット分のデータが揃って始めてアプリケーションでの処理が可能となる(換言すると、1パケットに満たないデータサイズごとにACPUがバッファからデータを引き取ったとしても、ACPUは引き取ったデータを処理できず、1パケット分のデータが揃った段階で処理することとなる。)ためである。
ただし、両方のバッファの設定値がCCPU1から入力されるデータの単位量と同じであると、ACPU2のデータ引き取りの遅れが即バッファあふれにつながることとなる。このため、どちらかのバッファの設定値は少なくともCCPU1から入力されるデータの単位量よりも大きく設定する必要がある。
具体例を挙げると、CCPU1が1バイト単位でデータを処理(バッファリングIC3へ入力)する場合、両方のバッファの設定値がともに1バイトであると、ACPU2のデータ引き取りが遅れたとたんにバッファあふれが発生してしまい、データ損失防止効果が得られない。この場合には、どちらかのバッファの設定値を2バイト以上とすることでデータ損失防止の効果が得られる。
バッファの容量は、大きい分には動作上に不都合はない。ただし、容量の大きいバッファはコストが高くサイズも大きいため、バッファのごく一部しか使用しないような設定値を設定すると、製造コストなどの点では不利となる。
一方、バッファの容量が少なすぎると、バッファの全容量を使用するように設定値を設定してもバッファあふれの効果が十分に得られない可能性が生じる。このため、CCPUから送られるデータのサイズやACPUのデータ処理能力に応じて、バッファあふれ防止効果を得るのに十分な容量を備えたバッファを適用することが好ましい。
以下、上記原理に基づく本発明の好適な実施の形態について説明する。
〔第1の実施例〕
本発明を好適に実施した第1の実施例について説明する。本実施例にかかるデータ処理装置は、図1に示したように、通信用CPU(CCPU)1とアプリケーション用CPU(ACPU)2との間に、二つのバッファとこれらを交互に切り換えるスイッチとを有する回路が形成されたバッファリングIC3が設置された構成である。
図2に、バッファリングIC3内部の構成を示す。バッファリングIC3の内部にはCPU接続回路が形成されている。
バッファリングIC3は、2面分のデータを格納できるバッファを有する。これらのうち、一面はCCPU1からのデータライト用として使用され、もう一面はACPU2によるデータリーダ用として使用される。これらは、交互に切り換えて使用される。
また、バッファリングIC3内のメモリコントローラ301により、一面分のバッファに蓄積可能なデータ量が任意に設定されている。
バッファリングIC3からACPU2に対するデータの引取要求には、「データ引取要求信号」が用いられる。この信号は、ACPU2からのデータリード用バッファが読み出し可能な条件を満たしたタイミング(データライト用からデータリード用に切り替わったタイミング)でアサートし、ACPU2によりバッファ内の前データが読み出されたタイミングでネゲートする。
また、バッファリングIC3は、両方のバッファにデータが格納された状態で、さらにCCPU1からのデータを受信した場合、オーバラン割り込み信号(O.V.R)を生成し、データ損失が生じたことをACPU2側に通知可能である。
ACPU2は、割り込み検出時、各システムに適したエラー処理を行う。
さらに、バッファリングIC3はACPU2から制御可能なフロー制御信号の機能を有する。本信号を制御することにより、CCPU1に対しデータ再送を通知できる。
図3に、バッファリングIC3の動作の流れを示す。ここで、初期状態ではバッファ302がデータライト用、バッファ303がデータリード用であるとする。
CCPU1からのデータ受信すると、メモリコントローラ301は、データライト用のバッファ(バッファ302)に前回蓄積したデータが残っているか否かを確認する(ステップS101)。データが残っているならば、オーバーラン処理を行う。
データライト用のバッファにデータが残っていなければ(ステップS101/Yes)、CCPU1から受信したデータをデータライト用のバッファに蓄積し、データライト用バッファのデータ蓄積量が設定値に達したか否かを確認する(ステップS102)。
データライト用のバッファのデータ蓄積量が設定値に達していなければ(ステップS102/No)、メモリコントローラ301は設定値に達するまでCCPU1から受信したデータをデータライト用バッファに蓄積する。
データライト用バッファのデータ蓄積量が設定値に達したら(ステップS102/Yes)、メモリコントローラ301は、データライト用のバッファをバッファ302からバッファ303へと切り換える(ステップS103)。そして、メモリコントローラ301は、バッファ302に蓄積されているデータの引取要求をACPU2へ送信する(ステップS104)。
メモリコントローラ301は、データライト用に切り換えたバッファ303に前回蓄積されていたデータが残っているか否かを確認する(ステップS101)。データが残っているならば、オーバーラン処理を行う。
データライト用のバッファにデータが残っていなければ(ステップS101/Yes)、CCPU1から受信したデータをデータライト用のバッファに蓄積し、データライト用のバッファのデータ蓄積量が設定値に達したか否かを確認する(ステップS102)。
データライト用のバッファのデータ蓄積量が設定値に達していなければ(ステップS102/No)、メモリコントローラ301は設定値に達するまでCCPU1から受信したデータをデータライト用バッファに蓄積する。
データライト用バッファのデータ蓄積量が設定値に達したら(ステップS102/Yes)、メモリコントローラ301は、データライト用のバッファをバッファ303からバッファ302へと切り換える(ステップS103)。そして、メモリコントローラ301は、バッファ303に蓄積されているデータの引取要求をACPU2へ送信する(ステップS104)。
以降、CCPU1からのデータを受信している間、上記同様の処理を繰り返す。
図4に、バッファリングIC3を用いたCPU間のデータ転送動作の一例を示す。
ここで、CCPU1からバッファリングIC3へのデータ転送速度と、バッファリングIC3からACPU2へのデータ転送速度との比を1:4であるとする。
時刻t0において、CCPU1からバッファリングIC3へデータが入力され始める。メモリコントローラ301は、入力されたデータをバッファ302に蓄積する。
時刻t1において、バッファ302のデータ蓄積量が設定値に達する。メモリコントローラ301は、データライト用のバッファをバッファ303へと切り換えるとともに、バッファ302に蓄積されているデータの引取要求信号をアサートしACPU2へ出力する。
時刻t2において、バッファ302に蓄積されていたデータのACPU2への引き取りが完了し、データ引取要求信号がネゲートする。
時刻t3において、バッファ303のデータ蓄積量が設定値に達すると、メモリコントローラ301は、データライト用のバッファをバッファ302へと切り換えるとともに、バッファ303に蓄積されているデータの引取要求信号をアサートしACPU2へ出力する。
時刻t4において、バッファ302に蓄積されていたデータのACPU2への引き取りが完了し、データ引取要求信号がネゲートする。
以降同様の処理が繰り返され、時刻t8においてデータ引取要求信号がネゲートすることでCCPU1からACPU2へのデータの転送が完了する。
図5に、バッファリングIC3を用いたCPU間のデータ転送動作の別の一例を示す。
上記同様に、CCPU1からバッファリングIC3へのデータ転送速度と、バッファリングIC3からACPU2へのデータ転送速度との比を1:4であるとする。
時刻t0において、CCPU1からバッファリングIC3へデータが入力され始める。メモリコントローラ301は、入力されたデータをバッファ301に蓄積する。
時刻t1において、バッファ302のデータ蓄積量が設定値に達する。メモリコントローラ301は、データライト用のバッファをバッファ303へと切り換えるとともに、バッファ302に蓄積されているデータの引取要求信号をアサートしACPU2へ出力する。
時刻t2において、バッファ302に蓄積されていたデータのACPU2への引き取りが完了し、データ引取要求信号がネゲートする。
時刻t3において、バッファ303のデータ蓄積量が設定値に達すると、メモリコントローラ301は、データライト用のバッファをバッファ302へと切り換えるとともに、バッファ303に蓄積されているデータの引取要求信号をアサートしACPU2へ出力する。ここでACPU2はビジー状態にあり、データの引取要求を受けても即座にはデータの引き取りを開始できていない。
時刻t41において、ACPU2はバッファ303に蓄積されているデータの引き取りを開始する。なお、時刻t3から時刻t41までの間隔(T)は、バッファのデータ蓄積量が設定値に達するまでの時間(T)とACPU2がバッファからデータを引き取るのに要する時間(T)との差(T−T)よりも短い(ここでは、蓄積所要時間T=4a、引き取り所要時間がT=a、遅延時間T=2a)ものとする。
時刻t42において、バッファ303に蓄積されていたデータのACPU2への引き取りが完了し、データ引取要求信号がネゲートする。
時刻t5において、バッファ302のデータ蓄積量が設定値に達する。メモリコントローラ301は、データライト用のバッファをバッファ303へと切り換えるとともに、バッファ302に蓄積されているデータの引取要求信号をアサートしACPU2へ出力する。
時刻t6において、バッファ302に蓄積されていたデータのACPU2への引き取りが完了し、データ引取要求信号がネゲートする。
以降同様の処理が繰り返され、時刻t8においてデータ引取要求信号がネゲートすることでCCPU1からACPU2へのデータの転送が完了する。
図6に、バッファリングIC3を用いたCPU間のデータ転送動作のさらに別の一例を示す。
上記同様に、CCPU1からバッファリングIC3へのデータ転送速度と、バッファリングIC3からACPU2へのデータ転送速度との比を1:4であるとする。
時刻t0において、CCPU1からバッファリングIC3へデータが入力され始める。メモリコントローラ301は、入力されたデータをバッファ301に蓄積する。
時刻t1において、バッファ302のデータ蓄積量が設定値に達する。メモリコントローラ301は、データライト用のバッファをバッファ303へと切り換えるとともに、バッファ302に蓄積されているデータの引取要求信号をアサートしACPU2へ出力する。
時刻t2において、バッファ302に蓄積されていたデータのACPU2への引き取りが完了し、データ引取要求信号がネゲートする。
時刻t3において、バッファ303のデータ蓄積量が設定値に達すると、メモリコントローラ301は、データライト用のバッファをバッファ302へと切り換えるとともに、バッファ303に蓄積されているデータの引取要求信号をアサートしACPU2へ出力する。ここでACPU2はビジー状態にあり、データの引取要求を受けても即座にはデータの引き取りを開始できていない。
時刻t43において、ACPU2はバッファ303に蓄積されているデータの引き取りを開始する。なお、時刻t3から時刻t43までの間隔Tは、バッファのデータ蓄積量が設定値に達するまでの時間(T)とACPU2がバッファからデータを引き取るのに要する時間(T)との差(T−T)よりも長い(蓄積所要時間T=4a、引き取り所要時間T=a、遅延時間T=3.3a)ものとする。
時刻t44において、バッファ302のデータ蓄積量が設定値に達する。メモリコントローラ301は、データライト用のバッファをバッファ303へと切り換えようとするが、この時点ではバッファ303に蓄積されているデータのACPU2への引き取りが完了していない。よって、メモリコントローラ301は、オーバーラン割り込み信号(O.V.R)を生成し、データ損失が生じたことをACPU2側に通知する。
上記の例から明らかなように、ACPU2のデータ引き取りの遅延時間Tが、バッファのデータ蓄積量が設定値に達するまでの時間(T)とACPU2がバッファからデータを引き取るのに要する時間(T)との差(T−T)よりも短ければ、バッファあふれによるデータ損失の発生を防止できる。
このように、本実施例にかかるCPU接続回路によれば、ACPU−CCPU間のシリアル転送速度を、CCPUの平均処理速度に見合う速度に向上できる。
〔第2の実施例〕
本発明を好適に実施した第2の実施例について説明する。
本実施例にかかるデータ処理装置は、第1の実施例と同様に、CCPU1とACPU2との間にバッファリングIC31が接続された構成である。ただし、図7に示すように、本実施例においては、バッファリングIC31(メモリコントローラ311)にはACPU2からアプリケーション通知信号が入力される。
アプリケーション通知信号は、ACPU2が、どのアプリケーションを実行するのかを特定する情報である。
ACPU2においてCCPU1とのデータの授受を伴うアプリケーションが起動されると、ACPU2はバッファリングIC31に対してアプリケーション通知信号を出力する。
バッファリングIC3がアプリケーション通知信号を受信すると、メモリコントローラ311は、起動されたアプリケーションがCCPU1からのデータを受信するために最適となる閾値をバッファ312,313に設定する。
このように、ACPU2が実行するアプリケーションの種類に応じて、バッファ312、313に設定する閾値を変化させることにより、アプリケーションの種類に応じて最適な条件(データ損失の発生を抑え、かつACPU側の引取遅延が生じにくい)でCCPU1からACPU2へのデータ転送を行える。
なお、ACPU2が複数のアプリケーションを同時に実行してマルチタスク処理を行う場合には、実行するアプリケーションの組み合わせに応じてバッファの設定値を変更しても良いことは言うまでもない。
〔第3の実施例〕
本発明を好適に実施した第3の実施例について説明する。
図8に、本実施例にかかるデータ処理装置の構成を示す。図に示すように、本実施例においては、第1の実施例におけるバッファリングIC3の機能がバッファリング部30としてACPU21内に取り込まれた構成となっている。
データ処理装置全体としての動作は、上記第1の実施例と同様であるため、重複する説明は省略する。
〔第4の実施例〕
本発明を好適に実施した第4の実施例について説明する。
図9に本実施例にかかるデータ処理装置の構成を示す。本実施例にかかるデータ処理装置は、第1のCPU10及び第2のCPU20のそれぞれとバッファリングIC32とはシリアルIF及びメモリIFを介して接続されている。そして、第1のCPU10と第2のCPU20とは、バッファリングIC32を介して双方向にデータを転送する。
図10に、バッファリングIC32内部のCPU接続回路の構成を示す。
本実施例においては、バッファリングIC32は、メモリコントローラ321は一つだけであるが、メモリ、シリアルIF及びバスIFを二つずつ(メモリ322a,322b、シリアルIF323a,323b、バスIF324a,324b)備えており、一方(メモリ322a、シリアルIF323a、バスIF324a)が第1のCPU10から第2のCPU20へのデータ伝送用、他方(メモリ322b、シリアルIF323b、バスIF324b)が第2のCPU20から第1のCPU10へのデータ伝送用として用いられる。
第1のCPU10から第2のCPU20へのデータ転送及び第2のCPU20から第1のCPU10へのデータ転送時の動作については上記第1の実施例におけるCCPU1からACPU2への転送動作と同様である(メモリコントローラ321が両方向のデータ伝送を個別に制御する)ため、重複する説明は割愛する。
〔第5の実施例〕
本発明を好適に実施した第5の実施例について説明する。
本実施例にかかるデータ処理装置の構成は、上記第4の実施例にかかるデータ処理装置と同様であり、第1のCPU及び第2のCPUのそれぞれとバッファリングIC33とはシリアルIF及びメモリIFを介して接続されている。そして、第1のCPUと第2のCPUとは、バッファリングIC33を介して双方向にデータを転送する。ただし、図11に示すように、本実施例においては、第1のCPU及び第2のCPUのそれぞれからデータライト要求信号がバッファリングIC33へと入力される。データライト要求信号は、CPUがバッファにデータを書き込む(転送する)のに先立ってバッファリングIC33内のメモリコントローラ331へ入力される。
図12に、バッファリングIC33内部のCPU接続回路の構成を示す。
本実施例においては、バッファリングIC33は、シリアルIF及びバスIFを二つずつ(シリアルIF333a,333b、バスIF334a,334b)備えており、一方(シリアルIF333a、バスIF334a)が第1のCPUから愛2のCPUへのデータ伝送用、他方(シリアルIF333b、バスIF334b)が第2のCPUから第1のCPUへのデータ伝送用として用いられる。なお、第4の実施例とは異なりメモリ332を一つ(バッファ2面分)しか備えていない。
本実施例にかかるデータ処理装置は、第1のCPU10及び第2のCPU20が一つメモリ332を共用するため、これらが同時にデータライト動作を行わないように制御する必要がある。このため、メモリコントローラ331は、各CPUからのデータライト要求に基づいて以下のような制御を行う。
第1のCPU10と第2のCPU20とに、データライト動作の優先順位を設定しておき、両方のCPUがデータライト動作を要求する場合には、優先順位の高い方にデータライト動作を行わせる。優先順位が低い方がデータライト動作を行っている最中に優先順位の高い方からデータライト動作の要求があった場合には、処理中の動作を継続しても良いし、処理を中断して優先順位の高い方のデータライト動作を実行しても良い。
なお、第1のCPU10と第2のCPU20とが、フロー制御信号を用いて相手側のCPUにデータ送出タイミングを指示することによって、排他的にデータライト動作を行うように予めソフトウェアを設定しておいてもよい。この場合には、各CPUからのデータライト要求は不要となる。
データ転送そのものの動作(バッファ)は上記第1の実施例と同様であるため、説明は割愛する。
〔第6の実施例〕
本発明を好適に実施した第6の実施例について説明する。
図13に、本実施例にかかる携帯電話端末の構成を示す。この携帯電話端末は、通信用CPUとアプリケーション用CPUとの二つのCPUを備えたデュアルCPU携帯電話端末である。
本実施例にかかる携帯電話端末の動作について説明する。
アンテナ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を介して送出する。
CCPU1とACPU2との間に上記第1の実施例と同様のバッファリングICを設けることにより、通信中にACPUがビジーとなっても、バッファあふれが発生しにくくなり、通信品質の安定性が向上する。
CCPUからACPUへのデータ転送動作そのものは、上記第1の実施例と同様であるため、重複する説明は省略する。
なお、ここではCCPUとACPUとは第1の実施例と同様の回路構成で接続するものとしたが、第2又は第3の実施例と同様の回路構成でCCPUとACPUとを接続しても良いことは言うまでもない。
また、第4又は第5の実施例における第1のCPU及び第2のCPUをCCPU及びACPUとして適用可能であることも自明である。
なお、上記実施例は本発明の好適な実施の一例であり、本発明はこれに限定されることはない。
例えば、上記各実施例においては、2面分のバッファをデータリード用、データライト用に交互に切り換えて用いる構成を例としたが、図14に示すように3以上のバッファを備える構成として、これらをローテーションして用いるようにしても良い。
このように、本発明は様々な変形が可能である。
この出願は、2006年7月28日に出願された日本出願特願2006−206808を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明を好適に実施した第1の実施例にかかるデータ処理装置の二つのCPUとバッファリングICとの接続状態を示す図である。 バッファリングICの内部の構成を示す図である。 バッファリングICの動作の流れを示すフローチャートである。 バッファリングICを用いたCPU間のデータ転送動作の一例を示す図である。 バッファリングICを用いたCPU間のデータ転送動作の一例を示す図である。 バッファリングICを用いたCPU間のデータ転送動作の一例を示す図である。 本発明を好適に実施した第2の実施例にかかるデータ処理装置のバッファリングICの構成を示す図である。 本発明を好適に実施した第3の実施例にかかるデータ処理装置のACPUの構成を示す図である。 本発明を好適に実施した第4の実施例にかかるデータ処理装置の構成を示す図である。 第4の実施例にかかるデータ処理装置のバッファリングICの構成を示す図である。 本発明を好適に実施した第5の実施例にかかるデータ処理装置の構成を示す図である。 第5の実施例にかかるデータ処理装置のバッファリングICの構成を示す図である。 本発明を好適に実施した第6の実施例にかかる携帯電話端末の構成を示す図である。 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 表示部
29 音声入力部
30 バッファリング部
301、302、312、313 バッファ
303、311、321、331 メモリコントローラ
323a、323b、333a、333b シリアルIF
324a、324b、334a、334b バスIF

Claims (37)

  1. 二つのバッファを含み、二つのCPUの間に接続されて、一方のCPUから他方のCPUへのデータ転送を中継するCPU接続回路であって、前記バッファのいずれか一方に送信側のCPUによって蓄積されたデータ量が所定の閾値に達したか否かを監視する手段と、
    前記送信側のCPUによって前記バッファに蓄積されたデータ量が前記閾値に達した場合に、受信側のCPUに前記バッファに蓄積されているデータの引き取りを要求するとともに、前記送信側のCPUからのデータの蓄積先を他方の前記バッファに変更し、前記送信側のCPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄積され前記受信側のCPUに引き取られずに残っているデータが切り替え後のバッファに存在する場合には、少なくとも前記受信側のCPUに対してオーバーラン信号を出力する手段とを有し、
    前記閾値は、前記送信側のCPUが前記バッファへ送信するデータの単位量よりも大きい値であるCPU接続回路。
  2. 前記バッファと前記送信側のCPUとがシリアル伝送路を介して接続された、請求項1記載のCPU接続回路。
  3. 前記バッファと前記受信側のCPUとがパラレル伝送路を介して接続された、請求項1又は2記載のCPU接続回路。
  4. 前記受信側のCPUから入力される制御信号に応じて前記閾値を動的に設定する手段をさらに含むことを特徴とする請求項1から3のいずれか1項記載のCPU接続回路。
  5. 前記送信側のCPUから前記バッファへのデータ転送速度よりも、前記受信側のCPUが前記バッファからデータを引き取る速度の方が高速である、請求項1からのいずれか1項に記載のCPU接続回路。
  6. 前記送信側のCPUが前記バッファへ送信するデータはパケットデータである、請求項1からのいずれか1項記載のCPU接続回路。
  7. 二つのCPUの間に接続され、データ伝送方向ごとに二つずつ含むバッファを用いて、各CPU同士のデータ転送を中継するCPU接続回路であって、
    各データ伝送方向について、上流側のCPUによって前記バッファのいずれか一方に蓄積されたデータ量が所定の閾値に達したか否かを監視する手段と、
    前記上流側のCPUによって前記バッファに蓄積されたデータ量が前記閾値に達した場合に、下流側のCPUに前記バッファに蓄積されているデータの引き取りを要求するとともに、前記上流側のCPUからのデータの蓄積先を他方の前記バッファに変更し、前記上流側のCPUがデータの蓄積先とするバッファを変更する際に、以前に蓄積され前記下流側のCPUに引き取られずに残っているデータが変更後のバッファに存在する場合には、少なくとも前記下流側のCPUに対してオーバーラン信号を出力する手段とを有し、前記閾値は、前記上流側のCPUが前記バッファへ送信するデータの単位量よりも大きい値であるCPU接続回路。
  8. 二つのバッファを含み、二つのCPUの間に接続されて、各CPU同士のデータ転送を中継するCPU接続回路であって、
    前記バッファのいずれか一方に上流側のCPUによって蓄積されたデータ量が所定の閾値に達したか否かを監視する手段と、
    前記上流側のCPUによって前記バッファに蓄積されたデータ量が前記閾値に達した場合に、下流側のCPUに前記バッファに蓄積されているデータの引き取りを要求するとともに、前記上流側のCPUからのデータの蓄積先を他方の前記バッファに変更し、前記上流側のCPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄積され前記下流側のCPUに引き取られずに残っているデータが切り替え後のバッファに存在する場合には、少なくとも前記上流側のCPUに対してオーバーラン信号を出力する手段とを有し、
    前記閾値は、前記各CPUが前記バッファへ送信するデータの単位量よりも大きい値であるCPU接続回路。
  9. 前記二つのCPUの双方が前記バッファにデータを転送しようとする場合に、いずれのCPUを上流側とするかの優先順位が予め設定されている請求項8に記載のCPU接続回路。
  10. それぞれの伝送方向について前記下流側のCPUから入力される制御信号に応じて前記閾値を動的に設定する手段をさらに含むことを特徴とする請求項からのいずれか1項記載のCPU接続回路。
  11. 前記上流側のCPUから前記バッファへのデータ転送速度よりも、前記下流側のCPUが前記バッファからデータを引き取る速度の方が高速であることを特徴とする請求項から10のいずれか1項記載のCPU接続回路。
  12. 前記上流側のCPUが前記バッファへ送信するデータはパケットデータであることを特徴とする請求項から11のいずれか1項記載のCPU接続回路。
  13. 送信側のCPUから二つのバッファを含む受信側のCPUへとデータを転送して処理するデータ処理装置であって、
    前記バッファのいずれか一方に送信側のCPUによって蓄積されたデータ量が所定の閾値に達したか否かを監視する手段と、
    前記送信側のCPUによって前記バッファに蓄積されたデータ量が前記閾値に達した場合に、受信側のCPUの演算処理手段に前記バッファに蓄積されているデータの引き取りを要求するとともに、前記送信側のCPUからのデータの蓄積先を他方の前記バッファに変更し、前記送信側のCPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄積され前記演算処理手段に引き取られずに残っているデータが切り替え後のバッファに存在する場合には、少なくとも前記演算処理手段に対してオーバーラン信号を出力する手段とを有し、前記閾値は、前記送信側のCPUが前記バッファへ送信するデータの単位量よりも大きい値であるデータ処理装置。
  14. 前記バッファと前記送信側のCPUとがシリアル伝送路を介して接続されたことを特徴とする請求項13に記載のデータ処理装置。
  15. 前記バッファと前記演算処理手段とがパラレル伝送路を介して接続されたことを特徴とする請求項13又は14に記載のデータ処理装置。
  16. 前記演算処理手段が出力する制御信号に応じて前記閾値を動的に設定する手段をさらに含むことを特徴とする請求項13から15のいずれか1項記載のデータ処理装置。
  17. 前記送信側のCPUから前記バッファへのデータ転送速度よりも、前記受信側のCPUの演算処理手段が前記バッファからデータを引き取る速度の方が高速であることを特徴とする請求項13から16のいずれか1項記載のデータ処理装置。
  18. 前記送信側のCPUが前記バッファへ送信するデータはパケットデータであることを特徴とする請求項13から17のいずれか1項記載のデータ処理装置。
  19. 他のCPUとデータ伝送路を介して接続された二つのバッファと、前記他のCPUから転送されて前記バッファのいずれか一方に蓄積されたデータ量が所定の閾値に達したか否かを監視する手段と、
    前記他のCPUによって前記バッファに蓄積されたデータ量が前記閾値に達した場合に、前記バッファに蓄積されているデータの引き取りを演算処理手段に要求するとともに、前記他のCPUからのデータの蓄積先を他方の前記バッファに変更し、前記他のCPUから転送されてきたデータの蓄積先とするバッファを変更する際に、以前に蓄積され前記演算処理手段に引き取られずに残っているデータが変更後のバッファに存在する場合には、前記演算処理手段に対してオーバーラン信号を出力する手段とを有し、前記閾値は、前記他のCPUが前記バッファへ送信するデータの単位量よりも大きい値である演算装置。
  20. 前記演算処理手段からの制御信号に応じて前記閾値を動的に設定する手段をさらに含むことを特徴とする請求項19記載の演算装置。
  21. 前記他のCPUから前記バッファへのデータ転送速度よりも、前記演算処理手段が前記バッファからデータを引き取る速度の方が高速であることを特徴とする請求項19から2のいずれか1項に記載の演算装置。
  22. 前記他のCPUによって前記バッファへ蓄積されるデータはパケットデータであることを特徴とする請求項19から21のいずれか1項記載の演算装置。
  23. 二つのバッファを備え二つのCPUの間に接続されたCPU接続回路を用いたデータ転送方法であって、
    前記バッファに、前記送信側のCPUが前記バッファへ送信するデータの単位量よりも大きい値をデータ蓄積量の閾値として設定し、
    前記バッファの一方に送信側のCPUによって蓄積されたデータ量が前記閾値に達したか否かを監視し、
    送信側のCPUによって蓄積されたデータ量が前記閾値に達した場合に、受信側のCPUにデータの引き取りを要求するとともに、前記送信側のCPUからのデータの蓄積先を他方の前記バッファに変更し、前記送信側のCPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄積され前記受信側のCPUに引き取られずに残っているデータが切り替え後のバッファに存在する場合には、少なくとも前記受信側のCPUに対してオーバーラン信号を出力するデータ転送方法。
  24. 前記閾値を、前記受信側のCPUから入力される制御信号に応じて動的に設定することを特徴とする請求項23記載のデータ転送方法。
  25. 前記送信側のCPUから前記バッファへのデータ転送速度よりも、前記受信側のCPUが前記バッファからデータを引き取る速度の方が高速となるように前記二つのCPUを接続することを特徴とする請求項23から24のいずれか1項記載のデータ転送方法。
  26. 二つのバッファ及び演算処理手段を備えた受信側のCPUと送信側のCPUとを接続し、
    前記バッファに、前記送信側のCPUが前記バッファへ送信するデータの単位量よりも大きい値をデータ蓄積量の閾値として設定し、
    前記バッファの一方に、送信側のCPUによって蓄積されたデータ量が前記閾値に達したか否かを監視し、
    送信側のCPUによって蓄積されたデータ量が前記閾値に達した場合に、前記演算処理手段にデータの引き取りを要求するとともに、前記送信側のCPUからのデータの蓄積先を他方の前記バッファに変更し、前記送信側のCPUから転送されてきたデータの蓄積先とするバッファを切り換える際に、以前に蓄積され前記演算処理手段に引き取られずに残っているデータが切り替え後のバッファに存在する場合には、前記演算処理手段に対してオーバーラン信号を出力するデータ転送方法。
  27. 前記閾値は、前記演算処理手段が出力する制御信号に応じて動的に設定される請求項26に記載のデータ転送方法。
  28. 前記送信側のCPUから前記バッファへのデータ転送速度よりも、前記演算処理手段が前記バッファからデータを引き取る速度の方が高速となるように前記受信側のCPUと前記送信側のCPUとを接続することを特徴とする請求項26から27のいずれか1項記載のデータ転送方法。
  29. 前記送信側のCPUから前記バッファへパケットデータを送信することを特徴とする請求項23から28のいずれか1項記載のデータ転送方法。
  30. 二つのCPUの間に接続され、データ伝送方向ごとに二つずつのバッファを備えたCPU接続回路を用いたデータ転送方法であって、
    各データ伝送方向について、前記バッファに、上流側のCPUが前記バッファへ送信するデータの単位量よりも大きい値をデータ蓄積量の閾値として設定し、
    前記バッファの一方に、上流側のCPUによって蓄積されたデータ量が前記閾値に達したか否かを監視し、上流側のCPUによって蓄積されたデータ量が前記閾値に達した場合に、下流側のCPUにデータの引き取りを要求するとともに、前記上流側のCPUからのデータの蓄積先を他方の前記バッファに変更し、上流側の前記CPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄積され下流側の前記CPUに引き取られずに残っているデータが切り替え後のバッファに存在する場合には、少なくとも前記下流側のCPUに対してオーバーラン信号を出力するデータ転送方法。
  31. 二つのバッファを備え、二つのCPUの間に接続されたCPU接続回路を用いたデータ転送方法であって、
    前記二つのCPUの双方が前記バッファにデータを転送しようとする場合に、いずれのCPUを上流側とするかの優先順位を予め設定し、
    各データ伝送方向について、前記バッファに、上流側のCPUが前記バッファへ送信するデータの単位量よりも大きい値をデータ蓄積量の閾値として設定し、
    前記バッファの一方に、上流側のCPUによって蓄積されたデータ量が前記閾値に達したか否かを監視し、
    上流側のCPUによって蓄積されたデータ量が前記閾値に達した場合に、下流側のCPUにデータの引き取りを要求するとともに、前記上流側のCPUからのデータの蓄積先を他方の前記バッファに変更し、上流側の前記CPUがデータの蓄積先とするバッファを変更する際に、以前に蓄積され下流側の前記CPUに引き取られずに残っているデータが変更後のバッファに存在する場合には、少なくとも前記下流側のCPUに対してオーバーラン信号を出力るデータ転送方法。
  32. 前記閾値を、それぞれの伝送方向について前記下流側のCPUから入力される制御信号に応じて動的に設定することを特徴とする請求項30又は31に記載のデータ転送方法。
  33. 各データ伝送方向について、前記上流側のCPUから前記バッファへのデータ転送速度よりも、前記下流側のCPUが前記バッファからデータを引き取る速度の方が高速となるように前記二つのCPUを接続することを特徴とする請求項30から32のいずれか1項記載のデータ転送方法。
  34. 各データ伝送方向について、前記上流側のCPUから前記バッファへパケットデータを送信することを特徴とする請求項30から33のいずれか1項記載のデータ転送方法。
  35. 通信用のCPUとアプリケーション処理用との二つのCPUを有し、前記通信用CPUから前記アプリケーション用CPUへのデータ伝送路に請求項1から12のいずれか1項記載のCPU接続回路が設置されたことを特徴とする携帯通信端末。
  36. 通信用のCPUとアプリケーション処理用との二つのCPUを有し、前記通信用CPUが前記送信側のCPU、前記アプリケーション処理用のCPUが前記受信側のCPUとなって請求項13から18のいずれか1項記載のデータ処理装置を形成している携帯通信端末。
  37. 通信用のCPUとアプリケーション処理用との二つのCPUを有し、前記アプリケーション処理用のCPUとして請求項19から22のいずれか1項記載の演算装置が適用されている携帯通信端末。
JP2008526794A 2006-07-28 2007-07-25 Cpu接続回路、データ処理装置、演算装置及びこれらを用いた携帯通信端末並びにデータ転送方法 Expired - Fee Related JP5168144B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008526794A JP5168144B2 (ja) 2006-07-28 2007-07-25 Cpu接続回路、データ処理装置、演算装置及びこれらを用いた携帯通信端末並びにデータ転送方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006206808 2006-07-28
JP2006206808 2006-07-28
JP2008526794A JP5168144B2 (ja) 2006-07-28 2007-07-25 Cpu接続回路、データ処理装置、演算装置及びこれらを用いた携帯通信端末並びにデータ転送方法
PCT/JP2007/064608 WO2008013209A1 (fr) 2006-07-28 2007-07-25 Circuit de connexion de processeur, dispositif de traitement de données, dispositif opérationnel, et terminal de communications mobiles, et procédé de transfert de données les utilisant

Publications (2)

Publication Number Publication Date
JPWO2008013209A1 JPWO2008013209A1 (ja) 2009-12-17
JP5168144B2 true JP5168144B2 (ja) 2013-03-21

Family

ID=38981520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008526794A Expired - Fee Related JP5168144B2 (ja) 2006-07-28 2007-07-25 Cpu接続回路、データ処理装置、演算装置及びこれらを用いた携帯通信端末並びにデータ転送方法

Country Status (5)

Country Link
US (2) US8355326B2 (ja)
EP (1) EP2051170A4 (ja)
JP (1) JP5168144B2 (ja)
CN (2) CN102902641B (ja)
WO (1) WO2008013209A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102011137B1 (ko) * 2012-12-07 2019-08-14 삼성전자주식회사 데이터 처리 장치와 회로
US10877688B2 (en) 2016-08-01 2020-12-29 Apple Inc. System for managing memory devices
EP3340498B1 (en) * 2016-12-22 2022-07-13 Nxp B.V. Receive path quality information
EP3340497A1 (en) 2016-12-22 2018-06-27 Nxp B.V. Error concealment with redundant data streams
CN108536619B (zh) * 2017-03-03 2021-12-14 北京忆恒创源科技股份有限公司 快速恢复ftl表的方法与装置
KR102148448B1 (ko) * 2019-08-08 2020-08-26 삼성전자주식회사 데이터 처리 장치와 회로
US11971831B1 (en) * 2022-12-08 2024-04-30 Arm Limited First-in, first-out buffer

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60156159A (ja) * 1984-01-25 1985-08-16 Hitachi Ltd 磁気バブルメモリ装置
JPH01161466A (ja) * 1987-12-17 1989-06-26 Fujitsu Ten Ltd データ転送方式
US5163132A (en) * 1987-09-24 1992-11-10 Ncr Corporation Integrated controller using alternately filled and emptied buffers for controlling bi-directional data transfer between a processor and a data storage device
JPH06110653A (ja) * 1992-09-25 1994-04-22 Tokyo Electron Ltd メモリシステム及びそれを用いたメモリ制御方法
US5396597A (en) * 1992-04-03 1995-03-07 International Business Machines Corporation System for transferring data between processors via dual buffers within system memory with first and second processors accessing system memory directly and indirectly
US5664122A (en) * 1993-11-12 1997-09-02 Intel Corporation Method and apparatus for sequencing buffers for fast transfer of data between buses
US20020046307A1 (en) * 2000-10-17 2002-04-18 Treggiden Ronald Thomas A data buffer
US6526495B1 (en) * 2000-03-22 2003-02-25 Cypress Semiconductor Corp. Multiport FIFO with programmable width and depth
JP2003099396A (ja) * 2001-09-21 2003-04-04 Ricoh Co Ltd ネットワークインターフェイス回路
US20030110232A1 (en) * 2001-12-11 2003-06-12 International Business Machines Corporation Distributing messages between local queues representative of a common shared queue
JP2004206487A (ja) * 2002-12-26 2004-07-22 Kyocera Mita Corp Fifoメモリ回路
JP2005142981A (ja) * 2003-11-10 2005-06-02 Nec Corp 複数cpu構成の通信機能付き携帯端末およびその制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255370A (en) * 1987-04-28 1993-10-19 Fujitsu Ten Limited Data transfer apparatus and data transfer system
JPH1115773A (ja) * 1997-06-24 1999-01-22 Matsushita Electron Corp 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法
JP2001202168A (ja) * 2000-01-20 2001-07-27 Sony Computer Entertainment Inc 中継器
JP3700561B2 (ja) 2000-08-30 2005-09-28 松下電器産業株式会社 バッファ制御装置
US20030126280A1 (en) * 2001-12-31 2003-07-03 Maxxan Systems, Inc. XON/XOFF flow control for computer network
JP2006206808A (ja) 2005-01-31 2006-08-10 Toyobo Co Ltd スルホン酸基含有ポリマー、該ポリマーを含むポリマー組成物、該ポリマーを用いたイオン交換樹脂およびイオン交換膜、該イオン交換膜を用いて得られる膜/電極接合体および燃料電池

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60156159A (ja) * 1984-01-25 1985-08-16 Hitachi Ltd 磁気バブルメモリ装置
US5163132A (en) * 1987-09-24 1992-11-10 Ncr Corporation Integrated controller using alternately filled and emptied buffers for controlling bi-directional data transfer between a processor and a data storage device
JPH01161466A (ja) * 1987-12-17 1989-06-26 Fujitsu Ten Ltd データ転送方式
US5396597A (en) * 1992-04-03 1995-03-07 International Business Machines Corporation System for transferring data between processors via dual buffers within system memory with first and second processors accessing system memory directly and indirectly
JPH06110653A (ja) * 1992-09-25 1994-04-22 Tokyo Electron Ltd メモリシステム及びそれを用いたメモリ制御方法
US5664122A (en) * 1993-11-12 1997-09-02 Intel Corporation Method and apparatus for sequencing buffers for fast transfer of data between buses
US6526495B1 (en) * 2000-03-22 2003-02-25 Cypress Semiconductor Corp. Multiport FIFO with programmable width and depth
US20020046307A1 (en) * 2000-10-17 2002-04-18 Treggiden Ronald Thomas A data buffer
JP2003099396A (ja) * 2001-09-21 2003-04-04 Ricoh Co Ltd ネットワークインターフェイス回路
US20030110232A1 (en) * 2001-12-11 2003-06-12 International Business Machines Corporation Distributing messages between local queues representative of a common shared queue
JP2004206487A (ja) * 2002-12-26 2004-07-22 Kyocera Mita Corp Fifoメモリ回路
JP2005142981A (ja) * 2003-11-10 2005-06-02 Nec Corp 複数cpu構成の通信機能付き携帯端末およびその制御方法

Also Published As

Publication number Publication date
US20120331190A1 (en) 2012-12-27
CN102902641A (zh) 2013-01-30
US20110249560A1 (en) 2011-10-13
EP2051170A4 (en) 2010-04-21
WO2008013209A1 (fr) 2008-01-31
CN101495980A (zh) 2009-07-29
CN102902641B (zh) 2016-08-10
CN101495980B (zh) 2012-07-18
US8355326B2 (en) 2013-01-15
US8397003B2 (en) 2013-03-12
JPWO2008013209A1 (ja) 2009-12-17
EP2051170A1 (en) 2009-04-22

Similar Documents

Publication Publication Date Title
JP5168144B2 (ja) Cpu接続回路、データ処理装置、演算装置及びこれらを用いた携帯通信端末並びにデータ転送方法
US5943479A (en) Method for reducing the rate of interrupts in a high speed I/O controller
JP5746283B2 (ja) マルチプロセッサデバイスにおけるデータ転送および受信の期間中のコンテキストスイッチングを低減するための方法および装置
US8677042B2 (en) Interrupt moderation
WO2022227895A1 (zh) 数据传输方法、装置、终端设备及计算机可读存储介质
JPWO2011158467A1 (ja) データ送信装置及びデータ送信方法
CN113938945A (zh) 数据包发送的方法、装置
WO2019080866A1 (zh) 数据传输方法、设备及计算机存储介质
US20060067311A1 (en) Method of processing packet data at a high speed
JP2001203705A (ja) フロー制御回路及びフロー制御方法並びにフロー制御プログラムを記録した記憶媒体
JP2014222466A (ja) 情報処理装置、情報処理システムおよび情報処理システムの通信方法
JP2007325178A (ja) パケット処理システム、パケット処理方法、およびプログラム
US20080228823A1 (en) Frame transfer apparatus
JP4510524B2 (ja) データ通信装置
JP4716001B2 (ja) Cpu間通信システム
JPH01225261A (ja) パケット送信装置
JP4411138B2 (ja) データフロー制御方式、その回路、およびその方法
JP2023102411A (ja) シリアルインタフェース回路、その制御方法、プログラム、通信モジュール及び通信装置
JP2004318315A (ja) データ通信装置
JP2005277704A (ja) データ配信管理装置およびデータ配信管理方法
CN117692389A (zh) Rdma报文信息重传方法、装置、电子设备及存储介质
CN117290106A (zh) 一种基于操作系统的sdio通信聚合传输方法及系统
JP2020150298A (ja) 中継装置
JP2002164900A (ja) Atm交換システムとそのフロー制御方法、及びフロー制御プログラムを記録した記録媒体
JPH11225185A (ja) データ伝送方法および装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20091015

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100611

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121101

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121210

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees