(57)【要約】      （修正有）【課題】  異種プロトコルのマルチチップが使用されるシステムにおいて、少ないピン数で互いのチップの内外部資源を使用できるようにする。【解決手段】  ある一チップにプロトコル変換システムが内蔵され、前記プロトコル変換システムは外部マスタチップの固有インタフェース信号からプロトコル変換システムが内蔵されたスレイブチップの資源を利用することができる各種の環境レジスタ値、スレイブチップの資源にアクセスするためのアドレス及びスレイブチップのバス制御のための各種の制御信号を生成する。これによって、少ない数の信号を使用して外部マスタチップがスレイブチップの各種の内外部資源を利用することができるようになる。【選択図】  図２
2005050324.tif 000002
【特許請求の範囲】
【請求項１】
マスタ側から提供されたアドレスからレジスタアクセスモードであるか、メモリアクセスモードであるかを判断するアドレス処理器と、
前記アドレス処理器の判断結果、前記レジスタアクセスモードであれば、スレイブ側の資源を使用するための各種のレジスタ値を設定するためのレジスタマッピングメモリと、
前記メモリアクセスモードであれば、前記マスタ側から提供されたアドレスの一部及び前記レジスタマッピングメモリに設定されたアドレス関連レジスタ値から前記スレイブ側の資源に対するアクセスアドレスを生成するアドレス発生器と、
前記マスタ側から提供される制御信号及び前記レジスタマッピングメモリに設定された制御関連レジスタ値を参照してスレイブ側のバスプロトコルを直接制御するための制御信号を発生するローカルバス制御器とを含むことを特徴とするインタフェース変換システム。
【請求項２】
前記マスタ側とスレイブ側との間の大容量のデータブロック伝達を支援するためのデータバッファをさらに含むことを特徴とする請求項１に記載のインタフェース変換システム。
【請求項３】
前記レジスタマッピングメモリは前記スレイブ側の資源の状態情報を貯蔵する第１レジスタ領域及び前記スレイブ側の資源を使用するための各種レジスタ値が貯蔵される第２レジスタ領域を含むことを特徴とする請求項１または請求項２に記載のインタフェース変換システム。
【請求項４】
前記第１レジスタ領域は前記スレイブ側の資源に対するアクセスが可能であるか否かに対する情報を貯蔵することを特徴とする請求項３に記載のインタフェース変換システム。
【請求項５】
前記データバッファに貯蔵されたデータ、前記第２レジスタ領域に貯蔵されたデータ及び前記スレイブ側の資源を選択して前記マスタ側に伝達するための読み出しデータマルチプレクサと、
前記データバッファ及び前記マスタ側から提供されたデータを選択して前記スレイブ側に伝達するための書き込みデータマルチプレクサとをさらに含むことを特徴とする請求項３に記載のインタフェース変換システム。
【請求項６】
前記マスタ側は前記レジスタマッピング領域に対して自分の外部バスプロトコルを使用して直接的にアクセス可能であることを特徴とする請求項１に記載のインタフェース変換システム。
【請求項７】
各々の独立的なバスプロトコルを具備する多数個のチップと、
前記多数個のチップのうちの少なくともいずれか一つのチップに内蔵されて、外部マスタチップとの間のインタフェースを変化させるインタフェース変換システムとを含み、
前記インタフェース変換システムは、前記外部マスタチップの固有インタフェース信号を使用して、それが内蔵されたスレイブチップの資源を利用することができるように各種の環境レジスタ値、前記スレイブチップの資源に対するアクセスアドレス及び前記スレイブチップのバスを直接制御する各種制御信号を生成することを特徴とするシステムオンチップ。
【請求項８】
前記インタフェース変換システムは前記マスタチップから提供されたアドレスがレジスタアクセスモードであるか、メモリアクセスモードであるかを判断するアドレス処理器と、
レジスタアクセスモード時、前記マスタチップから提供されたアドレスの一部から前記各種環境レジスタ値を貯蔵するレジスタマッピングメモリと、
メモリアクセスモードの時、前記マスタチップから提供されたアドレスの一部、及び前記レジスタマッピングメモリに貯蔵されたレジスタ値のうちアドレス関連レジスタ値から前記スレイブチップ資源に対するアクセスアドレスを生成するアドレス変換器と、
前記各種制御信号を生成するためのローカルバス制御器とを含むことを特徴とする請求項７に記載のシステムオンチップ。
【請求項９】
前記マスタチップ及びスレイブチップの間の大量のブロック伝達のためのデータバッファをさらに含むことを特徴とする請求項７または請求項８に記載のシステムオンチップ。
【請求項１０】
第１チップから提供されたアドレスに基づいて第２チップの資源を使用するか、バスプロトコルを制御するための各種環境レジスタ値を設定し、
前記第１チップから提供されたアドレスの一部及び前記環境レジスタ値のうちアドレス関連レジスタ値から前記第２チップの資源に対するアクセスアドレスを生成し、
前記第１チップの制御信号及び前記環境レジスタ値のうち制御関連レジスタ値から前記第２チップのバスプロトコルを制御するための制御信号を生成し、
前記アクセスアドレスに対応する前記第２チップの資源を利用することを含むことを特徴とするインタフェース変換方法。
【請求項１１】
前記各種環境レジスタ値を設定する前に、前記第２チップの資源がアクセス可能であるか否かを確認することをさらに含むことを特徴とする請求項１０に記載のインタフェース変換方法。
【請求項１２】
外部マスタチップの固有インタフェース信号から内部スレイブチップの資源を利用することができる各種環境レジスタ値を設定し、
設定された各種環境レジスタ値から前記スレイブチップの資源に対するアクセスアドレスおよびそのバスプロトコルを制御するための各種制御信号を生成することを含むことを特徴とするインタフェース変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はインタフェースシステムに関するものであって、さらに詳細には、インタフェース変換システム及びその方法に関するものである。
【背景技術】
【０００２】
無線通信とマルチメディアの発達によって、より複雑な機能を消化するため一つのシステム内に二つの以上のチップを内蔵することが求められている。例えば、携帯電話で通信を担当するモデムチップと応用プログラムを担当する応用プロセッサチップが独立的に搭載されている。通常に各チップのマイクロプロセッサはＳＲＡＭ、フラッシュメモリ、ＳＤＲＡＭなどを独立的に有する。したがって、二つのマイクロプロセッサが互いにデータを取り交わす必要がある時、専用のインタフェースが追加的に必要だけではなく、同一のメモリ部品を二つの以上を使用するようになって、製品の原価を高める短所がある。
【０００３】
ある一チップ(マスタチップ)が他のチップ(スレイブチップ)の資源を全部使用するためには、そのチップ(スレイブチップ)の内部で使用するバスプロトコルをそのチップの外部で使用可能に、バスプロトコル信号のためのピンを外に置かなければならない。通常のチップの内部のバスプロトコルはそのチップの内部でだけ使用されるように考慮されたので、アドレスやデータバスのサイズが大きく、制御信号も複雑するので、そのチップの資源を使用するためには、他のチップ(マスタチップ)に使用される信号ピンの数が多く増加するようになる。例えば、アクセスしようとするスレイブチップのメモリのサイズだけアドレスピンが必要であり、スレイブチップの制御信号に対応するだけの制御ピンの数が必要である。このようなピン数の増加は集積度を難しくし、製品の原価を高める原因として作用する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、異種プロトコルのマルチチップが使用されるシステムで各チップのピンをそのまま使うか、または少ないピンを使用する新しいインタフェースを使用して互いのチップの内外部資源を使用するようにするインタフェース変換システム及びその方法を提供することである。
【０００５】
本発明はまたインタフェース変換システムを利用したシステムオンチップを提供することである。
【課題を解決するための手段】
【０００６】
上述の課題を達成するための本発明のインタフェース変換システムは、マスタ側の固有インタフェース信号を使用してスレイブ側の資源を利用することができるように、各種の環境レジスタ値、前記スレイブチップの資源に対するアクセスアドレス及び前記スレイブチップのバスを直接制御する各種制御信号を生成することを一特徴とする。
【０００７】
具体的に、前記インタフェース変換システムは、マスタ側から提供されたアドレスからレジスタアクセスモードであるか、メモリアクセスモードであるかを判断するアドレス処理器と、前記アドレス処理器の判断結果、前記レジスタアクセスモードであれば、前記マスタ側から提供されたアドレスの一部に基づいてスレイブ側の資源を使用するための各種のレジスタ値を設定するためのレジスタマッピングメモリと、前記アドレス処理器の判断結果、前記メモリアクセスモードであれば、前記マスタ側から提供されたアドレスの一部及び前記レジスタマッピングメモリに設定されたアドレス関連レジスタ値から前記スレイブ側の資源に対するアクセスアドレスを生成するアドレス発生器と、前記マスタ側から提供される制御信号及び前記レジスタマッピングメモリに設定された制御関連レジスタ値を参照してスレイブ側のバスプロトコルを直接制御するための制御信号を発生するローカルバス制御器とを含む。
【０００８】
一実施の形態において、前記マスタ側とスレイブ側との間の大容量のデータブロック伝達を支援するためのデータバッファをさらに含む。
【０００９】
一実施の形態において、前記レジスタマッピングメモリは前記スレイブ側の資源の状態情報を貯蔵する第１レジスタ領域、及び前記マスタ側から提供されたアドレスに基づいて前記スレイブ側の資源を使用するための各種のレジスタ値が貯蔵される第２レジスタ領域を含む。この時、前記第１レジスタ領域は前記スレイブ側の資源に対するアクセスが可能であるか否かに対する情報及びデータブロック伝達が完了したか否かに対する情報を貯蔵する。
【００１０】
マスタ側は固有のプロトコルに基づいてレジスタマッピング領域にアクセスする。例えば、マスタ側はレジスタマッピング領域の第１レジスタ領域に貯蔵された情報を読み出してアクセス可能なスレイブ側の資源を確認した後、レジスタマッピング領域の第２レジスタ領域に各種のレジスタ値(スレイブ側のバス制御のためのレジスタ値及びスレイブ側の資源のアクセスアドレスを設定するためのベースアドレス)を記録する。このようなレジスタマッピングメモリに対する読み出し及び書き込みは全部マスタ側の固有インタフェースによって進行される。
【００１１】
マスタ側から提供されたアドレスはアドレス処理器によって判断される。例えば、アドレスの最上位ビットが‘１’であれば、レジスタアクセスモードに、‘０’であれば、メモリアクセスモードに決める。レジスタアクセスモードであれば、最上位ビットを除いた残りのアドレスビットに対応するレジスタマッピングメモリのアドレスにアクセスして、その所に各種のレジスタ値を記録する。記録されるレジスタ値は例えば、ベースアドレス、データのサイズ、バーストのサイズ、データバッファイネーブルフラッグ、ブロック読み出し伝送開始、ブロック書き込み伝送開始などであり得る。メモリアクセスモードであれば、アドレス変換器は最上位ビットを除いた残りのアドレスとレジスタマッピングメモリに設定されたベースアドレスを使用してスレイブ側の資源に対するアクセスアドレスを生成する。一方、ローカルバス制御器はマスタ側から提供された制御信号及びレジスタマッピング領域に設定されたレジスタ値からスレイブ側のバスプロトコルを制御するための各種の制御信号を発生する。例えば、状態マシンを利用して実現することができる。ローカルバス制御器及びアドレス変換器によって生成された制御信号及びアクセスアドレスによってスレイブ側の資源が利用される。
【００１２】
したがって、本発明によると、既存のチップとしてアドレスピン、データピン、制御ピンをそのまま使用し、かつ異種プロトコルの間の資源を共有することができる。
【００１３】
上述のインタフェース変換システムは、多数個のシステムオンチップが使用されるシステムに非常に有用に適用され得る。インタフェース変換システムが内蔵されたシステムオンチップに対して外部システムオンチップであるマスタチップが容易にインタフェース変換システムが内蔵されたチップの内外部資源を利用し得る。
【００１４】
前記技術的課題を達成するための異種プロトコルの間のインタフェース変換方法は、第１チップから提供されたアドレスに基づいて第２チップの資源を使用するか、バスプロトコルを制御するための各種の環境レジスタ値を設定し、前記第１チップから提供されたアドレスの一部及び前記環境レジスタ値のうちアドレス関連レジスタ値から前記第２チップの資源に対するアクセスアドレスを生成し、前記環境レジスタ値のうち制御関連レジスタ値から前記第２チップのバスプロトコルを制御するための制御信号を生成し、前記アクセスアドレスに対応する前記第２チップの資源を利用することを含む。
【００１５】
一実施の形態において、前記各種の環境レジスタ値を設定する前に、前記第２チップの資源がアクセス可能であるか否かを確認することをさらに含む。
【発明の効果】
【００１６】
本発明によると、マスタチップの固有な外部インタフェースに使用される各種の信号を使用してスレイブチップの資源利用に必要な各種の環境レジスタ値、スレイブチップの資源にアクセスするためのアドレス及びスレイブチップのバス制御のための各種制御信号を生成する。したがって、ピン数が増加せず、かつ異種プロトコルの間の通信が効率的になされることができる
【発明を実施するための最良の形態】
【００１７】
以下、添付の図面を参照して本発明の実施の形態を詳細に説明する。しかし、本発明はここで説明される実施の形態に限定されず、他の形態に具体化されることもできる。むしろ、ここで紹介される実施の形態は開示された内容が徹底し、完全になれるように、そして当業者に本発明の思想を十分に伝達するために提供されるものである。
【００１８】
本発明はチップの内部にバスプロトコルを隠匿化(encapsulization)するインタフェースシステムを内蔵して、外部の他のチップ(マスタチップ)がインタフェース変換システムが内蔵されたチップ(スレイブチップ)のバスプロトコルが要するピン数より少ない数のピンにスレイブチップの各種の内外部資源を共有するようにする。また、異種プロトコルの間の資源共有のための別途のインタフェース信号を使用せず、チップの固有の汎用メモリインタフェースを使用して他のチップ(スレイブチップ)のすべての資源を利用することもできる。
【００１９】
図１は本発明によるインタフェースシステムの概念を説明するためのブロック図である。本発明のインタフェース変換システム４０は異種プロトコルバスインタフェースを有するチップＡ、Ｂ(１０、２０)の間でプロトコルを変換させて、ある一チップ１０がインタフェース変換システム４０が内蔵された他のチップ２０の資源を少ない数のピンを使用して利用するようにする。
【００２０】
例えば、チップＡ(１０)はバスインタフェースとして、ｉビットの制御信号、ｊビットのアドレス、ｋビットのデータが使用される。一方、チップＢ(２０)は１ビットの制御信号、ｍビットのアドレス、ｎビットのデータが使用され、ｉ＋ｊ＋ｋ≦１＋ｍ＋ｎである。したがって、チップＡ(１０)がチップＢ(２０)の資源３０を使用するためには、チップＢ(２０)の固有プロトコルが要する個数だけのピン数を使用しなければないらないであろう。しかし、本発明はインタフェース変換システム４０をある一つのチップ、例えば、チップＢ(２０)に内蔵してチップＡ(１０)のプロトコルを使用して(すなわち、別途の追加的なピン数の増加なく)チップＢ(２０)の資源３０を使用するようにする。ここで、資源３０はチップＢ(２０)が有している様々なモジュール、例えば、メモリコントローラ、ＬＣＤコントローラ、その他資源などチップＢ(２０)の内外部の資源を示すことができる。
【００２１】
本発明のインタフェース変換システム４０はチップＡ(１０)、すなわち、マスタチップが使用する制御信号及びアドレスをそのまま利用して、それ(インタフェース変換システム)が内蔵されたチップＢ(２０)、すなわち、スレイブチップの内外部の資源を利用するように、各種環境レジスタ値をレジスタマッピング領域に設定し、設定された環境レジスタ値からスレイブチップの資源にアクセスするためのアドレス及びスレイブチップのバス制御のための各種制御信号を生成する。スレイブチップのバス制御のための各種制御信号は状態マシン（ｓｔａｔｅ  ｍａｃｈｉｎｅ）を使用して適切に実現することができる。状態マシンの実現はスレイブチップのバスプロトコルに従って多様に実現されることができることは当業者において自明である。
【００２２】
図２を参照して、本発明のインタフェース変換システムに対して詳細に説明する。インタフェース変換システム４０の内部モジュールを制御器５０が全体的に制御する。本発明によるインタフェース変換システム４０は外部マスタチップＡ(１０)の固有インタフェース信号を有し、スレイブチップＢ(２０)の内外部資源を利用するようにするスレイブチップＢ(２０)のバスマスタ機能をする。
【００２３】
本発明によるインタフェース変換システム４０は、アドレス処理器４１、レジスタマッピング領域４２、アドレス変換器４５、ローカルバス制御器４６、及びこれらの各モジュールを制御する制御器５０を含む。アドレス処理器４１はマスタチップＡ(１０)から提供されたアドレス(例えば、ｊビットアドレス)を解読して、レジスタマッピング領域４２にアクセスするためのモード(レジスタアクセスモード)であるか、チップＢ(２０)の資源(例えば、メモリ)にアクセスするためのモード(メモリアクセスモード)であるかを判断する。一例として、アドレス処理器４１はマスタチップＡ(１０)に提供されたアドレスの最上位ビットとして、レジスタアクセスモードであるか、メモリアクセスモードであるかを判断することができる。例えば、アドレスの最上位ビットが‘１’であれば、レジスタアクセスモードであり、‘０’であれば、メモリアクセスモードであり得る。
【００２４】
レジスタマッピング領域４２は、レジスタアクセスモードの時、チップＢ(２０)の資源を利用するための各種環境レジスタ値を貯蔵するレジスタである。望ましくは、レジスタマッピング領域４２は外部マスタチップＡ(１０)が読み出しばかり可能な第１レジスタ領域４３及び外部マスタチップＡ(１０)が記録できる第２レジスタ領域４４で構成される。外部マスタチップＡ(１０)は自分の固有なバスプロトコルを使用してレジスタマッピング領域４２の第１レジスタ領域４３及び第２レジスタ領域４４をアクセスする。第１レジスタ領域４３はスレイブチップＢ(２０)の資源３０に対する各種状態情報を貯蔵するレジスタで構成される。例えば、アクセス可能資源情報(ａｃｃｅｓｓｉｂｌｅ  ｍｏｄｕｌｅ  ｉｎｆｏｒｍａｔｉｏｎ)、マスタチップＡ(１０)とスレイブチップＢ(２０)との間の円滑な通信のための各種の資源の状態を知らせる状態フィールド(ｓｔａｔｕｓ  ｆｉｅｌｄ)を含む。アクセス可能資源情報はスレイブチップＢ(２０)が有している資源のうち、現在アクセス可能な資源情報を示す。これはスレイブチップＢ(２０)が自分の資源のうちの一部の資源をパワー節約のために(ｐｏｗｅｒ−ｓａｖｅ  ｓｃｈｅｍｅ)非活性化させた時、マスタチップＡ(１０)が活性化された資源のみを利用するようにするためである。アクセス可能資源情報は資源単位フラッグ形態やアドレスマップ(ａｄｄｒｅｓｓ  ｍａｐ)形態で実現されることができる。
【００２５】
一方、マスタチップＡ(１０)が固定的に知られた資源のみを利用する場合、またはスレイブチップＢ(２０)のすべての資源が常に活性化された場合には、アクセス可能資源情報は不要になる(第１レジスタ領域は不要になることもできる)。このような資源３０に対する情報はスレイブチップＢ(２０)によって更新する。
【００２６】
第２レジスタ領域４４はスレイブチップＢ(２０)のバス制御、データ読み出し／書き込み制御のための各種制御信号の生成の基礎になるレジスタ値及びベースアドレスを貯蔵するレジスタで構成される。
【００２７】
アドレス変換器４５はメモリアクセスモードの時、レジスタマッピング領域４２の第２レジスタ領域４４に貯蔵されたアドレス関連レジスタ値(ベースアドレス)及びマスタチップＡ(１０)から提供されたアドレスの一部(例えば、最上位ビットを除いた残りのアドレスビット、説明の便宜上‘ローカルアドレス’という)を使用してスレイブチップＢ(２０)の資源３０の特定の領域に対するアクセスアドレスを生成する。
【００２８】
ローカルバス制御器４６はレジスタマッピング領域４２の第２レジスタ領域４４に貯蔵された制御関連レジスタ値及びマスタチップＡ(１０)から提供される制御信号に基づいてスレイブチップＢ(２０)のバス制御及びデータ読み出し／書き込み制御のための各種の制御信号を生成する。例えば、マスタチップＡ(１０)はＳＲＡＭインタフェースを使用し、スレイブチップＢ(２０)はＡＭＢＡインタフェースを使用する場合、マスタチップＡ(１０)から提供されたメモリ読み出し関連制御信号ＣＳｎ(チップ選択信号)、ＯＥｎ(出力イネーブル信号)からスレイブチップＢ(２０)に対するバス要請信号ＨＢＵＳＲＥＱｘを生成し、制御関連レジスタ値(例えば、データのサイズ、バーストの長さなどに関連した情報)からＨＴＲＡＮＳ(トランスファ)、ＨＳＩＺＥ(データのサイズ)、ＨＢＵＲＳＴ(バーストの長さ)などの各種バス制御信号を生成する。
【００２９】
このようなスレイブチップのバス制御及びデータ読み出し／書き込みのための各種制御信号は状態マシンを使用して実現することができる。状態マシンの実現はスレイブチップのバスプロトコルに従って多様になされ、当業者において自明であるので、詳細な説明は省略する。
【００３０】
読み出しデータマルチプレクサ４８は第１レジスタ領域及びチップＢ(２０)からオンデータを選択してチップＡ(１０)に伝達する。
【００３１】
望ましくは、インタフェース変換システム４０はデータバッファ４７をさらに含む。データバッファ４７は外部マスタチップＡ(１０)及び内部スレイブチップＢ(２０)の間の大容量のデータブロック伝達を支援するための臨時貯蔵場所である。データバッファ４７はＮＡＮＤフラッシュメモリとともにページＰＡＧＥ単位にアクセスしなければならない資源や高性能のために大量のバースト伝達(ｂｕｒｓｔ  ｔｒａｎｓｆｅｒ)が必要な資源のために適するサイズで構成され得る。
【００３２】
ブロック伝達の場合、スレイブチップＢ(２０)から読み出したデータはデータバッファ４７に臨時貯蔵される。同様に、マスタチップＡ(１０)からスレイブチップＢ(２０)に大容量のデータブロックを使用する場合、これらのデータが先ずデータバッファ４７に貯蔵される。
【００３３】
この時、読み出しデータマルチプレクサ４８はデータバッファ４７に貯蔵されたデータ、スレイブチップＢ(２０)からのデータ、第２レジスタ領域４３からのデータを選択してマスタチップＡ(１０)に伝達する。
【００３４】
書き込みデータマルチプレクサ４９はデータバッファ４７に貯蔵されたデータ及びマスタチップＡ(１０)から直接提供されるデータを選択してスレイブチップＢ(２０)に伝達する。
【００３５】
第２レジスタ領域４４には大きくスレイブチップＢ(２０)の資源に対するアクセスアドレスと関連したアドレス関連レジスタ値(ベースアドレス)、データ伝送関連レジスタ値及び制御信号生成関連レジスタ値などが貯蔵される。
【００３６】
アドレス関連レジスタ値(ベースアドレス)は次のように決まることができる。ベースアドレスポインタによって参照されるベースアドレス変換テーブルに設定された値がベースアドレスであり得る。または、第２レジスタ領域４４の特定アドレスに貯蔵されたレジスタ値、またはそれがシフトされた値がベースアドレスとして使用されることができる。ベースアドレスはアクセスしようとするスレイブチップＢ(２０)の資源に対する一部のアドレスを示す。残りのアドレスはマスタチップＡ(１０)から提供される。すなわち、ベースアドレスとローカルアドレスを使用して最終的なアクセスアドレスが生成される。
【００３７】
図３（ａ）及び図３（ｂ）を参照して、スレイブチップＢ(２０)の資源に対するアクセスアドレスを生成する方法に対して説明する。図３（ａ）はベースアドレス変換テーブルを使用する場合であり、図３（ｂ）はそうではない場合である。
【００３８】
マスタチップＡ(１０)のアドレス空間よりスレイブチップＢ(２０)のアドレス空間が大きい場合、図３（ａ）のように、ベースアドレス変換テーブルを使用することが望ましい。すなわち、ベースアドレスポインタはアドレス変換テーブルのある１ヶ所を示す。したがって、アドレス変換器４５は第２レジスタ領域４４のアドレスポインタが示すアドレス変換テーブルの特定のアドレスに貯蔵されたベースアドレス及びマスタチップＡ(１０)から提供されるローカルアドレスからアクセスアドレスを生成する。
【００３９】
または図３（ｂ）に示したように、ベースアドレスポインタ、その自体をベースアドレスとして使用することができる。すなわち、アドレス変換器４５は第２レジスタ領域４４に貯蔵されたベースアドレスポインタ及びマスタチップＡ(１０)から提供されたローカルアドレスからアクセスアドレスを生成する。
【００４０】
データ伝送及び制御信号生成関連レジスタ値は、例えば、データのサイズ、バーストの長さ、データバッファイネーブルフラッグ、ブロック読み出し開始(ｂｌｏｃｋ  ｒｅａｄ  ｓｔａｒｔ)、ブロック書き込み伝達(ｂｌｏｃｋ  ｗｒｉｔｅ  ｔｒａｎｓｆｅｒ)などと関連した値であり得る。
【００４１】
ローカルバス制御器４６はバスプロトコル信号を作り、マスタチップＡ(１０)とスレイブチップＢ(２０)との間のビジー/レディー(ｂｕｓｙ／ｒｅａｄｙ)、またはタイミング同期を合わせる。
【００４２】
図４及び図５を図２とともに参照して、本発明による異種プロトコルの間のデータ通信に関して説明する。
【００４３】
図４は準備段階(ｓｅｔｔｉｎｇ  ｓｔａｇｅ)を説明するための流れ図であり、図５は資源利用段階(ａｃｃｅｓｓ  ｓｔａｇｅ)を説明するための流れ図である。特に、図５はスレイブチップＢ(２０)の資源に対する読み出し動作を説明するための流れ図である。
【００４４】
先ず、図４を参照して、マスタチップＡ(１０)はその自分のメモリ読み出しインタフェースを使用して第１レジスタ領域４３に貯蔵されたアクセスしようとする資源に対する使用可能資源情報を読み出す(Ｓ４０１)。この時、アクセス可能であると判断されれば(Ｓ４０２で「はい」)、第２レジスタ領域４４に各種レジスタ値、ベースアドレスなどを記録する(Ｓ４０４)。アクセス可能であると判断されなければ(Ｓ４０２で「いいえ」)、アクセス可能な状態になるまで待つようになる(Ｓ４０３)。
【００４５】
続いて、利用しようとする資源をブロック伝達形態にアクセスするか否かを判断する(Ｓ４０５)。ブロック伝達を使用して資源にアクセスしようとしたら(Ｓ４０５で「はい」)、第２レジスタ領域４４にブロック伝達と関連した各種レジスタ値を記録し(Ｓ４０６)、資源利用段階に移る。ブロック伝達ではなければ(Ｓ４０５で「いいえ」)、すぐ資源利用段階に移る。
【００４６】
次に、図５を参照して、資源利用段階を説明する。
【００４７】
先ず、ブロック伝達であれば(Ｓ５０１で「はい」)、スレイブチップＢ(２０)からデータを読み出してデータバッファ４７に貯蔵する(Ｓ５０５)。この時、図４の準備段階で、第２レジスタ領域４４に設定されたレジスタ値を利用してスレイブチップＢ(２０)のバスを制御する信号を生成し、ベースアドレス及びローカルアドレスを利用してブロック伝達の開始アドレスを生成することによって、スレイブチップＢ(２０)からデータバッファ４７へのデータのブロック伝達がなされる。続いて、データバッファ４７に貯蔵されたデータをマスタチップＡ(１０)がその自分の固有バスプロトコルを使用して読み出す(Ｓ５０６)。他の資源をさらに利用する場合(Ｓ５０４で「はい」)、また図４の準備段階に移る。
【００４８】
ブロック伝達ではなければ(Ｓ５０１で「いいえ」)、マスタチップＡ(１０)はデータバッファ４７を経由せず、スレイブチップＢ(２０)の目的資源にアクセスして(Ｓ５０２)、必要な資源を読み出す(Ｓ５０３)。しかし、データバッファ４７を経由することもできる。目的資源に対するアクセスは上述のように、マスタチップＡ(１０)によって提供されるローカルアドレス及び第２レジスタ領域４４に設定されたベースアドレスを使用して目的アドレスを生成し、第２レジスタ領域に貯蔵された各種レジスタ値を基づいて制御信号を生成することによってなされる。同一のベースアドレスに対応する資源(例えば、同一のメモリモジュール内の他の資源)がさらに必要な場合、図４の準備段階なしに、すなわちすぐマスタチップＡ(１０)からローカルアドレスが提供されて目的資源にアクセスする。他の資源が必要な場合(Ｓ５０４で「はい」)、図４の準備段階に進行する。
【００４９】
以上では、スレイブチップＢ(２０)からマスタチップＡ(１０)へのデータ伝達、すなわち、スレイブチップＢ(２０)に対する読み出し動作を説明したが、その反対のデータ伝達も類似に進行される。すなわち、図４の準備段階を進行した後、スレイブチップＢ(２０)の資源に対するアクセスアドレスを生成し、書き込み動作に関連した各種制御信号を生成することによって、スレイブチップＢ(２０)にデータを記録することができる。
【００５０】
以下では、外部マスタチップＡ(１０)がＳＲＡＭインタフェースを使用し、内部スレイブチップＢ(２０)がＡＭＢＡインタフェースを使用する場合を仮定して、本発明によるインタフェース変換システムを説明する。
【００５１】
ＳＲＡＭインタフェースを使用する外部マスタチップＡ(１０)は次の信号などを使用する：
Ａ［１０：０］：１１ビットアドレス
Ｄ［７：０］：８ビットデータ
ＯＥｎ：出力イネーブル
ＷＥｎ：書き込みイネーブル
ＷＡＩＴｎ：待機信号(スレイブチップＢ(２０)がビジーであれば待つ)
ＩＮＴｎ：ブロック伝達を知らせるためのインタラプト信号
ＣＳｎ：チップ選択信号
．
．
．
【００５２】
ＡＭＢＡインタフェースを使用する内部スレイブチップＢ(２０)は、例えば、次のような信号などを使用する：
ＨＡＤＤＲ［３１：０］：３２ビットアドレス
ＨＷＤＡＴＡ［３１：０］：３２ビット書き込みデータ
ＨＲＤＡＴＡ［３１：０］：３２ビット読み出しデータ
ＨＲＥＡＤＹ：準備信号
ＨＲＥＳＰ［１：０］：２ビット伝達応答信号
ＨＢＵＲＳＥＱｘ：バスマスタに対するバス要請
ＨＧＲＡＮＴｘ：アービタからバス許可
ＨＴＲＡＮＳ［１：０］：現在伝達の類型表示
ＨＬＯＣＫｘ：バスロック
ＨＳＩＺＥ［２：０］：データのサイズ
ＨＢＵＲＳＴ［３：０］：バーストの長さ
ＨＰＲＯＴ［３：０］：保護
ＨＷＲＩＴＥ：書き込みイネーブル
．
．
．
【００５３】
マスタチップＡ(１０)の１１ビットのアドレスのうちの最上位１ビットによってレジスタアクセスモードであるか、メモリアクセスモードであるかが決められ、残りの１０ビットがローカルアドレスになる。レジスタマッピング領域４２の第２レジスタ領域４４にはスレイブチップＢ(３２)の３２ビットアドレスのうちのマスタチップＡ(１０)から提供される１０ビットアドレスを除いた２２ビットアドレスが貯蔵される。したがって、８ビット単位でアドレスが貯蔵され、三つのベースアドレスを貯蔵するレジスタ(ベースアドレスレジスタ０、ベースアドレスレジスタ１、ベースアドレスレジスタ２)が必要である。最終的な目的アドレスはベースアドレスを左側に１０ビットシフトした値にローカルアドレスを足すことによって決められる。
【００５４】
第２レジスタ領域には、またデータ伝達に関係するデータのサイズ、バーストの長さ、データバッファイネーブルフラッグ、ブロック読み出し伝達開始、ブロック書き込み伝達開始などに対する情報を貯蔵するレジスタがある。
【００５５】
このようなレジスタのサイズは外部マスタチップＡ(１０)のデータのサイズと同一な８ビットである。
【００５６】
（資源利用の例）
１．８ビットデータをスレイブチップＢ(２０)から読み出す場合
先ず、マスタチップＡ(１０)は第１レジスタ領域４３に貯蔵されたアクセス可能情報(ａｃｃｅｓｓｉｂｌｅ  ｍｏｄｕｌｅ  ｉｎｆｏｒｍａｔｉｏｎ)を読み出してスレイブチップＢ(２０)の資源、例えばメモリが使用可能であるかを確認する。使用可能であれば、第２レジスタ領域４４にデータのサイズを８ビットに、バーストの長さを１に設定する。続いて、マスタチップＡ(１０)から第２レジスタ領域４４のベースアドレスレジスタ０〜２に８ビット、８ビット、６ビットベースアドレスが書き込まれる。続いて、マスタチップＡ(１０)はその自分のバスインタフェースを使用してスレイブチップＢ(２０)に対する読み出し動作を進行する。この時、ローカルバス制御器４６はマスタチップＡ(１０)が提供する読み出し動作に関連する制御信号ＣＳｎとＯＥｎを利用してスレイブチップＢ(２０)のｂｕｓ  ｒｅｑｕｅｓｔをするＨＢＵＳＲＥＱｘ信号を発生させる。また、マスタチップＡ(１０)にはアクセスが終わるまでＷＡＩＴｎ信号を与えて待たせる。一方、バスアービタ(ａｒｂｉｔｅｒ)がＨＢＵＳＲＥＱｘ信号に対してバスの使用を許可するｇｒａｎｔ信号ＨＧＲＡＮＴｘを与えれば、ローカルバス制御器４６はＨＴＲＡＮＳ、ＨＳＩＺＥ、ＨＬＯＣＫｘ、ＨＰＲＯＴ、ＨＢＵＲＳＴなどの制御信号を第２レジスタ領域４４に設定された値を参照して発生させる。アドレス変換器４５はアドレス処理器４１を通じて提供されるローカルアドレス(１０ビット)及び第２レジスタ領域４４のベースアドレスレジスタに貯蔵されたベースアドレス(２２ビット)を使用してスレイブチップＢ(２０)の資源に対するアクセスアドレス(３２ビット)を発生させる。アドレス変換器(４５)によるアクセスアドレス及びローカルバス制御器４６による各種バス制御信号によってスレイブチップＢ(２０)のメモリに貯蔵されたデータが読み出される。読み出し動作が完了すれば、ＷＡＩＴｎ信号がｒｅａｄｙ状態になって、再びマスタチップＡ(１０)がデータを読み出すことができる状態になる。
【００５７】
もし８ビットのデータを読み出した後、同一のベースアドレスを有する領域内で他のデータを読み出す必要があれば、第２レジスタ領域４４に対する各種のレジスタ値の設定を省略し、その後の段階を進行する。
【００５８】
２．ブロック伝達(スレイブチップＢ(２０)の資源であるメモリの１ＫＢデータをブロック伝達して読み出したい場合)
マスタチップＡ(１０)は第１レジスタ領域４３に貯蔵されたアクセス可能情報(ａｃｃｅｓｓｉｂｌｅ  ｍｏｄｕｌｅ  ｉｎｆｏｒｍａｔｉｏｎ)を読み出してスレイブチップＢ(２０)のメモリが使用可能であるか否かを確認する。使用可能であれば、第２レジスタ領域４４にデータのサイズを３２ビットに、バーストの長さを１２８に設定する(３２ビット＝４バイト、４Χ１２８＝５１２バイト)。アクセスしようとするメモリアドレスを示すため、ベースアドレスレジスタ０〜２に８ビット、８ビット、６ビットのベースアドレスが書き込まれる。ブロック伝達と関連したレジスタ値、すなわち、データバッファイネーブルフラッグ、ブロック読み出し伝達開始ビットをセッティングする。ローカルバス制御器４６はバーストの長さのレジスタに書き込まれた量をＡＭＢＡが支援する最大バーストの長さ、または任意に決められたバーストの長さだけ割ってバス要請をするＨＢＵＳＲＥＱｘ信号を発生させる。バスアービタがバス使用を許可するｇｒａｎｔ信号ＨＧＲＡＮＲｘを与えれば、ローカルバス制御器４６はＨＴＲＡＮＳ、ＨＳＩＺＥ、ＨＬＯＣＫｘ、ＨＰＲＯＴ、ＨＢＵＲＳＴなどの制御信号を第２レジスタ領域４４にある値を参照して発生させる。スレイブチップＢ(２０)のメモリから読み出される値はデータバッファ４７に貯蔵されるようになる。決められたブロックデータ量が全部伝達されれば動作を止める。すべてのデータ伝達が終われば、インタラプト信号ＩＮＴｎが発生する。これによって、マスタチップＡ(１０)はデータバッファ４７にデータが伝送されたことが分かり、データバッファイネーブルフラッグがセットされた状態で読み出すと、データバッファ４７に入っているデータをマスタチップＡ(１０)はその自分のバスプロトコルを使用して順次に読み出すことができる。
【００５９】
３．ブロック伝達(スレイブチップ２０の資源であるメモリに１ＫＢデータをブロック伝達して記録したい場合)
マスタチップＡ(１０)は第１レジスタ領域４３に貯蔵されたアクセス可能情報を読み出してスレイブチップＢ(２０)のメモリが使用可能であるか否かを確認する。使用可能であれば、第２レジスタ領域４４にデータのサイズを３２ビットに、バーストの長さを１２８に設定する(３２ビット＝４バイト、４Χ１２８＝５１２バイト)。アクセスしようとするメモリアドレスを示すため、ベースアドレスレジスタ０〜２に８ビット、８ビット、６ビットのベースアドレスが書き込まれる。データバッファイネーブルフラッグをセッティングする。マスタチップＡ（１０）はその自分のプロトコルを使用してデータバッファ４７に８ビットずつ１０２４回の書き込み動作を通じて１ＫＢのデータを書き込む。所望する１ＫＢのデータがデータバッファ４７に全部書き込まれれば、ブロック書き込み伝達開始ビットをセッティングする。ローカルバス制御器４６はバーストの長さのレジスタに書き込まれた量をＡＭＢＡが支援する最大バーストの長さ、または任意に決められたバーストの長さだけ分けてバス要請をするＨＢＵＳＲＥＱｘ信号を発生させる。これはＡＭＢＡが支援するバーストの長さより大きいデータバッファを有する時、処理するようにするか、バーストの長さが長すぎてバスを長時間占有することを防止するためである。バスアービタがバス使用を許可するｇｒａｎｔ信号ＨＧＲＡＮＴｘを与えれば、ローカルバス制御器４６はＨＴＲＡＮＳ、ＨＳＩＺＥ、ＨＬＯＣＫｘ、ＨＰＲＯＴ、ＨＢＵＲＳＴなどの制御信号を第２レジスタ領域４４にある値を参照して発生させる。データバッファ４７に入っている内容を順次に当該メモリに記録する。決められたブロックデータが全部伝達されれば動作を止める。この時、ＩＮＴｎピンを通じてインタラプトが発生する。
【００６０】
今まで本発明に対して、その望ましい実施の形態を中心に示した。本発明が属する技術分野で通常の知識を持つ者は本発明が本発明の本質的な特性から逸脱しない範囲で変形された形態で実現されることができることを理解することができるであろう。したがって、本開示された実施の形態は限定的な観点ではなく、説明的な観点で考慮されなければならない。本発明の範囲は上述の説明ではなく、特許請求の範囲に示しており、それと同等な範囲内にあるすべての差は本発明に含まれたことで解釈されなければならないであろう。
【図面の簡単な説明】
【００６１】
【図１】本発明によるインタフェース変換システムの概念を説明するためのブロック図である。
【図２】図１のインタフェース変換システムに対する詳細ブロック図である。
【図３】本発明によるアクセスアドレスを生成する方法を説明するための模式図である。
【図４】マスタチップ及びスレイブチップの間の通信のための準備段階を説明する流れ図である。
【図５】図４の準備段階の以後のスレイブチップの資源を利用することを説明するための流れ図である。
【符号の説明】
【００６２】
１０    外部マスタチップ
２０    内部スレイブチップ
３０    スレイブチップの資源
４０    インタフェース変換システム
４１    アドレス処理器
４２    レジスタマッピング領域
４３    第１レジスタ領域
４４    第２レジスタ領域
４５    アドレス変換器
４６    ローカルバス制御器
４７    データバッファ
４８，４９    マルチプレクサ
５０    インタフェース変換システム制御器
【図１】
2005050324.tif 000003
【図２】
2005050324.tif 000004
【図３】
2005050324.tif 000005
【図４】
2005050324.tif 000006
【図５】
2005050324.tif 000007