(57)【要約】【課題】  プロセッサがライン・アクセスおよびワード・アクセスの結合を用いてメモリをアクセスするためのシステムおよび方法【解決手段】  システムが、データを指示するためにマルチプレクサおよびラッチを使って、同じメモリ・バンクに対して狭幅の読取り／書込みメモリ・アクセスおよび広幅の読取り／書込みメモリ・アクセスを行う。システムは、狭幅の読取り／書込みメモリ・アクセスを使って１６バイトのロード／ストア要求を処理し、広幅の読取り／書込みメモリ・アクセスを使って１２８バイトのＤＭＡ要求および命令フェッチ要求を処理する。ＤＭＡ要求中、システムは、１つの命令サイクルで、メモリに対する１６個のＤＭＡ書込み／読取りオペレーションを行う。これを行うことによって、メモリは、１５個の他の命令サイクル中、ロード／ストア要求または命令フェッチ要求を処理するために使用可能である。【選択図】  図２
2008529181.tif 000002
【特許請求の範囲】
【請求項１】
単一のメモリ・スペースに対する狭幅の読取り／書込みメモリ・アクセスおよび広幅の読取り／書込みメモリ・アクセスを支援するメモリを含むシステム。
【請求項２】
前記狭幅の読取り／書込みメモリ・アクセスはロード／ストア要求に対応し、前記広幅の読取り／書込みメモリ・アクセスはＤＭＡ要求に対応する、請求項１に記載のシステム。
【請求項３】
前記狭幅の読取り／書込みメモリ・アクセスはロード／ストア要求に対応し、前記広幅の読取り／書込みメモリ・アクセスは命令フェッチ要求およびＤＭＡ要求に対応する、請求項１に記載のシステム。
【請求項４】
前記システムは、前記ロード／ストア要求、前記命令フェッチ要求、および前記ＤＭＡ要求を優先順位付けするのに有効であり、更に、
前記システムは、
前記ＤＭＡ要求が使用可能であるとき、前記ロード／ストア要求および前記命令フェッチ要求を処理する前に前記ＤＭＡ要求を処理するのに有効であり、
前記ロード／ストア要求が使用可能であるとき、前記命令フェッチ要求を処理する前に前記ロード／ストア要求を処理するのに有効である
請求項３に記載のシステム。
【請求項５】
複数のＤＭＡ書込みオペレーションを蓄積する書込み蓄積バッファを更に含み、
前記複数のＤＭＡ書込みオペレーションは前記広幅の書込みメモリ・アクセスに対応する、請求項１に記載のシステム。
【請求項６】
前記複数のＤＭＡ書込みオペレーションは複数の命令サイクルに対応し、前記広幅の書込みメモリ・アクセスは単一の命令サイクルに対応する、請求項５に記載のシステム。
【請求項７】
前記広幅の書込みメモリ・アクセスから、複数のＤＭＡ読取りオペレーションに対応するＤＭＡデータを受取る読取りラッチを更に含み、
前記読取りラッチは、複数の命令サイクルによって前記複数のＤＭＡ読取りオペレーションをＤＭＡユニットに提供する、請求項１に記載のシステム。
【請求項８】
前記狭幅の読取り／書込みメモリ・アクセスはクワドワードに対応し、前記広幅の書込みメモリ・アクセスはメモリのラインに対応し、前記メモリは処理素子アーキテクチャにおいて使用される、請求項１に記載のシステム。
【請求項９】
前記システムは分割蓄積ラッチ機能および複数のメモリ・バンクを支援する、請求項１に記載のシステム。
【請求項１０】
ロード／ストア要求に対応する狭幅の読取り／書込みメモリ・アクセス中、前記システムは前記複数のメモリ・バンクの１つをアクセスし、残りの複数のメモリ・バンクはアクセスされない、請求項９に記載のシステム。
【請求項１１】
前記広幅の書込みメモリ・アクセスはキャッシュ・ライン・キャストアウト・オペレーションまたは再ロード・オペレーションに対応する、請求項１に記載のシステム。
【請求項１２】
前記単一のメモリ・スペースからおよび広幅の読取りオペレーション中は第２読取りラッチからデータを受取るための第１読取りラッチを更に含み、
前記第２読取りラッチは前記単一のメモリ・スペースからデータを受取り、前記第１読取りラッチに対してデータをステージする、請求項１に記載のシステム。
【請求項１３】
第１プロセッサ・タイプと、
１つまたは複数の第２プロセッサ・タイプと
を更に含み、前記メモリは前記第２プロセッサ・タイプに含まれる、請求項１に記載のシステム。
【請求項１４】
メモリ要求を受取るステップと、
前記メモリ要求がメモリに対する狭幅の読取り／書込みメモリ・アクセスまたはメモリに対する広幅の読取り／書込みメモリ・アクセスのどちらに対応するかを決定するステップと、
前記メモリ要求を処理するステップと
を含む、コンピュータを使用して実施される方法。
【請求項１５】
前記狭幅の読取り／書込みメモリ・アクセスはロード／ストア要求に対応し、前記広幅の読取り／書込みメモリ・アクセスは命令フェッチ要求およびＤＭＡ要求に対応する、請求項１４に記載の方法。
【請求項１６】
前記ロード／ストア要求、前記命令フェッチ要求、および前記ＤＭＡ要求を優先順位付けするステップを更に含み、
前記優先順位付けするステップは、更に
前記ＤＭＡ要求が使用可能であるとき、前記ロード／ストア要求および前記命令フェッチ要求を処理する前に前記ＤＭＡ要求を処理するステップと、
前記ロード／ストア要求が使用可能であるとき、前記命令フェッチ要求を処理する前に前記ロード／ストア要求を処理するステップと
を更に含む、請求項１４に記載の方法。
【請求項１７】
前記広幅の読取り／書込みメモリ・アクセスに応答して、複数のＤＭＡ読取りオペレーションに対応するＤＭＡデータを受取るステップと、
複数の命令サイクルを通して前記複数のＤＭＡ読取りオペレーションを提供するステップと
を更に含む、請求項１４に記載の方法。
【請求項１８】
前記広幅の読取り／書込みメモリ・アクセスに関して複数のＤＭＡ書込みオペレーションを蓄積するステップを更に含み、
前記複数のＤＭＡ書込みオペレーションは複数の命令サイクルに対応し、前記広幅の読取り／書込みメモリ・アクセスは単一の命令サイクルに対応する、請求項１４に記載の方法。
【請求項１９】
メモリ要求を受取り、
前記メモリ要求がメモリに対する狭幅の読取り／書込みメモリ・アクセスまたはメモリに対する広幅の読取り／書込みメモリ・アクセスのどちらに対応するかを決定し、
前記メモリ要求を処理する
ために有効なコンピュータ・プログラム・コードを含む、コンピュータ・プログラム。
【請求項２０】
前記狭幅の読取り／書込みメモリ・アクセスはロード／ストア要求に対応し、前記広幅の読取り／書込みメモリ・アクセスは命令フェッチ要求およびＤＭＡ要求に対応し、前記コンピュータ・プログラム・コードは前記ロード／ストア要求、前記命令フェッチ要求、および前記ＤＭＡ要求を優先順位付けするのにも有効であり、更に、
前記優先順位付けすることは、
前記ＤＭＡ要求が使用可能であるとき、前記ロード／ストア要求および前記命令フェッチ要求を処理する前に前記ＤＭＡ要求を処理し、
前記ロード／ストア要求が使用可能であるとき、前記命令フェッチ要求を処理する前に前記ロード／ストア要求を処理する
ことを更に含む、請求項１９に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、ライン・アクセスおよびワード・アクセスの結合を用いてメモリをアクセスするためのシステムおよび方法に関するものである。更に詳しく云えば、本発明は、プロセッサが同じメモリ・スペースに対して狭幅の（narrow）メモリ・アクセスおよび広幅の（wide）メモリ・アクセスを行うためのシステムおよび方法に関するものである。
【背景技術】
【０００２】
回路設計者は、装置のパフォーマンスおよび装置のコストのどちらを優先すべきかを決定する場面に直面することが多い。装置のコストの大部分は、その設計が必要とするシリコン領域の量と一致する。装置のシリコン領域の多くのパーセンテージがメモリ用に使用されるので、回路設計者は、メモリがパフォーマンス要件に叶うように、しかし装置のコストを不必要に増加させるほど過度に大きくならないように、回路設計で使用すべきメモリ・セルのタイプに対して特別な注意を払っている。
【０００３】
既存の技術は、一般に、シングル・ポート・メモリ・セルのタイプまたはデュアル・ポート・メモリ・セルのタイプを使用する。シングル・ポート・メモリ・セルのタイプはそれら２つのタイプのうちの小さいほうであり、従って、装置のコストを小さくする。しかし、シングル・ポート・メモリのブロックは、再ロード・オペレーション時のロード／ストア・アクセスを阻止し、従って、パフォーマンスを犠牲にする。デュアル・ポート・メモリ・セルのタイプは、プロセッサがメモリへの書込みおよびメモリからの読取りを同時に行い得るので、それら２つのタイプのうちのより良いパフォーマンスを有する。しかし、デュアル・ポート・メモリ・セルのタイプは、２つのタイプのうちでは大型のほうであり、装置のコストを増加させる。わかった課題は、回路設計者がこれらのメモリ・セルのタイプの１つを選ぶとき、一般に、回路設計者がパフォーマンスを犠牲にするか或いは装置のコストを増加させるかということである。
【０００４】
更に、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）は、一般に、キャッシュとして使用するために通常のマイクロプロセッサに結合される。オペレーション中、キャッシュは、一般に、プロセッサが、キャッシュにあるデータまたは命令以外のデータまたは命令を要求するとき、新しいデータまたは命令をロードされる。その結果、プロセッサのプログラムは、オペレーション・コードまたはデータがＳＲＡＭにロードされてプロセッサにとって使用可能になるまで命令を完了することができないので、特定の時点で停止する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従って、本発明の目的は、装置のコストを小さくするためにメモリが必要とするシリコン領域の量を最小にすると同時に、メモリパフォーマンスを増加させるシステムおよび方法を提供することである。
【課題を解決するための手段】
【０００６】
上記の課題は、同じメモリ・バンクに対して狭幅の読取り／書込みメモリ・アクセスおよび広幅の読取り／書込みメモリ・アクセスを行うシステムおよび方法を使用して解決されることがわかった。そのシステムは、狭幅の読取り／書込みメモリ・アクセスを使って１６バイトのロード／ストア要求を処理し、広幅の読取り／書込みメモリ・アクセスを使って１２８バイトのＤＭＡ要求および命令フェッチ要求を処理する。
【０００７】
システムは、２つの異なるメモリ・アクセスのタイプを支援するためにマルチプレクサおよびラッチを使用する。「ストア」要求を処理している間、書込みマルチプレクサが１６バイトのストア・データをプロセッサ・コアから受取るように構成される。１６バイトのストア・データは、狭幅の書込みメモリ・アクセスを使ってメモリにロードされる。「ロード」要求を処理している間、ロード・マルチプレクサが、１６バイトのロード・データをメモリから受け取り、そのロード・データをプロセッサ・コアに供給するように構成される。
【０００８】
広幅のメモリ・アクセス（例えば、１２８バイトのデータ）を使って、命令フェッチ要求およびＤＭＡ要求が行われる。命令フェッチ要求を処理している間、読取りマルチプレクサが、メモリから１２８バイトの命令フェッチ・データを受取るように、および読取りラッチにそのデータを供給するように構成される。一方、プロセッサ・コアは読取りラッチから命令フェッチ・データを検索する。３２ビット（命令セット）ＲＩＳＣアーキテクチャにおける３２個の命令のような１２８バイトを一時にフェッチすることによって、メモリが命令フェッチのためにアクセスされる回数は最小にされる。
【０００９】
システム・パフォーマンスを最大にするために、ＤＭＡ要求の処理は、１命令サイクルにおいてメモリから複数ＤＭＡデータを読取ること／メモリに複数ＤＭＡデータを書込むことを伴う。単一のＤＭＡ読取りまたは書込みオペレーションが１６個のプロセッサ・サイクル分のＤＭＡデータを含む。本発明は、ＤＭＡに関する１６個の命令サイクルごとにメモリ・バンクが１回アクセスされるように、ＤＭＡオペレーションを蓄積およびストアするための書込み蓄積バッファおよび読取りラッチを使用する。ＤＭＡ書込みオペレーション中、ＤＭＡユニットはＤＭＡ書込みデータ（８バイト）を書込み蓄積バッファに送る。ＤＭＡ書込み蓄積バッファはＤＭＡ書込みデータをストアし、それが１６個の連続したＤＭＡ書込みオペレーションを受けたかどうかを決定する。
【００１０】
一旦、書込み蓄積バッファが１６個の連続したＤＭＡ書込みオペレーションを受けると、システムは、メモリに対する広幅の書込みメモリ・アクセスをスケジュールする。一方、書込みマルチプレクサは、書込み蓄積バッファからＤＭＡデータを受取るように構成され、ＤＭＡデータは単一の命令サイクル中にメモリにロードされる。
【００１１】
同様のシナリオがＤＭＡ読取りオペレーションに対しても存在する。ＤＭＡ読取りオペレーション中、システムは、メモリから広幅の読取りメモリ・アクセスを受けるように、およびそれを読取りラッチにロードするように読取りマルチプレクサを構成する。広幅の読取りメモリ・アクセスは１６個の命令サイクル分のＤＭＡデータを含む。一方、読取りラッチは、ＤＭＡデータを、１６個の異なる命令サイクルを通してＤＭＡユニットに供給する。従って、ＤＭＡ読取りオペレーションおよび書込みオペレーションが最大の帯域幅で処理していても、システムは、メモリをアクセスするために１６個の命令サイクルのうちの２個を占め、残りの１４個の命令サイクルは、ロードおよびストア・オペレーション、並びに命令フェッチのためにシステムにとって使用可能に残っている。
【００１２】
メモリ・アレイと蓄積ラッチとの間に書込みワイヤ・トラックを保存するために、本発明は、読取り蓄積ラッチを、それぞれが６４バイトの２つのラッチに分割するメモリ構成を可能にし、それによって、フェッチが１２８バイト境界ではなく６４バイト境界に揃えられるという更なる利点を有し、従って、各フェッチが、結果として、エントリ・ポイント（命令ブランチ・ターゲット）に関係ない少なくとも６４バイト＋４バイト分の有効命令を生じる。
【００１３】
以上は要約であり、従って、必要に応じて、簡略化、一般化、および細部の省略を含む。従って、この要約が単に例示的であること、および如何なる場合でも限定を意図するものではないことは当業者には明らかであろう。「特許請求の範囲」の記載によってのみ定義される本発明の他の側面、発明的特徴、および利点は、下記の非限定的な詳細な説明において明らかとなるであろう。
【発明を実施するための最良の形態】
【００１４】
図１は、狭幅の読取り／書込みメモリ・アクセスおよび広幅の読取り／書込みメモリ・アクセスを可能にする相乗的処理素子（Synergistic Processing Element - ＳＰＥ）の高レベル概略図である。ＳＰＥ１００は、相乗的処理ユニット（ＳＰＵ）１１０およびＤＭＡユニット１５０を含む。ＳＰＵ１１０は、相乗的実行ユニット（SynergisticExecution Unit - ＳＸＵ）１２０、チャネル・ユニット１３０、およびローカル記憶装置１４０を含む。
【００１５】
ＳＸＵ１２０は、命令フェッチ・オペレーションおよびロード／ストア・オペレーションの両方に対してローカル記憶装置１４０をアクセスする。命令フェッチ・オペレーション中、ＳＰＵ１１０は広幅の読取りメモリ・アクセスを実行し、それによって、ＳＸＵ１２０はローカル記憶装置１４０から１２８バイトのデータを受取る。ロード／ストア・オペレーション中、ＳＰＵ１１０は狭幅の読取り／書込みメモリ・アクセスを実行し、それによって、ＳＸＵ１２０はローカル記憶装置１４０から１６バイトのデータを読取るか、またはローカル記憶装置１４０に１６バイトのデータを書込む。
【００１６】
ＳＰＵ１１０は、ＤＭＡユニット１５０をプログラムするためにチャネル・ユニット１３０を使用する。ＤＭＡユニット１５０は、ローカル記憶装置１４０からの／ローカル記憶装置１４０へのＤＭＡ読取り／書込みオペレーションを行う。ローカル記憶装置１４０は、書込み蓄積バッファおよび読取りラッチを含み、それによって、これらの各々は１２８バイトのデータを蓄積する。ＤＭＡ書込み要求中、ＤＭＡユニット１５０は、書込み蓄積バッファへの８バイトＤＭＡ書込みオペレーションを行う。書込み蓄積バッファが１６個の連続したＤＭＡ書込みオペレーションを受けるとき、ＳＰＵ１１０は広幅の書込みメモリ・アクセスを行い、書込み蓄積バッファの内容をメモリにロードする。
【００１７】
同様のシナリオがＤＭＡ読取りオペレーションに対しても存在する。ＤＭＡ読取り要求中、ＳＰＵ１１０は、広幅の読取りメモリ・アクセスを行い、１６個の８バイトＤＭＡ読取りオペレーションを読取りラッチにロードする。一方、ＤＭＡデータは、１６個の異なる命令サイクルを通して素子相互接続バス（Element Interconnected Bus - ＥＩＢ）１６０に書込まれる。その結果、読取りラッチは１６個のプロセッサ・サイクル分のＤＭＡデータをストアするので、メモリ・バンクは、１５個の命令サイクル中、自由にロード／ストア・オペレーションまたは命令フェッチ・オペレーションを行うことができる（更なる詳細については、図２〜図１２を参照されたい）。
【００１８】
図２は、同じメモリに狭幅の読取り／書込みメモリ・アクセスおよび広幅の読取り／書込みメモリ・アクセスを行うことができるシステムを示すブロック図である。システムは、狭幅の読取り／書込みメモリ・アクセスを使って１６バイトのロード／ストア要求を処理することが可能である。更に、システムは、広幅の読取り／書込みメモリ・アクセスを使って１２８バイトのＤＭＡ要求および命令フェッチ要求を処理することも可能である。
【００１９】
図２は、図１に示されたものと同様の相乗的実行ユニット（ＳＸＵ）１２０およびＤＭＡユニット１５０を示す。図２は、図１に示されたローカル記憶装置１４０の詳細も含み、それは、書込み蓄積バッファ２１０、書込みマルチプレクサ２３０、メモリ２００、ロード・マルチプレクサ２５０、読取りマルチプレクサ２７０、および読取りラッチ２８０である。
【００２０】
「ストア」要求を処理するとき、書込みマルチプレクサ２３０はＳＸＵ１２０から１６バイトのストア・データ（即ち、ストア２４０）を受取るように構成される。１６バイトのストア・データは狭幅の書込みメモリ・アクセスを使ってメモリ２００にロードされる。「ロード」要求を処理するときには、ロード・マルチプレクサ２５０はメモリ２００から１６バイトのロード・データを受取り、そのロード・データ（即ち、ロード２６０）をＳＸＵ１２０に供給するように構成される（ロード／ストア・オペレーションに関する詳細については、図１１および対応する説明を参照されたい）。
【００２１】
命令フェッチ要求およびＤＭＡ要求は、広幅のメモリ・アクセス（例えば、１２８バイトのデータ）を使って行われる。命令フェッチ要求を処理するとき、読取りマルチプレクサ２７０はメモリ２００から１２８バイトの命令フェッチ・データを受取って、それを読取りラッチ２８０に供給するように構成される。一方、ＳＸＵ１２０は、読取りラッチ２８０から命令フェッチ・データ（即ち、命令フェッチ２８５）を検索する（命令フェッチ要求に関する更なる詳細については、図１２および対応する説明を参照されたい）。
【００２２】
システム・パフォーマンスを最大にするために、メモリから／メモリに複数のＤＭＡデータを読取ることおよび書込むことを伴う。ＤＭＡ読取りまたは書込み帯域幅は８バイト／サイクルである。本発明は、メモリ２００がＤＭＡ要求に対して１６個の命令サイクルごとに１回アクセスされるように、書込み蓄積バッファ２１０および読取りラッチ２８０を使用して１６個のＤＭＡオペレーションを蓄積およびストアする（更なる詳細については図４〜図７および対応する説明を参照されたい）。ＤＭＡ書込みオペレーション中、ＤＭＡユニット１５０は、ＤＭＡ書込み２２０（８バイト）を書込み蓄積バッファ２１０に送る。書込み蓄積バッファ２１０はＤＭＡ書込み２２０をストアし、それが１６個の連続したＤＭＡ書込みオペレーションを受けたかどうかを決定する（ＤＭＡ書込み量の追跡に関する更なる詳細については図８および対応する説明を参照されたい）。
【００２３】
一旦、書込み蓄積バッファ２１０が、１６個の連続したＤＭＡ書込みオペレーションを受けたということを決定すると、システムはメモリ２００に対する広幅の書込みメモリ・アクセスをスケジュールする。一方、書込みマルチプレクサ２３０は、単一の命令サイクル中にメモリ２００にロードされるＤＭＡデータを書込み蓄積バッファ２１０から受取るように構成される。１６個の連続したＤＭＡ書込みオペレーションを１つの命令サイクルでロードすることによって、メモリ２００は、１５個の他の命令サイクル中にロード／ストア要求または命令フェッチ要求を処理するために使用可能である。例えば、通常の単一ポート・メモリを、下記のようにサイクルごとに利用することも可能である。
「ｌｓｌｒｒｒｒｒｒｒｒｒｒｒｒｒｒｒｒｓlｗｗｗｗｗｗｗｗｗｗｗｗｗｗｗｗ」
【００２４】
なお、上記の各文字は命令サイクルに対応し、ｌはロードであり、ｓはストアであり、ｒは８バイトのＤＭＡ読取りであり、ｗは８バイトのＤＭＡ書込みである。本発明を使用すると、通常の単一ポート・メモリを、下記のようにサイクルごとに利用することが可能である。
「ｌｓｌＲｓｌＷ」
【００２５】
なお、上記のＲは１２８バイトＤＭＡ読取り（広幅の読取り）であり、Ｗは１２８バイトのＤＭＡ書込み（広幅の書込み）である。明らかなように、各文字がプロセッサ・サイクルに対応するので、第２シーケンスはかなり少ないプロセッサ・サイクルで完了し、従って、かなり改良されたプロセッサ・パフォーマンスを可能にする（更なる詳細については、図４乃至図７および対応する説明を参照されたい）。
【００２６】
ＤＭＡ読取りオペレーション中、システムは、メモリ２００から広幅の読取りメモリ・アクセスを受け、それを読取りラッチ２８０にロードするようにマルチプレクサ２７０を構成する。広幅の読取りメモリ・アクセスは１６個のプロセッサ・サイクル分のＤＭＡデータを含む。一方、読取りラッチ２８０は１６個のプロセッサ・サイクル分のＤＭＡデータ（即ち、ＤＭＡ読取り２９０）をＤＭＡユニット１５０に供給する。
【００２７】
図３は、狭幅の読取り／書込みメモリ・アクセスおよび広幅の読取り／書込みメモリ・アクセスを分割蓄積ラッチ構成で行うことができるシステムを示す概略図である。図３が、図２に示された１つのメモリ・バンクの代わりに分割蓄積ラッチ機能のための２つのメモリ・バンクを含むということを除けば、図３は図２と同じである。この機構の利点は、６４バイトの広幅のバスしか命令ユニットおよびＤＭＡユニットに接続されていないということである。
【００２８】
図３は、偶数メモリ・バンク３００および奇数メモリ・バンク３０５を含む。「ストア」要求を処理するとき、書込みマルチプレクサ３３０または３３５がＳＸＵ１２０からの１６バイトのストア・データ（即ち、ストア２４０）を受取るように構成される。１６バイトのストア・データ２４０は、狭幅の書込みメモリ・アクセスを使用してメモリ・バンク３００または３０５にロードされる。「ロード」要求を処理するとき、ロード・マルチプレクサ３５０が偶数メモリ・バンク３００または奇数メモリ・バンク３０５からの１６バイトのロード・データを受取るように構成され、ロード・マルチプレクサ３５０がそのロード・データをＳＸＵ１２０に供給する。ＳＸＵ１２０、ストア２４０、およびロード２６０は図２に示されたものと同じである。
【００２９】
命令フェッチ要求およびＤＭＡ要求は、依然として分割蓄積ラッチ構成における広幅のメモリ・アクセス（例えば、１２８バイトのデータ）を使用して行われる。命令フェッチ要求を処理するとき、読取りマルチプレクサ３７０が、偶数メモリ・バンク３００から６４バイトの命令フェッチ・データを受取り、それを読取りラッチ３８０に供給するように構成される。同じ命令サイクル中、読取りラッチ３８５は奇数メモリ・バンク３０５から６４バイトの命令フェッチ・データを受取る。ＳＸＵ１２０は読取りラッチ２８０から「偶数メモリ・バンク」命令フェッチ・データ（即ち、命令フェッチ２８５）を検索する。一旦、ＳＸＵ１２０が読取りラッチ３８０からすべての偶数メモリ・バンク・データを検索すると、読取りマルチプレクサ３７０は読取りラッチ３８５から奇数メモリ・バンク命令フェッチ・データを受取り、それを読取りラッチ３８０に供給するように構成される。一方、ＳＸＵ１２０は読取りラッチ３８０から奇数メモリ・バンク・データを検索する。
【００３０】
ＤＭＡ書込みオペレーション中、ＤＭＡユニット１５０はＤＭＡ書込み２２０を書込み蓄積バッファ３１０および３１５に送る。図３に示された書込み蓄積バッファの各々は、６４バイトのＤＭＡ書込みデータを蓄積することができる。書込み蓄積バッファが１６個の全ＤＭＡ書込みオペレーション（１２８バイト全部）を受けたということをシステムが決定するとき、システムは、メモリ・バンク３００および３０５に対する広幅の書込みメモリ・アクセスをスケジュールする。一方、書込みマルチプレクサ３３０および３３５は、それぞれ、書込み蓄積バッファ３１０および３１５からＤＭＡデータを受取るように構成される。そこで、ＤＭＡデータは、単一の命令サイクル中にメモリ・バンク３００および３０５にロードされる。
【００３１】
ＤＭＡ読取り要求は、読取りラッチの構成の処理における命令フェッチ要求のそれと同じである。ＤＭＡ読取りオペレーション中、読取りマルチプレクサ３７０は、偶数メモリ・バンク３００から６４バイトのＤＭＡ読取りデータを受取り、それを読取りラッチ３８０に供給するように構成される。同じ命令サイクル中、読取りラッチ３８５は奇数メモリ・バンク３０５から６４バイトのＤＭＡ読取りデータを受取る。読取りラッチ３８０は偶数メモリ・バンクのＤＭＡデータをＤＭＡユニット１５０に供給する。一旦、ＤＮＡユニット１５０が、偶数メモリ・バンクに含まれたＤＭＡ読取りデータの各々を受取ると、読取りマルチプレクサ３７０は読取りラッチ３８５から奇数メモリ・バンクのＤＭＡ読取りデータを受取り、それを読取りラッチ３８０に供給するように構成される。一方、ＤＭＡユニット１５０は読取りラッチ３８０から奇数メモリ・バンクのＤＭ読取りデータを検索する。
【００３２】
図４は、読取りラッチの構成を示す図である。図４は、図２に示された読取りラッチ２８０の構成を示す。データは、広幅の読取りメモリ・アクセスを使ってメモリ・バンクから読取りラッチ２８０に転送される。広幅の読取りメモリ・アクセスは、１６個の８バイト・オペレーション（ＤＭＡ読取りまたは命令フェッチ）、合計１２８バイトを供給する。図３に示されたような分割蓄積ラッチ構成では、２つの読取りラッチが存在し、それによって、各読取りラッチがメモリから８個の８バイト・オペレーションを受ける。
【００３３】
ＤＭＡ読取り中、システムは、１サイクル中にメモリから１６個のプロセッサ・サイクル分のＤＭＡデータを読出し、しかる後、そのＤＭＡデータをＤＭＡユニットに供給する（更なる詳細については、図５および対応する説明を参照されたい）。
【００３４】
図５は、読取りラッチへの単一のＤＭＡメモリ読取りを示す図であり、それによって、読取りラッチが１６個の異なる命令サイクルを通してＤＭＡユニットにＤＭＡ読取りオペレーションを提供する。タイム・ライン４００は、１６個の命令サイクル（ｔ１〜ｔ１６）および図２に示されたものと同じメモリ２００、読取りラッチ２８０、およびＤＭＡユニット１５０に関して各命令サイクル中に存在する活動を示す。
【００３５】
時間ｔ１では、システムは広幅の読取りメモリ・アクセスを行ってメモリ２００から１２８バイトを読出し、１６個の８バイトＤＭＡ読取りオペレーションを読取りラッチ２８０にストアする。又、時間ｔ１では、読取りラッチ２８０が１つのＤＭＡ読取りオペレーション（８バイト）をＤＭＡユニット１５０に提供する。読取りラッチ２８０は１６個のプロセッサ・サイクル分のＤＭＡデータをストアするので、読取りラッチ２８０は、時間ｔ２乃至ｔ１６においても、ＤＭＡ読取りオペレーションをＤＭＡユニット１５０に提供する。従って、時間ｔ２〜ｔ１６の間、メモリ２００は自由にロード／ストア・オペレーションまたは命令フェッチ・オペレーションを遂行することができる。時間ｔ１７（図示されていない）では、読取りラッチ２８０が別の１６個のプロセッサ・サイクル分のＤＭＡデータをメモリ２００から受取ることが可能である。
【００３６】
分割蓄積ラッチの実施例では、図３に示された読取りラッチ３８０および３８５のような２つの読取りラッチがそれぞれ時間ｔ１において８個の８バイトＤＭＡ読取りオペレーションをロードされる。次に、この実施例では、１つの読取りラッチが８個の命令サイクルを通してその８個のＤＭＡ読取りオペレーションをＤＭＡユニット１５０に提供し、他の読取りラッチが８個の更なる命令サイクルを通してその８個のＤＭＡ読取りオペレーションをＤＭＡユニット１５０に提供する。
【００３７】
図６は、書込み蓄積バッファの構成を示す図である。図６は、図２に示された書込み蓄積バッファ２１０の構成を示す。ＤＭＡユニット１５０（図２に示された）は、１６個の異なる命令サイクルを通して書込み蓄積バッファ２１０に、合計１２８バイトのデータとなる８バイトのＤＭＡ書込みデータを送る。
【００３８】
一旦、書込み蓄積バッファが１２８バイトのデータを受取ると、システムはメモリに対する広幅の書込みメモリ・アクセスをスケジュールする（更なる詳細については図８および対応する説明を参照されたい）。そこで、システムはメモリに対する広幅の書込みメモリ・アクセスを行い、１クロック・サイクル中に１６個の連続したＤＭＡ書込みオペレーションをメモリにロードする（更なる詳細については図７および対応する説明を参照されたい）。図３に示されたような分割蓄積ラッチ構成では、２つの書込み蓄積バッファがＤＭＡユニット１５０から８個のＤＭＡ書込みオペレーションを受けり、しかる後、それらが１命令サイクルで合計１６個の連続したＤＭＡ書込みオペレーションをメモリにロードする。
【００３９】
図７は、１６個の連続したＤＭＡ書込みオペレーションを含む、メモリへの単一のＤＭＡメモリ書込みを示す図である。タイム・ライン５００は、１６個の命令サイクルと、図２に示されたものと同じであるメモリ２００、書込み蓄積バッファ２１０、およびＤＭＡユニット１５０に関して各命令サイクル中に存在する活動とを示す。
【００４０】
時間ｔ１において、ＤＭＡユニット１５０がＤＭＡ書込みオペレーションを書込み蓄積バッファ２１０にストアする。又、時間ｔ１において、メモリ２００が自由にロード／ストア・オペレーションまたは命令フェッチ・オペレーションを行うことができる。同じことが時間ｔ２〜ｔ１５にも当てはまる。その時間に、ＤＭＡユニット１５０がＤＭＡ書込みオペレーションを書込み蓄積バッファ２１０にロードし、メモリ２００は自由にロード／ストア・オペレーションまたは命令フェッチ・オペレーションを行うことができる。時間ｔ１６において、ＤＭＡユニット１５０は１６個のＤＭＡ書込みオペレーションを書込み蓄積バッファ２１０にロードし、システムは、広幅の書込みメモリ・アクセスを行って書込み蓄積バッファ２１０の内容をメモリ２００にロードする。
【００４１】
分割蓄積ラッチの実施例では、図３に示された書込み蓄積バッファ３１０および３１５のような２つの書込み蓄積バッファが時間ｔ１６においてそれらの内容をメモリにロードする。
【００４２】
図８は、ＤＭＡメモリ書込みオペレーションをスケジュールする場合にとられるステップを示すフローチャートである。システムは、書込み蓄積バッファを含み、そのバッファは、満杯になるまでＤＭＡ書込みをストアする。一旦バッファが満杯になると、システムはそのメモリに対する広幅の書込みメモリ・アクセスを行う。例えば、ＤＭＡ書込みが８バイトの長さである場合、書込み蓄積バッファは１６個のＤＭＡ書込みを受け、しかる後、システムは１６個のＤＭＡ書込みを含む、メモリに対する１２８バイトの書込みアクセスを行う（更なる詳細については図６、図７および対応する説明を参照されたい）。
【００４３】
処理はステップ６００において開始し、その際、処理はＤＭＡユニット１５０からのＤＭＡ書込み要求を待つ。ＤＭＡユニット１５０は図１に示されたものと同じである。一旦システムがＤＭＡ書込み要求を受取ると、システムはＤＭＡ書込みデータを書込み蓄積バッファ２１０にストアする（ステップ６２０）。書込み蓄積バッファ２１０は図１に示されたものと同じである。ステップ６３０において、処理はＤＭＡ書込みカウンタ６３５をインクリメントする。ＤＭＡ書込みカウンタ６３５は、書込み蓄積バッファ２１０にストアされたＤＭＡ書込みの数を追跡するために使用される。
【００４４】
ＤＭＡ書込みカウンタ６３５が１６に等しいかどうかに関する決定が行われる（判断ステップ６４０）。図８に示された例は、８バイトＤＭＡ書込みを有する１２８バイトの広幅の書込みメモリ・アクセスのようなそれのＤＭＡ書込みよりも１６倍も大きい広幅のメモリ・アクセス・サイズを有するシステムに対するものである。当業者には明らかであるように、ＤＭＡ書込みカウンタが到達する値は、システムのＤＭＡ書込みのサイズに比べると、システムの広幅の書込みメモリ・アクセスのサイズに依存し、その比率は１６よりも小さいかまたは大きくてもよい。
【００４５】
ＤＭＡ書込みカウンタ６３５が１６に等しくない場合、判断ステップ６４０は「ノー（No）」ブランチ６４２にブランチし、更なるＤＭＡ書込み要求を処理し続けるようにループ・バックする。このループは、ＤＭＡ書込みカウンタ６３５が１６に達するまで継続し、それが１６に達した時点で、判断ステップ６４０が「イエス（Yes）」ブランチ６４８にブランチする。処理は、書込み蓄積バッファ２１０にストアされるＤＭＡ書込みのために、メモリに対する広幅の書込みメモリ・アクセスをスケジュールし（ステップ６５０）、処理はステップ６６０においてＤＭＡ書込みカウンタ６３５をクリアする。
【００４６】
ＤＭＡ書込み要求の処理を継続すべきかどうかに関する決定が行われる（判断ステップ６７０）。ＤＭＡ書込み要求の処理が継続すべき場合、判断ステップ６７０は、更なるＤＭＡ書込み要求を処理するためにループする「イエス」ブランチ６７２にブランチする。このループは、処理が終了するまで継続し、その終了時点で、判断ステップ６７０は「ノー」ブランチ６７８にブランチし、処理がステップ６８０において終わる。
【００４７】
図９は、メモリ要求を処理する場合にとられるステップを示す高レベルのフローチャートである。１つの実施例では、システムは、ＤＭＡ要求が最高の優先順位となり、次にロード／ストア要求、次に命令フェッチ要求となるようにメモリ・アクセス要求に優先順位をつける。図９に示されたフローチャートは、上記実施例において検討された要求の優先順位付けの一例である。
【００４８】
処理はステップ７００で開始し、その時点で、処理はステップ７１０における命令サイクルを待つ。一旦処理が命令サイクルを検出すると、処理がＤＭＡ要求を受取ったかどうかに関する決定が行われる（判断ステップ７２０）。処理がＤＭＡ要求を受取った場合、判断ステップ７２０は「イエス」ブランチ７２２にブランチする。その際、処理はＤＭＡ要求を処理し、メモリへの／メモリからの広幅の書込み／読取りメモリ・アクセスを行う（事前定義された処理ブロック７３０）（更なる詳細については、図１０および対応する説明を参照されたい）。
【００４９】
一方、処理がＤＭＡ要求を受取らなかった場合、判断ステップ７２０は「ノー」ブランチ７２８にブランチし、その際、処理がロード／ストア要求を受取ったかどうかに関する決定が行われる（判断ステップ７４０）。処理がロード／ストア要求を受取った場合、判断ステップ７４０は「イエス」ブランチ７４２にブランチし、その際、ロード／ストア要求を処理してメモリへの／メモリからの狭幅の書込み／読取りアクセスを行う（事前定義された処理ブロック７５０）、（更なる詳細については、図１１および対応する説明を参照されたい）。
【００５０】
一方、処理がロード／ストア要求を受取らなかった場合、判断ステップ７４０は「ノー」ブランチ７４８にブランチし、その際、処理が命令フェッチ要求を受取ったかどうかに関する決定が行われる（判断ステップ７６０）。処理が命令フェッチ要求を受取った場合、判断ステップ７６０は「イエス」ブランチ７６２にブランチし、その際、処理は命令フェッチ要求を処理して、メモリに対する広幅のメモリ・アクセスを行う（事前定義された処理ステップ７７０）、（更なる詳細については、図１２および対応する説明を参照されたい）。一方、処理が命令フェッチ要求を受取らなかった場合、判断ステップ７６０は「ノー」ブランチ７６８にブランチする。
【００５１】
メモリ要求アービトレーションを継続すべきかどうかに関する決定が行われる（判断ステップ７８０）。処理がメモリ要求アービトレーションを継続すべきである場合、判断ステップ７８０は「イエス」ブランチ７８２にブランチし、更なるメモリ・アクセス要求を処理するためにループ・バックする。このループは、処理がメモリ要求アービトレーションを停止するまで継続し、その停止時点で、判断ステップ７８０は「ノー」ブランチ７８８にブランチし、処理はステップ７９０で終了する。
【００５２】
図１０は、ＤＭＡ要求を処理する場合にとられるステップを示すフローチャートである。ＤＭＡの活動は、ロード／ストア要求および命令フェッチ要求よりも高い優先順位を有する（図９参照）。１つの実施例では、ＤＭＡ要求は、ロード／ストア要求および命令フェッチ要求を受け入れるために１５個の命令サイクルを残して、１６番目の命令サイクルごとに生じるようにスケジュールされてもよい（更なる詳細については、図４〜図７および対応する説明を参照されたい）。
【００５３】
ＤＭＡ要求処理はステップ８００で開始し、そして、そのＤＭＡ要求がＤＭＡ読取り要求またはＤＭＡ書込み要求のどちらであるかに関する決定が行われる（ステップ８１０）。それがＤＭＡ書込み要求である場合、判断ステップ８１０は「書込み」ブランチ８１２にブランチする。処理は、ステップ８２０において、書込み蓄積バッファ２１０からのデータを受け入れるように書込みマルチプレクサ２３０を構成する。書込み蓄積バッファ２１０および書込みマルチプレクサ２３０は図２に示されたものと同じである。
【００５４】
ステップ８３０では、処理はメモリ２００に対する広幅の書込みメモリ・アクセスを行い、それによって、書込み蓄積バッファ２１０からのＤＭＡ書込みデータが書込みマルチプレクサ２３０を介してメモリ２００に書込まれる。広幅の書込みメモリ・アクセスは１つのライン（１２８バイト）であり、１６個のＤＭＡ書込み（それぞれ８バイト）を含む。処理はステップ８４０において戻る。
【００５５】
ＤＭＡ要求がＤＭＡ読取り要求である場合、判断ステップ８１０は「読取り」ブランチ８１８にブランチする。処理は、メモリ２００からのデータを受取ってそのデータを読取りラッチ２８０に供給するように読取りマルチプレクサ２７０を構成する（ステップ８５０）。読取りマルチプレクサ２７０および読取りラッチ２８０は図２に示されたものと同じである。ステップ８６０では、処理はメモリ２００に対する広幅の読取りメモリ・アクセスを行い、それによって、ＤＭＡ読取りデータがメモリ２００から読取られ、読取りマルチプレクサ２７０を介して読取りラッチ２８０にストアされる。ＤＭＡ読取りは１６個の８バイトＤＭＡ読取りを含む。
【００５６】
処理は、読取りラッチ２８０からの１６個のＤＭＡ読取りを、１６個の異なる命令サイクルを通してＤＭＡユニット１５０に送り（ステップ８７０）、処理はステップ８８０において戻る。
【００５７】
図１１は、ロード要求またはストア要求を処理する場合にとられるステップを示すフローチャートである。ロード要求およびストア要求は、ＤＭＡ要求よりも低い優先順位で、しかし命令フェッチ要求よりも高い優先順位でスケジュールされる（要求の優先順位付けに関する更なる詳細については、図９および対応する説明を参照されたい）。
【００５８】
処理はステップ９００において開始し、そして、その要求がロード要求またはストア要求のどちらであるかに関する決定が行われる（判断ステップ９１０）。その要求がストア要求である場合、判断ステップ９１０は「ストア」ブランチ９１２にブランチする。処理は、相乗的実行ユニット（ＳＸＵ）１２０からのデータを受取るように書込みマルチプレクサ２３０を構成する。ＳＸＵ１２０および書込みマルチプレクサ２３０は図２に示されたものと同じである。
【００５９】
ステップ９３０では、処理がメモリ２００に対する狭幅の書込みアクセスを行い、それによってＳＸＵ１２０からのストア・データが書込みマルチプレクサ２３０を介してメモリ２００に書込まれる。狭幅の書込みアクセスはクワドワード（quadword）の長さであってもよく、或いはシングル・ワードの長さであってもよい。処理はステップ９４０において戻る。
【００６０】
要求がロード要求である場合、判断ステップ９１０は「ロード」ブランチ９１８にブランチする。処理は、メモリ２００からのデータを受取ってそのデータをＳＸＵ１２０に供給するようにロード・マルチプレクサ２５０を構成する（ステップ９５０）。ロード・マルチプレクサ２５０は図２に示されたものと同じである。ステップ９６０において、処理はメモリ２００からの狭幅の読取りメモリ・アクセスを行い、それによって、ロード・データがメモリ２００から読取られ、ロード・マルチプレクサ２５０を介してＳＸＵ１２０に送られる。処理はステップ９７０において戻る。
【００６１】
図１２は、命令フェッチ要求を処理する場合にとられるステップを示すフローチャートである。１つの実施例では、命令フェッチ要求は、ＤＭＡ要求およびロード／ストア要求よりも低い優先順位にある。処理はステップ１０００において開始し、そしてメモリ２００からのデータを受取ってそのデータを読取りラッチ２８０に供給するように読取りマルチプレクサ２７０を構成する（ステップ１０２０）。読取りマルチプレクサ２７０および読取りラッチ２８０は図２に示されたものと同じである。ステップ１０４０において、処理は、メモリ２００からの広幅の読取りメモリ・アクセスを行い、それによって、命令フェッチ・データがメモリ２００から読取られ、読取りマルチプレクサ２７０を介して読取りラッチ２８０にストアされる。
【００６２】
処理は読取りラッチ２８０から命令フェッチ・データを検索し、そのデータを相乗的実行ユニット（ＳＸＵ）１２０にロードする（ステップ１０６０）。ＳＸＵ１２０は図２に示されたものと同じである。処理はステップ１０８０において戻る。
【００６３】
図１３は、本発明を具現化することができるコンピュータ装置のブロック図である。図１３に示されたアーキテキチャは、共通のメモリおよび共通のバスを共用する異種のプロセッサを含む。ブロードバンド・エンジン（ＢＥ）１１００が、素子相互接続ユニット１１７０を介して外部装置に／外部装置から情報を送りおよび受取り、図１に示されたものと同じ素子相互接続バス（ＥＩＢ）１６０を使用して制御プレーン１１１０およびデータ・プレーン１１４０にその情報を分配する。制御プレーン１１１０はＢＥ１１００を管理し、作業をデータ・プレーン１１４０に分配する。
【００６４】
更に、素子相互接続バス（ＥＩＢ）１６０は、読取り要求および書込み要求をメモリ・インターフェース・コントローラ（ＭＩＣ）１１８０に供給する。メモリ・インターフェース・コントローラ１１８０は、外部メモリに通じているメモリ・インターフェース１１９０にそれらの要求を伝達する。
【００６５】
制御プレーン１１１０はオペレーティング・システム（ＯＳ）１１２５を稼動させる電源処理素子（ＰＰＥ）１１２０を含む。例えば、ＰＰＥ１１２０は、ＢＥ１１１０に組み込まれる Power PC のコアであってもよく、ＯＳ１１２５は Linux（Linus Torvaldsの商標）オペレーティング・システムであってもよい。ＰＰＥ１１２０は、ＢＥ１１１０用の共通のメモリ・マップ・テーブルを管理する。そのメモリ・マップ・テーブルは、Ｌ２メモリ１１３０およびデータ・プレーン１１４０に含まれた非専用メモリのような、ＢＥ１１００に含まれたメモリ・ロケーションに対応する。
【００６６】
データ・プレーン１１４０は相乗的処理素子（ＳＰＥ）１００、１１５０、１１５５を含む。ＳＰＥ１００は、図１に示されたものと同じである。各ＳＰＥはデータ情報を処理するために使用され、種々の命令セットを有してもよい。例えば、ＢＥ１１０は無線通信システムにおいて使用されてもよく、各ＳＰＥは、変調、チップ・レート処理、エンコーディング、およびネットワーク・インターフェーシングのような別々の処理タスクの責任を負うことも可能である。別の例では、各ＳＰＥは同様の命令セットを有し、並列処理の恩恵を受けるオペレーションを遂行するために並行して使用されてもよい。各ＳＰＥは、デジタル信号プロセッサ、マイクロコントローラ、マイクロプロセッサのような処理コア、またはこれらのコアの組合せである相乗的処理ユニット（ＳＰＥ）を含む。
【００６７】
ＳＰＥ１００、１１５０、および１１５５はプロセッサ素子バス１６０に接続され、バス１６０は、制御プレーン１１１０、データ・プレーン１１４０、および素子相互接続ユニット（ＥＩＵ）１１７０の間で情報を伝達させる。バス１６０は、オンチップ・コヒーレント・マルチプロセッサ・バスである。ＥＩＵ１１７０は、ＢＥ１１００に接続される周辺装置に基づいて入出力コントローラにインターフェース・ピンを動的に割り当てる融通性のある入出力ロジックを含む。
【００６８】
図１３に示されたコンピュータ・システムはここで開示されたプロセスを実行することができるが、このコンピュータ・システムはコンピュータ・システムの単なる一例に過ぎない。多くの他のコンピュータ・システムが、ここで開示されたプロセスを遂行し得るということは当業者には明らかであろう。
【００６９】
本発明望ましい具現化方法の１つは、クライアント・アプリケーション、即ち、例えばコンピュータのランダム・アクセス・メモリに常駐し得るコード・モジュールにおける命令セット（プログラム・コード）である。その命令セットは、コンピュータによって要求されるまで、他のコンピュータ・メモリ、例えば、ハード・ディスク・ドライブ内に、或いは光ディスク（ＣＤ−ＲＯＭにおける究極的な使用のためのもの）もしくはフロッピ・ディスク（フロッピ・ディスク・ドライブにおける究極的な使用のためのもの）のような取外し可能なメモリ内にストアされてもよく、または、インターネット或いは他のコンピュータ・ネットワークを介してダウンロードされてもよい。従って、本発明は、コンピュータにおいて使用するためのコンピュータ・プログラムとして具現化することも可能である。更に、開示された種々の方法が、ソフトウェアによって選択的に活性化されるかまたは再構成される汎用コンピュータにおいて都合よく具現化されるが、そのような方法が、必要な方法ステップを遂行するために、ハードウェア、ファームウェア、またはもっと複雑な装置で実行されてもよいことも当業者には明らかであろう。
【００７０】
本発明の特定の実施例を示し、説明したが、本発明およびその広義の要旨から逸脱することなく、本明細書における教示に基づいて、変更および修正が施されてもよいことも当業者には明らかであろう。従って、「特許請求の範囲」の記載は、本発明の真意および範囲内にあるような変更および修正をすべて範囲内に包含するものである。更に、本発明は「特許請求の範囲」によってのみ定義されるということも当然である。「特許請求の範囲」において特定の数の要素が意図される場合、そのような意図は「特許請求の範囲」に明示的に記載されるであろうということ、およびそのような記載がない場合、そのような限定は存在しないということも当業者には明らかであろう。
【図面の簡単な説明】
【００７１】
【図１】狭幅の読取り／書込みメモリ・アクセスおよび広幅の読取り／書込みメモリ・アクセスが可能である相乗的処理素子の高レベルの概略図である。
【図２】同じメモリに対して狭幅の読取り／書込みメモリ・アクセスおよび広幅の読取り／書込みメモリ・アクセスを行うことができるシステムを示す概略図である。
【図３】分割蓄積ラッチ構成において狭幅の読取り／書込みメモリ・アクセスおよび広幅の読取り／書込みメモリ・アクセスを行うことができるシステムを示す概略図である。
【図４】読取りラッチの構成を示す概略図である。
【図５】読取りラッチへの単一のＤＭＡメモリ読取りを示す図であり、それによって、読取りラッチは１６個の異なる命令サイクルを介してＤＭＡユニットにＤＭＡ読取りオペレーションを行う。
【図６】書込み蓄積バッファの構成を示す図である。
【図７】１６個の連続したＤＭＡ書込みオペレーションを含む、メモリへの単一のＤＭＡメモリ書込みを示す図である。
【図８】ＤＭＡメモリ書込みオペレーションをスケジュールする場合にとられるステップを示すフローチャートである。
【図９】メモリ要求を処理する場合にとられるステップを示す高レベルのフローチャートである。
【図１０】ＤＭＡ要求を処理する場合にとられるステップを示すフローチャートである。
【図１１】ロード要求またはストア要求を処理する場合にとられるステップを示すフローチャートである。
【図１２】命令フェッチ要求を処理する場合にとられるステップを示すフローチャートである。
【図１３】本発明を具現化することが可能なコンピュータ装置のブロック図である。
【図１】
2008529181.tif 000003
【図２】
2008529181.tif 000004
【図３】
2008529181.tif 000005
【図４】
2008529181.tif 000006
【図５】
2008529181.tif 000007
【図６】
2008529181.tif 000008
【図７】
2008529181.tif 000009
【図８】
2008529181.tif 000010
【図９】
2008529181.tif 000011
【図１０】
2008529181.tif 000012
【図１１】
2008529181.tif 000013
【図１２】
2008529181.tif 000014
【図１３】
2008529181.tif 000015
【国際調査報告】
2008529181.tif 000016
2008529181.tif 000017
2008529181.tif 000018
2008529181.tif 000019