JP2000211210A - 複合機器の制御装置及び方法 - Google Patents
複合機器の制御装置及び方法Info
- Publication number
- JP2000211210A JP2000211210A JP11055957A JP5595799A JP2000211210A JP 2000211210 A JP2000211210 A JP 2000211210A JP 11055957 A JP11055957 A JP 11055957A JP 5595799 A JP5595799 A JP 5595799A JP 2000211210 A JP2000211210 A JP 2000211210A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- signal
- data
- controller
- master
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00885—Power supply means, e.g. arrangements for the control of power supply to the apparatus or components thereof
- H04N1/00899—Detection of supply level or supply failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00912—Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32561—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using a programmed control device, e.g. a microprocessor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00885—Power supply means, e.g. arrangements for the control of power supply to the apparatus or components thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0077—Types of the still picture apparatus
- H04N2201/0081—Image reader
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0077—Types of the still picture apparatus
- H04N2201/0082—Image hardcopy reproducer
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Power Sources (AREA)
- Facsimiles In General (AREA)
Abstract
(57)【要約】
【課題】複数のジョブの並列実行による電力の消費量を
適正水準に管理する。 【解決手段】キー操作によりジョブを開始させる場合、
まずスタートキーが押されると、(S1104)、電力
がオーバーしていないか判定し(S1105)、オーバ
ーしていなければそのジョブを実行し(S1106)、
オーバーしていれば実行せずに次の指示を待つ。
適正水準に管理する。 【解決手段】キー操作によりジョブを開始させる場合、
まずスタートキーが押されると、(S1104)、電力
がオーバーしていないか判定し(S1105)、オーバ
ーしていなければそのジョブを実行し(S1106)、
オーバーしていれば実行せずに次の指示を待つ。
Description
【0001】
【発明の属する技術分野】本発明は、例えばスキャナ等
の画像入力装置とプリンタ等の画像出力装置とを効率的
に制御する複合機器の制御装置及び方法に関するもので
ある。
の画像入力装置とプリンタ等の画像出力装置とを効率的
に制御する複合機器の制御装置及び方法に関するもので
ある。
【0002】
【従来の技術】従来、スキャナなどの画像入力装置とプ
リンタなどの画像出力装置とを組み合わせた複写機やフ
ァクシミリ、あるいはそれらを単体として備えたコンピ
ュータシステムなど、複合機器と呼ばれる画像処理装置
が実用化されている。このような装置では、資源を競合
しない限り、複合するユニットを用いて、複数のジョブ
を並行に実行することができる。
リンタなどの画像出力装置とを組み合わせた複写機やフ
ァクシミリ、あるいはそれらを単体として備えたコンピ
ュータシステムなど、複合機器と呼ばれる画像処理装置
が実用化されている。このような装置では、資源を競合
しない限り、複合するユニットを用いて、複数のジョブ
を並行に実行することができる。
【0003】
【発明が解決しようとする課題】しかしながら、複数の
ジョブが並行に実行されれば、それだけ装置全体が消費
する電力が増加し、装置に安全に供給できる電力を越え
てしまう自体も発生する。このような事態が発生すれ
ば、甚だしい場合には装置自体が破壊されてしまうこと
もあり得る。
ジョブが並行に実行されれば、それだけ装置全体が消費
する電力が増加し、装置に安全に供給できる電力を越え
てしまう自体も発生する。このような事態が発生すれ
ば、甚だしい場合には装置自体が破壊されてしまうこと
もあり得る。
【0004】
【課題を解決するための手段】本発明は上記従来例に鑑
みてなされたもので、電力消費状態に応じてジョブの実
行を制御することで、装置全体の電力状態を適切な状態
に維持することを目的とする。
みてなされたもので、電力消費状態に応じてジョブの実
行を制御することで、装置全体の電力状態を適切な状態
に維持することを目的とする。
【0005】また上記目的を達成するために、本発明は
次のような構成からなる。すなわち複数のジョブを並列
に実行可能な複合機器の制御装置であって、消費電力を
監視する監視手段と、ジョブの開始を指示する指示手段
と、前記監視手段により、消費電力が所定値を越えてい
ないか判定する判定手段とを備え、前記判定手段により
消費電力が所定値を越えていると判定された場合、前記
指示手段により指示されたジョブを実行しない。
次のような構成からなる。すなわち複数のジョブを並列
に実行可能な複合機器の制御装置であって、消費電力を
監視する監視手段と、ジョブの開始を指示する指示手段
と、前記監視手段により、消費電力が所定値を越えてい
ないか判定する判定手段とを備え、前記判定手段により
消費電力が所定値を越えていると判定された場合、前記
指示手段により指示されたジョブを実行しない。
【0006】また好ましくは、前記指示手段によりジョ
ブが開始された場合、そのジョブが実行中であることを
示す画像を表示し、ジョブが終了した場合、実行中であ
ること示す画像を消去する表示手段を更に備える。
ブが開始された場合、そのジョブが実行中であることを
示す画像を表示し、ジョブが終了した場合、実行中であ
ること示す画像を消去する表示手段を更に備える。
【0007】
【発明の実施の形態】次に本発明の実施の形態として、
画像スキャナやプリンタ、ファクシミリ、電子ファイル
等の画像入出力に関わる複数の機能を備えた複合画像形
成装置に関して説明する。図127は複合画像形成装置
のブロック図である。図127において、Do Eng
ine116−1は、装置全体を制御する制御回路であ
り、ひとつの半導体に集積された集積回路として実現さ
れる。この制御回路116−1には、データやプログラ
ム等を格納するためのROM116−2,画像データ等
が格納されるRAM116−3、画像データ等を格納す
るためのハードディスク等からなる外部記憶装置116
−4、画像データ等が表示される表示部116−5、表
示部116−5のうえに重ねられた透明なデジタイザな
どで実現される操作部116−6、画像スキャナやプリ
ンタのエンジン部と接続するためのエンジンインターフ
ェース116−7、通信線を介してデータ交換を行うた
めのネットワークインターフェース116−8、その他
が威武装置と説属すための外部インターフェース116
−9などが接続されている。なお、外部記憶装置116
−4は、Do Engine116−1がもつPCIイ
ンターフェース上に接続されている。
画像スキャナやプリンタ、ファクシミリ、電子ファイル
等の画像入出力に関わる複数の機能を備えた複合画像形
成装置に関して説明する。図127は複合画像形成装置
のブロック図である。図127において、Do Eng
ine116−1は、装置全体を制御する制御回路であ
り、ひとつの半導体に集積された集積回路として実現さ
れる。この制御回路116−1には、データやプログラ
ム等を格納するためのROM116−2,画像データ等
が格納されるRAM116−3、画像データ等を格納す
るためのハードディスク等からなる外部記憶装置116
−4、画像データ等が表示される表示部116−5、表
示部116−5のうえに重ねられた透明なデジタイザな
どで実現される操作部116−6、画像スキャナやプリ
ンタのエンジン部と接続するためのエンジンインターフ
ェース116−7、通信線を介してデータ交換を行うた
めのネットワークインターフェース116−8、その他
が威武装置と説属すための外部インターフェース116
−9などが接続されている。なお、外部記憶装置116
−4は、Do Engine116−1がもつPCIイ
ンターフェース上に接続されている。
【0008】次に、その装置を制御する中心的な構成で
ある、プロセッサコア、プロセッサ周辺コントローラ、
メモリコントローラ、スキャナ/プリンタコントロー
ラ、PCIインターフェースなどを内蔵したシングルチ
ップ・スキャニング・プリンティングエンジンである
“DoEngine”を説明する。
ある、プロセッサコア、プロセッサ周辺コントローラ、
メモリコントローラ、スキャナ/プリンタコントロー
ラ、PCIインターフェースなどを内蔵したシングルチ
ップ・スキャニング・プリンティングエンジンである
“DoEngine”を説明する。
【0009】1.DoEngine概要 DoEngineは、MIPSテクノロジー社のR40
00プロセッサとコンパチブルなプロセッサコア、プロ
セッサ周辺コントローラ、メモリコントローラ、スキャ
ナー/プリンタコントローラ、PCIインターフェース
などを内蔵したシングルチップ・スキャニング・プリン
ティングエンジンである。高速並列動作、ビルディング
ブロック手法を採用し実装される。
00プロセッサとコンパチブルなプロセッサコア、プロ
セッサ周辺コントローラ、メモリコントローラ、スキャ
ナー/プリンタコントローラ、PCIインターフェース
などを内蔵したシングルチップ・スキャニング・プリン
ティングエンジンである。高速並列動作、ビルディング
ブロック手法を採用し実装される。
【0010】プロセッサシェル(プロセッサコアを含む
プロセッサ周辺回路の総称)内には最大でインストラク
ション、データそれぞれ16Kバイトの計32Kバイト
のキャッシュメモリ、FPU(浮動小数点演算ユニッ
ト)、MMU(メモリ管理ユニット)、ユーザー定義可
能なコプロセッサなどを内蔵することが可能である。
プロセッサ周辺回路の総称)内には最大でインストラク
ション、データそれぞれ16Kバイトの計32Kバイト
のキャッシュメモリ、FPU(浮動小数点演算ユニッ
ト)、MMU(メモリ管理ユニット)、ユーザー定義可
能なコプロセッサなどを内蔵することが可能である。
【0011】PCIバスインターフェースを有するの
で、PCIバススロットを有するコンピュータシステム
と共に用いることができる。また、PCIサテライト構
成に加え、PCIホストバスブリッジ構成にてPCIバ
スコンフィギュレーションを発行することが可能であ
り、安価なPCI周辺デバイスと組み合わせることによ
り、マルチファンクションペリフェラル(複合機能周辺
機器)のメインエンジンとして使用することも可能であ
る。さらにPCIバスインターフェースを有するレンダ
リングエンジン、圧縮・伸長エンジンと組み合わせるこ
とも可能である。
で、PCIバススロットを有するコンピュータシステム
と共に用いることができる。また、PCIサテライト構
成に加え、PCIホストバスブリッジ構成にてPCIバ
スコンフィギュレーションを発行することが可能であ
り、安価なPCI周辺デバイスと組み合わせることによ
り、マルチファンクションペリフェラル(複合機能周辺
機器)のメインエンジンとして使用することも可能であ
る。さらにPCIバスインターフェースを有するレンダ
リングエンジン、圧縮・伸長エンジンと組み合わせるこ
とも可能である。
【0012】チップ内部に汎用IOコアを接続するIO
バス(Bバス)、及び、画像データ転送に最適化したグ
ラフィックバス(Gバス:Graphics Bus)
の2系統の独立したバスを有し、メモリ、プロセッサと
これらのバスをクロスバスイッチを介して接続すること
により、マルチファンクションシステムにおける同時動
作に必須の、並列性の高い高速データ転送を実現してい
る。
バス(Bバス)、及び、画像データ転送に最適化したグ
ラフィックバス(Gバス:Graphics Bus)
の2系統の独立したバスを有し、メモリ、プロセッサと
これらのバスをクロスバスイッチを介して接続すること
により、マルチファンクションシステムにおける同時動
作に必須の、並列性の高い高速データ転送を実現してい
る。
【0013】メモリには、画像データに代表される、連
続したデータ列のアクセスに対し、最高のコストパフォ
ーマンスを有するシンクロナスDRAM(SDRAM)
をサポートし、SDRAMのバーストアクセス高速デー
タ転送のメリットを享受できない小さなデータ単位での
ランダムアクセスにおける性能低下を最小に抑えるため
に、8Kバイトの2ウェイセットアソシアティブ・メモ
リフロントキャッシュをメモリコントローラ内に備え
る。メモリフロントキャッシュは、すべてのメモリライ
トに対するバススヌープが難しい、クロスバスイッチを
採用したシステム構成においても、複雑な機構なしに、
キャッシュメモリによる高性能化が達成出来る方式であ
る。また、リアルタイムデータ転送(機器制御)が可能
な、プリンタ及びスキャナーとのデータインターフェー
ス(Video Interface)を有し、さらに
ハードウェアによる、機器間同期のサポート及び画像処
理を行う事により、スキャナ、プリンタ分離型の構成に
おいても、高品質で高速なコピー動作の実現が可能な構
成となっている。
続したデータ列のアクセスに対し、最高のコストパフォ
ーマンスを有するシンクロナスDRAM(SDRAM)
をサポートし、SDRAMのバーストアクセス高速デー
タ転送のメリットを享受できない小さなデータ単位での
ランダムアクセスにおける性能低下を最小に抑えるため
に、8Kバイトの2ウェイセットアソシアティブ・メモ
リフロントキャッシュをメモリコントローラ内に備え
る。メモリフロントキャッシュは、すべてのメモリライ
トに対するバススヌープが難しい、クロスバスイッチを
採用したシステム構成においても、複雑な機構なしに、
キャッシュメモリによる高性能化が達成出来る方式であ
る。また、リアルタイムデータ転送(機器制御)が可能
な、プリンタ及びスキャナーとのデータインターフェー
ス(Video Interface)を有し、さらに
ハードウェアによる、機器間同期のサポート及び画像処
理を行う事により、スキャナ、プリンタ分離型の構成に
おいても、高品質で高速なコピー動作の実現が可能な構
成となっている。
【0014】なお、DoEngineは、コアが3.3
Vで動作し、IOは5Vトレラントである。
Vで動作し、IOは5Vトレラントである。
【0015】図1及び図2,図3は、DoEngine
を用いた複合画像生成装置あるいはシステムの構成例を
示している。図1は分離構成型であり、パーソナルコン
ピュータ102には、それが備えるPCIインターフェ
ースを介してDoEngineを備えたローカルボード
101が装着される。ローカルボード101にはDoE
ngineのほか、後述するメモリバスを介してDoE
ngineと接続されたメモリと、色処理回路(チッ
プ)が設けられている。このローカルボード101を介
して、高速スキャナ103とカラー/モノクロプリンタ
104とがパーソナルコンピュータ102に接続され
る。この構成により、パーソナルコンピュータの制御の
もとで,ローカルボード101により、スキャナ103
から入力された画像情報を処理し、プリンタ104から
出力させることができる。
を用いた複合画像生成装置あるいはシステムの構成例を
示している。図1は分離構成型であり、パーソナルコン
ピュータ102には、それが備えるPCIインターフェ
ースを介してDoEngineを備えたローカルボード
101が装着される。ローカルボード101にはDoE
ngineのほか、後述するメモリバスを介してDoE
ngineと接続されたメモリと、色処理回路(チッ
プ)が設けられている。このローカルボード101を介
して、高速スキャナ103とカラー/モノクロプリンタ
104とがパーソナルコンピュータ102に接続され
る。この構成により、パーソナルコンピュータの制御の
もとで,ローカルボード101により、スキャナ103
から入力された画像情報を処理し、プリンタ104から
出力させることができる。
【0016】また、図2及び図3はスキャナ203とプ
リンタ202とを一体に組み込んだ例で、図2は通常の
複写機に類する構成を、図3(a)はファクシミリ装置
などの構成を示している。図3(b)は、図3(a)を
コントロールするコンピュータを示している。
リンタ202とを一体に組み込んだ例で、図2は通常の
複写機に類する構成を、図3(a)はファクシミリ装置
などの構成を示している。図3(b)は、図3(a)を
コントロールするコンピュータを示している。
【0017】これらのうち、図1,2は、PCIインタ
ーフェースを介して接続された外部のCPUによりDo
Engineが制御されるというスレーブモードで使用
されている例であり、図3は、DoEngineのCP
Uが主体となり、PCIインターフェースを介して接続
されたデバイスを制御するマスタモードで使用されてい
る例である。
ーフェースを介して接続された外部のCPUによりDo
Engineが制御されるというスレーブモードで使用
されている例であり、図3は、DoEngineのCP
Uが主体となり、PCIインターフェースを介して接続
されたデバイスを制御するマスタモードで使用されてい
る例である。
【0018】表1として、DoEngineの仕様を示
す。外部インターフェースとして、PCI,メモリバ
ス,ビデオ,汎用入出力,IEEE1284,RS23
2C,100baseT/10baseT,LCDパネ
ル及びキーを備えるが、更にUSBを有していてもよ
い。内蔵ブロックとして、CPUコアに加えて、1次キ
ャッシュ,キャッシュ付きメモリコントローラ,コピー
エンジン,IOバスアービタ(Bバスアービタ),グラ
フィックバスアービタ(Gバスアービタ)などを備えて
いる。また、DMAコントローラはチャネル数が5であ
り、グラフィックバス(Gバス),IOバス(Bバス)
ともに、アービトレーションは優先度付きの先着順処理
方式で行われる。
す。外部インターフェースとして、PCI,メモリバ
ス,ビデオ,汎用入出力,IEEE1284,RS23
2C,100baseT/10baseT,LCDパネ
ル及びキーを備えるが、更にUSBを有していてもよ
い。内蔵ブロックとして、CPUコアに加えて、1次キ
ャッシュ,キャッシュ付きメモリコントローラ,コピー
エンジン,IOバスアービタ(Bバスアービタ),グラ
フィックバスアービタ(Gバスアービタ)などを備えて
いる。また、DMAコントローラはチャネル数が5であ
り、グラフィックバス(Gバス),IOバス(Bバス)
ともに、アービトレーションは優先度付きの先着順処理
方式で行われる。
【0019】
【表1】
【0020】2.DoEngineの構成及び動作 本章では、DoEngineの総論に加え、各機能ブロ
ック毎のブロック図、概要、詳細、コアインターフェー
ス、タイミング図などを解説する。
ック毎のブロック図、概要、詳細、コアインターフェー
ス、タイミング図などを解説する。
【0021】2.1.DoEngineのチップ構成 図4として、DoEngineのブロック図を示す。D
oEngine400は次世代複合機能周辺機器(シス
テム)(MFP:Multi Function Pe
ripheral orMFS:Multi Func
tion System)の主たるコントローラとして
設計、開発された。
oEngine400は次世代複合機能周辺機器(シス
テム)(MFP:Multi Function Pe
ripheral orMFS:Multi Func
tion System)の主たるコントローラとして
設計、開発された。
【0022】CPU(プロセッサコア)401として、
MIPSテクノロジー社のMIPSR4000コアを採
用する。プロセッサコア401内には、8Kバイトずつ
のインストラクション,データのキャッシュメモリ、M
MUなどが実装される。プロセッサコア401は、64
ビットのプロセッサバス(SCバス)を介して、システ
ム・バス・ブリッジ(SBB)402に接続される。S
BB402は4×4の64ビットクロスバスイッチであ
り、プロセッサコア401の他に、キャッシュメモリを
備えたSDRAMやROMを制御するメモリコントロー
ラ403と専用のローカルバス(MCバス)で接続され
ており、さらに、グラフィックバスであるGバス40
4、IOバスであるBバス405と接続され、全部で4
つのバスに接続される。システムバスブリッジ402
は、これら4モジュール間を、可能な限り、同時平行接
続を確保することができるように設計されている。
MIPSテクノロジー社のMIPSR4000コアを採
用する。プロセッサコア401内には、8Kバイトずつ
のインストラクション,データのキャッシュメモリ、M
MUなどが実装される。プロセッサコア401は、64
ビットのプロセッサバス(SCバス)を介して、システ
ム・バス・ブリッジ(SBB)402に接続される。S
BB402は4×4の64ビットクロスバスイッチであ
り、プロセッサコア401の他に、キャッシュメモリを
備えたSDRAMやROMを制御するメモリコントロー
ラ403と専用のローカルバス(MCバス)で接続され
ており、さらに、グラフィックバスであるGバス40
4、IOバスであるBバス405と接続され、全部で4
つのバスに接続される。システムバスブリッジ402
は、これら4モジュール間を、可能な限り、同時平行接
続を確保することができるように設計されている。
【0023】Gバス404はGバスアービタ(GBA)
406により協調制御されており、スキャナやプリンタ
と接続するためのスキャナコントローラ4302やプリ
ンタコントローラ4303に接続される。また、Bバス
405は、Bバスアービタ(BBA)407により協調
制御されており、スキャナ/プリンタコントローラのほ
か、電力管理ユニット(PMU)409,インタラプト
コントローラ(IC)410,UARTを用いたシリア
ルインターフェースコントローラ(SIC)411,U
SBコントローラ412,IEEE1284を用いたパ
ラレルインターフェースコントローラ(PIC)41
3,イーサネットを用いたLANコントローラ(LAN
C)414,LCDパネル,キー,汎用入出力コントロ
ーラ(PC)415,PCIバスインターフェース(P
CIC)416にも接続されている。汎用入出力コント
ローラ(PC)415には、Do Engineを制御
ユニットとして用い、後述する画像処理装置等を構成し
た場合に、表示パネルやキーボードを備えた操作パネル
417が接続される。
406により協調制御されており、スキャナやプリンタ
と接続するためのスキャナコントローラ4302やプリ
ンタコントローラ4303に接続される。また、Bバス
405は、Bバスアービタ(BBA)407により協調
制御されており、スキャナ/プリンタコントローラのほ
か、電力管理ユニット(PMU)409,インタラプト
コントローラ(IC)410,UARTを用いたシリア
ルインターフェースコントローラ(SIC)411,U
SBコントローラ412,IEEE1284を用いたパ
ラレルインターフェースコントローラ(PIC)41
3,イーサネットを用いたLANコントローラ(LAN
C)414,LCDパネル,キー,汎用入出力コントロ
ーラ(PC)415,PCIバスインターフェース(P
CIC)416にも接続されている。汎用入出力コント
ローラ(PC)415には、Do Engineを制御
ユニットとして用い、後述する画像処理装置等を構成し
た場合に、表示パネルやキーボードを備えた操作パネル
417が接続される。
【0024】2.2.プロセッサシェル プロセッサシェルとは、プロセッサコアに加えMMU
(Memory Management Unit)、
命令キャッシュ、データキャッシュ、ライトバックバッ
ファ及び掛け算ユニットを含んだブロックを指す。
(Memory Management Unit)、
命令キャッシュ、データキャッシュ、ライトバックバッ
ファ及び掛け算ユニットを含んだブロックを指す。
【0025】<キャッシュメモリ>図5に示したよう
に、キャッシュメモリコントローラは、無効(Inva
lid),有効かつクリーン(Valid Clea
n:キャッシュが更新されていない),有効かつダーテ
ィ(Valid Dirty:キャッシュが更新されて
いる)の3つのステートキャッシュを管理する。この状
態に応じて、キャッシュは制御される。
に、キャッシュメモリコントローラは、無効(Inva
lid),有効かつクリーン(Valid Clea
n:キャッシュが更新されていない),有効かつダーテ
ィ(Valid Dirty:キャッシュが更新されて
いる)の3つのステートキャッシュを管理する。この状
態に応じて、キャッシュは制御される。
【0026】2.3.インタラプトコントローラ 図6にインタラプトコントローラ410のブロック図を
示す。
示す。
【0027】インタラプトコントローラ410は、Bバ
スインターフェース605を介してBバス405に接続
され、DoEngineチップ内の各機能ブロック及
び、チップ外部からのインタラプトを集積し、CPUコ
ア401がサポートする、6レベルの外部インタラプト
及び、ノンマスカブルインタラプト(NMI)に再分配
する。各機能ブロックとは、電力管理ユニット409,
シリアルインターフェースコントローラ411,USB
コントローラ412,パラレルインターフェースコント
ローラ413,イーサネットコントローラ414,汎用
IOコントローラ415,PCIインターフェースコン
トローラ416,スキャナコントローラ4302,プリ
ンタコントローラ4303などである。
スインターフェース605を介してBバス405に接続
され、DoEngineチップ内の各機能ブロック及
び、チップ外部からのインタラプトを集積し、CPUコ
ア401がサポートする、6レベルの外部インタラプト
及び、ノンマスカブルインタラプト(NMI)に再分配
する。各機能ブロックとは、電力管理ユニット409,
シリアルインターフェースコントローラ411,USB
コントローラ412,パラレルインターフェースコント
ローラ413,イーサネットコントローラ414,汎用
IOコントローラ415,PCIインターフェースコン
トローラ416,スキャナコントローラ4302,プリ
ンタコントローラ4303などである。
【0028】この際、ソフトウェアコンフィギュレーシ
ョン可能なマスクレジスタ(IntMask Logi
c 0−5)602により、各要因毎に割り込みをマス
クをすることが可能である。また、外部インタラプト入
力は、選択的エッジ検出回路601により、信号線ごと
に、エッジセンス/レベルセンスを選択することが出来
る。要因レジスタ(Detect and set C
ause Reg0−5)603は、各レベルごとに、
どのインタラプトがアサートされているかを示すととも
に、ライト動作を行うことで、レベルごとにクリアを行
う事が出来る。
ョン可能なマスクレジスタ(IntMask Logi
c 0−5)602により、各要因毎に割り込みをマス
クをすることが可能である。また、外部インタラプト入
力は、選択的エッジ検出回路601により、信号線ごと
に、エッジセンス/レベルセンスを選択することが出来
る。要因レジスタ(Detect and set C
ause Reg0−5)603は、各レベルごとに、
どのインタラプトがアサートされているかを示すととも
に、ライト動作を行うことで、レベルごとにクリアを行
う事が出来る。
【0029】各レベルの割込み信号は、各レベル毎に少
なくともひとつの割り込みがあれば割込み信号を出力す
べく、論理和回路604により論理和として出力され
る。なお、各レベル内での複数要因間のレベル付けはソ
フトウェアにて行う。
なくともひとつの割り込みがあれば割込み信号を出力す
べく、論理和回路604により論理和として出力され
る。なお、各レベル内での複数要因間のレベル付けはソ
フトウェアにて行う。
【0030】2.4.メモリコントローラ 図7は、メモリコントローラ403のブロック図であ
る。メモリコントローラ403は、メモリコントローラ
専用のローカルバスであるMCバスにMCバスインター
フェース701を介して接続され、最大1ギガバイトの
シンクロナスDRAM(SDRAM)と、32メガバイ
トのフラッシュROMあるいはROMをサポートする。
SDRAMの特徴であるバースト転送時の高速性を活か
すため、64(16×4)バースト転送を実現する。ま
た、CPUやBバスよりの連続したアドレスのシングル
転送を考慮し、メモリコントローラ内にSRAM(メモ
リフロントキャッシュ)702を内蔵し、SDRAMへ
直接シングル転送を行うことを可能な限り回避して転送
効率を向上させる。メモリコントローラーSDRAM間
のデータバス幅は、信号ramData及びramPa
rをあわせて72ビット(このうち8ビットの信号ra
mParはパリティ)、フラッシュROM間のデータバ
スfntromData,prgromDataの幅は
32ビットとする。
る。メモリコントローラ403は、メモリコントローラ
専用のローカルバスであるMCバスにMCバスインター
フェース701を介して接続され、最大1ギガバイトの
シンクロナスDRAM(SDRAM)と、32メガバイ
トのフラッシュROMあるいはROMをサポートする。
SDRAMの特徴であるバースト転送時の高速性を活か
すため、64(16×4)バースト転送を実現する。ま
た、CPUやBバスよりの連続したアドレスのシングル
転送を考慮し、メモリコントローラ内にSRAM(メモ
リフロントキャッシュ)702を内蔵し、SDRAMへ
直接シングル転送を行うことを可能な限り回避して転送
効率を向上させる。メモリコントローラーSDRAM間
のデータバス幅は、信号ramData及びramPa
rをあわせて72ビット(このうち8ビットの信号ra
mParはパリティ)、フラッシュROM間のデータバ
スfntromData,prgromDataの幅は
32ビットとする。
【0031】2.4.2.構成及び動作 メモリコントローラの各部はこれから説明するような構
成となっている。
成となっている。
【0032】<MCバスインターフェース(701)>
MCバスは、SBB402−メモリコントローラ403
間の専用のバスであり、またSBB内部の基本バスとし
て用いられている。
MCバスは、SBB402−メモリコントローラ403
間の専用のバスであり、またSBB内部の基本バスとし
て用いられている。
【0033】CPU401とバスブリッジ402とを接
続する専用バスPBusのバースト転送が4バーストの
み規定しているのに対し、MCバスにおいては16バー
スト×4までの転送を追加している。このためにバース
ト長を示す信号としてmTType[6:0]を新たに
定義した。 (MCバス信号の定義) MCバスの各信号は下記の通り定義される。 ・mClk(出力) … MCバスクロック ・mAddr[31:0](出力) … MCバスアドレス 32ビットのアドレスバスであり、mTs_L がアサートされた時点からmB Rdy_Lがアサートされるまで保持される。 ・mDataOut[63:0](出力) … MCバスデータ出力 64ビットの出力データバスであり、mDataOe_Lがアサートされている 時のみ有効である。 ・mDataOe_L(出力) … MCバスデータ出力イネーブル mDataOut[63:0]が有効であることを示す。またその転送がWri teであることを示す。 ・mDataIn[63:0](入力) … MCバスデータ入力 64ビットの入力データバスであり、mBRdy_LがアサートされているmC lkの立ち上がりでサンプリングされる。 ・mTs_L(出力) … MCバストランザクション開始ストローブ 転送が開始したことを示す。転送の最初の1クロックの間だけアサートされる。 転送が1クロックで終了し、次の転送がすぐに始められるのならばmTs_Lは 引続きアサートされたままになる。 ・mTType[6:0](出力) … MCバストランザクションタイプ MCバス上の転送のタイプを示す。シングル転送時はその転送の間、バースト転 送時は最初の転送(beat)の間保持される。上位3ビットがソース(マスタ )をあらわし、下位ビットがシングル/バースト長をあらわす。タイプには次の ようなものがある。
続する専用バスPBusのバースト転送が4バーストの
み規定しているのに対し、MCバスにおいては16バー
スト×4までの転送を追加している。このためにバース
ト長を示す信号としてmTType[6:0]を新たに
定義した。 (MCバス信号の定義) MCバスの各信号は下記の通り定義される。 ・mClk(出力) … MCバスクロック ・mAddr[31:0](出力) … MCバスアドレス 32ビットのアドレスバスであり、mTs_L がアサートされた時点からmB Rdy_Lがアサートされるまで保持される。 ・mDataOut[63:0](出力) … MCバスデータ出力 64ビットの出力データバスであり、mDataOe_Lがアサートされている 時のみ有効である。 ・mDataOe_L(出力) … MCバスデータ出力イネーブル mDataOut[63:0]が有効であることを示す。またその転送がWri teであることを示す。 ・mDataIn[63:0](入力) … MCバスデータ入力 64ビットの入力データバスであり、mBRdy_LがアサートされているmC lkの立ち上がりでサンプリングされる。 ・mTs_L(出力) … MCバストランザクション開始ストローブ 転送が開始したことを示す。転送の最初の1クロックの間だけアサートされる。 転送が1クロックで終了し、次の転送がすぐに始められるのならばmTs_Lは 引続きアサートされたままになる。 ・mTType[6:0](出力) … MCバストランザクションタイプ MCバス上の転送のタイプを示す。シングル転送時はその転送の間、バースト転 送時は最初の転送(beat)の間保持される。上位3ビットがソース(マスタ )をあらわし、下位ビットがシングル/バースト長をあらわす。タイプには次の ようなものがある。
【0034】 ・mBE_L[7:0](出力) … MCバストランザクションバイトイネ ーブル シングル転送時、64ビットデータバス上の有効なバイトレーンを示す。バース ト転送時はWrite時のみ有効であり、Read時は無視される。 ・mBRdy_L(入力) …MCバスレディ 現在の転送(beat)が終了したことを示す。 ・mTPW_L(出力) … 次トランザクションがIn−page write(ページ内書き込み) 次の転送が同じページ(同じRowアドレス)のWriteであることを示し、 最大4個までのWriteを続けることができる。ページサイズはあらかじめコ ンフィギュレーションレジスタに設定しておく。 ・mBPWA_L(入力) … バスのページ内書き込み許可 MCバススレーブ(メモリコントローラ)がページ内書き込みトランザクション を許可するかどうかを示し、mBRdy_Lと同じクロックでサンプリングされ る。 この時mBPWA_LがディアサートされていればmTPW_Lは無意味となる 。 ・mBRty_L(入力) … バスリトライ MCバススレーブ(メモリコントローラ)がアクセスを未実行のまま終了させる 場合にアサートし、少なくとも1サイクル以上のアイドルの後に再試行しなけれ ばならないことを示す。(もしmBRdy_LとmBRty_Lが同時にアサー トされた場合は、mBRty_Lが優先される。) ・mBerr_L(入力) … バスエラー パリティエラーやその他のバスエラーが発生した場合にアサートされる。
【0035】なお、上述した入出力の別は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信号をアサートし、バス
リトライを通知する。
ての定義である。 (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信号をアサートし、バス
リトライを通知する。
【0036】<SDRAMコントローラ(705)>メ
モリコントローラ403は、次のような構成を有するS
DRAMを以下のように制御する。
モリコントローラ403は、次のような構成を有するS
DRAMを以下のように制御する。
【0037】(DRAM構成)DRAMの構成として
は、x4,x8,x16ビットタイプの16/64メガ
ビットSDRAMを64ビットデータバスで8バンク制
御することができる。
は、x4,x8,x16ビットタイプの16/64メガ
ビットSDRAMを64ビットデータバスで8バンク制
御することができる。
【0038】
【表2】
【0039】(DRAMアドレスビット構成)DRAM
のアドレスビットの割付けについては、64ビットSD
RAMの場合にはMA[13:0]を、16ビットSD
RAMの場合にはMA[11:0]を使用する。
のアドレスビットの割付けについては、64ビットSD
RAMの場合にはMA[13:0]を、16ビットSD
RAMの場合にはMA[11:0]を使用する。
【0040】
【表3】
【0041】(SDRAMプログラマブル構成(モード
レジスタ))SDRAMは内部にモードレジスタを持
ち、モードレジスタ設定コマンドを用いて下記の項目を
設定する。 バースト長 バースト長は、1,2,4,8,フルページのいずれか
が設定可能であるが、CPUからのバースト転送長が4
であることから、バースト長4が最適である。Gバスか
らの16バースト以上の転送は、Read/Write
コマンド(オートプリチャージ無し)を連続して発行す
ることにより実現する。 ラップタイプ(Wrap Type) バースト転送時のアドレスのインクリメント順を設定す
る。「シーケンシャル」または「インターリーブ」のど
ちらかが設定可能である。 CASレイテンシ CASレイテンシは、1,2,3のいずれかが設定可能
であり、使用するSDRAMのグレードと動作クロック
により決定される。
レジスタ))SDRAMは内部にモードレジスタを持
ち、モードレジスタ設定コマンドを用いて下記の項目を
設定する。 バースト長 バースト長は、1,2,4,8,フルページのいずれか
が設定可能であるが、CPUからのバースト転送長が4
であることから、バースト長4が最適である。Gバスか
らの16バースト以上の転送は、Read/Write
コマンド(オートプリチャージ無し)を連続して発行す
ることにより実現する。 ラップタイプ(Wrap Type) バースト転送時のアドレスのインクリメント順を設定す
る。「シーケンシャル」または「インターリーブ」のど
ちらかが設定可能である。 CASレイテンシ CASレイテンシは、1,2,3のいずれかが設定可能
であり、使用するSDRAMのグレードと動作クロック
により決定される。
【0042】(SDRAMコマンド)SDRAMに対し
て以下のコマンドをサポートする。各コマンドの詳細
は、SDRAMデータブックに記載されている。 ・モードレジスタ設定コマンド ・アクティブコマンド ・プリチャージコマンド ・ライトコマンド ・リードコマンド ・CBR(Auto)リフレッシュコマンド ・セルフリフレッシュ開始コマンド ・バーストストップコマンド ・NOPコマンド (SDRAMリフレッシュ)SDRAMは、2048サ
イクル/32ms(4096/64ms)であるので、
16,625nsおきにCBRリフレッシュコマンドを
発行する。メモリコントローラは設定可能なリフレッシ
ュカウンタを持ち、自動的にCBRリフレッシュコマン
ドを発行する。Gバスからの16−バーストxnの転送
中は、リフレッシュ要求を受け付けない。したがって、
リフレッシュカウンタは16−バーストx4転送の時間
だけ余裕を持った値を設定しなければならない。また、
セルフリフレッシュをサポートする。このコマンドを発
行すると、パワーダウンモード(ramclke_L=
Low)時にセルフリフレッシュが続行される。
て以下のコマンドをサポートする。各コマンドの詳細
は、SDRAMデータブックに記載されている。 ・モードレジスタ設定コマンド ・アクティブコマンド ・プリチャージコマンド ・ライトコマンド ・リードコマンド ・CBR(Auto)リフレッシュコマンド ・セルフリフレッシュ開始コマンド ・バーストストップコマンド ・NOPコマンド (SDRAMリフレッシュ)SDRAMは、2048サ
イクル/32ms(4096/64ms)であるので、
16,625nsおきにCBRリフレッシュコマンドを
発行する。メモリコントローラは設定可能なリフレッシ
ュカウンタを持ち、自動的にCBRリフレッシュコマン
ドを発行する。Gバスからの16−バーストxnの転送
中は、リフレッシュ要求を受け付けない。したがって、
リフレッシュカウンタは16−バーストx4転送の時間
だけ余裕を持った値を設定しなければならない。また、
セルフリフレッシュをサポートする。このコマンドを発
行すると、パワーダウンモード(ramclke_L=
Low)時にセルフリフレッシュが続行される。
【0043】(SDRAM初期化)メモリコントローラ
はパワーオンリセット後、SDRAMに対して以下の初
期化を行なう。すなわち、電源投入後100μsのポー
ズ期間をおいて、 プリチャージウコマンドを用いて全バンクをプリチャ
ージする。 SDRAMのモードレジスタを設定する。 オートリフレッシュコマンドを用いて、リフレッシュ
を8回行う。
はパワーオンリセット後、SDRAMに対して以下の初
期化を行なう。すなわち、電源投入後100μsのポー
ズ期間をおいて、 プリチャージウコマンドを用いて全バンクをプリチャ
ージする。 SDRAMのモードレジスタを設定する。 オートリフレッシュコマンドを用いて、リフレッシュ
を8回行う。
【0044】<フラッシュROMコントローラ(70
4)>フラッシュROMコントローラ704は、rom
Addr[23:2]のアドレス信号と4個のチップセ
レクト(romCs_L[3:0])信号をサポートす
る。アドレス信号romAddr2〜romAddr9
はパリティ信号ramPar0〜ramPar7とマル
チプレクスされ、アドレス信号romAddr10〜r
omAddr23は、DRAMアドレスramAddr
0〜ramAddr13とマルチプレクスされている。
4)>フラッシュROMコントローラ704は、rom
Addr[23:2]のアドレス信号と4個のチップセ
レクト(romCs_L[3:0])信号をサポートす
る。アドレス信号romAddr2〜romAddr9
はパリティ信号ramPar0〜ramPar7とマル
チプレクスされ、アドレス信号romAddr10〜r
omAddr23は、DRAMアドレスramAddr
0〜ramAddr13とマルチプレクスされている。
【0045】<SRAMコントロール(メモリフロント
キャッシュ)>メインメモリとして用いられるSDRA
Mは、バースト転送は非常に高速であるが、シングル転
送においてはその高速性が発揮できない。そこで、メモ
リコントローラ内にメモリフロントのキャッシュを実装
し、シングル転送の高速化をはかる。メモリフロントキ
ャッシュは、キャッシュコントローラ706とSRAM
702より構成される。MCバスに定義されたmTTy
pe[6:0]信号により、その転送マスターと転送長
を知ることができるので、各マスターごと、あるいは転
送長ごとにキャッシュのオン/オフが設定可能である。
キャッシュの方式は、次の通りである。なお、以下、特
に断らない限り、単なるキャッシュあるいはキャッシュ
メモリという呼称は、プロセッサコアに内蔵されたキャ
ッシュではなく、メモリコントローラが内蔵するメモリ
フロントキャッシュを指すものとする。 ・2ウェイセットアソシアティブ ・8kバイトデータRAM ・128x21x2タグRAM ・LRU(Least Recently Used)
アルゴリズム ・ライトスルー ・No Write Allocate 次にキャッシュコントローラ706を中心とする詳細な
ブロック図を図8に示す。
キャッシュ)>メインメモリとして用いられるSDRA
Mは、バースト転送は非常に高速であるが、シングル転
送においてはその高速性が発揮できない。そこで、メモ
リコントローラ内にメモリフロントのキャッシュを実装
し、シングル転送の高速化をはかる。メモリフロントキ
ャッシュは、キャッシュコントローラ706とSRAM
702より構成される。MCバスに定義されたmTTy
pe[6:0]信号により、その転送マスターと転送長
を知ることができるので、各マスターごと、あるいは転
送長ごとにキャッシュのオン/オフが設定可能である。
キャッシュの方式は、次の通りである。なお、以下、特
に断らない限り、単なるキャッシュあるいはキャッシュ
メモリという呼称は、プロセッサコアに内蔵されたキャ
ッシュではなく、メモリコントローラが内蔵するメモリ
フロントキャッシュを指すものとする。 ・2ウェイセットアソシアティブ ・8kバイトデータRAM ・128x21x2タグRAM ・LRU(Least Recently Used)
アルゴリズム ・ライトスルー ・No Write Allocate 次にキャッシュコントローラ706を中心とする詳細な
ブロック図を図8に示す。
【0046】(キャッシュの動作)ここで、MCバスよ
りメモリリード/ライト転送が要求された場合のキャッ
シュの動作を図8のブロック図と、図9及び図10に示
すフローチャートを用いて説明する。
りメモリリード/ライト転送が要求された場合のキャッ
シュの動作を図8のブロック図と、図9及び図10に示
すフローチャートを用いて説明する。
【0047】MCバスよりデータ転送が開始されると、
その転送の最初にMCバス上で示されるmTType
[6:0]によって、その転送がキャッシュオンでおこ
なうか、オフでおこなうかの判断がおこなわれる。この
説明では、転送がシングル転送であればオン、バースト
転送であればオフと判断することにする(ステップS9
01)。すなわち、mTType(3)が“1”hであ
れば、シングル転送をあらわすのでキャッシュオンで、
“0”hであればバースト転送をあらわすのでキャッシ
ュオフで転送を行う。
その転送の最初にMCバス上で示されるmTType
[6:0]によって、その転送がキャッシュオンでおこ
なうか、オフでおこなうかの判断がおこなわれる。この
説明では、転送がシングル転送であればオン、バースト
転送であればオフと判断することにする(ステップS9
01)。すなわち、mTType(3)が“1”hであ
れば、シングル転送をあらわすのでキャッシュオンで、
“0”hであればバースト転送をあらわすのでキャッシ
ュオフで転送を行う。
【0048】シングル転送(キャッシュオン)の場合、
アドレスlmaddr[31:0]が与えられると、l
maddr[11:5]がインデックスとしてb1 t
ag_ram801,b2_tag_ram802,b
1_data_ram702−a,b2_data_r
am702−b,lru803へ与えられ、それぞれの
ブロックから、入力されたインデックスに対応するバリ
ッドビット”v”及びb1 tag_addr,バリッ
ドビット”v”及びb2_tag addr,b1 o
ut data,b2 out data,lru_i
nがそれぞれ出力される(ステップS902)。
アドレスlmaddr[31:0]が与えられると、l
maddr[11:5]がインデックスとしてb1 t
ag_ram801,b2_tag_ram802,b
1_data_ram702−a,b2_data_r
am702−b,lru803へ与えられ、それぞれの
ブロックから、入力されたインデックスに対応するバリ
ッドビット”v”及びb1 tag_addr,バリッ
ドビット”v”及びb2_tag addr,b1 o
ut data,b2 out data,lru_i
nがそれぞれ出力される(ステップS902)。
【0049】b1_tag_ram801とb2_ta
g_ram802より出力されたb1_tag_add
rとb2_tag_addrがそれぞれb1_comp
arater804,b2_comparater80
5でアドレスlmaddr[31:12]と比較され、
その結果、すなわちヒットか否かがb1_hit_mi
ss_L,b2_hit_miss_L信号によりキャ
ッシュコントローラ706へ知らされ、判定される(ス
テップS903)。
g_ram802より出力されたb1_tag_add
rとb2_tag_addrがそれぞれb1_comp
arater804,b2_comparater80
5でアドレスlmaddr[31:12]と比較され、
その結果、すなわちヒットか否かがb1_hit_mi
ss_L,b2_hit_miss_L信号によりキャ
ッシュコントローラ706へ知らされ、判定される(ス
テップS903)。
【0050】ここでヒットであれば、リードかライトか
が判定される(ステップS904)。ヒットであると
は、b1 tag addrとb2_tag_addr
のいずれかにアドレスlmaddr[31:12]と一
致するものがある場合である。ヒットかつリードの場合
にはつぎのようになる。すなわち、b1がヒットであ
り、要求された転送がリードであった場合は、すでに読
み出されているb1_out_dataとb2_out
_dataのうちb1_out_dataを選択し、l
maddr[4:3]で示される8バイトのデータをM
Cバスへ出力する(ステップS905)。同時にそのイ
ンデックスに対応するlruを“0”(=b1ヒット)
に書き換えて、転送が終了する。b2がヒットであり、
要求された転送がリードであった場合は、すでに読み出
されているb1_out_dataとb2_out_d
ataのうちb2out_dataを選択し、lmad
dr[4:3]で示される8バイトのデータをMCバス
へ出力する(ステップS905)。同時にそのインデッ
クスに対応するlruを“1”h(=b2ヒット)に書
き換えて、転送が終了する。
が判定される(ステップS904)。ヒットであると
は、b1 tag addrとb2_tag_addr
のいずれかにアドレスlmaddr[31:12]と一
致するものがある場合である。ヒットかつリードの場合
にはつぎのようになる。すなわち、b1がヒットであ
り、要求された転送がリードであった場合は、すでに読
み出されているb1_out_dataとb2_out
_dataのうちb1_out_dataを選択し、l
maddr[4:3]で示される8バイトのデータをM
Cバスへ出力する(ステップS905)。同時にそのイ
ンデックスに対応するlruを“0”(=b1ヒット)
に書き換えて、転送が終了する。b2がヒットであり、
要求された転送がリードであった場合は、すでに読み出
されているb1_out_dataとb2_out_d
ataのうちb2out_dataを選択し、lmad
dr[4:3]で示される8バイトのデータをMCバス
へ出力する(ステップS905)。同時にそのインデッ
クスに対応するlruを“1”h(=b2ヒット)に書
き換えて、転送が終了する。
【0051】一方、ヒットかつライトの場合にはつぎの
ようになる。すなわち、b1がヒットであり、要求され
た転送がライトであった場合は、インデックスで示され
るb1_data_ram702−aのlmaddr
[4:3]で示される8バイトのデータのうちmBE
L[7:0]で示される有効なバイトレーンのみを書き
換え、同時にそのインデックスに対応するlruを
“0”h(=b1ヒット)に書き換える。またSDRA
Mも同様に書き換えて転送が終了する(ステップS90
6)。b2がヒットであり、要求された転送がライトで
あった場合は、インデックスで示されるb2 data
ram702_bのlmaddr[4:3]で示され
る8バイトのデータのうちmBE_L[7:0]で示さ
れる有効なバイトレーンのみを書き換え、同時にそのイ
ンデックスに対応するlruを“1”h(=b2ヒッ
ト)に書き換える。またSDRAMも同様に書き換えて
転送が終了する(ステップS906)。
ようになる。すなわち、b1がヒットであり、要求され
た転送がライトであった場合は、インデックスで示され
るb1_data_ram702−aのlmaddr
[4:3]で示される8バイトのデータのうちmBE
L[7:0]で示される有効なバイトレーンのみを書き
換え、同時にそのインデックスに対応するlruを
“0”h(=b1ヒット)に書き換える。またSDRA
Mも同様に書き換えて転送が終了する(ステップS90
6)。b2がヒットであり、要求された転送がライトで
あった場合は、インデックスで示されるb2 data
ram702_bのlmaddr[4:3]で示され
る8バイトのデータのうちmBE_L[7:0]で示さ
れる有効なバイトレーンのみを書き換え、同時にそのイ
ンデックスに対応するlruを“1”h(=b2ヒッ
ト)に書き換える。またSDRAMも同様に書き換えて
転送が終了する(ステップS906)。
【0052】一方、b1,b2ともにミスである場合に
も、リードかライトか判定される(ステップS100
1)。要求された転送がリードであった場合は、そのl
maddr[31:3]で示される8バイトのデータが
SDRAMより読み出され(ステップS1003)、M
Cバスへ出力される(ステップS1004)。同時にそ
のインデックスに対応するlruが読み出され、“0”
hであった場合はb2_data ramへSDRAM
からのデータを書きlruも“1”hへ書き換える。l
ruが“1”hであった場合はb1 data ram
へSDRAMからのデータを書き、lruも“0”hへ
書き換え終了する(ステップS1005)。b1,b2
ともにミスであり、要求された転送がライトであった場
合は、SDRAMに書き込むだけで転送が終了する(ス
テップS1002)。
も、リードかライトか判定される(ステップS100
1)。要求された転送がリードであった場合は、そのl
maddr[31:3]で示される8バイトのデータが
SDRAMより読み出され(ステップS1003)、M
Cバスへ出力される(ステップS1004)。同時にそ
のインデックスに対応するlruが読み出され、“0”
hであった場合はb2_data ramへSDRAM
からのデータを書きlruも“1”hへ書き換える。l
ruが“1”hであった場合はb1 data ram
へSDRAMからのデータを書き、lruも“0”hへ
書き換え終了する(ステップS1005)。b1,b2
ともにミスであり、要求された転送がライトであった場
合は、SDRAMに書き込むだけで転送が終了する(ス
テップS1002)。
【0053】ステップS901においてバースト転送
(キャッシュオフ)の場合、リード、ライトともSDR
AMに対してだけ行われ(ステップS907−S90
9)、キャッシュデータやタグの書き換え等は行わな
い。
(キャッシュオフ)の場合、リード、ライトともSDR
AMに対してだけ行われ(ステップS907−S90
9)、キャッシュデータやタグの書き換え等は行わな
い。
【0054】<ROM/RAMインターフェース(70
7)>ROM/RAMコントローラ707の構成を図1
1に示す。ブロック1101〜ブロック1104によ
り、SDRAMのデータ信号、アドレス信号、パリティ
信号が、フラッシュROMのデータ信号、アドレス信号
と多重化される。
7)>ROM/RAMコントローラ707の構成を図1
1に示す。ブロック1101〜ブロック1104によ
り、SDRAMのデータ信号、アドレス信号、パリティ
信号が、フラッシュROMのデータ信号、アドレス信号
と多重化される。
【0055】2.4.3.タイミングダイアグラム 上述したメモリコントローラ403によるデータの読み
出し・書き込み等の処理のタイミングを、図12〜図1
9を用いて説明する。
出し・書き込み等の処理のタイミングを、図12〜図1
9を用いて説明する。
【0056】図12は、CPUからのバースト読み出し
のタイミングを示す。バースト長は4、CASレイテン
シは3である。図9のステップS909における処理に
相当する。
のタイミングを示す。バースト長は4、CASレイテン
シは3である。図9のステップS909における処理に
相当する。
【0057】図13は、CPUからのバースト書き込み
のタイミングを示す。バースト長は4、CASレイテン
シは3である。図9のステップS908における処理に
相当する。
のタイミングを示す。バースト長は4、CASレイテン
シは3である。図9のステップS908における処理に
相当する。
【0058】図14は、Gバスデバイスからのバースト
読み出しのタイミングを示す。Gバスのバースト長は1
6、SDRAMのバースト長は4、CASレイテンシは
3である。図9のステップS909における処理に相当
する。
読み出しのタイミングを示す。Gバスのバースト長は1
6、SDRAMのバースト長は4、CASレイテンシは
3である。図9のステップS909における処理に相当
する。
【0059】図15は、Gバスデバイスからのバースト
書き込みのタイミングを示す。Gバスのバースト長は1
6、SDRAMのバースト長は4、CASレイテンシは
3である。図9のステップS908における処理に相当
する。
書き込みのタイミングを示す。Gバスのバースト長は1
6、SDRAMのバースト長は4、CASレイテンシは
3である。図9のステップS908における処理に相当
する。
【0060】図16は、メモリフロントキャッシュにヒ
ットした場合のシングル読み出しのタイミングを示す。
読み出されるデータmDataIn[63:0]として
は、キャッシュメモリであるb1 data_ram7
02−aあるいはb2_data_ram702−bか
ら読み出されたb1/b2_out_dataが出力さ
れる。SDRAMのバースト長は4、CASレイテンシ
は3である。図9のステップS905における処理に相
当する。
ットした場合のシングル読み出しのタイミングを示す。
読み出されるデータmDataIn[63:0]として
は、キャッシュメモリであるb1 data_ram7
02−aあるいはb2_data_ram702−bか
ら読み出されたb1/b2_out_dataが出力さ
れる。SDRAMのバースト長は4、CASレイテンシ
は3である。図9のステップS905における処理に相
当する。
【0061】図17は、メモリフロントキャッシュにヒ
ットしなかった場合のシングル読み出しのタイミングを
示す。読み出されるデータmDataIn[63:0]
としては、SDRAMから読み出されたデータramD
ata[63:0]が出力される。また、このデータは
b1/b2_in_dataとしてキャッシュメモリで
あるb1_data_ram702−aあるいはb2_
data_ram702−bにも書き込まれる。SDR
AMのバースト長は4、CASレイテンシは3である。
図10のステップS1004及びS1005における処
理に相当する。
ットしなかった場合のシングル読み出しのタイミングを
示す。読み出されるデータmDataIn[63:0]
としては、SDRAMから読み出されたデータramD
ata[63:0]が出力される。また、このデータは
b1/b2_in_dataとしてキャッシュメモリで
あるb1_data_ram702−aあるいはb2_
data_ram702−bにも書き込まれる。SDR
AMのバースト長は4、CASレイテンシは3である。
図10のステップS1004及びS1005における処
理に相当する。
【0062】図18は、メモリフロントキャッシュにヒ
ットした場合のシングル書き込みのタイミングを示す。
書き込まれるデータmDataOut[63:0]は、
キャッシュメモリであるb1_data_ram702
−aあるいはb2_data_ram702−bに書き
込まれるとともに、SDRAMにも書き込まれる。SD
RAMのバースト長は4、CASレイテンシは3であ
る。図9のステップS906における処理に相当する。
ットした場合のシングル書き込みのタイミングを示す。
書き込まれるデータmDataOut[63:0]は、
キャッシュメモリであるb1_data_ram702
−aあるいはb2_data_ram702−bに書き
込まれるとともに、SDRAMにも書き込まれる。SD
RAMのバースト長は4、CASレイテンシは3であ
る。図9のステップS906における処理に相当する。
【0063】図19は、メモリフロントキャッシュにヒ
ットしなかった場合のシングル書き込みのタイミングを
示す。書き込まれるデータmDataOut[63:
0]は、キャッシュメモリであるb1_data_ra
m702−aあるいはb2_data_ram702−
bには書き込まれず、SDRAMに対してだけ書き込ま
れる。SDRAMのバースト長は4、CASレイテンシ
は3である。図10のステップS1002における処理
に相当する。
ットしなかった場合のシングル書き込みのタイミングを
示す。書き込まれるデータmDataOut[63:
0]は、キャッシュメモリであるb1_data_ra
m702−aあるいはb2_data_ram702−
bには書き込まれず、SDRAMに対してだけ書き込ま
れる。SDRAMのバースト長は4、CASレイテンシ
は3である。図10のステップS1002における処理
に相当する。
【0064】なお、ここでは、MCバスよりデータ転送
が開始されると、その転送の最初にMCバス上で示され
るmTType[6:0]によって、転送がシングル転
送であればオン、バースト転送であればオフと判断して
いるが、バースト転送の場合に、さらにバースト長を判
定し、バースト長がキャッシュの1ラインよりも小さい
場合にはキャッシュオンとし、そうでない場合にはキャ
ッシュオフとして動作するようにしてもよい。
が開始されると、その転送の最初にMCバス上で示され
るmTType[6:0]によって、転送がシングル転
送であればオン、バースト転送であればオフと判断して
いるが、バースト転送の場合に、さらにバースト長を判
定し、バースト長がキャッシュの1ラインよりも小さい
場合にはキャッシュオンとし、そうでない場合にはキャ
ッシュオフとして動作するようにしてもよい。
【0065】また、MCバスに、メモリへのデータ転送
を要求したバスマスタの識別子を示す信号を含ませるこ
とで、メモリコントローラがその識別子を判定し、識別
子に応じてキャッシュオン/キャッシュオフの制御を行
うこともできる。この場合には、識別子とキャッシュオ
ン/オフの別とを対応させた書換え可能なテーブルを用
意し、それを参照してキャッシュのオンオフを切り替え
ることもできる。このテーブルは、例えば特定のアドレ
スを割り当ててCPU401などから書換え可能にする
こともできる。
を要求したバスマスタの識別子を示す信号を含ませるこ
とで、メモリコントローラがその識別子を判定し、識別
子に応じてキャッシュオン/キャッシュオフの制御を行
うこともできる。この場合には、識別子とキャッシュオ
ン/オフの別とを対応させた書換え可能なテーブルを用
意し、それを参照してキャッシュのオンオフを切り替え
ることもできる。このテーブルは、例えば特定のアドレ
スを割り当ててCPU401などから書換え可能にする
こともできる。
【0066】2.5.システムバスブリッジ(SBB)
及びBバス,Gバス 図20としてシステムバスブリッジ(SBB)402の
ブロック図を示す。
及びBバス,Gバス 図20としてシステムバスブリッジ(SBB)402の
ブロック図を示す。
【0067】SBB402は、Bバス(入出力バス),
Gバス(グラフィックバス),SCバス(プロセッサロ
ーカルバス)及びMCバス間の相互接続をクロスバスイ
ッチを用いて提供する、マルチチャネル双方向バスブリ
ッジである。クロスバスイッチにより、2系統の接続を
同時に確立することが出来、並列性の高い高速データ転
送を実現出来る。
Gバス(グラフィックバス),SCバス(プロセッサロ
ーカルバス)及びMCバス間の相互接続をクロスバスイ
ッチを用いて提供する、マルチチャネル双方向バスブリ
ッジである。クロスバスイッチにより、2系統の接続を
同時に確立することが出来、並列性の高い高速データ転
送を実現出来る。
【0068】SBB402は、Bバス405と接続する
ためのBバスインターフェース2906と、Gバス40
4と接続するためのGバスインターフェース2006
と、プロセッサコア401と接続するためのCPUイン
ターフェーススレーブポート2002と、メモリコント
ローラ403と接続するためのメモリインターフェース
マスターポートを備えるほか、アドレスバスを接続する
アドレススイッチ2003,データバスを接続するデー
タスイッチ2004を含む。また、プロセッサコアのキ
ャッシュメモリを無効化するキャッシュ無効化ユニット
2005を備えている。
ためのBバスインターフェース2906と、Gバス40
4と接続するためのGバスインターフェース2006
と、プロセッサコア401と接続するためのCPUイン
ターフェーススレーブポート2002と、メモリコント
ローラ403と接続するためのメモリインターフェース
マスターポートを備えるほか、アドレスバスを接続する
アドレススイッチ2003,データバスを接続するデー
タスイッチ2004を含む。また、プロセッサコアのキ
ャッシュメモリを無効化するキャッシュ無効化ユニット
2005を備えている。
【0069】Bバスインターフェース2009には、B
バスデバイスからのDMAライトを高速化するライトバ
ッファと、Bバスデバイスのリードを効率化するリード
プリフェッチキューを実装する。これらのキュー内に一
時的に存在するデータに関するコヒーレンシ管理はハー
ドウェアにて行う。なお、Bバスに接続されたデバイス
をデバイスと呼ぶ。
バスデバイスからのDMAライトを高速化するライトバ
ッファと、Bバスデバイスのリードを効率化するリード
プリフェッチキューを実装する。これらのキュー内に一
時的に存在するデータに関するコヒーレンシ管理はハー
ドウェアにて行う。なお、Bバスに接続されたデバイス
をデバイスと呼ぶ。
【0070】プロセッサコアは32ビットバスに対する
ダイナミックバスサイジングをサポートしているが、S
BB402ではこれをサポートしない、将来、バスサイ
ジングをサポートしないプロセッサを用いる場合にもS
BBに必要な改造を最小限におさえるためである。
ダイナミックバスサイジングをサポートしているが、S
BB402ではこれをサポートしない、将来、バスサイ
ジングをサポートしないプロセッサを用いる場合にもS
BBに必要な改造を最小限におさえるためである。
【0071】2.5.1.SBB及び各バスの構成及び
動作 <Bバスインターフェース>図21は、Bバスインター
フェースのブロック図である。
動作 <Bバスインターフェース>図21は、Bバスインター
フェースのブロック図である。
【0072】Bバスインターフェース2009は、Bバ
スとMCバス間の双方向ブリッジ回路である。Bバスは
DoEngineの内部汎用バスである。
スとMCバス間の双方向ブリッジ回路である。Bバスは
DoEngineの内部汎用バスである。
【0073】Bバスインターフェース2009内には、
マスタコントロールブロック2011、スレーブコント
ロールブロック2010、データインターフェース20
12、DMAC2013、Bバスバッファの5ブロック
が含まれる。図21上で、DMAC2013は、機能上
3個のシーケンサとレジスタブロックに分割される。そ
れら3つのシーケンサのうち、DMAメモリアクセスシ
ーケンサはBバススレーブコントロールブロック201
0に、DMAregシーケンサはBバスマスターコント
ロールブロック2011に内蔵される。レジスタブロッ
クであるDMAレジスタはBバスデータインターフェー
ス2012部に内蔵される。
マスタコントロールブロック2011、スレーブコント
ロールブロック2010、データインターフェース20
12、DMAC2013、Bバスバッファの5ブロック
が含まれる。図21上で、DMAC2013は、機能上
3個のシーケンサとレジスタブロックに分割される。そ
れら3つのシーケンサのうち、DMAメモリアクセスシ
ーケンサはBバススレーブコントロールブロック201
0に、DMAregシーケンサはBバスマスターコント
ロールブロック2011に内蔵される。レジスタブロッ
クであるDMAレジスタはBバスデータインターフェー
ス2012部に内蔵される。
【0074】またBバスインターフェース2009はB
バス側からのメモリへの書き込み時、及びDMAによる
デバイスからメモリへの転送が起こった時に、キャッシ
ュ無効化インターフェースを介してCPUシェル内のデ
ータ、命令両キャッシュの無効化の制御を行う。
バス側からのメモリへの書き込み時、及びDMAによる
デバイスからメモリへの転送が起こった時に、キャッシ
ュ無効化インターフェースを介してCPUシェル内のデ
ータ、命令両キャッシュの無効化の制御を行う。
【0075】なお、CPUライト時のライトバックバッ
ファはBバスインターフェースには実装しないが、Bバ
ス上の外部マスタライト時のライトバッファを実装す
る。これにより、バースト転送でない、連続した外部マ
スタからの書き込みが高速化される。このライトバッフ
ァのフラッシュは、Bバスアービタ407によるメモリ
への接続が許された時点で行われる。Bバスマスタリー
ドのライトバッファバイパスは行わない。
ファはBバスインターフェースには実装しないが、Bバ
ス上の外部マスタライト時のライトバッファを実装す
る。これにより、バースト転送でない、連続した外部マ
スタからの書き込みが高速化される。このライトバッフ
ァのフラッシュは、Bバスアービタ407によるメモリ
への接続が許された時点で行われる。Bバスマスタリー
ドのライトバッファバイパスは行わない。
【0076】また、外部マスタのリードプリフェッチキ
ューを実行する。これにより、外部マスタからの連続し
た、データストリームの読み出しの高速化を図る。リー
ドバッファの無効化は、 1.Bバスの新たなリードがバッファにヒットしなかっ
た場合。 2.CPUからメモリへのライトが行われた場合。 3.Gバスからメモリへのライトが行われた場合。 4.Bバスからメモリへのライトが行われた場合。 に行われる。
ューを実行する。これにより、外部マスタからの連続し
た、データストリームの読み出しの高速化を図る。リー
ドバッファの無効化は、 1.Bバスの新たなリードがバッファにヒットしなかっ
た場合。 2.CPUからメモリへのライトが行われた場合。 3.Gバスからメモリへのライトが行われた場合。 4.Bバスからメモリへのライトが行われた場合。 に行われる。
【0077】またBバスインターフェース2009には
Bバス405上の各デバイスとメモリ間のDMAコント
ローラ2013が内蔵される。システムバスブリッジ4
02にDMAコントローラを内蔵することにより、ブリ
ッジ双方へ、同時にアクセス要求が発行出来、効率的な
DMA転送が実現出来る。
Bバス405上の各デバイスとメモリ間のDMAコント
ローラ2013が内蔵される。システムバスブリッジ4
02にDMAコントローラを内蔵することにより、ブリ
ッジ双方へ、同時にアクセス要求が発行出来、効率的な
DMA転送が実現出来る。
【0078】Bバスインターフェース2009はプロセ
ッサ401からのアクセス要求に対して、ダイナミック
バスサイジングの使用を要求しない。またBバスマスタ
からのメモリアクセス要求時に、メモリコントローラ4
03からのバスサイジングにも対応しない。すなわち、
メモリコントローラはバスサイジングを期待すべきでは
ない。
ッサ401からのアクセス要求に対して、ダイナミック
バスサイジングの使用を要求しない。またBバスマスタ
からのメモリアクセス要求時に、メモリコントローラ4
03からのバスサイジングにも対応しない。すなわち、
メモリコントローラはバスサイジングを期待すべきでは
ない。
【0079】<Bバス>BバスはDoEngine内の
汎用IOバスであり、以下の仕様を持つ。 ・アドレス、データ分離型32ビットバス。 ・任意のウェイトサイクルを挿入可能、最短はノーウェ
イト。 ・バーストトランザクションのサポート。 ・最大転送速度は、クロックが50MHz時に200M
byte/Sec。 ・バスエラーとバスリトライのサポート。 ・複数バスマスタのサポート。
汎用IOバスであり、以下の仕様を持つ。 ・アドレス、データ分離型32ビットバス。 ・任意のウェイトサイクルを挿入可能、最短はノーウェ
イト。 ・バーストトランザクションのサポート。 ・最大転送速度は、クロックが50MHz時に200M
byte/Sec。 ・バスエラーとバスリトライのサポート。 ・複数バスマスタのサポート。
【0080】(Bバス信号定義)以下にバス信号の定義
を説明する。各信号毎に、「信号名(英語呼称):入力
元>出力先(,3States)…信号の説明」の要領
で記載されている。なお、3ステートの項は3ステート
の信号に限り記載した。
を説明する。各信号毎に、「信号名(英語呼称):入力
元>出力先(,3States)…信号の説明」の要領
で記載されている。なお、3ステートの項は3ステート
の信号に限り記載した。
【0081】bAddr[31:2](IOBus A
ddress Bus):Master>Slabe,
3State… IOBusアドレスバス。
ddress Bus):Master>Slabe,
3State… IOBusアドレスバス。
【0082】bData[31:0](IOBus D
ata Bus):DataDriver>DataR
eceiver,3State … IOBusデータ
バス。
ata Bus):DataDriver>DataR
eceiver,3State … IOBusデータ
バス。
【0083】b(Datadrivername)Da
taOeReq(IOBus Data Output
Enable Request) :Datadri
ver>DefaultDriverLogic …
後述する双方向IOバスを実現するため、デフォルトド
ライバーコントロールロジックへの出力信号である。D
atadrivernameを持っデバイスが、バス上
にデータをドライブするための要求信号である。データ
の出力を許可されたデバイスには、デフォルトドライバ
ーコントロールロジックよりb(Datadriver
name)DataOe_Lが出力される。Datad
riverの例:Pci,Sbb,Jpeg,Spu。
taOeReq(IOBus Data Output
Enable Request) :Datadri
ver>DefaultDriverLogic …
後述する双方向IOバスを実現するため、デフォルトド
ライバーコントロールロジックへの出力信号である。D
atadrivernameを持っデバイスが、バス上
にデータをドライブするための要求信号である。データ
の出力を許可されたデバイスには、デフォルトドライバ
ーコントロールロジックよりb(Datadriver
name)DataOe_Lが出力される。Datad
riverの例:Pci,Sbb,Jpeg,Spu。
【0084】b(Datadrivername)Da
taOe_L(IOBus Data Output
Enable): dfaultDriverLogi
c>Datadriver … b(Datadriv
ername)DataOeReqを出力したデバイス
に対し、デフォルトドライバーロジックがデータバスへ
のデータのドライブを許す場合b(Datadrive
rname)DataOe_L信号をそのデバイスに対
して返す。
taOe_L(IOBus Data Output
Enable): dfaultDriverLogi
c>Datadriver … b(Datadriv
ername)DataOeReqを出力したデバイス
に対し、デフォルトドライバーロジックがデータバスへ
のデータのドライブを許す場合b(Datadrive
rname)DataOe_L信号をそのデバイスに対
して返す。
【0085】bError_L(IOBus Bus
Error) :Slave>Master 3Sta
te … IOバストランザクションがエラーで終了し
たことを示す。
Error) :Slave>Master 3Sta
te … IOバストランザクションがエラーで終了し
たことを示す。
【0086】b(Mastername)BGnt_L
(IOBus Grant):Arbiter>Mas
tr … バスアービトレーションにより当マスタがバ
スの使用権を得たことを示す。Masternameの
例:Pci,Sbb,Jpeg,Spuo
(IOBus Grant):Arbiter>Mas
tr … バスアービトレーションにより当マスタがバ
スの使用権を得たことを示す。Masternameの
例:Pci,Sbb,Jpeg,Spuo
【0087】blnstNotData(IOBus
Instruction/DataOutput In
dicator) :Master>Slave,3S
tate … Bバスマスタがインストラクションフェ
ッチをBバススレーブに対して行う場合にHighにド
ライブする。データトランザクションの場合はLowに
ドライブする。
Instruction/DataOutput In
dicator) :Master>Slave,3S
tate … Bバスマスタがインストラクションフェ
ッチをBバススレーブに対して行う場合にHighにド
ライブする。データトランザクションの場合はLowに
ドライブする。
【0088】b(Mastername)CntlOe
Req(IOBus MasterControl O
utput Enable Request):Mas
ter>DefaultDriverLogic …
Bバスマスタが、bStart_L,bTx_L,bW
r_L,vInstNotDataとbAddr[3
1:2]を3ステートバス上にドライブしたい場合に、
IOBus Output Control Logi
cに対してアサートする。IOBus Output
ControlLogicは各マスタからの、bMCn
tlOeReqに基づきドライブを許すマスタに対し、
b(Mastername)CntlOe_L信号を返
す。
Req(IOBus MasterControl O
utput Enable Request):Mas
ter>DefaultDriverLogic …
Bバスマスタが、bStart_L,bTx_L,bW
r_L,vInstNotDataとbAddr[3
1:2]を3ステートバス上にドライブしたい場合に、
IOBus Output Control Logi
cに対してアサートする。IOBus Output
ControlLogicは各マスタからの、bMCn
tlOeReqに基づきドライブを許すマスタに対し、
b(Mastername)CntlOe_L信号を返
す。
【0089】b(Mastername)CntlOe
_L(IOBus MasterControl Ou
tput Enable):DefaultDrive
rLogic>Master … b(Mastern
ame)CntlOeReqを出力したマスタに対し、
デフォルトドライバーロジックがドライブを許す場合b
(Mastername)CntlOe_L信号をその
マスタに対して返す。
_L(IOBus MasterControl Ou
tput Enable):DefaultDrive
rLogic>Master … b(Mastern
ame)CntlOeReqを出力したマスタに対し、
デフォルトドライバーロジックがドライブを許す場合b
(Mastername)CntlOe_L信号をその
マスタに対して返す。
【0090】bRdy_L(IOBus Read
y):Slave>Master,3State …
Bバススレーブは、現在のBバスデータトランザクショ
ンが現在のクロックサイクルを最後に終了することを示
すためにこの信号をアサートする。Bバスマスタは、こ
の信号により、現在のトランザクションがこのクロック
サイクルで終了することを知る。
y):Slave>Master,3State …
Bバススレーブは、現在のBバスデータトランザクショ
ンが現在のクロックサイクルを最後に終了することを示
すためにこの信号をアサートする。Bバスマスタは、こ
の信号により、現在のトランザクションがこのクロック
サイクルで終了することを知る。
【0104】b(Mastername)BReq_L
(IOBus Bus Request):Maste
r>Arbiter … Bバスマスタが、Bバスアー
ビタに対し、バスの使用権要求を行う事を示す。
(IOBus Bus Request):Maste
r>Arbiter … Bバスマスタが、Bバスアー
ビタに対し、バスの使用権要求を行う事を示す。
【0091】bRetry_L(IOBus Bus
Retry):Slave>Master 3Stat
e … Bバススレーブがマスタに対し、バストランザ
クションの最実行を要求する。
Retry):Slave>Master 3Stat
e … Bバススレーブがマスタに対し、バストランザ
クションの最実行を要求する。
【0092】b(Slavename)RdyOeRe
q(IOBus Slave Ready Outpu
t Enable Request):Slave>D
efaultDriverLogic … Bバススレ
ーブが、bRdy_L,bWBurstReq_L,b
BurstAck_Lを3ステートバス上にドライブし
たい場合に、IOBus Output Contro
l Logicに対してアサートする。IOBus D
efaultDriverLogicは各マスタから
の、b(Slavename)RdyOeReqに基づ
きドライブを許すスレーブに対し、b(Slavena
me)RdyOe_L信号を返す。
q(IOBus Slave Ready Outpu
t Enable Request):Slave>D
efaultDriverLogic … Bバススレ
ーブが、bRdy_L,bWBurstReq_L,b
BurstAck_Lを3ステートバス上にドライブし
たい場合に、IOBus Output Contro
l Logicに対してアサートする。IOBus D
efaultDriverLogicは各マスタから
の、b(Slavename)RdyOeReqに基づ
きドライブを許すスレーブに対し、b(Slavena
me)RdyOe_L信号を返す。
【0093】b(Slavename)RdyOe_L
(IOBusSlave Ready Output
Enable):DefaultDriverLogi
c>Slave … b(Slavename)Rdy
OeReqを出力したマスタに対し、デフォルトドライ
バーロジックがドライブを許す場合b(Slavena
me)RdyOe_L信号をそのマスタに対して返す。
(IOBusSlave Ready Output
Enable):DefaultDriverLogi
c>Slave … b(Slavename)Rdy
OeReqを出力したマスタに対し、デフォルトドライ
バーロジックがドライブを許す場合b(Slavena
me)RdyOe_L信号をそのマスタに対して返す。
【0094】bSnoopWait(IOBus Sn
oop Wait):SBB>NextMaster
… BバスインターフェースがBバスに接続された他の
デバイスに対し、キャッシュのスヌーピング実行中であ
ることを示す。Bバスに接続されたデバイスはこの信号
がアサートされている間は新たなトランザクションを発
行できない。
oop Wait):SBB>NextMaster
… BバスインターフェースがBバスに接続された他の
デバイスに対し、キャッシュのスヌーピング実行中であ
ることを示す。Bバスに接続されたデバイスはこの信号
がアサートされている間は新たなトランザクションを発
行できない。
【0095】bStart_L(IOBus Tran
saction START):Master>Sla
ve 3State … BバスマスタがBバストラン
ザクションをスタートすることを示す信号、Bバススレ
ーブは、この信号を監視することにより、Bバストラン
ザクションのスタートを知ることが出来る。
saction START):Master>Sla
ve 3State … BバスマスタがBバストラン
ザクションをスタートすることを示す信号、Bバススレ
ーブは、この信号を監視することにより、Bバストラン
ザクションのスタートを知ることが出来る。
【0096】bTx_L(IOBus Transac
tion Indicator Input):Mas
ter>Slave 3State … Bバスマスタ
がBバススレーブに対し、Bバストランザクションが現
在実行中である事を示すためにアサートする。
tion Indicator Input):Mas
ter>Slave 3State … Bバスマスタ
がBバススレーブに対し、Bバストランザクションが現
在実行中である事を示すためにアサートする。
【0097】bWBurstGnt_L(IOBus
Burst Write Grant):Master
>Slave,3State … Bバスマスタが、B
バスバーストライトのリクエストに対し、バーストライ
ト実行することを示すためにドライブする。
Burst Write Grant):Master
>Slave,3State … Bバスマスタが、B
バスバーストライトのリクエストに対し、バーストライ
ト実行することを示すためにドライブする。
【0098】bWBurstReq_L(IOBus
Burst Write Request):Slav
e>Master,3Stete … Bバススレーブ
がBバスマスタに対し、バースとライトを要求する場合
にアサートする。
Burst Write Request):Slav
e>Master,3Stete … Bバススレーブ
がBバスマスタに対し、バースとライトを要求する場合
にアサートする。
【0099】bWr_L(IOBus Write T
ransaction Indicater):Mas
ter>Slave,3State… Bバスマスタ
が、Bバススレーブに対し、現在のトランザクションが
ライトである事を示すためにアサートする。
ransaction Indicater):Mas
ter>Slave,3State… Bバスマスタ
が、Bバススレーブに対し、現在のトランザクションが
ライトである事を示すためにアサートする。
【0100】bByteEn[3:0](IOBus
Byte Enables):DataDriver>
DataReceiver,3State … Bバス
上にデータをドライブするエージェントが、各ビットに
対応したbData[31:0]上のバイトレーンが有
効である事を示すためにHighにドライブする。本信
号の各ラインとbDataのバイトレーンは表4の対応
関係にある。
Byte Enables):DataDriver>
DataReceiver,3State … Bバス
上にデータをドライブするエージェントが、各ビットに
対応したbData[31:0]上のバイトレーンが有
効である事を示すためにHighにドライブする。本信
号の各ラインとbDataのバイトレーンは表4の対応
関係にある。
【0101】
【表4】
【0102】bBurst_L(IOBus Exte
nded Burst Request):Maste
r>Slave,3Sate … Bバスマスタが拡張
バーストを行いたい事を示す。アサート、ネゲートタイ
ミングはbTx_Lと同一。
nded Burst Request):Maste
r>Slave,3Sate … Bバスマスタが拡張
バーストを行いたい事を示す。アサート、ネゲートタイ
ミングはbTx_Lと同一。
【0103】bBurstAck_L(IOBus E
xtended Burst Acknowledg
e):Slave>Maste,3State … B
バススレーブが拡張バーストを行える事を示す。アサー
ト、ネゲートタイミングはbRdy_Lと同一。
xtended Burst Acknowledg
e):Slave>Maste,3State … B
バススレーブが拡張バーストを行える事を示す。アサー
ト、ネゲートタイミングはbRdy_Lと同一。
【0104】bBurstShortNotLong_
L(IOBus Burst Length):Mas
ter>Slave,3State … Bバスマスタ
が拡張バーストを行う場合のバースト長を示す。アサー
ト、ネゲートタイミングはbTx_Lと同一であり、信
号値とバースト長との対応は表5に示したとおりであ
る。
L(IOBus Burst Length):Mas
ter>Slave,3State … Bバスマスタ
が拡張バーストを行う場合のバースト長を示す。アサー
ト、ネゲートタイミングはbTx_Lと同一であり、信
号値とバースト長との対応は表5に示したとおりであ
る。
【0105】
【表5】
【0106】Bバス信号は上述の通りである。DoEn
gine内部のバスである、Bバス(及びGバス)は接
続される機能ブロック数が10以上になるので、InO
ut分離バスですべてのブロックを接続することは、困
難である。DoEngineでは、チップ内双方向バス
を採用する。
gine内部のバスである、Bバス(及びGバス)は接
続される機能ブロック数が10以上になるので、InO
ut分離バスですべてのブロックを接続することは、困
難である。DoEngineでは、チップ内双方向バス
を採用する。
【0107】<Gバスインターフェース>図22にGバ
スインターフェース2006のブロック図を示す。この
概要は下記の通りである。
スインターフェース2006のブロック図を示す。この
概要は下記の通りである。
【0108】(Gバス概要)Gバスは、MFP用1チッ
プコントローラDoEngine内部において、各画像
データ処理部間のデータ転送を高速に実行するために定
義されたバスである。64ビットのデータバスをもち、
4Gbyte(128byte boundary)の
アドレス空間をサポートする。16ビート(128by
te=64ビットx16)を1ロングバーストとした転
送を基本とし、連続して4ロングバースト(512by
te=16ビートx4)までを可能とする。(シングル
ビートなど16ビート以下の転送はサポートしない) (Gバス信号定義)信号の定義に用いる記号をまず定め
ておく。信号名の直後には、必要に応じて信号の方向が
記述されている。それは次のように定める。 In(Input signal) … バスエージェ
ントに対する入力信号 Out(Output Signal) … バスエー
ジェントからの出力信号 InOut(Bi−Directional Tri−
State signal) … 双方向の信号で、複
数のバスエージエントがドライブする。一度にひとつの
エージエントだけがドライブする。信号をドライブする
各エージェントのイネーブルリクエスト信号をデフォル
トドライバで集中管理し、どのエージェントがドライブ
するかはデフォルトドライバが決定する。どのエージェ
ントもイネーブルリクエストを出さない場合や、複数の
エージェントが同時にイネーブルリクエストを出してい
る場合はデフォルトドライバ信号をドライブする。エー
ジェントは、信号をロウにドライブする場合は、前後1
クロックの間ハイにドライブしなければならない。信号
のアサートはドライブを初めてから1クロック以上経過
してからしか行えない。基本的に信号のリリースはネゲ
ートした次のクロックで行う。
プコントローラDoEngine内部において、各画像
データ処理部間のデータ転送を高速に実行するために定
義されたバスである。64ビットのデータバスをもち、
4Gbyte(128byte boundary)の
アドレス空間をサポートする。16ビート(128by
te=64ビットx16)を1ロングバーストとした転
送を基本とし、連続して4ロングバースト(512by
te=16ビートx4)までを可能とする。(シングル
ビートなど16ビート以下の転送はサポートしない) (Gバス信号定義)信号の定義に用いる記号をまず定め
ておく。信号名の直後には、必要に応じて信号の方向が
記述されている。それは次のように定める。 In(Input signal) … バスエージェ
ントに対する入力信号 Out(Output Signal) … バスエー
ジェントからの出力信号 InOut(Bi−Directional Tri−
State signal) … 双方向の信号で、複
数のバスエージエントがドライブする。一度にひとつの
エージエントだけがドライブする。信号をドライブする
各エージェントのイネーブルリクエスト信号をデフォル
トドライバで集中管理し、どのエージェントがドライブ
するかはデフォルトドライバが決定する。どのエージェ
ントもイネーブルリクエストを出さない場合や、複数の
エージェントが同時にイネーブルリクエストを出してい
る場合はデフォルトドライバ信号をドライブする。エー
ジェントは、信号をロウにドライブする場合は、前後1
クロックの間ハイにドライブしなければならない。信号
のアサートはドライブを初めてから1クロック以上経過
してからしか行えない。基本的に信号のリリースはネゲ
ートした次のクロックで行う。
【0109】なお、各信号名の後の“_L”はその信号
がローアクティブであることを示す。信号の記述のしか
たは、ほぼBバス信号の記述に準ずる。説明は、システ
ム信号、アドレス及びデータ信号、インターフェース制
御信号、アービトレーション信号に分けて行う。また、
バスエージェントとは、バスに接続されるバスマスタや
バススレーブの総称である。
がローアクティブであることを示す。信号の記述のしか
たは、ほぼBバス信号の記述に準ずる。説明は、システ
ム信号、アドレス及びデータ信号、インターフェース制
御信号、アービトレーション信号に分けて行う。また、
バスエージェントとは、バスに接続されるバスマスタや
バススレーブの総称である。
【0110】(システム信号) gClk(G−Bus Clock) … Gバス上の
すべてのトランザクションについてタイミングを提供
し、すべてのデバイスに対して入力となる。
すべてのトランザクションについてタイミングを提供
し、すべてのデバイスに対して入力となる。
【0111】gRst_L(G−Bus Reset)
… Gバス上のすべてのデバイスをリセットする。す
べての内部レジスタはクリアーされ、すべての出力信号
はネゲートされる。
… Gバス上のすべてのデバイスをリセットする。す
べての内部レジスタはクリアーされ、すべての出力信号
はネゲートされる。
【0112】(アドレスおよびデータ信号) gAddr[31:7],InOut,(G−Bus
Address):Master>Slave … G
バス上のデータ転送はすべて128byte(16ビー
ト)単位で行われるため、gAddr[31]〜gAd
dr[7]の25ビットで4Gbyteのアドレス空間
をサポートする。 drive:gTs_Lと同時にマスターがドライブ assert:ドライブした次のクロック negate:gAack_Lのアサートを確認したク
ロック。
Address):Master>Slave … G
バス上のデータ転送はすべて128byte(16ビー
ト)単位で行われるため、gAddr[31]〜gAd
dr[7]の25ビットで4Gbyteのアドレス空間
をサポートする。 drive:gTs_Lと同時にマスターがドライブ assert:ドライブした次のクロック negate:gAack_Lのアサートを確認したク
ロック。
【0113】g(Mastename)AddrOeR
eq(G−Bus AddressOutPut En
able Request):Master>Defa
ultDriverLogic … 双方向Gバスを実
現するための、デフォルトドライバロジックへの出力信
号。バスマスタがアドレスバスをドライブするための要
求信号。
eq(G−Bus AddressOutPut En
able Request):Master>Defa
ultDriverLogic … 双方向Gバスを実
現するための、デフォルトドライバロジックへの出力信
号。バスマスタがアドレスバスをドライブするための要
求信号。
【0114】g(Mastername)AddrOe
_L(G−Bus AddressOutPut En
ablet):DefaultDriveLogic>
Master … g(Mastername)Add
rOeReqを出力したバスマスタに対し、デフォルト
ドライバロジックがアドレスバスのドライブを許可する
ことを示す信号。
_L(G−Bus AddressOutPut En
ablet):DefaultDriveLogic>
Master … g(Mastername)Add
rOeReqを出力したバスマスタに対し、デフォルト
ドライバロジックがアドレスバスのドライブを許可する
ことを示す信号。
【0115】gData[63:0],InOut,
(G−Bus Data):DataDriver>D
ataReceiver … 64ビットデータバス
で、ライト時はマスタがドライブ、リード時はスレーブ
がドライブ。
(G−Bus Data):DataDriver>D
ataReceiver … 64ビットデータバス
で、ライト時はマスタがドライブ、リード時はスレーブ
がドライブ。
【0116】「ライト] drive:gTs_Lと同時にマスタがドライブ。た
だし、gSlvBsy_Lがアサートされている時はネ
ゲートされるまで待ってドライブ。 assert:ドライブした次のクロック。 change:gAack_Lのアサートを確認したク
ロック、その後は毎クロック。 negate:転送終了時、またはgTrStp_Lに
よる転送停止要求を確認した場合は、gAack Lの
アサートを確認したクロック。
だし、gSlvBsy_Lがアサートされている時はネ
ゲートされるまで待ってドライブ。 assert:ドライブした次のクロック。 change:gAack_Lのアサートを確認したク
ロック、その後は毎クロック。 negate:転送終了時、またはgTrStp_Lに
よる転送停止要求を確認した場合は、gAack Lの
アサートを確認したクロック。
【0117】[リード] drive:gAack_Lと同時にスレーブがドライ
ブ。 assert:スレーブがReadyであればドライブ
した次のクロックで、ReadyでなければReady
になるまで待ってアサートされる。 change:gAack_Lのアサートを確認したク
ロック、その後は毎クロック。リードの場合はアサート
したクロックから毎クロック。 negate:転送終了時。 release:ネゲートの1クロック後、またはgT
rStp_Lによる転送停止要求を確認したクロック。
ブ。 assert:スレーブがReadyであればドライブ
した次のクロックで、ReadyでなければReady
になるまで待ってアサートされる。 change:gAack_Lのアサートを確認したク
ロック、その後は毎クロック。リードの場合はアサート
したクロックから毎クロック。 negate:転送終了時。 release:ネゲートの1クロック後、またはgT
rStp_Lによる転送停止要求を確認したクロック。
【0118】g(DataDrivername)Da
taOeReq(G−Bus Data OutPut
Enable Request):DataDriv
er>DefaultDriverLogic … デ
ータドライバがデータバスをドライブするための要求信
号。
taOeReq(G−Bus Data OutPut
Enable Request):DataDriv
er>DefaultDriverLogic … デ
ータドライバがデータバスをドライブするための要求信
号。
【0119】g(DataDrivername)Da
taOe_L(G−Bus Data OutPut
Enablet):DefaultDriverLog
ic>DataDriver … g(DataDri
vername)DataOeReqを出力したデータ
ドライバに対し、デフォルトドライバロジックがデータ
バスのドライブを許可することを示す信号。
taOe_L(G−Bus Data OutPut
Enablet):DefaultDriverLog
ic>DataDriver … g(DataDri
vername)DataOeReqを出力したデータ
ドライバに対し、デフォルトドライバロジックがデータ
バスのドライブを許可することを示す信号。
【0120】(インターフェース制御信号)gTs_L
(InOut G−Bus Transaction
Sart):Master>Slave … マスター
により1クロックの間Lowにアサートされ、転送の開
始(アドレスフェーズ)をあらわす。マスターはgTs
_Lと共に、gAddr,gRdNotWr,gBst
Cntをドライブし、転送の種類、データ量を明確にす
る。マスタは、ライトの場合ここで明確にした転送デー
タ量をウェイトなしで出せることを保証しなければなら
ない。また、リードの場合は明確にした転送データ量を
ウェイトなしで受けることを保証しなければならない。
スレーブは途中でデータ転送ができなくなった場合はg
BsStep_Lにより、次の16ビートの転送をキャ
ンセルすることがある。ただし、16ビートの途中でキ
ャンセルすることはない。 drive:gGnt_Lのアサートを確認したクロッ
クでドライブ。 assert:ドライブした次のクロック。 negate:1クロックアサート後にネゲートされ
る。
(InOut G−Bus Transaction
Sart):Master>Slave … マスター
により1クロックの間Lowにアサートされ、転送の開
始(アドレスフェーズ)をあらわす。マスターはgTs
_Lと共に、gAddr,gRdNotWr,gBst
Cntをドライブし、転送の種類、データ量を明確にす
る。マスタは、ライトの場合ここで明確にした転送デー
タ量をウェイトなしで出せることを保証しなければなら
ない。また、リードの場合は明確にした転送データ量を
ウェイトなしで受けることを保証しなければならない。
スレーブは途中でデータ転送ができなくなった場合はg
BsStep_Lにより、次の16ビートの転送をキャ
ンセルすることがある。ただし、16ビートの途中でキ
ャンセルすることはない。 drive:gGnt_Lのアサートを確認したクロッ
クでドライブ。 assert:ドライブした次のクロック。 negate:1クロックアサート後にネゲートされ
る。
【0121】g(Mastername)TsOeRe
q(G−Bus Transaction Start
OutPut Enable Request):M
aster>DefaultDriverLogic
… バスマスタがgTs_Lをドライブするための要求
信号。
q(G−Bus Transaction Start
OutPut Enable Request):M
aster>DefaultDriverLogic
… バスマスタがgTs_Lをドライブするための要求
信号。
【0122】g(Mastername)TsOe_L
(G−Bus Transaction StartO
utPut Enablet):DefaultDri
verLogic>Master … g(Maste
rname)TsOeReqを出力したバスマスタに対
し、デフォルトドライバクロックがgTs_Lのドライ
ブを許可することを示す信号。
(G−Bus Transaction StartO
utPut Enablet):DefaultDri
verLogic>Master … g(Maste
rname)TsOeReqを出力したバスマスタに対
し、デフォルトドライバクロックがgTs_Lのドライ
ブを許可することを示す信号。
【0123】gAack_L,InOut,(G−Bu
sAddress Acknowledge):Sla
ve>Master …スレーブにより1クロックの間
Lowにドライブされる。該当するスレーブが、転送を
認識し、バスが空いていることを確認して、データ転送
がスタートできることをマスターに知らせる。ライトの
場合、スレーブはマスタから要求された転送データ量を
ウェイトなしで受けることを保証しなければならない。
またリードの場合は、要求された転送データ量をウェイ
トなしで出せることを保証しなければならない。万が
一、途中でデータ転送ができなくなった場合は、gBs
tStp_Lにより、次の16ビートの転送をキャンセ
ルすることができる。ただし、16ビートの途中でキャ
ンセルすることはできない。 drive:アドレスデコードビット時、gTs_Lの
アサートを確認したクロックでドライブが開始される。
ただし、gSlvBsy_Lがアサートされている時は
ネゲートされるまで待ってドライブされる。また、デー
タバス使用中のため、まだドライブされていなかった場
合は、gTrStp_Lによる転送停止要求を確認した
クロックでドライブ開始される。 assert:スレーブがReadyであればドライブ
した次のクロックで、ReadyでなければReady
になるまで待ってアサートされる。gTrStp_Lに
よる転送停止に対する応答のときには、ドライブした次
のクロックでアサートされる。 negate:ドライブ後にgTrStp_Lがアサー
トされた場合は、gTrStp_Lを確認したクロック
でアサートされる。また、1クロックアサート後にネゲ
ートされる。
sAddress Acknowledge):Sla
ve>Master …スレーブにより1クロックの間
Lowにドライブされる。該当するスレーブが、転送を
認識し、バスが空いていることを確認して、データ転送
がスタートできることをマスターに知らせる。ライトの
場合、スレーブはマスタから要求された転送データ量を
ウェイトなしで受けることを保証しなければならない。
またリードの場合は、要求された転送データ量をウェイ
トなしで出せることを保証しなければならない。万が
一、途中でデータ転送ができなくなった場合は、gBs
tStp_Lにより、次の16ビートの転送をキャンセ
ルすることができる。ただし、16ビートの途中でキャ
ンセルすることはできない。 drive:アドレスデコードビット時、gTs_Lの
アサートを確認したクロックでドライブが開始される。
ただし、gSlvBsy_Lがアサートされている時は
ネゲートされるまで待ってドライブされる。また、デー
タバス使用中のため、まだドライブされていなかった場
合は、gTrStp_Lによる転送停止要求を確認した
クロックでドライブ開始される。 assert:スレーブがReadyであればドライブ
した次のクロックで、ReadyでなければReady
になるまで待ってアサートされる。gTrStp_Lに
よる転送停止に対する応答のときには、ドライブした次
のクロックでアサートされる。 negate:ドライブ後にgTrStp_Lがアサー
トされた場合は、gTrStp_Lを確認したクロック
でアサートされる。また、1クロックアサート後にネゲ
ートされる。
【0124】g(Slavename)AackOeR
eq(G−Bus AddressAcknowled
ge OutPut EnableRequest):
Slave>DefaultDriverLogic
… スレーブがgAack_Lをドライブするための要
求信号。
eq(G−Bus AddressAcknowled
ge OutPut EnableRequest):
Slave>DefaultDriverLogic
… スレーブがgAack_Lをドライブするための要
求信号。
【0125】g(Slavename)AackOe_
L(G−Bus AddressAcknowledg
e OutPut Enablet):Default
DriverLogic>Slave … g(Sla
vename)AackOeReqを出力したスレーブ
に対し、デフォルトドライバロジックがgAack_L
のドライブを許可することを示す信号。
L(G−Bus AddressAcknowledg
e OutPut Enablet):Default
DriverLogic>Slave … g(Sla
vename)AackOeReqを出力したスレーブ
に対し、デフォルトドライバロジックがgAack_L
のドライブを許可することを示す信号。
【0126】gSlvBsy_L,InOut,(G−
Bus Slave Busy):Slave>Mas
ter … スレーブがドライブし、データバスでデー
タを転送中であることをあらわす。 drive:アドレスデコードヒット時、gTs_Lの
アサートを確認したクロックでドライブ開始。ただし、
gSlvBsy_Lがアサートされている時はネゲート
されるまで待ってドライブ。 assert:スレーブがReadyであればドライブ
した次のクロックで、ReadyでなければReady
になるまで待ってアサート。 negate:転送終了時にネゲート。 release:ネゲートの1クロック後、またはgT
rStp_Lによる転送停止要求を確認したクロック。
Bus Slave Busy):Slave>Mas
ter … スレーブがドライブし、データバスでデー
タを転送中であることをあらわす。 drive:アドレスデコードヒット時、gTs_Lの
アサートを確認したクロックでドライブ開始。ただし、
gSlvBsy_Lがアサートされている時はネゲート
されるまで待ってドライブ。 assert:スレーブがReadyであればドライブ
した次のクロックで、ReadyでなければReady
になるまで待ってアサート。 negate:転送終了時にネゲート。 release:ネゲートの1クロック後、またはgT
rStp_Lによる転送停止要求を確認したクロック。
【0127】g(Slavename)SlvBsyO
eReq(G−Bus SlaveBusy OutP
ut Enable Request):Slave>
DefaultDriverLogic … スレーブ
がgSlvBsy_Lをドライブするための要求信号 g(Slavename)SlvBsyOe_L(G−
Bus SlaveBusy OutPut Enab
le):DefaultDriverLogic>Sl
ave … g(Slavename)SlvBsyO
eReqを出力したスレーブに対し、デフォルトドライ
バロジックがgSlvBsy_Lのドライブを許可する
ことを示す信号。
eReq(G−Bus SlaveBusy OutP
ut Enable Request):Slave>
DefaultDriverLogic … スレーブ
がgSlvBsy_Lをドライブするための要求信号 g(Slavename)SlvBsyOe_L(G−
Bus SlaveBusy OutPut Enab
le):DefaultDriverLogic>Sl
ave … g(Slavename)SlvBsyO
eReqを出力したスレーブに対し、デフォルトドライ
バロジックがgSlvBsy_Lのドライブを許可する
ことを示す信号。
【0128】gRdNotWr,InOut,(G−B
us Read(High)/Write(Lo
w)):Master>Slave… マスターにより
ドライブされ、HighでREAD,LOWでWRIT
Eをあらわす。ドライブする期間はGAと同じである。 derive:gTs_Lと同時にマスターがドライ
ブ。 assert:ドライブした次のクロック。 negate:gAack_Lのアサートを確認したク
ロック。
us Read(High)/Write(Lo
w)):Master>Slave… マスターにより
ドライブされ、HighでREAD,LOWでWRIT
Eをあらわす。ドライブする期間はGAと同じである。 derive:gTs_Lと同時にマスターがドライ
ブ。 assert:ドライブした次のクロック。 negate:gAack_Lのアサートを確認したク
ロック。
【0129】g(Mastername)RdNotW
rOeReq(G−Bus Read/Write O
utPut Enable Reques):Mast
er>DefaultDriverLogic … バ
スマスタがgRdNotWrをドライブするための要求
信号。
rOeReq(G−Bus Read/Write O
utPut Enable Reques):Mast
er>DefaultDriverLogic … バ
スマスタがgRdNotWrをドライブするための要求
信号。
【0130】g(Mastername)RdNotW
rOe_L(G−Bus Read/Write Ou
tPut Enablet):DefaultDriv
erLogic>Master … g(Master
name)RdNotWrOeReqを出力したバスマ
スタに対し、デフォルトドライバロジックがgRdNo
tWrのドライブを許可することを示す信号。
rOe_L(G−Bus Read/Write Ou
tPut Enablet):DefaultDriv
erLogic>Master … g(Master
name)RdNotWrOeReqを出力したバスマ
スタに対し、デフォルトドライバロジックがgRdNo
tWrのドライブを許可することを示す信号。
【0131】gBstCnt[1:0],InOut,
(G−Bus Burst Counter):Mas
ter>Slave … マスターによりドライブさ
れ、連続して行うバースト転送の数(1〜4)をあらわ
す。信号の値とバースト転送するバイト数との対応は表
6のようになる。 derive:gTs_Lと同時にマスターがドライ
ブ。 assert:ドライブした次のクロック。 negate:gAack_Lのアサートを確認したク
ロック。
(G−Bus Burst Counter):Mas
ter>Slave … マスターによりドライブさ
れ、連続して行うバースト転送の数(1〜4)をあらわ
す。信号の値とバースト転送するバイト数との対応は表
6のようになる。 derive:gTs_Lと同時にマスターがドライ
ブ。 assert:ドライブした次のクロック。 negate:gAack_Lのアサートを確認したク
ロック。
【0132】
【表6】
【0133】g(Mastername)BstCnt
OeReq(G−Bus Burst Counter
OutPut Enable Request):M
aster>DefaultDriverLogic
… バスマスタがgBstCntをドライブするための
要求信号。
OeReq(G−Bus Burst Counter
OutPut Enable Request):M
aster>DefaultDriverLogic
… バスマスタがgBstCntをドライブするための
要求信号。
【0134】g(Mastername)BstCnt
Oe_L(G−Bus BurstCounter O
utPut Enablet):DefaultDri
verLogic>Master … g(Maste
rname)BstCntOeReqを出力したバスマ
スタに対し、デフォルトドライバロジックがgBstC
ntのドライブを許可することを示す信号。
Oe_L(G−Bus BurstCounter O
utPut Enablet):DefaultDri
verLogic>Master … g(Maste
rname)BstCntOeReqを出力したバスマ
スタに対し、デフォルトドライバロジックがgBstC
ntのドライブを許可することを示す信号。
【0135】gBstStp_L,InOut,(G−
Bus Burst Stop):Slave>Mas
ter … スレーブによりドライブされ、連続する次
のバースト転送を受付不可であることをあらわす。1バ
ースト(16ビート)の転送の15ビート目にアサート
する。ストップしない場合にはドライブしない。 drive:14ビート目。 assert:15ビート目。 negate:1クロックアサート後 g(Slavename)BstStpOeReq(G
−Bus BurstStop OutPut Ena
ble Request):Slave>Defaul
tDriverLogic … スレーブがgBstS
tp_L上をドライブするための要求信号。
Bus Burst Stop):Slave>Mas
ter … スレーブによりドライブされ、連続する次
のバースト転送を受付不可であることをあらわす。1バ
ースト(16ビート)の転送の15ビート目にアサート
する。ストップしない場合にはドライブしない。 drive:14ビート目。 assert:15ビート目。 negate:1クロックアサート後 g(Slavename)BstStpOeReq(G
−Bus BurstStop OutPut Ena
ble Request):Slave>Defaul
tDriverLogic … スレーブがgBstS
tp_L上をドライブするための要求信号。
【0136】g(Slavename)BstStpO
e_L(G−Bus BurstStop OutPu
t Enablet):DefaultDriverl
ogic>Slave … g(Slavename)
BstStpOeReqを出力したスレーブに対し、デ
フォルトドライバロジックがgBstStp_Lのドラ
イブを許可することを示す信号。
e_L(G−Bus BurstStop OutPu
t Enablet):DefaultDriverl
ogic>Slave … g(Slavename)
BstStpOeReqを出力したスレーブに対し、デ
フォルトドライバロジックがgBstStp_Lのドラ
イブを許可することを示す信号。
【0137】(アービトレーション信号)g(Mast
ername)Req_L,Out,(G−Bus R
equest):Master>Arbiter …
マスターによりドライブされ、アービタに対してバスを
要求する。各マスターデバイスごとに専用のgReq_
Lを持つ。 assert:データ転送が必要なマスターがアサート negate:gGnt_Lを受ければネゲート g(Mastername)Gnt_L,In,(G−
Bus GNT):Arbiter>Master …
アービタによりドライブされ、バス要求に対して次の
バス権を与える。各マスタデバイスごとに専用のgGn
t_Lを持つ。プライオリティーの高いバスマスタから
順にバス権を与える。同じプライオリティーのマスタに
対しては、バス要求のあった順番にバス権を与える。 assert:他のマスターにgGnt_Lを与えてい
ない時、または次のクロックで他のマスタに与えていた
gGnt_Lをネゲートする時に、アービトレーション
によって選ばれたマスタに対してアサートする。 negate:gAack_Lのアサートを確認したク
ロックgTrStp_L,In,(G−Bus Tra
nsuaction Stop):Arbiter>M
aster,Slave … アービタによりドライブ
され、gGnt_Lによりすでにアドレスフェーズを開
始されたトランザクションを中止する。ただ、すでにg
Aack_Lによりデータフェーズを開始してしまった
トランザクションについては中止できない。また、この
信号はgAack_Lによりマスクがかけられており、
gAack_Lがアサートされた時には、たとえアサー
トしていてもネゲートされ出力される。 assert:すでにアドレスフェーズを開始したトラ
ンザクションよりも高いプライオリティのマスタからバ
ス要求がきた時。 negate:gAack_Lのアサートを確認したク
ロック (Gバスライトサイクル)Gバスのライトサイクルは次
のようになる。 マスタがバス要求、gReq_Lアサート。 アービタが許可、gGnt_Lアサート。gReq_
Lネゲート。 gGnt_Lを受けて、マスタはgTs_L,gAd
dr,gRdNotWr,gBstCnt,をドライ
ブ。ライト動作の場合、gSlvBsy_Lがアサート
されていなければ、同時にgDataもドライブする。
gSlvBsy_Lがドライブされていれば、gSlv
Bsy_Lがフリーになるのを待ってドライブする。 スレーブはgTs_Lがアサートされている時にアド
レスをデコードし、ヒットすれば自分に対する転送であ
ることを認識する。この時gSlvBsy_Lが他のス
レーブによりアサートされていなければ、gSlvBs
y_LとgAack_Lのドライブを始める。また、リ
ードの場合はgDataもドライブする。gSlvBs
y_Lが他のスレーブによりアサートされていれば、デ
ータバスは使用中であるということなので、ネゲートさ
れるまで待ってドライブを始める。gSlvBsy_
L,gAack_L,(gData)のドライブ開始
後、スレーブがデータ転送の準備ができれば、それぞれ
の信号をアサートし、データ転送を開始する。 gAack_Lがアサートされた時点でアドレスフェ
ーズは終了し、マスタはgAddr,gRdNotW
r,gBstCntをネゲートする。また、その時点か
らマスタはライトデータを毎クロック切り替え、gBs
tCntで指定されたデータ量だけ転送を行う。マスタ
とスレーブは、それぞれ自分でクロックをカウントし
て、データ転送の終了を知らなければならない。
ername)Req_L,Out,(G−Bus R
equest):Master>Arbiter …
マスターによりドライブされ、アービタに対してバスを
要求する。各マスターデバイスごとに専用のgReq_
Lを持つ。 assert:データ転送が必要なマスターがアサート negate:gGnt_Lを受ければネゲート g(Mastername)Gnt_L,In,(G−
Bus GNT):Arbiter>Master …
アービタによりドライブされ、バス要求に対して次の
バス権を与える。各マスタデバイスごとに専用のgGn
t_Lを持つ。プライオリティーの高いバスマスタから
順にバス権を与える。同じプライオリティーのマスタに
対しては、バス要求のあった順番にバス権を与える。 assert:他のマスターにgGnt_Lを与えてい
ない時、または次のクロックで他のマスタに与えていた
gGnt_Lをネゲートする時に、アービトレーション
によって選ばれたマスタに対してアサートする。 negate:gAack_Lのアサートを確認したク
ロックgTrStp_L,In,(G−Bus Tra
nsuaction Stop):Arbiter>M
aster,Slave … アービタによりドライブ
され、gGnt_Lによりすでにアドレスフェーズを開
始されたトランザクションを中止する。ただ、すでにg
Aack_Lによりデータフェーズを開始してしまった
トランザクションについては中止できない。また、この
信号はgAack_Lによりマスクがかけられており、
gAack_Lがアサートされた時には、たとえアサー
トしていてもネゲートされ出力される。 assert:すでにアドレスフェーズを開始したトラ
ンザクションよりも高いプライオリティのマスタからバ
ス要求がきた時。 negate:gAack_Lのアサートを確認したク
ロック (Gバスライトサイクル)Gバスのライトサイクルは次
のようになる。 マスタがバス要求、gReq_Lアサート。 アービタが許可、gGnt_Lアサート。gReq_
Lネゲート。 gGnt_Lを受けて、マスタはgTs_L,gAd
dr,gRdNotWr,gBstCnt,をドライ
ブ。ライト動作の場合、gSlvBsy_Lがアサート
されていなければ、同時にgDataもドライブする。
gSlvBsy_Lがドライブされていれば、gSlv
Bsy_Lがフリーになるのを待ってドライブする。 スレーブはgTs_Lがアサートされている時にアド
レスをデコードし、ヒットすれば自分に対する転送であ
ることを認識する。この時gSlvBsy_Lが他のス
レーブによりアサートされていなければ、gSlvBs
y_LとgAack_Lのドライブを始める。また、リ
ードの場合はgDataもドライブする。gSlvBs
y_Lが他のスレーブによりアサートされていれば、デ
ータバスは使用中であるということなので、ネゲートさ
れるまで待ってドライブを始める。gSlvBsy_
L,gAack_L,(gData)のドライブ開始
後、スレーブがデータ転送の準備ができれば、それぞれ
の信号をアサートし、データ転送を開始する。 gAack_Lがアサートされた時点でアドレスフェ
ーズは終了し、マスタはgAddr,gRdNotW
r,gBstCntをネゲートする。また、その時点か
らマスタはライトデータを毎クロック切り替え、gBs
tCntで指定されたデータ量だけ転送を行う。マスタ
とスレーブは、それぞれ自分でクロックをカウントし
て、データ転送の終了を知らなければならない。
【0138】スレーブは転送の途中でマスタから要求さ
れたデータ転送量を転送できなくなった場合は、bSt
Stp_Lを15ビート目でアサートすることで、次の
16ビートの転送をキャンセルすることがただし、16
ビートの途中でキャンセルすることはできない。
れたデータ転送量を転送できなくなった場合は、bSt
Stp_Lを15ビート目でアサートすることで、次の
16ビートの転送をキャンセルすることがただし、16
ビートの途中でキャンセルすることはできない。
【0139】マスタおよびスレーブは、gBstStp
_Lがアサートされれば、次のクロックでデータの転送
を終了させなければならない。
_Lがアサートされれば、次のクロックでデータの転送
を終了させなければならない。
【0140】<キャッシュインバリデーションユニット
(CIU)>キャッシュインバリデーションユニット
(以下CIU)2005は、Bバスからメモリへのライ
トトランザクションを監視し、これが起こった場合は、
メモリへの書込が終了する前に、CPUシェルのキャッ
シュインバリデーションインターフェースを用い、CP
Uシェルに内蔵されたキャッシュの無効化を行う。
(CIU)>キャッシュインバリデーションユニット
(以下CIU)2005は、Bバスからメモリへのライ
トトランザクションを監視し、これが起こった場合は、
メモリへの書込が終了する前に、CPUシェルのキャッ
シュインバリデーションインターフェースを用い、CP
Uシェルに内蔵されたキャッシュの無効化を行う。
【0141】CPUシェルは、次の3種類の信号を使用
する。 ・SnoopADDR[31:5](Cache In
validationAddress) ・DCINV(Dcache(データキャッシュ)In
validationStrobe) ・ICINV(Icache(インストラクションキャ
ッシュ)Invalidation Strobe) キャッシュの無効化は最大3クロックで行われる、Bバ
スからメモリへのライトは3クロックで終了することは
ないので、キャッシュインバリデーションユニット20
05は、CPUシェル401から出力されるStop_
L信号を用いて無効化終了のハンドシェイクを行うこと
はしない。但し、将来の変更に備え、Bバス上にはbS
noopWaitをStop_Lと同一サイクルだけド
ライブする。
する。 ・SnoopADDR[31:5](Cache In
validationAddress) ・DCINV(Dcache(データキャッシュ)In
validationStrobe) ・ICINV(Icache(インストラクションキャ
ッシュ)Invalidation Strobe) キャッシュの無効化は最大3クロックで行われる、Bバ
スからメモリへのライトは3クロックで終了することは
ないので、キャッシュインバリデーションユニット20
05は、CPUシェル401から出力されるStop_
L信号を用いて無効化終了のハンドシェイクを行うこと
はしない。但し、将来の変更に備え、Bバス上にはbS
noopWaitをStop_Lと同一サイクルだけド
ライブする。
【0142】なお、現在のインプリメンテーションで
は、Bバスからのライトが起こった場合は、安全のため
にIcacheもインバリデーションしている、もし、
OSでセルフモディファイングコードを禁止し、インス
トラクションとして使われる可能性のあるデータのロー
ディング時に、意図的にインストラクションキャッシュ
のインバリデーションを行うなら、Icacheのイン
バリデーションはいらない。この場合は若干のパフォー
マンスアップが望める。
は、Bバスからのライトが起こった場合は、安全のため
にIcacheもインバリデーションしている、もし、
OSでセルフモディファイングコードを禁止し、インス
トラクションとして使われる可能性のあるデータのロー
ディング時に、意図的にインストラクションキャッシュ
のインバリデーションを行うなら、Icacheのイン
バリデーションはいらない。この場合は若干のパフォー
マンスアップが望める。
【0143】<メモリマップ>図23及び図24にメモ
リマップを示す。図23は、左から順に、仮想メモリマ
ップ、物理メモリマップ、Gバスのアドレス空間でのメ
モリマップ、Bバスのアドレス空間でのメモリマップで
ある。また、図24は、レジスタ等を含む図23におけ
る斜線部の512メガバイトを示すマップである。
リマップを示す。図23は、左から順に、仮想メモリマ
ップ、物理メモリマップ、Gバスのアドレス空間でのメ
モリマップ、Bバスのアドレス空間でのメモリマップで
ある。また、図24は、レジスタ等を含む図23におけ
る斜線部の512メガバイトを示すマップである。
【0144】プロセッサコアのメモリモデルはR300
0をベースにしている。プロセッサコアの物理アドレス
空間は32ビットアドレッシングにより4Gバイトあ
る。仮想空間も同様に32ビットアドレッシングを行な
う。ユーザープロセスの最大サイズは2Gバイトであ
る。アドレスマッピングはカーネルモードとユーザーモ
ードで異なる。図はMMUを使用しない場合のメモリマ
ップである。
0をベースにしている。プロセッサコアの物理アドレス
空間は32ビットアドレッシングにより4Gバイトあ
る。仮想空間も同様に32ビットアドレッシングを行な
う。ユーザープロセスの最大サイズは2Gバイトであ
る。アドレスマッピングはカーネルモードとユーザーモ
ードで異なる。図はMMUを使用しない場合のメモリマ
ップである。
【0145】(ユーザーモード仮想アドレッシング)ユ
ーザーモードの仮想アドレッシングでは2Gバイトのユ
ーザ仮想アドレス空間(kuseg)が有効となる。こ
のユーザーセグメントのアドレスは0x0000000
0から始まり、すべての有効なアクセスは0にクリアさ
れたmsbを持つ。ユーザーモードにおいてmsbをセ
ットしたアドレスの参照はアドレスエラー例外処理を引
き起こす。TLBはkusegへのすべての参照をユー
ザーモードとカーネルモードで同様にマッピングする。
また、キャッシャブルである。kusegは通常ユーザ
ーコードやデータを保持するために使用される。
ーザーモードの仮想アドレッシングでは2Gバイトのユ
ーザ仮想アドレス空間(kuseg)が有効となる。こ
のユーザーセグメントのアドレスは0x0000000
0から始まり、すべての有効なアクセスは0にクリアさ
れたmsbを持つ。ユーザーモードにおいてmsbをセ
ットしたアドレスの参照はアドレスエラー例外処理を引
き起こす。TLBはkusegへのすべての参照をユー
ザーモードとカーネルモードで同様にマッピングする。
また、キャッシャブルである。kusegは通常ユーザ
ーコードやデータを保持するために使用される。
【0146】(カーネルモード仮想アドレッシング)カ
ーネルモードの仮想アドレス空間には4つのアドレスセ
グメントを持っている。 ・kuseg 仮想アドレスの0x00000000か
ら2Gバイト。ページと単位としたキャッシングとマッ
ピングが可能。このセグメントはカーネルメモリアクセ
スとユーザーメモリアクセスでオーバーラップしてい
る。 ・kseg0 仮想アドレスの0x80000000か
ら512Mバイト。物理メモリの最初の512Mバイト
にダイレクトにマップされる。参照はキャッシュされる
が、アドレス変換にはTLBは使われない。kseg0
は通常カーネルの実行コードやカーネルデータのために
使用される。 ・kseg1 仮想アドレスの0xA0000000か
ら512Mバイト。物理メモリの最初の512Mバイト
にダイレクトにマップされる。参照はキャッシュされ
ず、アドレス変換にはTLBは使われない。kseg1
は通常OSによって、I/Oレジスタ、ROMコード、
ディスクバッファのために使用される。 ・kseg2 仮想アドレスの0xC0000000か
ら1Gバイト。kusegと同様、TLBにより仮想ア
ドレスから物理アドレスにマップされる。キャッシング
は自由。OSは通常kseg2をスタックやコンテキス
トスイッチによるリマップが必要なプロセス毎のデータ
のために使用する。
ーネルモードの仮想アドレス空間には4つのアドレスセ
グメントを持っている。 ・kuseg 仮想アドレスの0x00000000か
ら2Gバイト。ページと単位としたキャッシングとマッ
ピングが可能。このセグメントはカーネルメモリアクセ
スとユーザーメモリアクセスでオーバーラップしてい
る。 ・kseg0 仮想アドレスの0x80000000か
ら512Mバイト。物理メモリの最初の512Mバイト
にダイレクトにマップされる。参照はキャッシュされる
が、アドレス変換にはTLBは使われない。kseg0
は通常カーネルの実行コードやカーネルデータのために
使用される。 ・kseg1 仮想アドレスの0xA0000000か
ら512Mバイト。物理メモリの最初の512Mバイト
にダイレクトにマップされる。参照はキャッシュされ
ず、アドレス変換にはTLBは使われない。kseg1
は通常OSによって、I/Oレジスタ、ROMコード、
ディスクバッファのために使用される。 ・kseg2 仮想アドレスの0xC0000000か
ら1Gバイト。kusegと同様、TLBにより仮想ア
ドレスから物理アドレスにマップされる。キャッシング
は自由。OSは通常kseg2をスタックやコンテキス
トスイッチによるリマップが必要なプロセス毎のデータ
のために使用する。
【0147】(仮想アドレスメモリマップ(図23
(a),図24(a)))仮想アドレス空間は4Gバイ
トあり、システム上のすべてのメモリ、I/Oがアクセ
ス可能である。kusegにはSYSTEM MEMO
RY(1GB)が存在する。
(a),図24(a)))仮想アドレス空間は4Gバイ
トあり、システム上のすべてのメモリ、I/Oがアクセ
ス可能である。kusegにはSYSTEM MEMO
RY(1GB)が存在する。
【0148】kseg0には内蔵RAM(16MB)が
存在する。これは、例外処理のベクタをプログラミング
したい場合にインプリメントし、例外ベクタベースアド
レスを0x80000000に設定する。このアドレス
は物理アドレス空間の0x00000000にマッピン
グされる。
存在する。これは、例外処理のベクタをプログラミング
したい場合にインプリメントし、例外ベクタベースアド
レスを0x80000000に設定する。このアドレス
は物理アドレス空間の0x00000000にマッピン
グされる。
【0149】kseg1にはROM,I/O,レジスタ
が存在し、ブートROM(16MB),SBB内部レジ
スタとMC内部レジスタ(16MB),IOBusI/
O1(16MB:Gバスアービタ内部レジスタ、Bバス
アービタ内部レジスタ、PMU内部レジスタなどのプリ
ミティブなBバスレジスタ),IOBusI/O2(1
6MB),IOBusMEM(16MB),Gbus
MEM(32MB),FONT ROM(240M
B)、FONT ROM or RAM(16MB)が
含まれる。
が存在し、ブートROM(16MB),SBB内部レジ
スタとMC内部レジスタ(16MB),IOBusI/
O1(16MB:Gバスアービタ内部レジスタ、Bバス
アービタ内部レジスタ、PMU内部レジスタなどのプリ
ミティブなBバスレジスタ),IOBusI/O2(1
6MB),IOBusMEM(16MB),Gbus
MEM(32MB),FONT ROM(240M
B)、FONT ROM or RAM(16MB)が
含まれる。
【0150】kseg2にはPCI I/O(512M
B),PCI MEM(512MB)が存在する。
B),PCI MEM(512MB)が存在する。
【0151】kseg0,kseg1はどちらも物理ア
ドレス空間の最初の512Mバイトにマッピングされる
ため、kseg0,kseg1とkusegの最初の5
12Mバイトはすべて同じ物理アドレス空間を参照して
いることになる。
ドレス空間の最初の512Mバイトにマッピングされる
ため、kseg0,kseg1とkusegの最初の5
12Mバイトはすべて同じ物理アドレス空間を参照して
いることになる。
【0152】(物理アドレスメモリマップ(図23
(b),図24(b)))物理アドレス空間も仮想アド
レス空間と同様4Gバイトあり、システム上のすべての
メモリ、I/Oがアクセス可能である。
(b),図24(b)))物理アドレス空間も仮想アド
レス空間と同様4Gバイトあり、システム上のすべての
メモリ、I/Oがアクセス可能である。
【0153】PCI I/O,PCI MEM,SYS
TEM MEMORYについては仮想アドレスメモリマ
ップと同一である。
TEM MEMORYについては仮想アドレスメモリマ
ップと同一である。
【0154】kseg1,kseg2はどちらも物理ア
ドレス空間の最初の512Mバイトにマッピングされる
ので、ROM,I/O,Regは0x00000000
からの空間に存在している。
ドレス空間の最初の512Mバイトにマッピングされる
ので、ROM,I/O,Regは0x00000000
からの空間に存在している。
【0155】(Gバスメモリマップ(図23(c),図
24(c)))Gバスアドレス空間は4Gバイトあり、
SYSTEM MEMORY,GBus MEM,FO
NTのみがアクセス可能である。
24(c)))Gバスアドレス空間は4Gバイトあり、
SYSTEM MEMORY,GBus MEM,FO
NTのみがアクセス可能である。
【0156】(Bバスメモリマップ(図23(d),図
24(d)))Bバスアドレス空間は4Gバイトあり、
PCI I/O,PCI MEM,SYSTEM ME
MORY,IOBusI/O2,IOBusMEM,F
ONTのみがアクセス可能である。
24(d)))Bバスアドレス空間は4Gバイトあり、
PCI I/O,PCI MEM,SYSTEM ME
MORY,IOBusI/O2,IOBusMEM,F
ONTのみがアクセス可能である。
【0157】IOBus I/O1はプリミティブなレ
ジスタのため、0x1C000000から0x2000
0000までの空間はPCIからプロテクトがかけられ
ており、PCIからアクセスできない。
ジスタのため、0x1C000000から0x2000
0000までの空間はPCIからプロテクトがかけられ
ており、PCIからアクセスできない。
【0158】<アドレススイッチ>アドレススイッチ2
003は、SCバス,Gバス,Bバス,MCバス間のデ
ータ転送を行なうために、マスターとなるバスからスレ
ーブとなるバスへ、SBB402を経由してアドレス信
号を送るためのものである。SBB402を経由する転
送において、マスターとなり得るバスは、SCバス,G
バス,Bバスであり、スレーブとなり得るバスはBバ
ス,MCバスである。MCバスに対してはSCバス,G
バス,Bバス,のいずれかがマスターとなり、Bバスへ
はSCバスのみがマスターとなってアドレス信号を送
る。
003は、SCバス,Gバス,Bバス,MCバス間のデ
ータ転送を行なうために、マスターとなるバスからスレ
ーブとなるバスへ、SBB402を経由してアドレス信
号を送るためのものである。SBB402を経由する転
送において、マスターとなり得るバスは、SCバス,G
バス,Bバスであり、スレーブとなり得るバスはBバ
ス,MCバスである。MCバスに対してはSCバス,G
バス,Bバス,のいずれかがマスターとなり、Bバスへ
はSCバスのみがマスターとなってアドレス信号を送
る。
【0159】また、SCバス−Bバス間の転送と、Gバ
ス−MCバス間の転送は同時に行なうことができる。
ス−MCバス間の転送は同時に行なうことができる。
【0160】図25に、アドレススイッチ2003のブ
ロック図を示す。スイッチシーケンサ2003aによ
り、スイッチ2003bを切り替えてスレーブをBバス
とMCバスとで切り換え、スイッチ2003cを切り替
えてマスタをSCバス,Gバス,Bバスで切り換える。
この構成により、MCバスに対してはSCバス,Gバ
ス,Bバス,のいずれかがマスターとなり、Bバスへは
SCバスのみがマスターとなり、また、SCバス−Bバ
ス間の転送と、Gバス−MCバス間の転送は同時に行な
うことができる。
ロック図を示す。スイッチシーケンサ2003aによ
り、スイッチ2003bを切り替えてスレーブをBバス
とMCバスとで切り換え、スイッチ2003cを切り替
えてマスタをSCバス,Gバス,Bバスで切り換える。
この構成により、MCバスに対してはSCバス,Gバ
ス,Bバス,のいずれかがマスターとなり、Bバスへは
SCバスのみがマスターとなり、また、SCバス−Bバ
ス間の転送と、Gバス−MCバス間の転送は同時に行な
うことができる。
【0161】<データスイッチ>データスイッチはSC
バス,Gバス,Bバス,MCバス間のデータ転送を行な
う際に,SBB内でデータの流れを切り替えるものであ
る。ライト時はマスターからスレーブ、リード時はスレ
ーブからマスターへデータが送られる。
バス,Gバス,Bバス,MCバス間のデータ転送を行な
う際に,SBB内でデータの流れを切り替えるものであ
る。ライト時はマスターからスレーブ、リード時はスレ
ーブからマスターへデータが送られる。
【0162】図26にデータスイッチ2004のブロッ
ク図を示す。この構成において、セレクタA−1〜A−
3及びB−1,B−2を表7のように切り替えること
で、SCバス,Gバス,Bバスのいずれかをマスタと
し、Bバス,MCバスのいずれかをスレーブとして、書
き込みあるいは読み出しを行うように制御できる。
ク図を示す。この構成において、セレクタA−1〜A−
3及びB−1,B−2を表7のように切り替えること
で、SCバス,Gバス,Bバスのいずれかをマスタと
し、Bバス,MCバスのいずれかをスレーブとして、書
き込みあるいは読み出しを行うように制御できる。
【0163】
【表7】
【0164】<アービトレーション>SBB402内の
スイッチシーケンサ2003aは、各スイッチを切り替
えるにあたって、SBB外部からの以下の3種類の接続
要求間のアービトレーションを行う。 1.CPU 2.Gバスバスマスタ 3.Bバスバスマスタ このアービトレーションは、現在のバススイッチ接続状
況、及び、あらかじめ設定された優先順位により決定さ
れ、その結果アドレススイッチ、データスイッチの接続
が切り替えられる。
スイッチシーケンサ2003aは、各スイッチを切り替
えるにあたって、SBB外部からの以下の3種類の接続
要求間のアービトレーションを行う。 1.CPU 2.Gバスバスマスタ 3.Bバスバスマスタ このアービトレーションは、現在のバススイッチ接続状
況、及び、あらかじめ設定された優先順位により決定さ
れ、その結果アドレススイッチ、データスイッチの接続
が切り替えられる。
【0165】<タイミングダイアグラム>図27〜図3
2にタイミング図を示す。図27はGバスからの書き込
み/読み出しサイクルのタイミング図、図28はGバス
のバースト停止サイクルのタイミング図、図29〜図3
2は、Gバスのトランザクション停止サイクルのタイミ
ング図である。
2にタイミング図を示す。図27はGバスからの書き込
み/読み出しサイクルのタイミング図、図28はGバス
のバースト停止サイクルのタイミング図、図29〜図3
2は、Gバスのトランザクション停止サイクルのタイミ
ング図である。
【0166】2.6.PCIバスインターフェース 図33は、PCIバスインターフェース416のブロッ
ク図である。
ク図である。
【0167】PCIバスインターフェース416は、D
oEngine内部汎用IOバスであるBバスと、チッ
プ外部IOバスであるPCIバスの間をインターフェー
スするブロックである。入力ピン設定により、リセット
時にPCIバスコンフィギュレーション発行可能な、ホ
ストブリッジ構成と、PCIバスコンフィギュレーショ
ンは発行しないターゲット構成とを切り替えることがで
きる。
oEngine内部汎用IOバスであるBバスと、チッ
プ外部IOバスであるPCIバスの間をインターフェー
スするブロックである。入力ピン設定により、リセット
時にPCIバスコンフィギュレーション発行可能な、ホ
ストブリッジ構成と、PCIバスコンフィギュレーショ
ンは発行しないターゲット構成とを切り替えることがで
きる。
【0168】BバスインターフェースのマスタDMAコ
ントローラ3301は、PCIバスシグナルインターフ
ェース3302を介してPCIバスマスタからDoEn
gine内部のリソースにアクセス要求があった場合
に、Bバスマスタとしてこのアクセス要求をBバス内部
にブリッジする。
ントローラ3301は、PCIバスシグナルインターフ
ェース3302を介してPCIバスマスタからDoEn
gine内部のリソースにアクセス要求があった場合
に、Bバスマスタとしてこのアクセス要求をBバス内部
にブリッジする。
【0169】更に、このマスタDMAコントローラ33
01は、PCIバス上でマッピングされるメモリからD
oEngineMemoryへのDMA転送を行う事が
出来る。この際、プログラマが意図したBバスDMA
と、GバスDMAのアクセスの順番を守って動作させる
ために、転送先アドレス(bPciAddr[31:
0])と、PCIマスターコントローラ3301のID
信号(bPciID)を、Bバスとアービトレーション
シーケンサに対して、バスリクエストと同時に発行す
る。
01は、PCIバス上でマッピングされるメモリからD
oEngineMemoryへのDMA転送を行う事が
出来る。この際、プログラマが意図したBバスDMA
と、GバスDMAのアクセスの順番を守って動作させる
ために、転送先アドレス(bPciAddr[31:
0])と、PCIマスターコントローラ3301のID
信号(bPciID)を、Bバスとアービトレーション
シーケンサに対して、バスリクエストと同時に発行す
る。
【0170】マスタDMAコントローラ3301はバス
グラント(bPciBGnt_L)を受け取り、バスを
使用しデータ転送が終了した時点で、ID信号(bPc
iID)のアサートを取りやめる。
グラント(bPciBGnt_L)を受け取り、バスを
使用しデータ転送が終了した時点で、ID信号(bPc
iID)のアサートを取りやめる。
【0171】なお、PCIバスは、33MHz,32ビ
ット,PCI2.1準拠とする。
ット,PCI2.1準拠とする。
【0172】2.7.Gバスアービタ 図34は、Gバスアービタ(GBA)406のブロック
図である。
図である。
【0173】Gバスのアービトレーションは、中央アー
ビトレーション方式であり、各バスマスタに対して専用
のリクエスト信号(g(mastername)Req
_L)とグラント信号(g(mastername)G
nt_L)を持つ。図34は、masternameは
M1−M4となっている。Busアービタ406は、G
バス上のバスマスタを4つまでサポートしており、以下
のような特徴を持つ。 ・アービタ内部のレジスタ3401aの設定によりアー
ビタをプログラミングすることが出来る。レジスタ設定
はBバスより行なう。 ・すべてのバスマスタを同じ優先権として、公平にバス
権を与える公平アービトレーションモードと、いずれか
ひとつのバスマスタの優先権を上げ、優先的にバスを使
用させる優先アービトレーションモードがある。どのバ
スマスタに優先権を与えるかはレジスタ3401bの設
定により決定される。 ・優先バスマスタが連続してバスを使用することができ
る回数を設定することが可能。 ・すでにアドレスフェーズを開始したが、データフェー
ズをまだ開始していないトランザクションについて、そ
のトランザクションをストップするためのトランザクシ
ョンストップサイクルをサポート。 ・複数のバスマスタにおける順序処理のプログラミング
ができる(後述)。プログラムされた順序は、レジスタ
テーブル3401aに格納される。 ・GバスマスタとBバスマスタが同一メモリアドレスに
順次書き込みを発行した場合に、プログラマの意図した
アクセス順序を維持するための機構として、同期ユニッ
トからのマスタID信号、ストップ信号に基づき、特定
のマスタに対し、バス使用許可を与えることを保留する
機構を持つ。
ビトレーション方式であり、各バスマスタに対して専用
のリクエスト信号(g(mastername)Req
_L)とグラント信号(g(mastername)G
nt_L)を持つ。図34は、masternameは
M1−M4となっている。Busアービタ406は、G
バス上のバスマスタを4つまでサポートしており、以下
のような特徴を持つ。 ・アービタ内部のレジスタ3401aの設定によりアー
ビタをプログラミングすることが出来る。レジスタ設定
はBバスより行なう。 ・すべてのバスマスタを同じ優先権として、公平にバス
権を与える公平アービトレーションモードと、いずれか
ひとつのバスマスタの優先権を上げ、優先的にバスを使
用させる優先アービトレーションモードがある。どのバ
スマスタに優先権を与えるかはレジスタ3401bの設
定により決定される。 ・優先バスマスタが連続してバスを使用することができ
る回数を設定することが可能。 ・すでにアドレスフェーズを開始したが、データフェー
ズをまだ開始していないトランザクションについて、そ
のトランザクションをストップするためのトランザクシ
ョンストップサイクルをサポート。 ・複数のバスマスタにおける順序処理のプログラミング
ができる(後述)。プログラムされた順序は、レジスタ
テーブル3401aに格納される。 ・GバスマスタとBバスマスタが同一メモリアドレスに
順次書き込みを発行した場合に、プログラマの意図した
アクセス順序を維持するための機構として、同期ユニッ
トからのマスタID信号、ストップ信号に基づき、特定
のマスタに対し、バス使用許可を与えることを保留する
機構を持つ。
【0174】なお、レジスタへのプログラミングは、B
バスを介してCPU401から行われる。
バスを介してCPU401から行われる。
【0175】(アービトレーションシーケンサ)Gバス
アービタの中核となるアービトレーションシーケンサ3
402a,bは、1つの優先マスタとその他の4つの非
優先マスタの間で5つのマスタによるアービトレーショ
ンを行なう。4つのバスマスタからのリクエスト信号と
グラント信号を、リクエストディスパッチ回路3403
とグラントディスパッチ回路3404によって4つの非
優先マスタに割り付けることにより、公平アービトレー
ションモードが実現される。また、4つのバスマスタの
うちのひとつを、高優先アービトレーションシーケンサ
3402aの優先マスタに割り付けることで、優先アー
ビトレーションモードとして動作する。これらの割り付
けは、レジスタ3401a,bの設定にしたがって行わ
れる。これにより、優先バスマスタは、他のマスタより
高い確率でバスの使用権を取得することが出来る。
アービタの中核となるアービトレーションシーケンサ3
402a,bは、1つの優先マスタとその他の4つの非
優先マスタの間で5つのマスタによるアービトレーショ
ンを行なう。4つのバスマスタからのリクエスト信号と
グラント信号を、リクエストディスパッチ回路3403
とグラントディスパッチ回路3404によって4つの非
優先マスタに割り付けることにより、公平アービトレー
ションモードが実現される。また、4つのバスマスタの
うちのひとつを、高優先アービトレーションシーケンサ
3402aの優先マスタに割り付けることで、優先アー
ビトレーションモードとして動作する。これらの割り付
けは、レジスタ3401a,bの設定にしたがって行わ
れる。これにより、優先バスマスタは、他のマスタより
高い確率でバスの使用権を取得することが出来る。
【0176】さらに、バスの取得機会確率の調整に加
え、高優先シーケンサ3402aに割り当てられたマス
タは、連続してバスを使用する事が出来、連続して使用
出来る回数をプログラマブルなレジスタにより可変する
事ができる。これは、バスの占有率を調整出来、ある特
定のマスタにより多くバスを使用させる様に出来ること
を意味する。
え、高優先シーケンサ3402aに割り当てられたマス
タは、連続してバスを使用する事が出来、連続して使用
出来る回数をプログラマブルなレジスタにより可変する
事ができる。これは、バスの占有率を調整出来、ある特
定のマスタにより多くバスを使用させる様に出来ること
を意味する。
【0177】(公平アービトレーションモード)このモ
ードでは、すべてのバスマスタは同じ優先順位にあり、
バス権を与えられる機会は公平である。バスがフリーの
時は、一番最初にリクエストを出したバスマスタがバス
権を得ることができる。また、複数のバスマスタが同時
にリクエストを出した場合は、あらかじめ決められた順
序にしたがって順次バス権が与えられる(ラウンドロビ
ン方式)。例えば、M1からM4までのすべてのバスマ
スタが同じクロックでリクエストを出した場合は、M1
→M2→M3→M4といった順序でバス権が与えられ
る。M4のトランザクションの終了時に再びすべてのバ
スマスタがリクエストを出している場合は、M1→M2
→M3→M4→M1→M2…というように、同様の順序
でバス権を与えていく。一部のバスマスタがリクエスト
を出している場合は、M4からM1へラウンドラップす
るとして、最後にバスを使用したマスタにもっとも近い
大きい番号を持ったマスタへグラントを与える。
ードでは、すべてのバスマスタは同じ優先順位にあり、
バス権を与えられる機会は公平である。バスがフリーの
時は、一番最初にリクエストを出したバスマスタがバス
権を得ることができる。また、複数のバスマスタが同時
にリクエストを出した場合は、あらかじめ決められた順
序にしたがって順次バス権が与えられる(ラウンドロビ
ン方式)。例えば、M1からM4までのすべてのバスマ
スタが同じクロックでリクエストを出した場合は、M1
→M2→M3→M4といった順序でバス権が与えられ
る。M4のトランザクションの終了時に再びすべてのバ
スマスタがリクエストを出している場合は、M1→M2
→M3→M4→M1→M2…というように、同様の順序
でバス権を与えていく。一部のバスマスタがリクエスト
を出している場合は、M4からM1へラウンドラップす
るとして、最後にバスを使用したマスタにもっとも近い
大きい番号を持ったマスタへグラントを与える。
【0178】一度バス権が他のバスマスタに移ると、他
にリクエストを出しているすべてのバスマスタにバス権
を与えた後でないと再びバス権を得ることができない。
にリクエストを出しているすべてのバスマスタにバス権
を与えた後でないと再びバス権を得ることができない。
【0179】(優先アービトレーション)このモードで
は、ひとつのバスマスタ(レジスタ3401bに登録さ
れたバスマスタ)が他のバスマスタよりも高い優先権を
持つ優先バスマスタになり、他のバスマスタに比べ優先
的にバス権が与えられる。優先バスマスタ以外のバスマ
スタの優先順位はすべて同じである。
は、ひとつのバスマスタ(レジスタ3401bに登録さ
れたバスマスタ)が他のバスマスタよりも高い優先権を
持つ優先バスマスタになり、他のバスマスタに比べ優先
的にバス権が与えられる。優先バスマスタ以外のバスマ
スタの優先順位はすべて同じである。
【0180】複数のバスマスタがリクエストを出してお
り、また優先バスマスタが連続したリクエストを行う場
合、優先バスマスタと他の非優先バスマスタは交互にバ
ス権を得る。
り、また優先バスマスタが連続したリクエストを行う場
合、優先バスマスタと他の非優先バスマスタは交互にバ
ス権を得る。
【0181】非優先バスマスタから他のバスマスタにバ
ス権が移ると、他にリクエストを出しているすべてのバ
スマスタにバス権を与えた後でないと、その非優先バス
マスタは再びバス権を得ることができない。
ス権が移ると、他にリクエストを出しているすべてのバ
スマスタにバス権を与えた後でないと、その非優先バス
マスタは再びバス権を得ることができない。
【0182】(トランザクション・ストップ・サイク
ル)優先アービトレーションモードにおいて、優先バス
マスタがリクエストを出した時、すでに他のバスマスタ
がアドレスフェーズを開始していても、データフェーズ
をまだ開始していなければ、そのトランザクションをス
トップし、優先バスマスタがバス権を得ることができ
る。ただし、その直前に優先バスマスタがバス権を持っ
ていた場合は、連続したバス権を得ることができる回数
を超えることはできない。
ル)優先アービトレーションモードにおいて、優先バス
マスタがリクエストを出した時、すでに他のバスマスタ
がアドレスフェーズを開始していても、データフェーズ
をまだ開始していなければ、そのトランザクションをス
トップし、優先バスマスタがバス権を得ることができ
る。ただし、その直前に優先バスマスタがバス権を持っ
ていた場合は、連続したバス権を得ることができる回数
を超えることはできない。
【0183】優先バスマスタのトランザクションが終了
した時、中止されたバスマスタがリクエストを出してい
れば、優先してバス権が与えられる。
した時、中止されたバスマスタがリクエストを出してい
れば、優先してバス権が与えられる。
【0184】(優先バスマスタの切り替え)優先バスマ
スタの切り替えを行なうには、レジスタ3401bを書
き換えればよい。優先バスマスタを選択するレジスタが
書き換えられると、その時に実行中のトランザクション
の終了を待って、優先バスマスタが切り替えられる。ア
ービタのステートはアイドル状態にもどり、その時点で
リクエストを出していたバスマスタは、その時同時にリ
クエストを出したものとして、あらためてアービトレー
ションが行われる。
スタの切り替えを行なうには、レジスタ3401bを書
き換えればよい。優先バスマスタを選択するレジスタが
書き換えられると、その時に実行中のトランザクション
の終了を待って、優先バスマスタが切り替えられる。ア
ービタのステートはアイドル状態にもどり、その時点で
リクエストを出していたバスマスタは、その時同時にリ
クエストを出したものとして、あらためてアービトレー
ションが行われる。
【0185】優先バスマスタの切り替えには十分注意を
払う必要がある。優先させるべきバスマスタのDMAが
終了しないうちに、異なったバスマスタに優先バスマス
タを切り替えてしまうと、最初の優先バスマスタのDM
Aの優先度が下がってしまう。もしも最初の優先バスマ
スタの優先度を下げたくないのであれば、DMAが終了
したのを確認してから優先バスマスタの切り替えを行な
う必要がある。
払う必要がある。優先させるべきバスマスタのDMAが
終了しないうちに、異なったバスマスタに優先バスマス
タを切り替えてしまうと、最初の優先バスマスタのDM
Aの優先度が下がってしまう。もしも最初の優先バスマ
スタの優先度を下げたくないのであれば、DMAが終了
したのを確認してから優先バスマスタの切り替えを行な
う必要がある。
【0186】優先バスマスタ切り替えを、システムブー
ト時のみでなく、システム稼働中も動的に行う必要のあ
るソフトウエアでは、優先バスマスタの切り替えは、い
ったんGバス上に新たなDMAリクエストが発生しない
よう、すべてのバスマスタ及びDMAコントローラに対
する設定を中止し、その後、Gバスアービタ406内の
レジスタに適切な値をセットし、さらに、Gバスアービ
タ406内のステータスレジスタをチェックし、バスマ
スタの優先権が切り替わったのを確認した上で新たなG
バス上へのアクセス及びDMAの起動を行うべきであ
る。
ト時のみでなく、システム稼働中も動的に行う必要のあ
るソフトウエアでは、優先バスマスタの切り替えは、い
ったんGバス上に新たなDMAリクエストが発生しない
よう、すべてのバスマスタ及びDMAコントローラに対
する設定を中止し、その後、Gバスアービタ406内の
レジスタに適切な値をセットし、さらに、Gバスアービ
タ406内のステータスレジスタをチェックし、バスマ
スタの優先権が切り替わったのを確認した上で新たなG
バス上へのアクセス及びDMAの起動を行うべきであ
る。
【0187】優先バスマスタの動的切り替えは、オペレ
ーティングシステムの実時間保証、タスクの優先順位の
設定を変化もしくは違反させてしまう可能性があり、十
分な考慮の上行われなければならない。
ーティングシステムの実時間保証、タスクの優先順位の
設定を変化もしくは違反させてしまう可能性があり、十
分な考慮の上行われなければならない。
【0188】(順序処理)図35は、DoEngine
400内におけるGバス404を中心とする、Gバス上
のバスマスタによるDMAに係るブロック図である。
400内におけるGバス404を中心とする、Gバス上
のバスマスタによるDMAに係るブロック図である。
【0189】複数のバスマスタが順次に処理を行うこと
が必要な場合、例えば、メモリ3501上のデータに対
して、バスマスタ1により処理Aを行った後、バスマス
タ2により処理Bを行い、その処理後のデータをバスマ
スタ4に送るといった一連の処理を考える。
が必要な場合、例えば、メモリ3501上のデータに対
して、バスマスタ1により処理Aを行った後、バスマス
タ2により処理Bを行い、その処理後のデータをバスマ
スタ4に送るといった一連の処理を考える。
【0190】この処理を行うソフトウェア、すなわちC
PU401により実行されるプログラムにより、Bバス
405を介して、バスアービタ406内のレジスタテー
ブル3401aに、バスマスタがバスを使用する順序
と、バス権の付与の開始条件と、終了条件がセットされ
る。この例では、 バスマスタ : 開始条件 : 終了条件 1.バスマスタ1:gM2BufEmpty:gM1B
ufReady 2.バスマスタ2:gM1BufReady:gM1B
ufEmpty 3.バスマスタ4:gM2BufReady:gM2B
ufEmpty というようにセットする。すなわち、Gバスアービタ4
06は、それぞれのバスマスタから、開始条件として設
定された信号を受けるとそのバスマスタにバス使用権を
与え、終了条件として設定された信号を受けるとバス使
用権を奪う。
PU401により実行されるプログラムにより、Bバス
405を介して、バスアービタ406内のレジスタテー
ブル3401aに、バスマスタがバスを使用する順序
と、バス権の付与の開始条件と、終了条件がセットされ
る。この例では、 バスマスタ : 開始条件 : 終了条件 1.バスマスタ1:gM2BufEmpty:gM1B
ufReady 2.バスマスタ2:gM1BufReady:gM1B
ufEmpty 3.バスマスタ4:gM2BufReady:gM2B
ufEmpty というようにセットする。すなわち、Gバスアービタ4
06は、それぞれのバスマスタから、開始条件として設
定された信号を受けるとそのバスマスタにバス使用権を
与え、終了条件として設定された信号を受けるとバス使
用権を奪う。
【0191】ソフトウェアはそれぞれのバスマスタにD
MAをセットする。それによって、それぞれのマスタは
Gバスアービタ404に対してリクエスト(g(mas
tername)Req_L)を発行する。Gバスアー
ビタ404はレジスタテーブル3401aに登録された
順序に従ってバスマスタ1にバス権を与える(gM1G
nt_L)。バスマスタ1はメモリ3501からある単
位のデータをリードし、処理Aを行って、バスマスタ1
内部のバッファにデータをライトする。バスマスタ1は
ひとつの単位の処理が終了し、バッファの準備ができた
ことをgM1BufReady信号によりアービタ40
6に対して通知する。
MAをセットする。それによって、それぞれのマスタは
Gバスアービタ404に対してリクエスト(g(mas
tername)Req_L)を発行する。Gバスアー
ビタ404はレジスタテーブル3401aに登録された
順序に従ってバスマスタ1にバス権を与える(gM1G
nt_L)。バスマスタ1はメモリ3501からある単
位のデータをリードし、処理Aを行って、バスマスタ1
内部のバッファにデータをライトする。バスマスタ1は
ひとつの単位の処理が終了し、バッファの準備ができた
ことをgM1BufReady信号によりアービタ40
6に対して通知する。
【0192】アービタ406はそれを受け、レジスタテ
ーブル3401aに登録された、バスマスタがバス権を
与える条件とバス権を奪う条件にしたがって、バス権を
バスマスタ1から奪いバスマスタ2に与える。バスマス
タ2はバスマスタ1のバッファのデータをリードし、処
理Bを行って、バスマスタ2内部のバッファにデータを
格納する。この間にバスマスタ1のバッファが空になる
とgM1BufEmptyがアサートされ、アービタ4
06はバスマスタ2にバス権を与えていたのを取りやめ
る。バスマスタ2は処理Bを行って、バッファの準備が
できるとgM2BufReady信号により通知する。
ーブル3401aに登録された、バスマスタがバス権を
与える条件とバス権を奪う条件にしたがって、バス権を
バスマスタ1から奪いバスマスタ2に与える。バスマス
タ2はバスマスタ1のバッファのデータをリードし、処
理Bを行って、バスマスタ2内部のバッファにデータを
格納する。この間にバスマスタ1のバッファが空になる
とgM1BufEmptyがアサートされ、アービタ4
06はバスマスタ2にバス権を与えていたのを取りやめ
る。バスマスタ2は処理Bを行って、バッファの準備が
できるとgM2BufReady信号により通知する。
【0193】アービタ406はそれを受け、レジスタ3
401aの内容にしたがって、今度はバスマスタ4にバ
ス権を与える。バスマスタ4はバスマスタ2のバッファ
からデータをリードする。バスマスタ2のバッファが空
になると、gM2BufEmptyによってアービタ4
06に通知し、アービタ406はそれを受け、レジスタ
3401aの内容に従って再びバスマスタ1にバス権を
与え、次のデータの処理を始める。
401aの内容にしたがって、今度はバスマスタ4にバ
ス権を与える。バスマスタ4はバスマスタ2のバッファ
からデータをリードする。バスマスタ2のバッファが空
になると、gM2BufEmptyによってアービタ4
06に通知し、アービタ406はそれを受け、レジスタ
3401aの内容に従って再びバスマスタ1にバス権を
与え、次のデータの処理を始める。
【0194】それぞれのバスマスタにセットされたDM
Aがすべて終了すると、それぞれのバスマスタはプロセ
ッサに割り込みによって通知する。ソフトウェアはすべ
てのバスマスタからの終了通知がそろったとき、一連の
処理が終了したことを知る。
Aがすべて終了すると、それぞれのバスマスタはプロセ
ッサに割り込みによって通知する。ソフトウェアはすべ
てのバスマスタからの終了通知がそろったとき、一連の
処理が終了したことを知る。
【0195】以上説明した動作は完全順次モードでの動
作であり、順次処理に関わるバスマスタ以外のバスマス
タは、バスを使用することができない。この順次処理中
でも、順次処理に関係のないバスマスタがバスを使用す
ることを可能にするために優先順次モードが用意されて
いる。これらのモードの切り替えではアービタ406内
部のレジスタにプログラミングすることによって行な
う。優先順次モードでは、順次処理を行なうバスマスタ
は優先的にバスを使用できるが、順次処理に関わらない
バスマスタであればバスを使用することが許される。順
次処理を行なうバスマスタと関わらないバスマスタの間
のアービトレーションは、前述した優先アービトレーシ
ョンモードと同等である。当然、順次処理に係わるバス
マスタで、バス権を与えられる条件が満足されずに自分
の順番が回ってきていないバスマスタにはバス権は与え
られない。
作であり、順次処理に関わるバスマスタ以外のバスマス
タは、バスを使用することができない。この順次処理中
でも、順次処理に関係のないバスマスタがバスを使用す
ることを可能にするために優先順次モードが用意されて
いる。これらのモードの切り替えではアービタ406内
部のレジスタにプログラミングすることによって行な
う。優先順次モードでは、順次処理を行なうバスマスタ
は優先的にバスを使用できるが、順次処理に関わらない
バスマスタであればバスを使用することが許される。順
次処理を行なうバスマスタと関わらないバスマスタの間
のアービトレーションは、前述した優先アービトレーシ
ョンモードと同等である。当然、順次処理に係わるバス
マスタで、バス権を与えられる条件が満足されずに自分
の順番が回ってきていないバスマスタにはバス権は与え
られない。
【0196】(アクセス順序を維持するための機構)信
号stopSpcがアサートされた場合は、Gバスマス
タのひとつであるスキャナコントローラ/プリンタコン
トローラはアービトレーションの対象から除外され、た
とえリクエストをアサートしていてもバス使用権を与え
られることはない。アービトレーションはこのマスタを
除外したマスタ間で行われる。詳細な説明はBバスアー
ビタの節で行なう。
号stopSpcがアサートされた場合は、Gバスマス
タのひとつであるスキャナコントローラ/プリンタコン
トローラはアービトレーションの対象から除外され、た
とえリクエストをアサートしていてもバス使用権を与え
られることはない。アービトレーションはこのマスタを
除外したマスタ間で行われる。詳細な説明はBバスアー
ビタの節で行なう。
【0197】<タイミングダイアグラム>図36〜図3
9において、Gバスアービトレーションのタイミングを
説明する。図36は、連続してバスを使用する回数が、
バスマスタ1〜4のすべてについて1に設定されている
場合の公平アービトレーションモード(フェアモード)
の例である。バスマスタ1による2回目の(タイミング
4から出されている)バス要求は、バス要求を出してい
る他のバスマスタがすべて1回ずつ処理されるまで待た
されている。
9において、Gバスアービトレーションのタイミングを
説明する。図36は、連続してバスを使用する回数が、
バスマスタ1〜4のすべてについて1に設定されている
場合の公平アービトレーションモード(フェアモード)
の例である。バスマスタ1による2回目の(タイミング
4から出されている)バス要求は、バス要求を出してい
る他のバスマスタがすべて1回ずつ処理されるまで待た
されている。
【0198】図37は、連続してバスを使用する回数
が、バスマスタ1についてのみ2であり、他のバスマス
タは1に設定されている場合の公平アービトレーション
モードの例である。バスマスタ1が出している2回目の
(タイミング4から出されている)バス要求は1回目の
要求に続いて直ちに許可され、他のバスマスタはその処
理がすむまで待たされている。
が、バスマスタ1についてのみ2であり、他のバスマス
タは1に設定されている場合の公平アービトレーション
モードの例である。バスマスタ1が出している2回目の
(タイミング4から出されている)バス要求は1回目の
要求に続いて直ちに許可され、他のバスマスタはその処
理がすむまで待たされている。
【0199】図38は、連続してバスを使用する回数が
それぞれ1ずつであり、バスマスタ1が優先バスマスタ
と設定されている場合の優先アービトレーションモード
の例である。優先バスマスタと非優先バスマスタとは交
互にバス使用権が認められるために、バスマスタ1の2
回目のバス要求はバスマスタ2のバスの使用後に認めら
れており、バスマスタ4のバス要求は、バスマスタ1の
2回目のバスの使用後に認められている。また、バスマ
スタ2の2回目のバス要求は、バス要求を出している他
のすべてのバスマスタ、図38ではバスマスタ1及びバ
スマスタ4のバス使用が終了した後で認められている。
それぞれ1ずつであり、バスマスタ1が優先バスマスタ
と設定されている場合の優先アービトレーションモード
の例である。優先バスマスタと非優先バスマスタとは交
互にバス使用権が認められるために、バスマスタ1の2
回目のバス要求はバスマスタ2のバスの使用後に認めら
れており、バスマスタ4のバス要求は、バスマスタ1の
2回目のバスの使用後に認められている。また、バスマ
スタ2の2回目のバス要求は、バス要求を出している他
のすべてのバスマスタ、図38ではバスマスタ1及びバ
スマスタ4のバス使用が終了した後で認められている。
【0200】図39は、バスマスタ1からのバス要求に
より、バスマスタ4のバス要求が許可されているにもか
かわらず中断された例である。この場合、バスマスタ1
のバス使用が終了すると、バスマスタ2のバス要求に優
先してバスマスタ4のバス要求が認められる。
より、バスマスタ4のバス要求が許可されているにもか
かわらず中断された例である。この場合、バスマスタ1
のバス使用が終了すると、バスマスタ2のバス要求に優
先してバスマスタ4のバス要求が認められる。
【0201】2.8.Bバスアービタ 図40は、Bバスアービタ407のブロックである。
【0202】Bバスアービタ407は、DoEngin
e内部のIO汎用バスであるBバス405のバス使用要
求を受け付け、調停の後、使用許可を選択された一つの
マスタに対して与え、同時に2つ以上のマスタがバスア
クセスを行う事を禁止する。
e内部のIO汎用バスであるBバス405のバス使用要
求を受け付け、調停の後、使用許可を選択された一つの
マスタに対して与え、同時に2つ以上のマスタがバスア
クセスを行う事を禁止する。
【0203】アービトレーション方式は、3段階のプラ
イオリティを持ち、それぞれのプライオリティに複数の
マスタをプログラマブルに割り当てられる構成になって
いる。割り当ては、それぞれ最大で、最高のプライオリ
ティに3マスタ、中間に7マスタ、最低レベルに3マス
タとなる。
イオリティを持ち、それぞれのプライオリティに複数の
マスタをプログラマブルに割り当てられる構成になって
いる。割り当ては、それぞれ最大で、最高のプライオリ
ティに3マスタ、中間に7マスタ、最低レベルに3マス
タとなる。
【0204】また、GバスマスタとBバスマスタが、同
一メモリアドレスに順次書き込みを発行した場合に、プ
ロブラマの意図したアクセス順序を維持するための機構
として、同期ユニットからの、マスタID信号、ストッ
プ信号に基づき、特定のマスタに対し、バス使用許可を
与えることを保留する機構を持つ。
一メモリアドレスに順次書き込みを発行した場合に、プ
ロブラマの意図したアクセス順序を維持するための機構
として、同期ユニットからの、マスタID信号、ストッ
プ信号に基づき、特定のマスタに対し、バス使用許可を
与えることを保留する機構を持つ。
【0205】(アービトレーションシーケンサ)Bバス
アービタは3つのアービトレーションシーケンサ400
2,4003,4004から構成される。それぞれ、高
優先権、中優先権、低優先権を持ち、それぞれのシーケ
ンサ内に、3,7,3本のバスマスタ用アービトレーシ
ョンシーケンサが内蔵される。Bバス上のすべてのバス
マスタになる可能性のあるユニットからのリクエスト信
号とそれらへのグラント信号を、リクエストセレクタと
グラントセレクタによって、これらの3つのシーケンサ
ユニットに分配する。この分配は、BBusインタフェ
ース4005内のソフトウェアプログラマブルなレジス
タ4005aにより、複数の組み合わせのなかから、一
意の組み合わせを選択することが出来る。
アービタは3つのアービトレーションシーケンサ400
2,4003,4004から構成される。それぞれ、高
優先権、中優先権、低優先権を持ち、それぞれのシーケ
ンサ内に、3,7,3本のバスマスタ用アービトレーシ
ョンシーケンサが内蔵される。Bバス上のすべてのバス
マスタになる可能性のあるユニットからのリクエスト信
号とそれらへのグラント信号を、リクエストセレクタと
グラントセレクタによって、これらの3つのシーケンサ
ユニットに分配する。この分配は、BBusインタフェ
ース4005内のソフトウェアプログラマブルなレジス
タ4005aにより、複数の組み合わせのなかから、一
意の組み合わせを選択することが出来る。
【0206】たとえば、最大7つのマスタのリクエスト
を中優先アービトレーションシーケンサ4003に接続
することにより、7つのマスタ間で公平なアービトレー
ションが実現される。また、バスマスタのうちのいくつ
かを、高優先アービトレーションシーケンサ4002に
割り付けることで、これらのマスタは他のマスタより、
より高い確率でバスの使用権を取得することが出来る。
さらに、いくつかのリクエストを低優先シーケンサ40
04に接続することで、これらのバスの使用率を低く抑
える事が出来る。さらに、バスの取得機会確率の調整に
加え、高優先シーケンサ4002に割り当てられたマス
タは、連続してバスを使用する事ができ、連続して使用
出来る回数をプログラマブルなレジスタ4005aによ
り可変する事ができる。これは、バスの占有率を調整で
き、ある特定のマスタにより多くの時間バスを使用させ
る様に出来る事を意味する。
を中優先アービトレーションシーケンサ4003に接続
することにより、7つのマスタ間で公平なアービトレー
ションが実現される。また、バスマスタのうちのいくつ
かを、高優先アービトレーションシーケンサ4002に
割り付けることで、これらのマスタは他のマスタより、
より高い確率でバスの使用権を取得することが出来る。
さらに、いくつかのリクエストを低優先シーケンサ40
04に接続することで、これらのバスの使用率を低く抑
える事が出来る。さらに、バスの取得機会確率の調整に
加え、高優先シーケンサ4002に割り当てられたマス
タは、連続してバスを使用する事ができ、連続して使用
出来る回数をプログラマブルなレジスタ4005aによ
り可変する事ができる。これは、バスの占有率を調整で
き、ある特定のマスタにより多くの時間バスを使用させ
る様に出来る事を意味する。
【0207】(公平バスアービトレーション方式)中優
先シーケンサ4003を例にとり、公平アービトレーシ
ョンの実現方法を説明する。一つのシーケンサに接続さ
れたすべてのバスマスタは同じ優先順位にあり、バス権
を与えられる機会は公平である。バスがフリーの時は、
一番最初にリクエストを出したバスマスタがバス権を得
ることができる(ファーストカムファーストサーブ)。
また、複数のバスマスタが同時にリクエストを出した場
合は、あらかじめ決められた順序にしたがって順次バス
権が与えられる(同時リクエスト発行時ラウンドロビ
ン)。例えば、M1からM7までのすべてのバスマスタ
が同じクロックでリクエストを出した場合は、M1→M
2→M3→M4→M5→M6→M7といった順序でバス
権が与えられる。M7のトランザクションの終了時に再
びすべてのバスマスタがリクエストを出している場合
は、M1→M2→M3→M4→M5→M6→M7→M1
→M2というように、同様の順序でバス権を与えてい
く。一部のバスマスタがリクエストを出している場合
は、M7からM1へラウンドラップするとして、最後に
バスを使用したマスタにもっとも近い大きい番号を持っ
たマスタへグラントを与える。
先シーケンサ4003を例にとり、公平アービトレーシ
ョンの実現方法を説明する。一つのシーケンサに接続さ
れたすべてのバスマスタは同じ優先順位にあり、バス権
を与えられる機会は公平である。バスがフリーの時は、
一番最初にリクエストを出したバスマスタがバス権を得
ることができる(ファーストカムファーストサーブ)。
また、複数のバスマスタが同時にリクエストを出した場
合は、あらかじめ決められた順序にしたがって順次バス
権が与えられる(同時リクエスト発行時ラウンドロビ
ン)。例えば、M1からM7までのすべてのバスマスタ
が同じクロックでリクエストを出した場合は、M1→M
2→M3→M4→M5→M6→M7といった順序でバス
権が与えられる。M7のトランザクションの終了時に再
びすべてのバスマスタがリクエストを出している場合
は、M1→M2→M3→M4→M5→M6→M7→M1
→M2というように、同様の順序でバス権を与えてい
く。一部のバスマスタがリクエストを出している場合
は、M7からM1へラウンドラップするとして、最後に
バスを使用したマスタにもっとも近い大きい番号を持っ
たマスタへグラントを与える。
【0208】(優先アービトレーション)Bバスインタ
ーフェースは、高優先、中優先、低優先の3つのアービ
トレーションシーケンサが存在する。優先順位をつけた
アービトレーションは、複数のバスリクエストを選択的
に、高優先、低優先、のアービタに割り振ることにより
実現される。
ーフェースは、高優先、中優先、低優先の3つのアービ
トレーションシーケンサが存在する。優先順位をつけた
アービトレーションは、複数のバスリクエストを選択的
に、高優先、低優先、のアービタに割り振ることにより
実現される。
【0209】たとえば、ひとつのマスタを高優先に割り
当て、残りを中優先に割り当てることにより、ひとつの
バスマスタが他のバスマスタよりも高い優先権を持つ優
先バスマスタになり、他のバスマスタに比べ優先的にバ
ス権が与えられる。同じ優先権のアービトレーションシ
ーケンサに割り当てられたバスマスタの優先順位はすべ
て同じである。
当て、残りを中優先に割り当てることにより、ひとつの
バスマスタが他のバスマスタよりも高い優先権を持つ優
先バスマスタになり、他のバスマスタに比べ優先的にバ
ス権が与えられる。同じ優先権のアービトレーションシ
ーケンサに割り当てられたバスマスタの優先順位はすべ
て同じである。
【0210】複数のバスマスタがリクエストを出してお
り、また優先バスマスタが連続してリクエストを行う場
合、優先バスマスタと他のバスマスタは交互にバス権を
得る。M3が優先マスタでM1,M2,M3,M4がリ
クエストを出し続けた場合M3→M1→M3→M2→M
3→M4→M3→M1の順でバス使用権を与える。
り、また優先バスマスタが連続してリクエストを行う場
合、優先バスマスタと他のバスマスタは交互にバス権を
得る。M3が優先マスタでM1,M2,M3,M4がリ
クエストを出し続けた場合M3→M1→M3→M2→M
3→M4→M3→M1の順でバス使用権を与える。
【0211】また、高優先バスマスタは、アービタ内の
プログラマブルなレジスタにあらかじめ設定された回数
だけ連続したバス権を得ることができる。連続したバス
を使用出来る回数は最大で4回である。
プログラマブルなレジスタにあらかじめ設定された回数
だけ連続したバス権を得ることができる。連続したバス
を使用出来る回数は最大で4回である。
【0212】優先バスマスタ以外のバスマスタから他の
バスマスタにバス権が移ると、そのバスマスタは、他に
リクエストを出しているすべてのバスマスタにバス権を
与えた後でないと再びバス権を得ることができない。ひ
とつのバスマスタが連続してリクエストを行う場合、他
にリクエストを行っているバスマスタがいなければ、連
続してバス権を得ることができるが、他のバスマスタが
リクエストを行っていれば、そのバスマスタはあらかじ
め設定された回数だけ連続してバス権を得ることができ
る。一度バス権が他のバスマスタに移ると、他にリクエ
ストを出しているすべてのバスマスタにバス権を与えた
後でないと再びバス権を得ることができない。
バスマスタにバス権が移ると、そのバスマスタは、他に
リクエストを出しているすべてのバスマスタにバス権を
与えた後でないと再びバス権を得ることができない。ひ
とつのバスマスタが連続してリクエストを行う場合、他
にリクエストを行っているバスマスタがいなければ、連
続してバス権を得ることができるが、他のバスマスタが
リクエストを行っていれば、そのバスマスタはあらかじ
め設定された回数だけ連続してバス権を得ることができ
る。一度バス権が他のバスマスタに移ると、他にリクエ
ストを出しているすべてのバスマスタにバス権を与えた
後でないと再びバス権を得ることができない。
【0213】低優先アービトレーションシーケンサ40
04には最大3本のリクエストを割り当てる事が出来
る。低優先シーケンサ4004に割り当てられたマスタ
へは、中優先、高優先シーケンサに割り当てられた、す
べてのマスタのリクエストがなくならないと、バスの使
用権が与えられない。このシーケンサへのバスマスタの
割り当ては十分な注意を持って行われなければならな
い。
04には最大3本のリクエストを割り当てる事が出来
る。低優先シーケンサ4004に割り当てられたマスタ
へは、中優先、高優先シーケンサに割り当てられた、す
べてのマスタのリクエストがなくならないと、バスの使
用権が与えられない。このシーケンサへのバスマスタの
割り当ては十分な注意を持って行われなければならな
い。
【0214】(優先バスマスタの切り替え)優先バスマ
スタの切り替えを行なうには、アービタ内のレジスタを
書き換えればよい。優先バスマスタを選択するレジスタ
が書き換えられると、その時に実行中のトランザクショ
ンの終了を待って、優先バスマスタが切り替えられる。
アービタのステートはアイドル状態にもどり、その時点
でリクエストを出していたバスマスタは、その時同時に
リクエストを出したものとして、あらためてアービトレ
ーションが行われる。
スタの切り替えを行なうには、アービタ内のレジスタを
書き換えればよい。優先バスマスタを選択するレジスタ
が書き換えられると、その時に実行中のトランザクショ
ンの終了を待って、優先バスマスタが切り替えられる。
アービタのステートはアイドル状態にもどり、その時点
でリクエストを出していたバスマスタは、その時同時に
リクエストを出したものとして、あらためてアービトレ
ーションが行われる。
【0215】切り替えには十分注意を払う必要がある。
優先させるべきバスマスタのDMAが終了しないうち
に、異なったバスマスタに優先バスマスタを切り替えて
しまうと、最初の優先バスマスタのDMAの優先度が下
がってしまう。もしも最初の優先バスマスタの優先度を
下げたくないのであれば、DMAが終了したのを確認し
てから優先バスマスタの切り替えを行なう必要がある。
優先させるべきバスマスタのDMAが終了しないうち
に、異なったバスマスタに優先バスマスタを切り替えて
しまうと、最初の優先バスマスタのDMAの優先度が下
がってしまう。もしも最初の優先バスマスタの優先度を
下げたくないのであれば、DMAが終了したのを確認し
てから優先バスマスタの切り替えを行なう必要がある。
【0216】優先バスマスタ切り替えを、システムブー
ト時のみでなく、システム稼働中も動的に行なう必要の
あるソフトウェアでは、優先バスマスタの切り替えは、
いったんBバス上に新たなDMAリクエストが発生しな
いよう、すべてのバスマスタ及びDMAコントローラに
対する設定を中止し、その後、Bバスアービタ407内
のレジスタに適切な値をセットし、さらに、Bバスアー
ビタ内のステータスレジスタをチェックし、バスマスタ
の優先権が切り替わったのを確認した上で新たなBバス
上へのアクセス及びDMAの起動を行うべきである。
ト時のみでなく、システム稼働中も動的に行なう必要の
あるソフトウェアでは、優先バスマスタの切り替えは、
いったんBバス上に新たなDMAリクエストが発生しな
いよう、すべてのバスマスタ及びDMAコントローラに
対する設定を中止し、その後、Bバスアービタ407内
のレジスタに適切な値をセットし、さらに、Bバスアー
ビタ内のステータスレジスタをチェックし、バスマスタ
の優先権が切り替わったのを確認した上で新たなBバス
上へのアクセス及びDMAの起動を行うべきである。
【0217】優先バスマスタの動的切り替えは、オペレ
ーティングシステムの実時間保証、タスクの優先順位の
設定を変化もしくは、違反させてしまう可能性があり、
十分な考慮の上行われなければならない。
ーティングシステムの実時間保証、タスクの優先順位の
設定を変化もしくは、違反させてしまう可能性があり、
十分な考慮の上行われなければならない。
【0218】(アクセス順序制御機構)Bバスアービタ
407はアクセス順序制御機構を含む。アクセス順序制
御機構は、同期ユニット4001と、Bバスアービタ4
07,Gバスアービタ406内に組み込まれたバス使用
権発行抑制機構によって実現される。Bバスアービタ4
07内に組み込まれたバス使用権発行抑制機構は、Gバ
スアービタのそれと同様に動作する。つまり、stop
Pci信号が入力された場合は、Pciバスマスタから
のバスリクエストが発行され、アービトレーションの結
果、このマスタにバスの使用権を与えることが可能な状
態でも、バスの使用権発行は行わず、他のマスタへバス
使用権をあたえる。具体的には、stopPci信号が
入力された場合は、直ちにbPciReq Lをマスク
することにこれを行う。
407はアクセス順序制御機構を含む。アクセス順序制
御機構は、同期ユニット4001と、Bバスアービタ4
07,Gバスアービタ406内に組み込まれたバス使用
権発行抑制機構によって実現される。Bバスアービタ4
07内に組み込まれたバス使用権発行抑制機構は、Gバ
スアービタのそれと同様に動作する。つまり、stop
Pci信号が入力された場合は、Pciバスマスタから
のバスリクエストが発行され、アービトレーションの結
果、このマスタにバスの使用権を与えることが可能な状
態でも、バスの使用権発行は行わず、他のマスタへバス
使用権をあたえる。具体的には、stopPci信号が
入力された場合は、直ちにbPciReq Lをマスク
することにこれを行う。
【0219】LANコントローラ414からのバスリク
エストおよび、ストップ信号の場合もまったく同様に動
作する。図41に同期ユニット4001のブロック図を
示す。同期ユニット内には複数のDMAマスタ間すべて
の組み合わせに関して、それぞれコンペアユニット41
01〜4103が接続される、DoEngineでは、
Gbus上のDMAマスタはスキャナコントローラ/プ
リンタコントローラのみ存在する。Bバス上には、DM
APCIユニット、LANユニットの二つが存在する。
SBB内のBバスインターフェースはBバス上のバスマ
スタであるが、メモリには直接アクセスしないので、同
期ユニット4001にはIDと転送先アドレスを出力し
ない。
エストおよび、ストップ信号の場合もまったく同様に動
作する。図41に同期ユニット4001のブロック図を
示す。同期ユニット内には複数のDMAマスタ間すべて
の組み合わせに関して、それぞれコンペアユニット41
01〜4103が接続される、DoEngineでは、
Gbus上のDMAマスタはスキャナコントローラ/プ
リンタコントローラのみ存在する。Bバス上には、DM
APCIユニット、LANユニットの二つが存在する。
SBB内のBバスインターフェースはBバス上のバスマ
スタであるが、メモリには直接アクセスしないので、同
期ユニット4001にはIDと転送先アドレスを出力し
ない。
【0220】図42に同期ユニット内の一つコンペアユ
ニット(ComparationUnit 1)を以下
に示す。他のコンペアユニットも同様の構成を有する。
ニット(ComparationUnit 1)を以下
に示す。他のコンペアユニットも同様の構成を有する。
【0221】PCIインターフェース416に付属する
DMAブロックもしくは、スキャナコントローラ/プリ
ンタコントローラから、同期ユニット4001に対し、
DMAライトがプログラミングされた時点で、転送先の
アドレスとそのDMAブロック固有のリクエスト信号が
通知される。
DMAブロックもしくは、スキャナコントローラ/プリ
ンタコントローラから、同期ユニット4001に対し、
DMAライトがプログラミングされた時点で、転送先の
アドレスとそのDMAブロック固有のリクエスト信号が
通知される。
【0222】各コンペアユニットは、各DMAブロック
からリクエストが出力された時点で、アドレスを内部に
持つタイマによる現在時刻とともに記憶する、次に他の
DMAブロックから、DMAライトに関するアドレスと
リクエストが入力された時点で、コンペアユニットは両
アドレスを比較する。一致した場合にはさらに、それぞ
れのレジスタに格納された時間を比較し、時間的に後か
らDMAライトの要求を出してきたDMAブロックが接
続されたバスのバスアービタに対し、このマスタに対す
るバス使用強化を与えないようにする。これは、sto
p(ID)という信号により各バスのバスアービタに通
知される。
からリクエストが出力された時点で、アドレスを内部に
持つタイマによる現在時刻とともに記憶する、次に他の
DMAブロックから、DMAライトに関するアドレスと
リクエストが入力された時点で、コンペアユニットは両
アドレスを比較する。一致した場合にはさらに、それぞ
れのレジスタに格納された時間を比較し、時間的に後か
らDMAライトの要求を出してきたDMAブロックが接
続されたバスのバスアービタに対し、このマスタに対す
るバス使用強化を与えないようにする。これは、sto
p(ID)という信号により各バスのバスアービタに通
知される。
【0223】各バスアービタはstop(ID)信号に
より通知されたマスタに対しては、アービトレーション
によるバス使用権の割り当てを行わない。
より通知されたマスタに対しては、アービトレーション
によるバス使用権の割り当てを行わない。
【0224】時間が経過し、先にアクセス要求を行った
バスマスタにより当該メモリアドレスへのDMAライト
が終了すると、先のマスタは、同期ユニットに対するリ
クエストを取り下げる、同期ユニットは、2番目にDM
Aライトの要求を出した、DMAブロックの接続するバ
スのバスアービタに対し、このDMAブロックへの、バ
ス使用権許可禁止信号の発行をとりさげる。そして、後
からDMAライトを行うべきマスタのDMAライトが行
われる。
バスマスタにより当該メモリアドレスへのDMAライト
が終了すると、先のマスタは、同期ユニットに対するリ
クエストを取り下げる、同期ユニットは、2番目にDM
Aライトの要求を出した、DMAブロックの接続するバ
スのバスアービタに対し、このDMAブロックへの、バ
ス使用権許可禁止信号の発行をとりさげる。そして、後
からDMAライトを行うべきマスタのDMAライトが行
われる。
【0225】双方のDMAライトが終了し、双方のリク
エストが取り下げられると、タイマーがリセットされ
る。タイマーのカウントアップは再度どちらかのマスタ
からのリクエストが出力された時点で再度行われる。
エストが取り下げられると、タイマーがリセットされ
る。タイマーのカウントアップは再度どちらかのマスタ
からのリクエストが出力された時点で再度行われる。
【0226】2.9.スキャナコントローラ/プリンタ
コントローラ 図43は、スキャナコントローラ/プリンタコントロー
ラ及びその周辺の回路のブロック図である。スキャナ/
プリンタコントローラは、スキャナおよびプリンタを、
GバスまたはBバスにインターフェースするブロックで
ある。以下の3つの機能ブロックから構成される。 1.スキャナコントローラ スキャナとビデオI/Fで接続され、動作制御およびデ
ータ転送制御を行う。Gバス/BバスI/Fユニット4
301AとはIF−バスで接続され、データ転送および
レジスタのリード・ライトが行われる。データ転送はマ
スタ機能を備える。 2.プリンタコントローラ プリンタとビデオI/Fで接続され、動作制御およびデ
ータ転送制御を行う。Gバス/BバスI/Fユニット4
301BとはI/F−バスで接続され、データ転送およ
びレジスタのリード・ライトが行われる。データ転送は
マスタとスレーブの両機能を備える。 3.Gバス/BバスI/Fユニット スキャナコントローラ4302およびプリンタコントロ
ーラ4303をGバスまたはBバスに接続するためのユ
ニットである。スキャナコントローラ4302とプリン
タコントローラ4302にそれぞれ独立して接続され、
GバスとBバスに接続する。 4.CPバス スキャナとプリンタの、画像データおよび水平、垂直同
期のための同期信号を直結するためのバスである。
コントローラ 図43は、スキャナコントローラ/プリンタコントロー
ラ及びその周辺の回路のブロック図である。スキャナ/
プリンタコントローラは、スキャナおよびプリンタを、
GバスまたはBバスにインターフェースするブロックで
ある。以下の3つの機能ブロックから構成される。 1.スキャナコントローラ スキャナとビデオI/Fで接続され、動作制御およびデ
ータ転送制御を行う。Gバス/BバスI/Fユニット4
301AとはIF−バスで接続され、データ転送および
レジスタのリード・ライトが行われる。データ転送はマ
スタ機能を備える。 2.プリンタコントローラ プリンタとビデオI/Fで接続され、動作制御およびデ
ータ転送制御を行う。Gバス/BバスI/Fユニット4
301BとはI/F−バスで接続され、データ転送およ
びレジスタのリード・ライトが行われる。データ転送は
マスタとスレーブの両機能を備える。 3.Gバス/BバスI/Fユニット スキャナコントローラ4302およびプリンタコントロ
ーラ4303をGバスまたはBバスに接続するためのユ
ニットである。スキャナコントローラ4302とプリン
タコントローラ4302にそれぞれ独立して接続され、
GバスとBバスに接続する。 4.CPバス スキャナとプリンタの、画像データおよび水平、垂直同
期のための同期信号を直結するためのバスである。
【0227】2.9.1.スキャナコントローラ 図44にスキャナコントローラ4302のブロック図を
示す。スキャナコントローラ4302は、ビデオI/F
によってスキャナと接続し、Gバス/BバスI/Fユニ
ット(scc GBI)4301Aにインターフェース
するブロックである。Gバス/BバスI/Fユニット
(scc GBI)4301Aには、sccI/F−バ
スを介してインターフェースされる。大別して以下のブ
ロックから構成される。 1.スキャナデバイスI/F4401 スキャナのビデオI/Fと信号の入出力をおこなう入出
力ポート。 2.スキャナビデオクロックユニット4402 スキャナのビデオクロックで動作するユニット。 3.スキャナ画像データFIFOコントローラ4403 画像データ転送用のFIFOを制御する。 4.スキャナコントローラコントロールレジスタユニッ
ト4404 スキャナコントローラ全体を制御するためのレジスタ。 5.IRQコントローラ4406 スキャナコントローラ(Scc)内部で発生する割込み
信号を制御する。 6.メモリフィルモードコントローラ4405 レジスタに設定された固定データをメモリに対して転送
するモードをコントロールする。スキャナからの画像デ
ータと選択的に切り替えをおこなう。 7.FIFO(FIFO SCC)4407 スキャナからのビデオデータを出力する際に、出力先の
デバイスがビデオデータと非同期の可能性がある場合に
用いられるFIFOである。
示す。スキャナコントローラ4302は、ビデオI/F
によってスキャナと接続し、Gバス/BバスI/Fユニ
ット(scc GBI)4301Aにインターフェース
するブロックである。Gバス/BバスI/Fユニット
(scc GBI)4301Aには、sccI/F−バ
スを介してインターフェースされる。大別して以下のブ
ロックから構成される。 1.スキャナデバイスI/F4401 スキャナのビデオI/Fと信号の入出力をおこなう入出
力ポート。 2.スキャナビデオクロックユニット4402 スキャナのビデオクロックで動作するユニット。 3.スキャナ画像データFIFOコントローラ4403 画像データ転送用のFIFOを制御する。 4.スキャナコントローラコントロールレジスタユニッ
ト4404 スキャナコントローラ全体を制御するためのレジスタ。 5.IRQコントローラ4406 スキャナコントローラ(Scc)内部で発生する割込み
信号を制御する。 6.メモリフィルモードコントローラ4405 レジスタに設定された固定データをメモリに対して転送
するモードをコントロールする。スキャナからの画像デ
ータと選択的に切り替えをおこなう。 7.FIFO(FIFO SCC)4407 スキャナからのビデオデータを出力する際に、出力先の
デバイスがビデオデータと非同期の可能性がある場合に
用いられるFIFOである。
【0228】なお、スキャナから入力する画像データの
種類は、 1.RGB各8ビットのカラー多値データ 2.8ビット白黒多値データ 3.1ビット白黒2値データ などが含まれる。
種類は、 1.RGB各8ビットのカラー多値データ 2.8ビット白黒多値データ 3.1ビット白黒2値データ などが含まれる。
【0229】次に、スキャナコントローラを構成する各
ブロックの概要を説明する。
ブロックの概要を説明する。
【0230】[1.スキャナデバイスI/Fの概要]図
45に、スキャナデバイスI/F4401のブロック図
を示す。スキャナデバイスI/Fは、スキャナユニット
のスキャナビデオI/F4501との間で信号を入出力
する入出力ポートである。スキャナビデオI/Fからの
入力ビデオ信号SVideoR[7:0],SVide
oG[7:0],SVideoB[7:0]の各信号
を、スキャナコントローラコントロールレジスタ440
4からのVDInvt信号に応じて、レベル反転するか
どうかを切り替えることが可能である。
45に、スキャナデバイスI/F4401のブロック図
を示す。スキャナデバイスI/Fは、スキャナユニット
のスキャナビデオI/F4501との間で信号を入出力
する入出力ポートである。スキャナビデオI/Fからの
入力ビデオ信号SVideoR[7:0],SVide
oG[7:0],SVideoB[7:0]の各信号
を、スキャナコントローラコントロールレジスタ440
4からのVDInvt信号に応じて、レベル反転するか
どうかを切り替えることが可能である。
【0231】[2.スキャナビデオクロックユニットの
概要]図46に、スキャナビデオクロックユニット44
02のブロック図を示す。スキャナビデオクロックユニ
ット4402は、スキャナからのビデオクロックで動作
するブロックである。以下のブロックから構成される。 1.スキャナビデオデータマスク4601 スキャナからの画像データに対してデータマスクを行う
ブロックである。マスクされたデータはレジスタに設定
された値のデータとなる。 2.スキャナビデオ同期コントロールユニット4602 スキャナからのビデオクロック,VSYNC,HSYN
Cの信号から、画像データを取り込むタイミング信号等
を生成するブロックである。画像データの水平方向、垂
直方向のデータ数とライン数を管理する。 3.ビデオデータ幅コンバータ スキャナから入力した画像データを64ビット幅のデー
タにパッキングして変換するブロックである。
概要]図46に、スキャナビデオクロックユニット44
02のブロック図を示す。スキャナビデオクロックユニ
ット4402は、スキャナからのビデオクロックで動作
するブロックである。以下のブロックから構成される。 1.スキャナビデオデータマスク4601 スキャナからの画像データに対してデータマスクを行う
ブロックである。マスクされたデータはレジスタに設定
された値のデータとなる。 2.スキャナビデオ同期コントロールユニット4602 スキャナからのビデオクロック,VSYNC,HSYN
Cの信号から、画像データを取り込むタイミング信号等
を生成するブロックである。画像データの水平方向、垂
直方向のデータ数とライン数を管理する。 3.ビデオデータ幅コンバータ スキャナから入力した画像データを64ビット幅のデー
タにパッキングして変換するブロックである。
【0232】(スキャナビデオデータマスクの概要)図
47にスキャナビデオデータマスク4601のブロック
図を示す。スキャナビデオデータマスク4601は、ス
キャナから入力する画像データに対してピクセル単位で
マスクを行う。マスクされた画像データはレジスタによ
り設定された値となる(RDMask[7:0],GD
Mask[7:0],BDMask[7:0])。
47にスキャナビデオデータマスク4601のブロック
図を示す。スキャナビデオデータマスク4601は、ス
キャナから入力する画像データに対してピクセル単位で
マスクを行う。マスクされた画像データはレジスタによ
り設定された値となる(RDMask[7:0],GD
Mask[7:0],BDMask[7:0])。
【0233】(スキャナビデオ同期コントロールユニッ
トの概要)図48にスキャナビデオデータマスク460
2のブロック図を示す。スキャナビデオ同期コントロー
ルユニット4602は、スキャナから入力される画像デ
ータの垂直同期信号(SVSYNC)、水平同期信号
(SHSYNC)、画像データ同期クロック(GTSV
CLK)により、取り込む画像データのイネーブル信号
(IVE)を生成する。また、画像データの主走査方向
の遅延、取り込みピクセル数、副走査方向の遅延、取り
込みライン数を管理する。さらに、設定量の画像データ
取り込みを終了したタイミングでの状態信号(PEND
P)を生成する。
トの概要)図48にスキャナビデオデータマスク460
2のブロック図を示す。スキャナビデオ同期コントロー
ルユニット4602は、スキャナから入力される画像デ
ータの垂直同期信号(SVSYNC)、水平同期信号
(SHSYNC)、画像データ同期クロック(GTSV
CLK)により、取り込む画像データのイネーブル信号
(IVE)を生成する。また、画像データの主走査方向
の遅延、取り込みピクセル数、副走査方向の遅延、取り
込みライン数を管理する。さらに、設定量の画像データ
取り込みを終了したタイミングでの状態信号(PEND
P)を生成する。
【0234】ラインカウンタ4801は副走査方向の遅
延と取り込みライン数を管理して、画像読み取り有効ラ
インの垂直同期信号(EH)を生成する。ピクセルカウ
ンタ4802は主走査方向の画像取り込み遅延と取り込
み画素数を管理する。ページカウンタ4803は入力す
る画像データをページ単位で管理する。設定されたペー
ジ数分の画像データ入力を終了すると、終了信号(AL
LPEND)を生成する。
延と取り込みライン数を管理して、画像読み取り有効ラ
インの垂直同期信号(EH)を生成する。ピクセルカウ
ンタ4802は主走査方向の画像取り込み遅延と取り込
み画素数を管理する。ページカウンタ4803は入力す
る画像データをページ単位で管理する。設定されたペー
ジ数分の画像データ入力を終了すると、終了信号(AL
LPEND)を生成する。
【0235】(スキャナビデオデータ幅コンバータ46
03の概要)図49にスキャナビデオデータ幅コンバー
タ4603のブロック図を示す。これは、スキャナから
入力する画像データを64ビット幅にならべるユニット
である。ならべたデータはFIFOに64ビットデータ
で書き込まれる。入力できる画像データのタイプは、R
GB各8ビットのカラー画像データ、多値8ビットの白
黒画像データ、2値1ビットの白黒画像データの3種類
である。スキャナコントローラコントロールレジスタ4
404においてモード設定される。モードとしては、R
GBカラー画像データをメモリ内に24ビットでならべ
るモードと、1バイト付加して32ビットでならべるモ
ードとを備える。3種類の画像データは以下の信号ライ
ンから入力される。 1.RGB各8ビットのカラー画像データ … R
[7:0],G[7:0],B[7:0] 2.多値8ビットの白黒画像データ … R[7:
0] 3.2値1ビットの白黒画像データ … R7 64ビットデータへのならべかたとメモリ上でのならび
かたは以下のとおりである。
03の概要)図49にスキャナビデオデータ幅コンバー
タ4603のブロック図を示す。これは、スキャナから
入力する画像データを64ビット幅にならべるユニット
である。ならべたデータはFIFOに64ビットデータ
で書き込まれる。入力できる画像データのタイプは、R
GB各8ビットのカラー画像データ、多値8ビットの白
黒画像データ、2値1ビットの白黒画像データの3種類
である。スキャナコントローラコントロールレジスタ4
404においてモード設定される。モードとしては、R
GBカラー画像データをメモリ内に24ビットでならべ
るモードと、1バイト付加して32ビットでならべるモ
ードとを備える。3種類の画像データは以下の信号ライ
ンから入力される。 1.RGB各8ビットのカラー画像データ … R
[7:0],G[7:0],B[7:0] 2.多値8ビットの白黒画像データ … R[7:
0] 3.2値1ビットの白黒画像データ … R7 64ビットデータへのならべかたとメモリ上でのならび
かたは以下のとおりである。
【0236】1.RGB各8ビットのカラー画像データ
(24ビット格納モード) 第1ピクセルR8ビット→ビット63−56 第1ピクセルG8ビット→ビット55−48 第1ピクセルB8ビット→ビット47−40 第2ピクセルR8ビット→ビット39−32 第2ピクセルG8ビット→ビット31−24 第2ピクセルB8ビット→ビット23−16 第3ピクセルR8ビット→ビット15−8 第3ピクセルG8ビット→ビット7−0 メモリ上でのならびは、図50の通りである。
(24ビット格納モード) 第1ピクセルR8ビット→ビット63−56 第1ピクセルG8ビット→ビット55−48 第1ピクセルB8ビット→ビット47−40 第2ピクセルR8ビット→ビット39−32 第2ピクセルG8ビット→ビット31−24 第2ピクセルB8ビット→ビット23−16 第3ピクセルR8ビット→ビット15−8 第3ピクセルG8ビット→ビット7−0 メモリ上でのならびは、図50の通りである。
【0237】2.RGB各8ビットのカラー画像データ
(32ビット格納モード) 第1ピクセルR8ビット→ビット63−56 第1ピクセルG8ビット→ビット55−48 第1ピクセルB8ビット→ビット47−40 第2ピクセルR8ビット→ビット31−24 第2ピクセルG8ビット→ビット23−16 第2ピクセルB8ビット→ビット15−8 メモリ上でのならびは、図51の通りである。
(32ビット格納モード) 第1ピクセルR8ビット→ビット63−56 第1ピクセルG8ビット→ビット55−48 第1ピクセルB8ビット→ビット47−40 第2ピクセルR8ビット→ビット31−24 第2ピクセルG8ビット→ビット23−16 第2ピクセルB8ビット→ビット15−8 メモリ上でのならびは、図51の通りである。
【0238】3.多値8ビットの白黒画像データ 第1ピクセル8ビット→ビット63−56 第2ピクセル8ビット→ビット55−48 第3ピクセル8ビット→ビット47−40 第4ピクセル8ビット→ビット39−32 第5ピクセル8ビット→ビット31−24 第6ピクセル8ビット→ビット23−16 第7ピクセル8ビット→ビット15−8 第8ピクセル8ビット→ビット7−0 メモリ上でのならびは、図52の通りである。
【0239】4.2値1ビットの白黒画像データ 第1ピクセル1ビット→ビット63 第2ピクセル1ビット→ビット62 第3ピクセル1ビット→ビット61 第4ピクセル1ビット→ビット60 第61ピクセル1ビット→ビット3 第62ピクセル1ビット→ビット2 第63ピクセル1ビット→ビット1 第64ピクセル1ビット→ビット0 メモリ上でのならびは、図53の通りである。
【0240】次に、各パッキングユニットについて説明
する。
する。
【0241】図54は、BW8パッキングユニット49
01により、多値8ビットの白黒画像データを64ビッ
ト幅に変換する際のタイミング図である。スキャナから
の8ビット白黒画像データR[7:0]は、信号VEが
ハイレベルになると取り込まれ、1ピクセルずつ信号L
P0〜LP7に同期して64ビットラッチにラッチされ
る。8画素分揃うと、信号LP64に同期して、ラッチ
された8画素64ビットが信号BW8[63:0]とし
て出力される。
01により、多値8ビットの白黒画像データを64ビッ
ト幅に変換する際のタイミング図である。スキャナから
の8ビット白黒画像データR[7:0]は、信号VEが
ハイレベルになると取り込まれ、1ピクセルずつ信号L
P0〜LP7に同期して64ビットラッチにラッチされ
る。8画素分揃うと、信号LP64に同期して、ラッチ
された8画素64ビットが信号BW8[63:0]とし
て出力される。
【0242】図55は、シフトレジスタ4902により
2値白黒画像データを64ビット幅に変換する際の画像
データ入力のタイミング図である。スキャナからの2値
白黒画像データR7(SVIDEOR0)は、信号VE
がハイレベルになると取り込まれ、1ビットずつシフト
レジスタによりシフトされて、64ビット取り込まれる
と。信号SVLATCH64に同期して、信号BW1
[63:0]として出力される。
2値白黒画像データを64ビット幅に変換する際の画像
データ入力のタイミング図である。スキャナからの2値
白黒画像データR7(SVIDEOR0)は、信号VE
がハイレベルになると取り込まれ、1ビットずつシフト
レジスタによりシフトされて、64ビット取り込まれる
と。信号SVLATCH64に同期して、信号BW1
[63:0]として出力される。
【0243】図56は、RGBパッキングユニット49
03により、RGB各8ビット(全24ビット)の画像
データを64ビット幅に変換する際のタイミング図であ
る。また、図57は、RGBパッキングユニット490
3のブロック図である。図において、スキャナビデオデ
ータマスク4601から入力された画像データR[7:
0],G[7:0],B[7:0]は、24ビットデー
タラッチ5701A,Bに入力される。データラッチ
A,Bは、クロックCLKを2分の1に分周した、互い
に逆位相のラッチ信号LP0,LP1に同期してそれぞ
れ入力される24ビットデータをラッチする。データラ
ッチ5701A,Bにラッチされたデータは、48→3
2ビットデータセレクタ5702に入力信号RGBHT
[47:0]として入力され、2ビットの選択信号LP
[3:2]に応じて32ビット信号DATA[31:
0]として出力される。出力の仕方は、選択信号の値に
応じて3通りある。まず第1番目は、入力信号RGBH
T[47:16]を出力信号DATA[31:0]とす
る方法である。第2番目は、入力信号RGBHT[1
5:0」を出力信号DATA[31:16]とし、入力
信号RGBHT[47:32]を出力信号DATA[1
5:0]とする方法である。第3番目は、入力信号RG
BHT[31:0]を出力信号DATA[31:0]と
する方法である。
03により、RGB各8ビット(全24ビット)の画像
データを64ビット幅に変換する際のタイミング図であ
る。また、図57は、RGBパッキングユニット490
3のブロック図である。図において、スキャナビデオデ
ータマスク4601から入力された画像データR[7:
0],G[7:0],B[7:0]は、24ビットデー
タラッチ5701A,Bに入力される。データラッチ
A,Bは、クロックCLKを2分の1に分周した、互い
に逆位相のラッチ信号LP0,LP1に同期してそれぞ
れ入力される24ビットデータをラッチする。データラ
ッチ5701A,Bにラッチされたデータは、48→3
2ビットデータセレクタ5702に入力信号RGBHT
[47:0]として入力され、2ビットの選択信号LP
[3:2]に応じて32ビット信号DATA[31:
0]として出力される。出力の仕方は、選択信号の値に
応じて3通りある。まず第1番目は、入力信号RGBH
T[47:16]を出力信号DATA[31:0]とす
る方法である。第2番目は、入力信号RGBHT[1
5:0」を出力信号DATA[31:16]とし、入力
信号RGBHT[47:32]を出力信号DATA[1
5:0]とする方法である。第3番目は、入力信号RG
BHT[31:0]を出力信号DATA[31:0]と
する方法である。
【0244】データラッチ5701A,Bに、ラッチ信
号に同期させて交互に24ビット画像データをラッチ
し、上記3通りの選択の仕方を順に切り換えることで、
データセレクタ5702からの出力は、24ビット/ピ
クセルのデータを32ビットにまとめたデータとなる。
ただし、上記第3の方法でセレクタ5702のデータが
選択された後は、データセレクタに入力された2つのピ
クセル分のデータは両方とも更新されねばならない。そ
こで、図56に示されている通り、選択信号SELUL
[3:2]は1クロック分遅延される。
号に同期させて交互に24ビット画像データをラッチ
し、上記3通りの選択の仕方を順に切り換えることで、
データセレクタ5702からの出力は、24ビット/ピ
クセルのデータを32ビットにまとめたデータとなる。
ただし、上記第3の方法でセレクタ5702のデータが
選択された後は、データセレクタに入力された2つのピ
クセル分のデータは両方とも更新されねばならない。そ
こで、図56に示されている通り、選択信号SELUL
[3:2]は1クロック分遅延される。
【0245】このようにデータセレクタ5702で32
ビット幅に一旦変換されたデータは、データラッチ57
40A,Bに交互にラッチされ、データラッチ5704
Bの内容が更新されたタイミング、すなわちラッチ信号
SELUL1がハイレベルになるタイミングで、64ビ
ット幅に変換されたデータとして出力される。
ビット幅に一旦変換されたデータは、データラッチ57
40A,Bに交互にラッチされ、データラッチ5704
Bの内容が更新されたタイミング、すなわちラッチ信号
SELUL1がハイレベルになるタイミングで、64ビ
ット幅に変換されたデータとして出力される。
【0246】[3.スキャナ画像データ転送FIFOコ
ントローラ4403の概要]図58に、スキャナ画像デ
ータ転送FIFOコントローラ4403のブロック図を
示す。このブロックは、スキャナから入力された画像デ
ータをGバスもしくはBバスを介して転送するためのバ
ッファとしてのFIFO5801と、そのFIFO58
01をコントロールする回路から構成されている。FI
FOとしては、容量512バイト(64ビット×64)
のFIFOを備える。FIFOのデータ出力は、スキャ
ナFIFOライトリードアービタ5802が、FIFO
5801のエンプティフラグ(EF)を監視しながら制
御する。FIFOのデータ入力はスキャナビデオクロッ
クユニット4402からの要求信号(WREQ)により
おこなわれる。
ントローラ4403の概要]図58に、スキャナ画像デ
ータ転送FIFOコントローラ4403のブロック図を
示す。このブロックは、スキャナから入力された画像デ
ータをGバスもしくはBバスを介して転送するためのバ
ッファとしてのFIFO5801と、そのFIFO58
01をコントロールする回路から構成されている。FI
FOとしては、容量512バイト(64ビット×64)
のFIFOを備える。FIFOのデータ出力は、スキャ
ナFIFOライトリードアービタ5802が、FIFO
5801のエンプティフラグ(EF)を監視しながら制
御する。FIFOのデータ入力はスキャナビデオクロッ
クユニット4402からの要求信号(WREQ)により
おこなわれる。
【0247】[4.スキャナコントローラコントロール
レジスタ4404の概要]図59に、スキャナコントロ
ーラコントロールレジスタ4404のブロック図を示
す。このブロックは、スキャナコントローラ内部を制御
するレジスタを備えたブロックである。内部のレジスタ
は以下のとおりである。 1.スキャナ・コントローラ・パワー・マネージメント
・コントロールレジスタ 2.スキャナコントローラ・コントロールレジスタ 3.スキャナ・コントローラ・割り込み要因ステータス
レジスタ 4.スキャナ・コントローラ・割り込み要因マスクレジ
スタ 5.スキャナ副走査マスクライン数設定レジスタ 6.スキャナ主走査マスクピクセル数設定レジスタ 7.スキャナ副走査ライン数設定レジスタ 8.スキャナ副走査ライン数カウンタ読み出しレジスタ 9.スキャナ副走査ピクセル数設定レジスタ 10.スキャナ主走査ピクセル数カウンタ読み出しレジ
スタ 11.スキャン・ページ数設定レジスタ 12.スキャン・ページ数カウンタ読み出しレジスタ 13.スキャナ・デバイス・コントロール・レジスタ 14.スキャナ・デバイス・ステータス・レジスタ 15.スキャナ・ビデオ・マスクデータ・レジスタ 16.メモリ・フィル・データ・レジスタ [5.IRQコントローラ4406の概要]図60に、
IRQコントローラ4406のブロック図を示す。この
ブロックは、スキャナコントローラ内で発生する割り込
み信号を管理する。割り込み発生要因には次のようなも
のがある。 1.設定されたページ分の画像データを入力終了(AL
LEND) 2.1ページ分の画像データを入力終了(PageEn
d) 3.スキャナからのSPRDY信号の立ち上がり(fa
lse→true)(INSPRDY) 4.スキャナからのSPRDY信号の立ち下がり(tr
ue→false)(INSPRDY) 5.スキャナからのSVSYNC信号の立ち上がり(f
alse→true)(INSVSYNC) 6.スキャナからのSVSYNC信号の立ち下がり(t
rue→false)(INSVSYNC) 7.画像データFIFOのEMPTY信号の立ち上がり
(false→true)(EMPTY) 8.画像データFIFOのEMPTY信号の立ち下がり
(true→false)(EMPTY) 9.画像データFIFOのFULL信号の立ち上がり
(false→true)(FULL) 10.画像データFIFOのFULL信号の立ち下がり
(true→false)(FULL) 11.画像データFIFOにオーバーライトが発生(F
OW) 上記の割り込み要因に対応するフラグ情報(SCIRQ
[31:21])をスキャナコントローラコントロール
レジスタ4406に出力する。スキャナコントローラコ
ントロールレジスタ4406から、各割り込み要因に対
するマスクビット(SCIMask[31:21])と
クリア信号(SCICLRP[31:21])とが入力
される。各割り込み要因の論理和をintSccに出力
する。
レジスタ4404の概要]図59に、スキャナコントロ
ーラコントロールレジスタ4404のブロック図を示
す。このブロックは、スキャナコントローラ内部を制御
するレジスタを備えたブロックである。内部のレジスタ
は以下のとおりである。 1.スキャナ・コントローラ・パワー・マネージメント
・コントロールレジスタ 2.スキャナコントローラ・コントロールレジスタ 3.スキャナ・コントローラ・割り込み要因ステータス
レジスタ 4.スキャナ・コントローラ・割り込み要因マスクレジ
スタ 5.スキャナ副走査マスクライン数設定レジスタ 6.スキャナ主走査マスクピクセル数設定レジスタ 7.スキャナ副走査ライン数設定レジスタ 8.スキャナ副走査ライン数カウンタ読み出しレジスタ 9.スキャナ副走査ピクセル数設定レジスタ 10.スキャナ主走査ピクセル数カウンタ読み出しレジ
スタ 11.スキャン・ページ数設定レジスタ 12.スキャン・ページ数カウンタ読み出しレジスタ 13.スキャナ・デバイス・コントロール・レジスタ 14.スキャナ・デバイス・ステータス・レジスタ 15.スキャナ・ビデオ・マスクデータ・レジスタ 16.メモリ・フィル・データ・レジスタ [5.IRQコントローラ4406の概要]図60に、
IRQコントローラ4406のブロック図を示す。この
ブロックは、スキャナコントローラ内で発生する割り込
み信号を管理する。割り込み発生要因には次のようなも
のがある。 1.設定されたページ分の画像データを入力終了(AL
LEND) 2.1ページ分の画像データを入力終了(PageEn
d) 3.スキャナからのSPRDY信号の立ち上がり(fa
lse→true)(INSPRDY) 4.スキャナからのSPRDY信号の立ち下がり(tr
ue→false)(INSPRDY) 5.スキャナからのSVSYNC信号の立ち上がり(f
alse→true)(INSVSYNC) 6.スキャナからのSVSYNC信号の立ち下がり(t
rue→false)(INSVSYNC) 7.画像データFIFOのEMPTY信号の立ち上がり
(false→true)(EMPTY) 8.画像データFIFOのEMPTY信号の立ち下がり
(true→false)(EMPTY) 9.画像データFIFOのFULL信号の立ち上がり
(false→true)(FULL) 10.画像データFIFOのFULL信号の立ち下がり
(true→false)(FULL) 11.画像データFIFOにオーバーライトが発生(F
OW) 上記の割り込み要因に対応するフラグ情報(SCIRQ
[31:21])をスキャナコントローラコントロール
レジスタ4406に出力する。スキャナコントローラコ
ントロールレジスタ4406から、各割り込み要因に対
するマスクビット(SCIMask[31:21])と
クリア信号(SCICLRP[31:21])とが入力
される。各割り込み要因の論理和をintSccに出力
する。
【0248】[6.メモリフィルモードコントローラ4
405の概要]図61にメモリフィルモードコントロー
ラ4405のブロック図を示す。このブロックは、レジ
スタに設定された固定データをGBIを介してメモリに
転送するモードを制御する。このモード設定はMemf
ill信号によりおこなわれる。固定データの転送モー
ド指定がなされると、sccGBIに出力されるデータ
は、レジスタに設定されたデータ(MFData[3
1:0])が選択される。また、sccGBIにデータ
転送するタイミング信号(sccWrite)はこのブ
ロック内で生成される。
405の概要]図61にメモリフィルモードコントロー
ラ4405のブロック図を示す。このブロックは、レジ
スタに設定された固定データをGBIを介してメモリに
転送するモードを制御する。このモード設定はMemf
ill信号によりおこなわれる。固定データの転送モー
ド指定がなされると、sccGBIに出力されるデータ
は、レジスタに設定されたデータ(MFData[3
1:0])が選択される。また、sccGBIにデータ
転送するタイミング信号(sccWrite)はこのブ
ロック内で生成される。
【0249】(sccIF−バス)sccIF−バス
は、Gバス/BバスI/Fユニット4301Aとスキャ
ナコントローラ4302とを接続するローカルなバスで
ある。このバスに含まれる信号には次のようなものであ
る。なお、信号の入出力は、スキャナコントローラから
Gバス/BバスI/Fユニット(GBI)に出力する信
号をOUT,Gバス/BバスI/Fユニット(GBI)
からスキャナコントローラに入力する信号をINで示
す。なお、IF−バスはスキャナコントローラとプリン
タコントローラに対して同一規定とするため、スキャナ
コントローラのサポートしない機能のための信号も記述
する。基本クロックはBバスのBclkを使用する。 ・sccRst0 L :IN この信号により、スキャナコントローラ内部のFIFO
を初期状態に戻す。 ・sccDataOut[63:0] :OUT スキャナコントローラからGバス/BバスI/IFユニ
ット(GBI)に出力される64ビットのデータバスで
ある。スキャナコントローラがデータ転送動作する場合
に画像データが転送される。 ・sccWrite :OUT スキャナコントローラがデータ転送動作するときの、G
バス/BバスI/Fユニット(GBI)へのライト信号
である。Gバス/BバスI/Fユニットは、sccWr
ite信号がアサートされているBclkの立ち上がり
で、sccDataOut[63:0]を取り込む。s
ccWrite信号をアサートし続けることで、1クロ
ック単位でデータがライトできる。 ・sccWriteEnable :IN スキャナコントローラがデータ転送動作時における、G
バス/BバスI/Fユニット(GBI)へのライト信号
である。Gバス/BバスI/Fユニット(GBI)から
出力される。Bclkの立ち上がりで、sccWrit
eEnable信号がアサートされていれば、次のクロ
ックの立ち上がりで、ライト可能であることを示す。s
ccWrite信号のアサートは、sccWriteE
nable信号を確認して行う。 ・sccRegAddr[31:2] :IN Gバス/BバスI/Fユニット(GBI)からスキャナ
コントローラ内部のレジスタにアクセスするさいのレジ
スタアドレスバスである。sccRegStart L
アサートと同時に有効となり、スキャナコントローラ内
部レジスタへのアクセスであれば、sccRegAck
L信号で応答するまで有効である。 ・sccRegbyteEn[3:0] :IN Gバス/BバスI/Fユニット(GBI)から出力され
るsccRegDataIn/[31:0]のバイトイ
ネーブル信号である。sccRegStart Lアサー
トと同時に有効となり、sccRegAck L信号で
応答するまで有効である。この信号で示された有効なバ
イトのみレジスタへの書き込みを行う。内部レジスタか
らの読み出し時は、この信号は無視し、全バイト出力す
る。この信号の各ビットとsccRegDataIn
[31:0]のバイトとの対応は次の通りである。 sccRegbyteEn: 3 2 1 0 sccRegDataIn: [31:24] [25:16] [15:8] [7:0] ・sccRegStart L :IN Gバス/BバスI/Fユニット(GBI)からスキャナ
コントローラ内部のレジスタにアクセスする際のアクセ
ス要求信号である。“Low”でレジスタのアクセス要
求を示す。sccRegAddr[31:2]信号、s
ccRegRdNotWr信号とともにアサートされ、
Bclk1クロック分だけアサートされる。スキャナコ
ントローラが、このアクセスに対するsccRegAc
k Lを返さない限り、次のアクセスのアサートはされ
ない。 ・sccRegDataOut[31:0] :OUT Gバス/BバスI/Fユニット(GBI)からスキャナ
コントローラ内部のレジスタをリードアクセスする場合
の32ビットデータバスである。sccRegAck
L信号がアサートされているときに有効となる。 ・sccRegDataIn[31:0] :IN Gバス/BバスI/Fユニット(GBI)からスキャナ
コントローラ内部のレジスタをライトアクセスする場合
の32ビットデータバスである。sccRegStar
t Lアサートと同時に有効となり、スキャナコントロ
ーラ内部レジスタへのアクセスであれば、sccAck
L信号で応答するまで有効である。 ・sccRegRdNotWr :IN Gバス/BバスI/Fユニット(GBI)からスキャナ
コントローラ内部のレジスタにアクセスするさいのアク
セス方向(リードまたはライト)を示す信号である。”
High”でスキャナコントローラ内部レジスタの内容
がsccRegDataOut[31:0]に読みださ
れ、”Low”でsccRegDataIn[31:
0]の内容がスキャナコントローラ内部レジスタに書き
込まれる。sccRegStart Lアサートと同時
に有効となり、スキャナコントローラ内部レジスタへの
アクセスであれば、sccRegAck L信号で応答
するまで有効である。 ・sccRegAck L :OUT スキャナコントローラ内部のレジスタアクセスが完了し
たことを示す信号である。スキャナコントローラからG
バス/BバスI/Fユニット(GBI)へ出力される。
Bclk1クロック分だけアサートされる。sccRe
gReq L信号がアサートされた次のクロックからセ
ンスされる。
は、Gバス/BバスI/Fユニット4301Aとスキャ
ナコントローラ4302とを接続するローカルなバスで
ある。このバスに含まれる信号には次のようなものであ
る。なお、信号の入出力は、スキャナコントローラから
Gバス/BバスI/Fユニット(GBI)に出力する信
号をOUT,Gバス/BバスI/Fユニット(GBI)
からスキャナコントローラに入力する信号をINで示
す。なお、IF−バスはスキャナコントローラとプリン
タコントローラに対して同一規定とするため、スキャナ
コントローラのサポートしない機能のための信号も記述
する。基本クロックはBバスのBclkを使用する。 ・sccRst0 L :IN この信号により、スキャナコントローラ内部のFIFO
を初期状態に戻す。 ・sccDataOut[63:0] :OUT スキャナコントローラからGバス/BバスI/IFユニ
ット(GBI)に出力される64ビットのデータバスで
ある。スキャナコントローラがデータ転送動作する場合
に画像データが転送される。 ・sccWrite :OUT スキャナコントローラがデータ転送動作するときの、G
バス/BバスI/Fユニット(GBI)へのライト信号
である。Gバス/BバスI/Fユニットは、sccWr
ite信号がアサートされているBclkの立ち上がり
で、sccDataOut[63:0]を取り込む。s
ccWrite信号をアサートし続けることで、1クロ
ック単位でデータがライトできる。 ・sccWriteEnable :IN スキャナコントローラがデータ転送動作時における、G
バス/BバスI/Fユニット(GBI)へのライト信号
である。Gバス/BバスI/Fユニット(GBI)から
出力される。Bclkの立ち上がりで、sccWrit
eEnable信号がアサートされていれば、次のクロ
ックの立ち上がりで、ライト可能であることを示す。s
ccWrite信号のアサートは、sccWriteE
nable信号を確認して行う。 ・sccRegAddr[31:2] :IN Gバス/BバスI/Fユニット(GBI)からスキャナ
コントローラ内部のレジスタにアクセスするさいのレジ
スタアドレスバスである。sccRegStart L
アサートと同時に有効となり、スキャナコントローラ内
部レジスタへのアクセスであれば、sccRegAck
L信号で応答するまで有効である。 ・sccRegbyteEn[3:0] :IN Gバス/BバスI/Fユニット(GBI)から出力され
るsccRegDataIn/[31:0]のバイトイ
ネーブル信号である。sccRegStart Lアサー
トと同時に有効となり、sccRegAck L信号で
応答するまで有効である。この信号で示された有効なバ
イトのみレジスタへの書き込みを行う。内部レジスタか
らの読み出し時は、この信号は無視し、全バイト出力す
る。この信号の各ビットとsccRegDataIn
[31:0]のバイトとの対応は次の通りである。 sccRegbyteEn: 3 2 1 0 sccRegDataIn: [31:24] [25:16] [15:8] [7:0] ・sccRegStart L :IN Gバス/BバスI/Fユニット(GBI)からスキャナ
コントローラ内部のレジスタにアクセスする際のアクセ
ス要求信号である。“Low”でレジスタのアクセス要
求を示す。sccRegAddr[31:2]信号、s
ccRegRdNotWr信号とともにアサートされ、
Bclk1クロック分だけアサートされる。スキャナコ
ントローラが、このアクセスに対するsccRegAc
k Lを返さない限り、次のアクセスのアサートはされ
ない。 ・sccRegDataOut[31:0] :OUT Gバス/BバスI/Fユニット(GBI)からスキャナ
コントローラ内部のレジスタをリードアクセスする場合
の32ビットデータバスである。sccRegAck
L信号がアサートされているときに有効となる。 ・sccRegDataIn[31:0] :IN Gバス/BバスI/Fユニット(GBI)からスキャナ
コントローラ内部のレジスタをライトアクセスする場合
の32ビットデータバスである。sccRegStar
t Lアサートと同時に有効となり、スキャナコントロ
ーラ内部レジスタへのアクセスであれば、sccAck
L信号で応答するまで有効である。 ・sccRegRdNotWr :IN Gバス/BバスI/Fユニット(GBI)からスキャナ
コントローラ内部のレジスタにアクセスするさいのアク
セス方向(リードまたはライト)を示す信号である。”
High”でスキャナコントローラ内部レジスタの内容
がsccRegDataOut[31:0]に読みださ
れ、”Low”でsccRegDataIn[31:
0]の内容がスキャナコントローラ内部レジスタに書き
込まれる。sccRegStart Lアサートと同時
に有効となり、スキャナコントローラ内部レジスタへの
アクセスであれば、sccRegAck L信号で応答
するまで有効である。 ・sccRegAck L :OUT スキャナコントローラ内部のレジスタアクセスが完了し
たことを示す信号である。スキャナコントローラからG
バス/BバスI/Fユニット(GBI)へ出力される。
Bclk1クロック分だけアサートされる。sccRe
gReq L信号がアサートされた次のクロックからセ
ンスされる。
【0250】なお、信号sccRst1 L,sccバ
イトEn[7:0],sccRead,sccData
In[63:0]は、IFバスに含まれているものの、
スキャナコントローラでは未使用である。
イトEn[7:0],sccRead,sccData
In[63:0]は、IFバスに含まれているものの、
スキャナコントローラでは未使用である。
【0251】図62及び図63は、上述の信号のタイミ
ングの一例を示すタイミングダイアグラムである。図6
2はスキャナコントローラ4302からデータを読み出
してDMA転送する際のタイミングであり、図63は、
スキャナコントローラ4302の内部レジスタに対して
読み出しあるいは書き込みを行うタイミングである。
ングの一例を示すタイミングダイアグラムである。図6
2はスキャナコントローラ4302からデータを読み出
してDMA転送する際のタイミングであり、図63は、
スキャナコントローラ4302の内部レジスタに対して
読み出しあるいは書き込みを行うタイミングである。
【0252】(パワーマネジメント)スキャナコントロ
ーラ内部では、スキャナ・コントローラ・パワー・マネ
ジメント・コントロールレジスタ(0X1B00500
0)の設定に応じたビデオクロック(SVCLK)のゲ
ートコントロールを行い、それによりパワーマネージメ
ントを行う。パワーマネジメントユニット(PMU)4
09に出力するPMステート信号(sccPmStat
[1:0]の値は、Gバス/BバスI/Fユニット43
01Aから入力されるsccDmaPmState
[1:0]の状態とクロックの状態とを合わせて決定さ
れる。sccPmState[1:0]は図64のとお
りである。
ーラ内部では、スキャナ・コントローラ・パワー・マネ
ジメント・コントロールレジスタ(0X1B00500
0)の設定に応じたビデオクロック(SVCLK)のゲ
ートコントロールを行い、それによりパワーマネージメ
ントを行う。パワーマネジメントユニット(PMU)4
09に出力するPMステート信号(sccPmStat
[1:0]の値は、Gバス/BバスI/Fユニット43
01Aから入力されるsccDmaPmState
[1:0]の状態とクロックの状態とを合わせて決定さ
れる。sccPmState[1:0]は図64のとお
りである。
【0253】図64において、sccDmaPmSta
te[1:0]は、スキャナのGバス/Bバスインター
フェースGBI_sccのパワー消費状態を示してい
る。GBI_secにはパワー消費状態00〜11の4
段階がある。この状態信号sccDmaPmState
[1:0]は、GBI_sccからスキャナコントロー
ラへ出力されている。
te[1:0]は、スキャナのGバス/Bバスインター
フェースGBI_sccのパワー消費状態を示してい
る。GBI_secにはパワー消費状態00〜11の4
段階がある。この状態信号sccDmaPmState
[1:0]は、GBI_sccからスキャナコントロー
ラへ出力されている。
【0254】また、スキャナコントローラのパワー消費
状態は2段階あり、内部信号SPStatで示される。
状態は2段階あり、内部信号SPStatで示される。
【0255】信号sccPmstate[1:0]は、
GBI_sccとスキャナコントローラの2つの状態を
あわせた状態を示している。この信号がシステムのパワ
ーマネージメントユニットに出力される。すなわち、ス
キャナコントローラの電力消費状態は4段階でパワーマ
ネジメントユニットに伝えられる。その段階は信号sc
cPmstate[1:0]の値で示される。値00が
最低レベルであり、1増えるごとに示される電力消費量
は大きくなる。
GBI_sccとスキャナコントローラの2つの状態を
あわせた状態を示している。この信号がシステムのパワ
ーマネージメントユニットに出力される。すなわち、ス
キャナコントローラの電力消費状態は4段階でパワーマ
ネジメントユニットに伝えられる。その段階は信号sc
cPmstate[1:0]の値で示される。値00が
最低レベルであり、1増えるごとに示される電力消費量
は大きくなる。
【0256】(スキャナコントローラコアインターフェ
ース)図65は、スキャナコントローラ4302におけ
る、上述した各ブロックを含むコア部分と、外部バスや
スキャナとの間で入出力される信号をまとめた図であ
る。このように、スキャナコントローラ4302は、シ
ステムバスブリッジ402との間をGバスにより接続さ
れ、IOデバイスやパワーマネジメントデバイス及びシ
ステムバスブリッジとの間をBバスにより接続され、プ
リンタコントローラとの間をCPバスで接続され、Gバ
ス/BバスI/Fユニットとの間をI/Fバスにより接
続されている。
ース)図65は、スキャナコントローラ4302におけ
る、上述した各ブロックを含むコア部分と、外部バスや
スキャナとの間で入出力される信号をまとめた図であ
る。このように、スキャナコントローラ4302は、シ
ステムバスブリッジ402との間をGバスにより接続さ
れ、IOデバイスやパワーマネジメントデバイス及びシ
ステムバスブリッジとの間をBバスにより接続され、プ
リンタコントローラとの間をCPバスで接続され、Gバ
ス/BバスI/Fユニットとの間をI/Fバスにより接
続されている。
【0257】2.9.2.プリンタコントローラ 図66にプリンタコントローラ4303のブロック図を
示す。プリンタコントローラはビデオI/Fによってプ
リンタと接続し、Gバス/BバスI/Fユニットにイン
ターフェースするブロックである。大別して以下のブロ
ックから構成される。 1.プリンタデバイスI/F6601 プリンタビデオI/FおよびオプションコントローラI
/Fと信号の入出力をおこなう入出力ポートである。 2.プリンタビデオクロックユニット6602 プリンタのビデオクロックで動作するユニットである。 3.プリンタ画像データFIFOコントローラ6603 画像データ転送用のFIFOを制御する。 4.プリンタコントローラコントロールレジスタユニッ
ト6604 プリンタコントローラ全体を制御するためのレジスタユ
ニットである。 5.IRQコントローラ6605 プリンタコントローラ(Prc)内部で発生する割込み
信号を制御する。 6.プリンタコマンド/ステータスコントロールユニッ
ト6606 ビデオI/Fを介してプリンタとのコマンド/ステータ
ス送受信を制御する。 7.オプションコントローラコントロールユニット66
07 プリンタオプションコントローラを制御するユニットで
ある。 8.FIFO(FIFO_PRC)6608 プリンタへとビデオデータを出力する際に、プリンタが
ビデオデータと非同期の可能性がある場合に用いられる
FIFOである。
示す。プリンタコントローラはビデオI/Fによってプ
リンタと接続し、Gバス/BバスI/Fユニットにイン
ターフェースするブロックである。大別して以下のブロ
ックから構成される。 1.プリンタデバイスI/F6601 プリンタビデオI/FおよびオプションコントローラI
/Fと信号の入出力をおこなう入出力ポートである。 2.プリンタビデオクロックユニット6602 プリンタのビデオクロックで動作するユニットである。 3.プリンタ画像データFIFOコントローラ6603 画像データ転送用のFIFOを制御する。 4.プリンタコントローラコントロールレジスタユニッ
ト6604 プリンタコントローラ全体を制御するためのレジスタユ
ニットである。 5.IRQコントローラ6605 プリンタコントローラ(Prc)内部で発生する割込み
信号を制御する。 6.プリンタコマンド/ステータスコントロールユニッ
ト6606 ビデオI/Fを介してプリンタとのコマンド/ステータ
ス送受信を制御する。 7.オプションコントローラコントロールユニット66
07 プリンタオプションコントローラを制御するユニットで
ある。 8.FIFO(FIFO_PRC)6608 プリンタへとビデオデータを出力する際に、プリンタが
ビデオデータと非同期の可能性がある場合に用いられる
FIFOである。
【0258】プリンタへ出力する画像データの種類は次
の5種類である。 1.RGB各8ビットのカラー多値データ(点順次) 2.8ビット白黒多値データ 3.1ビット白黒2値データ 4.CMYK各1ビットのカラーデータ(面順次) 5.CMYK各8ビットのカラーデータ(面順次) 次に、プリンタコントローラを構成する各ブロックの概
要を説明する。
の5種類である。 1.RGB各8ビットのカラー多値データ(点順次) 2.8ビット白黒多値データ 3.1ビット白黒2値データ 4.CMYK各1ビットのカラーデータ(面順次) 5.CMYK各8ビットのカラーデータ(面順次) 次に、プリンタコントローラを構成する各ブロックの概
要を説明する。
【0259】[1.プリンタデバイスI/Fの概要]図
67にプリンタデバイスI/F6601のブロック図を
示す。このブロックは、プリンタビデオI/Fおよびオ
プションコントローラI/Fから信号を入出力する入出
力ポートである。PビデオR[7:0],PビデオB
[7:0]の各信号はVDInvt信号により、出力信
号をレベル反転するかどうかを切り替えることが可能で
ある。
67にプリンタデバイスI/F6601のブロック図を
示す。このブロックは、プリンタビデオI/Fおよびオ
プションコントローラI/Fから信号を入出力する入出
力ポートである。PビデオR[7:0],PビデオB
[7:0]の各信号はVDInvt信号により、出力信
号をレベル反転するかどうかを切り替えることが可能で
ある。
【0260】[2.プリンタビデオクロックユニットの
概要]図68にプリンタビデオクロックユニット660
2のブロック図を示す。このブロックは、プリンタから
のビデオクロックで動作し、以下のブロックから構成さ
れる。 1.プリンタビデオデータマスク6801(DFF8E
NMask) プリンタへの画像データに対して、データマスクを行う
ブロック。マスクされたデータはレジスタに設定された
値のデータとなる。 2.プリンタビデオ同期コントロールユニット6802
(Prc_syncユニット) プリンタからのビデオクロック,VSYNC,HSYN
Cの信号から、画像データを出力するタイミング信号等
を生成するブロック。画像データの水平方向、垂直方向
のデータ数とライン数を管理する。 3.プリンタビデオデータ幅コンバータ6803(pv
dwconv) IFバスからの64ビット幅で送られてくる画像データ
を、モードにより、RGB24ビット、白黒8ビット、
白黒1ビットのデータに変換するブロック。モード設定
はレジスタにより行う。
概要]図68にプリンタビデオクロックユニット660
2のブロック図を示す。このブロックは、プリンタから
のビデオクロックで動作し、以下のブロックから構成さ
れる。 1.プリンタビデオデータマスク6801(DFF8E
NMask) プリンタへの画像データに対して、データマスクを行う
ブロック。マスクされたデータはレジスタに設定された
値のデータとなる。 2.プリンタビデオ同期コントロールユニット6802
(Prc_syncユニット) プリンタからのビデオクロック,VSYNC,HSYN
Cの信号から、画像データを出力するタイミング信号等
を生成するブロック。画像データの水平方向、垂直方向
のデータ数とライン数を管理する。 3.プリンタビデオデータ幅コンバータ6803(pv
dwconv) IFバスからの64ビット幅で送られてくる画像データ
を、モードにより、RGB24ビット、白黒8ビット、
白黒1ビットのデータに変換するブロック。モード設定
はレジスタにより行う。
【0261】(プリンタビデオデータマスク)図69に
プリンタビデオデータマスク6801のブロック図を示
す。このブロックは、プリンタへ出力する画像データに
対して、ピクセル単位でマスクを行う。マスクされた画
像データはレジスタに設定された値となる(RDMas
k[7:0],GDMask[7:0],BDMask
[7:0])。
プリンタビデオデータマスク6801のブロック図を示
す。このブロックは、プリンタへ出力する画像データに
対して、ピクセル単位でマスクを行う。マスクされた画
像データはレジスタに設定された値となる(RDMas
k[7:0],GDMask[7:0],BDMask
[7:0])。
【0262】(プリンタビデオ同期コントロールユニッ
ト)図70にプリンタビデオ同期コントロールユニット
6802のブロック図を示す。このブロックは、プリン
タへ出力する画像データの垂直同期信号(TOP)、水
平同期信号(INPHSYNC)、画像データ同期クロ
ック(GTVCLK)により、出力する画像データのイ
ネーブル信号(VDOEN)、プリンタ画像データ転送
FIFOコントローラ6603にデータの要求をする信
号(RREQ)を生成する。
ト)図70にプリンタビデオ同期コントロールユニット
6802のブロック図を示す。このブロックは、プリン
タへ出力する画像データの垂直同期信号(TOP)、水
平同期信号(INPHSYNC)、画像データ同期クロ
ック(GTVCLK)により、出力する画像データのイ
ネーブル信号(VDOEN)、プリンタ画像データ転送
FIFOコントローラ6603にデータの要求をする信
号(RREQ)を生成する。
【0263】また、画像データの主走査方向の遅延、取
り込みピクセル数、副走査方向の遅延、取り込みライン
数を管理する。ラインカウンタ7001は設定量の画像
データ出力を終了したタイミングでの状態信号(PEN
DP)を生成する。また、副走査方向の遅延と出力ライ
ン数を管理して、画像出力有効ラインの垂直同期信号
(EH)を生成する。ピクセルカウンタ7002は主走
査方向の画像出力遅延と出力画素数を管理する。ページ
カウンタ7003は出力する画像データをページ単位で
管理する。設定されたページ数分の画像データ出力を終
了すると、終了信号(ALLPEND)を生成する。
り込みピクセル数、副走査方向の遅延、取り込みライン
数を管理する。ラインカウンタ7001は設定量の画像
データ出力を終了したタイミングでの状態信号(PEN
DP)を生成する。また、副走査方向の遅延と出力ライ
ン数を管理して、画像出力有効ラインの垂直同期信号
(EH)を生成する。ピクセルカウンタ7002は主走
査方向の画像出力遅延と出力画素数を管理する。ページ
カウンタ7003は出力する画像データをページ単位で
管理する。設定されたページ数分の画像データ出力を終
了すると、終了信号(ALLPEND)を生成する。
【0264】(プリンタビデオデータ幅コンバータ)図
71にビデオデータ幅コンバータ6803のブロック図
を示す。このブロックは、GBI(Gバス/BバスI/
F)から入力する64ビット幅のデータを画像データの
形式に変換するユニットである。出力できる画像データ
のタイプは次の3種類。RGB各8ビットのカラー画像
データ、多値8ビットの白黒画像データ、2値1ビット
の白黒画像データである。RGB各8ビットのカラー画
像データは24ビット単位でメモリ上に格納されている
場合(24ビットモード)と、24ビットに1バイトデ
ータが付加されて32ビット単位でメモリに格納されて
いる場合(32ビットモード)の2つのモード出力をサ
ポートする。このモードは、プリンタコントローラコン
トロールレジスタ6604においてモード設定される。
3種類の画像データは以下の信号ラインへ出力される。 1.RGB各8ビットのカラー画像データ … IR
[7:0],IG[7:0],IB[7:0] 2.多値8ビットの白黒画像データ … IR[7:
0] 3.2値1ビットの白黒画像データ … IR7 64ビットデータのメモリ上でのならびかたは以下のと
おりとなる。
71にビデオデータ幅コンバータ6803のブロック図
を示す。このブロックは、GBI(Gバス/BバスI/
F)から入力する64ビット幅のデータを画像データの
形式に変換するユニットである。出力できる画像データ
のタイプは次の3種類。RGB各8ビットのカラー画像
データ、多値8ビットの白黒画像データ、2値1ビット
の白黒画像データである。RGB各8ビットのカラー画
像データは24ビット単位でメモリ上に格納されている
場合(24ビットモード)と、24ビットに1バイトデ
ータが付加されて32ビット単位でメモリに格納されて
いる場合(32ビットモード)の2つのモード出力をサ
ポートする。このモードは、プリンタコントローラコン
トロールレジスタ6604においてモード設定される。
3種類の画像データは以下の信号ラインへ出力される。 1.RGB各8ビットのカラー画像データ … IR
[7:0],IG[7:0],IB[7:0] 2.多値8ビットの白黒画像データ … IR[7:
0] 3.2値1ビットの白黒画像データ … IR7 64ビットデータのメモリ上でのならびかたは以下のと
おりとなる。
【0265】1.RGB各8ビットのカラー画像データ
(24ビットモード) 第1ピクセルR8ビット→ビット63−56 第1ピクセルG8ビット→ビット55−48 第1ピクセルB8ビット→ビット47−40 第2ピクセルR8ビット→ビット39−32 第2ピクセルG8ビット→ビット31−24 第2ピクセルB8ビット→ビット23−16 第3ピクセルR8ビット→ビット15−8 第3ピクセルG8ビット→ビット7−0 この場合、メモリ上でのならびは、図72に示した通り
となる。
(24ビットモード) 第1ピクセルR8ビット→ビット63−56 第1ピクセルG8ビット→ビット55−48 第1ピクセルB8ビット→ビット47−40 第2ピクセルR8ビット→ビット39−32 第2ピクセルG8ビット→ビット31−24 第2ピクセルB8ビット→ビット23−16 第3ピクセルR8ビット→ビット15−8 第3ピクセルG8ビット→ビット7−0 この場合、メモリ上でのならびは、図72に示した通り
となる。
【0266】2.RGB各8ビットのカラー画像データ
(32ビットモード) 第1ピクセルR8ビット→ビット63−56 第1ピクセルG8ビット→ビット55−48 第1ピクセルB8ビット→ビット47−40 第2ピクセルR8ビット→ビット31−24 第2ピクセルG8ビット→ビット23−16 第2ピクセルB8ビット→ビット15−8 この場合、メモリ上でのならびは、図73に示した通り
となる。
(32ビットモード) 第1ピクセルR8ビット→ビット63−56 第1ピクセルG8ビット→ビット55−48 第1ピクセルB8ビット→ビット47−40 第2ピクセルR8ビット→ビット31−24 第2ピクセルG8ビット→ビット23−16 第2ピクセルB8ビット→ビット15−8 この場合、メモリ上でのならびは、図73に示した通り
となる。
【0267】3.多値8ビットの白黒画像データ 第1ピクセル8ビット→ビット63−56 第2ピクセル8ビット→ビット55−48 第3ピクセル8ビット→ビット47−40 第4ピクセル8ビット→ビット39−32 第5ピクセル8ビット→ビット31−24 第6ピクセル8ビット→ビット23−16 第7ピクセル8ビット→ビット15−8 第8ピクセル8ビット→ビット7−0 この場合、メモリ上でのならびは、図74に示した通り
となる。
となる。
【0268】4.2値1ビットの白黒画像データ 第1ピクセル1ビット→ビット63 第2ピクセル1ビット→ビット62 第3ピクセル1ビット→ビット61 第4ピクセル1ビット→ビット60 第60ピクセル1ビット→ビット4 第61ピクセル1ビット→ビット3 第62ピクセル1ビット→ビット2 第63ピクセル1ビット→ビット1 第64ピクセル1ビット→ビット0 この場合、メモリ上でのならびは、図75に示した通り
となる。
となる。
【0269】次に、プリンタビデオデータ幅コンバータ
を構成するブロックについて説明する。
を構成するブロックについて説明する。
【0270】(RGBoutユニット7101)図76
にRGBoutユニット7101のブロック図を示す。
このブロックは24ビットモードでパックされた64ビ
ット幅のデータをRGB各8ビットのカラー画像データ
に変換するユニットである。
にRGBoutユニット7101のブロック図を示す。
このブロックは24ビットモードでパックされた64ビ
ット幅のデータをRGB各8ビットのカラー画像データ
に変換するユニットである。
【0271】[3.プリンタ画像データ転送FIFOコ
ントローラの概要]図77にプリンタ画像データ転送F
IFOコントローラ6603のブロック図を示す。この
ブロックは、プリンタへ出力する画像データをGBI
(Gバス/BバスI/F)を介して転送するためのバッ
ファとしてのFIFOと、そのFIFOをコントロール
する回路でらう。容量512バイト(64ビット×6
4)のFIFO7701を備える。FIFOのデータ入
力は、プリンタFIFOライトリードアービタ7702
がFIFO7701のフルフラグ(FF)を監視しなが
ら制御する。FIFOのデータ出力はプリンタビデオク
ロックユニット6602からの要求信号(RREQ)に
よりおこなわれる。
ントローラの概要]図77にプリンタ画像データ転送F
IFOコントローラ6603のブロック図を示す。この
ブロックは、プリンタへ出力する画像データをGBI
(Gバス/BバスI/F)を介して転送するためのバッ
ファとしてのFIFOと、そのFIFOをコントロール
する回路でらう。容量512バイト(64ビット×6
4)のFIFO7701を備える。FIFOのデータ入
力は、プリンタFIFOライトリードアービタ7702
がFIFO7701のフルフラグ(FF)を監視しなが
ら制御する。FIFOのデータ出力はプリンタビデオク
ロックユニット6602からの要求信号(RREQ)に
よりおこなわれる。
【0272】[4.プリンタコントローラコントロール
レジスタユニット]図78にプリンタコントローラコン
トロールレジスタ6604のブロック図を示す。このブ
ロックは、プリンタコントローラ内部を制御するレジス
タを備えたブロックである。内部のレジスタは以下のと
おりである。 1.プリンタ・パワー・マネージメント・コントロール
レジスタ 2.プリンタ・コントローラ・コントロールレジスタ 3.プリンタ・コントローラ・割り込み要因ステータス
レジスタ 4.プリンタ・コントローラ・割り込み要因マスクレジ
スタ 5.プリンタ副走査マスクライン数設定レジスタ 6.プリンタ主走査マスクピクセル数設定レジスタ 7.プリンタ副走査ライン数設定レジスタ 8.プリンタ副走査ライン数カウンタ読み出しレジスタ 9.プリンタ主走査ピクセル数設定レジスタ 10.プリンタ主走査ピクセル数カウンタ読み出しレジ
スタ 11.プリント・ページ数設定レジスタ 12.プリント・ページ数カウンタ読み出しレジスタ 13.プリンタ・デバイス・コントロール・レジスタ 14.プリンタ・デバイス・ステータス・レジスタ 15.プリンタ・シリアル・コマンド・レジスタ 16.プリンタ・シリアル・ステータス・レジスタ 17.オプション・コントローラ・TX・レジスタ 18.オプション・コントローラ・RX・レジスタ 19.プリンタ・ビデオ・マスクデータ・レジスタ 20.4階調出力レベル設定レジスタ 21.16階調出力レベル設定レジスタ1 22.16階調出力レベル設定レジスタ2 23.16階調出力レベル設定レジスタ3 24.16階調出力レベル設定レジスタ4 [5.IRQコントローラ]図79及び図80にIRQ
コントローラ6605のブロック図を示す。このブロッ
クは、プリンタコントローラ内で発生する割り込み信号
を管理する。割り込み要因から、割り込みを発生させ
る。各割り込み要因に対してマスク機能をもち、個別に
クリアすることができる。割り込み要因は以下のとおり
である。 1.画像データ転送全ページ終了(ALLPEnd) 2.画像データ転送1ページ終了(PageEnd) 3.シリアルステータス1バイト受信完了(INPSB
SY) 4.シリアルコマンド1バイト送信完了(EndCBS
Y) 5.PPRDY信号立ち上がり(false→tru
e)(INPPRDY) 6.PPRDY信号立ち下がりtrue→false)
(INPPRDY) 7.RDY信号立ち上がり(false→true)
(INRDY) 8.RDY信号立ち下がり(true→false)
(INRDY) 9.PFED信号立ち上がり(false→true)
(INPFED) 10.PFED信号立ち下がり(true→fals
e)(INPFED) 11.SPCHG信号立ち上がり(false→tru
e)(INSPCHG) 12.SPCHG信号立ち下がり(true→fals
e)(INSPCHG) 13.PDLV信号立ち上がり(false→tru
e)(INPDLV) 14.PDLV信号立ち下がり(true→fals
e)(INPDLV) 15.TOPR信号立ち上がり(false→tru
e)(INTOPR) 16.TOPR信号立ち下がり(true→fals
e)(INTOPR) 17.CCRT信号立ち上がり(false→tru
e)(INCCRT) 18.CCRT信号立ち下がり(true→fals
e)(INCCRT) 19.VSREQ信号立ち上がり(false→tru
e)(INPVSYNC) 20.VSREQ信号立ち下がり(true→fals
e)(INPVSYNC) 21.オプションコントローラTX送信&RX受信完了 22.画像データ転送FIFOのEMPTY信号の立ち
上がり 23.画像データ転送FIFOのEMPTY信号の立ち
下がり 24.画像データ転送FIFOのFULL信号の立ち上
がり 25.画像データ転送FIFOのFULL信号の立ち下
がり 26.画像データ転送FIFOにオーバーリードが発生
(EERDOut) 上記の割り込み要因に対応するフラグ情報(PCIRQ
[31:6])をプリンタコントローラコントロールレ
ジスタ6604に出力する。プリンタコントローラコン
トロールレジスタ6604から、各割り込み要因に対す
る、マスクビット(PCIMask[31:6])とク
リア信号(PCICLRP[31:6])を入力する。
各割り込み要因の論理和がintPrcに出力する。
レジスタユニット]図78にプリンタコントローラコン
トロールレジスタ6604のブロック図を示す。このブ
ロックは、プリンタコントローラ内部を制御するレジス
タを備えたブロックである。内部のレジスタは以下のと
おりである。 1.プリンタ・パワー・マネージメント・コントロール
レジスタ 2.プリンタ・コントローラ・コントロールレジスタ 3.プリンタ・コントローラ・割り込み要因ステータス
レジスタ 4.プリンタ・コントローラ・割り込み要因マスクレジ
スタ 5.プリンタ副走査マスクライン数設定レジスタ 6.プリンタ主走査マスクピクセル数設定レジスタ 7.プリンタ副走査ライン数設定レジスタ 8.プリンタ副走査ライン数カウンタ読み出しレジスタ 9.プリンタ主走査ピクセル数設定レジスタ 10.プリンタ主走査ピクセル数カウンタ読み出しレジ
スタ 11.プリント・ページ数設定レジスタ 12.プリント・ページ数カウンタ読み出しレジスタ 13.プリンタ・デバイス・コントロール・レジスタ 14.プリンタ・デバイス・ステータス・レジスタ 15.プリンタ・シリアル・コマンド・レジスタ 16.プリンタ・シリアル・ステータス・レジスタ 17.オプション・コントローラ・TX・レジスタ 18.オプション・コントローラ・RX・レジスタ 19.プリンタ・ビデオ・マスクデータ・レジスタ 20.4階調出力レベル設定レジスタ 21.16階調出力レベル設定レジスタ1 22.16階調出力レベル設定レジスタ2 23.16階調出力レベル設定レジスタ3 24.16階調出力レベル設定レジスタ4 [5.IRQコントローラ]図79及び図80にIRQ
コントローラ6605のブロック図を示す。このブロッ
クは、プリンタコントローラ内で発生する割り込み信号
を管理する。割り込み要因から、割り込みを発生させ
る。各割り込み要因に対してマスク機能をもち、個別に
クリアすることができる。割り込み要因は以下のとおり
である。 1.画像データ転送全ページ終了(ALLPEnd) 2.画像データ転送1ページ終了(PageEnd) 3.シリアルステータス1バイト受信完了(INPSB
SY) 4.シリアルコマンド1バイト送信完了(EndCBS
Y) 5.PPRDY信号立ち上がり(false→tru
e)(INPPRDY) 6.PPRDY信号立ち下がりtrue→false)
(INPPRDY) 7.RDY信号立ち上がり(false→true)
(INRDY) 8.RDY信号立ち下がり(true→false)
(INRDY) 9.PFED信号立ち上がり(false→true)
(INPFED) 10.PFED信号立ち下がり(true→fals
e)(INPFED) 11.SPCHG信号立ち上がり(false→tru
e)(INSPCHG) 12.SPCHG信号立ち下がり(true→fals
e)(INSPCHG) 13.PDLV信号立ち上がり(false→tru
e)(INPDLV) 14.PDLV信号立ち下がり(true→fals
e)(INPDLV) 15.TOPR信号立ち上がり(false→tru
e)(INTOPR) 16.TOPR信号立ち下がり(true→fals
e)(INTOPR) 17.CCRT信号立ち上がり(false→tru
e)(INCCRT) 18.CCRT信号立ち下がり(true→fals
e)(INCCRT) 19.VSREQ信号立ち上がり(false→tru
e)(INPVSYNC) 20.VSREQ信号立ち下がり(true→fals
e)(INPVSYNC) 21.オプションコントローラTX送信&RX受信完了 22.画像データ転送FIFOのEMPTY信号の立ち
上がり 23.画像データ転送FIFOのEMPTY信号の立ち
下がり 24.画像データ転送FIFOのFULL信号の立ち上
がり 25.画像データ転送FIFOのFULL信号の立ち下
がり 26.画像データ転送FIFOにオーバーリードが発生
(EERDOut) 上記の割り込み要因に対応するフラグ情報(PCIRQ
[31:6])をプリンタコントローラコントロールレ
ジスタ6604に出力する。プリンタコントローラコン
トロールレジスタ6604から、各割り込み要因に対す
る、マスクビット(PCIMask[31:6])とク
リア信号(PCICLRP[31:6])を入力する。
各割り込み要因の論理和がintPrcに出力する。
【0273】[6.プリンタコマンド/ステータスコン
トロールユニット]図81に、プリンタコマンド/ステ
ータスコントロールユニット6606のブロック図を示
す。このブロックは、プリンタを制御するためのシリア
ルコマンド/ステータスを送受信するブロックである。
トロールユニット]図81に、プリンタコマンド/ステ
ータスコントロールユニット6606のブロック図を示
す。このブロックは、プリンタを制御するためのシリア
ルコマンド/ステータスを送受信するブロックである。
【0274】シリアルコマンドとしては、コマンドを送
信している期間をあらわすINPCBSY信号、シリア
ルコマンドの同期クロックであるINPCCLK信号、
シリアルコマンドINPSRCMD信号が生成される。
信している期間をあらわすINPCBSY信号、シリア
ルコマンドの同期クロックであるINPCCLK信号、
シリアルコマンドINPSRCMD信号が生成される。
【0275】シリアルステータスとしては、ステータス
が送信されている期間を示すINPSBSY信号、シリ
アルステータスINPSRSTS信号が入力されて、8
ビットのステータスPSRSTAT[7:0]を出力す
る。シリアルステータスを入力するための同期クロック
はプリンタから出力されるINPPCLK信号、また
は、本ブロックで生成されるPCCLK信号のどちらか
を選択可能である。選択はPSRCLKMode信号に
よりなされる。
が送信されている期間を示すINPSBSY信号、シリ
アルステータスINPSRSTS信号が入力されて、8
ビットのステータスPSRSTAT[7:0]を出力す
る。シリアルステータスを入力するための同期クロック
はプリンタから出力されるINPPCLK信号、また
は、本ブロックで生成されるPCCLK信号のどちらか
を選択可能である。選択はPSRCLKMode信号に
よりなされる。
【0276】[7.オプションコントローラコントロー
ルユニット]図82に、オプションコントローラコント
ロールユニット6607のブロック図を示す。このブロ
ックは、オプションコントローラに対して、送信データ
(TX)を出力するユニットである。TX送信のため
の、INSTROBE信号、INCKEN信号、CLK
(OPCLK)信号を生成する。また、TX送信と同時
に、受信データ(RX)の受信を行う。
ルユニット]図82に、オプションコントローラコント
ロールユニット6607のブロック図を示す。このブロ
ックは、オプションコントローラに対して、送信データ
(TX)を出力するユニットである。TX送信のため
の、INSTROBE信号、INCKEN信号、CLK
(OPCLK)信号を生成する。また、TX送信と同時
に、受信データ(RX)の受信を行う。
【0277】(prcIF−バス)prcIF−バス
は、Gバス/BバスI/Fユニット4301Bとプリン
タコントローラ4303とを接続するローカルなバスで
ある。このバスに含まれる信号には次のようなものであ
る。なお、信号の入出力は、プリンタコントローラから
Gバス/BバスI/Fユニット(GBI)に出力する信
号をOUT,Gバス/BバスI/Fユニット(GBI)
からプリンタコントローラに入力する信号をINで示
す。IF−バスはスキャナコントローラとプリンタコン
トローラに対して同一規定とするため、プリンタコント
ローラのサポートしない機能のための信号も記述する。
基本クロックはBバスのBclkを使用する。 ・prcRst0_L :IN この信号により、プリンタコントローラ内部のFIFO
を初期状態に戻す。 ・prcDataIn[63:0] :IN Gバス/BバスI/Fユニット(GBI)からプリンタ
コントローラに出力される64ビットのデータバスであ
る。プリンタコントローラがデータ転送動作する場合に
画像データが転送される。 ・prcRead :OUT プリンタコントローラがデータ転送動作するとき、Gバ
ス/BバスI/Fユニット(GBI)からのリード信
号。Gバス/BバスI/Fユニット(GBI)は、pr
cRead信号がアサートされているBclkの立ち上
がりに対して、prcDataIn[63:0]を有効
とする。prcRead信号をアサートし続けること
で、1クロック単位でデータがリードできる。 ・prcReadEnable :IN プリンタコントローラがデータ転送動作時、Gバス/B
バスI/Fユニット(GBI)からのデータリード許可
を示す信号。Gバス/BバスI/Fユニット(GBI)
から出力される。Bclkの立ち上がりで、prcRe
adEnable信号がアサートされていれば、次のク
ロックの立ち上がりで、リード可能であることを示す。
prcRead信号のアサートは、prcReadEn
able信号を確認して行う。 ・prcRegAddr[31:2] :IN Gバス/BバスI/Fユニット(GBI)からプリンタ
コントローラ内部のレジスタにアクセスするさいのレジ
スタアドレスバス。prcRegStart_Lアサー
トと同時に有効となり、スキャナコントローラ内部レジ
スタへのアクセスであれば、prcRegAck_L信
号で応答するまで有効である。 ・prcRegbyteEn[3:0] :IN Gバス/BバスI/Fユニット(GBI)から出力され
るprcRegDataIn[31:0]のバイトイネ
ーブル信号。prcRegStart_Lアサートと同
時に有効となり、prcRegAck_L信号で応答す
るまで有効である。この信号で示された有効なバイトの
みレジスタへの書き込みを行う。内部レジスタからの読
み出し時は、この信号は無視し、全バイト出力する。こ
の信号の各ビットとprcRegDataIn[31:
0]のバイトとの対応は次の通りである。 prcRegbyteEn: 3 2 1 0 prcRegDataIn: [31:24] [25:16] [15:8] [7:0] ・prcRegStart_L :IN Gバス/BバスI/Fユニット(GBI)からプリンタ
コントローラ内部のレジスタにアクセスするさいのアク
セス要求信号。”Low”でレジスタのアクセス要求を
示す。prcRegAddr[31:2]信号、prc
RegRdNotWr信号とともにアサートされ、Bc
lk1クロック分だけアサートされる。プリンタコント
ローラが、このアクセスに対する・prcRegAck
_Lを返さない限り、次のアクセスのアサートはされな
い。 ・prcRegDataOut[31:0] :OU
T Gバス/BバスI/Fユニット(GBI)からプリンタ
コントローラ内部のレジスタをリードアクセスする場合
の32ビットデータバス。prcRegAck_L信号
がアサートされているときに有効となる。 ・prcRegDataIn[31:0] :IN Gバス/BバスI/Fユニット(GBI)からプリンタ
コントローラ内部のレジスタをライトアクセスする場合
の32ビットデータバス。prcRegStart_L
アサートと同時に有効となり、プリンタコントローラ内
部レジスタへのアクセスであれば、prcRegAck
_L信号で応答するまで有効である。 ・prcRegRdNotWr :IN Gバス/BバスI/Fユニット(GBI)からプリンタ
コントローラ内部のレジスタにアクセスするさいのアク
セス方向(リードまたはライト)を示す信号。”Hig
h”でプリンタコントローラ内部レジスタの内容がpr
cRegDataOut[31:0]に読み出され、”
Low”でprcRegDataIn[31:0]の内
容がプリンタコントローラ内部レジスタに書き込まれ
る。PrcRegStart_Lアサートと同時に有効
となり、プリンタコントローラ内部レジスタへのアクセ
スであれば、prcRegAck_L信号で応答するま
で有効である。 ・prcRegAck_L :OUT プリンタコントローラ内部のレジスタアクセスが完了し
たことを示す信号。プリンタコントローラからGバス/
BバスI/Fユニット(GBI)へ出力される。BCl
k1クロック分だけアサートされる。prcRegst
art_L信号がアサートされた次のクロックからセン
スされる。
は、Gバス/BバスI/Fユニット4301Bとプリン
タコントローラ4303とを接続するローカルなバスで
ある。このバスに含まれる信号には次のようなものであ
る。なお、信号の入出力は、プリンタコントローラから
Gバス/BバスI/Fユニット(GBI)に出力する信
号をOUT,Gバス/BバスI/Fユニット(GBI)
からプリンタコントローラに入力する信号をINで示
す。IF−バスはスキャナコントローラとプリンタコン
トローラに対して同一規定とするため、プリンタコント
ローラのサポートしない機能のための信号も記述する。
基本クロックはBバスのBclkを使用する。 ・prcRst0_L :IN この信号により、プリンタコントローラ内部のFIFO
を初期状態に戻す。 ・prcDataIn[63:0] :IN Gバス/BバスI/Fユニット(GBI)からプリンタ
コントローラに出力される64ビットのデータバスであ
る。プリンタコントローラがデータ転送動作する場合に
画像データが転送される。 ・prcRead :OUT プリンタコントローラがデータ転送動作するとき、Gバ
ス/BバスI/Fユニット(GBI)からのリード信
号。Gバス/BバスI/Fユニット(GBI)は、pr
cRead信号がアサートされているBclkの立ち上
がりに対して、prcDataIn[63:0]を有効
とする。prcRead信号をアサートし続けること
で、1クロック単位でデータがリードできる。 ・prcReadEnable :IN プリンタコントローラがデータ転送動作時、Gバス/B
バスI/Fユニット(GBI)からのデータリード許可
を示す信号。Gバス/BバスI/Fユニット(GBI)
から出力される。Bclkの立ち上がりで、prcRe
adEnable信号がアサートされていれば、次のク
ロックの立ち上がりで、リード可能であることを示す。
prcRead信号のアサートは、prcReadEn
able信号を確認して行う。 ・prcRegAddr[31:2] :IN Gバス/BバスI/Fユニット(GBI)からプリンタ
コントローラ内部のレジスタにアクセスするさいのレジ
スタアドレスバス。prcRegStart_Lアサー
トと同時に有効となり、スキャナコントローラ内部レジ
スタへのアクセスであれば、prcRegAck_L信
号で応答するまで有効である。 ・prcRegbyteEn[3:0] :IN Gバス/BバスI/Fユニット(GBI)から出力され
るprcRegDataIn[31:0]のバイトイネ
ーブル信号。prcRegStart_Lアサートと同
時に有効となり、prcRegAck_L信号で応答す
るまで有効である。この信号で示された有効なバイトの
みレジスタへの書き込みを行う。内部レジスタからの読
み出し時は、この信号は無視し、全バイト出力する。こ
の信号の各ビットとprcRegDataIn[31:
0]のバイトとの対応は次の通りである。 prcRegbyteEn: 3 2 1 0 prcRegDataIn: [31:24] [25:16] [15:8] [7:0] ・prcRegStart_L :IN Gバス/BバスI/Fユニット(GBI)からプリンタ
コントローラ内部のレジスタにアクセスするさいのアク
セス要求信号。”Low”でレジスタのアクセス要求を
示す。prcRegAddr[31:2]信号、prc
RegRdNotWr信号とともにアサートされ、Bc
lk1クロック分だけアサートされる。プリンタコント
ローラが、このアクセスに対する・prcRegAck
_Lを返さない限り、次のアクセスのアサートはされな
い。 ・prcRegDataOut[31:0] :OU
T Gバス/BバスI/Fユニット(GBI)からプリンタ
コントローラ内部のレジスタをリードアクセスする場合
の32ビットデータバス。prcRegAck_L信号
がアサートされているときに有効となる。 ・prcRegDataIn[31:0] :IN Gバス/BバスI/Fユニット(GBI)からプリンタ
コントローラ内部のレジスタをライトアクセスする場合
の32ビットデータバス。prcRegStart_L
アサートと同時に有効となり、プリンタコントローラ内
部レジスタへのアクセスであれば、prcRegAck
_L信号で応答するまで有効である。 ・prcRegRdNotWr :IN Gバス/BバスI/Fユニット(GBI)からプリンタ
コントローラ内部のレジスタにアクセスするさいのアク
セス方向(リードまたはライト)を示す信号。”Hig
h”でプリンタコントローラ内部レジスタの内容がpr
cRegDataOut[31:0]に読み出され、”
Low”でprcRegDataIn[31:0]の内
容がプリンタコントローラ内部レジスタに書き込まれ
る。PrcRegStart_Lアサートと同時に有効
となり、プリンタコントローラ内部レジスタへのアクセ
スであれば、prcRegAck_L信号で応答するま
で有効である。 ・prcRegAck_L :OUT プリンタコントローラ内部のレジスタアクセスが完了し
たことを示す信号。プリンタコントローラからGバス/
BバスI/Fユニット(GBI)へ出力される。BCl
k1クロック分だけアサートされる。prcRegst
art_L信号がアサートされた次のクロックからセン
スされる。
【0278】なお、信号prcReq0_L,prcバ
イトEn[7:0],prcWrite,prcDat
aOut[63:0],prcReadEnable
は、プリンタコントローラでは未使用となる。
イトEn[7:0],prcWrite,prcDat
aOut[63:0],prcReadEnable
は、プリンタコントローラでは未使用となる。
【0279】図83及び図84は、上述の信号のタイミ
ングの一例を示すタイミングダイアグラムである。図8
3はプリンタコントローラ4303へデータをDMA転
送する際のタイミングであり、図63は、プリンタコン
トローラ4303の内部レジスタに対して読み出しある
いは書き込みを行うタイミングである。
ングの一例を示すタイミングダイアグラムである。図8
3はプリンタコントローラ4303へデータをDMA転
送する際のタイミングであり、図63は、プリンタコン
トローラ4303の内部レジスタに対して読み出しある
いは書き込みを行うタイミングである。
【0280】(パワーマネジメント)プリンタコントロ
ーラ内部では、プリンタ・コントローラ・パワー・マネ
ジメント・コントロールレジスタ(0X1B00700
0)の設定に応じたビデオクロック(VCLK)のゲー
トコントロールを行い、それによりパワーマネージメン
トを行う。パワーマネジメントユニット(PMU)40
9に出力するPMステート信号(prcPmStat
[1:0])の値は、Gバス/BバスI/Fユニット4
301Bから入力されるprcDmaPmState
[1:0]の状態とクロックの状態とを合わせて決定さ
れる。prcPmState[1:0]は図85のとお
りである。
ーラ内部では、プリンタ・コントローラ・パワー・マネ
ジメント・コントロールレジスタ(0X1B00700
0)の設定に応じたビデオクロック(VCLK)のゲー
トコントロールを行い、それによりパワーマネージメン
トを行う。パワーマネジメントユニット(PMU)40
9に出力するPMステート信号(prcPmStat
[1:0])の値は、Gバス/BバスI/Fユニット4
301Bから入力されるprcDmaPmState
[1:0]の状態とクロックの状態とを合わせて決定さ
れる。prcPmState[1:0]は図85のとお
りである。
【0281】図85において、prcDmaPmSta
te[1:0]は、プリンタのGバス/Bバスインター
フェースGBI_prcのパワー消費状態を示してい
る。GBI_prcにはパワー消費状態00〜11の4
段階がある。この状態信号prcDmaPmState
[1:0]は、GBI_prcからプリンタコントロー
ラへ出力されている。
te[1:0]は、プリンタのGバス/Bバスインター
フェースGBI_prcのパワー消費状態を示してい
る。GBI_prcにはパワー消費状態00〜11の4
段階がある。この状態信号prcDmaPmState
[1:0]は、GBI_prcからプリンタコントロー
ラへ出力されている。
【0282】また、プリンタコントローラのパワー消費
状態は2段階あり、内部信号PPStatで示される。
状態は2段階あり、内部信号PPStatで示される。
【0283】信号prcPmstate[1:0]は、
GBI_prcとプリンタコントローラの2つの状態を
あわせた状態を示している。この信号がシステムのパワ
ーマネージメントユニットに出力される。すなわち、プ
リンタコントローラの電力消費状態は4段階でパワーマ
ネジメントユニットに伝えられる。その段階は信号pr
cPmstate[1:0]の値で示される。値00が
最低レベルであり、1増えるごとに示される電力消費量
は大きくなる。
GBI_prcとプリンタコントローラの2つの状態を
あわせた状態を示している。この信号がシステムのパワ
ーマネージメントユニットに出力される。すなわち、プ
リンタコントローラの電力消費状態は4段階でパワーマ
ネジメントユニットに伝えられる。その段階は信号pr
cPmstate[1:0]の値で示される。値00が
最低レベルであり、1増えるごとに示される電力消費量
は大きくなる。
【0284】2.9.3 Gバス/BバスI/Fユニッ
ト(GBI) 図92は、Gバス/BバスI/Fユニット4301のブ
ロック構成図である。Gバス/BバスI/Fユニット
は、スキャナ及びプリンタのそれぞれに用意されている
が、その構成は同じであるため、ここでまとめて説明す
る。
ト(GBI) 図92は、Gバス/BバスI/Fユニット4301のブ
ロック構成図である。Gバス/BバスI/Fユニット
は、スキャナ及びプリンタのそれぞれに用意されている
が、その構成は同じであるため、ここでまとめて説明す
る。
【0285】図92において、GBI4301は、GB
usと接続してこれを制御するGBusコントローラ
と、BBusと接続してこれを制御するBBusコント
ローラとを含む。これらの間には、DMAアドレスを制
御するDMAコントローラ9205のほか、機能ブロッ
クとGBus/BBusとの間をデータ転送に用いられ
るFIFO9204、種々の設定値が書き込まれるレジ
スタユニット9206が含まれる。このうち、GBUS
コントローラとFIFO9204は、GBusにあわせ
て100MHzのクロックで動作し、その他のブロック
はBBusにあわせて50MHzで動作する。
usと接続してこれを制御するGBusコントローラ
と、BBusと接続してこれを制御するBBusコント
ローラとを含む。これらの間には、DMAアドレスを制
御するDMAコントローラ9205のほか、機能ブロッ
クとGBus/BBusとの間をデータ転送に用いられ
るFIFO9204、種々の設定値が書き込まれるレジ
スタユニット9206が含まれる。このうち、GBUS
コントローラとFIFO9204は、GBusにあわせ
て100MHzのクロックで動作し、その他のブロック
はBBusにあわせて50MHzで動作する。
【0286】GBI4301は、GBusとBBusの
両方に接続されるべき機能ブロック(SCC:スキャナ
コントローラとPRC:プリンタコントローラ)の、G
BusとBBusの選択的接続及び、両バスのインター
フェースを提供する。GBIと各機能ブロックの間は、
IFBus9201で接続される。機能ブロックでは、
データの入出力先がGBusかBBusかを意識する必
要はない。また、GBI側でDMAをサポートするの
で、機能ブロック側でアドレスを発生する必要もない。
GBIは、各機能ブロックで共通に必要となる機能をま
とめて、独立のユニットにしたものである。
両方に接続されるべき機能ブロック(SCC:スキャナ
コントローラとPRC:プリンタコントローラ)の、G
BusとBBusの選択的接続及び、両バスのインター
フェースを提供する。GBIと各機能ブロックの間は、
IFBus9201で接続される。機能ブロックでは、
データの入出力先がGBusかBBusかを意識する必
要はない。また、GBI側でDMAをサポートするの
で、機能ブロック側でアドレスを発生する必要もない。
GBIは、各機能ブロックで共通に必要となる機能をま
とめて、独立のユニットにしたものである。
【0287】GBIがサポートするIFBus9201
に接続される機能ブロックは、連続したデータを受け取
る、あるいは送り出すものとする。IFBusにアドレ
ス信号は含まれていない。GBIでは、Channel
0(GBus/BBus→IFBus0)とChann
el1(GBus/BBus→IFBus1)の2つの
チャネルが用意され、それぞれに、DMAコントローラ
が用意されている。ただし、スキャナコントローラで
は、Channel0のみを、プリンタコントローラで
は、Channel1のみを使用(実装)する。
に接続される機能ブロックは、連続したデータを受け取
る、あるいは送り出すものとする。IFBusにアドレ
ス信号は含まれていない。GBIでは、Channel
0(GBus/BBus→IFBus0)とChann
el1(GBus/BBus→IFBus1)の2つの
チャネルが用意され、それぞれに、DMAコントローラ
が用意されている。ただし、スキャナコントローラで
は、Channel0のみを、プリンタコントローラで
は、Channel1のみを使用(実装)する。
【0288】DMAコントローラ9205は、I/O
(アドレス固定)とメモリに対する設定が可能で、メモ
リの場合は、連続物理アドレスとチェーンテーブル方式
(後述)のDMAが設定できる。
(アドレス固定)とメモリに対する設定が可能で、メモ
リの場合は、連続物理アドレスとチェーンテーブル方式
(後述)のDMAが設定できる。
【0289】GBIは、データを、FIFOを介して機
能ブロックと入出力する。したがって、GBIがスレー
ブモードとして動作する場合、GBIのアドレスは、G
Bus側が、0x18n0_0000〜0x18n0
007F、BBus側が、0x19n0 0000〜0
x19n0 001Fのみで同じロケーションがアクセ
スされる。FIFOを使用しているため、バースト転送
時のラップアラウンドに対応するのが困難である。BB
usのラップアラウンドを伴うバースト転送要求に対し
ては、シングルアクセスとして応答する。GBusのラ
ップアラウンドを伴う転送要求に対しては応答しない。
能ブロックと入出力する。したがって、GBIがスレー
ブモードとして動作する場合、GBIのアドレスは、G
Bus側が、0x18n0_0000〜0x18n0
007F、BBus側が、0x19n0 0000〜0
x19n0 001Fのみで同じロケーションがアクセ
スされる。FIFOを使用しているため、バースト転送
時のラップアラウンドに対応するのが困難である。BB
usのラップアラウンドを伴うバースト転送要求に対し
ては、シングルアクセスとして応答する。GBusのラ
ップアラウンドを伴う転送要求に対しては応答しない。
【0290】なお、GBI間で画像データのDMA転送
を行う場合には、それぞれのDMAコントローラにより
制御が行われる。この際に、いずれの側がマスタになる
かは特に決めないが、よりデータ転送のタイミングが厳
格な方がマスタになることが望ましい。このため、本実
施例では、GBI PRCをマスタにし、GBI SC
CをスレーブにしてDMA転送を行っている。
を行う場合には、それぞれのDMAコントローラにより
制御が行われる。この際に、いずれの側がマスタになる
かは特に決めないが、よりデータ転送のタイミングが厳
格な方がマスタになることが望ましい。このため、本実
施例では、GBI PRCをマスタにし、GBI SC
CをスレーブにしてDMA転送を行っている。
【0291】GBI(GBus/BBusインターフェ
ース)は、 1.機能ブロックとのデータの受け渡しをするFifo
ユニット 2.GBusに直結され、GBusとFifoユニット
をつなぐGBusコントローラ9202 3.BBusに直結され、BBusとFifoユニット
をつなぐBBusコントローラ9203 4.マスタモードの時に、DMA転送要求を各バスコン
トローラに発行するDMAコントローラ9205 5.レジスタの内容を保持し、各ブロックに信号を送る
レジスタユニット9206 から構成される。レジスタユニット内には、割込み制
御、パワー制御部も含んでいる。以下に、各部の説明を
する。
ース)は、 1.機能ブロックとのデータの受け渡しをするFifo
ユニット 2.GBusに直結され、GBusとFifoユニット
をつなぐGBusコントローラ9202 3.BBusに直結され、BBusとFifoユニット
をつなぐBBusコントローラ9203 4.マスタモードの時に、DMA転送要求を各バスコン
トローラに発行するDMAコントローラ9205 5.レジスタの内容を保持し、各ブロックに信号を送る
レジスタユニット9206 から構成される。レジスタユニット内には、割込み制
御、パワー制御部も含んでいる。以下に、各部の説明を
する。
【0292】<Fifoユニット>図93に示したFi
foユニットは、GBus/BBusとIFBusとの
間の転送データのバッファとなる部分である。Fifo
ユニットは、互いに独立したFifoユニット0とFi
foユニット1とから構成される。Fifoユニット0
はIFBusからのデータ入力及びGBusあるいはB
Busへのデータ出力のために用いられ、Fifoユニ
ット1はGBusあるいはBBusからのデータ入力及
びIFBusへのデータ出力のために用いられる。
foユニットは、GBus/BBusとIFBusとの
間の転送データのバッファとなる部分である。Fifo
ユニットは、互いに独立したFifoユニット0とFi
foユニット1とから構成される。Fifoユニット0
はIFBusからのデータ入力及びGBusあるいはB
Busへのデータ出力のために用いられ、Fifoユニ
ット1はGBusあるいはBBusからのデータ入力及
びIFBusへのデータ出力のために用いられる。
【0293】信号scGbiFifo0Clkあるいは
scGbiFifo1Clkはゲーテッドクロックで、
クロックを止めることで省電力モードを実現する。この
クロックは、GBI FIFOレジスタをライトするこ
とにより停止し、マスタモードかスレーブモードに入る
時に自動的に起動する。
scGbiFifo1Clkはゲーテッドクロックで、
クロックを止めることで省電力モードを実現する。この
クロックは、GBI FIFOレジスタをライトするこ
とにより停止し、マスタモードかスレーブモードに入る
時に自動的に起動する。
【0294】[Fifoユニット0]Fifoユニット
0は、IFBus0(IFBusの仕様については後
述)からのデータをFifoに書き込み、GBus/B
Busに送り出す。信号ifDataOutB[63:
0]、ifWriteB、ifWriteEnable
Gは、IFBusと接続される。
0は、IFBus0(IFBusの仕様については後
述)からのデータをFifoに書き込み、GBus/B
Busに送り出す。信号ifDataOutB[63:
0]、ifWriteB、ifWriteEnable
Gは、IFBusと接続される。
【0295】このFifoユニット0が有するFifo
0は、IFBusからの64ビットデータを入力とし、
GBus用の64ビットデータDataOut64とB
Bus用の32ビットデータDataOut32を出力
する、64ビット×17段のFifoである。
0は、IFBusからの64ビットデータを入力とし、
GBus用の64ビットデータDataOut64とB
Bus用の32ビットデータDataOut32を出力
する、64ビット×17段のFifoである。
【0296】Fifoユニット0から出力されるステー
タス信号には次のような信号がある ・Fifo0EnableB1G:Fifo0Unit
からBBusへ1ワード(32ビット)転送可能である
ことを示す。マスタモードの時はDMAコントローラ
が、スレーブモードの時にはBBusコントローラが使
用する。 ・Fifo0EnableB4G:Fifo0Unit
からBBusへ4ワード連続転送可能であることを示
す。マスタモードの時はDMAコントローラが、スレー
ブモードの時にはBBusコントローラが使用する。 ・Fifo0EnableB8G:Fifo0Unit
からBBusへ8ワード連続転送可能であることを示
す。マスタモードの時はDMAコントローラが、スレー
ブモードの時にはBBusコントローラが使用する。 ・Fifo0EnableG4G:Fifo0Unit
からGBusへ4ワード(1ワードは64ビット)連続
転送可能であることを示す。マスタモードの時はDMA
コントローラが、スレーブモードの時にはGBusコン
トローラが使用する。 ・Fifo0EnableG16G:Fifo0Uni
tからGBusへ16ワード連続転送可能であることを
示す。マスタモードの時はDMAコントローラが、スレ
ーブモードの時にはGBusコントローラが使用する。 ・ifWriteEnable:Fifo0がFull
状態でないことを示す。IFBusと接続され、機能ブ
ロックにライト可能であることを伝える。
タス信号には次のような信号がある ・Fifo0EnableB1G:Fifo0Unit
からBBusへ1ワード(32ビット)転送可能である
ことを示す。マスタモードの時はDMAコントローラ
が、スレーブモードの時にはBBusコントローラが使
用する。 ・Fifo0EnableB4G:Fifo0Unit
からBBusへ4ワード連続転送可能であることを示
す。マスタモードの時はDMAコントローラが、スレー
ブモードの時にはBBusコントローラが使用する。 ・Fifo0EnableB8G:Fifo0Unit
からBBusへ8ワード連続転送可能であることを示
す。マスタモードの時はDMAコントローラが、スレー
ブモードの時にはBBusコントローラが使用する。 ・Fifo0EnableG4G:Fifo0Unit
からGBusへ4ワード(1ワードは64ビット)連続
転送可能であることを示す。マスタモードの時はDMA
コントローラが、スレーブモードの時にはGBusコン
トローラが使用する。 ・Fifo0EnableG16G:Fifo0Uni
tからGBusへ16ワード連続転送可能であることを
示す。マスタモードの時はDMAコントローラが、スレ
ーブモードの時にはGBusコントローラが使用する。 ・ifWriteEnable:Fifo0がFull
状態でないことを示す。IFBusと接続され、機能ブ
ロックにライト可能であることを伝える。
【0297】また、Fifo0からのGBusの64ビ
ットデータのリードは、Fifo0に入力されている信
号Rd64を使い、BBusの32ビットデータのリー
ドは、信号Rd32を使う。どちらのリードによって
も、ステータス信号及び、Fifo0からの出力データ
であるDataOut64とDataOut32は更新
される。
ットデータのリードは、Fifo0に入力されている信
号Rd64を使い、BBusの32ビットデータのリー
ドは、信号Rd32を使う。どちらのリードによって
も、ステータス信号及び、Fifo0からの出力データ
であるDataOut64とDataOut32は更新
される。
【0298】(B2Gブロック)I/Fバス及びBBu
sのクロックは50MHzであり、GBusのクロック
は100MHzである。このため、Fifoユニット0
に含まれる不図示のB2Gなるブロックにより、IFB
usクロックに同期した書込み信号ifWriteFi
foB、あるいはBBUsクロックに同期した読出し信
号bReadFifoBの1クロック分を、Fifoユ
ニットのクロック(IFBusの2倍の周波数)のクロ
ックに変換する。
sのクロックは50MHzであり、GBusのクロック
は100MHzである。このため、Fifoユニット0
に含まれる不図示のB2Gなるブロックにより、IFB
usクロックに同期した書込み信号ifWriteFi
foB、あるいはBBUsクロックに同期した読出し信
号bReadFifoBの1クロック分を、Fifoユ
ニットのクロック(IFBusの2倍の周波数)のクロ
ックに変換する。
【0299】(ChkIllegalブロック)Fif
o0は、GBus/BBusにより共有される。マスタ
ーモードでは、DMAコントローラがGBus/BBu
sの排他使用を制御しているが、スレーブモードでは、
DMAマスターが排他使用を制御しなければならない。
このため、Fifoユニット0に含まれるChkIll
egalブロックでは、GBusとBBusから同時に
Fifo0にアクセスされた場合に、信号fifoEr
rorGをアサートする。すなわち、Gbusからの読
出し信号gReadFisoG、あるいはBBusから
の読出し信号bReadFisoBが同時にアサートさ
れると、信号fifoErrorGをアサートする。こ
の信号は、レジスタユニットでラッチされ、マスクされ
ていなければ、割り込みを発生する。
o0は、GBus/BBusにより共有される。マスタ
ーモードでは、DMAコントローラがGBus/BBu
sの排他使用を制御しているが、スレーブモードでは、
DMAマスターが排他使用を制御しなければならない。
このため、Fifoユニット0に含まれるChkIll
egalブロックでは、GBusとBBusから同時に
Fifo0にアクセスされた場合に、信号fifoEr
rorGをアサートする。すなわち、Gbusからの読
出し信号gReadFisoG、あるいはBBusから
の読出し信号bReadFisoBが同時にアサートさ
れると、信号fifoErrorGをアサートする。こ
の信号は、レジスタユニットでラッチされ、マスクされ
ていなければ、割り込みを発生する。
【0300】[Fifoユニット1]Fifoユニット
1は、GBus/BBusからのデータを内蔵するFi
fo1に書き込み、IFBus1に送り出す。ifDa
taIng[63:0],ifByteEnG[7:
0],ifReadB,ifReadEnableG
は、IFBusと接続される。
1は、GBus/BBusからのデータを内蔵するFi
fo1に書き込み、IFBus1に送り出す。ifDa
taIng[63:0],ifByteEnG[7:
0],ifReadB,ifReadEnableG
は、IFBusと接続される。
【0301】Fifoユニット1では、マスタモードで
の逆方向DMAに対応するために、Fifo1の前段に
フロントバッファを設けてある。逆方向DMA(入力信
号reverseMODEがイネーブル)の時には、フ
ロントバッファにいったんバッファしてから、逆順でF
IFOにデータを送り出す。それ以外のモード(信号r
everseMODEがディスエーブル)の時には、通
常のFIFOとして機能する。
の逆方向DMAに対応するために、Fifo1の前段に
フロントバッファを設けてある。逆方向DMA(入力信
号reverseMODEがイネーブル)の時には、フ
ロントバッファにいったんバッファしてから、逆順でF
IFOにデータを送り出す。それ以外のモード(信号r
everseMODEがディスエーブル)の時には、通
常のFIFOとして機能する。
【0302】(フロントバッフア)GBusまたは、B
Busからのデータを入力とし、Fifo1へ出力す
る、バイトイネーブル付き64+4ビット×4段のバッ
ファである。BBusからの書き込みでは、データはバ
イトイネーブル信号とともに書き込まれる。GBusか
らの書き込みでは、バイトイネーブルをすべて有効と
し、データが書き込まれる。BBusからの書き込みで
の64ビットへのパッキングは行わない。
Busからのデータを入力とし、Fifo1へ出力す
る、バイトイネーブル付き64+4ビット×4段のバッ
ファである。BBusからの書き込みでは、データはバ
イトイネーブル信号とともに書き込まれる。GBusか
らの書き込みでは、バイトイネーブルをすべて有効と
し、データが書き込まれる。BBusからの書き込みで
の64ビットへのパッキングは行わない。
【0303】ステータス信号として、フロントバッファ
が空状態であることを示す信号BufEmptyが設け
られている。
が空状態であることを示す信号BufEmptyが設け
られている。
【0304】逆方向DMAの時には、信号revers
eMODEがイネーブルであり、転送モードは、DMA
コントローラで、GBusの4beatバースト転送、
あるいはBBusのシングル転送のみに制限される。G
Busの4beatバースト転送のデータは、一度フロ
ントバッファに貯めてから、逆順にして、Fifo1に
データを送り出す(32ビット単位で逆順にする)。
eMODEがイネーブルであり、転送モードは、DMA
コントローラで、GBusの4beatバースト転送、
あるいはBBusのシングル転送のみに制限される。G
Busの4beatバースト転送のデータは、一度フロ
ントバッファに貯めてから、逆順にして、Fifo1に
データを送り出す(32ビット単位で逆順にする)。
【0305】それ以外のモードの時には、信号reve
rseMODEがディスエーブルであり、4段のFIF
Oとして機能する。入力信号dummyWriteFi
fo1Bは一度ラッチされ、フロントバッファが空にな
った時点で、Fifo1に送られる。
rseMODEがディスエーブルであり、4段のFIF
Oとして機能する。入力信号dummyWriteFi
fo1Bは一度ラッチされ、フロントバッファが空にな
った時点で、Fifo1に送られる。
【0306】(Fifo1)Fifo1は、フロントバ
ッファからのデータを入力とし、入力されたデータをI
FBusへ出力する、バイトイネーブル付き64+8ビ
ット×16段のFifoである。BBusからのデータ
は、バイトイネーブル信号とともに書き込まれる。GB
usからのデータは、バイトイネーブルをすべて有効と
し、書き込まれる。BBusからのデータの書き込みで
は、64ビットへのパッキングを行う。
ッファからのデータを入力とし、入力されたデータをI
FBusへ出力する、バイトイネーブル付き64+8ビ
ット×16段のFifoである。BBusからのデータ
は、バイトイネーブル信号とともに書き込まれる。GB
usからのデータは、バイトイネーブルをすべて有効と
し、書き込まれる。BBusからのデータの書き込みで
は、64ビットへのパッキングを行う。
【0307】Fifo1の内部状態と、フロントバッフ
ァのBufEmpry信号を基に、以下のステータス信
号を設けている。 ・Fifo1EnableB1G:Fifoユニット1
へBBusから2ワード(32ビット)転送可能である
ことを示す。Fifo1にBBus1ワード以上の空き
があるか、フロントバッファが空の時に、イネーブルと
なる。 ・Fifo1EnableB4G:Fifoユニット1
へBBusから8ワード連続転送可能であることを示
す。Fifo1にBBus4ワード以上の空きがある
か、フロントバッファが空の時に、イネーブルとなる。 ・Fifo1EnableB8G:Fifoユニット1
へBBusから12ワード連続転送可能であることを示
す。Fifo1にBBus8ワード以上の空きがある
か、Fifo1にBBus4ワード以上の空きがあり、
かつフロントバッファが空の時に、イネーブルとなる。 ・Fifo1EnableG4G:Fifoユニット1
へGBusから4ワード(1ワードは64ビット)連続
転送可能であることを示す。Fifo1にGBus4ワ
ード以上の空きがあるか、フロントが空の時に、イネー
ブルとなる。 ・Fifo1EnableG16G:Fifoユニット
1へGBusから16ワード連続転送可能であることを
示す。Fifo1が空であるか、Fifo1にGBus
12ワード以上の空きがあり、かつフロントバッファが
空の時に、イネーブルとなる。 ・ifReadEnable:Fifo1が空状態でな
いことを示す。IFBusと接続され、機能ブロックに
リード可能であることを伝える。
ァのBufEmpry信号を基に、以下のステータス信
号を設けている。 ・Fifo1EnableB1G:Fifoユニット1
へBBusから2ワード(32ビット)転送可能である
ことを示す。Fifo1にBBus1ワード以上の空き
があるか、フロントバッファが空の時に、イネーブルと
なる。 ・Fifo1EnableB4G:Fifoユニット1
へBBusから8ワード連続転送可能であることを示
す。Fifo1にBBus4ワード以上の空きがある
か、フロントバッファが空の時に、イネーブルとなる。 ・Fifo1EnableB8G:Fifoユニット1
へBBusから12ワード連続転送可能であることを示
す。Fifo1にBBus8ワード以上の空きがある
か、Fifo1にBBus4ワード以上の空きがあり、
かつフロントバッファが空の時に、イネーブルとなる。 ・Fifo1EnableG4G:Fifoユニット1
へGBusから4ワード(1ワードは64ビット)連続
転送可能であることを示す。Fifo1にGBus4ワ
ード以上の空きがあるか、フロントが空の時に、イネー
ブルとなる。 ・Fifo1EnableG16G:Fifoユニット
1へGBusから16ワード連続転送可能であることを
示す。Fifo1が空であるか、Fifo1にGBus
12ワード以上の空きがあり、かつフロントバッファが
空の時に、イネーブルとなる。 ・ifReadEnable:Fifo1が空状態でな
いことを示す。IFBusと接続され、機能ブロックに
リード可能であることを伝える。
【0308】信号Fifo1EnableB1G、Fi
fo1EnableB4G、Fifo1EnableB
8Gは、マスタモード時にはDMAコントローラが、ス
レーブモード時にはBBusコントローラが使用する。
fo1EnableB4G、Fifo1EnableB
8Gは、マスタモード時にはDMAコントローラが、ス
レーブモード時にはBBusコントローラが使用する。
【0309】信号Fifo1EnableG4G、Fi
fo1EnableG16Gは、マスタモード時にはD
MAコントローラが、スレーブモード時にはGBusコ
ントローラが使用する。
fo1EnableG16Gは、マスタモード時にはD
MAコントローラが、スレーブモード時にはGBusコ
ントローラが使用する。
【0310】また、Fifoユニット1は、Fifoユ
ニット0と同じく、B2Gブロック及びChkIlle
galブロックを備えている。
ニット0と同じく、B2Gブロック及びChkIlle
galブロックを備えている。
【0311】<GBusコントローラ>図94は、Gb
usコントローラ9202のブロック図である。Gbu
sコントローラ9202は、GBIがバスマスタとなっ
てGBusを制御するためのGBusマスタコントロー
ラと、スレーブとなった際の制御を行うためのGBus
スレーブコントローラと、データを制御するためのGB
usデータコントローラと、GBusインターフェース
バッファとを含む。この構成により、GBI4301
は、GBusのマスタあるいはスレーブとして動作する
ことができる。
usコントローラ9202のブロック図である。Gbu
sコントローラ9202は、GBIがバスマスタとなっ
てGBusを制御するためのGBusマスタコントロー
ラと、スレーブとなった際の制御を行うためのGBus
スレーブコントローラと、データを制御するためのGB
usデータコントローラと、GBusインターフェース
バッファとを含む。この構成により、GBI4301
は、GBusのマスタあるいはスレーブとして動作する
ことができる。
【0312】[GBusマスタ動作]GBusコントロ
ーラは、GBusマスタコントローラにより、以下のよ
うな手順でGBusマスタとしての制御を行う。
ーラは、GBusマスタコントローラにより、以下のよ
うな手順でGBusマスタとしての制御を行う。
【0313】1.DMAコントローラからの要求 DMAコントローラ9205は、チャネルNの転送が可
能な段階で、gMReq(N)信号を、gMAddr
(N)[31:5]信号、gMBst4Not16 N
信号とともに、bClk(Bbusクロック信号)で1
クロックだけアサートして、DMA転送を要求する。
能な段階で、gMReq(N)信号を、gMAddr
(N)[31:5]信号、gMBst4Not16 N
信号とともに、bClk(Bbusクロック信号)で1
クロックだけアサートして、DMA転送を要求する。
【0314】gMAddr(N)[31:5]信号、g
MBst4Not16 N信号は、GBusマスタコン
トローラによりgMDone(N)信号、gMRtry
(N)信号、gMBErr(N)信号のいずれかがアサ
ートされるまで、変化させてはいけない。
MBst4Not16 N信号は、GBusマスタコン
トローラによりgMDone(N)信号、gMRtry
(N)信号、gMBErr(N)信号のいずれかがアサ
ートされるまで、変化させてはいけない。
【0315】2.GBusアービタへの転送要求 gMReq(N)信号は、GBusマスタリクエストイ
ンターフェースでラッチされる(gLatchReq
(N)信号)。
ンターフェースでラッチされる(gLatchReq
(N)信号)。
【0316】各チャネルのgLatchReq信号は、
不図示のGBusマスタリクエストアービタで調停さ
れ、GBusアービタ406に対し、DMA要求信号g
Req L信号をアサートすると同時に、GBusマスタ
アドレスフェーズに、gIntReq(N)信号を送
る。
不図示のGBusマスタリクエストアービタで調停さ
れ、GBusアービタ406に対し、DMA要求信号g
Req L信号をアサートすると同時に、GBusマスタ
アドレスフェーズに、gIntReq(N)信号を送
る。
【0317】3.GBusアービタからの転送許可 GBusアービタ406からのDMA許可信号gGnt
L信号がアサートされると、GBusマスタアドレス
フェーズから、信号GGntSenseがアサートさ
れ、DMA要求信号gReq Lはネゲートされる。同
時に、gLatchReq(N)信号とgIntReq
(N)信号はネゲートされる。GBusマスタリクエス
トインターフェースは、信号gSlvBsyを監視し、
データバスが使用可能になると、GMDataRq
(N)信号をアサートする。この信号は、GBusマス
タジェネレートエンドデータとGBusデータコントロ
ーラに送られる。 4.GBusデータ転送 スレーブのgAack信号を確認すると、データ転送を
開始する。EndData以外のGBusの信号は、G
Busマスタアドレスフェーズで生成される。EndD
ataは、GBusマスタジェネレートエンドデータで
生成される。GBusからFifoあるいは、Fifo
からGBusへのデータの移動は、GMDataRq
(N)信号により、GBusデータコントローラが行
う。なお、gAack信号の前にgRtry信号を検出
すると、GBusデータコントローラはデータ転送を行
わない。 5.GBusデータ転送終了(あるいはリトライ) GBusマスタジェネレートエンドデータは、GBus
データ転送の終了を、checkBErr信号によりG
Busマスタリクエストインターフェースへ伝える。そ
の信号を受けたGBusマスタリクエストインターフェ
ースは、内部で保持している要求をクリアすると同時
に、バスエラーがなければ、gMDone信号をアサー
トする。バスエラーを検出した場合には、gMBErr
信号をアサートし、DMAコントローラ9205に転送
が完了したことを伝える。
L信号がアサートされると、GBusマスタアドレス
フェーズから、信号GGntSenseがアサートさ
れ、DMA要求信号gReq Lはネゲートされる。同
時に、gLatchReq(N)信号とgIntReq
(N)信号はネゲートされる。GBusマスタリクエス
トインターフェースは、信号gSlvBsyを監視し、
データバスが使用可能になると、GMDataRq
(N)信号をアサートする。この信号は、GBusマス
タジェネレートエンドデータとGBusデータコントロ
ーラに送られる。 4.GBusデータ転送 スレーブのgAack信号を確認すると、データ転送を
開始する。EndData以外のGBusの信号は、G
Busマスタアドレスフェーズで生成される。EndD
ataは、GBusマスタジェネレートエンドデータで
生成される。GBusからFifoあるいは、Fifo
からGBusへのデータの移動は、GMDataRq
(N)信号により、GBusデータコントローラが行
う。なお、gAack信号の前にgRtry信号を検出
すると、GBusデータコントローラはデータ転送を行
わない。 5.GBusデータ転送終了(あるいはリトライ) GBusマスタジェネレートエンドデータは、GBus
データ転送の終了を、checkBErr信号によりG
Busマスタリクエストインターフェースへ伝える。そ
の信号を受けたGBusマスタリクエストインターフェ
ースは、内部で保持している要求をクリアすると同時
に、バスエラーがなければ、gMDone信号をアサー
トする。バスエラーを検出した場合には、gMBErr
信号をアサートし、DMAコントローラ9205に転送
が完了したことを伝える。
【0318】また、gRtry信号を検出すると、GB
usマスタリクエストインターフェースは、内部で保持
している要求をクリアすると同時に、gMRtry信号
をアサートする。
usマスタリクエストインターフェースは、内部で保持
している要求をクリアすると同時に、gMRtry信号
をアサートする。
【0319】DMAコントローラ49205は、GBu
sコントローラ9202から受けた信号がgMDone
信号であれば、転送アドレスや転送長等を更新する。受
けた信号がgMRtry信号であれば、それらを更新せ
ずに、次のアクションを起こす。gMBErr信号の時
には、DMAコントローラ9202は転送を中止し、マ
スクされていなければ、割り込みを発生する。
sコントローラ9202から受けた信号がgMDone
信号であれば、転送アドレスや転送長等を更新する。受
けた信号がgMRtry信号であれば、それらを更新せ
ずに、次のアクションを起こす。gMBErr信号の時
には、DMAコントローラ9202は転送を中止し、マ
スクされていなければ、割り込みを発生する。
【0320】[GBusスレーブ動作]GBusコント
ローラは、GBusスレーブコントローラにより、以下
のような手順でGBusスレーブとしての制御を行う。 1.マスタからの転送要求 GBusスレーブリクエストインターフェースでは、g
TsReg信号アサートのタイミングで、gAddrR
eg信号とgRdNotWrReg信号(チャネル0か
1)を確認する。GBIへのアクセスで、gSEnab
le(N)信号(スレーブモード:レジスタにより設
定)がアサートされていれば、gBst4Not16信
号とReadFifoEnable4/16信号(チャ
ネル0)かWriteFifoEnable4/16信
号(チャネル1)から、転送可能か判断する。可能であ
れば、gAack信号を、そうでなければ、gRtry
信号をアサートする。 2.GBusデータ転送 転送可能であれば、GBusスレーブリクエストインタ
ーフェースは、gSlvBsy信号のネゲートを確認
し、gAack信号をアサートし、そのタイミングを、
GSlvStart信号でGBusスレーブリクエスト
スレーブビジーに伝える。また、GBusスレーブリク
エストインターフェースは、データの転送開始を、GS
DataRq(N)信号をアサートすることでGBus
データコントローラに伝える。GBusからFifoあ
るいは、FifoからGBusへのデータの移動は、G
Busデータコントローラが行う。GBusスレーブリ
クエストスレーブビジーは、gSlvBsy信号を生成
する。 3.GBusデータ転送終了 転送終了を示す信号は特にない。gBErr信号をアサ
ートすることもない。ただし、gSEnable(N)
信号がネゲートしてあれば、マスタのアクセスに対して
応答しないので、タイムアウトによるバスエラーが発生
する。
ローラは、GBusスレーブコントローラにより、以下
のような手順でGBusスレーブとしての制御を行う。 1.マスタからの転送要求 GBusスレーブリクエストインターフェースでは、g
TsReg信号アサートのタイミングで、gAddrR
eg信号とgRdNotWrReg信号(チャネル0か
1)を確認する。GBIへのアクセスで、gSEnab
le(N)信号(スレーブモード:レジスタにより設
定)がアサートされていれば、gBst4Not16信
号とReadFifoEnable4/16信号(チャ
ネル0)かWriteFifoEnable4/16信
号(チャネル1)から、転送可能か判断する。可能であ
れば、gAack信号を、そうでなければ、gRtry
信号をアサートする。 2.GBusデータ転送 転送可能であれば、GBusスレーブリクエストインタ
ーフェースは、gSlvBsy信号のネゲートを確認
し、gAack信号をアサートし、そのタイミングを、
GSlvStart信号でGBusスレーブリクエスト
スレーブビジーに伝える。また、GBusスレーブリク
エストインターフェースは、データの転送開始を、GS
DataRq(N)信号をアサートすることでGBus
データコントローラに伝える。GBusからFifoあ
るいは、FifoからGBusへのデータの移動は、G
Busデータコントローラが行う。GBusスレーブリ
クエストスレーブビジーは、gSlvBsy信号を生成
する。 3.GBusデータ転送終了 転送終了を示す信号は特にない。gBErr信号をアサ
ートすることもない。ただし、gSEnable(N)
信号がネゲートしてあれば、マスタのアクセスに対して
応答しないので、タイムアウトによるバスエラーが発生
する。
【0321】<BBusコントローラ>図95は、BB
usコントローラ9203のブロック図である。BBu
sコントローラ9203は、BBusマスタコントロー
ラと、BBusデータコントローラ、BBusスレーブ
コントローラ及びBBusインターフェースバッファを
含む。この構成により、GBI4301は、BBusの
マスタあるいはスレーブとして動作することができる。
usコントローラ9203のブロック図である。BBu
sコントローラ9203は、BBusマスタコントロー
ラと、BBusデータコントローラ、BBusスレーブ
コントローラ及びBBusインターフェースバッファを
含む。この構成により、GBI4301は、BBusの
マスタあるいはスレーブとして動作することができる。
【0322】[BBusマスタ動作] 1.DMAコントローラからの要求 DMAコントローラ9205は、チャネルNの転送が可
能な段階で、bMReq(N)信号を、bMAddr
(N)[31:2]信号、bMBurst8n)信号、
bMBst4Not8 N信号とともに、BBusクロ
ック信号bClkで1クロックだけアサートする。ま
た、チェーンDMAモードでチェーンテーブルの読み込
みが必要な段階で、cMReq(N)信号を、cMAd
dr(N)[31:2]信号とともに、bClkで1ク
ロックだけアサートする。チェーンテーブルの読み込み
では、BBusのバースト転送を使用しない。こうし
て、DMAコントローラからBBusのDMA転送が要
求される。
能な段階で、bMReq(N)信号を、bMAddr
(N)[31:2]信号、bMBurst8n)信号、
bMBst4Not8 N信号とともに、BBusクロ
ック信号bClkで1クロックだけアサートする。ま
た、チェーンDMAモードでチェーンテーブルの読み込
みが必要な段階で、cMReq(N)信号を、cMAd
dr(N)[31:2]信号とともに、bClkで1ク
ロックだけアサートする。チェーンテーブルの読み込み
では、BBusのバースト転送を使用しない。こうし
て、DMAコントローラからBBusのDMA転送が要
求される。
【0323】bMAddr(N)[31:2]信号,b
MBurst(N)信号,bMBst4Not8 N信
号は、Fifoにアクセスを開始する(bReadFi
fo、bWriteFifoがアサートされる)まで変
化させてはいけない。
MBurst(N)信号,bMBst4Not8 N信
号は、Fifoにアクセスを開始する(bReadFi
fo、bWriteFifoがアサートされる)まで変
化させてはいけない。
【0324】また、cMAddr(N)[31:2]信
号は、cMDone(N)信号,cMrtry(N)信
号,cMBErr(N)信号のいずれかがアサートされ
るまで変化させてはいけない。
号は、cMDone(N)信号,cMrtry(N)信
号,cMBErr(N)信号のいずれかがアサートされ
るまで変化させてはいけない。
【0325】2.BBusアービタへの転送要求 BBusbMReq(N)信号及びcMReq(N)信
号は、BBusマスタリクエストインターフェースでラ
ッチされる(bLatchReq(N)信号及びcLa
tchReq(N)信号)。各要求信号は、BBusマ
スタリクエストアービタで調停され、BBusアービタ
407に対してbBReq L信号がアサートされる。
号は、BBusマスタリクエストインターフェースでラ
ッチされる(bLatchReq(N)信号及びcLa
tchReq(N)信号)。各要求信号は、BBusマ
スタリクエストアービタで調停され、BBusアービタ
407に対してbBReq L信号がアサートされる。
【0326】3.BBusアービタからの転送許可 BBusアービタからの許可信号であるbBGnt L
信号がアサートされると、BBusマスタリクエストア
ービタから、対応する要求元のBBusマスタリクエス
トインターフェースに、BGnt(N)信号あるいはC
Gnt(N)信号を送り、bBGnt L信号はネゲー
トされる。BBusマスタリクエストインターフェース
は、bLatchReq(N)信号あるいはcLatc
hReq(N)信号をネゲートし、bTx信号とbSn
oopWait信号を監視し、転送可能な状態になる
と、BMDataRq(N)信号及びCMDataRq
(N)信号をアサートする。この信号は、BBusマス
タシーケンサとBBusデータコントローラに送られ
る。
信号がアサートされると、BBusマスタリクエストア
ービタから、対応する要求元のBBusマスタリクエス
トインターフェースに、BGnt(N)信号あるいはC
Gnt(N)信号を送り、bBGnt L信号はネゲー
トされる。BBusマスタリクエストインターフェース
は、bLatchReq(N)信号あるいはcLatc
hReq(N)信号をネゲートし、bTx信号とbSn
oopWait信号を監視し、転送可能な状態になる
と、BMDataRq(N)信号及びCMDataRq
(N)信号をアサートする。この信号は、BBusマス
タシーケンサとBBusデータコントローラに送られ
る。
【0327】4.BBusデータ転送 BBusマスタシーケンサは、BBusマスタがドライ
ブすべきデータ以外のBBusの信号をすべて生成す
る。BMDataRq(N)信号あるいはCMData
Rq(N)信号をトリガにして、bStartOut
L(バーストモードであれば、同時にbBurstOu
t L)をアサートし、bRdy(バーストモードであ
れば、bBurstAck)をチェックし、転送終了を
検出する。BBusからFifo、あるいはFifoか
らBBusへのデータの移動は、BMDataRq
(N)信号により、BBusデータコントローラが行
う。
ブすべきデータ以外のBBusの信号をすべて生成す
る。BMDataRq(N)信号あるいはCMData
Rq(N)信号をトリガにして、bStartOut
L(バーストモードであれば、同時にbBurstOu
t L)をアサートし、bRdy(バーストモードであ
れば、bBurstAck)をチェックし、転送終了を
検出する。BBusからFifo、あるいはFifoか
らBBusへのデータの移動は、BMDataRq
(N)信号により、BBusデータコントローラが行
う。
【0328】なお、bRdy信号の前(あるいは同時
に)にbRetry信号を検出すると、BBusデータ
コントローラはデータ転送を行わない。
に)にbRetry信号を検出すると、BBusデータ
コントローラはデータ転送を行わない。
【0329】5.BBusデータ転送終了(あるいは、
リトライ、バスエラー) BBusデータコントローラは、BBusマスタシーケ
ンサのBMLastData信号でデータの移動を終了
する。また、BBusマスタシーケンサは、BBusデ
ータ転送の終了をDone信号により、BBusリクエ
ストインターフェースへ伝える。リトライあるいはバス
エラーであった場合には、それぞれ、Retry信号、
Error信号で伝える。BBusマスタリクエストイ
ンターフェースは、DMAコントローラに転送が完了し
たことを、[bc]MDone(N)(以下、bまたは
cのいずれかであることを[bc]と表す)で、リトラ
イ、バスエラー場合には、[bc]MRtry(N)信
号、[bc]MBErr信号でそれぞれ伝える。
リトライ、バスエラー) BBusデータコントローラは、BBusマスタシーケ
ンサのBMLastData信号でデータの移動を終了
する。また、BBusマスタシーケンサは、BBusデ
ータ転送の終了をDone信号により、BBusリクエ
ストインターフェースへ伝える。リトライあるいはバス
エラーであった場合には、それぞれ、Retry信号、
Error信号で伝える。BBusマスタリクエストイ
ンターフェースは、DMAコントローラに転送が完了し
たことを、[bc]MDone(N)(以下、bまたは
cのいずれかであることを[bc]と表す)で、リトラ
イ、バスエラー場合には、[bc]MRtry(N)信
号、[bc]MBErr信号でそれぞれ伝える。
【0330】DMAコントローラは、信号bReadF
ifo、bWriteFifoにより、転送アドレスや
転送長等を更新し、DMAのBBus転送の終了を示す
bMDone(N)信号か、bMRtry(N)信号
で、次のアクションを起こす。チェーンテーブルの読み
込みの終了を示すcMDone(N)信号は、内部のチ
ェーンテーブルを更新し、cMRtry(N)信号であ
れば、再び転送要求を発行する。
ifo、bWriteFifoにより、転送アドレスや
転送長等を更新し、DMAのBBus転送の終了を示す
bMDone(N)信号か、bMRtry(N)信号
で、次のアクションを起こす。チェーンテーブルの読み
込みの終了を示すcMDone(N)信号は、内部のチ
ェーンテーブルを更新し、cMRtry(N)信号であ
れば、再び転送要求を発行する。
【0331】[bc]MBErr(N)信号の時には、
DMAコントローラは転送を中止し、マスクされていな
ければ割り込みを発生する。
DMAコントローラは転送を中止し、マスクされていな
ければ割り込みを発生する。
【0332】(バーストモードでのリトライ)信号bS
tart Lと信号bBurst Lの同時アサート
で、スレーブが、信号bRetry Lのアサートなし
に、信号bRdy Lと信号bBurstAck Lの
同時アサートで応答した場合、スレーブはバースト転送
可能と判断される。そのバースト転送中は信号bRet
ry Lはチェックされない。つまり、最初のbRdy
Lのタイミングの時のみ、信号bRetry Lはチ
ェックされる。なお、バースト転送中でも、信号bEr
ror Lは、各クロックでチェックされる。
tart Lと信号bBurst Lの同時アサート
で、スレーブが、信号bRetry Lのアサートなし
に、信号bRdy Lと信号bBurstAck Lの
同時アサートで応答した場合、スレーブはバースト転送
可能と判断される。そのバースト転送中は信号bRet
ry Lはチェックされない。つまり、最初のbRdy
Lのタイミングの時のみ、信号bRetry Lはチ
ェックされる。なお、バースト転送中でも、信号bEr
ror Lは、各クロックでチェックされる。
【0333】(信号bError L、bRetry
L、bRdy Lの同時アサートについて)信号bEr
ror Lがアサートされた場合、信号bRetry
Lがアサートされていても、バスエラーとみなされる。
信号bError Lがネゲートされ、信号bRetr
y Lがアサートされた場合、信号bRdy Lがアサ
ートされていてもリトライと見なされる。
L、bRdy Lの同時アサートについて)信号bEr
ror Lがアサートされた場合、信号bRetry
Lがアサートされていても、バスエラーとみなされる。
信号bError Lがネゲートされ、信号bRetr
y Lがアサートされた場合、信号bRdy Lがアサ
ートされていてもリトライと見なされる。
【0334】(マスタモード時の信号byteEn L
[3:0]について)マスタモード時の信号byteE
n L[3:0]は、シングルアクセス、バーストアク
セスの最後の転送以外は、常に、“0000”である。
[3:0]について)マスタモード時の信号byteE
n L[3:0]は、シングルアクセス、バーストアク
セスの最後の転送以外は、常に、“0000”である。
【0335】[BBusスレーブ動作(レジスタアクセ
ス以外)] 1.マスタからの転送要求 BBusマスタシーケンサは、bStart L信号ア
サートのタイミングで、bAddr信号とbWr L信
号(チャネル0か1)を確認する。GBIへのアクセス
で、bSEnable(N)信号(スレーブモード:レ
ジスタにより設定)がアサートされていれば、bBur
stShortNotLong信号(bBurst L
信号がアサートされた時のみ)とReadFifoEn
able1/4/8信号(チャネル0)かWriteF
ifoEnable1/4/8信号(チャネル1)から
転送可能かを判断する。転送可能であれば、bRdyO
ut L信号(バーストモードであれば、bBurst
AckOut L信号も)をアサートし、そうでなけれ
ば、bRetryOut L信号をアサートする。
ス以外)] 1.マスタからの転送要求 BBusマスタシーケンサは、bStart L信号ア
サートのタイミングで、bAddr信号とbWr L信
号(チャネル0か1)を確認する。GBIへのアクセス
で、bSEnable(N)信号(スレーブモード:レ
ジスタにより設定)がアサートされていれば、bBur
stShortNotLong信号(bBurst L
信号がアサートされた時のみ)とReadFifoEn
able1/4/8信号(チャネル0)かWriteF
ifoEnable1/4/8信号(チャネル1)から
転送可能かを判断する。転送可能であれば、bRdyO
ut L信号(バーストモードであれば、bBurst
AckOut L信号も)をアサートし、そうでなけれ
ば、bRetryOut L信号をアサートする。
【0336】マスタのバーストモード(bBurst
L信号がアサート)の要求に対して、Fifoの状態か
ら、バースト転送はできないがシングル転送は可能な場
合は、bRdyOut L信号のみアサートし、シング
ル転送を行う。また、マスタのバーストモード要求がラ
ップアラウンドを発生する場合、GBIがラップアラウ
ンドに対応していないため、可能であればシングル転送
を行う(bBurstAckOut L信号をアサート
しない)。
L信号がアサート)の要求に対して、Fifoの状態か
ら、バースト転送はできないがシングル転送は可能な場
合は、bRdyOut L信号のみアサートし、シング
ル転送を行う。また、マスタのバーストモード要求がラ
ップアラウンドを発生する場合、GBIがラップアラウ
ンドに対応していないため、可能であればシングル転送
を行う(bBurstAckOut L信号をアサート
しない)。
【0337】2.BBusデータ転送 転送可能であれば、BBusマスタシーケンサは、必要
なクロック分だけ、bRdyOut L信号をアサート
し続ける。バースト転送の場合には、最初のbRdyO
ut L信号のアサートのタイミングで、bBurst
AckOut L信号を1BBusクロックだけアサート
する。また、データの転送開始をBSDataRq
(N)信号で、データの転送終了をbMLastDat
a信号で、BBusデータコントローラに伝える。BB
usからFifoあるいは、FifoからBBusへの
データの移動は、BBusデータコントローラが行う。
なクロック分だけ、bRdyOut L信号をアサート
し続ける。バースト転送の場合には、最初のbRdyO
ut L信号のアサートのタイミングで、bBurst
AckOut L信号を1BBusクロックだけアサート
する。また、データの転送開始をBSDataRq
(N)信号で、データの転送終了をbMLastDat
a信号で、BBusデータコントローラに伝える。BB
usからFifoあるいは、FifoからBBusへの
データの移動は、BBusデータコントローラが行う。
【0338】3.BBusデータ転送終了 転送終了を示す信号は特にない。bErrorOut
L信号をアサートすることもない。ただし、bSEna
ble(N)信号がネゲートしていれば、マスタのアク
セスに対して、応答しないので、タイムアウトによるバ
スエラーが発生する。
L信号をアサートすることもない。ただし、bSEna
ble(N)信号がネゲートしていれば、マスタのアク
セスに対して、応答しないので、タイムアウトによるバ
スエラーが発生する。
【0339】[BBusスレーブ動作(レジスタアクセ
ス)]GBI及び機能ブロック内のレジスタのアクセス
はBBusから行う。レジスタのアクセスについては、
GBIのモードや状態によらず、いつでもアクセス可能
である。bRetryOut L、bErrorOut
L信号をアサートすることはない。マスタのバースト
モードの要求に対して、いつでもシングル転送で応答す
る(bBurstAckOut L信号をアサートしな
い)。
ス)]GBI及び機能ブロック内のレジスタのアクセス
はBBusから行う。レジスタのアクセスについては、
GBIのモードや状態によらず、いつでもアクセス可能
である。bRetryOut L、bErrorOut
L信号をアサートすることはない。マスタのバースト
モードの要求に対して、いつでもシングル転送で応答す
る(bBurstAckOut L信号をアサートしな
い)。
【0340】レジスタコントローラ9206は、reg
Start L、regAddr[31:2]、byt
eEnIn[3:0]、regWr L信号(BBus
の信号をBBusクロックで叩いた信号)をセンスし、
レジスタへの書き込みであれば、bDataIn[3
1:0]信号のデータを書き込み、Ack信号(GBI
では、regGbiAck L、IFBusでは、re
gIfAck L)をアサートする。レジスタからの読
み出しであれば、データを内部バス(GBIでは、re
gGbiDataOut[31:0]、IFBusで
は、regIfDataout[31:0])に乗せ
て、Ack信号(GBIでは、regGbiAck
L、IFBusでは、regIfAck L)をアサー
トする。
Start L、regAddr[31:2]、byt
eEnIn[3:0]、regWr L信号(BBus
の信号をBBusクロックで叩いた信号)をセンスし、
レジスタへの書き込みであれば、bDataIn[3
1:0]信号のデータを書き込み、Ack信号(GBI
では、regGbiAck L、IFBusでは、re
gIfAck L)をアサートする。レジスタからの読
み出しであれば、データを内部バス(GBIでは、re
gGbiDataOut[31:0]、IFBusで
は、regIfDataout[31:0])に乗せ
て、Ack信号(GBIでは、regGbiAck
L、IFBusでは、regIfAck L)をアサー
トする。
【0341】BBusスレーブジェネレートレディで、
Ack信号からbRdyOut Lを作る。
Ack信号からbRdyOut Lを作る。
【0342】(GBIのレジスタアクセス以外のBBu
sのサイクル)GBIのスレーブモードでは、シングル
転送のサイクルはいつも3BBusクロックである。バ
ースト転送は、シングル転送と同じタイミングで、最初
のbRdyOut L信号をアサートし、その後ネゲー
トすることなしに必要なクロック分アサートを続ける。
転送(シングルとバースト)ができない場合は、最初の
bRdyOut Lをアサートするタイミングで、bR
etryOut Lだけアサートする。
sのサイクル)GBIのスレーブモードでは、シングル
転送のサイクルはいつも3BBusクロックである。バ
ースト転送は、シングル転送と同じタイミングで、最初
のbRdyOut L信号をアサートし、その後ネゲー
トすることなしに必要なクロック分アサートを続ける。
転送(シングルとバースト)ができない場合は、最初の
bRdyOut Lをアサートするタイミングで、bR
etryOut Lだけアサートする。
【0343】(BBusスレーブジェネレートレディブ
ロック)BBusスレーブジェネレートレディブロック
は、BBusスレーブシーケンサからのChannel
Rdy L信号と、GBIレジスタユニットからのre
gGbiAck L信号と機能ブロック(IFBus)
からのregIfAck L信号をORして、クロックで
叩く。
ロック)BBusスレーブジェネレートレディブロック
は、BBusスレーブシーケンサからのChannel
Rdy L信号と、GBIレジスタユニットからのre
gGbiAck L信号と機能ブロック(IFBus)
からのregIfAck L信号をORして、クロックで
叩く。
【0344】<IFBusインターフェース>IFBu
sは、GBIと機能ブロックを接続する簡単なバスであ
る。クロックは、bClk(50MHz)を使用する。
ここでいう入力信号とは、機能ブロックからGBIへの
方向の信号である。双方向信号はない。以下にIFBu
sの信号について説明する。“ L”で終わる信号名
は、ローアクティブであることを示す。これは、すでに
説明した部分においても同様である。なお、実際のイン
プリメンテーションでは、信号名の“if”は機能ブロ
ックの名前に置き換える。
sは、GBIと機能ブロックを接続する簡単なバスであ
る。クロックは、bClk(50MHz)を使用する。
ここでいう入力信号とは、機能ブロックからGBIへの
方向の信号である。双方向信号はない。以下にIFBu
sの信号について説明する。“ L”で終わる信号名
は、ローアクティブであることを示す。これは、すでに
説明した部分においても同様である。なお、実際のイン
プリメンテーションでは、信号名の“if”は機能ブロ
ックの名前に置き換える。
【0345】・ifRst0 L(チャネル0),if
Rst1 L(チャネル1)(出力) IFBusのリセット信号である。この信号により、I
FBusの状態を初期状態に戻す。GBIの内部レジス
タにより、アサートされる。GBIと機能ブロックとの
転送に先立って、必ずアサートする。
Rst1 L(チャネル1)(出力) IFBusのリセット信号である。この信号により、I
FBusの状態を初期状態に戻す。GBIの内部レジス
タにより、アサートされる。GBIと機能ブロックとの
転送に先立って、必ずアサートする。
【0346】・ifDataOutB[63:0](入
力:チャネル0のみ) 機能ブロックからGBIへのデータ信号である。この信
号は、Fifoユニット0に接続されている(図93参
照)。
力:チャネル0のみ) 機能ブロックからGBIへのデータ信号である。この信
号は、Fifoユニット0に接続されている(図93参
照)。
【0347】・ifWriteB(入力:チャネル0の
み) 機能ブロックからGBIへのライト信号である。GBI
は、ifWrite信号がアサートされているifCl
kの立ち上がりで、ifDataOut[63:0]を
書き込む。ifWriteB信号をアサートし続けるこ
とで、1クロック単位でデータがライトできる。この信
号は、Fifoユニット0に接続されている(図93参
照)。
み) 機能ブロックからGBIへのライト信号である。GBI
は、ifWrite信号がアサートされているifCl
kの立ち上がりで、ifDataOut[63:0]を
書き込む。ifWriteB信号をアサートし続けるこ
とで、1クロック単位でデータがライトできる。この信
号は、Fifoユニット0に接続されている(図93参
照)。
【0348】・ifWriteEnableG(出力:
チャネル0のみ) 機能ブロックからGBIへのライト許可信号である。i
fClkの立ち上がりで、ifWriteEnable
G信号がアサートされていれば、次のクロックの立ち上
がりで、ライト可能であることを示す。ifWrite
B信号のアサートは、ifWriteEnableG信
号を確認して行う。この信号は、Fifoユニット0か
ら出力される。
チャネル0のみ) 機能ブロックからGBIへのライト許可信号である。i
fClkの立ち上がりで、ifWriteEnable
G信号がアサートされていれば、次のクロックの立ち上
がりで、ライト可能であることを示す。ifWrite
B信号のアサートは、ifWriteEnableG信
号を確認して行う。この信号は、Fifoユニット0か
ら出力される。
【0349】・ifDataInG[63:0],if
ByteEnG[7:0](出力:チャネル1のみ) GBIから機能ブロックへのデータとバイトイネーブル
信号である。この信号は、Fifoユニット1に接続さ
れている。表8に信号ifByteEnG[7:0]の
各桁とifDataInG[63:0]の各バイトユニ
ットとの対応を示す。
ByteEnG[7:0](出力:チャネル1のみ) GBIから機能ブロックへのデータとバイトイネーブル
信号である。この信号は、Fifoユニット1に接続さ
れている。表8に信号ifByteEnG[7:0]の
各桁とifDataInG[63:0]の各バイトユニ
ットとの対応を示す。
【0350】
【寿8】
【0351】・ifRead(入力:チャネル1のみ) GBIから機能ブロックへのリード信号である。GBI
は、ifRead信号がアサートされているifClk
の立ち上がりで、ifDataInG[63:0]とi
fByteEnG[7:0]を出力する。ifRead
信号をアサートし続けることで、1クロック単位でデー
タがリードできる。この信号は、Fifoユニット1に
接続されている。
は、ifRead信号がアサートされているifClk
の立ち上がりで、ifDataInG[63:0]とi
fByteEnG[7:0]を出力する。ifRead
信号をアサートし続けることで、1クロック単位でデー
タがリードできる。この信号は、Fifoユニット1に
接続されている。
【0352】・ifReadEnableG(出力:チ
ャネル1のみ) GBIから機能ブロックへのリード許可信号である。i
fClkの立ち上がりで、ifReadEnableG
信号がアサートされていれば、次のクロックの立ち上が
りで、リード可能であることを示す。ifRead信号
のアサートは、ifReadEnableG信号を確認
して行う。この信号は、Fifoユニット1から出力さ
れる。
ャネル1のみ) GBIから機能ブロックへのリード許可信号である。i
fClkの立ち上がりで、ifReadEnableG
信号がアサートされていれば、次のクロックの立ち上が
りで、リード可能であることを示す。ifRead信号
のアサートは、ifReadEnableG信号を確認
して行う。この信号は、Fifoユニット1から出力さ
れる。
【0353】・ifRegStart L(チャネル共
通)(出力) BBusのbStart Lをクロックで叩いた信号で
ある。ifRegAddr[31:2]信号、ifRe
gRdNotWr信号ifByteEn L[3:0]
信号とともに1クロックだけアサートされる。機能ブロ
ックの内部レジスタへの書き込みの場合には、信号if
RegDataIn[31:0]も有効となっている。
機能ブロックでは、ifRegStart Lがアサー
トされた時点で、アドレスをチェックし、機能ブロック
の内部レジスタへのアクセスであれば、ifRegAc
k L信号で応答する。そうでなければ、次のifRe
gStart Lのアサートを待つ。この信号は、BB
usコントローラから出力される。
通)(出力) BBusのbStart Lをクロックで叩いた信号で
ある。ifRegAddr[31:2]信号、ifRe
gRdNotWr信号ifByteEn L[3:0]
信号とともに1クロックだけアサートされる。機能ブロ
ックの内部レジスタへの書き込みの場合には、信号if
RegDataIn[31:0]も有効となっている。
機能ブロックでは、ifRegStart Lがアサー
トされた時点で、アドレスをチェックし、機能ブロック
の内部レジスタへのアクセスであれば、ifRegAc
k L信号で応答する。そうでなければ、次のifRe
gStart Lのアサートを待つ。この信号は、BB
usコントローラから出力される。
【0354】・ifRegAddr[31:2](チャ
ネル共通)(出力) BBusのbAddr[31:2]をクロックで叩いた
アドレス信号である。信号ifRegStart Lア
サートと同時に有効となり、機能ブロックの内部レジス
タへのアクセスであれば、ifRegAck L信号で
応答する間で有効である。この信号は、BBusコント
ローラから出力される。
ネル共通)(出力) BBusのbAddr[31:2]をクロックで叩いた
アドレス信号である。信号ifRegStart Lア
サートと同時に有効となり、機能ブロックの内部レジス
タへのアクセスであれば、ifRegAck L信号で
応答する間で有効である。この信号は、BBusコント
ローラから出力される。
【0355】・ifRegByteEn[3:0](チ
ャネル共通)(出力) BBusのbyteEn L[3:0]をクロックで叩
いたバイトイネーブル信号である。信号ifRegSt
art Lアサートと同時に有効となり、機能ブロック
の内部レジスタへのアクセスであれば、ifRegAc
k L信号で応答する間で有効である。機能ブロックの
内部レジスタへの書き込みの場合には、この信号で示さ
れた有効なバイトのみ書き込みを行う。機能ブロックの
内部レジスタからの読み出しの場合には、この信号は無
視され、全バイト出力される。この信号は、BBusコ
ントローラから出力される。表9に、信号ifRegB
yteEn[3:0]の各桁と信号ifRegData
InG[31:0]の各バイトユニットとの対応を示
す。
ャネル共通)(出力) BBusのbyteEn L[3:0]をクロックで叩
いたバイトイネーブル信号である。信号ifRegSt
art Lアサートと同時に有効となり、機能ブロック
の内部レジスタへのアクセスであれば、ifRegAc
k L信号で応答する間で有効である。機能ブロックの
内部レジスタへの書き込みの場合には、この信号で示さ
れた有効なバイトのみ書き込みを行う。機能ブロックの
内部レジスタからの読み出しの場合には、この信号は無
視され、全バイト出力される。この信号は、BBusコ
ントローラから出力される。表9に、信号ifRegB
yteEn[3:0]の各桁と信号ifRegData
InG[31:0]の各バイトユニットとの対応を示
す。
【0356】
【表9】
【0357】・ifRegRdNotWr(チャネル共
通)(出力) BBusのbWr Lをクロックで叩いた信号で、機能
ブロックの内部レジスタへのアクセスの方向を示す。ハ
イで、機能ブロックの内部レジスタの内容が信号ifR
eqDataOut[31:0]に出力され、ローで、
ifReqDataIn[31:0]のデータが、機能
ブロックの内部レジスタに書き込まれる。信号ifRe
gStart Lアサートと同時に有効となり、機能ブ
ロックの内部レジスタへのアクセスであれば、ifRe
gAck L信号で応答する間で有効である。この信号
は、BBusコントローラから出力される。
通)(出力) BBusのbWr Lをクロックで叩いた信号で、機能
ブロックの内部レジスタへのアクセスの方向を示す。ハ
イで、機能ブロックの内部レジスタの内容が信号ifR
eqDataOut[31:0]に出力され、ローで、
ifReqDataIn[31:0]のデータが、機能
ブロックの内部レジスタに書き込まれる。信号ifRe
gStart Lアサートと同時に有効となり、機能ブ
ロックの内部レジスタへのアクセスであれば、ifRe
gAck L信号で応答する間で有効である。この信号
は、BBusコントローラから出力される。
【0358】・ifRegAck L(チャネル共通)
(入力) 機能ブロックが内部レジスタへのアクセスを完了したこ
とを示す信号である。信号ifRegStart Lが
アサートされた時点で、アドレスをチェックし、機能ブ
ロックの内部レジスタへのアクセスであれば、レジスタ
のリードあるいはライトを行い、必ず、1クロックだけ
アサートする。機能ブロックの内部レジスタへのアクセ
スでない場合には、決してアサートしてはいけない。こ
の信号は、BBusコントローラに接続される。
(入力) 機能ブロックが内部レジスタへのアクセスを完了したこ
とを示す信号である。信号ifRegStart Lが
アサートされた時点で、アドレスをチェックし、機能ブ
ロックの内部レジスタへのアクセスであれば、レジスタ
のリードあるいはライトを行い、必ず、1クロックだけ
アサートする。機能ブロックの内部レジスタへのアクセ
スでない場合には、決してアサートしてはいけない。こ
の信号は、BBusコントローラに接続される。
【0359】・ifRegDataOut[31:0]
(チャネル共通)(入力) 機能ブロックの内部レジスタの内容が読み出されるデー
タバス信号である。信号ifRegAck L信号がア
サートされているときに有効でなければいけない。この
信号は、BBusコントローラに接続される。
(チャネル共通)(入力) 機能ブロックの内部レジスタの内容が読み出されるデー
タバス信号である。信号ifRegAck L信号がア
サートされているときに有効でなければいけない。この
信号は、BBusコントローラに接続される。
【0360】・ifRegDataIn[31:0]
(チャネル共通)(出力) 機能ブロックの内部レジスタに書き込まれるデータを示
すバス信号である。信号ifRegStart Lアサ
ートと同時に有効となり、機能ブロックの内部レジスタ
へのアクセスであれば、ifRegAck L信号で応
答する間で有効である。この信号は、BBusコントロ
ーラから出力される。
(チャネル共通)(出力) 機能ブロックの内部レジスタに書き込まれるデータを示
すバス信号である。信号ifRegStart Lアサ
ートと同時に有効となり、機能ブロックの内部レジスタ
へのアクセスであれば、ifRegAck L信号で応
答する間で有効である。この信号は、BBusコントロ
ーラから出力される。
【0361】・IfDmaPmState[1:0]
(チャネル共通)(出力) GBIの動作状態を示す信号。この出力は常に有効であ
る。機能ブロックは、この信号と機能ブロック自身の動
作状態を基に、パワーマネージメントユニットへのパワ
ーマネージメントステータス信号を生成する。この信号
は、レジスタユニットから出力される。どのような値が
出力されるかは、後述のパワーマネジメントの項で説明
する。
(チャネル共通)(出力) GBIの動作状態を示す信号。この出力は常に有効であ
る。機能ブロックは、この信号と機能ブロック自身の動
作状態を基に、パワーマネージメントユニットへのパワ
ーマネージメントステータス信号を生成する。この信号
は、レジスタユニットから出力される。どのような値が
出力されるかは、後述のパワーマネジメントの項で説明
する。
【0362】<DMAコントローラ>GBIには、チャ
ネル0と1に、それぞれ図96のようなDMAコントロ
ーラ9205が存在する。
ネル0と1に、それぞれ図96のようなDMAコントロ
ーラ9205が存在する。
【0363】DMAコントローラは、DMAメインコン
トローラ、フェッチチェインテーブル、カルキュレート
ピッチアドレス、ジェネレートアドレス、DMAリクエ
ストの各部ロックから成る。
トローラ、フェッチチェインテーブル、カルキュレート
ピッチアドレス、ジェネレートアドレス、DMAリクエ
ストの各部ロックから成る。
【0364】レジスタユニット9206からは、表10
の信号によりDMAのモードが伝えられる。
の信号によりDMAのモードが伝えられる。
【0365】
【表10】
【0366】次に、DMAコントローラの各部ロックに
ついて説明する。
ついて説明する。
【0367】[DMAメインコントローラ]DMAメイ
ンコントローラは、他の4つのブロックの起動と停止の
制御をする。チェーンテーブル方式のDMAでは、フェ
ッチチェインテーブル、ジェネレートアドレス、DMA
リクエストの順に、ブロックを1クロックずつずらして
起動する。ピッチ付きのDMAでは、カルキュレートピ
ッチアドレス、ジェネレートアドレス、DMAリクエス
トの順に、ブロックを1クロックずつずらして起動す
る。その他の場合には、ジェネレートアドレスとDMA
リクエストを1クロックずらして起動する。
ンコントローラは、他の4つのブロックの起動と停止の
制御をする。チェーンテーブル方式のDMAでは、フェ
ッチチェインテーブル、ジェネレートアドレス、DMA
リクエストの順に、ブロックを1クロックずつずらして
起動する。ピッチ付きのDMAでは、カルキュレートピ
ッチアドレス、ジェネレートアドレス、DMAリクエス
トの順に、ブロックを1クロックずつずらして起動す
る。その他の場合には、ジェネレートアドレスとDMA
リクエストを1クロックずらして起動する。
【0368】また、DMAメインコントローラはDMA
の終了を判定する。フェッチチェインテーブルがアイド
ル状態(チェーンテーブルをすべて読み終わったか、あ
るいは起動されていない)かつ、カルキュレートピッチ
アドレスがアイドル状態(全ライン終わったか、あるい
は起動されていない)でのジェネレートアドレスのNe
xtAddreReq信号のアサート(レングスカウン
タがゼロになる)、あるいはバスエラー、stopDM
A信号のアサート(レジスタによるDMA強制終了)を
検出すると、DMAメインコントローラが各ブロック
に、stopDMAReq信号をアサートする。すべて
のブロックがアイドル状態になった時点で、DMAの終
了と判定する(endDMAをアサートする)。
の終了を判定する。フェッチチェインテーブルがアイド
ル状態(チェーンテーブルをすべて読み終わったか、あ
るいは起動されていない)かつ、カルキュレートピッチ
アドレスがアイドル状態(全ライン終わったか、あるい
は起動されていない)でのジェネレートアドレスのNe
xtAddreReq信号のアサート(レングスカウン
タがゼロになる)、あるいはバスエラー、stopDM
A信号のアサート(レジスタによるDMA強制終了)を
検出すると、DMAメインコントローラが各ブロック
に、stopDMAReq信号をアサートする。すべて
のブロックがアイドル状態になった時点で、DMAの終
了と判定する(endDMAをアサートする)。
【0369】[フェッチチェインテーブル]フェッチチ
ェインテーブルは、メモリ上のテーブルをフェッチする
ブロックで、チェーンテーブルを使わない場合は起動さ
れない。チェーンテーブルを指すメモリアドレスのため
のチェインテーブルポインタアドレスカウンタ、チェー
ンテーブルの残りのエントリ数を示すチェインテーブル
エントリカウンタ、チェーンテーブルからフェッチした
アドレスとレングスを記憶するネクストアドレスレジス
タ、ネクストレンクスレジスタ、およびこれらを制御す
るフェッチチェインテーブルコントローラから成る。
ェインテーブルは、メモリ上のテーブルをフェッチする
ブロックで、チェーンテーブルを使わない場合は起動さ
れない。チェーンテーブルを指すメモリアドレスのため
のチェインテーブルポインタアドレスカウンタ、チェー
ンテーブルの残りのエントリ数を示すチェインテーブル
エントリカウンタ、チェーンテーブルからフェッチした
アドレスとレングスを記憶するネクストアドレスレジス
タ、ネクストレンクスレジスタ、およびこれらを制御す
るフェッチチェインテーブルコントローラから成る。
【0370】DMAメインコントローラから起動される
と、レジスタの内容がチェインテーブルポインタアドレ
スとチェインテーブルエントリカウンタにロードされ
る。chainReq信号により、BBusコントロー
ラにアドレスchainAddress[31:2]の
フェッチを要求する。BBusコントローラからのch
ainDone信号(正常終了)で、読み出した内容を
ネクストアドレスレジスタにラッチし、チェインテーブ
ルポインタアドレスカウンタをインクリメントする。B
Busコントローラから、ChainRtry信号(リ
トライ)が返ってくれば、再び、同じ要求をBBusコ
ントローラに対して発行する。
と、レジスタの内容がチェインテーブルポインタアドレ
スとチェインテーブルエントリカウンタにロードされ
る。chainReq信号により、BBusコントロー
ラにアドレスchainAddress[31:2]の
フェッチを要求する。BBusコントローラからのch
ainDone信号(正常終了)で、読み出した内容を
ネクストアドレスレジスタにラッチし、チェインテーブ
ルポインタアドレスカウンタをインクリメントする。B
Busコントローラから、ChainRtry信号(リ
トライ)が返ってくれば、再び、同じ要求をBBusコ
ントローラに対して発行する。
【0371】ネクストアドレスレジスタのラッチ後に、
BBusコントローラにアドレスchain Addr
ess[31:2]のフェッチを要求する。Chain
Done信号で、読み出した内容をネクストレンクスレ
ジスタにラッチし、チェインテーブルポインタアドレス
カウンタをインクリメントし、チェインテーブルエント
リカウンタをデクリメントする。同時に、nextAd
drValid信号をアサートし、チェーンテーブルか
らアドレスとレングスを読み出したことを、ジェネレー
トアドレスブロックに伝える。
BBusコントローラにアドレスchain Addr
ess[31:2]のフェッチを要求する。Chain
Done信号で、読み出した内容をネクストレンクスレ
ジスタにラッチし、チェインテーブルポインタアドレス
カウンタをインクリメントし、チェインテーブルエント
リカウンタをデクリメントする。同時に、nextAd
drValid信号をアサートし、チェーンテーブルか
らアドレスとレングスを読み出したことを、ジェネレー
トアドレスブロックに伝える。
【0372】もし、ネクストレンクスレジスタのラッチ
時のデータがゼロである場合には、ネクストアドレスレ
ジスタの内容がチェインテーブルポインタアドレスカウ
ンタにロードされる。
時のデータがゼロである場合には、ネクストアドレスレ
ジスタの内容がチェインテーブルポインタアドレスカウ
ンタにロードされる。
【0373】nextAddrValid信号のアサー
ト中に、ジェネレートアドレスブロックからNextA
ddrReq信号がアサートされるとジェネレートアド
レスブロックが、チェーンテーブルからのアドレス、レ
ングスを受け取ったと判断し、nextAddrVal
id信号をネゲートする。
ト中に、ジェネレートアドレスブロックからNextA
ddrReq信号がアサートされるとジェネレートアド
レスブロックが、チェーンテーブルからのアドレス、レ
ングスを受け取ったと判断し、nextAddrVal
id信号をネゲートする。
【0374】次に、チェインテーブルエントリカウンタ
をチェックし、ゼロでなければ、再度チェーンテーブル
のフェッチを続け、ゼロであればアイドル状態へ戻る。
をチェックし、ゼロでなければ、再度チェーンテーブル
のフェッチを続け、ゼロであればアイドル状態へ戻る。
【0375】chainBErr信号(バスエラー)を
受け取ると、直ちにアイドル状態へ戻る。DMAメイン
コントローラからstopDMAReqを受け取った場
合、BBusコントローラに要求を出していれば、その
終了を待って、そうでなければ直ちにアイドル状態へ戻
る。
受け取ると、直ちにアイドル状態へ戻る。DMAメイン
コントローラからstopDMAReqを受け取った場
合、BBusコントローラに要求を出していれば、その
終了を待って、そうでなければ直ちにアイドル状態へ戻
る。
【0376】チェーンテーブルを使わないモードの時に
は、起動されないので、アイドル状態を保ち、next
AddrValid信号はネゲートされたままである。
は、起動されないので、アイドル状態を保ち、next
AddrValid信号はネゲートされたままである。
【0377】[ジェネレートアドレス]ジェネレートア
ドレスブロックは、メモリに対する転送アドレスを格納
するトランスファメモリアドレスカウンタと、転送すべ
き転送長を格納するトランスファレンクスカウンタと、
転送したバイト数を記憶するトランスファカウンタと、
これら3つのカウンタを制御するジェネレートアドレス
コントローラと、転送アドレスと転送長からGBus/
BBusに対して要求するモードを判定するCheck
GBusReq及びCheckBBusReqブロック
(CheckG/BBusReqと総称する)を有す
る。
ドレスブロックは、メモリに対する転送アドレスを格納
するトランスファメモリアドレスカウンタと、転送すべ
き転送長を格納するトランスファレンクスカウンタと、
転送したバイト数を記憶するトランスファカウンタと、
これら3つのカウンタを制御するジェネレートアドレス
コントローラと、転送アドレスと転送長からGBus/
BBusに対して要求するモードを判定するCheck
GBusReq及びCheckBBusReqブロック
(CheckG/BBusReqと総称する)を有す
る。
【0378】(チェーンテーブルを使う場合)DMAメ
インコントローラから起動されると、トランスファカウ
ンタをクリアし、フェッチチェインテーブルからのne
xtValidAddrCT信号待ちに入る。next
ValidAddrCT信号がアサートされると、チェ
ーンテーブルのアドレスとレングスが、それぞれトラン
スファメモリアドレスカウンタとトランスファレンクス
カウンタにロードされる。
インコントローラから起動されると、トランスファカウ
ンタをクリアし、フェッチチェインテーブルからのne
xtValidAddrCT信号待ちに入る。next
ValidAddrCT信号がアサートされると、チェ
ーンテーブルのアドレスとレングスが、それぞれトラン
スファメモリアドレスカウンタとトランスファレンクス
カウンタにロードされる。
【0379】両カウンタの内容で、CheckG/BB
usReqは転送できるモードを判定する。
usReqは転送できるモードを判定する。
【0380】CheckG/BBusReqからDMA
リクエストブロックにG/BBusの転送モードを伝え
(転送不可の時にはg/b Valid信号がネゲート
されている)、DMAリクエストブロックは、GBus
優先で各バスコントローラに転送要求を発行する。
リクエストブロックにG/BBusの転送モードを伝え
(転送不可の時にはg/b Valid信号がネゲート
されている)、DMAリクエストブロックは、GBus
優先で各バスコントローラに転送要求を発行する。
【0381】GBusでの転送では、gMDone信号
(GBus転送終了信号)とその時の転送モードによ
り、一度にトランスファメモリアドレスカウンタ、トラ
ンスファカウンタのインクリメントとトランスファレン
クスカウンタのデクリメントを行う。BBusでの転送
では、FIFOのアクセス信号により、トランスファメ
モリアドレスカウンタのインクリメントとトランスファ
レンクスカウンタのデクリメントを行う。
(GBus転送終了信号)とその時の転送モードによ
り、一度にトランスファメモリアドレスカウンタ、トラ
ンスファカウンタのインクリメントとトランスファレン
クスカウンタのデクリメントを行う。BBusでの転送
では、FIFOのアクセス信号により、トランスファメ
モリアドレスカウンタのインクリメントとトランスファ
レンクスカウンタのデクリメントを行う。
【0382】トランスファレンクスカウンタがゼロにな
った時、フェッチチェインテーブルからのnextVa
lidAddrCT信号がネゲートされていれば、アサ
ートを待って、次のチェーンテーブルの内容をトランス
ファメモリアドレスカウンタとトランスファレンクスカ
ウンタにロードし、そうでなければ、直ちにロードす
る。そして、次の転送に入る。
った時、フェッチチェインテーブルからのnextVa
lidAddrCT信号がネゲートされていれば、アサ
ートを待って、次のチェーンテーブルの内容をトランス
ファメモリアドレスカウンタとトランスファレンクスカ
ウンタにロードし、そうでなければ、直ちにロードす
る。そして、次の転送に入る。
【0383】チェーンテーブルの最後の部分の転送が終
わってトランスファレンクスカウンタがゼロになった時
には、フェッチチェインテーブルはアイドル状態で、n
extValidAddrCT信号はネゲートされてい
る。DMAメインコントローラはDMAの終了を検出す
るので、ジェネレートアドレスに対してstopDMA
Req信号をアサートする。これによりジェネレートア
ドレスはアイドル状態となる。
わってトランスファレンクスカウンタがゼロになった時
には、フェッチチェインテーブルはアイドル状態で、n
extValidAddrCT信号はネゲートされてい
る。DMAメインコントローラはDMAの終了を検出す
るので、ジェネレートアドレスに対してstopDMA
Req信号をアサートする。これによりジェネレートア
ドレスはアイドル状態となる。
【0384】(ピッチ付きのDMAを使う場合)DMA
メインコントローラから起動されると、トランスファカ
ウンタをクリアし、カルキュレートピッチアドレスから
のnextValidAddrPA信号待ちに入る。n
extValidAddrPA信号がアサートされる
と、スタートアドレスとピッチから計算されたアドレス
とレングスが、それぞれトランスファメモリアドレスカ
ウンタとトランスファレンクスカウンタにロードされ
る。
メインコントローラから起動されると、トランスファカ
ウンタをクリアし、カルキュレートピッチアドレスから
のnextValidAddrPA信号待ちに入る。n
extValidAddrPA信号がアサートされる
と、スタートアドレスとピッチから計算されたアドレス
とレングスが、それぞれトランスファメモリアドレスカ
ウンタとトランスファレンクスカウンタにロードされ
る。
【0385】チェーンテーブルを使う時と同様に、トラ
ンスファメモリアドレスカウンタ、トランスファカウン
タのインクリメントとトランスファレンクスカウンタの
デクリメントが行われる。
ンスファメモリアドレスカウンタ、トランスファカウン
タのインクリメントとトランスファレンクスカウンタの
デクリメントが行われる。
【0386】トランスファレンクスカウンタがゼロにな
った時、カルキュレートピッチアドレスからのnext
ValidAddrPA信号がネゲートされていれば、
アサートを待って、次のチェーンテーブルの内容をトラ
ンスファメモリアドレスカウンタとトランスファレンク
スカウンタにロードし、そうでなければ直ちにロードす
る。そして次の転送に入る。
った時、カルキュレートピッチアドレスからのnext
ValidAddrPA信号がネゲートされていれば、
アサートを待って、次のチェーンテーブルの内容をトラ
ンスファメモリアドレスカウンタとトランスファレンク
スカウンタにロードし、そうでなければ直ちにロードす
る。そして次の転送に入る。
【0387】最後のラインの転送が終わってトランスフ
ァレンクスカウンタがゼロになった時には、カルキュレ
ートピッチアドレスはアイドル状態で、nextVal
idAddrPA信号はネゲートされている。DMAメ
インコントローラはDMAの終了を検出するので、ジェ
ネレートアドレスに対してstopDMAReq信号を
アサートする。これによりジェネレートアドレスはアイ
ドル状態となる。
ァレンクスカウンタがゼロになった時には、カルキュレ
ートピッチアドレスはアイドル状態で、nextVal
idAddrPA信号はネゲートされている。DMAメ
インコントローラはDMAの終了を検出するので、ジェ
ネレートアドレスに対してstopDMAReq信号を
アサートする。これによりジェネレートアドレスはアイ
ドル状態となる。
【0388】(対I/ODMAの場合)DMAメインコ
ントローラから起動されると、トランスファカウンタが
クリアされ、データ長を格納したGBIDMA転送長レ
ジスタの内容がトランスファレンクスカウンタにロード
される。CheckGBusReq/CheckBBu
sReq各ブロックは、対I/OのDMAアドレスを格
納したGBIDMAGBusl/Oアドレスレジスタ/
GBIDMABBusl/Oアドレスレジスタの内容を
それぞれ用いる。
ントローラから起動されると、トランスファカウンタが
クリアされ、データ長を格納したGBIDMA転送長レ
ジスタの内容がトランスファレンクスカウンタにロード
される。CheckGBusReq/CheckBBu
sReq各ブロックは、対I/OのDMAアドレスを格
納したGBIDMAGBusl/Oアドレスレジスタ/
GBIDMABBusl/Oアドレスレジスタの内容を
それぞれ用いる。
【0389】上と同様に、トランスファカウンタのイン
クリメントとトランスファレンクスカウンタのデクリメ
ントが行われる。
クリメントとトランスファレンクスカウンタのデクリメ
ントが行われる。
【0390】トランスファレンクスカウンタがゼロにな
った時、フェッチチェインテーブルとカルキュレートピ
ッチアドレスは起動されていないので、アイドル状態
で、nextValidAddr信号はネゲートされて
いる。DMAメインコントローラはDMAの終了を検出
するので、ジェネレートアドレスに対してstopDM
AReq信号をアサートする。これによりジェネレート
アドレスはアイドル状態となる。
った時、フェッチチェインテーブルとカルキュレートピ
ッチアドレスは起動されていないので、アイドル状態
で、nextValidAddr信号はネゲートされて
いる。DMAメインコントローラはDMAの終了を検出
するので、ジェネレートアドレスに対してstopDM
AReq信号をアサートする。これによりジェネレート
アドレスはアイドル状態となる。
【0391】(リバースモード)対I/ODMA以外は
リバースモードをサポートする。チェーンテーブルDM
Aの1ブロック、ピッチ付きのDMAの1ラインを、ア
ドレスの大きい方から小さい方へアクセスする。ブロッ
クあるいはライン単位の逆方向の指示は、チェーンテー
ブルDMAではチェーンテーブルを逆になるように作
る。ピッチ付きのDMAの場合は、ピッチの値を負の値
(2の補数)を設定する。
リバースモードをサポートする。チェーンテーブルDM
Aの1ブロック、ピッチ付きのDMAの1ラインを、ア
ドレスの大きい方から小さい方へアクセスする。ブロッ
クあるいはライン単位の逆方向の指示は、チェーンテー
ブルDMAではチェーンテーブルを逆になるように作
る。ピッチ付きのDMAの場合は、ピッチの値を負の値
(2の補数)を設定する。
【0392】リバースモードでは、トランスファメモリ
アドレスカウンタに値をロードする際に、転送レングス
を用いて、最後尾のアドレスを計算してロードする。ト
ランスファメモリアドレスカウンタのインクリメントの
代わりにデクリメントする。
アドレスカウンタに値をロードする際に、転送レングス
を用いて、最後尾のアドレスを計算してロードする。ト
ランスファメモリアドレスカウンタのインクリメントの
代わりにデクリメントする。
【0393】CheckBBusReqブロックではシ
ングル転送のみを要求する。CheckGBusReq
ブロックでは4ビートバースト転送のみを要求する。F
ifoユニットで、32ビット単位で逆順にして、機能
ブロックに送られる(現状では、チャネル1のみ対応す
る)。
ングル転送のみを要求する。CheckGBusReq
ブロックでは4ビートバースト転送のみを要求する。F
ifoユニットで、32ビット単位で逆順にして、機能
ブロックに送られる(現状では、チャネル1のみ対応す
る)。
【0394】(GBus要求のチェック)CheckG
BusReqブロックではGBus要求のチェックが行
われる。信号useGBusがアクティブでなければ常
に信号gValidはネゲートされている。
BusReqブロックではGBus要求のチェックが行
われる。信号useGBusがアクティブでなければ常
に信号gValidはネゲートされている。
【0395】トランスファメモリアドレスのビット6以
下がすべてゼロで、かつトランスファレンクスが128
以上の時、信号gValidがアサート、g4Not1
6Req=’0’となり、トランスファメモリアドレス
のビット4以下がすべてゼロで、かつトランスファレン
クスが32以上の時、信号gValidがアサート、g
4Not16Req=’1’となる。それ以外では、信
号gValidはネゲートされる。
下がすべてゼロで、かつトランスファレンクスが128
以上の時、信号gValidがアサート、g4Not1
6Req=’0’となり、トランスファメモリアドレス
のビット4以下がすべてゼロで、かつトランスファレン
クスが32以上の時、信号gValidがアサート、g
4Not16Req=’1’となる。それ以外では、信
号gValidはネゲートされる。
【0396】(BBus要求のチェック)CheckB
BusReqブロックではBBus要求のチェックが行
われる。信号useBBusがアクティブでなければ常
に信号bValidはネゲートされている。
BusReqブロックではBBus要求のチェックが行
われる。信号useBBusがアクティブでなければ常
に信号bValidはネゲートされている。
【0397】トランスファメモリアドレスのビット4以
下がすべてゼロで、かつトランスファレンクスが29以
上の時、信号bValidがアサート、bBurstR
eq=’1’、b4Not8Req=’0’となり、ト
ランスファメモリアドレスのビット3以下がすべてゼロ
で、かつトランスファレンクスが13以上の時、bVa
lidがアサート、信号bBurstReq=’1’、
b4Not8Req=’1’となる。それ以外では、b
Validがアサート、bBurstReq=’0’と
なる。
下がすべてゼロで、かつトランスファレンクスが29以
上の時、信号bValidがアサート、bBurstR
eq=’1’、b4Not8Req=’0’となり、ト
ランスファメモリアドレスのビット3以下がすべてゼロ
で、かつトランスファレンクスが13以上の時、bVa
lidがアサート、信号bBurstReq=’1’、
b4Not8Req=’1’となる。それ以外では、b
Validがアサート、bBurstReq=’0’と
なる。
【0398】(DMAリクエスト)DMAメインコント
ローラから起動されると、ジェネレートアドレスブロッ
クからのGBus/BBusに対する要求をチェックす
る。G/BBusの両方の要求がある場合には、常にG
Busが優先となる。この要求に従い、GBusコント
ローラかBBusコントローラに転送要求を発行し、応
答を待つ。応答は、g/bMDone、g/bMRtr
yあるいは、g/bMBErrのいずれかの信号であ
る。
ローラから起動されると、ジェネレートアドレスブロッ
クからのGBus/BBusに対する要求をチェックす
る。G/BBusの両方の要求がある場合には、常にG
Busが優先となる。この要求に従い、GBusコント
ローラかBBusコントローラに転送要求を発行し、応
答を待つ。応答は、g/bMDone、g/bMRtr
yあるいは、g/bMBErrのいずれかの信号であ
る。
【0399】g/bMDoneの場合は転送の正常終了
であり、次のジェネレートアドレスからのGBus/B
Busに対する要求をチェックする。
であり、次のジェネレートアドレスからのGBus/B
Busに対する要求をチェックする。
【0400】g/bMRtryの場合は同じバスコント
ローラに再度転送要求を発行する。
ローラに再度転送要求を発行する。
【0401】g/bMBErrの場合には直ちにアイド
ル状態に戻る。
ル状態に戻る。
【0402】最後の転送が終了した時には、DMAリク
エストブロックは、ジェネレートアドレスからのGBu
s/BBusに対して要求待ち状態となる。DMAメイ
ンコントローラがDMA終了を検出して、DMAリクエ
ストに対してstopDMAReqが発行されるので、
それにより、DMARequestはアイドル状態に戻
る。
エストブロックは、ジェネレートアドレスからのGBu
s/BBusに対して要求待ち状態となる。DMAメイ
ンコントローラがDMA終了を検出して、DMAリクエ
ストに対してstopDMAReqが発行されるので、
それにより、DMARequestはアイドル状態に戻
る。
【0403】また、チェーンテーブルフェッチ時のバス
エラーやレジスタによるDMA強制終了の場合も、DM
Aメインコントローラから、stopDMAReqが発
行されるが、バスコントローラに転送要求をしている時
は、転送終了を待って、要求していない時は直ちにアイ
ドル状態に戻る。
エラーやレジスタによるDMA強制終了の場合も、DM
Aメインコントローラから、stopDMAReqが発
行されるが、バスコントローラに転送要求をしている時
は、転送終了を待って、要求していない時は直ちにアイ
ドル状態に戻る。
【0404】<レジスタユニット>内部レジスタユニッ
ト内には、各チャネルに対応するレジスタユニットが存
在する。各ユニットは、デコードするアドレスが異なる
以外は同じである。レジスタユニットは図97に示すよ
うに、レジスタユニット0とレジスタユニット1とを有
する。
ト内には、各チャネルに対応するレジスタユニットが存
在する。各ユニットは、デコードするアドレスが異なる
以外は同じである。レジスタユニットは図97に示すよ
うに、レジスタユニット0とレジスタユニット1とを有
する。
【0405】各レジスタユニットは、レジスタI/F、
アクションコントローラ、割り込みコントローラとパワ
ーステータスの各ブロックから構成される、GBIの各
ブロックに設定地値を供給するほか、割り込みコントロ
ーラによって割り込みを制御し、パワーステータスによ
り省電力可能なブロックを制御している。
アクションコントローラ、割り込みコントローラとパワ
ーステータスの各ブロックから構成される、GBIの各
ブロックに設定地値を供給するほか、割り込みコントロ
ーラによって割り込みを制御し、パワーステータスによ
り省電力可能なブロックを制御している。
【0406】[パワーステータス]GBIにおいて省電
力モード可能なユニットは、DMAコントローラとFI
FOユニットである。省電力モードはfifoInSl
eep信号、dmaInSleep信号により、各ブロ
ックのクロックをマスクすることで実現する。リセット
時は、ともに省電力モードに入る。DMAコントローラ
は、マスタモードで起動をかけると自動的に起動し、G
BIFIFOスリープレジスタのライトでスリープに入
る。
力モード可能なユニットは、DMAコントローラとFI
FOユニットである。省電力モードはfifoInSl
eep信号、dmaInSleep信号により、各ブロ
ックのクロックをマスクすることで実現する。リセット
時は、ともに省電力モードに入る。DMAコントローラ
は、マスタモードで起動をかけると自動的に起動し、G
BIFIFOスリープレジスタのライトでスリープに入
る。
【0407】パワーステータスブロックから出力される
パワーマネージメントステータス信号(pmState
[1:0])は、各チャネルで、 pmState[1:0]00 level0(DMA、FIFOともに停止) 01 level1(FIFOのみ動作) 10 level2(DMA、FIFOともに動作) 11 NotDefine となる。
パワーマネージメントステータス信号(pmState
[1:0])は、各チャネルで、 pmState[1:0]00 level0(DMA、FIFOともに停止) 01 level1(FIFOのみ動作) 10 level2(DMA、FIFOともに動作) 11 NotDefine となる。
【0408】DoEngineにおいては、スキャナコ
ントローラ(Scc)やプリンタコントローラ(Pr
c)が接続されるGBIは、1のチャネルしかないので
上のようになるが、2チャネル含む場合は各チャネルの
値を合計し、次のように4段階に縮退させる。
ントローラ(Scc)やプリンタコントローラ(Pr
c)が接続されるGBIは、1のチャネルしかないので
上のようになるが、2チャネル含む場合は各チャネルの
値を合計し、次のように4段階に縮退させる。
【0409】 pmState[1:0]00 level0 (両チャネルのFIFO、DMAがともに停止) 01 level1 (1チャネルのFIFOのみ動作) 10 level2 (両チャネルのFIFOが動作、DMAは両方停止) 11 level3 (両チャネルのFIFOが動作、DMAは1つは動作) となる。
【0410】パワーマネージメントステータス信号(p
mState[1:0])は、IFBusを介して機能
ブロックへ送られる。機能ブロックでは、この信号と機
能ブロック自身の動作状態を基に、パワーマネージメン
トユニットへのパワーマネージメントステータス信号を
生成する。
mState[1:0])は、IFBusを介して機能
ブロックへ送られる。機能ブロックでは、この信号と機
能ブロック自身の動作状態を基に、パワーマネージメン
トユニットへのパワーマネージメントステータス信号を
生成する。
【0411】<GBIの動作モード>以上、GBIを構
成する各部について説明した。ここで、GBIの動作に
ついてまとめておく。GBIの動作モードには、大きく
分けて以下のものがある。
成する各部について説明した。ここで、GBIの動作に
ついてまとめておく。GBIの動作モードには、大きく
分けて以下のものがある。
【0412】1.スレーブモード 2.マスタモード マスタモードにおけるDMAの方式は、 A.対メモリ B.対I/O(アドレス固定) があり、対メモリDMAでは、 a.連続物理アドレス b.不連続物理アドレス(転送先メモリがメモリ管理の
ページ単位で分割されていることを想定) のメモリに対して転送を行う。また、対メモリDMAで
は、逆方向モードもサポートする(チャネル1のみ)。
ページ単位で分割されていることを想定) のメモリに対して転送を行う。また、対メモリDMAで
は、逆方向モードもサポートする(チャネル1のみ)。
【0413】連続物理アドレスに対するDMAは、先頭
アドレス、一行の長さ、次の行までのピッチ、及び行数
を指定する、いわゆる2次元DMAである。1次元の場
合は行数を1とすることで実現する。
アドレス、一行の長さ、次の行までのピッチ、及び行数
を指定する、いわゆる2次元DMAである。1次元の場
合は行数を1とすることで実現する。
【0414】不連続物理に対するDMAは、分割された
各メモリブロックの先頭アドレスと長さをメモリ上に配
置し、それを参照しながら、転送先のアドレスを計算
し、DMAを行う。この先頭アドレスと長さの組をチェ
ーンテーブルと呼ぶことにする。チェーンテーブルの一
例を図98に示す。不連続物理アドレスに対するDMA
では、チェーンテーブルを配置したメモリアドレスとア
ドレス・長さの組の数を指定する。もちろん、チェーン
テーブル自体は連続アドレスに配置しなければならない
が、もし、全チェーンテーブルが連続領域に置けない場
合には、先頭のアドレスの代わりに次のチェーンテーブ
ルのアドレスを、長さに0を設定することで、チェーン
テーブルをつなぐことができる。
各メモリブロックの先頭アドレスと長さをメモリ上に配
置し、それを参照しながら、転送先のアドレスを計算
し、DMAを行う。この先頭アドレスと長さの組をチェ
ーンテーブルと呼ぶことにする。チェーンテーブルの一
例を図98に示す。不連続物理アドレスに対するDMA
では、チェーンテーブルを配置したメモリアドレスとア
ドレス・長さの組の数を指定する。もちろん、チェーン
テーブル自体は連続アドレスに配置しなければならない
が、もし、全チェーンテーブルが連続領域に置けない場
合には、先頭のアドレスの代わりに次のチェーンテーブ
ルのアドレスを、長さに0を設定することで、チェーン
テーブルをつなぐことができる。
【0415】逆方向モードは、チェーンテーブルDMA
の1ブロック、2次元DMAの1ラインをアドレスの大
きい方から、小さい方へアクセスする。ブロックあるい
はライン単位の逆方向の指示は、チェーンテーブルDM
Aでは、チェーンテーブルを逆になるように作る。ピッ
チ付きのDMAの場合は、ピッチの値を負の値(2の補
数)を設定する。
の1ブロック、2次元DMAの1ラインをアドレスの大
きい方から、小さい方へアクセスする。ブロックあるい
はライン単位の逆方向の指示は、チェーンテーブルDM
Aでは、チェーンテーブルを逆になるように作る。ピッ
チ付きのDMAの場合は、ピッチの値を負の値(2の補
数)を設定する。
【0416】<割り込み制御>次に割り込みの制御につ
いて説明する。DBIからの割り込みは、以下の条件で
発生する。
いて説明する。DBIからの割り込みは、以下の条件で
発生する。
【0417】[マスタモード] 1.DMA正常終了 2.GBusでのDMA転送中のバスエラーの検出 3.BBusでのDMA転送中のバスエラーの検出 4.チェーンDMAモードでのチェーンテーブルリード
中のバスエラーの検出 GBI停止レジスタによる強制終了の場合、DMAコン
トローラが各バスのコントローラに要求中の転送が正常
に終了した時点で、正常終了となる。もし、要求中の転
送がバスエラーとなった場合には、バスエラーによる異
常終了となる。
中のバスエラーの検出 GBI停止レジスタによる強制終了の場合、DMAコン
トローラが各バスのコントローラに要求中の転送が正常
に終了した時点で、正常終了となる。もし、要求中の転
送がバスエラーとなった場合には、バスエラーによる異
常終了となる。
【0418】チャネル0では、機能ブロックがGBI内
のFIFOに全データを書き込んだ時点で終了する(割
り込みを発生する)が、FIFOにデータが残ってい
る。GBIはFIFOのデータを転送した時に、DMA
終了となるので、これをもって転送終了と判断する。
のFIFOに全データを書き込んだ時点で終了する(割
り込みを発生する)が、FIFOにデータが残ってい
る。GBIはFIFOのデータを転送した時に、DMA
終了となるので、これをもって転送終了と判断する。
【0419】チャネル1では、GBIはGBI内のFI
FOに全データを書き込んだ時点で終了する(割り込み
を発生する)が、FIFOにデータが残っている。機能
ブロックはFIFOのデータを転送した時に、終了とな
るので、これをもって転送終了と判断する。
FOに全データを書き込んだ時点で終了する(割り込み
を発生する)が、FIFOにデータが残っている。機能
ブロックはFIFOのデータを転送した時に、終了とな
るので、これをもって転送終了と判断する。
【0420】[スレーブモード] 5.FIFOイリーガルアクセス GBIに按続された機能ブロックとマスタとのデータの
転送は、GBIのFIFOを介して行われる。
転送は、GBIのFIFOを介して行われる。
【0421】GBus/BBusの両方使用する場合
(DoEngineでは、GBus/BBusの両方使
用可能なマスタはGBIのみ)には、両方のバスからの
同時アクセスに対して、どちらのバスが最初にFIFO
をアクセスするかを知る方法がない。マスタはGBus
/BBusに対して、排他的に転送要求を行う必要があ
る(GBIのマスタモードでは排他的に転送要求してい
る)。もし、GBus/BBusの両方が同時にFIF
Oにアクセスした場合には、FIFOイリーガルアクセ
スとなる。
(DoEngineでは、GBus/BBusの両方使
用可能なマスタはGBIのみ)には、両方のバスからの
同時アクセスに対して、どちらのバスが最初にFIFO
をアクセスするかを知る方法がない。マスタはGBus
/BBusに対して、排他的に転送要求を行う必要があ
る(GBIのマスタモードでは排他的に転送要求してい
る)。もし、GBus/BBusの両方が同時にFIF
Oにアクセスした場合には、FIFOイリーガルアクセ
スとなる。
【0422】上記の1から5のいずれかが起こり、かつ
対応する割り込み許可ビットが、”1”にセットされて
いる場合に割り込みが発生する。
対応する割り込み許可ビットが、”1”にセットされて
いる場合に割り込みが発生する。
【0423】<コアインターフェース>図99に、GB
Iと、BBus/GBus/機能ブロックとのインター
フェースをまとめたコアインターフェースの図を示す。
GBIは、BBusスレーブ動作でバスエラーを発行し
ないので、bError(Func)Out Lはな
い。また、GBIはBBusスレーブ動作でblnst
NotData信号をチェックしないので、(fun
c)blnstNotData inはなく、(fun
c)blnstNotData outは、常に”0”
をドライブする。
Iと、BBus/GBus/機能ブロックとのインター
フェースをまとめたコアインターフェースの図を示す。
GBIは、BBusスレーブ動作でバスエラーを発行し
ないので、bError(Func)Out Lはな
い。また、GBIはBBusスレーブ動作でblnst
NotData信号をチェックしないので、(fun
c)blnstNotData inはなく、(fun
c)blnstNotData outは、常に”0”
をドライブする。
【0424】また、GBIはGBusスレーブ動作でバ
スエラーを発行しないので、(func)gErr L
outはない。
スエラーを発行しないので、(func)gErr L
outはない。
【0425】なお、図99におけるGBIの信号名中の
Func(func)には、接続される機能ブロック、
すなわちscc(スキャナコントローラ)あるいはpr
c(プリンタコントローラ)の名前を入れる。
Func(func)には、接続される機能ブロック、
すなわちscc(スキャナコントローラ)あるいはpr
c(プリンタコントローラ)の名前を入れる。
【0426】また、DoEngineでは、機能ブロッ
クとして、スキャナコントローラのScc(scc)
と、プリンタコントローラのPrc(prc)がある。
いずれの場合もデータの流れが双方向でないので、不要
なFIFO、DMAコントローラ、レジスタを削除した
形でインプリメントする。
クとして、スキャナコントローラのScc(scc)
と、プリンタコントローラのPrc(prc)がある。
いずれの場合もデータの流れが双方向でないので、不要
なFIFO、DMAコントローラ、レジスタを削除した
形でインプリメントする。
【0427】<プリンタコントローラコアインターフェ
ース>図86は、プリンタコントローラ4303におけ
る、上述した各ブロックを含むコア部分と、外部バスや
スキャナとの間で入出力される信号をまとめた図であ
る。このように、プリンタコントローラ4303は、シ
ステムバスブリッジ402との間をGバスにより接続さ
れ、IOデバイスやパワーマネジメントデバイス及びシ
ステムバスブリッジとの間をBバスにより接続され、プ
リンタコントローラとの間をCPバスで接続され、Gバ
ス/BバスI/Fユニットとの間をI/Fバスにより接
続されている。
ース>図86は、プリンタコントローラ4303におけ
る、上述した各ブロックを含むコア部分と、外部バスや
スキャナとの間で入出力される信号をまとめた図であ
る。このように、プリンタコントローラ4303は、シ
ステムバスブリッジ402との間をGバスにより接続さ
れ、IOデバイスやパワーマネジメントデバイス及びシ
ステムバスブリッジとの間をBバスにより接続され、プ
リンタコントローラとの間をCPバスで接続され、Gバ
ス/BバスI/Fユニットとの間をI/Fバスにより接
続されている。
【0428】2.10.電力管理ユニット 図87は、電力管理ユニット409のブロック図であ
る。
る。
【0429】DoEngineはCPUを内蔵した大規
模なASICである。このため、内部のロジックが全部
同時に動作してしまうと、大量の熱を発生し、チップ自
体が破壊されてしまう恐れがある。これを防ぐために、
DoEngineは、ブロック毎の電力の管理、すなわ
ちパワーマネジメントを行ない、更にチップ全体の消費
電力量の監視を行なう。
模なASICである。このため、内部のロジックが全部
同時に動作してしまうと、大量の熱を発生し、チップ自
体が破壊されてしまう恐れがある。これを防ぐために、
DoEngineは、ブロック毎の電力の管理、すなわ
ちパワーマネジメントを行ない、更にチップ全体の消費
電力量の監視を行なう。
【0430】パワーマネージメントは、それぞれのブロ
ックが各自個別に行なう。各ブロックの消費電力量の情
報は、パワーマネージメントレベルとして、電力管理ユ
ニット(PMU)409に集められる。PMU409で
は、各ブロックの消費電力量を合計し、その値が限界消
費電力を超えないように、DoEngineの各ブロッ
クの消費電力量を一括して監視する。
ックが各自個別に行なう。各ブロックの消費電力量の情
報は、パワーマネージメントレベルとして、電力管理ユ
ニット(PMU)409に集められる。PMU409で
は、各ブロックの消費電力量を合計し、その値が限界消
費電力を超えないように、DoEngineの各ブロッ
クの消費電力量を一括して監視する。
【0431】<動作>電力管理ブロックの動作は次の通
りである。 ・各ブロックは、4段階のパワーマネジメントレベルを
持つ。 ・PMUは、それぞれのレベルにおける消費電力の値を
レジスタとして持つ。このレベル構成及び消費電力の値
は、PM構成レジスタ5401に保持される。 ・PMUは、各ブロックからパワーマネジメントレベル
を2ビットのステータス信号として受け取り(後述)、
レジスタ5401に設定された値と照合させて各ブロッ
クの消費電力を知る。 ・PMUは各ブロックの消費電力を加算器5403で加
算し、DoEngine全体の消費電力量をリアルタイ
ムに計算する。 ・算出された消費電力量は、構成レジスタ5401に設
定された消費電力のリミット値(PMリミット)と比較
器5404で比較され、これを超えた場合には割込発生
器5405から割り込み信号を発行する。 ・このリミット値は2段階設定することができる。1段
階目は、本当の限界から少し余裕を持たせた値を設定し
ておく。この値を超えると、通常の割込み信号が発行さ
れる。ソフトウェアはこれを受けて、新たにブロックを
起動するような転送は始めないようにする。ただ、2段
階目のリミット値に達しない範囲内では、ソフトウェア
の管理の元で、新たなブロックを起動することができ
る。2段階目のリミット値は、デバイスが破壊される恐
れのある値を設定しておく。万が一、この値を超えてし
まった時には、NMI(割込マスクが設定できない割り
込み)を発行して安全のためにシステムを停止させる。 ・割込み信号は、PMUの状態レジスタ5402をリー
ドすることで解除される。この状態レジスタ5402を
リードした時点からタイマカウントを始め、タイマがエ
クスパイアするまで消費電力量が戻らなければ、再び割
込み信号を発行する。このタイマの値の設定はPMUの
構成レジスタ5401に設定される。
りである。 ・各ブロックは、4段階のパワーマネジメントレベルを
持つ。 ・PMUは、それぞれのレベルにおける消費電力の値を
レジスタとして持つ。このレベル構成及び消費電力の値
は、PM構成レジスタ5401に保持される。 ・PMUは、各ブロックからパワーマネジメントレベル
を2ビットのステータス信号として受け取り(後述)、
レジスタ5401に設定された値と照合させて各ブロッ
クの消費電力を知る。 ・PMUは各ブロックの消費電力を加算器5403で加
算し、DoEngine全体の消費電力量をリアルタイ
ムに計算する。 ・算出された消費電力量は、構成レジスタ5401に設
定された消費電力のリミット値(PMリミット)と比較
器5404で比較され、これを超えた場合には割込発生
器5405から割り込み信号を発行する。 ・このリミット値は2段階設定することができる。1段
階目は、本当の限界から少し余裕を持たせた値を設定し
ておく。この値を超えると、通常の割込み信号が発行さ
れる。ソフトウェアはこれを受けて、新たにブロックを
起動するような転送は始めないようにする。ただ、2段
階目のリミット値に達しない範囲内では、ソフトウェア
の管理の元で、新たなブロックを起動することができ
る。2段階目のリミット値は、デバイスが破壊される恐
れのある値を設定しておく。万が一、この値を超えてし
まった時には、NMI(割込マスクが設定できない割り
込み)を発行して安全のためにシステムを停止させる。 ・割込み信号は、PMUの状態レジスタ5402をリー
ドすることで解除される。この状態レジスタ5402を
リードした時点からタイマカウントを始め、タイマがエ
クスパイアするまで消費電力量が戻らなければ、再び割
込み信号を発行する。このタイマの値の設定はPMUの
構成レジスタ5401に設定される。
【0432】<各ブロックのパワーマネージメント>各
ブロックのパワーマネージメント制御は、ブロック毎に
自由に構成してよい。構成例の例を示す。
ブロックのパワーマネージメント制御は、ブロック毎に
自由に構成してよい。構成例の例を示す。
【0433】(構成例1)この例では、内部ロジックへ
のクロックをオン/オフすることにより、パワーマネジ
メントを行なっているので、消費電力のレベルは2段階
しか持っていない。このレベルをステータス信号として
電力管理ユニット409に送る。図88にバスエージェ
ントのブロック図を示す。 ・バスエージェント5501は、各ユニット毎の内部ロ
ジック5502、アドレスをデコードするデコーダ55
03、クロックコントロール部5504、クロックゲー
ト5505を含む。 ・デコーダ5503とクロックコントロール部5504
は常に動作しており、パワーマネージメントコントロー
ルとして、バスのアクティビティーの監視、内部ロジッ
クへのクロックのゲーティングを行なっている。
のクロックをオン/オフすることにより、パワーマネジ
メントを行なっているので、消費電力のレベルは2段階
しか持っていない。このレベルをステータス信号として
電力管理ユニット409に送る。図88にバスエージェ
ントのブロック図を示す。 ・バスエージェント5501は、各ユニット毎の内部ロ
ジック5502、アドレスをデコードするデコーダ55
03、クロックコントロール部5504、クロックゲー
ト5505を含む。 ・デコーダ5503とクロックコントロール部5504
は常に動作しており、パワーマネージメントコントロー
ルとして、バスのアクティビティーの監視、内部ロジッ
クへのクロックのゲーティングを行なっている。
【0434】<クロックコントロール> ・バスエージェントは、バスのアクティビティーを検出
し、クロックのオン/オフを自動で行なう。 ・バスエージェントには、Sleep,Wake U
p,Waitの3つのステートがある。 ・Sleepはバスエージェントにアクティビティーが
なく、クロックゲートクロックを停止させている状態で
ある。 ・Sleepの状態でも、デコーダ部5503、クロッ
クコントロール部5504は動作しており、バスをモニ
タリングして、要求を待っている。 ・デコーダ5503が自分のアドレスを検出すると、ク
ロックゲート5505を開き、内部ロジックのクロック
を動作させ、バスの要求に応える。ステートはWake
Upに移行する。また、この状態を電力管理ユニット
409に通知する。 ・データ転送が終了すると、Waitステートに移行
し、次の要求を待つ。この時クロックは動作したままで
ある。要求があれば、Wake Upステートに戻り、
転送を行なう。また、要求を待っている間はタイマによ
りカウントを行ない、要求がないままカウンタがタイム
アップした場合は、Sleepステートへ移り、クロッ
クを停止させる。この状態も電力管理ユニット409に
通知される。
し、クロックのオン/オフを自動で行なう。 ・バスエージェントには、Sleep,Wake U
p,Waitの3つのステートがある。 ・Sleepはバスエージェントにアクティビティーが
なく、クロックゲートクロックを停止させている状態で
ある。 ・Sleepの状態でも、デコーダ部5503、クロッ
クコントロール部5504は動作しており、バスをモニ
タリングして、要求を待っている。 ・デコーダ5503が自分のアドレスを検出すると、ク
ロックゲート5505を開き、内部ロジックのクロック
を動作させ、バスの要求に応える。ステートはWake
Upに移行する。また、この状態を電力管理ユニット
409に通知する。 ・データ転送が終了すると、Waitステートに移行
し、次の要求を待つ。この時クロックは動作したままで
ある。要求があれば、Wake Upステートに戻り、
転送を行なう。また、要求を待っている間はタイマによ
りカウントを行ない、要求がないままカウンタがタイム
アップした場合は、Sleepステートへ移り、クロッ
クを停止させる。この状態も電力管理ユニット409に
通知される。
【0435】以上のようにして、消費電力が所定値を越
えないように管理している。
えないように管理している。
【0436】<コピー動作>上述の構成により、スキャ
ナから読み込んだ画像データをそのままプリンタへ転送
して、プリンタで画像形成する動作をコピー動作を行う
ことができる。本実施形態のDo Engineを用い
たスキャナ/プリンタシステムでは、以下に示す3種類
のコピーの方式がそのシステム構成に応じて選択され
る。
ナから読み込んだ画像データをそのままプリンタへ転送
して、プリンタで画像形成する動作をコピー動作を行う
ことができる。本実施形態のDo Engineを用い
たスキャナ/プリンタシステムでは、以下に示す3種類
のコピーの方式がそのシステム構成に応じて選択され
る。
【0437】(方式1)第1の方式は、スキャナによる
画像入力の垂直・水平タイミングと、プリンタによる画
像出力の水平・垂直タイミングがそれぞれ一致してい
て、ビデオデータの転送速度も一致している組み合わせ
のシステムにおける方式である。
画像入力の垂直・水平タイミングと、プリンタによる画
像出力の水平・垂直タイミングがそれぞれ一致してい
て、ビデオデータの転送速度も一致している組み合わせ
のシステムにおける方式である。
【0438】垂直同期信号(VSYNC)はプリンタか
ら出力されて、プリンタコントローラ(PRC)に入力
される。このVSYNC信号は、プリンタコントローラ
(PRC)からCPバスを介してスキャナコントローラ
(SCC)に入力される。そして、スキャナコントロー
ラ(SCC)からスキャナに対して出力される。これに
より、プリンタとスキャナの垂直同期がとられる。水平
同期についても、垂直同期信号VSYNCと同様に、水
平同期信号(HSYNC)がプリンタから出力され、プ
リンタコントローラ,CP−バス,スキャナコントロー
ラを介してスキャナに入力される。これによりスキャナ
とプリンタとの水平同期がとられる。このように、垂直
方向及び水平方向の同期がとられてスキャナとプリンタ
が動作する。ビデオデータは同期用のビデオクロックと
ともにスキャナから出力される。出力されたビデオクロ
ックとビデオデータはスキャナコントローラ(SCC)
に入力され、CPバスを介して、プリンタコントローラ
(PRC)に入力される。そして、プリンタコントロー
ラ(PRC)からプリンタに出力される。プリンタでは
ビデオクロックに同期してビデオデータを受け取り、画
像出力をおこなう。
ら出力されて、プリンタコントローラ(PRC)に入力
される。このVSYNC信号は、プリンタコントローラ
(PRC)からCPバスを介してスキャナコントローラ
(SCC)に入力される。そして、スキャナコントロー
ラ(SCC)からスキャナに対して出力される。これに
より、プリンタとスキャナの垂直同期がとられる。水平
同期についても、垂直同期信号VSYNCと同様に、水
平同期信号(HSYNC)がプリンタから出力され、プ
リンタコントローラ,CP−バス,スキャナコントロー
ラを介してスキャナに入力される。これによりスキャナ
とプリンタとの水平同期がとられる。このように、垂直
方向及び水平方向の同期がとられてスキャナとプリンタ
が動作する。ビデオデータは同期用のビデオクロックと
ともにスキャナから出力される。出力されたビデオクロ
ックとビデオデータはスキャナコントローラ(SCC)
に入力され、CPバスを介して、プリンタコントローラ
(PRC)に入力される。そして、プリンタコントロー
ラ(PRC)からプリンタに出力される。プリンタでは
ビデオクロックに同期してビデオデータを受け取り、画
像出力をおこなう。
【0439】このコピー動作は、図89に示す構成によ
り行われる。このコピー動作ではGバスおよびBバスを
使用せずにコピー動作がおこなわれる。
り行われる。このコピー動作ではGバスおよびBバスを
使用せずにコピー動作がおこなわれる。
【0440】このコピー動作中、画像データはCPバス
を介してスキャナからプリンタへ直接転送されるが、同
時にスキャナコントローラ(SCC)からGバスのDM
A転送によってSDRAMへ書き込むことが可能であ
る。コピー動作と同時にSDRAMに書き込まれた画像
データは、必要に応じて画像データとして格納すること
等が可能となる。また、SDRAM上の画像データをプ
リンタへ出力することにより、スキャナで読み取った画
像データを複数部の出力することが、スキャナの動作な
しに可能となる。
を介してスキャナからプリンタへ直接転送されるが、同
時にスキャナコントローラ(SCC)からGバスのDM
A転送によってSDRAMへ書き込むことが可能であ
る。コピー動作と同時にSDRAMに書き込まれた画像
データは、必要に応じて画像データとして格納すること
等が可能となる。また、SDRAM上の画像データをプ
リンタへ出力することにより、スキャナで読み取った画
像データを複数部の出力することが、スキャナの動作な
しに可能となる。
【0441】(方式2)第2の方式は、スキャナによる
画像入力の水平タイミングと、プリンタによる画像出力
の水平タイミングとが一致しており、垂直タイミングと
ビデオデータの転送速度がそれぞれ一致していない組み
合わせのシステムにおける方式である。
画像入力の水平タイミングと、プリンタによる画像出力
の水平タイミングとが一致しており、垂直タイミングと
ビデオデータの転送速度がそれぞれ一致していない組み
合わせのシステムにおける方式である。
【0442】この場合のコピー動作を図90で説明す
る。スキャナが画像を読み取り始めると、垂直同期信号
(VSYNC)、水平同期信号(HSYNC)、ビデオ
クロックという3つのタイミング信号がスキャナコント
ローラ(SCC)に入力される。ビデオクロックに同期
してビデオデータもスキャナコントローラ(SCC)に
入力される。上記タイミング信号に同期して、スキャナ
コントローラ(SCC)はビデオデータを内部のFIF
O(FIFO SCC)に取り込む。FIFO−SCC
に画像データが入り始めると同時に、FIFO SCC
から、スキャナのGバス/BバスI/Fユニット430
1A(GBI SCC)のFIFO(FIFO GBI
SCC)にデータ転送が開始される。スキャナからの
画像データは、FIFO SCCを介して順次FIFO
GBI SCCに転送される。FIFO GBI S
CCにデータが入り始めると、プリンタのGバス/Bバ
スI/Fユニット4301B(GBI_PRC)がマス
ターで、スキャナのGバス/BバスI/Fユニット43
01A(GBI SCC)がスレーブとなるDMA転送
が開始される。この時のバスは、Gバスが空いていれば
そちらを利用するが、空いていなければBバスであって
も良い。
る。スキャナが画像を読み取り始めると、垂直同期信号
(VSYNC)、水平同期信号(HSYNC)、ビデオ
クロックという3つのタイミング信号がスキャナコント
ローラ(SCC)に入力される。ビデオクロックに同期
してビデオデータもスキャナコントローラ(SCC)に
入力される。上記タイミング信号に同期して、スキャナ
コントローラ(SCC)はビデオデータを内部のFIF
O(FIFO SCC)に取り込む。FIFO−SCC
に画像データが入り始めると同時に、FIFO SCC
から、スキャナのGバス/BバスI/Fユニット430
1A(GBI SCC)のFIFO(FIFO GBI
SCC)にデータ転送が開始される。スキャナからの
画像データは、FIFO SCCを介して順次FIFO
GBI SCCに転送される。FIFO GBI S
CCにデータが入り始めると、プリンタのGバス/Bバ
スI/Fユニット4301B(GBI_PRC)がマス
ターで、スキャナのGバス/BバスI/Fユニット43
01A(GBI SCC)がスレーブとなるDMA転送
が開始される。この時のバスは、Gバスが空いていれば
そちらを利用するが、空いていなければBバスであって
も良い。
【0443】このDMA転送により、FIFO SCC
の画像データはGBI PRC内のFIFO(FIFO
GBI PRC)へ転送される。FIFO GBI
PRCの画像データは、順次プリンタコントローラ(P
RC)のFIFO(FIFO PRC)へ転送される。F
IFO PRCに画像データが入り始めると、プリンタ
コントローラ(PRC)はプリンタに垂直同期信号(V
SYNC)を入力する。プリンタからは、VSYNCの
タイミングにより、水平同期信号(HSYNC)とビデ
オクロックを出力しはじめる。プリンタコントローラ
(PRC)は水平同期信号HSYNCで水平同期をと
り、ビデオクロックに同期して、ビデオデータをFIF
O PRCから出力する。そのビデオデータをプリンタ
が画像出力する。
の画像データはGBI PRC内のFIFO(FIFO
GBI PRC)へ転送される。FIFO GBI
PRCの画像データは、順次プリンタコントローラ(P
RC)のFIFO(FIFO PRC)へ転送される。F
IFO PRCに画像データが入り始めると、プリンタ
コントローラ(PRC)はプリンタに垂直同期信号(V
SYNC)を入力する。プリンタからは、VSYNCの
タイミングにより、水平同期信号(HSYNC)とビデ
オクロックを出力しはじめる。プリンタコントローラ
(PRC)は水平同期信号HSYNCで水平同期をと
り、ビデオクロックに同期して、ビデオデータをFIF
O PRCから出力する。そのビデオデータをプリンタ
が画像出力する。
【0444】このコピー動作の場合、画像データは、ス
キャナ,スキャナコントローラのFIFO(FIFO
SCC),Gバス/BバスI/FユニットのFIFO
(FIFO GBI SCC),Gバス/BバスI/F
ユニットのFIFO(FIFO GBI PRC),プリ
ンタコントローラのFIFO(FIFO PRC),プ
リンタの順で転送されて、画像コピー動作がなされる。
水平同期の間隔はスキャナとプリンタとで同一であるの
で、画像データの転送速度の違いは各FIFOにより緩
衝される。
キャナ,スキャナコントローラのFIFO(FIFO
SCC),Gバス/BバスI/FユニットのFIFO
(FIFO GBI SCC),Gバス/BバスI/F
ユニットのFIFO(FIFO GBI PRC),プリ
ンタコントローラのFIFO(FIFO PRC),プ
リンタの順で転送されて、画像コピー動作がなされる。
水平同期の間隔はスキャナとプリンタとで同一であるの
で、画像データの転送速度の違いは各FIFOにより緩
衝される。
【0445】(方式3)第3の方式は、スキャナとプリ
ンタの垂直同期タイミング、水平同期タイミング、ビデ
オデータの転送速度がそれぞれすべて異なる組み合わせ
のシステムにおける方式である。
ンタの垂直同期タイミング、水平同期タイミング、ビデ
オデータの転送速度がそれぞれすべて異なる組み合わせ
のシステムにおける方式である。
【0446】この場合のコピー動作を図91により説明
する。スキャナで画像の読み取りが開始すると、スキャ
ナは垂直同期信号(VSYNC)、水平同期信号(HS
YNC)、ビデオクロックをスキャナコントローラ(S
CC)に出力する。これらのタイミング信号に同期して
画像データが出力される。スキャナコントローラ(SC
C)は上記タイミング信号に同期して画像データを取り
込む。取り込まれた画像データはGBI SCCによ
り、DMA転送でメモリコントローラ(MC)403へ
転送される。MC403では、DMA転送された画像デ
ータをSDRAMに書き込む。SDRAMに書き込まれ
た画像データの量が、スキャナとプリンタの画像データ
転送速度の差を緩衝できる量に達すると、プリンタへの
画像データ転送が開始される。この画像データ量の判定
は、スキャナからのデータ転送時間による判定、SDR
AMに書き込まれるアドレスによる判定、GBI SC
CにおけるDMA転送量の判定等、種々の方式がある。
する。スキャナで画像の読み取りが開始すると、スキャ
ナは垂直同期信号(VSYNC)、水平同期信号(HS
YNC)、ビデオクロックをスキャナコントローラ(S
CC)に出力する。これらのタイミング信号に同期して
画像データが出力される。スキャナコントローラ(SC
C)は上記タイミング信号に同期して画像データを取り
込む。取り込まれた画像データはGBI SCCによ
り、DMA転送でメモリコントローラ(MC)403へ
転送される。MC403では、DMA転送された画像デ
ータをSDRAMに書き込む。SDRAMに書き込まれ
た画像データの量が、スキャナとプリンタの画像データ
転送速度の差を緩衝できる量に達すると、プリンタへの
画像データ転送が開始される。この画像データ量の判定
は、スキャナからのデータ転送時間による判定、SDR
AMに書き込まれるアドレスによる判定、GBI SC
CにおけるDMA転送量の判定等、種々の方式がある。
【0447】プリンタへの画像データ転送はプリンタコ
ントローラ(PRC)により行われる。プリンタコント
ローラ(PRC)は、GBI PRCのDMA転送によ
り、SDRAMに書き込まれた画像データを順次内部の
FIFOへ入力する。同時にプリンタへ垂直同期信号
(VSYNC)を出力する。その後、プリンタからは水
平同期信号(HSYNC)とビデオクロックを入力す
る。このHSYNCとビデオクロックと同期して、プリ
ンタコントローラ(PRC)は内部のFIFOから画像
データをプリンタへと出力する。上記画像データの流れ
により、スキャナで読み取られた画像データをプリンタ
から出力するコピー動作がおこなわれる。この場合の画
像データの流れは、スキャナ,スキャナコントローラ,
スキャナのGバス/BバスI/Fユニット(GBISC
C),メモリコントローラ(MC),SDRAM,メモ
リコントローラ(MC),プリンタのGバス/BバスI
/Fユニット(GBI PRC),プリンタコントロー
ラ(RRC),プリンタの順となる。このように、一旦
メモリに格納し、それをスキャナとプリンタとの間の緩
衝メモリとして、スキャナからプリンタへと画像データ
を転送し、コピーを行う。
ントローラ(PRC)により行われる。プリンタコント
ローラ(PRC)は、GBI PRCのDMA転送によ
り、SDRAMに書き込まれた画像データを順次内部の
FIFOへ入力する。同時にプリンタへ垂直同期信号
(VSYNC)を出力する。その後、プリンタからは水
平同期信号(HSYNC)とビデオクロックを入力す
る。このHSYNCとビデオクロックと同期して、プリ
ンタコントローラ(PRC)は内部のFIFOから画像
データをプリンタへと出力する。上記画像データの流れ
により、スキャナで読み取られた画像データをプリンタ
から出力するコピー動作がおこなわれる。この場合の画
像データの流れは、スキャナ,スキャナコントローラ,
スキャナのGバス/BバスI/Fユニット(GBISC
C),メモリコントローラ(MC),SDRAM,メモ
リコントローラ(MC),プリンタのGバス/BバスI
/Fユニット(GBI PRC),プリンタコントロー
ラ(RRC),プリンタの順となる。このように、一旦
メモリに格納し、それをスキャナとプリンタとの間の緩
衝メモリとして、スキャナからプリンタへと画像データ
を転送し、コピーを行う。
【0448】本システムは上記3方式のコピー動作機能
を有する。(方式1)、(方式2)、(方式3)の順で
コピー動作時に動作する内部ブロックが多くなる。内部
ブロックの使用率が増加すると、システム全体のパフォ
ーマンスが効率を低下させる要因となりうる。本システ
ムは接続されるデバイス(プリンタ・スキャナ)に応じ
て、システム全体が最も効率的なコピー動作方式を選択
することが可能である。
を有する。(方式1)、(方式2)、(方式3)の順で
コピー動作時に動作する内部ブロックが多くなる。内部
ブロックの使用率が増加すると、システム全体のパフォ
ーマンスが効率を低下させる要因となりうる。本システ
ムは接続されるデバイス(プリンタ・スキャナ)に応じ
て、システム全体が最も効率的なコピー動作方式を選択
することが可能である。
【0449】コピー方式を選択する方法としては、例え
ば次のようなものがある。 UART等を介して指定するコピー方式そのものを入
力させ、指定された方式でコピー動作を行う。 プリンタとスキャナのデータ転送速度や水平・垂直同
期周波数等、必要なパラメタをUART等から入力さ
せ、それらの値に応じて上記3通りの方式からCPU4
01がひとつを選択し、その方式でコピー動作を行わせ
る。 プリンタコントローラがプリンタのデータ転送速度や
水平・垂直同期周波数等、必要なパラメタを読取り、ス
キャナコントローラがスキャナからデータ転送速度や水
平・垂直同期周波数等、必要なパラメタを読取り、それ
らをCPU401により比較判定してコピー動作の方式
を決定する。
ば次のようなものがある。 UART等を介して指定するコピー方式そのものを入
力させ、指定された方式でコピー動作を行う。 プリンタとスキャナのデータ転送速度や水平・垂直同
期周波数等、必要なパラメタをUART等から入力さ
せ、それらの値に応じて上記3通りの方式からCPU4
01がひとつを選択し、その方式でコピー動作を行わせ
る。 プリンタコントローラがプリンタのデータ転送速度や
水平・垂直同期周波数等、必要なパラメタを読取り、ス
キャナコントローラがスキャナからデータ転送速度や水
平・垂直同期周波数等、必要なパラメタを読取り、それ
らをCPU401により比較判定してコピー動作の方式
を決定する。
【0450】上記〜の方法で決定された、あるいは
選択されたコピー方式はCPUからプリンタコントロー
ラ及びスキャナコントローラに知らされ、その方式でプ
リンタコントローラ及びスキャナコントローラ等により
コピーを行わせる。
選択されたコピー方式はCPUからプリンタコントロー
ラ及びスキャナコントローラに知らされ、その方式でプ
リンタコントローラ及びスキャナコントローラ等により
コピーを行わせる。
【0451】次に、上記の方式でコピー方式を決定す
る手順を説明する。
る手順を説明する。
【0452】図100は、CPU401による、3通り
のコピー方式からシステムで使用するコピー方式を選択
する手順のフローチャートである。この動作はシステム
の電源立ち上げ時、ステップS1から開始される。
のコピー方式からシステムで使用するコピー方式を選択
する手順のフローチャートである。この動作はシステム
の電源立ち上げ時、ステップS1から開始される。
【0453】ステップS2では、プリンタの種別の判定
が行われる。CPU401はプリンタコントローラ43
03を介して、プリンタビデオI/Fに含まれるコマン
ド/ステータスラインを通じて、プリンタから種別を示
すIDを取得する。このコマンド/ステータスライン
は、プリンタコントローラとプリンタとが1対1にコマ
ンド/ステータスのやりとりができるシリアル通信ライ
ンである。
が行われる。CPU401はプリンタコントローラ43
03を介して、プリンタビデオI/Fに含まれるコマン
ド/ステータスラインを通じて、プリンタから種別を示
すIDを取得する。このコマンド/ステータスライン
は、プリンタコントローラとプリンタとが1対1にコマ
ンド/ステータスのやりとりができるシリアル通信ライ
ンである。
【0454】ステップS3では、同様にCPUがスキャ
ナコントローラ4302を介して、スキャナビデオI/
Fに含まれるコマンド/ステータスラインを通じ、スキ
ャナから種別を示すIDを取得する。
ナコントローラ4302を介して、スキャナビデオI/
Fに含まれるコマンド/ステータスラインを通じ、スキ
ャナから種別を示すIDを取得する。
【0455】ステップS4では、ステップS2とS3で
判定された、スキャナとプリンタの組み合わせに適した
コピー経路の判定が行われる。スキャナとプリンタの組
み合わせに適したコピー経路の判定は、あらかじめテー
ブルの形式で、例えば、フラッシュROM等のCPUが
参照可能なメモリに準備されている。各コピー経路に適
したスキャナとプリンタの組み合わせは次のようなもの
がある。 (方式1)スキャナとプリンタの水平、垂直
タイミングが同期していて、ビデオデータの転送速度も
同期している組み合わせ (方式2)スキャナとプリンタの水平同期タイミングの
速度が同一で、垂直タイミングとビデオデータの転送速
度は同期していない組み合わせ (方式3)スキャナとプリンタの垂直同期タイミング、
水平同期タイミング、ビデオデータの転送速度がそれぞ
れ異なる組み合わせ CPUは、あらかじめ用意されたテーブル参照におい
て、上記3方式から適切なコピー方式を選択する。
判定された、スキャナとプリンタの組み合わせに適した
コピー経路の判定が行われる。スキャナとプリンタの組
み合わせに適したコピー経路の判定は、あらかじめテー
ブルの形式で、例えば、フラッシュROM等のCPUが
参照可能なメモリに準備されている。各コピー経路に適
したスキャナとプリンタの組み合わせは次のようなもの
がある。 (方式1)スキャナとプリンタの水平、垂直
タイミングが同期していて、ビデオデータの転送速度も
同期している組み合わせ (方式2)スキャナとプリンタの水平同期タイミングの
速度が同一で、垂直タイミングとビデオデータの転送速
度は同期していない組み合わせ (方式3)スキャナとプリンタの垂直同期タイミング、
水平同期タイミング、ビデオデータの転送速度がそれぞ
れ異なる組み合わせ CPUは、あらかじめ用意されたテーブル参照におい
て、上記3方式から適切なコピー方式を選択する。
【0456】ステップS5では、ステップS4で選択さ
れたコピー方式に応じたモード設定がスキャナコントロ
ーラ4302に対してなされる。このモード設定は、C
PUがBBusを介して行う。
れたコピー方式に応じたモード設定がスキャナコントロ
ーラ4302に対してなされる。このモード設定は、C
PUがBBusを介して行う。
【0457】図101は、スキャナコントローラ430
2内部のデータバスの切り換え回路を示す図である。な
お、データバスセレクタは、図44のスキャナデバイス
I/F4401に含まれる。また、データバスの切り替
えの説明に不用なスキャナビデオクロックユニット等は
省略した。
2内部のデータバスの切り換え回路を示す図である。な
お、データバスセレクタは、図44のスキャナデバイス
I/F4401に含まれる。また、データバスの切り替
えの説明に不用なスキャナビデオクロックユニット等は
省略した。
【0458】レジスタ1には、データバスのモードが設
定される。CPUは、図100のステップS4において
選択したコピー方式に応じたモードをレジスタ1に設定
する。セレクト制御信号4は、モード設定レジスタ1に
設定されたモードに応じてデータパスを選択するための
信号である。スキャナビデオバス2は、スキャナからの
ビデオデータのバスである。バス5は、スキャナからの
ビデオデータをFIFO SCC6に転送するバスであ
る。CPビデオバス7は、(方式1)のコピー動作を行
う場合に使用されるバスである。スキャンビデオバスか
らのビデオデータは(方式1)の場合はCPビデオバス
7に出力するようにデータパスがセレクトされる。(方
式2)、(方式3)の場合にはバス5にビデオデータが
出力されて、FIFO SCC4407に転送される。
定される。CPUは、図100のステップS4において
選択したコピー方式に応じたモードをレジスタ1に設定
する。セレクト制御信号4は、モード設定レジスタ1に
設定されたモードに応じてデータパスを選択するための
信号である。スキャナビデオバス2は、スキャナからの
ビデオデータのバスである。バス5は、スキャナからの
ビデオデータをFIFO SCC6に転送するバスであ
る。CPビデオバス7は、(方式1)のコピー動作を行
う場合に使用されるバスである。スキャンビデオバスか
らのビデオデータは(方式1)の場合はCPビデオバス
7に出力するようにデータパスがセレクトされる。(方
式2)、(方式3)の場合にはバス5にビデオデータが
出力されて、FIFO SCC4407に転送される。
【0459】図100で、次にステップS6に移行す
る。ステップS6では、GBI sccの動作モード設
定を行う。このモード設定はCPUがステップS4で選
択したコピー方式に基づいて行う。(方式1)では、G
BI sccは非動作指定される。(方式2)では、D
MA転送のマスター指定がなされ、DMAの転送先には
GBI prcが設定される。(方式3)ではDMA転
送のマスター指定がなされ、DMAの転送先にはSDR
AMが設定される。
る。ステップS6では、GBI sccの動作モード設
定を行う。このモード設定はCPUがステップS4で選
択したコピー方式に基づいて行う。(方式1)では、G
BI sccは非動作指定される。(方式2)では、D
MA転送のマスター指定がなされ、DMAの転送先には
GBI prcが設定される。(方式3)ではDMA転
送のマスター指定がなされ、DMAの転送先にはSDR
AMが設定される。
【0460】次にステップS7では、GBI prcの
動作モード設定を行う。このモード設定はCPUがステ
ップS4で選択したコピー方式に基づいて行う。(方式
1)では、GBI prcは非動作指定がなされる。
(方式2)ではDMA転送のスレーブ指定がなされる。
(方式3)では、DMA転送のマスター指定がなされ、
DMA転送の読み出しもとはSDRAMが設定される。
動作モード設定を行う。このモード設定はCPUがステ
ップS4で選択したコピー方式に基づいて行う。(方式
1)では、GBI prcは非動作指定がなされる。
(方式2)ではDMA転送のスレーブ指定がなされる。
(方式3)では、DMA転送のマスター指定がなされ、
DMA転送の読み出しもとはSDRAMが設定される。
【0461】次にステップS8では、プリンタコントロ
ーラのモード設定がなされる。このモード設定はステッ
プS4で選択されたコピー方式に基づいてCPUが行
う。
ーラのモード設定がなされる。このモード設定はステッ
プS4で選択されたコピー方式に基づいてCPUが行
う。
【0462】図102は、プリンタコントローラ430
3内部のデータバスの切り換え回路を示す図である。レ
ジスタ11には、データバスのモードが設定される。C
PUは、図100のステップS4において選択したコピ
ー方式に応じたモードをレジスタ11に設定する。セレ
クト制御信号14は、モード設定レジスタ11に設定さ
れたモードに応じてデータバスのセレクトを行う信号で
ある。バス15は、FIFO PRC16から出力され
るデータのバスである。バス12は、プリンタへのビデ
オデータバスである。CPビデオバス17は、(方式
1)のコピー動作を行う場合に使用する。プリンタへの
ビデオデータは(方式1)の場合はCPビデオバスのデ
ータがセレクトされ、出力される。(方式2)、(方式
3)の場合にはバス15からのデータがプリンタビデオ
バス12に出力される。
3内部のデータバスの切り換え回路を示す図である。レ
ジスタ11には、データバスのモードが設定される。C
PUは、図100のステップS4において選択したコピ
ー方式に応じたモードをレジスタ11に設定する。セレ
クト制御信号14は、モード設定レジスタ11に設定さ
れたモードに応じてデータバスのセレクトを行う信号で
ある。バス15は、FIFO PRC16から出力され
るデータのバスである。バス12は、プリンタへのビデ
オデータバスである。CPビデオバス17は、(方式
1)のコピー動作を行う場合に使用する。プリンタへの
ビデオデータは(方式1)の場合はCPビデオバスのデ
ータがセレクトされ、出力される。(方式2)、(方式
3)の場合にはバス15からのデータがプリンタビデオ
バス12に出力される。
【0463】ステップS9で、電源立ち上げ時のコピー
方式選択のフローが終了する。以上のようにして、CP
Uはスキャナ及びプリンタの種別に応じたコピー方式を
決定することができる。
方式選択のフローが終了する。以上のようにして、CP
Uはスキャナ及びプリンタの種別に応じたコピー方式を
決定することができる。
【0464】なお、上述の手順はスキャナ及びプリンタ
の垂直同期タイミング、水平同期タイミング、ビデオデ
ータの転送速度に基づいて、コピー動作の方式を決定す
る手順であるが、単なるコピーでなく、画像の加工が加
わる場合にはこの限りではない。すなわち、図100の
ステップ2の前に、画像データを加工するか否かを判定
し、画像データを加工する場合には、スキャナ及びプリ
ンタの仕様に関わりなく、方式3を選択し、ステップS
5〜S8における設定では、データの径路が方式3にな
るよう各ブロックの設定を行う。こうすることで、画像
データを加工する場合には読み込んだ画像データはいっ
たんメモリに格納されるため、そこで画像データに対し
て必要な加工を施すことができる。
の垂直同期タイミング、水平同期タイミング、ビデオデ
ータの転送速度に基づいて、コピー動作の方式を決定す
る手順であるが、単なるコピーでなく、画像の加工が加
わる場合にはこの限りではない。すなわち、図100の
ステップ2の前に、画像データを加工するか否かを判定
し、画像データを加工する場合には、スキャナ及びプリ
ンタの仕様に関わりなく、方式3を選択し、ステップS
5〜S8における設定では、データの径路が方式3にな
るよう各ブロックの設定を行う。こうすることで、画像
データを加工する場合には読み込んだ画像データはいっ
たんメモリに格納されるため、そこで画像データに対し
て必要な加工を施すことができる。
【0465】また、方式2あるいは方式3ではバスを使
用する。この際、GバスあるいはBバスのいずれを使用
するかは、各バスの使用状況により決定される。すなわ
ち、Gバス/Bバスともにアイドル状態であれば、バス
幅の広いGバスを使用する。いずれかが使用中であれ
ば、未使用の方を使用する。
用する。この際、GバスあるいはBバスのいずれを使用
するかは、各バスの使用状況により決定される。すなわ
ち、Gバス/Bバスともにアイドル状態であれば、バス
幅の広いGバスを使用する。いずれかが使用中であれ
ば、未使用の方を使用する。
【0466】以上説明したように、DoEngineに
おいては、スキャナは、スキャナコントローラ4302
及びGBI SCC4301Aを介してバス(Gバス及
びBバス)に接続されている。スキャナコントローラ4
302及びGBI SCC4301Aは、それぞれFI
FOを介して互いに画像データを転送するように接続さ
れている。このように、それぞれがFIFOを有してい
るために、GBIは、64ビット幅で動作クロックが1
00MHzという非常に高速なGバスに接続されている
にも関わらず、比較的低速なスキャナから読み込まれた
画像データを効率的に転送することができる。これは、
プリンタコントローラに関しても同様である。
おいては、スキャナは、スキャナコントローラ4302
及びGBI SCC4301Aを介してバス(Gバス及
びBバス)に接続されている。スキャナコントローラ4
302及びGBI SCC4301Aは、それぞれFI
FOを介して互いに画像データを転送するように接続さ
れている。このように、それぞれがFIFOを有してい
るために、GBIは、64ビット幅で動作クロックが1
00MHzという非常に高速なGバスに接続されている
にも関わらず、比較的低速なスキャナから読み込まれた
画像データを効率的に転送することができる。これは、
プリンタコントローラに関しても同様である。
【0467】さらに、スキャナとプリンタそれぞれの同
期信号の一致・不一致に応じて、コピー時のデータ経路
を選択することで、スキャナ及びプリンタの仕様がどの
ようなものであろうとも、可能な限り速いデータ転送を
用いてコピーを行うことができる。
期信号の一致・不一致に応じて、コピー時のデータ経路
を選択することで、スキャナ及びプリンタの仕様がどの
ようなものであろうとも、可能な限り速いデータ転送を
用いてコピーを行うことができる。
【0468】すなわち、上述のスキャナコントローラ及
びプリンタコントローラ及びそれぞれのGBIを用いて
スキャナ及びプリンタをDoEngineのバスに接続
することで、スキャナ及びプリンタの仕様からのDoE
ngineの独立性をより高めることが可能となった。 [その他の構成例]図9及び図10で示したキャッシュ
の動作手順は、図103及び図104のようなものであ
ってもよい。
びプリンタコントローラ及びそれぞれのGBIを用いて
スキャナ及びプリンタをDoEngineのバスに接続
することで、スキャナ及びプリンタの仕様からのDoE
ngineの独立性をより高めることが可能となった。 [その他の構成例]図9及び図10で示したキャッシュ
の動作手順は、図103及び図104のようなものであ
ってもよい。
【0469】図103においては、MCバスよりデータ
転送が開始されると、その最初にMCバスで示されるm
TType[60:0]によってその転送をキャッシュ
オンで行うかオフで行うか判断される。ここでは、転送
がバースト転送の時、そのバースト転送データ量がキャ
ッシュの1ラインのデータ量より大か小かによって判断
する。なお、キャッシュの1ラインは256ビット=4
バースト分である。
転送が開始されると、その最初にMCバスで示されるm
TType[60:0]によってその転送をキャッシュ
オンで行うかオフで行うか判断される。ここでは、転送
がバースト転送の時、そのバースト転送データ量がキャ
ッシュの1ラインのデータ量より大か小かによって判断
する。なお、キャッシュの1ラインは256ビット=4
バースト分である。
【0470】図103において、メモリコントローラは
転送の開始でmTType[3:0]をチェックし、m
TTypeが示すバースト長が1/2/4であれば、キ
ャッシュオンで動作し、6/8/16/2×16/3×
16/4×16の場合はキャッシュオフで動作する。キ
ャッシュオンあるいはオフ後の動作は、図9及び図10
と同様である。
転送の開始でmTType[3:0]をチェックし、m
TTypeが示すバースト長が1/2/4であれば、キ
ャッシュオンで動作し、6/8/16/2×16/3×
16/4×16の場合はキャッシュオフで動作する。キ
ャッシュオンあるいはオフ後の動作は、図9及び図10
と同様である。
【0471】また、図105及び図106のように、デ
バイスによってキャッシュのオンオフを切り替えること
もできる。図105において、メモリコントローラは転
送の開始でmTType[6:4]をチェックすること
により転送要求デバイスを識別し、そのデバイスの転送
要求をキャッシュオンで動作するか、オフで動作するか
を判断するために、あらかじめ設定されている構成レジ
スタの値を参照し、キャッシュオンで動作するか、オフ
で動作するか決定する。キャッシュオンあるいはオフ後
の動作は、図9及び図10と同様である。構成レジスタ
の設定は、ハードウエア的に決定(変更不可)していも
良いし、ソフトウエアで書換え可能にしてもよい。
バイスによってキャッシュのオンオフを切り替えること
もできる。図105において、メモリコントローラは転
送の開始でmTType[6:4]をチェックすること
により転送要求デバイスを識別し、そのデバイスの転送
要求をキャッシュオンで動作するか、オフで動作するか
を判断するために、あらかじめ設定されている構成レジ
スタの値を参照し、キャッシュオンで動作するか、オフ
で動作するか決定する。キャッシュオンあるいはオフ後
の動作は、図9及び図10と同様である。構成レジスタ
の設定は、ハードウエア的に決定(変更不可)していも
良いし、ソフトウエアで書換え可能にしてもよい。
【0472】<複合画像形成装置の動作>Do Eng
ineの機構や動作は以上説明したとおりである。ここ
で、はじめに図127として示した複合画像形成装置の
動作について説明する。
ineの機構や動作は以上説明したとおりである。ここ
で、はじめに図127として示した複合画像形成装置の
動作について説明する。
【0473】図111は、複合画像形成装置の操作パネ
ル1を示す平面図である。この操作パネル1は、表示部
116−5と操作部116−6とを一体にしたものであ
り、図4の操作パネル417に相当する。
ル1を示す平面図である。この操作パネル1は、表示部
116−5と操作部116−6とを一体にしたものであ
り、図4の操作パネル417に相当する。
【0474】図111において、操作パネル1には、各
機能の選択状態等を示す操作画面表示部2と各機能を切
り替える操作部8と、その他の各種操作ボタン等が設け
られている。
機能の選択状態等を示す操作画面表示部2と各機能を切
り替える操作部8と、その他の各種操作ボタン等が設け
られている。
【0475】そして、図111では、複写機能が選択さ
れている状態を示しており、操作画面表示部2には、複
写機能の作動状況をメッセージ表示するためのメッセー
ジ部3と、複写機能以外の作動状況を表わすアイコン表
示部4と、複写機能が選択されていることを表わすアイ
コン5とが表示されている。このように、選択されてい
る機能以外に、動作している機能(ジョブ)を表示する
ことで、操作者が現在使用中の機器が、選択した機能で
動作しているのか否か認識できる。たとえば、オペレー
タが複写機能を選択した場合、プリントアウトがされて
も、それがオペレータの操作によるものかどうか、複合
機機では判断できない。例えば、その機器は接続された
コンピュータ等からプリンタとして使用されていること
もあり得る。オペレータは、状態の表示を見ることで、
現在の動作が果たして自分の選択した機能か、それとも
他のジョブを実行しているのか認識できることになる。
れている状態を示しており、操作画面表示部2には、複
写機能の作動状況をメッセージ表示するためのメッセー
ジ部3と、複写機能以外の作動状況を表わすアイコン表
示部4と、複写機能が選択されていることを表わすアイ
コン5とが表示されている。このように、選択されてい
る機能以外に、動作している機能(ジョブ)を表示する
ことで、操作者が現在使用中の機器が、選択した機能で
動作しているのか否か認識できる。たとえば、オペレー
タが複写機能を選択した場合、プリントアウトがされて
も、それがオペレータの操作によるものかどうか、複合
機機では判断できない。例えば、その機器は接続された
コンピュータ等からプリンタとして使用されていること
もあり得る。オペレータは、状態の表示を見ることで、
現在の動作が果たして自分の選択した機能か、それとも
他のジョブを実行しているのか認識できることになる。
【0476】なお、メッセージ部3には、1つだけメッ
セージが表示されるが、その他にもメッセージ群6で示
すような各種メッセージが表示可能である。また、アイ
コン表示部4には、1つまたは2つのアイコンが表示さ
れるが、その他にもアイコン群7で示すような各種アイ
コンが表示可能である。
セージが表示されるが、その他にもメッセージ群6で示
すような各種メッセージが表示可能である。また、アイ
コン表示部4には、1つまたは2つのアイコンが表示さ
れるが、その他にもアイコン群7で示すような各種アイ
コンが表示可能である。
【0477】また、図112は、操作画面表示部2にフ
ァクシミリ機能が選択されている状態を示している。
ァクシミリ機能が選択されている状態を示している。
【0478】この状態で操作画面表示部2には、ファク
シミリ機能の作動状況をメッセージ表示するためのメッ
セージ部10と、ファクシミリ機能以外の機能の作動状
況を表わすアイコン表示部11と、ファクシミリ機能が
選択されていることを表わすアイコン12とが表示され
ている。
シミリ機能の作動状況をメッセージ表示するためのメッ
セージ部10と、ファクシミリ機能以外の機能の作動状
況を表わすアイコン表示部11と、ファクシミリ機能が
選択されていることを表わすアイコン12とが表示され
ている。
【0479】なお、メッセージ部10には、1つだけメ
ッセージが表示されるが、その他にもメッセージ群13
で示すような各種メッセージが表示可能である。また、
アイコン表示部11には、1つまたは2つのアイコンが
表示されるが、その他にもアイコン群14で示すような
各種アイコンが表示可能である。
ッセージが表示されるが、その他にもメッセージ群13
で示すような各種メッセージが表示可能である。また、
アイコン表示部11には、1つまたは2つのアイコンが
表示されるが、その他にもアイコン群14で示すような
各種アイコンが表示可能である。
【0480】また、図113は、操作画面表示部2に電
子ファイル機能が選択されている状態を示している。
子ファイル機能が選択されている状態を示している。
【0481】この状態で操作画面表示部2には、電子フ
ァイル機能の作動状況をメッセージ表示するためのメッ
セージ部16と、電子ファイル機能以外の機能の作動状
況を表わすアイコン表示部17と、電子ファイル機能が
選択されていることを表わすアイコン18とが表示され
ている。
ァイル機能の作動状況をメッセージ表示するためのメッ
セージ部16と、電子ファイル機能以外の機能の作動状
況を表わすアイコン表示部17と、電子ファイル機能が
選択されていることを表わすアイコン18とが表示され
ている。
【0482】なお、メッセージ部16には、1つだけメ
ッセージが表示されるが、その他にもメッセージ群19
で示すような各種メッセージが表示可能である。また、
アイコン表示部17には、1つまたは2つのアイコンが
表示されるが、その他にもアイコン群20で示すような
各種アイコンが表示可能である。
ッセージが表示されるが、その他にもメッセージ群19
で示すような各種メッセージが表示可能である。また、
アイコン表示部17には、1つまたは2つのアイコンが
表示されるが、その他にもアイコン群20で示すような
各種アイコンが表示可能である。
【0483】また、図114は、操作画面表示部2にプ
リンタ機能が選択されている状態を示している。
リンタ機能が選択されている状態を示している。
【0484】この状態で操作画面表示部2には、プリン
タ機能の作動状況をメッセージ表示するためのメッセー
ジ部22とプリンタ機能以外の機能の作動状況を表わす
アイコン表示部23と、プリンタ機能が選択されている
ことを表わすアイコン24とが表示されている。
タ機能の作動状況をメッセージ表示するためのメッセー
ジ部22とプリンタ機能以外の機能の作動状況を表わす
アイコン表示部23と、プリンタ機能が選択されている
ことを表わすアイコン24とが表示されている。
【0485】なお、メッセージ部22には、1つだけメ
ッセージが表示されるが、その他にもメッセージ群25
で示すような各種メッセージが表示可能である。また、
アイコン表示部23には、1つまたは2つのアイコンが
表示されるが、その他にもアイコン群26で示すような
各種アイコンが表示可能である。
ッセージが表示されるが、その他にもメッセージ群25
で示すような各種メッセージが表示可能である。また、
アイコン表示部23には、1つまたは2つのアイコンが
表示されるが、その他にもアイコン群26で示すような
各種アイコンが表示可能である。
【0486】以下、使用者の操作に伴う並列作動状況の
表示動作について説明する。
表示動作について説明する。
【0487】通電状態の装置の操作パネル11にある、
複写機能が選択されている操作画面表示部2上にある複
写機能の作動状況メッセージ部3と、複写機能が選択さ
れていることを表わすアイコン5とにより、複写機能の
作動状況が使用者に認知できる。
複写機能が選択されている操作画面表示部2上にある複
写機能の作動状況メッセージ部3と、複写機能が選択さ
れていることを表わすアイコン5とにより、複写機能の
作動状況が使用者に認知できる。
【0488】さらに、複写機能以外の機能の作動状況を
表わすアイコン表示部4の表示により、他の機能の並列
作動状況が認知できる。
表わすアイコン表示部4の表示により、他の機能の並列
作動状況が認知できる。
【0489】次に、操作部8にあるファクシミリ機能の
ボタンを選択し、操作画面表示部2をファクシミリ機能
が選択されていることを表す図112の状態に切り替え
る。すると、その表示部2上にあるファクシミリ機能の
作動状況メッセージ部10とファクシミリ機能が選択さ
れていることを表わすアイコン12の表示により、ファ
クシミリ機能の作動状況が使用者に認知できる。
ボタンを選択し、操作画面表示部2をファクシミリ機能
が選択されていることを表す図112の状態に切り替え
る。すると、その表示部2上にあるファクシミリ機能の
作動状況メッセージ部10とファクシミリ機能が選択さ
れていることを表わすアイコン12の表示により、ファ
クシミリ機能の作動状況が使用者に認知できる。
【0490】さらに、ファクシミリ機能以外の機能の作
動状況を表わすアイコン表示部11の表示により、他の
機能の並列作動状況が認知できる。
動状況を表わすアイコン表示部11の表示により、他の
機能の並列作動状況が認知できる。
【0491】次に、操作部8にある電子ファイル機能の
ボタンを選択し、操作画面表示部2を電子ファイル機能
が選択されていることを表す図113の状態に切り替え
る。すると、その表示部2上にある電子ファイル機能の
作動状況メッセージ部16と電子ファイル機能が選択さ
れていることを表わすアイコン18の表示により、電子
ファイル機能の作動状況が使用者に認知できる。
ボタンを選択し、操作画面表示部2を電子ファイル機能
が選択されていることを表す図113の状態に切り替え
る。すると、その表示部2上にある電子ファイル機能の
作動状況メッセージ部16と電子ファイル機能が選択さ
れていることを表わすアイコン18の表示により、電子
ファイル機能の作動状況が使用者に認知できる。
【0492】さらに、電子ファイル機能以外の機能の作
動状況を表わすアイコン表示部17の表示により、他の
機能の並列作動状況が認知できる。
動状況を表わすアイコン表示部17の表示により、他の
機能の並列作動状況が認知できる。
【0493】次に、操作部8にあるファクシミリ機能の
ボタンを選択し、操作画面表示部2をプリンタ機能が選
択されていることを表す図114の状態に切り替える。
すると、その表示部2上にあるプリンタ機能の作動状況
メッセージ部22とプリンタ機能が選択されていること
を表わすアイコン24の表示により、プリンタ機能の作
動状況が使用者に認知できる。
ボタンを選択し、操作画面表示部2をプリンタ機能が選
択されていることを表す図114の状態に切り替える。
すると、その表示部2上にあるプリンタ機能の作動状況
メッセージ部22とプリンタ機能が選択されていること
を表わすアイコン24の表示により、プリンタ機能の作
動状況が使用者に認知できる。
【0494】さらに、プリンタ機能以外の機能の作業状
況を表わすアイコン表示23の表示により、他の機能の
並列作動状況が認知できる。 <ジョブ実行状態の表示
>図108に、オペレータが選択した機能を実行する際
の、ジョブの実行とその状態表示を行うための手順を示
す。また、図109に、画面表示を行うタスクと、ジョ
ブを実行するタスク群とのメッセージ交換の様を示す。
これらの処理は、図127にしめした装置全体の制御部
であるDo Engine116−1により実行され
る。
況を表わすアイコン表示23の表示により、他の機能の
並列作動状況が認知できる。 <ジョブ実行状態の表示
>図108に、オペレータが選択した機能を実行する際
の、ジョブの実行とその状態表示を行うための手順を示
す。また、図109に、画面表示を行うタスクと、ジョ
ブを実行するタスク群とのメッセージ交換の様を示す。
これらの処理は、図127にしめした装置全体の制御部
であるDo Engine116−1により実行され
る。
【0495】図108において、まずキー操作があった
か判定する(ステップS1081)。なお、予め機能は
選択されているものとする。キー操作がされたなら、押
されたキーがスタートキーか判定する(ステップS10
84)。スタートキーであれば、画面表示タスク109
1によりジョブ実行中の表示がなされる(ステップS1
085)。これにより、例えば図111の「コピーでき
ます」という表示が、メッセージ6に含まれる「コピー
中です」という表示に変更される。
か判定する(ステップS1081)。なお、予め機能は
選択されているものとする。キー操作がされたなら、押
されたキーがスタートキーか判定する(ステップS10
84)。スタートキーであれば、画面表示タスク109
1によりジョブ実行中の表示がなされる(ステップS1
085)。これにより、例えば図111の「コピーでき
ます」という表示が、メッセージ6に含まれる「コピー
中です」という表示に変更される。
【0496】そして画面表示タスク1091からジョブ
実行タスク1092に対してジョブ開始メッセージ10
93を送信する(ステップS1086)。これによりジ
ョブ実行タスクが起動される。また、ステップS108
4で、押されたキーがスタートキーでないと判定した場
合には、例えばコピーであればサイズや枚数といった、
ジョブの実行条件の入力などであるので、キー操作に応
じて設定を行う(ステップS1087)。
実行タスク1092に対してジョブ開始メッセージ10
93を送信する(ステップS1086)。これによりジ
ョブ実行タスクが起動される。また、ステップS108
4で、押されたキーがスタートキーでないと判定した場
合には、例えばコピーであればサイズや枚数といった、
ジョブの実行条件の入力などであるので、キー操作に応
じて設定を行う(ステップS1087)。
【0497】一方、ステップS1081でキー操作がな
いと判定される場合には、ジョブ実行タスクからのジョ
ブ終了メッセージ1094を受けているか判定し(ステ
ップS1082)、受けていればジョブ実行中の表示に
替えて終了メッセージを表示する(ステップS108
3)。図111で言えば、メッセージ6に含まれる「コ
ピー中です」なるジョブ実行中を示すの表示から、「コ
ピーできます」なる、ジョブが実行されていない状態の
表示に変更する。
いと判定される場合には、ジョブ実行タスクからのジョ
ブ終了メッセージ1094を受けているか判定し(ステ
ップS1082)、受けていればジョブ実行中の表示に
替えて終了メッセージを表示する(ステップS108
3)。図111で言えば、メッセージ6に含まれる「コ
ピー中です」なるジョブ実行中を示すの表示から、「コ
ピーできます」なる、ジョブが実行されていない状態の
表示に変更する。
【0498】上記の手順で注目すべきことは、ステップ
S1085及びステップS1083における表示処理
を、画像処理のジョブと並列に実行し得ることである。
すなわち、図4に示したように、Do Engine
は、画像データ用のGバスと汎用のBバスのデュアルバ
ス構成を有している。このため、図109における画面
表示タスク1091はBバスを用いて表示データを表示
部に出力し、ジョブ実行タスク群は、そのジョブがメモ
リの内容に対するCPUによる処理やGバスを用いた画
像入出である限り、Bバスを用いない。したがって、メ
モリ上のデータのCPU401による処理、あるいはG
バス404上のスキャナあるいはプリンタの画像データ
の入出力が実行中であってとしても、Bバスに接続され
た表示部116−5への表示出力あるいは操作部116
−6とのデータの入出力は同時並行して行うことができ
る。
S1085及びステップS1083における表示処理
を、画像処理のジョブと並列に実行し得ることである。
すなわち、図4に示したように、Do Engine
は、画像データ用のGバスと汎用のBバスのデュアルバ
ス構成を有している。このため、図109における画面
表示タスク1091はBバスを用いて表示データを表示
部に出力し、ジョブ実行タスク群は、そのジョブがメモ
リの内容に対するCPUによる処理やGバスを用いた画
像入出である限り、Bバスを用いない。したがって、メ
モリ上のデータのCPU401による処理、あるいはG
バス404上のスキャナあるいはプリンタの画像データ
の入出力が実行中であってとしても、Bバスに接続され
た表示部116−5への表示出力あるいは操作部116
−6とのデータの入出力は同時並行して行うことができ
る。
【0499】例えば、図111はコピー機能の画面であ
る。表示は「コピーできます」であり、コピージョブは
実行されていない。このとき表示されたアイコン4か
ら、ファクシミリの受信あるいは送信が行われているこ
とがわかる。この状態で、スタートボタンを押すと、図
108の手順が実行されて、コピージョブがスタートす
ると共に、表示が「コピー中です」に変更される。コピ
ージョブ実行中は、スキャナからの画像の読み込み及び
プリンタへの画像の書き出しにより、Gバス上には大量
の画像データが流される。
る。表示は「コピーできます」であり、コピージョブは
実行されていない。このとき表示されたアイコン4か
ら、ファクシミリの受信あるいは送信が行われているこ
とがわかる。この状態で、スタートボタンを押すと、図
108の手順が実行されて、コピージョブがスタートす
ると共に、表示が「コピー中です」に変更される。コピ
ージョブ実行中は、スキャナからの画像の読み込み及び
プリンタへの画像の書き出しにより、Gバス上には大量
の画像データが流される。
【0500】このとき、ファクシミリ受信あるいは送信
が終了したものとする。このとき、ファクシミリ受信あ
るいは送信が終了したことは、ただちにアイコン4を消
すことで画面表示される。画面表示はGバスを用いない
ため、進行中のコピージョブを全く遅滞させることがな
い。また、進行中のコピージョブの終了を待って表示を
行う必要もない。アイコン4等、オペレータが選択した
機能以外のジョブが動作していることを示すアイコンの
点灯及び消灯も、画面表示タスク1091により実行さ
れる。ただし、オペレータにより選択されていない機能
についてはキー操作と連動せず、ジョブの開始/終了に
応じてアイコンの点灯/消灯の制御が画面表示タスクに
より行われる。すなわち、選択されていない機能のジョ
ブに関しては、図108に示したステップS1081の
かわりに、選択されていない機能に関し何らかの指示が
されているか判定し、ステップS1084のかわりに、
その指示がジョブの実行開始の指示であるかを判定する
ことになる。
が終了したものとする。このとき、ファクシミリ受信あ
るいは送信が終了したことは、ただちにアイコン4を消
すことで画面表示される。画面表示はGバスを用いない
ため、進行中のコピージョブを全く遅滞させることがな
い。また、進行中のコピージョブの終了を待って表示を
行う必要もない。アイコン4等、オペレータが選択した
機能以外のジョブが動作していることを示すアイコンの
点灯及び消灯も、画面表示タスク1091により実行さ
れる。ただし、オペレータにより選択されていない機能
についてはキー操作と連動せず、ジョブの開始/終了に
応じてアイコンの点灯/消灯の制御が画面表示タスクに
より行われる。すなわち、選択されていない機能のジョ
ブに関しては、図108に示したステップS1081の
かわりに、選択されていない機能に関し何らかの指示が
されているか判定し、ステップS1084のかわりに、
その指示がジョブの実行開始の指示であるかを判定する
ことになる。
【0501】このように、本装置では、ジョブ実行タス
クと画面表示タスクとを完全に並列に処理できるため
に、実際のジョブの状態から何ら遅滞なく、ジョブの状
態を表示でき、また、表示によってジョブの実行を妨げ
ることがない。これは、表示部のみならず、Bバス上の
デバイスを用いた処理と、Gバス上のスキャナあるいは
プリンタを用いた処理との関係において同様である。
クと画面表示タスクとを完全に並列に処理できるため
に、実際のジョブの状態から何ら遅滞なく、ジョブの状
態を表示でき、また、表示によってジョブの実行を妨げ
ることがない。これは、表示部のみならず、Bバス上の
デバイスを用いた処理と、Gバス上のスキャナあるいは
プリンタを用いた処理との関係において同様である。
【0502】[第2の実施形態]次に、本発明の第2実
施例について説明する。
施例について説明する。
【0503】上述した第1実施例は、使用者が使用する
ために選択している機能と操作をしないため選択されて
いない他の機能との並列作動状況を操作画面2上で、選
択された機能を表すアイコン5、12、18、24と、
選択された機能以外の作動状況を表すアイコン4、1
1、17、23と、メッセージ3、10、16、22と
により使用者に認知させるようにしたが、この第2実施
例は、使用者が使用するために選択している機能と、操
作をしないため選択されていない他の機能との並列作動
状況を、機能別にそれぞれ用意した操作画面エリア部を
機能別アイコンおよびメッセージを見えるように階層状
に表示させることにより、使用者に認知させるようにし
たものである。
ために選択している機能と操作をしないため選択されて
いない他の機能との並列作動状況を操作画面2上で、選
択された機能を表すアイコン5、12、18、24と、
選択された機能以外の作動状況を表すアイコン4、1
1、17、23と、メッセージ3、10、16、22と
により使用者に認知させるようにしたが、この第2実施
例は、使用者が使用するために選択している機能と、操
作をしないため選択されていない他の機能との並列作動
状況を、機能別にそれぞれ用意した操作画面エリア部を
機能別アイコンおよびメッセージを見えるように階層状
に表示させることにより、使用者に認知させるようにし
たものである。
【0504】図115は、この第2実施例における複写
機能選択時における操作パネル1を示す平面図であり、
図116〜図118は、それぞれファクシミリ機能、電
子ファイル機能、およびプリンタ機能選択時における操
作画面表示部2を示す平面図である。
機能選択時における操作パネル1を示す平面図であり、
図116〜図118は、それぞれファクシミリ機能、電
子ファイル機能、およびプリンタ機能選択時における操
作画面表示部2を示す平面図である。
【0505】図115において、アイコン27は、ファ
クシミリ機能が選択されていないことを表わすものであ
り、アイコン28は、電子ファイル機能が選択されてい
ないことを表わすものである。また、アイコン29は、
プリンタ機能が選択されていないことを表わすものであ
り、アイコン30は、複写機能が選択されていないこと
を表わすものである。
クシミリ機能が選択されていないことを表わすものであ
り、アイコン28は、電子ファイル機能が選択されてい
ないことを表わすものである。また、アイコン29は、
プリンタ機能が選択されていないことを表わすものであ
り、アイコン30は、複写機能が選択されていないこと
を表わすものである。
【0506】なお、その他の第1実施例と共通する要素
については、同一符号を用いて個々の説明は省略する。
については、同一符号を用いて個々の説明は省略する。
【0507】まず、図115において、複写機能の作動
状況メッセージ部3と複写機能が選択されていることを
表わすアイコン5の表示により、複写機能の作動状況を
使用者が認知できる。
状況メッセージ部3と複写機能が選択されていることを
表わすアイコン5の表示により、複写機能の作動状況を
使用者が認知できる。
【0508】さらに、ファクシミリ機能が選択されてい
ないことを表わすアイコン27と、ファクシミリ機能の
作動状況メッセージ部10と、電子ファイル機能が選択
されていないことを表わすアイコン28と、電子ファイ
ル機能の作動状況メッセージ部16と、プリンタ機能が
選択されていないことを表わすアイコン29と、プリン
タ機能の作動状況メッセージ部22の各表示により、他
の機能の並列作動状況が認知できる。
ないことを表わすアイコン27と、ファクシミリ機能の
作動状況メッセージ部10と、電子ファイル機能が選択
されていないことを表わすアイコン28と、電子ファイ
ル機能の作動状況メッセージ部16と、プリンタ機能が
選択されていないことを表わすアイコン29と、プリン
タ機能の作動状況メッセージ部22の各表示により、他
の機能の並列作動状況が認知できる。
【0509】次に、図115において、ファクシミリ機
能が選択されていないことを表わすアイコン27を押し
て、操作画面表示部2をファクシミリ機能が選択されて
いる図116に示す状態に切り替える。すると、その表
示部2上にあるファクシミリ機能の作動状況メッセージ
部10とファクシミリ機能が選択されていることを表わ
すアイコン12の表示により、ファクシミリ機能の作動
状況を使用者が認知できる。
能が選択されていないことを表わすアイコン27を押し
て、操作画面表示部2をファクシミリ機能が選択されて
いる図116に示す状態に切り替える。すると、その表
示部2上にあるファクシミリ機能の作動状況メッセージ
部10とファクシミリ機能が選択されていることを表わ
すアイコン12の表示により、ファクシミリ機能の作動
状況を使用者が認知できる。
【0510】さらに、複写機能が選択されていないこと
を表わすアイコン30と、複写機能の作動状況メッセー
ジ部3と、電子ファイル機能が選択されていないことを
表わすアイコン28と、電子ファイル機能の作動状況メ
ッセージ部16と、プリンタ機能が選択されていないこ
とを表わすアイコン29と、プリンタ機能の作動状況メ
ッセージ部22の各表示により、他の機能の並列作動状
況を認知できる。
を表わすアイコン30と、複写機能の作動状況メッセー
ジ部3と、電子ファイル機能が選択されていないことを
表わすアイコン28と、電子ファイル機能の作動状況メ
ッセージ部16と、プリンタ機能が選択されていないこ
とを表わすアイコン29と、プリンタ機能の作動状況メ
ッセージ部22の各表示により、他の機能の並列作動状
況を認知できる。
【0511】次に、図116において、電子ファイル機
能が選択されていないことを表わすアイコン28を押し
て、操作画面表示部2を電子ファイル機能が選択されて
いる図117に示す状態に切り替える。すると、その表
示部2上にある電子ファイル機能の作動状況メッセージ
部16と電子ファイル機能が選択されていることを表わ
すアイコン19の表示により、電子ファイル機能の作動
状況を使用者が認知できる。
能が選択されていないことを表わすアイコン28を押し
て、操作画面表示部2を電子ファイル機能が選択されて
いる図117に示す状態に切り替える。すると、その表
示部2上にある電子ファイル機能の作動状況メッセージ
部16と電子ファイル機能が選択されていることを表わ
すアイコン19の表示により、電子ファイル機能の作動
状況を使用者が認知できる。
【0512】さらに、複写機能が選択されていないこと
を表わすアイコン30と、複写機能の作動状況メッセー
ジ部3と、ファクシミリ機能が選択されていないことを
表わすアイコン27と、ファクシミリ機能の作動状況メ
ッセージ部10と、プリンタ機能が選択されていないこ
とを表わすアイコン29と、プリンタ機能の作動状況メ
ッセージ部22の各表示により、他の機能の並列作動状
況が認知できる。
を表わすアイコン30と、複写機能の作動状況メッセー
ジ部3と、ファクシミリ機能が選択されていないことを
表わすアイコン27と、ファクシミリ機能の作動状況メ
ッセージ部10と、プリンタ機能が選択されていないこ
とを表わすアイコン29と、プリンタ機能の作動状況メ
ッセージ部22の各表示により、他の機能の並列作動状
況が認知できる。
【0513】次に、図117において、プリンタ機能が
選択されていないことを表わすアイコン29を押して、
操作画面表示部2をプリンタ機能が選択されている図1
18に示す状態に切り替える。すると、その表示部2上
にあるプリンタ機能の作動状況メッセージ部22とプリ
ンタ機能が選択されていることを表わすアイコン24の
表示により、プリンタ機能の作動状況を使用者が認知で
きる。
選択されていないことを表わすアイコン29を押して、
操作画面表示部2をプリンタ機能が選択されている図1
18に示す状態に切り替える。すると、その表示部2上
にあるプリンタ機能の作動状況メッセージ部22とプリ
ンタ機能が選択されていることを表わすアイコン24の
表示により、プリンタ機能の作動状況を使用者が認知で
きる。
【0514】さらに、複写機能が選択されていないこと
を表わすアイコン30と、複写機能の作動状況メッセー
ジ部3と、ファクシミリ機能が選択されていないことを
表わすアイコン27と、ファクシミリ機能の作動状況メ
ッセージ部10と、電子ファイル機能が選択されていな
いことを表わすアイコン表示28と、電子ファイル機能
の作動状況メッセージ部16の各表示により、他の機能
の並列動作状況が認知できる。
を表わすアイコン30と、複写機能の作動状況メッセー
ジ部3と、ファクシミリ機能が選択されていないことを
表わすアイコン27と、ファクシミリ機能の作動状況メ
ッセージ部10と、電子ファイル機能が選択されていな
いことを表わすアイコン表示28と、電子ファイル機能
の作動状況メッセージ部16の各表示により、他の機能
の並列動作状況が認知できる。
【0515】以上のような表示方式であっても、図10
9に示したように、画面表示タスクとジョブ実行タスク
とがバスを競合しないため、ジョブ状態の表示を高い即
時性で行え、また、ジョブの実行を表示よって妨げるこ
とがなくなる。
9に示したように、画面表示タスクとジョブ実行タスク
とがバスを競合しないため、ジョブ状態の表示を高い即
時性で行え、また、ジョブの実行を表示よって妨げるこ
とがなくなる。
【0516】[第3の実施形態]次に、本発明の第3実
施例について説明する。
施例について説明する。
【0517】従来の複合画像形成装置において、機能を
切り換えたことを使用者に認知させる方法としては、操
作パネルに設けた各機能の文字表示に対応して配置した
LED表示灯を点灯または点滅させるようにしている。
切り換えたことを使用者に認知させる方法としては、操
作パネルに設けた各機能の文字表示に対応して配置した
LED表示灯を点灯または点滅させるようにしている。
【0518】しかしながら、このような方法では、使用
者自身が認知しづらいため、使用者は、切り換わった上
京を判断するのに、注意深く確認しなければならないた
め、時間がかかってしまう。
者自身が認知しづらいため、使用者は、切り換わった上
京を判断するのに、注意深く確認しなければならないた
め、時間がかかってしまう。
【0519】また、切り換えた後の機能が、実は間違っ
て選択していた場合、そのことを確認し、判断するまで
の時間もかかってしまう。つまり、使用者が使用したい
機能が選択されたのか、間違って再度切り換え直さなけ
ればならないのか、容易に判断できず、使用者の負担と
なっている。
て選択していた場合、そのことを確認し、判断するまで
の時間もかかってしまう。つまり、使用者が使用したい
機能が選択されたのか、間違って再度切り換え直さなけ
ればならないのか、容易に判断できず、使用者の負担と
なっている。
【0520】そこで、この第3実施例では、複合画像形
成装置において、機能を切り換えた時に、その切り換え
られた機能が、どの機能であるかを使用者が瞬時に認知
し、判断できるようにしたものである。
成装置において、機能を切り換えた時に、その切り換え
られた機能が、どの機能であるかを使用者が瞬時に認知
し、判断できるようにしたものである。
【0521】すなわち、以下の第3、第4実施例では、
複合画像形成装置の機能切り換え時の状況を、切り換わ
った直後のモード設定用表示画面に、切り換わった機能
に特有のシンボルマークや装飾文字によるシンボル表示
を行う事により、使用者に瞬時に認知し、判断できるよ
うにしたものである。
複合画像形成装置の機能切り換え時の状況を、切り換わ
った直後のモード設定用表示画面に、切り換わった機能
に特有のシンボルマークや装飾文字によるシンボル表示
を行う事により、使用者に瞬時に認知し、判断できるよ
うにしたものである。
【0522】図119は、この第3実施例における複合
画像形成装置の操作パネル1を示す平面図である。
画像形成装置の操作パネル1を示す平面図である。
【0523】図119において、操作パネル1には、数
値入力等のためのテンキー102と、各種操作画面表示
部を構成するタッチパネル103とを有する。
値入力等のためのテンキー102と、各種操作画面表示
部を構成するタッチパネル103とを有する。
【0524】そして、図119は、複写機能が選択され
ている状態を示しており、タッチパネル103は、各機
能を切り換える選択ボタンを備えた操作部104と、複
写機能のモード設定入力部105と、複写機能のモード
選択入力部106と、複写機能の表示部107とを有す
る。
ている状態を示しており、タッチパネル103は、各機
能を切り換える選択ボタンを備えた操作部104と、複
写機能のモード設定入力部105と、複写機能のモード
選択入力部106と、複写機能の表示部107とを有す
る。
【0525】そして、表示部107には、複写機能が選
択されていることを示すための、複写機能を表現するシ
ンボルマーク120が表示されている。
択されていることを示すための、複写機能を表現するシ
ンボルマーク120が表示されている。
【0526】図120〜図122は、それぞれファクシ
ミリ機能、電子ファイル機能、およびプリンタ機能選択
時におけるタッチパネル103を示す平面図である。
ミリ機能、電子ファイル機能、およびプリンタ機能選択
時におけるタッチパネル103を示す平面図である。
【0527】図120は、ファクシミリ機能が選択され
ている状態を示しており、タッチパネル103は、上記
操作部104と、ファクシミリ機能のモード設定入力部
109と、ファクシミリ機能のモード選択入力部110
と、ファクシミリ機能の表示部111とを有する。
ている状態を示しており、タッチパネル103は、上記
操作部104と、ファクシミリ機能のモード設定入力部
109と、ファクシミリ機能のモード選択入力部110
と、ファクシミリ機能の表示部111とを有する。
【0528】そして、表示部111には、ファクシミリ
機能が選択されていることを示すための、ファクシミリ
機能を表現するシンボルマーク121が表示されてい
る。
機能が選択されていることを示すための、ファクシミリ
機能を表現するシンボルマーク121が表示されてい
る。
【0529】また、図121は、電子ファイル機能が選
択されている状態を示しており、タッチパネル103
は、上記操作部104と、電子ファイル機能のモード設
定入力部113と、電子ファイル機能のモード選択入力
部114と、電子ファイル機能の表示部115とを有す
る。
択されている状態を示しており、タッチパネル103
は、上記操作部104と、電子ファイル機能のモード設
定入力部113と、電子ファイル機能のモード選択入力
部114と、電子ファイル機能の表示部115とを有す
る。
【0530】そして、表示部115には、電子ファイル
機能が選択されていることを示すための、電子ファイル
機能を表現するシンボルマーク122が表示されてい
る。
機能が選択されていることを示すための、電子ファイル
機能を表現するシンボルマーク122が表示されてい
る。
【0531】また、図122は、プリンタ機能が選択さ
れている状態を示しており、タッチパネル103は、上
記操作部104と、プリンタ機能のモード設定入力部1
17と、プリンタ機能のモード選択入力部118と、プ
リンタ機能の表示部119とを有する。
れている状態を示しており、タッチパネル103は、上
記操作部104と、プリンタ機能のモード設定入力部1
17と、プリンタ機能のモード選択入力部118と、プ
リンタ機能の表示部119とを有する。
【0532】そして、表示部119には、プリンタ機能
が選択されていることを示すための、プリンタ機能を表
現するシンボルマーク123が表示されている。
が選択されていることを示すための、プリンタ機能を表
現するシンボルマーク123が表示されている。
【0533】以下、この第3実施例における操作方法と
それにと伴う表示方法について説明する。
それにと伴う表示方法について説明する。
【0534】まず、装置の電源スイッチを入れると、操
作パネル1には、図119に示す状態でタッチパネル1
03が起動する。ここでは、シンボルマーク120の点
滅表示により、複写機能が選択されたことを表示してい
る。
作パネル1には、図119に示す状態でタッチパネル1
03が起動する。ここでは、シンボルマーク120の点
滅表示により、複写機能が選択されたことを表示してい
る。
【0535】そして、この複写機能を使用するには、図
119の表示状態で、テンキー102やモード設定入力
部105、モード選択入力部106を適宜操作すること
により、上記シンボルマーク120が消え、入力値や設
定値が表示されることになる。
119の表示状態で、テンキー102やモード設定入力
部105、モード選択入力部106を適宜操作すること
により、上記シンボルマーク120が消え、入力値や設
定値が表示されることになる。
【0536】次に、複写機能を使用しない場合や使用後
に、ファァシミリ機能に切り換えるには、操作部104
のファクシミリキーを押下する。
に、ファァシミリ機能に切り換えるには、操作部104
のファクシミリキーを押下する。
【0537】これにより、操作パネル1には、図120
に示す状態でタッチパネル103が起動する。そして、
この状態で、シンボルマーク121の点滅表示により、
ファクシミリ機能が選択されたことを表示する。
に示す状態でタッチパネル103が起動する。そして、
この状態で、シンボルマーク121の点滅表示により、
ファクシミリ機能が選択されたことを表示する。
【0538】そして、このファクシミリ機能を使用する
には、図120の表示状態で、テンキー102やモード
設定入力部109、モード選択入力部110を適宜操作
することにより、上記シンボルマーク121が消え、入
力値や設定値が表示されることになる。
には、図120の表示状態で、テンキー102やモード
設定入力部109、モード選択入力部110を適宜操作
することにより、上記シンボルマーク121が消え、入
力値や設定値が表示されることになる。
【0539】次に、複写機能およびファクシミリ機能を
使用しない場合や使用後に、電子ファイル機能に切り換
えるには、操作部104のファイルキーを押下する。
使用しない場合や使用後に、電子ファイル機能に切り換
えるには、操作部104のファイルキーを押下する。
【0540】これにより、操作パネル1には、図121
に示す状態でタッチパネル103が起動する。そして、
この状態で、シンボルマーク122の点滅表示により、
電子ファイル機能が選択されたことを表示する。
に示す状態でタッチパネル103が起動する。そして、
この状態で、シンボルマーク122の点滅表示により、
電子ファイル機能が選択されたことを表示する。
【0541】そして、この電子ファイル機能を使用する
には、図121の表示状態で、テンキー102やモード
設定入力部113、モード選択入力部114を適宜選択
することにより、上記シンボルマーク122が消え、入
力値や設定値が表示されることになる。
には、図121の表示状態で、テンキー102やモード
設定入力部113、モード選択入力部114を適宜選択
することにより、上記シンボルマーク122が消え、入
力値や設定値が表示されることになる。
【0542】次に、複写機能、ファクシミリ機能および
電子ファイル機能を使用しない場合や使用後に、プリン
タ機能に切り換えるには、操作部104のプリンタキー
を押下する。
電子ファイル機能を使用しない場合や使用後に、プリン
タ機能に切り換えるには、操作部104のプリンタキー
を押下する。
【0543】これにより、操作パネル1には、図122
に示す状態でタッチパネル103が起動する。そして、
この状態で、シンボルマーク123の点滅表示により、
プリンタ機能が選択されたことを表示する。
に示す状態でタッチパネル103が起動する。そして、
この状態で、シンボルマーク123の点滅表示により、
プリンタ機能が選択されたことを表示する。
【0544】そして、このプリンタ機能を使用するに
は、図122の表示状態で、テンキー102やモード設
定入力部117、モード選択入力部118を適宜操作す
ることにより、上記シンボルマーク123が消え、入力
値や設定値が表示されることになる。
は、図122の表示状態で、テンキー102やモード設
定入力部117、モード選択入力部118を適宜操作す
ることにより、上記シンボルマーク123が消え、入力
値や設定値が表示されることになる。
【0545】以上のような表示方式であっても、図10
9に示したように、画面表示タスクとジョブ実行タスク
とがバスを競合しないため、Gバスを用いたジョブが実
行中であったとしても、切り替えられた機能を表す表示
への切り替えを高い即時性で行え、また、進行中のジョ
ブの実行を表示よって妨げることがなくなる。
9に示したように、画面表示タスクとジョブ実行タスク
とがバスを競合しないため、Gバスを用いたジョブが実
行中であったとしても、切り替えられた機能を表す表示
への切り替えを高い即時性で行え、また、進行中のジョ
ブの実行を表示よって妨げることがなくなる。
【0546】[第4の実施形態]次に、本発明の第4実
施例について説明する。
施例について説明する。
【0547】上述した第3実施例では、シンボルマーク
120〜123により、各機能の切り換えを表示した
が、この第4実施例では、各機能を示す装飾文字によ
り、各機能の切り換えを表示するものである。
120〜123により、各機能の切り換えを表示した
が、この第4実施例では、各機能を示す装飾文字によ
り、各機能の切り換えを表示するものである。
【0548】図123は、この第4実施例における複写
機能選択時における操作パネル1を示す平面図であり、
図124〜図126は、それぞれファクシミリ機能、電
子ファイル機能、およびプリンタ機能選択時におけるタ
ッチパネル103を示す平面図である。
機能選択時における操作パネル1を示す平面図であり、
図124〜図126は、それぞれファクシミリ機能、電
子ファイル機能、およびプリンタ機能選択時におけるタ
ッチパネル103を示す平面図である。
【0549】図123において、装飾文字124は、複
写機能を表わすものであり、図124において、装飾文
字125は、ファクシミリ機能を表わすものである。ま
た、図125において、装飾文字126は、電子ファイ
ル機能を表わすものであり、図126において、装飾文
字127は、プリンタ機能を表わすものである。
写機能を表わすものであり、図124において、装飾文
字125は、ファクシミリ機能を表わすものである。ま
た、図125において、装飾文字126は、電子ファイ
ル機能を表わすものであり、図126において、装飾文
字127は、プリンタ機能を表わすものである。
【0550】なお、その他の第3実施例と共通する要素
については、同一符号を用いて個々の説明は省略する。
については、同一符号を用いて個々の説明は省略する。
【0551】以下、この第4実施例における操作方法
と、それに伴う表示方法について説明する。
と、それに伴う表示方法について説明する。
【0552】まず、装置の電源スイッチを入れると、操
作パネル1には、図123に示す状態でタッチパネル1
03が起動する。ここでは、複写機能を表わす装飾文字
124の点滅表示により、複写機能が選択されたことを
表示している。
作パネル1には、図123に示す状態でタッチパネル1
03が起動する。ここでは、複写機能を表わす装飾文字
124の点滅表示により、複写機能が選択されたことを
表示している。
【0553】そして、この複写機能を使用するには、図
123の表示状態で、テンキー102やモード設定入力
部105、モード選択入力部106を適宜操作すること
により、上記装飾文字124が消え、入力値や設定値が
表示されることになる。
123の表示状態で、テンキー102やモード設定入力
部105、モード選択入力部106を適宜操作すること
により、上記装飾文字124が消え、入力値や設定値が
表示されることになる。
【0554】次に、複写機能を使用しない場合や使用後
に、ファクシミリ機能に切り換えるには、操作部104
のファクシミリキーを押下する。
に、ファクシミリ機能に切り換えるには、操作部104
のファクシミリキーを押下する。
【0555】これにより、操作パネル1には、図124
に示す状態でタッチパネル103が起動する。そして、
この状態で、ファクシミリ機能を表す装飾文字125の
点滅表示により、ファクシミリ機能が選択されたことを
表示する。
に示す状態でタッチパネル103が起動する。そして、
この状態で、ファクシミリ機能を表す装飾文字125の
点滅表示により、ファクシミリ機能が選択されたことを
表示する。
【0556】そして、このファクシミリ機能を使用する
には、図124の表示状態で、テンキー102やモード
設定入力部109、モード選択入力部110を適宜操作
することにより、上記装飾文字125が消え、入力値や
設定値が表示される。
には、図124の表示状態で、テンキー102やモード
設定入力部109、モード選択入力部110を適宜操作
することにより、上記装飾文字125が消え、入力値や
設定値が表示される。
【0557】次に、複写機能およびファクシミリ機能を
使用しない場合や使用後に、電子ファイル機能に切り換
えるには、操作部104のファイルキーを押下する。
使用しない場合や使用後に、電子ファイル機能に切り換
えるには、操作部104のファイルキーを押下する。
【0558】これにより、操作パネル1には、図125
に示す状態でタッチパネル103が起動する。そして、
この状態で、電子ファイル機能を表す装飾文字126の
点滅表示により、電子ファイル機能が選択されたことを
表示する。そして、この電子ファイル機能を使用するに
は、図126の表示状態で、テンキー102やモード設
定入力部113、モード選択入力部114を適宜操作す
ることにより、上記装飾文字126が消え、入力値や設
定値が表示される。
に示す状態でタッチパネル103が起動する。そして、
この状態で、電子ファイル機能を表す装飾文字126の
点滅表示により、電子ファイル機能が選択されたことを
表示する。そして、この電子ファイル機能を使用するに
は、図126の表示状態で、テンキー102やモード設
定入力部113、モード選択入力部114を適宜操作す
ることにより、上記装飾文字126が消え、入力値や設
定値が表示される。
【0559】次に、複写機能、ファクシミリ機能および
電子ファイル機能を使用しない場合や使用後に、プリン
タ機能に切り換えるには、操作部104のプリンタキー
を押下する。
電子ファイル機能を使用しない場合や使用後に、プリン
タ機能に切り換えるには、操作部104のプリンタキー
を押下する。
【0560】これにより、操作パネル1には、図126
に示す状態でタッチパネル103が起動する。そして、
この状態で、プリンタ機能を表す装飾文字127の点滅
表示により、プリンタ機能が選択されたことを表示す
る。
に示す状態でタッチパネル103が起動する。そして、
この状態で、プリンタ機能を表す装飾文字127の点滅
表示により、プリンタ機能が選択されたことを表示す
る。
【0561】そして、このプリンタ機能を使用するに
は、図126の表示状態で、テンキー102やモード設
定入力部117、モード選択入力部118を適宜操作す
ることにより、上記装飾文字127が消え、入力値や設
定値が表示される。
は、図126の表示状態で、テンキー102やモード設
定入力部117、モード選択入力部118を適宜操作す
ることにより、上記装飾文字127が消え、入力値や設
定値が表示される。
【0562】なお、以上の各実施例において、各機能の
切り換え順は、任意に選択し得るものである。
切り換え順は、任意に選択し得るものである。
【0563】以上のような表示方式であっても、図10
9に示したように、画面表示タスクとジョブ実行タスク
とがバスを競合しないため、Gバスを用いたジョブが実
行中であったとしても、切り替えられた機能を表す表示
への切り替えを高い即時性で行え、また、進行中のジョ
ブの実行を表示よって妨げることがなくなる。
9に示したように、画面表示タスクとジョブ実行タスク
とがバスを競合しないため、Gバスを用いたジョブが実
行中であったとしても、切り替えられた機能を表す表示
への切り替えを高い即時性で行え、また、進行中のジョ
ブの実行を表示よって妨げることがなくなる。
【0564】[第5の実施形態]本例の複合画像形成装
置は、電子ファイル機能を有している。電子ファイル機
能には、エンジンインターフェース116−7からGバ
スを経由して読み込んだ画像データを圧縮して、Bバス
上のPCIバスに接続されたハードディスク等の外部記
憶装置に格納する機能を含む。このとき、圧縮した画像
データを、図111に示した表示操作部に表示し、画像
の方向等をオペレータに確認させる機能も含む。図4で
説明すると、CPU401は、スキャナコントローラ4
302からGバス404を介してメモリに画像データを
格納し、それを圧縮してPCIバス416やインターフ
ェース415等に接続された表示部に出力して表示させ
る。
置は、電子ファイル機能を有している。電子ファイル機
能には、エンジンインターフェース116−7からGバ
スを経由して読み込んだ画像データを圧縮して、Bバス
上のPCIバスに接続されたハードディスク等の外部記
憶装置に格納する機能を含む。このとき、圧縮した画像
データを、図111に示した表示操作部に表示し、画像
の方向等をオペレータに確認させる機能も含む。図4で
説明すると、CPU401は、スキャナコントローラ4
302からGバス404を介してメモリに画像データを
格納し、それを圧縮してPCIバス416やインターフ
ェース415等に接続された表示部に出力して表示させ
る。
【0565】このときのスキャンジョブと画像の圧縮処
理、圧縮され画像の表示処理の進行する様子を、図10
7に示す。図107において左端から右端へが時間の経
過を表す。最上部の線は、スキャンされた画像がGバス
を経由してメモリに格納されるまでの様子であり、中段
の線は格納された画像データを縮小する処理を示し、下
段の線は縮小された画像データの表示出力を示す。
理、圧縮され画像の表示処理の進行する様子を、図10
7に示す。図107において左端から右端へが時間の経
過を表す。最上部の線は、スキャンされた画像がGバス
を経由してメモリに格納されるまでの様子であり、中段
の線は格納された画像データを縮小する処理を示し、下
段の線は縮小された画像データの表示出力を示す。
【0566】間引き処理は画像データが読み込まれるま
で開始できないため、CPUは画像データのスキャンが
完了するまで待ち、完了後、メモリ内の画像データの縮
小(図107では間引き処理)を開始する。縮小した画
像データは再びメモリに格納する。CPUは、縮小した
画像データを、縮小処理終了後ただちに出力する。この
ときスキャナコントローラに対してもスキャンのジョブ
開始メッセージを送り、スキャンとその縮小データの表
示は並行して処理される。これもまた、DoEngin
eがGバスとBバスとを有するためである。すなわち、
Gバスを用いる画像データのスキャンと、Bバスを用い
る縮小した画像データの表示出力とは並行して行える。
で開始できないため、CPUは画像データのスキャンが
完了するまで待ち、完了後、メモリ内の画像データの縮
小(図107では間引き処理)を開始する。縮小した画
像データは再びメモリに格納する。CPUは、縮小した
画像データを、縮小処理終了後ただちに出力する。この
ときスキャナコントローラに対してもスキャンのジョブ
開始メッセージを送り、スキャンとその縮小データの表
示は並行して処理される。これもまた、DoEngin
eがGバスとBバスとを有するためである。すなわち、
Gバスを用いる画像データのスキャンと、Bバスを用い
る縮小した画像データの表示出力とは並行して行える。
【0567】[第6の実施形態]第6の実施形態として
説明する電力節約機能もまた、図127に示した、Do
Engineを用いた複合画像形成装置により実現され
る。
説明する電力節約機能もまた、図127に示した、Do
Engineを用いた複合画像形成装置により実現され
る。
【0568】図110は、例えば図111の表示におい
てオペレータの操作を処理するための制御手順である。
この処理は、図127にしめした装置全体の制御部であ
るDo Engine116−1により実行される。
てオペレータの操作を処理するための制御手順である。
この処理は、図127にしめした装置全体の制御部であ
るDo Engine116−1により実行される。
【0569】図110において、まずキー操作があった
か判定する(ステップS1101)。キー操作がされた
なら、押されたキーがスタートキーか判定する(ステッ
プS1104)。スタートキーであれば、電力がオーバ
ーしていないか判定する(ステップS1105)。この
判定は、図4におけるパワーマネジメントユニット40
9から読み出した電力管理状態に基づいて判定可能であ
る。パワーマネジメントユニット409は、前述したと
おり、スキャナコントローラ及びプリンタコントローラ
から電力管理状態をうけている。
か判定する(ステップS1101)。キー操作がされた
なら、押されたキーがスタートキーか判定する(ステッ
プS1104)。スタートキーであれば、電力がオーバ
ーしていないか判定する(ステップS1105)。この
判定は、図4におけるパワーマネジメントユニット40
9から読み出した電力管理状態に基づいて判定可能であ
る。パワーマネジメントユニット409は、前述したと
おり、スキャナコントローラ及びプリンタコントローラ
から電力管理状態をうけている。
【0570】電力消費量が所定値を越えていなければ、
ジョブ実行中を表示し(ステップS1106)、画面表
示タスク1091からジョブ実行タスク1092に対し
てジョブ開始メッセージ1093を送信する(ステップ
S1107)。これによりジョブ実行タスクが起動され
る。また、ステップS1084で、押されたキーがスタ
ートキーでないと判定した場合には、例えばコピーであ
ればサイズや枚数といった、ジョブの実行条件の入力な
どであるので、キー操作に応じて設定を行う(ステップ
S1108)。
ジョブ実行中を表示し(ステップS1106)、画面表
示タスク1091からジョブ実行タスク1092に対し
てジョブ開始メッセージ1093を送信する(ステップ
S1107)。これによりジョブ実行タスクが起動され
る。また、ステップS1084で、押されたキーがスタ
ートキーでないと判定した場合には、例えばコピーであ
ればサイズや枚数といった、ジョブの実行条件の入力な
どであるので、キー操作に応じて設定を行う(ステップ
S1108)。
【0571】一方、ステップS1101でキー操作がな
いと判定される場合には、ジョブ実行タスクからのジョ
ブ終了メッセージ1094を受けているか判定し(ステ
ップS1102)、受けていればジョブ実行中の表示に
替えて終了メッセージを表示する(ステップS110
3)。
いと判定される場合には、ジョブ実行タスクからのジョ
ブ終了メッセージ1094を受けているか判定し(ステ
ップS1102)、受けていればジョブ実行中の表示に
替えて終了メッセージを表示する(ステップS110
3)。
【0572】このようにして、消費電力が所定値を越え
ていれば、それ以上のジョブの実行を抑制し、電力消費
量を適切な水準に抑えることができる。また、電力消費
状態をCPU401が読み出すためには、Bバスに接続
されたパワーマネジメントユニット409にアクセスす
るので、現在Gバスを使用する他のジョブが実行中であ
っても、そのジョブの進行を妨げることがない。
ていれば、それ以上のジョブの実行を抑制し、電力消費
量を適切な水準に抑えることができる。また、電力消費
状態をCPU401が読み出すためには、Bバスに接続
されたパワーマネジメントユニット409にアクセスす
るので、現在Gバスを使用する他のジョブが実行中であ
っても、そのジョブの進行を妨げることがない。
【0573】
【発明の効果】以上説明したように、本発明によれば、
電力管理部を設け、電力消費状態に応じてジョブの実行
を制御することで、装置全体の電力状態を適切な状態に
維持することができる。また、画像データの転送に用い
られる第1のバスと汎用の第2のバスとを設けた制御ユ
ニットを用い、電力管理部を第2のバスに設けること
で、電力の消費状態を、第1のバスを用いたジョブの進
行を妨げることなく管理する事ができる。
電力管理部を設け、電力消費状態に応じてジョブの実行
を制御することで、装置全体の電力状態を適切な状態に
維持することができる。また、画像データの転送に用い
られる第1のバスと汎用の第2のバスとを設けた制御ユ
ニットを用い、電力管理部を第2のバスに設けること
で、電力の消費状態を、第1のバスを用いたジョブの進
行を妨げることなく管理する事ができる。
【図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】Bバスインターフェースのブロック図であ
る。
る。
【図22】Gバスインターフェース2006のブロック
図である。
図である。
【図23】仮想メモリマップ、物理メモリマップ、Gバ
スのアドレス空間でのメモリマップ、Bバスのアドレス
空間でのメモリマップの図である。
スのアドレス空間でのメモリマップ、Bバスのアドレス
空間でのメモリマップの図である。
【図24】レジスタ等を含む図23における斜線部の5
12メガバイトを示すマップの図である。
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
に係るブロック図である。
04を中心とする、Gバス上のバスマスタによるDMA
に係るブロック図である。
【図36】連続してバスを使用する回数が、バスマスタ
1〜4のすべてについて1に設定されている場合の公平
アービトレーションモード(フェアモード)の例を示す
図である。
1〜4のすべてについて1に設定されている場合の公平
アービトレーションモード(フェアモード)の例を示す
図である。
【図37】連続してバスを使用する回数が、バスマスタ
1についてのみ2であり、他のバスマスタは1に設定さ
れている場合の公平アービトレーションモードの例を示
す図である。
1についてのみ2であり、他のバスマスタは1に設定さ
れている場合の公平アービトレーションモードの例を示
す図である。
【図38】連続してバスを使用する回数がそれぞれ1ず
つであり、バスマスタ1が優先バスマスタと設定されて
いる場合の優先アービトレーションモードの例を示す図
である。
つであり、バスマスタ1が優先バスマスタと設定されて
いる場合の優先アービトレーションモードの例を示す図
である。
【図39】バスマスタ1からのバス要求により、バスマ
スタ4のバス要求が許可されているにもかかわらず中断
された例を示す図である。
スタ4のバス要求が許可されているにもかかわらず中断
された例を示す図である。
【図40】Bバスアービタ407のブロック図である。
【図41】同期ユニット4001のブロック図である。
【図42】同期ユニット内の一つコンペアユニットの図
である。
である。
【図43】スキャナ/プリンタコントローラのブロック
図である。
図である。
【図44】スキャナコントローラ4302のブロック図
である。
である。
【図45】スキャナデバイスI/F4401のブロック
図である。
図である。
【図46】スキャナビデオクロックユニット4402の
ブロック図である。
ブロック図である。
【図47】スキャナビデオデータマスク4601のブロ
ック図である。
ック図である。
【図48】スキャナビデオデータマスク4602のブロ
ック図である。
ック図である。
【図49】スキャナビデオデータ幅コンバータ4603
のブロック図である。
のブロック図である。
【図50】RGB各8ビットのカラー画像データ(24
ビット格納モード)のメモリ上でのならびを示す図であ
る。
ビット格納モード)のメモリ上でのならびを示す図であ
る。
【図51】RGB各8ビットのカラー画像データ(32
ビット格納モード)のメモリ上でのならびを示す図であ
る。
ビット格納モード)のメモリ上でのならびを示す図であ
る。
【図52】8ビットの白黒画像データのメモリ上でのな
らびを示す図である。
らびを示す図である。
【図53】2値の白黒画像データのメモリ上でのならび
を示す図である。
を示す図である。
【図54】BW8パッキングユニット4901により、
多値8ビットの白黒画像データを64ビット幅に変換す
る際のタイミング図である。
多値8ビットの白黒画像データを64ビット幅に変換す
る際のタイミング図である。
【図55】シフトレジスタ4902により2値白黒画像
データを64ビット幅に変換する際の画像データ入力の
タイミング図である。
データを64ビット幅に変換する際の画像データ入力の
タイミング図である。
【図56】RGBパッキングユニット4903により、
RGB各8ビット(全24ビット)の画像データを64
ビット幅に変換する際のタイミング図である。
RGB各8ビット(全24ビット)の画像データを64
ビット幅に変換する際のタイミング図である。
【図57】RGBパッキングユニット4903のブロッ
ク図である。
ク図である。
【図58】スキャナ画像データ転送FIFOコントロー
ラ4403のブロック図である。
ラ4403のブロック図である。
【図59】スキャナコントローラコントロールレジスタ
4404のブロック図である。
4404のブロック図である。
【図60】IRQコントローラ4406のブロック図で
ある。
ある。
【図61】メモリフィルモードコントローラ4405の
ブロック図である。
ブロック図である。
【図62】スキャナコントローラ4302からデータを
読み出してDMA転送する際のタイミング図である。
読み出してDMA転送する際のタイミング図である。
【図63】スキャナコントローラ4302の内部レジス
タに対して読み出しあるいは書き込みを行うタイミング
図である。
タに対して読み出しあるいは書き込みを行うタイミング
図である。
【図64】信号sccDmaPmStateの値及びク
ロックの状態と信号sccPmStateの値との関係
を示す図である。
ロックの状態と信号sccPmStateの値との関係
を示す図である。
【図65】スキャナコントローラ4302における、各
ブロックを含むコア部分と外部バスやスキャナとの間で
入出力される信号をまとめた図である。
ブロックを含むコア部分と外部バスやスキャナとの間で
入出力される信号をまとめた図である。
【図66】プリンタコントローラ4303のブロック図
である。
である。
【図67】プリンタデバイスI/F6601のブロック
図である。
図である。
【図68】プリンタビデオクロックユニット6602の
ブロック図である。
ブロック図である。
【図69】プリンタビデオデータマスク6801のブロ
ック図である。
ック図である。
【図70】プリンタビデオ同期コントロールユニット6
802のブロック図である。
802のブロック図である。
【図71】ビデオデータ幅コンバータ6803のブロッ
ク図である。
ク図である。
【図72】RGB各8ビットのカラー画像データ(24
ビット格納モード)のメモリ上でのならびを示す図であ
る。
ビット格納モード)のメモリ上でのならびを示す図であ
る。
【図73】RGB各8ビットのカラー画像データ(32
ビット格納モード)のメモリ上でのならびを示す図であ
る。
ビット格納モード)のメモリ上でのならびを示す図であ
る。
【図74】8ビットの白黒画像データのメモリ上でのな
らびを示す図である。
らびを示す図である。
【図75】2値の白黒画像データのメモリ上でのならび
を示す図である。
を示す図である。
【図76】RGBoutユニット7101のブロック図
である。
である。
【図77】プリンタ画像データ転送FIFOコントロー
ラ6603のブロック図である。
ラ6603のブロック図である。
【図78】プリンタコントローラコントロールレジスタ
6604のブロック図である。
6604のブロック図である。
【図79】IRQコントローラ6605のブロック図で
ある。
ある。
【図80】IRQコントローラ6605のブロック図で
ある。
ある。
【図81】プリンタコマンド/ステータスコントロール
ユニット6606のブロック図である。
ユニット6606のブロック図である。
【図82】オプションコントローラコントロールユニッ
ト6607のブロック図である。
ト6607のブロック図である。
【図83】プリンタコントローラ4303へデータをD
MA転送する際のタイミング図である。
MA転送する際のタイミング図である。
【図84】プリンタコントローラ4303の内部レジス
タに対して読み出しあるいは書き込みを行うタイミング
図である。
タに対して読み出しあるいは書き込みを行うタイミング
図である。
【図85】信号pscDmaPmStateの値及びク
ロックの状態と信号prcPmStateの値との関係
を示す図である。
ロックの状態と信号prcPmStateの値との関係
を示す図である。
【図86】プリンタコントローラ4303における、各
ブロックを含むコア部分と外部バスやスキャナとの間で
入出力される信号をまとめた図である。
ブロックを含むコア部分と外部バスやスキャナとの間で
入出力される信号をまとめた図である。
【図87】電力管理ユニット409のブロック図であ
る。
る。
【図88】バスエージェントのブロック図である。
【図89】スキャナコントローラからプリンタコントロ
ーラへと直接画像データを転送してコピーする画像のコ
ピー方式で使用されるブロックを示す図である。
ーラへと直接画像データを転送してコピーする画像のコ
ピー方式で使用されるブロックを示す図である。
【図90】スキャナコントローラからプリンタコントロ
ーラへと、FIFOを介して画像データを転送してコピ
ーする画像のコピー方式で使用されるブロックを示す図
である。
ーラへと、FIFOを介して画像データを転送してコピ
ーする画像のコピー方式で使用されるブロックを示す図
である。
【図91】スキャナコントローラからプリンタコントロ
ーラへと、メモリを介して画像データを転送してコピー
する画像のコピー方式で使用されるブロックを示す図で
ある。
ーラへと、メモリを介して画像データを転送してコピー
する画像のコピー方式で使用されるブロックを示す図で
ある。
【図92】GBIのブロック図である。
【図93】FIFOユニットのブロック図である。
【図94】GBusコントローラのブロック図である。
【図95】BBusコントローラのブロック図である。
【図96】DMAコントローラのブロック図である。
【図97】レジスタユニットのブロック図である。
【図98】チェインテーブルの構成例を示す図である。
【図99】GBIのコアインターフェースを示す図であ
る。
る。
【図100】コピー方式を選択する手順のフローチャー
トである。
トである。
【図101】スキャナコントローラ4302内部のデー
タバスの切り換え回路を示す図である。
タバスの切り換え回路を示す図である。
【図102】プリンタコントローラ4303内部のデー
タバスの切り換え回路を示す図である。
タバスの切り換え回路を示す図である。
【図103】MCバスよりメモリリード/ライト転送が
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
【図104】MCバスよりメモリリード/ライト転送が
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
【図105】MCバスよりメモリリード/ライト転送が
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
【図106】MCバスよりメモリリード/ライト転送が
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
【図107】画像のスキャン処理とスキャンされた画像
データの間引き処理及びその結果の表示を行う際の処理
状態を示す模式図である。
データの間引き処理及びその結果の表示を行う際の処理
状態を示す模式図である。
【図108】第2実施形態の複合画像形成装置によるジ
ョブ状態表示処理のフローチャートである。
ョブ状態表示処理のフローチャートである。
【図109】第2実施形態の複合画像形成装置によるジ
ョブ実行タスクと画面表示タスクの関係を示す図であ
る。
ョブ実行タスクと画面表示タスクの関係を示す図であ
る。
【図110】第6実施形態の複合画像形成装置による電
力管理手順のフローチャートである。
力管理手順のフローチャートである。
【図111】第2実施形態の複合画像形成装置による複
写機能を選択した場合の操作パネルを示す平面図であ
る。
写機能を選択した場合の操作パネルを示す平面図であ
る。
【図112】第2実施形態の複合画像形成装置によるフ
ァクシミリ機能を選択した場合の操作画面を示す平面図
である。
ァクシミリ機能を選択した場合の操作画面を示す平面図
である。
【図113】第2実施形態の複合画像形成装置による電
子ファイル機能を選択した場合の操作画面を示す平面図
である。
子ファイル機能を選択した場合の操作画面を示す平面図
である。
【図114】第2実施形態の複合画像形成装置によるプ
リンタ機能を選択した場合の操作画面を示す平面図であ
る。
リンタ機能を選択した場合の操作画面を示す平面図であ
る。
【図115】第3実施形態の複合画像形成装置による複
写機能を選択した場合の操作パネルを示す平面図であ
る。
写機能を選択した場合の操作パネルを示す平面図であ
る。
【図116】第3実施形態の複合画像形成装置によるフ
ァクシミリ機能を選択した場合の操作画面を示す平面図
である。
ァクシミリ機能を選択した場合の操作画面を示す平面図
である。
【図117】第3実施形態の複合画像形成装置による電
子ファイル機能を選択した場合の操作画面を示す平面図
である。
子ファイル機能を選択した場合の操作画面を示す平面図
である。
【図118】第3実施形態の複合画像形成装置によるプ
リンタ機能を選択した場合の操作画面を示す平面図であ
る。
リンタ機能を選択した場合の操作画面を示す平面図であ
る。
【図119】第4実施形態の複合画像形成装置による複
写機能を選択した場合の操作パネルを示す平面図であ
る。
写機能を選択した場合の操作パネルを示す平面図であ
る。
【図120】第4実施形態の複合画像形成装置によるフ
ァクシミリ機能を選択した場合の操作画面を示す平面図
である。
ァクシミリ機能を選択した場合の操作画面を示す平面図
である。
【図121】第4実施形態の複合画像形成装置による電
子ファイル機能を選択した場合の操作画面を示す平面図
である。
子ファイル機能を選択した場合の操作画面を示す平面図
である。
【図122】第4実施形態の複合画像形成装置によるプ
リンタ機能を選択した場合の操作画面を示す平面図であ
る。
リンタ機能を選択した場合の操作画面を示す平面図であ
る。
【図123】第4実施形態の複合画像形成装置による複
写機能を選択した場合の操作パネルを示す平面図であ
る。
写機能を選択した場合の操作パネルを示す平面図であ
る。
【図124】第4実施形態の複合画像形成装置によるフ
ァクシミリ機能を選択した場合の操作画面を示す平面図
である。
ァクシミリ機能を選択した場合の操作画面を示す平面図
である。
【図125】第4実施形態の複合画像形成装置による電
子ファイル機能を選択した場合の操作画面を示す平面図
である。
子ファイル機能を選択した場合の操作画面を示す平面図
である。
【図126】第4実施形態の複合画像形成装置によるプ
リンタ機能を選択した場合の操作画面を示す平面図であ
る。
リンタ機能を選択した場合の操作画面を示す平面図であ
る。
【図127】第1〜第4実施形態の複合画像形成装置の
ブロック図である。
ブロック図である。
401 CPU 402 バスブリッジ 403 メモリ 404 Gバス 405 Bバス 406 Gバスアービタ 407 Bバスアービタ 4301A Gバス/Bバスインターフェース(スキャ
ナ) 4301B Gバス/Bバスインターフェース(プリン
タ) 4302 スキャナコントローラ 4303 プリンタコントローラ
ナ) 4301B Gバス/Bバスインターフェース(プリン
タ) 4302 スキャナコントローラ 4303 プリンタコントローラ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成11年4月20日(1999.4.2
0)
0)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】 複合機器の制御装置及び方法
【特許請求の範囲】
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えばスキャナ等
の画像入力装置とプリンタ等の画像出力装置とを効率的
に制御する複合機器の制御装置及び方法に関するもので
ある。
の画像入力装置とプリンタ等の画像出力装置とを効率的
に制御する複合機器の制御装置及び方法に関するもので
ある。
【0002】
【従来の技術】従来、スキャナなどの画像入力装置とプ
リンタなどの画像出力装置とを組み合わせた複写機やフ
ァクシミリ、あるいはそれらを単体として備えたコンピ
ュータシステムなど、複合機器と呼ばれる画像処理装置
が実用化されている。このような装置では、資源を競合
しない限り、複合するユニットを用いて、複数のジョブ
を並行に実行することができる。
リンタなどの画像出力装置とを組み合わせた複写機やフ
ァクシミリ、あるいはそれらを単体として備えたコンピ
ュータシステムなど、複合機器と呼ばれる画像処理装置
が実用化されている。このような装置では、資源を競合
しない限り、複合するユニットを用いて、複数のジョブ
を並行に実行することができる。
【0003】
【発明が解決しようとする課題】しかしながら、複数の
ジョブが並行に実行されれば、それだけ装置全体が消費
する電力が増加し、装置に安全に供給できる電力を越え
てしまう自体も発生する。このような事態が発生すれ
ば、甚だしい場合には装置自体が破壊されてしまうこと
もあり得る。
ジョブが並行に実行されれば、それだけ装置全体が消費
する電力が増加し、装置に安全に供給できる電力を越え
てしまう自体も発生する。このような事態が発生すれ
ば、甚だしい場合には装置自体が破壊されてしまうこと
もあり得る。
【0004】
【課題を解決するための手段】本発明は上記従来例に鑑
みてなされたもので、電力消費状態に応じてジョブの実
行を制御することで、装置全体の電力状態を適切な状態
に維持することを目的とする。
みてなされたもので、電力消費状態に応じてジョブの実
行を制御することで、装置全体の電力状態を適切な状態
に維持することを目的とする。
【0005】また上記目的を達成するために、本発明は
次のような構成からなる。すなわち、複数のジョブを並
列に実行可能な複合機器の制御装置であって、消費電力
を監視する監視手段と、ジョブの開始を指示する指示手
段と、前記監視手段により、消費電力が所定値を越えて
いないか判定する判定手段とを備え、前記判定手段によ
り消費電力が所定値を越えていると判定された場合、前
記指示手段により指示されたジョブを実行しない。
次のような構成からなる。すなわち、複数のジョブを並
列に実行可能な複合機器の制御装置であって、消費電力
を監視する監視手段と、ジョブの開始を指示する指示手
段と、前記監視手段により、消費電力が所定値を越えて
いないか判定する判定手段とを備え、前記判定手段によ
り消費電力が所定値を越えていると判定された場合、前
記指示手段により指示されたジョブを実行しない。
【0006】また好ましくは、前記指示手段によりジョ
ブが開始された場合、そのジョブが実行中であることを
示す画像を表示し、ジョブが終了した場合、実行中であ
ること示す画像を消去する表示手段を更に備える。
ブが開始された場合、そのジョブが実行中であることを
示す画像を表示し、ジョブが終了した場合、実行中であ
ること示す画像を消去する表示手段を更に備える。
【0007】
【発明の実施の形態】次に本発明の実施の形態として、
画像スキャナやプリンタ、ファクシミリ、電子ファイル
等の画像入出力に関わる複数の機能を備えた複合画像形
成装置に関して説明する。図127は複合画像形成装置
のブロック図である。図127において、Do Eng
ine116−1は、装置全体を制御する制御回路であ
り、ひとつの半導体に集積された集積回路として実現さ
れる。この制御回路116−1には、データやプログラ
ム等を格納するためのROM116−2,画像データ等
が格納されるRAM116−3、画像データ等を格納す
るためのハードディスク等からなる外部記憶装置116
−4、画像データ等が表示される表示部116−5、表
示部116−5のうえに重ねられた透明なデジタイザな
どで実現される操作部116−6、画像スキャナやプリ
ンタのエンジン部と接続するためのエンジンインターフ
ェース116−7、通信線を介してデータ交換を行うた
めのネットワークインターフェース116−8、その他
が威武装置と説属すための外部インターフェース116
−9などが接続されている。なお、外部記憶装置116
−4は、Do Engine116−1がもつPCIイ
ンターフェース上に接続されている。
画像スキャナやプリンタ、ファクシミリ、電子ファイル
等の画像入出力に関わる複数の機能を備えた複合画像形
成装置に関して説明する。図127は複合画像形成装置
のブロック図である。図127において、Do Eng
ine116−1は、装置全体を制御する制御回路であ
り、ひとつの半導体に集積された集積回路として実現さ
れる。この制御回路116−1には、データやプログラ
ム等を格納するためのROM116−2,画像データ等
が格納されるRAM116−3、画像データ等を格納す
るためのハードディスク等からなる外部記憶装置116
−4、画像データ等が表示される表示部116−5、表
示部116−5のうえに重ねられた透明なデジタイザな
どで実現される操作部116−6、画像スキャナやプリ
ンタのエンジン部と接続するためのエンジンインターフ
ェース116−7、通信線を介してデータ交換を行うた
めのネットワークインターフェース116−8、その他
が威武装置と説属すための外部インターフェース116
−9などが接続されている。なお、外部記憶装置116
−4は、Do Engine116−1がもつPCIイ
ンターフェース上に接続されている。
【0008】次に、その装置を制御する中心的な構成で
ある、プロセッサコア、プロセッサ周辺コントローラ、
メモリコントローラ、スキャナ/プリンタコントロー
ラ、PCIインターフェースなどを内蔵したシングルチ
ップ・スキャニング・プリンティングエンジンである
“DoEngine”を説明する。
ある、プロセッサコア、プロセッサ周辺コントローラ、
メモリコントローラ、スキャナ/プリンタコントロー
ラ、PCIインターフェースなどを内蔵したシングルチ
ップ・スキャニング・プリンティングエンジンである
“DoEngine”を説明する。
【0009】1.DoEngine概要 DoEngineは、MIPSテクノロジー社のR40
00プロセッサとコンパチブルなプロセッサコア、プロ
セッサ周辺コントローラ、メモリコントローラ、スキャ
ナー/プリンタコントローラ、PCIインターフェース
などを内蔵したシングルチップ・スキャニング・プリン
ティングエンジンである。高速並列動作、ビルディング
ブロック手法を採用し実装される。
00プロセッサとコンパチブルなプロセッサコア、プロ
セッサ周辺コントローラ、メモリコントローラ、スキャ
ナー/プリンタコントローラ、PCIインターフェース
などを内蔵したシングルチップ・スキャニング・プリン
ティングエンジンである。高速並列動作、ビルディング
ブロック手法を採用し実装される。
【0010】プロセッサシェル(プロセッサコアを含む
プロセッサ周辺回路の総称)内には最大でインストラク
ション、データそれぞれ16Kバイトの計32Kバイト
のキャッシュメモリ、FPU(浮動小数点演算ユニッ
ト)、MMU(メモリ管理ユニット)、ユーザー定義可
能なコプロセッサなどを内蔵することが可能である。
プロセッサ周辺回路の総称)内には最大でインストラク
ション、データそれぞれ16Kバイトの計32Kバイト
のキャッシュメモリ、FPU(浮動小数点演算ユニッ
ト)、MMU(メモリ管理ユニット)、ユーザー定義可
能なコプロセッサなどを内蔵することが可能である。
【0011】PCIバスインターフェースを有するの
で、PCIバススロットを有するコンピュータシステム
と共に用いることができる。また、PCIサテライト構
成に加え、PCIホストバスブリッジ構成にてPCIバ
スコンフィギュレーションを発行することが可能であ
り、安価なPCI周辺デバイスと組み合わせることによ
り、マルチファンクションペリフェラル(複合機能周辺
機器)のメインエンジンとして使用することも可能であ
る。さらにPCIバスインターフェースを有するレンダ
リングエンジン、圧縮・伸長エンジンと組み合わせるこ
とも可能である。
で、PCIバススロットを有するコンピュータシステム
と共に用いることができる。また、PCIサテライト構
成に加え、PCIホストバスブリッジ構成にてPCIバ
スコンフィギュレーションを発行することが可能であ
り、安価なPCI周辺デバイスと組み合わせることによ
り、マルチファンクションペリフェラル(複合機能周辺
機器)のメインエンジンとして使用することも可能であ
る。さらにPCIバスインターフェースを有するレンダ
リングエンジン、圧縮・伸長エンジンと組み合わせるこ
とも可能である。
【0012】チップ内部に汎用IOコアを接続するIO
バス(Bバス)、及び、画像データ転送に最適化したグ
ラフィックバス(Gバス:Graphics Bus)の2系統の独立
したバスを有し、メモリ、プロセッサとこれらのバスを
クロスバスイッチを介して接続することにより、マルチ
ファンクションシステムにおける同時動作に必須の、並
列性の高い高速データ転送を実現している。
バス(Bバス)、及び、画像データ転送に最適化したグ
ラフィックバス(Gバス:Graphics Bus)の2系統の独立
したバスを有し、メモリ、プロセッサとこれらのバスを
クロスバスイッチを介して接続することにより、マルチ
ファンクションシステムにおける同時動作に必須の、並
列性の高い高速データ転送を実現している。
【0013】メモリには、画像データに代表される、連
続したデータ列のアクセスに対し、最高のコストパフォ
ーマンスを有するシンクロナスDRAM(SDRAM)
をサポートし、SDRAMのバーストアクセス高速デー
タ転送のメリットを享受できない小さなデータ単位での
ランダムアクセスにおける性能低下を最小に抑えるため
に、8Kバイトの2ウェイセットアソシアティブ・メモ
リフロントキャッシュをメモリコントローラ内に備え
る。メモリフロントキャッシュは、すべてのメモリライ
トに対するバススヌープが難しい、クロスバスイッチを
採用したシステム構成においても、複雑な機構なしに、
キャッシュメモリによる高性能化が達成出来る方式であ
る。また、リアルタイムデータ転送(機器制御)が可能
な、プリンタ及びスキャナーとのデータインターフェー
ス(Video Interface)を有し、さらにハードウェアによ
る、機器間同期のサポート及び画像処理を行う事によ
り、スキャナ、プリンタ分離型の構成においても、高品
質で高速なコピー動作の実現が可能な構成となってい
る。
続したデータ列のアクセスに対し、最高のコストパフォ
ーマンスを有するシンクロナスDRAM(SDRAM)
をサポートし、SDRAMのバーストアクセス高速デー
タ転送のメリットを享受できない小さなデータ単位での
ランダムアクセスにおける性能低下を最小に抑えるため
に、8Kバイトの2ウェイセットアソシアティブ・メモ
リフロントキャッシュをメモリコントローラ内に備え
る。メモリフロントキャッシュは、すべてのメモリライ
トに対するバススヌープが難しい、クロスバスイッチを
採用したシステム構成においても、複雑な機構なしに、
キャッシュメモリによる高性能化が達成出来る方式であ
る。また、リアルタイムデータ転送(機器制御)が可能
な、プリンタ及びスキャナーとのデータインターフェー
ス(Video Interface)を有し、さらにハードウェアによ
る、機器間同期のサポート及び画像処理を行う事によ
り、スキャナ、プリンタ分離型の構成においても、高品
質で高速なコピー動作の実現が可能な構成となってい
る。
【0014】なお、DoEngineは、コアが3.3
Vで動作し、IOは5Vトレラントである。
Vで動作し、IOは5Vトレラントである。
【0015】図1及び図2,図3は、DoEngine
を用いた複合画像生成装置あるいはシステムの構成例を
示している。図1は分離構成型であり、パーソナルコン
ピュータ102には、それが備えるPCIインターフェ
ースを介してDoEngineを備えたローカルボード
101が装着される。ローカルボード101にはDoE
ngineのほか、後述するメモリバスを介してDoE
ngineと接続されたメモリと、色処理回路(チッ
プ)が設けられている。このローカルボード101を介
して、高速スキャナ103とカラー/モノクロプリンタ
104とがパーソナルコンピュータ102に接続され
る。この構成により、パーソナルコンピュータの制御の
もとで,ローカルボード101により、スキャナ103
から入力された画像情報を処理し、プリンタ104から
出力させることができる。
を用いた複合画像生成装置あるいはシステムの構成例を
示している。図1は分離構成型であり、パーソナルコン
ピュータ102には、それが備えるPCIインターフェ
ースを介してDoEngineを備えたローカルボード
101が装着される。ローカルボード101にはDoE
ngineのほか、後述するメモリバスを介してDoE
ngineと接続されたメモリと、色処理回路(チッ
プ)が設けられている。このローカルボード101を介
して、高速スキャナ103とカラー/モノクロプリンタ
104とがパーソナルコンピュータ102に接続され
る。この構成により、パーソナルコンピュータの制御の
もとで,ローカルボード101により、スキャナ103
から入力された画像情報を処理し、プリンタ104から
出力させることができる。
【0016】また、図2及び図3はスキャナ203とプ
リンタ202とを一体に組み込んだ例で、図2は通常の
複写機に類する構成を、図3(a)はファクシミリ装置
などの構成を示している。図3(b)は、図3(a)を
コントロールするコンピュータを示している。
リンタ202とを一体に組み込んだ例で、図2は通常の
複写機に類する構成を、図3(a)はファクシミリ装置
などの構成を示している。図3(b)は、図3(a)を
コントロールするコンピュータを示している。
【0017】これらのうち、図1,2は、PCIインタ
ーフェースを介して接続された外部のCPUによりDo
Engineが制御されるというスレーブモードで使用
されている例であり、図3は、DoEngineのCP
Uが主体となり、PCIインターフェースを介して接続
されたデバイスを制御するマスタモードで使用されてい
る例である。
ーフェースを介して接続された外部のCPUによりDo
Engineが制御されるというスレーブモードで使用
されている例であり、図3は、DoEngineのCP
Uが主体となり、PCIインターフェースを介して接続
されたデバイスを制御するマスタモードで使用されてい
る例である。
【0018】表1として、DoEngineの仕様を示
す。外部インターフェースとして、PCI,メモリバ
ス,ビデオ,汎用入出力,IEEE1284,RS23
2C,100baseT/10baseT,LCDパネ
ル及びキーを備えるが、更にUSBを有していてもよ
い。内蔵ブロックとして、CPUコアに加えて、1次キ
ャッシュ,キャッシュ付きメモリコントローラ,コピー
エンジン,IOバスアービタ(Bバスアービタ),グラ
フィックバスアービタ(Gバスアービタ)などを備えて
いる。また、DMAコントローラはチャネル数が5であ
り、グラフィックバス(Gバス),IOバス(Bバス)
ともに、アービトレーションは優先度付きの先着順処理
方式で行われる。
す。外部インターフェースとして、PCI,メモリバ
ス,ビデオ,汎用入出力,IEEE1284,RS23
2C,100baseT/10baseT,LCDパネ
ル及びキーを備えるが、更にUSBを有していてもよ
い。内蔵ブロックとして、CPUコアに加えて、1次キ
ャッシュ,キャッシュ付きメモリコントローラ,コピー
エンジン,IOバスアービタ(Bバスアービタ),グラ
フィックバスアービタ(Gバスアービタ)などを備えて
いる。また、DMAコントローラはチャネル数が5であ
り、グラフィックバス(Gバス),IOバス(Bバス)
ともに、アービトレーションは優先度付きの先着順処理
方式で行われる。
【表1】 2.DoEngineの構成及び動作 本章では、DoEngine の総論に加え、各機能ブ
ロック毎のブロック図、概要、詳細、コアインターフェ
ース、タイミング図などを解説する。
ロック毎のブロック図、概要、詳細、コアインターフェ
ース、タイミング図などを解説する。
【0019】2.1.DoEngineのチップ構成 図4として、DoEngineのブロック図を示す。D
oEngine400は次世代複合機能周辺機器(シス
テム)(MFP:Multi Function Peripheral or MFS:Multi
Function System)の主たるコントローラとして設計、開
発された。
oEngine400は次世代複合機能周辺機器(シス
テム)(MFP:Multi Function Peripheral or MFS:Multi
Function System)の主たるコントローラとして設計、開
発された。
【0020】CPU(プロセッサコア)401として、
MIPSテクノロジー社のMIPSR4000コアを採
用する。プロセッサコア401内には、8Kバイトずつ
のインストラクション,データのキャッシュメモリ、M
MUなどが実装される。プロセッサコア401は、64
ビットのプロセッサバス(SCバス)を介して、システ
ム・バス・ブリッジ(SBB)402に接続される。S
BB402は4×4の64ビットクロスバスイッチであ
り、プロセッサコア401の他に、キャッシュメモリを
備えたSDRAMやROMを制御するメモリコントロー
ラ403と専用のローカルバス(MCバス)で接続され
ており、さらに、グラフィックバスであるGバス40
4、IOバスであるBバス405と接続され、全部で4
つのバスに接続される。システムバスブリッジ402
は、これら4モジュール間を、可能な限り、同時平行接
続を確保することができるように設計されている。
MIPSテクノロジー社のMIPSR4000コアを採
用する。プロセッサコア401内には、8Kバイトずつ
のインストラクション,データのキャッシュメモリ、M
MUなどが実装される。プロセッサコア401は、64
ビットのプロセッサバス(SCバス)を介して、システ
ム・バス・ブリッジ(SBB)402に接続される。S
BB402は4×4の64ビットクロスバスイッチであ
り、プロセッサコア401の他に、キャッシュメモリを
備えたSDRAMやROMを制御するメモリコントロー
ラ403と専用のローカルバス(MCバス)で接続され
ており、さらに、グラフィックバスであるGバス40
4、IOバスであるBバス405と接続され、全部で4
つのバスに接続される。システムバスブリッジ402
は、これら4モジュール間を、可能な限り、同時平行接
続を確保することができるように設計されている。
【0021】Gバス404はGバスアービタ(GBA)
406により協調制御されており、スキャナやプリンタ
と接続するためのスキャナコントローラ4302やプリ
ンタコントローラ4303に接続される。また、Bバス
405は、Bバスアービタ(BBA)407により協調
制御されており、スキャナ/プリンタコントローラのほ
か、電力管理ユニット(PMU)409,インタラプト
コントローラ(IC)410,UARTを用いたシリア
ルインターフェースコントローラ(SIC)411,U
SBコントローラ412,IEEE1284を用いたパ
ラレルインターフェースコントローラ(PIC)41
3,イーサネットを用いたLANコントローラ(LAN
C)414,LCDパネル,キー,汎用入出力コントロ
ーラ(PC)415,PCIバスインターフェース(P
CIC)416にも接続されている。汎用入出力コント
ローラ(PC)415には、Do Engineを制御
ユニットとして用い、後述する画像処理装置等を構成し
た場合に、表示パネルやキーボードを備えた操作パネル
417が接続される。
406により協調制御されており、スキャナやプリンタ
と接続するためのスキャナコントローラ4302やプリ
ンタコントローラ4303に接続される。また、Bバス
405は、Bバスアービタ(BBA)407により協調
制御されており、スキャナ/プリンタコントローラのほ
か、電力管理ユニット(PMU)409,インタラプト
コントローラ(IC)410,UARTを用いたシリア
ルインターフェースコントローラ(SIC)411,U
SBコントローラ412,IEEE1284を用いたパ
ラレルインターフェースコントローラ(PIC)41
3,イーサネットを用いたLANコントローラ(LAN
C)414,LCDパネル,キー,汎用入出力コントロ
ーラ(PC)415,PCIバスインターフェース(P
CIC)416にも接続されている。汎用入出力コント
ローラ(PC)415には、Do Engineを制御
ユニットとして用い、後述する画像処理装置等を構成し
た場合に、表示パネルやキーボードを備えた操作パネル
417が接続される。
【0022】2.2.プロセッサシェル プロセッサシェルとは、プロセッサコアに加えMMU
(Memory Management Unit)、命令キャッシュ、データ
キャッシュ、ライトバックバッファ及び掛け算ユニット
を含んだブロックを指す。
(Memory Management Unit)、命令キャッシュ、データ
キャッシュ、ライトバックバッファ及び掛け算ユニット
を含んだブロックを指す。
【0023】(キャッシュメモリ)図5に示したよう
に、キャッシュメモリコントローラは、無効(Invali
d),有効かつクリーン(Valid Clean:キャッシュが更
新されていない),有効かつダーティ(Valid Dirty:キ
ャッシュが更新されている)の3つのステートキャッシ
ュを管理する。この状態に応じて、キャッシュは制御さ
れる。
に、キャッシュメモリコントローラは、無効(Invali
d),有効かつクリーン(Valid Clean:キャッシュが更
新されていない),有効かつダーティ(Valid Dirty:キ
ャッシュが更新されている)の3つのステートキャッシ
ュを管理する。この状態に応じて、キャッシュは制御さ
れる。
【0024】2.3.インタラプトコントローラ 図6にインタラプトコントローラ410のブロック図を
示す。
示す。
【0025】インタラプトコントローラ410は、Bバ
スインターフェース605を介してBバス405に接続
され、DoEngineチップ内の各機能ブロック及
び、チップ外部からのインタラプトを集積し、CPUコ
ア401がサポートする、6レベルの外部インタラプト
及び、ノンマスカブルインタラプト(NMI)に再分配
する。各機能ブロックとは、電力管理ユニット409,
シリアルインターフェースコントローラ411,USB
コントローラ412,パラレルインターフェースコント
ローラ413,イーサネットコントローラ414,汎用
IOコントローラ415,PCIインターフェースコン
トローラ416,スキャナコントローラ4302,プリ
ンタコントローラ4303などである。
スインターフェース605を介してBバス405に接続
され、DoEngineチップ内の各機能ブロック及
び、チップ外部からのインタラプトを集積し、CPUコ
ア401がサポートする、6レベルの外部インタラプト
及び、ノンマスカブルインタラプト(NMI)に再分配
する。各機能ブロックとは、電力管理ユニット409,
シリアルインターフェースコントローラ411,USB
コントローラ412,パラレルインターフェースコント
ローラ413,イーサネットコントローラ414,汎用
IOコントローラ415,PCIインターフェースコン
トローラ416,スキャナコントローラ4302,プリ
ンタコントローラ4303などである。
【0026】この際、ソフトウェアコンフィギュレーシ
ョン可能なマスクレジスタ(Int Mask Logic 0 - 5)60
2により、各要因毎に割り込みをマスクをすることが可
能である。また、外部インタラプト入力は、選択的エッ
ジ検出回路601により、信号線ごとに、エッジセンス
/レベルセンスを選択することが出来る。要因レジスタ
(Detect and set Cause Reg 0 - 5)603は、各レベ
ルごとに、どのインタラプトがアサートされているかを
示すとともに、ライト動作を行うことで、レベルごとに
クリアを行う事が出来る。
ョン可能なマスクレジスタ(Int Mask Logic 0 - 5)60
2により、各要因毎に割り込みをマスクをすることが可
能である。また、外部インタラプト入力は、選択的エッ
ジ検出回路601により、信号線ごとに、エッジセンス
/レベルセンスを選択することが出来る。要因レジスタ
(Detect and set Cause Reg 0 - 5)603は、各レベ
ルごとに、どのインタラプトがアサートされているかを
示すとともに、ライト動作を行うことで、レベルごとに
クリアを行う事が出来る。
【0027】各レベルの割込み信号は、各レベル毎に少
なくともひとつの割り込みがあれば割込み信号を出力す
べく、論理和回路604により論理和として出力され
る。なお、各レベル内での複数要因間のレベル付けはソ
フトウェアにて行う。
なくともひとつの割り込みがあれば割込み信号を出力す
べく、論理和回路604により論理和として出力され
る。なお、各レベル内での複数要因間のレベル付けはソ
フトウェアにて行う。
【0028】2.4.メモリコントローラ 図7は、メモリコントローラ403のブロック図であ
る。メモリコントローラ403は、メモリコントローラ
専用のローカルバスであるMCバスにMCバスインター
フェース701を介して接続され、最大1ギガバイトの
シンクロナスDRAM(SDRAM)と、32メガバイ
トのフラッシュROMあるいはROMをサポートする。
SDRAMの特徴であるバースト転送時の高速性を活か
すため、64(16×4)バースト転送を実現する。ま
た、CPUやBバスよりの連続したアドレスのシングル
転送を考慮し、メモリコントローラ内にSRAM(メモ
リフロントキャッシュ)702を内蔵し、SDRAMへ
直接シングル転送を行うことを可能な限り回避して転送
効率を向上させる。メモリコントローラ−SDRAM間
のデータバス幅は、信号ramData及びramParをあわせて
72ビット(このうち8ビットの信号ramParはパリテ
ィ)、フラッシュROM間のデータバスfntromData,pr
gromDataの幅は32ビットとする。
る。メモリコントローラ403は、メモリコントローラ
専用のローカルバスであるMCバスにMCバスインター
フェース701を介して接続され、最大1ギガバイトの
シンクロナスDRAM(SDRAM)と、32メガバイ
トのフラッシュROMあるいはROMをサポートする。
SDRAMの特徴であるバースト転送時の高速性を活か
すため、64(16×4)バースト転送を実現する。ま
た、CPUやBバスよりの連続したアドレスのシングル
転送を考慮し、メモリコントローラ内にSRAM(メモ
リフロントキャッシュ)702を内蔵し、SDRAMへ
直接シングル転送を行うことを可能な限り回避して転送
効率を向上させる。メモリコントローラ−SDRAM間
のデータバス幅は、信号ramData及びramParをあわせて
72ビット(このうち8ビットの信号ramParはパリテ
ィ)、フラッシュROM間のデータバスfntromData,pr
gromDataの幅は32ビットとする。
【0029】2.4.2.構成及び動作 メモリコントローラの各部はこれから説明するような構
成となっている。
成となっている。
【0030】(MCバスインターフェース(701))
MCバスは、SBB402−メモリコントローラ403
間の専用のバスであり、またSBB内部の基本バスとし
て用いられている。
MCバスは、SBB402−メモリコントローラ403
間の専用のバスであり、またSBB内部の基本バスとし
て用いられている。
【0031】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ビットがソース(マスタ)を あらわし、下位ビットがシングル/バースト長をあらわす。タイプには次のよう なものがある。
続する専用バス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ビットがソース(マスタ)を あらわし、下位ビットがシングル/バースト長をあらわす。タイプには次のよう なものがある。
【0032】 mTType[6:4] 信号源 −−−−−−− −−−−−−−−−− 001 CPU 010 Bバス 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バススレーブ(メモリコントローラ)がページ内書き込みトランザクション を許可するかどうかを示し、mBRdy_Lと同じクロックでサンプリングされる。こ の時mBPWA_LがディアサートされていればmTPW_Lは無意味となる。 ・mBRty_L(入力) … バスリトライ MCバススレーブ(メモリコントローラ)がアクセスを未実行のまま終了させる 場合にアサートし、少なくとも1サイクル以上のアイドルの後に再試行しなけれ ばならないことを示す。(もしmBRdy_LとmBRty_Lが同時にアサートされた場合は 、mBRty_Lが優先される。) ・mBerr_L(入力) … バスエラー パリティエラーやその他のバスエラーが発生した場合にアサートされる。
【0033】なお、上述した入出力の別は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信号をアサートし、バスリトラ
イを通知する。
ての定義である。 (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信号をアサートし、バスリトラ
イを通知する。
【0034】(SDRAMコントローラ(705))メ
モリコントローラ403は、次のような構成を有するS
DRAMを以下のように制御する。
モリコントローラ403は、次のような構成を有するS
DRAMを以下のように制御する。
【0035】(DRAM構成)DRAMの構成として
は、x4,x8,x16ビットタイプの16/64メガビットS
DRAMを64ビットデータバスで8バンク制御すること
ができる。
は、x4,x8,x16ビットタイプの16/64メガビットS
DRAMを64ビットデータバスで8バンク制御すること
ができる。
【表2】 (DRAMアドレスビット構成)DRAMのアドレスビ
ットの割付けについては、64ビットSDRAMの場合
にはMA[13:0]を、16ビットSDRAMの場合にはMA[1
1:0]を使用する。
ットの割付けについては、64ビットSDRAMの場合
にはMA[13:0]を、16ビットSDRAMの場合にはMA[1
1:0]を使用する。
【表3】 (SDRAMプログラマブル構成(モードレジスタ))
SDRAMは内部にモードレジスタを持ち、モードレジ
スタ設定コマンドを用いて下記の項目を設定する。 バースト長 バースト長は、1,2,4,8,フルページのいずれか
が設定可能であるが、CPUからのバースト転送長が4で
あることから、バースト長4が最適である。Gバスから
の16バースト以上の転送は、Read/Writeコマンド(オ
ートプリチャージ無し)を連続して発行することにより
実現する。 ラップタイプ(Wrap Type) バースト転送時のアドレスのインクリメント順を設定す
る。「シーケンシャル」または「インターリーブ」のど
ちらかが設定可能である。 CASレイテンシ CASレイテンシは、1,2,3のいずれかが設定可能で
あり、使用するSDRAMのグレードと動作クロックに
より決定される。
SDRAMは内部にモードレジスタを持ち、モードレジ
スタ設定コマンドを用いて下記の項目を設定する。 バースト長 バースト長は、1,2,4,8,フルページのいずれか
が設定可能であるが、CPUからのバースト転送長が4で
あることから、バースト長4が最適である。Gバスから
の16バースト以上の転送は、Read/Writeコマンド(オ
ートプリチャージ無し)を連続して発行することにより
実現する。 ラップタイプ(Wrap Type) バースト転送時のアドレスのインクリメント順を設定す
る。「シーケンシャル」または「インターリーブ」のど
ちらかが設定可能である。 CASレイテンシ CASレイテンシは、1,2,3のいずれかが設定可能で
あり、使用するSDRAMのグレードと動作クロックに
より決定される。
【0036】(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)時にセルフリフレッシュが続行される。
て以下のコマンドをサポートする。各コマンドの詳細
は、SDRAMデータブックに記載されている。 ・モードレジスタ設定コマンド ・アクティブコマンド ・プリチャージコマンド ・ライトコマンド ・リードコマンド ・CBR(Auto)リフレッシュコマンド ・セルフリフレッシュ開始コマンド ・バーストストップコマンド ・NOPコマンド (SDRAMリフレッシュ)SDRAMは、2048サイク
ル/32ms(4096/64ms)であるので、16,625nsおきにCBRリ
フレッシュコマンドを発行する。メモリコントローラは
設定可能なリフレッシュカウンタを持ち、自動的にCBR
リフレッシュコマンドを発行する。Gバスからの16-バ
ーストx nの転送中は、リフレッシュ要求を受け付けな
い。したがって、リフレッシュカウンタは16-バーストx
4転送の時間だけ余裕を持った値を設定しなければなら
ない。また、セルフリフレッシュをサポートする。この
コマンドを発行すると、パワーダウンモード(ramclke_L
=Low)時にセルフリフレッシュが続行される。
【0037】(SDRAM初期化)メモリコントローラ
はパワーオンリセット後、SDRAMに対して以下の初
期化を行なう。すなわち、電源投入後100μsのポーズ
期間をおいて、 プリチャージウコマンドを用いて全バンクをプリチャ
ージする。 SDRAMのモードレジスタを設定する。 オートリフレッシュコマンドを用いて、リフレッシュ
を8回行う。
はパワーオンリセット後、SDRAMに対して以下の初
期化を行なう。すなわち、電源投入後100μsのポーズ
期間をおいて、 プリチャージウコマンドを用いて全バンクをプリチャ
ージする。 SDRAMのモードレジスタを設定する。 オートリフレッシュコマンドを用いて、リフレッシュ
を8回行う。
【0038】(フラッシュROMコントローラ(70
4))フラッシュROMコントローラ704は、romAdd
r[23:2]のアドレス信号と4個のチップセレクト(romCs_
L[3:0])信号をサポートする。アドレス信号romAddr2〜r
omAddr9はパリティ信号ramPar0〜ramPar7とマルチプレ
クスされ、アドレス信号romAddr10〜romAddr23は、DR
AMアドレスramAddr0〜ramAddr13とマルチプレクスさ
れている。
4))フラッシュROMコントローラ704は、romAdd
r[23:2]のアドレス信号と4個のチップセレクト(romCs_
L[3:0])信号をサポートする。アドレス信号romAddr2〜r
omAddr9はパリティ信号ramPar0〜ramPar7とマルチプレ
クスされ、アドレス信号romAddr10〜romAddr23は、DR
AMアドレスramAddr0〜ramAddr13とマルチプレクスさ
れている。
【0039】(SRAMコントロール(メモリフロント
キャッシュ))メインメモリとして用いられるSDRA
Mは、バースト転送は非常に高速であるが、シングル転
送においてはその高速性が発揮できない。そこで、メモ
リコントローラ内にメモリフロントのキャッシュを実装
し、シングル転送の高速化をはかる。メモリフロントキ
ャッシュは、キャッシュコントローラ706とSRAM
702より構成される。MCバスに定義されたmTType
[6:0]信号により、その転送マスターと転送長を知るこ
とができるので、各マスターごと、あるいは転送長ごと
にキャッシュのオン/オフが設定可能である。キャッシ
ュの方式は、次の通りである。なお、以下、特に断らな
い限り、単なるキャッシュあるいはキャッシュメモリと
いう呼称は、プロセッサコアに内蔵されたキャッシュで
はなく、メモリコントローラが内蔵するメモリフロント
キャッシュを指すものとする。 ・2ウェイセットアソシアティブ ・8kバイトデータRAM ・128 x 21 x 2 タグRAM ・LRU(Least Recently Used)アルゴリズム ・ライトスルー ・No Write Allocate 次にキャッシュコントローラ706を中心とする詳細な
ブロック図を図8に示す。
キャッシュ))メインメモリとして用いられるSDRA
Mは、バースト転送は非常に高速であるが、シングル転
送においてはその高速性が発揮できない。そこで、メモ
リコントローラ内にメモリフロントのキャッシュを実装
し、シングル転送の高速化をはかる。メモリフロントキ
ャッシュは、キャッシュコントローラ706とSRAM
702より構成される。MCバスに定義されたmTType
[6:0]信号により、その転送マスターと転送長を知るこ
とができるので、各マスターごと、あるいは転送長ごと
にキャッシュのオン/オフが設定可能である。キャッシ
ュの方式は、次の通りである。なお、以下、特に断らな
い限り、単なるキャッシュあるいはキャッシュメモリと
いう呼称は、プロセッサコアに内蔵されたキャッシュで
はなく、メモリコントローラが内蔵するメモリフロント
キャッシュを指すものとする。 ・2ウェイセットアソシアティブ ・8kバイトデータRAM ・128 x 21 x 2 タグRAM ・LRU(Least Recently Used)アルゴリズム ・ライトスルー ・No Write Allocate 次にキャッシュコントローラ706を中心とする詳細な
ブロック図を図8に示す。
【0040】(キャッシュの動作)ここで、MCバスよ
りメモリリード/ライト転送が要求された場合のキャッ
シュの動作を図8のブロック図と、図9及び図10に示
すフローチャートを用いて説明する。
りメモリリード/ライト転送が要求された場合のキャッ
シュの動作を図8のブロック図と、図9及び図10に示
すフローチャートを用いて説明する。
【0041】MCバスよりデータ転送が開始されると、
その転送の最初にMCバス上で示されるmTType[6:0]に
よって、その転送がキャッシュオンでおこなうか、オフ
でおこなうかの判断がおこなわれる。この説明では、転
送がシングル転送であればオン、バースト転送であれば
オフと判断することにする(ステップS901)。すな
わち、mTType(3)が“1”hであれば、シングル転送を
あらわすのでキャッシュオンで、“0”hであればバー
スト転送をあらわすのでキャッシュオフで転送を行う。
その転送の最初にMCバス上で示されるmTType[6:0]に
よって、その転送がキャッシュオンでおこなうか、オフ
でおこなうかの判断がおこなわれる。この説明では、転
送がシングル転送であればオン、バースト転送であれば
オフと判断することにする(ステップS901)。すな
わち、mTType(3)が“1”hであれば、シングル転送を
あらわすのでキャッシュオンで、“0”hであればバー
スト転送をあらわすのでキャッシュオフで転送を行う。
【0042】シングル転送(キャッシュオン)の場合、
アドレス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)。
アドレス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)。
【0043】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)。
出力されたb1_tag_addrとb2_tag_addrがそれぞれb1_com
parater804,b2_comparater805でアドレスlmaddr
[31:12]と比較され、その結果、すなわちヒットか否か
がb1_hit_miss_L,b2_hit_miss_L信号によりキャッシュ
コントローラ706へ知らされ、判定される(ステップ
S903)。
【0044】ここでヒットであれば、リードかライトか
が判定される(ステップ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
ヒット)に書き換えて、転送が終了する。
が判定される(ステップ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
ヒット)に書き換えて、転送が終了する。
【0045】一方、ヒットかつライトの場合にはつぎの
ようになる。すなわち、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)。
ようになる。すなわち、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)。
【0046】一方、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)。
リードかライトか判定される(ステップ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)。
【0047】ステップS901においてバースト転送
(キャッシュオフ)の場合、リード、ライトともSDR
AMに対してだけ行われ(ステップS907−S90
9)、キャッシュデータやタグの書き換え等は行わな
い。
(キャッシュオフ)の場合、リード、ライトともSDR
AMに対してだけ行われ(ステップS907−S90
9)、キャッシュデータやタグの書き換え等は行わな
い。
【0048】(ROM/RAMインターフェース(70
7))ROM/RAMコントローラ707の構成を図1
1に示す。ブロック1101〜ブロック1104によ
り、SDRAMのデータ信号、アドレス信号、パリティ
信号が、フラッシュROMのデータ信号、アドレス信号
と多重化される。
7))ROM/RAMコントローラ707の構成を図1
1に示す。ブロック1101〜ブロック1104によ
り、SDRAMのデータ信号、アドレス信号、パリティ
信号が、フラッシュROMのデータ信号、アドレス信号
と多重化される。
【0049】2.4.3.タイミングダイアグラム 上述したメモリコントローラ403によるデータの読み
出し・書き込み等の処理のタイミングを、図12〜図1
9を用いて説明する。
出し・書き込み等の処理のタイミングを、図12〜図1
9を用いて説明する。
【0050】図12は、CPUからのバースト読み出し
のタイミングを示す。バースト長は4、CASレイテン
シは3である。図9のステップS909における処理に
相当する。
のタイミングを示す。バースト長は4、CASレイテン
シは3である。図9のステップS909における処理に
相当する。
【0051】図13は、CPUからのバースト書き込み
のタイミングを示す。バースト長は4、CASレイテン
シは3である。図9のステップS908における処理に
相当する。
のタイミングを示す。バースト長は4、CASレイテン
シは3である。図9のステップS908における処理に
相当する。
【0052】図14は、Gバスデバイスからのバースト
読み出しのタイミングを示す。Gバスのバースト長は1
6、SDRAMのバースト長は4、CASレイテンシは
3である。図9のステップS909における処理に相当
する。
読み出しのタイミングを示す。Gバスのバースト長は1
6、SDRAMのバースト長は4、CASレイテンシは
3である。図9のステップS909における処理に相当
する。
【0053】図15は、Gバスデバイスからのバースト
書き込みのタイミングを示す。Gバスのバースト長は1
6、SDRAMのバースト長は4、CASレイテンシは
3である。図9のステップS908における処理に相当
する。
書き込みのタイミングを示す。Gバスのバースト長は1
6、SDRAMのバースト長は4、CASレイテンシは
3である。図9のステップS908における処理に相当
する。
【0054】図16は、メモリフロントキャッシュにヒ
ットした場合のシングル読み出しのタイミングを示す。
読み出されるデータmDataIn[63:0]としては、キャッシ
ュメモリであるb1_data_ram702−aあるいはb2_data
_ram702−bから読み出されたb1/b2_out_dataが出力
される。SDRAMのバースト長は4、CASレイテン
シは3である。図9のステップS905における処理に
相当する。
ットした場合のシングル読み出しのタイミングを示す。
読み出されるデータmDataIn[63:0]としては、キャッシ
ュメモリであるb1_data_ram702−aあるいはb2_data
_ram702−bから読み出されたb1/b2_out_dataが出力
される。SDRAMのバースト長は4、CASレイテン
シは3である。図9のステップS905における処理に
相当する。
【0055】図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における処理に相当
する。
ットしなかった場合のシングル読み出しのタイミングを
示す。読み出されるデータ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における処理に相当
する。
【0056】図18は、メモリフロントキャッシュにヒ
ットした場合のシングル書き込みのタイミングを示す。
書き込まれるデータ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_ram7
02−bに書き込まれるとともに、SDRAMにも書き
込まれる。SDRAMのバースト長は4、CASレイテ
ンシは3である。図9のステップS906における処理
に相当する。
【0057】図19は、メモリフロントキャッシュにヒ
ットしなかった場合のシングル書き込みのタイミングを
示す。書き込まれるデータmDataOut[63:0]は、キャッシ
ュメモリであるb1_data_ram702−aあるいはb2_data
_ram702−bには書き込まれず、SDRAMに対して
だけ書き込まれる。SDRAMのバースト長は4、CA
Sレイテンシは3である。図10のステップS1002
における処理に相当する。
ットしなかった場合のシングル書き込みのタイミングを
示す。書き込まれるデータmDataOut[63:0]は、キャッシ
ュメモリであるb1_data_ram702−aあるいはb2_data
_ram702−bには書き込まれず、SDRAMに対して
だけ書き込まれる。SDRAMのバースト長は4、CA
Sレイテンシは3である。図10のステップS1002
における処理に相当する。
【0058】なお、ここでは、MCバスよりデータ転送
が開始されると、その転送の最初にMCバス上で示され
るmTType[6:0]によって、転送がシングル転送であれば
オン、バースト転送であればオフと判断しているが、バ
ースト転送の場合に、さらにバースト長を判定し、バー
スト長がキャッシュの1ラインよりも小さい場合にはキ
ャッシュオンとし、そうでない場合にはキャッシュオフ
として動作するようにしてもよい。
が開始されると、その転送の最初にMCバス上で示され
るmTType[6:0]によって、転送がシングル転送であれば
オン、バースト転送であればオフと判断しているが、バ
ースト転送の場合に、さらにバースト長を判定し、バー
スト長がキャッシュの1ラインよりも小さい場合にはキ
ャッシュオンとし、そうでない場合にはキャッシュオフ
として動作するようにしてもよい。
【0059】また、MCバスに、メモリへのデータ転送
を要求したバスマスタの識別子を示す信号を含ませるこ
とで、メモリコントローラがその識別子を判定し、識別
子に応じてキャッシュオン/キャッシュオフの制御を行
うこともできる。この場合には、識別子とキャッシュオ
ン/オフの別とを対応させた書換え可能なテーブルを用
意し、それを参照してキャッシュのオンオフを切り替え
ることもできる。このテーブルは、例えば特定のアドレ
スを割り当ててCPU401などから書換え可能にする
こともできる。
を要求したバスマスタの識別子を示す信号を含ませるこ
とで、メモリコントローラがその識別子を判定し、識別
子に応じてキャッシュオン/キャッシュオフの制御を行
うこともできる。この場合には、識別子とキャッシュオ
ン/オフの別とを対応させた書換え可能なテーブルを用
意し、それを参照してキャッシュのオンオフを切り替え
ることもできる。このテーブルは、例えば特定のアドレ
スを割り当ててCPU401などから書換え可能にする
こともできる。
【0060】2.5.システムバスブリッジ(SBB)
及びBバス,Gバス 図20としてシステムバスブリッジ(SBB)402の
ブロック図を示す。
及びBバス,Gバス 図20としてシステムバスブリッジ(SBB)402の
ブロック図を示す。
【0061】SBB402は、Bバス(入出力バス),
Gバス(グラフィックバス),SCバス(プロセッサロ
ーカルバス)及びMCバス間の相互接続をクロスバスイ
ッチを用いて提供する、マルチチャネル双方向バスブリ
ッジである。クロスバスイッチにより、2系統の接続を
同時に確立することが出来、並列性の高い高速データ転
送を実現出来る。
Gバス(グラフィックバス),SCバス(プロセッサロ
ーカルバス)及びMCバス間の相互接続をクロスバスイ
ッチを用いて提供する、マルチチャネル双方向バスブリ
ッジである。クロスバスイッチにより、2系統の接続を
同時に確立することが出来、並列性の高い高速データ転
送を実現出来る。
【0062】SBB402は、Bバス405と接続する
ためのBバスインターフェース2906と、Gバス40
4と接続するためのGバスインターフェース2006
と、プロセッサコア401と接続するためのCPUイン
ターフェーススレーブポート2002と、メモリコント
ローラ403と接続するためのメモリインターフェース
マスターポートを備えるほか、アドレスバスを接続する
アドレススイッチ2003,データバスを接続するデー
タスイッチ2004を含む。また、プロセッサコアのキ
ャッシュメモリを無効化するキャッシュ無効化ユニット
2005を備えている。
ためのBバスインターフェース2906と、Gバス40
4と接続するためのGバスインターフェース2006
と、プロセッサコア401と接続するためのCPUイン
ターフェーススレーブポート2002と、メモリコント
ローラ403と接続するためのメモリインターフェース
マスターポートを備えるほか、アドレスバスを接続する
アドレススイッチ2003,データバスを接続するデー
タスイッチ2004を含む。また、プロセッサコアのキ
ャッシュメモリを無効化するキャッシュ無効化ユニット
2005を備えている。
【0063】Bバスインターフェース2009には、B
バスデバイスからのDMAライトを高速化するライトバッ
ファと、Bバスデバイスのリードを効率化するリードプ
リフェッチキューを実装する。これらのキュー内に一時
的に存在するデータに関するコヒーレンシ管理はハード
ウェアにて行う。なお、Bバスに接続されたデバイスを
デバイスと呼ぶ。
バスデバイスからのDMAライトを高速化するライトバッ
ファと、Bバスデバイスのリードを効率化するリードプ
リフェッチキューを実装する。これらのキュー内に一時
的に存在するデータに関するコヒーレンシ管理はハード
ウェアにて行う。なお、Bバスに接続されたデバイスを
デバイスと呼ぶ。
【0064】プロセッサコアは32ビットバスに対する
ダイナミックバスサイジングをサポートしているが、S
BB402ではこれをサポートしない、将来、バスサイ
ジングをサポートしないプロセッサを用いる場合にもS
BBに必要な改造を最小限におさえるためである。
ダイナミックバスサイジングをサポートしているが、S
BB402ではこれをサポートしない、将来、バスサイ
ジングをサポートしないプロセッサを用いる場合にもS
BBに必要な改造を最小限におさえるためである。
【0065】2.5.1.SBB及び各バスの構成及び
動作 (Bバスインターフェース)図21は、Bバスインター
フェースのブロック図である。
動作 (Bバスインターフェース)図21は、Bバスインター
フェースのブロック図である。
【0066】Bバスインターフェース2009は、Bバ
スとMCバス間の双方向ブリッジ回路である。Bバスは
DoEngineの内部汎用バスである。
スとMCバス間の双方向ブリッジ回路である。Bバスは
DoEngineの内部汎用バスである。
【0067】Bバスインターフェース2009内には、
マスタコントロールブロック2011、スレーブコント
ロールブロック2010、データインターフェース20
12、DMAC2013、Bバスバッファの5ブロックが含
まれる。図21上で、DMAC2013は、機能上3個のシ
ーケンサとレジスタブロックに分割される。それら3つ
のシーケンサのうち、DMAメモリアクセスシーケンサは
Bバススレーブコントロールブロック2010に、DMA
regシーケンサはBバスマスターコントロールブロッ
ク2011に内蔵される。レジスタブロックであるDMA
レジスタはBバスデータインターフェース2012部に
内蔵される。
マスタコントロールブロック2011、スレーブコント
ロールブロック2010、データインターフェース20
12、DMAC2013、Bバスバッファの5ブロックが含
まれる。図21上で、DMAC2013は、機能上3個のシ
ーケンサとレジスタブロックに分割される。それら3つ
のシーケンサのうち、DMAメモリアクセスシーケンサは
Bバススレーブコントロールブロック2010に、DMA
regシーケンサはBバスマスターコントロールブロッ
ク2011に内蔵される。レジスタブロックであるDMA
レジスタはBバスデータインターフェース2012部に
内蔵される。
【0068】またBバスインターフェース2009はB
バス側からのメモリへの書き込み時、及びDMAによるデ
バイスからメモリへの転送が起こった時に、キャッシュ
無効化インターフェースを介してCPUシェル内のデー
タ、命令両キャッシュの無効化の制御を行う。
バス側からのメモリへの書き込み時、及びDMAによるデ
バイスからメモリへの転送が起こった時に、キャッシュ
無効化インターフェースを介してCPUシェル内のデー
タ、命令両キャッシュの無効化の制御を行う。
【0069】なお、CPUライト時のライトバックバッフ
ァはBバスインターフェースには実装しないが、Bバス
上の外部マスタライト時のライトバッファを実装する。
これにより、バースト転送でない、連続した外部マスタ
からの書き込みが高速化される。このライトバッファの
フラッシュは、Bバスアービタ407によるメモリへの
接続が許された時点で行われる。Bバスマスタリードの
ライトバッファバイパスは行わない。
ァはBバスインターフェースには実装しないが、Bバス
上の外部マスタライト時のライトバッファを実装する。
これにより、バースト転送でない、連続した外部マスタ
からの書き込みが高速化される。このライトバッファの
フラッシュは、Bバスアービタ407によるメモリへの
接続が許された時点で行われる。Bバスマスタリードの
ライトバッファバイパスは行わない。
【0070】また、外部マスタのリードプリフェッチキ
ューを実行する。これにより、外部マスタからの連続し
た、データストリームの読み出しの高速化を図る。リー
ドバッファの無効化は、 1.Bバスの新たなリードがバッファにヒットしなかっ
た場合。 2.CPUからメモリへのライトが行われた場合。 3.Gバスからメモリへのライトが行われた場合。 4.Bバスからメモリへのライトが行われた場合。 に行われる。
ューを実行する。これにより、外部マスタからの連続し
た、データストリームの読み出しの高速化を図る。リー
ドバッファの無効化は、 1.Bバスの新たなリードがバッファにヒットしなかっ
た場合。 2.CPUからメモリへのライトが行われた場合。 3.Gバスからメモリへのライトが行われた場合。 4.Bバスからメモリへのライトが行われた場合。 に行われる。
【0071】またBバスインターフェース2009には
Bバス405上の各デバイスとメモリ間のDMAコントロ
ーラ2013が内蔵される。システムバスブリッジ40
2にDMAコントローラを内蔵することにより、ブリッジ
双方へ、同時にアクセス要求が発行出来、効率的なDMA
転送が実現出来る。
Bバス405上の各デバイスとメモリ間のDMAコントロ
ーラ2013が内蔵される。システムバスブリッジ40
2にDMAコントローラを内蔵することにより、ブリッジ
双方へ、同時にアクセス要求が発行出来、効率的なDMA
転送が実現出来る。
【0072】Bバスインターフェース2009はプロセ
ッサ401からのアクセス要求に対して、ダイナミック
バスサイジングの使用を要求しない。またBバスマスタ
からのメモリアクセス要求時に、メモリコントローラ4
03からのバスサイジングにも対応しない。すなわち、
メモリコントローラはバスサイジングを期待すべきでは
ない。
ッサ401からのアクセス要求に対して、ダイナミック
バスサイジングの使用を要求しない。またBバスマスタ
からのメモリアクセス要求時に、メモリコントローラ4
03からのバスサイジングにも対応しない。すなわち、
メモリコントローラはバスサイジングを期待すべきでは
ない。
【0073】(Bバス)BバスはDoEngine内の
汎用IOバスであり、以下の仕様を持つ。 ・アドレス、データ分離型32ビットバス。 ・任意のウェイトサイクルを挿入可能、最短はノーウェ
イト。 ・バーストトランザクションのサポート。 ・最大転送速度は、クロックが50MHz時に200Mbyte/Se
c。 ・バスエラーとバスリトライのサポート。 ・複数バスマスタのサポート。
汎用IOバスであり、以下の仕様を持つ。 ・アドレス、データ分離型32ビットバス。 ・任意のウェイトサイクルを挿入可能、最短はノーウェ
イト。 ・バーストトランザクションのサポート。 ・最大転送速度は、クロックが50MHz時に200Mbyte/Se
c。 ・バスエラーとバスリトライのサポート。 ・複数バスマスタのサポート。
【0074】(Bバス信号定義)以下にバス信号の定義
を説明する。各信号毎に、「信号名(英語呼称):入力
元>出力先 (,3States)…信号の説明」の要領で記載
されている。なお、3ステートの項は3ステートの信号
に限り記載した。
を説明する。各信号毎に、「信号名(英語呼称):入力
元>出力先 (,3States)…信号の説明」の要領で記載
されている。なお、3ステートの項は3ステートの信号
に限り記載した。
【0075】bAddr[31:2](IOBus Address Bus):Mast
er>Slabe,3State… IOBusアドレスバス。
er>Slabe,3State… IOBusアドレスバス。
【0076】bData[31:0] (IOBus Data Bus):DataDr
iver>DataReceiver,3State …IOBusデータバス。
iver>DataReceiver,3State …IOBusデータバス。
【0077】b(Datadrivername)DataOeReq(IOBus Data
Output Enable Request):Datadriver>DefaultDrive
rLogic … 後述する双方向IOバスを実現するため、
デフォルトドライバーコントロールロジックヘの出力信
号である。Datadrivernameを持つデバイスが、バス上に
データをドライブするための要求信号である。データの
出力を許可されたデバイスには、デフォルトドライバー
コントロールロジックよりb(Datadrivername)DataOe_L
が出力される。Datadriverの例:Pci,Sbb,Jpeg,Spu。
Output Enable Request):Datadriver>DefaultDrive
rLogic … 後述する双方向IOバスを実現するため、
デフォルトドライバーコントロールロジックヘの出力信
号である。Datadrivernameを持つデバイスが、バス上に
データをドライブするための要求信号である。データの
出力を許可されたデバイスには、デフォルトドライバー
コントロールロジックよりb(Datadrivername)DataOe_L
が出力される。Datadriverの例:Pci,Sbb,Jpeg,Spu。
【0078】b(Datadrivername)DataOe_L(IOBus Data
Output Enable): dfaultDriverLogic>Datadriver
… b(Datadrivername)DataOeReqを出力したデバイスに
対し、デフォルトドライバーロジックがデータバスへの
データのドライブを許す場合b(Datadrivername)DataOe_
L信号をそのデバイスに対して返す。
Output Enable): dfaultDriverLogic>Datadriver
… b(Datadrivername)DataOeReqを出力したデバイスに
対し、デフォルトドライバーロジックがデータバスへの
データのドライブを許す場合b(Datadrivername)DataOe_
L信号をそのデバイスに対して返す。
【0079】bError_L(IOBus Bus Error):Slave>Ma
ster 3State … IOバストランザクションがエラー
で終了したことを示す。
ster 3State … IOバストランザクションがエラー
で終了したことを示す。
【0080】b(Mastername)BGnt_L(IOBus Grant):Ar
biter>Master … バスアービトレーションにより当
マスタがバスの使用権を得たことを示す。Masternameの
例:Pci,Sbb,Jpeg,Spu。
biter>Master … バスアービトレーションにより当
マスタがバスの使用権を得たことを示す。Masternameの
例:Pci,Sbb,Jpeg,Spu。
【0081】blnstNotData(IOBus Instruction/Data O
utput Indicator):Master>Slave,3State … Bバ
スマスタがインストラクションフェッチをBバススレー
ブに対して行う場合にHighにドライブする。データトラ
ンザクションの場合はLowにドライブする。
utput Indicator):Master>Slave,3State … Bバ
スマスタがインストラクションフェッチをBバススレー
ブに対して行う場合にHighにドライブする。データトラ
ンザクションの場合はLowにドライブする。
【0082】b(Mastername)CntlOeReq(IOBus Master C
ontrol Output Enable Request):Master>DefaultDri
verLogic … Bバスマスタが、bStart_L,bTx_L,bWr_
L,vInstNotDataとbAddr[31:2]を3ステートバス上にド
ライブしたい場合に、IOBus Output Control Logicに対
してアサートする。IOBus Output Control Logic は各
マスタからの、bMCntlOeReqに基づきドライブを許すマ
スタに対し、b(Mastername)CntlOe_L信号を返す。
ontrol Output Enable Request):Master>DefaultDri
verLogic … Bバスマスタが、bStart_L,bTx_L,bWr_
L,vInstNotDataとbAddr[31:2]を3ステートバス上にド
ライブしたい場合に、IOBus Output Control Logicに対
してアサートする。IOBus Output Control Logic は各
マスタからの、bMCntlOeReqに基づきドライブを許すマ
スタに対し、b(Mastername)CntlOe_L信号を返す。
【0083】b(Mastername)CntlOe_L(IOBus Master Co
ntrol Output Enable):DefaultDriverLogic>Master
… b(Mastername)CntlOeReqを出力したマスタに対
し、デフォルトドライバーロジックがドライブを許す場
合b(Mastername)CntlOe_L信号をそのマスタに対して返
す。
ntrol Output Enable):DefaultDriverLogic>Master
… b(Mastername)CntlOeReqを出力したマスタに対
し、デフォルトドライバーロジックがドライブを許す場
合b(Mastername)CntlOe_L信号をそのマスタに対して返
す。
【0084】bRdy_L(IOBus Ready):Slave>Master,
3State … Bバススレーブは、現在のBバスデータト
ランザクションが現在のクロックサイクルを最後に終了
することを示すためにこの信号をアサートする。Bバス
マスタは、この信号により、現在のトランザクションが
このクロックサイクルで終了することを知る。b(Master
name)BReq_L(IOBus Bus Request):Master>Arbiter
… Bバスマスタが、Bバスアービタに対し、バスの
使用権要求を行う事を示す。
3State … Bバススレーブは、現在のBバスデータト
ランザクションが現在のクロックサイクルを最後に終了
することを示すためにこの信号をアサートする。Bバス
マスタは、この信号により、現在のトランザクションが
このクロックサイクルで終了することを知る。b(Master
name)BReq_L(IOBus Bus Request):Master>Arbiter
… Bバスマスタが、Bバスアービタに対し、バスの
使用権要求を行う事を示す。
【0085】bRetry_L(IOBus Bus Retry):Slave>Ma
ster 3State … Bバススレーブがマスタに対し、バ
ストランザクションの最実行を要求する。
ster 3State … Bバススレーブがマスタに対し、バ
ストランザクションの最実行を要求する。
【0086】b(Slavename)RdyOeReq(IOBus Slave Read
y Output Enable Request):Slave>DefaultDriverLog
ic … Bバススレーブが、bRdy_L,bWBurstReq_L,bBur
stAck_Lを3ステートバス上にドライブしたい場合に、I
OBus Output Control Logicに対してアサートする。IOB
us DefaultDriverLogicは各マスタからの、b(Slavenam
e)RdyOeReqに基づきドライブを許すスレーブに対し、b
(Slavename)RdyOe_L信号を返す。
y Output Enable Request):Slave>DefaultDriverLog
ic … Bバススレーブが、bRdy_L,bWBurstReq_L,bBur
stAck_Lを3ステートバス上にドライブしたい場合に、I
OBus Output Control Logicに対してアサートする。IOB
us DefaultDriverLogicは各マスタからの、b(Slavenam
e)RdyOeReqに基づきドライブを許すスレーブに対し、b
(Slavename)RdyOe_L信号を返す。
【0087】b(Slavename)RdyOe_L(IOBus Slave Ready
Output Enable):DefaultDriverLogic>Slave … b
(Slavename)RdyOeReqを出力したマスタに対し、デフォ
ルトドライバーロジックがドライブを許す場合b(Slaven
ame)RdyOe_L信号をそのマスタに対して返す。
Output Enable):DefaultDriverLogic>Slave … b
(Slavename)RdyOeReqを出力したマスタに対し、デフォ
ルトドライバーロジックがドライブを許す場合b(Slaven
ame)RdyOe_L信号をそのマスタに対して返す。
【0088】bSnoopWait(IOBus Snoop Wait):SBB>N
extMaster … BバスインターフェースがBバスに接
続された他のデバイスに対し、キャッシュのスヌーピン
グ実行中であることを示す。Bバスに接続されたデバイ
スはこの信号がアサートされている間は新たなトランザ
クションを発行できない。
extMaster … BバスインターフェースがBバスに接
続された他のデバイスに対し、キャッシュのスヌーピン
グ実行中であることを示す。Bバスに接続されたデバイ
スはこの信号がアサートされている間は新たなトランザ
クションを発行できない。
【0089】bStart_L(IOBus Transaction START):M
aster >Slave 3State … BバスマスタがBバストラ
ンザクションをスタートすることを示す信号、Bバスス
レーブは、この信号を監視することにより、Bバストラ
ンザクションのスタートを知ることが出来る。
aster >Slave 3State … BバスマスタがBバストラ
ンザクションをスタートすることを示す信号、Bバスス
レーブは、この信号を監視することにより、Bバストラ
ンザクションのスタートを知ることが出来る。
【0090】bTx_L(IOBus Transaction Indicator Inp
ut):Master>Slave 3State …BバスマスタがBバス
スレーブに対し、Bバストランザクションが現在実行中
である事を示すためにアサートする。
ut):Master>Slave 3State …BバスマスタがBバス
スレーブに対し、Bバストランザクションが現在実行中
である事を示すためにアサートする。
【0091】bWBurstGnt_L(IOBus Burst Write Gran
t):Master>Slave,3State … Bバスマスタが、B
バスバーストライトのリクエストに対し、バーストライ
ト実行することを示すためにドライブする。
t):Master>Slave,3State … Bバスマスタが、B
バスバーストライトのリクエストに対し、バーストライ
ト実行することを示すためにドライブする。
【0092】bWBurstReq_L(IOBus Burst Write Reques
t):Slave >Master,3Stete …BバススレーブがB
バスマスタに対し、バースとライトを要求する場合にア
サートする。
t):Slave >Master,3Stete …BバススレーブがB
バスマスタに対し、バースとライトを要求する場合にア
サートする。
【0093】bWr_L(IOBus Write Transaction Indicat
er):Master>Slave,3State …Bバスマスタが、B
バススレーブに対し、現在のトランザクションがライト
である事を示すためにアサートする。
er):Master>Slave,3State …Bバスマスタが、B
バススレーブに対し、現在のトランザクションがライト
である事を示すためにアサートする。
【0094】bByteEn[3:0](IOBus Byte Enables):Da
taDriver>DataReceiver,3State… Bバス上にデータ
をドライブするエージェントが、各ビットに対応したbD
ata[31:0]上のバイトレーンが有効である事を示すため
にHighにドライブする。本信号の各ラインとbDataのバ
イトレーンは表4の対応関係にある。
taDriver>DataReceiver,3State… Bバス上にデータ
をドライブするエージェントが、各ビットに対応したbD
ata[31:0]上のバイトレーンが有効である事を示すため
にHighにドライブする。本信号の各ラインとbDataのバ
イトレーンは表4の対応関係にある。
【表4】 bBurst_L(IOBus Extended Burst Request):Master>
Slave,3Sate … Bバスマスタが拡張バーストを行い
たい事を示す。アサート、ネゲートタイミングはbTx_L
と同一。
Slave,3Sate … Bバスマスタが拡張バーストを行い
たい事を示す。アサート、ネゲートタイミングはbTx_L
と同一。
【0095】bBurstAck_L(IOBus Extended Burst Ackn
owledge):Slave>Maste,3State… Bバススレーブ
が拡張バーストを行える事を示す。アサート、ネゲート
タイミングはbRdy_Lと同一。
owledge):Slave>Maste,3State… Bバススレーブ
が拡張バーストを行える事を示す。アサート、ネゲート
タイミングはbRdy_Lと同一。
【0096】bBurstShortNotLong_L(IOBus Burst Leng
th):Master>Slave,3State …Bバスマスタが拡張
バーストを行う場合のバースト長を示す。アサート、ネ
ゲートタイミングはbTx_Lと同一であり、信号値とバー
スト長との対応は表5に示したとおりである。
th):Master>Slave,3State …Bバスマスタが拡張
バーストを行う場合のバースト長を示す。アサート、ネ
ゲートタイミングはbTx_Lと同一であり、信号値とバー
スト長との対応は表5に示したとおりである。
【表5】 Bバス信号は上述の通りである。DoEngine内部
のバスである、Bバス(及びGバス)は接続される機能
ブロック数が10以上になるので、InOut分離バスです
べてのブロックを接続することは、困難である。DoE
ngineでは、チップ内双方向バスを採用する。
のバスである、Bバス(及びGバス)は接続される機能
ブロック数が10以上になるので、InOut分離バスです
べてのブロックを接続することは、困難である。DoE
ngineでは、チップ内双方向バスを採用する。
【0097】(Gバスインターフェース)図22にGバ
スインターフェース2006のブロック図を示す。この
概要は下記の通りである。
スインターフェース2006のブロック図を示す。この
概要は下記の通りである。
【0098】(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
クロック以上経過してからしか行えない。基本的に信号
のリリースはネゲートした次のクロックで行う。
コントローラ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
クロック以上経過してからしか行えない。基本的に信号
のリリースはネゲートした次のクロックで行う。
【0099】なお、各信号名の後の“_L”はその信号が
ローアクティブであることを示す。信号の記述のしかた
は、ほぼBバス信号の記述に準ずる。説明は、システム
信号、アドレス及びデータ信号、インターフェース制御
信号、アービトレーション信号に分けて行う。また、バ
スエージェントとは、バスに接続されるバスマスタやバ
ススレーブの総称である。
ローアクティブであることを示す。信号の記述のしかた
は、ほぼBバス信号の記述に準ずる。説明は、システム
信号、アドレス及びデータ信号、インターフェース制御
信号、アービトレーション信号に分けて行う。また、バ
スエージェントとは、バスに接続されるバスマスタやバ
ススレーブの総称である。
【0100】(システム信号) gClk(G-Bus Clock) … Gバス上のすべてのトラン
ザクションについてタイミングを提供し、すべてのデバ
イスに対して入力となる。
ザクションについてタイミングを提供し、すべてのデバ
イスに対して入力となる。
【0101】gRst_L(G-Bus Reset) … Gバス上の
すべてのデバイスをリセットする。すべての内部レジス
タはクリアーされ、すべての出力信号はネゲートされ
る。
すべてのデバイスをリセットする。すべての内部レジス
タはクリアーされ、すべての出力信号はネゲートされ
る。
【0102】(アドレスおよびデータ信号) gAddr[31:7],InOut,(G-Bus Address):Master>Sla
ve … Gバス上のデータ転送はすべて128byte(16
ビート)単位で行われるため、gAddr[31]〜gAddr[7]の
25ビットで4Gbyteのアドレス空間をサポートする。 drive:gTs_Lと同時にマスターがドライブ assert:ドライブした次のクロック negate:gAack_Lのアサートを確認したクロック。
ve … Gバス上のデータ転送はすべて128byte(16
ビート)単位で行われるため、gAddr[31]〜gAddr[7]の
25ビットで4Gbyteのアドレス空間をサポートする。 drive:gTs_Lと同時にマスターがドライブ assert:ドライブした次のクロック negate:gAack_Lのアサートを確認したクロック。
【0103】g(Mastename)AddrOeReq(G-Bus Address O
utPut Enable Request):Master>DefaultDriverLogic
… 双方向Gバスを実現するための、デフォルトドラ
イバロジックへの出力信号。バスマスタがアドレスバス
をドライブするための要求信号。
utPut Enable Request):Master>DefaultDriverLogic
… 双方向Gバスを実現するための、デフォルトドラ
イバロジックへの出力信号。バスマスタがアドレスバス
をドライブするための要求信号。
【0104】g(Mastername)AddrOe_L(G-Bus Address O
utPut Enablet):DefaultDriveLogic>Master … g
(Mastername)AddrOeReqを出力したバスマスタに対し、
デフォルトドライバロジックがアドレスバスのドライブ
を許可することを示す信号。
utPut Enablet):DefaultDriveLogic>Master … g
(Mastername)AddrOeReqを出力したバスマスタに対し、
デフォルトドライバロジックがアドレスバスのドライブ
を許可することを示す信号。
【0105】gData[63:0],InOut,( G-Bus Data):D
ataDriver>DataReceiver … 64ビットデータバス
で、ライト時はマスタがドライブ、リード時はスレーブ
がドライブ。
ataDriver>DataReceiver … 64ビットデータバス
で、ライト時はマスタがドライブ、リード時はスレーブ
がドライブ。
【0106】[ライト] drive:gTs_Lと同時にマスタがドライブ。ただし、gSlvB
sy_Lがアサートされている時はネゲートされるまで待っ
てドライブ。 assert:ドライブした次のクロック。 change:gAack_Lのアサートを確認したクロック、その後
は毎クロック。 negate:転送終了時、またはgTrStp_Lによる転送停止要
求を確認した場合は、gAack_Lのアサートを確認したク
ロック。
sy_Lがアサートされている時はネゲートされるまで待っ
てドライブ。 assert:ドライブした次のクロック。 change:gAack_Lのアサートを確認したクロック、その後
は毎クロック。 negate:転送終了時、またはgTrStp_Lによる転送停止要
求を確認した場合は、gAack_Lのアサートを確認したク
ロック。
【0107】[リード] drive:gAack_Lと同時にスレーブがドライブ。 assert:スレーブがReadyであればドライブした次のクロ
ックで、ReadyでなければReadyになるまで待ってアサー
トされる。 change:gAack_Lのアサートを確認したクロック、その後
は毎クロック。リードの場合はアサートしたクロックか
ら毎クロック。 negate:転送終了時。 release:ネゲートの1クロック後、またはgTrStp_Lによ
る転送停止要求を確認したクロック。
ックで、ReadyでなければReadyになるまで待ってアサー
トされる。 change:gAack_Lのアサートを確認したクロック、その後
は毎クロック。リードの場合はアサートしたクロックか
ら毎クロック。 negate:転送終了時。 release:ネゲートの1クロック後、またはgTrStp_Lによ
る転送停止要求を確認したクロック。
【0108】g(DataDrivername)DataOeReq(G-Bus Data
OutPut Enable Request):DataDriver>DefaultDrive
rLogic … データドライバがデータバスをドライブす
るための要求信号。
OutPut Enable Request):DataDriver>DefaultDrive
rLogic … データドライバがデータバスをドライブす
るための要求信号。
【0109】g(DataDrivername)DataOe_L(G-Bus Data
OutPut Enablet):DefaultDriverLogic>DataDriver
… g(DataDrivername)DataOeReqを出力したデータドラ
イバに対し、デフォルトドライバロジックがデータバス
のドライブを許可することを示す信号。
OutPut Enablet):DefaultDriverLogic>DataDriver
… g(DataDrivername)DataOeReqを出力したデータドラ
イバに対し、デフォルトドライバロジックがデータバス
のドライブを許可することを示す信号。
【0110】(インターフェース制御信号) gTs_L(InOut G-Bus Transaction Sart):Master>Sla
ve … マスターにより1クロックの間Lowにアサート
され、転送の開始(アドレスフェーズ)をあらわす。マ
スターはgTs_Lと共に、gAddr,gRdNotWr,gBstCntをドラ
イブし、転送の種類、データ量を明確にする。マスタ
は、ライトの場合ここで明確にした転送データ量をウェ
イトなしで出せることを保証しなければならない。ま
た、リードの場合は明確にした転送データ量をウェイト
なしで受けることを保証しなければならない。スレーブ
は途中でデータ転送ができなくなった場合はgBsStep_L
により、次の16ビートの転送をキャンセルすることが
ある。ただし、16ビートの途中でキャンセルすること
はない。 drive:gGnt_Lのアサートを確認したクロックでドライ
ブ。 assert:ドライブした次のクロック。 negate:1クロックアサート後にネゲートされる。
ve … マスターにより1クロックの間Lowにアサート
され、転送の開始(アドレスフェーズ)をあらわす。マ
スターはgTs_Lと共に、gAddr,gRdNotWr,gBstCntをドラ
イブし、転送の種類、データ量を明確にする。マスタ
は、ライトの場合ここで明確にした転送データ量をウェ
イトなしで出せることを保証しなければならない。ま
た、リードの場合は明確にした転送データ量をウェイト
なしで受けることを保証しなければならない。スレーブ
は途中でデータ転送ができなくなった場合はgBsStep_L
により、次の16ビートの転送をキャンセルすることが
ある。ただし、16ビートの途中でキャンセルすること
はない。 drive:gGnt_Lのアサートを確認したクロックでドライ
ブ。 assert:ドライブした次のクロック。 negate:1クロックアサート後にネゲートされる。
【0111】g(Mastername)TsOeReq(G-Bus Transactio
n Start OutPut Enable Request):Master>DefaultDr
iverLogic … バスマスタがgTs_Lをドライブするため
の要求信号。
n Start OutPut Enable Request):Master>DefaultDr
iverLogic … バスマスタがgTs_Lをドライブするため
の要求信号。
【0112】g(Mastername)TsOe_L(G-Bus Transaction
Start OutPut Enablet):DefaultDriverLogic>Maste
r … g(Mastername)TsOeReqを出力したバスマスタに
対し、デフォルトドライバクロックがgTs_Lのドライブ
を許可することを示す信号。
Start OutPut Enablet):DefaultDriverLogic>Maste
r … g(Mastername)TsOeReqを出力したバスマスタに
対し、デフォルトドライバクロックがgTs_Lのドライブ
を許可することを示す信号。
【0113】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クロックアサート後にネゲートされる。
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クロックアサート後にネゲートされる。
【0114】g(Slavename)AackOeReq(G-Bus Address A
cknowledge OutPut Enable Request):Slave>Default
DriverLogic … スレーブがgAack_Lをドライブするた
めの要求信号。
cknowledge OutPut Enable Request):Slave>Default
DriverLogic … スレーブがgAack_Lをドライブするた
めの要求信号。
【0115】g(Slavename)AackOe_L(G-Bus Address Ac
knowledge OutPut Enablet):DefaultDriverLogic>Sl
ave … g(Slavename)AackOeReqを出力したスレーブに
対し、デフォルトドライバロジックがgAack_Lのドライ
ブを許可することを示す信号。
knowledge OutPut Enablet):DefaultDriverLogic>Sl
ave … g(Slavename)AackOeReqを出力したスレーブに
対し、デフォルトドライバロジックがgAack_Lのドライ
ブを許可することを示す信号。
【0116】gSlvBsy_L,InOut,(G-Bus Slave Bus
y):Slave>Master … スレーブがドライブし、デー
タバスでデータを転送中であることをあらわす。 drive:アドレスデコードヒット時、gTs_Lのアサートを
確認したクロックでドライブ開始。ただし、gSlvBsy_L
がアサートされている時はネゲートされるまで待ってド
ライブ。 assert:スレーブがReadyであればドライブした次のクロ
ックで、ReadyでなければReadyになるまで待ってアサー
ト。 negate:転送終了時にネゲート。 release:ネゲートの1クロック後、またはgTrStp_Lによ
る転送停止要求を確認したクロック。
y):Slave>Master … スレーブがドライブし、デー
タバスでデータを転送中であることをあらわす。 drive:アドレスデコードヒット時、gTs_Lのアサートを
確認したクロックでドライブ開始。ただし、gSlvBsy_L
がアサートされている時はネゲートされるまで待ってド
ライブ。 assert:スレーブがReadyであればドライブした次のクロ
ックで、ReadyでなければReadyになるまで待ってアサー
ト。 negate:転送終了時にネゲート。 release:ネゲートの1クロック後、またはgTrStp_Lによ
る転送停止要求を確認したクロック。
【0117】g(Slavename)SlvBsyOeReq(G-Bus Slave B
usy OutPut Enable Request):Slave>DefaultDriverL
ogic … スレーブがgSlvBsy_Lをドライブするための
要求信号 g(Slavename)SlvBsyOe_L(G-Bus Slave Busy OutPut En
able):DefaultDriverLogic>Slave … g(Slavenam
e)SlvBsyOeReqを出力したスレーブに対し、デフォルト
ドライバロジックがgSlvBsy_Lのドライブを許可するこ
とを示す信号。
usy OutPut Enable Request):Slave>DefaultDriverL
ogic … スレーブがgSlvBsy_Lをドライブするための
要求信号 g(Slavename)SlvBsyOe_L(G-Bus Slave Busy OutPut En
able):DefaultDriverLogic>Slave … g(Slavenam
e)SlvBsyOeReqを出力したスレーブに対し、デフォルト
ドライバロジックがgSlvBsy_Lのドライブを許可するこ
とを示す信号。
【0118】gRdNotWr,InOut,(G-Bus Read(High)/Wr
ite(Low)):Master>Slave …マスターによりドライ
ブされ、HighでREAD、LOWでWRITEをあらわす。ドライブ
する期間はGAと同じである。 derive:gTs_Lと同時にマスターがドライブ。 assert:ドライブした次のクロック。 negate:gAack_Lのアサートを確認したクロック。
ite(Low)):Master>Slave …マスターによりドライ
ブされ、HighでREAD、LOWでWRITEをあらわす。ドライブ
する期間はGAと同じである。 derive:gTs_Lと同時にマスターがドライブ。 assert:ドライブした次のクロック。 negate:gAack_Lのアサートを確認したクロック。
【0119】g(Mastername)RdNotWrOeReq(G-Bus Read/
Write OutPut Enable Reques):Master>DefaultDrive
rLogic … バスマスタがgRdNotWrをドライブするため
の要求信号。
Write OutPut Enable Reques):Master>DefaultDrive
rLogic … バスマスタがgRdNotWrをドライブするため
の要求信号。
【0120】g(Mastername)RdNotWrOe_L(G-Bus Read/W
rite OutPut Enablet):DefaultDriverLogic>Master
… g(Mastername)RdNotWrOeReqを出力したバスマス
タに対し、デフォルトドライバロジックがgRdNotWrのド
ライブを許可することを示す信号。
rite OutPut Enablet):DefaultDriverLogic>Master
… g(Mastername)RdNotWrOeReqを出力したバスマス
タに対し、デフォルトドライバロジックがgRdNotWrのド
ライブを許可することを示す信号。
【0121】gBstCnt[1:0],InOut,(G-Bus Burst Cou
nter):Master>Slave … マスターによりドライブ
され、連続して行うバースト転送の数(1〜4)をあら
わす。信号の値とバースト転送するバイト数との対応は
表6のようになる。 derive:gTs_Lと同時にマスターがドライブ。 assert:ドライブした次のクロック。 negate:gAack_Lのアサートを確認したクロック。
nter):Master>Slave … マスターによりドライブ
され、連続して行うバースト転送の数(1〜4)をあら
わす。信号の値とバースト転送するバイト数との対応は
表6のようになる。 derive:gTs_Lと同時にマスターがドライブ。 assert:ドライブした次のクロック。 negate:gAack_Lのアサートを確認したクロック。
【表6】 g(Mastername)BstCntOeReq(G-Bus Burst Counter OutP
ut Enable Request):Master>DefaultDriverLogic
… バスマスタがgBstCntをドライブするための要求信
号。
ut Enable Request):Master>DefaultDriverLogic
… バスマスタがgBstCntをドライブするための要求信
号。
【0122】g(Mastername)BstCntOe_L(G-Bus Burst C
ounter OutPut Enablet):DefaultDriverLogic>Maste
r … g(Mastername)BstCntOeReqを出力したバスマス
タに対し、デフォルトドライバロジックがgBstCntのド
ライブを許可することを示す信号。
ounter OutPut Enablet):DefaultDriverLogic>Maste
r … g(Mastername)BstCntOeReqを出力したバスマス
タに対し、デフォルトドライバロジックがgBstCntのド
ライブを許可することを示す信号。
【0123】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上をドライブするための要求信
号。
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上をドライブするための要求信
号。
【0124】g(Slavename)BstStpOe_L(G-Bus Burst St
op OutPut Enablet):DefaultDriverlogic>Slave …
g(Slavename)BstStpOeReqを出力したスレーブに対
し、デフォルトドライバロジックがgBstStp_Lのドライ
ブを許可することを示す信号。
op OutPut Enablet):DefaultDriverlogic>Slave …
g(Slavename)BstStpOeReqを出力したスレーブに対
し、デフォルトドライバロジックがgBstStp_Lのドライ
ブを許可することを示す信号。
【0125】(アービトレーション信号) 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>Ma
ster … アービタによりドライブされ、バス要求に対
して次のバス権を与える。各マスタデバイスごとに専用
の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もドライブする。g
SlvBsy_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で指定されたデータ量だけ転送
を行う。マスタとスレーブは、それぞれ自分でクロック
をカウントして、データ転送の終了を知らなければなら
ない。
>Arbiter … マスターによりドライブされ、アービ
タに対してバスを要求する。各マスターデバイスごとに
専用のgReq_Lを持つ。 assert:データ転送が必要なマスターがアサート negate:gGnt_Lを受ければネゲート g(Mastername)Gnt_L,In,(G-Bus GNT):Arbiter>Ma
ster … アービタによりドライブされ、バス要求に対
して次のバス権を与える。各マスタデバイスごとに専用
の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もドライブする。g
SlvBsy_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で指定されたデータ量だけ転送
を行う。マスタとスレーブは、それぞれ自分でクロック
をカウントして、データ転送の終了を知らなければなら
ない。
【0126】スレーブは転送の途中でマスタから要求さ
れたデータ転送量を転送できなくなった場合は、bStStp
_Lを15ビート目でアサートすることで、次の16ビー
トの転送をキャンセルすることがただし、16ビートの
途中でキャンセルすることはできない。
れたデータ転送量を転送できなくなった場合は、bStStp
_Lを15ビート目でアサートすることで、次の16ビー
トの転送をキャンセルすることがただし、16ビートの
途中でキャンセルすることはできない。
【0127】マスタおよびスレーブは、gBstStp_Lがア
サートされれば、次のクロックでデータの転送を終了さ
せなければならない。
サートされれば、次のクロックでデータの転送を終了さ
せなければならない。
【0128】(キャッシュインバリデーションユニット
(CIU))キャッシュインバリデーションユニット
(以下CIU)2005は、Bバスからメモリへのライト
トランザクションを監視し、これが起こった場合は、メ
モリへの書込が終了する前に、CPUシェルのキャッシ
ュインバリデーションインターフェースを用い、CPU
シェルに内蔵されたキャッシュの無効化を行う。
(CIU))キャッシュインバリデーションユニット
(以下CIU)2005は、Bバスからメモリへのライト
トランザクションを監視し、これが起こった場合は、メ
モリへの書込が終了する前に、CPUシェルのキャッシ
ュインバリデーションインターフェースを用い、CPU
シェルに内蔵されたキャッシュの無効化を行う。
【0129】CPUシェルは、次の3種類の信号を使用
する。 ・SnoopADDR[31:5] (Cache Invalidation Address) ・DCINV (Dcache(データキャッシュ)Invalidation St
robe) ・ICINV (Icache(インストラクションキャッシュ)Inv
alidation Strobe) キャッシュの無効化は最大3クロックで行われる、Bバ
スからメモリへのライトは3クロックで終了することは
ないので、キャッシュインバリデーションユニット20
05は、CPUシェル401から出力されるStop_L信号を
用いて無効化終了のハンドシェイクを行うことはしな
い。但し、将来の変更に備え、Bバス上にはbSnoopWait
をStop_Lと同一サイクルだけドライブする。
する。 ・SnoopADDR[31:5] (Cache Invalidation Address) ・DCINV (Dcache(データキャッシュ)Invalidation St
robe) ・ICINV (Icache(インストラクションキャッシュ)Inv
alidation Strobe) キャッシュの無効化は最大3クロックで行われる、Bバ
スからメモリへのライトは3クロックで終了することは
ないので、キャッシュインバリデーションユニット20
05は、CPUシェル401から出力されるStop_L信号を
用いて無効化終了のハンドシェイクを行うことはしな
い。但し、将来の変更に備え、Bバス上にはbSnoopWait
をStop_Lと同一サイクルだけドライブする。
【0130】なお、現在のインプリメンテーションで
は、Bバスからのライトが起こった場合は、安全のため
にIcacheもインバリデーションしている、もし、OSで
セルフモディファイングコードを禁止し、インストラク
ションとして使われる可能性のあるデータのローディン
グ時に、意図的にインストラクションキャッシュのイン
バリデーションを行うなら、Icacheのインバリデーショ
ンはいらない。この場合は若干のパフォーマンスアップ
が望める。
は、Bバスからのライトが起こった場合は、安全のため
にIcacheもインバリデーションしている、もし、OSで
セルフモディファイングコードを禁止し、インストラク
ションとして使われる可能性のあるデータのローディン
グ時に、意図的にインストラクションキャッシュのイン
バリデーションを行うなら、Icacheのインバリデーショ
ンはいらない。この場合は若干のパフォーマンスアップ
が望める。
【0131】(メモリマップ)図23及び図24にメモ
リマップを示す。図23は、左から順に、仮想メモリマ
ップ、物理メモリマップ、Gバスのアドレス空間でのメ
モリマップ、Bバスのアドレス空間でのメモリマップで
ある。また、図24は、レジスタ等を含む図23におけ
る斜線部の512メガバイトを示すマップである。
リマップを示す。図23は、左から順に、仮想メモリマ
ップ、物理メモリマップ、Gバスのアドレス空間でのメ
モリマップ、Bバスのアドレス空間でのメモリマップで
ある。また、図24は、レジスタ等を含む図23におけ
る斜線部の512メガバイトを示すマップである。
【0132】プロセッサコアのメモリモデルはR3000を
ベースにしている。プロセッサコアの物理アドレス空間
は32ビットアドレッシングにより4Gバイトある。仮
想空間も同様に32ビットアドレッシングを行なう。ユ
ーザープロセスの最大サイズは2Gバイトである。アド
レスマッピングはカーネルモードとユーザーモードで異
なる。図はMMUを使用しない場合のメモリマップであ
る。
ベースにしている。プロセッサコアの物理アドレス空間
は32ビットアドレッシングにより4Gバイトある。仮
想空間も同様に32ビットアドレッシングを行なう。ユ
ーザープロセスの最大サイズは2Gバイトである。アド
レスマッピングはカーネルモードとユーザーモードで異
なる。図はMMUを使用しない場合のメモリマップであ
る。
【0133】(ユーザーモード仮想アドレッシング)ユ
ーザーモードの仮想アドレッシングでは2Gバイトのユ
ーザ仮想アドレス空間(kuseg)が有効となる。このユー
ザーセグメントのアドレスは0x00000000から始まり、す
べての有効なアクセスは0にクリアされたmsbを持つ。
ユーザーモードにおいてmsbをセットしたアドレスの参
照はアドレスエラー例外処理を引き起こす。TLBはkuseg
へのすべての参照をユーザーモードとカーネルモードで
同様にマッピングする。また、キャッシャブルである。
kusegは通常ユーザーコードやデータを保持するために
使用される。
ーザーモードの仮想アドレッシングでは2Gバイトのユ
ーザ仮想アドレス空間(kuseg)が有効となる。このユー
ザーセグメントのアドレスは0x00000000から始まり、す
べての有効なアクセスは0にクリアされたmsbを持つ。
ユーザーモードにおいてmsbをセットしたアドレスの参
照はアドレスエラー例外処理を引き起こす。TLBはkuseg
へのすべての参照をユーザーモードとカーネルモードで
同様にマッピングする。また、キャッシャブルである。
kusegは通常ユーザーコードやデータを保持するために
使用される。
【0134】(カーネルモード仮想アドレッシング)カ
ーネルモードの仮想アドレス空間には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をスタックやコンテキストスイッチによるリマップが
必要なプロセス毎のデータのために使用する。
ーネルモードの仮想アドレス空間には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をスタックやコンテキストスイッチによるリマップが
必要なプロセス毎のデータのために使用する。
【0135】(仮想アドレスメモリマップ(図23
(a),図24(a)))仮想アドレス空間は4Gバイ
トあり、システム上のすべてのメモリ、I/Oがアクセス
可能である。kusegにはSYSTEM MEMORY(1GB)が存在す
る。
(a),図24(a)))仮想アドレス空間は4Gバイ
トあり、システム上のすべてのメモリ、I/Oがアクセス
可能である。kusegにはSYSTEM MEMORY(1GB)が存在す
る。
【0136】kseg0には内蔵RAM(16MB)が存在する。
これは、例外処理のベクタをプログラミングしたい場合
にインプリメントし、例外ベクタベースアドレスを0x80
000000に設定する。このアドレスは物理アドレス空間の
0x00000000にマッピングされる。
これは、例外処理のベクタをプログラミングしたい場合
にインプリメントし、例外ベクタベースアドレスを0x80
000000に設定する。このアドレスは物理アドレス空間の
0x00000000にマッピングされる。
【0137】kseg1にはROM,I/O,レジスタが存
在し、ブートROM(16MB),SBB内部レジスタとMC
内部レジスタ(16MB),IOBusI/O1(16MB:Gバスアービタ
内部レジスタ、Bバスアービタ内部レジスタ、PMU内部
レジスタなどのプリミティブなBバスレジスタ),IOBusI
/O2(16MB),IOBusMEM(16MB),Gbus MEM(32MB),FONT ROM(2
40MB)、FONT ROM or RAM(16MB)が含まれる。
在し、ブートROM(16MB),SBB内部レジスタとMC
内部レジスタ(16MB),IOBusI/O1(16MB:Gバスアービタ
内部レジスタ、Bバスアービタ内部レジスタ、PMU内部
レジスタなどのプリミティブなBバスレジスタ),IOBusI
/O2(16MB),IOBusMEM(16MB),Gbus MEM(32MB),FONT ROM(2
40MB)、FONT ROM or RAM(16MB)が含まれる。
【0138】kseg2にはPCI I/O(512MB),PCI MEM(512MB)
が存在する。
が存在する。
【0139】kseg0,kseg1はどちらも物理アドレス空間
の最初の512Mバイトにマッピングされるため、kseg0,ks
eg1とkusegの最初の512Mバイトはすべて同じ物理アドレ
ス空間を参照していることになる。
の最初の512Mバイトにマッピングされるため、kseg0,ks
eg1とkusegの最初の512Mバイトはすべて同じ物理アドレ
ス空間を参照していることになる。
【0140】(物理アドレスメモリマップ(図23
(b),図24(b)))物理アドレス空間も仮想アド
レス空間と同様4Gバイトあり、システム上のすべての
メモリ、I/Oがアクセス可能である。
(b),図24(b)))物理アドレス空間も仮想アド
レス空間と同様4Gバイトあり、システム上のすべての
メモリ、I/Oがアクセス可能である。
【0141】PCI I/O,PCI MEM,SYSTEM MEMORYについて
は仮想アドレスメモリマップと同一である。
は仮想アドレスメモリマップと同一である。
【0142】kseg1,kseg2はどちらも物理アドレス空間
の最初の512Mバイトにマッピングされるので、ROM,I/O,
Regは0x00000000からの空間に存在している。
の最初の512Mバイトにマッピングされるので、ROM,I/O,
Regは0x00000000からの空間に存在している。
【0143】(Gバスメモリマップ(図23(c),図
24(c)))Gバスアドレス空間は4Gバイトあり、
SYSTEM MEMORY,GBus MEM,FONTのみがアクセス可能であ
る。
24(c)))Gバスアドレス空間は4Gバイトあり、
SYSTEM MEMORY,GBus MEM,FONTのみがアクセス可能であ
る。
【0144】(Bバスメモリマップ(図23(d),図
24(d)))Bバスアドレス空間は4Gバイトあり、
PCI I/O,PCI MEM,SYSTEM MEMORY,IOBusI/O2,IOBus MEM,
FONTのみがアクセス可能である。
24(d)))Bバスアドレス空間は4Gバイトあり、
PCI I/O,PCI MEM,SYSTEM MEMORY,IOBusI/O2,IOBus MEM,
FONTのみがアクセス可能である。
【0145】IOBus I/O1はプリミティブなレジスタのた
め、0x1C000000から0x20000000までの空間はPCIからプ
ロテクトがかけられており、PCIからアクセスできな
い。
め、0x1C000000から0x20000000までの空間はPCIからプ
ロテクトがかけられており、PCIからアクセスできな
い。
【0146】(アドレススイッチ)アドレススイッチ2
003は、SCバス,Gバス,Bバス,MCバス間のデー
タ転送を行なうために、マスターとなるバスからスレー
ブとなるバスへ、SBB402を経由してアドレス信号
を送るためのものである。SBB402を経由する転送
において、マスターとなり得るバスは、SCバス,Gバ
ス,Bバスであり、スレーブとなり得るバスはBバス,M
Cバスである。MCバスに対してはSCバス,Gバス,B
バス,のいずれかがマスターとなり、BバスへはSCバ
スのみがマスターとなってアドレス信号を送る。
003は、SCバス,Gバス,Bバス,MCバス間のデー
タ転送を行なうために、マスターとなるバスからスレー
ブとなるバスへ、SBB402を経由してアドレス信号
を送るためのものである。SBB402を経由する転送
において、マスターとなり得るバスは、SCバス,Gバ
ス,Bバスであり、スレーブとなり得るバスはBバス,M
Cバスである。MCバスに対してはSCバス,Gバス,B
バス,のいずれかがマスターとなり、BバスへはSCバ
スのみがマスターとなってアドレス信号を送る。
【0147】また、SCバス-Bバス間の転送と、Gバ
ス-MCバス間の転送は同時に行なうことができる。
ス-MCバス間の転送は同時に行なうことができる。
【0148】図25に、アドレススイッチ2003のブ
ロック図を示す。スイッチシーケンサ2003aによ
り、スイッチ2003bを切り替えてスレーブをBバス
とMCバスとで切り換え、スイッチ2003cを切り替
えてマスタをSCバス,Gバス,Bバスで切り換える。
この構成により、MCバスに対してはSCバス,Gバス,
Bバス,のいずれかがマスターとなり、BバスへはSC
バスのみがマスターとなり、また、SCバス-Bバス間
の転送と、Gバス-MCバス間の転送は同時に行なうこ
とができる。
ロック図を示す。スイッチシーケンサ2003aによ
り、スイッチ2003bを切り替えてスレーブをBバス
とMCバスとで切り換え、スイッチ2003cを切り替
えてマスタをSCバス,Gバス,Bバスで切り換える。
この構成により、MCバスに対してはSCバス,Gバス,
Bバス,のいずれかがマスターとなり、BバスへはSC
バスのみがマスターとなり、また、SCバス-Bバス間
の転送と、Gバス-MCバス間の転送は同時に行なうこ
とができる。
【0149】(データスイッチ)データスイッチはSC
バス,Gバス,Bバス,MCバス間のデータ転送を行なう
際に,SBB内でデータの流れを切り替えるものであ
る。ライト時はマスターからスレーブ、リード時はスレ
ーブからマスターへデータが送られる。
バス,Gバス,Bバス,MCバス間のデータ転送を行なう
際に,SBB内でデータの流れを切り替えるものであ
る。ライト時はマスターからスレーブ、リード時はスレ
ーブからマスターへデータが送られる。
【0150】図26にデータスイッチ2004のブロッ
ク図を示す。この構成において、セレクタA−1〜A−
3及びB−1,B−2を表7のように切り替えること
で、SCバス,Gバス,Bバスのいずれかをマスタと
し、Bバス,MCバスのいずれかをスレーブとして、書
き込みあるいは読み出しを行うように制御できる。
ク図を示す。この構成において、セレクタA−1〜A−
3及びB−1,B−2を表7のように切り替えること
で、SCバス,Gバス,Bバスのいずれかをマスタと
し、Bバス,MCバスのいずれかをスレーブとして、書
き込みあるいは読み出しを行うように制御できる。
【表7】 (アービトレーション)SBB402内のスイッチシー
ケンサ2003aは、各スイッチを切り替えるにあたっ
て、SBB外部からの以下の3種類の接続要求間のアー
ビトレーションを行う。 1.CPU 2.Gバスバスマスタ 3.Bバスバスマスタ このアービトレーションは、現在のバススイッチ接続状
況、及び、あらかじめ設定された優先順位により決定さ
れ、その結果アドレススイッチ、データスイッチの接続
が切り替えられる。
ケンサ2003aは、各スイッチを切り替えるにあたっ
て、SBB外部からの以下の3種類の接続要求間のアー
ビトレーションを行う。 1.CPU 2.Gバスバスマスタ 3.Bバスバスマスタ このアービトレーションは、現在のバススイッチ接続状
況、及び、あらかじめ設定された優先順位により決定さ
れ、その結果アドレススイッチ、データスイッチの接続
が切り替えられる。
【0151】(タイミングダイアグラム)図27〜図3
2にタイミング図を示す。図27はGバスからの書き込
み/読み出しサイクルのタイミング図、図28はGバス
のバースト停止サイクルのタイミング図、図29〜図3
2は、Gバスのトランザクション停止サイクルのタイミ
ング図である。
2にタイミング図を示す。図27はGバスからの書き込
み/読み出しサイクルのタイミング図、図28はGバス
のバースト停止サイクルのタイミング図、図29〜図3
2は、Gバスのトランザクション停止サイクルのタイミ
ング図である。
【0152】2.6.PCIバスインターフェース 図33は、PCIバスインターフェース416のブロッ
ク図である。
ク図である。
【0153】PCIバスインターフェース416は、Do
Engine内部汎用IOバスであるBバスと、チップ外
部IOバスであるPCIバスの間をインターフェースするブ
ロックである。入力ピン設定により、リセット時にPCI
バスコンフィギュレーション発行可能な、ホストブリッ
ジ構成と、PCIバスコンフィギュレーションは発行しな
いターゲット構成とを切り替えることができる。
Engine内部汎用IOバスであるBバスと、チップ外
部IOバスであるPCIバスの間をインターフェースするブ
ロックである。入力ピン設定により、リセット時にPCI
バスコンフィギュレーション発行可能な、ホストブリッ
ジ構成と、PCIバスコンフィギュレーションは発行しな
いターゲット構成とを切り替えることができる。
【0154】BバスインターフェースのマスタDMAコン
トローラ3301は、PCIバスシグナルインターフェー
ス3302を介してPCIバスマスタからDoEngin
e内部のリソースにアクセス要求があった場合に、Bバ
スマスタとしてこのアクセス要求をBバス内部にブリッ
ジする。
トローラ3301は、PCIバスシグナルインターフェー
ス3302を介してPCIバスマスタからDoEngin
e内部のリソースにアクセス要求があった場合に、Bバ
スマスタとしてこのアクセス要求をBバス内部にブリッ
ジする。
【0155】更に、このマスタDMAコントローラ330
1は、PCIバス上でマッピングされるメモリからDoE
ngineMemoryへのDMA転送を行う事が出来る。この
際、プログラマが意図したBバスDMAと、GバスDMAのア
クセスの順番を守って動作させるために、転送先アドレ
ス(bPciAddr[31:0])と、PCIマスターコントローラ33
01のID信号(bPciID)を、Bバスとアービトレーション
シーケンサに対して、バスリクエストと同時に発行す
る。
1は、PCIバス上でマッピングされるメモリからDoE
ngineMemoryへのDMA転送を行う事が出来る。この
際、プログラマが意図したBバスDMAと、GバスDMAのア
クセスの順番を守って動作させるために、転送先アドレ
ス(bPciAddr[31:0])と、PCIマスターコントローラ33
01のID信号(bPciID)を、Bバスとアービトレーション
シーケンサに対して、バスリクエストと同時に発行す
る。
【0156】マスタDMAコントローラ3301はバスグ
ラント(bPciBGnt_L)を受け取り、バスを使用しデータ転
送が終了した時点で、ID信号(bPciID)のアサートを取
りやめる。
ラント(bPciBGnt_L)を受け取り、バスを使用しデータ転
送が終了した時点で、ID信号(bPciID)のアサートを取
りやめる。
【0157】なお、PCIバスは、33MHz,32ビット,PCI
2.1準拠とする。
2.1準拠とする。
【0158】2.7.Gバスアービタ 図34は、Gバスアービタ(GBA)406のブロック
図である。
図である。
【0159】Gバスのアービトレーションは、中央アー
ビトレーション方式であり、各バスマスタに対して専用
のリクエスト信号(g(mastername)Req_L)とグラント信号
(g(mastername)Gnt_L)を持つ。図34は、masternameは
M1〜M4となっている。Busアービタ406は、Gバス上
のバスマスタを4つまでサポートしており、以下のよう
な特徴を持つ。 ・アービタ内部のレジスタ3401aの設定によりアー
ビタをプログラミングすることが出来る。レジスタ設定
はBバスより行なう。 ・すべてのバスマスタを同じ優先権として、公平にバス
権を与える公平アービトレーションモードと、いずれか
ひとつのバスマスタの優先権を上げ、優先的にバスを使
用させる優先アービトレーションモードがある。どのバ
スマスタに優先権を与えるかはレジスタ3401bの設
定により決定される。 ・優先バスマスタが連続してバスを使用することができ
る回数を設定することが可能。 ・すでにアドレスフェーズを開始したが、データフェー
ズをまだ開始していないトランザクションについて、そ
のトランザクションをストップするためのトランザクシ
ョンストップサイクルをサポート。 ・複数のバスマスタにおける順序処理のプログラミング
ができる(後述)。プログラムされた順序は、レジスタ
テーブル3401aに格納される。 ・GバスマスタとBバスマスタが同一メモリアドレスに
順次書き込みを発行した場合に、プログラマの意図した
アクセス順序を維持するための機構として、同期ユニッ
トからのマスタID信号、ストップ信号に基づき、特定の
マスタに対し、バス使用許可を与えることを保留する機
構を持つ。
ビトレーション方式であり、各バスマスタに対して専用
のリクエスト信号(g(mastername)Req_L)とグラント信号
(g(mastername)Gnt_L)を持つ。図34は、masternameは
M1〜M4となっている。Busアービタ406は、Gバス上
のバスマスタを4つまでサポートしており、以下のよう
な特徴を持つ。 ・アービタ内部のレジスタ3401aの設定によりアー
ビタをプログラミングすることが出来る。レジスタ設定
はBバスより行なう。 ・すべてのバスマスタを同じ優先権として、公平にバス
権を与える公平アービトレーションモードと、いずれか
ひとつのバスマスタの優先権を上げ、優先的にバスを使
用させる優先アービトレーションモードがある。どのバ
スマスタに優先権を与えるかはレジスタ3401bの設
定により決定される。 ・優先バスマスタが連続してバスを使用することができ
る回数を設定することが可能。 ・すでにアドレスフェーズを開始したが、データフェー
ズをまだ開始していないトランザクションについて、そ
のトランザクションをストップするためのトランザクシ
ョンストップサイクルをサポート。 ・複数のバスマスタにおける順序処理のプログラミング
ができる(後述)。プログラムされた順序は、レジスタ
テーブル3401aに格納される。 ・GバスマスタとBバスマスタが同一メモリアドレスに
順次書き込みを発行した場合に、プログラマの意図した
アクセス順序を維持するための機構として、同期ユニッ
トからのマスタID信号、ストップ信号に基づき、特定の
マスタに対し、バス使用許可を与えることを保留する機
構を持つ。
【0160】なお、レジスタへのプログラミングは、B
バスを介してCPU401から行われる。
バスを介してCPU401から行われる。
【0161】(アービトレーションシーケンサ)Gバス
アービタの中核となるアービトレーションシーケンサ3
402a,bは、1つの優先マスタとその他の4つの非
優先マスタの間で5つのマスタによるアービトレーショ
ンを行なう。4つのバスマスタからのリクエスト信号と
グラント信号を、リクエストディスパッチ回路3403
とグラントディスパッチ回路3404によって4つの非
優先マスタに割り付けることにより、公平アービトレー
ションモードが実現される。また、4つのバスマスタの
うちのひとつを、高優先アービトレーションシーケンサ
3402aの優先マスタに割り付けることで、優先アー
ビトレーションモードとして動作する。これらの割り付
けは、レジスタ3401a,bの設定にしたがって行わ
れる。これにより、優先バスマスタは、他のマスタより
高い確率でバスの使用権を取得することが出来る。
アービタの中核となるアービトレーションシーケンサ3
402a,bは、1つの優先マスタとその他の4つの非
優先マスタの間で5つのマスタによるアービトレーショ
ンを行なう。4つのバスマスタからのリクエスト信号と
グラント信号を、リクエストディスパッチ回路3403
とグラントディスパッチ回路3404によって4つの非
優先マスタに割り付けることにより、公平アービトレー
ションモードが実現される。また、4つのバスマスタの
うちのひとつを、高優先アービトレーションシーケンサ
3402aの優先マスタに割り付けることで、優先アー
ビトレーションモードとして動作する。これらの割り付
けは、レジスタ3401a,bの設定にしたがって行わ
れる。これにより、優先バスマスタは、他のマスタより
高い確率でバスの使用権を取得することが出来る。
【0162】さらに、バスの取得機会確率の調整に加
え、高優先シーケンサ3402aに割り当てられたマス
タは、連続してバスを使用する事が出来、連続して使用
出来る回数をプログラマブルなレジスタにより可変する
事ができる。これは、バスの占有率を調整出来、ある特
定のマスタにより多くバスを使用させる様に出来ること
を意味する。
え、高優先シーケンサ3402aに割り当てられたマス
タは、連続してバスを使用する事が出来、連続して使用
出来る回数をプログラマブルなレジスタにより可変する
事ができる。これは、バスの占有率を調整出来、ある特
定のマスタにより多くバスを使用させる様に出来ること
を意味する。
【0163】(公平アービトレーションモード)このモ
ードでは、すべてのバスマスタは同じ優先順位にあり、
バス権を与えられる機会は公平である。バスがフリーの
時は、一番最初にリクエストを出したバスマスタがバス
権を得ることができる。また、複数のバスマスタが同時
にリクエストを出した場合は、あらかじめ決められた順
序にしたがって順次バス権が与えられる(ラウンドロビ
ン方式)。例えば、M1からM4までのすべてのバスマ
スタが同じクロックでリクエストを出した場合は、M1
→M2→M3→M4といった順序でバス権が与えられ
る。M4のトランザクションの終了時に再びすべてのバ
スマスタがリクエストを出している場合は、M1→M2
→M3→M4→M1→M2…というように、同様の順序
でバス権を与えていく。一部のバスマスタがリクエスト
を出している場合は、M4からM1へラウンドラップす
るとして、最後にバスを使用したマスタにもっとも近い
大きい番号を持ったマスタへグラントを与える。
ードでは、すべてのバスマスタは同じ優先順位にあり、
バス権を与えられる機会は公平である。バスがフリーの
時は、一番最初にリクエストを出したバスマスタがバス
権を得ることができる。また、複数のバスマスタが同時
にリクエストを出した場合は、あらかじめ決められた順
序にしたがって順次バス権が与えられる(ラウンドロビ
ン方式)。例えば、M1からM4までのすべてのバスマ
スタが同じクロックでリクエストを出した場合は、M1
→M2→M3→M4といった順序でバス権が与えられ
る。M4のトランザクションの終了時に再びすべてのバ
スマスタがリクエストを出している場合は、M1→M2
→M3→M4→M1→M2…というように、同様の順序
でバス権を与えていく。一部のバスマスタがリクエスト
を出している場合は、M4からM1へラウンドラップす
るとして、最後にバスを使用したマスタにもっとも近い
大きい番号を持ったマスタへグラントを与える。
【0164】一度バス権が他のバスマスタに移ると、他
にリクエストを出しているすべてのバスマスタにバス権
を与えた後でないと再びバス権を得ることができない。
にリクエストを出しているすべてのバスマスタにバス権
を与えた後でないと再びバス権を得ることができない。
【0165】(優先アービトレーション)このモードで
は、ひとつのバスマスタ(レジスタ3401bに登録さ
れたバスマスタ)が他のバスマスタよりも高い優先権を
持つ優先バスマスタになり、他のバスマスタに比べ優先
的にバス権が与えられる。優先バスマスタ以外のバスマ
スタの優先順位はすべて同じである。
は、ひとつのバスマスタ(レジスタ3401bに登録さ
れたバスマスタ)が他のバスマスタよりも高い優先権を
持つ優先バスマスタになり、他のバスマスタに比べ優先
的にバス権が与えられる。優先バスマスタ以外のバスマ
スタの優先順位はすべて同じである。
【0166】複数のバスマスタがリクエストを出してお
り、また優先バスマスタが連続したリクエストを行う場
合、優先バスマスタと他の非優先バスマスタは交互にバ
ス権を得る。
り、また優先バスマスタが連続したリクエストを行う場
合、優先バスマスタと他の非優先バスマスタは交互にバ
ス権を得る。
【0167】非優先バスマスタから他のバスマスタにバ
ス権が移ると、他にリクエストを出しているすべてのバ
スマスタにバス権を与えた後でないと、その非優先バス
マスタは再びバス権を得ることができない。
ス権が移ると、他にリクエストを出しているすべてのバ
スマスタにバス権を与えた後でないと、その非優先バス
マスタは再びバス権を得ることができない。
【0168】(トランザクション・ストップ・サイク
ル)優先アービトレーションモードにおいて、優先バス
マスタがリクエストを出した時、すでに他のバスマスタ
がアドレスフェーズを開始していても、データフェーズ
をまだ開始していなければ、そのトランザクションをス
トップし、優先バスマスタがバス権を得ることができ
る。ただし、その直前に優先バスマスタがバス権を持っ
ていた場合は、連続したバス権を得ることができる回数
を超えることはできない。
ル)優先アービトレーションモードにおいて、優先バス
マスタがリクエストを出した時、すでに他のバスマスタ
がアドレスフェーズを開始していても、データフェーズ
をまだ開始していなければ、そのトランザクションをス
トップし、優先バスマスタがバス権を得ることができ
る。ただし、その直前に優先バスマスタがバス権を持っ
ていた場合は、連続したバス権を得ることができる回数
を超えることはできない。
【0169】優先バスマスタのトランザクションが終了
した時、中止されたバスマスタがリクエストを出してい
れば、優先してバス権が与えられる。
した時、中止されたバスマスタがリクエストを出してい
れば、優先してバス権が与えられる。
【0170】(優先バスマスタの切り替え)優先バスマ
スタの切り替えを行なうには、レジスタ3401bを書
き換えればよい。優先バスマスタを選択するレジスタが
書き換えられると、その時に実行中のトランザクション
の終了を待って、優先バスマスタが切り替えられる。ア
ービタのステートはアイドル状態にもどり、その時点で
リクエストを出していたバスマスタは、その時同時にリ
クエストを出したものとして、あらためてアービトレー
ションが行われる。
スタの切り替えを行なうには、レジスタ3401bを書
き換えればよい。優先バスマスタを選択するレジスタが
書き換えられると、その時に実行中のトランザクション
の終了を待って、優先バスマスタが切り替えられる。ア
ービタのステートはアイドル状態にもどり、その時点で
リクエストを出していたバスマスタは、その時同時にリ
クエストを出したものとして、あらためてアービトレー
ションが行われる。
【0171】優先バスマスタの切り替えには十分注意を
払う必要がある。優先させるべきバスマスタのDMAが終
了しないうちに、異なったバスマスタに優先バスマスタ
を切り替えてしまうと、最初の優先バスマスタのDMAの
優先度が下がってしまう。もしも最初の優先バスマスタ
の優先度を下げたくないのであれば、DMAが終了したの
を確認してから優先バスマスタの切り替えを行なう必要
がある。
払う必要がある。優先させるべきバスマスタのDMAが終
了しないうちに、異なったバスマスタに優先バスマスタ
を切り替えてしまうと、最初の優先バスマスタのDMAの
優先度が下がってしまう。もしも最初の優先バスマスタ
の優先度を下げたくないのであれば、DMAが終了したの
を確認してから優先バスマスタの切り替えを行なう必要
がある。
【0172】優先バスマスタ切り替えを、システムブー
ト時のみでなく、システム稼働中も動的に行う必要のあ
るソフトウェアでは、優先バスマスタの切り替えは、い
ったんGバス上に新たなDMAリクエストが発生しないよ
う、すべてのバスマスタ及びDMAコントローラに対する
設定を中止し、その後、Gバスアービタ406内のレジ
スタに適切な値をセットし、さらに、Gバスアービタ4
06内のステータスレジスタをチェックし、バスマスタ
の優先権が切り替わったのを確認した上で新たなGバス
上へのアクセス及びDMAの起動を行うべきである。
ト時のみでなく、システム稼働中も動的に行う必要のあ
るソフトウェアでは、優先バスマスタの切り替えは、い
ったんGバス上に新たなDMAリクエストが発生しないよ
う、すべてのバスマスタ及びDMAコントローラに対する
設定を中止し、その後、Gバスアービタ406内のレジ
スタに適切な値をセットし、さらに、Gバスアービタ4
06内のステータスレジスタをチェックし、バスマスタ
の優先権が切り替わったのを確認した上で新たなGバス
上へのアクセス及びDMAの起動を行うべきである。
【0173】優先バスマスタの動的切り替えは、オペレ
ーティングシステムの実時間保証、タスクの優先順位の
設定を変化もしくは違反させてしまう可能性があり、十
分な考慮の上行われなければならない。
ーティングシステムの実時間保証、タスクの優先順位の
設定を変化もしくは違反させてしまう可能性があり、十
分な考慮の上行われなければならない。
【0174】(順序処理)図35は、DoEngine
400内におけるGバス404を中心とする、Gバス上
のバスマスタによるDMAに係るブロック図である。
400内におけるGバス404を中心とする、Gバス上
のバスマスタによるDMAに係るブロック図である。
【0175】複数のバスマスタが順次に処理を行うこと
が必要な場合、例えば、メモリ3501上のデータに対
して、バスマスタ1により処理Aを行った後、バスマス
タ2により処理Bを行い、その処理後のデータをバスマ
スタ4に送るといった一連の処理を考える。
が必要な場合、例えば、メモリ3501上のデータに対
して、バスマスタ1により処理Aを行った後、バスマス
タ2により処理Bを行い、その処理後のデータをバスマ
スタ4に送るといった一連の処理を考える。
【0176】この処理を行うソフトウェア、すなわちC
PU401により実行されるプログラムにより、Bバス
405を介して、バスアービタ406内のレジスタテー
ブル3401aに、バスマスタがバスを使用する順序
と、バス権の付与の開始条件と、終了条件がセットされ
る。この例では、 というようにセットする。すなわち、Gバスアービタ4
06は、それぞれのバスマスタから、開始条件として設
定された信号を受けるとそのバスマスタにバス使用権を
与え、終了条件として設定された信号を受けるとバス使
用権を奪う。
PU401により実行されるプログラムにより、Bバス
405を介して、バスアービタ406内のレジスタテー
ブル3401aに、バスマスタがバスを使用する順序
と、バス権の付与の開始条件と、終了条件がセットされ
る。この例では、 というようにセットする。すなわち、Gバスアービタ4
06は、それぞれのバスマスタから、開始条件として設
定された信号を受けるとそのバスマスタにバス使用権を
与え、終了条件として設定された信号を受けるとバス使
用権を奪う。
【0177】ソフトウェアはそれぞれのバスマスタにDM
Aをセットする。それによって、それぞれのマスタはG
バスアービタ404に対してリクエスト(g(mastername)
Req_L)を発行する。Gバスアービタ404はレジスタテ
ーブル3401aに登録された順序に従ってバスマスタ
1にバス権を与える(gM1Gnt_L)。バスマスタ1はメモリ
3501からある単位のデータをリードし、処理Aを行
って、バスマスタ1内部のバッファにデータをライトす
る。バスマスタ1はひとつの単位の処理が終了し、バッ
ファの準備ができたことをgM1BufReady信号によりアー
ビタ406に対して通知する。
Aをセットする。それによって、それぞれのマスタはG
バスアービタ404に対してリクエスト(g(mastername)
Req_L)を発行する。Gバスアービタ404はレジスタテ
ーブル3401aに登録された順序に従ってバスマスタ
1にバス権を与える(gM1Gnt_L)。バスマスタ1はメモリ
3501からある単位のデータをリードし、処理Aを行
って、バスマスタ1内部のバッファにデータをライトす
る。バスマスタ1はひとつの単位の処理が終了し、バッ
ファの準備ができたことをgM1BufReady信号によりアー
ビタ406に対して通知する。
【0178】アービタ406はそれを受け、レジスタテ
ーブル3401aに登録された、バスマスタがバス権を
与える条件とバス権を奪う条件にしたがって、バス権を
バスマスタ1から奪いバスマスタ2に与える。バスマス
タ2はバスマスタ1のバッファのデータをリードし、処
理Bを行って、バスマスタ2内部のバッファにデータを
格納する。この間にバスマスタ1のバッファが空になる
とgM1BufEmptyがアサートされ、アービタ406はバス
マスタ2にバス権を与えていたのを取りやめる。バスマ
スタ2は処理Bを行って、バッファの準備ができるとgM
2BufReady信号により通知する。
ーブル3401aに登録された、バスマスタがバス権を
与える条件とバス権を奪う条件にしたがって、バス権を
バスマスタ1から奪いバスマスタ2に与える。バスマス
タ2はバスマスタ1のバッファのデータをリードし、処
理Bを行って、バスマスタ2内部のバッファにデータを
格納する。この間にバスマスタ1のバッファが空になる
とgM1BufEmptyがアサートされ、アービタ406はバス
マスタ2にバス権を与えていたのを取りやめる。バスマ
スタ2は処理Bを行って、バッファの準備ができるとgM
2BufReady信号により通知する。
【0179】アービタ406はそれを受け、レジスタ3
401aの内容にしたがって、今度はバスマスタ4にバ
ス権を与える。バスマスタ4はバスマスタ2のバッファ
からデータをリードする。バスマスタ2のバッファが空
になると、gM2BufEmptyによってアービタ406に通知
し、アービタ406はそれを受け、レジスタ3401a
の内容に従って再びバスマスタ1にバス権を与え、次の
データの処理を始める。
401aの内容にしたがって、今度はバスマスタ4にバ
ス権を与える。バスマスタ4はバスマスタ2のバッファ
からデータをリードする。バスマスタ2のバッファが空
になると、gM2BufEmptyによってアービタ406に通知
し、アービタ406はそれを受け、レジスタ3401a
の内容に従って再びバスマスタ1にバス権を与え、次の
データの処理を始める。
【0180】それぞれのバスマスタにセットされたDMA
がすべて終了すると、それぞれのバスマスタはプロセッ
サに割り込みによって通知する。ソフトウェアはすべて
のバスマスタからの終了通知がそろったとき、一連の処
理が終了したことを知る。
がすべて終了すると、それぞれのバスマスタはプロセッ
サに割り込みによって通知する。ソフトウェアはすべて
のバスマスタからの終了通知がそろったとき、一連の処
理が終了したことを知る。
【0181】以上説明した動作は完全順次モードでの動
作であり、順次処理に関わるバスマスタ以外のバスマス
タは、バスを使用することができない。この順次処理中
でも、順次処理に関係のないバスマスタがバスを使用す
ることを可能にするために優先順次モードが用意されて
いる。これらのモードの切り替えではアービタ406内
部のレジスタにプログラミングすることによって行な
う。優先順次モードでは、順次処理を行なうバスマスタ
は優先的にバスを使用できるが、順次処理に関わらない
バスマスタであればバスを使用することが許される。順
次処理を行なうバスマスタと関わらないバスマスタの間
のアービトレーションは、前述した優先アービトレーシ
ョンモードと同等である。当然、順次処理に係わるバス
マスタで、バス権を与えられる条件が満足されずに自分
の順番が回ってきていないバスマスタにはバス権は与え
られない。
作であり、順次処理に関わるバスマスタ以外のバスマス
タは、バスを使用することができない。この順次処理中
でも、順次処理に関係のないバスマスタがバスを使用す
ることを可能にするために優先順次モードが用意されて
いる。これらのモードの切り替えではアービタ406内
部のレジスタにプログラミングすることによって行な
う。優先順次モードでは、順次処理を行なうバスマスタ
は優先的にバスを使用できるが、順次処理に関わらない
バスマスタであればバスを使用することが許される。順
次処理を行なうバスマスタと関わらないバスマスタの間
のアービトレーションは、前述した優先アービトレーシ
ョンモードと同等である。当然、順次処理に係わるバス
マスタで、バス権を与えられる条件が満足されずに自分
の順番が回ってきていないバスマスタにはバス権は与え
られない。
【0182】(アクセス順序を維持するための機構)信
号stopSpcがアサートされた場合は、Gバスマスタのひ
とつであるスキャナコントローラ/プリンタコントロー
ラはアービトレーションの対象から除外され、たとえリ
クエストをアサートしていてもバス使用権を与えられる
ことはない。アービトレーションはこのマスタを除外し
たマスタ間で行われる。詳細な説明はBバスアービタの
節で行なう。
号stopSpcがアサートされた場合は、Gバスマスタのひ
とつであるスキャナコントローラ/プリンタコントロー
ラはアービトレーションの対象から除外され、たとえリ
クエストをアサートしていてもバス使用権を与えられる
ことはない。アービトレーションはこのマスタを除外し
たマスタ間で行われる。詳細な説明はBバスアービタの
節で行なう。
【0183】(タイミングダイアグラム)図36〜図3
9において、Gバスアービトレーションのタイミングを
説明する。図36は、連続してバスを使用する回数が、
バスマスタ1〜4のすべてについて1に設定されている
場合の公平アービトレーションモード(フェアモード)
の例である。バスマスタ1による2回目の(タイミング
4から出されている)バス要求は、バス要求を出してい
る他のバスマスタがすべて1回ずつ処理されるまで待た
されている。
9において、Gバスアービトレーションのタイミングを
説明する。図36は、連続してバスを使用する回数が、
バスマスタ1〜4のすべてについて1に設定されている
場合の公平アービトレーションモード(フェアモード)
の例である。バスマスタ1による2回目の(タイミング
4から出されている)バス要求は、バス要求を出してい
る他のバスマスタがすべて1回ずつ処理されるまで待た
されている。
【0184】図37は、連続してバスを使用する回数
が、バスマスタ1についてのみ2であり、他のバスマス
タは1に設定されている場合の公平アービトレーション
モードの例である。バスマスタ1が出している2回目の
(タイミング4から出されている)バス要求は1回目の
要求に続いて直ちに許可され、他のバスマスタはその処
理がすむまで待たされている。
が、バスマスタ1についてのみ2であり、他のバスマス
タは1に設定されている場合の公平アービトレーション
モードの例である。バスマスタ1が出している2回目の
(タイミング4から出されている)バス要求は1回目の
要求に続いて直ちに許可され、他のバスマスタはその処
理がすむまで待たされている。
【0185】図38は、連続してバスを使用する回数が
それぞれ1ずつであり、バスマスタ1が優先バスマスタ
と設定されている場合の優先アービトレーションモード
の例である。優先バスマスタと非優先バスマスタとは交
互にバス使用権が認められるために、バスマスタ1の2
回目のバス要求はバスマスタ2のバスの使用後に認めら
れており、バスマスタ4のバス要求は、バスマスタ1の
2回目のバスの使用後に認められている。また、バスマ
スタ2の2回目のバス要求は、バス要求を出している他
のすべてのバスマスタ、図38ではバスマスタ1及びバ
スマスタ4のバス使用が終了した後で認められている。
それぞれ1ずつであり、バスマスタ1が優先バスマスタ
と設定されている場合の優先アービトレーションモード
の例である。優先バスマスタと非優先バスマスタとは交
互にバス使用権が認められるために、バスマスタ1の2
回目のバス要求はバスマスタ2のバスの使用後に認めら
れており、バスマスタ4のバス要求は、バスマスタ1の
2回目のバスの使用後に認められている。また、バスマ
スタ2の2回目のバス要求は、バス要求を出している他
のすべてのバスマスタ、図38ではバスマスタ1及びバ
スマスタ4のバス使用が終了した後で認められている。
【0186】図39は、バスマスタ1からのバス要求に
より、バスマスタ4のバス要求が許可されているにもか
かわらず中断された例である。この場合、バスマスタ1
のバス使用が終了すると、バスマスタ2のバス要求に優
先してバスマスタ4のバス要求が認められる。
より、バスマスタ4のバス要求が許可されているにもか
かわらず中断された例である。この場合、バスマスタ1
のバス使用が終了すると、バスマスタ2のバス要求に優
先してバスマスタ4のバス要求が認められる。
【0187】2.8.Bバスアービタ 図40は、Bバスアービタ407のブロックである。
【0188】Bバスアービタ407は、DoEngin
e内部のIO汎用バスであるBバス405のバス使用要
求を受け付け、調停の後、使用許可を選択された一つの
マスタに対して与え、同時に2つ以上のマスタがバスア
クセスを行う事を禁止する。
e内部のIO汎用バスであるBバス405のバス使用要
求を受け付け、調停の後、使用許可を選択された一つの
マスタに対して与え、同時に2つ以上のマスタがバスア
クセスを行う事を禁止する。
【0189】アービトレーション方式は、3段階のプラ
イオリティを持ち、それぞれのプライオリティに複数の
マスタをプログラマブルに割り当てられる構成になって
いる。割り当ては、それぞれ最大で、最高のプライオリ
ティに3マスタ、中間に7マスタ、最低レベルに3マス
タとなる。
イオリティを持ち、それぞれのプライオリティに複数の
マスタをプログラマブルに割り当てられる構成になって
いる。割り当ては、それぞれ最大で、最高のプライオリ
ティに3マスタ、中間に7マスタ、最低レベルに3マス
タとなる。
【0190】また、GバスマスタとBバスマスタが、同
一メモリアドレスに順次書き込みを発行した場合に、プ
ロブラマの意図したアクセス順序を維持するための機構
として、同期ユニットからの、マスタID信号、ストッ
プ信号に基づき、特定のマスタに対し、バス使用許可を
与えることを保留する機構を持つ。
一メモリアドレスに順次書き込みを発行した場合に、プ
ロブラマの意図したアクセス順序を維持するための機構
として、同期ユニットからの、マスタID信号、ストッ
プ信号に基づき、特定のマスタに対し、バス使用許可を
与えることを保留する機構を持つ。
【0191】(アービトレーションシーケンサ)Bバス
アービタは3つのアービトレーションシーケンサ400
2,4003,4004から構成される。それぞれ、高
優先権、中優先権、低優先権を持ち、それぞれのシーケ
ンサ内に、3,7,3本のバスマスタ用アービトレーシ
ョンシーケンサが内蔵される。Bバス上のすべてのバス
マスタになる可能性のあるユニットからのリクエスト信
号とそれらへのグラント信号を、リクエストセレクタと
グラントセレクタによって、これらの3つのシーケンサ
ユニットに分配する。この分配は、BBusインタフェ
ース4005内のソフトウェアプログラマブルなレジス
タ4005aにより、複数の組み合わせのなかから、一
意の組み合わせを選択することが出来る。
アービタは3つのアービトレーションシーケンサ400
2,4003,4004から構成される。それぞれ、高
優先権、中優先権、低優先権を持ち、それぞれのシーケ
ンサ内に、3,7,3本のバスマスタ用アービトレーシ
ョンシーケンサが内蔵される。Bバス上のすべてのバス
マスタになる可能性のあるユニットからのリクエスト信
号とそれらへのグラント信号を、リクエストセレクタと
グラントセレクタによって、これらの3つのシーケンサ
ユニットに分配する。この分配は、BBusインタフェ
ース4005内のソフトウェアプログラマブルなレジス
タ4005aにより、複数の組み合わせのなかから、一
意の組み合わせを選択することが出来る。
【0192】たとえば、最大7つのマスタのリクエスト
を中優先アービトレーションシーケンサ4003に接続
することにより、7つのマスタ間で公平なアービトレー
ションが実現される。また、バスマスタのうちのいくつ
かを、高優先アービトレーションシーケンサ4002に
割り付けることで、これらのマスタは他のマスタより、
より高い確率でバスの使用権を取得することが出来る。
さらに、いくつかのリクエストを低優先シーケンサ40
04に接続することで、これらのバスの使用率を低く抑
える事が出来る。さらに、バスの取得機会確率の調整に
加え、高優先シーケンサ4002に割り当てられたマス
タは、連続してバスを使用する事ができ、連続して使用
出来る回数をプログラマブルなレジスタ4005aによ
り可変する事ができる。これは、バスの占有率を調整で
き、ある特定のマスタにより多くの時間バスを使用させ
る様に出来る事を意味する。
を中優先アービトレーションシーケンサ4003に接続
することにより、7つのマスタ間で公平なアービトレー
ションが実現される。また、バスマスタのうちのいくつ
かを、高優先アービトレーションシーケンサ4002に
割り付けることで、これらのマスタは他のマスタより、
より高い確率でバスの使用権を取得することが出来る。
さらに、いくつかのリクエストを低優先シーケンサ40
04に接続することで、これらのバスの使用率を低く抑
える事が出来る。さらに、バスの取得機会確率の調整に
加え、高優先シーケンサ4002に割り当てられたマス
タは、連続してバスを使用する事ができ、連続して使用
出来る回数をプログラマブルなレジスタ4005aによ
り可変する事ができる。これは、バスの占有率を調整で
き、ある特定のマスタにより多くの時間バスを使用させ
る様に出来る事を意味する。
【0193】(公平バスアービトレーション方式)中優
先シーケンサ4003を例にとり、公平アービトレーシ
ョンの実現方法を説明する。一つのシーケンサに接続さ
れたすべてのバスマスタは同じ優先順位にあり、バス権
を与えられる機会は公平である。バスがフリーの時は、
一番最初にリクエストを出したバスマスタがバス権を得
ることができる(ファーストカムファーストサーブ)。
また、複数のバスマスタが同時にリクエストを出した場
合は、あらかじめ決められた順序にしたがって順次バス
権が与えられる(同時リクエスト発行時ラウンドロビ
ン)。例えば、M1からM7までのすべてのバスマスタ
が同じクロックでリクエストを出した場合は、M1→M
2→M3→M4→M5→M6→M7といった順序でバス
権が与えられる。M7のトランザクションの終了時に再
びすべてのバスマスタがリクエストを出している場合
は、M1→M2→M3→M4→M5→M6→M7→M1
→M2というように、同様の順序でバス権を与えてい
く。一部のバスマスタがリクエストを出している場合
は、M7からM1へラウンドラップするとして、最後に
バスを使用したマスタにもっとも近い大きい番号を持っ
たマスタへグラントを与える。
先シーケンサ4003を例にとり、公平アービトレーシ
ョンの実現方法を説明する。一つのシーケンサに接続さ
れたすべてのバスマスタは同じ優先順位にあり、バス権
を与えられる機会は公平である。バスがフリーの時は、
一番最初にリクエストを出したバスマスタがバス権を得
ることができる(ファーストカムファーストサーブ)。
また、複数のバスマスタが同時にリクエストを出した場
合は、あらかじめ決められた順序にしたがって順次バス
権が与えられる(同時リクエスト発行時ラウンドロビ
ン)。例えば、M1からM7までのすべてのバスマスタ
が同じクロックでリクエストを出した場合は、M1→M
2→M3→M4→M5→M6→M7といった順序でバス
権が与えられる。M7のトランザクションの終了時に再
びすべてのバスマスタがリクエストを出している場合
は、M1→M2→M3→M4→M5→M6→M7→M1
→M2というように、同様の順序でバス権を与えてい
く。一部のバスマスタがリクエストを出している場合
は、M7からM1へラウンドラップするとして、最後に
バスを使用したマスタにもっとも近い大きい番号を持っ
たマスタへグラントを与える。
【0194】(優先アービトレーション)Bバスインタ
ーフェースは、高優先、中優先、低優先の3つのアービ
トレーションシーケンサが存在する。優先順位をつけた
アービトレーションは、複数のバスリクエストを選択的
に、高優先、低優先、のアービタに割り振ることにより
実現される。
ーフェースは、高優先、中優先、低優先の3つのアービ
トレーションシーケンサが存在する。優先順位をつけた
アービトレーションは、複数のバスリクエストを選択的
に、高優先、低優先、のアービタに割り振ることにより
実現される。
【0195】たとえば、ひとつのマスタを高優先に割り
当て、残りを中優先に割り当てることにより、ひとつの
バスマスタが他のバスマスタよりも高い優先権を持つ優
先バスマスタになり、他のバスマスタに比べ優先的にバ
ス権が与えられる。同じ優先権のアービトレーションシ
ーケンサに割り当てられたバスマスタの優先順位はすべ
て同じである。
当て、残りを中優先に割り当てることにより、ひとつの
バスマスタが他のバスマスタよりも高い優先権を持つ優
先バスマスタになり、他のバスマスタに比べ優先的にバ
ス権が与えられる。同じ優先権のアービトレーションシ
ーケンサに割り当てられたバスマスタの優先順位はすべ
て同じである。
【0196】複数のバスマスタがリクエストを出してお
り、また優先バスマスタが連続してリクエストを行う場
合、優先バスマスタと他のバスマスタは交互にバス権を
得る。M3が優先マスタでM1,M2,M3,M4がリ
クエストを出し続けた場合M3→M1→M3→M2→M
3→M4→M3→M1の順でバス使用権を与える。
り、また優先バスマスタが連続してリクエストを行う場
合、優先バスマスタと他のバスマスタは交互にバス権を
得る。M3が優先マスタでM1,M2,M3,M4がリ
クエストを出し続けた場合M3→M1→M3→M2→M
3→M4→M3→M1の順でバス使用権を与える。
【0197】また、高優先バスマスタは、アービタ内の
プログラマブルなレジスタにあらかじめ設定された回数
だけ連続したバス権を得ることができる。連続したバス
を使用出来る回数は最大で4回である。
プログラマブルなレジスタにあらかじめ設定された回数
だけ連続したバス権を得ることができる。連続したバス
を使用出来る回数は最大で4回である。
【0198】優先バスマスタ以外のバスマスタから他の
バスマスタにバス権が移ると、そのバスマスタは、他に
リクエストを出しているすべてのバスマスタにバス権を
与えた後でないと再びバス権を得ることができない。ひ
とつのバスマスタが連続してリクエストを行う場合、他
にリクエストを行っているバスマスタがいなければ、連
続してバス権を得ることができるが、他のバスマスタが
リクエストを行っていれば、そのバスマスタはあらかじ
め設定された回数だけ連続してバス権を得ることができ
る。一度バス権が他のバスマスタに移ると、他にリクエ
ストを出しているすべてのバスマスタにバス権を与えた
後でないと再びバス権を得ることができない。
バスマスタにバス権が移ると、そのバスマスタは、他に
リクエストを出しているすべてのバスマスタにバス権を
与えた後でないと再びバス権を得ることができない。ひ
とつのバスマスタが連続してリクエストを行う場合、他
にリクエストを行っているバスマスタがいなければ、連
続してバス権を得ることができるが、他のバスマスタが
リクエストを行っていれば、そのバスマスタはあらかじ
め設定された回数だけ連続してバス権を得ることができ
る。一度バス権が他のバスマスタに移ると、他にリクエ
ストを出しているすべてのバスマスタにバス権を与えた
後でないと再びバス権を得ることができない。
【0199】低優先アービトレーションシーケンサ40
04には最大3本のリクエストを割り当てる事が出来
る。低優先シーケンサ4004に割り当てられたマスタ
へは、中優先、高優先シーケンサに割り当てられた、す
べてのマスタのリクエストがなくならないと、バスの使
用権が与えられない。このシーケンサへのバスマスタの
割り当ては十分な注意を持って行われなければならな
い。
04には最大3本のリクエストを割り当てる事が出来
る。低優先シーケンサ4004に割り当てられたマスタ
へは、中優先、高優先シーケンサに割り当てられた、す
べてのマスタのリクエストがなくならないと、バスの使
用権が与えられない。このシーケンサへのバスマスタの
割り当ては十分な注意を持って行われなければならな
い。
【0200】(優先バスマスタの切り替え)優先バスマ
スタの切り替えを行なうには、アービタ内のレジスタを
書き換えればよい。優先バスマスタを選択するレジスタ
が書き換えられると、その時に実行中のトランザクショ
ンの終了を待って、優先バスマスタが切り替えられる。
アービタのステートはアイドル状態にもどり、その時点
でリクエストを出していたバスマスタは、その時同時に
リクエストを出したものとして、あらためてアービトレ
ーションが行われる。
スタの切り替えを行なうには、アービタ内のレジスタを
書き換えればよい。優先バスマスタを選択するレジスタ
が書き換えられると、その時に実行中のトランザクショ
ンの終了を待って、優先バスマスタが切り替えられる。
アービタのステートはアイドル状態にもどり、その時点
でリクエストを出していたバスマスタは、その時同時に
リクエストを出したものとして、あらためてアービトレ
ーションが行われる。
【0201】切り替えには十分注意を払う必要がある。
優先させるべきバスマスタのDMAが終了しないうちに、
異なったバスマスタに優先バスマスタを切り替えてしま
うと、最初の優先バスマスタのDMAの優先度が下がって
しまう。もしも最初の優先バスマスタの優先度を下げた
くないのであれば、DMAが終了したのを確認してから優
先バスマスタの切り替えを行なう必要がある。
優先させるべきバスマスタのDMAが終了しないうちに、
異なったバスマスタに優先バスマスタを切り替えてしま
うと、最初の優先バスマスタのDMAの優先度が下がって
しまう。もしも最初の優先バスマスタの優先度を下げた
くないのであれば、DMAが終了したのを確認してから優
先バスマスタの切り替えを行なう必要がある。
【0202】優先バスマスタ切り替えを、システムブー
ト時のみでなく、システム稼働中も動的に行なう必要の
あるソフトウェアでは、優先バスマスタの切り替えは、
いったんBバス上に新たなDMAリクエストが発生しない
よう、すべてのバスマスタ及びDMAコントローラに対す
る設定を中止し、その後、Bバスアービタ407内のレ
ジスタに適切な値をセットし、さらに、Bバスアービタ
内のステータスレジスタをチェックし、バスマスタの優
先権が切り替わったのを確認した上で新たなBバス上へ
のアクセス及びDMAの起動を行うべきである。
ト時のみでなく、システム稼働中も動的に行なう必要の
あるソフトウェアでは、優先バスマスタの切り替えは、
いったんBバス上に新たなDMAリクエストが発生しない
よう、すべてのバスマスタ及びDMAコントローラに対す
る設定を中止し、その後、Bバスアービタ407内のレ
ジスタに適切な値をセットし、さらに、Bバスアービタ
内のステータスレジスタをチェックし、バスマスタの優
先権が切り替わったのを確認した上で新たなBバス上へ
のアクセス及びDMAの起動を行うべきである。
【0203】優先バスマスタの動的切り替えは、オペレ
ーティングシステムの実時間保証、タスクの優先順位の
設定を変化もしくは、違反させてしまう可能性があり、
十分な考慮の上行われなければならない。
ーティングシステムの実時間保証、タスクの優先順位の
設定を変化もしくは、違反させてしまう可能性があり、
十分な考慮の上行われなければならない。
【0204】(アクセス順序制御機構)Bバスアービタ
407はアクセス順序制御機構を含む。アクセス順序制
御機構は、同期ユニット4001と、Bバスアービタ4
07,Gバスアービタ406内に組み込まれたバス使用
権発行抑制機構によって実現される。Bバスアービタ4
07内に組み込まれたバス使用権発行抑制機構は、Gバ
スアービタのそれと同様に動作する。つまり、stopPci
信号が入力された場合は、Pciバスマスタからのバスリ
クエストが発行され、アービトレーションの結果、この
マスタにバスの使用権を与えることが可能な状態でも、
バスの使用権発行は行わず、他のマスタへバス使用権を
あたえる。具体的には、stopPci信号が入力された場合
は、直ちにbPciReq_Lをマスクすることにこれを行う。
407はアクセス順序制御機構を含む。アクセス順序制
御機構は、同期ユニット4001と、Bバスアービタ4
07,Gバスアービタ406内に組み込まれたバス使用
権発行抑制機構によって実現される。Bバスアービタ4
07内に組み込まれたバス使用権発行抑制機構は、Gバ
スアービタのそれと同様に動作する。つまり、stopPci
信号が入力された場合は、Pciバスマスタからのバスリ
クエストが発行され、アービトレーションの結果、この
マスタにバスの使用権を与えることが可能な状態でも、
バスの使用権発行は行わず、他のマスタへバス使用権を
あたえる。具体的には、stopPci信号が入力された場合
は、直ちにbPciReq_Lをマスクすることにこれを行う。
【0205】LANコントローラ414からのバスリクエ
ストおよび、ストップ信号の場合もまったく同様に動作
する。図41に同期ユニット4001のブロック図を示
す。同期ユニット内には複数のDMAマスタ間すべての組
み合わせに関して、それぞれコンペアユニット4101
〜4103が接続される、DoEngineでは、Gbu
s上のDMAマスタはスキャナコントローラ/プリンタコン
トローラのみ存在する。Bバス上には、DMAPCIユニッ
ト、LANユニットの二つが存在する。SBB内のBバス
インターフェースはBバス上のバスマスタであるが、メ
モリには直接アクセスしないので、同期ユニット400
1にはIDと転送先アドレスを出力しない。
ストおよび、ストップ信号の場合もまったく同様に動作
する。図41に同期ユニット4001のブロック図を示
す。同期ユニット内には複数のDMAマスタ間すべての組
み合わせに関して、それぞれコンペアユニット4101
〜4103が接続される、DoEngineでは、Gbu
s上のDMAマスタはスキャナコントローラ/プリンタコン
トローラのみ存在する。Bバス上には、DMAPCIユニッ
ト、LANユニットの二つが存在する。SBB内のBバス
インターフェースはBバス上のバスマスタであるが、メ
モリには直接アクセスしないので、同期ユニット400
1にはIDと転送先アドレスを出力しない。
【0206】図42に同期ユニット内の一つコンペアユ
ニット(Comparation Unit 1)を以下に示す。他のコン
ペアユニットも同様の構成を有する。
ニット(Comparation Unit 1)を以下に示す。他のコン
ペアユニットも同様の構成を有する。
【0207】PCIインターフェース416に付属するDMA
ブロックもしくは、スキャナコントローラ/プリンタコ
ントローラから、同期ユニット4001に対し、DMAラ
イトがプログラミングされた時点で、転送先のアドレス
とそのDMAブロック固有のリクエスト信号が通知され
る。
ブロックもしくは、スキャナコントローラ/プリンタコ
ントローラから、同期ユニット4001に対し、DMAラ
イトがプログラミングされた時点で、転送先のアドレス
とそのDMAブロック固有のリクエスト信号が通知され
る。
【0208】各コンペアユニットは、各DMAブロックか
らリクエストが出力された時点で、アドレスを内部に持
つタイマによる現在時刻とともに記憶する、次に他のDM
Aブロックから、DMAライトに関するアドレスとリクエス
トが入力された時点で、コンペアユニットは両アドレス
を比較する。一致した場合にはさらに、それぞれのレジ
スタに格納された時間を比較し、時間的に後からDMAラ
イトの要求を出してきたDMAブロックが接続されたバス
のバスアービタに対し、このマスタに対するバス使用強
化を与えないようにする。これは、stop(ID)という信号
により各バスのバスアービタに通知される。
らリクエストが出力された時点で、アドレスを内部に持
つタイマによる現在時刻とともに記憶する、次に他のDM
Aブロックから、DMAライトに関するアドレスとリクエス
トが入力された時点で、コンペアユニットは両アドレス
を比較する。一致した場合にはさらに、それぞれのレジ
スタに格納された時間を比較し、時間的に後からDMAラ
イトの要求を出してきたDMAブロックが接続されたバス
のバスアービタに対し、このマスタに対するバス使用強
化を与えないようにする。これは、stop(ID)という信号
により各バスのバスアービタに通知される。
【0209】各バスアービタはstop(ID)信号により通知
されたマスタに対しては、アービトレーションによるバ
ス使用権の割り当てを行わない。
されたマスタに対しては、アービトレーションによるバ
ス使用権の割り当てを行わない。
【0210】時間が経過し、先にアクセス要求を行った
バスマスタにより当該メモリアドレスへのDMAライトが
終了すると、先のマスタは、同期ユニットに対するリク
エストを取り下げる、同期ユニットは、2番目にDMAラ
イトの要求を出した、DMAブロックの接続するバスのバ
スアービタに対し、このDMAブロックへの、バス使用権
許可禁止信号の発行をとりさげる。そして、後からDMA
ライトを行うべきマスタのDMAライトが行われる。
バスマスタにより当該メモリアドレスへのDMAライトが
終了すると、先のマスタは、同期ユニットに対するリク
エストを取り下げる、同期ユニットは、2番目にDMAラ
イトの要求を出した、DMAブロックの接続するバスのバ
スアービタに対し、このDMAブロックへの、バス使用権
許可禁止信号の発行をとりさげる。そして、後からDMA
ライトを行うべきマスタのDMAライトが行われる。
【0211】双方のDMAライトが終了し、双方のリクエ
ストが取り下げられると、タイマーがリセットされる。
タイマーのカウントアップは再度どちらかのマスタから
のリクエストが出力された時点で再度行われる。
ストが取り下げられると、タイマーがリセットされる。
タイマーのカウントアップは再度どちらかのマスタから
のリクエストが出力された時点で再度行われる。
【0212】2.9.スキャナコントローラ/プリンタ
コントローラ 図43は、スキャナコントローラ/プリンタコントロー
ラ及びその周辺の回路のブロック図である。スキャナ/
プリンタコントローラは、スキャナおよびプリンタを、
GバスまたはBバスにインターフェースするブロックで
ある。以下の3つの機能ブロックから構成される。 1.スキャナコントローラ スキャナとビデオI/Fで接続され、動作制御およびデー
タ転送制御を行う。Gバス/BバスI/Fユニット430
1AとはIF-バスで接続され、データ転送およびレジス
タのリード・ライトが行われる。データ転送はマスタ機
能を備える。 2.プリンタコントローラ プリンタとビデオI/Fで接続され、動作制御およびデー
タ転送制御を行う。Gバス/BバスI/Fユニット430
1BとはI/F-バスで接続され、データ転送およびレジス
タのリード・ライトが行われる。データ転送はマスタと
スレーブの両機能を備える。 3.Gバス/BバスI/Fユニット スキャナコントローラ4302およびプリンタコントロ
ーラ4303をGバスまたはBバスに接続するためのユ
ニットである。スキャナコントローラ4302とプリン
タコントローラ4302にそれぞれ独立して接続され、
GバスとBバスに接続する。 4.CPバス スキャナとプリンタの、画像データおよび水平、垂直同
期のための同期信号を直結するためのバスである。
コントローラ 図43は、スキャナコントローラ/プリンタコントロー
ラ及びその周辺の回路のブロック図である。スキャナ/
プリンタコントローラは、スキャナおよびプリンタを、
GバスまたはBバスにインターフェースするブロックで
ある。以下の3つの機能ブロックから構成される。 1.スキャナコントローラ スキャナとビデオI/Fで接続され、動作制御およびデー
タ転送制御を行う。Gバス/BバスI/Fユニット430
1AとはIF-バスで接続され、データ転送およびレジス
タのリード・ライトが行われる。データ転送はマスタ機
能を備える。 2.プリンタコントローラ プリンタとビデオI/Fで接続され、動作制御およびデー
タ転送制御を行う。Gバス/BバスI/Fユニット430
1BとはI/F-バスで接続され、データ転送およびレジス
タのリード・ライトが行われる。データ転送はマスタと
スレーブの両機能を備える。 3.Gバス/BバスI/Fユニット スキャナコントローラ4302およびプリンタコントロ
ーラ4303をGバスまたはBバスに接続するためのユ
ニットである。スキャナコントローラ4302とプリン
タコントローラ4302にそれぞれ独立して接続され、
GバスとBバスに接続する。 4.CPバス スキャナとプリンタの、画像データおよび水平、垂直同
期のための同期信号を直結するためのバスである。
【0213】2.9.1.スキャナコントローラ 図44にスキャナコントローラ4302のブロック図を
示す。スキャナコントローラ4302は、ビデオI/Fに
よってスキャナと接続し、Gバス/BバスI/Fユニット
(scc GBI)4301Aにインターフェースするブロッ
クである。Gバス/BバスI/Fユニット(scc GBI)43
01Aには、sccI/F-バスを介してインターフェースさ
れる。大別して以下のブロックから構成される。 1.スキャナデバイスI/F4401 スキャナのビデオI/Fと信号の入出力をおこなう入出力
ポート。 2.スキャナビデオクロックユニット4402 スキャナのビデオクロックで動作するユニット。 3.スキャナ画像データFIFOコントローラ4403 画像データ転送用のFIFOを制御する。 4.スキャナコントローラコントロールレジスタユニッ
ト4404 スキャナコントローラ全体を制御するためのレジスタ。 5.IRQコントローラ4406 スキャナコントローラ(Scc)内部で発生する割込み信
号を制御する。 6.メモリフィルモードコントローラ4405 レジスタに設定された固定データをメモリに対して転送
するモードをコントロールする。スキャナからの画像デ
ータと選択的に切り替えをおこなう。 7.FIFO(FIFO_SCC)4407 スキャナからのビデオデータを出力する際に、出力先の
デバイスがビデオデータと非同期の可能性がある場合に
用いられるFIFOである。
示す。スキャナコントローラ4302は、ビデオI/Fに
よってスキャナと接続し、Gバス/BバスI/Fユニット
(scc GBI)4301Aにインターフェースするブロッ
クである。Gバス/BバスI/Fユニット(scc GBI)43
01Aには、sccI/F-バスを介してインターフェースさ
れる。大別して以下のブロックから構成される。 1.スキャナデバイスI/F4401 スキャナのビデオI/Fと信号の入出力をおこなう入出力
ポート。 2.スキャナビデオクロックユニット4402 スキャナのビデオクロックで動作するユニット。 3.スキャナ画像データFIFOコントローラ4403 画像データ転送用のFIFOを制御する。 4.スキャナコントローラコントロールレジスタユニッ
ト4404 スキャナコントローラ全体を制御するためのレジスタ。 5.IRQコントローラ4406 スキャナコントローラ(Scc)内部で発生する割込み信
号を制御する。 6.メモリフィルモードコントローラ4405 レジスタに設定された固定データをメモリに対して転送
するモードをコントロールする。スキャナからの画像デ
ータと選択的に切り替えをおこなう。 7.FIFO(FIFO_SCC)4407 スキャナからのビデオデータを出力する際に、出力先の
デバイスがビデオデータと非同期の可能性がある場合に
用いられるFIFOである。
【0214】なお、スキャナから入力する画像データの
種類は、 1.RGB各8ビットのカラー多値データ 2.8ビット白黒多値データ 3.1ビット白黒2値データ などが含まれる。
種類は、 1.RGB各8ビットのカラー多値データ 2.8ビット白黒多値データ 3.1ビット白黒2値データ などが含まれる。
【0215】次に、スキャナコントローラを構成する各
ブロックの概要を説明する。
ブロックの概要を説明する。
【0216】[1.スキャナデバイスI/Fの概要]図4
5に、スキャナデバイスI/F4401のブロック図を示
す。スキャナデバイスI/Fは、スキャナユニットのスキ
ャナビデオI/F4501との間で信号を入出力する入出
力ポートである。スキャナビデオI/Fからの入力ビデオ
信号SVideoR[7:0], SVideoG[7:0], SVideoB[7:0]の各信
号を、スキャナコントローラコントロールレジスタ44
04からのVDInvt信号に応じて、レベル反転するかどう
かを切り替えることが可能である。
5に、スキャナデバイスI/F4401のブロック図を示
す。スキャナデバイスI/Fは、スキャナユニットのスキ
ャナビデオI/F4501との間で信号を入出力する入出
力ポートである。スキャナビデオI/Fからの入力ビデオ
信号SVideoR[7:0], SVideoG[7:0], SVideoB[7:0]の各信
号を、スキャナコントローラコントロールレジスタ44
04からのVDInvt信号に応じて、レベル反転するかどう
かを切り替えることが可能である。
【0217】[2.スキャナビデオクロックユニットの
概要]図46に、スキャナビデオクロックユニット44
02のブロック図を示す。スキャナビデオクロックユニ
ット4402は、スキャナからのビデオクロックで動作
するブロックである。以下のブロックから構成される。 1.スキャナビデオデータマスク4601 スキャナからの画像データに対してデータマスクを行う
ブロックである。マスクされたデータはレジスタに設定
された値のデータとなる。 2.スキャナビデオ同期コントロールユニット4602 スキャナからのビデオクロック, VSYNC, HSYNCの信号か
ら、画像データを取り込むタイミング信号等を生成する
ブロックである。画像データの水平方向、垂直方向のデ
ータ数とライン数を管理する。 3.ビデオデータ幅コンバータ スキャナから入力した画像データを64ビット幅のデー
タにパッキングして変換するブロックである。
概要]図46に、スキャナビデオクロックユニット44
02のブロック図を示す。スキャナビデオクロックユニ
ット4402は、スキャナからのビデオクロックで動作
するブロックである。以下のブロックから構成される。 1.スキャナビデオデータマスク4601 スキャナからの画像データに対してデータマスクを行う
ブロックである。マスクされたデータはレジスタに設定
された値のデータとなる。 2.スキャナビデオ同期コントロールユニット4602 スキャナからのビデオクロック, VSYNC, HSYNCの信号か
ら、画像データを取り込むタイミング信号等を生成する
ブロックである。画像データの水平方向、垂直方向のデ
ータ数とライン数を管理する。 3.ビデオデータ幅コンバータ スキャナから入力した画像データを64ビット幅のデー
タにパッキングして変換するブロックである。
【0218】(スキャナビデオデータマスクの概要)図
47にスキャナビデオデータマスク4601のブロック
図を示す。スキャナビデオデータマスク4601は、ス
キャナから入力する画像データに対してピクセル単位で
マスクを行う。マスクされた画像データはレジスタによ
り設定された値となる(RDMask[7:0], GDMask[7:0], BD
Mask[7:0])。
47にスキャナビデオデータマスク4601のブロック
図を示す。スキャナビデオデータマスク4601は、ス
キャナから入力する画像データに対してピクセル単位で
マスクを行う。マスクされた画像データはレジスタによ
り設定された値となる(RDMask[7:0], GDMask[7:0], BD
Mask[7:0])。
【0219】(スキャナビデオ同期コントロールユニッ
トの概要)図48にスキャナビデオデータマスク460
2のブロック図を示す。スキャナビデオ同期コントロー
ルユニット4602は、スキャナから入力される画像デ
ータの垂直同期信号(SVSYNC)、水平同期信号(SHSYN
C)、画像データ同期クロック(GTSVCLK)により、取り
込む画像データのイネーブル信号(IVE)を生成する。
また、画像データの主走査方向の遅延、取り込みピクセ
ル数、副走査方向の遅延、取り込みライン数を管理す
る。さらに、設定量の画像データ取り込みを終了したタ
イミングでの状態信号(PENDP)を生成する。
トの概要)図48にスキャナビデオデータマスク460
2のブロック図を示す。スキャナビデオ同期コントロー
ルユニット4602は、スキャナから入力される画像デ
ータの垂直同期信号(SVSYNC)、水平同期信号(SHSYN
C)、画像データ同期クロック(GTSVCLK)により、取り
込む画像データのイネーブル信号(IVE)を生成する。
また、画像データの主走査方向の遅延、取り込みピクセ
ル数、副走査方向の遅延、取り込みライン数を管理す
る。さらに、設定量の画像データ取り込みを終了したタ
イミングでの状態信号(PENDP)を生成する。
【0220】ラインカウンタ4801は副走査方向の遅
延と取り込みライン数を管理して、画像読み取り有効ラ
インの垂直同期信号(EH)を生成する。ピクセルカウ
ンタ4802は主走査方向の画像取り込み遅延と取り込
み画素数を管理する。ページカウンタ4803は入力す
る画像データをページ単位で管理する。設定されたペー
ジ数分の画像データ入力を終了すると、終了信号(ALLP
END)を生成する。
延と取り込みライン数を管理して、画像読み取り有効ラ
インの垂直同期信号(EH)を生成する。ピクセルカウ
ンタ4802は主走査方向の画像取り込み遅延と取り込
み画素数を管理する。ページカウンタ4803は入力す
る画像データをページ単位で管理する。設定されたペー
ジ数分の画像データ入力を終了すると、終了信号(ALLP
END)を生成する。
【0221】(スキャナ ビデオデータ幅コンバータ4
603の概要)図49にスキャナビデオデータ幅コンバ
ータ4603のブロック図を示す。これは、スキャナか
ら入力する画像データを64ビット幅にならべるユニッ
トである。ならべたデータはFIFOに64ビットデータで
書き込まれる。入力できる画像データのタイプは、RGB
各8ビットのカラー画像データ、多値8ビットの白黒画
像データ、2値1ビットの白黒画像データの3種類であ
る。スキャナコントローラコントロールレジスタ440
4においてモード設定される。モードとしては、RGBカ
ラー画像データをメモリ内に24ビットでならべるモー
ドと、1バイト付加して32ビットでならべるモードと
を備える。3種類の画像データは以下の信号ラインから
入力される。 1.RGB各8ビットのカラー画像データ … R[7:0], G
[7:0], B[7:0] 2.多値8ビットの白黒画像データ … R[7:0] 3.2値1ビットの白黒画像データ … R7 64ビットデータへのならべかたとメモリ上でのならび
かたは以下のとおりである。
603の概要)図49にスキャナビデオデータ幅コンバ
ータ4603のブロック図を示す。これは、スキャナか
ら入力する画像データを64ビット幅にならべるユニッ
トである。ならべたデータはFIFOに64ビットデータで
書き込まれる。入力できる画像データのタイプは、RGB
各8ビットのカラー画像データ、多値8ビットの白黒画
像データ、2値1ビットの白黒画像データの3種類であ
る。スキャナコントローラコントロールレジスタ440
4においてモード設定される。モードとしては、RGBカ
ラー画像データをメモリ内に24ビットでならべるモー
ドと、1バイト付加して32ビットでならべるモードと
を備える。3種類の画像データは以下の信号ラインから
入力される。 1.RGB各8ビットのカラー画像データ … R[7:0], G
[7:0], B[7:0] 2.多値8ビットの白黒画像データ … R[7:0] 3.2値1ビットの白黒画像データ … R7 64ビットデータへのならべかたとメモリ上でのならび
かたは以下のとおりである。
【0222】1.RGB各8ビットのカラー画像データ
(24ビット格納モード) 第1ピクセルR8ビット→ビット63−56 第1ピクセルG8ビット→ビット55−48 第1ピクセルB8ビット→ビット47−40 第2ピクセルR8ビット→ビット39−32 第2ピクセルG8ビット→ビット31−24 第2ピクセルB8ビット→ビット23−16 第3ピクセルR8ビット→ビット15−8 第3ピクセルG8ビット→ビット7−0 メモリ上でのならびは、図50の通りである。
(24ビット格納モード) 第1ピクセルR8ビット→ビット63−56 第1ピクセルG8ビット→ビット55−48 第1ピクセルB8ビット→ビット47−40 第2ピクセルR8ビット→ビット39−32 第2ピクセルG8ビット→ビット31−24 第2ピクセルB8ビット→ビット23−16 第3ピクセルR8ビット→ビット15−8 第3ピクセルG8ビット→ビット7−0 メモリ上でのならびは、図50の通りである。
【0223】2.RGB各8ビットのカラー画像データ
(32ビット格納モード) 第1ピクセルR8ビット→ビット63−56 第1ピクセルG8ビット→ビット55−48 第1ピクセルB8ビット→ビット47−40 第2ピクセルR8ビット→ビット31−24 第2ピクセルG8ビット→ビット23−16 第2ピクセルB8ビット→ビット15−8 メモリ上でのならびは、図51の通りである。
(32ビット格納モード) 第1ピクセルR8ビット→ビット63−56 第1ピクセルG8ビット→ビット55−48 第1ピクセルB8ビット→ビット47−40 第2ピクセルR8ビット→ビット31−24 第2ピクセルG8ビット→ビット23−16 第2ピクセルB8ビット→ビット15−8 メモリ上でのならびは、図51の通りである。
【0224】3.多値8ビットの白黒画像データ 第1ピクセル8ビット→ビット63−56 第2ピクセル8ビット→ビット55−48 第3ピクセル8ビット→ビット47−40 第4ピクセル8ビット→ビット39−32 第5ピクセル8ビット→ビット31−24 第6ピクセル8ビット→ビット23−16 第7ピクセル8ビット→ビット15−8 第8ピクセル8ビット→ビット7−0 メモリ上でのならびは、図52の通りである。
【0225】4.2値1ビットの白黒画像データ 第1ピクセル1ビット→ビット63 第2ピクセル1ビット→ビット62 第3ピクセル1ビット→ビット61 第4ピクセル1ビット→ビット60 : 第61ピクセル1ビット→ビット3 第62ピクセル1ビット→ビット2 第63ピクセル1ビット→ビット1 第64ピクセル1ビット→ビット0 メモリ上でのならびは、図53の通りである。
【0226】次に、各パッキングユニットについて説明
する。
する。
【0227】図54は、BW8パッキングユニット49
01により、多値8ビットの白黒画像データを64ビッ
ト幅に変換する際のタイミング図である。スキャナから
の8ビット白黒画像データR[7:0]は、信号VEがハイ
レベルになると取り込まれ、1ピクセルずつ信号LP0
〜LP7に同期して64ビットラッチにラッチされる。
8画素分揃うと、信号LP64に同期して、ラッチされ
た8画素64ビットが信号BW8[63:0]として出力され
る。
01により、多値8ビットの白黒画像データを64ビッ
ト幅に変換する際のタイミング図である。スキャナから
の8ビット白黒画像データR[7:0]は、信号VEがハイ
レベルになると取り込まれ、1ピクセルずつ信号LP0
〜LP7に同期して64ビットラッチにラッチされる。
8画素分揃うと、信号LP64に同期して、ラッチされ
た8画素64ビットが信号BW8[63:0]として出力され
る。
【0228】図55は、シフトレジスタ4902により
2値白黒画像データを64ビット幅に変換する際の画像
データ入力のタイミング図である。スキャナからの2値
白黒画像データR7(SVIDEOR0)は、信号VEがハイレ
ベルになると取り込まれ、1ビットずつシフトレジスタ
によりシフトされて、64ビット取り込まれると。信号
SVLATCH64に同期して、信号BW1[63:0]として出力
される。
2値白黒画像データを64ビット幅に変換する際の画像
データ入力のタイミング図である。スキャナからの2値
白黒画像データR7(SVIDEOR0)は、信号VEがハイレ
ベルになると取り込まれ、1ビットずつシフトレジスタ
によりシフトされて、64ビット取り込まれると。信号
SVLATCH64に同期して、信号BW1[63:0]として出力
される。
【0229】図56は、RGBパッキングユニット49
03により、RGB各8ビット(全24ビット)の画像
データを64ビット幅に変換する際のタイミング図であ
る。また、図57は、RGBパッキングユニット4903
のブロック図である。図において、スキャナビデオデー
タマスク4601から入力された画像データR[7:0],G
[7:0],B[7:0]は、24ビットデータラッチ5701
A,Bに入力される。データラッチA,Bは、クロック
CLKを2分の1に分周した、互いに逆位相のラッチ信号L
P0,LP1に同期してそれぞれ入力される24ビットデー
タをラッチする。データラッチ5701A,Bにラッチ
されたデータは、48→32ビットデータセレクタ57
02に入力信号RGBHT[47:0]として入力され、2ビット
の選択信号LP[3:2]に応じて32ビット信号DATA[31:0]
として出力される。出力の仕方は、選択信号の値に応じ
て3通りある。まず第1番目は、入力信号RGBHT[47:16]
を出力信号DATA[31:0]とする方法である。第2番目は、
入力信号RGBHT[15:0]を出力信号DATA[31:16]とし、入力
信号RGBHT[47:32]を出力信号DATA[15:0]とする方法であ
る。第3番目は、入力信号RGBHT[31:0]を出力信号DATA
[31:0]とする方法である。
03により、RGB各8ビット(全24ビット)の画像
データを64ビット幅に変換する際のタイミング図であ
る。また、図57は、RGBパッキングユニット4903
のブロック図である。図において、スキャナビデオデー
タマスク4601から入力された画像データR[7:0],G
[7:0],B[7:0]は、24ビットデータラッチ5701
A,Bに入力される。データラッチA,Bは、クロック
CLKを2分の1に分周した、互いに逆位相のラッチ信号L
P0,LP1に同期してそれぞれ入力される24ビットデー
タをラッチする。データラッチ5701A,Bにラッチ
されたデータは、48→32ビットデータセレクタ57
02に入力信号RGBHT[47:0]として入力され、2ビット
の選択信号LP[3:2]に応じて32ビット信号DATA[31:0]
として出力される。出力の仕方は、選択信号の値に応じ
て3通りある。まず第1番目は、入力信号RGBHT[47:16]
を出力信号DATA[31:0]とする方法である。第2番目は、
入力信号RGBHT[15:0]を出力信号DATA[31:16]とし、入力
信号RGBHT[47:32]を出力信号DATA[15:0]とする方法であ
る。第3番目は、入力信号RGBHT[31:0]を出力信号DATA
[31:0]とする方法である。
【0230】データラッチ5701A,Bに、ラッチ信
号に同期させて交互に24ビット画像データをラッチ
し、上記3通りの選択の仕方を順に切り換えることで、
データセレクタ5702からの出力は、24ビット/ピ
クセルのデータを32ビットにまとめたデータとなる。
ただし、上記第3の方法でセレクタ5702のデータが
選択された後は、データセレクタに入力された2つのピ
クセル分のデータは両方とも更新されねばならない。そ
こで、図56に示されている通り、選択信号SELUL[3:2]
は1クロック分遅延される。
号に同期させて交互に24ビット画像データをラッチ
し、上記3通りの選択の仕方を順に切り換えることで、
データセレクタ5702からの出力は、24ビット/ピ
クセルのデータを32ビットにまとめたデータとなる。
ただし、上記第3の方法でセレクタ5702のデータが
選択された後は、データセレクタに入力された2つのピ
クセル分のデータは両方とも更新されねばならない。そ
こで、図56に示されている通り、選択信号SELUL[3:2]
は1クロック分遅延される。
【0231】このようにデータセレクタ5702で32
ビット幅に一旦変換されたデータは、データラッチ57
40A,Bに交互にラッチされ、データラッチ5704
Bの内容が更新されたタイミング、すなわちラッチ信号
SELUL1がハイレベルになるタイミングで、64ビット幅
に変換されたデータとして出力される。
ビット幅に一旦変換されたデータは、データラッチ57
40A,Bに交互にラッチされ、データラッチ5704
Bの内容が更新されたタイミング、すなわちラッチ信号
SELUL1がハイレベルになるタイミングで、64ビット幅
に変換されたデータとして出力される。
【0232】[3.スキャナ画像データ転送FIFOコント
ローラ4403の概要]図58に、スキャナ画像データ
転送FIFOコントローラ4403のブロック図を示す。こ
のブロックは、スキャナから入力された画像データをG
バスもしくはBバスを介して転送するためのバッファと
してのFIFO5801と、そのFIFO5801をコントロー
ルする回路から構成されている。FIFOとしては、容量5
12バイト(64ビット×64)のFIFOを備える。FIFO
のデータ出力は、スキャナFIFOライトリードアービタ5
802が、FIFO5801のエンプティフラグ(EF)を監
視しながら制御する。FIFOのデータ入力はスキャナビデ
オクロックユニット4402からの要求信号(WREQ)に
よりおこなわれる。
ローラ4403の概要]図58に、スキャナ画像データ
転送FIFOコントローラ4403のブロック図を示す。こ
のブロックは、スキャナから入力された画像データをG
バスもしくはBバスを介して転送するためのバッファと
してのFIFO5801と、そのFIFO5801をコントロー
ルする回路から構成されている。FIFOとしては、容量5
12バイト(64ビット×64)のFIFOを備える。FIFO
のデータ出力は、スキャナFIFOライトリードアービタ5
802が、FIFO5801のエンプティフラグ(EF)を監
視しながら制御する。FIFOのデータ入力はスキャナビデ
オクロックユニット4402からの要求信号(WREQ)に
よりおこなわれる。
【0233】[4.スキャナコントローラコントロール
レジスタ4404の概要]図59に、スキャナコントロ
ーラコントロールレジスタ4404のブロック図を示
す。このブロックは、スキャナコントローラ内部を制御
するレジスタを備えたブロックである。内部のレジスタ
は以下のとおりである。 1.スキャナ・コントローラ・パワー・マネージメント
・コントロールレジスタ 2.スキャナコントローラ・コントロールレジスタ 3.スキャナ・コントローラ・割り込み要因ステータス
レジスタ 4.スキャナ・コントローラ・割り込み要因マスクレジ
スタ 5.スキャナ副走査マスクライン数設定レジスタ 6.スキャナ主走査マスクピクセル数設定レジスタ 7.スキャナ副走査ライン数設定レジスタ 8.スキャナ副走査ライン数カウンタ読み出しレジスタ 9.スキャナ副走査ピクセル数設定レジスタ 10.スキャナ主走査ピクセル数カウンタ読み出しレジ
スタ 11.スキャン・ページ数設定レジスタ 12.スキャン・ページ数カウンタ読み出しレジスタ 13.スキャナ・デバイス・コントロール・レジスタ 14.スキャナ・デバイス・ステータス・レジスタ 15.スキャナ・ビデオ・マスクデータ・レジスタ 16.メモリ・フィル・データ・レジスタ [5.IRQコントローラ4406の概要]図60に、IRQ
コントローラ4406のブロック図を示す。このブロッ
クは、スキャナコントローラ内で発生する割り込み信号
を管理する。割り込み発生要因には次のようなものがあ
る。 1.設定されたページ分の画像データを入力終了(ALLE
ND) 2.1ページ分の画像データを入力終了(PageEnd) 3.スキャナからのSPRDY信号の立ち上がり(false→tr
ue)(INSPRDY) 4.スキャナからのSPRDY信号の立ち下がり(true→fal
se)(INSPRDY) 5.スキャナからのSVSYNC信号の立ち上がり(false→t
rue)(INSVSYNC) 6.スキャナからのSVSYNC信号の立ち下がり(true→fa
lse)(INSVSYNC) 7.画像データFIFOのEMPTY信号の立ち上がり(false→
true)(EMPTY) 8.画像データFIFOのEMPTY信号の立ち下がり(true→f
alse)(EMPTY) 9.画像データFIFOのFULL信号の立ち上がり(false→t
rue)(FULL) 10.画像データFIFOのFULL信号の立ち下がり(true→
false)(FULL) 11.画像データFIFOにオーバーライトが発生(FOW) 上記の割り込み要因に対応するフラグ情報(SCIRQ[31:2
1])をスキャナコントローラコントロールレジスタ44
06に出力する。スキャナコントローラコントロールレ
ジスタ4406から、各割り込み要因に対するマスクビ
ット(SCIMask[31:21])とクリア信号(SCICLRP[31:2
1])とが入力される。各割り込み要因の論理和をintScc
に出力する。
レジスタ4404の概要]図59に、スキャナコントロ
ーラコントロールレジスタ4404のブロック図を示
す。このブロックは、スキャナコントローラ内部を制御
するレジスタを備えたブロックである。内部のレジスタ
は以下のとおりである。 1.スキャナ・コントローラ・パワー・マネージメント
・コントロールレジスタ 2.スキャナコントローラ・コントロールレジスタ 3.スキャナ・コントローラ・割り込み要因ステータス
レジスタ 4.スキャナ・コントローラ・割り込み要因マスクレジ
スタ 5.スキャナ副走査マスクライン数設定レジスタ 6.スキャナ主走査マスクピクセル数設定レジスタ 7.スキャナ副走査ライン数設定レジスタ 8.スキャナ副走査ライン数カウンタ読み出しレジスタ 9.スキャナ副走査ピクセル数設定レジスタ 10.スキャナ主走査ピクセル数カウンタ読み出しレジ
スタ 11.スキャン・ページ数設定レジスタ 12.スキャン・ページ数カウンタ読み出しレジスタ 13.スキャナ・デバイス・コントロール・レジスタ 14.スキャナ・デバイス・ステータス・レジスタ 15.スキャナ・ビデオ・マスクデータ・レジスタ 16.メモリ・フィル・データ・レジスタ [5.IRQコントローラ4406の概要]図60に、IRQ
コントローラ4406のブロック図を示す。このブロッ
クは、スキャナコントローラ内で発生する割り込み信号
を管理する。割り込み発生要因には次のようなものがあ
る。 1.設定されたページ分の画像データを入力終了(ALLE
ND) 2.1ページ分の画像データを入力終了(PageEnd) 3.スキャナからのSPRDY信号の立ち上がり(false→tr
ue)(INSPRDY) 4.スキャナからのSPRDY信号の立ち下がり(true→fal
se)(INSPRDY) 5.スキャナからのSVSYNC信号の立ち上がり(false→t
rue)(INSVSYNC) 6.スキャナからのSVSYNC信号の立ち下がり(true→fa
lse)(INSVSYNC) 7.画像データFIFOのEMPTY信号の立ち上がり(false→
true)(EMPTY) 8.画像データFIFOのEMPTY信号の立ち下がり(true→f
alse)(EMPTY) 9.画像データFIFOのFULL信号の立ち上がり(false→t
rue)(FULL) 10.画像データFIFOのFULL信号の立ち下がり(true→
false)(FULL) 11.画像データFIFOにオーバーライトが発生(FOW) 上記の割り込み要因に対応するフラグ情報(SCIRQ[31:2
1])をスキャナコントローラコントロールレジスタ44
06に出力する。スキャナコントローラコントロールレ
ジスタ4406から、各割り込み要因に対するマスクビ
ット(SCIMask[31:21])とクリア信号(SCICLRP[31:2
1])とが入力される。各割り込み要因の論理和をintScc
に出力する。
【0234】[6.メモリフィルモードコントローラ4
405の概要]図61にメモリフィルモードコントロー
ラ4405のブロック図を示す。このブロックは、レジ
スタに設定された固定データをGBIを介してメモリに転
送するモードを制御する。このモード設定はMemfill信
号によりおこなわれる。固定データの転送モード指定が
なされると、sccGBIに出力されるデータは、レジスタに
設定されたデータ(MFData[31:0])が選択される。ま
た、sccGBIにデータ転送するタイミング信号(sccWrit
e)はこのブロック内で生成される。
405の概要]図61にメモリフィルモードコントロー
ラ4405のブロック図を示す。このブロックは、レジ
スタに設定された固定データをGBIを介してメモリに転
送するモードを制御する。このモード設定はMemfill信
号によりおこなわれる。固定データの転送モード指定が
なされると、sccGBIに出力されるデータは、レジスタに
設定されたデータ(MFData[31:0])が選択される。ま
た、sccGBIにデータ転送するタイミング信号(sccWrit
e)はこのブロック内で生成される。
【0235】(sccIF−バス)sccIF−バス
は、Gバス/BバスI/Fユニット4301Aとスキャナ
コントローラ4302とを接続するローカルなバスであ
る。このバスに含まれる信号には次のようなものであ
る。なお、信号の入出力は、スキャナコントローラから
Gバス/BバスI/Fユニット(GBI)に出力する信号をOUT,
Gバス/BバスI/Fユニット(GBI)からスキャナコント
ローラに入力する信号をINで示す。なお、IF-バスはス
キャナコントローラとプリンタコントローラに対して同
一規定とするため、スキャナコントローラのサポートし
ない機能のための信号も記述する。基本クロックはBバ
スのBclkを使用する。 ・sccRst0_L :IN この信号により、スキャナコントローラ内部のFIFOを初
期状態に戻す。 ・sccDataOut[63:0] :OUT スキャナコントローラからGバス/BバスI/Fユニット
(GBI)に出力される64ビットのデータバスである。ス
キャナコントローラがデータ転送動作する場合に画像デ
ータが転送される。 ・sccWrite :OUT スキャナコントローラがデータ転送動作するときの、G
バス/BバスI/Fユニット(GBI)へのライト信号である。
Gバス/BバスI/Fユニットは、sccWrite信号がアサー
トされているBclkの立ち上がりで、sccDataOut[63:0]を
取り込む。sccWrite信号をアサートし続けることで、1
クロック単位でデータがライトできる。 ・sccWriteEnable :IN スキャナコントローラがデータ転送動作時における、G
バス/BバスI/Fユニット(GBI)へのライト信号である。
Gバス/BバスI/Fユニット(GBI)から出力される。Bclk
の立ち上がりで、sccWriteEnable信号がアサートされて
いれば、次のクロックの立ち上がりで、ライト可能であ
ることを示す。sccWrite信号のアサートは、sccWriteEn
able信号を確認して行う。 ・sccRegAddr[31:2] :IN Gバス/BバスI/Fユニット(GBI)からスキャナコントロ
ーラ内部のレジスタにアクセスするさいのレジスタアド
レスバスである。sccRegStart_Lアサートと同時に有効
となり、スキャナコントローラ内部レジスタへのアクセ
スであれば、sccRegAck_L信号で応答するまで有効であ
る。 ・sccRegbyteEn[3:0] :IN Gバス/BバスI/Fユニット(GBI)から出力されるsccReg
DataIn[31:0]のバイトイネーブル信号である。sccRegSt
art_Lアサートと同時に有効となり、sccRegAck_L信号で
応答するまで有効である。この信号で示された有効なバ
イトのみレジスタへの書き込みを行う。内部レジスタか
らの読み出し時は、この信号は無視し、全バイト出力す
る。この信号の各ビットとsccRegDataIn[31:0]のバイト
との対応は次の通りである。 sccRegbyteEn: 3 2 1 0 sccRegDataIn: [31:24] [25:16] [15:8] [7:0] ・sccRegStart_L :IN Gバス/BバスI/Fユニット(GBI)からスキャナコントロ
ーラ内部のレジスタにアクセスする際のアクセス要求信
号である。“Low”でレジスタのアクセス要求を示す。s
ccRegAddr[31:2]信号、sccRegRdNotWr信号とともにアサ
ートされ、Bclk1クロック分だけアサートされる。スキ
ャナコントローラが、このアクセスに対するsccRegAck_
Lを返さない限り、次のアクセスのアサートはされな
い。 ・sccRegDataOut[31:0] :OUT Gバス/BバスI/Fユニット(GBI)からスキャナコントロ
ーラ内部のレジスタをリードアクセスする場合の32ビ
ットデータバスである。sccRegAck_L信号がアサートさ
れているときに有効となる。 ・sccRegDataIn[31:0] :IN Gバス/BバスI/Fユニット(GBI)からスキャナコントロ
ーラ内部のレジスタをライトアクセスする場合の32ビ
ットデータバスである。sccRegStart_Lアサートと同時
に有効となり、スキャナコントローラ内部レジスタへの
アクセスであれば、sccAck_L信号で応答するまで有効で
ある。 ・sccRegRdNotWr :IN Gバス/BバスI/Fユニット(GBI)からスキャナコントロ
ーラ内部のレジスタにアクセスするさいのアクセス方向
(リードまたはライト)を示す信号である。”High”で
スキャナコントローラ内部レジスタの内容がsccRegData
Out[31:0]に読みだされ、”Low”でsccRegDataIn[31:0]
の内容がスキャナコントローラ内部レジスタに書き込ま
れる。sccRegStart_Lアサートと同時に有効となり、ス
キャナコントローラ内部レジスタへのアクセスであれ
ば、sccRegAck_L信号で応答するまで有効である。 ・sccRegAck_L :OUT スキャナコントローラ内部のレジスタアクセスが完了し
たことを示す信号である。スキャナコントローラからG
バス/BバスI/Fユニット(GBI)へ出力される。Bclk1ク
ロック分だけアサートされる。sccRegReq_L信号がアサ
ートされた次のクロックからセンスされる。
は、Gバス/BバスI/Fユニット4301Aとスキャナ
コントローラ4302とを接続するローカルなバスであ
る。このバスに含まれる信号には次のようなものであ
る。なお、信号の入出力は、スキャナコントローラから
Gバス/BバスI/Fユニット(GBI)に出力する信号をOUT,
Gバス/BバスI/Fユニット(GBI)からスキャナコント
ローラに入力する信号をINで示す。なお、IF-バスはス
キャナコントローラとプリンタコントローラに対して同
一規定とするため、スキャナコントローラのサポートし
ない機能のための信号も記述する。基本クロックはBバ
スのBclkを使用する。 ・sccRst0_L :IN この信号により、スキャナコントローラ内部のFIFOを初
期状態に戻す。 ・sccDataOut[63:0] :OUT スキャナコントローラからGバス/BバスI/Fユニット
(GBI)に出力される64ビットのデータバスである。ス
キャナコントローラがデータ転送動作する場合に画像デ
ータが転送される。 ・sccWrite :OUT スキャナコントローラがデータ転送動作するときの、G
バス/BバスI/Fユニット(GBI)へのライト信号である。
Gバス/BバスI/Fユニットは、sccWrite信号がアサー
トされているBclkの立ち上がりで、sccDataOut[63:0]を
取り込む。sccWrite信号をアサートし続けることで、1
クロック単位でデータがライトできる。 ・sccWriteEnable :IN スキャナコントローラがデータ転送動作時における、G
バス/BバスI/Fユニット(GBI)へのライト信号である。
Gバス/BバスI/Fユニット(GBI)から出力される。Bclk
の立ち上がりで、sccWriteEnable信号がアサートされて
いれば、次のクロックの立ち上がりで、ライト可能であ
ることを示す。sccWrite信号のアサートは、sccWriteEn
able信号を確認して行う。 ・sccRegAddr[31:2] :IN Gバス/BバスI/Fユニット(GBI)からスキャナコントロ
ーラ内部のレジスタにアクセスするさいのレジスタアド
レスバスである。sccRegStart_Lアサートと同時に有効
となり、スキャナコントローラ内部レジスタへのアクセ
スであれば、sccRegAck_L信号で応答するまで有効であ
る。 ・sccRegbyteEn[3:0] :IN Gバス/BバスI/Fユニット(GBI)から出力されるsccReg
DataIn[31:0]のバイトイネーブル信号である。sccRegSt
art_Lアサートと同時に有効となり、sccRegAck_L信号で
応答するまで有効である。この信号で示された有効なバ
イトのみレジスタへの書き込みを行う。内部レジスタか
らの読み出し時は、この信号は無視し、全バイト出力す
る。この信号の各ビットとsccRegDataIn[31:0]のバイト
との対応は次の通りである。 sccRegbyteEn: 3 2 1 0 sccRegDataIn: [31:24] [25:16] [15:8] [7:0] ・sccRegStart_L :IN Gバス/BバスI/Fユニット(GBI)からスキャナコントロ
ーラ内部のレジスタにアクセスする際のアクセス要求信
号である。“Low”でレジスタのアクセス要求を示す。s
ccRegAddr[31:2]信号、sccRegRdNotWr信号とともにアサ
ートされ、Bclk1クロック分だけアサートされる。スキ
ャナコントローラが、このアクセスに対するsccRegAck_
Lを返さない限り、次のアクセスのアサートはされな
い。 ・sccRegDataOut[31:0] :OUT Gバス/BバスI/Fユニット(GBI)からスキャナコントロ
ーラ内部のレジスタをリードアクセスする場合の32ビ
ットデータバスである。sccRegAck_L信号がアサートさ
れているときに有効となる。 ・sccRegDataIn[31:0] :IN Gバス/BバスI/Fユニット(GBI)からスキャナコントロ
ーラ内部のレジスタをライトアクセスする場合の32ビ
ットデータバスである。sccRegStart_Lアサートと同時
に有効となり、スキャナコントローラ内部レジスタへの
アクセスであれば、sccAck_L信号で応答するまで有効で
ある。 ・sccRegRdNotWr :IN Gバス/BバスI/Fユニット(GBI)からスキャナコントロ
ーラ内部のレジスタにアクセスするさいのアクセス方向
(リードまたはライト)を示す信号である。”High”で
スキャナコントローラ内部レジスタの内容がsccRegData
Out[31:0]に読みだされ、”Low”でsccRegDataIn[31:0]
の内容がスキャナコントローラ内部レジスタに書き込ま
れる。sccRegStart_Lアサートと同時に有効となり、ス
キャナコントローラ内部レジスタへのアクセスであれ
ば、sccRegAck_L信号で応答するまで有効である。 ・sccRegAck_L :OUT スキャナコントローラ内部のレジスタアクセスが完了し
たことを示す信号である。スキャナコントローラからG
バス/BバスI/Fユニット(GBI)へ出力される。Bclk1ク
ロック分だけアサートされる。sccRegReq_L信号がアサ
ートされた次のクロックからセンスされる。
【0236】なお、信号sccRst1_L, sccバイトEn[7:0],
sccRead, sccDataIn[63:0]は、IFバスに含まれている
ものの、スキャナコントローラでは未使用である。
sccRead, sccDataIn[63:0]は、IFバスに含まれている
ものの、スキャナコントローラでは未使用である。
【0237】図62及び図63は、上述の信号のタイミ
ングの一例を示すタイミングダイアグラムである。図6
2はスキャナコントローラ4302からデータを読み出
してDMA転送する際のタイミングであり、図63は、ス
キャナコントローラ4302の内部レジスタに対して読
み出しあるいは書き込みを行うタイミングである。
ングの一例を示すタイミングダイアグラムである。図6
2はスキャナコントローラ4302からデータを読み出
してDMA転送する際のタイミングであり、図63は、ス
キャナコントローラ4302の内部レジスタに対して読
み出しあるいは書き込みを行うタイミングである。
【0238】(パワーマネジメント)スキャナコントロ
ーラ内部では、スキャナ・コントローラ・パワー・マネ
ジメント・コントロールレジスタ(0X1B005000)の設定
に応じたビデオクロック(SVCLK)のゲートコントロール
を行い、それによりパワーマネージメントを行う。パワ
ーマネジメントユニット(PMU)409に出力するPMス
テート信号(sccPmStat[1:0])の値は、Gバス/BバスI/
Fユニット4301Aから入力されるsccDmaPmState[1:
0]の状態とクロックの状態とを合わせて決定される。sc
cPmState[1:0]は図64のとおりである。
ーラ内部では、スキャナ・コントローラ・パワー・マネ
ジメント・コントロールレジスタ(0X1B005000)の設定
に応じたビデオクロック(SVCLK)のゲートコントロール
を行い、それによりパワーマネージメントを行う。パワ
ーマネジメントユニット(PMU)409に出力するPMス
テート信号(sccPmStat[1:0])の値は、Gバス/BバスI/
Fユニット4301Aから入力されるsccDmaPmState[1:
0]の状態とクロックの状態とを合わせて決定される。sc
cPmState[1:0]は図64のとおりである。
【0239】図64において、sccDmaPmState[1:0]は、
スキャナのGバス/BバスインターフェースGBI_sccの
パワー消費状態を示している。GBI_secにはパワー消費
状態00〜11の4段階がある。この状態信号sccDmaPmState
[1:0]は、GBI_sccからスキャナコントローラへ出力さ
れている。
スキャナのGバス/BバスインターフェースGBI_sccの
パワー消費状態を示している。GBI_secにはパワー消費
状態00〜11の4段階がある。この状態信号sccDmaPmState
[1:0]は、GBI_sccからスキャナコントローラへ出力さ
れている。
【0240】また、スキャナコントローラのパワー消費
状態は2段階あり、内部信号SPStatで示される。
状態は2段階あり、内部信号SPStatで示される。
【0241】信号sccPmstate[1:0]は、GBI_sccとスキ
ャナコントローラの2つの状態をあわせた状態を示して
いる。この信号がシステムのパワーマネージメントユニ
ットに出力される。すなわち、スキャナコントローラの
電力消費状態は4段階でパワーマネジメントユニットに
伝えられる。その段階は信号sccPmstate[1:0]の値で示
される。値00が最低レベルであり、1増えるごとに示さ
れる電力消費量は大きくなる。
ャナコントローラの2つの状態をあわせた状態を示して
いる。この信号がシステムのパワーマネージメントユニ
ットに出力される。すなわち、スキャナコントローラの
電力消費状態は4段階でパワーマネジメントユニットに
伝えられる。その段階は信号sccPmstate[1:0]の値で示
される。値00が最低レベルであり、1増えるごとに示さ
れる電力消費量は大きくなる。
【0242】(スキャナコントローラコアインターフェ
ース)図65は、スキャナコントローラ4302におけ
る、上述した各ブロックを含むコア部分と、外部バスや
スキャナとの間で入出力される信号をまとめた図であ
る。このように、スキャナコントローラ4302は、シ
ステムバスブリッジ402との間をGバスにより接続さ
れ、IOデバイスやパワーマネジメントデバイス及びシ
ステムバスブリッジとの間をBバスにより接続され、プ
リンタコントローラとの間をCPバスで接続され、Gバ
ス/BバスI/Fユニットとの間をI/Fバスにより接続さ
れている。
ース)図65は、スキャナコントローラ4302におけ
る、上述した各ブロックを含むコア部分と、外部バスや
スキャナとの間で入出力される信号をまとめた図であ
る。このように、スキャナコントローラ4302は、シ
ステムバスブリッジ402との間をGバスにより接続さ
れ、IOデバイスやパワーマネジメントデバイス及びシ
ステムバスブリッジとの間をBバスにより接続され、プ
リンタコントローラとの間をCPバスで接続され、Gバ
ス/BバスI/Fユニットとの間をI/Fバスにより接続さ
れている。
【0243】2.9.2.プリンタコントローラ 図66にプリンタコントローラ4303のブロック図を
示す。プリンタコントローラはビデオI/Fによってプリ
ンタと接続し、Gバス/BバスI/Fユニットにインター
フェースするブロックである。大別して以下のブロック
から構成される。 1.プリンタデバイスI/F6601 プリンタビデオI/FおよびオプションコントローラI/Fと
信号の入出力をおこなう入出力ポートである。 2.プリンタビデオクロックユニット6602 プリンタのビデオクロックで動作するユニットである。 3.プリンタ画像データFIFOコントローラ6603 画像データ転送用のFIFOを制御する。 4.プリンタコントローラコントロールレジスタユニッ
ト6604 プリンタコントローラ全体を制御するためのレジスタユ
ニットである。 5.IRQコントローラ6605 プリンタコントローラ(Prc)内部で発生する割込み信
号を制御する。 6.プリンタコマンド/ステータスコントロールユニッ
ト6606 ビデオI/Fを介してプリンタとのコマンド/ステータス
送受信を制御する。 7.オプションコントローラコントロールユニット66
07 プリンタオプションコントローラを制御するユニットで
ある。 8.FIFO(FIFO_PRC)6608 プリンタへとビデオデータを出力する際に、プリンタが
ビデオデータと非同期の可能性がある場合に用いられる
FIFOである。
示す。プリンタコントローラはビデオI/Fによってプリ
ンタと接続し、Gバス/BバスI/Fユニットにインター
フェースするブロックである。大別して以下のブロック
から構成される。 1.プリンタデバイスI/F6601 プリンタビデオI/FおよびオプションコントローラI/Fと
信号の入出力をおこなう入出力ポートである。 2.プリンタビデオクロックユニット6602 プリンタのビデオクロックで動作するユニットである。 3.プリンタ画像データFIFOコントローラ6603 画像データ転送用のFIFOを制御する。 4.プリンタコントローラコントロールレジスタユニッ
ト6604 プリンタコントローラ全体を制御するためのレジスタユ
ニットである。 5.IRQコントローラ6605 プリンタコントローラ(Prc)内部で発生する割込み信
号を制御する。 6.プリンタコマンド/ステータスコントロールユニッ
ト6606 ビデオI/Fを介してプリンタとのコマンド/ステータス
送受信を制御する。 7.オプションコントローラコントロールユニット66
07 プリンタオプションコントローラを制御するユニットで
ある。 8.FIFO(FIFO_PRC)6608 プリンタへとビデオデータを出力する際に、プリンタが
ビデオデータと非同期の可能性がある場合に用いられる
FIFOである。
【0244】プリンタへ出力する画像データの種類は次
の5種類である。 1.RGB各8ビットのカラー多値データ(点順次) 2.8ビット白黒多値データ 3.1ビット白黒2値データ 4.CMYK各1ビットのカラーデータ(面順次) 5.CMYK各8ビットのカラーデータ(面順次) 次に、プリンタコントローラを構成する各ブロックの概
要を説明する。
の5種類である。 1.RGB各8ビットのカラー多値データ(点順次) 2.8ビット白黒多値データ 3.1ビット白黒2値データ 4.CMYK各1ビットのカラーデータ(面順次) 5.CMYK各8ビットのカラーデータ(面順次) 次に、プリンタコントローラを構成する各ブロックの概
要を説明する。
【0245】[1.プリンタデバイスI/Fの概要]図6
7にプリンタデバイスI/F6601のブロック図を示
す。このブロックは、プリンタビデオI/Fおよびオプシ
ョンコントローラI/Fから信号を入出力する入出力ポー
トである。PビデオR[7:0], PビデオB[7:0]の各信号はVD
Invt信号により、出力信号をレベル反転するかどうかを
切り替えることが可能である。
7にプリンタデバイスI/F6601のブロック図を示
す。このブロックは、プリンタビデオI/Fおよびオプシ
ョンコントローラI/Fから信号を入出力する入出力ポー
トである。PビデオR[7:0], PビデオB[7:0]の各信号はVD
Invt信号により、出力信号をレベル反転するかどうかを
切り替えることが可能である。
【0246】[2.プリンタビデオクロックユニットの
概要]図68にプリンタビデオクロックユニット660
2のブロック図を示す。このブロックは、プリンタから
のビデオクロックで動作し、以下のブロックから構成さ
れる。 1.プリンタビデオデータマスク6801(DFF8ENMask) プリンタへの画像データに対して、データマスクを行う
ブロック。マスクされたデータはレジスタに設定された
値のデータとなる。 2.プリンタビデオ同期コントロールユニット6802
(Prc_syncユニット) プリンタからのビデオクロック, VSYNC, HSYNCの信号か
ら、画像データを出力するタイミング信号等を生成する
ブロック。画像データの水平方向、垂直方向のデータ数
とライン数を管理する。 3.プリンタ ビデオデータ幅コンバータ6803(pvdw
conv) IFバスからの64ビット幅で送られてくる画像データ
を、モードにより、RGB24ビット、白黒8ビット、白
黒1ビットのデータに変換するブロック。モード設定は
レジスタにより行う。
概要]図68にプリンタビデオクロックユニット660
2のブロック図を示す。このブロックは、プリンタから
のビデオクロックで動作し、以下のブロックから構成さ
れる。 1.プリンタビデオデータマスク6801(DFF8ENMask) プリンタへの画像データに対して、データマスクを行う
ブロック。マスクされたデータはレジスタに設定された
値のデータとなる。 2.プリンタビデオ同期コントロールユニット6802
(Prc_syncユニット) プリンタからのビデオクロック, VSYNC, HSYNCの信号か
ら、画像データを出力するタイミング信号等を生成する
ブロック。画像データの水平方向、垂直方向のデータ数
とライン数を管理する。 3.プリンタ ビデオデータ幅コンバータ6803(pvdw
conv) IFバスからの64ビット幅で送られてくる画像データ
を、モードにより、RGB24ビット、白黒8ビット、白
黒1ビットのデータに変換するブロック。モード設定は
レジスタにより行う。
【0247】(プリンタビデオデータマスク)図69に
プリンタビデオデータマスク6801のブロック図を示
す。このブロックは、プリンタへ出力する画像データに
対して、ピクセル単位でマスクを行う。マスクされた画
像データはレジスタに設定された値となる(RDMask[7:
0], GDMask[7:0], BDMask[7:0])。
プリンタビデオデータマスク6801のブロック図を示
す。このブロックは、プリンタへ出力する画像データに
対して、ピクセル単位でマスクを行う。マスクされた画
像データはレジスタに設定された値となる(RDMask[7:
0], GDMask[7:0], BDMask[7:0])。
【0248】(プリンタビデオ同期コントロールユニッ
ト)図70にプリンタビデオ同期コントロールユニット
6802のブロック図を示す。このブロックは、プリン
タへ出力する画像データの垂直同期信号(TOP)、水平
同期信号(INPHSYNC)、画像データ同期クロック(GTVC
LK)により、出力する画像データのイネーブル信号(VD
OEN)、プリンタ画像データ転送FIFOコントローラ66
03にデータの要求をする信号(RREQ)を生成する。
ト)図70にプリンタビデオ同期コントロールユニット
6802のブロック図を示す。このブロックは、プリン
タへ出力する画像データの垂直同期信号(TOP)、水平
同期信号(INPHSYNC)、画像データ同期クロック(GTVC
LK)により、出力する画像データのイネーブル信号(VD
OEN)、プリンタ画像データ転送FIFOコントローラ66
03にデータの要求をする信号(RREQ)を生成する。
【0249】また、画像データの主走査方向の遅延、取
り込みピクセル数、副走査方向の遅延、取り込みライン
数を管理する。ラインカウンタ7001は設定量の画像
データ出力を終了したタイミングでの状態信号(PEND
P)を生成する。また、副走査方向の遅延と出力ライン
数を管理して、画像出力有効ラインの垂直同期信号(E
H)を生成する。ピクセルカウンタ7002は主走査方
向の画像出力遅延と出力画素数を管理する。ページカウ
ンタ7003は出力する画像データをページ単位で管理
する。設定されたページ数分の画像データ出力を終了す
ると、終了信号(ALLPEND)を生成する。
り込みピクセル数、副走査方向の遅延、取り込みライン
数を管理する。ラインカウンタ7001は設定量の画像
データ出力を終了したタイミングでの状態信号(PEND
P)を生成する。また、副走査方向の遅延と出力ライン
数を管理して、画像出力有効ラインの垂直同期信号(E
H)を生成する。ピクセルカウンタ7002は主走査方
向の画像出力遅延と出力画素数を管理する。ページカウ
ンタ7003は出力する画像データをページ単位で管理
する。設定されたページ数分の画像データ出力を終了す
ると、終了信号(ALLPEND)を生成する。
【0250】(プリンタ ビデオデータ幅コンバータ)
図71にビデオデータ幅コンバータ6803のブロック
図を示す。このブロックは、GBI(Gバス/BバスI/F)か
ら入力する64ビット幅のデータを画像データの形式に
変換するユニットである。出力できる画像データのタイ
プは次の3種類。RGB各8ビットのカラー画像データ、
多値8ビットの白黒画像データ、2値1ビットの白黒画
像データである。RGB各8ビットのカラー画像データは
24ビット単位でメモリ上に格納されている場合(24
ビットモード)と、24ビットに1バイトデータが付加
されて32ビット単位でメモリに格納されている場合
(32ビットモード)の2つのモード出力をサポートす
る。このモードは、プリンタコントローラコントロール
レジスタ6604においてモード設定される。3種類の
画像データは以下の信号ラインへ出力される。 1.RGB各8ビットのカラー画像データ … IR[7:0],
IG[7:0], IB[7:0] 2.多値8ビットの白黒画像データ … IR[7:0] 3.2値1ビットの白黒画像データ … IR7 64ビットデータのメモリ上でのならびかたは以下のと
おりとなる。
図71にビデオデータ幅コンバータ6803のブロック
図を示す。このブロックは、GBI(Gバス/BバスI/F)か
ら入力する64ビット幅のデータを画像データの形式に
変換するユニットである。出力できる画像データのタイ
プは次の3種類。RGB各8ビットのカラー画像データ、
多値8ビットの白黒画像データ、2値1ビットの白黒画
像データである。RGB各8ビットのカラー画像データは
24ビット単位でメモリ上に格納されている場合(24
ビットモード)と、24ビットに1バイトデータが付加
されて32ビット単位でメモリに格納されている場合
(32ビットモード)の2つのモード出力をサポートす
る。このモードは、プリンタコントローラコントロール
レジスタ6604においてモード設定される。3種類の
画像データは以下の信号ラインへ出力される。 1.RGB各8ビットのカラー画像データ … IR[7:0],
IG[7:0], IB[7:0] 2.多値8ビットの白黒画像データ … IR[7:0] 3.2値1ビットの白黒画像データ … IR7 64ビットデータのメモリ上でのならびかたは以下のと
おりとなる。
【0251】1.RGB各8ビットのカラー画像データ
(24ビットモード) 第1ピクセルR8ビット→ビット63−56 第1ピクセルG8ビット→ビット55−48 第1ピクセルB8ビット→ビット47−40 第2ピクセルR8ビット→ビット39−32 第2ピクセルG8ビット→ビット31−24 第2ピクセルB8ビット→ビット23−16 第3ピクセルR8ビット→ビット15−8 第3ピクセルG8ビット→ビット7−0 この場合、メモリ上でのならびは、図72に示した通り
となる。
(24ビットモード) 第1ピクセルR8ビット→ビット63−56 第1ピクセルG8ビット→ビット55−48 第1ピクセルB8ビット→ビット47−40 第2ピクセルR8ビット→ビット39−32 第2ピクセルG8ビット→ビット31−24 第2ピクセルB8ビット→ビット23−16 第3ピクセルR8ビット→ビット15−8 第3ピクセルG8ビット→ビット7−0 この場合、メモリ上でのならびは、図72に示した通り
となる。
【0252】2.RGB各8ビットのカラー画像データ
(32ビットモード) 第1ピクセルR8ビット→ビット63−56 第1ピクセルG8ビット→ビット55−48 第1ピクセルB8ビット→ビット47−40 第2ピクセルR8ビット→ビット31−24 第2ピクセルG8ビット→ビット23−16 第2ピクセルB8ビット→ビット15−8 この場合、メモリ上でのならびは、図73に示した通り
となる。
(32ビットモード) 第1ピクセルR8ビット→ビット63−56 第1ピクセルG8ビット→ビット55−48 第1ピクセルB8ビット→ビット47−40 第2ピクセルR8ビット→ビット31−24 第2ピクセルG8ビット→ビット23−16 第2ピクセルB8ビット→ビット15−8 この場合、メモリ上でのならびは、図73に示した通り
となる。
【0253】3.多値8ビットの白黒画像データ 第1ピクセル8ビット→ビット63−56 第2ピクセル8ビット→ビット55−48 第3ピクセル8ビット→ビット47−40 第4ピクセル8ビット→ビット39−32 第5ピクセル8ビット→ビット31−24 第6ピクセル8ビット→ビット23−16 第7ピクセル8ビット→ビット15−8 第8ピクセル8ビット→ビット7−0 この場合、メモリ上でのならびは、図74に示した通り
となる。
となる。
【0254】4.2値1ビットの白黒画像データ 第1ピクセル1ビット→ビット63 第2ピクセル1ビット→ビット62 第3ピクセル1ビット→ビット61 第4ピクセル1ビット→ビット60 : 第60ピクセル1ビット→ビット4 第61ピクセル1ビット→ビット3 第62ピクセル1ビット→ビット2 第63ピクセル1ビット→ビット1 第64ピクセル1ビット→ビット0 この場合、メモリ上でのならびは、図75に示した通り
となる。
となる。
【0255】次に、プリンタビデオデータ幅コンバータ
を構成するブロックについて説明する。
を構成するブロックについて説明する。
【0256】(RGBoutユニット7101)図76
にRGBoutユニット7101のブロック図を示す。このブ
ロックは24ビットモードでパックされた64ビット幅
のデータをRGB各8ビットのカラー画像データに変換す
るユニットである。
にRGBoutユニット7101のブロック図を示す。このブ
ロックは24ビットモードでパックされた64ビット幅
のデータをRGB各8ビットのカラー画像データに変換す
るユニットである。
【0257】[3.プリンタ画像データ転送FIFOコント
ローラの概要]図77にプリンタ画像データ転送FIFOコ
ントローラ6603のブロック図を示す。このブロック
は、プリンタへ出力する画像データをGBI(Gバス/Bバ
スI/F)を介して転送するためのバッファとしてのFIFO
と、そのFIFOをコントロールする回路でらう。容量51
2バイト(64ビット×64)のFIFO7701を備え
る。FIFOのデータ入力は、プリンタFIFOライトリードア
ービタ7702がFIFO7701のフルフラグ(FF)を監
視しながら制御する。FIFOのデータ出力はプリンタビデ
オクロックユニット6602からの要求信号(RREQ)に
よりおこなわれる。
ローラの概要]図77にプリンタ画像データ転送FIFOコ
ントローラ6603のブロック図を示す。このブロック
は、プリンタへ出力する画像データをGBI(Gバス/Bバ
スI/F)を介して転送するためのバッファとしてのFIFO
と、そのFIFOをコントロールする回路でらう。容量51
2バイト(64ビット×64)のFIFO7701を備え
る。FIFOのデータ入力は、プリンタFIFOライトリードア
ービタ7702がFIFO7701のフルフラグ(FF)を監
視しながら制御する。FIFOのデータ出力はプリンタビデ
オクロックユニット6602からの要求信号(RREQ)に
よりおこなわれる。
【0258】[4.プリンタコントローラコントロール
レジスタユニット]図78にプリンタコントローラコン
トロールレジスタ6604のブロック図を示す。このブ
ロックは、プリンタコントローラ内部を制御するレジス
タを備えたブロックである。内部のレジスタは以下のと
おりである。 1.プリンタ・パワー・マネージメント・コントロール
レジスタ 2.プリンタ・コントローラ・コントロールレジスタ 3.プリンタ・コントローラ・割り込み要因ステータス
レジスタ 4.プリンタ・コントローラ・割り込み要因マスクレジ
スタ 5.プリンタ副走査マスクライン数設定レジスタ 6.プリンタ主走査マスクピクセル数設定レジスタ 7.プリンタ副走査ライン数設定レジスタ 8.プリンタ副走査ライン数カウンタ読み出しレジスタ 9.プリンタ主走査ピクセル数設定レジスタ 10.プリンタ主走査ピクセル数カウンタ読み出しレジ
スタ 11.プリント・ページ数設定レジスタ 12.プリント・ページ数カウンタ読み出しレジスタ 13.プリンタ・デバイス・コントロール・レジスタ 14.プリンタ・デバイス・ステータス・レジスタ 15.プリンタ・シリアル・コマンド・レジスタ 16.プリンタ・シリアル・ステータス・レジスタ 17.オプション・コントローラ・TX・レジスタ 18.オプション・コントローラ・RX・レジスタ 19.プリンタ・ビデオ・マスクデータ・レジスタ 20.4階調出力レベル設定レジスタ 21.16階調出力レベル設定レジスタ1 22.16階調出力レベル設定レジスタ2 23.16階調出力レベル設定レジスタ3 24.16階調出力レベル設定レジスタ4 [5.IRQコントローラ]図79及び図80にIRQ
コントローラ6605のブロック図を示す。このブロッ
クは、プリンタコントローラ内で発生する割り込み信号
を管理する。割り込み要因から、割り込みを発生させ
る。各割り込み要因に対してマスク機能をもち、個別に
クリアすることができる。割り込み要因は以下のとおり
である。 1.画像データ転送全ページ終了(ALLPEnd) 2.画像データ転送1ページ終了(PageEnd) 3.シリアルステータス1バイト受信完了(INPSBSY) 4.シリアルコマンド1バイト送信完了(EndCBSY) 5.PPRDY信号立ち上がり(false→true)(INPPRDY) 6.PPRDY信号立ち下がりtrue→false)(INPPRDY) 7.RDY信号立ち上がり(false→true)(INRDY) 8.RDY信号立ち下がり(true→false)(INRDY) 9.PFED信号立ち上がり(false→true)(INPFED) 10.PFED信号立ち下がり(true→false)(INPFED) 11.SPCHG信号立ち上がり(false→true)(INSPCH
G) 12.SPCHG信号立ち下がり(true→false)(INSPCH
G) 13.PDLV信号立ち上がり(false→true)(INPDLV) 14.PDLV信号立ち下がり(true→false)(INPDLV) 15.TOPR信号立ち上がり(false→true)(INTOPR) 16.TOPR信号立ち下がり(true→false)(INTOPR) 17.CCRT信号立ち上がり(false→true)(INCCRT) 18.CCRT信号立ち下がり(true→false)(INCCRT) 19.VSREQ信号立ち上がり(false→true)(INPVSYN
C) 20.VSREQ信号立ち下がり(true→false)(INPVSYN
C) 21.オプションコントローラ TX送信&RX受信完了 22.画像データ転送FIFOのEMPTY信号の立ち上がり 23.画像データ転送FIFOのEMPTY信号の立ち下がり 24.画像データ転送FIFOのFULL信号の立ち上がり 25.画像データ転送FIFOのFULL信号の立ち下がり 26.画像データ転送FIFOにオーバーリードが発生(EE
RDOut) 上記の割り込み要因に対応するフラグ情報(PCIRQ[31:
6])をプリンタコントローラコントロールレジスタ66
04に出力する。プリンタコントローラコントロールレ
ジスタ6604から、各割り込み要因に対する、マスク
ビット(PCIMask[31:6])とクリア信号(PCICLRP[31:
6])を入力する。各割り込み要因の論理和がintPrcに出
力する。
レジスタユニット]図78にプリンタコントローラコン
トロールレジスタ6604のブロック図を示す。このブ
ロックは、プリンタコントローラ内部を制御するレジス
タを備えたブロックである。内部のレジスタは以下のと
おりである。 1.プリンタ・パワー・マネージメント・コントロール
レジスタ 2.プリンタ・コントローラ・コントロールレジスタ 3.プリンタ・コントローラ・割り込み要因ステータス
レジスタ 4.プリンタ・コントローラ・割り込み要因マスクレジ
スタ 5.プリンタ副走査マスクライン数設定レジスタ 6.プリンタ主走査マスクピクセル数設定レジスタ 7.プリンタ副走査ライン数設定レジスタ 8.プリンタ副走査ライン数カウンタ読み出しレジスタ 9.プリンタ主走査ピクセル数設定レジスタ 10.プリンタ主走査ピクセル数カウンタ読み出しレジ
スタ 11.プリント・ページ数設定レジスタ 12.プリント・ページ数カウンタ読み出しレジスタ 13.プリンタ・デバイス・コントロール・レジスタ 14.プリンタ・デバイス・ステータス・レジスタ 15.プリンタ・シリアル・コマンド・レジスタ 16.プリンタ・シリアル・ステータス・レジスタ 17.オプション・コントローラ・TX・レジスタ 18.オプション・コントローラ・RX・レジスタ 19.プリンタ・ビデオ・マスクデータ・レジスタ 20.4階調出力レベル設定レジスタ 21.16階調出力レベル設定レジスタ1 22.16階調出力レベル設定レジスタ2 23.16階調出力レベル設定レジスタ3 24.16階調出力レベル設定レジスタ4 [5.IRQコントローラ]図79及び図80にIRQ
コントローラ6605のブロック図を示す。このブロッ
クは、プリンタコントローラ内で発生する割り込み信号
を管理する。割り込み要因から、割り込みを発生させ
る。各割り込み要因に対してマスク機能をもち、個別に
クリアすることができる。割り込み要因は以下のとおり
である。 1.画像データ転送全ページ終了(ALLPEnd) 2.画像データ転送1ページ終了(PageEnd) 3.シリアルステータス1バイト受信完了(INPSBSY) 4.シリアルコマンド1バイト送信完了(EndCBSY) 5.PPRDY信号立ち上がり(false→true)(INPPRDY) 6.PPRDY信号立ち下がりtrue→false)(INPPRDY) 7.RDY信号立ち上がり(false→true)(INRDY) 8.RDY信号立ち下がり(true→false)(INRDY) 9.PFED信号立ち上がり(false→true)(INPFED) 10.PFED信号立ち下がり(true→false)(INPFED) 11.SPCHG信号立ち上がり(false→true)(INSPCH
G) 12.SPCHG信号立ち下がり(true→false)(INSPCH
G) 13.PDLV信号立ち上がり(false→true)(INPDLV) 14.PDLV信号立ち下がり(true→false)(INPDLV) 15.TOPR信号立ち上がり(false→true)(INTOPR) 16.TOPR信号立ち下がり(true→false)(INTOPR) 17.CCRT信号立ち上がり(false→true)(INCCRT) 18.CCRT信号立ち下がり(true→false)(INCCRT) 19.VSREQ信号立ち上がり(false→true)(INPVSYN
C) 20.VSREQ信号立ち下がり(true→false)(INPVSYN
C) 21.オプションコントローラ TX送信&RX受信完了 22.画像データ転送FIFOのEMPTY信号の立ち上がり 23.画像データ転送FIFOのEMPTY信号の立ち下がり 24.画像データ転送FIFOのFULL信号の立ち上がり 25.画像データ転送FIFOのFULL信号の立ち下がり 26.画像データ転送FIFOにオーバーリードが発生(EE
RDOut) 上記の割り込み要因に対応するフラグ情報(PCIRQ[31:
6])をプリンタコントローラコントロールレジスタ66
04に出力する。プリンタコントローラコントロールレ
ジスタ6604から、各割り込み要因に対する、マスク
ビット(PCIMask[31:6])とクリア信号(PCICLRP[31:
6])を入力する。各割り込み要因の論理和がintPrcに出
力する。
【0259】[6.プリンタコマンド/ステータスコン
トロールユニット]図81に、プリンタコマンド/ステ
ータスコントロールユニット6606のブロック図を示
す。このブロックは、プリンタを制御するためのシリア
ルコマンド/ステータスを送受信するブロックである。
トロールユニット]図81に、プリンタコマンド/ステ
ータスコントロールユニット6606のブロック図を示
す。このブロックは、プリンタを制御するためのシリア
ルコマンド/ステータスを送受信するブロックである。
【0260】シリアルコマンドとしては、コマンドを送
信している期間をあらわすINPCBSY信号、シリアルコマ
ンドの同期クロックであるINPCCLK信号、シリアルコマ
ンドINPSRCMD信号が生成される。
信している期間をあらわすINPCBSY信号、シリアルコマ
ンドの同期クロックであるINPCCLK信号、シリアルコマ
ンドINPSRCMD信号が生成される。
【0261】シリアルステータスとしては、ステータス
が送信されている期間を示すINPSBSY信号、シリアルス
テータスINPSRSTS信号が入力されて、8ビットのステー
タスPSRSTAT[7:0]を出力する。シリアルステータスを入
力するための同期クロックはプリンタから出力されるIN
PPCLK信号、または、本ブロックで生成されるPCCLK信号
のどちらかを選択可能である。選択はPSRCLKMode信号に
よりなされる。
が送信されている期間を示すINPSBSY信号、シリアルス
テータスINPSRSTS信号が入力されて、8ビットのステー
タスPSRSTAT[7:0]を出力する。シリアルステータスを入
力するための同期クロックはプリンタから出力されるIN
PPCLK信号、または、本ブロックで生成されるPCCLK信号
のどちらかを選択可能である。選択はPSRCLKMode信号に
よりなされる。
【0262】[7.オプションコントローラコントロー
ルユニット]図82に、オプションコントローラコント
ロールユニット6607のブロック図を示す。このブロ
ックは、オプションコントローラに対して、送信データ
(TX)を出力するユニットである。TX送信のための、IN
STROBE信号、INCKEN信号、CLK(OPCLK)信号を生成する。
また、TX送信と同時に、受信データ(RX)の受信を行
う。
ルユニット]図82に、オプションコントローラコント
ロールユニット6607のブロック図を示す。このブロ
ックは、オプションコントローラに対して、送信データ
(TX)を出力するユニットである。TX送信のための、IN
STROBE信号、INCKEN信号、CLK(OPCLK)信号を生成する。
また、TX送信と同時に、受信データ(RX)の受信を行
う。
【0263】(prcIF−バス)prcIF−バス
は、Gバス/BバスI/Fユニット4301Bとプリンタ
コントローラ4303とを接続するローカルなバスであ
る。このバスに含まれる信号には次のようなものであ
る。なお、信号の入出力は、プリンタコントローラから
Gバス/BバスI/Fユニット(GBI)に出力する信号をOUT,
Gバス/BバスI/Fユニット(GBI)からプリンタコント
ローラに入力する信号をINで示す。IF-バスはスキャナ
コントローラとプリンタコントローラに対して同一規定
とするため、プリンタコントローラのサポートしない機
能のための信号も記述する。基本クロックはBバスのBc
lkを使用する。 ・prcRst0_L :IN この信号により、プリンタコントローラ内部のFIFOを初
期状態に戻す。 ・prcDataIn[63:0] :IN Gバス/BバスI/Fユニット(GBI)からプリンタコントロ
ーラに出力される64ビットのデータバスである。プリ
ンタコントローラがデータ転送動作する場合に画像デー
タが転送される。 ・prcRead :OUT プリンタコントローラがデータ転送動作するとき、Gバ
ス/BバスI/Fユニット(GBI)からのリード信号。Gバス
/BバスI/Fユニット(GBI)は、prcRead信号がアサート
されているBclkの立ち上がりに対して、prcDataIn[63:
0]を有効とする。prcRead信号をアサートし続けること
で、1クロック単位でデータがリードできる。 ・prcReadEnable :IN プリンタコントローラがデータ転送動作時、Gバス/B
バスI/Fユニット(GBI)からのデータリード許可を示す信
号。Gバス/BバスI/Fユニット(GBI)から出力される。
Bclkの立ち上がりで、prcReadEnable信号がアサートさ
れていれば、次のクロックの立ち上がりで、リード可能
であることを示す。prcRead信号のアサートは、prcRead
Enable信号を確認して行う。 ・prcRegAddr[31:2] :IN Gバス/BバスI/Fユニット(GBI)からプリンタコントロ
ーラ内部のレジスタにアクセスするさいのレジスタアド
レスバス。prcRegStart_Lアサートと同時に有効とな
り、スキャナコントローラ内部レジスタへのアクセスで
あれば、prcRegAck_L信号で応答するまで有効である。 ・prcRegbyteEn[3:0] :IN Gバス/BバスI/Fユニット(GBI)から出力されるprcReg
DataIn[31:0]のバイトイネーブル信号。prcRegStart_L
アサートと同時に有効となり、prcRegAck_L信号で応答
するまで有効である。この信号で示された有効なバイト
のみレジスタへの書き込みを行う。内部レジスタからの
読み出し時は、この信号は無視し、全バイト出力する。
この信号の各ビットとprcRegDataIn[31:0]のバイトとの
対応は次の通りである。 prcRegbyteEn: 3 2 1 0 prcRegDataIn: [31:24] [25:16] [15:8] [7:0] ・prcRegStart_L :IN Gバス/BバスI/Fユニット(GBI)からプリンタコントロ
ーラ内部のレジスタにアクセスするさいのアクセス要求
信号。”Low”でレジスタのアクセス要求を示す。prcRe
gAddr[31:2]信号、prcRegRdNotWr信号とともにアサート
され、Bclk1クロック分だけアサートされる。プリンタ
コントローラが、このアクセスに対する ・prcRegAck_Lを返さない限り、次のアクセスのアサー
トはされない。 ・prcRegDataOut[31:0] :OUT Gバス/BバスI/Fユニット(GBI)からプリンタコントロ
ーラ内部のレジスタをリードアクセスする場合の32ビ
ットデータバス。prcRegAck_L信号がアサートされてい
るときに有効となる。 ・prcRegDataIn[31:0] :IN Gバス/BバスI/Fユニット(GBI)からプリンタコントロ
ーラ内部のレジスタをライトアクセスする場合の32ビ
ットデータバス。prcRegStart_Lアサートと同時に有効
となり、プリンタコントローラ内部レジスタへのアクセ
スであれば、prcRegAck_L信号で応答するまで有効であ
る。 ・prcRegRdNotWr :IN Gバス/BバスI/Fユニット(GBI)からプリンタコントロ
ーラ内部のレジスタにアクセスするさいのアクセス方向
(リードまたはライト)を示す信号。”High”でプリン
タコントローラ内部レジスタの内容がprcRegDataOut[3
1:0]に読み出され、”Low”でprcRegDataIn[31:0]の内
容がプリンタコントローラ内部レジスタに書き込まれ
る。PrcRegStart_Lアサートと同時に有効となり、プリ
ンタコントローラ内部レジスタへのアクセスであれば、
prcRegAck_L信号で応答するまで有効である。 ・prcRegAck_L :OUT プリンタコントローラ内部のレジスタアクセスが完了し
たことを示す信号。プリンタコントローラからGバス/
BバスI/Fユニット(GBI)へ出力される。BClk1クロック
分だけアサートされる。prcRegstart_L信号がアサート
された次のクロックからセンスされる。
は、Gバス/BバスI/Fユニット4301Bとプリンタ
コントローラ4303とを接続するローカルなバスであ
る。このバスに含まれる信号には次のようなものであ
る。なお、信号の入出力は、プリンタコントローラから
Gバス/BバスI/Fユニット(GBI)に出力する信号をOUT,
Gバス/BバスI/Fユニット(GBI)からプリンタコント
ローラに入力する信号をINで示す。IF-バスはスキャナ
コントローラとプリンタコントローラに対して同一規定
とするため、プリンタコントローラのサポートしない機
能のための信号も記述する。基本クロックはBバスのBc
lkを使用する。 ・prcRst0_L :IN この信号により、プリンタコントローラ内部のFIFOを初
期状態に戻す。 ・prcDataIn[63:0] :IN Gバス/BバスI/Fユニット(GBI)からプリンタコントロ
ーラに出力される64ビットのデータバスである。プリ
ンタコントローラがデータ転送動作する場合に画像デー
タが転送される。 ・prcRead :OUT プリンタコントローラがデータ転送動作するとき、Gバ
ス/BバスI/Fユニット(GBI)からのリード信号。Gバス
/BバスI/Fユニット(GBI)は、prcRead信号がアサート
されているBclkの立ち上がりに対して、prcDataIn[63:
0]を有効とする。prcRead信号をアサートし続けること
で、1クロック単位でデータがリードできる。 ・prcReadEnable :IN プリンタコントローラがデータ転送動作時、Gバス/B
バスI/Fユニット(GBI)からのデータリード許可を示す信
号。Gバス/BバスI/Fユニット(GBI)から出力される。
Bclkの立ち上がりで、prcReadEnable信号がアサートさ
れていれば、次のクロックの立ち上がりで、リード可能
であることを示す。prcRead信号のアサートは、prcRead
Enable信号を確認して行う。 ・prcRegAddr[31:2] :IN Gバス/BバスI/Fユニット(GBI)からプリンタコントロ
ーラ内部のレジスタにアクセスするさいのレジスタアド
レスバス。prcRegStart_Lアサートと同時に有効とな
り、スキャナコントローラ内部レジスタへのアクセスで
あれば、prcRegAck_L信号で応答するまで有効である。 ・prcRegbyteEn[3:0] :IN Gバス/BバスI/Fユニット(GBI)から出力されるprcReg
DataIn[31:0]のバイトイネーブル信号。prcRegStart_L
アサートと同時に有効となり、prcRegAck_L信号で応答
するまで有効である。この信号で示された有効なバイト
のみレジスタへの書き込みを行う。内部レジスタからの
読み出し時は、この信号は無視し、全バイト出力する。
この信号の各ビットとprcRegDataIn[31:0]のバイトとの
対応は次の通りである。 prcRegbyteEn: 3 2 1 0 prcRegDataIn: [31:24] [25:16] [15:8] [7:0] ・prcRegStart_L :IN Gバス/BバスI/Fユニット(GBI)からプリンタコントロ
ーラ内部のレジスタにアクセスするさいのアクセス要求
信号。”Low”でレジスタのアクセス要求を示す。prcRe
gAddr[31:2]信号、prcRegRdNotWr信号とともにアサート
され、Bclk1クロック分だけアサートされる。プリンタ
コントローラが、このアクセスに対する ・prcRegAck_Lを返さない限り、次のアクセスのアサー
トはされない。 ・prcRegDataOut[31:0] :OUT Gバス/BバスI/Fユニット(GBI)からプリンタコントロ
ーラ内部のレジスタをリードアクセスする場合の32ビ
ットデータバス。prcRegAck_L信号がアサートされてい
るときに有効となる。 ・prcRegDataIn[31:0] :IN Gバス/BバスI/Fユニット(GBI)からプリンタコントロ
ーラ内部のレジスタをライトアクセスする場合の32ビ
ットデータバス。prcRegStart_Lアサートと同時に有効
となり、プリンタコントローラ内部レジスタへのアクセ
スであれば、prcRegAck_L信号で応答するまで有効であ
る。 ・prcRegRdNotWr :IN Gバス/BバスI/Fユニット(GBI)からプリンタコントロ
ーラ内部のレジスタにアクセスするさいのアクセス方向
(リードまたはライト)を示す信号。”High”でプリン
タコントローラ内部レジスタの内容がprcRegDataOut[3
1:0]に読み出され、”Low”でprcRegDataIn[31:0]の内
容がプリンタコントローラ内部レジスタに書き込まれ
る。PrcRegStart_Lアサートと同時に有効となり、プリ
ンタコントローラ内部レジスタへのアクセスであれば、
prcRegAck_L信号で応答するまで有効である。 ・prcRegAck_L :OUT プリンタコントローラ内部のレジスタアクセスが完了し
たことを示す信号。プリンタコントローラからGバス/
BバスI/Fユニット(GBI)へ出力される。BClk1クロック
分だけアサートされる。prcRegstart_L信号がアサート
された次のクロックからセンスされる。
【0264】なお、信号prcReq0_L, prcバイトEn[7:0],
prcWrite, prcDataOut[63:0], prcReadEnableは、プリ
ンタコントローラでは未使用となる。
prcWrite, prcDataOut[63:0], prcReadEnableは、プリ
ンタコントローラでは未使用となる。
【0265】図83及び図84は、上述の信号のタイミ
ングの一例を示すタイミングダイアグラムである。図8
3はプリンタコントローラ4303へデータをDMA転送
する際のタイミングであり、図63は、プリンタコント
ローラ4303の内部レジスタに対して読み出しあるい
は書き込みを行うタイミングである。
ングの一例を示すタイミングダイアグラムである。図8
3はプリンタコントローラ4303へデータをDMA転送
する際のタイミングであり、図63は、プリンタコント
ローラ4303の内部レジスタに対して読み出しあるい
は書き込みを行うタイミングである。
【0266】(パワーマネジメント)プリンタコントロ
ーラ内部では、プリンタ・コントローラ・パワー・マネ
ジメント・コントロールレジスタ(0X1B007000)の設定
に応じたビデオクロック(VCLK)のゲートコントロールを
行い、それによりパワーマネージメントを行う。パワー
マネジメントユニット(PMU)409に出力するPMステ
ート信号(prcPmStat[1:0])の値は、Gバス/BバスI/F
ユニット4301Bから入力されるprcDmaPmState[1:0]
の状態とクロックの状態とを合わせて決定される。prcP
mState[1:0]は図85のとおりである。
ーラ内部では、プリンタ・コントローラ・パワー・マネ
ジメント・コントロールレジスタ(0X1B007000)の設定
に応じたビデオクロック(VCLK)のゲートコントロールを
行い、それによりパワーマネージメントを行う。パワー
マネジメントユニット(PMU)409に出力するPMステ
ート信号(prcPmStat[1:0])の値は、Gバス/BバスI/F
ユニット4301Bから入力されるprcDmaPmState[1:0]
の状態とクロックの状態とを合わせて決定される。prcP
mState[1:0]は図85のとおりである。
【0267】図85において、prcDmaPmState[1:0]は、
プリンタのGバス/BバスインターフェースGBI_prcの
パワー消費状態を示している。GBI_prcにはパワー消費
状態00〜11の4段階がある。この状態信号prcDmaPmState
[1:0]は、GBI_prcからプリンタコントローラへ出力さ
れている。
プリンタのGバス/BバスインターフェースGBI_prcの
パワー消費状態を示している。GBI_prcにはパワー消費
状態00〜11の4段階がある。この状態信号prcDmaPmState
[1:0]は、GBI_prcからプリンタコントローラへ出力さ
れている。
【0268】また、プリンタコントローラのパワー消費
状態は2段階あり、内部信号PPStatで示される。
状態は2段階あり、内部信号PPStatで示される。
【0269】信号prcPmstate[1:0]は、GBI_prcとプリ
ンタコントローラの2つの状態をあわせた状態を示して
いる。この信号がシステムのパワーマネージメントユニ
ットに出力される。すなわち、プリンタコントローラの
電力消費状態は4段階でパワーマネジメントユニットに
伝えられる。その段階は信号prcPmstate[1:0]の値で示
される。値00が最低レベルであり、1増えるごとに示さ
れる電力消費量は大きくなる。
ンタコントローラの2つの状態をあわせた状態を示して
いる。この信号がシステムのパワーマネージメントユニ
ットに出力される。すなわち、プリンタコントローラの
電力消費状態は4段階でパワーマネジメントユニットに
伝えられる。その段階は信号prcPmstate[1:0]の値で示
される。値00が最低レベルであり、1増えるごとに示さ
れる電力消費量は大きくなる。
【0270】2.9.3 Gバス/BバスI/Fユニッ
ト(GBI) 図92は、Gバス/BバスI/Fユニット4301のブロ
ック構成図である。Gバス/BバスI/Fユニットは、ス
キャナ及びプリンタのそれぞれに用意されているが、そ
の構成は同じであるため、ここでまとめて説明する。
ト(GBI) 図92は、Gバス/BバスI/Fユニット4301のブロ
ック構成図である。Gバス/BバスI/Fユニットは、ス
キャナ及びプリンタのそれぞれに用意されているが、そ
の構成は同じであるため、ここでまとめて説明する。
【0271】図92において、GBI4301は、GB
usと接続してこれを制御するGBusコントローラ
と、BBusと接続してこれを制御するBBusコント
ローラとを含む。これらの間には、DMAアドレスを制
御するDMAコントローラ9205のほか、機能ブロッ
クとGBus/BBusとの間をデータ転送に用いられ
るFIFO9204、種々の設定値が書き込まれるレジ
スタユニット9206が含まれる。このうち、GBUS
コントローラとFIFO9204は、GBusにあわせ
て100MHzのクロックで動作し、その他のブロック
はBBusにあわせて50MHzで動作する。
usと接続してこれを制御するGBusコントローラ
と、BBusと接続してこれを制御するBBusコント
ローラとを含む。これらの間には、DMAアドレスを制
御するDMAコントローラ9205のほか、機能ブロッ
クとGBus/BBusとの間をデータ転送に用いられ
るFIFO9204、種々の設定値が書き込まれるレジ
スタユニット9206が含まれる。このうち、GBUS
コントローラとFIFO9204は、GBusにあわせ
て100MHzのクロックで動作し、その他のブロック
はBBusにあわせて50MHzで動作する。
【0272】GBI4301は、GBusとBBusの
両方に接続されるべき機能ブロック(SCC:スキャナ
コントローラとPRC:プリンタコントローラ)の、G
BusとBBusの選択的接続及び、両バスのインター
フェースを提供する。GBIと各機能ブロックの間は、
IFBus9201で接続される。機能ブロックでは、
データの入出力先がGBusかBBusかを意識する必
要はない。また、GBI側でDMAをサポートするの
で、機能ブロック側でアドレスを発生する必要もない。
GBIは、各機能ブロックで共通に必要となる機能をま
とめて、独立のユニットにしたものである。
両方に接続されるべき機能ブロック(SCC:スキャナ
コントローラとPRC:プリンタコントローラ)の、G
BusとBBusの選択的接続及び、両バスのインター
フェースを提供する。GBIと各機能ブロックの間は、
IFBus9201で接続される。機能ブロックでは、
データの入出力先がGBusかBBusかを意識する必
要はない。また、GBI側でDMAをサポートするの
で、機能ブロック側でアドレスを発生する必要もない。
GBIは、各機能ブロックで共通に必要となる機能をま
とめて、独立のユニットにしたものである。
【0273】GBIがサポートするIFBus9201
に接続される機能ブロックは、連続したデータを受け取
る、あるいは送り出すものとする。IFBusにアドレ
ス信号は含まれていない。GBIでは、Channel
0(GBus/BBus→IFBus0)とChann
el1(GBus/BBus→IFBus1)の2つの
チャネルが用意され、それぞれに、DMAコントローラ
が用意されている。ただし、スキャナコントローラで
は、Channel0のみを、プリンタコントローラで
は、Channel1のみを使用(実装)する。
に接続される機能ブロックは、連続したデータを受け取
る、あるいは送り出すものとする。IFBusにアドレ
ス信号は含まれていない。GBIでは、Channel
0(GBus/BBus→IFBus0)とChann
el1(GBus/BBus→IFBus1)の2つの
チャネルが用意され、それぞれに、DMAコントローラ
が用意されている。ただし、スキャナコントローラで
は、Channel0のみを、プリンタコントローラで
は、Channel1のみを使用(実装)する。
【0274】DMAコントローラ9205は、I/O
(アドレス固定)とメモリに対する設定が可能で、メモ
リの場合は、連続物理アドレスとチェーンテーブル方式
(後述)のDMAが設定できる。
(アドレス固定)とメモリに対する設定が可能で、メモ
リの場合は、連続物理アドレスとチェーンテーブル方式
(後述)のDMAが設定できる。
【0275】GBIは、データを、FIFOを介して機
能ブロックと入出力する。したがって、GBIがスレー
ブモードとして動作する場合、GBIのアドレスは、G
Bus側が、0x18n0_0000〜0x18n0_
007F、BBus側が、0x19n0_0000〜0
x19n0_001Fのみで同じロケーションがアクセ
スされる。FIFOを使用しているため、バースト転送
時のラップアラウンドに対応するのが困難である。BB
usのラップアラウンドを伴うバースト転送要求に対し
ては、シングルアクセスとして応答する。GBusのラ
ップアラウンドを伴う転送要求に対しては応答しない。
能ブロックと入出力する。したがって、GBIがスレー
ブモードとして動作する場合、GBIのアドレスは、G
Bus側が、0x18n0_0000〜0x18n0_
007F、BBus側が、0x19n0_0000〜0
x19n0_001Fのみで同じロケーションがアクセ
スされる。FIFOを使用しているため、バースト転送
時のラップアラウンドに対応するのが困難である。BB
usのラップアラウンドを伴うバースト転送要求に対し
ては、シングルアクセスとして応答する。GBusのラ
ップアラウンドを伴う転送要求に対しては応答しない。
【0276】なお、GBI間で画像データのDMA転送
を行う場合には、それぞれのDMAコントローラにより
制御が行われる。この際に、いずれの側がマスタになる
かは特に決めないが、よりデータ転送のタイミングが厳
格な方がマスタになることが望ましい。このため、本実
施例では、GBI_PRCをマスタにし、GBI_SCCをスレーブに
してDMA転送を行っている。
を行う場合には、それぞれのDMAコントローラにより
制御が行われる。この際に、いずれの側がマスタになる
かは特に決めないが、よりデータ転送のタイミングが厳
格な方がマスタになることが望ましい。このため、本実
施例では、GBI_PRCをマスタにし、GBI_SCCをスレーブに
してDMA転送を行っている。
【0277】GBI(GBus/BBusインターフェ
ース)は、 1.機能ブロックとのデータの受け渡しをするFifo
ユニット 2.GBusに直結され、GBusとFifoユニット
をつなぐGBusコントローラ9202 3.BBusに直結され、BBusとFifoユニット
をつなぐBBusコントローラ9203 4.マスタモードの時に、DMA転送要求を各バスコン
トローラに発行するDMAコントローラ9205 5.レジスタの内容を保持し、各ブロックに信号を送る
レジスタユニット9206 から構成される。レジスタユニット内には、割込み制
御、パワー制御部も含んでいる。以下に、各部の説明を
する。
ース)は、 1.機能ブロックとのデータの受け渡しをするFifo
ユニット 2.GBusに直結され、GBusとFifoユニット
をつなぐGBusコントローラ9202 3.BBusに直結され、BBusとFifoユニット
をつなぐBBusコントローラ9203 4.マスタモードの時に、DMA転送要求を各バスコン
トローラに発行するDMAコントローラ9205 5.レジスタの内容を保持し、各ブロックに信号を送る
レジスタユニット9206 から構成される。レジスタユニット内には、割込み制
御、パワー制御部も含んでいる。以下に、各部の説明を
する。
【0278】(Fifoユニット)図93に示したFi
foユニットは、GBus/BBusとIFBusとの
間の転送データのバッファとなる部分である。Fifo
ユニットは、互いに独立したFifoユニット0とFi
foユニット1とから構成される。Fifoユニット0
はIFBusからのデータ入力及びGBusあるいはB
Busへのデータ出力のために用いられ、Fifoユニ
ット1はGBusあるいはBBusからのデータ入力及
びIFBusへのデータ出力のために用いられる。
foユニットは、GBus/BBusとIFBusとの
間の転送データのバッファとなる部分である。Fifo
ユニットは、互いに独立したFifoユニット0とFi
foユニット1とから構成される。Fifoユニット0
はIFBusからのデータ入力及びGBusあるいはB
Busへのデータ出力のために用いられ、Fifoユニ
ット1はGBusあるいはBBusからのデータ入力及
びIFBusへのデータ出力のために用いられる。
【0279】信号scGbiFifo0ClkあるいはscGbiFifo1Clk
はゲーテッドクロックで、クロックを止めることで省電
力モードを実現する。このクロックは、GBI FIF
Oレジスタをライトすることにより停止し、マスタモー
ドかスレーブモードに入る時に自動的に起動する。
はゲーテッドクロックで、クロックを止めることで省電
力モードを実現する。このクロックは、GBI FIF
Oレジスタをライトすることにより停止し、マスタモー
ドかスレーブモードに入る時に自動的に起動する。
【0280】[Fifoユニット0]Fifoユニット
0は、IFBus0(IFBusの仕様については後
述)からのデータをFifoに書き込み、GBus/B
Busに送り出す。信号ifDataOutB[63:0]、ifWriteB、
ifWriteEnableGは、IFBusと接続される。
0は、IFBus0(IFBusの仕様については後
述)からのデータをFifoに書き込み、GBus/B
Busに送り出す。信号ifDataOutB[63:0]、ifWriteB、
ifWriteEnableGは、IFBusと接続される。
【0281】このFifoユニット0が有するFifo
0は、IFBusからの64ビットデータを入力とし、
GBus用の64ビットデータDataOut64とB
Bus用の32ビットデータDataOut32を出力
する、64ビット×17段のFifoである。
0は、IFBusからの64ビットデータを入力とし、
GBus用の64ビットデータDataOut64とB
Bus用の32ビットデータDataOut32を出力
する、64ビット×17段のFifoである。
【0282】Fifoユニット0から出力されるステー
タス信号には次のような信号がある。 ・Fifo0EnableB1G:Fifo0Unit
からBBusへ1ワード(32ビット)転送可能である
ことを示す。マスタモードの時はDMAコントローラ
が、スレーブモードの時にはBBusコントローラが使
用する。 ・Fifo0EnableB4G:Fifo0Unit
からBBusへ4ワード連続転送可能であることを示
す。マスタモードの時はDMAコントローラが、スレー
ブモードの時にはBBusコントローラが使用する。 ・Fifo0EnableB8G:Fifo0Unit
からBBusへ8ワード連続転送可能であることを示
す。マスタモードの時はDMAコントローラが、スレー
ブモードの時にはBBusコントローラが使用する。 ・Fifo0EnableG4G:Fifo0Unit
からGBusへ4ワード(1ワードは64ビット)連続
転送可能であることを示す。マスタモードの時はDMA
コントローラが、スレーブモードの時にはGBusコン
トローラが使用する。 ・Fifo0EnableG16G:Fifo0Uni
tからGBusへ16ワード連続転送可能であることを
示す。マスタモードの時はDMAコントローラが、スレ
ーブモードの時にはGBusコントローラが使用する。 ・ifWriteEnable:Fifo0がFull
状態でないことを示す。IFBusと接続され、機能ブ
ロックにライト可能であることを伝える。
タス信号には次のような信号がある。 ・Fifo0EnableB1G:Fifo0Unit
からBBusへ1ワード(32ビット)転送可能である
ことを示す。マスタモードの時はDMAコントローラ
が、スレーブモードの時にはBBusコントローラが使
用する。 ・Fifo0EnableB4G:Fifo0Unit
からBBusへ4ワード連続転送可能であることを示
す。マスタモードの時はDMAコントローラが、スレー
ブモードの時にはBBusコントローラが使用する。 ・Fifo0EnableB8G:Fifo0Unit
からBBusへ8ワード連続転送可能であることを示
す。マスタモードの時はDMAコントローラが、スレー
ブモードの時にはBBusコントローラが使用する。 ・Fifo0EnableG4G:Fifo0Unit
からGBusへ4ワード(1ワードは64ビット)連続
転送可能であることを示す。マスタモードの時はDMA
コントローラが、スレーブモードの時にはGBusコン
トローラが使用する。 ・Fifo0EnableG16G:Fifo0Uni
tからGBusへ16ワード連続転送可能であることを
示す。マスタモードの時はDMAコントローラが、スレ
ーブモードの時にはGBusコントローラが使用する。 ・ifWriteEnable:Fifo0がFull
状態でないことを示す。IFBusと接続され、機能ブ
ロックにライト可能であることを伝える。
【0283】また、Fifo0からのGBusの64ビ
ットデータのリードは、Fifo0に入力されている信
号Rd64を使い、BBusの32ビットデータのリー
ドは、信号Rd32を使う。どちらのリードによって
も、ステータス信号及び、Fifo0からの出力データ
であるDataOut64とDataOut32は更新
される。
ットデータのリードは、Fifo0に入力されている信
号Rd64を使い、BBusの32ビットデータのリー
ドは、信号Rd32を使う。どちらのリードによって
も、ステータス信号及び、Fifo0からの出力データ
であるDataOut64とDataOut32は更新
される。
【0284】(B2Gブロック)I/Fバス及びBBu
sのクロックは50MHzであり、GBusのクロック
は100MHzである。このため、Fifoユニット0
に含まれる不図示のB2Gなるブロックにより、IFB
usクロックに同期した書込み信号ifWriteFi
foB、あるいはBBUsクロックに同期した読出し信
号bReadFifoBの1クロック分を、Fifoユ
ニットのクロック(IFBusの2倍の周波数)のクロ
ックに変換する。
sのクロックは50MHzであり、GBusのクロック
は100MHzである。このため、Fifoユニット0
に含まれる不図示のB2Gなるブロックにより、IFB
usクロックに同期した書込み信号ifWriteFi
foB、あるいはBBUsクロックに同期した読出し信
号bReadFifoBの1クロック分を、Fifoユ
ニットのクロック(IFBusの2倍の周波数)のクロ
ックに変換する。
【0285】(ChkIllegalブロック)Fif
o0は、GBus/BBusにより共有される。マスタ
ーモードでは、DMAコントローラがGBus/BBu
sの排他使用を制御しているが、スレーブモードでは、
DMAマスターが排他使用を制御しなければならない。
このため、Fifoユニット0に含まれるChkIll
egalブロックでは、GBusとBBusから同時に
Fifo0にアクセスされた場合に、信号fifoEr
rorGをアサートする。すなわち、Gbusからの読
出し信号gReadFisoG、あるいはBBusから
の読出し信号bReadFisoBが同時にアサートさ
れると、信号fifoErrorGをアサートする。こ
の信号は、レジスタユニットでラッチされ、マスクされ
ていなければ、割り込みを発生する。
o0は、GBus/BBusにより共有される。マスタ
ーモードでは、DMAコントローラがGBus/BBu
sの排他使用を制御しているが、スレーブモードでは、
DMAマスターが排他使用を制御しなければならない。
このため、Fifoユニット0に含まれるChkIll
egalブロックでは、GBusとBBusから同時に
Fifo0にアクセスされた場合に、信号fifoEr
rorGをアサートする。すなわち、Gbusからの読
出し信号gReadFisoG、あるいはBBusから
の読出し信号bReadFisoBが同時にアサートさ
れると、信号fifoErrorGをアサートする。こ
の信号は、レジスタユニットでラッチされ、マスクされ
ていなければ、割り込みを発生する。
【0286】[Fifoユニット1]Fifoユニット
1は、GBus/BBusからのデータを内蔵するFi
fo1に書き込み、IFBus1に送り出す。ifDa
taIng[63:0],ifByteEnG[7:
0],ifReadB,ifReadEnableG
は、IFBusと接続される。
1は、GBus/BBusからのデータを内蔵するFi
fo1に書き込み、IFBus1に送り出す。ifDa
taIng[63:0],ifByteEnG[7:
0],ifReadB,ifReadEnableG
は、IFBusと接続される。
【0287】Fifoユニット1では、マスタモードで
の逆方向DMAに対応するために、Fifo1の前段に
フロントバッファを設けてある。逆方向DMA(入力信
号reverseMODEがイネーブル)の時には、フ
ロントバッファにいったんバッファしてから、逆順でF
IFOにデータを送り出す。それ以外のモード(信号r
everseMODEがディスエーブル)の時には、通
常のFIFOとして機能する。
の逆方向DMAに対応するために、Fifo1の前段に
フロントバッファを設けてある。逆方向DMA(入力信
号reverseMODEがイネーブル)の時には、フ
ロントバッファにいったんバッファしてから、逆順でF
IFOにデータを送り出す。それ以外のモード(信号r
everseMODEがディスエーブル)の時には、通
常のFIFOとして機能する。
【0288】(フロントバッファ)GBusまたは、B
Busからのデータを入力とし、Fifo1へ出力す
る、バイトイネーブル付き64+4ビット×4段のバッ
ファである。BBusからの書き込みでは、データはバ
イトイネーブル信号とともに書き込まれる。GBusか
らの書き込みでは、バイトイネーブルをすべて有効と
し、データが書き込まれる。BBusからの書き込みで
の64ビットへのパッキングは行わない。
Busからのデータを入力とし、Fifo1へ出力す
る、バイトイネーブル付き64+4ビット×4段のバッ
ファである。BBusからの書き込みでは、データはバ
イトイネーブル信号とともに書き込まれる。GBusか
らの書き込みでは、バイトイネーブルをすべて有効と
し、データが書き込まれる。BBusからの書き込みで
の64ビットへのパッキングは行わない。
【0289】ステータス信号として、フロントバッファ
が空状態であることを示す信号BufEmptyが設け
られている。
が空状態であることを示す信号BufEmptyが設け
られている。
【0290】逆方向DMAの時には、信号revers
eMODEがイネーブルであり、転送モードは、DMA
コントローラで、GBusの4beatバースト転送、
あるいはBBusのシングル転送のみに制限される。G
Busの4beatバースト転送のデータは、一度フロ
ントバッファに貯めてから、逆順にして、Fifo1に
データを送り出す(32ビット単位で逆順にする)。
eMODEがイネーブルであり、転送モードは、DMA
コントローラで、GBusの4beatバースト転送、
あるいはBBusのシングル転送のみに制限される。G
Busの4beatバースト転送のデータは、一度フロ
ントバッファに貯めてから、逆順にして、Fifo1に
データを送り出す(32ビット単位で逆順にする)。
【0291】それ以外のモードの時には、信号reve
rseMODEがディスエーブルであり、4段のFIF
Oとして機能する。入力信号dummyWriteFi
fo1Bは一度ラッチされ、フロントバッファが空にな
った時点で、Fifo1に送られる。
rseMODEがディスエーブルであり、4段のFIF
Oとして機能する。入力信号dummyWriteFi
fo1Bは一度ラッチされ、フロントバッファが空にな
った時点で、Fifo1に送られる。
【0292】(Fifo1)Fifo1は、フロントバ
ッファからのデータを入力とし、入力されたデータをI
FBusへ出力する、バイトイネーブル付き64+8ビ
ット×16段のFifoである。BBusからのデータ
は、バイトイネーブル信号とともに書き込まれる。GB
usからのデータは、バイトイネーブルをすべて有効と
し、書き込まれる。BBusからのデータの書き込みで
は、64ビットへのパッキングを行う。
ッファからのデータを入力とし、入力されたデータをI
FBusへ出力する、バイトイネーブル付き64+8ビ
ット×16段のFifoである。BBusからのデータ
は、バイトイネーブル信号とともに書き込まれる。GB
usからのデータは、バイトイネーブルをすべて有効と
し、書き込まれる。BBusからのデータの書き込みで
は、64ビットへのパッキングを行う。
【0293】Fifo1の内部状態と、フロントバッフ
ァのBufEmpry信号を基に、以下のステータス信
号を設けている。 ・Fifo1EnableB1G:Fifoユニット1
へBBusから2ワード(32ビット)転送可能である
ことを示す。Fifo1にBBus1ワード以上の空き
があるか、フロントバッファが空の時に、イネーブルと
なる。 ・Fifo1EnableB4G:Fifoユニット1
へBBusから8ワード連続転送可能であることを示
す。Fifo1にBBus4ワード以上の空きがある
か、フロントバッファが空の時に、イネーブルとなる。 ・Fifo1EnableB8G:Fifoユニット1
へBBusから12ワード連続転送可能であることを示
す。Fifo1にBBus8ワード以上の空きがある
か、Fifo1にBBus4ワード以上の空きがあり、
かつフロントバッファが空の時に、イネーブルとなる。 ・Fifo1EnableG4G:Fifoユニット1
へGBusから4ワード(1ワードは64ビット)連続
転送可能であることを示す。Fifo1にGBus4ワ
ード以上の空きがあるか、フロントが空の時に、イネー
ブルとなる。 ・Fifo1EnableG16G:Fifoユニット
1へGBusから16ワード連続転送可能であることを
示す。Fifo1が空であるか、Fifo1にGBus
12ワード以上の空きがあり、かつフロントバッファが
空の時に、イネーブルとなる。 ・ifReadEnable:Fifo1が空状態でな
いことを示す。IFBusと接続され、機能ブロックに
リード可能であることを伝える。
ァのBufEmpry信号を基に、以下のステータス信
号を設けている。 ・Fifo1EnableB1G:Fifoユニット1
へBBusから2ワード(32ビット)転送可能である
ことを示す。Fifo1にBBus1ワード以上の空き
があるか、フロントバッファが空の時に、イネーブルと
なる。 ・Fifo1EnableB4G:Fifoユニット1
へBBusから8ワード連続転送可能であることを示
す。Fifo1にBBus4ワード以上の空きがある
か、フロントバッファが空の時に、イネーブルとなる。 ・Fifo1EnableB8G:Fifoユニット1
へBBusから12ワード連続転送可能であることを示
す。Fifo1にBBus8ワード以上の空きがある
か、Fifo1にBBus4ワード以上の空きがあり、
かつフロントバッファが空の時に、イネーブルとなる。 ・Fifo1EnableG4G:Fifoユニット1
へGBusから4ワード(1ワードは64ビット)連続
転送可能であることを示す。Fifo1にGBus4ワ
ード以上の空きがあるか、フロントが空の時に、イネー
ブルとなる。 ・Fifo1EnableG16G:Fifoユニット
1へGBusから16ワード連続転送可能であることを
示す。Fifo1が空であるか、Fifo1にGBus
12ワード以上の空きがあり、かつフロントバッファが
空の時に、イネーブルとなる。 ・ifReadEnable:Fifo1が空状態でな
いことを示す。IFBusと接続され、機能ブロックに
リード可能であることを伝える。
【0294】信号Fifo1EnableB1G、Fi
fo1EnableB4G、Fifo1EnableB
8Gは、マスタモード時にはDMAコントローラが、ス
レーブモード時にはBBusコントローラが使用する。
fo1EnableB4G、Fifo1EnableB
8Gは、マスタモード時にはDMAコントローラが、ス
レーブモード時にはBBusコントローラが使用する。
【0295】信号Fifo1EnableG4G、Fi
fo1EnableG16Gは、マスタモード時にはD
MAコントローラが、スレーブモード時にはGBusコ
ントローラが使用する。
fo1EnableG16Gは、マスタモード時にはD
MAコントローラが、スレーブモード時にはGBusコ
ントローラが使用する。
【0296】また、Fifoユニット1は、Fifoユ
ニット0と同じく、B2Gブロック及びChkIlle
galブロックを備えている。
ニット0と同じく、B2Gブロック及びChkIlle
galブロックを備えている。
【0297】(GBusコントローラ)図94は、Gb
usコントローラ9202のブロック図である。Gbu
sコントローラ9202は、GBIがバスマスタとなっ
てGBusを制御するためのGBusマスタコントロー
ラと、スレーブとなった際の制御を行うためのGBus
スレーブコントローラと、データを制御するためのGB
usデータコントローラと、GBusインターフェース
バッファとを含む。この構成により、GBI4301
は、GBusのマスタあるいはスレーブとして動作する
ことができる。
usコントローラ9202のブロック図である。Gbu
sコントローラ9202は、GBIがバスマスタとなっ
てGBusを制御するためのGBusマスタコントロー
ラと、スレーブとなった際の制御を行うためのGBus
スレーブコントローラと、データを制御するためのGB
usデータコントローラと、GBusインターフェース
バッファとを含む。この構成により、GBI4301
は、GBusのマスタあるいはスレーブとして動作する
ことができる。
【0298】[GBusマスタ動作]GBusコントロ
ーラは、GBusマスタコントローラにより、以下のよ
うな手順でGBusマスタとしての制御を行う。
ーラは、GBusマスタコントローラにより、以下のよ
うな手順でGBusマスタとしての制御を行う。
【0299】1.DMAコントローラからの要求 DMAコントローラ9205は、チャネルNの転送が可
能な段階で、gMReq(N)信号を、gMAddr
(N)[31:5]信号、gMBst4Not16_N
信号とともに、bClk(Bbusクロック信号)で1
クロックだけアサートして、DMA転送を要求する。
能な段階で、gMReq(N)信号を、gMAddr
(N)[31:5]信号、gMBst4Not16_N
信号とともに、bClk(Bbusクロック信号)で1
クロックだけアサートして、DMA転送を要求する。
【0300】gMAddr(N)[31:5]信号、g
MBst4Not16_N信号は、GBusマスタコン
トローラによりgMDone(N)信号、gMRtry
(N)信号、gMBErr(N)信号のいずれかがアサ
ートされるまで、変化させてはいけない。
MBst4Not16_N信号は、GBusマスタコン
トローラによりgMDone(N)信号、gMRtry
(N)信号、gMBErr(N)信号のいずれかがアサ
ートされるまで、変化させてはいけない。
【0301】2.GBusアービタへの転送要求 gMReq(N)信号は、GBusマスタリクエストイ
ンターフェースでラッチされる(gLatchReq
(N)信号)。
ンターフェースでラッチされる(gLatchReq
(N)信号)。
【0302】各チャネルのgLatchReq信号は、
不図示のGBusマスタリクエストアービタで調停さ
れ、GBusアービタ406に対し、DMA要求信号g
Req_L信号をアサートすると同時に、GBusマス
タアドレスフェーズに、gIntReq(N)信号を送
る。
不図示のGBusマスタリクエストアービタで調停さ
れ、GBusアービタ406に対し、DMA要求信号g
Req_L信号をアサートすると同時に、GBusマス
タアドレスフェーズに、gIntReq(N)信号を送
る。
【0303】3.GBusアービタからの転送許可 GBusアービタ406からのDMA許可信号gGnt
_L信号がアサートされると、GBusマスタアドレス
フェーズから、信号GGntSenseがアサートさ
れ、DMA要求信号gReq_Lはネゲートされる。同
時に、gLatchReq(N)信号とgIntReq
(N)信号はネゲートされる。GBusマスタリクエス
トインターフェースは、信号gSlvBsyを監視し、
データバスが使用可能になると、GMDataRq
(N)信号をアサートする。この信号は、GBusマス
タジェネレートエンドデータとGBusデータコントロ
ーラに送られる。 4.GBusデータ転送 スレーブのgAack信号を確認すると、データ転送を
開始する。EndData以外のGBusの信号は、G
Busマスタアドレスフェーズで生成される。EndD
ataは、GBusマスタジェネレートエンドデータで
生成される。GBusからFifoあるいは、Fifo
からGBusへのデータの移動は、GMDataRq
(N)信号により、GBusデータコントローラが行
う。なお、gAack信号の前にgRtry信号を検出
すると、GBusデータコントローラはデータ転送を行
わない。 5.GBusデータ転送終了(あるいはリトライ) GBusマスタジェネレートエンドデータは、GBus
データ転送の終了を、checkBErr信号によりG
Busマスタリクエストインターフェースへ伝える。そ
の信号を受けたGBusマスタリクエストインターフェ
ースは、内部で保持している要求をクリアすると同時
に、バスエラーがなければ、gMDone信号をアサー
トする。バスエラーを検出した場合には、gMBErr
信号をアサートし、DMAコントローラ9205に転送
が完了したことを伝える。
_L信号がアサートされると、GBusマスタアドレス
フェーズから、信号GGntSenseがアサートさ
れ、DMA要求信号gReq_Lはネゲートされる。同
時に、gLatchReq(N)信号とgIntReq
(N)信号はネゲートされる。GBusマスタリクエス
トインターフェースは、信号gSlvBsyを監視し、
データバスが使用可能になると、GMDataRq
(N)信号をアサートする。この信号は、GBusマス
タジェネレートエンドデータとGBusデータコントロ
ーラに送られる。 4.GBusデータ転送 スレーブのgAack信号を確認すると、データ転送を
開始する。EndData以外のGBusの信号は、G
Busマスタアドレスフェーズで生成される。EndD
ataは、GBusマスタジェネレートエンドデータで
生成される。GBusからFifoあるいは、Fifo
からGBusへのデータの移動は、GMDataRq
(N)信号により、GBusデータコントローラが行
う。なお、gAack信号の前にgRtry信号を検出
すると、GBusデータコントローラはデータ転送を行
わない。 5.GBusデータ転送終了(あるいはリトライ) GBusマスタジェネレートエンドデータは、GBus
データ転送の終了を、checkBErr信号によりG
Busマスタリクエストインターフェースへ伝える。そ
の信号を受けたGBusマスタリクエストインターフェ
ースは、内部で保持している要求をクリアすると同時
に、バスエラーがなければ、gMDone信号をアサー
トする。バスエラーを検出した場合には、gMBErr
信号をアサートし、DMAコントローラ9205に転送
が完了したことを伝える。
【0304】また、gRtry信号を検出すると、GB
usマスタリクエストインターフェースは、内部で保持
している要求をクリアすると同時に、gMRtry信号
をアサートする。
usマスタリクエストインターフェースは、内部で保持
している要求をクリアすると同時に、gMRtry信号
をアサートする。
【0305】DMAコントローラ49205は、GBu
sコントローラ9202から受けた信号がgMDone
信号であれば、転送アドレスや転送長等を更新する。受
けた信号がgMRtry信号であれば、それらを更新せ
ずに、次のアクションを起こす。gMBErr信号の時
には、DMAコントローラ9202は転送を中止し、マ
スクされていなければ、割り込みを発生する。
sコントローラ9202から受けた信号がgMDone
信号であれば、転送アドレスや転送長等を更新する。受
けた信号がgMRtry信号であれば、それらを更新せ
ずに、次のアクションを起こす。gMBErr信号の時
には、DMAコントローラ9202は転送を中止し、マ
スクされていなければ、割り込みを発生する。
【0306】[GBusスレーブ動作]GBusコント
ローラは、GBusスレーブコントローラにより、以下
のような手順でGBusスレーブとしての制御を行う。 1.マスタからの転送要求 GBusスレーブリクエストインターフェースでは、g
TsReg信号アサートのタイミングで、gAddrR
eg信号とgRdNotWrReg信号(チャネル0か
1)を確認する。GBIへのアクセスで、gSEnab
le(N)信号(スレーブモード:レジスタにより設
定)がアサートされていれば、gBst4Not16信
号とReadFifoEnable4/16信号(チャ
ネル0)かWriteFifoEnable4/16信
号(チャネル1)から、転送可能か判断する。可能であ
れば、gAack信号を、そうでなければ、gRtry
信号をアサートする。 2.GBusデータ転送 転送可能であれば、GBusスレーブリクエストインタ
ーフェースは、gSlvBsy信号のネゲートを確認
し、gAack信号をアサートし、そのタイミングを、
GSlvStart信号でGBusスレーブリクエスト
スレーブビジーに伝える。また、GBusスレーブリク
エストインターフェースは、データの転送開始を、GS
DataRq(N)信号をアサートすることでGBus
データコントローラに伝える。GBusからFifoあ
るいは、FifoからGBusへのデータの移動は、G
Busデータコントローラが行う。GBusスレーブリ
クエストスレーブビジーは、gSlvBsy信号を生成
する。 3.GBusデータ転送終了 転送終了を示す信号は特にない。gBErr信号をアサ
ートすることもない。ただし、gSEnable(N)
信号がネゲートしてあれば、マスタのアクセスに対して
応答しないので、タイムアウトによるバスエラーが発生
する。
ローラは、GBusスレーブコントローラにより、以下
のような手順でGBusスレーブとしての制御を行う。 1.マスタからの転送要求 GBusスレーブリクエストインターフェースでは、g
TsReg信号アサートのタイミングで、gAddrR
eg信号とgRdNotWrReg信号(チャネル0か
1)を確認する。GBIへのアクセスで、gSEnab
le(N)信号(スレーブモード:レジスタにより設
定)がアサートされていれば、gBst4Not16信
号とReadFifoEnable4/16信号(チャ
ネル0)かWriteFifoEnable4/16信
号(チャネル1)から、転送可能か判断する。可能であ
れば、gAack信号を、そうでなければ、gRtry
信号をアサートする。 2.GBusデータ転送 転送可能であれば、GBusスレーブリクエストインタ
ーフェースは、gSlvBsy信号のネゲートを確認
し、gAack信号をアサートし、そのタイミングを、
GSlvStart信号でGBusスレーブリクエスト
スレーブビジーに伝える。また、GBusスレーブリク
エストインターフェースは、データの転送開始を、GS
DataRq(N)信号をアサートすることでGBus
データコントローラに伝える。GBusからFifoあ
るいは、FifoからGBusへのデータの移動は、G
Busデータコントローラが行う。GBusスレーブリ
クエストスレーブビジーは、gSlvBsy信号を生成
する。 3.GBusデータ転送終了 転送終了を示す信号は特にない。gBErr信号をアサ
ートすることもない。ただし、gSEnable(N)
信号がネゲートしてあれば、マスタのアクセスに対して
応答しないので、タイムアウトによるバスエラーが発生
する。
【0307】(BBusコントローラ)図95は、BB
usコントローラ9203のブロック図である。BBu
sコントローラ9203は、BBusマスタコントロー
ラと、BBusデータコントローラ、BBusスレーブ
コントローラ及びBBusインターフェースバッファを
含む。この構成により、GBI4301は、BBusの
マスタあるいはスレーブとして動作することができる。
usコントローラ9203のブロック図である。BBu
sコントローラ9203は、BBusマスタコントロー
ラと、BBusデータコントローラ、BBusスレーブ
コントローラ及びBBusインターフェースバッファを
含む。この構成により、GBI4301は、BBusの
マスタあるいはスレーブとして動作することができる。
【0308】[BBusマスタ動作] 1.DMAコントローラからの要求 DMAコントローラ9205は、チャネルNの転送が可
能な段階で、bMReq(N)信号を、bMAddr
(N)[31:2]信号、bMBurst8n)信号、
bMBst4Not8_N信号とともに、BBusクロ
ック信号bClkで1クロックだけアサートする。ま
た、チェーンDMAモードでチェーンテーブルの読み込
みが必要な段階で、cMReq(N)信号を、cMAd
dr(N)[31:2]信号とともに、bClkで1ク
ロックだけアサートする。チェーンテーブルの読み込み
では、BBusのバースト転送を使用しない。こうし
て、DMAコントローラからBBusのDMA転送が要
求される。
能な段階で、bMReq(N)信号を、bMAddr
(N)[31:2]信号、bMBurst8n)信号、
bMBst4Not8_N信号とともに、BBusクロ
ック信号bClkで1クロックだけアサートする。ま
た、チェーンDMAモードでチェーンテーブルの読み込
みが必要な段階で、cMReq(N)信号を、cMAd
dr(N)[31:2]信号とともに、bClkで1ク
ロックだけアサートする。チェーンテーブルの読み込み
では、BBusのバースト転送を使用しない。こうし
て、DMAコントローラからBBusのDMA転送が要
求される。
【0309】bMAddr(N)[31:2]信号,b
MBurst(N)信号,bMBst4Not8_N信
号は、Fifoにアクセスを開始する(bReadFi
fo、bWriteFifoがアサートされる)まで変
化させてはいけない。
MBurst(N)信号,bMBst4Not8_N信
号は、Fifoにアクセスを開始する(bReadFi
fo、bWriteFifoがアサートされる)まで変
化させてはいけない。
【0310】また、cMAddr(N)[31:2]信
号は、cMDone(N)信号,cMrtry(N)信
号,cMBErr(N)信号のいずれかがアサートされ
るまで変化させてはいけない。
号は、cMDone(N)信号,cMrtry(N)信
号,cMBErr(N)信号のいずれかがアサートされ
るまで変化させてはいけない。
【0311】2.BBusアービタへの転送要求 BBusbMReq(N)信号及びcMReq(N)信
号は、BBusマスタリクエストインターフェースでラ
ッチされる(bLatchReq(N)信号及びcLa
tchReq(N)信号)。各要求信号は、BBusマ
スタリクエストアービタで調停され、BBusアービタ
407に対してbBReq_L信号がアサートされる。
号は、BBusマスタリクエストインターフェースでラ
ッチされる(bLatchReq(N)信号及びcLa
tchReq(N)信号)。各要求信号は、BBusマ
スタリクエストアービタで調停され、BBusアービタ
407に対してbBReq_L信号がアサートされる。
【0312】3.BBusアービタからの転送許可 BBusアービタからの許可信号であるbBGnt_L
信号がアサートされると、BBusマスタリクエストア
ービタから、対応する要求元のBBusマスタリクエス
トインターフェースに、BGnt(N)信号あるいはC
Gnt(N)信号を送り、bBGnt_L信号はネゲー
トされる。BBusマスタリクエストインターフェース
は、bLatchReq(N)信号あるいはcLatc
hReq(N)信号をネゲートし、bTx信号とbSn
oopWait信号を監視し、転送可能な状態になる
と、BMDataRq(N)信号及びCMDataRq
(N)信号をアサートする。この信号は、BBusマス
タシーケンサとBBusデータコントローラに送られ
る。
信号がアサートされると、BBusマスタリクエストア
ービタから、対応する要求元のBBusマスタリクエス
トインターフェースに、BGnt(N)信号あるいはC
Gnt(N)信号を送り、bBGnt_L信号はネゲー
トされる。BBusマスタリクエストインターフェース
は、bLatchReq(N)信号あるいはcLatc
hReq(N)信号をネゲートし、bTx信号とbSn
oopWait信号を監視し、転送可能な状態になる
と、BMDataRq(N)信号及びCMDataRq
(N)信号をアサートする。この信号は、BBusマス
タシーケンサとBBusデータコントローラに送られ
る。
【0313】4.BBusデータ転送 BBusマスタシーケンサは、BBusマスタがドライ
ブすべきデータ以外のBBusの信号をすべて生成す
る。BMDataRq(N)信号あるいはCMData
Rq(N)信号をトリガにして、bStartOut_
L(バーストモードであれば、同時にbBurstOu
t_L)をアサートし、bRdy(バーストモードであ
れば、bBurstAck)をチェックし、転送終了を
検出する。BBusからFifo、あるいはFifoか
らBBusへのデータの移動は、BMDataRq
(N)信号により、BBusデータコントローラが行
う。
ブすべきデータ以外のBBusの信号をすべて生成す
る。BMDataRq(N)信号あるいはCMData
Rq(N)信号をトリガにして、bStartOut_
L(バーストモードであれば、同時にbBurstOu
t_L)をアサートし、bRdy(バーストモードであ
れば、bBurstAck)をチェックし、転送終了を
検出する。BBusからFifo、あるいはFifoか
らBBusへのデータの移動は、BMDataRq
(N)信号により、BBusデータコントローラが行
う。
【0314】なお、bRdy信号の前(あるいは同時
に)にbRetry信号を検出すると、BBusデータ
コントローラはデータ転送を行わない。
に)にbRetry信号を検出すると、BBusデータ
コントローラはデータ転送を行わない。
【0315】5.BBusデータ転送終了(あるいは、
リトライ、バスエラー) BBusデータコントローラは、BBusマスタシーケ
ンサのBMLastData信号でデータの移動を終了
する。また、BBusマスタシーケンサは、BBusデ
ータ転送の終了をDone信号により、BBusリクエ
ストインターフェースへ伝える。リトライあるいはバス
エラーであった場合には、それぞれ、Retry信号、
Error信号で伝える。BBusマスタリクエストイ
ンターフェースは、DMAコントローラに転送が完了し
たことを、[bc]MDone(N)(以下、bまたは
cのいずれかであることを[bc]と表す)で、リトラ
イ、バスエラー場合には、[bc]MRtry(N)信
号、[bc]MBErr信号でそれぞれ伝える。
リトライ、バスエラー) BBusデータコントローラは、BBusマスタシーケ
ンサのBMLastData信号でデータの移動を終了
する。また、BBusマスタシーケンサは、BBusデ
ータ転送の終了をDone信号により、BBusリクエ
ストインターフェースへ伝える。リトライあるいはバス
エラーであった場合には、それぞれ、Retry信号、
Error信号で伝える。BBusマスタリクエストイ
ンターフェースは、DMAコントローラに転送が完了し
たことを、[bc]MDone(N)(以下、bまたは
cのいずれかであることを[bc]と表す)で、リトラ
イ、バスエラー場合には、[bc]MRtry(N)信
号、[bc]MBErr信号でそれぞれ伝える。
【0316】DMAコントローラは、信号bReadF
ifo、bWriteFifoにより、転送アドレスや
転送長等を更新し、DMAのBBus転送の終了を示す
bMDone(N)信号か、bMRtry(N)信号
で、次のアクションを起こす。チェーンテーブルの読み
込みの終了を示すcMDone(N)信号は、内部のチ
ェーンテーブルを更新し、cMRtry(N)信号であ
れば、再び転送要求を発行する。
ifo、bWriteFifoにより、転送アドレスや
転送長等を更新し、DMAのBBus転送の終了を示す
bMDone(N)信号か、bMRtry(N)信号
で、次のアクションを起こす。チェーンテーブルの読み
込みの終了を示すcMDone(N)信号は、内部のチ
ェーンテーブルを更新し、cMRtry(N)信号であ
れば、再び転送要求を発行する。
【0317】[bc]MBErr(N)信号の時には、
DMAコントローラは転送を中止し、マスクされていな
ければ割り込みを発生する。
DMAコントローラは転送を中止し、マスクされていな
ければ割り込みを発生する。
【0318】(バーストモードでのリトライ)信号bS
tart_Lと信号bBurst_Lの同時アサート
で、スレーブが、信号bRetry_Lのアサートなし
に、信号bRdy_Lと信号bBurstAck_Lの
同時アサートで応答した場合、スレーブはバースト転送
可能と判断される。そのバースト転送中は信号bRet
ry_Lはチェックされない。つまり、最初のbRdy
_Lのタイミングの時のみ、信号bRetry_Lはチ
ェックされる。なお、バースト転送中でも、信号bEr
ror_Lは、各クロックでチェックされる。
tart_Lと信号bBurst_Lの同時アサート
で、スレーブが、信号bRetry_Lのアサートなし
に、信号bRdy_Lと信号bBurstAck_Lの
同時アサートで応答した場合、スレーブはバースト転送
可能と判断される。そのバースト転送中は信号bRet
ry_Lはチェックされない。つまり、最初のbRdy
_Lのタイミングの時のみ、信号bRetry_Lはチ
ェックされる。なお、バースト転送中でも、信号bEr
ror_Lは、各クロックでチェックされる。
【0319】(信号bError_L、bRetry_
L、bRdy_Lの同時アサートについて)信号bEr
ror_Lがアサートされた場合、信号bRetry_
Lがアサートされていても、バスエラーとみなされる。
信号bError_Lがネゲートされ、信号bRetr
y_Lがアサートされた場合、信号bRdy_Lがアサ
ートされていてもリトライと見なされる。
L、bRdy_Lの同時アサートについて)信号bEr
ror_Lがアサートされた場合、信号bRetry_
Lがアサートされていても、バスエラーとみなされる。
信号bError_Lがネゲートされ、信号bRetr
y_Lがアサートされた場合、信号bRdy_Lがアサ
ートされていてもリトライと見なされる。
【0320】(マスタモード時の信号byteEn_L
[3:0]について)マスタモード時の信号byteE
n_L[3:0]は、シングルアクセス、バーストアク
セスの最後の転送以外は、常に、“0000”である。
[3:0]について)マスタモード時の信号byteE
n_L[3:0]は、シングルアクセス、バーストアク
セスの最後の転送以外は、常に、“0000”である。
【0321】[BBusスレーブ動作(レジスタアクセ
ス以外)] 1.マスタからの転送要求 BBusマスタシーケンサは、bStart_L信号ア
サートのタイミングで、bAddr信号とbWr_L信
号(チャネル0か1)を確認する。GBIへのアクセス
で、bSEnable(N)信号(スレーブモード:レ
ジスタにより設定)がアサートされていれば、bBur
stShortNotLong信号(bBurst_L
信号がアサートされた時のみ)とReadFifoEn
able1/4/8信号(チャネル0)かWriteF
ifoEnable1/4/8信号(チャネル1)から
転送可能かを判断する。転送可能であれば、bRdyO
ut_L信号(バーストモードであれば、bBurst
AckOut_L信号も)をアサートし、そうでなけれ
ば、bRetryOut_L信号をアサートする。
ス以外)] 1.マスタからの転送要求 BBusマスタシーケンサは、bStart_L信号ア
サートのタイミングで、bAddr信号とbWr_L信
号(チャネル0か1)を確認する。GBIへのアクセス
で、bSEnable(N)信号(スレーブモード:レ
ジスタにより設定)がアサートされていれば、bBur
stShortNotLong信号(bBurst_L
信号がアサートされた時のみ)とReadFifoEn
able1/4/8信号(チャネル0)かWriteF
ifoEnable1/4/8信号(チャネル1)から
転送可能かを判断する。転送可能であれば、bRdyO
ut_L信号(バーストモードであれば、bBurst
AckOut_L信号も)をアサートし、そうでなけれ
ば、bRetryOut_L信号をアサートする。
【0322】マスタのバーストモード(bBurst_
L信号がアサート)の要求に対して、Fifoの状態か
ら、バースト転送はできないがシングル転送は可能な場
合は、bRdyOut_L信号のみアサートし、シング
ル転送を行う。また、マスタのバーストモード要求がラ
ップアラウンドを発生する場合、GBIがラップアラウ
ンドに対応していないため、可能であればシングル転送
を行う(bBurstAckOut_L信号をアサート
しない)。
L信号がアサート)の要求に対して、Fifoの状態か
ら、バースト転送はできないがシングル転送は可能な場
合は、bRdyOut_L信号のみアサートし、シング
ル転送を行う。また、マスタのバーストモード要求がラ
ップアラウンドを発生する場合、GBIがラップアラウ
ンドに対応していないため、可能であればシングル転送
を行う(bBurstAckOut_L信号をアサート
しない)。
【0323】2.BBusデータ転送 転送可能であれば、BBusマスタシーケンサは、必要
なクロック分だけ、bRdyOut_L信号をアサート
し続ける。バースト転送の場合には、最初のbRdyO
ut_L信号のアサートのタイミングで、bBurst
AckOut_L信号を1BBusクロックだけアサー
トする。また、データの転送開始をBSDataRq
(N)信号で、データの転送終了をbMLastDat
a信号で、BBusデータコントローラに伝える。BB
usからFifoあるいは、FifoからBBusへの
データの移動は、BBusデータコントローラが行う。
なクロック分だけ、bRdyOut_L信号をアサート
し続ける。バースト転送の場合には、最初のbRdyO
ut_L信号のアサートのタイミングで、bBurst
AckOut_L信号を1BBusクロックだけアサー
トする。また、データの転送開始をBSDataRq
(N)信号で、データの転送終了をbMLastDat
a信号で、BBusデータコントローラに伝える。BB
usからFifoあるいは、FifoからBBusへの
データの移動は、BBusデータコントローラが行う。
【0324】3.BBusデータ転送終了 転送終了を示す信号は特にない。bErrorOut_
L信号をアサートすることもない。ただし、bSEna
ble(N)信号がネゲートしていれば、マスタのアク
セスに対して、応答しないので、タイムアウトによるバ
スエラーが発生する。
L信号をアサートすることもない。ただし、bSEna
ble(N)信号がネゲートしていれば、マスタのアク
セスに対して、応答しないので、タイムアウトによるバ
スエラーが発生する。
【0325】[BBusスレーブ動作(レジスタアクセ
ス)]GBI及び機能ブロック内のレジスタのアクセス
はBBusから行う。レジスタのアクセスについては、
GBIのモードや状態によらず、いつでもアクセス可能
である。bRetryOut_L、bErrorOut
_L信号をアサートすることはない。マスタのバースト
モードの要求に対して、いつでもシングル転送で応答す
る(bBurstAckOut_L信号をアサートしな
い)。
ス)]GBI及び機能ブロック内のレジスタのアクセス
はBBusから行う。レジスタのアクセスについては、
GBIのモードや状態によらず、いつでもアクセス可能
である。bRetryOut_L、bErrorOut
_L信号をアサートすることはない。マスタのバースト
モードの要求に対して、いつでもシングル転送で応答す
る(bBurstAckOut_L信号をアサートしな
い)。
【0326】レジスタコントローラ9206は、reg
Start_L、regAddr[31:2]、byt
eEnIn[3:0]、regWr_L信号(BBus
の信号をBBusクロックで叩いた信号)をセンスし、
レジスタへの書き込みであれば、bDataIn[3
1:0]信号のデータを書き込み、Ack信号(GBI
では、regGbiAck_L、IFBusでは、re
gIfAck_L)をアサートする。レジスタからの読
み出しであれば、データを内部バス(GBIでは、re
gGbiDataOut[31:0]、IFBusで
は、regIfDataOut[31:0])に乗せ
て、Ack信号(GBIでは、regGbiAck_
L、IFBusでは、regIfAck_L)をアサー
トする。
Start_L、regAddr[31:2]、byt
eEnIn[3:0]、regWr_L信号(BBus
の信号をBBusクロックで叩いた信号)をセンスし、
レジスタへの書き込みであれば、bDataIn[3
1:0]信号のデータを書き込み、Ack信号(GBI
では、regGbiAck_L、IFBusでは、re
gIfAck_L)をアサートする。レジスタからの読
み出しであれば、データを内部バス(GBIでは、re
gGbiDataOut[31:0]、IFBusで
は、regIfDataOut[31:0])に乗せ
て、Ack信号(GBIでは、regGbiAck_
L、IFBusでは、regIfAck_L)をアサー
トする。
【0327】BBusスレーブジェネレートレディで、
Ack信号からbRdyOut_Lを作る。
Ack信号からbRdyOut_Lを作る。
【0328】(GBIのレジスタアクセス以外のBBu
sのサイクル)GBIのスレーブモードでは、シングル
転送のサイクルはいつも3BBusクロックである。バ
ースト転送は、シングル転送と同じタイミングで、最初
のbRdyOut_L信号をアサートし、その後ネゲー
トすることなしに必要なクロック分アサートを続ける。
転送(シングルとバースト)ができない場合は、最初の
bRdyOut_Lをアサートするタイミングで、bR
etryOut_Lだけアサートする。
sのサイクル)GBIのスレーブモードでは、シングル
転送のサイクルはいつも3BBusクロックである。バ
ースト転送は、シングル転送と同じタイミングで、最初
のbRdyOut_L信号をアサートし、その後ネゲー
トすることなしに必要なクロック分アサートを続ける。
転送(シングルとバースト)ができない場合は、最初の
bRdyOut_Lをアサートするタイミングで、bR
etryOut_Lだけアサートする。
【0329】(BBusスレーブジェネレートレディブ
ロック)BBusスレーブジェネレートレディブロック
は、BBusスレーブシーケンサからのChannel
Rdy_L信号と、GBIレジスタユニットからのre
gGbiAck_L信号と機能ブロック(IFBus)
からのregIfAck_L信号をORして、クロック
で叩く。
ロック)BBusスレーブジェネレートレディブロック
は、BBusスレーブシーケンサからのChannel
Rdy_L信号と、GBIレジスタユニットからのre
gGbiAck_L信号と機能ブロック(IFBus)
からのregIfAck_L信号をORして、クロック
で叩く。
【0330】(IFBusインターフェース)IFBu
sは、GBIと機能ブロックを接続する簡単なバスであ
る。クロックは、bClk(50MHz)を使用する。
ここでいう入力信号とは、機能ブロックからGBIへの
方向の信号である。双方向信号はない。以下にIFBu
sの信号について説明する。“_L”で終わる信号名
は、ローアクティブであることを示す。これは、すでに
説明した部分においても同様である。なお、実際のイン
プリメンテーションでは、信号名の“if”は機能ブロ
ックの名前に置き換える。
sは、GBIと機能ブロックを接続する簡単なバスであ
る。クロックは、bClk(50MHz)を使用する。
ここでいう入力信号とは、機能ブロックからGBIへの
方向の信号である。双方向信号はない。以下にIFBu
sの信号について説明する。“_L”で終わる信号名
は、ローアクティブであることを示す。これは、すでに
説明した部分においても同様である。なお、実際のイン
プリメンテーションでは、信号名の“if”は機能ブロ
ックの名前に置き換える。
【0331】・ifRst0_L(チャネル0),if
Rst1_L(チャネル1)(出力) IFBusのリセット信号である。この信号により、I
FBusの状態を初期状態に戻す。GBIの内部レジス
タにより、アサートされる。GBIと機能ブロックとの
転送に先立って、必ずアサートする。
Rst1_L(チャネル1)(出力) IFBusのリセット信号である。この信号により、I
FBusの状態を初期状態に戻す。GBIの内部レジス
タにより、アサートされる。GBIと機能ブロックとの
転送に先立って、必ずアサートする。
【0332】・ifDataOutB[63:0](入
力:チャネル0のみ) 機能ブロックからGBIへのデータ信号である。この信
号は、Fifoユニット0に接続されている(図93参
照)。
力:チャネル0のみ) 機能ブロックからGBIへのデータ信号である。この信
号は、Fifoユニット0に接続されている(図93参
照)。
【0333】・ifWriteB(入力:チャネル0の
み) 機能ブロックからGBIへのライト信号である。GBI
は、ifWrite信号がアサートされているifCl
kの立ち上がりで、ifDataOut[63:0]を
書き込む。ifWriteB信号をアサートし続けるこ
とで、1クロック単位でデータがライトできる。この信
号は、Fifoユニット0に接続されている(図93参
照)。
み) 機能ブロックからGBIへのライト信号である。GBI
は、ifWrite信号がアサートされているifCl
kの立ち上がりで、ifDataOut[63:0]を
書き込む。ifWriteB信号をアサートし続けるこ
とで、1クロック単位でデータがライトできる。この信
号は、Fifoユニット0に接続されている(図93参
照)。
【0334】・ifWriteEnableG(出力:
チャネル0のみ) 機能ブロックからGBIへのライト許可信号である。i
fClkの立ち上がりで、ifWriteEnable
G信号がアサートされていれば、次のクロックの立ち上
がりで、ライト可能であることを示す。ifWrite
B信号のアサートは、ifWriteEnableG信
号を確認して行う。この信号は、Fifoユニット0か
ら出力される。
チャネル0のみ) 機能ブロックからGBIへのライト許可信号である。i
fClkの立ち上がりで、ifWriteEnable
G信号がアサートされていれば、次のクロックの立ち上
がりで、ライト可能であることを示す。ifWrite
B信号のアサートは、ifWriteEnableG信
号を確認して行う。この信号は、Fifoユニット0か
ら出力される。
【0335】・ifDataInG[63:0],if
ByteEnG[7:0](出力:チャネル1のみ) GBIから機能ブロックへのデータとバイトイネーブル
信号である。この信号は、Fifoユニット1に接続さ
れている。表8に信号ifByteEnG[7:0]の
各桁とifDataInG[63:0]の各バイトユニ
ットとの対応を示す。
ByteEnG[7:0](出力:チャネル1のみ) GBIから機能ブロックへのデータとバイトイネーブル
信号である。この信号は、Fifoユニット1に接続さ
れている。表8に信号ifByteEnG[7:0]の
各桁とifDataInG[63:0]の各バイトユニ
ットとの対応を示す。
【表8】 ・ifRead(入力:チャネル1のみ) GBIから機能ブロックへのリード信号である。GBI
は、ifRead信号がアサートされているifClk
の立ち上がりで、ifDataInG[63:0]とi
fByteEnG[7:0]を出力する。ifRead
信号をアサートし続けることで、1クロック単位でデー
タがリードできる。この信号は、Fifoユニット1に
接続されている。
は、ifRead信号がアサートされているifClk
の立ち上がりで、ifDataInG[63:0]とi
fByteEnG[7:0]を出力する。ifRead
信号をアサートし続けることで、1クロック単位でデー
タがリードできる。この信号は、Fifoユニット1に
接続されている。
【0336】・ifReadEnableG(出力:チ
ャネル1のみ) GBIから機能ブロックへのリード許可信号である。i
fClkの立ち上がりで、ifReadEnableG
信号がアサートされていれば、次のクロックの立ち上が
りで、リード可能であることを示す。ifRead信号
のアサートは、ifReadEnableG信号を確認
して行う。この信号は、Fifoユニット1から出力さ
れる。
ャネル1のみ) GBIから機能ブロックへのリード許可信号である。i
fClkの立ち上がりで、ifReadEnableG
信号がアサートされていれば、次のクロックの立ち上が
りで、リード可能であることを示す。ifRead信号
のアサートは、ifReadEnableG信号を確認
して行う。この信号は、Fifoユニット1から出力さ
れる。
【0337】・ifRegStart_L(チャネル共
通)(出力) BBusのbStart_Lをクロックで叩いた信号で
ある。ifRegAddr[31:2]信号、ifRe
gRdNotWr信号ifByteEn_L[3:0]
信号とともに1クロックだけアサートされる。機能ブロ
ックの内部レジスタへの書き込みの場合には、信号if
RegDataIn[31:0]も有効となっている。
機能ブロックでは、ifRegStart_Lがアサー
トされた時点で、アドレスをチェックし、機能ブロック
の内部レジスタへのアクセスであれば、ifRegAc
k_L信号で応答する。そうでなければ、次のifRe
gStart_Lのアサートを待つ。この信号は、BB
usコントローラから出力される。
通)(出力) BBusのbStart_Lをクロックで叩いた信号で
ある。ifRegAddr[31:2]信号、ifRe
gRdNotWr信号ifByteEn_L[3:0]
信号とともに1クロックだけアサートされる。機能ブロ
ックの内部レジスタへの書き込みの場合には、信号if
RegDataIn[31:0]も有効となっている。
機能ブロックでは、ifRegStart_Lがアサー
トされた時点で、アドレスをチェックし、機能ブロック
の内部レジスタへのアクセスであれば、ifRegAc
k_L信号で応答する。そうでなければ、次のifRe
gStart_Lのアサートを待つ。この信号は、BB
usコントローラから出力される。
【0338】・ifRegAddr[31:2](チャ
ネル共通)(出力) BBusのbAddr[31:2]をクロックで叩いた
アドレス信号である。信号ifRegStart_Lア
サートと同時に有効となり、機能ブロックの内部レジス
タへのアクセスであれば、ifRegAck_L信号で
応答する間で有効である。この信号は、BBusコント
ローラから出力される。
ネル共通)(出力) BBusのbAddr[31:2]をクロックで叩いた
アドレス信号である。信号ifRegStart_Lア
サートと同時に有効となり、機能ブロックの内部レジス
タへのアクセスであれば、ifRegAck_L信号で
応答する間で有効である。この信号は、BBusコント
ローラから出力される。
【0339】・ifRegByteEn[3:0](チ
ャネル共通)(出力) BBusのbyteEn_L[3:0]をクロックで叩
いたバイトイネーブル信号である。信号ifRegSt
art_Lアサートと同時に有効となり、機能ブロック
の内部レジスタへのアクセスであれば、ifRegAc
k_L信号で応答する間で有効である。機能ブロックの
内部レジスタへの書き込みの場合には、この信号で示さ
れた有効なバイトのみ書き込みを行う。機能ブロックの
内部レジスタからの読み出しの場合には、この信号は無
視され、全バイト出力される。この信号は、BBusコ
ントローラから出力される。表9に、信号ifRegB
yteEn[3:0]の各桁と信号ifRegData
InG[31:0]の各バイトユニットとの対応を示
す。
ャネル共通)(出力) BBusのbyteEn_L[3:0]をクロックで叩
いたバイトイネーブル信号である。信号ifRegSt
art_Lアサートと同時に有効となり、機能ブロック
の内部レジスタへのアクセスであれば、ifRegAc
k_L信号で応答する間で有効である。機能ブロックの
内部レジスタへの書き込みの場合には、この信号で示さ
れた有効なバイトのみ書き込みを行う。機能ブロックの
内部レジスタからの読み出しの場合には、この信号は無
視され、全バイト出力される。この信号は、BBusコ
ントローラから出力される。表9に、信号ifRegB
yteEn[3:0]の各桁と信号ifRegData
InG[31:0]の各バイトユニットとの対応を示
す。
【表9】 ・ifRegRdNotWr(チャネル共通)(出力) BBusのbWr_Lをクロックで叩いた信号で、機能
ブロックの内部レジスタへのアクセスの方向を示す。ハ
イで、機能ブロックの内部レジスタの内容が信号ifR
eqDataOut[31:0]に出力され、ローで、
ifReqDataIn[31:0]のデータが、機能
ブロックの内部レジスタに書き込まれる。信号ifRe
gStart_Lアサートと同時に有効となり、機能ブ
ロックの内部レジスタへのアクセスであれば、ifRe
gAck_L信号で応答する間で有効である。この信号
は、BBusコントローラから出力される。
ブロックの内部レジスタへのアクセスの方向を示す。ハ
イで、機能ブロックの内部レジスタの内容が信号ifR
eqDataOut[31:0]に出力され、ローで、
ifReqDataIn[31:0]のデータが、機能
ブロックの内部レジスタに書き込まれる。信号ifRe
gStart_Lアサートと同時に有効となり、機能ブ
ロックの内部レジスタへのアクセスであれば、ifRe
gAck_L信号で応答する間で有効である。この信号
は、BBusコントローラから出力される。
【0340】・ifRegAck_L(チャネル共通)
(入力) 機能ブロックが内部レジスタへのアクセスを完了したこ
とを示す信号である。信号ifRegStart_Lが
アサートされた時点で、アドレスをチェックし、機能ブ
ロックの内部レジスタへのアクセスであれば、レジスタ
のリードあるいはライトを行い、必ず、1クロックだけ
アサートする。機能ブロックの内部レジスタへのアクセ
スでない場合には、決してアサートしてはいけない。こ
の信号は、BBusコントローラに接続される。
(入力) 機能ブロックが内部レジスタへのアクセスを完了したこ
とを示す信号である。信号ifRegStart_Lが
アサートされた時点で、アドレスをチェックし、機能ブ
ロックの内部レジスタへのアクセスであれば、レジスタ
のリードあるいはライトを行い、必ず、1クロックだけ
アサートする。機能ブロックの内部レジスタへのアクセ
スでない場合には、決してアサートしてはいけない。こ
の信号は、BBusコントローラに接続される。
【0341】・ifRegDataOut[31:0]
(チャネル共通)(入力) 機能ブロックの内部レジスタの内容が読み出されるデー
タバス信号である。信号ifRegAck_L信号がア
サートされているときに有効でなければいけない。この
信号は、BBusコントローラに接続される。
(チャネル共通)(入力) 機能ブロックの内部レジスタの内容が読み出されるデー
タバス信号である。信号ifRegAck_L信号がア
サートされているときに有効でなければいけない。この
信号は、BBusコントローラに接続される。
【0342】・ifRegDataIn[31:0]
(チャネル共通)(出力) 機能ブロックの内部レジスタに書き込まれるデータを示
すバス信号である。信号ifRegStart_Lアサ
ートと同時に有効となり、機能ブロックの内部レジスタ
へのアクセスであれば、ifRegAck_L信号で応
答する間で有効である。この信号は、BBusコントロ
ーラから出力される。
(チャネル共通)(出力) 機能ブロックの内部レジスタに書き込まれるデータを示
すバス信号である。信号ifRegStart_Lアサ
ートと同時に有効となり、機能ブロックの内部レジスタ
へのアクセスであれば、ifRegAck_L信号で応
答する間で有効である。この信号は、BBusコントロ
ーラから出力される。
【0343】・IfDmaPmState[1:0]
(チャネル共通)(出力) GBIの動作状態を示す信号。この出力は常に有効であ
る。機能ブロックは、この信号と機能ブロック自身の動
作状態を基に、パワーマネージメントユニットへのパワ
ーマネージメントステータス信号を生成する。この信号
は、レジスタユニットから出力される。どのような値が
出力されるかは、後述のパワーマネジメントの項で説明
する。
(チャネル共通)(出力) GBIの動作状態を示す信号。この出力は常に有効であ
る。機能ブロックは、この信号と機能ブロック自身の動
作状態を基に、パワーマネージメントユニットへのパワ
ーマネージメントステータス信号を生成する。この信号
は、レジスタユニットから出力される。どのような値が
出力されるかは、後述のパワーマネジメントの項で説明
する。
【0344】(DMAコントローラ)GBIには、チャ
ネル0と1に、それぞれ図96のようなDMAコントロ
ーラ9205が存在する。
ネル0と1に、それぞれ図96のようなDMAコントロ
ーラ9205が存在する。
【0345】DMAコントローラは、DMAメインコン
トローラ、フェッチチェインテーブル、カルキュレート
ピッチアドレス、ジェネレートアドレス、DMAリクエ
ストの各部ロックから成る。
トローラ、フェッチチェインテーブル、カルキュレート
ピッチアドレス、ジェネレートアドレス、DMAリクエ
ストの各部ロックから成る。
【0346】レジスタユニット9206からは、表10
の信号によりDMAのモードが伝えられる。
の信号によりDMAのモードが伝えられる。
【表10】 次に、DMAコントローラの各部ロックについて説明す
る。
る。
【0347】[DMAメインコントローラ]DMAメイ
ンコントローラは、他の4つのブロックの起動と停止の
制御をする。チェーンテーブル方式のDMAでは、フェ
ッチチェインテーブル、ジェネレートアドレス、DMA
リクエストの順に、ブロックを1クロックずつずらして
起動する。ピッチ付きのDMAでは、カルキュレートピ
ッチアドレス、ジェネレートアドレス、DMAリクエス
トの順に、ブロックを1クロックずつずらして起動す
る。その他の場合には、ジェネレートアドレスとDMA
リクエストを1クロックずらして起動する。
ンコントローラは、他の4つのブロックの起動と停止の
制御をする。チェーンテーブル方式のDMAでは、フェ
ッチチェインテーブル、ジェネレートアドレス、DMA
リクエストの順に、ブロックを1クロックずつずらして
起動する。ピッチ付きのDMAでは、カルキュレートピ
ッチアドレス、ジェネレートアドレス、DMAリクエス
トの順に、ブロックを1クロックずつずらして起動す
る。その他の場合には、ジェネレートアドレスとDMA
リクエストを1クロックずらして起動する。
【0348】また、DMAメインコントローラはDMA
の終了を判定する。フェッチチェインテーブルがアイド
ル状態(チェーンテーブルをすべて読み終わったか、あ
るいは起動されていない)かつ、カルキュレートピッチ
アドレスがアイドル状態(全ライン終わったか、あるい
は起動されていない)でのジェネレートアドレスのNe
xtAddreReq信号のアサート(レングスカウン
タがゼロになる)、あるいはバスエラー、stopDM
A信号のアサート(レジスタによるDMA強制終了)を
検出すると、DMAメインコントローラが各ブロック
に、stopDMAReq信号をアサートする。すべて
のブロックがアイドル状態になった時点で、DMAの終
了と判定する(endDMAをアサートする)。
の終了を判定する。フェッチチェインテーブルがアイド
ル状態(チェーンテーブルをすべて読み終わったか、あ
るいは起動されていない)かつ、カルキュレートピッチ
アドレスがアイドル状態(全ライン終わったか、あるい
は起動されていない)でのジェネレートアドレスのNe
xtAddreReq信号のアサート(レングスカウン
タがゼロになる)、あるいはバスエラー、stopDM
A信号のアサート(レジスタによるDMA強制終了)を
検出すると、DMAメインコントローラが各ブロック
に、stopDMAReq信号をアサートする。すべて
のブロックがアイドル状態になった時点で、DMAの終
了と判定する(endDMAをアサートする)。
【0349】[フェッチチェインテーブル]フェッチチ
ェインテーブルは、メモリ上のテーブルをフェッチする
ブロックで、チェーンテーブルを使わない場合は起動さ
れない。チェーンテーブルを指すメモリアドレスのため
のチェインテーブルポインタアドレスカウンタ、チェー
ンテーブルの残りのエントリ数を示すチェインテーブル
エントリカウンタ、チェーンテーブルからフェッチした
アドレスとレングスを記憶するネクストアドレスレジス
タ、ネクストレンクスレジスタ、およびこれらを制御す
るフェッチチェインテーブルコントローラから成る。
ェインテーブルは、メモリ上のテーブルをフェッチする
ブロックで、チェーンテーブルを使わない場合は起動さ
れない。チェーンテーブルを指すメモリアドレスのため
のチェインテーブルポインタアドレスカウンタ、チェー
ンテーブルの残りのエントリ数を示すチェインテーブル
エントリカウンタ、チェーンテーブルからフェッチした
アドレスとレングスを記憶するネクストアドレスレジス
タ、ネクストレンクスレジスタ、およびこれらを制御す
るフェッチチェインテーブルコントローラから成る。
【0350】DMAメインコントローラから起動される
と、レジスタの内容がチェインテーブルポインタアドレ
スとチェインテーブルエントリカウンタにロードされ
る。chainReq信号により、BBusコントロー
ラにアドレスchainAddress[31:2]の
フェッチを要求する。BBusコントローラからのch
ainDone信号(正常終了)で、読み出した内容を
ネクストアドレスレジスタにラッチし、チェインテーブ
ルポインタアドレスカウンタをインクリメントする。B
Busコントローラから、ChainRtry信号(リ
トライ)が返ってくれば、再び、同じ要求をBBusコ
ントローラに対して発行する。
と、レジスタの内容がチェインテーブルポインタアドレ
スとチェインテーブルエントリカウンタにロードされ
る。chainReq信号により、BBusコントロー
ラにアドレスchainAddress[31:2]の
フェッチを要求する。BBusコントローラからのch
ainDone信号(正常終了)で、読み出した内容を
ネクストアドレスレジスタにラッチし、チェインテーブ
ルポインタアドレスカウンタをインクリメントする。B
Busコントローラから、ChainRtry信号(リ
トライ)が返ってくれば、再び、同じ要求をBBusコ
ントローラに対して発行する。
【0351】ネクストアドレスレジスタのラッチ後に、
BBusコントローラにアドレスchain Addr
ess[31:2]のフェッチを要求する。Chain
Done信号で、読み出した内容をネクストレンクスレ
ジスタにラッチし、チェインテーブルポインタアドレス
カウンタをインクリメントし、チェインテーブルエント
リカウンタをデクリメントする。同時に、nextAd
drValid信号をアサートし、チェーンテーブルか
らアドレスとレングスを読み出したことを、ジェネレー
トアドレスブロックに伝える。
BBusコントローラにアドレスchain Addr
ess[31:2]のフェッチを要求する。Chain
Done信号で、読み出した内容をネクストレンクスレ
ジスタにラッチし、チェインテーブルポインタアドレス
カウンタをインクリメントし、チェインテーブルエント
リカウンタをデクリメントする。同時に、nextAd
drValid信号をアサートし、チェーンテーブルか
らアドレスとレングスを読み出したことを、ジェネレー
トアドレスブロックに伝える。
【0352】もし、ネクストレンクスレジスタのラッチ
時のデータがゼロである場合には、ネクストアドレスレ
ジスタの内容がチェインテーブルポインタアドレスカウ
ンタにロードされる。
時のデータがゼロである場合には、ネクストアドレスレ
ジスタの内容がチェインテーブルポインタアドレスカウ
ンタにロードされる。
【0353】nextAddrValid信号のアサー
ト中に、ジェネレートアドレスブロックからNextA
ddrReq信号がアサートされるとジェネレートアド
レスブロックが、チェーンテーブルからのアドレス、レ
ングスを受け取ったと判断し、nextAddrVal
id信号をネゲートする。
ト中に、ジェネレートアドレスブロックからNextA
ddrReq信号がアサートされるとジェネレートアド
レスブロックが、チェーンテーブルからのアドレス、レ
ングスを受け取ったと判断し、nextAddrVal
id信号をネゲートする。
【0354】次に、チェインテーブルエントリカウンタ
をチェックし、ゼロでなければ、再度チェーンテーブル
のフェッチを続け、ゼロであればアイドル状態へ戻る。
をチェックし、ゼロでなければ、再度チェーンテーブル
のフェッチを続け、ゼロであればアイドル状態へ戻る。
【0355】chainBErr信号(バスエラー)を
受け取ると、直ちにアイドル状態へ戻る。 DMAメイ
ンコントローラからstopDMAReqを受け取った
場合、BBusコントローラに要求を出していれば、そ
の終了を待って、そうでなければ直ちにアイドル状態へ
戻る。
受け取ると、直ちにアイドル状態へ戻る。 DMAメイ
ンコントローラからstopDMAReqを受け取った
場合、BBusコントローラに要求を出していれば、そ
の終了を待って、そうでなければ直ちにアイドル状態へ
戻る。
【0356】チェーンテーブルを使わないモードの時に
は、起動されないので、アイドル状態を保ち、next
AddrValid信号はネゲートされたままである。
は、起動されないので、アイドル状態を保ち、next
AddrValid信号はネゲートされたままである。
【0357】[ジェネレートアドレス]ジェネレートア
ドレスブロックは、メモリに対する転送アドレスを格納
するトランスファメモリアドレスカウンタと、転送すべ
き転送長を格納するトランスファレンクスカウンタと、
転送したバイト数を記憶するトランスファカウンタと、
これら3つのカウンタを制御するジェネレートアドレス
コントローラと、転送アドレスと転送長からGBus/
BBusに対して要求するモードを判定するCheck
GBusReq及びCheckBBusReqブロック
(CheckG/BBusReqと総称する)を有す
る。
ドレスブロックは、メモリに対する転送アドレスを格納
するトランスファメモリアドレスカウンタと、転送すべ
き転送長を格納するトランスファレンクスカウンタと、
転送したバイト数を記憶するトランスファカウンタと、
これら3つのカウンタを制御するジェネレートアドレス
コントローラと、転送アドレスと転送長からGBus/
BBusに対して要求するモードを判定するCheck
GBusReq及びCheckBBusReqブロック
(CheckG/BBusReqと総称する)を有す
る。
【0358】(チェーンテーブルを使う場合)DMAメ
インコントローラから起動されると、トランスファカウ
ンタをクリアし、フェッチチェインテーブルからのne
xtValidAddrCT信号待ちに入る。next
ValidAddrCT信号がアサートされると、チェ
ーンテーブルのアドレスとレングスが、それぞれトラン
スファメモリアドレスカウンタとトランスファレンクス
カウンタにロードされる。
インコントローラから起動されると、トランスファカウ
ンタをクリアし、フェッチチェインテーブルからのne
xtValidAddrCT信号待ちに入る。next
ValidAddrCT信号がアサートされると、チェ
ーンテーブルのアドレスとレングスが、それぞれトラン
スファメモリアドレスカウンタとトランスファレンクス
カウンタにロードされる。
【0359】両カウンタの内容で、CheckG/BB
usReqは転送できるモードを判定する。
usReqは転送できるモードを判定する。
【0360】CheckG/BBusReqからDMA
リクエストブロックにG/BBusの転送モードを伝え
(転送不可の時にはg/b Valid信号がネゲート
されている)、DMAリクエストブロックは、GBus
優先で各バスコントローラに転送要求を発行する。
リクエストブロックにG/BBusの転送モードを伝え
(転送不可の時にはg/b Valid信号がネゲート
されている)、DMAリクエストブロックは、GBus
優先で各バスコントローラに転送要求を発行する。
【0361】GBusでの転送では、gMDone信号
(GBus転送終了信号)とその時の転送モードによ
り、一度にトランスファメモリアドレスカウンタ、トラ
ンスファカウンタのインクリメントとトランスファレン
クスカウンタのデクリメントを行う。BBusでの転送
では、FIFOのアクセス信号により、トランスファメ
モリアドレスカウンタのインクリメントとトランスファ
レンクスカウンタのデクリメントを行う。
(GBus転送終了信号)とその時の転送モードによ
り、一度にトランスファメモリアドレスカウンタ、トラ
ンスファカウンタのインクリメントとトランスファレン
クスカウンタのデクリメントを行う。BBusでの転送
では、FIFOのアクセス信号により、トランスファメ
モリアドレスカウンタのインクリメントとトランスファ
レンクスカウンタのデクリメントを行う。
【0362】トランスファレンクスカウンタがゼロにな
った時、フェッチチェインテーブルからのnextVa
lidAddrCT信号がネゲートされていれば、アサ
ートを待って、次のチェーンテーブルの内容をトランス
ファメモリアドレスカウンタとトランスファレンクスカ
ウンタにロードし、そうでなければ、直ちにロードす
る。そして、次の転送に入る。
った時、フェッチチェインテーブルからのnextVa
lidAddrCT信号がネゲートされていれば、アサ
ートを待って、次のチェーンテーブルの内容をトランス
ファメモリアドレスカウンタとトランスファレンクスカ
ウンタにロードし、そうでなければ、直ちにロードす
る。そして、次の転送に入る。
【0363】チェーンテーブルの最後の部分の転送が終
わってトランスファレンクスカウンタがゼロになった時
には、フェッチチェインテーブルはアイドル状態で、n
extValidAddrCT信号はネゲートされてい
る。DMAメインコントローラはDMAの終了を検出す
るので、ジェネレートアドレスに対してstopDMA
Req信号をアサートする。これによりジェネレートア
ドレスはアイドル状態となる。
わってトランスファレンクスカウンタがゼロになった時
には、フェッチチェインテーブルはアイドル状態で、n
extValidAddrCT信号はネゲートされてい
る。DMAメインコントローラはDMAの終了を検出す
るので、ジェネレートアドレスに対してstopDMA
Req信号をアサートする。これによりジェネレートア
ドレスはアイドル状態となる。
【0364】(ピッチ付きのDMAを使う場合)DMA
メインコントローラから起動されると、トランスファカ
ウンタをクリアし、カルキュレートピッチアドレスから
のnextValidAddrPA信号待ちに入る。n
extValidAddrPA信号がアサートされる
と、スタートアドレスとピッチから計算されたアドレス
とレングスが、それぞれトランスファメモリアドレスカ
ウンタとトランスファレンクスカウンタにロードされ
る。
メインコントローラから起動されると、トランスファカ
ウンタをクリアし、カルキュレートピッチアドレスから
のnextValidAddrPA信号待ちに入る。n
extValidAddrPA信号がアサートされる
と、スタートアドレスとピッチから計算されたアドレス
とレングスが、それぞれトランスファメモリアドレスカ
ウンタとトランスファレンクスカウンタにロードされ
る。
【0365】チェーンテーブルを使う時と同様に、トラ
ンスファメモリアドレスカウンタ、トランスファカウン
タのインクリメントとトランスファレンクスカウンタの
デクリメントが行われる。
ンスファメモリアドレスカウンタ、トランスファカウン
タのインクリメントとトランスファレンクスカウンタの
デクリメントが行われる。
【0366】トランスファレンクスカウンタがゼロにな
った時、カルキュレートピッチアドレスからのnext
ValidAddrPA信号がネゲートされていれば、
アサートを待って、次のチェーンテーブルの内容をトラ
ンスファメモリアドレスカウンタとトランスファレンク
スカウンタにロードし、そうでなければ直ちにロードす
る。そして次の転送に入る。
った時、カルキュレートピッチアドレスからのnext
ValidAddrPA信号がネゲートされていれば、
アサートを待って、次のチェーンテーブルの内容をトラ
ンスファメモリアドレスカウンタとトランスファレンク
スカウンタにロードし、そうでなければ直ちにロードす
る。そして次の転送に入る。
【0367】最後のラインの転送が終わってトランスフ
ァレンクスカウンタがゼロになった時には、カルキュレ
ートピッチアドレスはアイドル状態で、nextVal
idAddrPA信号はネゲートされている。DMAメ
インコントローラはDMAの終了を検出するので、ジェ
ネレートアドレスに対してstopDMAReq信号を
アサートする。これによりジェネレートアドレスはアイ
ドル状態となる。
ァレンクスカウンタがゼロになった時には、カルキュレ
ートピッチアドレスはアイドル状態で、nextVal
idAddrPA信号はネゲートされている。DMAメ
インコントローラはDMAの終了を検出するので、ジェ
ネレートアドレスに対してstopDMAReq信号を
アサートする。これによりジェネレートアドレスはアイ
ドル状態となる。
【0368】(対I/ODMAの場合)DMAメインコ
ントローラから起動されると、トランスファカウンタが
クリアされ、データ長を格納したGBIDMA転送長レ
ジスタの内容がトランスファレンクスカウンタにロード
される。CheckGBusReq/CheckBBu
sReq各ブロックは、対I/OのDMAアドレスを格
納したGBIDMAGBusI/Oアドレスレジスタ/
GBIDMABBusI/Oアドレスレジスタの内容を
それぞれ用いる。
ントローラから起動されると、トランスファカウンタが
クリアされ、データ長を格納したGBIDMA転送長レ
ジスタの内容がトランスファレンクスカウンタにロード
される。CheckGBusReq/CheckBBu
sReq各ブロックは、対I/OのDMAアドレスを格
納したGBIDMAGBusI/Oアドレスレジスタ/
GBIDMABBusI/Oアドレスレジスタの内容を
それぞれ用いる。
【0369】上と同様に、トランスファカウンタのイン
クリメントとトランスファレンクスカウンタのデクリメ
ントが行われる。
クリメントとトランスファレンクスカウンタのデクリメ
ントが行われる。
【0370】トランスファレンクスカウンタがゼロにな
った時、フェッチチェインテーブルとカルキュレートピ
ッチアドレスは起動されていないので、アイドル状態
で、nextValidAddr信号はネゲートされて
いる。DMAメインコントローラはDMAの終了を検出
するので、ジェネレートアドレスに対してstopDM
AReq信号をアサートする。これによりジェネレート
アドレスはアイドル状態となる。
った時、フェッチチェインテーブルとカルキュレートピ
ッチアドレスは起動されていないので、アイドル状態
で、nextValidAddr信号はネゲートされて
いる。DMAメインコントローラはDMAの終了を検出
するので、ジェネレートアドレスに対してstopDM
AReq信号をアサートする。これによりジェネレート
アドレスはアイドル状態となる。
【0371】(リバースモード)対I/ODMA以外は
リバースモードをサポートする。チェーンテーブルDM
Aの1ブロック、ピッチ付きのDMAの1ラインを、ア
ドレスの大きい方から小さい方へアクセスする。ブロッ
クあるいはライン単位の逆方向の指示は、チェーンテー
ブルDMAではチェーンテーブルを逆になるように作
る。ピッチ付きのDMAの場合は、ピッチの値を負の値
(2の補数)を設定する。
リバースモードをサポートする。チェーンテーブルDM
Aの1ブロック、ピッチ付きのDMAの1ラインを、ア
ドレスの大きい方から小さい方へアクセスする。ブロッ
クあるいはライン単位の逆方向の指示は、チェーンテー
ブルDMAではチェーンテーブルを逆になるように作
る。ピッチ付きのDMAの場合は、ピッチの値を負の値
(2の補数)を設定する。
【0372】リバースモードでは、トランスファメモリ
アドレスカウンタに値をロードする際に、転送レングス
を用いて、最後尾のアドレスを計算してロードする。ト
ランスファメモリアドレスカウンタのインクリメントの
代わりにデクリメントする。
アドレスカウンタに値をロードする際に、転送レングス
を用いて、最後尾のアドレスを計算してロードする。ト
ランスファメモリアドレスカウンタのインクリメントの
代わりにデクリメントする。
【0373】CheckBBusReqブロックではシ
ングル転送のみを要求する。CheckGBusReq
ブロックでは4ビートバースト転送のみを要求する。F
ifoユニットで、32ビット単位で逆順にして、機能
ブロックに送られる(現状では、チャネル1のみ対応す
る)。
ングル転送のみを要求する。CheckGBusReq
ブロックでは4ビートバースト転送のみを要求する。F
ifoユニットで、32ビット単位で逆順にして、機能
ブロックに送られる(現状では、チャネル1のみ対応す
る)。
【0374】(GBus要求のチェック)CheckG
BusReqブロックではGBus要求のチェックが行
われる。信号useGBusがアクティブでなければ常
に信号gValidはネゲートされている。
BusReqブロックではGBus要求のチェックが行
われる。信号useGBusがアクティブでなければ常
に信号gValidはネゲートされている。
【0375】トランスファメモリアドレスのビット6以
下がすべてゼロで、かつトランスファレンクスが128
以上の時、信号gValidがアサート、g4Not1
6Req=’0’となり、トランスファメモリアドレス
のビット4以下がすべてゼロで、かつトランスファレン
クスが32以上の時、信号gValidがアサート、g
4Not16Req=’1’となる。それ以外では、信
号gValidはネゲートされる。
下がすべてゼロで、かつトランスファレンクスが128
以上の時、信号gValidがアサート、g4Not1
6Req=’0’となり、トランスファメモリアドレス
のビット4以下がすべてゼロで、かつトランスファレン
クスが32以上の時、信号gValidがアサート、g
4Not16Req=’1’となる。それ以外では、信
号gValidはネゲートされる。
【0376】(BBus要求のチェック)CheckB
BusReqブロックではBBus要求のチェックが行
われる。信号useBBusがアクティブでなければ常
に信号bValidはネゲートされている。
BusReqブロックではBBus要求のチェックが行
われる。信号useBBusがアクティブでなければ常
に信号bValidはネゲートされている。
【0377】トランスファメモリアドレスのビット4以
下がすべてゼロで、かつトランスファレンクスが29以
上の時、信号bValidがアサート、bBurstR
eq=’1’、b4Not8Req=’0’となり、ト
ランスファメモリアドレスのビット3以下がすべてゼロ
で、かつトランスファレンクスが13以上の時、bVa
lidがアサート、信号bBurstReq=’1’、
b4Not8Req=’1’となる。それ以外では、b
Validがアサート、bBurstReq=’0’と
なる。
下がすべてゼロで、かつトランスファレンクスが29以
上の時、信号bValidがアサート、bBurstR
eq=’1’、b4Not8Req=’0’となり、ト
ランスファメモリアドレスのビット3以下がすべてゼロ
で、かつトランスファレンクスが13以上の時、bVa
lidがアサート、信号bBurstReq=’1’、
b4Not8Req=’1’となる。それ以外では、b
Validがアサート、bBurstReq=’0’と
なる。
【0378】(DMAリクエスト)DMAメインコント
ローラから起動されると、ジェネレートアドレスブロッ
クからのGBus/BBusに対する要求をチェックす
る。G/BBusの両方の要求がある場合には、常にG
Busが優先となる。この要求に従い、GBusコント
ローラかBBusコントローラに転送要求を発行し、応
答を待つ。応答は、g/bMDone、g/bMRtr
yあるいは、g/bMBErrのいずれかの信号であ
る。
ローラから起動されると、ジェネレートアドレスブロッ
クからのGBus/BBusに対する要求をチェックす
る。G/BBusの両方の要求がある場合には、常にG
Busが優先となる。この要求に従い、GBusコント
ローラかBBusコントローラに転送要求を発行し、応
答を待つ。応答は、g/bMDone、g/bMRtr
yあるいは、g/bMBErrのいずれかの信号であ
る。
【0379】g/bMDoneの場合は転送の正常終了
であり、次のジェネレートアドレスからのGBus/B
Busに対する要求をチェックする。
であり、次のジェネレートアドレスからのGBus/B
Busに対する要求をチェックする。
【0380】g/bMRtryの場合は同じバスコント
ローラに再度転送要求を発行する。
ローラに再度転送要求を発行する。
【0381】g/bMBErrの場合には直ちにアイド
ル状態に戻る。
ル状態に戻る。
【0382】最後の転送が終了した時には、DMAリク
エストブロックは、ジェネレートアドレスからのGBu
s/BBusに対して要求待ち状態となる。DMAメイ
ンコントローラがDMA終了を検出して、DMAリクエ
ストに対してstopDMAReqが発行されるので、
それにより、DMARequestはアイドル状態に戻
る。
エストブロックは、ジェネレートアドレスからのGBu
s/BBusに対して要求待ち状態となる。DMAメイ
ンコントローラがDMA終了を検出して、DMAリクエ
ストに対してstopDMAReqが発行されるので、
それにより、DMARequestはアイドル状態に戻
る。
【0383】また、チェーンテーブルフェッチ時のバス
エラーやレジスタによるDMA強制終了の場合も、DM
Aメインコントローラから、stopDMAReqが発
行されるが、バスコントローラに転送要求をしている時
は、転送終了を待って、要求していない時は直ちにアイ
ドル状態に戻る。
エラーやレジスタによるDMA強制終了の場合も、DM
Aメインコントローラから、stopDMAReqが発
行されるが、バスコントローラに転送要求をしている時
は、転送終了を待って、要求していない時は直ちにアイ
ドル状態に戻る。
【0384】(レジスタユニット)内部レジスタユニッ
ト内には、各チャネルに対応するレジスタユニットが存
在する。各ユニットは、デコードするアドレスが異なる
以外は同じである。レジスタユニットは図97に示すよ
うに、レジスタユニット0とレジスタユニット1とを有
する。
ト内には、各チャネルに対応するレジスタユニットが存
在する。各ユニットは、デコードするアドレスが異なる
以外は同じである。レジスタユニットは図97に示すよ
うに、レジスタユニット0とレジスタユニット1とを有
する。
【0385】各レジスタユニットは、レジスタI/F、
アクションコントローラ、割り込みコントローラとパワ
ーステータスの各ブロックから構成される、GBIの各
ブロックに設定地値を供給するほか、割り込みコントロ
ーラによって割り込みを制御し、パワーステータスによ
り省電力可能なブロックを制御している。
アクションコントローラ、割り込みコントローラとパワ
ーステータスの各ブロックから構成される、GBIの各
ブロックに設定地値を供給するほか、割り込みコントロ
ーラによって割り込みを制御し、パワーステータスによ
り省電力可能なブロックを制御している。
【0386】[パワーステータス]GBIにおいて省電
力モード可能なユニットは、DMAコントローラとFI
FOユニットである。省電力モードはfifoInSl
eep信号、dmaInSleep信号により、各ブロ
ックのクロックをマスクすることで実現する。リセット
時は、ともに省電力モードに入る。DMAコントローラ
は、マスタモードで起動をかけると自動的に起動し、G
BIFIFOスリープレジスタのライトでスリープに入
る。
力モード可能なユニットは、DMAコントローラとFI
FOユニットである。省電力モードはfifoInSl
eep信号、dmaInSleep信号により、各ブロ
ックのクロックをマスクすることで実現する。リセット
時は、ともに省電力モードに入る。DMAコントローラ
は、マスタモードで起動をかけると自動的に起動し、G
BIFIFOスリープレジスタのライトでスリープに入
る。
【0387】パワーステータスブロックから出力される
パワーマネージメントステータス信号(pmState
[1:0])は、各チャネルで、 pmState[1:0] 00 level0(DMA、FIFOともに停止) 01 level1(FIFOのみ動作) 10 level2(DMA、FIFOともに動作) 11 NotDefine となる。
パワーマネージメントステータス信号(pmState
[1:0])は、各チャネルで、 pmState[1:0] 00 level0(DMA、FIFOともに停止) 01 level1(FIFOのみ動作) 10 level2(DMA、FIFOともに動作) 11 NotDefine となる。
【0388】DoEngineにおいては、スキャナコ
ントローラ(Scc)やプリンタコントローラ(Pr
c)が接続されるGBIは、1のチャネルしかないので
上のようになるが、2チャネル含む場合は各チャネルの
値を合計し、次のように4段階に縮退させる。
ントローラ(Scc)やプリンタコントローラ(Pr
c)が接続されるGBIは、1のチャネルしかないので
上のようになるが、2チャネル含む場合は各チャネルの
値を合計し、次のように4段階に縮退させる。
【0389】 pmState[1:0] 00 level0 (両チャネルのFIFO、DMAがともに停止) 01 level1 (1チャネルのFIFOのみ動作) 10 level2 (両チャネルのFIFOが動作、DMAは両方停止) 11 level3 (両チャネルのFIFOが動作、DMAは1つは動作) となる。
【0390】パワーマネージメントステータス信号(p
mState[1:0])は、IFBusを介して機能
ブロックへ送られる。機能ブロックでは、この信号と機
能ブロック自身の動作状態を基に、パワーマネージメン
トユニットへのパワーマネージメントステータス信号を
生成する。
mState[1:0])は、IFBusを介して機能
ブロックへ送られる。機能ブロックでは、この信号と機
能ブロック自身の動作状態を基に、パワーマネージメン
トユニットへのパワーマネージメントステータス信号を
生成する。
【0391】(GBIの動作モード)以上、GBIを構
成する各部について説明した。ここで、GBIの動作に
ついてまとめておく。GBIの動作モードには、大きく
分けて以下のものがある。
成する各部について説明した。ここで、GBIの動作に
ついてまとめておく。GBIの動作モードには、大きく
分けて以下のものがある。
【0392】1.スレーブモード 2.マスタモード マスタモードにおけるDMAの方式は、 A.対メモリ B.対I/O(アドレス固定) があり、対メモリDMAでは、 a.連続物理アドレス b.不連続物理アドレス(転送先メモリがメモリ管理の
ページ単位で分割されていることを想定) のメモリに対して転送を行う。また、対メモリDMAで
は、逆方向モードもサポートする(チャネル1のみ)。
ページ単位で分割されていることを想定) のメモリに対して転送を行う。また、対メモリDMAで
は、逆方向モードもサポートする(チャネル1のみ)。
【0393】連続物理アドレスに対するDMAは、先頭
アドレス、一行の長さ、次の行までのピッチ、及び行数
を指定する、いわゆる2次元DMAである。1次元の場
合は行数を1とすることで実現する。
アドレス、一行の長さ、次の行までのピッチ、及び行数
を指定する、いわゆる2次元DMAである。1次元の場
合は行数を1とすることで実現する。
【0394】不連続物理に対するDMAは、分割された
各メモリブロックの先頭アドレスと長さをメモリ上に配
置し、それを参照しながら、転送先のアドレスを計算
し、DMAを行う。この先頭アドレスと長さの組をチェ
ーンテーブルと呼ぶことにする。チェーンテーブルの一
例を図98に示す。不連続物理アドレスに対するDMA
では、チェーンテーブルを配置したメモリアドレスとア
ドレス・長さの組の数を指定する。もちろん、チェーン
テーブル自体は連続アドレスに配置しなければならない
が、もし、全チェーンテーブルが連続領域に置けない場
合には、先頭のアドレスの代わりに次のチェーンテーブ
ルのアドレスを、長さに0を設定することで、チェーン
テーブルをつなぐことができる。
各メモリブロックの先頭アドレスと長さをメモリ上に配
置し、それを参照しながら、転送先のアドレスを計算
し、DMAを行う。この先頭アドレスと長さの組をチェ
ーンテーブルと呼ぶことにする。チェーンテーブルの一
例を図98に示す。不連続物理アドレスに対するDMA
では、チェーンテーブルを配置したメモリアドレスとア
ドレス・長さの組の数を指定する。もちろん、チェーン
テーブル自体は連続アドレスに配置しなければならない
が、もし、全チェーンテーブルが連続領域に置けない場
合には、先頭のアドレスの代わりに次のチェーンテーブ
ルのアドレスを、長さに0を設定することで、チェーン
テーブルをつなぐことができる。
【0395】逆方向モードは、チェーンテーブルDMA
の1ブロック、2次元DMAの1ラインをアドレスの大
きい方から、小さい方へアクセスする。ブロックあるい
はライン単位の逆方向の指示は、チェーンテーブルDM
Aでは、チェーンテーブルを逆になるように作る。ピッ
チ付きのDMAの場合は、ピッチの値を負の値(2の補
数)を設定する。
の1ブロック、2次元DMAの1ラインをアドレスの大
きい方から、小さい方へアクセスする。ブロックあるい
はライン単位の逆方向の指示は、チェーンテーブルDM
Aでは、チェーンテーブルを逆になるように作る。ピッ
チ付きのDMAの場合は、ピッチの値を負の値(2の補
数)を設定する。
【0396】(割り込み制御)次に割り込みの制御につ
いて説明する。DBIからの割り込みは、以下の条件で
発生する。
いて説明する。DBIからの割り込みは、以下の条件で
発生する。
【0397】[マスタモード] 1.DMA正常終了 2.GBusでのDMA転送中のバスエラーの検出 3.BBusでのDMA転送中のバスエラーの検出 4.チェーンDMAモードでのチェーンテーブルリード
中のバスエラーの検出GBI停止レジスタによる強制終
了の場合、DMAコントローラが各バスのコントローラ
に要求中の転送が正常に終了した時点で、正常終了とな
る。もし、要求中の転送がバスエラーとなった場合に
は、バスエラーによる異常終了となる。
中のバスエラーの検出GBI停止レジスタによる強制終
了の場合、DMAコントローラが各バスのコントローラ
に要求中の転送が正常に終了した時点で、正常終了とな
る。もし、要求中の転送がバスエラーとなった場合に
は、バスエラーによる異常終了となる。
【0398】チャネル0では、機能ブロックがGBI内
のFIFOに全データを書き込んだ時点で終了する(割
り込みを発生する)が、FIFOにデータが残ってい
る。GBIはFIFOのデータを転送した時に、DMA
終了となるので、これをもって転送終了と判断する。
のFIFOに全データを書き込んだ時点で終了する(割
り込みを発生する)が、FIFOにデータが残ってい
る。GBIはFIFOのデータを転送した時に、DMA
終了となるので、これをもって転送終了と判断する。
【0399】チャネル1では、GBIはGBI内のFI
FOに全データを書き込んだ時点で終了する(割り込み
を発生する)が、FIFOにデータが残っている。機能
ブロックはFIFOのデータを転送した時に、終了とな
るので、これをもって転送終了と判断する。
FOに全データを書き込んだ時点で終了する(割り込み
を発生する)が、FIFOにデータが残っている。機能
ブロックはFIFOのデータを転送した時に、終了とな
るので、これをもって転送終了と判断する。
【0400】[スレーブモード] 5.FIFOイリーガルアクセス GBIに按続された機能ブロックとマスタとのデータの
転送は、GBIのFIFOを介して行われる。
転送は、GBIのFIFOを介して行われる。
【0401】GBus/BBusの両方使用する場合
(DoEngineでは、GBus/BBusの両方使
用可能なマスタはGBIのみ)には、両方のバスからの
同時アクセスに対して、どちらのバスが最初にFIFO
をアクセスするかを知る方法がない。マスタはGBus
/BBusに対して、排他的に転送要求を行う必要があ
る(GBIのマスタモードでは排他的に転送要求してい
る)。もし、GBus/BBusの両方が同時にFIF
Oにアクセスした場合には、FIFOイリーガルアクセ
スとなる。
(DoEngineでは、GBus/BBusの両方使
用可能なマスタはGBIのみ)には、両方のバスからの
同時アクセスに対して、どちらのバスが最初にFIFO
をアクセスするかを知る方法がない。マスタはGBus
/BBusに対して、排他的に転送要求を行う必要があ
る(GBIのマスタモードでは排他的に転送要求してい
る)。もし、GBus/BBusの両方が同時にFIF
Oにアクセスした場合には、FIFOイリーガルアクセ
スとなる。
【0402】上記の1から5のいずれかが起こり、かつ
対応する割り込み許可ビットが、”1”にセットされて
いる場合に割り込みが発生する。
対応する割り込み許可ビットが、”1”にセットされて
いる場合に割り込みが発生する。
【0403】(コアインターフェース)図99に、GB
Iと、BBus/GBus/機能ブロックとのインター
フェースをまとめたコアインターフェースの図を示す。
GBIは、BBusスレーブ動作でバスエラーを発行し
ないので、bError(Func)Out_Lはな
い。また、GBIはBBusスレーブ動作でbInst
NotData信号をチェックしないので、(fun
c)bInstNotData_inはなく、(fun
c)bInstNotData_outは、常に”0”
をドライブする。
Iと、BBus/GBus/機能ブロックとのインター
フェースをまとめたコアインターフェースの図を示す。
GBIは、BBusスレーブ動作でバスエラーを発行し
ないので、bError(Func)Out_Lはな
い。また、GBIはBBusスレーブ動作でbInst
NotData信号をチェックしないので、(fun
c)bInstNotData_inはなく、(fun
c)bInstNotData_outは、常に”0”
をドライブする。
【0404】また、GBIはGBusスレーブ動作でバ
スエラーを発行しないので、(func)gErr_L
_outはない。
スエラーを発行しないので、(func)gErr_L
_outはない。
【0405】なお、図99におけるGBIの信号名中の
Func(func)には、接続される機能ブロック、
すなわちscc(スキャナコントローラ)あるいはpr
c(プリンタコントローラ)の名前を入れる。
Func(func)には、接続される機能ブロック、
すなわちscc(スキャナコントローラ)あるいはpr
c(プリンタコントローラ)の名前を入れる。
【0406】また、DoEngineでは、機能ブロッ
クとして、スキャナコントローラのScc(scc)
と、プリンタコントローラのPrc(prc)がある。
いずれの場合もデータの流れが双方向でないので、不要
なFIFO、DMAコントローラ、レジスタを削除した
形でインプリメントする。
クとして、スキャナコントローラのScc(scc)
と、プリンタコントローラのPrc(prc)がある。
いずれの場合もデータの流れが双方向でないので、不要
なFIFO、DMAコントローラ、レジスタを削除した
形でインプリメントする。
【0407】(プリンタコントローラコアインターフェ
ース)図86は、プリンタコントローラ4303におけ
る、上述した各ブロックを含むコア部分と、外部バスや
スキャナとの間で入出力される信号をまとめた図であ
る。このように、プリンタコントローラ4303は、シ
ステムバスブリッジ402との間をGバスにより接続さ
れ、IOデバイスやパワーマネジメントデバイス及びシ
ステムバスブリッジとの間をBバスにより接続され、プ
リンタコントローラとの間をCPバスで接続され、Gバ
ス/BバスI/Fユニットとの間をI/Fバスにより接続さ
れている。
ース)図86は、プリンタコントローラ4303におけ
る、上述した各ブロックを含むコア部分と、外部バスや
スキャナとの間で入出力される信号をまとめた図であ
る。このように、プリンタコントローラ4303は、シ
ステムバスブリッジ402との間をGバスにより接続さ
れ、IOデバイスやパワーマネジメントデバイス及びシ
ステムバスブリッジとの間をBバスにより接続され、プ
リンタコントローラとの間をCPバスで接続され、Gバ
ス/BバスI/Fユニットとの間をI/Fバスにより接続さ
れている。
【0408】2.10.電力管理ユニット 図87は、電力管理ユニット409のブロック図であ
る。
る。
【0409】DoEngineはCPUを内蔵した大規
模なASICである。このため、内部のロジックが全部
同時に動作してしまうと、大量の熱を発生し、チップ自
体が破壊されてしまう恐れがある。これを防ぐために、
DoEngineは、ブロック毎の電力の管理、すなわ
ちパワーマネジメントを行ない、更にチップ全体の消費
電力量の監視を行なう。
模なASICである。このため、内部のロジックが全部
同時に動作してしまうと、大量の熱を発生し、チップ自
体が破壊されてしまう恐れがある。これを防ぐために、
DoEngineは、ブロック毎の電力の管理、すなわ
ちパワーマネジメントを行ない、更にチップ全体の消費
電力量の監視を行なう。
【0410】パワーマネージメントは、それぞれのブロ
ックが各自個別に行なう。各ブロックの消費電力量の情
報は、パワーマネージメントレベルとして、電力管理ユ
ニット(PMU)409に集められる。PMU409で
は、各ブロックの消費電力量を合計し、その値が限界消
費電力を超えないように、DoEngineの各ブロッ
クの消費電力量を一括して監視する。
ックが各自個別に行なう。各ブロックの消費電力量の情
報は、パワーマネージメントレベルとして、電力管理ユ
ニット(PMU)409に集められる。PMU409で
は、各ブロックの消費電力量を合計し、その値が限界消
費電力を超えないように、DoEngineの各ブロッ
クの消費電力量を一括して監視する。
【0411】(動作)電力管理ブロックの動作は次の通
りである。 ・各ブロックは、4段階のパワーマネジメントレベルを
持つ。 ・PMUは、それぞれのレベルにおける消費電力の値を
レジスタとして持つ。このレベル構成及び消費電力の値
は、PM構成レジスタ5401に保持される。 ・PMUは、各ブロックからパワーマネジメントレベル
を2ビットのステータス信号として受け取り(後述)、
レジスタ5401に設定された値と照合させて各ブロッ
クの消費電力を知る。 ・PMUは各ブロックの消費電力を加算器5403で加
算し、DoEngine全体の消費電力量をリアルタイ
ムに計算する。 ・算出された消費電力量は、構成レジスタ5401に設
定された消費電力のリミット値(PMリミット)と比較
器5404で比較され、これを超えた場合には割込発生
器5405から割り込み信号を発行する。 ・このリミット値は2段階設定することができる。1段
階目は、本当の限界から少し余裕を持たせた値を設定し
ておく。この値を超えると、通常の割込み信号が発行さ
れる。ソフトウェアはこれを受けて、新たにブロックを
起動するような転送は始めないようにする。ただ、2段
階目のリミット値に達しない範囲内では、ソフトウェア
の管理の元で、新たなブロックを起動することができ
る。2段階目のリミット値は、デバイスが破壊される恐
れのある値を設定しておく。万が一、この値を超えてし
まった時には、NMI(割込マスクが設定できない割り
込み)を発行して安全のためにシステムを停止させる。 ・割込み信号は、PMUの状態レジスタ5402をリー
ドすることで解除される。この状態レジスタ5402を
リードした時点からタイマカウントを始め、タイマがエ
クスパイアするまで消費電力量が戻らなければ、再び割
込み信号を発行する。このタイマの値の設定はPMUの
構成レジスタ5401に設定される。
りである。 ・各ブロックは、4段階のパワーマネジメントレベルを
持つ。 ・PMUは、それぞれのレベルにおける消費電力の値を
レジスタとして持つ。このレベル構成及び消費電力の値
は、PM構成レジスタ5401に保持される。 ・PMUは、各ブロックからパワーマネジメントレベル
を2ビットのステータス信号として受け取り(後述)、
レジスタ5401に設定された値と照合させて各ブロッ
クの消費電力を知る。 ・PMUは各ブロックの消費電力を加算器5403で加
算し、DoEngine全体の消費電力量をリアルタイ
ムに計算する。 ・算出された消費電力量は、構成レジスタ5401に設
定された消費電力のリミット値(PMリミット)と比較
器5404で比較され、これを超えた場合には割込発生
器5405から割り込み信号を発行する。 ・このリミット値は2段階設定することができる。1段
階目は、本当の限界から少し余裕を持たせた値を設定し
ておく。この値を超えると、通常の割込み信号が発行さ
れる。ソフトウェアはこれを受けて、新たにブロックを
起動するような転送は始めないようにする。ただ、2段
階目のリミット値に達しない範囲内では、ソフトウェア
の管理の元で、新たなブロックを起動することができ
る。2段階目のリミット値は、デバイスが破壊される恐
れのある値を設定しておく。万が一、この値を超えてし
まった時には、NMI(割込マスクが設定できない割り
込み)を発行して安全のためにシステムを停止させる。 ・割込み信号は、PMUの状態レジスタ5402をリー
ドすることで解除される。この状態レジスタ5402を
リードした時点からタイマカウントを始め、タイマがエ
クスパイアするまで消費電力量が戻らなければ、再び割
込み信号を発行する。このタイマの値の設定はPMUの
構成レジスタ5401に設定される。
【0412】(各ブロックのパワーマネージメント)各
ブロックのパワーマネージメント制御は、ブロック毎に
自由に構成してよい。構成例の例を示す。
ブロックのパワーマネージメント制御は、ブロック毎に
自由に構成してよい。構成例の例を示す。
【0413】(構成例1)この例では、内部ロジックへ
のクロックをオン/オフすることにより、パワーマネジ
メントを行なっているので、消費電力のレベルは2段階
しか持っていない。このレベルをステータス信号として
電力管理ユニット409に送る。図88にバスエージェ
ントのブロック図を示す。 ・バスエージェント5501は、各ユニット毎の内部ロ
ジック5502、アドレスをデコードするデコーダ55
03、クロックコントロール部5504、クロックゲー
ト5505を含む。 ・デコーダ5503とクロックコントロール部5504
は常に動作しており、パワーマネージメントコントロー
ルとして、バスのアクティビティーの監視、内部ロジッ
クへのクロックのゲーティングを行なっている。
のクロックをオン/オフすることにより、パワーマネジ
メントを行なっているので、消費電力のレベルは2段階
しか持っていない。このレベルをステータス信号として
電力管理ユニット409に送る。図88にバスエージェ
ントのブロック図を示す。 ・バスエージェント5501は、各ユニット毎の内部ロ
ジック5502、アドレスをデコードするデコーダ55
03、クロックコントロール部5504、クロックゲー
ト5505を含む。 ・デコーダ5503とクロックコントロール部5504
は常に動作しており、パワーマネージメントコントロー
ルとして、バスのアクティビティーの監視、内部ロジッ
クへのクロックのゲーティングを行なっている。
【0414】(クロックコントロール) ・バスエージェントは、バスのアクティビティーを検出
し、クロックのオン/オフを自動で行なう。 ・バスエージェントには、Sleep, Wake Up, Waitの3つ
のステートがある。 ・Sleepはバスエージェントにアクティビティーがな
く、クロックゲートクロックを停止させている状態であ
る。 ・Sleepの状態でも、デコーダ部5503、クロックコ
ントロール部5504は動作しており、バスをモニタリ
ングして、要求を待っている。 ・デコーダ5503が自分のアドレスを検出すると、ク
ロックゲート5505を開き、内部ロジックのクロック
を動作させ、バスの要求に応える。ステートはWake Up
に移行する。また、この状態を電力管理ユニット409
に通知する。 ・データ転送が終了すると、Waitステートに移行し、次
の要求を待つ。この時クロックは動作したままである。
要求があれば、Wake Upステートに戻り、転送を行な
う。また、要求を待っている間はタイマによりカウント
を行ない、要求がないままカウンタがタイムアップした
場合は、Sleepステートへ移り、クロックを停止させ
る。この状態も電力管理ユニット409に通知される。
し、クロックのオン/オフを自動で行なう。 ・バスエージェントには、Sleep, Wake Up, Waitの3つ
のステートがある。 ・Sleepはバスエージェントにアクティビティーがな
く、クロックゲートクロックを停止させている状態であ
る。 ・Sleepの状態でも、デコーダ部5503、クロックコ
ントロール部5504は動作しており、バスをモニタリ
ングして、要求を待っている。 ・デコーダ5503が自分のアドレスを検出すると、ク
ロックゲート5505を開き、内部ロジックのクロック
を動作させ、バスの要求に応える。ステートはWake Up
に移行する。また、この状態を電力管理ユニット409
に通知する。 ・データ転送が終了すると、Waitステートに移行し、次
の要求を待つ。この時クロックは動作したままである。
要求があれば、Wake Upステートに戻り、転送を行な
う。また、要求を待っている間はタイマによりカウント
を行ない、要求がないままカウンタがタイムアップした
場合は、Sleepステートへ移り、クロックを停止させ
る。この状態も電力管理ユニット409に通知される。
【0415】以上のようにして、消費電力が所定値を越
えないように管理している。
えないように管理している。
【0416】(コピー動作)上述の構成により、スキャ
ナから読み込んだ画像データをそのままプリンタへ転送
して、プリンタで画像形成する動作をコピー動作を行う
ことができる。本実施形態のDo Engineを用い
たスキャナ/プリンタシステムでは、以下に示す3種類
のコピーの方式がそのシステム構成に応じて選択され
る。
ナから読み込んだ画像データをそのままプリンタへ転送
して、プリンタで画像形成する動作をコピー動作を行う
ことができる。本実施形態のDo Engineを用い
たスキャナ/プリンタシステムでは、以下に示す3種類
のコピーの方式がそのシステム構成に応じて選択され
る。
【0417】(方式1)第1の方式は、スキャナによる
画像入力の垂直・水平タイミングと、プリンタによる画
像出力の水平・垂直タイミングがそれぞれ一致してい
て、ビデオデータの転送速度も一致している組み合わせ
のシステムにおける方式である。
画像入力の垂直・水平タイミングと、プリンタによる画
像出力の水平・垂直タイミングがそれぞれ一致してい
て、ビデオデータの転送速度も一致している組み合わせ
のシステムにおける方式である。
【0418】垂直同期信号(VSYNC)はプリンタから出
力されて、プリンタコントローラ(PRC)に入力される。
このVSYNC信号は、プリンタコントローラ(PRC)からCP
バスを介してスキャナコントローラ(SCC)に入力され
る。そして、スキャナコントローラ(SCC)からスキャナ
に対して出力される。これにより、プリンタとスキャナ
の垂直同期がとられる。水平同期についても、垂直同期
信号VSYNCと同様に、水平同期信号(HSYNC)がプリンタ
から出力され、プリンタコントローラ,CP−バス,ス
キャナコントローラを介してスキャナに入力される。こ
れによりスキャナとプリンタとの水平同期がとられる。
このように、垂直方向及び水平方向の同期がとられてス
キャナとプリンタが動作する。ビデオデータは同期用の
ビデオクロックとともにスキャナから出力される。出力
されたビデオクロックとビデオデータはスキャナコント
ローラ(SCC)に入力され、CPバスを介して、プリンタ
コントローラ(PRC)に入力される。そして、プリンタコ
ントローラ(PRC)からプリンタに出力される。プリンタ
ではビデオクロックに同期してビデオデータを受け取
り、画像出力をおこなう。
力されて、プリンタコントローラ(PRC)に入力される。
このVSYNC信号は、プリンタコントローラ(PRC)からCP
バスを介してスキャナコントローラ(SCC)に入力され
る。そして、スキャナコントローラ(SCC)からスキャナ
に対して出力される。これにより、プリンタとスキャナ
の垂直同期がとられる。水平同期についても、垂直同期
信号VSYNCと同様に、水平同期信号(HSYNC)がプリンタ
から出力され、プリンタコントローラ,CP−バス,ス
キャナコントローラを介してスキャナに入力される。こ
れによりスキャナとプリンタとの水平同期がとられる。
このように、垂直方向及び水平方向の同期がとられてス
キャナとプリンタが動作する。ビデオデータは同期用の
ビデオクロックとともにスキャナから出力される。出力
されたビデオクロックとビデオデータはスキャナコント
ローラ(SCC)に入力され、CPバスを介して、プリンタ
コントローラ(PRC)に入力される。そして、プリンタコ
ントローラ(PRC)からプリンタに出力される。プリンタ
ではビデオクロックに同期してビデオデータを受け取
り、画像出力をおこなう。
【0419】このコピー動作は、図89に示す構成によ
り行われる。このコピー動作ではGバスおよびBバスを
使用せずにコピー動作がおこなわれる。
り行われる。このコピー動作ではGバスおよびBバスを
使用せずにコピー動作がおこなわれる。
【0420】このコピー動作中、画像データはCPバス
を介してスキャナからプリンタへ直接転送されるが、同
時にスキャナコントローラ(SCC)からGバスのDMA転送に
よってSDRAMへ書き込むことが可能である。コピー動作
と同時にSDRAMに書き込まれた画像データは、必要に応
じて画像データとして格納すること等が可能となる。ま
た、SDRAM上の画像データをプリンタへ出力することに
より、スキャナで読み取った画像データを複数部の出力
することが、スキャナの動作なしに可能となる。
を介してスキャナからプリンタへ直接転送されるが、同
時にスキャナコントローラ(SCC)からGバスのDMA転送に
よってSDRAMへ書き込むことが可能である。コピー動作
と同時にSDRAMに書き込まれた画像データは、必要に応
じて画像データとして格納すること等が可能となる。ま
た、SDRAM上の画像データをプリンタへ出力することに
より、スキャナで読み取った画像データを複数部の出力
することが、スキャナの動作なしに可能となる。
【0421】(方式2)第2の方式は、スキャナによる
画像入力の水平タイミングと、プリンタによる画像出力
の水平タイミングとが一致しており、垂直タイミングと
ビデオデータの転送速度がそれぞれ一致していない組み
合わせのシステムにおける方式である。
画像入力の水平タイミングと、プリンタによる画像出力
の水平タイミングとが一致しており、垂直タイミングと
ビデオデータの転送速度がそれぞれ一致していない組み
合わせのシステムにおける方式である。
【0422】この場合のコピー動作を図90で説明す
る。スキャナが画像を読み取り始めると、垂直同期信号
(VSYNC)、水平同期信号(HSYNC)、ビデオクロックと
いう3つのタイミング信号がスキャナコントローラ(SC
C)に入力される。ビデオクロックに同期してビデオデー
タもスキャナコントローラ(SCC)に入力される。上記タ
イミング信号に同期して、スキャナコントローラ(SCC)
はビデオデータを内部のFIFO(FIFO_SCC)に取り込
む。FIFO_SCCに画像データが入り始めると同時に、FIFO
_SCCから、スキャナのGバス/BバスI/Fユニット43
01A(GBI_SCC)のFIFO(FIFO_GBI_SCC)にデー
タ転送が開始される。スキャナからの画像データは、FI
FO_SCCを介して順次FIFO_GBI_SCCに転送される。FIFO_G
BI_SCCにデータが入り始めると、プリンタのGバス/B
バスI/Fユニット4301B(GBI_PRC)がマスターで、
スキャナのGバス/BバスI/Fユニット4301A(GBI
_SCC)がスレーブとなるDMA転送が開始される。この時
のバスは、Gバスが空いていればそちらを利用するが、
空いていなければBバスであっても良い。
る。スキャナが画像を読み取り始めると、垂直同期信号
(VSYNC)、水平同期信号(HSYNC)、ビデオクロックと
いう3つのタイミング信号がスキャナコントローラ(SC
C)に入力される。ビデオクロックに同期してビデオデー
タもスキャナコントローラ(SCC)に入力される。上記タ
イミング信号に同期して、スキャナコントローラ(SCC)
はビデオデータを内部のFIFO(FIFO_SCC)に取り込
む。FIFO_SCCに画像データが入り始めると同時に、FIFO
_SCCから、スキャナのGバス/BバスI/Fユニット43
01A(GBI_SCC)のFIFO(FIFO_GBI_SCC)にデー
タ転送が開始される。スキャナからの画像データは、FI
FO_SCCを介して順次FIFO_GBI_SCCに転送される。FIFO_G
BI_SCCにデータが入り始めると、プリンタのGバス/B
バスI/Fユニット4301B(GBI_PRC)がマスターで、
スキャナのGバス/BバスI/Fユニット4301A(GBI
_SCC)がスレーブとなるDMA転送が開始される。この時
のバスは、Gバスが空いていればそちらを利用するが、
空いていなければBバスであっても良い。
【0423】このDMA転送により、FIFO_SCCの画像デー
タはGBI_PRC内のFIFO(FIFO_GBI_PRC)へ転送され
る。FIFO_GBI_PRCの画像データは、順次プリンタコント
ローラ(PRC)のFIFO(FIFO_PRC)へ転送される。FIF
O_PRCに画像データが入り始めると、プリンタコントロ
ーラ(PRC)はプリンタに垂直同期信号(VSYNC)を入力す
る。プリンタからは、VSYNCのタイミングにより、水平
同期信号(HSYNC)とビデオクロックを出力しはじめ
る。プリンタコントローラ(PRC)は水平同期信号HSYNCで
水平同期をとり、ビデオクロックに同期して、ビデオデ
ータをFIFO_PRCから出力する。そのビデオデータをプリ
ンタが画像出力する。
タはGBI_PRC内のFIFO(FIFO_GBI_PRC)へ転送され
る。FIFO_GBI_PRCの画像データは、順次プリンタコント
ローラ(PRC)のFIFO(FIFO_PRC)へ転送される。FIF
O_PRCに画像データが入り始めると、プリンタコントロ
ーラ(PRC)はプリンタに垂直同期信号(VSYNC)を入力す
る。プリンタからは、VSYNCのタイミングにより、水平
同期信号(HSYNC)とビデオクロックを出力しはじめ
る。プリンタコントローラ(PRC)は水平同期信号HSYNCで
水平同期をとり、ビデオクロックに同期して、ビデオデ
ータをFIFO_PRCから出力する。そのビデオデータをプリ
ンタが画像出力する。
【0424】このコピー動作の場合、画像データは、ス
キャナ, スキャナコントローラのFIFO(FIFO_SC
C), Gバス/BバスI/FユニットのFIFO(FIFO_GBI
_SCC),Gバス/BバスI/FユニットのFIFO(FIFO_G
BI_PRC),プリンタコントローラのFIFO(FIFO_PR
C), プリンタの順で転送されて、画像コピー動作がな
される。水平同期の間隔はスキャナとプリンタとで同一
であるので、画像データの転送速度の違いは各FIFOによ
り緩衝される。
キャナ, スキャナコントローラのFIFO(FIFO_SC
C), Gバス/BバスI/FユニットのFIFO(FIFO_GBI
_SCC),Gバス/BバスI/FユニットのFIFO(FIFO_G
BI_PRC),プリンタコントローラのFIFO(FIFO_PR
C), プリンタの順で転送されて、画像コピー動作がな
される。水平同期の間隔はスキャナとプリンタとで同一
であるので、画像データの転送速度の違いは各FIFOによ
り緩衝される。
【0425】(方式3)第3の方式は、スキャナとプリ
ンタの垂直同期タイミング、水平同期タイミング、ビデ
オデータの転送速度がそれぞれすべて異なる組み合わせ
のシステムにおける方式である。
ンタの垂直同期タイミング、水平同期タイミング、ビデ
オデータの転送速度がそれぞれすべて異なる組み合わせ
のシステムにおける方式である。
【0426】この場合のコピー動作を図91により説明
する。スキャナで画像の読み取りが開始すると、スキャ
ナは垂直同期信号(VSYNC)、水平同期信号(HSYNC)、
ビデオクロックをスキャナコントローラ(SCC)に出力す
る。これらのタイミング信号に同期して画像データが出
力される。スキャナコントローラ(SCC)は上記タイミン
グ信号に同期して画像データを取り込む。取り込まれた
画像データはGBI_SCCにより、DMA転送でメモリコントロ
ーラ(MC)403へ転送される。MC403では、DMA転
送された画像データをSDRAMに書き込む。SDRAMに書き込
まれた画像データの量が、スキャナとプリンタの画像デ
ータ転送速度の差を緩衝できる量に達すると、プリンタ
への画像データ転送が開始される。この画像データ量の
判定は、スキャナからのデータ転送時間による判定、SD
RAMに書き込まれるアドレスによる判定、GBI_SCCにおけ
るDMA転送量の判定等、種々の方式がある。
する。スキャナで画像の読み取りが開始すると、スキャ
ナは垂直同期信号(VSYNC)、水平同期信号(HSYNC)、
ビデオクロックをスキャナコントローラ(SCC)に出力す
る。これらのタイミング信号に同期して画像データが出
力される。スキャナコントローラ(SCC)は上記タイミン
グ信号に同期して画像データを取り込む。取り込まれた
画像データはGBI_SCCにより、DMA転送でメモリコントロ
ーラ(MC)403へ転送される。MC403では、DMA転
送された画像データをSDRAMに書き込む。SDRAMに書き込
まれた画像データの量が、スキャナとプリンタの画像デ
ータ転送速度の差を緩衝できる量に達すると、プリンタ
への画像データ転送が開始される。この画像データ量の
判定は、スキャナからのデータ転送時間による判定、SD
RAMに書き込まれるアドレスによる判定、GBI_SCCにおけ
るDMA転送量の判定等、種々の方式がある。
【0427】プリンタへの画像データ転送はプリンタコ
ントローラ(PRC)により行われる。プリンタコントロー
ラ(PRC)は、GBI_PRCのDMA転送により、SDRAMに書き込ま
れた画像データを順次内部のFIFOへ入力する。同時にプ
リンタへ垂直同期信号(VSYNC)を出力する。その後、
プリンタからは水平同期信号(HSYNC)とビデオクロッ
クを入力する。このHSYNCとビデオクロックと同期し
て、プリンタコントローラ(PRC)は内部のFIFOから画像
データをプリンタへと出力する。上記画像データの流れ
により、スキャナで読み取られた画像データをプリンタ
から出力するコピー動作がおこなわれる。この場合の画
像データの流れは、スキャナ,スキャナコントローラ,
スキャナのGバス/BバスI/Fユニット(GBI_SCC),メ
モリコントローラ(MC),SDRAM,メモリコントローラ(M
C),プリンタのGバス/BバスI/Fユニット(GBI_PR
C),プリンタコントローラ(RRC),プリンタの順となる。
このように、一旦メモリに格納し、それをスキャナとプ
リンタとの間の緩衝メモリとして、スキャナからプリン
タへと画像データを転送し、コピーを行う。
ントローラ(PRC)により行われる。プリンタコントロー
ラ(PRC)は、GBI_PRCのDMA転送により、SDRAMに書き込ま
れた画像データを順次内部のFIFOへ入力する。同時にプ
リンタへ垂直同期信号(VSYNC)を出力する。その後、
プリンタからは水平同期信号(HSYNC)とビデオクロッ
クを入力する。このHSYNCとビデオクロックと同期し
て、プリンタコントローラ(PRC)は内部のFIFOから画像
データをプリンタへと出力する。上記画像データの流れ
により、スキャナで読み取られた画像データをプリンタ
から出力するコピー動作がおこなわれる。この場合の画
像データの流れは、スキャナ,スキャナコントローラ,
スキャナのGバス/BバスI/Fユニット(GBI_SCC),メ
モリコントローラ(MC),SDRAM,メモリコントローラ(M
C),プリンタのGバス/BバスI/Fユニット(GBI_PR
C),プリンタコントローラ(RRC),プリンタの順となる。
このように、一旦メモリに格納し、それをスキャナとプ
リンタとの間の緩衝メモリとして、スキャナからプリン
タへと画像データを転送し、コピーを行う。
【0428】本システムは上記3方式のコピー動作機能
を有する。(方式1)、(方式2)、(方式3)の順で
コピー動作時に動作する内部ブロックが多くなる。内部
ブロックの使用率が増加すると、システム全体のパフォ
ーマンスが効率を低下させる要因となりうる。本システ
ムは接続されるデバイス(プリンタ・スキャナ)に応じ
て、システム全体が最も効率的なコピー動作方式を選択
することが可能である。
を有する。(方式1)、(方式2)、(方式3)の順で
コピー動作時に動作する内部ブロックが多くなる。内部
ブロックの使用率が増加すると、システム全体のパフォ
ーマンスが効率を低下させる要因となりうる。本システ
ムは接続されるデバイス(プリンタ・スキャナ)に応じ
て、システム全体が最も効率的なコピー動作方式を選択
することが可能である。
【0429】コピー方式を選択する方法としては、例え
ば次のようなものがある。 UART等を介して指定するコピー方式そのものを入
力させ、指定された方式でコピー動作を行う。 プリンタとスキャナのデータ転送速度や水平・垂直同
期周波数等、必要なパラメタをUART等から入力さ
せ、それらの値に応じて上記3通りの方式からCPU4
01がひとつを選択し、その方式でコピー動作を行わせ
る。 プリンタコントローラがプリンタのデータ転送速度や
水平・垂直同期周波数等、必要なパラメタを読取り、ス
キャナコントローラがスキャナからデータ転送速度や水
平・垂直同期周波数等、必要なパラメタを読取り、それ
らをCPU401により比較判定してコピー動作の方式
を決定する。
ば次のようなものがある。 UART等を介して指定するコピー方式そのものを入
力させ、指定された方式でコピー動作を行う。 プリンタとスキャナのデータ転送速度や水平・垂直同
期周波数等、必要なパラメタをUART等から入力さ
せ、それらの値に応じて上記3通りの方式からCPU4
01がひとつを選択し、その方式でコピー動作を行わせ
る。 プリンタコントローラがプリンタのデータ転送速度や
水平・垂直同期周波数等、必要なパラメタを読取り、ス
キャナコントローラがスキャナからデータ転送速度や水
平・垂直同期周波数等、必要なパラメタを読取り、それ
らをCPU401により比較判定してコピー動作の方式
を決定する。
【0430】上記〜の方法で決定された、あるいは
選択されたコピー方式はCPUからプリンタコントロー
ラ及びスキャナコントローラに知らされ、その方式でプ
リンタコントローラ及びスキャナコントローラ等により
コピーを行わせる。
選択されたコピー方式はCPUからプリンタコントロー
ラ及びスキャナコントローラに知らされ、その方式でプ
リンタコントローラ及びスキャナコントローラ等により
コピーを行わせる。
【0431】次に、上記の方式でコピー方式を決定す
る手順を説明する。
る手順を説明する。
【0432】図100は、CPU401による、3通り
のコピー方式からシステムで使用するコピー方式を選択
する手順のフローチャートである。この動作はシステム
の電源立ち上げ時、ステップS1から開始される。
のコピー方式からシステムで使用するコピー方式を選択
する手順のフローチャートである。この動作はシステム
の電源立ち上げ時、ステップS1から開始される。
【0433】ステップS2では、プリンタの種別の判定
が行われる。CPU401はプリンタコントローラ43
03を介して、プリンタビデオI/Fに含まれるコマン
ド/ステータスラインを通じて、プリンタから種別を示
すIDを取得する。このコマンド/ステータスライン
は、プリンタコントローラとプリンタとが1対1にコマ
ンド/ステータスのやりとりができるシリアル通信ライ
ンである。
が行われる。CPU401はプリンタコントローラ43
03を介して、プリンタビデオI/Fに含まれるコマン
ド/ステータスラインを通じて、プリンタから種別を示
すIDを取得する。このコマンド/ステータスライン
は、プリンタコントローラとプリンタとが1対1にコマ
ンド/ステータスのやりとりができるシリアル通信ライ
ンである。
【0434】ステップS3では、同様にCPUがスキャ
ナコントローラ4302を介して、スキャナビデオI/
Fに含まれるコマンド/ステータスラインを通じ、スキ
ャナから種別を示すIDを取得する。
ナコントローラ4302を介して、スキャナビデオI/
Fに含まれるコマンド/ステータスラインを通じ、スキ
ャナから種別を示すIDを取得する。
【0435】ステップS4では、ステップS2とS3で
判定された、スキャナとプリンタの組み合わせに適した
コピー経路の判定が行われる。スキャナとプリンタの組
み合わせに適したコピー経路の判定は、あらかじめテー
ブルの形式で、例えば、フラッシュROM等のCPUが
参照可能なメモリに準備されている。各コピー経路に適
したスキャナとプリンタの組み合わせは次のようなもの
がある。 (方式1)スキャナとプリンタの水平、垂直
タイミングが同期していて、ビデオデータの転送速度も
同期している組み合わせ (方式2)スキャナとプリンタの水平同期タイミングの
速度が同一で、垂直タイミングとビデオデータの転送速
度は同期していない組み合わせ (方式3)スキャナとプリンタの垂直同期タイミング、
水平同期タイミング、ビデオデータの転送速度がそれぞ
れ異なる組み合わせ CPUは、あらかじめ用意されたテーブル参照におい
て、上記3方式から適切なコピー方式を選択する。
判定された、スキャナとプリンタの組み合わせに適した
コピー経路の判定が行われる。スキャナとプリンタの組
み合わせに適したコピー経路の判定は、あらかじめテー
ブルの形式で、例えば、フラッシュROM等のCPUが
参照可能なメモリに準備されている。各コピー経路に適
したスキャナとプリンタの組み合わせは次のようなもの
がある。 (方式1)スキャナとプリンタの水平、垂直
タイミングが同期していて、ビデオデータの転送速度も
同期している組み合わせ (方式2)スキャナとプリンタの水平同期タイミングの
速度が同一で、垂直タイミングとビデオデータの転送速
度は同期していない組み合わせ (方式3)スキャナとプリンタの垂直同期タイミング、
水平同期タイミング、ビデオデータの転送速度がそれぞ
れ異なる組み合わせ CPUは、あらかじめ用意されたテーブル参照におい
て、上記3方式から適切なコピー方式を選択する。
【0436】ステップS5では、ステップS4で選択さ
れたコピー方式に応じたモード設定がスキャナコントロ
ーラ4302に対してなされる。このモード設定は、C
PUがBBusを介して行う。
れたコピー方式に応じたモード設定がスキャナコントロ
ーラ4302に対してなされる。このモード設定は、C
PUがBBusを介して行う。
【0437】図101は、スキャナコントローラ430
2内部のデータバスの切り換え回路を示す図である。な
お、データバスセレクタは、図44のスキャナデバイス
I/F4401に含まれる。また、データバスの切り替
えの説明に不用なスキャナビデオクロックユニット等は
省略した。
2内部のデータバスの切り換え回路を示す図である。な
お、データバスセレクタは、図44のスキャナデバイス
I/F4401に含まれる。また、データバスの切り替
えの説明に不用なスキャナビデオクロックユニット等は
省略した。
【0438】レジスタ1には、データバスのモードが設
定される。CPUは、図100のステップS4において
選択したコピー方式に応じたモードをレジスタ1に設定
する。セレクト制御信号4は、モード設定レジスタ1に
設定されたモードに応じてデータパスを選択するための
信号である。スキャナビデオバス2は、スキャナからの
ビデオデータのバスである。バス5は、スキャナからの
ビデオデータをFIFO_SCC6に転送するバスである。C
Pビデオバス7は、(方式1)のコピー動作を行う場合
に使用されるバスである。スキャンビデオバスからのビ
デオデータは(方式1)の場合はCPビデオバス7に出
力するようにデータパスがセレクトされる。(方式
2)、(方式3)の場合にはバス5にビデオデータが出
力されて、FIFO_SCC4407に転送される。
定される。CPUは、図100のステップS4において
選択したコピー方式に応じたモードをレジスタ1に設定
する。セレクト制御信号4は、モード設定レジスタ1に
設定されたモードに応じてデータパスを選択するための
信号である。スキャナビデオバス2は、スキャナからの
ビデオデータのバスである。バス5は、スキャナからの
ビデオデータをFIFO_SCC6に転送するバスである。C
Pビデオバス7は、(方式1)のコピー動作を行う場合
に使用されるバスである。スキャンビデオバスからのビ
デオデータは(方式1)の場合はCPビデオバス7に出
力するようにデータパスがセレクトされる。(方式
2)、(方式3)の場合にはバス5にビデオデータが出
力されて、FIFO_SCC4407に転送される。
【0439】図100で、次にステップS6に移行す
る。ステップS6では、GBI_sccの動作モード設定を行
う。このモード設定はCPUがステップS4で選択した
コピー方式に基づいて行う。(方式1)では、GBI_scc
は非動作指定される。(方式2)では、DMA転送のマ
スター指定がなされ、DMAの転送先にはGBI_prcが設
定される。(方式3)ではDMA転送のマスター指定が
なされ、DMAの転送先にはSDRAMが設定される。
る。ステップS6では、GBI_sccの動作モード設定を行
う。このモード設定はCPUがステップS4で選択した
コピー方式に基づいて行う。(方式1)では、GBI_scc
は非動作指定される。(方式2)では、DMA転送のマ
スター指定がなされ、DMAの転送先にはGBI_prcが設
定される。(方式3)ではDMA転送のマスター指定が
なされ、DMAの転送先にはSDRAMが設定される。
【0440】次にステップS7では、GBI_prcの動作モ
ード設定を行う。このモード設定はCPUがステップS
4で選択したコピー方式に基づいて行う。(方式1)で
は、GBI_prcは非動作指定がなされる。(方式2)では
DMA転送のスレーブ指定がなされる。(方式3)で
は、DMA転送のマスター指定がなされ、DMA転送の
読み出しもとはSDRAMが設定される。
ード設定を行う。このモード設定はCPUがステップS
4で選択したコピー方式に基づいて行う。(方式1)で
は、GBI_prcは非動作指定がなされる。(方式2)では
DMA転送のスレーブ指定がなされる。(方式3)で
は、DMA転送のマスター指定がなされ、DMA転送の
読み出しもとはSDRAMが設定される。
【0441】次にステップS8では、プリンタコントロ
ーラのモード設定がなされる。このモード設定はステッ
プS4で選択されたコピー方式に基づいてCPUが行
う。
ーラのモード設定がなされる。このモード設定はステッ
プS4で選択されたコピー方式に基づいてCPUが行
う。
【0442】図102は、プリンタコントローラ430
3内部のデータバスの切り換え回路を示す図である。レ
ジスタ11には、データバスのモードが設定される。C
PUは、図100のステップS4において選択したコピ
ー方式に応じたモードをレジスタ11に設定する。セレ
クト制御信号14は、モード設定レジスタ11に設定さ
れたモードに応じてデータバスのセレクトを行う信号で
ある。バス15は、FIFO_PRC16から出力されるデー
タのバスである。バス12は、プリンタへのビデオデー
タバスである。CPビデオバス17は、(方式1)のコ
ピー動作を行う場合に使用する。プリンタへのビデオデ
ータは(方式1)の場合はCPビデオバスのデータがセ
レクトされ、出力される。(方式2)、(方式3)の場
合にはバス15からのデータがプリンタビデオバス12
に出力される。
3内部のデータバスの切り換え回路を示す図である。レ
ジスタ11には、データバスのモードが設定される。C
PUは、図100のステップS4において選択したコピ
ー方式に応じたモードをレジスタ11に設定する。セレ
クト制御信号14は、モード設定レジスタ11に設定さ
れたモードに応じてデータバスのセレクトを行う信号で
ある。バス15は、FIFO_PRC16から出力されるデー
タのバスである。バス12は、プリンタへのビデオデー
タバスである。CPビデオバス17は、(方式1)のコ
ピー動作を行う場合に使用する。プリンタへのビデオデ
ータは(方式1)の場合はCPビデオバスのデータがセ
レクトされ、出力される。(方式2)、(方式3)の場
合にはバス15からのデータがプリンタビデオバス12
に出力される。
【0443】ステップS9で、電源立ち上げ時のコピー
方式選択のフローが終了する。以上のようにして、CP
Uはスキャナ及びプリンタの種別に応じたコピー方式を
決定することができる。
方式選択のフローが終了する。以上のようにして、CP
Uはスキャナ及びプリンタの種別に応じたコピー方式を
決定することができる。
【0444】なお、上述の手順はスキャナ及びプリンタ
の垂直同期タイミング、水平同期タイミング、ビデオデ
ータの転送速度に基づいて、コピー動作の方式を決定す
る手順であるが、単なるコピーでなく、画像の加工が加
わる場合にはこの限りではない。すなわち、図100の
ステップ2の前に、画像データを加工するか否かを判定
し、画像データを加工する場合には、スキャナ及びプリ
ンタの仕様に関わりなく、方式3を選択し、ステップS
5〜S8における設定では、データの径路が方式3にな
るよう各ブロックの設定を行う。こうすることで、画像
データを加工する場合には読み込んだ画像データはいっ
たんメモリに格納されるため、そこで画像データに対し
て必要な加工を施すことができる。
の垂直同期タイミング、水平同期タイミング、ビデオデ
ータの転送速度に基づいて、コピー動作の方式を決定す
る手順であるが、単なるコピーでなく、画像の加工が加
わる場合にはこの限りではない。すなわち、図100の
ステップ2の前に、画像データを加工するか否かを判定
し、画像データを加工する場合には、スキャナ及びプリ
ンタの仕様に関わりなく、方式3を選択し、ステップS
5〜S8における設定では、データの径路が方式3にな
るよう各ブロックの設定を行う。こうすることで、画像
データを加工する場合には読み込んだ画像データはいっ
たんメモリに格納されるため、そこで画像データに対し
て必要な加工を施すことができる。
【0445】また、方式2あるいは方式3ではバスを使
用する。この際、GバスあるいはBバスのいずれを使用
するかは、各バスの使用状況により決定される。すなわ
ち、Gバス/Bバスともにアイドル状態であれば、バス
幅の広いGバスを使用する。いずれかが使用中であれ
ば、未使用の方を使用する。
用する。この際、GバスあるいはBバスのいずれを使用
するかは、各バスの使用状況により決定される。すなわ
ち、Gバス/Bバスともにアイドル状態であれば、バス
幅の広いGバスを使用する。いずれかが使用中であれ
ば、未使用の方を使用する。
【0446】以上説明したように、DoEngineに
おいては、スキャナは、スキャナコントローラ4302
及びGBI_SCC4301Aを介してバス(Gバス及
びBバス)に接続されている。スキャナコントローラ4
302及びGBI_SCC4301Aは、それぞれFI
FOを介して互いに画像データを転送するように接続さ
れている。このように、それぞれがFIFOを有してい
るために、GBIは、64ビット幅で動作クロックが1
00MHzという非常に高速なGバスに接続されている
にも関わらず、比較的低速なスキャナから読み込まれた
画像データを効率的に転送することができる。これは、
プリンタコントローラに関しても同様である。
おいては、スキャナは、スキャナコントローラ4302
及びGBI_SCC4301Aを介してバス(Gバス及
びBバス)に接続されている。スキャナコントローラ4
302及びGBI_SCC4301Aは、それぞれFI
FOを介して互いに画像データを転送するように接続さ
れている。このように、それぞれがFIFOを有してい
るために、GBIは、64ビット幅で動作クロックが1
00MHzという非常に高速なGバスに接続されている
にも関わらず、比較的低速なスキャナから読み込まれた
画像データを効率的に転送することができる。これは、
プリンタコントローラに関しても同様である。
【0447】さらに、スキャナとプリンタそれぞれの同
期信号の一致・不一致に応じて、コピー時のデータ経路
を選択することで、スキャナ及びプリンタの仕様がどの
ようなものであろうとも、可能な限り速いデータ転送を
用いてコピーを行うことができる。
期信号の一致・不一致に応じて、コピー時のデータ経路
を選択することで、スキャナ及びプリンタの仕様がどの
ようなものであろうとも、可能な限り速いデータ転送を
用いてコピーを行うことができる。
【0448】すなわち、上述のスキャナコントローラ及
びプリンタコントローラ及びそれぞれのGBIを用いて
スキャナ及びプリンタをDoEngineのバスに接続
することで、スキャナ及びプリンタの仕様からのDoE
ngineの独立性をより高めることが可能となった。 [その他の構成例]図9及び図10で示したキャッシュ
の動作手順は、図103及び図104のようなものであ
ってもよい。
びプリンタコントローラ及びそれぞれのGBIを用いて
スキャナ及びプリンタをDoEngineのバスに接続
することで、スキャナ及びプリンタの仕様からのDoE
ngineの独立性をより高めることが可能となった。 [その他の構成例]図9及び図10で示したキャッシュ
の動作手順は、図103及び図104のようなものであ
ってもよい。
【0449】図103においては、MCバスよりデータ
転送が開始されると、その最初にMCバスで示されるm
TType[60:0]によってその転送をキャッシュ
オンで行うかオフで行うか判断される。ここでは、転送
がバースト転送の時、そのバースト転送データ量がキャ
ッシュの1ラインのデータ量より大か小かによって判断
する。なお、キャッシュの1ラインは256ビット=4
バースト分である。
転送が開始されると、その最初にMCバスで示されるm
TType[60:0]によってその転送をキャッシュ
オンで行うかオフで行うか判断される。ここでは、転送
がバースト転送の時、そのバースト転送データ量がキャ
ッシュの1ラインのデータ量より大か小かによって判断
する。なお、キャッシュの1ラインは256ビット=4
バースト分である。
【0450】図103において、メモリコントローラは
転送の開始でmTType[3:0]をチェックし、m
TTypeが示すバースト長が1/2/4であれば、キ
ャッシュオンで動作し、6/8/16/2×16/3×
16/4×16の場合はキャッシュオフで動作する。キ
ャッシュオンあるいはオフ後の動作は、図9及び図10
と同様である。
転送の開始でmTType[3:0]をチェックし、m
TTypeが示すバースト長が1/2/4であれば、キ
ャッシュオンで動作し、6/8/16/2×16/3×
16/4×16の場合はキャッシュオフで動作する。キ
ャッシュオンあるいはオフ後の動作は、図9及び図10
と同様である。
【0451】また、図105及び図106のように、デ
バイスによってキャッシュのオンオフを切り替えること
もできる。図105において、メモリコントローラは転
送の開始でmTType[6:4]をチェックすること
により転送要求デバイスを識別し、そのデバイスの転送
要求をキャッシュオンで動作するか、オフで動作するか
を判断するために、あらかじめ設定されている構成レジ
スタの値を参照し、キャッシュオンで動作するか、オフ
で動作するか決定する。キャッシュオンあるいはオフ後
の動作は、図9及び図10と同様である。構成レジスタ
の設定は、ハードウエア的に決定(変更不可)していも
良いし、ソフトウエアで書換え可能にしてもよい。
バイスによってキャッシュのオンオフを切り替えること
もできる。図105において、メモリコントローラは転
送の開始でmTType[6:4]をチェックすること
により転送要求デバイスを識別し、そのデバイスの転送
要求をキャッシュオンで動作するか、オフで動作するか
を判断するために、あらかじめ設定されている構成レジ
スタの値を参照し、キャッシュオンで動作するか、オフ
で動作するか決定する。キャッシュオンあるいはオフ後
の動作は、図9及び図10と同様である。構成レジスタ
の設定は、ハードウエア的に決定(変更不可)していも
良いし、ソフトウエアで書換え可能にしてもよい。
【0452】(複合画像形成装置の動作)Do Eng
ineの機構や動作は以上説明したとおりである。ここ
で、はじめに図127として示した複合画像形成装置の
動作について説明する。
ineの機構や動作は以上説明したとおりである。ここ
で、はじめに図127として示した複合画像形成装置の
動作について説明する。
【0453】図111は、複合画像形成装置の操作パネ
ル1を示す平面図である。この操作パネル1は、表示部
116−5と操作部116−6とを一体にしたものであ
り、図4の操作パネル417に相当する。
ル1を示す平面図である。この操作パネル1は、表示部
116−5と操作部116−6とを一体にしたものであ
り、図4の操作パネル417に相当する。
【0454】図111において、操作パネル1には、各
機能の選択状態等を示す操作画面表示部2と各機能を切
り替える操作部8と、その他の各種操作ボタン等が設け
られている。
機能の選択状態等を示す操作画面表示部2と各機能を切
り替える操作部8と、その他の各種操作ボタン等が設け
られている。
【0455】そして、図111では、複写機能が選択さ
れている状態を示しており、操作画面表示部2には、複
写機能の作動状況をメッセージ表示するためのメッセー
ジ部3と、複写機能以外の作動状況を表わすアイコン表
示部4と、複写機能が選択されていることを表わすアイ
コン5とが表示されている。このように、選択されてい
る機能以外に、動作している機能(ジョブ)を表示する
ことで、操作者が現在使用中の機器が、選択した機能で
動作しているのか否か認識できる。たとえば、オペレー
タが複写機能を選択した場合、プリントアウトがされて
も、それがオペレータの操作によるものかどうか、複合
機機では判断できない。例えば、その機器は接続された
コンピュータ等からプリンタとして使用されていること
もあり得る。オペレータは、状態の表示を見ることで、
現在の動作が果たして自分の選択した機能か、それとも
他のジョブを実行しているのか認識できることになる。
れている状態を示しており、操作画面表示部2には、複
写機能の作動状況をメッセージ表示するためのメッセー
ジ部3と、複写機能以外の作動状況を表わすアイコン表
示部4と、複写機能が選択されていることを表わすアイ
コン5とが表示されている。このように、選択されてい
る機能以外に、動作している機能(ジョブ)を表示する
ことで、操作者が現在使用中の機器が、選択した機能で
動作しているのか否か認識できる。たとえば、オペレー
タが複写機能を選択した場合、プリントアウトがされて
も、それがオペレータの操作によるものかどうか、複合
機機では判断できない。例えば、その機器は接続された
コンピュータ等からプリンタとして使用されていること
もあり得る。オペレータは、状態の表示を見ることで、
現在の動作が果たして自分の選択した機能か、それとも
他のジョブを実行しているのか認識できることになる。
【0456】なお、メッセージ部3には、1つだけメッ
セージが表示されるが、その他にもメッセージ群6で示
すような各種メッセージが表示可能である。また、アイ
コン表示部4には、1つまたは2つのアイコンが表示さ
れるが、その他にもアイコン群7で示すような各種アイ
コンが表示可能である。
セージが表示されるが、その他にもメッセージ群6で示
すような各種メッセージが表示可能である。また、アイ
コン表示部4には、1つまたは2つのアイコンが表示さ
れるが、その他にもアイコン群7で示すような各種アイ
コンが表示可能である。
【0457】また、図112は、操作画面表示部2にフ
ァクシミリ機能が選択されている状態を示している。
ァクシミリ機能が選択されている状態を示している。
【0458】この状態で操作画面表示部2には、ファク
シミリ機能の作動状況をメッセージ表示するためのメッ
セージ部10と、ファクシミリ機能以外の機能の作動状
況を表わすアイコン表示部11と、ファクシミリ機能が
選択されていることを表わすアイコン12とが表示され
ている。
シミリ機能の作動状況をメッセージ表示するためのメッ
セージ部10と、ファクシミリ機能以外の機能の作動状
況を表わすアイコン表示部11と、ファクシミリ機能が
選択されていることを表わすアイコン12とが表示され
ている。
【0459】なお、メッセージ部10には、1つだけメ
ッセージが表示されるが、その他にもメッセージ群13
で示すような各種メッセージが表示可能である。また、
アイコン表示部11には、1つまたは2つのアイコンが
表示されるが、その他にもアイコン群14で示すような
各種アイコンが表示可能である。
ッセージが表示されるが、その他にもメッセージ群13
で示すような各種メッセージが表示可能である。また、
アイコン表示部11には、1つまたは2つのアイコンが
表示されるが、その他にもアイコン群14で示すような
各種アイコンが表示可能である。
【0460】また、図113は、操作画面表示部2に電
子ファイル機能が選択されている状態を示している。
子ファイル機能が選択されている状態を示している。
【0461】この状態で操作画面表示部2には、電子フ
ァイル機能の作動状況をメッセージ表示するためのメッ
セージ部16と、電子ファイル機能以外の機能の作動状
況を表わすアイコン表示部17と、電子ファイル機能が
選択されていることを表わすアイコン18とが表示され
ている。
ァイル機能の作動状況をメッセージ表示するためのメッ
セージ部16と、電子ファイル機能以外の機能の作動状
況を表わすアイコン表示部17と、電子ファイル機能が
選択されていることを表わすアイコン18とが表示され
ている。
【0462】なお、メッセージ部16には、1つだけメ
ッセージが表示されるが、その他にもメッセージ群19
で示すような各種メッセージが表示可能である。また、
アイコン表示部17には、1つまたは2つのアイコンが
表示されるが、その他にもアイコン群20で示すような
各種アイコンが表示可能である。
ッセージが表示されるが、その他にもメッセージ群19
で示すような各種メッセージが表示可能である。また、
アイコン表示部17には、1つまたは2つのアイコンが
表示されるが、その他にもアイコン群20で示すような
各種アイコンが表示可能である。
【0463】また、図114は、操作画面表示部2にプ
リンタ機能が選択されている状態を示している。
リンタ機能が選択されている状態を示している。
【0464】この状態で操作画面表示部2には、プリン
タ機能の作動状況をメッセージ表示するためのメッセー
ジ部22とプリンタ機能以外の機能の作動状況を表わす
アイコン表示部23と、プリンタ機能が選択されている
ことを表わすアイコン24とが表示されている。
タ機能の作動状況をメッセージ表示するためのメッセー
ジ部22とプリンタ機能以外の機能の作動状況を表わす
アイコン表示部23と、プリンタ機能が選択されている
ことを表わすアイコン24とが表示されている。
【0465】なお、メッセージ部22には、1つだけメ
ッセージが表示されるが、その他にもメッセージ群25
で示すような各種メッセージが表示可能である。また、
アイコン表示部23には、1つまたは2つのアイコンが
表示されるが、その他にもアイコン群26で示すような
各種アイコンが表示可能である。
ッセージが表示されるが、その他にもメッセージ群25
で示すような各種メッセージが表示可能である。また、
アイコン表示部23には、1つまたは2つのアイコンが
表示されるが、その他にもアイコン群26で示すような
各種アイコンが表示可能である。
【0466】以下、使用者の操作に伴う並列作動状況の
表示動作について説明する。
表示動作について説明する。
【0467】通電状態の装置の操作パネル11にある、
複写機能が選択されている操作画面表示部2上にある複
写機能の作動状況メッセージ部3と、複写機能が選択さ
れていることを表わすアイコン5とにより、複写機能の
作動状況が使用者に認知できる。
複写機能が選択されている操作画面表示部2上にある複
写機能の作動状況メッセージ部3と、複写機能が選択さ
れていることを表わすアイコン5とにより、複写機能の
作動状況が使用者に認知できる。
【0468】さらに、複写機能以外の機能の作動状況を
表わすアイコン表示部4の表示により、他の機能の並列
作動状況が認知できる。
表わすアイコン表示部4の表示により、他の機能の並列
作動状況が認知できる。
【0469】次に、操作部8にあるファクシミリ機能の
ボタンを選択し、操作画面表示部2をファクシミリ機能
が選択されていることを表す図112の状態に切り替え
る。すると、その表示部2上にあるファクシミリ機能の
作動状況メッセージ部10とファクシミリ機能が選択さ
れていることを表わすアイコン12の表示により、ファ
クシミリ機能の作動状況が使用者に認知できる。
ボタンを選択し、操作画面表示部2をファクシミリ機能
が選択されていることを表す図112の状態に切り替え
る。すると、その表示部2上にあるファクシミリ機能の
作動状況メッセージ部10とファクシミリ機能が選択さ
れていることを表わすアイコン12の表示により、ファ
クシミリ機能の作動状況が使用者に認知できる。
【0470】さらに、ファクシミリ機能以外の機能の作
動状況を表わすアイコン表示部11の表示により、他の
機能の並列作動状況が認知できる。
動状況を表わすアイコン表示部11の表示により、他の
機能の並列作動状況が認知できる。
【0471】次に、操作部8にある電子ファイル機能の
ボタンを選択し、操作画面表示部2を電子ファイル機能
が選択されていることを表す図113の状態に切り替え
る。すると、その表示部2上にある電子ファイル機能の
作動状況メッセージ部16と電子ファイル機能が選択さ
れていることを表わすアイコン18の表示により、電子
ファイル機能の作動状況が使用者に認知できる。
ボタンを選択し、操作画面表示部2を電子ファイル機能
が選択されていることを表す図113の状態に切り替え
る。すると、その表示部2上にある電子ファイル機能の
作動状況メッセージ部16と電子ファイル機能が選択さ
れていることを表わすアイコン18の表示により、電子
ファイル機能の作動状況が使用者に認知できる。
【0472】さらに、電子ファイル機能以外の機能の作
動状況を表わすアイコン表示部17の表示により、他の
機能の並列作動状況が認知できる。
動状況を表わすアイコン表示部17の表示により、他の
機能の並列作動状況が認知できる。
【0473】次に、操作部8にあるファクシミリ機能の
ボタンを選択し、操作画面表示部2をプリンタ機能が選
択されていることを表す図114の状態に切り替える。
すると、その表示部2上にあるプリンタ機能の作動状況
メッセージ部22とプリンタ機能が選択されていること
を表わすアイコン24の表示により、プリンタ機能の作
動状況が使用者に認知できる。
ボタンを選択し、操作画面表示部2をプリンタ機能が選
択されていることを表す図114の状態に切り替える。
すると、その表示部2上にあるプリンタ機能の作動状況
メッセージ部22とプリンタ機能が選択されていること
を表わすアイコン24の表示により、プリンタ機能の作
動状況が使用者に認知できる。
【0474】さらに、プリンタ機能以外の機能の作業状
況を表わすアイコン表示23の表示により、他の機能の
並列作動状況が認知できる。 (ジョブ実行状態の表
示)図108に、オペレータが選択した機能を実行する
際の、ジョブの実行とその状態表示を行うための手順を
示す。また、図109に、画面表示を行うタスクと、ジ
ョブを実行するタスク群とのメッセージ交換の様を示
す。これらの処理は、図127にしめした装置全体の制
御部であるDo Engine116−1により実行さ
れる。
況を表わすアイコン表示23の表示により、他の機能の
並列作動状況が認知できる。 (ジョブ実行状態の表
示)図108に、オペレータが選択した機能を実行する
際の、ジョブの実行とその状態表示を行うための手順を
示す。また、図109に、画面表示を行うタスクと、ジ
ョブを実行するタスク群とのメッセージ交換の様を示
す。これらの処理は、図127にしめした装置全体の制
御部であるDo Engine116−1により実行さ
れる。
【0475】図108において、まずキー操作があった
か判定する(ステップS1081)。なお、予め機能は
選択されているものとする。キー操作がされたなら、押
されたキーがスタートキーか判定する(ステップS10
84)。スタートキーであれば、画面表示タスク109
1によりジョブ実行中の表示がなされる(ステップS1
085)。これにより、例えば図111の「コピーでき
ます」という表示が、メッセージ6に含まれる「コピー
中です」という表示に変更される。
か判定する(ステップS1081)。なお、予め機能は
選択されているものとする。キー操作がされたなら、押
されたキーがスタートキーか判定する(ステップS10
84)。スタートキーであれば、画面表示タスク109
1によりジョブ実行中の表示がなされる(ステップS1
085)。これにより、例えば図111の「コピーでき
ます」という表示が、メッセージ6に含まれる「コピー
中です」という表示に変更される。
【0476】そして画面表示タスク1091からジョブ
実行タスク1092に対してジョブ開始メッセージ10
93を送信する(ステップS1086)。これによりジ
ョブ実行タスクが起動される。また、ステップS108
4で、押されたキーがスタートキーでないと判定した場
合には、例えばコピーであればサイズや枚数といった、
ジョブの実行条件の入力などであるので、キー操作に応
じて設定を行う(ステップS1087)。
実行タスク1092に対してジョブ開始メッセージ10
93を送信する(ステップS1086)。これによりジ
ョブ実行タスクが起動される。また、ステップS108
4で、押されたキーがスタートキーでないと判定した場
合には、例えばコピーであればサイズや枚数といった、
ジョブの実行条件の入力などであるので、キー操作に応
じて設定を行う(ステップS1087)。
【0477】一方、ステップS1081でキー操作がな
いと判定される場合には、ジョブ実行タスクからのジョ
ブ終了メッセージ1094を受けているか判定し(ステ
ップS1082)、受けていればジョブ実行中の表示に
替えて終了メッセージを表示する(ステップS108
3)。図111で言えば、メッセージ6に含まれる「コ
ピー中です」なるジョブ実行中を示すの表示から、「コ
ピーできます」なる、ジョブが実行されていない状態の
表示に変更する。
いと判定される場合には、ジョブ実行タスクからのジョ
ブ終了メッセージ1094を受けているか判定し(ステ
ップS1082)、受けていればジョブ実行中の表示に
替えて終了メッセージを表示する(ステップS108
3)。図111で言えば、メッセージ6に含まれる「コ
ピー中です」なるジョブ実行中を示すの表示から、「コ
ピーできます」なる、ジョブが実行されていない状態の
表示に変更する。
【0478】上記の手順で注目すべきことは、ステップ
S1085及びステップS1083における表示処理
を、画像処理のジョブと並列に実行し得ることである。
すなわち、図4に示したように、Do Engine
は、画像データ用のGバスと汎用のBバスのデュアルバ
ス構成を有している。このため、図109における画面
表示タスク1091はBバスを用いて表示データを表示
部に出力し、ジョブ実行タスク群は、そのジョブがメモ
リの内容に対するCPUによる処理やGバスを用いた画
像入出である限り、Bバスを用いない。したがって、メ
モリ上のデータのCPU401による処理、あるいはG
バス404上のスキャナあるいはプリンタの画像データ
の入出力が実行中であってとしても、Bバスに接続され
た表示部116−5への表示出力あるいは操作部116
−6とのデータの入出力は同時並行して行うことができ
る。
S1085及びステップS1083における表示処理
を、画像処理のジョブと並列に実行し得ることである。
すなわち、図4に示したように、Do Engine
は、画像データ用のGバスと汎用のBバスのデュアルバ
ス構成を有している。このため、図109における画面
表示タスク1091はBバスを用いて表示データを表示
部に出力し、ジョブ実行タスク群は、そのジョブがメモ
リの内容に対するCPUによる処理やGバスを用いた画
像入出である限り、Bバスを用いない。したがって、メ
モリ上のデータのCPU401による処理、あるいはG
バス404上のスキャナあるいはプリンタの画像データ
の入出力が実行中であってとしても、Bバスに接続され
た表示部116−5への表示出力あるいは操作部116
−6とのデータの入出力は同時並行して行うことができ
る。
【0479】例えば、図111はコピー機能の画面であ
る。表示は「コピーできます」であり、コピージョブは
実行されていない。このとき表示されたアイコン4か
ら、ファクシミリの受信あるいは送信が行われているこ
とがわかる。この状態で、スタートボタンを押すと、図
108の手順が実行されて、コピージョブがスタートす
ると共に、表示が「コピー中です」に変更される。コピ
ージョブ実行中は、スキャナからの画像の読み込み及び
プリンタへの画像の書き出しにより、Gバス上には大量
の画像データが流される。
る。表示は「コピーできます」であり、コピージョブは
実行されていない。このとき表示されたアイコン4か
ら、ファクシミリの受信あるいは送信が行われているこ
とがわかる。この状態で、スタートボタンを押すと、図
108の手順が実行されて、コピージョブがスタートす
ると共に、表示が「コピー中です」に変更される。コピ
ージョブ実行中は、スキャナからの画像の読み込み及び
プリンタへの画像の書き出しにより、Gバス上には大量
の画像データが流される。
【0480】このとき、ファクシミリ受信あるいは送信
が終了したものとする。このとき、ファクシミリ受信あ
るいは送信が終了したことは、ただちにアイコン4を消
すことで画面表示される。画面表示はGバスを用いない
ため、進行中のコピージョブを全く遅滞させることがな
い。また、進行中のコピージョブの終了を待って表示を
行う必要もない。アイコン4等、オペレータが選択した
機能以外のジョブが動作していることを示すアイコンの
点灯及び消灯も、画面表示タスク1091により実行さ
れる。ただし、オペレータにより選択されていない機能
についてはキー操作と連動せず、ジョブの開始/終了に
応じてアイコンの点灯/消灯の制御が画面表示タスクに
より行われる。すなわち、選択されていない機能のジョ
ブに関しては、図108に示したステップS1081の
かわりに、選択されていない機能に関し何らかの指示が
されているか判定し、ステップS1084のかわりに、
その指示がジョブの実行開始の指示であるかを判定する
ことになる。
が終了したものとする。このとき、ファクシミリ受信あ
るいは送信が終了したことは、ただちにアイコン4を消
すことで画面表示される。画面表示はGバスを用いない
ため、進行中のコピージョブを全く遅滞させることがな
い。また、進行中のコピージョブの終了を待って表示を
行う必要もない。アイコン4等、オペレータが選択した
機能以外のジョブが動作していることを示すアイコンの
点灯及び消灯も、画面表示タスク1091により実行さ
れる。ただし、オペレータにより選択されていない機能
についてはキー操作と連動せず、ジョブの開始/終了に
応じてアイコンの点灯/消灯の制御が画面表示タスクに
より行われる。すなわち、選択されていない機能のジョ
ブに関しては、図108に示したステップS1081の
かわりに、選択されていない機能に関し何らかの指示が
されているか判定し、ステップS1084のかわりに、
その指示がジョブの実行開始の指示であるかを判定する
ことになる。
【0481】このように、本装置では、ジョブ実行タス
クと画面表示タスクとを完全に並列に処理できるため
に、実際のジョブの状態から何ら遅滞なく、ジョブの状
態を表示でき、また、表示によってジョブの実行を妨げ
ることがない。これは、表示部のみならず、Bバス上の
デバイスを用いた処理と、Gバス上のスキャナあるいは
プリンタを用いた処理との関係において同様である。
クと画面表示タスクとを完全に並列に処理できるため
に、実際のジョブの状態から何ら遅滞なく、ジョブの状
態を表示でき、また、表示によってジョブの実行を妨げ
ることがない。これは、表示部のみならず、Bバス上の
デバイスを用いた処理と、Gバス上のスキャナあるいは
プリンタを用いた処理との関係において同様である。
【0482】[第2の実施形態]次に、本発明の第2実
施例について説明する。
施例について説明する。
【0483】上述した第1実施例は、使用者が使用する
ために選択している機能と操作をしないため選択されて
いない他の機能との並列作動状況を操作画面2上で、選
択された機能を表すアイコン5、12、18、24と、
選択された機能以外の作動状況を表すアイコン4、1
1、17、23と、メッセージ3、10、16、22と
により使用者に認知させるようにしたが、この第2実施
例は、使用者が使用するために選択している機能と、操
作をしないため選択されていない他の機能との並列作動
状況を、機能別にそれぞれ用意した操作画面エリア部を
機能別アイコンおよびメッセージを見えるように階層状
に表示させることにより、使用者に認知させるようにし
たものである。
ために選択している機能と操作をしないため選択されて
いない他の機能との並列作動状況を操作画面2上で、選
択された機能を表すアイコン5、12、18、24と、
選択された機能以外の作動状況を表すアイコン4、1
1、17、23と、メッセージ3、10、16、22と
により使用者に認知させるようにしたが、この第2実施
例は、使用者が使用するために選択している機能と、操
作をしないため選択されていない他の機能との並列作動
状況を、機能別にそれぞれ用意した操作画面エリア部を
機能別アイコンおよびメッセージを見えるように階層状
に表示させることにより、使用者に認知させるようにし
たものである。
【0484】図115は、この第2実施例における複写
機能選択時における操作パネル1を示す平面図であり、
図116〜図118は、それぞれファクシミリ機能、電
子ファイル機能、およびプリンタ機能選択時における操
作画面表示部2を示す平面図である。
機能選択時における操作パネル1を示す平面図であり、
図116〜図118は、それぞれファクシミリ機能、電
子ファイル機能、およびプリンタ機能選択時における操
作画面表示部2を示す平面図である。
【0485】図115において、アイコン27は、ファ
クシミリ機能が選択されていないことを表わすものであ
り、アイコン28は、電子ファイル機能が選択されてい
ないことを表わすものである。また、アイコン29は、
プリンタ機能が選択されていないことを表わすものであ
り、アイコン30は、複写機能が選択されていないこと
を表わすものである。
クシミリ機能が選択されていないことを表わすものであ
り、アイコン28は、電子ファイル機能が選択されてい
ないことを表わすものである。また、アイコン29は、
プリンタ機能が選択されていないことを表わすものであ
り、アイコン30は、複写機能が選択されていないこと
を表わすものである。
【0486】なお、その他の第1実施例と共通する要素
については、同一符号を用いて個々の説明は省略する。
については、同一符号を用いて個々の説明は省略する。
【0487】まず、図115において、複写機能の作動
状況メッセージ部3と複写機能が選択されていることを
表わすアイコン5の表示により、複写機能の作動状況を
使用者が認知できる。
状況メッセージ部3と複写機能が選択されていることを
表わすアイコン5の表示により、複写機能の作動状況を
使用者が認知できる。
【0488】さらに、ファクシミリ機能が選択されてい
ないことを表わすアイコン27と、ファクシミリ機能の
作動状況メッセージ部10と、電子ファイル機能が選択
されていないことを表わすアイコン28と、電子ファイ
ル機能の作動状況メッセージ部16と、プリンタ機能が
選択されていないことを表わすアイコン29と、プリン
タ機能の作動状況メッセージ部22の各表示により、他
の機能の並列作動状況が認知できる。
ないことを表わすアイコン27と、ファクシミリ機能の
作動状況メッセージ部10と、電子ファイル機能が選択
されていないことを表わすアイコン28と、電子ファイ
ル機能の作動状況メッセージ部16と、プリンタ機能が
選択されていないことを表わすアイコン29と、プリン
タ機能の作動状況メッセージ部22の各表示により、他
の機能の並列作動状況が認知できる。
【0489】次に、図115において、ファクシミリ機
能が選択されていないことを表わすアイコン27を押し
て、操作画面表示部2をファクシミリ機能が選択されて
いる図116に示す状態に切り替える。すると、その表
示部2上にあるファクシミリ機能の作動状況メッセージ
部10とファクシミリ機能が選択されていることを表わ
すアイコン12の表示により、ファクシミリ機能の作動
状況を使用者が認知できる。
能が選択されていないことを表わすアイコン27を押し
て、操作画面表示部2をファクシミリ機能が選択されて
いる図116に示す状態に切り替える。すると、その表
示部2上にあるファクシミリ機能の作動状況メッセージ
部10とファクシミリ機能が選択されていることを表わ
すアイコン12の表示により、ファクシミリ機能の作動
状況を使用者が認知できる。
【0490】さらに、複写機能が選択されていないこと
を表わすアイコン30と、複写機能の作動状況メッセー
ジ部3と、電子ファイル機能が選択されていないことを
表わすアイコン28と、電子ファイル機能の作動状況メ
ッセージ部16と、プリンタ機能が選択されていないこ
とを表わすアイコン29と、プリンタ機能の作動状況メ
ッセージ部22の各表示により、他の機能の並列作動状
況を認知できる。
を表わすアイコン30と、複写機能の作動状況メッセー
ジ部3と、電子ファイル機能が選択されていないことを
表わすアイコン28と、電子ファイル機能の作動状況メ
ッセージ部16と、プリンタ機能が選択されていないこ
とを表わすアイコン29と、プリンタ機能の作動状況メ
ッセージ部22の各表示により、他の機能の並列作動状
況を認知できる。
【0491】次に、図116において、電子ファイル機
能が選択されていないことを表わすアイコン28を押し
て、操作画面表示部2を電子ファイル機能が選択されて
いる図117に示す状態に切り替える。すると、その表
示部2上にある電子ファイル機能の作動状況メッセージ
部16と電子ファイル機能が選択されていることを表わ
すアイコン19の表示により、電子ファイル機能の作動
状況を使用者が認知できる。
能が選択されていないことを表わすアイコン28を押し
て、操作画面表示部2を電子ファイル機能が選択されて
いる図117に示す状態に切り替える。すると、その表
示部2上にある電子ファイル機能の作動状況メッセージ
部16と電子ファイル機能が選択されていることを表わ
すアイコン19の表示により、電子ファイル機能の作動
状況を使用者が認知できる。
【0492】さらに、複写機能が選択されていないこと
を表わすアイコン30と、複写機能の作動状況メッセー
ジ部3と、ファクシミリ機能が選択されていないことを
表わすアイコン27と、ファクシミリ機能の作動状況メ
ッセージ部10と、プリンタ機能が選択されていないこ
とを表わすアイコン29と、プリンタ機能の作動状況メ
ッセージ部22の各表示により、他の機能の並列作動状
況が認知できる。
を表わすアイコン30と、複写機能の作動状況メッセー
ジ部3と、ファクシミリ機能が選択されていないことを
表わすアイコン27と、ファクシミリ機能の作動状況メ
ッセージ部10と、プリンタ機能が選択されていないこ
とを表わすアイコン29と、プリンタ機能の作動状況メ
ッセージ部22の各表示により、他の機能の並列作動状
況が認知できる。
【0493】次に、図117において、プリンタ機能が
選択されていないことを表わすアイコン29を押して、
操作画面表示部2をプリンタ機能が選択されている図1
18に示す状態に切り替える。すると、その表示部2上
にあるプリンタ機能の作動状況メッセージ部22とプリ
ンタ機能が選択されていることを表わすアイコン24の
表示により、プリンタ機能の作動状況を使用者が認知で
きる。
選択されていないことを表わすアイコン29を押して、
操作画面表示部2をプリンタ機能が選択されている図1
18に示す状態に切り替える。すると、その表示部2上
にあるプリンタ機能の作動状況メッセージ部22とプリ
ンタ機能が選択されていることを表わすアイコン24の
表示により、プリンタ機能の作動状況を使用者が認知で
きる。
【0494】さらに、複写機能が選択されていないこと
を表わすアイコン30と、複写機能の作動状況メッセー
ジ部3と、ファクシミリ機能が選択されていないことを
表わすアイコン27と、ファクシミリ機能の作動状況メ
ッセージ部10と、電子ファイル機能が選択されていな
いことを表わすアイコン表示28と、電子ファイル機能
の作動状況メッセージ部16の各表示により、他の機能
の並列動作状況が認知できる。
を表わすアイコン30と、複写機能の作動状況メッセー
ジ部3と、ファクシミリ機能が選択されていないことを
表わすアイコン27と、ファクシミリ機能の作動状況メ
ッセージ部10と、電子ファイル機能が選択されていな
いことを表わすアイコン表示28と、電子ファイル機能
の作動状況メッセージ部16の各表示により、他の機能
の並列動作状況が認知できる。
【0495】以上のような表示方式であっても、図10
9に示したように、画面表示タスクとジョブ実行タスク
とがバスを競合しないため、ジョブ状態の表示を高い即
時性で行え、また、ジョブの実行を表示よって妨げるこ
とがなくなる。
9に示したように、画面表示タスクとジョブ実行タスク
とがバスを競合しないため、ジョブ状態の表示を高い即
時性で行え、また、ジョブの実行を表示よって妨げるこ
とがなくなる。
【0496】[第3の実施形態]次に、本発明の第3実
施例について説明する。
施例について説明する。
【0497】従来の複合画像形成装置において、機能を
切り換えたことを使用者に認知させる方法としては、操
作パネルに設けた各機能の文字表示に対応して配置した
LED表示灯を点灯または点滅させるようにしている。
切り換えたことを使用者に認知させる方法としては、操
作パネルに設けた各機能の文字表示に対応して配置した
LED表示灯を点灯または点滅させるようにしている。
【0498】しかしながら、このような方法では、使用
者自身が認知しづらいため、使用者は、切り換わった上
京を判断するのに、注意深く確認しなければならないた
め、時間がかかってしまう。
者自身が認知しづらいため、使用者は、切り換わった上
京を判断するのに、注意深く確認しなければならないた
め、時間がかかってしまう。
【0499】また、切り換えた後の機能が、実は間違っ
て選択していた場合、そのことを確認し、判断するまで
の時間もかかってしまう。つまり、使用者が使用したい
機能が選択されたのか、間違って再度切り換え直さなけ
ればならないのか、容易に判断できず、使用者の負担と
なっている。
て選択していた場合、そのことを確認し、判断するまで
の時間もかかってしまう。つまり、使用者が使用したい
機能が選択されたのか、間違って再度切り換え直さなけ
ればならないのか、容易に判断できず、使用者の負担と
なっている。
【0500】そこで、この第3実施例では、複合画像形
成装置において、機能を切り換えた時に、その切り換え
られた機能が、どの機能であるかを使用者が瞬時に認知
し、判断できるようにしたものである。
成装置において、機能を切り換えた時に、その切り換え
られた機能が、どの機能であるかを使用者が瞬時に認知
し、判断できるようにしたものである。
【0501】すなわち、以下の第3、第4実施例では、
複合画像形成装置の機能切り換え時の状況を、切り換わ
った直後のモード設定用表示画面に、切り換わった機能
に特有のシンボルマークや装飾文字によるシンボル表示
を行う事により、使用者に瞬時に認知し、判断できるよ
うにしたものである。
複合画像形成装置の機能切り換え時の状況を、切り換わ
った直後のモード設定用表示画面に、切り換わった機能
に特有のシンボルマークや装飾文字によるシンボル表示
を行う事により、使用者に瞬時に認知し、判断できるよ
うにしたものである。
【0502】図119は、この第3実施例における複合
画像形成装置の操作パネル1を示す平面図である。
画像形成装置の操作パネル1を示す平面図である。
【0503】図119において、操作パネル1には、数
値入力等のためのテンキー102と、各種操作画面表示
部を構成するタッチパネル103とを有する。
値入力等のためのテンキー102と、各種操作画面表示
部を構成するタッチパネル103とを有する。
【0504】そして、図119は、複写機能が選択され
ている状態を示しており、タッチパネル103は、各機
能を切り換える選択ボタンを備えた操作部104と、複
写機能のモード設定入力部105と、複写機能のモード
選択入力部106と、複写機能の表示部107とを有す
る。
ている状態を示しており、タッチパネル103は、各機
能を切り換える選択ボタンを備えた操作部104と、複
写機能のモード設定入力部105と、複写機能のモード
選択入力部106と、複写機能の表示部107とを有す
る。
【0505】そして、表示部107には、複写機能が選
択されていることを示すための、複写機能を表現するシ
ンボルマーク120が表示されている。
択されていることを示すための、複写機能を表現するシ
ンボルマーク120が表示されている。
【0506】図120〜図122は、それぞれファクシ
ミリ機能、電子ファイル機能、およびプリンタ機能選択
時におけるタッチパネル103を示す平面図である。
ミリ機能、電子ファイル機能、およびプリンタ機能選択
時におけるタッチパネル103を示す平面図である。
【0507】図120は、ファクシミリ機能が選択され
ている状態を示しており、タッチパネル103は、上記
操作部104と、ファクシミリ機能のモード設定入力部
109と、ファクシミリ機能のモード選択入力部110
と、ファクシミリ機能の表示部111とを有する。
ている状態を示しており、タッチパネル103は、上記
操作部104と、ファクシミリ機能のモード設定入力部
109と、ファクシミリ機能のモード選択入力部110
と、ファクシミリ機能の表示部111とを有する。
【0508】そして、表示部111には、ファクシミリ
機能が選択されていることを示すための、ファクシミリ
機能を表現するシンボルマーク121が表示されてい
る。
機能が選択されていることを示すための、ファクシミリ
機能を表現するシンボルマーク121が表示されてい
る。
【0509】また、図121は、電子ファイル機能が選
択されている状態を示しており、タッチパネル103
は、上記操作部104と、電子ファイル機能のモード設
定入力部113と、電子ファイル機能のモード選択入力
部114と、電子ファイル機能の表示部115とを有す
る。
択されている状態を示しており、タッチパネル103
は、上記操作部104と、電子ファイル機能のモード設
定入力部113と、電子ファイル機能のモード選択入力
部114と、電子ファイル機能の表示部115とを有す
る。
【0510】そして、表示部115には、電子ファイル
機能が選択されていることを示すための、電子ファイル
機能を表現するシンボルマーク122が表示されてい
る。
機能が選択されていることを示すための、電子ファイル
機能を表現するシンボルマーク122が表示されてい
る。
【0511】また、図122は、プリンタ機能が選択さ
れている状態を示しており、タッチパネル103は、上
記操作部104と、プリンタ機能のモード設定入力部1
17と、プリンタ機能のモード選択入力部118と、プ
リンタ機能の表示部119とを有する。
れている状態を示しており、タッチパネル103は、上
記操作部104と、プリンタ機能のモード設定入力部1
17と、プリンタ機能のモード選択入力部118と、プ
リンタ機能の表示部119とを有する。
【0512】そして、表示部119には、プリンタ機能
が選択されていることを示すための、プリンタ機能を表
現するシンボルマーク123が表示されている。
が選択されていることを示すための、プリンタ機能を表
現するシンボルマーク123が表示されている。
【0513】以下、この第3実施例における操作方法と
それにと伴う表示方法について説明する。
それにと伴う表示方法について説明する。
【0514】まず、装置の電源スイッチを入れると、操
作パネル1には、図119に示す状態でタッチパネル1
03が起動する。ここでは、シンボルマーク120の点
滅表示により、複写機能が選択されたことを表示してい
る。
作パネル1には、図119に示す状態でタッチパネル1
03が起動する。ここでは、シンボルマーク120の点
滅表示により、複写機能が選択されたことを表示してい
る。
【0515】そして、この複写機能を使用するには、図
119の表示状態で、テンキー102やモード設定入力
部105、モード選択入力部106を適宜操作すること
により、上記シンボルマーク120が消え、入力値や設
定値が表示されることになる。
119の表示状態で、テンキー102やモード設定入力
部105、モード選択入力部106を適宜操作すること
により、上記シンボルマーク120が消え、入力値や設
定値が表示されることになる。
【0516】次に、複写機能を使用しない場合や使用後
に、ファクシミリ機能に切り換えるには、操作部104
のファクシミリキーを押下する。
に、ファクシミリ機能に切り換えるには、操作部104
のファクシミリキーを押下する。
【0517】これにより、操作パネル1には、図120
に示す状態でタッチパネル103が起動する。そして、
この状態で、シンボルマーク121の点滅表示により、
ファクシミリ機能が選択されたことを表示する。
に示す状態でタッチパネル103が起動する。そして、
この状態で、シンボルマーク121の点滅表示により、
ファクシミリ機能が選択されたことを表示する。
【0518】そして、このファクシミリ機能を使用する
には、図120の表示状態で、テンキー102やモード
設定入力部109、モード選択入力部110を適宜操作
することにより、上記シンボルマーク121が消え、入
力値や設定値が表示されることになる。
には、図120の表示状態で、テンキー102やモード
設定入力部109、モード選択入力部110を適宜操作
することにより、上記シンボルマーク121が消え、入
力値や設定値が表示されることになる。
【0519】次に、複写機能およびファクシミリ機能を
使用しない場合や使用後に、電子ファイル機能に切り換
えるには、操作部104のファイルキーを押下する。
使用しない場合や使用後に、電子ファイル機能に切り換
えるには、操作部104のファイルキーを押下する。
【0520】これにより、操作パネル1には、図121
に示す状態でタッチパネル103が起動する。そして、
この状態で、シンボルマーク122の点滅表示により、
電子ファイル機能が選択されたことを表示する。
に示す状態でタッチパネル103が起動する。そして、
この状態で、シンボルマーク122の点滅表示により、
電子ファイル機能が選択されたことを表示する。
【0521】そして、この電子ファイル機能を使用する
には、図121の表示状態で、テンキー102やモード
設定入力部113、モード選択入力部114を適宜選択
することにより、上記シンボルマーク122が消え、入
力値や設定値が表示されることになる。
には、図121の表示状態で、テンキー102やモード
設定入力部113、モード選択入力部114を適宜選択
することにより、上記シンボルマーク122が消え、入
力値や設定値が表示されることになる。
【0522】次に、複写機能、ファクシミリ機能および
電子ファイル機能を使用しない場合や使用後に、プリン
タ機能に切り換えるには、操作部104のプリンタキー
を押下する。
電子ファイル機能を使用しない場合や使用後に、プリン
タ機能に切り換えるには、操作部104のプリンタキー
を押下する。
【0523】これにより、操作パネル1には、図122
に示す状態でタッチパネル103が起動する。そして、
この状態で、シンボルマーク123の点滅表示により、
プリンタ機能が選択されたことを表示する。
に示す状態でタッチパネル103が起動する。そして、
この状態で、シンボルマーク123の点滅表示により、
プリンタ機能が選択されたことを表示する。
【0524】そして、このプリンタ機能を使用するに
は、図122の表示状態で、テンキー102やモード設
定入力部117、モード選択入力部118を適宜操作す
ることにより、上記シンボルマーク123が消え、入力
値や設定値が表示されることになる。
は、図122の表示状態で、テンキー102やモード設
定入力部117、モード選択入力部118を適宜操作す
ることにより、上記シンボルマーク123が消え、入力
値や設定値が表示されることになる。
【0525】以上のような表示方式であっても、図10
9に示したように、画面表示タスクとジョブ実行タスク
とがバスを競合しないため、Gバスを用いたジョブが実
行中であったとしても、切り替えられた機能を表す表示
への切り替えを高い即時性で行え、また、進行中のジョ
ブの実行を表示よって妨げることがなくなる。
9に示したように、画面表示タスクとジョブ実行タスク
とがバスを競合しないため、Gバスを用いたジョブが実
行中であったとしても、切り替えられた機能を表す表示
への切り替えを高い即時性で行え、また、進行中のジョ
ブの実行を表示よって妨げることがなくなる。
【0526】[第4の実施形態]次に、本発明の第4実
施例について説明する。
施例について説明する。
【0527】上述した第3実施例では、シンボルマーク
120〜123により、各機能の切り換えを表示した
が、この第4実施例では、各機能を示す装飾文字によ
り、各機能の切り換えを表示するものである。
120〜123により、各機能の切り換えを表示した
が、この第4実施例では、各機能を示す装飾文字によ
り、各機能の切り換えを表示するものである。
【0528】図123は、この第4実施例における複写
機能選択時における操作パネル1を示す平面図であり、
図124〜図126は、それぞれファクシミリ機能、電
子ファイル機能、およびプリンタ機能選択時におけるタ
ッチパネル103を示す平面図である。
機能選択時における操作パネル1を示す平面図であり、
図124〜図126は、それぞれファクシミリ機能、電
子ファイル機能、およびプリンタ機能選択時におけるタ
ッチパネル103を示す平面図である。
【0529】図123において、装飾文字124は、複
写機能を表わすものであり、図124において、装飾文
字125は、ファクシミリ機能を表わすものである。ま
た、図125において、装飾文字126は、電子ファイ
ル機能を表わすものであり、図126において、装飾文
字127は、プリンタ機能を表わすものである。
写機能を表わすものであり、図124において、装飾文
字125は、ファクシミリ機能を表わすものである。ま
た、図125において、装飾文字126は、電子ファイ
ル機能を表わすものであり、図126において、装飾文
字127は、プリンタ機能を表わすものである。
【0530】なお、その他の第3実施例と共通する要素
については、同一符号を用いて個々の説明は省略する。
については、同一符号を用いて個々の説明は省略する。
【0531】以下、この第4実施例における操作方法
と、それに伴う表示方法について説明する。
と、それに伴う表示方法について説明する。
【0532】まず、装置の電源スイッチを入れると、操
作パネル1には、図123に示す状態でタッチパネル1
03が起動する。ここでは、複写機能を表わす装飾文字
124の点滅表示により、複写機能が選択されたことを
表示している。
作パネル1には、図123に示す状態でタッチパネル1
03が起動する。ここでは、複写機能を表わす装飾文字
124の点滅表示により、複写機能が選択されたことを
表示している。
【0533】そして、この複写機能を使用するには、図
123の表示状態で、テンキー102やモード設定入力
部105、モード選択入力部106を適宜操作すること
により、上記装飾文字124が消え、入力値や設定値が
表示されることになる。
123の表示状態で、テンキー102やモード設定入力
部105、モード選択入力部106を適宜操作すること
により、上記装飾文字124が消え、入力値や設定値が
表示されることになる。
【0534】次に、複写機能を使用しない場合や使用後
に、ファクシミリ機能に切り換えるには、操作部104
のファクシミリキーを押下する。
に、ファクシミリ機能に切り換えるには、操作部104
のファクシミリキーを押下する。
【0535】これにより、操作パネル1には、図124
に示す状態でタッチパネル103が起動する。そして、
この状態で、ファクシミリ機能を表す装飾文字125の
点滅表示により、ファクシミリ機能が選択されたことを
表示する。
に示す状態でタッチパネル103が起動する。そして、
この状態で、ファクシミリ機能を表す装飾文字125の
点滅表示により、ファクシミリ機能が選択されたことを
表示する。
【0536】そして、このファクシミリ機能を使用する
には、図124の表示状態で、テンキー102やモード
設定入力部109、モード選択入力部110を適宜操作
することにより、上記装飾文字125が消え、入力値や
設定値が表示される。
には、図124の表示状態で、テンキー102やモード
設定入力部109、モード選択入力部110を適宜操作
することにより、上記装飾文字125が消え、入力値や
設定値が表示される。
【0537】次に、複写機能およびファクシミリ機能を
使用しない場合や使用後に、電子ファイル機能に切り換
えるには、操作部104のファイルキーを押下する。
使用しない場合や使用後に、電子ファイル機能に切り換
えるには、操作部104のファイルキーを押下する。
【0538】これにより、操作パネル1には、図125
に示す状態でタッチパネル103が起動する。そして、
この状態で、電子ファイル機能を表す装飾文字126の
点滅表示により、電子ファイル機能が選択されたことを
表示する。そして、この電子ファイル機能を使用するに
は、図126の表示状態で、テンキー102やモード設
定入力部113、モード選択入力部114を適宜操作す
ることにより、上記装飾文字126が消え、入力値や設
定値が表示される。
に示す状態でタッチパネル103が起動する。そして、
この状態で、電子ファイル機能を表す装飾文字126の
点滅表示により、電子ファイル機能が選択されたことを
表示する。そして、この電子ファイル機能を使用するに
は、図126の表示状態で、テンキー102やモード設
定入力部113、モード選択入力部114を適宜操作す
ることにより、上記装飾文字126が消え、入力値や設
定値が表示される。
【0539】次に、複写機能、ファクシミリ機能および
電子ファイル機能を使用しない場合や使用後に、プリン
タ機能に切り換えるには、操作部104のプリンタキー
を押下する。
電子ファイル機能を使用しない場合や使用後に、プリン
タ機能に切り換えるには、操作部104のプリンタキー
を押下する。
【0540】これにより、操作パネル1には、図126
に示す状態でタッチパネル103が起動する。そして、
この状態で、プリンタ機能を表す装飾文字127の点滅
表示により、プリンタ機能が選択されたことを表示す
る。
に示す状態でタッチパネル103が起動する。そして、
この状態で、プリンタ機能を表す装飾文字127の点滅
表示により、プリンタ機能が選択されたことを表示す
る。
【0541】そして、このプリンタ機能を使用するに
は、図126の表示状態で、テンキー102やモード設
定入力部117、モード選択入力部118を適宜操作す
ることにより、上記装飾文字127が消え、入力値や設
定値が表示される。
は、図126の表示状態で、テンキー102やモード設
定入力部117、モード選択入力部118を適宜操作す
ることにより、上記装飾文字127が消え、入力値や設
定値が表示される。
【0542】なお、以上の各実施例において、各機能の
切り換え順は、任意に選択し得るものである。
切り換え順は、任意に選択し得るものである。
【0543】以上のような表示方式であっても、図10
9に示したように、画面表示タスクとジョブ実行タスク
とがバスを競合しないため、Gバスを用いたジョブが実
行中であったとしても、切り替えられた機能を表す表示
への切り替えを高い即時性で行え、また、進行中のジョ
ブの実行を表示よって妨げることがなくなる。
9に示したように、画面表示タスクとジョブ実行タスク
とがバスを競合しないため、Gバスを用いたジョブが実
行中であったとしても、切り替えられた機能を表す表示
への切り替えを高い即時性で行え、また、進行中のジョ
ブの実行を表示よって妨げることがなくなる。
【0544】[第5の実施形態]本例の複合画像形成装
置は、電子ファイル機能を有している。電子ファイル機
能には、エンジンインターフェース116−7からGバ
スを経由して読み込んだ画像データを圧縮して、Bバス
上のPCIバスに接続されたハードディスク等の外部記
憶装置に格納する機能を含む。このとき、圧縮した画像
データを、図111に示した表示操作部に表示し、画像
の方向等をオペレータに確認させる機能も含む。図4で
説明すると、CPU401は、スキャナコントローラ4
302からGバス404を介してメモリに画像データを
格納し、それを圧縮してPCIバス416やインターフ
ェース415等に接続された表示部に出力して表示させ
る。
置は、電子ファイル機能を有している。電子ファイル機
能には、エンジンインターフェース116−7からGバ
スを経由して読み込んだ画像データを圧縮して、Bバス
上のPCIバスに接続されたハードディスク等の外部記
憶装置に格納する機能を含む。このとき、圧縮した画像
データを、図111に示した表示操作部に表示し、画像
の方向等をオペレータに確認させる機能も含む。図4で
説明すると、CPU401は、スキャナコントローラ4
302からGバス404を介してメモリに画像データを
格納し、それを圧縮してPCIバス416やインターフ
ェース415等に接続された表示部に出力して表示させ
る。
【0545】このときのスキャンジョブと画像の圧縮処
理、圧縮され画像の表示処理の進行する様子を、図10
7に示す。図107において左端から右端へが時間の経
過を表す。最上部の線は、スキャンされた画像がGバス
を経由してメモリに格納されるまでの様子であり、中段
の線は格納された画像データを縮小する処理を示し、下
段の線は縮小された画像データの表示出力を示す。
理、圧縮され画像の表示処理の進行する様子を、図10
7に示す。図107において左端から右端へが時間の経
過を表す。最上部の線は、スキャンされた画像がGバス
を経由してメモリに格納されるまでの様子であり、中段
の線は格納された画像データを縮小する処理を示し、下
段の線は縮小された画像データの表示出力を示す。
【0546】間引き処理は画像データが読み込まれるま
で開始できないため、CPUは画像データのスキャンが
完了するまで待ち、完了後、メモリ内の画像データの縮
小(図107では間引き処理)を開始する。縮小した画
像データは再びメモリに格納する。CPUは、縮小した
画像データを、縮小処理終了後ただちに出力する。この
ときスキャナコントローラに対してもスキャンのジョブ
開始メッセージを送り、スキャンとその縮小データの表
示は並行して処理される。これもまた、DoEngin
eがGバスとBバスとを有するためである。すなわち、
Gバスを用いる画像データのスキャンと、Bバスを用い
る縮小した画像データの表示出力とは並行して行える。
で開始できないため、CPUは画像データのスキャンが
完了するまで待ち、完了後、メモリ内の画像データの縮
小(図107では間引き処理)を開始する。縮小した画
像データは再びメモリに格納する。CPUは、縮小した
画像データを、縮小処理終了後ただちに出力する。この
ときスキャナコントローラに対してもスキャンのジョブ
開始メッセージを送り、スキャンとその縮小データの表
示は並行して処理される。これもまた、DoEngin
eがGバスとBバスとを有するためである。すなわち、
Gバスを用いる画像データのスキャンと、Bバスを用い
る縮小した画像データの表示出力とは並行して行える。
【0547】[第6の実施形態]第6の実施形態として
説明する電力節約機能もまた、図127に示した、Do
Engineを用いた複合画像形成装置により実現され
る。
説明する電力節約機能もまた、図127に示した、Do
Engineを用いた複合画像形成装置により実現され
る。
【0548】図110は、例えば図111の表示におい
てオペレータの操作を処理するための制御手順である。
この処理は、図127にしめした装置全体の制御部であ
るDo Engine116−1により実行される。
てオペレータの操作を処理するための制御手順である。
この処理は、図127にしめした装置全体の制御部であ
るDo Engine116−1により実行される。
【0549】図110において、まずキー操作があった
か判定する(ステップS1101)。キー操作がされた
なら、押されたキーがスタートキーか判定する(ステッ
プS1104)。スタートキーであれば、電力がオーバ
ーしていないか判定する(ステップS1105)。この
判定は、図4におけるパワーマネジメントユニット40
9から読み出した電力管理状態に基づいて判定可能であ
る。パワーマネジメントユニット409は、前述したと
おり、スキャナコントローラ及びプリンタコントローラ
から電力管理状態をうけている。
か判定する(ステップS1101)。キー操作がされた
なら、押されたキーがスタートキーか判定する(ステッ
プS1104)。スタートキーであれば、電力がオーバ
ーしていないか判定する(ステップS1105)。この
判定は、図4におけるパワーマネジメントユニット40
9から読み出した電力管理状態に基づいて判定可能であ
る。パワーマネジメントユニット409は、前述したと
おり、スキャナコントローラ及びプリンタコントローラ
から電力管理状態をうけている。
【0550】電力消費量が所定値を越えていなければ、
ジョブ実行中を表示し(ステップS1106)、画面表
示タスク1091からジョブ実行タスク1092に対し
てジョブ開始メッセージ1093を送信する(ステップ
S1107)。これによりジョブ実行タスクが起動され
る。また、ステップS1084で、押されたキーがスタ
ートキーでないと判定した場合には、例えばコピーであ
ればサイズや枚数といった、ジョブの実行条件の入力な
どであるので、キー操作に応じて設定を行う(ステップ
S1108)。
ジョブ実行中を表示し(ステップS1106)、画面表
示タスク1091からジョブ実行タスク1092に対し
てジョブ開始メッセージ1093を送信する(ステップ
S1107)。これによりジョブ実行タスクが起動され
る。また、ステップS1084で、押されたキーがスタ
ートキーでないと判定した場合には、例えばコピーであ
ればサイズや枚数といった、ジョブの実行条件の入力な
どであるので、キー操作に応じて設定を行う(ステップ
S1108)。
【0551】一方、ステップS1101でキー操作がな
いと判定される場合には、ジョブ実行タスクからのジョ
ブ終了メッセージ1094を受けているか判定し(ステ
ップS1102)、受けていればジョブ実行中の表示に
替えて終了メッセージを表示する(ステップS110
3)。
いと判定される場合には、ジョブ実行タスクからのジョ
ブ終了メッセージ1094を受けているか判定し(ステ
ップS1102)、受けていればジョブ実行中の表示に
替えて終了メッセージを表示する(ステップS110
3)。
【0552】このようにして、消費電力が所定値を越え
ていれば、それ以上のジョブの実行を抑制し、電力消費
量を適切な水準に抑えることができる。また、電力消費
状態をCPU401が読み出すためには、Bバスに接続
されたパワーマネジメントユニット409にアクセスす
るので、現在Gバスを使用する他のジョブが実行中であ
っても、そのジョブの進行を妨げることがない。
ていれば、それ以上のジョブの実行を抑制し、電力消費
量を適切な水準に抑えることができる。また、電力消費
状態をCPU401が読み出すためには、Bバスに接続
されたパワーマネジメントユニット409にアクセスす
るので、現在Gバスを使用する他のジョブが実行中であ
っても、そのジョブの進行を妨げることがない。
【0553】
【発明の効果】以上説明したように、本発明によれば、
電力管理部を設け、電力消費状態に応じてジョブの実行
を制御することで、装置全体の電力状態を適切な状態に
維持することができる。また、画像データの転送に用い
られる第1のバスと汎用の第2のバスとを設けた制御ユ
ニットを用い、電力管理部を第2のバスに設けること
で、電力の消費状態を、第1のバスを用いたジョブの進
行を妨げることなく管理する事ができる。
電力管理部を設け、電力消費状態に応じてジョブの実行
を制御することで、装置全体の電力状態を適切な状態に
維持することができる。また、画像データの転送に用い
られる第1のバスと汎用の第2のバスとを設けた制御ユ
ニットを用い、電力管理部を第2のバスに設けること
で、電力の消費状態を、第1のバスを用いたジョブの進
行を妨げることなく管理する事ができる。
【図面の簡単な説明】
【図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】Bバスインターフェースのブロック図であ
る。
る。
【図22】Gバスインターフェース2006のブロック
図である。
図である。
【図23】仮想メモリマップ、物理メモリマップ、Gバ
スのアドレス空間でのメモリマップ、Bバスのアドレス
空間でのメモリマップの図である。
スのアドレス空間でのメモリマップ、Bバスのアドレス
空間でのメモリマップの図である。
【図24】レジスタ等を含む図23における斜線部の5
12メガバイトを示すマップの図である。
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に
係るブロック図である。
04を中心とする、Gバス上のバスマスタによるDMAに
係るブロック図である。
【図36】連続してバスを使用する回数が、バスマスタ
1〜4のすべてについて1に設定されている場合の公平
アービトレーションモード(フェアモード)の例を示す
図である。
1〜4のすべてについて1に設定されている場合の公平
アービトレーションモード(フェアモード)の例を示す
図である。
【図37】連続してバスを使用する回数が、バスマスタ
1についてのみ2であり、他のバスマスタは1に設定さ
れている場合の公平アービトレーションモードの例を示
す図である。
1についてのみ2であり、他のバスマスタは1に設定さ
れている場合の公平アービトレーションモードの例を示
す図である。
【図38】連続してバスを使用する回数がそれぞれ1ず
つであり、バスマスタ1が優先バスマスタと設定されて
いる場合の優先アービトレーションモードの例を示す図
である。
つであり、バスマスタ1が優先バスマスタと設定されて
いる場合の優先アービトレーションモードの例を示す図
である。
【図39】バスマスタ1からのバス要求により、バスマ
スタ4のバス要求が許可されているにもかかわらず中断
された例を示す図である。
スタ4のバス要求が許可されているにもかかわらず中断
された例を示す図である。
【図40】Bバスアービタ407のブロック図である。
【図41】同期ユニット4001のブロック図である。
【図42】同期ユニット内の一つコンペアユニットの図
である。
である。
【図43】スキャナ/プリンタコントローラのブロック
図である。
図である。
【図44】スキャナコントローラ4302のブロック図
である。
である。
【図45】スキャナデバイスI/F4401のブロック図
である。
である。
【図46】スキャナビデオクロックユニット4402の
ブロック図である。
ブロック図である。
【図47】スキャナビデオデータマスク4601のブロ
ック図である。
ック図である。
【図48】スキャナビデオデータマスク4602のブロ
ック図である。
ック図である。
【図49】スキャナビデオデータ幅コンバータ4603
のブロック図である。
のブロック図である。
【図50】RGB各8ビットのカラー画像データ(24
ビット格納モード)のメモリ上でのならびを示す図であ
る。
ビット格納モード)のメモリ上でのならびを示す図であ
る。
【図51】RGB各8ビットのカラー画像データ(32
ビット格納モード)のメモリ上でのならびを示す図であ
る。
ビット格納モード)のメモリ上でのならびを示す図であ
る。
【図52】8ビットの白黒画像データのメモリ上でのな
らびを示す図である。
らびを示す図である。
【図53】2値の白黒画像データのメモリ上でのならび
を示す図である。
を示す図である。
【図54】BW8パッキングユニット4901により、
多値8ビットの白黒画像データを64ビット幅に変換す
る際のタイミング図である。
多値8ビットの白黒画像データを64ビット幅に変換す
る際のタイミング図である。
【図55】シフトレジスタ4902により2値白黒画像
データを64ビット幅に変換する際の画像データ入力の
タイミング図である。
データを64ビット幅に変換する際の画像データ入力の
タイミング図である。
【図56】RGBパッキングユニット4903により、
RGB各8ビット(全24ビット)の画像データを64
ビット幅に変換する際のタイミング図である。
RGB各8ビット(全24ビット)の画像データを64
ビット幅に変換する際のタイミング図である。
【図57】RGBパッキングユニット4903のブロッ
ク図である。
ク図である。
【図58】スキャナ画像データ転送FIFOコントローラ4
403のブロック図である。
403のブロック図である。
【図59】スキャナコントローラコントロールレジスタ
4404のブロック図である。
4404のブロック図である。
【図60】IRQコントローラ4406のブロック図であ
る。
る。
【図61】メモリフィルモードコントローラ4405の
ブロック図である。
ブロック図である。
【図62】スキャナコントローラ4302からデータを
読み出してDMA転送する際のタイミング図である。
読み出してDMA転送する際のタイミング図である。
【図63】スキャナコントローラ4302の内部レジス
タに対して読み出しあるいは書き込みを行うタイミング
図である。
タに対して読み出しあるいは書き込みを行うタイミング
図である。
【図64】信号sccDmaPmStateの値及びクロックの状態
と信号sccPmStateの値との関係を示す図である。
と信号sccPmStateの値との関係を示す図である。
【図65】スキャナコントローラ4302における、各
ブロックを含むコア部分と外部バスやスキャナとの間で
入出力される信号をまとめた図である。
ブロックを含むコア部分と外部バスやスキャナとの間で
入出力される信号をまとめた図である。
【図66】プリンタコントローラ4303のブロック図
である。
である。
【図67】プリンタデバイスI/F6601のブロック図
である。
である。
【図68】プリンタビデオクロックユニット6602の
ブロック図である。
ブロック図である。
【図69】プリンタビデオデータマスク6801のブロ
ック図である。
ック図である。
【図70】プリンタビデオ同期コントロールユニット6
802のブロック図である。
802のブロック図である。
【図71】ビデオデータ幅コンバータ6803のブロッ
ク図である。
ク図である。
【図72】RGB各8ビットのカラー画像データ(24
ビット格納モード)のメモリ上でのならびを示す図であ
る。
ビット格納モード)のメモリ上でのならびを示す図であ
る。
【図73】RGB各8ビットのカラー画像データ(32
ビット格納モード)のメモリ上でのならびを示す図であ
る。
ビット格納モード)のメモリ上でのならびを示す図であ
る。
【図74】8ビットの白黒画像データのメモリ上でのな
らびを示す図である。
らびを示す図である。
【図75】2値の白黒画像データのメモリ上でのならび
を示す図である。
を示す図である。
【図76】RGBoutユニット7101のブロック図であ
る。
る。
【図77】プリンタ画像データ転送FIFOコントローラ6
603のブロック図である。
603のブロック図である。
【図78】プリンタコントローラコントロールレジスタ
6604のブロック図である。
6604のブロック図である。
【図79】IRQコントローラ6605のブロック図で
ある。
ある。
【図80】IRQコントローラ6605のブロック図で
ある。
ある。
【図81】プリンタコマンド/ステータスコントロール
ユニット6606のブロック図である。
ユニット6606のブロック図である。
【図82】オプションコントローラコントロールユニッ
ト6607のブロック図である。
ト6607のブロック図である。
【図83】プリンタコントローラ4303へデータをDM
A転送する際のタイミング図である。
A転送する際のタイミング図である。
【図84】プリンタコントローラ4303の内部レジス
タに対して読み出しあるいは書き込みを行うタイミング
図である。
タに対して読み出しあるいは書き込みを行うタイミング
図である。
【図85】信号pscDmaPmStateの値及びクロックの状態
と信号prcPmStateの値との関係を示す図である。
と信号prcPmStateの値との関係を示す図である。
【図86】プリンタコントローラ4303における、各
ブロックを含むコア部分と外部バスやスキャナとの間で
入出力される信号をまとめた図である。
ブロックを含むコア部分と外部バスやスキャナとの間で
入出力される信号をまとめた図である。
【図87】電力管理ユニット409のブロック図であ
る。
る。
【図88】バスエージェントのブロック図である。
【図89】スキャナコントローラからプリンタコントロ
ーラへと直接画像データを転送してコピーする画像のコ
ピー方式で使用されるブロックを示す図である。
ーラへと直接画像データを転送してコピーする画像のコ
ピー方式で使用されるブロックを示す図である。
【図90】スキャナコントローラからプリンタコントロ
ーラへと、FIFOを介して画像データを転送してコピ
ーする画像のコピー方式で使用されるブロックを示す図
である。
ーラへと、FIFOを介して画像データを転送してコピ
ーする画像のコピー方式で使用されるブロックを示す図
である。
【図91】スキャナコントローラからプリンタコントロ
ーラへと、メモリを介して画像データを転送してコピー
する画像のコピー方式で使用されるブロックを示す図で
ある。
ーラへと、メモリを介して画像データを転送してコピー
する画像のコピー方式で使用されるブロックを示す図で
ある。
【図92】GBIのブロック図である。
【図93】FIFOユニットのブロック図である。
【図94】GBusコントローラのブロック図である。
【図95】BBusコントローラのブロック図である。
【図96】DMAコントローラのブロック図である。
【図97】レジスタユニットのブロック図である。
【図98】チェインテーブルの構成例を示す図である。
【図99】GBIのコアインターフェースを示す図であ
る。
る。
【図100】コピー方式を選択する手順のフローチャー
トである。
トである。
【図101】スキャナコントローラ4302内部のデー
タバスの切り換え回路を示す図である。
タバスの切り換え回路を示す図である。
【図102】プリンタコントローラ4303内部のデー
タバスの切り換え回路を示す図である。
タバスの切り換え回路を示す図である。
【図103】MCバスよりメモリリード/ライト転送が
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
【図104】MCバスよりメモリリード/ライト転送が
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
【図105】MCバスよりメモリリード/ライト転送が
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
【図106】MCバスよりメモリリード/ライト転送が
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
【図107】画像のスキャン処理とスキャンされた画像
データの間引き処理及びその結果の表示を行う際の処理
状態を示す模式図である。
データの間引き処理及びその結果の表示を行う際の処理
状態を示す模式図である。
【図108】第2実施形態の複合画像形成装置によるジ
ョブ状態表示処理のフローチャートである。
ョブ状態表示処理のフローチャートである。
【図109】第2実施形態の複合画像形成装置によるジ
ョブ実行タスクと画面表示タスクの関係を示す図であ
る。
ョブ実行タスクと画面表示タスクの関係を示す図であ
る。
【図110】第6実施形態の複合画像形成装置による電
力管理手順のフローチャートである。
力管理手順のフローチャートである。
【図111】第2実施形態の複合画像形成装置による複
写機能を選択した場合の操作パネルを示す平面図であ
る。
写機能を選択した場合の操作パネルを示す平面図であ
る。
【図112】第2実施形態の複合画像形成装置によるフ
ァクシミリ機能を選択した場合の操作画面を示す平面図
である。
ァクシミリ機能を選択した場合の操作画面を示す平面図
である。
【図113】第2実施形態の複合画像形成装置による電
子ファイル機能を選択した場合の操作画面を示す平面図
である。
子ファイル機能を選択した場合の操作画面を示す平面図
である。
【図114】第2実施形態の複合画像形成装置によるプ
リンタ機能を選択した場合の操作画面を示す平面図であ
る。
リンタ機能を選択した場合の操作画面を示す平面図であ
る。
【図115】第3実施形態の複合画像形成装置による複
写機能を選択した場合の操作パネルを示す平面図であ
る。
写機能を選択した場合の操作パネルを示す平面図であ
る。
【図116】第3実施形態の複合画像形成装置によるフ
ァクシミリ機能を選択した場合の操作画面を示す平面図
である。
ァクシミリ機能を選択した場合の操作画面を示す平面図
である。
【図117】第3実施形態の複合画像形成装置による電
子ファイル機能を選択した場合の操作画面を示す平面図
である。
子ファイル機能を選択した場合の操作画面を示す平面図
である。
【図118】第3実施形態の複合画像形成装置によるプ
リンタ機能を選択した場合の操作画面を示す平面図であ
る。
リンタ機能を選択した場合の操作画面を示す平面図であ
る。
【図119】第4実施形態の複合画像形成装置による複
写機能を選択した場合の操作パネルを示す平面図であ
る。
写機能を選択した場合の操作パネルを示す平面図であ
る。
【図120】第4実施形態の複合画像形成装置によるフ
ァクシミリ機能を選択した場合の操作画面を示す平面図
である。
ァクシミリ機能を選択した場合の操作画面を示す平面図
である。
【図121】第4実施形態の複合画像形成装置による電
子ファイル機能を選択した場合の操作画面を示す平面図
である。
子ファイル機能を選択した場合の操作画面を示す平面図
である。
【図122】第4実施形態の複合画像形成装置によるプ
リンタ機能を選択した場合の操作画面を示す平面図であ
る。
リンタ機能を選択した場合の操作画面を示す平面図であ
る。
【図123】第4実施形態の複合画像形成装置による複
写機能を選択した場合の操作パネルを示す平面図であ
る。
写機能を選択した場合の操作パネルを示す平面図であ
る。
【図124】第4実施形態の複合画像形成装置によるフ
ァクシミリ機能を選択した場合の操作画面を示す平面図
である。
ァクシミリ機能を選択した場合の操作画面を示す平面図
である。
【図125】第4実施形態の複合画像形成装置による電
子ファイル機能を選択した場合の操作画面を示す平面図
である。
子ファイル機能を選択した場合の操作画面を示す平面図
である。
【図126】第4実施形態の複合画像形成装置によるプ
リンタ機能を選択した場合の操作画面を示す平面図であ
る。
リンタ機能を選択した場合の操作画面を示す平面図であ
る。
【図127】第1〜第4実施形態の複合画像形成装置の
ブロック図である。
ブロック図である。
【符号の説明】 401 CPU 402 バスブリッジ 403 メモリ 404 Gバス 405 Bバス 406 Gバスアービタ 407 Bバスアービタ 4301A Gバス/Bバスインターフェース(スキャ
ナ) 4301B Gバス/Bバスインターフェース(プリン
タ) 4302 スキャナコントローラ 4303 プリンタコントローラ
ナ) 4301B Gバス/Bバスインターフェース(プリン
タ) 4302 スキャナコントローラ 4303 プリンタコントローラ
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図1】
【図2】
【図3】
【図4】
【図107】
【図120】
【図5】
【図7】
【図6】
【図45】
【図89】
【図8】
【図100】
【図101】
【図109】
【図9】
【図46】
【図10】
【図51】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図35】
【図34】
【図39】
【図36】
【図37】
【図38】
【図41】
【図40】
【図52】
【図42】
【図43】
【図93】
【図44】
【図47】
【図48】
【図49】
【図50】
【図53】
【図54】
【図55】
【図56】
【図57】
【図58】
【図61】
【図59】
【図62】
【図60】
【図116】
【図121】
【図63】
【図64】
【図65】
【図66】
【図67】
【図74】
【図68】
【図69】
【図70】
【図71】
【図72】
【図73】
【図75】
【図76】
【図77】
【図81】
【図78】
【図102】
【図126】
【図79】
【図119】
【図80】
【図124】
【図82】
【図83】
【図84】
【図87】
【図85】
【図86】
【図92】
【図88】
【図94】
【図90】
【図117】
【図91】
【図111】
【図95】
【図96】
【図113】
【図97】
【図106】
【図98】
【図112】
【図99】
【図114】
【図103】
【図118】
【図104】
【図122】
【図105】
【図123】
【図108】
【図115】
【図110】
【図125】
【図127】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 宝木 洋一 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 伊藤 裕彦 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 牧谷 秀之 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 Fターム(参考) 2C061 AP07 HJ07 HK11 HN22 5B011 DB11 DC06 EA10 EB06 EB08 GG06 JA07 JA12 MB11 5B021 MM01 QQ04
Claims (5)
- 【請求項1】 複数のジョブを並列に実行可能な複合機
器の制御装置であって、 消費電力を監視する監視手段と、 ジョブの開始を指示する指示手段と、 前記監視手段により、消費電力が所定値を越えていない
か判定する判定手段とを備え、 前記判定手段により消費電力が所定値を越えていると判
定された場合、前記指示手段により指示されたジョブを
実行しないことを特徴とする複合機器の制御装置。 - 【請求項2】 前記指示手段によりジョブが開始された
場合、そのジョブが実行中であることを示す画像を表示
し、ジョブが終了した場合、実行中であること示す画像
を消去する表示手段を更に備えることを特徴とする請求
項1に記載の複合機器の制御装置。 - 【請求項3】 消費電力を監視する監視手段を有し、複
数のジョブを並列に実行可能な複合機器の制御方法であ
って、 ジョブの開始を指示する指示工程と、 前記監視手段により、消費電力が所定値を越えていない
か判定する判定工程とを備え、 前記判定工程により消費電力が所定値を越えていると判
定された場合、前記指示工程により指示されたジョブを
実行しないことを特徴とする複合機器の制御方法。 - 【請求項4】 前記指示工程によりジョブが開始された
場合、そのジョブが実行中であることを示す画像を表示
し、ジョブが終了した場合、実行中であること示す画像
を消去する表示工程を更に備えることを特徴とする請求
項3に記載の複合機器の制御方法。 - 【請求項5】 消費電力を監視する監視手段を有するコ
ンピュータを、 ジョブの開始を指示する指示を受け、前記監視手段によ
り、消費電力が所定値を越えていないか判定し、消費電
力が所定値を越えていなければそのジョブを実行し、越
えていれば実行しないよう機能させるためのプログラム
を格納することを特徴とするコンピュータ可読の記憶媒
体。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11055957A JP2000211210A (ja) | 1999-01-25 | 1999-01-25 | 複合機器の制御装置及び方法 |
| US09/492,538 US6347202B1 (en) | 1999-01-25 | 2000-01-27 | Control device and control method for composite appliance |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11055957A JP2000211210A (ja) | 1999-01-25 | 1999-01-25 | 複合機器の制御装置及び方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000211210A true JP2000211210A (ja) | 2000-08-02 |
Family
ID=13013567
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11055957A Withdrawn JP2000211210A (ja) | 1999-01-25 | 1999-01-25 | 複合機器の制御装置及び方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6347202B1 (ja) |
| JP (1) | JP2000211210A (ja) |
Families Citing this family (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4246367B2 (ja) * | 2000-10-16 | 2009-04-02 | 株式会社リコー | 印刷装置 |
| JP3428590B2 (ja) * | 2001-03-30 | 2003-07-22 | ミノルタ株式会社 | 画像形成装置、消費電力量制限システムおよび消費電力量制限プログラム |
| JP2003186824A (ja) * | 2001-12-18 | 2003-07-04 | Canon Inc | バス使用権優先度調整装置およびシステム |
| US7965399B2 (en) | 2002-02-18 | 2011-06-21 | Canon Kabushiki Kaisha | Image processing apparatus, information processing apparatus, and information output method |
| US20030212905A1 (en) * | 2002-05-08 | 2003-11-13 | Sun Microsystems, Inc. | Method, computer product and network to regulate software licensure authentication in a computer network environment |
| US20050094174A1 (en) * | 2003-10-20 | 2005-05-05 | Cunnagin Stephen K. | All-in-one printing system having an operator panel |
| US7337338B2 (en) * | 2004-01-16 | 2008-02-26 | Dell Products L.P. | Information handling system capable of operation in reduced power states |
| TWI258086B (en) * | 2004-09-17 | 2006-07-11 | Via Tech Inc | Integrated PCI interface card |
| US7254497B2 (en) * | 2005-06-06 | 2007-08-07 | Spectra Logic Corporation | Energy consumption analysis for use with a storage system |
| JP5052177B2 (ja) * | 2006-05-15 | 2012-10-17 | 株式会社リコー | 画像形成装置の省電力制御方法及び画像形成装置 |
| JP5366600B2 (ja) * | 2009-03-16 | 2013-12-11 | キヤノン株式会社 | 画像形成装置 |
| JP4922362B2 (ja) * | 2009-07-27 | 2012-04-25 | 株式会社沖データ | 印刷装置、印刷制御装置および印刷システム |
| JP5595108B2 (ja) * | 2010-05-07 | 2014-09-24 | キヤノン株式会社 | 情報処理装置、画像形成装置の管理方法、及び、プログラム |
| US8555083B1 (en) * | 2010-07-22 | 2013-10-08 | Symantec Corporation | Systems and methods for protecting against unauthorized access of encrypted data during power-management modes |
| JP5288039B1 (ja) * | 2012-11-06 | 2013-09-11 | 富士ゼロックス株式会社 | 印刷画像処理システムおよびプログラム |
| JP2014116715A (ja) * | 2012-12-07 | 2014-06-26 | Canon Inc | 画像形成装置、画像形成装置の制御方法、及びプログラム |
| JP6232945B2 (ja) * | 2013-11-07 | 2017-11-22 | 株式会社リコー | 画像処理装置 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04184457A (ja) * | 1990-11-20 | 1992-07-01 | Fujitsu Ltd | 像形成装置および複数の該装置を含む系 |
| JPH09212325A (ja) * | 1996-01-31 | 1997-08-15 | Fuji Xerox Co Ltd | 画像処理装置およびその表示制御方法 |
| US6072585A (en) * | 1997-12-12 | 2000-06-06 | Lexmark International, Inc. | Method and apparatus for managing the power consumption of a printer |
-
1999
- 1999-01-25 JP JP11055957A patent/JP2000211210A/ja not_active Withdrawn
-
2000
- 2000-01-27 US US09/492,538 patent/US6347202B1/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US6347202B1 (en) | 2002-02-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| 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 | |
| JP3524337B2 (ja) | バス管理装置及びそれを有する複合機器の制御装置 | |
| JP2000211210A (ja) | 複合機器の制御装置及び方法 | |
| JP2000216935A (ja) | 複合機器の情報処理システム | |
| EP0917063A2 (en) | Data processing system and microprocessor | |
| US6480916B1 (en) | Information processing method and system for composite appliance | |
| JP3976927B2 (ja) | バス制御装置 | |
| JP2000215149A (ja) | 複合機器の制御装置 | |
| JP2000148650A (ja) | 複合機器の制御装置 | |
| JP7468112B2 (ja) | インタフェース回路およびインタフェース回路の制御方法 | |
| US20040068590A1 (en) | Data processor | |
| JP4136163B2 (ja) | データ入出力装置およびデータ入出力装置のコントローラ | |
| JP2000215157A (ja) | バス制御装置 | |
| JP2000211215A (ja) | 複合機器の制御装置 | |
| JP2004046851A (ja) | バス管理装置及びそれを有する複合機器の制御装置 | |
| JP2000215156A (ja) | 複合機器の情報処理システム | |
| JP3206656B2 (ja) | バス上でのプリフェッチ装置およびプリフェッチ方法 | |
| JP5094050B2 (ja) | メモリ制御装置、メモリ制御方法および組み込みシステム | |
| JP2004030672A (ja) | バス管理装置及びそれを有する複合機器の制御装置及びバス管理方法 | |
| JP2004062887A (ja) | 電力管理装置及びそれを有する複合機器の制御装置 | |
| JP2003085125A (ja) | メモリ制御器及びメモリ制御方法 | |
| JPH11212903A (ja) | データ処理システム、周辺装置及びマイクロコンピュータ | |
| JPH05189311A (ja) | キャッシュメモリ・システム | |
| JPH10124445A (ja) | 情報処理装置およびコントローラ | |
| JP2001188749A (ja) | バスコントローラ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060404 |