JP2000135822A - コンピュ―タシステム - Google Patents

コンピュ―タシステム

Info

Publication number
JP2000135822A
JP2000135822A JP11339912A JP33991299A JP2000135822A JP 2000135822 A JP2000135822 A JP 2000135822A JP 11339912 A JP11339912 A JP 11339912A JP 33991299 A JP33991299 A JP 33991299A JP 2000135822 A JP2000135822 A JP 2000135822A
Authority
JP
Japan
Prior art keywords
data
printer
memory
computer system
bit
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.)
Pending
Application number
JP11339912A
Other languages
English (en)
Inventor
Derek J Lenz
ジェイ. レンツ,デレク
Johannes Wang
ワン,ジョハネス
Trevor Deosaran
デオサラン,トレバー
Lynley M Young
エム. ヤング,リンレー
Qian-Chin Yep
ヤップ,キアン−チン
Re Toron Guen
トロン グエン,レ
Makoto Matsubayashi
マツバヤシ,マコト
Terry Lau
ラウ,テーリ
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP11339912A priority Critical patent/JP2000135822A/ja
Publication of JP2000135822A publication Critical patent/JP2000135822A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【課題】 単一のVLSIC半導体チップに実装可能な
RISC型マイクロプロセッサ・アーキテクチャを採用
できるコンピュータシステムを提供する。 【解決手段】 ページ・プリンタ・コントローラ(1
0)は命令プロセス、ビデオ・ポートを備えたプリンタ
・ビデオ・プロセッサ、データ用および命令用キャッシ
ュ・メモリ、プリンタ・ビデオ・ブロセッサを外部メモ
リおよびデータ用と命令用キャッシュ・メモリと相互接
続するためのメモリ・コントローラ、およびページ・プ
リンタ・コントローラを入出力ポートと相互接統するた
めの入出力コントローラを備えている。プリンタ・ビデ
オ・プロセッサは入出力コントローラおよびメモリ・イ
ンタフェースと統合化されてメモリ・バンド幅を最適化
し、優先順メモリ・アクセスを可能にする。命令プロセ
ッサは入出力バスを介してホスト・コンピュータとイン
タフェースをとる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的には、レー
ザ・プリンタなどのプリンタのコントローラに関する。
より具体的には、本発明は超大規模集積回路(VLSI
C)半導体チップに実装可能なコンピュータシステムに
関する。なお、本明細書の記述は本件出願の優先権の基
礎たる米国特許出願第07/726,929号の明細書
の記載に基づくものであって、当該米国特許出願の番号
を参照することによって当該米国特許出願の明細書の記
載内容が本明細書の一部分を構成するものとする。
【0002】
【従来の技術】ページ・プリンタ・コントローラはホス
ト・コンピュータの制御の下で動作して、レーザ・プリ
ンタなどのプリンタへビデオ信号を送るものである。デ
ータをディスプレイ座標系に変形し、画像ウィンドウに
合わせてオブジェクトをクリッピングし、ウィンドウを
宛先の表示装置のビューポイント(視点)に合ったスケ
ールにするといった機能は、米国特許第4,449,2
01号、発明の名称「複数の同種プロセッサを採用した
幾何学図形処理システム」(GeometricPro
cessing System Utilizing
Multiple Identical Proces
ors)に説明されており、また、グラフィック・ディ
スプレイに応用されるものとして、米国特許第4,64
8,045号、発明の名称「ラスタ型表示装置用の高速
メモリおよびプロセッサ・システム」(High Sp
eed Memory and Processor
System for Rastar DisP1a
y)に説明されている。
【0003】また、本発明の出願と同時に出願され、係
属中の米国特許出願第07/727,006号、発明の
名称「高性能RISCマイクロプロセッサ・アーキテク
チャ」(High Performance RISC
Microprocessor Architect
ure)、1991年7月8日出願(SMOS−798
4MCF/GBR)およびこれに対応する特願平5ー5
02150号(特表平6ー501122号公報)、およ
び米国特許出願第07/726,893号、発明の名称
「複数の異種プロセッサをサポートすることのできるマ
イクロプロセッサ・アーキテクチャ」(Micropr
ocessor Architecture Capa
ble of Supporting Multipl
e Heterogeneous Processor
s)、1991年7月8日出願(SMOS−7992M
CF/GBR/WMB)およびこれに対応する特願平5
ー502151号(特表平6ー501123号公報)に
は、新規なシングル・チップRISC型プロセッサおよ
び当該プロセッサと一緒に動作可能なメモリ制御ユニッ
トによって、多重処理機能を実現することが開示されて
いる。
【0004】本発明は、RISC型プロセッサ・アーキ
テクチャを利用し、メモリ制御ユニットとのインタフェ
ースとなることができるプリンタ・コントローラ・アー
キテクチャを指向している。コントローラはプリンタ・
ビデオ・プロセッサ(PVP:printervide
o processor)、UARTポート、入出力パ
ス・インタフェース、DMAコントローラ、ファームウ
ェアROM、およびメモリ・インタフェースを備えてい
る。プリンタ・コントローラの主要機能は、ホスト・コ
ンピュータと通信し、データを画像データに変形し(座
標変形、クリッピング、スケーリング、ラスタ化)、プ
リント・エンジンの他の構成要素(例えは、レーザ・プ
リンタ)とのインタフェースとなりく診断を実行するこ
とである。RISC型プロセッサと特殊グラフィック・
ハードウェアを含んだシングル・チップ・ユニット(イ
ンテルi860)は、この分野では公知である。しか
し、グラフィック・ハードウェアはRISC型プロセッ
サの外部に置かれており、物理的にも、機能的にもプロ
セッサに統合化されていない。
【0005】
【発明が解決しようとする課題】本発明の目的は、単一
のVLSIC半導体チップに実装可能なコンピュータシ
ステムを提供することにある。本発明の別の目的は、上
掲の係属中の特許出願に開示されているRISC型マイ
クロプロセッサ・アーキテクチャを採用できるコンピュ
ータシステムを提供することにある。
【0006】
【課題を解決するための手段】本発明のコンピュータシ
ステムは、ホストコンピュータと、メモリアレイと、プ
リンタエンジンと、前記ホストコンピュータ、前記メモ
リアレイ、および前記プリンタエンジンに結合され、前
記ホストコンピュータと通信する手段を有するシングル
チップ・プリンタコントローラを含むコンピュータシス
テムであって、前記プリンタコントローラがさらに、 1)プリンタエンジンのための複数の制御信号を生成
し、前記メモリアレイからフェッチすべきデータのメモ
リアドレスを生成し、フェッチされたデータをシリアル
化し、シリアル化したデータを前記プリンタエンジンに
提供するためのプリンタビデオプロセッサと、 2)スーパースカラ・マイクロプロセッサとして形成さ
れ、(a)前記プリンタビデオプロセッサの作動を支援
するために、内部機能部として前記命令プロセッサ内に
相互接続された1つまたはそれ以上の図形機能ユニット
であり、(i)直交回転ビットマップデータの各ブロッ
クを組立てるための直交方向ローテータ、(ii)受取っ
たデータを逆の順序で出力するためのビット/バイトミ
ラーユニット、(iii)図形命令に対応してピクセルを変
更するためのピクセル変更部、のうちの少なくとも1つ
を含む図形機能ユニットと、(b)前記図形機能ユニッ
トに並行に命令を発行する命令スケジューラと、を含む
命令プロセッサと、 3)前記プリンタビデオプロセッサに結合され、前記プ
リンタビデオプロセッサからメモリトランザクション要
求を受取り処理するためのメモリコントローラとから構
成される。
【0007】
【発明の実施の形態】本発明によるページ・プリンタ・
コントローラ(PPC:page printer c
ontro11er)は、上掲の特許出願に記載されて
いるRISC型プロセッサおよびメモリ・コントローラ
を使用して実現することが可能であり、本明細書に説明
しているように、ページ・プリンタ・エンジンを制御す
るためのプリンタ・コントローラはRISC型プロセッ
サおよびメモリ・コントローラに基づいている。本明細
書で「レーザ」プリンタと言うときは、広い意味におい
て、類似のインタフェースを備えた一切のページ型プリ
ンタを意味する。
【0008】以下、図面を参照して説明するが、図1は
PPC10を示す概要システム・ブロック図であり、P
PC1Oは、メモリ・バンクOとオプションとしてのメ
モリ・バンク1を備えた2ウェイ・インタリーブ方式メ
モリ・アレイ12、ホスト・コンピユータおよび各種周
辺機器と通信するための入出力バス14、特殊目的(プ
リンタ制御)UART、および汎用UARTとのインタ
フェースとなり、プリンタのラスタ・スキャン・レーザ
ヘビデオ信号を送る。PPCユニット10は図2のブロ
ック図に詳しく示すように、RISCCPUまたは命令
処理ユニット(IPU)20を備えており、これは、オ
プションとしてのデータ用キャッシュ22、オプション
としての命令用キャッシュ24、およびオプションとし
てのRISC命令ROM26と直接に通信する。このマ
イクロプロセッサ・ユニット20は、さらに、1つまた
は2つ以上のポートをもつメモリ・インタフェース・ユ
ニット28を介してメモリと交信する。
【0009】上述したように、好適実施例におけるマイ
クロプロセッサ・ユニット20は本出願と同時に出願
し、係属中の米国特許出願第07/727,006号
(SMOS−7984MCF/GBR)に開示されてい
るRISCチップおよび米国特許出願第07/726,
893号(SMOS−7992MCF/GBR/WM
B)に開示されているメモリ・インタフェースに基づい
ており、いずれもそれを参照することで本明細書の一部
を構成するものとする。さらに、命令処理ユニットは、
プリンタ・ビデオ・プロセッサ30をサポートする特殊
な機能ユニットをいくつか備えており、そのような機能
ユニットとしては、ピクセル変更データ経路(pixe
1 modification datapath)、
直交方向ローテータ(orthogona1 rota
tor)、およびビット/バイト・ミラー(bit/b
yte mirror)がある。
【0010】図3は・ピクセルがグラフィック命令によ
って変更されるピクセル変更データ経路を示した機能ブ
ロック図である。ピクセルはデータ経路に示すようにグ
ラフィック命令によって変更される。宛先とソースはビ
ット単位でLFUによって組合わされる。組合わされた
結果は出力MUXに渡され、元の宛先または変更された
宛先のいずれかが出力に渡される。計算はビット単位で
行われるので、変更された宛先または未変更の宛先の選
択は、個々のデータ経路ビットのLEM、REMおよび
マスク・データによって行われる。LEMとREMは5
ビットの数であり、この数は変更すぺきビット範囲の左
端と右端を定義しており、エッジ・ジェネレータ・ロジ
ック(edge generator 1ogic)に
よって処理されてビット・フィールド(左マスクと右マ
スク)に展開され、マルチプレクサを制御するために使
用される。左マスク・右マスクおよびマスク・データは
ビット単位で論理和(OR)がとられる。これは、変更
すベき宛先ビットについてすベてのビットを0にセット
する必要があるためである。図3の回路は、グラフィッ
ク・ピクセル変更データ経路を「ビット・スライス」構
造で表現したものである。LFU機能コードはプロセッ
サ状態レジスタに保持される。
【0011】宛先は常に「ソース」と組合わされる。ソ
ースは事前に定義したデータである場合とメモリ・ビッ
トマップからコピーされる場合とがある。ソースと宛先
は、2個の2進ビットの16通りの組合せの1つと結合
することができる。マスクを使用すると、そのマスクは
マスク画像内でセットされているピクセルに変更される
ピクセルを制限する。
【0012】図4は、直交方向(90度または270
度)に回転するビットマップ・データのブロックをアセ
ンブルするために使用される直交方向ローテータ(or
thogona1 rotator)を示す機能ブロッ
ク図である。ソース・データの下位バイトはユニットに
保持されている8個のレジスタのビットに書かれる。内
部ワードを埋めるために最大32バイトまでが書かれ、
直交方向に回転したデータがそのあとメモリに書かれる
か、プロセッサによって使用される。ワードが下位から
上位のレジスタ・アドレスに向かって読み出される場合
は、回転は90度であり、上位から下位のレジスタ・ア
ドレスに向かってレジスタが読み出されると、データは
270度だけ回転する。
【0013】図4はロジックの基本的オペレーションを
示したものである。ソースは8ビットでロードされてい
る。ビット0はレジスタ0の32ビットすべてに渡され
る。ビット’n’はレジスタ’n’の32ビットすべて
に渡される。選択されたビットはビット・デコードで使
用され、8ワード内から変更すべきビットを選択する。
このようにして、各レジスタの1ビットは常にソースか
ら1ビットずつロードされる。各ワードの中のデータは
いつでも読み取ることが可能になっている。さらに、す
べてのワードは「移動」(move)命令を使用して直
接に事前ロード(プリロード)することが可能であり、
また、すべてのレジスタは、初期設定を目的に同時にブ
ロックでクリアすることが可能である。
【0014】直交方向ローテータ命令には、AまたはB
レジスタとの問の移動、ローテータ・プリセット、バイ
ト直交方向回転がある。直交方向ローテータ・プリセッ
トは、直交方向レジスタに入っている全ビットの値を1
つの命令でセツトする。この命令は1つのパラメータ
「レベル」をもっている。この8ビット・パラメータは
8個の直交方向レジスタの各々の全ビットに1ビットを
ロードする。ビット〈0〉は直交方向レジスタ0の全ビ
ットにロードされ、ビット〈n〉はレジスタnの全ビッ
トにロードされる(以下、同様)。バイト直交方向回転
は上述したように、汎用レジスタからのデータの下位バ
イトを直交方向に回転させる。バイト直交方向回転は2
つのパラメータをもっている。データのバイトを保持す
るレジスタと選択されたビットを保持するレジスタであ
る。これらのレジスタからのデータは、それぞれ8ビッ
トと5ビットに切り捨てられる。
【0015】図5は、4個のマルチプレクサ(MUX)
からなるビット/バイト・ミラー(bit/byte
mirror)を示すもので、マルチプレクサの各々は
8ビット・バイトを受け取り、以下の表に示すように、
これらのビットを同じ順序にまたは逆順(鏡映して)に
出力する。
【0016】 入力ビット 出力ビット 入力ビット 出力ビット 0 7 8 15 1 6 9 14 2 5 10 13 3 4 11 12 4 3 12 11 5 2 13 10 6 1 14 9 7 0 15 8 16 23 24 31 17 22 25 30 18 21 26 29 19 20 27 28 20 19 28 27 21 18 29 26 22 17 30 25 23 16 31 24 ビットがワード内で鏡映されたあと、そのワードを1バ
イトずつメモリに書き戻すことができる。あるいはバイ
トを回転シフタ回路(barre1 shifter
circuit)を用いて並べ替えることも可能であ
る。ビット・ミラー命令はレジスタからソース・ワード
を読み取り、鏡映された内容を宛先レジスタに書き戻
す。
【0017】ビットマップの鏡映(mirrorin
g)ど直交方向回転はハードウェアでサポートして行う
ことができる。時間を消費する作業(タスク)をファー
ムウェアとソフトウェアで比較的高速で行えるようにす
る2つのハードウェア機能ユニットが用意されている。
ビット・ミラー・ユニットはそこにロードされたワード
の各バイト内のビットをすべて鏡映する。これらのバイ
トは、必要ならば、バイト抽出(extract by
te)やバイト・マージ(merge byte)とい
ったように、シフト命令を使用して並べ替えることが可
能である。標準シフタ機能と併用してこのユニットで1
80度の回転を行うことが可能である。直交方向ローテ
ータ・ユニットはワードの下位バイトをレジスタの選択
可能ビットに入れる。各レジスタには1ビットが入れら
れる。その結果、8個のレジスタの内容は、最終的に
は、直交方向に回転した32ビットx8ワード・ブロッ
クのビットからなっている。ビット・ミラー・ユニット
は、メモリ内のビットを鏡映して(逆順にすること)、
直交方向に180度回転させることをサポートするもの
である。このユニットはそこを通過するワードの全バイ
ト内のビットをスワップ(入れ替えること)する。ビッ
ト・ミラー・ユニットはピクセル変更データ経路に組込
みまたは統合化しておく(integrated)と、
好都合である。
【0018】図6および図7に示すように、図3〜図5
の特殊機能回路はIPUに統合化されている。特殊機能
回路は機能ユニットとして統合化することも、機能ユニ
ット群(クループ)内に統合化することも可能である。
図6において、回路は機能ユニット(グループ)で示さ
れており、他の機能ユニット(例えは、ALU、乗算
器、FALU)が相互接続されているのと同じように、
MUXを経由してレジスタ・ファイルAおよびBと相互
接続されている。図7に示すように、ソース・データM
UXおよび制御信号MUXは直交方向ローテータ、ピク
セル変更ユニット(pixe1 modifier)、
およびミラーと相互接続されている。
【0019】グラフィック機能ユニットは完全にRIS
C IPUに統合化されている。この機能ユニットは特
殊グラフィック命令によって使用される。この命令は、
他のRISC命令と同じように実行される。RISCコ
アは、「スーパスカラー」型オペレーションの機能を備
えている。つまり、2つ以上の命令を各サイクルごとに
実行し、完了することができる。グラフィック機能ユニ
ットは、ALUや乗算器などの、より標準的な他の機能
ユニットと同じようにスケジュール別にスケジュールさ
れる。
【0020】直交方向ローテータ・ユニットとピクセル
変更ユニットは内部「状態」情報をもっており、この情
報はIPUコンテキスト・スイッチの期問維持されてい
る。これらの状態レジスタは、レジスタ・ファイルと機
能ユニット間の特殊レジスタ移動命令によって他のプロ
セッサ状態情報(例えば、除算の商および剰余レジス
タ)と同じように処理される。これらの機能ユニット
は、シフタ機能ユニットと同じバス群を通して、左右対
称にAおよびB IPUレジスタ・ファイルで使用する
ことができる。
【0021】プリンタ・ビデオ・プロセッサ 図2に示したプリンタ・ビデオ・プロセッサ(PVP)
28の詳細を図8の機能ブロック図に示す。PVPはタ
イミング信号を生成し、スキャン(走査)データのフェ
ッチとスキャン・データ・シリアル化(逐次化)を行
い、プリント・エンジンの同期化を行うと共に、スキャ
ン状況と割込みを引き起こす機能を備えている。この回
路の大部分はシステム・クロックによってクロックがと
られるが、シリアル化とある種の制御ロジックは、プリ
ント・エンジン・ビデオ・クロック(Wc1k)と呼ば
れる別のクロックによってクロックがとられる。
【0022】ビデオ・レジスタ・ファイル30は、タイ
ミングとメモリ・アドレスを生成するために使用される
レジスタを収めている。これらのレジスタはメイン・シ
ステム・プロセッサによって読み書きすることができ
る。以下に示したレジスタは、ビデオ・レジスタ・ファ
イルに収められている。レジスタ 目的 Base フレーム・バッファ開始アドレス (バイト・アドレス) PBase 旧ベース・レジスタ(バンド・バツファ・モード) X_max フレーム・バッファ・スキャンの幅(バイト数) Y_steP メモリ・アドレス・インクリメント (本文の説明参照) Y_max フレーム内のスキャン数 T−margin フレーム上部のスキャン数 Bsize バンド・バッファ・サイズ(行数) V_int 垂直方向割込みスキャン番号 Base current 現ぺース・レジスタ(内部で使用) Current 現スキャン・メモリ・アドレス (内部で使用) X_current スキャン内の現Xアドレス(内部で使用) Y_current 現スキャン番号(内部で使用) Data_Size メモリ・アクセス・サイズ(内部で使用) Bcnt 現バンド・バッファ内の現在位置 Tmp_0 一時レジスタ(内部で使用) Tmp_1 一時レジスタ(内部で使用) Tmp_2 一時レジスタ(内部で使用) 次のレジスタはレジスタ・ファイルに入っていないが、
タイミング計算のために使用される。レジスタ 目的 L_margin ビデオは最初のドットの左端までクロックがとられる X_max1 (スキャン・ライン−1内のバイト数)を使用して プログラム べース・メモリ・アドレスは16バイト境界に境界合わ
せされていなければならない。スキャンはバイト数が奇
数の幅にすることができる。X_maxは、スキャン・
ライン内のバイト数を8の最寄りの倍数まで丸めて保持
している。X_maxlはスキャン当たりのバイト数か
ら1を引いたバイト数を保持している。
【0023】定数ROM32は、0、1、4、8、16
になっている。加算器(adder)34はレジスタ・
ファイルと定数について算術演算を行う。計算結果はレ
ジスタ・ファイルに書き戻すことができるが、コントロ
ーラ35によって使用されて、アドレス、コントロール
および状況が生成される。この出力はメモリ・アドレス
・ジェネレータに渡され、これを受けて、ジェネレータ
は次にシリアル化すべきワードをフェッチする。状態は
コントローラと加算器フラグ(ゼロおよびキャリー・ア
ウト)によってセットされる。
【0024】ビデオ・データは、FIFOまたはビデオ
・データ待ち行列(Video Data Queu
e)にロードされる。シリアライザ(seria1iz
er)は、待ち行列が空になったとき待ち行列からロー
ドされる。待ち行列は一杯(full)信号と空(em
pty)信号をもっており、シーケンサはこの信号によ
ってデータの流れ(フロー)を制御してデータ損失を防
止し、あるいはスキャン終了前に待ち行列が空になるの
を防止している。待ち行列の深さは実現方法に依存し、
メモリ・システムにおいて予想される最悪のケースと目
標とする最大ビデオ・クロック・レートによって設定さ
れるが、最小限8ワードである。
【0025】シリアライザ38はバッファ付き並列−直
列シフト・レジスタ(buffered parall
e1−to−seria1 shift regist
er)であり、データの8ビットからドット当たり1ビ
ットの割合でデータを生成する。このシフト・レジスタ
はシリアル・データをシフトして、ビデオ・インタフェ
ース・シリアル・データ出力ピン(Wdata)から出
力する。データをプリント・エンジンが要求しているこ
とをシーケンサが指示した時、ビデオ・クロック(DC
lK)ごとに1ビットの割合でデータがシフトする。D
ClKはキャノン・モード(Canon mode)で
は、Wclkの1/8または1/16に相当する。前面
ページを印刷するときは、待ち行列からの最下位バイト
から先にシフト・レジスタにロードされ、これに対し、
裏面ページの場合は、最上位バイトから先にロードされ
る。前面ページ印刷の場合は、データは右にシフトさ
れ、裏面ページ印刷の場合は、データは左にシフトされ
る。
【0026】PPCをカラー・プリンタで使用する場合
は、複数のカラーを表示するには複数回のパスが必要で
あり、またパック化したピクセルをフレーム・バッファ
内で使用し、エンジンが要求するビデオ・クロックの倍
数でシリアル化してPPCから出力する必要がある(例
えは、4ビット/ピクセルのときは、4x)。モード、
コマンドおよび状況レジスタ40はメイン・プロセッサ
が読み取り、そこに書き込むことができ、スキャン変換
をソフトウェアで制御し、スキャン変換をソフトウェア
でモニタし、PVP割込みをソフトウェアで制御する。
【0027】コントローラはコマンド・レジスタ(IP
U20によってアクセスされる)の制御の下でスキャン
・ユニットのシーケンスを進めさせる。IPUは、コマ
ンド・レジスタの開始フレーム・ビットをセットしてス
キャン・コマンドをロードし、この指示を受けてコント
ローラはスキャンを開始する。コントローラはスキャン
を初期設定し、シーケンスに従ってページをスキャンし
ていく。スキャン保留ビット(scan pendin
g bit)は、ベース・レジスタが再ロードのために
解放されるとリセットされ、別のスキャンを開始するこ
とが可能になる。コントローラはデータ経路に対して一
連の計算を行って、シリアライザをロードするためのメ
モリ・アドレスとプリント・エンジンに対するタイミン
グを生成し、これはページが完了するまで行われる。ペ
ージが完了したとき、コマンド・レジスタのスキャン保
留ビットがリセットされていれば、ページは新しいアド
レスから再開される。
【0028】モード・レジスタは読み書きレジスタであ
る。モード・レジスタの内容は次の通りである。コマンド・ビット リセット・レベル 機能 〈0〉 TMDE 0 タイミング・モード 〈1〉 JBMS 0 JBMSモード 〈2〉 BBE 0 バンド・バツフア・割込み許可 〈3〉 CINT 0 印刷完了割込み許可 〈4〉 VINT 0 垂直方向割込み許可 〈5〉 PRDY 0 PRDY割込み許可 〈6〉 VSREQ 0 VSREQ割込み許可 〈7〉 BBI 0 バンド・バッファ割込み許可 〈8〉 DIV 0 ビデオ・クロック分割選択 〈9〉 BLV 0 ブラック・レベル 〈31:10〉予備 0 Oにブロクラムする 「タイミング・モード」には(Primary)基本、
JBMSまたは代替(A1ternate)タイミング
・モードのいずれかを選択する。
【0029】 バンド・バッファ・モードは、BBEビットが1のとき
選択される。バンド・バッファ・モードが割込み許可さ
れていないと、通常の全ページ・モードが選択される。
【0030】CINT、VINT、PRDYおよびVS
REQは、それぞれの割込み発生源では割込み可能にな
っている。これらのビットのいずれかが1にセットされ
ると、その関連割込み発生源はPVP割込みを引き起こ
すことが許可される。割込みは一度に2つ以上アクティ
ブにすることができる。PRDYビットがセットされた
ときは、PRDYピンがインアクティブからアクティブ
に移り変わると、割込みが通知される。VSREQビッ
トがセットされたときは、VSREQピンがインアクテ
ィブからアクティブに移り変わると、割込みが通知され
る。
【0031】モード・レジスタは、オペレーションの開
始に先立ってブロクラムしておかなければならない(下
述するコマンド・レジスタを参照)。モード・レジスタ
はダブル・バッファ方式になっていない。PVPがアク
ティブにあるときモード・レジスタに対する変更は許さ
れず、変更を行うと、挙動が予測不可能になる。基本モ
ードでは、DIVが0ならば、PVPクロック・ジェネ
レータはビデオ入力クロックを8で分割し、1ならば、
入力クロックを16で分割する。代替またはJBMSモ
ードでは、PVPはビデオ入力クロックの分割を行わな
い。ブラック・レベルは、BLVビットが0ならば1で
あり(省略時のレベル)、そうでなければ、ブラック・
レベルは0である。ビデオがブランキング(帰線消去)
されたときは、そのレベルはホワイト・レベルと同じで
ある。予備ビットは、起こり得る二次的影響を防止する
ためにゼロにプログラムしておく必要がある。これは、
一部のビットがブロダクション(実稼働ないし生産)テ
スト機能または将釆の機能強化のために使用される場合
があるためである。
【0032】コマンド・レジスタは書込み専用レジスタ
である。その内容は状況(ステータス)レジスタを通し
て読み取ることができる。コマンド・レジスタの内容は
次の通りである。コマンド・ビット リセット・レベル 機能 〈0〉 STF 0 開始フレーム 〈1〉 RSET 0 PVPリセット(診断目的) 〈2〉 BKRL 0 裏面ページを右から左へ印刷 〈3〉 ERASE 0 印刷後消去 〈31:4〉予備 0 0にプログラム コマンド・レジスタはPVPオペレーションを初期設定
し、ある種のテスト機能をサポートするために使用され
る。コマンド・レジスタによる以外は、どのオペレーシ
ョンも初期設定されない。コマンド・レジスタはダブル
・バッファ方式になっている。レジスタが初めてロード
されると、PVPによるフレーム生成が可能になる。レ
ジスタが2回目にロードされたときは、新しいフレーム
は、その2番目のフレームがRSETまたはテスト機能
でなければ、最初のフレームが完了すると開始する。そ
のあと、コマンド・レジスタが最初のフレームが完了し
ないうちに3回目にロードされると、その結果は予測不
能になる。ただし、RSETビットがセットされている
場合は別で、その場合は、すべてのオペレーションが途
中で打ち切られることになる。
【0033】最も重要なコマンドは「開始フレーム」で
あり、通常のシステム・オペレーション時にPVPが実
行するタイミングとDMAオペレーションはこのフレー
ムで開始されるためである。PPCリセット・ピンが要
求されると、コマンド・レジスタがクリアされ、すべて
のオペレーションが中止される。コマンド・レジスタ
の”RSET”ビットをセットすると、すべてのオペレ
ーションを途中で中止させることも可能である。このR
SETビットは他のビットに優先する。
【0034】BKRLが1のときは、裏面印刷が行われ
る。この場合は、ページは逆順に(下から上へ、右から
左へ)スキャンされる。ERASEは、フレーム・バッ
ファが印刷中に消去されることを意味する。メモリ・ワ
ードが印刷のために読み取られると、そのワードは消去
される。予備ビットは、起こり得る二次的影響を防止す
るためにゼロにプログラムしておく必要がある。これ
は、一部のビットがプロダクション(実稼働ないし生
産)テスト機能または将来の機能強化のために使用され
る場合があるためである。
【0035】状況レジスタはPVP制御とモニタに関係
する情報を保持している。ビットはユニークであり、そ
れぞれ異なる特性をもっている。状況レジスタは読み書
きレジスタであり、その内容は次の通りである。
【0036】 状況ビット 読取り/書込み 機能 〈0〉 FIP 読取り フレーム進行中 〈1〉 FPD 読取り フレーム保留中 〈2〉 CINTA 読取り/クリア ページ完了 〈3〉 VINTA 読取り/クリア 垂直タイマ完了 〈4〉 BBIA 読取り/クリア (バンド)バッファ完了 〈5〉 PRDYAP 読取り/クリア PRDY正エッジ遷移受信 〈6〉 PRDYAN 読取り/クリア PRDY負エッジ遷移受信 〈7〉 VSREQA 読取り/クリア VSREQ遷移受信 〈8〉 LSYNC 読取り LSYNCピン・レベル 〈9〉 FSYNC 読取り FSYNCピン・レベル 〈10〉 PRDY 読取り PRDYピン・レベル 〈11〉 PPRDY 読取り PPRDYピン・レベル 〈12〉 Prnt 読取り/書込み プリント・ピン・レベル 〈13〉 CPrdy 読取り/書込み CPrdyピン・レベル 〈14〉 MREQ 読取り メモリ要求保留 〈15〉 BLANK 読取り 水平帰線消去状況 〈16〉 FIFOE 読取り FIFO空 〈17〉 FIFOEB 読取り FIFOブロック空 〈18〉 FIFOF 読取り FIFO一杯 〈19〉 FIFORE 読取り/クリア FIFO再充填エラー 〈20〉 ERASE 読取り 印刷割込み許可後フレーム・バッ ファ消去 〈21〉 BKRL 読取り 裏面ページを右から左へ印刷 〈22〉 VSync 読取り/書込み VSyncピン・レベル FIPビットは、フレームが開始されたが、まだ完了し
ていないことを示している。FPDビットは2番目のオ
ペレーションがロードされたが、まだ開始されていない
ことを示している。ただし、リセット・コマンドの場合
は例外で、この場合は、すべてのオペレーションを中止
し、これらのビットをクリアする。
【0037】状態遷移ビット(CINTA、VINT
A、BBIA、PRDYA、VSREQA)は、それぞ
れに関連する事象が発生し、まだクリアされていないこ
とを示している。関連の割込み許可がセットされている
と、アクティブになったとき割込みを引き起こす。割込
みは、クリアすべきビットに1を書くことによって状況
レジスタの状態ビットがクリアされたとき、クリアされ
る。関連ビットに0を書いたときは、ビットは未変更の
ままである。ハードウェアによってセットされた関連状
態ビットは、PPCのリセット・ピンがアクティブにな
るか、PVPリセット・コマンドが実行されたとき、上
述した場合を除きリセットされない。
【0038】ピン・レベル・ビットは入出力ピンのレベ
ルを保持している。LSYNC、FSYNC、PRDY
およびPPRDYピンはすべて入力であり(従って、読
取り専用)、VSYNC、PrntおよびCPRDYピ
ンは出力である。VSYNC,PrntおよびCPrd
yはリセット・オペレーションによって0にクリアさ
れ、プロセッサが状況レジスタに書込みを行うことよっ
てどのレベルにもプログラム可能である。TMDE,B
BEおよび割込み許可ビットは最後にモード・レジスタ
にロードされたプログラム値を保持している。MREQ
状況ビットは、まだ完了していない未処理のメモリ要求
が1つまたは2つ以上PVPに残っていることを示して
いる。BLANKビットは、水平帰線消去が現在行われ
ていることをPVPタイミングが示していることを示し
ている。FIF0状況ビットはFIFO制御状態を保持
している。これらのビットはすべてテスト目的に使用さ
れるものである。PPCがリセット・ピンによって初期
設定されるか、リセット命令がPVPコマンド・レジス
タにセットされるか、個々のビットが状況レジスタを通
してリセットされると、すべての割込みがリセットされ
る。
【0039】V_intレジスタがロードされると、こ
れは各ラインがリセットされるつどデクリメントされて
いく(X_currentがX_maxからロードされ
たとき)。V_intが0以下になると、VINTA状
況ビットがセットされる。VINT割込み許可ビットが
セットされていれば、割込みがIPUに送られる。スキ
ャン・ライン内でポイントされているデータがプリンタ
に送られると、V_intが引き起こされる。印刷完了
状態(CINT)は、最後にスキャンしたデータがプリ
ンタに送られるとセットされる。印刷完了割込みは、状
況ビットがセットされ、その割込み許可がセットされる
と、通知される。
【0040】PRDY割込みは、PRDY割込みが許可
されているとき、PRDYピンがインアクティブからア
クティブに移り変る(PRDYAP遷移ビットが状況レ
ジスタにセットされる)とセットされる。PRDY割込
みは、PRDY割込みが許可されているとき、PRDY
ピンがアクティブからインアクティブに移り変る(PR
DYAN遷移ビットが状況レジスタにセットされる)と
セットされる。BBI割込みは、PVPがバンド・バッ
ファ・モードにあり、BBI割込みが許可されており、
現バッファが印刷され(BBI状況ビットがセットさ
れ)、そしてべース・レジスタがスワップされたとき、
セットされる。バンド・バッファ・モードが選択されて
いないときは、BBI状況ビットは常にクリアされる。タイミング 図12〜図15は、従来のレーザ・プリンタで使用され
ているPPCビデオ・インタフェースのタイミングを示
す図である。ビデオ・データ・クロック・ロジック(ク
ロックはWc1kピンから得られる)とシステム・クロ
ック・ロジック間のすべてのインタフェースで同期がと
られる。タイミング・コントローラはWc1kクロック
と内部PPCクロックの両方と同期している回路を備え
ている。このコントローラは、シリアル化ハードウェ
ア、シーケンサおよびタイミング・ピンに対するタイミ
ング信号と制御信号を生成する。プリント・エンジンに
よってコントローラはビデオ・データ・クロック(Wc
1k)を生成することができるのに対し、PPCはクロ
ックを生成しないが、代替モードの場合と同じように、
クロックを生成するためにはボードまたはプリント・エ
ンジンが必要である。このクロックはPPCクロックと
非同期にすることが可能である。
【0041】ビデオ・プロセッサで行われる事象は次の
ような順序で行われる。 1)ビデオ・レジスタ・ファイル・パラメータが事前ロ
ードされ、この中にはぺース・レジスタが含まれる。ペ
ージ・サイズ、フレーム・バッファ・アドレスまたはマ
ージンが変更されていなければ、これは通常プリンタの
初期設定時に行われる。 2)PRdyピンがプリンタによって要求される。 3)Prntピンが制御ソフトウェアによって要求され
る。 4)プリント・コマンドがIPUによってコマンド・レ
ジスタにロードされる。 5)FSync入力が要求されると、シーケンサは上部
マージンのタイミングをとることを始める(このマージ
ンはレジスタT_marginによってプログラムされ
ている)。 6)上部マージン・タイマが完了ナると、シーケンサは
次のLSync入力を待つ。 7)次のLSync入力を受信すると、シーケンサは左
マージン・タイマを開始し(このマージンはレジスタL
_marginによってプログラムされている)、プリ
ンタが準備状態(ready)にあるとき、プリンタに
最初に送るべきフレーム・バッファ・データをフェッチ
する。 8)左マージン・タイマが完了すると、ビデオ・データ
はWc1k入力クロックと同期してPPCチップから出
力されてWdataピンに現れる。スキャンの終了は、
この場合もL_marginカウンタによって判断され
るが、X_MAXレジスタ・データを使用しても判断さ
れる。 9)スキャンが終了すると、シーケンサは最後のスキャ
ンが完了するまで、再びLSyncとL_margin
タイマを待つ。 10)最後のスキャンが完了すると、シーケンサは次の
プリント・コマンドを待つ。保留中のプリント・コマン
ドが存在すると、新しいフレームが即時に開始される。
【0042】T_margin(図13)およびL_m
argin(図12)タイマは、ビデオ・データをそれ
ぞれ用紙およびプリンタ・スキャナと同期をとるために
使用される。これらのタイマはそれぞれFSyncおよ
びLSync入力ピンと同期がとられている。
【0043】T_mrginカウンタはFSyncのあ
とで印刷の開始前にカウントすベきLSyncパルスの
数を保持している。T_marginタイミングはシー
ケンサによってレジスタ・ファイルに対して行われる。
LSyncパルスはPPCクロックと同期がとられて、
カウントされる。Lsyncの前縁だけが意味をもって
いる。
【0044】L_marginカウンタは、各スキャン
・ライン上のプリンタ・データの開始前の各ラインにお
けるプリンタ・ビデオ・クロックの数を初期値として保
持している。この数は各L_syncの開始時にタイミ
ング・コントローラ内のハードウェア・カウンタにロー
ドされ、そのあとWc1kだけデクリメントされる。カ
ウントがゼロになると、ビデオ・データはシリアル化さ
れてPPCから出力される。そのあと、L_margi
nカウンタはスキャン・ライン内でスキャン変換すべき
ピクセルの数に再初期設定される。この数は、スキャン
・ラインの終わりでビデオをブランクにし、FIFOの
読取りを制御するために使用される。L_margin
カウントが満了すると、ビデオ・データのシリアル化が
完了する。スキャン・ライン・ピクセル・カウントが満
了すると、VD0がブランクにされる。
【0045】基本モードのオペレーションでは、プリン
タ・エンジンとやりとりするためにUART 0が使用
される。UART 0は、シリアル制御信号を生成し、
シリアル状況情報を受信するために使用される。UAR
T 0が動作すると、UART 0は同期型の送受信器
に変わる。クロックはPPCによって内部で生成され、
チップから出力してUOclkピンに現れる。タイミン
グはキャノン・プリント・エンジンの要求条件に合致し
ている。データ送受信回路は特殊なクロックを使用して
いる。つまり、このクロックは、データがエンジンに送
られるときや状況がエンジンから返されるときだけ遷移
する。UOclkの発生回数はUART 0ボー・レー
ト(baud rate)ジェネレータにプログラムさ
れている。図14と図15は、それぞれキャノン・モー
ドのUART 0出力タイミングと入力タイミングを示
している。PPCメモリ・システム PPCメモリ・システムは図9に示されているが、メモ
リのアレイ(32ビットまたは39ビット。これは、デ
ータ・バスの幅とECCが取り入れられているかどうか
による)から構成されている。メモリはメモリ・ワード
が集まったものである。これらのアレイは2つのバンク
に配列されている(つまり、2ウェイ・インタリーブ方
式)。バンクは1つまたは2つ以上のRAMアレイとオ
プションとしてROMアレイから構成されている。RO
MとRAMはインタリーブし、タイミングとメモリの深
さは相互に独立している。バンク当たり最大8アレイま
でが初期PPCによって直接にサポートされるので、2
56K×4RAMチップでは最大16MBのメモリを実
装することができ、1M×4RAMチップでは最大64
MBのメモリを実装することができる。
【0046】メモリのバンクはデータ多重化とバッファ
リング回路の使用によってインタリーブされる。RAM
アレイの場合は、タイミング信号と制御信号(RAS、
CAS、WE)を生成し、バッファリンクする必要があ
る。PPCは必要な信号を生成するが、メモリに必要な
ドライブを得て、そのタイミング条件に合致させるため
に外部バッファが使用されている。行と列のアドレスは
多重化され、PPCチップから出力されて1組のアドレ
ス・ピン上に現れる。これらのアドレスがRAMチップ
から使用可能なメモリ・バンド幅を利用するには、PP
C外部のある種のパイプライン化(pipe1inin
g)が必要である。
【0047】図10は、種々のパンクからの読み書きデ
ータをインタリーブして、読取りサイクル時にPPCに
送り込み、書込みサイクル時に個々のバンク用に書込み
データを保持しているデータ・チップを示す図である。
PPCは双方向データ・ポートに接続されており、パン
クは個々の双方向ポートに接続されている。
【0048】図11は、メモリヘの行と列アドレスをパ
イプライン化し、メモリのドライブに必要なメモリ・ス
トローブ(RAS、CASなど)をバッファリングする
ために使用されるアドレス・チップを示す図である。メ
モリ負荷は高くなる可能性があるので、PPCピンと高
容量負荷の問にバッファリングが必要である。さらに、
メモリ・バンクに渡されるアドレスは、どちらのバンク
が最初にアクセスされるかに応じて、異なった方法でパ
イプライン化されている。
【0049】この構成によれは、各チップを32ビット
の複数の(例えば、8個)アレイをバッファリングする
ために使用できる(EECを取り入れることが可能であ
る)。必要とするアレイが少数である小型システムで
は、1チップで済むが、16個のアレイを必要とするよ
うなシステムでは、2個のチップが必要になる。256
K×4個または1M×4個のDRAMのように、複数の
DRAM編成を使用することが可能である。1M×1個
または4M×1個のDRAMを使用すると、アドレス・
ピンと制御ピンの負荷量がほぼ4倍に増加する。64ビ
ットといったビット幅の広いシステムと4ウェイ・イン
タリーブ方式といった他のインタリーブ方式を実現する
ことが可能である。
【0050】64ビット・システムでは、バンクの対ご
とに2つのチップが一緒に使用できるが、その場合、バ
ンク当たり最大4個のアレイを装備した2ウェイ・イン
タリーブ方式の64ビット・システムでは、2チップが
必要になるが、4ウェイ・インタリーブ方式の64ビッ
ト・システムでは4チップが必要になる。同じチップを
使用してすべてのメモリ・アドレスとタイミング・スト
ローブをバッファリングすると、これらの信号のスキュ
ー(skew)が減少するので、より密接したメモリ・
タイミングを高信頼に実現することができる。バッファ
・チップを別々に使用すると、メモリ・タイミング信号
のスキューが増加する。図10の構成によれば、各々が
最大8アレイまでを収容している32ビットの2チップ
を1個の128ピン・チップでドライブすることができ
る。他の構成も可能である。
【0051】入出力インタフェース 図16は入出力コントローラ・データ経路を示す機能ブ
ロック図である。入出力インタフェース・コントローラ
は内部IPU、メモリ・サブシステムおよび外部スレー
ブ・デバイスとDMAデバイス間のインタフェースとな
ることを目的としている。入出力コントローラはデータ
・フローのタイミングと方向を制御するハンドシェイキ
ング信号を出力し、またこの信号に応答する。これに関
する詳しい説明は、米国特許出願第07/726,89
3号に記載されている。簡単に説明すると、プリンタ・
ビデオ・プロセッサ(PVP)とメモリ・インタフェー
スは入出力コントローラと統合化されてアドレスとデー
タを送受する。以上から理解されるように、PVPは、
PVP要求バッファを経由して送られる要求と一緒に、
入出力コントローラを通してメモリアドレスを指定する
が、ビデオ・データはPVPビデオ・データ待ち行列を
通して直接メモリ・アクセス(DMA)によってPVP
に提供される。
【0052】オペランド位置合わせロジック(oper
and alignmentlogic)は、アドレス
の下位ビットとデータに関連するバイト・イネーブルを
デコードすることによって、外部入出力からの入力デー
タをアセンブルして位置合わせを行い、また、位置合わ
せした出力データを再び整列して外部入出力ヘ送るため
に使用される。入出力からの入力データは、アドレスの
下位ビットからデコードされるとき、位置合わせされた
ブロックにアセンブルされて、内部データ待ち行列に置
かれる。アセンブリ・ロジックからの位置合わせされた
入力データは待ち行列に累積され、データが待ち行列で
大きなブロックにアセンブルされたあとメモリヘ送られ
る。データは、待ち行列からバースト(burst)モ
ードでスイッチヘ送られるので、データを大きなバンド
幅を利用して転送することができ、入出力によるメモリ
・サブシステムの使用を最小に抑えることができる。
【0053】位置合わせされたブロックでメモリまたは
IPUから送られてきた出力データは関連のアドレスと
データ・サイズに従って再び整列され、複数のバス・サ
イクルまたはバースト・モード・サイクルでインタフェ
ースから出力されて引き渡される。サイクルの数はデー
タ・サイズと外部デバイスのサイズ(8または16ビッ
ト)によって決まる。
【0054】非位置合わせDMAデータは、アドレスが
連続している限り、入出力バス上を転送することができ
る。しかし、DMA書込みデータとIPUによって読み
取られるデータは、バス上で該当バイトに位置合わせさ
れなければならない。IPU読取りまたは書込みをPV
P、UARTまたは外部入出力デバイスヘ送るために
は、入出力インタフェースが外部入出力バスの仲裁を行
い、トランザクションを完了させるには、その前にアド
レスのデコードを行っておく必要がある。PVPとUA
RTがチップ上に置かれている場合であっても、これら
は外部入出力デバイスと同じ扱いを受けるので、アクセ
スするためには、入出力インタフェースに入出力バスを
獲得させる必要がある。
【0055】入出力バスは非同期式16ビット・バス・
インタフェースである。このバスでは、並列バスがアド
レスとデータ別に採用されている。データ・バスは16
ビット幅であり、双方向になっている。アドレス・バス
は、2バイト・ワード・ロケーションを指している31
本の下位ビット・アドレス・ラインと、2バイト・ワー
ド内のアクティブ・バイトを選択する2個の個別バイト
・イネーブル信号から構成されている。このバスは、シ
ステム・クロックから生成される出力クロックであるバ
ス・クロックと同期している。このクロックはすべての
バス・デコードと制御ロジックのマスタ・クロックとな
るものである。ダイナミックバスのサイジングはこのバ
スによってサポートされるので、8または16ビット周
辺デパイスの接続が可能である。
【0056】プロセッサからのバス要求がバス幅(16
ビット)を越えているか、オペレーションのデータ・サ
イズより狭いデバイスをアクセスすると、複数のバス・
サイクルが生成されることになる。最初のケースの例
は、プロセッサが入出力スペースヘのクワッド(qua
d)・ワードのストアを実行したときである。この場合
は、最大バス・サイズと*size8ピンに応じて、1
6ビット・バスの場合は8サイクルに、8ビット・バス
の場合は16サイクルに変換される。入出力バスはバー
スト・モード方式になっているので、データ転送を高速
に行うことができる。バースト・サイクル時には、新し
いデータ・アイテムを毎クロックの間にクロック・アウ
トすることができる。このバスは外部バス・マスタ(D
MAデバイスまたは他のプロセッサ)を許容するが、内
部入出力コントローラと外部マスタとの間の仲裁は内部
で行われる。
【0057】外部割込みもバス・インタフェースによっ
て処理されるので、専用レベル起動型割込み(1eve
l sensitive interrupt)入力と
外部コントローラは共にサポートされる。外部コントロ
ーラ割込み受信確認シーケンスの第2ロック割込み受信
確認サイクル時に、割込みベクトルがバスからインタフ
ェースによって読み取られて、内部割込みコントローラ
に渡され、そこからIPUに渡される。
【0058】入出力バスは、単一サイクル、複数サイク
ル、バースト・サイクルなどのキャッシュ不能(non
−cacheab1e)バス転送をサポートしている。
8ビットまたは16ビット・デバイスがサポートされ
る。最小バス・サイクルには、2クロック・サイクルが
必要である。サイクルの開始は、*ADSピンを要求す
ることで通知される。バス・サイクルの終了は、*BL
ASTがアクティブになったあとで*RDYまたは*B
RDYを要求することで通知される。1つのバス・トラ
ンザクションには、複数のデータ転送が必要になる場合
がある。
【0059】待ち状態がゼロの非バースト・バス・サイ
クルには2クロックが必要である。読み書きサイクルが
2クロックでサポートされるので(図17と図18参
照)、これは2−2バス・サイクルと呼ばれている。ク
ロックの立上り縁で*ADSを要求すると、有効なバス
・サイクルが開始したことを意味すると共に、有効なア
ドレスとバス定義ピンがアドレス・バスとサイクル定義
ライン上にあることを意味する。バス・サイクルは、*
BLASTと*BRDYを一緒に要求するか、*RDY
だけを要求するだけで終了する。
【0060】待ち状態は、図18に示すように*RDY
をインアクティブにドライブすることでバス・サイクル
に挿入できる。*RDYをインアクティブにドライブす
ると、待ち状態はいくつでも挿入することが可能であ
る。
【0061】図19に示すように、非バーストの複数サ
イクル転送は、スレーブがRDY(これはBRDYをオ
ーバーライドする、すなわち変更ないし書き換える)を
要求すると行われる。マスタがデータ・クロックを実際
に転送中の場合は、2番目のクロックごとにその終了時
に要求を取り消したままに*BLASTを保持して、デ
ータをストローブしてCPUに入れる。RDYとBRD
Yが共に要求が取り消されたときは、転送は延長される
(待ち状態が追加される)。個々のトランザクション
は、個々のサイクルごとにBLASTが要求された場合
を除き、同じように実行される。
【0062】バースト・サイクルは、*RDYではなく
*BRDYが要求されると、スレーブによって受信確認
され、許可される。*RDYは、図20に示すようにイ
ンアクティブにドライブしなければならない。2番目と
それ以降のクロック終了時にスレーブが*BRDYと*
RDYをインアクティブにドライブしたとき、待ち状態
がバースト・サイクルに挿入される。個々のトランザク
ションは、*BRDYが要求されると完了する。パース
ト・モードは*RDYを要求すれば、スレーブが終了さ
せることができる。データのバースト転送の順序は、I
PUから示された最初のアドレスによって決まる。この
バースト順序は以下の表に示す場合の1つである。
【0063】 このバスによれは、バス・サイクル時に*SIZE8ピ
ンを使用して8ビットまたは16ビット・デバイスに接
続することが可能である。*SIZE8を要求すると、
8ビット転送が選択される。*SIZE8は、最初に要
求した*RDYまたは*BRDYがサンプリングされる
前に要求しなければならない。アクセスしようとするデ
バイスのバス幅が転送オペレーションのデータ・サイズ
より小さいか、位置合わせのために複数サイクルが必要
なときは、複数のバス・サイクルが生成される。この例
は図21に示されている。
【0064】HOLDを要求すると、これは別のバス・
マスタがバスの制御を要求していることを意味する。現
バス・サイクルが完了すると、バスはフロート(f1o
at)される(D〈31L0〉、*BE〈1:0〉、W
/R*、D/C*、M/I*、および*ADSは高イン
ピーダンス状態に置かれる)。HLDAを要求すると、
これはプロセッサがバスを別のマスタに譲り渡したこと
を意味する。図23を参照のこと。入出力バスはHOL
D要求が取り消されるまで手放されている。 DMA 図23および図24は、それぞれDMA読取りサイクル
とDMA書込みサイクルを示している。DMA読取りサ
イクルはADSが要求されると、開始する。ICPピン
とアドレスはBClkの立上りエッジでサンプリングさ
れる。データはMCUに要求される。データが返される
と、要求したデータはドライブされたデータ・ピン上に
現れ、IRDYピンが要求される。IRDYピンが要求
されると、これは、サイクルを完了できるが、RDYピ
ンが要求されるまでサイクルが完了しないことを意味す
る。BLASTはサイクルがバーストの最後のサイクル
であることを入出力インタフェースに知らせるために使
用される。BLASTは常にサンプリングされる。
【0065】DMA書込みサイクルは、入出力がデータ
を受信することを除けば、読取りサイクルと同じであ
る。また、DMA書込みサイクルでのIRDYとBLA
STの使い方は、DMA読取りサイクルと同じである。
入出力インタフェースが新しいデータを受信できる期間
の間、IRDYは要求されたままになっている。例え
ば、その内部待ち行列が一杯になると、IRDYは要求
が取り消される。また、RDYが要求されるのを待って
からサイクルを完了する。
【0066】DMA書込み要求に対しては、データとア
ドレス情報は内部待ち行列へ送られる。データは待ち行
列へ送られる途中でMCUが取得したロケーションに位
置合わせされ、位置合わせされたデータが待ち行列に受
け入れられると、これを受けて、待ち行列は信号をDM
Aへ送り返して、追加のデータを受け入れる準備状態に
あることを知らせる。待ち行列が一杯になると、準備信
号は要求が取り消されたままに保持される。外部デバイ
スがデータ送信を停止したとき、あるいは待ち行列にデ
ータを累積できなくなったとき、MCUはデータをメモ
リに書くように要求される。MCUは、入出力ユニット
がメモリ・ポートヘアクセスすることをそのアービタが
許可すると、書込みを行う。そのあと、データ・ブロッ
クは要求情報と一緒にスイッチへ送られる。
【0067】DMA読取り要求の場合は、外部DMAデ
バイスから通知されたアドレスがMCUに通知される。
このアドレスは位置合わせされたメモリ・ブロックをア
ドレス指定するために使用される(メモリ・システムの
インタリーブ方式とバス幅に依存する)データが入出力
待ち行列に返送されると、要求データは要求側DMAデ
バイスに返される。
【0068】PPCピン 本実施例によるPPCでは、以下に示すピンが使用され
ている。 雑目的ピン(小計) : 6 SC1k 〈1:O〉 入力 外部クロック入力 *Testi 入力 テスト入力 *Testo 出力 テスト出力 *IOts 入力 出力を3状態(tristate)に強 制 *Sst 入力 IPU単一ステップ プリント・エンジン (小計): 9 WData 出力 プリンタ出力データ VSync 出力 垂直同期出力 Prnt 出力 プリンタ・プリント・コマンド出力 CPrdy 出力 コントローラ電源レディ WC1k 入力 Wdataシリアル・クロック LSync 入力 ライン同期ストローブ FSync 入力 フレーム同期ストローブ PRdy 入力 プリンタ・レディ PPRdy 入力 プリンタ電源レディ メモリ・ポート (小計): 72 MData 〈31:0〉 入出力 メモリ・データ MAdr 〈10:0〉 出力 行/列アドレス MRAS* 〈1:0〉 出力 RASピン MCAS* 〈15:0〉 出力 CASピン MRRAL*〈1:0〉 出力 ROM行アドレス・ラッチ MREN* 〈1:0〉 出力 ROMイネーブル MWE* 〈1:0〉 出力 書込みイネーブル MRD 出力 読取り MODD* 出力 奇数バンク、ラッチ・イネーブル MOVLD* 出力 奇数有効 MBK 出力 バンク開始 TClk 出力 クロック出力トラッキング 入出力バス(小計) :73 ピン ビット 入出力 機能 BClk 出力 バス・クロック BClkf 入力 バス・クロック発生回数/フェーズ Reset 入力 パワー・アッブ・リセット ADR 〈31:1〉入出力 アドレス *ICS 入力 チップ・セレクト *BE 〈1:0〉 入出力 バイト・イネーブル DAT 〈15:0〉入出力 データ *ADS 入出力 アドレス・ストローブ *RDY 入力 スレーブ・レディ *BRDY 入力 バースト・レディ *IRDY 出力 レディ出力 *BLAST 入出力 バースト最後 DC 入出力 バス・サイクル定義 W/R 入出力 バス・サイクル定義 M/IO 入出力 バス・サイクル定義 *SIZE8 入力 8ビット・デバイス BREQ 出力 バス要求 HOLD 入力 バス受信確認 HLDA 出力 バス許可 *BOFF 入力 バス・フロート・ピン NMI 入力 マスク不可能(nonmaskab1e) 割込み INTR 入力 マスク可能割込み要求 DINT 〈3:0〉 入力 直接マスク可能割込み入力 プリント・エンジン制御とUART 9 UOrxd 入力 UO受信データ *UOcts 入力 UO送信可 UOtxd 出力 UO送信データ *UOdtr 出力 UOデータ端末レディ *UOclk 出力 UOキャノンCCLK信号 Ulrxd 入力 U1受信データ *Ulcts 入力 U1送信可 Ultxd 出力 U1送信データ *Uldtr 出力 U1データ端末レディ
【0069】
【発明の効果】本発明はページ・プリンタの制御を目的
としたRISC型マイクロプロセッサ・アーキテクチャ
を利用しており、特殊グラフィック機能によって使用さ
れ、他の機能ユニットと同じようにプロセッサに統合化
された特殊機能回路をRISC型マイクロプロセッサ内
に設けたものであり、効率がよく、かつ統合化された直
接メモリアクセスをもつプリンタ・ビデオ・プロセッサ
が得られる。なお、上記では特定の実施例を示して本発
明を説明してきたが、上述した説明は本発明を例示した
もので、本発明を限定するものではない。請求の範囲に
明確化されている本発明の精神と範囲を逸脱しない限
り、種々態様に変更が可能であることは勿論である。
【図面の簡単な説明】
【図1】 PPCシステムを示すブロッ図である。
【図2】 PPCを示すブロック図である。
【図3】 ピクセル変更データ経路を示す図である。
【図4】 直交方向ロテータを示す図である。
【図5】 ビット/バイト・ミラーを示す図である。
【図6】 図3〜図5の特殊機能回路をRISC型プロ
セッサ・データ経路に統合化したものを示す図である。
【図7】 図3〜図5の特殊機能回路をRISC型プロ
セッサ・データ経路に統合化したものを示す図である。
【図8】 ビデオ・プロセッサを示すブロック図であ
る。
【図9】 メモリ・システム構造を示す図である。
【図10】 2ウェイ・インタリーブ方式のデータ・チ
ップを示す図である。
【図11】 2ウェイ・インタリーブ方式のアドレス・
チップを示す図である。
【図12】 水平方向のタイミング図である。
【図13】 垂直方向のタイミング図である。
【図14】 UART 0出力タイミング図である。
【図15】 UART 0入力タイミング図である。
【図16】 入出力コントローラ・データ経路の機能図
である。
【図17】 入出力バス・トランザクションを示すタイ
ミング図である。
【図18】 入出力バス・トランザクションを示すタイ
ミング図である。
【図19】 入出力バス・トランザクションを示すタイ
ミング図である。
【図20】 入出力バス・トランザクションを示すタイ
ミング図である。
【図21】 入出力バス・トランザクションを示すタイ
ミング図である。
【図22】 入出力バス・トランザクションを示すタイ
ミング図である。
【図23】 DMA読取りサイクルを示す図である。
【図24】 DMA書込みサイクルを示す図である。
【符号の説明】
10…ページ・プリンタ・コントローラ、12…メモリ
バンク、14…入出力バス。
フロントページの続き (72)発明者 デオサラン,トレバー アメリカ合衆国 94086 カリフォルニア 州 サニーベール イースト ワシントン アヴェニュー 555 (72)発明者 ヤング,リンレー エム. アメリカ合衆国 92037 カリフォルニア 州 ラ ジョラ コール ティアラ 2209 (72)発明者 ヤップ,キアン−チン アメリカ合衆国 95131 カリフォルニア 州 サン ノゼ ヘイズレット コート 1233 (72)発明者 グエン,レ トロン アメリカ合衆国 95030 カリフォルニア 州 モンテ セレノ ダニエル プレイス 15096 (72)発明者 マツバヤシ,マコト 日本国 392 長野県諏訪市大和3丁目3 番5号 セイコーエプソン株式会社内 (72)発明者 ラウ,テーリ アメリカ合衆国 94306 カリフォルニア 州 パロ アルト カレッジ アヴェニュ ー 411 アパート イー

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 ホストコンピュータと、 メモリアレイと、 プリンタエンジンと、 前記ホストコンピュータ、前記メモリアレイ、および前
    記プリンタエンジンに結合され、前記ホストコンピュー
    タと通信する手段を有するシングルチップ・プリンタコ
    ントローラを含むコンピュータシステムであって、 前記プリンタコントローラがさらに、 1)プリンタエンジンのための複数の制御信号を生成
    し、前記メモリアレイからフェッチすべきデータのメモ
    リアドレスを生成し、フェッチされたデータをシリアル
    化し、シリアル化したデータを前記プリンタエンジンに
    提供するためのプリンタビデオプロセッサと、 2)スーパースカラ・マイクロプロセッサとして形成さ
    れ、(a)前記プリンタビデオプロセッサの作動を支援
    するために、内部機能部として前記命令プロセッサ内に
    相互接続された1つまたはそれ以上の図形機能ユニット
    であり、 (i)直交回転ビットマップデータの各ブロックを組立
    てるための直交方向ローテータ、 (ii)受取ったデータを逆の順序で出力するためのビッ
    ト/バイトミラーユニット、 (iii)図形命令に対応してピクセルを変更するためのピ
    クセル変更部、のうちの少なくとも1つを含む図形機能
    ユニットと、(b)前記図形機能ユニットに並行に命令
    を発行する命令スケジューラと、を含む命令プロセッサ
    と、 3)前記プリンタビデオプロセッサに結合され、前記プ
    リンタビデオプロセッサからメモリトランザクション要
    求を受取り処理するためのメモリコントローラとから構
    成されることを特徴とするコンピュータシステム。
  2. 【請求項2】 前記プリンタビデオプロセツサが、前記
    メモリコントローラに相互接続されたレジスタファイル
    と、前記レジスタファイルから受取ったデータで算術演
    算を行い、アドレスとプリンタ制御信号を生成するため
    の加算器と、メモリからデータを受取り、前記プリンタ
    エンジンヘ転送するために前記データをシリアル化する
    ためのビデオシリアライザを含むことを特徴とする請求
    項1記載のコンピュータシステム。
  3. 【請求項3】 前記プリンタビデオプロセッサが前記命
    令プロセッサと協働して機能し、タイミング信号を生成
    し、スキャンデータのフェツチとシリアル化、プリンタ
    接触、およびプリンタ同期化を行うことを特徴とする請
    求項1記載のコンピュータシステム。
  4. 【請求項4】 さらに、複数のレジスタファイルと、 前記レジスタファイルからのデータを前記図形機能ユニ
    ットの入力ポートへルーティングするための第1手段
    と、 前記図形機能ユニットの出力ポートから前記レジスタフ
    ァイルヘデータをルーティングするための第2手段と、 を含むことを特徴とする請求項1記載のコンピュータシ
    ステム。
  5. 【請求項5】 前記第1および第2手段が複数のマルチ
    プレクサを含むことを特徴とする請求項1記載のコンピ
    ュータシステム。
  6. 【請求項6】 前記メモリコントローラが複数の双方向
    性データバスポートを含むことを特徴とする請求項1記
    載のコンピュータシステム。
  7. 【請求項7】 前記メモリコントローラが多段アドレス
    パイプラインを含むことを特徴とする請求項1記載のコ
    ンピュータシステム。
  8. 【請求項8】 プリンタェンジンと、 前記プリンタエンジンに結合されたシングルチップ・プ
    リンタコントローラとを含むコンピュータシステムであ
    って、 前記プリンタコントローラがさらに、 1)プリンタエンジンのための複数の制御信号を生成
    し、フェッチすべきデータのメモリアドレスを生成し、
    フェッチされたデータをシリアル化し、シリアル化した
    データを前記プリンタエンジンに提供するためのプリン
    タビデオプロセッサと、 2)スーパースカラ・マイクロプロセッサとして形成さ
    れ、(a)前記プリンタビデオプロセッサの作動を支援
    するために、内部機能部として前記命令プロセッサ内に
    相互接続された1つまたはそれ以上の図形機能ユニット
    であり、 (i)直交回転ビットマップデータの各ブロックを組立
    てるための直交方向ローテータ、 (ii)受取ったデータを逆の順序で出力するためのビッ
    ト/バイトミラーユニット、 (iii)図形命令に対応してピクセルを変更するためのピ
    クセル変更部、のうちの少なくとも1つを含む図形機能
    ユニットと、(b)前記図形機能ユニットに並行に命令
    を発行する命令スケジューラと、を含む命令プロセッサ
    と、 3)前記プリンタビデオプロセッサに結合され、前記プ
    リンタビデオプロセッサからメモリトランザクション要
    求を受取り処理するためのメモリコントローラとから構
    成されることを特徴とするコンピュータシステム。
  9. 【請求項9】 前記プリンタビデオプロセッサが、前記
    メモリコントローラに相互接続されたレジスタファイル
    と、前記レジスタファイルから受取ったデータで算術演
    算を行い、アドレスとプリンタ制御信号を生成するため
    の加算器と、メモリからデータを受取り、前記プリンタ
    エンジンヘ転送するために前記データをシリアル化する
    ためのビデオシリアライザを含むことを特徴とする請求
    項8記載のコンピュータシステム。
  10. 【請求項10】 前記プリンタビデオプロセッサが前記
    命令プロセッサと協働して機能し、タイミング信号を生
    成し、スキャンデータのフェッチとシリアル化、プリン
    タ接触、およびプリンタ同期化を行うことを特徴とする
    請求項8記載のコンピュータシステム。
  11. 【請求項11】 さらに、複数のレジスタファイルと、 前記レジスタファイルからのデータを前記図形機能ユニ
    ットの入力ポートへルーティングするための第1手段
    と、 前記図形機能ユニットの出力ポートから前記レジスタフ
    ァイルヘデータをルーティングするための第2手段と、 を含むことを特徴とする請求項8記載のコンピュータシ
    ステム。
  12. 【請求項12】 前記第1および第2手段が複数のマル
    チプレクサを含むことを特徴とする請求項8記載のコン
    ピュータシステム。
  13. 【請求項13】 前記メモリコントローラが複数の双方
    向性データバスポートを含むことを特徴とする請求項8
    記載のコンピュータシステム。
  14. 【請求項14】 前記メモリコントローラが多段アドレ
    スパイプラインを含むことを特徴とする請求項8記載の
    コンピュータシステム。
JP11339912A 1999-11-30 1999-11-30 コンピュ―タシステム Pending JP2000135822A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11339912A JP2000135822A (ja) 1999-11-30 1999-11-30 コンピュ―タシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11339912A JP2000135822A (ja) 1999-11-30 1999-11-30 コンピュ―タシステム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP50214993A Division JP3316851B2 (ja) 1991-07-08 1992-07-07 シングル・チップ・ページ・プリンタ・コントローラ

Publications (1)

Publication Number Publication Date
JP2000135822A true JP2000135822A (ja) 2000-05-16

Family

ID=18331956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11339912A Pending JP2000135822A (ja) 1999-11-30 1999-11-30 コンピュ―タシステム

Country Status (1)

Country Link
JP (1) JP2000135822A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013022138A1 (ko) * 2011-08-08 2013-02-14 주식회사 씨드 고성능 아날로그-디지털 하이브리드 컴퓨터 제어 기반의 다차원 프린터

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013022138A1 (ko) * 2011-08-08 2013-02-14 주식회사 씨드 고성능 아날로그-디지털 하이브리드 컴퓨터 제어 기반의 다차원 프린터

Similar Documents

Publication Publication Date Title
JP3537046B2 (ja) プリンタコントローラ及びデータ処理装置
EP0602909B1 (en) SIMD architecture with bus for transferring data to and from processing units
US5353423A (en) Memory controller for use with write-back cache system and multiple bus masters coupled to multiple buses
US5638531A (en) Multiprocessor integrated circuit with video refresh logic employing instruction/data caching and associated timing synchronization
US4849910A (en) Method for generating line segments
US5875463A (en) Video processor with addressing mode control
US20010021971A1 (en) System for executing instructions having flag for indicating direct or indirect specification of a length of operand data
EP0311111A2 (en) Apparatus for assembling data for supply to a scanning output device
US5845327A (en) Cache coherency where multiple processors may access the same data over independent access paths
JPH01156845A (ja) メモリ・システム
EP0602915B1 (en) SIMD architecture for connection to host processor's bus
US5696985A (en) Video processor
JP2004503859A (ja) メモリコントローラハブ
US5511152A (en) Memory subsystem for bitmap printer data controller
US4891768A (en) Raster image processor
US5122973A (en) Front-end system for a raster output scanner
US5386537A (en) System with reduced instruction set processor accessing plural memories at different speeds using bank interleaving
JPS6274663A (ja) フロントエンドシステム
JPH05257657A (ja) 電源立上げ時シーケンス装置
US6097403A (en) Memory including logic for operating upon graphics primitives
US5276781A (en) Laser printer controller flexible frame buffer architecture which allows hardware assisted memory erase
US6373493B1 (en) Hardware graphics accelerator having access to multiple types of memory including cached memory
JP2000135822A (ja) コンピュ―タシステム
JP2000135837A (ja) プリンタコントロ―ラ及びデ―タ処理装置
JP2000135841A (ja) プリンタコントロ―ラ