(57)【要約】【課題】組み込みサブシステムのレジスターをより効率的にプログラムする方法や装置を提供すること。【解決手段】ＣＰＵは組み込みサブシステムに単独コマンドを伝送することによるある機能が実行されることを要求する。ＣＰＵは次に他の処理タスクを再開することができる。組み込みサブシステム内のプログラマーブルシーケンスコントローラーは前記単独を用いてメモリーに予め記憶された命令のシーケンスにおける第１の命令のメモリーアドレスを特定することにより第１の命令を特定し、組み込みサブシステムにおいて要求された機能を実行するモジュールの１つ以上のレジスターをプログラムする。【選択図】図１
2009181579.tif 000002
【特許請求の範囲】
【請求項１】
機能を要求するＣＰＵと、
各々が少なくとも１つの機能を実施する複数の機能モジュールと、シーケンスコントロ
ーラーと、前記複数の機能モジュールと前記シーケンスコントローラーとを接続する第２
のバスと、を含む組み込みサブシステムと、
前記ＣＰＵと前記組み込みサブシステムとを第１のバスと、
を含むコンピューターシステムにおいて、
前記第１のバスを介して前記組み込みサブシステムに１つのコマンドを伝送するよう前
記ＣＰＵを操作するステップと、
前記ＣＰＵから前記組み込みサブシステムに前記１つのコマンドを送信するステップと
、
前記シーケンスコントローラーを操作するステップと、
を含み、
前記シーケンスコントローラーを操作するステップは、
前記組み込みサブシステムに送信された前記１つのコマンドに基づいて第１の命令が保
存されたメモリーアドレスを取得するステップと、
前記メモリーアドレスに基づいてメモリーに記憶された命令シーケンスにおける前記第
１の命令を特定するステップと、
前記第２のバスを介して、前記複数の機能モジュールの少なくとも１つの機能モジュー
ルのレジスターにアクセスするステップと、
前記命令シーケンスに従って前記機能を実施するように、前記少なくとも１つの機能モ
ジュールのレジスターをプログラムするステップと、を含むことを特徴とする機能を呼び
出す方法。
【請求項２】
前記１つのコマンドを伝送するステップは、
前記組み込みサブシステムに、コマンドコードと少なくとも１つのコマンドパラメータ
ーを送信することを含むことを特徴とする請求項１に記載の機能を呼び出す方法。
【請求項３】
不揮発性メモリーから少なくとも１つの命令シーケンスを読み出し、前記メモリーに前
記少なくとも１つの命令シーケンスを保存するステップを、さらに有することを特徴とす
る請求項１又は請求項２に記載の機能を呼び出す方法。
【請求項４】
前記シーケンスコントローラーは、前記ＣＰＵから受信した１つのコマンドに基づいて
、前記複数の機能モジュールのうち、異なる機能を実施する機能モジュールのレジスター
をプログラムすることを特徴とする請求項１乃至請求項３のいずれか一項に記載の機能を
呼び出す方法。
【請求項５】
機能を要求するＣＰＵと、
各々が少なくとも１つの機能を実施する複数の機能モジュールと、シーケンスコントロ
ーラーと、前記複数の機能モジュールと前記シーケンスコントローラーとを接続する第２
のバスと、を含む組み込みサブシステムと、
前記ＣＰＵと前記組み込みサブシステムとを第１のバスと、
を含むコンピューターシステムにおいて、
前記第１のバスを介して前記組み込みサブシステムに１つのコマンドを伝送するよう前
記ＣＰＵを操作するステップと、
前記ＣＰＵから前記組み込みサブシステムに前記１つのコマンドを送信するステップと
、
前記シーケンスコントローラーを操作するステップと、
を含み、
前記シーケンスコントローラーを操作するステップは、
前記組み込みサブシステムに送信された前記１つのコマンドに基づいて第１の命令が保
存されたメモリーアドレスを取得するステップと、
前記メモリーアドレスに基づいてメモリーに記憶された命令シーケンスにおける前記第
１の命令を特定するステップと、
前記第１の命令に基づいて、前記第２のバスを介して前記複数の機能モジュールの少な
くとも１つの機能モジュールのレジスターにアクセスして第１の値を読み出し、前記第１
の値に基づく第２の値と前記第１の命令に基づいて指定された第３の値とを比較するステ
ップと、
前記第３の値が所定の値に達した場合に、前記少なくとも１つの機能モジュールのレジ
スターをプログラムするステップと、を含むことを特徴とする機能を呼び出す方法。
【請求項６】
組み込みサブシステムのモジュールにより提供される１つ以上の機能を外部のＣＰＵが
呼び出すための手順を提供する組み込みサブシステムであって、
少なくとも１つの機能を実施する少なくとも１つの機能モジュールであって、前記少な
くとも１つの機能モジュールの少なくとも１つのローカルレジスターに記憶される１つ以
上の値により制御され設定される、前記少なくとも１つの機能モジュールと、
少なくとも１つの予め定義された命令シーケンスを記憶する第１のメモリーであって、
前記命令シーケンスの各々は前記少なくとも１つの機能モジュールが機能を実施するよう
制御される、前記第１のメモリーと、
ベクトル表を記憶する第２のメモリーと、前記ＣＰＵからコマンドを受信することに応
答して前記第１のメモリーにおける前記命令シーケンスの開始アドレスを取得するステー
トマシンとを有するシーケンスコントローラーと、
を有し、
前記開始アドレスは、前記ベクトル表において前記コマンドと一致する位置から取得さ
れ、
前記ステートマシンは、前記開始アドレスで始まる前記命令シーケンスに従い前記コマ
ンドにより特定される前記機能を実施する前記少なくとも１つの機能モジュールの少なく
とも１つのローカルレジスターをプログラムすることを特徴とするサブシステム。
【請求項７】
少なくとも１つの機能を実施し、第１のローカルレジスターを含む第１の機能モジュー
ルと、
少なくとも１つの機能を実施し、第２のローカルレジスターを含む第２の機能モジュー
ルと、
ＣＰＵから第１のバスを介してコマンドを受信するホストインターフェイスと、
前記コマンドに対応し、前記第１の機能モジュール及び前記第２の機能モジュールに機
能を実施させる命令シーケンスを保存する第１のメモリーと、
ベクトル表を保存する第２のメモリーと、前記コマンド及び前記ベクトル表に基づいて
前記第１のメモリーの命令シーケンスが保存されているアドレスを取得するステートマシ
ンと、を含むシーケンスコントローラーと、を含み、
前記シーケンスコントローラーは、
前記命令シーケンスに基づいて、前記第１の機能モジュールに含まれる第１のローカル
レジスターと前記第２の機能モジュールに含まれる第２のローカルレジスターとをプログ
ラムすることを特徴とするサブシステム。
【請求項８】
前記シーケンスコントローラーは、
前記ベクトル表に基づいて前記第１のメモリーから前記命令シーケンスの一部を読み出
し、
前記命令シーケンスの一部を複合化して必要な命令の数を判定し、
前記命令の数に基づいて、前記命令シーケンスの残りを前記第１のメモリーから読み出
すことを特徴とする請求項７に記載のサブシステム。
【請求項９】
請求項７又は請求項８に記載のサブシステムと、
前記ＣＰＵと、を含むシステムであって、
システムに電源が投入されると、前記ＣＰＵが前記第１のメモリーに命令シーケンスを
書き込み、前記ベクトル表が初期化されることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、組み込みサブシステムＩＣにより実施されるファンクションの起動に関する
。例えば、中央演算装置による組み込みサブシステムレジスターの効率的なプログラミン
グに関する。
【背景技術】
【０００２】
コンピューターシステムは中央演算装置（ＣＰＵ）、メモリー、入出力ポート、および
アドレス、データ、および制御信号を伝達する１つ以上のバスを含む。加えてコンピュー
ターシステムは特殊タスクを行なうか、または特定種類の周辺装置とインターフェイスす
るハードウェアなど、１つ以上のサブシステムを含む。物理的にコンピューターシステム
は複数の集積回路（ＩＣ）またはチップ、ＣＰＵ、１つ以上のメモリーチップ、および１
つ以上のサブシステムチップで構成される。（例えば特許文献１参照）。
【０００３】
組み込みサブシステムＩＣは複数の機能を実行しうる。機能の１つを呼び出すには、一
般的にＣＰＵがサブシステムＩＣのレジスターをプログラムする必要がある。しかし、Ｃ
ＰＵを組み込みサブシステムチップのレジスターをプログラムするのに用いると、いくつ
かの技術的問題が生じる。
【０００４】
組み込みサブシステムのレジスターをプログラムすることは、複雑になる場合がある。
レジスターのプログラミングは何十ものステップが関与することになる。多数の異なるレ
ジスターに書き込む必要があり、さらにプログラミングのプロセスは、あるステップが完
了したかを調べるために繰り返し組み込みサブシステムをポーリングし、レジスターから
のデータを読み取る。組み込みサブシステムにより行なわれる各機能は、固有のステップ
シーケンスにより起動される。さらに、組み込みサブシステムは、何十もの異なる機能を
実行する可能性があるので、ＣＰＵは各機能を起動するステップシーケンスを理解する必
要がある。その上、コンピューターが動作中ある種の機能は何回も呼び出される。従って
ＣＰＵは同じレジスターのプログラミングステップを繰り返し実行する必要がある。
【０００５】
技術的な問題としては、レジスターのプログラミングが相当数のＣＰＵおよびバスサイ
クルを用いる可能性がある。この動作は電力消費を増加させ、システム性能を低下させる
。ＣＰＵがある種のレジスタープログラミングシーケンスを実行するのには比較的長時間
かかり、ＣＰＵがレジスタープログラミングを実行している間他の必要なタスクの処理が
できないのでシステム性能は低下する。加えて、ＣＰＵが実行しなければならない様々な
レジスタープログラミング操作の数が増えるにつれＣＰＵで稼動するソフトウェアの複雑
さも増加しがちである。ソフトウェアがより複雑になると、開発やデバグに時間がかかる
。さらに、メモリーの容量が増えるのでチップサイズが大きくなる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許第７１１４０５６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、例えば、組み込みサブシステムのレジスターをより効率的にプログラムする
方法や装置を提供する。
【課題を解決するための手段】
【０００８】
本発明の機能を呼び出す方法は、機能を要求するＣＰＵと、各々が少なくとも１つの機
能を実施する１つ以上の機能モジュールとシーケンスコントローラーとを含む組み込みサ
ブシステムと、前記ＣＰＵと前記組み込みサブシステムとを連結する第１バスとを含むコ
ンピューターシステムにおいて機能を呼び出す方法であって、（ａ）前記第１バス上で前
記組み込みサブシステムに単独コマンドを伝送することにより機能が実施されることを要
求するよう前記ＣＰＵを操作するステップと、（ｂ）前記シーケンスコントローラーを操
作するステップと、を有し、前記シーケンスコントローラーを操作するステップは、前記
単独コマンドを用いて第１命令のメモリーアドレスを取得することにより、メモリーに予
め記憶された命令シーケンスにおける前記第１命令を特定するステップと、第２バス上で
前記機能モジュールの１つ以上のレジスターにアクセスすることにより前記命令シーケン
スに従い前記機能を実施する少なくとも１つの前記機能モジュールをプログラムするステ
ップとを有することを特徴とする。
【０００９】
また、本発明の機能を呼び出す方法において、前記単独コマンドを伝送することは前記
組み込みサブシステムにコマンドコードを伝送することを含むことを特徴とする。
【００１０】
また、本発明の機能を呼び出す方法において、前記単独コマンドを伝送することは前記
組み込みサブシステムに少なくとも１つのコマンドパラメーターを伝送することを含むこ
とを特徴とする。
【００１１】
また、本発明の機能を呼び出す方法において、前記１つの機能モジュールをプログラム
することは前記１つの機能モジュールの少なくとも１つのレジスターをアクセスすること
を含むことを特徴とする。
【００１２】
また、本発明の機能を呼び出す方法において、前記ＣＰＵにより少なくとも１つの命令
シーケンスを前記メモリーに記憶するステップをさらに有することを特徴とする。
【００１３】
また、本発明の機能を呼び出す方法において、不揮発性メモリーから少なくとも１つの
命令シーケンスを前記メモリーに記憶するステップをさらに有することを特徴とする。
【００１４】
また、本発明の機能を呼び出す方法において、前記シーケンスコントローラーは、前記
ＣＰＵに対する単独コマンドに応答して各々別個の機能を実施する前記１つ以上の機能モ
ジュールのうちの少なくとも２つの機能モジュールをプログラムすることを特徴とする。
【００１５】
また、本発明の機能を呼び出す方法において、前記命令シーケンスは、前記１つの機能
モジュールのレジスターの１つから第１の値を読み取り、前記第１の値を第２の値と比較
して前記第１の値が前記第２の値と等しいか判定し、前記判定が真になるまで前記第１の
値を読み取り前記第１の値を前記第２の値と比較するステップを繰り返す命令を含むこと
を特徴とする。
【００１６】
また、本発明の機能を呼び出す方法において、前記命令シーケンスは、前記１つの機能
モジュールのレジスターの１つから第１の値を読み取り、前記第１の値を第２の値と比較
して前記第１の値が前記第２の値と等しくないか判定し、前記判定が真になるまで前記第
１の値を読み取り前記第１の値を前記第２の値と比較するステップを繰り返す命令を含む
ことを特徴とする。
【００１７】
また、本発明の機能を呼び出す方法において、前記ＣＰＵは、前記組み込みサブシステ
ムとは別のＩＣに配置されることを特徴とする。
【００１８】
また、本発明の機能を呼び出す方法において、前記組み込みサブシステムは、ＣＰＵと
は別のＩＣに配置されることを特徴とする。
【００１９】
ここで本発明のサブシステムは、組み込みサブシステムのモジュールにより提供される
１つ以上の機能を外部のＣＰＵが呼び出すための手順を提供する組み込みサブシステムで
あって、少なくとも１つの機能を実施する少なくとも１つの機能モジュールであって、前
記少なくとも１つの機能モジュールの少なくとも１つのローカルレジスターに記憶される
１つ以上の値により制御され設定される、前記少なくとも１つの機能モジュールと、少な
くとも１つの予め定義された命令シーケンスを記憶する第１のメモリーであって、前記命
令シーケンスの各々は前記少なくとも１つの機能モジュールが機能を実施するよう制御さ
れる、前記第１のメモリーと、ベクトル表を記憶する第２のメモリーと、前記ＣＰＵから
コマンドを受信することに応答して前記第１のメモリーにおける前記命令シーケンスの開
始アドレスを取得する状態機械とを有するシーケンスコントローラーと、を有し、前記開
始アドレスは、前記ベクトル表において前記コマンドと一致する位置から取得され、前記
状態機械は、前記開始アドレスで始まる前記命令シーケンスに従い前記コマンドにより特
定される前記機能を実施する前記少なくとも１つの機能モジュールの少なくとも１つのロ
ーカルレジスターをプログラムすることを特徴とする。
【００２０】
また本発明のサブシステムにおいて、前記コマンドはコマンドコードを有することを特
徴とする。
【００２１】
また本発明のサブシステムにおいて、前記コマンドはコマンドコードおよび少なくとも
１つのコマンドパラメーターを有することを特徴とする。
【００２２】
また本発明のサブシステムにおいて、第１バスをさらに有し、前記コマンドは前記第１
バス上で前記ＣＰＵから前記組み込みサブシステムに伝送されることを特徴とする。
【００２３】
また本発明のサブシステムにおいて、第２バスをさらに有し、前記シーケンスコントロ
ーラーは、前記第２バス上で前記少なくとも１つのレジスターにアクセスすることにより
、前記少なくとも１つの機能モジュールの前記少なくとも１つのローカルレジスターをプ
ログラムすることを特徴とする。
【００２４】
また本発明のサブシステムにおいて、第３メモリーから読み取る命令シーケンスを記憶
し、前記第１メモリーに前記少なくとも１つの予め定義された命令シーケンスを記憶する
初期化装置をさらに有することを特徴とする。
【００２５】
また本発明のサブシステムにおいて、前記シーケンスコントローラーは少なくとも２つ
の機能モジュールをプログラムし、前記少なくとも２つの機能モジュールは前記ＣＰＵに
対する単独命令に応答して別個の機能を実施することを特徴とする。
【００２６】
また本発明のサブシステムにおいて、前記命令シーケンスは、前記少なくとも１つの機
能モジュールの前記少なくとも１つのローカルレジスターから第１の値を読み取り、前記
第１の値を第２の値と比較して前記第１の値が前記第２の値と等しいか判定し、前記判定
が真になるまで前記第１の値を読み取り前記第１の値を前記第２の値と比較するステップ
を繰り返す命令を含むことを特徴とする。
【００２７】
また本発明のサブシステムにおいて、前記命令シーケンスは、前記少なくとも１つの機
能モジュールの前記少なくとも１つのレジスターから第１の値を読み取り、前記第１の値
を第２の値と比較して前記第１の値が前記第２の値と等しくないか判定し、前記判定が真
になるまで前記第１の値を読み取り前記第１の値を前記第２の値と比較するステップを繰
り返す命令を含むことを特徴とする。
【００２８】
また本発明のサブシステムにおいて、前記ＣＰＵは前記組み込みサブシステムとは別の
ＩＣに配置されることを特徴とする。
【００２９】
また本発明のサブシステムにおいて、前記組み込みサブシステムは前記ＣＰＵとは別の
ＩＣに配置されることを特徴とする。
【００３０】
なお本発明を要約すると以下のとおりである。
【００３１】
ＣＰＵおよび発明の原理を具現する組み込みサブシステムを含むコンピューターシステ
ムにおいて、ＣＰＵは組み込みサブシステムに単独コマンドを伝送することによるある機
能が実行されることを要求する。ＣＰＵは次に他の処理タスクを再開することができる。
組み込みサブシステム内のプログラマーブルシーケンスコントローラーは前記単独を用い
てメモリーに予め記憶された命令のシーケンスにおける第１命令のメモリーアドレスを特
定することにより第１命令を特定し、組み込みサブシステムにおいて要求された機能を実
行する機能モジュールの１つ以上のレジスターをプログラムする。
【００３２】
一実施形態は機能を要求するＣＰＵ  ＩＣ、シーケンスコントローラーおよび各々少な
くとも１つの機能を実行する１つ以上の機能モジュールを含む組み込みサブシステムＩＣ
、およびＣＰＵと組み込みサブシステムとを連結する第１バスを含むコンピューターシス
テムにおいて機能を呼び出す方法に向けられる。方法は、（ａ）第１バスで単独コマンド
を伝送することにより１つに機能が実行されるよう要求するようにＣＰＵを操作すること
、および（ｂ）シーケンスコントローラーが、前記単独コマンドを用いてメモリーに予め
記憶された命令のシーケンスにおける第１命令のメモリーアドレスを特定することにより
第１命令を特定し、組み込みサブシステムにおいて要求された機能を実行する機能モジュ
ールの１つ以上のレジスターをプログラムするよう操作することを有してなる。
【００３３】
別の実施形態はサブシステムのモジュールにより提供される１つ以上の機能を外付けの
ＣＰＵが呼び出すための簡単な手順を提供する組み込みサブシステムに向けられる。組み
込みサブシステムは少なくとも１つの機能を実行する少なくとも１つの機能モジュール、
第１メモリー、およびシーケンスコントローラーを有してなる。各機能モジュールは機能
モジュールの少なくとも１つのローカルレジスターに記憶される１つ以上の値により制御
され設定される。第１メモリーは少なくとも１つの予め定義された命令のシーケンスを記
憶する。
【００３４】
各命令シーケンスは少なくとも１つの機能モジュールを制御して機能を実行する。シー
ケンスコントローラーはベクトル表を記憶する第２メモリーおよび状態機械（ステートマ
シン、以下同様）を有してなる。ＣＰＵからコマンドを受信することに応答して、シーケ
ンスコントローラーはコマンドに対応する命令シーケンスの第１メモリーにおける開始ア
ドレスを取得する。状態機械はベクトル表から開始アドレスを取得する。加えて、状態機
械は開始アドレスで始まる命令シーケンスに従いコマンドにより特定された機能を実行す
る機能モジュールの１つ以上のレジスターをプログラムする。
【００３５】
本要約は図面および詳細な説明において続くことを全般的に説明するために提供され、
発明の範囲を限定することを意図していない。発明の目的、特色、および利点は添付図面
と併せて続く詳細な説明を考察すると容易に理解されよう。
【図面の簡単な説明】
【００３６】
【図１】ＣＰＵ、発明の原理を具現する組み込みサブシステムで複数の機能モジュールを有し各モジュールはローカルレジスターを含む組み込みサブシステム、シーケンスコントローラー、およびコマンドＲＡＭを有してなるコンピューターシステムのブロック図。
【図２】図１におけるローカルレジスターブロックの１つのサブセットを示すブロック図。
【図３】図１における機能モジュールの１つをプログラムする一例を図示する２つのフローを示す。
【図４】図１におけるシーケンスコントローラーおよびコマンドＲＡＭをより詳細に示すブロック図で、シーケンスコントローラーは状態機械を含む。
【図５】図４における状態機械の概略図。
【図６】一実施形態によるコード／データワード形式。
【発明を実施するための形態】
【００３７】
組み込みサブシステムＩＣの機能モジュールにおけるレジスターをプログラムするのに
ＣＰＵを用いる場合、さまざまな技術的問題が生じる。このようなレジスターのプログラ
ミングは相当数のＣＰＵおよびバスサイクルを消費する可能性があり、これは電力消費を
増やしシステム性能を低下させる。加えて、レジスターのプログラミングにＣＰＵを用い
るとＣＰＵ上で動作するソフトウェアが複雑になりがちである。
【００３８】
これらの問題はＣＰＵ  ＩＣおよび発明の原理を具現する組み込みサブシステムＩＣを
含むコンピューターシステムにおいて解決される。ＣＰＵは、組み込みサブシステムに単
独コマンド（single command、単一コマンド）を送信することにより、ある機能が実行さ
れることを要求する。ＣＰＵは、単一コマンド送信後、他の処理タスクを再開することが
できる。
【００３９】
次いで、組み込みサブシステム内のプログラマーブルシーケンスコントローラーが、メ
モリーに予め記憶されている命令シーケンスの第１の命令を特定する。単独コマンドを用
いて第１の命令が保存されているメモリーのメモリーアドレスが特定される。シーケンス
コントローラーは組み込みサブシステム内で要求された機能を実行する１つ以上のレジス
ターをプログラムする。
【００４０】
本発明の組み込みサブシステムＩＣはいくつかの効果を有する。例えば、本発明のシー
ケンスコントローラーは、レジスターのプログラミングの複雑さをＣＰＵから隠し、ＣＰ
Ｕの負荷を低減する。さらに、例えば、このようなシーケンスコントローラーを用いると
ホストバス上のバストラフィック（バス上の転送量）を減らし、消費電力を削減する。さ
らに、例えば、シーケンスコントローラーはそのタスク専用であるのでＣＰＵより迅速に
レジスターのプログラミングを行なうことができる。ＣＰＵはホストバスをアクセスする
ために待機する必要がある場合もあり、または、割り込み要求に応答する必要もあるかも
しれない。さらに、例えば、シーケンスコントローラーは、ＣＰＵより小さい論理ブロッ
クであるので、消費電力を削減できる可能性がある。
【００４１】
言い換えれば、ＣＰＵにより提供される機能性はＣＰＵで必要とされる論理よりはるか
に小さい論理で得られる。ＣＰＵが他にタスクを持っていない場合、シーケンスコントロ
ーラーがレジスターのプログラミングを行なう間、ＣＰＵは低電力の節電モードに入るこ
とができ、消費電力を削減できる。シーケンスコントローラーはＣＰＵより小さい論理ブ
ロックであるので、ＣＰＵより動作時の消費電力が小さく、シーケンスコントローラーを
動作させてもＣＰＵをパワーダウンさせれば、システム全体では消費電力を低減できる。
さらに、シーケンスコントローラーは自由度が大きく、異なるレジスターのプログラミン
グシーケンスを実行するよう容易に適応させることができる。このように、プログラミン
グシーケンスは現場で（例えば、組み込みサブシステムの出荷前や出荷後でもコンピュー
ターシステムを設計している技術者で）変更することができ、シーケンスコントローラー
は広範囲のレジスタープログラマーブルな機能モジュールで容易に再利用することができ
る。
【００４２】
図１はコンピューターシステム２０のブロック図である。コンピューターシステム２０
は、ＣＰＵ２２、組み込みサブシステム２４、およびＣＰＵ２２をメモリー２８や組み込
みサブシステム２４など各種サブシステムおよびデバイスに連結する第１のバスとしての
ホストバス２６とを含む。さらに、コンピューターシステム２０は、組み込みサブシステ
ム２４に連結したデバイス、例えばディスプレイ装置３０、ＳＤＲＡＭメモリー３２、お
よび不揮発性メモリー３４を含む。ここで、不揮発性メモリー３４は、例えば、８ビット
、１６ビットまたは３２ビットのデータでの入出力を行なうパラレルフラッシュメモリー
の機能と１ビットのデータでの入出力を行なうシリアルフラッシュメモリーの機能を有し
ていても良い。
【００４３】
ＣＰＵ２２は単一のＩＣ上に配置されることができる。すなわちＣＰＵ２２はマイクロ
プロセッサーであることができる。若しくは、ＣＰＵ２２は２つ以上のＩＣ上に分割して
配置され、それらのＩＣを合わせて１つのＣＰＵとして機能させることもできる。
【００４４】
また、他の構成要素であるＣＰＵ２２、メモリー２８、デバイスとしてのディスプレイ
装置３０、デバイスとしてのＳＤＲＡＭメモリー３２及びデバイスとしての不揮発性メモ
リー３４は、ＣＰＵ２２を含む単一のＩＣ上に配置されることができる。ＣＰＵ２２はＤ
ＳＰ、コンピューター、またはシステムを制御する他種の任意のデバイスであって良い。
一実施形態で、ＣＰＵ２２はＡＲＭ（Advanced RISC Machine）アーキテクチャに基づく
マイクロプロセッサーである。
【００４５】
コンピューターシステム２０は、図１に図示されない他のコンポーネントを含むことも
できる。メモリー２８は、ＣＰＵ２２またはコンピューターシステム２０の他のコンポー
ネントにより用いられることができる。ホストバス２６は一実施形態で高性能マイクロコ
ントローラーバスアーキテクチャ（ＡＭＢＡ；Advanced Microcontroller Bus Architect
ure）仕様書に定義される高性能ハイパフォーマンスバス（ＡＨＢ；Advanced High perfo
rmance Bus）または高性能システムバス（ＡＳＢ；Advanced System Bus）であることが
できる。
【００４６】
組み込みサブシステム２４は、ＣＰＵ２２と別の単一のＩＣ上に配置されることができ
る。組み込みサブシステム２４は、ＣＰＵ２２と各々別個のＩＣ上に配置されるのでＣＰ
Ｕ２２と離れていることができる。別の実施形態で、組み込みサブシステム２４およびＣ
ＰＵ２２は同じＩＣ上に配置させてもよい。組み込みサブシステム２４とＣＰＵ２２が単
一のＩＣ上に配置される場合、図１において組み込みサブシステム２４に含まれるとして
示されるすべての要素がこのＩＣ上に配置されなくとも良い。例えば、一実施形態でコマ
ンドＲＡＭ４８はチップ外に配置され、他のコンポーネント、例えばメモリー２８が組み
込みサブシステムＩＣ上に配置されていてもよい。さらに別の実施形態として、後述され
る機能モジュールの１つがＩＣチップ外に位置しても良い。
【００４７】
組み込みサブシステム２４はホストインターフェイス３６、第２のバスとしての内部バ
ス３８、および機能モジュールとしてのディスプレイ装置コントローラー４０、機能モジ
ュールとしてのメモリーコントローラー４２、機能モジュールとしての不揮発性メモリー
コントローラー４４を含む。さらに、組み込みサブシステム２４は、シーケンスコントロ
ーラー４６およびコマンドＲＡＭ４８を含む。内部バス３８の特性により、組み込みサブ
システム２４はバスアービター５０を含み、バスアービター５０でホストバス２６に接続
されたホストインターフェイス３６とシーケンスコントローラー４６のどちらを内部バス
３８に接続するか制御するようにすることもできる。さらに、組み込みサブシステム２４
は、必要に応じて初期化コマンド装置５２を含むこともできる。
【００４８】
一実施形態で、内部バス３８はＡＭＢＡ仕様書による高性能周辺バス（ＡＰＢ；Advanc
ed Peripheral Bus）である。ＡＰＢは１つのバスマスターのみを許可する。本実施形態
では、バスアービター５０が指定されているバスマスターで、内部バス３８上の転送制御
を行なう。機能モジュールとしてのディスプレイ装置コントローラー４０、機能モジュー
ルとしてのメモリーコントローラー４２、および機能モジュールとしての不揮発性メモリ
ーコントローラー４４は、バススレーブデバイスとして内部バス３８に連結される。加え
て、コマンドＲＡＭ４８がバススレーブデバイスとして内部バス３８に連結される。シー
ケンスコントローラー４６はバススレーブおよびバスマスター両方の機能を持つ。ＡＰＢ
は１つのバスマスターしか許可されないので、シーケンスコントローラー４６は、バスア
ービター５０経由で内部バス３８に連結される。バススレーブとして内部バス３８に連結
されるデバイスは、いずれもそのデバイスが有するローカルレジスター４０ａ，４２ａ，
４４ａが、バスマスターのいずれからも読み出しまたは書きみを行なうことができる。同
様に、バスマスターとして内部バス３８に連結されるデバイスはバススレーブデバイスの
いずれのローカルレジスター４０ａ，４２ａ，４４ａからも読み出し、またはそれらへ書
き込むことができる。別の実施形態として、内部バス３８はＡＨＢまたはＡＳＢのいずれ
でも良い。ＡＨＢ及びＡＳＢは複数のバスマスターを許可するので、この場合バスアービ
ター５０を備える必要がない。
【００４９】
組み込みサブシステム２４は少なくとも１つの機能モジュールを含むが、所望の数の機
能モジュールを含むことができる。機能モジュールは多種の機能のいずれかを実行するこ
とができる。機能モジュールは、バスインターフェイス、集積回路間（Ｉ2Ｃ）バスコン
トローラー、タイマー、電源モジュール、ＳＤＲＡＭメモリーコントローラー、フラッシ
ュメモリーコントローラー、位相ロックループ（ＰＬＬ）装置、制御論理、およびディス
プレイコントローラーの機能の少なくとも１つを含む。組み込みサブシステム２４の一実
施形態として、図１では、ディスプレイ装置コントローラー４０はディスプレイ装置３０
のコントローラーで、ＳＤＲＡＭメモリーコントローラー４２はＳＤＲＡＭメモリー３２
のコントローラーで、不揮発性メモリーコントローラー４４はフラッシュメモリーなどの
不揮発性メモリー３４のコントローラーである。
【００５０】
各機能モジュールは、それに対応するローカルレジスターにより制御される。本実施形
態において、ローカルレジスターは、各機能モジュールに含まれているが、対応するよう
に機能モジュールの外に設けられていてもよい。
【００５１】
機能モジュールとしてのディスプレイ装置コントローラー４０は、ローカルレジスター
４０ａを含み、機能モジュールとしてのＳＤＲＡＭメモリーコントローラー４２は、ロー
カルレジスター４２ａを含み、機能モジュールとしての不揮発性メモリーコントローラー
４４は、ローカルレジスター４４ａを含む。１つの機能モジュールに含まれるローカルレ
ジスターの数およびローカルレジスターの幅（ビットによる）はモジュール毎に異なるよ
うにしても良い。機能モジュールとしてのディスプレイ装置コントローラー４０、機能モ
ジュールとしてのメモリーコントローラー４２、および機能モジュールとしての不揮発性
メモリーコントローラー４４は内部バス３８上のスレーブデバイスであるので、バスマス
ターは、ローカルレジスター４０ａ，４２ａ，４４ａのいずれからも読み出しをすること
ができ、ローカルレジスター４０ａ，４２ａ，４４ａのいずれにも書き込むことができる
。
【００５２】
図２は機能モジュールとしての不揮発性メモリーコントローラー４４のローカルレジス
ター４４ａのサブセットをより詳細に示したブロック図である。ローカルレジスター４４
ａは、制御レジスター５４、データ書き込みレジスター５６、および状態レジスター５８
を含む。図２に示すローカルレジスター４４ａは簡略化された図であって、ローカルレジ
スター４４ａは、制御レジスター５４、データ書き込みレジスター５６、および状態レジ
スター５８以外のレジスターを含むことができる。
【００５３】
図３は、１つの機能モジュールをプログラムする一例を説明するフロー６０を示す。本
例において、図１の不揮発性メモリーコントローラー４４はフラッシュメモリー等の不揮
発性メモリー３４のコントローラーである。不揮発性メモリーコントローラー４４が実行
する機能の１つは不揮発性メモリー３４の１つの領域を消去することである。
【００５４】
まずフロー６０を参照して説明する。領域消去（セクター消去）操作を開始するために
書き込みイネーブル命令（以降、ＷＲ  ＥＮ命令という）が、コマンドＲＡＭ４８から内
部バス３８を介して不揮発性メモリーコントローラー４４に送信される（ステップＳ６２
）。次に、領域消去命令（以降、ＳＥ命令という）が、コマンドＲＡＭ４８から内部バス
３８を介して不揮発性メモリーコントローラー４４に送信される（ステップＳ６４）。Ｓ
Ｅ命令に続きアドレスが３バイト送信される（ステップＳ６６）。言い換えれば、ステッ
プＳ６６は、１ビットのアドレスの送信が３回繰り返される。次のステップＳ６８で、状
態レジスター読み取り命令（以降、ＲＤＳＲ命令という）が不揮発性メモリーコントロー
ラー４４に送信される。次に、状態レジスター５８から、機能モジュールの状態が読み取
られ（ステップＳ７０）「書き込み中ビット」の論理がハイであるか判定するために確認
が行なわれる（ステップＳ７２）。この最後のステップＳ７２は書き込み中ビットがロー
になるまで繰り返される。書き込み中ビットがローと判定されると、不揮発性メモリー３
４の消去動作が終了したと判断され、ステップＳ７２は終了する。
【００５５】
ステップＳ７２を詳細に説明する。フロー６０で言及されているＷＲ  ＥＮ命令、ＳＥ
命令、およびＲＤＳＲ命令の１つを不揮発性メモリーコントローラー４４のローカルレジ
スター４４ａの１つに書き込むプロセスが示される。ステップＳ７４で、不揮発性メモリ
ー３４を選択するように制御レジスター５４のチップ選択ビット（以降、ＣＳビットとい
う）がハイに設定される。ステップＳ７６で、例えば書き込みイネーブルなどのコマンド
命令（ＣＭＤ）がデータ書き込みレジスター５６に書き込まれる。ステップＳ７６の後、
書き込みデータ空フラグ（Write Data Empty Flag）が状態レジスター５８から読み取ら
れる（ステップＳ７８）。次に不揮発性メモリー３４の「書き込みデータ空フラグ」がハ
イであるか判定される（ステップＳ８０）。ステップＳ７８は、不揮発性メモリー３４の
書き込みデータ空フラグがハイになるまで繰り返される。一旦、データ書き込みレジスタ
ー５６に記憶されるコマンド命令が移し出される（shifted out）と、状態レジスター５
８の書き込みデータ空フラグは不揮発性メモリーコントローラー４４によってハイに設定
される。次に、制御レジスター５４のＣＳビットがローに設定される（ステップＳ８２）
。このプロセスが完了すると、例えば書き込みイネーブルといった１つのコマンド命令が
不揮発性メモリーコントローラー４４にプログラムされる。次に、このステップＳ７２の
プロセスが、ＳＥ命令、３つのアドレスバイトの各々、およびＲＤＳＲ命令に対し繰り返
される。
【００５６】
不揮発性メモリー３４のある領域を消去するために消去機能を呼び出すと、そのための
ステップが加わることになる。そのステップは、特定の命令の状態を知るために、頻繁に
ポーリングを伴う。本例において、レジスタープログラミングのうち、特にＣＰＵから隠
すことが望ましい複雑なプログラミングを説明する。先行技術ではＣＰＵ２２が、このよ
うなレジスタープログラミングを行なう。ＣＰＵ２２にレジスタープログラミングをさせ
ることで、システム性能が低下してしまう。例えばＣＰＵ２２がプログラミングシーケン
スの途中で割り込みに対応しなければならない場合、レジスタープログラミングを行なう
のに比較的長時間かかるかもしれない。加えてＣＰＵ２２がレジスタープログラミングを
行なうことでビジー状態となっていると、ＣＰＵが実施すべき他のタスクにかかることが
できない。さらに、ＣＰＵ２２がレジスタープログラミングを行なうとホストバス２６お
よび内部バス３８上で多くのバスサイクルが必要となり、電力を消費してしまう。
【００５７】
上述のように、発明の原理を具体化するシーケンスコントローラーはこれらの問題を解
決する。発明の原理を具体化するシーケンスコントローラーを含む組み込みサブシステム
がどのようにこれらの問題を解決するかを以下に説明する。
【００５８】
図４は、図１のシーケンスコントローラー４６およびコマンドＲＡＭ４８をより詳細に
図示するブロック図である。シーケンスコントローラー４６はステートマシン（state ma
chine）８４、状態レジスター８６、およびローカルレジスター８８を含む。ローカルレ
ジスター８８はコマンドレジスター９０、コマンドパラメーターレジスター９２，９４，
９６、ならびにコマンドベクトル表９８を含む。図４で示す一実施形態において、ローカ
ルレジスター８８は、３つのコマンドパラメーターレジスター９２，９４，９６を有する
が、別の実施形態として、３つより多数の、またはより少数のコマンドパラメーターレジ
スターを有していてもよい。シーケンスコントローラー４６は、複数の命令を実行するこ
とができる。コマンドベクトル表９８はシーケンスコントローラー４６が実行し得る命令
の各組に対し、コマンドＲＡＭ４８における開始アドレスを記憶する。これにより、シー
ケンスコントローラー４６で実行するコマンドを、コマンドＲＡＭ４８のどのアドレスか
ら読み出すか指定することができる。
【００５９】
コマンドレジスター９０は、コマンドＲＡＭ４８から受信し、現在、実行すべきコマン
ドを記憶する。各コマンドは少なくとも１つのコマンドコードを含む。コマンドコードに
より、さまざまなコマンドパラメーターが必要となるかもしれない。一実施形態で、シー
ケンスコントローラー４６は次の表１に記述されるようにＣＰＵ２２から３７種のコマン
ドを受信する。
【００６０】
【表１】
2009181579.tif 000003
【００６１】
表１から、節電コマンドＳＬＰなど特定のコマンドはコマンドパラメーターを必要とし
ない（パラメーター数が「０」である）。他のコマンドは、「１」又は複数のパラメータ
ーを必要とする（パラメーター数が「０」より大きい）。例えば、機能モジュールとして
のディスプレイ装置コントローラー４０を初期化するコマンドＩＮＩＴ_ＤＳＰＥ_ＣＦＧ
は５つのパラメーターが必要である。パラメーターが必要な第２の例として、画像領域を
読み込むコマンドＬＤ_ＩＭＧ_ＡＲＥＡも５つのパラメーターが必要である。ＳＤＲＡＭ
メモリー３２はフレームバッファーとして用いることができ、一実施形態でコマンドＬＤ
_ＩＭＧ_ＡＲＥＡは機能モジュールとしてのＳＤＲＡＭメモリーコントローラー４２をプ
ログラムする。コマンドＬＤ_ＩＭＧ_ＡＲＥＡはフレームバッファーとして用いられるＳ
ＤＲＡＭメモリー３２にピクセルデータのディスプレイ装置３０上に表示する領域を記憶
する。コマンドＬＤ_ＩＭＧ_ＡＲＥＡに必要なパラメーターは、ディスプレイフレームに
おける領域のｘ座標およびｙ座標を定義するとともに、表示領域の幅と高さを定義するも
のである。
【００６２】
表１に示されるコマンドを使用する利点は、例えば、コマンドコードまたはコマンドパ
ラメーターが、コマンドに結び付いた機能をどの機能モジュールが実行するかを指定する
必要がないことである。ＣＰＵ２２が組み込みサブシステム２４にコマンドを送信すると
、組み込みサブシステム２４の内部でコマンドを実行する機能モジュールを判断する。例
えば、シーケンスコントローラー４６からコマンドＲＡＭ４８へアクセスすることで判断
できる。また、例えば、読み取りまたは書き込みされるローカルレジスターのアドレスを
、ＣＰＵ２２から送信するコマンドコードまたはコマンドパラメーターが指定する必要も
ない。必要なレジスターのアドレスは以下に説明されるコマンドシーケンスの中に含まれ
る。さらに、特定のコマンドシーケンスに必要なデータおよびパラメーター情報は一部コ
マンドシーケンスに含まれる場合もあるので一般的にホストとしてのＣＰＵ２２がすべて
書き込む必要はない。
【００６３】
表１に示されるコマンドを使用することの一利点は１つのコマンドを用いて複数の機能
モジュールにおけるローカルレジスターをプログラムできることである。例えば、コマン
ドＩＮＩＴ_ＳＹＳ_ＲＵＮは、ＰＬＬ機能モジュール、例えば機能モジュールとしてのＳ
ＤＲＡＭメモリーコントローラー４２などのＳＤＲＡＭ機能モジュール、例えば機能モジ
ュールとしてのディスプレイ装置コントローラー４０などのディスプレイコントローラー
機能モジュール、図示されていない電源制御モジュール、およびチップを「稼動（run）
」モードにセットする制御モジュールを初期化することができる。すなわち、コマンドＩ
ＮＩＴ_ＳＹＳ_ＲＵＮは、１つのコマンドで複数の機能モジュールを初期化することがで
きる。
【００６４】
ＣＰＵ２２は、ホストバス２６、ホストインターフェイス３６及びバスアービター５０
を介して、組み込みサブシステム２４のオペレーションに必要なコマンドパラメーターを
コマンドパラメーターレジスター９２，９４，９６に伝送して記憶させ、次に、コマンド
コードをコマンドレジスター９０に伝送して記憶させる。
【００６５】
シーケンスコントローラー４６が、ＣＰＵ２２からコマンドレジスター９０への書き込
みを検出すると、状態レジスター８６に「使用中」を示すビット（ビジービット）を設定
する。シーケンスコントローラー４６のロジック回路は、コマンドレジスター９０に記憶
されているコマンドコードをコマンドベクトル表９８に記憶されているコマンドと照合し
、該当するコマンドシーケンスの開始アドレスを取得する。すなわち、コマンドコードに
対応する命令シーケンスが、コマンドＲＡＭ４８のどのアドレスに保存されているかを取
得する。次に、ステートマシン８４は、コマンドＲＡＭ４８から命令を取得し始める。ス
テートマシン８４は、前のステップで取得したコマンドＲＡＭ４８の開始アドレスから読
みだしを始める。コマンドＲＡＭ４８に記憶される命令シーケンスは命令コードワードお
よびデータワードを含むので、本明細書において「命令」あるいは「コード／データ」ワ
ードと呼ぶ。
【００６６】
ステートマシン８４は、コマンドＲＡＭ４８の指定された開始アドレスから第１コード
／データワードの読み出しを始める。コマンドＲＡＭ４８から読み出された命令は復号化
され、現在、実施すべき命令を完全に指定するのに必要なコード／データワードの数（例
えば１〜４）が判定される。ステートマシン８４は、数を判定すると、適切な数のコード
／データワードをコマンドＲＡＭ４８から読み出す。次に、ステートマシン８４は、複数
の機能モジュールの中からコード／データワードで指定された機能モジュール（例えば、
ディスプレイ装置コントローラー４０）のローカルレジスター（例えば、ローカルレジス
ター４０ａ）から上方を読み出し、若しくはそれに情報を書き込む。または、ステートマ
シン８４は、コード／データワードにより指定された他の動作を実行する。
【００６７】
一実施形態で、コード／データワードは１６ビット幅であり、命令（instruction）、
値（value）、マスク（mask）、条件付き（conditional）、パラメーターポインター（pa
rameter pointer）、およびパラメーター値の種類（parameter value type）を含む。
【００６８】
図６は一実施形態によるコード／データワード形式を図示する。すべてのコマンドシー
ケンスはメイン命令（main instruction）１４２を含み、メイン命令１４２で始まらなけ
ればならない。メイン命令１４２は命令コード（ビット［１５：１２］）、最終命令ビッ
ト（ビット［１１］）、およびレジスターアドレス（ビット［１０：０］）を含む。
【００６９】
メイン命令の種類によって、値、マスク、条件付き、パラメーターポインター、および
パラメーター値のデータワードをさらに含んでいてもよい。値データワード１４４は、レ
ジスター（例えば、機能モジュールのローカルレジスター）に書き込む値の指定、または
レジスター（例えば、機能モジュールのローカルレジスター）から読み取られたデータと
比較するデータの指定に用いることができる。
【００７０】
マスクデータワード１４６は、値データワード１４４による比較操作の前に、レジスタ
ーから読み取られたデータをマスクするのに用いることができる。加えて、マスクデータ
ワード１４６はレジスターにパラメーターを書き込む前に、命令パラメーターをマスクす
るのに用いることができる。
【００７１】
条件付きデータワード１４８は条件付き分岐に用いることができる。条件付きデータワ
ード１４８は比較コード（ビット［１５：１４］）およびジャンプアドレス（ビット［１
３：０］）を含む。パラメーターポインターデータワード１５０は、現在、実行する命令
にどのコマンドパラメーターを用いるかを特定するために用いることができる。パラメー
ターポインターデータワード１５０は、パラメーターインデクス（ビット［７：０］）を
含む。パラメーター値データワード１５２は以下に説明する特定のハイブリッド書き込み
パラメーター命令ＷＰＬＬＶ，ＷＰＬＨＶ，ＷＰＨＬＶ，ＷＰＨＨＶで用いられる。パラ
メーター値データワード１５２は値（ビット［１５：８］）およびパラメーターインデク
ス（ビット［７：０］）を含む。
【００７２】
一実施形態で、命令コードは１６種の異なる命令に対し供給される。コード／データワ
ードはステートマシン８４の実施するロジックに従ってコマンドＲＡＭ４８から読み出さ
れ処理される。１６種類の命令コードは次の表２に示される。
【００７３】
【表２】
2009181579.tif 000004
【００７４】
表２から見られるように、命令コードは主にレジスターからの読み出しおよびレジスタ
ーへの書き込みを行なうためのものである。表２の命令コードのいくつかは従来からある
ものであるが、他はレジスターの読み取りおよび書き込みを行なうために最適化されてい
る。特に、従来はＣＰＵ２２から制御するには複数の命令を発行する必要があった操作を
１つの命令で実行できるようにした。加えて、他の命令は異なるバス幅およびレジスター
幅に容易に対応するために供給される。
【００７５】
ＲＣＷＥＱ「読み出し、比較、等しくなるまで待つ」の命令は１つの命令を用いて、読
み出し、比較、待機の複数の操作を行なう。ＣＰＵ２２から直接これらの操作を行なうに
は複数の命令が必要である。ＲＣＷＥＱ命令は、メイン命令１４２、値データワード１４
４、およびマスクデータワード１４６の３つの命令／データワードを用いる。ＲＣＷＥＱ
命令は、指定したレジスターにおける値をマスクデータワード１４６に指定されるマスク
値とＡＮＤする。その結果は、値データワード１４４に指定される値と比較される。命令
によって、読み出しステップとＡＮＤを演算するステップと比較のステップを、比較の結
果が等しくなるまで繰り返し実行される。等しくなると、ステートマシン８４は次の命令
に進む。
【００７６】
ＲＣＷＥＱ命令と同様、ＲＣＷＮＥ「読み出し、比較、等しくなくなるまで待つ」の命
令もＣＰＵ２２が行なうには複数の命令を必要とする操作を１つの命令で行なう新規の命
令である。ＲＣＷＮＥ命令は、メイン命令１４２、値データワード１４４、およびマスク
データワード１４６の３つの命令／データワードを用いる。ＲＣＷＥＱ命令は、指定レジ
スターにおける値をマスク値とＡＮＤする。結果は値データワード１４４に指定される値
と比較される。命令は、比較の結果が等しくなくなるまで、比較の動作が繰り返される。
等しくなくなると、ステートマシン８４は次の命令に進む。
【００７７】
コマンドシーケンスにおける最後の命令が完了すると、シーケンスコントローラー４６
は、シーケンスコントローラー４６の状態レジスター８６の使用中ビット（ビジービット
）をクリアして、状態レジスター８６を待機状態のビットに設定する。ＣＰＵ２２は、状
態レジスター８６を定期的にポーリングしてコマンドシーケンスがいつ完了したか知るこ
とができる。例えば、ＣＰＵ２２は後続の命令を送信する前に状態レジスター８６を確認
することができる。例えば、状態レジスター８６がビジー状態に設定されている場合は、
後続の命令の送信を待機する。そして、コマンドシーケンスが終了した時点で、シーケン
スコントローラー４６がＣＰＵ２２に割り込みを送信することができる。ＣＰＵ２２が割
り込みを受信してから、ＣＰＵ２２は、後続の命令を組み込みサブシステム２４に送信す
る。
【００７８】
図５は、図４における状態機械の概略図である。図５に示すように状態機械は７つの状
態を有する。それぞれの状態を表３で説明する。
【００７９】
【表３】
2009181579.tif 000005
【００８０】
状態１０２〜１１０はコマンドＩＮＩＴ_ＣＭＤ以外のコマンドのみに対することが特
記される。加えて状態１１２はコマンドＩＮＩＴ_ＣＭＤに対してのみである。
【００８１】
一実施形態で、ステートマシン８４は、以下の表４に説明されるような１４の遷移を有
する。
【００８２】
【表４】
2009181579.tif 000006
【００８３】
一実施形態で、コンピューターシステム２０に電源が投入されると、ＣＰＵ２２がコマ
ンドシーケンスをコマンドＲＡＭ４８に記憶し、シーケンスコントローラー４６のコマン
ドベクトル表９８を初期化する。
【００８４】
別の実施形態では、コンピューターシステム２０に電源が投入されると、初期化コマン
ド装置５２がコマンドシーケンスおよびベクトル表入力を不揮発性メモリー３４などの不
揮発性メモリーから読み出しても良い。初期化コマンド装置５２は、不揮発性メモリー３
４から読み出した情報をコマンドＲＡＭ４８およびコマンドベクトル表９８に記憶する。
初期化コマンド装置５２は、ハードウェアに組み込まれた初期化コマンドシーケンスを含
んでいる。
【００８５】
一実施形態で、シーケンスコントローラー４６は、機械読み取り可能な（コンピュータ
ーで読み取れる）媒体に記憶される命令を実行することにより、本説明に記述される操作
のいくつかまたはすべてを行なうことができる。
【００８６】
図１に示すように、機能モジュールとしてのディスプレイ装置コントローラー４０、機
能モジュールとしてのメモリーコントローラー４２、および機能モジュールとしての不揮
発性メモリーコントローラー４４は組み込みサブシステム２４内に配置される。一実施形
態で、組み込みサブシステム２４はＩＣ上に配置され、１つ以上の機能モジュールはサブ
システムＩＣ外に配置されることができる。言い換えれば、一実施形態で組み込みサブシ
ステムは１つ以上のチップ外の機能モジュールを含むことができる。
【００８７】
本説明で、「一実施形態」または「ある実施形態」に言及することがある。これらの言
及は実施形態に関連して説明される特定の特徴、構造、または特性が請求される発明の少
なくとも１つの実施形態に含まれることを意味する。従って各所における「一実施形態で
」または「ある実施形態」はかならずしもすべて同じ実施形態に言及するものではない。
さらに、特定の特徴、構造、または特性は１つ以上の実施形態において組み合わされるこ
とができる。
【００８８】
明確な理解の目的から実施形態が詳細に説明されたが、添付クレームの範囲内である種
の変更および修正を実施できることは明らかであろう。従って、説明された実施形態は限
定的ではなく例示的とみなされ、請求される発明は本明細書で提供される詳細に限定され
るのではなく、添付クレームの範囲および同等のもの内で修正することができる。さらに
、上記の明細書において用いられる用語および表現は限定でなく説明の用語として用いら
れ、このような用語および表現の使用により示され説明される特徴またはその一部と同等
のものを除外する意図はなく、発明の範囲はクレームによってのみ定義され限定されると
理解される。
【符号の説明】
【００８９】
２０…コンピューターシステム、２４…組み込みサブシステム、２６…ホストバス、３
８…内部バス、４６…シーケンスコントローラー。
【図１】
2009181579.tif 000007
【図２】
2009181579.tif 000008
【図３】
2009181579.tif 000009
【図４】
2009181579.tif 000010
【図５】
2009181579.tif 000011
【図６】
2009181579.tif 000012