JPH11191075A - メモリアーキテクチャーのための優先符号化及び復号化 - Google Patents

メモリアーキテクチャーのための優先符号化及び復号化

Info

Publication number
JPH11191075A
JPH11191075A JP10257666A JP25766698A JPH11191075A JP H11191075 A JPH11191075 A JP H11191075A JP 10257666 A JP10257666 A JP 10257666A JP 25766698 A JP25766698 A JP 25766698A JP H11191075 A JPH11191075 A JP H11191075A
Authority
JP
Japan
Prior art keywords
priority
access
bus
request
resource
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
JP10257666A
Other languages
English (en)
Other versions
JP3699833B2 (ja
Inventor
J Burnaby Michael
ジェイ バーナビィ マイケル
Manmen Abe
マンメン エイブ
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Publication of JPH11191075A publication Critical patent/JPH11191075A/ja
Application granted granted Critical
Publication of JP3699833B2 publication Critical patent/JP3699833B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/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
    • 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/18Handling 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)

Abstract

(57)【要約】 【課題】 待ち時間、帯域幅および処理能力を含む、装
置要件を考慮にいれた共有資源アクセス優先順位コード
化/解読および調停スキーム。前記要件は、アクセス要
求条件の変化に基づいて、記憶され、動的に更新され
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、共有資源へのアク
セスの制御に関し、特に、一つのメモリ資源制御装置お
よびデータ経路への、リアルタイムでのデータ転送送を
サポートしているバス装置を含む、DMA(直接メモリ
・アクセス)をサポートしている複数のバスを調停す
る、例えば、DRAMのような共通(共有)ハードウェ
アへの、またこの共通(共有)ハードウェアからのバー
スト性能を改善するための複雑なメモリ・コア優先順位
および調停スキームに関する。
【0002】本発明は、さらにすべてのサポートされ
た、バス装置の待ち時間および帯域幅を決定することが
でき、ハードウェア・レジスタに結果を記憶することが
できる優先順位アーキテクチャに関する。前記レジスタ
はプログラム可能で、例えば、ビデオ解像度を変更した
り、またはPCTバス上でより高速なSCST装置の使
用を可能にするために、帯域幅要件に基づいて変更する
ことができる。
【0003】
【従来の技術】バスの使用を最適化するためのメモリ調
停の分野には多くの特許がある。例えば、「DMA動作
に関して、転送されるデータの量を変化させることによ
り、バス使用を最適化するための装置および方法」とい
う名称の米国特許第5,423,020号がある。この
特許は、DMA転送のサイズを動的に変化させるため
の、DMAコントローラを含むシステムに関する。前記
コントローラは、データ・ブロックが到着したときに、
装置からデータ・ブロックをバッファするための手段
と、DMA動作を動的に作動し、データの最近の到着速
度、およびDMA転送用にすでにバッファされたデータ
の量に従って、DMAが動作しているときに、転送され
たデータの量を変化させるための手段とを含む。前記コ
ントローラは、転送を待っているバッファされたデータ
の量、および最近のデータの到着速度に基づいて、DM
Aの動作中に転送された、データの量を動的に変化させ
ることによってDMAの動作に対する効率的なバス利用
を行うための技術を提供する。前記システムは、プロセ
ッサ、主メモリ、一つまたはそれ以上の周辺機器および
DMAコントローラを含む。システム・バスが、プロセ
ッサ、メモリおよびDMAコントローラを相互に接続し
ている。前記コントローラは、DMA転送のサイズを動
的に変化させることによって、データ・ブロックの直接
メモリ・アクセス転送中のバス使用を改善する。前記コ
ントローラは、データ・ブロックが到着したときに、装
置からデータ・ブロックをバッファするための手段、お
よびDMA動作を動的に作動し、最近のデータ到着速度
およびDMA転送用にすでにバッファされたデータの量
に従って、DMAの動作中に転送されるデータの量を変
化させるための手段とを含む。
【0004】本発明の代表的な実施形態としては、プロ
セッサ、メモリ、一つまたはそれ以上の周辺機器、周辺
機器からの、データ・ブロックをバッファするためのバ
ッファを含む、直接メモリ・アクセス・コントローラ、
および前記プロセッサ、メモリおよびコントローラを相
互に接続しているバスを含むシステムがある。この場
合、データ・ブロックは、高速と低速との間で変化する
データ速度で到着し、バッファされる。バス要求装置
は、周辺機器とメモリとの間の、各直接メモリ・アクセ
ス転送により転送されるデータ・ブロックの数を、動的
に変化させることにより、直接メモリ・アクセス転送中
のバス効率を改善するために、周辺機器および直接メモ
リ・アクセス・コントローラに接続している。バス要求
装置は、バッファ中にバッファされた、データ・ブロッ
クの全数をカウントするためのカウント手段と、到着し
てバッファされる連続データ・ブロックの間の、可変時
間的間隔を測定するための測定手段、および時間的間隔
が短くなり、バッファされたデータ・ブロックの全数が
増大するにつれて、直接メモリ・アクセス転送により転
送されるデータ・ブロックの変化する数を増大すること
によりバス効率を増大するために、バッファからメモリ
へのバッファされたデータ・ブロックの可変数をバス上
の一回の転送中で選択的に転送するために、前記測定手
段およびカウント手段に応じる直接メモリ・アクセス・
コントローラを含む手段とを含む。
【0005】「競合するメモリ・リフレッシュ回路、周
辺コントローラおよびバス・マスタの間で、アクセス制
御を調停するための共有メモリ・バス・システム」とい
う名称の米国特許第5,438,666号は、共有アド
レス、バス・マスタを通して、周辺機器とメモリとの間
でデータを転送するために、バースト動作モードを提供
するデータおよび制御バス用の調停システムに関する。
前記調停システムは、バス・マスタから高い優先順位活
動を制御する回路へ、共有バスの制御を一時的に渡すた
めに、メモリ・リフレッシュ・サイクルおよびDMAサ
イクルのような、高い優先順位バス活動に応答する。前
記調停システムは、さらにバースト・モード中にデータ
を転送するバス・マスタが、過度の長い時間の間共有バ
スの制御を保持するのを確実に防止するためにタイミン
グ回路を含む。前記特許は、メモリ・リフレッシュ動作
が、共有バス、特に、DMAを実行する際の過度に長い
時間のオーバヘッド、バースト・モード転送制限を使用
する、「サイクル・スチル」システムの欠点を克服する
ためのものである。本発明の目的は、マイクロプロセッ
サをベースとするコンピュータ・システムの動作の統合
性を維持しながら、共有アドレス、データおよび制御バ
スへのより迅速で、より効率的なアクセスを提供するこ
とである。前記システムのバス調停回路は、バス・マス
タが共有バスにアクセスし、マイクロプロセッサを排除
して共有バスの制御を保持するのを防止するために、共
有バスの統合性を保護するためのロジックを含む。保護
の一つの形として、バス調停回路は、マイクロプロセッ
サへの割り込み要求をモニタし、マイクロプロセッサが
割り込み要求を与えることができるように、マイクロプ
ロセッサに共有バスの制御を許可する。
【0006】動作中、このバス調停回路は、マイクロプ
ロセッサによる割り込みサービスの完了を示す信号をモ
ニタし、割り込みサービスが完了した時、(再調停待ち
状態バス要求による)現在最も高い優先順位を持つ要求
バス・マスタに、共有バスの制御を許可する。前記バス
調停回路は、マイクロプロセッサによる共有バスへの、
「公平な」アクセスを供給する別のロジックを含む。バ
ス・マスタが、共有バスへのアクセスすることを許可さ
れると、監視タイマがセットされ、予め定めた長さの時
間が経過すると信号を発生する。前記予め定めた時間の
長さは、バス・マスタが、共有バスを通してメモリへ、
またはメモリからデータのバーストを転送することがで
きるだけの十分な長さで持ち、それにより時間のオーバ
ヘッド問題が軽減する。予め定めた長さの時間が経過す
ると、バス調停回路は、現在制御を行っているバス・マ
スタへの共有バスの許可を取り消す。命令を実行するた
めに、マイクロプロセッサがバスを使用した後で、バス
調停回路は、バス・マスタからの待ち状態のアクセス要
求を調停し、一つまたはそれ以上のバス・マスタが、共
有バスへのアクセスを要求している場合には、現在最高
の優先順位を持つバス・マスタにアクセスを許可する。
ある実施形態の場合には、バス・マスタ間のアクセス優
先順位は、バス・マスタに共有バスに対するアクセスが
許可される度に、回転(変化)し、その結果、バス調停
回路が、バス・マスタによる共有バスへのアクセスを、
次に調停した場合には、現在共有バスを制御しているバ
ス・マスタが最下位の優先順位を持つことになる。
【0007】本発明の代表的な実施形態としては、マイ
クロプロセッサ、システム・メモリおよび前記マイクロ
プロセッサと前記システム・メモリとの間に共有バスを
持つ、コンピュータ・システム用のバス調停制御回路が
ある。前記コンピュータ・システムは、さらにシステム
・メモリを周期的にリフレッシュするために、共有バス
を使用するメモリ・リフレッシュ制御回路、およびシス
テム・メモリと複数の周辺機器との間でデータを転送す
るために共有バスを使用する、複数の周辺コントローラ
を含む。バス調停制御回路は、共有バスへアクセスする
ためのアクティブな要求を持つ周辺コントローラの間
で、共有バスの制御の調停を行う。調停制御装置は、周
辺コントローラおよびメモリ・リフレッシュ制御回路か
ら共有バスへアクセスするための要求を受信する複数の
入力と、リフレッシュ制御回路が、メモリ・リフレッシ
ュを完了し、その結果、第一の周辺コントローラが、前
記第一の周辺コントローラとアクティブなバス要求を持
つ他の周辺コントローラとの間で、優先順位の調停を行
わないでその動作を完了することができるとき、リフレ
ッシュ制御回路が、共有バスにアクセスを要求し、ロジ
ック・シーケンサが、何時でも共有バスの制御を第一の
周辺コントローラに自動的に戻すとき、複数の入力に応
答し、共有バスの制御を持つ第一の周辺コントローラに
制御を放棄させ、一時的に、メモリ・リフレッシュ制御
回路に共有バスの制御を渡すロジック・シーケンサを持
つ。
【0008】「データ・バス待ち時間および域値以下の
受信した再割当要求に基づいて、データ転送中、再割当
要求を拒否するための装置」という名称の他の米国特許
第5,463,739号は、第一の装置と、共通メモリ
の割当てられた部分との間のデータ転送を管理するため
の方法を開示している。この方法は、第二の装置から
の、共通メモリの前記割り当てられた部分の再割当要求
の受信と、第一の装置から要求された前記再割当の拒否
の受信と、前記再配置要求の遅延を含む。さらに、周辺
機器と仮想メモリ・システムの共通メモリとの間でデー
タを転送する方法も開示している。前記方法は、共通メ
モリの割当られた部分により、データを転送するようと
の周辺機器への命令と、共通メモリの割当済みの部分の
再割当の要求と、および命令されたデータ転送に応じ
て、周辺機器から要求された再割当の拒否の受信とを含
む。動作中、調停装置は、システム・バス割込み待ち時
間に関して、許容できる時間の間に、データ転送を完了
することができるかどうかを決定して、再度の試みを許
可するかどうかを決定する。
【0009】「過去のフィードバックおよびエラー検出
および修正用の設備を持つ、動的にプログラムすること
ができるバス調停装置」という名称の米国特許第5,4
81,680号は、表に作成するために、バス要求を表
す数値と組合される、一意の経歴レジスタを使用する調
停回路を開示している。経歴レジスタ要求のすべての可
能な組合せは、対応する許可と一緒に前記表の中に記憶
される。表の一つのブロックは、経歴レジスタにより選
択され、要求は、どの要求が許可を受信したかを決定す
るために、ブロック中で索引をつけるために使用され
る。その後、前記許可は、経歴レジスタにシフトされ
る。メモリには一つ以上の表を記憶することができ、そ
れら表は調停装置コントローラにより選択することがで
きる。この特許は、この分野のある問題を記載している
が、その問題とは、その許可選択の際に過去のフィード
・バック対する規定を持つ、動的な優先順位スキームを
供給するバス使用調停装置が存在しないという問題であ
る。この特許の場合、前のバス・アクセスを要求者にサ
ービスするための、決定の一部として考慮に入れる調停
回路によりこの問題に対処している。より詳細に説明す
ると、前記調停回路は、メモリのある位置にアクセスす
るための、現在のバス要求を表す数値と組合されている
過去のバス要求を表す数値を、発生する一意の経歴レジ
スタを提供する。可能性のある許可は定義され、過去の
要求および現在の要求の可能な各組合せに対する、メモ
リの各位置に記憶される。可能性のある許可の選択は、
経歴レジスタの内容を、メモリ・アドレスの高順位のビ
ットとして使用することにより、また一つの許可出力を
許可することを決定するために、現在の要求をメモリ・
アドレスの低順位のビットとして使用することにより行
われる。前記許可も、経歴レジスタにシフトされる。複
数のアルゴリズムを選択的に供給するために、メモリに
一つ以上の表を記憶することができる。この特許は、バ
ス使用に対する、複数の要求を受けつけるステップと、
前記複数の要求に応じて、選択した調停状態を決定する
ために、前記複数の要求に対して、シーケンシャルな順
序で、前記複数の過去の許可を含む経歴レジスタを適用
するステップと、選択した調停状態を、複数の調停状
態、および対応する複数の許可を含む調停状態表に、索
引として使用するステップと、要求者に、選択した調停
状態により直接索引がつけられた、複数の許可の一つ発
行するステップとを持つ、複数の前のバス要求許可の経
歴に基づいて、複数の要求からのバス割り込み要求を調
停する方法を開示し、また特許請求している。
【0010】「バス帯域幅管理用の方法および装置」と
いう名称の米国特許第5,506,969号は、図3
に、バス帯域幅管理方法のフローチャートを示してい
る。ブロック300においては、クライアントのアプリ
ケーションが、高速バス上のバス・マネージャに、デー
タ転送に対する転送要求を発行する。前記転送要求は、
転送用のデータを含むモジュール(ソース・モジュー
ル)を定義する情報、データ転送を受信するためのメモ
リ領域を含む、一つのモジュールまたは複数のモジュー
ル(宛先モジュール)、転送されたデータを受信するた
めの二つの二次元メモリ領域の説明、および特定の転送
要求に関連する重要情報および緊急情報を含む。
【0011】ある実施形態の場合には、時間駆動資源管
理(TDRM)法が使用される。一般的にいって、TD
RM法は、緊急情報に基づき、期限が一番短いものを一
番最初にする、すべての未決着の転送のスケジュールを
作成しようとする。バス過負荷状態に対するテストが行
われ、バス過負荷であると判断された場合には、選択し
た転送要求のサービスは遅延される。この特許の代表的
な実施形態は、緊急情報および重要情報に基づく、各転
送要求に対する重要性に関するリストおよび緊急性に関
するリストを作成するステップと、各転送要求に対して
指定された期限以内に、緊急リスト上の転送要求にサー
ビスするのに、十分なバス帯域幅があるかどうかを判断
するステップと、バスが、転送要求にサービスするだけ
の、十分なバス帯域幅を持っている場合に、緊急リスト
に対応する転送順序を作成するステップと、バスが、転
送要求にサービスするのに、十分な帯域幅を持っていな
い場合に、バスが、残りの転送要求にサービスするに
に、十分なバス帯域幅を持つまで、低い優先順位を持つ
転送要求を除去することにより、緊急リストの順序を変
更するステップとを含むバス管理法に基づいて、バス使
用に対する転送要求のスケジュールの作成を含む。
【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を送信する速度を知らせるために、この情
報を含む速度メッセージを、第一のデータ・パケットA
Aを受信する前に、ローカル・ホスト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,30
8号は、チャネル優先順位アクセス制御により規制され
た、入力/出力マスタ制御装置を通して、メモリ・サブ
システムと個々のチャネル・バッファ・レジスタとの間
のデータの流れの規制に関する。チャネル優先順位アク
セス制御装置の一実施形態の場合には、各チャネルに予
め定めた優先順位アクセスを割り当てる。例えば、チャ
ネル番号「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
号は、例えば、転送パラメータを記憶するレジスタを使
用し、前記レジスタを制御するための制御回路を持つI
SDNのような、通信制御ユニットと一緒に使用するた
めの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,3
78号は、バースト配列スキームの実行による、バース
ト・データ転送の効率の改善に関する。
【0027】「周辺機器を選択的に接続するための、キ
ャッシュ・メモリおよびバス幅制御回路」という名称の
米国特許第5,280,598号は、キャシュ・メモリ
でバス幅制御回路を使用する異なる幅の複数のバスの接
続に関する。
【0028】「透明なデータ・バスのサイズ決定」とい
う名称の米国特許第5,388,227号は、異なる幅
の複数のバス間の通信の処理に関する。
【0029】「バスのサイズ決定機能を持つデータ・プ
ロセッサ」という名称の米国特許第5,394,528
号は、メモリ境界サイズ決定を使用する異なる幅のバス
間での通信の制御に関する。
【0030】「多重バス・コンピュータ・システム用調
停ロジック」という名称の米国特許第5,396,60
2号は、第一のおよび第二のレベルの調停ロジックを接
続し、選択した規格入力/出力装置に対応する調停識別
情報を含み、側帯波システムを含む調停機構に関する。
ベース・システム・メモリへのアクセスは、ベース・シ
ステム・メモリ・バスを通して、メモリ・コントローラ
により制御される。入出力動作が、一次PCI装置に対
するものである場合には、PCIホスト・ブリッジは、
メモリ・コントローラに解読コマンドで応答し、入出力
サイクルを適当な一次PCI装置に送る。
【0031】この特許の図2について説明すると、規格
バス・ブリッジが存在しない場合に使用される実行は、
バンク調停制御点(BACP)、PCI調停制御点(P
ACP)、および直接取り付け調停制御点(DACP)
を含む。前記BACPは、一次PCTバスを制御するた
めに、PACPおよびDACPによる要求間の調停を行
う。PACPは、CPU、および一次PCI装置により
PACPに提出された一次PCIバス・アクセス要求
(集合的に、「バンク0要求」と呼ぶ)を管理する。D
ACPは、それが制御する周辺入力/出力装置のため
に、入出力コントローラが、DACPに提出した一次P
CIバス要求を処理する。この階層アーキテクチャは、
CPUと一次PCI装置との間の調停が、入出力コント
ローラにより制御されている周辺入出力装置、(存在す
る場合には)標準バス・ブリッジに取り付けられてい
る、標準入出力装置間の調停とは独立して管理されるシ
ステムに対して、調停スキームを提供する。PACP
は、PACP上の五つのピンを通して、最高5台までの
PCI装置およびCPUから、直接PCIバスに対する
アクセス要求を受信する。調停優先順位が、各一次PC
I装置およびCPUに割り当てられる。優先順位レベル
は、関連PCI装置の帯域幅に基づいて決定される。例
えば、高い帯域幅と低いバッファ能力を持つPCI装置
には、より狭い帯域幅および/またはより高いバッファ
能力を持つ装置より高い調停優先順位を、割当てなけれ
ばならない。この特許の代表的な実施形態は、第二のシ
ステム・バスに電気的に接続している二つのレベルの調
停ロジックと、個々の入出力バス位置の一方が、標準入
出力バスへのアクセスのために競合している、複数の個
々の入出力位置から選択される入出力バス上で、調停を
行うためのロジックの第一のレベルと、選択した個々の
入出力バス位置の間で、調停を行うためのロジックの第
二のレベルとを備える、二つのレベルを持つ調停ロジッ
クとを持ち、CPUと少なくとも一つの周辺機器が、周
辺バスにアクセスするために選択される。前記二つのレ
ベルを持つ調停ロジックは、調停ロジックの第一および
第二のレベルを、直接接続している側帯波信号と、選択
した個々の入出力バス位置に対応する、調停識別情報を
含む側帯波信号を含む。
【0032】「1バイト幅のデジタル・データ・バス
と、4バイト幅のデジタル・データ・バスとの間で、デ
ータを転送するためのデジタル・データ装置」という名
称の米国特許第5,428,763号は、VMEとSC
SIバスとの間でのデータ転送の制御に関する。
【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】
【課題を解決するための手段】従来の設計および方法の
欠点を克服するために、本発明は、例えば、DRAMの
ような共通(共有)ハードウェア資源への、または前記
資源からのバースト性能を向上する、複合メモリ・コア
優先順位およびアクセス調停スキームを提供する。特
に、本発明は、あるメモリ資源制御装置およびデータ経
路への、リアルタイムのデータ転送をサポートするバス
装置を含む、DMA(直接メモリ・アクセス)をサポー
トする、複数のバス装置を調停する方法を提供する。本
発明は、すべての被サポートバス装置の待ち時間および
帯域幅要件を計算するために、ソフトウェア・アプリケ
ーションを書き込むことができる優先順位アーキテクチ
ャを提供し、その結果をハードウェア・レジスタの形で
プログラムする。前記レジスタは、ソフトウェア・ドラ
イブによりプログラム可能で、例えば、ビデオの解像度
の変更のような、帯域幅要件に基づいて変化することが
でき、PCIバス上で、SCSI装置をより高速にする
ことができる。待ち時間および帯域幅要件の計算および
レジスタでの結果のプログラム作成の特徴は、動的に変
更することができるということである。
【0047】本発明は、あるメモリ資源制御装置および
データ経路への、リアルタイムのデータ転送を処理する
エージェントを含む、複数のエージェント(直接メモリ
・アクセス、すなわち、DMA)をサポートしているバ
ス・マスタ装置)を調停する方法を提供する。
【0048】本発明のある実施形態の場合には、本発明
は、統合メモリ・アーキテクチャ(UMA)を使用する
パーソナルコンピュータ(PC)用のコア・ロジック構
成部品として機能する、一つの大きな特定用途向IC
(ASIC)装置で実行される。しかし、本発明は、一
つまたはそれ以上の、共有メモリ経路、またはチャネル
へのアクセスを必要とする、任意のハードウェア・アー
キテクチャで実行することもでき、統合メモリアーキテ
クチャだけに限定されない。実際、本発明は、DRAM
だけに限定されるものではなく、共有ハードウェア資源
を必要とする任意のアプリケーションに適用することが
できる。
【0049】ある実施形態の場合には、本発明は、複数
のエージェントまたはバス・マスタに、変化する待ち時
間および処理能力要件に従って、共有資源へのアクセス
の優先順位を与える方法を実行する。各エージェント
は、共有資源へのタスクを実行するために、待ち状態の
要求を表明している間に、あるエージェントが経験した
待ち時間である、時間の長さに基づいて、優先順位の数
値をカウントする手段を持つ。前記カウントは、エージ
ェントがある要求が資源へのアクセスであると表明する
と、基準優先順位カウントからカウントアップする。あ
るエージェントの優先順位の増分は、その資源に対して
そのエージェントのアクセスが拒否された時間の長さに
従って変化する。
【0050】本発明は、また優先順位のカウント速度が
変化する、場所を指定する複数の領域をサポートする。
前記領域は、また優先順位の高い他の待ち状態のタスク
によりエージェントを先取りする方法、およびあるエー
ジェントが、現在アクティブなタスクの先取りを要求す
る方法を指定する。
【0051】エージェントに対するすべての数値(基準
優先順位カウント、優先順位カウントの変化速度、優先
順位領域)は、プログラム可能であると見なされ、例え
ば、単一のDRAM制御装置およびデータ経路の共有ア
クセスを、制御するコア・ロジック装置のメモリ・コア
である資源コントローラである、資源コントローラによ
り参照される。
【0052】優先順位待ち時間分析ツールに接続させ、
また調停スキームにしっかりと接続させると、プログラ
ム可能な設定を自動化し、変化するクライアントの需要
に従ってハードウェアを調整するという利点が得られ
る。過去の調停スキームは、この調整能力を利用してい
ない。
【0053】ある実施形態の場合には、共有資源アクセ
ス・システムが複数の装置により、メモリのような共有
資源へのアクセスを制御する。前記システムは、記憶し
た変数に基づいて、資源アクセス要求への優先順位の数
値をコード化する優先順位エンコーダと、待ち状態の資
源アクセス要求の優先順位の数値を解読、比較し、選出
要求を決定する優先順位デコーダと、待機中の資源アク
セス要求に対する、共有資源の少なくとも一つのアドレ
スを解読するアドレス・デコーダと、現在アクティブな
資源アクセス要求と、優先順位デコーダからの選出要求
との間を調停し、出力を供給する調停装置と、前記調停
装置からの出力に基づいて、共有資源へのアクセスを制
御する資源コントローラとを備える。この場合、前記記
憶変数は、基準優先順位の数値、待ち時間の数値、帯域
幅の数値、および処理能力の数値の中の一つを含む。
【0054】好適な実施形態の場合には、共有資源はメ
モリを備える。本発明を他の観点から見た場合、共有資
源にアクセスを要求する複数の装置は、ホスト・コア・
インターフェース、グラフィック・アクセラレータ、ビ
デオ・グラフィックス・アレイ(VGA)コントロー
ラ、ビデオ走査バッファ、ハードウェア・カーソル、Y
UVビデオ入力ポート、およびペリフェラル・コンポー
ネント・インターコネクト(PCI)コア・インターフ
ェースの中の少なくとも一つを含む。
【0055】前記システムは、また違法資源アドレス、
保護資源アドレス、およびマップされていない資源アド
レスの中に少なくとも一つを含む、エラーに対するアク
セス要求をチェックするエラー・チェッカーを含む。
【0056】ある実施形態は、基準優先順位、待ち時
間、帯域幅および処理能力の中の少なくとも一つを含
む、前記変数を記憶するプログラム可能なレジスタ・フ
ァイルを持つ。
【0057】他の実施形態の場合には、キャッシュ・コ
ヒーレンシー・チェックを要求する要求を受信し、キャ
ッシュ書き戻しとのミスまたはヒットが発生するまで、
前記要求をその内部に保持する、調停装置のキャッシュ
・コヒーレンシー・チェック・サブステージと、読み出
し修正書き込みタイプ要求およびそれに関連するアドレ
スである、任意の資源要求にタグをつける、調停装置の
ロック・タグ付けサブステージと、それに関連する書き
込みが発生するまで、読み出し修正書き込みタイプ要求
に関連する、資源アドレスへのアクセスの任意の要求を
そのままも状態に維持する、調停装置のロック状態維持
サブステージを持つ。
【0058】本発明を他の観点から見た場合、調停装置
は、前記要求に関連するデータ、すなわち、要求アドレ
ス、要求タイプ、バースト・サイズ、バイト・マスク、
要求している装置の識別子、およびRASチャネル解読
信号の中の少なくとも一つを含むデータをラッチする。
【0059】ある実施形態の場合には、アドレス・デコ
ーダは、RASチャネル・デコーダを備える。
【0060】前記システムの他の実施形態の場合には、
メモリ・コントローラから、装置の中の対応するもの
に、信号を送る要求状態マルチプレクサを持ち、複数の
アクセス装置の対応する装置から共有資源にデータを送
るデータ・マルチプレクサを持つ。
【0061】本発明の共有資源アクセス方法は、複数の
装置により、メモリのような共有資源へのアクセスを制
御するためのものである。前記方法は、装置資源要件の
決定に基づいて、アクセス優先順位を確立するステップ
と、前記確立したアクセス優先順位に基づいて、共有資
源にアクセスを許可するステップとからなる。この場
合、装置資源要件は、基準優先順位、待ち時間、帯域幅
および処理能力の中の少なくとも一つを含む。
【0062】他の実施形態の方法は、装置資源要件を記
憶するステップと、変化する状態に基づいて、前記記憶
した資源要件を動的に変化させるステップとからなる。
【0063】本発明の他の実施形態の場合には、複数の
装置の一つは、動的に変化することができる資源要件と
して、ビデオ解像度を持つビデオ装置である。
【0064】本発明の方法の他の実施形態の場合には、
複数の装置の中の一つは、動的に変化することができる
資源要件として、SCSI装置速度を持つペリフェラル
・コンポーネント・インターコネクト(PCI)であ
る。
【0065】本発明の方法の他の実施形態の場合には、
予め定めた組の先取りルールに基づいて、共有資源への
現在のアクセスの先取りが行われる。本発明を他の観点
から見た場合、装置の中の少なくとも一つは、リアルタ
イム装置であり、リアルタイム装置の中の少なくとも一
つは、より低い優先順位の現在のアクセスを先取りする
ことにより、共有資源へのアクセス優先順位を入手す
る。
【0066】他の実施形態の場合には、システムの性能
に基づいて動的に変化する、装置資源要件を含む。この
場合、アクセス優先順位は、それにより動的に変化す
る。
【0067】さらに他の実施形態の場合には、複数の各
装置に対して、優先順位曲線を確立するステップを含
む。この場合、優先順位曲線は、待ち時間の変化に対す
る、優先順位カウントの変化を表す。本発明をある観点
から見た場合、各装置に対する優先順位曲線は、第一の
優先順位領域、第二の優先順位領域、および第三の優先
順位領域を含む。第一、第二および第三の優先順位領域
それぞれは、待ち時間に対して優先順位カウントのそれ
ぞれの変化速度をもつ。第一の優先順位領域において
は、ある装置は他の装置による先取りを許すが、他の装
置の先取りを要求しない。第二の優先順位領域において
は、ある装置は他の装置による先取りを許すが、また他
の装置の先取りを要求する。第三の優先順位領域におい
ては、ある装置は他の装置の先取りを要求するが、他の
装置による先取りを許さない。
【0068】前記方法は、また性能カテゴリーで装置を
分類するステップを含むことができる。この場合、前記
性能カテゴリーとしては下記の部門がある。すなわち、
ある待ち時間許容範囲を超えた場合に、故障が発生する
故障点タイプの装置、待ち時間許容範囲を超えた場合
に、性能が悪影響を受ける性能感受タイプの装置と、そ
の待ち時間が過度に長い場合に、性能の低下がより少な
い、下位優先順位に影響を与えないタイプの装置であ
る。本発明を他の観点から見た場合、優先順位は、最
初、故障点タイプの装置に対する優先順位曲線を計算
し、その後、残りの帯域幅を考慮して、性能感受タイプ
の装置に対する優先順位曲線を計算し、その後、残りの
帯域幅を考慮して、下位優先順位に影響を与えないタイ
プの装置に対する優先順位曲線を計算することにより性
能カテゴリーに基づいて決定される。
【0069】
【発明の実施の形態】図1について説明すると、この図
は、本発明の例示としての実施形態の実行のブロック図
である。
【0070】メモリ・コアを見てみると、この実施形態
の場合には、メモリ・コアは七つのエージェントを含
み、すべてのエージェントは被呼クライアントである。
何故なら、前記メモリ・コアは、単一のメモリ資源にア
クセスするための、すべての要求をサーブするからであ
る。クライアントの一例としては、独立の読み出しおよ
び書き込み経路、グラフィックス・コントローラ10
4、VGAコントローラ106、表示をリフレッシュす
るために、メモリにアクセスするビデオ走査バッファ1
08、リアルタイムYUVマルチメディア・ポート11
0(ビデオ入力)、ハードウェア・カーソル112、ま
たは独立のビット・マップした画像またはPCI114
のような入出力クライアントを必要とするX86マイク
ロプロセッサのようなホストCPU102がある。
【0071】図1のブロック116は、段階1優先順位
エンコーダ、優先順位デコーダおよびRASチャネル・
デコーダである。図に示すように、ブロック116は、
種々のクライアントから要求を受信する。ブロック11
6は、Error Checkを、段階1エラー・チェ
ック・ブロック118を出力し、Decodeを段階1
調停デコーダ122に出力する。
【0072】段階1エラー・チェック・ブロック118
は、「エラー状態」を段階1調停装ブロック122およ
びレジスタ・ファイル・ブロック134に出力する。
【0073】段階1ロック(タグ付け)ブロック120
は、段階ICCCサブステージ・ブロック130、およ
び段階1ロック状態維持サブステージ128がするよう
に、調停装置ブロック122と信号を交換する。
【0074】調停装置ブロック122は、入出力コンフ
ィギュレーション・バスに接続している。
【0075】調停装置ブロック122は、「要求エント
リ発行」を、段階2メモリ・コントローラ(非同期およ
び同期)ブロック132に出力する。
【0076】調停装置ブロック122は、クライアント
発行状態を出力する。
【0077】段階2メモリ・コントローラ・ブロック1
32は、「制御信号」を、クライアントの各データ・バ
スおよびDRAMインターフェース・データ・バスに接
続している段階2データ・マルチプレクサ124に出力
する。
【0078】段階2メモリ・コントローラ・ブロック1
32は、「RDY/DONE」を段階2要求バス状態マ
ルチプレクサ・ブロック126に出力し、前記ブロック
126は、各クライアントに出力を送る。
【0079】段階2メモリ・コントローラ・ブロック1
32は、入出力コンフィギュレーション・バスを通し
て、さらにレジスタ・ファイル・ブロック134、調停
装置ブロック122、および優先順位エンコーダ/デコ
ーダ/RASチャネル・デコーダ・クロック116に接
続している。
【0080】レジスタ・ファイル・ブロック134は、
ホスト・コア・インターフェース・ブロック102に接
続している。
【0081】より詳細に説明すると、すべてのメモリ・
クライアントは、要求バスを通して、メモリ・コアの段
階1にインターフェースにより接続している。図示のク
ライアントは、ホスト・コア・インターフェース10
2、グラフィックス・アクセラレータ・エンジン10
4、VGAビデオ・コントローラ106、ビデオ走査バ
ッファ108、ハードウェア・カーソル112、YUV
ビデオ入力ストリーム110、およびPCIコア114
を含む。
【0082】各クライアント用の要求バスは、対応する
物理的アドレス、バイト・マスク、バーズト・サイズ、
タイプ(読み出しまたは書き込み)、バースト順序(直
線的、シーケンシャル、インターリーブ)、読み出し修
正(要求位置ロック)、シーケンス番号、書き込みデー
タ入力と共に、クライアントの要求を知らせるためのも
のである。メモリ・コアからクライアントへの要求バス
出力信号は、発行インジケータ、エラー、データ読み出
し/書き込みレディ、発行済みまたはレディ・シーケン
ス番号または読み出しデータを含む。
【0083】各クライアントは、待ち時間感度およびバ
ースト・サイズに基づいて、書き込みまたは読み出しバ
ッファをサポートする場合もあるし、サポートしない場
合もある。クライアントは、またメモリ・コアによる、
キャッシュのコヒーレンシー(スヌープまたは問い合せ
サイクル)を必要とするキャッシュに記憶可能であると
思われる、メモリ領域を決定する個々のレジスタにより
プログラムされる。側帯波信号は、要求されたメモリ位
置が修正キャッシュ・ラインと一致した場合には、可能
性のある結果がキャッシュを無効にする場合、問い合わ
せ(検査)サイクルを同期させるために、ホストと段階
1との間に供給される。キャッシュが無効になると、要
求しているクライアントのアクセスの前に、実行しなけ
ればならないキャッシュ・ラインの書き戻しが行われ
る。より詳細に説明すると、ホスト・インターフェース
へのメモリ・コアに対しては、前記側帯波信号は、問い
合わせサイクル要求であり、問い合わせアドレスであ
り、メモリ・コアへのホスト・インターフェースに対し
ては、前記側帯波信号は、問い合わせサイクル受取通
知、修正一致、修正不一致である。
【0084】入力/出力コンフィギュレーション・バス
136は、優先順位領域および優先順位変更速度、キャ
ッシュ可能なメモリ領域、メモリ保護領域、メモリ・タ
イミング、メモリ・タイプ、RASチャネル・サイズ領
域、および二つのメモリRASチャネル間のインターリ
ーブ・コンフィギュレーションを決定する、調停関連の
レジスタのように、すべてのプログラム可能なレジスタ
・ファイル134出力を供給する。すべてのデータは、
レジスタ・ファイル134に記憶される。
【0085】段階1優先順位エンコーダ/デコーダRA
Sチャネル・デコーダ・ブロック116は、優先順位コ
ード化、優先順位解読およびRASチャネル(アドレ
ス)解読を実行するための、階層動作ブロックを含む。
優先順位エンコーダは、本特許明細書に記載するよう
に、優先順位カウント累積機能を行う。この場合、未処
置のクライアント要求は、二つの優先順位領域の0に対
する優先順位カウントの変更速度を記述するレジスタ設
定に基づいて、優先順位カウント値を累積する。優先順
位エンコーダは、またあるクライアントに対する先取り
を発生するための、優先順位領域0−2のところで概略
説明したルールに基づいて、待機中のクライアントに対
する先取り要求を送る。
【0086】優先順位デコーダは、未処置のクライアン
ト要求に対する、すべての優先順位カウントを比較し、
領域0−2に対する優先順位領域ルールに基づく、選出
クライアントIDを表示する。さらに、優先順位デコー
ダは、優先順位エンコーダによる先取り要求に基づい
て、アクティブな段2のタスクの先取りを表示し、三つ
の優先順位領域を制御する。
【0087】ブロック116の優先順位エンコーダおよ
びデコーダと平行して、RASチャネル・デコーダ(コ
ントローラ)は、それらがメモリ・マップに関連してい
る場合、特定のメモリ・コントローラのRASチャネル
のコンフィギュレーションと共に、開始要求アドレス解
読に基づいて、待機中の各クライアント要求に対して、
RASチャネル解読を表明する。
【0088】段階1の調停装置122は、116のすべ
ての階層ブロックの決定と平行して、またこの決定に基
づいて、アクティブな段階2の、メモリ・コントローラ
132により、タスクが完了したの後、選出要求をラッ
チする。ラッチされた要求は、要求アドレス・タイプ、
バースト・サイズ、バイト・マスク、クライアントID
およびRASチャネル解読信号を含む。ラッチされた信
号は、段階2メモリ・コントローラ132に発行され
る。
【0089】先取りが発生した場合には、調停装置12
2は、現在の未処置のバースト・サイズと一緒に、バッ
ファに先取りしたタスクを記憶し、先取りタスクを発行
する。先取りタスクが完了すると、調停装置122は、
新しい基準(アドレス)および突出バースト・サイズと
一緒に、先取りタスクを復元する。入り子状になった先
取りがサポートされる。しかし、多重に先取りされたタ
スクの場合には、先取りタスクが完了した後で、その優
先順位カウントに基づいて、タスクが復元される。任意
の新しい要求がラッチされると、調停装置ブロック12
2は、選出クライアントに要求信号を正式に発行する。
【0090】調停装置への三つのサブ段階がサポートさ
れる。CCC(キャッシュ・コヒーレンシー・チェッ
ク)サブ段階130が、キャッシュ・コヒレンス・チェ
ックを必要とし、必要なキャッシュ・ラインからの外れ
または当たり書き戻しが発生するまで、CCCサブ段階
に残留する要求を発行する。CCCサブ段階は、一つの
要求分だけ深く、側帯波信号を通して、ホスト・インタ
ーフェースへの問い合わせサイクルを要求する。段階1
ロック(タグ付け)ブロック120は、要求バス上に表
示された読み出し−修正−書き込みアクセスとして要求
された、任意の読み出しアドレスにタグを付ける。この
位置への後続の任意の要求は、ロックするクライアント
から、ロックされた位置への、書き込むサイクルが発生
するまで、遅延され、段階1ロック遅延サブ段階128
に発行される。
【0091】段階1エラー・チェック・ブロック118
は、違法で、保護されていて(読み出しのみを含む)マ
ップされていないアドレスへの要求をチェックする。エ
ラー状態バス138は、違反しているクライアントに表
明されたエラー信号を供給する他に、ソフトウェア制御
下のエラー状態を読み出すために、レジスタ・ファイル
・ブロック134にマップされる。
【0092】前記例示としての実施形態の段階2は、二
つのメモリ・コントローラ132、すなわち、非同期コ
ントローラおよび同期コントローラを備える。このアプ
リケーション用の非同期コントローラは、EDO DR
AMを駆動し、一方、同期コントローラは、SDRAM
/SGRAMを駆動する。各コントローラは、二つのチ
ャネル、すなわち、性能を向上させるためにインターリ
ーブすることができるチャネルAと、チャネルBを持
つ。コントローラ132の出力は、多重化され、必要な
DRAM制御信号およびアドレスを駆動する。レディ・
アンド・ダン(ready and done)信号
が、アクティブ・クライアントと目標メモリ・コントロ
ーラとの間の、適当なクライアントへの、段階2要求バ
ス状態マルチプレクサ・ブロック126により多重化さ
れたデータを、ハンドシェークさせるために発生する。
このブロック126は、アイドルまたは待機中の要求を
持つ、クライアントへのレディ・アンド・ダン信号の表
明を解除する。
【0093】データ読み出しは、DRAMインターフェ
ース・データ・バスから、すべてのクライアントに直接
送られるが、この場合、各クライアントは、読み出した
データが何時有効であるかを表示するために、それ自身
の読み出しレディ・アンド・ダン信号を受信する。書き
込み可能な各クライアントは、それ自身のデータ書き込
みバスを持ち、アクティブなクライアントに基づいて、
データ・マルチプレクサ・ブロック124により多重化
され、アクティブなメモリ・コントローラにより制御さ
れる。ダンと一緒にメモリ・コントローラにより表明さ
れた書き込みレディ信号により書き込みが行われると
き、データ書き込みが送られる。
【0094】前記例示としての実施形態の場合には、す
べてのクライアントは、一つのメモリ資源にアクセス
し、この実行を統合されたメモリ・アーキテクチャ(U
MA)とする。このアーキテクチャに対する要求の場合
には、ビデオ入力110、ハードウェア・カーソル11
2およびビデオ走査バッファ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】この技法は、複数のクライアントが、(C
PU読み出しサイクルのように)待ち時間が余りにも長
すぎる場合には、性能に悪影響を与えるクライアント
と、同じ資源を共有している場合には、さらに有効なも
のになる。曲線は、エラーの発生を防止し、システム全
体の性能に影響を与える重要なクライアントに対して、
性能をできるかぎり最適化した状態で描かれる。
【0115】もっと多くのクライアント曲線が描かれる
と、前の優先順位曲線に基づいて、帯域幅を単に使いき
ってしまうケースを決定する際に、「what if」
シナリオが考慮され、シナリオ失敗を示す警告が出され
る。前記警告は、ビデオ・リフレッシュ・クライアント
に対する解像度およびピクセル深さに基づく、リアルタ
イムのYUVフレーム・グラバ・クライアントのフレー
ム速度による、アーキテクチャ調整を必要とする。前記
警告は、またリアルタイム・クライアントに対して計算
した曲線に基づくCPUの投影性能を報告する。
【0116】図4は、サンプル・プログラム入力ファイ
ルである。このファイルについては以下に説明する。図
4および図5は、それぞれ、ソフトウェア・ドライバに
よりロードされるレジスタの数値を決定するプログラム
と、そのプログラム結果を示す。これら数値は、各クラ
イアントに対する帯域幅および優先順位使用を決定する
ために、各クライアントにロードされる。このプログラ
ムのすべての権利は、それら数値により明白にリザーブ
される。
【0117】図4は、前記プログラムに対する例示とし
ての入力ファイルの概略である。前記入力ファイルは、
最初、行アドレス・ストローブ(RAS)に対する行ア
ドレス設定および保持、コラム・アドレス・ストローブ
(CAS)に対するコラム・アドレス設定および保持、
CASに対するRAS遅延、およびRASおよびCAS
両方からのアクセス時間に基づくバースト間の時間に影
響を与える、使用する目的DRAM技術について概略記
載している。
【0118】SDRAMは、RASの代わりに行の作
動、およびCAS発生の代わりに読み出しまたは書き込
みコマンドを中心とする、(EDOおよびBEDO D
RAMの場合のように)類似の考慮対象のタイミング・
パラメータを持つ。
【0119】他の考慮対象としては、最高速のバースト
速度(バースト・クロック)を定義するクロック入力が
ある。個々の各クライアント・エントリ(タスク)によ
るアクセスは、最悪の場合のリアルタイムクライアント
待ち時間要件に対する、行ページ・ミスとなる。最後
に、帯域幅および待ち時間測定の間隔が、メモリの使用
に対してすべてのクライアントが測定される時間の窓を
定義する。この例の場合、前記間隔は、水平走査周波数
であり、これはビデオ・リフレッシュ・クライアントに
とって重要な時間である。
【0120】目標のメモリおよびプロセッサ速度(クロ
ック)が指定されると、各クライアントは、自分が許容
できる、帯域幅使用および待ち時間に基づくエントリを
持つ。リアルタイム・クライアントは、失敗点クライア
ントとして分類される。何故なら、前記クライアントの
待ち時間許容範囲を超えると、ビデオ・スクリーン上の
ビットの脱落のようなミスが発生するからである。他の
クライアントは、ホスト読み出しポートのような性能感
知クライアントとして分類される。(このようなポート
は、読み出しアクセスが完了するまで、CPU遅延に基
づく性能に直接影響を与える。)第三の分類は、下位の
優先順位のクライアントに衝撃を与えない。このように
分類されるのは、これらクライアントが過度に長い待ち
時間を経験しても、システムへの性能に関する衝撃およ
び故障がより少ないからである。
【0121】あるクライアントにおいては、バーストの
長さは必ずしも固定されていないが、多くの場合、固定
されている。バーストの長さ、インターバル毎のバース
トの数および故障/性能衝撃点は、データ対クロック、
バッファ(FIFO)サイズおよびデータ経路幅により
影響を受ける、クライアントの帯域幅要件に直接関連す
る。各クライアントは、これら領域で変化する。
【0122】さらに、あるクライアントは、動作モード
に従って変化することができる。例えば、ビデオ・リフ
レッシュ・クライアントは、スクリーン解像度(水平x
垂直x垂直走査周波数)およびピクセル深さ(例えば、
8、16または24面)に基づく帯域幅および待ち時間
要件で変化する。前記スクリーン解像度は、フレーム・
バッファ・アクセスに対する増大または減少する要求に
よる、1インターバル毎に必要なバーストの数に直接影
響する。ビデオ・リフレッシュ・クライアントのFIF
Oサイズ、およびビデオ解像度、またはピクセルの深さ
も変化した場合には、一つのインターバル毎のバースト
の数はさらに影響を受ける。それ故、ドライバのレジス
タ数値決定の際に助けになるものは、ビデオ・リフレッ
シュ・クライアントによりサポートされている、各解像
度およびピクセル深さに対するデータ入力ファイルと一
緒に、このプログラムを実行する能力である。すべての
クライアントの順列を記述しているファイルを発生さ
せ、動作モードの選択に基づく結果を使用する、ソフト
ウェア・ドライバと一緒に実行することができる。
【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サブシステム、内蔵V
GAおよびグラフィックス・コントローラ、YUVビデ
オ入力ポート、ハードウェア・カーソル、およびビデオ
・フレーム・バッファ・リフレッシュ・サポートにイン
ターフェースを通して接続する、コア・ロジック装置で
あるPUMA(プロセッサ統合メモリ・アーキテクチ
ャ)と呼ばれるチップで実行される。
【0131】電子商用チップ開発を、現在のスマート・
カードおよびバリュー・チェッカー(登録商標)リーダ
の、個人データ補助(PDA)コンパニオンとしての組
み込みPCのコンセプトと結合するには、電子商用機能
を持つPUMAのような高度な集積チップ、およびX8
6またはRiscプロセッサを必要とする。前記チップ
は両方とも、外部メモリと一緒に同じボード上に有利に
装着されている。UMAは、グラフィックスおよび/ま
たはビデオ・ディスプレイを含む、高度の集積を目指す
有利な装置である。
【0132】本発明を例示としての実施形態を使用して
説明してきたが、本発明の範囲は前記実施形態により制
限されない。通常の当業者なら知っているように、前記
例示としての実施形態は、添付の特許請求の範囲に定義
する本発明の精神および範囲内で、種々に変更したり、
改良することができる。
【図面の簡単な説明】
【図1】本発明の優先順位スキームを実行するための、
設計のメモリ・コアのブロック図である。
【図2】図1の実施形態での、優先順位カウントと優先
順位域値および領域との関連を示す、優先順位グラフで
ある。
【図3】図2の優先順位曲線に従って実行した、一組の
先取りルールの概略である。
【図4】サンプル・プログラム入力ファイルである。
【図5】図4の前記入力ファイルに基づく、プログラム
計算の結果である。

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 複数の装置により、メモリのような共有
    資源アクセス・システムへのアクセスを制御する共有資
    源アクセス・システムであって、 記憶した変数に基づいて、資源アクセス要求への優先順
    位の数値をコード化する優先順位エンコーダと、 待ち状態の資源アクセス要求の優先順位の数値を解読、
    比較し、選出要求を決定する優先順位デコーダと、 待機中の資源アクセス要求に対する、共有資源の少なく
    とも一つのアドレスを解読するアドレス・デコーダと、 現在アクティブな資源アクセス要求と、優先順位デコー
    ダからの選出要求との間で調停し、出力を供給する調停
    装置と、 前記調停装置からの出力に基づいて、共有資源へのアク
    セスを制御する資源コントローラとを備え、 前記記憶変数が、基準優先順位の数値、待ち時間の数
    値、帯域幅の数値、および処理能力の数値の中の一つを
    含むシステム。
  2. 【請求項2】 請求項1記載の共有資源アクセス・シス
    テムにおいて、前記共有資源がメモリを備えるシステ
    ム。
  3. 【請求項3】 請求項1記載の共有資源アクセス・シス
    テムにおいて、共有資源にアクセスを要求する前記複数
    の装置が、ホスト・コア・インターフェース、グラフィ
    ックス・アクセラレータ、ビデオ・グラフィックス・ア
    レイ(VGA)コントローラ、ビデオ走査バッファ、ハ
    ードウェア・カーソル、YUVビデオ入力ポート、およ
    びペリフェラル・コンポーネント・インターコネクト
    (PCI)コア・インターフェースの中の少なくとも一
    つを含むシステム。
  4. 【請求項4】 請求項1記載の共有資源アクセス・シス
    テムにおいて、さらに、 違法資源アドレス、保護資源アドレス、およびマップさ
    れていない資源アドレスの中に少なくとも一つを含む、
    エラーに対するアクセス要求をチェックするエラー・チ
    ェッカーを含むシステム。
  5. 【請求項5】 請求項1記載の共有資源アクセス・シス
    テムにおいて、基準優先順位、待ち時間、帯域幅および
    処理能力の中の少なくとも一つを含む、前記変数を記憶
    するプログラム可能なレジスタ・ファイルを備えるシス
    テム。
  6. 【請求項6】 請求項1記載の共有資源アクセス・シス
    テムにおいて、さらに、 キャッシュ・コヒーレンシー・チェックを要求する要求
    を受信し、キャッシュ書き戻しとのミスまたはヒットが
    発生するまで、前記要求をその内部に保持する、調停装
    置のキャッシュ・コヒーレンシー・チェック・サブステ
    ージと、 読み出し修正書き込みタイプ要求およびそれに関連する
    アドレスである、任意の資源要求にタグをつける、調停
    装置のロック・タグ付けサブステージと、 それに関連する書き込みが発生するまで、読み出し修正
    書き込みタイプ要求に関連する資源アドレスへのアクセ
    スの任意の要求をそのままの状態に維持する調停装置の
    ロック状態維持サブステージを備えるシステム。
  7. 【請求項7】 請求項1記載の共有資源アクセス・シス
    テムにおいて、前記調停装置が、前記要求に関連するデ
    ータ、すなわち、 要求アドレス、 要求タイプ、バースト・サイズ、 バイト・マスク、 要求している装置識別子、およびRASチャネル解読信
    号の中の少なくとも一つを含むデータをラッチするシス
    テム。
  8. 【請求項8】 請求項1記載の共有資源アクセス・シス
    テムにおいて、前記アドレス・デコーダが、RASチャ
    ネル・デコーダを備えるシステム。
  9. 【請求項9】 請求項1記載の共有資源アクセス・シス
    テムにおいて、さらに、 メモリ・コントローラから、前記装置の中の対応するも
    のに信号を送る要求状態マルチプレクサと、 複数のアクセス装置の対応する装置から、共有資源に、
    データを送るデータ・マルチプレクサとを備えるシステ
    ム。
  10. 【請求項10】 複数の装置により、メモリのような共
    有資源へのアクセスを制御するための共有資源アクセス
    方法であって、 装置資源要件の決定に基づいて、アクセス優先順位を確
    立するステップと、 前記確立したアクセス優先順位に基づいて、共有資源に
    アクセスを許可するステップとからなり、装置資源要件
    が、基準優先順位、待ち時間、帯域幅および処理能力の
    中の少なくとも一つを含む方法。
  11. 【請求項11】 請求項10記載の方法において、前記
    装置資源要件を記憶するステップと、 変化する状態に基づいて、前記記憶した資源要件を動的
    に変化するステップとからなる方法。
  12. 【請求項12】 請求項11記載の方法において、前記
    複数の装置の一つが、動的に変化することができる資源
    要件として、ビデオ解像度を持つビデオ装置である方
    法。
  13. 【請求項13】 請求項11記載の方法において、前記
    複数の装置の中の一つが、動的に変化することができる
    資源要件として、SCSI装置速度を持つペリフェラル
    ・コンポーネント・インターコネクト(PCI)である
    方法。
  14. 【請求項14】 請求項10記載の方法において、さら
    に、 予め定めた組の先取り規則に基づいて、共有資源への現
    在のアクセスの先取りを含む方法。
  15. 【請求項15】 請求項14記載の方法において、前記
    装置の中の少なくとも一つが、リアルタイム装置であ
    り、前記リアルタイム装置の中の少なくとも一つが、よ
    り低い優先順位の現在のアクセスを先取りすることによ
    り、共有資源へのアクセス優先順位を入手する方法。
  16. 【請求項16】 請求項10記載の方法において、さら
    に、 システムの性能に基づいて、装置資源要件を動的に変化
    させるステップを含み、 システム性能が装置待ち時間を含み、 それによりアクセス優先順位が動的に変化する方法。
  17. 【請求項17】 請求項10記載の方法において、さら
    に、 前記複数の各装置に対して優先順位曲線を確立するステ
    ップを含み、 優先順位曲線が、待ち時間の変化に対する優先順位カウ
    ントの変化を表す方法。
  18. 【請求項18】 請求項17記載の方法において、各装
    置に対する優先順位曲線が、第一の優先順位領域、第二
    の優先順位領域、および第三の優先順位領域を含み、第
    一、第二および第三の優先順位領域それぞれが、待ち時
    間に対する優先順位カウントのそれぞれの変化速度を持
    ち、第一の優先順位領域において、ある装置が他の装置
    による先取りを許すが、他の装置の先取りと要求せず、 第二の優先順位領域において、ある装置が他の装置によ
    る先取りを許し、また他の装置の先取りを要求し、 第三の優先順位領域において、ある装置が他の装置の先
    取りを要求するが、他の装置による先取りを許さない方
    法。
  19. 【請求項19】 請求項18記載の方法において、さら
    に、 性能カテゴリーで装置を分類するステップを含み、 前記性能カテゴリーが、 ある待ち時間許容範囲を超えた場合に、故障が発生する
    故障点タイプの装置と、 待ち時間許容範囲を超えた場合に、性能が悪影響を受け
    る性能感受タイプの装置と、 その待ち時間が過度に長い場合に、性能の低下がより少
    ない、下位優先順位に悪影響を与えないタイプの装置と
    を含む方法。
  20. 【請求項20】 請求項19記載の方法において、優先
    順位が、最初、故障点タイプの装置に対する優先順位曲
    線を計算し、その後、残りの帯域幅を考慮して、性能感
    受タイプの装置に対する優先順位曲線を計算し、その
    後、残りの帯域幅を考慮して、下位優先順位に影響を与
    えないタイプの装置に対する、優先順位曲線を計算する
    ことにより、性能カテゴリーに基づいて決定される方
    法。
JP25766698A 1997-08-28 1998-08-28 メモリアーキテクチャーのための優先符号化及び復号化 Expired - Fee Related JP3699833B2 (ja)

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 true JPH11191075A (ja) 1999-07-13
JP3699833B2 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)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189629A (ja) * 2000-08-23 2002-07-05 Nintendo Co Ltd 機能拡張型メモリコントローラを備えるグラフィックス処理システム
WO2003100625A1 (en) * 2000-07-26 2003-12-04 Index Systems, Inc. Memory controller and interface
JP2007510229A (ja) * 2003-10-31 2007-04-19 ソニックス・インコーポレーテッド サービス品質モデルを確立するための方法と装置
JP2009543183A (ja) * 2006-06-27 2009-12-03 トムソン ライセンシング 調停を実行する方法及び装置
WO2009147744A1 (ja) * 2008-06-06 2009-12-10 三菱電機株式会社 バス調停装置
JP2011065649A (ja) * 2009-09-15 2011-03-31 Arm Ltd トランザクションの優先レベルを設定するデータ処理装置および方法
JP2012164344A (ja) * 2000-08-23 2012-08-30 Nintendo Co Ltd 共有リソースへのアクセス方法及び装置
US8868397B2 (en) 2006-11-20 2014-10-21 Sonics, Inc. Transaction co-validation across abstraction layers
US9087036B1 (en) 2004-08-12 2015-07-21 Sonics, Inc. Methods and apparatuses for time annotated transaction level modeling
JP2020129205A (ja) * 2019-02-07 2020-08-27 キヤノン株式会社 制御装置および制御方法

Families Citing this family (130)

* Cited by examiner, † Cited by third party
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
WO2000028518A2 (en) 1998-11-09 2000-05-18 Broadcom Corporation Graphics display system
US7982740B2 (en) 1998-11-09 2011-07-19 Broadcom Corporation Low resolution graphics mode support using window descriptors
US6661422B1 (en) 1998-11-09 2003-12-09 Broadcom Corporation Video and graphics system with MPEG specific data transfer commands
US6573905B1 (en) 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
US6798420B1 (en) 1998-11-09 2004-09-28 Broadcom Corporation Video and graphics system with a single-port RAM
US6853385B1 (en) 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
US6768774B1 (en) 1998-11-09 2004-07-27 Broadcom Corporation Video and graphics system with video scaling
US7446774B1 (en) 1998-11-09 2008-11-04 Broadcom Corporation Video and graphics system with an integrated system bridge controller
US7916795B2 (en) * 1998-11-09 2011-03-29 Broadcom Corporation Method and system for vertical filtering using window descriptors
US6636222B1 (en) 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
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
GB2385174B (en) * 1999-01-19 2003-11-26 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
FR2797971A1 (fr) * 1999-08-31 2001-03-02 Koninkl Philips Electronics Nv Acces a une ressource collective
US6330647B1 (en) * 1999-08-31 2001-12-11 Micron Technology, Inc. Memory bandwidth allocation based on access count priority scheme
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
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
US6538656B1 (en) 1999-11-09 2003-03-25 Broadcom Corporation Video and graphics system with a data 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
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
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
US7849172B2 (en) * 2002-03-01 2010-12-07 Broadcom Corporation Method of analyzing non-preemptive DRAM transactions in real-time unified memory architectures
US7080177B2 (en) * 2002-03-01 2006-07-18 Broadcom Corporation System and method for arbitrating clients in a hierarchical real-time DRAM system
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
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
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
US7373522B2 (en) * 2003-05-09 2008-05-13 Stmicroelectronics, Inc. Smart card with enhanced security features and related system, integrated circuit, and 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
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
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
US7606960B2 (en) * 2004-03-26 2009-10-20 Intel Corporation Apparatus for adjusting a clock frequency of a variable speed bus
US7281148B2 (en) * 2004-03-26 2007-10-09 Intel Corporation Power managed busses and arbitration
US7486688B2 (en) * 2004-03-29 2009-02-03 Conexant Systems, Inc. Compact packet switching node storage architecture employing Double Data Rate Synchronous Dynamic RAM
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
US8234421B2 (en) * 2004-04-21 2012-07-31 Stmicroelectronics, Inc. Smart card with selectively allocatable data buffers and associated 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
US8284322B2 (en) * 2006-04-18 2012-10-09 Marvell World Trade Ltd. Shared memory multi video channel display apparatus and methods
US8264610B2 (en) * 2006-04-18 2012-09-11 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 情報処理装置および方法、並びにプログラム
EP2045762B1 (en) * 2006-07-26 2011-11-02 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
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
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 アクセス制御回路
PL2256158T3 (pl) 2009-05-26 2014-09-30 Borealis Ag Kompozycja polimerowa do usieciowanych wyrobów
EP2256159A1 (en) 2009-05-26 2010-12-01 Borealis AG Polymer composition for crosslinked pipes
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
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
US8516039B2 (en) * 2010-10-01 2013-08-20 At&T Intellectual Property I, L.P. Apparatus and method for managing mobile device servers
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
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
TWI587693B (zh) 2011-06-30 2017-06-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

Family Cites Families (36)

* Cited by examiner, † Cited by third party
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

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003100625A1 (en) * 2000-07-26 2003-12-04 Index Systems, Inc. Memory controller and interface
JP2012089158A (ja) * 2000-08-23 2012-05-10 Nintendo Co Ltd 機能拡張型メモリコントローラを備えるグラフィックス処理システム
JP2002189629A (ja) * 2000-08-23 2002-07-05 Nintendo Co Ltd 機能拡張型メモリコントローラを備えるグラフィックス処理システム
JP2012164344A (ja) * 2000-08-23 2012-08-30 Nintendo Co Ltd 共有リソースへのアクセス方法及び装置
JP2007510229A (ja) * 2003-10-31 2007-04-19 ソニックス・インコーポレーテッド サービス品質モデルを確立するための方法と装置
US9087036B1 (en) 2004-08-12 2015-07-21 Sonics, Inc. Methods and apparatuses for time annotated transaction level modeling
JP2009543183A (ja) * 2006-06-27 2009-12-03 トムソン ライセンシング 調停を実行する方法及び装置
US8868397B2 (en) 2006-11-20 2014-10-21 Sonics, Inc. Transaction co-validation across abstraction layers
JP5106630B2 (ja) * 2008-06-06 2012-12-26 三菱電機株式会社 バス調停装置
WO2009147744A1 (ja) * 2008-06-06 2009-12-10 三菱電機株式会社 バス調停装置
JP2011065649A (ja) * 2009-09-15 2011-03-31 Arm Ltd トランザクションの優先レベルを設定するデータ処理装置および方法
JP2015187874A (ja) * 2009-09-15 2015-10-29 アーム・リミテッド トランザクションの優先レベルを設定するデータ処理装置および方法
US9201816B2 (en) 2009-09-15 2015-12-01 Arm Limited Data processing apparatus and a method for setting priority levels for transactions
JP2020129205A (ja) * 2019-02-07 2020-08-27 キヤノン株式会社 制御装置および制御方法

Also Published As

Publication number Publication date
US6006303A (en) 1999-12-21
JP3699833B2 (ja) 2005-09-28

Similar Documents

Publication Publication Date Title
JP3699833B2 (ja) メモリアーキテクチャーのための優先符号化及び復号化
US8407432B2 (en) Cache coherency sequencing implementation and adaptive LLC access priority control for CMP
US6151651A (en) Communication link with isochronous and asynchronous priority modes coupling bridge circuits in a computer system
CA2051222C (en) Consistent packet switched memory bus for shared memory multiprocessors
US6272579B1 (en) Microprocessor architecture capable of supporting multiple heterogeneous processors
KR100422781B1 (ko) 통합 메모리 아키텍처에서 중재하기 위한 방법 및 장치
US6519666B1 (en) Arbitration scheme for optimal performance
EP0581335B1 (en) Data processing system having units competing for access to shared resources and arbitration unit responsive to the status of the shared resources
US7693053B2 (en) Methods and apparatus for dynamic redistribution of tokens in a multi-processor system
US6148357A (en) Integrated CPU and memory controller utilizing a communication link having isochronous and asynchronous priority modes
US5758166A (en) Method and apparatus for selectively receiving write data within a write buffer of a host bridge
KR100296718B1 (ko) 다중프로세서 시스템에서 가변폭 버스를 동시에 액세스하기 위한 방법 및 시스템
JPH071495B2 (ja) データ処理システム
JP3519182B2 (ja) 情報処理システムおよびバスアービタならびにバス制御方法
US7617344B2 (en) Methods and apparatus for controlling access to resources in an information processing system
GB2263349A (en) Virtual memory data transfer using virtual-address/data lines and deadlock prevention
KR20010085709A (ko) 공유 버스상에서의 등시성 트랜잭션 및 비동기 트랜잭션의스케줄링을 위한 우선 순위 매커니즘
US6212589B1 (en) System resource arbitration mechanism for a host bridge
US7035277B1 (en) Priority-based arbitration system for context switching applications
JPH0728758A (ja) ダイナミックタイムループ調停及び装置
US5894562A (en) Method and apparatus for controlling bus arbitration in a data processing system
JPH06161952A (ja) アクセス要求仲裁装置
US7080174B1 (en) System and method for managing input/output requests using a fairness throttle
US6199132B1 (en) Communication link with isochronous and asynchronous priority modes
US6442632B1 (en) System resource arbitration mechanism for a host bridge

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