JP4584457B2 - フレキシブルメモリチャネル - Google Patents
フレキシブルメモリチャネル Download PDFInfo
- Publication number
- JP4584457B2 JP4584457B2 JP2000591513A JP2000591513A JP4584457B2 JP 4584457 B2 JP4584457 B2 JP 4584457B2 JP 2000591513 A JP2000591513 A JP 2000591513A JP 2000591513 A JP2000591513 A JP 2000591513A JP 4584457 B2 JP4584457 B2 JP 4584457B2
- Authority
- JP
- Japan
- Prior art keywords
- mcx
- counter
- memory channel
- memory
- cnt1
- 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.)
- Expired - Lifetime
Links
- 230000005540 biological transmission Effects 0.000 claims description 28
- 238000000034 method Methods 0.000 claims description 13
- 238000003384 imaging method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 1
- 101150046378 RAM1 gene Proteins 0.000 description 1
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Image Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Systems (AREA)
Description
[発明の分野]
本発明は、広くメモリチャネル手段に関し、特に、データチップ上の異なるブロックと内部メモリ手段との間でデータストリームを伝送する幾つかのメモリチャネルを備えるメモリチャネル手段に関する。
【0002】
[従来技術の記載]
汎用用途および特殊用途のチップは、通常、内部バスによってデータを遣り取りするCPU、制御回路、I/Oポート、メモリユニット、レジスタ等の多くの異なるブロックを備えている。バスは、データを一方向または双方向に伝送するために構成された接続のセットである。幾つかのバスは、専用のバス、すなわち、特有のソース(source:源)およびデスティネーション(destination:行き先)を有するバスである。従って、もし、n個のブロックがバスにより全ての可能な経路で相互接続される必要があるならば、n(n−l)個の専用バスが必要である。一般に、バスドライバおよび論理回路は、バスを制御するために必要とされる。これらの構成は、かなりの費用を伴い、従って、幾つかのソースのうちの1つを幾つかのデスティネーションのうちの1つに接続させ得るバスが使用される。しかしながら、より少ないバスを持つこの構成は、より複雑な論理回路およびバスコントローラを必要とする。
【0003】
伝統的なバスは、CPU−メモリバスまたはI/Oバスとして分類される。I/Oバスは、長く、多くの種類のデバイスを相互接続することができ、デバイスのデータバンド幅の広いレンジを有している。一方、CPU−メモリバスは、短く、高速バスであり、そして、CPU−メモリバスのバンド幅を最大化するように設計される。また、メモリおよびI/O装置の両方のための単一バスも利用することができる。
【0004】
LSIロジック株式会社(LSI Logic Corporation)から提供されるDCAM(登録商標)−101は、ディジタルスチルカメラのための特殊用途チップである。このDCAM−101は、ディジタル画像のプレビュー、キャプチャー、圧縮、フィルタ、記憶、伝送および表示に必要とされる異なる機能を含んでいる。その結果、DCAM−101チップは、CPU、メモリユニット、異なるI/Oインターフェースおよび制御ブロック等の幾つかのブロックおよびユニットを備え、それらの全ては、伝統的な内部バスを介してデータを遣り取りしている。
【0005】
そのような伝統的なバスは、チップ上の異なるブロック間の受動的なデータの伝送だけを可能とし、すなわち、データは、伝送の間の如何なる経路においても処理されない。
【0006】
[発明の概要]
本発明の主たる目的は、1つのチップ上の異なるブロックの間でデータストリームを移動させ、且つ、伝送されるデータを同時に処理するために、改良されたメモリチャネル手段を提供することにある。
本発明の他の目的は、データストリーム内のデータの順序を変更することにある。
【0007】
本発明のさらなる目的は、チップにおける必要なメモリの容量を低減する改良されたメモリチャネル手段を提供することにある。
本発明のさらに他の目的は、規則的なアドレス指定機構(アドレッシングスキム)を得ることにある。
さらに、本発明の付加的な目的は、並行して動作し且つ互いに独立なメモリをアクセスするメモリチャネルおよびアドレス発生器を提供することにある。
【0008】
本発明のこれらおよび他の目的、構成並びに長所は、幾つかのメモリチャネルであって、各チャネルがソースおよびデスティネーションデータストリーム・インターフェースを有し、各インターフェースが異なるブロックに接続可能であるものと、内部メモリのためのソースおよびデスティネーションアドレスを発生するフレキシブルアドレス発生器(16,19)と、を備える本発明に係るフレキシブルメモリチャネル手段によって遂行され、それは、図面と関連した以下の詳細な記述から明らかになるであろう。
本発明の第1の形態によれば、異なる機能ブロックと内部メモリ手段を備えるデータチップ内に適切に配置されたメモリチャネル手段であって、該メモリチャネル手段は、幾つかのメモリチャネルを備え、該各メモリチャネルがソースおよびデスティネーションデータストリーム・インターフェースを有し、該各ソースおよびデスティネーションデータストリーム・インターフェースが異なるブロックに接続可能であり、前記メモリチャネルの少なくとも1つは、前記内部メモリ手段のためのソースおよびデスティネーションアドレスを発生するアドバンストアドレス発生器を備え、該アドバンストアドレス発生器は、伝送されるデータの変更された順序をもたらすようになっており、前記アドバンストアドレス発生器は、前記少なくとも1つのメモリチャネルのための第1のカウンタであって、該第1のカウンタがゼロに達するまで伝送された各ワードによりデクリメントされるのに適用されるものと、前記少なくとも1つのメモリチャネルのための第2のカウンタであって、前記第1のカウンタがゼロに達した後で前記第1のカウンタのリロードの前に、該第2のカウンタがゼロに達するまでデクリメントされるのに適用されるものと、を有し、前記アドバンストアドレス発生器は、前記第1のカウンタおよび前記第2のカウンタのいずれもがゼロに達していないとき、ストライド値を、前記第1のカウンタがデクリメントするたびに、現在のソースまたはデスティネーションアドレスに加算し、そして、前記第1のカウンタがゼロに達するのが生じたとき、第1のストライド値を、前記第2のカウンタがデクリメントするたびに、現在のソースまたはデスティネーションアドレスに加算するのに適用され、前記メモリチャネル手段は、さらに、各メモリチャネルがソースまたはデスティネーションモードにおいて動作しているかどうかを示すためのソース/デスティネーション選択レジスタを備えることを特徴とするメモリチャネル手段が提供される。
本発明の第2の形態によれば、異なる機能ブロックと内部メモリ手段との間でデータストリームを伝送するための方法であって、前記異なる機能ブロックおよび前記内部メモリ手段はデータチップ上に配置され、メモリチャネル手段は、幾つかのメモリチャネルを備えて前記データチップ内に適切に配置され、少なくとも1つのチャネルのために、伝送される各ワードのために第1のカウンタがゼロに達するまで、該第1のカウンタをデクリメントする段階と、前記第1のカウンタおよび前記第2のカウンタのいずれもがゼロに達していないとき、前記第1のカウンタがデクリメントするたびに、現在のソースまたはデスティネーションアドレスに対してストライド値を加算する段階と、前記第1のカウンタがゼロに達した後で前記第1のカウンタのリロードの前に、第2のカウンタがゼロに達するまで該第2のカウンタをデクリメントする段階と、前記第1のカウンタがゼロに達するのが生じたとき、前記第2のカウンタがデクリメントするたびに、前記現在のソースまたはデスティネーションアドレスに対して第1のストライド値を加算する段階と、前記メモリチャネル手段に含まれるソース/デスティネーション選択レジスタによって、少なくとも1つのメモリチャネルがソースまたはデスティネーションモードにおいて動作しているかどうかを示す段階と、により特徴付けられる伝送方法が提供される。
【0009】
本発明をより詳細に説明すると共に、本発明の長所および構成を説明するために、好適な実施例の以下の詳細な記述が添付図面に従って言及される。
[発明の詳細な記述]
本発明は、好ましくは、ディジタル画像システム用のチップのような特殊用途チップ上の異なるブロックと内部メモリ手段との間でデータストリームを伝送するフレキシブルメモリチャネル手段である。
【0010】
ディジタル画像システム用のチップは、本発明に係るフレキシブルメモリチャネル手段の一実施例の適用を説明するためにだけ役に立つ。本発明の他の実施例は、他の適用に対しても応用可能である。さらに、以下の記述において、チャネルの数、レジスタの数、各レジスタのビット数およびチップ上の異なるブロックの数といった多数の具体的な記述は、本発明をより詳述に記述するために提供されている。しかしながら、本発明は、それらの具体的な細目なし実施することができるであろうことは、いわゆる当業者であれば明らかであろう。幾つかの公知の構成は、本発明を不明瞭にしないために詳細には説明されない。
【0011】
図1に示されるように、ディジタルの画像システムのためのチップ等の特殊用途チップは、JPEG等の圧縮アルゴリズムを使用するCCDカメラやビデオソースからカラー画像を圧縮するのに好適な異なるブロックを備える。チップ上の殆どのブロックは、データソース、データデスティネーション或いはその両方として動作する。
【0012】
内部メモリ手段またはRAM(RAM)1は、幾つかのメモリチャネル、実施例においてはMC1〜MC6を備える本発明に係るメモリチャネル手段2を介してアクセスされる。各チャネルは、内部のメモリのためにソースおよびデスティネーションアドレスを発生するフレキシブルアドレス発生器と、ソースおよびデスティネーションデータストリーム・インターフェースとを有し、各インターフェースは、異なるブロックに対して接続可能である。
例えば、入力データは、CCDインターフェース3或いはビデオインターフェース4を介して受け取られ、そのデータは、図2に示されるように、第1のメモリチャネルMC1のデスティネーションデータストリーム・インターフェースを介して内部RAM1に格納(記憶)される。さらに、記憶されたデータは、DCT(離散コサイン変換)ブロック5によって、DCT係数に変換して量子化ブロック6において量子化するためにRAM1から第2のメモリチャネルMC2のソースデータストリーム・インターフェースを介して読み出される。さらに、量子化された係数は、シンボルハフマン(Symbol Huffman)VLIブロック7における可変長整数符号化(variable length integer coding)およびハフマンエントロピー符号化(Huffman entropy coding)のための対象である。結果としてのシンボルは、ビットストリームブロック8においてビットストリームに変換され、そして、データストリームがホストインターフェース9を介して外部のホストに出力される前に、データストリームはFIFOブロック10にバッファされる。データストリームは、必ずしも外部のホストに伝送されるわけではないが、後の検索のために第4のメモリチャネルMC4のデスティネーションデータストリーム・インターフェースを介してRAM1に蓄えられる。
【0013】
幾つかの画像動作は、外部メモリのサポートを必要とする。クロックを画像に載せる(putting)といったような静止画像のオーバーローディング(過負荷)は、外部メモリのアクセスを伴う。ここで、データは、外部のRAMインターフェース11を介して、例えば、第2のメモリチャネルMC2のデスティネーションデータストリーム・インターフェースを介して外部メモリから読み込まれる。過負荷の動作は、ブリッタ12により実行される。画像データは、第2および第3のメモリチャネルMC2およびMC3の一方のソースデータストリーム・インターフェースを介してRAM1から読み込まれ、そのデータはブリッタ12によって処理されて、第1および第4のメモリチャネルMC1およびMC4のデスティネーションデータストリーム・インターフェースを介してRAM1に戻されて格納される。
【0014】
メモリチャネル手段2、RAM1およびチップ上の他の機能ブロックを制御するために、オンチップCPU13が提供される。
付加的なメモリユニット或いはRAM14は、それらを適切に動作させるべくブロックのうちの幾つかをサポートするために提供され、一般のI/Oインターフェース15もまたチップと他の外部のI/O装置間の通信のために提供される。
【0015】
上述したように、内部のRAM1へのアクセスは本発明に係るメモリチャネル手段2を介して行われ、このメモリチャネル手段2は、実施例では6つのメモリチャネルを備えている。各メモリチャネルは、ソースおよびデスティネーションの少なくとも2つのデータストリームインターフェースと、関連付けられたアドレス発生器を有している。第1、第2および第3のメモリチャネルMC1,MC2およびMC3は、アドバンストアドレス発生器を伴って提供され、また、第4、第5および第6のメモリチャネルMC4,MC5およびMC6は、シンプルアドレス発生器を伴って提供される。メモリチャネルMC4〜MC6の実施例は、シンプルアドレス発生器16、アドレスデコーダ17およびデータチャネル18を伴って提供され、それは図3Aに描かれている。また、アドバンストアドレス発生器19、アドレスデコーダ20およびデータチャネル21を伴って提供されるメモリチャネルMC1〜MC3の実施例は、図3Bに描かれている。さらに、各メモリチャネルは、制御手段、および、適切な動作のためのソフトウェアおよび/またはハードウェアを備えている。しかしながら、これは、当業者には明らかである。
【0016】
シンプルアドレス発生器は、連続するソースおよびデスティネーションアドレスを発生し、また、アドバンストアドレス発生器は、より複雑なアドレス指定機構(アドレススキム)を提供する。
シンプルアまたはアドバンストの同じ種類の全てのアドレス発生器は、レジスタMCx_YYYyの同じセットを有している。ここで、MCxは、メモリチャネルx(x:1〜3はアドバンスト用発生器、そして、4〜6はシンプル用発生器)であり、また、YYYyは、レジスタの種類である。
【0017】
本発明に係る好ましい実施例において、以下のレジスタは、それぞれ図4Bおよび図4Aに示されるアドバンストアドレス発生器19およびシンプルアドレス発生器16が使用可能である。さらに、アドレス計算器22は、シンプルアドレス発生器16に提供され、また、アドレス計算器23は、アドバンストアドレス発生器19に提供される。さらにまた、各アドレス発生器が制御手段、および、適切な動作のためのソフトウェアおよび/またはハードウェアを備えていることは、当業者には明らかである。
【0018】
{アドバンストアドレスレジスタ(1〜3)}
MCx_CNT: ワードカウンタ(伝送されるワードの数)
MCx_PTR: アドレスポインタ(現在のアドレス)
MCx_STR0: ストライド値0
MCx_CTRL: 制御レジスタ
ビット0 − ソース/デスティネーション制御
1 − デスティネーション
0 − ソース
ビット1 − マイナーストライド イネーブル
ビット2 − メジャーストライド イネーブル
ビット3 − メガストライド イネーブル
【0019】
MCx_CNTl: マイナーカウント(連続的アクセスの数)
MCx_STR1: マイナーストライド(全てのマイナーカウントアクセス毎にアドレスポインタMCx_PTRに追加される)
MCx_CNT2: メジャーカウント(連続的なマイナーサイクルの数)
MCx_STR2: メジャーストライド(メジャーカウントマイナーサイクルの後のアドレスポインタMCx_PTRに追加される)
MCx_CNT3 メガカウント(連続的なメジャーサイクルの数)
MCx_STR3 メガストライド(メガカウントメジャーサイクルの後のアドレスポインタMCx_PTRに追加される)
MCx_SEL ソース/デスティネーション選択
【0020】
{シンプルアドレスレジスタ(4〜6)}
MCx_CNT: ワードカウンタ(伝送されるワードの数)
MCx_PTR: アドレスポインタ(現在のアドレス)
MCx_CTRL: 制御レジスタ
ビット0 − ソース/デスティネーション制御
1 − デスティネーション
0 − ソース
MCx_SEL ソース/デスティネーション選択
【0021】
従って、3つの異なるストライドレジスタMCx_STR1,MCx_STR2およびMCx_STR3は、ストライド値によってロードされ得る。その値は、ストライドユニットの状態に依存する次のアドレスを提供するために、アドレス発生器19におけるアドレス計算器23により使用される。状態は、3つの異なるストライドカウンタにより制御され、それぞれアドレスをカウントするときにアップデートされ、続く低いストライドカウンタはゼロとされる。カウンタがゼロのとき、そのカウンタは、予め蓄えられたスタートの値でリロードされる。これは、伝送が完了するまで繰り返され、それは現在のメモリチャネルMC1〜MC6によって制御される。全てのレジスタは、特有の順序でロードされる。
【0022】
次の順序が好ましい。
1.ストライド0をレジスタMCx_STR0にロードする。
2.ストライド設定レジスタMCx_CTRLをロードする。
3.全ての(使用された)カウンタおよびストライドレジスタMCx_CNTl,MCx_STRl,MCx_CNT2,MCx_STR2,MCx_CNT3およびMCx_STR3をロードする。
4.デスティネーションポインタレジスタMCx_PTRをロードする。
5.MCx_CNTレジスタでデータ伝送を開始する。
【0023】
値がMCx_PTRレジスタに書き込まれるとき、全てのストライドカウンタは、初期状態にリロードされる。さらに、MCx_CNTレジスタに書き込まれるとき、メモリチャネルがデータ伝送を始めるときにはその準備ができているように、最初のストライドアップデートが予め計算される。この予めの計算は、最初のアドレスが既に使用されているときにアップデートされた信号が受け取られるので、実行される。アップデート信号は、チャネルが最初に伝送されたワードをRAM1に書き込んだとき、メモリチャネルによって発生される。
【0024】
アドバンストアドレス発生器19とストライドレジスタMCx_STRl〜3を伴う複雑なデータ伝送の後、そして、チャネルが準備できているとき、より多くのワードがMCx_CNTに再び書き込まれることによって伝送され得る。この場合、全てのストライドレジスタのための内部状態は、予め使用されて伝送は連続する。もし、MCx_CNTが書き込まれる前にMCx_PTRが書き込まれるならば、その状態は復元される。
【0025】
メモリチャネルのワードカウンタMCx_CNTは、ブロックまたはメモリであるソースから受け取ったワードの数をカウントし、伝送されたワードの数はカウントしない。メモリチャネルは、FIFO手段を有し、本実施例では2段のキュー(queue)を備えているので、MCx_CNTのカウント値は、完了した伝送の信頼できる指標を与えない。従って、メモリチャネル手段2は、6ビットのメモリチャネルステータスレジスタMC_STATUSを伴って提供され、各ビットは、特定のメモリチャネルと関連付けられ、例えば、ビット0は最初のメモリチャネルMC1と関連付けられる。もし、伝送が完了するか、或いは、開始されないならば、ビットは設定され、また、もし伝送が進行中ならばビットは設定されない。
【0026】
上述したように、RAM1へのアクセスは、メモリチャネル手段2およびそれぞれソースおよびデスティネーションデータストリーム・インターフェースを有する該メモリチャネル手段のメモリチャネル、並びに、該メモリチャネル手段のアドレス発生器の手段によって実行される。
【0027】
シンプルアドレス発生器は、連続的なアドレスを発生するのに有用である。ブロック3〜15のうちの1つとチップ上のRAM1との間のデータ伝送を開始するために、伝送はシンプルアドレス発生器を必要とするだけであり、開始アドレスが発生されてMCx_PTRレジスタに書き込まれ、スタート値がワードカウンタMCx_CNTに書き込まれる。データ伝送は、本実施例におけるワードベースによって、ワードに基づいて進行する。伝送が完了すると、メモリチャネルステータスレジスタMC_STATUSにおける関連付けられたビットが設定される。
【0028】
より複雑なアドレススキムにおいて、アドバンストアドレス発生器(1〜3)が提供されたメモリチャネルが使用される。アドバンストアドレス発生器は、各カウンタ手段が記憶されたストライド値と関連付けられたカウンタ手段を備えている。最初のカウンタレジスタMCx_CNTlを含む最初のカウンタ手段は、それがゼロに達するまで全ての伝送されたワードでデクリメントされ、最初のストライドレジスタMCx_STR1に記憶された対応するストライド値が、アドレスレジスタMCx_PTRにおける現在のアドレスに加算される。ストライド状態手段は、カウンタレジスタ用の制御信号を発生する。最初のカウンタレジスタMCx_CNTlには、予め定められた値がリロードされる。少なくとももう1つのカウンタは、その前のカウンタ手段がゼロに達する度毎にデクリメントされ、該カウンタの関連付けされたストライド値は、アドレスレジスタMCx_PTRにおける現在のアドレスに加算され、連続するカウンタ手段に予め定められた値がリロードされる。上述したように、本発明の好ましい実施例において、2つの付加的なカウンタMCx_CNT2およびMCx_CNT3が提供される。そのため、MCx_CNT1がゼロのとき、2番目のカウンタMCx_CNT2がデクリメントされる。2番目のカウンタがゼロになるときには、3番目のカウンタMCx_CNT3がデクリメントされる。もし、カウンタMCx_CNTl,MCx_CNT2またはMCx_CNT3のいずれもがゼロではないとき、別のストライドレジスタMCx_STR0に格納されたストライド値がアドレスレジスタMCx_PTRにおける現在のアドレスに追加される。
【0029】
アドレス発生器は、アドレスが使用される1サイクル後にメモリチャネルからアップデート信号を受け取り、そのため、アドレスは1サイクル進んで発生される。
ストライドレジスタが提供されたアドバンストアドレス発生器の手段によるアドレス発生の幾つかの例が図5における表1に示され、データソースとデスティネーションの間の可能な接続が図6における表2の例により説明される。
【0030】
各メモリチャネルMC1〜MC6は、2つの異なるモード、すなわち、ソースおよびデスティネーションで動作する。デスティネーションモードデータで動作するメモリチャネルにおいて、データは、ブロックから受け取られてRAM1に伝送される。各伝送されたワードのために、アップデート信号がメモリチャネルにおいて発生されてアドレス発生器に送られる。各メモリチャネルの伝送カウンタは、メモリチャネルにおけるFIFOキューに対して特別なチャネルで接続されたブロックから読み出されたワードの数をカウントする。データがFIFOに存在している限り、メモリチャネルはメモリサイクルのための要求を行い、アドレス発生器が次のアドレスを発生する。メモリサイクルがメモリチャネルにとって有効なとき、信号は、メモリコントローラから受け取られる。
【0031】
ソースモードにおいて、伝送カウンタは、FIFOに対する現在のメモリチャネルから読み出されたワードの数をカウントする。データがFIFOに存在している限り、そのデータは、ブロックに対する適切なデータレートで接続されたブロックに伝送される。
【0032】
本発明は、特定の実施例を通して説明されたが、本発明は、上述した目的および長所を十分に満たすフレキシブルメモリチャネルを提供するものであることは明らかであり、また、代替、変更および変形は、いわゆる当業者にとっては明らかである。
【図面の簡単な説明】
【図1】 本発明に係るフレキシブルメモリチャネル手段を備える特殊用途チップのブロック図である。
【図2】 図1におけるメモリチャネル手段の実施例をより詳細に示すブロック図である。
【図3A】 本発明に係るメモリチャネルの第1実施例のブロック図である。
【図3B】 本発明に係るメモリチャネルの第2実施例のブロック図である。
【図4A】 本発明に係るアドレス発生器の第1実施例のブロック図である。
【図4B】 本発明に係るアドレス発生器の第2実施例のブロック図である。
【図5】 本発明に係るアドレス発生器の第2実施例によるアドレス発生の方法を示すテーブルである。
【図6】 図1における特殊用途チップにおけるデータソースとデスティネーションの間の可能な接続を示すテーブルである。
Claims (12)
- 異なる機能ブロック(1,3〜15)と内部メモリ手段(1)を備えるデータチップ内に適切に配置されたメモリチャネル手段(2)であって、該メモリチャネル手段(2)は、
幾つかのメモリチャネル(MC1〜MC6)を備え、該各メモリチャネルがソースおよびデスティネーションデータストリーム・インターフェースを有し、該各ソースおよびデスティネーションデータストリーム・インターフェースが異なるブロック(1,3〜15)に接続可能であり、前記メモリチャネルの少なくとも1つは、前記内部メモリ手段(1)のためのソースおよびデスティネーションアドレス(MCx_PTR)を発生するアドバンストアドレス発生器(19)を備え、該アドバンストアドレス発生器は、伝送されるデータの変更された順序をもたらすようになっており、前記アドバンストアドレス発生器(19)は、
前記少なくとも1つのメモリチャネルのための第1のカウンタ(MCx_CNT1)であって、該第1のカウンタ(MCx_CNT1)がゼロに達するまで伝送された各ワードによりデクリメントされるのに適用されるものと、
前記少なくとも1つのメモリチャネルのための第2のカウンタ(MCx_CNT2)であって、前記第1のカウンタ(MCx_CNT1)がゼロに達した後で前記第1のカウンタ(MCx_CNT1)のリロードの前に、該第2のカウンタ(MCx_CNT2)がゼロに達するまでデクリメントされるのに適用されるものと、を有し、
前記アドバンストアドレス発生器(19)は、
前記第1のカウンタ(MCx_CNT1)および前記第2のカウンタ(MCx_CNT2)のいずれもがゼロに達していないとき、ストライド値(MCx_STR0)を、前記第1のカウンタ(MCx_CNT1)がデクリメントするたびに、現在のソースまたはデスティネーションアドレス(MCx_PTR)に加算し、そして、
前記第1のカウンタ(MCx_CNT1)がゼロに達するのが生じたとき、第1のストライド値(MCx_STR1)を、前記第2のカウンタ(MCx_CNT2)がデクリメントするたびに、現在のソースまたはデスティネーションアドレス(MCx_PTR)に加算するのに適用され、
前記メモリチャネル手段(2)は、さらに、各メモリチャネルがソースまたはデスティネーションモードにおいて動作しているかどうかを示すためのソース/デスティネーション選択レジスタ(MCx_SEL)を備えることを特徴とするメモリチャネル手段。 - 請求項1に記載のメモリチャネル手段において、前記アドバンストアドレス発生器(19)は、前記第2のカウンタ(MCx_CNT2)がゼロに達した後で該第2のカウンタ(MCx_CNT2)のリロードの前にデクリメントされるのに適用される第3のカウンタ(MCx_CNT3)を有し、
前記アドバンストアドレス発生器(19)は、前記第3のカウンタ(MCx_CNT3)がデクリメントするたびに、現在のソースまたはデスティネーションアドレス(MCx_PTR)に対して、第2のストライド値(MCx_STR3)を加算するのに適用されることを特徴とするメモリチャネル手段。 - 請求項1または2のいずれか1項に記載のメモリチャネル手段において、前記アドバンストアドレス発生器(19)は、前記カウンタ(MCx_CNT1,MCx_CNT2,MCx_CNT3)に対して、該カウンタ(MCx_CNT1,MCx_CNT2,MCx_CNT3)のそれぞれがゼロに達した後に、予め定められた値をリロードするのに適用されることを特徴とするメモリチャネル手段。
- 請求項1〜3のいずれか1項に記載のメモリチャネル手段において、前記データチップ上の前記メモリチャネル手段(2)、前記内部メモリ手段(1)および他の機能ブロック(1,3〜15)は、オンチップCPU(13)によって制御されることを特徴とするメモリチャネル手段。
- 請求項1〜4のいずれか1項に記載のメモリチャネル手段において、前記アドバンストアドレス発生器(19)は、前記メモリチャネル(MC1〜MC6)のソースデータストリームインターフェースからの受信されたワードの数をカウントするのに適用された各メモリチャネルのためのワードカウンタ(MCx_CNT)を有することを特徴とするメモリチャネル手段。
- 請求項1〜5のいずれか1項に記載のメモリチャネル手段において、各メモリチャネル(MC1〜MC6)用の伝送が完了したか、開始されていないか、或いは、進行中かを示すメモリチャネルステータスレジスタ(MC_STATUS)により特徴付けられるメモリチャネル手段。
- 請求項1〜6のいずれか1項に記載のメモリチャネル手段において、前記データチップは、ディジタル画像システム用のデータチップであることを特徴とするメモリチャネル手段。
- 異なる機能ブロック(1,3〜15)と内部メモリ手段(1)との間でデータストリームを伝送するための方法であって、前記異なる機能ブロック(1,3〜15)および前記内部メモリ手段(1)はデータチップ上に配置され、メモリチャネル手段(2)は、幾つかのメモリチャネル(MC1〜MC6)を備えて前記データチップ内に適切に配置され、
少なくとも1つのチャネルのために、
伝送される各ワードのために第1のカウンタ(MCx_CNT1)がゼロに達するまで、該第1のカウンタ(MCx_CNT1)をデクリメントする段階と、
前記第1のカウンタ(MCx_CNT1)および前記第2のカウンタ(MCx_CNT2)のいずれもがゼロに達していないとき、前記第1のカウンタ(MCx_CNT1)がデクリメントするたびに、現在のソースまたはデスティネーションアドレス(MCx_PTR)に対してストライド値(MCx_STR0)を加算する段階と、
前記第1のカウンタ(MCx_CNT1)がゼロに達した後で前記第1のカウンタ(MCx_CNT1)のリロードの前に、第2のカウンタ(MCx_CNT2)がゼロに達するまで該第2のカウンタ(MCx_CNT2)をデクリメントする段階と、
前記第1のカウンタ(MCx_CNT1)がゼロに達するのが生じたとき、前記第2のカウンタ(MCx_CNT1)がデクリメントするたびに、前記現在のソースまたはデスティネーションアドレス(MCx_PTR)に対して第1のストライド値(MCx_STR1)を加算する段階と、
前記メモリチャネル手段(2)に含まれるソース/デスティネーション選択レジスタ(MCx_SEL)によって、少なくとも1つのメモリチャネルがソースまたはデスティネーションモードにおいて動作しているかどうかを示す段階と、により特徴付けられる伝送方法。 - 請求項8に記載の伝送方法において、
前記第2のカウンタ(MCx_CNT2)がゼロに達した後で該第2のカウンタ(MCx_CNT2)のリロードの前に第3のカウンタ(MCx_CNT3)をデクリメントし、且つ、
前記第3のカウンタ(MCx_CNT3)がデクリメントするたびに、現在のソースまたはデスティネーションアドレス(MCx_PTR)に対して第2のストライド値(MCx_STR2)を加算するさらなる段階により特徴付けられる伝送方法。 - 請求項8または9のいずれか1項に記載の伝送方法において、前記カウンタ(MCx_CNT1,MCx_CNT2,MCx_CNT3)に対して、該カウンタ(MCx_CNT1,MCx_CNT2,MCx_CNT3)のそれぞれがゼロに達した後に、予め定められた値をリロードするさらなる段階により特徴付けられる伝送方法。
- 請求項8〜10のいずれか1項に記載の伝送方法において、前記メモリチャネル(MC1〜MC6)のソースデータストリームインターフェースからの受信されたデータユニットの数をカウントするさらなる段階により特徴付けられる伝送方法。
- 請求項8〜11のいずれか1項に記載の伝送方法において、各メモリチャネル(MC1〜MC6)用の伝送が完了したか、開始されていないか、或いは、進行中かを示すステータス値(MC_STATUS)を記憶する段階により特徴付けられる伝送方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9804529-7 | 1998-12-23 | ||
SE9804529A SE9804529L (sv) | 1998-12-23 | 1998-12-23 | Flexibel minneskanal |
PCT/SE1999/002339 WO2000039685A1 (en) | 1998-12-23 | 1999-12-14 | Flexible memory channel |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002533833A JP2002533833A (ja) | 2002-10-08 |
JP4584457B2 true JP4584457B2 (ja) | 2010-11-24 |
Family
ID=20413846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000591513A Expired - Lifetime JP4584457B2 (ja) | 1998-12-23 | 1999-12-14 | フレキシブルメモリチャネル |
Country Status (7)
Country | Link |
---|---|
US (1) | US6381687B2 (ja) |
EP (1) | EP1141837B1 (ja) |
JP (1) | JP4584457B2 (ja) |
CN (1) | CN100338585C (ja) |
AU (1) | AU2133100A (ja) |
SE (1) | SE9804529L (ja) |
WO (1) | WO2000039685A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8230411B1 (en) | 1999-06-10 | 2012-07-24 | Martin Vorbach | Method for interleaving a program over a plurality of cells |
US9552047B2 (en) | 2001-03-05 | 2017-01-24 | Pact Xpp Technologies Ag | Multiprocessor having runtime adjustable clock and clock dependent power supply |
US9436631B2 (en) * | 2001-03-05 | 2016-09-06 | Pact Xpp Technologies Ag | Chip including memory element storing higher level memory data on a page by page basis |
US9170812B2 (en) | 2002-03-21 | 2015-10-27 | Pact Xpp Technologies Ag | Data processing system having integrated pipelined array data processor |
US7140019B2 (en) * | 2002-06-28 | 2006-11-21 | Motorola, Inc. | Scheduler of program instructions for streaming vector processor having interconnected functional units |
US7415601B2 (en) * | 2002-06-28 | 2008-08-19 | Motorola, Inc. | Method and apparatus for elimination of prolog and epilog instructions in a vector processor using data validity tags and sink counters |
US7159099B2 (en) * | 2002-06-28 | 2007-01-02 | Motorola, Inc. | Streaming vector processor with reconfigurable interconnection switch |
US6941438B2 (en) * | 2003-01-10 | 2005-09-06 | Intel Corporation | Memory interleaving |
US7290122B2 (en) * | 2003-08-29 | 2007-10-30 | Motorola, Inc. | Dataflow graph compression for power reduction in a vector processor |
US7610466B2 (en) * | 2003-09-05 | 2009-10-27 | Freescale Semiconductor, Inc. | Data processing system using independent memory and register operand size specifiers and method thereof |
US7315932B2 (en) * | 2003-09-08 | 2008-01-01 | Moyer William C | Data processing system having instruction specifiers for SIMD register operands and method thereof |
US7107436B2 (en) * | 2003-09-08 | 2006-09-12 | Freescale Semiconductor, Inc. | Conditional next portion transferring of data stream to or from register based on subsequent instruction aspect |
US7275148B2 (en) * | 2003-09-08 | 2007-09-25 | Freescale Semiconductor, Inc. | Data processing system using multiple addressing modes for SIMD operations and method thereof |
US7634633B2 (en) * | 2006-11-30 | 2009-12-15 | Motorola, Inc. | Method and apparatus for memory address generation using dynamic stream descriptors |
US7945768B2 (en) * | 2008-06-05 | 2011-05-17 | Motorola Mobility, Inc. | Method and apparatus for nested instruction looping using implicit predicates |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4547849A (en) * | 1981-12-09 | 1985-10-15 | Glenn Louie | Interface between a microprocessor and a coprocessor |
JPH02287750A (ja) * | 1989-04-28 | 1990-11-27 | Toshiba Corp | チャネル装置におけるアドレス変換方式 |
JP3215105B2 (ja) * | 1990-08-24 | 2001-10-02 | 富士通株式会社 | メモリアクセス装置 |
JPH06103213A (ja) * | 1992-09-18 | 1994-04-15 | Hitachi Ltd | 入出力装置 |
JP3206215B2 (ja) * | 1993-05-25 | 2001-09-10 | 松下電器産業株式会社 | ディジタル信号処理装置 |
GB2304438A (en) * | 1995-08-17 | 1997-03-19 | Kenneth Austin | Re-configurable application specific device |
US5911153A (en) * | 1996-10-03 | 1999-06-08 | International Business Machines Corporation | Memory design which facilitates incremental fetch and store requests off applied base address requests |
US6055622A (en) * | 1997-02-03 | 2000-04-25 | Intel Corporation | Global stride prefetching apparatus and method for a high-performance processor |
US5940876A (en) * | 1997-04-02 | 1999-08-17 | Advanced Micro Devices, Inc. | Stride instruction for fetching data separated by a stride amount |
-
1998
- 1998-12-23 SE SE9804529A patent/SE9804529L/xx not_active Application Discontinuation
-
1999
- 1999-02-18 US US09/252,173 patent/US6381687B2/en not_active Expired - Lifetime
- 1999-12-14 WO PCT/SE1999/002339 patent/WO2000039685A1/en not_active Application Discontinuation
- 1999-12-14 CN CNB998163481A patent/CN100338585C/zh not_active Expired - Lifetime
- 1999-12-14 AU AU21331/00A patent/AU2133100A/en not_active Abandoned
- 1999-12-14 JP JP2000591513A patent/JP4584457B2/ja not_active Expired - Lifetime
- 1999-12-14 EP EP99965639A patent/EP1141837B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN100338585C (zh) | 2007-09-19 |
AU2133100A (en) | 2000-07-31 |
WO2000039685A1 (en) | 2000-07-06 |
SE9804529L (sv) | 2000-06-24 |
SE9804529D0 (sv) | 1998-12-23 |
US20020019905A1 (en) | 2002-02-14 |
EP1141837A1 (en) | 2001-10-10 |
US6381687B2 (en) | 2002-04-30 |
JP2002533833A (ja) | 2002-10-08 |
EP1141837B1 (en) | 2013-03-20 |
CN1335963A (zh) | 2002-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4584457B2 (ja) | フレキシブルメモリチャネル | |
US5615382A (en) | Data transfer system for buffering and selectively manipulating the size of data blocks being transferred between a processor and a system bus of a computer system | |
US7937538B2 (en) | External memory controller node | |
US5483642A (en) | Bus system for use with information processing apparatus | |
TW583883B (en) | System and method for multiple channel video transcoding | |
TW315572B (ja) | ||
US20080244124A1 (en) | Bus system for use with information processing apparatus | |
JP2005251196A (ja) | メモリインターフェースおよびデータ処理システム | |
CN103988178B (zh) | 数据处理系统以及控制对共享存储单元的访问的方法 | |
US7350035B2 (en) | Information-processing apparatus and electronic equipment using thereof | |
Sahu et al. | An Implementation of I 2 C using VHDL for DATA surveillance | |
JP2767846B2 (ja) | 画像データの転送回路 | |
KR20000014522A (ko) | 압축 기능을 갖는 직접 메모리 액세스 컨트롤러 | |
KR100249830B1 (ko) | 비디오 인코더의 비트율 제어 장치 및 그 방법 | |
JPH103449A (ja) | データ転送システム | |
JPH05292130A (ja) | 通信制御用半導体集積回路 | |
JPS63240173A (ja) | 画像信号復号化装置 | |
JPH04148254A (ja) | メモリ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091013 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091225 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100413 |
|
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: 20100803 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100902 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4584457 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130910 Year of fee payment: 3 |
|
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 |
|
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 |
|
EXPY | Cancellation because of completion of term |