JP2010152585A - 複数バスを有するシステムlsi - Google Patents

複数バスを有するシステムlsi Download PDF

Info

Publication number
JP2010152585A
JP2010152585A JP2008329132A JP2008329132A JP2010152585A JP 2010152585 A JP2010152585 A JP 2010152585A JP 2008329132 A JP2008329132 A JP 2008329132A JP 2008329132 A JP2008329132 A JP 2008329132A JP 2010152585 A JP2010152585 A JP 2010152585A
Authority
JP
Japan
Prior art keywords
memory
access
bus
path
signal
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.)
Granted
Application number
JP2008329132A
Other languages
English (en)
Other versions
JP5439808B2 (ja
Inventor
Shinichi Sudo
晋一 須藤
Kiyomitsu Kato
清光 加藤
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2008329132A priority Critical patent/JP5439808B2/ja
Priority to US12/617,291 priority patent/US8359419B2/en
Publication of JP2010152585A publication Critical patent/JP2010152585A/ja
Application granted granted Critical
Publication of JP5439808B2 publication Critical patent/JP5439808B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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)
  • Bus Control (AREA)
  • Memory System (AREA)

Abstract

【課題】デバイスが、複数のバスを占有することなく、メモリにアクセスできるシステムLSIを提供する。
【解決手段】第1と第2のメモリと、第1と第2のバスと、第1と第2のバス間の信号転送を行うバスブリッジとを有し、メモリアクセス回路は、第1のバス側入出力端子と第1のメモリ側入出力端子を接続する第1のアクセス経路と、第2のバス側入出力端子と第2のメモリ側入出力端子を接続する第2のアクセス経路と、第1のバス側入出力端子と第2のメモリ側入出力端子を接続する第3のアクセス経路と、第2のバス側入出力端子と第1のメモリ側入出力端子を接続する第4のアクセス経路とを有し、当該アクセス経路を介して信号転送を行い、第1または第2のバスシステムのメモリアクセス時に、メモリアクセス回路は、第1または第2のバスシステムからの経路選択モード設定信号に応じて、第1〜第4のアクセス経路の少なくとも一つを選択する。
【選択図】図3

Description

本発明は、システムLSIに関し、特に、複数バスを有するシステムLSIに関する。
システムLSI(Large Scale Integrated Circuit、集積回路装置)は、1つのチップ内にメモリに加えて、プロセッサ(以下CPUと称する。)、演算回路、通信回路、外部インターフェース回路など個別の機能を有する複数のデバイスを内蔵する。そして、それらメモリと複数のデバイスはバスを介して相互に接続され、バスを介してメモリとデバイス間でのデータ転送が行われる。
システムLSIの大規模化に伴って、内蔵するデバイスの数が増加するとともに、1つのチップサイズも大きくなる。そのため、内蔵するメモリと複数のデバイスを1つの共通するバスで接続することは,物理的な制約と高速動作の制約とから困難になっている。すなわち、大きなチップ内に埋め込まれた多数のデバイスを共通する1つのバスで接続することは、レイアウト上困難であり、バスの配線容量の増大によりデータの転送速度が低下する。
そこで、近年のシステム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へアクセスするなど、異なるバスに接続されたメモリとデバイス間でのアクセスも可能である。
特許文献1では、マルチプロセッサシステムのプロトコルである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を提供することにある。
1つの態様によれば、システム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または第2のバスシステムのメモリアクセス時に、前記メモリアクセス回路は、前記第1または第2のバスシステムからの経路選択モード設定信号に応じて、前記第1〜第4のアクセス経路の少なくとも一つを選択する。
上記の発明によれば、複数のバスを占有することなく、デバイスがメモリにアクセスできるシステムLSIを提供することができる。
以下,図面にしたがって本発明の実施の形態について説明する。但し,本発明の技術的範囲はこれらの実施の形態に限定されず,特許請求の範囲に記載された事項とその均等物まで及ぶものである。
[第1の実施の形態]
[概要説明]
はじめに概要を説明する。本実施の形態は、複数のメモリと、バスブリッジにより接続された複数のバスを有するシステムLSIにおいて、バスとメモリ間のアクセス経路を有するメモリアクセス回路を複数バスとメモリ間に設ける。また、各々のバスには複数のデバイスが接続されており、メモリアクセス回路内のアクセス経路が適宜選択され、デバイスとメモリ間の経路が設定される。
これにより、デバイスは複数のバスを占有することなくメモリにアクセス可能である。その結果、占有されていないバスを使用して、他のデバイス間、及び他のデバイスとメモリ間でのアクセスが可能になる。
[第1の実施の形態における全体構成]
次に、本実施の形態の全体像を把握するために、はじめに本実施の形態の構成と各部の機能を簡潔に説明する。
図3は、第1の実施の形態におけるシステムLSIの模式図である。本システムLSIは、複数のデバイスと複数メモリと複数バスを有するが、図3はその一つの形態である。前述した図1に示す従来のシステムLSIと比較すると、本実施の形態ではバス1、2とメモリコントローラ13、14の間にメモリアクセス回路50を有する点で異なる。
本システムLSIは、例えばCPU3を含む第1のバスシステムと演算回路などのハードウェア4や外部インターフェースなどのペリフェラル5を含む第2のバスシステムとを有し、さらにメモリ11、12を有する。さらに、システムLSIは2つのバス1、2を有し、バス1にはCPU3が接続され、バス2にはハードウェア4とペリフェラル5が接続されている。そして、両バス1、2は、バスブリッジ10により接続され、バスブリッジ10を介してバス間のデータ転送が行われる。
メモリアクセス回路50は、経路選択部51と経路制御部52とアドレス領域管理部53と調停部54とを有し、CPU3もしくはハードウェア4の出力する回路制御信号C1により制御される。スイッチsw10は、第1、第2のバスシステムから出力される回路制御信号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もしくはハードウェア4が他の経路モードへの設定を行うことはない。例えば、バス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)
第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または第2のバスシステムのメモリアクセス時に、前記メモリアクセス回路は、前記第1または第2のバスシステムからの経路選択モード設定信号に応じて、前記第1〜第4のアクセス経路の少なくとも一つを選択することを特徴とするシステムLSI。
(付記2)
前記メモリアクセス回路は、前記第1または第2のバスシステムが出力する前記第1または第2のメモリのアクセス先アドレスを受信し、前記経路選択モード設定信号に応じて前記第1または第2のメモリアドレスを指定する信号をメモリ側入出力端子に出力するアドレス領域管理部を有することを特徴とする付記1記載のシステムLSI。
(付記3)
前記メモリアクセス回路は調停部を有し、当該調停部は、前記第1または第2のバスシステムによる前記第1と第2のメモリへのアクセス状況を示すビジー信号を前記第1と第2のメモリからそれぞれ受信し、前記第1または第2のバスシステム前記第1または第2のメモリへのアクセス要求信号を受信したとき、前記経路選択モード設定信号に基づく設定中の経路モードに応じて、前記ビジー信号を参照せずにアクセスを許可し、または前記ビジー信号を信号を参照し、少なくとも1つのメモリがアクセス中ならばアクセスを禁止し、両方のメモリがアクセス中でなければアクセスを許可することを特徴とする付記1記載のシステムLSI。
(付記4)
前記メモリアクセス回路は、前記経路選択モード設定信号がセパレートモードの場合は、前記第1と第2のアクセス経路を選択し、クロスモードの場合は前記第3と第4のアクセス経路を選択することを特徴とする付記1記載のシステムLSI。
(付記5)
前記メモリアクセス回路は、前記第1または第2のバスシステムが出力する前記第1または第2のメモリのアクセス先アドレスを受信し、前記経路選択モード設定信号に応じて前記第1または第2のメモリアドレスを指定する信号をメモリ側入出力端子に出力するアドレス領域管理部を有し、
前記経路選択モード設定信号が前記セパレートモードとクロスモードの場合は、前記アドレス領域管理部は前記アクセス先アドレスをアドレス変換せずに出力することを特徴とする付記4記載のシステムLSI。
(付記6)
前記メモリアクセス回路は、前記経路選択モード設定信号がミラーモードの場合は、前記第1〜第4のアクセス経路を選択することを特徴とする付記1記載のシステムLSI。
(付記7)
前記メモリアクセス回路は、前記経路選択モード設定信号がミラーモードの場合は、前記第1と第3のアクセス経路を選択しまたは前記第2と第4のアクセス経路を選択することを特徴とする付記1記載のシステムLSI。
(付記8)
前記メモリアクセス回路は、前記第1または第2のバスシステムが出力する前記第1または第2のメモリのアクセス先アドレスを受信し、前記経路選択モード設定信号に応じて前記第1または第2のメモリアドレスを指定する信号をメモリ側入出力端子に出力するアドレス領域管理部を有し、
前記経路選択モード設定信号が前記ミラーモードの場合は、前記アドレス変換は前記アクセス先アドレスをアドレス変換せずに出力することを特徴とする付記6記載のシステムLSI。
(付記9)
前記第1または第2のバスシステムは、前記第1のメモリの第1のアドレス空間と当該第1のアドレス空間に連続する第2のメモリの第2のアドレス空間とをアクセス先アドレス空間として有し、
前記経路選択モード設定信号がワン・オールモードの場合は、前記アドレス領域管理部は、前記アクセス先アドレス空間に基づいて、第1または第2のメモリのいずれへのアクセスかを識別し、前記アクセス先アドレスを前記第1もしくは第2のアドレス空間のアドレスに変換して出力し、さらに、前記メモリアクセス回路は、前記アドレス領域管理部の識別結果に応じて前記第1〜第4のアクセス経路のいずれかを選択することを特徴とする付記2記載のシステムLSI。
(付記10)
前記メモリアクセス回路は調停部を有し、当該調停部は、前記第1または第2のバスシステムによる前記第1と第2のメモリへのアクセス状況を示すビジー信号を前記第1と第2のメモリからそれぞれ受信し、前記第1または第2のバスシステムから前記第1または第2のメモリへのアクセス要求信号を受信したとき、前記経路選択モード設定信号に基づく設定中の経路モードが、前記第1と第2のアクセス経路を選択するセパレートモードか、前記第3と第4のアクセス経路を選択するクロスモードの場合は、前記ビジー信号を参照せずにアクセスを許可し、前記第1〜第4のアクセス経路を選択するミラーモードか、前記第1〜第4のアクセス経路のいずれかを選択するワン・オールモードの場合は、前記ビジー信号を参照し、少なくとも1つのメモリがアクセス中ならばアクセスを禁止し、両方のメモリがアクセス中でなければアクセスを許可することを特徴とする付記1記載のシステムLSI。
(付記11)
前記第1および第2のバスシステムはデータ処理を行うデータ処理回路であり、前記第1のバスシステムは前記第1と第2のメモリのいずれか一方から、前記第2のバスシステムは前記第1と第2のメモリのいずれか他方から同時に信号を読み出して処理を行うことを特徴とする付記1記載のシステムLSI。
(付記12)
前記メモリアクセス回路は、前記第1と第2のアクセス経路を選択するセパレートモードか、前記第3と第4のアクセス経路を選択するクロスモードか、前記第1〜第4のアクセス経路を選択するミラーモードか、前記第1〜第4のアクセス経路のいずれかを選択するワン・オールモードのいずれか2つ以上の経路モードを有し、前記経路選択モード設定信号に応じてアクセス経路を選択することを特徴とする付記2記載のシステムLSI。
(付記13)
前記ワン・オールモードの場合は、前記第1および第2のバスシステムは、前記第1のメモリの第1のアドレス空間と当該第1のアドレス空間に連続する第2のメモリの第2のアドレス空間とをアクセス先アドレス空間として有し、前記アドレス領域管理部は、前記アクセス先アドレス空間に基づいて、第1または第2のメモリのいずれへのアクセスかを識別し、前記アクセス先アドレスを前記第1もしくは第2のアドレス空間のアドレスに変換して出力し、さらに、前記メモリアクセス回路は、前記アドレス領域管理部の識別結果に応じて前記第1〜第4のアクセス経路のいずれかを選択することを特徴とする付記12記載のシステムLSI。
(付記14)
第1と第2のメモリを有するシステムLSIにおいて、
それぞれ独立に複数のバスを有するマルチレイヤバスと、
前記マルチレイヤバスと接続され前記第1または第2のメモリにアクセスする第1のバスシステムと、
前記マルチレイヤバスと接続され前記第1または第2のメモリにアクセスする第2のバスシステムと、
前記マルチレイヤバスの選択されたバスと信号転送を行う第1と第2のバス側入出力端子と、前記第1と第2のメモリと各々信号転送を行う第1と第2のメモリ側入出力端子とを備えるメモリアクセス回路とを有し、
前記メモリアクセス回路は、前記第1のバス側入出力端子と前記第1のメモリ側入出力端子を接続する第1のアクセス経路と、前記第2のバス側入出力端子と前記第2のメモリ側入出力端子を接続する第2のアクセス経路と、前記第1のバス側入出力端子と前記第2のメモリ側入出力端子を接続する第3のアクセス経路と、前記第2のバス側入出力端子と前記第1のメモリ側入出力端子を接続する第4のアクセス経路とを有し、当該アクセス経路を介して信号転送を行い、
前記第1または第2のバスシステムのメモリアクセス時に、前記メモリアクセス回路は、前記第1または第2のバスシステムからの経路選択モード設定信号に応じて、前記第1〜第4のアクセス経路の少なくとも一つを選択することを特徴とするシステムLSI。
(付記15)
前記メモリアクセス回路は、前記経路選択モード設定信号がミラーモードの場合は、前記第1〜第4のアクセス経路を選択することを特徴とする付記14記載のシステムLSI。
(付記16)
前記メモリアクセス回路は、前記経路選択モード設定信号がミラーモードの場合は、前記第1と第3のアクセス経路を選択しまたは前記第2と第4のアクセス経路を選択することを特徴とする付記14記載のシステムLSI。
(付記17)
前記メモリアクセス回路は、前記第1または第2のバスシステムが出力する前記第1または第2のメモリのアクセス先アドレスを受信し、前記経路選択モード設定信号に応じて前記第1または第2のメモリアドレスを指定する信号をメモリ側入出力端子に出力するアドレス領域管理部を有し、
前記経路選択モード設定信号が前記ミラーモードの場合は、前記アドレス変換は前記アクセス先アドレスをアドレス変換せずに出力することを特徴とする付記15または16記載のシステムLSI。
(付記18)
前記メモリアクセス回路は、前記第1または第2のバスシステムが出力する前記第1または第2のメモリのアクセス先アドレスを受信し、前記経路選択モード設定信号に応じて前記第1または第2のメモリアドレスを指定する信号をメモリ側入出力端子に出力するアドレス領域管理部を有することを特徴とする付記14記載のシステムLSI。
(付記19)
前記第1および第2のバスシステムは、前記第1のメモリの第1のアドレス空間と当該第1のアドレス空間に連続する第2のメモリの第2のアドレス空間とをアクセス先アドレス空間として有し、
前記経路選択モード設定信号がワン・オールモードの場合は、前記アドレス領域管理部は、前記アクセス先アドレス空間に基づいて、第1または第2のメモリのいずれへのアクセスかを識別し、前記アクセス先アドレスを前記第1もしくは第2のアドレス空間のアドレスに変換して出力し、さらに、前記メモリアクセス回路は、前記アドレス領域管理部の識別結果に応じて前記第1〜第4のアクセス経路のいずれかを選択することを特徴とする付記18記載のシステム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 調停部

Claims (10)

  1. 第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または第2のバスシステムのメモリアクセス時に、前記メモリアクセス回路は、前記第1または第2のバスシステムからの経路選択モード設定信号に応じて、前記第1〜第4のアクセス経路の少なくとも一つを選択することを特徴とするシステムLSI。
  2. 前記メモリアクセス回路は、前記第1または第2のバスシステムが出力する前記第1または第2のメモリのアクセス先アドレスを受信し、前記経路選択モード設定信号に応じて前記第1または第2のメモリアドレスを指定する信号をメモリ側入出力端子に出力するアドレス領域管理部を有することを特徴とする請求項1記載のシステムLSI。
  3. 前記メモリアクセス回路は調停部を有し、当該調停部は、前記第1または第2のバスシステムによる前記第1と第2のメモリへのアクセス状況を示すビジー信号を前記第1と第2のメモリからそれぞれ受信し、前記第1または第2のバスシステム前記第1または第2のメモリへのアクセス要求信号を受信したとき、前記経路選択モード設定信号に基づく設定中の経路モードに応じて、前記ビジー信号を参照せずにアクセスを許可し、または前記ビジー信号を信号を参照し、少なくとも1つのメモリがアクセス中ならばアクセスを禁止し、両方のメモリがアクセス中でなければアクセスを許可することを特徴とする請求項1記載のシステムLSI。
  4. 前記メモリアクセス回路は、前記経路選択モード設定信号がセパレートモードの場合は、前記第1と第2のアクセス経路を選択し、クロスモードの場合は前記第3と第4のアクセス経路を選択することを特徴とする請求項1記載のシステムLSI。
  5. 前記メモリアクセス回路は、前記第1または第2のバスシステムが出力する前記第1または第2のメモリのアクセス先アドレスを受信し、前記経路選択モード設定信号に応じて前記第1または第2のメモリアドレスを指定する信号をメモリ側入出力端子に出力するアドレス領域管理部を有し、
    前記経路選択モード設定信号が前記セパレートモードとクロスモードの場合は、前記アドレス領域管理部は前記アクセス先アドレスをアドレス変換せずに出力することを特徴とする請求項4記載のシステムLSI。
  6. 前記メモリアクセス回路は、前記経路選択モード設定信号がミラーモードの場合は、前記第1〜第4のアクセス経路を選択することを特徴とする請求項1記載のシステムLSI。
  7. 前記メモリアクセス回路は、前記第1または第2のバスシステムが出力する前記第1または第2のメモリのアクセス先アドレスを受信し、前記経路選択モード設定信号に応じて前記第1または第2のメモリアドレスを指定する信号をメモリ側入出力端子に出力するアドレス領域管理部を有し、
    前記経路選択モード設定信号が前記ミラーモードの場合は、前記アドレス変換は前記アクセス先アドレスをアドレス変換せずに出力することを特徴とする請求項6記載のシステムLSI。
  8. 前記第1または第2のバスシステムは、前記第1のメモリの第1のアドレス空間と当該第1のアドレス空間に連続する第2のメモリの第2のアドレス空間とをアクセス先アドレス空間として有し、
    前記経路選択モード設定信号がワン・オールモードの場合は、前記アドレス領域管理部は、前記アクセス先アドレス空間に基づいて、第1または第2のメモリのいずれへのアクセスかを識別し、前記アクセス先アドレスを前記第1もしくは第2のアドレス空間のアドレスに変換して出力し、さらに、前記メモリアクセス回路は、前記アドレス領域管理部の識別結果に応じて前記第1〜第4のアクセス経路のいずれかを選択することを特徴とする請求項2記載のシステムLSI。
  9. 前記メモリアクセス回路は、前記第1と第2のアクセス経路を選択するセパレートモードか、前記第3と第4のアクセス経路を選択するクロスモードか、前記第1〜第4のアクセス経路を選択するミラーモードか、前記第1〜第4のアクセス経路のいずれかを選択するワン・オールモードのいずれか2つ以上の経路モードを有し、前記経路選択モード設定信号に応じてアクセス経路を選択することを特徴とする請求項2記載のシステムLSI。
  10. 第1と第2のメモリを有するシステムLSIにおいて、
    それぞれ独立に複数のバスを有するマルチレイヤバスと、
    前記マルチレイヤバスと接続され前記第1または第2のメモリにアクセスする第1のバスシステムと、
    前記マルチレイヤバスと接続され前記第1または第2のメモリにアクセスする第2のバスシステムと、
    前記マルチレイヤバスの選択されたバスと信号転送を行う第1と第2のバス側入出力端子と、前記第1と第2のメモリと各々信号転送を行う第1と第2のメモリ側入出力端子とを備えるメモリアクセス回路とを有し、
    前記メモリアクセス回路は、前記第1のバス側入出力端子と前記第1のメモリ側入出力端子を接続する第1のアクセス経路と、前記第2のバス側入出力端子と前記第2のメモリ側入出力端子を接続する第2のアクセス経路と、前記第1のバス側入出力端子と前記第2のメモリ側入出力端子を接続する第3のアクセス経路と、前記第2のバス側入出力端子と前記第1のメモリ側入出力端子を接続する第4のアクセス経路とを有し、当該アクセス経路を介して信号転送を行い、
    前記第1または第2のバスシステムのメモリアクセス時に、前記メモリアクセス回路は、前記第1または第2のバスシステムからの経路選択モード設定信号に応じて、前記第1〜第4のアクセス経路の少なくとも一つを選択することを特徴とするシステムLSI。
JP2008329132A 2008-12-25 2008-12-25 複数バスを有するシステムlsi Active JP5439808B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008329132A JP5439808B2 (ja) 2008-12-25 2008-12-25 複数バスを有するシステムlsi
US12/617,291 US8359419B2 (en) 2008-12-25 2009-11-12 System LSI having plural buses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008329132A JP5439808B2 (ja) 2008-12-25 2008-12-25 複数バスを有するシステムlsi

Publications (2)

Publication Number Publication Date
JP2010152585A true JP2010152585A (ja) 2010-07-08
JP5439808B2 JP5439808B2 (ja) 2014-03-12

Family

ID=42286272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008329132A Active JP5439808B2 (ja) 2008-12-25 2008-12-25 複数バスを有するシステムlsi

Country Status (2)

Country Link
US (1) US8359419B2 (ja)
JP (1) JP5439808B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2011125889A1 (ja) * 2010-04-06 2013-07-11 日本電気株式会社 半導体集積回路システム及び半導体集積回路におけるパケット伝送制御方法
JP6517549B2 (ja) * 2015-03-13 2019-05-22 東芝メモリ株式会社 メモリコントローラ、記憶装置、データ転送システム、データ転送方法、及びデータ転送プログラム
US11010288B2 (en) 2019-07-31 2021-05-18 Micron Technology, Inc. Spare cache set to accelerate speculative execution, wherein the spare cache set, allocated when transitioning from non-speculative execution to speculative execution, is reserved during previous transitioning from the non-speculative execution to the speculative execution
US11194582B2 (en) 2019-07-31 2021-12-07 Micron Technology, Inc. Cache systems for main and speculative threads of processors
US11048636B2 (en) 2019-07-31 2021-06-29 Micron Technology, Inc. Cache with set associativity having data defined cache sets
US11200166B2 (en) * 2019-07-31 2021-12-14 Micron Technology, Inc. Data defined caches for speculative and normal executions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS603042A (ja) * 1983-06-20 1985-01-09 Matsushita Electric Ind Co Ltd メモリ装置
JPH03164962A (ja) * 1989-11-24 1991-07-16 Mitsubishi Electric Corp メモリ制御方式
JPH10260952A (ja) * 1997-03-17 1998-09-29 Hitachi Ltd 半導体集積回路装置およびそのデータ処理方法
JP2004127245A (ja) * 2002-08-07 2004-04-22 Matsushita Electric Ind Co Ltd 半導体集積回路装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965717A (en) 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
JP2828564B2 (ja) 1993-06-22 1998-11-25 帝人株式会社 離型フイルム
JPH08185359A (ja) 1994-10-31 1996-07-16 Toshiba Corp メモリサブシステム
JPH0934741A (ja) 1995-07-17 1997-02-07 Nec Eng Ltd メモリコピーシステム
JP3372865B2 (ja) * 1998-04-07 2003-02-04 日本電気株式会社 バス構成方式およびバス信号分配方法並びに半導体集積回路
US7216196B2 (en) * 2003-12-29 2007-05-08 Micron Technology, Inc. Memory hub and method for memory system performance monitoring
JP2006195746A (ja) * 2005-01-13 2006-07-27 Oki Electric Ind Co Ltd マルチレイヤバスシステム
US7500045B2 (en) * 2005-03-23 2009-03-03 Qualcomm Incorporated Minimizing memory barriers when enforcing strongly-ordered requests in a weakly-ordered processing system
US7769942B2 (en) * 2006-07-27 2010-08-03 Rambus, Inc. Cross-threaded memory system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS603042A (ja) * 1983-06-20 1985-01-09 Matsushita Electric Ind Co Ltd メモリ装置
JPH03164962A (ja) * 1989-11-24 1991-07-16 Mitsubishi Electric Corp メモリ制御方式
JPH10260952A (ja) * 1997-03-17 1998-09-29 Hitachi Ltd 半導体集積回路装置およびそのデータ処理方法
JP2004127245A (ja) * 2002-08-07 2004-04-22 Matsushita Electric Ind Co Ltd 半導体集積回路装置

Also Published As

Publication number Publication date
US8359419B2 (en) 2013-01-22
JP5439808B2 (ja) 2014-03-12
US20100169532A1 (en) 2010-07-01

Similar Documents

Publication Publication Date Title
JP4469010B2 (ja) ブリッジ、情報処理システムおよびアクセス制御方法
US6789173B1 (en) Node controller for performing cache coherence control and memory-shared multiprocessor system
JP2512651B2 (ja) メモリ共有マルチプロセッサ
US7581054B2 (en) Data processing system
US6996659B2 (en) Generic bridge core
JP5439808B2 (ja) 複数バスを有するシステムlsi
EP1021768A1 (en) System and method for maintaining memory coherency in a computer system having multiple system buses
US20140201407A1 (en) Interconnect, bus system with interconnect and bus system operating method
US6996693B2 (en) High speed memory cloning facility via a source/destination switching mechanism
US7069394B2 (en) Dynamic data routing mechanism for a high speed memory cloner
US6892283B2 (en) High speed memory cloner with extended cache coherency protocols and responses
JPH0810447B2 (ja) メモリ共有マルチプロセッサが使用する全ての物理的アドレスのデータ両立性を保持する方法
JP2000047974A (ja) バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム
US6898677B2 (en) Dynamic software accessibility to a microprocessor system with a high speed memory cloner
US7490184B2 (en) Systems and methods for data intervention for out-of-order castouts
JP2007172112A (ja) メモリコントローラ
US7502917B2 (en) High speed memory cloning facility via a lockless multiprocessor mechanism
US6986013B2 (en) Imprecise cache line protection mechanism during a memory clone operation
JP4446968B2 (ja) データ処理装置
US6986011B2 (en) High speed memory cloner within a data processing system
US6915390B2 (en) High speed memory cloning facility via a coherently done mechanism
US6928524B2 (en) Data processing system with naked cache line write operations
JPH09269927A (ja) バスアクセス方法、バス、並びにバス接続システム
JP2003085125A (ja) メモリ制御器及びメモリ制御方法
WO2011030498A1 (ja) データ処理装置及びデータ処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130507

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: 20131119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131202

R150 Certificate of patent or registration of utility model

Ref document number: 5439808

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350