JP2005346211A - メモリコントローラおよび該メモリコントローラを使用した情報処理装置 - Google Patents
メモリコントローラおよび該メモリコントローラを使用した情報処理装置 Download PDFInfo
- Publication number
- JP2005346211A JP2005346211A JP2004162620A JP2004162620A JP2005346211A JP 2005346211 A JP2005346211 A JP 2005346211A JP 2004162620 A JP2004162620 A JP 2004162620A JP 2004162620 A JP2004162620 A JP 2004162620A JP 2005346211 A JP2005346211 A JP 2005346211A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- access
- memory
- input
- bus master
- 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.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】プロトコル変換がほぼ必要なくメモリコントローラ内部と外部の異なるバス間のバスブリッジを小さくかつ単純な構成で実現する。
【解決手段】計算機システムは、バスブリッジを内蔵したMEMC430を備える。MEMC430は、メモリバンク310a〜310nにそれぞれ接続されたメモリアクセス制御部313〜3n3と、バスマスタに接続された複数のバスマスタインタフェース320,330と、これらインタフェースとほぼ同様に構成され、ポートAが既存バス400に接続された既存バスインタフェース305と、既存バスインタフェース305に入力される既存バス400からのアクセスリクエストとバスマスタインタフェース320,330に入力されるアクセスリクエストとの調停を行い、MEMC430内部および外部のメモリアクセスに対する制御を行うバスブリッジとして機能する既存バスアクセス制御部303とを備える。
【選択図】図2
【解決手段】計算機システムは、バスブリッジを内蔵したMEMC430を備える。MEMC430は、メモリバンク310a〜310nにそれぞれ接続されたメモリアクセス制御部313〜3n3と、バスマスタに接続された複数のバスマスタインタフェース320,330と、これらインタフェースとほぼ同様に構成され、ポートAが既存バス400に接続された既存バスインタフェース305と、既存バスインタフェース305に入力される既存バス400からのアクセスリクエストとバスマスタインタフェース320,330に入力されるアクセスリクエストとの調停を行い、MEMC430内部および外部のメモリアクセスに対する制御を行うバスブリッジとして機能する既存バスアクセス制御部303とを備える。
【選択図】図2
Description
本発明は、例えば計算機システム、データ処理システムなどに用いられるメモリコントローラおよび該メモリコントローラを使用した情報処理装置に関する。
一般に、複数のメモリバンクに対する複数のバスマスタからのバスアクセスリクエストに応じて調停を行い、使用権を取得したバスマスタが所望のメモリバンクにアクセスを行うように制御する技術がある。
従来のバス制御を行うための既存のプロトコルは、一つの共有されたバスを介して複数のメモリバンクにアクセスするようにされているために、バスマスタは、最初にバス権をとってからアクセスを開始するようになっている。
この種の技術の先行技術としては、予め定められた優先順位に従ってリクエストの競合を調停する技術が開示されている(例えば特許文献1参照)。
特開平10−228413号公報
一方、近年では、コンピュータ、オーディオビジュアル機器(以下AV機器と称す)等の小型化、省力化のため、複数のメモリと、CPU等のバスマスタを含むメモリ制御回路を内蔵した大規模集積回路(以下LSIと称す)の開発が盛んになっており、メモリコントロールICとしてのパッケージ化が進められている。
メモリ制御回路のIC化は、単体性能としては向上するものの汎用性に欠けるという欠点もある。例えばメモリコントロールIC内でのメモリアクセス性能は向上するものの、IC内部に実装可能なメモリ容量は制約を受けるため、ある程度のQoS性能を得るためには、外部メモリの利用も考慮する必要がある。QoS性能とはAVデータなどを時間的な乱れがなく伝送する性能をいう。
この場合、IC内部とIC外部のバスの違いを吸収するためのバスブリッジ回路をICに実装することになるが、一般にバスブリッジ回路は、異なるバス間のプロトコルを変換し、タイミングも合わせるため複雑な構造になる。
メモリ制御回路のIC化は、単体性能としては向上するものの汎用性に欠けるという欠点もある。例えばメモリコントロールIC内でのメモリアクセス性能は向上するものの、IC内部に実装可能なメモリ容量は制約を受けるため、ある程度のQoS性能を得るためには、外部メモリの利用も考慮する必要がある。QoS性能とはAVデータなどを時間的な乱れがなく伝送する性能をいう。
この場合、IC内部とIC外部のバスの違いを吸収するためのバスブリッジ回路をICに実装することになるが、一般にバスブリッジ回路は、異なるバス間のプロトコルを変換し、タイミングも合わせるため複雑な構造になる。
このように、従来の技術の場合、複数のメモリバンクに対しておのおのに設けたバッファによって調停を行うことでアクセスを高速化する技術の記載はあるものの、メモリ制御回路をICパッケージ化したときの内蔵メモリと外部メモリとの使い方に関する技術の記載はない。特に内蔵メモリと外部メモリとを利用するためにはバスブリッジ回路を内蔵することが必要にあるが、IC内部と外部ではプロトコルの互換性の問題があり、このための回路の設計、開発が必要になるという問題があった。
本発明はこのような課題を解決するためになされたもので、プロトコル変換がほぼ必要なく、内部と外部の異なるバス間のバスブリッジを小さくかつ単純な構成で実現できるメモリコントローラおよび該メモリコントローラを使用した情報処理装置を提供することを目的としている。
上記した課題を解決するために、本発明のメモリコントローラは、第1のメモリと、前記第1のメモリにアクセス可能な第1バスに接続された第1バスマスタからのアクセス要求が入力される入力ポートを有する第1バスインタフェースと、同時アクセスを一つ行う第2バス上の第2バスマスタからのアクセス要求が入力される入力ポートを有する第2バスインタフェースと、前記第2バスインタフェースの入力ポートに入力される前記第2バス上の第2バスマスタ群からのアクセス要求と前記第1バスインタフェースの入力ポートに入力される第1バスマスタからのアクセス要求との調停を行い、前記第1のメモリ、前記第2バス上の第2バスマスタ、および第2バスマスタに接続された第2のメモリに対するアクセス制御を行うアクセス制御手段とを具備したことを特徴とする。
本発明の情報処理装置は、第1のメモリと、第1のメモリにアクセス可能な第1バスと、前記第1バスに接続された第1バスマスタと、同時アクセスを一つ行う第2バスと、前記第2バスに接続された第2バスマスタと、前記第1バスマスタからのアクセス要求が入力される第1入力ポートを有する第1バスマスタインタフェースと、前記第2バスマスタからのアクセス要求が入力される第2入力ポートを有する第2バスインタフェースと、前記第1バスマスタから第1バスを通じて第1入力ポートに入力されるアクセス要求と前記第2バスマスタから第2バスを通じて前記第2入力ポートに入力されるアクセス要求との調停を行い、前記第1のメモリ、前記第2バス上の第2バスマスタ、および前記第2バスマスタに接続された第2のメモリに対するアクセス制御を行うアクセス制御手段とを有するメモリコントローラとを具備したことを特徴とする。
本発明では、第1のメモリにアクセス可能な第1バスに接続された第1バスマスタからのアクセス要求が入力される入力ポートを有する第1バスインタフェースと、同時アクセスを一つ行う第2バス上の第2バスマスタからのアクセス要求が入力される入力ポートを有する第2バスインタフェースを設け、この第2バスインタフェースの入力ポートに入力される第2バス上の第2バスマスタからのアクセス要求と第1バスインタフェースの入力ポートに入力される第1バスマスタからのアクセス要求との調停を行い、前記第1のメモリ、第2バス上の第2バスマスタおよび第2バスマスタに接続された第2のメモリに対するアクセス制御を行う。
以上説明したように本発明によれば、プロトコル変換がほぼ必要なく、メモリコントローラ内部と外部の異なるバス間のバスブリッジを小さくかつ単純な構成で実現できる。
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図1は本発明に係る第1実施形態の計算機システムの構成を示す図である。
図1に示すように、第1実施形態の計算機システムは、既存バス400と、この既存バス400を介してシステム全体を統括制御するCPU401と、既存バス400に接続されたPCIコントローラ(以下PCIC402と称す)と、SDRAM404a、SRAM404b、FLASH ROM404cなどの第2のメモリとしての外部メモリと、第1のメモリ(内部メモリ)としての複数の内蔵SRAMバンク、つまりメモリバンク(Bank)0 410a,(Bank)1 410b,…(Bank)N 410nと、既存バス400に接続され、SDRAM404aを制御するSDRAMコントローラ(以下SDRAMC403と称す)と、既存バス400に接続され、SRAM404b、FLASH ROM404cを制御する外部バスコントローラ(以下EBUSC408と称す)と、これらSDRAMC403,EBUSC408を介した外部メモリ制御と、複数のメモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410n)の制御とを行うメモリコントロールICとしてのメモリコントローラ(以下MEMC430と称す)と、外部メモリとメモリバンク間のデータ転送を行うDMAコントローラ405(以下DMAC405と称す)と、MEMC430に接続された複数のマスタコントローラ420a〜420m(以下、バスマスタ0 420a, バスマスタ1 420b, バスマスタm 420mと称す)と、これら複数のバスマスタ0 420a, バスマスタ1 420b, バスマスタm 420mをCPU401から制御するための制御レジスタインタフェース406(以下Cnt.Reg406と称す)と、調停部(Arbiter)409とから構成されている。この計算機システムは、MEMC430を使用した情報処理装置の一つである。なお、DMA(Direct Memory Access)とはCPU401を介さず直接メモリ転送を行うことをいう。
図1は本発明に係る第1実施形態の計算機システムの構成を示す図である。
図1に示すように、第1実施形態の計算機システムは、既存バス400と、この既存バス400を介してシステム全体を統括制御するCPU401と、既存バス400に接続されたPCIコントローラ(以下PCIC402と称す)と、SDRAM404a、SRAM404b、FLASH ROM404cなどの第2のメモリとしての外部メモリと、第1のメモリ(内部メモリ)としての複数の内蔵SRAMバンク、つまりメモリバンク(Bank)0 410a,(Bank)1 410b,…(Bank)N 410nと、既存バス400に接続され、SDRAM404aを制御するSDRAMコントローラ(以下SDRAMC403と称す)と、既存バス400に接続され、SRAM404b、FLASH ROM404cを制御する外部バスコントローラ(以下EBUSC408と称す)と、これらSDRAMC403,EBUSC408を介した外部メモリ制御と、複数のメモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410n)の制御とを行うメモリコントロールICとしてのメモリコントローラ(以下MEMC430と称す)と、外部メモリとメモリバンク間のデータ転送を行うDMAコントローラ405(以下DMAC405と称す)と、MEMC430に接続された複数のマスタコントローラ420a〜420m(以下、バスマスタ0 420a, バスマスタ1 420b, バスマスタm 420mと称す)と、これら複数のバスマスタ0 420a, バスマスタ1 420b, バスマスタm 420mをCPU401から制御するための制御レジスタインタフェース406(以下Cnt.Reg406と称す)と、調停部(Arbiter)409とから構成されている。この計算機システムは、MEMC430を使用した情報処理装置の一つである。なお、DMA(Direct Memory Access)とはCPU401を介さず直接メモリ転送を行うことをいう。
調停部409は、バスマスタ0 420a, バスマスタ1 420b, バスマスタm 420mよりリクエスト信号が入力されると、同時には一つだけのバスマスタを選択して、そのバスマスタにグラント信号を出力する。グラント信号を獲得したバスマスタだけがバスにアクセスできる。
既存バス400は、これに接続されたCPU401,PCIC402,SDRAMC403,DMAC405,Cnt.Reg406等が一度に一つのバスマスタ0 420a, バスマスタ1 420b, バスマスタm 420mを使用可能なバスである。CPU401,PCIC402,SDRAMC403,DMAC405,Cnt.Reg406等を第2バスマスタ群という。
既存バス400は、これに接続されたCPU401,PCIC402,SDRAMC403,DMAC405,Cnt.Reg406等が一度に一つのバスマスタ0 420a, バスマスタ1 420b, バスマスタm 420mを使用可能なバスである。CPU401,PCIC402,SDRAMC403,DMAC405,Cnt.Reg406等を第2バスマスタ群という。
MEMC430には、第2入力ポートとしての入力ポート430bと出力ポート430aが設けられている。出力ポート430aは、MEMC430経由で既存バス400にアクセスするための信号出力ポートである。入力ポート430bは、既存バス400からMEMC430にアクセスための信号入力ポートである。
バスマスタ0 420a,バスマスタ1 420b,バスマスタm 420m等は、既存バス400とは異なる第1バスとしての専用バスを介してMEMC430に接続されており、それぞれからの並列アクセスが可能である。これらバスマスタ0 420a,バスマスタ1 420b,バスマスタm 420m等は、第1バスマスタ群という。バスマスタ0 420a,バスマスタ1 420b,バスマスタm 420m等からMEMC430に接続されるポートを第1入力ポートという。なおこれらのポートは出力ポートにもなる。
上記の構成では、メモリバンク0 410a,メモリバンク1 410b,…メモリバンクn 410n上に蓄積されるデータは、並列アクセスが可能なため、時間の管理がし易く、AVデータなどを時間的な乱れがなく伝送する性能(以下QoSと称す)に優れている。
一般的に、CPUを内蔵するLSIにはメモリが内蔵されている。LSIに内蔵されるメモリ(以下内部メモリと称す)は、LSIの外部に接続するメモリに比べてアクセス速度が速い反面、LSIというパッケージ上の制約のため大きな容量を搭載することが難しい。LSIに内蔵するメモリは、たとえば数百KBから数MB程度しか実装できない。
一方、LSI外部に接続するSDRAM等の外部メモリは、内蔵メモリに比べて、大容量(数百MB以上)のものを接続できるという利点がある。外部メモリは、既存バス400に接続されており、並列アクセスはできずQoS性能はそれほど高くないものの、アドレス、データ信号を共有できるため、LSIのピン数が少なくて済むという利点もある。
このようなシステム上のメモリの制約を踏まえ、本実施形態の計算機システムは、内部メモリと外部メモリとの利点を生かし、システム性能を向上するものである。
MEMC430は、図2に示すように、第1バスインタフェースとしてのバスマスタインタフェースポート0 320を備えたバスマスタインタフェース320と、バスマスタインタフェースポートm 330を備えたバスマスタインタフェース330と、第2バスとしての既存バス400からのアクセス用の入力ポート(ポートA)を備えた第2バスインタフェースとしての既存バスインタフェース305と、既存バス400へアクセス制御を行う既存バスアクセス制御部303と、メモリバンク0 310aへのアクセス制御を行うメモリアクセス制御部313と、メモリバンクn 310nへのアクセス制御を行うメモリアクセス制御部3n3とを備えている。なお、既存バス400に接続されているバスマスタ301a〜301kは、図1におけるCPU401,PCIC402,SDRAMC403,DMAC405,Cnt.Reg406等に相当し、既存バス調停部302は、図1における調停部409に相当する。ポートAは図1における入力ポート430bに該当する。
バスマスタインタフェース320は、アドレスデコーダ321、アクセス権獲得部322、アクセス制御部323を有している。
アドレスデコーダ321は、マスタインタフェースポート0(以下ポート0と称す)のアクセスアドレスをデコードし、アクセス対象が既存バス調停部302、メモリバンク0 310a〜n 310nのうちのどれかに該当しているかを判定し、その判定結果をアクセス権獲得部322へ通知する。アクセス権獲得部322は、アドレスデコーダ321のデコード結果に基づき該当する調停部303a、313a、3n3aに対してメモリアクセスリクエストを行う。
アクセス制御部323は、自身のポート0に入力されたアクセス信号(アドレスやリード、ライトの種別など)を各アクセス選択部303b、313b、3n3bへ出力する。
バスマスタインタフェース330は、アドレスデコーダ331、アクセス権獲得部332、アクセス制御部333を有している。
アドレスデコーダ331は、マスタインタフェースポートm(以下ポートmと称す)のアクセスアドレスをデコードし、アクセス対象が既存バス調停部302、メモリバンク0 310a〜メモリバンクn 310nのうちのどれかに該当しているかを判定し、その判定結果をアクセス権獲得部332へ通知する。アクセス権獲得部332は、アドレスデコーダ331のデコード結果に基づき該当する調停部303a、313a、3n3aに対してメモリアクセスリクエストを行う。
アクセス制御部333は、自身のポートmに入力されたアクセス信号(アドレスやリード、ライトの種別など)を各アクセス選択部303b、313b、3n3bへ出力する。
メモリアクセス制御部313は、調停部313a、アクセス受付部313cを有している。調停部313aは、アクセス権獲得部305bからのメモリアクセスリクエスト、バスマスタインタフェース320〜330からのメモリアクセスリクエストに対して調停を行う。アクセス受付部313cは、アクセス選択部313bから入力されたアクセス信号の内容に基づき、自身に接続されているメモリバンク0 310aへのリード・ライトを行う。
メモリアクセス制御部3n3は、調停部3n3a、アクセス受付部3n3cを有している。調停部3n3aは、アクセス権獲得部305bからのメモリアクセスリクエスト、バスマスタインタフェース320〜330からのメモリアクセスリクエストに対して調停を行う。アクセス受付部3n3cは、アクセス選択部3n3bから入力されたアクセス信号の内容に基づき、自身に接続されているメモリバンク1 310nへのリード・ライトを行う。
既存バスアクセス制御部303は、上記メモリアクセス制御部313…3n3と同様に調停部303a、アクセス受付部303bを有している。この既存バスアクセス制御部303と既存バスインタフェース305が既存バス400側と内部のメモリバンク側とのバスブリッジとしての役目を担う。
調停部303aは、既存バス調停部302からのメモリアクセスリクエスト、バスマスタインタフェース320〜330からのメモリアクセスリクエストに対して調停を行う。調停部303aには、バスマスタインタフェース320〜バスマスタインタフェース330内のアクセス権獲得部322〜332から出力されたリクエスト信号が入力される。アクセス受付部303bは、アクセス選択部303bから入力されたアクセス信号の内容に基づき、接続されている既存バス調停部302へ調停をリクエストする。
上記各調停部303a,313a、3n3aは、バスマスタインタフェース320〜バスマスタインタフェース330、既存バスインタフェース305からのメモリアクセスリクエストが入力された場合、そのうちの一つのバスマスタインタフェースを選択して、選択したインタフェースのグラント信号(アクセス許可信号)をアサートする。
アクセス選択部303bには、各バスマスタインタフェースのアクセス制御部305c、323、333から出力されるアクセス信号(アドレスやリード、ライトの種別など)が入力される。アクセス選択部303bは、調停部303aが選択、つまりグラント信号を出力したポートのアクセス信号を選択し、アクセス受付部303cへ出力(入力)する。アクセス受付部303cは、アクセス選択部303bから入力されたアクセス信号の内容に基づき、接続されている既存バス調停部302へのリクエストを行う。
既存バスインタフェース305は、アドレスデコーダ305a、アクセス権獲得部305b、アクセス制御部305cを有している。アドレスデコーダ305aは、既存バス400からのインタフェースポートAのアクセスアドレスをデコードし、アクセス対象がメモリバンク0 310a〜n 310nのうちのどれかに該当しているかを判定し、その判定結果をアクセス権獲得部305bへ通知する。アクセス権獲得部305bは、アドレスデコーダ305aのデコード結果に基づき該当する調停部313a、3n3aに対してメモリアクセスリクエストを行う。アクセス制御部305cは、自身のインタフェースポートAに入力されたアクセス信号(アドレスやリード、ライトの種別など)をアクセス選択部313b、3n3bへ出力する。
すなわち、このMEMC430は、メモリバンク0 310aと同じ構成のメモリバンクがn個設けられており、それぞれ独立して上記動作を行うことにより、n個のメモリバンク0〜nと既存の外部メモリ(SDRAM等)への同時アクセスを実現するものである。
ここで、図3を参照して図2のMEMC430の動作を説明する。
アクセス開始信号がアサートされると(S101)、MEMC430内部では、バンクアクセスリクエストを発行し(S102)、アクセス先のメモリバンクでバンクの使用権を獲得し(S103)、メモリアクセスを行い(S104)、メモリへのアクセスが完了した時点で(S105)、マスタインタフェース上に、アクセス受け付け通知を出力する(S106)ようになっている。
アクセス開始信号がアサートされると(S101)、MEMC430内部では、バンクアクセスリクエストを発行し(S102)、アクセス先のメモリバンクでバンクの使用権を獲得し(S103)、メモリアクセスを行い(S104)、メモリへのアクセスが完了した時点で(S105)、マスタインタフェース上に、アクセス受け付け通知を出力する(S106)ようになっている。
つまり、バスマスタ0 420a, バスマスタ1 420b,バスマスタm 420mから見ると、アクセス受け付け通知(S106)を待っている間に、MEMC430内部で、アクセス先バンクの調停(S102、S103)とメモリアクセス(S104)を行っていることになる。
続いて、MEMC430におけるリクエストの調停動作を説明する。
MEMC430の少なくとも一つのバスマスタインタフェースポート0,mにメモリアクセスリクエストがあったときに、各バスマスタインタフェース320,330は、既存バス400へアクセスするマスタを一つ選択し、バスアクセス制御部303の調停部303aへメモリアクセスリクエストを出力する。
MEMC430の少なくとも一つのバスマスタインタフェースポート0,mにメモリアクセスリクエストがあったときに、各バスマスタインタフェース320,330は、既存バス400へアクセスするマスタを一つ選択し、バスアクセス制御部303の調停部303aへメモリアクセスリクエストを出力する。
バスアクセス制御部303では、各バスマスタインタフェース320,330からのメモリアクセスリクエストを調停部303aが受け取ると、既存バス調停部302に調停を依頼するリクエストを発行する。
既存バス調停部302には、既存バス400上のバスマスタ301a〜301kおよび、上述の既存バスアクセス制御部303からのリクエスト信号が入力されるので、既存バス調停部302は、これら多数のリクエストの調停を行った結果、アクセスを許可するメモリアクセスリクエストがあったバスへグラント信号を発行する。
ここで、複数のバスマスタ301a〜301kから同時にメモリアクセスリクエストがあった場合には、既存バス調停部302は、その中から一つのマスタ(図1のバスマスタ420a〜420mのいずれか)を選択して、該当バスマスタを指示するグラント信号を既存バスアクセス制御部303へ発行する。
ここで、複数のバスマスタ301a〜301kから同時にメモリアクセスリクエストがあった場合には、既存バス調停部302は、その中から一つのマスタ(図1のバスマスタ420a〜420mのいずれか)を選択して、該当バスマスタを指示するグラント信号を既存バスアクセス制御部303へ発行する。
今、既存バス調停部302が、既存バスアクセス制御部303に対してグラント信号を発行したものとする。
すると、既存バスアクセス制御部303内のアクセス選択部303bは、入力されているアクセス内容から選択されたポートのアクセス信号を選択して、既存バス400へのアクセスを行う。
すると、既存バスアクセス制御部303内のアクセス選択部303bは、入力されているアクセス内容から選択されたポートのアクセス信号を選択して、既存バス400へのアクセスを行う。
次に、既存バス400からMEMC430へのアクセスが行われた場合の動作について説明する。
例えば既存バス400上のバスマスタ301aからMEMC430へのアクセスが行われたものとする。
例えば既存バス400上のバスマスタ301aからMEMC430へのアクセスが行われたものとする。
すると、既存バス400からのアクセス用インタフェース305内のアドレスデコーダ305aがデコードを行い、例えばメモリバンクn 310nへのアクセスであると判定する。
アクセス権獲得部305bは、メモリバンクn 310nへの調停部3n3aへリクエスト信号を発行する。調停部3n3aは、入力されたリクエストの中から一つを選択して、アクセス許可信号であるグラント信号を出力する。これにより使用権が獲得されると、アクセス権獲得部305bは、アクセス開始信号をアサートする。
アクセス権獲得部305bは、メモリバンクn 310nへの調停部3n3aへリクエスト信号を発行する。調停部3n3aは、入力されたリクエストの中から一つを選択して、アクセス許可信号であるグラント信号を出力する。これにより使用権が獲得されると、アクセス権獲得部305bは、アクセス開始信号をアサートする。
一方、アクセス制御部305cは、バンクアクセスリクエストをアクセス選択部3n3bへ送り、使用権を獲得された場合、メモリバンクn 310nへのアクセスを行う。その後、アクセス受け付け通知がバスマスタ301aへ出力される。
既存バスアクセスインタフェース305は、プロトコルの互換性により、専用バスのバスマスタインタフェース320と同一の回路を使用することができるため、この動作は、バスマスタインタフェースポート0、1などからメモリバンク0 310a,メモリバンク1 310nへのアクセスと同じ動作となる。
一般にバスブリッジは、異なるバス間のプロトコルを変換し、タイミングも合わせるため複雑な構造になる。
しかし、この実施形態のバスブリッジ構造を備えたMEMC430では、既存バス400のプロトコルで動作するバスと、既存プロトコルと互換性のあるプロトコルで動作するメモリコントローラ間をブリッジする既存バスアクセス制御部303を備えているので、プロトコルの変換がほぼ必要なく、簡単で小さな回路構成で、バスブリッジを実現できる。
この第1実施形態の計算機システムにおいて、既存バス400は、同時に一つのバスマスタ(0 420a, バスマスタ1 420b, バスマスタm 420mの中の一つ)だけが使用できるようになっている。既存バス400に接続されたバスマスタ0 420a, バスマスタ1 420b, バスマスタm 420mは、調停部409にリクエスト信号を出力する。調停部409は、入力されたリクエスト信号のうち、同時には一つのバスマスタだけを選択して、選択したバスマスタにグラント信号をアサート、つまり出力する。グラント信号を獲得したバスマスタだけがバスにアクセスする。
一方、MEMC430は、複数のバスマスタ0 420a, バスマスタ1 420b, バスマスタm 420mから複数のメモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410nに対して、同時にアクセスすることができるバススイッチ構成をとっている。
MEMC430のポートA,ポート0,ポートmには、バスマスタ0 420a, バスマスタ1 420b, バスマスタm 420mが接続されている。MEMC430のメモリバンクポートには、メモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410nが接続されている。MEMC430は、図2に示したように構成されており、アクセス先が競合しないかぎり、同時にアクセス可能である。アクセス先が競合した場合には、それぞれの出力ポートにあるアービタ(調停部303a,313a,3n3a等)にて調停される。
このMEMC430では、例えば、バスマスタ1 420bからメモリバンク1 410b、バスマスタm 420mからメモリバンクn 410nへのアクセスに加えて、バスマスタ0 420aから、既存バス出力ポート430a,既存バス400,SDRAMC403を経てSDRAM404aへアクセスする3つアクセスを同時に行うことができる(図1のアクセス経路O、P、Q)。
既存バス400上では、同時には一つのアクセスしか行えないが、先のSDRAM404aへのアクセスの代わりに、CPU401から既存バス400,既存バス入力ポート430bを介してメモリバンク410aへのアクセスを行えば、メモリバンク0,1,nへの3つのアクセスが同時に行えることになる(図1のアクセス経路R)。
既存バス400上では、同時には一つのアクセスしか行えないが、先のSDRAM404aへのアクセスの代わりに、CPU401から既存バス400,既存バス入力ポート430bを介してメモリバンク410aへのアクセスを行えば、メモリバンク0,1,nへの3つのアクセスが同時に行えることになる(図1のアクセス経路R)。
この第1実施形態の計算機システムによれば、既存のプロトコルを少しだけ変更することで、複数のバスマスタ0 420a,バスマスタ1 420b,バスマスタm 420mから平行して内部と外部の複数のアクセス先(内蔵のメモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410nと外部の一つのアクセス先、例えばSDRAM404a、CPU401のいずれか)に同時にアクセスするプロトコルを実現できる。また、既存のプロトコルとの差がほとんどないため、既存のバスマスタ回路の大部分を流用したバスブリッジの設計が可能になる。
つまり、既存のバスプロトコルとの互換性が保たれているので、MEMC430に内蔵されたバスマスタ0 420a,バスマスタ1 420b,バスマスタm 420mから、既存バス400へアクセスするためのバスブリッジについても簡単な回路で実現できる。
また、既存のバスプロトコルの使い方を若干変更することで、同時アクセスが可能なメモリコントローラを容易にかつ簡素な構成で実現できる。
さらに、既存のプロトコルと互換性があるので、MEMC430のバスマスタインタフェースに接続されたバスマスタから、既存バス400へアクセスを行い、または既存バスに接続されたバスマスタ301a、301b…301kから内部メモリにアクセスするためのバスブリッジを簡単で小さな回路で構成することができる。
つまり、既存のバスプロトコルとの互換性が保たれているので、MEMC430に内蔵されたバスマスタ0 420a,バスマスタ1 420b,バスマスタm 420mから、既存バス400へアクセスするためのバスブリッジについても簡単な回路で実現できる。
また、既存のバスプロトコルの使い方を若干変更することで、同時アクセスが可能なメモリコントローラを容易にかつ簡素な構成で実現できる。
さらに、既存のプロトコルと互換性があるので、MEMC430のバスマスタインタフェースに接続されたバスマスタから、既存バス400へアクセスを行い、または既存バスに接続されたバスマスタ301a、301b…301kから内部メモリにアクセスするためのバスブリッジを簡単で小さな回路で構成することができる。
次に、本発明に係る第2実施形態のデータ処理システムについて説明する。
上記第1実施形態では、MEMC430以外は、汎用的な計算機システムの構成で説明したが、このMEMC430を映像や音声等のAVデータを処理するデータ処理システムへ適用する例が考えられる。以下、このようなデータ処理システムにMEMC430を適用した第2実施形態について説明する。なお、上記第1実施形態と同様の構成には同一の符号を付し、その説明は省略する。
データ処理システムに、MEMC430を適用することで、映像データや音声データなどのQoSが重要なデータを処理するシステムを構築できる。従来のバス接続形の計算機システムでは、単一バスなので、オペレーティングシステム(以下OSと称す)などが計算機処理をしている間は、映像データなどのQoSデータを処理することができない。
そこで、QoSデータを処理するコントローラを既存バス400上ではなく、MEMC430に接続することにより、QoSを維持した処理が容易になる。
上記第1実施形態では、MEMC430以外は、汎用的な計算機システムの構成で説明したが、このMEMC430を映像や音声等のAVデータを処理するデータ処理システムへ適用する例が考えられる。以下、このようなデータ処理システムにMEMC430を適用した第2実施形態について説明する。なお、上記第1実施形態と同様の構成には同一の符号を付し、その説明は省略する。
データ処理システムに、MEMC430を適用することで、映像データや音声データなどのQoSが重要なデータを処理するシステムを構築できる。従来のバス接続形の計算機システムでは、単一バスなので、オペレーティングシステム(以下OSと称す)などが計算機処理をしている間は、映像データなどのQoSデータを処理することができない。
そこで、QoSデータを処理するコントローラを既存バス400上ではなく、MEMC430に接続することにより、QoSを維持した処理が容易になる。
図4に示すように、この第2実施形態では、図1に示した回路構成のうち、をLSI1としてパッケージングしている。また、図1でMEMC430に接続したバスマスタ0 420a, バスマスタ1 420b, バスマスタm 420mを、例えば映像入出力コントローラ(以下AVI/F620aと称す)、映像処理コントローラ(以下SEC620bと称す)、映像通信用コントローラ(以下LANC620mと称す)などに置き換えている。MEMC430に接続されたAVI/F620a,SEC620b,LANC620mは、それぞれ専用のインタフェースで接続されている。AVI/F620a,SEC620b,LANC620mは、CPU401からCnt.Reg406を介して制御されることで、同一の内蔵SRAMバンクにアクセスしない限り、平行してメモリアクセスが可能である。
AVI/F620aには、DVDレコーダ、DVDプレーヤ等のAV機器660を接続し、画像や音声などのAVデータを入力する。このAVI/F620aは、例えばMPEGインタフェースとして構成される。AV機器660から入力されるAVデータは、時間的なばらつきが非常に小さいので、伝送の時間的なばらつきを吸収するバッファが小さく済む。このため、バッファを内蔵SRAM、つまりメモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410nで賄うことが可能である。
LANC620mには、有線LANインタフェースや無線LANインタフェース等のLAN機器670を接続する。SEC620bは、AVデータの暗号化や著作権保護のための処理を行う。
AVI/F620aには、DMAコントローラが内蔵されており、AV機器より入力されたAVデータをメモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410nに転送し蓄積する。SEC620bは、そのメモリバンクに蓄積されたAVデータを暗号化、著作権保護のための処理を行う処理を実行する。
つまり、AVI/F620aは、AV機器660より入力されたAVデータをメモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410nのうちのいずれかに読み込み、SEC620bがデータ処理を行った上で、他のメモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410nのうちのいずれかに書き込む。
このようにすることで、MEMC430内のいずれかのメモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410nには、ネットワークに送出可能なAVデータが格納されている状態となる。LANC620mが、DMAにより、AVデータをメモリバンクより読み出し、LAN機器670を通じてLSI1の外部、つまりネットワークへ送出する。
LANC620mには、有線LANインタフェースや無線LANインタフェース等のLAN機器670を接続する。SEC620bは、AVデータの暗号化や著作権保護のための処理を行う。
AVI/F620aには、DMAコントローラが内蔵されており、AV機器より入力されたAVデータをメモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410nに転送し蓄積する。SEC620bは、そのメモリバンクに蓄積されたAVデータを暗号化、著作権保護のための処理を行う処理を実行する。
つまり、AVI/F620aは、AV機器660より入力されたAVデータをメモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410nのうちのいずれかに読み込み、SEC620bがデータ処理を行った上で、他のメモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410nのうちのいずれかに書き込む。
このようにすることで、MEMC430内のいずれかのメモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410nには、ネットワークに送出可能なAVデータが格納されている状態となる。LANC620mが、DMAにより、AVデータをメモリバンクより読み出し、LAN機器670を通じてLSI1の外部、つまりネットワークへ送出する。
この第2実施形態のシステム構成では、LSI1に内蔵されたメモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410n上に蓄積されるデータは、並列アクセスが可能なため、時間の管理がし易く、AVデータなどを時間的な乱れがなく伝送する性能(以下QoS性能と称す)に優れる。
一般的に、CPUを内蔵するLSIにはメモリが内蔵されている。LSIに内蔵されるメモリ(以下内部メモリと称す)は、LSIの外部に接続するメモリに比べてアクセス速度が速い反面、LSIというパッケージ上の制約のため大きな容量を搭載することが難しい。LSIに内蔵するメモリは、たとえば数百KBから数MB程度しか実装できない。
一方、LSI外部に接続するSDRAM404a等の外部メモリは、内蔵メモリに比べて、大容量(数百MB以上)にできるという利点がある。外部メモリは、既存バス400に接続されており、並列アクセスはできずQoS性能はそれほど高くないものの、アドレス、データ信号を共有できるため、LSIのピン数が少なくて済むという利点もある。
このようなシステム上(メモリ)の制約を踏まえた上で、この第2実施形態のデータ処理システムは、内部メモリと外部メモリとの利点を生かし、システム性能を向上することができる。
このようにこの第2実施形態のデータ処理システムによれば、AVI/F620aからMEMC430に入力された映像データを例えばメモリバンクn 410nに蓄積して処理し、LANC620mを通じてネットワークへ送出したり、その逆を行うことができる(図4の経路S)。
また、汎用的な計算機システムではなく、AVデータの処理に特化したシステム構成をとることで、QoSを保証したデータ処理システムの構築が可能になる。
続いて、図5を参照して第3実施形態について説明する。この第3実施形態は、第2実施形態をさらに変形した応用例である。
図5に示すように、LSI1のPC用インタフェースであるPCIC402にコンピュータシステム640を接続する。PCIC402は、例えばPCIバスインタフェースとして構成される。
図5に示すように、LSI1のPC用インタフェースであるPCIC402にコンピュータシステム640を接続する。PCIC402は、例えばPCIバスインタフェースとして構成される。
コンピュータシステム640は、インターネット650に接続されている。コンピュータシステム640は、インターネット650を経由してAVデータを読み込みPCIC402へ入力することが可能である。
また、コンピュータシステム640は、記憶装置641を備えている。記憶装置641には、AVデータが蓄積されている。
一般にコンピュータ上では、1回のデータ転送が非常に高速で行われる反面、次のデータ転送までの時間的なばらつきが大きい。また、少量のデータを時間的な乱れがなく、定期的に行うと、全体としての効率が落ちるという問題もある。このため、PCIC402からは、1回の転送で多量のデータをバッファリングすることが望ましい。
また、コンピュータシステム640は、記憶装置641を備えている。記憶装置641には、AVデータが蓄積されている。
一般にコンピュータ上では、1回のデータ転送が非常に高速で行われる反面、次のデータ転送までの時間的なばらつきが大きい。また、少量のデータを時間的な乱れがなく、定期的に行うと、全体としての効率が落ちるという問題もある。このため、PCIC402からは、1回の転送で多量のデータをバッファリングすることが望ましい。
そこで、本構成のLSI1では、PCIC402から入力されたAVデータは、一旦、容量の大きな外部メモリ、例えばSDRAM404a等に蓄積する。
続いて、DMAC405がSDRAM404a上のデータを小分けにして、LSI1に内蔵されたメモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410nのいずれかにバッファリングする。
続いて、DMAC405がSDRAM404a上のデータを小分けにして、LSI1に内蔵されたメモリバンク0 410a, メモリバンク1 410b,…メモリバンクn 410nのいずれかにバッファリングする。
この後、上記第2実施形態と同様に、AVI/F620aが該当メモリバンクからAVデータを読み出して暗号化、著作権保護のための処理を行う処理を実行し、メモリバンク蓄積した後、LANC620mが、該当メモリバンクの処理済みデータを読み出してLAN機器670を介してネットワークへ送出する(図5の経路T)。
次に、図6を参照して、上記LSI1を用いたシステムの例について説明する。
図6(a)は、DVDプレーヤ等のAV機器701と、モニタ画面およびスピーカ704の間の接続を無線LAN等で一対一通信を行う送受信システムとした場合の適用例を示す図である。
図6(a)は、DVDプレーヤ等のAV機器701と、モニタ画面およびスピーカ704の間の接続を無線LAN等で一対一通信を行う送受信システムとした場合の適用例を示す図である。
図6(a)に示すように、この送受信システムは、AV機器701と送信モジュール702とからなる送信側機器と、受信モジュール703とモニタ画面およびスピーカ704戸からなる受信側機器とを一対一で接続して構成されている。
AV機器701には、上記図5に示した構成のLSI1を搭載した送信モジュール702を接続する。送信モジュール702は、AVデータを送信するモジュールである。
AV機器701には、上記図5に示した構成のLSI1を搭載した送信モジュール702を接続する。送信モジュール702は、AVデータを送信するモジュールである。
一方、モニタ画面およびスピーカ704には、上記LSI1を搭載した受信モジュール703を接続する。受信モジュール703は、受信モジュールでは、LANC620mで受信して、AVインタフェースからMPEGデータなどのAVデータを出力する。出力されたAVデータをモニタ画面およびスピーカ704に表示、音声出力する。なお、ここでは、AV機器701、モニタ画面およびスピーカ704ともにMPEGインタフェースボードなどのデジタルインタフェースを持つものとする。アナログ信号のAV機器を接続する場合には、送信モジュールとの間にMPEGエンコーダを接続し、アナログ信号のモニタを接続する場合には、受信モジュールとの間にMPEGデコーダを接続することでシステムを構築できる。
図6(b)は、ホームネットワークの構成例を示す図である。
この場合、図6(b)に示すように、AV機器701やAVデータを蓄積する記憶装置641を接続したコンピュータシステム640を送信モジュール702に接続してAVデータサーバ705として構成する一方、ネットワーク706を介した受信側には、受信モジュール703とモニタ画面およびスピーカ704を備えた端末710を複数配置する。端末710は、AVデータを受信して再生(画像の表示や、音声の出力)を行うものである。これら複数の端末710とAVデータサーバ705とでホームネットワークを構成する。
このホームネットワークの例では、家庭内のある一つの場所に配置したAVデータサーバ705に集積したAVデータを、無線LANや他の通信手段を介して、家庭内の複数の端末710で視聴することができる。
この場合、図6(b)に示すように、AV機器701やAVデータを蓄積する記憶装置641を接続したコンピュータシステム640を送信モジュール702に接続してAVデータサーバ705として構成する一方、ネットワーク706を介した受信側には、受信モジュール703とモニタ画面およびスピーカ704を備えた端末710を複数配置する。端末710は、AVデータを受信して再生(画像の表示や、音声の出力)を行うものである。これら複数の端末710とAVデータサーバ705とでホームネットワークを構成する。
このホームネットワークの例では、家庭内のある一つの場所に配置したAVデータサーバ705に集積したAVデータを、無線LANや他の通信手段を介して、家庭内の複数の端末710で視聴することができる。
次に、図7を参照して上記図2に示したMEMC430の調停部(アービタ)の具体的な構成について説明する。
図7に示すように、この例のアービタは、第1の調停部としての高優先度アービタ503aと、このアービタ503aよりも低い優先度の第2の調停部としての低優先度アービタ503bと、アービタ入力選択部502と、アービタ出力選択部505とから構成されている。高優先度アービタ503aは入力ポートとこれに対応する出力ポートを複数備えており、入力信号に対してポートを順に切り替えて出力する。
高優先度アービタ503aは、高優先度のアービタであり、アービタ503bは、アービタ503aよりも低い優先度とされたアービタである。
これら2つのアービタ503a,503bは、例えばラウンドロビンなど、通常のアービタの構成を使用する。アービタ選択レジスタ501には、バスマスタインタフェース毎にどちらのアービタを使用するかをソフトウェアにより設定する。アービタ入力選択部502は、アービタ選択レジスタ501の設定内容に応じて各バスマスタからのリクエスト信号を高優先度アービタ503a、低優先度アービタ503bのどちらかのアービタの対応するインタフェース用のポートに接続する。
図7に示すように、この例のアービタは、第1の調停部としての高優先度アービタ503aと、このアービタ503aよりも低い優先度の第2の調停部としての低優先度アービタ503bと、アービタ入力選択部502と、アービタ出力選択部505とから構成されている。高優先度アービタ503aは入力ポートとこれに対応する出力ポートを複数備えており、入力信号に対してポートを順に切り替えて出力する。
高優先度アービタ503aは、高優先度のアービタであり、アービタ503bは、アービタ503aよりも低い優先度とされたアービタである。
これら2つのアービタ503a,503bは、例えばラウンドロビンなど、通常のアービタの構成を使用する。アービタ選択レジスタ501には、バスマスタインタフェース毎にどちらのアービタを使用するかをソフトウェアにより設定する。アービタ入力選択部502は、アービタ選択レジスタ501の設定内容に応じて各バスマスタからのリクエスト信号を高優先度アービタ503a、低優先度アービタ503bのどちらかのアービタの対応するインタフェース用のポートに接続する。
すなわち、このアービタの高優先度アービタ503aは、複数設けられた入力ポートにそれぞれ入力されたアクセス要求信号を所定の優先度に従って選択して出力ポートからアサート信号を出力する。また、低優先度アービタ503bは、アービタ503aとほぼ同様の入力ポートおよび出力ポートが設けられ、アービタ503aの入力ポートに、自身の出力ポートからのアサート信号を送出するよう接続されている。
例えば、マスタインタフェース0がアービタ503aを選択した場合には、そのリクエストをアービタ503aのリクエストポート0へ接続し、マスタインタフェース1がアービタ503bを選択した場合には、そのリクエスト信号をアービタ503bのリクエストポート1に接続する。
高優先度アービタ503aに接続されたリクエストに対してグラント信号がアービタ出力選択部505に入力されると、アービタ出力選択部505は、グラント信号を無条件に出力する。
これに対して、低優先度アービタ503bを選択したバスマスタのリクエストは、低優先度アービタ503bのリクエストポートに接続されると同時に、低優先度アービタ503bへのすべてのリクエスト信号を1本にまとめたリクエスト信号が高優先度アービタ503aの一つのリクエストポートへ出力される(この例では、ポート6が該当する)。この構成により、低優先度アービタ503bがグラント信号を出力しただけでは、アービタ全体としてのグラント信号は出力されず、高優先度アービタ503aがポート6にグラントを出力したときだけ有効となる。
これに対して、低優先度アービタ503bを選択したバスマスタのリクエストは、低優先度アービタ503bのリクエストポートに接続されると同時に、低優先度アービタ503bへのすべてのリクエスト信号を1本にまとめたリクエスト信号が高優先度アービタ503aの一つのリクエストポートへ出力される(この例では、ポート6が該当する)。この構成により、低優先度アービタ503bがグラント信号を出力しただけでは、アービタ全体としてのグラント信号は出力されず、高優先度アービタ503aがポート6にグラントを出力したときだけ有効となる。
つまり、低優先度アービタ503bから出力される複数のグラント信号は、高優先度アービタ503aから出力される一ポート分のグラント信号を分け合う形となる。
例えばアービタ入力選択部502に設けられている0から5の6つのポートのうち、ポート0からポート2が高優先度アービタ503a,ポート3−5が低優先度アービタ503bを選択し、高優先度アービタ503aと低優先度アービタ503bがそれぞれラウンドロビン動作をする場合、グラントを獲得するシーケンスは以下のようになる。
0->1->2->3->0->1->2->4->0->1->2->5->0->1->2->3…
例えばアービタ入力選択部502に設けられている0から5の6つのポートのうち、ポート0からポート2が高優先度アービタ503a,ポート3−5が低優先度アービタ503bを選択し、高優先度アービタ503aと低優先度アービタ503bがそれぞれラウンドロビン動作をする場合、グラントを獲得するシーケンスは以下のようになる。
0->1->2->3->0->1->2->4->0->1->2->5->0->1->2->3…
この例では、ポート0から2は4回に一回選択され、ポート3−5は、12回に一回選択されることになる。これらの優先度は、高優先度アービタ503aと低優先度アービタ503bの選択の仕方、つまりアービタ選択レジスタ501の設定の仕方によって可変できる。
このように、複数のアービタ(高優先度アービタ503aと低優先度アービタ503b)の優先度を変えてソフトウェアで設定することにより、処理するデータに合わせた優先度管理が可能になる。
すなわち、このアービタでは、MEMC430に内蔵されるアービタを二重化し、入力ポートごとに優先度を選択可能にすることで、処理するデータの種類に応じて優先度を付けたアービトレーションを容易に実現することができる。
すなわち、このアービタでは、MEMC430に内蔵されるアービタを二重化し、入力ポートごとに優先度を選択可能にすることで、処理するデータの種類に応じて優先度を付けたアービトレーションを容易に実現することができる。
1…LSI、301a,301b,301k…バスマスタ0〜k、302…既存バス、303…既存バスアクセス制御部、303a…調停部、303b…アクセス選択部、303c…アクセス受付部、3n3a…調停部、3n3b…アクセス選択部、3n3c…アクセス受付部、3n3…メモリアクセス制御部、305…既存バスアクセスインタフェース、305a…アドレスデコーダ、305b…アクセス権獲得部、305c…アクセス制御部、310a〜310n…メモリバンク0〜n、313a…調停部、313c…アクセス受付部、313b…アクセス選択部、313…メモリアクセス制御部、313,3n3…メモリアクセス制御部、320,330…バスマスタインタフェース0〜m、321…アドレスデコーダ、322…アクセス権獲得部、323…アクセス制御部、330…バスマスタインタフェース、331…アドレスデコーダ、332…アクセス権獲得部、333…アクセス制御部、400…既存バス、401…CPU,402…PC用インタフェース(PCIC)、403…SDRAMコントローラ(SDRAMC)、404a…SDRAM、406…制御レジスタインタフェース(Cnt.Regs)、408…外部バスコントローラ(EBUSC)、409…調停部、410,410b,410n…メモリバンク(Bank)0〜n、420a,420b,420n…バスマスタインタフェース0〜m、430…メモリコントローラ(MEMC)、430a…出力ポート、430b…入力ポート、501…アービタ選択レジスタ、502…アービタ入力選択部、503a…高優先度アービタ、503b…低優先度アービタ、505…アービタ出力選択部、620a…AV用インタフェース(AVI/F)、620b…AVデータ処理コントローラ(SEC)、620m…ネットワークコントローラ(LANC)、640…コンピュータシステム、641…記憶装置、650…インターネット、670…LAN機器、701…AV機器、702…送信モジュール、703…受信モジュール、704…モニタ画面およびスピーカ、705…データサーバ、706…ネットワーク、710…端末。
Claims (6)
- 第1のメモリと、
前記第1のメモリにアクセス可能な第1バスに接続された第1バスマスタからのアクセス要求が入力される入力ポートを有する第1バスインタフェースと、
同時アクセスを一つ行う第2バス上の第2バスマスタからのアクセス要求が入力される入力ポートを有する第2バスインタフェースと、
前記第2バスインタフェースの入力ポートに入力される前記第2バス上の第2バスマスタからのアクセス要求と前記第1バスインタフェースの入力ポートに入力される第1バスマスタからのアクセス要求との調停を行い、前記第1のメモリ、前記第2バス上の第2バスマスタ、および第2バスマスタに接続された第2のメモリに対するアクセス制御を行うアクセス制御手段と
を具備したことを特徴とするメモリコントローラ。 - 請求項1記載のメモリコントローラにおいて、
前記アクセス制御手段は、
入力ポートに入力されたアクセス要求よりアクセス先のアドレスをデコードするデコード手段と、
前記でコード手段によりデコードされたアクセス先のアドレスからアクセス先を判定して、該当アクセス先へリクエストを行うアクセス権獲得手段と、
アクセス先に対応して設けられ、リクエストを受信してその中から一つを選択してアクセスを許可する調停手段と、
前記調停手段によりアクセスが許可されたアクセス先に対するアクセスを行うアクセス制御手段と
を具備したことをと特徴とするメモリコントローラ。 - 請求項2記載のメモリコントローラにおいて、
前記調停手段は、
複数設けられた入力ポートにそれぞれ入力されたアクセス要求信号を所定の優先度に従って選択して出力ポートからアサート信号を出力する第1の調停部と、
前記第1の調停部とほぼ同様に構成され、前記第1の調停部の入力ポートに、自身の出力ポートからのアサート信号を送出するよう接続された第2の調停部と
を具備したことを特徴とするメモリコントローラ。 - 第1のメモリと、
第1のメモリにアクセス可能な第1バスと、
前記第1バスに接続された第1バスマスタと、
同時アクセスを一つ行う第2バスと、
前記第2バスに接続された第2バスマスタと、
前記第1バスマスタからのアクセス要求が入力される第1入力ポートを有する第1バスマスタインタフェースと、前記第2バスマスタからのアクセス要求が入力される第2入力ポートを有する第2バスインタフェースと、前記第1バスマスタから第1バスを通じて第1入力ポートに入力されるアクセス要求と前記第2バスマスタから第2バスを通じて前記第2入力ポートに入力されるアクセス要求との調停を行い、前記第1のメモリ、前記第2バス上の第2バスマスタ、および前記第2バスマスタに接続された第2のメモリに対するアクセス制御を行うアクセス制御手段とを有するメモリコントローラと
を具備したことを特徴とする情報処理装置。 - 請求項4記載の情報処理装置において、
前記メモリコントローラは、
第1入力ポートおよび第2入力ポート毎にアクセス制御手段を備え、
各アクセス制御手段は、
自身の入力ポートに入力されたアクセス要求よりアクセス先のアドレスをデコードするデコード手段と、
前記でコード手段によりデコードされたアクセス先のアドレスからアクセス先を判定して、該当アクセス先へリクエストを行うアクセス権獲得手段と、
アクセス先に対応して設けられ、リクエストを受信してその中から一つを選択してアクセスを許可する調停手段と、
前記調停手段によりアクセスが許可されたアクセス先に対するアクセスを行うアクセス制御手段と
を具備したことをと特徴とする情報処理装置。 - 請求項5記載の情報処理装置において、
前記調停手段は、
複数設けられた入力ポートにそれぞれ入力されたアクセス要求信号を所定の優先度に従って選択して出力ポートからアサート信号を出力する第1の調停部と、
前記第1の調停部とほぼ同様に構成され、前記第1の調停部の入力ポートに、自身の出力ポートからのアサート信号を送出するよう接続された第2の調停部と
を具備したことを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004162620A JP2005346211A (ja) | 2004-05-31 | 2004-05-31 | メモリコントローラおよび該メモリコントローラを使用した情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004162620A JP2005346211A (ja) | 2004-05-31 | 2004-05-31 | メモリコントローラおよび該メモリコントローラを使用した情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005346211A true JP2005346211A (ja) | 2005-12-15 |
Family
ID=35498554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004162620A Pending JP2005346211A (ja) | 2004-05-31 | 2004-05-31 | メモリコントローラおよび該メモリコントローラを使用した情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005346211A (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6224347A (ja) * | 1985-07-24 | 1987-02-02 | Matsushita Electric Ind Co Ltd | バス制御装置 |
JP2004070862A (ja) * | 2002-08-09 | 2004-03-04 | Fujitsu Ltd | メモリ資源最適化支援方法、プログラム及び装置 |
-
2004
- 2004-05-31 JP JP2004162620A patent/JP2005346211A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6224347A (ja) * | 1985-07-24 | 1987-02-02 | Matsushita Electric Ind Co Ltd | バス制御装置 |
JP2004070862A (ja) * | 2002-08-09 | 2004-03-04 | Fujitsu Ltd | メモリ資源最適化支援方法、プログラム及び装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4737438B2 (ja) | 複数の処理ユニットでリソースを共有する情報処理装置 | |
US20050210221A1 (en) | Microcomputer and microcomputer system | |
TW200534102A (en) | A method and apparatus to manage memory access requests | |
CN105988968B (zh) | 半导体装置 | |
JP5578713B2 (ja) | 情報処理装置 | |
JP4198376B2 (ja) | バスシステム及びバスシステムを含む情報処理システム | |
US6567881B1 (en) | Method and apparatus for bridging a digital signal processor to a PCI bus | |
JP2004318340A (ja) | データ転送制御装置 | |
JP2007094649A (ja) | アクセス調停回路 | |
JP3532533B2 (ja) | アービタ及びそのアービタを採用したバスシステム | |
US20080195782A1 (en) | Bus system and control method thereof | |
US7006521B2 (en) | External bus arbitration technique for multicore DSP device | |
JP4260720B2 (ja) | バス制御装置 | |
JP2008544348A (ja) | メモリーコントローラ及びネットワークとメモリーの結合方法 | |
JP2005346211A (ja) | メモリコントローラおよび該メモリコントローラを使用した情報処理装置 | |
JPH09153009A (ja) | 階層構成バスのアービトレーション方法 | |
JP2006127423A (ja) | バス制御装置、調停装置、並びに、その方法及びプログラム | |
KR100813878B1 (ko) | 무중재 amba 버스 제어 장치 및 제어 방법과 이를이용한 amba 버스 인터페이스 시스템 | |
US11900146B2 (en) | Memory controller with separate transaction table for real time transactions | |
JP4249741B2 (ja) | バスシステム及びバスシステムを含む情報処理システム | |
CA2282166C (en) | Method and apparatus for bridging a digital signal processor to a pci bus | |
JP2007108858A (ja) | ピン共有装置およびピン共有方法 | |
JPH11175464A (ja) | 調停装置および方法 | |
JP3910165B2 (ja) | 高速プロセッサ | |
JP2003085125A (ja) | メモリ制御器及びメモリ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100803 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101207 |