JPH06289838A - フォントキャッシュ制御装置およびその適用方法 - Google Patents
フォントキャッシュ制御装置およびその適用方法Info
- Publication number
- JPH06289838A JPH06289838A JP5100049A JP10004993A JPH06289838A JP H06289838 A JPH06289838 A JP H06289838A JP 5100049 A JP5100049 A JP 5100049A JP 10004993 A JP10004993 A JP 10004993A JP H06289838 A JPH06289838 A JP H06289838A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- buffer
- lru
- character
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000012545 processing Methods 0.000 claims abstract description 236
- 239000000872 buffer Substances 0.000 claims abstract description 217
- 230000008569 process Effects 0.000 claims abstract description 61
- 230000006870 function Effects 0.000 claims description 8
- 230000003111 delayed effect Effects 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 238000013479 data entry Methods 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 claims 2
- 238000007639 printing Methods 0.000 abstract description 15
- 238000007726 management method Methods 0.000 description 47
- 238000010586 diagram Methods 0.000 description 33
- 238000013500 data storage Methods 0.000 description 21
- 238000011161 development Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000018109 developmental process Effects 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Controls And Circuits For Display Device (AREA)
- Record Information Processing For Printing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】ある所要の文字を印字処理して表示するために
用いられる装置において、限られた容量のフォントキャ
ッシュを有効に活用するとともに、当該フォントキャッ
シュにおけるLRU処理の負荷を軽減させ、その印字処
理を高速に実行することが可能にされたフォントキャッ
シュ制御装置およびその適用方法を提供すること。 【構成】キャッシュバッファおよびキャッシュバッファ
管理データメモリ(4B)を備えており、キャッシュヒ
ットに対応させてキャッシュバッファ管理データを書き
換えることにより、該キャッシュバッファがフルである
ときの空き領域作成処理に備える処理を行うことが可能
にされたフォントキャッシュ制御装置において、キャッ
シュヒット処理遅延バッファ(4E),キャッシュヒッ
ト時にキャッシュヒット処理遅延バッファに登録を行う
手段(4C),および、一括してキャッシュヒット処理
を行う手段(4D)を含んでなることを特徴とするフォ
ントキャッシュ制御装置およびその適用方法。
用いられる装置において、限られた容量のフォントキャ
ッシュを有効に活用するとともに、当該フォントキャッ
シュにおけるLRU処理の負荷を軽減させ、その印字処
理を高速に実行することが可能にされたフォントキャッ
シュ制御装置およびその適用方法を提供すること。 【構成】キャッシュバッファおよびキャッシュバッファ
管理データメモリ(4B)を備えており、キャッシュヒ
ットに対応させてキャッシュバッファ管理データを書き
換えることにより、該キャッシュバッファがフルである
ときの空き領域作成処理に備える処理を行うことが可能
にされたフォントキャッシュ制御装置において、キャッ
シュヒット処理遅延バッファ(4E),キャッシュヒッ
ト時にキャッシュヒット処理遅延バッファに登録を行う
手段(4C),および、一括してキャッシュヒット処理
を行う手段(4D)を含んでなることを特徴とするフォ
ントキャッシュ制御装置およびその適用方法。
Description
【0001】
【産業上の利用分野】この発明はフォントキャッシュ制
御装置およびその適用方法に関するものであり、特に、
ある所要の文字を印字処理して表示するために用いられ
る装置において、限られた容量のフォントキャッシュを
有効に活用するとともに、当該フォントキャッシュにお
けるLRU処理の負荷を軽減させ、その印字処理を高速
に実行することが可能にされたフォントキャッシュ制御
装置およびその適用方法に関するものである。
御装置およびその適用方法に関するものであり、特に、
ある所要の文字を印字処理して表示するために用いられ
る装置において、限られた容量のフォントキャッシュを
有効に活用するとともに、当該フォントキャッシュにお
けるLRU処理の負荷を軽減させ、その印字処理を高速
に実行することが可能にされたフォントキャッシュ制御
装置およびその適用方法に関するものである。
【0002】
【従来の技術】この種のフォントキャッシュ制御は従来
から次のような手法をもって実施されていた。即ち、 第1処理ステップ:印字すべき文字コードを受け入れ
て、これに対応する文字パターンデータが関連のフォン
トキャッシュに存在するか否かをチェックする。 第2処理ステップ:所要の文字パターンデータが関連の
フォントキャッシュに存在するときには、該文字パター
ンデータが対応の印字処理のために用いられる。 第3処理ステップ:所要の文字パターンデータが関連の
フォントキャッシュに存在しないときには、これに対応
する文字パターンデータの展開を改めて実行する。な
お、このときに、関連のフォントキャッシュに空きがあ
ると、この空きに前記の展開された文字パターンデータ
を格納する。 第4処理ステップ:前記第3処理ステップにおいて関連
のフォントキャッシュに空きがなかった(即ち、当該フ
ォントキャッシュがフルの状態にあった)ときには、該
フォントキャッシュに格納されている文字パターンデー
タの中で最後の参照の時期が最も古いものを消去し、こ
れによって空きにされた領域に前記第3処理ステップに
おいて展開された文字パターンデータを格納する。
から次のような手法をもって実施されていた。即ち、 第1処理ステップ:印字すべき文字コードを受け入れ
て、これに対応する文字パターンデータが関連のフォン
トキャッシュに存在するか否かをチェックする。 第2処理ステップ:所要の文字パターンデータが関連の
フォントキャッシュに存在するときには、該文字パター
ンデータが対応の印字処理のために用いられる。 第3処理ステップ:所要の文字パターンデータが関連の
フォントキャッシュに存在しないときには、これに対応
する文字パターンデータの展開を改めて実行する。な
お、このときに、関連のフォントキャッシュに空きがあ
ると、この空きに前記の展開された文字パターンデータ
を格納する。 第4処理ステップ:前記第3処理ステップにおいて関連
のフォントキャッシュに空きがなかった(即ち、当該フ
ォントキャッシュがフルの状態にあった)ときには、該
フォントキャッシュに格納されている文字パターンデー
タの中で最後の参照の時期が最も古いものを消去し、こ
れによって空きにされた領域に前記第3処理ステップに
おいて展開された文字パターンデータを格納する。
【0003】一般的にいえば、前述の第4処理ステップ
においてはLRUアルゴリズム(対象のフォントキャッ
シュに格納されている文字パターンデータの中で、最後
の参照の時期が最も古いものから消去していく手法)が
適用される。ところで、このようなLRU処理を厳密に
実行するときには、当該処理の対象になるフォントキャ
ッシュはいわゆる双方向のリスト構造をもって管理され
ることから、最近に参照された文字コードに対応する文
字パターンデータは、前記フォントキャッシュの先頭位
置に移動して格納されることになり、この結果として、
その消去が最も困難なものにされる。そして、このよう
なLRU処理について認められることは、参照の可能性
が高いものをフォントキャッシュに格納し続けるために
は有効な手法であるということである。しかしながら、
ある所定の1文字を描画する毎に前記のLRU処理が実
行されるために、例えば比較的短期間に同じ文字が続け
て描画されるような場合等においては、消去される可能
性が全くないLRU順位にある文字であってもその順位
が順次更新されることになり、その結果として本来の印
字処理の高速化という目標に合わなくなってしまう。
においてはLRUアルゴリズム(対象のフォントキャッ
シュに格納されている文字パターンデータの中で、最後
の参照の時期が最も古いものから消去していく手法)が
適用される。ところで、このようなLRU処理を厳密に
実行するときには、当該処理の対象になるフォントキャ
ッシュはいわゆる双方向のリスト構造をもって管理され
ることから、最近に参照された文字コードに対応する文
字パターンデータは、前記フォントキャッシュの先頭位
置に移動して格納されることになり、この結果として、
その消去が最も困難なものにされる。そして、このよう
なLRU処理について認められることは、参照の可能性
が高いものをフォントキャッシュに格納し続けるために
は有効な手法であるということである。しかしながら、
ある所定の1文字を描画する毎に前記のLRU処理が実
行されるために、例えば比較的短期間に同じ文字が続け
て描画されるような場合等においては、消去される可能
性が全くないLRU順位にある文字であってもその順位
が順次更新されることになり、その結果として本来の印
字処理の高速化という目標に合わなくなってしまう。
【0004】例えば、特開平3−48285号公報[文
字処理系におけるフォントキャッシュ制御方式]には、
文字パターンデータを格納すべき領域がなくなった場合
に、それまでに格納されたデータを全て消去する(即
ち、それまでのデータを全て初期化する)ことが従来技
術として記述されており、このような従来技術における
欠点を解消するために、文字パターンデータが格納され
るデータ領域を分割管理して、無駄に消去されるデータ
を少なくすることが提案されている。また、これとは別
の特開平3−48286号公報[文字処理系におけるフ
ォントキャッシュ制御方式]においては、前述された特
開平3−48285号公報におけると同じ従来技術の欠
点を解消するため、文字パターンデータが格納されるべ
きデータ領域がなくなったときに、その格納用の領域の
先頭から消去することが提案されている。ところが、上
記されたいずれのやり方にしても、頻繁に用いられてい
ることが明かな文字パターンデータでも関連のフォント
キャッシュから消去されてしまうことになり、後からの
使用が必要になったときには、消去された文字と同じも
のを改めて展開することが必要になる可能性がある。こ
のために、従来から一般的に用いられているLRU処理
の手法に比べて、そのヒット率が低下してしまう恐れが
ある。なお、前記されたこの種の技術に関連して、前述
された2件の文献以外に、次のものを参考文献として挙
げることができる。即ち、特開平2−47078号公報
[印刷装置];特開平2−63759号公報[出力装
置];特開平3−111890号公報[出力装置];お
よび特開平3−149615号公報[印刷装置]を参考
文献として挙げることができる。これらの文献によれ
ば、フォントキャッシュに格納すべき文字の範囲をホス
ト側から指定する手法がとられている。これらの文献に
開示された技術によれば、出力すべき対象としての文書
に適合した態様で制御をすることが可能であるけれど
も、ホスト側においては、出力すべき文書に合わせて、
格納すべき文字の範囲を頻繁に更新することが必要であ
り、これを怠ると必要な文字がフォントキャッシュに格
納されないという事態が生じる恐れがある。ところで、
別の参考文献である特開平2−202463号公報[印
刷装置]において提案されている技術的事項は、文字デ
ータを所定の単位(例えば、ページ)をもって受信し、
この所定の単位に含まれている文字毎の出現頻度に基づ
いて、フォントキャッシュに格納すべき文字を定めるこ
とである。しかるに、このようなやり方によるときに
は、文字毎の出現頻度を求めるために施される処理が、
対象とする文字の個数の増加に応じて増大することとな
り、ある所定の単位としてのページに含まれた文字の出
力に続けて、後続のページに含まれた文字の出力までの
無用の待ち時間が生じる可能性がある。更に、この参考
文献においては、格納すべき文字数や種類に対してフォ
ントキャッシュの容量が少ない場合や、出現してくる文
字の順番に関する対応策について、さしたる考慮がなさ
れていない。
字処理系におけるフォントキャッシュ制御方式]には、
文字パターンデータを格納すべき領域がなくなった場合
に、それまでに格納されたデータを全て消去する(即
ち、それまでのデータを全て初期化する)ことが従来技
術として記述されており、このような従来技術における
欠点を解消するために、文字パターンデータが格納され
るデータ領域を分割管理して、無駄に消去されるデータ
を少なくすることが提案されている。また、これとは別
の特開平3−48286号公報[文字処理系におけるフ
ォントキャッシュ制御方式]においては、前述された特
開平3−48285号公報におけると同じ従来技術の欠
点を解消するため、文字パターンデータが格納されるべ
きデータ領域がなくなったときに、その格納用の領域の
先頭から消去することが提案されている。ところが、上
記されたいずれのやり方にしても、頻繁に用いられてい
ることが明かな文字パターンデータでも関連のフォント
キャッシュから消去されてしまうことになり、後からの
使用が必要になったときには、消去された文字と同じも
のを改めて展開することが必要になる可能性がある。こ
のために、従来から一般的に用いられているLRU処理
の手法に比べて、そのヒット率が低下してしまう恐れが
ある。なお、前記されたこの種の技術に関連して、前述
された2件の文献以外に、次のものを参考文献として挙
げることができる。即ち、特開平2−47078号公報
[印刷装置];特開平2−63759号公報[出力装
置];特開平3−111890号公報[出力装置];お
よび特開平3−149615号公報[印刷装置]を参考
文献として挙げることができる。これらの文献によれ
ば、フォントキャッシュに格納すべき文字の範囲をホス
ト側から指定する手法がとられている。これらの文献に
開示された技術によれば、出力すべき対象としての文書
に適合した態様で制御をすることが可能であるけれど
も、ホスト側においては、出力すべき文書に合わせて、
格納すべき文字の範囲を頻繁に更新することが必要であ
り、これを怠ると必要な文字がフォントキャッシュに格
納されないという事態が生じる恐れがある。ところで、
別の参考文献である特開平2−202463号公報[印
刷装置]において提案されている技術的事項は、文字デ
ータを所定の単位(例えば、ページ)をもって受信し、
この所定の単位に含まれている文字毎の出現頻度に基づ
いて、フォントキャッシュに格納すべき文字を定めるこ
とである。しかるに、このようなやり方によるときに
は、文字毎の出現頻度を求めるために施される処理が、
対象とする文字の個数の増加に応じて増大することとな
り、ある所定の単位としてのページに含まれた文字の出
力に続けて、後続のページに含まれた文字の出力までの
無用の待ち時間が生じる可能性がある。更に、この参考
文献においては、格納すべき文字数や種類に対してフォ
ントキャッシュの容量が少ない場合や、出現してくる文
字の順番に関する対応策について、さしたる考慮がなさ
れていない。
【0005】
【発明が解決しようとする課題】上記された従来のこの
種の技術には次のような問題点があった。即ち、対象の
フォントキャッシュに文字パターンデータの格納のため
の空きスペースがないときに一般的に適用されているL
RUアルゴリズムによれば、参照の可能性が高いものを
該フォントキャッシュに継続して格納しておくことは有
効であるけれども、ある所定の1文字を描画する毎に前
記のLRUアルゴリズムに基づく処理が実行されるため
に、消去される可能性が全くないLRU順位にある文字
であってもその順位が順次更新される場合があり、その
結果として本来の印字処理の高速化という目標に合わな
くなるという問題点があった。また、別に提案された事
項として、[1]文字パターンデータを格納すべき領域
がなくなった場合に、文字パターンデータが格納される
データ領域を分割管理することにより、無駄に消去され
るデータを少なくすること;および、[2]同じく文字
パターンデータを格納すべき領域がなくなった場合に、
その格納用の領域の先頭から消去すること;があるが、
このいずれのやり方にしても、頻繁に用いられているこ
とが明かな文字パターンデータでも関連のフォントキャ
ッシュから消去されてしまうことになり、後からの使用
が必要になったときに、消去された文字と同じものを改
めて展開することが必要になる可能性があることから、
前記従来より一般的に用いられているLRU処理の手法
に比べてヒット率が低下する恐れがあるという問題点が
あった。
種の技術には次のような問題点があった。即ち、対象の
フォントキャッシュに文字パターンデータの格納のため
の空きスペースがないときに一般的に適用されているL
RUアルゴリズムによれば、参照の可能性が高いものを
該フォントキャッシュに継続して格納しておくことは有
効であるけれども、ある所定の1文字を描画する毎に前
記のLRUアルゴリズムに基づく処理が実行されるため
に、消去される可能性が全くないLRU順位にある文字
であってもその順位が順次更新される場合があり、その
結果として本来の印字処理の高速化という目標に合わな
くなるという問題点があった。また、別に提案された事
項として、[1]文字パターンデータを格納すべき領域
がなくなった場合に、文字パターンデータが格納される
データ領域を分割管理することにより、無駄に消去され
るデータを少なくすること;および、[2]同じく文字
パターンデータを格納すべき領域がなくなった場合に、
その格納用の領域の先頭から消去すること;があるが、
このいずれのやり方にしても、頻繁に用いられているこ
とが明かな文字パターンデータでも関連のフォントキャ
ッシュから消去されてしまうことになり、後からの使用
が必要になったときに、消去された文字と同じものを改
めて展開することが必要になる可能性があることから、
前記従来より一般的に用いられているLRU処理の手法
に比べてヒット率が低下する恐れがあるという問題点が
あった。
【0006】この発明は上記された問題点を解決するた
めになされたものであって、LRU遅延処理用のバッフ
ァを設けておくことにより、フォントキャッシュにヒッ
トしたときには対応のLRU処理を遅延させることが可
能にされ、また、当該バッファがフルになったり、フォ
ントキャッシュにミスヒットしたりして、該フォントキ
ャッシュから消去すべき候補の選択のために必要が生じ
たときにLRU処理を実行するようにされ、LRU遅延
処理中に複数回ヒットした文字コードに対するLRU処
理を1回で行うことができるようにされて、無駄なLR
U処理の実行回数を減少させるとともに、その印字性能
を大幅に向上させることを目的とするものである。ま
た、同様にLRU遅延処理用のバッファを設けておくこ
とにより、フォントキャッシュにミスヒットしたときに
該フォントキャッシュから消去すべき候補の選択とその
消去のための処理とを遅延させて、当該バッファがフル
になるまで処理を進めることが可能になり、ヒットしな
かった文字の文字パターンを格納するための領域確保の
ために、近い将来において再使用される可能性のある文
字パターンが消去されてしまうことを防止することによ
り、その印字性能を大幅に向上させることをも目的とす
るものである。
めになされたものであって、LRU遅延処理用のバッフ
ァを設けておくことにより、フォントキャッシュにヒッ
トしたときには対応のLRU処理を遅延させることが可
能にされ、また、当該バッファがフルになったり、フォ
ントキャッシュにミスヒットしたりして、該フォントキ
ャッシュから消去すべき候補の選択のために必要が生じ
たときにLRU処理を実行するようにされ、LRU遅延
処理中に複数回ヒットした文字コードに対するLRU処
理を1回で行うことができるようにされて、無駄なLR
U処理の実行回数を減少させるとともに、その印字性能
を大幅に向上させることを目的とするものである。ま
た、同様にLRU遅延処理用のバッファを設けておくこ
とにより、フォントキャッシュにミスヒットしたときに
該フォントキャッシュから消去すべき候補の選択とその
消去のための処理とを遅延させて、当該バッファがフル
になるまで処理を進めることが可能になり、ヒットしな
かった文字の文字パターンを格納するための領域確保の
ために、近い将来において再使用される可能性のある文
字パターンが消去されてしまうことを防止することによ
り、その印字性能を大幅に向上させることをも目的とす
るものである。
【0007】
【課題を解決するための手段】この発明は上記の目的を
果たすためになされたものであり、この発明に係るフォ
ントキャッシュ制御装置は、キャッシュバッファおよび
キャッシュバッファ管理データメモリ(4B)を備えて
おり、キャッシュヒットに対応させてキャッシュバッフ
ァ管理データを書き換えることにより、該キャッシュバ
ッファがフルであるときの空き領域作成処理に備える処
理を行うことが可能にされたフォントキャッシュ制御装
置において、キャッシュヒット処理遅延バッファ(4
E)と、キャッシュヒット時にLRU処理遅延バッファ
に登録を行う手段(4C)と、一括してキャッシュヒッ
ト処理を行う手段(4D)とを含んでなることを特徴と
するものである。この発明に係る別のフォントキャッシ
ュ制御装置は、キャッシュバッファ管理データには予約
フラグが含まれており、キャッシュヒット処理遅延バッ
ファに登録を行う手段(4C)は同時に予約フラグをセ
ットするものであり、一括してキャッシュヒット処理を
行う手段(4D)はその処理に対応させて予約フラグを
リセットし、キャッシュバッファがフルであるときの空
き領域作成処理は、予約フラグのセットされていないデ
ータエントリのみを消去の対象とすることを特徴とする
ものである。この発明に係る更に別のフォントキャッシ
ュ制御装置は、キャッシュバッファ、キャッシュバッフ
ァ管理データメモリ(4B)および出力バッファを備え
ており、要求されたデータ識別子別に対応するデータを
出力バッファに書き込むようにされた、フォントキャッ
シュ制御の機能が随伴されるデータ出力装置のためのフ
ォントキャッシュ制御装置であって、データのキャッシ
ングを行う際にキャッシュバッファ管理データを参照し
て必要なデータの有無を判断する手段(4A)と、キャ
ッシュヒット時にはキャッシュにあるデータを出力バッ
ファに書き込む手段(4D)と、キャッシュミスヒット
処理遅延バッファ(4H)と、キャッシュミスヒット時
にはキャッシュミスヒット処理遅延バッファに登録する
手段(4C)と、一括してキャッシュミスヒット処理
(データの入力、展開や出力バッファへの書き込み)を
行う手段(4G)とが含まれてなることを特徴とするも
のである。
果たすためになされたものであり、この発明に係るフォ
ントキャッシュ制御装置は、キャッシュバッファおよび
キャッシュバッファ管理データメモリ(4B)を備えて
おり、キャッシュヒットに対応させてキャッシュバッフ
ァ管理データを書き換えることにより、該キャッシュバ
ッファがフルであるときの空き領域作成処理に備える処
理を行うことが可能にされたフォントキャッシュ制御装
置において、キャッシュヒット処理遅延バッファ(4
E)と、キャッシュヒット時にLRU処理遅延バッファ
に登録を行う手段(4C)と、一括してキャッシュヒッ
ト処理を行う手段(4D)とを含んでなることを特徴と
するものである。この発明に係る別のフォントキャッシ
ュ制御装置は、キャッシュバッファ管理データには予約
フラグが含まれており、キャッシュヒット処理遅延バッ
ファに登録を行う手段(4C)は同時に予約フラグをセ
ットするものであり、一括してキャッシュヒット処理を
行う手段(4D)はその処理に対応させて予約フラグを
リセットし、キャッシュバッファがフルであるときの空
き領域作成処理は、予約フラグのセットされていないデ
ータエントリのみを消去の対象とすることを特徴とする
ものである。この発明に係る更に別のフォントキャッシ
ュ制御装置は、キャッシュバッファ、キャッシュバッフ
ァ管理データメモリ(4B)および出力バッファを備え
ており、要求されたデータ識別子別に対応するデータを
出力バッファに書き込むようにされた、フォントキャッ
シュ制御の機能が随伴されるデータ出力装置のためのフ
ォントキャッシュ制御装置であって、データのキャッシ
ングを行う際にキャッシュバッファ管理データを参照し
て必要なデータの有無を判断する手段(4A)と、キャ
ッシュヒット時にはキャッシュにあるデータを出力バッ
ファに書き込む手段(4D)と、キャッシュミスヒット
処理遅延バッファ(4H)と、キャッシュミスヒット時
にはキャッシュミスヒット処理遅延バッファに登録する
手段(4C)と、一括してキャッシュミスヒット処理
(データの入力、展開や出力バッファへの書き込み)を
行う手段(4G)とが含まれてなることを特徴とするも
のである。
【0008】
【作用】この発明に係るフォントキャッシュ制御装置
は、付属のキャッシュバッファがフルであるときの空き
領域を効率的に作成できるようにされており、キャッシ
ュヒットが生じたときに対応する処理を遅延させるため
の手段であるキャッシュヒット処理遅延バッファと、前
記キャッシュヒットが生じたときにその旨を登録してお
くための手段である(LRU)処理遅延バッファ登録部
と、前記のように登録されたものを一括してキャッシュ
ヒット処理を行うための手段とを含んでなることを特徴
とするものである。このような特徴をもって構成された
この発明に係るフォントキャッシュ制御装置によれば、
キャッシュバッファに空き領域を生成させるべき時点の
例えば直前において、必要なキャッシュヒット処理を一
括して行うことが可能となり、それだけ当該装置の使用
効率が向上するという利点がもたらされる。また、この
発明に係る別のフォントキャッシュ制御装置において
は、キャッシュバッファ管理データに含まれる予約フラ
グのセットは、キャッシュヒット処理遅延バッファに登
録を行う手段によって実行されること、一括して行われ
るキャッシュヒット処理に対応して前記予約フラグのリ
セットが実行されること、および、キャッシュバッファ
がフルであるときの空き領域作成処理は、該予約フラグ
がセットされていないデータエントリだけを消去の対象
として選択・実行されることを特徴とするものである。
このような特徴をもって構成されたこの発明に係る別の
フォントキャッシュ制御装置によれば、例えば通常のL
RU処理では消去の候補にされてしまうものであって
も、前記の予約フラグが立てられたものは当該消去の候
補から外されることになり、将来に必要となりそうなも
のが無駄に消去されてしまうという危険性が軽減される
という利点がある。そして、この発明に係る更に別のフ
ォントキャッシュ制御装置は、フォントキャッシュ制御
の機能が随伴されるデータ出力装置のためのフォントキ
ャッシュ制御装置であって、データのキャッシングを行
う際にキャッシュバッファ管理データを参照して必要な
データの有無を判断すること、キャッシュヒットが生じ
た時にはキャッシュに存在するデータを出力バッファに
書き込むこと、キャッシュミスヒットが生じた時にはそ
の旨をキャッシュミスヒット処理遅延バッファに登録す
ること、および、前記のように生じたキャッシュミスヒ
ットについて、一括して該当のキャッシュミスヒット処
理(データの入力、展開や出力バッファへの書き込み)
を実行することが含まれてなることを特徴とするもので
ある。このような特徴をもって構成されたこの発明に係
る更に別のフォントキャッシュ制御装置によれば、キャ
ッシュミスヒットが生じる度に対象とするフォントに必
要な展開処理等を施すことがなくなり、必要なキャッシ
ュミスヒット処理を一括して行うことが可能となり、そ
れだけ当該装置の使用効率が向上するという利点がもた
らされる。
は、付属のキャッシュバッファがフルであるときの空き
領域を効率的に作成できるようにされており、キャッシ
ュヒットが生じたときに対応する処理を遅延させるため
の手段であるキャッシュヒット処理遅延バッファと、前
記キャッシュヒットが生じたときにその旨を登録してお
くための手段である(LRU)処理遅延バッファ登録部
と、前記のように登録されたものを一括してキャッシュ
ヒット処理を行うための手段とを含んでなることを特徴
とするものである。このような特徴をもって構成された
この発明に係るフォントキャッシュ制御装置によれば、
キャッシュバッファに空き領域を生成させるべき時点の
例えば直前において、必要なキャッシュヒット処理を一
括して行うことが可能となり、それだけ当該装置の使用
効率が向上するという利点がもたらされる。また、この
発明に係る別のフォントキャッシュ制御装置において
は、キャッシュバッファ管理データに含まれる予約フラ
グのセットは、キャッシュヒット処理遅延バッファに登
録を行う手段によって実行されること、一括して行われ
るキャッシュヒット処理に対応して前記予約フラグのリ
セットが実行されること、および、キャッシュバッファ
がフルであるときの空き領域作成処理は、該予約フラグ
がセットされていないデータエントリだけを消去の対象
として選択・実行されることを特徴とするものである。
このような特徴をもって構成されたこの発明に係る別の
フォントキャッシュ制御装置によれば、例えば通常のL
RU処理では消去の候補にされてしまうものであって
も、前記の予約フラグが立てられたものは当該消去の候
補から外されることになり、将来に必要となりそうなも
のが無駄に消去されてしまうという危険性が軽減される
という利点がある。そして、この発明に係る更に別のフ
ォントキャッシュ制御装置は、フォントキャッシュ制御
の機能が随伴されるデータ出力装置のためのフォントキ
ャッシュ制御装置であって、データのキャッシングを行
う際にキャッシュバッファ管理データを参照して必要な
データの有無を判断すること、キャッシュヒットが生じ
た時にはキャッシュに存在するデータを出力バッファに
書き込むこと、キャッシュミスヒットが生じた時にはそ
の旨をキャッシュミスヒット処理遅延バッファに登録す
ること、および、前記のように生じたキャッシュミスヒ
ットについて、一括して該当のキャッシュミスヒット処
理(データの入力、展開や出力バッファへの書き込み)
を実行することが含まれてなることを特徴とするもので
ある。このような特徴をもって構成されたこの発明に係
る更に別のフォントキャッシュ制御装置によれば、キャ
ッシュミスヒットが生じる度に対象とするフォントに必
要な展開処理等を施すことがなくなり、必要なキャッシ
ュミスヒット処理を一括して行うことが可能となり、そ
れだけ当該装置の使用効率が向上するという利点がもた
らされる。
【0009】
【実施例】図1は、この発明の実施例であるフォントキ
ャッシュ制御装置を中心とする概略的な構成を例示する
ブロック図である。この図1において、文字コード入力
受付装置1は、例えば外部適所に設けられたホスト装置
(図示されない)から伝送される所要の文字コード入力
を受け付けるためのものである。展開用文字データ記憶
装置2は、例えば大容量低速動作型の記憶装置であって
もよく、展開のために用いられる文字データ(情報)が
格納されている。文字パターン展開装置3は、前記展開
用文字データ記憶装置2から取り出された文字データ
(情報)について、対応の文字パターンに展開するため
のものである。フォントキャッシュ制御装置4はこの発
明の中心的な装置であり、これについては、図2を参照
しながら後述する。フォントキャッシュ5は、小容量高
速動作型の記憶装置あればよく、過去において展開され
た文字コードに対応する文字パターンデータが、その容
量分だけ記憶されるものである。文字出力用ページバッ
ファ6は、文字パターン展開装置3またはフォントキャ
ッシュ5からの文字パターンデータに基づく出力イメー
ジが、フォントキャッシュ制御装置4の制御下で出力す
るためにページ単位で一時的に格納されるものである。
そして、文字出力装置7は、前記文字出力用ページバッ
ファ6において所要の処理・格納がなされているページ
単位の出力イメージが、可視的に出力・表示されるもの
である。
ャッシュ制御装置を中心とする概略的な構成を例示する
ブロック図である。この図1において、文字コード入力
受付装置1は、例えば外部適所に設けられたホスト装置
(図示されない)から伝送される所要の文字コード入力
を受け付けるためのものである。展開用文字データ記憶
装置2は、例えば大容量低速動作型の記憶装置であって
もよく、展開のために用いられる文字データ(情報)が
格納されている。文字パターン展開装置3は、前記展開
用文字データ記憶装置2から取り出された文字データ
(情報)について、対応の文字パターンに展開するため
のものである。フォントキャッシュ制御装置4はこの発
明の中心的な装置であり、これについては、図2を参照
しながら後述する。フォントキャッシュ5は、小容量高
速動作型の記憶装置あればよく、過去において展開され
た文字コードに対応する文字パターンデータが、その容
量分だけ記憶されるものである。文字出力用ページバッ
ファ6は、文字パターン展開装置3またはフォントキャ
ッシュ5からの文字パターンデータに基づく出力イメー
ジが、フォントキャッシュ制御装置4の制御下で出力す
るためにページ単位で一時的に格納されるものである。
そして、文字出力装置7は、前記文字出力用ページバッ
ファ6において所要の処理・格納がなされているページ
単位の出力イメージが、可視的に出力・表示されるもの
である。
【0010】図2は、前記図1における中心的な装置で
あるフォントキャッシュ制御装置4の構成例示図であ
る。この図2において、キャッシュバッファ管理部4A
は、フォントキャッシュ5(図1)における文字パター
ンデータについて、作成・登録・格納・削除等の種々の
管理業務を負担するものである。キャッシュバッファ管
理データメモリ4Bは、前記フォントキャッシュ5の管
理業務を遂行するために必要な各種のデータを格納して
いるものであり、例えば、後述されるような予約フラグ
等がここに含まれている。処理遅延バッファ登録部4C
は、ヒットやミスヒットが生じたキャッシュについて、
対応の処理を遅延させるべきものが登録されるものであ
る。データ入出力部4Dは、フォントキャッシュ5と文
字出力用ページバッファ6(図1)とを仲介するもので
あり、前者であるフォントキャッシュ5において選択さ
れたある所定の文字パターンデータを受け入れて、後者
である文字出力用ページバッファ6に向けて出力させる
ものである。キャッシュヒット一括処理部4Eは、ヒッ
トが生じたキャッシュにおける複数の同じ文字パターン
データについて、必要な処理を一括して施すものであ
る。キャッシュヒット処理遅延バッファ4Fは、ヒット
が生じたキャッシュにおける複数の同じ文字パターンデ
ータについて、後での一括処理のために一時的に格納し
ておくものである。キャッシュミス一括処理部4Gは、
ミスヒットが生じたキャッシュにおける複数の同じ文字
パターンデータについて、必要な処理を一括して施すも
のである。そして、キャッシュミス処理遅延バッファ4
Hは、ミスヒットが生じたキャッシュにおける複数の同
じ文字パターンデータについて、後での一括処理のため
に一時的に格納しておくものである。
あるフォントキャッシュ制御装置4の構成例示図であ
る。この図2において、キャッシュバッファ管理部4A
は、フォントキャッシュ5(図1)における文字パター
ンデータについて、作成・登録・格納・削除等の種々の
管理業務を負担するものである。キャッシュバッファ管
理データメモリ4Bは、前記フォントキャッシュ5の管
理業務を遂行するために必要な各種のデータを格納して
いるものであり、例えば、後述されるような予約フラグ
等がここに含まれている。処理遅延バッファ登録部4C
は、ヒットやミスヒットが生じたキャッシュについて、
対応の処理を遅延させるべきものが登録されるものであ
る。データ入出力部4Dは、フォントキャッシュ5と文
字出力用ページバッファ6(図1)とを仲介するもので
あり、前者であるフォントキャッシュ5において選択さ
れたある所定の文字パターンデータを受け入れて、後者
である文字出力用ページバッファ6に向けて出力させる
ものである。キャッシュヒット一括処理部4Eは、ヒッ
トが生じたキャッシュにおける複数の同じ文字パターン
データについて、必要な処理を一括して施すものであ
る。キャッシュヒット処理遅延バッファ4Fは、ヒット
が生じたキャッシュにおける複数の同じ文字パターンデ
ータについて、後での一括処理のために一時的に格納し
ておくものである。キャッシュミス一括処理部4Gは、
ミスヒットが生じたキャッシュにおける複数の同じ文字
パターンデータについて、必要な処理を一括して施すも
のである。そして、キャッシュミス処理遅延バッファ4
Hは、ミスヒットが生じたキャッシュにおける複数の同
じ文字パターンデータについて、後での一括処理のため
に一時的に格納しておくものである。
【0011】図3は、上記実施例において用いられるL
RU遅延処理バッファ20の構成例示図である。この図
3において、LRU遅延処理バッファ20には複数個の
ポインタ格納部21が設けられており、それぞれのポイ
ンタ格納部21に格納されたポインタは、LRU遅延処
理が実行されている文字パターンデータが格納されたフ
ォントキャッシュ5(図1)に対するものである。この
LRU遅延処理バッファ20において管理することがで
きる文字数は、通常は上記実施例において用いられるメ
モリ資源の大きさ等を考慮して定まるものであるが、前
記フォントキャッシュ5のエントリ数と同じであるか、
または、これよりも少数であるようにすることが好適で
ある。
RU遅延処理バッファ20の構成例示図である。この図
3において、LRU遅延処理バッファ20には複数個の
ポインタ格納部21が設けられており、それぞれのポイ
ンタ格納部21に格納されたポインタは、LRU遅延処
理が実行されている文字パターンデータが格納されたフ
ォントキャッシュ5(図1)に対するものである。この
LRU遅延処理バッファ20において管理することがで
きる文字数は、通常は上記実施例において用いられるメ
モリ資源の大きさ等を考慮して定まるものであるが、前
記フォントキャッシュ5のエントリ数と同じであるか、
または、これよりも少数であるようにすることが好適で
ある。
【0012】図4は、上記実施例におけるフォントキャ
ッシュ5を管理するために用いられるLRU管理用エン
トリ30のデータ構造の例示図である。この図4におい
て、前記LRU管理用エントリ30は、フォントキャッ
シュ5に格納される文字パターンに対応する文字情報
(例えば、文字コード)格納部31;LRU管理用の前
方ポインタ格納部32;LRU管理用の後方ポインタ格
納部33;該当の文字パターンデータに対するポインタ
格納部34;および、LRU処理識別子格納部35;か
ら構成されている。ここに、LRU処理識別子とはLR
U更新処理中にLRUリストの順位を更新したエントリ
にセットする値であり、ある所定の1サイクルのLRU
更新処理を行うのに先だって更新されるものである。こ
れは、あるサイクルのLRU更新処理で更新されたエン
トリと別のサイクルで更新されたエントリを識別する排
他的な値である。このようなLRU処理識別子として
は、例えば、十分に大きい範囲の整数を1ずつ増加させ
るものを採用することもできる。
ッシュ5を管理するために用いられるLRU管理用エン
トリ30のデータ構造の例示図である。この図4におい
て、前記LRU管理用エントリ30は、フォントキャッ
シュ5に格納される文字パターンに対応する文字情報
(例えば、文字コード)格納部31;LRU管理用の前
方ポインタ格納部32;LRU管理用の後方ポインタ格
納部33;該当の文字パターンデータに対するポインタ
格納部34;および、LRU処理識別子格納部35;か
ら構成されている。ここに、LRU処理識別子とはLR
U更新処理中にLRUリストの順位を更新したエントリ
にセットする値であり、ある所定の1サイクルのLRU
更新処理を行うのに先だって更新されるものである。こ
れは、あるサイクルのLRU更新処理で更新されたエン
トリと別のサイクルで更新されたエントリを識別する排
他的な値である。このようなLRU処理識別子として
は、例えば、十分に大きい範囲の整数を1ずつ増加させ
るものを採用することもできる。
【0013】図5は、上記実施例において、ハッシュテ
ーブル41で管理されるLRU管理用エントリ(30A
〜30C)と対応の文字パターンデータ(43A〜43
C)およびLRU遅延処理バッファ20の間の関係に関
する例示図である。なお、ここでのハッシュテーブルと
は、例えばある所定の文字コード等をキーとして、当該
キーと格納されている可能性のあるエントリとを対応付
けるためのテーブルであって、それらの対応付けは、通
常ハッシュ関数と呼ばれる所定の計算式によってなされ
る。例えば、文字[A]が文字コード40に相当してい
るとして、対応するエントリは該テーブルの40番目に
あるというように、実際に40番目に文字[A]が登録
されていれば[ヒット],これが登録されていなければ
[ミスヒット]等の判定をするようにされる。そして、
ここでのハッシュテーブルは、キャッシュのヒット/ミ
スヒットを判定するための補助的なデータ構造をとるよ
うにされており、同様な機能を果たすものが提供可能で
あれば、このハッシュテーブルに限られるものではない
が、一般的には、上記のような目的のために、この種の
ハッシュテーブルが多用されている。そして、ここでの
ハッシュテーブル自体は、対応付けがなされたキャッシ
ュエントリを指し示すポインタの集合されたものであ
る。この図5において、フォントキャッシュエントリ
(LRUリスト)に相当するLRU管理用エントリ(3
0A〜30C)は、キャッシュミスの際の消去候補エン
トリを双方向のリスト構造をもって管理している。消去
候補エントリのリストはLRUアルゴリズムで管理され
ており、フォントキャッシュに格納されている文字パタ
ーンが参照されたものが、その参照時期の新→古の順序
で連結されている。即ち、最近参照された文字(文字パ
ターンデータ43Aに対応するもの)は、LRU管理先
頭エントリへのポインタ32Aによってリストの先頭に
されており、また、参照の時期が最も古いもの(文字パ
ターンデータ43Cに対応するもの)は、LRU管理最
終エントリへのポインタ33Aによって消去候補に指定
されている。この図5においては、LRU遅延処理バッ
ファ20に登録された上下2個のキャッシュエントリが
単一のキャッシュエントリを指定するようにされてい
る。即ち、ある同一の文字を指定するようにされてい
る。また、この図5で示されている文字パターンデータ
格納領域43は、機能的には前記図1におけるフォント
キャッシュ5に対応するものである。
ーブル41で管理されるLRU管理用エントリ(30A
〜30C)と対応の文字パターンデータ(43A〜43
C)およびLRU遅延処理バッファ20の間の関係に関
する例示図である。なお、ここでのハッシュテーブルと
は、例えばある所定の文字コード等をキーとして、当該
キーと格納されている可能性のあるエントリとを対応付
けるためのテーブルであって、それらの対応付けは、通
常ハッシュ関数と呼ばれる所定の計算式によってなされ
る。例えば、文字[A]が文字コード40に相当してい
るとして、対応するエントリは該テーブルの40番目に
あるというように、実際に40番目に文字[A]が登録
されていれば[ヒット],これが登録されていなければ
[ミスヒット]等の判定をするようにされる。そして、
ここでのハッシュテーブルは、キャッシュのヒット/ミ
スヒットを判定するための補助的なデータ構造をとるよ
うにされており、同様な機能を果たすものが提供可能で
あれば、このハッシュテーブルに限られるものではない
が、一般的には、上記のような目的のために、この種の
ハッシュテーブルが多用されている。そして、ここでの
ハッシュテーブル自体は、対応付けがなされたキャッシ
ュエントリを指し示すポインタの集合されたものであ
る。この図5において、フォントキャッシュエントリ
(LRUリスト)に相当するLRU管理用エントリ(3
0A〜30C)は、キャッシュミスの際の消去候補エン
トリを双方向のリスト構造をもって管理している。消去
候補エントリのリストはLRUアルゴリズムで管理され
ており、フォントキャッシュに格納されている文字パタ
ーンが参照されたものが、その参照時期の新→古の順序
で連結されている。即ち、最近参照された文字(文字パ
ターンデータ43Aに対応するもの)は、LRU管理先
頭エントリへのポインタ32Aによってリストの先頭に
されており、また、参照の時期が最も古いもの(文字パ
ターンデータ43Cに対応するもの)は、LRU管理最
終エントリへのポインタ33Aによって消去候補に指定
されている。この図5においては、LRU遅延処理バッ
ファ20に登録された上下2個のキャッシュエントリが
単一のキャッシュエントリを指定するようにされてい
る。即ち、ある同一の文字を指定するようにされてい
る。また、この図5で示されている文字パターンデータ
格納領域43は、機能的には前記図1におけるフォント
キャッシュ5に対応するものである。
【0014】図6は、上記実施例における動作の説明に
用いられる出力文書50の例示図である。そして、この
図6における出力文書50には次のような文章が記載さ
れている。[近年における電子技術の進歩は、既存通信
メディアの普及・発展に大きな役割を果たすとともに、
社会・経済活動などの周辺環境の進展に伴う多種多様な
新しい通信に対する需要に応じ、多様な発展を遂げてき
た。これは、]
用いられる出力文書50の例示図である。そして、この
図6における出力文書50には次のような文章が記載さ
れている。[近年における電子技術の進歩は、既存通信
メディアの普及・発展に大きな役割を果たすとともに、
社会・経済活動などの周辺環境の進展に伴う多種多様な
新しい通信に対する需要に応じ、多様な発展を遂げてき
た。これは、]
【0015】図7は、上記実施例における動作の説明に
用いられる例示図である。この図7は、前記図5を簡略
化して示したものであって、ハッシュテーブル41は省
略されており、ある所定の桁数(ここでは10桁である
が、実際にはこれよりも多くされる)のLRU遅延処理
バッファ20とある一定数のキャッシュエントリ(LR
Uリスト)61とから構成されている。ここでのキャッ
シュエントリ61は、前記図5においてリスト構造にさ
れているLRU管理用エントリ(30A〜30C)に対
応するものである。そして、この図6で示された状態に
おいては、前記図1のフォントキャッシュ5に対応する
文字パターンデータ格納領域43は既にフルの状態にあ
り、「[な][ど][周]・・・[の][進][展]」
のような文字に対応する文字パターンデータがフルに格
納されている。
用いられる例示図である。この図7は、前記図5を簡略
化して示したものであって、ハッシュテーブル41は省
略されており、ある所定の桁数(ここでは10桁である
が、実際にはこれよりも多くされる)のLRU遅延処理
バッファ20とある一定数のキャッシュエントリ(LR
Uリスト)61とから構成されている。ここでのキャッ
シュエントリ61は、前記図5においてリスト構造にさ
れているLRU管理用エントリ(30A〜30C)に対
応するものである。そして、この図6で示された状態に
おいては、前記図1のフォントキャッシュ5に対応する
文字パターンデータ格納領域43は既にフルの状態にあ
り、「[な][ど][周]・・・[の][進][展]」
のような文字に対応する文字パターンデータがフルに格
納されている。
【0016】図8は、上記実施例における動作の説明に
用いられる別の例示図である。この図8においては、
[な][ど][の][周][辺][環][境][の]
[進][展]の都合10文字分がLRU遅延処理バッフ
ァ20を満たすように格納されている。そして、ここで
の10文字分の文字パターンはキャッシュにヒットして
おり、特に、[の]に対応する文字パターンは連続して
ヒットしていることが示されている。
用いられる別の例示図である。この図8においては、
[な][ど][の][周][辺][環][境][の]
[進][展]の都合10文字分がLRU遅延処理バッフ
ァ20を満たすように格納されている。そして、ここで
の10文字分の文字パターンはキャッシュにヒットして
おり、特に、[の]に対応する文字パターンは連続して
ヒットしていることが示されている。
【0017】図9は、上記実施例における動作の説明に
用いられる別の例示図である。この図9においては、前
記図8に示された状態から後でヒットしない文字パター
ンが出現して、所要のLRU処理を施すようにされてい
る。ここでは、3文字分のLRUリスト61が更新され
て、それぞれのキャッシュエントリのLRU処理識別子
も更新されたことが示されている。なお、このことは、
図9におけるLRUリスト61の右側からみて3個にシ
ェードを施すことによって示されている。
用いられる別の例示図である。この図9においては、前
記図8に示された状態から後でヒットしない文字パター
ンが出現して、所要のLRU処理を施すようにされてい
る。ここでは、3文字分のLRUリスト61が更新され
て、それぞれのキャッシュエントリのLRU処理識別子
も更新されたことが示されている。なお、このことは、
図9におけるLRUリスト61の右側からみて3個にシ
ェードを施すことによって示されている。
【0018】図10は、上記実施例における動作の説明
に用いられる別の例示図である。この図10において
は、先頭から7文字分についてのLRU処理が完了した
ときの、LRU遅延処理バッファ20に登録・格納され
た8番目の文字[の]に関する処理の態様が示されてい
る。ここでは、登録・格納されたエントリ(LRUリス
ト61に含まれているもの)のLRU処理識別子が現在
のサイクルのものと一致していることから、LRUリス
ト61の更新は実行されない。ここで、[LRU処理識
別子が現在のサイクルのものと一致している]とは、一
連のLRU遅延処理バッファの後処理で、そのキャッシ
ュエントリが既にLRUリスト上でLRU処理がなされ
ていることを示すものである。ここでの例においては、
文字[の]は2回LRU処理が施される可能性があるけ
れども、その2回目の処理は必要とされない。このよう
なことを判定するために、その1回目の処理の際にLR
U識別子を更新して、必要な処理が既に施されたことを
示すようにされる。ここでのLRU識別子は、一通りの
LRU遅延処理バッファの後処理が終了し、また、LR
U遅延処理が行われて後処理が再度開始された時点では
別の値をとるものであり、このために上記のような処理
が可能になる。
に用いられる別の例示図である。この図10において
は、先頭から7文字分についてのLRU処理が完了した
ときの、LRU遅延処理バッファ20に登録・格納され
た8番目の文字[の]に関する処理の態様が示されてい
る。ここでは、登録・格納されたエントリ(LRUリス
ト61に含まれているもの)のLRU処理識別子が現在
のサイクルのものと一致していることから、LRUリス
ト61の更新は実行されない。ここで、[LRU処理識
別子が現在のサイクルのものと一致している]とは、一
連のLRU遅延処理バッファの後処理で、そのキャッシ
ュエントリが既にLRUリスト上でLRU処理がなされ
ていることを示すものである。ここでの例においては、
文字[の]は2回LRU処理が施される可能性があるけ
れども、その2回目の処理は必要とされない。このよう
なことを判定するために、その1回目の処理の際にLR
U識別子を更新して、必要な処理が既に施されたことを
示すようにされる。ここでのLRU識別子は、一通りの
LRU遅延処理バッファの後処理が終了し、また、LR
U遅延処理が行われて後処理が再度開始された時点では
別の値をとるものであり、このために上記のような処理
が可能になる。
【0019】図11は、上記実施例における動作の説明
に用いられる別の例示図である。この図11には、ある
所定の1サイクルのLRU処理が完了した(即ち、LR
U遅延処理バッファ20がクリアされた)ときの状態が
示されている。即ち、対応のLRUリスト61が更新さ
れ、キャッシュミスが生じた文字のための消去候補エン
トリ順番が確定された状態が示されている。このように
順番が確定してからキャッシュのミスヒットが連続して
生起したときには、該リストにおいて確定された順番に
よって消去候補エントリが消去されていくことになる。
に用いられる別の例示図である。この図11には、ある
所定の1サイクルのLRU処理が完了した(即ち、LR
U遅延処理バッファ20がクリアされた)ときの状態が
示されている。即ち、対応のLRUリスト61が更新さ
れ、キャッシュミスが生じた文字のための消去候補エン
トリ順番が確定された状態が示されている。このように
順番が確定してからキャッシュのミスヒットが連続して
生起したときには、該リストにおいて確定された順番に
よって消去候補エントリが消去されていくことになる。
【0020】図12は、上記実施例の動作を説明するた
めのフローチャートであって、前記図7の状態から前記
図6に例示された文書を出力させることを説明するため
のものである。この図12において、 S1:印字すべき文字コードの取り出し;まず、LRU
遅延処理バッファ20がフルの状態にあるか否かのチェ
ックがなされる。そして、このLRU遅延処理バッファ
20がフルの状態にはないとされたときには、印字対象
としての文字コードを取り出して、キャッシュヒット/
キャッシュミスのいずれであるかの判定処理がなされ
る。ここで、[1]キャッシュヒットであると判定され
たときには、S2,S3の処理がなされる。これに対し
て、[2]キャッシュミスであると判定されたときに
は、[2A]LRU遅延処理バッファ20に登録された
エントリが存在するときにはS4以降の処理がなされ、
また、[2B]LRU遅延処理バッファ20に登録され
たエントリが存在しないときにはS10以降の処理がな
されることになる。 S2:前記S1においてキャッシュヒットが生じたと
き;フォントキャッシュ5(文字パターンデータ格納領
域43)においてヒットが生じたキャッシュエントリ
(LRU管理用エントリ30A〜30Cにおいて対応す
るもの)がLRU遅延処理バッファ20に登録される。 S3:エントリから文字パターンを得て、ページバッフ
ァ側にコピーする;関連のキャッシュエントリから対応
する文字パターンを得て、これをページバッファ(文字
出力用ページバッファ6:図1を参照)側にコピーす
る。ここで、更に処理すべき文字があるか否かのチェッ
クを行い、LRU遅延処理バッファ20がフルの状態に
なるか、または、フルの状態になるのに先だってキャッ
シュミスが生じたときには、フォントキャッシュ内の文
字に対してLRU更新処理を施すために、S4以降また
はS10以降の処理がなされる。 S4:前記S1においてキャッシュミスが生じ、また
は、出力すべき文字がなくなって、LRU遅延処理バッ
ファに登録されたエントリがある場合、もしくは、LR
U遅延処理バッファがフルの状態になった場合には、L
RU識別子について所定の更新がなされる。 S5:LRU遅延処理バッファに最後に登録されたエン
トリが選択される;ここで認められるように、該LRU
遅延処理バッファ20に登録された順番とは逆の順番で
該当のエントリに対するLRU処理が施されることにな
る。 S6:バッファに登録されたキャッシュエントリが選択
される;LRU遅延処理バッファ20に登録されたキャ
ッシュエントリにおける所定のものが選択される。ここ
では、該キャッシュエントリのLRU処理識別子につい
て、前記S4において更新されたものと一致するか否か
のチェックがなされる。そして、一致しているとされた
ときには、該エントリは対応のLRU処理サイクルで既
に所要のLRU処理が行われており、このLRU処理を
再度実行することは不要である。これに対して、一致し
ていないとされたときには、所要のLRU処理を施すた
めに以下のS7およびS8に移行するようにされる。 S7:現在のエントリをLRUリスト61の先頭に移動
させる。 S8:該エントリのLRU処理識別子を前記S4におい
て変更されたものに書き換える。 S9:前記S8の処理に続けて、LRU遅延処理バッフ
ァ20における次続のエントリを選択するようにされ
る。これ以降は、前記LRU遅延処理バッファ20に登
録されたエントリが存在するときには、先のS6からの
作業が繰り返される。これに対して、前記登録されたエ
ントリが存在せず、キャッシュミスをトリガとするLR
Uリスト61の更新をしているときには、キャッシュミ
スが生じた文字に関する展開処理をするために前記S1
0以降の処理を実行する。これ以外のときには、LRU
遅延処理バッファ20のLRU処理が完了したとしてS
15における処理の実行がなされる。 S10:LRUリスト61における消去候補としてのエ
ントリが選択される。 S11:前記S10で選択されたエントリに登録されて
いる文字パターンが消去される。 S12:前記文字パターンが消去されたエントリに対応
する領域を用いて、必要とする文字に対応するパターン
の展開処理が実行される。 S13:前記展開された文字パターンを管理しているエ
ントリが、LRUリスト61の先頭に移動される。 S14:前記展開された文字パターンを得て、これをペ
ージバッファ側にコピーする。ここで、S10からS1
4までの処理は、通常のフォントキャッシュミスが生じ
たときに施されるものである。キャッシュヒットに失敗
した文字を対応の文字パターンに展開するためには、当
該文字パターンの展開をするための領域が必要であり、
この領域を確保するためにLRUリスト61における消
去候補エントリが選択されることになる。 S15:必要な処理が完了したLRU遅延処理バッファ
20に関する管理情報(例えば、該バッファに格納され
ている文字数に関する情報)がクリアされる。
めのフローチャートであって、前記図7の状態から前記
図6に例示された文書を出力させることを説明するため
のものである。この図12において、 S1:印字すべき文字コードの取り出し;まず、LRU
遅延処理バッファ20がフルの状態にあるか否かのチェ
ックがなされる。そして、このLRU遅延処理バッファ
20がフルの状態にはないとされたときには、印字対象
としての文字コードを取り出して、キャッシュヒット/
キャッシュミスのいずれであるかの判定処理がなされ
る。ここで、[1]キャッシュヒットであると判定され
たときには、S2,S3の処理がなされる。これに対し
て、[2]キャッシュミスであると判定されたときに
は、[2A]LRU遅延処理バッファ20に登録された
エントリが存在するときにはS4以降の処理がなされ、
また、[2B]LRU遅延処理バッファ20に登録され
たエントリが存在しないときにはS10以降の処理がな
されることになる。 S2:前記S1においてキャッシュヒットが生じたと
き;フォントキャッシュ5(文字パターンデータ格納領
域43)においてヒットが生じたキャッシュエントリ
(LRU管理用エントリ30A〜30Cにおいて対応す
るもの)がLRU遅延処理バッファ20に登録される。 S3:エントリから文字パターンを得て、ページバッフ
ァ側にコピーする;関連のキャッシュエントリから対応
する文字パターンを得て、これをページバッファ(文字
出力用ページバッファ6:図1を参照)側にコピーす
る。ここで、更に処理すべき文字があるか否かのチェッ
クを行い、LRU遅延処理バッファ20がフルの状態に
なるか、または、フルの状態になるのに先だってキャッ
シュミスが生じたときには、フォントキャッシュ内の文
字に対してLRU更新処理を施すために、S4以降また
はS10以降の処理がなされる。 S4:前記S1においてキャッシュミスが生じ、また
は、出力すべき文字がなくなって、LRU遅延処理バッ
ファに登録されたエントリがある場合、もしくは、LR
U遅延処理バッファがフルの状態になった場合には、L
RU識別子について所定の更新がなされる。 S5:LRU遅延処理バッファに最後に登録されたエン
トリが選択される;ここで認められるように、該LRU
遅延処理バッファ20に登録された順番とは逆の順番で
該当のエントリに対するLRU処理が施されることにな
る。 S6:バッファに登録されたキャッシュエントリが選択
される;LRU遅延処理バッファ20に登録されたキャ
ッシュエントリにおける所定のものが選択される。ここ
では、該キャッシュエントリのLRU処理識別子につい
て、前記S4において更新されたものと一致するか否か
のチェックがなされる。そして、一致しているとされた
ときには、該エントリは対応のLRU処理サイクルで既
に所要のLRU処理が行われており、このLRU処理を
再度実行することは不要である。これに対して、一致し
ていないとされたときには、所要のLRU処理を施すた
めに以下のS7およびS8に移行するようにされる。 S7:現在のエントリをLRUリスト61の先頭に移動
させる。 S8:該エントリのLRU処理識別子を前記S4におい
て変更されたものに書き換える。 S9:前記S8の処理に続けて、LRU遅延処理バッフ
ァ20における次続のエントリを選択するようにされ
る。これ以降は、前記LRU遅延処理バッファ20に登
録されたエントリが存在するときには、先のS6からの
作業が繰り返される。これに対して、前記登録されたエ
ントリが存在せず、キャッシュミスをトリガとするLR
Uリスト61の更新をしているときには、キャッシュミ
スが生じた文字に関する展開処理をするために前記S1
0以降の処理を実行する。これ以外のときには、LRU
遅延処理バッファ20のLRU処理が完了したとしてS
15における処理の実行がなされる。 S10:LRUリスト61における消去候補としてのエ
ントリが選択される。 S11:前記S10で選択されたエントリに登録されて
いる文字パターンが消去される。 S12:前記文字パターンが消去されたエントリに対応
する領域を用いて、必要とする文字に対応するパターン
の展開処理が実行される。 S13:前記展開された文字パターンを管理しているエ
ントリが、LRUリスト61の先頭に移動される。 S14:前記展開された文字パターンを得て、これをペ
ージバッファ側にコピーする。ここで、S10からS1
4までの処理は、通常のフォントキャッシュミスが生じ
たときに施されるものである。キャッシュヒットに失敗
した文字を対応の文字パターンに展開するためには、当
該文字パターンの展開をするための領域が必要であり、
この領域を確保するためにLRUリスト61における消
去候補エントリが選択されることになる。 S15:必要な処理が完了したLRU遅延処理バッファ
20に関する管理情報(例えば、該バッファに格納され
ている文字数に関する情報)がクリアされる。
【0021】ここで、上記実施例において用いられた1
00文字の文章例(図6の[近年における電子技術の進
歩は、既存通信メディアの普及・発展に大きな役割を果
たすとともに、社会・経済活動などの周辺環境の進展に
伴う多種多様な新しい通信に対する需要に応じ、多様な
発展を遂げてきた。これは、])について、文字毎の出
現回数を[に:6回],[の:4回],[進:2回],
[は:2回],・・・のようにカウントしていくと、こ
の100文字の文章例における17種の文字が複数回出
現しており、その総数は45文字分に相当することが認
められる。そして、残りの55文字分は1回だけ出現し
ている。ここで、前記複数回出現している45文字中の
17文字分は、その1回目の出現において展開処理を受
けることが必要であり、残りの(45−17=28)2
8文字分はキャッシュヒットの際の利点を受ける可能性
がある。即ち、上記の例文において、句読点を含む10
0文字の中で同じ文字が出現する回数は28回であり、
それらについては、前述されたような利点を受ける可能
性があることになる。いま、キャッシュのヒット率が例
えば95%であるとすると、キャッシュミスの発生は平
均的には20文字に対して1回であることになるが、前
記の文章例では、20文字以内で同じ文字が出現する
(前記の文章例において、例えば、最初の[の]に続け
て13文字目に同じ[の]が出現している)回数は10
回あることが認められる。従って、このような文章例に
ついてこの発明の実施例を適用するときには、従来のこ
の種の技術に比べて、LRUリストの更新処理の回数を
ほぼ10%削減することができる。なお、数字やアルフ
ァベットが多用される文章についてみれば、例えば、社
員名簿の中には数字が多用されるものがあり[例:氏
名:富士XXX 社員 No. 11023 1961年
10月20生]、この例では[1]や[0]が多用され
ることや、英文において[e]なる英文字が頻繁に用い
られることのために、前記の削減率を更に向上させるこ
とが可能になることがある。ここで、[The man
is very kind.]なる英文を例にとる
と、ここでの同じ文字の出現について、[e:2回(7
文字目に出現)],[n:2回(9文字目に出現)],
[i:2回(7文字目に出現)],であることが認めら
れる(ただし、スペースは無視)。
00文字の文章例(図6の[近年における電子技術の進
歩は、既存通信メディアの普及・発展に大きな役割を果
たすとともに、社会・経済活動などの周辺環境の進展に
伴う多種多様な新しい通信に対する需要に応じ、多様な
発展を遂げてきた。これは、])について、文字毎の出
現回数を[に:6回],[の:4回],[進:2回],
[は:2回],・・・のようにカウントしていくと、こ
の100文字の文章例における17種の文字が複数回出
現しており、その総数は45文字分に相当することが認
められる。そして、残りの55文字分は1回だけ出現し
ている。ここで、前記複数回出現している45文字中の
17文字分は、その1回目の出現において展開処理を受
けることが必要であり、残りの(45−17=28)2
8文字分はキャッシュヒットの際の利点を受ける可能性
がある。即ち、上記の例文において、句読点を含む10
0文字の中で同じ文字が出現する回数は28回であり、
それらについては、前述されたような利点を受ける可能
性があることになる。いま、キャッシュのヒット率が例
えば95%であるとすると、キャッシュミスの発生は平
均的には20文字に対して1回であることになるが、前
記の文章例では、20文字以内で同じ文字が出現する
(前記の文章例において、例えば、最初の[の]に続け
て13文字目に同じ[の]が出現している)回数は10
回あることが認められる。従って、このような文章例に
ついてこの発明の実施例を適用するときには、従来のこ
の種の技術に比べて、LRUリストの更新処理の回数を
ほぼ10%削減することができる。なお、数字やアルフ
ァベットが多用される文章についてみれば、例えば、社
員名簿の中には数字が多用されるものがあり[例:氏
名:富士XXX 社員 No. 11023 1961年
10月20生]、この例では[1]や[0]が多用され
ることや、英文において[e]なる英文字が頻繁に用い
られることのために、前記の削減率を更に向上させるこ
とが可能になることがある。ここで、[The man
is very kind.]なる英文を例にとる
と、ここでの同じ文字の出現について、[e:2回(7
文字目に出現)],[n:2回(9文字目に出現)],
[i:2回(7文字目に出現)],であることが認めら
れる(ただし、スペースは無視)。
【0022】図13は、この発明の(予約フラグが適用
される)別の実施例において用いられるLRU遅延処理
バッファ20の構成例示図である。この図13におい
て、LRU遅延処理バッファ20には、複数個の文字描
画情報格納部12Aと、これらに個々に対応するポイン
タ格納部12Bとが含まれており、前者である文字描画
情報格納部12Aに含まれている情報は、所要の遅延処
理が行われている文字を描画するために必要な情報(例
えば、ある所定のページバッファ上への書き込み位置に
関する情報)であり、また、それぞれのポインタ格納部
12Bに格納されたポインタは、対応のフォントキャッ
シュ内のエントリに対するものである。このLRU遅延
処理バッファ20において管理することができる文字数
は、通常は上記別の実施例におけるメモリ資源の大きさ
等を考慮して定められるが、前記フォントキャッシュの
エントリ数と同じであるか、または、これよりも少数で
あるようにされる。
される)別の実施例において用いられるLRU遅延処理
バッファ20の構成例示図である。この図13におい
て、LRU遅延処理バッファ20には、複数個の文字描
画情報格納部12Aと、これらに個々に対応するポイン
タ格納部12Bとが含まれており、前者である文字描画
情報格納部12Aに含まれている情報は、所要の遅延処
理が行われている文字を描画するために必要な情報(例
えば、ある所定のページバッファ上への書き込み位置に
関する情報)であり、また、それぞれのポインタ格納部
12Bに格納されたポインタは、対応のフォントキャッ
シュ内のエントリに対するものである。このLRU遅延
処理バッファ20において管理することができる文字数
は、通常は上記別の実施例におけるメモリ資源の大きさ
等を考慮して定められるが、前記フォントキャッシュの
エントリ数と同じであるか、または、これよりも少数で
あるようにされる。
【0023】図14は、上記別の実施例におけるフォン
トキャッシュ5を管理するために用いられるLRU管理
用エントリ300のデータ構造の例示図である。この図
14において、前記LRU管理用エントリ300は、フ
ォントキャッシュ5に格納される文字パターンに対応す
る文字情報(例えば、文字コード)格納部31;LRU
管理用の前方ポインタ格納部32;LRU管理用の後方
ポインタ格納部33;該当の文字パターンデータに対す
るポインタ格納部34;および、予約フラグ格納部35
A;から構成されている。ここに、予約フラグとは、近
い将来に用いる可能性がある文字パターンデータについ
て、その使用の予約をするためのものである。
トキャッシュ5を管理するために用いられるLRU管理
用エントリ300のデータ構造の例示図である。この図
14において、前記LRU管理用エントリ300は、フ
ォントキャッシュ5に格納される文字パターンに対応す
る文字情報(例えば、文字コード)格納部31;LRU
管理用の前方ポインタ格納部32;LRU管理用の後方
ポインタ格納部33;該当の文字パターンデータに対す
るポインタ格納部34;および、予約フラグ格納部35
A;から構成されている。ここに、予約フラグとは、近
い将来に用いる可能性がある文字パターンデータについ
て、その使用の予約をするためのものである。
【0024】図15は、上記別の実施例において、ハッ
シュテーブル41で管理されるLRU管理用エントリ
(300A〜300C)と対応の文字パターンデータ
(43A〜43C)および(LRU)遅延処理バッファ
20の間の関係に関する例示図である。なお、LRU管
理用エントリ300A,300Bにおいてシェードが付
された部位は、予約フラグがセットされた状態にあるこ
とを示している。この図15において、フォントキャッ
シュエントリ(LRUリスト)に相当するLRU管理用
エントリ(300A〜300C)は、キャッシュミスの
際の消去候補エントリを、双方向のリスト構造をもって
管理している。消去候補エントリのリストはLRUアル
ゴリズムで管理されており、フォントキャッシュに格納
されている文字パターンが参照されたものが、その参照
時期の新→古の順序で連結されている。即ち、最近参照
された文字(文字パターンデータ43Aに対応するも
の)は、LRU管理先頭エントリへのポインタ32Aに
よってリストの先頭にされており、また、参照の時期が
最も古いもの(文字パターンデータ43Cに対応するも
の)は、LRU管理最終エントリへのポインタ33Aに
よって消去候補に指定されている。なお、この図15で
示されている文字パターンデータ格納領域43も、機能
的には前記図1におけるフォントキャッシュ5に対応す
るものである。
シュテーブル41で管理されるLRU管理用エントリ
(300A〜300C)と対応の文字パターンデータ
(43A〜43C)および(LRU)遅延処理バッファ
20の間の関係に関する例示図である。なお、LRU管
理用エントリ300A,300Bにおいてシェードが付
された部位は、予約フラグがセットされた状態にあるこ
とを示している。この図15において、フォントキャッ
シュエントリ(LRUリスト)に相当するLRU管理用
エントリ(300A〜300C)は、キャッシュミスの
際の消去候補エントリを、双方向のリスト構造をもって
管理している。消去候補エントリのリストはLRUアル
ゴリズムで管理されており、フォントキャッシュに格納
されている文字パターンが参照されたものが、その参照
時期の新→古の順序で連結されている。即ち、最近参照
された文字(文字パターンデータ43Aに対応するも
の)は、LRU管理先頭エントリへのポインタ32Aに
よってリストの先頭にされており、また、参照の時期が
最も古いもの(文字パターンデータ43Cに対応するも
の)は、LRU管理最終エントリへのポインタ33Aに
よって消去候補に指定されている。なお、この図15で
示されている文字パターンデータ格納領域43も、機能
的には前記図1におけるフォントキャッシュ5に対応す
るものである。
【0025】図16は、上記別の実施例における動作の
説明に用いられる例示図である。この図16は、前記図
15を簡略化して示したものであって、ハッシュテーブ
ル41は省略されており、ある所定の桁数(ここでは3
桁にされている)の(LRU)遅延処理バッファ20と
ある一定数のキャッシュエントリ(LRUリスト)61
とから構成されている。ここでのキャッシュエントリ6
1は、前記図15においてリスト構造にされているLR
U管理用エントリ(300A〜300C)に対応するも
のである。そして、この図16で示された状態におい
て、前記図1のフォントキャッシュ5に対応する文字パ
ターンデータ格納領域43には、「[序][に][年]
[ ]・・・[ ]」のような文字に対応する文字パタ
ーンデータが格納されている。
説明に用いられる例示図である。この図16は、前記図
15を簡略化して示したものであって、ハッシュテーブ
ル41は省略されており、ある所定の桁数(ここでは3
桁にされている)の(LRU)遅延処理バッファ20と
ある一定数のキャッシュエントリ(LRUリスト)61
とから構成されている。ここでのキャッシュエントリ6
1は、前記図15においてリスト構造にされているLR
U管理用エントリ(300A〜300C)に対応するも
のである。そして、この図16で示された状態におい
て、前記図1のフォントキャッシュ5に対応する文字パ
ターンデータ格納領域43には、「[序][に][年]
[ ]・・・[ ]」のような文字に対応する文字パタ
ーンデータが格納されている。
【0026】図17は、上記別の実施例における動作の
説明に用いられる別の例示図である。この図17におい
ては、[近]なる1文字がLRU遅延処理バッファ20
に格納されている。そして、この場合における[近]の
文字パターンはキャッシュにヒットしておらず、対応の
文字情報だけがLRU遅延処理バッファ20に登録され
ることになる。
説明に用いられる別の例示図である。この図17におい
ては、[近]なる1文字がLRU遅延処理バッファ20
に格納されている。そして、この場合における[近]の
文字パターンはキャッシュにヒットしておらず、対応の
文字情報だけがLRU遅延処理バッファ20に登録され
ることになる。
【0027】図18は、上記別の実施例における動作の
説明に用いられる別の例示図である。この図18におい
ては、前記図17に示された状態に続けて、文字[年]
について所要のLRU処理を施すようにされている。こ
の場合における[年]の文字パターンはキャッシュにヒ
ットしており、このために、対応の文字情報およびキャ
ッシュエントリがLRU遅延処理バッファ20に登録さ
れるとともに、対応のエントリに対する予約フラグのセ
ットがなされることになる。なお、この予約フラグのセ
ットについては、図18におけるLRUリスト61の左
側からみて4番目にシェードを施すことによって示され
ている。
説明に用いられる別の例示図である。この図18におい
ては、前記図17に示された状態に続けて、文字[年]
について所要のLRU処理を施すようにされている。こ
の場合における[年]の文字パターンはキャッシュにヒ
ットしており、このために、対応の文字情報およびキャ
ッシュエントリがLRU遅延処理バッファ20に登録さ
れるとともに、対応のエントリに対する予約フラグのセ
ットがなされることになる。なお、この予約フラグのセ
ットについては、図18におけるLRUリスト61の左
側からみて4番目にシェードを施すことによって示され
ている。
【0028】図19は、上記別の実施例における動作の
説明に用いられる別の例示図である。この図19におい
ては、前記図18に示された状態に続けて、文字[に]
について所要のLRU処理を施すようにされており、ま
た、この状態においてLRU遅延処理バッファ20がフ
ルにされている。この場合における[に]の文字パター
ンもキャッシュにヒットしているため、前記の文字
[年]の場合と同様に、対応の文字情報およびキャッシ
ュエントリがLRU遅延処理バッファ20に登録される
のに加えて、対応のエントリに対する予約フラグがセッ
トされる。なお、この予約フラグのセットについては、
図19におけるLRUリスト61の左端(ここは、本来
ならば消去候補エントリに対応している)にシェードを
施すことによって示されている。
説明に用いられる別の例示図である。この図19におい
ては、前記図18に示された状態に続けて、文字[に]
について所要のLRU処理を施すようにされており、ま
た、この状態においてLRU遅延処理バッファ20がフ
ルにされている。この場合における[に]の文字パター
ンもキャッシュにヒットしているため、前記の文字
[年]の場合と同様に、対応の文字情報およびキャッシ
ュエントリがLRU遅延処理バッファ20に登録される
のに加えて、対応のエントリに対する予約フラグがセッ
トされる。なお、この予約フラグのセットについては、
図19におけるLRUリスト61の左端(ここは、本来
ならば消去候補エントリに対応している)にシェードを
施すことによって示されている。
【0029】図20は、上記別の実施例における動作の
説明に用いられる別の例示図である。この図20におい
ては、前記図19に示された状態に続けて、文字[近]
を格納する領域を確保するため、図1のフォントキャッ
シュ5に相当する文字パターンデータ格納領域43から
不用の文字パターンデータ(ここでは、文字[序]に対
応するもの)を消去することができる消去候補エントリ
を選択することが例示されている。この図20において
は、LRUリスト61の左端(前述されたように、本来
の消去候補エントリに対応するもの)には文字[に]に
対する予約フラグがセットされているために、この左端
のエントリに続く[序]のためのエントリが消去対象の
エントリに指定されることになる。このような場合にお
いては、従来の手法では近い将来に参照されるにも係わ
らず、[に]に対する文字パターンが消去候補として選
択されており、この点においてこの発明の有効性を認め
ることができる。
説明に用いられる別の例示図である。この図20におい
ては、前記図19に示された状態に続けて、文字[近]
を格納する領域を確保するため、図1のフォントキャッ
シュ5に相当する文字パターンデータ格納領域43から
不用の文字パターンデータ(ここでは、文字[序]に対
応するもの)を消去することができる消去候補エントリ
を選択することが例示されている。この図20において
は、LRUリスト61の左端(前述されたように、本来
の消去候補エントリに対応するもの)には文字[に]に
対する予約フラグがセットされているために、この左端
のエントリに続く[序]のためのエントリが消去対象の
エントリに指定されることになる。このような場合にお
いては、従来の手法では近い将来に参照されるにも係わ
らず、[に]に対する文字パターンが消去候補として選
択されており、この点においてこの発明の有効性を認め
ることができる。
【0030】図21は、上記別の実施例における動作の
説明に用いられる別の例示図である。この図21におい
ては、前記図20に示された状態に続けて、選択された
消去対象のエントリに対する文字パターンデータ(ここ
では、文字[序]に対応するもの)を消去し、文字
[近]に対応する文字パターンデータの展開を実行して
から、LRUリスト61について所要の更新をするよう
にされる。
説明に用いられる別の例示図である。この図21におい
ては、前記図20に示された状態に続けて、選択された
消去対象のエントリに対する文字パターンデータ(ここ
では、文字[序]に対応するもの)を消去し、文字
[近]に対応する文字パターンデータの展開を実行して
から、LRUリスト61について所要の更新をするよう
にされる。
【0031】図22は、上記別の実施例における動作の
説明に用いられる別の例示図である。この図22におい
ては、前記図21に示された状態に続けて、LRU遅延
処理バッファ20に登録されていた文字に関する所定の
後処理が施され、クリアにされて、所要の作業が全て終
了した後の、フォントキャッシュ5(図1)に相当する
文字パターンデータ格納領域43におけるデータ構造が
示されている。
説明に用いられる別の例示図である。この図22におい
ては、前記図21に示された状態に続けて、LRU遅延
処理バッファ20に登録されていた文字に関する所定の
後処理が施され、クリアにされて、所要の作業が全て終
了した後の、フォントキャッシュ5(図1)に相当する
文字パターンデータ格納領域43におけるデータ構造が
示されている。
【0032】図23は、上記別の実施例の動作を説明す
るためのフローチャートであって、前記図16の状態か
ら前記図6に例示された文書を出力させることを説明す
るためのものである。この図23において、 S1:印字すべき文字コードの取り出し;まず、印字す
べき文字コードの取り出しがなされ、LRU遅延処理バ
ッファ20がフルの状態にあるか否かのチェックがなさ
れる。そして、このLRU遅延処理バッファ20がフル
の状態にはないとされたときには、印字対象としての文
字コードについて、キャッシュヒット/キャッシュミス
のいずれであるかの判定処理がなされる。ここで、
[1]キャッシュヒットであると判定されたときには、
S2,S3の処理がなされる。これに対して、[2]キ
ャッシュミスであると判定されたときには、前記のステ
ップS2,S3をスキップして、S4以降の処理がなさ
れる。ここで、前記の図16を再び参照すると、[近]
なる文字が処理を施された状態が示されている。この場
合には、前記の文字[近]はヒットしておらず、対応の
文字情報だけがLRU遅延処理バッファ20に登録され
ることになる。 S2:LRU遅延処理バッファ20に空きがあり、対象
の文字についてキャッシュヒットが生じたとき;フォン
トキャッシュ5(文字パターンデータ格納領域43)か
ら、ヒットが生じた文字パターンデータを管理するキャ
ッシュエントリ(LRU管理用エントリ30A〜30C
において対応するもの)を取り出して、その予約フラグ
をセットするようにされる。 S3:ヒットが生じたキャッシュエントリのポインタ
を、LRU遅延処理バッファ20に登録するようにされ
る。 S4:文字の出力情報をLRU遅延処理バッファ20に
登録するようにされる。実際の描画処理において必要と
される情報、即ち、前記実際の描画処理において文字パ
ターンを文字出力用ページバッファ6にコピーするため
に必要な(例えば、該当の文字の位置を指定するための
ような)情報を、前記LRU遅延処理バッファ20に登
録するようにされる。これ以降は、処理すべき文字が存
在する限りは先のステップS1に戻って、必要な処理の
繰り返しがなされる。そして、LRU遅延処理バッファ
20がフルになるのに先だって処理すべき文字がなくな
ったときには、LRU遅延処理バッファ20内の文字の
出力のために、ステップS5以降の処理を実行するよう
にされる。ここで、前記の図18を再び参照すると、
[年]なる文字が処理を施された状態が示されている。
この場合には、前記の文字[年]はヒットしており、対
応の文字情報とキャッシュエントリとがLRU遅延処理
バッファ20に登録され、これに加えて、対応するエン
トリの予約フラグがセットされる。 S5:LRU遅延処理バッファ20がフルであるとき
の、その遅延処理後の後処理をすること;前記LRU遅
延処理バッファ20がフルであるときは、バッファに登
録されている文字についての実際の描画処理を施すよう
にされる。このステップS5においては、LRU遅延処
理バッファ20の先頭から選択するようにされる。そし
て、このバッファの先頭からキャッシュエントリが登録
されているか否かのチェックがなされる。ここで、
[1]キャッシュエントリが登録されているとき、即
ち、フォントキャッシュ5に所要の文字パターンが登録
されているときには、ステップS6以降の作業を実行す
るようにされる。これに対して、[2]キャッシュエン
トリが登録されていないとき、即ち、キャッシュヒット
が生じなかったときには、ステップS11以降の作業を
実行するようにされる。ここで、前記の図19を再び参
照すると、[に]なる文字が処理を施された状態が示さ
れるとともに、LRU遅延処理バッファ20がフルであ
る状態が示されている。この場合には、文字[に]もヒ
ットしており、前記図18における文字[年]と同様な
処理が施されたことになる。 S6:エントリの予約フラグをクリアする(キャッシュ
ヒットが生じたときの描画処理);LRU遅延処理バッ
ファ20に登録されたキャッシュエントリにおける所定
のものの予約フラグがクリアされる。ここでの予約フラ
グは、ステップS11以降でフォントキャッシュ5から
消去される候補として選択されることを防止するための
ものであるが、直後のステップS6においてLRUリス
ト61の先頭におかれるものであることから、この時点
でクリアされたとしても、消去候補にされることはな
い。 S7:LRU遅延処理バッファ20に登録されているキ
ャッシュエントリをLRUリスト61の先頭に移動させ
る。 S8:該LRU遅延処理バッファ20に登録されている
キャッシュエントリから所要の文字パターンを得て、こ
れを文字出力用ページバッファ6にコピーする。即ち、
LRU遅延処理バッファ20に登録されている所定の文
字描画情報に基づいて、文字出力用ページバッファ6の
対応の位置にコピーする。 S9:LRU遅延処理バッファ20について、所定の処
理が終了したものを一つだけクリアする。 S10:次に続くバッファの選択をする。即ち、前記の
ステップS9に続けて、次のバッファが存在するか否か
のチェックがなされ、バッファが存在することが判明し
たときに、このステップS10における作業がなされ
る。これ以降は、前記LRU遅延処理バッファ20に登
録された文字情報がまだ存在するときには、その選択を
してから、ステップS6またはS11以降の処理が施さ
れる。また、該LRU遅延処理バッファ20における描
画処理が完了したときに、処理すべき文字がまだ存在す
れば、ステップS1に戻ってLRU遅延処理バッファ2
0における遅延処理が再開される。これに対して、処理
すべき文字が存在しなければ、印字ための処理が終了す
るようにされる。 S11:LRUリスト61における消去候補としてのエ
ントリが選択される。キャッシュヒットが生じなかった
文字の描画のためには、対応の文字パターンを展開する
ための領域が必要であり、このような領域の確保のため
に、LRUリスト61における消去候補としてのエント
リが選択される。ここで、ある所定のチェックの結果と
して、該当のエントリに予約フラグがセットされている
とすると、次のステップS12に移行して、次の消去候
補としてのエントリを選択し、予約フラグがセットされ
ていないエントリが発見されるまで、ステップS11に
おける処理とS12における処理とを反復するようにさ
れる。なお、予約フラグがセットされていなかったとき
には、ステップS13以降の作業が実行されることにな
る。ここで、前記の図20を再び参照すると、LRU遅
延処理バッファ20に登録された文字[近]に対する消
去候補エントリが選択される状態が示されている。ここ
では、LRUリスト61の消去候補エントリの中の文字
[に]に対して予約フラグがセットされていることか
ら、次の文字[序]に対するエントリを消去候補エント
リとして選択するようにされている。 S12:LRUリスト61における次続の消去候補とし
てのエントリが選択される。 S13:エントリに登録されている文字パターン領域の
開放; S14:文字パターンの展開処理;ここでは、ステップ
S11で選択されたエントリに登録されている文字パタ
ーンの消去がなされて、使用可能な領域として選択され
(S13),該当の領域を用いて、LRU遅延処理バッ
ファ20に登録されている描画すべき文字に対する展開
処理がなされる(S14)。そして、これに対応する文
字パターンがフォントキャッシュ5に登録される。これ
以降の処理については、ステップS5においてヒットし
たエントリと同様な処理を実行するために、ステップS
7以降の処理を継続するようにされる。ここで、前記の
図21を再び参照すると、図20において選択されたエ
ントリの(文字[序]に対する)文字パターンデータを
消去し、文字[近]に対する文字パターンデータを展開
して、関連のLRUリスト61を更新した状態が示され
ている。なお、この図21に続く図22においては、L
RU遅延処理バッファ20に登録された文字に対する所
要の後処理が施されてからの、フォントキャッシュ5
(文字パターンデータ格納領域43)におけるデータ構
造の状態が示されている。
るためのフローチャートであって、前記図16の状態か
ら前記図6に例示された文書を出力させることを説明す
るためのものである。この図23において、 S1:印字すべき文字コードの取り出し;まず、印字す
べき文字コードの取り出しがなされ、LRU遅延処理バ
ッファ20がフルの状態にあるか否かのチェックがなさ
れる。そして、このLRU遅延処理バッファ20がフル
の状態にはないとされたときには、印字対象としての文
字コードについて、キャッシュヒット/キャッシュミス
のいずれであるかの判定処理がなされる。ここで、
[1]キャッシュヒットであると判定されたときには、
S2,S3の処理がなされる。これに対して、[2]キ
ャッシュミスであると判定されたときには、前記のステ
ップS2,S3をスキップして、S4以降の処理がなさ
れる。ここで、前記の図16を再び参照すると、[近]
なる文字が処理を施された状態が示されている。この場
合には、前記の文字[近]はヒットしておらず、対応の
文字情報だけがLRU遅延処理バッファ20に登録され
ることになる。 S2:LRU遅延処理バッファ20に空きがあり、対象
の文字についてキャッシュヒットが生じたとき;フォン
トキャッシュ5(文字パターンデータ格納領域43)か
ら、ヒットが生じた文字パターンデータを管理するキャ
ッシュエントリ(LRU管理用エントリ30A〜30C
において対応するもの)を取り出して、その予約フラグ
をセットするようにされる。 S3:ヒットが生じたキャッシュエントリのポインタ
を、LRU遅延処理バッファ20に登録するようにされ
る。 S4:文字の出力情報をLRU遅延処理バッファ20に
登録するようにされる。実際の描画処理において必要と
される情報、即ち、前記実際の描画処理において文字パ
ターンを文字出力用ページバッファ6にコピーするため
に必要な(例えば、該当の文字の位置を指定するための
ような)情報を、前記LRU遅延処理バッファ20に登
録するようにされる。これ以降は、処理すべき文字が存
在する限りは先のステップS1に戻って、必要な処理の
繰り返しがなされる。そして、LRU遅延処理バッファ
20がフルになるのに先だって処理すべき文字がなくな
ったときには、LRU遅延処理バッファ20内の文字の
出力のために、ステップS5以降の処理を実行するよう
にされる。ここで、前記の図18を再び参照すると、
[年]なる文字が処理を施された状態が示されている。
この場合には、前記の文字[年]はヒットしており、対
応の文字情報とキャッシュエントリとがLRU遅延処理
バッファ20に登録され、これに加えて、対応するエン
トリの予約フラグがセットされる。 S5:LRU遅延処理バッファ20がフルであるとき
の、その遅延処理後の後処理をすること;前記LRU遅
延処理バッファ20がフルであるときは、バッファに登
録されている文字についての実際の描画処理を施すよう
にされる。このステップS5においては、LRU遅延処
理バッファ20の先頭から選択するようにされる。そし
て、このバッファの先頭からキャッシュエントリが登録
されているか否かのチェックがなされる。ここで、
[1]キャッシュエントリが登録されているとき、即
ち、フォントキャッシュ5に所要の文字パターンが登録
されているときには、ステップS6以降の作業を実行す
るようにされる。これに対して、[2]キャッシュエン
トリが登録されていないとき、即ち、キャッシュヒット
が生じなかったときには、ステップS11以降の作業を
実行するようにされる。ここで、前記の図19を再び参
照すると、[に]なる文字が処理を施された状態が示さ
れるとともに、LRU遅延処理バッファ20がフルであ
る状態が示されている。この場合には、文字[に]もヒ
ットしており、前記図18における文字[年]と同様な
処理が施されたことになる。 S6:エントリの予約フラグをクリアする(キャッシュ
ヒットが生じたときの描画処理);LRU遅延処理バッ
ファ20に登録されたキャッシュエントリにおける所定
のものの予約フラグがクリアされる。ここでの予約フラ
グは、ステップS11以降でフォントキャッシュ5から
消去される候補として選択されることを防止するための
ものであるが、直後のステップS6においてLRUリス
ト61の先頭におかれるものであることから、この時点
でクリアされたとしても、消去候補にされることはな
い。 S7:LRU遅延処理バッファ20に登録されているキ
ャッシュエントリをLRUリスト61の先頭に移動させ
る。 S8:該LRU遅延処理バッファ20に登録されている
キャッシュエントリから所要の文字パターンを得て、こ
れを文字出力用ページバッファ6にコピーする。即ち、
LRU遅延処理バッファ20に登録されている所定の文
字描画情報に基づいて、文字出力用ページバッファ6の
対応の位置にコピーする。 S9:LRU遅延処理バッファ20について、所定の処
理が終了したものを一つだけクリアする。 S10:次に続くバッファの選択をする。即ち、前記の
ステップS9に続けて、次のバッファが存在するか否か
のチェックがなされ、バッファが存在することが判明し
たときに、このステップS10における作業がなされ
る。これ以降は、前記LRU遅延処理バッファ20に登
録された文字情報がまだ存在するときには、その選択を
してから、ステップS6またはS11以降の処理が施さ
れる。また、該LRU遅延処理バッファ20における描
画処理が完了したときに、処理すべき文字がまだ存在す
れば、ステップS1に戻ってLRU遅延処理バッファ2
0における遅延処理が再開される。これに対して、処理
すべき文字が存在しなければ、印字ための処理が終了す
るようにされる。 S11:LRUリスト61における消去候補としてのエ
ントリが選択される。キャッシュヒットが生じなかった
文字の描画のためには、対応の文字パターンを展開する
ための領域が必要であり、このような領域の確保のため
に、LRUリスト61における消去候補としてのエント
リが選択される。ここで、ある所定のチェックの結果と
して、該当のエントリに予約フラグがセットされている
とすると、次のステップS12に移行して、次の消去候
補としてのエントリを選択し、予約フラグがセットされ
ていないエントリが発見されるまで、ステップS11に
おける処理とS12における処理とを反復するようにさ
れる。なお、予約フラグがセットされていなかったとき
には、ステップS13以降の作業が実行されることにな
る。ここで、前記の図20を再び参照すると、LRU遅
延処理バッファ20に登録された文字[近]に対する消
去候補エントリが選択される状態が示されている。ここ
では、LRUリスト61の消去候補エントリの中の文字
[に]に対して予約フラグがセットされていることか
ら、次の文字[序]に対するエントリを消去候補エント
リとして選択するようにされている。 S12:LRUリスト61における次続の消去候補とし
てのエントリが選択される。 S13:エントリに登録されている文字パターン領域の
開放; S14:文字パターンの展開処理;ここでは、ステップ
S11で選択されたエントリに登録されている文字パタ
ーンの消去がなされて、使用可能な領域として選択され
(S13),該当の領域を用いて、LRU遅延処理バッ
ファ20に登録されている描画すべき文字に対する展開
処理がなされる(S14)。そして、これに対応する文
字パターンがフォントキャッシュ5に登録される。これ
以降の処理については、ステップS5においてヒットし
たエントリと同様な処理を実行するために、ステップS
7以降の処理を継続するようにされる。ここで、前記の
図21を再び参照すると、図20において選択されたエ
ントリの(文字[序]に対する)文字パターンデータを
消去し、文字[近]に対する文字パターンデータを展開
して、関連のLRUリスト61を更新した状態が示され
ている。なお、この図21に続く図22においては、L
RU遅延処理バッファ20に登録された文字に対する所
要の後処理が施されてからの、フォントキャッシュ5
(文字パターンデータ格納領域43)におけるデータ構
造の状態が示されている。
【0033】図24は、この発明の(ヒット時遅延処理
のための)更に別の実施例において用いられるLRU遅
延処理バッファ20の構成例示図である。この図24に
おいて、LRU遅延処理バッファ20には、複数個の文
字描画情報格納部12Aと、これらに個々に対応する遅
延ヒットフラグ格納部12Cとが含まれており、前者で
ある文字描画情報格納部12Aに含まれている情報は、
所要の遅延処理が行われている文字を描画するために必
要な情報(例えば、ある所定のページバッファ上への書
き込み位置に関する情報)であり、また、それぞれのフ
ラグ格納部12Cに格納された遅延ヒットフラグは、遅
延処理でミスした文字が再び出現した場合にセットされ
るものである。このLRU遅延処理バッファ20におい
て管理することができる文字数は、通常は上記更に別の
実施例におけるメモリ資源の大きさ等を考慮して定めら
れるが、前記フォントキャッシュのエントリ数と同じで
あるか、または、これよりも少数であるようにされる。
のための)更に別の実施例において用いられるLRU遅
延処理バッファ20の構成例示図である。この図24に
おいて、LRU遅延処理バッファ20には、複数個の文
字描画情報格納部12Aと、これらに個々に対応する遅
延ヒットフラグ格納部12Cとが含まれており、前者で
ある文字描画情報格納部12Aに含まれている情報は、
所要の遅延処理が行われている文字を描画するために必
要な情報(例えば、ある所定のページバッファ上への書
き込み位置に関する情報)であり、また、それぞれのフ
ラグ格納部12Cに格納された遅延ヒットフラグは、遅
延処理でミスした文字が再び出現した場合にセットされ
るものである。このLRU遅延処理バッファ20におい
て管理することができる文字数は、通常は上記更に別の
実施例におけるメモリ資源の大きさ等を考慮して定めら
れるが、前記フォントキャッシュのエントリ数と同じで
あるか、または、これよりも少数であるようにされる。
【0034】図25は、上記更に別の実施例における、
遅延処理バッファ20と遅延処理用ハッシュテーブル4
1Aとの関連の例示図である。この図25において、遅
延処理用ハッシュテーブル41Aは、フォントキャッシ
ュ5(図1)においてミスがあった文字が再び現れるこ
とをチェックするためのものであり、遅延処理の結果と
して登録される文字が該テーブル41Aに登録されてい
るか否かのチェックを行い、その結果が遅延処理バッフ
ァ20における遅延ヒットフラグ12Cに反映される。
この図25においては、遅延処理バッファ20の第3列
(3)における遅延ヒットフラグ12Cがセットされ
て、ここに格納された文字は当該遅延処理バッファ20
の他のいずれかの場所に格納された文字と同じであるこ
とが示されている。
遅延処理バッファ20と遅延処理用ハッシュテーブル4
1Aとの関連の例示図である。この図25において、遅
延処理用ハッシュテーブル41Aは、フォントキャッシ
ュ5(図1)においてミスがあった文字が再び現れるこ
とをチェックするためのものであり、遅延処理の結果と
して登録される文字が該テーブル41Aに登録されてい
るか否かのチェックを行い、その結果が遅延処理バッフ
ァ20における遅延ヒットフラグ12Cに反映される。
この図25においては、遅延処理バッファ20の第3列
(3)における遅延ヒットフラグ12Cがセットされ
て、ここに格納された文字は当該遅延処理バッファ20
の他のいずれかの場所に格納された文字と同じであるこ
とが示されている。
【0035】図26は、上記更に別の実施例におけるフ
ォントキャッシュ5を管理するために用いられるLRU
管理用エントリ400のデータ構造の例示図である。こ
の図26において、前記LRU管理用エントリ400
は、フォントキャッシュ5に格納される文字パターンに
対応する文字情報(例えば、文字コード)格納部31;
LRU管理用の前方ポインタ格納部32;LRU管理用
の後方ポインタ格納部33;および、該当の文字パター
ンデータに対するポインタ格納部34;から構成されて
いる。
ォントキャッシュ5を管理するために用いられるLRU
管理用エントリ400のデータ構造の例示図である。こ
の図26において、前記LRU管理用エントリ400
は、フォントキャッシュ5に格納される文字パターンに
対応する文字情報(例えば、文字コード)格納部31;
LRU管理用の前方ポインタ格納部32;LRU管理用
の後方ポインタ格納部33;および、該当の文字パター
ンデータに対するポインタ格納部34;から構成されて
いる。
【0036】図27は、上記更に別の実施例において、
フォントキャッシュ用のハッシュテーブル41Bで管理
されるLRU管理用エントリ(400A〜400C)と
対応の文字パターンデータ(43A〜43C)との間の
関係に関する例示図である。この図27において、フォ
ントキャッシュエントリ(LRUリスト)に相当するL
RU管理用エントリ(400A〜400C)は、キャッ
シュミスの際の消去候補エントリを、双方向のリスト構
造をもって管理している。消去候補エントリのリストは
LRUアルゴリズムで管理されており、フォントキャッ
シュに格納されている文字パターンが参照されたもの
が、その参照時期の新→古の順序で連結されている。即
ち、最近参照された文字(文字パターンデータ43Aに
対応するもの)は、LRU管理先頭エントリへのポイン
タ32Aによってリストの先頭にされており、また、参
照の時期が最も古いもの(文字パターンデータ43Cに
対応するもの)は、LRU管理最終エントリへのポイン
タ33Aによって消去候補に指定されている。なお、こ
の図27で示されている文字パターンデータ格納領域4
3も、機能的には前記図1におけるフォントキャッシュ
5に対応するものである。
フォントキャッシュ用のハッシュテーブル41Bで管理
されるLRU管理用エントリ(400A〜400C)と
対応の文字パターンデータ(43A〜43C)との間の
関係に関する例示図である。この図27において、フォ
ントキャッシュエントリ(LRUリスト)に相当するL
RU管理用エントリ(400A〜400C)は、キャッ
シュミスの際の消去候補エントリを、双方向のリスト構
造をもって管理している。消去候補エントリのリストは
LRUアルゴリズムで管理されており、フォントキャッ
シュに格納されている文字パターンが参照されたもの
が、その参照時期の新→古の順序で連結されている。即
ち、最近参照された文字(文字パターンデータ43Aに
対応するもの)は、LRU管理先頭エントリへのポイン
タ32Aによってリストの先頭にされており、また、参
照の時期が最も古いもの(文字パターンデータ43Cに
対応するもの)は、LRU管理最終エントリへのポイン
タ33Aによって消去候補に指定されている。なお、こ
の図27で示されている文字パターンデータ格納領域4
3も、機能的には前記図1におけるフォントキャッシュ
5に対応するものである。
【0037】図28は、上記更に別の実施例における動
作の説明に用いられる例示図である。この図28は、前
記図25および図27の関連事項を簡略化して示したも
のであって、ハッシュテーブル41Bは省略されてお
り、ある所定の桁数(ここでは3桁にされている)のL
RU遅延処理バッファ20とある一定数のキャッシュエ
ントリ(LRUリスト)61とから構成されている。こ
こでのキャッシュエントリ61は、前記図27において
リスト構造にされているLRU管理用エントリ(400
A〜400C)に対応するものである。そして、この図
28で示された状態において、前記図1のフォントキャ
ッシュ5に対応する文字パターンデータ格納領域43に
は、「[お][に][年][ ]・・・[ ]」のよう
な文字に対応する文字パターンデータが格納されてい
る。なお、この図28における領域6Aは、文字出力用
ページバッファ6(図1)のイメージ格納領域に相当す
るものである。
作の説明に用いられる例示図である。この図28は、前
記図25および図27の関連事項を簡略化して示したも
のであって、ハッシュテーブル41Bは省略されてお
り、ある所定の桁数(ここでは3桁にされている)のL
RU遅延処理バッファ20とある一定数のキャッシュエ
ントリ(LRUリスト)61とから構成されている。こ
こでのキャッシュエントリ61は、前記図27において
リスト構造にされているLRU管理用エントリ(400
A〜400C)に対応するものである。そして、この図
28で示された状態において、前記図1のフォントキャ
ッシュ5に対応する文字パターンデータ格納領域43に
は、「[お][に][年][ ]・・・[ ]」のよう
な文字に対応する文字パターンデータが格納されてい
る。なお、この図28における領域6Aは、文字出力用
ページバッファ6(図1)のイメージ格納領域に相当す
るものである。
【0038】図29は、上記更に別の実施例における動
作の説明に用いられる別の例示図である。この図29に
おいては、[近]なる1文字がLRU遅延処理バッファ
20に格納されている。そして、この場合における
[近]の文字パターンはキャッシュにヒットしておら
ず、対応の文字情報だけがLRU遅延処理バッファ20
に登録されることになる。そして、前記文字出力用ペー
ジバッファ6におけるイメージ格納用領域6Aはブラン
クの状態に留まっている。
作の説明に用いられる別の例示図である。この図29に
おいては、[近]なる1文字がLRU遅延処理バッファ
20に格納されている。そして、この場合における
[近]の文字パターンはキャッシュにヒットしておら
ず、対応の文字情報だけがLRU遅延処理バッファ20
に登録されることになる。そして、前記文字出力用ペー
ジバッファ6におけるイメージ格納用領域6Aはブラン
クの状態に留まっている。
【0039】図30は、上記更に別の実施例における動
作の説明に用いられる別の例示図である。この図30に
おいては、前記図29に示された状態に続けて、文字
[年]について所要のLRU処理を施すようにされてい
る。この場合における[年]の文字パターンはキャッシ
ュにヒットしており、このために、関連のエントリがL
RUリスト61の先頭に移動される。そして、文字パタ
ーンデータ格納領域43(図1のフォントキャッシュ
5)から対応の文字パターンを取り出して、これを前記
文字出力用ページバッファ6におけるイメージ格納用領
域6Aの所定箇所に転記するようにされる。
作の説明に用いられる別の例示図である。この図30に
おいては、前記図29に示された状態に続けて、文字
[年]について所要のLRU処理を施すようにされてい
る。この場合における[年]の文字パターンはキャッシ
ュにヒットしており、このために、関連のエントリがL
RUリスト61の先頭に移動される。そして、文字パタ
ーンデータ格納領域43(図1のフォントキャッシュ
5)から対応の文字パターンを取り出して、これを前記
文字出力用ページバッファ6におけるイメージ格納用領
域6Aの所定箇所に転記するようにされる。
【0040】図31は、上記更に別の実施例における動
作の説明に用いられる別の例示図である。この図31に
おいては、前記図30に示された状態に続けて、例え
ば、「における電子技術の進歩は、既存通信メディア
の」なる文字列が処理され、LRU遅延処理バッファ2
0がフルにされた([の]以外はキャッシュにヒットし
た)状態が示されている。ここで、前記文字列の中の最
初の文字[の]がキャッシュにヒットしなかったとする
と、これに対応する文字情報がLRU遅延処理バッファ
20に登録される。そして、2番目に出現した文字
[の]については、遅延ヒットフラグがセットされた状
態の文字情報が前記LRU遅延処理バッファ20に登録
されることになる。このような状態においては、文字出
力用ページバッファ6におけるイメージ格納用領域6A
には、文字[近]および文字[の]はいずれもまだ描画
されていない。
作の説明に用いられる別の例示図である。この図31に
おいては、前記図30に示された状態に続けて、例え
ば、「における電子技術の進歩は、既存通信メディア
の」なる文字列が処理され、LRU遅延処理バッファ2
0がフルにされた([の]以外はキャッシュにヒットし
た)状態が示されている。ここで、前記文字列の中の最
初の文字[の]がキャッシュにヒットしなかったとする
と、これに対応する文字情報がLRU遅延処理バッファ
20に登録される。そして、2番目に出現した文字
[の]については、遅延ヒットフラグがセットされた状
態の文字情報が前記LRU遅延処理バッファ20に登録
されることになる。このような状態においては、文字出
力用ページバッファ6におけるイメージ格納用領域6A
には、文字[近]および文字[の]はいずれもまだ描画
されていない。
【0041】図32は、上記更に別の実施例における動
作の説明に用いられる別の例示図である。この図32に
おいては、前記図31に示された状態に続けて、文字
[近]を格納する領域を確保するため、図1のフォント
キャッシュ5に相当する文字パターンデータ格納領域4
3から不用の文字パターンデータを消去することができ
る消去候補エントリを選択することが例示されている。
この時点で処理された文字列においてヒットしたもの
は、ヒットしたLRUの先頭位置(即ち、消去候補とは
なり難い位置)に移動されている。従って、ここでの消
去候補エントリの選択に際しては、消去候補エントリと
されているものの中で最左端にあるエントリが選択され
ることになる。なお、ここでの選択の仕方については特
別な手法は採用されていない。選択が必要とされるタイ
ミングをできるだけ遅延させ、それまでにLRUリスト
の順番が最適化するようにされている。
作の説明に用いられる別の例示図である。この図32に
おいては、前記図31に示された状態に続けて、文字
[近]を格納する領域を確保するため、図1のフォント
キャッシュ5に相当する文字パターンデータ格納領域4
3から不用の文字パターンデータを消去することができ
る消去候補エントリを選択することが例示されている。
この時点で処理された文字列においてヒットしたもの
は、ヒットしたLRUの先頭位置(即ち、消去候補とは
なり難い位置)に移動されている。従って、ここでの消
去候補エントリの選択に際しては、消去候補エントリと
されているものの中で最左端にあるエントリが選択され
ることになる。なお、ここでの選択の仕方については特
別な手法は採用されていない。選択が必要とされるタイ
ミングをできるだけ遅延させ、それまでにLRUリスト
の順番が最適化するようにされている。
【0042】図33は、上記更に別の実施例における動
作の説明に用いられる別の例示図である。この図33に
おいては、前記図32に示された状態に続けて、文字
[近]および文字[い]に対応する文字パターンデータ
の展開を実行してから、LRUリスト61について所要
の更新をするようにされる。また、遅延ヒットフラグが
セットされたLRU遅延処理バッファ20内の2番目の
文字[の]に対する展開処理も行われることになるが、
最初の文字[の]に対する展開が既に文字パターンデー
タ格納領域43(図1のフォントキャッシュ5)で実行
されているために、前記展開処理を実行することなく、
前記の文字パターンデータ格納領域43から対応の文字
パターンデータを検索し、この検索の結果に基づいて所
要の描画処理を施すようにされる。そして、この結果と
して、文字出力用ページバッファ6におけるイメージ格
納用領域6Aには、前述の「における電子技術の進歩
は、既存通信メディアの」なる文字列が描画される。
作の説明に用いられる別の例示図である。この図33に
おいては、前記図32に示された状態に続けて、文字
[近]および文字[い]に対応する文字パターンデータ
の展開を実行してから、LRUリスト61について所要
の更新をするようにされる。また、遅延ヒットフラグが
セットされたLRU遅延処理バッファ20内の2番目の
文字[の]に対する展開処理も行われることになるが、
最初の文字[の]に対する展開が既に文字パターンデー
タ格納領域43(図1のフォントキャッシュ5)で実行
されているために、前記展開処理を実行することなく、
前記の文字パターンデータ格納領域43から対応の文字
パターンデータを検索し、この検索の結果に基づいて所
要の描画処理を施すようにされる。そして、この結果と
して、文字出力用ページバッファ6におけるイメージ格
納用領域6Aには、前述の「における電子技術の進歩
は、既存通信メディアの」なる文字列が描画される。
【0043】図34は、上記更に別の実施例の動作を説
明するためのフローチャートであって、前記図28の状
態から前記図5に例示された文書を出力させることを説
明するためのものである。この図34において、 S1:印字すべき文字コードの取り出し;まず、LRU
遅延処理バッファ20がフルの状態にあるか否かのチェ
ックがなされる。そして、このLRU遅延処理バッファ
20がフルの状態にはないとされたときには、印字すべ
き文字コードの取り出しがなされる。更に、ここでの印
字対象としての文字コードについて、キャッシュヒット
/キャッシュミスのいずれであるかの判定処理がなされ
る。ここで、[1]キャッシュヒットであると判定され
たときには、S2,S3の処理がなされる。これに対し
て、[2]キャッシュミスであると判定されたときに
は、前記のステップS2,S3をスキップして、S4の
処理がなされることになる。 S2:S1で対象の文字についてヒットが生じたとき;
フォントキャッシュ5(文字パターンデータ格納領域4
3)から、ヒットが生じた文字パターンデータを管理す
るキャッシュエントリ(LRU管理用エントリ400A
〜400Cにおいて対応するもの)を取り出して、これ
をLRUリスト61の先頭に移動させる。 S3:ヒットが生じたキャッシュエントリに基づいて取
得した文字パターンを、文字出力用ページバッファ6の
適所にコピーさせる。 S4:S1で対象の文字についてミスが生じたとき;実
際の描画処理において後から必要とされる情報、即ち、
前記実際の描画処理において文字パターンを文字出力用
ページバッファ6にコピーするために必要な(例えば、
該当の文字の位置を指定するためのような)情報を、前
記LRU遅延処理バッファ20に登録するようにされ
る。このときに、前記LRU遅延処理バッファ20の対
応するエントリが遅延処理用ハッシュテーブル41Aに
登録される。なお、これ以降は、処理すべき文字が存在
する限りは先のステップS1に戻って、必要な処理の繰
り返しがなされる。そして、LRU遅延処理バッファ2
0がフルになるのに先だって処理すべき文字がなくなっ
たときには、LRU遅延処理バッファ20内の文字の出
力のために、ステップS5以降の処理を実行するように
される。 S5:LRU遅延処理バッファ20がフルであるとき
の、その遅延処理後の後処理をすること;前記LRU遅
延処理バッファ20がフルであるときには、または、出
力すべき文字がなくなった時点においてLRU遅延処理
バッファ20に登録された文字が存在するときには、バ
ッファに登録されている文字についての実際の描画処理
を施すようにされる。このステップS5においては、L
RU遅延処理バッファ20の先頭から選択するようにさ
れる。そして、このバッファの先頭から遅延ヒットフラ
グがセットされているか否かのチェックがなされる。こ
こで、[1]対応の遅延ヒットフラグがセットされてい
るときには、即ち、後述のステップS11〜S13にお
ける展開処理に従ってフォントキャッシュ5に所要の文
字パターンが登録されているときには、ステップS6以
降の作業を実行するようにされる。これに対して、
[2]対応の遅延ヒットフラグがセットされていないと
きには、即ち、フォントキャッシュ5(文字パターンデ
ータ格納領域43)に対応の文字パターンが格納されて
いないときには、ステップS11以降の作業である文字
パターンの展開処理を実行するようにされる。 S6:遅延ヒットフラグがセットされているときの描画
処理;このときには、フォントキャッシュ5(文字パタ
ーンデータ格納領域43)側から、該当の文字コードに
対応するキャッシュエントリを得るようにされる。 S7:LRU遅延処理バッファ20に登録されているキ
ャッシュエントリをLRUリスト61の先頭に移動させ
る。 S8:該LRU遅延処理バッファ20に登録されている
キャッシュエントリから所要の文字パターンを得て、こ
れを文字出力用ページバッファ6にコピーする(即ち、
所要の描画処理を実行する)。このときには、LRU遅
延処理バッファ20に登録されている所定の文字描画情
報に基づいて、文字出力用ページバッファ6の対応の位
置にコピーする。 S9:LRU遅延処理バッファ20について、所定の処
理が終了したものを一つだけクリアする。 S10:次に続くバッファの選択をする。即ち、前記の
ステップS9に続けて、次のバッファが存在するか否か
のチェックがなされ、バッファが存在することが判明し
たときに、このステップS10における作業がなされ
る。これ以降は、前記LRU遅延処理バッファ20に登
録された文字情報がまだ存在するときには、その選択を
してから、ステップS6またはS11以降の処理が施さ
れる。また、該LRU遅延処理バッファ20における描
画処理が完了したときに、処理すべき文字がまだ存在す
れば、ステップS1に戻ってLRU遅延処理バッファ2
0における遅延処理が再開される。これに対して、処理
すべき文字が存在しなければ、印字のための処理が終了
するようにされる。 S11:LRUリスト61における消去候補としてのエ
ントリが選択される。キャッシュヒットが生じなかった
文字の描画のためには、対応の文字パターンを展開する
ための領域が必要であり、このような領域の確保のため
に、LRUリスト61における消去候補としてのエント
リが選択される。 S12:ステップS11において選択されたエントリに
登録されている文字パターンを消去して、該当の領域を
解放する。 S13:所要の文字パターンの展開処理を実行する。こ
こでは、ステップS12で解放された領域を用いて、L
RU遅延処理バッファ20に登録されている描画すべき
文字に対する展開処理がなされる(S13)。そして、
これに対応する文字パターンがフォントキャッシュ5に
登録される。これ以降の処理については、ステップS5
においてヒットしたエントリと同様な処理を実行するた
めに、ステップS7以降の処理を継続するようにされ
る。
明するためのフローチャートであって、前記図28の状
態から前記図5に例示された文書を出力させることを説
明するためのものである。この図34において、 S1:印字すべき文字コードの取り出し;まず、LRU
遅延処理バッファ20がフルの状態にあるか否かのチェ
ックがなされる。そして、このLRU遅延処理バッファ
20がフルの状態にはないとされたときには、印字すべ
き文字コードの取り出しがなされる。更に、ここでの印
字対象としての文字コードについて、キャッシュヒット
/キャッシュミスのいずれであるかの判定処理がなされ
る。ここで、[1]キャッシュヒットであると判定され
たときには、S2,S3の処理がなされる。これに対し
て、[2]キャッシュミスであると判定されたときに
は、前記のステップS2,S3をスキップして、S4の
処理がなされることになる。 S2:S1で対象の文字についてヒットが生じたとき;
フォントキャッシュ5(文字パターンデータ格納領域4
3)から、ヒットが生じた文字パターンデータを管理す
るキャッシュエントリ(LRU管理用エントリ400A
〜400Cにおいて対応するもの)を取り出して、これ
をLRUリスト61の先頭に移動させる。 S3:ヒットが生じたキャッシュエントリに基づいて取
得した文字パターンを、文字出力用ページバッファ6の
適所にコピーさせる。 S4:S1で対象の文字についてミスが生じたとき;実
際の描画処理において後から必要とされる情報、即ち、
前記実際の描画処理において文字パターンを文字出力用
ページバッファ6にコピーするために必要な(例えば、
該当の文字の位置を指定するためのような)情報を、前
記LRU遅延処理バッファ20に登録するようにされ
る。このときに、前記LRU遅延処理バッファ20の対
応するエントリが遅延処理用ハッシュテーブル41Aに
登録される。なお、これ以降は、処理すべき文字が存在
する限りは先のステップS1に戻って、必要な処理の繰
り返しがなされる。そして、LRU遅延処理バッファ2
0がフルになるのに先だって処理すべき文字がなくなっ
たときには、LRU遅延処理バッファ20内の文字の出
力のために、ステップS5以降の処理を実行するように
される。 S5:LRU遅延処理バッファ20がフルであるとき
の、その遅延処理後の後処理をすること;前記LRU遅
延処理バッファ20がフルであるときには、または、出
力すべき文字がなくなった時点においてLRU遅延処理
バッファ20に登録された文字が存在するときには、バ
ッファに登録されている文字についての実際の描画処理
を施すようにされる。このステップS5においては、L
RU遅延処理バッファ20の先頭から選択するようにさ
れる。そして、このバッファの先頭から遅延ヒットフラ
グがセットされているか否かのチェックがなされる。こ
こで、[1]対応の遅延ヒットフラグがセットされてい
るときには、即ち、後述のステップS11〜S13にお
ける展開処理に従ってフォントキャッシュ5に所要の文
字パターンが登録されているときには、ステップS6以
降の作業を実行するようにされる。これに対して、
[2]対応の遅延ヒットフラグがセットされていないと
きには、即ち、フォントキャッシュ5(文字パターンデ
ータ格納領域43)に対応の文字パターンが格納されて
いないときには、ステップS11以降の作業である文字
パターンの展開処理を実行するようにされる。 S6:遅延ヒットフラグがセットされているときの描画
処理;このときには、フォントキャッシュ5(文字パタ
ーンデータ格納領域43)側から、該当の文字コードに
対応するキャッシュエントリを得るようにされる。 S7:LRU遅延処理バッファ20に登録されているキ
ャッシュエントリをLRUリスト61の先頭に移動させ
る。 S8:該LRU遅延処理バッファ20に登録されている
キャッシュエントリから所要の文字パターンを得て、こ
れを文字出力用ページバッファ6にコピーする(即ち、
所要の描画処理を実行する)。このときには、LRU遅
延処理バッファ20に登録されている所定の文字描画情
報に基づいて、文字出力用ページバッファ6の対応の位
置にコピーする。 S9:LRU遅延処理バッファ20について、所定の処
理が終了したものを一つだけクリアする。 S10:次に続くバッファの選択をする。即ち、前記の
ステップS9に続けて、次のバッファが存在するか否か
のチェックがなされ、バッファが存在することが判明し
たときに、このステップS10における作業がなされ
る。これ以降は、前記LRU遅延処理バッファ20に登
録された文字情報がまだ存在するときには、その選択を
してから、ステップS6またはS11以降の処理が施さ
れる。また、該LRU遅延処理バッファ20における描
画処理が完了したときに、処理すべき文字がまだ存在す
れば、ステップS1に戻ってLRU遅延処理バッファ2
0における遅延処理が再開される。これに対して、処理
すべき文字が存在しなければ、印字のための処理が終了
するようにされる。 S11:LRUリスト61における消去候補としてのエ
ントリが選択される。キャッシュヒットが生じなかった
文字の描画のためには、対応の文字パターンを展開する
ための領域が必要であり、このような領域の確保のため
に、LRUリスト61における消去候補としてのエント
リが選択される。 S12:ステップS11において選択されたエントリに
登録されている文字パターンを消去して、該当の領域を
解放する。 S13:所要の文字パターンの展開処理を実行する。こ
こでは、ステップS12で解放された領域を用いて、L
RU遅延処理バッファ20に登録されている描画すべき
文字に対する展開処理がなされる(S13)。そして、
これに対応する文字パターンがフォントキャッシュ5に
登録される。これ以降の処理については、ステップS5
においてヒットしたエントリと同様な処理を実行するた
めに、ステップS7以降の処理を継続するようにされ
る。
【0044】
【発明の効果】以上説明されたように、この発明に係る
フォントキャッシュ制御装置によれば、LRU遅延処理
バッファが設けられており、キャッシュヒットまたはキ
ャッシュミスがあった文字に対するLRUリストの更新
を遅延させることが可能になる。このために、短い期間
内に複数回出現した文字に対するLRUリストの更新を
まとめて実行することが可能にされて、無用なLRUリ
ストの更新を省略することができるという効果が奏せら
れる。また、この発明に係るフォントキャッシュ制御装
置によれば、LRU遅延処理バッファが設けられてお
り、所定の予約フラグを用いるようにされていることか
ら、実際の文字パターンの展開やフォントキャッシュの
更新を遅延させることが可能となり、更に、近い将来に
使用される可能性のある文字の消去を防止することも可
能となる。特に、処理中のフォントキャッシュの状態や
印字すべき文字の出現順に応じて、最適の消去候補を該
フォントキャッシュから選択することができるために、
限られた容量のメモリ資源をもって最適のフォントキャ
ッシュ制御をすることができる。これに加えて、ホスト
側からの特別な指示を何も必要としないという利点もあ
る。
フォントキャッシュ制御装置によれば、LRU遅延処理
バッファが設けられており、キャッシュヒットまたはキ
ャッシュミスがあった文字に対するLRUリストの更新
を遅延させることが可能になる。このために、短い期間
内に複数回出現した文字に対するLRUリストの更新を
まとめて実行することが可能にされて、無用なLRUリ
ストの更新を省略することができるという効果が奏せら
れる。また、この発明に係るフォントキャッシュ制御装
置によれば、LRU遅延処理バッファが設けられてお
り、所定の予約フラグを用いるようにされていることか
ら、実際の文字パターンの展開やフォントキャッシュの
更新を遅延させることが可能となり、更に、近い将来に
使用される可能性のある文字の消去を防止することも可
能となる。特に、処理中のフォントキャッシュの状態や
印字すべき文字の出現順に応じて、最適の消去候補を該
フォントキャッシュから選択することができるために、
限られた容量のメモリ資源をもって最適のフォントキャ
ッシュ制御をすることができる。これに加えて、ホスト
側からの特別な指示を何も必要としないという利点もあ
る。
【図1】この発明の実施例であるフォントキャッシュ制
御装置を中心とする概略的な構成を例示するブロック図
である。
御装置を中心とする概略的な構成を例示するブロック図
である。
【図2】上記実施例であるフォントキャッシュ制御装置
の構成例示図である。
の構成例示図である。
【図3】上記実施例において用いられるLRU遅延処理
バッファ11の構成例示図である。
バッファ11の構成例示図である。
【図4】上記実施例におけるフォントキャッシュ5を管
理するために用いられるエントリのデータ構造の例示図
である。
理するために用いられるエントリのデータ構造の例示図
である。
【図5】上記実施例において、ハッシュテーブル41で
管理されるフォントキャッシュエントリと文字パターン
データおよびLRU遅延処理バッファの関係の例示図で
ある。
管理されるフォントキャッシュエントリと文字パターン
データおよびLRU遅延処理バッファの関係の例示図で
ある。
【図6】上記実施例における動作の説明に用いられる出
力文書51の例示図である。
力文書51の例示図である。
【図7】上記実施例における動作の説明に用いられる例
示図である。
示図である。
【図8】上記実施例における動作の説明に用いられる別
の例示図である。
の例示図である。
【図9】上記実施例における動作の説明に用いられる別
の例示図である。
の例示図である。
【図10】上記実施例における動作の説明に用いられる
別の例示図である。
別の例示図である。
【図11】上記実施例における動作の説明に用いられる
別の例示図である。
別の例示図である。
【図12】上記実施例の動作を説明するためのフローチ
ャートである。
ャートである。
【図13】この発明の(予約フラグが適用される)別の
実施例において用いられるLRU遅延処理バッファ11
の構成例示図である。
実施例において用いられるLRU遅延処理バッファ11
の構成例示図である。
【図14】上記別の実施例におけるフォントキャッシュ
5を管理するために用いられるLRU管理用エントリ3
00のデータ構造の例示図である。
5を管理するために用いられるLRU管理用エントリ3
00のデータ構造の例示図である。
【図15】上記別の実施例において、ハッシュテーブル
41で管理されるLRU管理用エントリ(300A〜3
00C)と対応の文字パターンデータ(43A〜43
C)およびLRU遅延処理バッファ20の間の関係に関
する例示図である。
41で管理されるLRU管理用エントリ(300A〜3
00C)と対応の文字パターンデータ(43A〜43
C)およびLRU遅延処理バッファ20の間の関係に関
する例示図である。
【図16】上記別の実施例における動作の説明に用いら
れる例示図である。
れる例示図である。
【図17】上記別の実施例における動作の説明に用いら
れる例示図である。
れる例示図である。
【図18】上記別の実施例における動作の説明に用いら
れる別の例示図である。
れる別の例示図である。
【図19】上記別の実施例における動作の説明に用いら
れる別の例示図である。
れる別の例示図である。
【図20】上記別の実施例における動作の説明に用いら
れる別の例示図である。
れる別の例示図である。
【図21】上記別の実施例における動作の説明に用いら
れる別の例示図である。
れる別の例示図である。
【図22】上記別の実施例における動作の説明に用いら
れる別の例示図である。
れる別の例示図である。
【図23】上記別の実施例の動作を説明するためのフロ
ーチャートである。
ーチャートである。
【図24】この発明の(ヒット時遅延処理のための)更
に別の実施例において用いられるLRU遅延処理バッフ
ァ12の構成例示図である。
に別の実施例において用いられるLRU遅延処理バッフ
ァ12の構成例示図である。
【図25】上記更に別の実施例における、遅延処理バッ
ファ20と遅延処理用ハッシュテーブル41Aとの関連
の例示図である。
ファ20と遅延処理用ハッシュテーブル41Aとの関連
の例示図である。
【図26】上記更に別の実施例におけるフォントキャッ
シュ5を管理するために用いられるLRU管理用エント
リ400のデータ構造の例示図である。
シュ5を管理するために用いられるLRU管理用エント
リ400のデータ構造の例示図である。
【図27】上記更に別の実施例において、フォントキャ
ッシュ用のハッシュテーブル41Aで管理されるLRU
管理用エントリ(400A〜400C)と対応の文字パ
ターンデータ(43A〜43C)との間の関係に関する
例示図である。
ッシュ用のハッシュテーブル41Aで管理されるLRU
管理用エントリ(400A〜400C)と対応の文字パ
ターンデータ(43A〜43C)との間の関係に関する
例示図である。
【図28】上記更に別の実施例における動作の説明に用
いられる例示図である。
いられる例示図である。
【図29】上記更に別の実施例における動作の説明に用
いられる別の例示図である。
いられる別の例示図である。
【図30】上記更に別の実施例における動作の説明に用
いられる別の例示図である。
いられる別の例示図である。
【図31】上記更に別の実施例における動作の説明に用
いられる別の例示図である。
いられる別の例示図である。
【図32】上記更に別の実施例における動作の説明に用
いられる別の例示図である。
いられる別の例示図である。
【図33】上記更に別の実施例における動作の説明に用
いられる別の例示図である。
いられる別の例示図である。
【図34】上記更に別の実施例の動作を説明するための
フローチャートである。
フローチャートである。
【符号の説明】 1−−文字コード入力受付装置;2−−展開用文字デー
タ記憶装置;3−−文字パターン展開装置;4−−フォ
ントキャッシュ制御装置;5−−フォントキャッシュ;
6−−文字出力用ページバッファ;7−−文字出力装
置。
タ記憶装置;3−−文字パターン展開装置;4−−フォ
ントキャッシュ制御装置;5−−フォントキャッシュ;
6−−文字出力用ページバッファ;7−−文字出力装
置。
Claims (6)
- 【請求項1】キャッシュバッファおよびキャッシュバッ
ファ管理データメモリを備えており、キャッシュヒット
に対応させてキャッシュバッファ管理データを書き換え
ることにより、該キャッシュバッファがフルであるとき
の空き領域作成処理に備える処理を行うことが可能にさ
れたフォントキャッシュ制御装置において、 キャッシュヒット処理遅延バッファ、 キャッシュヒット時にキャッシュヒット処理遅延バッフ
ァに登録を行う手段、および、 一括してキャッシュヒット処理を行う手段、 を含んでなることを特徴とするフォントキャッシュ制御
装置。 - 【請求項2】キャッシュバッファ管理データには予約フ
ラグが含まれており、キャッシュヒット処理遅延バッフ
ァに登録を行う手段は同時に予約フラグをセットするも
のであり、一括してキャッシュヒット処理を行う手段は
その処理に対応させて予約フラグをリセットし、キャッ
シュバッファがフルであるときの空き領域作成処理は、
予約フラグのセットされていないデータエントリのみを
消去の対象とすることを特徴とする、 請求項1に記載のフォントキャッシュ制御装置。 - 【請求項3】キャッシュバッファ、キャッシュバッファ
管理データメモリおよび出力バッファを備えており、要
求されたデータ識別子別に対応するデータを出力バッフ
ァに書き込むようにされた、フォントキャッシュ制御の
機能が随伴されるデータ出力装置のためのフォントキャ
ッシュ制御装置であって、 データのキャッシングを行う装置において、キャッシュ
バッファ管理データを参照して必要なデータの有無を判
断する手段、 キャッシュヒット時にはキャッシュにあるデータを出力
バッファに書き込む手段、 キャッシュミスヒット処理遅延バッファ、 キャッシュミスヒット時にはキャッシュミスヒット処理
遅延バッファに登録する手段、 一括してキャッシュミスヒット処理(データの入力、展
開や出力バッファへの書き込み)を行う手段、 が含まれてなることを特徴とする、フォントキャッシュ
制御の機能が随伴されるデータ出力装置のためのフォン
トキャッシュ制御装置。 - 【請求項4】キャッシュバッファとキャッシュバッファ
管理データメモリとを備えており、キャッシュヒットに
対応させて該キャッシュバッファ管理データメモリ内の
キャッシュバッファ管理データを書き換えることによ
り、キャッシュバッファがフルであるときの空き領域作
成処理に備える処理を実行するフォントキャッシュ制御
装置の適用方法であって、 同じ対象に対するキャッシュヒットが複数回生じたとき
に、該当のキャッシュヒット処理の実行を遅延させるこ
と、 前記同じ対象に対するキャッシュヒットが複数回生じた
ときに、LRU処理遅延バッファに対してその旨を登録
すること、および、 キャッシュヒットが複数回生じた前記同じ対象に対し
て、一括してキャッシュヒット処理を実行すること、 を含んでなることを特徴とする、フォントキャッシュ制
御装置の適用方法。 - 【請求項5】キャッシュバッファ管理データに含まれる
予約フラグのセットは、キャッシュヒット処理遅延バッ
ファに登録を行う手段によって実行されること、 前記予約フラグのリセットは、一括して行われるキャッ
シュヒット処理に対応して実行されること、および、 キャッシュバッファがフルであるときの空き領域作成処
理は、該予約フラグがセットされていないデータエント
リだけを消去の対象として選択されること、 を特徴とする、請求項4に記載のフォントキャッシュ制
御装置の適用方法。 - 【請求項6】キャッシュバッファ、キャッシュバッファ
管理データメモリおよび出力バッファを備えており、要
求されたデータ識別子別に対応するデータを出力バッフ
ァに書き込むようにされた、フォントキャッシュ制御の
機能が随伴されるデータ出力装置のためのフォントキャ
ッシュ制御装置の適用方法であって、 データのキャッシングを実行するときに、キャッシュバ
ッファ管理データを参照して必要なデータの有無を判断
すること、 キャッシュヒット時においては、キャッシュに存在する
データを出力バッファに書き込むこと、 キャッシュミスヒット時においては、その旨をキャッシ
ュミスヒット処理遅延バッファに登録すること、およ
び、 一括してキャッシュミスヒット処理(データの入力、展
開や出力バッファへの書き込み)を実行すること、 が含まれてなることを特徴とする、フォントキャッシュ
制御の機能が随伴されるデータ出力装置のためのフォン
トキャッシュ制御装置の適用方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5100049A JPH06289838A (ja) | 1993-04-05 | 1993-04-05 | フォントキャッシュ制御装置およびその適用方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5100049A JPH06289838A (ja) | 1993-04-05 | 1993-04-05 | フォントキャッシュ制御装置およびその適用方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06289838A true JPH06289838A (ja) | 1994-10-18 |
Family
ID=14263650
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5100049A Pending JPH06289838A (ja) | 1993-04-05 | 1993-04-05 | フォントキャッシュ制御装置およびその適用方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06289838A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1113413A3 (en) * | 1999-12-28 | 2003-03-26 | GE Medical Systems Global Technology Company LLC | Workstation with text font cache |
| US8830247B2 (en) | 2006-05-24 | 2014-09-09 | Nec Display Solutions, Ltd. | Image displaying device having image cache memory |
| US9129205B2 (en) | 2013-07-10 | 2015-09-08 | Kyocera Document Solutions Inc. | Image forming apparatus |
-
1993
- 1993-04-05 JP JP5100049A patent/JPH06289838A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1113413A3 (en) * | 1999-12-28 | 2003-03-26 | GE Medical Systems Global Technology Company LLC | Workstation with text font cache |
| US8830247B2 (en) | 2006-05-24 | 2014-09-09 | Nec Display Solutions, Ltd. | Image displaying device having image cache memory |
| US9129205B2 (en) | 2013-07-10 | 2015-09-08 | Kyocera Document Solutions Inc. | Image forming apparatus |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2000284995A (ja) | データ処理装置及び記録媒体 | |
| JP4344898B2 (ja) | 画像処理装置、画像処理方法、画像形成装置 | |
| EP1035477B1 (en) | Improved cache memory and system | |
| US7634517B1 (en) | System and method for dynamically updating a document repository without interrupting concurrent querying | |
| JPH06289838A (ja) | フォントキャッシュ制御装置およびその適用方法 | |
| US7617226B1 (en) | Document treadmilling system and method for updating documents in a document repository and recovering storage space from invalidated documents | |
| JP2974322B2 (ja) | 文字処理装置及び方法 | |
| JP2933486B2 (ja) | データベースの同時全件検索方法 | |
| JP2000250518A (ja) | 文字処理装置及び文字データの処理方法、並びに記憶媒体 | |
| JP3473287B2 (ja) | フォント管理装置 | |
| JP4131579B2 (ja) | データ管理システムおよびデータ管理方法 | |
| JPH02234287A (ja) | フオントパターン生成装置 | |
| JPH05261983A (ja) | 文字データ管理装置 | |
| JPH08263044A (ja) | 文字処理装置 | |
| JPH06266623A (ja) | キャッシュメモリ及びキャッシュメモリ制御方法 | |
| JPH06183093A (ja) | プリント装置 | |
| JPH03113492A (ja) | 文書処理装置 | |
| JPH0273455A (ja) | 文字処理方式 | |
| JPH08194702A (ja) | 情報処理装置及びその文字キャッシュ方法 | |
| JPH0659831A (ja) | フォントキャッシュ制御装置 | |
| JPH1131148A (ja) | 全文検索装置およびその方法 | |
| JPH06175636A (ja) | 文書処理装置 | |
| JPH1016319A (ja) | プリントデータ展開装置 | |
| JP2002007096A (ja) | キャッシュメモリ制御装置 | |
| JPH05143463A (ja) | キヤツシユメモリ装置 |