JP2008529181A - ライン・アクセスおよびワード・アクセスの結合を用いてメモリをアクセスするためのシステムおよび方法 - Google Patents

ライン・アクセスおよびワード・アクセスの結合を用いてメモリをアクセスするためのシステムおよび方法 Download PDF

Info

Publication number
JP2008529181A
JP2008529181A JP2007553585A JP2007553585A JP2008529181A JP 2008529181 A JP2008529181 A JP 2008529181A JP 2007553585 A JP2007553585 A JP 2007553585A JP 2007553585 A JP2007553585 A JP 2007553585A JP 2008529181 A JP2008529181 A JP 2008529181A
Authority
JP
Japan
Prior art keywords
dma
read
request
write
memory
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
JP2007553585A
Other languages
English (en)
Other versions
JP4931828B2 (ja
JP2008529181A5 (ja
Inventor
ドン、サン、フー
フラクス、ブライアン、キング
ホフスティ、ハーム、ピーター
修 高橋
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008529181A publication Critical patent/JP2008529181A/ja
Publication of JP2008529181A5 publication Critical patent/JP2008529181A5/ja
Application granted granted Critical
Publication of JP4931828B2 publication Critical patent/JP4931828B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory

Abstract

【課題】
プロセッサがライン・アクセスおよびワード・アクセスの結合を用いてメモリをアクセスするためのシステムおよび方法
【解決手段】
システムが、データを指示するためにマルチプレクサおよびラッチを使って、同じメモリ・バンクに対して狭幅の読取り/書込みメモリ・アクセスおよび広幅の読取り/書込みメモリ・アクセスを行う。システムは、狭幅の読取り/書込みメモリ・アクセスを使って16バイトのロード/ストア要求を処理し、広幅の読取り/書込みメモリ・アクセスを使って128バイトのDMA要求および命令フェッチ要求を処理する。DMA要求中、システムは、1つの命令サイクルで、メモリに対する16個のDMA書込み/読取りオペレーションを行う。これを行うことによって、メモリは、15個の他の命令サイクル中、ロード/ストア要求または命令フェッチ要求を処理するために使用可能である。
【選択図】 図2

Description

本発明は、一般的には、ライン・アクセスおよびワード・アクセスの結合を用いてメモリをアクセスするためのシステムおよび方法に関するものである。更に詳しく云えば、本発明は、プロセッサが同じメモリ・スペースに対して狭幅の(narrow)メモリ・アクセスおよび広幅の(wide)メモリ・アクセスを行うためのシステムおよび方法に関するものである。
回路設計者は、装置のパフォーマンスおよび装置のコストのどちらを優先すべきかを決定する場面に直面することが多い。装置のコストの大部分は、その設計が必要とするシリコン領域の量と一致する。装置のシリコン領域の多くのパーセンテージがメモリ用に使用されるので、回路設計者は、メモリがパフォーマンス要件に叶うように、しかし装置のコストを不必要に増加させるほど過度に大きくならないように、回路設計で使用すべきメモリ・セルのタイプに対して特別な注意を払っている。
既存の技術は、一般に、シングル・ポート・メモリ・セルのタイプまたはデュアル・ポート・メモリ・セルのタイプを使用する。シングル・ポート・メモリ・セルのタイプはそれら2つのタイプのうちの小さいほうであり、従って、装置のコストを小さくする。しかし、シングル・ポート・メモリのブロックは、再ロード・オペレーション時のロード/ストア・アクセスを阻止し、従って、パフォーマンスを犠牲にする。デュアル・ポート・メモリ・セルのタイプは、プロセッサがメモリへの書込みおよびメモリからの読取りを同時に行い得るので、それら2つのタイプのうちのより良いパフォーマンスを有する。しかし、デュアル・ポート・メモリ・セルのタイプは、2つのタイプのうちでは大型のほうであり、装置のコストを増加させる。わかった課題は、回路設計者がこれらのメモリ・セルのタイプの1つを選ぶとき、一般に、回路設計者がパフォーマンスを犠牲にするか或いは装置のコストを増加させるかということである。
更に、スタティック・ランダム・アクセス・メモリ(SRAM)は、一般に、キャッシュとして使用するために通常のマイクロプロセッサに結合される。オペレーション中、キャッシュは、一般に、プロセッサが、キャッシュにあるデータまたは命令以外のデータまたは命令を要求するとき、新しいデータまたは命令をロードされる。その結果、プロセッサのプログラムは、オペレーション・コードまたはデータがSRAMにロードされてプロセッサにとって使用可能になるまで命令を完了することができないので、特定の時点で停止する。
従って、本発明の目的は、装置のコストを小さくするためにメモリが必要とするシリコン領域の量を最小にすると同時に、メモリパフォーマンスを増加させるシステムおよび方法を提供することである。
上記の課題は、同じメモリ・バンクに対して狭幅の読取り/書込みメモリ・アクセスおよび広幅の読取り/書込みメモリ・アクセスを行うシステムおよび方法を使用して解決されることがわかった。そのシステムは、狭幅の読取り/書込みメモリ・アクセスを使って16バイトのロード/ストア要求を処理し、広幅の読取り/書込みメモリ・アクセスを使って128バイトのDMA要求および命令フェッチ要求を処理する。
システムは、2つの異なるメモリ・アクセスのタイプを支援するためにマルチプレクサおよびラッチを使用する。「ストア」要求を処理している間、書込みマルチプレクサが16バイトのストア・データをプロセッサ・コアから受取るように構成される。16バイトのストア・データは、狭幅の書込みメモリ・アクセスを使ってメモリにロードされる。「ロード」要求を処理している間、ロード・マルチプレクサが、16バイトのロード・データをメモリから受け取り、そのロード・データをプロセッサ・コアに供給するように構成される。
広幅のメモリ・アクセス(例えば、128バイトのデータ)を使って、命令フェッチ要求およびDMA要求が行われる。命令フェッチ要求を処理している間、読取りマルチプレクサが、メモリから128バイトの命令フェッチ・データを受取るように、および読取りラッチにそのデータを供給するように構成される。一方、プロセッサ・コアは読取りラッチから命令フェッチ・データを検索する。32ビット(命令セット)RISCアーキテクチャにおける32個の命令のような128バイトを一時にフェッチすることによって、メモリが命令フェッチのためにアクセスされる回数は最小にされる。
システム・パフォーマンスを最大にするために、DMA要求の処理は、1命令サイクルにおいてメモリから複数DMAデータを読取ること/メモリに複数DMAデータを書込むことを伴う。単一のDMA読取りまたは書込みオペレーションが16個のプロセッサ・サイクル分のDMAデータを含む。本発明は、DMAに関する16個の命令サイクルごとにメモリ・バンクが1回アクセスされるように、DMAオペレーションを蓄積およびストアするための書込み蓄積バッファおよび読取りラッチを使用する。DMA書込みオペレーション中、DMAユニットはDMA書込みデータ(8バイト)を書込み蓄積バッファに送る。DMA書込み蓄積バッファはDMA書込みデータをストアし、それが16個の連続したDMA書込みオペレーションを受けたかどうかを決定する。
一旦、書込み蓄積バッファが16個の連続したDMA書込みオペレーションを受けると、システムは、メモリに対する広幅の書込みメモリ・アクセスをスケジュールする。一方、書込みマルチプレクサは、書込み蓄積バッファからDMAデータを受取るように構成され、DMAデータは単一の命令サイクル中にメモリにロードされる。
同様のシナリオがDMA読取りオペレーションに対しても存在する。DMA読取りオペレーション中、システムは、メモリから広幅の読取りメモリ・アクセスを受けるように、およびそれを読取りラッチにロードするように読取りマルチプレクサを構成する。広幅の読取りメモリ・アクセスは16個の命令サイクル分のDMAデータを含む。一方、読取りラッチは、DMAデータを、16個の異なる命令サイクルを通してDMAユニットに供給する。従って、DMA読取りオペレーションおよび書込みオペレーションが最大の帯域幅で処理していても、システムは、メモリをアクセスするために16個の命令サイクルのうちの2個を占め、残りの14個の命令サイクルは、ロードおよびストア・オペレーション、並びに命令フェッチのためにシステムにとって使用可能に残っている。
メモリ・アレイと蓄積ラッチとの間に書込みワイヤ・トラックを保存するために、本発明は、読取り蓄積ラッチを、それぞれが64バイトの2つのラッチに分割するメモリ構成を可能にし、それによって、フェッチが128バイト境界ではなく64バイト境界に揃えられるという更なる利点を有し、従って、各フェッチが、結果として、エントリ・ポイント(命令ブランチ・ターゲット)に関係ない少なくとも64バイト+4バイト分の有効命令を生じる。
以上は要約であり、従って、必要に応じて、簡略化、一般化、および細部の省略を含む。従って、この要約が単に例示的であること、および如何なる場合でも限定を意図するものではないことは当業者には明らかであろう。「特許請求の範囲」の記載によってのみ定義される本発明の他の側面、発明的特徴、および利点は、下記の非限定的な詳細な説明において明らかとなるであろう。
図1は、狭幅の読取り/書込みメモリ・アクセスおよび広幅の読取り/書込みメモリ・アクセスを可能にする相乗的処理素子(Synergistic Processing Element - SPE)の高レベル概略図である。SPE100は、相乗的処理ユニット(SPU)110およびDMAユニット150を含む。SPU110は、相乗的実行ユニット(SynergisticExecution Unit - SXU)120、チャネル・ユニット130、およびローカル記憶装置140を含む。
SXU120は、命令フェッチ・オペレーションおよびロード/ストア・オペレーションの両方に対してローカル記憶装置140をアクセスする。命令フェッチ・オペレーション中、SPU110は広幅の読取りメモリ・アクセスを実行し、それによって、SXU120はローカル記憶装置140から128バイトのデータを受取る。ロード/ストア・オペレーション中、SPU110は狭幅の読取り/書込みメモリ・アクセスを実行し、それによって、SXU120はローカル記憶装置140から16バイトのデータを読取るか、またはローカル記憶装置140に16バイトのデータを書込む。
SPU110は、DMAユニット150をプログラムするためにチャネル・ユニット130を使用する。DMAユニット150は、ローカル記憶装置140からの/ローカル記憶装置140へのDMA読取り/書込みオペレーションを行う。ローカル記憶装置140は、書込み蓄積バッファおよび読取りラッチを含み、それによって、これらの各々は128バイトのデータを蓄積する。DMA書込み要求中、DMAユニット150は、書込み蓄積バッファへの8バイトDMA書込みオペレーションを行う。書込み蓄積バッファが16個の連続したDMA書込みオペレーションを受けるとき、SPU110は広幅の書込みメモリ・アクセスを行い、書込み蓄積バッファの内容をメモリにロードする。
同様のシナリオがDMA読取りオペレーションに対しても存在する。DMA読取り要求中、SPU110は、広幅の読取りメモリ・アクセスを行い、16個の8バイトDMA読取りオペレーションを読取りラッチにロードする。一方、DMAデータは、16個の異なる命令サイクルを通して素子相互接続バス(Element Interconnected Bus - EIB)160に書込まれる。その結果、読取りラッチは16個のプロセッサ・サイクル分のDMAデータをストアするので、メモリ・バンクは、15個の命令サイクル中、自由にロード/ストア・オペレーションまたは命令フェッチ・オペレーションを行うことができる(更なる詳細については、図2〜図12を参照されたい)。
図2は、同じメモリに狭幅の読取り/書込みメモリ・アクセスおよび広幅の読取り/書込みメモリ・アクセスを行うことができるシステムを示すブロック図である。システムは、狭幅の読取り/書込みメモリ・アクセスを使って16バイトのロード/ストア要求を処理することが可能である。更に、システムは、広幅の読取り/書込みメモリ・アクセスを使って128バイトのDMA要求および命令フェッチ要求を処理することも可能である。
図2は、図1に示されたものと同様の相乗的実行ユニット(SXU)120およびDMAユニット150を示す。図2は、図1に示されたローカル記憶装置140の詳細も含み、それは、書込み蓄積バッファ210、書込みマルチプレクサ230、メモリ200、ロード・マルチプレクサ250、読取りマルチプレクサ270、および読取りラッチ280である。
「ストア」要求を処理するとき、書込みマルチプレクサ230はSXU120から16バイトのストア・データ(即ち、ストア240)を受取るように構成される。16バイトのストア・データは狭幅の書込みメモリ・アクセスを使ってメモリ200にロードされる。「ロード」要求を処理するときには、ロード・マルチプレクサ250はメモリ200から16バイトのロード・データを受取り、そのロード・データ(即ち、ロード260)をSXU120に供給するように構成される(ロード/ストア・オペレーションに関する詳細については、図11および対応する説明を参照されたい)。
命令フェッチ要求およびDMA要求は、広幅のメモリ・アクセス(例えば、128バイトのデータ)を使って行われる。命令フェッチ要求を処理するとき、読取りマルチプレクサ270はメモリ200から128バイトの命令フェッチ・データを受取って、それを読取りラッチ280に供給するように構成される。一方、SXU120は、読取りラッチ280から命令フェッチ・データ(即ち、命令フェッチ285)を検索する(命令フェッチ要求に関する更なる詳細については、図12および対応する説明を参照されたい)。
システム・パフォーマンスを最大にするために、メモリから/メモリに複数のDMAデータを読取ることおよび書込むことを伴う。DMA読取りまたは書込み帯域幅は8バイト/サイクルである。本発明は、メモリ200がDMA要求に対して16個の命令サイクルごとに1回アクセスされるように、書込み蓄積バッファ210および読取りラッチ280を使用して16個のDMAオペレーションを蓄積およびストアする(更なる詳細については図4〜図7および対応する説明を参照されたい)。DMA書込みオペレーション中、DMAユニット150は、DMA書込み220(8バイト)を書込み蓄積バッファ210に送る。書込み蓄積バッファ210はDMA書込み220をストアし、それが16個の連続したDMA書込みオペレーションを受けたかどうかを決定する(DMA書込み量の追跡に関する更なる詳細については図8および対応する説明を参照されたい)。
一旦、書込み蓄積バッファ210が、16個の連続したDMA書込みオペレーションを受けたということを決定すると、システムはメモリ200に対する広幅の書込みメモリ・アクセスをスケジュールする。一方、書込みマルチプレクサ230は、単一の命令サイクル中にメモリ200にロードされるDMAデータを書込み蓄積バッファ210から受取るように構成される。16個の連続したDMA書込みオペレーションを1つの命令サイクルでロードすることによって、メモリ200は、15個の他の命令サイクル中にロード/ストア要求または命令フェッチ要求を処理するために使用可能である。例えば、通常の単一ポート・メモリを、下記のようにサイクルごとに利用することも可能である。
「lslrrrrrrrrrrrrrrrrslwwwwwwwwwwwwwwww」
なお、上記の各文字は命令サイクルに対応し、lはロードであり、sはストアであり、rは8バイトのDMA読取りであり、wは8バイトのDMA書込みである。本発明を使用すると、通常の単一ポート・メモリを、下記のようにサイクルごとに利用することが可能である。
「lslRslW」
なお、上記のRは128バイトDMA読取り(広幅の読取り)であり、Wは128バイトのDMA書込み(広幅の書込み)である。明らかなように、各文字がプロセッサ・サイクルに対応するので、第2シーケンスはかなり少ないプロセッサ・サイクルで完了し、従って、かなり改良されたプロセッサ・パフォーマンスを可能にする(更なる詳細については、図4乃至図7および対応する説明を参照されたい)。
DMA読取りオペレーション中、システムは、メモリ200から広幅の読取りメモリ・アクセスを受け、それを読取りラッチ280にロードするようにマルチプレクサ270を構成する。広幅の読取りメモリ・アクセスは16個のプロセッサ・サイクル分のDMAデータを含む。一方、読取りラッチ280は16個のプロセッサ・サイクル分のDMAデータ(即ち、DMA読取り290)をDMAユニット150に供給する。
図3は、狭幅の読取り/書込みメモリ・アクセスおよび広幅の読取り/書込みメモリ・アクセスを分割蓄積ラッチ構成で行うことができるシステムを示す概略図である。図3が、図2に示された1つのメモリ・バンクの代わりに分割蓄積ラッチ機能のための2つのメモリ・バンクを含むということを除けば、図3は図2と同じである。この機構の利点は、64バイトの広幅のバスしか命令ユニットおよびDMAユニットに接続されていないということである。
図3は、偶数メモリ・バンク300および奇数メモリ・バンク305を含む。「ストア」要求を処理するとき、書込みマルチプレクサ330または335がSXU120からの16バイトのストア・データ(即ち、ストア240)を受取るように構成される。16バイトのストア・データ240は、狭幅の書込みメモリ・アクセスを使用してメモリ・バンク300または305にロードされる。「ロード」要求を処理するとき、ロード・マルチプレクサ350が偶数メモリ・バンク300または奇数メモリ・バンク305からの16バイトのロード・データを受取るように構成され、ロード・マルチプレクサ350がそのロード・データをSXU120に供給する。SXU120、ストア240、およびロード260は図2に示されたものと同じである。
命令フェッチ要求およびDMA要求は、依然として分割蓄積ラッチ構成における広幅のメモリ・アクセス(例えば、128バイトのデータ)を使用して行われる。命令フェッチ要求を処理するとき、読取りマルチプレクサ370が、偶数メモリ・バンク300から64バイトの命令フェッチ・データを受取り、それを読取りラッチ380に供給するように構成される。同じ命令サイクル中、読取りラッチ385は奇数メモリ・バンク305から64バイトの命令フェッチ・データを受取る。SXU120は読取りラッチ280から「偶数メモリ・バンク」命令フェッチ・データ(即ち、命令フェッチ285)を検索する。一旦、SXU120が読取りラッチ380からすべての偶数メモリ・バンク・データを検索すると、読取りマルチプレクサ370は読取りラッチ385から奇数メモリ・バンク命令フェッチ・データを受取り、それを読取りラッチ380に供給するように構成される。一方、SXU120は読取りラッチ380から奇数メモリ・バンク・データを検索する。
DMA書込みオペレーション中、DMAユニット150はDMA書込み220を書込み蓄積バッファ310および315に送る。図3に示された書込み蓄積バッファの各々は、64バイトのDMA書込みデータを蓄積することができる。書込み蓄積バッファが16個の全DMA書込みオペレーション(128バイト全部)を受けたということをシステムが決定するとき、システムは、メモリ・バンク300および305に対する広幅の書込みメモリ・アクセスをスケジュールする。一方、書込みマルチプレクサ330および335は、それぞれ、書込み蓄積バッファ310および315からDMAデータを受取るように構成される。そこで、DMAデータは、単一の命令サイクル中にメモリ・バンク300および305にロードされる。
DMA読取り要求は、読取りラッチの構成の処理における命令フェッチ要求のそれと同じである。DMA読取りオペレーション中、読取りマルチプレクサ370は、偶数メモリ・バンク300から64バイトのDMA読取りデータを受取り、それを読取りラッチ380に供給するように構成される。同じ命令サイクル中、読取りラッチ385は奇数メモリ・バンク305から64バイトのDMA読取りデータを受取る。読取りラッチ380は偶数メモリ・バンクのDMAデータをDMAユニット150に供給する。一旦、DNAユニット150が、偶数メモリ・バンクに含まれたDMA読取りデータの各々を受取ると、読取りマルチプレクサ370は読取りラッチ385から奇数メモリ・バンクのDMA読取りデータを受取り、それを読取りラッチ380に供給するように構成される。一方、DMAユニット150は読取りラッチ380から奇数メモリ・バンクのDM読取りデータを検索する。
図4は、読取りラッチの構成を示す図である。図4は、図2に示された読取りラッチ280の構成を示す。データは、広幅の読取りメモリ・アクセスを使ってメモリ・バンクから読取りラッチ280に転送される。広幅の読取りメモリ・アクセスは、16個の8バイト・オペレーション(DMA読取りまたは命令フェッチ)、合計128バイトを供給する。図3に示されたような分割蓄積ラッチ構成では、2つの読取りラッチが存在し、それによって、各読取りラッチがメモリから8個の8バイト・オペレーションを受ける。
DMA読取り中、システムは、1サイクル中にメモリから16個のプロセッサ・サイクル分のDMAデータを読出し、しかる後、そのDMAデータをDMAユニットに供給する(更なる詳細については、図5および対応する説明を参照されたい)。
図5は、読取りラッチへの単一のDMAメモリ読取りを示す図であり、それによって、読取りラッチが16個の異なる命令サイクルを通してDMAユニットにDMA読取りオペレーションを提供する。タイム・ライン400は、16個の命令サイクル(t1〜t16)および図2に示されたものと同じメモリ200、読取りラッチ280、およびDMAユニット150に関して各命令サイクル中に存在する活動を示す。
時間t1では、システムは広幅の読取りメモリ・アクセスを行ってメモリ200から128バイトを読出し、16個の8バイトDMA読取りオペレーションを読取りラッチ280にストアする。又、時間t1では、読取りラッチ280が1つのDMA読取りオペレーション(8バイト)をDMAユニット150に提供する。読取りラッチ280は16個のプロセッサ・サイクル分のDMAデータをストアするので、読取りラッチ280は、時間t2乃至t16においても、DMA読取りオペレーションをDMAユニット150に提供する。従って、時間t2〜t16の間、メモリ200は自由にロード/ストア・オペレーションまたは命令フェッチ・オペレーションを遂行することができる。時間t17(図示されていない)では、読取りラッチ280が別の16個のプロセッサ・サイクル分のDMAデータをメモリ200から受取ることが可能である。
分割蓄積ラッチの実施例では、図3に示された読取りラッチ380および385のような2つの読取りラッチがそれぞれ時間t1において8個の8バイトDMA読取りオペレーションをロードされる。次に、この実施例では、1つの読取りラッチが8個の命令サイクルを通してその8個のDMA読取りオペレーションをDMAユニット150に提供し、他の読取りラッチが8個の更なる命令サイクルを通してその8個のDMA読取りオペレーションをDMAユニット150に提供する。
図6は、書込み蓄積バッファの構成を示す図である。図6は、図2に示された書込み蓄積バッファ210の構成を示す。DMAユニット150(図2に示された)は、16個の異なる命令サイクルを通して書込み蓄積バッファ210に、合計128バイトのデータとなる8バイトのDMA書込みデータを送る。
一旦、書込み蓄積バッファが128バイトのデータを受取ると、システムはメモリに対する広幅の書込みメモリ・アクセスをスケジュールする(更なる詳細については図8および対応する説明を参照されたい)。そこで、システムはメモリに対する広幅の書込みメモリ・アクセスを行い、1クロック・サイクル中に16個の連続したDMA書込みオペレーションをメモリにロードする(更なる詳細については図7および対応する説明を参照されたい)。図3に示されたような分割蓄積ラッチ構成では、2つの書込み蓄積バッファがDMAユニット150から8個のDMA書込みオペレーションを受けり、しかる後、それらが1命令サイクルで合計16個の連続したDMA書込みオペレーションをメモリにロードする。
図7は、16個の連続したDMA書込みオペレーションを含む、メモリへの単一のDMAメモリ書込みを示す図である。タイム・ライン500は、16個の命令サイクルと、図2に示されたものと同じであるメモリ200、書込み蓄積バッファ210、およびDMAユニット150に関して各命令サイクル中に存在する活動とを示す。
時間t1において、DMAユニット150がDMA書込みオペレーションを書込み蓄積バッファ210にストアする。又、時間t1において、メモリ200が自由にロード/ストア・オペレーションまたは命令フェッチ・オペレーションを行うことができる。同じことが時間t2〜t15にも当てはまる。その時間に、DMAユニット150がDMA書込みオペレーションを書込み蓄積バッファ210にロードし、メモリ200は自由にロード/ストア・オペレーションまたは命令フェッチ・オペレーションを行うことができる。時間t16において、DMAユニット150は16個のDMA書込みオペレーションを書込み蓄積バッファ210にロードし、システムは、広幅の書込みメモリ・アクセスを行って書込み蓄積バッファ210の内容をメモリ200にロードする。
分割蓄積ラッチの実施例では、図3に示された書込み蓄積バッファ310および315のような2つの書込み蓄積バッファが時間t16においてそれらの内容をメモリにロードする。
図8は、DMAメモリ書込みオペレーションをスケジュールする場合にとられるステップを示すフローチャートである。システムは、書込み蓄積バッファを含み、そのバッファは、満杯になるまでDMA書込みをストアする。一旦バッファが満杯になると、システムはそのメモリに対する広幅の書込みメモリ・アクセスを行う。例えば、DMA書込みが8バイトの長さである場合、書込み蓄積バッファは16個のDMA書込みを受け、しかる後、システムは16個のDMA書込みを含む、メモリに対する128バイトの書込みアクセスを行う(更なる詳細については図6、図7および対応する説明を参照されたい)。
処理はステップ600において開始し、その際、処理はDMAユニット150からのDMA書込み要求を待つ。DMAユニット150は図1に示されたものと同じである。一旦システムがDMA書込み要求を受取ると、システムはDMA書込みデータを書込み蓄積バッファ210にストアする(ステップ620)。書込み蓄積バッファ210は図1に示されたものと同じである。ステップ630において、処理はDMA書込みカウンタ635をインクリメントする。DMA書込みカウンタ635は、書込み蓄積バッファ210にストアされたDMA書込みの数を追跡するために使用される。
DMA書込みカウンタ635が16に等しいかどうかに関する決定が行われる(判断ステップ640)。図8に示された例は、8バイトDMA書込みを有する128バイトの広幅の書込みメモリ・アクセスのようなそれのDMA書込みよりも16倍も大きい広幅のメモリ・アクセス・サイズを有するシステムに対するものである。当業者には明らかであるように、DMA書込みカウンタが到達する値は、システムのDMA書込みのサイズに比べると、システムの広幅の書込みメモリ・アクセスのサイズに依存し、その比率は16よりも小さいかまたは大きくてもよい。
DMA書込みカウンタ635が16に等しくない場合、判断ステップ640は「ノー(No)」ブランチ642にブランチし、更なるDMA書込み要求を処理し続けるようにループ・バックする。このループは、DMA書込みカウンタ635が16に達するまで継続し、それが16に達した時点で、判断ステップ640が「イエス(Yes)」ブランチ648にブランチする。処理は、書込み蓄積バッファ210にストアされるDMA書込みのために、メモリに対する広幅の書込みメモリ・アクセスをスケジュールし(ステップ650)、処理はステップ660においてDMA書込みカウンタ635をクリアする。
DMA書込み要求の処理を継続すべきかどうかに関する決定が行われる(判断ステップ670)。DMA書込み要求の処理が継続すべき場合、判断ステップ670は、更なるDMA書込み要求を処理するためにループする「イエス」ブランチ672にブランチする。このループは、処理が終了するまで継続し、その終了時点で、判断ステップ670は「ノー」ブランチ678にブランチし、処理がステップ680において終わる。
図9は、メモリ要求を処理する場合にとられるステップを示す高レベルのフローチャートである。1つの実施例では、システムは、DMA要求が最高の優先順位となり、次にロード/ストア要求、次に命令フェッチ要求となるようにメモリ・アクセス要求に優先順位をつける。図9に示されたフローチャートは、上記実施例において検討された要求の優先順位付けの一例である。
処理はステップ700で開始し、その時点で、処理はステップ710における命令サイクルを待つ。一旦処理が命令サイクルを検出すると、処理がDMA要求を受取ったかどうかに関する決定が行われる(判断ステップ720)。処理がDMA要求を受取った場合、判断ステップ720は「イエス」ブランチ722にブランチする。その際、処理はDMA要求を処理し、メモリへの/メモリからの広幅の書込み/読取りメモリ・アクセスを行う(事前定義された処理ブロック730)(更なる詳細については、図10および対応する説明を参照されたい)。
一方、処理がDMA要求を受取らなかった場合、判断ステップ720は「ノー」ブランチ728にブランチし、その際、処理がロード/ストア要求を受取ったかどうかに関する決定が行われる(判断ステップ740)。処理がロード/ストア要求を受取った場合、判断ステップ740は「イエス」ブランチ742にブランチし、その際、ロード/ストア要求を処理してメモリへの/メモリからの狭幅の書込み/読取りアクセスを行う(事前定義された処理ブロック750)、(更なる詳細については、図11および対応する説明を参照されたい)。
一方、処理がロード/ストア要求を受取らなかった場合、判断ステップ740は「ノー」ブランチ748にブランチし、その際、処理が命令フェッチ要求を受取ったかどうかに関する決定が行われる(判断ステップ760)。処理が命令フェッチ要求を受取った場合、判断ステップ760は「イエス」ブランチ762にブランチし、その際、処理は命令フェッチ要求を処理して、メモリに対する広幅のメモリ・アクセスを行う(事前定義された処理ステップ770)、(更なる詳細については、図12および対応する説明を参照されたい)。一方、処理が命令フェッチ要求を受取らなかった場合、判断ステップ760は「ノー」ブランチ768にブランチする。
メモリ要求アービトレーションを継続すべきかどうかに関する決定が行われる(判断ステップ780)。処理がメモリ要求アービトレーションを継続すべきである場合、判断ステップ780は「イエス」ブランチ782にブランチし、更なるメモリ・アクセス要求を処理するためにループ・バックする。このループは、処理がメモリ要求アービトレーションを停止するまで継続し、その停止時点で、判断ステップ780は「ノー」ブランチ788にブランチし、処理はステップ790で終了する。
図10は、DMA要求を処理する場合にとられるステップを示すフローチャートである。DMAの活動は、ロード/ストア要求および命令フェッチ要求よりも高い優先順位を有する(図9参照)。1つの実施例では、DMA要求は、ロード/ストア要求および命令フェッチ要求を受け入れるために15個の命令サイクルを残して、16番目の命令サイクルごとに生じるようにスケジュールされてもよい(更なる詳細については、図4〜図7および対応する説明を参照されたい)。
DMA要求処理はステップ800で開始し、そして、そのDMA要求がDMA読取り要求またはDMA書込み要求のどちらであるかに関する決定が行われる(ステップ810)。それがDMA書込み要求である場合、判断ステップ810は「書込み」ブランチ812にブランチする。処理は、ステップ820において、書込み蓄積バッファ210からのデータを受け入れるように書込みマルチプレクサ230を構成する。書込み蓄積バッファ210および書込みマルチプレクサ230は図2に示されたものと同じである。
ステップ830では、処理はメモリ200に対する広幅の書込みメモリ・アクセスを行い、それによって、書込み蓄積バッファ210からのDMA書込みデータが書込みマルチプレクサ230を介してメモリ200に書込まれる。広幅の書込みメモリ・アクセスは1つのライン(128バイト)であり、16個のDMA書込み(それぞれ8バイト)を含む。処理はステップ840において戻る。
DMA要求がDMA読取り要求である場合、判断ステップ810は「読取り」ブランチ818にブランチする。処理は、メモリ200からのデータを受取ってそのデータを読取りラッチ280に供給するように読取りマルチプレクサ270を構成する(ステップ850)。読取りマルチプレクサ270および読取りラッチ280は図2に示されたものと同じである。ステップ860では、処理はメモリ200に対する広幅の読取りメモリ・アクセスを行い、それによって、DMA読取りデータがメモリ200から読取られ、読取りマルチプレクサ270を介して読取りラッチ280にストアされる。DMA読取りは16個の8バイトDMA読取りを含む。
処理は、読取りラッチ280からの16個のDMA読取りを、16個の異なる命令サイクルを通してDMAユニット150に送り(ステップ870)、処理はステップ880において戻る。
図11は、ロード要求またはストア要求を処理する場合にとられるステップを示すフローチャートである。ロード要求およびストア要求は、DMA要求よりも低い優先順位で、しかし命令フェッチ要求よりも高い優先順位でスケジュールされる(要求の優先順位付けに関する更なる詳細については、図9および対応する説明を参照されたい)。
処理はステップ900において開始し、そして、その要求がロード要求またはストア要求のどちらであるかに関する決定が行われる(判断ステップ910)。その要求がストア要求である場合、判断ステップ910は「ストア」ブランチ912にブランチする。処理は、相乗的実行ユニット(SXU)120からのデータを受取るように書込みマルチプレクサ230を構成する。SXU120および書込みマルチプレクサ230は図2に示されたものと同じである。
ステップ930では、処理がメモリ200に対する狭幅の書込みアクセスを行い、それによってSXU120からのストア・データが書込みマルチプレクサ230を介してメモリ200に書込まれる。狭幅の書込みアクセスはクワドワード(quadword)の長さであってもよく、或いはシングル・ワードの長さであってもよい。処理はステップ940において戻る。
要求がロード要求である場合、判断ステップ910は「ロード」ブランチ918にブランチする。処理は、メモリ200からのデータを受取ってそのデータをSXU120に供給するようにロード・マルチプレクサ250を構成する(ステップ950)。ロード・マルチプレクサ250は図2に示されたものと同じである。ステップ960において、処理はメモリ200からの狭幅の読取りメモリ・アクセスを行い、それによって、ロード・データがメモリ200から読取られ、ロード・マルチプレクサ250を介してSXU120に送られる。処理はステップ970において戻る。
図12は、命令フェッチ要求を処理する場合にとられるステップを示すフローチャートである。1つの実施例では、命令フェッチ要求は、DMA要求およびロード/ストア要求よりも低い優先順位にある。処理はステップ1000において開始し、そしてメモリ200からのデータを受取ってそのデータを読取りラッチ280に供給するように読取りマルチプレクサ270を構成する(ステップ1020)。読取りマルチプレクサ270および読取りラッチ280は図2に示されたものと同じである。ステップ1040において、処理は、メモリ200からの広幅の読取りメモリ・アクセスを行い、それによって、命令フェッチ・データがメモリ200から読取られ、読取りマルチプレクサ270を介して読取りラッチ280にストアされる。
処理は読取りラッチ280から命令フェッチ・データを検索し、そのデータを相乗的実行ユニット(SXU)120にロードする(ステップ1060)。SXU120は図2に示されたものと同じである。処理はステップ1080において戻る。
図13は、本発明を具現化することができるコンピュータ装置のブロック図である。図13に示されたアーキテキチャは、共通のメモリおよび共通のバスを共用する異種のプロセッサを含む。ブロードバンド・エンジン(BE)1100が、素子相互接続ユニット1170を介して外部装置に/外部装置から情報を送りおよび受取り、図1に示されたものと同じ素子相互接続バス(EIB)160を使用して制御プレーン1110およびデータ・プレーン1140にその情報を分配する。制御プレーン1110はBE1100を管理し、作業をデータ・プレーン1140に分配する。
更に、素子相互接続バス(EIB)160は、読取り要求および書込み要求をメモリ・インターフェース・コントローラ(MIC)1180に供給する。メモリ・インターフェース・コントローラ1180は、外部メモリに通じているメモリ・インターフェース1190にそれらの要求を伝達する。
制御プレーン1110はオペレーティング・システム(OS)1125を稼動させる電源処理素子(PPE)1120を含む。例えば、PPE1120は、BE1110に組み込まれる Power PC のコアであってもよく、OS1125は Linux(Linus Torvaldsの商標)オペレーティング・システムであってもよい。PPE1120は、BE1110用の共通のメモリ・マップ・テーブルを管理する。そのメモリ・マップ・テーブルは、L2メモリ1130およびデータ・プレーン1140に含まれた非専用メモリのような、BE1100に含まれたメモリ・ロケーションに対応する。
データ・プレーン1140は相乗的処理素子(SPE)100、1150、1155を含む。SPE100は、図1に示されたものと同じである。各SPEはデータ情報を処理するために使用され、種々の命令セットを有してもよい。例えば、BE110は無線通信システムにおいて使用されてもよく、各SPEは、変調、チップ・レート処理、エンコーディング、およびネットワーク・インターフェーシングのような別々の処理タスクの責任を負うことも可能である。別の例では、各SPEは同様の命令セットを有し、並列処理の恩恵を受けるオペレーションを遂行するために並行して使用されてもよい。各SPEは、デジタル信号プロセッサ、マイクロコントローラ、マイクロプロセッサのような処理コア、またはこれらのコアの組合せである相乗的処理ユニット(SPE)を含む。
SPE100、1150、および1155はプロセッサ素子バス160に接続され、バス160は、制御プレーン1110、データ・プレーン1140、および素子相互接続ユニット(EIU)1170の間で情報を伝達させる。バス160は、オンチップ・コヒーレント・マルチプロセッサ・バスである。EIU1170は、BE1100に接続される周辺装置に基づいて入出力コントローラにインターフェース・ピンを動的に割り当てる融通性のある入出力ロジックを含む。
図13に示されたコンピュータ・システムはここで開示されたプロセスを実行することができるが、このコンピュータ・システムはコンピュータ・システムの単なる一例に過ぎない。多くの他のコンピュータ・システムが、ここで開示されたプロセスを遂行し得るということは当業者には明らかであろう。
本発明望ましい具現化方法の1つは、クライアント・アプリケーション、即ち、例えばコンピュータのランダム・アクセス・メモリに常駐し得るコード・モジュールにおける命令セット(プログラム・コード)である。その命令セットは、コンピュータによって要求されるまで、他のコンピュータ・メモリ、例えば、ハード・ディスク・ドライブ内に、或いは光ディスク(CD−ROMにおける究極的な使用のためのもの)もしくはフロッピ・ディスク(フロッピ・ディスク・ドライブにおける究極的な使用のためのもの)のような取外し可能なメモリ内にストアされてもよく、または、インターネット或いは他のコンピュータ・ネットワークを介してダウンロードされてもよい。従って、本発明は、コンピュータにおいて使用するためのコンピュータ・プログラムとして具現化することも可能である。更に、開示された種々の方法が、ソフトウェアによって選択的に活性化されるかまたは再構成される汎用コンピュータにおいて都合よく具現化されるが、そのような方法が、必要な方法ステップを遂行するために、ハードウェア、ファームウェア、またはもっと複雑な装置で実行されてもよいことも当業者には明らかであろう。
本発明の特定の実施例を示し、説明したが、本発明およびその広義の要旨から逸脱することなく、本明細書における教示に基づいて、変更および修正が施されてもよいことも当業者には明らかであろう。従って、「特許請求の範囲」の記載は、本発明の真意および範囲内にあるような変更および修正をすべて範囲内に包含するものである。更に、本発明は「特許請求の範囲」によってのみ定義されるということも当然である。「特許請求の範囲」において特定の数の要素が意図される場合、そのような意図は「特許請求の範囲」に明示的に記載されるであろうということ、およびそのような記載がない場合、そのような限定は存在しないということも当業者には明らかであろう。
狭幅の読取り/書込みメモリ・アクセスおよび広幅の読取り/書込みメモリ・アクセスが可能である相乗的処理素子の高レベルの概略図である。 同じメモリに対して狭幅の読取り/書込みメモリ・アクセスおよび広幅の読取り/書込みメモリ・アクセスを行うことができるシステムを示す概略図である。 分割蓄積ラッチ構成において狭幅の読取り/書込みメモリ・アクセスおよび広幅の読取り/書込みメモリ・アクセスを行うことができるシステムを示す概略図である。 読取りラッチの構成を示す概略図である。 読取りラッチへの単一のDMAメモリ読取りを示す図であり、それによって、読取りラッチは16個の異なる命令サイクルを介してDMAユニットにDMA読取りオペレーションを行う。 書込み蓄積バッファの構成を示す図である。 16個の連続したDMA書込みオペレーションを含む、メモリへの単一のDMAメモリ書込みを示す図である。 DMAメモリ書込みオペレーションをスケジュールする場合にとられるステップを示すフローチャートである。 メモリ要求を処理する場合にとられるステップを示す高レベルのフローチャートである。 DMA要求を処理する場合にとられるステップを示すフローチャートである。 ロード要求またはストア要求を処理する場合にとられるステップを示すフローチャートである。 命令フェッチ要求を処理する場合にとられるステップを示すフローチャートである。 本発明を具現化することが可能なコンピュータ装置のブロック図である。

Claims (20)

  1. 単一のメモリ・スペースに対する狭幅の読取り/書込みメモリ・アクセスおよび広幅の読取り/書込みメモリ・アクセスを支援するメモリを含むシステム。
  2. 前記狭幅の読取り/書込みメモリ・アクセスはロード/ストア要求に対応し、前記広幅の読取り/書込みメモリ・アクセスはDMA要求に対応する、請求項1に記載のシステム。
  3. 前記狭幅の読取り/書込みメモリ・アクセスはロード/ストア要求に対応し、前記広幅の読取り/書込みメモリ・アクセスは命令フェッチ要求およびDMA要求に対応する、請求項1に記載のシステム。
  4. 前記システムは、前記ロード/ストア要求、前記命令フェッチ要求、および前記DMA要求を優先順位付けするのに有効であり、更に、
    前記システムは、
    前記DMA要求が使用可能であるとき、前記ロード/ストア要求および前記命令フェッチ要求を処理する前に前記DMA要求を処理するのに有効であり、
    前記ロード/ストア要求が使用可能であるとき、前記命令フェッチ要求を処理する前に前記ロード/ストア要求を処理するのに有効である
    請求項3に記載のシステム。
  5. 複数のDMA書込みオペレーションを蓄積する書込み蓄積バッファを更に含み、
    前記複数のDMA書込みオペレーションは前記広幅の書込みメモリ・アクセスに対応する、請求項1に記載のシステム。
  6. 前記複数のDMA書込みオペレーションは複数の命令サイクルに対応し、前記広幅の書込みメモリ・アクセスは単一の命令サイクルに対応する、請求項5に記載のシステム。
  7. 前記広幅の書込みメモリ・アクセスから、複数のDMA読取りオペレーションに対応するDMAデータを受取る読取りラッチを更に含み、
    前記読取りラッチは、複数の命令サイクルによって前記複数のDMA読取りオペレーションをDMAユニットに提供する、請求項1に記載のシステム。
  8. 前記狭幅の読取り/書込みメモリ・アクセスはクワドワードに対応し、前記広幅の書込みメモリ・アクセスはメモリのラインに対応し、前記メモリは処理素子アーキテクチャにおいて使用される、請求項1に記載のシステム。
  9. 前記システムは分割蓄積ラッチ機能および複数のメモリ・バンクを支援する、請求項1に記載のシステム。
  10. ロード/ストア要求に対応する狭幅の読取り/書込みメモリ・アクセス中、前記システムは前記複数のメモリ・バンクの1つをアクセスし、残りの複数のメモリ・バンクはアクセスされない、請求項9に記載のシステム。
  11. 前記広幅の書込みメモリ・アクセスはキャッシュ・ライン・キャストアウト・オペレーションまたは再ロード・オペレーションに対応する、請求項1に記載のシステム。
  12. 前記単一のメモリ・スペースからおよび広幅の読取りオペレーション中は第2読取りラッチからデータを受取るための第1読取りラッチを更に含み、
    前記第2読取りラッチは前記単一のメモリ・スペースからデータを受取り、前記第1読取りラッチに対してデータをステージする、請求項1に記載のシステム。
  13. 第1プロセッサ・タイプと、
    1つまたは複数の第2プロセッサ・タイプと
    を更に含み、前記メモリは前記第2プロセッサ・タイプに含まれる、請求項1に記載のシステム。
  14. メモリ要求を受取るステップと、
    前記メモリ要求がメモリに対する狭幅の読取り/書込みメモリ・アクセスまたはメモリに対する広幅の読取り/書込みメモリ・アクセスのどちらに対応するかを決定するステップと、
    前記メモリ要求を処理するステップと
    を含む、コンピュータを使用して実施される方法。
  15. 前記狭幅の読取り/書込みメモリ・アクセスはロード/ストア要求に対応し、前記広幅の読取り/書込みメモリ・アクセスは命令フェッチ要求およびDMA要求に対応する、請求項14に記載の方法。
  16. 前記ロード/ストア要求、前記命令フェッチ要求、および前記DMA要求を優先順位付けするステップを更に含み、
    前記優先順位付けするステップは、更に
    前記DMA要求が使用可能であるとき、前記ロード/ストア要求および前記命令フェッチ要求を処理する前に前記DMA要求を処理するステップと、
    前記ロード/ストア要求が使用可能であるとき、前記命令フェッチ要求を処理する前に前記ロード/ストア要求を処理するステップと
    を更に含む、請求項14に記載の方法。
  17. 前記広幅の読取り/書込みメモリ・アクセスに応答して、複数のDMA読取りオペレーションに対応するDMAデータを受取るステップと、
    複数の命令サイクルを通して前記複数のDMA読取りオペレーションを提供するステップと
    を更に含む、請求項14に記載の方法。
  18. 前記広幅の読取り/書込みメモリ・アクセスに関して複数のDMA書込みオペレーションを蓄積するステップを更に含み、
    前記複数のDMA書込みオペレーションは複数の命令サイクルに対応し、前記広幅の読取り/書込みメモリ・アクセスは単一の命令サイクルに対応する、請求項14に記載の方法。
  19. メモリ要求を受取り、
    前記メモリ要求がメモリに対する狭幅の読取り/書込みメモリ・アクセスまたはメモリに対する広幅の読取り/書込みメモリ・アクセスのどちらに対応するかを決定し、
    前記メモリ要求を処理する
    ために有効なコンピュータ・プログラム・コードを含む、コンピュータ・プログラム。
  20. 前記狭幅の読取り/書込みメモリ・アクセスはロード/ストア要求に対応し、前記広幅の読取り/書込みメモリ・アクセスは命令フェッチ要求およびDMA要求に対応し、前記コンピュータ・プログラム・コードは前記ロード/ストア要求、前記命令フェッチ要求、および前記DMA要求を優先順位付けするのにも有効であり、更に、
    前記優先順位付けすることは、
    前記DMA要求が使用可能であるとき、前記ロード/ストア要求および前記命令フェッチ要求を処理する前に前記DMA要求を処理し、
    前記ロード/ストア要求が使用可能であるとき、前記命令フェッチ要求を処理する前に前記ロード/ストア要求を処理する
    ことを更に含む、請求項19に記載のコンピュータ・プログラム。
JP2007553585A 2005-02-03 2006-01-25 ライン・アクセスおよびワード・アクセスの結合を用いてメモリをアクセスするためのシステムおよび方法 Expired - Fee Related JP4931828B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/050,040 2005-02-03
US11/050,040 US7617338B2 (en) 2005-02-03 2005-02-03 Memory with combined line and word access
PCT/EP2006/050433 WO2006082154A2 (en) 2005-02-03 2006-01-25 System and method for a memory with combined line and word access

Publications (3)

Publication Number Publication Date
JP2008529181A true JP2008529181A (ja) 2008-07-31
JP2008529181A5 JP2008529181A5 (ja) 2008-11-27
JP4931828B2 JP4931828B2 (ja) 2012-05-16

Family

ID=36097154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007553585A Expired - Fee Related JP4931828B2 (ja) 2005-02-03 2006-01-25 ライン・アクセスおよびワード・アクセスの結合を用いてメモリをアクセスするためのシステムおよび方法

Country Status (8)

Country Link
US (1) US7617338B2 (ja)
EP (1) EP1849083B1 (ja)
JP (1) JP4931828B2 (ja)
CN (1) CN101111828B (ja)
AT (1) ATE415664T1 (ja)
DE (1) DE602006003869D1 (ja)
TW (1) TWI362591B (ja)
WO (1) WO2006082154A2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7681014B2 (en) * 2005-02-04 2010-03-16 Mips Technologies, Inc. Multithreading instruction scheduler employing thread group priorities
US8015323B2 (en) * 2006-02-28 2011-09-06 Infineon Technologies Ag Acquisition of data and autonomous transfer of data through communication interface in automotive system
WO2008089335A2 (en) * 2007-01-17 2008-07-24 Encirq Corporation Systems and methods for a devicesql parallel query
JP4356030B2 (ja) * 2007-05-17 2009-11-04 ソニー株式会社 情報処理装置および方法
US7941574B2 (en) * 2008-08-11 2011-05-10 International Business Machines Corporation CKD partial record handling
US7870308B2 (en) * 2008-12-23 2011-01-11 International Business Machines Corporation Programmable direct memory access engine
US7870309B2 (en) * 2008-12-23 2011-01-11 International Business Machines Corporation Multithreaded programmable direct memory access engine
JP6146128B2 (ja) * 2013-05-20 2017-06-14 ヤマハ株式会社 データ処理装置
US9842630B2 (en) * 2013-10-16 2017-12-12 Rambus Inc. Memory component with adjustable core-to-interface data rate ratio
CN104019752B (zh) * 2014-05-29 2015-11-25 京东方科技集团股份有限公司 显示屏的厚度均匀性检测方法、装置及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152733A (ja) * 1993-10-05 1995-06-16 Fujitsu Ltd ベクトル・データを処理するコンピュータ・システムおよび方法
JP2003044354A (ja) * 2001-07-26 2003-02-14 Matsushita Electric Ind Co Ltd メモリ制御装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0288649B1 (en) * 1987-04-22 1992-10-21 International Business Machines Corporation Memory control subsystem
US4918587A (en) * 1987-12-11 1990-04-17 Ncr Corporation Prefetch circuit for a computer memory subject to consecutive addressing
US4929246A (en) * 1988-10-27 1990-05-29 C. R. Bard, Inc. Method for closing and sealing an artery after removing a catheter
US5446845A (en) * 1993-09-20 1995-08-29 International Business Machines Corporation Steering logic to directly connect devices having different data word widths
US5784700A (en) * 1994-12-12 1998-07-21 Texas Instruments Incorporated Memory interface with address shift for different memory types
US7272703B2 (en) * 1997-08-01 2007-09-18 Micron Technology, Inc. Program controlled embedded-DRAM-DSP architecture and methods
US6351784B1 (en) 1998-12-28 2002-02-26 International Business Machines Corp. System for determining whether a subsequent transaction may be allowed or must be allowed or must not be allowed to bypass a preceding transaction
US6341318B1 (en) * 1999-08-10 2002-01-22 Chameleon Systems, Inc. DMA data streaming
US7386671B2 (en) * 2000-06-09 2008-06-10 Texas Instruments Incorporated Smart cache
EP1182564A3 (en) * 2000-08-21 2004-07-28 Texas Instruments France Local memory with indicator bits to support concurrent DMA and CPU access
US6775727B2 (en) * 2001-06-23 2004-08-10 Freescale Semiconductor, Inc. System and method for controlling bus arbitration during cache memory burst cycles
US6920510B2 (en) * 2002-06-05 2005-07-19 Lsi Logic Corporation Time sharing a single port memory among a plurality of ports

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152733A (ja) * 1993-10-05 1995-06-16 Fujitsu Ltd ベクトル・データを処理するコンピュータ・システムおよび方法
JP2003044354A (ja) * 2001-07-26 2003-02-14 Matsushita Electric Ind Co Ltd メモリ制御装置

Also Published As

Publication number Publication date
JP4931828B2 (ja) 2012-05-16
TWI362591B (en) 2012-04-21
EP1849083B1 (en) 2008-11-26
EP1849083A2 (en) 2007-10-31
CN101111828A (zh) 2008-01-23
CN101111828B (zh) 2010-10-13
TW200632668A (en) 2006-09-16
WO2006082154A2 (en) 2006-08-10
US20060179176A1 (en) 2006-08-10
ATE415664T1 (de) 2008-12-15
US7617338B2 (en) 2009-11-10
DE602006003869D1 (de) 2009-01-08
WO2006082154A3 (en) 2006-09-21

Similar Documents

Publication Publication Date Title
JP4931828B2 (ja) ライン・アクセスおよびワード・アクセスの結合を用いてメモリをアクセスするためのシステムおよび方法
US10860326B2 (en) Multi-threaded instruction buffer design
US8639882B2 (en) Methods and apparatus for source operand collector caching
US10007527B2 (en) Uniform load processing for parallel thread sub-sets
US10255228B2 (en) System and method for performing shaped memory access operations
US20150363206A1 (en) Implementing out of order processor instruction issue queue
CN116324744A (zh) 具有多个命令子队列和对应的仲裁器的存储器控制器
US11868306B2 (en) Processing-in-memory concurrent processing system and method
US20240105260A1 (en) Extended memory communication
CN114902198A (zh) 用于异构存储器系统的信令
JP2013025794A (ja) フラッシュインタフェースの有効利用
US10152329B2 (en) Pre-scheduled replays of divergent operations
US11275581B2 (en) Expended memory component
US9965321B2 (en) Error checking in out-of-order task scheduling
KR20150101870A (ko) 메모리의 뱅크 충돌을 방지하기 위한 방법 및 장치
CN111666253A (zh) 向具有共享存储器的共享处理元件的系统传递可编程数据
Yu et al. Buffer on last level cache for cpu and gpgpu data sharing
US9817668B2 (en) Batched replays of divergent operations
US11176065B2 (en) Extended memory interface
US20210406166A1 (en) Extended memory architecture
JP2009098819A (ja) メモリシステム、メモリシステムの制御方法、及びコンピュータシステム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081008

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110920

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4931828

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees