(57)【要約】      （修正有）【課題】デバイスが、複数のバスを占有することなく、メモリにアクセスできるシステムLSIを提供する。【解決手段】第1と第2のメモリと、第1と第2のバスと、第1と第2のバス間の信号転送を行うバスブリッジとを有し、メモリアクセス回路は、第1のバス側入出力端子と第1のメモリ側入出力端子を接続する第1のアクセス経路と、第2のバス側入出力端子と第2のメモリ側入出力端子を接続する第2のアクセス経路と、第1のバス側入出力端子と第2のメモリ側入出力端子を接続する第3のアクセス経路と、第2のバス側入出力端子と第1のメモリ側入出力端子を接続する第4のアクセス経路とを有し、当該アクセス経路を介して信号転送を行い、第1または第２のバスシステムのメモリアクセス時に、メモリアクセス回路は、第1または第２のバスシステムからの経路選択モード設定信号に応じて、第1〜第4のアクセス経路の少なくとも一つを選択する。【選択図】図３
2010152585.tif 000002
【特許請求の範囲】
【請求項１】
第1と第2のメモリと、
第1と第2のバスと、
前記第1と第2のバス間の信号転送を行うバスブリッジと、
前記第1のバスと接続され前記第1または第2のメモリにアクセスする第1のバスシステムと、
前記第2のバスと接続され前記第1または第2のメモリにアクセスする第2のバスシステムと、
前記第1と第2のバスと各々信号転送を行う第1と第2のバス側入出力端子と前記第1と第2のメモリと各々信号転送を行う第1と第2のメモリ側入出力端子を備えるメモリアクセス回路とを有し、
当該メモリアクセス回路は、前記第1のバス側入出力端子と前記第1のメモリ側入出力端子を接続する第1のアクセス経路と、前記第2のバス側入出力端子と前記第2のメモリ側入出力端子を接続する第2のアクセス経路と、前記第1のバス側入出力端子と前記第2のメモリ側入出力端子を接続する第3のアクセス経路と、前記第2のバス側入出力端子と前記第1のメモリ側入出力端子を接続する第4のアクセス経路とを有し、当該アクセス経路を介して信号転送を行い、
前記第1または第２のバスシステムのメモリアクセス時に、前記メモリアクセス回路は、前記第1または第２のバスシステムからの経路選択モード設定信号に応じて、前記第1〜第4のアクセス経路の少なくとも一つを選択することを特徴とするシステムLSI。
【請求項２】
前記メモリアクセス回路は、前記第1または第２のバスシステムが出力する前記第1または第2のメモリのアクセス先アドレスを受信し、前記経路選択モード設定信号に応じて前記第1または第2のメモリアドレスを指定する信号をメモリ側入出力端子に出力するアドレス領域管理部を有することを特徴とする請求項1記載のシステムLSI。
【請求項３】
前記メモリアクセス回路は調停部を有し、当該調停部は、前記第1または第２のバスシステムによる前記第1と第2のメモリへのアクセス状況を示すビジー信号を前記第1と第2のメモリからそれぞれ受信し、前記第1または第２のバスシステム前記第1または第2のメモリへのアクセス要求信号を受信したとき、前記経路選択モード設定信号に基づく設定中の経路モードに応じて、前記ビジー信号を参照せずにアクセスを許可し、または前記ビジー信号を信号を参照し、少なくとも1つのメモリがアクセス中ならばアクセスを禁止し、両方のメモリがアクセス中でなければアクセスを許可することを特徴とする請求項１記載のシステムLSI。
【請求項４】
前記メモリアクセス回路は、前記経路選択モード設定信号がセパレートモードの場合は、前記第1と第2のアクセス経路を選択し、クロスモードの場合は前記第3と第4のアクセス経路を選択することを特徴とする請求項1記載のシステムLSI。
【請求項５】
前記メモリアクセス回路は、前記第1または第２のバスシステムが出力する前記第1または第2のメモリのアクセス先アドレスを受信し、前記経路選択モード設定信号に応じて前記第1または第2のメモリアドレスを指定する信号をメモリ側入出力端子に出力するアドレス領域管理部を有し、
前記経路選択モード設定信号が前記セパレートモードとクロスモードの場合は、前記アドレス領域管理部は前記アクセス先アドレスをアドレス変換せずに出力することを特徴とする請求項４記載のシステムLSI。
【請求項６】
前記メモリアクセス回路は、前記経路選択モード設定信号がミラーモードの場合は、前記第1〜第4のアクセス経路を選択することを特徴とする請求項1記載のシステムLSI。
【請求項７】
前記メモリアクセス回路は、前記第1または第２のバスシステムが出力する前記第1または第2のメモリのアクセス先アドレスを受信し、前記経路選択モード設定信号に応じて前記第1または第2のメモリアドレスを指定する信号をメモリ側入出力端子に出力するアドレス領域管理部を有し、
前記経路選択モード設定信号が前記ミラーモードの場合は、前記アドレス変換は前記アクセス先アドレスをアドレス変換せずに出力することを特徴とする請求項６記載のシステムLSI。
【請求項８】
前記第1または第２のバスシステムは、前記第1のメモリの第1のアドレス空間と当該第1のアドレス空間に連続する第2のメモリの第2のアドレス空間とをアクセス先アドレス空間として有し、
前記経路選択モード設定信号がワン・オールモードの場合は、前記アドレス領域管理部は、前記アクセス先アドレス空間に基づいて、第1または第2のメモリのいずれへのアクセスかを識別し、前記アクセス先アドレスを前記第1もしくは第2のアドレス空間のアドレスに変換して出力し、さらに、前記メモリアクセス回路は、前記アドレス領域管理部の識別結果に応じて前記第1〜第4のアクセス経路のいずれかを選択することを特徴とする請求項２記載のシステムLSI。
【請求項９】
前記メモリアクセス回路は、前記第1と第2のアクセス経路を選択するセパレートモードか、前記第3と第4のアクセス経路を選択するクロスモードか、前記第1〜第4のアクセス経路を選択するミラーモードか、前記第1〜第4のアクセス経路のいずれかを選択するワン・オールモードのいずれか2つ以上の経路モードを有し、前記経路選択モード設定信号に応じてアクセス経路を選択することを特徴とする請求項２記載のシステムLSI。
【請求項１０】
第1と第2のメモリを有するシステムLSIにおいて、
それぞれ独立に複数のバスを有するマルチレイヤバスと、
前記マルチレイヤバスと接続され前記第1または第2のメモリにアクセスする第1のバスシステムと、
前記マルチレイヤバスと接続され前記第1または第2のメモリにアクセスする第２のバスシステムと、
前記マルチレイヤバスの選択されたバスと信号転送を行う第1と第2のバス側入出力端子と、前記第1と第2のメモリと各々信号転送を行う第1と第2のメモリ側入出力端子とを備えるメモリアクセス回路とを有し、
前記メモリアクセス回路は、前記第1のバス側入出力端子と前記第1のメモリ側入出力端子を接続する第1のアクセス経路と、前記第2のバス側入出力端子と前記第2のメモリ側入出力端子を接続する第2のアクセス経路と、前記第1のバス側入出力端子と前記第2のメモリ側入出力端子を接続する第3のアクセス経路と、前記第2のバス側入出力端子と前記第1のメモリ側入出力端子を接続する第4のアクセス経路とを有し、当該アクセス経路を介して信号転送を行い、
前記第1または第２のバスシステムのメモリアクセス時に、前記メモリアクセス回路は、前記第1または第２のバスシステムからの経路選択モード設定信号に応じて、前記第1〜第4のアクセス経路の少なくとも一つを選択することを特徴とするシステムLSI。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムLSIに関し、特に、複数バスを有するシステムLSIに関する。
【背景技術】
【０００２】
システムLSI(Large Scale Integrated Circuit、集積回路装置)は、１つのチップ内にメモリに加えて、プロセッサ(以下CPUと称する。)、演算回路、通信回路、外部インターフェース回路など個別の機能を有する複数のデバイスを内蔵する。そして、それらメモリと複数のデバイスはバスを介して相互に接続され、バスを介してメモリとデバイス間でのデータ転送が行われる。
【０００３】
システムLSIの大規模化に伴って、内蔵するデバイスの数が増加するとともに、１つのチップサイズも大きくなる。そのため、内蔵するメモリと複数のデバイスを１つの共通するバスで接続することは，物理的な制約と高速動作の制約とから困難になっている。すなわち、大きなチップ内に埋め込まれた多数のデバイスを共通する１つのバスで接続することは、レイアウト上困難であり、バスの配線容量の増大によりデータの転送速度が低下する。
【０００４】
そこで、近年のシステムLSIは、複数のバスシステムを有し、内蔵されるメモリやデバイスはそれぞれ異なるバスに接続される。さらに、複数のバスはFIFOなどを内蔵するバスブリッジにより接続され、異なるバスに接続されるデバイスやメモリ間のデータ転送を可能にしている。これにより、各バスは配線長が短くなり、レイアウトを容易にするとともに、各バスに接続されるデバイスやメモリ間のデータ転送の速度を速く保つことができる。
【０００５】
図1は、従来のシステムLSIのブロック図の一例である。システムLSIは、デバイスとして、CPU3と演算回路などのハードウェア4と外部インターフェースなどのペリフェラル5とを有し、さらにメモリ11,12を有する。さらに、システムLSIは2つのバス1、2を有し、バス1にはCPU3とメモリコントローラ13が接続され、バス2にはハードウェア4とペリフェラル5とメモリコントローラ14が接続されている。そして、両バス1、2は、バスブリッジ10 により接続され、バスブリッジ10を介してバス間のデータ転送が行われる。また、メモリ11、12はメモリコントローラ13、14によりアクセス制御される。
【０００６】
図1に示すシステムLSIは2つのバスを有するので、例えばCPU3からバス1を介してメモリ11にアクセスしている時に、ペリフェラル5からバス2を介してハードウェア4に同時アクセスが可能である。また、CPU3がバス1とバスブリッジ10とバス2を介してメモリ12へアクセスするなど、異なるバスに接続されたメモリとデバイス間でのアクセスも可能である。
【０００７】
特許文献１では、マルチプロセッサシステムのプロトコルであるNUMA方式の多階層キャッシュにおいて、プロセッサが適切なデータの処理を行うために、キャッシュメモリと主記憶メモリとの整合をとるバスブリッジについて記載されている。
【０００８】
特許文献2では、各々がメモリを有する複数のサブシステムで冗長構成された情報処理システムにおいて、サブシステム間でのメモリコピーを行うために、メモリアドレスを示すカウンタを設ける。そしてそのカウンタを参照し、対応するアドレスからプログラム等を逐次読み出して別のサブシステムのメモリにコピーするメモリコピーシステムについて記載されている。
【０００９】
特許文献3では、複数のCPUと複数のメモリと複数バスを用いた、フォールトトレラントな能力を備えたコンピュータの構成について記載されている。
【特許文献１】特開平8-185359号公報
【特許文献２】特開平9-34741号公報
【特許文献３】特公平7-9625号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来は、前述したようにCPU3から、バスブリッジ10を介してメモリ12にアクセスする場合、両バス1、2を介してアクセスする必要があり、CPU3がその両バス1、2を占有してしまう。
【００１１】
図2は、図1に示すブロック図の動作例である。例えば、バス1に接続されているCPU3 からバス2に接続されているメモリ12にアクセスする場合、破線で示す経路L1を介してデータ転送等が行われ、バス1、2は占有されてしまう。よって、前記のアクセス中は、ペリフェラル5はバス2を使用することができず、破線で示す経路L2を介したハードウェア4へのアクセスはできない。同様に、このアクセス中に、バス2 側に接続されているペリフェラル5は、バス1に接続されているメモリ11にアクセスできない。
【００１２】
そこで、本発明の目的は、デバイスが、複数のバスを占有することなく、メモリにアクセスできるシステムLSIを提供することにある。
【課題を解決するための手段】
【００１３】
１つの態様によれば、システムLSIは、第1と第2のメモリと、第1と第2のバスと、前記第1と第2のバス間の信号転送を行うバスブリッジと、前記第1のバスと接続され前記第1または第2のメモリにアクセスする第1のバスシステムと、前記第2のバスと接続され前記第1または第2のメモリにアクセスする第2のバスシステムと、前記第1と第2のバスと各々信号転送を行う第1と第2のバス側入出力端子と前記第1と第2のメモリと各々信号転送を行う第1と第2のメモリ側入出力端子を備えるメモリアクセス回路とを有し、当該メモリアクセス回路は、前記第1のバス側入出力端子と前記第1のメモリ側入出力端子を接続する第1のアクセス経路と、前記第2のバス側入出力端子と前記第2のメモリ側入出力端子を接続する第2のアクセス経路と、前記第1のバス側入出力端子と前記第2のメモリ側入出力端子を接続する第3のアクセス経路と、前記第2のバス側入出力端子と前記第1のメモリ側入出力端子を接続する第4のアクセス経路とを有し、当該アクセス経路を介して信号転送を行い、前記第1または第２のバスシステムのメモリアクセス時に、前記メモリアクセス回路は、前記第1または第２のバスシステムからの経路選択モード設定信号に応じて、前記第1〜第4のアクセス経路の少なくとも一つを選択する。
【発明の効果】
【００１４】
上記の発明によれば、複数のバスを占有することなく、デバイスがメモリにアクセスできるシステムLSIを提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下，図面にしたがって本発明の実施の形態について説明する。但し，本発明の技術的範囲はこれらの実施の形態に限定されず，特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１６】
[第1の実施の形態]
[概要説明]
はじめに概要を説明する。本実施の形態は、複数のメモリと、バスブリッジにより接続された複数のバスを有するシステムLSIにおいて、バスとメモリ間のアクセス経路を有するメモリアクセス回路を複数バスとメモリ間に設ける。また、各々のバスには複数のデバイスが接続されており、メモリアクセス回路内のアクセス経路が適宜選択され、デバイスとメモリ間の経路が設定される。
【００１７】
これにより、デバイスは複数のバスを占有することなくメモリにアクセス可能である。その結果、占有されていないバスを使用して、他のデバイス間、及び他のデバイスとメモリ間でのアクセスが可能になる。
【００１８】
[第1の実施の形態における全体構成]
次に、本実施の形態の全体像を把握するために、はじめに本実施の形態の構成と各部の機能を簡潔に説明する。
【００１９】
図3は、第1の実施の形態におけるシステムLSIの模式図である。本システムLSIは、複数のデバイスと複数メモリと複数バスを有するが、図3はその一つの形態である。前述した図1に示す従来のシステムLSIと比較すると、本実施の形態ではバス1、2とメモリコントローラ13、14の間にメモリアクセス回路50を有する点で異なる。
【００２０】
本システムLSIは、例えばCPU3を含む第１のバスシステムと演算回路などのハードウェア4や外部インターフェースなどのペリフェラル5を含む第２のバスシステムとを有し、さらにメモリ11、12を有する。さらに、システムLSIは2つのバス1、2を有し、バス1にはCPU3が接続され、バス2にはハードウェア4とペリフェラル5が接続されている。そして、両バス1、2は、バスブリッジ10により接続され、バスブリッジ10を介してバス間のデータ転送が行われる。
【００２１】
メモリアクセス回路50は、経路選択部51と経路制御部52とアドレス領域管理部53と調停部54とを有し、CPU3もしくはハードウェア4の出力する回路制御信号C1により制御される。スイッチsw10は、第１、第２のバスシステムから出力される回路制御信号C1受信してメモリアクセス回路50に出力する。また、メモリアクセス回路50は、バス1、2側とメモリ11、12側に、信号の入出力インターフェースであるバス側入出力端子31、32とメモリ側入出力端子33、34を有する。そして、メモリアクセス回路50のバス1側入出力端子31はバス1に接続され、バス2側入出力端子32はバス2に接続されている。さらにメモリ11側入出力端子33にはメモリコントローラ13が接続され、メモリ12側入出力端子34にはメモリコントローラ14が接続されている。
【００２２】
各部51〜54は、連携して機能することにより、経路選択部51内のアクセス経路w11〜w14を介して、それら入出力端子間の信号転送を可能にする。
【００２３】
また、メモリ11とメモリ12にはCPU3や他のデバイスがアクセス要求する同一のアドレス空間が割り当てられ、メモリコントローラ13、14によりアクセス制御される。また、以下本実施の形態において、メモリ11とメモリ12のアドレス空間をそれぞれ0x0000_0000〜0x1FFF_FFFFとする。すなわち、メモリアクセス時にCPU3や他のデバイスは、メモリコントローラ13、14に対して0x0000_0000〜0x1FFF_FFFFの範囲でアクセス先アドレスを指定し、メモリコントローラ13、14は、そのアドレスに対してアクセス制御を行う。
【００２４】
バス1、2はデータバス、アドレスバス、制御線を有するバスである。そして、バス1側からバス1側入出力端子31を介して送受信される信号には、データ信号dt11とアドレス信号ad11とアクセス制御信号SG11がある。そして、例えばそれらの信号はメモリアクセス回路50を介してメモリ11側入出力端子33に、それぞれ対応する信号dt13、ad13、SG13として転送される。また、バス2側入出力端子32とメモリ12側入出力端子34を介して送受信される信号も同様の構成である。そして、データ信号dt11、dt21、dt13、dt23は、メモリへの書き込みまたは読み出しデータであり、アドレス信号ad11、ad21、ad13、ad23はメモリ11、12へのアクセス先アドレスである。また、アクセス制御信号SG11、SG21、SG13、SG23は、各々のデバイスがメモリ11、12にアクセスする際の書き込みまたは読み出しを制御する信号やアクセス調停等に使用される信号群である。
【００２５】
経路選択部51は、信号の入出力インターフェースである端子p1、p2、p11、p12と、バス1、2とメモリ11、12間のアクセス経路w11〜w14とを有し、適宜選択されたアクセス経路w11〜w14を介して端子p1、p2、p11、p12間の信号の転送が行われる。例えば経路w12が選択された場合、バス1からバス1側入出力端子31に入力された信号dt11、ad11、SG11は、経路選択部51の端子p1とアクセス経路w12と端子p12を介し、メモリ12側出力端子34から信号dt23、ad23、SG23として出力される。また、本実施の形態には、あらかじめ決められたアクセス経路w11〜w14の選択形態として、セパレートモードとクロスモードとミラーモードとワン・オールモードの4つの経路モードがある。これらの経路モードの設定に応じて、アクセス経路w11〜w14が選択される。また、各経路モードの詳細に関しては後述する。
【００２６】
経路制御部52は、経路選択部51を制御してアクセス経路w11〜w14の選択を行う。経路制御部52は、CPU3もしくはハードウェア4から前述した経路モードのいずれかを示す経路選択モード設定信号S1を受信する。そして、経路制御部52は、この経路選択モード設定信号S1に応じて、経路モードに基づくアクセス経路w11〜w14の選択を行うために、経路選択部51に経路設定情報S3を送信し、アクセス経路w11〜w14の少なくとも1つを選択する。また、後述するが、ワン・オールモードの場合は、経路制御部52は、さらにデバイスからの入力信号に基づいてアクセス経路w11〜w14の選択を行う。
【００２７】
図14は、経路選択部51の構成例である。図14に示すように端子p1、p2、p11、p12がスイッチング回路を有し、これらの切り替えによりアクセス経路w11〜w14が選択される構成としてもよい。例えば経路制御部52が設定信号S3により端子p1のスイッチsw1と端子p11のスイッチsw3を選択することにより、経路選択部51のアクセス経路w11が選択される。同様に、経路制御部52が端子p1のスイッチsw2と端子p12のスイッチsw7を選択した場合は、経路選択部51のアクセス経路w12が選択される。
【００２８】
また、バス1、2と同様に、アクセス経路w11〜w14もパラレル構成されている。例えば、バス1に接続されたデバイスの送受信信号であるデータ信号dt11が32bit長、アドレス信号ad11が32bit長、アクセス制御信号SG11が3bit長である場合、アクセス経路w11〜w14もそれぞれ67bit長の信号がパラレル転送できる67本の信号線により構成される。
【００２９】
アドレス領域管理部53は、バス側入出力端子31、32からアドレス信号ad11、ad21を受信し、CPU3もしくはハードウェア4からの経路選択モード設定信号S1に応じてアドレス変換をせずに、またはアドレス変換をして経路選択部51の端子p1、p2にアドレス信号ad12、ad22として出力する。具体的には、経路選択モード設定信号S1がセパレートモードとクロスモードとミラーモードを示す場合は、アドレス変換を行わず、ワン・オールモードを示す場合は、アドレス変換を行う。また、アドレス管理部53の詳細は後述する。
【００３０】
調停部54は、バス1側とバス2側に接続されるデバイスから同時に同一メモリに対するアクセス要求が発生した場合にそのアクセス調停処理を行う。また、調停部54の詳細は後述する。
【００３１】
次に、メモリアクセス回路50の動作一例を、経路w11が選択されCPU3がメモリ11にデータを書き込む場合を想定して簡潔に説明する。まず、CPU3は、データ信号dt11とアドレス信号ad11とアクセス制御信号SG11をバス1に出力する。そして、調停部54は、アクセス制御信号SG11を受信し、調停処理を行い、アクセス許可をCPU3に返す。そして、アドレス領域管理部53は、アドレス信号ad11を受信し、アドレス信号ad12として経路選択部51の端子p1に出力する。そのアドレス信号ad12は、経路w11を介してアドレス信号ad13として出力される。また、データ信号dt11は、経路w11を介してデータ信号dt13として出力される。メモリコントローラ13は、アドレス信号ad13とデータ信号dt13を受信し、メモリ11のアドレス信号ad13が示すアドレスにデータ信号dt13の表すデータを書き込む。
【００３２】
[動作モード]
次に前述した経路モードについて説明する。前述したようにアクセス経路w11〜w14の選択形態には、セパレートモードとクロスモードとミラーモードとワン・オールモードの4つの経路モードがある。
【００３３】
セパレートモードは、アクセス経路w11、w13が選択されるモードであり、バス1とメモリ11、バス2とメモリ12間でそれぞれ信号転送が行われる。すなわち、このセパレートモードは、図1と同様の従来技術と同じメモリの接続形態である。よって、例えばCPU3とメモリ11、ペリフェラル5とメモリ12の同時アクセスが可能である。
【００３４】
クロスモードは、アクセス経路w12、w14が選択されるモードであり、バス1とメモリ12、バス2とメモリ11間でそれぞれ信号転送が行われる。よって、例えばCPU3がメモリ12にアクセスする場合、CPU3は、バス1、アクセス経路w12を介してメモリ12にアクセスするため、バス2を占有することはない。これにより、例えばCPU3がメモリ12にアクセスしている時に、同時にペリフェラル5はハードウェア4へのアクセスが可能であり、または、ペリフェラル5はバス2、アクセス経路w14を介してメモリ11へのアクセスが可能である。
【００３５】
ミラーモードは、全てのアクセス経路w11〜w14が選択されるモードであり、経路選択部51は、バス1側から入力された信号をアクセス経路w11、w12を介して転送し、バス2側から入力された信号をアクセス経路w13、w14を介して転送する。また、この場合、端子p11においてアクセス経路w11とアクセス経路w14が接続されることはなく、例えば端子p1から経路w11を介して端子p11に転送された信号が、経路w14を介して端子p2に転送されることはない。端子p12に関してもアクセス経路w12、w13に対して同様の構成である。これにより、バス1、2に接続されたデバイスはメモリ11、12に同時に同一の処理を行う。例えば、バス1側に接続されたデバイスからのメモリへのアクセス要求があった場合、バス1からバス1側入出力端子31にアドレス信号ad11とデータ信号dt11が入力されると、経路選択部51の端子p1からアクセス経路w11、w12を介して端子p11、p12に同一の信号が転送される。そして、メモリコントローラ13、14には同一の信号が入力され、メモリ11、12のアドレス信号ad11に対応する同じアドレスに、データ信号dt11が表す同じデータが書き込まれる。なお、データ読み出しの場合は、デバイスはどちらか一方のメモリからデータを読み出す。
【００３６】
また、バス1側に接続されたデバイスがメモリにアクセスする場合はアクセス経路w11、w12が、バス2側に接続されたデバイスがメモリにアクセスする場合はアクセス経路w13、w14がそれぞれ選択される形態としてもよい。この形態ではどちらのバス側に接続されたデバイスからのアクセス要求であるかに応じてアクセス経路w11、w12かアクセス経路w13、w14のいずれかを選択する。
【００３７】
ワン・オールモードでは、各々のデバイスは、物理的に区別されそれぞれ同一のアドレス空間を有する2つのメモリ11、12を、1つのアドレス空間を有する1つのメモリとして利用する。前述したとおりメモリ11とメモリ12にはメモリコントローラ13、14によりアクセス制御される0x0000_0000〜0x1FFF_FFFFのアドレス空間が割り当てられている。しかし、ワン・オールモードでは、アドレス領域管理部53がメモリ11のアドレス空間を0x0000_0000〜0x1FFF_FFFF、メモリ12のアドレス空間をメモリ11に連続する0x2000_0000〜0x3FFF_FFFFとして管理する。これにより、各々のデバイスは2つのメモリ11、12を0x0000_0000〜0x3FFF_FFFFのアドレス空間を持つ1つのメモリとして利用する。すなわち、ワン・オールモードの場合、CPU3や他のデバイスはメモリアクセス時に0x0000_0000〜0x3FFF_FFFFの範囲内でのアクセス先アドレスを指定する。そして、アドレス領域管理部53は、デバイスが指定するアクセス要求先アドレスから対応するメモリ11、12を識別し、その識別情報を元に経路制御部52がアクセス経路w11〜w14を選択する。
【００３８】
本実施の形態において、セパレートモードとクロスモードを切り替えることにより、各々のバスに接続されたデバイスから複数バスを占有せずに両メモリ11、12にアクセス可能である。例えば、CPU3が、メモリ11にアクセスする場合は、セパレートモードとし、メモリ12にアクセスする場合はクロスモードとすることにより、バス2を占有することはない。また、各々のバスに接続されたデバイスから両メモリ11、12に同時アクセス可能である。例えば、セパレートモードにより、CPU3とメモリ11が、またペリフェラル5とメモリ12が同時アクセスし、クロスモードにより、CPU3とメモリ12が、またペリフェラル5とメモリ11が同時アクセスすることが可能である。
【００３９】
その他、本実施の形態において、これら経路モードを2つ以上有し、それらを切り替えることにより、メモリアクセスを伴う処理の効率化が可能である。例えば、ミラーモードで同一データを両メモリ11、12に書き込み、その後、セパレートモードとして、メモリ11とメモリ12からCPU3とペリフェラル5がデータを読み出すことにより、CPU3とペリフェラル5は同一データを用いて同時並行処理を行うことができる。
【００４０】
[各部の詳細動作と信号転送]
次に本実施の形態における各々の信号の流れと各部の動作について図3、図4を用いて詳細に説明する。図4はメモリアクセス回路50内の信号の流れを示すブロック図である。また、図3との対応する部分に関しては同一符号を付している。図4に示す各々の信号名のはじめに記載されたバス1、バス2、メモリ11、メモリ12はアクセス要求元または要求先を示しており、以下の説明において一部の記載を省略する。すなわち、バス1R/Wデータ信号dt11とバス2R/Wデータ信号dt21はR/Wデータ信号dt11、dt12などとする。
【００４１】
本システムLSIの動作制御では、CPU3がメモリアクセス回路50とバスに接続された他のデバイスとを制御する。まず、メモリアクセス回路50の各経路モードの設定はCPU3が行う。そして、CPU3は経路モードの設定を行った後に、各デバイスにメモリへのアクセスを伴う処理のコマンドを発行する。そして、各デバイスは、そのコマンドに応答してメモリ11、12へのアクセスを開始する。さらに、経路モードの変更は、その経路モードで実行中の全ての処理が終了した後に行われる。すなわち、ある経路モードでデバイスがメモリアクセス中に、CPU3もしくはハードウェア４が他の経路モードへの設定を行うことはない。例えば、バス2側に接続されたハードウェア4がクロスモードでメモリ11にアクセスする場合、はじめにCPU3が経路選択モード設定信号S1をメモリアクセス回路50に送信し、クロスモードの経路設定を行う。次にCPU3からハードウェア4にメモリアクセス処理のコマンドを送信し、そのコマンドに応答して、ハードウェア4はメモリ11へのアクセスを開始する。ハードウェア4はそのメモリアクセス処理が完了した後に、CPU3に処理の完了を通知する。その通知を受けた後、CPU3は、メモリアクセス回路50の経路モードの変更を適宜行う。なお、CPU3は、前述したハードウェア4のメモリアクセス処理の完了をプログラム制御により認識してもよい。
【００４２】
バス側のR/W制御信号sg11a、sg21aは、メモリ11、12にデータを書き込むかメモリ11、12からデータを読み出すかを示す信号であり、経路選択部51のアクセス経路w11〜w14を介してメモリ側にR/W制御信号sg13a、sg23aとして出力される。そして、メモリコントローラ13、14は、このR/W制御信号sg13a、sg23aに応じてメモリ11、12にデータを書き込むかメモリ11、12からデータを読み出すかを判定する。また、バス側のR/Wデータ信号dt11、dt21は、デバイスがメモリ11、12に書き込むまたはメモリ11、12から読み出すデータである。すなわち、メモリ11、12に書き込む場合は、バス側のR/Wデータ信号dt11、dt21は、経路選択部51のアクセス経路w11〜w14を介してメモリ側にR/Wデータ信号dt13、dt23として出力される。また、メモリ11、12から読み出す場合は、メモリ側のR/Wデータ信号dt13、dt23は、経路選択部51のアクセス経路w11〜w14を介してバス側にR/Wデータ信号dt11、dt21として出力される。
【００４３】
経路選択モード設定信号S1は、前述したとおり図3のCPU3もしくはハードウェア4が出力する経路モードを設定するための信号であるが、この経路選択モード設定信号S1は、アドレス領域管理部53と調停部54にも送信され、各部はこの経路選択モード設定信号S1に応じて動作する。
【００４４】
[アドレス領域管理部]
アドレス領域管理部53は、バス1側に接続されたデバイスから入力されるアドレス信号ad11を、経路選択モード設定信号S1に応じてアドレス変換せずに、またはアドレス変換して経路選択部51の端子p1にアドレス信号ad12として出力する。そして、アドレス信号ad12は、選択されたアクセス経路w11またはアクセス経路w12を介して、アドレス信号ad13、ad23としてメモリコントローラ13、14に出力される。また、同様にアドレス領域管理部53は、バス2側に接続されたデバイスから入力されるアドレス信号ad21を経路選択部51の端子p2にアドレス信号ad22として出力する。そして、アドレス信号ad22は、同様に選択されたアクセス経路w13またはアクセス経路w14を介して、アドレス信号ad13、ad23としてメモリコントローラ13、14に出力される。
【００４５】
図5にアドレス領域管理部53のブロック図を示す。アドレス領域管理部53は、セレクタ53aとアドレス変換ユニット53bとを有する。そして、セレクタ53aは、経路選択モード設定信号S1に応じて、経路w15または経路w16を選択し、入力されるアドレス信号ad11、ad21を出力する。本実施の形態において、セレクタ53aは、経路選択モード設定信号S1がセパレートモードかクロスモードかミラーモードの場合、経路w15を選択し、ワン・オールモードの場合、経路w16を選択する。また、アドレス変換ユニット53bは入力されるアドレス信号ad11、ad21に所定のアドレス変換を行う。
【００４６】
セパレートモードとクロスモードとミラーモードの場合は、各々のデバイスは、メモリアクセス時に、各々のメモリ11、12が有するアドレス空間である0x0000_0000〜0x1FFF_FFFFの範囲内でアクセス先アドレスを指定する。そのためアドレス変換を行う必要がなく、アドレス領域管理部53は、入力されるアドレス信号ad11、ad21をそのままアドレス信号ad12、ad22として出力する。すなわち、アドレス領域管理部53は、セパレートモードとクロスモードとミラーモードの場合はアドレス変換を行わない。
【００４７】
ワン・オールモードの場合は、前述したとおり、各々のデバイスは2つのメモリ11、12を0x0000_0000〜0x3FFF_FFFFのアドレス空間を持つ1つのメモリとして扱う。このため、各々のデバイスは、メモリアクセス時に0x0000_0000〜0x3FFF_FFFFの範囲内でアクセス先アドレスを指定する。しかし、メモリコントローラ13、14によりアクセス制御されるメモリ11、12に割り当てられたアドレス空間は、0x0000_0000〜0x1FFF_FFFFである。そこで、アドレス領域管理部53は、ワン・オールモードでデバイスが指定するアクセス先アドレスをメモリ11、12に割り当てられたアドレスに変換する。すなわち、ワン・オールモードの場合、アドレス領域管理部53に入力されるアドレス信号ad11、ad21は、アドレス変換ユニット53bを介してメモリ11、12に割り当てられたアドレスにアドレス変換され、アドレス信号ad12、ad22として出力される。
【００４８】
以下、CPU3及びその他のデバイスが指定するアクセス先アドレスをCPUアドレス、そしてその指定範囲をCPUアドレス空間と称する。また、メモリコントローラ13、14によりアクセス制御されるメモリ11、12に割り当てられたアドレス空間をメモリアドレス空間、そのアドレスをメモリアドレスと称する。
【００４９】
図6にアドレス変換ユニット53bのブロック図を示す。アドレス変換ユニット53bは、メモリ識別ユニット53b1とメモリアドレス変換ユニット53b2とアドレス領域テーブル53b3を有する。そして、入力されるアドレス信号ad11、ad21はワン・オールモードにおけるCPUアドレスを示す。また、出力されるアドレス信号ad12、ad22はアドレス変換後のメモリアドレスを示す。
【００５０】
アドレス領域テーブル53b3は、各々のメモリ11、12にワン・オールモードにおけるCPUアドレス空間を設定するためのレジスタreg61、reg62を有する。そして、レジスタreg61はメモリ11のCPUアドレス空間を表し、レジスタreg62はメモリ12のCPUアドレス空間を表す。すなわち、レジスタreg61には0x0000_0000〜0x1FFF_FFFFを示す値が設定され、レジスタreg62にはメモリ11のCPUアドレス空間に連続する0x2000_0000〜0x3FFF_FFFFを示す値が設定される。また、これらの設定はCPU3により行われる。
【００５１】
メモリ識別ユニット53b1は、アドレス領域テーブル53b3内のレジスタreg61、reg62を参照し、入力されるCPUアドレス信号ad11、ad21の示すアドレスがメモリ11とメモリ12のどちらにあるかを識別し、メモリ識別情報とする。また、メモリ識別ユニット53b1は、調停部54からバス1またはバス2のどちらに接続されたデバイスからのメモリアクセス要求であるかを示すバス識別信号S4を受信している。そして、メモリ識別ユニット53b1は、メモリ識別情報とバス識別情報を有するメモリ識別信号S2を経路制御部52に出力する。
【００５２】
ワン・オールモードの場合、経路制御部52は、このメモリ識別信号S2の有するメモリ識別情報とバス識別情報に基づいてアクセス経路w11〜w14のいずれかを選択する。よって、経路制御部52は、バス識別情報がバス1を示す場合、メモリ識別情報に応じて経路w11または経路w12を選択し、バス識別情報がバス2を示す場合、メモリ識別情報に応じて経路w13または経路w14を選択する。
【００５３】
本実施の形態において、バス識別情報とメモリ識別情報をアドレス領域管理部53で一つのメモリ識別信号S2に合成したが、調停部54はバス識別信号S4を経路制御部52に直接出力し、アドレス領域管理部53が出力するメモリ識別信号S2はメモリ識別情報だけを有する信号としてもよい。この場合も、経路制御部52は、同様にメモリ識別情報とバス識別情報を得ることができ、アクセス経路w11〜w14の選択を行うことができる。
【００５４】
メモリアドレス変換ユニット53b2は、アドレス領域テーブル53b3を参照し、CPUアドレス信号ad11、ad21をメモリアドレス信号ad12、ad22にアドレス変換する。前述したように、CPUアドレス空間は、メモリ11のアドレス空間にメモリ12のアドレス空間を連続させている。よって、メモリ11のCPUアドレス空間とメモリアドレス空間は一致しているが、メモリ12のCPUアドレス空間は、メモリ12のメモリアドレス空間をメモリ11のメモリアドレス空間に加算したものである。すなわち、メモリアドレス変換ユニット53b2は、入力されるCPUアドレス信号ad11、ad21がレジスタreg62の示すメモリ12のCPUアドレス空間の範囲を示す場合に、アドレス変換として、その入力されるCPUアドレス信号ad11、ad21の示すアドレスから0x2000_0000の減算を行う。
【００５５】
次に、ワン・オールモードにおけるアドレス領域管理部53の動作例を説明する。図6に示すようにバス1側からCPUアドレス信号ad11として0x2000_000Fが入力された場合、メモリ識別ユニット53b1はアドレス領域テーブル53b3を参照し、そのCPUアドレス信号ad11が示すアドレスがメモリ12のアドレス空間内にあることを識別する。さらにメモリ識別ユニット53b1は、調停部54からのバス識別信号S4を受信し、メモリ識別信号S2を経路制御部52に出力する。このメモリ識別信号S2は、バス1側からメモリ12へのアクセス要求である事を情報として有する。そこで、経路制御部52は、メモリ識別信号S2に応じて経路w12を選択する。また、実メモリアドレス変換ユニット53b2は、CPUアドレス信号ad11が示す0x2000_000Fから0x2000_0000を減算し、0x0000_000Fに変換してメモリアドレス信号ad12として出力する。そして、変換されたメモリアドレス信号ad12は経路選択部51の端子p1に出力され、経路制御部52により選択された経路w12を介して、アドレス信号ad23としてメモリ12側のメモリコントローラ14に入力される。そして、メモリコントローラ14は、アドレス信号ad23に対応するメモリ12のアドレスにアクセスする。
【００５６】
また、前述したようにミラーモードの場合、バス1側からのアクセス要求によりアクセス経路w11、w12を選択し、バス2側からのアクセス要求によりアクセス経路w13、w14を選択してもよい。この場合、アクセス経路w11〜w14の選択はワン・オールモードと同様にアドレス領域管理部53により管理される。経路モードはミラーモードであるため、アドレス領域管理部53内のセレクタ53aは前述したとおり経路w15を選択し、アドレス領域管理部53はアドレス変換を行わない。そして、アドレス領域管理部53内のアドレス変換ユニット53bはバス識別信号S4を調停部53から受信し、バス識別情報のみを有するメモリ識別信号S2を経路制御部52に出力する。経路制御部52はこのメモリ識別信号S2に応じてバス1側からのメモリアクセス要求かバス2側からのメモリアクセス要求かを識別する。そして、バス1側からのメモリアクセス要求の場合はアクセス経路w11、w12を、バス2側からのメモリアクセス要求の場合はアクセス経路w13、w14を選択する。
【００５７】
なお、図6に示すアドレス変換ユニット53bは、バス1側アドレス信号ad11とバス2側アドレス信号ad21のいずれのアドレス変換も可能な2入力の形態であるが、アドレス変換ユニット53bと同じ機能を有する1入力のアドレス変換ユニット2つで代替してもよい。
【００５８】
[調停部]
調停部54は、異なるバスに接続されたデバイスから同時にメモリへのアクセス要求が発生した場合、メモリに対するアクセス調停処理を行う。ここで同一バスに接続されたデバイスのバスの調停に関しては調停部54以外のCPU3などで通常通り行われるため、あるデバイスがバスを使用中に、同一バスに接続された別のデバイスがバス権を獲得し、メモリへのアクセス要求を出すことはない。また、前述したとおり経路モードの設定はCPU3もしくはハードウェア4が行い、ある経路モードでデバイスがメモリアクセス中に、CPU3もしくはハードウェア4が他の経路モードへの設定変更を行うことはない。
【００５９】
図4にもどり、調停部54は、設定中の経路モードを記憶する経路モードレジスタreg60を有する。経路モードレジスタreg60は、調停部54が受信する経路選択モード設定信号S1により書き換えられる。そして、調停部54は、この経路モードレジスタreg60を参照して設定中の経路モードを識別できる。
【００６０】
また、調停部54は、各々のメモリコントローラ13、14からアクセス信号sg13c、sg23cを経路選択部51のアクセス経路w11〜w14を介して信号sg12c、sg22cとして受信している。このアクセス信号sg13c、sg23cはビジー信号であり、デバイスがメモリ11、12にアクセス中の時ビジー状態を示す。
【００６１】
アクセス要求信号sg11b、sg21bは、デバイスがメモリアクセスする際に送信する信号である。調停部54は、デバイスからのアクセス要求信号sg11b、sg21bに応答して、まず経路モードレジスタreg60を参照し、設定中の経路モードを識別する。そして調停部54は、この設定中の経路モードとアクセス信号(ビジー信号)sg12c、sg22cからデバイスのメモリアクセスの可否を判断し、同一メモリへのアクセス競合が起こらない場合はアクセス許可信号sg11c、sg21cをデバイスに送信する。
【００６２】
次に、デバイスのメモリへのアクセス要求に対する調停方法の具体例を以下に示す。前述したとおりバス1、2に接続されたデバイスに対するバス1、2の調停は別途行われているため、アクセス要求信号sg11b、sg21bを送信したデバイスは、すでにバス1またはバス2の使用権を獲得し、そのバスを占有している。よって、バス1、2とメモリ11、12間が1つの経路でそれぞれ接続されたセパレートモードとクロスモードの場合は、メモリアクセス中のデバイスと同一バス1、2内のデバイスからアクセス要求信号sg11b、sg21bが出力されることはない。つまり、使用されていない異なるバス1、2内のデバイスからしかアクセス要求信号は出力されない。そこで、調停部54は、デバイスからのアクセス要求信号sg11b、sg21bに応答して、はじめに経路モードレジスタreg60を参照する。そして、設定中の経路モードがセパレートモードまたはクロスモードの場合は、アクセス信号(ビジー信号)sg12c、sg22cはビジー状態でないため、それを参照せずにアクセス許可信号sg11c、sg21cをデバイスに送信してアクセスを許可する。
【００６３】
また、経路モードがミラーモードの場合は、デバイスは同時に両方のメモリに並行してアクセスし、ワン・オールモードの場合は、デバイスは両方のメモリを単一のメモリとしてアクセスする。さらに、前述したように、バスの調停によりメモリアクセス中のバス1、2内のデバイスと同一バス1、2内のデバイスからアクセス要求信号sg11b、sg21bが出力されることはない。そこで、調停部54は、アクセス要求信号sg11b、sg21bに応答して、はじめに経路モードレジスタreg60を参照する。そして、設定中の経路モードがミラーモードまたはワン・オールモードの場合は、さらに両メモリ11、12のアクセス信号(ビジー信号)sg12c、sg22cを参照する。そして、調停部54は、両アクセス信号(ビジー信号)sg12c、sg22cがビジー状態でなければアクセス許可信号sg11c、sg21cをデバイスに送信してアクセスを許可する。一方で、調停部54は、アクセス信号(ビジー信号)sg12c、sg22cの少なくとも1つがビジー状態ならば新たなデバイスのメモリアクセスを禁止し、そのデバイスをアクセス待機状態とする。そして、調停部54は、アクセス信号(ビジー信号)sg12c、sg22cのビジー状態が終了したときに、そのアクセス待機中のデバイスにアクセス許可を出す。
【００６４】
また、調停部54は、アクセス要求信号sg11b、sg21bを信号sg12b、sg22bとして出力し、信号sg12b、sg22bは経路選択部51のアクセス経路w11〜w14を介してアクセス要求信号sg13b、sg23bとしてメモリコントローラ13、14に入力される。そして、メモリコントローラ13、14は、このアクセス要求信号sg13b、sg23bに応答して、アクセス信号(ビジー信号)sg13c、sg23cをビジー状態に切り替え、送信される信号に対してメモリ11、12とのアクセス制御を行う。
【００６５】
さらに、調停部54は、アクセス要求信号sg11b、sg21bに応答して、どちらのバス1、2からのアクセス要求であるかを識別し、前述したバス識別信号S4としてアドレス領域管理部53に出力する。
【００６６】
次に全体を通しての信号の流れを、クロスモードの設定によりアクセス経路w12、w14が選択されている時に、CPU3がセパレートモードによりメモリ11にデータを書き込む場合を例に説明する。CPU3は、クロスモードの設定中に他のデバイスがメモリアクセス中ならば、セパレートモードへの設定変更を行わず、その処理が終了するまで待つ。そして、デバイスから処理完了の通知を受け、クロスモードにおける全ての処理が終了した後に、CPU3は、メモリアクセス回路50に経路選択モード設定信号S1を送信し、経路モードをセパレートモードに設定する。その結果、アクセス経路w11、w13が選択される。また、調停部54内の経路モードレジスタreg60はセパレートモードを示す値に書き換えられる。
【００６７】
CPU3は、R/Wデータ信号dt11とR/W制御信号sg11aとアドレス信号ad11とアクセス要求信号sg11bをバス1に送信する。
【００６８】
調停部54はアクセス要求信号sg11bに応じて、経路モードレジスタreg60を参照する。経路モードレジスタreg60はセパレートモードを示すため、メモリ11のアクセス信号(ビジー信号)sg12cを参照せずに、CPU3にアクセス許可信号sg11cを送信する。また、調停部54は、経路w11を介してメモリコントローラ11にアクセス要求信号sg13b(sg12b)を送信する。そして、メモリコントローラ11は、アクセス要求信号sg13bに応答して、アクセス信号sg13c(sg12c)をビジー状態にする。
【００６９】
アドレス領域管理部53は、アドレス信号ad11を受信し、経路選択モード設定信号S1がセパレートモードであるためアドレス変換せずに、アドレス信号ad13(ad12)をメモリコントローラ11に送信する。R/Wデータ信号dt11とR/W制御信号sg11aは、R/Wデータ信号dt13とR/W制御信号sg13aとして経路w11を介してメモリコントローラ11に送信される。
【００７０】
メモリコントローラ11は、R/W制御信号sg13aに応じてメモリ11への書き込みであることを判定し、メモリ11のアドレス信号ad13の示すアドレスにR/Wデータ信号dt11の表すデータを書き込む。そして、CPU3は調停部54よりアクセス許可を受けているため、後続する信号をメモリ11に送信する。
【００７１】
[動作例]
次に以上の本実施の形態の概念を図に従い説明する。
【００７２】
[セパレートモード]
図7はセパレートモードの動作を示す模式図である。セパレートモードでは、経路選択部51は経路w11、w13を選択している。破線で示す経路L11、L12は、デバイスa、cがメモリ11、12にそれぞれアクセスしている時の信号の転送経路を表す。そして、図7 は、デバイスaの経路L11を介するメモリ11へのアクセスと、デバイスcの経路L12を介するメモリ12へのアクセスが同時に行われている状態を示している。すなわち、デバイスaはメモリ11にアクセス中に、バス2を占有しないため、デバイスcはバス2を占有してメモリ12にアクセス可能である。また、デバイスcは、バス2を介してデバイスbへのアクセスも可能である。
【００７３】
[クロスモード]
図8はクロスモードの動作を示す模式図である。クロスモードでは、経路選択部51は、経路w12、w14を選択している。破線で示す経路L13、L14は、デバイスa、cがメモリ12、11にそれぞれアクセスしている時の信号の転送経路を表す。そして、図8 は、デバイスaの経路L13を介するメモリ12へのアクセスと、デバイスcの経路L14を介するメモリ11へのアクセスが同時に行われている状態を示している。すなわち、デバイスaはメモリ12にアクセス中に、バス2を占有しないため、デバイスcはバス2を占有してメモリ11にアクセス可能である。また、デバイスcは、バス2を介してデバイスbへのアクセスも可能である。
【００７４】
[ミラーモード]
図9はミラーモードの動作を示す模式図である。ミラーモードでは、経路選択部51は、経路w11〜w14を選択している。破線で示す経路L15、L16、L17は、デバイスaがメモリ11、12にアクセスしている時の信号の転送経路を表す。デバイスaから出力された信号は、経路L15を介し、経路選択部51で経路L16とL17に分かれ、メモリ11とメモリ12に同時に出力される。すなわち、メモリ11、12の同一のアドレスに同一のメモリアクセス処理が行われる。なお、デバイスaがメモリ11、12にアクセス中に、バス2は解放されているため、デバイスcはバス2を占有してデバイスbへのアクセスが可能である。
【００７５】
[ワン・オールモード]
図10はワン・オールモードの動作を示す模式図である。ワン・オールモードでは、経路選択部51は、経路w11〜w14のいずれかを選択する。また、破線で示す経路L18、L19はデバイスaがメモリ11にアクセスしている時の信号の転送経路を、経路L18、L20はデバイスaがメモリ12にアクセスしている時の信号の転送経路を表す。アドレス領域管理部53は、デバイスaから送信されるCPUアドレスがメモリ11とメモリ12のいずれのメモリに対応するかを識別し、さらに対応するメモリアドレスにアドレス変換する。そして、メモリ識別情報に基づいて経路制御部52により経路選択部51のアクセス経路w11、w12が選択され、デバイスaは、経路L18、L19を介してメモリ11に、または経路L18、L20を介してメモリ12にアクセスする。なお、デバイスaがメモリ11または、メモリ12にアクセス中に、バス2は占有されていないため、デバイスcはバス2を占有してデバイスbへのアクセスが可能である。
【００７６】
[調停時の動作]
図11は、調停部54の動作例を示す模式図である。また、破線で示す経路L21、L22、L23は、デバイスaからメモリ11、12へのアクセス時の信号の転送経路を表す。また、同一バスに接続されたデバイスのバスの調停に関しては通常通り行われるため、同一バスに接続されたデバイスから同時にメモリへのアクセス要求が出されることはない。
【００７７】
そして、図11は、デバイスaがミラーモードにより経路L21、L22、L23を介してメモリ11、12にアクセス中に、デバイスcからアクセス要求があった場合を示している。調停部54は、バス1側からのメモリアクセスとバス2側からのメモリアクセスとが競合しないように調停処理を行う。デバイスaがミラーモードでメモリアクセス中のため、調停部54は、メモリコントローラ13、14からアクセス信号(ビジー信号)を受信している。そのため、調停部54は、他のデバイスが両メモリ11、12にアクセス中であると判定し、デバイスcからのアクセス要求信号sg21bに応答して、アクセスを禁止する。そして、調停部54は、デバイスaのメモリアクセスが終了し、メモリコントローラ13、14からのアクセス信号(ビジー信号)の受信を終了した時、デバイスcにアクセス許可信号sg21cを送信する。そして、デバイスcはそのアクセス許可信号sg21cに応答してミラーモードでのメモリアクセス処理を行う。
【００７８】
[本実施の形態によるシステムLSIの具体的な動作例とその効果]
図12は、本システムLSIの具体的な構成例を示す模式図である。システムLSIには、バス1にはCPU3とIOデバイス6が、バス2には演算ハードウェア8とIOデバイス7が接続されている。演算ハードウェア8は演算処理を行うためのハードウェア回路であり、IOデバイス6、7はシステムの外部との入出力を行うためのペリフェラル回路でありる。また、メモリ11、12には、データを記憶するためのDDR-SDRAM (Double-Data-Rate Synchronous Dynamic Random Access Memory)等が用いられる。それ以外の構成要素は前述したとおりであり、対応する構成要素には同一符号を付している。
【００７９】
以下に動作例として本システムLSIのメモリアクセス処理を示す。はじめに動作の概略を示す。まず、ワン・オールモード設定により、IOデバイス7は、経路w13または経路w14を介してメモリ11、12に外部データを読み込む。次に、クロスモード設定によりCPU3が経路w12を介してメモリ12に、また演算ハードウェア8が経路w14を介してメモリ11にアクセスし、両デバイス3、8はIOデバイス7がメモリ11、12に読み込んだ外部データに対して同時に演算処理を行う。そして、その演算結果をそれぞれがアクセス中のメモリ11、12に書き込む。そして、再びワン・オールモード設定により、IOデバイス7は、経路w13または経路w14を介してメモリ11、12からその演算結果を外部に読み出す。
【００８０】
次に動作の詳細を示す。はじめにCPU3は、アドレス領域管理部53が有するレジスタreg61、62に対し、ワン・オールモードにおいてCPU3または他のデバイスがメモリアクセス時にアドレス指定するCPUアドレス空間を設定する。
【００８１】
さらに、CPU3は、メモリアクセス回路50の経路モードをワン・オールモードに設定する。そのため、CPU3は、メモリアクセス回路50にワン・オールモードを示す経路選択モード設定信号S1を送信する。そして、メモリアクセス回路50内の各部51〜54は、経路選択モード設定信号S1に応じて、ワン・オールモードに設定される。
【００８２】
CPU3は、IOデバイス7に対し一群の外部データを読み込んでメモリ11、12へ転送させるコマンドを、バスブリッジ10を介して送信する。そして、IOデバイス7は、そのコマンドに応答して図示しない外部メモリから外部データを読み出し、メモリ11またはメモリ12へのデータ転送を開始する。まず、IOデバイス7は、調停部54にアクセス要求信号を送信し、調停部54は、その信号に応答して調停処理を行う。そして、調停部54は、経路モードがワン・オールモードで設定されているため、さらにメモリ11、12からのアクセス信号(ビジー信号)を参照する。そして、調停部54は、アクセス信号(ビジー信号)がビジー状態でないため、IOデバイス7に対してアクセス許可信号を送信し、メモリアクセスを許可する。
【００８３】
また、IOデバイス7は、信号の転送単位毎に転送先であるメモリ11、12のCPUアドレスを指定する。アドレス領域管理部53は、レジスタreg61、62を参照してIOデバイス7から入力されるアドレス信号に対してアドレス変換を行い、さらに信号の転送先となるメモリ11、12を識別する。
【００８４】
さらにアドレス領域管理部53は、調停部54からバス2側からアクセス要求があったことを示すバス識別信号を受信しており、メモリの識別情報とバスの識別情報を有するメモリ識別信号を経路制御部52に送信する。
【００８５】
経路制御部52は、メモリ識別信号に基づき経路選択部51のアクセス経路w13または経路w14を適宜選択する。このようにIOデバイス7から読み込まれる一群の外部データは、IOデバイス7が転送単位毎に指定するアドレスに応じてメモリ11またはメモリ12のいずれかに書き込まれる。
【００８６】
また、IOデバイス7によるメモリ11、12への外部データ転送中にバス1は占有されないため、CPU3はバス1を占有できる。そこで、CPU3は、IOデバイス7の処理と並行して、次の動作準備のために、IOデバイス6から図示しない外部メモリの動作データをバス1を介して取得する。
【００８７】
次に、CPU3は、経路モードをクロスモードに設定し、演算ハードウェア8と共に並列演算処理を行う。しかし、前述したとおりCPU3は、ある経路モードで他のデバイスがメモリアクセス中に、他の経路モードに変更することはない。そのため、CPU3のIOデバイス6からのデータ取得がIOデバイス7の外部データの読み込み処理よりも早く終了した場合、CPU3はIOデバイス7の処理が終了するまで待ち状態となる。
【００８８】
IOデバイス7は、メモリ11またはメモリ12への外部データの読み込み処理を全て終了した後、処理が完了したことを示す信号をCPU3に送信する。この信号を受信することで、CPU3はワン・オールモードでの処理が全て終了したと判定し、経路モードをクロスモードに変更する。
【００８９】
CPU3は、メモリアクセス回路50にクロスモードを示す経路選択モード設定信号S1を送信する。そして、その経路選択モード設定信号S1に応じて、メモリアクセス回路50内の経路制御部52は、経路選択部51のアクセス経路w12、w14を選択する。
【００９０】
CPU3は、演算ハードウェア8に対し演算を開始させるコマンドを、バスブリッジ10を介して送信する。そのコマンドに応答して、まず、演算ハードウェア8は、調停部54にアクセス要求信号を送信し、調停部54は、その信号に応答して調停処理を行う。そして、経路モードがクロスモードで設定されているため、調停部54は、メモリ11、12からのアクセス信号(ビジー信号)を参照せずに、演算ハードウェア8に対してアクセス許可信号を送信しメモリアクセスを許可する。
【００９１】
そして、演算ハードウェア8は、クロスモードの設定によりアクセス経路w14を介してメモリ11から、IOデバイス7が書き込んだデータを読み出し、演算処理を行い、その演算結果を再びメモリ11に書き込む。
【００９２】
また、演算ハードウェア8がメモリ11からデータを読み出して演算処理を行っている間、バス1は占有されていない。そこで、CPU3は、演算ハードウェア8と同様にクロスモードでの調停処理を受け、メモリアクセスを開始する。経路モードはクロスモードの設定によりアクセス経路w12が選択されているため、メモリ12から並行してデータを読み出し、演算処理を行い、その演算結果を再びメモリ12に記憶する。
【００９３】
次に、CPU3は、経路モードをワン・オールモードに設定し、メモリ11、12に書き込まれた演算結果を読み出す。しかし、前述したワン・オールモードからクロスモードへの経路モードの変更の場合と同様に、CPU3は、クロスモードでの処理が全て終了した後に経路モードを変更する。演算ハードウェア8は、演算処理が完了したことを示す信号をCPU3に送信する。そして、CPU3は、自己の演算が終了し、さらにこの信号を受信したことで、クロスモードでの処理が全て終了したと判定する。
【００９４】
次にCPU3は、メモリアクセス回路50にワン・オールモードを示す経路選択モード設定信号S1を送信する。そして、メモリアクセス回路50は、前述したワン・オールモードと同様に設定される。
【００９５】
CPU3は、IO デバイス7に対しメモリ11、12に記憶された演算結果を読み出して図示しない外部メモリに転送させるコマンドを、バスブリッジ10を介して送信する。そして、IOデバイス7は、そのコマンドに応答してメモリ11、12に書き込まれた演算結果の読み出しを開始する。
【００９６】
まず、IOデバイス7は、調停部54にアクセス要求信号を送信する。調停部54は、その信号に応答して前述したワン・オールモードでの調停処理を行い、IOデバイス7に対してアクセス許可信号を送信し、メモリアクセスを許可する。
【００９７】
また、IOデバイス7は、メモリ11、12のどのアドレスに演算結果が記憶されているかをCPU3から受信したコマンドから識別している。そこで、IOデバイス7は演算結果をメモリ11、12から読み出す際にメモリ11、12のCPUアドレスを指定する。アドレス領域管理部53は、レジスタreg61、62を参照してその指定されたCPUアドレス信号に対してアドレス変換を行い、さらに演算結果の読み出し先となるメモリ11、12を識別する。さらにアドレス領域管理部53は、調停部54からバス2側からアクセス要求があったことを示すバス識別信号を受信しており、メモリの識別情報とバスの識別情報を有するメモリ識別信号を経路制御部52に送信する。
【００９８】
経路制御部52は、このメモリ識別信号に基づき経路選択部51のアクセス経路w13または経路w14を適宜選択する。
【００９９】
IOデバイス7によるメモリ11、12からの演算結果の読み出し中にバス1は占有されないため、CPU3はバス1を占有できる。そこで、後続する処理があればIOデバイス7の処理と並行して、次の動作準備のために、CPU3は、IOデバイス6から動作データを取得する。
【０１００】
IOデバイス7は、メモリ11、12からのデータの読み出し処理を全て終了した後、処理が完了したことを示す信号をCPU3に送信する。この信号を受け、CPU3はワン・オールモードでの処理が全て終了したと判定する。
【０１０１】
以上のように、本実施の形態におけるシステムLSIでは、経路モードを切り替え、アクセス経路w11〜w14を適宜選択することにより、各々のバスに接続されたデバイスは複数バスを占有することなく各々のメモリへのアクセスが可能である。また、各々のバスに接続されたデバイスと各々のメモリとの同時アクセスが可能である。さらに、バスに接続されたデバイスはバスブリッジを介さずメモリとアクセスできるため、バスブリッジにおけるバス間のデータ転送による遅延はなくなり、高速なメモリアクセスを実現する。
【０１０２】
上述した第1の実施の形態では、CPU3もしくはハードウェア4がメモリアクセス回路50の経路モードの設定を行い、第1、第2のバスシステムであるその他のデバイスは経路モードの設定を行うことはない。
【０１０３】
しかし、それら他のデバイスがそれぞれメモリアクセス回路50の経路モードの設定を行うようにしてもよい。その場合は、調停部54が、各デバイスからの経路モード設定要求を調停することが好ましい。この調停に係る図を図4の調停部に破線で示す。また、その具体的な態様を以下に示す。
【０１０４】
CPU3または各デバイスは、経路選択モード信号S1により、経路モードを変更する前に、調停部54に経路モード設定要求信号S31を送信する。さらに、経路モードの設定を行ったCPU3または各デバイスは、設定した経路モードでのメモリアクセス処理が終了した後、経路モード終了信号S32を調停部54に送信する。また、調停部54は、経路モード設定許可フラグflagを有する。この経路モード設定許可フラグflagは、ある経路モードでメモリアクセス処理が実行中の場合「禁止」を示し、実行中でない場合「許可」を示す。調停部54は、バス1、2に接続されたデバイスからの経路モード設定要求信号S31に対して経路モード設定フラグflagを参照し、「許可」を示す場合、そのデバイスに経路モード設定許可信号S33を送信するとともに、経路モード設定許可フラグを「禁止」とする。また、経路モード設定フラグflagが「禁止」を示す場合、調停部54は経路モード設定許可信号S33を送信せず、そのデバイスを経路モード設定待機状態にする。さらに、調停部54は、デバイスからの経路モード終了信号S32に応答して経路モード設定フラグflagを「許可」とする。
【０１０５】
各々のデバイスは、経路モード設定許可信号S33に応答して、経路選択モード設定信号S1をメモリアクセス回路50に送信し、経路モードを変更する。
【０１０６】
以下に、各デバイスからの経路モード設定要求に対する調停部54の調停処理の一例を示す。今、あるデバイスが経路モードをセパレートモードに設定した後、バス1側に接続されたデバイスがメモリアクセス中に、バス2側に接続されたデバイスがクロスモードへの設定変更要求を行う場合を想定する。
【０１０７】
バス2側に接続されたデバイスは、クロスモードを示す経路モード設定要求信号S31を調停部54に送信する。その信号に応答して、調停部54は経路モード設定許可フラグを参照する。バス1側に接続されたデバイスがメモリとアクセス中であるため、経路モード設定許可フラグは「禁止」を示す。そのため、調停部54は、バス2側に接続されたデバイスのクロスモードへの設定要求を禁止し、そのデバイスを待ち状態とする。
【０１０８】
バス1側に接続されたデバイスのメモリアクセス処理を含むその他セパレートモードでの処理が全て終了した後、経路モードをセパレートモードに設定したデバイスは、経路モード終了信号S32を調停部54に送信する。調停部54は、この信号に応答して、経路モード設定許可フラグflagを「許可」とし、待ち状態であるバス2に接続されたデバイスに経路モード設定許可信号S33を送信し、クロスモードへの設定を許可するとともに、再び経路モード設定許可フラグflagを「禁止」とする。
【０１０９】
そして、バス2に接続されたデバイスは、調停部54からの経路モード設定許可信号S33に応答して、メモリアクセス回路50にクロスモードを示す経路選択モード設定信号S1を送信し、経路モードがクロスモードに変更される。
【０１１０】
以上のように、第1のバスシステム及び第2のバスシステムのデバイスがメモリアクセス回路50の経路モードの設定を行うような構成にしてもよい。
【０１１１】
[第2の実施の形態]
図13は、第2の実施の形態におけるシステムLSIの模式図である。図3と比較すると、バスブリッジ10で接続されたバスにの代わりにマルチレイヤバスmlbを用いている点で異なる。その他、図3との対応する部分に関しては同一符号を付している。
【０１１２】
図13は本第2の実施の形態におけるシステムLSIの一例であり、マルチレイヤバスmlbは4つのバスb1〜b4を有し、デバイスaとデバイスbとその他CPUを含む複数のデバイスが接続されている。そして、各々のデバイスはマルチレイヤバスmlbが有するバスb1〜b4から1つを選択してそのバスを経由し、他のデバイスとアクセス可能である。よって、例えばデバイスaがバスb1を使用してデバイスbとアクセス中に、デバイスcはバスb2を使用して他のデバイスとアクセスできる。同様にバスb3、b4を用いてさらに他のデバイス間での同時アクセスが可能である。また、メモリアクセス回路50においても、入出力インターフェースであるバス1側入出力端子31とバス2側入出力端子32がマルチレイヤバスmlbの各バスb1〜b4と接続可能にされている。そして、前述したとおり、アクセス経路w11〜w14が選択されることで、バスと各々のメモリ間でのアクセス経路w11〜w14が設定される。
【０１１３】
ここで、メモリアクセス回路50の経路モードがセパレートモードに設定され、バスb3、b4が他のデバイスどうしのアクセスにより占有され、バスb1、b2が使用可能であり、デバイスa、bがメモリ11、12にアクセスする場合を想定する。
【０１１４】
デバイスaは、バスb1とバス1側入出力端子31とアクセス経路w11を介してメモリ11にアクセスし、同時にデバイスbは、バスb2とバス2側入出力端子32とアクセス経路w13を介してメモリ12にアクセスする。または、デバイスaは、バスb1とバス2側入出力端子32とアクセス経路w13を介してメモリ12にアクセスし、同時にデバイスbは、バスb2とバス1側入出力端子31とアクセス経路w11を介してメモリ11にアクセスする。すなわち、第2の実施の形態ではマルチレイヤバスmlbの少なくとも2つのバスが使用できれば、メモリアクセス回路50のセパレートモードとクロスモードの切り替えに相当するメモリアクセスが可能である。また、経路モードがクロスモードに設定されている場合もマルチレイヤバスmlbの少なくとも2つのバスが使用できれば、同様に両メモリとデバイスとの同時アクセスが可能である。
【０１１５】
次に、メモリアクセス回路50の経路モードがセパレートモードに設定され、バスb2、b3、b4が他のデバイスどうしのアクセスにより占有され、バスb1のみが利用可能であり、デバイスa、bがメモリ11、12にアクセスする場合を想定する。
【０１１６】
デバイスaは、バスb1とバス1側入出力端子31とアクセス経路w11を介してメモリ11とアクセスする。または、デバイスaは、バスb1とバス2側入出力端子32とアクセス経路w13を介してメモリ12とアクセスする。前述したとおり、同一バスに接続されたデバイスのバスの調停に関しては調停部54以外のCPU等で通常通り行われる。そのため、デバイスaがメモリアクセス中は全てのバスb1〜b4が占有されてしまい、デバイスbはバス権を取得できず、バスb1〜b4を介してメモリ11、12にアクセスすることはできない。また、メモリアクセス回路50の経路選択の機能を用いても、同様にバス権を持たないデバイスbがメモリアクセスすることはできず、両メモリとデバイスとの同時アクセスは不可能である。また、これらは経路モードがクロスモードに設定されている場合も同様である。
【０１１７】
一方で、経路モードがミラーモードとワン・オールモードに設定された場合、メモリアクセス回路50の有する各部51〜54の機能によりメモリ11、12に対してデバイスa、bともに第1の実施の形態と同じ所定のメモリアクセスが可能である。
【０１１８】
例えば、メモリアクセス回路50の経路モードがミラーモードに設定され、バスb2、b3、b4が他のデバイスどうしのアクセスにより占有され、バスb1のみが利用可能であり、デバイスaがメモリ11、12にアクセスする場合を想定する。
【０１１９】
デバイスaは、バス1側入出力端子31またはバス2側入出力端子32のいずれかを介してメモリ11、12に対して同時に同一のアクセス処理を行うことができる。例えばデバイスaがバスb1、バス1側入出力端子31を介してメモリ11、12にデータを書き込む場合、はじめに調停部54が、デバイスaのアクセス要求信号に応答して調停処理を行う。そして、調停部54は、経路モードがミラーモードで設定されているため、さらにメモリ11、12からのアクセス信号(ビジー信号)を参照する。そして、調停部54は、アクセス信号(ビジー信号)がビジー状態でない場合、IOデバイス7に対してアクセス許可信号を送信し、メモリアクセスを許可する。アドレス領域管理部53は、アクセス先アドレスをアドレス変換せずに転送する。ミラーモードの設定により、デバイスaが出力しバス1側入出力端子31から入力された信号は経路w11、w12を介してメモリ11、12に転送され、両メモリ11、12に同時に同一のデータ信号が書き込まれる。
【０１２０】
次に、メモリアクセス回路50の経路モードがワン・オールモードに設定され、バスb2、b3、b4が他のデバイスどうしのアクセスにより占有され、バスb1のみが利用可能であり、デバイスaがメモリ11、12にアクセスする場合を想定する。ワン・オールモードの設定では、前述したとおりメモリ11、12に一連のCPUアドレス空間を割り当てるため、デバイスaは、メモリ11、12を1つのメモリとして扱う。
【０１２１】
デバイスaは、バス1側入出力端子31またはバス2側入出力端子32のいずれかを介してメモリ11、12とアクセスする。例えばデバイスaがバスb1、バス1側入出力端子31を介してメモリ11またはメモリ12にデータを書き込む場合、はじめに調停部54が、デバイスaのアクセス要求信号に応答して調停処理を行う。そして、調停部54は、経路モードがワン・オールモードで設定されているため、さらにメモリ11、12からのアクセス信号(ビジー信号)を参照する。そして、調停部54は、アクセス信号(ビジー信号)がビジー状態でない場合、デバイスaに対してアクセス許可信号を送信し、メモリアクセスを許可する。アドレス領域管理部53は、デバイスaのアクセス先アドレスをアドレス変換し、さらにアクセス先のメモリを識別する。さらにアドレス領域管理部53は、調停部54からバス1側入出力端子31からの入力であることを示すバス識別信号を受信しており、メモリの識別情報とバスの識別情報を有するメモリ識別信号を経路制御部52に送信する。経路制御部52は、このメモリ識別信号に応じて、経路選択部51のアクセス経路w11またはアクセス経路w12を適宜選択する。そして、デバイスaは、選択されたアクセス経路w11、w12を介してメモリ11、12にアクセスする。
【０１２２】
このように、経路モードがミラーモードの場合は、デバイスは複数メモリに対して同時に同一の処理を行うことができる。そして、ワン・オールモードの場合は、デバイスは複数のメモリを1つのメモリとして扱うことができる。
【０１２３】
すなわち、第2の実施の形態におけるマルチレイヤバスmlbに接続されたメモリアクセス回路50は、ミラーモードまたはワン・オールモードの場合に効果がある。
【０１２４】
以上の実施の形態をまとめると，次の付記のとおりである。
【０１２５】
(付記１)
第1と第2のメモリと、
第1と第2のバスと、
前記第1と第2のバス間の信号転送を行うバスブリッジと、
前記第1のバスと接続され前記第1または第2のメモリにアクセスする第1のバスシステムと、
前記第2のバスと接続され前記第1または第2のメモリにアクセスする第2のバスシステムと、
前記第1と第2のバスと各々信号転送を行う第1と第2のバス側入出力端子と前記第1と第2のメモリと各々信号転送を行う第1と第2のメモリ側入出力端子を備えるメモリアクセス回路とを有し、
当該メモリアクセス回路は、前記第1のバス側入出力端子と前記第1のメモリ側入出力端子を接続する第1のアクセス経路と、前記第2のバス側入出力端子と前記第2のメモリ側入出力端子を接続する第2のアクセス経路と、前記第1のバス側入出力端子と前記第2のメモリ側入出力端子を接続する第3のアクセス経路と、前記第2のバス側入出力端子と前記第1のメモリ側入出力端子を接続する第4のアクセス経路とを有し、当該アクセス経路を介して信号転送を行い、
前記第1または第２のバスシステムのメモリアクセス時に、前記メモリアクセス回路は、前記第1または第２のバスシステムからの経路選択モード設定信号に応じて、前記第1〜第4のアクセス経路の少なくとも一つを選択することを特徴とするシステムLSI。
【０１２６】
(付記２)
前記メモリアクセス回路は、前記第1または第２のバスシステムが出力する前記第1または第2のメモリのアクセス先アドレスを受信し、前記経路選択モード設定信号に応じて前記第1または第2のメモリアドレスを指定する信号をメモリ側入出力端子に出力するアドレス領域管理部を有することを特徴とする付記1記載のシステムLSI。
【０１２７】
(付記３)
前記メモリアクセス回路は調停部を有し、当該調停部は、前記第1または第２のバスシステムによる前記第1と第2のメモリへのアクセス状況を示すビジー信号を前記第1と第2のメモリからそれぞれ受信し、前記第1または第２のバスシステム前記第1または第2のメモリへのアクセス要求信号を受信したとき、前記経路選択モード設定信号に基づく設定中の経路モードに応じて、前記ビジー信号を参照せずにアクセスを許可し、または前記ビジー信号を信号を参照し、少なくとも1つのメモリがアクセス中ならばアクセスを禁止し、両方のメモリがアクセス中でなければアクセスを許可することを特徴とする付記１記載のシステムLSI。
【０１２８】
(付記４)
前記メモリアクセス回路は、前記経路選択モード設定信号がセパレートモードの場合は、前記第1と第2のアクセス経路を選択し、クロスモードの場合は前記第3と第4のアクセス経路を選択することを特徴とする付記1記載のシステムLSI。
【０１２９】
(付記５)
前記メモリアクセス回路は、前記第1または第２のバスシステムが出力する前記第1または第2のメモリのアクセス先アドレスを受信し、前記経路選択モード設定信号に応じて前記第1または第2のメモリアドレスを指定する信号をメモリ側入出力端子に出力するアドレス領域管理部を有し、
前記経路選択モード設定信号が前記セパレートモードとクロスモードの場合は、前記アドレス領域管理部は前記アクセス先アドレスをアドレス変換せずに出力することを特徴とする付記４記載のシステムLSI。
【０１３０】
(付記６)
前記メモリアクセス回路は、前記経路選択モード設定信号がミラーモードの場合は、前記第1〜第4のアクセス経路を選択することを特徴とする付記1記載のシステムLSI。
【０１３１】
(付記７)
前記メモリアクセス回路は、前記経路選択モード設定信号がミラーモードの場合は、前記第1と第3のアクセス経路を選択しまたは前記第2と第4のアクセス経路を選択することを特徴とする付記1記載のシステムLSI。
【０１３２】
(付記８)
前記メモリアクセス回路は、前記第1または第２のバスシステムが出力する前記第1または第2のメモリのアクセス先アドレスを受信し、前記経路選択モード設定信号に応じて前記第1または第2のメモリアドレスを指定する信号をメモリ側入出力端子に出力するアドレス領域管理部を有し、
前記経路選択モード設定信号が前記ミラーモードの場合は、前記アドレス変換は前記アクセス先アドレスをアドレス変換せずに出力することを特徴とする付記６記載のシステムLSI。
【０１３３】
(付記９)
前記第1または第２のバスシステムは、前記第1のメモリの第1のアドレス空間と当該第1のアドレス空間に連続する第2のメモリの第2のアドレス空間とをアクセス先アドレス空間として有し、
前記経路選択モード設定信号がワン・オールモードの場合は、前記アドレス領域管理部は、前記アクセス先アドレス空間に基づいて、第1または第2のメモリのいずれへのアクセスかを識別し、前記アクセス先アドレスを前記第1もしくは第2のアドレス空間のアドレスに変換して出力し、さらに、前記メモリアクセス回路は、前記アドレス領域管理部の識別結果に応じて前記第1〜第4のアクセス経路のいずれかを選択することを特徴とする付記２記載のシステムLSI。
【０１３４】
(付記１０)
前記メモリアクセス回路は調停部を有し、当該調停部は、前記第1または第2のバスシステムによる前記第1と第2のメモリへのアクセス状況を示すビジー信号を前記第1と第2のメモリからそれぞれ受信し、前記第1または第2のバスシステムから前記第1または第2のメモリへのアクセス要求信号を受信したとき、前記経路選択モード設定信号に基づく設定中の経路モードが、前記第1と第2のアクセス経路を選択するセパレートモードか、前記第3と第4のアクセス経路を選択するクロスモードの場合は、前記ビジー信号を参照せずにアクセスを許可し、前記第1〜第4のアクセス経路を選択するミラーモードか、前記第1〜第4のアクセス経路のいずれかを選択するワン・オールモードの場合は、前記ビジー信号を参照し、少なくとも1つのメモリがアクセス中ならばアクセスを禁止し、両方のメモリがアクセス中でなければアクセスを許可することを特徴とする付記１記載のシステムLSI。
【０１３５】
(付記１１)
前記第1および第2のバスシステムはデータ処理を行うデータ処理回路であり、前記第1のバスシステムは前記第1と第2のメモリのいずれか一方から、前記第2のバスシステムは前記第1と第2のメモリのいずれか他方から同時に信号を読み出して処理を行うことを特徴とする付記１記載のシステムLSI。
【０１３６】
(付記１２)
前記メモリアクセス回路は、前記第1と第2のアクセス経路を選択するセパレートモードか、前記第3と第4のアクセス経路を選択するクロスモードか、前記第1〜第4のアクセス経路を選択するミラーモードか、前記第1〜第4のアクセス経路のいずれかを選択するワン・オールモードのいずれか2つ以上の経路モードを有し、前記経路選択モード設定信号に応じてアクセス経路を選択することを特徴とする付記２記載のシステムLSI。
【０１３７】
(付記１３)
前記ワン・オールモードの場合は、前記第1および第2のバスシステムは、前記第1のメモリの第1のアドレス空間と当該第1のアドレス空間に連続する第2のメモリの第2のアドレス空間とをアクセス先アドレス空間として有し、前記アドレス領域管理部は、前記アクセス先アドレス空間に基づいて、第1または第2のメモリのいずれへのアクセスかを識別し、前記アクセス先アドレスを前記第1もしくは第2のアドレス空間のアドレスに変換して出力し、さらに、前記メモリアクセス回路は、前記アドレス領域管理部の識別結果に応じて前記第1〜第4のアクセス経路のいずれかを選択することを特徴とする付記１２記載のシステムLSI。
【０１３８】
(付記１４)
第1と第2のメモリを有するシステムLSIにおいて、
それぞれ独立に複数のバスを有するマルチレイヤバスと、
前記マルチレイヤバスと接続され前記第1または第2のメモリにアクセスする第1のバスシステムと、
前記マルチレイヤバスと接続され前記第1または第2のメモリにアクセスする第２のバスシステムと、
前記マルチレイヤバスの選択されたバスと信号転送を行う第1と第2のバス側入出力端子と、前記第1と第2のメモリと各々信号転送を行う第1と第2のメモリ側入出力端子とを備えるメモリアクセス回路とを有し、
前記メモリアクセス回路は、前記第1のバス側入出力端子と前記第1のメモリ側入出力端子を接続する第1のアクセス経路と、前記第2のバス側入出力端子と前記第2のメモリ側入出力端子を接続する第2のアクセス経路と、前記第1のバス側入出力端子と前記第2のメモリ側入出力端子を接続する第3のアクセス経路と、前記第2のバス側入出力端子と前記第1のメモリ側入出力端子を接続する第4のアクセス経路とを有し、当該アクセス経路を介して信号転送を行い、
前記第1または第２のバスシステムのメモリアクセス時に、前記メモリアクセス回路は、前記第1または第２のバスシステムからの経路選択モード設定信号に応じて、前記第1〜第4のアクセス経路の少なくとも一つを選択することを特徴とするシステムLSI。
【０１３９】
(付記１５)
前記メモリアクセス回路は、前記経路選択モード設定信号がミラーモードの場合は、前記第1〜第4のアクセス経路を選択することを特徴とする付記１４記載のシステムLSI。
【０１４０】
(付記１６)
前記メモリアクセス回路は、前記経路選択モード設定信号がミラーモードの場合は、前記第1と第3のアクセス経路を選択しまたは前記第2と第4のアクセス経路を選択することを特徴とする付記１４記載のシステムLSI。
【０１４１】
(付記１７)
前記メモリアクセス回路は、前記第1または第2のバスシステムが出力する前記第1または第2のメモリのアクセス先アドレスを受信し、前記経路選択モード設定信号に応じて前記第1または第2のメモリアドレスを指定する信号をメモリ側入出力端子に出力するアドレス領域管理部を有し、
前記経路選択モード設定信号が前記ミラーモードの場合は、前記アドレス変換は前記アクセス先アドレスをアドレス変換せずに出力することを特徴とする付記１５または１６記載のシステムLSI。
【０１４２】
(付記１８)
前記メモリアクセス回路は、前記第1または第2のバスシステムが出力する前記第1または第2のメモリのアクセス先アドレスを受信し、前記経路選択モード設定信号に応じて前記第1または第2のメモリアドレスを指定する信号をメモリ側入出力端子に出力するアドレス領域管理部を有することを特徴とする付記１４記載のシステムLSI。
【０１４３】
(付記１９)
前記第1および第2のバスシステムは、前記第1のメモリの第1のアドレス空間と当該第1のアドレス空間に連続する第2のメモリの第2のアドレス空間とをアクセス先アドレス空間として有し、
前記経路選択モード設定信号がワン・オールモードの場合は、前記アドレス領域管理部は、前記アクセス先アドレス空間に基づいて、第1または第2のメモリのいずれへのアクセスかを識別し、前記アクセス先アドレスを前記第1もしくは第2のアドレス空間のアドレスに変換して出力し、さらに、前記メモリアクセス回路は、前記アドレス領域管理部の識別結果に応じて前記第1〜第4のアクセス経路のいずれかを選択することを特徴とする付記１８記載のシステムLSI。
【図面の簡単な説明】
【０１４４】
【図１】従来のシステムLSIのブロック図の一例である。
【図２】図1に示すブロック図の動作例である。
【図３】第1の実施の形態におけるシステムLSIの模式図である。
【図４】メモリアクセス回路内の信号の流れを示すブロック図である。
【図５】アドレス領域管理部53のブロック図である。
【図６】アドレス変換ユニットのブロック図である。
【図７】セパレートモードの動作を示す模式図である。
【図８】クロスモードの動作を示す模式図である。
【図９】ミラーモードの動作を示す模式図である。
【図１０】ワン・オールモードの動作を示す模式図である。
【図１１】調停部54の動作例を示す模式図である。
【図１２】本システムLSIの具体的な構成例を示す模式図である。
【図１３】第2の実施の形態におけるシステムLSIの模式図である。
【図１４】経路選択部51の構成例である。
【符号の説明】
【０１４５】
1,2 バス
3 CPU
4 ハードウェア
5 ペリフェラル
10 バスブリッジ
11,12 メモリ
13,14 メモリコントローラ
50 メモリアクセス回路
51 経路選択部
52 経路制御部
53 アドレス領域管理部
54 調停部
【図１】
2010152585.tif 000003
【図２】
2010152585.tif 000004
【図３】
2010152585.tif 000005
【図４】
2010152585.tif 000006
【図５】
2010152585.tif 000007
【図６】
2010152585.tif 000008
【図７】
2010152585.tif 000009
【図８】
2010152585.tif 000010
【図９】
2010152585.tif 000011
【図１０】
2010152585.tif 000012
【図１１】
2010152585.tif 000013
【図１２】
2010152585.tif 000014
【図１３】
2010152585.tif 000015
【図１４】
2010152585.tif 000016