JP3699833B2 - メモリアーキテクチャーのための優先符号化及び復号化 - Google Patents
メモリアーキテクチャーのための優先符号化及び復号化 Download PDFInfo
- Publication number
- JP3699833B2 JP3699833B2 JP25766698A JP25766698A JP3699833B2 JP 3699833 B2 JP3699833 B2 JP 3699833B2 JP 25766698 A JP25766698 A JP 25766698A JP 25766698 A JP25766698 A JP 25766698A JP 3699833 B2 JP3699833 B2 JP 3699833B2
- Authority
- JP
- Japan
- Prior art keywords
- priority
- bus
- data
- access
- client
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Bus Control (AREA)
Description
【発明の属する技術分野】
本発明は、共有資源へのアクセスの制御に関し、特に、一つのメモリ資源制御装置およびデータ経路への、リアルタイムでのデータ転送送をサポートしているバス装置を含む、DMA(直接メモリ・アクセス)をサポートしている複数のバスを調停する、例えば、DRAMのような共通(共有)ハードウェアへの、またこの共通(共有)ハードウェアからのバースト性能を改善するための複雑なメモリ・コア優先順位および調停スキームに関する。
【0002】
本発明は、さらにすべてのサポートされた、バス装置の待ち時間および帯域幅を決定することができ、ハードウェア・レジスタに結果を記憶することができる優先順位アーキテクチャに関する。前記レジスタはプログラム可能で、例えば、ビデオ解像度を変更したり、またはPCTバス上でより高速なSCST装置の使用を可能にするために、帯域幅要件に基づいて変更することができる。
【0003】
【従来の技術】
バスの使用を最適化するためのメモリ調停の分野には多くの特許がある。例えば、「DMA動作に関して、転送されるデータの量を変化させることにより、バス使用を最適化するための装置および方法」という名称の米国特許第5,423,020号がある。この特許は、DMA転送のサイズを動的に変化させるための、DMAコントローラを含むシステムに関する。前記コントローラは、データ・ブロックが到着したときに、装置からデータ・ブロックをバッファするための手段と、DMA動作を動的に作動し、データの最近の到着速度、およびDMA転送用にすでにバッファされたデータの量に従って、DMAが動作しているときに、転送されたデータの量を変化させるための手段とを含む。前記コントローラは、転送を待っているバッファされたデータの量、および最近のデータの到着速度に基づいて、DMAの動作中に転送された、データの量を動的に変化させることによってDMAの動作に対する効率的なバス利用を行うための技術を提供する。前記システムは、プロセッサ、主メモリ、一つまたはそれ以上の周辺機器およびDMAコントローラを含む。システム・バスが、プロセッサ、メモリおよびDMAコントローラを相互に接続している。前記コントローラは、DMA転送のサイズを動的に変化させることによって、データ・ブロックの直接メモリ・アクセス転送中のバス使用を改善する。前記コントローラは、データ・ブロックが到着したときに、装置からデータ・ブロックをバッファするための手段、およびDMA動作を動的に作動し、最近のデータ到着速度およびDMA転送用にすでにバッファされたデータの量に従って、DMAの動作中に転送されるデータの量を変化させるための手段とを含む。
【0004】
本発明の代表的な実施形態としては、プロセッサ、メモリ、一つまたはそれ以上の周辺機器、周辺機器からの、データ・ブロックをバッファするためのバッファを含む、直接メモリ・アクセス・コントローラ、および前記プロセッサ、メモリおよびコントローラを相互に接続しているバスを含むシステムがある。この場合、データ・ブロックは、高速と低速との間で変化するデータ速度で到着し、バッファされる。バス要求装置は、周辺機器とメモリとの間の、各直接メモリ・アクセス転送により転送されるデータ・ブロックの数を、動的に変化させることにより、直接メモリ・アクセス転送中のバス効率を改善するために、周辺機器および直接メモリ・アクセス・コントローラに接続している。バス要求装置は、バッファ中にバッファされた、データ・ブロックの全数をカウントするためのカウント手段と、到着してバッファされる連続データ・ブロックの間の、可変時間的間隔を測定するための測定手段、および時間的間隔が短くなり、バッファされたデータ・ブロックの全数が増大するにつれて、直接メモリ・アクセス転送により転送されるデータ・ブロックの変化する数を増大することによりバス効率を増大するために、バッファからメモリへのバッファされたデータ・ブロックの可変数をバス上の一回の転送中で選択的に転送するために、前記測定手段およびカウント手段に応じる直接メモリ・アクセス・コントローラを含む手段とを含む。
【0005】
「競合するメモリ・リフレッシュ回路、周辺コントローラおよびバス・マスタの間で、アクセス制御を調停するための共有メモリ・バス・システム」という名称の米国特許第5,438,666号は、共有アドレス、バス・マスタを通して、周辺機器とメモリとの間でデータを転送するために、バースト動作モードを提供するデータおよび制御バス用の調停システムに関する。前記調停システムは、バス・マスタから高い優先順位活動を制御する回路へ、共有バスの制御を一時的に渡すために、メモリ・リフレッシュ・サイクルおよびDMAサイクルのような、高い優先順位バス活動に応答する。前記調停システムは、さらにバースト・モード中にデータを転送するバス・マスタが、過度の長い時間の間共有バスの制御を保持するのを確実に防止するためにタイミング回路を含む。前記特許は、メモリ・リフレッシュ動作が、共有バス、特に、DMAを実行する際の過度に長い時間のオーバヘッド、バースト・モード転送制限を使用する、「サイクル・スチル」システムの欠点を克服するためのものである。本発明の目的は、マイクロプロセッサをベースとするコンピュータ・システムの動作の統合性を維持しながら、共有アドレス、データおよび制御バスへのより迅速で、より効率的なアクセスを提供することである。前記システムのバス調停回路は、バス・マスタが共有バスにアクセスし、マイクロプロセッサを排除して共有バスの制御を保持するのを防止するために、共有バスの統合性を保護するためのロジックを含む。保護の一つの形として、バス調停回路は、マイクロプロセッサへの割り込み要求をモニタし、マイクロプロセッサが割り込み要求を与えることができるように、マイクロプロセッサに共有バスの制御を許可する。
【0006】
動作中、このバス調停回路は、マイクロプロセッサによる割り込みサービスの完了を示す信号をモニタし、割り込みサービスが完了した時、(再調停待ち状態バス要求による)現在最も高い優先順位を持つ要求バス・マスタに、共有バスの制御を許可する。前記バス調停回路は、マイクロプロセッサによる共有バスへの、「公平な」アクセスを供給する別のロジックを含む。バス・マスタが、共有バスへのアクセスすることを許可されると、監視タイマがセットされ、予め定めた長さの時間が経過すると信号を発生する。前記予め定めた時間の長さは、バス・マスタが、共有バスを通してメモリへ、またはメモリからデータのバーストを転送することができるだけの十分な長さで持ち、それにより時間のオーバヘッド問題が軽減する。予め定めた長さの時間が経過すると、バス調停回路は、現在制御を行っているバス・マスタへの共有バスの許可を取り消す。命令を実行するために、マイクロプロセッサがバスを使用した後で、バス調停回路は、バス・マスタからの待ち状態のアクセス要求を調停し、一つまたはそれ以上のバス・マスタが、共有バスへのアクセスを要求している場合には、現在最高の優先順位を持つバス・マスタにアクセスを許可する。ある実施形態の場合には、バス・マスタ間のアクセス優先順位は、バス・マスタに共有バスに対するアクセスが許可される度に、回転(変化)し、その結果、バス調停回路が、バス・マスタによる共有バスへのアクセスを、次に調停した場合には、現在共有バスを制御しているバス・マスタが最下位の優先順位を持つことになる。
【0007】
本発明の代表的な実施形態としては、マイクロプロセッサ、システム・メモリおよび前記マイクロプロセッサと前記システム・メモリとの間に共有バスを持つ、コンピュータ・システム用のバス調停制御回路がある。前記コンピュータ・システムは、さらにシステム・メモリを周期的にリフレッシュするために、共有バスを使用するメモリ・リフレッシュ制御回路、およびシステム・メモリと複数の周辺機器との間でデータを転送するために共有バスを使用する、複数の周辺コントローラを含む。バス調停制御回路は、共有バスへアクセスするためのアクティブな要求を持つ周辺コントローラの間で、共有バスの制御の調停を行う。調停制御装置は、周辺コントローラおよびメモリ・リフレッシュ制御回路から共有バスへアクセスするための要求を受信する複数の入力と、リフレッシュ制御回路が、メモリ・リフレッシュを完了し、その結果、第一の周辺コントローラが、前記第一の周辺コントローラとアクティブなバス要求を持つ他の周辺コントローラとの間で、優先順位の調停を行わないでその動作を完了することができるとき、リフレッシュ制御回路が、共有バスにアクセスを要求し、ロジック・シーケンサが、何時でも共有バスの制御を第一の周辺コントローラに自動的に戻すとき、複数の入力に応答し、共有バスの制御を持つ第一の周辺コントローラに制御を放棄させ、一時的に、メモリ・リフレッシュ制御回路に共有バスの制御を渡すロジック・シーケンサを持つ。
【0008】
「データ・バス待ち時間および域値以下の受信した再割当要求に基づいて、データ転送中、再割当要求を拒否するための装置」という名称の他の米国特許第5,463,739号は、第一の装置と、共通メモリの割当てられた部分との間のデータ転送を管理するための方法を開示している。この方法は、第二の装置からの、共通メモリの前記割り当てられた部分の再割当要求の受信と、第一の装置から要求された前記再割当の拒否の受信と、前記再配置要求の遅延を含む。さらに、周辺機器と仮想メモリ・システムの共通メモリとの間でデータを転送する方法も開示している。前記方法は、共通メモリの割当られた部分により、データを転送するようとの周辺機器への命令と、共通メモリの割当済みの部分の再割当の要求と、および命令されたデータ転送に応じて、周辺機器から要求された再割当の拒否の受信とを含む。動作中、調停装置は、システム・バス割込み待ち時間に関して、許容できる時間の間に、データ転送を完了することができるかどうかを決定して、再度の試みを許可するかどうかを決定する。
【0009】
「過去のフィードバックおよびエラー検出および修正用の設備を持つ、動的にプログラムすることができるバス調停装置」という名称の米国特許第5,481,680号は、表に作成するために、バス要求を表す数値と組合される、一意の経歴レジスタを使用する調停回路を開示している。経歴レジスタ要求のすべての可能な組合せは、対応する許可と一緒に前記表の中に記憶される。表の一つのブロックは、経歴レジスタにより選択され、要求は、どの要求が許可を受信したかを決定するために、ブロック中で索引をつけるために使用される。その後、前記許可は、経歴レジスタにシフトされる。メモリには一つ以上の表を記憶することができ、それら表は調停装置コントローラにより選択することができる。この特許は、この分野のある問題を記載しているが、その問題とは、その許可選択の際に過去のフィード・バック対する規定を持つ、動的な優先順位スキームを供給するバス使用調停装置が存在しないという問題である。この特許の場合、前のバス・アクセスを要求者にサービスするための、決定の一部として考慮に入れる調停回路によりこの問題に対処している。より詳細に説明すると、前記調停回路は、メモリのある位置にアクセスするための、現在のバス要求を表す数値と組合されている過去のバス要求を表す数値を、発生する一意の経歴レジスタを提供する。可能性のある許可は定義され、過去の要求および現在の要求の可能な各組合せに対する、メモリの各位置に記憶される。可能性のある許可の選択は、経歴レジスタの内容を、メモリ・アドレスの高順位のビットとして使用することにより、また一つの許可出力を許可することを決定するために、現在の要求をメモリ・アドレスの低順位のビットとして使用することにより行われる。前記許可も、経歴レジスタにシフトされる。複数のアルゴリズムを選択的に供給するために、メモリに一つ以上の表を記憶することができる。この特許は、バス使用に対する、複数の要求を受けつけるステップと、前記複数の要求に応じて、選択した調停状態を決定するために、前記複数の要求に対して、シーケンシャルな順序で、前記複数の過去の許可を含む経歴レジスタを適用するステップと、選択した調停状態を、複数の調停状態、および対応する複数の許可を含む調停状態表に、索引として使用するステップと、要求者に、選択した調停状態により直接索引がつけられた、複数の許可の一つ発行するステップとを持つ、複数の前のバス要求許可の経歴に基づいて、複数の要求からのバス割り込み要求を調停する方法を開示し、また特許請求している。
【0010】
「バス帯域幅管理用の方法および装置」という名称の米国特許第5,506,969号は、図3に、バス帯域幅管理方法のフローチャートを示している。ブロック300においては、クライアントのアプリケーションが、高速バス上のバス・マネージャに、データ転送に対する転送要求を発行する。前記転送要求は、転送用のデータを含むモジュール(ソース・モジュール)を定義する情報、データ転送を受信するためのメモリ領域を含む、一つのモジュールまたは複数のモジュール(宛先モジュール)、転送されたデータを受信するための二つの二次元メモリ領域の説明、および特定の転送要求に関連する重要情報および緊急情報を含む。
【0011】
ある実施形態の場合には、時間駆動資源管理(TDRM)法が使用される。一般的にいって、TDRM法は、緊急情報に基づき、期限が一番短いものを一番最初にする、すべての未決着の転送のスケジュールを作成しようとする。バス過負荷状態に対するテストが行われ、バス過負荷であると判断された場合には、選択した転送要求のサービスは遅延される。この特許の代表的な実施形態は、緊急情報および重要情報に基づく、各転送要求に対する重要性に関するリストおよび緊急性に関するリストを作成するステップと、各転送要求に対して指定された期限以内に、緊急リスト上の転送要求にサービスするのに、十分なバス帯域幅があるかどうかを判断するステップと、バスが、転送要求にサービスするだけの、十分なバス帯域幅を持っている場合に、緊急リストに対応する転送順序を作成するステップと、バスが、転送要求にサービスするのに、十分な帯域幅を持っていない場合に、バスが、残りの転送要求にサービスするにに、十分なバス帯域幅を持つまで、低い優先順位を持つ転送要求を除去することにより、緊急リストの順序を変更するステップとを含むバス管理法に基づいて、バス使用に対する転送要求のスケジュールの作成を含む。
【0012】
「スケール可能なインターフェースを持つ、動的多重速度バス・アーキテクチャ用の方法および装置」という名称の米国特許第5,509,126号は、コンピュータ・システムの複数の装置、またはノードの間での通信を可能にするための、バス・アーキテクチャ通信スキーム、特に固定速度および多重速度のノード間で、可変および将来高速化可能な速度で、データ・パケット転送を可能にする、動的多重速度バス・アーキテクチャに関する。この特許は、各ノードが、システムの他の各ノードに接続されるバスに、プラグにより接続されるバス・アーキテクチャの欠点を克服する方法を開示している。特定のノードにより、前記タイプの共通バスを通して送信されたデータ・パケットは、データ・パケット転送が、最も遅いノードの速度に基づく固定速度で、行われなければならないようにバスに接続している、すべての他のノードにより受信することができる。特定のバス上のデータ・パケット転送の固定速度は、バスそれ自身を実行する前に定義しなければならない。何故なら、前記固定速度は、その時のノードの技術的能力により異なるからである。それ故、この特許の目的は、新しいノードが古いノードと共存することができ、最も簡単な方法(最低のコスト、最低の設計努力および最低のアップグレード時間)で、速度を向上させることができる、最適のコスト・パフォーマンス・システムを供給する一方で、より新しくより高速のノードを持つ上位互換性を持つ、真の動的多重速度バスを実行することである。この特許が開示しているように、この特許の目的は、より新しく、より高速のノードと、少なくとも一つの多重速度バスの一つの相互接続を形成している、可変速度、固定サイズ・リンクを通して、一緒に接続しているより古く、より速度の遅いノードとの間で可変速度データ・パケット転送を可能にするスケール可能な、多重速度バス・アーキテクチャ用の方法および装置を提供することである。この特許の図2に示すように、スケール可能な能力を持つ、固定速度Fs、可変サイズVz、可変長VLの(バスYと呼ぶ)インターフェースが、ローカル・ホスト25および多重速度リンクzとの間の、各ノード3で実行されている第一のモジュール21、および第二のモジュール22の間に設置されている。第二のモジュール22は、複数の多重速度直列ラインz、多重速度直列バス上の、種々のノード3の間の調停をするためのバス調停装置55、およびコントローラ50とバス調停装置55との間で、制御情報を転送するための内部バス1を通して、複数の他のナットを相互に接続するための複数の外部ポートを持つ。バス調停装置55は、速度メッセージを送受信するための、速度信号回路59を含む。コントローラ40に、リンクZに第三のデータ・パケットCCを送信する速度を知らせるために、この情報を含む速度メッセージを、第一のデータ・パケットAAを受信する前に、ローカル・ホスト25からコントローラ40に、送信する必要がある。その後、前記速度メッセージは、リンクZの他方の端部に接続している隣接中継ノード3に送信するために、またリンクZ上に送るために、第二のモジュール22の速度信号回路59に送られる。この速度情報を使用することにより、コントローラ40は、バスYの固定速度の数値で、第三のデータ・パケット速度の数値を割ることにより、第二のデータ・パケットBBのサイズを決定することができる。バスを要求するために、またはレジスタにアクセスするために、要求ラインを通して、データ・ビットの短い直列ストリームが送られる。送られた情報は、要求のタイプ、データ・パケットが送信される速度、および任意の読み出し/書き込みコマンドを含む。
【0013】
「マルチメディア・コンピュータ・システムで、効率的なバス割当てを行うための方法および装置」という名称の米国特許第5,533,205号は、プロセッサ、メモリおよび最大データ転送速度を持つバスを通して相互に接続している、複数の入力/出力装置を含む、、マルチメディア・コンピュータで、効率的なバス割当てを行う方法および装置を開示している。コンピュータ・システムにおける、種々の表示装置へのオーディオ、ビデオ、または他の時間の影響を受けるデータの転送は、選択したアプリケーションをサポートするために、予め定めたある速度で行わなければならない。バス・アクセスで競合する可能性がある各表示装置に、関連するバス・アクセスの優先順位を表示するために、調停レベル・インジケータが使用される。選択した時間中、特定の表示装置に関連する調停レベル・インジケータは、必要なデータ速度でのバス・アクセスを保証するために、一時的に順序の変更を行う。この特許の図3は、この特許の方法およびシステムによる、調停レベル・インジケータの時間インターバル割当ての図面による表示である。動作中、例えば、バスの最大データ転送速度が、20メガバイトであり、特定の入力/出力装置割当て調停レベル6(A6)が、1秒当たり4メガバイトのデータ転送速度を必要とする場合には、その調停レベルに、1フレーム中の5番目の時間インターバルが割り当てられる。入力/出力装置が使用することができるバス帯域幅の百分率は、調停オーバヘッドおよび潜在時間により異なる。しかし、この例は、各フレームにおいて、前記百分率が、時間の経過につれて均一に分布していることを示している。図3について説明すると、このシステムは、高速メモリに、バス36上の各区時間フレームの、ある時間インターバルの最も高い優先順位が与えられる調停レベルの表示を記憶する。この特許は、予め定めたデータ速度での、バスへの特定の入力/出力装置のアクセスを保証するために、特定の入力/出力装置に関連する調停レベル・インジケータの、記憶した順番に配列されたリストを、特定の時間インターバル中に、選択的にまた一時的に並べ変えることができる技術を提供する。
【0014】
「動的で柔軟な優先順位決定を行うための、調停装置および調停プロセス」という名称の米国特許第5,546,548号は、簡単なスキームにより実行した、優先順位決定の動的構成を提供する、プログラム可能な調停装置に関する。調停装置のバンクは、カスケード状になっている。各調停バンクは、調停する必要がある予め定めた数の組の、バス要求を受信する。各バンクは、バス要求の優先順位を評価するための、回転または固定優先順位を提供するように、それぞれプログラムされる。固定優先順位または回転優先順位で動作するように、調停バンクを個々にプログラムすることによって、種々のアプリケーションに適応することができる、固定優先順位、回転優先順位または両者を組合せた優先順位により、動作することができる柔軟で、プログラム可能な調停装置を作ることができる。調停装置コンフィギュレーション・レジスタが、前記バンクを制御するために使用される制御信号を、記憶するために設置されている。図4cは、図4aに示す調停構造体をサポートするためのコンフィギュレーション・レジスタである。他の実施形態の場合には、調停装置は、例えば、調停装置コンフィギュレーション・レジスタに記憶されている数値によりプログラムされた、優先順位スキームを動的に優先するような構成にすることができる。それ故、レジスタの状態を変化させないで、優先順位を変えることができる。他の観点から見ると、この特許の場合、高速バス500の帯域幅を節約するために、より速度が遅いバス510が、アクセスのために解放されるのを待ちながら複数の再試行要求の再発行を防止するため、要求が無用なものとして処分されないようにする目的で、要求がマスクされるようにCPUの優先順位が一時的に修正される。別な方法の場合には、その優先順位が、もっと低い優先順位になるような修正が行われる。バス調停装置は、バス510、500上に時計を保持していて、そのためより速度が遅いバス510が解放されると、CPUの優先順位が、予め定めた優先順位に再び修正され、その結果、後続の再試行が試しに行われ、許可される。
【0015】
「自動入力/出力制御装置を持つデータ処理システム」という名称の米国特許第3,283,308号は、チャネル優先順位アクセス制御により規制された、入力/出力マスタ制御装置を通して、メモリ・サブシステムと個々のチャネル・バッファ・レジスタとの間のデータの流れの規制に関する。チャネル優先順位アクセス制御装置の一実施形態の場合には、各チャネルに予め定めた優先順位アクセスを割り当てる。例えば、チャネル番号「0」は最も低い優先順位を持ち、チャネル番号「1」は、より高い優先順位を持つというようになる。それ故、速度が最も遅い周辺機器は、優先順位の最も低いチャネルに接続している。従って最も高速の周辺機器は、優先順位が最も高いチャネルに接続している。チャネル優先順位レジスタは、2進コードがついている三本の出力リード線と、作動段を持つ8段のレジスタである。動作中、クロック・パルスが発生したときに、リード線上に信号が存在する場合には、優先順位レジスタは、2進コードで「7」を登録する。他の段はオンにセットされる。何故なら、リード線上の前記信号は、インバータで倒置された後で、後続の各ANDゲートが閉じるのを阻止するからである。類似の方法で、任意のより高い優先順位を持つチャネルは、同一のロジック・ゲート素子で、下位のゲートを阻止するからである。この特許の代表的な実施形態は、最も高速なデータ速度を持つ装置が、自動的にメモリ・サブシステムの、最も高い優先順位を使用することができるように、メモリ・サブシステムと、周辺の送受信装置との間のデータの流れを規制する手段と、最も高速のデータ速度を持つ装置が、自動的にメモリの最も高い優先順位を使用することができるように、メモリと、周辺のデータ送受信装置との間のデータの流れを規制するための手段と、各チャネルに対応する複数の入力に応答し、メモリ・サブシステムへのアクセスを要求するチャネルに、対応するカウントを登録することができる、チャネル優先順位レジスタを持つメモリ・サブシステムへの各チャネル制御ユニットのアクセスを規制するためのチャネル優先順位アクセス制御装置と、より高い優先順位のチャネルからのアクセス要求が、より低い優先順位のチャネルからのアクセス要求を阻止するように、チャネルとレジスタ入力との間に接続しているゲート手段と、周辺のデータ送受信装置と、メモリ・サブシステムへ周辺機器を選択的に接続するためのチャネル制御ユニットとの組合せと、(現在のアドレスが端部アドレスと等しい場合に)メモリ・バッファ領域の端部が、データ交換に使用された場合、チャネル制御装置をリセットし、周辺機器を切り離すことによって、またはスタート・アドレスを、端部アドレス直後のデータ交換用の、現在のアドレスとして使用することにより、循環的にデータ交換を続行することにより、選択した周辺機器とメモリ・サブシステムとの間のデータ交換を選択的に終了するための手段を含む。
【0016】
「多重バス・サイクルを実行することができるマイクロプロセッサ」という名称の米国特許第4,580,213号は、マイクロプロセッサ・バス・コントローラの実行に関する。
【0017】
「入力/出力装置を持つ、バス制御システムのバス用優先順位制御装置」という名称の米国特許第4,583,160号は、より高い優先順位を持つ入力/出力装置により、バスの使用に割り込みがかけられるまでは、ハードウェア動作装置のような、より優先順位の高い処理ユニットにより、バスの使用に割り込みが掛けられるまで、高速データ処理ユニットにより、バスを継続して使用することができるバス制御システムの供給に関する。バス・データ用の高速処理ユニットは、他の装置と比較すると、バスの使用に関してより低い優先順位を持つ。高速処理ユニットが、バス・データを処理している間に、命令を実行するデータ処理ユニットによるバスの使用は抑制され、その結果、高速処理ユニットの優先順位は、データ処理ユニットの優先順位より高くなる。他の装置により割り込み要求が行われた場合には、割り込み要求を受けた高速処理ユニットは、バス・データの高速処理を中断する。データ処理ユニットによる割り込み処理が完了した後で、データ処理ユニットからの再開要求により、バス・データの高速処理が再開される。バス使用についての優先順位は、下記の順序で、最も高い優先順位から最も低い優先順位の順序で、入力/出力装置、ハードウェア動作ユニットおよびデータ処理ユニットに与えられ、データ処理ユニットによるバスの使用は、動作ユニットの高速処理ができるように、ハードウェア動作ユニットの継続処理動作中は抑制される。
【0018】
「バス・データ転送速度を改善するための、複数のバス要求および許可信号を使用するDMAシステム」という名称の米国特許第4,729,090号は、構成部品の間でデータを転送するための共通データ・バスに関するもので、CPUがバスを使用しているかどうかを示すフラッグ・レジスタを提供する。
【0019】
「バス・コントローラ・コマンド・ブロック処理システム」という名称の米国特許第4,805,137号は、ターミナル応答のための厳格な時間拘束を持つ、バス・システム用のリアルタイム・バス・システム・コントローラに関する。
【0020】
「チャネル制御回路を持つ、直接メモリ・アクセス・コントローラを含む、単一チップ通信データ処理装置」という名称の米国特許第5,111,425号は、例えば、転送パラメータを記憶するレジスタを使用し、前記レジスタを制御するための制御回路を持つISDNのような、通信制御ユニットと一緒に使用するためのDMAコントローラに関する。
【0021】
「バス幅コンバータおよび8ビットおよび16ビットの、マイクロプロセッサとのインターフェース用のラッチを使用する32ビット・パソコン」という名称の米国特許第5,113,369号は、マイクロプロセッサ・システムで、8、16および32ビットのバス幅を変換するための集積回路に関する。
【0022】
「データ・ブロックの幅が変化する、データ・エントリのブロックをバースト転送するために、ブロック移動命令を使用するデータ処理システム」という名称の米国特許第5,185,694号は、「移動」命令を使用する緩く接続しているシステムの、システム・バス上でのデータのバースト・モード転送の使用に関する。
【0023】
「複数のバス・マスタによる、多重化アドレス/データ信号バスを、共通使用するための方法および装置」という名称の米国特許第5,191,656号は、待機中のバス装置の待ち時間を短くするために共有バスへのアクセスを制御する中央調停ユニットに関する。
【0024】
「資源の利用可能性に基づく調停のための方法および装置」という名称の米国特許第5,239,651号は、転送資源の利用可能性に基づく、複数の要求されたデータ転送間での、調停を行うための方法および装置に関する。資源の制御に関する要求は、要求されたデータ転送、内部バスおよび外部バスのサイズに関する情報と一緒に、調停装置に送られる。前記調停装置は、前記情報をバッファに残っているスペース、内部バスの利用可能性および外部バスの利用可能性と比較する。要求を満足させるために、すべての資源を使用することができる場合には、その要求は許可調停となり、要求された転送がスタートする。
【0025】
「異なる速度で動作しているバスの調停方法」という名称の米国特許第5,253,348号は、異なる速度のバスを持つシステムで、複数のバス許可が同時に行われるのを防止するための、バス・アクセスの調停に関する。
【0026】
「マイクロプロセッサでのバースト・データの転送方法」という名称の米国特許第5,255,378号は、バースト配列スキームの実行による、バースト・データ転送の効率の改善に関する。
【0027】
「周辺機器を選択的に接続するための、キャッシュ・メモリおよびバス幅制御回路」という名称の米国特許第5,280,598号は、キャシュ・メモリでバス幅制御回路を使用する異なる幅の複数のバスの接続に関する。
【0028】
「透明なデータ・バスのサイズ決定」という名称の米国特許第5,388,227号は、異なる幅の複数のバス間の通信の処理に関する。
【0029】
「バスのサイズ決定機能を持つデータ・プロセッサ」という名称の米国特許第5,394,528号は、メモリ境界サイズ決定を使用する異なる幅のバス間での通信の制御に関する。
【0030】
「多重バス・コンピュータ・システム用調停ロジック」という名称の米国特許第5,396,602号は、第一のおよび第二のレベルの調停ロジックを接続し、選択した規格入力/出力装置に対応する調停識別情報を含み、側帯波システムを含む調停機構に関する。ベース・システム・メモリへのアクセスは、ベース・システム・メモリ・バスを通して、メモリ・コントローラにより制御される。入出力動作が、一次PCI装置に対するものである場合には、PCIホスト・ブリッジは、メモリ・コントローラに解読コマンドで応答し、入出力サイクルを適当な一次PCI装置に送る。
【0031】
この特許の図2について説明すると、規格バス・ブリッジが存在しない場合に使用される実行は、バンク調停制御点(BACP)、PCI調停制御点(PACP)、および直接取り付け調停制御点(DACP)を含む。前記BACPは、一次PCTバスを制御するために、PACPおよびDACPによる要求間の調停を行う。PACPは、CPU、および一次PCI装置によりPACPに提出された一次PCIバス・アクセス要求(集合的に、「バンク0要求」と呼ぶ)を管理する。DACPは、それが制御する周辺入力/出力装置のために、入出力コントローラが、DACPに提出した一次PCIバス要求を処理する。この階層アーキテクチャは、CPUと一次PCI装置との間の調停が、入出力コントローラにより制御されている周辺入出力装置、(存在する場合には)標準バス・ブリッジに取り付けられている、標準入出力装置間の調停とは独立して管理されるシステムに対して、調停スキームを提供する。PACPは、PACP上の五つのピンを通して、最高5台までのPCI装置およびCPUから、直接PCIバスに対するアクセス要求を受信する。調停優先順位が、各一次PCI装置およびCPUに割り当てられる。優先順位レベルは、関連PCI装置の帯域幅に基づいて決定される。例えば、高い帯域幅と低いバッファ能力を持つPCI装置には、より狭い帯域幅および/またはより高いバッファ能力を持つ装置より高い調停優先順位を、割当てなければならない。この特許の代表的な実施形態は、第二のシステム・バスに電気的に接続している二つのレベルの調停ロジックと、個々の入出力バス位置の一方が、標準入出力バスへのアクセスのために競合している、複数の個々の入出力位置から選択される入出力バス上で、調停を行うためのロジックの第一のレベルと、選択した個々の入出力バス位置の間で、調停を行うためのロジックの第二のレベルとを備える、二つのレベルを持つ調停ロジックとを持ち、CPUと少なくとも一つの周辺機器が、周辺バスにアクセスするために選択される。前記二つのレベルを持つ調停ロジックは、調停ロジックの第一および第二のレベルを、直接接続している側帯波信号と、選択した個々の入出力バス位置に対応する、調停識別情報を含む側帯波信号を含む。
【0032】
「1バイト幅のデジタル・データ・バスと、4バイト幅のデジタル・データ・バスとの間で、データを転送するためのデジタル・データ装置」という名称の米国特許第5,428,763号は、VMEとSCSIバスとの間でのデータ転送の制御に関する。
【0033】
「高速直接メモリ・アクセス・バス用の調停装置」という名称の米国特許第5,471,639号は、DMAコントローラの調停回路に関する。
【0034】
「プロセッサの介入を少なくするための、DMAコントローラ、サービス調停装置、バッファ・タイプ・マネージャ、およびデータ転送を管理するためのバッファ・マネージャを持つデータ・パケット切り替えシステム」という名称の米国特許第5,530,902号は、データ・パケット転送を使用する、マイクロプロセッサ装置用の共通バッファ管理スキームに関する。
【0035】
「DMA転送の動的バス・サイズ決定」という名称の米国特許第5,548,786号は、異なるサイズのバスを通してのデータ転送を制御するために、バス・サイズ制御情報を使用するDMAコントローラに関する。
【0036】
「複数のデータ経路が発生した、メモリ要求信号タイプを使用する調停制御用システム」という名称の米国特許第5,548,793号は、要求タイプに優先順位を割り当てることによる、並列プロセッサを持つビデオ信号処理システムのメモリ要求間の調停に関する。
【0037】
「複数のディスク・ドライブからのDMA要求を調停するために、ゲート回路を使用するSCSIバス容量拡張コントローラ」という名称の米国特許第5,566,345号は、SCSIバスに接続する装置の数を拡張するためのプロトコル規格の使用に関する。
【0038】
前記特許に記載してあるように、この分野には多数のそして種々のメモリ/バス調停スキームが使用されているが、特に高いビデオ解像度が要求される近代パソコンの場合には、待ち時間および帯域幅に関するいくつかの問題が未解決のままである。
【0039】
コア・ロジック構成部品は、中央処理ユニット(CPU)装置の、ローカル制御およびデータ・バスを、直接メモリ・アクセスRAM(DRAM)のような他のバス、およびペリフェラル・コンポーネント・インターコネクト(PCI)のような入出力バスにインターフェースする働きをする。異なるCPUアーキテクチャで実行される、コア・ロジック装置に共通な要件は、DRAMおよびPCIのような共有資源に、複数のエージェントがアクセスすることができることである。
【0040】
従来の実行の場合には、重点的な考慮の対象となったのは、バス・アクセス・クライアントが固定の優先順位を持つ、固定調停アルゴリズムである。この方法は、フレーム・バッファおよびグラバのような、帯域幅および待ち時間要求を変更するクライアントが必要とする柔軟性を持たない。固定アルゴリズムを使用した場合には、要求された時何時でも、高い優先順位の装置に同じ帯域幅を与えることにより、要求が軽くなる場合には、帯域幅が無駄に使用されるという結果になる。
【0041】
システムの、前記装置は、バッファを使用することにより、ある程度の待ち時間があっても大丈夫になる。しかし、帯域幅要求の変更に基づいて、これらバッファが満たされたり、空になったりする速度が、最低の場合の設計処理能力以下に低下した場合には、前記装置は待ち時間要件を緩和しない。
【0042】
固定アルゴリズムの場合は、優先順位の高いクライアントが、要求を行った場合でも、CPUまたは他の高性能装置が(そのバーストを継続する)そのバースト長さを延長させるという方法を利用しない。何故なら、優先順位が高いクライアントがどのくらい長く待ち状態にあるのか、または優先順位の高いクライアントが何時失敗するかを知ることができないからである。
【0043】
他の方法の場合には、クライアントのところで帯域幅を供給することにより、ある程度の柔軟性を与える試みが行われる。例えば、リアルタイム・クライアントは、ある域値に達するまで、ある要求を表明定しないように複数のタップ点を持つことができる。この方法で問題になるのは、他のリアルタイムまたは高性能被駆動装置がアイドル状態であるために、アイドル時間中転送を行うことができない場合に、このクライアントが、転送することができないことである。このため、将来クライアント間で要求の競合が起こる確率が高くなる。何故なら、側帯域幅がすでに無駄に使用されてしまったからである。本発明を使用すれば、データを持っているとき、クライアントは何時でもアクセスを要求することができ、そのアクセスを要求している間に、経験した待ち時間の長さに基づいて、アクセスの許可が行われる。
【0044】
PCI(周辺部品相互接続)バス優先順位スキームは、またメモリ・コントローラのような他の資源共有装置を使用してすでに実行されている。PCIは、ラウンド・ロビン方式をサポートポートするが、この場合には、システム・メモリのように、装置にアクセスするためのにバスが許可されるとき、各クライアントおよびエージェントに等しく公平な機会が与えられる。各エージェントは、時間の長さを制限するそれ自身のプログラム可能な待ち時間タイマを実行し、エージェントは、アクセスを許可された場合、バス上にバーストすることができる。
【0045】
この方法の問題は、エージェントがバスの使用を要求した時、この方法が固定域値のコンセプトまたは多数の固定域値を使用することである。あるエージェントの場合には、バスの負荷が軽いか、バスが使用されていない場合には、バスの要求を考えないし、帯域幅要求が「最高点と最低点」の達した時、バス使用の効率が低くなる。常に要求を行って、ラウンド・ロビン方式を利用するエージェントの場合には、他のエージェントがより多くのデータを持っているかもしれない場合には、短い複数のバーストで、帯域幅を無駄に使用する。何故なら、ラウンド・ロビン方式の場合には、すべてのエージェントは、等しい優先順位を持つからである。
【0046】
【課題を解決するための手段】
複数の装置により、メモリのような共有資源アクセス・システムへのアクセスを制御する共有資源アクセス・システムであって、記憶した変数に基づいて、資源アクセス要求への優先順位の数値をコード化する優先順位エンコーダと、待ち状態の資源アクセス要求の優先順位の数値を解読、比較し、選出要求を決定する優先順位デコーダと、待機中の資源アクセス要求に対する、共有資源の少なくとも一つのアドレスを解読するアドレス・デコーダと、現在アクティブな資源アクセス要求と、優先順位デコーダからの選出要求との間で調停し、出力を供給する調停装置と、前記調停装置からの出力に基づいて、共有資源へのアクセスを制御する資源コントローラとを有する構成とし、前記複数の各装置に対し、前記優先順位の数値に基づき優先順位曲線を確立するステップを含み、優先順位曲線が、待ち時間の変化に対する優先順位カウントの変化を表すとともに、各装置に対する優先順位曲線が、第一の優先順位領域、第二の優先順位領域、および第三の優先順位領域を含み、第一、第二および第三の優先順位領域それぞれが、待ち時間に対する優先順位カウントのそれぞれの変化速度を持ち、第一の優先順位領域において、ある装置が他の装置による横取りを許すが、他の装置の横取りと要求せず、第二の優先順位領域において、ある装置が他の装置による横取りを許し、また他の装置の横取りを要求し、第三の優先順位領域において、ある装置が他の装置の横取りを要求するが、他の装置による横取りを許さないようにしたことを特徴としている。
【0069】
【発明の実施の形態】
図1について説明すると、この図は、本発明の例示としての実施形態の実行のブロック図である。
【0070】
メモリ・コアを見てみると、この実施形態の場合には、メモリ・コアは七つのエージェントを含み、すべてのエージェントは被呼クライアントである。何故なら、前記メモリ・コアは、単一のメモリ資源にアクセスするための、すべての要求をサーブするからである。クライアントの一例としては、独立の読み出しおよび書き込み経路、グラフィックス・コントローラ104、VGAコントローラ106、表示をリフレッシュするために、メモリにアクセスするビデオ走査バッファ108、リアルタイムYUVマルチメディア・ポート110(ビデオ入力)、ハードウェア・カーソル112、または独立のビット・マップした画像またはPCI114のような入出力クライアントを必要とするX86マイクロプロセッサのようなホストCPU102がある。
【0071】
図1のブロック116は、段階1優先順位エンコーダ、優先順位デコーダおよびRASチャネル・デコーダである。図に示すように、ブロック116は、種々のクライアントから要求を受信する。ブロック116は、Error Checkを、段階1エラー・チェック・ブロック118に出力し、Decodeを段階1アーキテクチャ122に出力する。
【0072】
段階1エラー・チェック・ブロック118は、「エラー状態」を段階1アーキテクチャ122およびレジスタ・ファイル・ブロック134に出力する。
【0073】
段階1ロック(タグ付け)ブロック120は、段階ICCCサブステージ・ブロック130、および段階1ロック状態維持サブステージ128がするように、段階1アーキテクチャ122と信号を交換する。
【0074】
段階1アーキテクチャ122は、入出力コンフィギュレーション・バスに接続している。
【0075】
段階1アーキテクチャ122は、「要求エントリ発行」を、段階2メモリ・コントローラ(非同期および同期)ブロック132に出力する。
【0076】
段階1アーキテクチャ122は、クライアント発行状態を出力する。
【0077】
段階2メモリ・コントローラ・ブロック132は、「制御信号」を、クライアントの各データ・バスおよびDRAMインターフェース・データ・バスに接続している段階2データ・マルチプレクサ124に出力する。
【0078】
段階2メモリ・コントローラ・ブロック132は、「RDY/DONE」を段階2要求バス状態マルチプレクサ・ブロック126に出力し、前記ブロック126は、各クライアントに出力を送る。
【0079】
段階2メモリ・コントローラ・ブロック132は、入出力コンフィギュレーション・バスを通して、さらにレジスタ・ファイル・ブロック134、段階1アーキテクチャ122、および優先順位エンコーダ/デコーダ/RASチャネル・デコーダ・クロック116に接続している。
【0080】
レジスタ・ファイル・ブロック134は、ホスト・コア・インターフェース・ブロック102に接続している。
【0081】
より詳細に説明すると、すべてのメモリ・クライアントは、要求バスを通して、メモリ・コアの段階1にインターフェースにより接続している。図示のクライアントは、ホスト・コア・インターフェース102、グラフィックス・アクセラレータ・エンジン104、VGAビデオ・コントローラ106、ビデオ走査バッファ108、ハードウェア・カーソル112、YUVビデオ入力ストリーム110、およびPCIコア114を含む。
【0082】
各クライアント用の要求バスは、対応する物理的アドレス、バイト・マスク、バーズト・サイズ、タイプ(読み出しまたは書き込み)、バースト順序(直線的、シーケンシャル、インターリーブ)、読み出し修正(要求位置ロック)、シーケンス番号、書き込みデータ入力と共に、クライアントの要求を知らせるためのものである。メモリ・コアからクライアントへの要求バス出力信号は、発行インジケータ、エラー、データ読み出し/書き込みレディ、発行済みまたはレディ・シーケンス番号または読み出しデータを含む。
【0083】
各クライアントは、待ち時間感度およびバースト・サイズに基づいて、書き込みまたは読み出しバッファをサポートする場合もあるし、サポートしない場合もある。また、クライアントは、メモリ領域を決定する個々のレジスタによりプログラムされる。このときのメモリ領域はメモリ・コアによりキャッシュのコヒーレンシー(スヌープまたは問い合せサイクル)を必要とし、キャッシュに記憶可能であると考えられる領域である。 側帯波信号が、問い合わせ(検査)サイクルを同期できるように、ホストと段階1との間に供給される。この動作は要求されたメモリ位置が修正キャッシュ・ラインと一致しても、可能性のある結果がキャッシュを無効としている場合に行われる。キャッシュが無効になると、要求しているクライアントのアクセスの前に、実行しなければならないキャッシュ・ラインの書き戻しが行われる。より詳細に説明すると、ホスト・インターフェースへのメモリ・コアに対しては、前記側帯波信号は、問い合わせサイクル要求であり、問い合わせアドレスであり、メモリ・コアへのホスト・インターフェースに対しては、前記側帯波信号は、問い合わせサイクル受取通知、修正一致、修正不一致である。
【0084】
入力/出力コンフィギュレーション・バス136は、優先順位領域および優先順位変更速度、キャッシュ可能なメモリ領域、メモリ保護領域、メモリ・タイミング、メモリ・タイプを決定する、調停関連のレジスタのように、すべてのプログラム可能なレジスタ・ファイル134出力を供給する。すべてのデータは、レジスタ・ファイル134に記憶される。
【0085】
段階1優先順位エンコーダ/デコーダRASチャネル・デコーダ・ブロック116は、優先順位コード化、優先順位解読を実行するための、階層動作ブロックを含む。優先順位エンコーダは、本特許明細書に記載するように、優先順位カウント累積機能を行う。この場合、未処置のクライアント要求は、二つの優先順位領域の0に対する優先順位カウントの変更速度を記述するレジスタ設定に基づいて、優先順位カウント値を累積する。優先順位エンコーダは、またあるクライアントに対する横取りを発生するための、優先順位領域0−2のところで概略説明したルールに基づいて、待機中のクライアントに対する横取り要求を送る。
【0086】
優先順位デコーダは、未処置のクライアント要求に対する、すべての優先順位カウントを比較し、領域0−2に対する優先順位領域ルールに基づく、選出クライアントIDを表示する。さらに、優先順位デコーダは、優先順位エンコーダによる横取り要求に基づいて、アクティブな段2のタスクの横取りを表示し、三つの優先順位領域を制御する。
【0088】
段階1アーキテクチャ122は、116のすべての階層ブロックの決定と平行して、またこの決定に基づいて、アクティブな段階2の、メモリ・コントローラ132により、タスクが完了したの後、選出要求をラッチする。ラッチされた要求は、要求アドレス・タイプ、バースト・サイズ、バイト・マスク、クライアントIDを含む。ラッチされた信号は、段階2メモリ・コントローラ132に発行される。
【0089】
横取りが発生した場合には、段階1アーキテクチャ122は、現在の未処置のバースト・サイズと一緒に、バッファに横取りしたタスクを記憶し、横取りタスクを発行する。横取りタスクが完了すると、調停装置122は、新しい基準(アドレス)および突出バースト・サイズと一緒に、横取りタスクを復元する。入り子状になった横取りがサポートされる。しかし、多重に横取りされたタスクの場合には、横取りタスクが完了した後で、その優先順位カウントに基づいて、タスクが復元される。任意の新しい要求がラッチされると、調停装置ブロック122は、選出クライアントに要求信号を正式に発行する。
【0090】
調停装置への三つのサブ段階がサポートされる。CCC(キャッシュ・コヒーレンシー・チェック)サブ段階130が、キャッシュ・コヒレンス・チェックを必要とし、必要なキャッシュ・ラインからの外れまたは当たり書き戻しが発生するまで、CCCサブ段階に残留する要求を発行する。CCCサブ段階は、一つの要求分だけ深く、側帯波信号を通して、ホスト・インターフェースへの問い合わせサイクルを要求する。段階1ロック(タグ付け)ブロック120は、要求バス上に表示された読み出し−修正−書き込みアクセスとして要求された、任意の読み出しアドレスにタグを付ける。この位置への後続の任意の要求は、ロックするクライアントから、ロックされた位置への、書き込むサイクルが発生するまで、遅延され、段階1ロック遅延サブ段階128に発行される。
【0091】
段階1エラー・チェック・ブロック118は、違法で、保護されていて(読み出しのみを含む)マップされていないアドレスへの要求をチェックする。エラー状態バス138は、違反しているクライアントに表明されたエラー信号を供給する他に、ソフトウェア制御下のエラー状態を読み出すために、レジスタ・ファイル・ブロック134にマップされる。
【0092】
前記例示としての実施形態の段階2は、二つのメモリ・コントローラ132、すなわち、非同期コントローラおよび同期コントローラを備える。このアプリケーション用の非同期コントローラは、EDO DRAMを駆動し、一方、同期コントローラは、SDRAM/SGRAMを駆動する。各コントローラは、二つのチャネル、すなわち、性能を向上させるためにインターリーブすることができるチャネルAと、チャネルBを持つ。コントローラ132の出力は、多重化され、必要なDRAM制御信号およびアドレスを駆動する。レディ・アンド・ダン(ready and done)信号が、アクティブ・クライアントと目標メモリ・コントローラとの間の、適当なクライアントへの、段階2要求バス状態マルチプレクサ・ブロック126により多重化されたデータを、ハンドシェークさせるために発生する。このブロック126は、アイドルまたは待機中の要求を持つ、クライアントへのレディ・アンド・ダン信号の表明を解除する。
【0093】
データ読み出しは、DRAMインターフェース・データ・バスから、すべてのクライアントに直接送られるが、この場合、各クライアントは、読み出したデータが何時有効であるかを表示するために、それ自身の読み出しレディ・アンド・ダン信号を受信する。書き込み可能な各クライアントは、それ自身のデータ書き込みバスを持ち、アクティブなクライアントに基づいて、データ・マルチプレクサ・ブロック124により多重化され、アクティブなメモリ・コントローラにより制御される。ダンと一緒にメモリ・コントローラにより表明された書き込みレディ信号により書き込みが行われるとき、データ書き込みが送られる。
【0094】
前記例示としての実施形態の場合には、すべてのクライアントは、一つのメモリ資源にアクセスし、この実行を統合されたメモリ・アーキテクチャ(UMA)とする。このアーキテクチャに対する要求の場合には、ビデオ入力110、ハードウェア・カーソル112およびビデオ走査バッファ108クライアントのような、リアルタイム・データ・アクセスを持つクライアントは、リアルタイムデータ・ストリームにアクセスする予測可能な最大待ち時間を持つ。そうでないと、ビデオ・フレームが脱落したり、表示が不鮮明になったりする。
【0095】
リアルタイム・クライアントに対する待ち時間を最も短くすると同時に、CPUのパイプラインを遅延させないため、また性能に悪影響を与えないようにするために、ホストCPU102の待ち時間をできるだけ短くしなければならない。
【0096】
すべての待ち時間要件は、データ帯域幅を最大にするためには、メモリ・アーキテクチャを持つ長いデータ・バーストが望ましいという事実と矛盾してくる。例えば、拡張データ出力(EDO)DRAMおよび同期DRAM(SDRAM)の場合には、オープン・ページの場合に発生するデータ・バーストが長ければ長いほど、その処理能力は高い。しかし、データ・バーストが長ければ長いほど、待機中の要求(タスク)を持つクライアントの待ち時間はますます長くなる。
【0097】
フレームまたは割り込みリフレッシュ・データの脱落を防止するために、リアルタイムのクライアントが適当な帯域幅および待ち時間を持つのを保証すると同時に、待ち時間I対バースト性能を維持しなければならないという問題がある。
【0098】
統合メモリ・アーキテクチャ(UMA)の利点は、すべてのクライアントが一つのメモリ資源を共有するので、コストが安くてすむこと、および表示をおこなうために独立のフレーム・バッファを必要としないことである。この利点は、大容量のフレーム・バッファを必要とする三次元で、自然色の、1280x1024のような高ビデオ解像度をサポートする場合には、さらに有利なものとなる。
【0099】
さらに、UMAアーキテクチャは、リアルタイム・ビデオ・クライアントと、メモリ・サブシステムとの間のデータ経路を高速にし、ノートブックおよび個人データアシスタント(PDA)のような携帯用アプリケーションに対して高いレベルの統合を行う。
【0100】
<クライアント優先順位曲線>
本発明は、すべてのサポートしているクライアントの、待ち時間および帯域幅要件を計算することができ、結果を、本発明でサポートされているハードウェア・レジスタの形に、プログラムすることができる優先順位アーキテクチャを実行する。前記レジスタは、ソフトウェア・ドライバによりプログラムされ、ピクセル深さのビデオ解像度の変更のような、各クライアントに対する帯域幅要件に基づいて変更することができるし、またはPCI上でサポートされているSCSI装置を、より高速にすることができる。
【0101】
図1は、本発明の例示としての実施形態であり、考慮しなければならないいくつかの重要な項目としては、下記のものがある。すなわち、レジスタ・ファイルに記憶したプログラム可能な数値、優先順位エンコーダでサポートされている各クライアント用の、優先順位カウントおよび横取りフラッグ、および優先順位デコーダが供給する選出(アクティブ)タスクの制御である。
【0102】
図2について説明すると、本発明は、この例示としての実施形態の場合には、各クライアントの優先順位が、待ち時間(X軸)の変化に対して優先順位カウント(Y軸)の変化としてグラフ表示されている。各クライアントは、自分自身の優先順位曲線を持つ。前記曲線は、さらに領域1、領域2および領域3という名前がついている三つの優先順位領域に分割される。優先順位領域0は、優先順位カウントに対してある有限の整数である、待ち時間に対する基礎優先順位カウントを定義している、ハードウェア・レジスタからスタートする。待ち時間に対するカウントはゼロである。他の二つの優先順位領域(1および2)は、優先順位域値レジスタ1および2により定義される。前記レジスタは、クロックによる待ち時間のカウントを表す2進コードでプログラムされる。前記レジスタは、定義した優先順位領域の、あるクライアントに与えられる待ち時間に基づいてプログラムされ、その領域に入ったかどうかを判断するために、そのクライアントの優先順位カウントと比較される。
【0103】
優先順位領域は、二つの有意の境界定義を持つ。第一の定義は、優先順位が累積される速度を定義する。第二の定義は、クライアントのタスクが、他のタスクを横取りしているか、より高い優先順位要求に対して横取りされているかどうかを定義する。また、横取りしているタスクは、目的の待ち時間および帯域幅を達成するリアルタイム・クライアントに成功を保証する。
【0104】
この例の場合、図3は、図2の優先順位曲線により実行する、一組の横取りルールの概略を示す。ここでもまた、各クライアントは、それ自身の優先順位曲線に基づいて、それ自身の横取りルールを実行する。縦列1は、クライアントが現在いる優先順位領域の概略を示す。縦列2は、待機中の要求を表明している場合に、クライアントが横取りを要求するかどうかを概略示す。縦列3は、自分が現在のアクティブなタスクを持っていて、他のクライアントが横取りを要求した場合、そのクライアントの行動を概略示す。
【0105】
前記ルールは、一人のクライアントが、待たされた待ち時間の長さに関する横取りに対する組織的な方法である。「一番下のライン」は、あるクライアントが優先順位領域1にいる場合には、他のクライアントがより高い優先順位カウントからみて、もっと長い待ち時間を経験した場合には、前記他のクライアントが、帯域幅を入手することができるラインであり、一方、あるクライアント優先順位領域3にいる場合には、他のクライアントは、どのような状況下でも、帯域幅を横取りすることはできない。優先順位領域2は、重なり合っている領域で、この領域では新しいタスクに現在のタスクを横取りさせて、クライアントは協力し合う。
【0106】
<横取り制御>
横取りは、メモリ・コアで、優先順位エンコーダにより発生し、優先順位デコーダにより支配される。優先順位領域2または3の、待ち状態のタスクを持つあるクライアントが、優先順位領域1または2の現在のアクティブ・タスクより、高い優先順位カウントをもっている場合に、アクティブなタスクの横取りに対する要求が発生する。この横取りは、現在アクティブなタスクによる待ち時間によるものである。前記アクティブなタスクが、すでに概略説明したように、優先順位領域3で実行中である場合には、現在アクティブなタスクを持つクライアントは、より高い優先順位を持つクライアントへのアクセスを拒否するだけである。このことは、アクティブなタスクがすでに長い待ち時間を経験し、例えば、失敗しそうなことを示す。
【0107】
横取りと一緒に考慮されるもう一つの変数は、横取りされる前に、クライアントが持つことができる最少の帯域幅の大きさである。メモリにページを設定するには、行アドレス・ストローブ(RAS)プリチャージ、およびRAS−コラム・アドレス・ストローブ(CAS)遅延から見てコストが高い。ページを設定する際に、長い帯域幅をバーストするのに不十分になるのを避けるために、横取りされる前に、クライアントが許可したデータ・アクセスの数が最も少ない場合に、プログラムすることが許される。理想的には、一人のクライアントが入手できる最大の帯域幅を、同じRASページへ、また同じRASページから連続的にバーストすることである。
【0108】
<累積優先順位>
あるクライアントが、資源へのアクセスの待ち状態の要求を、持っている場合には、その優先順位は増分ずつ増大する。前記クライアントがアクセスを拒否されると、優先順位エンコーダにより、その優先順位が増分だけ増大する。優先順位デコーダは、優先順位曲線のそのクライアントの位置を解読し、優先順位エンコーダに、優先順位カウント速度の変更をフィードバックする。優先順位が増分だけ増大する速度は、クライアントがどの領域に存在するかにより違ってくる。
【0109】
あるクライアントが、資源へのアクセスを許可された場合で、そのクライアントが、新しい要求を持っていない場合には、優先順位は、基準優先順位にリセットされる。前記クライアントが、新しい待ち状態の要求を持っている場合には(前記クライアントはその要求信号を継続的に表明し続ける)、第一のタスクと一緒に実行されるまで、クライアントはその優先順位の数値を保持する。その時点で、それが第二の要求と共に待ち時間を経験している場合には、カウントを中断したところから、その優先順位カウントは増分だけ増大する。この方法は、クライアントが通常、待ち時間要求に基づく容量と共に変化する、バッファを持っていることを考慮に入れる。
【0110】
<クライアント対クライアント帯域幅分析>
本特許明細書に概略記載した、優先順位および横取りに対するハードウェアサポートから、各クライアントの基準優先順位、待ち時間に基づく優先順位の領域の変化速度、および各優先順位領域に行き着くために、優先順位カウントが累積しなければならない時間の長さに対して、プログラムすべき適当な数値を決定するために、ソフトウェア環境で決定されたデータを書き込むことができる。
【0111】
ソフトウェア環境は、図2に概略示した曲線に基づき、各クライアントをプログラムする。待ち時間に対して変化する許容範囲を持つ、多くのクライアントが共有する、任意のハードウェア資源に関する重要な問題は、リアルタイム・ビデオ・クライアントの帯域幅および待ち時間要求に適合していないために起こる、フレームまたはピクセルの脱落のような、エラーを起こさない調停スキームを分析し、設計することである。さらに、すでに概略考察したように、紙と鉛筆ですべての変数を計算するのは面倒な仕事である。
【0112】
このようなソフトウェア環境の下で、前記エラーを防止しながら、最初にクライアントの優先順位を決めることができる。例えば、ビデオ・スクリーン・リフレッシュに対するクライアントの要求データは、優先順位の高いクライアントであると見なされる。
【0113】
ユーザのアプリケーションに従って変化することができる、サポートされているスクリーン解像度およびピクセルの深さに基づいて、クライアントが経験した待ち時間のある長さに対して、優先順位および領域設置の速度により、クライアントがエラーに絶対に遭遇しないようにするために、サポートしている各解像度およびピクセルの深さの組合せに対して、一本の曲線を描くことができる。
【0114】
この技法は、複数のクライアントが、(CPU読み出しサイクルのように)待ち時間が余りにも長すぎる場合には、性能に悪影響を与えるクライアントと、同じ資源を共有している場合には、さらに有効なものになる。曲線は、エラーの発生を防止し、システム全体の性能に影響を与える重要なクライアントに対して、性能をできるかぎり最適化した状態で描かれる。
【0115】
もっと多くのクライアント曲線が描かれると、前の優先順位曲線に基づいて、帯域幅を単に使いきってしまうケースを決定する際に、「what if」シナリオが考慮され、シナリオ失敗を示す警告が出される。前記警告は、ビデオ・リフレッシュ・クライアントに対する解像度およびピクセル深さに基づく、リアルタイムのYUVフレーム・グラバ・クライアントのフレーム速度による、アーキテクチャ調整を必要とする。前記警告は、またリアルタイム・クライアントに対して計算した曲線に基づくCPUの投影性能を報告する。
【0116】
図4は、サンプル・プログラム入力ファイルである。このファイルについては以下に説明する。図4および図5は、それぞれ、ソフトウェア・ドライバによりロードされるレジスタの数値を決定するプログラムと、そのプログラム結果を示す。これら数値は、各クライアントに対する帯域幅および優先順位使用を決定するために、各クライアントにロードされる。このプログラムのすべての権利は、それら数値により明白にリザーブされる。
【0117】
図4は、前記プログラムに対する例示としての入力ファイルの概略である。前記入力ファイルは、最初、行アドレス・ストローブ(RAS)に対する行アドレス設定および保持、コラム・アドレス・ストローブ(CAS)に対するコラム・アドレス設定および保持、CASに対するRAS遅延、およびRASおよびCAS両方からのアクセス時間に基づくバースト間の時間に影響を与える、使用する目的DRAM技術について概略記載している。
【0118】
SDRAMは、RASの代わりに行の作動、およびCAS発生の代わりに読み出しまたは書き込みコマンドを中心とする、(EDOおよびBEDO DRAMの場合のように)類似の考慮対象のタイミング・パラメータを持つ。
【0119】
他の考慮対象としては、最高速のバースト速度(バースト・クロック)を定義するクロック入力がある。個々の各クライアント・エントリ(タスク)によるアクセスは、最悪の場合のリアルタイムクライアント待ち時間要件に対する、行ページ・ミスとなる。最後に、帯域幅および待ち時間測定の間隔が、メモリの使用に対してすべてのクライアントが測定される時間の窓を定義する。この例の場合、前記間隔は、水平走査周波数であり、これはビデオ・リフレッシュ・クライアントにとって重要な時間である。
【0120】
目標のメモリおよびプロセッサ速度(クロック)が指定されると、各クライアントは、自分が許容できる、帯域幅使用および待ち時間に基づくエントリを持つ。リアルタイム・クライアントは、失敗点クライアントとして分類される。何故なら、前記クライアントの待ち時間許容範囲を超えると、ビデオ・スクリーン上のビットの脱落のようなミスが発生するからである。他のクライアントは、ホスト読み出しポートのような性能感知クライアントとして分類される。(このようなポートは、読み出しアクセスが完了するまで、CPU遅延に基づく性能に直接影響を与える。)第三の分類は、下位の優先順位のクライアントに衝撃を与えない。このように分類されるのは、これらクライアントが過度に長い待ち時間を経験しても、システムへの性能に関する衝撃および故障がより少ないからである。
【0121】
あるクライアントにおいては、バーストの長さは必ずしも固定されていないが、多くの場合、固定されている。バーストの長さ、インターバル毎のバーストの数および故障/性能衝撃点は、データ対クロック、バッファ(FIFO)サイズおよびデータ経路幅により影響を受ける、クライアントの帯域幅要件に直接関連する。各クライアントは、これら領域で変化する。
【0122】
さらに、あるクライアントは、動作モードに従って変化することができる。例えば、ビデオ・リフレッシュ・クライアントは、スクリーン解像度(水平x垂直x垂直走査周波数)およびピクセル深さ(例えば、8、16または24面)に基づく帯域幅および待ち時間要件で変化する。前記スクリーン解像度は、フレーム・バッファ・アクセスに対する増大または減少する要求による、1インターバル毎に必要なバーストの数に直接影響する。ビデオ・リフレッシュ・クライアントのFIFOサイズ、およびビデオ解像度、またはピクセルの深さも変化した場合には、一つのインターバル毎のバーストの数はさらに影響を受ける。それ故、ドライバのレジスタ数値決定の際に助けになるものは、ビデオ・リフレッシュ・クライアントによりサポートされている、各解像度およびピクセル深さに対するデータ入力ファイルと一緒に、このプログラムを実行する能力である。すべてのクライアントの順列を記述しているファイルを発生させ、動作モードの選択に基づく結果を使用する、ソフトウェア・ドライバと一緒に実行することができる。
【0123】
図5は、図4の入力ファイルに基づくプログラム計算の結果を示す。ハードウェアで前記曲線を実行するパワーは、ホスト(CPU)が読み出しおよび書き込みクライアントに、待ち時間がリアルタイム・クライアントに対する失敗点に到着しない時間の間に、リアルタイム・クライアントより、高いある優先順位を与えることができたとき、実現する。リアルタイム・クライアントは、また性能とは無関係に要求を表明することができる。それにより、ホスト(CPU)読み出しのようなクライアントは、パイプライン遅延を避けるために、アクセスすることができる。
【0124】
ハードウェアは、1−32の間の割り算の間のバス・クロックの整数の割り算に基づく優先順位の変更速度をサポートする。それにより、変化する勾配は、優先順位変更速度対待ち時間を制御する。この制御により、性能向けクライアントは、リアルタイム・クライアントが失敗点に近づくと、よりアグレシブでない勾配で、インパルス関数に(理想的に)近づく優先順位を累積することができる。
【0125】
リアルタイム(優先順位の高い)クライアントが、最初に計算される。BW測定のインターバル中に、もっと多くの帯域幅を使用するクライアントは、もっと一定の勾配の曲線を描く。さらに、要求間の時間の長さは、全曲線の勾配に影響を与える。この場合、要求間の周期が長ければ長いほど、確実に一定の勾配がより緩やかになり、優先順位の速度の増分がより少なくなる。リアルタイム・クライアントが拒絶されると、その優先順位は増大して、失敗点に近づく。
【0126】
次に、性能向けクライアントの曲線が、その待ち時間および帯域幅要件、およびリアルタイム・クライアントの要件の前の曲線に対する、残りの帯域幅を考慮して描かれる。
【0127】
X軸(待ち時間)の一番右の凡例は、領域1、2および3で、それぞれ、三倍まで時間単位が変化する。ここでの唯一の定数は、(この例の場合には、0−255の間の)カウント値であり、すべての曲線が描かれ、前記カウント値にカバーされる部分が考慮の対象になる。ハードウェアにおいては、クライアントの優先順位カウントおよびその優先順位カウントが存在する領域が、次のアクティブなタスクおよび/または現在のアクティブなタスクが横取りされるかどうかを決定するために使用される。前記曲線は性能ツールとして使用される。
【0128】
図3に概略示した横取りルールにより、下位の優先順位クライアントは、アグレシブの程度が低い勾配を持つ領域2を定義し、リアルタイム・クライアントが横取りすることができるようにすることにより、インパルス優先順位カウントの増大に近づくことができる。一方、リアルタイム・クライアントは、領域3での横取りを拒絶する。前記横取りは、失敗点の近くで領域3で計算される。何故なら、リアルタイム・クライアントの時間幅が、性能向けクライアントのものより大きいからである。
【0129】
衝撃のないクライアントに分類された、最も低い優先順位のクライアントの曲線が、非常に浅い勾配で描かれるが、曲線の優先順位は、常に、より高い基準優先順位を持つクライアント、またはリアルタイム・クライアントまたは性能衝撃クライアントに分類されたクライアントより低い。これらの優先順位がより低いクライアントの曲線は、その領域2および3で、要求が横取りすることができるように描かれる。しかし、より高い優先順位を持つすべてのクライアントは横取りされない。BW要求のピーク時、または、例えば、大型スクリーン解像度およびピクセルの深さ、または強度のグラフィック・アプリケーションにより、測定のBWインターバルの前記クライアントに残された容量がゼロに近づいた時に、前記性質のクライアントの優先順位カウントは最高値を超える。他のグラフィックス・クライアントは、そのグラフィックス・アプリケーションに基づいて、衝撃のない、または性能衝撃クライアントとしてプログラムされる。
【0130】
本発明の例示としての実施形態は、ペンティアム・マイクロプロセッサを、L2キャッシュ・サブシステム、前記のDRAM(SDRAMおよびEDO)メモリ・アーキテクチャ、PCIサブシステム、内蔵VGAおよびグラフィックス・コントローラ、YUVビデオ入力ポート、ハードウェア・カーソル、およびビデオ・フレーム・バッファ・リフレッシュ・サポートにインターフェースを通して接続する、コア・ロジック装置であるPUMA(プロセッサ統合メモリ・アーキテクチャ)と呼ばれるチップで実行される。
【0131】
電子商用チップ開発を、現在のスマート・カードおよびバリュー・チェッカー(登録商標)リーダの、個人データ補助(PDA)コンパニオンとしての組み込みPCのコンセプトと結合するには、電子商用機能を持つPUMAのような高度な集積チップ、およびX86またはRiscプロセッサを必要とする。前記チップは両方とも、外部メモリと一緒に同じボード上に有利に装着されている。UMAは、グラフィックスおよび/またはビデオ・ディスプレイを含む、高度の集積を目指す有利な装置である。
【0132】
本発明を例示としての実施形態を使用して説明してきたが、本発明の範囲は前記実施形態により制限されない。通常の当業者なら知っているように、前記例示としての実施形態は、添付の特許請求の範囲に定義する本発明の精神および範囲内で、種々に変更したり、改良することができる。
【図面の簡単な説明】
【図1】本発明の優先順位スキームを実行するための、設計のメモリ・コアのブロック図である。
【図2】図1の実施形態での、優先順位カウントと優先順位域値および領域との関連を示す、優先順位グラフである。
【図3】図2の優先順位曲線に従って実行した、一組の先取りルールの概略である。
【図4】サンプル・プログラム入力ファイルである。
【図5】図4の前記入力ファイルに基づく、プログラム計算の結果である。
Claims (4)
- 複数の装置により、メモリのような共有資源アクセス・システムへのアクセスを制御する共有資源アクセス・システムであって、
記憶した変数に基づいて、資源アクセス要求への優先順位の数値をコード化する優先順位エンコーダと、
待ち状態の資源アクセス要求の優先順位の数値を解読、比較し、選出要求を決定する優先順位デコーダと、
待機中の資源アクセス要求に対する、共有資源の少なくとも一つのアドレスを解読するアドレス・デコーダと、
現在アクティブな資源アクセス要求と、優先順位デコーダからの選出要求との間で調停し、出力を供給する調停装置と、
前記調停装置からの出力に基づいて、共有資源へのアクセスを制御する資源コントローラとを備え、
さらに、前記複数の各装置に対し、前記優先順位の数値に基づき優先順位曲線を確立する手段を含み、優先順位曲線が、待ち時間の変化に対する優先順位カウントの変化を表すとともに、
各装置に対する優先順位曲線が、第一の優先順位領域、第二の優先順位領域、および第三の優先順位領域を含み、第一、第二および第三の優先順位領域それぞれが、待ち時間に対する優先順位カウントのそれぞれの変化速度を持ち、第一の優先順位領域において、ある装置が他の装置による横取りを許すが、他の装置からの横取りを要求せず、
第二の優先順位領域において、ある装置が他の装置による横取りを許し、また他の装置からの横取りを要求し、
第三の優先順位領域において、ある装置が他の装置からの横取りを要求するが、他の装置による横取りを許さないことを特徴とするシステム。 - 複数の装置により、メモリのような共有資源へのアクセスを制御するための共有資源アクセス方法であって、
装置資源要件の決定に基づいて、アクセス優先順位を確立するステップと、
前記確立したアクセス優先順位に基づいて、共有資源にアクセスを許可するステップとからなり、装置資源要件が、基準優先順位、待ち時間、帯域幅および処理能力の中の少なくとも一つを含み、さらに、前記複数の各装置に対して優先順位曲線を確立するステップを含み、優先順位曲線が、待ち時間の変化に対する優先順位カウントの変化を表すとともに、
各装置に対する優先順位曲線が、第一の優先順位領域、第二の優先順位領域、および第三の優先順位領域を含み、第一、第二および第三の優先順位領域それぞれが、待ち時間に対する優先順位カウントのそれぞれの変化速度を持ち、第一の優先順位領域において、ある装置が他の装置による横取りを許すが、他の装置からの横取りと要求せず、
第二の優先順位領域において、ある装置が他の装置による横取りを許し、また他の装置からの横取りを要求し、
第三の優先順位領域において、ある装置が他の装置からの横取りを要求するが、他の装置による横取りを許さない方法。 - 請求項2記載の方法において、さらに、
性能カテゴリーで装置を分類するステップを含み、
前記性能カテゴリーが、
ある待ち時間許容範囲を超えた場合に、故障が発生する故障点タイプの装置と、
待ち時間許容範囲を超えた場合に、性能が悪影響を受ける性能感受タイプの装置と、
その待ち時間が過度に長い場合に、性能の低下がより少ない、下位優先順位に悪影響を与えないタイプの装置とを含む方法。 - 請求項3記載の方法において、優先順位が、最初、故障点タイプの装置に対する優先順位曲線を計算し、その後、残りの帯域幅を考慮して、性能感受タイプの装置に対する優先順位曲線を計算し、その後、残りの帯域幅を考慮して、下位優先順位に影響を与えないタイプの装置に対する、優先順位曲線を計算することにより、性能カテゴリーに基づいて決定される方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/919,152 US6006303A (en) | 1997-08-28 | 1997-08-28 | Priority encoding and decoding for memory architecture |
| US08/919152 | 1997-08-28 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11191075A JPH11191075A (ja) | 1999-07-13 |
| JP3699833B2 true JP3699833B2 (ja) | 2005-09-28 |
Family
ID=25441599
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP25766698A Expired - Fee Related JP3699833B2 (ja) | 1997-08-28 | 1998-08-28 | メモリアーキテクチャーのための優先符号化及び復号化 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6006303A (ja) |
| JP (1) | JP3699833B2 (ja) |
Families Citing this family (143)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6385678B2 (en) * | 1996-09-19 | 2002-05-07 | Trimedia Technologies, Inc. | Method and apparatus for bus arbitration with weighted bandwidth allocation |
| US6157966A (en) * | 1997-06-30 | 2000-12-05 | Schlumberger Malco, Inc. | System and method for an ISO7816 complaint smart card to become master over a terminal |
| JP3454094B2 (ja) * | 1997-07-22 | 2003-10-06 | 日本電気株式会社 | 共有メモリ制御装置および共有メモリ制御方法 |
| US6163831A (en) * | 1997-11-14 | 2000-12-19 | Lucent Technologies, Inc. | Minimum refractory period in a multiple agent resource sharing environment |
| US6240475B1 (en) * | 1997-12-30 | 2001-05-29 | Adaptec, Inc. | Timer based arbitrations scheme for a PCI multi-function device |
| US6076125A (en) * | 1998-01-09 | 2000-06-13 | Vlsi Technology, Inc. | Single address queue for handling multiple priority requests |
| US6784890B1 (en) * | 1998-03-02 | 2004-08-31 | Intel Corporation | Accelerated graphics port expedite cycle throttling control mechanism |
| JP3573614B2 (ja) * | 1998-03-05 | 2004-10-06 | 株式会社日立製作所 | 画像処理装置及び画像処理システム |
| US6385566B1 (en) * | 1998-03-31 | 2002-05-07 | Cirrus Logic, Inc. | System and method for determining chip performance capabilities by simulation |
| US6374244B1 (en) * | 1998-04-01 | 2002-04-16 | Matsushita Electric Industrial Co., Ltd. | Data transfer device |
| FR2779595B1 (fr) * | 1998-06-08 | 2000-07-21 | Thomson Multimedia Sa | Procede de gestion de priorites d'acces a des ressources dans un reseau domestique et appareil de mise en oeuvre |
| US6286083B1 (en) | 1998-07-08 | 2001-09-04 | Compaq Computer Corporation | Computer system with adaptive memory arbitration scheme |
| US6580721B1 (en) * | 1998-08-11 | 2003-06-17 | Nortel Networks Limited | Routing and rate control in a universal transfer mode network |
| US6249847B1 (en) * | 1998-08-14 | 2001-06-19 | Compaq Computer Corporation | Computer system with synchronous memory arbiter that permits asynchronous memory requests |
| US6205524B1 (en) * | 1998-09-16 | 2001-03-20 | Neomagic Corp. | Multimedia arbiter and method using fixed round-robin slots for real-time agents and a timed priority slot for non-real-time agents |
| US6363445B1 (en) * | 1998-10-15 | 2002-03-26 | Micron Technology, Inc. | Method of bus arbitration using requesting device bandwidth and priority ranking |
| US6768774B1 (en) | 1998-11-09 | 2004-07-27 | Broadcom Corporation | Video and graphics system with video scaling |
| US7916795B2 (en) * | 1998-11-09 | 2011-03-29 | Broadcom Corporation | Method and system for vertical filtering using window descriptors |
| US6798420B1 (en) | 1998-11-09 | 2004-09-28 | Broadcom Corporation | Video and graphics system with a single-port RAM |
| US6661422B1 (en) | 1998-11-09 | 2003-12-09 | Broadcom Corporation | Video and graphics system with MPEG specific data transfer commands |
| US6636222B1 (en) | 1999-11-09 | 2003-10-21 | Broadcom Corporation | Video and graphics system with an MPEG video decoder for concurrent multi-row decoding |
| US7982740B2 (en) | 1998-11-09 | 2011-07-19 | Broadcom Corporation | Low resolution graphics mode support using window descriptors |
| US7446774B1 (en) | 1998-11-09 | 2008-11-04 | Broadcom Corporation | Video and graphics system with an integrated system bridge controller |
| US6573905B1 (en) | 1999-11-09 | 2003-06-03 | Broadcom Corporation | Video and graphics system with parallel processing of graphics windows |
| EP1365385B1 (en) | 1998-11-09 | 2012-06-13 | Broadcom Corporation | Graphics display system with processing of graphics layers, alpha blending and composition with video data |
| US6853385B1 (en) | 1999-11-09 | 2005-02-08 | Broadcom Corporation | Video, audio and graphics decode, composite and display system |
| US6611891B1 (en) | 1998-11-23 | 2003-08-26 | Advanced Micro Devices, Inc. | Computer resource configuration mechanism across a multi-pipe communication link |
| US6563506B1 (en) * | 1998-12-14 | 2003-05-13 | Ati International Srl | Method and apparatus for memory bandwith allocation and control in a video graphics system |
| GB2345987B (en) * | 1999-01-19 | 2003-08-06 | Advanced Risc Mach Ltd | Memory control within data processing systems |
| US6681285B1 (en) | 1999-07-22 | 2004-01-20 | Index Systems, Inc. | Memory controller and interface |
| US6718422B1 (en) * | 1999-07-29 | 2004-04-06 | International Business Machines Corporation | Enhanced bus arbiter utilizing variable priority and fairness |
| US6330647B1 (en) * | 1999-08-31 | 2001-12-11 | Micron Technology, Inc. | Memory bandwidth allocation based on access count priority scheme |
| FR2797971A1 (fr) * | 1999-08-31 | 2001-03-02 | Koninkl Philips Electronics Nv | Acces a une ressource collective |
| US6738845B1 (en) * | 1999-11-05 | 2004-05-18 | Analog Devices, Inc. | Bus architecture and shared bus arbitration method for a communication device |
| US7529799B2 (en) | 1999-11-08 | 2009-05-05 | International Business Machines Corporation | Method and apparatus for transaction tag assignment and maintenance in a distributed symmetric multiprocessor system |
| US6538656B1 (en) | 1999-11-09 | 2003-03-25 | Broadcom Corporation | Video and graphics system with a data transport processor |
| US8913667B2 (en) | 1999-11-09 | 2014-12-16 | Broadcom Corporation | Video decoding system having a programmable variable-length decoder |
| US9668011B2 (en) | 2001-02-05 | 2017-05-30 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Single chip set-top box system |
| US6975324B1 (en) | 1999-11-09 | 2005-12-13 | Broadcom Corporation | Video and graphics system with a video transport processor |
| US6886063B1 (en) * | 1999-11-10 | 2005-04-26 | Digi International, Inc. | Systems, devices, structures, and methods to share resources among entities |
| US6259646B1 (en) * | 2000-01-28 | 2001-07-10 | Micron Technology, Inc. | Fast accessing of a memory device |
| US6708240B1 (en) * | 2000-03-31 | 2004-03-16 | Intel Corporation | Managing resources in a bus bridge |
| US6636913B1 (en) * | 2000-04-18 | 2003-10-21 | International Business Machines Corporation | Data length control of access to a data bus |
| WO2003100625A1 (en) * | 2000-07-26 | 2003-12-04 | Index Systems, Inc. | Memory controller and interface |
| EP1213650A3 (en) * | 2000-08-21 | 2006-08-30 | Texas Instruments France | Priority arbitration based on current task and MMU |
| EP1182551B1 (en) * | 2000-08-21 | 2017-04-05 | Texas Instruments France | Address space priority arbitration |
| JP5020443B2 (ja) * | 2000-08-23 | 2012-09-05 | 任天堂株式会社 | 共有リソースへのアクセス方法及び装置 |
| US7538772B1 (en) * | 2000-08-23 | 2009-05-26 | Nintendo Co., Ltd. | Graphics processing system with enhanced memory controller |
| US6883132B1 (en) | 2000-09-29 | 2005-04-19 | Rockwell Automation Technologies, Inc. | Programmable error checking value circuit and method |
| US6665760B1 (en) * | 2000-09-29 | 2003-12-16 | Rockwell Automation Technologies, Inc. | Group shifting and level shifting rotational arbiter system |
| US20020063716A1 (en) * | 2000-11-30 | 2002-05-30 | Palm, Inc. | Control of color depth in a computing device |
| US7231444B1 (en) * | 2001-09-07 | 2007-06-12 | Palau Acquisition Corporation (Delaware) | Method and management port for an indirect loop protocol associated with an interconnect device |
| JP2003087408A (ja) * | 2001-09-13 | 2003-03-20 | Nec Corp | ショートメッセージ配信システム |
| US6848015B2 (en) * | 2001-11-30 | 2005-01-25 | Hewlett-Packard Development Company, L.P. | Arbitration technique based on processor task priority |
| US6792516B2 (en) * | 2001-12-28 | 2004-09-14 | Intel Corporation | Memory arbiter with intelligent page gathering logic |
| US7035984B2 (en) * | 2001-12-31 | 2006-04-25 | Intel Corporation | Memory arbiter with grace and ceiling periods and intelligent page gathering logic |
| US7080177B2 (en) * | 2002-03-01 | 2006-07-18 | Broadcom Corporation | System and method for arbitrating clients in a hierarchical real-time DRAM system |
| US7849172B2 (en) * | 2002-03-01 | 2010-12-07 | Broadcom Corporation | Method of analyzing non-preemptive DRAM transactions in real-time unified memory architectures |
| US6806883B2 (en) * | 2002-03-11 | 2004-10-19 | Sun Microsystems, Inc. | System and method for handling display device requests for display data from a frame buffer |
| US7783787B1 (en) | 2002-06-13 | 2010-08-24 | Netapp, Inc. | System and method for reprioritizing high-latency input/output operations |
| US7519728B1 (en) * | 2002-07-18 | 2009-04-14 | Juniper Networks, Inc. | Merge systems and methods for transmit systems interfaces |
| US6941428B2 (en) * | 2002-09-25 | 2005-09-06 | International Business Machines Corporation | Memory controller optimization |
| KR100480637B1 (ko) * | 2002-11-27 | 2005-03-31 | 삼성전자주식회사 | 고속의 프로그램 가능한 고정 우선 순위 및 라운드 로빈아비터 및 그 버스 제어 방법 |
| JP4633334B2 (ja) * | 2003-01-27 | 2011-02-16 | パナソニック株式会社 | 情報処理装置およびメモリアクセス調停方法 |
| US7667710B2 (en) | 2003-04-25 | 2010-02-23 | Broadcom Corporation | Graphics display system with line buffer control scheme |
| US7143224B2 (en) * | 2003-05-09 | 2006-11-28 | Stmicroelectronics, Inc. | Smart card for performing advance operations to enhance performance and related system, integrated circuit, and methods |
| US7080789B2 (en) * | 2003-05-09 | 2006-07-25 | Stmicroelectronics, Inc. | Smart card including a JTAG test controller and related methods |
| US7181649B2 (en) * | 2003-05-09 | 2007-02-20 | Stmicroelectronics, Inc. | Universal serial bus (USB) smart card having enhanced testing features and related system, integrated circuit, and methods |
| US7373522B2 (en) * | 2003-05-09 | 2008-05-13 | Stmicroelectronics, Inc. | Smart card with enhanced security features and related system, integrated circuit, and methods |
| US6783078B1 (en) | 2003-05-09 | 2004-08-31 | Stmicroelectronics, Inc. | Universal serial bus (USB) smart card having read back testing features and related system, integrated circuit, and methods |
| US7369982B2 (en) * | 2003-06-04 | 2008-05-06 | Stmicroelectronics, Inc. | Multi-mode smart card emulator and related methods |
| KR100486308B1 (ko) * | 2003-08-21 | 2005-04-29 | 삼성전자주식회사 | 다양한 버스 중재 알고리즘을 프로그램 할 수 있는 아비터 |
| US7100002B2 (en) * | 2003-09-16 | 2006-08-29 | Denali Software, Inc. | Port independent data transaction interface for multi-port devices |
| US8063916B2 (en) | 2003-10-22 | 2011-11-22 | Broadcom Corporation | Graphics layer reduction for video composition |
| US9087036B1 (en) | 2004-08-12 | 2015-07-21 | Sonics, Inc. | Methods and apparatuses for time annotated transaction level modeling |
| US7665069B2 (en) * | 2003-10-31 | 2010-02-16 | Sonics, Inc. | Method and apparatus for establishing a quality of service model |
| CN1300703C (zh) * | 2003-11-05 | 2007-02-14 | 松下电器产业株式会社 | 调节电路及其具有它的功能处理电路 |
| JP4055903B2 (ja) * | 2003-12-26 | 2008-03-05 | シャープ株式会社 | バス通信システム |
| US7191366B2 (en) * | 2004-02-26 | 2007-03-13 | International Business Machines Corporation | Method and intelligent slave device transfer control unit for implementing seamless error resumption in a shared memory bus structure |
| US7281148B2 (en) * | 2004-03-26 | 2007-10-09 | Intel Corporation | Power managed busses and arbitration |
| US7606960B2 (en) * | 2004-03-26 | 2009-10-20 | Intel Corporation | Apparatus for adjusting a clock frequency of a variable speed bus |
| US7486688B2 (en) * | 2004-03-29 | 2009-02-03 | Conexant Systems, Inc. | Compact packet switching node storage architecture employing Double Data Rate Synchronous Dynamic RAM |
| US8234421B2 (en) * | 2004-04-21 | 2012-07-31 | Stmicroelectronics, Inc. | Smart card with selectively allocatable data buffers and associated methods |
| US8046508B2 (en) | 2004-04-21 | 2011-10-25 | Stmicroelectronics, Inc. | Smart card with self-detachment features and related methods |
| US7328849B2 (en) * | 2004-04-21 | 2008-02-12 | Stmicroelectronics, Inc. | Smart card providing data mapping for multiple applications and related methods |
| US7904607B2 (en) * | 2004-04-21 | 2011-03-08 | Stmicroelectronics, Inc. | Smart card with self-reconfiguration features and related methods |
| US7221369B1 (en) | 2004-07-29 | 2007-05-22 | Nvidia Corporation | Apparatus, system, and method for delivering data to multiple memory clients via a unitary buffer |
| US20060026375A1 (en) * | 2004-07-30 | 2006-02-02 | Christenson Bruce A | Memory controller transaction scheduling algorithm using variable and uniform latency |
| US7287111B2 (en) * | 2004-09-23 | 2007-10-23 | International Business Machines Corporation | Method and system for creating and dynamically selecting an arbiter design in a data processing system |
| US7426594B1 (en) | 2004-10-08 | 2008-09-16 | Nvidia Corporation | Apparatus, system, and method for arbitrating between memory requests |
| JP4974508B2 (ja) * | 2005-10-28 | 2012-07-11 | キヤノン株式会社 | バスマスタ装置、バス調停装置及びバス調停方法 |
| US7797467B2 (en) * | 2005-11-01 | 2010-09-14 | Lsi Corporation | Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features |
| US8264610B2 (en) * | 2006-04-18 | 2012-09-11 | Marvell World Trade Ltd. | Shared memory multi video channel display apparatus and methods |
| US8284322B2 (en) | 2006-04-18 | 2012-10-09 | Marvell World Trade Ltd. | Shared memory multi video channel display apparatus and methods |
| US8218091B2 (en) * | 2006-04-18 | 2012-07-10 | Marvell World Trade Ltd. | Shared memory multi video channel display apparatus and methods |
| JP2007334641A (ja) * | 2006-06-15 | 2007-12-27 | Sony Corp | 情報処理装置および方法、並びにプログラム |
| WO2008002297A1 (en) * | 2006-06-27 | 2008-01-03 | Thomson Licensing | Method and apparatus for performing arbitration |
| WO2008013227A1 (en) * | 2006-07-26 | 2008-01-31 | Panasonic Corporation | Nonvolatile storage device, access device, and nonvolatile storage system |
| US7870128B2 (en) * | 2006-07-28 | 2011-01-11 | Diskeeper Corporation | Assigning data for storage based on speed with which data may be retrieved |
| JP4846482B2 (ja) * | 2006-08-03 | 2011-12-28 | パナソニック株式会社 | バスアービトレーション装置 |
| TWI335517B (en) * | 2006-08-25 | 2011-01-01 | Via Tech Inc | Method of requests access and scheduling and related apparatus thereof |
| US8868397B2 (en) | 2006-11-20 | 2014-10-21 | Sonics, Inc. | Transaction co-validation across abstraction layers |
| JP2008130056A (ja) * | 2006-11-27 | 2008-06-05 | Renesas Technology Corp | 半導体回路 |
| US7995050B2 (en) * | 2006-12-27 | 2011-08-09 | Hewlett-Packard Development Company, L.P. | Power saving display |
| KR100868766B1 (ko) * | 2007-01-31 | 2008-11-17 | 삼성전자주식회사 | 복수의 dma 요청 블록들을 가지는 직접 메모리 액세스장치의 우선 순위를 결정하는 방법 및 장치 |
| US8411734B2 (en) | 2007-02-06 | 2013-04-02 | Microsoft Corporation | Scalable multi-thread video decoding |
| GB2447688B (en) * | 2007-03-22 | 2011-05-18 | Advanced Risc Mach Ltd | A data processing apparatus and method for arbitrating between messages routed over a communication channel |
| US8265144B2 (en) * | 2007-06-30 | 2012-09-11 | Microsoft Corporation | Innovations in video decoder implementations |
| US9648325B2 (en) * | 2007-06-30 | 2017-05-09 | Microsoft Technology Licensing, Llc | Video decoding implementations for a graphics processing unit |
| WO2009147744A1 (ja) * | 2008-06-06 | 2009-12-10 | 三菱電機株式会社 | バス調停装置 |
| US8151008B2 (en) * | 2008-07-02 | 2012-04-03 | Cradle Ip, Llc | Method and system for performing DMA in a multi-core system-on-chip using deadline-based scheduling |
| JP2010272029A (ja) * | 2009-05-22 | 2010-12-02 | Sanyo Electric Co Ltd | アクセス制御回路 |
| EP2256158B1 (en) | 2009-05-26 | 2014-07-02 | Borealis AG | Polymer composition for crosslinked articles |
| EP2256159A1 (en) | 2009-05-26 | 2010-12-01 | Borealis AG | Polymer composition for crosslinked pipes |
| GB2473505B (en) * | 2009-09-15 | 2016-09-14 | Advanced Risc Mach Ltd | A data processing apparatus and a method for setting priority levels for transactions |
| JP5591022B2 (ja) * | 2010-08-16 | 2014-09-17 | オリンパス株式会社 | バス帯域モニタ装置およびバス帯域モニタ方法 |
| JP2012043053A (ja) * | 2010-08-16 | 2012-03-01 | Olympus Corp | バス帯域モニタ装置およびバス帯域モニタ方法 |
| US8555332B2 (en) | 2010-08-20 | 2013-10-08 | At&T Intellectual Property I, L.P. | System for establishing communications with a mobile device server |
| US8438285B2 (en) | 2010-09-15 | 2013-05-07 | At&T Intellectual Property I, L.P. | System for managing resources accessible to a mobile device server |
| US8989055B2 (en) | 2011-07-17 | 2015-03-24 | At&T Intellectual Property I, L.P. | Processing messages with a device server operating in a telephone |
| US8516039B2 (en) * | 2010-10-01 | 2013-08-20 | At&T Intellectual Property I, L.P. | Apparatus and method for managing mobile device servers |
| US8504449B2 (en) | 2010-10-01 | 2013-08-06 | At&T Intellectual Property I, L.P. | Apparatus and method for managing software applications of a mobile device server |
| US8478905B2 (en) | 2010-10-01 | 2013-07-02 | At&T Intellectual Property I, Lp | System for synchronizing to a mobile device server |
| US9392316B2 (en) | 2010-10-28 | 2016-07-12 | At&T Intellectual Property I, L.P. | Messaging abstraction in a mobile device server |
| US9066123B2 (en) | 2010-11-30 | 2015-06-23 | At&T Intellectual Property I, L.P. | System for monetizing resources accessible to a mobile device server |
| US8885729B2 (en) | 2010-12-13 | 2014-11-11 | Microsoft Corporation | Low-latency video decoding |
| US9706214B2 (en) | 2010-12-24 | 2017-07-11 | Microsoft Technology Licensing, Llc | Image and video decoding implementations |
| US8868855B2 (en) * | 2011-02-28 | 2014-10-21 | Hewlett-Packard Development Company, L.P. | Request management system and method for dynamically managing prioritized requests |
| TWI533677B (zh) | 2011-06-30 | 2016-05-11 | 微軟技術授權有限責任公司 | 用於減少視訊編碼及解碼中之延遲的方法、系統及電腦可讀取媒體 |
| US8731067B2 (en) | 2011-08-31 | 2014-05-20 | Microsoft Corporation | Memory management for video decoding |
| US9819949B2 (en) | 2011-12-16 | 2017-11-14 | Microsoft Technology Licensing, Llc | Hardware-accelerated decoding of scalable video bitstreams |
| JP5903873B2 (ja) * | 2011-12-19 | 2016-04-13 | 富士通株式会社 | ストレージ装置、ストレージ装置の制御方法及びストレージ装置制御プログラム |
| US9462332B2 (en) | 2012-12-05 | 2016-10-04 | At&T Intellectual Property I, L.P. | Method and apparatus for controlling a media device |
| US9535860B2 (en) * | 2013-01-17 | 2017-01-03 | Intel Corporation | Arbitrating memory accesses via a shared memory fabric |
| US9563579B2 (en) * | 2013-02-28 | 2017-02-07 | Intel Corporation | Method, apparatus, system for representing, specifying and using deadlines |
| US9431077B2 (en) * | 2013-03-13 | 2016-08-30 | Qualcomm Incorporated | Dual host embedded shared device controller |
| US9627014B2 (en) * | 2013-12-17 | 2017-04-18 | Marvell World Trade Ltd. | Multiple port shared memory |
| US10108562B2 (en) * | 2015-10-01 | 2018-10-23 | Renesas Electronics Corporation | Semiconductor device including a request issuing controller |
| US10664425B2 (en) * | 2018-09-17 | 2020-05-26 | Intel Corporation | Adjusting interrupt priorities |
| WO2020108778A1 (en) * | 2018-11-30 | 2020-06-04 | Huawei Technologies Co., Ltd. | Electronic device for memory access control and method of operating same |
| JP7292044B2 (ja) * | 2019-02-07 | 2023-06-16 | キヤノン株式会社 | 制御装置および制御方法 |
| GB2626544B (en) * | 2023-01-24 | 2025-02-19 | Advanced Risc Mach Ltd | Shared resource access control |
| US12439387B2 (en) * | 2023-04-20 | 2025-10-07 | Hitachi, Ltd. | System and method for computing resource management |
Family Cites Families (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3283308A (en) * | 1963-06-10 | 1966-11-01 | Beckman Instruments Inc | Data processing system with autonomous input-output control |
| US4263649A (en) * | 1979-01-05 | 1981-04-21 | Mohawk Data Sciences Corp. | Computer system with two busses |
| JPS5654535A (en) * | 1979-10-08 | 1981-05-14 | Hitachi Ltd | Bus control system |
| US4580213A (en) * | 1982-07-07 | 1986-04-01 | Motorola, Inc. | Microprocessor capable of automatically performing multiple bus cycles |
| JPS6019269A (ja) * | 1983-07-13 | 1985-01-31 | Nec Corp | 高速デ−タ転送方式 |
| JPS6226561A (ja) * | 1985-07-26 | 1987-02-04 | Toshiba Corp | パ−ソナルコンピユ−タ |
| US4805137A (en) * | 1987-01-08 | 1989-02-14 | United Technologies Corporation | Bus controller command block processing system |
| US4979100A (en) * | 1988-04-01 | 1990-12-18 | Sprint International Communications Corp. | Communication processor for a packet-switched network |
| US4987529A (en) * | 1988-08-11 | 1991-01-22 | Ast Research, Inc. | Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters |
| JP2712131B2 (ja) * | 1989-01-23 | 1998-02-10 | 株式会社日立製作所 | 通信制御装置 |
| US5255378A (en) * | 1989-04-05 | 1993-10-19 | Intel Corporation | Method of transferring burst data in a microprocessor |
| US5185694A (en) * | 1989-06-26 | 1993-02-09 | Motorola, Inc. | Data processing system utilizes block move instruction for burst transferring blocks of data entries where width of data blocks varies |
| EP0454605A3 (en) * | 1990-04-25 | 1992-04-22 | International Business Machines Corporation | Bus request device in a direct memory access (dma) system |
| JPH0484253A (ja) * | 1990-07-26 | 1992-03-17 | Mitsubishi Electric Corp | バス幅制御回路 |
| US5388227A (en) * | 1990-08-14 | 1995-02-07 | Nexgen Microsystems | Transparent data bus sizing |
| JPH0810445B2 (ja) * | 1990-09-21 | 1996-01-31 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 動的バス調停方法及び装置 |
| US5471639A (en) * | 1990-10-24 | 1995-11-28 | At&T Global Information Solutions Company | Apparatus for arbitrating for a high speed direct memory access bus |
| US5253348A (en) * | 1990-12-28 | 1993-10-12 | Apple Computer, Inc. | Method of arbitration for buses operating at different speeds |
| US5191656A (en) * | 1991-08-29 | 1993-03-02 | Digital Equipment Corporation | Method and apparatus for shared use of a multiplexed address/data signal bus by multiple bus masters |
| JP2599539B2 (ja) * | 1991-10-15 | 1997-04-09 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 直接メモリ・アクセス装置及びルック・アヘッド装置 |
| 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 |
| DE69228975T2 (de) * | 1991-10-28 | 1999-11-18 | Eastman Kodak Co., Rochester | Steuerungsschaltung zur Datenübertragung von einem VME-Bus zu einer SCSI-Platteneinheit |
| JP2836321B2 (ja) * | 1991-11-05 | 1998-12-14 | 三菱電機株式会社 | データ処理装置 |
| US5239651A (en) * | 1991-12-30 | 1993-08-24 | Sun Microsystems, Inc. | Method of and apparatus for arbitration based on the availability of resources |
| US5463739A (en) * | 1992-12-22 | 1995-10-31 | International Business Machines Corporation | Apparatus for vetoing reallocation requests during a data transfer based on data bus latency and the number of received reallocation requests below a threshold |
| US5509126A (en) * | 1993-03-16 | 1996-04-16 | Apple Computer, Inc. | Method and apparatus for a dynamic, multi-speed bus architecture having a scalable interface |
| US5546548A (en) * | 1993-03-31 | 1996-08-13 | Intel Corporation | Arbiter and arbitration process for a dynamic and flexible prioritization |
| CA2115731C (en) * | 1993-05-17 | 2000-01-25 | Mikiel Loyal Larson | Dynamically programmable bus arbiter with provisions for historical feedback and error detection and correction |
| US5396602A (en) * | 1993-05-28 | 1995-03-07 | International Business Machines Corp. | Arbitration logic for multiple bus computer system |
| US5530902A (en) * | 1993-06-14 | 1996-06-25 | Motorola, Inc. | Data packet switching system having DMA controller, service arbiter, buffer type managers, and buffer managers for managing data transfer to provide less processor intervention |
| US5506969A (en) * | 1993-11-29 | 1996-04-09 | Sun Microsystems, Inc. | Method and apparatus for bus bandwidth management |
| US5533205A (en) * | 1994-03-30 | 1996-07-02 | International Business Machines Corporation | Method and system for efficient bus allocation in a multimedia computer system |
| US5566345A (en) * | 1994-08-31 | 1996-10-15 | Ostrowski; Carl L. | SCSI bus capacity expansion controller using gating circuits to arbitrate DMA requests from a plurality of disk drives |
| US5528767A (en) * | 1995-03-21 | 1996-06-18 | United Microelectronics Corp. | Programmable multi-level bus arbitration apparatus in a data processing system |
| US5805905A (en) * | 1995-09-06 | 1998-09-08 | Opti Inc. | Method and apparatus for arbitrating requests at two or more levels of priority using a single request line |
| US5884051A (en) * | 1997-06-13 | 1999-03-16 | International Business Machines Corporation | System, methods and computer program products for flexibly controlling bus access based on fixed and dynamic priorities |
-
1997
- 1997-08-28 US US08/919,152 patent/US6006303A/en not_active Expired - Lifetime
-
1998
- 1998-08-28 JP JP25766698A patent/JP3699833B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH11191075A (ja) | 1999-07-13 |
| US6006303A (en) | 1999-12-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3699833B2 (ja) | メモリアーキテクチャーのための優先符号化及び復号化 | |
| US6272579B1 (en) | Microprocessor architecture capable of supporting multiple heterogeneous processors | |
| KR100420706B1 (ko) | 가변폭버스의동시적인액세스를이용하는다중프로세서시스템에서i/o제어를위한방법및시스템 | |
| KR100420707B1 (ko) | 가변폭버스의동시적인액세스를이용하는다중프로세서시스템에서버스중재를위한방법및시스템 | |
| US6519666B1 (en) | Arbitration scheme for optimal performance | |
| KR100422781B1 (ko) | 통합 메모리 아키텍처에서 중재하기 위한 방법 및 장치 | |
| JP4034969B2 (ja) | 共通メモリのメモリ管理システム | |
| US5758166A (en) | Method and apparatus for selectively receiving write data within a write buffer of a host bridge | |
| KR100296718B1 (ko) | 다중프로세서 시스템에서 가변폭 버스를 동시에 액세스하기 위한 방법 및 시스템 | |
| US8407432B2 (en) | Cache coherency sequencing implementation and adaptive LLC access priority control for CMP | |
| JP3519182B2 (ja) | 情報処理システムおよびバスアービタならびにバス制御方法 | |
| US7617344B2 (en) | Methods and apparatus for controlling access to resources in an information processing system | |
| US7693053B2 (en) | Methods and apparatus for dynamic redistribution of tokens in a multi-processor system | |
| US5761452A (en) | Bus arbiter method and system | |
| US6317813B1 (en) | Method for arbitrating multiple memory access requests in a unified memory architecture via a non unified memory controller | |
| JPH0728758A (ja) | ダイナミックタイムループ調停及び装置 | |
| US7080174B1 (en) | System and method for managing input/output requests using a fairness throttle | |
| JPH06161952A (ja) | アクセス要求仲裁装置 | |
| US5933616A (en) | Multiple bus system bus arbitration according to type of transaction requested and the availability status of the data buffer between the buses | |
| US20030229721A1 (en) | Address virtualization of a multi-partitionable machine | |
| US6889283B2 (en) | Method and system to promote arbitration priority in a buffer queue | |
| US5926628A (en) | Selectable priority bus arbitration scheme | |
| JPH1125036A (ja) | 調停システム、およびアクセスを調停する方法 | |
| JP3274634B2 (ja) | リード制御装置 | |
| JPH05314063A (ja) | 多重バス制御方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040730 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050125 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050325 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050412 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050609 |
|
| 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: 20050628 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050711 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |