JP2006343916A - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP2006343916A
JP2006343916A JP2005167823A JP2005167823A JP2006343916A JP 2006343916 A JP2006343916 A JP 2006343916A JP 2005167823 A JP2005167823 A JP 2005167823A JP 2005167823 A JP2005167823 A JP 2005167823A JP 2006343916 A JP2006343916 A JP 2006343916A
Authority
JP
Japan
Prior art keywords
bus
access
peripheral
read
read command
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.)
Withdrawn
Application number
JP2005167823A
Other languages
English (en)
Inventor
Kenta Morishima
憲太 森島
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2005167823A priority Critical patent/JP2006343916A/ja
Publication of JP2006343916A publication Critical patent/JP2006343916A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】 周辺モジュールへのアクセスが集中した場合の転送速度を向上させる。
【解決手段】 複数のバスマスタ(10,11)と、第1バス(12)と、周辺モジュール(101〜10n)と、第2バス(20)と、バスステートコントローラ(14)とを含み、上記バスマスタは、上記周辺モジュールにアクセスする際に、第1リードコマンドを発行した後に上記第1バスを開放し、所定時間の経過後に上記第1リードコマンドと同一の第2リードコマンドを出力する。上記バスステートコントローラは、上記第1リードコマンドに呼応して上記周辺モジュールにアクセスし、上記周辺モジュールから出力されたリードデータを記憶するとともに、それを上記第2リードコマンドに呼応して上記第1バスに出力する。これによりシステムバスがコマンドとデータが分離された簡易的なスプリットトランザクションの機能を発揮する。
【選択図】 図1

Description

本発明は、情報処理装置、さらにはそれにおけるバス制御技術に関し、例えばマイクロコンピュータに適用して有効な技術に関する。
情報処理装置の一例とされるマイクロコンピュータにおいて、PCIバスより低速なデバイスが接続される低速バスとPCIバスのバスブリッジからなる構成で、PCIバスのホストブリッジからのリードアクセス時にバスブリッジにアクセス内容を伝えた後、一旦PCIバスアクセスを開放し、バスブリッジが低速デバイスへのリードアクセスの完了後に、バスブリッジからホストブリッジへのリードデータの書き込みを行う方法が知られている(例えば特許文献1参照)。
また、多階層のバス構成をとる場合に下位レイヤーへのバスコマンドのバッファを設けたバスブリッジ間で信号をスプリット化することが知られている(例えば特許文献2参照)。それによれば、上位レイヤーのバスブリッジから下位レイヤーへのバスブリッジへのリードアクセス時には、リードデータが整うのを待たずに直ちにバスを開放し、その間に下位レイヤーのバスブリッジは低速デバイスへのリードアクセスを実行する。リードデータの取得後下位のバスブリッジから上位のバスブリッジへリードデータの取得が完了したことを示す専用線を介して通知することで、上位レイヤーのバスブリッジが同一のリードアクセスコマンドでアクセスを行い下位のバスブリッジからリードデータを取得する。
さらに、従来のマイクロコンピュータでは、仕様を拡張し、スプリット信号を追加することで、擬似的にスプリット化を実現している例もある。
特開平11−110342号公報(図1) 特開2003−099392号公報(図1)
図2には、本発明に先立って本願発明者が検討したマイクロコンピュータが示される。CPU(中央処理装置)10は、システムバス12にシステムバス(SYS−BUS)12に、システム・バス・ステート・コントローラ(SBSC)15を経由して接続されている。システムバス12は、データやプログラムがやり取りされるメインバスである。DMAC(ダイレクト・メモリ・アクセス・コントローラ)11は、バスに接続されたモジュール間のデータをCPU10を介さずに直接転送するための装置で、バスマスタでもある。外部バス・ステート・コントローラ(EBSC)13は、外部バスに接続されるメモリとシステムバスの間でバスのプロトコル変換を行う装置である。周辺バス(PERI−BUS)20は、I/O(入出力装置)などの周辺モジュール(MDL)101〜10nが接続されている。システムバス12と周辺バス20のアクセスプロトコル変換のための装置が周辺バスステートコントローラ(PBSC)14である。
このようなマイクロコンピュータ50では、複数のバスマスタが1つのバスを共有する階層型のシェアードバス方式が採用される。図4には、その場合の基本的なバスプロトコルが示される。
図4において、アクセスAでは、80のタイミングでバスマスタがアドレス/コマンドを出力し、次のサイクルでデータバス上にリードの場合はアドレスコマンドが示すバススレーブが、ライトの場合はバスマスタが、対応するデータを90のタイミングで出力する。その結果、データのリード/ライト時と同じサイクルで、次のリード/ライトのコマンド(アドレス)が出力され、アクセスコマンドとデータのアクセスサイクルがオーバーラップされ、100%の効率でバスを使用することができるようになっている。
この方式では、複数のデバイスを1本のデータバスで共有するために配線のレイアウトが容易であり、また、デバイスの増減に伴う設計の変更に対して設計工数が少なくて済むが、複数のデバイスが1本のバスを共有するので、バスがマイクロコンピュータ全体の性能のボトルネックになりやすかったり、複数のデバイス間での調停機構(Arbitration)が必要になる。
さらに、CPUの高性能化に伴いCPUと内蔵RAMやバスステートコントローラなどが接続されるメインバスのクロックサイクルと低速なI/O系のモジュールが接続される周辺バスとの速度差が大きくなると、図5に示されるようにシェアードバス方式では、80のタイミングでアクセスが開始した後、周辺バス経由でアクセスサイクルが完了する90までバスを占有するので、DMAとCPUのように複数のバスマスタが転送を行う場合、転送速度の低下が無視できなくなる。
その対策としてスプリットトランザクションやバスの多重化が考案されている。スプリットトランザクションは、データを転送する一連のサイクル(トランザクション)のうち、データ転送を要求するサイクルと実際にデータを転送するサイクルが分離(split)された。これにより、データを要求されたデバイス(ターゲット)の反応が遅れても、それを待つことなく、次にデータを要求しているデバイス(イニシエータ)は別のトランザクションを次々と開始できる。
しかし、厳密にスプリットトランザクションを実現しようとすると、マスタ側のバスと、スレーブ側のバスが分離され、バス構成およびプロトコルが変更になることによりチップ面積の増大と設計工数の増加を招くことになる。また、マスタ毎にバスを分離すると、マスタの数nに比例してバス線がn倍必要になるため実装面積が増大し、各モジュールでのバスの接続口もn口必要になるため、設計工数が増大する。
また、バスの転送要求サイクルと転送サイクルを分離したスプリットトランザクション方式が考案されたが、バスの物理的構成の変更による設計工数及び回路規模の増大を招き、低コストが要求されるマイクロコンピュータでは、コストアップの要因になる。
特許文献1によれば、スレーブがバスマスタになるため、バスブリッジ及びPCIバス調停回路の修正とバスホストに対しても、バスブリッジへのリード時にバスを解放後もバスブリッジのリードデータの書き込みを待つ機構が必要になり、バスプロトコルの拡張及びホストブリッジ、バスブリッジへの修正が大きくなる。
また、特許文献2によれば、バッファを設けて下位層のバスステートコントローラにリードアドレスを指示後、下位のバスステートコントローラからのアクセス完了信号が来るまで、バスステートコントローラの下位層のバスを他の用途に開放するが、多階層のバスステートコントローラ間にあるバスの開放による転送速度の向上のみで、バスステートコントローラの上位層のバスをその間占有し続けてしまう。
さらに、仕様を拡張し信号線を追加することで擬似的にスプリットトランザクション機能を追加している例も考えられるが、その場合には信号線の追加とマスタとスレーブ間にスレーブのリード完了レベルの追加信号が必要となり、設計工数が大きい。
本発明の目的は、周辺モジュールへのアクセスが集中した場合の転送速度を向上させるための技術を提供することにある。
また、本発明の別の目的は、従来のバス構成に対し最小限の機能追加と変更により、周辺モジュールへのアクセスが集中した場合の転送速度を向上させるための技術を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
〔1〕複数のバスマスタと、上記バスマスタに結合された第1バスと、上記バスマスタによってアクセス可能な周辺モジュールと、上記周辺モジュールに結合された第2バスと、上記第1バスと上記第2バスとに結合されたバスステートコントローラとを含んで情報処理装置が構成されるとき、上記バスマスタは、上記第1バス、上記バスステートコントローラ、及び上記第2バスを介して上記周辺モジュールにアクセスする際に、第1リードコマンドを発行した後に上記第1バスを開放し、所定時間の経過後に上記第1リードコマンドと同一の第2リードコマンドを出力する。そして上記バスステートコントローラは、上記第1リードコマンドに呼応して上記周辺モジュールにアクセスし、上記周辺モジュールから出力されたリードデータを記憶するとともに、それを上記第2リードコマンドに呼応して上記第1バスに出力する。。
上記の手段によれば、上記バスマスタは、上記第1バス、上記バスステートコントローラ、及び上記第2バスを介して上記周辺モジュールにアクセスする際に、第1リードコマンドを発行した後に上記第1バスを開放する。これにより、システムバスがコマンドとデータが分離された簡易的なスプリットトランザクションの機能を発揮することができ、このことが、周辺モジュールへのアクセスが集中した場合の転送速度の向上を達成する。しかもこの場合、第1バスを開放させることによって第1バスの利用効率を向上させているため、バスの信号線数が増えることがなく、従ってバスの物理的構成の変更による設計工数及び改組規模の増大を伴わずに済む。そして、既存のバスプロトコルを変更すること無しに、周辺バスステートコントローラの変更のみにより、バスの実質的な転送速度の向上を達成する。
〔2〕上記〔1〕において、上記バスステートコントローラは、上記バスマスタから発行されるコマンドを保持するためのバッファを含んで構成することができる。
〔3〕上記〔1〕又は〔2〕において、上記周辺バスは、複数の周辺デバイスに対して並行してアクセス可能に多重化することができる。
〔4〕また、複数のバスマスタと、上記バスマスタに結合された第1バスと、上記バスマスタによってアクセス可能な周辺モジュールと、上記周辺モジュールに結合された第2バスと、上記第1バスと上記第2バスとに結合されたバスステートコントローラとを含んで情報処理装置が構成されるとき、上記バスマスタは、上記第1バス、上記バスステートコントローラ、及び上記第2バスを介して上記周辺モジュールにアクセスする際に、第1リードコマンドを発行した後に上記第1バスを開放し、所定時間の経過後に上記第1リードコマンドと同一の第2リードコマンドを出力する。また、上記バスステートコントローラは、上記第1リードコマンドの受付時に再度同一のリードアクセスを行うためのリトライ要求信号を出力することにより、上記第1リードコマンドを発行したバスマスタに対して上記第1バスのバス権を開放させ、その間に上記第1リードコマンドに基づいて上記周辺モジュールにアクセスして上記周辺モジュールから出力されたリードデータを記憶し、上記バスマスタが再度リードアクセスを行なった時点で上記周辺モジュールへのアクセスが終了している場合はリードデータを上記第1バスに出力してリードアクセスを完了する。
上記の手段によれば、上記〔1〕の場合と同様に、システムバスがコマンドとデータが分離された簡易的なスプリットトランザクションの機能を発揮することができ、このことが、周辺モジュールへのアクセスが集中した場合の転送速度の向上を達成する。しかもこの場合、第1バスを開放させることによって第1バスの利用効率を向上させているため、バスの信号線数が増えることがなく、従ってバスの物理的構成の変更による設計工数及び改組規模の増大を伴わずに済む。そして、既存のバスプロトコルを変更すること無しに、周辺バスステートコントローラの変更のみにより、バスの実質的な転送速度の向上を達成することができる。
〔5〕上記〔4〕において、上記バスステートコントローラは、上記バスマスタが上記第2リードコマンドに基づいて再度リードアクセスを行なった時点で上記周辺モジュールへのアクセスが終了していない場合には、再度リトライ要求信号を出力するように構成することができる。
〔6〕上記〔1〕又は〔4〕において、リトライ時に、上記周辺モジュールにアクセスするまでの時間を指定可能なレジスタを設けることができる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、周辺モジュールへのアクセスが集中した場合の実質的転送速度を向上させることができる。
また、従来のバス構成に対し最小限の機能追加と変更により、周辺モジュールへのアクセスが集中した場合の実質的転送速度を向上させることができる。
図1には、本発明にかかる情報処理装置の一例とされるマイクロコンピュータが示される。
図1に示されるマイクロコンピュータ50は、特に制限されないが、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。演算処理を行うCPU(中央処理装置)10と、外部メモリなどと接続される外部バス・ステート・コントローラ(EBSC)13、DMAC(ダイレクト・メモリ・アクセス・コントローラ)11が、高速なアクセス(リード/ライト)を行う一次側バスとしてのシステムバス(SYS−BUS)12に接続されている。CPU10は、システム・バス・ステート・コントローラ(SBSC)15を含み、このシステム・バス・ステート・コントローラ15は、システムバス12と、CPU10とのインターフェースを担当する。また二次側バスとして、システムバス12より低速で動作する周辺バス(PERI−BUS)20が設けられ、リードライトに時間が掛かるI/O系のデバイスなどは、周辺モジュール(MDL)101〜10nとして周辺バス20に接続されている。周辺バスステートコントローラ(PBSC)14が設けられ、この周辺バスステートコントローラ(PBSC)14は、周辺バス20とシステムバス12を接続する。システムバス12はシェアードバスのプロトコルで、少なくともリトライ機能を備えている。リトライ機能は、マスタからのアクセスを処理できない場合の対策として、従来から備えられているもので、例えば、バスのスレーブ側のデバイスがアクセス要求を受けた場合にアクセスに時間が掛かりすぎる、もしくは不具合が発生してリード/ライト処理が完了できない場合に一旦アクセス要求を行なったバスマスタに対してシステムバス12のバス権を開放して、再度同一のアクセスを行うよう要求する機能として知られている。
周辺バスステートコントローラ14は、システムバスとのリード/ライトアクセスを担当するシステムバスインタフェース(SYS−BUS IF)40と、アクセスコマンドのアドレスデコードを行うアドレスデコーダ制御回路(DEC−CNT)41と、システムバス12からのアクセスコマンドとライトデータと周辺バス20からのリードデータとを一時的に保持するためのアクセスバッファ(BUF)42と、周辺バス20経由で周辺モジュール101〜10nへのリードライトを可能とする周辺バスインターフェース44を含む。上記アクセスバッファ42は、図11に示されるようにコマンド(リード/ライト・データサイズ)とアドレスとデータとアクセスの進行状態を示すステートのレジスタから構成される一組のアクセスバッファのレジスタ201を含む。このステートの状態には、「クリア」、「アクセス中」、「完了」の三種類がある。
次に、周辺バス12に接続される周辺モジュール101〜10nへのアクセス発生時の周辺バスステートコントローラ14の動作を説明する。
図8には、周辺バスステートコントローラ14のシステムバス12からのアクセスに対応した動作が示される。
システムバス12からのアクセスが発生すると、周辺バスインタフェース44において、アクセスバッファに空きがあるか否かの判別が行われる(401)。この判別において、アクセスバッファ42に空きがある場合は、アクセスバッファ42にアクセスコマンドが登録され(408)、アクセスバッファ42のステートが「アクセス中」に設定される。ここでアクセスコマンドは、バスのデータアクセスに必要な情報であるリードアクセスかライトアクセスかの判別ビットとデータサイズとデータを意味している。上記ステップ408において、アクセスバッファ42にアクセスコマンドが登録された後に、システムバス12にリトライ信号が出力される(407)。これによりバスマスタに対し再アクセスが要求される。この動作は、図6のA80のタイミングでA1のアクセスに対してリトライ要求を出力した部分に相当している。これにより、図5に示される場合と異なり、システムバス12が開放されるため、別のバスマスタによる一連のシステムバス12のアクセスB1〜B3が実行されることになる。
また、上記ステップ401の判別において、アクセスバッファ42に空きが無い(no)と判断された場合には、アクセスバッファ42のアクセスコマンドとシステムバス12からのアクセスコマンドが一致するか否かの判別が行われる(402)。この判別において、アクセスバッファ42のアクセスコマンドとシステムバス12からのアクセスコマンドが一致しない(no)と判断された場合には、システムバス12へリトライ信号を出力し該バスマスタに再アクセスを要求する(407)。上記ステップ402の判別において、アクセスバッファ42のアクセスコマンドとシステムバス12からのアクセスコマンドが一致する(yes)と判断された場合には、アクセスバッファのステートは完了したか否かの判別が行われる(403)。この判別において、アクセスバッファのステートは完了していない(no)と判断された場合には、システムバス12へリトライ信号を出力し該バスマスタに再アクセスを要求する(407)。上記ステップ403の判別において、アクセスバッファのステートは完了した(yes)と判断された場合であって、リードの場合には、アクセスバッファ42にあるリードデータがシステムバス上に出力されて、システムバス12からの一連のアクセスサイクルが終了される。これは、図6の81のタイミングで再度A1のアクセスが実行され、データがシステムバス12に出力されている部分に対応している。そして、アクセスバッファ42のステートがクリアされ、アクセスバッファ42が空き状態にされる(405)。
周辺バスステートコントローラの周辺バス20とのインターフェースである周辺バスインタフェース44の動作は、基本的には従来方式でのアクセスと同様であり、アクセスバッファ42にアクセスコマンドが設定される(ステートがアクセス中になる)のを検知して、アクセスコマンドに従い対応する周辺モジュールにアクセスされ、リードの場合には周辺バスモジュールからのリードデータがアクセスバッファにライトされた後にアクセスステートが「完了」に設定されてから終了される。
本例によれば、以下の作用効果を得ることができる。
(1)図8のフローチャートに従い周辺バスステートコントローラ42が動作することで、周辺バスへのアクセス時に一旦システムバス12が他のバスマスタに対して解放され、システムバス12がコマンドとデータが分離した簡易的なスプリットトランザクションの機能を有することができ、低速バスへのアクセス時のシステムバスの転送効率の低下を抑えることができる。例えば図6と図5とを比較して明らかなように、本例(図6)においては、周辺アクセスを行うバスマスタによる転送速度は相違がないものの、周辺アクセスを行なわないバスマスタの転送速度が向上されている。
(2)また、従来のリトライは、周辺モジュール側で処理できない場合にのみ発行されていたのに対して、上記例では周辺モジュール側で処理できるにもかかわらず、システムバス12のバス権を開放させるために発行させるようにしている。それによって、上記(1)の作用効果を得るのに、信号線数を増大させる必要がなく、バスの物理的構成の変更による設計工数及び改組規模の増大を伴わずに済む。
図3には、上記マイクロコンピュータの別の構成例が示される。
演算処理を行うCPU10と外部メモリなどと接続される外部BSC13、DMAC11が、高速なアクセス(リード/ライト)を行う一次側バスとしてのシステムバス12に接続されている。CPU10内のシステムBSC15はシステムバスとのインターフェースを担当するモジュールである。また二次側バスとしては、システムバス12より低速で動作する周辺バス20、周辺バス21があり、リードライトに時間が掛かるI/O系のデバイスは周辺モジュール101〜10nとしてまとめて、周辺バス20と周辺バス21に接続されている。周辺モジュール101〜10nと周辺バス20〜21の間には、バスセレクタ22,23,…,2nがあり、周辺バス20〜21のうち先にアクセス要求のあった周辺バスを選択し周辺モジュール101〜10nにそれぞれ接続する機能を有する。
周辺バス20とシステムバス12を接続するためのバスステートコントローラとして周辺バスステートコントローラ14が設けられる。システムバス12、周辺バス20〜21はともに従来からあるシェアードバスのプロトコルで、少なくともシステムバス12はリトライ機能を備えている。
周辺バスステートコントローラ14の内部には、システムバス12を介してのリードアクセス又はライトアクセスを担当するシステムバスインタフェース40とアクセスコマンドのアドレスデコードを行うアドレスデコーダ制御回路41とシステムバス12からのアクセスコマンドとライトデータと周辺バス20からのリードデータを一時的にバッファするアクセスバッファ群142と、周辺バス20へのアクセス順序を制御するアクセス制御キュー(ACQ)43と、このアクセス制御キュー43から指定されるアクセスバッファ群142の中のアクセスコマンドに従い、周辺バス20経由で周辺モジュール101〜10nへのリードライトを行う周辺バスインタフェース(PERI−BUS IF)44,45が設けられる。またアクセスバッファ群142は、図11に示されるようにコマンド(リード/ライト・データサイズ)とアドレスとデータとアクセスの進行状態を示すステートのレジスタから構成される複数のアクセスバッファのレジスタ201〜20nから成る。
図9には、アクセス時の周辺バスコンコントローラ14のシステムバスインタフェース40の応答判定のフローチャートが示される。
周辺バス20のアドレス空間へのアクセスが発生すると、アクセス要求がリードかライトかの判定が行われ(401)、リードの場合には、アクセスバッファ群142に一致するアクセスコマンドがあるか否かの判別が行われ(402)、ライトの場合には、アクセスバッファ群142に空きバッファがあるか否かの判別が行われる(406)。
上記ステップ402の判別において、アクセスバッファ群142に一致するアクセスコマンドがある(yes)と判断された場合には、アクセスバッファのステートは完了したか否かの判別が行われる(403)。この判別において、アクセスバッファのステートは完了した(yes)と判断された場合には、該当アクセスバッファのデータをシステムバス12に出力し、システムバス12のアクセスを完了し(404)、アクセスバッファのステートがクリアされる(405)。
一方、上記ステップ401の判別において、アクセス要求がライトであると判断された場合、及び上記ステップ402の判別において、アクセスバッファ群142に一致するアクセスコマンドが無い(no)と判断された場合には、アクセスバッファ群142に空きバッファがあるか否かの判別が行われる(406)。このステップ406の判別において、アクセスバッファ群142に空きバッファが無い(no)と判断された場合には、システムバス12にリトライ出力が行われる(407)。また、上記ステップ406の判別において、アクセスバッファ群142に空きバッファがある(yes)と判断された場合には、アクセスバッファ群142の該当エリアにアクセスコマンドが登録され(408)、アクセス制御キュー43にバッファの番号と周辺モジュールのIDが登録される(409)。そして、アクセス要求がリードかライトかの判定が行われる(410)。この判定において、リードアクセスであると判断された場合には、システムバス12にリトライ出力を行い(407)、ライトアクセスであると判断された場合にはシステムバス12のアクセスを完了する(411)。
図10には、周辺バス側のアクセスの動作が示される。
先ず、アクセス制御キュー43にキューイングされているデータがあるか否かの判別が行われ(441)。この判別において、アクセス制御キュー43にキューイングされているデータがある(yes)と判断された場合には、周辺バス20,21の双方とも使用中か否かの判別が行われる(442)。
尚、上記ステップ441の判別において、アクセス制御キュー43にキューイングされているデータが無い(no)と判断された場合、及び上記ステップ442の判別において、周辺バス20,21の双方とも使用中である(yes)と判断された場合には、本フローチャートによる処理が終了される。
上記ステップ442の判別において、周辺バス20,21の双方とも使用中ではない(no)と判断された場合には、周辺バス20,21の双方とも未使用(アイドル)か否かの判別が行われる(443)。この判別において、周辺バス20,21の双方とも未使用である(yes)と判断された場合には、周辺バスインターフェース20に該当キューに対応するアクセスバッファのレジスタ201に登録されたコマンドでのアクセス要求を行うように、アクセス制御キュー43から周辺バスインターフェース44,45にアクセスバッファのID(番号)が通知され(444)、周辺バスインターフェース44,45では、アクセスバッファ番号が通知されるとアクセスバッファ101からアクセスコマンドを受け取り、該当する周辺モジュール101〜103にアクセスされる(445)。そして、リードの場合は、リードデータをアクセスバッファに書き込みアクセスステートを完了に設定する。ライトの場合も周辺バスアクセスの完了後、アクセスバッファのレジスタ201のステートが「完了」に設定される(446)。
また、上記ステップ443の判別において、周辺バス20,21の双方とも未使用ではない(no)と判断された場合には、換言すれば、周辺バス20,21の一方だけアクセス中の場合には、周辺バスインタフェースとキューの周辺モジュール番号が一致するか否かの判別が行われる(447)。この判別において、周辺バスインタフェースとキューの周辺モジュール番号が一致しない(no)と判断された場合には、非アクティブ状態の周辺バスインタフェースに該当キューのアクセスバッファ番号でのアクセスが設定され(448)、上記ステップ445の処理に遷移される。つまり、使用していない方の周辺バスインターフェースにアクセスバッファの番号が通知されてから、上記ステップ445の処理に遷移される。また、上記ステップ447の判別において、周辺バスインタフェースとキューの周辺モジュール番号が一致する(yes)と判断された場合には、該当キューより後に登録されたキューがあるか否かの判別が行われる(449)。この判別において、該当キューより後に登録されたキューがある(yes)と判断された場合には、上記ステップ447の判別に遷移され、該当キューより後に登録されたキューが無い(no)と判断された場合には、本フローチャートによる処理が終了される。尚、次のクロックサイクルでまた本フローチャートによる処理が開始される。
図7には、図3に示される構成例において、複数のバスマスタが周辺モジュールにアクセスした場合の動作タイミングが示される。
この動作タイミングでは、周辺モジュールへのアクセスAがタイミング80で開始され、81で終了されているが、リトライ要求によりシステムバスがアクセスAから一旦開放されており、周辺バスが多重化されていて同時に複数の周辺バスへのアクセスを処理できるようになっているので、その間に83でのアクセスCの要求に対し周辺バス経由で80から開始されたAのアクセスが、81で最初のAのアクセスが完了する前に、83での次の周辺バスへのCのアクセスが開始される。
本例によれば、以下の作用効果を得ることができる。
(1)図1に示される構成と同様に、システムバス12がコマンドとデータが分離した簡易的なスプリットトランザクションの機能を有することにより、低速バスへのアクセス時のシステムバスの転送効率の低下が抑えられる。しかも、本例によれば、図9、図10のフローチャートに従って周辺バスステートコントローラ12が動作されることで、複数のバスマスタからの周辺モジュール101〜10nへのアクセスを並列に処理することができる。
(2)また、リトライ発生時のバスマスタからの再アクセスの周期をシステムバス12と周辺バス20のクロック比から計算して周辺バスアクセスが完了するタイミングに設定できるようにすることで、より効率的にシステムバスを利用することができるようになる。
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、上記の例では、図11に示されるように複数のアクセスバッファのレジスタ201〜20nを設けたが、複数のバスマスタの片方のみが周辺バスマスタへのアクセスの場合には、コマンドバッファは1つだけでもシステムバス12の効率化は可能とされる。
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるマイクロコンピュータに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種情報処理装置に広く適用することができる。
本発明は、複数のバスマスタを含むことを条件に適用することができる。
本発明にかかる情報処理装置の一例であるマイクロコンピュータの構成例ブロック図である。 図1に示されるマイクロコンピュータの比較対象とされるマイクロコンピュータの構成例ブロック図である。 本発明にかかる情報処理装置の一例であるマイクロコンピュータの別の構成例ブロック図である。 図2に示されるマイクロコンピュータの動作タイミング図である。 図2に示されるマイクロコンピュータの動作タイミング図である。 図1に示されるマイクロコンピュータにおける動作タイミング図である。 図3に示されるマイクロコンピュータにおける動作タイミング図である。 図3に示されるマイクロコンピュータにおける主要動作のフローチャートである。 図3に示されるマイクロコンピュータにおける主要動作のフローチャートである。 図3に示されるマイクロコンピュータにおける主要動作のフローチャートである。 上記マイクロコンピュータに含まれるアクセスバッファ群の構成例説明図である。
符号の説明
10 CPU
11 DMAコントローラ
12 システムバス
13 外部バスステートコントローラ
14 周辺バスステートコントローラ
15 システムバスステートコントローラ
20,21 周辺バス
22〜2n 周辺バスセレクタ
40 システムバスインタフェース
41 アドレスデコーダ制御回路
42 アクセスバッファ
43 アクセス制御キュー
44,45 周辺バスインターフェース
50 マイクロコンピュータ
101〜10n 周辺バスモジュール
142 アクセスバッファ群
201〜20n アクセスバッファのレジスタ

Claims (6)

  1. 複数のバスマスタと、
    上記バスマスタに結合された第1バスと、
    上記バスマスタによってアクセス可能な周辺モジュールと、
    上記周辺モジュールに結合された第2バスと、
    上記第1バスと上記第2バスとに結合されたバスステートコントローラと、を含む情報処理装置であって、
    上記バスマスタは、上記第1バス、上記バスステートコントローラ、及び上記第2バスを介して上記周辺モジュールにアクセスする際に、第1リードコマンドを発行した後に上記第1バスを開放し、所定時間の経過後に上記第1リードコマンドと同一の第2リードコマンドを出力するものであり、
    上記バスステートコントローラは、上記第1リードコマンドに呼応して上記周辺モジュールにアクセスし、上記周辺モジュールから出力されたリードデータを記憶するとともに、それを上記第2リードコマンドに呼応して上記第1バスに出力するものであることを特徴とする情報処理装置。
  2. 上記バスステートコントローラは、上記バスマスタから発行されるコマンドを保持するためのバッファを含む請求項1記載の情報処理装置。
  3. 上記周辺バスは、複数の周辺デバイスに対して並行してアクセス可能に多重化されて成る請求項1又は2記載の情報処理装置。
  4. 複数のバスマスタと、
    上記バスマスタに結合された第1バスと、
    上記バスマスタによってアクセス可能な周辺モジュールと、
    上記周辺モジュールに結合された第2バスと、
    上記第1バスと上記第2バスとに結合されたバスステートコントローラと、を含む情報処理装置であって、
    上記バスマスタは、上記第1バス、上記バスステートコントローラ、及び上記第2バスを介して上記周辺モジュールにアクセスする際に、第1リードコマンドを発行した後に上記第1バスを開放し、所定時間の経過後に上記第1リードコマンドと同一の第2リードコマンドを出力可能とされ、
    上記バスステートコントローラは、上記第1リードコマンドの受付時に再度同一のリードアクセスを行うためのリトライ要求信号を出力することにより、上記第1リードコマンドを発行したバスマスタに対して上記第1バスのバス権を開放させ、その間に上記第1リードコマンドに基づいて上記周辺モジュールにアクセスして上記周辺モジュールから出力されたリードデータを記憶し、上記バスマスタが上記第2リードコマンドに基づいて再度リードアクセスを行なった時点で上記周辺モジュールへのアクセスが終了している場合はリードデータを上記第1バスに出力してリードアクセスが完了されるものであることを特徴とする情報処理装置。
  5. 上記バスステートコントローラは、上記バスマスタが上記第2リードコマンドに基づいて再度リードアクセスを行なった時点で上記周辺モジュールへのアクセスが終了していない場合には、再度リトライ要求信号を出力するものである請求項4記載の情報処理装置。
  6. リトライ時に、上記周辺モジュールにアクセスするまでの時間を指定可能なレジスタを含む請求項1又は4記載の情報処理装置。
JP2005167823A 2005-06-08 2005-06-08 情報処理装置 Withdrawn JP2006343916A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005167823A JP2006343916A (ja) 2005-06-08 2005-06-08 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005167823A JP2006343916A (ja) 2005-06-08 2005-06-08 情報処理装置

Publications (1)

Publication Number Publication Date
JP2006343916A true JP2006343916A (ja) 2006-12-21

Family

ID=37640857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005167823A Withdrawn JP2006343916A (ja) 2005-06-08 2005-06-08 情報処理装置

Country Status (1)

Country Link
JP (1) JP2006343916A (ja)

Similar Documents

Publication Publication Date Title
US5819096A (en) PCI to ISA interrupt protocol converter and selection mechanism
US7263572B2 (en) Bus bridge and data transfer method
JP3302357B2 (ja) Cpuバス制御器
JP2004171209A (ja) 共有メモリデータ転送装置
JP5578713B2 (ja) 情報処理装置
JPH09190406A (ja) 直接メモリアクセス制御装置及びこれを用いた伝送システム
JP2010134627A (ja) バス中継装置
JP4198376B2 (ja) バスシステム及びバスシステムを含む情報処理システム
JP2007058716A (ja) データ転送バスシステム
US7765349B1 (en) Apparatus and method for arbitrating heterogeneous agents in on-chip busses
US20090119429A1 (en) Semiconductor integrated circuit
JP2002163228A (ja) 多重コアdsp装置のための外部バス裁定技術
US7203781B2 (en) Bus architecture with primary bus and secondary or slave bus wherein transfer via DMA is in single transfer phase engagement of primary bus
JP2004227049A (ja) データ転送装置、半導体集積回路及びマイクロコンピュータ
US11392533B1 (en) Systems and methods for high-speed data transfer to multiple client devices over a communication interface
US7031337B2 (en) Data processing apparatus and slave interface mechanism for controlling access to a slave logic unit by a plurality of master logic units
JP2006343916A (ja) 情報処理装置
JP4684577B2 (ja) 高速の帯域幅のシステムバスを仲裁するためのバスシステム及びその方法
JP2010092101A (ja) 情報処理装置
US6085271A (en) System bus arbitrator for facilitating multiple transactions in a computer system
KR100389030B1 (ko) 다중 채널을 가진 고속 직접 메모리 억세스 컨트롤러
JP3094944B2 (ja) アービトレーション方法及びその装置
JP4249741B2 (ja) バスシステム及びバスシステムを含む情報処理システム
JP4887044B2 (ja) 半導体集積回路装置
JP2010140440A (ja) バス調停装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080902