JPH1145225A - バス管理装置及びそれを有する複合機器の制御装置 - Google Patents

バス管理装置及びそれを有する複合機器の制御装置

Info

Publication number
JPH1145225A
JPH1145225A JP9200570A JP20057097A JPH1145225A JP H1145225 A JPH1145225 A JP H1145225A JP 9200570 A JP9200570 A JP 9200570A JP 20057097 A JP20057097 A JP 20057097A JP H1145225 A JPH1145225 A JP H1145225A
Authority
JP
Japan
Prior art keywords
bus
master
memory
data
transfer
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
JP9200570A
Other languages
English (en)
Other versions
JP3524337B2 (ja
Inventor
Atsushi Date
厚 伊達
Takashi Fujiwara
隆史 藤原
Tadaaki Maeda
忠昭 前田
Noboru Yokoyama
登 横山
Katsunori Kato
勝則 加藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP20057097A priority Critical patent/JP3524337B2/ja
Priority to DE69841398T priority patent/DE69841398D1/de
Priority to EP98305792A priority patent/EP0893766B1/en
Priority to US09/122,012 priority patent/US6438635B1/en
Publication of JPH1145225A publication Critical patent/JPH1145225A/ja
Priority to US09/917,833 priority patent/US7062664B2/en
Priority to US09/917,715 priority patent/US6499076B2/en
Application granted granted Critical
Publication of JP3524337B2 publication Critical patent/JP3524337B2/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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】画像データ等、大量のデータを効率良く処理す
る。 【解決手段】システムバスブリッジ(SSB)402に
は、CPU401からのPバス、システムメモリからの
MCバス、入出力機器が接続されたIOバス、スキャナ
プリンタコントローラ408の画像データを転送するG
バスが接続され、SSB402は、マスタとしてPバ
ス、Gバス、IOバスのいずれか、スレーブとしてMC
バス、IOバスのいずれかをマスタの要求に応じて接続
する。この際。PバスとIOバス、GバスとMCバス
は、並列に接続することができる。そのため、CPUに
よる入出力機器の使用と並行して、スキャナプリンタコ
ントローラによるメモリのアクセスを行うことができ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、スキャナ等の画像
入力装置と、プリンタ等の画像出力装置とを効率的に制
御する複合機器の制御装置に関する。
【0002】
【従来の技術】従来、スキャナなどの画像入力装置と、
プリンタなどの画像出力装置を組み合わせた、複写機や
ファクシミリ、あるいはそれらを単体として備えたコン
ピュータシステムなどが実用化されている。こういった
システムでは、画像データを扱うために、膨大な量のデ
ータを効率的に処理する必要がある。
【0003】
【発明が解決しようとする課題】こういったシステムに
おいては、データ転送のために複数のバスマスタによる
DMA転送が用いられる。複数のバスマスタが順次に処理
を行うことが必要な場合、例えば、メモリ上のデータに
対して、処理A(バスマスタ1)を行った後、処理B
(バスマスタ2)を行い、その処理後のデータをバスマ
スタ4に送るといった一連の処理を考える。
【0004】通常このような処理を行う場合、それぞれ
バスマスタが、メモリからデータをリードし、処理後の
データをメモリに書き戻すというDMA機能があれば、ソ
フトウェアはまず、バスマスタ1に対して処理Aを行う
ようにDMAをセットする。バスマスタ1はすべての処理
を終了後、プロセッサに対して割り込みを上げ、処理の
終了を行うようにDMAをセットし、処理の終了後、今度
はバスマスタ4に対してメモリからデータをリードする
ようにセットを行う。このように一連の処理を行うため
には、ソフトウェアによりひとつの処理が終了したのを
確認してから次の処理をスタートさせるというように処
理を行っていく必要があった。
【0005】このようにこれまではそれぞれの処理を行
う度にソフトウェアが介入する必要があり、また処理毎
にいちいちメモリに書き戻してやる必要があり、無駄な
処理が多いという第1の問題があった。
【0006】また、大量のデータを扱うために、単一の
バスではバスの転送能力がボトルネックとなっていた。
これを解消するために、バスを2重化して転送能力の増
強を図ったシステムもあった。
【0007】しかしながら、複数のバスを有するシステ
ムであっても、バスの構成が柔軟でなく、大量のデータ
を転送する場合などには、十分な転送能力が引き出され
てはいなかったという第2の問題点があった。
【0008】また、従来のバスは単一であるのが普通で
あり、複数のバスマスタが同一のメモリアドレスに書き
込みを行おうとした場合、バス使用権を獲得した順にメ
モリへデータを書き込むことが保証できた。
【0009】しかしながら、複数のバスが存在し、これ
らのバスのバス調停(アービトレーション)と、複数の
バスのどれかひとつのバスをメモリへ接続することを独
立に制御するシステム構成では、複数のバスの接続され
た複数のバスマスタが同時に同一のメモリ空間へ書き込
みを行う可能性があり、書き込みの順序は、バスの調停
によりバスの使用権を得た順序とはならない可能性があ
るという第3の問題点があった。
【0010】更に、データを効率的に処理するために、
従来キャッシュメモリの使用が行われている。
【0011】しかしながら従来のキャッシュ制御は、転
送先メモリのアドレス情報を基にキャッシュのオン/オ
フが行われていた。このため、大量のデータをキャッシ
ュ許可のメモリ空間に転送すると、この大量のデータが
キャッシュされ、すべて新たなデータで書き換えられて
しまい、他のデバイスがメモリにアクセスする場合には
キャッシュミスとなる可能性が高い。これはキャッシュ
の容量を増やせば解決するかに見えるが、それは大幅な
製造コストの上昇につながる。また、特に、プリント時
などには、読み出された大量の画像データはそのままプ
リンタエンジンに渡されてそのデータがキャッシュされ
たとしても2度と使用されることはない。このようにむ
やみにキャッシュすることは、逆にキャッシュヒット率
を低下させることになる。このように、キャッシュを効
率良く利用することができない場合があるという第4の
問題点があった。
【0012】さらに、複数のバスを用いたシステムで
は、複数のバスを使用できるバスマスタは、どのバスを
使用するか決定する必要がある。従来はアクセスする相
手先が決まればそれに応じてバスも決定していた。
【0013】しかしながら、使用するバスが相手先に応
じて固定されているため、各バスの転送速度や使用率等
を考慮した効率的なバスの使用が行えないという第5の
問題点があった。
【0014】さらに、このようなシステムをひとつの半
導体チップに集積すると大量の熱が発生し、パッケージ
が熱で破壊されるおそれがあるという第6の問題点があ
った。
【0015】本発明は上記第1の問題に鑑みてなされた
もので、処理毎のソフトウェアの介入が必要なく全体と
しての処理速度を向上させるバス管理装置及びそれを有
する複合機器の制御装置を提供することを第1の目的と
する。
【0016】また、本発明は上記第2の問題に鑑みてな
されたもので、バスの構成を柔軟にし、最適なバスを選
んでデータの転送を行えるバス管理装置及びそれを有す
る複合機器の制御装置を提供することを第2の目的とす
る。
【0017】また、本発明は上記第3の問題に鑑みてな
されたもので、複数のバスのそれぞれに接続されたバス
マスタからのバスの使用権を得た順にメモリにアクセス
できるバス管理装置及びそれを有する複合機器の制御装
置を提供することを第3の目的とする。
【0018】また、本発明は上記第4の問題に鑑みてな
されたもので、キャッシュの使用効率を向上させるメモ
リ管理装置及びそれを有する複合機器の制御装置を提供
することを第4の目的とする。
【0019】また、本発明は上記第5の問題に鑑みてな
されたもので、各バスマスタが使用するバスを動的に決
定してバスの効率を向上させたバス管理装置及びそれを
有する複合機器の制御装置を提供することを第5の目的
とする。
【0020】また、本発明は上記第6の問題に鑑みてな
されたもので、回路の動作状態を監視して消費電力を抑
制し、大量の熱を発生を抑制する電力管理装置及びそれ
を有する複合機器の制御装置を提供することを第6の目
的とする。
【0021】
【課題を解決するための手段】上記の問題を解決するた
めに、本発明のバス管理装置は次のような構成からな
る。すなわち、少なくとも1つのバスと、該バスに接続
された複数のバスマスタと、前記複数のバスマスタそれ
ぞれに対してバス使用権の付与の開始条件と終了条件と
を記憶する手段と、前記複数のバスマスタからバスの使
用要求があると、前記条件にしたがって前記複数のバス
マスタのバス使用権を付与を開始し、終了するバス調停
手段とを備える。
【0022】あるいは、少なくとも4つのバスと、前記
バスに接続されたバスマスタと、前記バス同士の接続
を、前記バスのそれぞれに接続されたバスマスタのバス
の要求に応じて切り替える切り替え手段とを備える。
【0023】あるいは、それぞれにバスマスタを備えた
少なくとも2つのバスと、前記バスを介してアクセスさ
れるメモリと、前記バスそれぞれに接続され、当該バス
のバスマスタによるバス要求を調停し、そのいずれかに
バス使用権を付与する調停手段と、前記バスそれぞれに
ついてバス使用権を付与された複数のバスマスタが同一
のあて先に書き込みを行う場合、それらバスマスタのう
ち、もっとも早くバス要求を出したバスマスタ以外のバ
スマスタに対するバス使用権を停止させるよう、前記調
停手段に対して通知するバス同期手段とを備える。
【0024】あるいは、それぞれがバスの調停手段を有
する少なくとも2つのバスと、前記バスに接続されたバ
スマスタと、前記バスの状態と、前記バスマスタから出
されるバス要求の情報とを判定し、前記バスのうちいず
れを使用するか決定する決定手段とを備える。
【0025】あるいは、本発明のメモリ管理装置は次の
ような構成からなる。すなわち、連続したロケーション
へのデータ転送を行うバーストモードを支援するメモリ
と、前記メモリの前段にあって、該メモリと交換される
データを一旦蓄積するキャッシュメモリを備えたメモリ
制御手段とを備え、前記メモリ制御手段は、前記メモリ
へのデータ転送がバ−ストモードであればキャッシュを
介さずに直接前記メモリへデータを転送し、シングルモ
ードであれば一旦キャッシュにデータを書き込むようキ
ャッシュメモリを制御する。
【0026】あるいは、連続したロケーションへのデー
タ転送を行うバーストモードを支援するメモリと、前記
メモリの前段にあって、該メモリと交換されるデータを
一旦蓄積するキャッシュメモリを備えたメモリ制御手段
と、前記メモリへアクセスする複数のバスマスタとを備
え、前記メモリ制御手段は、前記メモリへのデータ転送
をしようとするバスマスタに応じて、キャッシュを介さ
ずに直接前記メモリへデータを転送するか、一旦キャッ
シュにデータを書き込んでメモリへデータを転送するか
制御する。
【0027】あるいは、本発明の電力管理装置は次のよ
うな構成からなる。すなわち、制御部により制御された
複数の回路ブロックを含む電気回路の消費電力を制御す
る電力管理装置であって、各ブロックの動作状態を監視
する状態監視手段と、動作状態にあるブロックの消費電
力を加算する加算手段と、加算された電力を所定の閾値
と比較し、閾値を越えたことを前記制御部に通知する通
報手段とを備える。
【0028】あるいは、本発明の複合機器の制御装置は
次のような構成からなる。すなわち、上記いずれかに記
載のバス管理装置を備え、該バス管理装置により、画像
入力装置及び画像出力装置が接続されたバスを管理す
る。
【0029】あるいは、上記いずれかに記載のメモリ管
理装置を備える。
【0030】あるいは、上記いずれかに記載の電力管理
装置を備える。
【0031】
【発明の実施の形態】次に本発明の実施の形態として、
プロセッサコア、プロセッサ周辺コントローラ、メモリ
コントローラ、スキャナー/プリンタコントローラ、P
CIインターフェースなどを内蔵したシングルチップ・
スキャニング・プリンティングエンジンである“DoE
ngine”を説明する。
【0032】1.DoEngine概要 DoEngineは、MIPSテクノロジー社のR40
00プロセッサとコンパチブルなプロセッサコア、プロ
セッサ周辺コントローラ、メモリコントローラ、スキャ
ナー/プリンタコントローラ、PCIインターフェース
などを内蔵したシングルチップ・スキャニング・プリン
ティングエンジンである。高速並列動作、ビルディング
ブロック手法を採用し実装される。
【0033】プロセッサシェル(プロセッサコアを含む
プロセッサ周辺回路の総称)内には最大でインストラク
ション、データそれぞれ16Kバイトの計32Kバイト
のキャッシュメモリ、FPU(浮動小数点演算ユニッ
ト)、MMU(メモリ管理ユニット)、ユーザー定義可
能なコプロセッサなどを内蔵することが可能である。
【0034】PCIバスインターフェースを有するの
で、PCIバススロットを有するコンピュータシステム
と共に用いることができる。また、PCIサテライト構
成に加え、PCIホストバスブリッジ構成にてPCIバ
スコンフィギュレーションを発行することが可能であ
り、安価なPCI周辺デバイスと組み合わせることによ
り、マルチファンクションペリフェラル(複合機能周辺
機器)のメインエンジンとして使用することも可能であ
る。さらにPCIバスインターフェースを有するレンダ
リングエンジン、圧縮・伸長エンジンと組み合わせるこ
とも可能である。
【0035】チップ内部に汎用IOコアを接続するIO
バス、及び、画像データ転送に最適化したグラフィック
バス(Gバス:Graphics Bus)の2系統の独立したバスを
有し、メモリ、プロセッサとこれらのバスをクロスバス
イッチを介して接続することにより、マルチファンクシ
ョンシステムにおける同時動作に必須の、並列性の高い
高速データ転送を実現している。
【0036】メモリには、画像データに代表される、連
続したデータ列のアクセスに対し、最高のコストパフォ
ーマンスを有するシンクロナスDRAM(SDRAM)
をサポートし、SDRAMのバーストアクセス高速デー
タ転送のメリットを享受できない小さなデータ単位での
ランダムアクセスにおける性能低下を最小に抑えるため
に、8Kバイトの2ウェイセットアソシアティブ・メモ
リフロントキャッシュをメモリコントローラ内に備え
る。メモリフロントキャッシュは、すべてのメモリライ
トに対するバススヌープが難しい、クロスバスイッチを
採用したシステム構成においても、複雑な機構なしに、
キャッシュメモリによる高性能化が達成出来る方式であ
る。また、リアルタイムデータ転送(機器制御)が可能
な、プリンタ及びスキャナーとのデータインターフェー
ス(Video Interface)を有し、さらにハードウェアによ
る、機器間同期のサポート及び画像処理を行う事によ
り、スキャナ、プリンタ分離型の構成においても、高品
質で高速なコピー動作の実現が可能な構成となってい
る。
【0037】なお、DoEngineは、コアが3.3
Vで動作し、IOは5Vトレラントである。
【0038】図1及び図2,図3は、DoEngine
を用いた装置あるいはシステムの構成例を示している。
図1は分離構成型であり、パーソナルコンピュータ10
2には、それが備えるPCIインターフェースを介して
DoEngineを備えたローカルボード101が装着
される。ローカルボード101にはDoEngineの
ほか、後述するメモリバスを介してDoEngineと
接続されたメモリと、色処理回路(チップ)が設けられ
ている。このローカルボード101を介して、高速スキ
ャナ103とカラー/モノクロプリンタ104とがパー
ソナルコンピュータ102に接続される。この構成によ
り、パーソナルコンピュータの制御のもとで,ローカル
ボード101により、スキャナ103から入力された画
像情報を処理し、プリンタ104から出力させることが
できる。
【0039】また、図2及び図3はスキャナ203とプ
リンタ202とを一体に組み込んだ例で、図2は通常の
複写機に類する構成を、図3(a)はファクシミリ装置
などの構成を示している。図3(b)は、図3(a)を
コントロールするコンピュータを示している。
【0040】これらのうち、図1,2は、PCIインタ
ーフェースを介して接続された外部のCPUによりDo
Engineが制御されるというスレーブモードで使用
されている例であり、図3は、DoEngineのCP
Uが主体となり、PCIインターフェースを介して接続
されたデバイスを制御するマスタモードで使用されてい
る例である。
【0041】表1として、DoEngineの仕様を示
す。外部インターフェースとして、PCI,メモリバ
ス,ビデオ,汎用入出力,IEEE1284,RS23
2C,100baseT/10baseT,LCDパネ
ル及びキーを備えるが、更にUSBを有していてもよ
い。内蔵ブロックとして、CPUコアに加えて、1次キ
ャッシュ,キャッシュ付きメモリコントローラ,コピー
エンジン,IOバスアービタ,グラフィックバスアービ
タなどを備えている。また、DMAコントローラはチャネ
ル数が5であり、グラフィックバス,IOバスともにア
ービトレーションは、優先度付きの先着順処理方式で行
われる。
【0042】
【表1】
【0043】2.DoEngineの構成及び動作 本章では、DoEngine の総論に加え、各機能ブ
ロック毎のブロック図、概要、詳細、コアインターフェ
ース、タイミング図などを解説する。
【0044】2.1.DoEngineのチップ構成 図4として、DoEngineのブロック図を示す。D
oEngine400は次世代複合機能周辺機器(シス
テム)(MFP:Multi Function Peripheral or MFS:Multi
Function System)の主たるコントローラとして設計、開
発された。
【0045】CPU(プロセッサコア)401として、
MIPSテクノロジー社のMIPSR4000コアを採
用する。プロセッサコア401内には、8Kバイトずつ
のインストラクション,データのキャッシュメモリ、M
MUなどが実装される。プロセッサコア401は、64
ビットのプロセッサバス(Pバス)を介して、システム
・バス・ブリッジ(SBB)402に接続される。SB
B402は4×4の64ビットクロスバスイッチであ
り、プロセッサコア401の他に、キャッシュメモリを
備えたSDRAMやROMを制御するメモリコントロー
ラ403と専用のローカルバス(MCバス)で接続され
ており、さらに、グラフィックバスであるGバス40
4、IOバスであるIOバス405と接続され、全部で
4つのバスに接続される。システムバスブリッジ402
は、これら4モジュール間を、可能な限り、同時平行接
続を確保することができるように設計されている。
【0046】Gバス404はGバスアービタ(GBA)
406により協調制御されており、スキャナやプリンタ
と接続するためのスキャナ/プリンタコントローラ(S
PC)408に接続される。また、IOバス405は、
IOバスアービタ(BBA)407により協調制御され
ており、SPC408のほか、電力管理ユニット(PM
U)409,インタラプトコントローラ(IC)41
0,UARTを用いたシリアルインターフェースコント
ローラ(SIC)411,USBコントローラ412,
IEEE1284を用いたパラレルインターフェースコ
ントローラ(PIC)413,イーサネットを用いたL
ANコントローラ(LANC)414,LCDパネル,
キー,汎用入出力コントローラ(PC)415,PCI
バスインターフェース(PCIC)416にも接続され
ている。
【0047】2.2.プロセッサシェル プロセッサシェルとは、プロセッサコアに加えMMU
(Memory Management Unit)、命令キャッシュ、データ
キャッシュ、ライトバックバッファ及び掛け算ユニット
を含んだブロックを指す。 <キャッシュメモリ>図5に示したように、キャッシュ
メモリコントローラは、無効(Invalid),有効かつクリ
ーン(Valid Clean:キャッシュが更新されていない),
有効かつダーティ(Valid Dirty:キャッシュが更新され
ている)の3つのステートキャッシュを管理する。この
状態に応じて、キャッシュは制御される。
【0048】2.3.インタラプトコントローラ 図6にインタラプトコントローラ410のブロック図を
示す。
【0049】インタラプトコントローラ410は、IO
バスインターフェース605を介してIOバス405に
接続され、DoEngineチップ内の各機能ブロック
及び、チップ外部からのインタラプトを集積し、CPU
コア401がサポートする、6レベルの外部インタラプ
ト及び、ノンマスカブルインタラプト(NMI)に再分
配する。各機能ブロックとは、電力管理ユニット40
9,シリアルインターフェースコントローラ411,U
SBコントローラ412,パラレルインターフェースコ
ントローラ413,イーサネットコントローラ414,
汎用IOコントローラ415,PCIインターフェース
コントローラ416,スキャナ/プリンタコントローラ
408などである。
【0050】この際、ソフトウェアコンフィギュレーシ
ョン可能なマスクレジスタ(Int Mask Logic 0 - 5)60
2により、各要因毎に割り込みをマスクをすることが可
能である。また、外部インタラプト入力は、選択的エッ
ジ検出回路601により、信号線ごとに、エッジセンス
/レベルセンスを選択することが出来る。要因レジスタ
(Detect and set Cause Reg 0 - 5)603は、各レベ
ルごとに、どのインタラプトがアサートされているかを
示すとともに、ライト動作を行うことで、レベルごとに
クリアを行う事が出来る。
【0051】各レベルの割込み信号は、各レベル毎に少
なくともひとつの割り込みがあれば割込み信号を出力す
べく、論理和回路604により論理和として出力され
る。なお、各レベル内での複数要因間のレベル付けはソ
フトウェアにて行う。
【0052】2.4.メモリコントローラ 図7は、メモリコントローラ403のブロック図であ
る。メモリコントローラ403は、メモリコントローラ
専用のローカルバスであるMCバスにMCバスインター
フェース701を介して接続され、最大1ギガバイトの
シンクロナスDRAM(SDRAM)と、32メガバイ
トのフラッシュROMあるいはROMをサポートする。
SDRAMの特徴であるバースト転送時の高速性を活か
すため、64(16×4)バースト転送を実現する。ま
た、CPUやIOバスよりの連続したアドレスのシング
ル転送を考慮し、メモリコントローラ内にSRAM(メ
モリフロントキャッシュ)702を内蔵し、SDRAM
へ直接シングル転送を行うことを可能な限り回避して転
送効率を向上させる。メモリコントローラ−SDRAM
間のデータバス幅は、信号ramData及びramParをあわせ
て72ビット(このうち8ビットの信号ramParはパリテ
ィ)、フラッシュROM間のデータバスfntromData,pr
gromDataの幅は32ビットとする。
【0053】2.4.2.構成及び動作 メモリコントローラの各部はこれから説明するような構
成となっている。 <MCバスインターフェース(701)>MCバスは、
SBB402−メモリコントローラ403間の専用のバ
スであり、またSBB内部の基本バスとして用いられて
いる。
【0054】CPU401とバスブリッジ402とを接
続する専用バスPBusのバースト転送が4バーストの
み規定しているのに対し、MCバスにおいては16バー
スト×4までの転送を追加している。このためにバース
ト長を示す信号としてmTType[6:0]を新たに
定義した。 (MCバス信号の定義) MCバスの各信号は下記の通り定義される。 ・mClk(出力) … MCバスクロック ・mAddr[31:0](出力) … MCバスアドレス 32ビットのアドレスバスであり、mTs_L がアサートさ
れた時点からmBRdy_Lがアサートされるまで保持され
る。 ・mDataOut[63:0](出力) … MCバスデータ出力 64ビットの出力データバスであり、mDataOe_Lがアサー
トされている時のみ有効である。 ・mDataOe_L(出力) … MCバスデータ出力イ
ネーブル mDataOut[63:0]が有効であることを示す。またその転送
がWriteであることを示す。 ・mDataIn[63:0](入力) … MCバスデータ入力 64ビットの入力データバスであり、mBRdy_Lがアサート
されているmClkの立ち上がりでサンプリングされる。 ・mTs_L(出力) … MCバストランザクシ
ョン開始ストローブ 転送が開始したことを示す。転送の最初の1クロックの
間だけアサートされる。転送が1クロックで終了し、次
の転送がすぐに始められるのならばmTs_Lは引続きアサ
ートされたままになる。 ・mTType[6:0](出力) … MCバストランザクシ
ョンタイプ MCバス上の転送のタイプを示す。シングル転送時はそ
の転送の間、バースト転送時は最初の転送(beat)の間
保持される。上位3ビットがソース(マスタ)をあらわ
し、下位ビットがシングル/バースト長をあらわす。タ
イプには次のようなものがある。 mTType[6:4] 信号源 −−−−−−− −−−−−−−−−− 001 CPU 010 IOバス 100 Gバス −−−−−−− −−−−−−−−−− mTType[3:0] シングル/バースト長 −−−−−−− −−−−−−−−−− 1xxx シングル(1−8byte) 0001 2バースト 0010 4バースト 0011 6バースト 0100 8バースト 0101 16バースト 0110 2×16バースト 0111 3×16バースト 0000 4×16バースト ・mBE_L[7:0](出力) … MCバストランザクシ
ョンバイトイネーブルシングル転送時、64ビットデータ
バス上の有効なバイトレーンを示す。バースト転送時は
Write時のみ有効であり、Read時は無視される。 ・mBRdy_L(入力) …MCバスレディ 現在の転送(beat)が終了したことを示す。 ・mTPW_L(出力) … 次トランザクションが
In-page write(ページ内書き込み) 次の転送が同じページ(同じRowアドレス)のWriteであ
ることを示し、最大4個までのWriteを続けることがで
きる。ページサイズはあらかじめコンフィギュレーショ
ンレジスタに設定しておく。 ・mBPWA_L(入力) … バスのページ内書き
込み許可 MCバススレーブ(メモリコントローラ)がページ内書
き込みトランザクションを許可するかどうかを示し、mB
Rdy_Lと同じクロックでサンプリングされる。この時mBP
WA_LがディアサートされていればmTPW_Lは無意味とな
る。 ・mBRty_L(入力) … バスリトライ MCバススレーブ(メモリコントローラ)がアクセスを
未実行のまま終了させる場合にアサートし、少なくとも
1サイクル以上のアイドルの後に再試行しなければなら
ないことを示す。(もしmBRdy_LとmBRty_Lが同時にアサ
ートされた場合は、mBRty_Lが優先される。) ・mBerr_L(入力) … バスエラー パリティエラーやその他のバスエラーが発生した場合に
アサートされる。
【0055】なお、上述した入出力の別はSBBからみ
ての定義である。 (MCバストランザクション)MCバス上のトランザク
ションとしては、以下のトランザクションをサポートす
る。 ベーシックトランザクション(1,2,3,4,8バイト Read/
Write) mBE_L[7:0]信号に従い、1,2,3,4,8バイトのシ
ングルトランザクションをサポートする。 バーストトランザクション (CPUからの)4-ダブルワードバーストまでのトランザ
クションをサポートする。 Gバスからの16-ダブルワードバーストx4までのトラ
ンザクションをサポートする。 In-page write(ページ内書き込み)トランザクショ
ン mTPW_Lで示される同一ページ内の書き込みに関して、連
続的なWriteアクセスをサポートする。 バスリトライ メモリコントローラ内の制限によりメモリアクセスがで
きない場合は、mBRty_L信号をアサートし、バスリトラ
イを通知する。 <SDRAMコントローラ(705)>メモリコントロ
ーラ403は、次のような構成を有するSDRAMを以
下のように制御する。
【0056】(DRAM構成)DRAMの構成として
は、x4,x8,x16ビットタイプの16/64メガビットS
DRAMを64ビットデータバスで8バンク制御すること
ができる。
【0057】
【表2】
【0058】(DRAMアドレスビット構成)DRAM
のアドレスビットの割付けについては、64ビットSD
RAMの場合にはMA[13:0]を、16ビットSDRAMの
場合にはMA[11:0]を使用する。
【表3】 (SDRAMプログラマブル構成(モードレジスタ))
SDRAMは内部にモードレジスタを持ち、モードレジ
スタ設定コマンドを用いて下記の項目を設定する。 バースト長 バースト長は、1,2,4,8,フルページのいずれか
が設定可能であるが、CPUからのバースト転送長が4で
あることから、バースト長4が最適である。Gバスから
の16バースト以上の転送は、Read/Writeコマンド(オ
ートプリチャージ無し)を連続して発行することにより
実現する。 ラップタイプ(Wrap Type) バースト転送時のアドレスのインクリメント順を設定す
る。「シーケンシャル」または「インターリーブ」のど
ちらかが設定可能である。 CASレーテンシ CASレーテンシは、1,2,3のいずれかが設定可能で
あり、使用するSDRAMのグレードと動作クロックに
より決定される。
【0059】(SDRAMコマンド)SDRAMに対し
て以下のコマンドをサポートする。各コマンドの詳細
は、SDRAMデータブックに記載されている。 ・モードレジスタ設定コマンド ・アクティブコマンド ・プリチャージコマンド ・ライトコマンド ・リードコマンド ・CBR(Auto)リフレッシュコマンド ・セルフリフレッシュ開始コマンド ・バーストストップコマンド ・NOPコマンド (SDRAMリフレッシュ)SDRAMは、2048サイク
ル/32ms(4096/64ms)であるので、16,625nsおきにCBRリ
フレッシュコマンドを発行する。メモリコントローラは
設定可能なリフレッシュカウンタを持ち、自動的にCBR
リフレッシュコマンドを発行する。Gバスからの16-バ
ーストx nの転送中は、リフレッシュ要求を受け付けな
い。したがって、リフレッシュカウンタは16-バーストx
4転送の時間だけ余裕を持った値を設定しなければなら
ない。また、セルフリフレッシュをサポートする。この
コマンドを発行すると、パワーダウンモード(ramclke_L
=Low)時にセルフリフレッシュが続行される。
【0060】(SDRAM初期化)メモリコントローラ
はパワーオンリセット後、SDRAMに対して以下の初
期化を行なう。すなわち、電源投入後100μsのポーズ
期間をおいて、 プリチャージウコマンドを用いて全バンクをプリチャ
ージする。 SDRAMのモードレジスタを設定する。 オートリフレッシュコマンドを用いて、リフレッシュ
を8回行う。 <フラッシュROMコントローラ(704)>フラッシ
ュROMコントローラ704は、romAddr[23:2]のアド
レス信号と4個のチップセレクト(romCs_L[3:0])信号を
サポートする。アドレス信号romAddr2〜romAddr9はパリ
ティ信号ramPar0〜ramPar7とマルチプレクスされ、アド
レス信号romAddr10〜romAddr23は、DRAMアドレスra
mAddr0〜ramAddr13とマルチプレクスされている。 <SRAMコントロール(メモリフロントキャッシュ)
>メインメモリとして用いられるSDRAMは、バース
ト転送は非常に高速であるが、シングル転送においては
その高速性が発揮できない。そこで、メモリコントロー
ラ内にメモリフロントのキャッシュを実装し、シングル
転送の高速化をはかる。メモリフロントキャッシュは、
キャッシュコントローラ706とSRAM702より構
成される。MCバスに定義されたmTType[6:0]信号によ
り、その転送マスターと転送長を知ることができるの
で、各マスターごと、あるいは転送長ごとにキャッシュ
のオン/オフが設定可能である。キャッシュの方式は、
次の通りである。なお、以下、特に断らない限り、単な
るキャッシュあるいはキャッシュメモリという呼称は、
プロセッサコアに内蔵されたキャッシュではなく、メモ
リコントローラが内蔵するメモリフロントキャッシュを
指すものとする。 ・2ウェイセットアソシアティブ ・8kバイトデータRAM ・128 x 21 x 2 タグRAM ・LRU(Least Recently Used)アルゴリズム ・ライトスルー ・No Write Allocate 次にキャッシュコントローラ706を中心とする詳細な
ブロック図を図8に示す。
【0061】(キャッシュの動作)ここで、MCバスよ
りメモリリード/ライト転送が要求された場合のキャッ
シュの動作を図8のブロック図と、図9及び図10に示
すフローチャートを用いて説明する。
【0062】MCバスよりデータ転送が開始されると、
その転送の最初にMCバス上で示されるmTType[6:0]に
よって、その転送がキャッシュオンでおこなうか、オフ
でおこなうかの判断がおこなわれる。この説明では、転
送がシングル転送であればオン、バースト転送であれば
オフと判断することにする(ステップS901)。すな
わち、mTType(3)が“1”hであれば、シングル転送を
あらわすのでキャッシュオンで、“0”hであればバー
スト転送をあらわすのでキャッシュオフで転送を行う。
【0063】シングル転送(キャッシュオン)の場合、
アドレスlmaddr[31:0]が与えられると、lmaddr[11:5]が
インデックスとしてb1_tag_ram801,b2_tag_ram80
2,b1_data_ram702−a,b2_data_ram702−b,
lru803ヘ与えられ、それぞれのブロックから、入力
されたインデックスに対応するバリッドビット"v"及びb
1_tag_addr,バリッドビット"v"及びb2_tag_addr,b1_o
ut_data,b2_out_data,lru_inがそれぞれ出力される
(ステップS902)。
【0064】b1_tag_ram801とb2_tag_ram802より
出力されたb1_tag_addrとb2_tag_addrがそれぞれb1_com
parater804,b2_comparater805でアドレスlmaddr
[31:12]と比較され、その結果、すなわちヒットか否か
がb1_hit_miss_L,b2_hit_miss_L信号によりキャッシュ
コントローラ706へ知らされ、判定される(ステップ
S903)。
【0065】ここでヒットであれば、リードかライトか
が判定される(ステップS904)。ヒットであると
は、b1_tag_addrとb2_tag_addrのいずれかにアドレスlm
addr[31:12]と一致するものがある場合である。ヒット
かつリードの場合にはつぎのようになる。すなわち、b1
がヒットであり、要求された転送がリードであった場合
は、すでに読み出されているb1_out_dataとb2_out_data
のうちb1_out_dataを選択し、lmaddr[4:3]で示される8
バイトのデータをMCバスへ出力する(ステップS90
5)。同時にそのインデックスに対応するlruを“0”
(=b1ヒット)に書き換えて、転送が終了する。b2がヒッ
トであり、要求された転送がリードであった場合は、す
でに読み出されているb1_out_dataとb2_out_dataのうち
b2_out_dataを選択し、lmaddr[4:3]で示される8バイト
のデータをMCバスへ出力する(ステップS905)。
同時にそのインデックスに対応するlruを“1”h(=b2
ヒット)に書き換えて、転送が終了する。
【0066】一方、ヒットかつライトの場合にはつぎの
ようになる。すなわち、b1がヒットであり、要求された
転送がライトであった場合は、インデックスで示される
b1_data_ram702−aのlmaddr[4:3]で示される8バイ
トのデータのうちmBE_L[7:0]で示される有効なバイトレ
ーンのみを書き換え、同時にそのインデックスに対応す
るlruを“0”h(=b1ヒット)に書き換える。またSDR
AMも同様に書き換えて転送が終了する(ステップS9
06)。b2がヒットであり、要求された転送がライトで
あった場合は、インデックスで示されるb2_data_ram7
02−bのlmaddr[4:3]で示される8バイトのデータのう
ちmBE_L[7:0]で示される有効なバイトレーンのみを書き
換え、同時にそのインデックスに対応するlruを“1”
h(=b2ヒット)に書き換える。またSDRAMも同様に
書き換えて転送が終了する(ステップS906)。
【0067】一方、b1,b2ともにミスである場合にも、
リードかライトか判定される(ステップS1001)。
要求された転送がリードであった場合は、そのlmaddr[3
1:3]で示される8バイトのデータがSDRAMより読み
出され(ステップS1003)、MCバスヘ出力される
(ステップS1004)。同時にそのインデックスに対
応するlruが読み出され、“0”hであった場合はb2_da
ta_ramへSDRAMからのデータを書きlruも“1”h
へ書き換える。lruが“1”hであった場合はb1_data_r
amヘSDRAMからのデータを書き、lruも“0”hヘ
書き換え終了する(ステップS1005)。b1,b2とも
にミスであり、要求された転送がライトであった場合
は、SDRAMに書き込むだけで転送が終了する(ステ
ップS1002)。
【0068】ステップS901においてバースト転送
(キャッシュオフ)の場合、リード、ライトともSDR
AMに対してだけ行われ(ステップS907−S90
9)、キャッシュデータやタグの書き換え等は行わな
い。 <ROM/RAMインターフェース(707)>ROM
/RAMコントローラ707の構成を図11に示す。ブ
ロック1101〜ブロック1104により、SDRAM
のデータ信号、アドレス信号、パリティ信号が、フラッ
シュROMのデータ信号、アドレス信号と多重化され
る。
【0069】2.4.3.タイミングダイアグラム 上述したメモリコントローラ403によるデータの読み
出し・書き込み等の処理のタイミングを、図12〜図1
9を用いて説明する。
【0070】図12は、CPUからのバースト読み出し
のタイミングを示す。バースト長は4、CASレイテン
シは3である。図9のステップS909における処理に
相当する。
【0071】図13は、CPUからのバースト書き込み
のタイミングを示す。バースト長は4、CASレイテン
シは3である。図9のステップS908における処理に
相当する。
【0072】図14は、Gバスデバイスからのバースト
読み出しのタイミングを示す。Gバスのバースト長は1
6、SDRAMのバースト長は4、CASレイテンシは
3である。図9のステップS909における処理に相当
する。
【0073】図15は、Gバスデバイスからのバースト
書き込みのタイミングを示す。Gバスのバースト長は1
6、SDRAMのバースト長は4、CASレイテンシは
3である。図9のステップS908における処理に相当
する。
【0074】図16は、メモリフロントキャッシュにヒ
ットした場合のシングル読み出しのタイミングを示す。
読み出されるデータmDataIn[63:0]としては、キャッシ
ュメモリであるb1_data_ram702−aあるいはb2_data
_ram702−bから読み出されたb1/b2_out_dataが出力
される。SDRAMのバースト長は4、CASレイテン
シは3である。図9のステップS905における処理に
相当する。
【0075】図17は、メモリフロントキャッシュにヒ
ットしなかった場合のシングル読み出しのタイミングを
示す。読み出されるデータmDataIn[63:0]としては、S
DRAMから読み出されたデータramData[63:0]が出力
される。また、このデータはb1/b2_in_dataとしてキャ
ッシュメモリであるb1_data_ram702−aあるいはb2_
data_ram702−bにも書き込まれる。SDRAMのバ
ースト長は4、CASレイテンシは3である。図10の
ステップS1004及びS1005における処理に相当
する。
【0076】図18は、メモリフロントキャッシュにヒ
ットした場合のシングル書き込みのタイミングを示す。
書き込まれるデータmDataOut[63:0]は、キャッシュメモ
リであるb1_data_ram702−aあるいはb2_data_ram7
02−bに書き込まれるとともに、SDRAMにも書き
込まれる。SDRAMのバースト長は4、CASレイテ
ンシは3である。図9のステップS906における処理
に相当する。
【0077】図19は、メモリフロントキャッシュにヒ
ットしなかった場合のシングル書き込みのタイミングを
示す。書き込まれるデータmDataOut[63:0]は、キャッシ
ュメモリであるb1_data_ram702−aあるいはb2_data
_ram702−bには書き込まれず、SDRAMに対して
だけ書き込まれる。SDRAMのバースト長は4、CA
Sレイテンシは3である。図10のステップS1002
における処理に相当する。
【0078】なお、ここでは、MCバスよりデータ転送
が開始されると、その転送の最初にMCバス上で示され
るmTType[6:0]によって、転送がシングル転送であれば
オン、バースト転送であればオフと判断しているが、バ
ースト転送の場合に、さらにバースト長を判定し、バー
スト長がキャッシュの1ラインよりも小さい場合にはキ
ャッシュオンとし、そうでない場合にはキャッシュオフ
として動作するようにしてもよい。
【0079】また、MCバスに、メモリへのデータ転送
を要求したバスマスタの識別子を示す信号を含ませるこ
とで、メモリコントローラがその識別子を判定し、識別
子に応じてキャッシュオン/キャッシュオフの制御を行
うこともできる。この場合には、識別子とキャッシュオ
ン/オフの別とを対応させた書換え可能なテーブルを用
意し、それを参照してキャッシュのオンオフを切り替え
ることもできる。このテーブルは、例えば特定のアドレ
スを割り当ててCPU401などから書換え可能にする
こともできる。
【0080】2.5.システムバスブリッジ(SBB)
及びIOバス,Gバス 図20としてシステムバスブリッジ(SBB)402の
ブロック図を示す。
【0081】SBB402は、IOバス(入出力バ
ス),Gバス(グラフィックバス),Pバス(プロセッサ
ローカルバス)及びMCバス間の相互接続をクロスバス
イッチを用いて提供する、マルチチャネル双方向バスブ
リッジである。クロスバスイッチにより、2系統の接続
を同時に確立することが出来、並列性の高い高速データ
転送を実現出来る。
【0082】SBB402は、IOバス405と接続す
るためのIOバスインターフェース2906と、Gバス
404と接続するためのGバスインターフェース200
6と、プロセッサコア401と接続するためのCPUイ
ンターフェーススレーブポート2002と、メモリコン
トローラ403と接続するためのメモリインターフェー
スマスターポートを備えるほか、アドレスバスを接続す
るアドレススイッチ2003,データバスを接続するデ
ータスイッチ2004を含む。また、プロセッサコアの
キャッシュメモリを無効化するキャッシュ無効化ユニッ
ト2005を備えている。
【0083】IOバスインターフェース2009には、
IOバスデバイスからのDMAライトを高速化するライト
バッファと、IOバスデバイスのリードを効率化するリ
ードプリフェッチキューを実装する。これらのキュー内
に一時的に存在するデータに関するコヒーレンシ管理は
ハードウェアにて行う。なお、IOバスに接続されたデ
バイスをデバイスと呼ぶ。
【0084】プロセッサコアは32ビットバスに対する
ダイナミックバスサイジングをサポートしているが、S
BB402ではこれをサポートしない、将来、バスサイ
ジングをサポートしないプロセッサを用いる場合にもS
BBに必要な改造を最小限におさえるためである。
【0085】2.5.1.SBB及び各バスの構成及び
動作 <IOバスインターフェース>図21は、IOバスイン
ターフェースのブロック図である。
【0086】IOバスインターフェース2009は、I
OバスとMCバス間の双方向ブリッジ回路である。IO
バスはDoEngineの内部汎用バスである。
【0087】IOバスインターフェース2009内に
は、マスタコントロールブロック2011、スレーブコ
ントロールブロック2010、データインターフェース
2012、DMAC2013、IOバスバッファの5ブロッ
クが含まれる。図21上で、DMAC2013は、機能上3
個のシーケンサとレジスタブロックに分割される。それ
ら3つのシーケンサのうち、DMAメモリアクセスシーケ
ンサはIOバススレーブコントロールブロック2010
に、DMAregシーケンサはIOバスマスターコントロ
ールブロック2011に内蔵される。レジスタブロック
であるDMAレジスタはIOバスデータインターフェース
2012部に内蔵される。
【0088】またIOバスインターフェース2009は
IOバス側からのメモリへの書き込み時、及びDMAによ
るデバイスからメモリへの転送が起こった時に、キャッ
シュ無効化インターフェースを介してCPUシェル内のデ
ータ、命令両キャッシュの無効化の制御を行う。
【0089】なお、CPUライト時のライトバックバッフ
ァはIOバスインターフェースには実装しないが、IO
バス上の外部マスタライト時のライトバッファを実装す
る。これにより、バースト転送でない、連続した外部マ
スタからの書き込みが高速化される。このライトバッフ
ァのフラッシュは、IOバスアービタ407によるメモ
リへの接続が許された時点で行われる。IOバスマスタ
リードのライトバッファバイパスは行わない。
【0090】また、外部マスタのリードプリフェッチキ
ューを実行する。これにより、外部マスタからの連続し
た、データストリームの読み出しの高速化を図る。リー
ドバッファの無効化は、 1.IOバスの新たなリードがバッファにヒットしなか
った場合。 2.CPUからメモリへのライトが行われた場合。 3.Gバスからメモリへのライトが行われた場合。 4.IOバスからメモリへのライトが行われた場合。 に行われる。
【0091】またIOバスインターフェース2009に
はIOバス405上の各デバイスとメモリ間のDMAコン
トローラ2013が内蔵される。システムバスブリッジ
402にDMAコントローラを内蔵することにより、ブリ
ッジ双方へ、同時にアクセス要求が発行出来、効率的な
DMA転送が実現出来る。
【0092】IOバスインターフェース2009はプロ
セッサ401からのアクセス要求に対して、ダイナミッ
クバスサイジングの使用を要求しない。またIOバスマ
スタからのメモリアクセス要求時に、メモリコントロー
ラ403からのバスサイジングにも対応しない。すなわ
ち、メモリコントローラはバスサイジングを期待すべき
ではない。 <IOバス> IOバスはDoEngine内の汎用IOバスであり、
以下の仕様を持つ。 ・アドレス、データ分離型32ビットバス。 ・任意のウェイトサイクルを挿入可能、最短はノーウェ
イト。 ・バーストトランザクションのサポート。 ・最大転送速度は、クロックが50MHz時に200Mbyte/Se
c。 ・バスエラーとバスリトライのサポート。 ・複数バスマスタのサポート。
【0093】(IOバス信号定義)以下にバス信号の定
義を説明する。各信号毎に、「信号名(英語呼称):入
力元>出力先 (,3States)…信号の説明」の要領で記
載されている。なお、3ステートの項は3ステートの信
号に限り記載した。
【0094】bAddr[31:2](IOBus Address Bus):Mast
er>Slabe,3State… IOBusアドレスバス。
【0095】bData[31:0] (IOBus Data Bus):DataDr
iver>DataReceiver,3State … IOBusデータバス。
【0096】b(Datadrivername)DataOeReq(IOBus Data
Output Enable Request):Datadriver>DefaultDriver
Logic … 後述する双方向IOバスを実現するため、
デフォルトドライバーコントロールロジックヘの出力信
号である。Datadrivernameを持つデバイスが、バス上に
データをドライブするための要求信号である。データの
出力を許可されたデバイスには、デフォルトドライバー
コントロールロジックよりb(Datadrivername)DataOe_L
が出力される。Datadriverの例:Pci,Sbb,Jpeg,Spu。
【0097】b(Datadrivername)DataOe_L(IOBus Data
Output Enable): dfaultDriverLogic>Datadriver
… b(Datadrivername)DataOeReqを出力したデバイスに
対し、デフォルトドライバーロジックがデータバスへの
データのドライブを許す場合b(Datadrivername)DataOe_
L信号をそのデバイスに対して返す。
【0098】bError_L(IOBus Bus Error):Slave>Mas
ter 3State … IOバストランザクションがエラーで
終了したことを示す。
【0099】b(Mastername)BGnt_L(IOBus Grant):Ar
biter>Master … バスアービトレーションにより当マ
スタがバスの使用権を得たことを示す。Masternameの
例:Pci,Sbb,Jpeg,Spu。
【0100】blnstNotData(IOBus Instruction/Data O
utput Indicator):Master>Slave,3State … IO
バスマスタがインストラクションフェッチをIOバスス
レーブに対して行う場合にHighにドライブする。データ
トランザクションの場合はLowにドライブする。
【0101】b(Mastername)CntlOeReq(IOBus Master C
ontrol Output Enable Request):Master>DefaultDriv
erLogic … IOバスマスタが、bStart_L,bTx_L,bWr_
L,vInstNotDataとbAddr[31:2]を3ステートバス上にド
ライブしたい場合に、IOBus Output Control Logicに対
してアサートする。IOBus Output Control Logic は各
マスタからの、bMCntlOeReqに基づきドライブを許すマ
スタに対し、b(Mastername)CntlOe_L信号を返す。
【0102】b(Mastername)CntlOe_L(IOBus Master Co
ntrol Output Enable):DefaultDriverLogic>Master
… b(Mastername)CntlOeReqを出力したマスタに対し、
デフォルトドライバーロジックがドライブを許す場合b
(Mastername)CntlOe_L信号をそのマスタに対して返す。
【0103】bRdy_L(IOBus Ready):Slave>Master,3
State … IOバススレーブは、現在のIOバスデー
タトランザクションが現在のクロックサイクルを最後に
終了することを示すためにこの信号をアサートする。I
Oバスマスタは、この信号により、現在のトランザクシ
ョンがこのクロックサイクルで終了することを知る。
【0104】b(Mastername)BReq_L(IOBus Bus Reques
t):Master>Arbiter … IOバスマスタが、IOバ
スアービタに対し、バスの使用権要求を行う事を示す。
【0105】bRetry_L(IOBus Bus Retry):Slave>Mas
ter 3State … IOバススレーブがマスタに対し、バ
ストランザクションの最実行を要求する。
【0106】b(Slavename)RdyOeReq(IOBus Slave Read
y Output Enable Request):Slave>DefaultDriverLogi
c … IOバススレーブが、bRdy_L,bWBurstReq_L,bBu
rstAck_Lを3ステートバス上にドライブしたい場合に、
IOBus Output Control Logicに対してアサートする。IO
Bus DefaultDriverLogicは各マスタからの、b(Slavenam
e)RdyOeReqに基づきドライブを許すスレーブに対し、b
(Slavename)RdyOe_L信号を返す。
【0107】b(Slavename)RdyOe_L(IOBus Slave Ready
Output Enable):DefaultDriverLogic>Slave … b
(Slavename)RdyOeReqを出力したマスタに対し、デフォ
ルトドライバーロジックがドライブを許す場合b(Slaven
ame)RdyOe_L信号をそのマスタに対して返す。
【0108】bSnoopWait(IOBus Snoop Wait):SBB>Ne
xtMaster … IOバスインターフェースがIOバスに
接続された他のデバイスに対し、キャッシュのスヌーピ
ング実行中であることを示す。IOバスに接続されたデ
バイスはこの信号がアサートされている間は新たなトラ
ンザクションを発行できない。
【0109】bStart_L(IOBus Transaction START):M
aster >Slave 3State … IOバスマスタがIOバス
トランザクションをスタートすることを示す信号、IO
バススレーブは、この信号を監視することにより、IO
バストランザクションのスタートを知ることが出来る。
【0110】bTx_L(IOBus Transaction Indicator Inp
ut):Master>Slave 3State …IOバスマスタがIO
バススレーブに対し、IOバストランザクションが現在
実行中である事を示すためにアサートする。
【0111】bWBurstGnt_L(IOBus Burst Write Gran
t):Master>Slave,3State … IOバスマスタが、
IOバスバーストライトのリクエストに対し、バースト
ライト実行することを示すためにドライブする。
【0112】bWBurstReq_L(IOBus Burst Write Reques
t):Slave >Master,3Stete …IOバススレーブがI
Oバスマスタに対し、バースとライトを要求する場合に
アサートする。
【0113】bWr_L(IOBus Write Transaction Indicat
er):Master>Slave,3State …IOバスマスタが、I
Oバススレーブに対し、現在のトランザクションがライ
トである事を示すためにアサートする。
【0114】bByteEn[3:0](IOBus Byte Enables):Da
taDriver>DataReceiver,3State… IOバス上にデー
タをドライブするエージェントが、各ビットに対応した
bData[31:0]上のバイトレーンが有効である事を示すた
めにHighにドライブする。本信号の各ラインとbDataの
バイトレーンは表4の対応関係にある。
【0115】
【表4】
【0116】bBurst_L(IOBus Extended Burst Reques
t):Master>Slave,3Sate … IOバスマスタが拡張
バーストを行いたい事を示す。アサート、ネゲートタイ
ミングはbTx_Lと同一。
【0117】bBurstAck_L(IOBus Extended Burst Ackn
owledge):Slave>Maste,3State… IOバススレーブ
が拡張バーストを行える事を示す。アサート、ネゲート
タイミングはbRdy_Lと同一。
【0118】bBurstShortNotLong_L(IOBus Burst Leng
th):Master>Slave,3State …IOバスマスタが拡張
バーストを行う場合のバースト長を示す。アサート、ネ
ゲートタイミングはbTx_Lと同一であり、信号値とバー
スト長との対応は表5に示したとおりである。
【0119】
【表5】
【0120】IOバス信号は上述の通りである。DoE
ngine内部のバスである、IOバス(及びGバス)
は接続される機能ブロック数が10以上になるので、In
Out分離バスですべてのブロックを接続することは、困
難である。DoEngineでは、チップ内双方向バス
を採用する。 <Gバスインターフェース>図22にGバスインターフ
ェース2006のブロック図を示す。この概要は下記の
通りである。
【0121】(Gバス概要)Gバスは、MFP用1チップ
コントローラDoEngine内部において、各画像デ
ータ処理部間のデータ転送を高速に実行するために定義
されたバスである。64ビットのデータバスをもち、4G
byte(128byte boundary)のアドレス空間をサポートす
る。16ビート(128byte=64ビット x 16) を1ロングバ
ーストとした転送を基本とし、連続して4ロングバース
ト(512byte=16ビート x 4) までを可能とする。(シン
グルビートなど16ビート以下の転送はサポートしな
い) (Gバス信号定義)信号の定義に用いる記号をまず定め
ておく。信号名の直後には、必要に応じて信号の方向が
記述されている。それは次のように定める。 In(Input signal) … バスエージェントに対する入
力信号 Out(Output signal) … バスエージェントからの出
力信号 InOut(Bi-Directional Tri-State signal) … 双方
向の信号で、複数のバスエージェントがドライブする。
一度にひとつのエージェントだけがドライブする。信号
をドライブする各エージェントのイネーブルリクエスト
信号をデフォルトドライバで集中管理し、どのエージェ
ントがドライブするかはデフォルトドライバが決定す
る。どのエージェントもイネーブルリクエストを出さな
い場合や、複数のエージェントが同時にイネーブルリク
エストを出している場合はデフォルトドライバ信号をド
ライブする。エージェントは、信号をロウにドライブす
る場合は、前後1クロックの間ハイにドライブしなけれ
ばならない。信号のアサートはドライブを初めてから1
クロック以上経過してからしか行えない。基本的に信号
のリリースはネゲートした次のクロックで行う。
【0122】なお、各信号名の後の“_L”はその信号が
ローアクティブであることを示す。信号の記述のしかた
は、ほぼIOバス信号の記述に準ずる。説明は、システ
ム信号、アドレス及びデータ信号、インターフェース制
御信号、アービトレーション信号に分けて行う。また、
バスエージェントとは、バスに接続されるバスマスタや
バススレーブの総称である。
【0123】(システム信号) gClk(G-Bus Clock) … Gバス上のすべてのトラン
ザクションについてタイミングを提供し、すべてのデバ
イスに対して入力となる。
【0124】gRst_L(G-Bus Reset) … Gバス上の
すべてのデバイスをリセットする。すべての内部レジス
タはクリアーされ、すべての出力信号はネゲートされ
る。
【0125】(アドレスおよびデータ信号) gAddr[31:7],InOut,(G-Bus Address):Master>Slav
e … Gバス上のデータ転送はすべて128byte(16ビ
ート)単位で行われるため、gAddr[31]〜gAddr[7]の2
5ビットで4Gbyteのアドレス空間をサポートする。 drive:gTs_Lと同時にマスターがドライブ assert:ドライブした次のクロック negate:gAack_Lのアサートを確認したクロック。
【0126】g(Mastename)AddrOeReq(G-Bus Address O
utPut Enable Request):Master>DefaultDriverLogic
… 双方向Gバスを実現するための、デフォルトドラ
イバロジックへの出力信号。バスマスタがアドレスバス
をドライブするための要求信号。
【0127】g(Mastername)AddrOe_L(G-Bus Address O
utPut Enablet):DefaultDriveLogic>Master … g(M
astername)AddrOeReqを出力したバスマスタに対し、デ
フォルトドライバロジックがアドレスバスのドライブを
許可することを示す信号。
【0128】gData[63:0],InOut,( G-Bus Data):D
ataDriver>DataReceiver … 64ビットデータバスで、
ライト時はマスタがドライブ、リード時はスレーブがド
ライブ。
【0129】[ライト]drive:gTs_Lと同時にマスタが
ドライブ。ただし、gSlvBsy_Lがアサートされている時
はネゲートされるまで待ってドライブ。 assert:ドライブした次のクロック。 change:gAack_Lのアサートを確認したクロック、その後
は毎クロック。 negate:転送終了時、またはgTrStp_Lによる転送停止要
求を確認した場合は、gAack_Lのアサートを確認したク
ロック。
【0130】[リード]drive:gAack_Lと同時にスレー
ブがドライブ。 assert:スレーブがReadyであればドライブした次のクロ
ックで、ReadyでなければReadyになるまで待ってアサー
トされる。 change:gAack_Lのアサートを確認したクロック、その後
は毎クロック。リードの場合はアサートしたクロックか
ら毎クロック。 negate:転送終了時。 release:ネゲートの1クロック後、またはgTrStp_Lによ
る転送停止要求を確認したクロック。
【0131】g(DataDrivername)DataOeReq(G-Bus Data
OutPut Enable Request):DataDriver>DefaultDriver
Logic … データドライバがデータバスをドライブす
るための要求信号。
【0132】g(DataDrivername)DataOe_L(G-Bus Data
OutPut Enablet):DefaultDriverLogic>DataDriver
… g(DataDrivername)DataOeReqを出力したデータドラ
イバに対し、デフォルトドライバロジックがデータバス
のドライブを許可することを示す信号。
【0133】(インターフェース制御信号) gTs_L(InOut G-Bus Transaction Sart):Master>Slav
e … マスターにより1クロックの間Lowにアサートさ
れ、転送の開始(アドレスフェーズ)をあらわす。マス
ターはgTs_Lと共に、gAddr,gRdNotWr,gBstCntをドライ
ブし、転送の種類、データ量を明確にする。マスタは、
ライトの場合ここで明確にした転送データ量をウェイト
なしで出せることを保証しなければならない。また、リ
ードの場合は明確にした転送データ量をウェイトなしで
受けることを保証しなければならない。スレーブは途中
でデータ転送ができなくなった場合はgBsStep_Lによ
り、次の16ビートの転送をキャンセルすることがあ
る。ただし、16ビートの途中でキャンセルすることは
ない。 drive:gGnt_Lのアサートを確認したクロックでドライ
ブ。 assert:ドライブした次のクロック。 negate:1クロックアサート後にネゲートされる。
【0134】g(Mastername)TsOeReq(G-Bus Transactio
n Start OutPut Enable Request):Master>DefaultDri
verLogic … バスマスタがgTs_Lをドライブするため
の要求信号。
【0135】g(Mastername)TsOe_L(G-Bus Transaction
Start OutPut Enablet):DefaultDriverLogic>Master
… g(Mastername)TsOeReqを出力したバスマスタに対
し、デフォルトドライバクロックがgTs_Lのドライブを
許可することを示す信号。
【0136】gAack_L,InOut,(G-Bus Address Acknow
ledge):Slave>Master … スレーブにより1クロッ
クの間Lowにドライブされる。該当するスレーブが、転
送を認識し、バスが空いていることを確認して、データ
転送がスタートできることをマスターに知らせる。ライ
トの場合、スレーブはマスタから要求された転送データ
量をウェイトなしで受けることを保証しなければならな
い。またリードの場合は、要求された転送データ量をウ
ェイトなしで出せることを保証しなければならない。万
が一、途中でデータ転送ができなくなった場合は、gBst
Stp_Lにより、次の16ビートの転送をキャンセルする
ことができる。ただし、16ビートの途中でキャンセル
することはできない。 drive:アドレスデコードビット時、gTs_Lのアサートを
確認したクロックでドライブが開始される。ただし、gS
lvBsy_Lがアサートされている時はネゲートされるまで
待ってドライブされる。また、データバス使用中のた
め、まだドライブされていなかった場合は、gTrStp_Lに
よる転送停止要求を確認したクロックでドライブ開始さ
れる。 assert:スレーブがReadyであればドライブした次のクロ
ックで、ReadyでなければReadyになるまで待ってアサー
トされる。gTrStp_Lによる転送停止に対する応答のとき
には、ドライブした次のクロックでアサートされる。 negate:ドライブ後にgTrStp_Lがアサートされた場合
は、gTrStp_Lを確認したクロックでアサートされる。ま
た、1クロックアサート後にネゲートされる。
【0137】g(Slavename)AackOeReq(G-Bus Address A
cknowledge OutPut Enable Request):Slave>DefaultD
riverLogic … スレーブがgAack_Lをドライブするた
めの要求信号。
【0138】g(Slavename)AackOe_L(G-Bus Address Ac
knowledge OutPut Enablet):DefaultDriverLogic>Sla
ve … g(Slavename)AackOeReqを出力したスレーブに
対し、デフォルトドライバロジックがgAack_Lのドライ
ブを許可することを示す信号。
【0139】gSlvBsy_L,InOut,(G-Bus Slave Bus
y):Slave>Master … スレーブがドライブし、デー
タバスでデータを転送中であることをあらわす。 drive:アドレスデコードヒット時、gTs_Lのアサートを
確認したクロックでドライブ開始。ただし、gSlvBsy_L
がアサートされている時はネゲートされるまで待ってド
ライブ。 assert:スレーブがReadyであればドライブした次のクロ
ックで、ReadyでなければReadyになるまで待ってアサー
ト。 negate:転送終了時にネゲート。 release:ネゲートの1クロック後、またはgTrStp_Lによ
る転送停止要求を確認したクロック。
【0140】g(Slavename)SlvBsyOeReq(G-Bus Slave B
usy OutPut Enable Request):Slave>DefaultDriverLo
gic … スレーブがgSlvBsy_Lをドライブするための要
求信号 g(Slavename)SlvBsyOe_L(G-Bus Slave Busy OutPut En
able):DefaultDriverLogic>Slave … g(Slavename)
SlvBsyOeReqを出力したスレーブに対し、デフォルトド
ライバロジックがgSlvBsy_Lのドライブを許可すること
を示す信号。
【0141】gRdNotWr,InOut,(G-Bus Read(High)/Wr
ite(Low)):Master>Slave … マスターによりドライ
ブされ、HighでREAD、LOWでWRITEをあらわす。ドライブ
する期間はGAと同じである。 derive:gTs_Lと同時にマスターがドライブ。 assert:ドライブした次のクロック。 negate:gAack_Lのアサートを確認したクロック。
【0142】g(Mastername)RdNotWrOeReq(G-Bus Read/
Write OutPut Enable Reques):Master>DefaultDriver
Logic … バスマスタがgRdNotWrをドライブするため
の要求信号。
【0143】g(Mastername)RdNotWrOe_L(G-Bus Read/W
rite OutPut Enablet):DefaultDriverLogic>Master
… g(Mastername)RdNotWrOeReqを出力したバスマスタ
に対し、デフォルトドライバロジックがgRdNotWrのドラ
イブを許可することを示す信号。
【0144】gBstCnt[1:0],InOut,(G-Bus Burst Cou
nter):Master>Slave … マスターによりドライブさ
れ、連続して行うバースト転送の数(1〜4)をあらわ
す。信号の値とバースト転送するバイト数との対応は表
6のようになる。 derive:gTs_Lと同時にマスターがドライブ。 assert:ドライブした次のクロック。 negate:gAack_Lのアサートを確認したクロック。
【0145】
【表6】
【0146】g(Mastername)BstCntOeReq(G-Bus Burst
Counter OutPut Enable Request):Master>DefaultDri
verLogic … バスマスタがgBstCntをドライブするた
めの要求信号。
【0147】g(Mastername)BstCntOe_L(G-Bus Burst C
ounter OutPut Enablet):DefaultDriverLogic>Master
… g(Mastername)BstCntOeReqを出力したバスマスタ
に対し、デフォルトドライバロジックがgBstCntのドラ
イブを許可することを示す信号。
【0148】gBstStp_L,InOut,(G-Bus Burst Sto
p):Slave>Master … スレーブによりドライブさ
れ、連続する次のバースト転送を受付不可であることを
あらわす。1バースト(16ビート)の転送の15ビー
ト目にアサートする。ストップしない場合にはドライブ
しない。 drive:14ビート目。 assert:15ビート目。 negate:1クロックアサート後 g(Slavename)BstStpOeReq(G-Bus Burst Stop OutPut E
nable Request):Slave> DefaultDriverLogic … ス
レーブがgBstStp_L上をドライブするための要求信号。
【0149】g(Slavename)BstStpOe_L(G-Bus Burst St
op OutPut Enablet):DefaultDriverlogic>Slave …
g(Slavename)BstStpOeReqを出力したスレーブに対
し、デフォルトドライバロジックがgBstStp_Lのドライ
ブを許可することを示す信号。
【0150】(アービトレーション信号) g(Mastername)Req_L,Out,(G-Bus Request):Master
>Arbiter … マスターによりドライブされ、アービタ
に対してバスを要求する。各マスターデバイスごとに専
用のgReq_Lを持つ。 assert:データ転送が必要なマスターがアサート negate:gGnt_Lを受ければネゲート g(Mastername)Gnt_L,In,(G-Bus GNT):Arbiter>Mas
ter … アービタによりドライブされ、バス要求に対
して次のバス権を与える。各マスタデバイスごとに専用
のgGnt_Lを持つ。プライオリティーの高いバスマスタか
ら順にバス権を与える。同じプライオリティーのマスタ
に対しては、バス要求のあった順番にバス権を与える。 assert:他のマスターにgGnt_Lを与えていない時、また
は次のクロックで他のマスタに与えていたgGnt_Lをネゲ
ートする時に、アービトレーションによって選ばれたマ
スタに対してアサートする。 negate:gAack_Lのアサートを確認したクロック gTrStp_L,In,(G-Bus Transuaction Stop):Arbiter
>Master,Slave …アービタによりドライブされ、gGnt_
Lによりすでにアドレスフェーズを開始されたトランザ
クションを中止する。ただ、すでにgAack_Lによりデー
タフェーズを開始してしまったトランザクションについ
ては中止できない。また、この信号はgAack_Lによりマ
スクがかけられており、gAack_Lがアサートされた時に
は、たとえアサートしていてもネゲートされ出力され
る。 assert:すでにアドレスフェーズを開始したトランザク
ションよりも高いプライオリティのマスタからバス要求
がきた時。 negate:gAack_Lのアサートを確認したクロック (Gバスライトサイクル)Gバスのライトサイクルは次
のようになる。 マスタがバス要求、gReq_Lアサート。 アービタが許可、gGnt_Lアサート。gReq_Lネゲート。 gGnt_Lを受けて、マスタはgTs_L,gAddr,gRdNotWr,gBs
tCnt,をドライブ。 ライト動作の場合、gSlvBsy_Lがアサートされていなけ
れば、同時にgDataもドライブする。gSlvBsy_Lがドライ
ブされていれば、gSlvBsy_Lがフリーになるのを待って
ドライブする。 スレーブはgTs_Lがアサートされている時にアドレス
をデコードし、ヒットすれば自分に対する転送であるこ
とを認識する。この時gSlvBsy_Lが他のスレーブにより
アサートされていなければ、gSlvBsy_LとgAack_Lのドラ
イブを始める。また、リードの場合はgDataもドライブ
する。gSlvBsy_Lが他のスレーブによりアサートされて
いれば、データバスは使用中であるということなので、
ネゲートされるまで待ってドライブを始める。gSlvBsy_
L,gAack_L,(gData)のドライブ開始後、スレーブがデー
タ転送の準備ができれば、それぞれの信号をアサート
し、データ転送を開始する。 gAack_Lがアサートされた時点でアドレスフェーズは
終了し、マスタはgAddr,gRdNotWr,gBstCntをネゲートす
る。また、その時点からマスタはライトデータを毎クロ
ック切り替え、gBstCntで指定されたデータ量だけ転送
を行う。マスタとスレーブは、それぞれ自分でクロック
をカウントして、データ転送の終了を知らなければなら
ない。
【0151】スレーブは転送の途中でマスタから要求さ
れたデータ転送量を転送できなくなった場合は、bStStp
_Lを15ビート目でアサートすることで、次の16ビー
トの転送をキャンセルすることがただし、16ビートの
途中でキャンセルすることはできない。
【0152】マスタおよびスレーブは、gBstStp_Lがア
サートされれば、次のクロックでデータの転送を終了さ
せなければならない。
【0153】<キャッシュインバリデーションユニット
(CIU)>キャッシュインバリデーションユニット
(以下CIU)2005は、IOバスからメモリへのライ
トトランザクションを監視し、これが起こった場合は、
メモリへの書込が終了する前に、CPUシェルのキャッ
シュインバリデーションインターフェースを用い、CP
Uシェルに内蔵されたキャッシュの無効化を行う。
【0154】CPUシェルは、次の3種類の信号を使用
する。 ・SnoopADDR[31:5] (Cache Invalidation Address) ・DCINV (Dcache(データキャッシュ)Invalidation St
robe) ・ICINV (Icache(インストラクションキャッシュ)Inv
alidation Strobe) キャッシュの無効化は最大3クロックで行われる、IO
バスからメモリへのライトは3クロックで終了すること
はないので、キャッシュインバリデーションユニット2
005は、CPUシェル401から出力されるStop_L信号
を用いて無効化終了のハンドシェイクを行うことはしな
い。但し、将来の変更に備え、IOバス上にはbSnoopWa
itをStop_Lと同一サイクルだけドライブする。
【0155】なお、現在のインプリメンテーションで
は、IOバスからのライトが起こった場合は、安全のた
めにIcacheもインバリデーションしている、もし、OS
でセルフモディファイングコードを禁止し、インストラ
クションとして使われる可能性のあるデータのローディ
ング時に、意図的にインストラクションキャッシュのイ
ンバリデーションを行うなら、Icacheのインバリデーシ
ョンはいらない。この場合は若干のパフォーマンスアッ
プが望める。
【0156】<メモリマップ>図23及び図24にメモ
リマップを示す。図23は、左から順に、仮想メモリマ
ップ、物理メモリマップ、Gバスのアドレス空間でのメ
モリマップ、IOバスのアドレス空間でのメモリマップ
である。また、図24は、レジスタ等を含む図23にお
ける斜線部の512メガバイトを示すマップである。
【0157】プロセッサコアのメモリモデルはR3000を
ベースにしている。プロセッサコアの物理アドレス空間
は32ビットアドレッシングにより4Gバイトある。仮
想空間も同様に32ビットアドレッシングを行なう。ユ
ーザープロセスの最大サイズは2Gバイトである。アド
レスマッピングはカーネルモードとユーザーモードで異
なる。図はMMUを使用しない場合のメモリマップであ
る。
【0158】(ユーザーモード仮想アドレッシング)ユ
ーザーモードの仮想アドレッシングでは2Gバイトのユ
ーザ仮想アドレス空間(kuseg)が有効となる。このユー
ザーセグメントのアドレスは0x00000000から始まり、す
べての有効なアクセスは0にクリアされたmsbを持つ。
ユーザーモードにおいてmsbをセットしたアドレスの参
照はアドレスエラー例外処理を引き起こす。TLBはkuseg
へのすべての参照をユーザーモードとカーネルモードで
同様にマッピングする。また、キャッシャブルである。
kusegは通常ユーザーコードやデータを保持するために
使用される。
【0159】(カーネルモード仮想アドレッシング)カ
ーネルモードの仮想アドレス空間には4つのアドレスセ
グメントを持っている。 ・kuseg 仮想アドレスの0x00000000から2Gバイト。
ページと単位としたキャッシングとマッピングが可能。
このセグメントはカーネルメモリアクセスとユーザーメ
モリアクセスでオーバーラップしている。 ・kseg0 仮想アドレスの0x80000000から512Mバイ
ト。物理メモリの最初の512Mバイトにダイレクトに
マップされる。参照はキャッシュされるが、アドレス変
換にはTLBは使われない。kseg0は通常カーネルの実行コ
ードやカーネルデータのために使用される。 ・kseg1 仮想アドレスの0xA0000000から512Mバイ
ト。物理メモリの最初の512Mバイトにダイレクトに
マップされる。参照はキャッシュされず、アドレス変換
にはTLBは使われない。kseg1は通常OSによって、I/O
レジスタ、ROMコード、ディスクバッファのために使
用される。 ・kseg2 仮想アドレスの0xC0000000から1Gバイト。k
usegと同様、TLBにより仮想アドレスから物理アドレス
にマップされる。キャッシングは自由。OSは通常kseg
2をスタックやコンテキストスイッチによるリマップが
必要なプロセス毎のデータのために使用する。
【0160】(仮想アドレスメモリマップ(図23
(a),図24(a)))仮想アドレス空間は4Gバイ
トあり、システム上のすべてのメモリ、I/Oがアクセス
可能である。kusegにはSYSTEM MEMORY(1GB)が存在す
る。
【0161】kseg0には内蔵RAM(16MB)が存在する。
これは、例外処理のベクタをプログラミングしたい場合
にインプリメントし、例外ベクタベースアドレスを0x80
000000に設定する。このアドレスは物理アドレス空間の
0x00000000にマッピングされる。
【0162】kseg1にはROM,I/O,レジスタが存
在し、ブートROM(16MB),SBB内部レジスタとMC
内部レジスタ(16MB),IOBusI/O1(16MB:Gバスアービタ
内部レジスタ、IOバスアービタ内部レジスタ、PMU内
部レジスタなどのプリミティブなIOバスレジスタ),IO
BusI/O2(16MB),IOBusMEM(16MB),Gbus MEM(32MB),FONT R
OM(240MB)、FONT ROM or RAM(16MB)が含まれる。
【0163】kseg2にはPCI I/O(512MB),PCI MEM(512MB)
が存在する。
【0164】kseg0,kseg1はどちらも物理アドレス空間
の最初の512Mバイトにマッピングされるため、kseg0,ks
eg1とkusegの最初の512Mバイトはすべて同じ物理アドレ
ス空間を参照していることになる。
【0165】(物理アドレスメモリマップ(図23
(b),図24(b)))物理アドレス空間も仮想アド
レス空間と同様4Gバイトあり、システム上のすべての
メモリ、I/Oがアクセス可能である。
【0166】PCI I/O,PCI MEM,SYSTEM MEMORYについて
は仮想アドレスメモリマップと同一である。
【0167】kseg1,kseg2はどちらも物理アドレス空間
の最初の512Mバイトにマッピングされるので、ROM,I/O,
Regは0x00000000からの空間に存在している。
【0168】(Gバスメモリマップ(図23(c),図
24(c)))Gバスアドレス空間は4Gバイトあり、
SYSTEM MEMORY,GBus MEM,FONTのみがアクセス可能であ
る。
【0169】(IOバスメモリマップ(図23(d),
図24(d)))IOバスアドレス空間は4Gバイトあ
り、PCI I/O,PCI MEM,SYSTEM MEMORY,IOBusI/O2,IOBus
MEM,FONTのみがアクセス可能である。
【0170】IOBus I/O1はプリミティブなレジスタのた
め、0x1C000000から0x20000000までの空間はPCIからプ
ロテクトがかけられており、PCIからアクセスできな
い。
【0171】<アドレススイッチ>アドレススイッチ2
003は、Pバス,Gバス,IOバス,MCバス間のデー
タ転送を行なうために、マスターとなるバスからスレー
ブとなるバスへ、SBB402を経由してアドレス信号
を送るためのものである。SBB402を経由する転送
において、マスターとなり得るバスは、Pバス,Gバス,
IOバスであり、スレーブとなり得るバスはIOバス,
MCバスである。MCバスに対してはPバス,Gバス,I
Oバス,のいずれかがマスターとなり、IOバスへはP
バスのみがマスターとなってアドレス信号を送る。
【0172】また、Pバス-IOバス間の転送と、Gバ
ス-MCバス間の転送は同時に行なうことができる。
【0173】図25に、アドレススイッチ2003のブ
ロック図を示す。スイッチシーケンサ2003aによ
り、スイッチ2003bを切り替えてスレーブをIOバ
スとMCバスとで切り換え、スイッチ2003cを切り
替えてマスタをPバス,Gバス,IOバスで切り換え
る。この構成により、MCバスに対してはPバス,Gバ
ス,IOバス,のいずれかがマスターとなり、IOバスへ
はPバスのみがマスターとなり、また、Pバス-IOバ
ス間の転送と、Gバス-MCバス間の転送は同時に行な
うことができる。
【0174】<データスイッチ>データスイッチはPバ
ス,Gバス,IOバス,MCバス間のデータ転送を行なう
際に,SBB内でデータの流れを切り替えるものであ
る。ライト時はマスターからスレーブ、リード時はスレ
ーブからマスターへデータが送られる。
【0175】図26にデータスイッチ2004のブロッ
ク図を示す。この構成において、セレクタA−1〜A−
3及びB−1,B−2を表7のように切り替えること
で、Pバス,Gバス,IOバスのいずれかをマスタと
し、IOバス,MCバスのいずれかをスレーブとして、
書き込みあるいは読み出しを行うように制御できる。
【0176】
【表7】
【0177】<アービトレーション>SBB402内の
スイッチシーケンサ2003aは、各スイッチを切り替
えるにあたって、SBB外部からの以下の3種類の接続
要求間のアービトレーションを行う。 1.CPU 2.Gバスバスマスタ 3.IOバスバスマスタ このアービトレーションは、現在のバススイッチ接続状
況、及び、あらかじめ設定された優先順位により決定さ
れ、その結果アドレススイッチ、データスイッチの接続
が切り替えられる。
【0178】<タイミングダイアグラム>図27〜図3
2にタイミング図を示す。図27はGバスからの書き込
み/読み出しサイクルのタイミング図、図28はGバス
のバースト停止サイクルのタイミング図、図29〜図3
2は、Gバスのトランザクション停止サイクルのタイミ
ング図である。
【0179】2.6.PCIバスインターフェース 図33は、PCIバスインターフェース416のブロッ
ク図である。
【0180】PCIバスインターフェース416は、Do
Engine内部汎用IOバスであるIOバスと、チップ
外部IOバスであるPCIバスの間をインターフェースする
ブロックである。入力ピン設定により、リセット時にPC
Iバスコンフィギュレーション発行可能な、ホストブリ
ッジ構成と、PCIバスコンフィギュレーションは発行し
ないターゲット構成とを切り替えることができる。
【0181】IOバスインターフェースのマスタDMAコ
ントローラ3301は、PCIバスシグナルインターフェ
ース3302を介してPCIバスマスタからDoEngi
ne内部のリソースにアクセス要求があった場合に、I
Oバスマスタとしてこのアクセス要求をIOバス内部に
ブリッジする。
【0182】更に、このマスタDMAコントローラ330
1は、PCIバス上でマッピングされるメモリからDoE
ngineMemoryへのDMA転送を行う事が出来る。この
際、プログラマが意図したIOバスDMAと、GバスDMAの
アクセスの順番を守って動作させるために、転送先アド
レス(bPciAddr[31:0])と、PCIマスターコントローラ3
301のID信号(bPciID)を、IOバスとアービトレーシ
ョンシーケンサに対して、バスリクエストと同時に発行
する。
【0183】マスタDMAコントローラ3301はバスグ
ラント(bPciBGnt_L)を受け取り、バスを使用しデータ転
送が終了した時点で、ID信号(bPciID)のアサートを取
りやめる。
【0184】なお、PCIバスは、33MHz,32ビット,PCI
2.1準拠とする。
【0185】2.7.Gバスアービタ 図34は、Gバスアービタ(GBA)406のブロック
図である。
【0186】Gバスのアービトレーションは、中央アー
ビトレーション方式であり、各バスマスタに対して専用
のリクエスト信号(g(mastername)Req_L)とグラント信号
(g(mastername)Gnt_L)を持つ。図34は、masternameは
M1〜M4となっている。Busアービタ406は、Gバス上
のバスマスタを4つまでサポートしており、以下のよう
な特徴を持つ。 ・アービタ内部のレジスタ3401aの設定によりアー
ビタをプログラミングすることが出来る。レジスタ設定
はIOバスより行なう。 ・すべてのバスマスタを同じ優先権として、公平にバス
権を与える公平アービトレーションモードと、いずれか
ひとつのバスマスタの優先権を上げ、優先的にバスを使
用させる優先アービトレーションモードがある。どのバ
スマスタに優先権を与えるかはレジスタ3401bの設
定により決定される。 ・優先バスマスタが連続してバスを使用することができ
る回数を設定することが可能。 ・すでにアドレスフェーズを開始したが、データフェー
ズをまだ開始していないトランザクションについて、そ
のトランザクションをストップするためのトランザクシ
ョンストップサイクルをサポート。 ・複数のバスマスタにおける順序処理のプログラミング
ができる(後述)。プログラムされた順序は、レジスタ
テーブル3401aに格納される。 ・GバスマスタとIOバスマスタが同一メモリアドレス
に順次書き込みを発行した場合に、プログラマの意図し
たアクセス順序を維持するための機構として、同期ユニ
ットからのマスタID信号、ストップ信号に基づき、特定
のマスタに対し、バス使用許可を与えることを保留する
機構を持つ。
【0187】なお、レジスタへのプログラミングは、I
Oバスを介してCPU401から行われる。
【0188】(アービトレーションシーケンサ)Gバス
アービタの中核となるアービトレーションシーケンサ3
402a,bは、1つの優先マスタとその他の4つの非
優先マスタの間で5つのマスタによるアービトレーショ
ンを行なう。4つのバスマスタからのリクエスト信号と
グラント信号を、リクエストディスパッチ回路3403
とグラントディスパッチ回路3404によって4つの非
優先マスタに割り付けることにより、公平アービトレー
ションモードが実現される。また、4つのバスマスタの
うちのひとつを、高優先アービトレーションシーケンサ
3402aの優先マスタに割り付けることで、優先アー
ビトレーションモードとして動作する。これらの割り付
けは、レジスタ3401a,bの設定にしたがって行わ
れる。これにより、優先バスマスタは、他のマスタより
高い確率でバスの使用権を取得することが出来る。
【0189】さらに、バスの取得機会確率の調整に加
え、高優先シーケンサ3402aに割り当てられたマス
タは、連続してバスを使用する事が出来、連続して使用
出来る回数をプログラマブルなレジスタにより可変する
事ができる。これは、バスの占有率を調整出来、ある特
定のマスタにより多くバスを使用させる様に出来ること
を意味する。
【0190】(公平アービトレーションモード)このモ
ードでは、すべてのバスマスタは同じ優先順位にあり、
バス権を与えられる機会は公平である。バスがフリーの
時は、一番最初にリクエストを出したバスマスタがバス
権を得ることができる。また、複数のバスマスタが同時
にリクエストを出した場合は、あらかじめ決められた順
序にしたがって順次バス権が与えられる(ラウンドロビ
ン方式)。例えば、M1からM4までのすべてのバスマ
スタが同じクロックでリクエストを出した場合は、M1
→M2→M3→M4といった順序でバス権が与えられ
る。M4のトランザクションの終了時に再びすべてのバ
スマスタがリクエストを出している場合は、M1→M2
→M3→M4→M1→M2…というように、同様の順序
でバス権を与えていく。一部のバスマスタがリクエスト
を出している場合は、M4からM1へラウンドラップす
るとして、最後にバスを使用したマスタにもっとも近い
大きい番号を持ったマスタへグラントを与える。
【0191】一度バス権が他のバスマスタに移ると、他
にリクエストを出しているすべてのバスマスタにバス権
を与えた後でないと再びバス権を得ることができない。
【0192】(優先アービトレーション)このモードで
は、ひとつのバスマスタ(レジスタ3401bに登録さ
れたバスマスタ)が他のバスマスタよりも高い優先権を
持つ優先バスマスタになり、他のバスマスタに比べ優先
的にバス権が与えられる。優先バスマスタ以外のバスマ
スタの優先順位はすべて同じである。
【0193】複数のバスマスタがリクエストを出してお
り、また優先バスマスタが連続したリクエストを行う場
合、優先バスマスタと他の非優先バスマスタは交互にバ
ス権を得る。
【0194】非優先バスマスタから他のバスマスタにバ
ス権が移ると、他にリクエストを出しているすべてのバ
スマスタにバス権を与えた後でないと、その非優先バス
マスタは再びバス権を得ることができない。
【0195】(トランザクション・ストップ・サイク
ル)優先アービトレーションモードにおいて、優先バス
マスタがリクエストを出した時、すでに他のバスマスタ
がアドレスフェーズを開始していても、データフェーズ
をまだ開始していなければ、そのトランザクションをス
トップし、優先バスマスタがバス権を得ることができ
る。ただし、その直前に優先バスマスタがバス権を持っ
ていた場合は、連続したバス権を得ることができる回数
を超えることはできない。
【0196】優先バスマスタのトランザクションが終了
した時、中止されたバスマスタがリクエストを出してい
れば、優先してバス権が与えられる。
【0197】(優先バスマスタの切り替え)優先バスマ
スタの切り替えを行なうには、レジスタ3401bを書
き換えればよい。優先バスマスタを選択するレジスタが
書き換えられると、その時に実行中のトランザクション
の終了を待って、優先バスマスタが切り替えられる。ア
ービタのステートはアイドル状態にもどり、その時点で
リクエストを出していたバスマスタは、その時同時にリ
クエストを出したものとして、あらためてアービトレー
ションが行われる。
【0198】優先バスマスタの切り替えには十分注意を
払う必要がある。優先させるべきバスマスタのDMAが終
了しないうちに、異なったバスマスタに優先バスマスタ
を切り替えてしまうと、最初の優先バスマスタのDMAの
優先度が下がってしまう。もしも最初の優先バスマスタ
の優先度を下げたくないのであれば、DMAが終了したの
を確認してから優先バスマスタの切り替えを行なう必要
がある。
【0199】優先バスマスタ切り替えを、システムブー
ト時のみでなく、システム稼働中も動的に行う必要のあ
るソフトウェアでは、優先バスマスタの切り替えは、い
ったんGバス上に新たなDMAリクエストが発生しないよ
う、すべてのバスマスタ及びDMAコントローラに対する
設定を中止し、その後、Gバスアービタ406内のレジ
スタに適切な値をセットし、さらに、Gバスアービタ4
06内のステータスレジスタをチェックし、バスマスタ
の優先権が切り替わったのを確認した上で新たなGバス
上へのアクセス及びDMAの起動を行うべきである。
【0200】優先バスマスタの動的切り替えは、オペレ
ーティングシステムの実時間保証、タスクの優先順位の
設定を変化もしくは違反させてしまう可能性があり、十
分な考慮の上行われなければならない。
【0201】(順序処理)図35は、DoEngine
400内におけるGバス404を中心とする、Gバス上
のバスマスタによるDMAに係るブロック図である。
【0202】複数のバスマスタが順次に処理を行うこと
が必要な場合、例えば、メモリ3501上のデータに対
して、バスマスタ1により処理Aを行った後、バスマス
タ2により処理Bを行い、その処理後のデータをバスマ
スタ4に送るといった一連の処理を考える。
【0203】この処理を行うソフトウェア、すなわちC
PU401により実行されるプログラムにより、IOバ
ス405を介して、バスアービタ406内のレジスタテ
ーブル3401aに、バスマスタがバスを使用する順序
と、バス権の付与の開始条件と、終了条件がセットされ
る。この例では、 というようにセットする。すなわち、Gバスアービタ4
06は、それぞれのバスマスタから、開始条件として設
定された信号を受けるとそのバスマスタにバス使用権を
与え、終了条件として設定された信号を受けるとバス使
用権を奪う。
【0204】ソフトウェアはそれぞれのバスマスタにDM
Aをセットする。それによって、それぞれのマスタはG
バスアービタ404に対してリクエスト(g(mastername)
Req_L)を発行する。Gバスアービタ404はレジスタテ
ーブル3401aに登録された順序に従ってバスマスタ
1にバス権を与える(gM1Gnt_L)。バスマスタ1はメモリ
3501からある単位のデータをリードし、処理Aを行
って、バスマスタ1内部のバッファにデータをライトす
る。バスマスタ1はひとつの単位の処理が終了し、バッ
ファの準備ができたことをgM1BufReady信号によりアー
ビタ406に対して通知する。
【0205】アービタ406はそれを受け、レジスタテ
ーブル3401aに登録された、バスマスタがバス権を
与える条件とバス権を奪う条件にしたがって、バス権を
バスマスタ1から奪いバスマスタ2に与える。バスマス
タ2はバスマスタ1のバッファのデータをリードし、処
理Bを行って、バスマスタ2内部のバッファにデータを
格納する。この間にバスマスタ1のバッファが空になる
とgM1BufEmptyがアサートされ、アービタ406はバス
マスタ2にバス権を与えていたのを取りやめる。バスマ
スタ2は処理Bを行って、バッファの準備ができるとgM
2BufReady信号により通知する。
【0206】アービタ406はそれを受け、レジスタ3
401aの内容にしたがって、今度はバスマスタ4にバ
ス権を与える。バスマスタ4はバスマスタ2のバッファ
からデータをリードする。バスマスタ2のバッファが空
になると、gM2BufEmptyによってアービタ406に通知
し、アービタ406はそれを受け、レジスタ3401a
の内容に従って再びバスマスタ1にバス権を与え、次の
データの処理を始める。
【0207】それぞれのバスマスタにセットされたDMA
がすべて終了すると、それぞれのバスマスタはプロセッ
サに割り込みによって通知する。ソフトウェアはすべて
のバスマスタからの終了通知がそろったとき、一連の処
理が終了したことを知る。
【0208】以上説明した動作は完全順次モードでの動
作であり、順次処理に関わるバスマスタ以外のバスマス
タは、バスを使用することができない。この順次処理中
でも、順次処理に関係のないバスマスタがバスを使用す
ることを可能にするために優先順次モードが用意されて
いる。これらのモードの切り替えではアービタ406内
部のレジスタにプログラミングすることによって行な
う。優先順次モードでは、順次処理を行なうバスマスタ
は優先的にバスを使用できるが、順次処理に関わらない
バスマスタであればバスを使用することが許される。順
次処理を行なうバスマスタと関わらないバスマスタの間
のアービトレーションは、前述した優先アービトレーシ
ョンモードと同等である。当然、順次処理に係わるバス
マスタで、バス権を与えられる条件が満足されずに自分
の順番が回ってきていないバスマスタにはバス権は与え
られない。
【0209】(アクセス順序を維持するための機構)信
号stopSpcがアサートされた場合は、Gバスマスタのひ
とつであるスキャナプリンタコントローラ408はアー
ビトレーションの対象から除外され、たとえリクエスト
をアサートしていてもバス使用権を与えられることはな
い。アービトレーションはこのマスタを除外したマスタ
間で行われる。詳細な説明はIOバスアービタの節で行
なう。
【0210】<タイミングダイアグラム>図36〜図3
9において、Gバスアービトレーションのタイミングを
説明する。図36は、連続してバスを使用する回数が、
バスマスタ1〜4のすべてについて1に設定されている
場合の公平アービトレーションモード(フェアモード)
の例である。バスマスタ1による2回目の(タイミング
4から出されている)バス要求は、バス要求を出してい
る他のバスマスタがすべて1回ずつ処理されるまで待た
されている。
【0211】図37は、連続してバスを使用する回数
が、バスマスタ1についてのみ2であり、他のバスマス
タは1に設定されている場合の公平アービトレーション
モードの例である。バスマスタ1が出している2回目の
(タイミング4から出されている)バス要求は1回目の
要求に続いて直ちに許可され、他のバスマスタはその処
理がすむまで待たされている。
【0212】図38は、連続してバスを使用する回数が
それぞれ1ずつであり、バスマスタ1が優先バスマスタ
と設定されている場合の優先アービトレーションモード
の例である。優先バスマスタと非優先バスマスタとは交
互にバス使用権が認められるために、バスマスタ1の2
回目のバス要求はバスマスタ2のバスの使用後に認めら
れており、バスマスタ4のバス要求は、バスマスタ1の
2回目のバスの使用後に認められている。また、バスマ
スタ2の2回目のバス要求は、バス要求を出している他
のすべてのバスマスタ、図38ではバスマスタ1及びバ
スマスタ4のバス使用が終了した後で認められている。
【0213】図39は、バスマスタ1からのバス要求に
より、バスマスタ4のバス要求が許可されているにもか
かわらず中断された例である。この場合、バスマスタ1
のバス使用が終了すると、バスマスタ2のバス要求に優
先してバスマスタ4のバス要求が認められる。
【0214】2.8.IOバスアービタ 図40は、IOバスアービタ407のブロックである。
【0215】IOバスアービタ407は、DoEngi
ne内部のIO汎用バスであるIOバス405のバス使
用要求を受け付け、調停の後、使用許可を選択された一
つのマスタに対して与え、同時に2つ以上のマスタがバ
スアクセスを行う事を禁止する。
【0216】アービトレーション方式は、3段階のプラ
イオリティを持ち、それぞれのプライオリティに複数の
マスタをプログラマブルに割り当てられる構成になって
いる。割り当ては、それぞれ最大で、最高のプライオリ
ティに3マスタ、中間に7マスタ、最低レベルに3マス
タとなる。
【0217】また、GバスマスタとIOバスマスタが、
同一メモリアドレスに順次書き込みを発行した場合に、
プロブラマの意図したアクセス順序を維持するための機
構として、同期ユニットからの、マスタID信号、スト
ップ信号に基づき、特定のマスタに対し、バス使用許可
を与えることを保留する機構を持つ。
【0218】(アービトレーションシーケンサ)IOバ
スアービタは3つのアービトレーションシーケンサ40
02,4003,4004から構成される。それぞれ、
高優先権、中優先権、低優先権を持ち、それぞれのシー
ケンサ内に、3,7,3本のバスマスタ用アービトレー
ションシーケンサが内蔵される。IOバス上のすべての
バスマスタになる可能性のあるユニットからのリクエス
ト信号とそれらへのグラント信号を、リクエストセレク
タとグラントセレクタによって、これらの3つのシーケ
ンサユニットに分配する。この分配は、BBusインタ
フェース4005内のソフトウェアプログラマブルなレ
ジスタ4005aにより、複数の組み合わせのなかか
ら、一意の組み合わせを選択することが出来る。
【0219】たとえば、最大7つのマスタのリクエスト
を中優先アービトレーションシーケンサ4003に接続
することにより、7つのマスタ間で公平なアービトレー
ションが実現される。また、バスマスタのうちのいくつ
かを、高優先アービトレーションシーケンサ4002に
割り付けることで、これらのマスタは他のマスタより、
より高い確率でバスの使用権を取得することが出来る。
さらに、いくつかのリクエストを低優先シーケンサ40
04に接続することで、これらのバスの使用率を低く抑
える事が出来る。さらに、バスの取得機会確率の調整に
加え、高優先シーケンサ4002に割り当てられたマス
タは、連続してバスを使用する事ができ、連続して使用
出来る回数をプログラマブルなレジスタ4005aによ
り可変する事ができる。これは、バスの占有率を調整で
き、ある特定のマスタにより多くの時間バスを使用させ
る様に出来る事を意味する。
【0220】(公平バスアービトレーション方式)中優
先シーケンサ4003を例にとり、公平アービトレーシ
ョンの実現方法を説明する。一つのシーケンサに接続さ
れたすべてのバスマスタは同じ優先順位にあり、バス権
を与えられる機会は公平である。バスがフリーの時は、
一番最初にリクエストを出したバスマスタがバス権を得
ることができる(ファーストカムファーストサーブ)。
また、複数のバスマスタが同時にリクエストを出した場
合は、あらかじめ決められた順序にしたがって順次バス
権が与えられる(同時リクエスト発行時ラウンドロビ
ン)。例えば、M1からM7までのすべてのバスマスタ
が同じクロックでリクエストを出した場合は、M1→M
2→M3→M4→M5→M6→M7といった順序でバス
権が与えられる。M7のトランザクションの終了時に再
びすべてのバスマスタがリクエストを出している場合
は、M1→M2→M3→M4→M5→M6→M7→M1
→M2というように、同様の順序でバス権を与えてい
く。一部のバスマスタがリクエストを出している場合
は、M7からM1へラウンドラップするとして、最後に
バスを使用したマスタにもっとも近い大きい番号を持っ
たマスタへグラントを与える。
【0221】(優先アービトレーション)IOバスイン
ターフェースは、高優先、中優先、低優先の3つのアー
ビトレーションシーケンサが存在する。優先順位をつけ
たアービトレーションは、複数のバスリクエストを選択
的に、高優先、低優先、のアービタに割り振ることによ
り実現される。
【0222】たとえば、ひとつのマスタを高優先に割り
当て、残りを中優先に割り当てることにより、ひとつの
バスマスタが他のバスマスタよりも高い優先権を持つ優
先バスマスタになり、他のバスマスタに比べ優先的にバ
ス権が与えられる。同じ優先権のアービトレーションシ
ーケンサに割り当てられたバスマスタの優先順位はすべ
て同じである。
【0223】複数のバスマスタがリクエストを出してお
り、また優先バスマスタが連続してリクエストを行う場
合、優先バスマスタと他のバスマスタは交互にバス権を
得る。M3が優先マスタでM1,M2,M3,M4がリ
クエストを出し続けた場合M3→M1→M3→M2→M
3→M4→M3→M1の順でバス使用権を与える。
【0224】また、高優先バスマスタは、アービタ内の
プログラマブルなレジスタにあらかじめ設定された回数
だけ連続したバス権を得ることができる。連続したバス
を使用出来る回数は最大で4回である。
【0225】優先バスマスタ以外のバスマスタから他の
バスマスタにバス権が移ると、そのバスマスタは、他に
リクエストを出しているすべてのバスマスタにバス権を
与えた後でないと再びバス権を得ることができない。ひ
とつのバスマスタが連続してリクエストを行う場合、他
にリクエストを行っているバスマスタがいなければ、連
続してバス権を得ることができるが、他のバスマスタが
リクエストを行っていれば、そのバスマスタはあらかじ
め設定された回数だけ連続してバス権を得ることができ
る。一度バス権が他のバスマスタに移ると、他にリクエ
ストを出しているすべてのバスマスタにバス権を与えた
後でないと再びバス権を得ることができない。
【0226】低優先アービトレーションシーケンサ40
04には最大3本のリクエストを割り当てる事が出来
る。低優先シーケンサ4004に割り当てられたマスタ
へは、中優先、高優先シーケンサに割り当てられた、す
べてのマスタのリクエストがなくならないと、バスの使
用権が与えられない。このシーケンサへのバスマスタの
割り当ては十分な注意を持って行われなければならな
い。
【0227】(優先バスマスタの切り替え)優先バスマ
スタの切り替えを行なうには、アービタ内のレジスタを
書き換えればよい。優先バスマスタを選択するレジスタ
が書き換えられると、その時に実行中のトランザクショ
ンの終了を待って、優先バスマスタが切り替えられる。
アービタのステートはアイドル状態にもどり、その時点
でリクエストを出していたバスマスタは、その時同時に
リクエストを出したものとして、あらためてアービトレ
ーションが行われる。
【0228】切り替えには十分注意を払う必要がある。
優先させるべきバスマスタのDMAが終了しないうちに、
異なったバスマスタに優先バスマスタを切り替えてしま
うと、最初の優先バスマスタのDMAの優先度が下がって
しまう。もしも最初の優先バスマスタの優先度を下げた
くないのであれば、DMAが終了したのを確認してから優
先バスマスタの切り替えを行なう必要がある。
【0229】優先バスマスタ切り替えを、システムブー
ト時のみでなく、システム稼働中も動的に行なう必要の
あるソフトウェアでは、優先バスマスタの切り替えは、
いったんIOバス上に新たなDMAリクエストが発生しな
いよう、すべてのバスマスタ及びDMAコントローラに対
する設定を中止し、その後、IOバスアービタ407内
のレジスタに適切な値をセットし、さらに、IOバスア
ービタ内のステータスレジスタをチェックし、バスマス
タの優先権が切り替わったのを確認した上で新たなIO
バス上へのアクセス及びDMAの起動を行うべきである。
【0230】優先バスマスタの動的切り替えは、オペレ
ーティングシステムの実時間保証、タスクの優先順位の
設定を変化もしくは、違反させてしまう可能性があり、
十分な考慮の上行われなければならない。
【0231】(アクセス順序制御機構)IOバスアービ
タ407はアクセス順序制御機構を含む。アクセス順序
制御機構は、同期ユニット4001と、IOバスアービ
タ407,Gバスアービタ406内に組み込まれたバス
使用権発行抑制機構によって実現される。IOバスアー
ビタ407内に組み込まれたバス使用権発行抑制機構
は、Gバスアービタのそれと同様に動作する。つまり、
stopPci信号が入力された場合は、Pciバスマスタからの
バスリクエストが発行され、アービトレーションの結
果、このマスタにバスの使用権を与えることが可能な状
態でも、バスの使用権発行は行わず、他のマスタへバス
使用権をあたえる。具体的には、stopPci信号が入力さ
れた場合は、直ちにbPciReq_Lをマスクすることにこれ
を行う。
【0232】LANコントローラ414からのバスリクエ
ストおよび、ストップ信号の場合もまったく同様に動作
する。図41に同期ユニット4001のブロック図を示
す。同期ユニット内には複数のDMAマスタ間すべての組
み合わせに関して、それぞれコンペアユニット4101
〜4103が接続される、DoEngineでは、Gbu
s上のDMAマスタはスキャナ/プリンタコントローラ40
8のみ存在する。IOバス上には、DMAPCIユニット、LA
Nユニットの二つが存在する。SBB内のIOバスイン
ターフェースはIOバス上のバスマスタであるが、メモ
リには直接アクセスしないので、同期ユニット4001
にはIDと転送先アドレスを出力しない。
【0233】図42に同期ユニット内の一つコンペアユ
ニット(Comparation Unit 1)を以下に示す。他のコン
ペアユニットも同様の構成を有する。
【0234】PCIインターフェース416に付属するDMA
ブロックもしくは、スキャナ/プリンタコントローラ4
08から、同期ユニット4001に対し、DMAライトが
プログラミングされた時点で、転送先のアドレスとその
DMAブロック固有のリクエスト信号が通知される。
【0235】各コンペアユニットは、各DMAブロックか
らリクエストが出力された時点で、アドレスを内部に持
つタイマによる現在時刻とともに記憶する、次に他のDM
Aブロックから、DMAライトに関するアドレスとリクエス
トが入力された時点で、コンペアユニットは両アドレス
を比較する。一致した場合にはさらに、それぞれのレジ
スタに格納された時間を比較し、時間的に後からDMAラ
イトの要求を出してきたDMAブロックが接続されたバス
のバスアービタに対し、このマスタに対するバス使用強
化を与えないようにする。これは、stop(ID)という信号
により各バスのバスアービタに通知される。
【0236】各バスアービタはstop(ID)信号により通知
されたマスタに対しては、アービトレーションによるバ
ス使用権の割り当てを行わない。
【0237】時間が経過し、先にアクセス要求を行った
バスマスタにより当該メモリアドレスへのDMAライトが
終了すると、先のマスタは、同期ユニットに対するリク
エストを取り下げる、同期ユニットは、2番目にDMAラ
イトの要求を出した、DMAブロックの接続するバスのバ
スアービタに対し、このDMAブロックへの、バス使用権
許可禁止信号の発行をとりさげる。そして、後からDMA
ライトを行うべきマスタのDMAライトが行われる。
【0238】双方のDMAライトが終了し、双方のリクエ
ストが取り下げられると、タイマーがリセットされる。
タイマーのカウントアップは再度どちらかのマスタから
のリクエストが出力された時点で再度行われる。
【0239】2.9.スキャナ/プリンタコントローラ 図43は、スキャナ/プリンタコントローラ408のブ
ロック図である。
【0240】図において、スキャナ/プリンタコントロ
ーラ408は、VideoI/Fによってスキャナおよびプリン
タと接続され、内部バスGバスおよびIOバスにインタ
ーフェースするブロックである。大別して以下の8つの
ブロックから構成される。 1.スキャナ制御ユニット4303…ビデオI/Fを介し
てスキャナの動作制御を行う。 2.プリンタ制御ユニット4304…ビデオI/Fを介し
てプリンタの動作制御を行う。 3.スキャナ系画像処理ユニット4305…スキャナか
ら入力される画像データに対して画像処理を行う。 4.プリンタ系画像処理ユニット4308…プリンタに
出力する画像データに対して画像処理を行う。 5.スキャナ/ビデオ同期ユニット4306…スキャナ
から入力する画像データに対して、入力の同期タイミン
グを生成する。 6.プリンタ/ビデオ同期ユニット4307…プリンタ
に出力する画像データに対して、出力タイミングを生成
する。プリンタとスキャナが同期可能な組み合わせの場
合、スキャナ/ビデオ同期制御ユニット4306ととも
にコピー動作のビデオタイミングを生成する。 7.データ転送制御ユニット4302…データ転送の動
作制御を行う。DMA動作ではマスターおよびスレーブの
両動作をサポートする。 8.Gバス/IOバス インターフェースユニット430
1…GバスおよびIOバスとスキャナ、プリンタコント
ローラを接続するインターフェースユニットである。デ
ータ転送制御ユニット4302とLバスによって接続さ
れる。
【0241】<スキャナ/ビデオ同期制御ユニット43
06>図44にスキャナ/ビデオ同期制御ユニット43
06のブロック図を示す。
【0242】(スキャナ/ビデオ同期制御ユニットの概
要)スキャナ/ビデオ同期制御ユニット4306は、ス
キャナから入力される画像データの垂直同期信号(SV
SYNC)、水平同期信号(SHSYNC)、画像デー
タ同期クロック(SVCLK)により、画像データの取
り込みタイミング信号、画像処理のためのタイミング信
号、転送バッファであるFIFOヘ書き込みタイミング
信号(SCFWR)を生成する。
【0243】また、画像データの主走査方向の遅延、取
り込みピクセル数、副走査方向の遅延、取り込みライン
数を管理する。設定量の画像データ取込を終了したタイ
ミングでの状態信号(SALLEND)を生成する。ラ
インカウンタ4401は副走査方向の遅延と取り込みラ
イン数を管理して、画像読み取り有効ラインの垂直同期
信号(SEFHSYNC)を生成する。ピクセルカウン
タ4402は主走査方向の画像取り込み遅延と取り込み
画素数を管理する。取り込んだ画像データをFIFOに
格納するための書き込みタイミング信号(SCFWR)
を生成する。ページカウンタ4403は入力される画像
データページ単位で管理する。設定されたページ数分の
画像データ入力を終了すると、終了信号(SALLPE
ND)を生成する。
【0244】ラインカウンタ4401,ピクセルカウン
タ4402,ページカウンタ4403の各設定値はコン
トロールレジスタ4310によって読み書きされる。 ・ライトデータ :IFWDATA[31:0] ・リードデータ :IFRDATA[31:0] ・ラインカウンタライト信号 :SLCSET ・ラインカウンタリード信号 :SLCRD ・ピクセルカウンタライト信号:SPCSET ・ピクセルカウンタリード信号:SPCRD ・ページカウンタライト信号 :SPAGESET ・ページカウンタリード信号 :SPAGERD <プリンタ/ビデオ同期制御ユニット4307>図45
は、プリンタ/ビデオ同期制御ユニット4307のブロ
ック図である。
【0245】(プリンタ/ビデオ同期制御ユニットの概
要)プリンタ/ビデオ同期制御ユニット4307は、プ
リンタから入力される画像データの垂直同期信号(PV
SYNC)、水平同期信号(PHSYNC)、画像デー
タ同期クロック(PVCLK)により、画像データの取
り込みタイミング信号、画像処理のためのタイミング信
号、転送バッファであるFIFOからの読み出しタイミ
ング信号(PRFRD)を生成する。
【0246】また、画像データの主走査方向の遅延、取
り込みピクセル数、副走査方向の遅延、取り込みライン
数を管理する。設定量の画像データ取り込みを終了した
タイミングでの状態信号(PLEND)を生成する。ラ
インカウンタ4501は副走査方向の遅延と出力ライン
数を管理して、画像出力有効ラインの垂直同期信号(P
EFHSYNC)を生成する。ピクセルカウンタ450
2は主走査方向の画像出力遅延と出力画素数を管理す
る。出力画像データをFIFOから読み出すための読み
出しタイミング信号(PRFRD)を生成する。ページ
カウンタ4503は出力数画像データをページ単位で管
理する。設定されたページ数分の画像出力が終了する
と、終了信号(PALLPEND)を生成する。
【0247】ラインカウンタ4501,ピクセルカウン
タ4502,ページカウンタ4503の各設定値はコン
トロールレジスタ4310によって読み書きされる。 ・ライトデータ :IFWDATA[31:0] ・リードデータ :IFRDATA[31:0] ・ラインカウンタライト信号 :PLCSET ・ラインカウンタリード信号 :PLCRD ・ピクセルカウンタライト信号 :PPCSET ・ピクセルカウンタリード信号 :PPCRD ・ページカウンタライト信号 :PPAGESET ・ページカウンタリード信号 :PPAGERD <スキャナFIFOコントローラ4311>図46は、
スキャナFIFOコントローラのブロック図である。ス
キャナFIFOコントローラ4312(図43参照)
は、スキャナから入力された画像データをGバスもしく
はIOバスを介して転送するためのバッファとしてのF
IFOと、そのFIFOをコントロールする回路を含
む。容量1024バイト、データ幅24ビット(R,G,B各
8ビット)の2系統のFIFO4602,4603を備
える。これらのFIFOは、Gバス/IOバスのデータ
転送動作とスキャナからの画像データ入力動作を交互に
行うダブルバッファとして動作する。FIFOのデータ
入出力は、スキャナFIFOセレクタ4601がFIF
Oのフルフラグ(FF)とエンプティーフラグ(EF)
により制御する。
【0248】<プリンタFIFOコントローラ4312
>図47は、プリンタFIFOコントローラ4312
(図43)のブロック図である。プリンタFIFOコン
トローラ4312は、プリンタヘ出力する画像データを
GバスもしくはIOバスを介して転送するためのバッフ
ァとしてのFIFOと、そのFIFOをコントロールす
る回路を含む。容量1024バイト、データ幅24ビット
(R,G,B各8ビット)のFIFOを2系統備える。
これらは、Gバス/IOバスのデータ転送動作とプリン
タへの画像データ出力動作を交互に行うダブルバッファ
ーとして動作する。FIFOのデータ入出力は、プリン
タFIFOセレクタ4701がFIFOのフルフラグ
(FF)とエンプティーフラグ(EF)により制御す
る。
【0249】スキャナプリンタコントローラ408は、
スキャナとプリンタとを同期動作させ、コピー動作をお
こなうために、図43に示すように、スキャナデータを
直接プリンタへ出力するデータパスを備える。また、ス
キャナからの入力データとプリンタへの出力データをF
IFOにより同期させるデータパスも備える。それらの
データパスはスキャナとプリンタのデータ入出力の同期
関係で選択可能とする。
【0250】<データ転送制御ユニット4302>図4
8は、データ転送制御ユニット4302のブロック図で
ある。データ転送制御ユニット4302は、Lバスヘの
データの入出力を制御するブロックで、チェインコント
ローラ4801、マスタDMAコントローラ4802、転
送アービタ4803等を含む。
【0251】データ転送制御ユニットは、マスタとして
は以下の動作を制御する。 1.スキャナからの画像データDMA転送およびチェイン
テーブル参照 2.プリンタへの画像データDMA転送およびチェインテ
ーブル参照 スレーブとしては以下の動作を制御する。 1.内部レジスタのライト・リード 2.スキャナからの画像データ転送 3.プリンタへの画像データ転送 (チェインコントローラ)図49は、チェインコントロ
ーラ4801のブロック図である。チェインコントロー
ラは、チェインテーブルを示すアドレスポインタブロッ
クとDMAの転送先を示すアドレスポインタブロックから
構成される。スキャナ、プリンタコントローラがマスタ
としてDMAを行う際の転送先アドレス発生ブロックであ
り、チェインDMAをサポートする。スキャナデータ転
送、プリンタデータ転送の2系統が独立で動作する。
【0252】<Lバス>Gバス/IOバスインターフェ
ースユニットとデータ転送ユニットを接続するスキャ
ナ、プリンタコントローラ内のローカルなバスである。
次のような信号を含む。なお、以下、信号の入出力は、
データ転送制御ユニット4302からGバス/IOバス
インターフェースユニット4301に出力する信号をOU
T、Gバス/IOバスインターフェースユニット4301
からデータ転送制御ユニット4302に入力する信号を
INで示す。 ・IFCLK (IN)… Lバスの基本クロック ・IFRDATA[63:0](OUT)… データ転送制御ユニットか
らGバス/IOバスインターフェースユニットに出力さ
れる64ビットのデータバスである。データ転送制御ユニ
ットがマスタとスレーブのどちらの動作においても使用
される。 ・IFWDATA[63:0](IN)… Gバス/IOバスインターフ
ェースユニット からデータ転送制御ユニットに出力さ
れる64ビットのデータバスである。データ転送制御ユニ
ットがマスタとスレーブのどちらの動作においても使用
される。 ・IFMDTREQ(OUT)… データ転送制御ユニットがマス
タとしてデータ転送の要求とデータおよびアドレスの有
効状態を示す。“High”でデータの転送要求とアドレス
バスIFMAD[3:12]の有効状態を示す。 ・IFMAD[31:2](OUT)… データ転送制御ユニットがマ
スタ動作時、目的アドレスを示すアドレスバス。IFMDTR
EQ信号がアクティブ状態“High”で有効なアドレスを出
力する。 ・IFMRW(OUT)… データ転送制御ユニットがマスタ動
作時、データの入出力を示す信号。“High”のときデー
タ転送制御ユニットはIFWDATA[63:0]からデータを入力
する。“Low”のときデータ転送制御ユニットはIFRDATA
[63:0]にデータを出力する。 ・IFMDTACK(IN)… データ転送制御ユニットがマスタ
動作時、IFMDTREQに対する応答信号、Gバス/IOバス
インターフェースユニットから出力される。“High”の
ときIFRDATA[63:0)またはIFWDATA[63:0]が有効データ
であることを示す。 ・PRIOR[3:0](OUT)… データ転送制御ユニットがマ
スタ動作時、データ転送の優先度を示す。優先度は表8
のように定義される。
【0253】
【表8】
【0254】・MTSIZE[2:0](OUT)… データ転送制御
ユニットがマスタ動作時、転送の単位サイズを示す。こ
の単位サイズの転送中、IFMDTREQは“High”のアクティ
ブ状態のままとなる。サイズは表9のように示される。
【0255】
【表9】
【0256】・IFSDTREQ(IN)… データ転送制御ユニ
ットがスレーブ動作時、Gバス/IOバスインターフェ
ースユニットからのデータ転送要求とデータおよびアド
レスの有効状態をしめす。“High”でデータ転送要求と
アドレスバスIFSAD[6:2]の有効状態を示す。 ・IFSAD[6:2](IN)… データ転送制御ユニットがスレ
ーブ動作時、目的アドレスを示すアドレスバス。IFSDTR
EQ信号がアクティブ状態“HIGH”で有効なアドレスを出
力する。 ・IFSRW(IN)… データ転送制御ユニットがスレーブ
動作時、データの入出力を示す信号。“High”のときデ
ータ転送制御ユニットはIFRDATA[63:0]にデータを出力
する。“Low”のときデータ転送制御ユニットはIFWDATA
[63:0]からデータを入力する。 ・IFSDTACK(OUT)… データ転送制御ユニットがスレ
ーブ動作時、IFSDTREQに対する応答信号。データ転送制
御ユニットから出力される。“High”のときIFRDATA[6
3:0]またはIFWDATA[63:0]が有効データであることを示
す。 ・STSIZE(IN)… データ転送制御ユニットがスレーブ
動作時、Gバス/IOバスインターフェースユニットか
らのデータ幅を示す。“High”でIFRDATA[63:0]またはI
FWDATA[63:0]が有効となる。“Low”でIFRDATA[31:0]ま
たはIFWDATA[31:0]が有効となる。
【0257】<Gバス/IOバスインターフェースユニ
ット>図50は、Gバス/IOバスインターフェースユ
ニット4301のブロック図である。Gバス/IOバス
インターフェースユニットは、コピーエンジン内部の内
部バス(Lバス)と外部バス(Gバス/IOバス)とのイ
ンターフェース部分である。このユニットは、他の機能
ブロックで使えるように実現されるが、本実施の形態で
はコピーエンジンが使用する。なお、コピーエンジンと
は、スキャナ/プリンタコントローラ408及びそれに
より制御されるスキャナとプリンタとを含めた総称であ
る。
【0258】Gバス/IOバスインターフェースユニッ
トは、大きくバスセレクタユニット,IOバスコントロ
ーラ5002,Gバスコントローラ5003の三つの部
分から構成される。
【0259】バスセレクタユニット5001は、コピー
エンジンがDMAマスタの時には、Lバスのバースト転送
可能な転送量、優先度(緊急度)、転送先のアドレス
と、さらに各バス(GバスとIOバス)の空き情報を基
にして、動的にバスの選択を行い、対応するコントロー
ラ(Gバスコントローラ5003かIOバスコントロー
ラ5002)に、多少の前処理を施してLバスを接続す
る。コピーエンジンがDMAスレーブの時には、各バス
(GバスとIOバス)からの要求を調停し、優先順位の
高いバスとLバスを接続する。
【0260】Gバスコントローラ5003とIOバスコ
ントローラ5002は、Lバスと対応するバス(Gバス
とIOバス)のバスの変換を行う。以下に、各部の説明
をする。
【0261】コピーエンジンは、Gバス/IOバスの両
方のバスに対してDMA可能なDMAマスタであり、Gバス/
IOバスインターフェースユニット4301は、DMA転
送する際に使用するバスを決定する。従来のシステムで
は、転送先(アドレス)によりバスを切り替えている
が、各バスの転送速度や使用率等を考慮しなければ、シ
ステム全体として良い性能が得られない。
【0262】バスセレクタユニット5001は、Lバス
のバースト転送可能な転送量、優先度(緊張度)、転送
先のアドレスと、さらに各バス(GバスとIOバス)の
空き情報を基にして、動的に効率的なバスの選択を行
い、対応するコントローラ(Gバスコントローラ500
3かIOバスコントローラ5002)に、多少の前処理
を施して、Lバスを接続する。
【0263】Gバスコントローラ5003とIOバスコ
ントローラ5002は、Lバスと対応するバス(Gバス
とIOバス)同期ユニットヘ、書き込みアドレスと機能
ブロック(ここでは、コピーエンジン)のIDを送り出
す。以下に、各部の説明をする。
【0264】(バスセレクタユニット)図51は、バス
セレクタユニット5001のブロック図である。その動
作を以下に説明する。 [コピーエンジンのマスター時の動作]コピーエンジン
がマスターの場合は、主に、バスセレクタユニットのL
バスマスタシーケンサ5101で制御される。Lバスマ
スタシーケンサ5101は、コピーエンジンからIFMDTR
EQ(マスターデータ要求信号)を受けることにより、コ
ピーエンジンのマスター動作の要求を知る。
【0265】コピーエンジンは、IFMDTREQアサートと同
時に、IFMAD[31:2](マスター転送アドレス信号)、MTS
IZE[2:0](マスター転送長信号)、IFMRW(マスター・
リード・ライト信号)をバスセレクタユニット5001
に出力する。転送アドレスはアドレスカウンタ5102
に、転送長は長さカウンタ5103に、それぞれラッチ
される。
【0266】Lバスマスタシーケンサ5101は、外部
バストの転送を開始する時点でGバスを使用するか、I
Oバスを使用するかを、アドレスカウンタ, 長さカウン
タ,プライオリティ,各バスのビジー状態から決定す
る。アドレスカウンタの下位ビット5がすべて0ではな
い場合、あるいは長さカウンタが64ビット×4未満の
場合は、Gバスでの転送は不可能なので、IOバスを選
択する。それ以外は、高プライオリティかつGバスが使
用中かつIOバスが空いている、という場合を除き、G
バスを選択する。外部バスへの転送サイクルを終了した
時点で、アドレスカウンタ5102と長さカウンタ51
03を更新し、長さカウンタが0でなければ、上記の動
作を繰り返す。バスの選択の基準を表10に示す。
【0267】
【表10】
【0268】コピーエンジンから外部バスへの転送で
は、Lバスマスタシーケンサ5101は、データFIF
O5104がフルでない限り、コピーエンジンへIFMDTA
CK信号をアサートし、転送データを要求し、得たデータ
をFIFO5104に書き込む。また、データFIFO
がエンプティでない限り、外部バスコントローラ(IO
バスコントローラ5002かGバスコントローラ500
3)へマスター転送要求信号(LbMReqかLgMReq)をアサ
ートし、データ転送を要求する。外部バスコントローラ
(IOバスコントローラかGバスコントローラ)は、デ
ータFIFO5104のデータを転送し、転送終了で、
マスター転送通知信号(LbMAckかLgMAck)をアサートす
るので、Lバスマスタシーケンサ5101は、外部バス
ヘの転送の終了を知ることができる。
【0269】外部バスからコピーエンジンへの転送で
は、Lバスマスタシーケンサ5101は、データFIF
Oがフルでない限り、外部バスコントローラ(IOバス
コントローラかGバスコントローラ)へマスター転送要
求信号(LbMReqかLgMReq)をアサートし、データ転送を
要求し、データをデータFIFOに書き込み、データF
IFOがエンプティでない限り、コピーエンジンへIFMD
TACK信号をアサートし、転送データを要求し、得たデー
タFIFOのデータを書き込む。
【0270】(IOバスコントローラ)図52は、IO
バスコントローラ5002のブロック図である。
【0271】IOバスコントローラ5002は、Lバス
とIOバスのインターフェース部分である。
【0272】IOバスマスタシーケンサ5201は、I
Oバスマスター時の動作を、IOバススレーブシーケン
サ5202は、IOバススレーブの時の動作を、それぞ
れ制御する。 [コピーエンジンのマスター時の動作]バスセレクタユ
ニット5001からのLbMReq信号のアサートにより、デ
ータ転送は開始される。転送の方向は、LbMReq信号と同
時にアサートされるバスセレクタユニット5001から
のLbMRdNotWr信号により決まる。転送のサイズは、LbMR
eq信号と同時にアサートされるバスセレクタユニット5
001からのLbBstCnt[1:0]信号により決まる。また、
転送のアドレスはLbMReq信号と同時にアサートされるバ
スセレクタユニット5001からのLbMAddr[31:2]信号
により決まる。
【0273】IOバスからの転送(LbMRdNotWr信号が0
の時)は、読み込み用データFIFOがフルであれば
(bRFifoFullがアサート)、フルでなくなるのを待ち、
IOバスマスタシーケンサは、決められたIOバスの転
送を開始し、得たデータは、バスセレクタユニット50
01 のデータFIFOに書き込む。
【0274】IOバスヘの転送(LbMRdNotWr信号が1の
時)は、書き込み用データFIFOがエンプティであれ
ば(bWFifoEmptがアサート)、エンプティでなくなるの
を待ち、IOバスマスタシーケンサは、決められたIO
バスの転送を開始し、バスセレクタユニット5001の
データFIFOから得たデータをIOバス上に送る。
【0275】(Gバスコントローラ)図53は、Gバス
コントローラ5003のブロック図である。
【0276】Gバスコントローラ5003は、Lバスと
Gバスのインターフェース部分である。
【0277】Gバスマスタシーケンサ5301は、Gバ
スマスター時の動作を、Gバススレーブシーケンサ53
02は、Gバススレーブの時の動作を、それぞれ制御す
る。 [コピーエンジンのマスター時の動作]バスセレクタユ
ニット5001からのLbMReq信号のアサートにより、デ
ータ転送は開始される。転送の方向は、LbMReq信号と同
時にアサートされるバスセレクタユニット5001から
のLbMRdNotWr信号により決まる。転送のサイズは、LbMR
eq信号と同時にアサートされるバスセレクタユニット5
001からのLbBstCnt[1:0]信号により決まる。また、
転送のアドレスはLbMReq信号と同時にアサートされるバ
スセレクタユニット5001からのLbMAddr[31:2]信号
により決まる。
【0278】Gバスからの転送(LgMRdNotWr信号が0の
時)は、読み込み用データFIFOがフルであれば(gR
FifoFullがアサート)フルでなくなるのを待ち、Gバス
マスタシーケンサは、決められたGバスの転送を開始
し、得たデータは、バスセレクタユニット5001 の
データFIFOに書き込む。
【0279】Gバスヘの転送(LgMRdNotWr信号が1の
時)は、書き込み用データFIFOがエンプティであれ
ば(bWFifoEmptがアサート)、エンプティでなくなるの
を待ち、Gバスマスタシーケンサは、決められたGバス
の転送を開始し、バスセレクタユニット5001のデー
タFIFOから得たデータをGバス上に送る。
【0280】2.10.電力管理ユニット 図54は、電力管理ユニット409のブロック図であ
る。
【0281】DoEngineはCPUを内蔵した大規
模なASICである。このため、内部のロジックが全部
同時に動作してしまうと、大量の熱を発生し、チップ自
体が破壊されてしまう恐れがある。これを防ぐために、
DoEngineは、ブロック毎の電力の管理、すなわ
ちパワーマネジメントを行ない、更にチップ全体の消費
電力量の監視を行なう。
【0282】パワーマネージメントは、それぞれのブロ
ックが各自個別に行なう。各ブロックの消費電力量の情
報は、パワーマネージメントレベルとして、電力管理ユ
ニット(PMU)409に集められる。PMU409で
は、各ブロックの消費電力量を合計し、その値が限界消
費電力を超えないように、DoEngineの各ブロッ
クの消費電力量を一括して監視する。
【0283】<動作>電力管理ブロックの動作は次の通
りである。 ・各ブロックは、4段階のパワーマネジメントレベルを
持つ。 ・PMUは、それぞれのレベルにおける消費電力の値を
レジスタとして持つ。このレベル構成及び消費電力の値
は、PM構成レジスタ5401に保持される。 ・PMUは、各ブロックからパワーマネジメントレベル
を2ビットのステータス信号として受け取り(後述)、
レジスタ5401に設定された値と照合させて各ブロッ
クの消費電力を知る。 ・PMUは各ブロックの消費電力を加算器5403で加
算し、DoEngine全体の消費電力量をリアルタイ
ムに計算する。 ・算出された消費電力量は、構成レジスタ5401に設
定された消費電力のリミット値(PMリミット)と比較
器5404で比較され、これを超えた場合には割込発生
器5405から割り込み信号を発行する。 ・このリミット値は2段階設定することができる。1段
階目は、本当の限界から少し余裕を持たせた値を設定し
ておく。この値を超えると、通常の割込み信号が発行さ
れる。ソフトウェアはこれを受けて、新たにブロックを
起動するような転送は始めないようにする。ただ、2段
階目のリミット値に達しない範囲内では、ソフトウェア
の管理の元で、新たなブロックを起動することができ
る。2段階目のリミット値は、デバイスが破壊される恐
れのある値を設定しておく。万が一、この値を超えてし
まった時には、NMI(割込マスクが設定できない割り
込み)を発行して安全のためにシステムを停止させる。 ・割込み信号は、PMUの状態レジスタ5402をリー
ドすることで解除される。この状態レジスタ5402を
リードした時点からタイマカウントを始め、タイマがエ
クスパイアするまで消費電力量が戻らなければ、再び割
込み信号を発行する。このタイマの値の設定はPMUの
構成レジスタ5401に設定される。
【0284】<各ブロックのパワーマネージメント>各
ブロックのパワーマネージメント制御は、ブロック毎に
自由に構成してよい。構成例の例を示す。
【0285】(構成例1)この例では、内部ロジックへ
のクロックをオン/オフすることにより、パワーマネジ
メントを行なっているので、消費電力のレベルは2段階
しか持っていない。このレベルをステータス信号として
電力管理ユニット409に送る。図55にバスエージェ
ントのブロック図を示す。 ・バスエージェント5501は、各ユニット毎の内部ロ
ジック5502、アドレスをデコードするデコーダ55
03、クロックコントロール部5504、クロックゲー
ト5505を含む。 ・デコーダ5503とクロックコントロール部5504
は常に動作しており、パワーマネージメントコントロー
ルとして、バスのアクティビティーの監視、内部ロジッ
クへのクロックのゲーティングを行なっている。
【0286】<クロックコントロール> ・バスエージェントは、バスのアクティビティーを検出
し、クロックのオン/オフを自動で行なう。 ・バスエージェントには、Sleep, Wake Up, Waitの3つ
のステートがある。 ・Sleepはバスエージェントにアクティビティーがな
く、クロックゲートクロックを停止させている状態であ
る。 ・Sleepの状態でも、デコーダ部5503、クロックコ
ントロール部5504は動作しており、バスをモニタリ
ングして、要求を待っている。 ・デコーダ5503が自分のアドレスを検出すると、ク
ロックゲート5505を開き、内部ロジックのクロック
を動作させ、バスの要求に応える。ステートはWake Up
に移行する。また、この状態を電力管理ユニット409
に通知する。 ・データ転送が終了すると、Waitステートに移行し、次
の要求を待つ。この時クロックは動作したままである。
要求があれば、Wake Upステートに戻り、転送を行な
う。また、要求を待っている間はタイマによりカウント
を行ない、要求がないままカウンタがタイムアップした
場合は、Sleepステートへ移り、クロックを停止させ
る。この状態も電力管理ユニット409に通知される。
【0287】以上のようにして、消費電力が所定値を越
えないように管理している。 [その他の構成例]図9及び図10で示したキャッシュ
の動作手順は、図56及び図57のようなものであって
もよい。
【0288】図56においては、MCバスよりデータ転
送が開始されると、その最初にMCバスで示されるmT
Type[60:0]によってその転送をキャッシュオ
ンで行うかオフで行うか判断される。ここでは、転送が
バースト転送の時、そのバースト転送データ量がキャッ
シュの1ラインのデータ量より大か小かによって判断す
る。なお、キャッシュの1ラインは256ビット=4バ
ースト分である。
【0289】図56において、メモリコントローラは転
送の開始でmTType[3:0]をチェックし、mT
Typeが示すバースト長が1/2/4であれば、キャ
ッシュオンで動作し、6/8/16/2×16/3×1
6/4×16の場合はキャッシュオフで動作する。キャ
ッシュオンあるいはオフ後の動作は、図9及び図10と
同様である。
【0290】また、図58及び図59のように、デバイ
スによってキャッシュのオンオフを切り替えることもで
きる。図58において、メモリコントローラは転送の開
始でmTType[6:4]をチェックすることにより
転送要求デバイスを識別し、そのデバイスの転送要求を
キャッシュオンで動作するか、オフで動作するかを判断
するために、あらかじめ設定されている構成レジスタの
値を参照し、キャッシュオンで動作するか、オフで動作
するか決定する。キャッシュオンあるいはオフ後の動作
は、図9及び図10と同様である。構成レジスタの設定
は、ハードウエア的に決定(変更不可)していも良い
し、ソフトウエアで書換え可能にしてもよい。
【0291】
【発明の効果】以上説明したように、本発明では、DMA
を連続して行う場合に、ソフトウェアがバスマスタが変
わる都度介入するのではなく、最初に一括してソフトウ
ェアがバスアービタにDMAの開始させる条件と終了させ
る条件とを設定しておき、バスマスタにもDMAの設定を
行っておくことで、後はバスアービタが順序をコントロ
ールしながら一連の処理を行うことができる。これによ
り、処理毎のソフトウェアの介入が必要なくなる。ま
た、いちいちメモリに書き戻す必要がないため、データ
がバスを使用する回数が少なくなり、全体としての処理
速度が向上する。
【0292】また、クロスバススイッチにより要求に応
じて接続するバスを切り替え、最適なバスを選んでデー
タの転送を行うことができる。さらに、バスの構成を柔
軟にし、更にマスタとスレーブとが重複しないのであれ
ば、複数のバスの接続を並列に行えるようにして、バス
の使用効率を向上させることができる。
【0293】また、複数のバスのそれぞれに接続された
バスマスタについて、それらがバスの使用権を得た順に
メモリにアクセスするように制御することができる。そ
のため、時間経過に伴う処理順序を適正に保つことがで
きる。
【0294】また、転送速度が高速なバーストモードで
はキャッシュを用いず、シングルモードでキャッシュを
使用するため、キャッシュされた大量のデータが無駄に
なる事態を防止してキャッシュの使用効率を向上させ、
メモリへのデータ転送速度が向上する。
【0295】また、各バスマスタが使用するバスを、バ
スの使用状況やバス要求の優先度、バスの性能、転送す
るデータがバスに適合するか否かなどを動的に決定して
選択するため、バスの効率を向上させることができる。
【0296】また、回路の各ブロックの動作状態を監視
して消費電力を抑制し、さらに、予備的な警告と危険な
事態とで別々な割込み信号で通報するため、大量の熱の
発生を抑制し、装置の熱による破壊を防止することがで
きる。
【0297】
【図面の簡単な説明】
【図1】DoEngineを用いた装置あるいはシステ
ムの構成例の図である。
【図2】DoEngineを用いた装置あるいはシステ
ムの構成例の図である。
【図3】DoEngineを用いた装置あるいはシステ
ムの構成例の図である。
【図4】DoEngineのブロック図である
【図5】キャッシュメモリコントローラの3つのステー
トを示す図である。
【図6】インタラプトコントローラ410のブロック図
である。
【図7】メモリコントローラ403のブロック図であ
る。
【図8】キャッシュコントローラ706を中心とする詳
細なブロック図である。
【図9】MCバスよりメモリリード/ライト転送が要求
された場合のキャッシュの動作を示すフローチャートで
ある。
【図10】MCバスよりメモリリード/ライト転送が要
求された場合のキャッシュの動作を示すフローチャート
である。
【図11】ROM/RAMコントローラ707の構成を
示す図である。
【図12】CPUからのバースト読み出しのタイミング
を示すタイミング図である。
【図13】CPUからのバースト書き込みのタイミング
を示すタイミング図である。
【図14】Gバスデバイスからのバースト読み出しのタ
イミングを示すタイミング図である。
【図15】Gバスデバイスからのバースト書き込みのタ
イミングを示すタイミング図である。
【図16】メモリフロントキャッシュにヒットした場合
のシングル読み出しのタイミングを示すタイミング図で
ある。
【図17】メモリフロントキャッシュにヒットしなかっ
た場合のシングル読み出しのタイミングを示すタイミン
グ図である。
【図18】メモリフロントキャッシュにヒットした場合
のシングル書き込みのタイミングを示すタイミング図で
ある。
【図19】メモリフロントキャッシュにヒットしなかっ
た場合のシングル書き込みのタイミングを示すタイミン
グ図である。
【図20】システムバスブリッジ(SBB)402のブ
ロック図である。
【図21】IOバスインターフェースのブロック図であ
る。
【図22】Gバスインターフェース2006のブロック
図である。
【図23】仮想メモリマップ、物理メモリマップ、Gバ
スのアドレス空間でのメモリマップ、IOバスのアドレ
ス空間でのメモリマップの図である。
【図24】レジスタ等を含む図23における斜線部の5
12メガバイトを示すマップの図である。
【図25】アドレススイッチ2003のブロック図であ
る。
【図26】データスイッチ2004のブロック図であ
る。
【図27】Gバスからの書き込み/読み出しサイクルの
タイミング図である。
【図28】Gバスのバースト停止サイクルのタイミング
図である。
【図29】Gバスのトランザクション停止サイクルのタ
イミング図である。
【図30】Gバスのトランザクション停止サイクルのタ
イミング図である。
【図31】Gバスのトランザクション停止サイクルのタ
イミング図である。
【図32】Gバスのトランザクション停止サイクルのタ
イミング図である。
【図33】PCIバスインターフェース416のブロッ
ク図である。
【図34】Gバスアービタ(GBA)406のブロック
図である。
【図35】DoEngine400内におけるGバス4
04を中心とする、Gバス上のバスマスタによるDMAに
係るブロック図である。
【図36】連続してバスを使用する回数が、バスマスタ
1〜4のすべてについて1に設定されている場合の公平
アービトレーションモード(フェアモード)の例を示す
図である。
【図37】連続してバスを使用する回数が、バスマスタ
1についてのみ2であり、他のバスマスタは1に設定さ
れている場合の公平アービトレーションモードの例を示
す図である。
【図38】連続してバスを使用する回数がそれぞれ1ず
つであり、バスマスタ1が優先バスマスタと設定されて
いる場合の優先アービトレーションモードの例を示す図
である。
【図39】バスマスタ1からのバス要求により、バスマ
スタ4のバス要求が許可されているにもかかわらず中断
された例を示す図である。
【図40】IOバスアービタ407のブロック図であ
る。
【図41】同期ユニット4001のブロック図である。
【図42】同期ユニット内の一つコンペアユニットの図
である。
【図43】スキャナ/プリンタコントローラ408のブ
ロック図である。
【図44】スキャナ/ビデオ同期制御ユニット4306
のブロック図である。
【図45】プリンタ/ビデオ同期制御ユニット4307
のブロック図である。
【図46】スキャナFIFOコントローラのブロック図
である。
【図47】プリンタFIFOコントローラ4312のブ
ロック図である。
【図48】データ転送制御ユニット4302のブロック
図である。
【図49】チェインコントローラ4801のブロック図
である。
【図50】Gバス/IOバスインターフェースユニット
4301のブロック図である。
【図51】バスセレクタユニット5001のブロック図
である。
【図52】IOバスコントローラ5002のブロック図
である。
【図53】Gバスコントローラ5003のブロック図で
ある。
【図54】電力管理ユニット409のブロック図であ
る。
【図55】バスエージェントのブロック図である。
【図56】MCバスよりメモリリード/ライト転送が要
求された場合のキャッシュの動作の他の例を示すフロー
チャートである。
【図57】MCバスよりメモリリード/ライト転送が要
求された場合のキャッシュの動作の他の例を示すフロー
チャートである。
【図58】MCバスよりメモリリード/ライト転送が要
求された場合のキャッシュの動作の他の例を示すフロー
チャートである。
【図59】MCバスよりメモリリード/ライト転送が要
求された場合のキャッシュの動作の他の例を示すフロー
チャートである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 横山 登 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 加藤 勝則 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つのバスと、 該バスに接続された複数のバスマスタと、 前記複数のバスマスタそれぞれに対してバス使用権の付
    与の開始条件と終了条件とを記憶する手段と、 前記複数のバスマスタからバスの使用要求があると、前
    記条件にしたがって前記複数のバスマスタのバス使用権
    の付与を開始し、終了するバス調停手段とを備えること
    を特徴とするバス管理装置。
  2. 【請求項2】 前記複数のバスマスタの順序を記憶する
    第2の記憶手段を更に備え、前記バス調停手段は、前記
    順序と前記開始条件とを満足したバスマスタにバス使用
    権の付与を開始し、バス使用権を与えられており、前記
    終了条件を満足したバスマスタのバス使用権の付与を終
    了することを特徴とする請求項1に記載のバス管理装
    置。
  3. 【請求項3】 優先順次モードと完全順次モードとを表
    すモード設定手段を更に備え、前記バス調停手段は、優
    先順次モードにおいては、前記記憶手段にバス使用権の
    付与の開始条件と終了条件とが記憶されたバスマスタ
    を、それ以外のバスマスタに対して優先的にバスの使用
    権を付与し、完全順次モードにおいては、前記記憶手段
    にバス使用権の付与の開始条件と終了条件とが記憶され
    ていないバスマスタに対してはバスの使用権を付与しな
    いことを特徴とする請求項1または2に記載のバス管理
    装置。
  4. 【請求項4】 少なくとも4つのバスと、 前記バスに接続されたバスマスタと、 前記バス同士の接続を、前記バスのそれぞれに接続され
    たバスマスタのバスの要求に応じて切り替える切り替え
    手段とを備えることを特徴とするバス管理装置。
  5. 【請求項5】 前記少なくとも4つのバスの内のひとつ
    にはメモリが、他のバスにはそれぞれ少なくとも1つの
    バスマスタが接続されていることを特徴とする請求項4
    に記載のバス管理装置。
  6. 【請求項6】 前記バスは、メモリに接続されたバス
    と、プロセッサに接続されたバスと、入出力機器に接続
    された少なくとも2つのバスを含み、前記切り替え手段
    は、プロセッサに接続されたバスと入出力機器に接続さ
    れたバスとからの接続要求を調停することを特徴とする
    請求項5に記載のバス管理装置。
  7. 【請求項7】 前記切り替え手段は、前記メモリに接続
    されたバスと前記入出力機器に接続された一方のバス
    と、前記プロセッサに接続されたバスと前記入出力機器
    に接続された他方のバスとのそれぞれを、並列的に接続
    することを特徴とする請求項6に記載のバス管理装置。
  8. 【請求項8】 前記切り替え手段は、前記プロセッサか
    らのメモリあるいは入出力に対する接続要求と、前記入
    出力バスそれぞれからメモリに対する接続要求とを調停
    し、バス同士の接続を切り替えることを特徴とする請求
    項6に記載のバス管理装置。
  9. 【請求項9】 画像データの入力及び出力を行う画像入
    出力機器を制御する制御部を更に備え、該制御部は、前
    記入出力機器に接続された2つのバスに接続され、選択
    的にいずれかを用いることを特徴とする請求項4に記載
    のバス管理装置。
  10. 【請求項10】 それぞれにバスマスタを備えた少なく
    とも2つのバスと、 前記バスを介してアクセスされるメモリと、 前記バスそれぞれに接続され、当該バスのバスマスタに
    よるバス要求を調停し、そのいずれかにバス使用権を付
    与する調停手段と、 前記バスそれぞれについてバス使用権を付与された複数
    のバスマスタが同一のあて先に書き込みを行う場合、そ
    れらバスマスタのうち、もっとも早くバス要求を出した
    バスマスタ以外のバスマスタに対するバス使用権を停止
    させるよう、前記調停手段に対して通知するバス同期手
    段とを備えることを特徴とするバス管理装置。
  11. 【請求項11】 前記バス同期手段は、前記各バスのバ
    スマスタがバス要求を出した時刻を記憶し、バス要求と
    ともに指定されたアドレスを比較して一致した場合には
    前記記憶された時刻を比較し、もっとも速い時刻のバス
    要求でないバス要求を出したバスマスタを停止させるこ
    とを特徴とする請求項10に記載のバス管理装置。
  12. 【請求項12】 それぞれがバスの調停手段を有する少
    なくとも2つのバスと、 前記バスに接続されたバスマスタと、 前記バスの状態と、前記バスマスタから出されるバス要
    求の情報とを判定し、前記バスのうちいずれを使用する
    か決定する決定手段とを備えることを特徴とするバス管
    理装置。
  13. 【請求項13】 前記バス要求の情報には、バス要求の
    優先度とデータの転送先と転送サイズとを含み、前記バ
    スの状態には、各バスの使用状態を含み、前記決定手段
    は、要求された前記転送先と転送サイズとが許されるバ
    スがひとつの場合にはそのバスを使用するものと決定
    し、複数ある場合には、転送速度の速い方のバスを優先
    的に使用するよう決定することを特徴とする請求項12
    に記載のバス管理装置。
  14. 【請求項14】 単一の半導体基板上に形成されてなる
    ことを特徴とする請求項1乃至13のいずれかに記載の
    バス管理装置。
  15. 【請求項15】 連続したロケーションへのデータ転送
    を行うバーストモードを支援するメモリと、 前記メモリの前段にあって、該メモリと交換されるデー
    タを一旦蓄積するキャッシュメモリを備えたメモリ制御
    手段とを備え、 前記メモリ制御手段は、前記メモリへのデータ転送がバ
    −ストモードであればキャッシュを介さずに直接前記メ
    モリへデータを転送し、シングルモードであれば一旦キ
    ャッシュにデータを書き込むようキャッシュメモリを制
    御することを特徴とするメモリ管理装置。
  16. 【請求項16】 連続したロケーションへのデータ転送
    を行うバーストモードを支援するメモリと、 前記メモリの前段にあって、該メモリと交換されるデー
    タを一旦蓄積するキャッシュメモリを備えたメモリ制御
    手段と、 前記メモリへアクセスする複数のバスマスタとを備え、 前記メモリ制御手段は、前記メモリへのデータ転送をし
    ようとするバスマスタに応じて、キャッシュを介さずに
    直接前記メモリへデータを転送するか、一旦キャッシュ
    にデータを書き込んでメモリへデータを転送するか制御
    することを特徴とするメモリ管理装置。
  17. 【請求項17】 前記メモリ制御手段は、前記バスマス
    タの識別子と、それに対応して、キャッシュを介さずに
    直接前記メモリへデータを転送するか、一旦キャッシュ
    にデータを書き込んでメモリへデータを転送するかの別
    を記憶する再書込み可能なテーブルを備えることを特徴
    とする請求項16に記載のメモリ管理装置。
  18. 【請求項18】 前記メモリは、シンクロナスDRAM
    であることを特徴とする請求項15乃至17のいずれか
    に記載のメモリ管理装置。
  19. 【請求項19】 前記メモリ制御手段は、単一の半導体
    基板上に形成された電気回路であることを特徴とする請
    求項15乃至18のいずれかに記載のメモリ管理装置。
  20. 【請求項20】 制御部により制御された複数の回路ブ
    ロックを含む電気回路の消費電力を制御する電力管理装
    置であって、 各ブロックの動作状態を監視する状態監視手段と、 動作状態にあるブロックの消費電力を加算する加算手段
    と、 加算された電力を所定の閾値と比較し、閾値を越えたこ
    とを前記制御部に通知する通報手段とを備えることを特
    徴とする電力管理装置。
  21. 【請求項21】 前記通報手段は、前記閾値として互い
    に異なる複数の値を有し、各閾値ごとの比較結果に応じ
    て、通知を行うことを特徴とする請求項20に記載の電
    力管理装置。
  22. 【請求項22】 経過時間を測定する計時手段を更に備
    え、前記通報手段は、前記通知を行ってから、各ブロッ
    クの動作状態が変わらないまま所定時間経過すると再度
    通知を繰り返すことを特徴とする請求項20または21
    に記載の電力管理装置。
  23. 【請求項23】 前記閾値は、前記制御部により書き換
    えられることを特徴とする請求項20に記載の電力管理
    装置。
  24. 【請求項24】 請求項1乃至14のいずれかに記載の
    バス管理装置を備え、該バス管理装置により、画像入力
    装置及び画像出力装置が接続されたバスを管理すること
    を特徴とする複合機器の制御装置。
  25. 【請求項25】 請求項15乃至19のいずれかに記載
    のメモリ管理装置を備えることを特徴とする複合機器の
    制御装置。
  26. 【請求項26】 請求項20乃至23のいずれかに記載
    の電力管理装置を備えることを特徴とする複合機器の制
    御装置。
JP20057097A 1997-07-25 1997-07-25 バス管理装置及びそれを有する複合機器の制御装置 Expired - Fee Related JP3524337B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP20057097A JP3524337B2 (ja) 1997-07-25 1997-07-25 バス管理装置及びそれを有する複合機器の制御装置
DE69841398T DE69841398D1 (de) 1997-07-25 1998-07-21 Busverwalter und Steuerungsvorrichtung für ein Multifunktionsgerät mit einem solchen Busverwalter
EP98305792A EP0893766B1 (en) 1997-07-25 1998-07-21 Bus manager and control apparatus for multifunction device having said bus manager
US09/122,012 US6438635B1 (en) 1997-07-25 1998-07-24 Bus management using logic-based arbitration among bus access requests
US09/917,833 US7062664B2 (en) 1997-07-25 2001-07-31 Bus management based on bus status
US09/917,715 US6499076B2 (en) 1997-07-25 2001-07-31 Memory management for use with burst mode

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20057097A JP3524337B2 (ja) 1997-07-25 1997-07-25 バス管理装置及びそれを有する複合機器の制御装置

Related Child Applications (3)

Application Number Title Priority Date Filing Date
JP2003180264A Division JP2004062887A (ja) 2003-06-24 2003-06-24 電力管理装置及びそれを有する複合機器の制御装置
JP2003180263A Division JP2004030672A (ja) 2003-06-24 2003-06-24 バス管理装置及びそれを有する複合機器の制御装置及びバス管理方法
JP2003180262A Division JP2004046851A (ja) 2003-06-24 2003-06-24 バス管理装置及びそれを有する複合機器の制御装置

Publications (2)

Publication Number Publication Date
JPH1145225A true JPH1145225A (ja) 1999-02-16
JP3524337B2 JP3524337B2 (ja) 2004-05-10

Family

ID=16426535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20057097A Expired - Fee Related JP3524337B2 (ja) 1997-07-25 1997-07-25 バス管理装置及びそれを有する複合機器の制御装置

Country Status (4)

Country Link
US (3) US6438635B1 (ja)
EP (1) EP0893766B1 (ja)
JP (1) JP3524337B2 (ja)
DE (1) DE69841398D1 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344603A (ja) * 2000-05-31 2001-12-14 Canon Inc 画像処理装置並びに画像処理装置の制御方法および記憶媒体
JP2002175216A (ja) * 2000-09-29 2002-06-21 Intel Corp 行及び列コマンドを同時供給するためのシステム及び方法
US6775716B2 (en) 2000-05-19 2004-08-10 Matsushita Electric Industrial Co., Ltd. High-performance DMA controller
US6897872B2 (en) 2002-07-31 2005-05-24 Canon Kabushiki Kaisha Controller of multi function device
US6985246B2 (en) 2000-04-19 2006-01-10 Canon Kabushiki Kaisha Image processing apparatus and image processing method
US7006258B2 (en) 1999-12-27 2006-02-28 Canon Kabushiki Kaisha Image processing apparatus, control method therefor, and image processing system
US7063036B2 (en) 2002-09-13 2006-06-20 Defence Science & Technology Agency System for connecting buoyant marine bodies
US7130072B2 (en) 2002-02-08 2006-10-31 Canon Kabushiki Kaisha Multifunction system, image processing method, computer program and memory medium
JP2007501478A (ja) * 2003-05-07 2007-01-25 ヴァーチャル シリコン テクノロジー インコーポレイテッド 電力の島を使用した集積回路での電力の管理
KR100732286B1 (ko) * 1999-11-17 2007-06-25 마츠시타 덴끼 산교 가부시키가이샤 시스템 집적 회로
US7315388B2 (en) 2001-01-24 2008-01-01 Canon Kabushiki Kaisha Image input/output control apparatus, image processing apparatus, image processing method, data communication apparatus, and data communication method
JP2016145858A (ja) * 2015-02-06 2016-08-12 株式会社メガチップス 表示ムラ補正装置
US9914290B2 (en) 2014-08-14 2018-03-13 Lg Chem, Ltd. Peeling bar for peeling polarizing film from panel, peeling apparatus and peeling method using the same

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850995B1 (en) * 1999-01-25 2005-02-01 Canon Kabushiki Kaisha Control unit selectively connected with a first bus and a second bus for controlling a displaying process in parallel with a scanning process
JP2001034530A (ja) * 1999-07-16 2001-02-09 Mitsubishi Electric Corp マイクロコンピュータおよびメモリアクセス制御方法
JP4054503B2 (ja) * 2000-01-06 2008-02-27 キヤノン株式会社 画像処理装置
US6629178B1 (en) * 2000-06-15 2003-09-30 Advanced Micro Devices, Inc. System and method for controlling bus access for bus agents having varying priorities
US6976108B2 (en) * 2001-01-31 2005-12-13 Samsung Electronics Co., Ltd. System on a chip having a system bus, an external bus, and a bus arbiter with programmable priorities for both buses, software, and method for assigning programmable priorities
DE10115410A1 (de) * 2001-03-29 2002-10-24 Bosch Gmbh Robert Busstation zum Anschluß an ein Bussystem für Rückhaltemittel und/oder Sensoren
JP2002342260A (ja) * 2001-05-22 2002-11-29 Nec Microsystems Ltd Usb送信制御回路およびその制御方法
TW494644B (en) * 2001-07-09 2002-07-11 Faraday Tech Corp Method for selecting access register
DE10150138B4 (de) * 2001-10-11 2009-10-08 Siemens Ag Verfahren zur Magnetresonanz-Bildgebung
US6748479B2 (en) 2001-11-20 2004-06-08 Broadcom Corporation System having interfaces and switch that separates coherent and packet traffic
US6912602B2 (en) 2001-11-20 2005-06-28 Broadcom Corporation System having two or more packet interfaces, a switch, and a shared packet DMA circuit
US7752281B2 (en) 2001-11-20 2010-07-06 Broadcom Corporation Bridges performing remote reads and writes as uncacheable coherent operations
US7206879B2 (en) * 2001-11-20 2007-04-17 Broadcom Corporation Systems using mix of packet, coherent, and noncoherent traffic to optimize transmission between systems
US7394823B2 (en) 2001-11-20 2008-07-01 Broadcom Corporation System having configurable interfaces for flexible system configurations
US7227870B2 (en) 2001-11-20 2007-06-05 Broadcom Corporation Systems including packet interfaces, switches, and packet DMA circuits for splitting and merging packet streams
US7174429B2 (en) * 2001-12-28 2007-02-06 Intel Corporation Method for extending the local memory address space of a processor
JP4027133B2 (ja) * 2002-03-22 2007-12-26 キヤノン株式会社 画像処理装置
US6965973B2 (en) 2002-05-15 2005-11-15 Broadcom Corporation Remote line directory which covers subset of shareable CC-NUMA memory space
US6993631B2 (en) 2002-05-15 2006-01-31 Broadcom Corporation L2 cache maintaining local ownership of remote coherency blocks
US7003631B2 (en) 2002-05-15 2006-02-21 Broadcom Corporation System having address-based intranode coherency and data-based internode coherency
US7266587B2 (en) 2002-05-15 2007-09-04 Broadcom Corporation System having interfaces, switch, and memory bridge for CC-NUMA operation
US7107365B1 (en) * 2002-06-25 2006-09-12 Cypress Semiconductor Corp. Early detection and grant, an arbitration scheme for single transfers on AMBA advanced high-performance bus
US7599082B2 (en) * 2002-08-01 2009-10-06 Seiko Epson Corporation Image reproducing device, image holding device, and image reproducing system
JP4217452B2 (ja) * 2002-09-30 2009-02-04 キヤノン株式会社 プロセッサシステム
US7278047B2 (en) 2002-10-14 2007-10-02 Lexmark International, Inc. Providing different clock frequencies for different interfaces of a device
JP4198154B2 (ja) * 2003-02-26 2008-12-17 サイエンスパーク株式会社 印刷制御用プログラムを格納した電子計算機、そのプログラム及びプログラム記録媒体
US7444668B2 (en) * 2003-05-29 2008-10-28 Freescale Semiconductor, Inc. Method and apparatus for determining access permission
US20040243783A1 (en) * 2003-05-30 2004-12-02 Zhimin Ding Method and apparatus for multi-mode operation in a semiconductor circuit
US20050050253A1 (en) * 2003-08-25 2005-03-03 Srikanth Rengarajan Programmable bus arbitration
TWI233016B (en) * 2003-09-10 2005-05-21 Via Tech Inc Method and related apparatus for controlling data movement in a memory device
JP2005128963A (ja) * 2003-10-27 2005-05-19 Toshiba Information Systems (Japan) Corp 記憶制御装置及びdma転送が可能な制御システム
US7917706B1 (en) * 2003-12-15 2011-03-29 Altera Corporation SDRAM controller
US7337258B1 (en) * 2004-04-12 2008-02-26 Apple Inc. Dynamically allocating devices to buses
US7242325B2 (en) * 2004-08-02 2007-07-10 Sony Corporation Error correction compensating ones or zeros string suppression
US20060238823A1 (en) * 2005-04-26 2006-10-26 Kabushiki Kaisha Toshiba Image processing system and apparatus thereof
US7725759B2 (en) * 2005-06-29 2010-05-25 Sigmatel, Inc. System and method of managing clock speed in an electronic device
US8542574B2 (en) * 2005-06-29 2013-09-24 Honeywell International Inc. Apparatus and method for network error prevention
US8407432B2 (en) * 2005-06-30 2013-03-26 Intel Corporation Cache coherency sequencing implementation and adaptive LLC access priority control for CMP
US20070294738A1 (en) * 2006-06-16 2007-12-20 Broadcom Corporation Single chip cable set-top box supporting DOCSIS set-top Gateway (DSG) protocol and high definition advanced video codec (HD AVC) decode
TWI325269B (en) * 2006-11-15 2010-05-21 Asia Optical Co Inc Scanner controllers
US8117475B2 (en) * 2006-12-15 2012-02-14 Microchip Technology Incorporated Direct memory access controller
US9141572B2 (en) * 2006-12-15 2015-09-22 Microchip Technology Incorporated Direct memory access controller
WO2009039289A2 (en) * 2007-09-18 2009-03-26 California Institute Of Technology Equalization of third-order intermodulation products in wideband direct conversion receiver
JP2009081948A (ja) * 2007-09-26 2009-04-16 Denso Corp 電源制御システム
US20100146169A1 (en) * 2008-12-05 2010-06-10 Nuvoton Technology Corporation Bus-handling
JP5175703B2 (ja) * 2008-12-11 2013-04-03 株式会社東芝 メモリデバイス
JP2010140440A (ja) * 2008-12-15 2010-06-24 Toshiba Corp バス調停装置
JP2010272029A (ja) * 2009-05-22 2010-12-02 Sanyo Electric Co Ltd アクセス制御回路
US8984198B2 (en) * 2009-07-21 2015-03-17 Microchip Technology Incorporated Data space arbiter
KR101622195B1 (ko) * 2009-11-05 2016-05-18 삼성전자주식회사 동적 버스 클럭을 제어하기 위한 장치 및 방법
KR101670055B1 (ko) * 2010-08-30 2016-11-09 삼성전자 주식회사 디지털 영상 처리 장치의 제어 방법, 상기 방법을 적용한 디지털 영상 처리 장치, 상기 디지털 영상 처리 장치를 포함하는 통신 시스템
TW201239632A (en) * 2011-03-16 2012-10-01 Sunplus Technology Co Ltd Memory access system and method for optimizing SDRAM bandwidth
US20130117593A1 (en) * 2011-11-07 2013-05-09 Qualcomm Incorporated Low Latency Clock Gating Scheme for Power Reduction in Bus Interconnects
JP5718305B2 (ja) * 2012-11-22 2015-05-13 京セラドキュメントソリューションズ株式会社 画像形成装置
CN105515925A (zh) * 2014-09-26 2016-04-20 深圳中德世纪新能源有限公司 一种uart多主实时通信系统
CN110069425A (zh) * 2019-04-24 2019-07-30 苏州浪潮智能科技有限公司 一种基于服务器多处理机板卡设备之间的数据处理方法
CN112732603A (zh) * 2019-10-14 2021-04-30 广州飒特红外股份有限公司 一种多通道vdma控制方法及其应用
US11200930B1 (en) * 2020-12-02 2021-12-14 Silicon Laboratories Inc. System and method of masking memory read request to avoid memory read corruption
CN114490781B (zh) * 2022-04-01 2022-07-22 中国信息通信研究院 区块链数据的处理方法和装置

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US583999A (en) * 1897-06-08 Can-opener
DE2656086C2 (de) * 1976-12-10 1986-08-28 Siemens AG, 1000 Berlin und 8000 München Rechenanlage
JPS55157052A (en) 1979-05-25 1980-12-06 Nec Corp Disc cash control system
JPS593775B2 (ja) 1980-05-12 1984-01-26 安藤電気株式会社 バス要求処理装置
JPS6367665A (ja) 1986-09-09 1988-03-26 Hitachi Ltd デ−タ処理装置
US5142682A (en) * 1987-03-26 1992-08-25 Bull Hn Information Systems Inc. Two-level priority arbiter generating a request to the second level before first-level arbitration is completed
US5034883A (en) * 1987-05-01 1991-07-23 Digital Equipment Corporation Lockhead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfers
JPH01159746A (ja) 1987-12-16 1989-06-22 Fujitsu Ltd ディスクキャッシュ制御方式
JPH01185757A (ja) 1988-01-21 1989-07-25 Fujitsu Ltd データ転送装置
JP2624989B2 (ja) 1988-02-19 1997-06-25 株式会社日立製作所 データ転送制御装置
US5081576A (en) * 1988-03-24 1992-01-14 Encore Computer U.S., Inc. Advance polling bus arbiter for use in multiple bus system
JPH022445A (ja) 1988-06-10 1990-01-08 Hitachi Ltd 多重バスシステム
JPH0277919A (ja) 1988-09-14 1990-03-19 Nec Eng Ltd 半導体ディスク装置
US4985830A (en) 1988-09-27 1991-01-15 Universities Research Association, Inc. Interprocessor bus switching system for simultaneous communication in plural bus parallel processing system
US5253347A (en) * 1988-11-18 1993-10-12 Bull Hn Information Systems Italia S.P.A. Centralized arbitration system using the status of target resources to selectively mask requests from master units
DE4016782A1 (de) * 1989-08-03 1991-02-07 Jenoptik Jena Gmbh Verfahren zur kopplung multimasterfaehiger busse
US5168570A (en) * 1989-12-29 1992-12-01 Supercomputer Systems Limited Partnership Method and apparatus for a multiple request toggling priority system
EP0440452B1 (en) * 1990-01-31 1996-10-09 Hewlett-Packard Company Multiple bus system memory architecture
JPH03230387A (ja) 1990-02-05 1991-10-14 Tokyo Electric Co Ltd ダイナミックram制御装置
WO1991014989A1 (en) * 1990-03-19 1991-10-03 Thomas Austin Gafford A repeater/switch for distributed arbitration digital data buses
US5461723A (en) * 1990-04-05 1995-10-24 Mit Technology Corp. Dual channel data block transfer bus
JP2910303B2 (ja) 1990-06-04 1999-06-23 株式会社日立製作所 情報処理装置
JPH0460730A (ja) 1990-06-28 1992-02-26 Nec Corp キャッシュ制御方式
CA2051029C (en) * 1990-11-30 1996-11-05 Pradeep S. Sindhu Arbitration of packet switched busses, including busses for shared memory multiprocessors
EP0494056A3 (en) 1990-12-31 1994-08-10 Ibm Dynamically partitionable and allocable bus structure
JPH05181816A (ja) * 1992-01-07 1993-07-23 Hitachi Ltd 並列データ処理装置及びマイクロプロセッサ
JP3502404B2 (ja) 1992-10-19 2004-03-02 株式会社ソニー・コンピュータエンタテインメント コンピュータシステム
US5483656A (en) * 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
JPH06236347A (ja) 1993-02-09 1994-08-23 Fuji Xerox Co Ltd バス調停システム
US5508963A (en) * 1993-03-12 1996-04-16 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit
JP3476499B2 (ja) 1993-05-19 2003-12-10 富士通株式会社 データ転送方式
JP2943896B2 (ja) 1993-09-03 1999-08-30 株式会社ピーエフユー 計算機システム及びディスク・データの制御方法
JPH07152693A (ja) * 1993-11-29 1995-06-16 Canon Inc 情報処理装置
JPH07244635A (ja) * 1994-01-14 1995-09-19 Fujitsu Ltd バス使用権調停回路及び方法
JPH07225745A (ja) * 1994-02-09 1995-08-22 Canon Inc 情報処理装置及びアービトレーション方法
US5598542A (en) * 1994-08-08 1997-01-28 International Business Machines Corporation Method and apparatus for bus arbitration in a multiple bus information handling system using time slot assignment values
US6078337A (en) * 1994-09-12 2000-06-20 Canon Kabushiki Kaisha Maintaining consistency of cache memory data by arbitrating use of a connection route by plural nodes
WO1996013775A1 (en) 1994-10-26 1996-05-09 Flamepoint, Inc. Simultaneous processing by multiple components
US5557783A (en) * 1994-11-04 1996-09-17 Canon Information Systems, Inc. Arbitration device for arbitrating access requests from first and second processors having different first and second clocks
US5918006A (en) 1994-12-20 1999-06-29 Canon Kabushiki Kaisha Communication device provided with a storage medium for storing a control program
JPH08194643A (ja) 1995-01-19 1996-07-30 Fanuc Ltd メモリ制御方式
US5619661A (en) * 1995-06-05 1997-04-08 Vlsi Technology, Inc. Dynamic arbitration system and method
JP3003545B2 (ja) * 1995-06-28 2000-01-31 日本電気株式会社 磁気ディスク装置接続装置
US5802560A (en) * 1995-08-30 1998-09-01 Ramton International Corporation Multibus cached memory system
JP3399178B2 (ja) 1995-09-18 2003-04-21 カシオ計算機株式会社 電源制御装置及び方法
US5664121A (en) * 1995-11-07 1997-09-02 Sun Microsystems, Inc. Dual mode arbitration apparatus and method for reducing latency by allowing the possibility of simultaneous request and access for a shared bus
US5778200A (en) * 1995-11-21 1998-07-07 Advanced Micro Devices, Inc. Bus arbiter including aging factor counters to dynamically vary arbitration priority
US5956493A (en) * 1996-03-08 1999-09-21 Advanced Micro Devices, Inc. Bus arbiter including programmable request latency counters for varying arbitration priority
US5805838A (en) * 1996-05-31 1998-09-08 Sun Microsystems, Inc. Fast arbiter with decision storage
US5781783A (en) * 1996-06-28 1998-07-14 Intel Corporation Method and apparatus for dynamically adjusting the power consumption of a circuit block within an integrated circuit
US5805835A (en) * 1996-07-15 1998-09-08 Micron Electronics, Inc. Parallel architecture computer system and method
JP3934710B2 (ja) * 1996-09-13 2007-06-20 株式会社ルネサステクノロジ マイクロプロセッサ
JP3402953B2 (ja) * 1996-09-13 2003-05-06 株式会社東芝 通信方法、通信システムおよび通信装置
US5875314A (en) * 1996-11-01 1999-02-23 Northern Telecom Limited Configurable connection fabric for providing serial backplanes with adaptive port/module bandwidth
US5996051A (en) * 1997-04-14 1999-11-30 Advanced Micro Devices, Inc. Communication system which in a first mode supports concurrent memory acceses of a partitioned memory array and in a second mode supports non-concurrent memory accesses to the entire memory array
US5949982A (en) * 1997-06-09 1999-09-07 International Business Machines Corporation Data processing system and method for implementing a switch protocol in a communication system
US6128728A (en) * 1997-08-01 2000-10-03 Micron Technology, Inc. Virtual shadow registers and virtual register windows
US6185520B1 (en) * 1998-05-22 2001-02-06 3Com Corporation Method and system for bus switching data transfers

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100732286B1 (ko) * 1999-11-17 2007-06-25 마츠시타 덴끼 산교 가부시키가이샤 시스템 집적 회로
US7006258B2 (en) 1999-12-27 2006-02-28 Canon Kabushiki Kaisha Image processing apparatus, control method therefor, and image processing system
US7379201B2 (en) 2000-04-19 2008-05-27 Canon Kabushiki Kaisha Image processing apparatus and image processing method
US6985246B2 (en) 2000-04-19 2006-01-10 Canon Kabushiki Kaisha Image processing apparatus and image processing method
US6775716B2 (en) 2000-05-19 2004-08-10 Matsushita Electric Industrial Co., Ltd. High-performance DMA controller
JP2001344603A (ja) * 2000-05-31 2001-12-14 Canon Inc 画像処理装置並びに画像処理装置の制御方法および記憶媒体
JP2002175216A (ja) * 2000-09-29 2002-06-21 Intel Corp 行及び列コマンドを同時供給するためのシステム及び方法
US7315388B2 (en) 2001-01-24 2008-01-01 Canon Kabushiki Kaisha Image input/output control apparatus, image processing apparatus, image processing method, data communication apparatus, and data communication method
US7724388B2 (en) 2001-01-24 2010-05-25 Canon Kabushiki Kaisha Image input/output control apparatus, image processing apparatus, image processing method, data communication apparatus, and data communication method
US8384972B2 (en) 2001-01-24 2013-02-26 Canon Kabushiki Kaisha Image input/output control apparatus, image processing apparatus, image processing method, data communication apparatus, and data communication method
US7130072B2 (en) 2002-02-08 2006-10-31 Canon Kabushiki Kaisha Multifunction system, image processing method, computer program and memory medium
US6897872B2 (en) 2002-07-31 2005-05-24 Canon Kabushiki Kaisha Controller of multi function device
US7063036B2 (en) 2002-09-13 2006-06-20 Defence Science & Technology Agency System for connecting buoyant marine bodies
JP2007501478A (ja) * 2003-05-07 2007-01-25 ヴァーチャル シリコン テクノロジー インコーポレイテッド 電力の島を使用した集積回路での電力の管理
US7945885B2 (en) 2003-05-07 2011-05-17 Mosaid Technologies Incorporated Power managers for an integrated circuit
US7996811B2 (en) 2003-05-07 2011-08-09 Mosaid Technologies Incorporated Power managers for an integrated circuit
US8762923B2 (en) 2003-05-07 2014-06-24 Conversant Intellectual Property Management Inc. Power managers for an integrated circuit
US8782590B2 (en) 2003-05-07 2014-07-15 Conversant Intellectual Property Management Inc. Power managers for an integrated circuit
US9914290B2 (en) 2014-08-14 2018-03-13 Lg Chem, Ltd. Peeling bar for peeling polarizing film from panel, peeling apparatus and peeling method using the same
JP2016145858A (ja) * 2015-02-06 2016-08-12 株式会社メガチップス 表示ムラ補正装置

Also Published As

Publication number Publication date
EP0893766B1 (en) 2009-12-23
DE69841398D1 (de) 2010-02-04
EP0893766A3 (en) 2003-12-10
US6499076B2 (en) 2002-12-24
US6438635B1 (en) 2002-08-20
US20020007431A1 (en) 2002-01-17
US7062664B2 (en) 2006-06-13
US20020059491A1 (en) 2002-05-16
JP3524337B2 (ja) 2004-05-10
EP0893766A2 (en) 1999-01-27

Similar Documents

Publication Publication Date Title
JP3524337B2 (ja) バス管理装置及びそれを有する複合機器の制御装置
US6850995B1 (en) Control unit selectively connected with a first bus and a second bus for controlling a displaying process in parallel with a scanning process
US5819105A (en) System in which processor interface snoops first and second level caches in parallel with a memory access by a bus mastering device
EP0834816B1 (en) Microprocessor architecture capable of supporting multiple heterogenous processors
US6209067B1 (en) Computer system controller and method with processor write posting hold off on PCI master memory request
US6049841A (en) Method and apparatus of selecting data transmission channels
EP0663087A1 (en) Method and apparatus for non-snoop window reduction
US6697898B1 (en) Information processing system for composite appliance
US6347202B1 (en) Control device and control method for composite appliance
US6480916B1 (en) Information processing method and system for composite appliance
JP3976927B2 (ja) バス制御装置
US6003106A (en) DMA cache control logic
US6317813B1 (en) Method for arbitrating multiple memory access requests in a unified memory architecture via a non unified memory controller
EP1001606B1 (en) Image input/output control system
US6604151B1 (en) Control apparatus for composite appliance
JP2004046851A (ja) バス管理装置及びそれを有する複合機器の制御装置
JP2004030672A (ja) バス管理装置及びそれを有する複合機器の制御装置及びバス管理方法
JP2004062887A (ja) 電力管理装置及びそれを有する複合機器の制御装置
JP4136163B2 (ja) データ入出力装置およびデータ入出力装置のコントローラ
JP2000215157A (ja) バス制御装置
JP3206656B2 (ja) バス上でのプリフェッチ装置およびプリフェッチ方法
JP2000215156A (ja) 複合機器の情報処理システム
JP2000211215A (ja) 複合機器の制御装置
JPH10124445A (ja) 情報処理装置およびコントローラ

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040212

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

Free format text: PAYMENT UNTIL: 20080220

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090220

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100220

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees