JPH11312152A - 移動電子装置および制御方法 - Google Patents
移動電子装置および制御方法Info
- Publication number
- JPH11312152A JPH11312152A JP10365666A JP36566698A JPH11312152A JP H11312152 A JPH11312152 A JP H11312152A JP 10365666 A JP10365666 A JP 10365666A JP 36566698 A JP36566698 A JP 36566698A JP H11312152 A JPH11312152 A JP H11312152A
- Authority
- JP
- Japan
- Prior art keywords
- code
- dsp
- equation
- task
- host
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Abstract
をグレードアップし最適化するデータ処理アーキテクチ
ュアを得る。 【解決手段】 複数個のプロセッサ12,16を含むワ
イヤレスデータプラットホーム10。タスクが実施され
る時に情報を通信できるようにプロセッサ間に通信チャ
ネルが開設される。1個のプロセッサで実施されるダイ
ナミッククロスコンパイラー80がコードを別のプロセ
ッサのためのネーティブ処理コードへコンパイルする。
ダイナミッククロスリンカー82が他のプロセッサのた
めにコンパイルされたコードをリンクする。ネーティブ
コードはそれを包むJAVA Bean90(もしくは
他の言語タイプ)を使用してプラットホームへダウンロ
ードすることもできる。JAVA Beanは暗号化し
セキュリティのためにデジタルサインすることができ
る。
Description
置に関し、特に移動電子装置用ハードウェアおよびソフ
トウェアプラットホームに関する。
されるにつれてハンドヘルド携帯装置の人気が高まって
きている。近年PDA(Personal Digit
alAssistant)が広く使用されており、セル
ラー電話機とPDAのいくつかの能力を組み合わせたス
マートホーン(Smart phones)が近未来の
通信に著しいインパクトを与えるものと考えられる。
別の機能を提供する1個以上のDSP(デジタル信号処
理装置)もしくは他のコプロセッサ、および他のデータ
処理機能のための汎用プロセッサが内蔵されている。D
SP用コードおよび汎用プロセッサ用コードは一般的に
ROMその他の非揮発性メモリに格納され、それらは容
易に修正することができない。したがって、改善および
新しい機能を利用できるようになった時に、しばしば装
置の能力をグレードアップできないことがある。特に、
装置内に存在することがあるDSPや他のコプロセッサ
を最大限に使用することができない。
ロセッサおよびコプロセッサの使用をグレードアップし
最適化することができるデータ処理アーキテクチュアが
必要とされている。
子装置はネィティブコードを実行するコプロセッサと、
ホストプロセッサシステムに対応するネィティブコード
およびプロセッサ独立コードを実行するように作動する
ホストプロセッサシステムとを含んでいる。ホストプロ
セッサシステムはデジタル信号コプロセッサにより実施
されるタスクをダイナミックに変えるように作動する。
通信回路によりホストプロセッサシステムとコプロセッ
サ間の通信が提供される。
提供される。それは、ホストプロセッサシステムが、デ
ジタル信号処理装置であっても良いコプロセッサにより
実施されるタスクをダイナミックに割り当ててコプロセ
ッサを完全に使用できるためである。ホストプロセッサ
システムは、各プロセッサの現在の能力等の、多様な要
因に応じて複数のコプロセッサの1つへ直接ルーチンす
ることができる。
DAを実施するのに使用できる一般的なワイヤレスデー
タプラットホームアーキテクチュアの好ましい実施例を
示す。ワイヤレスデータプラットホーム10は、データ
バス14a、アドレスバス14bおよびコントロールバ
ス14cを含むバス構造14に接続された汎用(ホス
ト)プロセッサ12を含んでいる。コアプロセッサ16
aおよび周辺インターフェイス16bを含む1個以上の
DSP(もしくは他のコプロセッサ)16がバス14お
よびDSPキャッシュメモリ18a、CPUキャッシュ
18b、およびMMU(メモリマネジメントユニット)
18cを含むメモリおよびトラフィックコントローラ1
8に接続されている。ハードウェアアクセラレータ回路
20(JAVA等のポータブル言語を加速する)および
ビデオおよびLCDコントローラ22もメモリおよびト
ラフィックコントローラ18に接続されている。ビデオ
およびLCDコントローラの出力はLCDもしくはビデ
オディスプレイ24に接続されている。
8はバス14および、SDRAM(同期ダイナミックラ
ンダムアクセスメモリ)として示す、主記憶装置26に
接続されている。バス14はI/Oコントローラ28、
インターフェイス30、およびRAM/ROM32にも
接続されている。複数の装置をスマートカード34、キ
ーボード36、マウス38等のワイヤレスデータプラッ
トホーム10もしくはUSB(ユニバーサルシリアルバ
ス)ポートもしくはRS232シリアルポート等の1つ
以上のシリアルポート40に接続することができる。イ
ンターフェイス30はフラッシュメモリカード42およ
び/もしくはDRAMカード44に接続することができ
る。周辺インターフェイス16bはDSP16をDAC
(デジタル/アナログコンバータ)46、ネットワーク
インターフェイス48もしくは他の装置に接続すること
ができる。
0は汎用プロセッサ12およびDSP16を利用してい
る。DSP16が特定の固定機能専用とされている現在
の装置とは異なり、図1のDSP16は任意数の機能に
使用することができる。それにより、ユーザはDSP1
6の利益を完全に引き出すことができる。
アはマン−マシンインターフェイス(MMI)に関連し
ている。重要なのは、音声認識、イメージおよびビデオ
圧伸、データ暗号化、テキスト−音声変換、等の機能を
DSP16を使用してより効率的に実施できることであ
る。本アーキテクチュアにより新しい機能や改善をワイ
ヤレスデータプラットホーム10へ容易に付加すること
ができる。
般的なブロック図であり、さまざまに修正することがで
きる。例えば、図1には独立したDSPおよびプロセッ
サキャッシュ18a,18bが図示されている。当業者
にはお判りのように、ユニット型キャッシュも使用する
ことができる。さらに、ハードウェアアクセラレーショ
ン(acceleration)回路20はオプショナ
ルアイテムである。このような装置によりJAVA等の
言語の実行が加速されるが、この回路は装置の動作に必
要なものではない。さらに、1個のDSPしか図示され
ていないが、多数のDSP(もしくは他のコプロセッ
サ)をバスに接続することができる。
0の機能的ソフトウェアアーキテクチュアを示す。この
ブロック図はJAVAを使用するものと想定しており、
JAVA以外の言語も使用することができる。機能的
に、ソフトウェアは2つのグループへ分割され、それは
ホストプロセッサソフトウェアおよびDSPソフトウェ
アである。ホストソフトウェアは1つ以上のアプレット
40を含んでいる。DSP APIクラス42はJAV
Aアプリケーション用JAVA APIパッケージ、す
なわちDSP API50およびホストDSPインター
フェイスレイヤ52の機能へアクセスするアプレットで
ある。JAVAバーチャルマシン(VM)44がアプレ
ットを解釈する。JAVAネイティブインターフェイス
46は、JAVA VMがホストプロセッサもしくは特
定プラットホームコードを実行する方法である。ネイテ
ィブタスク48はJAVAネイティブインターフェイス
を使用せずにホストプロセッサ12により実行すること
ができる非JAVAプログラムである。後述するDSP
API50は、DSP16の能力を使用するためにコ
ールするホスト12で使用されるAPI(アプリケーシ
ョンプログラムインターフェイス)である。ホスト−D
SPインターフェイスレイヤ52は他のタスク、あるい
はホスト−DSP通信プロトコルを介したチャネルを使
用して他のハードウェアと互いに通信するためのAPI
をホスト12およびDSP16に提供する。DSPデバ
イスドライバ54はDSP16と通信するためのホスト
RTOS56(リアルタイムオペレーティングシステ
ム)用ホストベースデバイスドライバである。ホストR
TOS56はアクセラレーテッドテクノロジー社のNU
CLEUS PLUS等のオペレーティングシステムで
ある。マイクロソフト社のWINDOWSCE等の非リ
アルタイムオペレーティングシステムを使用することも
できる。DSPライブラリ58にはDSP16で実行す
るために格納されたプログラムが含まれている。
つ以上のタスク60をメモリ内に格納することができ
る。後述するように、DSPの機能がスタティックでは
なくダイナミックとなるように、タスクを所望によりメ
モリから出し入れすることができる。DSP側のホスト
−DSPインターフェイスレイヤ62はホスト側のホス
ト−DSPインターフェイスレイヤ52と同じ機能を実
施する、すなわちホスト12およびDSP16は通信す
ることができる。DSP RTOS64はDSPプロセ
ッサ用オペレーティングシステムである。ホストデバイ
スドライバ66はホスト12と通信するDSP RTO
S64用DSPベースデバイスドライバである。ホスト
−DSPインターフェイス70はDSP16をホスト1
2に接続する。
ーキテクチュアはDSP16を従来技術のように固定機
能装置ではなく、可変機能装置として使用する。したが
って、DSP機能は図2のアーキテクチュアを内蔵する
移動装置へダウンロードして、DSP16がホスト12
に対してさまざまな信号処理機能を実施できるようにす
ることができる。
ス独立インターフェイスを提供する。この機能により、
ホスト12にはDSP16にタスクをロードしてスケジ
ュールを行いかつこれらのタスクをコントロールして通
信する能力が与えられる。API機能には、DSPの利
用可能な資源を決定し、ホスト12およびDSPタスク
を生成かつコントロールし、ホスト12およびDSPタ
スク間のデータチャネルを生成かつコントロールし、タ
スクと通信するための呼出しが含まれる。これらの機能
については後述する。各機能はブール結果を戻し、それ
は成功したオペレーションに対するSUCCESS、も
しくはFAILUREである。結果がFAILUREで
あれば、errcodeをチェックしてどのエラーが発
生したかを確認しなければならない。
す。それはDSP16のMIPS能力マイナスベースM
IPS値(付加ダイナミックタスクの無いMIPS値、
すなわちカーネルプラスAPIコードプラスドライ
バ)、マイナスロードされた全てのダイナミックタスク
に対するMIPSレーティングの和である。errco
deパラメータは下記の考えられる結果を含む。
に対して利用できるメモリ量についてDevIDにより
指定されるDSP16に質問する。その結果得られる値
はprogmemおよびdatamemパラメータ内に
戻される。サイズはT DSP Words内に指定さ
れる。errcodeパラメータは下記の考えられる結
果を含む。
り当てられる。DevIDはどのデバイス上にメモリを
割り当てるかを指定する。mempageはプログラム
スペースに対しては0であり、データスペースに対して
は1である。sizeパラメータはT DSP Wor
ds内のメモリブロックサイズを指定する。戻されるm
emptrはDSP16上のメモリブロックへのポイン
ター、もしくは失敗時のNULLである。errcod
eパラメータは下記の考えられる結果を含む。
ブロックのメモリを解放する。DevIDはどのデバイ
ス上にメモリが常駐するかを指定する。mempage
はプログラムスペースに対しては0であり、データスペ
ースに対しては1である。memptrパラメータはメ
モリブロックへのポインターである。errcodeパ
ラメータは下記の考えられる結果を含む。
ameパラメータにより指定されるDSP関数コードの
コードヘッダーを戻す。戻されると、codehdrパ
ラメータにより指示される位置はコードヘッダー情報を
含む。errcodeパラメータは下記の考えられる結
果を含む。
されたアドレスで走るようにDSP関数コードをリンク
する。codehdrパラメータは関数のコードヘッダ
ーを指示する。ダイナミッククロスリンカーはコードヘ
ッダー内およびコード(COFFファイル)内の情報に
基づいてコードをリンクする。ダイナミッククロスリン
カーは必要に応じてメモリを割り当て、DSP16にコ
ードをリンクしロードする。tcsパラメータはDSP
Create Task関数において必要なタスク生
成構造へのポインターである。DSP Link Co
deはタスクの生成に備えて構造のコードエントリーポ
イント、優先順位、およびクオンタム(quantu
m)フィールドを充填する。errcodeパラメータ
は下記の考えられる結果を含む。
ge Object)をDSP16へコピーする。De
vIDはどのDSP16へオブジェクトをコピーするか
を指定する。srcaddrパラメータはホストメモリ
内のオブジェクトへのポインターである。destad
drはDSP16上のオブジェクトをコピーする位置へ
のポインターである。mempageはプログラムスペ
ースに対しては0であり、データスペースに対しては1
である。サイズパラメータはT DSP Words内の
オブジェクトのサイズを指定する。errcodeパラ
メータは下記の考えられる結果を含む。
SPのプログラムスペース内のコード位置が与えられた
らタスクを生成するようDSP16に要求する。タスク
生成構造を表1に示す。
トリーポイントが呼び出され、任意の必要な予備初期化
を行う機会をタスクに与える。Create,Susp
end,Resume,およびStopエントリーポイ
ントはNULLとすることができる。その結果得られる
TaskIDはデバイスID(DevID)とDSPの
タスクIDの両方を含んでいる。TaskIDがNUL
Lであれば、生成は失敗である。errcodeパラメ
ータは下記の考えられる結果を含む。
を開始する。タスクのStartエントリーポイントで
実行が開始する。errcodeパラメータは下記の考
えられる結果を含む。
を保留する。保留される前に、任意の必要なハウスキー
ピングを実施する機会をタスクに与えるためにタスクの
Suspendエントリーポイントが呼び出される。e
rrcodeパラメータは下記の考えられる結果を含
む。
クを再開する。再開される前に、任意の必要なハウスキ
ーピングを実施する機会をタスクに与えるためにタスク
のResumeエントリーポイントが呼び出される。e
rrcodeパラメータは下記の考えられる結果を含
む。
を削除する。削除する前に、任意の必要なクリーンナッ
プを実施する機会をタスクに与えるためにタスクのSt
opエントリーポイントが呼び出される。それはタスク
により割り当てられた任意のメモリを解放し、タスクが
取得した任意の資源を戻すことを含まなければならな
い。errcodeパラメータは下記の考えられる結果
を含む。
の優先順位を変える。優先順位はnewpriorit
yへ変えられる。newpriorityの考えられる
値はRTOS依存である。戻ると、oldpriori
tyパラメータはタスクの前の優先順位に設定される。
errcodeパラメータは下記の考えられる結果を含
む。
の状態を戻す。statusは下記の値の1つを含む。
先順位を含み、InputおよびOutputパラメー
タはタスクの、それぞれ、入力および出力IDを含む。
errcodeパラメータは下記の考えられる結果を含
む。
IDを戻す。名前を付けたオブジェクトはチャネル、タ
スク、メモリブロック、もしくは任意他のサポートされ
た名前を付けたDSPオブジェクトとすることができ
る。errcodeパラメータは下記の考えられる結果
を含む。
geはプログラムメモリ(0)もしくはデータメモリ
(1)を指定する。addrパラメータはメモリ開始ア
ドレスを指定し、countはどれだけ多くのT SD
P Wordsを読み出すかを示す。bufパラメータ
はメモリをコピーしなければならないバッファーを提供
した呼び出し者へのポインターである。errcode
パラメータは下記の考えられる結果を含む。
geはプログラムメモリ(0)もしくはデータメモリ
(1)を指定する。addrパラメータはメモリ開始ア
ドレスを指定し、countはどれだけ多くのT SD
P Wordsを書き込むかを示す。bufパラメータ
は書き込むメモリを含むバッファーへのポインターであ
る。errcodeパラメータは下記の考えられる結果
を含む。
内の値を戻す。RegIDパラメータはどのレジスタを
戻すべきかを指定する。RegIDが−1であれば、全
てのレジスタ値が戻される。バッファーを提供した発呼
者へのポインターであるregvalueパラメータ
は、全ての値を保持するのに十分な記憶装置を指示しな
ければならない。レジスタIDは特定DSP向けであり
特定のインプリメンテーションに依存する。errco
deパラメータは下記の考えられる結果を含む。
メータはどのレジスタを修正するかを指定する。reg
valueは書き込む新しい値を含んでいる。レジスタ
IDは特定DSP向けであり特定のインプリメンテーシ
ョンに依存する。errcodeパラメータは下記の考
えられる結果を含む。
ブレイクポイント(break point)を設定す
る。errcodeパラメータは下記の考えられる結果
を含む。
DSP Dbg Set Breakにより予め設定されたブレ
イクポイントをクリアする。errcodeパラメータ
は下記の考えられる結果を含む。
6への通信を処理する。ドライバ関数はホスト−DSP
通信プロトコルに明記された通信要求を取り上げ、利用
可能なハードウェアインターフェイスを介した情報の伝
送を処理する。デバイスドライバはRTOS依存かつ通
信ハードウェア依存である。
実行することができるコードのブロックを含んでいる。
ダイナミッククロスリンカーが全てのアドレス参照(r
eference)を決定できるように、コードの各ブ
ロックは予め非リンク、すなわちライブラリとして再配
置可能にリンクされている。各コードブロックはDSP
MIPS(百万命令/秒)、優先順位、タイムスライ
スクオンタム、およびメモリに対するブロックの要求に
関する情報も含んでいる。コードブロックヘッダーのフ
ォーマットを表2に示す。プログラムメモリおよびデー
タメモリサイズは、DSPがタスクのメモリ要求をサポ
ートできるかどうかの迅速なチェックをホスト12に与
えるための近似値である。十分なスペースがあるようで
あれば、ダイナミッククロスリンカーはコードのリンク
およびロードを試みることができる。ページアライメン
ト(alignment)および連続性(contig
uity)の要求により、ダイナミッククロスリンカー
はそれでも目的を果たせないことがある。好ましい実施
例では、コードはバージョン2COFFファイルフォー
マットである。
トコードへの変換 JAVAコード等のポータブル(プロセッサ独立)コー
ドをリンクされたターゲットコードへ変換する手順を図
3に示す。この手順は2つの機能、ダイナミッククロス
コンパイラー80およびダイナミッククロスリンカー8
2、を使用する。各機能はホストプロセッサ12上で実
現される。好ましい実施例では、ダイナミッククロスリ
ンカーはDSP−APIの一部である。クロスコンパイ
ラーはDSP APIの一部とすることもできる。
ータブルコードをリンクされない、実行可能なターゲッ
トプロセッサコードへ変換する。ダイナミッククロスリ
ンカー82は非リンク、実行可能なターゲットプロセッ
サコードをリンクされた、実行可能なターゲットプロセ
ッサコードへ変換する。そうするために、DSP16上
へローディングする前に、1ブロックのコード内のアド
レスを決定しなければならない。ダイナミッククロスリ
ンカー82は関数のコードセグメントおよびデータセグ
メントをリンクし、DSP16上のメモリを割り当て、
コードおよび一定のデータをDSP16へロードする。
コードを実行するターゲットプロセッサ(すなわち、D
SP16)とは異なるプロセッサ(すなわち、ホストプ
ロセッサ12)で関数(コンパイリングおよびリンキン
グ)が生じるため、この関数は“クロス”コンパイリン
グおよび“クロス”リンキングと言われる。
ーザもしくはユーザエージェント(ブラウザ等)がオン
デマンドでロードした予めリンクされていないコードを
受け取る。コードは(1)コードの“タグ”部を識別す
るか、もしくは(2)DSP16で実行する適性につい
て非タグコードセグメントを解析するために処理され
る。ソースコードのタグ部はその中に埋め込まれた“<
start DSP code>”および“<end
DSP code>”等の所定のマーカによりDSPへ
ターゲット可能なソースを描くことができる。タグ部が
直接もしくは解析により識別される場合には、DSP1
6の現在の処理状態に基づいてクロスコンパイルするか
どうかが判断される。コンパイルすると判断されれば、
コードのその部分は既知のコンパイリング方法を使用し
て非リンク、実行可能ターゲットプロセッサコードを出
力するソフトウェアをコンパイリングすることにより処
理される。コンパイルしないという判断は、例えば、D
SP16により他のタスクが実行されているため、DS
Pが利用できる容量(一般的に、利用可能MIPS−百
万命令/秒といわれる)が不十分であるか、利用可能な
メモリが不十分である場合になされる。コンパイルされ
たコードはダイナミッククロスリンカー82へ通してD
SP16において即座に使用するか、あるいはDSPラ
イブラリ58内に保存することができる。
リンクコードを受け取り、それは(1)ホストプロセッ
サ12と関連してスタティックに格納されるか、(2)
ネットワークコネクション(インターネット等のグロー
バルネットワークを含む)を介してホストプロセッサ1
2へダイナミックにダウンロードされるか、あるいは
(3)ダイナミッククロスコンパイラー80によりダイ
ナミックに発生される。ダイナミッククロスリンカー8
2はランタイムに決定されるDSP16のメモリ開始ア
ドレスの入力コードをリンクする。メモリ開始アドレス
はホストプロセッサ12もしくはDSP16により格納
され管理されるメモリマップもしくはメモリテーブルか
ら決定することができる。ダイナミッククロスリンカー
82はコード内の基準メモリ位置をDSP内の実際のメ
モリ位置へ変換する。これらのメモリ位置は、例えば、
コード内の分岐アドレスもしくはコード内のデータ位置
参照(reference)を含むことができる。
れているかどうかを含めたコードに関する全情報を含む
COFF(共通オブジェクトファイルフォーマット)内
にある。リンクされていなければ、コードをリンクする
のに変えなければならないアドレスをシンボルテーブル
が定義する。
ていくつかの著しい利点がある。第1に、ダイナミック
クロスコンパイラー80はダウンロードされたポータブ
ルコードをどこで実行するかについてランタイム判断を
行うことができる。例えば、多数のターゲットプロセッ
サ(2台のDSP16等)を有するシステムでは、ダイ
ナミッククロスコンパイラー80は利用可能な資源もし
くは能力に基づいてポータブルコードを任意の1台のタ
ーゲットプロセッサへコンパイルすることができる。ダ
イナミッククロスリンカー82はリロケータブルコード
をサポートしないターゲットプロセッサでランするよう
コードをリンクする。コードはランタイムにリンクされ
るため、DSP16(もしくは、他のターゲットプロセ
ッサ)内のメモリ位置は保存する必要がなく、デバイス
内の全ての計算資源を最適効率で使用することができ
る。コンパイリングはプラットホーム10のアーキテク
チャの知識により達成されるため、一方もしくは両方の
プロセッサのインテクジェントキャッシュアーキテクチ
ュア等の特定プロセッサおよびプラットホーム向けの特
徴をコンパイリングに利用することができる。
完全に使用するようにダイナミックに変えられるさまざ
まな機能を有することができる。例えば、ユーザは音声
認識を含むユーザインターフェイスをロードしたいこと
がある。その時、ホストプロセッサはソフトウェアをダ
ウンロードしてDSP16で実行する音声認識ソフトウ
ェアをダイナミックにクロスコンパイルおよびクロスリ
ンクする。あるいは、DSP16の現在状態に基づいて
DSPライブラリ58内の予めコンパイルされたソフト
ウェアをダイナミックにクロスリンクして実行すること
ができる。
の通信を処理する。ドライバ機能はホスト−DSP通信
プロトコルに明記された通信要求を取り入れて利用可能
なハードウァエインターフェイスを介した情報の伝送を
処理する。デバイスドライバはRTOS依存かつ通信ハ
ードウェア依存である。
DSPインターフェイスレイヤ) ホスト−DSP通信プロトコルはホスト12とDSP1
6間のコマンドおよびデータの通信を支配する。通信は
いくつかのパス、メッセージ、データチャネル、および
ストリーム、からなる。メッセージは初期化パラメータ
およびコマンドをタスクへ送るのに使用される。データ
チャネルはタスク間およびDSP16とホスト12間で
大量のデータをデータフレームの形で運ぶ。ストリーム
はタスク間およびDSP16とホスト12間でストリー
ムとされたデータを通すのに使用される。
へのエントリーポイントを有する。メッセージはユーザ
定義であり、タスク機能のための初期化パラメータおよ
びタスクをコントロールするコマンドを含む。タスクは
その生成時に指定されるコールバックを介してホスト1
2へメッセージを送る。タスクメッセージハンドラーの
プロトタイプおよびホストコールバックのプロトタイプ
をここに示す。
返答を返送するのに使用されるインプルメンテーション
依存基準値である。各Send Messageコール
について、受信者はreplyrefパラメータを使用
してReply Messageを呼び出さなければな
らない。実際のメッセージは次のようである。
askIDはシステムレベルメッセージを示す。システ
ムレベルメッセージはDSP−API関数を実施するの
に使用される。
ザ定義メッセージを送る。MsgIDはメッセージを定
義し、msgbufは実際のメッセージデータを含んで
いる。メッセージサイズはcountT DSP Wo
rdsである。メッセージへの返答はreplybuf
パラメータ内に含まれ、それは呼び出し者により提供さ
れるサイズreplybufsizeのバッファーを指
示する。それは特定のメッセージに対する返答を処理す
るのに十分なサイズでなければならない。errcod
eパラメータは下記の考えられる結果を含む。
plyrefはオリジナルメッセージの送信者へ返答を
返送するのに使用される参照(reference)で
あり、特定インプルメンテーション向けである。返答は
bufパラメータ内に含まれそのサイズはT DSP
Wordsである。errcodeパラメータは下記の
考えられる結果を含む。
へ、あるいは同じプロセッサ上のタスク間でフレームベ
ースデータを送信するのに使用される。生成されると、
チャネルはデータを含むように指定された数およびサイ
ズのフレームを割り当てる。最初に、チャネルは空フレ
ームのリストを含んでいる。データを生じるタスクはデ
ータを書き込む空フレームを要求し、書き込まれるとフ
レームはチャネルへ戻される。データを消費するタスク
はチャネルから完全なフレームを要求し、空になるとフ
レームはチャネルへ戻される。フレームバッファーのこ
の要求および戻しにより、最小限のコピーでデータを動
かすことができる。
ネルを有する。チャネルが生成されると、それは1つの
タスクへの入力、およびもう1つのタスクへの出力とし
て指示される。チャネルのIDにはデバイスIDが含ま
れ、チャネルはプロセッサ間でデータを通すことができ
る。ホスト−DSPインターフェイスを横切るチャネル
データフローは下記のようである。
する。それはカウントおよびサイズが、それぞれ、nu
mframesおよびframesize内に指定され
ている1組のフレームバッファーのコントロールを維持
するチャネルコントロール構造を生成する。生成される
と、チャネルはデータフレームを割り当てそれらをその
空フレームリストへ加える。ChannelIDは新し
いチャネルのIDを戻す。DevIDが呼出プロセッサ
のものでなければ、呼出プロセッサとDevIDプロセ
ッサの両方でチャネルコントロール構造が生成され、通
信インターフェイスを横切るデータフローがコントロー
ルされる。errcodeパラメータは下記の考えられ
る結果を含む。
チャネルを削除する。errcodeパラメータは下記
の考えられる結果を含む。
ームを要求する。ChnがNULLであれば、タスクの
出力チャネルが使用される。戻る時に、bufptrは
フレームバッファーへのポインターを含んでいる。Wa
itFlagがTRUEであり、かつ利用可能なフレー
ムバッファーがなければ、呼出者はバッファーを利用で
きるようになるまで保留される。WaitFlagがF
ALSEであれば、機能はとにかく戻る。errcod
eパラメータは下記の考えられる結果を含む。
を使ってチャネルへ戻される。bufptrにより指示
されるバッファーは指定されたチャネルIDへ戻され
る。ChnがNULLであれば、タスクの出力チャネル
が使用される。errcodeパラメータは下記の考え
られる結果を含む。
の全フレームを要求する。ChnがNULLであれば、
タスクの入力チャネルが使用される。戻る時に、buf
ptrパラメータはフレームバッファーへのポインター
を含んでいる。WaitFlagがTRUEであり、か
つ利用可能な完全なフレームバッファーがなければ、呼
び出し者はバッファーが利用できるようになるまで保留
される。WaitFlagがFALSEであれば、関数
はとにかく戻る。errcodeパラメータは下記の考
えられる結果を含む。
ら、この関数を使用してバッファーをチャネルへ戻さな
ければならない。bufptrにより指示されるバッフ
ァーは指定されたチャネルIDへ戻される。ChnがN
ULLであれば、タスクの入力チャネルが使用される。
errcodeパラメータは下記の考えられる結果を含
む。
IDに設定する。errcodeパラメータは下記の考
えられる結果を含む。
IDに設定する。errcodeパラメータは下記の考
えられる結果を含む。
スクに対して連続的に流出入するデータのために使用さ
れる。ストリームはヘッドおよび流出入時にデータを追
跡するテールポインターを付随するサーキュラーバッフ
ァー(FIFO)からなっている。各タスクは指定され
た入力および出力ストリームを有することができる。ホ
スト−DSPインターフェイスを横切るストリームデー
タフローは次のようである。
それはサイズFIFOsizeのFIFOのコントロー
ルを維持するストリームコントロール構造を生成する。
生成されると、ストリームは空FIFOを割り当て、ス
トリームに流出入するデータフローを処理するようにヘ
ッドおよびテールポインターを初期化する。Strea
mIDは新しいストリームのIDを戻す。DevIDが
呼出プロセッサのものでなければ、呼出プロセッサおよ
びDevIDプロセッサの両方にストリームコントロー
ル構造が生成され、通信インターフェイスを横切って流
れるデータをコントロールする。errcodeパラメ
ータは下記の考えられる結果を含む。
トリームを削除する。errcodeパラメータは下記
の考えられる結果を含む。
ムFIFO内にあるT DSP Wordsのカウントを
要求する。countパラメータは戻った時に数を含ん
でいる。errcodeパラメータは下記の考えられる
結果を含む。
SP Wordsのcount数を書き込む。Strm
がNULLであれば、タスクの出力ストリームが使用さ
れる。データはbufptrパラメータにより指示され
る。戻った時に、counterwrittenは実際
に書き込まれるT DSP Words数を含んでい
る。errcodeパラメータは下記の考えられる結果
を含む。
ータを読み出す。StrmがNULLであれば、タスク
の入力ストリームが使用される。データはbufptr
により指定されたバッファー内に格納される。maxc
ountまでT DSP Wordsがストリームから読
み出される。countereadパラメータは読み出
したデータの実際のカウントを含んでいる。errco
deパラメータは下記の考えられる結果を含む。
トリームを設定する。errcodeパラメータは下記
の考えられる結果を含む。
トリームを設定する。errcodeパラメータは下記
の考えられる結果を含む。
る(すなわち、ホストからDSP16へ)。メッセージ
をデバイスへ実際にルーティングするのに使用されるた
め、対応する関数呼出し内にパラメータとして存在する
デバイスIDはメッセージには内蔵されない。同様に、
関数呼出しの上半部としてデバイスIDを含むタスクI
Dはメッセージ内にデバイスIDを含まず、DSPのロ
ードタスクID部しか含んでいない。
(すなわち、ホスト12もしくはDSP16)へ確実か
つ効率的にダウンローディングする実施例を示す。コー
ドをダウンローディングするこの実施例は、例えば、イ
ンターネット、もしくは他のグローバルネットワーク、
ローカルもしくはワイドエリアネットワーク、もしくは
PCカードやスマートカード等の周辺装置からコードを
ダウンローディングするのに使用できる。
示し、Bean90はネーティブコード92のラッパー
(wrapper)として作用する。Beanはさらに
Code Type属性94a、Code Size属
性94bおよびMISP要求属性94cとして表記され
ているいくつかの属性94を含んでいる。Bean90
はLoad Codeアクション96a、Load P
arametersアクション96bおよびExwcu
te Parameter96cを含むいくつかのアク
ション96を有している。
ョン96aは外部ネーティブコード(ターゲットプロセ
ッサにとってネーティブ)をBean内へロードするの
に使用される。JAVA Beansはパーシステンス
(persistence)を有するため、Bean9
0はネーティブコード92および属性94を含むその内
部状態を格納することができる。Load Param
etersアクション96bはネーティブコード92か
ら(例えば、前記したCOFFファイルフォーマットを
使用して)パラメータを検索し属性94a−cとして格
納する。Executeアクション96cはDSP16
内にインストールされたタスクを実行する。
トプロセッサへダウンロードする様子を図5に示す。こ
の例では、ターゲットプロセッサはDSP16(もしく
は、多数のDSP16の中の1つ)であるものとする
が、それはネーティブコードをホストプロセッサ12へ
ダウンロードするのにも使用できる。さらに、所望のB
ean90はLANサーバもしくはインターネットサー
バ等のネットワークサーバ内に常駐しているものとする
が、Beanはスマートカード等のプラットホーム10
と通信する任意のデバイス内に常駐することができる。
ワイヤレスデータプラットホーム10については、ネッ
トワークサーバ100への接続はしばしばワイヤレスで
ある。
トワークサーバ100に接続されている。図2に詳細に
示すホストプロセッサ12はJAVAバーチャルマシン
44を介して1つ以上のJAVAアプレット40を実行
することができる。新しいコードをダウンロードするた
めに、ホスト12はネットワークサーバ100からBe
an90を含むアプレットをロードするか、もしくはア
プレットを含まないBeanをサーバ100からダウン
ロードすることができる。ラッパーBean90が検索
されると、ネーティブコードのサイズ、コードタイプ
(コードはどのプロセッサ用か)および必要なMIPS
を質問することができる。所期のプロセッサがコード9
2を実行するのに十分な資源を有する場合には、コード
92は所期のプロセッサ、図5に示すアーキテクチュア
内のホストプロセッサ12もしくはDSP16、で実行
するようにインストールすることができる。典型的に
は、ネーティブコード92は非リンク、コンパイルされ
たコードである。したがって、DSP−API50のク
ロスリンカー82はコードを利用可能なメモリ位置へリ
ンクする。Beanは2進ネーティブコード92をダイ
ナミッククロスリンカー82へ通し、それがコードをイ
ンストールして実行する。
ドが生じるのは、その中にDSP関数が所望されるアプ
レットをユーザが実行している場合である。最初に、ア
プレットは所望のコードがタスク60としてDSP内に
インストールされている、またはDSPライブラリ58
内で利用可能であるかをチェックする。もしそうならタ
スクはダウンロードなしで実行できる。
ラリ58内に格納されていなければ、オブジェクト(こ
こでは、“DSPLoader”オブジェクトと言う)
を生成してBean90をロードすることができる。D
SPLoaderクラスがホスト12上でローカルであ
れば、JAVAはBeanもローカルに利用可能である
かをチェックする。最初の場合、ローカルに格納された
コードを有するBeanがあることがある。そうであれ
ば、BeanからのコードはDSP(もしくは、Cod
e Typeにより指定されるいずれかのプロセッサ)
へインストールされる。コードのないBeanがローカ
ルに格納される場合には、Beanは適切なサーバから
コードを検索することができる。
ローカルではなければ、JAVAはアプレットを書き込
んだサーバからBean90をロードする。次に、Be
anからのコードは前記したようにインストールされ
る。
ティブコードのダウンローディングが説明されるが、A
ctiveXアプレット等の他の言語内にコードを包み
込んで達成することもできる。
レット)をネーティブコードのラッパーとして使用する
ことは著しい利点がある。最初に、複数のプロセッサの
中の1つへコードをローディングするのに単純な標準的
方法でよい。Beanが生成され、コードがBeanへ
ロードされて適切なプロセッサとリンクされる。Bea
n内にコードをラッピングすることなく、プロセスは数
百のステップをとることができる。第2に、多数のネー
ティブコード片を1つのアプレットにより結合し、1つ
のアプレットを使用する多数の個別のルーチンから複雑
なアプリケーションを発生してルーチンを所望により結
合することができる。第3に、言語のセキュリティ機能
を利用することができ、Bean90内のJAVAコー
ドだけでなくネーティブコード92も保護される。Ac
tiveX等の他の言語もセキュリティ機能を有する。
号化である。JAVABeanもしくはActiveX
アプレットはコードソースにより署名することができ、
Beanもしくはアプレットがダウンロードされると、
署名は信頼できるソースのリストを有する受信アプリケ
ーションにより照合される。Beanもしくはアプレッ
トに信頼できるソースの署名があれば、標準技術を使用
して解読することができる。したがって、ネーティブコ
ードは伝送中にBeanもしくはアプレットのコードと
共に暗号化され、コードの非認可修正が防止される。ネ
ーティブコードは安全であり信頼できるソースから来る
ため、属性も正確であるものと信頼することができる。
セッサのネーティブコードダウンローディングプロセス
を説明するフロー図であり、ネーティブコードは同様な
技術を使用して異なる言語のアプレットで包むことがで
きることがお判りであろう。ステップ110において、
暗号化されたデジタル署名Bean90はJAVAバー
チャルマシンを動かすデバイスへダウンロードされる。
ステップ112において、署名が照合される。信頼でき
るソースとして表記されたソースからのものでなけれ
ば、ステップ114において例外処理がイネーブル(e
nable)される。Beanが信頼できるソースから
来るものである場合、ユーザがそのソースで不自由でな
ければ、例外処理関数はユーザにBeanを受け入れる
機会を与えることができる。署名が無効であれば、例外
処理はBean90を削除してユーザへ適切なエラーメ
ッセージを送ることができる。
のであれば、ステップ116においてBeanが解読さ
れる。このステップではJAVAコードとBean内の
ネーティブコードの両方が解読される。ステップ118
において、Bean90から属性が検索されステップ1
20において、アプレットは適切なプロセッサがコード
を実行するのに十分な資源を有するかどうかを確認す
る。十分な資源を有しない場合には、例外処理ステップ
114はネーティブコードのインストールを拒絶するこ
とができ、あるいは資源を解放するステップをとること
ができる。十分な資源がある場合には、ステップ122
においてコードはクロスリンカーを使用してリンクされ
所望のプロセッサにインストールされる。ステップ12
4において、ネーティブコードが実行される。
トを下記に示す。
eBean()ルーチンはネーティブコードを保持する
Bean90を生成する。loadCode()ルーチ
ンはサーバからネーティブコードを得る。getFun
ctionalName()およびgetCodeBa
se()ルーチンは属性を検索する。installC
ode()ルーチンはクロスリンカーを呼び出してネー
ティブコードをDSPにリンクしリンクしたコードをロ
ードする。loadParameters()ルーチン
はネーティブコードを調べてその属性を確認するようB
eanを命令する。getCodesize()および
getCodetype()ルーチンは属性を要求する
アプレットへ転送する。
向けられたが、当業者ならば別の実施例だけでなくこれ
らの実施例のさまざまな修正が考えられるであろう。請
求の範囲に入る修正および別の実施例は全て本発明に含
まれるものとする。
る。 (1)移動電子装置であって、ネィティブコードを実行
するコプロセッサと、ホストプロセッサシステムおよび
プロセッサ独立コードに対応するネィティブコードを実
行するように作動するホストプロセッサシステムであっ
て、デジタル信号コプロセッサにより実施されるタスク
をダイナミックに変化させるように作動するホストプロ
セッサシステムと、前記ホストプロセッサシステムと前
記コプロセッサ間の通信回路と、を含む移動電子装置。
て、前記コプロセッサはデジタル信号処理装置である、
移動電子装置。
置であって、前記プロセッサ独立コードはJAVAを含
む、移動電子装置。
置であって、前記ホストプロセッサシステムは前記コプ
ロセッサのネーティブコードを発生することができる、
移動電子装置。
置であって、前記ホストプロセッサシステムはプロセッ
サ独立ソースコードをコンパイルすることにより前記コ
プロセッサのネーティブコードを発生することができ
る、移動電子装置。
置であって、前記ホストプロセッサシステムはソースコ
ードの識別されたブロックをコンパイルする、移動電子
装置。
置であって、前記ホストプロセッサシステムはコプロセ
ッサで実行できるソースコードのブロックを識別してコ
ードの前記ブロックをコンパイルする、移動電子装置。
置であって、さらに前記コプロセッサへダウンロードし
て実行することができるルーチンのライブラリを格納す
るメモリを含む、移動電子装置。
置であって、さらにハードウェア言語アクセラレータを
含む、移動電子装置。
装置であって、前記ハードウェアアクセラレータはJA
VAアクセラレータを含む、移動電子装置。
て、さらにネットワークからデータを受信するネットワ
ークインターフェイス回路を含む、移動電子装置。
て、コプロセッサにおいてネィティブコードを実行する
ステップと、ホストプロセッサシステムにおいてネィテ
ィブコードおよびプロセッサ独立コードを実行するステ
ップと、デジタル信号コプロセッサにより実施されるタ
スクを前記ホストプロセッサシステムによりダイナミッ
クに変えるステップと、前記ホストプロセッサシステム
と前記コプロセッサ間で通信を行うステップと、を含む
方法。
プロセッサにおいてネィティブコードを実行する前記ス
テップは、デジタル信号処理装置においてネーティブコ
ードを実行するステップを含む、方法。
あって、さらに前記一般的処理システムにおいて前記コ
プロセッサのネィティブコードを発生するステップを含
む、方法。
ィティブコードを発生する前記ステップはプロセッサ独
立ソースコードをコンパイリングしてネーティブコード
を発生するステップを含む、方法。
らに前記ソースコードのブロックを識別して前記コプロ
セッサで実行するようコンパイルするステップを含む、
方法。
あって、さらに前記ホストプロセッサシステムから前記
コプロセッサへダウンロードして実行するルーチンのラ
イブラリを格納するステップを含む、方法。
コプロセッサと、ホストプロセッサシステムであって、
ソースコードを実行し、前記1個以上のコプロセッサで
実行されるソースコードの1つ以上のセクションを識別
し、ソースコードの識別した各セクションについて、対
応するコプロセッサを決定し、ソースコードの識別した
各セクションについて、コードの前記識別したセクショ
ンを前記対応するコプロセッサに関連するネーティブコ
ードへコンパイルして前記対応するコプロセッサへイン
ストールする、ように作動する前記ホストプロセッサシ
ステムと、前記ホストプロセッサシステムと前記コプロ
セッサ間の通信回路と、を含む、移動電子装置。
て、ホストプロセッサシステムでソースコードを実行す
るステップと、1個以上のコプロセッサで実行されるソ
ースコードの1つ以上のセクションを識別するステップ
と、ソースコードの識別した各セクションについて、対
応するコプロセッサを決定するステップと、ソースコー
ドの識別した各セクションについて、コードの前記識別
したセクションを前記対応するコプロセッサに関連する
ネーティブコードへコンパイリングして前記ネーティブ
コードを前記対応するコプロセッサへインストールする
ステップと、前記ホストプロセッサシステムと前記コプ
ロセッサ間の通信を行うステップと、を含む、方法。
6)を含むワイヤレスデータプラットホーム(10)。
タスクが実施される時に情報を通信できるようにプロセ
ッサ間に通信チャネルが開設される。1個のプロセッサ
で実施されるダイナミッククロスコンパイラー(80)
がコードを別のプロセッサのためのネーティブ処理コー
ドへコンパイルする。ダイナミッククロスリンカー(8
2)が他のプロセッサのためにコンパイルされたコード
をリンクする。ネーティブコードはそれを包むJAVA
Bean(90)(もしくは他の言語タイプ)を使用
してプラットホームへダウンロードすることもできる。
JAVA Beanはセキュリティのために暗号化しデ
ジタル署名することができる。
組み入れられている、ウースリー等の米国特許出願第0
8/995,600号“Mobile Communi
cation System with Cross
Compiler and Cross Linke
r”(アットニードケット第26453号)、ブリュー
ワーの米国特許出願第08/995,597号“Met
hod and Apparatus for Pro
viding Downloadable Funct
ionality to an Embedded C
oprocessor”(アットニードケット第264
40号)、およびブリューワーの米国特許出願第08/
995,603号“Method and Appar
atus for Extending Securi
ty Model to Native Code”
(アットニードケット第26439号)に関連してい
る。
ラットホームアーキテクチュアのブロック図。
ナミッククロスリンキング機能の機能ブロック図。
nラッパー内に包まれたプロセッサで実行するネーティ
ブコードの実施例。
からデバイス上のプロセッサへ包まれたネーティブコー
ドを転送する操作を示す図。
するフロー図。
ンターフェイス) 52 ホストDSPインターフェイスレイヤ 54 DSPデバイスドライバ 56 ホストRTOS(リアルタイムオペレーティング
システム) 58 DSPライブラリ 60 タスク 62 ホスト−DSPインターフェイスレイヤ 64 DRTOS 66 ホストデバイスドライバ 70 ホスト−DSPインターフェイス 80 ダイナミッククロスコンパイラー 82 ダイナミッククロスリンカー 90 JAVA Bean 92 ネーティブコード 94 属性 96 アクション 100 ネットワークサーバ
Claims (2)
- 【請求項1】 移動電子装置であって、 ネィティブコードを実行するコプロセッサと、 ホストプロセッサシステムおよびプロセッサ独立コード
に対応するネィティブコードを実行するように作動する
ホストプロセッサシステムであって、デジタル信号コプ
ロセッサにより実施されるタスクをダイナミックに変化
させるように作動するホストプロセッサシステムと、 前記ホストプロセッサシステムと前記コプロセッサ間の
通信回路と、 を含む移動電子装置。 - 【請求項2】 移動電子装置の制御方法であって、 コプロセッサにおいてネィティブコードを実行するステ
ップと、 ホストプロセサシステムにおいてネィティブコードおよ
びプロセッサ独立コードを実行するステップと、 デジタル信号コプロセッサにより実施されるタスクを前
記ホストプロセサシステムによりダイナミックに変える
ステップと、 前記ホストプロセッサシステムと前記コプロセッサ間で
通信を行うステップと、 を含む方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US995606 | 1997-12-22 | ||
US08/995,606 US8489860B1 (en) | 1997-12-22 | 1997-12-22 | Mobile electronic device having a host processor system capable of dynamically canging tasks performed by a coprocessor in the device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11312152A true JPH11312152A (ja) | 1999-11-09 |
Family
ID=25541998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10365666A Pending JPH11312152A (ja) | 1997-12-22 | 1998-12-22 | 移動電子装置および制御方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8489860B1 (ja) |
EP (1) | EP0930793B1 (ja) |
JP (1) | JPH11312152A (ja) |
CN (1) | CN1249643A (ja) |
DE (1) | DE69839798D1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6820252B2 (en) | 2000-12-04 | 2004-11-16 | Renesas Technology Corp. | Selective conversion to native code using hardware translator, software translator, and software interpreter |
JP2009037599A (ja) * | 2002-08-09 | 2009-02-19 | Marvell World Trade Ltd | アライメントまたはブロードキャスト命令を含むマルチメディア・コプロセッサの制御メカニズム |
JP4581316B2 (ja) * | 1999-11-17 | 2010-11-17 | ソニー株式会社 | ディジタルテレビジョン受信機およびディジタルテレビジョン受信機における拡張機能提供方法 |
US7844991B1 (en) | 1999-11-17 | 2010-11-30 | Sony Corporation | Method and apparatus for digital signal processing |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6418310B1 (en) * | 1999-08-05 | 2002-07-09 | Ericsson Inc. | Wireless subscriber terminal using java control code |
GB2353918B (en) * | 1999-09-03 | 2003-12-31 | Ericsson Telefon Ab L M | Access rights in a mobile communications system |
EP2306260B1 (en) * | 2000-09-21 | 2014-02-26 | BlackBerry Limited | Software code signing system and method |
US6976217B1 (en) | 2000-10-13 | 2005-12-13 | Palmsource, Inc. | Method and apparatus for integrating phone and PDA user interface on a single processor |
JP2002185579A (ja) * | 2000-12-08 | 2002-06-28 | Nec Corp | 携帯電話端末のアプリケーションバックアップ方法 |
US8340289B2 (en) | 2005-09-29 | 2012-12-25 | Research In Motion Limited | System and method for providing an indication of randomness quality of random number data generated by a random data service |
US7797545B2 (en) | 2005-09-29 | 2010-09-14 | Research In Motion Limited | System and method for registering entities for code signing services |
KR100803290B1 (ko) | 2006-03-23 | 2008-02-13 | 한국과학기술원 | 무선 센서 네트워크 환경에서 프로그램을 변경하기 위한확장 가능한 가상 머신 및 이를 이용한 리프로그래밍 방법 |
US9503428B2 (en) | 2014-10-10 | 2016-11-22 | Zanguli Llc | Secure device and proxy for secure operation of a host data processing system |
US10983842B2 (en) * | 2019-07-08 | 2021-04-20 | Microsoft Technology Licensing, Llc | Digital signal processing plug-in implementation |
WO2021051418A1 (en) * | 2019-09-21 | 2021-03-25 | Huawei Technologies Co., Ltd. | Methods and network nodes for reliability measurement |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4727545A (en) * | 1986-09-02 | 1988-02-23 | Digital Equipment Corporation | Method and apparatus for isolating faults in a digital logic circuit |
US5329471A (en) * | 1987-06-02 | 1994-07-12 | Texas Instruments Incorporated | Emulation devices, systems and methods utilizing state machines |
US4862407A (en) * | 1987-10-05 | 1989-08-29 | Motorola, Inc. | Digital signal processing apparatus |
US5287515A (en) * | 1988-10-24 | 1994-02-15 | Kabushiki Kaisha Toshiba | Cross-software development/maintenance system |
US4878002A (en) * | 1988-10-27 | 1989-10-31 | Advanced Engineering Systems, Operations & Products, Inc. | Multi-axis DSP-based parallel processing servo controller for machine tools and robots |
JP2834837B2 (ja) * | 1990-03-30 | 1998-12-14 | 松下電工株式会社 | プログラマブルコントローラ |
US5613098A (en) * | 1991-03-07 | 1997-03-18 | Digital Equipment Corporation | Testing and debugging new Y architecture code on existing X architecture system by using an environment manager to switch between direct X code execution and simulated Y code execution |
US5339422A (en) * | 1991-03-07 | 1994-08-16 | Digital Equipment Corporation | System and method for jacketing cross-domain calls in a multi-code execution and debugging system within a multi-architecture environment |
JPH07504054A (ja) * | 1992-02-18 | 1995-04-27 | アプル・コンピュータ・インコーポレーテッド | コンピュータシステムにおけるコプロセッサのプログラミングモデル |
US5930295A (en) * | 1996-02-23 | 1999-07-27 | Isley, Jr.; William C. | Mobile terminal apparatus including net radio service in a mobile satellite service communication system |
TW243568B (en) * | 1993-11-16 | 1995-03-21 | At & T Corp | Digital signal processor with an embedded viterbi co-processor |
US5471612A (en) * | 1994-03-03 | 1995-11-28 | Borland International, Inc. | Electronic spreadsheet system and methods for compiling a formula stored in a spreadsheet into native machine code for execution by a floating-point unit upon spreadsheet recalculation |
US5559548A (en) * | 1994-05-20 | 1996-09-24 | Davis; Bruce | System and method for generating an information display schedule for an electronic program guide |
US6009507A (en) * | 1995-06-14 | 1999-12-28 | Avid Technology, Inc. | System and method for distributing processing among one or more processors |
US5826039A (en) * | 1995-12-29 | 1998-10-20 | Lucent Technologies Inc. | Universal connection point for resources and communication unrelated to a physical endpoint |
US5732074A (en) * | 1996-01-16 | 1998-03-24 | Cellport Labs, Inc. | Mobile portable wireless communication system |
US6075863A (en) * | 1996-02-28 | 2000-06-13 | Encanto Networks | Intelligent communication device |
US5768593A (en) * | 1996-03-22 | 1998-06-16 | Connectix Corporation | Dynamic cross-compilation system and method |
US5953741A (en) * | 1996-11-27 | 1999-09-14 | Vlsi Technology, Inc. | Stack cache for stack-based processor and method thereof |
US5771275A (en) * | 1996-12-17 | 1998-06-23 | Telefonaktiebolaget Lm Ericsson | Use of ISDN to provide wireless office environment connection to the public land mobile network |
FR2760918B1 (fr) * | 1997-03-12 | 1999-05-07 | Sagem | Terminal de radiocommunication pour le traitement de donnees, de serveurs internet et de messagerie electronique notamment |
DE19713965A1 (de) * | 1997-04-04 | 1998-10-08 | Deutsche Telekom Ag | Netzsteuerbares GSM-Mobilfunkgerät |
US6003065A (en) * | 1997-04-24 | 1999-12-14 | Sun Microsystems, Inc. | Method and system for distributed processing of applications on host and peripheral devices |
US6330659B1 (en) * | 1997-11-06 | 2001-12-11 | Iready Corporation | Hardware accelerator for an object-oriented programming language |
US5961586A (en) * | 1997-05-14 | 1999-10-05 | Citrix Systems, Inc. | System and method for remotely executing an interpretive language application |
US5892966A (en) * | 1997-06-27 | 1999-04-06 | Sun Microsystems, Inc. | Processor complex for executing multimedia functions |
US6173438B1 (en) * | 1997-08-18 | 2001-01-09 | National Instruments Corporation | Embedded graphical programming system |
US6078736A (en) * | 1997-08-28 | 2000-06-20 | Xilinx, Inc. | Method of designing FPGAs for dynamically reconfigurable computing |
US5923892A (en) * | 1997-10-27 | 1999-07-13 | Levy; Paul S. | Host processor and coprocessor arrangement for processing platform-independent code |
US6029000A (en) * | 1997-12-22 | 2000-02-22 | Texas Instruments Incorporated | Mobile communication system with cross compiler and cross linker |
-
1997
- 1997-12-22 US US08/995,606 patent/US8489860B1/en not_active Expired - Fee Related
-
1998
- 1998-12-16 DE DE69839798T patent/DE69839798D1/de not_active Expired - Lifetime
- 1998-12-16 EP EP98310312A patent/EP0930793B1/en not_active Expired - Lifetime
- 1998-12-22 JP JP10365666A patent/JPH11312152A/ja active Pending
- 1998-12-22 CN CN98126321.6A patent/CN1249643A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4581316B2 (ja) * | 1999-11-17 | 2010-11-17 | ソニー株式会社 | ディジタルテレビジョン受信機およびディジタルテレビジョン受信機における拡張機能提供方法 |
US7844991B1 (en) | 1999-11-17 | 2010-11-30 | Sony Corporation | Method and apparatus for digital signal processing |
US6820252B2 (en) | 2000-12-04 | 2004-11-16 | Renesas Technology Corp. | Selective conversion to native code using hardware translator, software translator, and software interpreter |
JP2009037599A (ja) * | 2002-08-09 | 2009-02-19 | Marvell World Trade Ltd | アライメントまたはブロードキャスト命令を含むマルチメディア・コプロセッサの制御メカニズム |
Also Published As
Publication number | Publication date |
---|---|
DE69839798D1 (de) | 2008-09-11 |
EP0930793B1 (en) | 2008-07-30 |
CN1249643A (zh) | 2000-04-05 |
US8489860B1 (en) | 2013-07-16 |
EP0930793A1 (en) | 1999-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6029000A (en) | Mobile communication system with cross compiler and cross linker | |
EP0924611B1 (en) | Method and apparatus for a coprocessor | |
US6219787B1 (en) | Method and apparatus for extending security model to native code | |
US20230024083A1 (en) | Method and System for Executing Applications Using Native Code Modules | |
US6802006B1 (en) | System and method of verifying the authenticity of dynamically connectable executable images | |
KR102332209B1 (ko) | 2개의 명령어 세트 아키텍처들에 따라 컴파일링된 애플리케이션 코드의 실행을 위한 시스템 및 방법 | |
US5577250A (en) | Programming model for a coprocessor on a computer system | |
US7203941B2 (en) | Associating a native resource with an application | |
JPH11312152A (ja) | 移動電子装置および制御方法 | |
US8505029B1 (en) | Virtual machine communication | |
US7707631B2 (en) | Device and method for processing a program code | |
US20210173665A1 (en) | Bootstrapping Profile-Guided Compilation and Verification | |
JP2000347871A (ja) | スタブ/アダプタ自動生成器 | |
US7650504B2 (en) | System and method of verifying the authenticity of dynamically connectable executable images | |
US8214815B2 (en) | Reducing the run-time cost of invoking a server page | |
KR20060047998A (ko) | 문서에 문맥 정보를 삽입하는 방법 및 시스템 | |
CA2416304C (en) | System and method of verifying the authenticity of dynamically connectable executable images | |
US7350193B2 (en) | Procedure invocation in an integrated computing environment having both compiled and interpreted code segments | |
CN111984263B (zh) | 在第一系统运行第二系统应用的方法、装置、设备及介质 | |
JP2003216434A (ja) | 小型情報機器において、ユーザプロファイルデータの活用により、ダウンロードプログラムの最適化を図る方法およびシステム。 | |
JPH11327906A (ja) | 動的リンキング及び動的ロ―ディングの存在下において動的にディスパッチされたコ―ルの静的結合 | |
KR20000017262A (ko) | 프로세싱 태스크 간의 애플리케이션 제어 데이터 플로우 | |
CN114816569A (zh) | 动态加载方法及装置 | |
CN117573277A (zh) | 微信小程序页面动态化方法、系统、设备及储存介质 | |
CN112445550A (zh) | 一种预处理函数的无服务器计算方法及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051222 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070130 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070501 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070508 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070530 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070604 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070702 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070705 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071002 |