(57)【特許請求の範囲】
【請求項１】
入力データを入力する入力端子と、出力データを出力する出力端子と、前記入力端子に接続され、前記入力データを蓄積する受信バッファと、前記出力端子に接続され、前記出力データを蓄積する送信バッファとを含む入出力ポートと、
所定データを前記送信バッファに書き込むアプリケーションプログラムと、
前記送信バッファに書き込まれ、前記受信バッファに転送された所定データを前記受信バッファから読み出すＢＩＯＳとを備えたことを特徴とするコンピュータ。
【請求項２】
請求項１に記載のコンピュータであって、
前記入出力ポートはさらに、
前記入力端子と前記出力端子との間に接続されたスイッチング素子を備え、
前記アプリケーションプログラムは、前記スイッチング素子をオンにして前記所定データを前記送信バッファから前記受信バッファに転送することを特徴とするコンピュータ。
【請求項３】
請求項２に記載のコンピュータであって、
前記入出力ポートはさらに、
ループバックビットを有する制御レジスタを備え、
前記スイッチング素子は前記ループバックビットに応答してオン又はオフになり、
前記アプリケーションプログラムは前記ループバックビットを設定することを特徴とするコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータに関し、さらに詳しくは、ＢＩＯＳ(Basic Input/Output System)を搭載したコンピュータの改良に関する。
【０００２】
【従来の技術】
一般に、ＰＣ／ＡＴ(Personal Computer/Advanced Technology)マシンなどのパーソナルコンピュータ（ＰＣ）には、ハードディスクドライブ（ＨＤＤ）、キーボード、マウス、モデムなどの周辺機器を制御するＢＩＯＳが搭載されている。また、ＰＣにはＯＳ(Operating System)がインストールされ、アプリケーションプログラムはＯＳ上で実行される。
【０００３】
このようなＰＣ上でアプリケーションプログラムが何らかの情報をＢＩＯＳに伝達する方法として、アプリケーションプログラムがメインメモリ又はＨＤＤなどの外部記憶装置に一旦データを格納し、ＢＩＯＳが起動時にそのデータを読み出すという方法が考えられる。
【０００４】
しかしながら、アプリケーションプログラムがメインメモリを直接アクセスすることはシングルタスクＯＳ（ＤＯＳ(Disk Operating System)など）環境においては可能であるが、マルチタスクＯＳ環境においては実際上不可能である。これを実現するためには、システムコール命令やＡＰＩ(Application Program Interface)などの複雑な機能をＯＳに持たせなければならないからである。
【０００５】
一方、ＢＩＯＳが外部記憶装置を直接アクセスすることも実際上不可能である。これを実現するためには、ＯＳにより指定されたファイル形式を読み込み可能とするために、膨大な準備プログラムをＢＩＯＳ中に作成しなければならないからである。
【０００６】
【特許文献１】
特開平１１−３４５０４７号公報
【特許文献２】
特開２００１−２２２３４６号公報
【０００７】
【発明が解決しようとする課題】
本発明の目的は、アプリケーションプログラムからＢＩＯＳにデータを受け渡すことの可能なコンピュータを提供することである。
【０００８】
【課題を解決するための手段】
本発明によるコンピュータは、入出力ポートと、アプリケーションプログラムと、ＢＩＯＳとを備える。入出力ポートは、入力データを入力する入力端子と、出力データを出力する出力端子と、入力端子に接続され、入力データを蓄積する受信バッファと、出力端子に接続され、出力データを蓄積する送信バッファとを含む。アプリケーションプログラムは、所定データを送信バッファに書き込む。ＢＩＯＳは、送信バッファに書き込まれ、受信バッファに転送された所定データを受信バッファから読み出す。
【０００９】
このコンピュータでは、所定データはアプリケーションプログラムにより送信バッファに書き込まれ、その書き込まれた所定データは送信バッファから受信バッファに転送され、ＢＩＯＳにより受信バッファから読み出される。したがって、所定データをアプリケーションプログラムからＢＩＯＳに簡単に受け渡すことができる。
【００１１】
たとえば、入力端子と出力端子とをジャンパープラグなどにより短絡すれば、所定データは短絡された出力端子及び入力端子を経由して送信バッファから受信バッファに転送される。
【００１２】
好ましくは、入出力ポートはさらに、入力端子と出力端子との間に接続されたスイッチング素子を備える。アプリケーションプログラムは、スイッチング素子をオンにして所定データを送信バッファから受信バッファに転送する。
【００１３】
この場合、上記のようにジャンパープラグなどにより入力端子と出力端子とを短絡しなくても、所定データは送信バッファから受信バッファに転送される。
【００１４】
さらに好ましくは、入出力ポートはさらに、ループバックビットを有する制御レジスタを備える。スイッチング素子はループバックビットに応答してオン又はオフになる。アプリケーションプログラムはループバックビットを設定する。
【００１５】
この場合、入出力ポートに現存する制御レジスタのループバックビットを設定するだけで、所定データは送信バッファから受信バッファに転送される。
【００１６】
【発明の実施の形態】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明を援用する。
【００１７】
図１は、本発明の実施の形態によるＰＣの主要構成を示す機能ブロック図である。図１を参照して、ＰＣ１０は、ＣＰＵ(Central Processing Unit)１１と、ＲＡＭ(Random Access Memory)などのメインメモリ１２と、ＢＩＯＳプログラムを記憶しているＲＯＭ(Read Only Memory)１３と、ＯＳやアプリケーションプログラムなどを記憶しているハードディスクドライブ（ＨＤＤ）１４と、データをシリアルに入出力するシリアルポート１５と、メモリコントローラやバスコントローラなどを含むチップセット１６と、ＰＣ１０内の各回路に電源を供給する電源回路２９とを備える。
【００１８】
図２は、図１中のシリアルポート１５周辺の詳細を示す機能ブロック図である。図２を参照して、シリアルポート１５は、シリアルポート制御チップ１７と、コネクタ１８とを備える。シリアルポート制御チップ１７は、送信バッファ１９と、受信バッファ２０と、制御レジスタ２１と、スイッチング素子２２とを含む。コネクタ１８は、出力端子２３と、入力端子２４とを含む。
【００１９】
送信バッファ１９及び受信バッファ２０の各々は、たとえば１６バイトのＦＩＦＯ(First-In First-Out)メモリから構成される。送信バッファ１９は、外部に出力されるべきデータを順次蓄積する。受信バッファ２０は、外部から入力されたデータを順次蓄積する。アプリケーションプログラム及びＢＩＯＳプログラムは一般に、送信バッファ１９及び受信バッファ２０に直接アクセスすることができる。
【００２０】
制御レジスタ２１は、チップセット１６から与えられた数ビットのデータを記憶する。スイッチング素子２２は出力端子２３と入力端子２４との間に接続され、制御レジスタ２１のループバックビットに応答してオン又はオフになる。ループバックビットは制御レジスタ２１のＢｉｔ３に位置し、シリアルポート１５の初期設定時に「１」に設定されると、スイッチング素子２２がオンになり、送信バッファ１９のデータが受信バッファ２０に転送される。通常、この機能はテストの目的で使用される。
【００２１】
以上の構成は一般的なＰＣ／ＡＴマシンが備えているが、本実施の形態ではＢＩＯＳ及びアプリケーションプログラムに既存のものにない処理が追加されている。以下、本ＰＣ１０をキオスク端末に応用した場合を例に、この処理の詳細を説明する。
【００２２】
図３は、ＰＣ１０をキオスク端末に応用した場合の構成を示す機能ブロック図である。図３を参照して、キオスク端末のＰＣ１０はさらに、自動起床機能を有するＲＴＣ(Real Time Clock)２６を備える。ＲＴＣ２６は内蔵バッテリ２７から常に電源の供給を受けている。したがって、ＰＣ１０の電源がオフになっている間もＲＴＣ２６は動作している。ＲＴＣ２６は、所望の起動時刻を設定するためのＲＴＣレジスタ２８を有する。ＲＴＣ２６は、現在の時刻がＲＴＣレジスタ２８に設定された起動時刻になると、起動信号を生成してＰＣ１０の電源回路２９に与える。電源回路１０はこの起動信号に応答してＰＣ１０内の各回路に電源を供給し始める。このように、キオスク端末のＰＣ１０は、現在の時刻が設定された所望の時刻になると自動的にオンになる。
【００２３】
図４は、ＰＣ１０をキオスク端末に応用した場合におけるアプリケーションプログラム及びＢＩＯＳプログラムの処理手順を示すフロー図である。図４中のステップＳ１０〜Ｓ１５はアプリケーションプログラムにより実行され、ステップＳ１６〜Ｓ２０はＢＩＯＳプログラムにより実行される。
【００２４】
図４を参照して、ＰＣ１０の電源がオンにされ、ＯＳが起動されると、ＯＳによりアプリケーションプログラムがサービス化され、これによりアプリケーションプログラムの基本的なシステム機能が起動する（Ｓ１０）。
【００２５】
サービス化されたアプリケーションプログラムはシリアルポート１５を初期化し、制御レジスタ２１のループバックビットを「１」に設定する（Ｓ１１）。スイッチング素子２２は、このループバックビットに応答してオンになる。ＰＣ／ＡＴマシンは一般にＣＯＭ１〜ＣＯＭ４と呼ばれる４つのシリアルポートを備えるが、アプリケーションプログラムはこのうち通常使用されない１つのシリアルポート（たとえばＣＯＭ４）を指定する。
【００２６】
ＲＴＣ２６の起動時刻を設定する場合、ユーザの操作に応じてアプリケーションプログラムのＧＵＩ(Graphical User Interface)機能が起動する（Ｓ１２）。アプリケーションプログラムは、ユーザの操作に応じて起動時刻（たとえば「２００２／０２／２５  ０８：３０：００」）を入力し、その起動時刻のデータをＨＤＤ１４又はメインメモリ１２に保存しておく（Ｓ１３）。
【００２７】
ユーザが作業を終え、ＰＣ１０の電源をオフにするための操作を行うと、サービス化されたアプリケーションプログラムはこの電源の遮断処理を認識し（Ｓ１４）、送信バッファ１９をリセットした後、上記ステップＳ１３で保存しておいた起動時刻のデータをシリアルポート１５に送信して送信バッファ１９に書き込む（Ｓ１５）。このとき、スイッチング素子２２はオンになっているので、起動時刻のデータは送信バッファ１９から受信バッファ２０に転送される。
【００２８】
ＯＳのシャットダウンが完了すると、ＢＩＯＳプログラムが起動する（Ｓ１６）。ＢＩＯＳプログラムは、受信バッファ２０から起動時刻のデータを読み出す（Ｓ１７）。ＢＩＯＳプログラムは、読み出したデータが有効か否かを判断する（Ｓ１８）。有効か否かは、データに含まれる「年」、「月」、「日」、「時」、「分」及び「秒」が所定の範囲内か否かで判断する。
【００２９】
データが有効な場合、ＢＩＯＳプログラムはその起動時刻をチップセット１６経由でＲＴＣレジスタ２８に設定する（Ｓ１９）。起動時刻の設定後又はデータが無効な場合、ＢＩＯＳプログラムは終了し、ＰＣ１０の電源はオフになる（Ｓ２０）。
【００３０】
以上のように本発明の実施の形態によれば、アプリケーションプログラムがデータを直接書き込むことができ、かつＢＩＯＳがデータを直接読み出すことができるシリアルポート１５のバッファ１９，２０を利用しているため、簡単な方法でアプリケーションプログラムからＢＩＯＳにデータを受け渡すことができる。
【００３１】
また、既存のＰＣのほとんどが備えているレガシーポートと呼ばれるシリアルポート１５を利用しているため、ＯＳを全く変更することなく、既存のＢＩＯＳを若干変更するだけでアプリケーションプログラムからＢＩＯＳにデータを受け渡すことができる。したがって、ＯＳはシングルタスクＯＳに限定されることなく、マルチタスクＯＳでもよい。
【００３２】
また、既存のシリアルポートにテスト用に設けられているループバックビットを利用して送信バッファ１９から受信バッファ２０にデータを転送しているので、既存のシリアルポートをそのまま使用することができる。
【００３３】
その結果、従来のキオスク端末ではＢＩＯＳ画面上でしか起動時刻を設定することができず、非常に不便であったが、本発明の実施の形態によれば、アプリケーションプログラムのＧＵＩ画面上で簡単に起動時刻を設定することができる。
【００３４】
上記実施の形態ではループバックビットを利用しているが、これに代えて、図２に示すように出力端子２３と入力端子２４とを短絡するジャンパープラグ２５をコネクタ１８に差し込んでもよい。この場合、アプリケーションプログラムでループバックビットを「１」に設定しなくても、送信バッファ１９のデータはジャンパープラグ２５経由で受信バッファ２０に転送される。
【００３５】
また、上記実施の形態ではレガシーポートとして典型的なシリアルポート１５のバッファ１９，２０を利用しているが、これに代えてパラレルポート、ＰＳ／２(Personal System/2)ポート、ＵＳＢ(Universal Serial Bus)ポートなどのバッファを利用してもよい。
【００３６】
さらに、上記実施の形態ではＰＣ１０をキオスク端末に応用した例を説明したが、これに限定されることなく、アプリケーションプログラムからＢＩＯＳに所定データを受け渡す必要のある全ての装置に応用することができる。
【００３７】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【図面の簡単な説明】
【図１】本発明の実施の形態によるパーソナルコンピュータの主要構成を示す機能ブロック図である。
【図２】図１中のシリアルポート周辺の詳細を示す機能ブロック図である。
【図３】図１に示したパーソナルコンピュータをキオスク端末に応用した場合の構成を示す機能ブロック図である。
【図４】図１に示したパーソナルコンピュータをキオスク端末に応用した場合におけるアプリケーションプログラム及びＢＩＯＳプログラムの処理手順を示すフロー図である。
【符号の説明】
１０  パーソナルコンピュータ
１１  ＣＰＵ
１２  メインメモリ
１３  ＲＯＭ
１４  ハードディスク
１５  シリアルポート
１６  チップセット
１７  シリアルポート制御チップ
１８  コネクタ
１９  送信バッファ
２０  受信バッファ
２１  制御レジスタ
２２  スイッチング素子
２３  出力端子
２４  入力端子
２５  ジャンパープラグ
【図１】
0004474574.tif 000002
【図２】
0004474574.tif 000003
【図３】
0004474574.tif 000004
【図４】
0004474574.tif 000005