JP2007517307A - 共有メモリの調停機能を備えるマルチプロセッサ移動体端末 - Google Patents

共有メモリの調停機能を備えるマルチプロセッサ移動体端末 Download PDF

Info

Publication number
JP2007517307A
JP2007517307A JP2006546948A JP2006546948A JP2007517307A JP 2007517307 A JP2007517307 A JP 2007517307A JP 2006546948 A JP2006546948 A JP 2006546948A JP 2006546948 A JP2006546948 A JP 2006546948A JP 2007517307 A JP2007517307 A JP 2007517307A
Authority
JP
Japan
Prior art keywords
real
access
cpu
time
priority
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.)
Pending
Application number
JP2006546948A
Other languages
English (en)
Inventor
ダニエル ピー. ホーミラー,
ブレット エー. パンタロン,
Original Assignee
ソニー エリクソン モバイル コミュニケーションズ, エービー
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 ソニー エリクソン モバイル コミュニケーションズ, エービー filed Critical ソニー エリクソン モバイル コミュニケーションズ, エービー
Publication of JP2007517307A publication Critical patent/JP2007517307A/ja
Pending legal-status Critical Current

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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • 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/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Bus Control (AREA)

Abstract

少なくとも2つのCPU(42,44)及び共有メモリ資源(47)を含む移動体端末(10)において、リアルタイムコードを実行しているCPUは、非リアルタイムコードを実行しているCPUに優先して、メモリ(47)にアクセスできる。1実施形態において、リアルタイムコード及び非リアルタイムコードは、論理メモリの分離した領域に配置され、CPU(42,44)と共有メモリ資源(47)との間のメモリ管理部(46)は、メモリアクセス要求のアドレスを部分的にデコードし、リアルタイムコードを実行するCPUにより高い優先度でのアクセスを許可する。他の実施形態において、各々のCPU(42,44)は、共有メモリ資源(47)へのアクセスを要求する際に優先度の信号(49)を提供し、要求された優先度に従ってアクセスが許可される。

Description

[関連出願]
本願は、35U.S.C.セクション119(e)に基づき、2003年12月30日に出願された米国仮出願第60/533,158号の優先権を主張する。この仮出願は、ここで参照により全体が本願に組み込まれる。
[背景技術]
本願は、概して、無線通信の分野に関し、特に、単一のメモリ資源へのアクセスを共有する複数のCPUを備える移動体端末に関する。
初期の無線通信システムにおいては、移動体端末は、アナログのエアインタフェース上で、音声の通信信号を送受信していた。デジタル無線通信システムの発展及び展開により、DAC及びADCの機能、エラー訂正、畳み込み符号化などが追加された。より最近の業界標準により、速度(レート)制御、電源制御、モバイルアシステッドハードハンドオフ/モバイルアシステッドソフトハンドオフなどを含む、付加的な制御通信が移動体端末と1以上の基地局との間に追加された。これらの機能及び通信はすべて、リアルタイムソフトウェアによって多くの場合実現される、リアルタイム制御を必要とする。リアルタイムソフトウェアは、プログラム内蔵型マイクロプロセッサやデジタル信号プロセッサ(ここでは併せてCPU(中央処理装置)と呼ぶ)において動作する。リアルタイムソフトウェアは、(動作が、)タイムクリティカルであり、確定的であり、かつ、遅延(レイテンシ)に対して極めて敏感であるという特徴がある。
現在の無線通信システムは、エアインタフェース上での非音声デジタル通信の能力と移動体端末における増大した計算能力とによって可能にされた、多数のサービス及び機能を提供する。そのようなサービスは、リアルタイムの株価情報やスポーツのスコアなどの、購読ベースのデータブロードキャストサービスや、インターネットブラウジングや、共同コンピューティングや、ゲームや、Eメールや、データ/イメージ/ビデオファイルの転送及び表示を含む。移動体端末の機能は、例えばカレンダー、電卓、アドレス帳などの、個人用生産性ソフトウェアを含む。これらのサービス及び機能の多くは、本質的に対話式のものであり、主観的に十分な応答性能で動作するリアルタイムソフトウェアを必要とするという意味では、リアルタイムではない。これらのサービス及び機能は、移動体端末中のCPU上で動作する非リアルタイムソフトウェアによって実現可能である。非リアルタイムソフトウェアは、(動作が)、比較的柔軟な期限を持つという特徴があり、多くの場合非確定的であり、ある程度の遅延を許容する。
費用効率の良い方法で十分な計算能力を提供するために、移動体端末の設計者の多くは、同時に動作する2以上のCPUを使用する。これら複数のCPUは、多くの場合、コードの開発及び管理を簡略化し、動作の柔軟性をできるだけ大きくし、費用をできるだけ小さくするために、単一のメモリ資源を共有する。複数のCPUが共有メモリにアクセスする度に、何らかの調停(アービトレーション)システムがデータの完全性を保証する必要がある。いくつかのそのような調停スキームが従来技術において知られている。
ロックステップ方式の調停は、複数の同一のCPUで対称的な処理を行う場合に有用である。各々のCPUは、並列計算又は冗長性を目的として、「ロックステップ方式(密集方式)」で同一の命令を実行する。
セマフォ又は「トークンビット」方式の調停は、複数の非同期処理を行うデバイスに有用である。典型的には、特定のメモリ位置が、セマフォの位置として設計される。第1のCPUは、共有メモリ資源にアクセスすると、セマフォビットをセットする。他のCPUによるメモリアクセスは、このセマフォビットの読み取り(リード)に制限され、セマフォビットがセットされている間は、他のCPUはメモリへのアクセスを試みない。第1のCPUによるメモリ操作が完了すると、第1のCPUは、最後のメモリ操作として、セマフォビットをクリアする。続いてセマフォビットを読み取りそれがクリアされていることが分かると、第2のCPUはメモリにアクセスすることができ、最初のメモリ操作として、メモリアクセスの間に他のCPUを「締め出す(ロックアウトする)」ためにセマフォビットをセットする。この調停スキームは、個々のCPUが命令及びデータをキャッシュすることができる場合、及び、共有メモリ資源へのアクセス要求が散発的である場合のうち、少なくとも一方の場合に、良く機能する。
ラウンドロビン方式の調停は、メモリへのアクセスを要求している各々のCPUに順番にメモリ(アクセス)を許可することにより、全CPUの間で平等にメモリへのアクセスを共有する。いかなるCPUにも、アクセスを要求している他のCPUに優先的してメモリへのアクセスが与えられることはない。
移動体端末中で1以上のCPUがリアルタイムコードを実行している場合、非リアルタイムソフトウェアを実行しているあらゆるCPUに優先してアクセスがリアルタイムのCPUへ与えられなければならないという要求により、調停の作業は複雑になる。従来技術の調停スキームはいずれも、優先的なアクセスのためのこの要求に取り組んでいない。
本発明は、移動体端末において、少なくとも2つのCPUの間でメモリ資源へのアクセスを調停する方法に関する。少なくとも2つのCPU及び共有メモリ資源を含む移動体端末において、前記方法は、前記CPUそれぞれから、アクセス要求及び優先度の指示情報を受信するステップと、アクセスを要求している全CPUの中で、最も優先度の高いアクセス要求を識別するステップとを備える。前記メモリ資源を利用可能である場合に、前記最も優先度の高いアクセス要求をしているCPUに、前記メモリ資源へのアクセスが許可される。前記メモリ資源へのアクセスが、等しいか或いはより高い優先度を持つ他のCPUに許可されている場合に、前記他のCPUが前記メモリ資源へのアクセスを完了することを許可される。前記メモリ資源へのアクセスが、より低い優先度を持つ他のCPUに許可されている場合に、前記他のCPUによるアクセスが中断され、前記最も優先度の高いアクセス要求をしている前記CPUに前記メモリ資源へのアクセスが許可される。
前記優先度の指示情報は、単一ビットの信号でもよいし、複数ビットの信号でもよく、アクセスを要求している優先度がそこにエンコードされる。或いは、前記優先度の指示情報は、前記共有メモリへのアクセス要求と共に前記CPUによって提供されるアドレスでもよく、アクセスを要求しているCPUの間の優先度は、メモリマップによって判断される。
本発明は、移動体端末中の複数のプロセッサの間での、共有メモリ資源へのアクセス制御に関する。ここで使用されているように、「移動体端末」という用語は、以下に列挙するもののうち少なくともいずれかを含み得る。
・マルチラインディスプレイを備えるか或いは備えないセルラ無線電話
・データ処理機能、ファクシミリ機能、及び、データ通信機能を、セルラ無線電話に一体化し得る、パーソナルコミュニケーションシステム(PCS)の端末
・無線電話、ポケットベル、インターネット/イントラネットアクセス、ウェブブラウザ、電子手帳、カレンダー、及び、全地球測位システム(GPS)受信機のうち、少なくともいずれかを含み得る携帯情報端末(PDA)
・従来のラップトップの受信機及びパームトップの受信機のうち少なくとも一方、或いは、無線電話の送受信機を含む他の機器
移動体端末はまた、「パーベイシブコンピューティング」デバイスとも呼ばれ得る。
図1は、典型的な移動体端末10のブロック図であり、オペレータ(操作者)インタフェース12と通信用電子装置30とに関する1実施形態を示す。オペレータインタフェース12は、移動体端末10を使用して音声通信を行うユーザにとって必要なデバイス及び機能を備え、併せて、その機能を制御し、移動体端末10のデータ通信機能を利用するユーザにとって必要な入力部及びディスプレイを備える。通信用電子装置30は、デジタル又はアナログの音声と、データ通信信号とのうち、少なくとも一方を送受信可能である十分に機能的な無線送受信機を移動体端末10が形成するのに必要な、回路及びデバイスを備える。具体的には、通信用電子装置30は、アンテナ32に接続され、メモリ70、送信機80、及び、受信機90と併せて制御部40を含み得る。
オペレータインタフェース12は、ディスプレイ14、キーパッド16、インタフェース制御部18、マイクロフォン20、スピーカ22、及び、スピーカ制御部24を含む。ディスプレイ14により、ユーザは、ダイヤルされた番号及び呼の状態に関する情報を見ることが可能になる。また、ディスプレイ14は、ユーザがモード及び機能を選択するためのメニューを表示する。また、一般的に、テキスト、画像、グラフィックス、ビデオなどを含む、多種多様なコンテンツを表示することができる。入力部16は、オペレータが番号をダイヤルするためのキーパッドを含む。さらに、オペレータがコマンドを入力したり、オプション(選択肢)を選択したり、或いは、移動体端末と対話(相互作用)したりするための、キー、ボタン、及び、1以上のジョイスティック又は1以上のタッチパッド又は1以上のスタイラス入力エリアを含み得る。入力部16はさらに、ディスプレイ14がタッチスクリーン機能を備える場合、ディスプレイ14経由の入力部を備え得る。任意で、カメラ入力部17は、画像又はビデオの入力部を提供してもよい。この入力部は、移動体端末と一体化して形成されるカメラによるものであってもよいし、外部のカメラを接続するコネクタであってもよい。マイクロフォン20は、ユーザから音声信号を受信し、音声信号を、送信機80へ渡されるアナログ信号に変換する。スピーカ22は、受信機90及びインタフェース制御部18のうち少なくとも一方からのアナログ信号を、ユーザが聴くことのできる音声信号に変換する。インタフェース制御部18は、ディスプレイ14、入力部16、マイクロフォン20、及び、スピーカ22を、制御部40と接続する。当業者にとって容易に理解できるように、インタフェース制御部18は、制御部40によって実行されるソフトウェアモジュールとして実施可能である。
図1に見られるように、通信用電子回路30を見ると、マイクロフォン20からのアナログ信号は送信機80へ入力される。送信機80は、アナログ/デジタル変換器82、デジタル信号プロセッサ84、変調器86、及び、増幅器88を備える。アナログ/デジタル変換器82は、マイクロフォン20からのアナログ信号をデジタル信号に変換する。デジタル信号は、デジタル信号プロセッサ(DSP)84へ渡される。デジタル信号プロセッサ84は、デジタル信号を圧縮し、エラー検出、エラー訂正、及び、シグナリングのための情報を挿入する。デジタル信号プロセッサ84からの圧縮され符号化された信号は、変調器86へ渡される。RF周波数発生器87は、参照搬送周波数を生成し、変調器86へ渡す。変調器86は、デジタル信号を、RF搬送波上での送信に適した形式に変換する。そして、増幅器88は、アンテナ32を介した送信のために、変調器86の出力を増幅する。
受信機90は、低雑音増幅器92、受信した信号用のプロセッサ94、及び、デジタル/アナログ変換器96を含む。受信された信号は、低雑音増幅器92へ渡され、低雑音増幅器92は、低レベルのRFデジタル信号を、デジタル信号プロセッサ94への入力に適したレベルに増幅する。デジタル信号プロセッサ94は、復調器及びチャネル復号器を含む。復調器は、受信した信号から、送信されたビット列を抽出する。チャネル復号器は、受信した信号中のチャネルエラーを検出して訂正する。チャネル復号器はまた、制御データ及びシグナリングデータを、音声データから分離する。デジタル信号プロセッサ94はまた、送信された信号における位相と振幅との歪みを補償するためのイコライザも含み得る。制御データ及びシグナリングデータは、制御部40へ渡される。音声データは、音声復号器によって処理され、デジタル/アナログ変換器96へ渡される。デジタル/アナログ変換器96は、ユーザが聴くことのできる可聴信号を生成するために、音声データを、スピーカ22へ入力されるアナログ信号へ変換する。送信機80及び受信機90は、アンテナ32に結合される。アンテナ32は、送信及び受信両方のために使用される。
制御部40は、送信機80及び受信機90の動作を調整するように機能する。これらの機能は、電源制御、チャネル選択、タイミング制御を含み、さらに、多数の他の機能を含む。制御部40は、送信される信号にシグナリングメッセージを挿入し、受信した信号からシグナリングメッセージを抽出する。移動体端末10において、制御部40は、シグナリングメッセージに含まれるあらゆる基地局コマンドに応答し、これらのコマンドを実行する。キーパッドなどの入力部16を介してユーザがコマンドを入力した場合、そのコマンドは実行のために制御部40へ転送される。これらの作業は、一般的には、制御部40内のプログラム内蔵型プロセッサ上で動作するリアルタイムソフトウェアによって実行される。
さらに、制御部40は、例えば以下に列挙するような様々なデータ処理作業も実行する。
・画像データ、音声データ、及び、ビデオデータを圧縮及び解凍すること。
・例えばカレンダーやゲームなどのユーザプログラムを実行すること。
・ユーザがインターネットとやり取りするためのブラウザソフトウェアを実行すること。
・制御部40内のプログラム内蔵型プロセッサ上で動作する非リアルタイムソフトウェアによって実行され得る、同様な演算作業。
上述のリアルタイムソフトウェア及び非リアルタイムソフトウェアは、多くの場合、同時に動作し、かつ、膨大な計算負荷を処理することを要求されるため、制御部40は、図1、図2、及び、図4に図示され、以下さらに詳細に説明されるように、複数のプロセッサを含み得る。
制御部40は、作用可能に、メモリ70に接続される。メモリ70は、本技術分野で知られているように、RAM、ROM、EEPROMなどのあらゆる組み合わせを含み得る。メモリ70は、プログラム化されている多様な特徴及び機能を格納するために使用され得るものであり、プログラム化されている多様な特徴及び機能は、ディスプレイ14に表示されるメニュー及び入力部16から受信された制御入力を介して、アクセス及び制御される。メモリ70はまた、リアルタイムコード及び非リアルタイムコードの両方を格納可能であり、制御部40においてそのようなコードを実行する際に動的に使用され得る。本発明によれば、メモリ70は、アクセスを要求しているすべてのCPUの間で優先順位を付けて調停を実行するメモリ管理部を介して、2以上のCPUによってアクセスされる、共有資源である。
図2は、移動体端末のための、マルチCPUの共有メモリ制御部40の1実施形態を示す図である。制御部40は、CPU42及び44を含み、CPU42及び44は共に、メモリ管理部(MMU)46を介して共有メモリ資源47にアクセスする。メモリ資源47はまた、データバス56を介してCPU42及び44両方に接続する。
特に、CPU42及び44はそれぞれ、アドレスバス48と、ハンドシェイク信号であるREQUEST50及びWAIT52とを介して、MMU46にアクセスする。CPU42又は44がメモリ資源47にアクセスすることを望む場合、アドレスバス48にアドレスを配置し、REQUEST信号50をアサートする。MMU46は、適切なWAIT信号52をディアサートする(deasserting)ことにより、CPU42又は44に対してアクセスを許可する。次いで、MMU46は、適切なアドレスバス46からアドレスを取得し、状況に応じて(optionally)、アドレス空間の変換(例えば、仮想アドレスを物理アドレスに変換)を実行し、アドレスバス54上にメモリ資源47へのアドレスを出力する。例えば、メモリバンク又はチップの選択、リード/ライト信号、ロー(行)及びカラム(列)のリフレッシュ信号などの追加的な制御は、当業者によく知られており、本発明には直接は関係しないので、明確化のために省略する。
本発明によれば、リアルタイムコードを実行しているCPU42及び44は、メモリマッピングにより、MMU46によって、共有メモリ資源47への優先的なアクセスを許可される。図3に示されるように、論理アドレス範囲のコード部分は、少なくとも2つの分離した範囲に分割される。アドレス範囲60は、例えば、第1の非リアルタイムのアドレス範囲62、第2のリアルタイムのアドレス範囲64、第3の非リアルタイムのアドレス範囲66、及び、第4のリアルタイムのアドレス範囲68に分割され得る。ソフトウェアのリンク処理の間に、リアルタイムコードを含むソフトウェアモジュールは、リアルタイムのアドレス範囲64及び68の一方に配置される。非リアルタイムコードのみを含むソフトウェアモジュールは、非リアルタイムのアドレス範囲62及び66の一方に配置される。このことは、ROM又はフラッシュメモリに配置する場合、スタティックリンカによって達成され得るものであり、RAMからコードを実行する場合、ダイナミックローダによって達成され得るものである。
CPU42又は44からのREQUEST信号50のアサーションを検出すると、MMU46は、アクセスを要求しているCPU42又は44のアドレスバス48上のアドレスを部分的にデコードし、各々のアクセス要求が範囲62、64、66、及び、68のうちどの範囲に含まれるかを判断する。各々の範囲に割り当てられたリアルタイム又は非リアルタイムの特性(プロパティ)に基づいて、MMU46は、以下のルールに従って、アクセスを要求しているCPU42及び44の間でメモリアクセスの優先順位を決定する。CPU42及び44のいずれかがメモリ47へのアクセスを要求する場合を考える。
メモリ47が、他方のCPU42又は44によって現在アクセスされていなければ、MMU46は、アクセスを要求しているCPU42又は44に関連するWAIT信号52をディアサートすることにより、アクセスを要求しているCPU42又は44によるアクセスを許可する。
他方のCPU42又は44が、リアルタイムのアドレス範囲64又は68内で現在メモリ47にアクセスしている場合、MMU46は、アクセスを要求しているCPU42又は44に関連するWAIT信号52をアサートすることにより、要求されたアクセスを待たせる。
他方のCPU42又は44が、非リアルタイムのアドレス範囲62又は66内で現在メモリ47にアクセスしている場合、MMU46は、現在アクセスしているCPU42又は44に関連するWAIT信号52をアサートすることにより、非リアルタイムのCPU42又は44を待ち状態にさせる。そして、MMU46は、アクセスを要求しているCPU42又は44に関連するWAIT信号をディアサートすることにより、リアルタイムでアクセスを要求しているCPU42又は44によるアクセスを許可する。
他方のCPU42又は44が、リアルタイムのアドレス範囲64又は68内で現在メモリ47にアクセスしており、要求されたアクセスがリアルタイムのアドレス範囲64又は68の範囲に含まれる場合、MMU46は、ラウンドロビンの原則に基づいて、アクセスを要求しているCPU42又は44にアクセスを許可する。
このようにして、リアルタイムソフトウェアを実行するCPU42又は44は、非リアルタイムソフトウェアを実行するCPU42又は44に優先して、共有メモリ資源47へのアクセスを許可される。これにより、リアルタイムのCPU42又は44によるメモリ47へのアクセスに関する遅延を減少させることができる。MMU46は、メモリ管理の基準でアクセスの優先順位を決定する。この方法は、システムの設計において自由度(柔軟性)を大幅に改善し、資源(リソース)の共有を通じてコストを削減し、ソフトウェアの複雑性を低減し、リアルタイムコードの確定的な実行を保証するという、潜在的な能力を有する。
図4は、本発明の他の実施形態に従う、共有メモリ資源へのアクセスを特徴とするシステムを示す図である。各々のCPU42及び44は、オペレーティングシステムソフトウェア72と、複数のプロセス74、76、78を実行する。各々のプロセス74、76、78は、リアルタイムでもよいし、非リアルタイムでもよく、オペレーティングシステム72によって割り当てられた多様な優先度で動作し得る。各々のCPU42及び44は、バスインタフェース70を含み、上述したものと同じ、MMU46へのインタフェース信号に加えて、PRIORITY信号49を含む。PRIORITY信号49は、1つのビットを含み得るものであり、例えば、「1」によってリアルタイムコードを示し、「0」によって非リアルタイムコードを示し得る。或いは、PRIORITY信号49は、複数のビットを含んでもよく、信号ビットの状態にエンコードされた優先度の範囲を伴ってもよい。
バスインタフェース70は、個々のCPU42又は44上で動作しているプロセスの優先度P1、P2、P3を、PRIORITY信号49に変換する。そして、必要であれば、プロセスの優先度を、PRIORITY信号49にとって適切な範囲にスケーリングする。PRIORITY信号49は、関連するREQUEST信号がアサートされるたびに、CPU42又は44によるメモリアクセス要求の優先度を提示する。複数のCPU42及び44が同時に共有メモリ資源47へのアクセスを要求した場合、個々のPRIORITY信号50上にエンコードされた最も高い優先度を持つCPU42又は44が、メモリ資源47へのアクセスを許可される。2以上のCPU42及び44が同じ優先度(これは、アクセスを要求している他のあらゆるCPU42,44よりも高い優先度である)で同時にアクセスを要求した場合、高い優先度でアクセスを要求しているCPU42及び44は、ラウンドロビンの原則でアクセスを許可される。
PRIORITY信号49を使用することにより、メモリマッピングによる調停スキームよりもさらに高い柔軟性が提供され得る。なぜなら、PRIORITY信号49を使用すれば、ソフトウェアモジュール上にいかなるリンク条件(例えば、ソフトウェアモジュールを論理メモリにおけるリアルタイム又は非リアルタイムの専用領域に配置するという条件)も課されないからである。ソフトウェアプロセスがリアルタイム又は非リアルタイムのどちらで動作するかということから独立して、異なる優先レベルがソフトウェアプロセスに割り当てられ得るので、この調停システムはまた、さらなる柔軟性を提供する。さらに、MMU46のハードウェアは、異なるソフトウェア構成に対して再利用され得る。
ここでは、特定の特徴、状況、及び、その実施形態に関して本発明を説明してきたが、多数の変形例、修正例、及び、他の実施形態が、本発明の広い範囲において可能であることは明らかである。従って、すべての変形例、修正例、及び、実施形態は、本発明の範囲内にあるものと見なされるべきである。本実施形態はそれゆえ、説明としてのすべての状況において解釈されるべきものであり、限定的なものではなく、添付の請求の範囲における意味及び等価的な範囲内に生じるすべての変更は、ここに取り込まれることが意図される。
典型的な移動体端末の機能ブロック図である。 本発明の1実施形態に従う、マルチCPUと共有メモリの制御部の機能ブロック図である。 典型的なメモリマップの図である。 本発明の第2の実施形態に従う、マルチCPUと共有メモリの制御部の機能ブロック図である。

Claims (19)

  1. 移動体端末において、少なくとも2つのCPUの間でメモリ資源へのアクセスを調停する方法であって、
    共有メモリ資源(47)と、少なくとも2つのCPU(42,44)とを含む移動体端末(10)を提供するステップと、
    前記CPU(42,44)それぞれから、アクセス要求及び優先度の指示情報を受信するステップと、
    アクセスを要求している全CPUの中で、最も優先度の高いアクセス要求を識別するステップと、
    前記メモリ資源(47)を利用可能である場合に、前記最も優先度の高いアクセス要求をしている前記CPUに前記メモリ資源(47)へのアクセスを許可するステップと、
    前記メモリ資源(47)へのアクセスが、等しいか或いはより高い優先度を持つ他のCPUに許可されている場合に、前記他のCPUが前記メモリ資源(47)へのアクセスを完了することを許可するステップと、
    前記メモリ資源(47)へのアクセスが、より低い優先度を持つ他のCPUに許可されている場合に、前記他のCPUによるアクセスを中断し、前記最も優先度の高いアクセス要求をしている前記CPUに前記メモリ資源(47)へのアクセスを許可するステップと、
    を備えることを特徴とする方法。
  2. 前記優先度の指示情報は、1つのバイナリ信号を含むことを特徴とする請求項1に記載の方法。
  3. 前記バイナリ信号の状態は、関連するCPU上で動作しているリアルタイム又は非リアルタイムのプロセスを示すことを特徴とする請求項2に記載の方法。
  4. 前記リアルタイムのプロセスは、前記非リアルタイムのプロセスよりも高い優先度を持つことを特徴とする請求項3に記載の方法。
  5. 前記優先度の指示情報は、複数のバイナリ信号を含み、
    対応する複数の優先度のレベルが、前記バイナリ信号の信号状態にエンコードされる
    ことを特徴とする請求項2に記載の方法。
  6. 前記優先度の指示情報は、前記アクセス要求に関連するアドレスを含むことを特徴とする請求項1に記載の方法。
  7. アクセスを要求している全CPUの中で、前記最も優先度の高いアクセス要求を識別する前記ステップは、
    前記アドレスを部分的にデコードするステップと、
    メモリマップにおいて前記アドレスを含むアドレス範囲(60)を識別するステップと、
    を備えることを特徴とする請求項6に記載の方法。
  8. 前記メモリマップは、リアルタイムのアドレス範囲(64,68)と非リアルタイムのアドレス範囲(62,66)とを含むことを特徴とする請求項7に記載の方法。
  9. ソフトウェアのリンク処理の間に、リアルタイムコードを含むソフトウェアモジュールが前記リアルタイムのアドレス範囲(64,68)に配置され、非リアルタイムコードを含むソフトウェアモジュールが前記非リアルタイムのアドレス範囲(62,66)に配置されることを特徴とする請求項8に記載の方法。
  10. 前記リアルタイムのアドレス範囲(64,68)に位置するアドレスは、前記非リアルタイムのアドレス範囲(62,66)に位置するアドレスよりも高い優先度を持つことを特徴とする請求項7に記載の方法。
  11. 前記メモリ資源(47)へのアクセスが、等しいか或いはより高い優先度を持つ他のCPUに許可されている場合に、前記他のCPUによるアクセスの完了に続いて、前記最も優先度の高いアクセス要求をしている前記CPUに前記メモリ資源(47)へのアクセスを許可するステップをさらに備えることを特徴とする請求項1に記載の方法。
  12. 前記最も優先度の高いアクセス要求が、アクセスを要求している2以上のCPUによって共有されている場合に、ラウンドロビンの原則に基づいて、前記最も優先度の高いアクセス要求をしている前記2以上のCPUに前記メモリ資源(47)へのアクセスを順次許可するステップをさらに備えることを特徴とする請求項1に記載の方法。
  13. 少なくとも2つのCPU及び共有メモリ資源を含む移動体端末であって、
    移動体端末(10)と、
    それぞれがリアルタイム及び非リアルタイムのソフトウェアモジュールを実行するように機能する、前記移動体端末(10)中の少なくとも2つのCPU(42,44)と、
    前記移動体端末(10)中の共有メモリ資源(47)と、
    前記少なくとも2つのCPU(42,44)の間で前記共有メモリ資源(47)へのアクセスを調停するように機能する、前記移動体端末(10)中のメモリ管理部(46)と、
    を備え、
    リアルタイムのソフトウェアモジュールを実行しているCPUは非リアルタイムのソフトウェアモジュールを実行しているCPUよりも高いアクセスの優先度を持つ
    ことを特徴とする移動体端末。
  14. 前記CPU(42,44)は、前記メモリ管理部(46)へ、前記共有メモリ資源(47)へのアクセスの要求とアドレスとを送信することを特徴とする請求項13に記載の移動体端末。
  15. 前記メモリ管理部(46)は、アクセスを要求しているそれぞれのCPUについて、当該CPUがリアルタイムのソフトウェアモジュールを実行しているか或いは非リアルタイムのソフトウェアモジュールを実行しているかを判断するために、前記アドレスを部分的にデコードすることを特徴とする請求項14に記載の移動体端末。
  16. 前記メモリ管理部(46)は、リアルタイムのアドレス範囲(64,68)及び非リアルタイムのアドレス範囲(62,66)を含むメモリマップを保持し、
    前記アクセスを要求しているCPUそれぞれは、前記部分的にデコードされたアドレスが含まれるアドレス範囲に基づいて、リアルタイム又は非リアルタイムのソフトウェアモジュールを実行していることが判断される
    ことを特徴とする請求項15に記載の移動体端末。
  17. 前記CPU(42,44)は、前記メモリ管理部(46)へ、前記共有メモリ資源(47)へのアクセスの要求と優先度の信号(49)とを送信することを特徴とする請求項13に記載の移動体端末。
  18. 前記優先度の信号(49)は、関連するCPUがリアルタイムのソフトウェアモジュールを実行しているか或いは非リアルタイムのソフトウェアモジュールを実行しているかを示すことを特徴とする請求項17に記載の移動体端末。
  19. 前記優先度の信号(49)は、複数ビットの信号であり、
    優先度のレベルは、前記優先度の信号(49)のビットパターン中にエンコードされている
    ことを特徴とする請求項17に記載の移動体端末。
JP2006546948A 2003-12-30 2004-06-24 共有メモリの調停機能を備えるマルチプロセッサ移動体端末 Pending JP2007517307A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US53315803P 2003-12-30 2003-12-30
US10/869,388 US20050144401A1 (en) 2003-12-30 2004-06-16 Multiprocessor mobile terminal with shared memory arbitration
PCT/US2004/020139 WO2005069151A1 (en) 2003-12-30 2004-06-24 Multiprocessor mobile terminal with shared memory arbitration

Publications (1)

Publication Number Publication Date
JP2007517307A true JP2007517307A (ja) 2007-06-28

Family

ID=34704348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006546948A Pending JP2007517307A (ja) 2003-12-30 2004-06-24 共有メモリの調停機能を備えるマルチプロセッサ移動体端末

Country Status (5)

Country Link
US (1) US20050144401A1 (ja)
EP (1) EP1702272B1 (ja)
JP (1) JP2007517307A (ja)
CN (1) CN1922597B (ja)
WO (1) WO2005069151A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234659A (ja) * 2007-03-22 2008-10-02 Arm Ltd 通信チャネルを介して送られるメッセージ間の調停を行うデータ処理装置および方法

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101064878B1 (ko) * 2005-03-17 2011-09-16 엠텍비젼 주식회사 복수의 프로세서에 의한 메모리 공유 방법 및 메모리 공유구조를 가지는 휴대형 단말기
CN1801813B (zh) * 2005-09-30 2010-05-05 华为技术有限公司 一种动态内容播放方法与装置
KR100634566B1 (ko) * 2005-10-06 2006-10-16 엠텍비젼 주식회사 공유 메모리 제어 방법 및 공유 메모리 동작 제어를수행하는 사용자 단말기
JP2007172268A (ja) * 2005-12-21 2007-07-05 Seiko Epson Corp コンピュータ装置
KR100740635B1 (ko) * 2005-12-26 2007-07-18 엠텍비젼 주식회사 휴대형 단말기 및 휴대형 단말기에서의 공유 메모리 제어방법
KR100782592B1 (ko) * 2006-08-10 2007-12-06 엠텍비젼 주식회사 공유 메모리를 구비한 장치 및 공유 메모리 제어 방법
US7840732B2 (en) 2006-09-25 2010-11-23 Honeywell International Inc. Stacked card address assignment
CN100444143C (zh) * 2006-11-28 2008-12-17 北京中星微电子有限公司 一种内存访问仲裁装置和方法
US8069308B2 (en) * 2008-02-13 2011-11-29 Honeywell International Inc. Cache pooling for computing systems
CN101847043B (zh) 2009-03-25 2012-11-21 联想(北京)有限公司 共用存储设备的方法及移动终端
US9063784B2 (en) * 2009-09-03 2015-06-23 International Business Machines Corporation Opening a temporary object handle on a resource object
US8880811B2 (en) * 2011-06-27 2014-11-04 Intel Mobile Communications GmbH Data processing device and data processing arrangement for accelerating buffer synchronization
US8879985B2 (en) * 2011-06-28 2014-11-04 Broadcom Corporation Memory arbitrator for electronics communications devices
US20160171167A9 (en) * 2012-07-02 2016-06-16 Physio-Control, Inc. Clinical dashboard for medical device
US9043865B2 (en) * 2012-08-31 2015-05-26 Motorola Solutions, Inc. Prioritized token based arbiter and method
US9189151B2 (en) 2013-09-06 2015-11-17 Sony Corporation Pre-emptive CPU activation from touch input
EP3249541B1 (en) 2016-05-27 2020-07-08 NXP USA, Inc. A data processor
CN107393594A (zh) * 2017-07-27 2017-11-24 郑州云海信息技术有限公司 一种多核固态硬盘调试方法及系统
WO2019133298A1 (en) 2017-12-27 2019-07-04 Daniel Maurice Lerner Managed securitized containers and container communications
US10942846B2 (en) 2019-06-25 2021-03-09 Micron Technology, Inc. Aggregated and virtualized solid state drives accessed via multiple logical address spaces
US11762798B2 (en) 2019-06-25 2023-09-19 Micron Technology, Inc. Aggregated and virtualized solid state drives with multiple host interfaces
US11513923B2 (en) 2019-06-25 2022-11-29 Micron Technology, Inc. Dynamic fail-safe redundancy in aggregated and virtualized solid state drives
US11573708B2 (en) 2019-06-25 2023-02-07 Micron Technology, Inc. Fail-safe redundancy in aggregated and virtualized solid state drives
US11055249B2 (en) * 2019-06-25 2021-07-06 Micron Technology, Inc. Access optimization in aggregated and virtualized solid state drives
US11768613B2 (en) 2019-06-25 2023-09-26 Micron Technology, Inc. Aggregation and virtualization of solid state drives
US11409643B2 (en) 2019-11-06 2022-08-09 Honeywell International Inc Systems and methods for simulating worst-case contention to determine worst-case execution time of applications executed on a processor
CN111090509B (zh) * 2019-12-06 2023-08-11 深圳震有科技股份有限公司 一种mdio资源的访问方法、存储介质及智能终端
CN112100090A (zh) * 2020-09-16 2020-12-18 浪潮(北京)电子信息产业有限公司 数据访问请求处理方法、装置、介质及内存映射控制器
CN113992572B (zh) * 2021-10-27 2023-10-27 北京八分量信息科技有限公司 异构网络中共享存储资源路径的路由方法、装置及存储介质
US11886340B1 (en) 2022-08-09 2024-01-30 Apple Inc. Real-time processing in computer systems

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01284960A (ja) * 1988-05-12 1989-11-16 Nec Ibaraki Ltd メモリ装置の使用優先順位決定方式
JPH05120239A (ja) * 1991-10-30 1993-05-18 Seiko Epson Corp 並列処理回路
JP2001356961A (ja) * 2000-06-13 2001-12-26 Nec Corp 調停装置
JP2003114825A (ja) * 2001-10-04 2003-04-18 Hitachi Ltd メモリ制御方法、その制御方法を用いたメモリ制御回路、及びそのメモリ制御回路を搭載する集積回路
JP2003196151A (ja) * 2001-12-26 2003-07-11 Matsushita Electric Ind Co Ltd データメモリ制御装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490359B1 (en) * 1992-04-27 2002-12-03 David A. Gibson Method and apparatus for using visual images to mix sound
JPH05313999A (ja) * 1992-05-12 1993-11-26 Nec Corp メモリ制御装置
WO1996041272A1 (en) * 1995-06-07 1996-12-19 Advanced Micro Devices, Inc. Computer system having an improved bus arbiter adapted for real time applications
US5913224A (en) * 1997-02-26 1999-06-15 Advanced Micro Devices, Inc. Programmable cache including a non-lockable data way and a lockable data way configured to lock real-time data
GB9724028D0 (en) * 1997-11-13 1998-01-14 Advanced Telecommunications Mo Shared memory access controller
US6389497B1 (en) * 1999-01-22 2002-05-14 Analog Devices, Inc. DRAM refresh monitoring and cycle accurate distributed bus arbitration in a multi-processing environment
DE19951716A1 (de) * 1999-10-27 2001-05-03 Heidenhain Gmbh Dr Johannes Verfahren zur dynamischen Speicherverwaltung
US6793625B2 (en) * 2000-11-13 2004-09-21 Draeger Medical Systems, Inc. Method and apparatus for concurrently displaying respective images representing real-time data and non real-time data
US6848015B2 (en) * 2001-11-30 2005-01-25 Hewlett-Packard Development Company, L.P. Arbitration technique based on processor task priority
JP4266619B2 (ja) * 2002-11-25 2009-05-20 株式会社ルネサステクノロジ 調停回路
US20040128671A1 (en) * 2002-12-31 2004-07-01 Koller Kenneth P. Software architecture for control systems
US7231499B2 (en) * 2003-12-17 2007-06-12 Broadcom Corporation Prioritization of real time / non-real time memory requests from bus compliant devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01284960A (ja) * 1988-05-12 1989-11-16 Nec Ibaraki Ltd メモリ装置の使用優先順位決定方式
JPH05120239A (ja) * 1991-10-30 1993-05-18 Seiko Epson Corp 並列処理回路
JP2001356961A (ja) * 2000-06-13 2001-12-26 Nec Corp 調停装置
JP2003114825A (ja) * 2001-10-04 2003-04-18 Hitachi Ltd メモリ制御方法、その制御方法を用いたメモリ制御回路、及びそのメモリ制御回路を搭載する集積回路
JP2003196151A (ja) * 2001-12-26 2003-07-11 Matsushita Electric Ind Co Ltd データメモリ制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234659A (ja) * 2007-03-22 2008-10-02 Arm Ltd 通信チャネルを介して送られるメッセージ間の調停を行うデータ処理装置および方法

Also Published As

Publication number Publication date
WO2005069151A1 (en) 2005-07-28
EP1702272B1 (en) 2012-09-05
EP1702272A1 (en) 2006-09-20
US20050144401A1 (en) 2005-06-30
CN1922597B (zh) 2010-09-01
CN1922597A (zh) 2007-02-28

Similar Documents

Publication Publication Date Title
JP2007517307A (ja) 共有メモリの調停機能を備えるマルチプロセッサ移動体端末
TWI601093B (zh) 執行對於圖像硬體之排程操作技術
US7996581B2 (en) DMA engine
US20040248553A1 (en) Selective pre-authentication to anticipated primary wireless access points
US7634603B2 (en) System and apparatus for early fixed latency subtractive decoding
JP2007129711A (ja) 複数の通信を調停するシステムおよび方法
JP2009514084A (ja) リセット装置を具えたデータ処理装置
US8464006B2 (en) Method and apparatus for data transmission between processors using memory remapping
CN116601601A (zh) 在多过程系统内执行可编程原子单元资源的方法
US7076627B2 (en) Memory control for multiple read requests
JP2007094649A (ja) アクセス調停回路
US7483314B2 (en) Integrated circuit with dynamic memory allocation
US20080059720A1 (en) System and method to enable prioritized sharing of devices in partitioned environments
US20130179527A1 (en) Application Engine Module, Modem Module, Wireless Device and Method
US20110271195A1 (en) Method and apparatus for allocating content components to different hardward interfaces
KR100874169B1 (ko) 프로세서간 커맨드를 직접 전달하는 듀얼 포트 메모리 및이를 수행하기 위한 방법
CN106940684B (zh) 一种按比特写数据的方法及装置
CN116529721A (zh) 按需可编程原子内核加载
JPH11259417A (ja) バスアクセス方式およびバスアクセス制御装置
WO2005057923A1 (en) Method and apparatus for multimedia display in a mobile device
US7346726B2 (en) Integrated circuit with dynamic communication service selection
KR101328102B1 (ko) 멀티미디어 데이터의 재생이 가능한 이동 단말기 및 이동 단말기의 멀티미디어 재생 방법
US20180307647A1 (en) Computing systems relating to serial and parallel interfacing operations
CN115396928A (zh) 基于WiFi6的通信方法及装置
KR20090105364A (ko) 베이스 밴드와 어플리케이션 프로세서(ap)간의 메모리공유 구조를 갖는 휴대용 단말기

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100730

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101101

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110701