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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling 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
る。 【解決手段】システムバスブリッジ(SSB)402に
は、CPU401からのPバス、システムメモリからの
MCバス、入出力機器が接続されたIOバス、スキャナ
プリンタコントローラ408の画像データを転送するG
バスが接続され、SSB402は、マスタとしてPバ
ス、Gバス、IOバスのいずれか、スレーブとしてMC
バス、IOバスのいずれかをマスタの要求に応じて接続
する。この際。PバスとIOバス、GバスとMCバス
は、並列に接続することができる。そのため、CPUに
よる入出力機器の使用と並行して、スキャナプリンタコ
ントローラによるメモリのアクセスを行うことができ
る。
Description
入力装置と、プリンタ等の画像出力装置とを効率的に制
御する複合機器の制御装置に関する。
プリンタなどの画像出力装置を組み合わせた、複写機や
ファクシミリ、あるいはそれらを単体として備えたコン
ピュータシステムなどが実用化されている。こういった
システムでは、画像データを扱うために、膨大な量のデ
ータを効率的に処理する必要がある。
おいては、データ転送のために複数のバスマスタによる
DMA転送が用いられる。複数のバスマスタが順次に処理
を行うことが必要な場合、例えば、メモリ上のデータに
対して、処理A(バスマスタ1)を行った後、処理B
(バスマスタ2)を行い、その処理後のデータをバスマ
スタ4に送るといった一連の処理を考える。
バスマスタが、メモリからデータをリードし、処理後の
データをメモリに書き戻すというDMA機能があれば、ソ
フトウェアはまず、バスマスタ1に対して処理Aを行う
ようにDMAをセットする。バスマスタ1はすべての処理
を終了後、プロセッサに対して割り込みを上げ、処理の
終了を行うようにDMAをセットし、処理の終了後、今度
はバスマスタ4に対してメモリからデータをリードする
ようにセットを行う。このように一連の処理を行うため
には、ソフトウェアによりひとつの処理が終了したのを
確認してから次の処理をスタートさせるというように処
理を行っていく必要があった。
う度にソフトウェアが介入する必要があり、また処理毎
にいちいちメモリに書き戻してやる必要があり、無駄な
処理が多いという第1の問題があった。
バスではバスの転送能力がボトルネックとなっていた。
これを解消するために、バスを2重化して転送能力の増
強を図ったシステムもあった。
ムであっても、バスの構成が柔軟でなく、大量のデータ
を転送する場合などには、十分な転送能力が引き出され
てはいなかったという第2の問題点があった。
あり、複数のバスマスタが同一のメモリアドレスに書き
込みを行おうとした場合、バス使用権を獲得した順にメ
モリへデータを書き込むことが保証できた。
らのバスのバス調停(アービトレーション)と、複数の
バスのどれかひとつのバスをメモリへ接続することを独
立に制御するシステム構成では、複数のバスの接続され
た複数のバスマスタが同時に同一のメモリ空間へ書き込
みを行う可能性があり、書き込みの順序は、バスの調停
によりバスの使用権を得た順序とはならない可能性があ
るという第3の問題点があった。
従来キャッシュメモリの使用が行われている。
送先メモリのアドレス情報を基にキャッシュのオン/オ
フが行われていた。このため、大量のデータをキャッシ
ュ許可のメモリ空間に転送すると、この大量のデータが
キャッシュされ、すべて新たなデータで書き換えられて
しまい、他のデバイスがメモリにアクセスする場合には
キャッシュミスとなる可能性が高い。これはキャッシュ
の容量を増やせば解決するかに見えるが、それは大幅な
製造コストの上昇につながる。また、特に、プリント時
などには、読み出された大量の画像データはそのままプ
リンタエンジンに渡されてそのデータがキャッシュされ
たとしても2度と使用されることはない。このようにむ
やみにキャッシュすることは、逆にキャッシュヒット率
を低下させることになる。このように、キャッシュを効
率良く利用することができない場合があるという第4の
問題点があった。
は、複数のバスを使用できるバスマスタは、どのバスを
使用するか決定する必要がある。従来はアクセスする相
手先が決まればそれに応じてバスも決定していた。
じて固定されているため、各バスの転送速度や使用率等
を考慮した効率的なバスの使用が行えないという第5の
問題点があった。
導体チップに集積すると大量の熱が発生し、パッケージ
が熱で破壊されるおそれがあるという第6の問題点があ
った。
もので、処理毎のソフトウェアの介入が必要なく全体と
しての処理速度を向上させるバス管理装置及びそれを有
する複合機器の制御装置を提供することを第1の目的と
する。
されたもので、バスの構成を柔軟にし、最適なバスを選
んでデータの転送を行えるバス管理装置及びそれを有す
る複合機器の制御装置を提供することを第2の目的とす
る。
されたもので、複数のバスのそれぞれに接続されたバス
マスタからのバスの使用権を得た順にメモリにアクセス
できるバス管理装置及びそれを有する複合機器の制御装
置を提供することを第3の目的とする。
されたもので、キャッシュの使用効率を向上させるメモ
リ管理装置及びそれを有する複合機器の制御装置を提供
することを第4の目的とする。
されたもので、各バスマスタが使用するバスを動的に決
定してバスの効率を向上させたバス管理装置及びそれを
有する複合機器の制御装置を提供することを第5の目的
とする。
されたもので、回路の動作状態を監視して消費電力を抑
制し、大量の熱を発生を抑制する電力管理装置及びそれ
を有する複合機器の制御装置を提供することを第6の目
的とする。
めに、本発明のバス管理装置は次のような構成からな
る。すなわち、少なくとも1つのバスと、該バスに接続
された複数のバスマスタと、前記複数のバスマスタそれ
ぞれに対してバス使用権の付与の開始条件と終了条件と
を記憶する手段と、前記複数のバスマスタからバスの使
用要求があると、前記条件にしたがって前記複数のバス
マスタのバス使用権を付与を開始し、終了するバス調停
手段とを備える。
バスに接続されたバスマスタと、前記バス同士の接続
を、前記バスのそれぞれに接続されたバスマスタのバス
の要求に応じて切り替える切り替え手段とを備える。
少なくとも2つのバスと、前記バスを介してアクセスさ
れるメモリと、前記バスそれぞれに接続され、当該バス
のバスマスタによるバス要求を調停し、そのいずれかに
バス使用権を付与する調停手段と、前記バスそれぞれに
ついてバス使用権を付与された複数のバスマスタが同一
のあて先に書き込みを行う場合、それらバスマスタのう
ち、もっとも早くバス要求を出したバスマスタ以外のバ
スマスタに対するバス使用権を停止させるよう、前記調
停手段に対して通知するバス同期手段とを備える。
する少なくとも2つのバスと、前記バスに接続されたバ
スマスタと、前記バスの状態と、前記バスマスタから出
されるバス要求の情報とを判定し、前記バスのうちいず
れを使用するか決定する決定手段とを備える。
ような構成からなる。すなわち、連続したロケーション
へのデータ転送を行うバーストモードを支援するメモリ
と、前記メモリの前段にあって、該メモリと交換される
データを一旦蓄積するキャッシュメモリを備えたメモリ
制御手段とを備え、前記メモリ制御手段は、前記メモリ
へのデータ転送がバ−ストモードであればキャッシュを
介さずに直接前記メモリへデータを転送し、シングルモ
ードであれば一旦キャッシュにデータを書き込むようキ
ャッシュメモリを制御する。
タ転送を行うバーストモードを支援するメモリと、前記
メモリの前段にあって、該メモリと交換されるデータを
一旦蓄積するキャッシュメモリを備えたメモリ制御手段
と、前記メモリへアクセスする複数のバスマスタとを備
え、前記メモリ制御手段は、前記メモリへのデータ転送
をしようとするバスマスタに応じて、キャッシュを介さ
ずに直接前記メモリへデータを転送するか、一旦キャッ
シュにデータを書き込んでメモリへデータを転送するか
制御する。
うな構成からなる。すなわち、制御部により制御された
複数の回路ブロックを含む電気回路の消費電力を制御す
る電力管理装置であって、各ブロックの動作状態を監視
する状態監視手段と、動作状態にあるブロックの消費電
力を加算する加算手段と、加算された電力を所定の閾値
と比較し、閾値を越えたことを前記制御部に通知する通
報手段とを備える。
次のような構成からなる。すなわち、上記いずれかに記
載のバス管理装置を備え、該バス管理装置により、画像
入力装置及び画像出力装置が接続されたバスを管理す
る。
理装置を備える。
装置を備える。
プロセッサコア、プロセッサ周辺コントローラ、メモリ
コントローラ、スキャナー/プリンタコントローラ、P
CIインターフェースなどを内蔵したシングルチップ・
スキャニング・プリンティングエンジンである“DoE
ngine”を説明する。
00プロセッサとコンパチブルなプロセッサコア、プロ
セッサ周辺コントローラ、メモリコントローラ、スキャ
ナー/プリンタコントローラ、PCIインターフェース
などを内蔵したシングルチップ・スキャニング・プリン
ティングエンジンである。高速並列動作、ビルディング
ブロック手法を採用し実装される。
プロセッサ周辺回路の総称)内には最大でインストラク
ション、データそれぞれ16Kバイトの計32Kバイト
のキャッシュメモリ、FPU(浮動小数点演算ユニッ
ト)、MMU(メモリ管理ユニット)、ユーザー定義可
能なコプロセッサなどを内蔵することが可能である。
で、PCIバススロットを有するコンピュータシステム
と共に用いることができる。また、PCIサテライト構
成に加え、PCIホストバスブリッジ構成にてPCIバ
スコンフィギュレーションを発行することが可能であ
り、安価なPCI周辺デバイスと組み合わせることによ
り、マルチファンクションペリフェラル(複合機能周辺
機器)のメインエンジンとして使用することも可能であ
る。さらにPCIバスインターフェースを有するレンダ
リングエンジン、圧縮・伸長エンジンと組み合わせるこ
とも可能である。
バス、及び、画像データ転送に最適化したグラフィック
バス(Gバス:Graphics Bus)の2系統の独立したバスを
有し、メモリ、プロセッサとこれらのバスをクロスバス
イッチを介して接続することにより、マルチファンクシ
ョンシステムにおける同時動作に必須の、並列性の高い
高速データ転送を実現している。
続したデータ列のアクセスに対し、最高のコストパフォ
ーマンスを有するシンクロナスDRAM(SDRAM)
をサポートし、SDRAMのバーストアクセス高速デー
タ転送のメリットを享受できない小さなデータ単位での
ランダムアクセスにおける性能低下を最小に抑えるため
に、8Kバイトの2ウェイセットアソシアティブ・メモ
リフロントキャッシュをメモリコントローラ内に備え
る。メモリフロントキャッシュは、すべてのメモリライ
トに対するバススヌープが難しい、クロスバスイッチを
採用したシステム構成においても、複雑な機構なしに、
キャッシュメモリによる高性能化が達成出来る方式であ
る。また、リアルタイムデータ転送(機器制御)が可能
な、プリンタ及びスキャナーとのデータインターフェー
ス(Video Interface)を有し、さらにハードウェアによ
る、機器間同期のサポート及び画像処理を行う事によ
り、スキャナ、プリンタ分離型の構成においても、高品
質で高速なコピー動作の実現が可能な構成となってい
る。
Vで動作し、IOは5Vトレラントである。
を用いた装置あるいはシステムの構成例を示している。
図1は分離構成型であり、パーソナルコンピュータ10
2には、それが備えるPCIインターフェースを介して
DoEngineを備えたローカルボード101が装着
される。ローカルボード101にはDoEngineの
ほか、後述するメモリバスを介してDoEngineと
接続されたメモリと、色処理回路(チップ)が設けられ
ている。このローカルボード101を介して、高速スキ
ャナ103とカラー/モノクロプリンタ104とがパー
ソナルコンピュータ102に接続される。この構成によ
り、パーソナルコンピュータの制御のもとで,ローカル
ボード101により、スキャナ103から入力された画
像情報を処理し、プリンタ104から出力させることが
できる。
リンタ202とを一体に組み込んだ例で、図2は通常の
複写機に類する構成を、図3(a)はファクシミリ装置
などの構成を示している。図3(b)は、図3(a)を
コントロールするコンピュータを示している。
ーフェースを介して接続された外部のCPUによりDo
Engineが制御されるというスレーブモードで使用
されている例であり、図3は、DoEngineのCP
Uが主体となり、PCIインターフェースを介して接続
されたデバイスを制御するマスタモードで使用されてい
る例である。
す。外部インターフェースとして、PCI,メモリバ
ス,ビデオ,汎用入出力,IEEE1284,RS23
2C,100baseT/10baseT,LCDパネ
ル及びキーを備えるが、更にUSBを有していてもよ
い。内蔵ブロックとして、CPUコアに加えて、1次キ
ャッシュ,キャッシュ付きメモリコントローラ,コピー
エンジン,IOバスアービタ,グラフィックバスアービ
タなどを備えている。また、DMAコントローラはチャネ
ル数が5であり、グラフィックバス,IOバスともにア
ービトレーションは、優先度付きの先着順処理方式で行
われる。
ロック毎のブロック図、概要、詳細、コアインターフェ
ース、タイミング図などを解説する。
oEngine400は次世代複合機能周辺機器(シス
テム)(MFP:Multi Function Peripheral or MFS:Multi
Function System)の主たるコントローラとして設計、開
発された。
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モジュール間を、可能な限り、同時平行接
続を確保することができるように設計されている。
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にも接続され
ている。
(Memory Management Unit)、命令キャッシュ、データ
キャッシュ、ライトバックバッファ及び掛け算ユニット
を含んだブロックを指す。 <キャッシュメモリ>図5に示したように、キャッシュ
メモリコントローラは、無効(Invalid),有効かつクリ
ーン(Valid Clean:キャッシュが更新されていない),
有効かつダーティ(Valid Dirty:キャッシュが更新され
ている)の3つのステートキャッシュを管理する。この
状態に応じて、キャッシュは制御される。
示す。
バスインターフェース605を介してIOバス405に
接続され、DoEngineチップ内の各機能ブロック
及び、チップ外部からのインタラプトを集積し、CPU
コア401がサポートする、6レベルの外部インタラプ
ト及び、ノンマスカブルインタラプト(NMI)に再分
配する。各機能ブロックとは、電力管理ユニット40
9,シリアルインターフェースコントローラ411,U
SBコントローラ412,パラレルインターフェースコ
ントローラ413,イーサネットコントローラ414,
汎用IOコントローラ415,PCIインターフェース
コントローラ416,スキャナ/プリンタコントローラ
408などである。
ョン可能なマスクレジスタ(Int Mask Logic 0 - 5)60
2により、各要因毎に割り込みをマスクをすることが可
能である。また、外部インタラプト入力は、選択的エッ
ジ検出回路601により、信号線ごとに、エッジセンス
/レベルセンスを選択することが出来る。要因レジスタ
(Detect and set Cause Reg 0 - 5)603は、各レベ
ルごとに、どのインタラプトがアサートされているかを
示すとともに、ライト動作を行うことで、レベルごとに
クリアを行う事が出来る。
なくともひとつの割り込みがあれば割込み信号を出力す
べく、論理和回路604により論理和として出力され
る。なお、各レベル内での複数要因間のレベル付けはソ
フトウェアにて行う。
る。メモリコントローラ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ビットとする。
成となっている。 <MCバスインターフェース(701)>MCバスは、
SBB402−メモリコントローラ403間の専用のバ
スであり、またSBB内部の基本バスとして用いられて
いる。
続する専用バス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(入力) … バスエラー パリティエラーやその他のバスエラーが発生した場合に
アサートされる。
ての定義である。 (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を以
下のように制御する。
は、x4,x8,x16ビットタイプの16/64メガビットS
DRAMを64ビットデータバスで8バンク制御すること
ができる。
のアドレスビットの割付けについては、64ビットSD
RAMの場合にはMA[13:0]を、16ビットSDRAMの
場合にはMA[11:0]を使用する。
SDRAMは内部にモードレジスタを持ち、モードレジ
スタ設定コマンドを用いて下記の項目を設定する。 バースト長 バースト長は、1,2,4,8,フルページのいずれか
が設定可能であるが、CPUからのバースト転送長が4で
あることから、バースト長4が最適である。Gバスから
の16バースト以上の転送は、Read/Writeコマンド(オ
ートプリチャージ無し)を連続して発行することにより
実現する。 ラップタイプ(Wrap Type) バースト転送時のアドレスのインクリメント順を設定す
る。「シーケンシャル」または「インターリーブ」のど
ちらかが設定可能である。 CASレーテンシ CASレーテンシは、1,2,3のいずれかが設定可能で
あり、使用する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)時にセルフリフレッシュが続行される。
はパワーオンリセット後、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に示す。
りメモリリード/ライト転送が要求された場合のキャッ
シュの動作を図8のブロック図と、図9及び図10に示
すフローチャートを用いて説明する。
その転送の最初にMCバス上で示されるmTType[6:0]に
よって、その転送がキャッシュオンでおこなうか、オフ
でおこなうかの判断がおこなわれる。この説明では、転
送がシングル転送であればオン、バースト転送であれば
オフと判断することにする(ステップS901)。すな
わち、mTType(3)が“1”hであれば、シングル転送を
あらわすのでキャッシュオンで、“0”hであればバー
スト転送をあらわすのでキャッシュオフで転送を行う。
アドレス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)。
出力されたb1_tag_addrとb2_tag_addrがそれぞれb1_com
parater804,b2_comparater805でアドレスlmaddr
[31:12]と比較され、その結果、すなわちヒットか否か
がb1_hit_miss_L,b2_hit_miss_L信号によりキャッシュ
コントローラ706へ知らされ、判定される(ステップ
S903)。
が判定される(ステップ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
ヒット)に書き換えて、転送が終了する。
ようになる。すなわち、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)。
リードかライトか判定される(ステップ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)。
(キャッシュオフ)の場合、リード、ライトともSDR
AMに対してだけ行われ(ステップS907−S90
9)、キャッシュデータやタグの書き換え等は行わな
い。 <ROM/RAMインターフェース(707)>ROM
/RAMコントローラ707の構成を図11に示す。ブ
ロック1101〜ブロック1104により、SDRAM
のデータ信号、アドレス信号、パリティ信号が、フラッ
シュROMのデータ信号、アドレス信号と多重化され
る。
出し・書き込み等の処理のタイミングを、図12〜図1
9を用いて説明する。
のタイミングを示す。バースト長は4、CASレイテン
シは3である。図9のステップS909における処理に
相当する。
のタイミングを示す。バースト長は4、CASレイテン
シは3である。図9のステップS908における処理に
相当する。
読み出しのタイミングを示す。Gバスのバースト長は1
6、SDRAMのバースト長は4、CASレイテンシは
3である。図9のステップS909における処理に相当
する。
書き込みのタイミングを示す。Gバスのバースト長は1
6、SDRAMのバースト長は4、CASレイテンシは
3である。図9のステップS908における処理に相当
する。
ットした場合のシングル読み出しのタイミングを示す。
読み出されるデータmDataIn[63:0]としては、キャッシ
ュメモリであるb1_data_ram702−aあるいはb2_data
_ram702−bから読み出されたb1/b2_out_dataが出力
される。SDRAMのバースト長は4、CASレイテン
シは3である。図9のステップS905における処理に
相当する。
ットしなかった場合のシングル読み出しのタイミングを
示す。読み出されるデータ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における処理に相当
する。
ットした場合のシングル書き込みのタイミングを示す。
書き込まれるデータmDataOut[63:0]は、キャッシュメモ
リであるb1_data_ram702−aあるいはb2_data_ram7
02−bに書き込まれるとともに、SDRAMにも書き
込まれる。SDRAMのバースト長は4、CASレイテ
ンシは3である。図9のステップS906における処理
に相当する。
ットしなかった場合のシングル書き込みのタイミングを
示す。書き込まれるデータmDataOut[63:0]は、キャッシ
ュメモリであるb1_data_ram702−aあるいはb2_data
_ram702−bには書き込まれず、SDRAMに対して
だけ書き込まれる。SDRAMのバースト長は4、CA
Sレイテンシは3である。図10のステップS1002
における処理に相当する。
が開始されると、その転送の最初にMCバス上で示され
るmTType[6:0]によって、転送がシングル転送であれば
オン、バースト転送であればオフと判断しているが、バ
ースト転送の場合に、さらにバースト長を判定し、バー
スト長がキャッシュの1ラインよりも小さい場合にはキ
ャッシュオンとし、そうでない場合にはキャッシュオフ
として動作するようにしてもよい。
を要求したバスマスタの識別子を示す信号を含ませるこ
とで、メモリコントローラがその識別子を判定し、識別
子に応じてキャッシュオン/キャッシュオフの制御を行
うこともできる。この場合には、識別子とキャッシュオ
ン/オフの別とを対応させた書換え可能なテーブルを用
意し、それを参照してキャッシュのオンオフを切り替え
ることもできる。このテーブルは、例えば特定のアドレ
スを割り当ててCPU401などから書換え可能にする
こともできる。
及びIOバス,Gバス 図20としてシステムバスブリッジ(SBB)402の
ブロック図を示す。
ス),Gバス(グラフィックバス),Pバス(プロセッサ
ローカルバス)及びMCバス間の相互接続をクロスバス
イッチを用いて提供する、マルチチャネル双方向バスブ
リッジである。クロスバスイッチにより、2系統の接続
を同時に確立することが出来、並列性の高い高速データ
転送を実現出来る。
るためのIOバスインターフェース2906と、Gバス
404と接続するためのGバスインターフェース200
6と、プロセッサコア401と接続するためのCPUイ
ンターフェーススレーブポート2002と、メモリコン
トローラ403と接続するためのメモリインターフェー
スマスターポートを備えるほか、アドレスバスを接続す
るアドレススイッチ2003,データバスを接続するデ
ータスイッチ2004を含む。また、プロセッサコアの
キャッシュメモリを無効化するキャッシュ無効化ユニッ
ト2005を備えている。
IOバスデバイスからのDMAライトを高速化するライト
バッファと、IOバスデバイスのリードを効率化するリ
ードプリフェッチキューを実装する。これらのキュー内
に一時的に存在するデータに関するコヒーレンシ管理は
ハードウェアにて行う。なお、IOバスに接続されたデ
バイスをデバイスと呼ぶ。
ダイナミックバスサイジングをサポートしているが、S
BB402ではこれをサポートしない、将来、バスサイ
ジングをサポートしないプロセッサを用いる場合にもS
BBに必要な改造を最小限におさえるためである。
動作 <IOバスインターフェース>図21は、IOバスイン
ターフェースのブロック図である。
OバスとMCバス間の双方向ブリッジ回路である。IO
バスはDoEngineの内部汎用バスである。
は、マスタコントロールブロック2011、スレーブコ
ントロールブロック2010、データインターフェース
2012、DMAC2013、IOバスバッファの5ブロッ
クが含まれる。図21上で、DMAC2013は、機能上3
個のシーケンサとレジスタブロックに分割される。それ
ら3つのシーケンサのうち、DMAメモリアクセスシーケ
ンサはIOバススレーブコントロールブロック2010
に、DMAregシーケンサはIOバスマスターコントロ
ールブロック2011に内蔵される。レジスタブロック
であるDMAレジスタはIOバスデータインターフェース
2012部に内蔵される。
IOバス側からのメモリへの書き込み時、及びDMAによ
るデバイスからメモリへの転送が起こった時に、キャッ
シュ無効化インターフェースを介してCPUシェル内のデ
ータ、命令両キャッシュの無効化の制御を行う。
ァはIOバスインターフェースには実装しないが、IO
バス上の外部マスタライト時のライトバッファを実装す
る。これにより、バースト転送でない、連続した外部マ
スタからの書き込みが高速化される。このライトバッフ
ァのフラッシュは、IOバスアービタ407によるメモ
リへの接続が許された時点で行われる。IOバスマスタ
リードのライトバッファバイパスは行わない。
ューを実行する。これにより、外部マスタからの連続し
た、データストリームの読み出しの高速化を図る。リー
ドバッファの無効化は、 1.IOバスの新たなリードがバッファにヒットしなか
った場合。 2.CPUからメモリへのライトが行われた場合。 3.Gバスからメモリへのライトが行われた場合。 4.IOバスからメモリへのライトが行われた場合。 に行われる。
はIOバス405上の各デバイスとメモリ間のDMAコン
トローラ2013が内蔵される。システムバスブリッジ
402にDMAコントローラを内蔵することにより、ブリ
ッジ双方へ、同時にアクセス要求が発行出来、効率的な
DMA転送が実現出来る。
セッサ401からのアクセス要求に対して、ダイナミッ
クバスサイジングの使用を要求しない。またIOバスマ
スタからのメモリアクセス要求時に、メモリコントロー
ラ403からのバスサイジングにも対応しない。すなわ
ち、メモリコントローラはバスサイジングを期待すべき
ではない。 <IOバス> IOバスはDoEngine内の汎用IOバスであり、
以下の仕様を持つ。 ・アドレス、データ分離型32ビットバス。 ・任意のウェイトサイクルを挿入可能、最短はノーウェ
イト。 ・バーストトランザクションのサポート。 ・最大転送速度は、クロックが50MHz時に200Mbyte/Se
c。 ・バスエラーとバスリトライのサポート。 ・複数バスマスタのサポート。
義を説明する。各信号毎に、「信号名(英語呼称):入
力元>出力先 (,3States)…信号の説明」の要領で記
載されている。なお、3ステートの項は3ステートの信
号に限り記載した。
er>Slabe,3State… IOBusアドレスバス。
iver>DataReceiver,3State … IOBusデータバス。
Output Enable Request):Datadriver>DefaultDriver
Logic … 後述する双方向IOバスを実現するため、
デフォルトドライバーコントロールロジックヘの出力信
号である。Datadrivernameを持つデバイスが、バス上に
データをドライブするための要求信号である。データの
出力を許可されたデバイスには、デフォルトドライバー
コントロールロジックよりb(Datadrivername)DataOe_L
が出力される。Datadriverの例:Pci,Sbb,Jpeg,Spu。
Output Enable): dfaultDriverLogic>Datadriver
… b(Datadrivername)DataOeReqを出力したデバイスに
対し、デフォルトドライバーロジックがデータバスへの
データのドライブを許す場合b(Datadrivername)DataOe_
L信号をそのデバイスに対して返す。
ter 3State … IOバストランザクションがエラーで
終了したことを示す。
biter>Master … バスアービトレーションにより当マ
スタがバスの使用権を得たことを示す。Masternameの
例:Pci,Sbb,Jpeg,Spu。
utput Indicator):Master>Slave,3State … IO
バスマスタがインストラクションフェッチをIOバスス
レーブに対して行う場合にHighにドライブする。データ
トランザクションの場合はLowにドライブする。
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信号を返す。
ntrol Output Enable):DefaultDriverLogic>Master
… b(Mastername)CntlOeReqを出力したマスタに対し、
デフォルトドライバーロジックがドライブを許す場合b
(Mastername)CntlOe_L信号をそのマスタに対して返す。
State … IOバススレーブは、現在のIOバスデー
タトランザクションが現在のクロックサイクルを最後に
終了することを示すためにこの信号をアサートする。I
Oバスマスタは、この信号により、現在のトランザクシ
ョンがこのクロックサイクルで終了することを知る。
t):Master>Arbiter … IOバスマスタが、IOバ
スアービタに対し、バスの使用権要求を行う事を示す。
ter 3State … IOバススレーブがマスタに対し、バ
ストランザクションの最実行を要求する。
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信号を返す。
Output Enable):DefaultDriverLogic>Slave … b
(Slavename)RdyOeReqを出力したマスタに対し、デフォ
ルトドライバーロジックがドライブを許す場合b(Slaven
ame)RdyOe_L信号をそのマスタに対して返す。
xtMaster … IOバスインターフェースがIOバスに
接続された他のデバイスに対し、キャッシュのスヌーピ
ング実行中であることを示す。IOバスに接続されたデ
バイスはこの信号がアサートされている間は新たなトラ
ンザクションを発行できない。
aster >Slave 3State … IOバスマスタがIOバス
トランザクションをスタートすることを示す信号、IO
バススレーブは、この信号を監視することにより、IO
バストランザクションのスタートを知ることが出来る。
ut):Master>Slave 3State …IOバスマスタがIO
バススレーブに対し、IOバストランザクションが現在
実行中である事を示すためにアサートする。
t):Master>Slave,3State … IOバスマスタが、
IOバスバーストライトのリクエストに対し、バースト
ライト実行することを示すためにドライブする。
t):Slave >Master,3Stete …IOバススレーブがI
Oバスマスタに対し、バースとライトを要求する場合に
アサートする。
er):Master>Slave,3State …IOバスマスタが、I
Oバススレーブに対し、現在のトランザクションがライ
トである事を示すためにアサートする。
taDriver>DataReceiver,3State… IOバス上にデー
タをドライブするエージェントが、各ビットに対応した
bData[31:0]上のバイトレーンが有効である事を示すた
めにHighにドライブする。本信号の各ラインとbDataの
バイトレーンは表4の対応関係にある。
t):Master>Slave,3Sate … IOバスマスタが拡張
バーストを行いたい事を示す。アサート、ネゲートタイ
ミングはbTx_Lと同一。
owledge):Slave>Maste,3State… IOバススレーブ
が拡張バーストを行える事を示す。アサート、ネゲート
タイミングはbRdy_Lと同一。
th):Master>Slave,3State …IOバスマスタが拡張
バーストを行う場合のバースト長を示す。アサート、ネ
ゲートタイミングはbTx_Lと同一であり、信号値とバー
スト長との対応は表5に示したとおりである。
ngine内部のバスである、IOバス(及びGバス)
は接続される機能ブロック数が10以上になるので、In
Out分離バスですべてのブロックを接続することは、困
難である。DoEngineでは、チップ内双方向バス
を採用する。 <Gバスインターフェース>図22にGバスインターフ
ェース2006のブロック図を示す。この概要は下記の
通りである。
コントローラ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
クロック以上経過してからしか行えない。基本的に信号
のリリースはネゲートした次のクロックで行う。
ローアクティブであることを示す。信号の記述のしかた
は、ほぼIOバス信号の記述に準ずる。説明は、システ
ム信号、アドレス及びデータ信号、インターフェース制
御信号、アービトレーション信号に分けて行う。また、
バスエージェントとは、バスに接続されるバスマスタや
バススレーブの総称である。
ザクションについてタイミングを提供し、すべてのデバ
イスに対して入力となる。
すべてのデバイスをリセットする。すべての内部レジス
タはクリアーされ、すべての出力信号はネゲートされ
る。
e … Gバス上のデータ転送はすべて128byte(16ビ
ート)単位で行われるため、gAddr[31]〜gAddr[7]の2
5ビットで4Gbyteのアドレス空間をサポートする。 drive:gTs_Lと同時にマスターがドライブ assert:ドライブした次のクロック negate:gAack_Lのアサートを確認したクロック。
utPut Enable Request):Master>DefaultDriverLogic
… 双方向Gバスを実現するための、デフォルトドラ
イバロジックへの出力信号。バスマスタがアドレスバス
をドライブするための要求信号。
utPut Enablet):DefaultDriveLogic>Master … g(M
astername)AddrOeReqを出力したバスマスタに対し、デ
フォルトドライバロジックがアドレスバスのドライブを
許可することを示す信号。
ataDriver>DataReceiver … 64ビットデータバスで、
ライト時はマスタがドライブ、リード時はスレーブがド
ライブ。
ドライブ。ただし、gSlvBsy_Lがアサートされている時
はネゲートされるまで待ってドライブ。 assert:ドライブした次のクロック。 change:gAack_Lのアサートを確認したクロック、その後
は毎クロック。 negate:転送終了時、またはgTrStp_Lによる転送停止要
求を確認した場合は、gAack_Lのアサートを確認したク
ロック。
ブがドライブ。 assert:スレーブがReadyであればドライブした次のクロ
ックで、ReadyでなければReadyになるまで待ってアサー
トされる。 change:gAack_Lのアサートを確認したクロック、その後
は毎クロック。リードの場合はアサートしたクロックか
ら毎クロック。 negate:転送終了時。 release:ネゲートの1クロック後、またはgTrStp_Lによ
る転送停止要求を確認したクロック。
OutPut Enable Request):DataDriver>DefaultDriver
Logic … データドライバがデータバスをドライブす
るための要求信号。
OutPut Enablet):DefaultDriverLogic>DataDriver
… g(DataDrivername)DataOeReqを出力したデータドラ
イバに対し、デフォルトドライバロジックがデータバス
のドライブを許可することを示す信号。
e … マスターにより1クロックの間Lowにアサートさ
れ、転送の開始(アドレスフェーズ)をあらわす。マス
ターはgTs_Lと共に、gAddr,gRdNotWr,gBstCntをドライ
ブし、転送の種類、データ量を明確にする。マスタは、
ライトの場合ここで明確にした転送データ量をウェイト
なしで出せることを保証しなければならない。また、リ
ードの場合は明確にした転送データ量をウェイトなしで
受けることを保証しなければならない。スレーブは途中
でデータ転送ができなくなった場合はgBsStep_Lによ
り、次の16ビートの転送をキャンセルすることがあ
る。ただし、16ビートの途中でキャンセルすることは
ない。 drive:gGnt_Lのアサートを確認したクロックでドライ
ブ。 assert:ドライブした次のクロック。 negate:1クロックアサート後にネゲートされる。
n Start OutPut Enable Request):Master>DefaultDri
verLogic … バスマスタがgTs_Lをドライブするため
の要求信号。
Start OutPut Enablet):DefaultDriverLogic>Master
… g(Mastername)TsOeReqを出力したバスマスタに対
し、デフォルトドライバクロックがgTs_Lのドライブを
許可することを示す信号。
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クロックアサート後にネゲートされる。
cknowledge OutPut Enable Request):Slave>DefaultD
riverLogic … スレーブがgAack_Lをドライブするた
めの要求信号。
knowledge OutPut Enablet):DefaultDriverLogic>Sla
ve … g(Slavename)AackOeReqを出力したスレーブに
対し、デフォルトドライバロジックがgAack_Lのドライ
ブを許可することを示す信号。
y):Slave>Master … スレーブがドライブし、デー
タバスでデータを転送中であることをあらわす。 drive:アドレスデコードヒット時、gTs_Lのアサートを
確認したクロックでドライブ開始。ただし、gSlvBsy_L
がアサートされている時はネゲートされるまで待ってド
ライブ。 assert:スレーブがReadyであればドライブした次のクロ
ックで、ReadyでなければReadyになるまで待ってアサー
ト。 negate:転送終了時にネゲート。 release:ネゲートの1クロック後、またはgTrStp_Lによ
る転送停止要求を確認したクロック。
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のドライブを許可すること
を示す信号。
ite(Low)):Master>Slave … マスターによりドライ
ブされ、HighでREAD、LOWでWRITEをあらわす。ドライブ
する期間はGAと同じである。 derive:gTs_Lと同時にマスターがドライブ。 assert:ドライブした次のクロック。 negate:gAack_Lのアサートを確認したクロック。
Write OutPut Enable Reques):Master>DefaultDriver
Logic … バスマスタがgRdNotWrをドライブするため
の要求信号。
rite OutPut Enablet):DefaultDriverLogic>Master
… g(Mastername)RdNotWrOeReqを出力したバスマスタ
に対し、デフォルトドライバロジックがgRdNotWrのドラ
イブを許可することを示す信号。
nter):Master>Slave … マスターによりドライブさ
れ、連続して行うバースト転送の数(1〜4)をあらわ
す。信号の値とバースト転送するバイト数との対応は表
6のようになる。 derive:gTs_Lと同時にマスターがドライブ。 assert:ドライブした次のクロック。 negate:gAack_Lのアサートを確認したクロック。
Counter OutPut Enable Request):Master>DefaultDri
verLogic … バスマスタがgBstCntをドライブするた
めの要求信号。
ounter OutPut Enablet):DefaultDriverLogic>Master
… g(Mastername)BstCntOeReqを出力したバスマスタ
に対し、デフォルトドライバロジックがgBstCntのドラ
イブを許可することを示す信号。
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上をドライブするための要求信号。
op OutPut Enablet):DefaultDriverlogic>Slave …
g(Slavename)BstStpOeReqを出力したスレーブに対
し、デフォルトドライバロジックがgBstStp_Lのドライ
ブを許可することを示す信号。
>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で指定されたデータ量だけ転送
を行う。マスタとスレーブは、それぞれ自分でクロック
をカウントして、データ転送の終了を知らなければなら
ない。
れたデータ転送量を転送できなくなった場合は、bStStp
_Lを15ビート目でアサートすることで、次の16ビー
トの転送をキャンセルすることがただし、16ビートの
途中でキャンセルすることはできない。
サートされれば、次のクロックでデータの転送を終了さ
せなければならない。
(CIU)>キャッシュインバリデーションユニット
(以下CIU)2005は、IOバスからメモリへのライ
トトランザクションを監視し、これが起こった場合は、
メモリへの書込が終了する前に、CPUシェルのキャッ
シュインバリデーションインターフェースを用い、CP
Uシェルに内蔵されたキャッシュの無効化を行う。
する。 ・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と同一サイクルだけドライブする。
は、IOバスからのライトが起こった場合は、安全のた
めにIcacheもインバリデーションしている、もし、OS
でセルフモディファイングコードを禁止し、インストラ
クションとして使われる可能性のあるデータのローディ
ング時に、意図的にインストラクションキャッシュのイ
ンバリデーションを行うなら、Icacheのインバリデーシ
ョンはいらない。この場合は若干のパフォーマンスアッ
プが望める。
リマップを示す。図23は、左から順に、仮想メモリマ
ップ、物理メモリマップ、Gバスのアドレス空間でのメ
モリマップ、IOバスのアドレス空間でのメモリマップ
である。また、図24は、レジスタ等を含む図23にお
ける斜線部の512メガバイトを示すマップである。
ベースにしている。プロセッサコアの物理アドレス空間
は32ビットアドレッシングにより4Gバイトある。仮
想空間も同様に32ビットアドレッシングを行なう。ユ
ーザープロセスの最大サイズは2Gバイトである。アド
レスマッピングはカーネルモードとユーザーモードで異
なる。図はMMUを使用しない場合のメモリマップであ
る。
ーザーモードの仮想アドレッシングでは2Gバイトのユ
ーザ仮想アドレス空間(kuseg)が有効となる。このユー
ザーセグメントのアドレスは0x00000000から始まり、す
べての有効なアクセスは0にクリアされたmsbを持つ。
ユーザーモードにおいてmsbをセットしたアドレスの参
照はアドレスエラー例外処理を引き起こす。TLBはkuseg
へのすべての参照をユーザーモードとカーネルモードで
同様にマッピングする。また、キャッシャブルである。
kusegは通常ユーザーコードやデータを保持するために
使用される。
ーネルモードの仮想アドレス空間には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をスタックやコンテキストスイッチによるリマップが
必要なプロセス毎のデータのために使用する。
(a),図24(a)))仮想アドレス空間は4Gバイ
トあり、システム上のすべてのメモリ、I/Oがアクセス
可能である。kusegにはSYSTEM MEMORY(1GB)が存在す
る。
これは、例外処理のベクタをプログラミングしたい場合
にインプリメントし、例外ベクタベースアドレスを0x80
000000に設定する。このアドレスは物理アドレス空間の
0x00000000にマッピングされる。
在し、ブート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)が含まれる。
が存在する。
の最初の512Mバイトにマッピングされるため、kseg0,ks
eg1とkusegの最初の512Mバイトはすべて同じ物理アドレ
ス空間を参照していることになる。
(b),図24(b)))物理アドレス空間も仮想アド
レス空間と同様4Gバイトあり、システム上のすべての
メモリ、I/Oがアクセス可能である。
は仮想アドレスメモリマップと同一である。
の最初の512Mバイトにマッピングされるので、ROM,I/O,
Regは0x00000000からの空間に存在している。
24(c)))Gバスアドレス空間は4Gバイトあり、
SYSTEM MEMORY,GBus MEM,FONTのみがアクセス可能であ
る。
図24(d)))IOバスアドレス空間は4Gバイトあ
り、PCI I/O,PCI MEM,SYSTEM MEMORY,IOBusI/O2,IOBus
MEM,FONTのみがアクセス可能である。
め、0x1C000000から0x20000000までの空間はPCIからプ
ロテクトがかけられており、PCIからアクセスできな
い。
003は、Pバス,Gバス,IOバス,MCバス間のデー
タ転送を行なうために、マスターとなるバスからスレー
ブとなるバスへ、SBB402を経由してアドレス信号
を送るためのものである。SBB402を経由する転送
において、マスターとなり得るバスは、Pバス,Gバス,
IOバスであり、スレーブとなり得るバスはIOバス,
MCバスである。MCバスに対してはPバス,Gバス,I
Oバス,のいずれかがマスターとなり、IOバスへはP
バスのみがマスターとなってアドレス信号を送る。
ス-MCバス間の転送は同時に行なうことができる。
ロック図を示す。スイッチシーケンサ2003aによ
り、スイッチ2003bを切り替えてスレーブをIOバ
スとMCバスとで切り換え、スイッチ2003cを切り
替えてマスタをPバス,Gバス,IOバスで切り換え
る。この構成により、MCバスに対してはPバス,Gバ
ス,IOバス,のいずれかがマスターとなり、IOバスへ
はPバスのみがマスターとなり、また、Pバス-IOバ
ス間の転送と、Gバス-MCバス間の転送は同時に行な
うことができる。
ス,Gバス,IOバス,MCバス間のデータ転送を行なう
際に,SBB内でデータの流れを切り替えるものであ
る。ライト時はマスターからスレーブ、リード時はスレ
ーブからマスターへデータが送られる。
ク図を示す。この構成において、セレクタA−1〜A−
3及びB−1,B−2を表7のように切り替えること
で、Pバス,Gバス,IOバスのいずれかをマスタと
し、IOバス,MCバスのいずれかをスレーブとして、
書き込みあるいは読み出しを行うように制御できる。
スイッチシーケンサ2003aは、各スイッチを切り替
えるにあたって、SBB外部からの以下の3種類の接続
要求間のアービトレーションを行う。 1.CPU 2.Gバスバスマスタ 3.IOバスバスマスタ このアービトレーションは、現在のバススイッチ接続状
況、及び、あらかじめ設定された優先順位により決定さ
れ、その結果アドレススイッチ、データスイッチの接続
が切り替えられる。
2にタイミング図を示す。図27はGバスからの書き込
み/読み出しサイクルのタイミング図、図28はGバス
のバースト停止サイクルのタイミング図、図29〜図3
2は、Gバスのトランザクション停止サイクルのタイミ
ング図である。
ク図である。
Engine内部汎用IOバスであるIOバスと、チップ
外部IOバスであるPCIバスの間をインターフェースする
ブロックである。入力ピン設定により、リセット時にPC
Iバスコンフィギュレーション発行可能な、ホストブリ
ッジ構成と、PCIバスコンフィギュレーションは発行し
ないターゲット構成とを切り替えることができる。
ントローラ3301は、PCIバスシグナルインターフェ
ース3302を介してPCIバスマスタからDoEngi
ne内部のリソースにアクセス要求があった場合に、I
Oバスマスタとしてこのアクセス要求をIOバス内部に
ブリッジする。
1は、PCIバス上でマッピングされるメモリからDoE
ngineMemoryへのDMA転送を行う事が出来る。この
際、プログラマが意図したIOバスDMAと、GバスDMAの
アクセスの順番を守って動作させるために、転送先アド
レス(bPciAddr[31:0])と、PCIマスターコントローラ3
301のID信号(bPciID)を、IOバスとアービトレーシ
ョンシーケンサに対して、バスリクエストと同時に発行
する。
ラント(bPciBGnt_L)を受け取り、バスを使用しデータ転
送が終了した時点で、ID信号(bPciID)のアサートを取
りやめる。
2.1準拠とする。
図である。
ビトレーション方式であり、各バスマスタに対して専用
のリクエスト信号(g(mastername)Req_L)とグラント信号
(g(mastername)Gnt_L)を持つ。図34は、masternameは
M1〜M4となっている。Busアービタ406は、Gバス上
のバスマスタを4つまでサポートしており、以下のよう
な特徴を持つ。 ・アービタ内部のレジスタ3401aの設定によりアー
ビタをプログラミングすることが出来る。レジスタ設定
はIOバスより行なう。 ・すべてのバスマスタを同じ優先権として、公平にバス
権を与える公平アービトレーションモードと、いずれか
ひとつのバスマスタの優先権を上げ、優先的にバスを使
用させる優先アービトレーションモードがある。どのバ
スマスタに優先権を与えるかはレジスタ3401bの設
定により決定される。 ・優先バスマスタが連続してバスを使用することができ
る回数を設定することが可能。 ・すでにアドレスフェーズを開始したが、データフェー
ズをまだ開始していないトランザクションについて、そ
のトランザクションをストップするためのトランザクシ
ョンストップサイクルをサポート。 ・複数のバスマスタにおける順序処理のプログラミング
ができる(後述)。プログラムされた順序は、レジスタ
テーブル3401aに格納される。 ・GバスマスタとIOバスマスタが同一メモリアドレス
に順次書き込みを発行した場合に、プログラマの意図し
たアクセス順序を維持するための機構として、同期ユニ
ットからのマスタID信号、ストップ信号に基づき、特定
のマスタに対し、バス使用許可を与えることを保留する
機構を持つ。
Oバスを介してCPU401から行われる。
アービタの中核となるアービトレーションシーケンサ3
402a,bは、1つの優先マスタとその他の4つの非
優先マスタの間で5つのマスタによるアービトレーショ
ンを行なう。4つのバスマスタからのリクエスト信号と
グラント信号を、リクエストディスパッチ回路3403
とグラントディスパッチ回路3404によって4つの非
優先マスタに割り付けることにより、公平アービトレー
ションモードが実現される。また、4つのバスマスタの
うちのひとつを、高優先アービトレーションシーケンサ
3402aの優先マスタに割り付けることで、優先アー
ビトレーションモードとして動作する。これらの割り付
けは、レジスタ3401a,bの設定にしたがって行わ
れる。これにより、優先バスマスタは、他のマスタより
高い確率でバスの使用権を取得することが出来る。
え、高優先シーケンサ3402aに割り当てられたマス
タは、連続してバスを使用する事が出来、連続して使用
出来る回数をプログラマブルなレジスタにより可変する
事ができる。これは、バスの占有率を調整出来、ある特
定のマスタにより多くバスを使用させる様に出来ること
を意味する。
ードでは、すべてのバスマスタは同じ優先順位にあり、
バス権を与えられる機会は公平である。バスがフリーの
時は、一番最初にリクエストを出したバスマスタがバス
権を得ることができる。また、複数のバスマスタが同時
にリクエストを出した場合は、あらかじめ決められた順
序にしたがって順次バス権が与えられる(ラウンドロビ
ン方式)。例えば、M1からM4までのすべてのバスマ
スタが同じクロックでリクエストを出した場合は、M1
→M2→M3→M4といった順序でバス権が与えられ
る。M4のトランザクションの終了時に再びすべてのバ
スマスタがリクエストを出している場合は、M1→M2
→M3→M4→M1→M2…というように、同様の順序
でバス権を与えていく。一部のバスマスタがリクエスト
を出している場合は、M4からM1へラウンドラップす
るとして、最後にバスを使用したマスタにもっとも近い
大きい番号を持ったマスタへグラントを与える。
にリクエストを出しているすべてのバスマスタにバス権
を与えた後でないと再びバス権を得ることができない。
は、ひとつのバスマスタ(レジスタ3401bに登録さ
れたバスマスタ)が他のバスマスタよりも高い優先権を
持つ優先バスマスタになり、他のバスマスタに比べ優先
的にバス権が与えられる。優先バスマスタ以外のバスマ
スタの優先順位はすべて同じである。
り、また優先バスマスタが連続したリクエストを行う場
合、優先バスマスタと他の非優先バスマスタは交互にバ
ス権を得る。
ス権が移ると、他にリクエストを出しているすべてのバ
スマスタにバス権を与えた後でないと、その非優先バス
マスタは再びバス権を得ることができない。
ル)優先アービトレーションモードにおいて、優先バス
マスタがリクエストを出した時、すでに他のバスマスタ
がアドレスフェーズを開始していても、データフェーズ
をまだ開始していなければ、そのトランザクションをス
トップし、優先バスマスタがバス権を得ることができ
る。ただし、その直前に優先バスマスタがバス権を持っ
ていた場合は、連続したバス権を得ることができる回数
を超えることはできない。
した時、中止されたバスマスタがリクエストを出してい
れば、優先してバス権が与えられる。
スタの切り替えを行なうには、レジスタ3401bを書
き換えればよい。優先バスマスタを選択するレジスタが
書き換えられると、その時に実行中のトランザクション
の終了を待って、優先バスマスタが切り替えられる。ア
ービタのステートはアイドル状態にもどり、その時点で
リクエストを出していたバスマスタは、その時同時にリ
クエストを出したものとして、あらためてアービトレー
ションが行われる。
払う必要がある。優先させるべきバスマスタのDMAが終
了しないうちに、異なったバスマスタに優先バスマスタ
を切り替えてしまうと、最初の優先バスマスタのDMAの
優先度が下がってしまう。もしも最初の優先バスマスタ
の優先度を下げたくないのであれば、DMAが終了したの
を確認してから優先バスマスタの切り替えを行なう必要
がある。
ト時のみでなく、システム稼働中も動的に行う必要のあ
るソフトウェアでは、優先バスマスタの切り替えは、い
ったんGバス上に新たなDMAリクエストが発生しないよ
う、すべてのバスマスタ及びDMAコントローラに対する
設定を中止し、その後、Gバスアービタ406内のレジ
スタに適切な値をセットし、さらに、Gバスアービタ4
06内のステータスレジスタをチェックし、バスマスタ
の優先権が切り替わったのを確認した上で新たなGバス
上へのアクセス及びDMAの起動を行うべきである。
ーティングシステムの実時間保証、タスクの優先順位の
設定を変化もしくは違反させてしまう可能性があり、十
分な考慮の上行われなければならない。
400内におけるGバス404を中心とする、Gバス上
のバスマスタによるDMAに係るブロック図である。
が必要な場合、例えば、メモリ3501上のデータに対
して、バスマスタ1により処理Aを行った後、バスマス
タ2により処理Bを行い、その処理後のデータをバスマ
スタ4に送るといった一連の処理を考える。
PU401により実行されるプログラムにより、IOバ
ス405を介して、バスアービタ406内のレジスタテ
ーブル3401aに、バスマスタがバスを使用する順序
と、バス権の付与の開始条件と、終了条件がセットされ
る。この例では、 というようにセットする。すなわち、Gバスアービタ4
06は、それぞれのバスマスタから、開始条件として設
定された信号を受けるとそのバスマスタにバス使用権を
与え、終了条件として設定された信号を受けるとバス使
用権を奪う。
Aをセットする。それによって、それぞれのマスタはG
バスアービタ404に対してリクエスト(g(mastername)
Req_L)を発行する。Gバスアービタ404はレジスタテ
ーブル3401aに登録された順序に従ってバスマスタ
1にバス権を与える(gM1Gnt_L)。バスマスタ1はメモリ
3501からある単位のデータをリードし、処理Aを行
って、バスマスタ1内部のバッファにデータをライトす
る。バスマスタ1はひとつの単位の処理が終了し、バッ
ファの準備ができたことをgM1BufReady信号によりアー
ビタ406に対して通知する。
ーブル3401aに登録された、バスマスタがバス権を
与える条件とバス権を奪う条件にしたがって、バス権を
バスマスタ1から奪いバスマスタ2に与える。バスマス
タ2はバスマスタ1のバッファのデータをリードし、処
理Bを行って、バスマスタ2内部のバッファにデータを
格納する。この間にバスマスタ1のバッファが空になる
とgM1BufEmptyがアサートされ、アービタ406はバス
マスタ2にバス権を与えていたのを取りやめる。バスマ
スタ2は処理Bを行って、バッファの準備ができるとgM
2BufReady信号により通知する。
401aの内容にしたがって、今度はバスマスタ4にバ
ス権を与える。バスマスタ4はバスマスタ2のバッファ
からデータをリードする。バスマスタ2のバッファが空
になると、gM2BufEmptyによってアービタ406に通知
し、アービタ406はそれを受け、レジスタ3401a
の内容に従って再びバスマスタ1にバス権を与え、次の
データの処理を始める。
がすべて終了すると、それぞれのバスマスタはプロセッ
サに割り込みによって通知する。ソフトウェアはすべて
のバスマスタからの終了通知がそろったとき、一連の処
理が終了したことを知る。
作であり、順次処理に関わるバスマスタ以外のバスマス
タは、バスを使用することができない。この順次処理中
でも、順次処理に関係のないバスマスタがバスを使用す
ることを可能にするために優先順次モードが用意されて
いる。これらのモードの切り替えではアービタ406内
部のレジスタにプログラミングすることによって行な
う。優先順次モードでは、順次処理を行なうバスマスタ
は優先的にバスを使用できるが、順次処理に関わらない
バスマスタであればバスを使用することが許される。順
次処理を行なうバスマスタと関わらないバスマスタの間
のアービトレーションは、前述した優先アービトレーシ
ョンモードと同等である。当然、順次処理に係わるバス
マスタで、バス権を与えられる条件が満足されずに自分
の順番が回ってきていないバスマスタにはバス権は与え
られない。
号stopSpcがアサートされた場合は、Gバスマスタのひ
とつであるスキャナプリンタコントローラ408はアー
ビトレーションの対象から除外され、たとえリクエスト
をアサートしていてもバス使用権を与えられることはな
い。アービトレーションはこのマスタを除外したマスタ
間で行われる。詳細な説明はIOバスアービタの節で行
なう。
9において、Gバスアービトレーションのタイミングを
説明する。図36は、連続してバスを使用する回数が、
バスマスタ1〜4のすべてについて1に設定されている
場合の公平アービトレーションモード(フェアモード)
の例である。バスマスタ1による2回目の(タイミング
4から出されている)バス要求は、バス要求を出してい
る他のバスマスタがすべて1回ずつ処理されるまで待た
されている。
が、バスマスタ1についてのみ2であり、他のバスマス
タは1に設定されている場合の公平アービトレーション
モードの例である。バスマスタ1が出している2回目の
(タイミング4から出されている)バス要求は1回目の
要求に続いて直ちに許可され、他のバスマスタはその処
理がすむまで待たされている。
それぞれ1ずつであり、バスマスタ1が優先バスマスタ
と設定されている場合の優先アービトレーションモード
の例である。優先バスマスタと非優先バスマスタとは交
互にバス使用権が認められるために、バスマスタ1の2
回目のバス要求はバスマスタ2のバスの使用後に認めら
れており、バスマスタ4のバス要求は、バスマスタ1の
2回目のバスの使用後に認められている。また、バスマ
スタ2の2回目のバス要求は、バス要求を出している他
のすべてのバスマスタ、図38ではバスマスタ1及びバ
スマスタ4のバス使用が終了した後で認められている。
より、バスマスタ4のバス要求が許可されているにもか
かわらず中断された例である。この場合、バスマスタ1
のバス使用が終了すると、バスマスタ2のバス要求に優
先してバスマスタ4のバス要求が認められる。
ne内部のIO汎用バスであるIOバス405のバス使
用要求を受け付け、調停の後、使用許可を選択された一
つのマスタに対して与え、同時に2つ以上のマスタがバ
スアクセスを行う事を禁止する。
イオリティを持ち、それぞれのプライオリティに複数の
マスタをプログラマブルに割り当てられる構成になって
いる。割り当ては、それぞれ最大で、最高のプライオリ
ティに3マスタ、中間に7マスタ、最低レベルに3マス
タとなる。
同一メモリアドレスに順次書き込みを発行した場合に、
プロブラマの意図したアクセス順序を維持するための機
構として、同期ユニットからの、マスタID信号、スト
ップ信号に基づき、特定のマスタに対し、バス使用許可
を与えることを保留する機構を持つ。
スアービタは3つのアービトレーションシーケンサ40
02,4003,4004から構成される。それぞれ、
高優先権、中優先権、低優先権を持ち、それぞれのシー
ケンサ内に、3,7,3本のバスマスタ用アービトレー
ションシーケンサが内蔵される。IOバス上のすべての
バスマスタになる可能性のあるユニットからのリクエス
ト信号とそれらへのグラント信号を、リクエストセレク
タとグラントセレクタによって、これらの3つのシーケ
ンサユニットに分配する。この分配は、BBusインタ
フェース4005内のソフトウェアプログラマブルなレ
ジスタ4005aにより、複数の組み合わせのなかか
ら、一意の組み合わせを選択することが出来る。
を中優先アービトレーションシーケンサ4003に接続
することにより、7つのマスタ間で公平なアービトレー
ションが実現される。また、バスマスタのうちのいくつ
かを、高優先アービトレーションシーケンサ4002に
割り付けることで、これらのマスタは他のマスタより、
より高い確率でバスの使用権を取得することが出来る。
さらに、いくつかのリクエストを低優先シーケンサ40
04に接続することで、これらのバスの使用率を低く抑
える事が出来る。さらに、バスの取得機会確率の調整に
加え、高優先シーケンサ4002に割り当てられたマス
タは、連続してバスを使用する事ができ、連続して使用
出来る回数をプログラマブルなレジスタ4005aによ
り可変する事ができる。これは、バスの占有率を調整で
き、ある特定のマスタにより多くの時間バスを使用させ
る様に出来る事を意味する。
先シーケンサ4003を例にとり、公平アービトレーシ
ョンの実現方法を説明する。一つのシーケンサに接続さ
れたすべてのバスマスタは同じ優先順位にあり、バス権
を与えられる機会は公平である。バスがフリーの時は、
一番最初にリクエストを出したバスマスタがバス権を得
ることができる(ファーストカムファーストサーブ)。
また、複数のバスマスタが同時にリクエストを出した場
合は、あらかじめ決められた順序にしたがって順次バス
権が与えられる(同時リクエスト発行時ラウンドロビ
ン)。例えば、M1からM7までのすべてのバスマスタ
が同じクロックでリクエストを出した場合は、M1→M
2→M3→M4→M5→M6→M7といった順序でバス
権が与えられる。M7のトランザクションの終了時に再
びすべてのバスマスタがリクエストを出している場合
は、M1→M2→M3→M4→M5→M6→M7→M1
→M2というように、同様の順序でバス権を与えてい
く。一部のバスマスタがリクエストを出している場合
は、M7からM1へラウンドラップするとして、最後に
バスを使用したマスタにもっとも近い大きい番号を持っ
たマスタへグラントを与える。
ターフェースは、高優先、中優先、低優先の3つのアー
ビトレーションシーケンサが存在する。優先順位をつけ
たアービトレーションは、複数のバスリクエストを選択
的に、高優先、低優先、のアービタに割り振ることによ
り実現される。
当て、残りを中優先に割り当てることにより、ひとつの
バスマスタが他のバスマスタよりも高い優先権を持つ優
先バスマスタになり、他のバスマスタに比べ優先的にバ
ス権が与えられる。同じ優先権のアービトレーションシ
ーケンサに割り当てられたバスマスタの優先順位はすべ
て同じである。
り、また優先バスマスタが連続してリクエストを行う場
合、優先バスマスタと他のバスマスタは交互にバス権を
得る。M3が優先マスタでM1,M2,M3,M4がリ
クエストを出し続けた場合M3→M1→M3→M2→M
3→M4→M3→M1の順でバス使用権を与える。
プログラマブルなレジスタにあらかじめ設定された回数
だけ連続したバス権を得ることができる。連続したバス
を使用出来る回数は最大で4回である。
バスマスタにバス権が移ると、そのバスマスタは、他に
リクエストを出しているすべてのバスマスタにバス権を
与えた後でないと再びバス権を得ることができない。ひ
とつのバスマスタが連続してリクエストを行う場合、他
にリクエストを行っているバスマスタがいなければ、連
続してバス権を得ることができるが、他のバスマスタが
リクエストを行っていれば、そのバスマスタはあらかじ
め設定された回数だけ連続してバス権を得ることができ
る。一度バス権が他のバスマスタに移ると、他にリクエ
ストを出しているすべてのバスマスタにバス権を与えた
後でないと再びバス権を得ることができない。
04には最大3本のリクエストを割り当てる事が出来
る。低優先シーケンサ4004に割り当てられたマスタ
へは、中優先、高優先シーケンサに割り当てられた、す
べてのマスタのリクエストがなくならないと、バスの使
用権が与えられない。このシーケンサへのバスマスタの
割り当ては十分な注意を持って行われなければならな
い。
スタの切り替えを行なうには、アービタ内のレジスタを
書き換えればよい。優先バスマスタを選択するレジスタ
が書き換えられると、その時に実行中のトランザクショ
ンの終了を待って、優先バスマスタが切り替えられる。
アービタのステートはアイドル状態にもどり、その時点
でリクエストを出していたバスマスタは、その時同時に
リクエストを出したものとして、あらためてアービトレ
ーションが行われる。
優先させるべきバスマスタのDMAが終了しないうちに、
異なったバスマスタに優先バスマスタを切り替えてしま
うと、最初の優先バスマスタのDMAの優先度が下がって
しまう。もしも最初の優先バスマスタの優先度を下げた
くないのであれば、DMAが終了したのを確認してから優
先バスマスタの切り替えを行なう必要がある。
ト時のみでなく、システム稼働中も動的に行なう必要の
あるソフトウェアでは、優先バスマスタの切り替えは、
いったんIOバス上に新たなDMAリクエストが発生しな
いよう、すべてのバスマスタ及びDMAコントローラに対
する設定を中止し、その後、IOバスアービタ407内
のレジスタに適切な値をセットし、さらに、IOバスア
ービタ内のステータスレジスタをチェックし、バスマス
タの優先権が切り替わったのを確認した上で新たなIO
バス上へのアクセス及びDMAの起動を行うべきである。
ーティングシステムの実時間保証、タスクの優先順位の
設定を変化もしくは、違反させてしまう可能性があり、
十分な考慮の上行われなければならない。
タ407はアクセス順序制御機構を含む。アクセス順序
制御機構は、同期ユニット4001と、IOバスアービ
タ407,Gバスアービタ406内に組み込まれたバス
使用権発行抑制機構によって実現される。IOバスアー
ビタ407内に組み込まれたバス使用権発行抑制機構
は、Gバスアービタのそれと同様に動作する。つまり、
stopPci信号が入力された場合は、Pciバスマスタからの
バスリクエストが発行され、アービトレーションの結
果、このマスタにバスの使用権を与えることが可能な状
態でも、バスの使用権発行は行わず、他のマスタへバス
使用権をあたえる。具体的には、stopPci信号が入力さ
れた場合は、直ちにbPciReq_Lをマスクすることにこれ
を行う。
ストおよび、ストップ信号の場合もまったく同様に動作
する。図41に同期ユニット4001のブロック図を示
す。同期ユニット内には複数のDMAマスタ間すべての組
み合わせに関して、それぞれコンペアユニット4101
〜4103が接続される、DoEngineでは、Gbu
s上のDMAマスタはスキャナ/プリンタコントローラ40
8のみ存在する。IOバス上には、DMAPCIユニット、LA
Nユニットの二つが存在する。SBB内のIOバスイン
ターフェースはIOバス上のバスマスタであるが、メモ
リには直接アクセスしないので、同期ユニット4001
にはIDと転送先アドレスを出力しない。
ニット(Comparation Unit 1)を以下に示す。他のコン
ペアユニットも同様の構成を有する。
ブロックもしくは、スキャナ/プリンタコントローラ4
08から、同期ユニット4001に対し、DMAライトが
プログラミングされた時点で、転送先のアドレスとその
DMAブロック固有のリクエスト信号が通知される。
らリクエストが出力された時点で、アドレスを内部に持
つタイマによる現在時刻とともに記憶する、次に他のDM
Aブロックから、DMAライトに関するアドレスとリクエス
トが入力された時点で、コンペアユニットは両アドレス
を比較する。一致した場合にはさらに、それぞれのレジ
スタに格納された時間を比較し、時間的に後からDMAラ
イトの要求を出してきたDMAブロックが接続されたバス
のバスアービタに対し、このマスタに対するバス使用強
化を与えないようにする。これは、stop(ID)という信号
により各バスのバスアービタに通知される。
されたマスタに対しては、アービトレーションによるバ
ス使用権の割り当てを行わない。
バスマスタにより当該メモリアドレスへのDMAライトが
終了すると、先のマスタは、同期ユニットに対するリク
エストを取り下げる、同期ユニットは、2番目にDMAラ
イトの要求を出した、DMAブロックの接続するバスのバ
スアービタに対し、このDMAブロックへの、バス使用権
許可禁止信号の発行をとりさげる。そして、後からDMA
ライトを行うべきマスタのDMAライトが行われる。
ストが取り下げられると、タイマーがリセットされる。
タイマーのカウントアップは再度どちらかのマスタから
のリクエストが出力された時点で再度行われる。
ロック図である。
ーラ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バスによって接続さ
れる。
06>図44にスキャナ/ビデオ同期制御ユニット43
06のブロック図を示す。
要)スキャナ/ビデオ同期制御ユニット4306は、ス
キャナから入力される画像データの垂直同期信号(SV
SYNC)、水平同期信号(SHSYNC)、画像デー
タ同期クロック(SVCLK)により、画像データの取
り込みタイミング信号、画像処理のためのタイミング信
号、転送バッファであるFIFOヘ書き込みタイミング
信号(SCFWR)を生成する。
り込みピクセル数、副走査方向の遅延、取り込みライン
数を管理する。設定量の画像データ取込を終了したタイ
ミングでの状態信号(SALLEND)を生成する。ラ
インカウンタ4401は副走査方向の遅延と取り込みラ
イン数を管理して、画像読み取り有効ラインの垂直同期
信号(SEFHSYNC)を生成する。ピクセルカウン
タ4402は主走査方向の画像取り込み遅延と取り込み
画素数を管理する。取り込んだ画像データをFIFOに
格納するための書き込みタイミング信号(SCFWR)
を生成する。ページカウンタ4403は入力される画像
データページ単位で管理する。設定されたページ数分の
画像データ入力を終了すると、終了信号(SALLPE
ND)を生成する。
タ4402,ページカウンタ4403の各設定値はコン
トロールレジスタ4310によって読み書きされる。 ・ライトデータ :IFWDATA[31:0] ・リードデータ :IFRDATA[31:0] ・ラインカウンタライト信号 :SLCSET ・ラインカウンタリード信号 :SLCRD ・ピクセルカウンタライト信号:SPCSET ・ピクセルカウンタリード信号:SPCRD ・ページカウンタライト信号 :SPAGESET ・ページカウンタリード信号 :SPAGERD <プリンタ/ビデオ同期制御ユニット4307>図45
は、プリンタ/ビデオ同期制御ユニット4307のブロ
ック図である。
要)プリンタ/ビデオ同期制御ユニット4307は、プ
リンタから入力される画像データの垂直同期信号(PV
SYNC)、水平同期信号(PHSYNC)、画像デー
タ同期クロック(PVCLK)により、画像データの取
り込みタイミング信号、画像処理のためのタイミング信
号、転送バッファであるFIFOからの読み出しタイミ
ング信号(PRFRD)を生成する。
り込みピクセル数、副走査方向の遅延、取り込みライン
数を管理する。設定量の画像データ取り込みを終了した
タイミングでの状態信号(PLEND)を生成する。ラ
インカウンタ4501は副走査方向の遅延と出力ライン
数を管理して、画像出力有効ラインの垂直同期信号(P
EFHSYNC)を生成する。ピクセルカウンタ450
2は主走査方向の画像出力遅延と出力画素数を管理す
る。出力画像データをFIFOから読み出すための読み
出しタイミング信号(PRFRD)を生成する。ページ
カウンタ4503は出力数画像データをページ単位で管
理する。設定されたページ数分の画像出力が終了する
と、終了信号(PALLPEND)を生成する。
タ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)
により制御する。
>図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)により制御す
る。
スキャナとプリンタとを同期動作させ、コピー動作をお
こなうために、図43に示すように、スキャナデータを
直接プリンタへ出力するデータパスを備える。また、ス
キャナからの入力データとプリンタへの出力データをF
IFOにより同期させるデータパスも備える。それらの
データパスはスキャナとプリンタのデータ入出力の同期
関係で選択可能とする。
8は、データ転送制御ユニット4302のブロック図で
ある。データ転送制御ユニット4302は、Lバスヘの
データの入出力を制御するブロックで、チェインコント
ローラ4801、マスタDMAコントローラ4802、転
送アービタ4803等を含む。
は以下の動作を制御する。 1.スキャナからの画像データDMA転送およびチェイン
テーブル参照 2.プリンタへの画像データDMA転送およびチェインテ
ーブル参照 スレーブとしては以下の動作を制御する。 1.内部レジスタのライト・リード 2.スキャナからの画像データ転送 3.プリンタへの画像データ転送 (チェインコントローラ)図49は、チェインコントロ
ーラ4801のブロック図である。チェインコントロー
ラは、チェインテーブルを示すアドレスポインタブロッ
クとDMAの転送先を示すアドレスポインタブロックから
構成される。スキャナ、プリンタコントローラがマスタ
としてDMAを行う際の転送先アドレス発生ブロックであ
り、チェインDMAをサポートする。スキャナデータ転
送、プリンタデータ転送の2系統が独立で動作する。
ースユニットとデータ転送ユニットを接続するスキャ
ナ、プリンタコントローラ内のローカルなバスである。
次のような信号を含む。なお、以下、信号の入出力は、
データ転送制御ユニット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
のように定義される。
ユニットがマスタ動作時、転送の単位サイズを示す。こ
の単位サイズの転送中、IFMDTREQは“High”のアクティ
ブ状態のままとなる。サイズは表9のように示される。
ットがスレーブ動作時、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]が有効となる。
ット>図50は、Gバス/IOバスインターフェースユ
ニット4301のブロック図である。Gバス/IOバス
インターフェースユニットは、コピーエンジン内部の内
部バス(Lバス)と外部バス(Gバス/IOバス)とのイ
ンターフェース部分である。このユニットは、他の機能
ブロックで使えるように実現されるが、本実施の形態で
はコピーエンジンが使用する。なお、コピーエンジンと
は、スキャナ/プリンタコントローラ408及びそれに
より制御されるスキャナとプリンタとを含めた総称であ
る。
トは、大きくバスセレクタユニット,IOバスコントロ
ーラ5002,Gバスコントローラ5003の三つの部
分から構成される。
エンジンがDMAマスタの時には、Lバスのバースト転送
可能な転送量、優先度(緊急度)、転送先のアドレス
と、さらに各バス(GバスとIOバス)の空き情報を基
にして、動的にバスの選択を行い、対応するコントロー
ラ(Gバスコントローラ5003かIOバスコントロー
ラ5002)に、多少の前処理を施してLバスを接続す
る。コピーエンジンがDMAスレーブの時には、各バス
(GバスとIOバス)からの要求を調停し、優先順位の
高いバスとLバスを接続する。
ントローラ5002は、Lバスと対応するバス(Gバス
とIOバス)のバスの変換を行う。以下に、各部の説明
をする。
方のバスに対してDMA可能なDMAマスタであり、Gバス/
IOバスインターフェースユニット4301は、DMA転
送する際に使用するバスを決定する。従来のシステムで
は、転送先(アドレス)によりバスを切り替えている
が、各バスの転送速度や使用率等を考慮しなければ、シ
ステム全体として良い性能が得られない。
のバースト転送可能な転送量、優先度(緊張度)、転送
先のアドレスと、さらに各バス(GバスとIOバス)の
空き情報を基にして、動的に効率的なバスの選択を行
い、対応するコントローラ(Gバスコントローラ500
3かIOバスコントローラ5002)に、多少の前処理
を施して、Lバスを接続する。
ントローラ5002は、Lバスと対応するバス(Gバス
とIOバス)同期ユニットヘ、書き込みアドレスと機能
ブロック(ここでは、コピーエンジン)のIDを送り出
す。以下に、各部の説明をする。
セレクタユニット5001のブロック図である。その動
作を以下に説明する。 [コピーエンジンのマスター時の動作]コピーエンジン
がマスターの場合は、主に、バスセレクタユニットのL
バスマスタシーケンサ5101で制御される。Lバスマ
スタシーケンサ5101は、コピーエンジンからIFMDTR
EQ(マスターデータ要求信号)を受けることにより、コ
ピーエンジンのマスター動作の要求を知る。
時に、IFMAD[31:2](マスター転送アドレス信号)、MTS
IZE[2:0](マスター転送長信号)、IFMRW(マスター・
リード・ライト信号)をバスセレクタユニット5001
に出力する。転送アドレスはアドレスカウンタ5102
に、転送長は長さカウンタ5103に、それぞれラッチ
される。
バストの転送を開始する時点でGバスを使用するか、I
Oバスを使用するかを、アドレスカウンタ, 長さカウン
タ,プライオリティ,各バスのビジー状態から決定す
る。アドレスカウンタの下位ビット5がすべて0ではな
い場合、あるいは長さカウンタが64ビット×4未満の
場合は、Gバスでの転送は不可能なので、IOバスを選
択する。それ以外は、高プライオリティかつGバスが使
用中かつIOバスが空いている、という場合を除き、G
バスを選択する。外部バスへの転送サイクルを終了した
時点で、アドレスカウンタ5102と長さカウンタ51
03を更新し、長さカウンタが0でなければ、上記の動
作を繰り返す。バスの選択の基準を表10に示す。
は、Lバスマスタシーケンサ5101は、データFIF
O5104がフルでない限り、コピーエンジンへIFMDTA
CK信号をアサートし、転送データを要求し、得たデータ
をFIFO5104に書き込む。また、データFIFO
がエンプティでない限り、外部バスコントローラ(IO
バスコントローラ5002かGバスコントローラ500
3)へマスター転送要求信号(LbMReqかLgMReq)をアサ
ートし、データ転送を要求する。外部バスコントローラ
(IOバスコントローラかGバスコントローラ)は、デ
ータFIFO5104のデータを転送し、転送終了で、
マスター転送通知信号(LbMAckかLgMAck)をアサートす
るので、Lバスマスタシーケンサ5101は、外部バス
ヘの転送の終了を知ることができる。
は、Lバスマスタシーケンサ5101は、データFIF
Oがフルでない限り、外部バスコントローラ(IOバス
コントローラかGバスコントローラ)へマスター転送要
求信号(LbMReqかLgMReq)をアサートし、データ転送を
要求し、データをデータFIFOに書き込み、データF
IFOがエンプティでない限り、コピーエンジンへIFMD
TACK信号をアサートし、転送データを要求し、得たデー
タFIFOのデータを書き込む。
バスコントローラ5002のブロック図である。
とIOバスのインターフェース部分である。
Oバスマスター時の動作を、IOバススレーブシーケン
サ5202は、IOバススレーブの時の動作を、それぞ
れ制御する。 [コピーエンジンのマスター時の動作]バスセレクタユ
ニット5001からのLbMReq信号のアサートにより、デ
ータ転送は開始される。転送の方向は、LbMReq信号と同
時にアサートされるバスセレクタユニット5001から
のLbMRdNotWr信号により決まる。転送のサイズは、LbMR
eq信号と同時にアサートされるバスセレクタユニット5
001からのLbBstCnt[1:0]信号により決まる。また、
転送のアドレスはLbMReq信号と同時にアサートされるバ
スセレクタユニット5001からのLbMAddr[31:2]信号
により決まる。
の時)は、読み込み用データFIFOがフルであれば
(bRFifoFullがアサート)、フルでなくなるのを待ち、
IOバスマスタシーケンサは、決められたIOバスの転
送を開始し、得たデータは、バスセレクタユニット50
01 のデータFIFOに書き込む。
時)は、書き込み用データFIFOがエンプティであれ
ば(bWFifoEmptがアサート)、エンプティでなくなるの
を待ち、IOバスマスタシーケンサは、決められたIO
バスの転送を開始し、バスセレクタユニット5001の
データFIFOから得たデータをIOバス上に送る。
コントローラ5003のブロック図である。
Gバスのインターフェース部分である。
スマスター時の動作を、Gバススレーブシーケンサ53
02は、Gバススレーブの時の動作を、それぞれ制御す
る。 [コピーエンジンのマスター時の動作]バスセレクタユ
ニット5001からのLbMReq信号のアサートにより、デ
ータ転送は開始される。転送の方向は、LbMReq信号と同
時にアサートされるバスセレクタユニット5001から
のLbMRdNotWr信号により決まる。転送のサイズは、LbMR
eq信号と同時にアサートされるバスセレクタユニット5
001からのLbBstCnt[1:0]信号により決まる。また、
転送のアドレスはLbMReq信号と同時にアサートされるバ
スセレクタユニット5001からのLbMAddr[31:2]信号
により決まる。
時)は、読み込み用データFIFOがフルであれば(gR
FifoFullがアサート)フルでなくなるのを待ち、Gバス
マスタシーケンサは、決められたGバスの転送を開始
し、得たデータは、バスセレクタユニット5001 の
データFIFOに書き込む。
時)は、書き込み用データFIFOがエンプティであれ
ば(bWFifoEmptがアサート)、エンプティでなくなるの
を待ち、Gバスマスタシーケンサは、決められたGバス
の転送を開始し、バスセレクタユニット5001のデー
タFIFOから得たデータをGバス上に送る。
る。
模なASICである。このため、内部のロジックが全部
同時に動作してしまうと、大量の熱を発生し、チップ自
体が破壊されてしまう恐れがある。これを防ぐために、
DoEngineは、ブロック毎の電力の管理、すなわ
ちパワーマネジメントを行ない、更にチップ全体の消費
電力量の監視を行なう。
ックが各自個別に行なう。各ブロックの消費電力量の情
報は、パワーマネージメントレベルとして、電力管理ユ
ニット(PMU)409に集められる。PMU409で
は、各ブロックの消費電力量を合計し、その値が限界消
費電力を超えないように、DoEngineの各ブロッ
クの消費電力量を一括して監視する。
りである。 ・各ブロックは、4段階のパワーマネジメントレベルを
持つ。 ・PMUは、それぞれのレベルにおける消費電力の値を
レジスタとして持つ。このレベル構成及び消費電力の値
は、PM構成レジスタ5401に保持される。 ・PMUは、各ブロックからパワーマネジメントレベル
を2ビットのステータス信号として受け取り(後述)、
レジスタ5401に設定された値と照合させて各ブロッ
クの消費電力を知る。 ・PMUは各ブロックの消費電力を加算器5403で加
算し、DoEngine全体の消費電力量をリアルタイ
ムに計算する。 ・算出された消費電力量は、構成レジスタ5401に設
定された消費電力のリミット値(PMリミット)と比較
器5404で比較され、これを超えた場合には割込発生
器5405から割り込み信号を発行する。 ・このリミット値は2段階設定することができる。1段
階目は、本当の限界から少し余裕を持たせた値を設定し
ておく。この値を超えると、通常の割込み信号が発行さ
れる。ソフトウェアはこれを受けて、新たにブロックを
起動するような転送は始めないようにする。ただ、2段
階目のリミット値に達しない範囲内では、ソフトウェア
の管理の元で、新たなブロックを起動することができ
る。2段階目のリミット値は、デバイスが破壊される恐
れのある値を設定しておく。万が一、この値を超えてし
まった時には、NMI(割込マスクが設定できない割り
込み)を発行して安全のためにシステムを停止させる。 ・割込み信号は、PMUの状態レジスタ5402をリー
ドすることで解除される。この状態レジスタ5402を
リードした時点からタイマカウントを始め、タイマがエ
クスパイアするまで消費電力量が戻らなければ、再び割
込み信号を発行する。このタイマの値の設定はPMUの
構成レジスタ5401に設定される。
ブロックのパワーマネージメント制御は、ブロック毎に
自由に構成してよい。構成例の例を示す。
のクロックをオン/オフすることにより、パワーマネジ
メントを行なっているので、消費電力のレベルは2段階
しか持っていない。このレベルをステータス信号として
電力管理ユニット409に送る。図55にバスエージェ
ントのブロック図を示す。 ・バスエージェント5501は、各ユニット毎の内部ロ
ジック5502、アドレスをデコードするデコーダ55
03、クロックコントロール部5504、クロックゲー
ト5505を含む。 ・デコーダ5503とクロックコントロール部5504
は常に動作しており、パワーマネージメントコントロー
ルとして、バスのアクティビティーの監視、内部ロジッ
クへのクロックのゲーティングを行なっている。
し、クロックのオン/オフを自動で行なう。 ・バスエージェントには、Sleep, Wake Up, Waitの3つ
のステートがある。 ・Sleepはバスエージェントにアクティビティーがな
く、クロックゲートクロックを停止させている状態であ
る。 ・Sleepの状態でも、デコーダ部5503、クロックコ
ントロール部5504は動作しており、バスをモニタリ
ングして、要求を待っている。 ・デコーダ5503が自分のアドレスを検出すると、ク
ロックゲート5505を開き、内部ロジックのクロック
を動作させ、バスの要求に応える。ステートはWake Up
に移行する。また、この状態を電力管理ユニット409
に通知する。 ・データ転送が終了すると、Waitステートに移行し、次
の要求を待つ。この時クロックは動作したままである。
要求があれば、Wake Upステートに戻り、転送を行な
う。また、要求を待っている間はタイマによりカウント
を行ない、要求がないままカウンタがタイムアップした
場合は、Sleepステートへ移り、クロックを停止させ
る。この状態も電力管理ユニット409に通知される。
えないように管理している。 [その他の構成例]図9及び図10で示したキャッシュ
の動作手順は、図56及び図57のようなものであって
もよい。
送が開始されると、その最初にMCバスで示されるmT
Type[60:0]によってその転送をキャッシュオ
ンで行うかオフで行うか判断される。ここでは、転送が
バースト転送の時、そのバースト転送データ量がキャッ
シュの1ラインのデータ量より大か小かによって判断す
る。なお、キャッシュの1ラインは256ビット=4バ
ースト分である。
送の開始でmTType[3:0]をチェックし、mT
Typeが示すバースト長が1/2/4であれば、キャ
ッシュオンで動作し、6/8/16/2×16/3×1
6/4×16の場合はキャッシュオフで動作する。キャ
ッシュオンあるいはオフ後の動作は、図9及び図10と
同様である。
スによってキャッシュのオンオフを切り替えることもで
きる。図58において、メモリコントローラは転送の開
始でmTType[6:4]をチェックすることにより
転送要求デバイスを識別し、そのデバイスの転送要求を
キャッシュオンで動作するか、オフで動作するかを判断
するために、あらかじめ設定されている構成レジスタの
値を参照し、キャッシュオンで動作するか、オフで動作
するか決定する。キャッシュオンあるいはオフ後の動作
は、図9及び図10と同様である。構成レジスタの設定
は、ハードウエア的に決定(変更不可)していも良い
し、ソフトウエアで書換え可能にしてもよい。
を連続して行う場合に、ソフトウェアがバスマスタが変
わる都度介入するのではなく、最初に一括してソフトウ
ェアがバスアービタにDMAの開始させる条件と終了させ
る条件とを設定しておき、バスマスタにもDMAの設定を
行っておくことで、後はバスアービタが順序をコントロ
ールしながら一連の処理を行うことができる。これによ
り、処理毎のソフトウェアの介入が必要なくなる。ま
た、いちいちメモリに書き戻す必要がないため、データ
がバスを使用する回数が少なくなり、全体としての処理
速度が向上する。
じて接続するバスを切り替え、最適なバスを選んでデー
タの転送を行うことができる。さらに、バスの構成を柔
軟にし、更にマスタとスレーブとが重複しないのであれ
ば、複数のバスの接続を並列に行えるようにして、バス
の使用効率を向上させることができる。
バスマスタについて、それらがバスの使用権を得た順に
メモリにアクセスするように制御することができる。そ
のため、時間経過に伴う処理順序を適正に保つことがで
きる。
はキャッシュを用いず、シングルモードでキャッシュを
使用するため、キャッシュされた大量のデータが無駄に
なる事態を防止してキャッシュの使用効率を向上させ、
メモリへのデータ転送速度が向上する。
スの使用状況やバス要求の優先度、バスの性能、転送す
るデータがバスに適合するか否かなどを動的に決定して
選択するため、バスの効率を向上させることができる。
して消費電力を抑制し、さらに、予備的な警告と危険な
事態とで別々な割込み信号で通報するため、大量の熱の
発生を抑制し、装置の熱による破壊を防止することがで
きる。
ムの構成例の図である。
ムの構成例の図である。
ムの構成例の図である。
トを示す図である。
である。
る。
細なブロック図である。
された場合のキャッシュの動作を示すフローチャートで
ある。
求された場合のキャッシュの動作を示すフローチャート
である。
示す図である。
を示すタイミング図である。
を示すタイミング図である。
イミングを示すタイミング図である。
イミングを示すタイミング図である。
のシングル読み出しのタイミングを示すタイミング図で
ある。
た場合のシングル読み出しのタイミングを示すタイミン
グ図である。
のシングル書き込みのタイミングを示すタイミング図で
ある。
た場合のシングル書き込みのタイミングを示すタイミン
グ図である。
ロック図である。
る。
図である。
スのアドレス空間でのメモリマップ、IOバスのアドレ
ス空間でのメモリマップの図である。
12メガバイトを示すマップの図である。
る。
る。
タイミング図である。
図である。
イミング図である。
イミング図である。
イミング図である。
イミング図である。
ク図である。
図である。
04を中心とする、Gバス上のバスマスタによるDMAに
係るブロック図である。
1〜4のすべてについて1に設定されている場合の公平
アービトレーションモード(フェアモード)の例を示す
図である。
1についてのみ2であり、他のバスマスタは1に設定さ
れている場合の公平アービトレーションモードの例を示
す図である。
つであり、バスマスタ1が優先バスマスタと設定されて
いる場合の優先アービトレーションモードの例を示す図
である。
スタ4のバス要求が許可されているにもかかわらず中断
された例を示す図である。
る。
である。
ロック図である。
のブロック図である。
のブロック図である。
である。
ロック図である。
図である。
である。
4301のブロック図である。
である。
である。
ある。
る。
求された場合のキャッシュの動作の他の例を示すフロー
チャートである。
求された場合のキャッシュの動作の他の例を示すフロー
チャートである。
求された場合のキャッシュの動作の他の例を示すフロー
チャートである。
求された場合のキャッシュの動作の他の例を示すフロー
チャートである。
Claims (26)
- 【請求項1】 少なくとも1つのバスと、 該バスに接続された複数のバスマスタと、 前記複数のバスマスタそれぞれに対してバス使用権の付
与の開始条件と終了条件とを記憶する手段と、 前記複数のバスマスタからバスの使用要求があると、前
記条件にしたがって前記複数のバスマスタのバス使用権
の付与を開始し、終了するバス調停手段とを備えること
を特徴とするバス管理装置。 - 【請求項2】 前記複数のバスマスタの順序を記憶する
第2の記憶手段を更に備え、前記バス調停手段は、前記
順序と前記開始条件とを満足したバスマスタにバス使用
権の付与を開始し、バス使用権を与えられており、前記
終了条件を満足したバスマスタのバス使用権の付与を終
了することを特徴とする請求項1に記載のバス管理装
置。 - 【請求項3】 優先順次モードと完全順次モードとを表
すモード設定手段を更に備え、前記バス調停手段は、優
先順次モードにおいては、前記記憶手段にバス使用権の
付与の開始条件と終了条件とが記憶されたバスマスタ
を、それ以外のバスマスタに対して優先的にバスの使用
権を付与し、完全順次モードにおいては、前記記憶手段
にバス使用権の付与の開始条件と終了条件とが記憶され
ていないバスマスタに対してはバスの使用権を付与しな
いことを特徴とする請求項1または2に記載のバス管理
装置。 - 【請求項4】 少なくとも4つのバスと、 前記バスに接続されたバスマスタと、 前記バス同士の接続を、前記バスのそれぞれに接続され
たバスマスタのバスの要求に応じて切り替える切り替え
手段とを備えることを特徴とするバス管理装置。 - 【請求項5】 前記少なくとも4つのバスの内のひとつ
にはメモリが、他のバスにはそれぞれ少なくとも1つの
バスマスタが接続されていることを特徴とする請求項4
に記載のバス管理装置。 - 【請求項6】 前記バスは、メモリに接続されたバス
と、プロセッサに接続されたバスと、入出力機器に接続
された少なくとも2つのバスを含み、前記切り替え手段
は、プロセッサに接続されたバスと入出力機器に接続さ
れたバスとからの接続要求を調停することを特徴とする
請求項5に記載のバス管理装置。 - 【請求項7】 前記切り替え手段は、前記メモリに接続
されたバスと前記入出力機器に接続された一方のバス
と、前記プロセッサに接続されたバスと前記入出力機器
に接続された他方のバスとのそれぞれを、並列的に接続
することを特徴とする請求項6に記載のバス管理装置。 - 【請求項8】 前記切り替え手段は、前記プロセッサか
らのメモリあるいは入出力に対する接続要求と、前記入
出力バスそれぞれからメモリに対する接続要求とを調停
し、バス同士の接続を切り替えることを特徴とする請求
項6に記載のバス管理装置。 - 【請求項9】 画像データの入力及び出力を行う画像入
出力機器を制御する制御部を更に備え、該制御部は、前
記入出力機器に接続された2つのバスに接続され、選択
的にいずれかを用いることを特徴とする請求項4に記載
のバス管理装置。 - 【請求項10】 それぞれにバスマスタを備えた少なく
とも2つのバスと、 前記バスを介してアクセスされるメモリと、 前記バスそれぞれに接続され、当該バスのバスマスタに
よるバス要求を調停し、そのいずれかにバス使用権を付
与する調停手段と、 前記バスそれぞれについてバス使用権を付与された複数
のバスマスタが同一のあて先に書き込みを行う場合、そ
れらバスマスタのうち、もっとも早くバス要求を出した
バスマスタ以外のバスマスタに対するバス使用権を停止
させるよう、前記調停手段に対して通知するバス同期手
段とを備えることを特徴とするバス管理装置。 - 【請求項11】 前記バス同期手段は、前記各バスのバ
スマスタがバス要求を出した時刻を記憶し、バス要求と
ともに指定されたアドレスを比較して一致した場合には
前記記憶された時刻を比較し、もっとも速い時刻のバス
要求でないバス要求を出したバスマスタを停止させるこ
とを特徴とする請求項10に記載のバス管理装置。 - 【請求項12】 それぞれがバスの調停手段を有する少
なくとも2つのバスと、 前記バスに接続されたバスマスタと、 前記バスの状態と、前記バスマスタから出されるバス要
求の情報とを判定し、前記バスのうちいずれを使用する
か決定する決定手段とを備えることを特徴とするバス管
理装置。 - 【請求項13】 前記バス要求の情報には、バス要求の
優先度とデータの転送先と転送サイズとを含み、前記バ
スの状態には、各バスの使用状態を含み、前記決定手段
は、要求された前記転送先と転送サイズとが許されるバ
スがひとつの場合にはそのバスを使用するものと決定
し、複数ある場合には、転送速度の速い方のバスを優先
的に使用するよう決定することを特徴とする請求項12
に記載のバス管理装置。 - 【請求項14】 単一の半導体基板上に形成されてなる
ことを特徴とする請求項1乃至13のいずれかに記載の
バス管理装置。 - 【請求項15】 連続したロケーションへのデータ転送
を行うバーストモードを支援するメモリと、 前記メモリの前段にあって、該メモリと交換されるデー
タを一旦蓄積するキャッシュメモリを備えたメモリ制御
手段とを備え、 前記メモリ制御手段は、前記メモリへのデータ転送がバ
−ストモードであればキャッシュを介さずに直接前記メ
モリへデータを転送し、シングルモードであれば一旦キ
ャッシュにデータを書き込むようキャッシュメモリを制
御することを特徴とするメモリ管理装置。 - 【請求項16】 連続したロケーションへのデータ転送
を行うバーストモードを支援するメモリと、 前記メモリの前段にあって、該メモリと交換されるデー
タを一旦蓄積するキャッシュメモリを備えたメモリ制御
手段と、 前記メモリへアクセスする複数のバスマスタとを備え、 前記メモリ制御手段は、前記メモリへのデータ転送をし
ようとするバスマスタに応じて、キャッシュを介さずに
直接前記メモリへデータを転送するか、一旦キャッシュ
にデータを書き込んでメモリへデータを転送するか制御
することを特徴とするメモリ管理装置。 - 【請求項17】 前記メモリ制御手段は、前記バスマス
タの識別子と、それに対応して、キャッシュを介さずに
直接前記メモリへデータを転送するか、一旦キャッシュ
にデータを書き込んでメモリへデータを転送するかの別
を記憶する再書込み可能なテーブルを備えることを特徴
とする請求項16に記載のメモリ管理装置。 - 【請求項18】 前記メモリは、シンクロナスDRAM
であることを特徴とする請求項15乃至17のいずれか
に記載のメモリ管理装置。 - 【請求項19】 前記メモリ制御手段は、単一の半導体
基板上に形成された電気回路であることを特徴とする請
求項15乃至18のいずれかに記載のメモリ管理装置。 - 【請求項20】 制御部により制御された複数の回路ブ
ロックを含む電気回路の消費電力を制御する電力管理装
置であって、 各ブロックの動作状態を監視する状態監視手段と、 動作状態にあるブロックの消費電力を加算する加算手段
と、 加算された電力を所定の閾値と比較し、閾値を越えたこ
とを前記制御部に通知する通報手段とを備えることを特
徴とする電力管理装置。 - 【請求項21】 前記通報手段は、前記閾値として互い
に異なる複数の値を有し、各閾値ごとの比較結果に応じ
て、通知を行うことを特徴とする請求項20に記載の電
力管理装置。 - 【請求項22】 経過時間を測定する計時手段を更に備
え、前記通報手段は、前記通知を行ってから、各ブロッ
クの動作状態が変わらないまま所定時間経過すると再度
通知を繰り返すことを特徴とする請求項20または21
に記載の電力管理装置。 - 【請求項23】 前記閾値は、前記制御部により書き換
えられることを特徴とする請求項20に記載の電力管理
装置。 - 【請求項24】 請求項1乃至14のいずれかに記載の
バス管理装置を備え、該バス管理装置により、画像入力
装置及び画像出力装置が接続されたバスを管理すること
を特徴とする複合機器の制御装置。 - 【請求項25】 請求項15乃至19のいずれかに記載
のメモリ管理装置を備えることを特徴とする複合機器の
制御装置。 - 【請求項26】 請求項20乃至23のいずれかに記載
の電力管理装置を備えることを特徴とする複合機器の制
御装置。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20057097A JP3524337B2 (ja) | 1997-07-25 | 1997-07-25 | バス管理装置及びそれを有する複合機器の制御装置 |
EP98305792A EP0893766B1 (en) | 1997-07-25 | 1998-07-21 | Bus manager and control apparatus for multifunction device having said bus manager |
DE69841398T DE69841398D1 (de) | 1997-07-25 | 1998-07-21 | Busverwalter und Steuerungsvorrichtung für ein Multifunktionsgerät mit einem solchen Busverwalter |
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 |
---|---|---|---|
JP2003180263A Division JP2004030672A (ja) | 2003-06-24 | 2003-06-24 | バス管理装置及びそれを有する複合機器の制御装置及びバス管理方法 |
JP2003180262A Division JP2004046851A (ja) | 2003-06-24 | 2003-06-24 | バス管理装置及びそれを有する複合機器の制御装置 |
JP2003180264A Division JP2004062887A (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)
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)
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 |
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 |
US7206879B2 (en) * | 2001-11-20 | 2007-04-17 | Broadcom Corporation | Systems using mix of packet, coherent, and noncoherent traffic to optimize transmission between systems |
US7752281B2 (en) | 2001-11-20 | 2010-07-06 | Broadcom Corporation | Bridges performing remote reads and writes as uncacheable coherent operations |
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 |
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 | キヤノン株式会社 | 画像処理装置 |
US6993631B2 (en) | 2002-05-15 | 2006-01-31 | Broadcom Corporation | L2 cache maintaining local ownership of remote coherency blocks |
US6965973B2 (en) | 2002-05-15 | 2005-11-15 | Broadcom Corporation | Remote line directory which covers subset of shareable CC-NUMA memory space |
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 |
CN1672411B (zh) * | 2002-08-01 | 2010-08-18 | 精工爱普生株式会社 | 图象再生装置、图象保持装置及图象再生系统 |
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 |
EP1598738A4 (en) | 2003-02-26 | 2009-04-01 | Science Park Corp | COMPUTER CONTAINING PRINTING CONTROL PROGRAM, PROGRAM, AND PROGRAM RECORDING MEDIUM |
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 | 苏州浪潮智能科技有限公司 | 一种基于服务器多处理机板卡设备之间的数据处理方法 |
CN112732603B (zh) * | 2019-10-14 | 2024-08-27 | 广州飒特红外股份有限公司 | 一种多通道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)
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 |
DE69122520T2 (de) * | 1990-01-31 | 1997-02-13 | Hewlett Packard Co | Vielfachbus-Systemspeicherarchitektur |
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 |
AU4002095A (en) | 1994-10-26 | 1996-05-23 | 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 |
-
1997
- 1997-07-25 JP JP20057097A patent/JP3524337B2/ja not_active Expired - Fee Related
-
1998
- 1998-07-21 EP EP98305792A patent/EP0893766B1/en not_active Expired - Lifetime
- 1998-07-21 DE DE69841398T patent/DE69841398D1/de not_active Expired - Lifetime
- 1998-07-24 US US09/122,012 patent/US6438635B1/en not_active Expired - Fee Related
-
2001
- 2001-07-31 US US09/917,833 patent/US7062664B2/en not_active Expired - Fee Related
- 2001-07-31 US US09/917,715 patent/US6499076B2/en not_active Expired - Fee Related
Cited By (20)
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 |
---|---|
US6438635B1 (en) | 2002-08-20 |
DE69841398D1 (de) | 2010-02-04 |
US6499076B2 (en) | 2002-12-24 |
US20020007431A1 (en) | 2002-01-17 |
EP0893766A3 (en) | 2003-12-10 |
EP0893766A2 (en) | 1999-01-27 |
EP0893766B1 (en) | 2009-12-23 |
JP3524337B2 (ja) | 2004-05-10 |
US7062664B2 (en) | 2006-06-13 |
US20020059491A1 (en) | 2002-05-16 |
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 | |
US6480916B1 (en) | Information processing method and system for composite appliance | |
JP3976927B2 (ja) | バス制御装置 | |
US6003106A (en) | DMA cache control logic | |
JP2000211210A (ja) | 複合機器の制御装置及び方法 | |
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) | バス上でのプリフェッチ装置およびプリフェッチ方法 | |
JP5094050B2 (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 |