JPH09179812A - 情報処理システム及びその制御方法 - Google Patents

情報処理システム及びその制御方法

Info

Publication number
JPH09179812A
JPH09179812A JP7325476A JP32547695A JPH09179812A JP H09179812 A JPH09179812 A JP H09179812A JP 7325476 A JP7325476 A JP 7325476A JP 32547695 A JP32547695 A JP 32547695A JP H09179812 A JPH09179812 A JP H09179812A
Authority
JP
Japan
Prior art keywords
bus
address
dma
access
information processing
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
JP7325476A
Other languages
English (en)
Other versions
JP3403284B2 (ja
Inventor
Takashi Yanagisawa
貴 柳澤
Masayoshi Taniguchi
政義 谷口
Masatake Nakano
正剛 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP32547695A priority Critical patent/JP3403284B2/ja
Priority to US08/710,453 priority patent/US5878272A/en
Publication of JPH09179812A publication Critical patent/JPH09179812A/ja
Priority to US09/122,283 priority patent/US6209042B1/en
Application granted granted Critical
Publication of JP3403284B2 publication Critical patent/JP3403284B2/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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 自システム内及びドッキング・ステーション
の双方にDMAコントローラが並存する場合であっても
正確にDMA転送を行える情報処理システム及びその制
御方法を提供する。 【解決手段】 CPUと1以上の周辺機器を含み、且つ
CPUは各周辺機器の制御レジスタにそれぞれ固有のI
/Oアドレスを割り当てることにより周辺機器を制御す
るタイプの情報処理システムにおいて、さらに、所定の
I/Oアドレスを割り当てられた第1のDMAコントロ
ーラと、前記所定のI/Oアドレスを割り当てられた第
2のDMAコントローラと、前記所定のI/Oアドレス
へのI/Oアクセス要求が発生したときは前記第1及び
第2のDMAコントローラに代行して前記CPUに応答
する制御回路と、を含むことを特徴とする情報処理シス
テムである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、いわゆるドッキン
グ・ステーションに装着可能な優れた情報処理システム
及びその制御方法に係り、特に、ドッキング・ステーシ
ョンに装着した間であっても的確にDMA転送を行える
情報処理システム及びその制御方法に関する。
【0002】更に詳しくは、本発明は、自システム内及
びドッキング・ステーションの双方にDMAコントロー
ラが並存する場合であっても的確にDMA転送を行える
情報処理システム及びその制御方法に関し、とりわけ、
並存する各DMAコントローラに同一のI/Oポート・
アドレスが割り当てられている場合であっても好適にD
MA転送を行える情報処理システム及びその制御方法に
関する。
【0003】
【従来の技術】昨今の技術革新に伴い、デスクトップ
型、ノートブック型など各種パーソナル・コンピュータ
(PC)が開発され、市販されている。
【0004】コンピュータ・システムの構成 コンピュータ・システムの基本構造は、「バス」と呼ば
れる共通信号伝送路を介して、システム全体の動作を統
御するためのCPUがメモリやその他の周辺機器類と連
絡している、というものである。ここで、「バス」と
は、データ信号線、アドレス信号線、制御信号線などの
多数の信号線で構成される。
【0005】バス・アーキテクチャの標準的な規格とし
ては、従来よりISA(Industry Standard Architectu
re)が広く知られている。ISAバスは、IBM PC
/AT(PC/ATは米IBM社の商標)に採用された
バス、すなわち米Intel社製のCPUチップ802
86(外部バス幅16ビット、動作クロック6MHz)
に合わせて設計されたバスであり、その主な性能は、バ
ス幅16ビット、動作クロック8MHz、最大転送速度
4mbpsである。ISAバスは、最も普及したバス・
アーキテクチャの代表例であり、互換性のある(すなわ
ち装着可能で、且つ正常に動作する)拡張ボード、周辺
機器、及びソフトウェア(OS、BIOS、アプリケー
ション)を豊富に備えている。すなわち、ISAバスは
過去の多くの資産(Legacy)を継承したバスとも
言えよう。
【0006】当初は、殆どのCPUチップが8MHz、
12MHzといった比較的低速なクロックで動作してい
たため、ISAバスもCPUと同じクロックで動作する
ことができた。しかしながら、昨今、CPUチップがま
すますパワー・アップしてくるにつれて(例えば米in
tel社製のi486やPentium、あるいは米I
BM社等が開発したPowerPC 6xx("Pow
erPC"は米IBM社の商標))、ISAバスはCP
Uの足を引っ張るようになってきた。また、グラフィッ
ク・ビデオ・サブシステム、フルモーション・ビデオ・
サブシステム、SCSI(Small Computer System Inte
rface)系のストレージ・サブシステム、ネットワーク
・サブシステムなど、高速なデータ転送を必要とするデ
バイス(アダプタ・カード)が増えてきたが、これらに
とってISAバスは役不足の感がある。
【0007】PCI(Peripheral Component Interconn
ect)は、ISAバスのデータ転送の遅さを補完するこ
とを1つの目的として開発されたバス・アーキテクチャ
である。PCIバスは、1991年に米Intel社が
仕様案を提唱したことに端を発した、高速動作が可能な
バスであり、その主な性能は、バス幅32ビット、動作
周波数33MHz、最高転送速度132mbpsであ
る。PCIの他の特徴は、全てのバスとブリッジ回路で
接続できるように策定されている点である。例えば、P
CIバスとCPUとは「ホスト−PCIブリッジ回路」
で、ISAバスとは「PCI−ISAブリッジ回路」
で、PCIバス同士は「PCI−PCIブリッジ回路」
で、それぞれ相互接続できるようになっている。ブリッ
ジ接続された各バスはそれぞれ独立して(すなわち非同
期に)駆動するようになっているので、電気的特性や安
定性の問題を生じない。
【0008】現在の高性能PCの中には、ハードウェア
及びソフトウェアの両面で資産が豊富なISAバスを備
える一方で、グラフィックス処理などのために高速バス
としてPCIバスを採用しているものも多い。図8に
は、このような高性能PCのハードウェア構成を概略的
に示している。同図に示すように、システムは、PCI
バス(ローカル・バス)16とISAバス(システム・
バス)22という2階層の構造を備えている。CPU1
1の外部ピンに直結するプロセッサ・バス12は、ブリ
ッジ回路(ホスト−PCI)14を経由してPCIバス
16と連絡している。PCIバス16上には、ビデオ・
コントローラ17Aなど比較的高速動作を要するデバイ
ス類が装着されている。また、ISAバス22は、ブリ
ッジ回路(PCI−ISA)20を経由してPCIバス
16に連絡しているとともに、フロッピー・ディスク・
コントローラ(FDC)、シリアル・ポート、パラレル
・ポート、キーボード、マウスなど比較的低速動作する
デバイス類が装着されている。
【0009】ドッキング・ステーション ここまでは、デスクトップ型とノートブック型を問わず
全般的に話を進めてきた。しかしながら、小型軽量・携
帯性を重視するノートブック・コンピュータは、デスク
トップ型とは一線を画す部分がある。例えば、ノートブ
ック・コンピュータは、小型で収容スペースにゆとりが
なく、表面積も狭いため、装備可能なバス・スロット数
が著しく制約される(デスクトップ型では10個以上の
バス・スロットを持つ製品も珍しくないのに対して、ラ
ップトップ/ノートブック型では、バス・スロットが全
く用意されないか、あってもせいぜい1,2個程度に過
ぎない)。また、ノートブック・コンピュータは、可搬
性を最大の特徴にするが、机上での作業の際又は携行の
際に、その都度ポート類(例えばプリンタ・ケーブル、
モニタ・ケーブル、通信ケーブル)を取付け・取り外し
するのでは、煩雑であり、可搬性を損なうことになる。
【0010】いわゆる「ドッキング・ステーション(D
ocking Station:「拡張ボックス」又は
「拡張ユニット」ともいう)」は、ノートブック・コン
ピュータの可搬性を損なうことなく、且つ、オフィス内
での使用時にデスクトップ・コンピュータと同じ作業環
境をノートブック・コンピュータに付与するためのもの
である。ドッキング・ステーションの主な機能は、「ポ
ート代行(Port Replication)機能」と、「バス拡張
(Bus Expansion)機能」である。ポート代行機能は、
ドッキング・ステーションがノートブック・コンピュー
タの接続ポート類を延長して備えていることによって実
現される。すなわち、ドッキング・ステーション側の各
ポートに予めケーブルを接続しておけば、ユーザはノー
トブック・コンピュータをドッキングさせるだけで即座
にプリンタやモニタ、ネットワークの利用が可能になる
訳である。また、バス拡張機能は、ドッキング・ステー
ションがノートブック・コンピュータ内のバスを拡張す
るとともにバス・スロットを備えることによって実現さ
れる。ユーザは、厳しい制約を受けることなく、所望の
カード・デバイス類をドッキング・ステーションに装着
できる訳である。なお、ドッキング・ステーション自体
については、例えば本出願人に既に譲渡されている特願
平06−134124号明細書(当社整理番号:JA9
−94−030)などに開示されている。
【0011】従来のドッキング・ステーションの多く
は、システム中のISAバスを拡張するタイプであっ
た。この理由は、システム・バスすなわちISAバスが
豊富な資産を備えていることにも依拠する。ところが、
最近では、ローカル・バスすなわちPCIバスを拡張さ
せたい、というニーズも高まってきた。これは、バスの
電気的特性や安定性の維持のために、1本のPCIバス
上にロード可能なカード・デバイス類10個まで(但
し、コネクタを経由した接続はデバイス2個分とカウン
トする)に制限されているからである。
【0012】図9には、PCIバスのバス拡張機能を備
えたドッキング・ステーション、及びこれにドッキング
されたノートブック・コンピュータのハードウェア構成
を概略的に示している。同図に示すように、ドッキング
・ステーションは、ISAの資産を継承する目的で、P
CIバス(2次PCIバス)50だけでなくISAバス
(2次ISAバス)53も備えている。2次PCIバス
50とISAバス53は、ブリッジ回路(PCI−IS
A)51を介して連絡している。また、ノートブック・
コンピュータ内のPCIバス(主(Primary)PCIバ
ス)16と2次(Secondary)PCIバス50とは、バ
ス接続制御装置60によって連絡している。このバス接
続制御装置60は、PCI−PCIブリッジ回路として
の機能を備えており、主PCIバス16上のバス・シグ
ナルを受信するとともに、受信したバス・シグナルに応
じて2次PCIバス50を駆動するようになっている。
また、ドッキング・ステーションは、自身の筐体内に少
なくとも1個のPCIスロット及びISAスロットを備
えるとともに、筐体表面には少なくとも1個の接続ポー
トを配している。
【0013】
【発明が解決しようとする課題】DMA転送 ところで、現在市販されている殆ど全てのパーソナル・
コンピュータは、DMA(Direct Memory
Access:直接メモリ・アクセス)なる技術を備
えている。DMAとは、CPUを介さずに、フロッピー
・ディスク・コントローラなどの周辺コントローラとメ
イン・メモリとの間でデータ転送を行う仕組みである。
ディスクからデータを読み出してメモリに格納する、と
いう作業は頻繁に繰り返される(例えばアプリケーショ
ンの起動など)。DMA転送によれば、CPUはデータ
転送作業に関与しないので、その間別の作業を実行する
ことができる。つまり、DMA転送は、特定の周辺機器
によってCPUが長時間専有されることを避け、以てシ
ステムのスループットを向上させるための技術なのであ
る。
【0014】比較的低速で動作するISAデバイス(例
えばフロッピー・ディスク・ドライブやプリンタ、オー
ディオ・コントローラなど)の多くは、DMAデータ転
送を行い、CPUを他のジョブのために解放するように
なっている。また、DMA転送を制御するための専用の
LSI、すなわち「DMAコントローラ」が用いられ
る。ISAバス上のDMAを制御するDMAコントロー
ラもISAの資産の1つと言えよう。DMAコントロー
ラは、DMA転送を要求するISAデバイスと同期的に
駆動しなければならないので、ISAバスの近傍に配置
する必要がある。例えば図8に示すシステム中では、D
MAコントローラ(以下、「第1のDMAコントロー
ラ」という)はPCI−ISAブリッジ回路20内に置
かれ、ISAバス22上のDMA要求を好適に捌けるよ
うになっている。
【0015】一方、図9に示すシステムにおいては、I
SAバスは、ノートブック・コンピュータ及びドッキン
グ・ステーションの各々に装備されている。DMAコン
トローラはバス動作に同期する必要があるため、当然、
ドッキング・ステーション側のブリッジ回路51内にも
DMAコントローラ(以下、「第2のDMAコントロー
ラ」という)を置かなければならないことになる。
【0016】DMAコントローラの共存 ところで、既に広く知られているように、CPUは、周
辺機器の制御レジスタにアクセス(リード・アクセス及
びライト・アクセスの双方を含む)することによって周
辺機器を制御するようになっている。制御レジスタへの
アクセス方式は、物理アドレス空間の一部に各制御レジ
スタを割り当てる「メモリ・マップI/O方式」と、あ
るいは物理アドレス空間とは別に用意された入出力専用
のアドレス空間(I/O空間)に各制御レジスタを割り
当てる「I/Oアドレス方式」とがある。以下では、I
/Oアドレス方式に特化して説明することにする。I/
Oアドレス方式は、I/Oアドレス空間を扱う機能を持
つCPUチップ(例えば米Intel社のx86系チッ
プ)を搭載したシステムだけが利用可能な制御方式であ
る。CPUは、各周辺機器の制御レジスタに割り当てら
れたI/Oアドレスにアクセスする(すなわちI/Oア
クセスする)ことによって、周辺機器を制御するように
なっている。
【0017】先述のDMAコントローラも、CPUから
見れば1つの周辺機器である。例えばIBM PC/A
Tの互換機(以下、単に「AT互換機」という)では、
DMAコントローラの制御レジスタには、000h番地
〜01Fh番地,0C0h番地〜0DFh番地,及び0
80h番地〜09Fh番地という各I/Oポート・アド
レスが割当てられている。DMA転送を開始するために
は、CPU(より具体的には周辺機器をハードウェア操
作するBIOS又はデバイス・ドライバ)は予め転送開
始アドレスや転送データ量などの制御値を制御レジスタ
内に設定しなければならない。すなわち、DMAコント
ローラの制御レジスタに予めI/Oアクセスしなければ
ならない。
【0018】ところが、IBM PC/ATの標準仕様
によれば、DMAコントローラはI/Oアドレス空間上
で単一の存在でなければならない。このことは、DMA
コントローラが2個以上並存していようとも、各々の制
御レジスタには同じI/Oポート・アドレスしか割り当
てることができないことを意味する。すなわち、2個の
DMAコントローラは物理的には独立して存在していよ
うとも、I/Oアドレス空間上は(すなわちCPU側か
ら見れば)、これら1つ1つを識別することはできない
のである(図10参照)。
【0019】例えば、2次ISAバス53上に接続され
たFDCのDMA転送を行いたい場合であっても、BI
OSやデバイス・ドライバは、主ISAバス22側のD
MAコントローラ内の制御レジスタに誤ってアクセスし
て、意味のない制御内容を読み書きして、意味のない制
御を行う可能性がある。このような意味のない制御内容
の授受に基づく意味のない制御は、システムの保全性を
揺るがしかねない。
【0020】また、主PCIバス16上に存在するDM
Aコントローラの方が、バス接続制御装置を介して連絡
している2次PCIバス50上のDMAコントローラよ
りも早いタイミングでI/Oアクセスに応答することが
可能である(何故ならば、2次PCIバス側のバス・サ
イクルは、バス接続制御回路60を経由する分だけ遅延
するからである)。この結果、本来は2次PCIバス5
0上の第2のDMAコントローラが応答すべき場合(例
えば2次ISAバス53上でDMA要求が発生した場
合)であっても、主PCIバス16側の第1のDMAコ
ントローラが先に勝手に応答してしまうことになる。す
なわちターゲットを誤ったI/Oアクセスが成立してし
まうのである。このようなターゲットを誤ったI/Oア
クセスは、システムの保全性を揺るがしかねない。
【0021】本発明の目的は、ドッキング・ステーショ
ンに装着可能な優れた情報処理システム及びその制御方
法を提供することにある。
【0022】本発明の更なる目的は、ドッキング・ステ
ーションに装着した間であっても的確にDMA転送を行
える情報処理システム及びその制御方法を提供すること
にある。
【0023】本発明の更なる目的は、自システム内及び
ドッキング・ステーションの双方にDMAコントローラ
が並存する場合であっても的確にDMA転送を行える情
報処理システム及びその制御方法を提供することにあ
る。
【0024】本発明の更なる目的は、並存する各DMA
コントローラが同一のI/Oポート・アドレスを割り当
てられている場合であっても、好適にDMA転送を行え
る情報処理システム及びその制御方法を提供することに
ある。
【0025】
【課題を解決するための手段】第1の側面: 本発明は、上記課題を参酌してなされたも
のであり、その第1の側面は、CPUと1以上の周辺機
器を含み、且つCPUは各周辺機器の制御レジスタにそ
れぞれ固有のI/Oアドレスを割り当てることにより周
辺機器を制御するタイプの情報処理システムにおいて、
さらに、所定のI/Oアドレスを割り当てられた第1の
DMAコントローラと、前記所定のI/Oアドレスを割
り当てられた第2のDMAコントローラと、前記所定の
I/OアドレスへのI/Oアクセス要求が発生したとき
は前記第1及び第2のDMAコントローラに代行して前
記CPUに応答する制御回路と、を含むことを特徴とす
る情報処理システムである。
【0026】第2の側面:本発明の第2の側面は、I/
Oアクセス方式でCPUが周辺機器を制御するタイプの
情報処理システムにおいて、(a) 前記CPUと前記周辺
機器とを連絡し、コマンド送付側機器がイニシエータ・
レディ信号を活動化させるとともにコマンド受信側機器
がデバイス・セレクト信号及びターゲット・レディ信号
を活動化させることによってハンドシェイクするタイプ
のバスと、(b) 前記バスに接続され、所定のI/Oアド
レスを割り当てられた第1のDMAコントローラと、
(c) 前記バスに接続され、前記所定のI/Oアドレスを
割り当てられた第2のDMAコントローラと、(d) 前記
第1のDMAコントローラから出力されるデバイス・セ
レクト信号線及びターゲット・レディ信号線を接続・切
り離しするための第1の接続・切り離し手段と、(e) 前
記第2のDMAコントローラから出力されるデバイス・
セレクト信号線及びターゲット・レディ信号線を接続・
切り離しするための第2の接続・切り離し手段と、(f)
前記バスに接続されるとともに、前記第1及び第2のD
MAコントローラから出力される各デバイス・セレクト
信号線及びターゲット・レディ信号線を入力し、バス上
に発生したI/Oアクセス動作に応じて前記第1及び第
2の接続・切り離し手段の開閉動作を制御するための制
御回路と、を含むことを特徴とする情報処理システムで
ある。
【0027】ここで、前記制御回路は、前記バス上で前
記DMAコントローラに割り当てられた所定のI/Oア
ドレスにアクセスするバス・サイクルの間は、前記第1
及び第2の接続・切り離し手段を切り離すようにしても
よい。
【0028】また、前記制御回路は、前記バス上で前記
DMAコントローラに割り当てられた所定のI/Oアド
レスへのアクセス要求が発生したときには、前記第1及
び第2の接続・切り離し手段を切り離すとともに前記バ
ス上でデバイス・セレクト信号を活動化させ、且つ、前
記第1及び第2のDMAコントローラの双方がターゲッ
ト・レディ信号を出力したことに応答して前記バス上で
ターゲット・レディ信号を活動化させるようにしてもよ
い。
【0029】また、前記バス上で前記DMAコントロー
ラに割り当てられた所定のI/Oアドレスへのアクセス
がライト・アクセスの場合、前記第1及び第2のDMA
コントローラは前記バスを介して受信した書き込みデー
タをそれぞれ自己の制御レジスタにそのまま書き込むよ
うにしてもよい。
【0030】また、前記バス上で前記DMAコントロー
ラに割り当てられた所定のI/Oアドレスへのアクセス
がリード・アクセスの場合、前記制御回路は、前記第1
及び第2のDMAコントローラの各々の制御レジスタの
内容を多重化して前記バス上に送出するようにしてもよ
い。ここでの多重化処理は、前記第1及び第2のDMA
コントローラの各チャネルの使用状況に応じて行うよう
にしてもよい。
【0031】また、前記制御回路は、前記バス上で前記
DMAコントローラに割り当てられた所定のI/Oアド
レスへのアクセス要求が発生したときには、前記第1及
び第2のDMAコントローラの双方がターゲット・レデ
ィ信号を出力するまでは、前記バス上でターゲット・レ
ディ信号を活動化させないことにより該アクセス・サイ
クルを終了させないようにしてもよい。
【0032】また、前記バスはPCI(Peripheral Com
ponent Interconnect)バスであってもよい。
【0033】第3の側面:本発明の第3の側面は、I/
Oアクセス方式で周辺機器を制御するタイプのCPU
と、1以上の周辺機器と、前記CPUと前記周辺機器と
を連絡し、コマンド送付側機器がイニシエータ・レディ
信号を活動化させるとともにコマンド受信側機器がデバ
イス・セレクト信号及びターゲット・レディ信号を活動
化させることによってハンドシェイクするタイプのバス
と、前記バスに接続され且つ所定のI/Oアドレスを割
り当てられた第1のDMAコントローラと、前記バスに
接続され且つ前記所定のI/Oアドレスを割り当てられ
た第2のDMAコントローラと、を含む情報処理システ
ムの制御方法において、(a) 前記CPUが前記所定のI
/Oアドレスにアクセスを開始する段階と、(b) 該アク
セスの開始に応答して前記バス上でデバイス・セレクト
信号を活動化させる段階と、(c) 前記第1及び第2のD
MAコントローラの双方がターゲット・レディ信号を出
力したことに応答して前記バス上でターゲット・レディ
信号を活動化させる段階と、を特徴とする情報処理シス
テムの制御方法である。
【0034】ここで、前記所定のI/Oアドレスへのア
クセスがライト・アクセスの場合、前記第1及び第2の
DMAコントローラは前記バスを介して受信した書き込
みデータをそれぞれ自己の制御レジスタにそのまま書き
込むようにしてもよい。
【0035】また、前記所定のI/Oアドレスへのアク
セスがリード・アクセスの場合、前記第1及び第2のD
MAコントローラの各々の制御レジスタの内容を多重化
して前記バス上に送出するようにしてもよい。ここでの
多重化処理は、前記第1及び第2のDMAコントローラ
の各チャネルの使用状況に応じて行うようにしてもよ
い。
【0036】また、前記バスはPCI(Peripheral Com
ponent Interconnect)バスであってもよい。
【0037】第4の側面:本発明の第4の側面は、CP
UはI/Oアクセス方式により周辺機器を制御し、且
つ、コマンド送付側機器がイニシエータ・レディ信号を
活動化させるとともにコマンド受信側機器がデバイス・
セレクト信号及びターゲット・レディ信号を活動化させ
ることによってハンドシェイクするバスによってCPU
と各周辺機器が連絡するタイプの情報処理システムにお
いて、さらに、(a) 前記バスに接続され、所定のI/O
アドレスを割り当てられた第1の周辺機器と、(b) 前記
バスに接続され、前記第1の周辺機器と同じI/Oアド
レスを割り当てられた第2の周辺機器と、(c) 前記第1
の周辺機器から出力されるデバイス・セレクト信号線及
びターゲット・レディ信号線を接続・切り離しするため
の第1の接続・切り離し手段と、(d) 前記第2の周辺機
器から出力されるデバイス・セレクト信号線及びターゲ
ット・レディ信号線を接続・切り離しするための第2の
接続・切り離し手段と、(e) 前記バスに接続されるとと
もに、前記第1及び第2の周辺機器から出力される各デ
バイス・セレクト信号線及びターゲット・レディ信号線
を入力し、バス上に発生したI/Oアクセス動作に応じ
て前記第1及び第2の接続・切り離し手段の開閉操作を
制御するための制御回路と、を含むことを特徴とする情
報処理システムである。
【0038】ここで、前記制御回路は、前記バス上で前
記第1及び第2の周辺機器に割り当てられた所定のI/
Oアドレスにアクセスするバス・サイクルの間は、前記
第1及び第2の接続・切り離し手段を切り離すようにし
てもよい。
【0039】また、前記制御回路は、前記バス上で前記
第1及び第2の周辺機器に割り当てられた所定のI/O
アドレスへのアクセス要求が発生したときには、前記第
1及び第2の接続・切り離し手段を切り離すとともに前
記バス上でデバイス・セレクト信号を活動化させ、且
つ、前記第1及び第2の周辺機器の双方がターゲット・
レディ信号を出力したことに応答して前記バス上でター
ゲット・レディ信号を活動化させる、ようにしてもよ
い。
【0040】また、前記制御回路は、前記バス上で前記
第1及び第2の周辺機器に割り当てられた所定のI/O
アドレスへのアクセス要求が発生したときには、前記第
1及び第2の周辺機器の双方がターゲット・レディ信号
を出力するまでは、前記バス上でターゲット・レディ信
号を活動化させないことにより該アクセス・サイクルを
終了させないようにしてもよい。
【0041】第5の側面:本発明の第5の側面は、CP
UはI/Oアクセス方式によりバス接続された周辺機器
を制御し、且つ、バス上におけるCPUと周辺機器との
間のハンドシェイキングによって1つのバス・サイクル
が完結するタイプの情報処理システムにおいて、さら
に、(a) バスに接続され、且つ所定のI/Oアドレスを
割り当てられた第1の周辺機器と、(b) バスに接続さ
れ、且つ前記第1の周辺機器と同じI/Oアドレスを割
り当てられた第2の周辺機器と、(c) 前記第1又は第2
の周辺機器にI/Oアクセスするためのバス・サイクル
が開始したときには、前記第1及び第2の周辺機器の双
方が前記CPUとハンドシェイク可能な状態になるまで
は該バス・サイクルを終了させないための制御回路と、
を含むことを特徴とする情報処理システムである。
【作用】作用1: 第1のDMAコントローラがPC本体にあり、
且つ第2のDMAコントローラがドッキング・ステーシ
ョン側にある場合、すなわち物理的には独立した2つの
DMAコントローラが並存する場合であっても、両者の
制御レジスタには同一のI/Oポートが割り当てられる
ため、I/O空間上は論理的には単一のDMAコントロ
ーラにしか見えない。つまり、CPUは各DMAコント
ローラを区別してI/Oアクセスすることはできない。
【0042】本発明の第1及び第2の側面に係る情報処
理システムによれば、CPUがDMAコントローラにI
/Oアクセスを試みた場合であっても、制御回路が第1
及び第2のDMAコントローラに代行してCPUとハン
ドシェイクするので、両DMAコントローラが同じI/
Oポート・アドレスを使用することに伴う問題は解消さ
れる。
【0043】作用2:第1のDMAコントローラがPC
本体に、第2のDMAコントローラがドッキング・ステ
ーション側にある場合には、第1のDMAコントローラ
の方が第2のDMAコントローラよりも早いタイミング
でCPUのI/Oアクセス要求に対して応答することが
できる。このため、両DMAコントローラが同一のI/
Oアドレスを共有する場合には、第1のDMAコントロ
ーラの方が先にCPUとハンドシェイクして、誤ったI
/Oリード・ライト動作を行いかねない(前述)。
【0044】本発明の第2の側面によれば、制御回路
は、DMAコントローラへのI/Oアクセス要求が発生
すると、第1及び第2のDMAコントローラの出力する
デバイス・セレクト信号線及びターゲット・レディ信号
線をバスから遮断し、代わって制御回路がこれら各信号
を出力するようになっている。より具体的には、制御回
路は、両DMAコントローラがレディ状態になるまで
は、バス上にターゲット・レディ信号を出力しないよう
になっている。すなわち、一方のDMAコントローラの
みが応答しただけで勝手にI/Oアクセス・サイクルが
終了しないようになっている。したがって、第1のDM
Aコントローラが勝手にCPUとハンドシェイクを成立
させてしまうおそれはない。
【0045】また、本発明の第3の側面に係る情報処理
システムの制御方法によれば、DMAコントローラへの
I/Oアクセス要求が発生した場合、第1及び第2のD
MAコントローラ双方がレディ状態になるまでは、前記
バス上でターゲット・レディ信号を出力しないようにし
ている。すなわち、一方のDMAコントローラのみが応
答しただけで勝手にI/Oアクセス・サイクルが終了し
ないようになっている。したがって、第2の側面と同様
に、第1のDMAコントローラが勝手にCPUとハンド
シェイクを成立させてしまうおそれはない。
【0046】作用3:2つのDMAコントローラの各制
御レジスタには同じI/Oポートが割り当てられている
ので、CPU側からは一方の制御レジスタのみを指定す
ることはできない。しかしながら、システム構成上の制
約のため、1つのDMAチャネルを2つのDMAコント
ローラが同時に使用することはできない(例えばDMA
チャネル2が予約されいるFDC(フロッピー・ディス
ク・コントローラ)は、主ISAバス又は2次ISAバ
スのいずれか一方にしか接続することができない)。つ
まり、各DMAチャネルは、物理的には第1及び第2の
DMAコントローラの各々に用意されているが、現実に
は少なくともいずれか一方のDMAチャネルは未使用状
態になっているのである。
【0047】本発明の第2及び第3の側面によれば、D
MAコントローラへのI/Oアクセスがライト・サイク
ルの場合には、書き込みデータをそのまま各DMAコン
トローラの制御レジスタに書き込むようにしている。何
故なら、未使用中のDMAチャネルに対していかなる制
御値を設定しようとも、動作に影響を与えることはない
からである。
【0048】一方、DMAチャネルの制御内容を読み出
すとき、すなわちI/Oアクセスがリード・サイクルの
ときには、現在DMAチャネルを使用中のDMAコント
ローラの制御レジスタのデータを送出するようにしてい
る。また、第1及び第2のDMAコントローラの双方が
レディ状態になるまではターゲット・レディ信号を出力
しないようにしている。したがって、応答の早い第1の
DMAコントローラからの送出データのみが読み取られ
てI/Oアクセスが終了してしまわないようになってい
る。
【0049】なお、PCIバスの標準仕様によれば、デ
ータ転送は2ワード(=4バイト)単位で行われるよう
になっている。したがって、1回のI/Oリード・サイ
クルでは、制御レジスタ中の該当するバイト/ビット・
フィールド以外も一緒に読み出されることになる。本発
明の第2及び第3の側面によれば、システム構成情報す
なわちDMAチャネルの使用状況に従って、各DMAコ
ントローラの制御レジスタを多重化して送出するように
なっている。例えば制御レジスタ中のDMAチャネル2
に該当するバイト/ビット・フィールドは、現実にFD
Cを接続しているDMAコントローラの方から取り出す
ようにしている。
【0050】作用4:2つの周辺機器の各制御レジスタ
に同じI/Oポートが割り当てられている場合、CPU
(より具体的には、該周辺機器を制御するBIOSやデ
バイス・ドライバ)からは一方の制御レジスタのみを指
定することはできない。例えば第1の周辺機器がPC本
体に、第2の周辺機器がドッキング・ステーション側に
ある場合には、第1の周辺機器の方が第2の周辺機器よ
りも早いタイミングでCPUのI/Oアクセス要求に対
して応答することができる。このため、第1の周辺機器
の方が先にCPUとハンドシェイクしてしまい、誤った
I/Oリード・ライト動作を行いかねない(前述)。
【0051】本発明の第4及び第5の側面に係る情報処
理システムによれば、制御回路は、I/Oアドレスを共
有し合う第1又は第2の周辺機器へのI/Oアクセス要
求が発生すると、第1及び第2の周辺機器の出力するデ
バイス・セレクト信号線及びターゲット・レディ信号線
をバスから遮断し、代わって制御回路がこれら各信号を
出力するようになっている。より具体的には、制御回路
は、両周辺機器がレディ状態になるまでは、バス上にタ
ーゲット・レディ信号を出力しないようになっている。
すなわち、一方のDMAコントローラのみが応答しただ
けで勝手にI/Oアクセス・サイクルが終了しないよう
になっている。したがって、第1の周辺機器が勝手にC
PUとハンドシェイクを成立させてしまうおそれはな
い。
【0052】本発明のさらに他の目的、特徴や利点は、
後述する本発明の実施例や添付する図面に基づくより詳
細な説明によって明らかになるであろう。
【0053】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施例を詳解する。
【0054】A.パーソナル・コンピュータ(PC)1
00及びドッキング・ステーション200のハードウェ
ア構成 図1には、本発明の実施に供されるパーソナル・コンピ
ュータ(PC)11、及びこれに接続されるドッキング
・ステーション200のハードウェア構成を示してい
る。但し、図8及び図9中に示したものと等価な構成要
素については同一の参照番号を付してある。以下、各部
について説明する。
【0055】メイン・コントローラであるCPU11
は、オペレーティング・システム(OS)の制御下で、
各種プログラムを実行するようになっている。CPU1
1の外部ピンに直結したプロセッサ・バス12は、主P
CIバス(ローカル・バス)16及び主ISAバス(シ
ステム・バス)22という2階層のバスを介して、PC
100内の各周辺機器(後述)と連絡している。ここ
で、CPU11は、例えば米Intel社が市販するC
PUチップ"Pentium/1xxMHz"でよい。
【0056】プロセッサ・バス12と主PCIバス16
とは、ブリッジ回路(ホスト−PCIブリッジ)14に
よって連絡されている。本実施例のブリッジ回路14
は、メイン・メモリ15へのアクセス動作を制御するた
めのメモリ・コントローラと、両バス12,16間の速
度差を吸収するためのデータ・バッファを含んだ構成と
なっている。メイン・メモリ15は、CPUが実行する
各プログラム(OSやアプリケーション・プログラムな
ど)をロードしたり、CPU11の作業データを格納し
たりするための書き込み可能なメモリである。また、参
照番号13で示すブロックは、外部キャッシュ(「Le
vel 2(L2)キャッシュ」ともいう)であり、C
PU11の処理速度とメイン・メモリ15へのアクセス
速度の差を吸収するために設けられている。一般に、メ
イン・メモリ15にはDRAMが、L2キャッシュ13
にはSRAMが用いられる。
【0057】主PCIバス16には、ビデオ・コントロ
ーラ17Aや、その他の比較的高速な動作が要求される
PCIデバイス17B…が接続されている。なお、ビデ
オ・コントローラ17Aは、CPU11からの描画命令
を実際に処理するための周辺コントローラであり、処理
した描画情報を画面バッファ(VRAM)18に一旦書
き込むとともに、VRAM18から描画情報を読み出し
て表示手段としての液晶表示ディスプレイ(LCD)1
9に出力するようになっている。
【0058】主PCIバス16と主ISAバス22と
は、ブリッジ回路(PCI−ISAブリッジ)20によ
って連絡されている。本実施例のブリッジ回路20は、
DMAコントローラ(第1のDMAコントローラ)、割
り込みコントローラ、プログラマブル・インターバル・
タイマ(PIT)を含んだ構成となっている。ここで、
DMAコントローラは、ISAバス22上のISAデバ
イス29A…がCPU11の介在なしにメイン・メモリ
15との間でデータ転送を行う動作(すなわちDMA転
送動作)を制御するための専用コントローラである。ま
た、割り込みコントローラとは、ISAバス22上で発
生した割り込み要求(IRQ)を調停して、CPU11
に通知するための専用コントローラである。また、PI
Tとは、数種類のタイマ信号をシステム100内の各部
に供給するための機器である。
【0059】ブリッジ回路20は、さらに、補助記憶装
置としてのハード・ディスク・ドライプ(HDD)21
を接続するためのインターフェース(例えばIDEイン
ターフェース。IDE(Integrated Drive Electronic
s)は、本来、ISAバスにHDDを直結するためのイ
ンターフェース規格である)を含んでいる。
【0060】なお、上述した2つのブリッジ回路14及
び20は、PCIで策定されており、一般には単一のチ
ップセットの形態で市販されている。チップセットの一
例は米Intel社が市販する"Triton"である。
【0061】主ISAバス22には、I/Oコントロー
ラ23、キーボード/マウス・コントローラ(KMC)
24、ROM28、及びその他のISAデバイス29A
…など、比較的低速で動作する周辺機器が接続されてい
る。
【0062】I/Oコントローラ23は、シリアル・ポ
ートやパラレル・ポートなどの通信ポートを介して行う
データ入出力を制御するための周辺コントローラであ
る。シリアル・ポートの規格の一例はRS−232Cで
あり、パラレル・ポートの規格の一例はセントロニクス
である。
【0063】KMC24は、キーボード26からスキャ
ン・データや、マウス27による指示座標値を処理する
ためのコントローラであり、26や27からの入力信号
をOSの定義に合致したフォーマットに変換してバス2
2上に送り出すようになっている。
【0064】ROM28は、製造時に書き込みデータが
決められてしまう不揮発性メモリであり、所定のコード
を恒久的に格納するために用いられる。ROMが格納す
るコードには、システム100の始動時に行う自己診断
テスト・プログラム(POST)や、システム100内
の各ハードウェアの入出力を操作するためのプログラム
(BIOS)が含まれる。
【0065】PC100がドッキング・ステーション2
00に搭載したとき、PC100側の主PCIバス16
は、バス接続制御装置60によってドッキング・ステー
ション200側の2次PCIバス50と連絡している。
このバス接続制御装置60は、PCI−PCIブリッジ
回路としての機能を備えており、主PCIバス上の各信
号を受信するとともに、受信信号に基づいて2次PCI
バスを駆動するようになっている。すなわち、主PCI
バス16と2次PCIバス50は、それぞれ独立に(す
なわち非同期で)駆動し、各々別個に電気的特性や安定
性に維持が図られている訳である。本実施例のバス接続
制御装置60は、本発明の具現に大きく寄与している
が、その詳細についてはD項及びE項で後述する。
【0066】2次PCIバス50は、少なくとも1以上
のPCIスロットを備えており(図示しない)、所望の
PCIデバイス52A…を装着できるようになってい
る。
【0067】2次PCIバス50と2次ISAバス53
とは、ブリッジ回路(PCI−ISAブリッジ)51に
よって連絡されている。このブリッジ回路51は、PC
100側のブリッジ回路20と略同一の構成であり、2
次ISAバス53上で発生したDMA要求及び割り込み
要求を捌くためのDMAコントローラ(第2のDMAコ
ントローラ)や、割り込みコントローラも内蔵してい
る。なお、各ISAバス22及び53毎に各DMAコン
トローラが用意されているのは、DMAコントローラは
バス動作に同期しなければならない、という要請に基づ
くものである。
【0068】2次ISAバス53は、少なくとも1以上
のISAスロットを備えており(図示しない)、所望の
ISAデバイス54A…を装着できるようになってい
る。
【0069】なお、主PCIバス16や2次PCIバス
50に接続可能なPCIデバイス17B…,52A…と
しては、SCSIコントローラやPCMCIAコントロ
ーラなどが挙げられる。また、主ISAバス22や2次
ISAバス53に接続可能なISAデバイス29A…,
54A…としては、FDC(フロッピー・ディスク・コ
ントローラ)、IR(赤外線通信)コントローラ、オー
ディオ・コントローラなどが挙げられる。ISAデバイ
スの中には、FDCのように、DMAチャネルが予約さ
れているものもある。
【0070】PC及びドッキング・ステーションを構成
するためには、図1に示した以外にも多くの電気回路等
が必要であるが、これらは当業者には周知であり、且つ
本発明の要旨とは関連がないので、本明細書中では省略
している。
【0071】B.PCIバス上のバス・サイクル この項では、図2及び3を用いながら、PCIバス上の
バス・サイクル、とりわけDMAコントローラへのI/
Oアクセス・サイクルについて説明する。
【0072】PCIでは、アドレス・バスとデータ・バ
スは32ビット幅の信号線AD(31:0)#を共用し
ている。また、FRAME#は、バス・サイクルの開始
を示すための信号線であり、コマンド送信側デバイス
(以下、「イニシエータ」という)が出力するようにな
っている。また、4ビット幅の信号線C/BE(3:
0)#は、コントロール・バスの一種であり、コマンド
(例えばメモリ・アクセス要求又はI/Oアクセス要
求)、又は、2ワード単位で転送されるデータ中でのア
クセス・バイト(ビット)・フィールドを特定するのに
用いられる。また、信号線IRDY#(イニシエータ・
レディ)は、イニシエータが自身のレディ(Read
y)状態を示すためのものである。また、信号線DEV
SEL#(デバイス・セレクト)は、アドレスがヒット
した周辺機器(すなわちコマンドの受信側である「ター
ゲット」)が、確認応答するためのものである。また、
TRDY#(ターゲット・レディ)は、ターゲットが自
身のレディ(Ready)状態を示すためのものであ
る。
【0073】なお、イニシエータは、PCIバス上でバ
ス・マスタとなったデバイスのことである。例えばI/
Oアクセス・サイクルの間は、CPU11に代行してP
CIバス16上にコマンドを伝送するブリッジ回路14
がイニシエータとなる。また、PCIバス16又は50
上でCPU11からのコマンドを受信するPCIデバイ
スはターゲットとなる。例えば、ブリッジ回路20又は
51内に実装された各DMAコントローラもターゲット
となり得る。
【0074】B−1.I/Oライト・サイクル 図2には、PCIバス上で発生するライト・サイクル
を、タイミング・チャートの形態で示している。
【0075】(1)まず、イニシエータは、バス・サイ
クルの開始を明示するべく、FRAME#をアクティブ
(すなわちロー状態)にする。ライト・サイクルの最初
のPCIクロック・サイクルの期間は、AD(31:
0)はアドレス・フェーズにあり、イニシエータは受信
側のアドレスを送出し続けている。例えば、DMAチャ
ネル2にアクセスしたいときには、I/Oアドレス00
4h(又は005h)を送出する。また、C/BE
(3:0)#はコマンド・フェーズにあり、イニシエー
タはI/Oライトであることを示すために値0011b
を送出し続けている。
【0076】(2)次のPCIクロック・サイクルで、
イニシエータはFRAME#をインアクティブ(すなわ
ちハイ状態)に戻す。また、イニシエータは、自己がレ
ディ状態になると、IRDY#をアクティブ(すなちわ
ロー状態)にする。
【0077】(3)次いで、AD(31:0)はデータ
・フェーズに入り、イニシエータは2ワード(=4バイ
ト)分の書き込みデータを送出し続ける。また、C/B
E#(3:−0)はバイト・イネーブル・フェーズに入
り、イニシエータは該データ中の書き込みバイト・フィ
ールドを示すバイト・イネーブル値を送出し続ける。例
えばアドレス指定先がDMAレジスタ1の上位4バイト
中の最下位バイト(DMAチャネル2のワード・カウン
ト・レジスタ)であれば、バイト・イネーブル値は、1
110bである。
【0078】(4)ターゲットは、バス上に送出された
アドレス及びコマンドを見て、自身がアクセス先である
ことを認識すると、DEVSEL#をアクティブ(すな
わちロー状態)にして応答する。例えばDMAコントロ
ーラは、コマンドがI/Oライトを示していること、及
びアドレスが自身に割り当てられているI/Oアドレス
(例えばI/Oアドレス005h番地)にヒットしてい
ることを認識すると、DEVSEL#をアクティブにす
る。
【0079】(5)次いで、ターゲットは、AD(3
1:0)上に送出しているデータを受信して、自己の制
御レジスタ中の所定フィールドに書き込む。また、ター
ゲットは、自己がレディ状態になると、TRDY#をア
クティブ(すなわちロー状態)にする。
【0080】(6)その後、IRDY#及びTRDY#
がインアクティブ(すなわちハイ状態)に戻ることによ
って、バス・サイクルが終了する。
【0081】B−2.I/Oリード・サイクル 図3には、PCIバス上で発生するリード・サイクル
を、タイミング・チャートの形態で示している。
【0082】(1)まず、イニシエータは、バス・サイ
クルの開始を明示するべく、FRAME#をアクティブ
(すなわちロー状態)にする。リード・サイクルの最初
のPCIクロック・サイクルの期間は、AD(31:
0)はアドレス・フェーズにあり、イニシエータは受信
側のアドレスを送出し続けている。例えば、DMAチャ
ネル2にアクセスしたいときには、I/Oアドレス00
4h(又は005h)を送出する。また、C/BE
(3:0)#はコマンド・フェーズにあり、イニシエー
タはI/Oリードであることを示すために値0010b
を送出し続けている。
【0083】(2)次のPCIクロック・サイクルで、
イニシエータはFRAME#をインアクティブ(すなわ
ちハイ状態)に戻す。また、イニシエータは、自己がレ
ディ状態になると、IRDY#をアクティブ(すなちわ
ロー状態)にする。
【0084】(3)次いで、AD(31:0)はデータ
不確定フェーズに入る。また、C/BE#(3:0)は
バイト・イネーブル・フェーズに入り、イニシエータは
該データ中の読み出しバイト・フィールドを示すバイト
・イネーブル値を送出し続ける。例えばアドレス指定先
がDMAレジスタ1の上位4バイト中の最下位バイト
(DMAチャネル2のワード・カウント・レジスタ)で
あれば、バイト・イネーブル値は、1110bである。
【0085】(4)ターゲットは、バス上に送出された
アドレス及びコマンドを見て、自身がアクセス先である
ことを認識すると、DEVSEL#をアクティブ(すな
わちロー状態)にして応答する。例えばDMAコントロ
ーラは、コマンドがI/Oリードを示していること、及
びアドレスが自身に割り当てられているI/Oアドレス
(例えばI/Oアドレス005h番地)にヒットしてい
ることを認識すると、DEVSEL#をアクティブにす
る。
【0086】(5)次いで、ターゲットは、自己がレデ
ィ状態になると、TRDY#をアクティブ(すなわちロ
ー状態)にする。このとき、AD(31:0)は既にデ
ータ・フェーズに入っており、また、ターゲットは、自
己の制御レジスタのうちアドレス指定された所定フィー
ルドを含む2ワード(=4バイト)をAD(31:0)
上に送出する。例えば、I/Oアドレス005h番地が
指定されていれば、DMAレジスタ1の上位4バイトが
AD(31:0)上に送出されることになる。
【0087】(6)その後、IRDY#及びTRDY#
がインアクティブ(すなわちハイ状態)に戻ることによ
って、バス・サイクルが終了する。
【0088】なお、B項で記述したPCIバス上のバス
・サイクル・オペレーション自体はPCIにより策定さ
れたものであり、本発明の要旨ではない。本項の目的
は、本発明の要旨を理解するための前提知識を提供する
ことにある。
【0089】C.DMAコントローラへのI/Oアクセ
スの仕組み この項では、DMAコントローラへのI/Oアクセスの
仕組みについて説明する。
【0090】C−1.DMAコントローラの制御レジス
タの構成 DMAコントローラは、通常、8個のDMAチャネルを
用意している。各DMAチャネルには、ISAバス(本
実施例の場合、主ISAバス22及び2次ISAバス5
3の双方を含む)上に接続された各ISAデバイス(但
しDMA転送を行うものに限る)が割り当てられてい
る。各ISAデバイスは、メイン・メモリにアクセスし
たいときには、自己に割り当てられたDMAチャネルを
介してDMAコントローラに対してデータ転送要求(D
MA要求)を発行する。そして、DMAコントローラ
は、メイン・メモリにアクセスするためのバス使用要求
(HOLD要求)をCPUに対して発行し、これが認証
されるとDMA転送を開始するようになっている。DM
A転送を利用するISAバスの代表例はFDCである
(例えばAT互換機の場合、DMAチャネル2がFDC
に予約されている)。
【0091】また、[発明が解決しようとする課題]の
項で述べたように、各周辺機器の制御レジスタにはそれ
ぞれ固有のI/Oポートが割り当てられており、CPU
11は、I/Oポートを介して制御レジスタにアクセス
するようになっている。AT互換機の場合、通常、DM
Aコントローラには000h番地〜01Fh番地,0C
0h番地〜0DFh番地,及び080h番地〜09Fh
番地という3種類のI/Oポートが割当てられている。
I/Oポート000h番地〜01Fh番地(制御レジス
タ中の「DMAレジスタ1」に該当する)及び0C0h
番地〜0DFh番地(制御レジスタ中の「DMAレジス
タ2」に該当する)は、それぞれDMAチャネル0〜
3、DMAチャネル4〜7に予約された各ISAバスの
制御値(DMA転送の開始アドレスや転送データ量)を
格納するためのものである。一方、I/Oポート080
h番地〜09Fh番地は、メモリ空間の拡張領域*を利
用したDMA転送を行うために用意されたものであり、
制御レジスタ中の「DMAページング・レジスタ」に該
当する。表1、表2、表3に、DMAレジスタ1、DM
Aレジスタ2、DMAページング・レジスタそれぞれに
割り当てられた各I/Oポートの予約状況を示してお
く。
【0092】
【表1】
【0093】
【表2】
【0094】
【表3】
【0095】C−2.DMAコントローラへのI/Oア
クセス DMA転送はDMAコントローラ内の制御レジスタに設
定された制御内容(例えば転送開始アドレスや転送デー
タ量など)に従って実行される。したがって、DMA転
送を行う前には、DMAチャネルの制御内容を制御レジ
スタ中の該当バイト/ビット・フィールドに予め設定し
ておく必要がある。例えばDMAチャネル2に割り当て
られたフロッピー・ディスク・コントローラがDMA転
送を行うときには、CPU(より具体的にはDMA転送
を制御するBIOSやデバイス・ドライバ)は、例えば
004h/005h番地、008h番地、及び0D0h
番地にI/Oアクセスして、制御値を設定しておかなけ
ればならない(表1及び表2参照)。また、メモリの拡
張領域を利用して(すなわちページ・フレームを通し
て)DMA転送を行う場合には、081h番地にもI/
Oアクセスしなければならない(表3参照)。
【0096】ところで、PCIの標準仕様によれば、1
回のバス・サイクルでは2ワード(すなわち4バイト)
単位でデータが転送されるように定められている。この
ため、制御レジスタ中の一部のバイト(ビット)・フィ
ールドにしかアクセスする必要がない場合であっても、
必要なバイト(ビット)・フィールドのみを取り出して
転送する訳には行かない。1つのI/Oポートは通常4
ワード(すなわち8バイト)長で構成されるが、一回の
I/Oアクセスは該当するバイト(ビット)・フィール
ドを含むI/Oポートの上位4バイト又は下位4バイト
という単位で行われるようになっている。そして、転送
された各4バイト中の必要バイト・フィールドは、バイ
ト・イネーブル値で指定されるようになっている(前
述)。例えば先のDMAチャネル2に割り当てられた0
04h番地、005h番地及び081h番地をそれぞれ
設定する場合には、DMAレジスタ1の上位4バイト
と、DMAページング・レジスタの下位4バイト、とい
う単位でI/Oアクセスがなされる。そして、DMAレ
ジスタ1の上位4バイトへのI/Oアクセス時には、D
MAチャネル2に該当するバイト・フィールドを示すバ
イト・イネーブル値1100hbが送られ、また、DM
Aページング・レジスタの下位4バイトへのI/Oアク
セス時には、DMAチャネル2に該当するバイト・フィ
ールドを示すバイト・イネーブル値1101bが送られ
る。
【0097】C−3.DMAコントローラへのI/Oア
クセス DMAコントローラへのI/Oアクセスの仕組み自体は
既に周知であり、本発明の要旨ではない。C−1及びC
−2の各前項の目的は、本発明の要旨を理解するための
前提知識を提供することにある。
【0098】本実施例にユニークな点は、PCI−IS
Aブリッジ20及び51の双方にDMAコントローラが
内蔵されている、すなわち第1のDMAコントローラと
第2のDMAコントローラが並存していることにある。
各ISAバス22及び53毎にそれぞれDMAコントロ
ーラが用意されているのは、DMAコントローラはバス
動作に同期しなければならないことに依拠する(前
述)。
【0099】I/Oポートの予約内容は、AT互換機の
標準的な仕様として定められている。この仕様によれ
ば、DMAコントローラには単一のI/O空間(すなわ
ちDMAレジスタ1,DMAレジスタ2,DMAページ
ング・レジスタに対応する一組のI/Oポート)しか用
意されていない。このことは、システム中に2個以上の
DMAコントローラが存在していても、同じI/Oポー
トを共有せざるを得ないことを意味する。複数のデバイ
スが同じI/Oポートを共有した場合、物理的には独立
に実装されていても、共有デバイスは論理的には単一の
存在にしか見えない。つまり、CPU11(より具体的
にはハードウェア操作するBIOS又はデバイス・ドラ
イバ)から見れば、第1のDMAコントローラと第2の
DMAコントローラとを区別することはできないのであ
る。
【0100】本実施例では、DMAコントローラ20又
は51のいずれかへのI/Oアクセス要求が発生したと
きには、バス接続制御装置60内の特定の機能によって
好適に捌かれるようになっている。この点についてはD
項及びE項で後述する。
【0101】《注釈》 *メモリ空間の拡張領域:DOS(Disk Operating Sys
tem)が直接管理できるメモリ空間を越えたメモリ空
間、例えばEMS(Expanded Memory Specification)
メモリなどのことである。EMSメモリは640KBを
越えた最大32MBのメモリ領域である。EMSメモリ
へのアクセスは、「メモリ・マネージャ」と呼ばれるデ
バイス・ドライバが640KBと1MBの間に設定され
た4個のページ・フレームを通して管理するようになっ
ている。
【0102】D.バス接続制御装置の構成 この項では、バス接続制御装置60のハードウェア構成
を説明する。
【0103】バス接続制御装置60は、「PCI−PC
Iブリッジ」としての機能と、「仮想ターゲット」とし
ての機能を含んでいる。
【0104】D−1.PCI−PCIブリッジ機能 「PCI−PCIブリッジ」機能とは、一方のPCIバ
ス上のバス・シグナルを受信するとともに、受信したバ
ス・シグナルに基づいて他方のPCIバスを駆動する機
能のことである。図4には、バス接続制御装置60のう
ちPCI−PCIブリッジ機能部分のハードウェア構成
要素を抽出して示している。以下、該機能部分の構成及
びその動作について簡単に説明する。
【0105】(1) 主PCIバス16から2次PCIバス
50へのブリッジ:主PCIバス16から入力したAD
(31:0)はI/Oバッファ61で受け取られる。ア
ドレス・フェーズでは、AD(31:1)はアドレス・
ラッチ62に一時保持され、アドレス・デコーダ63に
入力される。アドレス・デコーダ63は、ラッチされた
入力アドレスを解釈し、2次PCIバス50側の周辺機
器のI/Oアドレスに該当することを識別すると制御信
号S1を出力する。また、アドレス・デコーダ63は、
ラッチされた入力アドレスがDMAコントローラのI/
Oアドレスであることを識別すると制御信号S1'を出
力する。一方、データ・フェーズでは、AD(31:
1)はデータ・ラッチ64で一時保持された後、マルチ
プレクサ65に向かう。マルチプレクサ65は、各ラッ
チ62,64に格納されたアドレス部分及びデータ部分
をマルチプレクスして、I/Oバッファ66に渡すよう
になっている。マルチプレクサ65の動作タイミング
は、制御信号S1,S1',S2,S2',S3,及びS
4によって制御される。また、I/Oバッファ66の動
作タイミングは、制御信号S2,S2',S4,C1,
及びC2によって制御される。
【0106】ハードウェア・ブロック79は、システム
構成レジスタである。該レジスタ79は、システム10
0,200上のシステム構成(コンフィギュレーショ
ン)情報を格納するためのものであり、例えばシステム
100,200の初期化処理時に、POSTプログラム
などによって書き込まれる。また、該レジスタ79に
は、DMAチャネルの使用状況(すなわち各DMAチャ
ネルが第1又は第2のDMAコントローラのいずれで使
用中か)を書き込むためのレジスタ(以下、「DMAマ
ップ・レジスタ」という)も含まれる。DMAマップ・
レジスタはDMAコントローラに対してI/Oリードを
行うときに、データのマルチプレクスのために利用され
る(E−3項参照)。
【0107】主PCIバス16から入力したC/BE
(3:0)はI/Oバッファ71で受け取られる。コマ
ンド・フェーズでは、C/BE(3:0)はコマンド・
ラッチ72で一時保持され、コマンド・デコーダ73に
入力される。コマンド・デコーダ73は、ラッチされた
入力コマンドを解釈し、コマンドがI/Oアクセス要求
であることを識別すると制御信号S2を出力する。ま
た、コマンド・デコーダ73は、ラッチされた入力コマ
ンドがDMAコントローラへのI/Oアクセス要求であ
ることを識別すると制御信号S2'を出力する。一方、
バイト・イネーブル・フェーズでは、C/BE(3:
0)はそのままマルチプレクサ74に向かう。マルチプ
レクサ74は、コマンド部分とバイト・イネーブル部分
とに分離されたC/BE(3:0)をマルチプレクスし
てから、I/Oバッファ75に渡すようになっている。
I/Oバッファ75の動作タイミングは制御信号C1及
びC2によって制御される。
【0108】主PCIバス16上のシグナルのうち上記
以外のもの(例えばFRAME#,IRDY#,DEV
SEL#,TRDY#…)はI/Oバッファ81を介し
て、主PCIターゲット・ステート・マシン82で受け
取られる。主PCIターゲット・ステート・マシン82
と2次PCIマスタ・ステート・マシン83は、制御信
号S1とS2の論理積により(すなわち主PCIバス1
6上のバス・サイクルが2次PCIバス50に向かうI
/Oアクセス要求である場合に)活動化するようになっ
ている。そして、活動化した2次PCIマスタ・ステー
ト・マシン83は、ターゲット・ステート・マシン82
で受信したものと同じバス・シグナルを生成し、I/O
バッファ84を介して2次PCIバス50上に伝送する
ようになっている。また、主PCIターゲット・ステー
ト・マシン82と2次PCIマスタ・ステート・マシン
83は、それぞれ制御信号C3,C2を出力する。制御
信号C3,C2は、I/Oバッファ61,66,71及
び75を同期駆動させるために利用される。
【0109】(2) 2次PCIバス50から主PCIバス
16へのブリッジ:2次PCIバス50から入力したA
D(31:0)はI/Oバッファ66で受け取られる。
アドレス・フェーズでは、AD(31:0)はアドレス
・ラッチ67に一時保持され、アドレス・デコーダ68
に入力される。アドレス・デコーダ68は、ラッチされ
た入力アドレスを解釈し、主PCIバス16側の周辺機
器のI/Oアドレスを示している場合には制御信号S3
を出力する。一方、データ・フェーズでは、AD(3
1:0)はデータ・ラッチ69で一時保持された後、マ
ルチプレクサ70に向かう。マルチプレクサ70は、各
ラッチ67,69に格納されたアドレス部分及びデータ
部分をマルチプレクスして、I/Oバッファ61に渡
す。マルチプレクサ70の動作タイミングは、制御信号
S1,S1',S2,S2',S3,及びS4によって制
御される。また、I/Oバッファ61の動作タイミング
は、制御信号S2,S2',S4,C3,及びC4によ
って制御される。
【0110】2次PCIバス50から入力したC/BE
(3:0)はI/Oバッファ75で受け取られる。コマ
ンド・フェーズでは、C/BE(3:0)はコマンド・
ラッチ76で一時保持され、コマンド・デコーダ77に
入力される。また、コマンド・デコーダ77は、ラッチ
された入力コマンドを解釈し、コマンドがI/Oアクセ
ス要求であることを識別すると制御信号S4を出力す
る。一方、バイト・イネーブル・フェーズでは、C/B
E(3:0)はそのままマルチプレクサ74に向かう。
マルチプレクサ78は、コマンド部分とバイト・イネー
ブル部分とに分離されたC/BE(3:0)をマルチプ
レクスしてから、I/Oバッファ71に渡すようになっ
ている。I/Oバッファ75の動作タイミングは制御信
号C3及びC4によって制御される。
【0111】2次PCIバス50上のシグナルのうち上
記以外のもの(例えばFRAME#,IRDY#,DE
VSEL#,TRDY#…)はI/Oバッファ84を介
して、2次PCIターゲット・ステート・マシン85で
受け取られる。2次PCIターゲット・ステート・マシ
ン85と主PCIマスタ・ステート・マシン86は、制
御信号S3とS4の論理積により(すなわち2次PCI
バス50上のバス・サイクルが主PCIバス16に向か
うI/Oアクセス要求である場合に)活動化するように
なっている。そして、活動化した主PCIマスタ・ステ
ート・マシン86は、ターゲット・ステート・マシン8
5で受信したものと同じバス・シグナルを生成し、I/
Oバッファ81を介して主PCIバス16上に伝送する
ようになっている。また、2次PCIターゲット・ステ
ート・マシン85と主PCIマスタ・ステート・マシン
86は、それぞれ制御信号C1,C4を出力する。制御
信号C1,C4は、I/Oバッファ61,66,71及
び75を同期駆動させるために利用される。
【0112】PCI−PCIブリッジ機能により各PC
Iバス16,50は夫々独立して駆動し、各々の電気的
特性や安定性は保証されている。但し、各バス16,5
0は非同期であり、ターゲット・ステート・マシン82
/85による受信及びマスタ・ステート・マシン83/
86による発信の間で数クロック・サイクル程度の遅延
時間を生じる。なお、PCI−PCIブリッジ機能は、
PCIで策定されている公知技術なので、これ以上詳細
には説明しない。
【0113】D−2.仮想ターゲット機能 一方、「仮想ターゲット機能」とは、I/Oポートを共
用する第1及び第2のDMAコントローラを支配下に置
くための機能のことである。より具体的には、仮想ター
ゲット機能部分は、CPU11がDMAコントローラに
I/Oアクセスを行ったときに、I/Oポートを共用す
る第1及び第2のDMAコントローラに成り代わって、
CPU11との間で所定のハンドシェイキング・オペレ
ーションを行うようになっている。仮想ターゲット機能
は、言い換えれば、イニシエータ(CPU11又はブリ
ッジ回路20)に対して仮想的なターゲット・デバイス
として振る舞う機能のことであり、本発明を実現するた
めの中核部分であるに留意されたい。
【0114】図5には、バス接続制御装置60のうち仮
想ターゲット機能部分のハードウェア構成要素を抽出し
て示している。図示の通り、仮想ターゲット機能は、制
御回路91と、スイッチ回路92を含んでいる。
【0115】スイッチ回路92は、例えば[請求項2]
に言う「第1の接続・切り離し手段」であり、例えば3
状態バッファなどのアナログ・スイッチで構成されてい
る。該3状態バッファの入力側は第1のDMAコントロ
ーラが出力する各信号線DEVSEL#,TRDY#に
接続し、また、出力側は主PCIバス16中の各信号線
P_DEVSEL#,P_TRDY#に接続している。
したがって、該3状態バッファを浮游状態にすることに
よって、第1のDMAコントローラが出力する各信号線
DEVSEL#,TRDY#は主PCIバスから遮断さ
れることができる。ここで、接頭詞"P_"は主PCIバ
ス16中のバス・シグナルであることを示している。な
お、本実施例では、第1のDMAコントローラはブリッ
ジ回路20内に実装され、第2のDMAコントローラは
ブリッジ回路51内に実装されている(前述)。
【0116】制御回路91は、制御信号S1'及びS2'
を入力するとともに、3状態バッファ92の制御ピンに
制御信号S5を出力している。また、制御回路91は、
第1のDMAコントローラの出力信号線DEVSEL
#,TRDY#及び第2のDMAコントローラの出力信
号線S_DEVSEL#,S_TRDY#とは双方向で
接続している。ここで、接頭詞"S_"は2次PCIバス
51中のバス・シグナルであることを示している。ま
た、制御回路91は、主PCIバス中の信号線P_DE
VSEL#,P_TRDY#とは一方向で接続してお
り、自身内で生成したDEVSEL#,TRDY#の各
信号を主PCIバス16上に伝送できるようになってい
る。
【0117】通常の状態、すなわちDMAコントローラ
へのI/Oアクセス以外のバス・サイクルの間、制御回
路91は、3状態バッファ92をオン状態に保つように
なっている。この間は、第1のDMAコントローラの出
力信号DEVSEL#,TRDY#は主PCIバス16
に直接伝送される。また、第2のDMAコントローラの
出力信号S_DEVSEL#,S_TRDY#は、制御
回路91を介して、主PCIバス16中の各信号線P_
DEVSEL#,P_TRDY#に伝送される。
【0118】一方、DMAコントローラへのI/Oアク
セスが行われているバス・サイクルの間は、制御回路9
1は、3状態バッファ92を浮游状態にすることによっ
て、第1のDMAコントローラの出力信号DEVSEL
#,TRDY#を主PCIバス16から切り離すように
なっている。該バス・サイクルは、制御信号S1'及び
S2'(前述)の論理積によって識別することができ
る。該I/Oアクセス・サイクルの間、制御回路91
は、第1及び第2のDMAコントローラに代わってター
ゲット・デバイス(仮想ターゲット)となり、イニシエ
ータ(この場合ブリッジ回路14)とハンドシェイクを
行うようになっている。制御回路91の仮想ターゲット
としての機能は、以下の2つに大別される。
【0119】(A)I/Oアクセス・サイクルの成立 DEVSEL#は、I/Oアクセスされた周辺機器がイ
ニシエータに対して確認応答するためのシグナルである
(前述)。イニシエータは、自己がバス・サイクルを開
始してから所定時間内にDEVSEL#が戻って来なけ
れば、バス・サイクルが失敗したものとして強制終了
(Abort)するようになっている。DMAコントロ
ーラへのI/Oアクセスの間、第1のDMAコントロー
ラの出力するDEVSEL#は3状態バッファ92によ
って主PCIバス16からは切り離されている。また、
第2のDMAコントローラは、ステート・マシン82,
83(前述)を経てI/Oアクセス要求を受信するた
め、その分の遅延時間を以てDEVSEL#を出力す
る。そこで、制御回路91は、アドレス・デコーダ63
によりアドレス・ヒットが検出されたこと(すなわち、
信号S1'が活動化したこと)に応答して、主PCIバ
ス16上にP_DEVSEL#を伝送する。すなわち、
制御回路91は、DMAコントローラへのI/Oアクセ
スの発生を確認できた時点で、早期にバス・サイクルを
成立させるようにしているのである。 (B)I/Oアクセス・サイクルの終了 TRDY#は、I/Oアクセス要求のターゲットとなっ
た周辺機器がI/Oアクセス可能(すなわちレディ状
態)になったことを通知するためのシグナルである(前
述)。イニシエータは、TRDY#が戻ってきたことに
よって、ターゲットがデータを送受信できたものとみな
して、バス・サイクルを完結させる。より具体的には、
イニシエータは、IRDY#をインアクティブに戻すと
ともに、データ送受信作業を終了する。図1に示すハー
ドウェア構成では、第1のDMAコントローラの方が第
2のDMAコントローラよりも早いタイミングでレディ
状態になる。何故ならば、第2のDMAコントローラ
は、ステート・マシン82,83(前述)を経てI/O
アクセス要求を受信するため、その分の遅延時間を以て
レディ状態になるからである。もし、第1のDMAコン
トローラのTRDY#信号をそのまま主PCIバス16
上に伝送していれば、第2のDMAコントローラがレデ
ィ状態になる前にバス・サイクルが終了してしまいかね
ない。この結果、正しいI/Oアクセスが成立すること
なくバス・サイクルが終了する事態も生じ得る。そこ
で、制御回路91は、DMAコントローラへのI/Oア
クセスの間は、第1のDMAコントローラの出力するT
RDY#を主PCIバス16から切り離すとともに、第
2のDMAコントローラからS_TRDY#を入力する
までは、主PCIバス16上にP_TRDY#を伝送し
ない。すなわち、制御回路91は、双方のDMAコント
ローラがレディ状態になるまでは、バス・サイクルを継
続させるようになっているのである。
【0120】このように、制御回路91は、所定のI/
Oアクセス・サイクル期間中は、確認応答のための信号
DEVSEL#及びTRDY#を自在に操ることによっ
て、CPU11に対してターゲットのように振る舞うよ
うになっている訳である。換言すれば、所定のI/Oア
クセスの間は、第1及び第2のDMAコントローラはこ
の仮想ターゲットの支配下に置かれることになる。本実
施例の制御回路91は、例えば[請求項2]の「制御回
路」及び「第2の接続・切り離し手段」の役割を兼ね備
えている点に留意されたい。なお、仮想ターゲットの動
作の詳細についてはE項で後述する。
【0121】D−3.その他の機能 バス接続制御装置60は他の機能も備えている。例え
ば、PC100のドッキング・ステーション200への
搭載又は取り外しという機械的な操作に応じて、電気的
な接続又は切り離し操作することなどである。但し、こ
れら他の機能は、本発明の要旨とは直接関連がないの
で、本明細書では説明を省略している。
【0122】E.バス接続制御装置によるI/Oアクセ
ス制御動作 前項までで、本発明を具現するシステム100,200
のハードウェア構成を中心に説明してきたので、本項で
は、該ハードウェア(とりわけ仮想ターゲット機能部
分)の動作特性について説明する。
【0123】DMAコントローラの各制御レジスタの設
定作業、すなわちDMAコントローラへのI/Oアクセ
スは、例えばPOST(電源投入時自己診断)プログラ
ム実行時や、DMA転送の開始直前などに行われる。前
者ではI/Oライトが行われ、後者ではI/Oリードと
I/Oライトの双方が行われる。
【0124】E−1.I/Oライト・オペレーション 図6には、DMAコントローラへのI/Oライト・オペ
レーションをタイミング・チャートの形態で示してい
る。同図では、1:イニシエータ(ブリッジ回路14)
による主PCIバス16上でのバス・シグナル,2:制
御回路91がPCIバス16に出力するバス・シグナ
ル,3:第1のDMAコントローラが制御回路91に対
して出力するバス・シグナル,4:2次PCIバス上、
の各バス・シグナルに分けて図解してある。
【0125】まず、イニシエータ(CPU11を代行す
るブリッジ回路14)は、I/Oライト・サイクルを開
始すべく、FRAME#をアクティブ(すなわちロー状
態)にするとともに、AD(31:0)上にはI/Oア
ドレス(例えば005h)を出力し、C/BE(3:
0)にはI/Oライト・コマンド(0011b)を出力
する。そして、イニシエータは、自己がレディ状態にな
ると、IRDY#をアクティブ(すなわちロー状態)に
する。また、イニシエータは、AD(31:0)にはI
/Oライト・データを、C/BE(3:1)にはバイト
・イネーブル値を、それぞれ出力し続ける。例えば、I
/Oアドレス005h番地(すなわちDMAレジスタ1
(表1参照)の上位4バイト中の最下位バイト)へのア
クセス要求であれば、バイト・イネーブル値は1110
bである。
【0126】第1のDMAコントローラは、アドレス及
びコマンドを主PCIバス16上で直接受信できるの
で、比較的早いタイミングで(同図中では2個目のPC
Iクロック・サイクルの後)、DEVSEL#及びTR
DY#を出力することができる。但し、この時点では、
I/Oアドレス(S1')及びコマンド(S2')のヒッ
トにより既に制御回路91が活動化しており、DEVS
EL#及びTRDY#は主PCIバス16からは切り離
されている。制御回路91は、アドレス・デコーダ63
によりアドレス・ヒットが検出されたこと(すなわち、
信号S1'が活動化したこと)に応答して、主PCIバ
ス16上にP_DEVSEL#を伝送する。但し、制御
回路91は、この時点ではP_TRDY#を出力しな
い。
【0127】一方、2次PCIバス50上では、遅延時
間の後に主PCIバス16と同じバス・サイクルが開始
する。遅延時間は、ターゲット/マスタ・ステート・マ
シン82,83の通過に伴うものである(前述)。同図
中の接頭詞"S_"は、遅延時間を含んだ2次側(Second
ary)のバス・シグナルを意味している。第2のDMA
コントローラは、S_AD(31:0),S_C/BE
(3:0)(図示しない),S_FRAME#,及びS
_IRDY#に応答して、比較的遅いタイミングでS_
DEVSEL#及びS_TRDY#をアクティブ(すな
わちロー状態)にする。但し、この時点では既に制御回
路91は活動しており、S_DEVSEL#及びS_T
RDY#は2次PCIバス50からは切り離されてい
る。
【0128】また、制御回路91は、第2のコントロー
ラからもTRDY#(すなわちS_TRDY#)を受信
すると、主PCIバス16上にもP_TRDY#を出力
する。そして、イニシエータは、I/Oライト・サイク
ルを完結すべく、IRDY#をインアクティブ(すなわ
ちハイ状態)にするとともに、データ及びバイト・イネ
ーブル値の出力を止める。
【0129】なお、ライト・データは、第1及び第2の
DMAコントローラの双方にそのまま書き込まれる。例
えばI/OライトがFDCに割り当てられたDMAチャ
ネル2に対するものであれば、第1及び第2のDMAコ
ントローラ双方の制御レジスタの該当バイト・フィール
ドに書き込みがなされる。但し、いずれか一方のDMA
コントローラしかDMAチャネル2を使用していない
(何故なら、システム・コンフィギュレーション上の理
由により、同じDMAチャネルを重複して使用すること
は許されないからである)。したがって、DMAチャネ
ル2を未使用のDMAコントローラにも制御値(転送開
始アドレスや転送データ量)が書き込まれることにな
る。但し、未使用の制御レジスタに制御値を書き込んで
も現実の制御に用いられないので、システム・オペレー
ションに支障はない、という点を理解されたい。
【0130】E−2.I/Oリード・オペレーション 図7には、DMAコントローラへのI/Oリード・オペ
レーションをタイミング・チャートの形態で示してい
る。同図では、1:イニシエータ(ブリッジ回路14)
による主PCIバス16上でのバス・シグナル,2:制
御回路91がPCIバス16に出力するバス・シグナ
ル,3:第1のDMAコントローラが制御回路91に対
して出力するバス・シグナル,4:2次PCIバス上、
の各バス・シグナルに分けて図解してある。
【0131】まず、イニシエータ(CPU11を代行す
るブリッジ回路14)は、I/Oリード・サイクルを開
始すべく、FRAME#をアクティブ(すなわちロー状
態)にするとともに、AD(31:0)上にはI/Oア
ドレス(例えば005h)を出力し、C/BE(3:
0)にはI/Oライト・コマンド(0010b)を出力
する。そして、イニシエータは、自己がレディ状態にな
ると、IRDY#をアクティブ(すなわちロー状態)に
する。また、イニシエータは、C/BE(3:1)には
バイト・イネーブル値を出力し続ける。例えば、I/O
アドレス005h番地(すなわちDMAレジスタ1(表
1参照)の上位4バイト中の最下位バイト)へのアクセ
ス要求であれば、バイト・イネーブル値は1110bで
ある。
【0132】第1のDMAコントローラは、アドレス及
びコマンドを主PCIバス16上で直接受信できるの
で、比較的早いタイミングで(同図中では2個目のPC
Iクロック・サイクルの後)、I/Oリード・データ、
DEVSEL#及びTRDY#を出力することができ
る。したがって、AD(31:0)には、第1のDMA
コントローラの該当制御レジスタ値(データ1)が伝送
される。データ1はデータ・ラッチ64で一旦保持され
る。但し、この時点では、I/Oアドレス(S1')及
びコマンド(S2')のヒットにより既に制御回路91
が活動化しており、DEVSEL#及びTRDY#は主
PCIバス16からは切り離されている。制御回路91
は、アドレス・デコーダ63によりアドレス・ヒットが
検出されたこと(すなわち、信号S1'が活動化したこ
と)に応答して、主PCIバス16上にP_DEVSE
L#を伝送する。但し、制御回路91は、この時点では
P_TRDY#を出力しない。そして、第1のDMAコ
ントローラがDEVSEL#及びTRDY#をインアク
ティブ(すなわちハイ状態)に戻してデータの出力を止
めた後は、AD(31:0)はデータ不確定フェーズが
続く。
【0133】一方、2次PCIバス50上では、遅延時
間の後に主PCIバス16と同じバス・サイクルが開始
する。遅延時間は、ターゲット/マスタ・ステート・マ
シン85,86の通過に伴うものである(前述)。同図
中の接頭詞"S_"は、遅延時間を含んだ2次側(Second
ary)のバス・シグナルを意味している。第2のDMA
コントローラは、S_AD(31:0),S_C/BE
(3:0)(図示しない),S_FRAME#,及びS
_IRDY#に応答して、比較的遅いタイミングでS_
DEVSEL#及びS_TRDY#をアクティブ(すな
わちロー状態)にするとともに、I/Oリード・データ
を出力する。但し、この時点では既に制御回路91は活
動しており、S_DEVSEL#及びS_TRDY#は
2次PCIバス50からは切り離されている。
【0134】ここで、第2のDMAコントローラが出力
するI/Oリード・データは、データ・ラッチ69に一
旦保持される。次いで、マルチプレクサ70は、データ
・ラッチ69に保持されたデータを、データ・ラッチ6
4に保持されているデータ1とともにマルチプレクスす
る。マルチプレクスされたデータは、データ2として、
主PCIバス16中のAD(31:0)に伝送される。
このマルチプレクス動作は、マルチプレクサ70がシス
テム構成レジスタ79中のDMAマップ・レジスタの内
容に従って行う(E−3項参照)。
【0135】次いで、制御回路91は、第2のコントロ
ーラからもTRDY#(S_TRDY#)を受信する
と、主PCIバス16上にもP_TRDY#を出力す
る。そして、イニシエータは、データ2を受信すると、
I/Oライト・サイクルを完結すべく、IRDY#をイ
ンアクティブ(すなわちハイ状態)にするとともに、バ
イト・イネーブル値の出力を止める。
【0136】E−3.データ2のマルチプレクス・オペ
レーション PCIバス上では、2ワード(すなわち4バイト)単位
でデータ転送が行われる。但し、この4バイトの中に
は、複数の制御レジスタ・フィールドが混在している。
例えばDMAレジスタ2の下位4バイトは、DMAチャ
ネル0とDMAチャネル1に分け与えられている(表1
参照)。
【0137】一方、システム・コンフィギュレーション
上の制約により、各DMAチャネルは第1及び第2のD
MAコントローラで重複して使用されることはない。例
えば、DMAチャネル0は第2のDMAコントローラ
で、DMAチャネル1は第1のDMAコントローラで使
用されるという具合に、各DMAチャネルはいずれか一
方のDMAコントローラにしか利用されない(あるいは
全く利用されない)。そして、各DMAチャネルの使用
状況は、システム構成レジスタ79中のDMAマップ・
レジスタに格納されている(前述)。
【0138】マルチプレクサ70は、まず、システム構
成レジスタ79にアクセスして、DMAマップ・レジス
タの内容を取得する。そして、I/Oリード・アクセス
されている4バイトのうち、第1のDMAコントローラ
が使用しているDMAチャネルに関連するバイト/ビッ
ト・フィールドについては、データ・ラッチ64に保持
されたデータ1(すなわち第1のDMAコントローラか
らのI/Oリード・データ)から取得する。また、第2
のDMAコントローラが使用しているDMAチャネルに
関連するバイト・フィールドについては、データ・ラッ
チ69に保持された第2のDMAコントローラからのI
/Oリード・データから取得する。次いで、取得した各
バイト(ビット)・フィールドのデータ同士をマルチプ
レクスして、主PCIバス16のAD(31:0)上に
送出する。
【0139】このようなマルチプレクス手順を経ること
により、データ2(すなわち最終的なI/Oリード・デ
ータ)の各バイト(ビット)・フィールドには、使用中
のDMAチャネルの制御レジスタ値が必ず取り込まれる
ことになる。例えば第2のDMAコントローラがDMA
チャネル0を使用している場合、DMAレジスタ1の下
位4バイトをI/Oリードすれば、その下位第1及び第
2バイトには第2のDMAコントローラからのI/Oリ
ード・データが取り込まれていることになる。
【0140】したがって、CPU11(より具体的には
DMA転送を制御するBIOS又はデバイス・ドライ
バ)は、意味のある制御内容を取得でき、的確なDMA
制御を実行できる訳である。
【0141】F.追補 以上、特定の実施例を参照しながら、本発明について詳
解してきた。しかしながら、本発明の要旨を逸脱しない
範囲で当業者が該実施例の修正や代用を成し得ることは
自明である。例えば、単一のI/Oアドレス空間上に複
数のデバイスが割り当てられた他の場合であっても、本
発明に依れば、該複数のデバイスに好適にI/Oアクセ
スすることができる。
【0142】要するに、例示という形態で本発明を開示
してきたのであり、限定的に解釈されるべきではない。
本発明の要旨を判断するためには、冒頭に記載した特許
請求の範囲の欄を参酌すべきである。
【0143】なお、本明細書中で記述されたI/Oポー
トの予約内容等は、IBM PC/ATの標準に基づく
ものである。
【0144】
【発明の効果】以上詳記したように、本発明によれば、
ドッキング・ステーションに装着可能な優れた情報処理
システム及びその制御方法を提供することができる。
【0145】また、本発明によれば、ドッキング・ステ
ーションに装着した間であっても正確にDMA転送を行
える情報処理システム及びその制御方法を提供すること
ができる。
【0146】また、本発明によれば、自システム内及び
ドッキング・ステーションの双方にDMAコントローラ
が並存する場合であっても正確にDMA転送を行える情
報処理システム及びその制御方法を提供することができ
る。
【0147】また、本発明によれば、並存する各DMA
コントローラが同一のI/Oアドレスを割り当てられて
いる場合であっても、好適にDMA転送を行える情報処
理システム及びその制御方法を提供することができる。
【図面の簡単な説明】
【図1】図1は、本発明の実施に供されるパーソナル・
コンピュータ(PC)100及びドッキング・ステーシ
ョン200のハードウェア構成を示した図である。
【図2】図2は、PCIバス上で発生するライト・サイ
クルをタイミング・チャートの形態で示した図である。
【図3】図3は、PCIバス上で発生するリード・サイ
クルをタイミング・チャートの形態で示した図である。
【図4】図4は、バス接続制御装置60のうちPCI−
PCIブリッジ機能部分のハードウェア構成要素を示し
た図である。
【図5】図5は、バス接続制御装置60のうち仮想ター
ゲット機能部分のハードウェア構成要素を示した図であ
る。
【図6】図6は、本発明によるDMAコントローラへの
I/Oライト・オペレーションをタイミング・チャート
の形態で示した図である。
【図7】図7は、本発明によるDMAコントローラへの
I/Oリード・オペレーションをタイミング・チャート
の形態で示した図である。
【図8】図8は、PCのハードウェア構成を概略的に示
した図である。
【図9】図9は、PCIバスのバス拡張機能を備えたド
ッキング・ステーション、及びこれにドッキングされた
ノートブック・コンピュータのハードウェア構成を概略
的に示した図である。
【図10】図10は、2個以上DMAコントローラが同
一のI/Oアドレスに割り当てられている様子を概念的
に示した図である。
【符号の説明】
11…CPU、12…プロセッサ・バス、13…L2キ
ャッシュ、14,51…ブリッジ回路(ホスト−PCI
ブリッジ)、15…メイン・メモリ、16…(主)PC
Iバス、17…ビデオ・コントローラ、18…VRA
M、19…LCD、20…ブリッジ回路(PCI−IS
Aブリッジ)、21…KDD、22…(主)ISAバ
ス、23…I/Oコントローラ、24…KMC、26…
キーボード、27…マウス、28…ROM、29…IS
Aデバイス、50…(2次)PCIバス、52…PCI
デバイス、53…(2次)ISAバス、54…ISAデ
バイス、60…バス接続制御装置、61,66,71,
75,81,84…I/Oバッファ、62,67…アド
レス・ラッチ、63,68…アドレス・デコーダ、6
4,69…データ・ラッチ、65,70,74,78…
MUX、72,76…コマンド・ラッチ、73,77…
コマンド・デコーダ、82…主PCIターゲット・ステ
ート・マシン、83…2次PCIマスタ・ステート・マ
シン、85…2次PCIターゲット・ステート・マシ
ン、86…主PCIマスタ・ステート・マシン、91…
制御回路、92…スイッチ回路、100…パーソナル・
コンピュータ、200…ドッキング・ステーション。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 谷口 政義 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内 (72)発明者 中野 正剛 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】CPUと1以上の周辺機器を含み、且つC
    PUは各周辺機器の制御レジスタにそれぞれ固有のI/
    Oアドレスを割り当てることにより周辺機器を制御する
    タイプの情報処理システムにおいて、さらに、 所定のI/Oアドレスを割り当てられた第1のDMAコ
    ントローラと、 前記所定のI/Oアドレスを割り当てられた第2のDM
    Aコントローラと、 前記所定のI/OアドレスへのI/Oアクセス要求が発
    生したときは前記第1及び第2のDMAコントローラに
    代行して前記CPUに応答する制御回路と、を含むこと
    を特徴とする情報処理システム
  2. 【請求項2】I/Oアクセス方式でCPUが周辺機器を
    制御するタイプの情報処理システムにおいて、(a) 前記
    CPUと前記周辺機器とを連絡し、コマンド送付側機器
    がイニシエータ・レディ信号を活動化させるとともにコ
    マンド受信側機器がデバイス・セレクト信号及びターゲ
    ット・レディ信号を活動化させることによってハンドシ
    ェイクするタイプのバスと、(b) 前記バスに接続され、
    所定のI/Oアドレスを割り当てられた第1のDMAコ
    ントローラと、(c) 前記バスに接続され、前記所定のI
    /Oアドレスを割り当てられた第2のDMAコントロー
    ラと、(d) 前記第1のDMAコントローラから出力され
    るデバイス・セレクト信号線及びターゲット・レディ信
    号線を接続・切り離しするための第1の接続・切り離し
    手段と、(e) 前記第2のDMAコントローラから出力さ
    れるデバイス・セレクト信号線及びターゲット・レディ
    信号線を接続・切り離しするための第2の接続・切り離
    し手段と、(f) 前記バスに接続されるとともに、前記第
    1及び第2のDMAコントローラから出力される各デバ
    イス・セレクト信号線及びターゲット・レディ信号線を
    入力し、バス上に発生したI/Oアクセス動作に応じて
    前記第1及び第2の接続・切り離し手段の開閉動作を制
    御するための制御回路と、を含むことを特徴とする情報
    処理システム
  3. 【請求項3】前記制御回路は、前記バス上で前記DMA
    コントローラに割り当てられた所定のI/Oアドレスに
    アクセスするバス・サイクルの間は、前記第1及び第2
    の接続・切り離し手段を切り離す、ことを特徴とする請
    求項2に記載の情報処理システム
  4. 【請求項4】前記制御回路は、前記バス上で前記DMA
    コントローラに割り当てられた所定のI/Oアドレスへ
    のアクセスが発生したときには、前記第1及び第2の接
    続・切り離し手段を切り離すとともに前記バス上でデバ
    イス・セレクト信号を活動化させ、且つ、前記第1及び
    第2のDMAコントローラの双方がターゲット・レディ
    信号を出力したことに応答して前記バス上でターゲット
    ・レディ信号を活動化させる、ことを特徴とする請求項
    2に記載の情報処理システム
  5. 【請求項5】前記バス上で前記DMAコントローラに割
    り当てられた所定のI/Oアドレスへのアクセスがライ
    ト・アクセスの場合、前記第1及び第2のDMAコント
    ローラは前記バスを介して受信した書き込みデータをそ
    れぞれ自己の制御レジスタにそのまま書き込む、ことを
    特徴とする請求項4に記載の情報処理システム
  6. 【請求項6】前記バス上で前記DMAコントローラに割
    り当てられた所定のI/Oアドレスへのアクセスがリー
    ド・アクセスの場合、前記制御回路は、前記第1及び第
    2のDMAコントローラの各々の制御レジスタの内容を
    多重化して前記バス上に送出する、ことを特徴とする請
    求項4に記載の情報処理システム
  7. 【請求項7】前記多重化は、前記第1及び第2のDMA
    コントローラの各チャネルの使用状況に応じて行う、こ
    とを特徴とする請求項6に記載の情報処理システム
  8. 【請求項8】前記制御回路は、前記バス上で前記DMA
    コントローラに割り当てられた所定のI/Oアドレスへ
    のアクセスが発生したときには、前記第1及び第2のD
    MAコントローラの双方がターゲット・レディ信号を出
    力するまでは、前記バス上でターゲット・レディ信号を
    活動化させないことにより該アクセス・サイクルを終了
    させない、ことを特徴とする請求項2に記載の情報処理
    システム
  9. 【請求項9】前記バスはPCI(Peripheral Component
    Interconnect)バスであることを特徴とする請求項2
    に記載の情報処理システム
  10. 【請求項10】I/Oアクセス方式で周辺機器を制御す
    るタイプのCPUと、1以上の周辺機器と、前記CPU
    と前記周辺機器とを連絡し、コマンド送付側機器がイニ
    シエータ・レディ信号を活動化させるとともにコマンド
    受信側機器がデバイス・セレクト信号及びターゲット・
    レディ信号を活動化させることによってハンドシェイク
    するタイプのバスと、前記バスに接続され且つ所定のI
    /Oアドレスを割り当てられた第1のDMAコントロー
    ラと、前記バスに接続され且つ前記所定のI/Oアドレ
    スを割り当てられた第2のDMAコントローラと、を含
    む情報処理システムの制御方法において、(a) 前記CP
    Uが前記所定のI/Oアドレスにアクセスを開始する段
    階と、(b) 該アクセスの開始に応答して前記バス上でデ
    バイス・セレクト信号を活動化させる段階と、(c) 前記
    第1及び第2のDMAコントローラの双方がターゲット
    ・レディ信号を出力したことに応答して前記バス上でタ
    ーゲット・レディ信号を活動化させる段階と、を特徴と
    する情報処理システムの制御方法
  11. 【請求項11】前記所定のI/Oアドレスへのアクセス
    がライト・アクセスの場合、前記第1及び第2のDMA
    コントローラは前記バスを介して受信した書き込みデー
    タをそれぞれ自己の制御レジスタにそのまま書き込む、
    ことを特徴とする請求項10に記載の情報処理システム
    の制御方法
  12. 【請求項12】前記所定のI/Oアドレスへのアクセス
    がリード・アクセスの場合、前記第1及び第2のDMA
    コントローラの各々の制御レジスタの内容を多重化して
    前記バス上に送出する、ことを特徴とする請求項10に
    記載の情報処理システムの制御方法
  13. 【請求項13】前記多重化は、前記第1及び第2のDM
    Aコントローラの各チャネルの使用状況に応じて行う、
    ことを特徴とする請求項12に記載の情報処理システム
    の制御方法
  14. 【請求項14】前記バスはPCI(Peripheral Compone
    nt Interconnect)バスであることを特徴とする請求項
    10に記載の情報処理システムの制御方法
  15. 【請求項15】CPUはI/Oアクセス方式により周辺
    機器を制御し、且つ、コマンド送付側機器がイニシエー
    タ・レディ信号を活動化させるとともにコマンド受信側
    機器がデバイス・セレクト信号及びターゲット・レディ
    信号を活動化させることによってハンドシェイクするバ
    スによってCPUと各周辺機器が連絡するタイプの情報
    処理システムにおいて、さらに、(a) 前記バスに接続さ
    れ、所定のI/Oアドレスを割り当てられた第1の周辺
    機器と、(b) 前記バスに接続され、前記第1の周辺機器
    と同じI/Oアドレスを割り当てられた第2の周辺機器
    と、(c) 前記第1の周辺機器から出力されるデバイス・
    セレクト信号線及びターゲット・レディ信号線を接続・
    切り離しするための第1の接続・切り離し手段と、(d)
    前記第2の周辺機器から出力されるデバイス・セレクト
    信号線及びターゲット・レディ信号線を接続・切り離し
    するための第2の接続・切り離し手段と、(e) 前記バス
    に接続されるとともに、前記第1及び第2の周辺機器か
    ら出力される各デバイス・セレクト信号線及びターゲッ
    ト・レディ信号線を入力し、バス上に発生したI/Oア
    クセス動作に応じて前記第1及び第2の接続・切り離し
    手段の開閉操作を制御するための制御回路と、を含むこ
    とを特徴とする情報処理システム
  16. 【請求項16】前記制御回路は、前記バス上で前記第1
    及び第2の周辺機器に割り当てられた所定のI/Oアド
    レスにアクセスするバス・サイクルの間は、前記第1及
    び第2の接続・切り離し手段を切り離す、ことを特徴と
    する請求項15に記載の情報処理システム
  17. 【請求項17】前記制御回路は、前記バス上で前記第1
    及び第2の周辺機器に割り当てられた所定のI/Oアド
    レスへのアクセス要求が発生したときには、前記第1及
    び第2の接続・切り離し手段を切り離すとともに前記バ
    ス上でデバイス・セレクト信号を活動化させ、且つ、前
    記第1及び第2の周辺機器の双方がターゲット・レディ
    信号を出力したことに応答して前記バス上でターゲット
    ・レディ信号を活動化させる、ことを特徴とする請求項
    15に記載の情報処理システム
  18. 【請求項18】前記制御回路は、前記バス上で前記第1
    及び第2の周辺機器に割り当てられた所定のI/Oアド
    レスへのアクセス要求が発生したときには、前記第1及
    び第2の周辺機器の双方がターゲット・レディ信号を出
    力するまでは、前記バス上でターゲット・レディ信号を
    活動化させないことにより該アクセス・サイクルを終了
    させない、ことを特徴とする請求項15に記載の情報処
    理システム
  19. 【請求項19】CPUはI/Oアクセス方式によりバス
    接続された周辺機器を制御し、且つ、バス上におけるC
    PUと周辺機器との間のハンドシェイキングによって1
    つのバス・サイクルが完結するタイプの情報処理システ
    ムにおいて、さらに、(a) バスに接続され、且つ所定の
    I/Oアドレスを割り当てられた第1の周辺機器と、
    (b) バスに接続され、且つ前記第1の周辺機器と同じI
    /Oアドレスを割り当てられた第2の周辺機器と、(c)
    前記第1又は第2の周辺機器にI/Oアクセスするため
    のバス・サイクルが開始したときには、前記第1及び第
    2の周辺機器の双方が前記CPUとハンドシェイク可能
    な状態になるまでは該バス・サイクルを終了させないた
    めの制御回路と、を含むことを特徴とする情報処理シス
    テム
  20. 【請求項20】I/Oアクセス方式でCPUが周辺機器
    を制御するタイプの情報処理システムにおいて、 (a) 前記CPUと前記周辺機器とを連絡し、コマンド送
    付側機器がイニシエータ・レディ信号を活動化させると
    ともにコマンド受信側機器がデバイス・セレクト信号及
    びターゲット・レディ信号を活動化させることによって
    ハンドシェイクするタイプの第1のバスと、 (b) 前記第1のバスに接続され、所定のI/Oアドレス
    を割り当てられた第1の周辺機器と、 (c) 前記CPUと前記周辺機器とを連絡し、コマンド送
    付側機器がイニシエータ・レディ信号を活動化させると
    ともにコマンド受信側機器がデバイス・セレクト信号及
    びターゲット・レディ信号を活動化させることによって
    ハンドシェイクするタイプの第2のバスと、 (d) 前記第1のバスと前記第2のバスを非同期的に双方
    向接続するためのバス接続手段と、 (e) 前記第2のバスに接続され、前記所定のI/Oアド
    レスを割り当てられた第2の周辺機器と、 (f) 前記第1の周辺機器から出力されるデバイス・セレ
    クト信号線及びターゲット・レディ信号線を接続・切り
    離しするための接続・切り離し手段と、 (g) 前記第1のバス上で前記所定のI/Oアドレスへの
    アクセスが発生したときには、(g-1) 該アクセスの発生
    に応答して前記第1のバス上でデバイス・セレクト信号
    を活動化させ、(g-2) 該バス・サイクルの終了までは前
    記接続・切り離し手段を切り離すとともに、(g-3) 前記
    第2の周辺機器からのターゲット・レディ信号に応答し
    て前記第1のバス上でターゲット・レディ信号を活動化
    させて該バス・サイクルを終了させる、制御回路と、を
    含むことを特徴とする情報処理システム
  21. 【請求項21】前記第1及び第2のバスは、PCI(Pe
    ripheral Component Interconnect)バスであることを
    特徴とする請求項20に記載の情報処理システム
JP32547695A 1995-12-14 1995-12-14 情報処理システム及びその制御方法 Expired - Fee Related JP3403284B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP32547695A JP3403284B2 (ja) 1995-12-14 1995-12-14 情報処理システム及びその制御方法
US08/710,453 US5878272A (en) 1995-12-14 1996-09-18 Computer system having two DMA circuits assigned to the same address space
US09/122,283 US6209042B1 (en) 1995-12-14 1998-07-24 Computer system having two DMA circuits assigned to the same address space

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32547695A JP3403284B2 (ja) 1995-12-14 1995-12-14 情報処理システム及びその制御方法

Publications (2)

Publication Number Publication Date
JPH09179812A true JPH09179812A (ja) 1997-07-11
JP3403284B2 JP3403284B2 (ja) 2003-05-06

Family

ID=18177315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32547695A Expired - Fee Related JP3403284B2 (ja) 1995-12-14 1995-12-14 情報処理システム及びその制御方法

Country Status (2)

Country Link
US (2) US5878272A (ja)
JP (1) JP3403284B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7472415B2 (en) 1998-07-28 2008-12-30 Hitachi, Ltd. Digital signal processing apparatus
JP2016525237A (ja) * 2013-07-26 2016-08-22 インテル・コーポレーション 不揮発性メモリインターフェース

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3403284B2 (ja) * 1995-12-14 2003-05-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理システム及びその制御方法
US5954802A (en) * 1996-01-31 1999-09-21 Texas Instruments Incorporated System for interfacing ISA compatible computer devices with non-ISA buses using secondary DMA controllers and glue logic circuit
US6412027B1 (en) * 1998-02-11 2002-06-25 Globespanvirata, Inc. Direct memory access controller having on-board arbitration circuitry
JP3397124B2 (ja) * 1998-03-12 2003-04-14 ソニー株式会社 同期方法及びブリッジ
US6145029A (en) * 1998-03-13 2000-11-07 Compaq Computer Corporation Computer system with enhanced docking support
US6256689B1 (en) * 1998-06-11 2001-07-03 Adaptec, Inc. Bus system expandable by connection of a bus bridge circuit
JP2938049B1 (ja) * 1998-07-02 1999-08-23 新潟日本電気株式会社 コンピュータ本体への拡張入出力装置の活線挿抜制御装置
US6341328B1 (en) * 1999-04-20 2002-01-22 Lucent Technologies, Inc. Method and apparatus for using multiple co-dependent DMA controllers to provide a single set of read and write commands
JP2001022680A (ja) * 1999-07-06 2001-01-26 Seiko Epson Corp コンピュータ周辺機器
US6493803B1 (en) * 1999-08-23 2002-12-10 Advanced Micro Devices, Inc. Direct memory access controller with channel width configurability support
US6629001B1 (en) * 1999-09-15 2003-09-30 Intel Corporation Configurable controller for audio channels
US6757762B1 (en) 1999-10-29 2004-06-29 Unisys Corporation Multi-mode processor bus bridge
US6505263B1 (en) * 2000-01-25 2003-01-07 Dell U.S.A. L.P. Bus controller operating code in system memory
US6622177B1 (en) * 2000-07-27 2003-09-16 International Business Machines Corporation Dynamic management of addresses to an input/output (I/O) device
US6795875B2 (en) * 2000-07-31 2004-09-21 Microsoft Corporation Arbitrating and servicing polychronous data requests in direct memory access
US6948010B2 (en) * 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
CN1260629C (zh) * 2001-11-28 2006-06-21 希旺科技股份有限公司 具有动态存储器配置的电子周边卡
JP4144240B2 (ja) * 2002-04-12 2008-09-03 セイコーエプソン株式会社 制御装置および制御方法
US7313096B2 (en) * 2002-05-20 2007-12-25 Microsoft Corporation Multiplexing a communication port
US7130933B2 (en) * 2002-07-24 2006-10-31 Intel Corporation Method, system, and program for handling input/output commands
US6820140B2 (en) 2002-07-24 2004-11-16 Intel Corporation Method, system, and program for returning data to read requests received over a bus
US6801963B2 (en) 2002-07-24 2004-10-05 Intel Corporation Method, system, and program for configuring components on a bus for input/output operations
US20050038946A1 (en) * 2003-08-12 2005-02-17 Tadpole Computer, Inc. System and method using a high speed interface in a system having co-processors
US7899941B2 (en) * 2008-09-30 2011-03-01 Apple Inc. Displayport I2C speed control
US20100079444A1 (en) * 2008-09-30 2010-04-01 Apple Inc. Displayport sleep behavior
US8248421B2 (en) * 2008-09-30 2012-08-21 Apple Inc. DisplayPort control and data registers
WO2012039143A1 (ja) * 2010-09-21 2012-03-29 三菱電機株式会社 Dmaコントローラ及びデータ読出装置
US10045354B2 (en) * 2016-03-24 2018-08-07 Starkey Laboratories, Inc. Adaptive channel mapping for wireless communications
US11604748B2 (en) * 2020-10-30 2023-03-14 Microsoft Technology Licensing, Llc Interconnect for direct memory access controllers

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396602A (en) * 1993-05-28 1995-03-07 International Business Machines Corp. Arbitration logic for multiple bus computer system
US5450551A (en) * 1993-05-28 1995-09-12 International Business Machines Corporation System direct memory access (DMA) support logic for PCI based computer system
US5611053A (en) * 1994-01-21 1997-03-11 Advanced Micro Devices, Inc. Apparatus and method for integrating bus master ownership of local bus load by plural data transceivers
JP3382337B2 (ja) * 1994-02-04 2003-03-04 キヤノン株式会社 情報処理システム及び電子機器及び制御方法
US5561820A (en) * 1994-11-30 1996-10-01 International Business Machines Corporation Bridge for interfacing buses in computer system with a direct memory access controller having dynamically configurable direct memory access channels
US5621902A (en) * 1994-11-30 1997-04-15 International Business Machines Corporation Computer system having a bridge between two buses with a direct memory access controller and an alternative memory access controller
US5613162A (en) * 1995-01-04 1997-03-18 Ast Research, Inc. Method and apparatus for performing efficient direct memory access data transfers
US5737748A (en) * 1995-03-15 1998-04-07 Texas Instruments Incorporated Microprocessor unit having a first level write-through cache memory and a smaller second-level write-back cache memory
US5664197A (en) * 1995-04-21 1997-09-02 Intel Corporation Method and apparatus for handling bus master channel and direct memory access (DMA) channel access requests at an I/O controller
US5621900A (en) * 1995-05-17 1997-04-15 Intel Corporation Method and apparatus for claiming bus access from a first bus to a second bus prior to the subtractive decode agent claiming the transaction without decoding the transaction
US5673400A (en) * 1995-06-06 1997-09-30 National Semiconductor Corporation Method and apparatus for identifying and controlling a target peripheral device in a multiple bus system
US5590377A (en) * 1995-06-07 1996-12-31 Ast Research, Inc. Automatic control of distributed DMAs in a PCI bus system supporting dual ISA buses
JPH0954748A (ja) * 1995-08-11 1997-02-25 Toshiba Corp コンピュータシステムおよびこのシステムに設けられるdmaコントローラ
JPH0981507A (ja) * 1995-09-08 1997-03-28 Toshiba Corp コンピュータシステム
US5774680A (en) * 1995-12-11 1998-06-30 Compaq Computer Corporation Interfacing direct memory access devices to a non-ISA bus
JP3403284B2 (ja) * 1995-12-14 2003-05-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理システム及びその制御方法
US5954802A (en) * 1996-01-31 1999-09-21 Texas Instruments Incorporated System for interfacing ISA compatible computer devices with non-ISA buses using secondary DMA controllers and glue logic circuit
US5935223A (en) * 1996-05-21 1999-08-10 Texas Instruments Incorporated System for blocking access to a computer device using a glue logic circuit operable to force a target computer device to perform a target abort
US5968144A (en) * 1996-06-27 1999-10-19 Vlsi Technology, Inc. System for supporting DMA I/O device using PCI bus and PCI-PCI bridge comprising programmable DMA controller for request arbitration and storing data transfer information
US5864688A (en) * 1996-07-19 1999-01-26 Compaq Computer Corporation Apparatus and method for positively and subtractively decoding addresses on a bus
US5918026A (en) * 1996-12-23 1999-06-29 Compaq Computer Corporation PCI to PCI bridge for transparently completing transactions between agents on opposite sides of the bridge

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7472415B2 (en) 1998-07-28 2008-12-30 Hitachi, Ltd. Digital signal processing apparatus
US8042175B2 (en) 1998-07-28 2011-10-18 Hitachi, Ltd. Digital signal processing apparatus
JP2016525237A (ja) * 2013-07-26 2016-08-22 インテル・コーポレーション 不揮発性メモリインターフェース

Also Published As

Publication number Publication date
US5878272A (en) 1999-03-02
JP3403284B2 (ja) 2003-05-06
US6209042B1 (en) 2001-03-27

Similar Documents

Publication Publication Date Title
JP3403284B2 (ja) 情報処理システム及びその制御方法
US5621902A (en) Computer system having a bridge between two buses with a direct memory access controller and an alternative memory access controller
US5867733A (en) Mass data storage controller permitting data to be directly transferred between storage devices without transferring data to main memory and without transferring data over input-output bus
JP3838278B2 (ja) コンピュータ・システムの2つのバス間のブリッジ回路
JP2571673B2 (ja) 多重化バスを有する情報処理システムでバック・ツー・バック・データ転送を提供する方法および装置
EP0827609B1 (en) Add-in board with enable/disable expansion rom for pci bus computers and corrresponding interface
KR100306636B1 (ko) Pci-isa인터럽트프로토콜컨버터및선택메카니즘
CN100555257C (zh) 处理页面复制期间的dma操作的存储控制器和方法
CN100405303C (zh) 数据处理系统
EP1011050B1 (en) A method and system for providing hot plug of adapter cards in an expanded slot environment
EP1422626B1 (en) Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process
EP1032880B1 (en) Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple agent processing system
US6148356A (en) Scalable computer system
US5564114A (en) Method and an arrangement for handshaking on a bus to transfer information between devices in a computer system
US20040024949A1 (en) Retry mechanism for blocking interfaces
US5838995A (en) System and method for high frequency operation of I/O bus
US7007126B2 (en) Accessing a primary bus messaging unit from a secondary bus through a PCI bridge
EP0836141B1 (en) A fault-tolerant bus system
JP2503183B2 (ja) バス・アダプタ・システム
US6014717A (en) PCMCIA host adapter and method for variable data transfers
JPH11126182A (ja) コンピュータバス間通信装置及びその方法
US6237057B1 (en) Method and system for PCI slot expansion via electrical isolation
KR100579203B1 (ko) 능률화된 ata 장치 초기화 방법 및 장치
JP2963426B2 (ja) バスブリッジ装置及びトランザクションフォワード方法
US5933613A (en) Computer system and inter-bus control circuit

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees