JP2003196226A - コンピュータ・システム・コンポーネント - Google Patents

コンピュータ・システム・コンポーネント

Info

Publication number
JP2003196226A
JP2003196226A JP2002339808A JP2002339808A JP2003196226A JP 2003196226 A JP2003196226 A JP 2003196226A JP 2002339808 A JP2002339808 A JP 2002339808A JP 2002339808 A JP2002339808 A JP 2002339808A JP 2003196226 A JP2003196226 A JP 2003196226A
Authority
JP
Japan
Prior art keywords
computer system
dma
bus
data
interface
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.)
Pending
Application number
JP2002339808A
Other languages
English (en)
Inventor
David Kent
デイヴィッド・ケント
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2003196226A publication Critical patent/JP2003196226A/ja
Pending 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】 バスが相対的に低速のデバイスと一緒に利用
される場合には、両方が単一転送モードの転送をサポー
トしなければならないか、または、低速デバイスが、バ
ーストを構築または分解するための固有の手段を設けな
ければならない。 【解決手段】 コンピュータ・システム・コンポーネン
ト(12)が、バースト転送モードで動作可能なバス
(8,9,20)と、単一の転送モード・バス(21)
とをブリッジするためにバーストモード・データ転送プ
ロキシとして機能する。それぞれのDMAチャンネルに
関連づけられたFIFO(61)は、単一の転送モード
・バス(21)上でサブシステムのためにバーストをア
センブルし、かつ、ディスアセンブルするための共用領
域を提供する。また、コンポーネント(12)はDMA
機能を実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ・シ
ステム・コンポーネントに関する。
【0002】
【従来の技術】システムまたはローカルバスを、並列な
高速バスおよび低速バスに分岐することが提案されてい
る。これにより、高速バスの実際の速度が、それにアク
セスする低速デバイスによって低下されるのを防止する
利点を有する。さらに、システムおよび高速バスは、典
型的に、バーストモードのデータ転送をサポートしてい
る。
【0003】
【発明が解決しようとする課題】このようなバスが相対
的に低速のデバイスと一緒に利用される場合には、両方
が単一転送モードの転送をサポートしなければならない
か、または、低速デバイスがバーストを構築または分解
するための固有の手段を設けなければならない。
【0004】本発明の目的は、これらの問題を改善する
ことにある。
【0005】
【課題を解決するための手段】本発明によるコンピュー
タ・システム・コンポーネントは、バーストモードで動
作可能なバスと単一の転送モード・バスとをブリッジす
るためのバーストモード・データ転送プロキシになるこ
とを特徴する。従って、コンピュータ・システム・コン
ポーネントは、バーストモード・バス上のデバイスから
のデータ転送に関して、単一の転送モード・バス上のデ
バイスのためにプロキシとして存在する。これにより、
このモードが、単一の転送モード・バス上で受信するデ
バイスによってサポートされない時でさえも、バースト
モード・バス上のデバイスはバーストモードを使用可能
となる。
【0006】好適には、本発明によるコンピュータ・シ
ステム・コンポーネントは、遠隔からプログラム可能な
制御レジスタ手段と、バーストモード・バスと単一の転
送モード・バスとの間でデータ転送をバッファリングす
るための複数のバッファ(たとえば、ランダム・アクセ
ス・メモリ内で実施されるFIFO)と、前記制御レジ
スタ手段内の制御データに依存して動作可能であり、前
記バッファを第1バーストモード・バスにインタフェー
スで連結するための第1バーストモード・バス・インタ
フェースと、前記制御レジスタ手段内の制御データに依
存して動作可能であり、前記バッファを単一の転送モー
ド・バスにインタフェースで連結するための単一の転送
モード・バス・インタフェースとを備えている。
【0007】バッファとは、単一の転送モード・バス上
のデバイスが、その固有のバッファリングをデータ・バ
ーストに提供する必要のないことを意味する。
【0008】更に好適には、本発明によるコンピュータ
・システム・コンポーネントはまた、前記制御レジスタ
手段内の制御データに依存して動作可能であり、前記バ
ッファを第2バーストモード・バスにインタフェースで
連結するための第2バーストモード・バス・インタフェ
ースを有している。
【0009】好適には、バッファを形成するランダム・
アクセス・メモリは、デュアルポート・ランダム・アク
セス・メモリであり、第1バーストモード・バス・イン
タフェースと単一の転送モード・インタフェースとはラ
ンダム・アクセス・メモリの一方のポートを共用し、第
2バーストモード・バス・インタフェースはランダム・
アクセス・メモリの他方のポートを使用している。更に
好適には、ランダム・アクセス・メモリ内の前記FIF
Oの位置およびサイズが、前記制御レジスタ手段内のデ
ータによって規定される。従って、FIFOは再構成可
能であり、状況の変化に伴って適合化可能である。
【0010】好適には、第1バーストモード・バス・イ
ンタフェースは、前記制御レジスタ手段により、遠隔デ
バイスが、前記バッファの1つを形成するセルに、デー
タのバーストを直接書き込み可能なように構成されてい
る。
【0011】好適には、第1バーストモード・バス・イ
ンタフェースは、前記制御レジスタ手段により、遠隔デ
バイスが、前記バッファの1つを形成するセルからデー
タのバーストを直接読み出し可能なように構成されてい
る。
【0012】好適には、バーストモード・バス・インタ
フェースは、前記制御レジスタ手段により、前記バッフ
ァの1つからデータのバーストを読み出し、それを、バ
ーストモード・バスを介して遠隔アドレスに書き込み可
能なように構成され、遠隔アドレスとバッファとは前記
制御レジスタ手段内のデータによって決定される。
【0013】好適には、バーストモード・バス・インタ
フェースは、前記制御レジスタ手段により、バーストモ
ード・バスを介して遠隔アドレスからデータのバースト
を読み出し、それを前記バッファの1つに書き込むよう
に構成され、遠隔アドレスとバッファとが前記制御レジ
スタ手段内のデータによって決定される。
【0014】好適には、単一の転送モード・バス・イン
タフェースは、FIFOのヘッドからデータを読み出
し、それを遠隔アドレスに書き込むために構成され、F
IFOによって識別されて、単一の転送モード・バスを
介して前記制御レジスタ手段により提供されたマッピン
グをアドレスマップ指定する。
【0015】好適には、本発明によるコンピュータ・シ
ステム・コンポーネントは、ダイレクト・メモリ・アク
セスリクエスト信号に応答するダイレクト・メモリ・ア
クセス制御手段を有し、単一の転送モード・バス・イン
タフェースは、ダイレクト・メモリ・アクセス手段によ
って受信されたダイレクト・メモリ・アクセスリクエス
ト信号に応答して動作可能であり、遠隔アドレスから単
一の転送モード・バスを介して前記FIFOの1つにデ
ータを転送する。更に好適には、制御レジスタ手段はプ
ログラム可能であり、FIFOがダイレクト・メモリ・
アクセスリクエスト信号のソースに依存して選択される
ようにする。
【0016】好適には、本発明によるコンピュータ・シ
ステム・コンポーネントは、ダイレクト・メモリ・アク
セスリクエスト信号に応答するダイレクト・メモリ・ア
クセス制御手段を有し、単一の転送モード・バス・イン
タフェースは、ダイレクト・メモリ・アクセス制御手段
によって受信されたダイレクト・メモリ・アクセスリク
エスト信号に応答して動作可能であり、単一転送モード
・バスを介して前記FIFOの1つから遠隔アドレスに
データを転送する。更に好適には、制御レジスタ手段は
プログラム可能であり、FIFOがダイレクト・メモリ
・アクセスリクエスト信号のソースに依存して選択され
るようにする。
【0017】好適には、第1バーストモード・バス・イ
ンタフェースと単一の転送モード・バス・インタフェー
スとは、第1バーストモード・バス・インタフェースに
接続されたバーストモード・バスと単一の転送モード・
バス・インタフェースに接続された単一の転送モード・
バスとの間で、単一の転送モード転送のためにFIFO
をバイパスする。更に好適には、第1バーストモード・
バス・インタフェースは、関連されるアドレス信号によ
り、バーストモード転送から前記単一の転送モード転送
を識別する。また更に好適には、単一の転送モード・イ
ンタフェースは、第1バーストモード・バス・インタフ
ェースに接続されたバーストモード・バスから、単一の
転送モード転送のために接続された単一のモード転送・
インタフェースへのアクセスを制限するように構成され
ている。また更に好適には、単一転送モード・インタフ
ェースは、あるクロックの各サイクルに対して前記制御
レジスタ手段の所定の1つの中で、ある値までカウンタ
を増大させ、その増大させる間に、単一の転送モード転
送が起こり、FIFOをバイパスし、カウントが、前記
制御レジスタ手段の所定の1つの中で規定されるしきい
値に達した時に、前記単一の転送モード・バスへのアク
セスを防止し、そのような信号転送モード転送が起こら
ない時に、カウントが前記クロックの各サイクルに対し
て1まで減少させられる。
【0018】本発明によれば、コンピュータ装置内で使
用するための周辺回路が提供され、その回路は、遠隔か
らプログラム可能な制御レジスタ手段と、バーストモー
ド・バスと単一の転送モード・バスとの間でデータ転送
をバッファリングするための複数のバッファ(たとえ
ば、ランダム・アクセス・メモリ内で実施されるFIF
O)と、前記制御レジスタ手段内の制御データに依存し
て動作可能であり、前記バッファを第1バーストモード
・バスにインタフェースで連結するための第1バースト
モード・バス・インタフェースと、前記制御レジスタ手
段内の制御データに依存して動作可能であり、前記バッ
ファを単一の転送モード・バスにインタフェースで連結
するための単一の転送モード・バス・インタフェースと
を備えた本発明によるコンピュータ・システム・コンポ
ーネントと、コンピュータ・システム・コンポーネント
の第2バーストモード・バス・インタフェースに接続さ
れた第1バーストモード・バスと、コンピュータ・シス
テム・コンポーネントの単一の転送モード・バス・イン
タフェースに接続された単一の転送モード・バスと、前
記周辺回路を第2バーストモード・バスにインタフェー
スで連結するためのインタフェース回路とを備え、イン
タフェース回路を介してデータ転送に関連づけられたア
ドレスに依存して、第1バーストモード・バス、また
は、コンピュータ・システム・コンポーネントの第1バ
ーストモード・バス・インタフェースを第2バーストモ
ード・バスに有効的に接続する。
【0019】好適には、本発明による周辺回路は、第1
バーストモード・バスを介してアクセス可能なSDRA
M、および/または、信号データの転送用に第1バース
トモード・バスへの直接アクセスと、制御データの転送
用に単一の転送モード・バスへの直接アクセスとを有す
るサブシステム、および/または、信号データと制御デ
ータとの転送用に単一の転送モード・バスへの直接アク
セスを有するサブシステムを有する。
【0020】コンピュータ・システムは、中央処理装置
と、中央処理装置にアクセス可能なバーストモード・バ
スと、本発明による周辺回路とを有するものであって、
前記インタフェース回路が、前記第1バーストモード・
バスと前記コンピュータ・システム・コンポーネントと
に、中央処理装置にアクセス可能な前記バーストモード
・バスをインタフェースで連結する。
【0021】次に、添付の図面を参照して、本発明の実
施形態を例示的に説明する。
【0022】
【発明の実施の形態】図1を参照すると、第1コンピュ
ータ・システムは、特に、中央処理装置2とPCIブリ
ッジ4とを備えたHitachi製のSH41、システムRA
M3、グラフィックス/IOシステム5、液晶ディスプ
レイ(LCD)パネル6、および、UMA SDRAM
7から成る。中央処理装置2、システムRAM3、およ
び、PCIブリッジ4とは、システムバス8によって相
互に接続されている。PCIブリッジ4はシステムバス
8をPCIバス9に接続し、そのPCIバス9にはグラ
フィックス/IOシステム5が接続されている。グラフ
ィックス/IOシステム5は、LCDパネル6を駆動す
るためのデジタル・ビデオ出力と、UMA SDRAM
7へのアクセスとを有している。グラフィックス/IO
システム5は、多数の入力および出力ポートを有してい
る。
【0023】図2を参照すると、第2コンピュータは、
特に、中央処理装置2を備えたHitachi製のSH41、
システムRAM3、グラフィックス/IOシステム5、
液晶ディスプレイ(LCD)パネル6、および、UMA
SDRAM7から成る。中央処理装置2、システムR
AM3、および、グラフィックス/IOシステム5は、
Hitachi製のMPXバス8によって接続されている。グ
ラフィックス/IOシステム5は、多数の入力および出
力ポートを有している。
【0024】図3を参照すると、上述の両コンピュータ
・システムにおいて使用されるグラフィックス/IOシ
ステム5は、PCI/MPXインタフェース11、ダイ
レクト・メモリ・アクセス・コントローラ12、メモリ
・インタフェース13、グラフィックス・エンジン1
4、ビデオ入力インタフェース15、デジタル・フラッ
ト・パネル・インタフェース16、ATAPIインタフ
ェース17、および、第1番目から第21番目までのI
Oサブシステム31,・・・,51から成る。32ビッ
トの同期的かつ高速(99MHz/100MHz)のバ
ーストモード・バス(「ピクセルバス」)20は、PC
I/MPXインタフェース11、ダイレクト・メモリ・
アクセス・コントローラ12、グラフィックス・エンジ
ン14、ビデオ入力インタフェース15、デジタル・フ
ラット・パネル・インタフェース16、ATAPIイン
タフェース17、および、第17番目と第18番目のI
Oサブシステム47、48を互いに接続している。パワ
ーコントロールおよびコンフィギュレーション・サブシ
ステム52は、グラフィックス/IOシステム5のオペ
レーションを制御するレジスタを有している。
【0025】バーストモードで動作しない同期的かつよ
り低速(外部バスがPCIバスであるかMPXバスであ
るかに依存して33MHzまたは50MHz)な32ビ
ットバス21(「レジスタバス」)は、ダイレクト・メ
モリ・アクセス・コントローラ12、グラフィックス・
エンジン14、ビデオ入力インタフェース15、デジタ
ル・フラット・パネル・インタフェース16、ATAP
Iインタフェース17、および、IOサブシステム3
1,・・・,51を相互に接続している。
【0026】ピクセルバス20は、主としてビデオ・デ
ータであるが音声およびプログラム・データでもあるデ
ータのブロックをUMA SDRAM7へ、および、U
MASDRAM7から高速で転送するために使用され
る。これに対して、レジスタバス21は、単一ワード、
または、ワードのスロー・シーケンスから成るデータを
転送するために使用される。例えば、IOサブシステム
31,・・・,51のうちの1つに向けて、単一ワード
から成る制御信号は、レジスタバス21を介して送られ
る。同様に、シリアル・インタフェースからのスロー・
イメージ・データも、それぞれのデータ転送オペレーシ
ョン内でワードの連続として、レジスタバス21を介し
て送られる。
【0027】ピクセルバス20に接続されたサブシステ
ムは、データ転送用のDMA(「ダイレクト・メモリ・
アクセス」)アドレスを担い、かつデータ・バーストを
組立および分解するための固有の内部FIFOを保持し
ている。
【0028】ピクセルバス20は、先行コマンドが実行
される前に、個々のコマンドおよび転送位相によってコ
マンドが送信されるのを可能とする状態で動作する。ピ
クセルバス20は、2つの転送のためのバスを同時に使
用可能にする別個の書き込みバスおよび読み出しバスを
備えている。ピクセルバス20は、特定の実行において
どちらがグラフィックス/IOシステム5を扱うとして
も、PCIバス9またはMPXバス8と同期され、アー
ビトレーションがデータ転送と並列に実行される。ピク
セルバス20に接続されたサブシステム12,13,1
4,15,16,17,47,48はそれぞれバスマス
ターとして作用することもある。
【0029】ピクセルバス20へのアクセスは、従来の
アービタ53によって制御される。アービトレーション
・アルゴリズムは、固定およびラウンドロビン・アービ
トレーションを組合せて、たとえばビデオ入力インタフ
ェース15用のリアルタイム・アクセスと、たとえばグ
ラフィックス・エンジン14用の非リアルタイム・アク
セスとの両方を考慮する。
【0030】レジスタバス21は、1回の読み出しまた
は書き込みを行うのに2つのクロックサイクルを必要と
し、第1クロックサイクルはアドレス位相であり、第2
クロックサイクルはデータ位相である。レジスタバス2
1は、どちらがグラフィックス/IOシステム5を扱う
にしても、PCIバス9またはMPXバス8に同期さ
れ、アービトレーションは転送と並列して行われる。ダ
イレクト・メモリ・アクセス・コントローラ12はつね
にレジスタバス21用のバスマスターである。
【0031】グラフィックス・エンジン14は、ピクセ
ルバス20の速度に依存して99MHzまたは100M
Hzで動作し、そして、ソース・エリアとデスティネー
ションエリアとの論理結合を可能にすると、グラフィッ
クス・エンジン14は、BitBLT(ソース+デステ
ィネーション⇒デスティネーション)を実行できる。他
のサポートされる機能は: (i) カラー展開に対するアルファ値であり、4bpp
(「1ピクセル当たりのビット数」)輝度値として記述
された画像が、合成ピクセルが前景カラーの一部である
カラー画像と、割合が4ビットのアルファ値によって規
定された背景画像とに変換されるもの、(ii) カラー展
開に対するバイナリ値であり、1bppの画像が、カラ
ーが前景および背景カラーにより供給されたカラー画像
に変換されるもの、(iii) 事前および事後クリッピング
であり、クリッピング・ウィンドウの完全に外側に存在
するラインが除去され、次いで、クリッピング・ウィン
ドウの外側に部分的に存在するラインが除去されるも
の、(iv)ブレセナム・ラインの線引きであり、(v) ラス
ター操作であり、(vi)ソース画像のコピーでデスティネ
ーションをタイリングすることによってパターニング
し、(vii) 線形アドレッシングし、(viii) 8/16b
ppであり、(ix)アルファ・ブレンディングの16レベ
ルを使用するアンチエリアシング・フォントであり、
(x) ローテーションであり、および、(xi)ズーミングで
ある。
【0032】ビデオ入力インタフェース15は、27M
Hzで動作するITU−R BT.656インタフェー
スを有し、4:2:2のYCrCbからRGBの5:
6:5へカラー・スペース変換およびディザリングをサ
ポートしている。ビデオ入力インタフェースは、奇数フ
ィールド、偶数フィールド、または、両フィールドを捕
捉でき、両フィールドを単一フレーム内で処理できる。
サブピクセル補間回路は解像度スケーリング用に設けら
れている。9タップ式水平プログラム可能デシメーショ
ン・フィルタと、3のファクタでスケールアップまたは
スケールダウンするための2タップ式垂直補間回路とが
設けられている。さらに、三重フレームが、フレーム速
度変換用にサポートされている。
【0033】デジタル・フラット・パネル・インタフェ
ース16は、両方とも背景平面上で付加的なピクチャ−
イン−ピクチャを備えた8/16bppであるデュアル
平面をサポートする18ビットのRGBインタフェース
である。前景平面および背景平面はアルファ・ブレンド
可能であり、クロマ・キーイングは実行可能である。デ
ュアル64×64のハードウェアカーソルが設けられて
いる。バック平面はスクロールされ得る。すなわち、バ
ック平面キャンバスはバック平面の可視領域より大き
く、ワードラップされている。自動ダブル/トリプル・
バッファリング交換がビデオ/グラフィックス平面用に
供給されている。854×480ピクセルまでのディス
プレイはサポートされ、リフレッシュ速度はプログラム
可能である。また、VSYNCH、HSYNCH、およ
び、ディスプレイのイネーブル信号も出力される。
【0034】メモリ・インタフェース13は、低減され
たプレチャージおよび起動遅延のためのマルチバンク起
動と、オーバーラッピングSDRAMコマンド・アクセ
スとを有している。しかしながら、これはイネーブルさ
れず、帯域幅を犠牲にして待ち時間を改善できる。SD
RAMの128メガバイトまでがサポートされ、メモリ
・インタフェースはピクセルバスと同期して動作する。
【0035】ATAPIインタフェース17は、一次チ
ャンネルと、マスター/スレーブサポートとを有してい
る。I/Oインタフェースは3.3Vで動作し、IOモ
ード0−4、マルチワードDMAモード0−2、およ
び、ウルトラDMAモード0−2がサポートされる。
【0036】第1番目のサブシステム31は、パワーコ
ントロールおよびコンフィギュレーション・サブシステ
ム52内にコントロールレジスタを設定することにより
構成されて、一方で2つの割込み、2つのパルス幅変調
器、2つのHitachi製のシリアルプロトコル・インタフ
ェース、および、1つの汎用プログラム可能IOポート
と、他方でAVLINKインタフェースとを提供でき
る。割込み入力は、エッジまたはレベルを検出すること
によって、中央割込みコントローラへの信号割込みに、
入力信号を変換する。2つのパルス幅変調器は、PCI
バスを使って30ナノ秒とMPXバス用に20ナノ秒と
から2分まで、サイクル時間を与えるプログラム可能な
ソースクロック周波数を有している。また、高い値と持
続時間(8ビット)ともプログラム可能である。
【0037】AVLINKインタフェースは、可変長の
パケットに編成されたデジタルオーディオ/ビデオデー
タを、適正なオーディオ/ビデオデコーダに送ることが
できる。各パケットの開始がオーディオ/ビデオデコー
ダに信号送信可能になり、エラーのパケットも識別可能
になる。オーディオ/ビデオデコーダは、モジュールに
入力されたデータリクエストによってデータが送られる
速度を制御できる。
【0038】第2番目および第3番目のサブシステム3
2,33は、パワーコントロールおよびコンフィギュレ
ーション・サブシステム52内にコントロールレジスタ
を設定することによって構成されて、一方で汎用プログ
ラム可能IOポートと、他方で上述されたパルス幅変調
器とを提供できる。
【0039】第4番目のサブシステム34は、パワーコ
ントロールおよびコンフィギュレーション・サブシステ
ム52内にコントロールレジスタを設定することにより
構成されて、一方で3つの割込みと、他方でHitachi製
のシリアルプロトコル・インタフェースとを提供でき
る。Hitachi製のシリアルプロトコル・インタフェース
は、マスターモードまたはスレーブモードの何れかで動
作するように構成可能であり、プログラム可能なデータ
速度を有している。
【0040】第5番目のサブシステム35は、YUVま
たはDELTA YUV形式の入力ビデオ信号を取り込
み可能であり、RGB(R:5ビット、G:6ビット、
B:5ビット)信号として出力されるカラー・スペース
変換器である。この機能は、DMA転送データまたはビ
デオデータを使って、使用され得るだけである。
【0041】第6番目のサブシステム36は、パワーコ
ントロールおよびコンフィギュレーション・サブシステ
ム52内のコントロールレジスタを設定することにより
構成されて、一方でOS8104インタフェースと、他
方で拡張バス・インタフェースとを提供できる。それ
は、MOSTまたはSRAMタイプのインタフェース
と、OS8104モードに対しての非監視ハードウェア
・フロー制御とのために構成可能である。SRAMモー
ドでは追加的な周辺機器の接続が可能となる。
【0042】第7番目のサブシステム37は、サブシス
テム自身内のレジスタによって選択可能な2つのHitach
i製のI2Cインタフェースを提供する。各インタフェ
ースは、7または10ビットのコンパチブルなマスター
またはスレーブとして400キロビット/秒までの速度
で動作可能である。これらは、Philips 製のI2Cバス
・インタフェースをサポートし、レジスタバス・クロッ
クから導出されるプログラム可能クロックを有する。
【0043】第8番目のサブシステム38はシリアルサ
ウンドを提供する。シリアルサウンドのインタフェース
は、マルチチャンネルおよび圧縮データと、プログラム
可能なフレームサイズと、Philips形式とをサポートし
ている。
【0044】第9番目のサブシステム39は、パワーコ
ントロールおよびコンフィギュレーション・システム5
2内のコントロールレジスタを設定することにより構成
されて、一方でHCAN(Hitachiのコントローラ・エ
リア・ネットワーク)インタフェースおよびUART
と、他方でHitachi製のシリアルプロトコル・インタフ
ェースとを提供できる。HCANインタフェースがサポ
ートしているのは:CAN仕様2.0Aおよび2.0
B;標準データおよび遠隔フレーム(11ビットの識別
子);拡張データおよび遠隔フレーム(29ビットの識
別子);標準(11ビット)または拡張(29ビット)
識別子形式を使用して、32個の独立メッセージ・バッ
ファ;送信または受信の方向をプログラム可能な31個
のメールボックス;1個の受信専用メールボックス;識
別子(標準メッセージ識別子または拡張メッセージ識別
子)による受入れフィルタリング;低電力消費用のスリ
ープモード;全メールボックスによってサポートされた
プログラム可能なローカル受入れフィルタ・マスク(標
準および拡張識別子);1メガビット/秒までのプログ
ラム可能なCANデータ速度;リアルタイム・アプリケ
ーション用の優先順位逆転の問題に対する内部優先順位
ソート機構を有する送信メッセージ・キューイング;ハ
ンドシェイク要件のないデータバッファアクセス;フレ
キシブルなクロックソースおよびプリスケーラを備えた
16ビットのランニングタイマー;3個のタイマーコン
ペアマッチレジスタ;CAN−IDコンペアマッチ;2
個の入力捕捉レジスタ;ドリフト補正レジスタ;ローカ
ルオフセットレジスタ;タイムトリガー伝送用の4ビッ
トベーシックサイクルカウンタ;割込み発生レジスタ
と、送信/受信のスケジュールモニタリングをサポート
するタイマー/カウンタクリア/セット能力とを備えた
タイマーコンペアマッチレジスタ;特定時間などでのワ
ンショット送信;特定のCANフレームを受信する時の
タイマークリア/セット正入力捕捉レジスタ・ディセー
ブルを備えたCAN−IDのコンペアマッチ;CANフ
レームのSOF/EOFとCAN−IDコンペアマッチ
とに相互作用するCANシステム上のタイムスタンプお
よびグローバル同期に使用される入力捕捉レジスタ;
(スタンプ−タイミングのプログラム可能な)送受信用
のフレキシブルタイムスタンプ;タイムトリガー送信
(イベントトリガー送信より優先的にサポートされる周
期的送信);CANフレーム内に埋込まれ、送信される
タイマーカウンタおよびベーシックサイクル値である。
【0045】第10番目のサブシステム40は、サブシ
ステム自身内のレジスタによって選択可能なUARTお
よびirDAインタフェースを提供する。irDAイン
タフェースは、UARTの1チャンネルを構成すること
によって実施され、SIR(低速IrDA:115.2
Kbps)コンパチブルである。
【0046】第11番目および第12番目のサブシステ
ム41,42は両方ともパワーコントロールおよびコン
フィギュレーション・サブシステム52内のコントロー
ルレジスタを設定することにより構成されて、一方で上
述のようなシリアルサウンドインタフェースと、他方で
UARTとを提供できる。
【0047】第13番目のサブシステム43は、パワー
コントロールおよびコンフィギュレーション・サブシス
テム52内のコントロールレジスタを設定することによ
り構成され、一方で1個の割込みおよび2個のUART
と、他方でAC97インタフェースとを提供できる。A
C97インタフェースは、単一AC97のバージョン
2.1のオーディオコーディックにデジタル・インタフ
ェースを提供し、Rxフレームのステータススロット
1,2からのPIOを提供し、Txフレームのコマンド
・スロット1,2にPIOを提供し、Rxフレームのデ
ータ・スロット3,4からのPIOを提供し、Txフレ
ームのデータ・スロット3,4にPIOを提供し、Rx
フレームのデータ・スロット3,4からの選択可能な1
6または20ビットDMAを提供し、選択可能な16ま
たは20ビットDMAをTxフレームのデータ・スロッ
ト3,4に提供し、タグビットを備えたスロット・デー
タに資格を与えること、および、Txフレーム用のRx
フレーム・スロットリクエストビットに応答することに
よって可変サンプル速度にサポートを提供し、準備/リ
クエストされ、かつ、オーバーラン/アンダーランされ
たデータに割込み発生を提供し、および、12.3MH
zデータ・クロック入力を提供する。
【0048】第14番目のサブシステム44は2つの選
択可能な割込みから成る。
【0049】第15番目のサブシステム45はタイマー
/カウンタモジュールから成る。タイマー/カウンタモ
ジュールは、4つのプログラム可能な32ビットのフリ
ーランニングタイマーと、4つの入力キャプチャ/出力
コンペアとから成る。タイマーのI/Oピンは、汎用プ
ログラム可能IOに使用され得る。
【0050】第16番目のサブシステム46は、上述さ
れたように、2つの選択可能パルス幅変調器から成る。
【0051】第17番目のサブシステム47はUSBホ
ストから成る。第18番目のサブシステム48は、第1
8番目のサブシステム48内のレジスタによってUSB
ホストまたはUSBファンクションとして構成され得
る。USBサブシステム47,48は1.5メガビット
/秒および12メガビット/秒のデータ転送速度と、ホ
ストおよびファンクション用のUSBのバージョン1.
1と、OHCIのバージョン1.0とをサポートする。
48MHzクロックは、外部クロック入力またはローカ
ル水晶発振の何れかを介して提供される。送信および受
信バッファは、UMA SDRAM7内に存在し、ピク
セルバス20を介して直接にアクセスする。
【0052】第19番目のサブシステム49は、別個の
送信機と受信機とを備え、IEC60958通信規格を
サポートするHitachi製のS/PDIFインタフェース
から成る。受信機は、IEC 6937圧縮モードデー
タを自動的に検出する。
【0053】第20番目のサブシステム50は、上述の
ようなHCANインタフェースから成る。
【0054】第21番目のサブシステム51は、サブシ
ステム自体内のレジスタにより、シリアルサウンドイン
タフェースまたはシリアルサウンドインタフェース、お
よびCD−ROMブロックデコーダを選択的に提供す
る。
【0055】パワーコントロールおよびコンフィギュレ
ーション・サブシステム52内のレジスタに依存してサ
ブシステムは、最大4つのパルス幅変調器と、最大3つ
のHitachi製のシリアルプロトコル・インタフェース
と、最大3つのUARTとが存在できるように構成され
ている。グラフィックス/IOシステム5上の2つのシ
リアルサウンドインタフェースまでが、汎用プログラム
可能IOとして構成されることもある。
【0056】割込みコンセントレータ54は、グラフィ
ックス/IOシステムの様々なサブシステムから割込み
リクエストを受信し、それらを中央処理装置2の単一割
込みリクエストポートに送る。
【0057】また、レジスタバス21は、制御データを
メモリ・インタフェースの制御レジスタ13にロードす
るためのメモリ・インタフェース13に接続されてい
る。メモリ・インタフェース13は、レジスタバス21
に、UMA SDRAM7へのアクセスを提供しない。
【0058】PCI/MPXバス・インタフェース11
は、外部バス(PCIバス9またはMPXバス5)から
のデータ転送を、ピクセルバス20を介してUMA S
DRAM7に送り、外部バスからのデータをバッファリ
ングして、可能な場合にはバーストを満杯にする。グラ
フィックス・エンジン14、ビデオ入力インタフェース
15、デジタル・フラット・パネル・インタフェース1
6、ATAPIインタフェース17、および、第17番
目および第18番目のサブシステム47,48に伴うデ
ータ転送は、UMA SDRAM7を介して送られる。
言い替えれば、これらのサブシステムの1つからのデー
タは、中央処理装置2にアクセスする前に、UMA S
DRAM7に書き込まれなければならない。同様に、中
央処理装置2は、これらのサブシステムの1つに宛てら
れたデータを最初にUMA SDRAM7に書き込まな
ければならない。それにも関わらずに、制御コードは、
ダイレクト・メモリ・アクセス・コントローラ12とレ
ジスタバス21とを介してこれらのサブシステムに送ら
れ得る。
【0059】ダイレクト・メモリ・アクセス・コントロ
ーラ12は、レジスタバス21上のDMA可能サブシス
テムと、外部メモリ、すなわちシステムRAM3および
UMA SDRAM7、または、レジスタバス21上の
他のサブシステムとの間のデータ転送を構成する。更に
詳細には、ダイレクト・メモリ・アクセス・コントロー
ラ12は、4つのDMAモード、マスターDMAモー
ド、スレーブDMAモード、サブシステム間のDMAモ
ード、および、外部DMAモードをサポートする。外部
DMAモードは、外部バスがMPXバス5である場合に
のみ使用される。システムRAM3へのマスターDMA
モードの転送は、外部バスがMPXバスである時に、利
用できない。
【0060】マスターDMAモードでは、ダイレクト・
メモリ・アクセス・コントローラ12は、外部バスまた
はピクセルバス20の何れかのためのバスマスターとし
て機能し、レジスタバス21上のサブシステムと外部メ
モリとの間でデータを転送する。
【0061】スレーブDMAモードでは、ダイレクト・
メモリ・アクセス・コントローラ12は、外部バス上の
スレーブとして機能し、レジスタバス21上のサブシス
テムと内部FIFO DMAチャンネル・バッファ(後
に詳述する)との間でデータを転送する。中央処理装置
2は、FIFO DMAチャンネル・バッファからのデ
ータをシステムRAM3に転送することを担当し、バー
ストまたは単一アクセス・モードを利用してPIO(プ
ログラム可能IO)アクセスを使用する。
【0062】サブシステム間のDMAモードでは、ダイ
レクト・メモリ・アクセス・コントローラ12は、レジ
スタバス21上のサブシステム間でデータを転送する。
【0063】外部DMAモードでは、中央処理装置2の
ダイレクト・メモリ・アクセス・コントローラが、ダイ
レクト・メモリ・アクセス・コントローラ12における
単一割当てDMAチャンネルを使用してDMAオペレー
ションを実行し、サブシステムとシステムRAM3との
間でデータを転送する。
【0064】DMAデータ転送は一次DMAアドレスと
二次DMAアドレスとの間で常に発生する。一次DMA
アドレスは、レジスタバス21上でサブシステムのレジ
スタ・アドレスになる。二次DMAアドレスは、外部メ
モリ・アドレス、または、レジスタバス21上でサブシ
ステムのレジスタ・アドレスの何れかになる。
【0065】図4を参照すると、ダイレクト・メモリ・
アクセス・コントローラ12は、RAMブロックを使用
して実施される16個のDMAチャンネルに対応する1
6個の再構成可能なFIFO61;PCI/MPXイン
タフェース11との通信用のシステム・インタフェース
62;ピクセルバス20を使用して通信するピクセルバ
ス・インタフェース63;および、レジスタバス21を
使用して通信するレジスタバス・インタフェース64を
備えている。一組のレジスタ65は、16個のDMAチ
ャンネルのオペレーションを制御するためのDMAカウ
ントレジスタ66と、FIFO61を限定する構成デー
タを記憶するためのDMAチャンネル・レジスタ67
と、ダイレクト・メモリ・アクセス・コントローラ12
によって使用される制御数を記憶するための制御レジス
タ68とから成る。これらのレジスタ65は、オペレー
ションを制御するために、システム、ピクセルバス、お
よび、レジスタバス・インタフェース62,63,64
にアクセス可能である。
【0066】FIFO61を実施するRAMはデュアル
ポートであり、一方のポートはピクセルバス・インタフ
ェース63によって使用される。RAMの他方のポート
は、マルチプレクサ69によってシステム・インタフェ
ース62とレジスタバス・インタフェース64との間で
共用される。
【0067】システム・インタフェース62とレジスタ
バス・インタフェース64との間には、プログラムされ
たIO(「PIO」)バイパス・チャンネル70が設け
られている。PIOバイパス・チャンネル70により、
中央処理装置2(図1および図2参照)が、FIFO6
1を伴うことなく、レジスタバス21に接続されたサブ
システムと通信することを可能にする。
【0068】割込みユニット71は、ダイレクト・メモ
リ・アクセス・コントローラ12内で生成された様々な
割込みを受信し、単一の割込みを割込みコンセントレー
タ54(図3)に出力する。
【0069】図5を参照すると、ダイレクト・メモリ・
アクセス・コントローラの32ビットのアドレス空間
は、下から順番に、レジスタバス21に接続されたサブ
システム上にマッピングされたアドレスを含むサブシス
テム・アドレス・ブロック81と、DMA制御レジスタ
のアドレスを含むDMA制御ブロック83と、FIFO
61を規定するレジスタのアドレスを含むDMAチャン
ネル・ブロック84と、DMA転送で使用されるカウン
トを保持するためのレジスタを含むDMAカウント・ブ
ロック85と、最上部にFIFO61のアドレスを含む
FIFOブロック86とから成る。
【0070】サブシステム・アドレス・ブロック81内
の各サブシステムに割り当てられたスペースは、各サブ
システム内のレジスタ数および/またはメモリ量に依存
する。本実施の形態では、グラフィックス・エンジン1
4には16,384バイトが割り当てられ、ビデオ入力
インタフェース15には256バイトが割り当てられ、
デジタル・フラット・パネル・インタフェース16には
4096バイトが割り当てられ、ATAPIインタフェ
ースには256バイトが割り当てられ、第10番目のサ
ブシステム40内のUARTには32バイトが割り当て
られ、および、USBホスト/ファンクション・サブシ
ステム48には1024バイトが割り当てられている。
【0071】DMA制御ブロック83は、DMA外部セ
レクト、DMA状態、DMA FIFO状態、DMA F
IFOフラッシュ、PIOモニタ、PIOモニタ状態、
DMAサブシステムリクエスト状態、および、DMA割
込みソースレジスタを提供する一組の4バイトワード
と、31個のDMAサブシステムリクエストアドレス・
レジスタとから成る。
【0072】DMAチャンネル・ブロック84は、各F
IFO61用の4つの4バイト制御ワードから成り、4
つの4バイト制御ワードはレジスタとして作用する。そ
のレジスタは、DMA開始アドレス・レジスタ、DMA
長レジスタ、DMA制御レジスタ、および、DMA R
AMバッファサイズ・レジスタである。これらのレジス
タのうち各ビットは以下のように組織化されている。D
MA開始アドレス・レジスタこれらのレジスタは、マス
ターおよびサブシステム間のモードでのみ使用される。
マスターモード
【0073】
【表1】
【0074】モジュール間のDMAモード
【0075】
【表2】
【0076】DMA長レジスタ
【0077】
【表3】
【0078】DMA制御レジスタ 転送のためにダイレクト・メモリ・アクセス・コントロ
ーラ12のオペレーションを制御する制御値を含む各D
MAチャンネルの制御レジスタは次のように配置されて
いる。
【0079】
【表4】
【0080】
【表4−1】
【0081】
【表4−2】
【0082】
【表4−3】
【0083】
【表4−4】
【0084】
【表4−5】
【0085】
【表4−6】
【0086】
【表4−7】
【0087】
【表4−8】
【0088】
【表4−9】
【0089】DMA RAMバッファサイズ・レジスタ
【0090】
【表5】
【0091】DMAカウントレジスタ・ブロック85
は、各DMAチャンネル用のサブシステム・カウントレ
ジスタ(PCOUNT)と外部メモリ・カウントレジス
タ(MCOUNT)とから成る。PCOUNTレジスタ
は、レジスタバス21上のサブシステムと、転送され、
対応するFIFO61との間でDMA転送のバイト数を
記憶する。MCOUNTレジスタは、対応するFIFO
61と、転送された外部メモリ3,7との間でDMA転
送のバイト数を記憶する。
【0092】最後に、FIFOブロック86は、FIF
O61のそれぞれの1つに対応する4バイト・ワードか
ら成る。これらのアドレスの1つに書き込みすると、対
応するFIFO61の終わりにデータが加えられ、これ
らのアドレスの1つから読み出すと、対応するFIFO
61のヘッドにデータが得られる。
【0093】再び図3を参照すると、レジスタバス・イ
ンタフェース64は、その内部へと至る複数のDMAリ
クエストライン50を有している。これらのリクエスト
ライン50は、レジスタバス21上のサブシステムのD
MAリクエストポートに接続されている。これらのライ
ン50に関係するDMAリクエスト番号は予め設定され
ると共に固定されている。本実例では、これらは以下の
ようである。
【0094】
【表6】
【0095】
【表6−1】
【0096】制御レジスタ68は、サブシステム・レジ
スタ・アドレス上にDMAリクエストライン70をマッ
ピングするDMAサブシステムリクエストアドレス・レ
ジスタ、DMA外部セレクト・レジスタ、DMA状態レ
ジスタ、DMA FIFO状態レジスタ、FIFOバー
スト状態レジスタ、DMA割込みソース・レジスタ、D
MA FIFOフラッシュ・レジスタ、DMAサブシス
テムリクエスト状態レジスタ、および、PIO監視レジ
スタを有している。
【0097】DMA外部セレクト・レジスタは制御レジ
スタ68内に含まれている。このレジスタは以下のよう
に編成されている。
【0098】
【表7】
【0099】
【表7−1】
【0100】DMA状態レジスタは、各DMAチャンネ
ル用のサブシステム端末カウント状態(PT)フラグ
と、各DMAチャンネル用の端末カウント状態(TC)
フラグとから成る。PTフラグは、それぞれのDMAチ
ャンネルのサブシステム端末カウント状態を指定する。
適正なFIFO61に対してサブシステムへの、およ
び、サブシステムからのDMA転送が完了される時に、
これらのフラグが設定される。これらのフラグが設定さ
れた時に、生成される割込み用のオプションが存在す
る。対応するFIFO61と外部メモリとからのDMA
転送が完了される時に、TCフラグが設定される。
【0101】DMA FIFO状態レジスタは、スレー
ブモードでのみ使用され、個々のFIFO61が単一の
読み出しおよび書き込み、または、バースト読み出しお
よび書き込みに利用可能であるか否かをフラグによって
表示する。ダイレクト・メモリ・アクセス・コントロー
ラ12は、これらのフラグが設定される時に、割込みを
発生させるように構成可能である。
【0102】FIFOバースト状態レジスタは、個々の
FIFO61がバースト読み出しおよび書き込み動作
を、すなわち、ピクセルバス20または外部バス8,9
を介して相互作用を利用可能であるか否かを表示する。
【0103】DMA割込みソースレジスタは、各DMA
チャンネルの1つにつき一組のチャンネル割込みマスク
フラグと、チャンネル割込みマスクとから成る。チャン
ネル割込みフラグは、DMAチャンネルの割込み状態を
表示する。フラグは各々、そのチャンネルに関係する全
ての割込みの論理和の結果であり、割込みがペンディン
グになる時に設定される。割込みが処理された時に、対
応するフラグがリセットされる。チャンネル割込みマス
クは各DMAチャンネルに対して1ビットを有し、その
ビットの状態は、特定のDMAチャンネルに関連する割
込みが中央処理装置2にアサートされるか否かを決定す
る。
【0104】DMA FIFOフラッシュ・レジスタは
各FIFO61に対して1つのフラグから成る。これら
のフラグの1つを設定することにより、対応するFIF
O61がフラッシュさせられ、データが廃棄される。
【0105】DMAサブシステムリクエスト状態レジス
タは、サブシステムから、ペンディングのDMAリクエ
ストを表示する。サブシステムがDMAリクエストを作
成する時に、DMAサブシステムリクエスト状態レジス
タ内の対応するフラグが設定される。このレジスタは、
サブシステムからのDMAリクエストが処理される順番
を設定する。
【0106】PIO監視レジスタはスキームの一部とし
て設けられて、効率的なDMAオペレーションへの干渉
を防止するように、中央処理装置2によりレジスタバス
21へのアクセスを制御する。このスキームに基づい
て、レジスタバス21への中央処理装置のアクセスは最
優先事項を与えられている。しかしながら、中央処理装
置2からレジスタバスのアクセスのリクエストが一定の
レベルを越えると、この最優先事項がオーバライドされ
る。
【0107】プログラム可能IO監視レジスタのビット
は、しきい値カウント、アップカウント、イネーブルフ
ラグ、および、監視カウントの間で分割される。しきい
値カウントは、そのようなアクセスを起こさせないため
の処置が取られる前に、発生し得るレジスタバス21の
PIO使用の限界を確定する。その理由は、通常の状況
下では、これらのアクセスが、アービトレーションに関
して最優先事項を有し、望ましくないほど長い期間、サ
ブシステムをレジスタバス21から潜在的に排除できる
からである。プログラム可能IOの動作中に、各システ
ムバスのクロックサイクルに対してアップカウント値ま
で増大された監視カウント値によって、カウントは提供
される。カウントは、PIOアクセスを除いて、各シス
テムバスのクロックサイクルに対して1まで減少され
る。
【0108】アップカウント値は、特定のアプリケーシ
ョンの中で経験された動作条件の基準に依存して設定さ
れる。
【0109】イネーブルフラグは、監視カウント値が0
(ゼロ)である時に設定され、監視カウントがしきい値
カウントを超えた時にリセットされる。
【0110】さて、バースト動作に対してダイレクト・
メモリ・アクセス・コントローラ12のシステム・イン
タフェース62の動作について説明する。
【0111】活動中のDMAチャンネルは、ラウンドロ
ビン優先順位アルゴリズムに左右されるDMAチャンネ
ルを識別するマスクを生成するように決められている。
完了されるDMA転送の数がバースト・サイズより大き
く、チャンネルのFIFO内でのデータのバースト・サ
イズ、または、FIFO内でのスペースのバースト・サ
イズが転送の方向に依存して存在する場合には、チャン
ネルは活動する。DMA転送の数がバースト・サイズよ
り小さく、転送して残されたワードの数がデータ転送の
方向に依存してFIFO内のスペースに、または、FI
FO内で利用可能なワードに等しい場合には、チャンネ
ルは活動する。残されたワードの数は、MCOUNTレ
ジスタの値と、対応するDMA長レジスタ内での転送長
さとの差である。活動しているチャンネルは、次の活動
チャンネルを選択するラウンドロビンアルゴリズムにマ
スク値として手渡され、バーストが外部バス8,9に送
られ、または、外部バス8、9から受信される。
【0112】本実施の形態では、システム・インタフェ
ース62に使用されるバースト・サイズは8に固定され
ている。しかしながら、これは他の実施の形態で異なる
こともある。
【0113】さて、スレーブモード用のダイレクト・メ
モリ・アクセス・コントローラ12のシステム・インタ
フェース62の動作を説明する。
【0114】スレーブDMAモードでは、中央処理装置
2は、ダイレクト・メモリ・アクセス・コントローラ1
2のDMAチャンネルを使用してDMAオペレーション
を実行し、レジスタバス21上のサブシステムとシステ
ムRAM3との間でデータを転送する。割込み信号を送
ることによって、または、中央処理装置2でポーリング
されたフラグを設定することによって、FIFO内にバ
ーストの大きさに作ったスペースが、または、データに
値するバーストが存在することを、システム・インタフ
ェース62が中央処理装置2に対して知らせる。レジス
タバス21上のサブシステムからの転送の場合、中央処
理装置2は、ブロック86(図5)では、FIFOアド
レスを外部バス上に配置し、システム・インタフェース
62は、こうしてアドレス指定されたFIFOのコンテ
ンツを読み出して外部バス8,9上にそれらを順番に配
置する。レジスタバス21上のサブシステムへの転送の
場合、中央処理装置2は、ブロック86(図5)では、
FIFOアドレスを、続いてデータのバーストをシステ
ムバス上に置く。システム・インタフェース62はデー
タのバーストを受信し、それを、受信されたFIFOア
ドレスに書き込む。全てのデータは同じアドレスに書き
込まれるが、RAM内の別々の物理的位置に書き込まれ
る。
【0115】次に、外部バスをMPXバス9にした状態
で、外部DMAモード用のダイレクト・メモリ・アクセ
ス・コントローラ12のシステム・インタフェース62
の動作について説明する。
【0116】外部DMAモードでは、中央処理装置2の
ダイレクト・メモリ・アクセス・コントローラは、ダイ
レクト・メモリ・アクセス・コントローラ12のDMA
チャンネルを使用してDMAオペレーションを実行し、
レジスタバス21上のサブシステムとシステムRAM3
との間でデータを転送する。MPX DMAリクエスト
信号を外部DMAコントローラにアサートすることによ
ってFIFO内にバーストの大きさに作ったスペース
が、または、データに値するバーストが存在すること
を、システム・インタフェース62は外部DMAコント
ローラに対して知らせる。この信号が認められ、それか
らデアサートされる。次に、外部DMAコントローラは
適正なFIFO61のアドレスを送り、DMA転送であ
ることを示すためにMPX DMAリクエスト確認信号
を使用してシステム・インタフェース62へ、または、
システム・インタフェース62からデータのバーストを
転送する。システム・インタフェース62は、受信され
たFIFOアドレスに基づいてRAM内のデータの読み
出しおよび書き込みを処理する。転送が完了された時
に、他の転送が可能である場合には、システム・インタ
フェース62は再びMPXDMAリクエスト信号をアサ
ートする。
【0117】さて、バースト・アクセス用のダイレクト
・メモリ・アクセス・コントローラ12のピクセルバス
・インタフェース63の動作について説明する。
【0118】活動中のDMAチャンネルは、ラウンドロ
ビン優先順位アルゴリズムに左右されるDMAチャンネ
ルを識別するマスクを生成するように決定されている。
完了されるDMA転送の数が最小のバースト・サイズよ
り大きく、FIFO61内でのデータに値する最小のバ
ースト・サイズが、または、FIFO61内でのスペー
スに値する最小のバースト・サイズが、データ転送の方
向に依存して存在する場合には、チャンネルは活動す
る。DMA転送の数が最小のバースト・サイズより小さ
く、転送し残されたワードの数が、データ転送の方向に
依存して、FIFO61内のスペースに、または、FI
FO61内で利用可能なワードに等しい場合には、チャ
ンネルは活動する。残されたワードの数は、MCOUN
Tレジスタの値と、対応するDMA長レジスタ内の転送
長さとの差である。活動中のチャンネルは、次の活動チ
ャンネルを選択するラウンドロビン・アルゴリズムにマ
スク値として送られ、バーストが、選択されたチャンネ
ル用のピクセルバス20を介して送信または受信され
る。
【0119】本実施の形態では、最小のバースト・サイ
ズは4であり、最大のバースト・サイズは8である。し
かしながら、他の実施の形態では、異なる値を使用可能
である。
【0120】さて、図6を参照して、PIO監視がイネ
ーブルされている状態で、ダイレクト・メモリ・アクセ
ス・コントローラ12のレジスタバス・インタフェース
64の動作について説明する。
【0121】まず、レジスタバス21へのプログラムさ
れたIOのアクセスが、PIO監視レジスタ内のイネー
ブル・フラグによって表示されるように、PIOモニタ
によってブロックされていない場合には(ステップs
1)、何らかのペンディングのPIOオペレーションが
存在するか否かが決定される(ステップs2)。PIO
オペレーションがペンディングである場合には、PIO
監視カウンタがカウントアップに設定され(ステップs
3)、PIOオペレーションがレジスタバス21上にア
ドレスを置くことによって処理される(ステップs
4)。書き込みモードで、レジスタバス・インタフェー
ス64は、遠隔デバイスからのデータをレジスタバス2
1上に置く。しかしながら、読み出しモードで、レジス
タバス・インタフェース64は、アドレス指定されたレ
ジスタからデータを読み出し、それを、外部バス8,9
への転送のためにPIOバイパスチャンネル40に送
る。それから、PIO監視カウンタがカウントダウンに
設定される(ステップs5)。
【0122】プログラムされたIOのアドレスがイネー
ブルされず(ステップs1)、または、ペンディングの
プログラムされたIOオペレーションが存在しない(ス
テップs2)場合には、FIFO61を介してレジスタ
バス21へのDMA転送が、ラウンドロビン・アルゴリ
ズムを使用して処理される。
【0123】さて、中央処理装置2によって、レジスタ
バス21上のサブシステムへのプログラムされたIOの
アクセスを処理することを説明する。
【0124】レジスタバス21上のサブシステムのレジ
スタに書き込むために、中央処理装置2はレジスタのア
ドレスをシステムバス8上に置く。次に、アドレスは、
PCI/MPXインタフェース11に転送される。PC
I/MPXインタフェース11は、そのアドレスがUM
A SDRAM7内に存在しないことを検出し、それを
ダイレクト・メモリ・アクセス・コントローラ12のシ
ステム・インタフェース32に送る。ダイレクト・メモ
リ・アクセス・コントローラ12のシステム・インタフ
ェース32は、そのアドレスがレジスタバス21上のサ
ブシステムのレジスタ用であることを決定し、その結
果、それがどこでバッファされるのかをPIOバイパス
チャンネル40に送る。
【0125】レジスタバス・インタフェース64は、P
IOオペレーションがPIOバイパスチャンネル40内
でペンディングされていることを検出し、レジスタバス
のアービトレーション・スキームに従って、PIOバイ
パスチャンネル40内にラッチされたアドレスがレジス
タバス21上に置かれ、データがそれに続く。その結
果、そのデータは、レジスタバス21上のサブシステム
の適正なレジスタ内にロードされる。
【0126】これまでのDMA転送には、単一転送モー
ドのデータ転送よりむしろDMA転送が行われているこ
とを表示する信号が伴っている。
【0127】図7を参照すると、ソフトウェア・ドメイ
ンでは、アプリケーション91は、デバイス・ドライバ
92と、問題のサブシステム用のデバイス・ダイレクト
・メモリ・アクセス・コントローラ93とによって、ダ
イレクト・メモリ・アクセス・コントローラ12と、レ
ジスタバス21上のサブシステムとに相互作用すること
が好適である。ダイレクト・メモリ・アクセス・コント
ローラ12内の制御レジスタ68の所有権は、ダイレク
ト・メモリ・アクセス・コントローラ・ドライバ93
と、デバイス・ドライバ92と、システム割込みハンド
ラとの間で共用される。更に詳細には、ダイレクト・メ
モリ・アクセス・コントローラ・ドライバ93は、FI
FO61のサイズおよび位置を表示するレジスタと、D
MAリクエストアドレス・レジスタとを所有している。
デバイス・ドライバ92は、外部メモリ内のDMA転送
開始アドレス、バースト・サイズとバースト内の転送長
さ、DMAモードを指定する制御値、一次DMAアドレ
スと転送方向、データのパッキングまたはアンパッキン
グが必要とされるか否か、エンディアン変換が必要とさ
れるか否か、データ転送モード、すなわち、連続モード
または固定長モード、何れの割込みおよびバッファ状態
が報告されるべきか、および、転送が開始されるべきか
否かを有するレジスタと、FIFOブロック82内のレ
ジスタと、DMA FIFOフラッシュ・レジスタと、
DMAサブシステムリクエスト状態レジスタとを所有し
ている。システム割込みハンドラは、DMA割込みソー
スレジスタと、DMA FIFO状態レジスタとを所有
している。
【0128】図8を参照すると、システムが初期化され
る時に、ダイレクト・メモリ・アクセス・コントローラ
・ドライバ93の初期設定ルーチンが呼び出される。こ
のルーチンは、まず、FIFO61の初期サイズを設定
する(ステップs11)。次いで、FIFOは、DMA
チャンネルに対応するDMA FIFOフラッシュ・レ
ジスタの各ビットに1を書き込むことによって、フラッ
シュされる(ステップs12)。最後に、DMAリクエ
ストアドレス・レジスタが、レジスタバス21上で対応
するサブシステムのアドレスに設定される(ステップs
13)。
【0129】シナリオ1−マスターモード さて、固定長データ転送モードでPCIバス9を使用し
て、レジスタバス21上のUARTからシステムRAM
3までDMAによりデータを転送することを説明する。
UARTは、本実例ではDMAチャンネル2上にマッピ
ングされるDMAリクエスト番号20を使用する。
【0130】図9を参照すると、UART用のデバイス
・ドライバ92は、DMAチャンネル2用の開始アドレ
ス・レジスタにデスティネーション開始アドレスを書き
込むことによって始動する(ステップs21)。次い
で、デバイス・ドライバ92が、DMAチャンネル2の
長さレジスタにバイト・カウントを書き込む(ステップ
s22)。DMAチャンネルが設定された後に、デバイ
ス・ドライバ92は標準DMA前処理ルーチン(後述す
る)を呼び出す(ステップs23)。直ちに、DMA転
送が開始できる。
【0131】デバイス・ドライバ92は、DMAチャン
ネル2の制御レジスタに制御値を書き込む(ステップs
24)。この制御値は以下から成る。
【0132】
【制御値1】
【0133】そこで、ダイレクト・メモリ・アクセス・
コントローラ12が構成される。DMAプロセスは、プ
ログラム可能IOを使用してUARTの制御レジスタに
書き込んだデバイス・ドライバ92によって、UART
内で開始される(ステップs25)。これにより、UA
RTは、DMAリクエストライン番号20上に信号を送
ることによって、DMAをリクエストさせられる。
【0134】ダイレクト・メモリ・アクセス・コントロ
ーラ12は、UARTから一度に2バイトずつデータを
読み出し始める。UARTから読み出されたデータは、
適正なFIFO61のテールに書き込まれる。
【0135】DMAチャンネル2に割り当てられたFI
FO61内のデータは、上述のようにシステム・インタ
フェース62によって、バーストでは、システムRAM
3に出力される。
【0136】図10を参照すると、TCフラグの設定に
よって、または、タイムアウトによって割込みの時に、
割込みハンドラは、適正な制御データをそれに書き込む
ことによりUART内のDMA処理を終わらせ(ステッ
プs31)、UARTに関連する何らかのエラー処理を
実行する(ステップs32)。次いで、標準DMA後処
理ルーチン(後述する)が実行される(ステップs3
3)。
【0137】シナリオ2−マスターモード レジスタバス上のサブシステムが、固有のDMAカウン
タと完全割込みとを、本実例ではサウンドシリアル・イ
ンタフェースを有している場合には、連続データ転送モ
ードを使用できる。サウンドシリアル・インタフェース
は、本実例ではDMAチャンネル5上にマッピングされ
るDMAリクエスト番号7を使用し、外部バスはPCI
バス9である。
【0138】図11を参照すると、このモードでの転送
は、DMAチャンネル5用の開始アドレス・レジスタに
デスティネーション開始アドレスを書き込んで関連のデ
バイス・ドライバ92によって、開始される(ステップ
s41)。次いで、デバイス・ドライバ92は、DMA
チャンネル用の長さレジスタにバッファ長を書き込む
(ステップs42)。DMAチャンネルが設定された
後、デバイス・ドライバ52は標準DMA前処理ルーチ
ンを呼び出す(ステップs43)。直ちに、DMA転送
を開始できる。
【0139】デバイス・ドライバ52は、DMAチャン
ネル用の制御レジスタに制御値を書き込む(ステップs
44)。この制御値は以下から成る。
【0140】
【制御値2】
【0141】そこで、ダイレクト・メモリ・アクセス・
コントローラ12が構成される。DMAプロセスは、プ
ログラム可能IOを使用してサウンドシリアル・インタ
フェースの制御レジスタに書き込んだデバイス・ドライ
バ92によって、サブシステム内で開始される(ステッ
プs45)。これにより、サウンドシリアル・インタフ
ェースは、そのDMAリクエストライン上に信号を送る
ことによってDMAをリクエストさせられる。その後、
サウンドシリアル・インタフェース内でDMA処理が開
始される。
【0142】ダイレクト・メモリ・アクセス・コントロ
ーラ12は、サウンドシリアル・インタフェースからデ
ータを読み出し始める。
【0143】DMAチャンネル5に割り当てられたFI
FO内のデータは、上述のように、システム・インタフ
ェース62により、バーストではシステムRAM3に出
力される。
【0144】図12を参照すると、設定されたTCフラ
グによって発生された割込みの時に、システムRAM3
で使用されるバッファは変更され(ステップs51)、
ユーザアドレス空間内に完全なバッファのデータはコピ
ーされなければならない(ステップs52)。
【0145】図13を参照すると、データ転送の終わ
り、または、タイムアウトをマーキングするためにサウ
ンドシリアル・インタフェースによって発生された割込
みの時に、割込みハンドラは、それに適正な制御データ
を書き込むことによりサウンドシリアル・インタフェー
ス内でDMA処理を終わらせ(ステップs61)、サウ
ンドシリアル・インタフェースに関連する何らかのエラ
ー処理を実行する(ステップs62)。次いで、標準D
MA後処理ルーチンが実行される(ステップs63)。
【0146】シナリオ3−マスターモード さて、固定長データの転送モードで、レジスタバス21
上の前述のUARTからUMA SDRAM7へDMA
によってデータを転送することについて説明する。
【0147】図14を参照すると、UART用のデバイ
ス・ドライバ92は、UARTの転送チャンネルである
DMAチャンネル2用の開始アドレス・レジスタにデス
ティネーション開始アドレスを書き込むことによって、
始動する(ステップs71)。次いで、デバイス・ドラ
イバ92は、DMAチャンネル2用の長さレジスタにバ
イト・カウントを書き込む(ステップs72)。DMA
チャンネルが設定された後、デバイス・ドライバ92は
標準DMA前処理ルーチンを呼び出す(ステップs7
3)。直ちにDMA転送を開始できる。
【0148】デバイス・ドライバ92は、DMAチャン
ネル2用の制御レジスタに制御値を書き込む(ステップ
s74)。この制御値は以下から成る。
【0149】
【制御値3】
【0150】そこで、ダイレクト・メモリ・アクセス・
コントローラ12が構成される。プログラム可能IOを
使用してUARTの制御レジスタに書き込んだデバイス
・ドライバ92によって、UART内でDMA処理が開
始される(ステップs75)。これにより、UARTが
DMAをリクエストさせられる。
【0151】ダイレクト・メモリ・アクセス・コントロ
ーラ12は、上述されたように、UARTからデータを
読み出し始める。DMAチャンネル2に割り当てられた
FIFO内のデータは、上述のように、ピクセルバス・
インタフェース63によって、バーストでは、UMA
SDRAM7に出力される。
【0152】図15を参照すると、設定されたTCフラ
グ、または、タイムアウトによって発生された割込みの
時に、割込みハンドラは、それに適正な制御データを書
き込むことによって、UART内のDMA処理を終わら
せ(ステップs81)、UARTに関連する何らかのエ
ラー処理を実行する(ステップs82)。次いで、標準
DMA後処理ルーチンが実行される(ステップs8
3)。
【0153】シナリオ4−マスターモード レジスタバス上のサブシステムが、固有のDMAカウン
タと完全割込みとを、本実例ではATAPIインタフェ
ース17を有している場合には、連続データ転送モード
を使用できる。本実例では、DMAチャンネル5が使用
されている。
【0154】図16を参照すると、このモードでの転送
は、DMAチャンネル5用の開始アドレス・レジスタに
デスティネーション開始アドレスを書き込んだ関連のデ
バイス・ドライバ92によって、開始される(ステップ
s91)。次いで、デバイス・ドライバ92は、DMA
チャンネル5用の長さレジスタ内にバッファサイズを書
き込む(ステップs92)。DMAチャンネルが設定さ
れた後に、デバイス・ドライバ92は標準DMA前処理
ルーチンを呼び出す(ステップs93)。直ちにDMA
転送を開始できる。
【0155】デバイス・ドライバ92は、DMAチャン
ネル用の制御レジスタに制御値を書き込む(ステップs
94)。この制御値は以下から成る。
【0156】
【制御値4】
【0157】そこで、ダイレクト・メモリ・アクセス・
コントローラ12が構成される。プログラム可能IOを
使用してATAPIインタフェース17の制御レジスタ
に書き込んだデバイス・ドライバ92によって、ATA
PIインタフェース17内でDMA処理が開始される
(ステップs95)。これにより、ATAPIインタフ
ェース17はDMAをリクエストさせられる。
【0158】ダイレクト・メモリ・アクセス・コントロ
ーラ12は、上述のように、ATAPIインタフェース
17からデータを読み出し始める。DMAチャンネル5
に割り当てられたFIFO61内のデータは、上述のよ
うにピクセルバス・インタフェース63によって、バー
ストではUMA SDRAM7に出力される。
【0159】図17を参照すると、設定されたTCフラ
グによって発生された割込みの時に、UMA SDRA
M7で使用されるバッファは変更され(ステップs10
1)、完全なバッファ内のデータはユーザアドレス空間
にコピーされなければならない(ステップs102)。
【0160】図18を参照すると、データ転送の終わ
り、または、タイムアウトをマーキングするためにAT
APIインタフェース17によって発生された割込みの
時に、割込みハンドラは、それに適正な制御データを書
き込んだATAPIインタフェース17内でのDMA処
理を終わらせ(ステップs111)、ATAPIインタ
フェース17に関連する何らかのエラー処理を実行する
(ステップs112)。次いで、標準DMA後処理ルー
チンが実行される(ステップs113)。
【0161】シナリオ5−マスターモード さて、固定長データ転送モードで、システムRAM3か
らレジスタバス21上のUARTへDMAによってデー
タを転送することについて説明する。UARTは、デー
タを受信するために、本実例ではDMAチャンネル3上
にマッピングされるDMAリクエスト番号21を使用
し、外部バスはPCIバス9である。
【0162】図19を参照すると、UART用のデバイ
ス・ドライバ92は、DMAチャンネル3用の開始アド
レス・レジスタにシステムRAM開始アドレスを書き込
むことによって始動する(ステップs121)。次い
で、デバイス・ドライバ92は、DMAチャンネル3用
の長さレジスタにバイト・カウントを書き込む(ステッ
プs122)。DMAチャンネルが設定された後に、デ
バイス・ドライバ92は標準DMA前処理ルーチンを呼
び出す(ステップs123)。直ちにDMA転送を開始
できる。
【0163】デバイス・ドライバ52は、DMAチャン
ネル3用の制御レジスタに制御値を書き込む(ステップ
s124)。この制御値は以下から成る。
【0164】
【制御値5】
【0165】そこで、ダイレクト・メモリ・アクセス・
コントローラ12が構成される。プログラム可能IOを
使用してUARTの制御レジスタに書き込んだデバイス
・ドライバ92によってUART内で、DMA処理が開
始される(ステップs125)。これにより、UART
はDMAをリクエストさせられる。
【0166】さて、ダイレクト・メモリ・アクセス・コ
ントローラ12は、二次DMAアドレスに従ってバース
トモード内のシステムRAM3からデータを読み出し始
め、それを適正なFIFO61内に記憶する。レジスタ
バス・インタフェース64は、適正なFIFO61のヘ
ッドからデータを読み出し、それを一次DMAアドレス
に従ってUARTに送る。UARTの入力レジスタが僅
か16ビット幅でしかないため、システムRAM3から
の32ビットは2つの書き込み動作でUARTに送られ
なければならない。
【0167】図20を参照すると、UARTまたはタイ
ムアウトであろうと、設定されたPTフラグによって発
生される割込みの時に、デバイス・ドライバ52は、適
正な制御データをそれに書き込むことによってUART
内でDMAプロセスを終わらせ(ステップs131)、
UARTに関連する何らかのエラー処理を実行しなけれ
ばならない(ステップs132)。次いで、標準DMA
後処理ルーチンが実行される(ステップs133)。
【0168】シナリオ6−マスターモード レジスタバス上のサブシステムが、固有のDMAカウン
タおよび完全割込み、本例ではATAPIインタフェー
ス17を有している場合には、連続データ転送モードを
使用することができる。本実例では、DMAチャンネル
5が使用されている。
【0169】図21を参照すると、DMAチャンネル5
用の開始アドレス・レジスタ内にソース開始アドレスを
書き込んだ関連のデバイス・ドライバ92によって、こ
のモードでの転送が開始される(ステップs141)。
次いで、デバイス・ドライバ92は、適正なDMAチャ
ンネル用の長さレジスタ内にバッファサイズを書き込む
(ステップs142)。DMAチャンネルが設定された
後に、デバイス・ドライバ92は標準DMA前処理ルー
チンを呼び出す(ステップs143)。直ちにDMA転
送を開始できる。
【0170】デバイス・ドライバ92は、DMAチャン
ネル用の制御レジスタ内に制御値を書き込む(ステップ
s144)。この制御値は以下から成る。
【0171】
【制御値6】
【0172】そこで、ダイレクト・メモリ・アクセス・
コントローラ12が構成される。プログラム可能IOを
使用してサブシステムの制御レジスタに書き込んだデバ
イス・ドライバ92によって、ATAPIインタフェー
ス17内でDMA処理が開始される(ステップs14
5)。これにより、ATAPIインタフェース17はD
MAをリクエストさせられる。
【0173】さて、ダイレクト・メモリ・アクセス・コ
ントローラ12は、バーストモードでシステムRAM3
からデータを読み出し始め、それを適正なFIFO61
内に記憶する。レジスタバス・インタフェース64は、
適正なFIFO61のヘッドからデータを読み出し、そ
れを、記憶されたDMA開始アドレスから引き出された
二次DMAアドレスに従ってATAPIインタフェース
17に送る。
【0174】図22を参照すると、設定されたTCフラ
グによって発生された割込みの時に、システムRAM3
で使用されるバッファが変更され(ステップs15
1)、データはユーザアドレス空間からエンプティのバ
ッファ内にコピーされなければならない(ステップs1
52)。
【0175】図23を参照すると、データ転送の終わり
またはタイムアウトをマーキングするためにATAPI
インタフェース17によって発生された割込みの時に、
デバイス・ドライバ92は、適正な制御データをそれに
書き込むことによりATAPIインタフェース17内で
DMAプロセスを終わらせ(ステップs161)、AT
APIインタフェース17に関連する何らかのエラー処
理を実行しなければならない(ステップs162)。次
いで、標準DMA後処理ルーチンが実行される(ステッ
プs163)。
【0176】シナリオ7−マスターモード さて、固定長データ転送モードで、UMA SDRAM
7からレジスタバス21上の前述のUARTへDMAに
よってデータを転送することについて説明する。UAR
Tは、データを受信するために、本実例ではDMAチャ
ンネル3上にマッピングされるDMAリクエスト番号2
1を使用する。
【0177】図24を参照すると、UART用のデバイ
ス・ドライバ92は、DMAチャンネル3用の開始アド
レス・レジスタにソース開始アドレスを書き込むことに
よって始動する(ステップs171)。次いで、デバイ
ス・ドライバ92は、DMAチャンネル3用の長さレジ
スタにバイト・カウントを書き込む(ステップs17
2)。DMAチャンネルが設定された後に、デバイス・
ドライバ92は標準DMA前処理ルーチンを呼び出す
(ステップs173)。直ちにDMA転送を開始でき
る。
【0178】デバイス・ドライバ92は、DMAチャン
ネル3用の制御レジスタ内に制御値を書き込む(ステッ
プs174)。この制御値は以下から成る。
【0179】
【制御値7】
【0180】そこで、ダイレクト・メモリ・アクセス・
コントローラ12が構成される。プログラム可能IOを
使用してUARTの制御レジスタに書き込んだデバイス
・ドライバ92によって、UART内でDMA処理が開
始される(ステップs175)。これにより、UART
はDMAをリクエストさせられる。
【0181】さて、ダイレクト・メモリ・アクセス・コ
ントローラ12は、UMA SDRAM7からバースト
内のデータを読み出し始め、それを適正なFIFO61
内に記憶する。ダイレクト・メモリ・アクセス・コント
ローラ12のレジスタバス・インタフェース64は、レ
ジスタバス21を介してFIFOのヘッドでのデータを
UARTに出力する。
【0182】図25を参照すると、UARTまたはタイ
ムアウトであろうと、設定されたPTフラグによって発
生させられた割込みの時に、割込みハンドラは、適正な
制御データをそれに書き込むことによりUART18内
でDMA処理を終わらせ(ステップs181)、UAR
T18に関連する何らかのエラー処理を実行する(ステ
ップs182)。次いで、標準DMA後処理ルーチンが
実行される(ステップs183)。
【0183】シナリオ8−マスターモード レジスタバス上のサブシステムが、固有のDMAカウン
タおよび完全割込みを、本実例ではATAPIインタフ
ェース17を有する場合には、連続データ転送モードを
使用することができる。本実例では、DMAチャンネル
5が使用される。
【0184】図26を参照すると、適正なDMAチャン
ネル用の開始アドレス・レジスタ内にソース開始アドレ
スを書き込んだ関連のデバイス・ドライバ92によっ
て、このモードでの転送が開始される(ステップs19
1)。次いで、デバイス・ドライバ92は、適正なDM
Aチャンネル用の長さレジスタ内にバッファサイズを書
き込む(ステップs192)。DMAチャンネルが設定
された後に、デバイス・ドライバ92は標準DMA前処
理ルーチンを呼び出す(ステップs193)。直ちにD
MA転送を開始できる。
【0185】デバイス・ドライバ92は、DMAチャン
ネル用の制御レジスタに制御値を書き込む(ステップs
194)。この制御値は以下から成る。
【0186】
【制御値8】
【0187】そこで、ダイレクト・メモリ・アクセス・
コントローラ12が構成される。プログラム可能IOを
使用してATAPIインタフェース17の制御レジスタ
に書き込んだデバイス・ドライバ92によって、ATA
PIインタフェース17内でDMA処理が開始される
(ステップs195)。
【0188】さて、ダイレクト・メモリ・アクセス・コ
ントローラ12は、UMA SDRAM7からデータを
読み出し始め、それを適正なFIFO61内に記憶す
る。ダイレクト・メモリ・アクセス・コントローラ12
のレジスタバス・インタフェース64は、レジスタバス
21を介してFIFO61のヘッドでのデータをATA
PIインタフェース17に出力する。
【0189】図27を参照すると、設定されたTCフラ
グによって発生された割込みの時に、UMA SDRA
M7で使用されるバッファは変更され(ステップs20
1)、データはユーザアドレス空間からエンプティのバ
ッファにコピーされなければならない(ステップs20
2)。
【0190】図28を参照すると、データ転送の終わり
またはタイムアウトをマーキングするためにATAPI
インタフェース17によって発生される割込みの時に、
割込みハンドラは、適正な制御データをそれに書き込む
ことによってATAPIインタフェース17内でDMA
処理を終わらせ(ステップs211)、サブシステムに
関連する何らかのエラー処理を実行する(ステップs2
12)。次いで、標準DMA後処理ルーチンが実行され
る(ステップs213)。
【0191】シナリオ9−スレーブモード 次に、ダイレクト・メモリ・アクセス・コントローラ1
2が外部バスマスターでない場合には、固定長データ転
送モードで前述のUARTからシステムRAM3へDM
Aによってデータを転送することについて説明する。
【0192】図29を参照すると、UART用のデバイ
ス・ドライバ92は、DMAチャンネル2用の長さレジ
スタ内にバースト・サイズおよびバイト・カウントを書
き込む(ステップs221)。DMAチャンネルが設定
された後に、デバイス・ドライバ52は標準DMA前処
理ルーチンを呼び出す(ステップs222)。直ちにD
MA転送を開始できる。
【0193】デバイス・ドライバ92は、DMAチャン
ネル3用の制御レジスタに制御値を書き込む(ステップ
s223)。この制御値は以下から成る。
【0194】
【制御値9】
【0195】そこで、ダイレクト・メモリ・アクセス・
コントローラ12が構成される。プログラム可能IOを
使用してUARTの制御レジスタに書き込んだデバイス
・ドライバ92によって、UART内でDMA処理が開
始される(ステップs224)。
【0196】ダイレクト・メモリ・アクセス・コントロ
ーラ12は、UARTから適正なFIFO61の中へデ
ータを読み出し始める。
【0197】図30を参照すると、バーストがUART
からFIFOに記憶されたことを表示するFIFOバー
スト割込みの発生時に、割込みハンドラは、中央処理装
置2によって保持されたシステムRAMアドレスを、次
のバースト用のデスティネーションに更新する(ステッ
プs231)。次に、データのバーストが、中央処理装
置2によって直接、FIFO61から読み出され、シス
テムRAM3に書き込まれる(ステップs232)。バ
ーストが読み出された後に、送信されるべき全てのデー
タが送信されたか否かが決定される(ステップs23
3)。データの全てが送られていない場合には、割込み
ハンドラが戻る。しなしながら、データの全てが送信さ
れた場合には、UART内でのDMA処理が停止され
(ステップs234)、UART用のエラー処理が実行
され(ステップs235)、標準DMA後処理が実行さ
れる(ステップs236)。
【0198】シナリオ10−スレーブモード ダイレクト・メモリ・アクセス・コントローラ12が外
部バスマスターでない場合のサブシステムからの連続デ
ータ転送モードは、固定長データ転送モードと同じ方法
で一般的に実行される。使用されるDMAチャンネル用
の制御レジスタ内で設定される制御値は、二重バッファ
使用がイネーブルである点と、DMA長レジスタ内で設
定される値の代わりに、データ転送の終わりが、データ
を送信するサブシステムによって決定される点とで異な
る。
【0199】シナリオ11−スレーブモード さて、ダイレクト・メモリ・アクセス・コントローラ1
2が外部バスマスターでない場合には、固定長データ転
送モード内でのシステムRAM3から前述のUARTへ
DMAによってデータを転送することについて説明す
る。
【0200】図31を参照すると、UART用のデバイ
ス・ドライバ92は、バースト・サイズとバイト・カウ
ントとをDMAチャンネル2用の長さレジスタ内に書き
込む(ステップs241)。DMAチャンネルが設定さ
れた後に、デバイス・ドライバ52は標準DMA前処理
ルーチンを呼び出す(ステップs242)。直ちにDM
A転送を開始できる。
【0201】デバイス・ドライバ92は、DMAチャン
ネル3用の制御レジスタに制御値を書き込む(ステップ
s243)。この制御値は以下から成る。
【0202】
【制御値10】
【0203】そこで、ダイレクト・メモリ・アクセス・
コントローラ12が構成される。プログラム可能IOを
使用してUARTの制御レジスタに書き込んだデバイス
・ドライバ92によって、UART内でDMA処理が開
始される(ステップs245)。
【0204】中央処理装置2はデータのバーストを適正
なFIFO61に直接書込み、FIFO61内のデータ
は、単一の転送では、レジスタバス・インタフェース6
3によってUARTに書き込まれる。
【0205】図32を参照すると、バーストがFIFO
に記憶されたことを表示するFIFOバースト割込みの
発生時に、割込みハンドラは、次のバースト用のソース
にシステムRAMアドレスを更新する(ステップs25
1)。システムRAM3からのデータの新たなバースト
は、FIFO61がレジスタバス・インタフェース64
によってエンプティにされた時に、中央処理装置2によ
ってFIFO61に書き込み可能になる(ステップs2
52)。バーストがFIFOに書き込まれた後に、送信
されるべき全てのデータが送られたか否かが決定される
(ステップs253)。データの全てが送られなかった
場合には、割込みハンドラが戻る。しかしながら、全デ
ータが送信された場合には、UART内のDMA処理は
停止され(ステップs254)、UART用のエラー処
理が実行され(ステップs255)、標準DMA後処理
が実行される(ステップs256)。
【0206】シナリオ12−スレーブモード ダイレクト・メモリ・アクセス・コントローラ12が外
部バスマスターでない場合のシステムRAM3からサブ
システムへの連続データ転送モードは、固定長データ転
送モードと同じ方法で一般的に実行される。使用される
DMAチャンネル用の制御レジスタ内に設定される制御
値は、二重バッファ使用がイネーブルである点と、DM
A長レジスタに設定される値の代わりに、データ転送の
終わりが、データを送信するサブシステムによって決定
される点とで異なる。
【0207】また、ダイレクト・メモリ・アクセス・コ
ントローラ12は、レジスタバス12上のサブシステム
間でデータを転送できる。
【0208】シナリオ13−サブシステム間のモード さて、固定長データ転送モードで、レジスタバス21上
の2つのサブシステム間に、DMAによってデータを転
送する第1方法について説明する。
【0209】図33を参照すると、送信するサブシステ
ム用のデバイス・ドライバ92は、適正なDMAチャン
ネル用の開始アドレス・レジスタにデスティネーション
アドレスを書き込むことによって始動する(ステップs
261)。次いで、デバイス・ドライバ92は、DMA
チャンネル用の長さレジスタにバイト・カウントを書き
込む(ステップs262)。DMAチャンネルが設定さ
れた後に、デバイス・ドライバ92は標準DMA前処理
ルーチンを呼び出す(ステップs263)。直ちにDM
A転送を開始できる。
【0210】デバイス・ドライバ52は、DMAチャン
ネル3用の制御レジスタに制御値を書き込む(ステップ
s264)。この制御値は以下から成る。
【0211】
【制御値11】
【0212】ここに、「n」は2進数字を表す。
【0213】そこで、ダイレクト・メモリ・アクセス・
コントローラ12が構成される。プログラム可能IOを
使用して送信するサブシステムの制御レジスタに書き込
んだデバイス・ドライバ92によって、送信するサブシ
ステム内でDMA処理が開始される(ステップs12
5)。これにより、送信するサブシステムは、DMAを
リクエストさせられる。
【0214】さて、ダイレクト・メモリ・アクセス・コ
ントローラ12は、送信するサブシステムからデータを
読み出し始め、それを適正なFIFO61内に記憶す
る。レジスタバス・インタフェース64は、そのFIF
O61のヘッドからデータを読み出し、それを、記憶さ
れたDMA開始アドレスから引き出された二次DMAア
ドレスに従って、受信するサブシステムに送る。
【0215】図34を参照すると、送信するサブシステ
ム、または、タイムアウトであろうと、設定されたPT
フラグによって発生される割込みの時に、割込みハンド
ラは、それに適正な制御データを書き込むことにより、
送信するサブシステム内でDMA処理を終わらせ(ステ
ップs271)、送信するサブシステムに関連する何ら
かのエラー処理を実行する(ステップs272)。次い
で、標準DMA後処理ルーチンが実行される(ステップ
s273)。
【0216】シナリオ14−サブシステム間のモード さて、連続データ転送モードで、レジスタバス21上の
2つのサブシステム間に、DMAによってデータを転送
する第1方法について説明する。
【0217】再び図33を参照すると、送信するサブシ
ステム用のデバイス・ドライバ92は、適正なDMAチ
ャンネル用の開始アドレス・レジスタ内にシステムRA
M開始アドレスを書き込むことによって始動する(ステ
ップs261)。DMAチャンネルが設定された後に、
デバイス・ドライバ92は標準DMA前処理ルーチンを
呼び出す(ステップs262)。直ちにDMA転送を開
始できる。
【0218】デバイス・ドライバ52は、DMAチャン
ネル3用の制御レジスタに制御値を書き込む(ステップ
s263)。この制御値は以下から成る。
【0219】
【制御値12】
【0220】ここに、「n」は2進数字である。
【0221】そこで、ダイレクト・メモリ・アクセス・
コントローラ12が構成される。プログラム可能IOを
使用して送信するサブシステムの制御レジスタに書き込
んだデバイス・ドライバ92によって、送信するサブシ
ステム内でDMA処理が開始される(ステップs26
4)。これにより、送信するサブシステムはDMAをリ
クエストさせられる。その後、送信するサブシステム内
でDMAプロセスが開始される。
【0222】さて、ダイレクト・メモリ・アクセス・コ
ントローラ12は、送信するサブシステムからデータを
読み出し始め、それを適正なFIFO61内に記憶す
る。レジスタバス・インタフェース64は、適正なFI
FO61のヘッドからデータを読み出し、それを、記憶
されたDMA開始アドレスから引き出された二次DMA
アドレスに従って、受信するサブシステムに送る。
【0223】再び図34を参照すると、送信するサブシ
ステム、または、タイムアウトによって発生された割込
みの時に、割込みハンドラは、それに適正な制御データ
を書き込むことにより、送信するサブシステム内でDM
A処理を終わらせ(ステップs271)、送信するサブ
システムに関連する何らかのエラー処理を実行する(ス
テップs272)。次いで、標準DMA後処理ルーチン
が実行される(ステップs273)。
【0224】シナリオ15−サブシステム間のモード さて、固定長データ転送モードでは、レジスタバス21
上の2つのサブシステム間でDMAによってデータを転
送する第2方法について説明する。
【0225】再び図33を参照すると、送信するサブシ
ステム用のデバイス・ドライバ92は、適正なDMAチ
ャンネル用の開始アドレス・レジスタ内にシステムRA
M開始アドレスを書き込むことによって始動する(ステ
ップs261)。次いで、デバイス・ドライバ92は、
DMAチャンネル用の長さレジスタ内にバイト・カウン
トを書き込む(ステップs262)。DMAチャンネル
が設定された後に、デバイス・ドライバ92は標準DM
A前処理ルーチンを呼び出す(ステップs263)。直
ちにDMA転送を開始できる。
【0226】デバイス・ドライバ52は、DMAチャン
ネルの制御レジスタ内に制御値を書き込む(ステップs
264)。この制御値は以下から成る。
【0227】
【制御値13】
【0228】ここに、「n」は2進数字である。
【0229】そこで、ダイレクト・メモリ・アクセス・
コントローラ12が構成される。プログラム可能IOを
使用して受信するサブシステム用の制御レジスタに書き
込んだデバイス・ドライバ92によって、受信側サブシ
ステム内でDMA処理が開始される(ステップs26
5)。これにより、受信するサブシステムはDMAをリ
クエストさせられる。
【0230】さて、ダイレクト・メモリ・アクセス・コ
ントローラ12は、送信するサブシステムからデータを
読み出し始め、それを適正なFIFO61内に記憶す
る。レジスタバス・インタフェース64は、適正なFI
FO61のヘッドからデータを読み出し、それを、一次
DMAアドレスに従って、受信するサブシステムに送
る。
【0231】再び図34を参照すると、受信するサブシ
ステム、または、タイムアウトであろうと、設定された
PTフラグによって発生された割込みの時に、割込みハ
ンドラは、適正な制御データをそれに書き込むことによ
って、受信するサブシステム内でDMA処理を終わらせ
(ステップs271)、送信するサブシステムに関連す
る何らかのエラー処理を実行する(ステップs27
2)。
【0232】シナリオ16−サブシステム間のモード さて、連続データ転送モードで、レジスタバス21上の
2つのサブシステム間に、DMAによってデータを転送
する第2方法について説明する。
【0233】再び図33を参照すると、送信するサブシ
ステム用のデバイス・ドライバ92は、適正なDMAチ
ャンネル用の開始アドレス・レジスタにシステムRAM
開始アドレスを書き込むことによって始動する(ステッ
プs261)。DMAチャンネルが設定された後に、デ
バイス・ドライバ92は標準DMA前処理ルーチンを呼
び出す(ステップs262)。直ちにDMA転送を開始
できる。
【0234】デバイス・ドライバ52は、DMAチャン
ネル3用の制御レジスタに制御値を書き込む(ステップ
s263)。この制御値は以下から成る。
【0235】
【制御値14】
【0236】ここに、「n」は2進数字である。
【0237】そこで、ダイレクト・メモリ・アクセス・
コントローラ12が構成される。プログラム可能IOを
使用して受信するサブシステムの制御レジスタに書き込
んだデバイス・ドライバ92によって、受信するサブシ
ステム内でDMA処理が開始される(ステップs26
4)。これにより、受信するサブシステムはDMAをリ
クエストさせられる。その後、受信するサブシステム内
でDMA処理が開始される。
【0238】さて、ダイレクト・メモリ・アクセス・コ
ントローラ12は、送信するサブシステムからデータを
読み出し始め、それを適正なFIFO61内に記憶す
る。レジスタバス・インタフェース64は、適正なFI
FO61のヘッドからデータを読み出し、それを、一次
DMAアドレスに従って、受信するサブシステムに送
る。
【0239】再び図34を参照すると、送信するサブシ
ステム、または、タイムアウトによって発生された割込
みの時に、割込みハンドラは、適正な制御データをそれ
に書き込むことによって、受信するサブシステム内でD
MA処理を終わらせ(ステップs271)、受信するサ
ブシステムに関連する何らかのエラー処理を実行する
(ステップs272)。次いで、標準DMA後処理ルー
チンが実行される(ステップs273)。
【0240】シナリオ17−外部モード さて、中央処理装置のダイレクト・メモリ・アクセス・
コントローラにおける制御の下で、レジスタバス上のU
ARTからシステムRAM3へDMAによって転送する
ことについて説明する。UARTは、本実例ではDMA
チャンネル2上にマッピングされるDMAリクエスト番
号20を使用する。
【0241】図35を参照すると、UART用のデバイ
ス・ドライバは、DMAチャンネル2のDMA長レジス
タにバースト・サイズと転送長さとをバイトで書き込む
ことによって始動する(ステップs281)。次いで、
標準DMA前処理が実行され(ステップs282)、適
正なDMA制御レジスタを設定することによってUAR
T内でDMAオペレーションが開始される(ステップs
283)。制御レジスタ内に設定される値は以下から成
る。
【0242】
【設定値1】
【0243】DMAチャンネル番号2がDMA外部セレ
クト・レジスタのEDMSフィールドに書き込まれ、E
DMAビットが1に設定され、中央処理装置2内のDM
Aコントローラがセットアップされる。そこで、ダイレ
クト・メモリ・アクセス・コントローラ12と中央処理
装置のDMAコントローラとが構成される。プログラム
可能IOを使用してその制御レジスタに書き込んだデバ
イス・ドライバによって、UART内でDMA処理が開
始される。これにより、UARTが、DMAリクエスト
ライン番号20上で信号を発信することによって、DM
Aをリクエストさせる。次いで、ダイレクト・メモリ・
アクセス・コントローラ12は、UARTから一度に2
バイトずつデータを読み出し始め、それを適正なFIF
O61に書き込む。
【0244】それから、割り当てられたFIFO61内
のデータは、中央処理装置のDMAコントローラによっ
て読み出される。本処理は、上述のようにシステム・イ
ンタフェース62によって生成される信号により制御さ
れる。
【0245】図36を参照すると、DMAは、中央処理
装置2の割込み、または、タイムアウト割込みを受信し
た時に終了される。これらの割込みの一方が受信される
と、停止DMAリクエストが中央処理装置2に送られ、
DMA制御レジスタ内の外部DMAフラグがリセットさ
れる(ステップs291)。次いで、中央処理装置のD
MAオペレーションが停止され(ステップs292)、
サブシステム内でのDMAオペレーションが停止される
(ステップs293)。エラー処理が実行され(ステッ
プs294)、続いてDMA後処理(ステップs29
5)が実行される。
【0246】シナリオ18−外部モード さて、中央処理装置のダイレクト・メモリ・アクセス・
コントローラにおける制御の下で、システムRAM3か
らATAPIインタフェース17に転送することについ
て説明する。本実例はDMAチャンネル5を使用してい
る。
【0247】図37を参照すると、ATAPIインタフ
ェース17用のデバイス・ドライバは、DMAチャンネ
ル5のDMA長レジスタに、バースト・サイズと転送長
さとをバイトで書き込むことにより始動する(ステップ
s301)。次いで、標準DMA前処理が実行され(ス
テップs302)、適正なDMA制御レジスタを設定す
ることによりATAPIインタフェース17内でDMA
動作が開始される(ステップs303)。制御レジスタ
に設定される値は以下から成る。
【0248】
【設定値2】
【0249】DMA外部セレクト・レジスタのEDMS
フィールドにDMAチャンネル番号5が書き込まれ、E
DMAビットが1に設定され、中央処理装置2内のDM
Aコントローラがセットアップされる。そこで、ダイレ
クト・メモリ・アクセス・コントローラ12と中央処理
装置のDMAコントローラとが構成される。プログラム
可能IOを使用してその制御レジスタに書き込んだデバ
イス・ドライバによって、ATAPIインタフェース1
7内でDMA処理が開始される。これにより、ATAP
Iが、DMAリクエストライン番号28上で信号を発信
することによりDMAをリクエストさせられる。次い
で、ダイレクト・メモリ・アクセス・コントローラ12
は、中央処理装置のDMAコントローラからDMAをリ
クエストする。中央処理装置のDMAコントローラは、
ダイレクト・メモリ・アクセス・コントローラ12にデ
ータのバーストを送ることにより応答し、それを、DM
Aチャンネル0用のFIFO内に記憶する。レジスタバ
ス・インタフェース63は、FIFO61からデータを
一度に1ワードずつ読み出し、それをATAPIインタ
フェース17に送る。FIFO61内にバースト用の十
分なスペースがある場合には、更なるDMAリクエスト
が中央処理装置のDMAコントローラに送られる。
【0250】図38を参照すると、DMAは、中央処理
装置2の割込み、または、タイムアウト割込みを受信し
た時に終了される。これらの割込みの一方が受信される
と、停止DMAリクエストが中央処理装置2に送られ、
DMA制御レジスタ内の外部DMAフラグがリセットさ
れる(ステップs311)。次いで、中央処理装置のD
MAオペレーションが停止され(ステップs312)、
本サブシステム内のDMAオペレーションが停止される
(ステップs313)。エラー処理が実行され(ステッ
プs314)、続いてDMA後処理(ステップs31
5)が実行される。
【0251】図39を参照すると、前述の前処理は、転
送がサブシステム間の転送であるか否かを決定すること
(ステップs321)、および、そうである場合には、
一次DMAアドレス用のDMAサブシステムリクエスト
状態レジスタRSフラグを1に設定すると共に、他の全
てのRSフラグを0に設定することにより、ダイレクト
・メモリ・アクセス・コントローラ12内で一次DMA
アドレス用のリクエスト待ち行列をクリアすること(ス
テップs322)から成る。転送がサブシステム間の転
送である場合には(ステップs321)一次および二次
DMAアドレス用のDMAサブシステムリクエスト状態
RSフラグを1に設定すると共に、他の全てのRSフラ
グを0に設定することにより、一次および二次DMAア
ドレス用にダイレクト・メモリ・アクセス・コントロー
ラ12内のDMAリクエスト待ち行列がクリアされる
(ステップs323)。
【0252】図40を参照すると、前述の後処理は、ダ
イレクト・メモリ・アクセス・コントローラ12がピク
セルバス20または外部バス8,9用のバスマスターと
して動作しているか否かを決定すること(ステップs3
31)から成る。そうである場合には、DTRA、RT
RAおよびDBENフラグは、対応する制御レジスタに
よってDMAチャンネルが停止される(ステップs33
3)前にクリアされ(ステップs332)、そうでなけ
れば、制御レジスタがステップs331の直後にクリア
される。最後に、DMAチャンネルに関連する他のフラ
グおよびカウントがクリアされ、FIFO61がフラッ
シュされる。
【0253】上述の実施の形態が多くの方法で変更可能
であることは理解されるであろう。たとえば、レジスタ
とピクセルバスとの上のサブシステムの数および性質を
変更することもある。また、他のバス・プロトコルを採
用することもある。
【0254】
【発明の効果】コンピュータ・システム・コンポーネン
トは、バーストモード・バス上のデバイスからのデータ
転送に関して、単一の転送モード・バス上のデバイスの
ためにプロキシとして存在する。これにより、このモー
ドが、単一の転送モード・バス上で受信するデバイスに
よってサポートされない時でさえも、バーストモード・
バス上のデバイスはバーストモードを使用可能となる。
【図面の簡単な説明】
【図1】本発明による第1コンピュータ・システムのブ
ロック図である。
【図2】本発明による第2コンピュータ・システムのブ
ロック図である。
【図3】図1および図2のコンピュータ・システム内で
使用されるグラフィックス/IOシステムのブロック図
である。
【図4】図3のグラフィックス/IOシステムにおける
ダイレクト・メモリ・アクセス・コントローラのブロッ
ク図である。
【図5】図3のグラフィックス/IOシステムのダイレ
クト・メモリ・アクセス・コントローラのオペレーショ
ンに関連するアドレス空間を示す図である。
【図6】図4のダイレクト・メモリ・アクセス・コント
ローラにおけるレジスタバス・インタフェースのオペレ
ーションを示すフローチャートである。
【図7】本発明によるコンピュータ・システムのオペレ
ーションを示すデータフロー図である。
【図8】図4のダイレクト・メモリ・アクセス・コント
ローラの初期化ルーチンを示すフローチャートである。
【図9】図4のダイレクト・メモリ・アクセス・コント
ローラの第1動作モードを示すフローチャートである。
【図10】図4のダイレクト・メモリ・アクセス・コン
トローラの第1動作モードを示すフローチャートであ
る。
【図11】図4のダイレクト・メモリ・アクセス・コン
トローラの第2動作モードを示すフローチャートであ
る。
【図12】図4のダイレクト・メモリ・アクセス・コン
トローラの第2動作モードを示すフローチャートであ
る。
【図13】図4のダイレクト・メモリ・アクセス・コン
トローラの第2動作モードを示すフローチャートであ
る。
【図14】図4のダイレクト・メモリ・アクセス・コン
トローラの第3動作モードを示している。
【図15】図4のダイレクト・メモリ・アクセス・コン
トローラの第3動作モードを示している。
【図16】図4のダイレクト・メモリ・アクセス・コン
トローラの第4動作モードを示している。
【図17】図4のダイレクト・メモリ・アクセス・コン
トローラの第4動作モードを示している。
【図18】図4のダイレクト・メモリ・アクセス・コン
トローラの第4動作モードを示している。
【図19】図4のダイレクト・メモリ・アクセス・コン
トローラの第5動作モードを示している。
【図20】図4のダイレクト・メモリ・アクセス・コン
トローラの第5動作モードを示している。
【図21】図4のダイレクト・メモリ・アクセス・コン
トローラの第6動作モードを示している。
【図22】図4のダイレクト・メモリ・アクセス・コン
トローラの第6動作モードを示している。
【図23】図4のダイレクト・メモリ・アクセス・コン
トローラの第6動作モードを示している。
【図24】図4のダイレクト・メモリ・アクセス・コン
トローラの第7動作モードを示している。
【図25】図4のダイレクト・メモリ・アクセス・コン
トローラの第7動作モードを示している。
【図26】図4のダイレクト・メモリ・アクセス・コン
トローラの第8動作モードを示している。
【図27】図4のダイレクト・メモリ・アクセス・コン
トローラの第8動作モードを示している。
【図28】図4のダイレクト・メモリ・アクセス・コン
トローラの第8動作モードを示している。
【図29】図4のダイレクト・メモリ・アクセス・コン
トローラの第9および第10動作モードを示している。
【図30】図4のダイレクト・メモリ・アクセス・コン
トローラの第9および第10動作モードを示している。
【図31】図4のダイレクト・メモリ・アクセス・コン
トローラの第11および第12動作モードを示してい
る。
【図32】図4のダイレクト・メモリ・アクセス・コン
トローラの第11および第12動作モードを示してい
る。
【図33】図4のダイレクト・メモリ・アクセス・コン
トローラの第13、第14、第15、および第16動作
モードを示している。
【図34】図4のダイレクト・メモリ・アクセス・コン
トローラの第13、第14、第15、および第16動作
モードを示している。
【図35】図4のダイレクト・メモリ・アクセス・コン
トローラの第17動作モードを示している。
【図36】図4のダイレクト・メモリ・アクセス・コン
トローラの第17動作モードを示している。
【図37】図4のダイレクト・メモリ・アクセス・コン
トローラの第18動作モードを示している。
【図38】図4のダイレクト・メモリ・アクセス・コン
トローラの第18動作モードを示している。
【図39】DMA前処理ルーチンを示すフローチャート
である。
【図40】DMA後処理ルーチンを示すフローチャート
である。
【符号の説明】
2 CPU 3 システムRAM 4 PCIブリッジ 5 グラフィックス/IOシステム 6 液晶ディスプレイパネル 7 UMA SDRAM 8 システムバス 9 PCIバス 11 PCI/MPXインタフェース 12 ダイレクト・メモリ・アクセス・コントローラ 13 メモリ・インタフェース 14 グラフィックス・エンジン 15 ビデオ入力インタフェース 16 デジタル・フラット・パネル・インタフェース 17 ATAPIインタフェース 20 ピクセルバス 21 レジスタバス 54 割込みコンセントレート 61 FIFO 62 システム・インタフェース 64 レジスタバス・インタフェース 66 DMAカウントレジスタ 67 チャンネル・レジスタ 68 制御レジスタ 69 MUX 70 PIOバイパス・チャンネル 71 割込みユニット

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 バースト転送モードで動作可能なバスと
    単一の転送モード・バスとをブリッジするためのバース
    トモード・データ転送プロキシになることを特徴とする
    コンピュータ・システム・コンポーネント。
  2. 【請求項2】 請求項1に記載のコンピュータ・システ
    ム・コンポーネントにおいて、 遠隔からプログラム可能な制御レジスタ手段と、 バーストモード・バスと単一の転送モード・バスとの間
    でデータ転送をバッファリングするための複数のバッフ
    ァと、 前記制御レジスタ手段内の制御データに依存して動作可
    能であり、前記バッファを第1バーストモード・バスに
    インタフェースで連結する第1バーストモード・バス・
    インタフェースと、 前記制御レジスタ手段内の制御データに依存して動作可
    能であり、前記バッファを単一の転送モード・バスにイ
    ンタフェースで連結するための単一の転送モード・バス
    ・インタフェースとを備えることを特徴とするコンピュ
    ータ・システム・コンポーネント。
  3. 【請求項3】 請求項2に記載のコンピュータ・システ
    ム・コンポーネントにおいて、 前記制御レジスタ手段内の制御データに依存して動作可
    能であり、前記バッファを第2バーストモード・バスに
    インタフェースで連結するための第2バーストモード・
    バス・インタフェースを有することを特徴とするコンピ
    ュータ・システム・コンポーネント。
  4. 【請求項4】 請求項2または3に記載のコンピュータ
    ・システム・コンポーネントにおいて、 前記バッファが複数のFIFOから成ることを特徴とす
    るコンピュータ・システム・コンポーネント。
  5. 【請求項5】 請求項2,3または4に記載のコンピュ
    ータ・システム・コンポーネントにおいて、 前記バッファがランダム・アクセス・メモリのセルによ
    って実施されることを特徴とするコンピュータ・システ
    ム・コンポーネント。
  6. 【請求項6】 請求項5に記載のコンピュータ・システ
    ム・コンポーネントにおいて、 前記ランダム・アクセス・メモリはデュアルポート・ラ
    ンダム・アクセス・メモリであり、前記第1バーストモ
    ード・バス・インタフェースと前記単一の転送モード・
    インタフェースとは前記ランダム・アクセス・メモリの
    一方のポートを共用し、前記第2バーストモード・バス
    ・インタフェースは前記ランダム・アクセス・メモリの
    他方のポートを使用することを特徴とするコンピュータ
    ・システム・コンポーネント。
  7. 【請求項7】 請求項5または6に記載のコンピュータ
    ・システム・コンポーネントにおいて、 前記ランダム・アクセス・メモリ内の前記FIFOの位
    置およびサイズは前記制御レジスタ手段内のデータによ
    って規定されることを特徴とするコンピュータ・システ
    ム・コンポーネント。
  8. 【請求項8】 請求項5,6または7に記載のコンピュ
    ータ・システム・コンポーネントにおいて、 前記第1バーストモード・バス・インタフェースは、前
    記制御レジスタ手段により、遠隔デバイスが前記バッフ
    ァの1つを形成するセルにデータのバーストを直接書き
    込み可能なように構成されていることを特徴とするコン
    ピュータ・システム・コンポーネント。
  9. 【請求項9】 請求項5,6または7に記載のコンピュ
    ータ・システム・コンポーネントにおいて、 前記第1バーストモード・バス・インタフェースは、前
    記制御レジスタ手段により、遠隔デバイスが前記バッフ
    ァの1つを形成するセルからデータのバーストを直接読
    み出し可能なように構成されていることを特徴とするコ
    ンピュータ・システム・コンポーネント。
  10. 【請求項10】 請求項5〜9のいずれか一項に記載の
    コンピュータ・システム・コンポーネントにおいて、 前記バーストモード・バス・インタフェースは、前記制
    御レジスタ手段により、前記バッファの1つからデータ
    のバーストを読み出し、それを遠隔アドレスにバースト
    モード・バスを介して書き込むように構成され、前記遠
    隔アドレスと前記バッファとは前記制御レジスタ手段内
    のデータによって決定されることを特徴とするコンピュ
    ータ・システム・コンポーネント。
  11. 【請求項11】 請求項5〜10のいずれか一項に記載
    のコンピュータ・システム・コンポーネントにおいて、 前記バーストモード・バス・インタフェースは、前記制
    御レジスタ手段により、バーストモード・バスを介して
    遠隔アドレスからデータのバーストを読み出し、それを
    前記バッファの1つに書き込むように構成され、前記遠
    隔アドレスと前記バッファとは前記制御レジスタ手段内
    のデータによって決定されることを特徴とするコンピュ
    ータ・システム・コンポーネント。
  12. 【請求項12】 請求項4〜11のいずれか一項に記載
    のコンピュータ・システム・コンポーネントにおいて、 前記単一の転送モード・バス・インタフェースは、FI
    FOのヘッドからデータを読み出し、それを遠隔アドレ
    スに書き込むために構成され、FIFOにより識別され
    て、単一の転送モード・バスを介して前記制御レジスタ
    手段により提供されたマッピングをアドレス指定するこ
    とを特徴とするコンピュータ・システム・コンポーネン
    ト。
  13. 【請求項13】 請求項4〜12のいずれか一項に記載
    のコンピュータ・システム・コンポーネントにおいて、 ダイレクト・メモリ・アクセスリクエスト信号に応答す
    るダイレクト・メモリ・アクセス制御手段を有し、前記
    単一の転送モード・バス・インタフェースが、前記ダイ
    レクト・メモリ・アクセス制御手段によって受信された
    ダイレクト・メモリ・アクセスリクエスト信号に応答し
    て動作可能であり、遠隔アドレスから単一の転送モード
    ・バスを介して前記FIFOの1つにデータを転送する
    ことを特徴とするコンピュータ・システム・コンポーネ
    ント。
  14. 【請求項14】 請求項13に記載のコンピュータ・シ
    ステム・コンポーネントにおいて、 前記制御レジスタ手段がプログラム可能であり、前記F
    IFOがダイレクト・メモリ・アクセスリクエスト信号
    のソースに依存して選択されるようにすることを特徴と
    するコンピュータ・システム・コンポーネント。
  15. 【請求項15】 請求項4〜14のいずれか一項に記載
    のコンピュータ・システム・コンポーネントにおいて、 ダイレクト・メモリ・アクセスリクエスト信号に応答す
    るダイレクト・メモリ・アクセス制御手段を有し、前記
    単一の転送モード・バス・インタフェースが、前記ダイ
    レクト・メモリ・アクセス制御手段によって受信された
    ダイレクト・メモリ・アクセスリクエスト信号に応答し
    て動作可能であり、遠隔アドレスから単一の転送モード
    ・バスを介して前記FIFOの1つにデータを転送する
    ことを特徴とするコンピュータ・システム・コンポーネ
    ント。
  16. 【請求項16】 請求項15に記載のコンピュータ・シ
    ステム・コンポーネントにおいて、 前記制御レジスタ手段がプログラム可能であり、前記F
    IFOがダイレクト・メモリ・アクセスリクエスト信号
    のソースに依存して選択されるようにすることを特徴と
    するコンピュータ・システム・コンポーネント。
  17. 【請求項17】 請求項4〜16のいずれか一項に記載
    のコンピュータ・システム・コンポーネントにおいて、 前記第1バーストモード・バス・インタフェースと前記
    単一の転送モード・バス・インタフェースとを構成し
    て、前記第1バーストモード・バス・インタフェースに
    接続されたバーストモード・バスと前記単一の転送モー
    ド・バス・インタフェースに接続された単一の転送モー
    ド・バスとの間に単一の転送モード転送のために前記F
    IFOをバイパスすることを特徴とするコンピュータ・
    システム・コンポーネント。
  18. 【請求項18】 請求項17に記載のコンピュータ・シ
    ステム・コンポーネントにおいて、 バーストモード・バス・インタフェースは、関連するア
    ドレス信号によってバーストモード転送と前記単一の転
    送モード転送とを識別することを特徴とするコンピュー
    タ・システム・コンポーネント。
  19. 【請求項19】 請求項17または18に記載のコンピ
    ュータ・システム・コンポーネントにおいて、 前記単一の転送モード・バス・インタフェースを構成し
    て、前記第1バーストモード・バス・インタフェースに
    接続されたバーストモード・バスから、単一転送モード
    転送用に接続された単一のモード転送バスへのアクセス
    を制限することを特徴とするコンピュータ・システム・
    コンポーネント。
  20. 【請求項20】 請求項19に記載のコンピュータ・シ
    ステム・コンポーネントにおいて、 前記単一の転送モード・バス・インタフェースが、1ク
    ロックの各サイクルに対して前記制御レジスタ手段の所
    定の1つの中で、ある値までカウンタを増大させ、 増大させている間に、単一の転送モード転送が起こり、
    前記FIFOをバイパスし、前記制御レジスタ手段の所
    定の1つの中で規定されたしきい値にカウントが達する
    時に、前記単一の転送モード・バスへのアクセスを防止
    するようにし、 そのような単一の転送モード転送が起こらない時に、前
    記カウントが前記クロックの各サイクルに対して1まで
    減少させられることを特徴とするコンピュータ・システ
    ム・コンポーネント。
  21. 【請求項21】 コンピュータ装置内で使用するための
    周辺回路であって、請求項3〜20のいずれか一項に記
    載されたコンピュータ・システム・コンポーネントと、 前記コンピュータ・システム・コンポーネントの前記第
    2バーストモード・バス・インタフェースに接続された
    第1バーストモード・バスと、 前記コンピュータ・システム・コンポーネントの前記単
    一の転送モード・バス・インタフェースに接続された単
    一の転送モード・バスと、 第2バーストモード・バスに前記周辺回路をインタフェ
    ースで連結するためのインタフェース回路とを備え、 前記インタフェース回路を介してデータ転送に関連され
    るアドレスに依存して、前記第1バーストモード・バス
    を、または、前記コンピュータ・システム・コンポーネ
    ントの前記第1バーストモード・バス・インタフェース
    を前記第2バーストモード・バスに有効的に接続するこ
    とを特徴とする周辺回路。
  22. 【請求項22】 請求項21に記載の周辺回路におい
    て、 前記第1バーストモード・バスを介してアクセス可能な
    SDRAMを有することを特徴とする周辺回路。
  23. 【請求項23】 請求項21または22に記載の周辺回
    路において、 信号データの転送用に前記第1バーストモード・バスへ
    の直接アクセスと、制御データの転送用に前記単一の転
    送モード・バスへの直接アクセスとを備えるサブシステ
    ムを有することを特徴とする周辺回路。
  24. 【請求項24】 請求項21,22または23に記載の
    周辺回路において、 信号データと制御データとの転送用に前記単一の転送モ
    ード・バスへの直接アクセスを備えるサブシステムを有
    することを特徴とする周辺回路。
  25. 【請求項25】 中央処理装置と、前記中央処理装置に
    アクセス可能なバーストモード・バスと、請求項21〜
    24のいずれか一項に記載された周辺回路とを有するコ
    ンピュータ・システムであって、 前記インタフェース回路が、前記第1バーストモード・
    バスと前記コンピュータ・システム・コンポーネントと
    に、前記中央処理装置にアクセス可能な前記バーストモ
    ード・バスをインタフェースで連結することを特徴とす
    るコンピュータ・システム。
JP2002339808A 2001-12-07 2002-11-22 コンピュータ・システム・コンポーネント Pending JP2003196226A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP01310244A EP1318457B1 (en) 2001-12-07 2001-12-07 Bus bridge with a burst transfer mode bus and a single transfer mode bus
EP01310244.7 2001-12-07

Publications (1)

Publication Number Publication Date
JP2003196226A true JP2003196226A (ja) 2003-07-11

Family

ID=8182520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002339808A Pending JP2003196226A (ja) 2001-12-07 2002-11-22 コンピュータ・システム・コンポーネント

Country Status (5)

Country Link
US (1) US6954818B2 (ja)
EP (1) EP1318457B1 (ja)
JP (1) JP2003196226A (ja)
AT (1) ATE367610T1 (ja)
DE (1) DE60129448T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018514A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
JP2006345285A (ja) * 2005-06-09 2006-12-21 Sharp Corp 映像機器
JP2011013919A (ja) * 2009-07-01 2011-01-20 Fujitsu Ltd 転送速度設定方法、データ転送装置及び情報処理システム

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI115006B (fi) * 2003-06-13 2005-02-15 Nokia Corp Menetelmä ja järjestely parannellun näyttölaiterajapinnan sovittamiseksi näyttölaitteen ja prosessorin välille
US7136943B2 (en) * 2004-03-18 2006-11-14 International Business Machines Corporation Method and apparatus for managing context switches using a context switch history table
SE533636C2 (sv) * 2004-10-25 2010-11-16 Xinshu Man L L C Anordning vid bussförbindelse i CAN-system
US7496686B2 (en) * 2005-01-28 2009-02-24 Gencsus Localizing a remote event timestamp from a network device with an independent clock method and apparatus
US7444442B2 (en) * 2005-12-13 2008-10-28 Shashank Dabral Data packing in a 32-bit DMA architecture
US7685371B1 (en) * 2006-04-19 2010-03-23 Nvidia Corporation Hierarchical flush barrier mechanism with deadlock avoidance
FR2901618A1 (fr) * 2006-05-24 2007-11-30 St Microelectronics Sa Controleur de dma, systeme sur puce comprenant un tel controleur de dma, procede d'echange de donnees par l'intermediaire d'un tel controleur de dma
US20080005257A1 (en) * 2006-06-29 2008-01-03 Kestrelink Corporation Dual processor based digital media player architecture with network support
US7856516B2 (en) * 2006-10-27 2010-12-21 Kyocera Mita Corporation Interfacing incompatible signaling using generic I/O and interrupt routines
US7924296B2 (en) * 2007-02-20 2011-04-12 Mtekvision Co., Ltd. System and method for DMA controlled image processing
US7673091B2 (en) * 2007-04-24 2010-03-02 Texas Instruments Incorporated Method to hide or reduce access latency of a slow peripheral in a pipelined direct memory access system
US8041855B1 (en) * 2009-01-27 2011-10-18 Xilinx, Inc. Dual-bus system for communicating with a processor
DE102011009518B4 (de) * 2011-01-26 2013-09-12 Ruprecht-Karls-Universität Heidelberg Schaltungsanordnung für Verbindungsschnittstelle
US20140082238A1 (en) * 2012-09-14 2014-03-20 Nvidia Corporation Method and system for implementing a control register access bus
US9563586B2 (en) * 2013-04-11 2017-02-07 Apple Inc. Shims for processor interface
CN104915213B (zh) * 2015-06-19 2018-05-18 东南大学 一种可重构系统的局部重构控制器
US9927997B2 (en) * 2015-12-21 2018-03-27 Sandisk Technologies Llc Methods, systems, and computer readable media for automatically and selectively enabling burst mode operation in a storage device
JP2017208750A (ja) * 2016-05-20 2017-11-24 ローム株式会社 映像監視装置、映像表示システム、及び車両
CN112835842B (zh) * 2021-03-05 2024-04-30 深圳市汇顶科技股份有限公司 端序处理方法、电路、芯片以及电子终端

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537602A (en) * 1988-09-16 1996-07-16 Hitachi, Ltd. Process system for controlling bus system to communicate data between resource and processor
JP2601960B2 (ja) * 1990-11-15 1997-04-23 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理方法及びその装置
US5897667A (en) * 1993-11-16 1999-04-27 Intel Corporation Method and apparatus for transferring data received from a first bus in a non-burst manner to a second bus in a burst manner
US5771359A (en) * 1995-10-13 1998-06-23 Compaq Computer Corporation Bridge having a data buffer for each bus master
US6298407B1 (en) * 1998-03-04 2001-10-02 Intel Corporation Trigger points for performance optimization in bus-to-bus bridges
US6247086B1 (en) * 1998-11-12 2001-06-12 Adaptec, Inc. PCI bridge for optimized command delivery
JP3976927B2 (ja) * 1999-01-25 2007-09-19 キヤノン株式会社 バス制御装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018514A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
JP4547198B2 (ja) * 2004-06-30 2010-09-22 富士通株式会社 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
JP2006345285A (ja) * 2005-06-09 2006-12-21 Sharp Corp 映像機器
JP2011013919A (ja) * 2009-07-01 2011-01-20 Fujitsu Ltd 転送速度設定方法、データ転送装置及び情報処理システム
US8769142B2 (en) 2009-07-01 2014-07-01 Fujitsu Limited Data transfer apparatus, information processing apparatus and method of setting data transfer rate

Also Published As

Publication number Publication date
US6954818B2 (en) 2005-10-11
US20030200373A1 (en) 2003-10-23
DE60129448D1 (de) 2007-08-30
ATE367610T1 (de) 2007-08-15
DE60129448T2 (de) 2008-04-10
EP1318457A1 (en) 2003-06-11
EP1318457B1 (en) 2007-07-18

Similar Documents

Publication Publication Date Title
JP2003196226A (ja) コンピュータ・システム・コンポーネント
US5511165A (en) Method and apparatus for communicating data across a bus bridge upon request
US5796413A (en) Graphics controller utilizing video memory to provide macro command capability and enhanched command buffering
US5392396A (en) Method and apparatus for gradually degrading video data
US5655112A (en) Method and apparatus for enabling data paths on a remote bus
US5613162A (en) Method and apparatus for performing efficient direct memory access data transfers
JP3336816B2 (ja) マルチメディア通信装置及び方法
US5369617A (en) High speed memory interface for video teleconferencing applications
US6734862B1 (en) Memory controller hub
JPH0827707B2 (ja) Fifoバッファの制御装置及び制御方法並びにデータ転送を制御する装置
JP2002507302A (ja) コントローラレス・モデムのdosベース・アプリケーションのサポート
US6671765B1 (en) Architecture enabling code overlay using a dedicated endpoint
US6122679A (en) Master DMA controller with re-map engine for only spawning programming cycles to slave DMA controllers which do not match current programming cycle
US5710939A (en) Bidirectional parallel data port having multiple data transfer rates, master, and slave operation modes, and selective data transfer termination
US7249204B2 (en) Data transfer control device electronic equipment and method data transfer control
EP0850450B1 (en) Computer system which includes a local expansion bus and a dedicated real-time bus for increased multimedia performance
JP3614161B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
CN115101025B (zh) 一种支持虚拟帧缓冲的lcd控制电路及其控制方法
JPH06214945A (ja) コンピュータシステム及び情報の高速転送方法
CN114780052A (zh) 基于PCIe双SOC系统之间实现远程显示的方法、系统、装置、处理器及其存储介质
WO1998013767A9 (en) Multimedia data controller
JPS6155763A (ja) 制御装置におけるチヤネルデ−タ格納制御方式
JPH03262064A (ja) システムバスを用いたデータ転送方式
Jianfeng et al. Elevator multimedia display unit design
JPH10124445A (ja) 情報処理装置およびコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081007

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090224