JP2009054087A - 情報処理装置、pciバス制御方法、およびpciバス制御プログラム - Google Patents

情報処理装置、pciバス制御方法、およびpciバス制御プログラム Download PDF

Info

Publication number
JP2009054087A
JP2009054087A JP2007222454A JP2007222454A JP2009054087A JP 2009054087 A JP2009054087 A JP 2009054087A JP 2007222454 A JP2007222454 A JP 2007222454A JP 2007222454 A JP2007222454 A JP 2007222454A JP 2009054087 A JP2009054087 A JP 2009054087A
Authority
JP
Japan
Prior art keywords
pci
bus
request signal
use request
clock
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
JP2007222454A
Other languages
English (en)
Other versions
JP4788004B2 (ja
Inventor
Hirotoshi Hirooka
弘敏 廣岡
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.)
NEC Platforms Ltd
Original Assignee
NEC AccessTechnica 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 NEC AccessTechnica Ltd filed Critical NEC AccessTechnica Ltd
Priority to JP2007222454A priority Critical patent/JP4788004B2/ja
Publication of JP2009054087A publication Critical patent/JP2009054087A/ja
Application granted granted Critical
Publication of JP4788004B2 publication Critical patent/JP4788004B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

【課題】PCIバスに動作クロックの異なる複数のPCIデバイスの接続を可能とし、システム構成の簡易化と利便性の向上を図ること。
【解決手段】プロセッサ10及びメモリ15が接続されたシステムバス20にPCIホスト・ブリッジ30を介して接続されたPCIバス60とを有する。このPCIバス60に、周波数の異なった少なくとも二つのPCIデバイス70,80を接続する。PCIホスト・ブリッジ30は、各PCIデバイス70,80に対応した周波数のバスクロックをPCIバス用の動作クロックとして出力するPCIクロック制御部35を備え、前記プロセッサ10は、一方又は他方のPCIデバイスからバス使用要求信号が出力された場合に当該バス使用要求信号にかかるPCIデバイスに対応する周波数のバスクロックを出力するように、前記PCIクロック制御部35に指令するようにしたこと。
【選択図】図1

Description

本発明は、PCIバスを備えた情報処理装置に係り、特に動作クロック周波数の異なる複数の周辺機器(PCIデバイス)とPCIバスとの接続の効率化を図った情報処理装置、PCIバス制御方法、およびPCIバス制御プログラムに関する。
パーソナルコンピュータ等の情報処理装置の性能向上に伴い、情報処理装置に多様な周辺機器(デバイス)を接続する要求が高まっている。そのため、情報処理装置には、複数の周辺デバイスが共通に使えるデータ入出力のための転送回路(「バス」という)が設けられている。
この場合、動作クロック周波数が同一の周辺デバイスを接続する場合は、同一のバス(例えばISAバス、PCIバスなど)に接続すればすむが、動作クロック周波数の異なる複数の周辺デバイスを接続するためには、動作クロック周波数に対応した複数の「バス」が必要であった。
ここで、具体例として、従来の情報処理装置に備わるバスの代表例であるPCI(Peripheral Component Interconnect )バスについて、複数のバスを備える構成について説明する(図7参照)。
この図7に示すように、この具体例では、プロセッサ110とそれにつながるシステムバス120、及びこのシステムバス120とPCIバス(A)140とを接続するPCIホスト・ブリッジ130、更に、PCI−PCI・ブリッジ150をPCIバスA140の配下に接続し、PCIバス(B)160を設けた構成となっている。
この図7に示す構成では、異なるPCIクロックで動作する周辺機器(PCIバスにつながる周辺デバイスという意味で、以下「PCIデバイス」と呼ぶ)170,180を動作させる場合、例えば、PCIバスA140を66〔MHz〕用、PCIバスB160を33〔MHz〕用にすることで、66〔MHz〕と33〔MHz〕のように異なるPCIクロックのPCIデバイスを動作させるという手法が採られている。
また、異なるクロックで動作する複数のPCIバスを夫々設け、それらPCIバスを一つのPCIホスト・ブリッジを介してシステムバスに接続・切替えるという方法で、PCI- PCI・ブリッジを不要とした構成(特許文献1)や、PCIデバイスを接続するスロットにバススイッチを介してクロック周波数の異なる2つのPCIバスを設け、その各PCIバスは一つのPCIホスト・ブリッジを介してシステムバスに接続・切替えるという方法(特許文献2)が、従来より知られている。
特開2000−082035号公報 特開2001−043179号公報
しかしながら、上述した図7に示す例では、PCI−PCIブリッジ150を常に実装する必要があり、更にこのブリッジ回路150は回路構成が複雑であることからコストが高くなるという不都合があった。また、この図7の例では、PCIバスを2本必要とするため、回路規模が大きくなるという不都合があった。
又、上述した特許文献1,2に開示された内容にあっては、複数のPCIバスを用意する点では何れも同じであり、そのためバス制御回路やバススイッチなどのために回路規模が大きくなるという問題を抱えていた。
上述したように、従来の方法では、動作クロックが異なるPCIデバイスを情報処理装置のPCIバスに接続・搭載する場合、例えPCI- PCIブリッジを使用しない方式であっても、複数のPCIバスが必要であった。そのため、PCIバス毎にバス制御回路やバススイッチを必要とするため回路規模が大きくなるという問題を常に抱えていた。
(発明の目的)
本発明は、上記問題点に鑑み、PCIバスを最小単位にて構成すると共にシステム構成の簡易化を図った情報処理装置、PCIバス制御方法、及びPCIバス制御プログラムを提供することを、その目的とする。
上記目的を達成するため、本発明に係る情報処理装置は、プロセッサおよびメモリが接続されたシステムバスと、このシステムバスにPCIホスト・ブリッジを介して接続されたPCIバスとを有し、前記PCIバスに接続された周波数の異なる一方と他方の少なくとも二つのPCIデバイスと、前記PCIホスト・ブリッジに装備され前記各PCIデバイスに対応した周波数のバスクロックを前記PCIバス用の動作クロックとして出力するPCIクロック制御部とを備えている。更に、前述したPCIホスト・ブリッジと前記各PCIデバイスとの間には、外部指令に応じて前記PCIデバイスの何れか一方のバス使用要求信号をマスクする要求信号マスク手段が介装されている。そして、前記プロセッサは、前記要求信号マスク手段でマスクされた前記PCIデバイスにかかるバス使用要求信号が出力された場合に当該PCIデバイスに対応する周波数のバスクロックを出力するように、前記PCIクロック制御部に指令する対応バスクロック出力指令機能を備えていることを特徴とする。
又、上記目的を達成するため、本発明に係るPCIバス制御方法は、構成各部の動作を制御するプロセッサとメモリとが接続されるシステムバスと、このシステムバスとPCIバスとを接続すると共に前記PCIバスを制御するPCIホスト・ブリッジとを備え、前記PCIバス上には異なる動作クロック周波数の複数のPCIデバイスが接続されて成る情報処理装置にあって、前述したPCIホスト・ブリッジから前記PCIバスに出力されているPCIバス用の動作クロックの周波数が何れのPCIデバイスにかかる周波数かを予め装備した周波数判定手段によって判定する第1のステップと、この判定されたPCIバスクロック周波数を動作クロック周波数としていない他のPCIデバイスからのバス使用要求信号を予め装備した要求信号マスク手段によって選択的にマスクする第2のステップとを備えている。更に、このPCIバス制御方法は、選択的にマスクされた前記他のPCIデバイスにかかるバス使用要求信号を前記システムバスの予め装備された監視手段が取り込んで保持する第3のステップと、前記監視手段にて保持されているバス使用要求信号が前記PCIバスにおける動作クロック周波数にかかるバス使用要求信号とは異なった信号か否かを判断する第4のステップと、前記第4ステップで前記監視手段にて保持されているバス使用要求信号が前記PCIバスにおける動作クロック周波数にかかるバス使用要求信号とは異なったバス使用要求信号と判断された場合に、当該プロセッサが前記PCIホスト・ブリッジに対して前記PCIバス用の動作クロックの切替え指令を発信する第5のステップと、により構成されたことを特徴とする。
更に、上記目的を達成するため、本発明に係るPCIバス制御プログラムでは、構成各部の動作を制御するプロセッサとメモリとが接続されるシステムバスと、このシステムバスとPCIバスとを接続すると共に前記PCIバスを制御するPCIホスト・ブリッジとを備え、前記PCIバス上には異なる動作クロック周波数の複数のPCIデバイスが接続されて成る情報処理装置にあって、前述したPCIホスト・ブリッジから前記PCIバスに出力されているPCIバス用の動作クロックの周波数が何れのPCIデバイスにかかる周波数であるかを判定する周波数判定機能、この判定されたPCIバスクロック周波数を動作クロック周波数としていない他のPCIデバイスからバス使用要求信号が出力された場合に当該バス使用要求信号を予め装備した要求信号マスク手段が選択的にマスクするのを許容すると共に、当該マスクされた前記他のPCIデバイスにかかるバス使用要求信号を前記システムバスに予め装備した監視手段が取り込んで保持するのを許容する要求信号保持許容機能、前記監視手段にて保持されているバス使用要求信号が前記PCIバスにおける動作クロック周波数にかかるバス使用要求信号とは異なった信号か否かを判断する要求信号判断機能、前記監視手段にて保持されているバス使用要求信号が前記PCIバスにおける動作クロック周波数にかかるバス使用要求信号とは異なった信号と判断した場合に、前記PCIホスト・ブリッジに対して前記PCIバス用の動作クロックの切替え指令を発する切替え指令発信機能、を前記プロセッサに実行させることを特徴とする。
本発明は、以上のように構成され且つ同一のPCIバス上で異なる動作クロックのPCIデバイスを接続し切替え制御可能としたので、システム構成が大幅に簡易化され、同時にPCIバスクロック周波数を動作クロック周波数としていない他のPCIデバイスからバス使用要求信号が出力された場合に当該バス使用要求信号を要求信号マスク手段が選択的にマスクする構成としたので、プロセッサの負担が大幅に軽減され、これがためシステム全体の情報処理をより一層迅速に成し得るという従来にない優れた情報処理装置、PCIバス制御方法、およびPCIバス制御プログラムを提供することができる。
以下、本発明の一実施形態を図1乃至6に基づいて説明する。
ここで、本実施形態では、最初に情報処理装置の基本的な構成を説明し、その後に具体的な内容を順次説明する。
まず、図1に、本実施形態に係る情報処理装置のブロック図を示す。この図1において、本情報処理装置は、プロセッサ10およびメモリ15が接続されたシステムバス20と、このシステムバス20にPCIホスト・ブリッジ30を介して接続されたPCIバス60とを有する。このPCIバス60には、周波数の異なる一方と他方の少なくとも二つのPCIデバイス70,80が接続されている。
ここで、本実施形態にあっては、一方のPCIデバイス70は33〔MHz〕で動作する機能を備え、他方のPCIデバイス80は66〔MHz〕で動作する機能を備えて構成されている。
PCIホスト・ブリッジ30には、上述した各PCIデバイス70,80に対応した周波数33〔MHz〕又は66〔MHz〕のバスクロックをPCIバス用の動作クロックとして出力するPCIクロック制御部35が装備されている。
又、PCIホスト・ブリッジ30と前記各PCIデバイス70,80との間には、前記PCIバス60とは別に、外部指令に応じて前記PCIデバイス70,80の何れか一方のバス使用要求信号をマスクするREQマスク部(要求信号マスク手段)50が介装されている。
又、本実施形態にあっては、前述したPCIクロック制御部35から出力されている動作クロックが前記一方と他方の何れのPCIデバイス70又は80に対応した周波数であるかを判定する周波数判定手段11がシステムバス20に併設されている。ここで、この周波数判定手段11は、例えば、前述したメモリ15に予め記憶した周波数判定プログラム15Aをプロセッサ10で実行することにより実現されるように構成してもよい。
ここで、REQマスク部(要求信号マスク手段)50は、前述した一方又は他方のPCIデバイスから70,80からのバス使用要求信号を入力すると共に、前記周波数判定手段11でPCIバス60上の動作クロックの周波数が例えば一方のPCIデバイス70(又は80)に対応する周波数であると判定された場合に、この判定結果に基づいて他方のPCIデバイス80(又は70)からのバス使用要求信号を選択的にマスクする選択的マスク機能を備えている。
そして、PCIバスのクロック周波数が切替えられると、それに伴い、プロセッサ10からの指令「MASK REQ」により、マスク対象となるPCIデバイスからのバス使用要求信号REQ#_INが、これまでマスクされずに通過されていた信号に切替えられるという機能を備えている。
更に、本実施形態には、上記REQマスク部50によってマスクされた前記他方のPCIデバイス80(又は70)からバス使用要求信号が出力された場合に、これを保持して監視状態に設定するREQ監視部(監視手段)40が設けられている。即ち、前述したシステムバス20には、前述した二つのPCIデバイス70,80からのバス使用要求信号の発信有無を監視し当該監視情報を前記プロセッサ10に伝送するREQ監視部(監視手段)40が併設されている。
又、前述したプロセッサ10は、REQ監視部(監視手段)40に保持されているバス使用要求信号が前記一方のPCIデバイスにかかるバス使用要求信号と同一の信号か否かを判断し、異なったバス使用要求信号が保持されていると判断した場合に前述したPCIクロック制御部35に対して周波数切替え指令を発信する切替え指令発信機能10aを備えている。
そして、PCIクロック制御部35は、プロセッサ10からの指令に基づいて作動し前記PCIバス60における動作クロックの周波数を前記バス使用要求信号にかかる他のPCIデバイス80(又は70)に対応したクロック周波数に切り替えるクロック切替え制御機能35aを備えている。
ここで、前述したREQマスク部(要求信号マスク手段)50の具体例を説明する。
図1に示すように、PCIデバイス70用のREQマスク回路50Aと、PCIデバイス80用のREQマスク回路50Bとを備えている。このREQマスク回路50A,50Bは共に同一の構成部材により構成されている。
このREQマスク回路50A,50Bは、後述するように、それぞれD型フリップフロップ54と論理和OR回路52のロジックにより構成され、前記各PCIデバイス70又は80からのバス使用要求信号に個別に且つ迅速に対応し得るように、前述した各PCIデバイス毎に各一つの回路を有する構成となっている(図3参照)。
又、REQ監視部(監視手段)40は、マスクされたバス使用要求信号をラッチする機能を有すると共に当該ラッチした使用要求信号を保持するメモリ(REQ監視テーブル)45を備えている。そして、プロセッサ10は、自己の動作タイミングに沿って前記メモリ45から定期的に当該記憶内容を取り込むように構成されている。
以下、これを更に詳細に説明する。
上述したPCIバス60は、動作クロック周波数の異なるPCIデバイス70,80を接続し搭載するPCIバス仕様に準拠したPCI信号を許容するバスである。
PCIホスト・ブリッジ30は、システム・バス20とPCIバス60との間の情報転送、及びPCIバス60のバス制御を行う機能を備えている。このPCIバス60に対するバス制御は、REQマスク部50からの出力信号であるPCIデバイス70又は80からのバス使用要求信号REQ#_OUT の競合制御(アービトレーション)を行い、衝突を回避しながらPCIバス60の時分割的使用をPCIバス仕様に準拠して当該制御が実行される。
尚、ここでは、動作中のバスクロック周波数と異なる動作クロックを有するPCIデバイスからのバス使用要求信号は、後述するように、REQマスク部50においてマスクされ、本PCIホスト・ブリッジ30へは出力されない。そのため、この場合の競合制御は、同一動作クロック周波数を有するPCIデバイスの間におけるものとなる。
PCIクロック制御部35は、前述したようにPCIバス60に供給する2つのバスクロック(例えば33〔MHz〕と66〔MHz〕)の供給とその切替制御を行なう。このバスクロックの切替制御は、プロセッサ10からの指令に基づくが、その切替制御の契機になるのは、プロセッサ10によるREQ監視部40が備えるREQ監視テーブル45の監視によって現在動作中のバスクロック周波数とは異なる動作クロック周波数を有するPCIデバイスからのバス使用要求信号が出される場合である。
REQ監視部40は、PCIデバイス70、80の各使用要求信号(REQ#1信号,REQ#2信号)の状態をラッチし、その状態を、自身が備える記憶回路上にREQ監視テーブル45として格納し保持する。
尚、本REQ監視テーブル45は、プロセッサ10から監視できるように構成されている。即ち、プロセッサ10は、メモリ15上の監視プログラムと協働して、REQ監視テーブル45の中のREQマスク部50でマスクされてバスの使用が禁止されているPCIデバイスからのバス使用要求信号の状態を検出し、それが有効になったことを契機にバスクロック切替の指令をPCIクロック制御部35に送出する。
REQマスク部50は、プロセッサ10からの指令により、動作中のPCIバスクロック周波数と同じ動作クロックを持つPCIデバイス70又は80からのバス使用要求信号のみを受け付けPCIホスト・ブリッジ30へ出力し、異なる動作クロックのPCIデバイスからのバス使用要求信号はマスクするよう構成されている。
そして、PCIバスのクロック周波数が切替えられると、それに伴い、プロセッサ10からの指令により、マスク対象となるPCIデバイスからのバス使用要求信号REQ#_INが、これまでマスクされずに通過されていた信号に切替えられるという機能を備えている。
次に、REQマスク部50の具体的な構成と動作の説明に先立って、本実施形態におけるPCIバス60のバス制御の基本的な動作内容について(詳細は後述する)。
図2に示すように、まず、プロセッサ10によって、現在動作しているPCIバス60のクロック周波数が判定される(周波数判定工程:第1のステップ)。次に、REQマスク部50においては、プロセッサ10から動作中のクロック周波数の情報を受けて、現在のPCIバス60のクロック周波数で動作するPCIデバイス(例えばPCIデバイス70)からのバス使用要求がPCIホスト・ブリッジ30へ送出し、現在動作中のPCIバスクロック周波数を動作クロック周波数とはしない他のPCIデバイス(例えばPCIデバイス80)からのバス使用要求信号は選択的にマスクしてPCIホスト・ブリッジ30へは送出しない(要求信号マスク工程:第2のステップ)。
続いて、プロセッサ10とREQ監視部40のREQ監視テーブル45の協同により選択的にマスクされたバス使用要求信号を監視する(監視工程:第3のステップ)。その監視工程でのバス使用要求信号の活性化が検出された場合、即ち、REQ監視部40に保持されているバス使用要求信号が前記PCIバス60における動作クロック周波数にかかるバス使用要求信号とは異なった信号であると判断された場合(要求信号の活性化検出工程:第4ステップ)には、当該バス使用要求信号に基づいて、プロセッサ10からはクロック切替指令が出され、PCIクロック制御部35においてはPCIバスクロック周波数が切替えられる(クロック切替工程:第5のステップ)。
このクロック切替によって、上述したように、周波数判定工程でクロック周波数を判定したプロセッサ10は、REQマスク部50にクロック周波数の情報を送り、現在と反対のPCIデバイスをマスクするようREQマスク部50を動作させるので、これまでバス使用要求を抑えられていたPCIデバイスがバス使用権を得るようになり、バス使用権を持っていたPCIデバイスがバス使用を抑えられるように切り替わる。
ここで、上述したPCIバス60のバス制御にかかる基本的な制御動作の内容をプログラム化し、前述したプロセッサ10に実行させるように構成しても良い。
このPCIバス60のバス制御にかかる上記制御動作の内容のプログラムに関しては、例えば、以下に示す形態で特定してもよい。
即ち、前述したPCIホスト・ブリッジ30から前記PCIバス60に出力されているPCIバス用の動作クロックの周波数が何れのPCIデバイス70又は80にかかる周波数であるかを判定する周波数判定機能、この判定されたPCIバス60のバスクロック周波数を動作クロック周波数としていない他のPCIデバイス80又は70からバス使用要求信号が出力された場合に当該バス使用要求信号を予め装備したREQマスク部50が選択的にマスクするのを許容すると共に、当該マスクされた前記他のPCIデバイス80又は70にかかるバス使用要求信号を前記システムバス20に予め装備した監視手段40が取り込んで保持するのを許容する要求信号保持許容機能、この監視手段40にて保持されているバス使用要求信号が前記PCIバス60における動作クロック周波数にかかるバス使用要求信号とは異なった信号か否かを判断する要求信号判断機能、前記監視手段40にて保持されているバス使用要求信号が前記PCIバス60における動作クロック周波数にかかるバス使用要求信号とは異なった信号と判断した場合に、前記PCIホスト・ブリッジ30に対して前記PCIバス用の動作クロックの切替え指令を発する切替え指令発信機能、を前述したプロセッサ10に実行させるようにプログラム化する。
次に、REQマスク部50の構成の具体例につき、前述した図1及び図3に基づいて詳細に説明する。
REQマスク部50は、図1に示すように、前述した一方と他方の二つのPCIデバイ70,80に対応して二つのREQマスク回路50A,50Bを備えている。
ここで、本REQマスク部50は、図1では、二つのREQマスク回路50A,50Bを備えている場合を例示したが、PCIデバイスが三つ以上の場合は、その個数分のREQマスク回路を備えて構成される。
前述した一方のPCIデバイ70に対応した一方のREQマスク回路50Aは、図3(a)に示すように、D型フリップ・フロップ54と論理和であるOR回路52のロジックを備えて構成されている。他方のREQマスク回路50Bも同様に構成されている。
図3(b),(c)に、本REQマスク部50A(又は50B)の動作を明確にするため、D型フリップ・フロップ54の真理値表および論理和OR回路52の真理値表を示す。
ここで、上記REQマスク部50に関係している制御信号について詳述する。
まず、論理和OR回路52への入力信号として、PCIデバイスからのバス使用要求信号REQ#_INがある。又、D型フリップ・フロップ54への入力信号としては、プロセッサ10からのマスク要求信号信号MASK_REQ とPCIバスのクロック信号PCICLK_INとがある。
更に、REQマスク部50からの出力信号でPCIホスト・ブリッジ30へのバス使用要求信号としてはREQ#_OUT があり、D型フリップ・フロップ54の出力端子Dからの出力信号で論理和OR回路52への入力信号としては内部信号MASK_ENがある。この内部信号MASK_ENは、マスクの有効/無効を制御する制御信号であり、本信号が有効のときは、PCIホスト・ブリッジ30への使用要求信号「REQ#_OUT 」は有効にならない。
尚、ここでの信号表示に#が入っている信号は、負論理を示し、信号が「0」のとき有効であり、「1」のとき無効であることを示す。また、#が付いていない信号は正論理を示し、信号が「0」のとき無効であり、「1」のとき有効であることを示す。
以下、本REQマスク部50のREQマスク回路50Aの全体的な動作を、図3乃至図5に基づいて説明する。
ここで、図4に、REQマスク回路50Aの信号制御のタイミングチャートを示す。この図4に示すように、REQマスク回路50Aの信号制御を、マスク動作のタイミング、マスク動作状態、マスク解除のタイミングの順に説明する。
〈マスク動作のタイミング〉
図4中の4−1(マスクタイミング)のタイミングでは、本REQマスク回路50Aの出力信号である信号REQ#_OUT が「1」であり、この信号REQ#_OUT がフリップ・フロップ54の端子ENに加えられているので、フリップ・フロップ54は有効になっている。
このため、フリップ・フロップ54の入力端子Dへの入力信号でプロセッサ10からのマスク要求信号MASK_REQ が有効になると、フリップ・フロップ54の出力端子Qからの信号である内部信号MASK_ENが有効になり、論理和OR回路52へ入力されるPCIデバイス70からのバス使用要求信号REQ#_INが「0」であっても「1」であっても論理和OR回路52の出力端子Xからの出力信号にマスクがかかり「1」となる。
〈マスク動作状態〉
図中の4−2(マスク状態)のタイミングでは、内部信号MASK_ENが有効になっているため、論理和OR回路52へ入力されるPCIデバイス70からのバス使用要求信号REQ#_INが有効になっても、本REQマスク回路50Aの出力信号である信号REQ#_OUT は有効にならないので、バス使用要求信号REQ#_INはマスク状態となる。
〈マスク解除のタイミング〉
図中の4−3(マスク解除タイミング)では、プロセッサ10からのマスク要求信号MASK_REQ が無効になるため、内部信号MASK_ENが無効になる。このため、論理和OR回路52へ入力されるPCIデバイス70からのバス使用要求信号REQ#_INの有効状態が、本REQマスク回路50Aの出力信号REQ#_OUT から出力されることになりマスク状態が解除される。
〈マスク解除中〉
図中の4−4(マスク解除中)のタイミングでは、内部信号MASK_ENが無効のため、論理和OR回路52へ入力されるPCIデバイス70からのバス使用要求信号REQ#_INの状態変化と共に、本REQマスク回路50Aの出力信号REQ#_OUT も変化する。即ち、バス使用要求信号REQ#_INはマスクされないで出力信号REQ#_OUT に反映される。
次に、図5に基づいて、前述したPCIデバイス70からのバス使用要求信号REQ#が有効となっている場合に実行される前述したプロセッサ10からのマスク要求信号MASK_REQ の動作を説明する。
図5の5−1のタイミングより前は、マスク解除状態であるため、PCIデバイスからの使用要求信号REQ#_INと本REQマスク回路50Aの出力信号REQ#_OUT とは、共に変化し、図5の5−1のタイミングは、PCIデバイスからの使用要求信号REQ#_INと本REQマスク回路50Aの出力信号REQ#_OUT とが、共に有効になっている状態である。このとき、プロセッサ10からのマスク要求信号MASK_REQ が有効になった場合の動作は、以下のようになる。
本REQマスク回路50Aの出力信号REQ#_OUT が有効、即ち負論理であるから「0」になっている場合、フリップ・フロップ54の端子ENは「0」になり、フリップ・フロップ54は動作無効状態になっている。このため、プロセッサ10からのマスク要求信号MASK_REQ が有効になっても、内部信号MASK_ENは有効にならない。
よって、バス使用要求信号REQ#_INは、マスクされないで本REQマスク回路50Aの出力信号REQ#_OUT になる。
その後、図5の5−2のタイミングで、バス使用要求信号REQ#_INが無効、即ち「1」になると、フリップ・フロップ54の端子ENは有効になり、フリップ・フロップ54が動作可能になる。これにより、プロセッサ10からのマスク要求信号MASK_REQ が有効になることによって、内部信号MASK_ENが有効になる。
よって、バス使用要求信号REQ#_INはマスクされる。
以上のように動作するREQマスク回路50Aを用いることにより、バス使用要求信号REQ #が有効である場合にもマスク動作での誤動作を回避し、バスクロック周波数を適切に切替られる。
これらの動作は、PCIデバイス80からのバス使用要求信号REQ#がREQマスク回路50Bに入力された場合も同様に作動する。
(バス制御動作の説明)
続いて、本情報処理装置のPCIバス制御動作、特に、同一PCIバス上に動作クロック周波数の異なるPCIデバイスが接続(搭載)されている場合の動作について説明する。
ここで、本動作の説明に先立って、一般的な単一クロック周波数のPCIバス上におけるPCIデバイスの基本的動作を説明する。
例えば、前述した図7における周知例の場合、PCIデバイス170が情報転送動作の主導権をもつマスタ(「イニシエータ」ともいう)として動作する場合には、PCIデバイス170は、使用要求信号(REQ#)を有効にすることで、まず、PCIホスト・ブリッジ130にPCIバスA140の使用要求(リクエスト)を行う。次に、PCIホスト・ブリッジ130は、有効な使用要求信号を受けると、使用許可信号( GNT#) に基づいてPCIデバイス170にPCIバスA140の使用許可を行う。これにより、PCIバスA140の使用許可を得たPCIデバイス170は、PCIバスA140を使用してアクセスを開始できる。
本実施形態に係る情報処理装置(図1参照)の場合は、上述した図7の動作に加えて、PCIバス60のバスクロック周波数とPCIデバイス70,80の動作可能なクロック周波数が合わせるための構成と動作を備えている。
以下、その具体的な内容を、図6に基づいて説明する。
ここで、具体例として、PCIデバイス70(33〔MHz〕動作デバイス) がマスタになった場合の切替制御動作について、その時のPCIバスクロック周波数が、33〔MHz〕の場合と66〔MHz〕の場合とに分けて、説明する。
〈PCIバス60のクロック周波数が33〔MHz〕の場合〉
現時点でのPCIバスクロック周波数がプロセッサ10で判定され(ステップS100、周波数判定工程)、仮にPCIバスクロック周波数が33〔MHz〕の場合には、REQマスク部50は、プロセッサ10の命令により、33〔MHz〕のPCIデバイス70からの使用要求信号(REQ#_1 )をマスク解除すると共に、66〔MHz〕のPCIデバイス80からの使用要求信号(REQ#_2 )をマスク状態にする(ステップS102、要求信号マスク工程)。
これにより、33〔MHz〕のPCIデバイス70からのアクセスを許可し、66〔MHz〕のPCIデバイス80のアクセスは不許可としている。
この場合、PCIデバイス70からの使用要求信号(REQ#_1 )はマスク解除されているので、PCIホスト・ブリッジ30に通知される。従って、PCIデバイス70は、問題なく通常のPCI手順に従ってPCIバス60にアクセスできる。
〈PCIバス60のクロック周波数が66〔MHz〕の場合〉
PCIバスクロック周波数がプロセッサ10で判定され(ステップS100、周波数判定工程)、その結果、PCIバスクロック周波数が66〔MHz〕の場合には、REQマスク部50は、プロセッサ10の命令により、33〔MHz〕のPCIデバイス70からの使用要求信号REQ#_1 をマスク状態にすると共に、66〔MHz〕のPCIデバイス80からの使用要求信号REQ#_2 をマスク解除する(ステップS202、要求信号マスク工程)。
PCIバスクロック周波数が66〔MHz〕であるので、66〔MHz〕のPCIデバイス80にしかアクセス許可を与えられないからである。この状態では、PCIデバイス70からの使用要求信号REQ#_1 は、REQマスク部50によってマスク状態にされているため、PCIホスト・ブリッジに通知されず、このままでは、33〔MHz〕のPCIデバイス70は、永遠にPCIバス60のアクセス許可を受けることができないことになる。
そこで、これを回避するために、REQ監視部40では、使用要求信号(REQ#_1 )の状態の監視を行う。即ち、プロセッサ10は、REQ監視部40に設けられたREQ監視テーブルを監視し、そのテーブルの使用要求信号REQ#_1 の欄が「0」の状態になると、マスク状態であった使用要求信号REQ#_1 が有効になったことを判断する(ステップS203、監視工程)。
プロセッサ10は、この状態を判断すると、PCIクロック制御部35を制御し、PCIバスクロック周波数を、使用要求信号REQ#_1 を送出しているPCIデバイス70のクロック周波数である33〔MHz〕に変更を行う(ステップS204、クロック切替工程)。
次に、プロセッサ10が、この変更のPCIバスクロック周波数の判定を行ない、周波数を33〔MHz〕と判定する(ステップS100、周波数判定工程)。
そして、プロセッサ10は、REQマスク部50を制御して、33〔MHz〕のPCIデバイス70からの使用要求信号REQ#_1 のマスク解除を行なうと共に、66〔MHz〕のPCIデバイス80からの使用要求信号REQ#_2 をマスク状態に設定する(ステップS102、要求信号マスク工程)。これにより、使用要求信号REQ#_1 の状態がPCIデバイス70からPCIホスト・ブリッジ30に通知されるため、通常のPCI手順に従ってアクセスが可能になる。
REQ監視部40では、66〔MHz〕のPCIデバイス80からの使用要求信号REQ#_2 の状態をラッチし、REQ監視テーブルに記憶させる。プロセッサ10はこのテーブルの使用要求信号REQ#_2 の欄を監視し続ける(ステップS103、監視工程)。
上記の処理は、66〔MHz〕のPCIデバイス80からPCIバス60の使用要求のときも同様であり、図5に示すフローチャートに従って動作する。
尚、PCIホスト・ブリッジ30がマスタとして動作する場合は、プロセッサ10は、これからアクセスしようとするPCIデバイスが分かっており、従って、そのPCIデバイスの動作クロック周波数も分かるので、それに適合したPCIバスクロック周波数に変更した後、アクセスすることができるので特に不都合はない。
ここで、上述したPCIバス60におけるバス制御の各動作内容にあっては、これをプログラム化して前述したプロセッサ10に実行させるように構成しても良い。
尚、これまでは説明の便宜上、異なる動作クロック周波数をもつ二つのPCIデバイスがあるとして説明してきたが、REQマスク部50の構成単位である図2の回路をPCIデバイスの数だけ設け(REQマスク回路50A,50Bの如く)、更に、REQ監視部40でラッチし、監視ケーブルに保存するPCIデバイスからのバス使用要求信号の数を増やすことで、異なる速度の二つ以上のPCIデバイスを制御することも可能である。
上述したように、本実施形態に係る情報処理装置によると、簡易な回路構成のマスク部と監視部を備えることで単一のPCIバス上で、異なる動作クロック周波数のPCIデバイスを接続・搭載可能としたので、複数のPCIデバイスを装備する場合でも複数のPCIバスを使用することなく単一のPCIバス上に並設することができ、これがため、システム構成の簡易化と経済性、さらには使用上の柔軟性及び利便性を向上させることができるという従来にない優れた利点を奏する。
本発明は、システムバスに連結される上記PCIバスと同等のバスを複数必要とする全ての情報処理装置に適用することができ、汎用性ある発明である。
本発明の一実施形態に係る情報処理装置を示すブロック図である。 図1に開示した情報処理装置にかかるPCIバスの制御動作を示すフローチャートである。 図1に開示した情報処理装置にかかるREQマスク部の一例を示す図で、図3(a)はその一部を構成するマスク回路を示し、図3(b),(c)は、それぞれ本REQマスク回路の動作を明確にするためのD型フリップ・フロップの真理値表および論理和OR回路の真理値表を示す。 図1に開示した情報処理装置にかかるREQマスク部の信号制御の状態を示すタイミングチャートである。 図1に開示した情報処理装置にかかるREQマスク部の信号制御(REQ#_IN有効時)のタイミングチャートである。 図1に開示した情報処理装置におけるバスクロック周波数の切替動作を示すフローチャートである。 周知例における情報処理装置の一構成例を示すブロック図である。
符号の説明
10 プロセッサ
10a 切替え指令発信機能
11 周波数判定手段
15 メモリ
15A 周波数判定プログラム
15B 監視プログラム
20 システムバス
30 PCIホスト・ブリッジ
35 PCIクロック制御部
35a クロック切替え機能
40 REQ監視部(監視手段)
45 REQ監視テーブル
50 REQマスク部(要求信号マスク手段)
52 OR回路(論理和OR)
54 D型フリップ・フロップ
60 PCIバス
70 PCIデバイス(33〔MHz〕クロック用)
80 PCIデバイス(66〔MHz〕クロック用)

Claims (6)

  1. プロセッサおよびメモリが接続されたシステムバスと、このシステムバスにPCIホスト・ブリッジを介して接続されたPCIバスとを有し、
    前記PCIバスに接続された周波数の異なる一方と他方の少なくとも二つのPCIデバイスと、前記PCIホスト・ブリッジに装備され前記各PCIデバイスに対応した周波数のバスクロックを前記PCIバス用の動作クロックとして出力するPCIクロック制御部とを備えて成る情報処理装置において、
    前記PCIホスト・ブリッジと前記各PCIデバイスとの間に、外部指令に応じて前記PCIデバイスの何れか一方のPCIデバイスにかかるバス使用要求信号をマスクする要求信号マスク手段を介装すると共に、
    前記プロセッサは、前記要求信号マスク手段でマスクされた前記PCIデバイスにかかるバス使用要求信号が出力された場合に当該PCIデバイスに対応する周波数のバスクロックを出力するように、前記PCIクロック制御部に指令する対応バスクロック出力指令機能を備えていることを特徴とした情報処理装置。
  2. 前記請求項1に記載の情報処理装置において、
    前記PCIクロック制御部から出力されている動作クロックが前記一方と他方の何れのPCIデバイスに対応した周波数であるかを判定する周波数判定手段を設け、
    前記要求信号マスク手段は、前記周波数判定手段によって前記動作クロックが前記一方のPCIデバイスに対応する周波数であると判定された場合に、当該判定信号に基づいて前記他方のPCIデバイスからのバス使用要求信号を選択的にマスクする選択的マスク機能を備え、
    この要求信号マスク手段によってマスクされた前記他方のPCIデバイスからバス使用要求信号が出力された場合に、これを保持して監視状態に設定する監視手段を設け、
    前記プロセッサは、前記監視手段に保持されているバス使用要求信号が前記一方のPCIデバイスにかかるバス使用要求信号と同一の信号か否かを判断し、異なったバス使用要求信号が保持されていると判断した場合に前記PCIクロック制御部に対して周波数切替え指令を発信する切替え指令発信機能を備え、
    前記PCIクロック制御部は、前記プロセッサからの指令に基づいて作動し前記PCIバスにおける動作クロックの周波数を前記バス使用要求信号にかかる他のPCIデバイスに対応したクロック周波数に切り替えるクロック切替え制御機能を備えていることを特徴とした情報処理装置。
  3. 前記請求項1又は2に記載の情報処理装置において、
    前記要求信号マスク手段は、D型フリップフロップと論理和ORのロジックにより一の回路を構成し、前記各PCIデバイスからのバス使用要求信号に対応して各PCIデバイス毎に各一つの回路を有することを特徴とした情報処理装置。
  4. 前記請求項1又は2に記載の情報処理装置において、
    前記監視手段を、前記要求信号マスク手段によってマスクされたバス使用要求信号をラッチする回路と、当該バス使用要求信号を保持するメモリとを含む構成としたことを特徴とする情報処理装置。
  5. 構成各部の動作を制御するプロセッサとメモリとが接続されるシステムバスと、このシステムバスとPCIバスとを接続すると共に前記PCIバスを制御するPCIホスト・ブリッジとを備え、前記PCIバス上には異なる動作クロック周波数の複数のPCIデバイスが接続されて成る情報処理装置にあって、
    前記PCIホスト・ブリッジから前記PCIバスに出力されているPCIバス用の動作クロックの周波数が何れのPCIデバイスにかかる周波数かを予め装備した周波数判定手段によって判定する第1のステップと、
    この判定されたPCIバスクロック周波数を動作クロック周波数としていない他のPCIデバイスからのバス使用要求信号を予め装備した要求信号マスク手段によって選択的にマスクする第2のステップと、
    この選択的にマスクされた前記他のPCIデバイスにかかるバス使用要求信号を前記システムバスの予め装備された監視手段が取り込んで保持する第3のステップと、
    前記監視手段にて保持されているバス使用要求信号が前記PCIバスにおける動作クロック周波数にかかるバス使用要求信号とは異なった信号か否かを判断する第4のステップと、
    前記第4ステップで前記監視手段にて保持されているバス使用要求信号が前記PCIバスにおける動作クロック周波数にかかるバス使用要求信号とは異なったバス使用要求信号と判断された場合に、当該プロセッサが前記PCIホスト・ブリッジに対して前記PCIバス用の動作クロックの切替え指令を発信する第5のステップと、
    により構成されたことを特徴とするPCIバス制御方法。
  6. 構成各部の動作を制御するプロセッサとメモリとが接続されるシステムバスと、このシステムバスとPCIバスとを接続すると共に前記PCIバスを制御するPCIホスト・ブリッジとを備え、前記PCIバス上には異なる動作クロック周波数の複数のPCIデバイスが接続されて成る情報処理装置にあって、
    前記PCIホスト・ブリッジから前記PCIバスに出力されているPCIバス用の動作クロックの周波数が何れのPCIデバイスにかかる周波数であるかを判定する周波数判定機能、
    この判定されたPCIバスクロック周波数を動作クロック周波数としていない他のPCIデバイスからバス使用要求信号が出力された場合に当該バス使用要求信号を予め装備した要求信号マスク手段が選択的にマスクするのを許容すると共に、当該マスクされた前記他のPCIデバイスにかかるバス使用要求信号を前記システムバスに予め装備した監視手段が取り込んで保持するのを許容する要求信号保持許容機能、
    前記監視手段にて保持されているバス使用要求信号が前記PCIバスにおける動作クロック周波数にかかるバス使用要求信号とは異なった信号か否かを判断する要求信号判断機能、
    前記監視手段にて保持されているバス使用要求信号が前記PCIバスにおける動作クロック周波数にかかるバス使用要求信号とは異なった信号と判断した場合に、前記PCIホスト・ブリッジに対して前記PCIバス用の動作クロックの切替え指令を発する切替え指令発信機能、
    を前記プロセッサに実行させることを特徴としたPCIバス制御プログラム。
JP2007222454A 2007-08-29 2007-08-29 情報処理装置、pciバス制御方法、およびpciバス制御プログラム Expired - Fee Related JP4788004B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007222454A JP4788004B2 (ja) 2007-08-29 2007-08-29 情報処理装置、pciバス制御方法、およびpciバス制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007222454A JP4788004B2 (ja) 2007-08-29 2007-08-29 情報処理装置、pciバス制御方法、およびpciバス制御プログラム

Publications (2)

Publication Number Publication Date
JP2009054087A true JP2009054087A (ja) 2009-03-12
JP4788004B2 JP4788004B2 (ja) 2011-10-05

Family

ID=40505089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007222454A Expired - Fee Related JP4788004B2 (ja) 2007-08-29 2007-08-29 情報処理装置、pciバス制御方法、およびpciバス制御プログラム

Country Status (1)

Country Link
JP (1) JP4788004B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018102117A1 (en) * 2016-12-01 2018-06-07 Intel Corporation Method, apparatus and system for dynamic clock frequency control on a bus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001027988A (ja) * 1999-07-15 2001-01-30 Nec Eng Ltd Pci装置およびpciバスシステム
JP2002032329A (ja) * 2000-07-13 2002-01-31 Hitachi Ltd I/oバスシステム
JP2002091901A (ja) * 2000-09-18 2002-03-29 Nec Eng Ltd プライオリティエンコーダ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001027988A (ja) * 1999-07-15 2001-01-30 Nec Eng Ltd Pci装置およびpciバスシステム
JP2002032329A (ja) * 2000-07-13 2002-01-31 Hitachi Ltd I/oバスシステム
JP2002091901A (ja) * 2000-09-18 2002-03-29 Nec Eng Ltd プライオリティエンコーダ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018102117A1 (en) * 2016-12-01 2018-06-07 Intel Corporation Method, apparatus and system for dynamic clock frequency control on a bus
US10241536B2 (en) 2016-12-01 2019-03-26 Intel Corporation Method, apparatus and system for dynamic clock frequency control on a bus

Also Published As

Publication number Publication date
JP4788004B2 (ja) 2011-10-05

Similar Documents

Publication Publication Date Title
US5127089A (en) Synchronous bus lock mechanism permitting bus arbiter to change bus master during a plurality of successive locked operand transfer sequences after completion of current sequence
JP4182801B2 (ja) マルチプロセサシステム
US11256651B2 (en) Multiple master, multi-slave serial peripheral interface
AU721685B2 (en) Bus interface control circuit
JPH04268938A (ja) データ処理装置およびメモリコントローラ
JP2013106166A (ja) クロックゲーティング回路およびバスシステム
JP2007058716A (ja) データ転送バスシステム
JP4788004B2 (ja) 情報処理装置、pciバス制御方法、およびpciバス制御プログラム
JP2007058279A (ja) パワーダウン移行システム
US20150100759A1 (en) Pipelined finite state machine
US20040054843A1 (en) Configuration and method having a first device and a second device connected to the first device through a cross bar
US9411758B2 (en) Semiconductor device
JPH10320349A (ja) プロセッサ及び当該プロセッサを用いるデータ転送システム
JP3852882B2 (ja) マスタスレーブ装置
CN211429283U (zh) 用于选择时钟的系统
JP2017107441A (ja) 情報処理装置、並びに、その制御装置および制御方法
JP3511407B2 (ja) インタフェースボード及び命令処理装置
JP2007102783A (ja) 通信衝突の回避方法及び通信衝突を回避できる電子機器
JPH11184805A (ja) バスシステム
JP2011150645A (ja) 情報処理装置
JP2846999B2 (ja) マイクロプロセッサ
JP2002351818A (ja) バス制御システム
JP2002229932A (ja) Dma転送装置及びデータ転送システム
JP4689189B2 (ja) 情報処理装置
JP2007272358A (ja) 情報処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110520

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110621

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110701

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees