JP2007220085A - プロセッサアーキテクチャ - Google Patents

プロセッサアーキテクチャ Download PDF

Info

Publication number
JP2007220085A
JP2007220085A JP2006340439A JP2006340439A JP2007220085A JP 2007220085 A JP2007220085 A JP 2007220085A JP 2006340439 A JP2006340439 A JP 2006340439A JP 2006340439 A JP2006340439 A JP 2006340439A JP 2007220085 A JP2007220085 A JP 2007220085A
Authority
JP
Japan
Prior art keywords
data
module
bus
processing system
hardware acceleration
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
JP2006340439A
Other languages
English (en)
Other versions
JP5302507B2 (ja
Inventor
Sehat Sutardja
スタージャ セハット
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.)
Marvell World Trade Ltd
Original Assignee
Marvell World Trade 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 Marvell World Trade Ltd filed Critical Marvell World Trade Ltd
Publication of JP2007220085A publication Critical patent/JP2007220085A/ja
Application granted granted Critical
Publication of JP5302507B2 publication Critical patent/JP5302507B2/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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)
  • Advance Control (AREA)

Abstract

【課題】処理システムの処理速度は、通信バスの速度、及び/又は帯域幅によって制限される。
【解決手段】処理システムは、N個のポートを有するマルチポートメモリモジュール、N個のデータ通信バス、及び、それぞれN個のデータ通信バスのうちの一つ上でN個のポートのうち一つのポートと通信するN個のハードウェア高速化モジュールを備える。N個のハードウェア高速モジュールのうち第1のハードウェア高速化モジュールは、第1の処理タスクをデータに対して実行し、当該データをマルチポートメモリモジュールへN個のデータ通信バスのうちの第1のデータ通信バス上で送信する。N個のハードウェア高速化モジュールのうち第2のハードウェア高速化モジュールは、データをマルチポートメモリモジュールからN個のデータ通信バスのうちの第2のデータ通信バス上で受信し、第2の処理タスクを当該データに対して実行する。
【選択図】図5

Description

関連出願の相互参照
[0001]本出願は、2006年8月14日に出願された米国特許仮出願第60/822,320号、2006年7月31日に出願された米国特許仮出願第60/820,871号、2006年5月8日に出願された米国特許仮出願第60/798,569号、及び2006年1月18日に出願された米国特許仮出願第60/759,868号の利益を主張するものであり、2005年12月20日に出願された米国特許仮出願第60/752,522号に関連するものである。また、上記出願の開示を、その全体を参照することによって本明細書に組み込む。
分野
[0002]本開示は、データ処理アーキテクチャに関するものであり、より詳細には処理用のマルチポートデータメモリアーキテクチャに関するものである。
背景
[0003]通常、データ処理は、タスクをソフトウェアとハードウェアの間で分割することによってなされる。例えば、あるタスクは、複雑ではあるが必ずしも計算量の多いものではない。従って、そのタスクをソフトウェアによって実行することで十分である。別のタスクは、より計算量の多いものである。従って、そのタスクをハードウェアで実行することが効果的である。並列処理が、計算量の多いタスクの処理を高速化するために使用されることがある。並列処理は、ビデオ処理、ゲーム、数学モデリング、ビデオ会議、及び/又は他のアプリケーションにおいて使用されることがある。
[0004]種々の中央処理ユニット(CPU)やハードウェア高速化モジュールは、通常、オンチップバスを介して互いに接続される。CPU及び/又はハードウェア高速化モジュールの間のデータ転送は、比較的大きな帯域幅を必要とする。バスの数、又はオンチップバスの帯域幅を増加すると、データ転送に利用可能な帯域幅が増加する。しかしながら、この手法は、通常、コスト効率が良くない。例えば、多数のビデオストリームを処理することが可能なマルチチャネルのビデオプロセッサは、大きな帯域幅を要件とする。
[0005]ここで図1を参照する。この図は、データ処理システムのアーキテクチャ10を示している。データ処理システム10は、プロセッサモジュール、例えば、CPU12と総称するCPU12−2及びCPU12−2、並びに、ハードウェア高速化モジュール14と総称するハードウェア高速モジュール14−1及びハードウェア高速化モジュール14−2を含んでいる。CPU12、ハードウェア高速化モジュール14、ダイナミックランダムアクセスメモリ(DRAM)モジュール20、及びDRAMコントローラ22は、通信バスを介して通信する。CPU12、ハードウェア高速化モジュール14、通信バス24、DRAMモジュール20、及び/又はDRAMコントローラ22は、印刷回路基板(PCB)上に設けられることがあり、又は、SOC(system on a chip)によって集積されることもある。CPU12、ハードウェア高速化モジュール14、及びDRAMコントローラ22は、通信バス24を介して、メモリモジュール28と通信する。処理システム10の処理性能は、通信バス24の能力によって制限される。換言すれば、処理速度は、通信バス24の速度、及び/又は帯域幅によって制限される。
概要
[0006]データ処理システムは、N個のポート有するマルチポートメモリモジュールとN個のデータ通信バスを備えている。N個のハードウェア高速化モジュールが、それぞれN個のデータ通信バスのうちの一つのバス上で、それぞれN個のポートのうちの一つのポートと通信する。N個のハードウェア高速化モジュールのうちの第1のハードウェア高速化モジュールは、第1の処理タスクをデータに対して実行して、当該データをマルチポートメモリモジュールへN個のデータ通信バスのうちの第1の通信データバス上で送信する。N個のハードウェア高速化モジュールのうちの第2のハードウェア高速化モジュールは、データをマルチポートメモリモジュールからN個のデータ通信バスのうちの第2のデータ通信バス上で受信して、第2の処理タスクを当該データに対して実行する。ここで、Nは1より大きい整数である。
[0007]本発明の他の特徴では、データは、ビデオデータ及び制御データのうちの少なくとも一つを含む。マルチポートメモリモジュールは、インターリービングを用いるマルチバンクメモリを含んでいてもよい。マルチポートメモリモジュールは、マルチポートデータ密結合メモリ(MP−DTCM)モジュールを含んでいてもよい。マルチポートメモリモジュールは、J個の追加のポート、及びJ個の追加のデータ通信バスを含んでいてもよい。J−A個のプロセッサモジュール、及びJ−B個のダイナミックランダムアクセスメモリ(DRAM)モジュールが、それぞれJ個のデータ通信バスのうちの一つのバス上で、マルチポートメモリモジュールと通信する。ここで、Jは、1より大きい整数であり、A及びBは1以上の整数であり、A+B=Jである。N個のデータ通信バスにおける第1のデータ通信バス及び第2のデータ通信バスのうちの少なくとも一つは、第1のデータ幅を有し、J個のデータ通信バスは第2のデータ幅を有する。第1のデータ幅は第2のデータ幅より少ないビット数を有する。第1のデータ幅は、8ビット及び16ビットのうちの少なくとも一つであり、第2のデータ幅は、32ビット、64ビット、及び128ビットのうちの少なくとも一つである。
[0008]本発明の更に別の特徴では、データ処理システムは、更に、少なくとも一つのプログラム可能なサイドバンドプロセッサモジュールを備えている。少なくとも一つのプログラム可能なサイドバンドプロセッサモジュールは、命令密結合メモリ(ITCM)モジュール、プロセッサコア、及びデータ密結合メモリ(DTCM)モジュールを備えている。DTCMモジュールは、マルチポートメモリモジュールと通信し、ダイレクトメモリアクセス(DMA)モジュールが、DTCMモジュールとメモリモジュール間のデータ転送を制御する。DTCMモジュールは、デュアルポート及びマルチバンクの少なくとも一方である。データ処理システムは、更に共用バスを備えている。共用バスは、第1のバス部及び第2のバス部を備えている。バスブリッジが、第1のバス部及び第2のバス部と通信する。N個のハードウェア高速化モジュールは、第1のバス部上において第1の速度で通信し、J−A個のプロセッサモジュール及びJ−B個のDRAMモジュールは、第2のバス部上において第2の速度で通信する。
[0009]本発明の更に別の特徴では、プログラム可能なサイドバンドプロセッサモジュールが、8ビットデータ及び16ビットの倍数のデータの少なくとも一つを処理する。プログラム可能なサイドバンドプロセッサモジュールは、単一命令複数データ(SIMD)プロセッサを含む。高精細テレビ(HDTV)が、上記のデータ処理システムを備える。
[0010]また、データ処理システムが、N+M個のポートを有するマルチポートメモリモジュール、及びN+M個のデータ通信バスを備える。N個のハードウェア高速化モジュールが、それぞれN個のデータ通信バスのうちの一つのバス上で、それぞれN個のポートのうちの一つポートと通信する。M個のプログラム可能なサイドバンドプロセッサモジュールが、それぞれM個のデータ通信バスのうちの一つのバス上で、それぞれM個のポートのうちの一つのポートと通信する。N個ハードウェア高速化モジュールのうちの一つは、第1の処理タスクをデータに対して実行して、当該データをマルチポートメモリモジュールにN個のデータ通信バスのうちの一つのバス上で送信し、M個のプログラム可能なサイドバンドプロセッサモジュールのうち一つは、データをマルチポートメモリモジュールからM個のデータ通信バスのうちの一つのバス上で受信し、第2の処理タスクを当該データに対して実行する。ここで、N及びMは1以上の整数である。
[0011]本発明の別の特徴では、マルチポートメモリモジュールは、J個の追加のポートを含む。共用バスが、N個のハードウェア高速化モジュール及びM個のプログラム可能なサイドバンドプロセッサモジュールと第1の速度で通信する第1のバス部を有し、第2のバス部が、J−A個のプロセッサモジュール及びJ−B個のRAMモジュールと第2の速度で通信し、バスブリッジが、第1のバス部及び第2のバス部と通信する。ここで、Jは1より大きい整数であり、A及びBは1以上の整数であり、A+B=Jである。
[0012]また、データ処理システムが、データを格納し且つN個のポートを有するマルチポートメモリ手段と、データを送信するためのN個のデータ通信バスと、それぞれN個のデータ通信バスのうちの一つのバス上で、それぞれN個のポートのうちの一つのポートと通信するためのN個のハードウェア高速化手段と、を備える。N個のハードウェア高速化手段のうち第1のハードウェア高速化手段は、第1の処理タスクをデータに対して実行して、当該データをマルチポートメモリ手段にN個のデータ通信バス手段のうちの第1のバス手段上で送信し、N個のハードウェア高速化手段のうちの第2のハードウェア高速化手段は、データをマルチポートメモリ手段からN個のデータ通信バス手段のうちの第2のバス手段上で受信して、第2の処理タスクを当該データに対して実行する。ここで、Nは、1より大きい整数である。
[0013]本発明の別の特徴では、データは、ビデオデータ及び制御データのうちの少なくとも一方を含む。マルチポートメモリ手段は、マルチポートデータ密結合メモリ(MP−DTCM)モジュールを含む。マルチポートメモリ手段は、J個の追加のポート、及びJ個の追加のデータ通信バスを含む。データ処理システムは、それぞれJ個のデータ通信バス手段のうちの一つのバス手段上でマルチポートメモリ手段と通信するJ−A個のプロセッサ手段、及びJ−B個のダイナミックランダムアクセスメモリ(DRAM)手段を備える。ここで、Jは1より大きい整数であり、A及びBは1以上の整数であり、A+B=Jである。N個のデータ通信バス手段における第1のバス手段及び第2のバス手段のうちの少なくとも一つは、第1のデータ幅を有し、J個のデータ通信バス手段は、第2のデータ幅を有する。第1のデータ幅は、第2のデータ幅より少ないビットを有する。第1のデータ幅は、8ビット及び16ビットのうちの少なくとも一つであり、第2のデータ幅は、32ビット、64ビット、及び128ビットのうちの少なくとも一つである。
[0014]本発明の更に別の特徴では、データ処理システムは、更に、ハードウェア高速化機能を実行する少なくとも一つのプログラム可能なサイドバンドプロセッサ手段を備える。少なくとも一つのプログラム可能なサイドバンドプロセッサ手段は、命令密結合メモリ(ITCM)モジュール、プロセッサコア、及びデータ密結合メモリ(DTCM)モジュールを含む。DTCMモジュールは、マルチポートメモリ手段と通信し、ダイレクトメモリアクセス(DMA)モジュールがDTCMモジュールとマルチポートメモリ手段との間のデータ転送を制御する。DTCMモジュールは、デュアルポート及びマルチバンクのうちの少なくとも一方である。データ処理システムは、更に共用バスを備える。共用バスは、N個のハードウェア高速化手段と第1の速度で通信する第1のバス部手段、プロセッサ手段及びDRAM手段のうちの少なくとも一方と第2の速度で通信する第2の共用バス手段、及び、第1のバス部手段及び第2のバス部手段と通信するバスブリッジ手段とを備える。
[0015]本発明の更に別の特徴では、プログラム可能なサイドバンドプロセッサ手段は、8ビットデータ及び16ビットの倍数のデータのうち少なくとも一つを処理する。プログラム可能なサイドバンドプロセッサ手段は、単一命令複数データ(SIMD)プロセッサを含む。高精細テレビ(HDTV)が、上記のデータ処理システムを備える。
[0016]また、データ処理方法は、N個のハードウェア高速化モジュールのうちの第1のハードウェア高速化モジュールで、第1の処理タスクをデータに対して実行するステップと、当該データを、それぞれマルチポートメモリモジュールのN個のポートのうちの第1のポートに、それぞれN個のデータ通信バスのうちの第1のデータ通信バス上で、送信するステップと、当該データを、それぞれマルチポートメモリモジュールのN個のポートのうちの第2のポートから、N個のハードウェア高速化モジュールのうちの第2のハードウェア高速化モジュールにおいて、それぞれN個のデータ通信バスのうちの第2のデータ通信バス上で、受信するステップと、N個のハードウェア高速モジュールのうちの第2のハードウェア高速化モジュールで、第2の処理タスクを当該データに対して実行するステップとを、含む。ここで、Nは、1より大きい整数である。
[0017]本発明の他の特徴では、データは、ビデオデータ及び制御データのうちの少なくとも一つを含む。マルチポートメモリモジュールは、マルチポートデータ密結合メモリ(MP−DTCM)モジュールを含む。このデータ処理方法は、更に、J−A個のプロセッサモジュール及びJ−B個のダイナミックランダムアクセスメモリ(DRAM)モジュールのうち少なくとも一方と、マルチポートメモリモジュールを用いて、J個の追加のデータ通信バスのうちのそれぞれのバス上で、通信するステップを含む。ここで、Nは、1より大きい整数であり、A及びBは1以上の整数であり、A+B=Jである。N個のデータ通信バスにおける第1のデータ通信バス及び第2のデータ通信バスのうち少なくとも一方は、第1のデータ幅を有し、J個の追加のデータ通信バスは第2のデータ幅を有する。第1のデータ幅は、第2のデータ幅より少ないビットを有する。第1のデータ幅は、8ビット及び16ビットのうち少なくとも一方であり、第2のデータ幅は、32ビット、64ビット、及び128ビットのうち少なくとも一方である。
[0018]本発明の更に別の特徴では、データ処理方法は、更に、ハードウェア高速化機能をプログラム可能なサイドバンドプロセッサモジュールで実行するステップを含む。プログラム可能なサイドバンドプロセッサモジュールは、命令密結合メモリ(ITCM)モジュール、プロセッサコア、及びデータ密結合メモリ(DTCM)モジュールを含む。DTCMモジュールは、マルチポートメモリモジュールと通信し、ダイレクトメモリアクセス(DMA)モジュールは、DTCMモジュールとマルチポートメモリモジュールとの間のデータ転送を制御する。DTCMモジュールは、デュアルポート及びマルチバンクのうち少なくとも一方である。このデータ処理方法は、更に、共用バスの第1のバス部上において第1の速度でN個のハードウェア高速化モジュールと通信するステップと、共用バスの第2のバス部上において第2の速度でJ−A個のプロセッサモジュールとJ−B個のDRAMモジュールと通信するステップと、ブリッジバスを用いて第1のバス部及び第2のバス部と通信するステップと、を含む。プログラム可能なサイドバンドプロセッサモジュールは、8ビットデータ及び16ビットの倍数のデータのうち少なくとも一方を処理する。プログラム可能なサイドバンドプロセッサモジュールは、単一命令複数データ(SIMD)プロセッサを含む。
[0019]更に別の特徴では、上記システム及び方法は、1以上のプロセッサによって実行されるコンピュータプログラムによって実装される。コンピュータプログラムは、これらに限定されるものではないが、メモリ、不揮発性のデータ格納装置、及び/又は他の適当な有形の格納媒体といった、コンピュータ読み取り可能な媒体上に常駐していてもよい。
[0020]本開示の更なる応用の範囲は、以下の詳細な説明から明らかとなろう。詳細な説明及び特定の例は、本開示の好適な実施の形態を示しているが、例示の目的を意図するものであり、本開示の範囲を限定することを意図していない。
[0021]本開示は、詳細な説明及び添付の図面からより完全に理解されよう。
詳細な説明
[0032]以下の説明は、本質的には単に例示のためのものであり、本開示、その応用、又は使用を限定することを全く意図していない。明確にするために、同一の参照番号を図面において使用して同様の要素を特定する。本明細書で使用されるものとして、モジュール、回路、及び/又はデバイスとの用語は、特定用途向け集積回路(ASIC)、電子回路、1以上のソフトウェア又はファームウェアプログラムを実行するプロセッサ(共用、専用、又はグループ)とメモリ、組合せ論理回路、及び/又は、説明する機能を提供する他の適切な部品を指すものである。本明細書で使用されるものとして、A、B及びCの少なくとも一つとの文は、非排他的論理ORを使用する論理学上の(A又はB又はC)を意味するものと解釈されるべきものである。また、方法における各ステップは、異なる順序で本開示の原理を変更することなく、実行してもよいことを理解されたい。
[0033]本発明によれば、処理システムは、マルチーポートのデータメモリアーキテクチャを含んでいる。例示のマルチポートメモリアーキテクチャは、”Multiport Memory Architecture, Devices and Systems Including the Same, and Methods of Using the Same”と題する2003年11月5日に出願された米国特許出願第10/702,744号に説明されており、この出願をその全体を参照することによって本明細書に組み込む。
[0034]ここで、図2を参照する。マルチポートメモリモジュール100(即ち、マルチポートメモリアーキテクチャに基づいて構成されているメモリモジュール)は、メモリアレイ110、ライトポートバッファ(write port buffer)112−1,112−2,112−3,...,112−n(ライトポートバッファ112と総称する)、リードポートバッファ(read port buffer)113−1,113−2,113−3,...,113−m(ライトポートバッファ113と総称する)、ライトポート114−1,114−2,114−3,...,114−n(ライトポート114と総称する)、リードポート115−1,115−2,115−3,...,115−m(リードポート115と総称する)、並列のリードレジスタ116及びライトレジスタ118、並びに、「スヌープ(snoop)」レジスタ120を含んでいる。
[0035]ポートバッファ112は、1以上のレジスタ、若しくは、フリップフロップのバンク、ラッチ、レジスタ、及び/又は、ポート114とメモリアレイ110との間のデータの送受に適した他の任意のデバイス又はモジュールを含む。ポートバッファ112とメモリアレイ110は、バス(例えば、共用メモリライトバス122、及び共用メモリリードバス124)を介して通信する。マルチポートメモリモジュール100は、単一ポートメモリ構造を有するように示されているが、当業者であればデュアルポートメモリ構造を使用し得ることを理解することができる。
[0036]メモリアレイ110は、複数のメモリサブアレイ(図示せず)を備えていてもよい。これらサブアレイは、メモリの1以上の行、列、ブロック、及び/又はページを有していてもよい。メモリの行、列、ブロック、及び/又はページの各々は、当該行、列、ブロック、及び/又はページに対応する固有のメモリアドレスによって特定可能であり、及び/又は、アクセス可能である。メモリアレイ110とポートバッファ112のうちの一つとの間で転送されるデータの各ブロックは、一つのページのデータを含む。通常は、メモリアレイ110の最小密度は、256kb又は1Mbである。メモリアレイ110の最大密度は限定されていないが、通常の最大密度は32Mb、64Mb、又は128Mbである。メモリアレイ110は、ラッチ、スタティックランダムアクセスメモリ(SRAM),ダイナミックランダムアクセスメモリ(DRAM)、磁気ランダムアクセスメモリ(MRAM)、電気的消去及びプログラム可能リードオンリーメモリ(EEPROM)、及びフラッシュメモリを含んでいてもよい。メモリアレイ110は、また、同期又は非同期であってもよい。
[0037]ポートバッファ112は、メモリアレイ110に「密結合」されていてもよい。メモリアーキテクチャが密結合である場合には、複数のプロセッサが、メモリモジュールに直接的に結合されるか、又は、メモリモジュールに共用メモリバスを介して結合される。メモリバス122及び124は、抵抗−容量(RC)成分、例えば、バスの長さ(抵抗に対応するもの)、及び/又はバスにおいて近接する金属線間の寄生容量を低減し又は最小化するように設計されている。その結果、帯域幅及びメモリアクセス効率が向上する。ポートバッファ112とメモリアレイ110の間の通信は、メモリアレイに密結合されたポートバッファ内のクロック回路要素によって遅らされないことが好ましい。
[0038]メモリアレイ110は、マルチバンクのダイナミックランダムアクセスメモリ(MDRAM)を、密結合メモリに代えて、及び/又は密結合メモリに加えて含んでいてもよい。従来のメモリは、通常、一つのバッファ用に単一のモノリシック「ブロック」のメモリを使用している。MDRAMは、そのメモリを、個別にアクセス可能な複数の32KBのバンクに分割する。その結果、メモリアクセスを、バンク間でインタリーブして(交互に行って)、メモリアクセスがオーバーラップすることを可能とし、より優れた性能を提供することを可能とする。
[0039]次に図3を参照する。マルチポートメモリシステム140は、マルチポートメモリモジュール100を含んでいる。マルチポートメモリシステム140は、プロセッサモジュール(CPU)142−1,142−2,...,142−x(CPU142と総称する)、ハードウェア高速化モジュール144−1,144−2,...,144−y(ハードウェア高速化モジュール144と総称する)、DRAMコントローラ146、及びDRAMモジュール148を含んでいる。例えば、CPU142は、一般的なソフトウェア及びファームウェアの命令を実行するプロセッサである。ハードウェア高速化モジュール144はそれぞれ、マルチポートメモリモジュール100と、個々の(即ち専用の)バス150−1,150−2,...,150−y(バス150と総称する)を介して通信する。より詳細には、ハードウェア高速化モジュール144はそれぞれ、マルチポートメモリモジュール100と、図1について上述した共用バスを共用する代わりに、専用のバスを介して通信する。CPU142及びDRAMコントローラ146は、単一のバスを共用してもよく、又は、個別のバス156及び158−1、158−2,...,158−x(バス158と総称する)上で、図示のように、通信する。
[0040]次に図4を参照する。ハードウェア高速化モジュール144のそれぞれは、個別に、マルチポートメモリモジュール100と、バス160及び162を介して通信する。通常、ハードウェア高速化バスは、32ビットのデータ幅を有する。ここで、バス160及び162は、配線の密集を最小化し、ダイのサイズを減らすために、より狭いものであってもよい。例えば、バス160及び162は、8ビット又は16ビットのデータ幅を有していてもよい。バス160は、(図2に示すようにライトポート114を介して)マルチメモリモジュール100のライトポートバッファ112と通信するライトバスである。逆に、バス162は、(図2に示すようにリードポート115を介して)リードポートバッファ113と通信するリードバスである。マルチポートメモリモジュール100は、CPU142及び/又はDRAMコントローラ146と通信する追加のリードポートバッファ164−1,164−2,...,164−z(リードポートバッファ164と総称する)を含んでいてもよい。リードポートバッファ164は、64ビット、128ビット、又はより大きいデータ幅を有する。換言すれば、CPU142及び/又はDRAMコントローラ146は、マルチポートメモリモジュール100と、ハードウェア高速化モジュール144より大きなデータ幅を維持するバスを介して、通信してもよい。
[0041]次に図3及び図4を参照する。ハードウェア高速化モジュール144の各々は、マルチポートメモリモジュール100における中間データを、データ処理を実行している間、格納する。ハードウェア高速化モジュール144のうちの第1のハードウェア高速化モジュールは、第1に、他のハードウェア高速化モジュール144にデータを直接転送するのではなく、マルチポートメモリモジュール100へライトポートバッファ112を介してデータを転送する。次いで、当該データを、マルチポートメモリモジュール100から他のハードウェア高速化モジュール144のうちの一つにリードポートバッファ113を介して転送する。このように、ハードウェア高速化モジュールの各々は、データを調停及び/又は衝突なく、図1に示す従来のシステムにおいて必要とされているように、個別に処理することが可能である。
[0042]このアーキテクチャの結果として、マルチポートメモリシステム140の帯域幅が、図1で説明した共用バスアーキテクチャに対して略2倍になる。しかしながら、当業者であれば、ハードウェア高速化モジュール144の個々のバス(例えば、バス160及び162)の何れかの帯域幅を更に増加することが、共用オンチップバスの帯域幅を増加することより容易に達成し得ることを理解することができる。例えば、マルチポートメモリモジュール100は、図4で説明したようにマルチポートポートバッファを備えて、個別のハードウェア高速化モジュール144の合計の帯域幅を分離することを可能としてもよい。換言すれば、共用バスアーキテクチャが排除されるので、ハードウェア高速化モジュール144の各々は著しく小さい帯域幅の資源を必要とする。その代わりに、ハードウェア高速化モジュール144の各々は、バス160及び162のような比較的狭い専用の個別のバスを用いて通信する。バス160及び162(即ち、ハードウェア高速化モジュール144の各々とマルチポートメモリモジュール100の間)のポイントツーポイントの特性の結果、高密度レイティング(rating)且つ高クロック周波数のオペレーションが容易に達成される。
[0043]例えば、マルチポートメモリモジュール100のメモリアレイがx128構成(即ち、128ビットの倍数のデータ幅)を有している場合には、51.2ギガビット(Gbit)の帯域幅を、メモリコアを400MHzで動作させることによって、達成することが可能である。同様に、ハードウェア高速化モジュール144の各ポート(即ち、リードポート及びライトポート)がx16構成(即ち、16ビットの倍数のデータ幅)を有している場合には、各ポートは、200MHzのクロックを使用して、3.2Gbitの帯域幅を達成することが可能である。通常、1920×1080ピクセルの高精細テレビ(HDTV)は、約1.5Gbit/秒の帯域幅を、各データ転送用に、中央メモリの内部又は外部において必要とする。例えば、図3及び4で説明したようなマルチポートメモリシステム140は、1.5Gbit/秒の要件に準じ、200MHzのクロックを使用してハードウェア高速化モジュール144とマルチポートメモリモジュール100の間で、ビデオデータの二つのストリームを処理することが可能である。400MHzのクロックを使用する場合には、マルチポートメモリシステム140は、1.5Gbits/秒の要件に準じ、ビデオデータの四つのストリームを処理することが可能である。
[0044]マルチポートメモリシステム140の他の利点は、ハードウェア高速化モジュール144を個別に設計することが可能なことである。例えば、各々の個別のハードウェア高速化モジュール144を、共用オンチップバスの帯域幅の制限に関係なく、当該ハードウェア高速化モジュール144の性能を最適化するよう設計することが可能である。ハードウェア高速化モジュール144を、マルチポートメモリシステム140の全体の帯域幅を潜在的に高める特定の機能用に最適化することが可能である。換言すれば、システム140のデータ処理能力は、拡張可能である。
[0045]次に図5を参照する。ハードウェア高速化モジュール(及び追加の対応のポート及びバッファ、図示せず)の数を増加して、マルチポートメモリシステム140のデータ処理能力を拡張(即ち、向上)してもよい。例えば、システム140は、マルチポートメモリモジュール100へのデータ及びマルチポートメモリモジュール100からのデータを主に処理する(サイドバンドプロセッサといった)プロセッサを有していてもよい。プロセッサをマルチポートメモリシステム140に必要に応じて追加して、データ処理能力の所望のレベルを達成することが可能である。
[0046]例えば、システム140は、1以上のプログラム可能なサイドバンドプロセッサモジュール172−1,...,172−z(プログラム可能なサイドバンドプロセッサモジュール172と総称する)を備えていてもよい。プログラム可能なサイドバンドプロセッサモジュール172は、マルチポートメモリモジュール100と、個別のバス174−1,...,174−z(バス174と総称する)を介して、通信する。バス174は、図4で説明したバス160及び162と類似するものである。例えば、バス174は、16ビットのデータ幅を有する。
[0047]一般的に、ハードウェア高速モジュールは、スペース効率が高くなるように、また、固定された特定の機能を実行するように設計される。例えば、ハードウェア高速化モジュールを、速度を重視するアプリケーションを処理するために設計することがある。ハードウェア高速化モジュールへの如何なる変更であっても、ハードウェア高速モジュールを有する集積回路(IC)の変更が必要となる。これに対して、プログラム可能なサイドバンドプロセッサモジュール172の各々をプログラムして、プログラム可能なサイドバンドプロセッサモジュール172の一以上の機能を、ICを変更することなく、変更してもよい。例えば、ユーザ又は製造者が、プログラム可能なサイドバンドプロセッサモジュール172をプログラムして、種々の動作標準に準拠させ、及び/又は異なる機能を処理させてもよい。
[0048]図5に示すように、プログラム可能なサイドバンドプロセッサモジュール172を専用のものとして、さもなければハードウェア高速化モジュール144が実行するであろうタスクを処理させてもよい。換言すれば、プログラム可能なサイドバンドプロセッサモジュール172の各々を一以上の特定のハードウェア高速化機能を実行するように設計し、CPU142又はハードウェア高速化モジュール144よりも小さな特徴セットをもたせてもよい。
[0049]マルチポートメモリシステム140は、共用バス180を有していてもよい。CPU142、ハードウェア高速化モジュール144、DRAMコントローラ146、及びプログラム可能なサイドバンドプロセッサモジュール172は、共用バス180を介して互いに通信する。例えば、プログラム可能なサイドバンドプロセッサモジュール172は、制御メッセージを共用バス180上に通して、バスの輻輳を回避してもよい。同様に、CPU142が、メッセージ及び制御情報を共用バス180上に通してもよい。共用バス180は、バスブリッジ182を有し、当該バスブリッジ182は、CPU142及びDRAMコントローラ146がデータを共用バス180上において第1の速度で送受することを可能とし、ハードウェア高速化モジュール144及びプログラム可能なサイドバンドプロセッサモジュール172がデータを共用バス180上において第2の速度で送受することを可能とする。例えば、共用バス180は、低速度又は中速度で動作する第1の部分184、及び高速で動作する第2の部分186を有していてもよい。
[0050]次に図6A及び図6Bを参照する。これらの図に、例示のプログラム可能なサイドバンドプロセッサを、より詳細に示す。図6Aでは、プログラム可能なサイドバンドプロセさモジュール172の各々が、命令密結合メモリ(ITCM)モジュール190、プロセッサコア192、及びデータ密結合メモリ(DTCM)モジュール194を備えている。密結合メモリの構造の更なる詳細な説明については、2005年12月20日に出願された米国特許仮出願第60/752,522号に見出すことができ、当該出願を、その全体を参照することによって、本明細書に組み込む。或いは、命令メモリ190’、及びデータ制御モジュール194’に関連付けられたデータメモリ196’が、インターリービングを用いるMDRAMを有していてもよい。
[0051]ITCMモジュール190は、好ましくは、プログラム可能なサイドバンドプロセッサモジュール172の各々が対応のタスクを実行することを可能にするのに十分なメモリを有している。換言すれば、プログラム可能なサイドバンドプロセッサモジュール172をプログラムすることは、ITCMモジュール190に格納されている命令を変更することを含む。例えば、プログラム可能なサイドバンドプロセッサモジュール172の一つをプログラムして、ハードウェア高速化モジュール144をエミュレートしてもよい。換言すれば、プログラム可能なサイドバンドプロセッサモジュール172は、マルチポートメモリシステム140を実施することについての柔軟性を有している。プログラム可能なサイドバンドプロセッサモジュール172は、当該プログラム可能なサイドバンドプロセッサモジュール172に常駐する命令を変更することによって、新たな機能をもつようプログラムすることが可能である。
[0052]プログラム可能なサイドバンドプロセッサモジュール172は、DMAモジュール196を有しており、当該DMAモジュール186は、DTCMモジュール194の内部及び外部において、サイドバンドプロセッサの動作とは独立に、データを転送する。例えば、DTCMモジュール194は、デュアルポート及びマルチバンクの少なくとも一方である。その結果、プロセッサコア192は、マルチポートメモリモジュール100へのデータ転送及びマルチポートメモリモジュール100からのデータ転送と同時に、サイドバンドプロセッサの動作に割り込むこと又は当該動作を妨害することなく、DTCMモジュール194にアクセスすることが可能である。
[0053]ビデオデータといったデータの少なくとも二つのマクロブロックが、プログラム可能なサイドバンドプロセッサモジュール172に、任意のある時間において、存在することがある。例えば、データの第1のマクロブロックが、処理のために、プログラム可能なサイドバンドプロセッサモジュール172内に存在し、データの第2のマクロブロックが、後に続くマルチポートメモリモジュール100への又はマルチポートメモリモジュール100からの転送のために、プログラム可能なサイドバンドプロセッサモジュール172内に存在する。
[0054]ITCMモジュール190、プロセッサコア192、及びDTCMモジュール194は、図5で説明したように、共用バス180上、及び内部バス198上で、通信する。DTCMモジュール194は、マルチポートメモリモジュール100と、単一の双方向バス200を介して、又は二つの単方向バス(図示せず)を介して、通信する。
[0055]図6に示すように、プログラム可能なサイドバンドプロセッサモジュール172は、キャッシュメモリを有さず、ダイのサイズを最小化し、サイドバンドプロセッサのデータ処理を最大限に活かすことができる。例えば、1GHzで動作するプログラム可能なサイドバンドプロセッサモジュール172は、1920×1080ピクセルのHDTV用の各ピクセルオペレーションに約16サイクルを許容してもよい。したがって、プログラム可能なサイドバンドプロセッサモジュール172は、理想的には、利用可能なサイクルを、(プログラム可能なサイドバンドプロセッサモジュール172がキャッシュメモリを有しているならば必要とされるであろう)DTCMモジュール194への又はDTCMモジュール194からのデータ転送用ではなく、コード実行用に最大限に活かす。本実装形態はキャッシュメモリを省いているが、当業者であれば、キャッシュメモリを有するプログラム可能なサイドバンドプロセッサモジュール172も考えられることを理解することができる。
[0056]プログラム可能なサイドバンドプロセッサモジュール172を最適化して、16ビットの倍数のデータ、及び/又は8ビットの倍数のデータを処理してもよい。例えば、プログラム可能なサイドバンドプロセッサモジュール172は、16ビットの倍数のデータ及び/又は8ビットの倍数のデータを処理するよう構成された単一命令複数データ(SIMD)プロセッサを実装してもよい。任意の複雑な32ビットオペレーションをソフトウェアでサポートして、プログラム可能なサイドバンドプロセッサモジュール172の電力消費を削減することができる。
[0057]次に図7を参照する。データ処理方法300は、本発明のマルチポートメモリアーキテクチャに基づくものであり、ステップ302で開始する。ステップ304においては、第1のハードウェア高速化モジュールが第1の処理タスクをデータに対して実行する。ステップ306では、第1のハードウェア高速化モジュールが、当該データをマルチポートメモリモジュールへ第1のデータバス上で転送する。ステップ308では、マルチポートメモリモジュールが、当該データを第2のハードウェア高速化モジュールへ第2のデータバス上で転送する。ステップ310では、第2のハードウェア高速化モジュールが、第2の処理タスクを当該データに対して実行する。ステップ312では、第2のハードウェア高速化モジュールが、当該データをマルチポートメモリモジュールへ第2のデータバス上で転送する。この方法300は、ステップ314で終了する。
[0058]次に図8A〜図8Cを参照する。これら図は、本発明の種々の例示的な実装形態を示す。ここで、図8Aを参照する。本発明を、HDTV420において実装することが可能である。HDTV420は、図8Aでは大まかに422で特定されている信号処理回路及び/又は制御回路、WLANインタフェイス、HDTV420の大容量データ格納装置、及び/又は電源423を備えている。本発明は、信号処理回路422及び/又は制御回路422の何れか、又は両者において、実施してもよく、及び/又は実装されてもよい。HDTV420は、HDTV入力信号を、有線又は無線形式で受信し、ディスプレイ426用のHTDV出力信号を生成する。幾つかの実装形態では、信号処理回路及び/又は制御回路422、並びに/若しくはHDTV420の他の回路(図示せず)が、データを処理し、符号化及び/又は暗号化を実行し、計算を実行し、データをフォーマットし、並びに/若しくは、必要となり得る任意の他のタイプのHDTV処理を実行する。
[0059]HDTV420は、光学の及び/又は磁気的な格納デバイスのように不揮発性の態様でデータを格納する大容量データ格納装置427と通信してもよい。HDTV420は、RAM、ROM、フラッシュメモリといった低遅延の不揮発性メモリ、及び/又は他の適切な電子データ格納装置のようなメモリ428に結合されていてもよい。HDTV420は、また、WLANネットワークインタフェイス429を介したWLANとの接続をサポートしてもよい。
[0060]次に図8Bを参照する。本発明は、セットトップボックス480において実装することが可能である。セットトップボックス480は、図8Bにおいて484で大まかに特定されている信号処理回路及び/又は制御回路、WLANインタフェイス、セットトップボックス480の大容量データ格納装置、及び/又は電源483を備えている。本発明は、信号処理回路及び/又は制御回路484の何れか又は両者において、実施してもよく、及び/又は実装されてもよい。セットトップボックス480は、ブロードバンドソースといったソースから信号を受信し、テレビ及び/又はモニタといったディスプレイ488、並びに/若しくは、他のビデオ及び/又はオーディオ出力デバイスに適した標準の及び/又は高精細のオーディオ/ビデオ信号を出力する。信号処理回路及び/又は制御回路484、並びに/若しくは、セットトップボックス480の他の回路(図示せず)は、データを処理し、符号化及び/又は暗号化を実行し、計算を実行し、データをフォーマットし、並びに/若しくは、任意の他のセットトップボックス機能を実行する。
[0061]セットトップボックス480は、不揮発性の態様でデータを格納する大容量データ格納装置490と通信してもよい。大容量データ格納装置490は、ハードディスクドライブ(HDD)及び/又はデジタル多用途ディスク(DVD)といった光学の及び/又は磁気的な格納装置を有していてもよい。HDDは、約1.8インチより小さな直径をもつ一以上のプラッタを有するミニHDDであってもよい。セットトップボックス480は、RAM、ROM、フラッシュメモリのような低遅延の不揮発性メモリ、及び/又は他の適切な電子データ格納装置といったメモリ494に接続されていてもよい。セットトップボックス480は、また、WLANネットワークインタフェイス496を介したWLANへの接続をサポートしてもよい。
[0062]次に、図8Cを参照する。本発明は、ビデオ処理能力を有するメディアプレーヤ500において実装することが可能である。メディアプレーヤ500は、図8Cにおいて大まかに504で特定されている信号処理回路及び/又は制御回路、WLANインタフェイス、メディアプレーヤ500の大容量データ格納装置、及び/又は電源503を備えている。本発明は、信号処理回路及び/又は制御回路504の何れか、又は両者において実施してもよく、又は実装されてもよい。幾つかの実装形態では、メディアプレーヤ500は、ディスプレイ507、及び/又は、キーパッド、タッチパッド等のようなユーザ入力508を有している。幾つかの実装形態では、メディアプレーヤ500は、グラフィカルユーザインタフェイス(GUI)を採用してもよい。このGUIは、通常、ディスプレイ507及び/又はユーザ入力508を介するメニュー、ドロップダウンメニュー、アイコン、及び/又はポイント−クリックインタフェイスを採用する。メディアプレーヤ500は、更に、スピーカ及び/又はオーディオ出力ジャックのようなオーディオ出力509を備えている。信号処理回路及び/又は制御回路504、並びに/又はメディアプレーヤ500の他の回路(図示せず)は、データを処理し、符号化及び/又は暗号化を実行し、計算を実行し、データをフォーマットし、並びに/若しくは、任意の他のメディアプレーヤの機能を実行する。
[0063]メディアプレーヤ500は、圧縮オーディオ及び/又はビデオコンテンツのようなデータを不揮発性の態様で格納する大容量データ格納装置510と通信してもよい。幾つかの実装形態では、圧縮オーディオファイルは、MP3フォーマット、又は他の適切な圧縮オーディオ及び/又はビデオフォーマットに準拠するファイルを含む。大容量データ格納装置は、光学の及び/又は磁気的な格納デバイス、例えば、ハードディスクドライブHDD及び/又はDVDを含んでいてもよい。HDDは、約1.8インチより小さな直径をもつ一以上のプラッタを有するミニHDDであってもよい。メディアプレーヤ500は、RAM、ROM、フラッシュメモリのような低遅延の不揮発性メモリ、及び/又は他の適切な電子データ格納装置といったメモリ514に接続されていてもよい。メディアプレーヤ500は、また、WLANネットワークインタフェイス516を介したWLANへの接続をサポートしてもよい。更に別の実装形態も、上述したものに加えて、想定される。
[0064]当業者は、上述の説明から、本開示の広い教示を種々の形態において実装することが可能であることを理解可能である。したがって、本開示は特定の例を含むが、他の変更態様が図面、明細書、及び特許請求の範囲に基づいて当業者には明らかになるので、本開示の真の範囲は制限されるべきではない。
従来技術に係るデータ処理システムの機能ブロック図である。 本発明に係るマルチポートメモリモジュールの機能ブロック図である。 本発明に係るマルチポートメモリモジュールを含むマルチポートメモリシステムの機能ブロック図である。 本発明に係り、ハードウェア高速化モジュールと通信するマルチポートメモリシステムの機能ブロック図である。 本発明に係り、プログラム可能なサイドバンドプロセッサモジュールを含むマルチポートメモリシステムの機能ブロックである。 本発明に係るプログラム可能なサイドバンドプロセッサモジュールの機能ブロック図である。 本発明に係るプログラム可能なサイドバンドプロセッサモジュールの機能ブロック図である。 本発明に係るデータ処理方法の各ステップを例示する流れ図である。 高精細テレビの機能ブロック図である。 セットトップボックスの機能ブロック図である。 メディアプレーヤの機能ブロック図である。
符号の説明
100…マルチポートメモリモジュール、144−1〜y…ハードウェア高速化モジュール、146…DRAMコントローラ、148…DRAMモジュール、172−1〜z…サイドバンドプロセッサモジュール、182…バスブリッジ。

Claims (18)

  1. N個のポートを有するマルチポートメモリモジュールと、
    N個のデータ通信バスと、
    それぞれ前記N個のポートのうちの一つと、前記N個のデータ通信バスのうちの一つデータ通信バス上で通信するN個のハードウェア高速化モジュールと、
    を備え、
    前記N個のハードウェア高速化モジュールのうちの第1のハードウェア高速化モジュールが、第1の処理タスクをデータに対して実行して、該データを前記マルチポートメモリモジュールへ前記N個のデータ通信バスのうちの第1のデータ通信バス上で送信し、前記N個のハードウェア高速化モジュールのうちの第2のハードウェア高速化モジュールが、前記データを前記マルチポートメモリモジュールから前記N個のデータ通信バスのうちの第2のデータ通信バス上で受信して、第2の処理タスクを該データに対して実行し、Nが1より大きい整数である、
    データ処理システム。
  2. 前記データが、ビデオデータ及び制御データのうちの少なくとも一方である、請求項1記載のデータ処理システム。
  3. 前記マルチポートメモリモジュールが、マルチポートデータ密結合メモリ(MP−DTCM)モジュールを含む、請求項1記載のデータ処理システム。
  4. 前記マルチポートメモリモジュールが、J個の追加のポートと、J個の追加のデータ通信バスを有しており、
    該データ処理システムが、更に、それぞれ前記J個のデータ通信バスのうちの一つのデータ通信バス上で前記マルチポートメモリモジュールと通信する、J−A個のプロセッサモジュールと、J−B個のダイナミックランダムアクセスメモリ(DRAM)モジュールと、を備えており、
    Jが1より大きい整数であり、A及びBが1以上の整数であり、A+B=Jである、
    請求項1記載のデータ処理システム。
  5. 前記N個のデータ通信バスにおける前記第1のデータ通信バス及び前記第2のデータ通信バスのうちの少なくとも一方が、第1のデータ幅を有し、前記J個のデータ通信バスが第2のデータ幅を有する、請求4記載のデータ処理システム。
  6. 前記第1のデータ幅は、前記第2のデータ幅より小さい、請求項5記載のデータ処理システム。
  7. 前記第1のデータ幅は、8ビット及び16ビットのうちの少なくとも一つであり、前記第2のデータ幅は、32ビット、64ビット、及び128ビットのうちの少なくとも一つである、請求項6記載のデータ処理システム。
  8. 更に、少なくとも一つのプログラム可能なサイドバンドプロセッサモジュールを備える、
    請求項1記載のデータ処理システム。
  9. 前記少なくとも一つのプログラム可能なサイドバンドプロセッサモジュールが、
    命令密結合メモリ(ITCM)モジュールと、
    プロセッサコアと、
    データ密結合メモリ(DTCM)モジュールと、
    を備える、請求項8記載のデータ処理システム。
  10. 前記DTCMモジュールが、前記マルチポートメモリモジュールと、前記DTCMモジュールと前記マルチポートメモリモジュールの間のデータ転送を制御するダイレクトメモリアクセス(DMA)モジュールと、通信する、請求項9記載のデータ処理システム。
  11. 前記DTCMモジュールが、デュアルポート又はマルチバンクのうちの少なくとも一方である、請求項9記載のデータ処理システム。
  12. 共用バスを更に備える、請求項4記載のデータ処理システム。
  13. 前記共用バスが、
    第1のバス部と、
    第2のバス部と、
    前記第1のバス部及び前記第2のバス部と通信するバスブリッジと、
    を備え、
    前記N個のハードウェア高速化モジュールが、前記第1のバス部上で第1の速度で通信し、前記J−A個のプロセッサモジュール及びJ−B個のダイナミックランダムアクセスメモリ(DRAM)モジュールが、前記第2のバス部上で第2の速度で通信する、
    請求項12記載のデータ処理システム。
  14. 前記プログラム可能なサイドバンドプロセッサモジュールが、8ビットデータ及び16ビットの倍数のデータのうちの少なくとも一方を処理する、請求項8記載のデータ処理システム。
  15. 前記プログラム可能なサイドバンドプロセッサモジュールが、単一命令複数データ(SIMD)プロセッサを含む、請求項14記載のデータ処理システム。
  16. 請求項1記載のデータ処理システムを備える高精細テレビ(HDTV)。
  17. N+M個のポートを有するマルチポートメモリモジュールと、
    N+M個のデータ通信バスと、
    それぞれ前記N個のポートのうちの一つと、前記N個のデータ通信バスのうちの一つのデータ通信バス上で通信するN個のハードウェア高速化モジュールと、
    それぞれ前記M個のポートのうちの一つと、前記M個のデータ通信バスのうちの一つのデータ通信バス上で通信するM個のプログラム可能なサイドバンドプロセッサモジュールと、
    を備え、
    前記N個のハードウェア高速化モジュールのうちの一つが、第1の処理タスクをデータに対して実行して、該データを前記マルチポートメモリモジュールへ前記N個のデータ通信バスのうちの一つのデータ通信バス上で送信し、前記M個のプログラム可能なサイドバンドプロセッサモジュールのうちの一つが、前記データを前記マルチポートメモリモジュールから前記M個のデータ通信バスのうちの一つのデータ通信バス上で受信して、第2の処理タスクを該データに対して実行し、N及びMが1以上の整数である、
    データ処理システム。
  18. 前記マルチポートメモリモジュールがJ個の追加のポートを有しており、
    該データ処理システムが、更に、共用バスを備えており、
    前記共用バスが、前記N個のハードウェア高速化モジュール及び前記M個のプログラム可能なサイドバンドプロセッサモジュールと第1の速度で通信する第1のバス部と、J−A個のプロセッサモジュール及びJ−B個のRAMモジュールと第2の速度で通信する第2のバス部と、前記第1のバス部及び前記第2のバス部と通信するバスブリッジと、を有しており、
    Jが1より大きい整数であり、A及びBが1以上の整数であり、A+B=Jである、
    請求項17記載のデータ処理システム。
JP2006340439A 2006-01-18 2006-12-18 プロセッサアーキテクチャ Active JP5302507B2 (ja)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US75986806P 2006-01-18 2006-01-18
US60/759868 2006-01-18
US79856906P 2006-05-08 2006-05-08
US60/798569 2006-05-08
US82087106P 2006-07-31 2006-07-31
US60/820871 2006-07-31
US82232006P 2006-08-14 2006-08-14
US60/822320 2006-08-14
US11/504962 2006-08-16
US11/504,962 US7600081B2 (en) 2006-01-18 2006-08-16 Processor architecture having multi-ported memory

Publications (2)

Publication Number Publication Date
JP2007220085A true JP2007220085A (ja) 2007-08-30
JP5302507B2 JP5302507B2 (ja) 2013-10-02

Family

ID=37989043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006340439A Active JP5302507B2 (ja) 2006-01-18 2006-12-18 プロセッサアーキテクチャ

Country Status (7)

Country Link
US (2) US7600081B2 (ja)
EP (1) EP1811398B1 (ja)
JP (1) JP5302507B2 (ja)
CN (1) CN101004674B (ja)
DE (1) DE602006021129D1 (ja)
SG (1) SG134211A1 (ja)
TW (1) TWI514165B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8310593B2 (en) 2010-08-26 2012-11-13 Kabushiki Kaisha Toshiba Television apparatus
JP2014211867A (ja) * 2013-04-01 2014-11-13 株式会社アクセル 通信システム、通信方法
JP2022548641A (ja) * 2019-09-17 2022-11-21 マイクロン テクノロジー,インク. システムオンチップ及びアクセラレータチップを接続するメモリチップ

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8036061B2 (en) * 2009-02-13 2011-10-11 Apple Inc. Integrated circuit with multiported memory supercell and data path switching circuitry
US9336008B2 (en) * 2011-12-28 2016-05-10 Intel Corporation Shared function multi-ported ROM apparatus and method
US9491505B2 (en) 2012-02-28 2016-11-08 Qualcomm Incorporated Frame capture and buffering at source device in wireless display system
KR102396435B1 (ko) 2015-08-11 2022-05-11 삼성전자주식회사 불휘발성 메모리 장치, 버퍼 메모리 및 컨트롤러를 포함하는 스토리지 장치를 포함하는 컴퓨팅 장치의 동작 방법
US11409681B2 (en) * 2020-09-04 2022-08-09 Paypal, Inc. Computer system communication via sideband processor

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6347856A (ja) * 1986-08-15 1988-02-29 Toshiba Corp メモリシステム
JPS63146154A (ja) * 1986-09-27 1988-06-18 スー・ツアオ・チャン 共働動作機能を有するホモジェニアス・マルチ・コンピュータ・システムとその共働動作の方法
JPH01177672A (ja) * 1988-01-08 1989-07-13 Yuuseishiyou Tsushin Sogo Kenkyusho ディジタル信号処理装置
JPH01280860A (ja) * 1988-05-06 1989-11-13 Hitachi Ltd マルチポートキヤツシユメモリを有するマルチプロセツサシステム
JPH0371364A (ja) * 1989-08-11 1991-03-27 Toyo Commun Equip Co Ltd プロセッサ
JPH08129508A (ja) * 1994-10-31 1996-05-21 Toshiba Corp コンピュータシステム及びその共有メモリ制御方法
JP2003114797A (ja) * 2001-10-04 2003-04-18 Matsushita Electric Ind Co Ltd データ処理装置
JP2004288355A (ja) * 2003-03-13 2004-10-14 Marvell World Trade Ltd マルチポートメモリアーキテクチャ、装置、システム、および方法
US20050094729A1 (en) * 2003-08-08 2005-05-05 Visionflow, Inc. Software and hardware partitioning for multi-standard video compression and decompression
JP2006040054A (ja) * 2004-07-28 2006-02-09 Mitsubishi Electric Corp 画像処理装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2965043B2 (ja) * 1990-04-10 1999-10-18 三菱電機株式会社 デュアルポートメモリ
JPH04257048A (ja) * 1991-02-12 1992-09-11 Mitsubishi Electric Corp デュアルポートメモリ
US5361370A (en) * 1991-10-24 1994-11-01 Intel Corporation Single-instruction multiple-data processor having dual-ported local memory architecture for simultaneous data transmission on local memory ports and global port
US5639094A (en) * 1995-03-29 1997-06-17 Manchester; Vance Word game
US6029242A (en) * 1995-08-16 2000-02-22 Sharp Electronics Corporation Data processing system using a shared register bank and a plurality of processors
US6067595A (en) * 1997-09-23 2000-05-23 Icore Technologies, Inc. Method and apparatus for enabling high-performance intelligent I/O subsystems using multi-port memories
US6480927B1 (en) * 1997-12-31 2002-11-12 Unisys Corporation High-performance modular memory system with crossbar connections
US6292862B1 (en) * 1998-07-28 2001-09-18 Siemens Aktiengesellschaft Bridge module
US6938253B2 (en) * 2001-05-02 2005-08-30 Portalplayer, Inc. Multiprocessor communication system and method
US6816889B1 (en) * 2001-07-03 2004-11-09 Advanced Micro Devices, Inc. Assignment of dual port memory banks for a CPU and a host channel adapter in an InfiniBand computing node
KR20040019335A (ko) * 2001-07-18 2004-03-05 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 다중프로세서 디바이스 및 동기화 최적화 방법 및 액세스제어 방법
GB0204144D0 (en) * 2002-02-22 2002-04-10 Koninkl Philips Electronics Nv Transferring data between differently clocked busses
US7236525B2 (en) * 2003-05-22 2007-06-26 Lsi Corporation Reconfigurable computing based multi-standard video codec

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6347856A (ja) * 1986-08-15 1988-02-29 Toshiba Corp メモリシステム
JPS63146154A (ja) * 1986-09-27 1988-06-18 スー・ツアオ・チャン 共働動作機能を有するホモジェニアス・マルチ・コンピュータ・システムとその共働動作の方法
JPH01177672A (ja) * 1988-01-08 1989-07-13 Yuuseishiyou Tsushin Sogo Kenkyusho ディジタル信号処理装置
JPH01280860A (ja) * 1988-05-06 1989-11-13 Hitachi Ltd マルチポートキヤツシユメモリを有するマルチプロセツサシステム
JPH0371364A (ja) * 1989-08-11 1991-03-27 Toyo Commun Equip Co Ltd プロセッサ
JPH08129508A (ja) * 1994-10-31 1996-05-21 Toshiba Corp コンピュータシステム及びその共有メモリ制御方法
JP2003114797A (ja) * 2001-10-04 2003-04-18 Matsushita Electric Ind Co Ltd データ処理装置
JP2004288355A (ja) * 2003-03-13 2004-10-14 Marvell World Trade Ltd マルチポートメモリアーキテクチャ、装置、システム、および方法
US20050094729A1 (en) * 2003-08-08 2005-05-05 Visionflow, Inc. Software and hardware partitioning for multi-standard video compression and decompression
JP2006040054A (ja) * 2004-07-28 2006-02-09 Mitsubishi Electric Corp 画像処理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6012050897; K.Hirano et al.: '"A New Multiport Memory for High Performance Parallel Processor System with Shred Memory"' DESIGN AUTOMATION CONFERENCE 1998. PROCEEDINGS OF THE ASP-DAC '98, ASIA AND SOUTH PACIFIC YOKOHAMA,J , 19980213, pages:333-334, IEEE *
JPN7012003957; Nasser Asgari: '"Multiport Memory as a Medium for Interprocessor Communication in Multiprocessors"' Thesis submitted for the degree of Doctor of Philosophy , 200302, pages:i,ii,vi〜xiii, Adelaide University *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8310593B2 (en) 2010-08-26 2012-11-13 Kabushiki Kaisha Toshiba Television apparatus
JP2014211867A (ja) * 2013-04-01 2014-11-13 株式会社アクセル 通信システム、通信方法
JP2022548641A (ja) * 2019-09-17 2022-11-21 マイクロン テクノロジー,インク. システムオンチップ及びアクセラレータチップを接続するメモリチップ

Also Published As

Publication number Publication date
CN101004674A (zh) 2007-07-25
US7600081B2 (en) 2009-10-06
CN101004674B (zh) 2012-05-30
US7761668B2 (en) 2010-07-20
US20070168622A1 (en) 2007-07-19
TWI514165B (zh) 2015-12-21
EP1811398B1 (en) 2011-04-06
US20100023705A1 (en) 2010-01-28
SG134211A1 (en) 2007-08-29
TW200741480A (en) 2007-11-01
JP5302507B2 (ja) 2013-10-02
DE602006021129D1 (de) 2011-05-19
EP1811398A1 (en) 2007-07-25

Similar Documents

Publication Publication Date Title
JP5302507B2 (ja) プロセッサアーキテクチャ
US20230376249A1 (en) Memory controller for micro-threaded memory operations
US10083722B2 (en) Memory device for performing internal process and operating method thereof
US7907470B2 (en) Multi-column addressing mode memory system including an integrated circuit memory device
US7246215B2 (en) Systolic memory arrays
JP5249926B2 (ja) 低減されたアクセス粒度を備えたメモリモジュール
JP5107204B2 (ja) マルチポートメモリアーキテクチャおよび集積回路
KR101600447B1 (ko) 구성 가능한 대역폭 메모리 장치들 및 방법들
US9773531B2 (en) Accessing memory
US20080028127A1 (en) Cross-threaded memory system
US20090097348A1 (en) Integrated circuit including a memory module having a plurality of memory banks
US10108568B2 (en) Master capable of communicating with slave and system including the master
CN110633229A (zh) 用于高带宽存储器通道的dimm
JPH04213144A (ja) 高速データ・アクセス・システム
CN110633230A (zh) 高带宽dimm
US8539196B2 (en) Hierarchical organization of large memory blocks
US20220027294A1 (en) Storage card and storage device
JP2017117439A (ja) 科学計算用ストレージプロセッサアレイ
US20240168896A1 (en) Memory controller, electric system including the same and method of controlling memory access
JP2009032055A (ja) データ記憶装置
CN115757224A (zh) 一种双cpu结合直接存取内存数字电路系统
TW202401263A (zh) 採用記憶庫和整合式串聯器/解串器電路以支援叢發讀取/寫入模式下的讀取/寫入資料的串列化/解串列化的電腦記憶體陣列,以及相關的方法
JP2007066039A (ja) 共有メモリ装置
JP2010102764A (ja) メモリモジュール、該メモリモジュールに用いられる制御方法、及び電子装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121214

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130621

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5302507

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250