JP2000215156A - Information processing system of hybrid equipment - Google Patents

Information processing system of hybrid equipment

Info

Publication number
JP2000215156A
JP2000215156A JP11055954A JP5595499A JP2000215156A JP 2000215156 A JP2000215156 A JP 2000215156A JP 11055954 A JP11055954 A JP 11055954A JP 5595499 A JP5595499 A JP 5595499A JP 2000215156 A JP2000215156 A JP 2000215156A
Authority
JP
Japan
Prior art keywords
bus
signal
data
controller
transfer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP11055954A
Other languages
Japanese (ja)
Inventor
Junichi Shishizuka
順一 宍塚
Atsushi Date
厚 伊達
Yasuhisa Ishizawa
康久 石沢
Satoshi Nagata
聡 永田
Takeshi Onodera
健 小野寺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP11055954A priority Critical patent/JP2000215156A/en
Publication of JP2000215156A publication Critical patent/JP2000215156A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To improve the throughput of a job and to eliminate the need for a redundant memory area by providing a system bus bridge. SOLUTION: The system bus bridge(SBB) 402 interconnects a B bus 405, a G bus 404, an SC bus, and an MC bus by using a cross-bar switch and can establish the connections of two systems at the same time. Image data from a scanner are controlled by a scanner controller 4302 and written to a memory 403 through the G bus 404 and SBB 402. The data written to the memory 403 are sent to a printer controller 4303 through the SBB 402 and B bus 405 and printed. Simultaneously, a CPU 401 and the memory 403 can be accessed, so that the data can be outputted in parallel to the input.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、プリンタ、ファッ
クス(FAX)、複写機等、複合機器に関して情報を処
理するシステムに関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a system for processing information regarding a complex device such as a printer, a facsimile (FAX), and a copying machine.

【0002】[0002]

【従来の技術】従来、スキャナなどの画像入力装置とプ
リンタなどの画像出力装置とを組み合わせた複写機やフ
ァクシミリ、あるいはそれらを単体として備えたコンピ
ュータシステムなど、複合機器と呼ばれる画像処理装置
が実用化されている。このような装置では、画像入力機
能、画像出力機能、コピー機能等の複合機能を実現する
ために、画像入力装置及び画像出力装置が同期して動作
することが不可能な場合には、画像入力装置から一旦メ
モリに取り込んだ画像データを画像出力装置に出力する
ことでコピー機能を実現していた。また、画像入力装置
及び画像出力装置が同期して動作することが可能な場合
には、画像入力装置から画像出力装置へ直接画像信号を
転送する経路を設けてコピー機能を実現していた。
2. Description of the Related Art Conventionally, an image processing apparatus called a composite apparatus such as a copier or facsimile combining an image input apparatus such as a scanner and an image output apparatus such as a printer, or a computer system having the same as a single unit has been put to practical use. Have been. In such a device, in order to realize a composite function such as an image input function, an image output function, and a copy function, if the image input device and the image output device cannot operate synchronously, the image input The copy function has been realized by outputting the image data once taken into the memory from the device to the image output device. When the image input device and the image output device can operate in synchronization, a copy function is realized by providing a path for directly transferring an image signal from the image input device to the image output device.

【0003】従来のデジタル複合機は、複写機にファッ
クス機能を追加したものや、ファックスにプリンタ機能
を追加したもの等、従来機の機能追加という形で発展し
てきており、複合動作ができてもジョブ単位の複合動作
及び並列動作しか行えなかった。従来のデジタル複合機
では、扱う種々のデータを入出力のために授受する十分
なバスの使用が確保できない場合のために、スキャナ、
プリンタ等のインタフェース部にローカルなメモリを分
散させた構成となっていた。
Conventional digital multifunction peripherals have been developed in the form of additional functions of conventional machines, such as those in which a fax function is added to a copying machine and those in which a printer function is added to a fax machine. Only the composite operation and the parallel operation in job units could be performed. In conventional digital multifunction devices, when it is not possible to secure a sufficient bus to transmit and receive various data to be
The configuration is such that a local memory is distributed in an interface unit such as a printer.

【0004】図112はジョブ単位の制御をした場合
の、ジョブ処理を説明するタイミングチャートである。
プリントジョブ1及びプリントジョブ2が複合機器で処
理するべきジョブである。これらのジョブが、あるリソ
ース(例えばページメモリ)を獲得する場合を考える。
時刻T1で先に投入されたプリントジョブ1がリソース
を獲得する。T2のタイミングで後続のプリントジョブ
2がリソースの獲得を行うが、プリントジョブ1がリソ
ースを占有しており(ロック)しており、獲得できず、
リソースの獲得要求はキューイングされる。そしてT3
のタイミングでプリントジョブ1がリソースを開放する
と、キューイング中のプリントジョブ2のリソース獲得
要求に従い、プリントジョブ2がリソースを獲得し、処
理を行う。つまり、T1からT3の時間、プリントジョ
ブ1は排他的にリソースを使用するためにプリントジョ
ブ1とプリントジョブ2の処理はシリアルになる。
FIG. 112 is a timing chart for explaining job processing when control is performed on a job basis.
Print job 1 and print job 2 are jobs to be processed by the multifunction peripheral. Consider a case where these jobs acquire a certain resource (for example, page memory).
At time T1, the print job 1 previously input acquires the resource. At the timing of T2, the subsequent print job 2 acquires the resource, but the print job 1 occupies the resource (locks) and cannot acquire the resource.
The resource acquisition request is queued. And T3
When the print job 1 releases the resources at the timing of (1), the print job 2 acquires the resources and performs the processing in accordance with the resource acquisition request of the queued print job 2. In other words, during the time from T1 to T3, the print job 1 exclusively uses resources, so that the processes of the print job 1 and the print job 2 become serial.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、従来の
デジタル複合機では、一連のジョブの処理をジョブ単位
ごとに順序だてて実行させていたために、複数のジョブ
がデジタル複合機に入力された場合は先行するジョブの
処理終了まで、後続のジョブは待機状態となり、ジョブ
のスループットは低下した。
However, in the conventional digital multi-function peripheral, a series of jobs are processed in a job-by-job order and executed. Therefore, when a plurality of jobs are input to the digital multi-function peripheral. The next job is in a standby state until the processing of the preceding job is completed, and the throughput of the job is reduced.

【0006】また、ローカルに分散して確保されたメモ
リは、デバイスごとに重複した情報を格納する場合もあ
り、必要な領域以上の冗長なメモリ領域を必要としてい
た。
[0006] In some cases, a locally secured memory stores redundant information for each device, and thus requires a redundant memory area larger than a necessary area.

【0007】また、リアルタイム性の要否に差がある処
理を単一のCPUでまかなう場合、リアルタイム性を必
要とする処理が、リアルタイム性を要さない処理の犠牲
となり、システム全体の処理能力を低下させていた。
Further, when a single CPU is used for processing having a difference in necessity of real-time processing, processing that requires real-time processing is sacrificed by processing that does not require real-time processing. Had been lowered.

【0008】[0008]

【課題を解決するための手段】本発明にかかるシステム
は上記課題のいずれかを解決するためののもであり、主
として以下の構成からなることを特徴とする。
The system according to the present invention is for solving any of the above-mentioned problems, and is characterized mainly by the following constitution.

【0009】すなわち、複合機器の情報処理システム
は、画像信号入力手段から画像信号を入力するインタフ
ェースと、前記インタフェースをシステムバスブリッジ
に接続する第一のバスと、前記システムバスブリッジを
介して前記入力した画像信号を格納するメモリと、画像
信号出力手段から画像信号を出力するインタフェース
と、前記格納した画像信号を前記システムバスブリッジ
を介して前記画像信号を出力するインタフェースに接続
する第二のバスとを備えることを特徴とする。また、複
合機器の情報処理システムは、情報処理装置から送信さ
れた手続きを解釈する解釈手段と、前記手続きの解釈に
基き、ジョブを生成するジョブ生成手段と、前記生成さ
れたジョブを構成する要素に分割する分割手段と、前記
分割した要素を処理するためのデバイスの割り付けと解
放とを管理するデバイス管理手段と、前記割付けられた
デバイスの処理結果をメモリに書込む手段と、前記メモ
リに書込まれたデータを、他のデバイスに出力するため
の手段と、を備えることを特徴とする。
That is, the information processing system of the multifunction device includes an interface for inputting an image signal from the image signal input means, a first bus connecting the interface to a system bus bridge, and the input bus via the system bus bridge. A memory for storing the stored image signal, an interface for outputting the image signal from the image signal output unit, and a second bus connecting the stored image signal to the interface for outputting the image signal via the system bus bridge. It is characterized by having. Further, the information processing system of the multifunction peripheral includes an interpreting unit that interprets a procedure transmitted from the information processing apparatus, a job generating unit that generates a job based on the interpretation of the procedure, and an element that configures the generated job. Dividing means, a device managing means for managing allocation and release of devices for processing the divided elements, a means for writing processing results of the allocated devices to a memory, and a means for writing to the memory. Means for outputting the inserted data to another device.

【発明の実施の形態】次にプロセッサコア、プロセッサ
周辺コントローラ、メモリコントローラ、スキャナ/プ
リンタコントローラ、PCIインターフェースなどを内
蔵したシングルチップ・スキャニング・プリンティング
エンジンである“DoEngine”を説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, a description will be given of "DoEngine" which is a single-chip scanning and printing engine including a processor core, a processor peripheral controller, a memory controller, a scanner / printer controller, a PCI interface and the like.

【0010】1.DoEngine概要 DoEngineは、MIPSテクノロジー社のR40
00プロセッサとコンパチブルなプロセッサコア、プロ
セッサ周辺コントローラ、メモリコントローラ、スキャ
ナー/プリンタコントローラ、PCIインターフェース
などを内蔵したシングルチップ・スキャニング・プリン
ティングエンジンである。高速並列動作、ビルディング
ブロック手法を採用し実装される。
[0010] 1. DoEngine Overview DoEngine is an R40 from MIPS Technology.
It is a single-chip scanning and printing engine with a built-in processor core, processor peripheral controller, memory controller, scanner / printer controller, PCI interface, etc. It is implemented using high-speed parallel operation and the building block method.

【0011】プロセッサシェル(プロセッサコアを含む
プロセッサ周辺回路の総称)内には最大でインストラク
ション、データそれぞれ16Kバイトの計32Kバイト
のキャッシュメモリ、FPU(浮動小数点演算ユニッ
ト)、MMU(メモリ管理ユニット)、ユーザー定義可
能なコプロセッサなどを内蔵することが可能である。
In a processor shell (general term for processor peripheral circuits including a processor core), a maximum of 32 Kbytes of cache memory of 16 Kbytes each of instructions and data, an FPU (floating point arithmetic unit), an MMU (memory management unit), It is possible to incorporate a user-definable coprocessor or the like.

【0012】PCIバスインターフェースを有するの
で、PCIバススロットを有するコンピュータシステム
と共に用いることができる。また、PCIサテライト構
成に加え、PCIホストバスブリッジ構成にてPCIバ
スコンフィギュレーションを発行することが可能であ
り、安価なPCI周辺デバイスと組み合わせることによ
り、マルチファンクションペリフェラル(複合機能周辺
機器)のメインエンジンとして使用することも可能であ
る。さらにPCIバスインターフェースを有するレンダ
リングエンジン、圧縮・伸長エンジンと組み合わせるこ
とも可能である。
Since it has a PCI bus interface, it can be used with a computer system having a PCI bus slot. In addition to the PCI satellite configuration, a PCI bus configuration can be issued in a PCI host bus bridge configuration. By combining with a low-cost PCI peripheral device, a main engine of a multifunction peripheral (multifunction peripheral) can be issued. It is also possible to use as. Furthermore, it is possible to combine with a rendering engine and a compression / decompression engine having a PCI bus interface.

【0013】チップ内部に汎用IOコアを接続するIO
バス(Bバス)、及び、画像データ転送に最適化したグ
ラフィックバス(Gバス:Graphics Bus)
の2系統の独立したバスを有し、メモリ、プロセッサと
これらのバスをクロスバスイッチを介して接続すること
により、マルチファンクションシステムにおける同時動
作に必須の、並列性の高い高速データ転送を実現してい
る。
An IO for connecting a general-purpose IO core inside the chip
Bus (B bus) and graphic bus optimized for image data transfer (G bus: Graphics Bus)
By connecting these buses to the memory and processor via a crossbar switch, high-speed data transfer with high parallelism, which is essential for simultaneous operation in a multifunction system, is realized. I have.

【0014】メモリには、画像データに代表される、連
続したデータ列のアクセスに対し、最高のコストパフォ
ーマンスを有するシンクロナスDRAM(SDRAM)
をサポートし、SDRAMのバーストアクセス高速デー
タ転送のメリットを享受できない小さなデータ単位での
ランダムアクセスにおける性能低下を最小に抑えるため
に、8Kバイトの2ウェイセットアソシアティブ・メモ
リフロントキャッシュをメモリコントローラ内に備え
る。メモリフロントキャッシュは、すべてのメモリライ
トに対するバススヌープが難しい、クロスバスイッチを
採用したシステム構成においても、複雑な機構なしに、
キャッシュメモリによる高性能化が達成出来る方式であ
る。また、リアルタイムデータ転送(機器制御)が可能
な、プリンタ及びスキャナーとのデータインターフェー
ス(Video Interhce)を有し、さらにハ
ードウェアによる、機器間同期のサポート及び画像処理
を行う事により、スキャナ、プリンタ分離型の構成にお
いても、高品質で高速なコピー動作の実現が可能な構成
となっている。
The memory includes a synchronous DRAM (SDRAM) having the highest cost performance for accessing a continuous data string represented by image data.
In order to minimize the performance degradation of random access in small data units that cannot enjoy the advantages of SDRAM burst access high-speed data transfer, an 8-Kbyte 2-way set associative memory front cache is provided in the memory controller. . The memory front cache, even in a system configuration that employs a crossbar switch, in which bus snooping for all memory writes is difficult, without a complicated mechanism,
This is a system that can achieve high performance by a cache memory. In addition, it has a data interface (Video Interface) with a printer and a scanner capable of real-time data transfer (device control), and further supports hardware-to-device synchronization and image processing by hardware to separate the scanner and printer. Also in the mold configuration, a high-quality and high-speed copy operation can be realized.

【0015】なお、DoEngineは、コアが3.3
Vで動作し、IOは5Vトレラントである。
In the case of DoEngine, the core is 3.3.
Operates at V and IO is 5V tolerant.

【0016】図1及び図2,図3は、DoEngine
を用いた装置あるいはシステムの構成例を示している。
図1は分離構成型であり、パーソナルコンピュータ10
2には、それが備えるPCIインターフェースを介して
DoEngineを備えたローカルボード101が装着
される。ローカルボード101にはDoEngineの
ほか、後述するメモリバスを介してDoEngineと
接続されたメモリと、色処理回路(チップ)が設けられ
ている。このローカルボード101を介して、高速スキ
ャナ103とカラー/モノクロプリンタ104とがパー
ソナルコンピュータ102に接続される。この構成によ
り、パーソナルコンピュータの制御のもとで,ローカル
ボード101により、スキャナ103から入力された画
像情報を処理し、プリンタ104から出力させることが
できる。
FIGS. 1, 2 and 3 show DoEngine
1 shows an example of the configuration of an apparatus or a system that uses the same.
FIG. 1 shows a personal computer 10 of a separated configuration type.
A local board 101 equipped with DoEngine is attached to 2 via a PCI interface provided therein. The local board 101 includes, in addition to DoEngine, a memory connected to DoEngine via a memory bus, which will be described later, and a color processing circuit (chip). The high-speed scanner 103 and the color / monochrome printer 104 are connected to the personal computer 102 via the local board 101. With this configuration, under the control of the personal computer, the local board 101 can process the image information input from the scanner 103 and output the image information from the printer 104.

【0017】また、図2及び図3はスキャナ203とプ
リンタ202とを一体に組み込んだ例で、図2は通常の
複写機に類する構成を、図3(a)はファクシミリ装置
などの構成を示している。図3(b)は、図3(a)を
コントロールするコンピュータを示している。
FIGS. 2 and 3 show an example in which the scanner 203 and the printer 202 are integrated. FIG. 2 shows a configuration similar to a normal copying machine, and FIG. 3A shows a configuration of a facsimile machine and the like. ing. FIG. 3B shows a computer that controls FIG. 3A.

【0018】これらのうち、図1,2は、PCIインタ
ーフェースを介して接続された外部のCPUによりDo
Engineが制御されるというスレーブモードで使用
されている例であり、図3は、DoEngineのCP
Uが主体となり、PCIインターフェースを介して接続
されたデバイスを制御するマスタモードで使用されてい
る例である。
FIGS. 1 and 2 show DoP by an external CPU connected via a PCI interface.
FIG. 3 shows an example in which the engine is used in a slave mode in which the engine is controlled.
This is an example in which U is a main component and is used in a master mode for controlling a device connected via a PCI interface.

【0019】表1として、DoEngineの仕様を示
す。外部インターフェースとして、PCI,メモリバ
ス,ビデオ,汎用入出力,IEEE1284,RS23
2C,100baseT/10baseT,LCDパネ
ル及びキーを備えるが、更にUSBを有していてもよ
い。内蔵ブロックとして、CPUコアに加えて、1次キ
ャッシュ,キャッシュ付きメモリコントローラ,コピー
エンジン,IOバスアービタ(Bバスアービタ),グラ
フィックバスアービタ(Gバスアービタ)などを備えて
いる。また、DMAコントローラはチャネル数が5であ
り、グラフィックバス(Gバス),IOバス(Bバス)
ともに、アービトレーションは優先度付きの先着順処理
方式で行われる。
Table 1 shows the specifications of DoEngine. External interfaces include PCI, memory bus, video, general purpose input / output, IEEE1284, RS23
2C, 100baseT / 10baseT, LCD panel and key, but may further have USB. As a built-in block, a primary cache, a memory controller with a cache, a copy engine, an IO bus arbiter (B bus arbiter), a graphic bus arbiter (G bus arbiter), and the like are provided in addition to the CPU core. The DMA controller has five channels, and has a graphic bus (G bus) and an IO bus (B bus).
In both cases, arbitration is performed in a first-come-first-served manner with priority.

【0020】[0020]

【表1】 [Table 1]

【0021】2.DoEngineの構成及び動作 本章では、DoEngineの総論に加え、各機能ブロ
ック毎のブロック図、概要、詳細、コアインターフェー
ス、タイミング図などを解説する。
2. Configuration and operation of DoEngine In this chapter, in addition to the general description of DoEngine, a block diagram, an overview, details, a core interface, a timing diagram, and the like for each functional block are described.

【0022】2.1.DoEngineのチップ構成 図4として、DoEngineのブロック図を示す。D
oEngine400は次世代複合機能周辺機器(シス
テム)(MFP:Multi Function Pe
ripheral orMFS:Multi Func
tion System)の主たるコントローラとして
設計、開発された。
2.1. DoEngine Chip Configuration FIG. 4 shows a block diagram of DoEngine. D
oEngine 400 is a next-generation multifunction peripheral (system) (MFP: Multi Function Pe
ripheral or MFS: Multi Func
Tion System) was designed and developed as the main controller.

【0023】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モジュール間を、可能な限り、同時平行接
続を確保することができるように設計されている。
As a CPU (processor core) 401,
Adopt MIPSR4000 core from MIPS Technology. In the processor core 401, instructions and data cache memory of 8 Kbytes each, M
MU and the like are implemented. The processor core 401 has 64
It is connected to a system bus bridge (SBB) 402 via a bit processor bus (SC bus). S
A BB 402 is a 4 × 4 64-bit crossbar switch, and is connected to a memory controller 403 for controlling an SDRAM or a ROM having a cache memory in addition to the processor core 401 by a dedicated local bus (MC bus). G bus 40 which is a graphic bus
4. Connected to the B bus 405, which is an IO bus,
Connected to two buses. System bus bridge 402
Is designed to ensure simultaneous parallel connection between these four modules as much as possible.

【0024】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にも接続されている。
The G bus 404 is a G bus arbiter (GBA).
Coordinated control is performed by a control unit 406, which is connected to a scanner controller 4302 or a printer controller 4303 for connecting to a scanner or a printer. The B bus 405 is cooperatively controlled by a B bus arbiter (BBA) 407, and includes a scanner / printer controller, a power management unit (PMU) 409, an interrupt controller (IC) 410, and a serial interface controller (UART) using a UART. SIC) 411, U
SB controller 412, parallel interface controller (PIC) 41 using IEEE1284
3. LAN controller using Ethernet (LAN
C) 414, LCD panel, keys, general-purpose input / output controller (PC) 415, PCI bus interface (P
CIC) 416.

【0025】2.2.プロセッサシェル プロセッサシェルとは、プロセッサコアに加えMMU
(Memory Management Unit)、
命令キャッシュ、データキャッシュ、ライトバックバッ
ファ及び掛け算ユニットを含んだブロックを指す。
2.2. Processor shell A processor shell is an MMU in addition to a processor core.
(Memory Management Unit),
Refers to a block including an instruction cache, a data cache, a write-back buffer, and a multiplication unit.

【0026】<キャッシュメモリ>図5に示したよう
に、キャッシュメモリコントローラは、無効(Inva
lid),有効かつクリーン(Valid Clea
n:キャッシュが更新されていない),有効かつダーテ
ィ(Valid Dirty:キャッシュが更新されて
いる)の3つのステートキャッシュを管理する。この状
態に応じて、キャッシュは制御される。
<Cache Memory> As shown in FIG. 5, the cache memory controller is invalid (Inva
lid), valid and clean (Valid Clear)
n: the cache is not updated), and three state caches, valid and dirty (the cache is updated), are managed. The cache is controlled according to this state.

【0027】2.3.インタラプトコントローラ 図6にインタラプトコントローラ410のブロック図を
示す。
2.3. Interrupt Controller FIG. 6 shows a block diagram of the interrupt controller 410.

【0028】インタラプトコントローラ410は、Bバ
スインターフェース605を介してBバス405に接続
され、DoEngineチップ内の各機能ブロック及
び、チップ外部からのインタラプトを集積し、CPUコ
ア401がサポートする、6レベルの外部インタラプト
及び、ノンマスカブルインタラプト(NMI)に再分配
する。各機能ブロックとは、電力管理ユニット409,
シリアルインターフェースコントローラ411,USB
コントローラ412,パラレルインターフェースコント
ローラ413,イーサネットコントローラ414,汎用
IOコントローラ415,PCIインターフェースコン
トローラ416,スキャナコントローラ4302,プリ
ンタコントローラ4303などである。
The interrupt controller 410 is connected to the B bus 405 via the B bus interface 605, integrates each functional block in the DoEngine chip and an interrupt from outside the chip, and has six levels of interrupts supported by the CPU core 401. Redistribute to external interrupts and non-maskable interrupts (NMI). Each functional block includes a power management unit 409,
Serial interface controller 411, USB
Controller 412, parallel interface controller 413, Ethernet controller 414, general-purpose IO controller 415, PCI interface controller 416, scanner controller 4302, printer controller 4303, and the like.

【0029】この際、ソフトウェアコンフィギュレーシ
ョン可能なマスクレジスタ(IntMask Logi
c0−5)602により、各要因毎に割り込みをマスク
をすることが可能である。また、外部インタラプト入力
は、選択的エッジ検出回路601により、信号線ごと
に、エッジセンス/レベルセンスを選択することが出来
る。要因レジスタ(Detect and set C
ause Reg0−5)603は、各レベルごとに、
どのインタラプトがアサートされているかを示すととも
に、ライト動作を行うことで、レベルごとにクリアを行
う事が出来る。
At this time, a mask register (IntMask Logic) capable of software configuration is used.
c0-5) 602 makes it possible to mask an interrupt for each factor. For the external interrupt input, the edge sensing / level sensing can be selected for each signal line by the selective edge detection circuit 601. Cause register (Detect and set C
ause Reg0-5) 603, for each level,
By indicating which interrupt is asserted and performing a write operation, it is possible to clear each level.

【0030】各レベルの割込み信号は、各レベル毎に少
なくともひとつの割り込みがあれば割込み信号を出力す
べく、論理和回路604により論理和として出力され
る。なお、各レベル内での複数要因間のレベル付けはソ
フトウェアにて行う。
The interrupt signal of each level is output as a logical sum by the logical sum circuit 604 so as to output an interrupt signal if there is at least one interrupt for each level. The level assignment between a plurality of factors in each level is performed by software.

【0031】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ビットとする。
2.4. Memory Controller FIG. 7 is a block diagram of the memory controller 403. The memory controller 403 is connected via an MC bus interface 701 to an MC bus, which is a local bus dedicated to the memory controller, and supports a maximum of 1 gigabyte synchronous DRAM (SDRAM) and a 32 megabyte flash ROM or ROM.
64 (16 × 4) burst transfer is realized to take advantage of the high speed at the time of burst transfer, which is a feature of SDRAM. In consideration of single transfer of continuous addresses from the CPU and the B bus, an SRAM (memory front cache) 702 is built in the memory controller, and transfer efficiency is reduced by avoiding direct single transfer to the SDRAM as much as possible. Improve. The data bus width between the memory controllers SDRAM is determined by the signals ramData and ramPa.
r together with 72 bits (of which the signal ra of 8 bits
mPar is a parity), and the width of the data buses finromData and prglomData between the flash ROMs is 32 bits.

【0032】2.4.2.構成及び動作 メモリコントローラの各部はこれから説明するような構
成となっている。
2.4.2. Configuration and Operation The components of the memory controller are configured as described below.

【0033】<MCバスインターフェース(701)>
MCバスは、SBB402−メモリコントローラ403
間の専用のバスであり、またSBB内部の基本バスとし
て用いられている。
<MC bus interface (701)>
MC bus is SBB 402-memory controller 403
It is a dedicated bus between them and is used as a basic bus inside the SBB.

【0034】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ビットがソース(マスタ)をあ
らわし、下位ビットがシングル/バースト長をあらわ
す。タイプには次のようなものがある。
While the burst transfer of the dedicated bus PBus connecting the CPU 401 and the bus bridge 402 specifies only four bursts, the MC bus adds a transfer of up to 16 bursts × 4. For this purpose, mTType [6: 0] is newly defined as a signal indicating the burst length. (Definition of MC bus signal) Each signal of the MC bus is defined as follows. • mClk (output): MC bus clock • mAAddr [31: 0] (output): MC bus address 32-bit address bus, mTs MBRdy from the time when L is asserted Held until L is asserted. -MDataOut [63: 0] (output) ... MC bus data output This is a 64-bit output data bus, and mDataOe
Valid only when L is asserted.・ MDataOe L (output) ··· MC bus data output enable Indicates that mDataOut [63: 0] is valid. It also indicates that the transfer is Write. -MDataIn [63: 0] (input) ... MC bus data input This is a 64-bit input data bus, and mBRdy. It is sampled at the rising edge of mClk where L is asserted.・ MTs L (output) ... MC bus transaction start strobe Indicates that transfer has started. Asserted only during the first clock of the transfer. MTs if the transfer is completed in one clock and the next transfer can be started immediately L remains asserted. MTType [6: 0] (output) ··· MC bus transaction type Indicates the type of transfer on the MC bus. During single transfer, during the transfer, during burst transfer, the first transfer (beat)
Held for a while. The upper 3 bits represent the source (master) and the lower bits represent the single / burst length. The types are as follows.

【0035】 ・mBE L[7:0](出力) … MCバストラ
ンザクションバイトイネーブル シングル転送時、64ビットデータバス上の有効なバイ
トレーンを示す。バースト転送時はWrite時のみ有
効であり、Read時は無視される。 ・mBRdy L(入力) …MCバスレディ 現在の転送(beat)が終了したことを示す。 ・mTPW L(出力) … 次トランザクシ
ョンがIn−pagewrite(ページ内書き込み) 次の転送が同じページ(同じRowアドレス)のWri
teであることを示し、最大4個までのWriteを続
けることができる。ページサイズはあらかじめコンフィ
ギュレーションレジスタに設定しておく。 ・mBPWA L(入力) … バスのページ
内書き込み許可 MCバススレーブ(メモリコントローラ)がページ内書
き込みトランザクションを許可するかどうかを示し、m
BRdy Lと同じクロックでサンプリングされる。こ
の時mBPWA LがディアサートされていればmTP
Lは無意味となる。 ・mBRty L(入力) … バスリトライ MCバススレーブ(メモリコントローラ)がアクセスを
未実行のまま終了させる場合にアサートし、少なくとも
1サイクル以上のアイドルの後に再試行しなければなら
ないことを示す。(もしmBRdy LとmBRty
Lが同時にアサートされた場合は、mBRty Lが優
先される。) ・mBerr L(入力) … バスエラー パリティエラーやその他のバスエラーが発生した場合に
アサートされる。
[0035] ・ MBE L [7: 0] (output) ... MC bus transaction byte enable Indicates a valid byte lane on the 64-bit data bus during single transfer. At the time of burst transfer, it is effective only at the time of Write, and is ignored at the time of Read.・ MBRdy L (input): MC bus ready Indicates that the current transfer (beat) has been completed.・ MTPW L (output): Next transaction is In-pagewrite (in-page write) Next transfer is Wri of the same page (same Row address)
te, and up to four Writes can be continued. The page size is set in the configuration register in advance.・ MBPWA L (input): Permits intra-page write of bus Indicates whether the MC bus slave (memory controller) permits intra-page write transactions,
BRdy It is sampled at the same clock as L. At this time, mBPWA MTP if L is deasserted
W L becomes meaningless.・ MBRty L (input) ... bus retry Assert when the MC bus slave (memory controller) terminates the access without executing it, and indicates that the retry must be performed after idle for at least one cycle. (If mBRdy L and mBRty
If L is asserted simultaneously, mBRty L has priority.・ MBerr L (input): Bus error Asserted when a parity error or other bus error occurs.

【0036】なお、上述した入出力の別は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信号をアサートし、バス
リトライを通知する。
The above-mentioned distinction between input and output is a definition from the viewpoint of SBB. (MC bus transaction) The following transactions are supported as transactions on the MC bus. Basic transaction (1,2,3,4,8 bytes Read / Write) mBE According to the L [7: 0] signal, a single transaction of 1, 2, 3, 4, 8 bytes is supported. Burst Transaction (from CPU) Supports transactions up to 4-doubleword burst. Supports up to 16-doubleword burst x4 transactions from the G bus. In-page write transaction mTPW For writing in the same page indicated by L, continuous Write access is supported. Bus retry If memory access is not possible due to restrictions in the memory controller, mBRty Assert the L signal to notify the bus retry.

【0037】<SDRAMコントローラ(705)>メ
モリコントローラ403は、次のような構成を有するS
DRAMを以下のように制御する。
<SDRAM Controller (705)> The memory controller 403 has the following configuration.
The DRAM is controlled as follows.

【0038】(DRAM構成)DRAMの構成として
は、x4,x8,x16ビットタイプの16/64メガ
ビットSDRAMを64ビットデータバスで8バンク制
御することができる。
(DRAM Configuration) As a DRAM configuration, a 16/64 Mbit SDRAM of x4, x8, and x16 bit type can be controlled by eight banks with a 64-bit data bus.

【0039】[0039]

【表2】 [Table 2]

【0040】(DRAMアドレスビット構成)DRAM
のアドレスビットの割付けについては、64ビットSD
RAMの場合にはMA[13:0]を、16ビットSD
RAMの場合にはMA[11:0]を使用する。
(DRAM address bit configuration) DRAM
For the assignment of the address bits of
In the case of RAM, MA [13: 0] is converted to 16-bit SD
In the case of a RAM, MA [11: 0] is used.

【0041】[0041]

【表3】 [Table 3]

【0042】(SDRAMプログラマブル構成(モード
レジスタ))SDRAMは内部にモードレジスタを持
ち、モードレジスタ設定コマンドを用いて下記の項目を
設定する。 バースト長 バースト長は、1,2,4,8,フルページのいずれか
が設定可能であるが、CPUからのバースト転送長が4
であることから、バースト長4が最適である。Gバスか
らの16バースト以上の転送は、Read/Write
コマンド(オートプリチャージ無し)を連続して発行す
ることにより実現する。 ラップタイプ(Wrap Type) バースト転送時のアドレスのインクリメント順を設定す
る。「シーケンシャル」または「インターリーブ」のど
ちらかが設定可能である。 CASレイテンシ CASレイテンシは、1,2,3のいずれかが設定可能
であり、使用するSDRAMのグレードと動作クロック
により決定される。
(SDRAM Programmable Configuration (Mode Register)) The SDRAM has a mode register inside and sets the following items using a mode register setting command. Burst length The burst length can be set to 1, 2, 4, 8 or full page, but the burst transfer length from the CPU is 4
Therefore, the burst length 4 is optimal. Transfer of 16 bursts or more from the G bus is Read / Write
This is realized by issuing commands (without auto precharge) continuously. Wrap Type (Wrap Type) Sets the increment order of addresses during burst transfer. Either “sequential” or “interleave” can be set. CAS Latency The CAS latency can be set to one of 1, 2, and 3, and is determined by the grade of SDRAM to be used and the operation clock.

【0043】(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 command) The following commands are supported for the SDRAM. Details of each command are described in the SDRAM data book.・ Mode register setting command ・ Active command ・ Precharge command ・ Write command ・ Read command ・ CBR (Auto) refresh command ・ Self refresh start command ・ Burst stop command ・ NOP command (SDRAM refresh) For SDRAM, 2048 cycles / 32 ms (4096) / 64ms)
A CBR refresh command is issued every 16,625 ns. The memory controller has a configurable refresh counter and automatically issues a CBR refresh command. During the transfer of the 16-burst xn from the G bus, no refresh request is accepted. Therefore,
The refresh counter must be set to a value with a margin of 16-burst × 4 transfer time. Also,
Support self refresh. When this command is issued, the power down mode (ramclke L =
At (Low), the self-refresh is continued.

【0044】(SDRAM初期化)メモリコントローラ
はパワーオンリセット後、SDRAMに対して以下の初
期化を行なう。すなわち、電源投入後100μsのポー
ズ期間をおいて、 プリチャージウコマンドを用いて全バンクをプリチャ
ージする。 SDRAMのモードレジスタを設定する。 オートリフレッシュコマンドを用いて、リフレッシュ
を8回行う。
(SDRAM initialization) After a power-on reset, the memory controller performs the following initialization on the SDRAM. That is, after a pause period of 100 μs after power-on, all banks are precharged by using a precharge command. Set the mode register of the SDRAM. Refresh is performed eight times using an auto-refresh command.

【0045】<フラッシュ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とマルチプレクスされている。
<Flash ROM controller (70
4)> The flash ROM controller 704 is
Addr [23: 2] address signal and four chip select (romCs L [3: 0]) signals. Address signals romAddr2 to romAddr9
Are multiplexed with the parity signals ramPar0 to ramPar7, and the address signals romAddr10 to r
omAddr23 is a DRAM address ramAddr.
It is multiplexed with 0 to ramAddr13.

【0046】<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に示す。
<SRAM control (memory front cache)> SDRA used as main memory
M is very fast in burst transfer, but cannot exhibit high speed in single transfer. Therefore, a memory front cache is implemented in the memory controller to increase the speed of single transfer. The memory front cache includes a cache controller 706 and an SRAM.
702. MTTy defined for MC bus
Since the transfer master and the transfer length can be known from the pe [6: 0] signal, the ON / OFF of the cache can be set for each master or for each transfer length.
The cache method is as follows. Hereinafter, unless otherwise specified, the term “cache” or “cache memory” refers not to a cache built in a processor core but to a memory front cache built in a memory controller. -2 way set associative-8k byte data RAM-128x21x2 tag RAM-LRU (Least Recently Used)
Algorithm Write-through No Write Allocate Next, a detailed block diagram centering on the cache controller 706 is shown in FIG.

【0047】(キャッシュの動作)ここで、MCバスよ
りメモリリード/ライト転送が要求された場合のキャッ
シュの動作を図8のブロック図と、図9及び図10に示
すフローチャートを用いて説明する。
(Operation of Cache) The operation of the cache when a memory read / write transfer is requested from the MC bus will be described with reference to the block diagram of FIG. 8 and the flowcharts of FIGS.

【0048】MCバスよりデータ転送が開始されると、
その転送の最初にMCバス上で示されるmTType
[6:0]よって、その転送がキャッシュオンでおこな
うか、オフでおこなうかの判断がおこなわれる。この説
明では、転送がシングル転送であればオン、バースト転
送であればオフと判断することにする(ステップS90
1)。すなわち、mTType(3)が“1”hであれ
ば、シングル転送をあらわすのでキャッシュオンで、
“0”hであればバースト転送をあらわすのでキャッシ
ュオフで転送を行う。
When data transfer is started from the MC bus,
MTType shown on the MC bus at the beginning of the transfer
[6: 0], it is determined whether the transfer is performed with the cache on or off. In this description, it is determined that the transfer is ON if the transfer is a single transfer and OFF if the transfer is a burst transfer (step S90).
1). That is, if mTType (3) is "1" h, it indicates a single transfer, so that the cache is turned on.
If "0" h, it indicates burst transfer, so transfer is performed with cache off.

【0049】シングル転送(キャッシュオン)の場合、
アドレスlmaddr[31:0]が与えられると、l
maddr[11:5]がインデックスとしてb1
ag ram801,b2 tag ram802,b1
data ram702−a,b2 data ra
m702−b,lru803へ与えられ、それぞれのブ
ロックから、入力されたインデックスに対応するバリッ
ドビット″v″及びb1_tag addr,バリッド
ビッド″v″及びb2 tag addr,b1 ou
data,b2 out data,lru in
がそれぞれ出力される(ステップS902)。
In the case of single transfer (cache on),
Given the address lmaddr [31: 0], l
maddr [11: 5] is b1 as an index t
ag ram801, b2 tag ram802, b1
data ram702-a, b2 data ra
m702-b and lru803, and
From the lock, the validity of the index
Debit "v" and b1_tag addr, valid
Bid "v" and b2 tag addr, b1 ou
t data, b2 out data, lru in
Are output (step S902).

【0050】b1 tag ram801とb2 ta
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)。
B1 tag ram801 and b2 ta
g b1 output from ram802 tag add
r and b2 tag addr is each b1 comp
eater 804, b2 comparator80
5 is compared with the address lmaddr [31:12],
As a result, that is, whether or not the hit is b1 hit mi
ss_L, b2 hit miss The cache controller 706 is notified by the L signal and determined (step S903).

【0051】ここでヒットであれば、リードかライトか
が判定される(ステップ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
ataのうちb2 out dataを選択し、lma
ddr[4:3]で示される8バイトのデータをMCバ
スへ出力する(ステップS905)。同時にそのインデ
ックスに対応するlruを“1”h(=b2ヒット)に
書き換えて、転送が終了する。
If it is a hit here, it is determined whether it is a read or a write (step S904). The hit is b1 tag addr and b2 tag addr
Is in agreement with the address lmaddr [31:12]. In the case of a hit and a lead, it is as follows. That is, if b1 is a hit and the requested transfer is a read, b1 already read out data and b2 out
b1 out of data out Select data and l
8 bytes of data indicated by maddr [4: 3]
Output to the C bus (step S905). At the same time, lru corresponding to the index is set to “0” (= b1 hit)
And the transfer ends. b2 is a hit,
If the requested transfer was a read, b1 already read out data and b2 out d
b2 out of data out Select the data, lma
The 8-byte data indicated by ddr [4: 3] is output to the MC bus (step S905). At the same time, lru corresponding to the index is rewritten to "1" h (= b2 hit), and the transfer is completed.

【0052】一方、ヒットかつライトの場合にはつぎの
ようになる。すなわち、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)。
On the other hand, in the case of hit and write, the following is performed. That is, if b1 is a hit and the requested transfer is a write, b1 indicated by the index data lmaddr of ram702-a
MBE of the 8-byte data indicated by [4: 3]
Only the valid byte lane indicated by L [7: 0] is rewritten, and at the same time, lru corresponding to the index is rewritten to “0” h (= b1 hit). Also SDRA
M is similarly rewritten and the transfer is completed (step S90).
6). If b2 is a hit and the requested transfer is a write, b2 indicated by the index data
mBE of 8-byte data indicated by lmaddr [4: 3] of ram702-b Only valid byte lanes indicated by L [7: 0] are rewritten, and at the same time, lru corresponding to the index is rewritten to “1” h (= b2 hit). Similarly, the SDRAM is rewritten and the transfer is completed (step S906).

【0053】一方、b1,b2ともにミスである場合に
も、リードかライトか判定される(ステップS100
1)。要求された転送がリードであった場合は、そのl
maddr[31:3]で示される8バイトのデータが
SDRAMより読み出され(ステップS1003)、M
Cバスへ出力される(ステップS1004)。同時にそ
のインデックスに対応するlruが読み出され、“0”
hであった場合はb2 data ramへSDRAMか
らのデータを書きlruも“1”hへ書き換える。lr
uが“1”hであった場合はb1 data ramへ
SDRAMからのデータを書き、lruも“0”hへ書
き換え終了する(ステップS1005)。b1,b2と
もにミスであり、要求された転送がライトであった場合
は、SDRAMに書き込むだけで転送が終了する(ステ
ップS1002)。
On the other hand, when both b1 and b2 are mistakes,
Is read or written (step S100).
1). If the requested transfer was a read, its l
8 bytes of data indicated by maddr [31: 3]
It is read from the SDRAM (step S1003), and M
The data is output to the C bus (step S1004). At the same time
Lru corresponding to the index of “0” is read, and “0” is read.
If h, b2 data SDRAM to ram
These data are written and lru is also rewritten to "1" h. lr
If u is "1" h, b1 data to ram
Write data from SDRAM and write lru to “0” h
The replacement is completed (step S1005). b1, b2 and
If an error was originally made and the requested transfer was a write
Transfer ends only by writing to SDRAM (step
Step S1002).

【0054】ステップS901においてバースト転送
(キャッシュオフ)の場合、リード、ライトともSDR
AMに対してだけ行われ(ステップS907−S90
9)、キャッシュデータやタグの書き換え等は行わな
い。
In the case of burst transfer (cache off) in step S901, both read and write
Performed only for AM (steps S907-S90)
9), rewriting of cache data and tags is not performed.

【0055】<ROM/RAMインターフェース(70
7)>ROM/RAMコントローラ707の構成を図1
1に示す。ブロック1101〜ブロック1104によ
り、SDRAMのデータ信号、アドレス信号、パリティ
信号が、フラッシュROMのデータ信号、アドレス信号
と多重化される。
<ROM / RAM interface (70
7)> The configuration of the ROM / RAM controller 707 is shown in FIG.
It is shown in FIG. Blocks 1101 to 1104 multiplex the data signal, address signal, and parity signal of the SDRAM with the data signal and address signal of the flash ROM.

【0056】2.4.3.タイミングダイアグラム上述
したメモリコントローラ403によるデータの読み出し
・書き込み等の処理のタイミングを、図12〜図19を
用いて説明する。
2.4.3. Timing Diagram The timing of processing such as data reading / writing by the memory controller 403 described above will be described with reference to FIGS.

【0057】図12は、CPUからのバースト読み出し
のタイミングを示す。バースト長は4、CASレイテン
シは3である。図9のステップS909における処理に
相当する。
FIG. 12 shows the timing of burst reading from the CPU. The burst length is 4, and the CAS latency is 3. This corresponds to the processing in step S909 in FIG.

【0058】図13は、CPUからのバースト書き込み
のタイミングを示す。バースト長は4、CASレイテン
シは3である。図9のステップS908における処理に
相当する。
FIG. 13 shows the timing of burst writing from the CPU. The burst length is 4, and the CAS latency is 3. This corresponds to the processing in step S908 in FIG.

【0059】図14は、Gバスデバイスからのバースト
読み出しのタイミングを示す。Gバスのバースト長は1
6、SDRAMのバースト長は4、CASレイテンシは
3である。図9のステップS909における処理に相当
する。
FIG. 14 shows the timing of burst reading from the G bus device. G bus burst length is 1
6, the burst length of the SDRAM is 4, and the CAS latency is 3. This corresponds to the processing in step S909 in FIG.

【0060】図15は、Gバスデバイスからのバースト
書き込みのタイミングを示す。Gバスのバースト長は1
6、SDRAMのバースト長は4、CASレイテンシは
3である。図9のステップS908における処理に相当
する。
FIG. 15 shows the timing of burst write from the G bus device. G bus burst length is 1
6, the burst length of the SDRAM is 4, and the CAS latency is 3. This corresponds to the processing in step S908 in FIG.

【0061】図16は、メモリフロントキャッシュにヒ
ットした場合のシングル読み出しのタイミングを示す。
読み出されるデータmDataIn[63:0]として
は、キャッシュメモリであるb1 data ram7
02−aあるいはb2 data ram702−bか
ら読み出されたb1/b2 out dataが出力さ
れる。SDRAMのバースト長は4、CASレイテンシ
は3である。図9のステップS905における処理に相
当する。
FIG. 16 shows the timing of a single read when a hit occurs in the memory front cache.
The data mDataIn [63: 0] to be read includes the cache memory b1 data ram7
02-a or b2 data b1 / b2 read from ram702-b out data is output. The burst length of the SDRAM is 4 and the CAS latency is 3. This corresponds to the processing in step S905 in FIG.

【0062】図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における処
理に相当する。
FIG. 17 shows the timing of a single read when no hit occurs in the memory front cache. Data to be read mDataIn [63: 0]
Is the data ramD read from the SDRAM
data [63: 0] is output. Also, this data is b1 / b2 in b1 which is a cache memory as data data ram702-a or b2
data Also written to ram702-b. SDR
The burst length of AM is 4, and the CAS latency is 3.
This corresponds to the processing in steps S1004 and S1005 in FIG.

【0063】図18は、メモリフロントキャッシュにヒ
ットした場合のシングル書き込みのタイミングを示す。
書き込まれるデータmDataOut[63:0]は、
キャッシュメモリであるb1 data ram702
−aあるいはb2 data ram702−bに書き込
まれるとともに、SDRAMにも書き込まれる。SDR
AMのバースト長は4、CASレイテンシは3である。
図9のステップS906における処理に相当する。
FIG. 18 shows that the memory front cache is
This shows the timing of the single write in the case of setting.
The data mDataOut [63: 0] to be written is
B1 which is a cache memory data ram702
-A or b2 data Write to ram702-b
At the same time as writing to the SDRAM. SDR
The burst length of AM is 4, and the CAS latency is 3.
This corresponds to the processing in step S906 in FIG.

【0064】図19は、メモリフロントキャッシュにヒ
ットしなかった場合のシングル書き込みのタイミングを
示す。書き込まれるデータmDataOut[63:
0]は、キャッシュメモリであるb1 data ra
m702−aあるいはb2 data ram702−
bには書き込まれず、SDRAMに対してだけ書き込ま
れる。SDRAMのバースト長は4、CASレイテンシ
は3である。図10のステップS1002における処理
に相当する。
FIG. 19 shows the timing of a single write when no hit occurs in the memory front cache. The data to be written mDataOut [63:
0] is the cache memory b1 data ra
m702-a or b2 data ram702-
It is not written to b but written only to SDRAM. The burst length of the SDRAM is 4 and the CAS latency is 3. This corresponds to the processing in step S1002 in FIG.

【0065】なお、ここでは、MCバスよりデータ転送
が開始されると、その転送の最初にMCバス上で示され
るmTType[6:0]によって、転送がシングル転
送であればオン、バースト転送であればオフと判断して
いるが、バースト転送の場合に、さらにバースト長を判
定し、バースト長がキャッシュの1ラインよりも小さい
場合にはキャッシュオンとし、そうでない場合にはキャ
ッシュオフとして動作するようにしてもよい。
Here, when the data transfer is started from the MC bus, mTType [6: 0] indicated on the MC bus at the beginning of the transfer indicates that if the transfer is a single transfer, it is turned on, and the burst transfer is performed. If the burst length is smaller than one line of the cache, the cache is turned on; if not, the cache is turned off; otherwise, the cache is turned off. You may do so.

【0066】また、MCバスに、メモリへのデータ転送
を要求したバスマスタの識別子を示す信号を含ませるこ
とで、メモリコントローラがその識別子を判定し、識別
子に応じてキャッシュオン/キャッシュオフの制御を行
うこともできる。この場合には、識別子とキャッシュオ
ン/オフの別とを対応させた書換え可能なテーブルを用
意し、それを参照してキャッシュのオンオフを切り替え
ることもできる。このテーブルは、例えば特定のアドレ
スを割り当ててCPU401などから書換え可能にする
こともできる。
Also, by including in the MC bus a signal indicating the identifier of the bus master that has requested data transfer to the memory, the memory controller determines the identifier and controls cache on / cache off according to the identifier. You can do it. In this case, it is also possible to prepare a rewritable table in which the identifier is associated with the cache ON / OFF, and switch the cache ON / OFF with reference to the rewritable table. This table can be made rewritable by the CPU 401 or the like by assigning a specific address, for example.

【0067】2.5.システムバスブリッジ(SBB)
及びBバス,Gバス 図20としてシステムバスブリッジ(SBB)402の
ブロック図を示す。
2.5. System bus bridge (SBB)
FIG. 20 is a block diagram of a system bus bridge (SBB) 402.

【0068】SBB402は、Bバス(入出力バス),
Gバス(グラフィックバス),SCバス(プロセッサロ
ーカルバス)及びMCバス間の相互接続をクロスバスイ
ッチを用いて提供する、マルチチャネル双方向バスブリ
ッジである。クロスバスイッチにより、2系統の接続を
同時に確立することが出来、並列性の高い高速データ転
送を実現出来る。
The SBB 402 includes a B bus (input / output bus),
A multi-channel bi-directional bus bridge that provides interconnection between a G bus (graphic bus), an SC bus (processor local bus) and an MC bus using a crossbar switch. With the crossbar switch, two systems can be simultaneously connected, and high-speed data transfer with high parallelism can be realized.

【0069】SBB402は、Bバス405と接続する
ためのBバスインターフェース2906と、Gバス40
4と接続するためのGバスインターフェース2006
と、プロセッサコア401と接続するためのCPUイン
ターフェーススレーブポート2002と、メモリコント
ローラ403と接続するためのメモリインターフェース
マスターポートを備えるほか、アドレスバスを接続する
アドレススイッチ2003,データバスを接続するデー
タスイッチ2004を含む。また、プロセッサコアのキ
ャッシュメモリを無効化するキャッシュ無効化ユニット
2005を備えている。
The SBB 402 includes a B bus interface 2906 for connecting to the B bus 405 and a G bus 40
G bus interface 2006 to connect to
And a CPU interface slave port 2002 for connecting to the processor core 401, a memory interface master port for connecting to the memory controller 403, an address switch 2003 for connecting an address bus, and a data switch 2004 for connecting a data bus. including. Further, a cache invalidation unit 2005 for invalidating the cache memory of the processor core is provided.

【0070】Bバスインターフェース2009には、B
バスデバイスからのDMAライトを高速化するライトバ
ッファと、Bバスデバイスのリードを効率化するリード
プリフェッチキューを実装する。これらのキュー内に一
時的に存在するデータに関するコヒーレンシ管理はハー
ドウェアにて行う。なお、Bバスに接続されたデバイス
をデバイスと呼ぶ。
The B bus interface 2009 has B
A write buffer for speeding up DMA write from the bus device and a read prefetch queue for improving read efficiency of the B bus device are mounted. Coherency management for data temporarily existing in these queues is performed by hardware. Note that a device connected to the B bus is called a device.

【0071】プロセッサコアは32ビットバスに対する
ダイナミックバスサイジングをサポートしているが、S
BB402ではこれをサポートしない、将来、バスサイ
ジングをサポートしないプロセッサを用いる場合にもS
BBに必要な改造を最小限におさえるためである。
The processor core supports dynamic bus sizing for a 32-bit bus.
The BB 402 does not support this. In the future, even if a processor that does not support bus sizing is used, S
This is for minimizing the modification required for the BB.

【0072】2.5.1.SBB及び各バスの構成及び
動作 <Bバスインターフェース>図21は、Bバスインター
フェースのブロック図である。
2.5.1. Configuration and Operation of SBB and Each Bus <B Bus Interface> FIG. 21 is a block diagram of the B bus interface.

【0073】Bバスインターフェース2009は、Bバ
スとMCバス間の双方向ブリッジ回路である。Bバスは
DoEngineの内部汎用バスである。
The B bus interface 2009 is a bidirectional bridge circuit between the B bus and the MC bus. The B bus is a DoEngine internal general-purpose bus.

【0074】Bバスインターフェース2009内には、
マスタコントロールブロック2011、スレーブコント
ロールブロック2010、データインターフェース20
12、DMAC2013、Bバスバッファの5ブロック
が含まれる。図21上で、DMAC2013は、機能上
3個のシーケンサとレジスタブロックに分割される。そ
れら3つのシーケンサのうち、DMAメモリアクセスシ
ーケンサはBバススレーブコントロールブロック201
0に、DMAregシーケンサはBバスマスターコント
ロールブロック2011に内蔵される。レジスタブロッ
クであるDMAレジスタはBバスデータインターフェー
ス2012部に内蔵される。
In the B bus interface 2009,
Master control block 2011, slave control block 2010, data interface 20
12, DMAC 2013, and 5 blocks of B bus buffer. In FIG. 21, the DMAC 2013 is functionally divided into three sequencers and register blocks. Of these three sequencers, the DMA memory access sequencer is the B bus slave control block 201
At 0, the DMAreg sequencer is built into the B bus master control block 2011. A DMA register as a register block is built in the B bus data interface 2012 unit.

【0075】またBバスインターフェース2009はB
バス側からのメモリへの書き込み時、及びDMAによる
デバイスからメモリへの転送が起こった時に、キャッシ
ュ無効化インターフェースを介してCPUシェル内のデ
ータ、命令両キャッシュの無効化の制御を行う。
Further, the B bus interface 2009
When writing to the memory from the bus side and when transfer from the device to the memory by DMA occurs, invalidation of both data and instruction caches in the CPU shell is controlled via the cache invalidation interface.

【0076】なお、CPUライト時のライトバックバッ
ファはBバスインターフェースには実装しないが、Bバ
ス上の外部マスタライト時のライトバッファを実装す
る。これにより、バースト転送でない、連続した外部マ
スタからの書き込みが高速化される。このライトバッフ
ァのフラッシュは、Bバスアービタ407によるメモリ
への接続が許された時点で行われる。Bバスマスタリー
ドのライトバッファバイパスは行わない。
Although a write-back buffer for CPU write is not mounted on the B bus interface, a write buffer for external master write on the B bus is mounted. As a result, continuous writing from an external master, which is not a burst transfer, is speeded up. The flushing of the write buffer is performed when the connection to the memory by the B bus arbiter 407 is permitted. The write buffer bypass for the B bus master read is not performed.

【0077】また、外部マスタのリードプリフェッチキ
ューを実行する。これにより、外部マスタからの連続し
た、データストリームの読み出しの高速化を図る。リー
ドバッファの無効化は、 1.Bバスの新たなリードがバッファにヒットしなかっ
た場合。 2.CPUからメモリへのライトが行われた場合。 3.Gバスからメモリへのライトが行われた場合。 4.Bバスからメモリへのライトが行われた場合。 に行われる。
The read prefetch queue of the external master is executed. Thus, the speed of reading the continuous data stream from the external master is increased. To invalidate the read buffer: When a new read of the B bus does not hit the buffer. 2. When writing from the CPU to the memory is performed. 3. When data is written from the G bus to the memory. 4. When data is written from the B bus to the memory. Done in

【0078】またBバスインターフェース2009には
Bバス405上の各デバイスとメモリ間のDMAコント
ローラ2013が内蔵される。システムバスブリッジ4
02にDMAコントローラを内蔵することにより、ブリ
ッジ双方へ、同時にアクセス要求が発行出来、効率的な
DMA転送が実現出来る。
The B bus interface 2009 incorporates a DMA controller 2013 between each device on the B bus 405 and the memory. System bus bridge 4
02, a DMA controller is built in, an access request can be issued to both bridges at the same time, and efficient DMA transfer can be realized.

【0079】Bバスインターフェース2009はプロセ
ッサ401からのアクセス要求に対して、ダイナミック
バスサイジングの使用を要求しない。またBバスマスタ
からのメモリアクセス要求時に、メモリコントローラ4
03からのバスサイジングにも対応しない。すなわち、
メモリコントローラはバスサイジングを期待すべきでは
ない。
The B bus interface 2009 does not request the use of dynamic bus sizing in response to an access request from the processor 401. When a memory access request is issued from the B bus master, the memory controller 4
It does not correspond to the bus sizing from 03. That is,
Memory controllers should not expect bus sizing.

【0080】<Bバス>BバスはDoEngine内の
汎用IOバスであり、以下の仕様を持つ。 ・アドレス、データ分離型32ビットバス。 ・任意のウェイトサイクルを挿入可能、最短はノーウェ
イト。 ・バーストトランザクションのサポート。 ・最大転送速度は、クロックが50MHz時に200M
byte/Sec。 ・バスエラーとバスリトライのサポート。 ・複数バスマスタのサポート。
<B Bus> The B bus is a general-purpose IO bus in DoEngine, and has the following specifications. -Address / data separation type 32-bit bus.・ Any wait cycle can be inserted. The shortest is no wait. -Support for burst transactions.・ Maximum transfer speed is 200M when clock is 50MHz
byte / Sec. -Support for bus error and bus retry. -Support for multiple bus masters.

【0081】(Bバス信号定義)以下にバス信号の定義
を説明する。各信号毎に、「信号名(英語呼称):入力
元>出力先(,3States)…信号の説明」の要領
で記載されている。なお、3ステートの項は3ステート
の信号に限り記載した。
(B Bus Signal Definition) The definition of the bus signal will be described below. Each signal is described in the manner of “Signal name (English name): input source> output destination (, 3States)... Signal description”. Note that the three-state item is described only for three-state signals.

【0082】bAddr[31:2](IOBus A
ddress Bus) :Master>Slab
e,3State… IOBusアドレスバス。
BAddr [31: 2] (IOBus A
address Bus): Master> Slab
e, 3State ... IO Bus address bus.

【0083】bData[31:0] (IOBus
Data Bus) :DataDriver>Dat
aReceiver,3State …IOBusデー
タバス。
BData [31: 0] (IOBus
Data Bus): DataDriver> Dat
aReceiver, 3State ... IOBus data bus.

【0084】b(Datadrivername)Da
taOeReq(IOBus Data Output
Enable Request):Datadriv
er>DefaultDriverLogic … 後
述する双方向IOバスを実現するため、デフォルトドラ
イバーコントロールロジックへの出力信号である。Da
tadrivernameを持つデバイスが、バス上に
データをドライブするための要求信号である。データの
出力を許可されたデバイスには、デフォルトドライバー
コントロールロジックよりb(Datadrivern
ame)DataOe Lが出力される。Datadr
iverの例:Pci,Sbb,Jpeg,Spu。
B (Data drive name) Da
taOeReq (IOBus Data Output)
Enable Request): Datadriv
er> DefaultDriverLogic... This is an output signal to a default driver control logic in order to realize a bidirectional IO bus described later. Da
A request signal for driving data on a bus by a device having a tadrivername. For devices that are allowed to output data, b (Datadriver)
ame) DataOe L is output. Datadr
Examples of aver: Pci, Sbb, Jpeg, Spu.

【0085】b(Datadrivername)Da
taOe L(IOBus Data Output
Enable)dfaultDriverLogic>
Datadriver … b(Datadriver
name)DataOeReqを出力したデバイスに対
し、デフォルトドライバーロジックがデータバスへのデ
ータのドライブを許す場合b(Datadrivern
ame)DataOe L信号をそのデバイスに対して返
す。
B (Data drive name) Da
taOe L (IOBus Data Output)
Enable) dfaultDriverLogic>
DataDriver… b (DataDriver
name) For the device that output DataOeReq
And the default driver logic is
B (Datadriver) when data drive is allowed
ame) DataOe L signal is returned to the device.
You.

【0086】bError L(IOBus Bus
Error):Slave>Master 3Stat
e … IOバストランザクションがエラーで終了した
ことを示す。
BError L (IOBus Bus
Error): Slave> Master 3Stat
e: Indicates that the IO bus transaction ended with an error.

【0087】b(Mastername)BGnt
(IOBus Grant):Arbiter>Mas
ter … バスアービトレーションにより当マスタが
バスの使用権を得たことを示す。Mastername
の例:Pci,Sbb,Jpeg,Spu。
B (Mastername) BGnt L
(IOBus Grant): Arbiter> Mas
ter: Indicates that this master has obtained the right to use the bus by bus arbitration. Mastername
Examples: Pci, Sbb, Jpeg, Spu.

【0088】blnstNotData(IOBus
Instruction/DataOutput In
dicator):Master>Slave,3St
ate … Bバスマスタがインストラクションフェッ
チをBバススレーブに対して行う場合にHighにドラ
イブする。データトランザクションの場合はLowにド
ライブする。
BlnstNotData (IOBus
Instruction / DataOutput In
dicator): Master> Slave, 3St
ate: Drives high when the B bus master performs instruction fetch for the B bus slave. In the case of a data transaction, drive to Low.

【0089】b(Mastername)CntlOe
Req(IOBus MasterControl O
utput EnableRequest):Mast
er>DefaultDriverLogic … B
バスマスタが、bStart L,bTx L,bWr
L,vInstNotDataとbAddr[31:
2]を3ステートバス上にドライブしたい場合に、IO
Bus Output Control Logicに
対してアサートする。IOBus Output Co
ntrol Logicは各マスタからの、bMCnt
lOeReqに基づきドライブを許すマスタに対し、b
(Mastername)CntlOe L信号を返
す。
B (Mastername) CntOe
Req (IOBus MasterControl O
output EnableRequest): Mast
er> DefaultDriverLogic… B
If the bus master is bStart L, bTx L, bWr
L, vInstNotData and bAddr [31:
2] on a 3-state bus, the IO
Assert for Bus Output Control Logic. IOBus Output Co
control Logic is bMCnt from each master.
For masters that allow drive based on lOeReq, b
(Mastername) CntOe Returns L signal.

【0090】b(Mastername)CntlOe
L(IOBus MasterControl Ou
tput Enable):DefaultDrive
rLogic>Master … b(Mastern
ame)CntlOeReqを出力したマスタに対し、
デフォルトドライバーロジックがドライブを許す場合b
(Mastername)CntlOe L信号をその
マスタに対して返す。
B (Mastername) CntOe
L (IOBus MasterControl Ou
output Enable): DefaultDrive
rLogic> Master… b (Mastern
ame) For the master that outputs CNtlOeReq,
If default driver logic allows driving b
(Mastername) CntOe Return the L signal to its master.

【0091】bRdy L(IOBus Read
y):Slave>Master,3State …
Bバススレーブは、現在のBバスデータトランザクショ
ンが現在のクロックサイクルを最後に終了することを示
すためにこの信号をアサートする。Bバスマスタは、こ
の信号により、現在のトランザクションがこのクロック
サイクルで終了することを知る。
BRdy L (IOBus Read
y): Slave> Master, 3State ...
The B bus slave asserts this signal to indicate that the current B bus data transaction ends the current clock cycle last. The B bus master knows from this signal that the current transaction will end in this clock cycle.

【0104】b(Mastername)BReq
(IOBus Bus Request):Maste
r>Arbiter … Bバスマスタが、Bバスアー
ビタに対し、バスの使用権要求を行う事を示す。
B (Mastername) BReq L
(IOBus Bus Request): Maste
r> Arbiter... indicates that the B bus master issues a bus use right request to the B bus arbiter.

【0092】bRetry L(IOBus Bus
Retry):Slave>Master 3Stat
e … Bバススレーブがマスタに対し、バストランザ
クションの最実行を要求する。
BRetry L (IOBus Bus
Retry): Slave> Master 3Stat
e: The B bus slave requests the master to execute the bus transaction the most.

【0093】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に対してアサートする。IOBusDe
faultDriverLogicは各マスタからの、
b(Slavename)RdyOeReqに基づきド
ライブを許すスレーブに対し、b(Slavenam
e)RdyOe L信号を返す。
B (Slavename) RdyOeRe
q (IOBus Slave Ready Output)
t Enable Request): Slave> D
defaultDriverLogic ... B bus slave is bRdy L, bWBurstReq L, b
BurstAck When driving L on a three-state bus, the IO Bus Output Control
Assert for Logic. IOBusDe
faultDriverLogic is the
b (Slavename) For a slave that permits driving based on RdyOeReq, b (Slavenname)
e) RdyOe Returns L signal.

【0094】b(Slavename)RdyOe
(IOBus Slave Ready Output
Enable)DefaultDriverLogi
c>Slave … b(Slavename)Rdy
OeReqを出力したマスタに対し、デフォルトドライ
バーロジックがドライブを許す場合b(Slavena
me)RdyOe L信号をそのマスタに対して返す。
B (Slavename) RdyOe L
(IOBus Slave Ready Output
Enable) DefaultDriverLogi
c> Slave ... b (Slavename) Rdy
When the default driver logic permits driving for the master that has output OeReq, b (Slavena
me) RdyOe Return the L signal to its master.

【0095】bSnoopWait(IOBus Sn
oop Wait):SBB>NextMaster
… BバスインターフェースがBバスに接続された他の
デバイスに対し、キャッシュのスヌーピング実行中であ
ることを示す。Bバスに接続されたデバイスはこの信号
がアサートされている間は新たなトランザクションを発
行できない。
BSnoopWait (IOBus Sn
Oop Wait): SBB> NextMaster
... Indicates that the B bus interface is executing snooping of the cache to other devices connected to the B bus. Devices connected to the B bus cannot issue new transactions while this signal is asserted.

【0096】bStart L(IOBus Tran
saction START):Master>Sla
ve 3State … BバスマスタがBバストラン
ザクションをスタートすることを示す信号、Bバススレ
ーブは、この信号を監視することにより、Bバストラン
ザクションのスタートを知ることが出来る。
BStart L (IOBus Tran
action START): Master> Sla
ve 3State... A signal indicating that the B bus master starts the B bus transaction, and the B bus slave can know the start of the B bus transaction by monitoring this signal.

【0097】bTx L(IOBus Transac
tion Indicator Input):Mas
ter>Slave 3State… Bバスマスタが
Bバススレーブに対し、Bバストランザクションが現在
実行中である事を示すためにアサートする。
BTx L (IOBus Transac
Tion Indicator Input): Mas
ter> Slave 3State ... The B bus master asserts to the B bus slave to indicate that a B bus transaction is currently being executed.

【0098】bWBurstGnt L(IOBus
Burst Write Grant):Master
>Slave,3State… Bバスマスタが、Bバ
スバーストライトのリクエストに対し、バーストライト
実行することを示すためにドライブする。
BWBurstGnt L (IOBus
Burst Write Grant): Master
> Slave, 3State ... The B bus master drives to indicate that a burst write is to be performed in response to a B bus burst write request.

【0099】bWBurstReq L(IOBus
Burst Write Request):Slav
e>Master,3Stete…BバススレーブがB
バスマスタに対し、バースとライトを要求する場合にア
サートする。
BWBurstReq L (IOBus
Burst Write Request): Slav
e> Master, 3State ... B bus slave is B
Assert when requesting a bus master for berth and write.

【0100】bWr L(IOBu Write Tr
ansaction Indicater):Mast
er>Slave,3State… Bバスマスタが、
Bバススレーブに対し、現在のトランザクションがライ
トである事を示すためにアサートする。
BWr L (IOBu Write Tr
response Indicator): Mast
er> Slave, 3State ... B bus master
Assert to the B bus slave to indicate that the current transaction is a write.

【0101】bByteEn[3:0](IOBus
Byte Enables):DataDriver>
DataReceiver,3State…Bバス上に
データをドライブするエージエントが、各ビットに対応
したbData[31:0]上のバイトレーンが有効で
ある事を示すためにHighにドライブする。本信号の
各ラインとbDataのバイトレーンは表4の対応関係
にある。
BByteEn [3: 0] (IOBus
Byte Enables): DataDriver>
DataReceiver, 3State... The agent driving data on the B bus drives High to indicate that the byte lane on bData [31: 0] corresponding to each bit is valid. Table 4 shows the correspondence between each line of this signal and the byte lane of bData.

【0102】[0102]

【表4】 [Table 4]

【0103】bBurst L(IOBus Exte
nded Burst Request):Maste
r>Slave,3Sate… Bバスマスタが拡張バ
ーストを行いたい事を示す。アサート、ネゲートタイミ
ングはbTx Lと同一。
BBurst L (IOBus Exte
nded Burst Request): Maste
r> Slave, 3State... Indicates that the B bus master wants to perform an extended burst. Assert, negate timing is bTx Same as L.

【0104】bBurstAck L(IOBus E
xtended Burst Acknowledg
e):Slave>Maste,3State… Bバ
ススレーブが拡張バーストを行える事を示す。アサー
ト、ネゲートタイミングはbRdy Lと同一。
BBurstAck L (IOBus E
xended Burst Acknowledg
e): Slave> Mast, 3State ... Indicates that the B bus slave can perform an extended burst. Assert and negate timings are bRdy Same as L.

【0105】bBurstShortNotLong
L(IOBus Burst Length) :Ma
ster>Slave,3State…Bバスマスタが
拡張バーストを行う場合のバースト長を示す。アサー
ト、ネゲートタイミングはbTx Lと同一であり、信
号値とバースト長との対応は表5に示したとおりであ
る。
BBurstShortNotLong
L (IOBus Burst Length): Ma
ster> Slave, 3State... Indicates the burst length when the B bus master performs an extended burst. Assert, negate timing is bTx It is the same as L, and the correspondence between the signal value and the burst length is as shown in Table 5.

【0106】[0106]

【表5】 [Table 5]

【0107】Bバス信号は上述の通りである。DoEn
gine内部のバスである、Bバス(及びGバス)は接
続される機能ブロック数が10以上になるので、InO
ut分離バスですべてのブロックを接続することは、困
難である。DoEngineでは、チップ内双方向バス
を採用する。
The B bus signal is as described above. DoEn
The B bus (and G bus), which is a bus inside the Gine, has 10 or more functional blocks to be connected.
It is difficult to connect all the blocks with the ut separation bus. DoEngine employs an on-chip bidirectional bus.

【0108】<Gバスインターフェース>図22にGバ
スインターフェース2006のブロック図を示す。この
概要は下記の通りである。
<G Bus Interface> FIG. 22 is a block diagram of the G bus interface 2006. The outline is as follows.

【0109】(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 sign
al) … バスエージェントからの出力信号InOu
t(Bi−Directional Tri−Stat
e signal) … 双方向の信号で、複数のバス
エージェントがドライブする。一度にひとつのエージェ
ントだけがドライブする。信号をドライブする各エージ
ェントのイネーブルリクエスト信号をデフォルトドライ
バで集中管理し、どのエージェントがドライブするかは
デフォルトドライバが決定する。どのエージェントもイ
ネーブルリクエストを出さない場合や、複数のエージェ
ントが同時にイネーブルリクエストを出している場合は
デフォルトドライバ信号をドライブする。エージェント
は、信号をロウにドライブする場合は、前後1クロック
の間ハイにドライブしなければならない。信号のアサー
トはドライブを初めてから1クロック以上経過してから
しか行えない。基本的に信号のリリースはネゲートした
次のクロックで行う。
(Overview of G Bus) The G bus is a bus defined to execute high-speed data transfer between the image data processing units inside the MFP one-chip controller DoEngine. It has a 64-bit data bus,
Supports 4 Gbyte (128 byte boundary) address space. 16 beats (128 by
te = 64 bits × 16) is basically a transfer with one long burst, and four long bursts (512 by) are successively performed.
te = 16 beats x 4). (Transfer of 16 beats or less such as single beat is not supported.) (G bus signal definition) First, a symbol used for signal definition is determined. Immediately after the signal name, the direction of the signal is described as necessary. It is defined as follows. In (Input signal) ... Input signal to the bus agent Out (Output signal)
al)… output signal InOu from the bus agent
t (Bi-Directional Tri-Stat
e signal) A plurality of bus agents are driven by bidirectional signals. Only one agent drives at a time. The enable request signal of each agent that drives the signal is centrally managed by a default driver, and the default driver determines which agent drives. The default driver signal is driven when no agent issues an enable request or when a plurality of agents issue enable requests simultaneously. If the agent drives the signal low, it must drive high for one clock before and after. Signal assertion can be performed only after one or more clocks have passed since the drive was first started. Basically, the signal is released at the next negated clock.

【0110】なお、各信号名の後の“ L”はその信号
がローアクティブであることを示す。信号の記述のしか
たは、ほぼBバス信号の記述に準ずる。説明は、システ
ム信号、アドレス及びデータ信号、インターフェース制
御信号、アービトレーション信号に分けて行う。また、
バスエージェントとは、バスに接続されるバスマスタや
バススレーブの総称である。
[0110] Note that "" after each signal name is used. L "indicates that the signal is low active. The description of the signal substantially conforms to the description of the B bus signal. The description is divided into a system signal, an address and data signal, an interface control signal, and an arbitration signal. Do
The bus agent is a general term for a bus master and a bus slave connected to a bus.

【0111】(システム信号) gClk(G−Bus Clock) … Gバス上の
すべてのトランザクションについてタイミングを提供
し、すべてのデバイスに対して入力となる。
(System Signal) gClk (G-Bus Clock)... Provides timing for all transactions on the G bus and is an input to all devices.

【0112】gRst L(G−Bus Reset)
… Gバス上のすべてのデバイスをリセットする。す
べての内部レジスタはクリアーされ、すべての出力信号
はネゲートされる。
GRst L (G-Bus Reset)
... Resets all devices on the G bus. All internal registers are cleared and all output signals are negated.

【0113】(アドレスおよびデータ信号) 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 and Data Signals) gAddr [31: 7], InOut, (G-Bus
Address): Master> Slave ... Since all data transfer on the G bus is performed in units of 128 bytes (16 beats), gAddr [31] to gAddr
The address space of 4 Gbytes is supported by 25 bits of dr [7]. drive: gTs Master drives at the same time as L assert: The next clock after drive negate: gAack Clock whose L assertion has been confirmed.

【0114】g(Mastename)AddrOeR
eq(G−Bus AddressOutPut En
able Request) :Master>Def
aultDriverLogic … 双方向Gバスを
実現するための、デフォルトドライバロジックへの出力
信号。バスマスタがアドレスバスをドライブするための
要求信号。
G (Mastname) AddrOeR
eq (G-Bus AddressOutPut En
able Request): Master> Def
outputDriverLogic: An output signal to the default driver logic for realizing a bidirectional G bus. Request signal for the bus master to drive the address bus.

【0115】g(Mastername)AddrOe
L(G−Bus AddressOutPut En
ablet)DefaultDriveLogic>M
aster … g(Mastername)Addr
OeReqを出力したバスマスタに対し、デフォルトド
ライバロジックがアドレスバスのドライブを許可するこ
とを示す信号。
G (Mastername) AddrOe
L (G-Bus AddressOutPut En
ablet) DefaultDriveLogic> M
master… g (Mastername) Addr
A signal indicating that the default driver logic permits the bus master that has output OeReq to drive the address bus.

【0116】gData[63:0],InOut,
(G−Bus Data):DataDriver>D
ataReceiver… 64ビットデータバスで、
ライト時はマスタがドライブ、リード時はスレーブがド
ライブ。
GData [63: 0], InOut,
(G-Bus Data): DataDriver> D
dataReceiver ... A 64-bit data bus.
The master drives when writing, and the slave drives when reading.

【0117】[ライト] drive:gTs Lと同時にマスタがドライブ。た
だし、gSlvBsy Lがアサートされている時はネゲ
ートされるまで待ってドライブ。 assert:ドライブした次のクロック。 change:gAack Lのアサートを確認したク
ロック、その後は毎クロック。 negate:転送終了時、またはgTrStp Lに
よる転送停止要求を確認した場合は、gAack Lの
アサートを確認したクロック。
[Light] drive: gTs Master drives at the same time as L. Was
However, gSlvBsy Negate when L is asserted
Wait for drive and drive. assert: The next clock that has been driven. change: gAack L confirms the assertion of L
Lock, then every clock. negate: at the end of transfer or gTrStp L
GAack when the transfer stop request L's
Clock that asserted.

【0118】[リード] drive:gAack Lと同時にスレーブがドライ
ブ。 assert:スレーブがReadyであればドライブ
した次のクロックで、ReadyでなければReady
になるまで待ってアサートされる。 change:gAack Lのアサートを確認したク
ロック、その後は毎クロック。リードの場合はアサート
したクロックから毎クロック。 negate:転送終了時。 release:ネゲートの1クロック後、またはgT
rStp Lによる転送停止要求を確認したクロック。
[Read] drive: gAack The slave drives at the same time as L. assert: the next clock after the drive if the slave is Ready, and Ready if not.
Wait until is asserted. change: gAack A clock that confirms L assertion, and thereafter every clock. For read, every clock from the asserted clock. negate: at the end of transfer. release: One clock after negation or gT
rStp A clock that has confirmed the transfer stop request by L.

【0119】g(DataDrivername)Da
taOeReq(G−Bus Data OutPut
Enable Request):DataDriv
er>DefaultDriverLogic … デ
ータドライバがデータバスをドライブするための要求信
号。
G (DataDrivename) Da
taOeReq (G-Bus Data OutPut
Enable Request): DataDrive
er> DefaultDriverLogic A request signal for the data driver to drive the data bus.

【0120】g(DataDrivername)Da
taOe L(G−Bus Data OutPut
Enablet)DefaultDriverLogi
c>DataDriver … g(DataDriv
ername)DataOeReqを出力したデータド
ライバに対し、デフォルトドライバロジックがデータバ
スのドライブを許可することを示す信号。
G (DataDrivename) Da
taOe L (G-Bus Data OutPut
Enable) DefaultDriverLogi
c> DataDriver ... g (DataDrive
(ername) A signal indicating that the default driver logic permits the data driver that has output DataOeReq to drive the data bus.

【0121】(インターフェース制御信号) gTs L(InOut G−Bus Transac
tion Sart):Master>Slave …
マスターにより1クロックの間Lowにアサートさ
れ、転送の開始(アドレスフェーズ)をあらわす。マス
ターはgTs Lと共に、gAddr,gRdNotW
r,gBstCntをドライブし、転送の種類、データ
量を明確にする。マスタは、ライトの場合ここで明確に
した転送データ量をウエイトなしで出せることを保証し
なければならない。また、リードの場合は明確にした転
送データ量をウエイトなしで受けることを保証しなけれ
ばならない。スレーブは途中でデータ転送ができなくな
った場合はgBsStep Lにより、次の16ビートの
転送をキャンセルすることがある。ただし、16ビート
の途中でキャンセルすることはない。 drive:gGnt Lのアサートを確認したクロッ
クでドライブ。 assert:ドライブした次のクロック。 negate:1クロックアサート後にネゲートされ
る。
(Interface control signal) gTs L (InOut G-Bus Transac
Tion Sart): Master> Slave ...
 Asserted low for one clock by master
And indicates the start of transfer (address phase). trout
Tar is gTs GAddr, gRdNotW with L
Drive r, gBstCnt, transfer type, data
Clarify quantity. Master here is clear in case of write
Guarantee that the transferred data volume can be output without weight.
There must be. In the case of a lead, a clear roll
We must guarantee that we will receive the amount of data sent without weight
Must. Slave cannot transfer data on the way
GBsStep L, the next 16 beats
Transfer may be canceled. However, 16 beats
There is no cancellation on the way. drive: gGnt Clock that confirmed assertion of L
Drive with assert: The next clock that has been driven. negate: negated after clock assertion
You.

【0122】g(Mastername)TsOeRe
q(G−Bus Transaction Start
OutPut EnableRequest):Ma
ster>DefaultDriverLogic …
バスマスタがgTs Lをドライブするための要求信
号。
G (Mastername) TsOeRe
q (G-Bus Transaction Start
OutPut EnableRequest): Ma
ster> DefaultDriverLogic ...
Bus master is gTs Request signal for driving L.

【0123】g(Mastername)TsOe
(G−Bus Transaction Start
OutPut Enablet) :DefaultD
riverLogic>Master … g(Mas
tername)TsOeReqを出力したバスマスタ
に対し、デフォルトドライバクロックがgTs Lのド
ライブを許可することを示す信号。
G (Mastername) TsOe L
(G-Bus Transaction Start
OutPut Enable): DefaultD
riverLogic> Master… g (Mas
terminator) The default driver clock is gTs for the bus master that has output TsOeReq. A signal indicating that L drive is permitted.

【0124】gAack L,InOut,(G−Bu
s Address Acknowledge):Sl
ave>Master…スレーブにより1クロックの間
Lowにドライブされる。該当するスレーブが、転送を
認識し、バスが空いていることを確認して、データ転送
がスタートできることをマスターに知らせる。ライトの
場合、スレーブはマスタから要求された転送データ量を
ウェイトなしで受けることを保証しなければならない。
またリードの場合は、要求された転送データ量をウェイ
トなしで出せることを保証しなければならない。万が
一、途中でデータ転送ができなくなった場合は、gBs
tStp Lにより、次の16ビートの転送をキャンセ
ルすることができる。ただし、16ビートの途中でキャ
ンセルすることはできない。 drive:アドレスデコードビット時、gTs Lの
アサートを確認したクロックでドライブが開始される。
ただし、gSlvBsy Lがアサートされている時は
ネゲートされるまで待ってドライブされる。また、デー
タバス使用中のため、まだドライブされていなかった場
合は、gTrStp Lによる転送停止要求を確認した
クロックでドライブ開始される。 assert:スレーブがReadyであればドライブ
した次のクロックで、ReadyでなければReady
になるまで待ってアサートされる。gTrStp Lによ
る転送停止に対する応答のときには、ドライブした次の
クロックでアサートされる。negate:ドライブ後
にgTrStp Lがアサートされた場合は、gTrS
tp Lを確認したクロックでアサートされる。また、
1クロックアサート後にネゲートされる。
GAack L, InOut, (G-Bu
s Address Acknowledge): Sl
ave> Master ... for one clock by slave
Driven to Low. The relevant slave sends the transfer
Recognizes, confirms that the bus is free, and transfers data
Tell the master that you can start. Of the light
In this case, the slave sets the transfer data amount requested by the master
You have to guarantee that you get it without weight.
In the case of read, the requested transfer data amount is
You have to guarantee that you can get out without it. All
If data cannot be transferred on the way, gBs
tStp L cancels transmission of next 16 beats
Can be However, in the middle of 16 beats
You cannot cancel. drive: at the time of address decode bit, gTs L's
Driving starts with the clock that has been asserted.
However, gSlvBsy When L is asserted
Drive until it is negated. In addition,
If you have not been driven yet because Tabas is in use
If gTrStp Confirmed transfer stop request by L
Drive is started by the clock. assert: Drive if the slave is Ready
If the next clock is not Ready, if it is not Ready
Wait until is asserted. gTrStp By L
Response to the transfer stop
Asserted by the clock. negate: after driving
GTrStp If L is asserted, gTrS
tp Asserted at the clock that confirms L. Also,
It is negated after one clock assertion.

【0125】g(Slavename)AackOeR
eq(G−Bus AddressAcknowled
ge OutPut EnableRequest):
Slave>DefaultDriverLogic
… スレーブがgAack Lをドライブするための要求
信号。
G (Slavename) AackOeR
eq (G-Bus AddressAcknowledd
getOutPut EnableRequest):
Slave> DefaultDriverLogic
… Slave is gAack Request to drive L
signal.

【0126】g(Slavename)AackOe
L(G−Bus AddressAcknowledg
e OutPut Enablet):Default
DriverLogic>Slave … g(Sla
vename)AackOeReqを出力したスレーブ
に対し、デフォルトドライバロジックがgAack Lの
ドライブを許可することを示す信号。
G (Slavename) AackOe
L (G-Bus AddressAcknowledg
e OutPut Enable): Default
DriverLogic> Slave ... g (Sla
Venue) Slave that outputs AackOeReq
The default driver logic is gAack L's
A signal indicating that the drive is allowed.

【0127】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による転送停止要求を確認したクロック。
GSlvBsy L, InOut, (G-
Bus Slave Busy): Slave> Mas
ter: Indicates that the slave is driving and transferring data on the data bus. drive: When address decode hits, gTs Drive starts with the clock that confirms L assertion. However,
gSlvBsy When L is asserted, drive until it is negated. assert: the next clock after the drive if the slave is Ready, and Ready if not.
Wait until it asserts. negate: negate at the end of transfer. release: One clock after negation or gT
rStp A clock that has confirmed the transfer stop request by L.

【0128】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>Sla
ve … g(Slavename)SlvBsyOe
Reqを出力したスレーブに対し、デフォルトドライバ
ロジックがgSlvBsy Lのドライブを許可するこ
とを示す信号。
G (Slavename) SlvBsyO
eReq (G-Bus SlaveBusy OutP
out Enable Request): Slave>
DefaultDriverLogic ... Slave is gSlvBsy Request signal for driving L g (Slavename) SlvBsyOe L (G-
Bus SlaveBusy OutPut Enab
le) DefaultDriverLogic> Sla
ve ... g (Slavename) SlvBsyOe
For the slave that outputs Req, the default driver logic is gSlvBsy A signal indicating that L drive is permitted.

【0129】gRdNotWr,InOut,(G−B
us Read(High)/Write(Lo
w)):Master>Slave…マスターによりド
ライブされ、HighでREAD、LOWでWRITE
をあらわす。ドライブする期間はGAと同じである。 derive:gTs Lと同時にマスターがドライ
ブ。 assert:ドライブした次のクロック。 negate:gAack Lのアサートを確認したク
ロック。
GRdNotWr, InOut, (GB
us Read (High) / Write (Lo
w)): Master> Slave: Driven by the master, READ when High, WRITE when LOW
To represent. The driving period is the same as GA. drive: gTs Master drives at the same time as L. assert: The next clock that has been driven. negative: gAack Clock whose L assertion has been confirmed.

【0130】g(Mastername)RdNotW
rOeReq(G−Bus Read/Write O
utPut EnableReques):Maste
r>DefaultDriverLogic … バス
マスタがgRdNotWrをドライブするための要求信
号。
G (Mastername) RdNotW
rOeReq (G-Bus Read / Write O
outPut EnableRequests): Maste
r> DefaultDriverLogic ... A request signal for the bus master to drive gRdNotWr.

【0131】g(Mastername)RdNotW
rOe L(G−Bus Read/Write Ou
tPut Enablet)DefaultDrive
rLogic>Master … g(Mastern
ame)RdNotWrOeReqを出力したバスマス
タに対し、デフォルトドライバロジックがgRdNot
Wrのドライブを許可することを示す信号。
G (Mastername) RdNotW
rOe L (G-Bus Read / Write Ou
tPut Enable) Default Drive
rLogic> Master ... g (Mastern
ame) For the bus master that outputs RdNotWrOeReq, the default driver logic is gRdNot.
A signal indicating that drive of Wr is permitted.

【0132】gBstCnt[1:0],InOut,
(G−Bus Burst Counter):Mas
ter>Slave…マスターによりドライブされ、連
続して行うバースト転送の数(1〜4)をあらわす。信
号の値とバースト転送するバイト数との対応は表6のよ
うになる。 derive:gTs Lと同時にマスターがドライ
ブ。 assert:ドライブした次のクロック。 negate:gAack Lのアサートを確認したク
ロック。
GBstCnt [1: 0], InOut,
(G-Bus Burst Counter): Mas
ter> Slave... represents the number (1 to 4) of burst transfers that are driven by the master and performed continuously. Table 6 shows the correspondence between the signal value and the number of bytes to be burst-transferred. drive: gTs Master drives at the same time as L. assert: The next clock that has been driven. negative: gAack Clock whose L assertion has been confirmed.

【0133】[0133]

【表6】 [Table 6]

【0134】g(Mastername)BstCnt
OeReq(G−Bus Burst Counter
OutPut EnableRequest):Ma
ster>DefaultDriverLogic …
バスマスタがgBstCntをドライブするための要
求信号。
G (Mastername) BstCnt
OeReq (G-Bus Burst Counter
OutPut EnableRequest): Ma
ster> DefaultDriverLogic ...
Request signal for the bus master to drive gBstCnt.

【0135】g(Mastername)BstCnt
Oe L(G−Bus BurstCounter O
utPut Enablet):DefaultDri
verLogic>Master … g(Maste
rname)BstCntOeReqを出力したバスマ
スタに対し、デフォルトドライバロジックがgBstC
ntのドライブを許可することを示す信号。
G (Mastername) BstCnt
Oe L (G-Bus BurstCounter O
outPut Enable): DefaultDri
verLogic> Master… g (Maste
rname) The default driver logic is gBstC for the bus master that has output BstCntOeReq.
Signal indicating that drive of nt is permitted.

【0136】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上をドライブするための要求信号。
GBstStp L, InOut, (G-
Bus Burst Stop): Slave> Mas
ter: It is driven by the slave and indicates that the next successive burst transfer cannot be accepted. Assert at the 15th beat of 1 burst (16 beats) transfer. If you do not stop, do not drive. drive: 14th beat. assert: 15th beat. negative: After assertion of one clock, g (Slavenname) BstStpOeReq (G
-Bus BurstStop OutPut Ena
ble Request): Slave> Defaul
tDriverLogic… slave is gBstS
tp Request signal for driving on L.

【0137】g(Slavename)BstStpO
L(G−Bus BurstStop OutPu
t Enablet)DefaultDriverlo
gic>Slave … g(Slavename)B
stStpOeReqを出力したスレーブに対し、デフ
ォルトドライバロジックがgBstStp Lのドライ
ブを許可することを示す信号。
G (Slavename) BstStpO
e L (G-Bus BurstStop OutPu
t Enable) Default Driver
gic> Slave ... g (Slavename) B
For the slave that outputs stStOeReq, the default driver logic is gBstStp A signal indicating that L drive is permitted.

【0138】(アービトレーション信号)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
Lを持つ。プライオリティーの高いバスマスタから
順にバス権を与える。同じプライオリティーのマスタに
対しては、バス要求のあった順番にバス権を与える。 assert:他のマスターにgGnt Lを与えてい
ない時、または次のクロックで他のマスタに与えていた
gGnt Lをネゲートする時に、アービトレーション
によって選ばれたマスタに対してアサートする。 negate:gAack Lのアサートを確認したク
ロック gTrStp L,In,(G−Bus Transu
action Stop):Arbiter>Mast
er,Slave… アービタによりドライブされ、g
Gnt Lによりすでにアドレスフェーズを開始された
トランザクションを中止する。ただ、すでにgAack
Lによりデータフェーズを開始してしまったトランザ
クションについては中止できない。また、この信号はg
Aack 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
LとgAack Lのドライブを始める。また、リ
ードの場合はgDataもドライブする。gSlvBs
Lが他のスレーブによりアサートされていれば、デ
ータバスは使用中であるということなので、ネゲートさ
れるまで待ってドライブを始める。gSlvBsy
L,gAack L,(gData)のドライブ開始
後、スレーブがデータ転送の準備ができれば、それぞれ
の信号をアサートし、データ転送を開始する。 gAack Lがアサートされた時点でアドレスフェ
ーズは終了し、マスタはgAddr,gRdNotW
r,gBstCntをネゲートする。また、その時点か
らマスタはライトデータを毎クロック切り替え、gBs
tCntで指定されたデータ量だけ転送を行う。マスタ
とスレーブは、それぞれ自分でクロックをカウントし
て、データ転送の終了を知らなければならない。
(Arbitration signal) g (Mast
ername) Req L, Out, (G-Bus R
request): Master> Arbiter ... mass
Is driven by the arbiter and requests the bus from the arbiter.
I do. GReq dedicated for each master device L
Have. assert: Master that needs data transfer is asserted negate: gGnt If receiving L, negate g (Mastername) Gnt L, In, (G-
Bus GNT): Arbiter> Master ...
 Driven by the arbiter, the next
Give the bus right. GGn dedicated for each master device
t Have L. From a high priority bus master
Give the bus right in order. Master of the same priority
On the other hand, the bus right is granted in the order of the bus request. assert: gGnt to other masters L is given
When not available, or given to other masters on next clock
gGnt Arbitration when negating L
Assert for the master selected by. negative: gAack L confirms the assertion of L
Lock gTrStp L, In, (G-Bus Trans
action Stop): Arbiter> Mast
er, Slave ... Driven by arbiter, g
Gnt Address phase already started by L
Abort the transaction. But already gAack
Transa that has started the data phase with L
Action cannot be stopped. Also, this signal is g
Aack L is masked by gAack
When L is asserted, even if it is asserted
Is also negated and output. assert: a traffic that has already started the address phase
Master from a higher priority than the transaction
When a request arrives. negative: gAack L confirms the assertion of L
Lock (G bus write cycle) The G bus write cycle is as follows
become that way. Master requests bus, gReq L assert. Arbiter allowed, gGnt L assert. gReq
L negate. gGnt After receiving L, the master receives gTs L, gAd
Dry dr, gRdNotWr, gBstCnt
Bu. In the case of a write operation, gSlvBsy L is asserted
If not, gData is also driven at the same time.
gSlvBsy If L is driven, gSlv
Bsy Drive after waiting for L to be free. Slave is gTs Add when L is asserted
Decode the address and hit it to transfer to yourself.
Recognize that At this time, gSlvBsy L is another
GSlvBs if not asserted by Reave
y L and gAack Start driving L. Also,
In the case of the mode, gData is also driven. gSlvBs
y If L is asserted by another slave,
Data bus is in use,
Wait until you start driving. gSlvBsy
L, gAack L, (gData) drive start
Later, when the slave is ready for data transfer,
Is asserted to start data transfer. gAack When L is asserted, the address
And the master is gAddr, gRdNotW
Negate r, gBstCnt. Also at that time
The master switches write data every clock, and gBs
Transfer is performed for the amount of data specified by tCnt. Master
And slaves each count their own clock
Must know the end of the data transfer.

【0139】スレーブは転送の途中でマスタから要求さ
れたデータ転送量を転送できなくなった場合は、bSt
Stp_Lを15ビート目でアサートすることで、次の
16ビートの転送をキャンセルすることがただし、16
ビートの途中でキャンセルすることはできない。
If the slave cannot transfer the data transfer amount requested by the master during the transfer, bSt
By asserting Stp_L at the 15th beat, the transfer of the next 16 beats can be canceled.
You cannot cancel in the middle of a beat.

【0140】マスタおよびスレーブは、gBstStp
_Lがアサートされれば、次のクロックでデータの転送
を終了させなければならない。
The master and slave are gBstStp
When _L is asserted, data transfer must be terminated at the next clock.

【0141】<キャッシュインバリデーションユニット
(CIU)>キャッシュインバリデーションユニット
(以下CIU)2005は、Bバスからメモリへのライ
トトランザクションを監視し、これが起こった場合は、
メモリへの書込が終了する前に、CPUシェルのキャッ
シュインバリデーションインターフェースを用い、CP
Uシェルに内蔵されたキャッシュの無効化を行う。
<Cache Validation Unit (CIU)> The cache invalidation unit (CIU) 2005 monitors a write transaction from the B bus to the memory.
Before writing to the memory is completed, the cache validation interface of the CPU shell is used to
The cache built in the U shell is invalidated.

【0142】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と同一サイクルだけド
ライブする。
The CPU shell uses the following three types of signals.・ Snoop ADDR [31: 5] (Cache In
validationAddress) DCINV (Dcache (data cache) In
Validation Strobe ICINV (Icache (Instruction Cache) Invalidation Strobe) The invalidation of the cache is performed at a maximum of three clocks. Since the writing from the B bus to the memory does not end in three clocks, the cache validation unit 20 is used.
05 is Stop_ output from the CPU shell 401.
The handshake of the end of invalidation is not performed using the L signal. However, in preparation for future changes, bS on the B bus
drive the noopWait for the same cycle as Stop_L.

【0143】なお、現在のインプリメンテーションで
は、Bバスからのライトが起こった場合は、安全のため
にIcacheもインバリデーションしている、もし、
OSでセルフモディファイングコードを禁止し、インス
トラクションとして使われる可能性のあるデータのロー
ディング時に、意図的にインストラクションキャッシュ
のインバリデーションを行うなら、Icacheのイン
バリデーションはいらない。この場合は若干のパフォー
マンスアップが望める。
In the current implementation, if a write from the B bus occurs, Icache is also invalidated for safety.
If the self-modifying code is prohibited by the OS and the instruction cache is intentionally invalidated when loading data that may be used as an instruction, the invalidation of Icache is not required. In this case, a slight performance improvement can be expected.

【0144】<メモリマップ>図23及び図24にメモ
リマップを示す。図23は、左から順に、仮想メモリマ
ップ、物理メモリマップ、Gバスのアドレス空間でのメ
モリマップ、Bバスのアドレス空間でのメモリマップで
ある。また、図24は、レジスタ等を含む図23におけ
る斜線部の512メガバイトを示すマップである。
<Memory Map> FIGS. 23 and 24 show memory maps. FIG. 23 shows, in order from the left, a virtual memory map, a physical memory map, a memory map in the G bus address space, and a memory map in the B bus address space. FIG. 24 is a map showing 512 Mbytes indicated by hatching in FIG. 23 including registers and the like.

【0145】プロセッサコアのメモリモデルはR300
0をベースにしている。プロセッサコアの物理アドレス
空間は32ビットアドレッシングにより4Gバイトあ
る。仮想空間も同様に32ビットアドレッシングを行な
う。ユーザープロセスの最大サイズは2Gバイトであ
る。アドレスマッピングはカーネルモードとユーザーモ
ードで異なる。図はMMUを使用しない場合のメモリマ
ップである。
The memory model of the processor core is R300.
0 based. The physical address space of the processor core is 4 Gbytes by 32-bit addressing. The virtual space similarly performs 32-bit addressing. The maximum size of the user process is 2 GB. Address mapping differs between kernel mode and user mode. The figure shows a memory map when the MMU is not used.

【0146】(ユーザーモード仮想アドレッシング)ユ
ーザーモードの仮想アドレッシングでは2Gバイトのユ
ーザ仮想アドレス空間(kuseg)が有効となる。こ
のユーザーセグメントのアドレスは0x0000000
0から始まり、すべての有効なアクセスは0にクリアさ
れたmsbを持つ。ユーザーモードにおいてmsbをセ
ットしたアドレスの参照はアドレスエラー例外処理を引
き起こす。TLBはkusegへのすべての参照をユー
ザーモードとカーネルモードで同様にマッピングする。
また、キャッシャブルである。kusegは通常ユーザ
ーコードやデータを保持するために使用される。
(User Mode Virtual Addressing) In user mode virtual addressing, a 2 Gbyte user virtual address space (kuseg) is valid. The address of this user segment is 0x00000000
Starting at zero, all valid accesses have msb cleared to zero. In the user mode, referencing an address in which msb is set causes address error exception handling. The TLB maps all references to kuseg similarly in user mode and kernel mode.
It is also cacheable. Kuseg is usually used to hold user code and data.

【0147】(カーネルモード仮想アドレッシング)カ
ーネルモードの仮想アドレス空間には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をスタックやコンテキス
トスイッチによるリマップが必要なプロセス毎のデータ
のために使用する。
(Kernel Mode Virtual Addressing) The kernel mode virtual address space has four address segments.・ Kuseg 2 GB from 0x00000000 of the virtual address. Caching and mapping per page and unit is possible. This segment overlaps with kernel memory access and user memory access. -Kseg0 512 Mbytes from 0x80000000 of the virtual address. Directly mapped to the first 512 Mbytes of physical memory. References are cached, but TLB is not used for address translation. kseg0
Is usually used for kernel executable code and kernel data. -Kseg1 512 Mbytes from 0xA00000000 of the virtual address. Directly mapped to the first 512 Mbytes of physical memory. References are not cached and TLB is not used for address translation. kseg1
Usually depends on the OS, I / O registers, ROM code,
Used for disk buffers. -Kseg2 1 GB from 0xC0000000 of the virtual address. Like the Kuseg, the virtual address is mapped to the physical address by the TLB. Caching is free. The OS normally uses kseg2 for data for each process that needs to be remapped by a stack or a context switch.

【0148】(仮想アドレスメモリマップ(図23
(a),図24(a)))仮想アドレス空間は4Gバイ
トあり、システム上のすべてのメモリ、I/Oがアクセ
ス可能である。kusegにはSYSTEM MEMO
RY(1GB)が存在する。
(Virtual address memory map (FIG. 23)
(A), FIG. 24 (a))) The virtual address space is 4 Gbytes, and all memories and I / O on the system can be accessed. kuseg has SYSTEM MEMO
RY (1 GB) exists.

【0149】kseg0には内蔵RAM(16MB)が
存在する。これは、例外処理のベクタをプログラミング
したい場合にインプリメントし、例外ベクタベースアド
レスを0x80000000に設定する。このアドレス
は物理アドレス空間の0x00000000にマッピン
グされる。
The kseg0 has a built-in RAM (16 MB). This is implemented when it is desired to program an exception handling vector, and sets the exception vector base address to 0x80000000. This address is mapped to 0x00000000 in the physical address space.

【0150】kseg1にはROM,I/O,レジスタ
が存在し、ブートROM(16MB),SBB内部レジ
スタとMC内部レジスタ(16MB),IOBusI/
O1(16MB:Gバスアービタ内部レジスタ、Bバス
アービタ内部レジスタ、PMU内部レジスタなどのプリ
ミティブなBバスレジスタ),IOBusI/O2(1
6MB),IOBusMEM(16MB),GbusM
EM(32MB),FONTROM(240MB)、F
ONTROMorRAM(16MB)が含まれる。
The kseg1 has a ROM, I / O, and registers. The boot ROM (16 MB), the SBB internal register and the MC internal register (16 MB), and the IOBusI /
O1 (16 MB: Primitive B bus register such as G bus arbiter internal register, B bus arbiter internal register, PMU internal register), IOBus I / O2 (1
6MB), IOBusMEM (16MB), GbusM
EM (32MB), FONTROM (240MB), F
ONTROMorRAM (16 MB) is included.

【0151】kseg2にはPCI I/O(512M
B),PCI MEM(512MB)が存在する。
The kseg2 has a PCI I / O (512M
B), PCI MEM (512 MB) exists.

【0152】kseg0,kseg1はどちらも物理ア
ドレス空間の最初の512Mバイトにマッピングされる
ため、kseg0,kseg1とkusegの最初の5
12Mバイトはすべて同じ物理アドレス空間を参照して
いることになる。
Since kseg0 and kseg1 are both mapped to the first 512 Mbytes of the physical address space, kseg0, kseg1 and the first 5 bytes of kuseg are used.
All 12 Mbytes refer to the same physical address space.

【0153】(物理アドレスメモリマップ(図23
(b),図24(b)))物理アドレス空間も仮想アド
レス空間と同様4Gバイトあり、システム上のすべての
メモリ、I/Oがアクセス可能である。
(Physical address memory map (FIG. 23)
(B), FIG. 24 (b))) The physical address space is also 4 Gbytes like the virtual address space, and all memories and I / O on the system can be accessed.

【0154】PCI I/O,PCI MEM,SYS
TEM MEMORYについては仮想アドレスメモリマ
ップと同一である。
PCI I / O, PCI MEM, SYS
The TEM MEMORY is the same as the virtual address memory map.

【0155】kseg1,kseg2はどちらも物理ア
ドレス空間の最初の512Mバイトにマッピングされる
ので、ROM,I/O,Regは0x00000000
からの空間に存在している。
Since both kseg1 and kseg2 are mapped to the first 512 Mbytes of the physical address space, ROM, I / O, and Reg are 0x00000000.
Exists in the space from.

【0156】(Gバスメモリマップ(図23(c),図
24(c)))Gバスアドレス空間は4Gバイトあり、
SYSTEM MEMORY,GBusMEM,FON
Tのみがアクセス可能である。
(G bus memory map (FIGS. 23 (c) and 24 (c))) The G bus address space has 4 Gbytes,
SYSTEM MEMORY, GBusMEM, FON
Only T is accessible.

【0157】(Bバスメモリマップ(図23(d),図
24(d)))Bバスアドレス空間は4Gバイトあり、
PCI I/O,PCI MEM,SYSTEMMEM
ORY,IOBusI/O2,IOBusMEM,FO
NTのみがアクセス可能である。
(B bus memory map (FIGS. 23 (d), 24 (d))) The B bus address space has 4 Gbytes,
PCI I / O, PCI MEM, SYSTEMMEM
ORY, IOBusI / O2, IOBusMEM, FO
Only NT can access.

【0158】IOBusI/O1はプリミティブなレジ
スタのため、0x1C000000から0x20000
000までの空間はPCIからプロテクトがかけられて
おり、PCIからアクセスできない。
Since IOBus I / O1 is a primitive register, 0x1C000000 to 0x20,000 is used.
The space up to 000 is protected from PCI and cannot be accessed from PCI.

【0159】<アドレススイッチ>アドレススイッチ2
003は、SCバス,Gバス,Bバス,MCバス間のデ
ータ転送を行なうために、マスターとなるバスからスレ
ーブとなるバスへ、SBB402を経由してアドレス信
号を送るためのものである。SBB402を経由する転
送において、マスターとなり得るバスは、SCバス,G
バス,Bバスであり、スレーブとなり得るバスはBバ
ス,MCバスである。MCバスに対してはSCバス,G
バス,Bバス,のいずれかがマスターとなり、Bバスへ
はSCバスのみがマスターとなってアドレス信号を送
る。
<Address Switch> Address Switch 2
Reference numeral 003 is for transmitting an address signal from the master bus to the slave bus via the SBB 402 in order to transfer data between the SC bus, the G bus, the B bus, and the MC bus. In the transfer via the SBB 402, the bus that can be the master is an SC bus, G
Buses and B buses, and buses that can be slaves are the B bus and MC bus. SC bus, G for MC bus
Either the bus or the B bus becomes the master, and only the SC bus becomes the master to send an address signal to the B bus.

【0160】また、SCバス−Bバス間の転送と、Gバ
ス−MCバス間の転送は同時に行なうことができる。
The transfer between the SC bus and the B bus and the transfer between the G bus and the MC bus can be performed simultaneously.

【0161】図25に、アドレススイッチ2003のブ
ロック図を示す。スイッチシーケンサ2003aによ
り、スイッチ2003bを切り替えてスレーブをBバス
とMCバスとで切り換え、スイッチ2003cを切り替
えてマスタをSCバス,Gバス,Bバスで切り換える。
この構成により、MCバスに対してはSCバス,Gバ
ス,Bバス,のいずれかがマスターとなり、Bバスへは
SCバスのみがマスターとなり、また、SCバス−Bバ
ス間の転送と、Gバス−MCバス間の転送は同時に行な
うことができる。
FIG. 25 is a block diagram of the address switch 2003. The switch sequencer 2003a switches the switch 2003b to switch the slave between the B bus and the MC bus, and switches 2003c to switch the master between the SC bus, the G bus, and the B bus.
With this configuration, any one of the SC bus, the G bus, and the B bus becomes the master for the MC bus, and only the SC bus becomes the master for the B bus. Transfer between the bus and the MC bus can be performed simultaneously.

【0162】<データスイッチ>データスイッチはSC
バス,Gバス,Bバス,MCバス間のデータ転送を行な
う際に,SBB内でデータの流れを切り替えるものであ
る。ライト時はマスターからスレーブ、リード時はスレ
ーブからマスターへデータが送られる。
<Data Switch> The data switch is SC
When data is transferred between the bus, the G bus, the B bus, and the MC bus, the data flow is switched within the SBB. Data is sent from the master to the slave during writing, and from the slave to the master during reading.

【0163】図26にデータスイッチ2004のブロッ
ク図を示す。この構成において、セレクタA−1〜A−
3及びB−1,B−2を表7のように切り替えること
で、SCバス,Gバス,Bバスのいずれかをマスタと
し、Bバス,MCバスのいずれかをスレーブとして、書
き込みあるいは読み出しを行うように制御できる。
FIG. 26 is a block diagram of the data switch 2004. In this configuration, the selectors A-1 to A-
3 and B-1 and B-2 are switched as shown in Table 7, so that any one of the SC bus, G bus and B bus is used as a master and any one of the B bus and MC bus is used as a slave to perform writing or reading. Can be controlled to do so.

【0164】[0164]

【表7】 [Table 7]

【0165】<アービトレーション>SBB402内の
スイッチシーケンサ2003aは、各スイッチを切り替
えるにあたって、SBB外部からの以下の3種類の接続
要求間のアービトレーションを行う。 1.CPU 2.Gバスバスマスタ 3.Bバスバスマスタ このアービトレーションは、現在のバススイッチ接続状
況、及び、あらかじめ設定された優先順位により決定さ
れ、その結果アドレススイッチ、データスイッチの接続
が切り替えられる。
<Arbitration> The switch sequencer 2003a in the SBB 402 performs arbitration between the following three types of connection requests from outside the SBB when switching each switch. 1. CPU 2. 2. G bus bus master B bus bus master This arbitration is determined by the current bus switch connection status and a preset priority, and as a result, the connection of the address switch and the data switch is switched.

【0166】<タイミングダイアグラム>図27〜図3
2にタイミング図を示す。図27はGバスからの書き込
み/読み出しサイクルのタイミング図、図28はGバス
のバースト停止サイクルのタイミング図、図29〜図3
2は、Gバスのトランザクション停止サイクルのタイミ
ング図である。
<Timing Diagram> FIGS. 27 to 3
FIG. 2 shows a timing chart. FIG. 27 is a timing diagram of a write / read cycle from the G bus, FIG. 28 is a timing diagram of a burst stop cycle of the G bus, and FIGS.
FIG. 2 is a timing diagram of a G bus transaction stop cycle.

【0167】2.6.PCIバスインターフェース 図33は、PCIバスインターフェース416のブロッ
ク図である。
2.6. PCI Bus Interface FIG. 33 is a block diagram of the PCI bus interface 416.

【0168】PCIバスインターフェース416は、D
oEngine内部汎用IOバスであるBバスと、チッ
プ外部IOバスであるPCIバスの間をインターフェー
スするブロックである。入力ピン設定により、リセット
時にPCIバスコンフィギュレーション発行可能な、ホ
ストブリッジ構成と、PCIバスコンフィギュレーショ
ンは発行しないターゲット構成とを切り替えることがで
きる。
[0168] The PCI bus interface 416
oEngine This is a block that interfaces between the B bus, which is an internal general-purpose IO bus, and the PCI bus, which is an IO bus external to the chip. By setting an input pin, it is possible to switch between a host bridge configuration in which a PCI bus configuration can be issued at the time of reset and a target configuration in which a PCI bus configuration is not issued.

【0169】BバスインターフェースのマスタDMAコ
ントローラ3301は、PCIバスシグナルインターフ
ェース3302を介してPCIバスマスタからDoEn
gine内部のリソースにアクセス要求があった場合
に、Bバスマスタとしてこのアクセス要求をBバス内部
にブリッジする。
The master DMA controller 3301 of the B bus interface receives DoEn from the PCI bus master via the PCI bus signal interface 3302.
When an access request is made to a resource inside the Gine, the access request is bridged inside the B bus as a B bus master.

【0170】更に、このマスタDMAコントローラ33
01は、PCIバス上でマッピングされるメモリからD
oEngineMemoryへのDMA転送を行う事が
出来る。この際、プログラマが意図したBバスDMA
と、GバスDMAのアクセスの順番を守って動作させる
ために、転送先アドレス(bPciAddr[31:
0])と、PCIマスターコントローラ3301のID
信号(bPciID)を、Bバスとアービトレーション
シーケンサに対して、バスリクエストと同時に発行す
る。
Further, the master DMA controller 33
01 is D from the memory mapped on the PCI bus.
DMA transfer to the oEngine Memory can be performed. At this time, the B bus DMA
And the transfer destination address (bPciAddr [31:
0]) and the ID of the PCI master controller 3301
A signal (bPciID) is issued to the B bus and the arbitration sequencer at the same time as the bus request.

【0171】マスタDMAコントローラ3301はバス
グラント(bPciBGnt_L)を受け取り、バスを
使用しデータ転送が終了した時点で、ID信号(bPc
iID)のアサートを取りやめる。
The master DMA controller 3301 receives the bus grant (bPciBGnt_L), and when the data transfer is completed by using the bus, the ID signal (bPc
Cancel assertion of iID).

【0172】なお、PCIバスは、33MHz,32ビ
ット,PCI2.1準拠とする。
The PCI bus is based on 33 MHz, 32 bits, and PCI 2.1.

【0173】2.7.Gバスアービタ 図34は、Gバスアービタ(GBA)406のブロック
図である。
2.7. G Bus Arbiter FIG. 34 is a block diagram of the G bus arbiter (GBA) 406.

【0174】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信号、ストップ信号に基づき、特定
のマスタに対し、バス使用許可を与えることを保留する
機構を持つ。
The arbitration of the G bus is a central arbitration method, and a dedicated request signal (g (mastername) Req is sent to each bus master.
_L) and a grant signal (g (mastername) G
nt_L). In FIG. 34, mastername is M1 to M4. Bus arbiter 406 is G
It supports up to four bus masters on the bus and has the following features. The arbiter can be programmed by setting the register 3401a inside the arbiter. Register setting is performed from the B bus. There are a fair arbitration mode in which all bus masters have the same priority and the bus right is imparted fairly, and a priority arbitration mode in which the priority of one of the bus masters is raised and the bus is used preferentially. Which bus master is given priority is determined by the setting of the register 3401b. • It is possible to set the number of times that the priority bus master can use the bus continuously. -Supports a transaction stop cycle for stopping a transaction that has already started the address phase but has not started the data phase. -Programming of sequential processing in a plurality of bus masters can be performed (described later). The programmed order is stored in the register table 3401a. When the G bus master and the B bus master sequentially write to the same memory address, as a mechanism for maintaining the access order intended by the programmer, a specific master is controlled based on the master ID signal and the stop signal from the synchronization unit. On the other hand, it has a mechanism to suspend giving the bus use permission.

【0175】なお、レジスタへのプログラミングは、B
バスを介してCPU401から行われる。
The programming of the register is performed by B
This is performed from the CPU 401 via the bus.

【0176】(アービトレーションシーケンサ)Gバス
アービタの中核となるアービトレーションシーケンサ3
402a,bは、1つの優先マスタとその他の4つの非
優先マスタの間で5つのマスタによるアービトレーショ
ンを行なう。4つのバスマスタからのリクエスト信号と
グラント信号を、リクエストディスパッチ回路3403
とグラントディスパッチ回路3404によって4つの非
優先マスタに割り付けることにより、公平アービトレー
ションモードが実現される。また、4つのバスマスタの
うちのひとつを、高優先アービトレーションシーケンサ
3402aの優先マスタに割り付けることで、優先アー
ビトレーションモードとして動作する。これらの割り付
けは、レジスタ3401a,bの設定にしたがって行わ
れる。これにより、優先バスマスタは、他のマスタより
高い確率でバスの使用権を取得することが出来る。
(Arbitration sequencer) Arbitration sequencer 3 which is the core of the G bus arbiter
In 402a and 402b, arbitration by five masters is performed between one priority master and the other four non-priority masters. Request signals and grant signals from the four bus masters are transmitted to a request dispatch circuit 3403.
And the grant dispatch circuit 3404 assigns four non-priority masters, thereby realizing a fair arbitration mode. In addition, by allocating one of the four bus masters to the priority master of the high-priority arbitration sequencer 3402a, it operates in the priority arbitration mode. These assignments are performed according to the settings of the registers 3401a and 3401b. As a result, the priority bus master can acquire the right to use the bus with a higher probability than other masters.

【0177】さらに、バスの取得機会確率の調整に加
え、高優先シーケンサ3402aに割り当てられたマス
タは、連続してバスを使用する事が出来、連続して使用
出来る回数をプログラマブルなレジスタにより可変する
事ができる。これは、バスの占有率を調整出来、ある特
定のマスタにより多くバスを使用させる様に出来ること
を意味する。
Further, in addition to adjusting the probability of acquiring a bus, the master assigned to the high-priority sequencer 3402a can use the bus continuously, and varies the number of times the master can be used continuously using a programmable register. Can do things. This means that the occupancy of the bus can be adjusted so that a particular master can use more of the bus.

【0178】(公平アービトレーションモード)このモ
ードでは、すべてのバスマスタは同じ優先順位にあり、
バス権を与えられる機会は公平である。バスがフリーの
時は、一番最初にリクエストを出したバスマスタがバス
権を得ることができる。また、複数のバスマスタが同時
にリクエストを出した場合は、あらかじめ決められた順
序にしたがって順次バス権が与えられる(ラウンドロビ
ン方式)。例えば、M1からM4までのすべてのバスマ
スタが同じクロックでリクエストを出した場合は、M1
→M2→M3→M4といった順序でバス権が与えられ
る。M4のトランザクションの終了時に再びすべてのバ
スマスタがリクエストを出している場合は、M1→M2
→M3→M4→M1→M2…というように、同様の順序
でバス権を与えていく。一部のバスマスタがリクエスト
を出している場合は、M4からM1へラウンドラップす
るとして、最後にバスを使用したマスタにもっとも近い
大きい番号を持ったマスタへグラントを与える。
(Fair Arbitration Mode) In this mode, all bus masters have the same priority,
Opportunities to be granted the bus are fair. When the bus is free, the bus master that has issued the request first can get the bus right. When a plurality of bus masters issue requests at the same time, bus rights are sequentially given according to a predetermined order (round robin method). For example, if all the bus masters from M1 to M4 issue requests with the same clock, M1
The bus right is granted in the order of → M2 → M3 → M4. When all bus masters have issued requests again at the end of the transaction of M4, M1 → M2
Bus rights are granted in the same order, such as → M3 → M4 → M1 → M2. If some bus masters are issuing requests, round wrapping from M4 to M1 is given, and a grant is given to the master with the largest number closest to the master that last used the bus.

【0179】一度バス権が他のバスマスタに移ると、他
にリクエストを出しているすべてのバスマスタにバス権
を与えた後でないと再びバス権を得ることができない。
Once the bus right has been transferred to another bus master, the bus right cannot be obtained again until after all other requesting bus masters have been given the bus right.

【0180】(優先アービトレーション)このモードで
は、ひとつのバスマスタ(レジスタ3401bに登録さ
れたバスマスタ)が他のバスマスタよりも高い優先権を
持つ優先バスマスタになり、他のバスマスタに比べ優先
的にバス権が与えられる。優先バスマスタ以外のバスマ
スタの優先順位はすべて同じである。
(Priority arbitration) In this mode, one bus master (a bus master registered in the register 3401b) becomes a priority bus master having a higher priority than the other bus masters, and the bus right has priority over the other bus masters. Given. All bus masters other than the priority bus master have the same priority.

【0181】複数のバスマスタがリクエストを出してお
り、また優先バスマスタが連続したリクエストを行う場
合、優先バスマスタと他の非優先バスマスタは交互にバ
ス権を得る。
When a plurality of bus masters have issued requests and the priority bus master makes successive requests, the priority bus master and other non-priority bus masters alternately obtain the bus right.

【0182】非優先バスマスタから他のバスマスタにバ
ス権が移ると、他にリクエストを出しているすべてのバ
スマスタにバス権を与えた後でないと、その非優先バス
マスタは再びバス権を得ることができない。
When the bus right is transferred from the non-priority bus master to another bus master, the bus right cannot be obtained again until after all other requesting bus masters have been given the bus right. .

【0183】(トランザクション・ストップ・サイク
ル)優先アービトレーションモードにおいて、優先バス
マスタがリクエストを出した時、すでに他のバスマスタ
がアドレスフェーズを開始していても、データフェーズ
をまだ開始していなければ、そのトランザクションをス
トップし、優先バスマスタがバス権を得ることができ
る。ただし、その直前に優先バスマスタがバス権を持っ
ていた場合は、連続したバス権を得ることができる回数
を超えることはできない。
(Transaction Stop Cycle) In the priority arbitration mode, when the priority bus master issues a request, even if another bus master has already started the address phase, if the data phase has not started, the transaction is stopped. And the priority bus master can get the bus right. However, if the priority bus master has the bus right immediately before that, the number of times that the continuous bus right can be obtained cannot be exceeded.

【0184】優先バスマスタのトランザクションが終了
した時、中止されたバスマスタがリクエストを出してい
れば、優先してバス権が与えられる。
At the end of the transaction of the priority bus master, if the interrupted bus master has issued a request, the bus right is given priority.

【0185】(優先バスマスタの切り替え)優先バスマ
スタの切り替えを行なうには、レジスタ3401bを書
き換えればよい。優先バスマスタを選択するレジスタが
書き換えられると、その時に実行中のトランザクション
の終了を待って、優先バスマスタが切り替えられる。ア
ービタのステートはアイドル状態にもどり、その時点で
リクエストを出していたバスマスタは、その時同時にリ
クエストを出したものとして、あらためてアービトレー
ションが行われる。
(Switching of Priority Bus Master) To switch the priority bus master, the register 3401b may be rewritten. When the register for selecting the priority bus master is rewritten, the priority bus master is switched after the completion of the transaction being executed at that time. The state of the arbiter returns to the idle state, and the bus master that has issued the request at that time performs the request at the same time, and arbitration is performed again.

【0186】優先バスマスタの切り替えには十分注意を
払う必要がある。優先させるべきバスマスタのDMAが
終了しないうちに、異なったバスマスタに優先バスマス
タを切り替えてしまうと、最初の優先バスマスタのDM
Aの優先度が下がってしまう。もしも最初の優先バスマ
スタの優先度を下げたくないのであれば、DMAが終了
したのを確認してから優先バスマスタの切り替えを行な
う必要がある。
Care must be taken when switching the priority bus master. If the priority bus master is switched to a different bus master before the DMA of the bus master to be prioritized ends, the DM of the first priority bus master is changed.
A's priority drops. If it is not desired to lower the priority of the first priority bus master, it is necessary to switch the priority bus master after confirming that the DMA has been completed.

【0187】優先バスマスタ切り替えを、システムブー
ト時のみでなく、システム稼働中も動的に行う必要のあ
るソフトウェアでは、優先バスマスタの切り替えは、い
ったんGバス上に新たなDMAリクエストが発生しない
よう、すべてのバスマスタ及びDMAコントローラに対
する設定を中止し、その後、Gバスアービタ406内の
レジスタに適切な値をセットし、さらに、Gバスアービ
タ406内のステータスレジスタをチェックし、バスマ
スタの優先権が切り替わったのを確認した上で新たなG
バス上へのアクセス及びDMAの起動を行うべきであ
る。
In software that needs to dynamically switch the priority bus master not only at the time of booting the system but also during the operation of the system, the switching of the priority bus master is performed so that a new DMA request is not generated on the G bus once. Of the bus master and the DMA controller, then set an appropriate value in a register in the G bus arbiter 406, and further check the status register in the G bus arbiter 406 to confirm that the priority of the bus master has been switched. After a new G
Access to the bus and activation of DMA should be performed.

【0188】優先バスマスタの動的切り替えは、オペレ
ーティングシステムの実時間保証、タスクの優先順位の
設定を変化もしくは違反させてしまう可能性があり、十
分な考慮の上行われなければならない。
The dynamic switching of the priority bus master may change or violate the real-time guarantee of the operating system and the setting of the priority of the task, and must be performed with due consideration.

【0189】(順序処理)図35は、DoEngine
400内におけるGバス404を中心とする、Gバス上
のバスマスタによるDMAに係るブロック図である。
(Order Processing) FIG. 35 is a diagram illustrating DoEngine
FIG. 4 is a block diagram related to DMA by a bus master on the G bus centering on the G bus 404 in the 400.

【0190】複数のバスマスタが順次に処理を行うこと
が必要な場合、例えば、メモリ3501上のデータに対
して、バスマスタ1により処理Aを行った後、バスマス
タ2により処理Bを行い、その処理後のデータをバスマ
スタ4に送るといった一連の処理を考える。
When it is necessary for a plurality of bus masters to sequentially perform processing, for example, after processing A on the data in the memory 3501 by the bus master 1, then perform processing B by the bus master 2, and after the processing, A series of processes, such as sending the data to the bus master 4, will be considered.

【0191】この処理を行うソフトウェア、すなわちC
PU401により実行されるプログラムにより、Bバス
405を介して、バスアービタ406内のレジスタテー
ブル3401aに、バスマスタがバスを使用する順序
と、バス権の付与の開始条件と、終了条件がセットされ
る。この例では、 バスマスタ : 開始条件 :終了条件 1.バスマスタ1:gM2BufEmpty:gM1BufReady 2.バスマスタ2:gM1BufReady:gM1BufEmpty 3.バスマスタ4:gM2BufReady:gM2BufEmpty というようにセットする。すなわち、Gバスアービタ4
06は、それぞれのバスマスタから、開始条件として設
定された信号を受けるとそのバスマスタにバス使用権を
与え、終了条件として設定された信号を受けるとバス使
用権を奪う。
Software for performing this processing, that is, C
According to the program executed by the PU 401, the order in which the bus master uses the bus, the start condition for granting the bus right, and the end condition are set in the register table 3401a in the bus arbiter 406 via the B bus 405. In this example, bus master: start condition: end condition 1. Bus master 1: gM2BufEmpty: gM1BufReady 2. Bus master 2: gM1BufReady: gM1BufEmpty Bus master 4: gM2BufReady: gM2BufEmpty That is, G bus arbiter 4
06, upon receiving a signal set as a start condition from each bus master, gives the bus master the right to use the bus, and when receiving a signal set as an end condition, deprives the bus master of the right to use the bus.

【0192】ソフトウェアはそれぞれのバスマスタにD
MAをセットする。それによって、それぞれのマスタは
Gバスアービタ404に対してリクエスト(g(mas
tername)Req_L)を発行する。Gバスアー
ビタ404はレジスタテーブル3401aに登録された
順序に従ってバスマスタ1にバス権を与える(gM1G
nt_L)。バスマスタ1はメモリ3501からある単
位のデータをリードし、処理Aを行って、バスマスタ1
内部のバッファにデータをライトする。バスマスタ1は
ひとつの単位の処理が終了し、バッファの準備ができた
ことをgM1BufReady信号によりアービタ40
6に対して通知する。
The software assigns D to each bus master.
Set MA. Thereby, each master requests the G bus arbiter 404 (g (mas)
termname) Req_L). The G bus arbiter 404 gives a bus right to the bus master 1 in the order registered in the register table 3401a (gM1G
nt_L). The bus master 1 reads a certain unit of data from the memory 3501, performs the process A, and
Write data to internal buffer. The bus master 1 notifies the arbiter 40 that the processing of one unit has been completed and the buffer is ready by the gM1BufReady signal.
6 is notified.

【0193】アービタ406はそれを受け、レジスタテ
ーブル3401aに登録された、バスマスタがバス権を
与える条件とバス権を奪う条件にしたがって、バス権を
バスマスタ1から奪いバスマスタ2に与える。バスマス
タ2はバスマスタ1のバッファのデータをリードし、処
理Bを行って、バスマスタ2内部のバッファにデータを
格納する。この間にバスマスタ1のバッファが空になる
とgM1BufEmptyがアサートされ、アービタ4
06はバスマスタ2にバス権を与えていたのを取りやめ
る。バスマスタ2は処理Bを行って、バッファの準備が
できるとgM2BufReady信号により通知する。
The arbiter 406 receives the bus right from the bus master 1 and gives the bus master 2 to the bus master 2 in accordance with the conditions for the bus master to grant the bus right and the conditions for taking the bus right registered in the register table 3401a. The bus master 2 reads the data in the buffer of the bus master 1, performs the process B, and stores the data in the buffer inside the bus master 2. If the buffer of the bus master 1 becomes empty during this time, gM1BufEmpty is asserted and the arbiter 4
06 cancels giving the bus right to the bus master 2. The bus master 2 performs the process B, and notifies that the buffer is ready by the gM2BufReady signal.

【0194】アービタ406はそれを受け、レジスタ3
401aの内容にしたがって、今度はバスマスタ4にバ
ス権を与える。バスマスタ4はバスマスタ2のバッファ
からデータをリードする。バスマスタ2のバッファが空
になると、gM2BufEmptyによってアービタ4
06に通知し、アービタ406はそれを受け、レジスタ
3401aの内容に従って再びバスマスタ1にバス権を
与え、次のデータの処理を始める。
The arbiter 406 receives this, and registers
In accordance with the contents of 401a, the bus right is given to the bus master 4 this time. The bus master 4 reads data from the buffer of the bus master 2. When the buffer of the bus master 2 becomes empty, the arbiter 4 is deactivated by gM2BufEmpty.
06, the arbiter 406 receives the notification, gives the bus right again to the bus master 1 according to the contents of the register 3401a, and starts processing the next data.

【0195】それぞれのバスマスタにセットされたDM
Aがすべて終了すると、それぞれのバスマスタはプロセ
ッサに割り込みによって通知する。ソフトウェアはすべ
てのバスマスタからの終了通知がそろったとき、一連の
処理が終了したことを知る。
DM set in each bus master
When A is completed, each bus master notifies the processor by an interrupt. The software knows that a series of processing has been completed when all the bus masters have received the completion notification.

【0196】以上説明した動作は完全順次モードでの動
作であり、順次処理に関わるバスマスタ以外のバスマス
タは、バスを使用することができない。この順次処理中
でも、順次処理に関係のないバスマスタがバスを使用す
ることを可能にするために優先順次モードが用意されて
いる。これらのモードの切り替えではアービタ406内
部のレジスタにプログラミングすることによって行な
う。優先順次モードでは、順次処理を行なうバスマスタ
は優先的にバスを使用できるが、順次処理に関わらない
バスマスタであればバスを使用することが許される。順
次処理を行なうバスマスタと関わらないバスマスタの間
のアービトレーションは、前述した優先アービトレーシ
ョンモードと同等である。当然、順次処理に係わるバス
マスタで、バス権を与えられる条件が満足されずに自分
の順番が回ってきていないバスマスタにはバス権は与え
られない。
The operation described above is an operation in the complete sequential mode, and a bus master other than the bus master involved in the sequential processing cannot use the bus. Even during this sequential processing, a priority sequential mode is provided to enable a bus master unrelated to the sequential processing to use the bus. Switching between these modes is performed by programming a register inside the arbiter 406. In the priority sequential mode, a bus master performing sequential processing can use the bus preferentially, but a bus master not involved in the sequential processing is permitted to use the bus. Arbitration between a bus master that performs sequential processing and a bus master that is not involved is equivalent to the priority arbitration mode described above. As a matter of course, the bus masters who are not involved in the sequential process and whose turn is not turned because the conditions for granting the bus master are not satisfied are not given the bus master.

【0197】(アクセス順序を維持するための機構)信
号stopspcがアサートされた場合は、Gバスマス
タのひとつであるスキャナコントローラ/プリンタコン
トローラはアービトレーションの対象から除外され、た
とえリクエストをアサートしていてもバス使用権を与え
られることはない。アービトレーションはこのマスタを
除外したマスタ間で行われる。詳細な説明はBバスアー
ビタの節で行なう。
(Mechanism for Maintaining Access Order) When the signal stoppc is asserted, the scanner controller / printer controller, which is one of the G bus masters, is excluded from the target of arbitration, and even if the request is asserted, You are not entitled to use it. Arbitration is performed between masters excluding this master. A detailed description will be given in the section on the B bus arbiter.

【0198】<タイミングダイアグラム>図36〜図3
9において、Gバスアービトレーションのタイミングを
説明する。図36は、連続してバスを使用する回数が、
バスマスタ1〜4のすべてについて1に設定されている
場合の公平アービトレーションモード(フェアモード)
の例である。バスマスタ1による2回目の(タイミング
4から出されている)バス要求は、バス要求を出してい
る他のバスマスタがすべて1回ずつ処理されるまで待た
されている。
<Timing Diagram> FIGS. 36 to 3
9, the timing of the G bus arbitration will be described. FIG. 36 shows that the number of times the bus is used continuously is
Fair arbitration mode when all bus masters 1 to 4 are set to 1 (fair mode)
This is an example. The second bus request (issued from timing 4) by the bus master 1 waits until all other bus masters issuing the bus request are processed one by one.

【0199】図37は、連続してバスを使用する回数
が、バスマスタ1についてのみ2であり、他のバスマス
タは1に設定されている場合の公平アービトレーション
モードの例である。バスマスタ1が出している2回目の
(タイミング4から出されている)バス要求は1回目の
要求に続いて直ちに許可され、他のバスマスタはその処
理がすむまで待たされている。
FIG. 37 shows an example of the fair arbitration mode in which the number of times the bus is continuously used is 2 for only the bus master 1 and the other bus masters are set to 1. The second bus request (issued from timing 4) issued by the bus master 1 is granted immediately after the first request, and the other bus masters are kept waiting until the processing is completed.

【0200】図38は、連続してバスを使用する回数が
それぞれ1ずつであり、バスマスタ1が優先バスマスタ
と設定されている場合の優先アービトレーションモード
の例である。優先バスマスタと非優先バスマスタとは交
互にバス使用権が認められるために、バスマスタ1の2
回目のバス要求はバスマスタ2のバスの使用後に認めら
れており、バスマスタ4のバス要求は、バスマスタ1の
2回目のバスの使用後に認められている。また、バスマ
スタ2の2回目のバス要求は、バス要求を出している他
のすべてのバスマスタ、図38ではバスマスタ1及びバ
スマスタ4のバス使用が終了した後で認められている。
FIG. 38 shows an example of the priority arbitration mode when the number of times of continuous use of the bus is one each and bus master 1 is set as the priority bus master. Because the priority bus master and the non-priority bus master are alternately granted the right to use the bus, the bus master 1
The second bus request is granted after the bus master 2 uses the bus, and the bus request from the bus master 4 is granted after the bus master 1 uses the second bus. The second bus request from the bus master 2 is acknowledged after all other bus masters issuing the bus request, in FIG. 38, the bus masters 1 and 4 have finished using the bus.

【0201】図39は、バスマスタ1からのバス要求に
より、バスマスタ4のバス要求が許可されているにもか
かわらず中断された例である。この場合、バスマスタ1
のバス使用が終了すると、バスマスタ2のバス要求に優
先してバスマスタ4のバス要求が認められる。
FIG. 39 shows an example in which a bus request from the bus master 1 has been interrupted despite being permitted. In this case, bus master 1
Is completed, the bus request from the bus master 4 is acknowledged in preference to the bus request from the bus master 2.

【0202】2.8.Bバスアービタ 図40は、Bバスアービタ407のブロックである。2.8. B Bus Arbiter FIG. 40 is a block diagram of the B bus arbiter 407.

【0203】Bバスアービタ407は、DoEngin
e内部のIO汎用バスであるBバス405のバス使用要
求を受け付け、調停の後、使用許可を選択された一つの
マスタに対して与え、同時に2つ以上のマスタがバスア
クセスを行う事を禁止する。
The B bus arbiter 407 is a DoEngine
Accepts a bus use request of B bus 405, which is an internal IO general bus, and after arbitration, grants use permission to the selected one master, and prohibits two or more masters from accessing the bus at the same time. I do.

【0204】アービトレーション方式は、3段階のプラ
イオリティを持ち、それぞれのプライオリティに複数の
マスタをプログラマブルに割り当てられる構成になって
いる。割り当ては、それぞれ最大で、最高のプライオリ
ティに3マスタ、中間に7マスタ、最低レベルに3マス
タとなる。
The arbitration system has three levels of priorities, and a plurality of masters can be assigned to each priority in a programmable manner. Allocation is maximum, with 3 masters at the highest priority, 7 masters at the middle, and 3 masters at the lowest level.

【0205】また、GバスマスタとBバスマスタが、同
一メモリアドレスに順次書き込みを発行した場合に、プ
ロブラマの意図したアクセス順序を維持するための機構
として、同期ユニットからの、マスタID信号、ストッ
プ信号に基づき、特定のマスタに対し、バス使用許可を
与えることを保留する機構を持つ。
When the G bus master and the B bus master sequentially write data to the same memory address, as a mechanism for maintaining the access order intended by the programmer, a master ID signal and a stop signal from the synchronization unit are used. Based on this, it has a mechanism to suspend giving a bus use permission to a specific master.

【0206】(アービトレーションシーケンサ)Bバス
アービタは3つのアービトレーションシーケンサ400
2,4003,4004から構成される。それぞれ、高
優先権、中優先権、低優先権を持ち、それぞれのシーケ
ンサ内に、3,7,3本のバスマスタ用アービトレーシ
ョンシーケンサが内蔵される。Bバス上のすべてのバス
マスタになる可能性のあるユニットからのリクエスト信
号とそれらへのグラント信号を、リクエストセレクタと
グラントセレクタによって、これらの3つのシーケンサ
ユニットに分配する。この分配は、BBusインタフェ
ース4005内のソフトウェアプログラマブルなレジス
タ4005aにより、複数の組み合わせのなかから、一
意の組み合わせを選択することが出来る。
(Arbitration Sequencer) The B bus arbiter has three arbitration sequencers 400.
2,4003,4004. Each has a high priority, a medium priority, and a low priority, and 3, 7, and 3 bus master arbitration sequencers are built in each sequencer. Request signals from units which may become all bus masters on the B bus and grant signals thereto are distributed to these three sequencer units by a request selector and a grant selector. In this distribution, a unique combination can be selected from a plurality of combinations by a software programmable register 4005a in the BBus interface 4005.

【0207】たとえば、最大7つのマスタのリクエスト
を中優先アービトレーションシーケンサ4003に接続
することにより、7つのマスタ間で公平なアービトレー
ションが実現される。また、バスマスタのうちのいくつ
かを、高優先アービトレーションシーケンサ4002に
割り付けることで、これらのマスタは他のマスタより、
より高い確率でバスの使用権を取得することが出来る。
さらに、いくつかのリクエストを低優先シーケンサ40
04に接続することで、これらのバスの使用率を低く抑
える事が出来る。さらに、バスの取得機会確率の調整に
加え、高優先シーケンサ4002に割り当てられたマス
タは、連続してバスを使用する事ができ、連続して使用
出来る回数をプログラマブルなレジスタ4005aによ
り可変する事ができる。これは、バスの占有率を調整で
き、ある特定のマスタにより多くの時間バスを使用させ
る様に出来る事を意味する。
For example, by connecting requests of up to seven masters to the middle-priority arbitration sequencer 4003, fair arbitration is realized among the seven masters. Also, by allocating some of the bus masters to the high-priority arbitration sequencer 4002, these masters are more
The right to use the bus can be acquired with a higher probability.
In addition, some requests are sent to the low-priority sequencer 40.
04, the usage rate of these buses can be kept low. Further, in addition to adjusting the probability of acquiring a bus, the master assigned to the high-priority sequencer 4002 can use the bus continuously, and the number of times the bus can be used continuously can be changed by the programmable register 4005a. it can. This means that the occupancy of the bus can be adjusted so that a particular master can use the bus more time.

【0208】(公平バスアービトレーション方式)中優
先シーケンサ4003を例にとり、公平アービトレーシ
ョンの実現方法を説明する。一つのシーケンサに接続さ
れたすべてのバスマスタは同じ優先順位にあり、バス権
を与えられる機会は公平である。バスがフリーの時は、
一番最初にリクエストを出したバスマスタがバス権を得
ることができる(ファーストカムファーストサーブ)。
また、複数のバスマスタが同時にリクエストを出した場
合は、あらかじめ決められた順序にしたがって順次バス
権が与えられる(同時リクエスト発行時ラウンドロビ
ン)。例えば、M1からM7までのすべてのバスマスタ
が同じクロックでリクエストを出した場合は、M1→M
2→M3→M4→M5→M6→M7といった順序でバス
権が与えられる。M7のトランザクションの終了時に再
びすべてのバスマスタがリクエストを出している場合
は、M1→M2→M3→M4→M5→M6→M7→M1
→M2というように、同様の順序でバス権を与えてい
く。一部のバスマスタがリクエストを出している場合
は、M7からM1へラウンドラップするとして、最後に
バスを使用したマスタにもっとも近い大きい番号を持っ
たマスタへグラントを与える。
(Fair Bus Arbitration Method) A method of realizing fair arbitration will be described using the middle-priority sequencer 4003 as an example. All bus masters connected to one sequencer have the same priority, and the opportunity to be granted the bus is fair. When the bus is free,
The bus master that has issued the request first can get the bus right (first come first serve).
When a plurality of bus masters issue requests at the same time, bus rights are sequentially given according to a predetermined order (round-robin at the time of issuing a simultaneous request). For example, if all bus masters from M1 to M7 issue requests with the same clock, M1 → M
The bus right is given in the order of 2 → M3 → M4 → M5 → M6 → M7. When all bus masters have issued requests again at the end of the transaction of M7, M1 → M2 → M3 → M4 → M5 → M6 → M7 → M1
→ The bus right is granted in the same order as in M2. If some bus masters are issuing requests, round wrapping is performed from M7 to M1, and a grant is given to the master having the largest number closest to the master that last used the bus.

【0209】(優先アービトレーション)Bバスインタ
ーフェースは、高優先、中優先、低優先の3つのアービ
トレーションシーケンサが存在する。優先順位をつけた
アービトレーションは、複数のバスリクエストを選択的
に、高優先、低優先、のアービタに割り振ることにより
実現される。
(Priority Arbitration) The B bus interface has three arbitration sequencers of high priority, medium priority, and low priority. Arbitration with priorities is realized by selectively allocating a plurality of bus requests to high-priority and low-priority arbiters.

【0210】たとえば、ひとつのマスタを高優先に割り
当て、残りを中優先に割り当てることにより、ひとつの
バスマスタが他のバスマスタよりも高い優先権を持つ優
先バスマスタになり、他のバスマスタに比べ優先的にバ
ス権が与えられる。同じ優先権のアービトレーションシ
ーケンサに割り当てられたバスマスタの優先順位はすべ
て同じである。
For example, by assigning one master with high priority and assigning the rest with medium priority, one bus master becomes a priority bus master having a higher priority than the other bus masters, and has priority over other bus masters. Bus right is granted. All bus masters assigned to the arbitration sequencer having the same priority have the same priority.

【0211】複数のバスマスタがリクエストを出してお
り、また優先バスマスタが連続してリクエストを行う場
合、優先バスマスタと他のバスマスタは交互にバス権を
得る。M3が優先マスタでM1,M2,M3,M4がリ
クエストを出し続けた場合M3→M1→M3→M2→M
3→M4→M3→M1の順でバス使用権を与える。
If a plurality of bus masters have issued requests and the priority bus master makes requests continuously, the priority bus master and the other bus masters alternately obtain the bus right. When M3 is the priority master and M1, M2, M3, and M4 keep issuing requests, M3 → M1 → M3 → M2 → M
The right to use the bus is given in the order of 3 → M4 → M3 → M1.

【0212】また、高優先バスマスタは、アービタ内の
プログラマブルなレジスタにあらかじめ設定された回数
だけ連続したバス権を得ることができる。連続したバス
を使用出来る回数は最大で4回である。
Further, the high-priority bus master can obtain a continuous bus right for a preset number of times in a programmable register in the arbiter. The maximum number of times a continuous bus can be used is four.

【0213】優先バスマスタ以外のバスマスタから他の
バスマスタにバス権が移ると、そのバスマスタは、他に
リクエストを出しているすべてのバスマスタにバス権を
与えた後でないと再びバス権を得ることができない。ひ
とつのバスマスタが連続してリクエストを行う場合、他
にリクエストを行っているバスマスタがいなければ、連
続してバス権を得ることができるが、他のバスマスタが
リクエストを行っていれば、そのバスマスタはあらかじ
め設定された回数だけ連続してバス権を得ることができ
る。一度バス権が他のバスマスタに移ると、他にリクエ
ストを出しているすべてのバスマスタにバス権を与えた
後でないと再びバス権を得ることができない。
When the bus right is transferred from a bus master other than the priority bus master to another bus master, the bus master cannot obtain the bus right again until after all other requesting bus masters have been given the bus right. . When one bus master makes a request continuously, if there is no other requesting bus master, the bus mastership can be obtained continuously, but if another bus master makes a request, that bus master will The bus right can be continuously obtained a predetermined number of times. Once the bus right has been transferred to another bus master, the bus right can be obtained again only after all other requesting bus masters have been given the bus right.

【0214】低優先アービトレーションシーケンサ40
04には最大3本のリクエストを割り当てる事が出来
る。低優先シーケンサ4004に割り当てられたマスタ
へは、中優先、高優先シーケンサに割り当てられた、す
べてのマスタのリクエストがなくならないと、バスの使
用権が与えられない。このシーケンサへのバスマスタの
割り当ては十分な注意を持って行われなければならな
い。
The low-priority arbitration sequencer 40
04 can be assigned a maximum of three requests. The master assigned to the low-priority sequencer 4004 is not given the right to use the bus unless all master requests assigned to the medium-priority and high-priority sequencers are eliminated. The assignment of the bus master to this sequencer must be done with great care.

【0215】(優先バスマスタの切り替え)優先バスマ
スタの切り替えを行なうには、アービタ内のレジスタを
書き換えればよい。優先バスマスタを選択するレジスタ
が書き換えられると、その時に実行中のトランザクショ
ンの終了を待って、優先バスマスタが切り替えられる。
アービタのステートはアイドル状態にもどり、その時点
でリクエストを出していたバスマスタは、その時同時に
リクエストを出したものとして、あらためてアービトレ
ーションが行われる。
(Switching of priority bus master) To switch the priority bus master, the register in the arbiter may be rewritten. When the register for selecting the priority bus master is rewritten, the priority bus master is switched after the completion of the transaction being executed at that time.
The state of the arbiter returns to the idle state, and the bus master that has issued the request at that time performs the request at the same time, and arbitration is performed again.

【0216】切り替えには十分注意を払う必要がある。
優先させるべきバスマスタのDMAが終了しないうち
に、異なったバスマスタに優先バスマスタを切り替えて
しまうと、最初の優先バスマスタのDMAの優先度が下
がってしまう。もしも最初の優先バスマスタの優先度を
下げたくないのであれば、DMAが終了したのを確認し
てから優先バスマスタの切り替えを行なう必要がある。
Care must be taken in switching.
If the priority bus master is switched to a different bus master before the DMA of the bus master to be prioritized ends, the priority of the DMA of the first priority bus master decreases. If it is not desired to lower the priority of the first priority bus master, it is necessary to switch the priority bus master after confirming that the DMA has been completed.

【0217】優先バスマスタ切り替えを、システムブー
ト時のみでなく、システム稼働中も動的に行なう必要の
あるソフトウェアでは、優先バスマスタの切り替えは、
いったんBバス上に新たなDMAリクエストが発生しな
いよう、すべてのバスマスタ及びDMAコントローラに
対する設定を中止し、その後、Bバスアービタ407内
のレジスタに適切な値をセットし、さらに、Bバスアー
ビタ内のステータスレジスタをチェックし、バスマスタ
の優先権が切り替わったのを確認した上で新たなBバス
上へのアクセス及びDMAの起動を行うべきである。
In software that needs to dynamically switch the priority bus master not only at the time of booting the system but also during the operation of the system, the switching of the priority bus master is performed as follows.
Once the setting for all bus masters and DMA controllers is stopped so that a new DMA request does not occur on the B bus, an appropriate value is set in a register in the B bus arbiter 407, and a status register in the B bus arbiter is further set. Should be checked to confirm that the priority of the bus master has been switched, and then access to a new B bus and activation of DMA should be performed.

【0218】優先バスマスタの動的切り替えは、オペレ
ーティングシステムの実時間保証、タスクの優先順位の
設定を変化もしくは、違反させてしまう可能性があり、
十分な考慮の上行われなければならない。
The dynamic switching of the priority bus master may change or violate the real-time guarantee of the operating system and the setting of the task priority.
This must be done with due consideration.

【0219】(アクセス順序制御機構)Bバスアービタ
407はアクセス順序制御機構を含む。アクセス順序制
御機構は、同期ユニット4001と、Bバスアービタ4
07,Gバスアービタ406内に組み込まれたバス使用
権発行抑制機構によって実現される。Bバスアービタ4
07内に組み込まれたバス使用権発行抑制機構は、Gバ
スアービタのそれと同様に動作する。つまり、stop
Pci信号が入力された場合は、Pciバスマスタから
のバスリクエストが発行され、アービトレーションの結
果、このマスタにバスの使用権を与えることが可能な状
態でも、バスの使用権発行は行わず、他のマスタへバス
使用権をあたえる。具体的には、stopPci信号が
入力された場合は、直ちにbPciReq Lをマスク
することにこれを行う。
(Access Order Control Mechanism) The B bus arbiter 407 includes an access order control mechanism. The access sequence control mechanism includes a synchronization unit 4001 and a B bus arbiter 4.
07, a bus use right issuance suppression mechanism incorporated in the G bus arbiter 406. B bus arbiter 4
07 operates in the same manner as that of the G bus arbiter. That is, stop
When the Pci signal is input, a bus request is issued from the Pci bus master, and as a result of arbitration, even if the master can be given the right to use the bus, the right to use the bus is not issued. Give the master the right to use the bus. Specifically, when the stopPci signal is input, bPciReq is immediately This is done by masking L.

【0220】LANコントローラ414からのバスリク
エストおよび、ストップ信号の場合もまったく同様に動
作する。図41に同期ユニット4001のブロック図を
示す。同期ユニット内には複数のDMAマスタ間すべて
の組み合わせに関して、それぞれコンペアユニット41
01〜4103が接続される、DoEngineでは、
Gbus上のDMAマスタはスキャナコントローラ/プ
リンタコントローラのみ存在する。Bバス上には、DM
APCIユニット、LANユニットの二つが存在する。
SBB内のBバスインターフェースはBバス上のバスマ
スタであるが、メモリには直接アクセスしないので、同
期ユニット4001にはIDと転送先アドレスを出力し
ない。
The bus request from the LAN controller 414 and the stop signal operate in exactly the same manner. FIG. 41 shows a block diagram of the synchronization unit 4001. In the synchronization unit, all the combinations between the plurality of DMA masters are included in the comparison unit 41.
In DoEngine where 01 to 4103 are connected,
The DMA master on Gbus has only a scanner controller / printer controller. On the B bus, DM
There are two units, an APCI unit and a LAN unit.
The B bus interface in the SBB is a bus master on the B bus, but does not directly access the memory, and thus does not output the ID and the transfer destination address to the synchronization unit 4001.

【0221】図42に同期ユニット内の一つコンペアユ
ニット(ComparationUnit 1)を以下
に示す。他のコンペアユニットも同様の構成を有する。
FIG. 42 shows one compare unit (ComparisonUnit 1) in the synchronization unit. Other compare units have the same configuration.

【0222】PCIインターフェース416に付属する
DMAブロックもしくは、スキャナコントローラ/プリ
ンタコントローラから、同期ユニット4001に対し、
DMAライトがプログラミングされた時点で、転送先の
アドレスとそのDMAブロック固有のリクエスト信号が
通知される。
The DMA block attached to the PCI interface 416 or the scanner controller / printer controller sends the synchronization unit 4001
When the DMA write is programmed, a transfer destination address and a request signal unique to the DMA block are notified.

【0223】各コンペアユニットは、各DMAブロック
からリクエストが出力された時点で、アドレスを内部に
持つタイマによる現在時刻とともに記憶する、次に他の
DMAブロックから、DMAライトに関するアドレスと
リクエストが入力された時点で、コンペアユニットは両
アドレスを比較する。一致した場合にはさらに、それぞ
れのレジスタに格納された時間を比較し、時間的に後か
らDMAライトの要求を出してきたDMAブロックが接
続されたバスのバスアービタに対し、このマスタに対す
るバス使用強化を与えないようにする。これは、sto
p(ID)という信号により各バスのバスアービタに通
知される。
Each of the compare units stores an address together with the current time of a timer provided therein at the time when the request is output from each of the DMA blocks. Next, an address and a request relating to the DMA write are input from another DMA block. At this point, the compare unit compares both addresses. In the case of a match, the times stored in the respective registers are further compared, and the bus arbiter of the bus connected to the DMA block which has issued the DMA write request later in time is strengthened to use the bus for the master. Not give. This is a sto
The bus arbiter of each bus is notified by a signal p (ID).

【0224】各バスアービタはstop(ID)信号に
より通知されたマスタに対しては、アービトレーション
によるバス使用権の割り当てを行わない。
Each bus arbiter does not assign a bus use right by arbitration to the master notified by the stop (ID) signal.

【0225】時間が経過し、先にアクセス要求を行った
バスマスタにより当該メモリアドレスへのDMAライト
が終了すると、先のマスタは、同期ユニットに対するリ
クエストを取り下げる、同期ユニットは、2番目にDM
Aライトの要求を出した、DMAブロックの接続するバ
スのバスアービタに対し、このDMAブロックへの、バ
ス使用権許可禁止信号の発行をとりさげる。そして、後
からDMAライトを行うべきマスタのDMAライトが行
われる。
When the time has elapsed and the DMA write to the relevant memory address has been completed by the bus master that has made the access request first, the previous master withdraws the request to the synchronous unit.
The bus arbiter of the bus connected to the DMA block which issued the A write request is not issued a bus use right permission / prohibition signal to this DMA block. Then, the DMA write of the master to be written later is performed.

【0226】双方のDMAライトが終了し、双方のリク
エストが取り下げられると、タイマーがリセットされ
る。タイマーのカウントアップは再度どちらかのマスタ
からのリクエストが出力された時点で再度行われる。
When both DMA writes are completed and both requests are withdrawn, the timer is reset. The count up of the timer is performed again when a request from one of the masters is output again.

【0227】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バス スキャナとプリンタの、画像データおよび水平、垂直同
期のための同期信号を直結するためのバスである。
2.9. Scanner Controller / Printer Controller FIG. 43 is a block diagram of the scanner controller / printer controller and its peripheral circuits. Scanner /
The printer controller controls the scanner and printer,
This is a block that interfaces with the G bus or the B bus. It is composed of the following three functional blocks. 1. Scanner controller The scanner controller is connected to the scanner by a video I / F, and performs operation control and data transfer control. G bus / B bus I / F unit 4
301A is connected by an IF-bus to perform data transfer and register read / write. Data transfer has a master function. 2. Printer controller The printer controller is connected to the printer via a video I / F, and performs operation control and data transfer control. G bus / B bus I / F unit 4
301B is connected by an I / F-bus to perform data transfer and register read / write. Data transfer has both master and slave functions. 3. G bus / B bus I / F unit A unit for connecting the scanner controller 4302 and the printer controller 4303 to the G bus or the B bus. Respectively connected to the scanner controller 4302 and the printer controller 4302 independently,
Connect to G bus and B bus. 4. CP bus A bus for directly connecting image data and a synchronization signal for horizontal and vertical synchronization between the scanner and the printer.

【0228】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である。
2.9.1. Scanner Controller FIG. 44 is a block diagram of the scanner controller 4302. The scanner controller 4302 has a video I / F
Is a block that connects to a scanner and interfaces with a G bus / B bus I / F unit (scc GBI) 4301A. The G bus / B bus I / F unit (scc GBI) 4301A is interfaced via the scc I / F-bus. It is roughly composed of the following blocks. 1. Scanner device I / F4401 An input / output port for inputting and outputting signals to and from the video I / F of the scanner. 2. Scanner video clock unit 4402 A unit that operates with the video clock of the scanner. 3. Scanner image data FIFO controller 4403 Controls a FIFO for transferring image data. 4. Scanner controller control register unit 4404 Register for controlling the entire scanner controller. 5. IRQ controller 4406 controls an interrupt signal generated inside the scanner controller (Scc). 6. Memory fill mode controller 4405 Controls the mode in which fixed data set in the register is transferred to the memory. Selectively switch to image data from the scanner. 7. FIFO (FIFO_SCC) 4407 This is a FIFO used when outputting a video data from a scanner and a device of an output destination may be asynchronous with the video data.

【0229】なお、スキャナから入力する画像データの
種類は、 1.RGB各8ビットのカラー多値データ 2.8ビット白黒多値データ 3.1ビット白黒2値データ などが含まれる。
The type of image data input from the scanner is as follows. RGB 8-bit color multi-valued data 2.8-bit black-and-white multi-value data 3.1-bit black-and-white binary data

【0230】次に、スキャナコントローラを構成する各
ブロックの概要を説明する。
Next, the outline of each block constituting the scanner controller will be described.

【0231】[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信号に応じて、レベル反転するか
どうかを切り替えることが可能である。
[1. Outline of Scanner Device I / F] FIG. 45 is a block diagram of the scanner device I / F 4401. The scanner device I / F is an input / output port for inputting and outputting signals to and from the scanner video I / F 4501 of the scanner unit. Input video signal SVVideoR [7: 0], SVide from scanner video I / F
oG [7: 0] and SVVideoB [7: 0] signals are transmitted to the scanner controller control register 440.
4, it is possible to switch whether or not to invert the level according to the VDInvt signal from.

【0232】[2.スキャナビデオクロックユニットの
概要]図46に、スキャナビデオクロックユニット44
02のブロック図を示す。スキャナビデオクロックユニ
ット4402は、スキャナからのビデオクロックで動作
するブロックである。以下のブロックから構成される。 1.スキャナビデオデータマスク4601 スキャナからの画像データに対してデータマスクを行う
ブロックである。マスクされたデータはレジスタに設定
された値のデータとなる。 2.スキャナビデオ同期コントロールユニット4602 スキャナからのビデオクロック,VSYNC,HSYN
Cの信号から、画像データを取り込むタイミング信号等
を生成するブロックである。画像データの水平方向、垂
直方向のデータ数とライン数を管理する。 3.ビデオデータ幅コンバータ スキャナから入力した画像データを64ビット幅のデー
タにパッキングして変換するブロックである。
[2. Overview of Scanner Video Clock Unit] FIG.
02 shows a block diagram of FIG. The scanner video clock unit 4402 is a block that operates on the video clock from the scanner. It consists of the following blocks. 1. Scanner video data mask 4601 This block performs data masking on image data from the scanner. The masked data becomes the data of the value set in the register. 2. Scanner video synchronization control unit 4602 Video clock from scanner, VSYNC, HSYNC
This is a block for generating a timing signal for capturing image data and the like from the signal C. The number of lines and the number of lines of image data in the horizontal and vertical directions are managed. 3. Video data width converter This block packs the image data input from the scanner into 64-bit width data and converts the data.

【0233】(スキャナビデオデータマスクの概要)図
47にスキャナビデオデータマスク4601のブロック
図を示す。スキャナビデオデータマスク4601は、ス
キャナから入力する画像データに対してピクセル単位で
マスクを行う。マスクされた画像データはレジスタによ
り設定された値となる(RDMask[7:0],GD
Mask[7:0],BDMask[7:0])。
(Overview of Scanner Video Data Mask) FIG. 47 is a block diagram of the scanner video data mask 4601. The scanner video data mask 4601 masks image data input from the scanner in pixel units. The masked image data becomes the value set by the register (RDMask [7: 0], GD
Mask [7: 0], BDMask [7: 0]).

【0234】(スキャナビデオ同期コントロールユニッ
トの概要)図48にスキャナビデオデータマスク460
2のブロック図を示す。スキャナビデオ同期コントロー
ルユニット4602は、スキャナから入力される画像デ
ータの垂直同期信号(SVSYNC)、水平同期信号
(SHSYNC)、画像データ同期クロック(GTSV
CLK)により、取り込む画像データのイネーブル信号
(IVE)を生成する。また、画像データの主走査方向
の遅延、取り込みピクセル数、副走査方向の遅延、取り
込みライン数を管理する。さらに、設定量の画像データ
取り込みを終了したタイミングでの状態信号(PEND
P)を生成する。
(Outline of Scanner Video Synchronization Control Unit) FIG.
2 shows a block diagram of FIG. The scanner video synchronization control unit 4602 includes a vertical synchronization signal (SVSYNC), a horizontal synchronization signal (SHSYNC), and an image data synchronization clock (GTSV) of image data input from the scanner.
CLK), an enable signal (IVE) of the image data to be captured is generated. In addition, it manages the delay of image data in the main scanning direction, the number of captured pixels, the delay in the sub-scanning direction, and the number of captured lines. Further, the state signal (PEND) at the timing when the capture of the set amount of image data is completed.
P).

【0235】ラインカウンタ4801は副走査方向の遅
延と取り込みライン数を管理して、画像読み取り有効ラ
インの垂直同期信号(EH)を生成する。ピクセルカウ
ンタ4802は主走査方向の画像取り込み遅延と取り込
み画素数を管理する。ページカウンタ4803は入力す
る画像データをページ単位で管理する。設定されたペー
ジ数分の画像データ入力を終了すると、終了信号(AL
LPEND)を生成する。
The line counter 4801 manages the delay in the sub-scanning direction and the number of fetched lines, and generates a vertical synchronizing signal (EH) of an image reading effective line. A pixel counter 4802 manages an image capture delay in the main scanning direction and the number of captured pixels. A page counter 4803 manages input image data in page units. When image data input for the set number of pages is completed, an end signal (AL
LPEND).

【0236】(スキャナビデオデータ幅コンバータ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ビットデータへのならべかたとメモリ上でのならび
かたは以下のとおりである。
(Scanner Video Data Width Converter 46)
FIG. 49 shows a block diagram of the scanner video data width converter 4603. This is a unit for arranging image data input from the scanner in a 64-bit width. The arranged data is written to the FIFO as 64-bit data. The type of image data that can be input is R
There are three types of color image data of 8 bits each for GB, 8-bit monochrome image data of multi-valued, and binary 1-bit monochrome image data. Scanner controller control register 4
At 404, the mode is set. The mode is R
There is a mode in which GB color image data can be arranged in the memory in 24 bits, and a mode in which 1 byte is added and arranged in 32 bits. The three types of image data are input from the following signal lines. 1. RGB 8-bit color image data… R
[7: 0], G [7: 0], B [7: 0] Multi-valued 8-bit monochrome image data ... R [7:
0] 3.2 1-bit black-and-white image data... R7 64-bit data and memory arrangement are as follows.

【0237】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の通りである。
[0237] 1. 8-bit color image data for each of RGB (24-bit storage mode) First pixel R8 bit → bit 63-56 First pixel G8 bit → bit 55-48 First pixel B8 bit → bit 47-40 Second pixel R8 bit → Bit 39-32 second pixel G8 bit → bit 31-24 second pixel B8 bit → bit 23-16 third pixel R8 bit → bit 15-8 third pixel G8 bit → bit 7-0 , As shown in FIG.

【0238】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の通りである。
[0238] 2. RGB 8 bit color image data (32 bit storage mode) First pixel R8 bit → bit 63-56 First pixel G8 bit → bit 55-48 First pixel B8 bit → bit 47-40 Second pixel R8 bit → Bit 31-24 second pixel G8 bit → bit 23-16 second pixel B8 bit → bit 15-8 The arrangement on the memory is as shown in FIG.

【0239】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] 3. Multi-valued 8-bit monochrome image data First pixel 8 bits → bits 63-56 Second pixel 8 bits → bits 55-48 Third pixel 8 bits → bit 47-40 Fourth pixel 8 bits → bits 39-32 fifth Pixel 8 bits → bits 31-24 6th pixel 8 bits → bits 23-16 7th pixel 8 bits → bit 15-8 8th pixel 8 bits → bit 7-0 As shown in FIG. is there.

【0240】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の通りである。4.2 1-bit binary black and white image data 1st pixel 1 bit → bit 63 2nd pixel 1 bit → bit 62 3rd pixel 1 bit → bit 61 4th pixel 1 bit → bit 60 61st pixel 1 bit → bit 3 1 bit of the 62nd pixel → bit 2 1 bit of the 63rd pixel → bit 1 1 bit of the 64th pixel → bit 0 The arrangement on the memory is as shown in FIG.

【0241】次に、各パッキングユニットについて説明
する。
Next, each packing unit will be described.

【0242】図54は、BW8パッキングユニット49
01により、多値8ビットの白黒画像データを64ビッ
ト幅に変換する際のタイミング図である。スキャナから
の8ビット白黒画像データR[7:0]は、信号VEが
ハイレベルになると取り込まれ、1ピクセルずつ信号L
P0〜LP7に同期して64ビットラッチにラッチされ
る。8画素分揃うと、信号LP64に同期して、ラッチ
された8画素64ビットが信号BW8[63:0]とし
て出力される。
FIG. 54 shows a BW8 packing unit 49.
FIG. 11 is a timing chart when converting multi-valued 8-bit black and white image data into a 64-bit width in accordance with No. 01. The 8-bit black-and-white image data R [7: 0] from the scanner is captured when the signal VE goes high, and the signal L is output pixel by pixel.
The data is latched by a 64-bit latch in synchronization with P0 to LP7. When eight pixels are completed, the latched eight pixels of 64 bits are output as a signal BW8 [63: 0] in synchronization with the signal LP64.

【0243】図55は、シフトレジスタ4902により
2値白黒画像データを64ビット幅に変換する際の画像
データ入力のタイミング図である。スキャナからの2値
白黒画像データR7(SVIDEOR0)は、信号VE
がハイレベルになると取り込まれ、1ビットずつシフト
レジスタによりシフトされて、64ビット取り込まれる
と。信号SVLATCH64に同期して、信号BW1
[63:0]として出力される。
FIG. 55 is a timing chart of image data input when converting binary black and white image data into a 64-bit width by shift register 4902. The binary black-and-white image data R7 (SVIDEOR0) from the scanner is supplied to a signal VE.
Becomes high level, is shifted by a shift register one bit at a time, and 64 bits are taken. The signal BW1 is synchronized with the signal SVLATCH64.
[63: 0] is output.

【0244】図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,LPIに同期してそれぞ
れ入力される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]と
する方法である。
FIG. 56 shows an RGB packing unit 49.
FIG. 3 is a timing chart at the time of converting image data of 8 bits (24 bits in total) of RGB into a 64-bit width. FIG. 57 shows the RGB packing unit 490.
3 is a block diagram of FIG. In the figure, image data R [7: input from a scanner video data mask 4601:
0], G [7: 0], and B [7: 0] are input to the 24-bit data latches 5701A and 5701B. The data latches A and B latch 24-bit data that are respectively input in synchronization with latch signals LP0 and LPI that are obtained by dividing the clock CLK by half and that have opposite phases. The data latched by the data latches 5701A and 5701A is 48 → 3
The 2-bit data selector 5702 supplies the input signal RGBHT
[47: 0], and a 2-bit selection signal LP
In response to [3: 2], a 32-bit signal DATA [31:
0]. There are three ways of outputting according to the value of the selection signal. First, the input signal RGBH
In this method, T [47:16] is used as an output signal DATA [31: 0]. Second, the input signal RGBHT [1
5: 0] is output signal DATA [31:16], and input signal RGBHT [47:32] is output signal DATA [1].
5: 0]. Third, the input signal RG
In this method, BHT [31: 0] is used as an output signal DATA [31: 0].

【0245】データラッチ5701A,Bに、ラッチ信
号に同期させて交互に24ビット画像データをラッチ
し、上記3通りの選択の仕方を順に切り換えることで、
データセレクタ5702からの出力は、24ビット/ピ
クセルのデータを32ビットにまとめたデータとなる。
ただし、上記第3の方法でセレクタ5702のデータが
選択された後は、データセレクタに入力された2つのピ
クセル分のデータは両方とも更新されねばならない。そ
こで、図56に示されている通り、選択信号SELUL
[3:2]は1クロック分遅延される。
The data latches 5701A and 5701A alternately latch 24-bit image data in synchronization with the latch signal, and sequentially switch the above three selection methods.
The output from the data selector 5702 is data obtained by combining 24-bit / pixel data into 32 bits.
However, after the data of the selector 5702 is selected by the third method, both data of the two pixels input to the data selector must be updated. Therefore, as shown in FIG. 56, the selection signal SELUL
[3: 2] is delayed by one clock.

【0246】このようにデータセレクタ5702で32
ビット幅に一旦変換されたデータは、データラッチ57
40A,Bに交互にラッチされ、データラッチ5704
Bの内容が更新されたタイミング、すなわちラッチ信号
SELUL1がハイレベルになるタイミングで、64ビ
ット幅に変換されたデータとして出力される。
As described above, the data selector 5702 uses 32
Once converted to the bit width, the data latch 57
40A and 40B alternately latch data latch 5704
At the timing when the content of B is updated, that is, at the timing when the latch signal SELUL1 becomes high level, it is output as data converted into a 64-bit width.

【0247】[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)により
おこなわれる。
[3. Outline of Scanner Image Data Transfer FIFO Controller 4403] FIG. 58 is a block diagram of the scanner image data transfer FIFO controller 4403. This block includes a FIFO 5801 as a buffer for transferring image data input from the scanner via the G bus or the B bus, and the FIFO 581.
01. FI
FO has a capacity of 512 bytes (64 bits x 64)
FIFO. The data output from the FIFO is sent to the scanner FIFO write / read arbiter 5802 by the FIFO
It controls while monitoring the empty flag (EF) of 5801. Data input to the FIFO is performed by a request signal (WREQ) from the scanner video clock unit 4402.

【0248】[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に出力
する。
[4. Outline of Scanner Controller Control Register 4404] FIG. 59 is a block diagram of the scanner controller control register 4404. This block has a register for controlling the inside of the scanner controller. The internal registers are as follows. 1. 1. Scanner controller power management control register 2. Scanner controller / control register Scanner controller interrupt factor status register 4. 4. Scanner / controller / interrupt factor mask register 5. Scanner sub-scanning mask line number setting register 6. Scanner main scanning mask pixel number setting register 7. Scanner sub-scanning line number setting register 8. Scanner sub-scan line number counter read register 9. Scanner sub-scanning pixel number setting register 10. Scanner main scanning pixel number counter readout register Scan page number setting register 12. 12. Scan page number counter read register Scanner device control register 14. Scanner device status register 15. Scanner video mask data register 16. Memory fill data register [5. Outline of IRQ Controller 4406] FIG.
A block diagram of the IRQ controller 4406 is shown. This block manages interrupt signals generated in the scanner controller. There are the following interrupt generation factors. 1. Complete input of image data for the set page (AL
LEND) 2. Complete input of image data for page (PageEn)
d) 3. The rising edge of the SPRDY signal from the scanner (fa
3. 1se → true) (INSPRDY) Falling of the SPRDY signal from the scanner (tr
4. ue → false) (INSPRDY) The rising edge of the SVSYNC signal from the scanner (f
5. true → true) (INSVSYNC) The falling edge of the SVSYNC signal from the scanner (t
6. true → false) (INSVSYNC) 7. Rise of EMPTY signal of image data FIFO (false → true) (EMPTY) 8. Fall (true → false) of EMPTY signal of image data FIFO (EMPTY) 9. Rise (false → true) of a FULL signal of image data FIFO (FULL) 10. Fall (true → false) of FULL signal of image data FIFO (FULL) Overwriting occurs in the image data FIFO (F
OW) Flag information (SCIRQ) corresponding to the above interrupt factor
[31:21]) to the scanner controller control register 4406. From the scanner controller control register 4406, a mask bit (SCIMask [31:21]) and a clear signal (SCICLRP [31:21]) for each interrupt cause are input. The logical sum of each interrupt factor is output to intScc.

【0249】[6.メモリフィルモードコントローラ4
405の概要]図61にメモリフィルモードコントロー
ラ4405のブロック図を示す。このブロックは、レジ
スタに設定された固定データをGBIを介してメモリに
転送するモードを制御する。このモード設定はMemf
ill信号によりおこなわれる。固定データの転送モー
ド指定がなされると、sccGBIに出力されるデータ
は、レジスタに設定されたデータ(MFData[3
1:0])が選択される。また、sccGBIにデータ
転送するタイミング信号(sccWrite)はこのブ
ロック内で生成される。
[6. Memory fill mode controller 4
Outline of 405] FIG. 61 is a block diagram of the memory fill mode controller 4405. This block controls a mode in which fixed data set in the register is transferred to the memory via the GBI. This mode is set to Memf
This is performed by an ill signal. When the fixed data transfer mode is specified, the data output to the sccGBI is the data set in the register (MFData [3
1: 0]). A timing signal (sccWrite) for transferring data to the sccGBI is generated in this block.

【0250】(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ユニットは、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
アサートと同時に有効となり、スキャナコントローラ内
部レジスタへのアクセスであれば、sccRegAck
L信号で応答するまで有効である。 ・sccRegbyteEn[3:0] :IN Gバス/BバスI/Fユニット(GBI)から出力され
るsccRegDataIn[31:0]のバイトイネ
ーブル信号である。sccRegStart Lアサー
トと同時に有効となり、sccRegAck L信号で
応答するまで有効である。この信号で示された有効なバ
イトのみレジスタへの書き込みを行う。内部レジスタか
らの読み出し時は、この信号は無視し、全バイト出力す
る。この信号の各ビットとsccRegDataIn
[31:0]のバイトとの対応は次の通りである。 ・sccRegStart L :IN Gバス/BバスI/Fユニット(GBI)からスキャナ
コントローラ内部のレジスタにアクセスする際のアクセ
ス要求信号である。“Low”でレジスタのアクセス要
求を示す。sccRegAddr[31:2]信号、s
ccRegRdNotWr信号とともにアサートされ、
Bclk1クロック分だけアサートされる。スキャナコ
ントローラが、このアクセスに対するsccRegAc
Lを返さない限り、次のアクセスのアサートはされ
ない。 ・sccRegDataOut「31:0] :OUT Gバス/BバスI/Fユニット(GBI)からスキャナ
コントローラ内部のレジスタをリードアクセスする場合
の32ビットデータバスである。sccRegAck
L信号がアサートされているときに有効となる。 ・sccRegDataIn[31:0] :IN Gバス/BバスI/Fユニット(GBI)からスキャナ
コントローラ内部のレジスタをライトアクセスする場合
の32ビットデータバスである。sccRegStar
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信号がアサートされた次のクロックからセ
ンスされる。
(SccIF-Bus) The sccIF-bus is a local bus connecting the G bus / B bus I / F unit 4301A and the scanner controller 4302. The signals contained in this bus are as follows. The input / output of the signal is a signal output from the scanner controller to the G bus / B bus I / F unit (GBI) OUT, and a G bus / B bus I / F unit (GBI).
Is input to the scanner controller from IN. Since the IF-bus has the same definition for the scanner controller and the printer controller, signals for functions not supported by the scanner controller are also described. The basic clock uses Bclk of the B bus.・ SccRst0 L: IN By this signal, the FIFO inside the scanner controller
To the initial state. • sccDataOut [63: 0]: OUT This is a 64-bit data bus output from the scanner controller to the G bus / B bus I / F unit (GBI). Image data is transferred when the scanner controller performs a data transfer operation. • sccWrite: OUT G when the scanner controller performs data transfer operation.
This is a write signal to the bus / B bus I / F unit (GBI). G bus / B bus I / F unit is sccWr
At the rising edge of Bclk in which the item signal is asserted, sccDataOut [63: 0] is fetched. s
By continuing to assert the ccWrite signal, data can be written in units of one clock. -SccWriteEnable: G when the scanner controller performs data transfer operation.
This is a write signal to the bus / B bus I / F unit (GBI). It is output from the G bus / B bus I / F unit (GBI). At the rising edge of Bclk, sccWrit
If the eEnable signal is asserted, it indicates that writing is possible at the next rising edge of the clock. s
The assertion of the ccWrite signal is sccWriteE
This is performed after confirming the enable signal. SccRegAddr [31: 2]: A register address bus for accessing a register inside the scanner controller from the ING bus / B bus I / F unit (GBI). sccRegStart L
It becomes effective at the same time as assertion. If it is access to the scanner controller internal register, sccRegAck
It is effective until responding with the L signal. -SccRegbyteEn [3: 0]: Byte enable signal of sccRegDataIn [31: 0] output from the ING bus / B bus I / F unit (GBI). sccRegStart Valid at the same time as L assertion, sccRegAck It is effective until responding with the L signal. Only valid bytes indicated by this signal are written to the register. When reading from the internal register, this signal is ignored and all bytes are output. Each bit of this signal and sccRegDataIn
The correspondence with the byte of [31: 0] is as follows. ・ SccRegStart L: an access request signal for accessing a register inside the scanner controller from the ING bus / B bus I / F unit (GBI). “Low” indicates a register access request. sccRegAddr [31: 2] signal, s
Asserted with the ccRegRdNotWr signal,
Asserted for one Bclk clock. The scanner controller determines that sccRegAc for this access
k Unless L is returned, the next access is not asserted. • sccRegDataOut “31: 0”: OUT This is a 32-bit data bus for read access to the register inside the scanner controller from the G bus / B bus I / F unit (GBI).
It is valid when the L signal is asserted. • sccRegDataIn [31: 0]: This is a 32-bit data bus in the case where a register inside the scanner controller is write-accessed from the ING bus / B bus I / F unit (GBI). sccRegStar
t It becomes effective at the same time as the assertion of L. If it is an access to the internal register of the scanner controller, sccAck
It is effective until responding with the L signal. SccRegRdNotWr: a signal indicating the access direction (read or write) when accessing a register in the scanner controller from the ING bus / B bus I / F unit (GBI). "
When “High”, the contents of the register in the scanner controller are read out to sccRegDataOut [31: 0], and when “Low”, sccRegDataIn [31:
0] is written to the scanner controller internal register. sccRegStart It becomes effective at the same time as L assertion, and if it is an access to the scanner controller internal register, sccRegAck It is effective until responding with the L signal.・ SccRegAck L: OUT is a signal indicating that register access inside the scanner controller has been completed. G from scanner controller
Output to the bus / B bus I / F unit (GBI).
Asserted for one Bclk clock. sccRe
gReq The L signal is sensed from the next clock after the assertion.

【0251】なお、信号sccRst1 L,sccバ
イトEn[7:0],sccRead,sccData
In[63:0]は、IFバスに含まれているものの、
スキャナコントローラでは未使用である。
The signal sccRst1 L, scc byte En [7: 0], sccRead, sccData
In [63: 0] is included in the IF bus,
Not used by the scanner controller.

【0252】図62及び図63は、上述の信号のタイミ
ングの一例を示すタイミングダイアグラムである。図6
2はスキャナコントローラ4302からデータを読み出
してDMA転送する際のタイミングであり、図63は、
スキャナコントローラ4302の内部レジスタに対して
読み出しあるいは書き込みを行うタイミングである。
FIGS. 62 and 63 are timing diagrams showing an example of the timing of the above-mentioned signals. FIG.
2 is timing when data is read from the scanner controller 4302 and DMA-transferred.
This is the timing for reading or writing to the internal register of the scanner controller 4302.

【0253】(パワーマネジメント)スキャナコントロ
ーラ内部では、スキャナ・コントローラ・パワー・マネ
ジメント・コントロールレジスタ(0X1B00500
0)の設定に応じたビデオクロック(SVCLK)のゲ
ートコントロールを行い、それによりパワーマネージメ
ントを行う。パワーマネジメントユニット(PMU)4
09に出力するPMステート信号(sccPmStat
[1:0])の値は、Gバス/BバスI/Fユニット4
301Aから入力されるsccDmaPmState
[1:0]の状態とクロックの状態とを合わせて決定さ
れる。sccPmState[1:0]は図64のとお
りである。
(Power Management) Inside the scanner controller, the scanner controller power management control register (0X1B00500)
The gate control of the video clock (SVCLK) according to the setting of 0) is performed, thereby performing power management. Power management unit (PMU) 4
09 output to the PM state signal (sccPmStat)
[1: 0]) is the G bus / B bus I / F unit 4
SccDmaPmState input from 301A
The state of [1: 0] and the state of the clock are determined together. SccPmState [1: 0] is as shown in FIG.

【0254】図64において、sccDmaPmSta
te[1:0]は、スキャナのGバス/Bバスインター
フェースGBI sccのパワー消費状態を示してい
る。GBI secにはパワー消費状態00〜11の4
段階がある。この状態信号sccDmaPmState
[1:0]は、GBI_sccからスキャナコントロー
ラへ出力されている。
In FIG. 64, sccDmaPmSta
te [1: 0] is the G bus / B bus interface GBI of the scanner The power consumption state of scc is shown. GBI In the second, 4 of power consumption states 00 to 11
There are stages. This state signal sccDmaPmState
[1: 0] is output from GBI_scc to the scanner controller.

【0255】また、スキャナコントローラのパワー消費
状態は2段階あり、内部信号SPStatで示される。
The power consumption of the scanner controller has two stages and is indicated by an internal signal SPStat.

【0256】信号sccPmstate「1:0」は、
GBI_sccとスキャナコントローラの2つの状態を
あわせた状態を示している。この信号がシステムのパワ
ーマネージメントユニットに出力される。すなわち、ス
キャナコントローラの電力消費状態は4段階でパワーマ
ネジメントユニットに伝えられる。その段階は信号sc
cPmstate[1:0]の値で示される。値00が
最低レベルであり、1増えるごとに示される電力消費量
は大きくなる。
The signal sccPmstate "1: 0" is
A state in which the two states of GBI_scc and the scanner controller are combined is shown. This signal is output to the power management unit of the system. That is, the power consumption state of the scanner controller is transmitted to the power management unit in four stages. The stage is the signal sc
It is indicated by the value of cPmstate [1: 0]. The value 00 is the lowest level, and the power consumption indicated by one increase increases.

【0257】(スキャナコントローラコアインターフェ
ース)図65は、スキャナコントローラ4302におけ
る、上述した各ブロックを含むコア部分と、外部バスや
スキャナとの間で入出力される信号をまとめた図であ
る。このように、スキャナコントローラ4302は、シ
ステムバスブリッジ402との間をGバスにより接続さ
れ、IOデバイスやパワーマネジメントデバイス及びシ
ステムバスブリッジとの間をBバスにより接続され、プ
リンタコントローラとの間をCPバスで接続され、Gバ
ス/BバスI/Fユニットとの間をI/Fバスにより接
続されている。
(Scanner Controller Core Interface) FIG. 65 is a diagram summarizing signals input and output between the core portion including the above-described blocks in the scanner controller 4302 and an external bus or scanner. As described above, the scanner controller 4302 is connected to the system bus bridge 402 by the G bus, is connected to the IO device, the power management device, and the system bus bridge by the B bus, and is connected to the printer controller by the CP bus. They are connected by a bus, and are connected to the G bus / B bus I / F unit by an I / F bus.

【0258】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である。
2.9.2. Printer Controller FIG. 66 is a block diagram of the printer controller 4303. The printer controller is a block that is connected to a printer by a video I / F and interfaces with a G bus / B bus I / F unit. It is roughly composed of the following blocks. 1. Printer device I / F6601 Printer video I / F and optional controller I
/ F is an input / output port for inputting and outputting signals to / F. 2. Printer video clock unit 6602 This unit operates with the video clock of the printer. 3. Printer image data FIFO controller 6603 controls a FIFO for transferring image data. 4. Printer controller control register unit 6604 This is a register unit for controlling the entire printer controller. 5. IRQ controller 6605 controls an interrupt signal generated inside the printer controller (Prc). 6. Printer command / status control unit 6606 Controls command / status transmission and reception with the printer via the video I / F. 7. Optional controller control unit 66
07 This unit controls the printer option controller. 8. FIFO (FIFO PRC) 6608 This is a FIFO used when the printer may be asynchronous with the video data when outputting the video data to the printer.

【0259】プリンタへ出力する画像データの種類は次
の5種類である。 1.RGB各8ビットのカラー多値データ(点順次) 2.8ビット白黒多値データ 3.1ビット白黒2値データ 4.CMYK各1ビットのカラーデータ(面順次) 5.CMYK各8ビットのカラーデータ(面順次) 次に、プリンタコントローラを構成する各ブロックの概
要を説明する。
The following five types of image data are output to the printer. 1. RGB 8-bit color multi-value data (dot sequential) 2. 8-bit black-and-white multi-value data 3. 1-bit black-and-white binary data 4. 4. CMYK 1-bit color data (surface-sequential) Next, an outline of each block constituting the printer controller will be described.

【0260】[1.プリンタデバイスI/Fの概要]図
67にプリンタデバイスI/F6601のブロック図を
示す。このブロックは、プリンタビデオI/Fおよびオ
プションコントローラI/Fから信号を入出力する入出
力ポートである。PビデオR[7:0],PビデオB
[7:0]の各信号はVDInvt信号により、出力信
号をレベル反転するかどうかを切り替えることが可能で
ある。
[1. Outline of Printer Device I / F] FIG. 67 is a block diagram of the printer device I / F 6601. This block is an input / output port for inputting and outputting signals from the printer video I / F and the optional controller I / F. P video R [7: 0], P video B
For each signal of [7: 0], it is possible to switch whether or not the level of the output signal is inverted by the VDInvt signal.

【0261】[2.プリンタビデオクロックユニットの
概要]図68にプリンタビデオクロックユニット660
2のブロック図を示す。このブロックは、プリンタから
のビデオクロックで動作し、以下のブロックから構成さ
れる。 1.プリンタビデオデータマスク6801(DFF8E
NMask)プリンタへの画像データに対して、データ
マスクを行うブロック。マスクされたデータはレジスタ
に設定された値のデータとなる。 2.プリンタビデオ同期コントロールユニット6802
(Prc_syncユニット)プリンタからのビデオク
ロック,VSYNC,HSYNCの信号から、画像デー
タを出力するタイミング信号等を生成するブロック。画
像データの水平方向、垂直方向のデータ数とライン数を
管理する。 3.プリンタビデオデータ幅コンバータ6803(pv
dwconv)IFバスからの64ビット幅で送られて
くる画像データを、モードにより、RGB24ビット、
白黒8ビット、白黒1ビットのデータに変換するブロッ
ク。モード設定はレジスタにより行う。
[2. Overview of Printer Video Clock Unit] FIG. 68 shows a printer video clock unit 660.
2 shows a block diagram of FIG. This block operates on the video clock from the printer and is composed of the following blocks. 1. Printer video data mask 6801 (DFF8E
NMask) A block that performs data masking on image data to be sent to the printer. The masked data becomes the data of the value set in the register. 2. Printer video synchronization control unit 6802
(Prc_sync unit) A block that generates a timing signal for outputting image data from a video clock, VSYNC, and HSYNC signals from a printer. The number of lines and the number of lines of image data in the horizontal and vertical directions are managed. 3. Printer video data width converter 6803 (pv
dwconv) Depending on the mode, image data transmitted from the IF bus in a 64-bit width is converted to RGB 24 bits,
A block that converts the data into 8-bit black and white and 1-bit black and white data. The mode is set by a register.

【0262】(プリンタビデオデータマスク)図69に
プリンタビデオデータマスク6801のブロック図を示
す。このブロックは、プリンタへ出力する画像データに
対して、ピクセル単位でマスクを行う。マスクされた画
像データはレジスタに設定された値となる(RDMas
k[7:0],GDMask[7:0],BDMask
[7:0])。
(Printer Video Data Mask) FIG. 69 shows a block diagram of the printer video data mask 6801. This block masks image data to be output to a printer in pixel units. The masked image data becomes the value set in the register (RDMas
k [7: 0], GDMask [7: 0], BDMask
[7: 0]).

【0263】(プリンタビデオ同期コントロールユニッ
ト)図70にプリンタビデオ同期コントロールユニット
6802のブロック図を示す。このブロックは、プリン
タへ出力する画像データの垂直同期信号(TOP)、水
平同期信号(INPHSYNC)、画像データ同期クロ
ック(GTVCLK)により、出力する画像データのイ
ネーブル信号(VDOEN)、プリンタ画像データ転送
FIFOコントローラ6603にデータの要求をする信
号(RREQ)を生成する。
(Printer Video Synchronization Control Unit) FIG. 70 is a block diagram of the printer video synchronization control unit 6802. This block is composed of a vertical synchronization signal (TOP), a horizontal synchronization signal (INPHSYNC), and an image data synchronization clock (GTVCLK) of image data to be output to a printer, an enable signal (VDOEN) of image data to be output, and a printer image data transfer FIFO. A signal (RREQ) for requesting data to the controller 6603 is generated.

【0264】また、画像データの主走査方向の遅延、取
り込みピクセル数、副走査方向の遅延、取り込みライン
数を管理する。ラインカウンタ7001は設定量の画像
データ出力を終了したタイミングでの状態信号(PEN
DP)を生成する。また、副走査方向の遅延と出力ライ
ン数を管理して、画像出力有効ラインの垂直同期信号
(EH)を生成する。ピクセルカウンタ7002は主走
査方向の画像出力遅延と出力画素数を管理する。ページ
カウンタ7003は出力する画像データをページ単位で
管理する。設定されたページ数分の画像データ出力を終
了すると、終了信号(ALLPEND)を生成する。
In addition, the delay of image data in the main scanning direction, the number of captured pixels, the delay in the sub-scanning direction, and the number of captured lines are managed. The line counter 7001 outputs a state signal (PEN) at the timing when the output of the set amount of image data is completed.
DP). In addition, a delay in the sub-scanning direction and the number of output lines are managed to generate a vertical synchronization signal (EH) of an image output effective line. A pixel counter 7002 manages an image output delay in the main scanning direction and the number of output pixels. A page counter 7003 manages output image data in page units. When the image data output for the set number of pages is completed, an end signal (ALLPEND) is generated.

【0265】(プリンタビデオデータ幅コンバータ)図
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ビットデータのメモリ上でのならびかたは以下のと
おりとなる。
(Printer Video Data Width Converter) FIG. 71 shows a block diagram of the video data width converter 6803. This block is a GBI (G bus / B bus I /
This unit converts 64-bit data input from F) into image data format. The following three types of image data can be output. RGB 8-bit color image data, multi-valued 8-bit monochrome image data, and binary 1-bit monochrome image data. The 8-bit RGB color image data is stored in the memory in 24-bit units (24-bit mode), and the 1-byte data is added to 24 bits and stored in the memory in 32-bit units ( (32-bit mode). This mode is set in the printer controller control register 6604.
The three types of image data are output to the following signal lines. 1. RGB 8-bit color image data ... IR
[7: 0], IG [7: 0], IB [7: 0] Multi-valued 8-bit monochrome image data ... IR [7:
0] 3.2 binary 1-bit black and white image data... The manner in which IR7 64-bit data is arranged on the memory is as follows.

【0266】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に示した通り
となる。
[0266] 1. RGB color image data of 8 bits each (24-bit mode) First pixel R8 bit → bit 63-56 First pixel G8 bit → bit 55-48 First pixel B8 bit → bit 47-40 Second pixel R8 bit → bit 39-32 Second pixel G8 bit → bit 31-24 Second pixel B8 bit → bit 23-16 Third pixel R8 bit → bit 15-8 Third pixel G8 bit → bit 7-0 In this case, The arrangement is as shown in FIG.

【0267】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に示した通り
となる。
[0267] 2. RGB color image data of 8 bits each (32-bit mode) First pixel R8 bit → bit 63-56 First pixel G8 bit → bit 55-48 First pixel B8 bit → bit 47-40 Second pixel R8 bit → bit 31-24 Second pixel G8 bit → bit 23-16 Second pixel B8 bit → bit 15-8 In this case, the arrangement on the memory is as shown in FIG.

【0268】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] 3. Multi-valued 8-bit monochrome image data First pixel 8 bits → bit 63-56 Second pixel 8 bits → bit 55-48 Third pixel 8 bits → bit 47-40 Fourth pixel 8 bits → bit 39-32 fifth Pixel 8 bit → bit 31-24 6th pixel 8 bit → bit 23-16 7th pixel 8 bit → bit 15-8 8th pixel 8 bit → bit 7-0 In this case, the arrangement on the memory is shown in FIG. It is as shown in.

【0269】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に示した通り
となる。
4.2 1-bit monochrome image data 1st pixel 1 bit → bit 63 2nd pixel 1 bit → bit 62 3rd pixel 1 bit → bit 61 4th pixel 1 bit → bit 60 60th pixel 1 bit → bit 4 1st pixel 1 bit → bit 3 62nd pixel 1 bit → bit 2 63rd pixel 1 bit → bit 1 64th pixel 1 bit → bit 0 In this case, the arrangement on the memory is shown in FIG. It becomes street.

【0270】次に、プリンタビデオデータ幅コンバータ
を構成するブロックについて説明する。
Next, the blocks constituting the printer video data width converter will be described.

【0271】(RGBoutユニット7101)図76
にRGBoutユニット7101のブロック図を示す。
このブロックは24ビットモードでパックされた64ビ
ット幅のデータをRGB各8ビットのカラー画像データ
に変換するユニットである。
(RGBOut Unit 7101) FIG. 76
The block diagram of the RGBout unit 7101 is shown in FIG.
This block is a unit for converting 64-bit data packed in the 24-bit mode into 8-bit RGB color image data.

【0272】[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)に
よりおこなわれる。
[3. Overview of Printer Image Data Transfer FIFO Controller] FIG.
A block diagram of the IFO controller 6603 is shown. This block converts the image data to be output to the printer into a GBI
(G bus / B bus I / F) to receive a FIFO as a buffer for transferring data and a circuit for controlling the FIFO. Capacity 512 bytes (64 bits x 6
4) FIFO7701 is provided. FIFO data input is performed by the printer FIFO write / read arbiter 7702.
Controls while monitoring the full flag (FF) of the FIFO7701. Data output from the FIFO is performed by a request signal (RREQ) from the printer video clock unit 6602.

【0273】[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信号立ち上がり(hlse→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→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に出力する。
[4. Printer Controller Control Register Unit] FIG. 78 is a block diagram of the printer controller control register 6604. This block has a register for controlling the inside of the printer controller. The internal registers are as follows. 1. 1. Printer power management control register 2. Printer controller control register 3. Printer controller interrupt factor status register 4. Printer controller interrupt factor mask register 5. Printer sub-scanning mask line number setting register 6. Printer main scan mask pixel number setting register 7. Printer sub-scanning line number setting register 8. Printer sub-scanning line number counter read register Printer main scanning pixel number setting register 10. 10. Printer main scan pixel number counter read register Print page number setting register 12. 12. Print page number counter read register Printer device control register 14. 14. Printer device status register Printer serial command register 16. Printer serial status register 17. Option, controller, TX, register 18. Option controller, RX, register 19. Printer video mask data register 20.4 Grayscale output level setting register 21.16 Grayscale output level setting register 1 22.16 Grayscale output level setting register 2 23.16 Grayscale output level setting register 3 24.16 Grayscale output level setting register 4 [5. IRQ controller] FIGS. 79 and 80 show the IRQ
A block diagram of a controller 6605 is shown. This block manages an interrupt signal generated in the printer controller. An interrupt is generated from the interrupt source. It has a mask function for each interrupt factor and can be cleared individually. The interrupt factors are as follows. 1. 1. End of image data transfer all pages (ALLPEnd) 2. One page of image data transfer ends (PageEnd) Serial status 1 byte reception completed (INPSB
SY) 4. 1-byte serial command transmission completed (EndCBS
Y) 5. PPRDY signal rise (hlse → true)
(INPPRDY) 6. PPRDY signal falling true → false)
(IMPPRDY) 7. RDY signal rising (false → true)
(INRDY) 8. RDY signal falling (true → false)
(INRDY) 9. PFED signal rise (false → true)
(INPFED) 10. Fall of PFED signal (true → falses)
e) (INPFED) SPCHG signal rising (false → true)
e) (INSPCHG) 12. SPCHG signal falling (true → falses)
e) (INSPCHG) 13. PDLV signal rise (false → tru
e) (INPDLV) 14. PDLV signal fall (true → falses)
e) (INPDLV) 15. TOPR signal rise (false → tru
e) (INTOPR) 16. Fall of TOPR signal (true → falses)
e) (INTOPR) CCRT signal rising (false → tru
e) (INCCRT) CCRT signal fall (true → falses)
e) (INCCRT) VSREQ signal rise (false → tru
e) (INPVSYNC) 20. VSREQ signal falling (true → falses)
e) (INPVSYNC) 21. 22. Completion of option controller TX transmission and RX reception 23. Rising edge of EMPTY signal of image data transfer FIFO 23. Fall of the EMPTY signal of the image data transfer FIFO 25. Rise of FULL signal of image data transfer FIFO 25. Fall of FULL signal of image data transfer FIFO Overread occurs in the image data transfer FIFO (EARDOut) Flag information (PCIRQ
[31: 6]) to the printer controller control register 6604. From the printer controller control register 6604, a mask bit (PCIMask [31: 6]) and a clear signal (PCICLRP [31: 6]) for each interrupt cause are input.
The logical sum of each interrupt factor is output to intPrc.

【0274】[6.プリンタコマンド/ステータスコン
トロールユニット]図81に、プリンタコマンド/ステ
ータスコントロールユニット6606のブロック図を示
す。このブロックは、プリンタを制御するためのシリア
ルコマンド/ステータスを送受信するブロックである。
[6. Printer Command / Status Control Unit] FIG. 81 is a block diagram of the printer command / status control unit 6606. This block is for transmitting and receiving a serial command / status for controlling the printer.

【0275】シリアルコマンドとしては、コマンドを送
信している期間をあらわすINPCBSY信号、シリア
ルコマンドの同期クロックであるINPCCLK信号、
シリアルコマンドINPSRCMD信号が生成される。
As the serial command, an INPCBSY signal indicating a period during which the command is transmitted, an INPCCLK signal which is a synchronous clock of the serial command,
A serial command INPSRCMD signal is generated.

【0276】シリアルステータスとしては、ステータス
が送信されている期間を示すINPSBSY信号、シリ
アルステータスINPSRSTS信号が入力されて、8
ビットのステータスPSRSTAT[7:0]を出力す
る。シリアルステータスを入力するための同期クロック
はプリンタから出力されるINPPCLK信号、また
は、本ブロックで生成されるPCCLK信号のどちらか
を選択可能である。選択はPSRCLKMode信号に
よりなされる。
As the serial status, the INPSBSY signal indicating the period during which the status is transmitted and the serial status INPSRSTS signal are input, and
It outputs bit status PSRSTAT [7: 0]. As the synchronous clock for inputting the serial status, either the INPPCLK signal output from the printer or the PCCLK signal generated by this block can be selected. The selection is made by the PSRCLKMode signal.

【0277】[7.オプションコントローラコントロー
ルユニット]図82に、オプションコントローラコント
ロールユニット6607のブロック図を示す。このブロ
ックは、オプションコントローラに対して、送信データ
(TX)を出力するユニットである。TX送信のため
の、INSTROBE信号、INCKEN信号、CLK
(OPCLK)信号を生成する。また、TX送信と同時
に、受信データ(RX)の受信を行う。
[7. Option Controller Control Unit] FIG. 82 is a block diagram of the option controller control unit 6607. This block is a unit that outputs transmission data (TX) to the option controller. INSTROBE signal, INCKEN signal, CLK for TX transmission
(OPCLK) signal is generated. Also, reception data (RX) is received simultaneously with TX transmission.

【0278】(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クロック単位でデータがリードできる。 ・rcReadEnable :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 アサートと同時
に有効となり、prcRegAck L信号で応答する
まで有効である。この信号で示された有効なバイトのみ
レジスタへの書き込みを行う。内部レジスタからの読み
出し時は、この信号は無視し、全バイト出力する。この
信号の各ビットとprcRegDataIn[31:
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
アサートと同時に有効となり、プリンタコントローラ内
部レジスタへのアクセスであれば、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信号がアサートされた次のクロックからセン
スされる。
(PrcIF-bus) prcIF-bus
Is the G bus / B bus I / F unit 4301B and
With a local bus connecting the
is there. The signals contained on this bus include:
You. In addition, the input and output of the signal from the printer controller
Signal output to G bus / B bus I / F unit (GBI)
Signal OUT, G bus / B bus I / F unit (GBI)
Signal input to printer controller from
You. The IF-bus connects the scanner controller and printer
Printer controller,
Signals for functions not supported by Laura are also described.
The basic clock uses Bclk of the B bus.・ PrcRst0 L: IN By this signal, the FIFO inside the printer controller
To the initial state.・ PrcDataIn [63: 0]: Printer from ING bus / B bus I / F unit (GBI)
A 64-bit data bus output to the controller.
You. When the printer controller operates data transfer
Image data is transferred. • prcRead: OUT When the printer controller performs data transfer operation, the G bus
Read signal from the bus / B bus I / F unit (GBI)
issue. G bus / B bus I / F unit (GBI) is pr
Start of Bclk where cRead signal is asserted
PrcDataIn [63: 0] is valid for the beam
And Keep asserting the prcRead signal
Thus, data can be read in units of one clock. • rcReadEnable: IN When the printer controller performs data transfer operation, G bus / B
Data read permission from bus I / F unit (GBI)
Signal. G bus / B bus I / F unit (GBI)
Output from At the rise of Bclk, prcRe
If the adEnable signal is asserted, the next
It indicates that reading is possible at the rise of the lock.
The assertion of the prcRead signal is based on the prcReadEn
This is performed after confirming the “able” signal. • prcRegAddr [31: 2]: Printer from ING bus / B bus I / F unit (GBI)
When accessing the register inside the controller,
Star address bus. prcRegStart L Asser
Enabled at the same time as the
PrcRegAck L Shin
It is valid until you respond with a number. • prcRegbyteEn [3: 0]: output from the ING bus / B bus I / F unit (GBI)
Byte rice of prcRegDataIn [31: 0]
Cable signal. prcRegStart Simultaneous with assert
Becomes effective, and prcRegAck Respond with L signal
Valid up to. Only valid bytes indicated by this signal
Write to the register. Read from internal register
At the time of output, this signal is ignored and all bytes are output. this
Each bit of the signal and prcRegDataIn [31:
[0] The correspondence with the cut bytes is as follows.・ PrcRegStart L: Printer from ING bus / B bus I / F unit (GBI)
When accessing registers inside the controller,
Access request signal. Register access request at "Low"
Show. prcRegAddr [31: 2] signal, prc
Asserted with RegRdNotWr signal, Bc
Asserted for lk1 clocks. Printer controller
Laura checks for a prcRegAck for this access
Unless it returns L, the next access will not be asserted.
No. -PrcRegDataOut [31: 0]: OU
TG bus / B bus I / F unit (GBI) to printer
For read access to the register inside the controller
32-bit data bus. prcRegAck L signal
Valid when asserted. • prcRegDataIn [31: 0]: Printer from ING bus / B bus I / F unit (GBI)
When writing to the register inside the controller
32-bit data bus. prcRegStart L
Valid at the same time as assertion,
PrcRegAck for access to the external register
It is effective until responding with the L signal. -PrcRegRdNotWr: Printer from ING bus / B bus I / F unit (GBI)
When accessing registers inside the controller,
Signal indicating the access direction (read or write). "Hig
h ”sets the contents of the printer controller internal register to pr
Read to cRegDataOut [31: 0],
Low "in prcRegDataIn [31: 0]
Is written to the internal register of the printer controller.
You. PrcRegStart Valid at the same time as L assert
Access to the printer controller internal registers.
PrcRegAck Until responding with L signal
Is effective in・ PrcRegAck L: OUT The register access inside the printer controller is completed.
Signal indicating that From printer controller to G bus /
Output to the B bus I / F unit (GBI). BCl
Asserted for k1 clocks. prcRegst
art The next clock after the L signal is asserted
Is performed.

【0279】なお、信号prcReq0 L,prcバ
イトEn[7:0],prcWrite,prcDat
aOut[63:0],prcReadEnable
は、プリンタコントローラでは未使用となる。
The signal prcReq0 L, prc byte En [7: 0], prcWrite, prcDat
aOut [63: 0], prcReadEnable
Is unused in the printer controller.

【0280】図83及び図84は、上述の信号のタイミ
ングの一例を示すタイミングダイアグラムである。図8
3はプリンタコントローラ4303へデータをDMA転
送する際のタイミングであり、図63は、プリンタコン
トローラ4303の内部レジスタに対して読み出しある
いは書き込みを行うタイミングである。
FIGS. 83 and 84 are timing diagrams showing an example of the timing of the above-mentioned signals. FIG.
Reference numeral 3 denotes timing when data is DMA-transferred to the printer controller 4303, and FIG.

【0281】(パワーマネジメント)プリンタコントロ
ーラ内部では、プリンタ・コントローラ・パワー・マネ
ジメント・コントロールレジスタ(0X1B00700
0)の設定に応じたビデオクロック(VCLK)のゲー
トコントロールを行い、それによりパワーマネージメン
トを行う。パワーマネジメントユニット(PMU)40
9に出力するPMステート信号(prcPmStat
[1:0])の値は、Gバス/BバスI/Fユニット4
301Bから入力されるprcDmaPmState
[1:0]態とクロックの状態とを合わせて決定され
る。prcPmState[1:0]は図85のとおり
である。
(Power Management) Inside the printer controller, the printer controller power management control register (0X1B000007)
The gate control of the video clock (VCLK) according to the setting of 0) is performed, thereby performing power management. Power management unit (PMU) 40
9 output to the PM state signal (prcPmStat)
[1: 0]) is the G bus / B bus I / F unit 4
PrcDmaPmState input from 301B
The state is determined by combining the [1: 0] state and the clock state. prcPmState [1: 0] is as shown in FIG.

【0282】図85において、prcDmaPmSta
te[1:0]は、プリンタのGバス/Bバスインター
フェースGBI prcのパワー消費状態を示してい
る。GBI prcにはパワー消費状態00〜11の4
段階がある。この状態信号prcDmaPmState
[1:0]は、GBI prcからプリンタコントロー
ラへ出力されている。
In FIG. 85, prcDmaPmSta
te [1: 0] is the G bus / B bus interface GBI of the printer The power consumption state of prc is shown. GBI In prc, 4 of power consumption states 00 to 11
There are stages. This state signal prcDmaPmState
[1: 0] is GBI prc is output to the printer controller.

【0283】また、プリンタコントローラのパワー消費
状態は2段階あり、内部信号PPStatで示される。
The power consumption state of the printer controller has two stages and is indicated by an internal signal PPStat.

【0284】信号prcPmstate[1:0]は、
GBI prcとプリンタコントローラの2つの状態を
あわせた状態を示している。この信号がシステムのパワ
ーマネージメントユニットに出力される。すなわち、プ
リンタコントローラの電力消費状態は4段階でパワーマ
ネジメントユニットに伝えられる。その段階は信号pr
cPmstate[1:0]の値で示される。値00が
最低レベルであり、1増えるごとに示される電力消費量
は大きくなる。
The signal prcPmstate [1: 0] is
GBI A state in which the two states of the prc and the printer controller are combined is shown. This signal is output to the power management unit of the system. That is, the power consumption state of the printer controller is transmitted to the power management unit in four stages. The stage is the signal pr
It is indicated by the value of cPmstate [1: 0]. The value 00 is the lowest level, and the power consumption indicated by one increase increases.

【0285】2.9.3 Gバス/BバスI/Fユニッ
ト(GBI) 図92は、Gバス/BバスI/Fユニット4301のブ
ロック構成図である。Gバス/BバスI/Fユニット
は、スキャナ及びプリンタのそれぞれに用意されている
が、その構成は同じであるため、ここでまとめて説明す
る。
2.9.3 G Bus / B Bus I / F Unit (GBI) FIG. 92 is a block diagram of the G bus / B bus I / F unit 4301. The G bus / B bus I / F unit is provided for each of the scanner and the printer, but since their configurations are the same, they will be described together here.

【0286】図92において、GBI4301は、GB
usと接続してこれを制御するGBusコントローラ
と、BBusと接続してこれを制御するBBusコント
ローラとを含む。これらの間には、DMAアドレスを制
御するDMAコントローラ9205のほか、機能ブロッ
クとGBus/BBusとの間をデータ転送に用いられ
るFIFO9204、種々の設定値が書き込まれるレジ
スタユニット9206が含まれる。このうち、GBUS
コントローラとFIFO9204は、GBusにあわせ
て100MHzのクロックで動作し、その他のブロック
はBBusにあわせて50MHzで動作する。
In FIG. 92, GBI4301 is GBI
and a BBus controller connected to the Bus and controlling the same, and a BBus controller connected to the Bbus and controlling the same. These units include a DMA controller 9205 for controlling a DMA address, a FIFO 9204 used for data transfer between the functional block and the GBus / BBus, and a register unit 9206 in which various set values are written. Of these, GBUS
The controller and the FIFO 9204 operate at a clock of 100 MHz according to the G bus, and the other blocks operate at 50 MHz according to the B bus.

【0287】GBI4301は、GBusとBBusの
両方に接続されるべき機能ブロック(SCC:スキャナ
コントローラとPRC:プリンタコントローラ)の、G
BusとBBusの選択的接続及び、両バスのインター
フェースを提供する。GBIと各機能ブロックの間は、
IFBus9201で接続される。機能ブロックでは、
データの入出力先がGBusかBBusかを意識する必
要はない。また、GBI側でDMAをサポートするの
で、機能ブロック側でアドレスを発生する必要もない。
GBIは、各機能ブロックで共通に必要となる機能をま
とめて、独立のユニットにしたものである。
The GBI 4301 is a functional block (SCC: scanner controller and PRC: printer controller) to be connected to both the G bus and the B bus.
It provides a selective connection between Bus and BBus and an interface of both buses. Between GBI and each functional block,
They are connected by IFBus 9201. In the function block,
There is no need to be aware of whether the data input / output destination is GBus or BBus. Also, since DMA is supported on the GBI side, there is no need to generate addresses on the functional block side.
The GBI is a unit in which functions required in common in each functional block are grouped into an independent unit.

【0288】GBIがサポートするIFBus9201
に接続される機能ブロックは、連続したデータを受け取
る、あるいは送り出すものとする。IFBusにアドレ
ス信号は含まれていない。GBIでは、Channe1
0(GBus/BBuS→IFBus0)とChann
el1(GBus/BBus→IFBus1)の2つの
チャネルが用意され、それぞれに、DMAコントローラ
が用意されている。ただし、スキャナコントローラで
は、Channel0のみを、プリンタコントローラで
は、Channel1のみを使用(実装)する。
IFBus 9201 supported by GBI
The functional blocks connected to receive or send continuous data. The IFBus does not include an address signal. In GBI, Channel1
0 (GBus / BBuS → IFBus0) and Chann
Two channels, e11 (GBus / BBus → IFBus1), are prepared, and a DMA controller is prepared for each of them. However, only the channel 0 is used (implemented) in the scanner controller and only the channel 1 is used in the printer controller.

【0289】DMAコントローラ9205は、I/O
(アドレス固定)とメモリに対する設定が可能で、メモ
リの場合は、連続物理アドレスとチェーンテーブル方式
(後述)のDMAが設定できる。
The DMA controller 9205 has an I / O
(Fixed address) and memory can be set. In the case of a memory, a continuous physical address and a DMA of a chain table system (described later) can be set.

【0290】GBIは、データを、FIFOを介して機
能ブロックと入出力する。したがって、GBIがスレー
ブモードとして動作する場合、GBIのアドレスは、G
Bus側が、0x18n0 0000〜0x18n0
007F、BBus側が、0x19n0 0000〜0
x19n0 001Fのみで同じロケーションがアクセ
スされる。FIFOを使用しているため、バースト転送
時のラップアラウンドに対応するのが困難である。BB
usのラップアラウンドを伴うバースト転送要求に対し
ては、シングルアクセスとして応答する。GBusのラ
ップアラウンドを伴う転送要求に対しては応答しない。
The GBI inputs and outputs data to and from the functional blocks via the FIFO. Therefore, when the GBI operates in the slave mode, the address of the GBI is G
Bus side is 0x18n0 0000-0x18n0
007F, BBus side is 0x19n0 0000-0
x19n0 Only 001F accesses the same location. Since the FIFO is used, it is difficult to cope with wrap-around during burst transfer. BB
For a burst transfer request involving wrap-around of us, a response is made as a single access. It does not respond to the transfer request with the wraparound of the GBus.

【0291】なお、GBI間で画像データのDMA転送
を行う場合には、それぞれのDMAコントローラにより
制御が行われる。この際に、いずれの側がマスタになる
かは特に決めないが、よりデータ転送のタイミングが厳
格な方がマスタになることが望ましい。このため、本実
施例では、GBI PRCをマスタにし、GBISCC
をスレーブにしてDMA転送を行っている。
In the case of performing DMA transfer of image data between GBIs, control is performed by each DMA controller. At this time, it is not particularly determined which side becomes the master, but it is desirable that the data transfer timing be more strict. Therefore, in this embodiment, the GBI PRIS as master, GBISCC
Is used as a slave to perform DMA transfer.

【0292】GBI(GBus/BBusインターフェ
ース)は、 1.機能ブロックとのデータの受け渡しをするFifo
ユニット 2.GBusに直結され、GBusとFifoユニット
をつなぐGBusコントローラ9202 3.BBusに直結され、BBusとFifoユニット
をつなぐBBusコントローラ9203 4.マスタモードの時に、DMA転送要求を各バスコン
トローラに発行するDMAコントローラ9205 5.レジスタの内容を保持し、各ブロックに信号を送る
レジスタユニット9206 から構成される。レジスタユニット内には、割込み制
御、パワー制御部も含んでいる。以下に、各部の説明を
する。
The GBI (GBus / BBus interface) is: Fifo that exchanges data with functional blocks
Unit 2. 2. A GBus controller 9202 that is directly connected to the G bus and connects the G bus and the Fifo unit. 3. BBus controller 9203 directly connected to BBus and connecting BBus and Fifo unit 4. DMA controller 9205 that issues a DMA transfer request to each bus controller in master mode. A register unit 9206 holds the contents of the register and sends a signal to each block. The register unit also includes an interrupt control and a power control unit. Hereinafter, each part will be described.

【0293】<Fifoユニット>図93に示したFi
foユニットは、GBus/BBusとIFBusとの
間の転送データのバッファとなる部分である。Fifo
ユニットは、互いに独立したFifoユニット0とFi
foユニット1とから構成される。Fifoユニット0
はIFBusからのデータ入力及びGBusあるいはB
Busへのデータ出力のために用いられ、Fifoユニ
ット1はGBusあるいはBBusからのデータ入力及
びIFBusへのデータ出力のために用いられる。
<Fifo Unit> The Fi unit shown in FIG.
The fo unit is a portion serving as a buffer for transfer data between the GBus / BBus and the IF Bus. Fifo
The units are Fifo units 0 and Fi, which are independent of each other.
fo unit 1. Fifo Unit 0
Is the data input from IFBus and GBus or B
The FIFO unit 1 is used for data output to the bus, and the Fifo unit 1 is used for data input from the G bus or the B bus and data output to the IF bus.

【0294】信号scGbiFifo0Clkあるいは
scGbiFifolClkはゲーテッドクロックで、
クロックを止めることで省電カモードを実現する。この
クロックは、GBI FIFOレジスタをライトするこ
とにより停止し、マスタモードかスレーブモードに入る
時に自動的に起動する。
The signal scGbiFifo0Clk or scGbiFifoClk is a gated clock,
Stopping the clock realizes the power saving mode. This clock is stopped by writing to the GBI FIFO register and automatically started when entering the master mode or the slave mode.

【0295】[Fifoユニット0]Fifoユニット
0は、IFBus0(IFBusの仕様については後
述)からのデータをFifoに書き込み、GBus/B
Busに送り出す。信号ifDataOutB[63:
0]、ifWriteB、ifWriteEnable
Gは、IFBusと接続される。
[Fifo unit 0] The Fifo unit 0 writes data from IFBus0 (IFBus specifications will be described later) to Fifo, and writes GBus / B
Send it to Bus. The signal ifDataOutB [63:
0], ifWriteB, ifWriteEnable
G is connected to IFBus.

【0296】このFifoユニット0が有するFifo
0は、IFBusからの64ビットデータを入力とし、
GBus用の64ビットデータDataOut64とB
Bus用の32ビットデータDataOut32を出力
する、64ビット×17段のFifoである。
The Fifo of this Fifo unit 0
0 inputs 64-bit data from IFBus,
64-bit data DataOut64 and B for GBus
This is a 64-bit × 17-stage Fifo that outputs 32-bit data DataOut32 for Bus.

【0297】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と接続され、機能ブ
ロックにライト可能であることを伝える。
The status signal output from the Fifo unit 0 includes the following signals.・ Fifo0EnableB1G: Fifo0Unit
Indicates that one word (32 bits) can be transferred from the to the BBus. The DMA controller is used in the master mode, and the BBus controller is used in the slave mode.・ Fifo0EnableB4G: Fifo0Unit
Indicates that four words can be transferred consecutively from Bbus to BBus. The DMA controller is used in the master mode, and the BBus controller is used in the slave mode.・ Fifo0EnableB8G: Fifo0Unit
Indicates that eight words can be continuously transferred from B to the bus. The DMA controller is used in the master mode, and the BBus controller is used in the slave mode.・ Fifo0EnableG4G: Fifo0Unit
Indicates that four words (one word is 64 bits) can be continuously transferred to the G bus. DMA in master mode
When the controller is in the slave mode, the GBus controller uses it.・ Fifo0EnableG16G: Fifo0Uni
Indicates that 16 words can be continuously transferred from t to GBus. The DMA controller is used in the master mode, and the GBus controller is used in the slave mode. -IfWriteEnable: Fifo0 is Full
Indicates no status. Connected to IFBus to inform function blocks that writing is possible.

【0298】また、Fifo0からのGBusの64ビ
ットデータのリードは、Fifo0に入力されている信
号Rd64を使い、BBusの32ビットデータのリー
ドは、信号Rd32を使う。どちらのリードによって
も、ステータス信号及び、Fifo0からの出力データ
であるDataOut64とDataOut32は更新
される。
[0298] The reading of 64-bit data of GBus from Fifo0 uses the signal Rd64 input to Fifo0, and the reading of 32-bit data of BBus uses the signal Rd32. By either read, the status signal and the data Out64 and DataOut32 output from Fifo0 are updated.

【0299】(B2Gブロック)I/Fバス及びBBu
sのクロックは50MHzであり、GBusのクロック
は100MHzである。このため、Fifoユニット0
に含まれる不図示のB2Gなるブロックにより、IFB
usクロックに同期した書込み信号ifWriteFi
foB、あるいはBBUsクロックに同期した読出し信
号bReadFifoBの1クロック分を、Fifoユ
ニットのクロック(IFBusの2倍の周波数)のクロ
ックに変換する。
(B2G block) I / F bus and BBu
The clock of s is 50 MHz, and the clock of GBus is 100 MHz. For this reason, Fifo unit 0
The IFB block, not shown, included in the
write signal ifWriteFi synchronized with us clock
One clock of the read signal bReadFifoB synchronized with the foB or the BBUs clock is converted into a clock of the clock of the Fifo unit (twice the frequency of IFBus).

【0300】(ChkIllegalブロック)Fif
o0は、GBus/BBusにより共有される。マスタ
ーモードでは、DMAコントローラがGBus/BBu
sの排他使用を制御しているが、スレーブモードでは、
DMAマスターが排他使用を制御しなければならない。
このため、FifoユニットOに含まれるChkIll
egalブロックでは、GBusとBBusから同時に
Fifo0にアクセスされた場合に、信号fifoEr
rorGをアサートする。すなわち、Gbusからの読
出し信号gReadFisoG、あるいはBBusから
の読出し信号bReadFisoBが同時にアサートさ
れると、信号fifoErrorGをアサートする。こ
の信号は、レジスタユニットでラッチされ、マスクされ
ていなければ、割り込みを発生する。
(ChkIllegal block) Fif
o0 is shared by GBus / BBus. In the master mode, the DMA controller uses GBus / BBu
Although exclusive use of s is controlled, in slave mode,
The DMA master must control exclusive use.
For this reason, ChkIll included in the Fifo unit O
In the egal block, when the Fifo0 is simultaneously accessed from the GBus and the BBus, the signal fifoEr is output.
Assert lorG. That is, when the read signal gReadFisoG from Gbus or the read signal bReadFisoB from BBus is simultaneously asserted, the signal fifoErrorG is asserted. This signal is latched in the register unit and generates an interrupt if not masked.

【0301】[Fifoユニット1]Fifoユニット
1は、GBus/BBusからのデータを内蔵するFi
fo1に書き込み、IFBus1に送り出す。ifDa
taIng[63:0],ifByteEnG[7:
0],ifReadB,ifReadEnableG
は、IFBusと接続される。
[Fifo unit 1] The Fifo unit 1 is a Fifo unit that stores data from the GBus / BBus.
Write to fo1 and send to IFBus1. ifDa
taIng [63: 0], ifByteEnG [7:
0], ifReadB, ifReadEnableG
Is connected to IFBus.

【0302】Fifoユニット1では、マスタモードで
の逆方向DMAに対応するために、Fifo1の前段に
フロントバッファを設けてある。逆方向DMA(入力信
号reverseMODEがイネーブル)の時には、フ
ロントバッファにいったんバッファしてから、逆順でF
IFOにデータを送り出す。それ以外のモード(信号r
everseMODEがディスエーブル)の時には、通
常のFIFOとして機能する。
In the Fifo unit 1, a front buffer is provided before the Fifo 1 in order to cope with the backward DMA in the master mode. In the case of reverse DMA (input signal reverseMODE is enabled), buffer once in the front buffer, and then F
Send data to IFO. Other modes (signal r
When “everyMODE” is disabled, it functions as a normal FIFO.

【0303】(フロントバッファ)GBusまたは、B
Busからのデータを入力とし、Fifo1へ出力す
る、バイトイネーブル付き64+4ビット×4段のバッ
ファである。BBusからの書き込みでは、データはバ
イトイネーブル信号とともに書き込まれる。GBusか
らの書き込みでは、バイトイネーブルをすべて有効と
し、データが書き込まれる。BBusからの書き込みで
の64ビットへのパッキングは行わない。
(Front buffer) GBus or B
This is a 64 + 4 bit × 4 stage buffer with byte enable, which receives data from the bus and outputs it to Fifo1. In writing from BBus, data is written together with a byte enable signal. In writing from the G bus, all byte enables are made valid and data is written. Packing to 64 bits in writing from BBus is not performed.

【0304】ステータス信号として、フロントバッファ
が空状態であることを示す信号BufEmptyが設け
られている。
A signal BufEmpty indicating that the front buffer is empty is provided as a status signal.

【0305】逆方向DMAの時には、信号revers
eMODEがイネーブルであり、転送モードは、DMA
コントローラで、GBusの4beatバースト転送、
あるいはBBusのシングル転送のみに制限される。G
Busの4beatバースト転送のデータは、一度フロ
ントバッファに貯めてから、逆順にして、Fifo1に
データを送り出す(32ビット単位で逆順にする)。
In the case of the backward DMA, the signal reverses
eMODE is enabled and the transfer mode is DMA
4 bus burst transfer of GBus by controller,
Alternatively, the transfer is limited to only the BBus single transfer. G
Bus 4-bit burst transfer data is stored once in the front buffer, and then transmitted in reverse order to Fifo 1 (in reverse order in 32-bit units).

【0306】それ以外のモードの時には、信号reve
rseMODEがディスエーブルであり、4段のFIF
Oとして機能する。入力信号dummyWriteFi
fo1Bは一度ラッチされ、フロントバッファが空にな
った時点で、Fifo1に送られる。
In other modes, the signal "reve"
rsMODE is disabled and 4-stage FIF
Functions as O. Input signal dummyWriteFi
fo1B is latched once and sent to Fifo1 when the front buffer becomes empty.

【0307】(Fifo1)Fifo1は、フロントバ
ッファからのデータを入力とし、入力されたデータをI
FBusへ出力する、バイトイネーブル付き64+8ビ
ット×16段のFifoである。BBusからのデータ
は、バイトイネーブル信号とともに書き込まれる。GB
usからのデータは、バイトイネーブルをすべて有効と
し、書き込まれる。BBusからのデータの書き込みで
は、64ビットへのパッキングを行う。
(Fifo1) Fifo1 receives data from the front buffer and converts the input data to I
It is a 64 + 8 bit × 16-stage Fifo with byte enable output to the FBus. Data from the BBus is written with the byte enable signal. GB
Data from us is written with all byte enables enabled. In writing data from the B bus, packing to 64 bits is performed.

【0308】Fifo1の内部状態と、フロントバッフ
ァのBufEmpry信号を基に、以下のステータス信
号を設けている。 ・Fifo1EnableBIG: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と接続され、機能ブロックに
リード可能であることを伝える。
The following status signals are provided based on the internal state of Fifo1 and the BufEmpry signal of the front buffer.・ Fifo1EnableBIG: Fifo unit 1
Indicates that two words (32 bits) can be transferred from the BBus. This is enabled when Fifo1 has a space of one or more BBus words or the front buffer is empty.・ Fifo1EnableB4G: Fifo unit 1
Indicates that eight words can be continuously transferred from BBus. This is enabled when Fifo1 has a space of 4 words or more of BBus or the front buffer is empty.・ Fifo1EnableB8G: Fifo unit 1
Indicates that 12 words can be continuously transferred from BBus. If there is a free space of BBus 8 words or more in Fifo1, or there is a free space of BBus 4 words or more in Fifo1,
It is enabled when the front buffer is empty.・ Fifo1EnableG4G: Fifo unit 1
Indicates that four words (one word is 64 bits) can be continuously transferred from the GBus. This is enabled when Fifo1 has an empty space of 4 words or more of GBus or the front is empty. Fifo1EnableG16G: Indicates that 16 words can be continuously transferred from the GBus to the Fifo unit 1. If Fifo1 is empty or if Fifo1 has GBus
It is enabled when there is room for 12 words or more and the front buffer is empty. IfReadEnable: Indicates that Fifo1 is not empty. It is connected to IFBus and informs the function block that it can be read.

【0309】信号Fifo1EnableB1G、Fi
fo1EnableB4G、Fifo1EnableB
8Gは、マスタモード時にはDMAコントローラが、ス
レーブモード時にはBBusコントローラが使用する。
Signals Fifo1EnableB1G, Fi
fo1EnableB4G, Fifo1EnableB
8G is used by the DMA controller in the master mode and by the BBus controller in the slave mode.

【0310】信号Fifo1EnableG4G、Fi
fo1EnableG16Gは、マスタモード時にはD
MAコントローラが、スレーブモード時にはGBusコ
ントローラが使用する。
Signal Fifo1EnableG4G, Fi
fo1EnableG16G has D in master mode.
When the MA controller is in the slave mode, the GBus controller uses it.

【0311】また、Fifoユニット1は、Fifoユ
ニット0と同じく、B2Gブロック及びChkIlle
galブロックを備えている。
[0311] The Fifo unit 1 has a B2G block and a ChkIlle like the Fifo unit 0.
It has a gal block.

【0312】<GBusコントローラ>図94は、Gb
usコントローラ9202のブロック図である。Gbu
sコントローラ9202は、GBIがバスマスタとなっ
てGBusを制御するためのGBusマスタコントロー
ラと、スレーブとなった際の制御を行うためのGBus
スレーブコントローラと、データを制御するためのGB
usデータコントローラと、GBusインターフェース
バッファとを含む。この構成により、GBI4301
は、GBusのマスタあるいはスレーブとして動作する
ことができる。
<GBus Controller> FIG.
It is a block diagram of us controller 9202. Gbu
The s-controller 9202 includes a GBus master controller for controlling the GBus when the GBI serves as a bus master, and a GBus controller for controlling when the GBI serves as a slave.
Slave controller and GB for controlling data
us data controller and a GBus interface buffer. With this configuration, GBI 4301
Can operate as a GBus master or slave.

【0313】[GBusマスタ動作]GBusコントロ
ーラは、GBusマスタコントローラにより、以下のよ
うな手順でGBusマスタとしての制御を行う。
[Gbus master operation] The Gbus controller controls the Gbus master as a Gbus master by the following procedure.

【0314】1.DMAコントローラからの要求 DMAコントローラ9205は、チャネルNの転送が可
能な段階で、gMReq(N)信号を、gMAddr
(N)[31:5]信号、gMBst4Not16
信号とともに、bClk(Bbusクロック信号)で1
クロックだけアサートして、DMA転送を要求する。
[0314] 1. Request from DMA Controller The DMA controller 9205 outputs the gMReq (N) signal to gMAddr at a stage where the transfer of the channel N is possible.
(N) [31: 5] signal, gMBst4Not16 N
1 with bClk (Bbus clock signal)
Assert only the clock to request DMA transfer.

【0315】gMAddr(N)[31:5]信号、g
MBst4Not16 N信号は、GBusマスタコン
トローラによりgMDone(N)信号、gMRtry
(N)信号、gMBErr(N)信号のいずれかがアサ
ートされるまで、変化させてはいけない。
GMAddr (N) [31: 5] signal, g
MBst4Not16 The N signal is a gMDone (N) signal, gMRtry by the GBus master controller.
It must not be changed until either the (N) signal or the gMBErr (N) signal is asserted.

【0316】2.GBusアービタへの転送要求 gMReq(N)信号は、GBusマスタリクエストイ
ンターフェースでラッチされる(gLatchReq
(N)信号)。
[0316] 2. Transfer request to GBus arbiter The gMReq (N) signal is latched by the GBus master request interface (gLatchReq
(N) signal).

【0317】各チャネルのgLatchReq信号は、
不図示のGBusマスタリクエストアービタで調停さ
れ、GBusアービタ406に対し、DMA要求信号g
Req L信号をアサートすると同時に、GBusマスタ
アドレスフェーズに、gIntReq(N)信号を送
る。
The gLatchReq signal of each channel is
Arbitrated by Gbus master request arbiter (not shown)
The G bus arbiter 406 sends a DMA request signal g
Req At the same time as asserting the L signal,
Send gIntReq (N) signal to address phase
You.

【0318】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に転送
が完了したことを伝える。
[0318] 3. Transfer permission from GBus arbiter DMA permission signal gGnt from GBus arbiter 406
When the L signal is asserted, the signal GGntSense is asserted from the GBus master address phase, and the DMA request signal gReq L is negated. At the same time, the gLatchReq (N) signal and gIntReq
(N) The signal is negated. The GBus master request interface monitors the signal gSlvBsy,
When the data bus becomes available, GMDataRq
(N) Assert the signal. This signal is sent to the GBus master generate end data and the GBus data controller. 4. GBus data transfer When the gAack signal of the slave is confirmed, data transfer starts. GBus signals other than EndData are G
It is generated in the Bus master address phase. EndD
“ata” is generated by GBus master generate end data. Fibus or Fifo from GBus
Data transfer from Gbus to GBus is performed by GMDataRq
The (N) signal is used by the GBus data controller. If the gRtry signal is detected before the gAack signal, the GBus data controller does not perform data transfer. 5. Gbus data transfer end (or retry) Gbus master generate end data is Gbus
The end of the data transfer is determined by the checkBErr signal.
Notify the Bus master request interface. The GBus master request interface receiving the signal clears the internally held request and asserts the gMDone signal if there is no bus error. If a bus error is detected, gMBErr
Assert the signal to notify the DMA controller 9205 that the transfer has been completed.

【0319】また、gRtry信号を検出すると、GB
usマスタリクエストインターフェースは、内部で保持
している要求をクリアすると同時に、gMRtry信号
をアサートする。
When the gRtry signal is detected, GB
The us master request interface clears the internally held request and asserts the gMRtry signal at the same time.

【0320】DMAコントローラ49205は、GBu
sコントローラ9202から受けた信号がgMDone
信号であれば、転送アドレスや転送長等を更新する。受
けた信号がgMRtry信号であれば、それらを更新せ
ずに、次のアクションを起こす。gMBErr信号の時
には、DMAコントローラ9202は転送を中止し、マ
スクされていなければ、割り込みを発生する。
The DMA controller 49205 has a GBu
The signal received from the s controller 9202 is gMDone
If it is a signal, the transfer address and transfer length are updated. If the received signal is a gMRtry signal, the next action is taken without updating them. At the time of the gMBErr signal, the DMA controller 9202 stops the transfer, and if not masked, generates an interrupt.

【0321】[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スレーブリクエストインタ
ーフェースは、gSIvBsy信号のネゲートを確認
し、gAack信号をアサートし、そのタイミングを、
GSlvStart信号でGBusスレーブリクエスト
スレーブビジーに伝える。また、GBusスレーブリク
エストインターフェースは、データの転送開始を、GS
DataRq(N)信号をアサートすることでGBus
データコントローラに伝える。GBusからFifoあ
るいは、FifoからGBusへのデータの移動は、G
Busデータコントローラが行う。GBusスレーブリ
クエストスレーブビジーは、gSlvBsy信号を生成
する。 3.GBusデータ転送終了 転送終了を示す信号は特にない。gBErr信号をアサ
ートすることもない。ただし、gSEnable(N)
信号がネゲートしてあれば、マスタのアクセスに対して
応答しないので、タイムアウトによるバスエラーが発生
する。
[Gbus Slave Operation] The Gbus controller controls the Gbus slave as a Gbus slave by the following procedure. 1. Transfer request from master Gbus slave request interface, g
At the timing of TsReg signal assertion, gAddrR
Check the eg signal and the gRdNotWrReg signal (channel 0 or 1). GSEnab with access to GBI
If the le (N) signal (slave mode: set by a register) is asserted, it is determined from the gBst4Not16 signal, the ReadFifoEnable4 / 16 signal (channel 0) or the WriteFifoEnable4 / 16 signal (channel 1) whether transfer is possible. If possible, the gAack signal, otherwise the gRtry
Assert the signal. 2. Gbus data transfer If transfer is possible, the Gbus slave request interface confirms negation of the gSIvBsy signal, asserts the gAack signal, and
The GSlvStart signal is transmitted to the Gbus slave request slave busy. In addition, the GBus slave request interface starts data transfer by GS
By asserting the DataRq (N) signal, GBus
Tell the data controller. Data transfer from GBus to Fifo or from Fifo to GBus
This is performed by the Bus data controller. GBus slave request slave busy generates the gSlvBsy signal. 3. GBus data transfer end There is no signal indicating the transfer end. There is no assertion of the gBErr signal. However, gSEEnable (N)
If the signal is negated, there is no response to the master's access, and a bus error occurs due to timeout.

【0322】<BBusコントローラ>図95は、BB
usコントローラ9203のブロック図である。BBu
sコントローラ9203は、BBusマスタコントロー
ラと、BBusデータコントローラ、BBusスレーブ
コントローラ及びBBusインターフェースバッファを
含む。この構成により、GBI4301は、BBusの
マスタあるいはスレーブとして動作することができる。
<BBus Controller> FIG.
FIG. 146 is a block diagram of a us controller 9203. BBu
The s controller 9203 includes a BBus master controller, a BBus data controller, a BBus slave controller, and a BBus interface buffer. With this configuration, the GBI 4301 can operate as a BBus master or slave.

【0323】[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転送が要
求される。
[BBus Master Operation] Request from DMA Controller The DMA controller 9205 sends the bMReq (N) signal to bMAddr at the stage where the transfer of the channel N is possible.
(N) [31: 2] signal, bMBurst8n) signal,
bMBst4Not8 Together with the N signal, the BBus clock signal bClk asserts only one clock. At the stage where the chain table needs to be read in the chain DMA mode, the cMReq (N) signal is set to cMAd
Assert one clock with bClk together with the dr (N) [31: 2] signal. The reading of the chain table does not use the BBus burst transfer. In this way, the DMA transfer of BBus is requested from the DMA controller.

【0324】bMAddr(N)[31:2]信号,b
MBurst(N)信号,bMBst4Not8 N信
号は、Fifoにアクセスを開始する(bReadFi
fo、bWriteFifoがアサートされる)まで変
化させてはいけない。
BMAddr (N) [31: 2] signal, b
MBurst (N) signal, bMBst4Not8 The N signal starts accessing the Fifo (bReadFi
fo, bWriteFifo is asserted).

【0325】また、cMAddr(N)[31:2]信
号は、cMDone(N)信号,cMrtry(N)信
号,cMBErr(N)信号のいずれかがアサートされ
るまで変化させてはいけない。
The cMAddr (N) [31: 2] signal must not be changed until one of the cMDone (N) signal, cMrtry (N) signal, and cMBErr (N) signal is asserted.

【0326】2.BBusアービタへの転送要求 BBusbMReq(N)信号及びcMReq(N)信
号は、BBusマスタリクエストインターフェースでラ
ッチされる(bLatchReq(N)信号及びcLa
tchReq(N)信号)。各要求信号は、BBusマ
スタリクエストアービタで調停され、BBusアービタ
407に対してbBReq L信号がアサートされる。
[0326] 2. The transfer request to the BBus arbiter The BBusbMReq (N) signal and the cMReq (N) signal are latched by the BBus master request interface (the bLatchReq (N) signal and the cLa
tchReq (N) signal). Each request signal is arbitrated by a BBus master request arbiter, and bBReq is sent to the BBus arbiter 407. The L signal is asserted.

【0327】3.BBusアービタからの転送許可 BBusアービタからの許可信号であるbBGnt
信号がアサートされると、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] 3. Transfer permission from BBus arbiter bBGnt which is a permission signal from BBus arbiter L
When the signal is asserted, the BBus master request arbiter sends a BGnt (N) signal or C
Gnt (N) signal is sent and bBGnt The L signal is negated. The BBus master request interface uses the bLatchReq (N) signal or cLatc
The hReq (N) signal is negated, and the bTx signal and bSn
The waitWait signal is monitored, and when a transfer is possible, the BMDataRq (N) signal and the CMDDataRq
(N) Assert the signal. This signal is sent to the BBus master sequencer and the BBus data controller.

【0328】4.BBusデータ転送 BBusマスタシーケンサは、BBusマスタがドライ
ブすべきデータ以外のBBusの信号をすべて生成す
る。BMDataRq(N)信号あるいはCMData
Rq(N)信号をトリガにして、bStartOut
L(バーストモードであれば、同時にbBurstOu
L)をアサートし、bRdy(バーストモードであ
れば、bBurstAck)をチェックし、転送終了を
検出する。BBusからFifo、あるいはFifoか
らBBusへのデータの移動は、BMDataRq
(N)信号により、BBusデータコントローラが行
う。
[0328] 4. BBus Data Transfer The BBus master sequencer generates all BBus signals other than the data to be driven by the BBus master. BMDataRq (N) signal or CMDData
Using the Rq (N) signal as a trigger, bStartOut
L (if in burst mode, bBurstOu
t L) is asserted, bRdy (bBurstAck in burst mode) is checked, and the end of transfer is detected. Movement of data from BBus to Fifo or from Fifo to BBus is performed by BMDataRq
The (N) signal is used by the BBus data controller.

【0329】なお、bRdy信号の前(あるいは同時
に)にbRetry信号を検出すると、BBusデータ
コントローラはデータ転送を行わない。
When the bRetry signal is detected before (or simultaneously with) the bRdy signal, the BBus data controller does not perform data transfer.

【0330】5.BBusデータ転送終了(あるいは、
リトライ、バスエラー) BBusデータコントローラは、BBusマスタシーケ
ンサのBMLastData信号でデータの移動を終了
する。また、BBusマスタシーケンサは、BBusデ
ータ転送の終了をDone信号により、BBusリクエ
ストインターフェースへ伝える。リトライあるいはバス
エラーであった場合には、それぞれ、Retry信号、
Error信号で伝える。BBusマスタリクエストイ
ンターフェースは、DMAコントローラに転送が完了し
たことを、[bc]MDone(N)(以下、bまたは
Cのいずれかであることを[bc]と表す)で、リトラ
イ、バスエラー場合には、[bc]MRtry(N)信
号、[bc]MBErr信号でそれぞれ伝える。
[0330] 5. End of BBus data transfer (or
(Retry, bus error) The BBus data controller ends the data movement with the BMlastData signal of the BBus master sequencer. Further, the BBus master sequencer notifies the end of the BBus data transfer to the BBus request interface by a Done signal. In the case of a retry or a bus error, a Retry signal,
The error signal is transmitted. The BBus master request interface informs the DMA controller that the transfer has been completed by using [bc] MDone (N) (hereinafter, either b or C is represented by [bc]), and retrying or bus error. Are transmitted as a [bc] MRtry (N) signal and a [bc] MBErr signal, respectively.

【0331】DMAコントローラは、信号bReadF
ifo、bWriteFifoにより、転送アドレスや
転送長等を更新し、DMAのBBus転送の終了を示す
bMDone(N)信号か、bMRtry(N)信号
で、次のアクションを起こす。チェーンテーブルの読み
込みの終了を示すcMDone(N)信号は、内部のチ
ェーンテーブルを更新し、cMRtry(N)信号であ
れば、再び転送要求を発行する。
The DMA controller outputs the signal bReadF
The transfer address, transfer length, and the like are updated by ifo and bWriteFifo, and the next action is caused by the bMDone (N) signal or the bMRtry (N) signal indicating the end of the DMA BBus transfer. The cMDone (N) signal indicating the end of reading the chain table updates the internal chain table, and if the signal is a cMRtry (N) signal, issues a transfer request again.

【0332】[bc]MBErr(N)信号の時には、
DMAコントローラは転送を中止し、マスタされていな
ければ割り込みを発生する。
[Bc] In the case of the MBErr (N) signal,
The DMA controller stops the transfer and generates an interrupt if not mastered.

【0333】(バーストモードでのリトライ)信号bS
tart Lと信号bBurst Lの同時アサート
で、スレーブが、信号bRetry Lのアサートなし
に、信号bRdy Lと信号bBurstAck−Lの
同時アサートで応答した場合、スレーブはバースト転送
可能と判断される。そのバースト転送中は信号bRet
ry Lはチェックされない。つまり、最初のbRdy
Lのタイミングの時のみ、信号bRetry Lはチ
ェックされる。なお、バースト転送中でも、信号bEr
ror Lは、各クロックでチェックされる。
(Retry in Burst Mode) Signal bS
start L and signal bBurst At the same time, the slave asserts the signal bRetry. Without asserting L, the signal bRdy When responding with the simultaneous assertion of L and the signal bBurstAck-L, the slave is determined to be capable of burst transfer. During the burst transfer, the signal bRet
ry L is not checked. That is, the first bRdy
Only at the timing of L, the signal bRetry L is checked. Note that even during the burst transfer, the signal bEr
lor L is checked at each clock.

【0334】(信号bError L、bRetry
L、bRdy Lの同時アサートについて)信号bEr
ror Lがアサートされた場合、信号bRetry
Lがアサートされていても、バスエラーとみなされる。
信号bError Lがネゲートされ、信号bRetr
Lがアサートされた場合、信号bRdy Lがアサ
ートされていてもリトライと見なされる。
(Signal bError L, bRetry
L, bRdy L simultaneous coincidence) signal bEr
lor If L is asserted, the signal bRetry
Even if L is asserted, it is regarded as a bus error.
Signal bError L is negated and the signal bRetr
y When L is asserted, the signal bRdy Even if L is asserted, it is regarded as a retry.

【0335】(マスタモード時の信号byteEn
[3:0]について)マスタモード時の信号byteE
L[3:0]は、シングルアクセス、バーストアク
セスの最後の転送以外は、常に、“0000”である。
(Signal byteEn in master mode) L
[3: 0]) Signal byteE in master mode
n L [3: 0] is always “0000” except for the last transfer of single access and burst access.

【0336】[BBusスレーブ動作(レジスタアクセ
ス以外)] 1.マスタからの転送要求 BBusマスタシーケンサは、bStart−L信号ア
サートのタイミングで、bAddr信号とbWr L信
号(チャネル0か1)を確認する。GBIへのアクセス
で、bSEnable(N)信号(スレーブモード:レ
ジスタにより設定)がアサートされていれば、bBur
stShortNotLong信号(bBurst
信号がアサートされた時のみ)とReadFifoEn
able1/4/8信号(チャネル0)かWriteF
ifoEnable1/4/8信号(チャネル1)から
転送可能かを判断する。転送可能であれば、bRdyO
Ut L信号(バーストモードであれば、bBurst
AckOut L信号も)をアサートし、そうでなけれ
ば、bRetryOut L信号をアサートする。
[BBus slave operation (other than register access)] Transfer request from master The BBus master sequencer sends the bAddr signal and bWr at the timing of the bStart-L signal assertion. Check the L signal (channel 0 or 1). In accessing the GBI, if the bSEEnable (N) signal (slave mode: set by a register) is asserted, bBur
stShortNotLong signal (bBurst L
Only when the signal is asserted) and ReadFifoEn
able 1/4/8 signal (channel 0) or WriteF
It is determined whether transfer is possible from the ifoEnable 1/4/8 signal (channel 1). If transfer is possible, bRdyO
Ut L signal (in the burst mode, bBurst
AckOut L signal), otherwise bRetryOut Assert the L signal.

【0337】マスタのバーストモード(bBurst
L信号がアサート)の要求に対して、Fifoの状態か
ら、バースト転送はできないがシングル転送は可能な場
合は、bRdyOut L信号のみアサートし、シング
ル転送を行う。また、マスタのバーストモード要求がラ
ップアラウンドを発生する場合、GBIがラップアラウ
ンドに対応していないため、可能であればシングル転送
を行う(bBurstAckOut L信号をアサート
しない)。
Master burst mode (bBurst
In response to the request of (L signal is asserted), if the burst transfer cannot be performed but the single transfer is possible from the Fifo state, bRdyOut Assert only the L signal and perform single transfer. Further, when the master burst mode request generates a wraparound, single transfer is performed if possible because the GBI does not support wraparound (bBurstAckOut). L signal is not asserted).

【0338】2.BBusデータ転送 転送可能であれば、BBusマスタシーケンサは、必要
なクロック分だけ、bRdyOut L信号をアサート
し続ける。バースト転送の場合には、最初のbRdyO
ut L信号のアサートのタイミングで、bBurst
AckOut L信号を1BBusクロックだけアサート
する。また、データの転送開始をBSDataRq
(N)信号で、データの転送終了をbMLastDat
a信号で、BBusデータコントローラに伝える。BB
usからFifoあるいは、FifoからBBusへの
データの移動は、BBusデータコントローラが行う。
[0338] 2. BBus data transfer If transfer is possible, BBus master sequencer is required
BRdyOut by the number of clocks Assert L signal
Keep doing. In the case of burst transfer, the first bRdyO
ut At the timing of the assertion of the L signal, bBurst
AckOut Assert L signal for 1 BBus clock
I do. In addition, the start of data transfer is indicated by BSDataRq.
The (N) signal indicates that data transfer has been completed by bMLastDat.
The signal a is transmitted to the BBus data controller. BB
us to Fifo or Fifo to BBus
Data movement is performed by the BBus data controller.

【0339】3.BBusデータ転送終了 転送終了を示す信号は特にない。bErrorOut
L信号をアサートすることもない。ただし、bSEna
bIe(N)信号がネゲートしていれば、マスタのアク
セスに対して、応答しないので、タイムアウトによるバ
スエラーが発生する。
[0339] 3. BBus data transfer end There is no particular signal indicating transfer end. bErrorOut
There is no assertion of the L signal. However, bSEna
If the bIe (N) signal is negated, there is no response to the master's access, and a bus error due to timeout occurs.

【0340】[BBusスレーブ動作(レジスタアクセ
ス)]GBI及び機能ブロック内のレジスタのアクセス
はBBusから行う。レジスタのアクセスについては、
GBIのモードや状態によらず、いつでもアクセス可能
である。bRetryOut LbErrorOut
L信号をアサートすることはない。マスタのバーストモ
ードの要求に対して、いつでもシングル転送で応答する
(bBurstAckOut L信号をアサートしな
い)。
[BBus Slave Operation (Register Access)] The GBI and registers in the functional blocks are accessed from the BBus. For register access,
It can be accessed at any time regardless of the GBI mode or state. bRetryOut LbErrorOut
It does not assert the L signal. A single transfer always responds to the master's burst mode request (bBurstAckOut) L signal is not asserted).

【0341】レジスタコントローラ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で
は、reglfDataOut[31:0])に乗せ
て、Ack信号(GBIでは、regGbiAck
L、IFBusでは、regIfAck L)をアサー
トする。
[0341] The register controller 9206 sets the reg
Start L, regAddr [31: 2], byt
eEnIn [3: 0], regWr L signal (BBus
Signal of the BBus clock).
If writing to a register, bDataIn [3
1: 0] signal, and the Ack signal (GBI
Then, regGbiAck-L, IFBus, re
gIfAck Assert L). Read from register
If the data is read, the data is transferred to the internal bus (in the GBI, re
gGbiDataOut [31: 0] on IFBus
Put on ReglfDataOut [31: 0])
The Ack signal (regGbiAck in GBI)
L, IFBus, regIfAck L) Asser
To

【0342】BBusスレーブジェネレートレディで、
Ack信号からbRdyOutLを作る。
In the BBus slave generate ready,
BRdyOutL is created from the Ack signal.

【0343】(GBIのレジスタアクセス以外のBBu
sのサイクル)GBIのスレーブモードでは、シングル
転送のサイクルはいつも3BBusクロックである。バ
ースト転送は、シングル転送と同じタイミングで、最初
のbRdyOut L信号をアサートし、その後ネゲー
トすることなしに必要なクロック分アサートを続ける。
転送(シングルとバースト)ができない場合は、最初の
bRdyOut Lをアサートするタイミングで、bR
etryOut Lだけアサートする。
(BBu other than GBI register access)
(cycle of s) In the GBI slave mode, the cycle of the single transfer is always 3 BBus clocks. The burst transfer performs the first bRdyOut at the same timing as the single transfer. Assert the L signal and then continue asserting for the required clock without negating.
If transfer (single and burst) is not possible, the first bRdyOut At the timing when L is asserted, bR
entryOut Assert L only.

【0344】(BBusスレーブジェネレートレディブ
ロック)BBusスレーブジェネレートレディブロック
は、BBusスレーブシーケンサからのChannel
Rdy L信号と、GBIレジスタユニットからのre
gGbiAck L信号と機能ブロック(IFBus)
からのregIfAck L信号をORして、クロックで
叩く。
(BBus slave generate ready)
Lock) BBus slave generate ready block
Is the Channel from the BBus slave sequencer
Rdy L signal and re from the GBI register unit
gGbiAck L signal and function block (IFBus)
RegIfAck from OR the L signal and use the clock
Hit.

【0345】<IFBusインターフェース>IFBu
sは、GBIと機能ブロックを接続する簡単なバスであ
る。クロックは、bClk(50MHz)を使用する。
ここでいう入力信号とは、機能ブロックからGBIへの
方向の信号である。双方向信号はない。以下にIFBu
sの信号について説明する。“_L”で終わる信号名
は、ローアクティブであることを示す。これは、すでに
説明した部分においても同様である。なお、実際のイン
プリメンテーションでは、信号名の“if”は機能ブロ
ックの名前に置き換える。
<IFBus Interface> IFBu
s is a simple bus connecting GBI and functional blocks. The clock uses bClk (50 MHz).
The input signal here is a signal in the direction from the functional block to the GBI. There are no bidirectional signals. IFBu below
The signal of s will be described. A signal name ending with "_L" indicates that it is low active. This is the same for the part already described. In an actual implementation, “if” of the signal name is replaced with the name of the functional block.

【0346】・ifRst0 L(チャネル0),if
Rst1−L(チャネル1)(出力) IFBusのリセット信号である。この信号により、I
FBusの状態を初期状態に戻す。GBIの内部レジス
タにより、アサートされる。GBIと機能ブロックとの
転送に先立って、必ずアサートする。
・ IfRst0 L (channel 0), if
Rst1-L (channel 1) (output) This is an IFBus reset signal. With this signal, I
Return the state of the FBus to the initial state. Asserted by the GBI internal register. It must be asserted before the transfer between the GBI and the functional block.

【0347】・ifDataOutB[63:0]
(入力:チャネル0のみ) 機能ブロックからGBIへのデータ信号である。この信
号は、Fifoユニット0に接続されている(図93参
照)。
• ifDataOutB [63: 0]
(Input: channel 0 only) This is a data signal from the functional block to the GBI. This signal is connected to the Fifo unit 0 (see FIG. 93).

【0348】・ifWriteB(入力:チャネル0の
み) 機能ブロックからGBIへのライト信号である。GBI
は、ifWrite信号がアサートされているifCl
kの立ち上がりで、ifDataOut[63:0]を
書き込む。ifWriteB信号をアサートし続けるこ
とで、1クロック単位でデータがライトできる。この信
号は、Fifoユニット0に接続されている(図93参
照)。
IfWriteB (input: channel 0 only) This is a write signal from the functional block to the GBI. GBI
Is the ifCl signal for which the ifWrite signal is asserted.
At the rise of k, ifDataOut [63: 0] is written. By continuing to assert the ifWriteB signal, data can be written in units of one clock. This signal is connected to the Fifo unit 0 (see FIG. 93).

【0349】・ifWriteEnableG(出力:
チャネル0のみ) 機能ブロックからGBIへのライト許可信号である。i
fClkの立ち上がりで、ifWriteEnable
G信号がアサートされていれば、次のクロックの立ち上
がりで、ライト可能であることを示す。ifWrite
B信号のアサートは、ifWriteEnableG信
号を確認して行う。この信号は、Fifoユニット0か
ら出力される。
• ifWriteEnableG (output:
(Only channel 0) This is a write permission signal from the functional block to the GBI. i
at the rise of fClk, ifWriteEnable
If the G signal is asserted, it indicates that writing is possible at the next rising edge of the clock. ifWrite
The assertion of the B signal is performed after confirming the ifWriteEnableG signal. This signal is output from the Fifo unit 0.

【0350】・ifDataInG[63:0],if
ByteEnG[7:0](出力:チャネル1のみ) GBIから機能ブロックへのデータとバイトイネーブル
信号である。この信号は、Fifoユニット1に接続さ
れている。表8に信号ifByteEnG[7:0]の
各桁とifDatalnG[63:0]の各バイトユニ
ットとの対応を示す。
IfDataInG [63: 0], if
ByteEnG [7: 0] (output: channel 1 only) Data and byte enable signal from GBI to functional block. This signal is connected to the Fifo unit 1. Table 8 shows the correspondence between each digit of the signal ifByteEnG [7: 0] and each byte unit of ifDataG [63: 0].

【0351】[0351]

【表8】 [Table 8]

【0352】・ifRead(入力:チャネル1のみ) GBIから機能ブロックへのリード信号である。GBI
は、ifRead信号がアサートされているifClk
の立ち上がりで、ifDataInG[63:0]とi
fByteEnG[7:0]を出力する。ifRead
信号をアサートし続けることで、1クロック単位でデー
タがリードできる。この信号は、Fifoユニット1に
接続されている。
IfRead (input: channel 1 only) This is a read signal from the GBI to the functional block. GBI
Is the ifClk for which the ifRead signal is asserted
Rises, ifDataInG [63: 0] and i
Output fByteEnG [7: 0]. ifRead
By continuing to assert the signal, data can be read in units of one clock. This signal is connected to the Fifo unit 1.

【0353】・ifReadEnableG(出力:チ
ャネル1のみ) GBIから機能ブロックへのリード許可信号である。i
fClkの立ち上がりで、ifReadEnableG
信号がアサートされていれば、次のクロックの立ち上が
りで、リード可能であることを示す。ifRead信号
のアサートは、ifReadEnableG信号を確認
して行う。この信号は、Fifoユニット1から出力さ
れる。
IfReadEnableG (output: channel 1 only) This is a read permission signal from the GBI to the functional block. i
at the rising edge of fClk, ifReadEnableG
If the signal is asserted, it indicates that reading is possible at the next rising edge of the clock. The assertion of the ifRead signal is performed after confirming the ifReadEnableG signal. This signal is output from the Fifo unit 1.

【0354】・ifRegStart L(チャネル共
通)(出力) BBus(7)bStart Lをクロックで叩いた信
号である。ifRegAddr[31:2]信号、if
RegRdNotWr信号ifByteEn L[3:
0]信号とともに1クロックだけアサートされる。機能
ブロックの内部レジスタへの書き込みの場合には、信号
ifRegDataIn[31:0]も有効となってい
る。機能ブロックでは、ifRegStart Lがア
サートされた時点で、アドレスをチェックし、機能ブロ
ックの内部レジスタへのアクセスであれば、ifReg
Ack L信号で応答する。そうでなければ、次のif
RegStart Lのアサートを待つ。この信号は、
BBusコントローラから出力される。
・ IfRegStart L (common to channel) (output) BBus (7) bStart This is a signal obtained by tapping L with a clock. ifRegAddr [31: 2] signal, if
RegRdNotWr signal ifByteEn L [3:
0] signal is asserted for one clock. When writing to the internal register of the functional block, the signal ifRegDataIn [31: 0] is also valid. In the function block, ifRegStart When L is asserted, the address is checked. If access to the internal register of the functional block is performed, ifReg
Ack Responds with L signal. Otherwise, the next if
RegStart Wait for L assertion. This signal is
Output from the BBus controller.

【0355】・ifRegAddr[31:2](チャ
ネル共通)(出力) BBusのbAddr[31:2]をクロックで叩いた
アドレス信号である。信号ifRegStart Lア
サートと同時に有効となり、機能ブロックの内部レジス
タへのアクセスであれば、ifRegAck L信号で
応答する間で有効である。この信号は、BBusコント
ローラから出力される。
IfRegAddr [31: 2] (common to channel) (output) This is an address signal obtained by hitting bAddr [31: 2] of the BBus with a clock. Signal ifRegStart It becomes effective at the same time as L assertion, and if it is an access to the internal register of the functional block, ifRegAck It is effective while responding with the L signal. This signal is output from the BBus controller.

【0356】・ifRegByteEn[3:0](チ
ャネル共通)(出力) BBusのbyteEn L[3:0]をクロックで叩
いたバイトイネーブル信号である。信号ifRegSt
art Lアサートと同時に有効となり、機能ブロック
の内部レジスタへのアクセスであれば、ifRegAc
L信号で応答する間で有効である。機能ブロックの
内部レジスタへの書き込みの場合には、この信号で示さ
れた有効なバイトのみ書き込みを行う。機能ブロックの
内部レジスタからの読み出しの場合には、この信号は無
視され、全バイト出力される。この信号は、BBusコ
ントローラから出力される。表9に、信号ifRegB
yteEn[3:0]の各桁と信号ifRegData
InG[31:0]の各バイトユニットとの対応を示
す。
• ifRegByteEn [3: 0] (common to channels) (output) byteEn of BBus This is a byte enable signal obtained by tapping L [3: 0] with a clock. Signal ifRegSt
art It becomes effective at the same time as L assertion, and if it is an access to the internal register of the functional block, ifRegAc
k It is effective while responding with the L signal. When writing to an internal register of a functional block, only valid bytes indicated by this signal are written. In the case of reading from the internal register of the functional block, this signal is ignored and all bytes are output. This signal is output from the BBus controller. Table 9 shows the signal ifRegB
Each digit of yteEn [3: 0] and signal ifRegData
The correspondence with each byte unit of InG [31: 0] is shown.

【0357】[0357]

【表9】 [Table 9]

【0358】・ifRegRdNotWr(チャネル共
通)(出力) BBusのbWr Lをクロックで叩いた信号で、機能
ブロックの内部レジスタへのアクセスの方向を示す。ハ
イで、機能ブロックの内部レジスタの内容が信号ifR
eqDataOut[31:0]に出力され、ローで、
ifReqDataIn[31:0]のデータが、機能
ブロックの内部レジスタに書き込まれる。信号ifRe
gStart Lアサートと同時に有効となり、機能ブ
ロックの内部レジスタへのアクセスであれば、ifRe
gAck L信号で応答する間で有効である。この信号
は、BBusコントローラから出力される。
IfRegRdNotWr (common to channel) (output) bWr of BBus A signal obtained by tapping L with a clock, and indicates the direction of access to the internal register of the functional block. When high, the contents of the internal register of the functional block
output to eqDataOut [31: 0], low,
The data of ifReqDataIn [31: 0] is written to the internal register of the functional block. Signal ifRe
gStart It becomes effective at the same time as L assertion.
gAck It is effective while responding with the L signal. This signal is output from the BBus controller.

【0359】・ifRegAck L(チャネル共通)
(入力) 機能ブロックが内部レジスタへのアクセスを完了したこ
とを示す信号である。信号ifRegStart Lが
アサートされた時点で、アドレスをチェックし、機能ブ
ロックの内部レジスタへのアクセスであれば、レジスタ
のリードあるいはライトを行い、必ず、1クロックだけ
アサートする。機能ブロックの内部レジスタへのアクセ
スでない場合には、決してアサートしてはいけない。こ
の信号は、BBusコントローラに接続される。
• ifRegAck L (common to channels)
(Input) This signal indicates that the function block has completed access to the internal register. Signal ifRegStart When L is asserted, the address is checked. If the internal register of the functional block is accessed, the register is read or written, and the signal is always asserted for one clock. If it is not an access to the internal register of the functional block, it must never be asserted. This signal is connected to the BBus controller.

【0360】・ifRegDataOut[31:0]
(チャネル共通)(入力) 機能ブロックの内部レジスタの内容が読み出されるデー
タバス信号である。信号ifRegAck L信号がア
サートされているときに有効でなければいけない。この
信号は、BBusコントローラに接続される。
• ifRegDataOut [31: 0]
(Common to channel) (Input) This is a data bus signal from which the contents of the internal register of the functional block are read. Signal ifRegAck Must be valid when the L signal is asserted. This signal is connected to the BBus controller.

【0361】・ifRegDataIn[31:0]
(チャネル共通)(出力) 機能ブロックの内部レジスタに書き込まれるデータを示
すバス信号である。信号ifRegStart Lアサ
ートと同時に有効となり、機能ブロックの内部レジスタ
へのアクセスであれば、ifRegAck L信号で応
答する間で有効である。この信号は、BBusコントロ
ーラから出力される。
• ifRegDataIn [31: 0]
(Common to channel) (Output) This is a bus signal indicating data to be written to the internal register of the functional block. Signal ifRegStart It becomes effective at the same time as L assertion, and if it is an access to the internal register of the functional block, ifRegAck It is effective while responding with the L signal. This signal is output from the BBus controller.

【0362】・IfDmaPmState[1:0]
(チャネル共通)(出力) GBIの動作状態を示す信号。この出力は常に有効であ
る。機能ブロックは、この信号と機能ブロック自身の動
作状態を基に、パワーマネージメントユニットへのパワ
ーマネージメントステータス信号を生成する。この信号
は、レジスタユニットから出力される。どのような値が
出力されるかは、後述のパワーマネジメントの項で説明
する。
IfDmaPmState [1: 0]
(Common to channel) (output) A signal indicating the operating state of the GBI. This output is always valid. The function block generates a power management status signal to the power management unit based on this signal and the operation state of the function block itself. This signal is output from the register unit. The output value will be described later in the section on power management.

【0363】<DMAコントローラ>GBIには、チャ
ネル0と1に、それぞれ図96のようなDMAコントロ
ーラ9205が存在する。
<DMA Controller> In the GBI, channels 0 and 1 have DMA controllers 9205 as shown in FIG. 96, respectively.

【0364】DMAコントローラは、DMAメインコン
トローラ、フェッチチェインテーブル、カルキュレート
ピッチアドレス、ジェネレートアドレス、DMAリクエ
ストの各部ロックから成る。
The DMA controller comprises a DMA main controller, a fetch chain table, a calculated pitch address, a generate address, and a lock for each part of the DMA request.

【0365】レジスタユニット9206からは、表10
の信号によりDMAのモードが伝えられる。
[0365] From register unit 9206, Table 10
The mode of DMA is transmitted by this signal.

【0366】[0366]

【表10】 [Table 10]

【0367】次に、DMAコントローラの各部ロックに
ついて説明する。
Next, each part lock of the DMA controller will be described.

【0368】[DMAメインコントローラ]DMAメイ
ンコントローラは、他の4つのブロックの起動と停止の
制御をする。チェーンテーブル方式のDMAでは、フェ
ッチチェインテーブル、ジェネレートアドレス、DMA
リクエストの順に、ブロックを1クロックずつずらして
起動する。ピッチ付きのDMAでは、カルキュレートピ
ッチアドレス、ジェネレートアドレス、DMAリクエス
トの順に、ブロックを1クロックずつずらして起動す
る。その他の場合には、ジェネレートアドレスとDMA
リクエストを1クロックずらして起動する。
[DMA Main Controller] The DMA main controller controls the start and stop of the other four blocks. In the chain table type DMA, the fetch chain table, the generate address, the DMA
The blocks are started by shifting the clock by one clock in the order of the requests. In a pitch-added DMA, blocks are started up by shifting one clock at a time in the order of a calculated pitch address, a generate address and a DMA request. Otherwise, generate address and DMA
Activate the request with one clock delay.

【0369】また、DMAメインコントローラはDMA
の終了を判定する。フェッチチェインテーブルがアイド
ル状態(チェーンテーブルをすべて読み終わったか、あ
るいは起動されていない)かつ、カルキュレートピッチ
アドレスがアイドル状態(全ライン終わったか、あるい
は起動されていない)でのジェネレートアドレスのNe
xtAddreReq信号のアサート(レングスカウン
タがゼロになる)、あるいはバスエラー、stopDM
A信号のアサート(レジスタによるDMA強制終了)を
検出すると、DMAメインコントローラが各ブロック
に、stopDMAReq信号をアサートする。すべて
のブロックがアイドル状態になった時点で、DMAの終
了と判定する(endDMAをアサートする)。
The DMA main controller is a DMA main controller.
Is determined. When the fetch chain table is in an idle state (the chain table has been completely read or not activated) and the calculated pitch address is in an idle state (all lines have been completed or not activated), the Ne of the generated address is Ne.
assertion of xtAddReReq signal (length counter becomes zero) or bus error, stopDM
Upon detecting the assertion of the A signal (DMA forced termination by the register), the DMA main controller asserts the stopDMAReq signal to each block. When all the blocks are in the idle state, it is determined that the DMA is completed (endDMA is asserted).

【0370】[フェッチチェインテーブル]フェッチチ
ェインテーブルは、メモリ上のテーブルをフェッチする
ブロックで、チェーンテーブルを使わない場合は起動さ
れない。チェーンテーブルを指すメモリアドレスのため
のチェインテーブルポインタアドレスカウンタ、チェー
ンテーブルの残りのエントリ数を示すチェインテーブル
エントリカウンタ、チェーンテーブルからフェッチした
アドレスとレングスを記憶するネクストアドレスレジス
タ、ネクストレンクスレジスタ、およびこれらを制御す
るフェッチチェインテーブルコントローラから成る。
[Fetch Chain Table] The fetch chain table is a block for fetching a table on the memory, and is not activated when the chain table is not used. A chain table pointer address counter for a memory address pointing to the chain table, a chain table entry counter indicating the number of remaining entries in the chain table, a next address register storing addresses and lengths fetched from the chain table, a next length register, and It comprises a fetch chain table controller for controlling these.

【0371】DMAメインコントローラから起動される
と、レジスタの内容がチェインテーブルポインタアドレ
スとチェインテーブルエントリカウンタにロードされ
る。chainReq信号により、BBusコントロー
ラにアドレスchainAddress[31:2]の
フェッチを要求する。BBusコントローラからのch
ainDone信号(正常終了)で、読み出した内容を
ネクストアドレスレジスタにラッチし、チェインテーブ
ルポインタアドレスカウンタをインクリメントする。B
Busコントローラから、ChainRtry信号(リ
トライ)が返ってくれば、再び、同じ要求をBBusコ
ントローラに対して発行する。
When activated by the DMA main controller, the contents of the register are loaded into the chain table pointer address and the chain table entry counter. A request for fetching the address chainAddress [31: 2] is made to the BBus controller by the chainReq signal. Ch from BBus controller
With the ainDone signal (normal end), the read contents are latched in the next address register, and the chain table pointer address counter is incremented. B
When a ChainRtry signal (retry) is returned from the Bus controller, the same request is issued again to the BBus controller.

【0372】ネクストアドレスレジスタのラッチ後に、
BBusコントローラにアドレスchain Addr
ess[31:2]のフェッチを要求する。Chain
Done信号で、読み出した内容をネクストレンクスレ
ジスタにラッチし、チェインテーブルポインタアドレス
カウンタをインクリメントし、チェインテーブルエント
リカウンタをデクリメントする。同時に、nextAd
drValid信号をアサートし、チェーンテーブルか
らアドレスとレングスを読み出したことを、ジェネレー
トアドレスブロックに伝える。
After latching the next address register,
Address Chain Addr to BBus controller
Request fetch of esss [31: 2]. Chain
In response to the Done signal, the read content is latched in the next register, the chain table pointer address counter is incremented, and the chain table entry counter is decremented. At the same time, nextAd
Assert the drValid signal and notify the generated address block that the address and length have been read from the chain table.

【0373】もし、ネクストレンクスレジスタのラッチ
時のデータがゼロである場合には、ネクストアドレスレ
ジスタの内容がチェインテーブルポインタアドレスカウ
ンタにロードされる。
If the data at the time of latching the next register is zero, the contents of the next address register are loaded into the chain table pointer address counter.

【0374】nextAddrValid信号のアサー
ト中に、ジェネレートアドレスブロックからNextA
ddrReq信号がアサートされるとジェネレートアド
レスブロックが、チェーンテーブルからのアドレス、レ
ングスを受け取ったと判断し、nextAddrVal
id信号をネゲートする。
During the assertion of the nextAddrValid signal, the NextA
When the ddrReq signal is asserted, the generate address block determines that the address and length from the chain table have been received, and nextAddrVal
Negate the id signal.

【0375】次に、チェインテーブルエントリカウンタ
をチェックし、ゼロでなければ、再度チェーンテーブル
のフェッチを続け、ゼロであればアイドル状態へ戻る。
Next, the chain table entry counter is checked. If it is not zero, the fetch of the chain table is continued again. If it is zero, the process returns to the idle state.

【0376】chainBErr信号(バスエラー)を
受け取ると、直ちにアイドル状態へ戻る。DMAメイン
コントローラからstopDMAReqを受け取った場
合、BBusコントローラに要求を出していれば、その
終了を待って、そうでなければ直ちにアイドル状態へ戻
る。
When the chain BErr signal (bus error) is received, it immediately returns to the idle state. When the stopDMAReq is received from the DMA main controller, if a request has been issued to the BBus controller, the end is waited for, and if not, the operation immediately returns to the idle state.

【0377】チェーンテーブルを使わないモードの時に
は、起動されないので、アイドル状態を保ち、next
AddrValid信号はネゲートされたままである。
In the mode in which the chain table is not used, since it is not started, the idle state is maintained and next is maintained.
The AddrValid signal remains negated.

【0378】[ジェネレートアドレス]ジェネレートア
ドレスブロックは、メモリに対する転送アドレスを格納
するトランスファメモリアドレスカウンタと、転送すべ
き転送長を格納するトランスファレンクスカウンタと、
転送したバイト数を記憶するトランスファカウンタと、
これら3つのカウンタを制御するジェネレートアドレス
コントローラと、転送アドレスと転送長からGBus/
BBusに対して要求するモードを判定するCheck
GBusReq及びCheckBBusReqブロック
(CheckG/BBusReqと総称する)を有す
る。
[Generate Address] The generate address block includes a transfer memory address counter for storing a transfer address for the memory, a transfer length counter for storing a transfer length to be transferred,
A transfer counter for storing the number of transferred bytes,
A generate address controller that controls these three counters, and a GBus /
Check for determining the mode requested for BBus
It has a GBusReq and a CheckBBusReq block (collectively referred to as CheckG / BBusReq).

【0379】(チェーンテーブルを使う場合)DMAメ
インコントローラから起動されると、トランスファカウ
ンタをクリアし、フェッチチェインテーブルからのne
xtValidAddrCT信号待ちに入る。next
ValidAddrCT信号がアサートされると、チェ
ーンテーブルのアドレスとレングスが、それぞれトラン
スファメモリアドレスカウンタとトランスファレンクス
カウンタにロードされる。
(When a chain table is used) When activated by the DMA main controller, the transfer counter is cleared and ne
It waits for the xtValidAddrCT signal. next
When the ValidAddrCT signal is asserted, the address and length of the chain table are loaded into the transfer memory address counter and the transfer length counter, respectively.

【0380】両カウンタの内容で、CheckG/BB
usReqは転送できるモードを判定する。
CheckG / BB is determined by the contents of both counters.
usReq determines a transferable mode.

【0381】CheckG/BBusReqからDMA
リクエストブロックにG/BBusの転送モードを伝え
(転送不可の時にはg/b Valid信号がネゲート
されている)、DMAリクエストブロックは、GBus
優先で各バスコントローラに転送要求を発行する。
CheckG / BBusReq to DMA
The transfer mode of G / BBus is transmitted to the request block (when transfer is not possible, the g / b Valid signal is negated).
A transfer request is issued to each bus controller with priority.

【0382】GBusでの転送では、gMDone信号
(GBus転送終了信号)とその時の転送モードによ
り、一度にトランスファメモリアドレスカウンタ、トラ
ンスファカウンタのインクリメントとトランスファレン
クスカウンタのデクリメントを行う。BBusでの転送
では、FIFOのアクセス信号により、トランスファメ
モリアドレスカウンタのインクリメントとトランスファ
レンクスカウンタのデクリメントを行う。
In the transfer on the G bus, the transfer memory address counter and the transfer counter are incremented and the transfer counter is decremented at once according to the gMDone signal (the G bus transfer end signal) and the transfer mode at that time. In the transfer on the B bus, the transfer memory address counter is incremented and the transfer counter is decremented by an access signal of the FIFO.

【0383】トランスファレンクスカウンタがゼロにな
った時、フェッチチェインテーブルからのnextVa
lidAddrCT信号がネゲートされていれば、アサ
ートを待って、次のチェーンテーブルの内容をトランス
ファメモリアドレスカウンタとトランスファレンクスカ
ウンタにロードし、そうでなければ、直ちにロードす
る。そして、次の転送に入る。
When the transfer counter reaches zero, the next Va from the fetch chain table
If the lidAddrCT signal is negated, it waits for an assert, and loads the contents of the next chain table into the transfer memory address counter and the transfer counter, otherwise loads immediately. Then, the next transfer is started.

【0384】チェーンテーブルの最後の部分の転送が終
わってトランスファレンクスカウンタがゼロになった時
には、フェッチチェインテーブルはアイドル状態で、n
extValidAddrCT信号はネゲートされてい
る。DMAメインコントローラはDMAの終了を検出す
るので、ジェネレートアドレスに対してstopDMA
Req信号をアサートする。これによりジェネレートア
ドレスはアイドル状態となる。
When the transfer counter has reached zero after the transfer of the last part of the chain table has been completed, the fetch chain table is in an idle state and n
The extValidAddrCT signal is negated. Since the DMA main controller detects the end of the DMA, the stop main DMA
Assert the Req signal. As a result, the generate address enters an idle state.

【0385】(ピッチ付きのDMAを使う場合)DMA
メインコントローラから起動されると、トランスファカ
ウンタをクリアし、カルキュレートピッチアドレスから
のnextValidAddrPA信号待ちに入る。n
extValidAddrPA信号がアサートされる
と、スタートアドレスとピッチから計算されたアドレス
とレングスが、それぞれトランスファメモリアドレスカ
ウンタとトランスファレンクスカウンタにロードされ
る。
(When Using DMA with Pitch) DMA
When activated by the main controller, the transfer counter is cleared and the process waits for the next ValidAddrPA signal from the calculated pitch address. n
When the extValidAddrPA signal is asserted, the address and the length calculated from the start address and the pitch are loaded into the transfer memory address counter and the transfer length counter, respectively.

【0386】チェーンテーブルを使う時と同様に、トラ
ンスファメモリアドレスカウンタ、トランスファカウン
タのインクリメントとトランスファレンクスカウンタの
デクリメントが行われる。
As in the case of using the chain table, the transfer memory address counter and the transfer counter are incremented, and the transfer counter is decremented.

【0387】トランスファレンクスカウンタがゼロにな
った時、カルキュレートピッチアドレスからのnext
ValidAddrPA信号がネゲートされていれば、
アサートを待って、次のチェーンテーブルの内容をトラ
ンスファメモリアドレスカウンタとトランスファレンク
スカウンタにロードし、そうでなければ直ちにロードす
る。そして次の転送に入る。
When the transfer counter reaches zero, the next from the calculated pitch address
If the ValidAddrPA signal is negated,
Upon assertion, the contents of the next chain table are loaded into the transfer memory address counter and the transfer counter, otherwise immediately. Then, the next transfer is started.

【0388】最後のラインの転送が終わってトランスフ
ァレンクスカウンタがゼロになった時には、カルキュレ
ートピッチアドレスはアイドル状態で、nextVal
idAddrPA信号はネゲートされている。DMAメ
インコントローラはDMAの終了を検出するので、ジェ
ネレートアドレスに対してStopDMAReq信号を
アサートする。これによりジェネレートアドレスはアイ
ドル状態となる。
When the transfer counter becomes zero after the transfer of the last line is completed, the calculated pitch address is in the idle state and nextVal
The idAddrPA signal is negated. Since the DMA main controller detects the end of the DMA, it asserts the StopDMAReq signal for the generate address. As a result, the generate address enters an idle state.

【0389】(対I/ODMAの場合)DMAメインコ
ントローラから起動されると、トランスファカウンタが
クリアされ、データ長を格納したGBIDMA転送長レ
ジスタの内容がトランスファレンクスカウンタにロード
される。CheckGBusReq/CheckBBu
sReq各ブロックは、対I/OのDMAアドレスを格
納したGBIDMAGBusI/Oアドレスレジスタ/
GBIDMABBusI/Oアドレスレジスタの内容を
それぞれ用いる。
(In the case of I / ODMA) When activated by the DMA main controller, the transfer counter is cleared and the contents of the GBIDMA transfer length register storing the data length are loaded into the transfer counter. CheckGBusReq / CheckBBu
Each block of the sReq is a GBIDGMGBus I / O address register storing a DMA address of the I / O.
The contents of the GBIDDMAB Bus I / O address register are used.

【0390】上と同様に、トランスファカウンタのイン
クリメントとトランスファレンクスカウンタのデタリメ
ントが行われる。
Similarly to the above, the transfer counter is incremented and the transfer counter is decremented.

【0391】トランスファレンクスカウンタがゼロにな
った時、フェッチチェインテーブルとカルキュレートピ
ッチアドレスは起動されていないので、アイドル状態
で、nextValidAddr信号はネゲートされて
いる。DMAメインコントローラはDMAの終了を検出
するので、ジェネレートアドレスに対してstopDM
AReq信号をアサートする。これによりジェネレート
アドレスはアイドル状態となる。
When the transfer counter becomes zero, the fetch chain table and the calculated pitch address are not activated, so that the next ValidAddr signal is negated in the idle state. Since the DMA main controller detects the end of the DMA, the stop main DMA
Assert the AReq signal. As a result, the generate address enters an idle state.

【0392】(リバースモード)対I/ODMA以外は
リバースモードをサポートする。チェーンテーブルDM
Aの1ブロック、ピッチ付きのDMAの1ラインを、ア
ドレスの大きい方から小さい方へアクセスする。ブロッ
クあるいはライン単位の逆方向の指示は、チェーンテー
ブルDMAではチェーンテーブルを逆になるように作
る。ピッチ付きのDMAの場合は、ピッチの値を負の値
(2の補数)を設定する。
(Reverse mode) A reverse mode is supported except for paired I / ODMA. Chain table DM
One block of A and one line of DMA with pitch are accessed from the larger address to the smaller address. An instruction in the reverse direction for each block or line is made in the chain table DMA so that the chain table is reversed. In the case of a DMA with a pitch, the pitch value is set to a negative value (two's complement).

【0393】リバースモードでは、トランスファメモリ
アドレスカウンタに値をロードする際に、転送レングス
を用いて、最後尾のアドレスを計算してロードする。ト
ランスファメモリアドレスカウンタのインクリメントの
代わりにデクリメントする。
In the reverse mode, when loading a value into the transfer memory address counter, the last address is calculated and loaded using the transfer length. Decrement instead of incrementing the transfer memory address counter.

【0394】CheckBBusReqブロックではシ
ングル転送のみを要求する。CheckGBusReq
ブロックでは4ビートバースト転送のみを要求する。F
ifoユニットで、32ビット単位で逆順にして、機能
ブロックに送られる(現状では、チャネル1のみ対応す
る)。
The CheckBBusReq block requests only a single transfer. CheckGBusReq
The block requests only 4-beat burst transfer. F
In the ifo unit, the data is sent to the functional block in reverse order in units of 32 bits (currently, only channel 1 is supported).

【0395】(GBus要求のチェック)CheckG
BusReqブロックではGBus要求のチェックが行
われる。信号useGBusがアクティブでなければ常
に信号gValidはネゲートされている。
(Check of GBus Request) CheckG
In the BusReq block, a GBus request is checked. The signal gValid is always negated unless the signal useGBus is active.

【0396】トランスファメモリアドレスのビット6以
下がすべてゼロで、かつトランスファレンクスが128
以上の時、信号gValidがアサート、g4Not1
6Req=’0’となり、トランスファメモリアドレス
のビット4以下がすべてゼロで、かつトランスファレン
クスが32以上の時、信号gValidがアサート、g
4Not16Req=’1’となる。それ以外では、信
号gValidはネゲートされる。
[0396] Bits 6 and lower of the transfer memory address are all zero, and the transfer length is 128.
At this time, the signal gValid is asserted and g4Not1
6Req = '0', when bits 4 and below of the transfer memory address are all zero and the transfer length is 32 or more, the signal gValid is asserted, and g
4Not16Req = '1'. Otherwise, the signal gValid is negated.

【0397】(BBus要求のチェック)CheckB
BusReqブロックではBBus要求のチェックが行
われる。信号useBBusがアクティブでなければ常
に信号bValidはネゲートされている。
(Check of BBus Request) CheckB
In the BusReq block, a BBus request is checked. The signal bValid is always negated unless the signal useBBus is active.

【0398】トランスファメモリアドレスのビット4以
下がすべてゼロで、かつトランスファレンクスが29以
上の時、信号bValidがアサート、bBurstR
eq=’1’、b4Not8Req=’0’となり、ト
ランスファメモリアドレスのビット3以下がすべてゼロ
で、かつトランスファレンクスが13以上の時、bVa
lidがアサート、信号bBurstReq=’1’、
b4Not8Req=’1’となる。それ以外では、b
Validがアサート、bBurstReq=’0’と
なる。
When bits 4 and below of the transfer memory address are all zero and the transfer length is 29 or more, the signal bValid is asserted, and bBurstR
When eq = “1” and b4Not8Req = “0”, and when bits 3 and below of the transfer memory address are all zero and the transfer index is 13 or more, bVa
lid is asserted, signal bBurstReq = '1',
b4Not8Req = '1'. Otherwise, b
Valid is asserted, and bBurstReq = '0'.

【0399】(DMAリクエスト)DMAメインコント
ローラから起動されると、ジェネレートアドレスブロッ
クからのGBus/BBusに対する要求をチェックす
る。G/BBusの両方の要求がある場合には、常にG
Busが優先となる。この要求に従い、GBusコント
ローラかBBusコントローラに転送要求を発行し、応
答を待つ。応答は、g/bMDone、g/bMRtr
yあるいは、g/bMBErrのいずれかの信号であ
る。
(DMA Request) When activated by the DMA main controller, a request for GBus / BBus from the generate address block is checked. When there are both G / BBus requests, G
Bus has priority. According to this request, a transfer request is issued to the Gbus controller or the BBus controller, and a response is waited. The response is g / bMDone, g / bMRtr
The signal is either y or g / b MBErr.

【0400】g/bMDoneの場合は転送の正常終了
であり、次のジェネレートアドレスからのGBus/B
Busに対する要求をチェックする。
In the case of g / bMDone, the transfer is normally completed, and the GBus / B from the next generate address
Check the request for Bus.

【0401】g/bMRtryの場合は同じバスコント
ローラに再度転送要求を発行する。
In the case of g / bMRtry, a transfer request is issued again to the same bus controller.

【0402】g/bMBErrの場合には直ちにアイド
ル状態に戻る。
In the case of g / bMBErr, it immediately returns to the idle state.

【0403】最後の転送が終了した時には、DMAリク
エストブロックは、ジェネレートアドレスからのGBu
s/BBusに対して要求待ち状態となる。DMAメイ
ンコントローラがDMA終了を検出して、DMAリクエ
ストに対してstopDMAReqが発行されるので、
それにより、DMARequestはアイドル状態に戻
る。
When the last transfer is completed, the DMA request block contains the GBu from the generate address.
s / BBus is in a request waiting state. Since the DMA main controller detects the end of DMA and issues stopDMAReq in response to the DMA request,
As a result, the DMA Request returns to the idle state.

【0404】また、チェーンテーブルフェッチ時のバス
エラーやレジスタによるDMA強制終了の場合も、DM
Aメインコントローラから、stopDMAReqが発
行されるが、バスコントローラに転送要求をしている時
は、転送終了を待って、要求していない時は直ちにアイ
ドル状態に戻る。
Also, in the case of a bus error at the time of fetching the chain table or the forced termination of DMA by a register, the DM
A StopDMAReq is issued from the A main controller. When a transfer request is issued to the bus controller, the transfer is waited for to be completed. When the transfer request is not issued, the bus controller immediately returns to the idle state.

【0405】<レジスタユニット>内部レジスタユニッ
ト内には、各チャネルに対応するレジスタユニットが存
在する。各ユニットは、デコードするアドレスが異なる
以外は同じである。レジスタユニットは図97に示すよ
うに、レジスタユニット0とレジスタユニット1とを有
する。
<Register Unit> In the internal register unit, there is a register unit corresponding to each channel. Each unit is the same except that the decoding address is different. The register unit has a register unit 0 and a register unit 1 as shown in FIG.

【0406】各レジスタユニットは、レジスタI/F、
アクションコントローラ、割り込みコントローラとパワ
ーステータスの各ブロックから構成される、GBIの各
ブロックに設定地値を供給するほか、割り込みコントロ
ーラによって割り込みを制御し、パワーステータスによ
り省電力可能なブロックを制御している。
Each register unit has a register I / F,
The GBI, which consists of an action controller, an interrupt controller, and a power status block, supplies a set ground value to each block of the GBI. The interrupt controller controls interrupts, and the power status controls power-saving blocks. .

【0407】[パワーステータス]GBIにおいて省電
力モード可能なユニットは、DMAコントローラとFI
FOユニットである。省電力モードはfifoInSl
eep信号、dmaInSleep信号により、各ブロ
ックのクロックをマスクすることで実現する。リセット
時は、ともに省電力モードに入る。DMAコントローラ
は、マスタモードで起動をかけると自動的に起動し、G
BIFIFOスリープレジスタのライトでスリープに入
る。
[Power Status] The units capable of the power saving mode in the GBI are the DMA controller and the FI
FO unit. The power saving mode is fifoInSl
This is realized by masking the clock of each block with the eep signal and the dmaInSleep signal. At the time of reset, both enter the power saving mode. The DMA controller starts automatically when it is started in the master mode.
Go to sleep by writing to the BIFIFO sleep register.

【0408】パワーステータスブロックから出力される
パワーマネージメントステータス信号(pmState
[1:0])は、各チャネルで、 pmState[1:0] 00 level0(DMA、FIFOとも に停止) 01 level1(FIFOのみ動作) 10 level2(DMA、FIFOともに動作) 11 NotDefine となる。
The power management status signal (pmState) output from the power status block
[1: 0]) is pmState [1: 0] 00 level 0 (stops both DMA and FIFO) 01 level 1 (operates only FIFO) 10 level 2 (operates both DMA and FIFO) 11 NotDefine in each channel.

【0409】DoEngineにおいては、スキャナコ
ントローラ(Scc)やプリンタコントローラ(Pr
c)が接続されるGBIは、1のチャネルしかないので
上のようになるが、2チャネル含む場合は各チャネルの
値を合計し、次のように4段階に縮退させる。
In DoEngine, a scanner controller (Scc) and a printer controller (Pr)
Since GBI to which c) is connected has only one channel, the GBI is as described above. When the GBI includes two channels, the values of each channel are summed and degenerated into four stages as follows.

【0410】 pmState[1:0] 00 level0 (両チャネルのFIFO、DMAがともに停止) 01 level1 (1チャネルのFIFOのみ動作) 10 level2 (両チャネルのFIFOが動作、DMAは両方停止) 11 level3 (両チャネルのFIFOが動作、DMAは1つは動作) となる。PmState [1: 0] 00 level0 (both channel FIFO and DMA are stopped) 01 level1 (one channel FIFO is operated only) 10 level2 (both channel FIFO is operated and both DMAs are stopped) 11 level3 ( The FIFOs of both channels operate, and one of the DMAs operates).

【0411】パワーマネージメントステータス信号(p
mState[1:0])は、IFBusを介して機能
ブロックへ送られる。機能ブロックでは、この信号と機
能ブロック自身の動作状態を基に、パワーマネージメン
トユニットへのパワーマネージメントステータス信号を
生成する。
[0411] The power management status signal (p
mState [1: 0]) is sent to the functional block via IFBus. The function block generates a power management status signal to the power management unit based on this signal and the operation state of the function block itself.

【0412】<GBIの動作モード>以上、GBIを構
成する各部について説明した。ここで、GBIの動作に
ついてまとめておく。GBIの動作モードには、大きく
分けて以下のものがある。
<Operating Mode of GBI> The components constituting the GBI have been described above. Here, the operation of the GBI will be summarized. The operation modes of the GBI are roughly classified into the following.

【0413】1.スレーブモード 2.マスタモード マスタモードにおけるDMAの方式は、 A.対メモリ B.対I/O(アドレス固定) があり、対メモリDMAでは、 a.連続物理アドレス b.不連続物理アドレス(転送先メモリがメモリ管理の
ページ単位で分割されていることを想定) のメモリに対して転送を行う。また、対メモリDMAで
は、逆方向モードもサポートする(チャネル1のみ)。
[0413] 1. Slave mode 2. Master Mode The DMA mode in the master mode is as follows. B. Memory There is I / O (fixed address), and in memory DMA: a. Contiguous physical address b. Data is transferred to a memory at a discontinuous physical address (assuming that the transfer destination memory is divided into memory management pages). In addition, the memory DMA also supports a backward mode (only channel 1).

【0414】連続物理アドレスに対するDMAは、先頭
アドレス、一行の長さ、次の行までのピッチ、及び行数
を指定する、いわゆる2次元DMAである。1次元の場
合は行数を1とすることで実現する。
[0414] The DMA for the continuous physical address is a so-called two-dimensional DMA that specifies the start address, the length of one line, the pitch to the next line, and the number of lines. The one-dimensional case is realized by setting the number of rows to one.

【0415】不連続物理に対するDMAは、分割された
各メモリブロックの先頭アドレスと長さをメモリ上に配
置し、それを参照しながら、転送先のアドレスを計算
し、DMAを行う。この先頭アドレスと長さの組をチェ
ーンテーブルと呼ぶことにする。チェーンテーブルの一
例を図98に示す。不連続物理アドレスに対するDMA
では、チェーンテーブルを配置したメモリアドレスとア
ドレス・長さの組の数を指定する。もちろん、チェーン
テーブル自体は連続アドレスに配置しなければならない
が、もし、全チェーンテーブルが連続領域に置けない場
合には、先頭のアドレスの代わりに次のチェーンテーブ
ルのアドレスを、長さに0を設定することで、チェーン
テーブルをつなぐことができる。
[0415] In the DMA for discontinuous physics, the start address and length of each divided memory block are arranged in the memory, and the transfer destination address is calculated while referring to the address, and DMA is performed. This set of the start address and the length is called a chain table. FIG. 98 shows an example of the chain table. DMA for discontinuous physical addresses
Then, the number of pairs of the memory address and the address / length in which the chain table is arranged is specified. Of course, the chain table itself must be located at a contiguous address, but if the entire chain table cannot be located in a contiguous area, the address of the next chain table is used instead of the first address, and 0 is set for the length. By setting, you can connect chain tables.

【0416】逆方向モードは、チェーンテーブルDMA
の1ブロック、2次元DMAの1ラインをアドレスの大
きい方から、小さい方へアクセスする。ブロックあるい
はライン単位の逆方向の指示は、チェーンテーブルDM
Aでは、チェーンテーブルを逆になるように作る。ピッ
チ付きのDMAの場合は、ピッチの値を負の値(2の補
数)を設定する。
[0416] In the reverse mode, the chain table DMA is used.
One block of the two-dimensional DMA is accessed from the larger address to the smaller address. Instructions in the reverse direction for each block or line can be made in the chain table DM.
In A, the chain table is made upside down. In the case of a DMA with a pitch, the pitch value is set to a negative value (two's complement).

【0417】<割り込み制御>次に割り込みの制御につ
いて説明する。DBIからの割り込みは、以下の条件で
発生する。
<Interrupt Control> Next, interrupt control will be described. An interrupt from the DBI occurs under the following conditions.

【0418】[マスタモード] 1.DMA正常終了 2.GBusでのDMA転送中のバスエラーの検出 3.BBusでのDMA転送中のバスエラーの検出 4.チェーンDMAモードでのチェーンテーブルリード
中のバスエラーの検出 GBI停止レジスタによる強制終了の場合、DMAコン
トローラが各バスのコントローラに要求中の転送が正常
に終了した時点で、正常終了となる。もし、要求中の転
送がバスエラーとなった場合には、バスエラーによる異
常終了となる。
[Master mode] 1. Normal end of DMA 2. Bus error detection during DMA transfer on GBus 3. Bus error detection during DMA transfer on BBus Detection of Bus Error During Chain Table Read in Chain DMA Mode In the case of forced termination by the GBI stop register, the transfer ends normally when the transfer requested by the DMA controller to the controller of each bus ends normally. If the requested transfer results in a bus error, the transfer ends abnormally due to the bus error.

【0419】チャネル0では、機能ブロックがGBI内
のFIFOに全データを書き込んだ時点で終了する(割
り込みを発生する)が、FIFOにデータが残ってい
る。GBIはFIFOのデータを転送した時に、DMA
終了となるので、これをもって転送終了と判断する。
[0419] In channel 0, the process ends when the functional block writes all data to the FIFO in the GBI (an interrupt is generated), but data remains in the FIFO. When GBI transfers data in the FIFO,
Since the transfer is completed, it is determined that the transfer is completed.

【0420】チャネル1では、GBIはGBI内のFI
FOに全データを書き込んだ時点で終了する(割り込み
を発生する)が、FIFOにデータが残っている。機能
ブロックはFIFOのデータを転送した時に、終了とな
るので、これをもって転送終了と判断する。
In channel 1, the GBI is the FI in the GBI.
Processing ends when all data has been written to the FO (an interrupt is generated), but data remains in the FIFO. Since the function block ends when the data of the FIFO is transferred, it is determined that the transfer is completed.

【0421】[スレーブモード] 5.FIFOイリーガルアクセス GBIに按続された機能ブロックとマスタとのデータの
転送は、GBIのFIFOを介して行われる。
[Slave mode] 5. FIFO illegal access Data transfer between the functional blocks allocated to the GBI and the master is performed via the GBI FIFO.

【0422】GBus/BBusの両方使用する場合
(DoEngineでは、GBus/BBusの両方使
用可能なマスタはGBIのみ)には、両方のバスからの
同時アクセスに対して、どちらのバスが最初にFIFO
をアクセスするかを知る方法がない。マスタはGBus
/BBusに対して、排他的に転送要求を行う必要があ
る(GBIのマスタモードでは排他的に転送要求してい
る)。もし、GBus/BBusの両方が同時にFIF
Oにアクセスした場合には、FIFOイリーガルアクセ
スとなる。
In the case of using both GBus / BBus (in DoEngine, GBI is the only master that can use both GBus / BBus), in order to simultaneously access from both buses, which bus is first FIFO
There is no way to know what to access. Master is GBus
/ BBus must be exclusively requested to transfer (in the GBI master mode, a transfer request is exclusively requested). If both GBus / BBus are FIF
When O is accessed, it becomes FIFO illegal access.

【0423】上記の1から5のいずれかが起こり、かつ
対応する割り込み許可ビットが、”1”にセットされて
いる場合に割り込みが発生する。
If any of the above 1 to 5 occurs and the corresponding interrupt enable bit is set to "1", an interrupt is generated.

【0424】<コアインターフェース>図99に、GB
Iと、BBus/GBus/機能ブロックとのインター
フェースをまとめたコアインターフェースの図を示す。
GBIは、BBusスレーブ動作でバスエラーを発行し
ないので、bError(Func)Out Lはな
い。また、GBIはBBusスレーブ動作でbInst
NotData信号をチェックしないので、(fun
c)bInstNotData inはなく、(fun
c)bInstNotData outは、常に”0”
をドライブする。
<Core Interface> FIG.
FIG. 2 shows a diagram of a core interface in which I and interfaces with BBus / GBus / functional blocks are summarized.
Since the GBI does not issue a bus error in the BBus slave operation, bError (Func) Out There is no L. In addition, GBI uses bInst
Because the NotData signal is not checked, (fun
c) bInstNotData There is no in, (fun
c) bInstNotData out is always "0"
Drive.

【0425】また、GBIはGBusスレーブ動作でバ
スエラーを発行しないので、(func)gErr
outはない。
Since the GBI does not issue a bus error in the Gbus slave operation, (func) gErr L
There is no out.

【0426】なお、図99におけるGBIの信号名中の
Func(func)には、接続される機能ブロック、
すなわちscc(スキャナコントローラ)あるいはpr
c(プリンタコントローラ)の名前を入れる。
In FIG. 99, Func (func) in the signal name of GBI indicates a function block to be connected.
That is, scc (scanner controller) or pr
Enter the name of c (printer controller).

【0427】また、DoEngineでは、機能ブロッ
クとして、スキャナコントローラのScc(scc)
と、プリンタコントローラのPrc(prc)がある。
いずれの場合もデータの流れが双方向でないので、不要
なFIFO、DMAコントローラ、レジスタを削除した
形でインプリメントする。
In DoEngine, as a functional block, Scc (scc) of the scanner controller is used.
And Prc (prc) of the printer controller.
In either case, since the data flow is not bidirectional, the implementation is performed with unnecessary FIFOs, DMA controllers, and registers eliminated.

【0428】<プリンタコントローラコアインターフェ
ース>図86は、プリンタコントローラ4303におけ
る、上述した各ブロックを含むコア部分と、外部バスや
スキャナとの間で入出力される信号をまとめた図であ
る。このように、プリンタコントローラ4303は、シ
ステムバスブリッジ402との間をGバスにより接続さ
れ、IOデバイスやパワーマネジメントデバイス及びシ
ステムバスブリッジとの間をBバスにより接続され、プ
リンタコントローラとの間をCPバスで接続され、Gバ
ス/BバスI/Fユニットとの間をI/Fバスにより接
続されている。
<Printer Controller Core Interface> FIG. 86 is a diagram summarizing signals input and output between the core portion including the above-described blocks in the printer controller 4303 and an external bus or scanner. As described above, the printer controller 4303 is connected to the system bus bridge 402 by the G bus, is connected to the IO device, the power management device, and the system bus bridge by the B bus, and is connected to the printer controller by the CP bus. They are connected by a bus, and are connected to the G bus / B bus I / F unit by an I / F bus.

【0429】2.10.電力管理ユニット 図87は、電力管理ユニット409のブロック図であ
る。
2.10. Power Management Unit FIG. 87 is a block diagram of the power management unit 409.

【0430】DoEngineはCPUを内蔵した大規
模なASICである。このため、内部のロジックが全部
同時に動作してしまうと、大量の熱を発生し、チップ自
体が破壊されてしまう恐れがある。これを防ぐために、
DoEngineは、ブロック毎の電力の管理、すなわ
ちパワーマネジメントを行ない、更にチップ全体の消費
電力量の監視を行なう。
The DoEngine is a large-scale ASIC with a built-in CPU. For this reason, if all the internal logics operate simultaneously, a large amount of heat is generated, and the chip itself may be destroyed. To prevent this,
The DoEngine performs power management for each block, that is, power management, and further monitors the power consumption of the entire chip.

【0431】パワーマネージメントは、それぞれのブロ
ックが各自個別に行なう。各ブロックの消費電力量の情
報は、パワーマネージメントレベルとして、電力管理ユ
ニット(PMU)409に集められる。PMU409で
は、各ブロックの消費電力量を合計し、その値が限界消
費電力を超えないように、DoEngineの各ブロッ
クの消費電力量を一括して監視する。
The power management is performed individually by each block. Information on the power consumption of each block is collected in a power management unit (PMU) 409 as a power management level. The PMU 409 sums up the power consumption of each block and monitors the power consumption of each block of the DoEngine collectively so that the value does not exceed the limit power consumption.

【0432】<動作>電力管理ブロックの動作は次の通
りである。 ・各ブロックは、4段階のパワーマネジメントレベルを
持つ。 ・PMUは、それぞれのレベルにおける消費電力の値を
レジスタとして持つ。 このレベル構成及び消費電力の値は、PM構成レジスタ
5401に保持される。・PMUは、各ブロックからパ
ワーマネジメントレベルを2ビットのステータス信号と
して受け取り(後述)、レジスタ5401に設定された
値と照合させて各ブロックの消費電力を知る。 ・PMUは各ブロックの消費電力を加算器5403で加
算し、DoEngine全体の消費電力量をリアルタイ
ムに計算する。 ・算出された消費電力量は、構成レジスタ5401に設
定された消費電力のリミット値(PMリミット)と比較
器5404で比較され、これを超えた場合には割込発生
器5405から割り込み信号を発行する。 ・このリミット値は2段階設定することができる。1段
階目は、本当の限界から少し余裕を持たせた値を設定し
ておく。この値を超えると、通常の割込み信号が発行さ
れる。ソフトウェアはこれを受けて、新たにブロックを
起動するような転送は始めないようにする。ただ、2段
階目のリミット値に達しない範囲内では、ソフトウェア
の管理の元で、新たなブロックを起動することができ
る。2段階目のリミット値は、デバイスが破壊される恐
れのある値を設定しておく。万が一、この値を超えてし
まった時には、NMI(割込マスクが設定できない割り
込み)を発行して安全のためにシステムを停止させる。 ・割込み信号は、PMUの状態レジスタ5402をリー
ドすることで解除される。この状態レジスタ5402を
リードした時点からタイマカウントを始め、タイマがエ
クスパイアするまで消費電力量が戻らなければ、再び割
込み信号を発行する。このタイマの値の設定はPMUの
構成レジスタ5401に設定される。
<Operation> The operation of the power management block is as follows. -Each block has four power management levels. The PMU has the power consumption value at each level as a register. The values of the level configuration and the power consumption are held in the PM configuration register 5401. The PMU receives the power management level from each block as a 2-bit status signal (described later), and checks the power consumption of each block by checking the value set in the register 5401. The PMU adds the power consumption of each block by the adder 5403, and calculates the total power consumption of the DoEngine in real time. The calculated power consumption is compared with the power consumption limit value (PM limit) set in the configuration register 5401 by the comparator 5404. If the power consumption exceeds the limit, an interrupt signal is issued from the interrupt generator 5405. I do.・ This limit value can be set in two stages. In the first stage, a value is set with some margin from the true limit. If this value is exceeded, a normal interrupt signal is issued. In response, the software does not start a transfer that starts a new block. However, a new block can be started under the management of software within a range not reaching the limit value of the second stage. As the limit value in the second stage, a value that may cause destruction of the device is set. Should this value be exceeded, an NMI (interrupt for which an interrupt mask cannot be set) is issued to stop the system for safety. The interrupt signal is released by reading the status register 5402 of the PMU. The timer starts counting from the time when the status register 5402 is read. If the power consumption does not return until the timer expires, an interrupt signal is issued again. The setting of the timer value is set in the configuration register 5401 of the PMU.

【0433】<各ブロックのパワーマネージメント>各
ブロックのパワーマネージメント制御は、ブロック毎に
自由に構成してよい。構成例の例を示す。
<Power Management of Each Block> The power management control of each block may be freely configured for each block. The example of a structural example is shown.

【0434】(構成例1)この例では、内部ロジックへ
のクロックをオン/オフすることにより、パワーマネジ
メントを行なっているので、消費電力のレベルは2段階
しか持っていない。このレベルをステータス信号として
電力管理ユニット409に送る。図88にバスエージェ
ントのブロック図を示す。 ・バスエージェント5501は、各ユニット毎の内部ロ
ジック5502、アドレスをデコードするデコーダ55
03、クロックコントロール部5504、クロックゲー
ト5505を含む。 ・デコーダ5503とクロックコントロール部5504
は常に動作しており、パワーマネージメントコントロー
ルとして、バスのアクティビティーの監視、内部ロジッ
クへのクロックのゲーティングを行なっている。
(Configuration Example 1) In this example, since power management is performed by turning on / off a clock to internal logic, the power consumption level has only two levels. This level is sent to the power management unit 409 as a status signal. FIG. 88 shows a block diagram of the bus agent. The bus agent 5501 includes an internal logic 5502 for each unit and a decoder 55 for decoding an address.
03, a clock control unit 5504, and a clock gate 5505. -Decoder 5503 and clock control unit 5504
Is always running and monitors bus activity and gates clocks to internal logic as power management controls.

【0435】<クロックコントロール> ・バスエージェントは、バスのアクティビティーを検出
し、クロックのオン/オフを自動で行なう。 ・バスエージェントには、Sleep,Wake U
p,Waitの3つのステートがある。 ・Sleepはバスエージェントにアクティビティーが
なく、クロックゲートクロックを停止させている状態で
ある。 ・Sleepの状態でも、デコーダ部5503、クロッ
クコントロール部5504は動作しており、バスをモニ
タリングして、要求を待っている。 ・デコーダ5503が自分のアドレスを検出すると、ク
ロックゲート5505を開き、内部ロジックのクロック
を動作させ、バスの要求に応える。ステートはWake
Upに移行する。また、この状態を電力管理ユニット
409に通知する。 ・データ転送が終了すると、Waitステートに移行
し、次の要求を待つ。この時クロックは動作したままで
ある。要求があれば、Wake Upステートに戻り、
転送を行なう。また、要求を待っている間はタイマによ
りカウントを行ない、要求がないままカウンタがタイム
アップした場合は、Sleepステートへ移り、クロッ
クを停止させる。この状態も電力管理ユニット409に
通知される。
<Clock Control> The bus agent detects bus activity and automatically turns on / off the clock.・ Sleep, Wake U
There are three states, p and Wait. Sleep is a state where the bus agent has no activity and the clock gate clock is stopped. -Even in the sleep state, the decoder unit 5503 and the clock control unit 5504 are operating, monitor the bus, and wait for a request. When the decoder 5503 detects its own address, it opens the clock gate 5505, operates the clock of the internal logic, and responds to the bus request. State is Wake
Move to Up. Further, this state is notified to the power management unit 409. When the data transfer is completed, the state shifts to the Wait state and waits for the next request. At this time, the clock remains running. If requested, return to the Wake Up state,
Perform a transfer. The timer counts while waiting for a request, and if the counter times out without a request, the process proceeds to the Sleep state and stops the clock. This state is also notified to the power management unit 409.

【0436】以上のようにして、消費電力が所定値を越
えないように管理している。
As described above, the power consumption is managed so as not to exceed the predetermined value.

【0437】<コピー動作>上述の構成により、スキャ
ナから読み込んだ画像データをそのままプリンタへ転送
して、プリンタで画像形成する動作をコピー動作を行う
ことができる。本実施形態のDo Engineを用い
たスキャナ/プリンタシステムでは、以下に示す3種類
のコピーの方式がそのシステム構成に応じて選択され
る。
<Copy Operation> With the configuration described above, the image data read from the scanner can be directly transferred to the printer, and the operation of forming an image by the printer can be performed as a copy operation. In the scanner / printer system using the Do Engine of the present embodiment, the following three types of copying methods are selected according to the system configuration.

【0438】(方式1)第1の方式は、スキャナによる
画像入力の垂直・水平タイミングと、プリンタによる画
像出力の水平・垂直タイミングがそれぞれ一致してい
て、ビデオデータの転送速度も一致している組み合わせ
のシステムにおける方式である。
(Method 1) In the first method, the vertical / horizontal timing of image input by the scanner matches the horizontal / vertical timing of image output by the printer, and the transfer speed of video data also matches. This is a method in a combination system.

【0439】垂直同期信号(VSYNC)はプリンタか
ら出力されて、プリンタコントローラ(PRC)に入力
される。このVSYNC信号は、プリンタコントローラ
(PRC)からCPバスを介してスキャナコントローラ
(SCC)に入力される。そして、スキャナコントロー
ラ(SCC)からスキャナに対して出力される。これに
より、プリンタとスキャナの垂直同期がとられる。水平
同期についても、垂直同期信号VSYNCと同様に、水
平同期信号(HSYNC)がプリンタから出力され、プ
リンタコントローラ,CP−バス,スキャナコントロー
ラを介してスキャナに入力される。これによりスキャナ
とプリンタとの水平同期がとられる。このように、垂直
方向及び水平方向の同期がとられてスキャナとプリンタ
が動作する。ビデオデータは同期用のビデオクロックと
ともにスキャナから出力される。出力されたビデオクロ
ックとビデオデータはスキャナコントローラ(SCC)
に入力され、CPバスを介して、プリンタコントローラ
(PRC)に入力される。そして、プリンタコントロー
ラ(PRC)からプリンタに出力される。プリンタでは
ビデオクロックに同期してビデオデータを受け取り、画
像出力をおこなう。
The vertical synchronization signal (VSYNC) is output from the printer and input to the printer controller (PRC). This VSYNC signal is input from the printer controller (PRC) to the scanner controller (SCC) via the CP bus. Then, it is output from the scanner controller (SCC) to the scanner. As a result, the printer and the scanner are vertically synchronized. As for the horizontal synchronization, similarly to the vertical synchronization signal VSYNC, the horizontal synchronization signal (HSYNC) is output from the printer and input to the scanner via the printer controller, the CP-bus, and the scanner controller. Thus, horizontal synchronization between the scanner and the printer is achieved. As described above, the scanner and the printer operate in synchronization with each other in the vertical and horizontal directions. The video data is output from the scanner together with a video clock for synchronization. The output video clock and video data are sent to the scanner controller (SCC).
To the printer controller (PRC) via the CP bus. Then, the data is output from the printer controller (PRC) to the printer. The printer receives video data in synchronization with a video clock and outputs an image.

【0440】このコピー動作は、図89に示す構成によ
り行われる。このコピー動作ではGバスおよびBバスを
使用せずにコピー動作がおこなわれる。
This copy operation is performed by the structure shown in FIG. In this copy operation, the copy operation is performed without using the G bus and the B bus.

【0441】このコピー動作中、画像データはCPバス
を介してスキャナからプリンタへ直接転送されるが、同
時にスキャナコントローラ(SCC)からGバスのDM
A転送によってSDRAMへ書き込むことが可能であ
る。コピー動作と同時にSDRAMに書き込まれた画像
データは、必要に応じて画像データとして格納すること
等が可能となる。また、SDRAM上の画像データをプ
リンタへ出力することにより、スキャナで読み取った画
像データを複数部の出力することが、スキャナの動作な
しに可能となる。
During the copying operation, the image data is directly transferred from the scanner to the printer via the CP bus. At the same time, the scanner controller (SCC) sends the image data from the G bus to the DM bus.
It is possible to write to SDRAM by A transfer. The image data written to the SDRAM simultaneously with the copy operation can be stored as image data if necessary. Further, by outputting the image data on the SDRAM to the printer, it is possible to output the image data read by the scanner to a plurality of units without operating the scanner.

【0442】(方式2)第2の方式は、スキャナによる
画像入力の水平タイミングと、プリンタによる画像出力
の水平タイミングとが一致しており、垂直タイミングと
ビデオデータの転送速度がそれぞれ一致していない組み
合わせのシステムにおける方式である。
(Method 2) In the second method, the horizontal timing of image input by the scanner and the horizontal timing of image output by the printer match, and the vertical timing does not match the transfer speed of video data. This is a method in a combination system.

【0443】この場合のコピー動作を図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
CCにデータが入り始めると、プリンタのGバス/Bバ
スI/Fユニット4301B(GBI PRC)がマス
ターで、スキャナのGバス/BバスI/Fユニット43
01A(GBI SCC)がスレーブとなるDMA転送
が開始される。この時のバスは、Gバスが空いていれば
そちらを利用するが、空いていなければBバスであって
も良い。
The copying operation in this case will be described with reference to FIG.
You. When the scanner starts reading the image, the vertical sync signal
(VSYNC), horizontal sync signal (HSYNC), video
Three timing signals called clocks
Input to the roller (SCC). Sync to video clock
Video data to the scanner controller (SCC)
Is entered. Scanner synchronized with the above timing signal
The controller (SCC) sends video data to the internal FIFO
O (FIFO SCC). FIFO To SCC
As soon as image data starts to enter, FIFO SCC or
G / B bus I / F unit 430 of the scanner
1A (GBI FIFO of SCC) GBI
SCC) starts data transfer. From the scanner
Image data is FIFO FIFO via SCC
GBI Transferred to SCC. FIFO GBI S
When data starts to enter the CC, the printer's G bus / B bus
Switch I / F unit 4301B (GBI PRC)
G bus / B bus I / F unit 43 of the scanner
01A (GBI DMA transfer with SCC) as slave
Is started. At this time, if the G bus is vacant
We use that, but if it is not vacant, it is B bus
Is also good.

【0444】この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
PRCから出力する。そのビデオデータをプリンタ
が画像出力する。
[0444] By this DMA transfer, the FIFO SCC
Image data is GBI FIFO in the PRC (FIFO
GBI PRC). FIFO GBI
The PRC image data is sequentially stored in a printer controller (P
RC) FIFO (FIFO PRC). F
IFO When image data starts to enter the PRC, the printer
The controller (PRC) sends a vertical synchronizing signal (V
SYNC). From the printer, VSYNC
Depending on the timing, the horizontal synchronization signal (HSYNC) and video
Start outputting the clock. Printer controller
(PRC) is used for horizontal synchronization with the horizontal synchronization signal HSYNC.
Synchronizes the video data with the video clock
O Output from PRC. The video data to a printer
Outputs an image.

【0445】このコピー動作の場合、画像データは、ス
キャナ,スキャナコントローラのFIFO(FIFO
SCC),Gバス/BバスI/FユニットのFIFO
(FIFO GBI SCC),Gバス/BバスI/F
ユニットのFIFO(FIFO GBI PRC),プリ
ンタコントローラのFIFO(FIFO PRC),プ
リンタの順で転送されて、画像コピー動作がなされる。
水平同期の間隔はスキャナとプリンタとで同一であるの
で、画像データの転送速度の違いは各FIFOにより緩
衝される。
In the case of this copy operation, the image data is
FIFO for FIFO controller (FIFO)
SCC), FIFO of G bus / B bus I / F unit
(FIFO GBI SCC), G bus / B bus I / F
Unit FIFO (FIFO GBI PRC), Puri
Of the controller (FIFO PRC),
The images are transferred in the order of the linters, and the image copying operation is performed.
The horizontal synchronization interval is the same for the scanner and the printer.
Therefore, the difference in the transfer speed of image data is moderated by each FIFO.
Be hit.

【0446】(方式3)第3の方式は、スキャナとプリ
ンタの垂直同期タイミング、水平同期タイミング、ビデ
オデータの転送速度がそれぞれすべて異なる組み合わせ
のシステムにおける方式である。
(Method 3) The third method is a method in a combination system in which the vertical synchronization timing, the horizontal synchronization timing, and the video data transfer speed of the scanner and the printer are all different from each other.

【0447】この場合のコピー動作を図91により説明
する。スキャナで画像の読み取りが開始すると、スキャ
ナは垂直同期信号(VSYNC)、水平同期信号(HS
YNC)、ビデオクロックをスキャナコントローラ(S
CC)に出力する。これらのタイミング信号に同期して
画像データが出力される。スキャナコントローラ(SC
C)は上記タイミング信号に同期して画像データを取り
込む。取り込まれた画像データはGBI SCCによ
り、DMA転送でメモリコントローラ(MC)403へ
転送される。MC403では、DMA転送された画像デ
ータをSDRAMに書き込む。SDRAMに書き込まれ
た画像データの量が、スキャナとプリンタの画像データ
転送速度の差を緩衝できる量に達すると、プリンタへの
画像データ転送が開始される。この画像データ量の判定
は、スキャナからのデータ転送時間による判定、SDR
AMに書き込まれるアドレスによる判定、GBI SC
CにおけるDMA転送量の判定等、種々の方式がある。
The copying operation in this case will be described with reference to FIG. When the scanner starts reading an image, the scanner starts a vertical synchronization signal (VSYNC) and a horizontal synchronization signal (HS).
YNC) and the video clock to the scanner controller (S
CC). Image data is output in synchronization with these timing signals. Scanner controller (SC
C) captures image data in synchronization with the timing signal. The captured image data is GBI The data is transferred to the memory controller (MC) 403 by DMA transfer by the SCC. The MC 403 writes the DMA-transferred image data to the SDRAM. When the amount of image data written to the SDRAM reaches an amount that can buffer the difference in image data transfer speed between the scanner and the printer, the transfer of image data to the printer is started. The determination of the image data amount is based on the data transfer time from the scanner,
Judgment by address written to AM, GBI SC
There are various methods, such as the determination of the amount of DMA transfer in C.

【0448】プリンタへの画像データ転送はプリンタコ
ントローラ(PRC)により行われる。プリンタコント
ローラ(PRC)は、GBI PRCのDMA転送によ
り、SDRAMに書き込まれた画像データを順次内部の
FIFOへ入力する。同時にプリンタへ垂直同期信号
(VSYNC)を出力する。その後、プリンタからは水
平同期信号(HSYNC)とビデオクロックを入力す
る。このHSYNCとビデオクロックと同期して、プリ
ンタコントローラ(PRC)は内部のFIFOから画像
データをプリンタへと出力する。上記画像データの流れ
により、スキャナで読み取られた画像データをプリンタ
から出力するコピー動作がおこなわれる。この場合の画
像データの流れは、スキャナ,スキャナコントローラ,
スキャナのGバス/BバスI/Fユニット(GBI
CC),メモリコントローラ(MC),SDRAM,メ
モリコントローラ(MC),プリンタのGバス/Bバス
I/Fユニット(GBI PRC),プリンタコントロ
ーラ(RRC),プリンタの順となる。このように、一
旦メモリに格納し、それをスキャナとプリンタとの間の
緩衝メモリとして、スキャナからプリンタへと画像デー
タを転送し、コピーを行う。
The image data transfer to the printer is performed by the printer controller (PRC). The printer controller (PRC) is GBI The image data written in the SDRAM is sequentially input to the internal FIFO by the PRC DMA transfer. At the same time, a vertical synchronization signal (VSYNC) is output to the printer. Thereafter, a horizontal synchronization signal (HSYNC) and a video clock are input from the printer. In synchronization with the HSYNC and the video clock, the printer controller (PRC) outputs image data from the internal FIFO to the printer. According to the flow of the image data, a copy operation for outputting the image data read by the scanner from the printer is performed. The flow of image data in this case is as follows: a scanner, a scanner controller,
G bus / B bus I / F unit (GBI S
CC), memory controller (MC), SDRAM, memory controller (MC), printer G bus / B bus I / F unit (GBI PRC), a printer controller (RRC), and a printer. As described above, the image data is temporarily stored in the memory, and is used as a buffer memory between the scanner and the printer to transfer the image data from the scanner to the printer and perform copying.

【0449】本システムは上記3方式のコピー動作機能
を有する。(方式1)、(方式2)、(方式3)の順で
コピー動作時に動作する内部ブロックが多くなる。内部
ブロックの使用率が増加すると、システム全体のパフォ
ーマンスが効率を低下させる要因となりうる。本システ
ムは接続されるデバイス(プリンタ・スキャナ)に応じ
て、システム全体が最も効率的なコピー動作方式を選択
することが可能である。
The present system has the above three types of copy operation functions. (System 1), (System 2), and (System 3) in this order, the number of internal blocks that operate during the copy operation increases. As internal block usage increases, overall system performance can be a factor in reducing efficiency. In this system, the most efficient copy operation method can be selected for the entire system according to the connected device (printer / scanner).

【0450】コピー方式を選択する方法としては、例え
ば次のようなものがある。 UART等を介して指定するコピー方式そのものを入
力させ、指定された方式でコピー動作を行う。 プリンタとスキャナのデータ転送速度や水平・垂直同
期周波数等、必要なパラメタをUART等から入力さ
せ、それらの値に応じて上記3通りの方式からCPU4
01がひとつを選択し、その方式でコピー動作を行わせ
る。 プリンタコントローラがプリンタのデータ転送速度や
水平・垂直同期周波数等、必要なパラメタを読取り、ス
キャナコントローラがスキャナからデータ転送速度や水
平・垂直同期周波数等、必要なパラメタを読取り、それ
らをCPU401により比較判定してコピー動作の方式
を決定する。
As a method of selecting a copy method, for example, there is the following method. The user inputs the specified copy method via a UART or the like, and performs a copy operation in the specified method. Necessary parameters such as the data transfer speed of the printer and the scanner and the horizontal / vertical synchronization frequencies are input from the UART or the like.
01 selects one and causes a copy operation to be performed in that manner. The printer controller reads necessary parameters such as the data transfer speed and the horizontal / vertical synchronization frequency of the printer, and the scanner controller reads the necessary parameters such as the data transfer speed and the horizontal / vertical synchronization frequency from the scanner, and the CPU 401 compares and determines them. To determine the type of copy operation.

【0451】上記〜の方法で決定された、あるいは
選択されたコピー方式はCPUからプリンタコントロー
ラ及びスキャナコントローラに知らされ、その方式でプ
リンタコントローラ及びスキャナコントローラ等により
コピーを行わせる。
The copy method determined or selected by the above-mentioned methods is notified from the CPU to the printer controller and the scanner controller, and the printer controller and the scanner controller perform copying by the method.

【0452】次に、上記の方式でコピー方式を決定す
る手順を説明する。
Next, a procedure for determining a copy method by the above method will be described.

【0453】図100は、CPU401による、3通り
のコピー方式からシステムで使用するコピー方式を選択
する手順のフローチャートである。この動作はシステム
の電源立ち上げ時、ステップS1から開始される。
FIG. 100 is a flowchart of a procedure by the CPU 401 for selecting a copy method to be used in the system from three types of copy methods. This operation is started from step S1 when the power of the system is turned on.

【0454】ステップS2では、プリンタの種別の判定
が行われる。CPU401はプリンタコントローラ43
03を介して、プリンタビデオI/Fに含まれるコマン
ド/ステータスラインを通じて、プリンタから種別を示
すIDを取得する。このコマンド/ステータスライン
は、プリンタコントローラとプリンタとが1対1にコマ
ンド/ステータスのやりとりができるシリアル通信ライ
ンである。
In step S2, the type of the printer is determined. The CPU 401 is the printer controller 43
An ID indicating the type is acquired from the printer via a command / status line included in the printer video I / F via the printer 03. The command / status line is a serial communication line that allows the printer controller and the printer to exchange commands / status on a one-to-one basis.

【0455】ステップS3では、同様にCPUがスキャ
ナコントローラ4302を介して、スキャナビデオI/
Fに含まれるコマンド/ステータスラインを通じ、スキ
ャナから種別を示すIDを取得する。
[0455] In step S3, the CPU similarly controls the scanner video I / O via the scanner controller 4302.
An ID indicating the type is acquired from the scanner through the command / status line included in F.

【0456】ステップS4では、ステップS2とS3で
判定された、スキャナとプリンタの組み合わせに適した
コピー経路の判定が行われる。スキャナとプリンタの組
み合わせに適したコピー経路の判定は、あらかじめテー
ブルの形式で、例えば、フラッシュROM等のCPUが
参照可能なメモリに準備されている。各コピー経路に適
したスキャナとプリンタの組み合わせは次のようなもの
がある。(方式1)スキャナとプリンタの水平、垂直タ
イミングが同期していて、ビデオデータの転送速度も同
期している組み合わせ (方式2)スキャナとプリンタの水平同期タイミングの
速度が同一で、垂直タイミングとビデオデータの転送速
度は同期していない組み合わせ (方式3)スキャナとプリンタの垂直同期タイミング、
水平同期タイミング、ビデオデータの転送速度がそれぞ
れ異なる組み合わせ CPUは、あらかじめ用意されたテーブル参照におい
て、上記3方式から適切なコピー方式を選択する。
In step S4, a copy path suitable for the combination of the scanner and the printer, which is determined in steps S2 and S3, is determined. The determination of the copy path suitable for the combination of the scanner and the printer is prepared in the form of a table in advance in a memory such as a flash ROM that can be referred to by the CPU. There are the following combinations of scanners and printers suitable for each copy path. (Method 1) A combination in which the horizontal and vertical timings of the scanner and the printer are synchronized and the transfer rate of video data is also synchronized. (Method 2) The speed of the horizontal synchronization timing of the scanner and the printer is the same, and the vertical timing and the video are synchronized. Combination of data transfer speed not synchronized (Method 3) Vertical synchronization timing of scanner and printer,
The combination CPU having different horizontal synchronization timings and different video data transfer speeds selects an appropriate copy method from the above three methods by referring to a prepared table.

【0457】ステップS5では、ステップS4で選択さ
れたコピー方式に応じたモード設定がスキャナコントロ
ーラ4302に対してなされる。このモード設定は、C
PUがBBusを介して行う。
[0457] In step S5, a mode setting corresponding to the copy method selected in step S4 is made to the scanner controller 4302. This mode setting is
PU performs via BBus.

【0458】図101は、スキャナコントローラ430
2内部のデータバスの切り換え回路を示す図である。な
お、データバスセレクタは、図44のスキャナデバイス
I/F4401に含まれる。また、データバスの切り替
えの説明に不用なスキャナビデオクロックユニット等は
省略した。
FIG. 101 shows the scanner controller 430.
FIG. 2 is a diagram showing a circuit for switching a data bus inside the device; The data bus selector is included in the scanner device I / F 4401 in FIG. Further, a scanner video clock unit and the like which are not necessary for explaining the switching of the data bus are omitted.

【0459】レジスタ1には、データバスのモードが設
定される。CPUは、図100のステップS4において
選択したコピー方式に応じたモードをレジスタ1に設定
する。セレクト制御信号4は、モード設定レジスタ1に
設定されたモードに応じてデータパスを選択するための
信号である。スキャナビデオバス2は、スキャナからの
ビデオデータのバスである。バス5は、スキャナからの
ビデオデータをFIFO SCC6に転送するバスであ
る。CPビデオバス7は、(方式1)のコピー動作を行
う場合に使用されるバスである。スキャンビデオバスか
らのビデオデータは(方式1)の場合はCPビデオバス
7に出力するようにデータパスがセレクトされる。(方
式2)、(方式3)の場合にはバス5にビデオデータが
出力されて、FIFO SCC4407に転送される。
In register 1, the mode of the data bus is set. The CPU sets a mode corresponding to the copy method selected in step S4 of FIG. Select control signal 4 is a signal for selecting a data path according to the mode set in mode setting register 1. The scanner video bus 2 is a bus for video data from the scanner. The bus 5 uses video data from the scanner as a FIFO. This is a bus for transferring to the SCC6. The CP video bus 7 is a bus used when performing the (method 1) copy operation. The data path is selected so that video data from the scan video bus is output to the CP video bus 7 in the case of (method 1). In the case of (method 2) and (method 3), video data is output to the bus 5 and the FIFO 5 Transferred to SCC4407.

【0460】図100で、次にステップS6に移行す
る。ステップS6では、GBI sccの動作モード設
定を行う。このモード設定はCPUがステップS4で選
択したコピー方式に基づいて行う。(方式1)では、G
BI sccは非動作指定される。(方式2)では、D
MA転送のマスター指定がなされ、DMAの転送先には
GBI prcが設定される。(方式3)ではDMA転
送のマスター指定がなされ、DMAの転送先にはSDR
AMが設定される。
In FIG. 100, the flow shifts to step S6. In step S6, the GBI The scc operation mode is set. This mode setting is performed based on the copy method selected by the CPU in step S4. In (method 1), G
BI Scc is designated as non-operational. In (method 2), D
Master transfer is designated for MA transfer, and GBI is prc is set. In (method 3), the master designation of the DMA transfer is made, and the SDR is
AM is set.

【0461】次にステップS7では、GBI prcの
動作モード設定を行う。このモード設定はCPUがステ
ップS4で選択したコピー方式に基づいて行う。(方式
1)では、GBI prcは非動作指定がなされる。
(方式2)ではDMA転送のスレーブ指定がなされる。
(方式3)では、DMA転送のマスター指定がなされ、
DMA転送の読み出しもとはSDRAMが設定される。
Next, in step S7, the GBI The operation mode of prc is set. This mode setting is performed based on the copy method selected by the CPU in step S4. (Method 1) uses GBI For prc, non-operation is designated.
In (method 2), slave designation for DMA transfer is performed.
In (method 3), the master designation of the DMA transfer is performed,
The SDRAM is set as the read source of the DMA transfer.

【0462】次にステップS8では、プリンタコントロ
ーラのモード設定がなされる。このモード設定はステッ
プS4で選択されたコピー方式に基づいてCPUが行
う。
Next, in step S8, the mode of the printer controller is set. This mode setting is performed by the CPU based on the copy method selected in step S4.

【0463】図102は、プリンタコントローラ430
3内部のデータバスの切り換え回路を示す図である。レ
ジスタ11には、データバスのモードが設定される。C
PUは、図100のステップS4において選択したコピ
ー方式に応じたモードをレジスタ11に設定する。セレ
クト制御信号14は、モード設定レジスタ11に設定さ
れたモードに応じてデータバスのセレクトを行う信号で
ある。バス15は、FIFO PRC16から出力され
るデータのバスである。バス12は、プリンタへのビデ
オデータバスである。CPビデオバス17は、(方式
1)のコピー動作を行う場合に使用する。プリンタへの
ビデオデータは(方式1)の場合はCPビデオバスのデ
ータがセレクトされ、出力される。(方式2)、(方式
3)の場合にはバス15からのデータがプリンタビデオ
バス12に出力される。
FIG. 102 shows the printer controller 430
FIG. 3 is a diagram showing a data bus switching circuit in the internal circuit 3; The data bus mode is set in the register 11. C
The PU sets the mode corresponding to the copy method selected in step S4 of FIG. The select control signal 14 is a signal for selecting a data bus according to the mode set in the mode setting register 11. Bus 15 is FIFO This is a bus for data output from the PRC 16. Bus 12 is a video data bus to the printer. The CP video bus 17 is used when performing the (method 1) copy operation. In the case of (method 1), the video data to the printer selects and outputs the data on the CP video bus. In the case of (method 2) or (method 3), data from the bus 15 is output to the printer video bus 12.

【0464】ステップS9で、電源立ち上げ時のコピー
方式選択のフローが終了する。以上のようにして、CP
Uはスキャナ及びプリンタの種別に応じたコピー方式を
決定することができる。
[0464] In step S9, the flow of the copy method selection at the time of turning on the power supply ends. As described above, the CP
U can determine the copy method according to the type of scanner and printer.

【0465】なお、上述の手順はスキャナ及びプリンタ
の垂直同期タイミング、水平同期タイミング、ビデオデ
ータの転送速度に基づいて、コピー動作の方式を決定す
る手順であるが、単なるコピーでなく、画像の加工が加
わる場合にはこの限りではない。すなわち、図100の
ステップ2の前に、画像データを加工するか否かを判定
し、画像データを加工する場合には、スキャナ及びプリ
ンタの仕様に関わりなく、方式3を選択し、ステップS
5〜S8における設定では、データの径路が方式3にな
るよう各ブロックの設定を行う。こうすることで、画像
データを加工する場合には読み込んだ画像データはいっ
たんメモリに格納されるため、そこで画像データに対し
て必要な加工を施すことができる。
The above procedure is for determining the type of copy operation based on the vertical synchronization timing and horizontal synchronization timing of the scanner and the printer, and the transfer rate of video data. However, this does not apply to cases where That is, before step 2 in FIG. 100, it is determined whether or not to process the image data. If the image data is to be processed, method 3 is selected regardless of the specifications of the scanner and the printer.
In the settings in 5 to S8, each block is set so that the data path is the method 3. By doing so, when the image data is processed, the read image data is temporarily stored in the memory, so that necessary processing can be performed on the image data there.

【0466】また、方式2あるいは方式3ではバスを使
用する。この際、GバスあるいはBバスのいずれを使用
するかは、各バスの使用状況により決定される。すなわ
ち、Gバス/Bバスともにアイドル状態であれば、バス
幅の広いGバスを使用する。いずれかが使用中であれ
ば、未使用の方を使用する。
[0466] In the method 2 or 3, a bus is used. At this time, whether to use the G bus or the B bus is determined according to the usage status of each bus. That is, if both the G bus and the B bus are in the idle state, the G bus having a wide bus width is used. If any are in use, use the unused one.

【0467】以上説明したように、DoEngineに
おいては、スキャナは、スキャナコントローラ4302
及びGBI SCC4301Aを介してバス(Gバス及
びBバス)に接続されている。スキャナコントローラ4
302及びGBI SCC4301Aは、それぞれFI
FOを介して互いに画像データを転送するように接続さ
れている。このように、それぞれがFIFOを有してい
るために、GBIは、64ビット幅で動作クロックが1
00MHzという非常に高速なGバスに接続されている
にも関わらず、比較的低速なスキャナから読み込まれた
画像データを効率的に転送することができる。これは、
プリンタコントローラに関しても同様である。
As described above, in DoEngine, the scanner is the scanner controller 4302
And GBI It is connected to buses (G bus and B bus) via SCC4301A. Scanner controller 4
302 and GBI SCC4301A is FI
They are connected so as to transfer image data to each other via the FO. Thus, since each has a FIFO, the GBI has a 64-bit width and an operation clock of 1
Despite being connected to a very high-speed G bus of 00 MHz, image data read from a relatively low-speed scanner can be efficiently transferred. this is,
The same applies to the printer controller.

【0468】さらに、スキャナとプリンタそれぞれの同
期信号の一致・不一致に応じて、コピー時のデータ経路
を選択することで、スキャナ及びプリンタの仕様がどの
ようなものであろうとも、可能な限り速いデータ転送を
用いてコピーを行うことができる。
Further, by selecting a data path at the time of copying in accordance with the coincidence or non-coincidence of the respective synchronization signals of the scanner and the printer, the data can be transmitted as quickly as possible regardless of the specifications of the scanner and the printer. Copying can be performed using data transfer.

【0469】すなわち、上述のスキャナコントローラ及
びプリンタコントローラ及びそれぞれのGBIを用いて
スキャナ及びプリンタをDoEngineのバスに接続
することで、スキャナ及びプリンタの仕様からのDoE
ngineの独立性をより高めることが可能となった。 [その他の構成例]図9及び図10で示したキャッシュ
の動作手順は、図103及び図104のようなものであ
ってもよい。
That is, by connecting the scanner and the printer to the DoEngine bus using the above-mentioned scanner controller and printer controller and their respective GBIs, the DoE from the specifications of the scanner and the printer can be obtained.
This has made it possible to further increase the independence of ngine. [Other Configuration Examples] The operation procedure of the cache shown in FIGS. 9 and 10 may be as shown in FIGS.

【0470】図103においては、MCバスよりデータ
転送が開始されると、その最初にMCバスで示されるm
TType[60:0]によってその転送をキャッシュ
オンで行うかオフで行うか判断される。ここでは、転送
がバースト転送の時、そのバースト転送データ量がキャ
ッシュの1ラインのデータ量より大か小かによって判断
する。なお、キャッシュの1ラインは256ビット=4
バースト分である。
In FIG. 103, when data transfer is started from the MC bus, m is first indicated by the MC bus.
It is determined by TType [60: 0] whether the transfer is performed with the cache on or off. Here, when the transfer is a burst transfer, the determination is made based on whether the burst transfer data amount is larger or smaller than the data amount of one line of the cache. One line of the cache is 256 bits = 4
It is a burst amount.

【0471】図103において、メモリコントローラは
転送の開始でmTType[3:0]をチェックし、m
TTypeが示すバースト長が1/2/4であれば、キ
ャッシュオンで動作し、6/8/16/2×16/3×
16/4×16の場合はキャッシュオフで動作する。キ
ャッシュオンあるいはオフ後の動作は、図9及び図10
と同様である。
In FIG. 103, the memory controller checks mTType [3: 0] at the start of transfer, and
If the burst length indicated by TType is 1/2/4, the operation is performed with the cache turned on, and 6/8/16/2 × 16/3 ×
In the case of 16/4 × 16, it operates with the cache off. The operation after the cache is turned on or off is shown in FIGS.
Is the same as

【0472】また、図105及び図106のように、デ
バイスによってキャッシュのオンオフを切り替えること
もできる。図105において、メモリコントローラは転
送の開始でmTType[6:4]をチェックすること
により転送要求デバイスを識別し、そのデバイスの転送
要求をキャッシュオンで動作するか、オフで動作するか
を判断するために、あらかじめ設定されている構成レジ
スタの値を参照し、キャッシュオンで動作するか、オフ
で動作するか決定する。キャッシュオンあるいはオフ後
の動作は、図9及び図10と同様である。構成レジスタ
の設定は、ハードウエア的に決定(変更不可)していも
良いし、ソフトウエアで書換え可能にしてもよい。
As shown in FIGS. 105 and 106, the cache can be switched on / off depending on the device. In FIG. 105, the memory controller identifies the transfer request device by checking mTType [6: 4] at the start of transfer, and determines whether the transfer request of the device operates with the cache on or off. For this purpose, it is determined whether to operate with the cache on or off with reference to a preset value of the configuration register. The operation after the cache is turned on or off is the same as in FIGS. The setting of the configuration register may be determined (cannot be changed) by hardware or may be rewritable by software.

【0473】(実施の形態) <ジョブの分割>まず、本発明の実施の形態について、
図107〜図108を用いて説明する。本実施形態は、
デジタル複合機に投入された種々のジョブをページ単位
に処理をするためにデバイスの獲得と開放を並列に行い
情報を処理するものである。
(Embodiment) <Division of Job> First, an embodiment of the present invention will be described.
This will be described with reference to FIGS. In this embodiment,
In order to process various jobs input to the digital MFP in page units, acquisition and release of devices are performed in parallel to process information.

【0474】図107は、本発明にかかる情報処理シス
テムの構成図であり、同図中、101a,102a,1
03aはホストコンピュータで、種々のジョブを生成し
周辺機器にジョブを送信する。104aはデジタル複合
機で、プリントジョブ、スキャンジョブ、ファックスジ
ョブ、コピージョブ等、種々のジョブを実行処理する。
第1、第2のホストコンピュータ101a,102a及
びデジタル複合機104aは、それぞれがLAN(ロー
カルエリアネットワーク)105aに接続されており、
デジタル複合機104aを使用することができる。
FIG. 107 is a block diagram of an information processing system according to the present invention. In FIG. 107, 101a, 102a, 1
A host computer 03a generates various jobs and transmits the jobs to peripheral devices. A digital multifunction peripheral 104a executes various jobs such as a print job, a scan job, a fax job, and a copy job.
The first and second host computers 101a and 102a and the digital multifunction peripheral 104a are each connected to a LAN (local area network) 105a,
The digital multifunction peripheral 104a can be used.

【0475】また、第3のホストコンピュータ103a
は、LANではなくパラレル(またはシリアル)等のイ
ンターフェース106aを介してデジタル複合機104
aに接続され、該デジタル複合機104aを使用するこ
とができる。
Also, the third host computer 103a
Is a digital multifunction peripheral 104 via an interface 106a such as a parallel (or serial) instead of a LAN.
a, and the digital multifunction peripheral 104a can be used.

【0476】図108は、図107に示す情報処理シス
テムの基本的な構成を示すブロック図であり、同図にお
いて、201aはCPU(中央演算処理装置)で、本シ
ステム全体の制御及び演算処理等を行う。207aはエ
ンジンインターフェース(エンジンI/F)で、実際に
エンジンを制御するコマンド等をやり取りする。
FIG. 108 is a block diagram showing a basic configuration of the information processing system shown in FIG. 107. In FIG. 108, reference numeral 201a denotes a CPU (Central Processing Unit), which controls the entire system and performs arithmetic processing and the like. I do. An engine interface (engine I / F) 207a exchanges commands and the like for actually controlling the engine.

【0477】208aはネットワークインターフェース
(ネットワークI/F)で、このネットワークI/F2
08aを介して機器がネットワークに接続される。
Reference numeral 208a denotes a network interface (network I / F).
The device is connected to the network via 08a.

【0478】209aは外部インターフェース(外部I
/F)で、パラレル(またはシリアル)等のインターフ
ェースを介してホストコンピュータと接続される。21
0はシステムバスで、上述した各構成要素間のデータの
通路となる。
209a is an external interface (external I
/ F), it is connected to a host computer via an interface such as parallel (or serial). 21
Reference numeral 0 denotes a system bus, which serves as a data path between the above-described components.

【0479】CPU201a、エンジンインターフェー
ス(エンジンI/F)207a、ネットワークインター
フェース(ネットワークI/F)208a、外部インタ
ーフェース(外部I/F)209aはDoEngine
201(図2)を構成する。
A CPU 201a, an engine interface (engine I / F) 207a, a network interface (network I / F) 208a, and an external interface (external I / F) 209a are DoEngine.
201 (FIG. 2).

【0480】202aはROM(リードオンリーメモ
リ)で、システム起動プログラムやプリンタエンジンの
制御を行うプログラム及び文字データ、文字コード情報
等の記憶領域である。203aはRAM(ランダムアク
セスメモリ)で、使用期限のない記憶領域で、ダウンロ
ードにより追加登録されたフォントデータが記憶された
り、様々な処理ごとにプログラムやデータがロードされ
実行される。
Reference numeral 202a denotes a ROM (Read Only Memory), which is a storage area for a system startup program, a program for controlling a printer engine, character data, character code information, and the like. A RAM (random access memory) 203a is a storage area having no expiration date, in which font data additionally registered by downloading is stored, and programs and data are loaded and executed for various processes.

【0481】204aは例えばハードディスク等の外部
記憶装置で、印刷装置(プリンタ)が受け付けた印刷ジ
ョブ(プリントジョブ)をスプールしたり、プログラム
や各種情報ファイル等が格納されたり、作業用の領域と
して利用される。
Reference numeral 204a denotes an external storage device such as a hard disk, which spools a print job (print job) received by the printing device (printer), stores programs and various information files, and is used as a work area. Is done.

【0482】205aは液晶表示機等の表示部で、印刷
装置の設定状態や、現在の印刷装置内部の処理状態や、
エラー状態等を表示する。
Reference numeral 205a denotes a display unit such as a liquid crystal display, which is a setting state of the printing apparatus, a current processing state inside the printing apparatus,
Displays error status, etc.

【0483】206aは操作部で、印刷装置の設定を変
更したり、リセットするために使用される。
An operation unit 206a is used to change or reset the settings of the printing apparatus.

【0484】図109は、ホストコンピュータとデジタ
ル複合機104aの内部ソフトウェア構造を示す図であ
り、同図において、301はホストコンピュータ(図1
07の101a〜103aに相当する)である。302
はコントローラソフトウェアで、その内部はプロトコル
解釈部303、ジョブ制御部304及びデバイス部30
5に分割されている。
FIG. 109 is a diagram showing the internal software structure of the host computer and the digital multifunction peripheral 104a. In FIG. 109, reference numeral 301 denotes the host computer (FIG.
07 corresponding to 101a to 103a). 302
Denotes controller software, in which the protocol interpreter 303, the job controller 304, and the device 30
It is divided into five.

【0485】プロトコル解釈部303は、ホストコンピ
ュータ301から図1のLAN105または図2の外部
I/F209を介して送られてきたコマンド(プロトコ
ル)を解釈して、ジョブ制御部304に対してジョブの
実行を依頼する部分である。また、ジョブ制御部304
は、プロトコル解釈部303の依頼したジョブを実際に
処理する部分である。更に、デバイス部305は、ジョ
ブ制御部304がジョブを実行する際に使用される。
The protocol interpreting unit 303 interprets a command (protocol) transmitted from the host computer 301 via the LAN 105 in FIG. 1 or the external I / F 209 in FIG. This is the part that requests execution. Also, the job control unit 304
Is a part for actually processing the job requested by the protocol interpreting unit 303. Further, the device unit 305 is used when the job control unit 304 executes a job.

【0486】図110は、コントローラソフトウェア3
02の概略を説明するためのブロック図である。同図に
おいて、303はプロトコル解釈部、304はジョブ制
御部、305はデバイス部である。ジョブ制御部304
は、ジョブ生成部401a、ジョブ処理部402a、ド
キュメント処理部403a、ページ処理部404a、バ
ンド処理部405a、デバイス割り当て部406aを有
している。
FIG. 110 shows the controller software 3
FIG. 2 is a block diagram for explaining an outline of the second embodiment. In the figure, reference numeral 303 denotes a protocol interpreting unit, 304 denotes a job control unit, and 305 denotes a device unit. Job control unit 304
Has a job generation unit 401a, a job processing unit 402a, a document processing unit 403a, a page processing unit 404a, a band processing unit 405a, and a device allocation unit 406a.

【0487】また、デバイス部305は、第1デバイス
407a、第2デバイス408a及び第3デバイス40
9aを有している。
The device section 305 includes a first device 407a, a second device 408a, and a third device 40a.
9a.

【0488】図107のホストコンピュータ101a〜
103aから送られてきた一連の操作依頼は、コマンド
(プロトコル)という形で、ネットワークI/F208
a及び外部I/F209aを介して送られてくる。送ら
れてきたコマンドは、プロトコル解釈部303で解釈さ
れた後、ジョブ制御部401aに送られる。この時点で
コマンドは、ジョブ制御部304が理解できる形に変換
されることになる。
The host computers 101a to 101a to
A series of operation requests sent from the network interface 103a are transmitted as a command (protocol) in the form of a network I / F 208.
a and the external I / F 209a. The sent command is interpreted by the protocol interpreting unit 303 and then sent to the job control unit 401a. At this point, the command is converted into a form that the job control unit 304 can understand.

【0489】ジョブ生成部401aはジョブ410aを
生成する。このジョブ410aはコピージョブ、プリン
トジョブ、スキャンジョブ及びファックスジョブ等、様
々なものが考えられる。
[0489] The job generation unit 401a generates a job 410a. Various jobs such as a copy job, a print job, a scan job, and a fax job can be considered as the job 410a.

【0490】例えば、プリントジョブならば印刷する文
書の名前や印刷部数、出力先の排紙トレイの指定等の設
定情報や、印刷データ自体(PDLデータ)等も含まれ
る。ジョブ410aはジョブ処理部402aに送られ、
処理が行われる。ここでは、ジョブ410a全体に関す
る設定(複数の文書をまとめて印刷しステープルする
等)や処理が行われる。
For example, in the case of a print job, it also includes the setting information such as the name of the document to be printed, the number of copies to be printed, the designation of the output tray, and the print data itself (PDL data). The job 410a is sent to the job processing unit 402a,
Processing is performed. Here, settings (such as collectively printing and stapling a plurality of documents) and processing relating to the entire job 410a are performed.

【0491】更に、ジョブ処理部402aでは、ジョブ
410a全体に関する設定や処理以外は、更に小さな仕
事の単位である入力ドキュメント411aに分割する。
入力ドキュメント411aは、ドキュメント処理部40
3aにより出力ドキュメント414aに変換処理され
る。
Further, the job processing section 402a divides the job 410a into input documents 411a, which are smaller units of work, except for the settings and processing relating to the entire job 410a.
The input document 411a is sent to the document processing unit 40
The document is converted into an output document 414a by 3a.

【0492】つまり、例えば、原稿の束をスキャナで読
み取り、複数のイメージデータに変換するスキャンジョ
ブを考えると、原稿の束に関する設定や操作の手順が書
かれているのが入力ドキュメント411aであり、複数
のイメージデータに関する設定や操作の手順が書かれて
いるのが出力ドキュメント414aである。そして、紙
の束を複数のイメージデータに変換する役割を持ってい
るのがドキュメント処理部403aである。
That is, for example, considering a scan job in which a bundle of documents is read by a scanner and converted into a plurality of image data, an input document 411a describes settings and operation procedures related to the bundle of documents. An output document 414a describes settings and operation procedures for a plurality of image data. The document processing unit 403a has a role of converting a bundle of paper into a plurality of image data.

【0493】また、ドキュメント処理部403aは、ド
キュメント単位の処理のみ行い、更に小さな仕事の単位
である入力ページ412aを生成する。これは、ちょう
どジョブ処理部402aがジョブ単位の処理に専念し
て、更に細かい仕事のためにドキュメントを生成するの
と同じである。ドキュメント単位の設定及び操作は、具
体的にはページの並び替え、両面印刷の指定、表示の付
加、OHP中差し等のページ順序に関するものである。
[0493] The document processing unit 403a performs only processing in units of documents, and generates an input page 412a that is a smaller unit of work. This is the same as the case where the job processing unit 402a concentrates on processing on a job basis and generates a document for more detailed work. The setting and operation in the document unit specifically relate to page order such as page rearrangement, double-sided printing designation, display addition, OHP insertion, and the like.

【0494】また、入力ページ412aはページ処理部
404aにより出力ページ415aに変換される。例え
ば、上記の例のスキャンジョブの場合は、入力ページ4
12aには読み取りの解像度、読み取りの向き(ランド
スケープ/ポートレイト)等の設定や手順が書かれてお
り、出力ページ415aにはイメージデータの格納場所
(RAM203aや外部記憶装置204aのアドレスや
データ名)等の設定や手順が書かれている。
The input page 412a is converted into an output page 415a by the page processing section 404a. For example, in the case of the above-described scan job, the input page 4
Settings and procedures such as reading resolution and reading direction (landscape / portrait) are written in 12a, and the storage location of image data (address and data name of the RAM 203a and the external storage device 204a) is written in the output page 415a. Settings and procedures are written.

【0495】以上の処理により、ジョブの構成をページ
単位に分解して扱えるようになる。
With the above processing, it becomes possible to handle the job configuration by decomposing it in page units.

【0496】高価なシステムでは、1ページ分のページ
メモリを持てるならば、最終的にページ単位までジョブ
を詳細化すればよい。しかし、現実にはメモリのコスト
等の問題や、印刷エンジンがインクジェットプリンタの
ような低速の場合には、数ライン分のメモリ(バンドメ
モリ)しか持たないシステムも考えられる。そのような
場合には、ページを更に細かい単位であるバンドに分け
て扱う。それが入力バンド413a、バンド処理部40
5a、出力バンド416aの役目である。これらの動作
に関しては、ページの場合と同様である。
In an expensive system, if a page memory for one page can be provided, the job may be finally detailed in page units. However, in reality, when the cost of the memory is a problem or when the print engine is at a low speed such as an ink jet printer, a system having only a few lines of memory (band memory) may be considered. In such a case, the page is divided into bands, which are smaller units. That is the input band 413a, the band processing unit 40
5a, the role of the output band 416a. These operations are similar to those of the page.

【0497】ジョブ処理部402a、ドキュメント処理
部403a、ページ処理部404a及びバンド処理部4
05aは、いずれも処理を進める際にデバイスを使用す
る。複数の処理部が同時に仕事を進めるとデバイスの競
合が発生するので、それを調停するのがデバイス割り当
て部406aである。第1〜第3デバイス407a〜4
09aは、デバイス割り当て部406aにより上記処理
部に割り当てられるデバイスである。
[0497] Job processing unit 402a, document processing unit 403a, page processing unit 404a, and band processing unit 4
05a uses a device when proceeding with the process. If a plurality of processing units work simultaneously, device contention occurs, and the device arbitration unit 406a mediates the conflict. First to third devices 407a to 407
09a is a device assigned to the processing unit by the device assignment unit 406a.

【0498】デバイスの例としては、ページメモリやバ
ンドメモリ、ドキュメントフィーダー、マーキングエン
ジン及びスキャナ等が考えられる。
Examples of the device include a page memory, a band memory, a document feeder, a marking engine, and a scanner.

【0499】(複合ジョブの処理)図110では単一の
ジョブをページ単位に分解して、デバイスの割り当てを
行う処理を示した。次に、図111を用いて複合したジ
ョブの処理を説明する。
(Processing of Composite Job) FIG. 110 shows a process of decomposing a single job into pages and allocating devices. Next, processing of a combined job will be described with reference to FIG.

【0500】「複合したジョブ」とは、例えばジョブが
コピージョブであれば、スキャンジョブと、プリントジ
ョブとに分割され、FAX受信ジョブであれば、データ
の受信ジョブと、受信したデータのプリントジョブとに
分割される。分割されたジョブはページ単位にデバイス
が割り当てられ、処理される。以下その処理内容につい
て説明する。なお、情報処理システムの基本的な構成
は、上述した単一ジョブの分割で説明した図107〜図
109と同一であるから、必要に応じてこれらの図を流
用して説明する。
The “composite job” is, for example, a scan job and a print job if the job is a copy job, and a data reception job and a print job of the received data if the job is a FAX reception job. And divided into Devices are allocated to the divided jobs on a page basis and are processed. Hereinafter, the processing content will be described. Note that the basic configuration of the information processing system is the same as in FIGS. 107 to 109 described in the above-described division of a single job, and therefore, these drawings will be used as necessary.

【0501】図111は、複合ジョブを処理する情報処
理システムにおける周辺機器のソフトウェア構造の詳細
を示す図である。同図において、303はプロトコル解
釈部、304はジョブ制御部、305はデバイス部であ
る。
FIG. 111 is a diagram showing details of the software structure of peripheral devices in the information processing system for processing a composite job. In the figure, reference numeral 303 denotes a protocol interpreting unit, 304 denotes a job control unit, and 305 denotes a device unit.

【0502】コピージョブは、ジョブ制御部304の中
では、2つのジョブ(スキャンジョブとプリントジョ
ブ)に分割され処理される。図107のホストコンピュ
ータ101a〜103aから送られてきた一連の操作依
頼は、コマンド(プロトコル)という形で図108のネ
ットワークI/F208a及び外部I/F209aを介
して送られてくる。
[0502] The copy job is divided into two jobs (scan job and print job) in the job control unit 304 and processed. A series of operation requests sent from the host computers 101a to 103a in FIG. 107 are sent in the form of commands (protocols) via the network I / F 208a and the external I / F 209a in FIG.

【0503】送られてきたコマンドは、プロトコル解釈
部303で解釈された後、ジョブ制御部304へ送られ
る。この時点でコマンドは、ジョブ制御部304が理解
できる形に変換されることになる。ジョブ生成部401
aは図110のジョブ410aを生成する。本実施の形
態では、コピージョブが生成されることになる。
[0503] The sent command is interpreted by the protocol interpreting unit 303 and then sent to the job control unit 304. At this point, the command is converted into a form that the job control unit 304 can understand. Job generation unit 401
a generates the job 410a of FIG. In the present embodiment, a copy job is generated.

【0504】生成されたコピージョブ513は、図11
1の複合ジョブ処理部501に送られ、スキャンジョブ
514とプリントジョブ521が生成される。スキャン
ジョブ514とプリントジョブ521は、生成と同時に
それぞれスキャンジョブ処理部502、プリントジョブ
処理部506に送られる。当然ながらスキャンの動作が
始まりプリンタ512に出力するデータができあがる
(または、準備ができる)ような状態にならないと、プ
リントの動作を開始することができない。従って、スキ
ャンに関する処理部(502,503,504,50
5)とプリントに関する処理部(506,507,50
8,509)は、中間データを意味する中間ドキュメン
ト518、中間ページ519、中間バンド520を介し
て同期をとりながら処理を進めることになる。当該コピ
ージョブでは、使用するデバイスとしてスキャナ51
0、ページメモリ511、プリンタ512が挙げられ
る。
[0504] The generated copy job 513 is shown in FIG.
The scan job 514 and the print job 521 are sent to the first composite job processing unit 501. The scan job 514 and the print job 521 are sent to the scan job processing unit 502 and the print job processing unit 506, respectively, at the same time as the generation. Of course, the printing operation cannot be started unless the scanning operation starts and data to be output to the printer 512 is completed (or ready). Therefore, the processing units (502, 503, 504, 50
5) and a processing unit (506, 507, 50) related to printing
8, 509), the process proceeds while synchronizing via an intermediate document 518, an intermediate page 519, and an intermediate band 520 which mean intermediate data. In the copy job, the scanner 51 is used as a device to be used.
0, page memory 511, and printer 512.

【0505】図115はジョブの分割例を示すブロック
図である。ホストコンピュータ301から送られてきた
コマンドがコピージョブである場合、ジョブ制御部30
4の処理は、コピージョブを更にプリントジョブとスキ
ャンジョブとに分割し、分割したジョブを処理するため
のデバイス(例えば、プリンタ、スキャナ、メモリ等)
が割り当てられ、それぞれ処理が進められる。
FIG. 115 is a block diagram showing an example of job division. If the command sent from the host computer 301 is a copy job, the job control unit 30
The processing of No. 4 further divides the copy job into a print job and a scan job, and a device (eg, printer, scanner, memory, etc.) for processing the divided job
Are assigned, and the processing proceeds.

【0506】以上のように、ジョブをページ単位に分割
して、各々の処理を実行するデバイスの割り当てと解放
を先に説明したDoEngineと組合わせて行うこと
により、効率的な複合機の制御が可能になることを以下
に説明する。
As described above, by dividing a job into pages and allocating and releasing devices for executing respective processes in combination with the above-described DoEngine, efficient control of the multifunction peripheral is achieved. The possibilities are described below.

【0507】図4のDoEngineのブロックを用い
て、コピー動作を行う場合のデータの流れを説明する。
この場合、処理系のデバイスとして割り当てられるのは
スキャナとプリンタである(図5の514、521)。
スキャンジョブ(514)の場合、スキャナからのイメ
ージデータはスキャナコントローラ4302により制御
され、GBUs404、システムバスブリッジ402を
介してメモリ403に書込まれる。プリントジョブの場
合、メモリ403に書込まれたデータは、システムバス
ブリッジ402、BBus405を介してプリンタコン
トローラ4303に送られプリント処理される。Dua
l−Bus構成とすることにより、Busの占有を解消
し、並列的に、CPU、メモリへのアクセスが可能にな
る。データの入力と平行して、出力を並列したタイミン
グで行うことが可能になる。
The flow of data when a copy operation is performed using the DoEngine block in FIG. 4 will be described.
In this case, a scanner and a printer are assigned as processing devices (514 and 521 in FIG. 5).
In the case of the scan job (514), image data from the scanner is controlled by the scanner controller 4302 and written into the memory 403 via the GBUs 404 and the system bus bridge 402. In the case of a print job, the data written in the memory 403 is sent to the printer controller 4303 via the system bus bridge 402 and BBus 405, and is subjected to print processing. Dua
By adopting the l-Bus configuration, the occupation of the Bus is eliminated, and the CPU and the memory can be accessed in parallel. The output can be performed in parallel with the data input and the output in parallel.

【0508】つまり、図5の処理でコピージョブ513
を分割したスキャンジョブ514とプリントジョブ52
1とは並列して処理することが可能になる。
That is, the copy job 513 in the processing of FIG.
Scan job 514 and print job 52 obtained by dividing
1 can be processed in parallel.

【0509】DoEngineを用いて、ページ単位の
入出力処理を行う際のデバイスの割り当てと解放を次に
説明する。
[0509] The allocation and release of devices when performing input / output processing in page units using DoEngine will be described below.

【0510】図113はスキャナとプリンタを処理系の
デバイス例として、ジョブ単位にシリアルに処理した従
来の場合(図113(a))と,本実施形態において、
ページ単位に並列に処理した場合(図113(b))の
デバイスの割り当てと解放をタイミングチャートとして
示した図である。
FIG. 113 shows a scanner (printer) as an example of a processing system device and a conventional case where processing is performed serially on a job basis (FIG. 113 (a)).
FIG. 113 is a timing chart showing device allocation and release when processing is performed in parallel in page units (FIG. 113B).

【0511】図113(a)の場合、ジョブ1のデバイ
スの割り当ては時刻T1でスキャナが割り当てられ、時
刻T2で解放される。続いてプリンタが時刻T3で割り
当てられ、時刻T4で解放される。後続のジョブ2で必
要となるスキャナ処理は時刻T5で割り当てられるが、
ジョブ1の処理でT2からT4までの時間帯はスキャナ
の空き時間であり、ジョブ2に対するむだ時間となる。
ジョブ2のプリンタはスキャナの解放(時刻T6)後、
時刻T7で割り当てられ時刻T8で解放される。
In the case of FIG. 113A, the device of job 1 is allocated to the scanner at time T1 and released at time T2. Subsequently, the printer is assigned at time T3 and released at time T4. Scanner processing required for the subsequent job 2 is assigned at time T5.
The time zone from T2 to T4 in the processing of job 1 is the idle time of the scanner, and is the dead time for job 2.
After releasing the scanner (time T6), the printer of job 2
It is allocated at time T7 and released at time T8.

【0512】ここで、「むだ時間」とは資源としてのデ
バイスは処理可能な状態であるにもかかわらず、入力す
るべき情報の仕掛かりによりデバイスが処理に着手でき
ない時間をいう。
[0512] Here, "dead time" refers to a time during which a device as a resource is in a processable state but cannot start processing due to a process of information to be input.

【0513】一方、図113(b)の場合、ジョブ1の
デバイスの割り当ては時刻T1でスキャナが割り当てら
れ、時刻T2で解放される。DoEngineによる処
理の並列化により、スキャナの解放前(時刻T2)に、
プリンタの割り当てが行われる(時刻T1a)。ジョブ
2に対するスキャナの割り当ては、時刻T2以降、可能
になる。例えば、T1cにスキャナの割り当て要求があ
った場合、T1cからT2までがスキャナ割り当てまで
の待機時間となる。
[0513] On the other hand, in the case of FIG. 113 (b), the device for job 1 is allocated to the scanner at time T1 and released at time T2. Before the scanner is released (time T2), the process is parallelized by DoEngine.
Printer assignment is performed (time T1a). The assignment of the scanner to the job 2 becomes possible after the time T2. For example, when there is a scanner assignment request at T1c, the time from T1c to T2 is the standby time until scanner assignment.

【0514】同様にプリンタの割り当ては、スキャナの
解放前(時刻T1d)に可能であり、時刻T1b以降割
り当てられ、時刻T1fに解放される。プリンタの割り
当て要求が時刻T1eにあった場合、T1eからT1b
までの時間帯はプリンタ割り当てまでの待機時間であ
る。以上の説明はコピージョブ同士を例に説明したが、
コピーとFAX、コピーとPDLプリント等を処理する
場合でも同様である。ジョブ1及び2のスループットは
(a),(b)を比較するとT8−T1fと短縮され
る。
Similarly, the printer can be allocated before the scanner is released (time T1d), allocated after time T1b, and released at time T1f. When the printer allocation request is received at time T1e, T1e is changed to T1b.
The time period up to is a waiting time until the printer is assigned. In the above description, copy jobs are described as examples.
The same applies to the case of processing copy and facsimile, copy and PDL print, and the like. The throughput of jobs 1 and 2 is reduced to T8-T1f when comparing (a) and (b).

【0515】ここで、「待機時間」とは、処理すべきデ
ータはすでに用意されておりデバイスの解放待ちとなる
時間をいい、入出力データの並列的な処理を可能にし、
データの仕掛かりを解消する点において、従来とは異な
るものである。ジョブのプライオリティなどの条件を反
映した、アービトレーションをDoEngineにより
行いデバイスの割り当てを制御することにより、「待機
時間」の最適化(最短化)が可能である。
[0515] Here, the "waiting time" refers to the time during which data to be processed is already prepared and the device is waiting for release, and enables parallel processing of input / output data.
This is different from the related art in that the in-process data is eliminated. The arbitration by DoEngine, which reflects conditions such as the priority of a job, is controlled by DoEngine, so that the “standby time” can be optimized (minimized).

【0516】ジョブの単位はFAXの送受信、PDL印
刷、コピー等があり、デバイス割り当て部406aは第
1〜第3デバイス407a〜409aの割当てを行う。
デバイスには、例えば、ページメモリやバンドメモリ、
ドキュメントフィーダー、マーキングエンジン及びスキ
ャナ等も含まれる。
[0516] The job unit includes FAX transmission / reception, PDL printing, copying, and the like. The device allocating unit 406a allocates the first to third devices 407a to 409a.
Devices include, for example, page memory and band memory,
Document feeders, marking engines and scanners are also included.

【0517】図114はコピージョブ513aと、51
3bとが生成された場合のブロック図である。基となる
ジョブが種々生成された場合であても、先に説明したよ
うに、ページ単位の分割を行い、並列的にデバイスの割
り当てと解放を行う点においては同様である。
FIG. 114 shows copy jobs 513a and 51
FIG. 3B is a block diagram in a case where 3b is generated. Even when various base jobs are generated, as described above, the same applies in that page division is performed and devices are allocated and released in parallel.

【0518】システムバスブリッジ402と、Dual
−Bus(GBus404、BBus405)とを用い
たDoEngineアーキテクチャによれば、データ処
理の競合を解消することが可能となり、従来はインタフ
ェース等にローカルに保有していたメモリが不要とな
る。1元的に集中管理されたメモリ403により、情報
を共有することが可能になる。
[0518] The system bus bridge 402 and Dual
According to the DoEngine architecture using -Bus (GBus404, BBus405), it is possible to eliminate data processing conflicts, and a memory conventionally held locally in an interface or the like becomes unnecessary. Information can be shared by the centrally managed memory 403.

【0519】(リアルタイム性の向上)図107から1
08に示した構成では、リアルタイム性の要求される処
理部もリアルタイム性の低い処理部も共通のCPUを用
いていたが、DoEngineをサテライトとして使用
し、CPUの使い分けを行うことで、リアルタイム性を
更に向上させることができる。
(Improvement of real-time property) FIG.
In the configuration shown in FIG. 08, the processing unit that requires real-time performance and the processing unit with low real-time performance use a common CPU. However, by using DoEngine as a satellite and using CPUs properly, real-time performance It can be further improved.

【0520】図107の構成に代え図115(a)のよ
うな構成を用いてもよい。図115(a)において、P
C115−1、115−2はホストコンピュータであ
り、115−3はDOEngineを備えたサテライト
PCである。DOEngineはPCIバスインターフ
ェースを有するので、PCIバススロットを有するコン
ピュータシステムと共に用いることができる。スキャナ
115−4、プリンタ115−5はPCIスロットを介
してPC115−3と接続したPCIサテライト構成と
なる。図115(b)はホストコンピュータと、サテラ
イトPCとが並列に接続した図(115−6、115−
7)であり、PCIバスを介して次世代複合機能周辺機
器(MFP)と接続した図である。
[0520] Instead of the configuration in Fig. 107, a configuration as shown in Fig. 115 (a) may be used. In FIG. 115 (a), P
C115-1 and C115-2 are host computers, and 115-3 is a satellite PC equipped with DOEngine. Since DOEngine has a PCI bus interface, it can be used with computer systems having PCI bus slots. The scanner 115-4 and the printer 115-5 have a PCI satellite configuration connected to the PC 115-3 via a PCI slot. FIG. 115 (b) is a diagram (115-6, 115-) in which a host computer and a satellite PC are connected in parallel.
7) is a diagram connected to a next-generation multifunction peripheral (MFP) via a PCI bus.

【0521】(サテライトDoEngine)図116
は、図115で示したサテライトPCにおけるDOEn
gineの接続に関するブロック図である。同図におい
て、DOEngine116−1はCPU401を備
え、リアルタイム性の高いジョブを優先的に処理をす
る。
(Satellite DoEngine) FIG. 116
Is the DOEn in the satellite PC shown in FIG.
FIG. 4 is a block diagram relating to connection of a Gine. In the figure, the DOEngine 116-1 includes a CPU 401, and preferentially processes a job having a high real-time property.

【0522】116−2はROM(リードオンリーメモ
リ)で、システム起動プログラムやプリンタエンジンの
制御を行うプログラム及び文字データ、文字コード情報
等の記憶領域である。
Reference numeral 116-2 denotes a ROM (read only memory), which is a storage area for a system startup program, a program for controlling the printer engine, character data, character code information, and the like.

【0523】116−3はRAM(ランダムアクセスメ
モリ)で、使用期限のない記憶領域で、ダウンロードに
より追加登録されたフォントデータが記憶されたり、様
々な処理ごとにプログラムやデータがロードされ実行さ
れる。
Reference numeral 116-3 denotes a RAM (random access memory) which is a storage area with no expiration date, in which font data additionally registered by download is stored, and programs and data are loaded and executed for various processes. .

【0524】116−4は例えばハードディスク等の外
部記憶装置で、印刷装置(プリンタ)が受け付けた印刷
ジョブ(プリントジョブ)をスプールしたり、プログラ
ムや各種情報ファイル等が格納されたり、作業用の領域
として利用される。
[0524] Reference numeral 116-4 denotes an external storage device such as a hard disk, which spools a print job (print job) received by the printing device (printer), stores programs and various information files, and stores a work area. Used as

【0525】116−5は液晶表示機等の表示部で、印
刷装置の設定状態や、現在の印刷装置内部の処理状態
や、エラー状態等を表示する。
[0525] Reference numeral 116-5 denotes a display unit such as a liquid crystal display, which displays a setting state of the printing apparatus, a current processing state in the printing apparatus, an error state, and the like.

【0526】116−6は操作部で、印刷装置の設定を
変更したり、リセットするために使用される。
An operation unit 116-6 is used for changing or resetting the settings of the printing apparatus.

【0527】116−7はエンジンインターフェース
(エンジンI/F)で、実際にエンジンを制御するコマ
ンド等をやり取りする。
[0527] Reference numeral 116-7 denotes an engine interface (engine I / F) for exchanging commands and the like for actually controlling the engine.

【0528】116−8はネットワークインターフェー
ス(ネットワークI/F)で、このネットワークI/F
208aを介して機器がネットワークに接続される。
Reference numeral 116-8 denotes a network interface (network I / F).
The device is connected to the network via 208a.

【0529】116−9は外部インターフェース(外部
I/F)で、パラレル(またはシリアル)等のインター
フェースを介してホストコンピュータと接続される。2
10はシステムバスで、上述した各構成要素間のデータ
の通路となる。
An external interface (external I / F) 116-9 is connected to a host computer via an interface such as parallel (or serial). 2
Reference numeral 10 denotes a system bus, which serves as a data path between the above-described components.

【0530】図117は、図109に対応するソフトウ
エアの構成を示す図である。同図において、リアルタイ
ム性の低い部分とリアルタイム性の高い部分とを分割し
て処理する。全体の処理を単一のCPUでまかなうので
はなく、ホストコンピて処理する。全体の処理を単一の
CPUでまかなうのではなく、ホストコンピュータとサ
テライトコンピュータとでそれぞれ処理を使い分けるこ
とにより、CPUの負荷を軽減し、システム全体として
の処理能力の向上を図ることができる。
FIG. 117 is a diagram showing the configuration of software corresponding to FIG. In the figure, a part having a low real-time property and a part having a high real-time property are divided and processed. The entire processing is not performed by a single CPU, but is processed by a host computer. The overall processing is not performed by a single CPU, but the processing is selectively used by the host computer and the satellite computer, whereby the load on the CPU can be reduced and the processing capacity of the entire system can be improved.

【0531】例えば、図117のプロトコル解釈部11
7−3の処理は、リアルタイム性の要求は低いのでPC
117−2(例えば、図115のPC115−1、11
5−2)のCPUで処理し、解釈されたコマンドはPC
Iバスを介してサテライトコンピュータ117−6(図
115のPC115−3)に送られ、DoEngine
のCPUでリアルタイムに処理される。送られたコマン
ドはサテライトコンピュータで、ジョブ制御され(11
7−4)、デバイスの割付、解放が行われる(117−
5)。
For example, the protocol interpreter 11 shown in FIG.
The processing of 7-3 requires a PC
117-2 (for example, PCs 115-1, 11 in FIG. 115)
The command processed and interpreted by the CPU of 5-2) is a PC
The data is sent to the satellite computer 117-6 (PC115-3 in FIG. 115) via the I bus, and is transmitted to the DoEngine.
Is processed in real time by the CPU. The transmitted command is job-controlled by the satellite computer (11).
7-4), device allocation and release are performed (117-).
5).

【0532】[0532]

【発明の効果】以上のように、システムバスブリッジ
と、Dual−Busを用いたDoEngineアーキ
テクチャにより画像情報の入力と出力の競合を解消し、
画像情報を処理するため各デバイスで使用するデータを
1元的に管理したメモリで共有することを可能とする。
As described above, the conflict between the input and output of image information is eliminated by the system bus bridge and the DoEngine architecture using Dual-Bus.
Data used by each device for processing image information can be shared by a centrally managed memory.

【0533】[0533]

【図面の簡単な説明】[Brief description of the drawings]

【図1】DoEngineを用いた装置あるいはシステ
ムの構成例の図である。
FIG. 1 is a diagram of a configuration example of an apparatus or a system using DoEngine.

【図2】DoEngineを用いた装置あるいはシステ
ムの構成例の図である。
FIG. 2 is a diagram of a configuration example of an apparatus or a system using DoEngine.

【図3】DoEngineを用いた装置あるいはシステ
ムの構成例の図である。
FIG. 3 is a diagram of a configuration example of an apparatus or system using DoEngine.

【図4】DoEngineのブロック図であるFIG. 4 is a block diagram of DoEngine.

【図5】FIG. 5

【図6】インタラプトコントローラ410のブロック図
である。
FIG. 6 is a block diagram of an interrupt controller 410.

【図7】メモリコントローラ403のブロック図であ
る。
FIG. 7 is a block diagram of a memory controller 403.

【図8】キャッシュコントローラ706を中心とする詳
細なブロック図である。
FIG. 8 is a detailed block diagram mainly showing a cache controller 706;

【図9】MCバスよりメモリリード/ライト転送が要求
された場合のキャッシュの動作を示すフローチャートで
ある。
FIG. 9 is a flowchart showing a cache operation when a memory read / write transfer is requested from the MC bus.

【図10】MCバスよりメモリリード/ライト転送が要
求された場合のキャッシュの動作を示すフローチャート
である。
FIG. 10 is a flowchart showing a cache operation when a memory read / write transfer is requested from the MC bus.

【図11】ROM/RAMコントローラ707の構成を
示す図である。
FIG. 11 is a diagram showing a configuration of a ROM / RAM controller 707.

【図12】CPUからのバースト読み出しのタイミング
を示すタイミング図である。
FIG. 12 is a timing chart showing the timing of burst reading from the CPU.

【図13】CPUからのバースト書き込みのタイミング
を示すタイミング図である。
FIG. 13 is a timing chart showing the timing of burst writing from the CPU.

【図14】Gバスデバイスからのバースト読み出しのタ
イミングを示すタイミング図である。
FIG. 14 is a timing chart showing the timing of burst reading from a G bus device.

【図15】Gバスデバイスからのバースト書き込みのタ
イミングを示すタイミング図である。
FIG. 15 is a timing chart showing the timing of burst write from a G bus device.

【図16】メモリフロントキャッシュにヒットした場合
のシングル読み出しのタイミングを示すタイミング図で
ある。
FIG. 16 is a timing chart showing the timing of a single read when a hit occurs in a memory front cache.

【図17】メモリフロントキャッシュにヒットしなかっ
た場合のシングル読み出しのタイミングを示すタイミン
グ図である。
FIG. 17 is a timing chart showing the timing of a single read when no hit occurs in the memory front cache.

【図18】メモリフロントキャッシュにヒットした場合
のシングル書き込みのタイミングを示すタイミング図で
ある。
FIG. 18 is a timing chart showing the timing of a single write when a hit occurs in a memory front cache.

【図19】メモリフロントキャッシュにヒットしなかっ
た場合のシングル書き込みのタイミングを示すタイミン
グ図である。
FIG. 19 is a timing chart showing the timing of a single write when no hit occurs in the memory front cache.

【図20】システムバスブリッジ(SBB)402のブ
ロック図である。
20 is a block diagram of a system bus bridge (SBB) 402. FIG.

【図21】Bバスインターフェースのブロック図であ
る。
FIG. 21 is a block diagram of a B bus interface.

【図22】Gバスインターフェース2006のブロック
図である。
FIG. 22 is a block diagram of a G bus interface 2006.

【図23】仮想メモリマップ、物理メモリマップ、Gバ
スのアドレス空間でのメモリマップ、Bバスのアドレス
空間でのメモリマップの図である。
FIG. 23 is a diagram of a virtual memory map, a physical memory map, a memory map in a G bus address space, and a memory map in a B bus address space.

【図24】レジスタ等を含む図23における斜線部の5
12メガバイトを示すマップの図である。
FIG. 24 shows a hatched portion 5 in FIG. 23 including a register and the like;
FIG. 4 is a diagram of a map showing 12 megabytes.

【図25】アドレススイッチ2003のブロック図であ
る。
FIG. 25 is a block diagram of an address switch 2003.

【図26】データスイッチ2004のブロック図であ
る。
FIG. 26 is a block diagram of a data switch 2004.

【図27】Gバスからの書き込み/読み出しサイクルの
タイミング図である。
FIG. 27 is a timing chart of a write / read cycle from the G bus.

【図28】Gバスのバースト停止サイクルのタイミング
図である。
FIG. 28 is a timing chart of a burst stop cycle of the G bus.

【図29】Gバスのトランザクション停止サイクルのタ
イミング図である。
FIG. 29 is a timing chart of a G bus transaction stop cycle.

【図30】Gバスのトランザクション停止サイクルのタ
イミング図である。
FIG. 30 is a timing chart of a G bus transaction stop cycle.

【図31】Gバスのトランザクション停止サイクルのタ
イミング図である。
FIG. 31 is a timing chart of a G bus transaction stop cycle.

【図32】Gバスのトランザクション停止サイクルのタ
イミング図である。
FIG. 32 is a timing chart of a G bus transaction stop cycle.

【図33】PCIバスインターフェース416のブロッ
ク図である。
FIG. 33 is a block diagram of a PCI bus interface 416.

【図34】Gバスアービタ(GBA)406のブロック
図である。
FIG. 34 is a block diagram of a G bus arbiter (GBA) 406.

【図35】DoEngine400内におけるGバス4
04を中心とする、Gバス上のバスマスタによるDMA
に係るブロック図である。
FIG. 35 shows a G bus 4 in DoEngine 400.
DMA by bus master on G bus centered on 04
FIG.

【図36】連続してバスを使用する回数が、バスマスタ
1〜4のすべてについて1に設定されている場合の公平
アービトレーションモード(フェアモード)の例を示す
図である。
FIG. 36 is a diagram illustrating an example of a fair arbitration mode (fair mode) when the number of times of continuous use of the bus is set to 1 for all of the bus masters 1 to 4;

【図37】連続してバスを使用する回数が、バスマスタ
1についてのみ2であり、他のバスマスタは1に設定さ
れている場合の公平アービトレーションモードの例を示
す図である。
FIG. 37 is a diagram illustrating an example of the fair arbitration mode when the number of times of continuous bus use is 2 for only the bus master 1 and the other bus masters are set to 1;

【図38】連続してバスを使用する回数がそれぞれ1ず
つであり、バスマスタ1が優先バスマスタと設定されて
いる場合の優先アービトレーションモードの例を示す図
である。
FIG. 38 is a diagram illustrating an example of a priority arbitration mode when the number of times of continuous use of the bus is one and the bus master 1 is set as a priority bus master.

【図39】バスマスタ1からのバス要求により、バスマ
スタ4のバス要求が許可されているにもかかわらず中断
された例を示す図である。
FIG. 39 is a diagram showing an example in which a bus request from the bus master 1 is interrupted even though the bus request from the bus master 4 is permitted.

【図40】Bバスアービタ407のブロック図である。40 is a block diagram of a B bus arbiter 407. FIG.

【図41】同期ユニット4001のブロック図である。FIG. 41 is a block diagram of a synchronization unit 4001.

【図42】同期ユニット内の一つコンペアユニットの図
である。
FIG. 42 is a diagram of one compare unit in the synchronization unit.

【図43】スキャナ/プリンタコントローラのブロック
図である。
FIG. 43 is a block diagram of a scanner / printer controller.

【図44】スキャナコントローラ4302のブロック図
である。
FIG. 44 is a block diagram of a scanner controller 4302.

【図45】スキャナデバイスI/F4401のブロック
図である。
FIG. 45 is a block diagram of a scanner device I / F4401.

【図46】スキャナビデオクロックユニット4402の
ブロック図である。
FIG. 46 is a block diagram of a scanner video clock unit 4402.

【図47】スキャナビデオデータマスク4601のブロ
ック図である。
FIG. 47 is a block diagram of a scanner video data mask 4601.

【図48】スキャナビデオデータマスク4602のブロ
ック図である。
FIG. 48 is a block diagram of a scanner video data mask 4602.

【図49】スキャナビデオデータ幅コンバータ4603
のブロック図である。
FIG. 49: Scanner video data width converter 4603
It is a block diagram of.

【図50】RGB各8ビットのカラー画像データ(24
ビット格納モード)のメモリ上でのならびを示す図であ
る。
FIG. 50 shows color image data (24 bits) for each of 8 bits of RGB.
FIG. 9 is a diagram showing the arrangement on a memory in a bit storage mode).

【図51】RGB各8ビットのカラー画像データ(32
ビット格納モード)のメモリ上でのならびを示す図であ
る。
FIG. 51 shows color image data (32 bits) for each of 8 bits of RGB.
FIG. 9 is a diagram showing the arrangement on a memory in a bit storage mode).

【図52】8ビットの白黒画像データのメモリ上でのな
らびを示す図である。
FIG. 52 is a diagram showing an arrangement of 8-bit monochrome image data on a memory.

【図53】2値の白黒画像データのメモリ上でのならび
を示す図である。
FIG. 53 is a diagram showing the arrangement of binary black and white image data on a memory.

【図54】BW8パッキングユニット4901により、
多値8ビットの白黒画像データを64ビット幅に変換す
る際のタイミング図である。
FIG. 54: Using a BW8 packing unit 4901
FIG. 9 is a timing chart when converting multi-valued 8-bit monochrome image data to a 64-bit width.

【図55】シフトレジスタ4902により2値白黒画像
データを64ビット幅に変換する際の画像データ入力の
タイミング図である。
FIG. 55 is a timing chart of image data input when binary black-and-white image data is converted into a 64-bit width by the shift register 4902.

【図56】RGBパッキングユニット4903により、
RGB各8ビット(全24ビット)の画像データを64
ビット幅に変換する際のタイミング図である。
FIG. 56 shows an RGB packing unit 4903.
RGB image data of 8 bits (24 bits in total) is 64
It is a timing chart at the time of converting into a bit width.

【図57】RGBパッキングユニット4903のブロッ
ク図である。
FIG. 57 is a block diagram of an RGB packing unit 4903.

【図58】スキャナ画像データ転送FIFOコントロー
ラ4403のブロック図である。
FIG. 58 is a block diagram of a scanner image data transfer FIFO controller 4403.

【図59】スキャナコントローラコントロールレジスタ
4404のブロック図である。
FIG. 59 is a block diagram of a scanner controller control register 4404.

【図60】IRQコントローラ4406のブロック図で
ある。
60 is a block diagram of the IRQ controller 4406. FIG.

【図61】メモリフィルモードコントローラ4405の
ブロック図である。
FIG. 61 is a block diagram of a memory fill mode controller 4405.

【図62】スキャナコントローラ4302からデータを
読み出してDMA転送する際のタイミング図である。
FIG. 62 is a timing chart when data is read from the scanner controller 4302 and DMA-transferred.

【図63】スキャナコントローラ4302の内部レジス
タに対して読み出しあるいは書き込みを行うタイミング
図である。
FIG. 63 is a timing chart for reading or writing to an internal register of the scanner controller 4302.

【図64】信号sccDmaPmStateの値及びク
ロックの状態と信号sccPmStateの値との関係
を示す図である。
FIG. 64 is a diagram illustrating a relationship between a value of a signal sccDmaPmState and a state of a clock and a value of a signal sccPmState.

【図65】スキャナコントローラ4302における、各
ブロックを含むコア部分と外部バスやスキャナとの間で
入出力される信号をまとめた図である。
FIG. 65 is a diagram summarizing signals input and output between a core portion including each block and an external bus or scanner in the scanner controller 4302.

【図66】プリンタコントローラ4303のブロック図
である。
FIG. 66 is a block diagram of a printer controller 4303.

【図67】プリンタデバイスI/F6601のブロック
図である。
FIG. 67 is a block diagram of a printer device I / F6601.

【図68】プリンタビデオクロックユニット6602の
ブロック図である。
FIG. 68 is a block diagram of a printer video clock unit 6602.

【図69】プリンタビデオデータマスク6801のブロ
ック図である。
FIG. 69 is a block diagram of a printer video data mask 6801.

【図70】プリンタビデオ同期コントロールユニット6
802のブロック図である。
FIG. 70: Printer video synchronization control unit 6
802 is a block diagram.

【図71】ビデオデータ幅コンバータ6803のブロッ
ク図である。
FIG. 71 is a block diagram of a video data width converter 6803.

【図72】RGB各8ビットのカラー画像データ(24
ビット格納モード)のメモリ上でのならびを示す図であ
る。
FIG. 72 shows color image data (24 bits) for each of 8 bits of RGB.
FIG. 9 is a diagram showing the arrangement on a memory in a bit storage mode).

【図73】RGB各8ビットのカラー画像データ(32
ビット格納モード)のメモリ上でのならびを示す図であ
る。
FIG. 73 shows color image data of 32 bits each of RGB (32 bits).
FIG. 9 is a diagram showing the arrangement on a memory in a bit storage mode).

【図74】8ビットの白黒画像データのメモリ上でのな
らびを示す図である。
FIG. 74 is a diagram showing the arrangement of 8-bit monochrome image data on a memory.

【図75】2値の白黒画像データのメモリ上でのならび
を示す図である。
FIG. 75 is a diagram showing the arrangement of binary monochrome image data on a memory.

【図76】RGBoutユニット7101のブロック図
である。
FIG. 76 is a block diagram of an RGBOut unit 7101.

【図77】プリンタ画像データ転送FIFOコントロー
ラ6603のブロック図である。
FIG. 77 is a block diagram of a printer image data transfer FIFO controller 6603.

【図78】プリンタコントローラコントロールレジスタ
6604のブロック図である。
FIG. 78 is a block diagram of a printer controller control register 6604.

【図79】IRQコントローラ6605のブロック図で
ある。
FIG. 79 is a block diagram of an IRQ controller 6605.

【図80】IRQコントローラ6605のブロック図で
ある。
FIG. 80 is a block diagram of an IRQ controller 6605.

【図81】プリンタコマンド/ステータスコントロール
ユニット6606のブロック図である。
FIG. 81 is a block diagram of a printer command / status control unit 6606.

【図82】オプションコントローラコントロールユニッ
ト6607のブロック図である。
FIG. 82 is a block diagram of an option controller control unit 6607.

【図83】プリンタコントローラ4303へデータをD
MA転送する際のタイミング図である。
FIG. 83: Data is sent to the printer controller 4303 by D.
It is a timing chart at the time of MA transfer.

【図84】プリンタコントローラ4303の内部レジス
タに対して読み出しあるいは書き込みを行うタイミング
図である。
FIG. 84 is a timing chart for reading or writing to an internal register of the printer controller 4303.

【図85】信号pscDmaPmStateの値及びク
ロックの状態と信号prcPmStateの値との関係
を示す図である。
FIG. 85 is a diagram illustrating a relationship between a value of a signal pscDmaPmState and a clock state and a value of a signal prcPmState.

【図86】プリンタコントローラ4303における、各
ブロックを含むコア部分と外部バスやスキャナとの間で
入出力される信号をまとめた図である。
FIG. 86 is a diagram summarizing signals input and output between a core portion including each block and an external bus or scanner in the printer controller 4303.

【図87】電力管理ユニット409のブロック図であ
る。
FIG. 87 is a block diagram of a power management unit 409.

【図88】バスエージェントのブロック図である。FIG. 88 is a block diagram of a bus agent.

【図89】スキャナコントローラからプリンタコントロ
ーラへと直接画像データを転送してコピーする画像のコ
ピー方式で使用されるブロックを示す図である。
FIG. 89 is a diagram illustrating blocks used in an image copying method in which image data is directly transferred from a scanner controller to a printer controller and copied.

【図90】スキャナコントローラからプリンタコントロ
ーラへと、FIFOを介して画像データを転送してコピ
ーする画像のコピー方式で使用されるブロックを示す図
である。
FIG. 90 is a diagram illustrating blocks used in an image copy method in which image data is transferred from a scanner controller to a printer controller via a FIFO and copied.

【図91】スキャナコントローラからプリンタコントロ
ーラへと、メモリを介して画像データを転送してコピー
する画像のコピー方式で使用されるブロックを示す図で
ある。
FIG. 91 is a diagram showing blocks used in an image copy method in which image data is transferred from a scanner controller to a printer controller via a memory and copied.

【図92】GBIのブロック図である。FIG. 92 is a block diagram of GBI.

【図93】FIFOユニットのブロック図である。FIG. 93 is a block diagram of a FIFO unit.

【図94】GBusコントローラのブロック図である。FIG. 94 is a block diagram of a GBus controller.

【図95】BBusコントローラのブロック図である。FIG. 95 is a block diagram of a BBus controller.

【図96】DMAコントローラのブロック図である。FIG. 96 is a block diagram of a DMA controller.

【図97】レジスタユニットのブロック図である。FIG. 97 is a block diagram of a register unit.

【図98】チェインテーブルの構成例を示す図である。FIG. 98 is a diagram illustrating a configuration example of a chain table.

【図99】GBIのコアインターフェースを示す図であ
る。
FIG. 99 is a diagram showing a GBI core interface.

【図100】コピー方式を選択する手順のフローチャー
トである。
FIG. 100 is a flowchart of a procedure for selecting a copy method.

【図101】スキャナコントローラ4302内部のデー
タバスの切り換え回路を示す図である。
FIG. 101 is a diagram showing a data bus switching circuit inside a scanner controller 4302.

【図102】プリンタコントローラ4303内部のデー
タバスの切り換え回路を示す図である。
FIG. 102 is a diagram illustrating a data bus switching circuit inside a printer controller 4303.

【図103】MCバスよりメモリリード/ライト転送が
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
FIG. 103 is a flowchart showing another example of the cache operation when a memory read / write transfer is requested from the MC bus.

【図104】MCバスよりメモリリード/ライト転送が
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
FIG. 104 is a flowchart showing another example of the cache operation when a memory read / write transfer is requested from the MC bus.

【図105】MCバスよりメモリリード/ライト転送が
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
FIG. 105 is a flowchart showing another example of the cache operation when a memory read / write transfer is requested from the MC bus.

【図106】MCバスよりメモリリード/ライト転送が
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
FIG. 106 is a flowchart showing another example of the cache operation when a memory read / write transfer is requested from the MC bus.

【図107】本発明の実施の形態に係る情報処理システ
ムの構成図である。
FIG. 107 is a configuration diagram of an information processing system according to an embodiment of the present invention.

【図108】本発明の実施の形態に係る情報処理システ
ムにおける周辺機器の基本的な構成を示すブロック図で
ある。
FIG. 108 is a block diagram showing a basic configuration of a peripheral device in the information processing system according to the embodiment of the present invention.

【図109】本発明の実施の形態に係る情報処理システ
ムにおける周辺機器のソフトウェア構造を概要を示す図
である。
FIG. 109 is a diagram showing an outline of a software structure of a peripheral device in the information processing system according to the embodiment of the present invention.

【図110】本発明の第1の実施の形態に係る情報処理
システムにおける周辺機器のソフトウェア構造の詳細を
示す図である。
FIG. 110 is a diagram showing details of a software structure of a peripheral device in the information processing system according to the first embodiment of the present invention.

【図111】本発明の第2の実施の形態に係る情報処理
システムにおける周辺機器のソフトウェア構造の詳細を
示す図である。
FIG. 111 is a diagram illustrating details of a software structure of a peripheral device in the information processing system according to the second embodiment of the present invention.

【図112】従来におけるジョブを一体として処理する
場合のタイミングチャートである。
FIG. 112 is a timing chart in the case where jobs are conventionally processed as one unit.

【図113】デバイスの割り当てと解放を行う処理を説
明する図である。
FIG. 113 is a diagram for describing processing for allocating and releasing devices.

【図114】複数のジョブが生成された場合の処理を説
明する図である。
FIG. 114 is a diagram for describing processing when a plurality of jobs are generated.

【図115】DoEngineをサテライトとして使用
する場合のシステムの構成例を示した図である。
FIG. 115 is a diagram illustrating a configuration example of a system when DoEngine is used as a satellite.

【図116】システムソフトウェア処理を2つのCPU
で別々に処理する場合を説明する図である。
FIG. 116 shows a system software process performed by two CPUs.
It is a figure explaining the case where processing is carried out separately.

【図117】複数のCPUにより処理を分割する場合の
ソフトウェア構造の概要を示す図である。
FIG. 117 is a diagram illustrating an outline of a software structure when processing is divided by a plurality of CPUs.

【符号の説明】[Explanation of symbols]

401 CPU 402 バスブリッジ 403 メモリ 404 Gバス 405 Bバス 406 Gバスアービタ 407 Bバスアービタ 4301A Gバス/Bバスインターフェース(スキャ
ナ) 4301B Gバス/Bバスインターフェース(プリン
タ) 4302 スキャナコントローラ 4303 プリンタコントローラ
401 CPU 402 Bus bridge 403 Memory 404 G bus 405 B bus 406 G bus arbiter 407 B bus arbiter 4301A G bus / B bus interface (scanner) 4301B G bus / B bus interface (printer) 4302 Scanner controller 4303 Printer controller

─────────────────────────────────────────────────────
────────────────────────────────────────────────── ───

【手続補正書】[Procedure amendment]

【提出日】平成11年4月16日(1999.4.1
6)
[Submission date] April 16, 1999 (1999.4.1
6)

【手続補正1】[Procedure amendment 1]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】全文[Correction target item name] Full text

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【書類名】 明細書[Document Name] Statement

【発明の名称】 複合機器の情報処理システムPatent application title: Information processing system for multifunction devices

【特許請求の範囲】[Claims]

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、プリンタ、ファッ
クス(FAX)、複写機等、複合機器に関して情報を処
理するシステムに関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a system for processing information regarding a complex device such as a printer, a facsimile (FAX), and a copying machine.

【0002】[0002]

【従来の技術】従来、スキャナなどの画像入力装置とプ
リンタなどの画像出力装置とを組み合わせた複写機やフ
ァクシミリ、あるいはそれらを単体として備えたコンピ
ュータシステムなど、複合機器と呼ばれる画像処理装置
が実用化されている。このような装置では、画像入力機
能、画像出力機能、コピー機能等の複合機能を実現する
ために、画像入力装置及び画像出力装置が同期して動作
することが不可能な場合には、画像入力装置から一旦メ
モリに取り込んだ画像データを画像出力装置に出力する
ことでコピー機能を実現していた。また、画像入力装置
及び画像出力装置が同期して動作することが可能な場合
には、画像入力装置から画像出力装置へ直接画像信号を
転送する経路を設けてコピー機能を実現していた。
2. Description of the Related Art Conventionally, an image processing apparatus called a composite apparatus such as a copier or facsimile combining an image input apparatus such as a scanner and an image output apparatus such as a printer, or a computer system having the same as a single unit has been put to practical use. Have been. In such a device, in order to realize a composite function such as an image input function, an image output function, and a copy function, if the image input device and the image output device cannot operate synchronously, the image input The copy function has been realized by outputting the image data once taken into the memory from the device to the image output device. When the image input device and the image output device can operate in synchronization, a copy function is realized by providing a path for directly transferring an image signal from the image input device to the image output device.

【0003】従来のデジタル複合機は、複写機にファッ
クス機能を追加したものや、ファックスにプリンタ機能
を追加したもの等、従来機の機能追加という形で発展し
てきており、複合動作ができてもジョブ単位の複合動作
及び並列動作しか行えなかった。従来のデジタル複合機
では、扱う種々のデータを入出力のために授受する十分
なバスの使用が確保できない場合のために、スキャナ、
プリンタ等のインタフェース部にローカルなメモリを分
散させた構成となっていた。
Conventional digital multifunction peripherals have been developed in the form of additional functions of conventional machines, such as those in which a fax function is added to a copying machine and those in which a printer function is added to a fax machine. Only the composite operation and the parallel operation in job units could be performed. In conventional digital multifunction devices, when it is not possible to secure a sufficient bus to transmit and receive various data to be
The configuration is such that a local memory is distributed in an interface unit such as a printer.

【0004】図112はジョブ単位の制御をした場合
の、ジョブ処理を説明するタイミングチャートである。
プリントジョブ1及びプリントジョブ2が複合機器で処
理するべきジョブである。これらのジョブが、あるリソ
ース(例えばページメモリ)を獲得する場合を考える。
時刻T1で先に投入されたプリントジョブ1がリソース
を獲得する。T2のタイミングで後続のプリントジョブ
2がリソースの獲得を行うが、プリントジョブ1がリソ
ースを占有しており(ロック)しており、獲得できず、
リソースの獲得要求はキューイングされる。そしてT3
のタイミングでプリントジョブ1がリソースを開放する
と、キューイング中のプリントジョブ2のリソース獲得
要求に従い、プリントジョブ2がリソースを獲得し、処
理を行う。つまり、T1からT3の時間、プリントジョ
ブ1は排他的にリソースを使用するためにプリントジョ
ブ1とプリントジョブ2の処理はシリアルになる。
FIG. 112 is a timing chart for explaining job processing when control is performed on a job basis.
Print job 1 and print job 2 are jobs to be processed by the multifunction peripheral. Consider a case where these jobs acquire a certain resource (for example, page memory).
At time T1, the print job 1 previously input acquires the resource. At the timing of T2, the subsequent print job 2 acquires the resource, but the print job 1 occupies the resource (locks) and cannot acquire the resource.
The resource acquisition request is queued. And T3
When the print job 1 releases the resources at the timing of (1), the print job 2 acquires the resources and performs the processing in accordance with the resource acquisition request of the queued print job 2. In other words, during the time from T1 to T3, the print job 1 exclusively uses resources, so that the processes of the print job 1 and the print job 2 become serial.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、従来の
デジタル複合機では、一連のジョブの処理をジョブ単位
ごとに順序だてて実行させていたために、複数のジョブ
がデジタル複合機に入力された場合は先行するジョブの
処理終了まで、後続のジョブは待機状態となり、ジョブ
のスループットは低下した。
However, in the conventional digital multi-function peripheral, a series of jobs are processed in a job-by-job order and executed. Therefore, when a plurality of jobs are input to the digital multi-function peripheral. The next job is in a standby state until the processing of the preceding job is completed, and the throughput of the job is reduced.

【0006】また、ローカルに分散して確保されたメモ
リは、デバイスごとに重複した情報を格納する場合もあ
り、必要な領域以上の冗長なメモリ領域を必要としてい
た。
[0006] In some cases, a locally secured memory stores redundant information for each device, and thus requires a redundant memory area larger than a necessary area.

【0007】また、リアルタイム性の要否に差がある処
理を単一のCPUでまかなう場合、リアルタイム性を必
要とする処理が、リアルタイム性を要さない処理の犠牲
となり、システム全体の処理能力を低下させていた。
Further, when a single CPU is used for processing having a difference in necessity of real-time processing, processing that requires real-time processing is sacrificed by processing that does not require real-time processing. Had been lowered.

【0008】[0008]

【課題を解決するための手段】本発明にかかるシステム
は上記課題のいずれかを解決するためののもであり、主
として以下の構成からなることを特徴とする。
The system according to the present invention is for solving any of the above-mentioned problems, and is characterized mainly by the following constitution.

【0009】すなわち、複合機器の情報処理システム
は、画像信号入力手段から画像信号を入力するインタフ
ェースと、前記インタフェースをシステムバスブリッジ
に接続する第一のバスと、前記システムバスブリッジを
介して前記入力した画像信号を格納するメモリと、画像
信号出力手段から画像信号を出力するインタフェース
と、前記格納した画像信号を前記システムバスブリッジ
を介して前記画像信号を出力するインタフェースに接続
する第二のバスとを備えることを特徴とする。
That is, the information processing system of the multifunction device includes an interface for inputting an image signal from the image signal input means, a first bus connecting the interface to a system bus bridge, and the input bus via the system bus bridge. A memory for storing the stored image signal, an interface for outputting the image signal from the image signal output unit, and a second bus connecting the stored image signal to the interface for outputting the image signal via the system bus bridge. It is characterized by having.

【0010】また、複合機器の情報処理システムは、情
報処理装置から送信された手続きを解釈する解釈手段
と、前記手続きの解釈に基き、ジョブを生成するジョブ
生成手段と、前記生成されたジョブを構成する要素に分
割する分割手段と、前記分割した要素を処理するための
デバイスの割り付けと解放とを管理するデバイス管理手
段と、前記割付けられたデバイスの処理結果をメモリに
書込む手段と、前記メモリに書込まれたデータを、他の
デバイスに出力するための手段と、 を備えること
を特徴とする。
[0010] The information processing system of the multifunction peripheral includes an interpreting means for interpreting a procedure transmitted from the information processing apparatus, a job generating means for generating a job based on the interpretation of the procedure, and a Dividing means for dividing into constituent elements, device managing means for managing allocation and release of devices for processing the divided elements, means for writing processing results of the allocated devices to a memory, Means for outputting data written in the memory to another device.

【0011】[0011]

【発明の実施の形態】次にプロセッサコア、プロセッサ
周辺コントローラ、メモリコントローラ、スキャナ/プ
リンタコントローラ、PCIインターフェースなどを内
蔵したシングルチップ・スキャニング・プリンティング
エンジンである“DoEngine”を説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, a description will be given of "DoEngine" which is a single-chip scanning and printing engine including a processor core, a processor peripheral controller, a memory controller, a scanner / printer controller, a PCI interface and the like.

【0012】1.DoEngine概要 DoEngineは、MIPSテクノロジー社のR40
00プロセッサとコンパチブルなプロセッサコア、プロ
セッサ周辺コントローラ、メモリコントローラ、スキャ
ナー/プリンタコントローラ、PCIインターフェース
などを内蔵したシングルチップ・スキャニング・プリン
ティングエンジンである。高速並列動作、ビルディング
ブロック手法を採用し実装される。
1. DoEngine Overview DoEngine is an R40 from MIPS Technology.
It is a single-chip scanning and printing engine with a built-in processor core, processor peripheral controller, memory controller, scanner / printer controller, PCI interface, etc. It is implemented using high-speed parallel operation and the building block method.

【0013】プロセッサシェル(プロセッサコアを含む
プロセッサ周辺回路の総称)内には最大でインストラク
ション、データそれぞれ16Kバイトの計32Kバイト
のキャッシュメモリ、FPU(浮動小数点演算ユニッ
ト)、MMU(メモリ管理ユニット)、ユーザー定義可
能なコプロセッサなどを内蔵することが可能である。
In a processor shell (general term for processor peripheral circuits including a processor core), a maximum of 32 Kbytes of cache memory of 16 Kbytes each of instructions and data, an FPU (floating point arithmetic unit), an MMU (memory management unit), It is possible to incorporate a user-definable coprocessor or the like.

【0014】PCIバスインターフェースを有するの
で、PCIバススロットを有するコンピュータシステム
と共に用いることができる。また、PCIサテライト構
成に加え、PCIホストバスブリッジ構成にてPCIバ
スコンフィギュレーションを発行することが可能であ
り、安価なPCI周辺デバイスと組み合わせることによ
り、マルチファンクションペリフェラル(複合機能周辺
機器)のメインエンジンとして使用することも可能であ
る。さらにPCIバスインターフェースを有するレンダ
リングエンジン、圧縮・伸長エンジンと組み合わせるこ
とも可能である。
Since it has a PCI bus interface, it can be used with a computer system having a PCI bus slot. In addition to the PCI satellite configuration, a PCI bus configuration can be issued in a PCI host bus bridge configuration. By combining with a low-cost PCI peripheral device, a main engine of a multifunction peripheral (multifunction peripheral) can be issued. It is also possible to use as. Furthermore, it is possible to combine with a rendering engine and a compression / decompression engine having a PCI bus interface.

【0015】チップ内部に汎用IOコアを接続するIO
バス(Bバス)、及び、画像データ転送に最適化したグ
ラフィックバス(Gバス:Graphics Bus)の2系統の独立
したバスを有し、メモリ、プロセッサとこれらのバスを
クロスバスイッチを介して接続することにより、マルチ
ファンクションシステムにおける同時動作に必須の、並
列性の高い高速データ転送を実現している。
An IO for connecting a general-purpose IO core inside the chip
It has two independent buses, a bus (B bus) and a graphic bus (G bus: Graphics Bus) optimized for image data transfer, and connects these buses with a memory and a processor via a crossbar switch. As a result, high-speed data transfer with high parallelism, which is essential for simultaneous operation in a multifunction system, is realized.

【0016】メモリには、画像データに代表される、連
続したデータ列のアクセスに対し、最高のコストパフォ
ーマンスを有するシンクロナスDRAM(SDRAM)
をサポートし、SDRAMのバーストアクセス高速デー
タ転送のメリットを享受できない小さなデータ単位での
ランダムアクセスにおける性能低下を最小に抑えるため
に、8Kバイトの2ウェイセットアソシアティブ・メモ
リフロントキャッシュをメモリコントローラ内に備え
る。メモリフロントキャッシュは、すべてのメモリライ
トに対するバススヌープが難しい、クロスバスイッチを
採用したシステム構成においても、複雑な機構なしに、
キャッシュメモリによる高性能化が達成出来る方式であ
る。また、リアルタイムデータ転送(機器制御)が可能
な、プリンタ及びスキャナーとのデータインターフェー
ス(Video Interface)を有し、さらにハードウェアによ
る、機器間同期のサポート及び画像処理を行う事によ
り、スキャナ、プリンタ分離型の構成においても、高品
質で高速なコピー動作の実現が可能な構成となってい
る。
The memory has a synchronous DRAM (SDRAM) having the highest cost performance for accessing a continuous data string represented by image data.
In order to minimize the performance degradation of random access in small data units that cannot enjoy the advantages of SDRAM burst access high-speed data transfer, an 8-Kbyte 2-way set associative memory front cache is provided in the memory controller. . The memory front cache, even in a system configuration that employs a crossbar switch, in which bus snooping for all memory writes is difficult, without a complicated mechanism,
This is a system that can achieve high performance by a cache memory. In addition, it has a data interface (Video Interface) with a printer and a scanner capable of real-time data transfer (device control), and further supports hardware synchronization between devices and performs image processing to separate the scanner and printer. Also in the mold configuration, a high-quality and high-speed copy operation can be realized.

【0017】なお、DoEngineは、コアが3.3
Vで動作し、IOは5Vトレラントである。
Note that DoEngine has a core of 3.3.
Operates at V and IO is 5V tolerant.

【0018】図1及び図2,図3は、DoEngine
を用いた装置あるいはシステムの構成例を示している。
図1は分離構成型であり、パーソナルコンピュータ10
2には、それが備えるPCIインターフェースを介して
DoEngineを備えたローカルボード101が装着
される。ローカルボード101にはDoEngineの
ほか、後述するメモリバスを介してDoEngineと
接続されたメモリと、色処理回路(チップ)が設けられ
ている。このローカルボード101を介して、高速スキ
ャナ103とカラー/モノクロプリンタ104とがパー
ソナルコンピュータ102に接続される。この構成によ
り、パーソナルコンピュータの制御のもとで,ローカル
ボード101により、スキャナ103から入力された画
像情報を処理し、プリンタ104から出力させることが
できる。
FIGS. 1, 2 and 3 show DoEngine
1 shows an example of the configuration of an apparatus or a system that uses the same.
FIG. 1 shows a personal computer 10 of a separated configuration type.
A local board 101 equipped with DoEngine is attached to 2 via a PCI interface provided therein. The local board 101 includes, in addition to DoEngine, a memory connected to DoEngine via a memory bus, which will be described later, and a color processing circuit (chip). The high-speed scanner 103 and the color / monochrome printer 104 are connected to the personal computer 102 via the local board 101. With this configuration, under the control of the personal computer, the local board 101 can process the image information input from the scanner 103 and output the image information from the printer 104.

【0019】また、図2及び図3はスキャナ203とプ
リンタ202とを一体に組み込んだ例で、図2は通常の
複写機に類する構成を、図3(a)はファクシミリ装置
などの構成を示している。図3(b)は、図3(a)を
コントロールするコンピュータを示している。
FIGS. 2 and 3 show an example in which the scanner 203 and the printer 202 are integrated. FIG. 2 shows a configuration similar to a normal copying machine, and FIG. 3A shows a configuration of a facsimile machine and the like. ing. FIG. 3B shows a computer that controls FIG. 3A.

【0020】これらのうち、図1,2は、PCIインタ
ーフェースを介して接続された外部のCPUによりDo
Engineが制御されるというスレーブモードで使用
されている例であり、図3は、DoEngineのCP
Uが主体となり、PCIインターフェースを介して接続
されたデバイスを制御するマスタモードで使用されてい
る例である。
FIGS. 1 and 2 show DoP by an external CPU connected via a PCI interface.
FIG. 3 shows an example in which the engine is used in a slave mode in which the engine is controlled.
This is an example in which U is a main component and is used in a master mode for controlling a device connected via a PCI interface.

【0021】表1として、DoEngineの仕様を示
す。外部インターフェースとして、PCI,メモリバ
ス,ビデオ,汎用入出力,IEEE1284,RS23
2C,100baseT/10baseT,LCDパネ
ル及びキーを備えるが、更にUSBを有していてもよ
い。内蔵ブロックとして、CPUコアに加えて、1次キ
ャッシュ,キャッシュ付きメモリコントローラ,コピー
エンジン,IOバスアービタ(Bバスアービタ),グラ
フィックバスアービタ(Gバスアービタ)などを備えて
いる。また、DMAコントローラはチャネル数が5であ
り、グラフィックバス(Gバス),IOバス(Bバス)
ともに、アービトレーションは優先度付きの先着順処理
方式で行われる。
Table 1 shows the specifications of DoEngine. External interfaces include PCI, memory bus, video, general purpose input / output, IEEE1284, RS23
2C, 100baseT / 10baseT, LCD panel and key, but may further have USB. As a built-in block, a primary cache, a memory controller with a cache, a copy engine, an IO bus arbiter (B bus arbiter), a graphic bus arbiter (G bus arbiter), and the like are provided in addition to the CPU core. The DMA controller has five channels, and has a graphic bus (G bus) and an IO bus (B bus).
In both cases, arbitration is performed in a first-come-first-served manner with priority.

【0022】[0022]

【表1】 [Table 1]

【0023】2.DoEngineの構成及び動作 本章では、DoEngine の総論に加え、各機能ブ
ロック毎のブロック図、概要、詳細、コアインターフェ
ース、タイミング図などを解説する。
2. Configuration and operation of DoEngine In this chapter, in addition to the general description of DoEngine, a block diagram for each functional block, an overview, details, a core interface, a timing diagram, and the like are described.

【0024】2.1.DoEngineのチップ構成 図4として、DoEngineのブロック図を示す。D
oEngine400は次世代複合機能周辺機器(シス
テム)(MFP:Multi Function Peripheral or MFS:Multi
Function System)の主たるコントローラとして設計、開
発された。
2.1. DoEngine Chip Configuration FIG. 4 shows a block diagram of DoEngine. D
oEngine 400 is a next-generation multifunction peripheral (system) (MFP: Multi Function Peripheral or MFS: Multi
Function System) was designed and developed as the main controller.

【0025】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モジュール間を、可能な限り、同時平行接
続を確保することができるように設計されている。
As a CPU (processor core) 401,
Adopt MIPSR4000 core from MIPS Technology. In the processor core 401, instructions and data cache memory of 8 Kbytes each, M
MU and the like are implemented. The processor core 401 has 64
It is connected to a system bus bridge (SBB) 402 via a bit processor bus (SC bus). S
A BB 402 is a 4 × 4 64-bit crossbar switch, and is connected to a memory controller 403 for controlling an SDRAM or a ROM having a cache memory in addition to the processor core 401 by a dedicated local bus (MC bus). G bus 40 which is a graphic bus
4. Connected to the B bus 405, which is an IO bus,
Connected to two buses. System bus bridge 402
Is designed to ensure simultaneous parallel connection between these four modules as much as possible.

【0026】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にも接続されている。
The G bus 404 is a G bus arbiter (GBA).
Coordinated control is performed by a control unit 406, which is connected to a scanner controller 4302 or a printer controller 4303 for connecting to a scanner or a printer. The B bus 405 is cooperatively controlled by a B bus arbiter (BBA) 407, and includes a scanner / printer controller, a power management unit (PMU) 409, an interrupt controller (IC) 410, and a serial interface controller (UART) using a UART. SIC) 411, U
SB controller 412, parallel interface controller (PIC) 41 using IEEE1284
3. LAN controller using Ethernet (LAN
C) 414, LCD panel, keys, general-purpose input / output controller (PC) 415, PCI bus interface (P
CIC) 416.

【0027】2.2.プロセッサシェル プロセッサシェルとは、プロセッサコアに加えMMU
(Memory Management Unit)、命令キャッシュ、データ
キャッシュ、ライトバックバッファ及び掛け算ユニット
を含んだブロックを指す。
2.2. Processor shell A processor shell is an MMU in addition to a processor core.
(Memory Management Unit), an instruction cache, a data cache, a write-back buffer, and a block including a multiplication unit.

【0028】(キャッシュメモリ)図5に示したよう
に、キャッシュメモリコントローラは、無効(Invali
d),有効かつクリーン(Valid Clean:キャッシュが更
新されていない),有効かつダーティ(Valid Dirty:キ
ャッシュが更新されている)の3つのステートキャッシ
ュを管理する。この状態に応じて、キャッシュは制御さ
れる。
(Cache Memory) As shown in FIG. 5, the cache memory controller is invalid.
d) manages three state caches: valid and clean (Valid Clean: the cache has not been updated), and valid and dirty (Valid Dirty: the cache has been updated). The cache is controlled according to this state.

【0029】2.3.インタラプトコントローラ 図6にインタラプトコントローラ410のブロック図を
示す。
2.3. Interrupt Controller FIG. 6 shows a block diagram of the interrupt controller 410.

【0030】インタラプトコントローラ410は、Bバ
スインターフェース605を介してBバス405に接続
され、DoEngineチップ内の各機能ブロック及
び、チップ外部からのインタラプトを集積し、CPUコ
ア401がサポートする、6レベルの外部インタラプト
及び、ノンマスカブルインタラプト(NMI)に再分配
する。各機能ブロックとは、電力管理ユニット409,
シリアルインターフェースコントローラ411,USB
コントローラ412,パラレルインターフェースコント
ローラ413,イーサネットコントローラ414,汎用
IOコントローラ415,PCIインターフェースコン
トローラ416,スキャナコントローラ4302,プリ
ンタコントローラ4303などである。
The interrupt controller 410 is connected to the B bus 405 via the B bus interface 605, integrates each functional block in the DoEngine chip and an interrupt from outside the chip, and has six levels of CPUs supported by the CPU core 401. Redistribute to external interrupts and non-maskable interrupts (NMI). Each functional block includes a power management unit 409,
Serial interface controller 411, USB
Controller 412, parallel interface controller 413, Ethernet controller 414, general-purpose IO controller 415, PCI interface controller 416, scanner controller 4302, printer controller 4303, and the like.

【0031】この際、ソフトウェアコンフィギュレーシ
ョン可能なマスクレジスタ(Int Mask Logic 0 - 5)60
2により、各要因毎に割り込みをマスクをすることが可
能である。また、外部インタラプト入力は、選択的エッ
ジ検出回路601により、信号線ごとに、エッジセンス
/レベルセンスを選択することが出来る。要因レジスタ
(Detect and set Cause Reg 0 - 5)603は、各レベ
ルごとに、どのインタラプトがアサートされているかを
示すとともに、ライト動作を行うことで、レベルごとに
クリアを行う事が出来る。
At this time, a mask register (Int Mask Logic 0-5) 60 capable of software configuration is used.
According to 2, it is possible to mask an interrupt for each factor. For the external interrupt input, the edge sensing / level sensing can be selected for each signal line by the selective edge detection circuit 601. A cause register (Detect and set Cause Reg 0-5) 603 indicates which interrupt is asserted for each level, and can perform a clear operation for each level by performing a write operation.

【0032】各レベルの割込み信号は、各レベル毎に少
なくともひとつの割り込みがあれば割込み信号を出力す
べく、論理和回路604により論理和として出力され
る。なお、各レベル内での複数要因間のレベル付けはソ
フトウェアにて行う。
The interrupt signal of each level is output as a logical sum by the logical sum circuit 604 so as to output an interrupt signal if there is at least one interrupt for each level. The level assignment between a plurality of factors in each level is performed by software.

【0033】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ビットとする。
2.4. Memory Controller FIG. 7 is a block diagram of the memory controller 403. The memory controller 403 is connected via an MC bus interface 701 to an MC bus, which is a local bus dedicated to the memory controller, and supports a maximum of 1 gigabyte synchronous DRAM (SDRAM) and a 32 megabyte flash ROM or ROM.
64 (16 × 4) burst transfer is realized to take advantage of the high speed at the time of burst transfer, which is a feature of SDRAM. In consideration of single transfer of continuous addresses from the CPU and the B bus, an SRAM (memory front cache) 702 is built in the memory controller, and transfer efficiency is reduced by avoiding direct single transfer to the SDRAM as much as possible. Improve. The data bus width between the memory controller and the SDRAM is a total of 72 bits including the signals ramData and ramPar (of which the signal ramPar of 8 bits is parity), and the data buses fntromData and pr between the flash ROM.
The width of gromData is 32 bits.

【0034】2.4.2.構成及び動作 メモリコントローラの各部はこれから説明するような構
成となっている。
2.4.2. Configuration and Operation The components of the memory controller are configured as described below.

【0035】(MCバスインターフェース(701))
MCバスは、SBB402−メモリコントローラ403
間の専用のバスであり、またSBB内部の基本バスとし
て用いられている。
(MC bus interface (701))
MC bus is SBB 402-memory controller 403
It is a dedicated bus between them and is used as a basic bus inside the SBB.

【0036】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ビットがソース(マスタ)をあらわ
し、下位ビットがシングル/バースト長をあらわす。タ
イプには次のようなものがある。
While the burst transfer of the dedicated bus PBus connecting the CPU 401 and the bus bridge 402 specifies only four bursts, the MC bus adds a transfer of up to 16 bursts × 4. For this purpose, mTType [6: 0] is newly defined as a signal indicating the burst length. (Definition of MC bus signal) Each signal of the MC bus is defined as follows. • mClk (output) ··· MC bus clock · mAddr [31: 0] (output) ··· MC bus address This is a 32-bit address bus and is held from the time when mTs_L is asserted until mBRdy_L is asserted. • mDataOut [63: 0] (output) ··· MC bus data output This is a 64-bit output data bus, and is valid only when mDataOe_L is asserted. • mDataOe_L (output) ... MC bus data output enable Indicates that mDataOut [63: 0] is valid. It also indicates that the transfer is a Write. • mDataIn [63: 0] (input) ··· MC bus data input This is a 64-bit input data bus, sampled at the rising edge of mClk where mBRdy_L is asserted. • mTs_L (output)… MC bus transaction start strobe Indicates that transfer has started. Asserted only during the first clock of the transfer. If the transfer is completed in one clock and the next transfer is started immediately, mTs_L will remain asserted. • mTType [6: 0] (output) ... MC bus transaction type Indicates the type of transfer on the MC bus. It is held during the single transfer and during the first transfer (beat) during the burst transfer. The upper 3 bits represent the source (master) and the lower bits represent the single / burst length. The types are as follows.

【0037】 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バススレーブ(メモリコントローラ)がページ内書
き込みトランザクションを許可するかどうかを示し、mB
Rdy_Lと同じクロックでサンプリングされる。この時mBP
WA_LがディアサートされていればmTPW_Lは無意味とな
る。 ・mBRty_L(入力) … バスリトライ MCバススレーブ(メモリコントローラ)がアクセスを
未実行のまま終了させる場合にアサートし、少なくとも
1サイクル以上のアイドルの後に再試行しなければなら
ないことを示す。(もしmBRdy_LとmBRty_Lが同時にアサ
ートされた場合は、mBRty_Lが優先される。) ・mBerr_L(入力) … バスエラー パリティエラーやその他のバスエラーが発生した場合に
アサートされる。
MTType [6: 4] Signal source --------------- -------------------- CPU CPU 010 B bus 100 G bus -------------- −−− mTType [3: 0] Single / burst length −−−−−−−−−−−−−−−−−− 1xxx Single (1-8 bytes) 0001 2 burst 0010 4 burst 0011 6 burst 0100 8 burst 0101 16 bursts 0110 2 × 16 bursts 0111 3 × 16 bursts 0000 4 × 16 bursts • mBE_L [7: 0] (output) ... MC bus transaction byte enable Indicates the valid byte lane on the 64-bit data bus during single transfer. At the time of burst transfer, it is effective only at the time of Write, and is ignored at the time of Read. • mBRdy_L (input)… MC bus ready Indicates that the current transfer (beat) has been completed.・ MTPW_L (output)… next transaction
In-page write (in-page write) Indicates that the next transfer is a write of the same page (same Row address), and up to four writes can be continued. The page size is set in the configuration register in advance. • mBPWA_L (input)… Write enable in-page write of bus Indicates whether the MC bus slave (memory controller) allows write-in-page transactions, mBWA_L (input)
Sampled at the same clock as Rdy_L. At this time mBP
If WA_L is deasserted, mTPW_L is meaningless. • mBRty_L (input) ... Bus retry Assert when the MC bus slave (memory controller) terminates access without executing it, and indicates that retry must be performed after idle for at least one cycle. (If mBRdy_L and mBRty_L are asserted at the same time, mBRty_L has priority.)-MBerr_L (input) ... Bus error This signal is asserted when a parity error or other bus error occurs.

【0038】なお、上述した入出力の別は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信号をアサートし、バスリトラ
イを通知する。
The above-mentioned distinction between input and output is a definition from the viewpoint of the SBB. (MC bus transaction) The following transactions are supported as transactions on the MC bus. Basic transaction (1,2,3,4,8 bytes Read /
Write) According to the mBE_L [7: 0] signal, a single transaction of 1, 2, 3, 4, or 8 bytes is supported. Burst Transactions (from CPU) Supports transactions up to 4-doubleword burst. Supports up to four 16-doubleword burst transactions from the G bus. In-page write (in-page write) transaction Regarding the write in the same page indicated by mTPW_L,
Supports continuous Write access. Bus retry If memory access is not possible due to restrictions in the memory controller, the mBRty_L signal is asserted to notify bus retry.

【0039】(SDRAMコントローラ(705))メ
モリコントローラ403は、次のような構成を有するS
DRAMを以下のように制御する。
(SDRAM Controller (705)) The memory controller 403 has the following configuration.
The DRAM is controlled as follows.

【0040】(DRAM構成)DRAMの構成として
は、x4,x8,x16ビットタイプの16/64メガビットS
DRAMを64ビットデータバスで8バンク制御すること
ができる。
(DRAM Configuration) A DRAM has a 16/64 megabit S of x4, x8, and x16 bit type.
The DRAM can be controlled by eight banks using a 64-bit data bus.

【0041】[0041]

【表2】 [Table 2]

【0042】(DRAMアドレスビット構成)DRAM
のアドレスビットの割付けについては、64ビットSD
RAMの場合にはMA[13:0]を、16ビットSDRAMの
場合にはMA[11:0]を使用する。
(DRAM address bit configuration) DRAM
For the assignment of the address bits of
MA [13: 0] is used for a RAM, and MA [11: 0] is used for a 16-bit SDRAM.

【0043】[0043]

【表3】 [Table 3]

【0044】(SDRAMプログラマブル構成(モード
レジスタ))SDRAMは内部にモードレジスタを持
ち、モードレジスタ設定コマンドを用いて下記の項目を
設定する。 バースト長 バースト長は、1,2,4,8,フルページのいずれか
が設定可能であるが、CPUからのバースト転送長が4で
あることから、バースト長4が最適である。Gバスから
の16バースト以上の転送は、Read/Writeコマンド(オ
ートプリチャージ無し)を連続して発行することにより
実現する。 ラップタイプ(Wrap Type) バースト転送時のアドレスのインクリメント順を設定す
る。「シーケンシャル」または「インターリーブ」のど
ちらかが設定可能である。 CASレイテンシ CASレイテンシは、1,2,3のいずれかが設定可能で
あり、使用するSDRAMのグレードと動作クロックに
より決定される。
(SDRAM Programmable Configuration (Mode Register)) The SDRAM has an internal mode register, and sets the following items using a mode register setting command. Burst Length The burst length can be set to one of 1, 2, 4, 8 and full page, but the burst length of 4 is optimal because the burst transfer length from the CPU is 4. Transfer of 16 bursts or more from the G bus is realized by continuously issuing a Read / Write command (without auto precharge). Wrap Type Set the increment order of addresses during burst transfer. Either “sequential” or “interleave” can be set. CAS Latency The CAS latency can be set to one of 1, 2, and 3, and is determined by the grade of SDRAM to be used and the operation clock.

【0045】(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 command) The following commands are supported for the SDRAM. Details of each command are described in the SDRAM data book.・ Mode register setting command ・ Active command ・ Precharge command ・ Write command ・ Read command ・ CBR (Auto) refresh command ・ Self refresh start command ・ Burst stop command ・ NOP command (SDRAM refresh) SDRAM is 2048 cycles / 32ms (4096 / 64 ms), a CBR refresh command is issued every 16,625 ns. The memory controller has a configurable refresh counter and automatically sets the CBR
Issue a refresh command. During the transfer of 16-burst xn from the G bus, no refresh request is accepted. So the refresh counter is 16-burst x
4 You must set a value that has a margin for the transfer time. It also supports self refresh. When this command is issued, power down mode (ramclke_L
= Low), self-refresh is continued.

【0046】(SDRAM初期化)メモリコントローラ
はパワーオンリセット後、SDRAMに対して以下の初
期化を行なう。すなわち、電源投入後100μsのポーズ
期間をおいて、 プリチャージウコマンドを用いて全バンクをプリチャ
ージする。 SDRAMのモードレジスタを設定する。 オートリフレッシュコマンドを用いて、リフレッシュ
を8回行う。
(SDRAM Initialization) After the power-on reset, the memory controller performs the following initialization on the SDRAM. That is, all banks are precharged using a precharge command after a pause period of 100 μs after power-on. Set the mode register of the SDRAM. Refresh is performed eight times using an auto-refresh command.

【0047】(フラッシュ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とマルチプレクスさ
れている。
(Flash ROM controller (70
4)) The flash ROM controller 704 uses romAdd
r [23: 2] address signal and four chip select (romCs_
L [3: 0]) signals are supported. Address signals romAddr2 to r
omAddr9 is multiplexed with parity signals ramPar0 to ramPar7, and address signals romAddr10 to romAddr23 are
It is multiplexed with AM addresses ramAddr0 to ramAddr13.

【0048】(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に示す。
(SRAM control (memory front cache)) SDRA used as main memory
M is very fast in burst transfer, but cannot exhibit high speed in single transfer. Therefore, a memory front cache is implemented in the memory controller to increase the speed of single transfer. The memory front cache includes a cache controller 706 and an SRAM.
702. MTType defined for MC bus
Since the transfer master and transfer length can be known from the [6: 0] signal, the cache can be turned on / off for each master or for each transfer length. The cache method is as follows. Hereinafter, unless otherwise specified, the term “cache” or “cache memory” refers not to a cache built in a processor core but to a memory front cache built in a memory controller. -2-way set associative-8k byte data RAM-128 x 21 x 2 tag RAM-LRU (Least Recently Used) algorithm-Write through-No Write Allocate Next, a detailed block diagram centering on the cache controller 706 is shown in FIG. Show.

【0049】(キャッシュの動作)ここで、MCバスよ
りメモリリード/ライト転送が要求された場合のキャッ
シュの動作を図8のブロック図と、図9及び図10に示
すフローチャートを用いて説明する。
(Cache Operation) Here, the cache operation when a memory read / write transfer is requested from the MC bus will be described with reference to the block diagram of FIG. 8 and the flowcharts of FIGS. 9 and 10.

【0050】MCバスよりデータ転送が開始されると、
その転送の最初にMCバス上で示されるmTType[6:0]に
よって、その転送がキャッシュオンでおこなうか、オフ
でおこなうかの判断がおこなわれる。この説明では、転
送がシングル転送であればオン、バースト転送であれば
オフと判断することにする(ステップS901)。すな
わち、mTType(3)が“1”hであれば、シングル転送を
あらわすのでキャッシュオンで、“0”hであればバー
スト転送をあらわすのでキャッシュオフで転送を行う。
When data transfer is started from the MC bus,
At the beginning of the transfer, whether or not the transfer is performed with the cache on or off is determined by mTType [6: 0] indicated on the MC bus. In this description, it is determined that the transfer is ON if the transfer is a single transfer and OFF if the transfer is a burst transfer (step S901). That is, if mTType (3) is "1" h, it indicates a single transfer, indicating cache-on, and if "0" h, indicates burst transfer, and indicates cache-off transfer.

【0051】シングル転送(キャッシュオン)の場合、
アドレス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)。
In the case of single transfer (cache on),
When an address lmaddr [31: 0] is given, lmaddr [11: 5] is used as an index for b1_tag_ram801 and b2_tag_ram80.
2, b1_data_ram 702-a, b2_data_ram 702-b,
lru 803, from each block, valid bits "v" and b corresponding to the input index
1_tag_addr, valid bit "v" and b2_tag_addr, b1_o
ut_data, b2_out_data, and lru_in are output (step S902).

【0052】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)。
The b1_tag_addr and b2_tag_addr output from the b1_tag_ram 801 and b2_tag_ram 802 are respectively b1_com
address lmaddr with parater804, b2_comparater805
[31:12], and the result, that is, whether or not a hit is notified to the cache controller 706 by the b1_hit_miss_L and b2_hit_miss_L signals, and is determined (step S903).

【0053】ここでヒットであれば、リードかライトか
が判定される(ステップ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
ヒット)に書き換えて、転送が終了する。
If it is a hit here, it is determined whether it is read or write (step S904). A hit is an address lm in either b1_tag_addr or b2_tag_addr.
This is the case where there is a match with addr [31:12]. In the case of a hit and a lead, it is as follows. That is, b1
Is a hit and the requested transfer was a read, b1_out_data and b2_out_data already read
Select b1_out_data from among the 8 indicated by lmaddr [4: 3]
Byte data is output to the MC bus (step S90)
5). At the same time, lru corresponding to the index is set to “0”
(= b1 hit) and the transfer ends. If b2 is a hit and the requested transfer is a read, then b1_out_data and b2_out_data
b2_out_data is selected, and 8-byte data indicated by lmaddr [4: 3] is output to the MC bus (step S905).
At the same time, lru corresponding to the index is set to “1” h (= b2
Hit) and the transfer ends.

【0054】一方、ヒットかつライトの場合にはつぎの
ようになる。すなわち、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)。
On the other hand, in the case of hit and write, the operation is as follows. That is, if b1 is a hit and the requested transfer is a write, it is indicated by an index
Of the 8-byte data indicated by lmaddr [4: 3] of b1_data_ram 702-a, only the valid byte lane indicated by mBE_L [7: 0] is rewritten, and lru corresponding to the index is set to “0” h (= b1 hit). Also SDR
The AM is similarly rewritten and the transfer is completed (step S9).
06). If b2 is a hit and the requested transfer is a write, b2_data_ram7 indicated by the index
Of the 8-byte data indicated by lmaddr [4: 3] of 02-b, only the valid byte lane indicated by mBE_L [7: 0] is rewritten, and at the same time, lru corresponding to the index is set to “1”.
Rewrite to h (= b2 hit). Similarly, the SDRAM is rewritten and the transfer is completed (step S906).

【0055】一方、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)。
On the other hand, when both b1 and b2 are mistakes,
It is determined whether it is a read or a write (step S1001).
If the requested transfer was a read, its lmaddr [3
1: 3] is read from the SDRAM (step S1003) and output to the MC bus (step S1004). At the same time, lru corresponding to the index is read, and if it is “0” h, b2_da
Write data from SDRAM to ta_ram and lru also "1" h
Rewrite to If lru is "1" h, b1_data_r
The data from the SDRAM is written to am, and the rewriting of lru to "0" h is completed (step S1005). If both b1 and b2 are misses and the requested transfer is a write, the transfer is completed only by writing to the SDRAM (step S1002).

【0056】ステップS901においてバースト転送
(キャッシュオフ)の場合、リード、ライトともSDR
AMに対してだけ行われ(ステップS907−S90
9)、キャッシュデータやタグの書き換え等は行わな
い。
In the case of burst transfer (cache off) in step S901, both read and write
Performed only for AM (steps S907-S90)
9), rewriting of cache data and tags is not performed.

【0057】(ROM/RAMインターフェース(70
7))ROM/RAMコントローラ707の構成を図1
1に示す。ブロック1101〜ブロック1104によ
り、SDRAMのデータ信号、アドレス信号、パリティ
信号が、フラッシュROMのデータ信号、アドレス信号
と多重化される。
(ROM / RAM interface (70
7)) The configuration of the ROM / RAM controller 707 is shown in FIG.
It is shown in FIG. Blocks 1101 to 1104 multiplex the data signal, address signal, and parity signal of the SDRAM with the data signal and address signal of the flash ROM.

【0058】2.4.3.タイミングダイアグラム 上述したメモリコントローラ403によるデータの読み
出し・書き込み等の処理のタイミングを、図12〜図1
9を用いて説明する。
2.4.3. Timing Diagram FIGS. 12 to 1 show timings of processing of reading and writing data by the memory controller 403 described above.
9 will be described.

【0059】図12は、CPUからのバースト読み出し
のタイミングを示す。バースト長は4、CASレイテン
シは3である。図9のステップS909における処理に
相当する。
FIG. 12 shows the timing of burst reading from the CPU. The burst length is 4, and the CAS latency is 3. This corresponds to the processing in step S909 in FIG.

【0060】図13は、CPUからのバースト書き込み
のタイミングを示す。バースト長は4、CASレイテン
シは3である。図9のステップS908における処理に
相当する。
FIG. 13 shows the timing of burst write from the CPU. The burst length is 4, and the CAS latency is 3. This corresponds to the processing in step S908 in FIG.

【0061】図14は、Gバスデバイスからのバースト
読み出しのタイミングを示す。Gバスのバースト長は1
6、SDRAMのバースト長は4、CASレイテンシは
3である。図9のステップS909における処理に相当
する。
FIG. 14 shows the timing of burst reading from the G bus device. G bus burst length is 1
6, the burst length of the SDRAM is 4, and the CAS latency is 3. This corresponds to the processing in step S909 in FIG.

【0062】図15は、Gバスデバイスからのバースト
書き込みのタイミングを示す。Gバスのバースト長は1
6、SDRAMのバースト長は4、CASレイテンシは
3である。図9のステップS908における処理に相当
する。
FIG. 15 shows the timing of burst write from the G bus device. G bus burst length is 1
6, the burst length of the SDRAM is 4, and the CAS latency is 3. This corresponds to the processing in step S908 in FIG.

【0063】図16は、メモリフロントキャッシュにヒ
ットした場合のシングル読み出しのタイミングを示す。
読み出されるデータmDataIn[63:0]としては、キャッシ
ュメモリであるb1_data_ram702−aあるいはb2_data
_ram702−bから読み出されたb1/b2_out_dataが出力
される。SDRAMのバースト長は4、CASレイテン
シは3である。図9のステップS905における処理に
相当する。
FIG. 16 shows the timing of single reading when a hit occurs in the memory front cache.
As the data mDataIn [63: 0] to be read, b1_data_ram 702-a or b2_data
b1 / b2_out_data read from the _ram 702-b is output. The burst length of the SDRAM is 4 and the CAS latency is 3. This corresponds to the processing in step S905 in FIG.

【0064】図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における処理に相当
する。
FIG. 17 shows the timing of a single read when no hit occurs in the memory front cache. As data mDataIn [63: 0] to be read, S
Data ramData [63: 0] read from the DRAM is output. This data is stored as b1 / b2_in_data in the cache memory b1_data_ram 702-a or b2_in_data.
It is also written to data_ram 702-b. The burst length of the SDRAM is 4 and the CAS latency is 3. This corresponds to the processing in steps S1004 and S1005 in FIG.

【0065】図18は、メモリフロントキャッシュにヒ
ットした場合のシングル書き込みのタイミングを示す。
書き込まれるデータmDataOut[63:0]は、キャッシュメモ
リであるb1_data_ram702−aあるいはb2_data_ram7
02−bに書き込まれるとともに、SDRAMにも書き
込まれる。SDRAMのバースト長は4、CASレイテ
ンシは3である。図9のステップS906における処理
に相当する。
FIG. 18 shows the timing of a single write when a hit occurs in the memory front cache.
The data mDataOut [63: 0] to be written is the cache memory b1_data_ram 702-a or b2_data_ram7
02-b as well as SDRAM. The burst length of the SDRAM is 4 and the CAS latency is 3. This corresponds to the processing in step S906 in FIG.

【0066】図19は、メモリフロントキャッシュにヒ
ットしなかった場合のシングル書き込みのタイミングを
示す。書き込まれるデータmDataOut[63:0]は、キャッシ
ュメモリであるb1_data_ram702−aあるいはb2_data
_ram702−bには書き込まれず、SDRAMに対して
だけ書き込まれる。SDRAMのバースト長は4、CA
Sレイテンシは3である。図10のステップS1002
における処理に相当する。
FIG. 19 shows the timing of a single write when no hit occurs in the memory front cache. The data mDataOut [63: 0] to be written is the cache memory b1_data_ram 702-a or b2_data
The data is not written to the _ram 702-b, but is written only to the SDRAM. SDRAM burst length is 4, CA
The S latency is 3. Step S1002 in FIG.
Corresponds to the processing in.

【0067】なお、ここでは、MCバスよりデータ転送
が開始されると、その転送の最初にMCバス上で示され
るmTType[6:0]によって、転送がシングル転送であれば
オン、バースト転送であればオフと判断しているが、バ
ースト転送の場合に、さらにバースト長を判定し、バー
スト長がキャッシュの1ラインよりも小さい場合にはキ
ャッシュオンとし、そうでない場合にはキャッシュオフ
として動作するようにしてもよい。
Here, when data transfer is started from the MC bus, if the transfer is a single transfer, it is turned on by mTType [6: 0] indicated on the MC bus at the beginning of the transfer, and burst transfer is performed. If the burst length is smaller than one line of the cache, the cache is turned on; if not, the cache is turned off; otherwise, the cache is turned off. You may do so.

【0068】また、MCバスに、メモリへのデータ転送
を要求したバスマスタの識別子を示す信号を含ませるこ
とで、メモリコントローラがその識別子を判定し、識別
子に応じてキャッシュオン/キャッシュオフの制御を行
うこともできる。この場合には、識別子とキャッシュオ
ン/オフの別とを対応させた書換え可能なテーブルを用
意し、それを参照してキャッシュのオンオフを切り替え
ることもできる。このテーブルは、例えば特定のアドレ
スを割り当ててCPU401などから書換え可能にする
こともできる。
Also, by including in the MC bus a signal indicating the identifier of the bus master that has requested data transfer to the memory, the memory controller determines the identifier and controls cache on / cache off according to the identifier. You can do it. In this case, it is also possible to prepare a rewritable table in which the identifier is associated with the cache ON / OFF, and switch the cache ON / OFF with reference to the rewritable table. This table can be made rewritable by the CPU 401 or the like by assigning a specific address, for example.

【0069】2.5.システムバスブリッジ(SBB)
及びBバス,Gバス 図20としてシステムバスブリッジ(SBB)402の
ブロック図を示す。
2.5. System bus bridge (SBB)
FIG. 20 is a block diagram of a system bus bridge (SBB) 402.

【0070】SBB402は、Bバス(入出力バス),
Gバス(グラフィックバス),SCバス(プロセッサロ
ーカルバス)及びMCバス間の相互接続をクロスバスイ
ッチを用いて提供する、マルチチャネル双方向バスブリ
ッジである。クロスバスイッチにより、2系統の接続を
同時に確立することが出来、並列性の高い高速データ転
送を実現出来る。
The SBB 402 includes a B bus (input / output bus),
A multi-channel bi-directional bus bridge that provides interconnection between a G bus (graphic bus), SC bus (processor local bus) and MC bus using a crossbar switch. With the crossbar switch, two systems can be simultaneously connected, and high-speed data transfer with high parallelism can be realized.

【0071】SBB402は、Bバス405と接続する
ためのBバスインターフェース2906と、Gバス40
4と接続するためのGバスインターフェース2006
と、プロセッサコア401と接続するためのCPUイン
ターフェーススレーブポート2002と、メモリコント
ローラ403と接続するためのメモリインターフェース
マスターポートを備えるほか、アドレスバスを接続する
アドレススイッチ2003,データバスを接続するデー
タスイッチ2004を含む。また、プロセッサコアのキ
ャッシュメモリを無効化するキャッシュ無効化ユニット
2005を備えている。
The SBB 402 includes a B bus interface 2906 for connecting to the B bus 405 and a G bus 40
G bus interface 2006 to connect to
And a CPU interface slave port 2002 for connecting to the processor core 401, a memory interface master port for connecting to the memory controller 403, an address switch 2003 for connecting an address bus, and a data switch 2004 for connecting a data bus. including. Further, a cache invalidation unit 2005 for invalidating the cache memory of the processor core is provided.

【0072】Bバスインターフェース2009には、B
バスデバイスからのDMAライトを高速化するライトバッ
ファと、Bバスデバイスのリードを効率化するリードプ
リフェッチキューを実装する。これらのキュー内に一時
的に存在するデータに関するコヒーレンシ管理はハード
ウェアにて行う。なお、Bバスに接続されたデバイスを
デバイスと呼ぶ。
The B bus interface 2009 has B
A write buffer for speeding up DMA writing from the bus device and a read prefetch queue for improving the efficiency of reading from the B bus device are implemented. Coherency management for data temporarily existing in these queues is performed by hardware. Note that a device connected to the B bus is called a device.

【0073】プロセッサコアは32ビットバスに対する
ダイナミックバスサイジングをサポートしているが、S
BB402ではこれをサポートしない、将来、バスサイ
ジングをサポートしないプロセッサを用いる場合にもS
BBに必要な改造を最小限におさえるためである。
The processor core supports dynamic bus sizing for a 32-bit bus.
The BB 402 does not support this. In the future, even if a processor that does not support bus sizing is used, S
This is for minimizing the modification required for the BB.

【0074】2.5.1.SBB及び各バスの構成及び
動作 (Bバスインターフェース)図21は、Bバスインター
フェースのブロック図である。
2.5.1. Configuration and operation of SBB and each bus (B bus interface) FIG. 21 is a block diagram of the B bus interface.

【0075】Bバスインターフェース2009は、Bバ
スとMCバス間の双方向ブリッジ回路である。Bバスは
DoEngineの内部汎用バスである。
The B bus interface 2009 is a bidirectional bridge circuit between the B bus and the MC bus. The B bus is a DoEngine internal general-purpose bus.

【0076】Bバスインターフェース2009内には、
マスタコントロールブロック2011、スレーブコント
ロールブロック2010、データインターフェース20
12、DMAC2013、Bバスバッファの5ブロックが含
まれる。図21上で、DMAC2013は、機能上3個のシ
ーケンサとレジスタブロックに分割される。それら3つ
のシーケンサのうち、DMAメモリアクセスシーケンサは
Bバススレーブコントロールブロック2010に、DMA
regシーケンサはBバスマスターコントロールブロッ
ク2011に内蔵される。レジスタブロックであるDMA
レジスタはBバスデータインターフェース2012部に
内蔵される。
In the B bus interface 2009,
Master control block 2011, slave control block 2010, data interface 20
12, DMAC 2013, and 5 blocks of the B bus buffer. In FIG. 21, the DMAC 2013 is functionally divided into three sequencers and register blocks. Of these three sequencers, the DMA memory access sequencer sends a B bus slave control block 2010
The reg sequencer is built in the B bus master control block 2011. DMA as a register block
The register is built in the B bus data interface 2012 unit.

【0077】またBバスインターフェース2009はB
バス側からのメモリへの書き込み時、及びDMAによるデ
バイスからメモリへの転送が起こった時に、キャッシュ
無効化インターフェースを介してCPUシェル内のデー
タ、命令両キャッシュの無効化の制御を行う。
Further, the B bus interface 2009
At the time of writing to the memory from the bus side and when transfer from the device to the memory by DMA occurs, invalidation of both data and instruction caches in the CPU shell is controlled via the cache invalidation interface.

【0078】なお、CPUライト時のライトバックバッフ
ァはBバスインターフェースには実装しないが、Bバス
上の外部マスタライト時のライトバッファを実装する。
これにより、バースト転送でない、連続した外部マスタ
からの書き込みが高速化される。このライトバッファの
フラッシュは、Bバスアービタ407によるメモリへの
接続が許された時点で行われる。Bバスマスタリードの
ライトバッファバイパスは行わない。
Although a write-back buffer for CPU write is not mounted on the B bus interface, a write buffer for external master write on the B bus is mounted.
As a result, continuous writing from an external master, which is not a burst transfer, is speeded up. The flushing of the write buffer is performed when the connection to the memory by the B bus arbiter 407 is permitted. The write buffer bypass for the B bus master read is not performed.

【0079】また、外部マスタのリードプリフェッチキ
ューを実行する。これにより、外部マスタからの連続し
た、データストリームの読み出しの高速化を図る。リー
ドバッファの無効化は、 1.Bバスの新たなリードがバッファにヒットしなかっ
た場合。 2.CPUからメモリへのライトが行われた場合。 3.Gバスからメモリへのライトが行われた場合。 4.Bバスからメモリへのライトが行われた場合。 に行われる。
The read prefetch queue of the external master is executed. Thus, the speed of reading the continuous data stream from the external master is increased. To invalidate the read buffer: When a new read of the B bus does not hit the buffer. 2. When writing to the memory from the CPU is performed. 3. When data is written from the G bus to the memory. 4. When data is written from the B bus to the memory. Done in

【0080】またBバスインターフェース2009には
Bバス405上の各デバイスとメモリ間のDMAコントロ
ーラ2013が内蔵される。システムバスブリッジ40
2にDMAコントローラを内蔵することにより、ブリッジ
双方へ、同時にアクセス要求が発行出来、効率的なDMA
転送が実現出来る。Bバスインターフェース2009は
プロセッサ401からのアクセス要求に対して、ダイナ
ミックバスサイジングの使用を要求しない。またBバス
マスタからのメモリアクセス要求時に、メモリコントロ
ーラ403からのバスサイジングにも対応しない。すな
わち、メモリコントローラはバスサイジングを期待すべ
きではない。
The B bus interface 2009 incorporates a DMA controller 2013 between each device on the B bus 405 and the memory. System bus bridge 40
2 has a built-in DMA controller so that access requests can be issued to both bridges simultaneously, resulting in efficient DMA
Transfer can be realized. The B bus interface 2009 does not request the use of dynamic bus sizing in response to an access request from the processor 401. It also does not support bus sizing from the memory controller 403 when a memory access request is made from the B bus master. That is, the memory controller should not expect bus sizing.

【0081】(Bバス)BバスはDoEngine内の
汎用IOバスであり、以下の仕様を持つ。 ・アドレス、データ分離型32ビットバス。 ・任意のウェイトサイクルを挿入可能、最短はノーウェ
イト。 ・バーストトランザクションのサポート。 ・最大転送速度は、クロックが50MHz時に200Mbyte/Se
c。 ・バスエラーとバスリトライのサポート。 ・複数バスマスタのサポート。
(B Bus) The B bus is a general-purpose IO bus in DoEngine and has the following specifications. -Address / data separation type 32-bit bus.・ Any wait cycle can be inserted. The shortest is no wait. -Support for burst transactions.・ The maximum transfer speed is 200Mbyte / Se when the clock is 50MHz.
c. -Support for bus error and bus retry. -Support for multiple bus masters.

【0082】(Bバス信号定義)以下にバス信号の定義
を説明する。各信号毎に、「信号名(英語呼称):入力
元>出力先 (,3States)…信号の説明」の要領で記載
されている。なお、3ステートの項は3ステートの信号
に限り記載した。
(B Bus Signal Definition) The definition of the bus signal will be described below. For each signal, it is described in the manner of "Signal name (English name): input source> output destination (, 3States) ... Explanation of signal". Note that the three-state item is described only for three-state signals.

【0083】bAddr[31:2](IOBus Address Bus):Mast
er>Slabe,3State… IOBusアドレスバス。
BAddr [31: 2] (IOBus Address Bus): Mast
er> Slabe, 3State ... IOBus address bus.

【0084】bData[31:0] (IOBus Data Bus):DataDr
iver>DataReceiver,3State …IOBusデータバス。
BData [31: 0] (IOBus Data Bus): DataDr
iver> DataReceiver, 3State… IOBus data bus.

【0085】b(Datadrivername)DataOeReq(IOBus Data
Output Enable Request):Datadriver>DefaultDrive
rLogic … 後述する双方向IOバスを実現するため、
デフォルトドライバーコントロールロジックヘの出力信
号である。Datadrivernameを持つデバイスが、バス上に
データをドライブするための要求信号である。データの
出力を許可されたデバイスには、デフォルトドライバー
コントロールロジックよりb(Datadrivername)DataOe_L
が出力される。Datadriverの例:Pci,Sbb,Jpeg,Spu。
B (Datadrivername) DataOeReq (IOBus Data
Output Enable Request): Datadriver> DefaultDrive
rLogic… To realize the bidirectional IO bus described later,
Output signal to the default driver control logic. This is a request signal for a device having Datadrivername to drive data on the bus. For devices that are allowed to output data, b (Datadrivername) DataOe_L
Is output. Datadriver example: Pci, Sbb, Jpeg, Spu.

【0086】b(Datadrivername)DataOe_L(IOBus Data
Output Enable): dfaultDriverLogic>Datadriver
… b(Datadrivername)DataOeReqを出力したデバイスに
対し、デフォルトドライバーロジックがデータバスへの
データのドライブを許す場合b(Datadrivername)DataOe_
L信号をそのデバイスに対して返す。
B (Datadrivername) DataOe_L (IOBus Data
Output Enable): dfaultDriverLogic> Datadriver
… B (Datadrivername) DataOe_ if the default driver logic allows driving the data to the data bus for the device that output b (Datadrivername) DataOeReq
Returns an L signal to the device.

【0087】bError_L(IOBus Bus Error):Slave>Ma
ster 3State … IOバストランザクションがエラー
で終了したことを示す。
BError_L (IOBus Bus Error): Slave> Ma
ster 3State ... Indicates that the IO bus transaction ended with an error.

【0088】b(Mastername)BGnt_L(IOBus Grant):Ar
biter>Master … バスアービトレーションにより当
マスタがバスの使用権を得たことを示す。Masternameの
例:Pci,Sbb,Jpeg,Spu。
B (Mastername) BGnt_L (IOBus Grant): Ar
biter> Master ... Indicates that this master has obtained the right to use the bus by bus arbitration. Mastername example: Pci, Sbb, Jpeg, Spu.

【0089】blnstNotData(IOBus Instruction/Data O
utput Indicator):Master>Slave,3State … Bバ
スマスタがインストラクションフェッチをBバススレー
ブに対して行う場合にHighにドライブする。データトラ
ンザクションの場合はLowにドライブする。
BlnstNotData (IOBus Instruction / Data O
utput Indicator): Master> Slave, 3State ... Drives high when the B bus master performs instruction fetch for the B bus slave. Drive low for data transactions.

【0090】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信号を返す。
B (Mastername) CntlOeReq (IOBus Master C
ontrol Output Enable Request): Master> DefaultDri
verLogic… B bus master is bStart_L, bTx_L, bWr_
Assert for IOBus Output Control Logic when you want to drive L, vInstNotData and bAddr [31: 2] on a three-state bus. The IOBus Output Control Logic returns a b (Mastername) CntlOe_L signal from each master to the master that permits driving based on bMCntlOeReq.

【0091】b(Mastername)CntlOe_L(IOBus Master Co
ntrol Output Enable):DefaultDriverLogic>Master
… b(Mastername)CntlOeReqを出力したマスタに対
し、デフォルトドライバーロジックがドライブを許す場
合b(Mastername)CntlOe_L信号をそのマスタに対して返
す。
B (Mastername) CntlOe_L (IOBus Master Co
ntrol Output Enable): DefaultDriverLogic> Master
When the default driver logic permits driving for the master that has output b (Mastername) CntlOeReq, a b (Mastername) CntlOe_L signal is returned to the master.

【0092】bRdy_L(IOBus Ready):Slave>Master,
3State … Bバススレーブは、現在のBバスデータト
ランザクションが現在のクロックサイクルを最後に終了
することを示すためにこの信号をアサートする。Bバス
マスタは、この信号により、現在のトランザクションが
このクロックサイクルで終了することを知る。 b(Mastername)BReq_L(IOBus Bus Request):Master>
Arbiter … Bバスマスタが、Bバスアービタに対
し、バスの使用権要求を行う事を示す。
BRdy_L (IOBus Ready): Slave> Master,
3State... The B bus slave asserts this signal to indicate that the current B bus data transaction will end the current clock cycle last. The B bus master knows from this signal that the current transaction will end in this clock cycle. b (Mastername) BReq_L (IOBus Bus Request): Master>
Arbiter... Indicates that the B bus master issues a bus use right request to the B bus arbiter.

【0093】bRetry_L(IOBus Bus Retry):Slave>Ma
ster 3State … Bバススレーブがマスタに対し、バ
ストランザクションの最実行を要求する。
BRetry_L (IOBus Bus Retry): Slave> Ma
ster 3State: The B bus slave requests the master to execute the bus transaction again.

【0094】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信号を返す。
B (Slavename) RdyOeReq (IOBus Slave Read
y Output Enable Request): Slave> DefaultDriverLog
ic… B bus slave is bRdy_L, bWBurstReq_L, bBur
If you want to drive stAck_L on a 3-state bus,
Assert for OBus Output Control Logic. IOB
us DefaultDriverLogic uses b (Slavenam
e) For slaves that allow driving based on RdyOeReq, b
(Slavename) Return RdyOe_L signal.

【0095】b(Slavename)RdyOe_L(IOBus Slave Ready
Output Enable):DefaultDriverLogic>Slave … b
(Slavename)RdyOeReqを出力したマスタに対し、デフォ
ルトドライバーロジックがドライブを許す場合b(Slaven
ame)RdyOe_L信号をそのマスタに対して返す。
B (Slavename) RdyOe_L (IOBus Slave Ready
Output Enable): DefaultDriverLogic> Slave… b
(Slavename) If the default driver logic allows driving for the master that outputs RdyOeReq b (Slaven
ame) Return the RdyOe_L signal to its master.

【0096】bSnoopWait(IOBus Snoop Wait):SBB>N
extMaster … BバスインターフェースがBバスに接
続された他のデバイスに対し、キャッシュのスヌーピン
グ実行中であることを示す。Bバスに接続されたデバイ
スはこの信号がアサートされている間は新たなトランザ
クションを発行できない。
BSnoopWait (IOBus Snoop Wait): SBB> N
extMaster... Indicates that the B bus interface is executing snooping of the cache to other devices connected to the B bus. Devices connected to the B bus cannot issue new transactions while this signal is asserted.

【0097】bStart_L(IOBus Transaction START):M
aster >Slave 3State … BバスマスタがBバストラ
ンザクションをスタートすることを示す信号、Bバスス
レーブは、この信号を監視することにより、Bバストラ
ンザクションのスタートを知ることが出来る。
BStart_L (IOBus Transaction START): M
aster> Slave 3State... A signal indicating that the B bus master starts the B bus transaction, and the B bus slave can know the start of the B bus transaction by monitoring this signal.

【0098】bTx_L(IOBus Transaction Indicator Inp
ut):Master>Slave 3State …BバスマスタがBバス
スレーブに対し、Bバストランザクションが現在実行中
である事を示すためにアサートする。
BTx_L (IOBus Transaction Indicator Inp
ut): Master> Slave 3State... The B bus master asserts to the B bus slave to indicate that a B bus transaction is currently being executed.

【0099】bWBurstGnt_L(IOBus Burst Write Gran
t):Master>Slave,3State … Bバスマスタが、B
バスバーストライトのリクエストに対し、バーストライ
ト実行することを示すためにドライブする。
BWBurstGnt_L (IOBus Burst Write Gran
t): Master> Slave, 3State… B bus master is B
Drives to indicate that a burst write is to be performed in response to a bus burst write request.

【0100】bWBurstReq_L(IOBus Burst Write Reques
t):Slave >Master,3Stete …BバススレーブがB
バスマスタに対し、バースとライトを要求する場合にア
サートする。
BWBurstReq_L (IOBus Burst Write Reques
t): Slave> Master, 3Stete ... B bus slave is B
Assert when requesting a bus master for berth and write.

【0101】bWr_L(IOBus Write Transaction Indicat
er):Master>Slave,3State …Bバスマスタが、B
バススレーブに対し、現在のトランザクションがライト
である事を示すためにアサートする。
BWr_L (IOBus Write Transaction Indicat
er): Master> Slave, 3State ... B bus master is B
Assert to the bus slave to indicate that the current transaction is a write.

【0102】bByteEn[3:0](IOBus Byte Enables):Da
taDriver>DataReceiver,3State… Bバス上にデータ
をドライブするエージェントが、各ビットに対応したbD
ata[31:0]上のバイトレーンが有効である事を示すため
にHighにドライブする。本信号の各ラインとbDataのバ
イトレーンは表4の対応関係にある。
BByteEn [3: 0] (IOBus Byte Enables): Da
taDriver> DataReceiver, 3State… Agent that drives data on B bus, bD corresponding to each bit
Drive high to indicate that the byte lane on ata [31: 0] is valid. Table 4 shows the correspondence between each line of this signal and the byte lane of bData.

【0103】[0103]

【表4】 [Table 4]

【0104】bBurst_L(IOBus Extended Burst Reques
t):Master>Slave,3Sate … Bバスマスタが拡張
バーストを行いたい事を示す。アサート、ネゲートタイ
ミングはbTx_Lと同一。
BBurst_L (IOBus Extended Burst Reques
t): Master> Slave, 3Sate ... Indicates that the B bus master wants to perform an extended burst. Assert and negate timings are the same as bTx_L.

【0105】bBurstAck_L(IOBus Extended Burst Ackn
owledge):Slave>Maste,3State… Bバススレーブ
が拡張バーストを行える事を示す。アサート、ネゲート
タイミングはbRdy_Lと同一。
BBurstAck_L (IOBus Extended Burst Ackn
owledge): Slave> Maste, 3State ... Indicates that the B bus slave can perform an extended burst. Assert and negate timings are the same as bRdy_L.

【0106】bBurstShortNotLong_L(IOBus Burst Leng
th):Master>Slave,3State …Bバスマスタが拡張
バーストを行う場合のバースト長を示す。アサート、ネ
ゲートタイミングはbTx_Lと同一であり、信号値とバー
スト長との対応は表5に示したとおりである。
BBurstShortNotLong_L (IOBus Burst Leng
th): Master> Slave, 3State: Indicates the burst length when the B bus master performs an extended burst. Assert and negate timings are the same as bTx_L, and the correspondence between the signal value and the burst length is as shown in Table 5.

【0107】[0107]

【表5】 [Table 5]

【0108】Bバス信号は上述の通りである。DoEn
gine内部のバスである、Bバス(及びGバス)は接
続される機能ブロック数が10以上になるので、InOut
分離バスですべてのブロックを接続することは、困難で
ある。DoEngineでは、チップ内双方向バスを採
用する。
The B bus signal is as described above. DoEn
The B bus (and G bus), which is a bus inside the Gine, has 10 or more functional blocks to be connected.
It is difficult to connect all the blocks with a separate bus. DoEngine employs an on-chip bidirectional bus.

【0109】(Gバスインターフェース)図22にGバ
スインターフェース2006のブロック図を示す。この
概要は下記の通りである。
(G Bus Interface) FIG. 22 is a block diagram of the G bus interface 2006. The outline is as follows.

【0110】(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
クロック以上経過してからしか行えない。基本的に信号
のリリースはネゲートした次のクロックで行う。
(Overview of G Bus) The G bus is a bus defined to execute high-speed data transfer between image data processing units in the MFP one-chip controller DoEngine. 4G with 64-bit data bus
Supports byte (128 byte boundary) address space. Basically, transfer is performed with 16 beats (128 bytes = 64 bits × 16) as one long burst, and up to 4 long bursts (512 bytes = 16 beats × 4) can be continuously performed. (Transfer of 16 beats or less such as single beat is not supported.) (G bus signal definition) First, a symbol used for signal definition is determined. Immediately after the signal name, the direction of the signal is described as necessary. It is defined as follows. In (Input signal) ... Input signal to the bus agent Out (Output signal) ... Output signal from the bus agent InOut (Bi-Directional Tri-State signal) ... This is a bidirectional signal and is driven by a plurality of bus agents.
Only one agent drives at a time. The enable request signal of each agent that drives the signal is centrally managed by a default driver, and the default driver determines which agent drives. The default driver signal is driven when no agent issues an enable request or when a plurality of agents issue enable requests simultaneously. If the agent drives the signal low, it must drive high for one clock before and after. Signal assertion starts from the first drive.
This can only be done after the clock has elapsed. Basically, the signal is released at the next negated clock.

【0111】なお、各信号名の後の“_L”はその信号が
ローアクティブであることを示す。信号の記述のしかた
は、ほぼBバス信号の記述に準ずる。説明は、システム
信号、アドレス及びデータ信号、インターフェース制御
信号、アービトレーション信号に分けて行う。また、バ
スエージェントとは、バスに接続されるバスマスタやバ
ススレーブの総称である。
"_L" after each signal name indicates that the signal is low active. The description of the signal substantially conforms to the description of the B bus signal. The description is divided into system signals, address and data signals, interface control signals, and arbitration signals. The bus agent is a general term for a bus master and a bus slave connected to the bus.

【0112】(システム信号) gClk(G-Bus Clock) … Gバス上のすべてのトラン
ザクションについてタイミングを提供し、すべてのデバ
イスに対して入力となる。
(System Signal) gClk (G-Bus Clock)... Provides timing for all transactions on the G bus and is an input to all devices.

【0113】gRst_L(G-Bus Reset) … Gバス上の
すべてのデバイスをリセットする。すべての内部レジス
タはクリアーされ、すべての出力信号はネゲートされ
る。
GRst_L (G-Bus Reset)... Resets all devices on the G bus. All internal registers are cleared and all output signals are negated.

【0114】(アドレスおよびデータ信号) 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のアサートを確認したクロック。
(Address and data signals) gAddr [31: 7], InOut, (G-Bus Address): Master> Sla
ve ... All data transfer on the G bus is 128 bytes (16
Since the processing is performed in units of (beat), 25 bits of gAddr [31] to gAddr [7] support an address space of 4 Gbytes. drive: gTs_L and the master drive at the same time. assert: next clock after driving negate: gAack_L is the clock that confirmed assertion.

【0115】g(Mastename)AddrOeReq(G-Bus Address O
utPut Enable Request):Master>DefaultDriverLogic
… 双方向Gバスを実現するための、デフォルトドラ
イバロジックへの出力信号。バスマスタがアドレスバス
をドライブするための要求信号。
G (Mastename) AddrOeReq (G-Bus Address O
utPut Enable Request): Master> DefaultDriverLogic
... Output signal to default driver logic to realize bidirectional G bus. Request signal for the bus master to drive the address bus.

【0116】g(Mastername)AddrOe_L(G-Bus Address O
utPut Enablet):DefaultDriveLogic>Master … g
(Mastername)AddrOeReqを出力したバスマスタに対し、
デフォルトドライバロジックがアドレスバスのドライブ
を許可することを示す信号。
G (Mastername) AddrOe_L (G-Bus Address O
utPut Enablet): DefaultDriveLogic> Master… g
(Mastername) For the bus master that output AddrOeReq,
Signal indicating that the default driver logic allows the address bus to be driven.

【0117】gData[63:0],InOut,( G-Bus Data):D
ataDriver>DataReceiver … 64ビットデータバス
で、ライト時はマスタがドライブ、リード時はスレーブ
がドライブ。
GData [63: 0], InOut, (G-Bus Data): D
ataDriver> DataReceiver… A 64-bit data bus. The master drives when writing, and the slave drives when reading.

【0118】[ライト] drive:gTs_Lと同時にマスタがドライブ。ただし、gSlvB
sy_Lがアサートされている時はネゲートされるまで待っ
てドライブ。 assert:ドライブした次のクロック。 change:gAack_Lのアサートを確認したクロック、その後
は毎クロック。 negate:転送終了時、またはgTrStp_Lによる転送停止要
求を確認した場合は、gAack_Lのアサートを確認したク
ロック。
[Write] drive: The master drives at the same time as gTs_L. Where gSlvB
When sy_L is asserted, drive until it is negated. assert: The next clock after driving. change: The clock that confirmed the assertion of gAack_L, and then every clock thereafter. negate: A clock that confirms the assertion of gAack_L at the end of transfer or when a transfer stop request by gTrStp_L is confirmed.

【0119】[リード]drive:gAack_Lと同時にスレー
ブがドライブ。 assert:スレーブがReadyであればドライブした次のクロ
ックで、ReadyでなければReadyになるまで待ってアサー
トされる。 change:gAack_Lのアサートを確認したクロック、その後
は毎クロック。リードの場合はアサートしたクロックか
ら毎クロック。 negate:転送終了時。 release:ネゲートの1クロック後、またはgTrStp_Lによ
る転送停止要求を確認したクロック。
[Read] drive: The slave drives at the same time as gAack_L. assert: If the slave is Ready, it is asserted at the next clock after driving, and if it is not Ready, it waits until it becomes Ready. change: The clock that confirmed the assertion of gAack_L, and then every clock thereafter. For read, every clock from the asserted clock. negate: At the end of transfer. release: One clock after negation or a clock that confirms a transfer stop request by gTrStp_L.

【0120】g(DataDrivername)DataOeReq(G-Bus Data
OutPut Enable Request):DataDriver>DefaultDrive
rLogic … データドライバがデータバスをドライブす
るための要求信号。
G (DataDrivername) DataOeReq (G-Bus Data
OutPut Enable Request) : DataDriver > DefaultDrive
rLogic… Request signal for the data driver to drive the data bus.

【0121】g(DataDrivername)DataOe_L(G-Bus Data
OutPut Enablet):DefaultDriverLogic>DataDriver
… g(DataDrivername)DataOeReqを出力したデータドラ
イバに対し、デフォルトドライバロジックがデータバス
のドライブを許可することを示す信号。
G (DataDrivername) DataOe_L (G-Bus Data
OutPut Enablet): DefaultDriverLogic> DataDriver
… G (DataDrivername) This signal indicates that the default driver logic allows the data driver that outputs DataOeReq to drive the data bus.

【0122】(インターフェース制御信号) 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クロックアサート後にネゲートされる。
(Interface control signal) gTs_L (InOut G-Bus Transaction Sart): Master> Sla
ve: Asserted low for one clock by the master, indicating the start of transfer (address phase). The master drives gAddr, gRdNotWr, and gBstCnt together with gTs_L, and clarifies the type of transfer and the amount of data. The master must ensure that the transfer data amount specified here can be issued without weight in the case of a write. In the case of a read, it must be guaranteed that the specified transfer data amount is received without any wait. GBsStep_L if the slave cannot transfer data in the middle
As a result, the transfer of the next 16 beats may be canceled. However, there is no cancellation in the middle of 16 beats. drive: Drives with the clock that confirms the assertion of gGnt_L. assert: The next clock after driving. negate: Negate after one clock assertion.

【0123】g(Mastername)TsOeReq(G-Bus Transactio
n Start OutPut Enable Request):Master>DefaultDr
iverLogic … バスマスタがgTs_Lをドライブするため
の要求信号。
G (Mastername) TsOeReq (G-Bus Transactio
n Start OutPut Enable Request): Master> DefaultDr
iverLogic… Request signal for the bus master to drive gTs_L.

【0124】g(Mastername)TsOe_L(G-Bus Transaction
Start OutPut Enablet):DefaultDriverLogic>Maste
r … g(Mastername)TsOeReqを出力したバスマスタに
対し、デフォルトドライバクロックがgTs_Lのドライブ
を許可することを示す信号。
G (Mastername) TsOe_L (G-Bus Transaction
Start OutPut Enablet): DefaultDriverLogic> Maste
r ... A signal indicating that the default driver clock permits driving of gTs_L to the bus master that has output g (Mastername) TsOeReq.

【0125】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クロックアサート後にネゲートされる。
GAack_L, InOut, (G-Bus Address Acknow
ledge): Slave> Master ... Driven low for one clock by the slave. The relevant slave recognizes the transfer, confirms that the bus is free, and informs the master that data transfer can be started. In the case of a write, the slave must ensure that it receives the transfer data amount requested by the master without waiting. In the case of a read, it must be ensured that the requested transfer data amount can be output without waiting. If data cannot be transferred in the middle, gBst
The transfer of the next 16 beats can be canceled by Stp_L. However, it cannot be canceled in the middle of 16 beats. drive: At the time of an address decode bit, driving is started with a clock that confirms assertion of gTs_L. Where gS
When lvBsy_L is asserted, wait until it is negated and drive. If the drive has not been driven yet because the data bus is in use, the drive is started with the clock that has confirmed the transfer stop request by gTrStp_L. assert: If the slave is Ready, it is asserted at the next clock after driving, and if it is not Ready, it waits until it becomes Ready. In response to a transfer stop by gTrStp_L, it is asserted at the next clock after driving. negate: When gTrStp_L is asserted after driving, it is asserted at the clock that confirms gTrStp_L. It is negated after one clock assertion.

【0126】g(Slavename)AackOeReq(G-Bus Address A
cknowledge OutPut Enable Request):Slave>Default
DriverLogic … スレーブがgAack_Lをドライブするた
めの要求信号。
G (Slavename) AackOeReq (G-Bus Address A
cknowledge OutPut Enable Request): Slave> Default
DriverLogic… Request signal for the slave to drive gAack_L.

【0127】g(Slavename)AackOe_L(G-Bus Address Ac
knowledge OutPut Enablet):DefaultDriverLogic>Sl
ave … g(Slavename)AackOeReqを出力したスレーブに
対し、デフォルトドライバロジックがgAack_Lのドライ
ブを許可することを示す信号。
G (Slavename) AackOe_L (G-Bus Address Ac
knowledge OutPut Enablet): DefaultDriverLogic> Sl
ave ... A signal indicating that the default driver logic permits gAack_L to be driven for slaves that output g (Slavename) AackOeReq.

【0128】gSlvBsy_L,InOut,(G-Bus Slave Bus
y):Slave>Master … スレーブがドライブし、デー
タバスでデータを転送中であることをあらわす。 drive:アドレスデコードヒット時、gTs_Lのアサートを
確認したクロックでドライブ開始。ただし、gSlvBsy_L
がアサートされている時はネゲートされるまで待ってド
ライブ。 assert:スレーブがReadyであればドライブした次のクロ
ックで、ReadyでなければReadyになるまで待ってアサー
ト。 negate:転送終了時にネゲート。 release:ネゲートの1クロック後、またはgTrStp_Lによ
る転送停止要求を確認したクロック。
GSlvBsy_L, InOut, (G-Bus Slave Bus
y): Slave> Master ... Indicates that the slave is driving and data is being transferred on the data bus. drive: When the address decode hits, drive starts with the clock that confirms assertion of gTs_L. Where gSlvBsy_L
When is asserted, wait until negated and drive. assert: If the slave is Ready, the next clock after driving. If not, wait until it becomes Ready and assert. negate: Negate at the end of transfer. release: One clock after negation or a clock that confirms a transfer stop request by gTrStp_L.

【0129】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のドライブを許可するこ
とを示す信号。
G (Slavename) SlvBsyOeReq (G-Bus Slave B
usy OutPut Enable Request): Slave> DefaultDriverL
ogic… Request signal for the slave to drive gSlvBsy_L g (Slavename) SlvBsyOe_L (G-Bus Slave Busy OutPut En
able): DefaultDriverLogic> Slave… g (Slavenam
e) A signal indicating that the default driver logic permits the slave that outputs SlvBsyOeReq to drive gSlvBsy_L.

【0130】gRdNotWr,InOut,(G-Bus Read(High)/Wr
ite(Low)):Master>Slave …マスターによりドライ
ブされ、HighでREAD、LOWでWRITEをあらわす。ドライブ
する期間はGAと同じである。 derive:gTs_Lと同時にマスターがドライブ。 assert:ドライブした次のクロック。 negate:gAack_Lのアサートを確認したクロック。
GRdNotWr, InOut, (G-Bus Read (High) / Wr
ite (Low)): Master> Slave ... Driven by the master, High indicates READ, LOW indicates WRITE. The driving period is the same as GA. derive: Master drives at the same time as gTs_L. assert: Next clock driven. negate: Clock that confirmed assertion of gAack_L.

【0131】g(Mastername)RdNotWrOeReq(G-Bus Read/
Write OutPut Enable Reques):Master>DefaultDrive
rLogic … バスマスタがgRdNotWrをドライブするため
の要求信号。
G (Mastername) RdNotWrOeReq (G-Bus Read /
Write OutPut Enable Reques): Master> DefaultDrive
rLogic… Request signal for the bus master to drive gRdNotWr.

【0132】g(Mastername)RdNotWrOe_L(G-Bus Read/W
rite OutPut Enablet):DefaultDriverLogic>Master
… g(Mastername)RdNotWrOeReqを出力したバスマス
タに対し、デフォルトドライバロジックがgRdNotWrのド
ライブを許可することを示す信号。
G (Mastername) RdNotWrOe_L (G-Bus Read / W
rite OutPut Enablet): DefaultDriverLogic> Master
... A signal indicating that the default driver logic permits gRdNotWr to drive the bus master that output g (Mastername) RdNotWrOeReq.

【0133】gBstCnt[1:0],InOut,(G-Bus Burst Cou
nter):Master>Slave … マスターによりドライブ
され、連続して行うバースト転送の数(1〜4)をあら
わす。信号の値とバースト転送するバイト数との対応は
表6のようになる。 derive:gTs_Lと同時にマスターがドライブ。 assert:ドライブした次のクロック。 negate:gAack_Lのアサートを確認したクロック。
GBstCnt [1: 0], InOut, (G-Bus Burst Cou
nter): Master> Slave ... Indicates the number (1 to 4) of burst transfers that are driven by the master and performed continuously. Table 6 shows the correspondence between the signal value and the number of bytes to be burst-transferred. derive: Master drives at the same time as gTs_L. assert: Next clock driven. negate: Clock that confirmed assertion of gAack_L.

【0134】[0134]

【表6】 [Table 6]

【0135】g(Mastername)BstCntOeReq(G-Bus Burst
Counter OutPut Enable Request):Master>DefaultDr
iverLogic … バスマスタがgBstCntをドライブするた
めの要求信号。
G (Mastername) BstCntOeReq (G-Bus Burst
Counter OutPut Enable Request): Master> DefaultDr
iverLogic… Request signal for the bus master to drive gBstCnt.

【0136】g(Mastername)BstCntOe_L(G-Bus Burst C
ounter OutPut Enablet):DefaultDriverLogic>Maste
r … g(Mastername)BstCntOeReqを出力したバスマス
タに対し、デフォルトドライバロジックがgBstCntのド
ライブを許可することを示す信号。
G (Mastername) BstCntOe_L (G-Bus Burst C
ounter OutPut Enablet): DefaultDriverLogic> Maste
r ... A signal indicating that the default driver logic permits gBstCnt drive for the bus master that output g (Mastername) BstCntOeReq.

【0137】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上をドライブするための要求信
号。
GBstStp_L, InOut, (G-Bus Burst Sto
p): Slave> Master: Indicates that the slave is driven by the slave and cannot accept the next successive burst transfer. Assert at the 15th beat of 1 burst (16 beats) transfer. If you do not stop, do not drive. drive: 14th beat. assert: 15th beat. negate: After clock assertion, g (Slavename) BstStpOeReq (G-Bus Burst Stop OutPut E
nable Request): Slave> DefaultDriverLogic…
Request signal for the slave to drive on gBstStp_L.

【0138】g(Slavename)BstStpOe_L(G-Bus Burst St
op OutPut Enablet):DefaultDriverlogic>Slave …
g(Slavename)BstStpOeReqを出力したスレーブに対
し、デフォルトドライバロジックがgBstStp_Lのドライ
ブを許可することを示す信号。
G (Slavename) BstStpOe_L (G-Bus Burst St
op OutPut Enablet): DefaultDriverlogic> Slave…
This signal indicates that the default driver logic permits gBstStp_L to be driven for slaves that output g (Slavename) BstStpOeReq.

【0139】(アービトレーション信号) 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もドライブする。gSlvBsy_Lがドライ
ブされていれば、gSlvBsy_Lがフリーになるのを待って
ドライブする。 スレーブはgTs_Lがアサートされている時にアドレス
をデコードし、ヒットすれば自分に対する転送であるこ
とを認識する。この時gSlvBsy_Lが他のスレーブにより
アサートされていなければ、gSlvBsy_LとgAack_Lのドラ
イブを始める。また、リードの場合はgDataもドライブ
する。gSlvBsy_Lが他のスレーブによりアサートされて
いれば、データバスは使用中であるということなので、
ネゲートされるまで待ってドライブを始める。gSlvBsy_
L,gAack_L,(gData)のドライブ開始後、スレーブがデー
タ転送の準備ができれば、それぞれの信号をアサート
し、データ転送を開始する。 gAack_Lがアサートされた時点でアドレスフェーズは
終了し、マスタはgAddr,gRdNotWr,gBstCntをネゲートす
る。また、その時点からマスタはライトデータを毎クロ
ック切り替え、gBstCntで指定されたデータ量だけ転送
を行う。マスタとスレーブは、それぞれ自分でクロック
をカウントして、データ転送の終了を知らなければなら
ない。
(Arbitration signal) g (Mastername) Req_L, Out, (G-Bus Request): Master
> Arbiter: Driven by the master, requesting a bus from the arbiter. Each master device has its own gReq_L. assert: Master that needs data transfer is asserted negate: Negative if gGnt_L is received g (Mastername) Gnt_L, In, (G-Bus GNT): Arbiter> Ma
ster: Driven by the arbiter, grants the next bus right in response to a bus request. Each master device has a dedicated gGnt_L. Bus rights are given in order from the bus master with the highest priority. Bus rights are given to masters of the same priority in the order in which bus requests are made. assert: Assert for the master selected by arbitration when gGnt_L is not given to another master or when gGnt_L given to another master is negated at the next clock. negate: Clock that confirmed assertion of gAack_L gTrStp_L, In, (G-Bus Transaction Stop): Arbiter
> Master, Slave… driven by arbiter, gGnt
Abort the transaction whose address phase has already been started by _L. However, transactions that have already started the data phase with gAack_L cannot be aborted. This signal is masked by gAack_L, and when gAack_L is asserted, it is negated and output even if asserted. assert: When a bus request comes from a master with a higher priority than the transaction that has already started the address phase. negate: Clock that confirms assertion of gAack_L (G bus write cycle) The G bus write cycle is as follows. Master requests bus, gReq_L asserted. Arbiter allowed, gGnt_L asserted. gReq_L negate. Upon receiving gGnt_L, the master receives gTs_L, gAddr, gRdNotWr, gBs
Drive tCnt. In the case of a write operation, gData is also driven at the same time unless gSlvBsy_L is asserted. If gSlvBsy_L is driven, wait for gSlvBsy_L to become free before driving. The slave decodes the address when gTs_L is asserted, and recognizes that the transfer is for itself if hit. At this time, if gSlvBsy_L is not asserted by another slave, driving of gSlvBsy_L and gAack_L is started. In the case of read, gData is also driven. If gSlvBsy_L is asserted by another slave, the data bus is in use,
Wait until it is negated and start driving. gSlvBsy_
After the drive of L, gAack_L, (gData) starts, if the slave is ready for data transfer, it asserts each signal and starts data transfer. The address phase ends when gAack_L is asserted, and the master negates gAddr, gRdNotWr, and gBstCnt. Also, from that point on, the master switches the write data every clock, and transfers the data by the data amount specified by gBstCnt. The master and the slave must each count the clock on their own and know that the data transfer has ended.

【0140】スレーブは転送の途中でマスタから要求さ
れたデータ転送量を転送できなくなった場合は、bStStp
_Lを15ビート目でアサートすることで、次の16ビー
トの転送をキャンセルすることがただし、16ビートの
途中でキャンセルすることはできない。
If the slave cannot transfer the data transfer amount requested by the master during the transfer, bStStp
By asserting _L at the 15th beat, the transfer of the next 16 beats can be canceled, however, it cannot be canceled in the middle of the 16 beats.

【0141】マスタおよびスレーブは、gBstStp_Lがア
サートされれば、次のクロックでデータの転送を終了さ
せなければならない。
When gBstStp_L is asserted, the master and the slave must end the data transfer at the next clock.

【0142】(キャッシュインバリデーションユニット
(CIU))キャッシュインバリデーションユニット
(以下CIU)2005は、Bバスからメモリへのライト
トランザクションを監視し、これが起こった場合は、メ
モリへの書込が終了する前に、CPUシェルのキャッシ
ュインバリデーションインターフェースを用い、CPU
シェルに内蔵されたキャッシュの無効化を行う。
(Cache Validation Unit (CIU)) The cache validation unit (hereinafter, CIU) 2005 monitors a write transaction from the B bus to the memory, and when this occurs, before writing to the memory is completed. In addition, using the cache validation interface of the CPU shell, the CPU
Invalidate the cache built into the shell.

【0143】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と同一サイクルだけドライブする。
The CPU shell uses the following three types of signals.・ SnoopADDR [31: 5] (Cache Invalidation Address) ・ DCINV (Dcache (data cache) Invalidation St
robe) ・ ICINV (Icache (Instruction Cache) Inv
alidation Strobe) The invalidation of the cache is performed in a maximum of three clocks. Since the writing from the B bus to the memory does not end in three clocks, the cache invalidation unit 20
No. 05 does not perform invalidation end handshake using the Stop_L signal output from the CPU shell 401. However, in preparation for future changes, bSnoopWait on B bus
Is driven for the same cycle as Stop_L.

【0144】なお、現在のインプリメンテーションで
は、Bバスからのライトが起こった場合は、安全のため
にIcacheもインバリデーションしている、もし、OSで
セルフモディファイングコードを禁止し、インストラク
ションとして使われる可能性のあるデータのローディン
グ時に、意図的にインストラクションキャッシュのイン
バリデーションを行うなら、Icacheのインバリデーショ
ンはいらない。この場合は若干のパフォーマンスアップ
が望める。
In the current implementation, when writing from the B bus occurs, Icache is also invalidated for safety. If the self-modifying code is prohibited by the OS, it is used as an instruction. If you intentionally invalidate the instruction cache when loading data that might be affected, you don't need Icache invalidation. In this case, a slight performance improvement can be expected.

【0145】(メモリマップ)図23及び図24にメモ
リマップを示す。図23は、左から順に、仮想メモリマ
ップ、物理メモリマップ、Gバスのアドレス空間でのメ
モリマップ、Bバスのアドレス空間でのメモリマップで
ある。また、図24は、レジスタ等を含む図23におけ
る斜線部の512メガバイトを示すマップである。
(Memory Map) FIGS. 23 and 24 show memory maps. FIG. 23 shows, in order from the left, a virtual memory map, a physical memory map, a memory map in the G bus address space, and a memory map in the B bus address space. FIG. 24 is a map showing 512 Mbytes indicated by hatching in FIG. 23 including registers and the like.

【0146】プロセッサコアのメモリモデルはR3000を
ベースにしている。プロセッサコアの物理アドレス空間
は32ビットアドレッシングにより4Gバイトある。仮
想空間も同様に32ビットアドレッシングを行なう。ユ
ーザープロセスの最大サイズは2Gバイトである。アド
レスマッピングはカーネルモードとユーザーモードで異
なる。図はMMUを使用しない場合のメモリマップであ
る。
The memory model of the processor core is based on R3000. The physical address space of the processor core is 4 Gbytes by 32-bit addressing. The virtual space similarly performs 32-bit addressing. The maximum size of the user process is 2 GB. Address mapping differs between kernel mode and user mode. The figure shows a memory map when the MMU is not used.

【0147】(ユーザーモード仮想アドレッシング)ユ
ーザーモードの仮想アドレッシングでは2Gバイトのユ
ーザ仮想アドレス空間(kuseg)が有効となる。このユー
ザーセグメントのアドレスは0x00000000から始まり、す
べての有効なアクセスは0にクリアされたmsbを持つ。
ユーザーモードにおいてmsbをセットしたアドレスの参
照はアドレスエラー例外処理を引き起こす。TLBはkuseg
へのすべての参照をユーザーモードとカーネルモードで
同様にマッピングする。また、キャッシャブルである。
kusegは通常ユーザーコードやデータを保持するために
使用される。
(User Mode Virtual Addressing) In user mode virtual addressing, a 2 Gbyte user virtual address space (kuseg) is valid. The address of this user segment starts at 0x00000000 and all valid accesses have msb cleared to zero.
In the user mode, referencing the address where msb is set causes address error exception handling. TLB kuseg
Map all references to in user mode and kernel mode as well. It is also cacheable.
kuseg is usually used to hold user code and data.

【0148】(カーネルモード仮想アドレッシング)カ
ーネルモードの仮想アドレス空間には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をスタックやコンテキストスイッチによるリマップが
必要なプロセス毎のデータのために使用する。
(Kernel Mode Virtual Addressing) The virtual address space in the kernel mode has four address segments.・ Kuseg 2 GB from virtual address 0x00000000.
Caching and mapping per page and unit is possible.
This segment overlaps with kernel memory access and user memory access. -Kseg0 512 Mbytes from the virtual address 0x80000000. Directly mapped to the first 512 Mbytes of physical memory. References are cached, but TLB is not used for address translation. kseg0 is usually used for kernel executable code and kernel data. -Kseg1 512 Mbytes from the virtual address 0xA0000000. Directly mapped to the first 512 Mbytes of physical memory. References are not cached and TLB is not used for address translation. kseg1 is usually I / O
Used for registers, ROM code, and disk buffers. -Kseg2 1 GB from virtual address 0xC0000000. k
Similar to useg, a virtual address is mapped to a physical address by TLB. Caching is free. OS is usually kseg
Use 2 for per-process data that needs to be remapped by stack or context switch.

【0149】(仮想アドレスメモリマップ(図23
(a),図24(a)))仮想アドレス空間は4Gバイ
トあり、システム上のすべてのメモリ、I/Oがアクセス
可能である。kusegにはSYSTEM MEMORY(1GB)が存在す
る。
(Virtual address memory map (FIG. 23)
(A), FIG. 24 (a))) The virtual address space is 4 Gbytes, and all memories and I / O on the system can be accessed. There is SYSTEM MEMORY (1GB) in kuseg.

【0150】kseg0には内蔵RAM(16MB)が存在する。
これは、例外処理のベクタをプログラミングしたい場合
にインプリメントし、例外ベクタベースアドレスを0x80
000000に設定する。このアドレスは物理アドレス空間の
0x00000000にマッピングされる。
Kseg0 has a built-in RAM (16 MB).
This is implemented if you want to program the exception handling vector, and set the exception vector base address to 0x80.
Set to 000000. This address is
Maps to 0x00000000.

【0151】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)が含まれる。
There are ROM, I / O, and registers in kseg1. Boot ROM (16 MB), SBB internal registers and MC
Internal register (16MB), IOBusI / O1 (16MB: Primitive B bus register such as G bus arbiter internal register, B bus arbiter internal register, PMU internal register, etc.), IOBusI
/ O2 (16MB), IOBusMEM (16MB), Gbus MEM (32MB), FONT ROM (2
40MB), FONT ROM or RAM (16MB).

【0152】kseg2にはPCI I/O(512MB),PCI MEM(512MB)
が存在する。
For kseg2, PCI I / O (512MB), PCI MEM (512MB)
Exists.

【0153】kseg0,kseg1はどちらも物理アドレス空間
の最初の512Mバイトにマッピングされるため、kseg0,ks
eg1とkusegの最初の512Mバイトはすべて同じ物理アドレ
ス空間を参照していることになる。
Since both kseg0 and kseg1 are mapped to the first 512 Mbytes of the physical address space, kseg0, kseg1
The first 512 Mbytes of eg1 and kuseg all refer to the same physical address space.

【0154】(物理アドレスメモリマップ(図23
(b),図24(b)))物理アドレス空間も仮想アド
レス空間と同様4Gバイトあり、システム上のすべての
メモリ、I/Oがアクセス可能である。
(Physical address memory map (FIG. 23)
(B), FIG. 24 (b))) The physical address space is also 4 Gbytes like the virtual address space, and all memories and I / O on the system can be accessed.

【0155】PCI I/O,PCI MEM,SYSTEM MEMORYについて
は仮想アドレスメモリマップと同一である。
The PCI I / O, PCI MEM, and SYSTEM MEMORY are the same as the virtual address memory map.

【0156】kseg1,kseg2はどちらも物理アドレス空間
の最初の512Mバイトにマッピングされるので、ROM,I/O,
Regは0x00000000からの空間に存在している。
Since kseg1 and kseg2 are both mapped to the first 512 Mbytes of the physical address space, the ROM, I / O,
Reg exists in the space from 0x00000000.

【0157】(Gバスメモリマップ(図23(c),図
24(c)))Gバスアドレス空間は4Gバイトあり、
SYSTEM MEMORY,GBus MEM,FONTのみがアクセス可能であ
る。
(G bus memory map (FIGS. 23 (c), 24 (c))) The G bus address space is 4 Gbytes,
Only SYSTEM MEMORY, GBus MEM, and FONT are accessible.

【0158】(Bバスメモリマップ(図23(d),図
24(d)))Bバスアドレス空間は4Gバイトあり、
PCI I/O,PCI MEM,SYSTEM MEMORY,IOBusI/O2,IOBus MEM,
FONTのみがアクセス可能である。
(B bus memory map (FIGS. 23 (d), 24 (d))) The B bus address space has 4 Gbytes,
PCI I / O, PCI MEM, SYSTEM MEMORY, IOBusI / O2, IOBus MEM,
Only FONT is accessible.

【0159】IOBus I/O1はプリミティブなレジスタのた
め、0x1C000000から0x20000000までの空間はPCIからプ
ロテクトがかけられており、PCIからアクセスできな
い。
Since IOBus I / O1 is a primitive register, the space from 0x1C000000 to 0x20000000 is protected from PCI and cannot be accessed from PCI.

【0160】(アドレススイッチ)アドレススイッチ2
003は、SCバス,Gバス,Bバス,MCバス間のデー
タ転送を行なうために、マスターとなるバスからスレー
ブとなるバスへ、SBB402を経由してアドレス信号
を送るためのものである。SBB402を経由する転送
において、マスターとなり得るバスは、SCバス,Gバ
ス,Bバスであり、スレーブとなり得るバスはBバス,M
Cバスである。MCバスに対してはSCバス,Gバス,B
バス,のいずれかがマスターとなり、BバスへはSCバ
スのみがマスターとなってアドレス信号を送る。
(Address Switch) Address Switch 2
Reference numeral 003 is for transmitting an address signal from the master bus to the slave bus via the SBB 402 in order to transfer data between the SC bus, the G bus, the B bus, and the MC bus. In the transfer via the SBB 402, the buses that can be the master are the SC bus, the G bus, and the B bus, and the buses that can be the slaves are the B bus, M bus.
C bus. SC bus, G bus, B for MC bus
Either of the buses serves as a master, and only the SC bus serves as a master to send an address signal to the B bus.

【0161】また、SCバス-Bバス間の転送と、Gバ
ス-MCバス間の転送は同時に行なうことができる。
The transfer between the SC bus and the B bus and the transfer between the G bus and the MC bus can be performed simultaneously.

【0162】図25に、アドレススイッチ2003のブ
ロック図を示す。スイッチシーケンサ2003aによ
り、スイッチ2003bを切り替えてスレーブをBバス
とMCバスとで切り換え、スイッチ2003cを切り替
えてマスタをSCバス,Gバス,Bバスで切り換える。
この構成により、MCバスに対してはSCバス,Gバス,
Bバス,のいずれかがマスターとなり、BバスへはSC
バスのみがマスターとなり、また、SCバス-Bバス間
の転送と、Gバス-MCバス間の転送は同時に行なうこ
とができる。
FIG. 25 is a block diagram of the address switch 2003. The switch sequencer 2003a switches the switch 2003b to switch the slave between the B bus and the MC bus, and switches 2003c to switch the master between the SC bus, the G bus, and the B bus.
With this configuration, the SC bus, G bus,
One of the B buses becomes the master, and the B bus is SC
Only the bus becomes the master, and the transfer between the SC bus and the B bus and the transfer between the G bus and the MC bus can be performed simultaneously.

【0163】(データスイッチ)データスイッチはSC
バス,Gバス,Bバス,MCバス間のデータ転送を行なう
際に,SBB内でデータの流れを切り替えるものであ
る。ライト時はマスターからスレーブ、リード時はスレ
ーブからマスターへデータが送られる。
(Data Switch) The data switch is SC
When data is transferred between the bus, the G bus, the B bus, and the MC bus, the flow of data is switched within the SBB. Data is sent from the master to the slave during writing, and from the slave to the master during reading.

【0164】図26にデータスイッチ2004のブロッ
ク図を示す。この構成において、セレクタA−1〜A−
3及びB−1,B−2を表7のように切り替えること
で、SCバス,Gバス,Bバスのいずれかをマスタと
し、Bバス,MCバスのいずれかをスレーブとして、書
き込みあるいは読み出しを行うように制御できる。
FIG. 26 is a block diagram of the data switch 2004. In this configuration, the selectors A-1 to A-
3 and B-1 and B-2 are switched as shown in Table 7, so that any one of the SC bus, G bus and B bus is used as a master and any one of the B bus and MC bus is used as a slave to perform writing or reading. Can be controlled to do so.

【0165】[0165]

【表7】 [Table 7]

【0166】(アービトレーション)SBB402内の
スイッチシーケンサ2003aは、各スイッチを切り替
えるにあたって、SBB外部からの以下の3種類の接続
要求間のアービトレーションを行う。 1.CPU 2.Gバスバスマスタ 3.Bバスバスマスタ このアービトレーションは、現在のバススイッチ接続状
況、及び、あらかじめ設定された優先順位により決定さ
れ、その結果アドレススイッチ、データスイッチの接続
が切り替えられる。
(Arbitration) The switch sequencer 2003a in the SBB 402 performs arbitration between the following three types of connection requests from outside the SBB when switching each switch. 1. CPU 2. 2. G bus bus master B bus bus master This arbitration is determined by the current bus switch connection status and a preset priority, and as a result, the connection of the address switch and the data switch is switched.

【0167】(タイミングダイアグラム)図27〜図3
2にタイミング図を示す。図27はGバスからの書き込
み/読み出しサイクルのタイミング図、図28はGバス
のバースト停止サイクルのタイミング図、図29〜図3
2は、Gバスのトランザクション停止サイクルのタイミ
ング図である。
(Timing Diagram) FIGS. 27 to 3
FIG. 2 shows a timing chart. FIG. 27 is a timing diagram of a write / read cycle from the G bus, FIG. 28 is a timing diagram of a burst stop cycle of the G bus, and FIGS.
FIG. 2 is a timing diagram of a G bus transaction stop cycle.

【0168】2.6.PCIバスインターフェース 図33は、PCIバスインターフェース416のブロッ
ク図である。
2.6. PCI Bus Interface FIG. 33 is a block diagram of the PCI bus interface 416.

【0169】PCIバスインターフェース416は、Do
Engine内部汎用IOバスであるBバスと、チップ外
部IOバスであるPCIバスの間をインターフェースするブ
ロックである。入力ピン設定により、リセット時にPCI
バスコンフィギュレーション発行可能な、ホストブリッ
ジ構成と、PCIバスコンフィギュレーションは発行しな
いターゲット構成とを切り替えることができる。
The PCI bus interface 416 is
It is a block that interfaces between the B bus, which is an internal general-purpose IO bus, and the PCI bus, which is an external IO bus on the chip. Depending on the input pin setting, PCI at reset
It is possible to switch between a host bridge configuration that can issue a bus configuration and a target configuration that does not issue a PCI bus configuration.

【0170】BバスインターフェースのマスタDMAコン
トローラ3301は、PCIバスシグナルインターフェー
ス3302を介してPCIバスマスタからDoEngin
e内部のリソースにアクセス要求があった場合に、Bバ
スマスタとしてこのアクセス要求をBバス内部にブリッ
ジする。
The master DMA controller 3301 of the B bus interface receives DoEngine from the PCI bus master via the PCI bus signal interface 3302.
When an access request is made to a resource inside e, the access request is bridged into the B bus as a B bus master.

【0171】更に、このマスタDMAコントローラ330
1は、PCIバス上でマッピングされるメモリからDoE
ngineMemoryへのDMA転送を行う事が出来る。この
際、プログラマが意図したBバスDMAと、GバスDMAのア
クセスの順番を守って動作させるために、転送先アドレ
ス(bPciAddr[31:0])と、PCIマスターコントローラ33
01のID信号(bPciID)を、Bバスとアービトレーション
シーケンサに対して、バスリクエストと同時に発行す
る。
Further, the master DMA controller 330
1 is the DoE from the memory mapped on the PCI bus.
DMA transfer to NgineMemory can be performed. At this time, the transfer destination address (bPciAddr [31: 0]) and the PCI master controller 33 are used in order to operate in accordance with the order of access of the B bus DMA and the G bus DMA intended by the programmer.
An ID signal (bPciID) of 01 is issued to the B bus and the arbitration sequencer simultaneously with the bus request.

【0172】マスタDMAコントローラ3301はバスグ
ラント(bPciBGnt_L)を受け取り、バスを使用しデータ転
送が終了した時点で、ID信号(bPciID)のアサートを取
りやめる。
The master DMA controller 3301 receives the bus grant (bPciBGnt_L), and cancels the assertion of the ID signal (bPciID) when the data transfer is completed using the bus.

【0173】なお、PCIバスは、33MHz,32ビット,PCI
2.1準拠とする。
The PCI bus is a 33 MHz, 32-bit, PCI
2.1 compliant.

【0174】2.7.Gバスアービタ 図34は、Gバスアービタ(GBA)406のブロック
図である。
2.7. G Bus Arbiter FIG. 34 is a block diagram of the G bus arbiter (GBA) 406.

【0175】Gバスのアービトレーションは、中央アー
ビトレーション方式であり、各バスマスタに対して専用
のリクエスト信号(g(mastername)Req_L)とグラント信号
(g(mastername)Gnt_L)を持つ。図34は、masternameは
M1〜M4となっている。Busアービタ406は、Gバス上
のバスマスタを4つまでサポートしており、以下のよう
な特徴を持つ。 ・アービタ内部のレジスタ3401aの設定によりアー
ビタをプログラミングすることが出来る。レジスタ設定
はBバスより行なう。 ・すべてのバスマスタを同じ優先権として、公平にバス
権を与える公平アービトレーションモードと、いずれか
ひとつのバスマスタの優先権を上げ、優先的にバスを使
用させる優先アービトレーションモードがある。どのバ
スマスタに優先権を与えるかはレジスタ3401bの設
定により決定される。 ・優先バスマスタが連続してバスを使用することができ
る回数を設定することが可能。 ・すでにアドレスフェーズを開始したが、データフェー
ズをまだ開始していないトランザクションについて、そ
のトランザクションをストップするためのトランザクシ
ョンストップサイクルをサポート。 ・複数のバスマスタにおける順序処理のプログラミング
ができる(後述)。プログラムされた順序は、レジスタ
テーブル3401aに格納される。 ・GバスマスタとBバスマスタが同一メモリアドレスに
順次書き込みを発行した場合に、プログラマの意図した
アクセス順序を維持するための機構として、同期ユニッ
トからのマスタID信号、ストップ信号に基づき、特定の
マスタに対し、バス使用許可を与えることを保留する機
構を持つ。
The arbitration of the G bus is a central arbitration method, and a dedicated request signal (g (mastername) Req_L) and a grant signal are provided to each bus master.
(g (mastername) Gnt_L). FIG. 34 shows that the mastername is
M1 to M4. The bus arbiter 406 supports up to four bus masters on the G bus and has the following features. The arbiter can be programmed by setting the register 3401a inside the arbiter. Register setting is performed from the B bus. There are a fair arbitration mode in which all bus masters have the same priority and the bus right is imparted fairly, and a priority arbitration mode in which the priority of one of the bus masters is raised and the bus is used preferentially. Which bus master is given priority is determined by the setting of the register 3401b. • It is possible to set the number of times that the priority bus master can use the bus continuously. -Supports a transaction stop cycle for stopping a transaction that has already started the address phase but has not started the data phase. -Programming of sequential processing in a plurality of bus masters can be performed (described later). The programmed order is stored in the register table 3401a. -When the G bus master and the B bus master sequentially write to the same memory address, as a mechanism for maintaining the access order intended by the programmer, a specific master is determined based on the master ID signal and stop signal from the synchronization unit. On the other hand, it has a mechanism to suspend giving the bus use permission.

【0176】なお、レジスタへのプログラミングは、B
バスを介してCPU401から行われる。
The programming of the register is performed by B
This is performed from the CPU 401 via the bus.

【0177】(アービトレーションシーケンサ)Gバス
アービタの中核となるアービトレーションシーケンサ3
402a,bは、1つの優先マスタとその他の4つの非
優先マスタの間で5つのマスタによるアービトレーショ
ンを行なう。4つのバスマスタからのリクエスト信号と
グラント信号を、リクエストディスパッチ回路3403
とグラントディスパッチ回路3404によって4つの非
優先マスタに割り付けることにより、公平アービトレー
ションモードが実現される。また、4つのバスマスタの
うちのひとつを、高優先アービトレーションシーケンサ
3402aの優先マスタに割り付けることで、優先アー
ビトレーションモードとして動作する。これらの割り付
けは、レジスタ3401a,bの設定にしたがって行わ
れる。これにより、優先バスマスタは、他のマスタより
高い確率でバスの使用権を取得することが出来る。
(Arbitration sequencer) Arbitration sequencer 3 which is the core of G bus arbiter
In 402a and 402b, arbitration by five masters is performed between one priority master and the other four non-priority masters. Request signals and grant signals from the four bus masters are transmitted to a request dispatch circuit 3403.
And the grant dispatch circuit 3404 assigns four non-priority masters, thereby realizing a fair arbitration mode. In addition, by allocating one of the four bus masters to the priority master of the high-priority arbitration sequencer 3402a, it operates in the priority arbitration mode. These assignments are performed according to the settings of the registers 3401a and 3401b. As a result, the priority bus master can acquire the right to use the bus with a higher probability than other masters.

【0178】さらに、バスの取得機会確率の調整に加
え、高優先シーケンサ3402aに割り当てられたマス
タは、連続してバスを使用する事が出来、連続して使用
出来る回数をプログラマブルなレジスタにより可変する
事ができる。これは、バスの占有率を調整出来、ある特
定のマスタにより多くバスを使用させる様に出来ること
を意味する。
Further, in addition to adjusting the probability of acquiring a bus, the master assigned to the high-priority sequencer 3402a can use the bus continuously, and varies the number of times the bus can be used continuously using a programmable register. Can do things. This means that the occupancy of the bus can be adjusted so that a particular master can use more of the bus.

【0179】(公平アービトレーションモード)このモ
ードでは、すべてのバスマスタは同じ優先順位にあり、
バス権を与えられる機会は公平である。バスがフリーの
時は、一番最初にリクエストを出したバスマスタがバス
権を得ることができる。また、複数のバスマスタが同時
にリクエストを出した場合は、あらかじめ決められた順
序にしたがって順次バス権が与えられる(ラウンドロビ
ン方式)。例えば、M1からM4までのすべてのバスマ
スタが同じクロックでリクエストを出した場合は、M1
→M2→M3→M4といった順序でバス権が与えられ
る。M4のトランザクションの終了時に再びすべてのバ
スマスタがリクエストを出している場合は、M1→M2
→M3→M4→M1→M2…というように、同様の順序
でバス権を与えていく。一部のバスマスタがリクエスト
を出している場合は、M4からM1へラウンドラップす
るとして、最後にバスを使用したマスタにもっとも近い
大きい番号を持ったマスタへグラントを与える。
(Fair Arbitration Mode) In this mode, all bus masters have the same priority,
Opportunities to be granted the bus are fair. When the bus is free, the bus master that has issued the request first can get the bus right. When a plurality of bus masters issue requests at the same time, bus rights are sequentially given according to a predetermined order (round robin method). For example, if all the bus masters from M1 to M4 issue requests with the same clock, M1
The bus right is granted in the order of → M2 → M3 → M4. When all bus masters have issued requests again at the end of the transaction of M4, M1 → M2
Bus rights are granted in the same order, such as → M3 → M4 → M1 → M2. If some bus masters are issuing requests, round wrapping from M4 to M1 is given, and a grant is given to the master with the largest number closest to the master that last used the bus.

【0180】一度バス権が他のバスマスタに移ると、他
にリクエストを出しているすべてのバスマスタにバス権
を与えた後でないと再びバス権を得ることができない。
Once the bus right has been transferred to another bus master, the bus right cannot be obtained again until after all other requesting bus masters have been given the bus right.

【0181】(優先アービトレーション)このモードで
は、ひとつのバスマスタ(レジスタ3401bに登録さ
れたバスマスタ)が他のバスマスタよりも高い優先権を
持つ優先バスマスタになり、他のバスマスタに比べ優先
的にバス権が与えられる。優先バスマスタ以外のバスマ
スタの優先順位はすべて同じである。
(Priority arbitration) In this mode, one bus master (the bus master registered in the register 3401b) becomes a priority bus master having a higher priority than the other bus masters, and the bus right has priority over the other bus masters. Given. All bus masters other than the priority bus master have the same priority.

【0182】複数のバスマスタがリクエストを出してお
り、また優先バスマスタが連続したリクエストを行う場
合、優先バスマスタと他の非優先バスマスタは交互にバ
ス権を得る。
When a plurality of bus masters have issued requests and the priority bus master makes successive requests, the priority bus master and the other non-priority bus masters alternately obtain the bus right.

【0183】非優先バスマスタから他のバスマスタにバ
ス権が移ると、他にリクエストを出しているすべてのバ
スマスタにバス権を与えた後でないと、その非優先バス
マスタは再びバス権を得ることができない。
When the bus right is transferred from the non-priority bus master to another bus master, the bus right cannot be obtained again until after all other requesting bus masters have been granted the bus right. .

【0184】(トランザクション・ストップ・サイク
ル)優先アービトレーションモードにおいて、優先バス
マスタがリクエストを出した時、すでに他のバスマスタ
がアドレスフェーズを開始していても、データフェーズ
をまだ開始していなければ、そのトランザクションをス
トップし、優先バスマスタがバス権を得ることができ
る。ただし、その直前に優先バスマスタがバス権を持っ
ていた場合は、連続したバス権を得ることができる回数
を超えることはできない。
(Transaction Stop Cycle) In the priority arbitration mode, when a priority bus master issues a request, even if another bus master has already started an address phase, if the data phase has not yet started, the transaction is stopped. And the priority bus master can get the bus right. However, if the priority bus master has the bus right immediately before that, the number of times that the continuous bus right can be obtained cannot be exceeded.

【0185】優先バスマスタのトランザクションが終了
した時、中止されたバスマスタがリクエストを出してい
れば、優先してバス権が与えられる。
At the end of the transaction of the priority bus master, if the suspended bus master has issued a request, the bus right is given priority.

【0186】(優先バスマスタの切り替え)優先バスマ
スタの切り替えを行なうには、レジスタ3401bを書
き換えればよい。優先バスマスタを選択するレジスタが
書き換えられると、その時に実行中のトランザクション
の終了を待って、優先バスマスタが切り替えられる。ア
ービタのステートはアイドル状態にもどり、その時点で
リクエストを出していたバスマスタは、その時同時にリ
クエストを出したものとして、あらためてアービトレー
ションが行われる。
(Switching of priority bus master) To switch the priority bus master, the register 3401b may be rewritten. When the register for selecting the priority bus master is rewritten, the priority bus master is switched after the completion of the transaction being executed at that time. The state of the arbiter returns to the idle state, and the bus master that has issued the request at that time performs the request at the same time, and arbitration is performed again.

【0187】優先バスマスタの切り替えには十分注意を
払う必要がある。優先させるべきバスマスタのDMAが終
了しないうちに、異なったバスマスタに優先バスマスタ
を切り替えてしまうと、最初の優先バスマスタのDMAの
優先度が下がってしまう。もしも最初の優先バスマスタ
の優先度を下げたくないのであれば、DMAが終了したの
を確認してから優先バスマスタの切り替えを行なう必要
がある。
Care must be taken when switching the priority bus master. If the priority bus master is switched to a different bus master before the DMA of the priority bus master ends, the priority of the DMA of the first priority bus master decreases. If you do not want to lower the priority of the first priority bus master, it is necessary to switch the priority bus master after confirming that DMA has ended.

【0188】優先バスマスタ切り替えを、システムブー
ト時のみでなく、システム稼働中も動的に行う必要のあ
るソフトウェアでは、優先バスマスタの切り替えは、い
ったんGバス上に新たなDMAリクエストが発生しないよ
う、すべてのバスマスタ及びDMAコントローラに対する
設定を中止し、その後、Gバスアービタ406内のレジ
スタに適切な値をセットし、さらに、Gバスアービタ4
06内のステータスレジスタをチェックし、バスマスタ
の優先権が切り替わったのを確認した上で新たなGバス
上へのアクセス及びDMAの起動を行うべきである。
In software that needs to dynamically switch the priority bus master not only at the time of system boot but also during the operation of the system, the switching of the priority bus master is performed so that a new DMA request is not generated on the G bus once. Of the G bus arbiter 406 is stopped, and then an appropriate value is set in a register in the G bus arbiter 406.
After checking the status register in 06 and confirming that the priority of the bus master has been switched, access to a new G bus and activation of DMA should be performed.

【0189】優先バスマスタの動的切り替えは、オペレ
ーティングシステムの実時間保証、タスクの優先順位の
設定を変化もしくは違反させてしまう可能性があり、十
分な考慮の上行われなければならない。
The dynamic switching of the priority bus master may change or violate the real-time guarantee of the operating system and the setting of the task priority, and must be performed with due consideration.

【0190】(順序処理)図35は、DoEngine
400内におけるGバス404を中心とする、Gバス上
のバスマスタによるDMAに係るブロック図である。
(Order Processing) FIG. 35 is a diagram showing DoEngine
FIG. 4 is a block diagram relating to DMA by a bus master on the G bus, centering on the G bus 404 in 400

【0191】複数のバスマスタが順次に処理を行うこと
が必要な場合、例えば、メモリ3501上のデータに対
して、バスマスタ1により処理Aを行った後、バスマス
タ2により処理Bを行い、その処理後のデータをバスマ
スタ4に送るといった一連の処理を考える。
When it is necessary for a plurality of bus masters to sequentially perform processing, for example, after processing A on the data in the memory 3501 by the bus master 1, then perform processing B by the bus master 2, and after the processing, A series of processes, such as sending the data to the bus master 4, will be considered.

【0192】この処理を行うソフトウェア、すなわちC
PU401により実行されるプログラムにより、Bバス
405を介して、バスアービタ406内のレジスタテー
ブル3401aに、バスマスタがバスを使用する順序
と、バス権の付与の開始条件と、終了条件がセットされ
る。この例では、 というようにセットする。すなわち、Gバスアービタ4
06は、それぞれのバスマスタから、開始条件として設
定された信号を受けるとそのバスマスタにバス使用権を
与え、終了条件として設定された信号を受けるとバス使
用権を奪う。
Software for performing this processing, that is, C
According to the program executed by the PU 401, the order in which the bus master uses the bus, the start condition for granting the bus right, and the end condition are set in the register table 3401a in the bus arbiter 406 via the B bus 405. In this example, And so on. That is, G bus arbiter 4
06, upon receiving a signal set as a start condition from each bus master, gives the bus master the right to use the bus, and when receiving a signal set as an end condition, deprives the bus master of the right to use the bus.

【0193】ソフトウェアはそれぞれのバスマスタにDM
Aをセットする。それによって、それぞれのマスタはG
バスアービタ404に対してリクエスト(g(mastername)
Req_L)を発行する。Gバスアービタ404はレジスタテ
ーブル3401aに登録された順序に従ってバスマスタ
1にバス権を与える(gM1Gnt_L)。バスマスタ1はメモリ
3501からある単位のデータをリードし、処理Aを行
って、バスマスタ1内部のバッファにデータをライトす
る。バスマスタ1はひとつの単位の処理が終了し、バッ
ファの準備ができたことをgM1BufReady信号によりアー
ビタ406に対して通知する。
[0193] The software sends DM to each bus master.
Set A. Thereby, each master is G
Request to bus arbiter 404 (g (mastername)
Req_L). The G bus arbiter 404 gives a bus right to the bus master 1 according to the order registered in the register table 3401a (gM1Gnt_L). The bus master 1 reads a certain unit of data from the memory 3501, performs process A, and writes data to a buffer inside the bus master 1. The bus master 1 notifies the arbiter 406 by the gM1BufReady signal that the processing of one unit is completed and the buffer is ready.

【0194】アービタ406はそれを受け、レジスタテ
ーブル3401aに登録された、バスマスタがバス権を
与える条件とバス権を奪う条件にしたがって、バス権を
バスマスタ1から奪いバスマスタ2に与える。バスマス
タ2はバスマスタ1のバッファのデータをリードし、処
理Bを行って、バスマスタ2内部のバッファにデータを
格納する。この間にバスマスタ1のバッファが空になる
とgM1BufEmptyがアサートされ、アービタ406はバス
マスタ2にバス権を与えていたのを取りやめる。バスマ
スタ2は処理Bを行って、バッファの準備ができるとgM
2BufReady信号により通知する。
The arbiter 406 receives the bus right from the bus master 1 and gives the bus master 2 to the bus master 2 in accordance with the conditions for granting the bus right and the conditions for taking the bus right registered in the register table 3401a. The bus master 2 reads the data in the buffer of the bus master 1, performs the process B, and stores the data in the buffer inside the bus master 2. If the buffer of the bus master 1 becomes empty during this time, gM1BufEmpty is asserted, and the arbiter 406 stops giving the bus right to the bus master 2. The bus master 2 performs processing B, and when the buffer is ready, gM
Notify by 2BufReady signal.

【0195】アービタ406はそれを受け、レジスタ3
401aの内容にしたがって、今度はバスマスタ4にバ
ス権を与える。バスマスタ4はバスマスタ2のバッファ
からデータをリードする。バスマスタ2のバッファが空
になると、gM2BufEmptyによってアービタ406に通知
し、アービタ406はそれを受け、レジスタ3401a
の内容に従って再びバスマスタ1にバス権を与え、次の
データの処理を始める。
The arbiter 406 receives it, and registers
In accordance with the contents of 401a, the bus right is given to the bus master 4 this time. The bus master 4 reads data from the buffer of the bus master 2. When the buffer of the bus master 2 becomes empty, the arbiter 406 is notified by gM2BufEmpty, and the arbiter 406 receives the notification and registers 3401a.
The bus right is again given to the bus master 1 according to the contents of the above, and the processing of the next data is started.

【0196】それぞれのバスマスタにセットされたDMA
がすべて終了すると、それぞれのバスマスタはプロセッ
サに割り込みによって通知する。ソフトウェアはすべて
のバスマスタからの終了通知がそろったとき、一連の処
理が終了したことを知る。
DMA set in each bus master
Is completed, each bus master notifies the processor by an interrupt. The software knows that a series of processing has been completed when all the bus masters have received the completion notification.

【0197】以上説明した動作は完全順次モードでの動
作であり、順次処理に関わるバスマスタ以外のバスマス
タは、バスを使用することができない。この順次処理中
でも、順次処理に関係のないバスマスタがバスを使用す
ることを可能にするために優先順次モードが用意されて
いる。これらのモードの切り替えではアービタ406内
部のレジスタにプログラミングすることによって行な
う。優先順次モードでは、順次処理を行なうバスマスタ
は優先的にバスを使用できるが、順次処理に関わらない
バスマスタであればバスを使用することが許される。順
次処理を行なうバスマスタと関わらないバスマスタの間
のアービトレーションは、前述した優先アービトレーシ
ョンモードと同等である。当然、順次処理に係わるバス
マスタで、バス権を与えられる条件が満足されずに自分
の順番が回ってきていないバスマスタにはバス権は与え
られない。
The operation described above is an operation in the complete sequential mode, and a bus master other than the bus master involved in the sequential processing cannot use the bus. Even during this sequential processing, a priority sequential mode is provided to enable a bus master unrelated to the sequential processing to use the bus. Switching between these modes is performed by programming a register inside the arbiter 406. In the priority sequential mode, a bus master performing sequential processing can use the bus preferentially, but a bus master not involved in the sequential processing is permitted to use the bus. Arbitration between a bus master that performs sequential processing and a bus master that is not involved is equivalent to the priority arbitration mode described above. As a matter of course, the bus masters who are not involved in the sequential process and whose turn is not turned because the conditions for granting the bus master are not satisfied are not given the bus master.

【0198】(アクセス順序を維持するための機構)信
号stopSpcがアサートされた場合は、Gバスマスタのひ
とつであるスキャナコントローラ/プリンタコントロー
ラはアービトレーションの対象から除外され、たとえリ
クエストをアサートしていてもバス使用権を与えられる
ことはない。アービトレーションはこのマスタを除外し
たマスタ間で行われる。詳細な説明はBバスアービタの
節で行なう。
(Mechanism for Maintaining Access Order) When the signal stopSpc is asserted, the scanner controller / printer controller which is one of the G bus masters is excluded from the arbitration target, and even if the request is asserted, You are not entitled to use it. Arbitration is performed between masters excluding this master. A detailed description will be given in the section on the B bus arbiter.

【0199】(タイミングダイアグラム)図36〜図3
9において、Gバスアービトレーションのタイミングを
説明する。図36は、連続してバスを使用する回数が、
バスマスタ1〜4のすべてについて1に設定されている
場合の公平アービトレーションモード(フェアモード)
の例である。バスマスタ1による2回目の(タイミング
4から出されている)バス要求は、バス要求を出してい
る他のバスマスタがすべて1回ずつ処理されるまで待た
されている。
(Timing Diagram) FIGS. 36 to 3
9, the timing of the G bus arbitration will be described. FIG. 36 shows that the number of times the bus is used continuously is
Fair arbitration mode when all bus masters 1 to 4 are set to 1 (fair mode)
This is an example. The second bus request (issued from timing 4) by the bus master 1 waits until all other bus masters issuing the bus request are processed one by one.

【0200】図37は、連続してバスを使用する回数
が、バスマスタ1についてのみ2であり、他のバスマス
タは1に設定されている場合の公平アービトレーション
モードの例である。バスマスタ1が出している2回目の
(タイミング4から出されている)バス要求は1回目の
要求に続いて直ちに許可され、他のバスマスタはその処
理がすむまで待たされている。
FIG. 37 shows an example of the fair arbitration mode when the number of times of continuous bus use is 2 only for bus master 1 and the other bus masters are set to 1. The second bus request (issued from timing 4) issued by the bus master 1 is granted immediately after the first request, and the other bus masters are kept waiting until the processing is completed.

【0201】図38は、連続してバスを使用する回数が
それぞれ1ずつであり、バスマスタ1が優先バスマスタ
と設定されている場合の優先アービトレーションモード
の例である。優先バスマスタと非優先バスマスタとは交
互にバス使用権が認められるために、バスマスタ1の2
回目のバス要求はバスマスタ2のバスの使用後に認めら
れており、バスマスタ4のバス要求は、バスマスタ1の
2回目のバスの使用後に認められている。また、バスマ
スタ2の2回目のバス要求は、バス要求を出している他
のすべてのバスマスタ、図38ではバスマスタ1及びバ
スマスタ4のバス使用が終了した後で認められている。
FIG. 38 shows an example of the priority arbitration mode when the number of times of continuous use of the bus is 1 and the bus master 1 is set as the priority bus master. Because the priority bus master and the non-priority bus master are alternately granted the right to use the bus, the bus master 1
The second bus request is granted after the bus master 2 uses the bus, and the bus request from the bus master 4 is granted after the bus master 1 uses the second bus. The second bus request from the bus master 2 is acknowledged after all other bus masters issuing the bus request, in FIG. 38, the bus masters 1 and 4 have finished using the bus.

【0202】図39は、バスマスタ1からのバス要求に
より、バスマスタ4のバス要求が許可されているにもか
かわらず中断された例である。この場合、バスマスタ1
のバス使用が終了すると、バスマスタ2のバス要求に優
先してバスマスタ4のバス要求が認められる。
FIG. 39 shows an example in which the bus request from the bus master 4 is interrupted by the bus request from the bus master 1 even though the bus request is permitted. In this case, bus master 1
Is completed, the bus request from the bus master 4 is acknowledged in preference to the bus request from the bus master 2.

【0203】2.8.Bバスアービタ 図40は、Bバスアービタ407のブロックである。2.8. B Bus Arbiter FIG. 40 is a block diagram of the B bus arbiter 407.

【0204】Bバスアービタ407は、DoEngin
e内部のIO汎用バスであるBバス405のバス使用要
求を受け付け、調停の後、使用許可を選択された一つの
マスタに対して与え、同時に2つ以上のマスタがバスア
クセスを行う事を禁止する。
The B bus arbiter 407 is a DoEngine
Accepts a bus use request of B bus 405, which is an internal IO general bus, and after arbitration, grants use permission to the selected one master, and prohibits two or more masters from accessing the bus at the same time. I do.

【0205】アービトレーション方式は、3段階のプラ
イオリティを持ち、それぞれのプライオリティに複数の
マスタをプログラマブルに割り当てられる構成になって
いる。割り当ては、それぞれ最大で、最高のプライオリ
ティに3マスタ、中間に7マスタ、最低レベルに3マス
タとなる。
The arbitration system has three levels of priorities, and a plurality of masters can be assigned to each priority in a programmable manner. Allocation is maximum, with 3 masters at the highest priority, 7 masters at the middle, and 3 masters at the lowest level.

【0206】また、GバスマスタとBバスマスタが、同
一メモリアドレスに順次書き込みを発行した場合に、プ
ロブラマの意図したアクセス順序を維持するための機構
として、同期ユニットからの、マスタID信号、ストッ
プ信号に基づき、特定のマスタに対し、バス使用許可を
与えることを保留する機構を持つ。
When the G bus master and the B bus master sequentially write data to the same memory address, as a mechanism for maintaining the access order intended by the programmer, a master ID signal and a stop signal from the synchronization unit are used. Based on this, it has a mechanism to suspend giving a bus use permission to a specific master.

【0207】(アービトレーションシーケンサ)Bバス
アービタは3つのアービトレーションシーケンサ400
2,4003,4004から構成される。それぞれ、高
優先権、中優先権、低優先権を持ち、それぞれのシーケ
ンサ内に、3,7,3本のバスマスタ用アービトレーシ
ョンシーケンサが内蔵される。Bバス上のすべてのバス
マスタになる可能性のあるユニットからのリクエスト信
号とそれらへのグラント信号を、リクエストセレクタと
グラントセレクタによって、これらの3つのシーケンサ
ユニットに分配する。この分配は、BBusインタフェ
ース4005内のソフトウェアプログラマブルなレジス
タ4005aにより、複数の組み合わせのなかから、一
意の組み合わせを選択することが出来る。
(Arbitration Sequencer) The B bus arbiter has three arbitration sequencers 400.
2,4003,4004. Each has a high priority, a medium priority, and a low priority, and 3, 7, and 3 bus master arbitration sequencers are built in each sequencer. Request signals from units which may become all bus masters on the B bus and grant signals thereto are distributed to these three sequencer units by a request selector and a grant selector. In this distribution, a unique combination can be selected from a plurality of combinations by a software programmable register 4005a in the BBus interface 4005.

【0208】たとえば、最大7つのマスタのリクエスト
を中優先アービトレーションシーケンサ4003に接続
することにより、7つのマスタ間で公平なアービトレー
ションが実現される。また、バスマスタのうちのいくつ
かを、高優先アービトレーションシーケンサ4002に
割り付けることで、これらのマスタは他のマスタより、
より高い確率でバスの使用権を取得することが出来る。
さらに、いくつかのリクエストを低優先シーケンサ40
04に接続することで、これらのバスの使用率を低く抑
える事が出来る。さらに、バスの取得機会確率の調整に
加え、高優先シーケンサ4002に割り当てられたマス
タは、連続してバスを使用する事ができ、連続して使用
出来る回数をプログラマブルなレジスタ4005aによ
り可変する事ができる。これは、バスの占有率を調整で
き、ある特定のマスタにより多くの時間バスを使用させ
る様に出来る事を意味する。
For example, by connecting requests of up to seven masters to the middle-priority arbitration sequencer 4003, fair arbitration is realized among the seven masters. Also, by allocating some of the bus masters to the high-priority arbitration sequencer 4002, these masters are more
The right to use the bus can be acquired with a higher probability.
In addition, some requests are sent to the low-priority sequencer 40.
04, the usage rate of these buses can be kept low. Further, in addition to adjusting the probability of acquiring a bus, the master assigned to the high-priority sequencer 4002 can use the bus continuously, and the number of times the bus can be used continuously can be changed by the programmable register 4005a. it can. This means that the occupancy of the bus can be adjusted so that a particular master can use the bus more time.

【0209】(公平バスアービトレーション方式)中優
先シーケンサ4003を例にとり、公平アービトレーシ
ョンの実現方法を説明する。一つのシーケンサに接続さ
れたすべてのバスマスタは同じ優先順位にあり、バス権
を与えられる機会は公平である。バスがフリーの時は、
一番最初にリクエストを出したバスマスタがバス権を得
ることができる(ファーストカムファーストサーブ)。
また、複数のバスマスタが同時にリクエストを出した場
合は、あらかじめ決められた順序にしたがって順次バス
権が与えられる(同時リクエスト発行時ラウンドロビ
ン)。例えば、M1からM7までのすべてのバスマスタ
が同じクロックでリクエストを出した場合は、M1→M
2→M3→M4→M5→M6→M7といった順序でバス
権が与えられる。M7のトランザクションの終了時に再
びすべてのバスマスタがリクエストを出している場合
は、M1→M2→M3→M4→M5→M6→M7→M1
→M2というように、同様の順序でバス権を与えてい
く。一部のバスマスタがリクエストを出している場合
は、M7からM1へラウンドラップするとして、最後に
バスを使用したマスタにもっとも近い大きい番号を持っ
たマスタへグラントを与える。
(Fair Bus Arbitration Method) A method of realizing fair arbitration will be described using the middle priority sequencer 4003 as an example. All bus masters connected to one sequencer have the same priority, and the opportunity to be granted the bus is fair. When the bus is free,
The bus master that has issued the request first can get the bus right (first come first serve).
When a plurality of bus masters issue requests at the same time, bus rights are sequentially given according to a predetermined order (round-robin at the time of issuing a simultaneous request). For example, if all bus masters from M1 to M7 issue requests with the same clock, M1 → M
The bus right is given in the order of 2 → M3 → M4 → M5 → M6 → M7. When all bus masters have issued requests again at the end of the transaction of M7, M1 → M2 → M3 → M4 → M5 → M6 → M7 → M1
→ The bus right is granted in the same order as in M2. If some bus masters are issuing requests, round wrapping is performed from M7 to M1, and a grant is given to the master having the largest number closest to the master that last used the bus.

【0210】(優先アービトレーション)Bバスインタ
ーフェースは、高優先、中優先、低優先の3つのアービ
トレーションシーケンサが存在する。優先順位をつけた
アービトレーションは、複数のバスリクエストを選択的
に、高優先、低優先、のアービタに割り振ることにより
実現される。
(Priority Arbitration) The B bus interface has three arbitration sequencers of high priority, medium priority, and low priority. Arbitration with priorities is realized by selectively allocating a plurality of bus requests to high-priority and low-priority arbiters.

【0211】たとえば、ひとつのマスタを高優先に割り
当て、残りを中優先に割り当てることにより、ひとつの
バスマスタが他のバスマスタよりも高い優先権を持つ優
先バスマスタになり、他のバスマスタに比べ優先的にバ
ス権が与えられる。同じ優先権のアービトレーションシ
ーケンサに割り当てられたバスマスタの優先順位はすべ
て同じである。
For example, by allocating one master with high priority and allocating the rest with medium priority, one bus master becomes a priority bus master having a higher priority than other bus masters, and has priority over other bus masters. Bus right is granted. All bus masters assigned to the arbitration sequencer having the same priority have the same priority.

【0212】複数のバスマスタがリクエストを出してお
り、また優先バスマスタが連続してリクエストを行う場
合、優先バスマスタと他のバスマスタは交互にバス権を
得る。M3が優先マスタでM1,M2,M3,M4がリ
クエストを出し続けた場合M3→M1→M3→M2→M
3→M4→M3→M1の順でバス使用権を与える。
When a plurality of bus masters have issued requests and the priority bus master makes requests continuously, the priority bus master and the other bus masters alternately obtain the bus right. When M3 is the priority master and M1, M2, M3, and M4 keep issuing requests, M3 → M1 → M3 → M2 → M
The right to use the bus is given in the order of 3 → M4 → M3 → M1.

【0213】また、高優先バスマスタは、アービタ内の
プログラマブルなレジスタにあらかじめ設定された回数
だけ連続したバス権を得ることができる。連続したバス
を使用出来る回数は最大で4回である。
Further, the high-priority bus master can obtain a continuous bus right for a preset number of times in a programmable register in the arbiter. The maximum number of times a continuous bus can be used is four.

【0214】優先バスマスタ以外のバスマスタから他の
バスマスタにバス権が移ると、そのバスマスタは、他に
リクエストを出しているすべてのバスマスタにバス権を
与えた後でないと再びバス権を得ることができない。ひ
とつのバスマスタが連続してリクエストを行う場合、他
にリクエストを行っているバスマスタがいなければ、連
続してバス権を得ることができるが、他のバスマスタが
リクエストを行っていれば、そのバスマスタはあらかじ
め設定された回数だけ連続してバス権を得ることができ
る。一度バス権が他のバスマスタに移ると、他にリクエ
ストを出しているすべてのバスマスタにバス権を与えた
後でないと再びバス権を得ることができない。
When the bus right is transferred from a bus master other than the priority bus master to another bus master, the bus master cannot obtain the bus right again after giving the bus right to all other requesting bus masters. . When one bus master makes a request continuously, if there is no other requesting bus master, the bus mastership can be obtained continuously, but if another bus master makes a request, that bus master will The bus right can be continuously obtained a predetermined number of times. Once the bus right has been transferred to another bus master, the bus right can be obtained again only after all other requesting bus masters have been given the bus right.

【0215】低優先アービトレーションシーケンサ40
04には最大3本のリクエストを割り当てる事が出来
る。低優先シーケンサ4004に割り当てられたマスタ
へは、中優先、高優先シーケンサに割り当てられた、す
べてのマスタのリクエストがなくならないと、バスの使
用権が与えられない。このシーケンサへのバスマスタの
割り当ては十分な注意を持って行われなければならな
い。
The low-priority arbitration sequencer 40
04 can be assigned a maximum of three requests. The master assigned to the low-priority sequencer 4004 is not given the right to use the bus unless all master requests assigned to the medium-priority and high-priority sequencers are eliminated. The assignment of the bus master to this sequencer must be done with great care.

【0216】(優先バスマスタの切り替え)優先バスマ
スタの切り替えを行なうには、アービタ内のレジスタを
書き換えればよい。優先バスマスタを選択するレジスタ
が書き換えられると、その時に実行中のトランザクショ
ンの終了を待って、優先バスマスタが切り替えられる。
アービタのステートはアイドル状態にもどり、その時点
でリクエストを出していたバスマスタは、その時同時に
リクエストを出したものとして、あらためてアービトレ
ーションが行われる。
(Switching of priority bus master) To switch the priority bus master, the register in the arbiter may be rewritten. When the register for selecting the priority bus master is rewritten, the priority bus master is switched after the completion of the transaction being executed at that time.
The state of the arbiter returns to the idle state, and the bus master that has issued the request at that time performs the request at the same time, and arbitration is performed again.

【0217】切り替えには十分注意を払う必要がある。
優先させるべきバスマスタのDMAが終了しないうちに、
異なったバスマスタに優先バスマスタを切り替えてしま
うと、最初の優先バスマスタのDMAの優先度が下がって
しまう。もしも最初の優先バスマスタの優先度を下げた
くないのであれば、DMAが終了したのを確認してから優
先バスマスタの切り替えを行なう必要がある。
Care must be taken in switching.
Before the DMA of the bus master to be prioritized ends,
If the priority bus master is switched to a different bus master, the priority of the DMA of the first priority bus master decreases. If you do not want to lower the priority of the first priority bus master, it is necessary to switch the priority bus master after confirming that DMA has ended.

【0218】優先バスマスタ切り替えを、システムブー
ト時のみでなく、システム稼働中も動的に行なう必要の
あるソフトウェアでは、優先バスマスタの切り替えは、
いったんBバス上に新たなDMAリクエストが発生しない
よう、すべてのバスマスタ及びDMAコントローラに対す
る設定を中止し、その後、Bバスアービタ407内のレ
ジスタに適切な値をセットし、さらに、Bバスアービタ
内のステータスレジスタをチェックし、バスマスタの優
先権が切り替わったのを確認した上で新たなBバス上へ
のアクセス及びDMAの起動を行うべきである。
In software that needs to dynamically switch the priority bus master not only at the time of booting the system but also during the operation of the system, the switching of the priority bus master is performed as follows.
Once the settings for all bus masters and DMA controllers are stopped so that no new DMA request is generated on the B bus, appropriate values are set in the registers in the B bus arbiter 407, and the status register in the B bus arbiter is set. Should be checked to confirm that the priority of the bus master has been switched, and then access to a new B bus and activation of DMA should be performed.

【0219】優先バスマスタの動的切り替えは、オペレ
ーティングシステムの実時間保証、タスクの優先順位の
設定を変化もしくは、違反させてしまう可能性があり、
十分な考慮の上行われなければならない。
Dynamic switching of the priority bus master may change or violate the real-time guarantee of the operating system and the setting of the task priority.
This must be done with due consideration.

【0220】(アクセス順序制御機構)Bバスアービタ
407はアクセス順序制御機構を含む。アクセス順序制
御機構は、同期ユニット4001と、Bバスアービタ4
07,Gバスアービタ406内に組み込まれたバス使用
権発行抑制機構によって実現される。Bバスアービタ4
07内に組み込まれたバス使用権発行抑制機構は、Gバ
スアービタのそれと同様に動作する。つまり、stopPci
信号が入力された場合は、Pciバスマスタからのバスリ
クエストが発行され、アービトレーションの結果、この
マスタにバスの使用権を与えることが可能な状態でも、
バスの使用権発行は行わず、他のマスタへバス使用権を
あたえる。具体的には、stopPci信号が入力された場合
は、直ちにbPciReq_Lをマスクすることにこれを行う。
(Access Order Control Mechanism) The B bus arbiter 407 includes an access order control mechanism. The access sequence control mechanism includes a synchronization unit 4001 and a B bus arbiter 4.
07, a bus use right issuance suppression mechanism incorporated in the G bus arbiter 406. B bus arbiter 4
07 operates in the same manner as that of the G bus arbiter. That is, stopPci
When a signal is input, a bus request is issued from the Pci bus master, and as a result of arbitration, even if it is possible to give this master the right to use the bus,
The right to use the bus is not issued, and the right to use the bus is given to another master. Specifically, when the stopPci signal is input, this is immediately performed by masking bPciReq_L.

【0221】LANコントローラ414からのバスリクエ
ストおよび、ストップ信号の場合もまったく同様に動作
する。図41に同期ユニット4001のブロック図を示
す。同期ユニット内には複数のDMAマスタ間すべての組
み合わせに関して、それぞれコンペアユニット4101
〜4103が接続される、DoEngineでは、Gbu
s上のDMAマスタはスキャナコントローラ/プリンタコン
トローラのみ存在する。Bバス上には、DMAPCIユニッ
ト、LANユニットの二つが存在する。SBB内のBバス
インターフェースはBバス上のバスマスタであるが、メ
モリには直接アクセスしないので、同期ユニット400
1にはIDと転送先アドレスを出力しない。
The bus request from the LAN controller 414 and the stop signal operate in exactly the same manner. FIG. 41 shows a block diagram of the synchronization unit 4001. In the synchronization unit, all the combinations between the plurality of DMA masters are compared with the comparison unit 4101.
To 4103 are connected, and in DoEngine, Gbu
The DMA master on s exists only in the scanner controller / printer controller. On the B bus, there are two units, a DMAPCI unit and a LAN unit. The B bus interface in the SBB is a bus master on the B bus, but does not directly access the memory.
1 does not output the ID and the transfer destination address.

【0222】図42に同期ユニット内の一つコンペアユ
ニット(Comparation Unit 1)を以下に示す。他のコン
ペアユニットも同様の構成を有する。
FIG. 42 shows one comparison unit (Comparation Unit 1) in the synchronization unit. Other compare units have the same configuration.

【0223】PCIインターフェース416に付属するDMA
ブロックもしくは、スキャナコントローラ/プリンタコ
ントローラから、同期ユニット4001に対し、DMAラ
イトがプログラミングされた時点で、転送先のアドレス
とそのDMAブロック固有のリクエスト信号が通知され
る。
The DMA attached to the PCI interface 416
When the DMA write is programmed from the block or the scanner controller / printer controller to the synchronization unit 4001, a transfer destination address and a request signal unique to the DMA block are notified.

【0224】各コンペアユニットは、各DMAブロックか
らリクエストが出力された時点で、アドレスを内部に持
つタイマによる現在時刻とともに記憶する、次に他のDM
Aブロックから、DMAライトに関するアドレスとリクエス
トが入力された時点で、コンペアユニットは両アドレス
を比較する。一致した場合にはさらに、それぞれのレジ
スタに格納された時間を比較し、時間的に後からDMAラ
イトの要求を出してきたDMAブロックが接続されたバス
のバスアービタに対し、このマスタに対するバス使用強
化を与えないようにする。これは、stop(ID)という信号
により各バスのバスアービタに通知される。
Each compare unit stores an address together with the current time by a timer having an internal address when a request is output from each DMA block.
When the address and the request for the DMA write are input from the A block, the compare unit compares the two addresses. If a match occurs, the time stored in each register is compared, and the bus arbiter of the bus connected to the DMA block that issued the DMA write request later in time is strengthened to use the bus for this master. Not give. This is notified to the bus arbiter of each bus by a signal called stop (ID).

【0225】各バスアービタはstop(ID)信号により通知
されたマスタに対しては、アービトレーションによるバ
ス使用権の割り当てを行わない。
Each bus arbiter does not assign a bus use right by arbitration to the master notified by the stop (ID) signal.

【0226】時間が経過し、先にアクセス要求を行った
バスマスタにより当該メモリアドレスへのDMAライトが
終了すると、先のマスタは、同期ユニットに対するリク
エストを取り下げる、同期ユニットは、2番目にDMAラ
イトの要求を出した、DMAブロックの接続するバスのバ
スアービタに対し、このDMAブロックへの、バス使用権
許可禁止信号の発行をとりさげる。そして、後からDMA
ライトを行うべきマスタのDMAライトが行われる。
When the time elapses and the DMA write to the relevant memory address is completed by the bus master that has made the access request first, the previous master withdraws the request to the synchronous unit. The bus arbiter of the bus connected to the DMA block that has issued the request is issued a bus use right permission / prohibition signal to this DMA block. And DMA later
The DMA write of the master to be written is performed.

【0227】双方のDMAライトが終了し、双方のリクエ
ストが取り下げられると、タイマーがリセットされる。
タイマーのカウントアップは再度どちらかのマスタから
のリクエストが出力された時点で再度行われる。
When both DMA writes are completed and both requests are withdrawn, the timer is reset.
The count up of the timer is performed again when a request from one of the masters is output again.

【0228】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バス スキャナとプリンタの、画像データおよび水平、垂直同
期のための同期信号を直結するためのバスである。
2.9. Scanner Controller / Printer Controller FIG. 43 is a block diagram of the scanner controller / printer controller and its peripheral circuits. Scanner /
The printer controller controls the scanner and printer,
This is a block that interfaces with the G bus or the B bus. It is composed of the following three functional blocks. 1. Scanner controller Connected to the scanner via video I / F, and controls operation and data transfer. G bus / B bus I / F unit 430
1A is connected via an IF-bus, and data transfer and register read / write are performed. Data transfer has a master function. 2. Printer controller Connected to a printer via a video I / F and controls operation and data transfer. G bus / B bus I / F unit 430
1B is connected by an I / F-bus, and data transfer and register read / write are performed. Data transfer has both master and slave functions. 3. G bus / B bus I / F unit A unit for connecting the scanner controller 4302 and the printer controller 4303 to the G bus or the B bus. Respectively connected to the scanner controller 4302 and the printer controller 4302 independently,
Connect to G bus and B bus. 4. CP bus A bus for directly connecting image data and a synchronization signal for horizontal and vertical synchronization between the scanner and the printer.

【0229】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である。
2.9.1. Scanner Controller FIG. 44 is a block diagram of the scanner controller 4302. The scanner controller 4302 is a block that is connected to a scanner by a video I / F and interfaces with a G bus / B bus I / F unit (scc GBI) 4301A. G bus / B bus I / F unit (scc GBI) 43
01A is interfaced via the sccI / F-bus. It is roughly composed of the following blocks. 1. Scanner device I / F4401 Input / output port for inputting and outputting signals to and from the video I / F of the scanner. 2. Scanner video clock unit 4402 A unit that operates with the video clock of the scanner. 3. Scanner image data FIFO controller 4403 Controls a FIFO for transferring image data. 4. Scanner controller control register unit 4404 Register for controlling the entire scanner controller. 5. IRQ controller 4406 controls an interrupt signal generated inside the scanner controller (Scc). 6. Memory fill mode controller 4405 Controls the mode in which fixed data set in the register is transferred to the memory. Selectively switch to image data from the scanner. 7. FIFO (FIFO_SCC) 4407 This is a FIFO used when outputting a video data from the scanner and the output destination device may be asynchronous with the video data.

【0230】なお、スキャナから入力する画像データの
種類は、 1.RGB各8ビットのカラー多値データ 2.8ビット白黒多値データ 3.1ビット白黒2値データ などが含まれる。
Note that the types of image data input from the scanner are as follows. RGB 8-bit color multi-valued data 2.8-bit black-and-white multi-valued data 3.1-bit black-and-white binary data are included.

【0231】次に、スキャナコントローラを構成する各
ブロックの概要を説明する。
Next, the outline of each block constituting the scanner controller will be described.

【0232】[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信号に応じて、レベル反転するかどう
かを切り替えることが可能である。
[1. Overview of Scanner Device I / F] Figure 4
FIG. 5 shows a block diagram of the scanner device I / F 4401. The scanner device I / F is an input / output port for inputting and outputting signals to and from the scanner video I / F 4501 of the scanner unit. The input video signals SVideoR [7: 0], SVideoG [7: 0] and SVideoB [7: 0] from the scanner video I / F are transferred to the scanner controller control register 44.
It is possible to switch whether or not the level is inverted in accordance with the VDInvt signal from the terminal 04.

【0233】[2.スキャナビデオクロックユニットの
概要]図46に、スキャナビデオクロックユニット44
02のブロック図を示す。スキャナビデオクロックユニ
ット4402は、スキャナからのビデオクロックで動作
するブロックである。以下のブロックから構成される。 1.スキャナビデオデータマスク4601 スキャナからの画像データに対してデータマスクを行う
ブロックである。マスクされたデータはレジスタに設定
された値のデータとなる。 2.スキャナビデオ同期コントロールユニット4602 スキャナからのビデオクロック, VSYNC, HSYNCの信号か
ら、画像データを取り込むタイミング信号等を生成する
ブロックである。画像データの水平方向、垂直方向のデ
ータ数とライン数を管理する。 3.ビデオデータ幅コンバータ スキャナから入力した画像データを64ビット幅のデー
タにパッキングして変換するブロックである。
[2. Overview of Scanner Video Clock Unit] FIG.
02 shows a block diagram of FIG. The scanner video clock unit 4402 is a block that operates on the video clock from the scanner. It consists of the following blocks. 1. Scanner video data mask 4601 This block performs data masking on image data from the scanner. The masked data becomes the data of the value set in the register. 2. Scanner video synchronization control unit 4602 This block generates a timing signal for capturing image data from a video clock, VSYNC, and HSYNC signals from the scanner. The number of lines and the number of lines of image data in the horizontal and vertical directions are managed. 3. Video data width converter This block packs the image data input from the scanner into 64-bit width data and converts the data.

【0234】(スキャナビデオデータマスクの概要)図
47にスキャナビデオデータマスク4601のブロック
図を示す。スキャナビデオデータマスク4601は、ス
キャナから入力する画像データに対してピクセル単位で
マスクを行う。マスクされた画像データはレジスタによ
り設定された値となる(RDMask[7:0], GDMask[7:0], BD
Mask[7:0])。
(Outline of Scanner Video Data Mask) FIG. 47 is a block diagram of the scanner video data mask 4601. The scanner video data mask 4601 masks image data input from the scanner in pixel units. The masked image data has the value set by the register (RDMask [7: 0], GDMask [7: 0], BD
Mask [7: 0]).

【0235】(スキャナビデオ同期コントロールユニッ
トの概要)図48にスキャナビデオデータマスク460
2のブロック図を示す。スキャナビデオ同期コントロー
ルユニット4602は、スキャナから入力される画像デ
ータの垂直同期信号(SVSYNC)、水平同期信号(SHSYN
C)、画像データ同期クロック(GTSVCLK)により、取り
込む画像データのイネーブル信号(IVE)を生成する。
また、画像データの主走査方向の遅延、取り込みピクセ
ル数、副走査方向の遅延、取り込みライン数を管理す
る。さらに、設定量の画像データ取り込みを終了したタ
イミングでの状態信号(PENDP)を生成する。
(Outline of Scanner Video Synchronization Control Unit) FIG.
2 shows a block diagram of FIG. The scanner video synchronization control unit 4602 includes a vertical synchronization signal (SVSYNC) and a horizontal synchronization signal (SHSYN) for image data input from the scanner.
C), an enable signal (IVE) for the image data to be captured is generated by the image data synchronous clock (GTSVCLK).
In addition, it manages the delay of image data in the main scanning direction, the number of captured pixels, the delay in the sub-scanning direction, and the number of captured lines. Further, a state signal (PENDP) is generated at the timing when the capture of the set amount of image data is completed.

【0236】ラインカウンタ4801は副走査方向の遅
延と取り込みライン数を管理して、画像読み取り有効ラ
インの垂直同期信号(EH)を生成する。ピクセルカウ
ンタ4802は主走査方向の画像取り込み遅延と取り込
み画素数を管理する。ページカウンタ4803は入力す
る画像データをページ単位で管理する。設定されたペー
ジ数分の画像データ入力を終了すると、終了信号(ALLP
END)を生成する。
The line counter 4801 manages the delay in the sub-scanning direction and the number of fetched lines, and generates a vertical synchronizing signal (EH) of an image reading effective line. A pixel counter 4802 manages an image capture delay in the main scanning direction and the number of captured pixels. A page counter 4803 manages input image data in page units. When image data input for the set number of pages is completed, an end signal (ALLP
END).

【0237】(スキャナ ビデオデータ幅コンバータ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ビットデータへのならべかたとメモリ上でのならび
かたは以下のとおりである。
(Scanner Video Data Width Converter 4
Outline of 603) FIG. 49 is a block diagram of the scanner video data width converter 4603. This is a unit for arranging image data input from the scanner in a 64-bit width. The arranged data is written to the FIFO as 64-bit data. The type of image data that can be input is RGB
There are three types: 8-bit color image data, multi-valued 8-bit monochrome image data, and binary 1-bit monochrome image data. Scanner controller control register 440
At 4, the mode is set. The mode includes a mode in which RGB color image data can be arranged in the memory in 24 bits and a mode in which 1 byte is added and arranged in 32 bits. The three types of image data are input from the following signal lines. 1. RGB 8-bit color image data… R [7: 0], G
[7: 0], B [7: 0] 2. Multi-valued 8-bit black-and-white image data... R [7: 0] 3.2 Binary 1-bit black-and-white image data... R7 The arrangement of 64-bit data and the arrangement on the memory are as follows.

【0238】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の通りである。
[0238] 1. RGB 8-bit color image data (24-bit storage mode) First pixel R 8 bits → bits 63-56 First pixel G 8 bits → bits 55-48 First pixel B 8 bits → bits 47-40 Second pixel R 8 bits → Bit 39-32 second pixel G8 bit → bit 31-24 second pixel B8 bit → bit 23-16 third pixel R8 bit → bit 15-8 third pixel G8 bit → bit 7-0 , As shown in FIG.

【0239】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の通りである。
[0239] 2. RGB 8-bit color image data (32-bit storage mode) First pixel R 8 bits → bits 63-56 First pixel G 8 bits → bits 55-48 First pixel B 8 bits → bits 47-40 Second pixel R 8 bits → Bit 31-24 8th bit of second pixel G → bit 23-16 8th bit of second pixel B → bit 15-8 The arrangement on the memory is as shown in FIG.

【0240】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の通りである。[0240] 3. Multi-valued 8-bit monochrome image data First pixel 8 bits → bits 63-56 Second pixel 8 bits → bits 55-48 Third pixel 8 bits → bit 47-40 Fourth pixel 8 bits → bits 39-32 fifth Pixel 8 bits → bits 31-24 6th pixel 8 bits → bits 23-16 7th pixel 8 bits → bit 15-8 8th pixel 8 bits → bit 7-0 As shown in FIG. is there.

【0241】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の通りである。4.2 1-bit monochrome image data 1st pixel 1 bit → bit 63 2nd pixel 1 bit → bit 62 3rd pixel 1 bit → bit 61 4th pixel 1 bit → bit 60: 61st pixel 1 Bit → bit 3 1st bit of the 62nd pixel → bit 2 1 bit of the 63rd pixel → bit 1 1 bit of the 64th pixel → bit 0 The arrangement on the memory is as shown in FIG.

【0242】次に、各パッキングユニットについて説明
する。
Next, each packing unit will be described.

【0243】図54は、BW8パッキングユニット49
01により、多値8ビットの白黒画像データを64ビッ
ト幅に変換する際のタイミング図である。スキャナから
の8ビット白黒画像データR[7:0]は、信号VEがハイ
レベルになると取り込まれ、1ピクセルずつ信号LP0
〜LP7に同期して64ビットラッチにラッチされる。
8画素分揃うと、信号LP64に同期して、ラッチされ
た8画素64ビットが信号BW8[63:0]として出力され
る。
FIG. 54 shows a BW8 packing unit 49.
FIG. 11 is a timing chart when converting multi-valued 8-bit black and white image data into a 64-bit width in accordance with No. 01. The 8-bit black-and-white image data R [7: 0] from the scanner is captured when the signal VE goes high, and the signal LP0 is output pixel by pixel.
Latched to a 64-bit latch in synchronization with .about.LP7.
When eight pixels are aligned, 64 bits of the latched eight pixels are output as a signal BW8 [63: 0] in synchronization with the signal LP64.

【0244】図55は、シフトレジスタ4902により
2値白黒画像データを64ビット幅に変換する際の画像
データ入力のタイミング図である。スキャナからの2値
白黒画像データR7(SVIDEOR0)は、信号VEがハイレ
ベルになると取り込まれ、1ビットずつシフトレジスタ
によりシフトされて、64ビット取り込まれると。信号
SVLATCH64に同期して、信号BW1[63:0]として出力
される。
FIG. 55 is a timing chart of image data input when converting binary black and white image data into a 64-bit width by shift register 4902. It is assumed that the binary black-and-white image data R7 (SVIDEOR0) from the scanner is captured when the signal VE goes high, shifted by one bit by a shift register, and captured by 64 bits. signal
The signal is output as a signal BW1 [63: 0] in synchronization with SVLATCH64.

【0245】図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]とする方法である。
FIG. 56 shows an RGB packing unit 49.
FIG. 3 is a timing chart at the time of converting image data of 8 bits (24 bits in total) of RGB into a 64-bit width. FIG. 57 shows an RGB packing unit 4903.
It is a block diagram of. In the figure, image data R [7: 0], G input from scanner video data mask 4601
[7: 0] and B [7: 0] are 24-bit data latches 5701
A and B are input. Data latches A and B are clocked
Latch signals L of opposite phases obtained by dividing CLK by 1/2
The 24-bit data respectively input in synchronization with P0 and LP1 are latched. The data latched in the data latches 5701A and 5701A is
02 is input as an input signal RGBHT [47: 0] and is a 32-bit signal DATA [31: 0] according to a 2-bit selection signal LP [3: 2].
Is output as There are three ways of outputting according to the value of the selection signal. First is the input signal RGBHT [47:16]
Is an output signal DATA [31: 0]. The second is
In this method, the input signal RGBHT [15: 0] is used as the output signal DATA [31:16], and the input signal RGBHT [47:32] is used as the output signal DATA [15: 0]. The third is to convert the input signal RGBHT [31: 0] to the output signal DATA
[31: 0].

【0246】データラッチ5701A,Bに、ラッチ信
号に同期させて交互に24ビット画像データをラッチ
し、上記3通りの選択の仕方を順に切り換えることで、
データセレクタ5702からの出力は、24ビット/ピ
クセルのデータを32ビットにまとめたデータとなる。
ただし、上記第3の方法でセレクタ5702のデータが
選択された後は、データセレクタに入力された2つのピ
クセル分のデータは両方とも更新されねばならない。そ
こで、図56に示されている通り、選択信号SELUL[3:2]
は1クロック分遅延される。
The data latches 5701A and 5701 alternately latch 24-bit image data in synchronization with a latch signal, and sequentially switch the above three selection methods.
The output from the data selector 5702 is data obtained by combining 24-bit / pixel data into 32 bits.
However, after the data of the selector 5702 is selected by the third method, both data of the two pixels input to the data selector must be updated. Therefore, as shown in FIG. 56, the selection signals SELUL [3: 2]
Is delayed by one clock.

【0247】このようにデータセレクタ5702で32
ビット幅に一旦変換されたデータは、データラッチ57
40A,Bに交互にラッチされ、データラッチ5704
Bの内容が更新されたタイミング、すなわちラッチ信号
SELUL1がハイレベルになるタイミングで、64ビット幅
に変換されたデータとして出力される。
As described above, the data selector 5702 uses 32
Once converted to the bit width, the data latch 57
40A and 40B alternately latch data latch 5704
The timing at which the content of B is updated, ie, the latch signal
At the timing when SELUL1 becomes high level, it is output as data converted into a 64-bit width.

【0248】[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)に
よりおこなわれる。
[3. Overview of Scanner Image Data Transfer FIFO Controller 4403] FIG. 58 is a block diagram of the scanner image data transfer FIFO controller 4403. This block converts the image data input from the scanner into G
It comprises a FIFO 5801 as a buffer for transferring data via the bus or the B bus, and a circuit for controlling the FIFO 5801. FIFO has a capacity of 5
It has a 12-byte (64 bits x 64) FIFO. FIFO
Data output of scanner FIFO write / read arbiter 5
802 controls while monitoring the empty flag (EF) of the FIFO 5801. Data input to the FIFO is performed by a request signal (WREQ) from the scanner video clock unit 4402.

【0249】[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
に出力する。
[4. Outline of Scanner Controller Control Register 4404] FIG. 59 is a block diagram of the scanner controller control register 4404. This block has a register for controlling the inside of the scanner controller. The internal registers are as follows. 1. 1. Scanner controller power management control register 2. Scanner controller / control register Scanner controller interrupt factor status register 4. 4. Scanner / controller / interrupt factor mask register 5. Scanner sub-scanning mask line number setting register 6. Scanner main scanning mask pixel number setting register 7. Scanner sub-scanning line number setting register 8. Scanner sub-scan line number counter read register 9. Scanner sub-scanning pixel number setting register 10. Scanner main scanning pixel number counter readout register Scan page number setting register 12. 12. Scan page number counter read register Scanner device control register 14. Scanner device status register 15. Scanner video mask data register 16. Memory fill data register [5. Outline of IRQ Controller 4406] FIG.
A block diagram of the controller 4406 is shown. This block manages interrupt signals generated in the scanner controller. There are the following interrupt generation factors. 1. Finish inputting image data for the set page (ALLE
2. ND) 2. End input of image data for page (PageEnd). Rise of SPRDY signal from scanner (false → tr
ue) (INSPRDY) Fall of SPRDY signal from scanner (true → fal
se) (INSPRDY) SVSYNC signal rising from scanner (false → t
rue) (INSVSYNC) Falling of SVSYNC signal from scanner (true → fa
lse) (INSVSYNC) Rise of the EMPTY signal of the image data FIFO (false →
true) (EMPTY) Falling of the EMPTY signal of the image data FIFO (true → f
alse) (EMPTY) Rise of FULL signal of image data FIFO (false → t
rue) (FULL) Falling of FULL signal of image data FIFO (true →
false) (FULL) Overwrite occurs in the image data FIFO (FOW). Flag information (SCIRQ [31: 2
1]) the scanner controller control register 44
06 is output. From the scanner controller control register 4406, a mask bit (SCIMask [31:21]) and a clear signal (SCICLRP [31: 2]) for each interrupt cause
1]) is input. IntScc is the logical sum of each interrupt factor
Output to

【0250】[6.メモリフィルモードコントローラ4
405の概要]図61にメモリフィルモードコントロー
ラ4405のブロック図を示す。このブロックは、レジ
スタに設定された固定データをGBIを介してメモリに転
送するモードを制御する。このモード設定はMemfill信
号によりおこなわれる。固定データの転送モード指定が
なされると、sccGBIに出力されるデータは、レジスタに
設定されたデータ(MFData[31:0])が選択される。ま
た、sccGBIにデータ転送するタイミング信号(sccWrit
e)はこのブロック内で生成される。
[6. Memory fill mode controller 4
Outline of 405] FIG. 61 is a block diagram of the memory fill mode controller 4405. This block controls a mode in which fixed data set in the register is transferred to the memory via the GBI. This mode is set by the Memfill signal. When the fixed data transfer mode is specified, the data (MFData [31: 0]) set in the register is selected as the data output to the sccGBI. In addition, a timing signal (sccWrit
e) is generated within this block.

【0251】(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]のバイト
との対応は次の通りである。 ・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信号がアサ
ートされた次のクロックからセンスされる。
(SccIF-Bus) The sccIF-bus is a local bus connecting the G bus / B bus I / F unit 4301A and the scanner controller 4302. The signals contained in this bus are as follows. The input / output of the signal is a signal output from the scanner controller to the G bus / B bus I / F unit (GBI) as OUT,
A signal input from the G bus / B bus I / F unit (GBI) to the scanner controller is indicated by IN. Since the IF-bus has the same specifications for the scanner controller and the printer controller, signals for functions not supported by the scanner controller are also described. The basic clock uses Bclk of the B bus.・ SccRst0_L: IN This signal returns the FIFO inside the scanner controller to the initial state.・ SccDataOut [63: 0]: OUT G bus / B bus I / F unit from scanner controller
(GBI) is a 64-bit data bus. Image data is transferred when the scanner controller performs a data transfer operation.・ SccWrite: OUT G when the scanner controller performs data transfer operation.
This is a write signal to the bus / B bus I / F unit (GBI).
The G bus / B bus I / F unit captures sccDataOut [63: 0] at the rising edge of Bclk where the sccWrite signal is asserted. By continuing to assert the sccWrite signal, 1
Data can be written in clock units.・ SccWriteEnable: G when the scanner controller is in data transfer operation
This is a write signal to the bus / B bus I / F unit (GBI).
Output from the G bus / B bus I / F unit (GBI). Bclk
If the sccWriteEnable signal is asserted at the rising edge of, this indicates that writing is possible at the rising edge of the next clock. Assertion of sccWrite signal is sccWriteEn
Check the able signal. -SccRegAddr [31: 2]: Register address bus for accessing registers inside the scanner controller from the ING bus / B bus I / F unit (GBI). It becomes valid at the same time as sccRegStart_L is asserted, and is valid until the response is made with the sccRegAck_L signal when accessing the scanner controller internal register. -SccRegbyteEn [3: 0]: sccReg output from ING bus / B bus I / F unit (GBI)
This is a byte enable signal of DataIn [31: 0]. sccRegSt
It is valid at the same time as art_L assertion and is valid until responding with the sccRegAck_L signal. Only valid bytes indicated by this signal are written to the register. When reading from the internal register, this signal is ignored and all bytes are output. The correspondence between each bit of this signal and the byte of sccRegDataIn [31: 0] is as follows. SccRegStart_L: An access request signal for accessing a register inside the scanner controller from the ING bus / B bus I / F unit (GBI). “Low” indicates a register access request. s
It is asserted together with the ccRegAddr [31: 2] signal and the sccRegRdNotWr signal, and is asserted for one Bclk clock. The scanner controller determines that sccRegAck_
The next access will not be asserted unless L is returned. • sccRegDataOut [31: 0]: OUT This is a 32-bit data bus for read access to the registers inside the scanner controller from the G bus / B bus I / F unit (GBI). Valid when the sccRegAck_L signal is asserted. • sccRegDataIn [31: 0]: A 32-bit data bus for write access to registers inside the scanner controller from the ING bus / B bus I / F unit (GBI). It is valid at the same time as sccRegStart_L is asserted, and is valid until the response to the sccAck_L signal is made for accessing the scanner controller internal register. SccRegRdNotWr: This signal indicates the access direction (read or write) when accessing a register inside the scanner controller from the ING bus / B bus I / F unit (GBI). “High” indicates that the contents of the scanner controller internal registers are sccRegData
Out [31: 0] is read out and sccRegDataIn [31: 0] at “Low”
Is written into the internal register of the scanner controller. It becomes valid at the same time as sccRegStart_L is asserted, and is valid until the response is made with the sccRegAck_L signal when accessing the scanner controller internal register. • sccRegAck_L: OUT This signal indicates that register access inside the scanner controller has been completed. G from scanner controller
Output to the bus / B bus I / F unit (GBI). Asserted for one Bclk clock. The sccRegReq_L signal is sensed from the next clock after the assertion.

【0252】なお、信号sccRst1_L, sccバイトEn[7:0],
sccRead, sccDataIn[63:0]は、IFバスに含まれている
ものの、スキャナコントローラでは未使用である。
Note that the signal sccRst1_L, scc byte En [7: 0],
Although sccRead and sccDataIn [63: 0] are included in the IF bus, they are not used in the scanner controller.

【0253】図62及び図63は、上述の信号のタイミ
ングの一例を示すタイミングダイアグラムである。図6
2はスキャナコントローラ4302からデータを読み出
してDMA転送する際のタイミングであり、図63は、ス
キャナコントローラ4302の内部レジスタに対して読
み出しあるいは書き込みを行うタイミングである。
FIGS. 62 and 63 are timing diagrams showing an example of the timing of the above-mentioned signals. FIG.
Reference numeral 2 denotes timing when data is read from the scanner controller 4302 and DMA-transferred. FIG. 63 shows timing when reading or writing is performed on the internal register of the scanner controller 4302.

【0254】(パワーマネジメント)スキャナコントロ
ーラ内部では、スキャナ・コントローラ・パワー・マネ
ジメント・コントロールレジスタ(0X1B005000)の設定
に応じたビデオクロック(SVCLK)のゲートコントロール
を行い、それによりパワーマネージメントを行う。パワ
ーマネジメントユニット(PMU)409に出力するPMス
テート信号(sccPmStat[1:0])の値は、Gバス/BバスI/
Fユニット4301Aから入力されるsccDmaPmState[1:
0]の状態とクロックの状態とを合わせて決定される。sc
cPmState[1:0]は図64のとおりである。
(Power Management) In the scanner controller, the gate control of the video clock (SVCLK) according to the setting of the scanner controller power management control register (0X1B005000) is performed, thereby performing power management. The value of the PM state signal (sccPmStat [1: 0]) output to the power management unit (PMU) 409 depends on the G bus / B bus I /
SccDmaPmState [1: input from F unit 4301A]
0] and the state of the clock. sc
cPmState [1: 0] is as shown in FIG.

【0255】図64において、sccDmaPmState[1:0]は、
スキャナのGバス/BバスインターフェースGBI_sccの
パワー消費状態を示している。GBI_secにはパワー消費
状態00〜11の4段階がある。この状態信号sccDmaPmState
[1:0]は、GBI_sccからスキャナコントローラへ出力さ
れている。
In FIG. 64, sccDmaPmState [1: 0] is
The power consumption state of the G bus / B bus interface GBI_scc of the scanner is shown. GBI_sec has four stages of power consumption states 00 to 11. This state signal sccDmaPmState
[1: 0] is output from GBI_scc to the scanner controller.

【0256】また、スキャナコントローラのパワー消費
状態は2段階あり、内部信号SPStatで示される。
The power consumption of the scanner controller has two stages, which are indicated by an internal signal SPStat.

【0257】信号sccPmstate[1:0]は、GBI_sccとスキ
ャナコントローラの2つの状態をあわせた状態を示して
いる。この信号がシステムのパワーマネージメントユニ
ットに出力される。すなわち、スキャナコントローラの
電力消費状態は4段階でパワーマネジメントユニットに
伝えられる。その段階は信号sccPmstate[1:0]の値で示
される。値00が最低レベルであり、1増えるごとに示さ
れる電力消費量は大きくなる。
The signal sccPmstate [1: 0] indicates a state in which the two states of GBI_scc and the scanner controller are combined. This signal is output to the power management unit of the system. That is, the power consumption state of the scanner controller is transmitted to the power management unit in four stages. The stage is indicated by the value of the signal sccPmstate [1: 0]. The value 00 is the lowest level, and the power consumption indicated by one increase increases.

【0258】(スキャナコントローラコアインターフェ
ース)図65は、スキャナコントローラ4302におけ
る、上述した各ブロックを含むコア部分と、外部バスや
スキャナとの間で入出力される信号をまとめた図であ
る。このように、スキャナコントローラ4302は、シ
ステムバスブリッジ402との間をGバスにより接続さ
れ、IOデバイスやパワーマネジメントデバイス及びシ
ステムバスブリッジとの間をBバスにより接続され、プ
リンタコントローラとの間をCPバスで接続され、Gバ
ス/BバスI/Fユニットとの間をI/Fバスにより接続さ
れている。
(Scanner Controller Core Interface) FIG. 65 is a diagram summarizing signals input and output between the core portion including the above-described blocks in the scanner controller 4302 and an external bus or scanner. As described above, the scanner controller 4302 is connected to the system bus bridge 402 by the G bus, is connected to the IO device, the power management device, and the system bus bridge by the B bus, and is connected to the printer controller by the CP bus. They are connected by a bus, and connected to a G bus / B bus I / F unit by an I / F bus.

【0259】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である。
2.9.2. Printer Controller FIG. 66 is a block diagram of the printer controller 4303. The printer controller is a block that is connected to a printer by a video I / F and interfaces with a G bus / B bus I / F unit. It is roughly composed of the following blocks. 1. Printer device I / F6601 An input / output port for inputting / outputting signals to / from a printer video I / F and an optional controller I / F. 2. Printer video clock unit 6602 This unit operates with the video clock of the printer. 3. Printer image data FIFO controller 6603 controls a FIFO for transferring image data. 4. Printer controller control register unit 6604 This is a register unit for controlling the entire printer controller. 5. The IRQ controller 6605 controls an interrupt signal generated inside the printer controller (Prc). 6. Printer command / status control unit 6606 Controls command / status transmission and reception with the printer via the video I / F. 7. Optional controller control unit 66
07 This unit controls the printer option controller. 8. FIFO (FIFO_PRC) 6608 This FIFO is used when there is a possibility that the printer is asynchronous with the video data when outputting the video data to the printer.

【0260】プリンタへ出力する画像データの種類は次
の5種類である。 1.RGB各8ビットのカラー多値データ(点順次) 2.8ビット白黒多値データ 3.1ビット白黒2値データ 4.CMYK各1ビットのカラーデータ(面順次) 5.CMYK各8ビットのカラーデータ(面順次) 次に、プリンタコントローラを構成する各ブロックの概
要を説明する。
There are the following five types of image data to be output to the printer. 1. RGB 8-bit color multi-value data (dot sequential) 2.8-bit black-and-white multi-value data 3.1-bit black-and-white binary data 4. CMYK 1-bit color data (screen-sequential) Next, an outline of each block constituting the printer controller will be described.

【0261】[1.プリンタデバイスI/Fの概要]図6
7にプリンタデバイスI/F6601のブロック図を示
す。このブロックは、プリンタビデオI/Fおよびオプシ
ョンコントローラI/Fから信号を入出力する入出力ポー
トである。PビデオR[7:0], PビデオB[7:0]の各信号はVD
Invt信号により、出力信号をレベル反転するかどうかを
切り替えることが可能である。
[1. Overview of Printer Device I / F] FIG.
FIG. 7 shows a block diagram of the printer device I / F6601. This block is an input / output port for inputting and outputting signals from the printer video I / F and the optional controller I / F. Each signal of P video R [7: 0] and P video B [7: 0] is VD
It is possible to switch whether or not the level of the output signal is inverted by the Invt signal.

【0262】[2.プリンタビデオクロックユニットの
概要]図68にプリンタビデオクロックユニット660
2のブロック図を示す。このブロックは、プリンタから
のビデオクロックで動作し、以下のブロックから構成さ
れる。 1.プリンタビデオデータマスク6801(DFF8ENMask)
プリンタへの画像データに対して、データマスクを行う
ブロック。マスクされたデータはレジスタに設定された
値のデータとなる。 2.プリンタビデオ同期コントロールユニット6802
(Prc_syncユニット)プリンタからのビデオクロック, VS
YNC, HSYNCの信号から、画像データを出力するタイミン
グ信号等を生成するブロック。画像データの水平方向、
垂直方向のデータ数とライン数を管理する。 3.プリンタ ビデオデータ幅コンバータ6803(pvdw
conv)IFバスからの64ビット幅で送られてくる画像デ
ータを、モードにより、RGB24ビット、白黒8ビッ
ト、白黒1ビットのデータに変換するブロック。モード
設定はレジスタにより行う。
[2. Overview of Printer Video Clock Unit] FIG. 68 shows a printer video clock unit 660.
2 shows a block diagram of FIG. This block operates on the video clock from the printer and is composed of the following blocks. 1. Printer video data mask 6801 (DFF8ENMask)
A block that performs data masking on image data to the printer. The masked data becomes the data of the value set in the register. 2. Printer video synchronization control unit 6802
(Prc_sync unit) Video clock from printer, VS
A block for generating a timing signal for outputting image data from a YNC or HSYNC signal. Horizontal direction of image data,
Manages the number of data and lines in the vertical direction. 3. Printer Video Data Width Converter 6803 (pvdw
conv) A block for converting image data transmitted from the IF bus at a 64-bit width into RGB 24-bit, black-and-white 8-bit, and black-and-white 1-bit data depending on the mode. The mode is set by a register.

【0263】(プリンタビデオデータマスク)図69に
プリンタビデオデータマスク6801のブロック図を示
す。このブロックは、プリンタへ出力する画像データに
対して、ピクセル単位でマスクを行う。マスクされた画
像データはレジスタに設定された値となる(RDMask[7:
0], GDMask[7:0], BDMask[7:0])。
(Printer Video Data Mask) FIG. 69 is a block diagram of the printer video data mask 6801. This block masks image data to be output to a printer in pixel units. The masked image data becomes the value set in the register (RDMask [7:
0], GDMask [7: 0], BDMask [7: 0]).

【0264】(プリンタビデオ同期コントロールユニッ
ト)図70にプリンタビデオ同期コントロールユニット
6802のブロック図を示す。このブロックは、プリン
タへ出力する画像データの垂直同期信号(TOP)、水平
同期信号(INPHSYNC)、画像データ同期クロック(GTVC
LK)により、出力する画像データのイネーブル信号(VD
OEN)、プリンタ画像データ転送FIFOコントローラ66
03にデータの要求をする信号(RREQ)を生成する。
(Printer Video Synchronization Control Unit) FIG. 70 is a block diagram of the printer video synchronization control unit 6802. This block includes a vertical synchronization signal (TOP), a horizontal synchronization signal (INPHSYNC), and an image data synchronization clock (GTVC) for the image data to be output to the printer.
LK) to output image data enable signal (VD
OEN), Printer image data transfer FIFO controller 66
03, a signal (RREQ) for requesting data is generated.

【0265】また、画像データの主走査方向の遅延、取
り込みピクセル数、副走査方向の遅延、取り込みライン
数を管理する。ラインカウンタ7001は設定量の画像
データ出力を終了したタイミングでの状態信号(PEND
P)を生成する。また、副走査方向の遅延と出力ライン
数を管理して、画像出力有効ラインの垂直同期信号(E
H)を生成する。ピクセルカウンタ7002は主走査方
向の画像出力遅延と出力画素数を管理する。ページカウ
ンタ7003は出力する画像データをページ単位で管理
する。設定されたページ数分の画像データ出力を終了す
ると、終了信号(ALLPEND)を生成する。
In addition, the delay of image data in the main scanning direction, the number of captured pixels, the delay in the sub-scanning direction, and the number of captured lines are managed. The line counter 7001 outputs the state signal (PEND) at the timing when the output of the set amount of image data is completed.
P). Also, the delay in the sub-scanning direction and the number of output lines are managed, and the vertical synchronizing signal (E
H). A pixel counter 7002 manages an image output delay in the main scanning direction and the number of output pixels. A page counter 7003 manages output image data in page units. When image data output for the set number of pages is completed, an end signal (ALLPEND) is generated.

【0266】(プリンタ ビデオデータ幅コンバータ)
図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ビットデータのメモリ上でのならびかたは以下のと
おりとなる。
(Printer Video Data Width Converter)
FIG. 71 shows a block diagram of the video data width converter 6803. This block is a unit for converting 64-bit data input from the GBI (G bus / B bus I / F) into a format of image data. The following three types of image data can be output. RGB 8-bit color image data,
Multi-valued 8-bit monochrome image data and binary 1-bit monochrome image data. When the color image data of 8 bits each of RGB is stored in the memory in units of 24 bits (24 bits)
Two mode outputs are supported, one in which a 1-bit data is added to 24 bits and stored in a memory in 32-bit units (32-bit mode). This mode is set in the printer controller control register 6604. The three types of image data are output to the following signal lines. 1. RGB 8-bit color image data… IR [7: 0],
IG [7: 0], IB [7: 0] Multi-valued 8-bit monochrome image data ... IR [7: 0] 3.2 1-bit monochrome image data ... IR7 The arrangement of 64-bit data on the memory is as follows.

【0267】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に示した通り
となる。
[0267] 1. RGB 8 bit color image data (24 bit mode) 1st pixel R8bit → bit63-56 1st pixel G8bit → bit55-48 1st pixel B8bit → bit47-40 2nd pixel R8bit → bit 39-32 Second pixel G8 bit → bit 31-24 Second pixel B8 bit → bit 23-16 Third pixel R8 bit → bit 15-8 Third pixel G8 bit → bit 7-0 In this case, The arrangement is as shown in FIG.

【0268】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に示した通り
となる。
[0268] 2. 8-bit RGB color image data (32-bit mode) First pixel R 8 bits → bits 63-56 First pixel G 8 bits → bits 55-48 First pixel B 8 bits → bits 47-40 Second pixel R 8 bits → bits 31-24 Second pixel G8 bit → bit 23-16 Second pixel B8 bit → bit 15-8 In this case, the arrangement on the memory is as shown in FIG.

【0269】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に示した通り
となる。
[0269] 3. Multi-valued 8-bit monochrome image data First pixel 8 bits → bit 63-56 Second pixel 8 bits → bit 55-48 Third pixel 8 bits → bit 47-40 Fourth pixel 8 bits → bit 39-32 fifth Pixel 8 bit → bit 31-24 6th pixel 8 bit → bit 23-16 7th pixel 8 bit → bit 15-8 8th pixel 8 bit → bit 7-0 In this case, the arrangement on the memory is shown in FIG. It is as shown in.

【0270】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に示した通り
となる。
4.2 1-bit monochrome image data 1st pixel 1 bit → bit 63 2nd pixel 1 bit → bit 62 3rd pixel 1 bit → bit 61 4th pixel 1 bit → bit 60: 60th pixel 1 Bit → bit 4 1st pixel 1 bit → bit 3 62nd pixel 1 bit → bit 2 63rd pixel 1 bit → bit 1 64th pixel 1 bit → bit 0 In this case, the arrangement on the memory is shown in FIG. As expected.

【0271】次に、プリンタビデオデータ幅コンバータ
を構成するブロックについて説明する。
Next, the blocks constituting the printer video data width converter will be described.

【0272】(RGBoutユニット7101)図76
にRGBoutユニット7101のブロック図を示す。このブ
ロックは24ビットモードでパックされた64ビット幅
のデータをRGB各8ビットのカラー画像データに変換す
るユニットである。
(RGB Out Unit 7101) FIG. 76
The block diagram of the RGBout unit 7101 is shown in FIG. This block is a unit for converting 64-bit data packed in the 24-bit mode into 8-bit RGB color image data.

【0273】[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)に
よりおこなわれる。
[3. Overview of Printer Image Data Transfer FIFO Controller] FIG. 77 is a block diagram of a printer image data transfer FIFO controller 6603. This block is a FIFO as a buffer for transferring image data to be output to the printer via GBI (G bus / B bus I / F).
And get a circuit that controls that FIFO. Capacity 51
A 2-byte (64 bits × 64) FIFO 7701 is provided. Data input to the FIFO is controlled while the printer FIFO write / read arbiter 7702 monitors the full flag (FF) of the FIFO 7701. The data output of the FIFO is performed by a request signal (RREQ) from the printer video clock unit 6602.

【0274】[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に出
力する。
[4. Printer Controller Control Register Unit] FIG. 78 is a block diagram of the printer controller control register 6604. This block has a register for controlling the inside of the printer controller. The internal registers are as follows. 1. 1. Printer power management control register 2. Printer controller control register 3. Printer controller interrupt factor status register 4. Printer controller interrupt factor mask register 5. Printer sub-scanning mask line number setting register 6. Printer main scan mask pixel number setting register 7. Printer sub-scanning line number setting register 8. Printer sub-scanning line number counter read register Printer main scanning pixel number setting register 10. 10. Printer main scan pixel number counter read register Print page number setting register 12. 12. Print page number counter read register Printer device control register 14. 14. Printer device status register Printer serial command register 16. Printer serial status register 17. Option, controller, TX, register 18. Option controller, RX, register 19. Printer video mask data register 20.4 Grayscale output level setting register 21.16 Grayscale output level setting register 1 22.16 Grayscale output level setting register 2 23.16 Grayscale output level setting register 3 24.16 Grayscale output level setting register 4 [5. IRQ controller] FIGS. 79 and 80 show the IRQ
A block diagram of a controller 6605 is shown. This block manages an interrupt signal generated in the printer controller. An interrupt is generated from the interrupt source. It has a mask function for each interrupt factor and can be cleared individually. The interrupt factors are as follows. 1. 1. End of image data transfer all pages (ALLPEnd) 2. One page of image data transfer (PageEnd) 3. Serial status 1 byte reception completed (INPSBSY) 4. One byte transmission of serial command completed (EndCBSY) 5. PPRDY signal rise (false → true) (INPPRDY) 6. PPRDY signal falling true → false) (INPPRDY) 7. RDY signal rising (false → true) (INRDY) 8. RDY signal falling (true → false) (INRDY) 9. PFED signal rise (false → true) (INPFED) 10. Fall of PFED signal (true → false) (INPFED) SPCHG signal rising (false → true) (INSPCH
G) 12. SPCHG signal falling (true → false) (INSPCH
G) 13. 13. PDLV signal rising (false → true) (INPDLV) 14. PDLV signal falling (true → false) (INPDLV) TOPR signal rise (false → true) (INTOPR) 17. Fall of TOPR signal (true → false) (INTOPR) 17. CCRT signal rising (false → true) (INCCRT) 18. Fall of CCRT signal (true → false) (INCCRT) VSREQ signal rising (false → true) (INPVSYN
C) 20. VSREQ signal falling (true → false) (INPVSYN
C) 21. Option controller TX transmission & RX reception completed 22. 23. Rise of EMPTY signal of image data transfer FIFO 23. Fall of the EMPTY signal of the image data transfer FIFO 25. Rise of FULL signal of image data transfer FIFO Fall of FULL signal of image data transfer FIFO 26. Overread occurred in the image data transfer FIFO (EE
RDOut) Flag information (PCIRQ [31:
6]) to the printer controller control register 66
04. From the printer controller control register 6604, a mask bit (PCIMask [31: 6]) and a clear signal (PCICLRP [31:
6]). The logical sum of each interrupt factor is output to intPrc.

【0275】[6.プリンタコマンド/ステータスコン
トロールユニット]図81に、プリンタコマンド/ステ
ータスコントロールユニット6606のブロック図を示
す。このブロックは、プリンタを制御するためのシリア
ルコマンド/ステータスを送受信するブロックである。
[6. Printer Command / Status Control Unit] FIG. 81 is a block diagram of the printer command / status control unit 6606. This block is for transmitting and receiving a serial command / status for controlling the printer.

【0276】シリアルコマンドとしては、コマンドを送
信している期間をあらわすINPCBSY信号、シリアルコマ
ンドの同期クロックであるINPCCLK信号、シリアルコマ
ンドINPSRCMD信号が生成される。
As the serial command, an INPCBSY signal indicating a period during which the command is transmitted, an INPCCLK signal which is a synchronous clock of the serial command, and a serial command INPSRCMD signal are generated.

【0277】シリアルステータスとしては、ステータス
が送信されている期間を示すINPSBSY信号、シリアルス
テータスINPSRSTS信号が入力されて、8ビットのステー
タスPSRSTAT[7:0]を出力する。シリアルステータスを入
力するための同期クロックはプリンタから出力されるIN
PPCLK信号、または、本ブロックで生成されるPCCLK信号
のどちらかを選択可能である。選択はPSRCLKMode信号に
よりなされる。
As the serial status, an INPSBSY signal indicating a period during which the status is transmitted and a serial status INPSRSTS signal are input, and an 8-bit status PSRSTAT [7: 0] is output. The synchronous clock for inputting the serial status is IN output from the printer.
Either the PPCLK signal or the PCCLK signal generated by this block can be selected. The selection is made by the PSRCLKMode signal.

【0278】[7.オプションコントローラコントロー
ルユニット]図82に、オプションコントローラコント
ロールユニット6607のブロック図を示す。このブロ
ックは、オプションコントローラに対して、送信データ
(TX)を出力するユニットである。TX送信のための、IN
STROBE信号、INCKEN信号、CLK(OPCLK)信号を生成する。
また、TX送信と同時に、受信データ(RX)の受信を行
う。
[7. Option Controller Control Unit] FIG. 82 is a block diagram of the option controller control unit 6607. This block is a unit that outputs transmission data (TX) to the option controller. IN for TX transmission
Generate the STROBE signal, INCKEN signal, and CLK (OPCLK) signal.
Also, the reception data (RX) is received simultaneously with the TX transmission.

【0279】(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]のバイトとの
対応は次の通りである。 ・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信号がアサート
された次のクロックからセンスされる。
(PrcIF-Bus) The prcIF-bus is a local bus that connects the G bus / B bus I / F unit 4301B and the printer controller 4303. The signals contained in this bus are as follows. The input / output of the signal is a signal output from the printer controller to the G bus / B bus I / F unit (GBI) as OUT,
A signal input from the G bus / B bus I / F unit (GBI) to the printer controller is indicated by IN. Since the IF-bus has the same specifications for the scanner controller and printer controller, signals for functions not supported by the printer controller are also described. Basic clock is Bc of B bus
Use lk. • prcRst0_L: IN This signal returns the FIFO inside the printer controller to the initial state. PrcDataIn [63: 0]: 64-bit data bus output from the ING bus / B bus I / F unit (GBI) to the printer controller. Image data is transferred when the printer controller performs a data transfer operation. • prcRead: OUT Read signal from the G bus / B bus I / F unit (GBI) when the printer controller performs data transfer operation. The G bus / B bus I / F unit (GBI) responds to the rising edge of Bclk for which the prcRead signal is asserted by prcDataIn [63:
0] is valid. By continuously asserting the prcRead signal, data can be read in units of one clock.・ PrcReadEnable: G bus / B when IN printer controller is in data transfer operation
A signal indicating that data read from the bus I / F unit (GBI) is enabled. Output from the G bus / B bus I / F unit (GBI).
If the prcReadEnable signal is asserted at the rising edge of Bclk, it indicates that reading is possible at the rising edge of the next clock. The assertion of the prcRead signal is prcRead
Check the Enable signal and execute. • prcRegAddr [31: 2]: Register address bus for accessing registers inside the printer controller from the ING bus / B bus I / F unit (GBI). It becomes effective at the same time as prcRegStart_L is asserted, and is effective until the response to the prcRegAck_L signal is made for access to the scanner controller internal register. • prcRegbyteEn [3: 0]: prcReg output from ING bus / B bus I / F unit (GBI)
DataIn [31: 0] byte enable signal. prcRegStart_L
It is valid at the same time as assertion, and is valid until responding with the prcRegAck_L signal. Only valid bytes indicated by this signal are written to the register. When reading from the internal register, this signal is ignored and all bytes are output.
The correspondence between each bit of this signal and the byte of prcRegDataIn [31: 0] is as follows. • prcRegStart_L: An access request signal for accessing a register inside the printer controller from the ING bus / B bus I / F unit (GBI). “Low” indicates a register access request. prcRe
It is asserted together with the gAddr [31: 2] signal and the prcRegRdNotWr signal, and is asserted for one Bclk clock. The printer controller determines that this access
, The next access is not asserted. • prcRegDataOut [31: 0]: OUT A 32-bit data bus for read access to registers in the printer controller from the G bus / B bus I / F unit (GBI). Valid when the prcRegAck_L signal is asserted. • prcRegDataIn [31: 0]: A 32-bit data bus for write access to registers inside the printer controller from the ING bus / B bus I / F unit (GBI). It becomes effective at the same time as prcRegStart_L is asserted, and is valid until the response to the prcRegAck_L signal is made for access to the printer controller internal register. PrcRegRdNotWr: A signal indicating the access direction (read or write) when accessing a register in the printer controller from the ING bus / B bus I / F unit (GBI). When “High”, the content of the printer controller internal register is prcRegDataOut [3
1: 0], and the content of prcRegDataIn [31: 0] is written to the printer controller internal register at “Low”. It becomes effective at the same time as PrcRegStart_L assertion.
It is valid until responding with the prcRegAck_L signal. • prcRegAck_L: OUT This signal indicates that register access inside the printer controller has been completed. From printer controller to G bus /
Output to the B bus I / F unit (GBI). Asserted for one BClk clock. It is sensed from the next clock after the prcRegstart_L signal is asserted.

【0280】なお、信号prcReq0_L, prcバイトEn[7:0],
prcWrite, prcDataOut[63:0], prcReadEnableは、プリ
ンタコントローラでは未使用となる。
Note that the signal prcReq0_L, prc byte En [7: 0],
prcWrite, prcDataOut [63: 0], and prcReadEnable are not used in the printer controller.

【0281】図83及び図84は、上述の信号のタイミ
ングの一例を示すタイミングダイアグラムである。図8
3はプリンタコントローラ4303へデータをDMA転送
する際のタイミングであり、図63は、プリンタコント
ローラ4303の内部レジスタに対して読み出しあるい
は書き込みを行うタイミングである。
FIGS. 83 and 84 are timing diagrams showing an example of the timing of the above-mentioned signals. FIG.
Reference numeral 3 denotes a timing when data is DMA-transferred to the printer controller 4303, and FIG. 63 shows a timing at which reading or writing is performed on an internal register of the printer controller 4303.

【0282】(パワーマネジメント)プリンタコントロ
ーラ内部では、プリンタ・コントローラ・パワー・マネ
ジメント・コントロールレジスタ(0X1B007000)の設定
に応じたビデオクロック(VCLK)のゲートコントロールを
行い、それによりパワーマネージメントを行う。パワー
マネジメントユニット(PMU)409に出力するPMステ
ート信号(prcPmStat[1:0])の値は、Gバス/BバスI/F
ユニット4301Bから入力されるprcDmaPmState[1:0]
の状態とクロックの状態とを合わせて決定される。prcP
mState[1:0]は図85のとおりである。
(Power Management) In the printer controller, the gate control of the video clock (VCLK) according to the setting of the printer controller power management control register (0X1B007000) is performed, thereby performing power management. The value of the PM state signal (prcPmStat [1: 0]) output to the power management unit (PMU) 409 is based on the G bus / B bus I / F.
PrcDmaPmState [1: 0] input from unit 4301B
And the state of the clock. prcP
mState [1: 0] is as shown in FIG.

【0283】図85において、prcDmaPmState[1:0]は、
プリンタのGバス/BバスインターフェースGBI_prcの
パワー消費状態を示している。GBI_prcにはパワー消費
状態00〜11の4段階がある。この状態信号prcDmaPmState
[1:0]は、GBI_prcからプリンタコントローラへ出力さ
れている。
In FIG. 85, prcDmaPmState [1: 0] is
The power consumption state of the G bus / B bus interface GBI_prc of the printer is shown. GBI_prc has four stages of power consumption states 00 to 11. This state signal prcDmaPmState
[1: 0] is output from GBI_prc to the printer controller.

【0284】また、プリンタコントローラのパワー消費
状態は2段階あり、内部信号PPStatで示される。
The power consumption of the printer controller has two stages, which are indicated by an internal signal PPStat.

【0285】信号prcPmstate[1:0]は、GBI_prcとプリ
ンタコントローラの2つの状態をあわせた状態を示して
いる。この信号がシステムのパワーマネージメントユニ
ットに出力される。すなわち、プリンタコントローラの
電力消費状態は4段階でパワーマネジメントユニットに
伝えられる。その段階は信号prcPmstate[1:0]の値で示
される。値00が最低レベルであり、1増えるごとに示さ
れる電力消費量は大きくなる。
A signal prcPmstate [1: 0] indicates a state in which the two states of GBI_prc and the printer controller are combined. This signal is output to the power management unit of the system. That is, the power consumption state of the printer controller is transmitted to the power management unit in four stages. The stage is indicated by the value of the signal prcPmstate [1: 0]. The value 00 is the lowest level, and the power consumption indicated by one increase increases.

【0286】2.9.3 Gバス/BバスI/Fユニッ
ト(GBI) 図92は、Gバス/BバスI/Fユニット4301のブロ
ック構成図である。Gバス/BバスI/Fユニットは、ス
キャナ及びプリンタのそれぞれに用意されているが、そ
の構成は同じであるため、ここでまとめて説明する。
2.9.3 G Bus / B Bus I / F Unit (GBI) FIG. 92 is a block diagram of the G bus / B bus I / F unit 4301. The G bus / B bus I / F unit is prepared for each of the scanner and the printer, but since the configurations are the same, they will be described together here.

【0287】図92において、GBI4301は、GB
usと接続してこれを制御するGBusコントローラ
と、BBusと接続してこれを制御するBBusコント
ローラとを含む。これらの間には、DMAアドレスを制
御するDMAコントローラ9205のほか、機能ブロッ
クとGBus/BBusとの間をデータ転送に用いられ
るFIFO9204、種々の設定値が書き込まれるレジ
スタユニット9206が含まれる。このうち、GBUS
コントローラとFIFO9204は、GBusにあわせ
て100MHzのクロックで動作し、その他のブロック
はBBusにあわせて50MHzで動作する。
In FIG. 92, GBI4301 is GBI
and a BBus controller connected to the Bus and controlling the same, and a BBus controller connected to the Bbus and controlling the same. These units include a DMA controller 9205 for controlling a DMA address, a FIFO 9204 used for data transfer between the functional block and the GBus / BBus, and a register unit 9206 in which various set values are written. Of these, GBUS
The controller and the FIFO 9204 operate at a clock of 100 MHz according to the G bus, and the other blocks operate at 50 MHz according to the B bus.

【0288】GBI4301は、GBusとBBusの
両方に接続されるべき機能ブロック(SCC:スキャナ
コントローラとPRC:プリンタコントローラ)の、G
BusとBBusの選択的接続及び、両バスのインター
フェースを提供する。GBIと各機能ブロックの間は、
IFBus9201で接続される。機能ブロックでは、
データの入出力先がGBusかBBusかを意識する必
要はない。また、GBI側でDMAをサポートするの
で、機能ブロック側でアドレスを発生する必要もない。
GBIは、各機能ブロックで共通に必要となる機能をま
とめて、独立のユニットにしたものである。
The GBI 4301 is a functional block (SCC: scanner controller and PRC: printer controller) to be connected to both the G bus and the B bus.
It provides a selective connection between Bus and BBus and an interface of both buses. Between GBI and each functional block,
They are connected by IFBus 9201. In the function block,
There is no need to be aware of whether the data input / output destination is GBus or BBus. Also, since DMA is supported on the GBI side, there is no need to generate addresses on the functional block side.
The GBI is a unit in which functions required in common in each functional block are grouped into an independent unit.

【0289】GBIがサポートするIFBus9201
に接続される機能ブロックは、連続したデータを受け取
る、あるいは送り出すものとする。IFBusにアドレ
ス信号は含まれていない。GBIでは、Channel
0(GBus/BBus→IFBus0)とChann
el1(GBus/BBus→IFBus1)の2つの
チャネルが用意され、それぞれに、DMAコントローラ
が用意されている。ただし、スキャナコントローラで
は、Channel0のみを、プリンタコントローラで
は、Channel1のみを使用(実装)する。
IFBus 9201 supported by GBI
The functional blocks connected to receive or send continuous data. The IFBus does not include an address signal. In GBI, Channel
0 (GBus / BBus → IFBus0) and Chann
Two channels, e11 (GBus / BBus → IFBus1), are prepared, and a DMA controller is prepared for each of them. However, only the channel 0 is used (implemented) in the scanner controller and only the channel 1 is used in the printer controller.

【0290】DMAコントローラ9205は、I/O
(アドレス固定)とメモリに対する設定が可能で、メモ
リの場合は、連続物理アドレスとチェーンテーブル方式
(後述)のDMAが設定できる。
The DMA controller 9205 has an I / O
(Fixed address) and memory can be set. In the case of a memory, a continuous physical address and a DMA of a chain table system (described later) can be set.

【0291】GBIは、データを、FIFOを介して機
能ブロックと入出力する。したがって、GBIがスレー
ブモードとして動作する場合、GBIのアドレスは、G
Bus側が、0x18n0_0000〜0x18n0_
007F、BBus側が、0x19n0_0000〜0
x19n0_001Fのみで同じロケーションがアクセ
スされる。FIFOを使用しているため、バースト転送
時のラップアラウンドに対応するのが困難である。BB
usのラップアラウンドを伴うバースト転送要求に対し
ては、シングルアクセスとして応答する。GBusのラ
ップアラウンドを伴う転送要求に対しては応答しない。
The GBI inputs / outputs data to / from functional blocks via FIFO. Therefore, when the GBI operates in the slave mode, the address of the GBI is G
Bus side is 0x18n0_0000 to 0x18n0_
007F, BBus side is 0x19n0_0000-0
The same location is accessed only by x19n0_001F. Since the FIFO is used, it is difficult to cope with wrap-around during burst transfer. BB
For a burst transfer request involving wrap-around of us, a response is made as a single access. It does not respond to the transfer request with the wraparound of the GBus.

【0292】なお、GBI間で画像データのDMA転送
を行う場合には、それぞれのDMAコントローラにより
制御が行われる。この際に、いずれの側がマスタになる
かは特に決めないが、よりデータ転送のタイミングが厳
格な方がマスタになることが望ましい。このため、本実
施例では、GBI_PRCをマスタにし、GBI_SCCをスレーブに
してDMA転送を行っている。
When DMA transfer of image data is performed between GBIs, control is performed by the respective DMA controllers. At this time, it is not particularly determined which side becomes the master, but it is desirable that the data transfer timing be more strict. For this reason, in this embodiment, DMA transfer is performed with GBI_PRC being the master and GBI_SCC being the slave.

【0293】GBI(GBus/BBusインターフェ
ース)は、 1.機能ブロックとのデータの受け渡しをするFifo
ユニット 2.GBusに直結され、GBusとFifoユニット
をつなぐGBusコントローラ9202 3.BBusに直結され、BBusとFifoユニット
をつなぐBBusコントローラ9203 4.マスタモードの時に、DMA転送要求を各バスコン
トローラに発行するDMAコントローラ9205 5.レジスタの内容を保持し、各ブロックに信号を送る
レジスタユニット9206 から構成される。レジスタユニット内には、割込み制
御、パワー制御部も含んでいる。以下に、各部の説明を
する。
The GBI (GBus / BBus interface) is: Fifo that exchanges data with functional blocks
Unit 2. 2. A GBus controller 9202 that is directly connected to the G bus and connects the G bus and the Fifo unit. 3. BBus controller 9203 directly connected to BBus and connecting BBus and Fifo unit 4. DMA controller 9205 that issues a DMA transfer request to each bus controller in master mode. A register unit 9206 holds the contents of the register and sends a signal to each block. The register unit also includes an interrupt control and a power control unit. Hereinafter, each part will be described.

【0294】(Fifoユニット)図93に示したFi
foユニットは、GBus/BBusとIFBusとの
間の転送データのバッファとなる部分である。Fifo
ユニットは、互いに独立したFifoユニット0とFi
foユニット1とから構成される。Fifoユニット0
はIFBusからのデータ入力及びGBusあるいはB
Busへのデータ出力のために用いられ、Fifoユニ
ット1はGBusあるいはBBusからのデータ入力及
びIFBusへのデータ出力のために用いられる。
(Fifo Unit) The Fi unit shown in FIG.
The fo unit is a portion serving as a buffer for transfer data between the GBus / BBus and the IF Bus. Fifo
The units are Fifo units 0 and Fi, which are independent of each other.
fo unit 1. Fifo Unit 0
Is the data input from IFBus and GBus or B
The FIFO unit 1 is used for data output to the bus, and the Fifo unit 1 is used for data input from the G bus or the B bus and data output to the IF bus.

【0295】信号scGbiFifo0ClkあるいはscGbiFifo1Clk
はゲーテッドクロックで、クロックを止めることで省電
力モードを実現する。このクロックは、GBI FIF
Oレジスタをライトすることにより停止し、マスタモー
ドかスレーブモードに入る時に自動的に起動する。
Signal scGbiFifo0Clk or scGbiFifo1Clk
Is a gated clock, which realizes a power saving mode by stopping the clock. This clock is GBI FIF
It stops by writing the O register and starts automatically when entering the master mode or the slave mode.

【0296】[Fifoユニット0]Fifoユニット
0は、IFBus0(IFBusの仕様については後
述)からのデータをFifoに書き込み、GBus/B
Busに送り出す。信号ifDataOutB[63:0]、ifWriteB、
ifWriteEnableGは、IFBusと接続される。
[Fifo unit 0] The Fifo unit 0 writes data from IFBus0 (IFBus specifications will be described later) to Fifo, and writes GBus / B
Send it to Bus. The signals ifDataOutB [63: 0], ifWriteB,
ifWriteEnableG is connected to IFBus.

【0297】このFifoユニット0が有するFifo
0は、IFBusからの64ビットデータを入力とし、
GBus用の64ビットデータDataOut64とB
Bus用の32ビットデータDataOut32を出力
する、64ビット×17段のFifoである。
The Fifo unit 0 has a Fifo
0 inputs 64-bit data from IFBus,
64-bit data DataOut64 and B for GBus
This is a 64-bit × 17-stage Fifo that outputs 32-bit data DataOut32 for Bus.

【0298】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と接続され、機能ブ
ロックにライト可能であることを伝える。
The status signal output from the Fifo unit 0 includes the following signals.・ Fifo0EnableB1G: Fifo0Unit
Indicates that one word (32 bits) can be transferred from the to the BBus. The DMA controller is used in the master mode, and the BBus controller is used in the slave mode.・ Fifo0EnableB4G: Fifo0Unit
Indicates that four words can be transferred consecutively from Bbus to BBus. The DMA controller is used in the master mode, and the BBus controller is used in the slave mode.・ Fifo0EnableB8G: Fifo0Unit
Indicates that eight words can be continuously transferred from B to the bus. The DMA controller is used in the master mode, and the BBus controller is used in the slave mode.・ Fifo0EnableG4G: Fifo0Unit
Indicates that four words (one word is 64 bits) can be continuously transferred to the G bus. DMA in master mode
When the controller is in the slave mode, the GBus controller uses it.・ Fifo0EnableG16G: Fifo0Uni
Indicates that 16 words can be continuously transferred from t to GBus. The DMA controller is used in the master mode, and the GBus controller is used in the slave mode. -IfWriteEnable: Fifo0 is Full
Indicates no status. Connected to IFBus to inform function blocks that writing is possible.

【0299】また、Fifo0からのGBusの64ビ
ットデータのリードは、Fifo0に入力されている信
号Rd64を使い、BBusの32ビットデータのリー
ドは、信号Rd32を使う。どちらのリードによって
も、ステータス信号及び、Fifo0からの出力データ
であるDataOut64とDataOut32は更新
される。
Also, the reading of 64-bit data of GBus from Fifo0 uses the signal Rd64 input to Fifo0, and the reading of 32-bit data of BBus uses the signal Rd32. By either read, the status signal and the data Out64 and DataOut32 output from Fifo0 are updated.

【0300】(B2Gブロック)I/Fバス及びBBu
sのクロックは50MHzであり、GBusのクロック
は100MHzである。このため、Fifoユニット0
に含まれる不図示のB2Gなるブロックにより、IFB
usクロックに同期した書込み信号ifWriteFi
foB、あるいはBBUsクロックに同期した読出し信
号bReadFifoBの1クロック分を、Fifoユ
ニットのクロック(IFBusの2倍の周波数)のクロ
ックに変換する。
(B2G block) I / F bus and BBu
The clock of s is 50 MHz, and the clock of GBus is 100 MHz. For this reason, Fifo unit 0
The IFB block, not shown, included in the
write signal ifWriteFi synchronized with us clock
One clock of the read signal bReadFifoB synchronized with the foB or the BBUs clock is converted into a clock of the clock of the Fifo unit (twice the frequency of IFBus).

【0301】(ChkIllegalブロック)Fif
o0は、GBus/BBusにより共有される。マスタ
ーモードでは、DMAコントローラがGBus/BBu
sの排他使用を制御しているが、スレーブモードでは、
DMAマスターが排他使用を制御しなければならない。
このため、Fifoユニット0に含まれるChkIll
egalブロックでは、GBusとBBusから同時に
Fifo0にアクセスされた場合に、信号fifoEr
rorGをアサートする。すなわち、Gbusからの読
出し信号gReadFisoG、あるいはBBusから
の読出し信号bReadFisoBが同時にアサートさ
れると、信号fifoErrorGをアサートする。こ
の信号は、レジスタユニットでラッチされ、マスクされ
ていなければ、割り込みを発生する。
(ChkIllegal block) Fif
o0 is shared by GBus / BBus. In the master mode, the DMA controller uses GBus / BBu
Although exclusive use of s is controlled, in slave mode,
The DMA master must control exclusive use.
Therefore, ChkIll included in Fifo unit 0
In the egal block, when the Fifo0 is simultaneously accessed from the GBus and the BBus, the signal fifoEr is output.
Assert lorG. That is, when the read signal gReadFisoG from Gbus or the read signal bReadFisoB from BBus is simultaneously asserted, the signal fifoErrorG is asserted. This signal is latched in the register unit and generates an interrupt if not masked.

【0302】[Fifoユニット1]Fifoユニット
1は、GBus/BBusからのデータを内蔵するFi
fo1に書き込み、IFBus1に送り出す。ifDa
taIng[63:0],ifByteEnG[7:
0],ifReadB,ifReadEnableG
は、IFBusと接続される。
[Fifo unit 1] The Fifo unit 1 is a Fifo unit containing data from the GBus / BBus.
Write to fo1 and send to IFBus1. ifDa
taIng [63: 0], ifByteEnG [7:
0], ifReadB, ifReadEnableG
Is connected to IFBus.

【0303】Fifoユニット1では、マスタモードで
の逆方向DMAに対応するために、Fifo1の前段に
フロントバッファを設けてある。逆方向DMA(入力信
号reverseMODEがイネーブル)の時には、フ
ロントバッファにいったんバッファしてから、逆順でF
IFOにデータを送り出す。それ以外のモード(信号r
everseMODEがディスエーブル)の時には、通
常のFIFOとして機能する。
[0303] In the Fifo unit 1, a front buffer is provided before the Fifo1 in order to cope with the backward DMA in the master mode. In the case of reverse DMA (input signal reverseMODE is enabled), buffer once in the front buffer, and then F
Send data to IFO. Other modes (signal r
When “everyMODE” is disabled, it functions as a normal FIFO.

【0304】(フロントバッファ)GBusまたは、B
Busからのデータを入力とし、Fifo1へ出力す
る、バイトイネーブル付き64+4ビット×4段のバッ
ファである。BBusからの書き込みでは、データはバ
イトイネーブル信号とともに書き込まれる。GBusか
らの書き込みでは、バイトイネーブルをすべて有効と
し、データが書き込まれる。BBusからの書き込みで
の64ビットへのパッキングは行わない。
(Front buffer) GBus or B
This is a 64 + 4 bit × 4 stage buffer with byte enable, which receives data from the bus and outputs it to Fifo1. In writing from BBus, data is written together with a byte enable signal. In writing from the G bus, all byte enables are made valid and data is written. Packing to 64 bits in writing from BBus is not performed.

【0305】ステータス信号として、フロントバッファ
が空状態であることを示す信号BufEmptyが設け
られている。
As a status signal, a signal BufEmpty indicating that the front buffer is empty is provided.

【0306】逆方向DMAの時には、信号revers
eMODEがイネーブルであり、転送モードは、DMA
コントローラで、GBusの4beatバースト転送、
あるいはBBusのシングル転送のみに制限される。G
Busの4beatバースト転送のデータは、一度フロ
ントバッファに貯めてから、逆順にして、Fifo1に
データを送り出す(32ビット単位で逆順にする)。
At the time of reverse DMA, the signal reverses
eMODE is enabled and the transfer mode is DMA
4 bus burst transfer of GBus by controller,
Alternatively, the transfer is limited to only the BBus single transfer. G
Bus 4-bit burst transfer data is stored once in the front buffer, and then transmitted in reverse order to Fifo 1 (in reverse order in 32-bit units).

【0307】それ以外のモードの時には、信号reve
rseMODEがディスエーブルであり、4段のFIF
Oとして機能する。入力信号dummyWriteFi
fo1Bは一度ラッチされ、フロントバッファが空にな
った時点で、Fifo1に送られる。
In other modes, the signal “reve”
rsMODE is disabled and 4-stage FIF
Functions as O. Input signal dummyWriteFi
fo1B is latched once and sent to Fifo1 when the front buffer becomes empty.

【0308】(Fifo1)Fifo1は、フロントバ
ッファからのデータを入力とし、入力されたデータをI
FBusへ出力する、バイトイネーブル付き64+8ビ
ット×16段のFifoである。BBusからのデータ
は、バイトイネーブル信号とともに書き込まれる。GB
usからのデータは、バイトイネーブルをすべて有効と
し、書き込まれる。BBusからのデータの書き込みで
は、64ビットへのパッキングを行う。
(Fifo1) Fifo1 receives data from the front buffer and converts the input data to I
It is a 64 + 8 bit × 16-stage Fifo with byte enable output to the FBus. Data from the BBus is written with the byte enable signal. GB
Data from us is written with all byte enables enabled. In writing data from the B bus, packing to 64 bits is performed.

【0309】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と接続され、機能ブロックに
リード可能であることを伝える。
The following status signals are provided based on the internal state of Fifo1 and the BufEmpry signal of the front buffer.・ Fifo1EnableB1G: Fifo unit 1
Indicates that two words (32 bits) can be transferred from the BBus. This is enabled when Fifo1 has a space of one or more BBus words or the front buffer is empty.・ Fifo1EnableB4G: Fifo unit 1
Indicates that eight words can be continuously transferred from BBus. This is enabled when Fifo1 has a space of 4 words or more of BBus or the front buffer is empty.・ Fifo1EnableB8G: Fifo unit 1
Indicates that 12 words can be continuously transferred from BBus. If there is a free space of BBus 8 words or more in Fifo1, or there is a free space of BBus 4 words or more in Fifo1,
It is enabled when the front buffer is empty.・ Fifo1EnableG4G: Fifo unit 1
Indicates that four words (one word is 64 bits) can be continuously transferred from the GBus. This is enabled when Fifo1 has an empty space of 4 words or more of GBus or the front is empty. Fifo1EnableG16G: Indicates that 16 words can be continuously transferred from the GBus to the Fifo unit 1. If Fifo1 is empty or if Fifo1 has GBus
It is enabled when there is room for 12 words or more and the front buffer is empty. IfReadEnable: Indicates that Fifo1 is not empty. It is connected to IFBus and informs the function block that it can be read.

【0310】信号Fifo1EnableB1G、Fi
fo1EnableB4G、Fifo1EnableB
8Gは、マスタモード時にはDMAコントローラが、ス
レーブモード時にはBBusコントローラが使用する。
Signals Fifo1EnableB1G, Fi
fo1EnableB4G, Fifo1EnableB
8G is used by the DMA controller in the master mode and by the BBus controller in the slave mode.

【0311】信号Fifo1EnableG4G、Fi
fo1EnableG16Gは、マスタモード時にはD
MAコントローラが、スレーブモード時にはGBusコ
ントローラが使用する。
Signals Fifo1EnableG4G, Fi
fo1EnableG16G has D in master mode.
When the MA controller is in the slave mode, the GBus controller uses it.

【0312】また、Fifoユニット1は、Fifoユ
ニット0と同じく、B2Gブロック及びChkIlle
galブロックを備えている。
Also, the Fifo unit 1 has a B2G block and a ChkIlle like the Fifo unit 0.
It has a gal block.

【0313】(GBusコントローラ)図94は、Gb
usコントローラ9202のブロック図である。Gbu
sコントローラ9202は、GBIがバスマスタとなっ
てGBusを制御するためのGBusマスタコントロー
ラと、スレーブとなった際の制御を行うためのGBus
スレーブコントローラと、データを制御するためのGB
usデータコントローラと、GBusインターフェース
バッファとを含む。この構成により、GBI4301
は、GBusのマスタあるいはスレーブとして動作する
ことができる。
(GBus Controller) FIG.
It is a block diagram of us controller 9202. Gbu
The s-controller 9202 includes a GBus master controller for controlling the GBus when the GBI serves as a bus master, and a GBus controller for controlling when the GBI serves as a slave.
Slave controller and GB for controlling data
us data controller and a GBus interface buffer. With this configuration, GBI 4301
Can operate as a GBus master or slave.

【0314】[GBusマスタ動作]GBusコントロ
ーラは、GBusマスタコントローラにより、以下のよ
うな手順でGBusマスタとしての制御を行う。
[GBus Master Operation] The GBus controller controls the GBus master as a GBus master in the following procedure.

【0315】1.DMAコントローラからの要求 DMAコントローラ9205は、チャネルNの転送が可
能な段階で、gMReq(N)信号を、gMAddr
(N)[31:5]信号、gMBst4Not16_N
信号とともに、bClk(Bbusクロック信号)で1
クロックだけアサートして、DMA転送を要求する。
[0315] 1. Request from DMA Controller The DMA controller 9205 outputs the gMReq (N) signal to gMAddr at a stage where the transfer of the channel N is possible.
(N) [31: 5] signal, gMBst4Not16_N
1 with bClk (Bbus clock signal)
Assert only the clock to request DMA transfer.

【0316】gMAddr(N)[31:5]信号、g
MBst4Not16_N信号は、GBusマスタコン
トローラによりgMDone(N)信号、gMRtry
(N)信号、gMBErr(N)信号のいずれかがアサ
ートされるまで、変化させてはいけない。
GMAddr (N) [31: 5] signal, g
The MBst4Not16_N signal is a gMDone (N) signal, gMRtry by the GBus master controller.
It must not be changed until either the (N) signal or the gMBErr (N) signal is asserted.

【0317】2.GBusアービタへの転送要求 gMReq(N)信号は、GBusマスタリクエストイ
ンターフェースでラッチされる(gLatchReq
(N)信号)。
[0317] 2. Transfer request to GBus arbiter The gMReq (N) signal is latched by the GBus master request interface (gLatchReq
(N) signal).

【0318】各チャネルのgLatchReq信号は、
不図示のGBusマスタリクエストアービタで調停さ
れ、GBusアービタ406に対し、DMA要求信号g
Req_L信号をアサートすると同時に、GBusマス
タアドレスフェーズに、gIntReq(N)信号を送
る。
The gLatchReq signal of each channel is
Arbitrated by a GBus master request arbiter (not shown), a DMA request signal g is sent to the GBus arbiter 406.
At the same time as asserting the Req_L signal, a gIntReq (N) signal is sent to the GBus master address phase.

【0319】3.GBusアービタからの転送許可 GBusアービタ406からのDMA許可信号gGnt
_L信号がアサートされると、GBusマスタアドレス
フェーズから、信号GGntSenseがアサートさ
れ、DMA要求信号gReq_Lはネゲートされる。同
時に、gLatchReq(N)信号とgIntReq
(N)信号はネゲートされる。GBusマスタリクエス
トインターフェースは、信号gSlvBsyを監視し、
データバスが使用可能になると、GMDataRq
(N)信号をアサートする。この信号は、GBusマス
タジェネレートエンドデータとGBusデータコントロ
ーラに送られる。
[0319] 3. Transfer permission from GBus arbiter DMA permission signal gGnt from GBus arbiter 406
When the _L signal is asserted, the signal GGntSense is asserted from the GBus master address phase, and the DMA request signal gReq_L is negated. At the same time, the gLatchReq (N) signal and gIntReq
(N) The signal is negated. The GBus master request interface monitors the signal gSlvBsy,
When the data bus becomes available, GMDataRq
(N) Assert the signal. This signal is sent to the GBus master generate end data and the GBus data controller.

【0320】4.GBusデータ転送 スレーブのgAack信号を確認すると、データ転送を
開始する。EndData以外のGBusの信号は、G
Busマスタアドレスフェーズで生成される。EndD
ataは、GBusマスタジェネレートエンドデータで
生成される。GBusからFifoあるいは、Fifo
からGBusへのデータの移動は、GMDataRq
(N)信号により、GBusデータコントローラが行
う。なお、gAack信号の前にgRtry信号を検出
すると、GBusデータコントローラはデータ転送を行
わない。
[0320] 4. GBus data transfer When the gAack signal of the slave is confirmed, data transfer starts. GBus signals other than EndData are G
It is generated in the Bus master address phase. EndD
“ata” is generated by GBus master generate end data. Fibus or Fifo from GBus
Data transfer from Gbus to GBus is performed by GMDataRq
The (N) signal is used by the GBus data controller. If the gRtry signal is detected before the gAack signal, the GBus data controller does not perform data transfer.

【0321】5.GBusデータ転送終了(あるいはリ
トライ) GBusマスタジェネレートエンドデータは、GBus
データ転送の終了を、checkBErr信号によりG
Busマスタリクエストインターフェースへ伝える。そ
の信号を受けたGBusマスタリクエストインターフェ
ースは、内部で保持している要求をクリアすると同時
に、バスエラーがなければ、gMDone信号をアサー
トする。バスエラーを検出した場合には、gMBErr
信号をアサートし、DMAコントローラ9205に転送
が完了したことを伝える。
[0321] 5. Gbus data transfer end (or retry) Gbus master generate end data is Gbus
The end of the data transfer is determined by the checkBErr signal.
Notify the Bus master request interface. The GBus master request interface receiving the signal clears the internally held request and asserts the gMDone signal if there is no bus error. If a bus error is detected, gMBErr
Assert the signal to notify the DMA controller 9205 that the transfer has been completed.

【0322】また、gRtry信号を検出すると、GB
usマスタリクエストインターフェースは、内部で保持
している要求をクリアすると同時に、gMRtry信号
をアサートする。
When the gRtry signal is detected, GB
The us master request interface clears the internally held request and asserts the gMRtry signal at the same time.

【0323】DMAコントローラ49205は、GBu
sコントローラ9202から受けた信号がgMDone
信号であれば、転送アドレスや転送長等を更新する。受
けた信号がgMRtry信号であれば、それらを更新せ
ずに、次のアクションを起こす。gMBErr信号の時
には、DMAコントローラ9202は転送を中止し、マ
スクされていなければ、割り込みを発生する。
The DMA controller 49205 has a GBu
The signal received from the s controller 9202 is gMDone
If it is a signal, the transfer address and transfer length are updated. If the received signal is a gMRtry signal, the next action is taken without updating them. At the time of the gMBErr signal, the DMA controller 9202 stops the transfer, and if not masked, generates an interrupt.

【0324】[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 Slave Operation] The GBus controller controls the Gbus slave by the Gbus slave controller in the following procedure. 1. Transfer request from master Gbus slave request interface, g
At the timing of TsReg signal assertion, gAddrR
Check the eg signal and the gRdNotWrReg signal (channel 0 or 1). GSEnab with access to GBI
If the le (N) signal (slave mode: set by a register) is asserted, it is determined from the gBst4Not16 signal, the ReadFifoEnable4 / 16 signal (channel 0) or the WriteFifoEnable4 / 16 signal (channel 1) whether transfer is possible. If possible, the gAack signal, otherwise the gRtry
Assert the signal. 2. Gbus data transfer If transfer is possible, the Gbus slave request interface confirms that the gSlvBsy signal is negated, asserts the gAack signal, and sets the timing to
The GSlvStart signal is transmitted to the Gbus slave request slave busy. In addition, the GBus slave request interface starts data transfer by GS
By asserting the DataRq (N) signal, GBus
Tell the data controller. Data transfer from GBus to Fifo or from Fifo to GBus
This is performed by the Bus data controller. GBus slave request slave busy generates the gSlvBsy signal. 3. GBus data transfer end There is no signal indicating the transfer end. There is no assertion of the gBErr signal. However, gSEEnable (N)
If the signal is negated, there is no response to the master's access, and a bus error occurs due to timeout.

【0325】(BBusコントローラ)図95は、BB
usコントローラ9203のブロック図である。BBu
sコントローラ9203は、BBusマスタコントロー
ラと、BBusデータコントローラ、BBusスレーブ
コントローラ及びBBusインターフェースバッファを
含む。この構成により、GBI4301は、BBusの
マスタあるいはスレーブとして動作することができる。
(BBus controller) FIG.
FIG. 146 is a block diagram of a us controller 9203. BBu
The s controller 9203 includes a BBus master controller, a BBus data controller, a BBus slave controller, and a BBus interface buffer. With this configuration, the GBI 4301 can operate as a BBus master or slave.

【0326】[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転送が要
求される。
[BBus Master Operation] Request from DMA Controller The DMA controller 9205 sends the bMReq (N) signal to bMAddr at the stage where the transfer of the channel N is possible.
(N) [31: 2] signal, bMBurst8n) signal,
The BBus clock signal bClk is asserted for one clock together with the bMBst4Not8_N signal. At the stage where the chain table needs to be read in the chain DMA mode, the cMReq (N) signal is set to cMAd
Assert one clock with bClk together with the dr (N) [31: 2] signal. The reading of the chain table does not use the BBus burst transfer. In this way, the DMA transfer of BBus is requested from the DMA controller.

【0327】bMAddr(N)[31:2]信号,b
MBurst(N)信号,bMBst4Not8_N信
号は、Fifoにアクセスを開始する(bReadFi
fo、bWriteFifoがアサートされる)まで変
化させてはいけない。
The bMAddr (N) [31: 2] signal, b
The MBurst (N) signal and the bMBst4Not8_N signal start accessing the Fifo (bReadFi).
fo, bWriteFifo is asserted).

【0328】また、cMAddr(N)[31:2]信
号は、cMDone(N)信号,cMrtry(N)信
号,cMBErr(N)信号のいずれかがアサートされ
るまで変化させてはいけない。
The cMAddr (N) [31: 2] signal must not be changed until one of the cMDone (N) signal, the cMrtry (N) signal, and the cMBErr (N) signal is asserted.

【0329】2.BBusアービタへの転送要求 BBusbMReq(N)信号及びcMReq(N)信
号は、BBusマスタリクエストインターフェースでラ
ッチされる(bLatchReq(N)信号及びcLa
tchReq(N)信号)。各要求信号は、BBusマ
スタリクエストアービタで調停され、BBusアービタ
407に対してbBReq_L信号がアサートされる。
[0329] 2. The transfer request to the BBus arbiter The BBusbMReq (N) signal and the cMReq (N) signal are latched by the BBus master request interface (the bLatchReq (N) signal and the cLa
tchReq (N) signal). Each request signal is arbitrated by the BBus master request arbiter, and the bBReq_L signal is asserted to the BBus arbiter 407.

【0330】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データコントローラに送られ
る。
[0330] 3. Transfer permission from BBus arbiter bBGnt_L which is a permission signal from BBus arbiter
When the signal is asserted, the BBus master request arbiter sends a BGnt (N) signal or C to the corresponding requesting BBus master request interface.
Gnt (N) signal is sent, and bBGnt_L signal is negated. The BBus master request interface uses the bLatchReq (N) signal or cLatc
The hReq (N) signal is negated, and the bTx signal and bSn
The waitWait signal is monitored, and when a transfer is possible, the BMDataRq (N) signal and the CMDDataRq
(N) Assert the signal. This signal is sent to the BBus master sequencer and the BBus data controller.

【0331】4.BBusデータ転送 BBusマスタシーケンサは、BBusマスタがドライ
ブすべきデータ以外のBBusの信号をすべて生成す
る。BMDataRq(N)信号あるいはCMData
Rq(N)信号をトリガにして、bStartOut_
L(バーストモードであれば、同時にbBurstOu
t_L)をアサートし、bRdy(バーストモードであ
れば、bBurstAck)をチェックし、転送終了を
検出する。BBusからFifo、あるいはFifoか
らBBusへのデータの移動は、BMDataRq
(N)信号により、BBusデータコントローラが行
う。
[0331] 4. BBus Data Transfer The BBus master sequencer generates all BBus signals other than the data to be driven by the BBus master. BMDataRq (N) signal or CMDData
Using the Rq (N) signal as a trigger, bStartOut_
L (if in burst mode, bBurstOu
t_L), checks bRdy (or bBurstAck in burst mode), and detects the end of transfer. Movement of data from BBus to Fifo or from Fifo to BBus is performed by BMDataRq
The (N) signal is used by the BBus data controller.

【0332】なお、bRdy信号の前(あるいは同時
に)にbRetry信号を検出すると、BBusデータ
コントローラはデータ転送を行わない。
When the bRetry signal is detected before (or simultaneously with) the bRdy signal, the BBus data controller does not perform data transfer.

【0333】5.BBusデータ転送終了(あるいは、
リトライ、バスエラー) BBusデータコントローラは、BBusマスタシーケ
ンサのBMLastData信号でデータの移動を終了
する。また、BBusマスタシーケンサは、BBusデ
ータ転送の終了をDone信号により、BBusリクエ
ストインターフェースへ伝える。リトライあるいはバス
エラーであった場合には、それぞれ、Retry信号、
Error信号で伝える。BBusマスタリクエストイ
ンターフェースは、DMAコントローラに転送が完了し
たことを、[bc]MDone(N)(以下、bまたは
cのいずれかであることを[bc]と表す)で、リトラ
イ、バスエラー場合には、[bc]MRtry(N)信
号、[bc]MBErr信号でそれぞれ伝える。
[0333] 5. End of BBus data transfer (or
(Retry, bus error) The BBus data controller ends the data movement with the BMlastData signal of the BBus master sequencer. Further, the BBus master sequencer notifies the end of the BBus data transfer to the BBus request interface by a Done signal. In the case of a retry or a bus error, a Retry signal,
The error signal is transmitted. The BBus master request interface indicates that the transfer has been completed to the DMA controller by using [bc] MDone (N) (hereinafter, either b or c is represented by [bc]). Are transmitted as a [bc] MRtry (N) signal and a [bc] MBErr signal, respectively.

【0334】DMAコントローラは、信号bReadF
ifo、bWriteFifoにより、転送アドレスや
転送長等を更新し、DMAのBBus転送の終了を示す
bMDone(N)信号か、bMRtry(N)信号
で、次のアクションを起こす。チェーンテーブルの読み
込みの終了を示すcMDone(N)信号は、内部のチ
ェーンテーブルを更新し、cMRtry(N)信号であ
れば、再び転送要求を発行する。
The DMA controller outputs the signal bReadF
The transfer address, transfer length, and the like are updated by ifo and bWriteFifo, and the next action is caused by the bMDone (N) signal or the bMRtry (N) signal indicating the end of the DMA BBus transfer. The cMDone (N) signal indicating the end of reading the chain table updates the internal chain table, and if the signal is a cMRtry (N) signal, issues a transfer request again.

【0335】[bc]MBErr(N)信号の時には、
DMAコントローラは転送を中止し、マスクされていな
ければ割り込みを発生する。
[Bc] In the case of the MBErr (N) signal,
The DMA controller stops the transfer and generates an interrupt if it is not masked.

【0336】(バーストモードでのリトライ)信号bS
tart_Lと信号bBurst_Lの同時アサート
で、スレーブが、信号bRetry_Lのアサートなし
に、信号bRdy_Lと信号bBurstAck_Lの
同時アサートで応答した場合、スレーブはバースト転送
可能と判断される。そのバースト転送中は信号bRet
ry_Lはチェックされない。つまり、最初のbRdy
_Lのタイミングの時のみ、信号bRetry_Lはチ
ェックされる。なお、バースト転送中でも、信号bEr
ror_Lは、各クロックでチェックされる。
(Retry in Burst Mode) Signal bS
If the slave responds with the simultaneous assertion of the signal bBurst_L and the signal bRdy_L and the signal bBurstAck_L without asserting the signal bRetry_L, the slave is determined to be capable of burst transfer. During the burst transfer, the signal bRet
ry_L is not checked. That is, the first bRdy
Only at the timing of _L, the signal bRetry_L is checked. Note that even during the burst transfer, the signal bEr
lor_L is checked at each clock.

【0337】(信号bError_L、bRetry_
L、bRdy_Lの同時アサートについて)信号bEr
ror_Lがアサートされた場合、信号bRetry_
Lがアサートされていても、バスエラーとみなされる。
信号bError_Lがネゲートされ、信号bRetr
y_Lがアサートされた場合、信号bRdy_Lがアサ
ートされていてもリトライと見なされる。
(Signals bError_L, bRetry_L
L, bRdy_L simultaneous assertion) signal bEr
When lor_L is asserted, the signal bRetry_
Even if L is asserted, it is regarded as a bus error.
The signal bError_L is negated and the signal bRetr
When y_L is asserted, it is regarded as a retry even if the signal bRdy_L is asserted.

【0338】(マスタモード時の信号byteEn_L
[3:0]について)マスタモード時の信号byteE
n_L[3:0]は、シングルアクセス、バーストアク
セスの最後の転送以外は、常に、“0000”である。
(Signal byteEn_L in master mode)
[3: 0]) Signal byteE in master mode
n_L [3: 0] is always “0000” except for the last transfer of single access and burst access.

【0339】[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信号をアサートする。
[BBus slave operation (other than register access)] Transfer request from master The BBus master sequencer checks the bAddr signal and the bWr_L signal (channel 0 or 1) at the timing of the bStart_L signal assertion. In accessing the GBI, if the bSEEnable (N) signal (slave mode: set by a register) is asserted, bBur
stShortNotLong signal (bBurst_L
Only when the signal is asserted) and ReadFifoEn
able 1/4/8 signal (channel 0) or WriteF
It is determined whether transfer is possible from the ifoEnable 1/4/8 signal (channel 1). If transfer is possible, bRdyO
ut_L signal (in the burst mode, bBurst
Assert the AckOut_L signal); otherwise, assert the bRetryOut_L signal.

【0340】マスタのバーストモード(bBurst_
L信号がアサート)の要求に対して、Fifoの状態か
ら、バースト転送はできないがシングル転送は可能な場
合は、bRdyOut_L信号のみアサートし、シング
ル転送を行う。また、マスタのバーストモード要求がラ
ップアラウンドを発生する場合、GBIがラップアラウ
ンドに対応していないため、可能であればシングル転送
を行う(bBurstAckOut_L信号をアサート
しない)。
The master burst mode (bBurst_
In response to the request (assert L signal), if burst transfer is not possible but single transfer is possible from the Fifo state, only the bRdyOut_L signal is asserted to perform single transfer. When the master burst mode request generates a wraparound, single transfer is performed if possible because the GBI does not support wraparound (the bBurstAckOut_L signal is not asserted).

【0341】2.BBusデータ転送 転送可能であれば、BBusマスタシーケンサは、必要
なクロック分だけ、bRdyOut_L信号をアサート
し続ける。バースト転送の場合には、最初のbRdyO
ut_L信号のアサートのタイミングで、bBurst
AckOut_L信号を1BBusクロックだけアサー
トする。また、データの転送開始をBSDataRq
(N)信号で、データの転送終了をbMLastDat
a信号で、BBusデータコントローラに伝える。BB
usからFifoあるいは、FifoからBBusへの
データの移動は、BBusデータコントローラが行う。
[0341] 2. BBus Data Transfer If transfer is possible, the BBus master sequencer keeps asserting the bRdyOut_L signal for the required clock. In the case of burst transfer, the first bRdyO
At the timing of the assertion of the out_L signal, bBurst
Assert the AckOut_L signal for 1 BBus clock. In addition, the start of data transfer is indicated by BSDataRq.
The (N) signal indicates that data transfer has been completed by bMLastDat
The signal a is transmitted to the BBus data controller. BB
The movement of data from us to Fifo or from Fifo to BBus is performed by the BBus data controller.

【0342】3.BBusデータ転送終了 転送終了を示す信号は特にない。bErrorOut_
L信号をアサートすることもない。ただし、bSEna
ble(N)信号がネゲートしていれば、マスタのアク
セスに対して、応答しないので、タイムアウトによるバ
スエラーが発生する。
[0342] 3. BBus data transfer end There is no particular signal indicating transfer end. bErrorOut_
There is no assertion of the L signal. However, bSEna
If the ble (N) signal is negated, there is no response to the master's access, and a bus error due to timeout occurs.

【0343】[BBusスレーブ動作(レジスタアクセ
ス)]GBI及び機能ブロック内のレジスタのアクセス
はBBusから行う。レジスタのアクセスについては、
GBIのモードや状態によらず、いつでもアクセス可能
である。bRetryOut_L、bErrorOut
_L信号をアサートすることはない。マスタのバースト
モードの要求に対して、いつでもシングル転送で応答す
る(bBurstAckOut_L信号をアサートしな
い)。
[BBus Slave Operation (Register Access)] The GBI and registers in the functional blocks are accessed from the BBus. For register access,
It can be accessed at any time regardless of the GBI mode or state. bRetryOut_L, bErrorOut
It does not assert the _L signal. A single transfer always responds to the master's burst mode request (does not assert the bBurstAckOut_L signal).

【0344】レジスタコントローラ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)をアサー
トする。
[0344] The register controller 9206 stores the reg
Start_L, regAddr [31: 2], byt
eEnIn [3: 0], regWr_L signal (BBus
Signal that was hit with the BBus clock)
If writing to a register, bDataIn [3
1: 0] signal, and the Ack signal (GBI
Then, in regGbiAck_L, IFbus, re
gIfAck_L) is asserted. In the case of reading from a register, data is transferred to an internal bus (in the GBI, re
gGbiDataOut [31: 0], in IFBus, regIfDataOut [31: 0], and the Ack signal (regGbiAck_ in GBI).
L, IFBus asserts (regIfAck_L).

【0345】BBusスレーブジェネレートレディで、
Ack信号からbRdyOut_Lを作る。
In the BBus slave generate ready,
Create bRdyOut_L from the Ack signal.

【0346】(GBIのレジスタアクセス以外のBBu
sのサイクル)GBIのスレーブモードでは、シングル
転送のサイクルはいつも3BBusクロックである。バ
ースト転送は、シングル転送と同じタイミングで、最初
のbRdyOut_L信号をアサートし、その後ネゲー
トすることなしに必要なクロック分アサートを続ける。
転送(シングルとバースト)ができない場合は、最初の
bRdyOut_Lをアサートするタイミングで、bR
etryOut_Lだけアサートする。
(BBu other than GBI register access)
(cycle of s) In the GBI slave mode, the cycle of the single transfer is always 3 BBus clocks. In the burst transfer, the first bRdyOut_L signal is asserted at the same timing as the single transfer, and thereafter, the assertion continues for the necessary clock without being negated.
When transfer (single and burst) cannot be performed, bRdyOut_L is asserted at the first timing, bRdyOut_L is asserted.
Assert only entryOut_L.

【0347】(BBusスレーブジェネレートレディブ
ロック)BBusスレーブジェネレートレディブロック
は、BBusスレーブシーケンサからのChannel
Rdy_L信号と、GBIレジスタユニットからのre
gGbiAck_L信号と機能ブロック(IFBus)
からのregIfAck_L信号をORして、クロック
で叩く。
(BBus Slave Generate Ready Block) The BBus slave generate ready block is a Channel from the BBus slave sequencer.
The Rdy_L signal and re from the GBI register unit
gGbiAck_L signal and functional block (IFBus)
OR the regIfAck_L signal from, and hit with the clock.

【0348】(IFBusインターフェース)IFBu
sは、GBIと機能ブロックを接続する簡単なバスであ
る。クロックは、bClk(50MHz)を使用する。
ここでいう入力信号とは、機能ブロックからGBIへの
方向の信号である。双方向信号はない。以下にIFBu
sの信号について説明する。“_L”で終わる信号名
は、ローアクティブであることを示す。これは、すでに
説明した部分においても同様である。なお、実際のイン
プリメンテーションでは、信号名の“if”は機能ブロ
ックの名前に置き換える。
(IFBus Interface) IFBu
s is a simple bus connecting GBI and functional blocks. The clock uses bClk (50 MHz).
The input signal here is a signal in the direction from the functional block to the GBI. There are no bidirectional signals. IFBu below
The signal of s will be described. A signal name ending with "_L" indicates that it is low active. This is the same for the part already described. In an actual implementation, “if” of the signal name is replaced with the name of the functional block.

【0349】・ifRst0_L(チャネル0),if
Rst1_L(チャネル1)(出力) IFBusのリセット信号である。この信号により、I
FBusの状態を初期状態に戻す。GBIの内部レジス
タにより、アサートされる。GBIと機能ブロックとの
転送に先立って、必ずアサートする。
• ifRst0_L (channel 0), if
Rst1_L (channel 1) (output) This is an IFBus reset signal. With this signal, I
Return the state of the FBus to the initial state. Asserted by the GBI internal register. It must be asserted before the transfer between the GBI and the functional block.

【0350】・ifDataOutB[63:0](入
力:チャネル0のみ) 機能ブロックからGBIへのデータ信号である。この信
号は、Fifoユニット0に接続されている(図93参
照)。
IfDataOutB [63: 0] (input: channel 0 only) This is a data signal from the functional block to the GBI. This signal is connected to the Fifo unit 0 (see FIG. 93).

【0351】・ifWriteB(入力:チャネル0の
み) 機能ブロックからGBIへのライト信号である。GBI
は、ifWrite信号がアサートされているifCl
kの立ち上がりで、ifDataOut[63:0]を
書き込む。ifWriteB信号をアサートし続けるこ
とで、1クロック単位でデータがライトできる。この信
号は、Fifoユニット0に接続されている(図93参
照)。
IfWriteB (input: channel 0 only) This is a write signal from the functional block to the GBI. GBI
Is the ifCl signal for which the ifWrite signal is asserted.
At the rise of k, ifDataOut [63: 0] is written. By continuing to assert the ifWriteB signal, data can be written in units of one clock. This signal is connected to the Fifo unit 0 (see FIG. 93).

【0352】・ifWriteEnableG(出力:
チャネル0のみ) 機能ブロックからGBIへのライト許可信号である。i
fClkの立ち上がりで、ifWriteEnable
G信号がアサートされていれば、次のクロックの立ち上
がりで、ライト可能であることを示す。ifWrite
B信号のアサートは、ifWriteEnableG信
号を確認して行う。この信号は、Fifoユニット0か
ら出力される。
• ifWriteEnableG (output:
(Only channel 0) This is a write permission signal from the functional block to the GBI. i
at the rise of fClk, ifWriteEnable
If the G signal is asserted, it indicates that writing is possible at the next rising edge of the clock. ifWrite
The assertion of the B signal is performed after confirming the ifWriteEnableG signal. This signal is output from the Fifo unit 0.

【0353】・ifDataInG[63:0],if
ByteEnG[7:0](出力:チャネル1のみ) GBIから機能ブロックへのデータとバイトイネーブル
信号である。この信号は、Fifoユニット1に接続さ
れている。表8に信号ifByteEnG[7:0]の
各桁とifDataInG[63:0]の各バイトユニ
ットとの対応を示す。
• ifDataInG [63: 0], if
ByteEnG [7: 0] (output: channel 1 only) Data and byte enable signal from GBI to functional block. This signal is connected to the Fifo unit 1. Table 8 shows the correspondence between each digit of the signal ifByteEnG [7: 0] and each byte unit of ifDataInG [63: 0].

【0354】[0354]

【表8】 [Table 8]

【0355】・ifRead(入力:チャネル1のみ) GBIから機能ブロックへのリード信号である。GBI
は、ifRead信号がアサートされているifClk
の立ち上がりで、ifDataInG[63:0]とi
fByteEnG[7:0]を出力する。ifRead
信号をアサートし続けることで、1クロック単位でデー
タがリードできる。この信号は、Fifoユニット1に
接続されている。
• ifRead (input: channel 1 only) This is a read signal from GBI to the functional block. GBI
Is the ifClk for which the ifRead signal is asserted
Rises, ifDataInG [63: 0] and i
Output fByteEnG [7: 0]. ifRead
By continuing to assert the signal, data can be read in units of one clock. This signal is connected to the Fifo unit 1.

【0356】・ifReadEnableG(出力:チ
ャネル1のみ) GBIから機能ブロックへのリード許可信号である。i
fClkの立ち上がりで、ifReadEnableG
信号がアサートされていれば、次のクロックの立ち上が
りで、リード可能であることを示す。ifRead信号
のアサートは、ifReadEnableG信号を確認
して行う。この信号は、Fifoユニット1から出力さ
れる。
IfReadEnableG (output: channel 1 only) This is a read permission signal from the GBI to the function block. i
at the rising edge of fClk, ifReadEnableG
If the signal is asserted, it indicates that reading is possible at the next rising edge of the clock. The assertion of the ifRead signal is performed after confirming the ifReadEnableG signal. This signal is output from the Fifo unit 1.

【0357】・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コントローラから出力される。
IfRegStart_L (common to channel) (output) This signal is a signal obtained by hitting bStart_L of the BBus with a clock. ifRegAddr [31: 2] signal, ifRe
gRdNotWr signal ifByteEn_L [3: 0]
It is asserted for one clock with the signal. In the case of writing to the internal register of the functional block, the signal if
RegDataIn [31: 0] is also valid.
In the functional block, the address is checked when ifRegStart_L is asserted. If access to an internal register of the functional block is performed, ifRegAc_L is accessed.
Responds with k_L signal. Otherwise, the next ifRe
Wait for gStart_L to be asserted. This signal is BB
output from the us controller.

【0358】・ifRegAddr[31:2](チャ
ネル共通)(出力) BBusのbAddr[31:2]をクロックで叩いた
アドレス信号である。信号ifRegStart_Lア
サートと同時に有効となり、機能ブロックの内部レジス
タへのアクセスであれば、ifRegAck_L信号で
応答する間で有効である。この信号は、BBusコント
ローラから出力される。
IfRegAddr [31: 2] (common to channel) (output) This is an address signal obtained by hitting bAddr [31: 2] of BBus with a clock. The signal becomes valid at the same time as the assertion of the signal ifRegStart_L, and is effective during the response to the ifRegAck_L signal when accessing the internal register of the functional block. This signal is output from the BBus controller.

【0359】・ifRegByteEn[3:0](チ
ャネル共通)(出力) BBusのbyteEn_L[3:0]をクロックで叩
いたバイトイネーブル信号である。信号ifRegSt
art_Lアサートと同時に有効となり、機能ブロック
の内部レジスタへのアクセスであれば、ifRegAc
k_L信号で応答する間で有効である。機能ブロックの
内部レジスタへの書き込みの場合には、この信号で示さ
れた有効なバイトのみ書き込みを行う。機能ブロックの
内部レジスタからの読み出しの場合には、この信号は無
視され、全バイト出力される。この信号は、BBusコ
ントローラから出力される。表9に、信号ifRegB
yteEn[3:0]の各桁と信号ifRegData
InG[31:0]の各バイトユニットとの対応を示
す。
IfRegByteEn [3: 0] (common to channel) (output) This is a byte enable signal obtained by hitting byteEn_L [3: 0] of the BBus with a clock. Signal ifRegSt
It becomes effective at the same time as the assertion of the "art_L" signal.
It is effective while responding with the k_L signal. When writing to an internal register of a functional block, only valid bytes indicated by this signal are written. In the case of reading from the internal register of the functional block, this signal is ignored and all bytes are output. This signal is output from the BBus controller. Table 9 shows the signal ifRegB
Each digit of yteEn [3: 0] and signal ifRegData
The correspondence with each byte unit of InG [31: 0] is shown.

【0360】[0360]

【表9】 [Table 9]

【0361】・ifRegRdNotWr(チャネル共
通)(出力) BBusのbWr_Lをクロックで叩いた信号で、機能
ブロックの内部レジスタへのアクセスの方向を示す。ハ
イで、機能ブロックの内部レジスタの内容が信号ifR
eqDataOut[31:0]に出力され、ローで、
ifReqDataIn[31:0]のデータが、機能
ブロックの内部レジスタに書き込まれる。信号ifRe
gStart_Lアサートと同時に有効となり、機能ブ
ロックの内部レジスタへのアクセスであれば、ifRe
gAck_L信号で応答する間で有効である。この信号
は、BBusコントローラから出力される。
IfRegRdNotWr (common to channel) (output) This signal is a signal obtained by tapping bWr_L of the BBus with a clock, and indicates the direction of access to the internal register of the functional block. When high, the contents of the internal register of the functional block
output to eqDataOut [31: 0], low,
The data of ifReqDataIn [31: 0] is written to the internal register of the functional block. Signal ifRe
It becomes valid at the same time as the gStart_L assertion.
It is valid while responding with the gAck_L signal. This signal is output from the BBus controller.

【0362】・ifRegAck_L(チャネル共通)
(入力) 機能ブロックが内部レジスタへのアクセスを完了したこ
とを示す信号である。信号ifRegStart_Lが
アサートされた時点で、アドレスをチェックし、機能ブ
ロックの内部レジスタへのアクセスであれば、レジスタ
のリードあるいはライトを行い、必ず、1クロックだけ
アサートする。機能ブロックの内部レジスタへのアクセ
スでない場合には、決してアサートしてはいけない。こ
の信号は、BBusコントローラに接続される。
IfRegAck_L (common to channels)
(Input) This signal indicates that the function block has completed access to the internal register. When the signal ifRegStart_L is asserted, the address is checked, and if the internal register of the functional block is accessed, the register is read or written, and the signal is always asserted for one clock. If it is not an access to the internal register of the functional block, it must never be asserted. This signal is connected to the BBus controller.

【0363】・ifRegDataOut[31:0]
(チャネル共通)(入力) 機能ブロックの内部レジスタの内容が読み出されるデー
タバス信号である。信号ifRegAck_L信号がア
サートされているときに有効でなければいけない。この
信号は、BBusコントローラに接続される。
• ifRegDataOut [31: 0]
(Common to channel) (Input) This is a data bus signal from which the contents of the internal register of the functional block are read. Must be valid when the signal ifRegAck_L is asserted. This signal is connected to the BBus controller.

【0364】・ifRegDataIn[31:0]
(チャネル共通)(出力) 機能ブロックの内部レジスタに書き込まれるデータを示
すバス信号である。信号ifRegStart_Lアサ
ートと同時に有効となり、機能ブロックの内部レジスタ
へのアクセスであれば、ifRegAck_L信号で応
答する間で有効である。この信号は、BBusコントロ
ーラから出力される。
IfRegDataIn [31: 0]
(Common to channel) (Output) This is a bus signal indicating data to be written to the internal register of the functional block. The signal becomes valid at the same time as the assertion of the signal ifRegStart_L, and is effective during the response to the ifRegAck_L signal when accessing the internal register of the functional block. This signal is output from the BBus controller.

【0365】・IfDmaPmState[1:0]
(チャネル共通)(出力) GBIの動作状態を示す信号。この出力は常に有効であ
る。機能ブロックは、この信号と機能ブロック自身の動
作状態を基に、パワーマネージメントユニットへのパワ
ーマネージメントステータス信号を生成する。この信号
は、レジスタユニットから出力される。どのような値が
出力されるかは、後述のパワーマネジメントの項で説明
する。
IfDmaPmState [1: 0]
(Common to channel) (output) A signal indicating the operating state of the GBI. This output is always valid. The function block generates a power management status signal to the power management unit based on this signal and the operation state of the function block itself. This signal is output from the register unit. The output value will be described later in the section on power management.

【0366】(DMAコントローラ)GBIには、チャ
ネル0と1に、それぞれ図96のようなDMAコントロ
ーラ9205が存在する。
(DMA Controller) In the GBI, DMA controllers 9205 as shown in FIG. 96 exist for channels 0 and 1, respectively.

【0367】DMAコントローラは、DMAメインコン
トローラ、フェッチチェインテーブル、カルキュレート
ピッチアドレス、ジェネレートアドレス、DMAリクエ
ストの各部ロックから成る。
The DMA controller comprises a DMA main controller, a fetch chain table, a calculated pitch address, a generate address, and a lock for each part of the DMA request.

【0368】レジスタユニット9206からは、表10
の信号によりDMAのモードが伝えられる。
From the register unit 9206, Table 10
The mode of DMA is transmitted by this signal.

【0369】[0369]

【表10】 [Table 10]

【0370】次に、DMAコントローラの各部ロックに
ついて説明する。
Next, each part lock of the DMA controller will be described.

【0371】[DMAメインコントローラ]DMAメイ
ンコントローラは、他の4つのブロックの起動と停止の
制御をする。チェーンテーブル方式のDMAでは、フェ
ッチチェインテーブル、ジェネレートアドレス、DMA
リクエストの順に、ブロックを1クロックずつずらして
起動する。ピッチ付きのDMAでは、カルキュレートピ
ッチアドレス、ジェネレートアドレス、DMAリクエス
トの順に、ブロックを1クロックずつずらして起動す
る。その他の場合には、ジェネレートアドレスとDMA
リクエストを1クロックずらして起動する。
[DMA Main Controller] The DMA main controller controls the start and stop of the other four blocks. In the chain table type DMA, the fetch chain table, the generate address, the DMA
The blocks are started by shifting the clock by one clock in the order of the requests. In a pitch-added DMA, blocks are started up by shifting one clock at a time in the order of a calculated pitch address, a generate address and a DMA request. Otherwise, generate address and DMA
Activate the request with one clock delay.

【0372】また、DMAメインコントローラはDMA
の終了を判定する。フェッチチェインテーブルがアイド
ル状態(チェーンテーブルをすべて読み終わったか、あ
るいは起動されていない)かつ、カルキュレートピッチ
アドレスがアイドル状態(全ライン終わったか、あるい
は起動されていない)でのジェネレートアドレスのNe
xtAddreReq信号のアサート(レングスカウン
タがゼロになる)、あるいはバスエラー、stopDM
A信号のアサート(レジスタによるDMA強制終了)を
検出すると、DMAメインコントローラが各ブロック
に、stopDMAReq信号をアサートする。すべて
のブロックがアイドル状態になった時点で、DMAの終
了と判定する(endDMAをアサートする)。
The DMA main controller is a DMA main controller.
Is determined. When the fetch chain table is in an idle state (the chain table has been completely read or not activated) and the calculated pitch address is in an idle state (all lines have been completed or not activated), the Ne of the generated address is Ne.
assertion of xtAddReReq signal (length counter becomes zero) or bus error, stopDM
Upon detecting the assertion of the A signal (DMA forced termination by the register), the DMA main controller asserts the stopDMAReq signal to each block. When all the blocks are in the idle state, it is determined that the DMA is completed (endDMA is asserted).

【0373】[フェッチチェインテーブル]フェッチチ
ェインテーブルは、メモリ上のテーブルをフェッチする
ブロックで、チェーンテーブルを使わない場合は起動さ
れない。チェーンテーブルを指すメモリアドレスのため
のチェインテーブルポインタアドレスカウンタ、チェー
ンテーブルの残りのエントリ数を示すチェインテーブル
エントリカウンタ、チェーンテーブルからフェッチした
アドレスとレングスを記憶するネクストアドレスレジス
タ、ネクストレンクスレジスタ、およびこれらを制御す
るフェッチチェインテーブルコントローラから成る。
[Fetch Chain Table] The fetch chain table is a block for fetching a table on the memory, and is not activated when the chain table is not used. A chain table pointer address counter for a memory address pointing to the chain table, a chain table entry counter indicating the number of remaining entries in the chain table, a next address register storing addresses and lengths fetched from the chain table, a next length register, and It comprises a fetch chain table controller for controlling these.

【0374】DMAメインコントローラから起動される
と、レジスタの内容がチェインテーブルポインタアドレ
スとチェインテーブルエントリカウンタにロードされ
る。chainReq信号により、BBusコントロー
ラにアドレスchainAddress[31:2]の
フェッチを要求する。BBusコントローラからのch
ainDone信号(正常終了)で、読み出した内容を
ネクストアドレスレジスタにラッチし、チェインテーブ
ルポインタアドレスカウンタをインクリメントする。B
Busコントローラから、ChainRtry信号(リ
トライ)が返ってくれば、再び、同じ要求をBBusコ
ントローラに対して発行する。
When activated by the DMA main controller, the contents of the register are loaded into the chain table pointer address and the chain table entry counter. A request for fetching the address chainAddress [31: 2] is made to the BBus controller by the chainReq signal. Ch from BBus controller
With the ainDone signal (normal end), the read contents are latched in the next address register, and the chain table pointer address counter is incremented. B
When a ChainRtry signal (retry) is returned from the Bus controller, the same request is issued again to the BBus controller.

【0375】ネクストアドレスレジスタのラッチ後に、
BBusコントローラにアドレスchain Addr
ess[31:2]のフェッチを要求する。Chain
Done信号で、読み出した内容をネクストレンクスレ
ジスタにラッチし、チェインテーブルポインタアドレス
カウンタをインクリメントし、チェインテーブルエント
リカウンタをデクリメントする。同時に、nextAd
drValid信号をアサートし、チェーンテーブルか
らアドレスとレングスを読み出したことを、ジェネレー
トアドレスブロックに伝える。
After latching the next address register,
Address Chain Addr to BBus controller
Request fetch of esss [31: 2]. Chain
In response to the Done signal, the read content is latched in the next register, the chain table pointer address counter is incremented, and the chain table entry counter is decremented. At the same time, nextAd
Assert the drValid signal and notify the generated address block that the address and length have been read from the chain table.

【0376】もし、ネクストレンクスレジスタのラッチ
時のデータがゼロである場合には、ネクストアドレスレ
ジスタの内容がチェインテーブルポインタアドレスカウ
ンタにロードされる。
If the data at the time of latching the next register is zero, the contents of the next address register are loaded into the chain table pointer address counter.

【0377】nextAddrValid信号のアサー
ト中に、ジェネレートアドレスブロックからNextA
ddrReq信号がアサートされるとジェネレートアド
レスブロックが、チェーンテーブルからのアドレス、レ
ングスを受け取ったと判断し、nextAddrVal
id信号をネゲートする。
During the assertion of the nextAddrValid signal, the NextA
When the ddrReq signal is asserted, the generate address block determines that the address and length from the chain table have been received, and nextAddrVal
Negate the id signal.

【0378】次に、チェインテーブルエントリカウンタ
をチェックし、ゼロでなければ、再度チェーンテーブル
のフェッチを続け、ゼロであればアイドル状態へ戻る。
Next, the chain table entry counter is checked. If it is not zero, the fetch of the chain table is continued again. If it is zero, the process returns to the idle state.

【0379】chainBErr信号(バスエラー)を
受け取ると、直ちにアイドル状態へ戻る。 DMAメイ
ンコントローラからstopDMAReqを受け取った
場合、BBusコントローラに要求を出していれば、そ
の終了を待って、そうでなければ直ちにアイドル状態へ
戻る。
When the chain BErr signal (bus error) is received, it immediately returns to the idle state. When the stopDMAReq is received from the DMA main controller, if a request has been issued to the BBus controller, the end is waited for, and if not, the operation immediately returns to the idle state.

【0380】チェーンテーブルを使わないモードの時に
は、起動されないので、アイドル状態を保ち、next
AddrValid信号はネゲートされたままである。
In the mode in which the chain table is not used, since it is not started, the idle state is maintained and next
The AddrValid signal remains negated.

【0381】[ジェネレートアドレス]ジェネレートア
ドレスブロックは、メモリに対する転送アドレスを格納
するトランスファメモリアドレスカウンタと、転送すべ
き転送長を格納するトランスファレンクスカウンタと、
転送したバイト数を記憶するトランスファカウンタと、
これら3つのカウンタを制御するジェネレートアドレス
コントローラと、転送アドレスと転送長からGBus/
BBusに対して要求するモードを判定するCheck
GBusReq及びCheckBBusReqブロック
(CheckG/BBusReqと総称する)を有す
る。
[Generate Address] The generate address block includes a transfer memory address counter for storing a transfer address for the memory, a transfer length counter for storing a transfer length to be transferred,
A transfer counter for storing the number of transferred bytes,
A generate address controller that controls these three counters, and a GBus /
Check for determining the mode requested for BBus
It has a GBusReq and a CheckBBusReq block (collectively referred to as CheckG / BBusReq).

【0382】(チェーンテーブルを使う場合)DMAメ
インコントローラから起動されると、トランスファカウ
ンタをクリアし、フェッチチェインテーブルからのne
xtValidAddrCT信号待ちに入る。next
ValidAddrCT信号がアサートされると、チェ
ーンテーブルのアドレスとレングスが、それぞれトラン
スファメモリアドレスカウンタとトランスファレンクス
カウンタにロードされる。
(When a chain table is used) When activated by the DMA main controller, the transfer counter is cleared and ne
It waits for the xtValidAddrCT signal. next
When the ValidAddrCT signal is asserted, the address and length of the chain table are loaded into the transfer memory address counter and the transfer length counter, respectively.

【0383】両カウンタの内容で、CheckG/BB
usReqは転送できるモードを判定する。
CheckG / BB is determined by the contents of both counters.
usReq determines a transferable mode.

【0384】CheckG/BBusReqからDMA
リクエストブロックにG/BBusの転送モードを伝え
(転送不可の時にはg/b Valid信号がネゲート
されている)、DMAリクエストブロックは、GBus
優先で各バスコントローラに転送要求を発行する。
CheckG / BBusReq to DMA
The transfer mode of G / BBus is transmitted to the request block (when transfer is not possible, the g / b Valid signal is negated).
A transfer request is issued to each bus controller with priority.

【0385】GBusでの転送では、gMDone信号
(GBus転送終了信号)とその時の転送モードによ
り、一度にトランスファメモリアドレスカウンタ、トラ
ンスファカウンタのインクリメントとトランスファレン
クスカウンタのデクリメントを行う。BBusでの転送
では、FIFOのアクセス信号により、トランスファメ
モリアドレスカウンタのインクリメントとトランスファ
レンクスカウンタのデクリメントを行う。
In the transfer by the G bus, the transfer memory address counter and the transfer counter are incremented and the transfer counter is decremented at a time by the gMDone signal (the G bus transfer end signal) and the transfer mode at that time. In the transfer on the B bus, the transfer memory address counter is incremented and the transfer counter is decremented by an access signal of the FIFO.

【0386】トランスファレンクスカウンタがゼロにな
った時、フェッチチェインテーブルからのnextVa
lidAddrCT信号がネゲートされていれば、アサ
ートを待って、次のチェーンテーブルの内容をトランス
ファメモリアドレスカウンタとトランスファレンクスカ
ウンタにロードし、そうでなければ、直ちにロードす
る。そして、次の転送に入る。
When the transfer counter becomes zero, the next Va from the fetch chain table is read.
If the lidAddrCT signal is negated, it waits for an assert, and loads the contents of the next chain table into the transfer memory address counter and the transfer counter, otherwise loads immediately. Then, the next transfer is started.

【0387】チェーンテーブルの最後の部分の転送が終
わってトランスファレンクスカウンタがゼロになった時
には、フェッチチェインテーブルはアイドル状態で、n
extValidAddrCT信号はネゲートされてい
る。DMAメインコントローラはDMAの終了を検出す
るので、ジェネレートアドレスに対してstopDMA
Req信号をアサートする。これによりジェネレートア
ドレスはアイドル状態となる。
When the transfer counter has reached zero after the transfer of the last part of the chain table has been completed, the fetch chain table is in an idle state and n
The extValidAddrCT signal is negated. Since the DMA main controller detects the end of the DMA, the stop main DMA
Assert the Req signal. As a result, the generate address enters an idle state.

【0388】(ピッチ付きのDMAを使う場合)DMA
メインコントローラから起動されると、トランスファカ
ウンタをクリアし、カルキュレートピッチアドレスから
のnextValidAddrPA信号待ちに入る。n
extValidAddrPA信号がアサートされる
と、スタートアドレスとピッチから計算されたアドレス
とレングスが、それぞれトランスファメモリアドレスカ
ウンタとトランスファレンクスカウンタにロードされ
る。
(When Using DMA with Pitch) DMA
When activated by the main controller, the transfer counter is cleared and the process waits for the next ValidAddrPA signal from the calculated pitch address. n
When the extValidAddrPA signal is asserted, the address and the length calculated from the start address and the pitch are loaded into the transfer memory address counter and the transfer length counter, respectively.

【0389】チェーンテーブルを使う時と同様に、トラ
ンスファメモリアドレスカウンタ、トランスファカウン
タのインクリメントとトランスファレンクスカウンタの
デクリメントが行われる。
As in the case of using the chain table, the transfer memory address counter and the transfer counter are incremented, and the transfer counter is decremented.

【0390】トランスファレンクスカウンタがゼロにな
った時、カルキュレートピッチアドレスからのnext
ValidAddrPA信号がネゲートされていれば、
アサートを待って、次のチェーンテーブルの内容をトラ
ンスファメモリアドレスカウンタとトランスファレンク
スカウンタにロードし、そうでなければ直ちにロードす
る。そして次の転送に入る。
When the transfer counter reaches zero, the next from the calculated pitch address
If the ValidAddrPA signal is negated,
Upon assertion, the contents of the next chain table are loaded into the transfer memory address counter and the transfer counter, otherwise immediately. Then, the next transfer is started.

【0391】最後のラインの転送が終わってトランスフ
ァレンクスカウンタがゼロになった時には、カルキュレ
ートピッチアドレスはアイドル状態で、nextVal
idAddrPA信号はネゲートされている。DMAメ
インコントローラはDMAの終了を検出するので、ジェ
ネレートアドレスに対してstopDMAReq信号を
アサートする。これによりジェネレートアドレスはアイ
ドル状態となる。
When the transfer counter becomes zero after the transfer of the last line is completed, the calculated pitch address is in the idle state and nextVal
The idAddrPA signal is negated. Since the DMA main controller detects the end of the DMA, it asserts the stopDMAReq signal for the generate address. As a result, the generate address enters an idle state.

【0392】(対I/ODMAの場合)DMAメインコ
ントローラから起動されると、トランスファカウンタが
クリアされ、データ長を格納したGBIDMA転送長レ
ジスタの内容がトランスファレンクスカウンタにロード
される。CheckGBusReq/CheckBBu
sReq各ブロックは、対I/OのDMAアドレスを格
納したGBIDMAGBusI/Oアドレスレジスタ/
GBIDMABBusI/Oアドレスレジスタの内容を
それぞれ用いる。
(In the case of I / ODMA) When activated by the DMA main controller, the transfer counter is cleared, and the contents of the GBIDMA transfer length register storing the data length are loaded into the transfer counter. CheckGBusReq / CheckBBu
Each block of the sReq is a GBIDGMGBus I / O address register storing a DMA address of the I / O.
The contents of the GBIDDMAB Bus I / O address register are used.

【0393】上と同様に、トランスファカウンタのイン
クリメントとトランスファレンクスカウンタのデクリメ
ントが行われる。
Similarly to the above, the transfer counter is incremented and the transfer counter is decremented.

【0394】トランスファレンクスカウンタがゼロにな
った時、フェッチチェインテーブルとカルキュレートピ
ッチアドレスは起動されていないので、アイドル状態
で、nextValidAddr信号はネゲートされて
いる。DMAメインコントローラはDMAの終了を検出
するので、ジェネレートアドレスに対してstopDM
AReq信号をアサートする。これによりジェネレート
アドレスはアイドル状態となる。
When the transfer counter becomes zero, the fetch chain table and the calculated pitch address have not been activated, so that the next ValidAddr signal is negated in the idle state. Since the DMA main controller detects the end of the DMA, the stop main DMA
Assert the AReq signal. As a result, the generate address enters an idle state.

【0395】(リバースモード)対I/ODMA以外は
リバースモードをサポートする。チェーンテーブルDM
Aの1ブロック、ピッチ付きのDMAの1ラインを、ア
ドレスの大きい方から小さい方へアクセスする。ブロッ
クあるいはライン単位の逆方向の指示は、チェーンテー
ブルDMAではチェーンテーブルを逆になるように作
る。ピッチ付きのDMAの場合は、ピッチの値を負の値
(2の補数)を設定する。
(Reverse Mode) The reverse mode is supported except for the paired I / ODMA. Chain table DM
One block of A and one line of DMA with pitch are accessed from the larger address to the smaller address. An instruction in the reverse direction for each block or line is made in the chain table DMA so that the chain table is reversed. In the case of a DMA with a pitch, the pitch value is set to a negative value (two's complement).

【0396】リバースモードでは、トランスファメモリ
アドレスカウンタに値をロードする際に、転送レングス
を用いて、最後尾のアドレスを計算してロードする。ト
ランスファメモリアドレスカウンタのインクリメントの
代わりにデクリメントする。
In the reverse mode, when loading a value into the transfer memory address counter, the last address is calculated and loaded using the transfer length. Decrement instead of incrementing the transfer memory address counter.

【0397】CheckBBusReqブロックではシ
ングル転送のみを要求する。CheckGBusReq
ブロックでは4ビートバースト転送のみを要求する。F
ifoユニットで、32ビット単位で逆順にして、機能
ブロックに送られる(現状では、チャネル1のみ対応す
る)。
The CheckBBusReq block requests only a single transfer. CheckGBusReq
The block requests only 4-beat burst transfer. F
In the ifo unit, the data is sent to the functional block in reverse order in units of 32 bits (currently, only channel 1 is supported).

【0398】(GBus要求のチェック)CheckG
BusReqブロックではGBus要求のチェックが行
われる。信号useGBusがアクティブでなければ常
に信号gValidはネゲートされている。
(Check of GBus Request) CheckG
In the BusReq block, a GBus request is checked. The signal gValid is always negated unless the signal useGBus is active.

【0399】トランスファメモリアドレスのビット6以
下がすべてゼロで、かつトランスファレンクスが128
以上の時、信号gValidがアサート、g4Not1
6Req=’0’となり、トランスファメモリアドレス
のビット4以下がすべてゼロで、かつトランスファレン
クスが32以上の時、信号gValidがアサート、g
4Not16Req=’1’となる。それ以外では、信
号gValidはネゲートされる。
[0399] Bits 6 and lower of the transfer memory address are all zero, and the transfer length is 128.
At this time, the signal gValid is asserted and g4Not1
6Req = '0', when bits 4 and below of the transfer memory address are all zero and the transfer length is 32 or more, the signal gValid is asserted, and g
4Not16Req = '1'. Otherwise, the signal gValid is negated.

【0400】(BBus要求のチェック)CheckB
BusReqブロックではBBus要求のチェックが行
われる。信号useBBusがアクティブでなければ常
に信号bValidはネゲートされている。
(Check of BBus Request) CheckB
In the BusReq block, a BBus request is checked. The signal bValid is always negated unless the signal useBBus is active.

【0401】トランスファメモリアドレスのビット4以
下がすべてゼロで、かつトランスファレンクスが29以
上の時、信号bValidがアサート、bBurstR
eq=’1’、b4Not8Req=’0’となり、ト
ランスファメモリアドレスのビット3以下がすべてゼロ
で、かつトランスファレンクスが13以上の時、bVa
lidがアサート、信号bBurstReq=’1’、
b4Not8Req=’1’となる。それ以外では、b
Validがアサート、bBurstReq=’0’と
なる。
When bits 4 and below of the transfer memory address are all zero and the transfer length is 29 or more, the signal bValid is asserted and bBurstR
When eq = “1” and b4Not8Req = “0”, and when bits 3 and below of the transfer memory address are all zero and the transfer index is 13 or more, bVa
lid is asserted, signal bBurstReq = '1',
b4Not8Req = '1'. Otherwise, b
Valid is asserted, and bBurstReq = '0'.

【0402】(DMAリクエスト)DMAメインコント
ローラから起動されると、ジェネレートアドレスブロッ
クからのGBus/BBusに対する要求をチェックす
る。G/BBusの両方の要求がある場合には、常にG
Busが優先となる。この要求に従い、GBusコント
ローラかBBusコントローラに転送要求を発行し、応
答を待つ。応答は、g/bMDone、g/bMRtr
yあるいは、g/bMBErrのいずれかの信号であ
る。
(DMA Request) When activated by the DMA main controller, a request for a GBus / BBus from the generate address block is checked. When there are both G / BBus requests, G
Bus has priority. According to this request, a transfer request is issued to the Gbus controller or the BBus controller, and a response is waited. The response is g / bMDone, g / bMRtr
The signal is either y or g / b MBErr.

【0403】g/bMDoneの場合は転送の正常終了
であり、次のジェネレートアドレスからのGBus/B
Busに対する要求をチェックする。
In the case of g / bMDone, transfer is normally completed, and GBus / B from the next generate address
Check the request for Bus.

【0404】g/bMRtryの場合は同じバスコント
ローラに再度転送要求を発行する。
In the case of g / bMRtry, a transfer request is issued again to the same bus controller.

【0405】g/bMBErrの場合には直ちにアイド
ル状態に戻る。
In the case of g / bMBErr, the operation immediately returns to the idle state.

【0406】最後の転送が終了した時には、DMAリク
エストブロックは、ジェネレートアドレスからのGBu
s/BBusに対して要求待ち状態となる。DMAメイ
ンコントローラがDMA終了を検出して、DMAリクエ
ストに対してstopDMAReqが発行されるので、
それにより、DMARequestはアイドル状態に戻
る。
When the last transfer is completed, the DMA request block contains the GBu from the generate address.
s / BBus is in a request waiting state. Since the DMA main controller detects the end of DMA and issues stopDMAReq in response to the DMA request,
As a result, the DMA Request returns to the idle state.

【0407】また、チェーンテーブルフェッチ時のバス
エラーやレジスタによるDMA強制終了の場合も、DM
Aメインコントローラから、stopDMAReqが発
行されるが、バスコントローラに転送要求をしている時
は、転送終了を待って、要求していない時は直ちにアイ
ドル状態に戻る。
[0407] Also, in the case of a bus error at the time of fetching a chain table or a forced termination of DMA by a register, the DM
A StopDMAReq is issued from the A main controller. When a transfer request is issued to the bus controller, the transfer is waited for to be completed. When the transfer request is not issued, the bus controller immediately returns to the idle state.

【0408】(レジスタユニット)内部レジスタユニッ
ト内には、各チャネルに対応するレジスタユニットが存
在する。各ユニットは、デコードするアドレスが異なる
以外は同じである。レジスタユニットは図97に示すよ
うに、レジスタユニット0とレジスタユニット1とを有
する。
(Register Unit) In the internal register unit, there is a register unit corresponding to each channel. Each unit is the same except that the decoding address is different. The register unit has a register unit 0 and a register unit 1 as shown in FIG.

【0409】各レジスタユニットは、レジスタI/F、
アクションコントローラ、割り込みコントローラとパワ
ーステータスの各ブロックから構成される、GBIの各
ブロックに設定地値を供給するほか、割り込みコントロ
ーラによって割り込みを制御し、パワーステータスによ
り省電力可能なブロックを制御している。
Each register unit has a register I / F,
The GBI, which consists of an action controller, an interrupt controller, and a power status block, supplies a set ground value to each block of the GBI. The interrupt controller controls interrupts, and the power status controls power-saving blocks. .

【0410】[パワーステータス]GBIにおいて省電
力モード可能なユニットは、DMAコントローラとFI
FOユニットである。省電力モードはfifoInSl
eep信号、dmaInSleep信号により、各ブロ
ックのクロックをマスクすることで実現する。リセット
時は、ともに省電力モードに入る。DMAコントローラ
は、マスタモードで起動をかけると自動的に起動し、G
BIFIFOスリープレジスタのライトでスリープに入
る。
[Power Status] The units capable of the power saving mode in the GBI are the DMA controller and the FI
FO unit. The power saving mode is fifoInSl
This is realized by masking the clock of each block with the eep signal and the dmaInSleep signal. At the time of reset, both enter the power saving mode. The DMA controller starts automatically when it is started in the master mode.
Go to sleep by writing to the BIFIFO sleep register.

【0411】パワーステータスブロックから出力される
パワーマネージメントステータス信号(pmState
[1:0])は、各チャネルで、 pmState[1:0] 00 level0(DMA、FIFOともに停止) 01 level1(FIFOのみ動作) 10 level2(DMA、FIFOともに動作) 11 NotDefine となる。
The power management status signal (pmState) output from the power status block
[1: 0]) is pmState [1: 0] 00 level0 (stops both DMA and FIFO) 01 level1 (operates only FIFO) 10 level2 (operates both DMA and FIFO) 11 NotDefine in each channel.

【0412】DoEngineにおいては、スキャナコ
ントローラ(Scc)やプリンタコントローラ(Pr
c)が接続されるGBIは、1のチャネルしかないので
上のようになるが、2チャネル含む場合は各チャネルの
値を合計し、次のように4段階に縮退させる。
In DoEngine, a scanner controller (Scc) and a printer controller (Pr)
Since GBI to which c) is connected has only one channel, the GBI is as described above. When the GBI includes two channels, the values of each channel are summed and degenerated into four stages as follows.

【0413】 pmState[1:0] 00 level0 (両チャネルのFIFO、DMAがともに停止) 01 level1 (1チャネルのFIFOのみ動作) 10 level2 (両チャネルのFIFOが動作、DMAは両方停止) 11 level3 (両チャネルのFIFOが動作、DMAは1つは動作) となる。PmState [1: 0] 00 level0 (both channel FIFO and DMA are stopped) 01 level1 (only one channel FIFO is operated) 10 level2 (both channel FIFO is operated and DMA is both stopped) 11 level3 ( The FIFOs of both channels operate, and one of the DMAs operates).

【0414】パワーマネージメントステータス信号(p
mState[1:0])は、IFBusを介して機能
ブロックへ送られる。機能ブロックでは、この信号と機
能ブロック自身の動作状態を基に、パワーマネージメン
トユニットへのパワーマネージメントステータス信号を
生成する。
The power management status signal (p
mState [1: 0]) is sent to the functional block via IFBus. The function block generates a power management status signal to the power management unit based on this signal and the operation state of the function block itself.

【0415】(GBIの動作モード)以上、GBIを構
成する各部について説明した。ここで、GBIの動作に
ついてまとめておく。GBIの動作モードには、大きく
分けて以下のものがある。
(GBI Operation Mode) The components constituting the GBI have been described above. Here, the operation of the GBI will be summarized. The operation modes of the GBI are roughly classified into the following.

【0416】1.スレーブモード 2.マスタモード マスタモードにおけるDMAの方式は、 A.対メモリ B.対I/O(アドレス固定) があり、対メモリDMAでは、 a.連続物理アドレス b.不連続物理アドレス(転送先メモリがメモリ管理の
ページ単位で分割されていることを想定) のメモリに対して転送を行う。また、対メモリDMAで
は、逆方向モードもサポートする(チャネル1のみ)。
[0416] 1. Slave mode 2. Master Mode The DMA mode in the master mode is as follows. B. Memory There is I / O (fixed address), and in memory DMA: a. Contiguous physical address b. Data is transferred to a memory at a discontinuous physical address (assuming that the transfer destination memory is divided into memory management pages). In addition, the memory DMA also supports a backward mode (only channel 1).

【0417】連続物理アドレスに対するDMAは、先頭
アドレス、一行の長さ、次の行までのピッチ、及び行数
を指定する、いわゆる2次元DMAである。1次元の場
合は行数を1とすることで実現する。
[0417] The DMA for the continuous physical address is a so-called two-dimensional DMA that specifies the start address, the length of one line, the pitch to the next line, and the number of lines. The one-dimensional case is realized by setting the number of rows to one.

【0418】不連続物理に対するDMAは、分割された
各メモリブロックの先頭アドレスと長さをメモリ上に配
置し、それを参照しながら、転送先のアドレスを計算
し、DMAを行う。この先頭アドレスと長さの組をチェ
ーンテーブルと呼ぶことにする。チェーンテーブルの一
例を図98に示す。不連続物理アドレスに対するDMA
では、チェーンテーブルを配置したメモリアドレスとア
ドレス・長さの組の数を指定する。もちろん、チェーン
テーブル自体は連続アドレスに配置しなければならない
が、もし、全チェーンテーブルが連続領域に置けない場
合には、先頭のアドレスの代わりに次のチェーンテーブ
ルのアドレスを、長さに0を設定することで、チェーン
テーブルをつなぐことができる。
[0418] In the DMA for discontinuous physics, the start address and length of each divided memory block are arranged in the memory, and the transfer destination address is calculated while referring to the address, and DMA is performed. This set of the start address and the length is called a chain table. FIG. 98 shows an example of the chain table. DMA for discontinuous physical addresses
Then, the number of pairs of the memory address and the address / length in which the chain table is arranged is specified. Of course, the chain table itself must be located at a contiguous address, but if the entire chain table cannot be located in a contiguous area, the address of the next chain table is used instead of the first address, and 0 is set for the length. By setting, you can connect chain tables.

【0419】逆方向モードは、チェーンテーブルDMA
の1ブロック、2次元DMAの1ラインをアドレスの大
きい方から、小さい方へアクセスする。ブロックあるい
はライン単位の逆方向の指示は、チェーンテーブルDM
Aでは、チェーンテーブルを逆になるように作る。ピッ
チ付きのDMAの場合は、ピッチの値を負の値(2の補
数)を設定する。
[0419] In the reverse mode, the chain table DMA is used.
One block of the two-dimensional DMA is accessed from the larger address to the smaller address. Instructions in the reverse direction for each block or line can be made in the chain table DM.
In A, the chain table is made upside down. In the case of a DMA with a pitch, the pitch value is set to a negative value (two's complement).

【0420】(割り込み制御)次に割り込みの制御につ
いて説明する。DBIからの割り込みは、以下の条件で
発生する。
(Interrupt Control) Next, interrupt control will be described. An interrupt from the DBI occurs under the following conditions.

【0421】[マスタモード] 1.DMA正常終了 2.GBusでのDMA転送中のバスエラーの検出 3.BBusでのDMA転送中のバスエラーの検出 4.チェーンDMAモードでのチェーンテーブルリード
中のバスエラーの検出 GBI停止レジスタによる強制終了の場合、DMAコン
トローラが各バスのコントローラに要求中の転送が正常
に終了した時点で、正常終了となる。もし、要求中の転
送がバスエラーとなった場合には、バスエラーによる異
常終了となる。
[Master mode] 1. Normal end of DMA 2. Bus error detection during DMA transfer on GBus 3. Bus error detection during DMA transfer on BBus Detection of Bus Error During Chain Table Read in Chain DMA Mode In the case of forced termination by the GBI stop register, the transfer ends normally when the transfer requested by the DMA controller to the controller of each bus ends normally. If the requested transfer results in a bus error, the transfer ends abnormally due to the bus error.

【0422】チャネル0では、機能ブロックがGBI内
のFIFOに全データを書き込んだ時点で終了する(割
り込みを発生する)が、FIFOにデータが残ってい
る。GBIはFIFOのデータを転送した時に、DMA
終了となるので、これをもって転送終了と判断する。
[0422] In channel 0, the processing ends when the functional block writes all data to the FIFO in the GBI (an interrupt is generated), but data remains in the FIFO. When GBI transfers data in the FIFO,
Since the transfer is completed, it is determined that the transfer is completed.

【0423】チャネル1では、GBIはGBI内のFI
FOに全データを書き込んだ時点で終了する(割り込み
を発生する)が、FIFOにデータが残っている。機能
ブロックはFIFOのデータを転送した時に、終了とな
るので、これをもって転送終了と判断する。
[0423] In channel 1, the GBI is the FI in the GBI.
Processing ends when all data has been written to the FO (an interrupt is generated), but data remains in the FIFO. Since the function block ends when the data of the FIFO is transferred, it is determined that the transfer is completed.

【0424】[スレーブモード] 5.FIFOイリーガルアクセス GBIに按続された機能ブロックとマスタとのデータの
転送は、GBIのFIFOを介して行われる。
[Slave mode] 5. FIFO illegal access Data transfer between the functional blocks allocated to the GBI and the master is performed via the GBI FIFO.

【0425】GBus/BBusの両方使用する場合
(DoEngineでは、GBus/BBusの両方使
用可能なマスタはGBIのみ)には、両方のバスからの
同時アクセスに対して、どちらのバスが最初にFIFO
をアクセスするかを知る方法がない。マスタはGBus
/BBusに対して、排他的に転送要求を行う必要があ
る(GBIのマスタモードでは排他的に転送要求してい
る)。もし、GBus/BBusの両方が同時にFIF
Oにアクセスした場合には、FIFOイリーガルアクセ
スとなる。
In the case of using both GBus / BBus (in DoEngine, GBI is the only master that can use both GBus / BBus), in order to access both buses simultaneously, which bus is first FIFO
There is no way to know what to access. Master is GBus
/ BBus must be exclusively requested to transfer (in the GBI master mode, a transfer request is exclusively requested). If both GBus / BBus are FIF
When O is accessed, it becomes FIFO illegal access.

【0426】上記の1から5のいずれかが起こり、かつ
対応する割り込み許可ビットが、”1”にセットされて
いる場合に割り込みが発生する。
If any one of the above 1 to 5 occurs and the corresponding interrupt enable bit is set to "1", an interrupt is generated.

【0427】(コアインターフェース)図99に、GB
Iと、BBus/GBus/機能ブロックとのインター
フェースをまとめたコアインターフェースの図を示す。
GBIは、BBusスレーブ動作でバスエラーを発行し
ないので、bError(Func)Out_Lはな
い。また、GBIはBBusスレーブ動作でbInst
NotData信号をチェックしないので、(fun
c)bInstNotData_inはなく、(fun
c)bInstNotData_outは、常に”0”
をドライブする。
(Core Interface) FIG.
FIG. 2 shows a diagram of a core interface in which I and interfaces with BBus / GBus / functional blocks are summarized.
Since the GBI does not issue a bus error in the BBus slave operation, there is no bError (Func) Out_L. In addition, GBI uses bInst
Because the NotData signal is not checked, (fun
c) no bInstNotData_in, (fun
c) bInstNotData_out is always “0”
Drive.

【0428】また、GBIはGBusスレーブ動作でバ
スエラーを発行しないので、(func)gErr_L
_outはない。
Since the GBI does not issue a bus error in the Gbus slave operation, (func) gErr_L
There is no _out.

【0429】なお、図99におけるGBIの信号名中の
Func(func)には、接続される機能ブロック、
すなわちscc(スキャナコントローラ)あるいはpr
c(プリンタコントローラ)の名前を入れる。
In FIG. 99, Func (func) in the signal name of GBI indicates a functional block to be connected.
That is, scc (scanner controller) or pr
Enter the name of c (printer controller).

【0430】また、DoEngineでは、機能ブロッ
クとして、スキャナコントローラのScc(scc)
と、プリンタコントローラのPrc(prc)がある。
いずれの場合もデータの流れが双方向でないので、不要
なFIFO、DMAコントローラ、レジスタを削除した
形でインプリメントする。
In DoEngine, as a functional block, Scc (scc) of the scanner controller is used.
And Prc (prc) of the printer controller.
In either case, since the data flow is not bidirectional, the implementation is performed with unnecessary FIFOs, DMA controllers, and registers eliminated.

【0431】(プリンタコントローラコアインターフェ
ース)図86は、プリンタコントローラ4303におけ
る、上述した各ブロックを含むコア部分と、外部バスや
スキャナとの間で入出力される信号をまとめた図であ
る。このように、プリンタコントローラ4303は、シ
ステムバスブリッジ402との間をGバスにより接続さ
れ、IOデバイスやパワーマネジメントデバイス及びシ
ステムバスブリッジとの間をBバスにより接続され、プ
リンタコントローラとの間をCPバスで接続され、Gバ
ス/BバスI/Fユニットとの間をI/Fバスにより接続さ
れている。
(Printer Controller Core Interface) FIG. 86 is a diagram summarizing signals input and output between the core portion including the above-described blocks in the printer controller 4303 and an external bus or scanner. As described above, the printer controller 4303 is connected to the system bus bridge 402 by the G bus, is connected to the IO device, the power management device, and the system bus bridge by the B bus, and is connected to the printer controller by the CP bus. They are connected by a bus, and connected to a G bus / B bus I / F unit by an I / F bus.

【0432】2.10.電力管理ユニット 図87は、電力管理ユニット409のブロック図であ
る。
2.10. Power Management Unit FIG. 87 is a block diagram of the power management unit 409.

【0433】DoEngineはCPUを内蔵した大規
模なASICである。このため、内部のロジックが全部
同時に動作してしまうと、大量の熱を発生し、チップ自
体が破壊されてしまう恐れがある。これを防ぐために、
DoEngineは、ブロック毎の電力の管理、すなわ
ちパワーマネジメントを行ない、更にチップ全体の消費
電力量の監視を行なう。
[0433] DoEngine is a large-scale ASIC with a built-in CPU. For this reason, if all the internal logics operate simultaneously, a large amount of heat is generated, and the chip itself may be destroyed. To prevent this,
The DoEngine performs power management for each block, that is, power management, and further monitors the power consumption of the entire chip.

【0434】パワーマネージメントは、それぞれのブロ
ックが各自個別に行なう。各ブロックの消費電力量の情
報は、パワーマネージメントレベルとして、電力管理ユ
ニット(PMU)409に集められる。PMU409で
は、各ブロックの消費電力量を合計し、その値が限界消
費電力を超えないように、DoEngineの各ブロッ
クの消費電力量を一括して監視する。
The power management is performed individually by each block. Information on the power consumption of each block is collected in a power management unit (PMU) 409 as a power management level. The PMU 409 sums up the power consumption of each block and monitors the power consumption of each block of the DoEngine collectively so that the value does not exceed the limit power consumption.

【0435】(動作)電力管理ブロックの動作は次の通
りである。 ・各ブロックは、4段階のパワーマネジメントレベルを
持つ。 ・PMUは、それぞれのレベルにおける消費電力の値を
レジスタとして持つ。このレベル構成及び消費電力の値
は、PM構成レジスタ5401に保持される。 ・PMUは、各ブロックからパワーマネジメントレベル
を2ビットのステータス信号として受け取り(後述)、
レジスタ5401に設定された値と照合させて各ブロッ
クの消費電力を知る。 ・PMUは各ブロックの消費電力を加算器5403で加
算し、DoEngine全体の消費電力量をリアルタイ
ムに計算する。 ・算出された消費電力量は、構成レジスタ5401に設
定された消費電力のリミット値(PMリミット)と比較
器5404で比較され、これを超えた場合には割込発生
器5405から割り込み信号を発行する。 ・このリミット値は2段階設定することができる。1段
階目は、本当の限界から少し余裕を持たせた値を設定し
ておく。この値を超えると、通常の割込み信号が発行さ
れる。ソフトウェアはこれを受けて、新たにブロックを
起動するような転送は始めないようにする。ただ、2段
階目のリミット値に達しない範囲内では、ソフトウェア
の管理の元で、新たなブロックを起動することができ
る。2段階目のリミット値は、デバイスが破壊される恐
れのある値を設定しておく。万が一、この値を超えてし
まった時には、NMI(割込マスクが設定できない割り
込み)を発行して安全のためにシステムを停止させる。 ・割込み信号は、PMUの状態レジスタ5402をリー
ドすることで解除される。この状態レジスタ5402を
リードした時点からタイマカウントを始め、タイマがエ
クスパイアするまで消費電力量が戻らなければ、再び割
込み信号を発行する。このタイマの値の設定はPMUの
構成レジスタ5401に設定される。
(Operation) The operation of the power management block is as follows. -Each block has four power management levels. The PMU has the power consumption value at each level as a register. The values of the level configuration and the power consumption are held in the PM configuration register 5401. The PMU receives the power management level from each block as a 2-bit status signal (described later),
The power consumption of each block is known by checking the value set in the register 5401. The PMU adds the power consumption of each block by the adder 5403, and calculates the total power consumption of the DoEngine in real time. The calculated power consumption is compared with the power consumption limit value (PM limit) set in the configuration register 5401 by the comparator 5404. If the power consumption exceeds the limit, an interrupt signal is issued from the interrupt generator 5405. I do.・ This limit value can be set in two stages. In the first stage, a value is set with some margin from the true limit. If this value is exceeded, a normal interrupt signal is issued. In response, the software does not start a transfer that starts a new block. However, a new block can be started under the management of software within a range not reaching the limit value of the second stage. As the limit value in the second stage, a value that may cause destruction of the device is set. Should this value be exceeded, an NMI (interrupt for which an interrupt mask cannot be set) is issued to stop the system for safety. The interrupt signal is released by reading the status register 5402 of the PMU. The timer starts counting from the time when the status register 5402 is read. If the power consumption does not return until the timer expires, an interrupt signal is issued again. The setting of the timer value is set in the configuration register 5401 of the PMU.

【0436】(各ブロックのパワーマネージメント)各
ブロックのパワーマネージメント制御は、ブロック毎に
自由に構成してよい。構成例の例を示す。
(Power Management of Each Block) The power management control of each block may be freely configured for each block. The example of a structural example is shown.

【0437】(構成例1)この例では、内部ロジックへ
のクロックをオン/オフすることにより、パワーマネジ
メントを行なっているので、消費電力のレベルは2段階
しか持っていない。このレベルをステータス信号として
電力管理ユニット409に送る。図88にバスエージェ
ントのブロック図を示す。 ・バスエージェント5501は、各ユニット毎の内部ロ
ジック5502、アドレスをデコードするデコーダ55
03、クロックコントロール部5504、クロックゲー
ト5505を含む。 ・デコーダ5503とクロックコントロール部5504
は常に動作しており、パワーマネージメントコントロー
ルとして、バスのアクティビティーの監視、内部ロジッ
クへのクロックのゲーティングを行なっている。
(Configuration Example 1) In this example, the power management is performed by turning on / off the clock to the internal logic, so that the power consumption level has only two levels. This level is sent to the power management unit 409 as a status signal. FIG. 88 shows a block diagram of the bus agent. The bus agent 5501 includes an internal logic 5502 for each unit and a decoder 55 for decoding an address.
03, a clock control unit 5504, and a clock gate 5505. -Decoder 5503 and clock control unit 5504
Is always running and monitors bus activity and gates clocks to internal logic as power management controls.

【0438】(クロックコントロール) ・バスエージェントは、バスのアクティビティーを検出
し、クロックのオン/オフを自動で行なう。 ・バスエージェントには、Sleep, Wake Up, Waitの3つ
のステートがある。 ・Sleepはバスエージェントにアクティビティーがな
く、クロックゲートクロックを停止させている状態であ
る。 ・Sleepの状態でも、デコーダ部5503、クロックコ
ントロール部5504は動作しており、バスをモニタリ
ングして、要求を待っている。 ・デコーダ5503が自分のアドレスを検出すると、ク
ロックゲート5505を開き、内部ロジックのクロック
を動作させ、バスの要求に応える。ステートはWake Up
に移行する。また、この状態を電力管理ユニット409
に通知する。 ・データ転送が終了すると、Waitステートに移行し、次
の要求を待つ。この時クロックは動作したままである。
要求があれば、Wake Upステートに戻り、転送を行な
う。また、要求を待っている間はタイマによりカウント
を行ない、要求がないままカウンタがタイムアップした
場合は、Sleepステートへ移り、クロックを停止させ
る。この状態も電力管理ユニット409に通知される。
(Clock Control) The bus agent detects bus activity and automatically turns on / off the clock. The bus agent has three states: Sleep, Wake Up, and Wait. -Sleep is a state where the bus agent has no activity and the clock gate clock is stopped. -Even in the sleep state, the decoder unit 5503 and the clock control unit 5504 are operating, monitor the bus, and wait for a request. When the decoder 5503 detects its own address, it opens the clock gate 5505, operates the clock of the internal logic, and responds to the bus request. State is Wake Up
Move to Also, this state is changed to the power management unit 409.
Notify. When the data transfer is completed, the state shifts to the Wait state and waits for the next request. At this time, the clock remains running.
If there is a request, it returns to the Wake Up state and performs transfer. The timer counts while waiting for a request, and when the counter has timed out without a request, shifts to a sleep state and stops the clock. This state is also notified to the power management unit 409.

【0439】以上のようにして、消費電力が所定値を越
えないように管理している。
As described above, the power consumption is managed so as not to exceed the predetermined value.

【0440】(コピー動作)上述の構成により、スキャ
ナから読み込んだ画像データをそのままプリンタへ転送
して、プリンタで画像形成する動作をコピー動作を行う
ことができる。本実施形態のDo Engineを用い
たスキャナ/プリンタシステムでは、以下に示す3種類
のコピーの方式がそのシステム構成に応じて選択され
る。
(Copy Operation) With the above-described configuration, the image data read from the scanner can be directly transferred to the printer, and a copy operation can be performed to form an image with the printer. In the scanner / printer system using the Do Engine of the present embodiment, the following three types of copying methods are selected according to the system configuration.

【0441】(方式1)第1の方式は、スキャナによる
画像入力の垂直・水平タイミングと、プリンタによる画
像出力の水平・垂直タイミングがそれぞれ一致してい
て、ビデオデータの転送速度も一致している組み合わせ
のシステムにおける方式である。
(Method 1) In the first method, the vertical / horizontal timing of image input by the scanner and the horizontal / vertical timing of image output by the printer match, and the transfer speed of video data also matches. This is a method in a combination system.

【0442】垂直同期信号(VSYNC)はプリンタから出
力されて、プリンタコントローラ(PRC)に入力される。
このVSYNC信号は、プリンタコントローラ(PRC)からCP
バスを介してスキャナコントローラ(SCC)に入力され
る。そして、スキャナコントローラ(SCC)からスキャナ
に対して出力される。これにより、プリンタとスキャナ
の垂直同期がとられる。水平同期についても、垂直同期
信号VSYNCと同様に、水平同期信号(HSYNC)がプリンタ
から出力され、プリンタコントローラ,CP−バス,ス
キャナコントローラを介してスキャナに入力される。こ
れによりスキャナとプリンタとの水平同期がとられる。
このように、垂直方向及び水平方向の同期がとられてス
キャナとプリンタが動作する。ビデオデータは同期用の
ビデオクロックとともにスキャナから出力される。出力
されたビデオクロックとビデオデータはスキャナコント
ローラ(SCC)に入力され、CPバスを介して、プリンタ
コントローラ(PRC)に入力される。そして、プリンタコ
ントローラ(PRC)からプリンタに出力される。プリンタ
ではビデオクロックに同期してビデオデータを受け取
り、画像出力をおこなう。
[0442] The vertical synchronization signal (VSYNC) is output from the printer and input to the printer controller (PRC).
This VSYNC signal is transmitted from the printer controller (PRC) to the CP
Input to the scanner controller (SCC) via the bus. Then, it is output from the scanner controller (SCC) to the scanner. As a result, the printer and the scanner are vertically synchronized. As for the horizontal synchronization, similarly to the vertical synchronization signal VSYNC, a horizontal synchronization signal (HSYNC) is output from the printer and input to the scanner via the printer controller, the CP-bus, and the scanner controller. Thus, horizontal synchronization between the scanner and the printer is achieved.
As described above, the scanner and the printer operate in synchronization with each other in the vertical and horizontal directions. The video data is output from the scanner together with a video clock for synchronization. The output video clock and video data are input to a scanner controller (SCC) and input to a printer controller (PRC) via a CP bus. The data is output from the printer controller (PRC) to the printer. The printer receives video data in synchronization with a video clock and outputs an image.

【0443】このコピー動作は、図89に示す構成によ
り行われる。このコピー動作ではGバスおよびBバスを
使用せずにコピー動作がおこなわれる。
This copy operation is performed by the structure shown in FIG. In this copy operation, the copy operation is performed without using the G bus and the B bus.

【0444】このコピー動作中、画像データはCPバス
を介してスキャナからプリンタへ直接転送されるが、同
時にスキャナコントローラ(SCC)からGバスのDMA転送に
よってSDRAMへ書き込むことが可能である。コピー動作
と同時にSDRAMに書き込まれた画像データは、必要に応
じて画像データとして格納すること等が可能となる。ま
た、SDRAM上の画像データをプリンタへ出力することに
より、スキャナで読み取った画像データを複数部の出力
することが、スキャナの動作なしに可能となる。
During the copying operation, the image data is directly transferred from the scanner to the printer via the CP bus. At the same time, the image data can be written to the SDRAM by the G bus DMA transfer from the scanner controller (SCC). The image data written to the SDRAM at the same time as the copy operation can be stored as image data if necessary. Further, by outputting the image data on the SDRAM to the printer, it becomes possible to output the image data read by the scanner to a plurality of units without operating the scanner.

【0445】(方式2)第2の方式は、スキャナによる
画像入力の水平タイミングと、プリンタによる画像出力
の水平タイミングとが一致しており、垂直タイミングと
ビデオデータの転送速度がそれぞれ一致していない組み
合わせのシステムにおける方式である。
(Method 2) In the second method, the horizontal timing of image input by the scanner and the horizontal timing of image output by the printer match, and the vertical timing does not match the transfer speed of video data. This is a method in a combination system.

【0446】この場合のコピー動作を図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バスであっても良い。
The copy operation in this case will be described with reference to FIG. When the scanner starts reading an image, three timing signals, a vertical synchronization signal (VSYNC), a horizontal synchronization signal (HSYNC), and a video clock, are transmitted to the scanner controller (SC).
Entered in C). Video data is also input to the scanner controller (SCC) in synchronization with the video clock. Scanner controller (SCC) synchronized with the above timing signal
Captures video data into an internal FIFO (FIFO_SCC). As soon as image data starts to enter FIFO_SCC,
_SCC, scanner G bus / B bus I / F unit 43
Data transfer to the FIFO (FIFO_GBI_SCC) of 01A (GBI_SCC) is started. The image data from the scanner is
The data is sequentially transferred to FIFO_GBI_SCC via FO_SCC. FIFO_G
When data starts to enter BI_SCC, the printer's G bus / B
The bus I / F unit 4301B (GBI_PRC) is the master,
G bus / B bus I / F unit 4301A (GBI
_SCC) as a slave starts DMA transfer. At this time, if the G bus is available, use that bus,
If it is not vacant, it may be a B bus.

【0447】この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から出力する。そのビデオデータをプリ
ンタが画像出力する。
By this DMA transfer, the image data of FIFO_SCC is transferred to a FIFO (FIFO_GBI_PRC) in GBI_PRC. The image data of the FIFO_GBI_PRC is sequentially transferred to the FIFO (FIFO_PRC) of the printer controller (PRC). FIF
When image data starts to enter O_PRC, the printer controller (PRC) inputs a vertical synchronization signal (VSYNC) to the printer. The printer starts outputting a horizontal synchronization signal (HSYNC) and a video clock at the timing of VSYNC. The printer controller (PRC) performs horizontal synchronization with the horizontal synchronization signal HSYNC, and outputs video data from the FIFO_PRC in synchronization with the video clock. The printer outputs the video data as an image.

【0448】このコピー動作の場合、画像データは、ス
キャナ, スキャナコントローラの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によ
り緩衝される。
In the case of this copy operation, the image data is stored in the FIFO (FIFO_SC
C), G bus / B bus I / F unit FIFO (FIFO_GBI
_SCC), FIFO of the G bus / B bus I / F unit (FIFO_G
BI_PRC), Printer controller FIFO (FIFO_PR)
C), the image is transferred in the order of the printer, and the image copy operation is performed. Since the horizontal synchronization interval is the same between the scanner and the printer, differences in the transfer speed of image data are buffered by each FIFO.

【0449】(方式3)第3の方式は、スキャナとプリ
ンタの垂直同期タイミング、水平同期タイミング、ビデ
オデータの転送速度がそれぞれすべて異なる組み合わせ
のシステムにおける方式である。
(Method 3) The third method is a method in a combination system in which the vertical synchronization timing, the horizontal synchronization timing, and the video data transfer speed of the scanner and the printer are all different.

【0450】この場合のコピー動作を図91により説明
する。スキャナで画像の読み取りが開始すると、スキャ
ナは垂直同期信号(VSYNC)、水平同期信号(HSYNC)、
ビデオクロックをスキャナコントローラ(SCC)に出力す
る。これらのタイミング信号に同期して画像データが出
力される。スキャナコントローラ(SCC)は上記タイミン
グ信号に同期して画像データを取り込む。取り込まれた
画像データはGBI_SCCにより、DMA転送でメモリコントロ
ーラ(MC)403へ転送される。MC403では、DMA転
送された画像データをSDRAMに書き込む。SDRAMに書き込
まれた画像データの量が、スキャナとプリンタの画像デ
ータ転送速度の差を緩衝できる量に達すると、プリンタ
への画像データ転送が開始される。この画像データ量の
判定は、スキャナからのデータ転送時間による判定、SD
RAMに書き込まれるアドレスによる判定、GBI_SCCにおけ
るDMA転送量の判定等、種々の方式がある。
The copying operation in this case will be described with reference to FIG. When the scanner starts reading an image, the scanner sends a vertical sync signal (VSYNC), a horizontal sync signal (HSYNC),
Outputs the video clock to the scanner controller (SCC). Image data is output in synchronization with these timing signals. The scanner controller (SCC) captures image data in synchronization with the timing signal. The captured image data is transferred to the memory controller (MC) 403 by DMA transfer using GBI_SCC. The MC 403 writes the DMA-transferred image data to the SDRAM. When the amount of image data written in the SDRAM reaches an amount that can buffer the difference in image data transfer speed between the scanner and the printer, the transfer of image data to the printer is started. The determination of the image data amount is based on the data transfer time from the scanner,
There are various methods such as a determination based on an address written to a RAM and a determination of a DMA transfer amount in GBI_SCC.

【0451】プリンタへの画像データ転送はプリンタコ
ントローラ(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),プリンタの順となる。
このように、一旦メモリに格納し、それをスキャナとプ
リンタとの間の緩衝メモリとして、スキャナからプリン
タへと画像データを転送し、コピーを行う。
The image data transfer to the printer is performed by the printer controller (PRC). The printer controller (PRC) sequentially inputs the image data written in the SDRAM to the internal FIFO by DMA transfer of GBI_PRC. At the same time, a vertical synchronization signal (VSYNC) is output to the printer. afterwards,
A horizontal synchronization signal (HSYNC) and a video clock are input from the printer. In synchronization with the HSYNC and the video clock, the printer controller (PRC) outputs image data from the internal FIFO to the printer. According to the flow of the image data, a copy operation for outputting the image data read by the scanner from the printer is performed. The flow of image data in this case is as follows: scanner, scanner controller,
Scanner G bus / B bus I / F unit (GBI_SCC), memory controller (MC), SDRAM, memory controller (M
C), Printer G bus / B bus I / F unit (GBI_PR
C), the printer controller (RRC), and the printer.
As described above, the image data is temporarily stored in the memory, and is used as a buffer memory between the scanner and the printer to transfer the image data from the scanner to the printer and perform copying.

【0452】本システムは上記3方式のコピー動作機能
を有する。(方式1)、(方式2)、(方式3)の順で
コピー動作時に動作する内部ブロックが多くなる。内部
ブロックの使用率が増加すると、システム全体のパフォ
ーマンスが効率を低下させる要因となりうる。本システ
ムは接続されるデバイス(プリンタ・スキャナ)に応じ
て、システム全体が最も効率的なコピー動作方式を選択
することが可能である。
The present system has the above three types of copy operation functions. (System 1), (System 2), and (System 3) in this order, the number of internal blocks that operate during the copy operation increases. As internal block usage increases, overall system performance can be a factor in reducing efficiency. In this system, the most efficient copy operation method can be selected for the entire system according to the connected device (printer / scanner).

【0453】コピー方式を選択する方法としては、例え
ば次のようなものがある。 UART等を介して指定するコピー方式そのものを入
力させ、指定された方式でコピー動作を行う。 プリンタとスキャナのデータ転送速度や水平・垂直同
期周波数等、必要なパラメタをUART等から入力さ
せ、それらの値に応じて上記3通りの方式からCPU4
01がひとつを選択し、その方式でコピー動作を行わせ
る。 プリンタコントローラがプリンタのデータ転送速度や
水平・垂直同期周波数等、必要なパラメタを読取り、ス
キャナコントローラがスキャナからデータ転送速度や水
平・垂直同期周波数等、必要なパラメタを読取り、それ
らをCPU401により比較判定してコピー動作の方式
を決定する。
As a method of selecting a copy method, for example, there is the following method. The user inputs the specified copy method via a UART or the like, and performs a copy operation in the specified method. Necessary parameters such as the data transfer speed of the printer and the scanner and the horizontal / vertical synchronization frequencies are input from the UART or the like.
01 selects one and causes a copy operation to be performed in that manner. The printer controller reads necessary parameters such as the data transfer speed and the horizontal / vertical synchronization frequency of the printer, and the scanner controller reads the necessary parameters such as the data transfer speed and the horizontal / vertical synchronization frequency from the scanner, and the CPU 401 compares and determines them. To determine the type of copy operation.

【0454】上記〜の方法で決定された、あるいは
選択されたコピー方式はCPUからプリンタコントロー
ラ及びスキャナコントローラに知らされ、その方式でプ
リンタコントローラ及びスキャナコントローラ等により
コピーを行わせる。
The copy method determined or selected by the above method is notified from the CPU to the printer controller and the scanner controller, and the printer controller and the scanner controller perform copying in that method.

【0455】次に、上記の方式でコピー方式を決定す
る手順を説明する。
Next, a procedure for determining a copy method by the above method will be described.

【0456】図100は、CPU401による、3通り
のコピー方式からシステムで使用するコピー方式を選択
する手順のフローチャートである。この動作はシステム
の電源立ち上げ時、ステップS1から開始される。
FIG. 100 is a flowchart of a procedure by the CPU 401 for selecting a copy method to be used in the system from the three copy methods. This operation is started from step S1 when the power of the system is turned on.

【0457】ステップS2では、プリンタの種別の判定
が行われる。CPU401はプリンタコントローラ43
03を介して、プリンタビデオI/Fに含まれるコマン
ド/ステータスラインを通じて、プリンタから種別を示
すIDを取得する。このコマンド/ステータスライン
は、プリンタコントローラとプリンタとが1対1にコマ
ンド/ステータスのやりとりができるシリアル通信ライ
ンである。
In step S2, the type of the printer is determined. The CPU 401 is the printer controller 43
An ID indicating the type is acquired from the printer via a command / status line included in the printer video I / F via the printer 03. The command / status line is a serial communication line that allows the printer controller and the printer to exchange commands / status on a one-to-one basis.

【0458】ステップS3では、同様にCPUがスキャ
ナコントローラ4302を介して、スキャナビデオI/
Fに含まれるコマンド/ステータスラインを通じ、スキ
ャナから種別を示すIDを取得する。
In step S 3, the CPU similarly controls the scanner video I / O via the scanner controller 4302.
An ID indicating the type is acquired from the scanner through the command / status line included in F.

【0459】ステップS4では、ステップS2とS3で
判定された、スキャナとプリンタの組み合わせに適した
コピー経路の判定が行われる。スキャナとプリンタの組
み合わせに適したコピー経路の判定は、あらかじめテー
ブルの形式で、例えば、フラッシュROM等のCPUが
参照可能なメモリに準備されている。各コピー経路に適
したスキャナとプリンタの組み合わせは次のようなもの
がある。 (方式1)スキャナとプリンタの水平、垂直
タイミングが同期していて、ビデオデータの転送速度も
同期している組み合わせ (方式2)スキャナとプリンタの水平同期タイミングの
速度が同一で、垂直タイミングとビデオデータの転送速
度は同期していない組み合わせ (方式3)スキャナとプリンタの垂直同期タイミング、
水平同期タイミング、ビデオデータの転送速度がそれぞ
れ異なる組み合わせ CPUは、あらかじめ用意されたテーブル参照におい
て、上記3方式から適切なコピー方式を選択する。
In step S4, a copy path suitable for the combination of the scanner and the printer, determined in steps S2 and S3, is determined. The determination of the copy path suitable for the combination of the scanner and the printer is prepared in the form of a table in advance in a memory such as a flash ROM that can be referred to by the CPU. There are the following combinations of scanners and printers suitable for each copy path. (Method 1) A combination in which the horizontal and vertical timings of the scanner and the printer are synchronized and the transfer rate of video data is also synchronized. (Method 2) The speed of the horizontal synchronization timing of the scanner and the printer is the same, and the vertical timing and the video are synchronized. Combination of data transfer speed not synchronized (Method 3) Vertical synchronization timing of scanner and printer,
The combination CPU having different horizontal synchronization timings and different video data transfer speeds selects an appropriate copy method from the above three methods by referring to a prepared table.

【0460】ステップS5では、ステップS4で選択さ
れたコピー方式に応じたモード設定がスキャナコントロ
ーラ4302に対してなされる。このモード設定は、C
PUがBBusを介して行う。
[0460] In step S5, a mode setting corresponding to the copy method selected in step S4 is made to the scanner controller 4302. This mode setting is
PU performs via BBus.

【0461】図101は、スキャナコントローラ430
2内部のデータバスの切り換え回路を示す図である。な
お、データバスセレクタは、図44のスキャナデバイス
I/F4401に含まれる。また、データバスの切り替
えの説明に不用なスキャナビデオクロックユニット等は
省略した。
FIG. 101 shows the scanner controller 430.
FIG. 2 is a diagram showing a circuit for switching a data bus inside the device; The data bus selector is included in the scanner device I / F 4401 in FIG. Further, a scanner video clock unit and the like which are not necessary for explaining the switching of the data bus are omitted.

【0462】レジスタ1には、データバスのモードが設
定される。CPUは、図100のステップS4において
選択したコピー方式に応じたモードをレジスタ1に設定
する。セレクト制御信号4は、モード設定レジスタ1に
設定されたモードに応じてデータパスを選択するための
信号である。スキャナビデオバス2は、スキャナからの
ビデオデータのバスである。バス5は、スキャナからの
ビデオデータをFIFO_SCC6に転送するバスである。C
Pビデオバス7は、(方式1)のコピー動作を行う場合
に使用されるバスである。スキャンビデオバスからのビ
デオデータは(方式1)の場合はCPビデオバス7に出
力するようにデータパスがセレクトされる。(方式
2)、(方式3)の場合にはバス5にビデオデータが出
力されて、FIFO_SCC4407に転送される。
In register 1, the mode of the data bus is set. The CPU sets a mode corresponding to the copy method selected in step S4 of FIG. The select control signal 4 is a signal for selecting a data path according to the mode set in the mode setting register 1. The scanner video bus 2 is a bus for video data from the scanner. The bus 5 is a bus that transfers video data from the scanner to the FIFO_SCC 6. C
The P video bus 7 is a bus used when performing the (method 1) copy operation. The data path is selected so that video data from the scan video bus is output to the CP video bus 7 in the case of (method 1). In the case of (method 2) or (method 3), video data is output to the bus 5 and transferred to the FIFO_SCC 4407.

【0463】図100で、次にステップS6に移行す
る。ステップS6では、GBI_sccの動作モード設定を行
う。このモード設定はCPUがステップS4で選択した
コピー方式に基づいて行う。(方式1)では、GBI_scc
は非動作指定される。(方式2)では、DMA転送のマ
スター指定がなされ、DMAの転送先にはGBI_prcが設
定される。(方式3)ではDMA転送のマスター指定が
なされ、DMAの転送先にはSDRAMが設定される。
In FIG. 100, the flow shifts to step S6. In step S6, the operation mode of GBI_scc is set. This mode setting is performed based on the copy method selected by the CPU in step S4. In (method 1), GBI_scc
Is designated as non-operational. In (method 2), the master of DMA transfer is designated, and GBI_prc is set as the DMA transfer destination. In (method 3), the master designation of the DMA transfer is performed, and the SDRAM is set as the DMA transfer destination.

【0464】次にステップS7では、GBI_prcの動作モ
ード設定を行う。このモード設定はCPUがステップS
4で選択したコピー方式に基づいて行う。(方式1)で
は、GBI_prcは非動作指定がなされる。(方式2)では
DMA転送のスレーブ指定がなされる。(方式3)で
は、DMA転送のマスター指定がなされ、DMA転送の
読み出しもとはSDRAMが設定される。
Next, in step S7, the operation mode of GBI_prc is set. This mode is set by the CPU in step S
This is performed based on the copy method selected in step 4. In (method 1), non-operation is specified for GBI_prc. In (method 2), slave designation for DMA transfer is performed. In (method 3), the master designation of the DMA transfer is specified, and the SDRAM is set as the read source of the DMA transfer.

【0465】次にステップS8では、プリンタコントロ
ーラのモード設定がなされる。このモード設定はステッ
プS4で選択されたコピー方式に基づいてCPUが行
う。
Next, in step S8, the mode of the printer controller is set. This mode setting is performed by the CPU based on the copy method selected in step S4.

【0466】図102は、プリンタコントローラ430
3内部のデータバスの切り換え回路を示す図である。レ
ジスタ11には、データバスのモードが設定される。C
PUは、図100のステップS4において選択したコピ
ー方式に応じたモードをレジスタ11に設定する。セレ
クト制御信号14は、モード設定レジスタ11に設定さ
れたモードに応じてデータバスのセレクトを行う信号で
ある。バス15は、FIFO_PRC16から出力されるデー
タのバスである。バス12は、プリンタへのビデオデー
タバスである。CPビデオバス17は、(方式1)のコ
ピー動作を行う場合に使用する。プリンタへのビデオデ
ータは(方式1)の場合はCPビデオバスのデータがセ
レクトされ、出力される。(方式2)、(方式3)の場
合にはバス15からのデータがプリンタビデオバス12
に出力される。
FIG. 102 is a block diagram showing the printer controller 430.
FIG. 3 is a diagram showing a data bus switching circuit in the internal circuit 3; The data bus mode is set in the register 11. C
The PU sets the mode corresponding to the copy method selected in step S4 of FIG. The select control signal 14 is a signal for selecting a data bus according to the mode set in the mode setting register 11. The bus 15 is a bus for data output from the FIFO_PRC 16. Bus 12 is a video data bus to the printer. The CP video bus 17 is used when performing the (method 1) copy operation. In the case of (method 1), the video data to the printer selects and outputs the data on the CP video bus. In the case of (method 2) or (method 3), data from the bus 15 is transferred to the printer video bus 12
Is output to

【0467】ステップS9で、電源立ち上げ時のコピー
方式選択のフローが終了する。以上のようにして、CP
Uはスキャナ及びプリンタの種別に応じたコピー方式を
決定することができる。
[0467] In step S9, the flow of the copy method selection at the time of turning on the power supply ends. As described above, the CP
U can determine the copy method according to the type of scanner and printer.

【0468】なお、上述の手順はスキャナ及びプリンタ
の垂直同期タイミング、水平同期タイミング、ビデオデ
ータの転送速度に基づいて、コピー動作の方式を決定す
る手順であるが、単なるコピーでなく、画像の加工が加
わる場合にはこの限りではない。すなわち、図100の
ステップ2の前に、画像データを加工するか否かを判定
し、画像データを加工する場合には、スキャナ及びプリ
ンタの仕様に関わりなく、方式3を選択し、ステップS
5〜S8における設定では、データの径路が方式3にな
るよう各ブロックの設定を行う。こうすることで、画像
データを加工する場合には読み込んだ画像データはいっ
たんメモリに格納されるため、そこで画像データに対し
て必要な加工を施すことができる。
The above procedure is for determining the type of copy operation based on the vertical synchronization timing and horizontal synchronization timing of the scanner and the printer, and the video data transfer rate. However, this does not apply to cases where That is, before step 2 in FIG. 100, it is determined whether or not to process the image data. If the image data is to be processed, method 3 is selected regardless of the specifications of the scanner and the printer.
In the settings in 5 to S8, each block is set so that the data path is the method 3. By doing so, when the image data is processed, the read image data is temporarily stored in the memory, so that necessary processing can be performed on the image data there.

【0469】また、方式2あるいは方式3ではバスを使
用する。この際、GバスあるいはBバスのいずれを使用
するかは、各バスの使用状況により決定される。すなわ
ち、Gバス/Bバスともにアイドル状態であれば、バス
幅の広いGバスを使用する。いずれかが使用中であれ
ば、未使用の方を使用する。
[0469] In the method 2 or 3, a bus is used. At this time, whether to use the G bus or the B bus is determined according to the usage status of each bus. That is, if both the G bus and the B bus are in the idle state, the G bus having a wide bus width is used. If any are in use, use the unused one.

【0470】以上説明したように、DoEngineに
おいては、スキャナは、スキャナコントローラ4302
及びGBI_SCC4301Aを介してバス(Gバス及
びBバス)に接続されている。スキャナコントローラ4
302及びGBI_SCC4301Aは、それぞれFI
FOを介して互いに画像データを転送するように接続さ
れている。このように、それぞれがFIFOを有してい
るために、GBIは、64ビット幅で動作クロックが1
00MHzという非常に高速なGバスに接続されている
にも関わらず、比較的低速なスキャナから読み込まれた
画像データを効率的に転送することができる。これは、
プリンタコントローラに関しても同様である。
As described above, in DoEngine, the scanner is the scanner controller 4302
And a bus (G bus and B bus) via the GBI_SCC 4301A. Scanner controller 4
302 and GBI_SCC4301A are FI
They are connected so as to transfer image data to each other via the FO. Thus, since each has a FIFO, the GBI has a 64-bit width and an operation clock of 1
Despite being connected to a very high-speed G bus of 00 MHz, image data read from a relatively low-speed scanner can be efficiently transferred. this is,
The same applies to the printer controller.

【0471】さらに、スキャナとプリンタそれぞれの同
期信号の一致・不一致に応じて、コピー時のデータ経路
を選択することで、スキャナ及びプリンタの仕様がどの
ようなものであろうとも、可能な限り速いデータ転送を
用いてコピーを行うことができる。
Further, by selecting a data path at the time of copying in accordance with the coincidence or non-coincidence of the respective synchronization signals of the scanner and the printer, the data can be transmitted as quickly as possible regardless of the specifications of the scanner and the printer. Copying can be performed using data transfer.

【0472】すなわち、上述のスキャナコントローラ及
びプリンタコントローラ及びそれぞれのGBIを用いて
スキャナ及びプリンタをDoEngineのバスに接続
することで、スキャナ及びプリンタの仕様からのDoE
ngineの独立性をより高めることが可能となった。
That is, by connecting the scanner and the printer to the DoEngine bus using the above-mentioned scanner controller and printer controller and their respective GBIs, the DoE from the specifications of the scanner and the printer can be obtained.
This has made it possible to further increase the independence of ngine.

【0473】[その他の構成例]図9及び図10で示し
たキャッシュの動作手順は、図103及び図104のよ
うなものであってもよい。
[Other Configuration Examples] The operation procedure of the cache shown in FIGS. 9 and 10 may be as shown in FIGS. 103 and 104.

【0474】図103においては、MCバスよりデータ
転送が開始されると、その最初にMCバスで示されるm
TType[60:0]によってその転送をキャッシュ
オンで行うかオフで行うか判断される。ここでは、転送
がバースト転送の時、そのバースト転送データ量がキャ
ッシュの1ラインのデータ量より大か小かによって判断
する。なお、キャッシュの1ラインは256ビット=4
バースト分である。
In FIG. 103, when data transfer is started from the MC bus, m is first indicated by the MC bus.
It is determined by TType [60: 0] whether the transfer is performed with the cache on or off. Here, when the transfer is a burst transfer, the determination is made based on whether the burst transfer data amount is larger or smaller than the data amount of one line of the cache. One line of the cache is 256 bits = 4
It is a burst amount.

【0475】図103において、メモリコントローラは
転送の開始でmTType[3:0]をチェックし、m
TTypeが示すバースト長が1/2/4であれば、キ
ャッシュオンで動作し、6/8/16/2×16/3×
16/4×16の場合はキャッシュオフで動作する。キ
ャッシュオンあるいはオフ後の動作は、図9及び図10
と同様である。
In FIG. 103, the memory controller checks mTType [3: 0] at the start of transfer, and
If the burst length indicated by TType is 1/2/4, the operation is performed with the cache turned on, and 6/8/16/2 × 16/3 ×
In the case of 16/4 × 16, it operates with the cache off. The operation after the cache is turned on or off is shown in FIGS.
Is the same as

【0476】また、図105及び図106のように、デ
バイスによってキャッシュのオンオフを切り替えること
もできる。図105において、メモリコントローラは転
送の開始でmTType[6:4]をチェックすること
により転送要求デバイスを識別し、そのデバイスの転送
要求をキャッシュオンで動作するか、オフで動作するか
を判断するために、あらかじめ設定されている構成レジ
スタの値を参照し、キャッシュオンで動作するか、オフ
で動作するか決定する。キャッシュオンあるいはオフ後
の動作は、図9及び図10と同様である。構成レジスタ
の設定は、ハードウエア的に決定(変更不可)していも
良いし、ソフトウエアで書換え可能にしてもよい。
Also, as shown in FIGS. 105 and 106, the cache can be switched on / off depending on the device. In FIG. 105, the memory controller identifies the transfer request device by checking mTType [6: 4] at the start of transfer, and determines whether the transfer request of the device operates with the cache on or off. For this purpose, it is determined whether to operate with the cache on or off with reference to a preset value of the configuration register. The operation after the cache is turned on or off is the same as in FIGS. The setting of the configuration register may be determined (cannot be changed) by hardware or may be rewritable by software.

【0477】(実施の形態) (ジョブの分割)まず、本発明の実施の形態について、
図107〜図108を用いて説明する。本実施形態は、
デジタル複合機に投入された種々のジョブをページ単位
に処理をするためにデバイスの獲得と開放を並列に行い
情報を処理するものである。
(Embodiment) (Job division) First, an embodiment of the present invention will be described.
This will be described with reference to FIGS. In this embodiment,
In order to process various jobs input to the digital MFP in page units, acquisition and release of devices are performed in parallel to process information.

【0478】図107は、本発明にかかる情報処理シス
テムの構成図であり、同図中、101a,102a,1
03aはホストコンピュータで、種々のジョブを生成し
周辺機器にジョブを送信する。104aはデジタル複合
機で、プリントジョブ、スキャンジョブ、ファックスジ
ョブ、コピージョブ等、種々のジョブを実行処理する。
第1、第2のホストコンピュータ101a,102a及
びデジタル複合機104aは、それぞれがLAN(ロー
カルエリアネットワーク)105aに接続されており、
デジタル複合機104aを使用することができる。
FIG. 107 is a block diagram of an information processing system according to the present invention. In FIG. 107, 101a, 102a, 1
A host computer 03a generates various jobs and transmits the jobs to peripheral devices. A digital multifunction peripheral 104a executes various jobs such as a print job, a scan job, a fax job, and a copy job.
The first and second host computers 101a and 102a and the digital multifunction peripheral 104a are each connected to a LAN (local area network) 105a,
The digital multifunction peripheral 104a can be used.

【0479】また、第3のホストコンピュータ103a
は、LANではなくパラレル(またはシリアル)等のイ
ンターフェース106aを介してデジタル複合機104
aに接続され、該デジタル複合機104aを使用するこ
とができる。
Also, the third host computer 103a
Is a digital multifunction peripheral 104 via an interface 106a such as a parallel (or serial) instead of a LAN.
a, and the digital multifunction peripheral 104a can be used.

【0480】図108は、図107に示す情報処理シス
テムの基本的な構成を示すブロック図であり、同図にお
いて、201aはCPU(中央演算処理装置)で、本シ
ステム全体の制御及び演算処理等を行う。207aはエ
ンジンインターフェース(エンジンI/F)で、実際に
エンジンを制御するコマンド等をやり取りする。
FIG. 108 is a block diagram showing a basic configuration of the information processing system shown in FIG. 107. In FIG. 108, reference numeral 201a denotes a CPU (Central Processing Unit) which controls the entire system and executes arithmetic processing and the like. I do. An engine interface (engine I / F) 207a exchanges commands and the like for actually controlling the engine.

【0481】208aはネットワークインターフェース
(ネットワークI/F)で、このネットワークI/F2
08aを介して機器がネットワークに接続される。
Reference numeral 208a denotes a network interface (network I / F).
The device is connected to the network via 08a.

【0482】209aは外部インターフェース(外部I
/F)で、パラレル(またはシリアル)等のインターフ
ェースを介してホストコンピュータと接続される。21
0はシステムバスで、上述した各構成要素間のデータの
通路となる。
209a is an external interface (external I
/ F), it is connected to a host computer via an interface such as parallel (or serial). 21
Reference numeral 0 denotes a system bus, which serves as a data path between the above-described components.

【0483】CPU201a、エンジンインターフェー
ス(エンジンI/F)207a、ネットワークインター
フェース(ネットワークI/F)208a、外部インタ
ーフェース(外部I/F)209aはDoEngine
201(図2)を構成する。
A CPU 201a, an engine interface (engine I / F) 207a, a network interface (network I / F) 208a, and an external interface (external I / F) 209a are DoEngine.
201 (FIG. 2).

【0484】202aはROM(リードオンリーメモ
リ)で、システム起動プログラムやプリンタエンジンの
制御を行うプログラム及び文字データ、文字コード情報
等の記憶領域である。203aはRAM(ランダムアク
セスメモリ)で、使用期限のない記憶領域で、ダウンロ
ードにより追加登録されたフォントデータが記憶された
り、様々な処理ごとにプログラムやデータがロードされ
実行される。
Reference numeral 202a denotes a ROM (read only memory), which is a storage area for a system startup program, a program for controlling the printer engine, character data, character code information, and the like. A RAM (random access memory) 203a is a storage area having no expiration date, in which font data additionally registered by downloading is stored, and programs and data are loaded and executed for various processes.

【0485】204aは例えばハードディスク等の外部
記憶装置で、印刷装置(プリンタ)が受け付けた印刷ジ
ョブ(プリントジョブ)をスプールしたり、プログラム
や各種情報ファイル等が格納されたり、作業用の領域と
して利用される。
Reference numeral 204a denotes an external storage device such as a hard disk, which spools a print job (print job) received by the printing device (printer), stores programs and various information files, and uses it as a work area. Is done.

【0486】205aは液晶表示機等の表示部で、印刷
装置の設定状態や、現在の印刷装置内部の処理状態や、
エラー状態等を表示する。
[0486] Reference numeral 205a denotes a display unit such as a liquid crystal display, which indicates the setting state of the printing apparatus, the current processing state inside the printing apparatus,
Displays error status, etc.

【0487】206aは操作部で、印刷装置の設定を変
更したり、リセットするために使用される。
An operation unit 206a is used to change or reset the settings of the printing device.

【0488】図109は、ホストコンピュータとデジタ
ル複合機104aの内部ソフトウェア構造を示す図であ
り、同図において、301はホストコンピュータ(図1
07の101a〜103aに相当する)である。302
はコントローラソフトウェアで、その内部はプロトコル
解釈部303、ジョブ制御部304及びデバイス部30
5に分割されている。
FIG. 109 is a diagram showing the internal software structure of the host computer and the digital multifunction peripheral 104a. In FIG. 109, reference numeral 301 denotes the host computer (FIG. 1).
07 corresponding to 101a to 103a). 302
Denotes controller software, in which the protocol interpreter 303, the job controller 304, and the device 30
It is divided into five.

【0489】プロトコル解釈部303は、ホストコンピ
ュータ301から図1のLAN105または図2の外部
I/F209を介して送られてきたコマンド(プロトコ
ル)を解釈して、ジョブ制御部304に対してジョブの
実行を依頼する部分である。また、ジョブ制御部304
は、プロトコル解釈部303の依頼したジョブを実際に
処理する部分である。更に、デバイス部305は、ジョ
ブ制御部304がジョブを実行する際に使用される。
The protocol interpreting unit 303 interprets a command (protocol) transmitted from the host computer 301 via the LAN 105 in FIG. 1 or the external I / F 209 in FIG. This is the part that requests execution. Also, the job control unit 304
Is a part for actually processing the job requested by the protocol interpreting unit 303. Further, the device unit 305 is used when the job control unit 304 executes a job.

【0490】図110は、コントローラソフトウェア3
02の概略を説明するためのブロック図である。同図に
おいて、303はプロトコル解釈部、304はジョブ制
御部、305はデバイス部である。ジョブ制御部304
は、ジョブ生成部401a、ジョブ処理部402a、ド
キュメント処理部403a、ページ処理部404a、バ
ンド処理部405a、デバイス割り当て部406aを有
している。
FIG. 110 shows the controller software 3
FIG. 2 is a block diagram for explaining an outline of the second embodiment. In the figure, reference numeral 303 denotes a protocol interpreting unit, 304 denotes a job control unit, and 305 denotes a device unit. Job control unit 304
Has a job generation unit 401a, a job processing unit 402a, a document processing unit 403a, a page processing unit 404a, a band processing unit 405a, and a device allocation unit 406a.

【0491】また、デバイス部305は、第1デバイス
407a、第2デバイス408a及び第3デバイス40
9aを有している。
The device section 305 includes a first device 407a, a second device 408a, and a third device 40a.
9a.

【0492】図107のホストコンピュータ101a〜
103aから送られてきた一連の操作依頼は、コマンド
(プロトコル)という形で、ネットワークI/F208
a及び外部I/F209aを介して送られてくる。送ら
れてきたコマンドは、プロトコル解釈部303で解釈さ
れた後、ジョブ制御部401aに送られる。この時点で
コマンドは、ジョブ制御部304が理解できる形に変換
されることになる。
The host computers 101a to 101a to
A series of operation requests sent from the network interface 103a are transmitted as a command (protocol) in the form of a network I / F 208.
a and the external I / F 209a. The sent command is interpreted by the protocol interpreting unit 303 and then sent to the job control unit 401a. At this point, the command is converted into a form that the job control unit 304 can understand.

【0493】ジョブ生成部401aはジョブ410aを
生成する。このジョブ410aはコピージョブ、プリン
トジョブ、スキャンジョブ及びファックスジョブ等、様
々なものが考えられる。
[0493] The job generation unit 401a generates a job 410a. Various jobs such as a copy job, a print job, a scan job, and a fax job can be considered as the job 410a.

【0494】例えば、プリントジョブならば印刷する文
書の名前や印刷部数、出力先の排紙トレイの指定等の設
定情報や、印刷データ自体(PDLデータ)等も含まれ
る。ジョブ410aはジョブ処理部402aに送られ、
処理が行われる。ここでは、ジョブ410a全体に関す
る設定(複数の文書をまとめて印刷しステープルする
等)や処理が行われる。
For example, in the case of a print job, it also includes setting information such as the name of a document to be printed, the number of copies, designation of an output tray as an output destination, and print data itself (PDL data). The job 410a is sent to the job processing unit 402a,
Processing is performed. Here, settings (such as collectively printing and stapling a plurality of documents) and processing relating to the entire job 410a are performed.

【0495】更に、ジョブ処理部402aでは、ジョブ
410a全体に関する設定や処理以外は、更に小さな仕
事の単位である入力ドキュメント411aに分割する。
入力ドキュメント411aは、ドキュメント処理部40
3aにより出力ドキュメント414aに変換処理され
る。
Further, the job processing unit 402a divides the job 410a into input documents 411a, which are smaller units of work, except for the settings and processing relating to the entire job 410a.
The input document 411a is sent to the document processing unit 40
The document is converted into an output document 414a by 3a.

【0496】つまり、例えば、原稿の束をスキャナで読
み取り、複数のイメージデータに変換するスキャンジョ
ブを考えると、原稿の束に関する設定や操作の手順が書
かれているのが入力ドキュメント411aであり、複数
のイメージデータに関する設定や操作の手順が書かれて
いるのが出力ドキュメント414aである。そして、紙
の束を複数のイメージデータに変換する役割を持ってい
るのがドキュメント処理部403aである。
That is, for example, considering a scan job in which a bundle of originals is read by a scanner and converted into a plurality of image data, the input document 411a describes the settings and operation procedures related to the bundle of originals. An output document 414a describes settings and operation procedures for a plurality of image data. The document processing unit 403a has a role of converting a bundle of paper into a plurality of image data.

【0497】また、ドキュメント処理部403aは、ド
キュメント単位の処理のみ行い、更に小さな仕事の単位
である入力ページ412aを生成する。これは、ちょう
どジョブ処理部402aがジョブ単位の処理に専念し
て、更に細かい仕事のためにドキュメントを生成するの
と同じである。ドキュメント単位の設定及び操作は、具
体的にはページの並び替え、両面印刷の指定、表示の付
加、OHP中差し等のページ順序に関するものである。
[0497] The document processing unit 403a performs only processing in units of documents, and generates an input page 412a that is a smaller unit of work. This is the same as the case where the job processing unit 402a concentrates on processing on a job basis and generates a document for more detailed work. The setting and operation in the document unit specifically relate to page order such as page rearrangement, double-sided printing designation, display addition, OHP insertion, and the like.

【0498】また、入力ページ412aはページ処理部
404aにより出力ページ415aに変換される。例え
ば、上記の例のスキャンジョブの場合は、入力ページ4
12aには読み取りの解像度、読み取りの向き(ランド
スケープ/ポートレイト)等の設定や手順が書かれてお
り、出力ページ415aにはイメージデータの格納場所
(RAM203aや外部記憶装置204aのアドレスや
データ名)等の設定や手順が書かれている。
The input page 412a is converted into an output page 415a by the page processing section 404a. For example, in the case of the above-described scan job, the input page 4
Settings and procedures such as reading resolution and reading direction (landscape / portrait) are written in 12a, and the storage location of image data (address and data name of the RAM 203a and the external storage device 204a) is written in the output page 415a. Settings and procedures are written.

【0499】以上の処理により、ジョブの構成をページ
単位に分解して扱えるようになる。
[0499] Through the above processing, the job configuration can be decomposed into pages and handled.

【0500】高価なシステムでは、1ページ分のページ
メモリを持てるならば、最終的にページ単位までジョブ
を詳細化すればよい。しかし、現実にはメモリのコスト
等の問題や、印刷エンジンがインクジェットプリンタの
ような低速の場合には、数ライン分のメモリ(バンドメ
モリ)しか持たないシステムも考えられる。そのような
場合には、ページを更に細かい単位であるバンドに分け
て扱う。それが入力バンド413a、バンド処理部40
5a、出力バンド416aの役目である。これらの動作
に関しては、ページの場合と同様である。
In an expensive system, if a page memory for one page can be provided, the job may be finally detailed in page units. However, in reality, when the cost of the memory is a problem or when the print engine is at a low speed such as an ink jet printer, a system having only a few lines of memory (band memory) may be considered. In such a case, the page is divided into bands, which are smaller units. That is the input band 413a, the band processing unit 40
5a, the role of the output band 416a. These operations are similar to those of the page.

【0501】ジョブ処理部402a、ドキュメント処理
部403a、ページ処理部404a及びバンド処理部4
05aは、いずれも処理を進める際にデバイスを使用す
る。複数の処理部が同時に仕事を進めるとデバイスの競
合が発生するので、それを調停するのがデバイス割り当
て部406aである。第1〜第3デバイス407a〜4
09aは、デバイス割り当て部406aにより上記処理
部に割り当てられるデバイスである。
[0501] Job processing unit 402a, document processing unit 403a, page processing unit 404a, and band processing unit 4
05a uses a device when proceeding with the process. If a plurality of processing units work simultaneously, device contention occurs, and the device arbitration unit 406a mediates the conflict. First to third devices 407a to 407
09a is a device assigned to the processing unit by the device assignment unit 406a.

【0502】デバイスの例としては、ページメモリやバ
ンドメモリ、ドキュメントフィーダー、マーキングエン
ジン及びスキャナ等が考えられる。
[0502] Examples of the device include a page memory, a band memory, a document feeder, a marking engine, and a scanner.

【0503】(複合ジョブの処理)図110では単一の
ジョブをページ単位に分解して、デバイスの割り当てを
行う処理を示した。次に、図111を用いて複合したジ
ョブの処理を説明する。
(Processing of Composite Job) FIG. 110 shows processing of decomposing a single job into pages and allocating devices. Next, processing of a combined job will be described with reference to FIG.

【0504】「複合したジョブ」とは、例えばジョブが
コピージョブであれば、スキャンジョブと、プリントジ
ョブとに分割され、FAX受信ジョブであれば、データ
の受信ジョブと、受信したデータのプリントジョブとに
分割される。分割されたジョブはページ単位にデバイス
が割り当てられ、処理される。以下その処理内容につい
て説明する。なお、情報処理システムの基本的な構成
は、上述した単一ジョブの分割で説明した図107〜図
109と同一であるから、必要に応じてこれらの図を流
用して説明する。
[0504] The "combined job" is, for example, if the job is a copy job, it is divided into a scan job and a print job, and if it is a FAX reception job, the data reception job and the received data print job And divided into Devices are allocated to the divided jobs on a page basis and are processed. Hereinafter, the processing content will be described. Note that the basic configuration of the information processing system is the same as in FIGS. 107 to 109 described in the above-described division of a single job, and therefore, these drawings will be used as necessary.

【0505】図111は、複合ジョブを処理する情報処
理システムにおける周辺機器のソフトウェア構造の詳細
を示す図である。同図において、303はプロトコル解
釈部、304はジョブ制御部、305はデバイス部であ
る。
FIG. 111 is a diagram showing details of the software structure of peripheral devices in the information processing system for processing a composite job. In the figure, reference numeral 303 denotes a protocol interpreting unit, 304 denotes a job control unit, and 305 denotes a device unit.

【0506】コピージョブは、ジョブ制御部304の中
では、2つのジョブ(スキャンジョブとプリントジョ
ブ)に分割され処理される。図107のホストコンピュ
ータ101a〜103aから送られてきた一連の操作依
頼は、コマンド(プロトコル)という形で図108のネ
ットワークI/F208a及び外部I/F209aを介
して送られてくる。
The copy job is divided into two jobs (scan job and print job) in the job control unit 304 and processed. A series of operation requests sent from the host computers 101a to 103a in FIG. 107 are sent in the form of commands (protocols) via the network I / F 208a and the external I / F 209a in FIG.

【0507】送られてきたコマンドは、プロトコル解釈
部303で解釈された後、ジョブ制御部304へ送られ
る。この時点でコマンドは、ジョブ制御部304が理解
できる形に変換されることになる。ジョブ生成部401
aは図110のジョブ410aを生成する。本実施の形
態では、コピージョブが生成されることになる。
[0507] The transmitted command is interpreted by the protocol interpreting unit 303 and then sent to the job control unit 304. At this point, the command is converted into a form that the job control unit 304 can understand. Job generation unit 401
a generates the job 410a of FIG. In the present embodiment, a copy job is generated.

【0508】生成されたコピージョブ513は、図11
1の複合ジョブ処理部501に送られ、スキャンジョブ
514とプリントジョブ521が生成される。スキャン
ジョブ514とプリントジョブ521は、生成と同時に
それぞれスキャンジョブ処理部502、プリントジョブ
処理部506に送られる。当然ながらスキャンの動作が
始まりプリンタ512に出力するデータができあがる
(または、準備ができる)ような状態にならないと、プ
リントの動作を開始することができない。従って、スキ
ャンに関する処理部(502,503,504,50
5)とプリントに関する処理部(506,507,50
8,509)は、中間データを意味する中間ドキュメン
ト518、中間ページ519、中間バンド520を介し
て同期をとりながら処理を進めることになる。当該コピ
ージョブでは、使用するデバイスとしてスキャナ51
0、ページメモリ511、プリンタ512が挙げられ
る。
[0508] The generated copy job 513 corresponds to the copy job 513 shown in FIG.
The scan job 514 and the print job 521 are sent to the first composite job processing unit 501. The scan job 514 and the print job 521 are sent to the scan job processing unit 502 and the print job processing unit 506, respectively, at the same time as the generation. Of course, the printing operation cannot be started unless the scanning operation starts and data to be output to the printer 512 is completed (or ready). Therefore, the processing units (502, 503, 504, 50
5) and a processing unit (506, 507, 50) related to printing
8, 509), the process proceeds while synchronizing via an intermediate document 518, an intermediate page 519, and an intermediate band 520 which mean intermediate data. In the copy job, the scanner 51 is used as a device to be used.
0, page memory 511, and printer 512.

【0509】図115はジョブの分割例を示すブロック
図である。ホストコンピュータ301から送られてきた
コマンドがコピージョブである場合、ジョブ制御部30
4の処理は、コピージョブを更にプリントジョブとスキ
ャンジョブとに分割し、分割したジョブを処理するため
のデバイス(例えば、プリンタ、スキャナ、メモリ等)
が割り当てられ、それぞれ処理が進められる。
FIG. 115 is a block diagram showing an example of job division. If the command sent from the host computer 301 is a copy job, the job control unit 30
The processing of No. 4 further divides the copy job into a print job and a scan job, and a device (eg, printer, scanner, memory, etc.) for processing the divided job
Are assigned, and the processing proceeds.

【0510】以上のように、ジョブをページ単位に分割
して、各々の処理を実行するデバイスの割り当てと解放
を先に説明したDoEngineと組合わせて行うこと
により、効率的な複合機の制御が可能になることを以下
に説明する。
As described above, by dividing a job into pages and allocating and releasing devices for executing each processing in combination with the above-described DoEngine, efficient control of the multifunction peripheral is achieved. The possibilities are described below.

【0511】図4のDoEngineのブロックを用い
て、コピー動作を行う場合のデータの流れを説明する。
この場合、処理系のデバイスとして割り当てられるのは
スキャナとプリンタである(図5の514、521)。
スキャンジョブ(514)の場合、スキャナからのイメ
ージデータはスキャナコントローラ4302により制御
され、GBUs404、システムバスブリッジ402を
介してメモリ403に書込まれる。プリントジョブの場
合、メモリ403に書込まれたデータは、システムバス
ブリッジ402、BBus405を介してプリンタコン
トローラ4303に送られプリント処理される。Dua
l−Bus構成とすることにより、Busの占有を解消
し、並列的に、CPU、メモリへのアクセスが可能にな
る。データの入力と平行して、出力を並列したタイミン
グで行うことが可能になる。
[0511] The data flow when a copy operation is performed using the DoEngine block in Fig. 4 will be described.
In this case, a scanner and a printer are assigned as processing devices (514 and 521 in FIG. 5).
In the case of the scan job (514), image data from the scanner is controlled by the scanner controller 4302 and written into the memory 403 via the GBUs 404 and the system bus bridge 402. In the case of a print job, the data written in the memory 403 is sent to the printer controller 4303 via the system bus bridge 402 and BBus 405, and is subjected to print processing. Dua
By adopting the l-Bus configuration, the occupation of the Bus is eliminated, and the CPU and the memory can be accessed in parallel. The output can be performed in parallel with the data input and the output in parallel.

【0512】つまり、図5の処理でコピージョブ513
を分割したスキャンジョブ514とプリントジョブ52
1とは並列して処理することが可能になる。
That is, the copy job 513 in the processing of FIG.
Scan job 514 and print job 52 obtained by dividing
1 can be processed in parallel.

【0513】DoEngineを用いて、ページ単位の
入出力処理を行う際のデバイスの割り当てと解放を次に
説明する。
[0513] The allocation and release of devices when performing input / output processing in page units using DoEngine will be described below.

【0514】図113はスキャナとプリンタを処理系の
デバイス例として、ジョブ単位にシリアルに処理した従
来の場合(図113(a))と,本実施形態において、
ページ単位に並列に処理した場合(図113(b))の
デバイスの割り当てと解放をタイミングチャートとして
示した図である。
[0514] Fig. 113 shows a conventional case in which a scanner and a printer are serially processed on a job basis using a processing system as an example of a processing system (Fig. 113 (a)).
FIG. 113 is a timing chart showing device allocation and release when processing is performed in parallel in page units (FIG. 113B).

【0515】図113(a)の場合、ジョブ1のデバイ
スの割り当ては時刻T1でスキャナが割り当てられ、時
刻T2で解放される。続いてプリンタが時刻T3で割り
当てられ、時刻T4で解放される。後続のジョブ2で必
要となるスキャナ処理は時刻T5で割り当てられるが、
ジョブ1の処理でT2からT4までの時間帯はスキャナ
の空き時間であり、ジョブ2に対するむだ時間となる。
ジョブ2のプリンタはスキャナの解放(時刻T6)後、
時刻T7で割り当てられ時刻T8で解放される。
In the case of FIG. 113 (a), the device of job 1 is allocated to the scanner at time T1 and released at time T2. Subsequently, the printer is assigned at time T3 and released at time T4. Scanner processing required for the subsequent job 2 is assigned at time T5.
The time zone from T2 to T4 in the processing of job 1 is the idle time of the scanner, and is the dead time for job 2.
After releasing the scanner (time T6), the printer of job 2
It is allocated at time T7 and released at time T8.

【0516】ここで、「むだ時間」とは資源としてのデ
バイスは処理可能な状態であるにもかかわらず、入力す
るべき情報の仕掛かりによりデバイスが処理に着手でき
ない時間をいう。
[0516] Here, "dead time" refers to a time during which a device as a resource is in a processable state but cannot start processing due to a process of information to be input.

【0517】一方、図113(b)の場合、ジョブ1の
デバイスの割り当ては時刻T1でスキャナが割り当てら
れ、時刻T2で解放される。DoEngineによる処
理の並列化により、スキャナの解放前(時刻T2)に、
プリンタの割り当てが行われる(時刻T1a)。ジョブ
2に対するスキャナの割り当ては、時刻T2以降、可能
になる。例えば、T1cにスキャナの割り当て要求があ
った場合、T1cからT2までがスキャナ割り当てまで
の待機時間となる。
[0517] On the other hand, in the case of FIG. 113 (b), the device for job 1 is allocated to the scanner at time T1 and released at time T2. Before the scanner is released (time T2), the process is parallelized by DoEngine.
Printer assignment is performed (time T1a). The assignment of the scanner to the job 2 becomes possible after the time T2. For example, when there is a scanner assignment request at T1c, the time from T1c to T2 is the standby time until scanner assignment.

【0518】同様にプリンタの割り当ては、スキャナの
解放前(時刻T1d)に可能であり、時刻T1b以降割
り当てられ、時刻T1fに解放される。プリンタの割り
当て要求が時刻T1eにあった場合、T1eからT1b
までの時間帯はプリンタ割り当てまでの待機時間であ
る。以上の説明はコピージョブ同士を例に説明したが、
コピーとFAX、コピーとPDLプリント等を処理する
場合でも同様である。ジョブ1及び2のスループットは
(a),(b)を比較するとT8−T1fと短縮され
る。
Similarly, the printer can be allocated before the scanner is released (time T1d), allocated after time T1b, and released at time T1f. When the printer allocation request is received at time T1e, T1e is changed to T1b.
The time period up to is a waiting time until the printer is assigned. In the above description, copy jobs are described as examples.
The same applies to the case of processing copy and facsimile, copy and PDL print, and the like. The throughput of jobs 1 and 2 is reduced to T8-T1f when comparing (a) and (b).

【0519】ここで、「待機時間」とは、処理すべきデ
ータはすでに用意されておりデバイスの解放待ちとなる
時間をいい、入出力データの並列的な処理を可能にし、
データの仕掛かりを解消する点において、従来とは異な
るものである。ジョブのプライオリティなどの条件を反
映した、アービトレーションをDoEngineにより
行いデバイスの割り当てを制御することにより、「待機
時間」の最適化(最短化)が可能である。
[0519] Here, the "standby time" refers to the time during which data to be processed is already prepared and the device is waiting to be released, enabling parallel processing of input / output data.
This is different from the related art in that the in-process data is eliminated. The arbitration by DoEngine, which reflects conditions such as the priority of a job, is controlled by DoEngine, so that the “standby time” can be optimized (minimized).

【0520】ジョブの単位はFAXの送受信、PDL印
刷、コピー等があり、デバイス割り当て部406aは第
1〜第3デバイス407a〜409aの割当てを行う。
デバイスには、例えば、ページメモリやバンドメモリ、
ドキュメントフィーダー、マーキングエンジン及びスキ
ャナ等も含まれる。
[0520] Job units include FAX transmission / reception, PDL printing, copying, and the like. The device allocating unit 406a allocates first to third devices 407a to 409a.
Devices include, for example, page memory and band memory,
Document feeders, marking engines and scanners are also included.

【0521】図114はコピージョブ513aと、51
3bとが生成された場合のブロック図である。基となる
ジョブが種々生成された場合であても、先に説明したよ
うに、ページ単位の分割を行い、並列的にデバイスの割
り当てと解放を行う点においては同様である。
FIG. 114 shows copy jobs 513a and 51
FIG. 3B is a block diagram in a case where 3b is generated. Even when various base jobs are generated, as described above, the same applies in that page division is performed and devices are allocated and released in parallel.

【0522】システムバスブリッジ402と、Dual
−Bus(GBus404、BBus405)とを用い
たDoEngineアーキテクチャによれば、データ処
理の競合を解消することが可能となり、従来はインタフ
ェース等にローカルに保有していたメモリが不要とな
る。1元的に集中管理されたメモリ403により、情報
を共有することが可能になる。
The system bus bridge 402 and Dual
According to the DoEngine architecture using -Bus (GBus404, BBus405), it is possible to eliminate data processing conflicts, and a memory conventionally held locally in an interface or the like becomes unnecessary. Information can be shared by the centrally managed memory 403.

【0523】(リアルタイム性の向上)図107から1
08に示した構成では、リアルタイム性の要求される処
理部もリアルタイム性の低い処理部も共通のCPUを用
いていたが、DoEngineをサテライトとして使用
し、CPUの使い分けを行うことで、リアルタイム性を
更に向上させることができる。
(Improvement of real-time property) FIG.
In the configuration shown in FIG. 08, the processing unit that requires real-time performance and the processing unit with low real-time performance use a common CPU. However, by using DoEngine as a satellite and using CPUs properly, real-time performance It can be further improved.

【0524】図107の構成に代え図115(a)のよ
うな構成を用いてもよい。図115(a)において、P
C115−1、115−2はホストコンピュータであ
り、115−3はDOEngineを備えたサテライト
PCである。DOEngineはPCIバスインターフ
ェースを有するので、PCIバススロットを有するコン
ピュータシステムと共に用いることができる。スキャナ
115−4、プリンタ115−5はPCIスロットを介
してPC115−3と接続したPCIサテライト構成と
なる。図115(b)はホストコンピュータと、サテラ
イトPCとが並列に接続した図(115−6、115−
7)であり、PCIバスを介して次世代複合機能周辺機
器(MFP)と接続した図である。
[0524] Instead of the configuration in Fig. 107, a configuration as shown in Fig. 115 (a) may be used. In FIG. 115 (a), P
C115-1 and C115-2 are host computers, and 115-3 is a satellite PC equipped with DOEngine. Since DOEngine has a PCI bus interface, it can be used with computer systems having PCI bus slots. The scanner 115-4 and the printer 115-5 have a PCI satellite configuration connected to the PC 115-3 via a PCI slot. FIG. 115 (b) is a diagram (115-6, 115-) in which a host computer and a satellite PC are connected in parallel.
7) is a diagram connected to a next-generation multifunction peripheral (MFP) via a PCI bus.

【0525】(サテライトDoEngine)図116
は、図115で示したサテライトPCにおけるDOEn
gineの接続に関するブロック図である。同図におい
て、DOEngine116−1はCPU401を備
え、リアルタイム性の高いジョブを優先的に処理をす
る。
(Satellite DoEngine) FIG. 116
Is the DOEn in the satellite PC shown in FIG.
FIG. 4 is a block diagram relating to connection of a Gine. In the figure, the DOEngine 116-1 includes a CPU 401, and preferentially processes a job having a high real-time property.

【0526】116−2はROM(リードオンリーメモ
リ)で、システム起動プログラムやプリンタエンジンの
制御を行うプログラム及び文字データ、文字コード情報
等の記憶領域である。
Reference numeral 116-2 denotes a ROM (Read Only Memory), which is a storage area for a system startup program, a program for controlling the printer engine, character data, character code information, and the like.

【0527】116−3はRAM(ランダムアクセスメ
モリ)で、使用期限のない記憶領域で、ダウンロードに
より追加登録されたフォントデータが記憶されたり、様
々な処理ごとにプログラムやデータがロードされ実行さ
れる。
Reference numeral 116-3 denotes a RAM (random access memory), which is a storage area with no expiration date, in which font data additionally registered by download is stored, and programs and data are loaded and executed for various processes. .

【0528】116−4は例えばハードディスク等の外
部記憶装置で、印刷装置(プリンタ)が受け付けた印刷
ジョブ(プリントジョブ)をスプールしたり、プログラ
ムや各種情報ファイル等が格納されたり、作業用の領域
として利用される。
Reference numeral 116-4 denotes an external storage device such as a hard disk, which spools a print job (print job) received by the printing device (printer), stores programs and various information files, and stores a work area. Used as

【0529】116−5は液晶表示機等の表示部で、印
刷装置の設定状態や、現在の印刷装置内部の処理状態
や、エラー状態等を表示する。
Reference numeral 116-5 denotes a display unit such as a liquid crystal display, which displays a setting state of the printing apparatus, a current processing state in the printing apparatus, an error state, and the like.

【0530】116−6は操作部で、印刷装置の設定を
変更したり、リセットするために使用される。
An operation unit 116-6 is used to change or reset the settings of the printing apparatus.

【0531】116−7はエンジンインターフェース
(エンジンI/F)で、実際にエンジンを制御するコマ
ンド等をやり取りする。
[0531] Reference numeral 116-7 denotes an engine interface (engine I / F) for exchanging commands and the like for actually controlling the engine.

【0532】116−8はネットワークインターフェー
ス(ネットワークI/F)で、このネットワークI/F
208aを介して機器がネットワークに接続される。
Reference numeral 116-8 denotes a network interface (network I / F).
The device is connected to the network via 208a.

【0533】116−9は外部インターフェース(外部
I/F)で、パラレル(またはシリアル)等のインター
フェースを介してホストコンピュータと接続される。2
10はシステムバスで、上述した各構成要素間のデータ
の通路となる。
An external interface (external I / F) 116-9 is connected to a host computer via an interface such as parallel (or serial). 2
Reference numeral 10 denotes a system bus, which serves as a data path between the above-described components.

【0534】図117は、図109に対応するソフトウ
エアの構成を示す図である。同図において、リアルタイ
ム性の低い部分とリアルタイム性の高い部分とを分割し
て処理する。全体の処理を単一のCPUでまかなうので
はなく、ホストコンピュータとサテライトコンピュータ
とでそれぞれ処理を使い分けることにより、CPUの負
荷を軽減し、システム全体としての処理能力の向上を図
ることができる。
FIG. 117 is a diagram showing a software configuration corresponding to FIG. 109. In the figure, a part having a low real-time property and a part having a high real-time property are divided and processed. The overall processing is not performed by a single CPU, but the processing is selectively used by the host computer and the satellite computer, whereby the load on the CPU can be reduced and the processing capacity of the entire system can be improved.

【0535】例えば、図117のプロトコル解釈部11
7−3の処理は、リアルタイム性の要求は低いのでPC
117−2(例えば、図115のPC115−1、11
5−2)のCPUで処理し、解釈されたコマンドはPC
Iバスを介してサテライトコンピュータ117−6(図
115のPC115−3)に送られ、DoEngine
のCPUでリアルタイムに処理される。送られたコマン
ドはサテライトコンピュータで、ジョブ制御され(11
7−4)、デバイスの割付、解放が行われる(117−
5)。
For example, the protocol interpreter 11 shown in FIG.
The processing of 7-3 requires a PC
117-2 (for example, PCs 115-1, 11 in FIG. 115)
The command processed and interpreted by the CPU of 5-2) is a PC
The data is sent to the satellite computer 117-6 (PC115-3 in FIG. 115) via the I bus, and is transmitted to the DoEngine.
Is processed in real time by the CPU. The transmitted command is job-controlled by the satellite computer (11).
7-4), device allocation and release are performed (117-).
5).

【0536】[0536]

【発明の効果】以上のように、システムバスブリッジ
と、Dual−Busを用いたDoEngineアーキ
テクチャにより画像情報の入力と出力の競合を解消し、
画像情報を処理するため各デバイスで使用するデータを
1元的に管理したメモリで共有することを可能とする。
As described above, the conflict between the input and output of image information is eliminated by the system bus bridge and the DoEngine architecture using Dual-Bus.
Data used by each device for processing image information can be shared by a centrally managed memory.

【図面の簡単な説明】[Brief description of the drawings]

【図1】DoEngineを用いた装置あるいはシステ
ムの構成例の図である。
FIG. 1 is a diagram of a configuration example of an apparatus or a system using DoEngine.

【図2】DoEngineを用いた装置あるいはシステ
ムの構成例の図である。
FIG. 2 is a diagram of a configuration example of an apparatus or a system using DoEngine.

【図3】DoEngineを用いた装置あるいはシステ
ムの構成例の図である。
FIG. 3 is a diagram of a configuration example of an apparatus or system using DoEngine.

【図4】DoEngineのブロック図であるFIG. 4 is a block diagram of DoEngine.

【図5】キャッシュメモリコントローラの3つのステー
トを示す図である。
FIG. 5 is a diagram showing three states of a cache memory controller.

【図6】インタラプトコントローラ410のブロック図
である。
FIG. 6 is a block diagram of an interrupt controller 410.

【図7】メモリコントローラ403のブロック図であ
る。
FIG. 7 is a block diagram of a memory controller 403.

【図8】キャッシュコントローラ706を中心とする詳
細なブロック図である。
FIG. 8 is a detailed block diagram mainly showing a cache controller 706;

【図9】MCバスよりメモリリード/ライト転送が要求
された場合のキャッシュの動作を示すフローチャートで
ある。
FIG. 9 is a flowchart showing a cache operation when a memory read / write transfer is requested from the MC bus.

【図10】MCバスよりメモリリード/ライト転送が要
求された場合のキャッシュの動作を示すフローチャート
である。
FIG. 10 is a flowchart showing a cache operation when a memory read / write transfer is requested from the MC bus.

【図11】ROM/RAMコントローラ707の構成を
示す図である。
FIG. 11 is a diagram showing a configuration of a ROM / RAM controller 707.

【図12】CPUからのバースト読み出しのタイミング
を示すタイミング図である。
FIG. 12 is a timing chart showing the timing of burst reading from the CPU.

【図13】CPUからのバースト書き込みのタイミング
を示すタイミング図である。
FIG. 13 is a timing chart showing the timing of burst writing from the CPU.

【図14】Gバスデバイスからのバースト読み出しのタ
イミングを示すタイミング図である。
FIG. 14 is a timing chart showing the timing of burst reading from a G bus device.

【図15】Gバスデバイスからのバースト書き込みのタ
イミングを示すタイミング図である。
FIG. 15 is a timing chart showing the timing of burst write from a G bus device.

【図16】メモリフロントキャッシュにヒットした場合
のシングル読み出しのタイミングを示すタイミング図で
ある。
FIG. 16 is a timing chart showing the timing of a single read when a hit occurs in a memory front cache.

【図17】メモリフロントキャッシュにヒットしなかっ
た場合のシングル読み出しのタイミングを示すタイミン
グ図である。
FIG. 17 is a timing chart showing the timing of a single read when no hit occurs in the memory front cache.

【図18】メモリフロントキャッシュにヒットした場合
のシングル書き込みのタイミングを示すタイミング図で
ある。
FIG. 18 is a timing chart showing the timing of a single write when a hit occurs in a memory front cache.

【図19】メモリフロントキャッシュにヒットしなかっ
た場合のシングル書き込みのタイミングを示すタイミン
グ図である。
FIG. 19 is a timing chart showing the timing of a single write when no hit occurs in the memory front cache.

【図20】システムバスブリッジ(SBB)402のブ
ロック図である。
20 is a block diagram of a system bus bridge (SBB) 402. FIG.

【図21】Bバスインターフェースのブロック図であ
る。
FIG. 21 is a block diagram of a B bus interface.

【図22】Gバスインターフェース2006のブロック
図である。
FIG. 22 is a block diagram of a G bus interface 2006.

【図23】仮想メモリマップ、物理メモリマップ、Gバ
スのアドレス空間でのメモリマップ、Bバスのアドレス
空間でのメモリマップの図である。
FIG. 23 is a diagram of a virtual memory map, a physical memory map, a memory map in a G bus address space, and a memory map in a B bus address space.

【図24】レジスタ等を含む図23における斜線部の5
12メガバイトを示すマップの図である。
FIG. 24 shows a hatched portion 5 in FIG. 23 including a register and the like;
FIG. 4 is a diagram of a map showing 12 megabytes.

【図25】アドレススイッチ2003のブロック図であ
る。
FIG. 25 is a block diagram of an address switch 2003.

【図26】データスイッチ2004のブロック図であ
る。
FIG. 26 is a block diagram of a data switch 2004.

【図27】Gバスからの書き込み/読み出しサイクルの
タイミング図である。
FIG. 27 is a timing chart of a write / read cycle from the G bus.

【図28】Gバスのバースト停止サイクルのタイミング
図である。
FIG. 28 is a timing chart of a burst stop cycle of the G bus.

【図29】Gバスのトランザクション停止サイクルのタ
イミング図である。
FIG. 29 is a timing chart of a G bus transaction stop cycle.

【図30】Gバスのトランザクション停止サイクルのタ
イミング図である。
FIG. 30 is a timing chart of a G bus transaction stop cycle.

【図31】Gバスのトランザクション停止サイクルのタ
イミング図である。
FIG. 31 is a timing chart of a G bus transaction stop cycle.

【図32】Gバスのトランザクション停止サイクルのタ
イミング図である。
FIG. 32 is a timing chart of a G bus transaction stop cycle.

【図33】PCIバスインターフェース416のブロッ
ク図である。
FIG. 33 is a block diagram of a PCI bus interface 416.

【図34】Gバスアービタ(GBA)406のブロック
図である。
FIG. 34 is a block diagram of a G bus arbiter (GBA) 406.

【図35】DoEngine400内におけるGバス4
04を中心とする、Gバス上のバスマスタによるDMAに
係るブロック図である。
FIG. 35 shows a G bus 4 in DoEngine 400.
FIG. 4 is a block diagram related to a DMA by a bus master on a G bus centering on 04.

【図36】連続してバスを使用する回数が、バスマスタ
1〜4のすべてについて1に設定されている場合の公平
アービトレーションモード(フェアモード)の例を示す
図である。
FIG. 36 is a diagram illustrating an example of a fair arbitration mode (fair mode) when the number of times of continuous use of the bus is set to 1 for all of the bus masters 1 to 4;

【図37】連続してバスを使用する回数が、バスマスタ
1についてのみ2であり、他のバスマスタは1に設定さ
れている場合の公平アービトレーションモードの例を示
す図である。
FIG. 37 is a diagram illustrating an example of the fair arbitration mode when the number of times of continuous bus use is 2 for only the bus master 1 and the other bus masters are set to 1;

【図38】連続してバスを使用する回数がそれぞれ1ず
つであり、バスマスタ1が優先バスマスタと設定されて
いる場合の優先アービトレーションモードの例を示す図
である。
FIG. 38 is a diagram illustrating an example of a priority arbitration mode when the number of times of continuous use of the bus is one and the bus master 1 is set as a priority bus master.

【図39】バスマスタ1からのバス要求により、バスマ
スタ4のバス要求が許可されているにもかかわらず中断
された例を示す図である。
FIG. 39 is a diagram showing an example in which a bus request from the bus master 1 is interrupted even though the bus request from the bus master 4 is permitted.

【図40】Bバスアービタ407のブロック図である。40 is a block diagram of a B bus arbiter 407. FIG.

【図41】同期ユニット4001のブロック図である。FIG. 41 is a block diagram of a synchronization unit 4001.

【図42】同期ユニット内の一つコンペアユニットの図
である。
FIG. 42 is a diagram of one compare unit in the synchronization unit.

【図43】スキャナ/プリンタコントローラのブロック
図である。
FIG. 43 is a block diagram of a scanner / printer controller.

【図44】スキャナコントローラ4302のブロック図
である。
FIG. 44 is a block diagram of a scanner controller 4302.

【図45】スキャナデバイスI/F4401のブロック図
である。
FIG. 45 is a block diagram of a scanner device I / F 4401.

【図46】スキャナビデオクロックユニット4402の
ブロック図である。
FIG. 46 is a block diagram of a scanner video clock unit 4402.

【図47】スキャナビデオデータマスク4601のブロ
ック図である。
FIG. 47 is a block diagram of a scanner video data mask 4601.

【図48】スキャナビデオデータマスク4602のブロ
ック図である。
FIG. 48 is a block diagram of a scanner video data mask 4602.

【図49】スキャナビデオデータ幅コンバータ4603
のブロック図である。
FIG. 49: Scanner video data width converter 4603
It is a block diagram of.

【図50】RGB各8ビットのカラー画像データ(24
ビット格納モード)のメモリ上でのならびを示す図であ
る。
FIG. 50 shows color image data (24 bits) for each of 8 bits of RGB.
FIG. 9 is a diagram showing the arrangement on a memory in a bit storage mode).

【図51】RGB各8ビットのカラー画像データ(32
ビット格納モード)のメモリ上でのならびを示す図であ
る。
FIG. 51 shows color image data (32 bits) for each of 8 bits of RGB.
FIG. 9 is a diagram showing the arrangement on a memory in a bit storage mode).

【図52】8ビットの白黒画像データのメモリ上でのな
らびを示す図である。
FIG. 52 is a diagram showing an arrangement of 8-bit monochrome image data on a memory.

【図53】2値の白黒画像データのメモリ上でのならび
を示す図である。
FIG. 53 is a diagram showing the arrangement of binary black and white image data on a memory.

【図54】BW8パッキングユニット4901により、
多値8ビットの白黒画像データを64ビット幅に変換す
る際のタイミング図である。
FIG. 54: Using a BW8 packing unit 4901
FIG. 9 is a timing chart when converting multi-valued 8-bit monochrome image data to a 64-bit width.

【図55】シフトレジスタ4902により2値白黒画像
データを64ビット幅に変換する際の画像データ入力の
タイミング図である。
FIG. 55 is a timing chart of image data input when binary black-and-white image data is converted into a 64-bit width by the shift register 4902.

【図56】RGBパッキングユニット4903により、
RGB各8ビット(全24ビット)の画像データを64
ビット幅に変換する際のタイミング図である。
FIG. 56 shows an RGB packing unit 4903.
RGB image data of 8 bits (24 bits in total) is 64
It is a timing chart at the time of converting into a bit width.

【図57】RGBパッキングユニット4903のブロッ
ク図である。
FIG. 57 is a block diagram of an RGB packing unit 4903.

【図58】スキャナ画像データ転送FIFOコントローラ4
403のブロック図である。
FIG. 58: Scanner image data transfer FIFO controller 4
It is a block diagram of 403.

【図59】スキャナコントローラコントロールレジスタ
4404のブロック図である。
FIG. 59 is a block diagram of a scanner controller control register 4404.

【図60】IRQコントローラ4406のブロック図であ
る。
FIG. 60 is a block diagram of an IRQ controller 4406.

【図61】メモリフィルモードコントローラ4405の
ブロック図である。
FIG. 61 is a block diagram of a memory fill mode controller 4405.

【図62】スキャナコントローラ4302からデータを
読み出してDMA転送する際のタイミング図である。
FIG. 62 is a timing chart when data is read from the scanner controller 4302 and DMA-transferred.

【図63】スキャナコントローラ4302の内部レジス
タに対して読み出しあるいは書き込みを行うタイミング
図である。
FIG. 63 is a timing chart for reading or writing to an internal register of the scanner controller 4302.

【図64】信号sccDmaPmStateの値及びクロックの状態
と信号sccPmStateの値との関係を示す図である。
FIG. 64 is a diagram illustrating a relationship between a value of a signal sccDmaPmState, a state of a clock, and a value of a signal sccPmState.

【図65】スキャナコントローラ4302における、各
ブロックを含むコア部分と外部バスやスキャナとの間で
入出力される信号をまとめた図である。
FIG. 65 is a diagram summarizing signals input and output between a core portion including each block and an external bus or scanner in the scanner controller 4302.

【図66】プリンタコントローラ4303のブロック図
である。
FIG. 66 is a block diagram of a printer controller 4303.

【図67】プリンタデバイスI/F6601のブロック図
である。
FIG. 67 is a block diagram of a printer device I / F6601.

【図68】プリンタビデオクロックユニット6602の
ブロック図である。
FIG. 68 is a block diagram of a printer video clock unit 6602.

【図69】プリンタビデオデータマスク6801のブロ
ック図である。
FIG. 69 is a block diagram of a printer video data mask 6801.

【図70】プリンタビデオ同期コントロールユニット6
802のブロック図である。
FIG. 70: Printer video synchronization control unit 6
802 is a block diagram.

【図71】ビデオデータ幅コンバータ6803のブロッ
ク図である。
FIG. 71 is a block diagram of a video data width converter 6803.

【図72】RGB各8ビットのカラー画像データ(24
ビット格納モード)のメモリ上でのならびを示す図であ
る。
FIG. 72 shows color image data (24 bits) for each of 8 bits of RGB.
FIG. 9 is a diagram showing the arrangement on a memory in a bit storage mode).

【図73】RGB各8ビットのカラー画像データ(32
ビット格納モード)のメモリ上でのならびを示す図であ
る。
FIG. 73 shows color image data of 32 bits each of RGB (32 bits).
FIG. 9 is a diagram showing the arrangement on a memory in a bit storage mode).

【図74】8ビットの白黒画像データのメモリ上でのな
らびを示す図である。
FIG. 74 is a diagram showing the arrangement of 8-bit monochrome image data on a memory.

【図75】2値の白黒画像データのメモリ上でのならび
を示す図である。
FIG. 75 is a diagram showing the arrangement of binary monochrome image data on a memory.

【図76】RGBoutユニット7101のブロック図であ
る。
FIG. 76 is a block diagram of an RGBout unit 7101.

【図77】プリンタ画像データ転送FIFOコントローラ6
603のブロック図である。
FIG. 77: Printer image data transfer FIFO controller 6
603 is a block diagram of FIG.

【図78】プリンタコントローラコントロールレジスタ
6604のブロック図である。
FIG. 78 is a block diagram of a printer controller control register 6604.

【図79】IRQコントローラ6605のブロック図で
ある。
FIG. 79 is a block diagram of an IRQ controller 6605.

【図80】IRQコントローラ6605のブロック図で
ある。
FIG. 80 is a block diagram of an IRQ controller 6605.

【図81】プリンタコマンド/ステータスコントロール
ユニット6606のブロック図である。
FIG. 81 is a block diagram of a printer command / status control unit 6606.

【図82】オプションコントローラコントロールユニッ
ト6607のブロック図である。
FIG. 82 is a block diagram of an option controller control unit 6607.

【図83】プリンタコントローラ4303へデータをDM
A転送する際のタイミング図である。
FIG. 83 shows data DM sent to the printer controller 4303.
FIG. 6 is a timing chart when performing A transfer.

【図84】プリンタコントローラ4303の内部レジス
タに対して読み出しあるいは書き込みを行うタイミング
図である。
FIG. 84 is a timing chart for reading or writing to an internal register of the printer controller 4303.

【図85】信号pscDmaPmStateの値及びクロックの状態
と信号prcPmStateの値との関係を示す図である。
[Fig. 85] Fig. 85 is a diagram illustrating the relationship between the value of the signal pscDmaPmState, the state of the clock, and the value of the signal prcPmState.

【図86】プリンタコントローラ4303における、各
ブロックを含むコア部分と外部バスやスキャナとの間で
入出力される信号をまとめた図である。
FIG. 86 is a diagram summarizing signals input and output between a core portion including each block and an external bus or scanner in the printer controller 4303.

【図87】電力管理ユニット409のブロック図であ
る。
FIG. 87 is a block diagram of a power management unit 409.

【図88】バスエージェントのブロック図である。FIG. 88 is a block diagram of a bus agent.

【図89】スキャナコントローラからプリンタコントロ
ーラへと直接画像データを転送してコピーする画像のコ
ピー方式で使用されるブロックを示す図である。
FIG. 89 is a diagram illustrating blocks used in an image copying method in which image data is directly transferred from a scanner controller to a printer controller and copied.

【図90】スキャナコントローラからプリンタコントロ
ーラへと、FIFOを介して画像データを転送してコピ
ーする画像のコピー方式で使用されるブロックを示す図
である。
FIG. 90 is a diagram illustrating blocks used in an image copy method in which image data is transferred from a scanner controller to a printer controller via a FIFO and copied.

【図91】スキャナコントローラからプリンタコントロ
ーラへと、メモリを介して画像データを転送してコピー
する画像のコピー方式で使用されるブロックを示す図で
ある。
FIG. 91 is a diagram showing blocks used in an image copy method in which image data is transferred from a scanner controller to a printer controller via a memory and copied.

【図92】GBIのブロック図である。FIG. 92 is a block diagram of GBI.

【図93】FIFOユニットのブロック図である。FIG. 93 is a block diagram of a FIFO unit.

【図94】GBusコントローラのブロック図である。FIG. 94 is a block diagram of a GBus controller.

【図95】BBusコントローラのブロック図である。FIG. 95 is a block diagram of a BBus controller.

【図96】DMAコントローラのブロック図である。FIG. 96 is a block diagram of a DMA controller.

【図97】レジスタユニットのブロック図である。FIG. 97 is a block diagram of a register unit.

【図98】チェインテーブルの構成例を示す図である。FIG. 98 is a diagram illustrating a configuration example of a chain table.

【図99】GBIのコアインターフェースを示す図であ
る。
FIG. 99 is a diagram showing a GBI core interface.

【図100】コピー方式を選択する手順のフローチャー
トである。
FIG. 100 is a flowchart of a procedure for selecting a copy method.

【図101】スキャナコントローラ4302内部のデー
タバスの切り換え回路を示す図である。
FIG. 101 is a diagram showing a data bus switching circuit inside a scanner controller 4302.

【図102】プリンタコントローラ4303内部のデー
タバスの切り換え回路を示す図である。
FIG. 102 is a diagram illustrating a data bus switching circuit inside a printer controller 4303.

【図103】MCバスよりメモリリード/ライト転送が
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
FIG. 103 is a flowchart showing another example of the cache operation when a memory read / write transfer is requested from the MC bus.

【図104】MCバスよりメモリリード/ライト転送が
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
FIG. 104 is a flowchart showing another example of the cache operation when a memory read / write transfer is requested from the MC bus.

【図105】MCバスよりメモリリード/ライト転送が
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
FIG. 105 is a flowchart showing another example of the cache operation when a memory read / write transfer is requested from the MC bus.

【図106】MCバスよりメモリリード/ライト転送が
要求された場合のキャッシュの動作の他の例を示すフロ
ーチャートである。
FIG. 106 is a flowchart showing another example of the cache operation when a memory read / write transfer is requested from the MC bus.

【図107】本発明の実施の形態に係る情報処理システ
ムの構成図である。
FIG. 107 is a configuration diagram of an information processing system according to an embodiment of the present invention.

【図108】本発明の実施の形態に係る情報処理システ
ムにおける周辺機器の基本的な構成を示すブロック図で
ある。
FIG. 108 is a block diagram showing a basic configuration of a peripheral device in the information processing system according to the embodiment of the present invention.

【図109】本発明の実施の形態に係る情報処理システ
ムにおける周辺機器のソフトウェア構造を概要を示す図
である。
FIG. 109 is a diagram showing an outline of a software structure of a peripheral device in the information processing system according to the embodiment of the present invention.

【図110】本発明の第1の実施の形態に係る情報処理
システムにおける周辺機器のソフトウェア構造の詳細を
示す図である。
FIG. 110 is a diagram showing details of a software structure of a peripheral device in the information processing system according to the first embodiment of the present invention.

【図111】本発明の第2の実施の形態に係る情報処理
システムにおける周辺機器のソフトウェア構造の詳細を
示す図である。
FIG. 111 is a diagram illustrating details of a software structure of a peripheral device in the information processing system according to the second embodiment of the present invention.

【図112】従来におけるジョブを一体として処理する
場合のタイミングチャートである。
FIG. 112 is a timing chart in the case where jobs are conventionally processed as one unit.

【図113】デバイスの割り当てと解放を行う処理を説
明する図である。
FIG. 113 is a diagram for describing processing for allocating and releasing devices.

【図114】複数のジョブが生成された場合の処理を説
明する図である。
FIG. 114 is a diagram for describing processing when a plurality of jobs are generated.

【図115】DoEngineをサテライトとして使用
する場合のシステムの構成例を示した図である。
FIG. 115 is a diagram illustrating a configuration example of a system when DoEngine is used as a satellite.

【図116】システムソフトウェア処理を2つのCPU
で別々に処理する場合を説明する図である。
FIG. 116 shows a system software process performed by two CPUs.
It is a figure explaining the case where processing is carried out separately.

【図117】複数のCPUにより処理を分割する場合の
ソフトウェア構造の概要を示す図である。
FIG. 117 is a diagram illustrating an outline of a software structure when processing is divided by a plurality of CPUs.

【符号の説明】 401 CPU 402 バスブリッジ 403 メモリ 404 Gバス 405 Bバス 406 Gバスアービタ 407 Bバスアービタ 4301A Gバス/Bバスインターフェース(スキャ
ナ) 4301B Gバス/Bバスインターフェース(プリン
タ) 4302 スキャナコントローラ 4303 プリンタコントローラ
[Description of Signs] 401 CPU 402 Bus bridge 403 Memory 404 G bus 405 B bus 406 G bus arbiter 407 B bus arbiter 4301A G bus / B bus interface (scanner) 4301B G bus / B bus interface (printer) 4302 Scanner controller 4303 Printer controller

【手続補正2】[Procedure amendment 2]

【補正対象書類名】図面[Document name to be amended] Drawing

【補正対象項目名】全図[Correction target item name] All figures

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【図1】 FIG.

【図2】 FIG. 2

【図3】 FIG. 3

【図4】 FIG. 4

【図5】 FIG. 5

【図7】 FIG. 7

【図6】 FIG. 6

【図45】 FIG. 45

【図89】 FIG. 89

【図8】 FIG. 8

【図97】 FIG. 97

【図100】 FIG. 100

【図9】 FIG. 9

【図46】 FIG. 46

【図10】 FIG. 10

【図51】 FIG. 51

【図11】 FIG. 11

【図12】 FIG.

【図13】 FIG. 13

【図14】 FIG. 14

【図15】 FIG.

【図16】 FIG. 16

【図17】 FIG.

【図18】 FIG.

【図19】 FIG.

【図20】 FIG.

【図21】 FIG. 21

【図22】 FIG.

【図23】 FIG. 23

【図24】 FIG. 24

【図25】 FIG. 25

【図26】 FIG. 26

【図27】 FIG. 27

【図28】 FIG. 28

【図29】 FIG. 29

【図30】 FIG.

【図31】 FIG. 31

【図32】 FIG. 32

【図33】 FIG. 33

【図35】 FIG. 35

【図34】 FIG. 34

【図39】 FIG. 39

【図36】 FIG. 36

【図37】 FIG. 37

【図38】 FIG. 38

【図41】 FIG. 41

【図40】 FIG. 40

【図52】 FIG. 52

【図42】 FIG. 42

【図43】 FIG. 43

【図93】 FIG. 93

【図44】 FIG. 44

【図47】 FIG. 47

【図48】 FIG. 48

【図49】 FIG. 49

【図50】 FIG. 50

【図53】 FIG. 53

【図54】 FIG. 54

【図55】 FIG. 55

【図56】 FIG. 56

【図57】 FIG. 57

【図58】 FIG. 58

【図61】 FIG. 61

【図59】 FIG. 59

【図62】 FIG. 62

【図60】 FIG. 60

【図101】 FIG. 101

【図63】 FIG. 63

【図64】 FIG. 64

【図65】 FIG. 65

【図66】 FIG. 66

【図67】 FIG. 67

【図74】 FIG. 74

【図68】 FIG. 68

【図69】 FIG. 69

【図70】 FIG. 70

【図71】 FIG. 71

【図72】 FIG. 72

【図73】 FIG. 73

【図75】 FIG. 75

【図76】 FIG. 76

【図77】 FIG. 77

【図81】 FIG. 81

【図78】 FIG. 78

【図102】 FIG. 102

【図109】 FIG. 109

【図79】 FIG. 79

【図80】 FIG. 80

【図82】 FIG. 82

【図83】 FIG. 83

【図84】 FIG. 84

【図87】 FIG. 87

【図85】 FIG. 85

【図115】 FIG. 115

【図86】 FIG. 86

【図92】 FIG. 92

【図88】 FIG. 88

【図94】 FIG. 94

【図90】 FIG. 90

【図91】 FIG. 91

【図95】 FIG. 95

【図96】 FIG. 96

【図98】 FIG. 98

【図99】 FIG. 99

【図103】 FIG. 103

【図111】 FIG. 111

【図104】 FIG. 104

【図105】 FIG. 105

【図106】 FIG. 106

【図107】 FIG. 107

【図108】 FIG. 108

【図110】 FIG. 110

【図112】 FIG. 112

【図113】 FIG. 113

【図114】 FIG. 114

【図116】 FIG. 116

【図117】 FIG. 117

───────────────────────────────────────────────────── フロントページの続き (72)発明者 石沢 康久 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 永田 聡 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 小野寺 健 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 Fターム(参考) 2C087 AA03 AA09 BB10 BC05 BC07 5B061 FF01 GG02 GG06 PP05 RR03 5C062 AA13 AB38 AB42 AC48 AE15 BA04 9A001 BB03 BB04 HH23 JJ35 KK42 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Yasuhisa Ishizawa 3-30-2 Shimomaruko, Ota-ku, Tokyo Canon Inc. (72) Inventor Satoshi Nagata 3-30-2 Shimomaruko, Ota-ku, Tokyo Canon Inside (72) Inventor Ken Onodera 3-30-2 Shimomaruko, Ota-ku, Tokyo F-term in Canon Inc. (reference) 2C087 AA03 AA09 BB10 BC05 BC07 5B061 FF01 GG02 GG06 PP05 RR03 5C062 AA13 AB38 AB42 AC48 AE15 BA04 9A001 BB03 BB04 HH23 JJ35 KK42

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 画像信号入力手段から画像信号を入力す
るインタフェースと、 前記インタフェースをシステムバスブリッジに接続する
第一のバスと、 前記システムバスブリッジを介して前記入力した画像信
号を格納するメモリと、 画像信号出力手段から画像信号を出力するインタフェー
スと、 前記格納した画像信号を前記システムバスブリッジを介
して前記画像信号を出力するインタフェースに接続する
第二のバスと、 を備えることを特徴とする複合機器の情報処理システ
ム。
An interface for inputting an image signal from an image signal input unit; a first bus connecting the interface to a system bus bridge; and a memory for storing the input image signal via the system bus bridge. An interface that outputs an image signal from an image signal output unit; and a second bus that connects the stored image signal to an interface that outputs the image signal via the system bus bridge. Information processing system for composite equipment.
【請求項2】 前記メモリは前記画像信号を1元的に管
理することを特徴とする請求項1に記載の複合機器の情
報処理システム。
2. The information processing system according to claim 1, wherein the memory centrally manages the image signal.
【請求項3】 情報処理装置から送信された手続きを解
釈する解釈手段と、 前記手続きの解釈に基き、ジョブを生成するジョブ生成
手段と、 前記生成されたジョブを構成する要素に分割する分割手
段と、 前記分割した要素を処理するためのデバイスの割り付け
と解放とを管理するデバイス管理手段と、 前記割付けられたデバイスの処理結果をメモリに書込む
手段と、 前記メモリに書込まれたデータを、他のデバイスに出力
するための手段と、 を備えることを特徴とする複合機器の情報処理システ
ム。
3. An interpreting means for interpreting a procedure transmitted from the information processing apparatus; a job generating means for generating a job based on the interpretation of the procedure; Device management means for managing allocation and release of devices for processing the divided elements; means for writing processing results of the allocated devices to memory; and data written to the memory. And means for outputting to another device. An information processing system for a multifunction device, comprising:
【請求項4】 前記メモリにデバイスの処理結果を書込
む手段と、前記メモリに書込まれたデータを他のデバイ
スに出力するための手段とは、並列にデータを送受して
競合を排除することを特徴とする請求項3に記載の複合
機器の情報処理システム。
4. A means for writing a processing result of a device to said memory and a means for outputting data written to said memory to another device, transmitting and receiving data in parallel to eliminate competition. The information processing system for a multifunction device according to claim 3, wherein:
JP11055954A 1999-01-25 1999-01-25 Information processing system of hybrid equipment Withdrawn JP2000215156A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11055954A JP2000215156A (en) 1999-01-25 1999-01-25 Information processing system of hybrid equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11055954A JP2000215156A (en) 1999-01-25 1999-01-25 Information processing system of hybrid equipment

Publications (1)

Publication Number Publication Date
JP2000215156A true JP2000215156A (en) 2000-08-04

Family

ID=13013479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11055954A Withdrawn JP2000215156A (en) 1999-01-25 1999-01-25 Information processing system of hybrid equipment

Country Status (1)

Country Link
JP (1) JP2000215156A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111028879A (en) * 2019-12-23 2020-04-17 珠海创飞芯科技有限公司 Multi-time programmable memory with variable programming times

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111028879A (en) * 2019-12-23 2020-04-17 珠海创飞芯科技有限公司 Multi-time programmable memory with variable programming times

Similar Documents

Publication Publication Date Title
JP3524337B2 (en) Bus management device and control device for multifunction device having the same
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
US7716387B2 (en) Memory control apparatus and method
JP2000216935A (en) Information processing system for composite equipment
JP2000211216A (en) Information processing method and system for composite device
JP2000211210A (en) Method and apparatus for control of composite device
JP3976927B2 (en) Bus control device
JP2000148650A (en) Controller for composite equipment
JP2000215149A (en) Controller for composite device
JP2000215156A (en) Information processing system of hybrid equipment
JP2004046851A (en) Bus management device, and controller for composite apparatus including the same
JP4136163B2 (en) Data input / output device and controller of data input / output device
JP2000215157A (en) Bus controller
JP5094050B2 (en) Memory control device, memory control method, and embedded system
JP2000211215A (en) Control device for composite apparatus
JP3206656B2 (en) Prefetch device and prefetch method on bus
JP2004030672A (en) Bus management device, controller of complex machine having the same, and bus management method
JP2007108882A (en) Memory controller, memory-controlling method, and information processing device
JP2004062887A (en) System for controlling electric power and control device of composite equipment comprising it
JPH11212903A (en) Data processing system, peripheral device and microcomputer
JPH11232215A (en) Bus controller, bus master device and method for controlling bus control system
JPH10124445A (en) Information processor and controller
JP2004220486A (en) Memory control device
JP2000332924A (en) Image forming device

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060404