JP3696515B2 - カーネル機能実現構造及びそれを備えたエンタテインメント装置、カーネルによる周辺ディバイスの制御方法 - Google Patents

カーネル機能実現構造及びそれを備えたエンタテインメント装置、カーネルによる周辺ディバイスの制御方法 Download PDF

Info

Publication number
JP3696515B2
JP3696515B2 JP2001052361A JP2001052361A JP3696515B2 JP 3696515 B2 JP3696515 B2 JP 3696515B2 JP 2001052361 A JP2001052361 A JP 2001052361A JP 2001052361 A JP2001052361 A JP 2001052361A JP 3696515 B2 JP3696515 B2 JP 3696515B2
Authority
JP
Japan
Prior art keywords
kernel
entertainment
peripheral device
program code
processor
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
JP2001052361A
Other languages
English (en)
Other versions
JP2001318873A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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
Priority to JP2001052361A priority Critical patent/JP3696515B2/ja
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to RU2001129159/09A priority patent/RU2001129159A/ru
Priority to EP01908212A priority patent/EP1342155A2/en
Priority to US09/797,515 priority patent/US6754724B2/en
Priority to PCT/JP2001/001583 priority patent/WO2001065356A2/en
Priority to MXPA01010827A priority patent/MXPA01010827A/es
Priority to AU36034/01A priority patent/AU3603401A/en
Priority to CA002370632A priority patent/CA2370632A1/en
Priority to CNB018004091A priority patent/CN1316386C/zh
Priority to BR0105552-6A priority patent/BR0105552A/pt
Priority to KR1020017013977A priority patent/KR100766670B1/ko
Priority to TW090104912A priority patent/TW592760B/zh
Publication of JP2001318873A publication Critical patent/JP2001318873A/ja
Application granted granted Critical
Publication of JP3696515B2 publication Critical patent/JP3696515B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、CD−ROM又はDVD−ROMのような二次記録媒体に記録されたディジタル情報に基づいてエンタテインメント処理を実行したり、或いは所定の音楽や画像を生成したりすることのできるエンタテインメント装置に関し、より具体的には、エンタテインメント装置に接続された周辺ディバイスの制御技術に関する。
【0002】
【従来の技術】
例えばゲームのようなエンタテインメント専用のコンピュータとして実現されるエンタテインメント装置は、それに接続されるコントローラ、外部記録媒体などの周辺ディバイスと協働して所定のエンタテイメント処理を行う。つまり、エンタテインメント装置は、エンタテインメント処理を、コントローラ、及び/又は、外部記憶手段などの周辺ディバイスからの入力に基づいて行い、その結果をテレビ受像機などの所定のディスプレイ装置、又はスピーカなどに出力するものとなっている。従って、エンタテインメント装置では、それに接続される周辺ディバイスの制御を如何に行うかという点が極めて重要なものとなっている。
【0003】
通常、このような周辺ディバイスの制御は、カーネル(Kernal)と呼ばれる、OS(Operating System)の中心的機能の一部によって実現される。
近年では、周辺ディバイス制御用のプログラムコードであるディバイスドライバをカーネル外部に置き、周辺ディバイスへの汎用性、互換性を高めた「マイクロカーネル」と呼ばれる技術が実用化されている。このマイクロカーネルは、エンタテインメントの種類に応じて多様となる周辺ディバイスとの接続が要求されるエンタテインメント装置への応用に適した特徴を有している。
しかしながら、マイクロカーネルは、その汎用性の高さ故に、各周辺ディバイスへの高いレベルでの対応が難しい。そのため、エンタテインメント装置が、必要に応じて実時間性の高い処理が要求されるゲーム装置として用いられる場合には、その処理性能が不十分となりがちである。
【0004】
一方、カーネル機能を構築するためのCPUとは異なる周辺ディバイス制御用の専用プロセッサを設け、これにより、周辺ディバイスの制御を一括的に行う技術も実用化されている。
例えば、通常は大容量の一次記録媒体を持たないエンタテインメント装置では、CD−ROMなどの二次記録媒体からのプログラムコードの読み込みが不可欠となるが、そのための処理が重くなりがちなことに鑑みて、プログラムコードの読み込みや、その復号化、伸長などを行うI/O(Input/Output)プロセッサを有している場合がある。
このようなエンタテインメント装置では、I/Oプロセッサを上述の専用プロセッサとして機能させることにより、周辺ディバイスの制御を行うようにすることが可能である。
しかしながら、I/Oプロセッサを周辺ディバイス制御用のプロセッサとして用いた場合には、I/OプロセッサとCPUとの間でプログラムコード及び必要なデータを含む情報のやり取りが必須となる。そのため、装置内部で情報の複製、転送の回数が増えがちとなり、高速な処理が求められるエンタテインメント装置には好ましくない。また、I/Oプロセッサを用いた場合には、CPUがI/Oプロセッサの処理待ちをする時間が長くなりがちとなり、これも高速処理の妨げとなる。
【0005】
【発明が解決しようとする課題】
本発明は、周辺ディバイスを高速に制御できる仕組みを備えたエンタテインメント装置及びそれを実現可能とする技術の提供を主たる課題とする。
【0006】
【課題を解決するための手段】
上記課題を解決する本発明のエンタテインメント装置は、装置内にカーネルを構築するプロセッサと、所定の周辺ディバイスを動作可能にするためのプログラムコードをカーネル外部のメモリ領域で保持する保持手段と、前記保持手段に保持されているプログラムコードの実行によって動作可能になる周辺ディバイスを装置内のバスに接続するためのディバイス接続手段とを備えており、前記カーネルと前記周辺ディバイスが接続されたバスとの間にはキューが設けられており、前記カーネルは、前記バスに接続された前記周辺ディバイスについての前記プログラムコードを前記キューを介したリモート・プロシージャ・コール(Remote Procedure Call:以下、「RPC」と称する)により前記プロセッサを介在させることなく所定の制御手段に実行させることで当該周辺ディバイスを動作させ、この動作により生じた情報を前記プロセッサに伝えることで当該周辺ディバイスを使用したエンタテインメント処理を遂行可能にするものである。
前記周辺ディバイスの一つは、例えば、暗号化されたデジタル情報が入力されたときに当該デジタル情報を前記カーネル実現体が読み取り可能なデジタル情報に復号化する半導体デバイスである。
【0007】
RPCは、エンタテインメント処理用のプログラム内の一部のプロシージャ(Procedure:プログラムに含まれる手順)を他の実行手段に任せ、実行結果を通常のプロシージャ呼び出しと同じように戻値として返す手法である。本発明では、カーネル外部に周辺ディバイスを制御するためのプログラムコードを保持しておき、エンタテインメント処理用のプログラムの実行中に、あるプロシージャを所定の制御手段(例えばCPUとは別に設けられた周辺ディバイス制御用の専用プロセッサ)に実行させる。制御手段は、該当するプログラムコードを読み出してそれを実行することにより周辺ディバイスを動作可能にする。このようにすることで、周辺ディバイス用のプログラムコードをカーネル外部に出すだけでなく、カーネルが管理するハードウエアリソース(CPU/メモリ)の外部に出すことが可能になり、ハードウエアリソースの使用効率の向上が図れ、装置全体の処理速度が速くなる。従って、一時的に実時間性が要求される高速処理にも柔軟に対応できるようになる。
【0008】
前記カーネルは、RPCによるプログラムコードの読み出し及びその実行結果の転送を前記制御手段にダイレクト・メモリ・アクセス(direct memoryaccess:以下、「DMA」と称する)により行わせる。DMAの形態としては、種々の形態を採用可能であるが、好ましくは、前記カーネルと周辺ディバイスとの間にキューを設け、前記制御手段に、前記周辺ディバイスと前記キューとの間では情報の受け渡しを第1DMAを行わせ、前記カーネルと前記キューとの間では情報の受け渡しを第1DMAと非同期の第2DMAにより行わせるようにする。このようにすれば、エンタテインメント処理中であってもキューへの情報の記録が可能になる。また、RPCをDMAで行うことにより、周辺ディバイスから直接カーネル宛の情報転送が可能になり、従来、問題となっていた、情報の転送/複製、回数を減少させることができる。
【0009】
第1DMA及び第2DMAによる前記情報の受け渡しは、少なくとも装置内部で共通に使用されている通信プロトコルにより行う。これにより、従来の手法に比べて実時間性が向上する。通信プロトコルとしては、例えばイーサネットで使用されるような汎用のプロトコルを用いることができる。そのため、使用できる周辺ディバイスの種類によらない制御ができるようになる。また、周辺ディバイス用のプログラムコードの互換性を確保することができるようになる。
【0010】
本発明は、また、所定のプログラムコードの実行によって動作可能になる周辺ディバイスを使用したエンタテインメント処理を遂行可能にするカーネルを装置内に構築するプロセッサを備えたエンタテインメント装置における、前記周辺ディバイスを制御するためのカーネル機能実現構造を提供する。このカーネル構造実現構造は、前記プログラムコードがカーネル外部のメモリ領域で保持されており、前記周辺ディバイスは、前記エンタテインメント装置内のバスに接続されるものであり、前記カーネルと前記バスとの間にはキューが設けられており、前記カーネルは、前記エンタテインメント装置に接続された周辺ディバイスについての前記プログラムコードを前記キューを介したリモート・プロシージャ・コールにより前記プロセッサを介在させることなく所定の制御手段に実行させることで当該周辺ディバイスを動作させ、この動作により生じた情報を前記プロセッサに伝えることで前記エンタテインメント処理を遂行可能にするものである。
【0011】
本発明は、また、所定のプログラムコードの実行によって動作可能になる周辺ディバイスを使用したエンタテインメント処理を遂行可能にするカーネルを装置内に構築するプロセッサを備えたエンタテインメント装置における、周辺ディバイスの制御方法を提供する。この方法は、前記プログラムコードをカーネル外部のメモリ領域で保持しておき、前記周辺ディバイスを、前記エンタテインメント装置内のバスに接続するとともに、前記カーネルが、前記バスに接続された周辺ディバイスについての前記プログラムコードを前記カーネルと前記バスとの間に設けられたキューを介したリモート・プロシージャ・コールにより前記プロセッサを介在させることなく所定の制御手段に実行させることで当該周辺ディバイスを動作させ、この動作により生じた情報を前記プロセッサに伝えることで前記エンタテインメント処理を遂行可能にすることを特徴とする。
【0012】
本発明は、また、所定のプログラムコードの実行によって動作可能になる周辺ディバイスが接続されるエンタテンメント装置内にカーネルを構築するプロセッサを含む半導体ディバイスを提供する。この半導体ディバイスにおいて、前記プログラムコードはカーネル外部のメモリ領域に保持されており、前記周辺ディバイスは、前記エンタテインメント装置内のバスに接続されるものであり、前記カーネルと前記バスとの間にはキューが設けられており、前記カーネルは、前記メモリ領域に保持されているプログラムコードを前記キューを介したリモート・プロシージャ・コールにより前記プロセッサを介在させることなく所定の制御手段に実行させることで当該周辺ディバイスを動作させ、この動作により生じた情報を前記プロセッサに伝えることで当該周辺ディバイスを使用したエンタテインメント処理を遂行するものである。
【0013】
本発明は、さらに、プロセッサとの協働により、コンピュータを、その内部にカーネルを構築したエンタテインメント装置として動作させるためのコンピュータプログラムを提供する。前記エンタテインメント装置(コンピュータ)内のバスには所定の周辺ディバイスが接続されるものであり、前記カーネルと前記バスとの間にはキューが設けられている。本発明のコンピュータプログラムは、前記コンピュータを、前記バスに接続された周辺ディバイスを動作可能にするためのプログラムコードをカーネル外部のメモリ領域で保持する保持手段として機能させるとともに、前記カーネルにおいて、前記周辺ディバイスについての前記プログラムコードを前記キューを介したリモート・プロシージャ・コールにより前記プロセッサを介在させることなく所定の制御手段に実行させることで当該周辺ディバイスを動作可能にし、この動作により生じた情報を前記プロセッサに伝えることで当該周辺ディバイスを使用したエンタテインメント処理を遂行可能にするためのコンピュータプログラムである。
【0014】
【発明の実施の形態】
以下、図面を参照して、本発明によるエンタテインメント装置の好ましい一実施形態を説明する。
【0015】
《エンタテインメント装置の構成》
本実施形態によるエンタテインメント装置の構成例を図1に示す。
このエンタテインメント装置は、例えばゲーム装置として使用することができる一種のコンピュータであって、キュー1が設けられた中間バスCBによって接続されたメインバスMB及びサブバスSBを備えており、このメインバスMB及びサブバスSBに、種々の機能実現要素を接続することにより構成されている。
【0016】
メインバスMBには、CPU2、メモリ3、画像処理部4及び第2DMAC5が接続されている。サブバスSBには、ディスクドライブ6、I/Oプロセッサ7、音処理部8、セキュリティモジュール9、第1DMAC10、コントローラ11、メモリカード12、ROM13が接続されている。
【0017】
CPU2は、マイクロプロセッサを含んで構成される半導体ディバイスである。マイクロプロセッサは、このエンタテインメント装置全体を統合的に制御し、エンタテインメント処理の一例となるゲーム処理と、ゲーム処理の際に必要となる種々のデータに基づく画像、音の再生処理とを遂行可能にする。また、ゲーム処理の遂行に先立って、エンタテインメント装置の起動時にサブバスSBに接続されたROM13から起動(Boot)プログラムを読み込んでその起動プログラムを実行し、カーネル機能を実現するためのOSを起動させるようになっている。
メモリ3は、CPU2に作業領域を提供するもので、例えばRAMにより構成されている。メモリ3には、後述の二次記録媒体Mから読み込まれたディジタル情報、例えばゲーム処理用のプログラムコード及びデータなどが展開されて書き込まれるようになっている。
尚、以後の説明において、ゲーム処理用のプログラムコードと周辺ディバイスを制御するために必要なプログラムコードとを区別する必要がある場合は、前者を「アプリケーション」、後者を「ディバイスドライバ」と称する。
【0018】
画像処理部4は、CPU2との協働により、メモリ3に展開されているディジタル情報に基づいて、図示を省略したディスプレイ装置に所望の画像を表示する上で必要となる画像データ、例えばゲームキャラクタ等を表現するためのポリゴンデータとその色情報を含むテクスチャデータとを生成する。
この画像処理部4は、具体的には、メモリ3に展開されているディジタル情報のうち、ゲーム処理の過程で読み出されたデータの座標変換などを行うジオメトリ処理ユニット、ジオメトリ処理の内容などを解読するデコーダ、ジオメトリ処理により得られたデータ(描画データ)に基づいて上記の画像データをフレーム単位で生成するレンダリング処理ユニット、生成した画像データを上記のディスプレイ装置に表示させる機構とを含んで構成される。
【0019】
キュー1は、メインバスMBとサブバスSBとの間でやり取りされる情報、すなわち、RPCによる周辺ディバイスの制御に用いられる各種コマンド及びデータ類を一時的に記録しておくものである。この実施形態では、例えば、メモリ3とI/Oプロセッサ7相互間、メモリ3とコントローラ11又はメモリカード12相互間、或いは、これらのディバイスとその他のディバイスとの間でやり取りされる情報を待ち行列の形で一時的に記録する。
【0020】
ディスクドライブ6は、例えばCD−ROM又はDVD−ROMからなる二次記録媒体Mを受け入れ、この二次記録媒体Mに記録されたアプリケーション、データその他のディジタル情報の読み取りを行うものである。アプリケーションは、例えば、ゲーム進行の制御、それに伴う画像及び音声の再生を行わせるためのプログラムコードであり、データは、上記の画像及び音声の再生に際して使用されるデータである。この実施形態では、アプリケーション及びデータが圧縮された後に、その一部が暗号化された状態で二次記録媒体に記録されているものとする。但し、暗号化は、圧縮されたアプリケーション及びデータのすべてについて行ってあっても構わない。
【0021】
I/Oプロセッサ7は、ディスクドライブ6を制御して二次記録媒体Mから上述のアプリケーション及びデータの読み込みを行うとともに、セキュリティモジュール9と協働で、読み込んだディジタル情報の復号及び伸長を行う半導体ディバイスである。
I/Oプロセッサ7においてこれらの機能を実現するためのプログラム(制御プログラム)は、例えばROM13に記録されており、エンタテインメント装置の起動時に実行される。
【0022】
セキュリティモジュール9は、エンタテインメント装置の安全性確保のために機能する専用のプロセッサ及びメモリを搭載した単一の半導体チップにより構成されている。このセキュリティモジュール9は、上述のI/Oプロセッサ7でディジタル情報の復号化処理を行う際に用いられる復号化鍵を保持しており、上述の復号化処理が行われる際に、I/Oプロセッサ7に対して必要な復号化鍵を送り出す。
尚、セキュリティモジュール9は、暗号化されたディジタル情報の復号化を単独でも行うことができるものである。
【0023】
音処理部8は、図示せぬ所定のスピーカに接続されている。音処理部8は、I/Oプロセッサ7や後述の第1DMAC10から送られるサウンドコマンドに対応したデータをそれが内蔵する図示せぬサウンドメモリから読み出すことによって音データを生成し、これを上述のスピーカに出力する。これにより、スピーカは、音処理部8の制御下で、ゲームの効果音や、映像に伴うBGMなどの所定の音を出力することになる。
【0024】
コントローラ11及びメモリカード12は、周辺ディバイスの一例となるもので、図示せぬ入力端子を介してサブバスSBに接続され、ディバイスドライバの実行によって動作可能になるものである。このように、本実施形態では、入力端子、サブバスSB及びこのサブバスSBの制御機構(図示省略)により、ディバイス接続手段を構成している。
【0025】
コントローラ11は、エンタテインメント装置に対して遊技者の意思を入力するための入力装置として、例えば、上下左右方向へのカーソル移動の要求を入力したり、何らかの処理の実行についての要求を入力したりできるように動作する。
メモリカード12は、フラッシュROMを所定サイズのカード媒体に内蔵したもので、ゲームが、その進行過程で、蓄積可能なゲームデータを生じさせるものである場合に、ゲームを楽しむ者が、そのゲームを途中で中断した時点又はゲームを終了した時点における上記ゲームデータを記録したりするためなどに使用される。尚、メモリカード12に代えて、あるいはメモリカード12と共にコントローラ11にフラッシュROMが内蔵されている場合もある。
【0026】
第1DMAC10及び第2DMAC5は、協働して、上述のI/Oプロセッサ7によるRPCをDMAで行えるようにするものである。
第1DMAC10は、少なくともコントローラ11及び/又はメモリカード12とキューとの間で受け渡される情報の読み出し及び書き込みを制御する。第2DMAC5は、少なくともメモリ3とキュー1との間で受け渡される情報の読み出し及び書き込みを制御する。
尚、この実施形態では、バスの数にあわせてDMACを2種類設けているが、第1DMAC10と第2DMAC5を一つの制御モジュールで実現しても良い。
【0027】
《カーネル機能実現構造》
本実施形態では、実行中のアプリケーションからコントローラ11への要求のすべてを、DMAによるRPCで行う。そのために、コントローラ11を所要の態様で動作させたりするためのディバイスドライバをカーネルの外部の保持手段、例えばROM13、二次記録媒体M、あるいはメモリカード12のフラッシュROMに記録しておき、アプリケーションの実行中にI/Oプロセッサ7などを通じて、そのディバイスドライバを実行する。便宜上、本例では、ROM13にディバイスドライバが記録されているものとする。
【0028】
以上のような機能を実現するためのカーネルは、図2に示される構造を有するものとなる。すなわち、カーネルの内部には、タスク管理を司る機能と割込制御を司る機能とが形成される。従来のこの種のエンタテインメント装置のカーネル(マイクロカーネルを除く)は、内部に周辺ディバイスのディバイスドライバも記録されるようになっているが、このエンタテインメント装置では、ディバイスドライバは、カーネル外部の保持手段に保持されるようになっている。コントローラ11などの周辺ディバイスの制御が必要になる場合は、その周辺ディバイスのディバイスドライバをRPCにより保持手段から読み出してI/Oプロセッサ7などに実行させる。これにより、当該周辺ディバイスが動作可能になる。
周辺ディバイスの制御をRPCによって行う場合、RPCによる実行結果の情報は、いわゆる「戻値」としてカーネルに転送されるが、この場合の転送をDMAによって行うようにすることで、周辺ディバイスの高速制御が可能になる。
【0029】
《カーネルによる周辺ディバイスの制御方法》
次に、上記のカーネル機能実現構造を有するエンタテインメント装置における周辺ディバイスの制御方法を、図3〜図5を参照して説明する。
ここでは、カーネルが有する種々の機能のうち、周辺ディバイスの動作を制御する機能の部分について説明する。周辺ディバイスは、上述のコントローラ11を例に挙げるが、メモリカード12及びエンタテインメント装置と接続され得る他のディバイスについても同様となる。RPCは、それ専用の通信プロトコルではなく、装置内で共通に使用される通信プロトコルにより行われる。
【0030】
(アプリケーション→コントローラ11:図3、図4)
図3のように、メモリ3に展開されているプログラムコード及びデータに基づいてCPU2がアプリケーションを実行している過程で(ステップS101)、コントローラ11に対する何らかの働きかけを行いたい場合には、そのためのRPC要求がそのアプリケーションから発せされる(ステップS102)。例えば、コントローラ11が振動発生機構を備えており、ゲームの所定の場面でこの振動発生機構を動作させて何らかの演出効果を生じさせたい場合には、振動発生機構を動作させるために必要な情報が、アプリケーションから発せされる。
この情報は、第2DMAC5を通じてメモリ3からDMAによってキュー1に転送され、待ち行列の形で一時記録される(ステップS103、S104)。
図4に移り、I/Oプロセッサ7は、キュー1に記録されている情報に基づいてROM13のディバイスドライバを探しだし、これを実行する(ステップS105、S106)。
このようにして、アプリケーションからの要求内容が、CPU2を介在せずにコントローラ11に伝わる(ステップS107)。
【0031】
(コントローラ11→アプリケーション:図4、図5)
図4において、コントローラ11で生じたデータ、例えば、ゲームを楽しむ者がコントローラ11を通じて入力した情報、あるいは、コントローラ11がアナログ入力、ディジタル入力の双方に対応するものである場合にどちらの入力形態が採用されているかといったことについての情報は、第1DMAC10を通じてキュー1に一時記録される(ステップS202)。
図5に移り、キュー1に記録されたデータは、第2DMAC5で適宜のタイミングで読み込まれてメモリ3に転送される(ステップS203)。メモリ3にデータが記録されたことは、第2DMAC5を通じてCPU2に伝わる(ステップS204,S205)。CPU2は、メモリ3に記録されたデータを、アプリケーションの継続実行用のデータとして使用する(ステップS206)。例えば、コントローラ11において右方向に対応するキー入力があった場合には、ディスプレイ装置に表示される所定のキャラクタを右向きに移動させるといった利用がなされる。
【0032】
このようにして、アプリケーションからコントローラ11への要求と、その結果を表すデータのアプリケーションへの受け渡しがDMAによって容易に実現される。その際、必要な要求及びデータは、CPU2による直接の処理を経ずに、メモリ3に転送されて記録される。RPCは、並行プログラミングと親和性の高い機構である。そのため、CPU2がI/Oプロセッサ7の応答を長時間待つことがない。従って、従来、多くのI/Oプロセッサをもつシステムで問題となっていた、情報の転送/複製、回数を減少させることができ、CPU2の実質的な稼働率を高効率に保てるようになる。
【0033】
このように、本実施形態のエンタテインメント装置では、コントローラ11を使用したエンタテインメント処理を遂行する際に、そのコントローラ11についてのディバイスドライバをRPCにより実行させるようにしたので、ディバイスドライバをカーネル外部に出すだけでなく、カーネルが管理するリソース(CPU/メモリ)の外部に出すことが可能になり、エンタテインメント処理の実行効率の向上を図ることができる。
【0034】
また、RPCをDMAにより行うようにしたので、コントローラ11から直接メモリ3へのデータ転送が可能になり、CPU2におけるデータの転送、複製の回数を減少させることができるようになる。
【0035】
また、コントローラ11とキュー1との間のデータ受け渡しと、キュー1とCPU2(カーネル)との間のデータ受け渡しとを、互いに非同期のDMAによって行うようにしたので、アプリケーションからの要求とコントローラ11で生じるデータの発生タイミングが多少ずれていても、安定的なデータの受け渡しが可能になる。
また、この受け渡しを装置内で共通の通信プロトコルベースで行えるようにしたので、ディバイスドライバの種類によらない汎用的な制御形態が可能になる。
【0036】
なお、本実施形態では、図1に示した構成のエンタテインメント装置を用いて実現した特徴的なカーネルと、このカーネルによる周辺ディバイスの制御方法の例を説明したが、本発明は、上記の実施形態のほか、OSを搭載した汎用のコンピュータに事後的にコンピュータプログラム(アプリケーション、ディバイスドライバを除く)を読み込ませて実行させることによっても実施することが可能である。
また、プロセッサ及びそのプロセッサに所要の機能を形成させるためのプログラムを搭載した一又は複数の半導体ディバイスと上記のコンピュータと協働して、上記のカーネルと周辺ディバイスの制御方法を実施することも可能である。
【0037】
【発明の効果】
以上の説明から明らかなように、本発明によれば、周辺ディバイスを高速に制御できるエンタテインメント装置及びそれを実現可能とする技術を提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態によるエンタテインメント装置のハードウエア構成を示す図。
【図2】本実施形態によるカーネルの構造説明図。
【図3】アプリケーションからコントローラに対する何らかの働きかけを行いたい場合の処理手順を示した説明図。
【図4】キューを介した情報(データ)の受け渡しの処理手順を示した説明図。
【図5】コントローラで生じたデータをアプリケーションに伝える場合の処理手順を示した説明図。
【符号の説明】
1 キュー
2 CPU
3 メモリ
5,10 DMAC
6 ディスクドライブ
7 I/Oプロセッサ
9 セキュリティモジュール
11 コントローラ
12 メモリカード
13 ROM

Claims (10)

  1. 装置内にカーネルを構築するプロセッサと、
    所定の周辺ディバイスを動作可能にするためのプログラムコードをカーネル外部のメモリ領域で保持する保持手段と、
    前記保持手段に保持されているプログラムコードの実行によって動作可能になる周辺ディバイスを装置内のバスに接続するためのディバイス接続手段とを備えており、
    前記カーネルと前記周辺ディバイスが接続されたバスとの間にはキューが設けられており
    前記カーネルは、前記バスに接続された前記周辺ディバイスについての前記プログラムコードを前記キューを介したリモート・プロシージャ・コール(「RPC」)により前記プロセッサを介在させることなく所定の制御手段に実行させることで当該周辺ディバイスを動作させ、この動作により生じた情報を前記プロセッサに伝えることで当該周辺ディバイスを使用したエンタテインメント処理を遂行可能にするものである、
    エンタテインメント装置。
  2. 前記周辺ディバイスの一つは、暗号化されたデジタル情報が入力されたときに当該デジタル情報を前記カーネル実現体が読み取り可能なデジタル情報に復号化する半導体デバイスである、
    請求項1記載のエンタテインメント装置。
  3. 前記カーネルは、前記RPCによるプログラムコードの読み出し及びその実行結果の転送を前記制御手段にダイレクト・メモリ・アクセス(「DMA」)により行わせるものである、
    請求項1記載のエンタテインメント装置。
  4. 前記制御手段は、前記周辺ディバイスが接続されたバスと前記キューとの間では情報の受け渡しを第1DMAにより行い、前記カーネルと前記キューとの間では情報の受け渡しを第1DMAと非同期の第2DMAにより行うものである、
    請求項記載のエンタテインメント装置。
  5. 第1DMA及び第2DMAによる前記情報の受け渡しが少なくとも装置内部で共通に使用されている通信プロトコルにより行われるように構成されている、
    請求項3記載のエンタテインメント装置。
  6. 前記周辺ディバイスが離脱自在に装着される二次記録媒体を含むディバイスであり、
    前記プログラムコードの実行に際して使用されるデータが前記二次記録媒体に記録されており、
    この二次記録媒体に記録されたデータが前記プログラムコードの実行の際に前記カーネル宛にDMAにより転送されるように構成されている、
    請求項1記載のエンタテインメント装置。
  7. 所定のプログラムコードの実行によって動作可能になる周辺ディバイスを使用したエンタテインメント処理を遂行可能にするカーネルを装置内に構築するプロセッサを備えたエンタテインメント装置における、前記周辺ディバイスを制御するためのカーネル機能実現構造であって、
    前記プログラムコードがカーネル外部のメモリ領域で保持されており、
    前記周辺ディバイスは、前記エンタテインメント装置内のバスに接続されるものであり、
    前記カーネルと前記バスとの間にはキューが設けられており
    前記カーネルは、前記エンタテインメント装置に接続された周辺ディバイスについての前記プログラムコードを前記キューを介したリモート・プロシージャ・コールにより前記プロセッサを介在させることなく所定の制御手段に実行させることで当該周辺ディバイスを動作させ、この動作により生じた情報を前記プロセッサに伝えることで前記エンタテインメント処理を遂行可能にするものである、
    カーネル機能実現構造。
  8. 所定のプログラムコードの実行によって動作可能になる周辺ディバイスを使用したエンタテインメント処理を遂行可能にするカーネルを装置内に構築するプロセッサを備えたエンタテインメント装置における、周辺ディバイスの制御方法であって、
    前記プログラムコードをカーネル外部のメモリ領域で保持しておき、
    前記周辺ディバイスを、前記エンタテインメント装置内のバスに接続するとともに、
    前記カーネルが、前記バスに接続された周辺ディバイスについての前記プログラムコードを前記カーネルと前記バスとの間に設けられたキューを介したリモート・プロシージャ・コールにより前記プロセッサを介在させることなく所定の制御手段に実行させることで当該周辺ディバイスを動作させ、この動作により生じた情報を前記プロセッサに伝えることで前記エンタテインメント処理を遂行可能にする、
    カーネルによる周辺ディバイスの制御方法。
  9. 所定のプログラムコードの実行によって動作可能になる周辺ディバイスが接続されるエンタテンメント装置内にカーネルを構築するプロセッサを含む半導体ディバイスであって、
    前記プログラムコードはカーネル外部のメモリ領域に保持されており、
    前記周辺ディバイスは、前記エンタテインメント装置内のバスに接続されるものであり、
    前記カーネルと前記バスとの間にはキューが設けられており
    前記カーネルは、前記メモリ領域に保持されているプログラムコードを前記キューを介したリモート・プロシージャ・コールにより前記プロセッサを介在させることなく所定の制御手段に実行させることで当該周辺ディバイスを動作させ、この動作により生じた情報を前記プロセッサに伝えることで当該周辺ディバイスを使用したエンタテインメント処理を遂行するものである、
    半導体ディバイス。
  10. プロセッサとの協働により、コンピュータを、その内部にカーネルを構築したエンタテインメント装置として動作させるためのコンピュータプログラムであって、
    前記エンタテインメント装置内のバスには所定の周辺ディバイスが接続されるものであり、
    前記カーネルと前記バスとの間にはキューが設けられており
    前記コンピュータを、
    前記バスに接続された周辺ディバイスを動作可能にするためのプログラムコードをカーネル外部のメモリ領域で保持する保持手段として機能させるとともに、
    前記カーネルにおいて、前記周辺ディバイスについての前記プログラムコードを前記キューを介したリモート・プロシージャ・コールにより前記プロセッサを介在させることなく所定の制御手段に実行させることで当該周辺ディバイスを動作可能にし、この動作により生じた情報を前記プロセッサに伝えることで当該周辺ディバイスを使用したエンタテインメント処理を遂行可能にするためのコンピュータプログラム。
JP2001052361A 2000-03-02 2001-02-27 カーネル機能実現構造及びそれを備えたエンタテインメント装置、カーネルによる周辺ディバイスの制御方法 Expired - Fee Related JP3696515B2 (ja)

Priority Applications (12)

Application Number Priority Date Filing Date Title
JP2001052361A JP3696515B2 (ja) 2000-03-02 2001-02-27 カーネル機能実現構造及びそれを備えたエンタテインメント装置、カーネルによる周辺ディバイスの制御方法
CNB018004091A CN1316386C (zh) 2000-03-02 2001-03-01 核功能实现机制、具有该机制的娱乐设备以及利用该机制的外围设备控制方法
US09/797,515 US6754724B2 (en) 2000-03-02 2001-03-01 Kernel creator for creating kernel capable of executing entertainment processing using a peripheral device
PCT/JP2001/001583 WO2001065356A2 (en) 2000-03-02 2001-03-01 Entertainment apparatus, control method and computer program with kernel function realizing mechanism
MXPA01010827A MXPA01010827A (es) 2000-03-02 2001-03-01 Mecanismo de realizacion de fucion de nucleo, aparato de entretenimiento que tiene el mismo, y metodo de control del dispositivo periferico mediante el mismo.
AU36034/01A AU3603401A (en) 2000-03-02 2001-03-01 Kernel function realizing mechanism, entertainment apparatus having same, and peripheral device control method by same
RU2001129159/09A RU2001129159A (ru) 2000-03-02 2001-03-01 Механизм реализации функции ядра, развлекательное устройство с таким механизмом и способ управления периферийным устройством с помощью этого механизма
EP01908212A EP1342155A2 (en) 2000-03-02 2001-03-01 Entertainment apparatus, control method and computer program with kernel function realizing mechanism
BR0105552-6A BR0105552A (pt) 2000-03-02 2001-03-01 Aparelho de entretenimento, mecanismo de execução de função de núcleo, método de controle de um dispositivo periférico e programa de computador para operar como um aparelho de entretenimento
KR1020017013977A KR100766670B1 (ko) 2000-03-02 2001-03-01 엔터테인먼트 장치, 주변 장치 제어 방법 및 컴퓨터 프로그램 기록 매체
CA002370632A CA2370632A1 (en) 2000-03-02 2001-03-01 Kernel function realizing mechanism, entertainment apparatus having same, and peripheral device control method by same
TW090104912A TW592760B (en) 2000-03-02 2001-03-02 Kernel function realizing mechanism, entertainment apparatus having same, and peripheral device control method by same

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000058044 2000-03-02
JP2000-58044 2000-03-02
JP2001052361A JP3696515B2 (ja) 2000-03-02 2001-02-27 カーネル機能実現構造及びそれを備えたエンタテインメント装置、カーネルによる周辺ディバイスの制御方法

Publications (2)

Publication Number Publication Date
JP2001318873A JP2001318873A (ja) 2001-11-16
JP3696515B2 true JP3696515B2 (ja) 2005-09-21

Family

ID=26586680

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001052361A Expired - Fee Related JP3696515B2 (ja) 2000-03-02 2001-02-27 カーネル機能実現構造及びそれを備えたエンタテインメント装置、カーネルによる周辺ディバイスの制御方法

Country Status (12)

Country Link
US (1) US6754724B2 (ja)
EP (1) EP1342155A2 (ja)
JP (1) JP3696515B2 (ja)
KR (1) KR100766670B1 (ja)
CN (1) CN1316386C (ja)
AU (1) AU3603401A (ja)
BR (1) BR0105552A (ja)
CA (1) CA2370632A1 (ja)
MX (1) MXPA01010827A (ja)
RU (1) RU2001129159A (ja)
TW (1) TW592760B (ja)
WO (1) WO2001065356A2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPP702498A0 (en) * 1998-11-09 1998-12-03 Silverbrook Research Pty Ltd Image creation method and apparatus (ART77)
JP2001318768A (ja) * 2000-03-02 2001-11-16 Sony Computer Entertainment Inc エンタテインメント装置及びその部品、エンタテインメント装置によるディジタル情報のローディング方法、コンピュータプログラム
US7089282B2 (en) * 2002-07-31 2006-08-08 International Business Machines Corporation Distributed protocol processing in a data processing system
JP2004326180A (ja) * 2003-04-21 2004-11-18 Matsushita Electric Ind Co Ltd 集積回路、それを用いた画像入出力装置及び画像入出力方法
JP4405277B2 (ja) * 2004-02-16 2010-01-27 株式会社日立製作所 ディスク制御装置
JP4441286B2 (ja) * 2004-02-10 2010-03-31 株式会社日立製作所 ストレージシステム
US7467238B2 (en) * 2004-02-10 2008-12-16 Hitachi, Ltd. Disk controller and storage system
US20070022225A1 (en) * 2005-07-21 2007-01-25 Mistletoe Technologies, Inc. Memory DMA interface with checksum
CN103036959B (zh) * 2012-12-07 2015-12-02 武汉邮电科学研究院 基于io解耦的分布式部署应用程序的实现方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0490980B1 (en) * 1989-09-08 1999-05-06 Auspex Systems, Inc. Multiple facility operating system architecture
CA2010591C (en) * 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
JP3212007B2 (ja) 1993-04-26 2001-09-25 インターナショナル・ビジネス・マシーンズ・コーポレーション オペレーティング・システム環境の起動方法およびシステム
US5983012A (en) * 1993-09-28 1999-11-09 Bull Hn Information Systems Inc. Executing programs of a first system on a second system
KR100272095B1 (ko) * 1996-07-30 2000-12-01 윤종용 실시간 운영체제의 커널 자동생성 시스템 및 방법
US6434459B2 (en) * 1996-12-16 2002-08-13 Microsoft Corporation Automobile information system
US5991822A (en) 1997-03-17 1999-11-23 International Business Machines Corporation System for modifying functions of static device driver using a registered driver extension extended dynamically by providing an entry point for the driver extension
US6298370B1 (en) * 1997-04-04 2001-10-02 Texas Instruments Incorporated Computer operating process allocating tasks between first and second processors at run time based upon current processor load
JP3602293B2 (ja) 1997-04-22 2004-12-15 株式会社ソニー・コンピュータエンタテインメント データ転送方法及び装置
US6321276B1 (en) * 1998-08-04 2001-11-20 Microsoft Corporation Recoverable methods and systems for processing input/output requests including virtual memory addresses

Also Published As

Publication number Publication date
BR0105552A (pt) 2002-03-19
RU2001129159A (ru) 2003-07-20
TW592760B (en) 2004-06-21
MXPA01010827A (es) 2002-04-24
EP1342155A2 (en) 2003-09-10
US20010054120A1 (en) 2001-12-20
JP2001318873A (ja) 2001-11-16
CA2370632A1 (en) 2001-09-07
CN1527974A (zh) 2004-09-08
US6754724B2 (en) 2004-06-22
WO2001065356A3 (en) 2003-06-26
CN1316386C (zh) 2007-05-16
KR20020015037A (ko) 2002-02-27
AU3603401A (en) 2001-09-12
KR100766670B1 (ko) 2007-10-11
WO2001065356A2 (en) 2001-09-07

Similar Documents

Publication Publication Date Title
JP2000137631A (ja) コンピュータ読取可能な記録媒体および情報処理装置
US20110161675A1 (en) System and method for gpu based encrypted storage access
JP2008269282A (ja) 情報処理装置および方法、並びにプログラム
JP3696515B2 (ja) カーネル機能実現構造及びそれを備えたエンタテインメント装置、カーネルによる周辺ディバイスの制御方法
JPH10137447A (ja) ある種のゲーム装置で、記述の異なるソフトウエアを実行するためのソフトウエアエミュレータ及び入出力装置
JP4578794B2 (ja) マルチシステム、データ格納部アクセス装置およびデータ格納部アクセス方法
CN100424608C (zh) 数字信息的娱乐设备和装载方法
JP2006215886A (ja) 信号処理装置、信号処理システム、および信号処理方法
US20100026690A1 (en) System, method, and computer program product for synchronizing operation of a first graphics processor and a second graphics processor in order to secure communication therebetween
JP2000137632A (ja) コンピュータ読取可能な記録媒体、光ディスクおよび情報処理装置
JP2005293417A (ja) コンピュータ機器、コンピュータネットワークシステム、プログラム転送方法およびプログラム転送用プログラム
CN115794023A (zh) 一种数据传输方法、装置、设备及存储介质
JP4228455B2 (ja) 画像処理方法及び画像処理装置
JP3941955B2 (ja) 複合装置
JP3795580B2 (ja) 描画装置および描画方法
JP7433843B2 (ja) 情報処理装置およびファイル生成方法
JPH08161438A (ja) ビデオゲーム装置
JP4118271B2 (ja) マルチメディア再生装置
JP3019351U (ja) コンピュータ用外部記憶装置
JP2000305794A (ja) データ転送装置
JPH03111959A (ja) 外部デバイス制御装置
JPH11161592A (ja) ディスク装置及びプログラムを記録した機械読み取り可能な記録媒体
JP2006344153A (ja) 情報処理システム
TW200832213A (en) Image display device and computer program
JP2006072605A (ja) ユビキタスアプリケーション提供システム、コンピュータ、ユビキタスアプリケーション提供方法およびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040831

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041101

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050411

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050602

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050629

R150 Certificate of patent or registration of utility model

Ref document number: 3696515

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080708

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130708

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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