JPH08129477A - コンピュータ周辺装置のデータを管理するためのシステム、および装置 - Google Patents

コンピュータ周辺装置のデータを管理するためのシステム、および装置

Info

Publication number
JPH08129477A
JPH08129477A JP7123855A JP12385595A JPH08129477A JP H08129477 A JPH08129477 A JP H08129477A JP 7123855 A JP7123855 A JP 7123855A JP 12385595 A JP12385595 A JP 12385595A JP H08129477 A JPH08129477 A JP H08129477A
Authority
JP
Japan
Prior art keywords
data
memory
storage
management unit
memory management
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
JP7123855A
Other languages
English (en)
Inventor
A Relf Richard
リチャード・エイ・レルフ
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices 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
Priority claimed from US08/248,625 external-priority patent/US6092171A/en
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JPH08129477A publication Critical patent/JPH08129477A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 データをホストコンピュータから受信するコ
ンピュータ周辺装置のデジタルデータを管理するための
システムおよび方法を提供する。 【構成】 このシステムはホスト(10)からデータを
受信し、そのデータを使用してコンピュータ周辺装置を
制御する処理回路を含む。このシステムはさらにデータ
を記憶しかつ複数個の記憶場所を含むメモリ装置(1
7)を含む。このシステムはさらにメモリ装置のデータ
の記憶を制御するためのメモリ管理ユニット(16)を
含む。このシステムはさらにメモリでデータの圧縮記憶
を行なうための圧縮プログラム(24)を含む。メモリ
管理ユニット(16)はメモリ装置に記憶されたデータ
の量が予め定められたしきい値を超えるときを決定し、
圧縮信号を発生する。圧縮プログラム(24)はデータ
の圧縮記憶を行なうことによって圧縮信号に応答する。

Description

【発明の詳細な説明】
【0001】
【発明の背景】この発明はコンピュータ周辺装置の動作
のためのメモリ要求を低減するためにメモリ管理ユニッ
トを使用するためのシステムおよび方法に一般に向けら
れる。より特定的に、この発明の好ましい実施例はレー
ザプリンタの動作のためのメモリ要求を低減するために
有用である。
【0002】レーザプリンタはデジタルデータのプリン
トされたコピー出力を生み出すためのコンピュータ周辺
装置である。かかる周辺装置はホストコンピュータまた
はローカルエリアネットワークなどのデータ処理装置に
典型的には結合される。かかる配列において、ホストコ
ンピュータは受信されたデータを表わすグラフィック画
像を生み出すレーザプリンタにデジタルデータを伝送す
る。典型的なレーザプリンタは、ホストコンピュータか
らのデータおよび命令をレーザプリンタによって使用さ
れる走査およびプリントパターンに変換することによっ
て、たとえばポストスクリプト(PostScript)(登録商
標)(注:カリフォルニア州(California)、マウンテ
ンビュー(Mountain View )のアドーブ・システムズ・
インコーポレイテッド(Adobe Systems, Inc. )によっ
て販売される)などのような制御プログラムに応答する
マイクロプロセッサを含んでもよい。レーザプリンタに
よって受信された命令は、レーザプリンタのプリント機
器(エンジン)を制御するための制御プログラムに応答
するマイクロプロセッサによって使用される。
【0003】マイクロプロセッサに加えて、典型的なレ
ーザプリンタはまたデジタルメモリを含んでもよい。か
かるメモリはマイクロプロセッサのための制御プログラ
ム、およびたとえばレーザプリンタによって支持される
テキストフォントを説明する情報を含むリードオンリメ
モリ(「ROM」)、ならびにデータを記憶するための
ランダムアクセスメモリ(「RAM」)を含んでもよ
い。ホストコンピュータがデータをレーザプリンタに伝
送するとき、マイクロプロセッサは受信されたデータを
プリントされたページ上に現われるテキストまたはグラ
フィックスを含むドットのパターンのビットマップに変
換する。このプロセスはレンダリング(rendering )と
して既知であり、ビットマップはレンダリングされたデ
ータからなる。レンダリングされたデータはそれからマ
イクロプロセッサによってRAMに書込まれる。丸々1
ページのためのデータがホストから受信されかつレンダ
リングされたデータとしてRAMに書込まれた後、レン
ダリングされたデータはマイクロプロセッサによってR
AMから読出され、レーザプリンタエンジンの動作を制
御するために使用される。印刷はエンジン、つまり画像
をページ上に物理的に運ぶレーザプリンタの構成要素に
よって実際は行なわれる。
【0004】レーザプリンタはそのページのためのデー
タのすべてを受信しかつレンダリングした後のみ各ペー
ジをプリントするので、RAMは1ページに関連するレ
ンダリングされたデータの量を保持するのに十分なサイ
ズでなければならない。ポストスクリプト(登録商標)
プリンタ制御プログラムを使用してレンダリングされた
ページなどのような典型的な応用において、1ページの
レンダリングされた画像は1メガバイト(「MB」)の
データより多いデータを含み得る。レンダリングされた
データ記憶に加えて、プリンタ制御プログラムそれ自体
は0.5MBのRAM記憶を占有し得る。結果として、
総RAM記憶要求は単一のページの印刷を可能にするた
めに2MBもの大きさになり得る。
【0005】これらの代表的な記憶要求は300のイン
チ当りドット(「DPI」)のプリント密度と一致す
る。いくつかのレーザプリンタ応用は480または60
0DPIのようなより高密度の印刷を必要とする。より
高密度の印刷はプリントされたテキストおよびグラフィ
ックスのより精密な解像度を可能にする。しかしなが
ら、より高密度の印刷はまたページ上に画像を形成する
ために増大された数のドットを必要とする。結果とし
て、レーザプリンタのより高密度の印刷動作はレーザプ
リンタのRAM記憶要求を増大する。かかる大きなRA
M要求はしばしばレーザプリンタのより高いコストおよ
びより遅い動作を結果としてもたらし、かつゆえに高密
度印刷のようなメモリ集約的動作を伴うレーザプリンタ
の応用を過去において制限してきた。
【0006】レーザプリンタのようなコンピュータ周辺
装置で大量のデータを管理する際の動作速度を改良する
先行技術の試みは、オンボードの物理メモリ、つまりR
AMの量を増大することに主に依存してきた。一般に、
物理メモリはマイクロプロセッサによって直接アドレス
指定可能であるという点で仮想メモリと区別される。仮
想メモリシステムはRAMまたはディスクドライブのよ
うな大量記憶装置において仮想アドレスを物理アドレス
に変換するために、当該技術分野において周知であるア
ドレス変換技術を必要とする。コンピュータ周辺装置の
先行技術の設計には一般にこれらの仮想メモリ技術が欠
けていた。かかる先行技術の設計において、2MBのR
AM記憶を必要とする応用はレーザプリンタにおいて少
なくとも2MBのオンボード物理メモリを必要とした。
オンボードRAMを含む集積回路はレーザプリンタのコ
ストのかなりの部分となる。このように、高密度印刷ま
たは進んだグラフィックス能力のようなメモリ集約的応
用のためにレーザプリンタに十分なRAMを与えること
は単位コストをかなり増す、つまりより大きなRAMは
またレーザプリンタのプリント回路の相当な「不動産」
を占有し、かつレーザプリンタに対するシステム信頼性
を低減する。このように、かかる先行技術の設計の正味
の効果は、全体のコストを増大しかつレーザプリンタの
動作的有効性を低減することである。
【0007】この発明はメモリ集約的動作のこれらの制
限を克服し、先行技術に比べて他の利点を提供する。こ
の発明はデータの記憶を管理し、かつメモリ要求を低減
するオンボードメモリ管理ユニットを提供する。この発
明は仮想的にアドレス指定されたデータが、それらがマ
イクロプロセッサによって直接アクセスされない物理メ
モリに圧縮形式で記憶されることを可能にする。仮想メ
モリの記憶および検索はこの発明に一体のメモリ管理ユ
ニットによって制御される。メモリ管理ユニットはシス
テム状態をモニタし、かつメモリ管理ユニット動作を指
示するソフトウェア制御プログラムに応答する。メモリ
管理ユニットはデータがRAMとディスクとの間よりは
むしろRAM内で移動する仮想メモリシステムを作り出
すためのアドレス変換を与える。圧縮形式でデータを記
憶することはデータ記憶に必要とされる総メモリを低減
する。メモリ要求の低減はひいてはシステムコストおよ
び複雑さを低減するとともにシステム信頼性を改良す
る。
【0008】
【発明の概要】この発明はホストコンピュータからデー
タを受信するコンピュータ周辺装置のデジタルデータを
管理するためのシステムおよび方法を提供する。このシ
ステムはホストコンピュータからデータを受信し、かつ
コンピュータ周辺装置を制御するためにそのデータを使
用する処理手段を含む。このシステムはさらにデータを
記憶しかつ複数個の記憶場所を含むオンボードメモリ手
段を含む。このシステムはさらにメモリ手段のデータの
記憶を制御するためのメモリ管理手段を含む。このシス
テムはさらにメモリ手段でデータの圧縮(compressed)
記憶を行なうための圧縮手段を含む。メモリ管理手段は
メモリ装置に記憶されたデータの量が予め定められたし
きい値を超えたときを決定し、圧縮信号を発生する。圧
縮手段はメモリ手段内でデータの圧縮記憶を行なうこと
によって圧縮信号に応答する。
【0009】メモリ手段を含む複数個の記憶場所は記憶
場所の順序付けられたアレイのサブセットに配列され
る。好ましくは、メモリ管理手段は、データの圧縮記憶
が行なわれた後順序付けられたアレイのサブセットのう
ちの第1のサブセットと、順序付けられたアレイのサブ
セットのうちの第2のサブセットとの間のデータの交信
を制御する。
【0010】好ましい実施例において、メモリ管理手段
は順序付けられたアレイのサブセットの各サブセットの
処理手段によるデータの記憶を指示する。記憶は選択さ
れたサブセットに記憶されたデータの量が、その選択さ
れたサブセットに対する予め定められたしきい値を超え
るまで行なわれる。選択されたサブセットに対するしき
い値に達したとき、メモリ管理ユニットはシステムのた
めの圧縮信号を発生する。圧縮手段は選択されたサブセ
ットでデータの圧縮記憶を行なうことによって圧縮信号
に応答する。このシステムは各それぞれのサブセットが
メモリ管理手段による圧縮処理のための選択されたサブ
セットとして扱われ得るようにフレキシブルに設計され
る。
【0011】様々なサブセットは、第1のサブセット内
のデータの圧縮が第1のサブセット内で利用可能な記憶
容量を与えた場合、メモリ管理ユニットは第2のサブセ
ット内に記憶されたデータを、第1のサブセット内の利
用可能な今はからの記憶場所内に記憶するように指示し
得るように階層的に指定される。好ましくは、第2のサ
ブセットからシフトされたデータは圧縮形式で第1のサ
ブセット内に記憶されるであろう。このように、付加的
な記憶場所が第2のサブセットで利用可能にされる。
【0012】第2のサブセット内のデータの記憶はシス
テムのしきい値に達するまで非圧縮(uncompressed)形
式で達成される。
【0013】実際問題として、圧縮データの減圧縮(de
compression )および検索は非圧縮データの検索より遅
いことは事実であり、かつある付加的なオンボード記憶
場所はデータの圧縮のために(およびデータが後に検索
される場合はデータの減圧縮のために)必要な情報をプ
ログラミングすることによって占められることは事実で
ある。
【0014】したがって、この発明の目的はオンボード
メモリ装置の選択されたサブセットにおけるデータの記
憶を指示し、データをより少ない物理メモリを必要とす
る形式に圧縮し、かつ非圧縮データの記憶が継続するこ
とを可能にするようにメモリ装置のサブセット間で圧縮
形式のデータを移動させることによって、コンピュータ
周辺装置の動作のためのメモリ要求を低減するために、
コンピュータ周辺装置のオンボードメモリ管理ユニット
を使用するためのシステムおよび方法を提供することで
ある。
【0015】この発明のさらなる目的は、圧縮および非
圧縮形式の双方において、オンボード記憶場所のサブセ
ット間でデータが自由に移動することを可能にすること
によって、メモリ要求を低減するために、コンピュータ
周辺装置のオンボードメモリ管理ユニットを使用するた
めのシステムおよび方法を提供することである。
【0016】この発明のさらなる目的および特徴は、こ
の発明の好ましい実施例を例示する添付の図面に関連し
て考えられる以下の明細書および前掲の特許請求の範囲
から明らかになるであろう。
【0017】
【詳しい説明】図1はこの発明が使用され得るシステム
のブロック図である。図1において、ホストコンピュー
タ10はレーザプリンタ12にデータを伝送する。ホス
トコンピュータ10およびレーザプリンタ12は直接結
合されてもよいし、または他のデータ処理装置(図示せ
ず)に接続可能なローカルエリアネットワーク(図示せ
ず)を介して結合されてもよい。
【0018】レーザプリンタ12はマイクロプロセッサ
(「μp」)14、メモリ管理ユニット(「MMU」)
16、ランダムアクセスメモリ(「RAM」)18およ
びリードオンリメモリ(「ROM」)20を含み得るメ
モリ17、ならびにエンジン22を含む。MMU16は
変換ルックアサイドバッファ15を含む。マイクロプロ
セッサ14はホストコンピュータ10からデータを受信
し、メモリ17に含まれる制御プログラムの命令に応答
して受信されたデータを処理する。マイクロプロセッサ
14はメモリ17に含まれた命令および情報を使用し
て、ホストコンピュータ10からのデータをエンジン2
2によって必要とされるデータのパターンに変換し、受
信されたデータを表わす読出可能な記号を形成する。こ
のプロセスはデータをレンダリングすることとして一般
に既知である。
【0019】RAM18の記憶場所とエンジン22によ
ってプリントされるべきページ(図示せず)上のドット
場所との間には好ましくは1対1の対応がある。RAM
18のデータは好ましくは論理「0」および「1」のパ
ターンであり、このパターンはエンジン22によって生
み出されるべきプリントされたページ上の白および黒の
領域のパターンに対応する。たとえば、RAM18に記
憶された「1」によりエンジン22はそのページ上に1
つのドットを生み出し、RAM18の「0」によりエン
ジン22はそのページ上の対応するドットを白いままに
しておく。マイクロプロセッサ14はROM20に含ま
れる情報に従ってホストコンピュータ10から受信した
データをレンダリングし、その後レンダリングされたデ
ータをRAM18に記憶する。丸々1ページのデータが
レンダリングされRAM18に蓄積された後、マイクロ
プロセッサ14はレンダリングされたデータをRAM1
8からエンジン22へ伝送し、エンジン22はそのペー
ジをプリントする。エンジン22がページをプリントす
るプロセスはイメージングとして既知である。
【0020】この発明の理解を容易にするために、類似
の要素は様々な図面において類似の参照番号によって示
すことにする。
【0021】図2はレーザプリンタの先行技術の実現化
例におけるRAM18のメモリ使用法を例示するブロッ
ク図である。マイクロプロセッサ14を指示する制御プ
ログラムは典型的にメモリ17の部分19、好ましくは
ROM20を占有する。部分19は典型的に約0.5メ
ガバイト(「MB」)の容量を有する。1ページのレン
ダリングされた画像は典型的にメモリ17の部分21、
好ましくはRAM18を占有する。部分21は約1MB
の容量を典型的に有する。一般に、RAM18の部分2
1の各個々の記憶場所は生み出されるべきプリントされ
たページ上のドットに対応する。たとえば、始めにRA
M18の部分21のすべての記憶場所はブランクのペー
ジに対応する「0」に設定され得る。マイクロプロセッ
サ14はRAM18のレンダリングされたデータを記憶
するので、記憶場所の中には「0」に設定されたままの
ものもあり、「1」にリセットされるものもある。図2
に例示される先行技術の実現化例において、マイクロプ
ロセッサ14はRAM18の記憶場所にランダムにアク
セスすることによってレンダリングされたデータを記憶
する。
【0022】マイクロプロセッサ14がデータを受信す
る順序は、データがイメージングされる順序に対応しな
くてもよい。ホストコンピュータ10はイメージングの
完了後イメージングされたページ上の物理的に隣接する
パターンを作り出すデータを大きく異なる時間で伝送し
てもよい。たとえば、境界が1ページのテキストの周囲
にある場合などは、ホストコンピュータ10はテキスト
の情報をまず伝送して、それからグラフィックのデータ
を伝送してもよい。
【0023】もしかかる時間の異なるデータ伝送が発生
すれば、マイクロプロセッサ14がグラフィックのデー
タをレンダリングする場合、マイクロプロセッサ14は
テキストのデータをレンダリングする場合にアクセスさ
れたのと同一のRAM18の領域にアクセスしなければ
ならない。これはRAM18の記憶場所とページ上のド
ットとの間の1対1の対応のためである。たとえば、ペ
ージ上のテキストの最上ラインに対してレンダリングさ
れたデータおよびテキストの周囲の境界は、RAM18
のほぼ同一のアドレス(つまり同一の論理場所)に置か
れ得る。このように、図2に例示された先行技術の設計
では、マイクロプロセッサ14はいつでもRAM18の
すべての記憶場所をアクセスすることができなければな
らない。
【0024】マイクロプロセッサ14によるRAM18
の記憶場所への連続的かつ完全なアクセスがこのように
必要なために、かつ丸々1ページのためのレンダリング
されたデータを記憶する必要があるために、先行技術の
レーザプリンタ実現化例はデータの記憶のためにRAM
の大きな分割されない部分を一般に与えてきた。しかし
ながら、いくつかのレーザプリンタ応用はより高密度の
印刷を必要とし、これはインチ当りより多くのドットを
プリントすることによって達成される。たとえば、1つ
の標準の印刷密度は300のインチ当りドット(「DP
I」)である。より高密度の応用は480DPI、また
は600DPIでさえ必要とするかもしれない。かかる
高密度はレンダリングされたデータを保持するためによ
り多くのRAMを必要とする。印刷密度が増大するにつ
れて、RAMに設けられる記憶空間の大きさもまた増大
しなければならない。
【0025】増大した記憶容量に対するかかる要求は、
どんなコンピュータ周辺装置の場合にもそうであるよう
に、レーザプリンタにおいて深刻な問題である。コンピ
ュータ周辺装置のオンボード記憶容量を一般に実現化す
るRAM集積回路は、通常かかる周辺装置の製造コスト
の実質的な部分となる。加えて、RAM集積回路はレー
ザプリンタのオンボード回路において実質的な物理空間
(「不動産」)を必要とする。かかる高い不動産要求を
受入れることおよびかかる受入れに必要なプリントされ
た回路板配線を与えることは、レーザプリンタの製造コ
ストを増大させる。加えて、かかる余分の製作および付
加的な接続は製造歩留りおよび製品の信頼性を減少させ
る。なぜならそれらは構成要素または配線の故障の機会
をより多く与えるからである。このように、高密度印刷
または他のメモリ集約的動作を与える大量のRAMを要
求することは、先行技術の設計に著しい制限を課す。
【0026】図3(A)はこの発明を使用するコンピュ
ータ周辺装置のメモリ使用法を例示するブロック図であ
る。
【0027】図3(A)において、マイクロプロセッサ
14を指示する制御プログラムは典型的に好ましくはR
OM20内のメモリ17の部分19を占有する。部分1
9は典型的に、先行技術の場合のように、メモリ17に
おいて約0.5MBのメモリ容量を有する。しかしなが
ら、先行技術と対照的に、この発明の1ページのレンダ
リングされた画像は典型的にRAM18の部分23を占
有する。部分23は典型的にRAM18において約0.
5MBのメモリの容量しか有さない、なぜならこの発明
はRAM18内のレンダリングされたデータの圧縮およ
び記憶を制御するためにオンボードメモリ管理ユニット
16を使用し、それによって動作メモリ容量要求を低減
するからである。
【0028】デジタルデータのための圧縮技術は当該技
術分野において周知である。かかる技術はデータに対す
る記憶要求を低減するためにデータ中のパターンに依存
し得る。たとえば、レーザプリンタ応用において、テキ
ストの単一の線の部分をプリントするために必要とされ
るドットのパターンは、隣接するレーザ走査線にわたっ
て相対的に一貫している。パターンのこの一貫性はデー
タが以下の態様で圧縮データとして記憶されることを可
能にし、その態様は同一の情報を依然として表わしなが
ら非圧縮形式で同一のデータを記憶するために必要とさ
れるであろう記憶空間の50%しか占有しなくてもよい
ようなものである。必要な場合、圧縮データはその元の
非圧縮形式に減圧縮されることが可能である。データ圧
縮はマイクロプロセッサ14にデータを圧縮するように
指示するための圧縮プログラムを使用することによって
達成される。圧縮プログラムはまたイメージングのため
のマイクロプロセッサ14によるデータの使用の場合の
ように、必要な場合にデータを減圧縮するようにマイク
ロプロセッサ14に指示するために呼出され得る。
【0029】図3(A)において、圧縮プログラム24
はメモリ17の部分23のセグメント25を占有する。
RAM18はたとえば部分23のセグメント27に記憶
された非圧縮データ26の、またはたとえば部分23の
セグメント29に記憶された圧縮データ28の形式であ
ってもよいレンダリングされたデータを記憶するために
好ましくは使用される。レンダリングの間、マイクロプ
ロセッサ14はRAM18に非圧縮データ26のみを記
憶する。RAM18の部分23は非圧縮データ26でい
っぱいであるので、圧縮プログラム24は非圧縮データ
26を圧縮し、かつその結果を圧縮データ28として記
憶するために呼出される。圧縮データ28は非圧縮デー
タ26ほど空間を占有しないので、圧縮は記憶のための
付加的なメモリ空間を与える。圧縮プログラム24が呼
出されるしきい値は、メモリ管理ユニット16を指示す
るソフトウェア制御プログラムによってダイナミックに
決定されてもよい。記憶と圧縮プロセスとの調整はメモ
リ管理ユニット16によって与えられる。
【0030】好ましくはRAM18は等しい大きさの複
数個の「ページ」に区分される。たとえば、もしRAM
18が大きさが0.5MBであれば、それは256ペー
ジに区分されることが可能であり、各々大きさが2キロ
バイト(「kB」)である。RAM18のページを物理
ページと呼ぶ。
【0031】図3(B)は図1の変換ルックアサイドバ
ッファ(TLB)15のブロック図である。図3(B)
に示されるように、TLB15はセット400、セット
402、セット404、およびセット406などのセッ
トと呼ばれる複数個のエントリに分割される。TLB1
5内にはたとえば合計32個のセットがあり得る。
【0032】セット400を図3(B)により詳細に示
す。図3(B)に示されるように、セット400はワー
ド408およびワード410を含む。ワード408およ
び410の各々はたとえば32ビット幅である。ワード
408は仮想タグを形成する第1のフィールドのビット
412と、制御情報を含む第2のフィールドのビット4
14とを含む。制御ビット414はたとえば読出動作お
よび書込動作を可能にし、タスク識別情報を含み得る。
ワード410は実ページ番号(RPN)を規定する第1
のフィールドのビット416と、制御情報を含む第2の
フィールドのビット418とを含む。
【0033】図3(C)は図1のマイクロプロセッサ1
4によって使用される仮想アドレス426を示すブロッ
ク図である。示されるように、仮想アドレス426は仮
想タグ比較(VTC)を形成する第1のフィールドのビ
ット420と、セット選択を形成する第2のフィールド
のビット422と、ページオフセットを形成する第3の
フィールドのビット424とを含む。マイクロプロセッ
サ14(図1)は図3(C)に示されるようにフォーマ
ット化された仮想アドレスを内部で使用してデータをお
よび命令を識別する。仮想アドレス426などの複数個
の仮想アドレスはマイクロプロセッサ14の仮想アドレ
ス空間を形成する。TLB15を含むMMU16はマイ
クロプロセッサ14から仮想アドレス426などの仮想
アドレスを受取り、仮想アドレス426を物理アドレス
に変換する。物理アドレスはMMU16の制御下でデー
タが記憶されかつ読出されるメモリ17の実際の場所を
規定する。
【0034】アドレス変換のために、仮想アドレス空間
は好ましくは仮想ページと呼ばれる固定された大きさの
領域に区分される。仮想ページは物理ページまたはペー
ジフレームと呼ばれる物理メモリの同じ大きさの領域に
マッピングされる。所与のページ内に含まれる命令また
はデータへのすべてのアクセスは同一の仮想アドレスか
ら物理アドレスへの変換を使用する。
【0035】アドレス変換を実行するために、マイクロ
プロセッサ14は仮想アドレスをメモリ管理ユニット1
6に与える。たとえば、マイクロプロセッサ14はその
アドレスが仮想アドレスのセットフィールド422によ
って与えられるTLBセット(400、402、40
4、406)をアクセスする。アクセスされたセット内
で、VTAGフィールド412(図3(B))は仮想ア
ドレス426の仮想タグ比較(VTC)フィールド42
0と比較される。アドレス変換が有効であるためには、
VTCフィールド420はVTAGフィールド412と
一致しなければならない。このアドレス変換が選択され
たセットの1つのTLBエントリに有効であれば、この
エントリの実ページ番号(RPN)フィールド416は
アクセスされるべき物理アドレスを形成するために使用
される。
【0036】RPNフィールド416は変換に依存する
物理アドレスの部分を与える。仮想アドレス426の残
りの部分、ページオフセット(PO)424はアドレス
変換とともに変化しない。ページオフセット424は仮
想アドレス426の下位ビットを含み、仮想ページ内の
バイトの位置を与える。このバイトは物理アドレスフレ
ームの同じ場所に置かれ、ページオフセット424はま
たその物理アドレスの下位ビットを含む。たとえば32
ビットである物理アドレスは好ましくはRPNフィール
ド416とページオフセット424との連結である。ア
ドレス変換が有効であれば、その変換によって生じた物
理アドレスはメモリ17(図1)に与えられ、メモリ1
7のデータ読出す、またはメモリ17にデータを書込
む。
【0037】ここに記載される、変換ルックアサイドバ
ッファ15を含む、メモリ管理ユニット16の動作は当
該技術分野で周知であり、一般にマイクロプロセッサと
ともに使用される。アドレス変換のために変換ルックア
サイドバッファを使用するマイクロプロセッサの一例は
Am29030マイクロプロセッサであり、これはカリ
フォルニア州サニィベイル(Sunnyvale )のアドバンス
ト・マイクロ・ディバイシズ・インコーポレイテッド
(Advanced Micro Devices, Inc.)から入手可能であ
る。
【0038】図4ないし図13はこの発明を使用するコ
ンピュータ周辺装置のメモリ使用法を例示する。図4な
いし図13はRAM18の動作中、つまりRAM18が
レンダリングされたデータでいっぱいであるときの異な
った時間でのメモリ使用法を示す。図4ないし図13に
おいて、「仮想」と文字が付されたメモリ空間はマイク
ロプロセッサ14によってアドレス指定される仮想メモ
リ60を表わす。「物理」と文字が付されたメモリ空間
はRAM18を含む物理メモリ70を表わす。
【0039】仮想メモリと物理メモリとの間の関係はソ
フトウェア制御プログラムの指示の下でメモリ管理ユニ
ット16によって制御される。マイクロプロセッサ14
は変換ルックアサイドバッファ15に従って仮想アドレ
スをメモリ管理ユニット16に伝える。メモリ管理ユニ
ット16は物理アドレスを計算するために仮想アドレス
を使用し、物理アドレスはそれから物理メモリに伝えら
れる。
【0040】この発明の詳細な動作の以下の議論では、
メモリ管理ユニット16へのすべての言及は上述のよう
に仮想アドレスを物理アドレスに変換するために使用さ
れる変換ルックアサイドバッファ15を含むことが理解
されなければならない。
【0041】仮想メモリおよび物理メモリの双方は好ま
しくはページに区分される。図4ないし図13におい
て、仮想メモリは仮想ページ102、104、106、
108、110、112に区分され、物理メモリは物理
ページ132、134、136に区分される。仮想メモ
リ60と物理メモリ70はどちらも一般にいずれの数の
ページに区分されることも可能であり、図4ないし図1
3は例示の目的のためのみに、それぞれ6つのページお
よび3つのページに区分された物理メモリ60および仮
想メモリ70を示すことが理解されなければならない。
仮想ページ102、104、106、108、110、
112のいくつか、および物理ページ132、134、
136のいくつかはレンダリングされたデータの記憶の
ために指定され、他のものは他のデータの記憶のために
指定され得る。
【0042】図4において、仮想メモリ60および物理
メモリ70の双方は始めはからである。
【0043】図5において、マイクロプロセッサ14は
仮想メモリ60の仮想ページ104をアクセスした。メ
モリ管理ユニット16は物理メモリ70の物理ページ1
34を割当てた。物理ページ134を仮想ページ104
に割当てることによって、メモリ管理ユニット16はマ
イクロプロセッサ14によって仮想ページ104に書込
まれたデータが物理ページ134に物理的に書込まれる
ことを指示した。物理ページ134の仮想ページ104
への割当ては図5に描かれた矢印によって示される。
【0044】図6において、仮想ページ104および物
理ページ134はシングルクロスハッチングによって示
されるように非圧縮データ26の形式でレンダリングさ
れたデータを含む。
【0045】図7において、マイクロプロセッサ14は
仮想ページ108をアクセスした。メモリ管理ユニット
16は、仮想ページ108と物理ページ132との間に
引かれた矢印によって示されるように応じて物理ページ
132を割当てた。
【0046】図8において、仮想ページ104および1
08ならびに物理ページ132および134は、シング
ルクロスハッチングによって示されるように非圧縮デー
タ26の形式でレンダリングされたデータを含む。
【0047】図9において、マイクロプロセッサ14は
仮想ページ110をアクセスした。メモリ管理ユニット
16は、仮想ページ110と物理ページ136との間に
引かれた矢印によって示されるように物理ページ136
を応じて割当てた。仮想ページ110および物理ページ
136は、シングルクロスハッチングによって示される
ように非圧縮データ26の形式でレンダリングされたデ
ータを含む。レンダリングされたデータに利用可能なす
べての物理ページは割当てられた。
【0048】図10において、メモリ管理ユニット16
が予め定められた数の物理ページ132、134、13
6が割当てられたことを検知し、かつ付加的なページが
割当のために必要とされる場合、メモリ管理ユニット1
6は圧縮プログラム24を呼出す(図3(A)参照、図
4ないし図13には図示せず)。予め定められた数の物
理ページは、レンダリングされたデータに利用可能なす
べての物理ページであってもよいし、または何らかのよ
り少ない数であってもよい。メモリ管理ユニット16
は、圧縮プログラム24に物理ページ132および13
4に記憶された非圧縮データ26(図3(A))を圧縮
するように指示する。
【0049】典型的に、この発明の好ましい実施例にお
いて、圧縮後データは圧縮前に占有された記憶空間の量
の半分より少ない量を占有する。結果として、物理ペー
ジ132および物理ページ134のレンダリングされた
データは、物理ページ134に圧縮データ28(図3
(A))の形式で一緒に記憶され得る。これは図10の
ダブルクロスハッチングによって示される。メモリ管理
ユニット16は、非圧縮データ26の2つのページ(物
理ページ132および物理ページ134)の圧縮データ
28への圧縮、および圧縮データ28のRAM18の単
一ページ(物理ページ134)への記憶を指示する。こ
れにより1つのページ(物理ページ132)がからのま
まになる。圧縮がこのように物理ページ132を解放し
て再びデータの記憶を受入れるようにした後、メモリ管
理ユニット16は物理ページ132を仮想ページ102
に割当て、かつマイクロプロセッサ14にレンダリング
されたデータを仮想ページ102に書込むことを再開す
るように指示する。割当ては仮想ページ102と物理ペ
ージ132との間に引かれた矢印によって図10に示さ
れる。
【0050】図11において、仮想ページ102および
物理ページ132は、シングルクロスハッチングによっ
て示されるように非圧縮データ26の形式でレンダリン
グされたデータを含む。
【0051】図12において、メモリ管理ユニット16
が予め定められた数の物理ページ132、134、13
6が割当てられたことを検知し、かつ付加的なページが
割当てのために必要とされる場合、メモリ管理ユニット
16は圧縮プログラム24を呼出す。メモリ管理ユニッ
ト16は圧縮プログラム24に物理ページ132および
136に記憶された非圧縮データ26を圧縮するように
指示する。物理ページ132および物理ページ136に
記憶されたレンダリングされたデータは、圧縮データ2
8の形式で物理ページ132に一緒に記憶される。これ
は図12のダブルクロスハッチングによって示される。
【0052】圧縮はこのように物理ページ136を解放
してデータの記憶を再び受入れるようにする。メモリ管
理ユニット16はそれから図13の仮想ページ112と
物理ページ136との間に引かれた矢印によって示され
るように、物理ページ136を仮想ページ112に割当
てる。メモリ管理ユニット16はそれからマイクロプロ
セッサ14にレンダリングされたデータを仮想ページ1
12に書込むことを再開するように指示する。
【0053】印刷された1ページ全体のためのデータが
レンダリングされかつRAM18に記憶された後、その
データはイメージングのためにレーザプリンタのエンジ
ン22を動作させるように順次にアクセスされなければ
ならない。RAM18からデータを検索するプロセス
は、それによってデータが記憶されるプロセスの本質的
に逆の順序で進行する。メモリ管理ユニット16は圧縮
データ28を減圧縮するために圧縮プログラム24を呼
出す。かかる減圧縮の結果として、データは非圧縮デー
タ26としてRAM18に記憶される。非圧縮データ2
6はそれからマイクロプロセッサ14によってアクセス
されてイメージングのためにエンジン22を動作させる
ことが可能である。この減圧縮および伝送のプロセス
は、RAM18のすべてのデータが減圧縮されかつアク
セスされるまで継続し、そのページ全体がイメージング
される。
【0054】この発明の好ましい実施例の1つの重要な
特徴は、メモリ管理ユニット16が圧縮または非圧縮形
式のいずれかにおいてページ間のデータの移動を指示す
ることができる能力である。データの移動は、グラフィ
ックの境界がテキストの周囲にある場合などに、マイク
ロプロセッサ14がレンダリングされたデータが記憶さ
れかつ圧縮されたRAM18の部分をアクセスできるよ
うにするために必要である。メモリ管理ユニット16は
減圧縮およびデータのマイクロプロセッサ14によって
アクセスされる自由なページへの移動を指示する。
【0055】一例として、図13において、物理ページ
132はテキストの第1の線の部分を含むプリントされ
るべきページの頂上の部分に対応するレンダリングされ
たデータを含み得る。もしマイクロプロセッサ14によ
ってレンダリングされた次のデータが、テキストの第1
の線に隣接して置かれるべきグラフィックの境界に対応
すれば、マイクロプロセッサ14は物理ページ132の
適切な場所にそれらのデータを記憶しなければならな
い。マイクロプロセッサ14が物理ページ132のデー
タをアクセスすることを可能にするために、メモリ管理
ユニット16は圧縮プログラム24に物理ページ132
の圧縮データ28を減圧縮するように指示するであろ
う。かかる減圧縮から生じる非圧縮データ26は物理ペ
ージ136に記憶される。データは今非圧縮形式である
ので、それらはマイクロプロセッサ14によってアクセ
ス可能である。マイクロプロセッサ14はメモリ管理ユ
ニット16によって指示されたように、物理ページ13
6にレンダリングされたデータを記憶する。もし記憶の
ための付加的な空間を必要とするより多くのデータがレ
ンダリングされれば、メモリ管理ユニット16は圧縮プ
ログラム24を呼出して物理ページ136の非圧縮デー
タ26を圧縮し、結果として生じた圧縮データ28を物
理ページ132に記憶することが可能である。
【0056】図14はこの発明のメモリ管理ユニットを
使用する方法を例示する概略のフローチャートである。
【0057】図14において、マイクロプロセッサ14
はメモリ管理ユニット16に仮想アドレスを与える。仮
想アドレスはレンダリングされたデータのページが記憶
またはアクセスされることになる場所を表わし得る。メ
モリ管理ユニット16は仮想アドレスをデータが実際に
置かれるRAM18の物理アドレスに変換する。たとえ
ば、メモリ管理ユニット16はRAM18の所望のペー
ジの物理アドレスを得るために仮想アドレスにオフセッ
トを加え得る。
【0058】図14において、メモリ管理ユニット16
はブロック200で仮想アドレスがソフトウェアの援助
または付加的な情報なしに物理アドレスに対応するかど
うかを決定する。もしそうなら、ヒット条件が結果とし
て生じ、メモリ管理ユニット16はマイクロプロセッサ
14に物理アドレスを与え、ひいてはRAM18をアク
セスする。もしそうでなければ、ミス条件が結果として
生じ、メモリ管理ユニット16は物理アドレスを決定し
なければならない。
【0059】物理アドレスを計算するために、メモリ管
理ユニット16はまずアドレス指定された仮想ページ
(目標ページ)がメモリにあるかどうかをブロック20
2で決定する。当該技術分野において周知の態様で、メ
モリ管理ユニット16はマイクロプロセッサ14によっ
て仮想的にアドレス指定されたデータのページの物理場
所を管理する。もしマイクロプロセッサ14によって使
用された仮想アドレスがそのページの物理アドレスに対
応しなければ、メモリ管理ユニット16は物理および仮
想アドレスを相関関係付けるメモリ管理ユニットエント
リをセットアップしなければならない。たとえば、メモ
リ管理ユニット16は、マイクロプロセッサ14によっ
て与えられた仮想ページアドレスに対する適切な物理ペ
ージアドレスを決定するために必要とされるオフセット
を計算し得る。もしデータが目標ページに以前に書込ま
れた場合のようにアドレス指定された仮想ページがメモ
リにあり、かつマイクロプロセッサ14が目標ページに
付加的なデータを書込もうとすれば、メモリ管理ユニッ
ト16はアドレス指定された仮想ページが非圧縮データ
を含むかどうかをブロック204で決定する。もしそう
なら、ブロック206はメモリ管理ユニット16にメモ
リ管理ユニットエントリをセットアップするように指示
する。メモリ管理ユニット16はそれから適切な物理ア
ドレスを計算し、かつその物理アドレスをマイクロプロ
セッサ14に与える。
【0060】もし目標ページがメモリにあるが非圧縮さ
れていなければ、つまりそのページのデータが圧縮形式
であれば、メモリ管理ユニット16は使用可能なメモリ
の未使用のページがあるかどうかをブロック208で決
定する。もしそうなら、ブロック210はメモリ管理ユ
ニット16に目標ページに含まれたデータを受入れるた
めに1ページのメモリを割当てるように指示する。割当
てはたとえばアドレスポインタ32(図4ないし図1
3)をページの始めに移動すること、および論理フラグ
をそのページへの読出、書込またはその双方を可能にす
るように設定することを含み得る。ブロック212で、
メモリ管理ユニット16は圧縮データを減圧縮し、その
データを割当てられたページに記憶するために圧縮プロ
グラム24を呼出す。メモリ管理ユニット16はそれか
らブロック206でメモリ管理ユニットエントリをセッ
トアップする。
【0061】もしメモリの未使用のページが何も利用可
能でなければ、メモリ管理ユニット16は使用中の非圧
縮メモリのページがあるかどうかをブロック214で決
定する。もしなければ、RAM18は圧縮データで満た
され、ブロック216はメモリ管理ユニット16にフェ
イル条件に戻るように指示し、さらなるデータを記憶で
きない。もしRAM18が1ページの使用中の非圧縮デ
ータを含めば、ブロック218はメモリ管理ユニット1
6に圧縮プログラム24を呼出して非圧縮データのその
ページを圧縮するように指示する。圧縮後、メモリ管理
ユニット16は使用可能なメモリの未使用のページが今
あるかどうかをブロック208で決定する。圧縮プログ
ラム24は1ページを完全に自由にするためにデータを
圧縮したので、未使用のページが今利用可能となり、メ
モリ管理ユニット16はそのページをブロック210で
記憶のために割当てる。ブロック212はそれからメモ
リ管理ユニット16に目標ページの圧縮データを減圧縮
するために圧縮プログラム24を呼出すように指示し、
それからブロック206はメモリ管理ユニット16にメ
モリ管理ユニットエントリをセットアップするように指
示する。
【0062】代替的に、ブロック202で、マイクロプ
ロセッサ14が初めてそのページのためのデータをレン
ダリングしている場合のように、もし目標ページが既に
メモリになければ、メモリ管理ユニット16は目標ペー
ジとして機能するために利用可能なメモリの未使用のペ
ージがあるかどうかをブロック208で決定しなければ
ならない。もしそうなら、ブロック210はメモリ管理
ユニット16にそのページを割当てるように指示し、そ
れからブロック206はメモリ管理ユニット16にメモ
リ管理ユニットエントリをセットアップするように指示
する。もし目標ページに利用可能なメモリがなければ、
メモリ管理ユニット16は使用中の非圧縮メモリのペー
ジがあるかどうかをブロック214で決定する。もしな
ければ、RAM18は圧縮データでいっぱいであるので
フェイル条件がブロック216で結果として生じる。も
し利用可能な非圧縮データのページがあれば、ブロック
218で、メモリ管理ユニット16は圧縮プログラム2
4を呼出し、圧縮プログラム24に非圧縮データのその
ページを圧縮するように指示する。圧縮後、メモリ管理
ユニット16は利用可能なメモリの未使用のページが今
あるかどうかをブロック208で決定する。このとき圧
縮プログラム24は既に1ページを完全に自由にするた
めにデータを圧縮しているので、未使用のページが今利
用可能であり、メモリ管理ユニット16はブロック21
0でそのページを記憶に割当てる。メモリ管理ユニット
16はそれからブロック206で物理アドレスの計算の
ためにメモリ管理ユニットエントリをセットアップす
る。
【0063】メモリ管理ユニット16および圧縮プログ
ラム24のデータを移動させ、圧縮しかつ減圧縮する能
力は、この発明を使用するレーザプリンタまたは他のコ
ンピュータ周辺装置がより少ないRAMで製造されるこ
とを可能にする。しかしながら、レーザプリンタまたは
他の装置はデータを圧縮し、移動させかつ減圧縮する上
述の必要性のために、先行技術の設計より事実上幾分速
度が遅い。このように、この発明は幾分遅い動作速度を
低減されたメモリ要求と交換する。
【0064】低減されたメモリ要求に加えて、この発明
は先行技術の装置と実質的に同一のコストでメモリ容量
の0.5MB分の増大を事実上提供する能力を有する。
つまり、1.0MB RAMを使って、この発明は1.
5MBを使用する先行技術設計のコンピュータ周辺装置
と実質的に同一の機能性を与える。
【0065】与えられた詳細な図面および特定の例はこ
の発明の好ましい実施例を説明するものであるが、それ
らは例示の目的のためのものであり、この発明の装置は
開示された正確な詳細および条件に限られるものではな
く、様々な変更が前掲の特許請求の範囲によって規定さ
れるこの発明の精神から逸脱することなくこの発明に行
なわれ得ることが理解されなければならない。
【図面の簡単な説明】
【図1】ホストコンピュータおよび周辺レーザプリンタ
を含むこの発明が使用され得るシステムのブロック図で
ある。
【図2】レーザプリンタの先行技術の実現化例における
メモリ使用法を例示するブロック図である。
【図3】(A)はこの発明を使用するコンピュータ周辺
装置におけるメモリ使用法を例示するブロック図であ
り、(B)は(A)の変換ルックアサイドバッファのブ
ロック図であり、(C)は図1のマイクロプロセッサに
よって使用される仮想アドレスのフォーマットを示すブ
ロック図である。
【図4】この発明を使用するコンピュータ周辺装置の動
作中のメモリ使用法を例示する概略図である。
【図5】この発明を使用するコンピュータ周辺装置の動
作中のメモリ使用法を例示する概略図である。
【図6】この発明を使用するコンピュータ周辺装置の動
作中のメモリ使用法を例示する概略図である。
【図7】この発明を使用するコンピュータ周辺装置の動
作中のメモリ使用法を例示する概略図である。
【図8】この発明を使用するコンピュータ周辺装置の動
作中のメモリ使用法を例示する概略図である。
【図9】この発明を使用するコンピュータ周辺装置の動
作中のメモリ使用法を例示する概略図である。
【図10】この発明を使用するコンピュータ周辺装置の
動作中のメモリ使用法を例示する概略図である。
【図11】この発明を使用するコンピュータ周辺装置の
動作中のメモリ使用法を例示する概略図である。
【図12】この発明を使用するコンピュータ周辺装置の
動作中のメモリ使用法を例示する概略図である。
【図13】この発明を使用するコンピュータ周辺装置の
動作中のメモリ使用法を例示する概略図である。
【図14】この発明のメモリ管理ユニットを使用する方
法を例示する概略のフローチャートである。
【符号の説明】
10 ホストコンピュータ 12 レーザプリンタ 14 マイクロプロセッサ 15 変換ルックアサイドバッファ 16 メモリ管理ユニット 17 メモリ 18 RAM 20 ROM 22 エンジン 24 圧縮プログラム

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータ周辺装置のデータの記憶を
    管理するためのシステムであって、前記コンピュータ周
    辺装置はホストコンピュータに応答し、 前記ホストコンピュータから前記データを受信し、かつ
    前記コンピュータ周辺装置を制御するための処理手段
    と、 前記データを記憶するためのメモリ手段とを含み、前記
    メモリ手段は前記処理手段に結合され、かつ複数個のブ
    ロックを含み、前記複数個のブロックの各ブロックは複
    数個の記憶場所を含み、 前記メモリ場所の前記データの記憶を制御し、かつ前記
    メモリ手段と前記処理手段との間の前記データの交信を
    制御するためのメモリ管理手段を含み、前記メモリ管理
    手段は前記処理手段および前記メモリ手段に結合され、 前記メモリ手段の前記データの圧縮記憶を行なうための
    圧縮プログラム手段を含み、前記圧縮プログラム手段は
    前記メモリ管理手段に応答し、 前記メモリ管理手段は前記複数個のブロックのうちの第
    1のブロックにおける第1の予め定められた量の前記デ
    ータの記憶を指示し、かつ前記複数個のブロックのうち
    の第2のブロックにおける第2の予め定められた量のデ
    ータの記憶を指示し、 前記圧縮プログラム手段は前記第1および第2の予め定
    められた量のデータが記憶されたとき前記第1のブロッ
    クおよび前記第2のブロックで前記データの圧縮記憶を
    行ない、 前記メモリ管理手段は前記圧縮記憶が行なわれたとき前
    記第2のブロックの前記データの前記第1のブロックへ
    の交信を指示する、コンピュータ周辺装置のデータの記
    憶を管理するためのシステム。
  2. 【請求項2】 周辺装置のデータを管理するためのシス
    テムであって、前記装置はホストコンピュータに応答
    し、 前記ホストコンピュータから前記データを受信し、かつ
    前記データを処理するための処理手段と、 前記データを記憶するためのメモリ手段とを含み、前記
    メモリ手段は前記処理手段に結合されかつ複数個の記憶
    場所を含み、前記複数個の記憶場所の各記憶場所は物理
    アドレスを有し、 前記処理手段と前記メモリ手段との間の前記データの交
    信を制御するためのメモリ管理ユニットとを含み、前記
    メモリ管理ユニットは前記処理手段および前記メモリ手
    段と接続され、前記メモリ管理ユニットは前記処理手段
    から仮想アドレスを受取り、前記仮想アドレスから前記
    物理アドレスを決定し、前記物理アドレスを前記メモリ
    手段に与え、さらに前記複数個の記憶場所のうちの第1
    の予め定められた数の記憶場所に記憶された前記データ
    を読出し、前記データを圧縮して圧縮データを発生し、
    前記圧縮データを前記複数個の記憶場所のうちの第2の
    予め定められた数の記憶場所に記憶するための圧縮手段
    を含み、前記第2の予め定められた数は前記第1の予め
    定められた数より小さく、 前記メモリ管理ユニットは前記メモリ手段内に記憶され
    た前記データの量を決定し、かつ前記量が予め定められ
    たしきい値を超えるとき圧縮信号を発生し、 前記圧縮手段は前記圧縮信号に応答して前記データを圧
    縮する、周辺装置のデータを管理するためのシステム。
  3. 【請求項3】 前記複数個の記憶場所は記憶場所のサブ
    セットの順序付けられたアレイに配列される、請求項2
    に記載のデータを管理するためのシステム。
  4. 【請求項4】 前記メモリ管理ユニットは記憶場所のサ
    ブセットの前記順序付けられたアレイの特定のサブセッ
    ト内に記憶された前記データの前記量を決定し、前記量
    が前記特定のサブセット内の予め定められたしきい値を
    超えるとき前記圧縮信号を発生する、請求項3に記載の
    データを管理するためのシステム。
  5. 【請求項5】 前記メモリ管理ユニットは記憶場所のサ
    ブセットの前記順序付けられたアレイの第1のサブセッ
    トと、記憶場所のサブセットの前記順序付けられたアレ
    イの第2のサブセットとの間の前記データの交信を制御
    する、請求項3に記載のデータを管理するためのシステ
    ム。
  6. 【請求項6】 前記メモリ管理ユニットは前記圧縮手段
    が前記第2のサブセット内の前記データの前記圧縮記憶
    を行なった後、前記第1のサブセットから前記第2のサ
    ブセットへの前記データの交信を制御する、請求項5に
    記載のデータを管理するためのシステム。
  7. 【請求項7】 ホストコンピュータに応答する周辺装置
    のデータを管理するための方法であって、 前記ホストコンピュータから前記データを伝送するステ
    ップと、 前記データを記憶するための仮想記憶アドレスを決定
    し、かつ前記仮想記憶アドレスから記憶装置に前記デー
    タを記憶するための複数個の物理記憶アドレスを決定す
    るステップと、 前記データを前記記憶装置に経路指定するステップとを
    含み、前記記憶装置は前記周辺装置と一体であり、前記
    記憶装置は複数個の記憶場所を含み、前記複数個の記憶
    場所の各記憶場所は前記複数個の物理記憶アドレスの1
    つの物理記憶アドレスに対応し、 前記データを前記記憶装置に記憶するステップと、 前記記憶装置に記憶されたデータの量が予め定められた
    しきい値を超えたとき、前記記憶装置内の前記複数個の
    記憶場所のうちの第1の予め定められた数の記憶場所に
    記憶された前記データを圧縮して圧縮データを発生し、
    かつ前記圧縮データを前記複数個の記憶場所のうちの第
    2の予め定められた数の記憶場所に記憶するステップと
    を含み、前記第2の予め定められた数の記憶場所は前記
    第1の予め定められた記憶場所より少ない、ホストコン
    ピュータに応答する周辺装置のデータを管理するための
    方法。
  8. 【請求項8】 前記複数個の記憶場所は記憶場所のサブ
    セットの順序付けられたアレイに配列される、請求項7
    に記載の周辺装置のデータを管理するための方法。
  9. 【請求項9】 前記方法は前記データを記憶場所のサブ
    セットの前記順序付けられたアレイの第1のサブセット
    と、記憶場所のサブセットの前記順序付けられたアレイ
    の第2のサブセットとの間で交信するステップをさらに
    含む、請求項8に記載の周辺装置のデータを管理するた
    めの方法。
  10. 【請求項10】 コンピュータ周辺装置のデータの記憶
    を管理するためのシステムであって、前記コンピュータ
    周辺装置はホストコンピュータに応答し、 前記ホストコンピュータから前記データを受信し、かつ
    前記コンピュータ周辺装置を制御するための処理手段
    と、 前記データを記憶するためのメモリ手段をと含み、前記
    メモリ手段は前記処理手段に結合され、かつ複数個のブ
    ロックを含み、前記複数個のブロックの各ブロックは複
    数個の記憶場所を含み、前記複数個の記憶場所の各記憶
    場所は物理アドレスを有し、 前記処理手段と前記メモリ手段とに結合され、前記処理
    手段と前記メモリ手段との間の前記データの交信を制御
    するためのメモリ管理ユニットとを含み、前記メモリ管
    理ユニットは前記処理手段から仮想アドレスを受取り、
    前記仮想アドレスから前記物理アドレスを計算し、前記
    物理アドレスを前記メモリ手段に与え、前記メモリ管理
    ユニットは前記メモリ手段内に記憶された前記データの
    量を決定し、前記量が予め定められたしきい値を超える
    とき圧縮信号を発生し、さらに前記圧縮信号に応答し、
    前記複数個のブロックの第1のそれぞれのブロックの第
    1の予め定められた数の記憶場所に記憶された前記デー
    タを読出し、前記データを圧縮して圧縮データを発生
    し、前記圧縮データを第2の予め定められた数の記憶場
    所に記憶するための圧縮プログラム手段を含み、前記第
    2の予め定められた数は前記第1の予め定められた数よ
    り小さい、コンピュータ周辺装置のデータの記憶を管理
    するためのシステム。
  11. 【請求項11】 前記第2の予め定められた数の記憶場
    所の各記憶場所は前記第1のそれぞれのブロック内にあ
    る、請求項10に記載のデータの記憶を管理するための
    システム。
  12. 【請求項12】 前記第2の予め定められた数の記憶場
    所の各記憶場所は前記複数個のブロックの第2のそれぞ
    れのブロック内にある、請求項10に記載のデータの記
    憶を管理するためのシステム。
  13. 【請求項13】 コンピュータ周辺装置のデータを管理
    するための装置であって、前記コンピュータ周辺装置は
    前記データを記憶するためのメモリを含み、前記メモリ
    は複数個の記憶場所を含み、前記複数個の記憶場所の各
    記憶場所は物理アドレスを有し、前記コンピュータ周辺
    装置はホストコンピュータに応答し、前記装置は、 前記メモリに結合されたプロセッサを含み、前記プロセ
    ッサは前記ホストコンピュータから前記データを受信
    し、前記プロセッサは前記ホストコンピュータから受信
    した前記データを処理し、処理データを発生し、前記プ
    ロセッサは前記処理データを前記メモリに記憶し、 前記プロセッサと前記メモリとの間の前記データの交信
    を制御するためのメモリ管理ユニットとを含み、前記メ
    モリ管理ユニットは前記プロセッサから前記物理アドレ
    スを受取り、前記物理アドレスから仮想アドレスを計算
    し、かつ前記仮想アドレスを前記メモリに伝え、前記メ
    モリ管理ユニットは前記メモリ内に記憶された前記処理
    データの量を決定し、前記量が予め定められたしきい値
    を超えたとき圧縮信号を発生し、さらに前記圧縮信号に
    応答し、前記複数個の記憶場所のうちの第1の予め定め
    られた数の記憶場所に記憶された前記処理データを読出
    し、前記処理データを圧縮して圧縮データを発生し、か
    つ前記複数個の記憶場所のうちの第2の予め定められた
    数の記憶場所に前記圧縮データを記憶するための圧縮ユ
    ニットを含み、前記第2の予め定められた数は前記第1
    の予め定められた数より小さい、コンピュータ周辺装置
    のデータを管理するための装置。
  14. 【請求項14】 前記コンピュータ周辺装置は前記デー
    タを表わすグラフィックイメージを生み出すためのレー
    ザプリンタを含む、請求項13に記載のデータを管理す
    るための装置。
JP7123855A 1994-05-24 1995-05-23 コンピュータ周辺装置のデータを管理するためのシステム、および装置 Pending JPH08129477A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/248,625 US6092171A (en) 1991-09-16 1994-05-24 System and method for using a memory management unit to reduce memory requirements
US248625 1994-05-24

Publications (1)

Publication Number Publication Date
JPH08129477A true JPH08129477A (ja) 1996-05-21

Family

ID=22939936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7123855A Pending JPH08129477A (ja) 1994-05-24 1995-05-23 コンピュータ周辺装置のデータを管理するためのシステム、および装置

Country Status (1)

Country Link
JP (1) JPH08129477A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008030472A (ja) * 2006-06-30 2008-02-14 Konica Minolta Systems Lab Inc プリンタにおけるピクセルデータ処理システム及び方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008030472A (ja) * 2006-06-30 2008-02-14 Konica Minolta Systems Lab Inc プリンタにおけるピクセルデータ処理システム及び方法

Similar Documents

Publication Publication Date Title
US6092171A (en) System and method for using a memory management unit to reduce memory requirements
US5870535A (en) Method and apparatus for building rasterized lines of bitmap data to be printed using a piecewise-linear direct memory access addressing mode of retrieving bitmap data line segments
US4942541A (en) Patchification system
JP2000135821A (ja) プリンタ
JPH0352713B2 (ja)
JP3119429B2 (ja) プリンタ制御装置及び方法
US6317217B1 (en) Printing system and printing control method
US6441918B1 (en) Image output system image processing system image output method image processing method and recording medium
JPH06282411A (ja) データ伸長回路及び方法
US5671246A (en) Method and apparatus for adaptive adjustment of cache allocation for storage of font data
EP0533343B1 (en) System and method for data management
EP0310228B1 (en) Page printing system using a virtual memory
JPH08129477A (ja) コンピュータ周辺装置のデータを管理するためのシステム、および装置
JP2000181643A (ja) 画像形成装置及び画像形成方法
JPH02170767A (ja) メモリ増設方式
EP0764919B1 (en) Printer with high bandwidth compression architecture
JP2737880B2 (ja) 文字処理装置および方法
JP2001022634A (ja) メモリ制御装置
JPS61123546A (ja) イメ−ジプリンタの処理方式
JPH0790652B2 (ja) 印刷装置
JPS6349437A (ja) 印刷デ−タ制御方式
JPS63271645A (ja) アドレス変換方式
JPH0535733A (ja) 電子機器
JP2005231374A (ja) プリンタおよびプリンタのメモリ管理方法並びにプログラムを記録した記録媒体
JP2003323275A (ja) 画像描画処理装置及び画像処理システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050614