JPH06289838A - Font cache controller and its applying method - Google Patents
Font cache controller and its applying methodInfo
- 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
Landscapes
- Record Information Processing For Printing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】この発明はフォントキャッシュ制
御装置およびその適用方法に関するものであり、特に、
ある所要の文字を印字処理して表示するために用いられ
る装置において、限られた容量のフォントキャッシュを
有効に活用するとともに、当該フォントキャッシュにお
けるLRU処理の負荷を軽減させ、その印字処理を高速
に実行することが可能にされたフォントキャッシュ制御
装置およびその適用方法に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a font cache control device and its application method, and
In a device used for printing and displaying a certain required character, the font cache with a limited capacity is effectively used, the load of the LRU process in the font cache is reduced, and the printing process is performed at high speed. The present invention relates to a font cache control device that can be executed and a method of applying the same.
【0002】[0002]
【従来の技術】この種のフォントキャッシュ制御は従来
から次のような手法をもって実施されていた。即ち、 第1処理ステップ:印字すべき文字コードを受け入れ
て、これに対応する文字パターンデータが関連のフォン
トキャッシュに存在するか否かをチェックする。 第2処理ステップ:所要の文字パターンデータが関連の
フォントキャッシュに存在するときには、該文字パター
ンデータが対応の印字処理のために用いられる。 第3処理ステップ:所要の文字パターンデータが関連の
フォントキャッシュに存在しないときには、これに対応
する文字パターンデータの展開を改めて実行する。な
お、このときに、関連のフォントキャッシュに空きがあ
ると、この空きに前記の展開された文字パターンデータ
を格納する。 第4処理ステップ:前記第3処理ステップにおいて関連
のフォントキャッシュに空きがなかった(即ち、当該フ
ォントキャッシュがフルの状態にあった)ときには、該
フォントキャッシュに格納されている文字パターンデー
タの中で最後の参照の時期が最も古いものを消去し、こ
れによって空きにされた領域に前記第3処理ステップに
おいて展開された文字パターンデータを格納する。2. Description of the Related Art This type of font cache control has been conventionally implemented by the following method. That is, the first processing step: the character code to be printed is accepted, and it is checked whether or not the character pattern data corresponding to it is present in the associated font cache. Second processing step: When the required character pattern data exists in the associated font cache, the character pattern data is used for the corresponding printing process. Third processing step: When the required character pattern data does not exist in the associated font cache, the expansion of the corresponding character pattern data is executed again. At this time, if there is a free space in the associated font cache, the expanded character pattern data is stored in this free space. Fourth processing step: When there is no space in the related font cache in the third processing step (that is, the font cache is full), the character pattern data stored in the font cache The oldest reference time is erased, and the character pattern data developed in the third processing step is stored in the area vacated by this.
【0003】一般的にいえば、前述の第4処理ステップ
においてはLRUアルゴリズム(対象のフォントキャッ
シュに格納されている文字パターンデータの中で、最後
の参照の時期が最も古いものから消去していく手法)が
適用される。ところで、このようなLRU処理を厳密に
実行するときには、当該処理の対象になるフォントキャ
ッシュはいわゆる双方向のリスト構造をもって管理され
ることから、最近に参照された文字コードに対応する文
字パターンデータは、前記フォントキャッシュの先頭位
置に移動して格納されることになり、この結果として、
その消去が最も困難なものにされる。そして、このよう
なLRU処理について認められることは、参照の可能性
が高いものをフォントキャッシュに格納し続けるために
は有効な手法であるということである。しかしながら、
ある所定の1文字を描画する毎に前記のLRU処理が実
行されるために、例えば比較的短期間に同じ文字が続け
て描画されるような場合等においては、消去される可能
性が全くないLRU順位にある文字であってもその順位
が順次更新されることになり、その結果として本来の印
字処理の高速化という目標に合わなくなってしまう。Generally speaking, in the above-mentioned fourth processing step, the LRU algorithm (of the character pattern data stored in the target font cache, the one with the oldest last reference time is deleted. Method) is applied. By the way, when such LRU processing is strictly executed, since the font cache which is the target of the processing is managed by a so-called bidirectional list structure, the character pattern data corresponding to the character code recently referred to is not stored. , Will be moved to the head position of the font cache and stored. As a result,
Its elimination is made the most difficult. What is admitted about such LRU processing is that it is an effective method for keeping what is highly likely to be referenced in the font cache. However,
Since the LRU process is executed every time a certain predetermined character is drawn, there is no possibility of erasing in the case where the same character is continuously drawn in a relatively short period of time. Even for a character in the LRU rank, the rank is sequentially updated, and as a result, the original goal of speeding up the printing process cannot be met.
【0004】例えば、特開平3−48285号公報[文
字処理系におけるフォントキャッシュ制御方式]には、
文字パターンデータを格納すべき領域がなくなった場合
に、それまでに格納されたデータを全て消去する(即
ち、それまでのデータを全て初期化する)ことが従来技
術として記述されており、このような従来技術における
欠点を解消するために、文字パターンデータが格納され
るデータ領域を分割管理して、無駄に消去されるデータ
を少なくすることが提案されている。また、これとは別
の特開平3−48286号公報[文字処理系におけるフ
ォントキャッシュ制御方式]においては、前述された特
開平3−48285号公報におけると同じ従来技術の欠
点を解消するため、文字パターンデータが格納されるべ
きデータ領域がなくなったときに、その格納用の領域の
先頭から消去することが提案されている。ところが、上
記されたいずれのやり方にしても、頻繁に用いられてい
ることが明かな文字パターンデータでも関連のフォント
キャッシュから消去されてしまうことになり、後からの
使用が必要になったときには、消去された文字と同じも
のを改めて展開することが必要になる可能性がある。こ
のために、従来から一般的に用いられているLRU処理
の手法に比べて、そのヒット率が低下してしまう恐れが
ある。なお、前記されたこの種の技術に関連して、前述
された2件の文献以外に、次のものを参考文献として挙
げることができる。即ち、特開平2−47078号公報
[印刷装置];特開平2−63759号公報[出力装
置];特開平3−111890号公報[出力装置];お
よび特開平3−149615号公報[印刷装置]を参考
文献として挙げることができる。これらの文献によれ
ば、フォントキャッシュに格納すべき文字の範囲をホス
ト側から指定する手法がとられている。これらの文献に
開示された技術によれば、出力すべき対象としての文書
に適合した態様で制御をすることが可能であるけれど
も、ホスト側においては、出力すべき文書に合わせて、
格納すべき文字の範囲を頻繁に更新することが必要であ
り、これを怠ると必要な文字がフォントキャッシュに格
納されないという事態が生じる恐れがある。ところで、
別の参考文献である特開平2−202463号公報[印
刷装置]において提案されている技術的事項は、文字デ
ータを所定の単位(例えば、ページ)をもって受信し、
この所定の単位に含まれている文字毎の出現頻度に基づ
いて、フォントキャッシュに格納すべき文字を定めるこ
とである。しかるに、このようなやり方によるときに
は、文字毎の出現頻度を求めるために施される処理が、
対象とする文字の個数の増加に応じて増大することとな
り、ある所定の単位としてのページに含まれた文字の出
力に続けて、後続のページに含まれた文字の出力までの
無用の待ち時間が生じる可能性がある。更に、この参考
文献においては、格納すべき文字数や種類に対してフォ
ントキャッシュの容量が少ない場合や、出現してくる文
字の順番に関する対応策について、さしたる考慮がなさ
れていない。For example, Japanese Patent Laid-Open No. 3-48285 [Font cache control system in character processing system]
It has been described as a conventional technique to erase all the data stored up to that point (that is, initialize all the data up to that point) when there is no more area to store the character pattern data. In order to solve the drawbacks of the conventional art, it has been proposed to divide and manage a data area in which character pattern data is stored to reduce the amount of data that is unnecessarily erased. Further, in another Japanese Patent Laid-Open No. 3-48286 [Font cache control system in character processing system], in order to solve the same drawbacks of the prior art as in Japanese Patent Laid-Open No. 3-48285 described above, When there is no more data area in which the pattern data should be stored, it has been proposed to erase from the beginning of the storage area. However, with any of the above methods, even if it is clear that frequently used character pattern data will be erased from the related font cache, when it becomes necessary to use it later, It may be necessary to re-expand the same erased characters. Therefore, the hit rate may be lower than that of the LRU processing method that has been generally used conventionally. In addition to the above-mentioned two documents, the following documents can be cited as reference documents in relation to the above-mentioned technique of this type. That is, JP-A-2-47078 [printing device]; JP-A-2-63759 [output device]; JP-A-3-111890 [output device]; and JP-A-3-149615 [printing device]. Can be cited as a reference. According to these documents, a method of specifying a range of characters to be stored in the font cache from the host side is adopted. According to the techniques disclosed in these documents, it is possible to perform control in a manner suitable for the document to be output, but on the host side, in accordance with the document to be output,
It is necessary to frequently update the range of characters to be stored, and if this is not done, the necessary characters may not be stored in the font cache. by the way,
A technical matter proposed in another reference, Japanese Patent Laid-Open No. 2-202463 [printing device], is that character data is received in a predetermined unit (for example, page),
The character to be stored in the font cache is determined based on the appearance frequency of each character included in the predetermined unit. However, when using such a method, the processing performed to obtain the appearance frequency for each character is
It increases as the number of target characters increases, and after the output of the characters contained in a page as a certain unit, the unnecessary waiting time until the output of the characters contained in the subsequent page. May occur. Further, in this reference, no consideration is given to the case where the capacity of the font cache is small with respect to the number and types of characters to be stored, and the countermeasure for the order of the characters that appear.
【0005】[0005]
【発明が解決しようとする課題】上記された従来のこの
種の技術には次のような問題点があった。即ち、対象の
フォントキャッシュに文字パターンデータの格納のため
の空きスペースがないときに一般的に適用されているL
RUアルゴリズムによれば、参照の可能性が高いものを
該フォントキャッシュに継続して格納しておくことは有
効であるけれども、ある所定の1文字を描画する毎に前
記のLRUアルゴリズムに基づく処理が実行されるため
に、消去される可能性が全くないLRU順位にある文字
であってもその順位が順次更新される場合があり、その
結果として本来の印字処理の高速化という目標に合わな
くなるという問題点があった。また、別に提案された事
項として、[1]文字パターンデータを格納すべき領域
がなくなった場合に、文字パターンデータが格納される
データ領域を分割管理することにより、無駄に消去され
るデータを少なくすること;および、[2]同じく文字
パターンデータを格納すべき領域がなくなった場合に、
その格納用の領域の先頭から消去すること;があるが、
このいずれのやり方にしても、頻繁に用いられているこ
とが明かな文字パターンデータでも関連のフォントキャ
ッシュから消去されてしまうことになり、後からの使用
が必要になったときに、消去された文字と同じものを改
めて展開することが必要になる可能性があることから、
前記従来より一般的に用いられているLRU処理の手法
に比べてヒット率が低下する恐れがあるという問題点が
あった。The above-mentioned conventional technique of this kind has the following problems. That is, L that is generally applied when there is no free space for storing character pattern data in the target font cache.
According to the RU algorithm, it is effective to continuously store those that are highly likely to be referred to in the font cache, but the process based on the LRU algorithm is executed every time a certain predetermined character is drawn. Since the characters are in the LRU order that is never erased because of being executed, the order may be updated sequentially, and as a result, the original goal of speeding up the printing process may not be met. There was a problem. Also, as another separately proposed item, [1] by managing the data area for storing the character pattern data in a divided manner when the area for storing the character pattern data is exhausted, it is possible to reduce unnecessary data to be deleted. And [2] when there is no more area for storing character pattern data,
Delete from the beginning of the storage area;
With either of these methods, even character pattern data that is frequently used will be erased from the associated font cache, and will be erased when it becomes necessary to use it later. Since it may be necessary to expand the same character again,
There is a problem in that the hit rate may be lower than that of the LRU processing method that is generally used in the past.
【0006】この発明は上記された問題点を解決するた
めになされたものであって、LRU遅延処理用のバッフ
ァを設けておくことにより、フォントキャッシュにヒッ
トしたときには対応のLRU処理を遅延させることが可
能にされ、また、当該バッファがフルになったり、フォ
ントキャッシュにミスヒットしたりして、該フォントキ
ャッシュから消去すべき候補の選択のために必要が生じ
たときにLRU処理を実行するようにされ、LRU遅延
処理中に複数回ヒットした文字コードに対するLRU処
理を1回で行うことができるようにされて、無駄なLR
U処理の実行回数を減少させるとともに、その印字性能
を大幅に向上させることを目的とするものである。ま
た、同様にLRU遅延処理用のバッファを設けておくこ
とにより、フォントキャッシュにミスヒットしたときに
該フォントキャッシュから消去すべき候補の選択とその
消去のための処理とを遅延させて、当該バッファがフル
になるまで処理を進めることが可能になり、ヒットしな
かった文字の文字パターンを格納するための領域確保の
ために、近い将来において再使用される可能性のある文
字パターンが消去されてしまうことを防止することによ
り、その印字性能を大幅に向上させることをも目的とす
るものである。The present invention has been made to solve the above-mentioned problems, and by providing a buffer for LRU delay processing, when the font cache is hit, the corresponding LRU processing is delayed. Is enabled, and the LRU processing is executed when the buffer becomes full or the font cache is mis-hit and it is necessary to select a candidate to be erased from the font cache. The LRU processing is performed so that the LRU processing for the character code hit multiple times during the LRU delay processing can be performed once, resulting in wasteful LR.
The purpose of the present invention is to reduce the number of times the U process is executed and to significantly improve the printing performance. Similarly, by providing a buffer for LRU delay processing, the selection of a candidate to be erased from the font cache and the processing for erasing the same are delayed when a miss hit occurs in the font cache, and the buffer is delayed. It becomes possible to proceed until it becomes full, and in order to secure the area to store the character pattern of the character that did not hit, the character pattern that may be reused in the near future is deleted. It is also an object to significantly improve the printing performance by preventing the printing.
【0007】[0007]
【課題を解決するための手段】この発明は上記の目的を
果たすためになされたものであり、この発明に係るフォ
ントキャッシュ制御装置は、キャッシュバッファおよび
キャッシュバッファ管理データメモリ(4B)を備えて
おり、キャッシュヒットに対応させてキャッシュバッフ
ァ管理データを書き換えることにより、該キャッシュバ
ッファがフルであるときの空き領域作成処理に備える処
理を行うことが可能にされたフォントキャッシュ制御装
置において、キャッシュヒット処理遅延バッファ(4
E)と、キャッシュヒット時にLRU処理遅延バッファ
に登録を行う手段(4C)と、一括してキャッシュヒッ
ト処理を行う手段(4D)とを含んでなることを特徴と
するものである。この発明に係る別のフォントキャッシ
ュ制御装置は、キャッシュバッファ管理データには予約
フラグが含まれており、キャッシュヒット処理遅延バッ
ファに登録を行う手段(4C)は同時に予約フラグをセ
ットするものであり、一括してキャッシュヒット処理を
行う手段(4D)はその処理に対応させて予約フラグを
リセットし、キャッシュバッファがフルであるときの空
き領域作成処理は、予約フラグのセットされていないデ
ータエントリのみを消去の対象とすることを特徴とする
ものである。この発明に係る更に別のフォントキャッシ
ュ制御装置は、キャッシュバッファ、キャッシュバッフ
ァ管理データメモリ(4B)および出力バッファを備え
ており、要求されたデータ識別子別に対応するデータを
出力バッファに書き込むようにされた、フォントキャッ
シュ制御の機能が随伴されるデータ出力装置のためのフ
ォントキャッシュ制御装置であって、データのキャッシ
ングを行う際にキャッシュバッファ管理データを参照し
て必要なデータの有無を判断する手段(4A)と、キャ
ッシュヒット時にはキャッシュにあるデータを出力バッ
ファに書き込む手段(4D)と、キャッシュミスヒット
処理遅延バッファ(4H)と、キャッシュミスヒット時
にはキャッシュミスヒット処理遅延バッファに登録する
手段(4C)と、一括してキャッシュミスヒット処理
(データの入力、展開や出力バッファへの書き込み)を
行う手段(4G)とが含まれてなることを特徴とするも
のである。The present invention has been made to achieve the above object, and a font cache control device according to the present invention comprises a cache buffer and a cache buffer management data memory (4B). In a font cache control device capable of preparing for a free area creating process when the cache buffer is full by rewriting the cache buffer management data in response to a cache hit, a cache hit processing delay Buffer (4
E), a unit (4C) for registering in the LRU processing delay buffer at the time of a cache hit, and a unit (4D) for collectively performing the cache hit process. In another font cache control device according to the present invention, the cache buffer management data includes a reservation flag, and the means (4C) for registering in the cache hit processing delay buffer sets the reservation flag at the same time. The means (4D) for collectively performing the cache hit processing resets the reservation flag corresponding to the processing, and the free area creation processing when the cache buffer is full only includes the data entries for which the reservation flag is not set. It is characterized by being an object of erasure. Still another font cache control device according to the present invention comprises a cache buffer, a cache buffer management data memory (4B) and an output buffer, and writes the corresponding data for each requested data identifier in the output buffer. A font cache control device for a data output device accompanied by a font cache control function, and means for determining the presence or absence of necessary data by referring to the cache buffer management data when caching the data (4A ), A means (4D) for writing data in the cache to the output buffer at the time of a cache hit, a cache mishit processing delay buffer (4H), and a means (4C) for registering in the cache mishit processing delay buffer at the time of a cache miss. , Collectively Gerhard miss processing (input of data, writing to the deployment or output buffer) is characterized in that comprising contains means for performing (4G).
【0008】[0008]
【作用】この発明に係るフォントキャッシュ制御装置
は、付属のキャッシュバッファがフルであるときの空き
領域を効率的に作成できるようにされており、キャッシ
ュヒットが生じたときに対応する処理を遅延させるため
の手段であるキャッシュヒット処理遅延バッファと、前
記キャッシュヒットが生じたときにその旨を登録してお
くための手段である(LRU)処理遅延バッファ登録部
と、前記のように登録されたものを一括してキャッシュ
ヒット処理を行うための手段とを含んでなることを特徴
とするものである。このような特徴をもって構成された
この発明に係るフォントキャッシュ制御装置によれば、
キャッシュバッファに空き領域を生成させるべき時点の
例えば直前において、必要なキャッシュヒット処理を一
括して行うことが可能となり、それだけ当該装置の使用
効率が向上するという利点がもたらされる。また、この
発明に係る別のフォントキャッシュ制御装置において
は、キャッシュバッファ管理データに含まれる予約フラ
グのセットは、キャッシュヒット処理遅延バッファに登
録を行う手段によって実行されること、一括して行われ
るキャッシュヒット処理に対応して前記予約フラグのリ
セットが実行されること、および、キャッシュバッファ
がフルであるときの空き領域作成処理は、該予約フラグ
がセットされていないデータエントリだけを消去の対象
として選択・実行されることを特徴とするものである。
このような特徴をもって構成されたこの発明に係る別の
フォントキャッシュ制御装置によれば、例えば通常のL
RU処理では消去の候補にされてしまうものであって
も、前記の予約フラグが立てられたものは当該消去の候
補から外されることになり、将来に必要となりそうなも
のが無駄に消去されてしまうという危険性が軽減される
という利点がある。そして、この発明に係る更に別のフ
ォントキャッシュ制御装置は、フォントキャッシュ制御
の機能が随伴されるデータ出力装置のためのフォントキ
ャッシュ制御装置であって、データのキャッシングを行
う際にキャッシュバッファ管理データを参照して必要な
データの有無を判断すること、キャッシュヒットが生じ
た時にはキャッシュに存在するデータを出力バッファに
書き込むこと、キャッシュミスヒットが生じた時にはそ
の旨をキャッシュミスヒット処理遅延バッファに登録す
ること、および、前記のように生じたキャッシュミスヒ
ットについて、一括して該当のキャッシュミスヒット処
理(データの入力、展開や出力バッファへの書き込み)
を実行することが含まれてなることを特徴とするもので
ある。このような特徴をもって構成されたこの発明に係
る更に別のフォントキャッシュ制御装置によれば、キャ
ッシュミスヒットが生じる度に対象とするフォントに必
要な展開処理等を施すことがなくなり、必要なキャッシ
ュミスヒット処理を一括して行うことが可能となり、そ
れだけ当該装置の使用効率が向上するという利点がもた
らされる。The font cache control device according to the present invention is capable of efficiently creating a free area when the attached cache buffer is full, and delays the corresponding processing when a cache hit occurs. A cache hit processing delay buffer which is a means for storing the cache hit processing delay buffer, a means (LRU) processing delay buffer registration unit which is a means for registering the fact that the cache hit occurs, and the one registered as described above. And a means for collectively performing cache hit processing. According to the font cache control device of the present invention configured with such characteristics,
The necessary cache hit processing can be collectively performed immediately before, for example, the time when the empty area should be generated in the cache buffer, and the advantage that the usage efficiency of the device is improved accordingly is brought about. Further, in another font cache control device according to the present invention, the setting of the reservation flag included in the cache buffer management data is executed by the means for registering in the cache hit processing delay buffer, and the cache executed collectively. The reservation flag is reset in response to the hit processing, and the free area creation processing when the cache buffer is full selects only the data entry for which the reservation flag is not set as the erasure target. -It is characterized by being executed.
According to another font cache control device of the present invention having such a feature, for example, a normal L
Even if the candidate is to be erased in the RU process, the one to which the reservation flag is set will be removed from the candidate to be erased, and the one that is likely to be needed in the future will be unnecessarily erased. There is an advantage that the risk of being lost is reduced. Further, another font cache control device according to the present invention is a font cache control device for a data output device accompanied by a font cache control function, which stores cache buffer management data when caching data. Refer to determine whether there is necessary data, write data existing in the cache to the output buffer when a cache hit occurs, and register the fact to the cache miss hit processing delay buffer when a cache miss hit occurs. And, for the cache mishits that occurred as described above, the corresponding cache mishit processing is performed collectively (data input, expansion and writing to the output buffer).
Is included. According to still another font cache control device of the present invention configured as described above, it is not necessary to perform a necessary expansion process or the like on a target font every time a cache miss hit occurs, and a necessary cache miss is performed. The hit processing can be collectively performed, and the use efficiency of the device is improved accordingly.
【0009】[0009]
【実施例】図1は、この発明の実施例であるフォントキ
ャッシュ制御装置を中心とする概略的な構成を例示する
ブロック図である。この図1において、文字コード入力
受付装置1は、例えば外部適所に設けられたホスト装置
(図示されない)から伝送される所要の文字コード入力
を受け付けるためのものである。展開用文字データ記憶
装置2は、例えば大容量低速動作型の記憶装置であって
もよく、展開のために用いられる文字データ(情報)が
格納されている。文字パターン展開装置3は、前記展開
用文字データ記憶装置2から取り出された文字データ
(情報)について、対応の文字パターンに展開するため
のものである。フォントキャッシュ制御装置4はこの発
明の中心的な装置であり、これについては、図2を参照
しながら後述する。フォントキャッシュ5は、小容量高
速動作型の記憶装置あればよく、過去において展開され
た文字コードに対応する文字パターンデータが、その容
量分だけ記憶されるものである。文字出力用ページバッ
ファ6は、文字パターン展開装置3またはフォントキャ
ッシュ5からの文字パターンデータに基づく出力イメー
ジが、フォントキャッシュ制御装置4の制御下で出力す
るためにページ単位で一時的に格納されるものである。
そして、文字出力装置7は、前記文字出力用ページバッ
ファ6において所要の処理・格納がなされているページ
単位の出力イメージが、可視的に出力・表示されるもの
である。DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a block diagram illustrating a schematic configuration centering on a font cache control device according to an embodiment of the present invention. In FIG. 1, the character code input acceptance device 1 is for accepting a required character code input transmitted from, for example, a host device (not shown) provided at an appropriate external location. The expansion character data storage device 2 may be, for example, a large-capacity low-speed operation storage device, and stores character data (information) used for expansion. The character pattern expansion device 3 is for expanding the character data (information) extracted from the expansion character data storage device 2 into a corresponding character pattern. The font cache control device 4 is the central device of the present invention, which will be described later with reference to FIG. The font cache 5 may be a small-capacity, high-speed operation type storage device, and the character pattern data corresponding to the character code developed in the past is stored by the amount. In the character output page buffer 6, an output image based on the character pattern data from the character pattern expansion device 3 or the font cache 5 is temporarily stored in page units for output under the control of the font cache control device 4. It is a thing.
The character output device 7 visibly outputs and displays an output image in page units, which is processed and stored in the character output page buffer 6 as required.
【0010】図2は、前記図1における中心的な装置で
あるフォントキャッシュ制御装置4の構成例示図であ
る。この図2において、キャッシュバッファ管理部4A
は、フォントキャッシュ5(図1)における文字パター
ンデータについて、作成・登録・格納・削除等の種々の
管理業務を負担するものである。キャッシュバッファ管
理データメモリ4Bは、前記フォントキャッシュ5の管
理業務を遂行するために必要な各種のデータを格納して
いるものであり、例えば、後述されるような予約フラグ
等がここに含まれている。処理遅延バッファ登録部4C
は、ヒットやミスヒットが生じたキャッシュについて、
対応の処理を遅延させるべきものが登録されるものであ
る。データ入出力部4Dは、フォントキャッシュ5と文
字出力用ページバッファ6(図1)とを仲介するもので
あり、前者であるフォントキャッシュ5において選択さ
れたある所定の文字パターンデータを受け入れて、後者
である文字出力用ページバッファ6に向けて出力させる
ものである。キャッシュヒット一括処理部4Eは、ヒッ
トが生じたキャッシュにおける複数の同じ文字パターン
データについて、必要な処理を一括して施すものであ
る。キャッシュヒット処理遅延バッファ4Fは、ヒット
が生じたキャッシュにおける複数の同じ文字パターンデ
ータについて、後での一括処理のために一時的に格納し
ておくものである。キャッシュミス一括処理部4Gは、
ミスヒットが生じたキャッシュにおける複数の同じ文字
パターンデータについて、必要な処理を一括して施すも
のである。そして、キャッシュミス処理遅延バッファ4
Hは、ミスヒットが生じたキャッシュにおける複数の同
じ文字パターンデータについて、後での一括処理のため
に一時的に格納しておくものである。FIG. 2 is a block diagram showing the configuration of the font cache control device 4, which is the central device in FIG. In FIG. 2, the cache buffer management unit 4A
Is responsible for various management tasks such as creation, registration, storage, and deletion of the character pattern data in the font cache 5 (FIG. 1). The cache buffer management data memory 4B stores various kinds of data necessary for performing the management work of the font cache 5, and includes, for example, a reservation flag as will be described later. There is. Processing delay buffer registration unit 4C
Is a cache that has hits and misses,
The one that should delay the corresponding processing is registered. The data input / output unit 4D acts as an intermediary between the font cache 5 and the character output page buffer 6 (FIG. 1), and receives certain predetermined character pattern data selected in the former font cache 5, and the latter. Is output to the character output page buffer 6. The cache hit batch processing unit 4E collectively performs necessary processing on a plurality of the same character pattern data in the cache where the hit occurs. The cache hit processing delay buffer 4F temporarily stores a plurality of the same character pattern data in the cache in which a hit has occurred, for later batch processing. The cache miss batch processing unit 4G
The necessary processing is collectively performed on a plurality of the same character pattern data in the cache where the mishit has occurred. Then, the cache miss processing delay buffer 4
H is for temporarily storing a plurality of the same character pattern data in the cache in which a mishit has occurred for later batch processing.
【0011】図3は、上記実施例において用いられるL
RU遅延処理バッファ20の構成例示図である。この図
3において、LRU遅延処理バッファ20には複数個の
ポインタ格納部21が設けられており、それぞれのポイ
ンタ格納部21に格納されたポインタは、LRU遅延処
理が実行されている文字パターンデータが格納されたフ
ォントキャッシュ5(図1)に対するものである。この
LRU遅延処理バッファ20において管理することがで
きる文字数は、通常は上記実施例において用いられるメ
モリ資源の大きさ等を考慮して定まるものであるが、前
記フォントキャッシュ5のエントリ数と同じであるか、
または、これよりも少数であるようにすることが好適で
ある。FIG. 3 shows the L used in the above embodiment.
FIG. 3 is a diagram illustrating a configuration example of a RU delay processing buffer 20. In FIG. 3, the LRU delay processing buffer 20 is provided with a plurality of pointer storage units 21, and the pointers stored in the respective pointer storage units 21 are character pattern data on which the LRU delay processing is executed. It is for the stored font cache 5 (FIG. 1). The number of characters that can be managed in the LRU delay processing buffer 20 is normally determined in consideration of the size of memory resources used in the above embodiment, but is the same as the number of entries in the font cache 5. Or
Alternatively, it is preferable that the number is smaller than this.
【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ずつ増加させ
るものを採用することもできる。FIG. 4 is a view showing an example of the data structure of the LRU management entry 30 used for managing the font cache 5 in the above embodiment. In FIG. 4, the LRU management entry 30 includes a character information (eg, character code) storage unit 31 corresponding to a character pattern stored in the font cache 5, a front pointer storage unit 32 for LRU management, and a LRU management Back pointer storage section 33; a pointer storage section 34 for the corresponding character pattern data; and an LRU process identifier storage section 35; Here, the LRU processing identifier is LR.
This is a value to be set in the entry that has updated the rank of the LRU list during U update processing, and is the LRU of a predetermined one cycle
It is updated prior to performing the update process. This is an exclusive value that identifies an entry updated in the LRU update processing in one cycle and an entry updated in another cycle. As such an LRU process identifier, it is also possible to adopt, for example, an integer that increases a sufficiently large range by one.
【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に対応するものである。FIG. 5 shows an LRU management entry (30A) managed by the hash table 41 in the above embodiment.
Character pattern data (43A to 43C) corresponding to
FIG. 6 is an exemplary diagram regarding a relationship between C) and the LRU delay processing buffer 20. Note that the hash table here is a table for associating the key with a certain character code or the like as a key, and an entry that may be stored. It is performed by a predetermined calculation formula called a hash function. For example, assuming that the character [A] corresponds to the character code 40, the corresponding entry is at the 40th in the table. If the character [A] is actually registered at the 40th, [hit] If this is not registered, it will be judged as [miss hit]. And
The hash table here has an auxiliary data structure for determining cache hit / miss hit, and is limited to this hash table as long as it can provide a similar function. Although not a thing, this kind of hash table is generally used for the above-mentioned purpose. The hash table itself is a collection of pointers that point to the associated cache entries. In FIG. 5, the LRU management entry (3 that corresponds to the font cache entry (LRU list) is used.
0A to 30C) manage the erasure candidate entries in the case of a cache miss with a bidirectional list structure. The list of erasure candidate entries is managed by the LRU algorithm, and the character patterns stored in the font cache are referred to and are linked in the order of new reference to old reference. That is, the most recently referenced character (corresponding to the character pattern data 43A) is at the head of the list by the pointer 32A to the LRU management head entry, and the character of the oldest reference time (character pattern data 43C) is used. (Corresponding to) is designated as an erasure candidate by the pointer 33A to the LRU management final entry. In FIG. 5, the upper and lower two cache entries registered in the LRU delay processing buffer 20 designate a single cache entry. That is, a certain same character is designated. Further, the character pattern data storage area 43 shown in FIG. 5 functionally corresponds to the font cache 5 in FIG.
【0014】図6は、上記実施例における動作の説明に
用いられる出力文書50の例示図である。そして、この
図6における出力文書50には次のような文章が記載さ
れている。[近年における電子技術の進歩は、既存通信
メディアの普及・発展に大きな役割を果たすとともに、
社会・経済活動などの周辺環境の進展に伴う多種多様な
新しい通信に対する需要に応じ、多様な発展を遂げてき
た。これは、]FIG. 6 is an exemplary diagram of the output document 50 used for explaining the operation in the above embodiment. The output document 50 in FIG. 6 includes the following sentences. [Recent advances in electronic technology play a major role in the spread and development of existing communication media,
It has achieved various developments in response to the demand for a wide variety of new communications accompanying the development of the surrounding environment such as social and economic activities. this is,]
【0015】図7は、上記実施例における動作の説明に
用いられる例示図である。この図7は、前記図5を簡略
化して示したものであって、ハッシュテーブル41は省
略されており、ある所定の桁数(ここでは10桁である
が、実際にはこれよりも多くされる)のLRU遅延処理
バッファ20とある一定数のキャッシュエントリ(LR
Uリスト)61とから構成されている。ここでのキャッ
シュエントリ61は、前記図5においてリスト構造にさ
れているLRU管理用エントリ(30A〜30C)に対
応するものである。そして、この図6で示された状態に
おいては、前記図1のフォントキャッシュ5に対応する
文字パターンデータ格納領域43は既にフルの状態にあ
り、「[な][ど][周]・・・[の][進][展]」
のような文字に対応する文字パターンデータがフルに格
納されている。FIG. 7 is an exemplary diagram used for explaining the operation in the above embodiment. FIG. 7 shows a simplified version of FIG. 5, in which the hash table 41 is omitted, and there is a predetermined number of digits (here, 10 digits, but actually there are more digits than this. LRU delay processing buffer 20 and a certain number of cache entries (LR
U list) 61. The cache entry 61 here corresponds to the LRU management entries (30A to 30C) having the list structure in FIG. In the state shown in FIG. 6, the character pattern data storage area 43 corresponding to the font cache 5 in FIG. 1 is already full, and "[na] [do] [circle] ... [No] [Summer] [Exhibition] "
Character pattern data corresponding to characters such as is fully stored.
【0016】図8は、上記実施例における動作の説明に
用いられる別の例示図である。この図8においては、
[な][ど][の][周][辺][環][境][の]
[進][展]の都合10文字分がLRU遅延処理バッフ
ァ20を満たすように格納されている。そして、ここで
の10文字分の文字パターンはキャッシュにヒットして
おり、特に、[の]に対応する文字パターンは連続して
ヒットしていることが示されている。FIG. 8 is another illustrative view used for explaining the operation in the above embodiment. In this FIG.
[Na] [do] [no] [circle] [side] [ring] [boundary] [no]
Ten characters of [advance] and [extend] are stored so as to fill the LRU delay processing buffer 20. It is shown that the character pattern of 10 characters here hits the cache, and in particular, the character pattern corresponding to [no] hits continuously.
【0017】図9は、上記実施例における動作の説明に
用いられる別の例示図である。この図9においては、前
記図8に示された状態から後でヒットしない文字パター
ンが出現して、所要のLRU処理を施すようにされてい
る。ここでは、3文字分のLRUリスト61が更新され
て、それぞれのキャッシュエントリのLRU処理識別子
も更新されたことが示されている。なお、このことは、
図9におけるLRUリスト61の右側からみて3個にシ
ェードを施すことによって示されている。FIG. 9 is another exemplary diagram used for explaining the operation in the above embodiment. In FIG. 9, a character pattern that does not hit later appears from the state shown in FIG. 8 and a required LRU process is performed. Here, it is shown that the LRU list 61 for three characters is updated, and the LRU processing identifier of each cache entry is also updated. In addition, this is
This is shown by shading three LRU lists 61 in FIG. 9 as viewed from the right side.
【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遅延処理が行われて後処理が再度開始された時点では
別の値をとるものであり、このために上記のような処理
が可能になる。FIG. 10 is another illustrative view used for explaining the operation in the above embodiment. FIG. 10 shows a mode of processing regarding the eighth character [] of the 8th character registered / stored in the LRU delay processing buffer 20 when the LRU processing for the first seven characters is completed. Here, since the LRU processing identifier of the registered / stored entry (the one included in the LRU list 61) matches the one of the current cycle, the update of the LRU list 61 is not executed. Here, “the LRU processing identifier matches that of the current cycle” means that a series of LRU delay processing buffer post-processing means that the cache entry has already been LRU processed on the LRU list. It is shown. In our example,
The character [no] may be LRU-processed twice, but that second process is not required. In order to determine such a case, the LR is used during the first processing.
The U identifier is updated to indicate that the necessary processing has already been performed. The LRU identifier here indicates that the post-processing of one LRU delay processing buffer is completed, and
When the U delay process is performed and the post-process is restarted, it takes a different value, which enables the above process.
【0019】図11は、上記実施例における動作の説明
に用いられる別の例示図である。この図11には、ある
所定の1サイクルのLRU処理が完了した(即ち、LR
U遅延処理バッファ20がクリアされた)ときの状態が
示されている。即ち、対応のLRUリスト61が更新さ
れ、キャッシュミスが生じた文字のための消去候補エン
トリ順番が確定された状態が示されている。このように
順番が確定してからキャッシュのミスヒットが連続して
生起したときには、該リストにおいて確定された順番に
よって消去候補エントリが消去されていくことになる。FIG. 11 is another illustrative view used for explaining the operation in the above embodiment. In FIG. 11, a predetermined one cycle of LRU processing is completed (that is, LR
The state when the U delay processing buffer 20 is cleared) is shown. That is, the corresponding LRU list 61 is updated, and the erasure candidate entry order for the character having the cache miss is confirmed. In this way, when cache mishits occur successively after the order is fixed, the erasure candidate entries are deleted in the order fixed in the list.
【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に関する管理情報(例えば、該バッファに格納され
ている文字数に関する情報)がクリアされる。FIG. 12 is a flow chart for explaining the operation of the above embodiment, and is for explaining the output of the document illustrated in FIG. 6 from the state of FIG. 7. In FIG. 12, S1: extraction of character code to be printed; first, LRU
It is checked whether the delay processing buffer 20 is in the full state. When it is determined that the LRU delay processing buffer 20 is not in the full state, the character code to be printed is taken out and cache hit /
A process for determining which of the cache misses is performed. Here, when it is determined that the cache hit is [1], the processes of S2 and S3 are performed. On the other hand, when it is determined that there is a [2] cache miss, when there is an entry registered in the [2A] LRU delay processing buffer 20, the processing from S4 onward is performed,
Further, when there is no entry registered in the [2B] LRU delay processing buffer 20, the processing from S10 is performed. S2: When a cache hit occurs in S1; the cache entry in the font cache 5 (character pattern data storage area 43) (corresponding to the LRU management entries 30A to 30C) is stored in the LRU delay processing buffer 20. be registered. S3: Obtain the character pattern from the entry and copy it to the page buffer side; obtain the corresponding character pattern from the related cache entry and copy it to the page buffer (character output page buffer 6: see FIG. 1) side To do. Here, it is checked whether or not there is a character to be further processed, and when the LRU delay processing buffer 20 becomes full, or when a cache miss occurs prior to becoming full, the font cache In order to perform the LRU update processing on the characters inside, the processing after S4 or S10 is performed. S4: When there is a cache miss in S1 or there is no character to be output and there is an entry registered in the LRU delay processing buffer, or LR
When the U delay processing buffer becomes full, L
Predetermined updates are made to the RU identifier. S5: The last registered entry in the LRU deferral buffer is selected; as seen here, the LRU.
The LRU processing is performed on the corresponding entry in the order opposite to the order registered in the delay processing buffer 20. S6: A cache entry registered in the buffer is selected; a predetermined cache entry registered in the LRU delay processing buffer 20 is selected. Here, it is checked whether or not the LRU processing identifier of the cache entry matches the one updated in S4. Then, when it is determined that they match, the required LRU processing has already been performed on the entry in the corresponding LRU processing cycle, and it is not necessary to execute this LRU processing again. On the other hand, when it is determined that they do not match, the process proceeds to the following S7 and S8 in order to perform the required LRU processing. S7: The current entry is moved to the head of the LRU list 61. S8: The LRU processing identifier of the entry is rewritten to the one changed in S4. S9: Following the process of S8, the next entry in the LRU delay process buffer 20 is selected. After that, when there is an entry registered in the LRU delay processing buffer 20, the work from the previous S6 is repeated. On the other hand, the registered entry does not exist, and an LR triggered by a cache miss
When the U list 61 is being updated, in order to perform expansion processing for the character for which a cache miss has occurred, the above S1
The processing after 0 is executed. Otherwise, LRU
Suppose that the LRU processing of the delay processing buffer 20 is completed.
The processing in 15 is executed. S10: An entry as a deletion candidate in the LRU list 61 is selected. S11: The character pattern registered in the entry selected in S10 is erased. S12: Using the area corresponding to the entry in which the character pattern has been deleted, the pattern expansion processing for the required character is executed. S13: The entry managing the expanded character pattern is moved to the head of the LRU list 61. S14: Obtain the expanded character pattern and copy it to the page buffer side. Where S10 to S1
The processes up to 4 are performed when a normal font cache miss occurs. In order to expand the character that failed in the cache hit to the corresponding character pattern, an area for expanding the character pattern is required.
To secure this area, the erasure candidate entry in the LRU list 61 is selected. S15: The management information (for example, information on the number of characters stored in the buffer) regarding the LRU delay processing buffer 20 for which the necessary processing is completed is cleared.
【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文字目に出現)],であることが認めら
れる(ただし、スペースは無視)。Here, 1 used in the above embodiment
Example sentence of 00 characters ([Recent advances in electronic technology play a major role in the spread and development of existing communication media in Fig. 6 and the new communication that accompanies various environmental changes such as social and economic activities. Various developments have been made according to the demand. For this, the number of appearances for each character is [2: 6 times], [: 4 times], [advance: 2 times],
When counting like [ha: 2 times], ..., 17 types of characters in this 100-character sentence example appear multiple times, and it is recognized that the total number corresponds to 45 characters. To be And the remaining 55 characters appear only once. Here, 17 characters out of the 45 characters appearing a plurality of times need to undergo expansion processing in the first appearance, and the remaining (45-17 = 28) 2
Eight characters may benefit from a cache hit. That is, in the above example sentence, 10 including punctuation marks
The same character appears 0 times in 28 times,
For them, they may be subject to the advantages as described above. Now, assuming that the cache hit rate is 95%, for example, a cache miss will occur once for every 20 characters, but in the above sentence example, the same character can be used within 20 characters. Appears 10 times (for example, the same [no] appears at the 13th character after the first [no] in the above sentence example).
It is recognized that there are times. Therefore, when the embodiment of the present invention is applied to such a text example, the number of LRU list update processes can be reduced by about 10% as compared with the conventional technique of this type. Looking at sentences in which numbers and alphabets are frequently used, for example, some employee lists have many numbers [Example: Name: Fuji XXX Employee No. 11023, October 20, 1961], [1] and [0] are frequently used in this example, and the above-mentioned reduction rate is further increased because the English character [e] is frequently used in English. It may be possible to improve. Where [The man
is very kind. ], The occurrence of the same character here [e: 2 times (7
[Appears in the character]], [n: twice (appears in the 9th character)],
[I: 2 times (appears in the 7th character)], (spaces are ignored).
【0022】図13は、この発明の(予約フラグが適用
される)別の実施例において用いられるLRU遅延処理
バッファ20の構成例示図である。この図13におい
て、LRU遅延処理バッファ20には、複数個の文字描
画情報格納部12Aと、これらに個々に対応するポイン
タ格納部12Bとが含まれており、前者である文字描画
情報格納部12Aに含まれている情報は、所要の遅延処
理が行われている文字を描画するために必要な情報(例
えば、ある所定のページバッファ上への書き込み位置に
関する情報)であり、また、それぞれのポインタ格納部
12Bに格納されたポインタは、対応のフォントキャッ
シュ内のエントリに対するものである。このLRU遅延
処理バッファ20において管理することができる文字数
は、通常は上記別の実施例におけるメモリ資源の大きさ
等を考慮して定められるが、前記フォントキャッシュの
エントリ数と同じであるか、または、これよりも少数で
あるようにされる。FIG. 13 is a diagram showing the construction of the LRU delay processing buffer 20 used in another embodiment (to which the reservation flag is applied) of the present invention. In FIG. 13, the LRU delay processing buffer 20 includes a plurality of character drawing information storage units 12A and pointer storage units 12B respectively corresponding to these, and the former character drawing information storage unit 12A. The information included in is the information necessary to draw the character for which the required delay processing has been performed (for example, information about the writing position on a certain page buffer), and The pointer stored in the storage unit 12B is for an entry in the corresponding font cache. The number of characters that can be managed in the LRU delay processing buffer 20 is normally determined in consideration of the size of the memory resource in the above-mentioned another embodiment, but is the same as the number of entries in the font cache, or , To be less than this.
【0023】図14は、上記別の実施例におけるフォン
トキャッシュ5を管理するために用いられるLRU管理
用エントリ300のデータ構造の例示図である。この図
14において、前記LRU管理用エントリ300は、フ
ォントキャッシュ5に格納される文字パターンに対応す
る文字情報(例えば、文字コード)格納部31;LRU
管理用の前方ポインタ格納部32;LRU管理用の後方
ポインタ格納部33;該当の文字パターンデータに対す
るポインタ格納部34;および、予約フラグ格納部35
A;から構成されている。ここに、予約フラグとは、近
い将来に用いる可能性がある文字パターンデータについ
て、その使用の予約をするためのものである。FIG. 14 is a view showing an example of the data structure of the LRU management entry 300 used for managing the font cache 5 in the above another embodiment. In FIG. 14, the LRU management entry 300 is a character information (eg, character code) storage unit 31; LRU corresponding to a character pattern stored in the font cache 5.
Front pointer storage 32 for management; Back pointer storage 33 for LRU management; Pointer storage 34 for corresponding character pattern data; and reservation flag storage 35
A; The reservation flag is used to reserve the use of character pattern data that may be used in the near future.
【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に対応す
るものである。FIG. 15 shows the LRU management entries (300A to 300C) managed by the hash table 41, the corresponding character pattern data (43A to 43C), and the (LRU) delay processing buffer 20 in another embodiment. It is an illustration figure regarding the relationship between. The shaded portions of the LRU management entries 300A and 300B indicate that the reservation flag is set. In FIG. 15, the LRU management entries (300A to 300C) corresponding to the font cache entry (LRU list) manage the erasure candidate entries in the case of a cache miss with a bidirectional list structure. The list of erasure candidate entries is managed by the LRU algorithm, and the character patterns stored in the font cache are referred to and are linked in the order of new reference to old reference. That is, the most recently referenced character (corresponding to the character pattern data 43A) is at the head of the list by the pointer 32A to the LRU management head entry, and the character of the oldest reference time (character pattern data 43C) is used. (Corresponding to) is designated as an erasure candidate by the pointer 33A to the LRU management final entry. The character pattern data storage area 43 shown in FIG. 15 also functionally corresponds to the font cache 5 in FIG.
【0025】図16は、上記別の実施例における動作の
説明に用いられる例示図である。この図16は、前記図
15を簡略化して示したものであって、ハッシュテーブ
ル41は省略されており、ある所定の桁数(ここでは3
桁にされている)の(LRU)遅延処理バッファ20と
ある一定数のキャッシュエントリ(LRUリスト)61
とから構成されている。ここでのキャッシュエントリ6
1は、前記図15においてリスト構造にされているLR
U管理用エントリ(300A〜300C)に対応するも
のである。そして、この図16で示された状態におい
て、前記図1のフォントキャッシュ5に対応する文字パ
ターンデータ格納領域43には、「[序][に][年]
[ ]・・・[ ]」のような文字に対応する文字パタ
ーンデータが格納されている。FIG. 16 is an exemplary diagram used for explaining the operation in the above-mentioned another embodiment. FIG. 16 shows a simplified version of FIG. 15, in which the hash table 41 is omitted, and a predetermined number of digits (3 in this case).
Digitized (LRU) delay processing buffer 20 and a certain number of cache entries (LRU list) 61
It consists of and. Cache entry 6 here
1 is an LR having a list structure in FIG.
This corresponds to the U management entry (300A to 300C). Then, in the state shown in FIG. 16, in the character pattern data storage area 43 corresponding to the font cache 5 of FIG.
Character pattern data corresponding to characters such as [] ... [] is stored.
【0026】図17は、上記別の実施例における動作の
説明に用いられる別の例示図である。この図17におい
ては、[近]なる1文字がLRU遅延処理バッファ20
に格納されている。そして、この場合における[近]の
文字パターンはキャッシュにヒットしておらず、対応の
文字情報だけがLRU遅延処理バッファ20に登録され
ることになる。FIG. 17 is another illustrative view used for explaining the operation in the above-mentioned another embodiment. In FIG. 17, one character [near] is the LRU delay processing buffer 20.
It is stored in. Then, the character pattern of “near” in this case does not hit the cache, and only the corresponding character information is registered in the LRU delay processing buffer 20.
【0027】図18は、上記別の実施例における動作の
説明に用いられる別の例示図である。この図18におい
ては、前記図17に示された状態に続けて、文字[年]
について所要のLRU処理を施すようにされている。こ
の場合における[年]の文字パターンはキャッシュにヒ
ットしており、このために、対応の文字情報およびキャ
ッシュエントリがLRU遅延処理バッファ20に登録さ
れるとともに、対応のエントリに対する予約フラグのセ
ットがなされることになる。なお、この予約フラグのセ
ットについては、図18におけるLRUリスト61の左
側からみて4番目にシェードを施すことによって示され
ている。FIG. 18 is another illustrative view used for explaining the operation in the above-mentioned another embodiment. In this FIG. 18, characters [year] are added following the state shown in FIG.
For LRU, the required LRU processing is performed. In this case, the character pattern of [year] hits the cache. Therefore, the corresponding character information and the cache entry are registered in the LRU delay processing buffer 20, and the reservation flag for the corresponding entry is set. Will be. It should be noted that the setting of the reservation flag is shown by applying the fourth shade as viewed from the left side of the LRU list 61 in FIG.
【0028】図19は、上記別の実施例における動作の
説明に用いられる別の例示図である。この図19におい
ては、前記図18に示された状態に続けて、文字[に]
について所要のLRU処理を施すようにされており、ま
た、この状態においてLRU遅延処理バッファ20がフ
ルにされている。この場合における[に]の文字パター
ンもキャッシュにヒットしているため、前記の文字
[年]の場合と同様に、対応の文字情報およびキャッシ
ュエントリがLRU遅延処理バッファ20に登録される
のに加えて、対応のエントリに対する予約フラグがセッ
トされる。なお、この予約フラグのセットについては、
図19におけるLRUリスト61の左端(ここは、本来
ならば消去候補エントリに対応している)にシェードを
施すことによって示されている。FIG. 19 is another illustrative view used for explaining the operation in the above-mentioned another embodiment. In this FIG. 19, after the state shown in FIG.
The LRU delay processing buffer 20 is full in this state. Since the character pattern of [ni] in this case also hits the cache, in addition to the corresponding character information and cache entry being registered in the LRU delay processing buffer 20 as in the case of the character [year] described above. Then, the reservation flag for the corresponding entry is set. Regarding the setting of this reservation flag,
This is shown by shading the left end of the LRU list 61 in FIG. 19 (which originally corresponds to the erasure candidate entry).
【0029】図20は、上記別の実施例における動作の
説明に用いられる別の例示図である。この図20におい
ては、前記図19に示された状態に続けて、文字[近]
を格納する領域を確保するため、図1のフォントキャッ
シュ5に相当する文字パターンデータ格納領域43から
不用の文字パターンデータ(ここでは、文字[序]に対
応するもの)を消去することができる消去候補エントリ
を選択することが例示されている。この図20において
は、LRUリスト61の左端(前述されたように、本来
の消去候補エントリに対応するもの)には文字[に]に
対する予約フラグがセットされているために、この左端
のエントリに続く[序]のためのエントリが消去対象の
エントリに指定されることになる。このような場合にお
いては、従来の手法では近い将来に参照されるにも係わ
らず、[に]に対する文字パターンが消去候補として選
択されており、この点においてこの発明の有効性を認め
ることができる。FIG. 20 is another illustrative view used for explaining the operation in the above-mentioned another embodiment. In this FIG. 20, after the state shown in FIG.
In order to secure an area for storing the characters, unnecessary character pattern data (here, corresponding to the character [order]) can be deleted from the character pattern data storage area 43 corresponding to the font cache 5 in FIG. Selecting a candidate entry is illustrated. In FIG. 20, since the reservation flag for the character [ni] is set at the left end of the LRU list 61 (which corresponds to the original erasure candidate entry as described above), this left end entry is set. The entry for the following [order] is designated as the entry to be erased. In such a case, the character pattern for [ni] is selected as an erasure candidate, although it is referred to in the near future in the conventional method, and the effectiveness of the present invention can be recognized in this respect. .
【0030】図21は、上記別の実施例における動作の
説明に用いられる別の例示図である。この図21におい
ては、前記図20に示された状態に続けて、選択された
消去対象のエントリに対する文字パターンデータ(ここ
では、文字[序]に対応するもの)を消去し、文字
[近]に対応する文字パターンデータの展開を実行して
から、LRUリスト61について所要の更新をするよう
にされる。FIG. 21 is another illustrative view used for explaining the operation in the above-mentioned another embodiment. In this FIG. 21, after the state shown in FIG. 20, the character pattern data (here, corresponding to the character [order]) for the selected entry to be erased is erased and the character [near] is erased. After the expansion of the character pattern data corresponding to, the LRU list 61 is updated as required.
【0031】図22は、上記別の実施例における動作の
説明に用いられる別の例示図である。この図22におい
ては、前記図21に示された状態に続けて、LRU遅延
処理バッファ20に登録されていた文字に関する所定の
後処理が施され、クリアにされて、所要の作業が全て終
了した後の、フォントキャッシュ5(図1)に相当する
文字パターンデータ格納領域43におけるデータ構造が
示されている。FIG. 22 is another illustrative view used for explaining the operation in the above-mentioned another embodiment. In this FIG. 22, after the state shown in FIG. 21, predetermined post-processing regarding the characters registered in the LRU delay processing buffer 20 is performed and cleared, and all the required work is completed. The subsequent data structure in the character pattern data storage area 43 corresponding to the font cache 5 (FIG. 1) is shown.
【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)におけるデータ構
造の状態が示されている。FIG. 23 is a flow chart for explaining the operation of the above another embodiment, and is for explaining the output of the document illustrated in FIG. 6 from the state of FIG. . 23, S1: Extraction of character code to be printed; First, character code to be printed is extracted, and it is checked whether or not the LRU delay processing buffer 20 is in a full state. Then, when the LRU delay processing buffer 20 is not in the full state, it is determined whether the character code to be printed is a cache hit or a cache miss. here,
[1] When it is determined that there is a cache hit,
The processing of S2 and S3 is performed. On the other hand, when it is determined that the cache miss is [2], the above steps S2 and S3 are skipped, and the processes after S4 are performed. Here, referring again to FIG. 16 above, [near]
The characters are processed. In this case, the character [near] is not hit and only the corresponding character information is registered in the LRU delay processing buffer 20. S2: When there is a space in the LRU delay processing buffer 20 and a cache hit occurs for the target character; the cache entry (LRU) that manages the hit character pattern data from the font cache 5 (character pattern data storage area 43). Management entries 30A to 30C
(Corresponding item in step 1) is set and its reservation flag is set. S3: The pointer of the cache entry in which the hit has occurred is registered in the LRU delay processing buffer 20. S4: The character output information is registered in the LRU delay processing buffer 20. Information necessary for the actual drawing process, that is, necessary for copying the character pattern in the actual drawing process to the character output page buffer 6 (for example, for specifying the position of the corresponding character). ) Information is registered in the LRU delay processing buffer 20. After that, as long as there are characters to be processed, the process returns to the previous step S1 and the necessary processing is repeated. Then, when there are no more characters to be processed before the LRU delay processing buffer 20 becomes full, the processing in and after step S5 is executed in order to output the characters in the LRU delay processing buffer 20. Referring again to FIG. 18 above,
The state where the character "Year" is processed is shown.
In this case, the character [year] is hit, the corresponding character information and the cache entry are registered in the LRU delay processing buffer 20, and in addition to this, the reservation flag of the corresponding entry is set. . S5: When the LRU delay processing buffer 20 is full, perform post-processing after the delay processing; when the LRU delay processing buffer 20 is full, actual drawing of characters registered in the buffer It will be processed. In step S5, the LRU delay processing buffer 20 is selected from the beginning. Then, it is checked whether or not the cache entry is registered from the head of this buffer. here,
[1] When the cache entry is registered, that is, when the required character pattern is registered in the font cache 5, the work after step S6 is executed. On the other hand, when the [2] cache entry is not registered, that is, when the cache hit does not occur, the work from step S11 is executed. Here, referring to FIG. 19 again, a state in which the character [ni] is processed is shown and a state in which the LRU delay processing buffer 20 is full is shown. In this case, the character [ni] is also hit, which means that the same processing as the character [year] in FIG. 18 has been performed. S6: Clear the reservation flag of the entry (drawing processing when a cache hit occurs); the reservation flag of a predetermined one in the cache entry registered in the LRU delay processing buffer 20 is cleared. The reservation flag here is to prevent the reservation flag from being selected as a candidate to be erased from the font cache 5 after step S11, but is placed at the head of the LRU list 61 in step S6 immediately after. Therefore, even if it is cleared at this point, it will not be a candidate for deletion. S7: The cache entry registered in the LRU delay processing buffer 20 is moved to the head of the LRU list 61. S8: A required character pattern is obtained from the cache entry registered in the LRU delay processing buffer 20 and copied to the character output page buffer 6. That is,
Based on the predetermined character drawing information registered in the LRU delay processing buffer 20, it is copied to the corresponding position of the character output page buffer 6. S9: Only one of the LRU delay processing buffers 20 for which the predetermined processing has been completed is cleared. S10: Select the next buffer. That is, after the step S9, it is checked whether or not the next buffer exists, and when it is determined that the buffer exists, the operation in step S10 is performed. After that, when the character information registered in the LRU delay processing buffer 20 still exists, the character information is selected, and then the processing of step S6 or S11 and subsequent steps is performed. When the drawing processing in the LRU delay processing buffer 20 is completed and there is still a character to be processed, the process returns to step S1 and the LRU delay processing buffer 2 is returned.
The delay process at 0 is restarted. On the other hand, if there is no character to be processed, the process for printing is ended. S11: An entry as an erasure candidate in the LRU list 61 is selected. An area for expanding a corresponding character pattern is required for drawing a character for which no cache hit has occurred, and an entry as an erase candidate in the LRU list 61 is selected to secure such an area. To be done. Here, if the reservation flag is set in the corresponding entry as a result of a predetermined check, the process proceeds to the next step S12, the entry as the next erasure candidate is selected, and the reservation flag is set. The process in step S11 and the process in S12 are repeated until an entry not found is found. When the reservation flag is not set, the work after step S13 is executed. Here, referring to FIG. 20 again, a state is shown in which the erasure candidate entry for the character [near] registered in the LRU delay processing buffer 20 is selected. Here, since the reservation flag is set for the character [ni] in the erasure candidate entries of the LRU list 61, the entry for the next character [ordinal] is selected as the erasure candidate entry. . S12: The entry as the next erasure candidate in the LRU list 61 is selected. S13: Release of the character pattern area registered in the entry; S14: Expansion processing of the character pattern; Here, the character pattern registered in the entry selected in step S11 is erased to make it usable. The selected area is selected (S13), and using the corresponding area, expansion processing is performed on the character to be drawn registered in the LRU delay processing buffer 20 (S14). Then, the character pattern corresponding to this is registered in the font cache 5. For the subsequent processing, in order to execute processing similar to the entry hit in step S5,
The processing after 7 is continued. Here, referring to FIG. 21 again, the character pattern data (for the character [ordinal]) of the entry selected in FIG. 20 is deleted, the character pattern data for the character [near] is expanded, and the associated LRU is extracted. The state where the list 61 is updated is shown. In addition, in FIG. 22 following this FIG.
The font cache 5 after the required post-processing is performed on the characters registered in the RU delay processing buffer 20.
The state of the data structure in the (character pattern data storage area 43) is shown.
【0033】図24は、この発明の(ヒット時遅延処理
のための)更に別の実施例において用いられるLRU遅
延処理バッファ20の構成例示図である。この図24に
おいて、LRU遅延処理バッファ20には、複数個の文
字描画情報格納部12Aと、これらに個々に対応する遅
延ヒットフラグ格納部12Cとが含まれており、前者で
ある文字描画情報格納部12Aに含まれている情報は、
所要の遅延処理が行われている文字を描画するために必
要な情報(例えば、ある所定のページバッファ上への書
き込み位置に関する情報)であり、また、それぞれのフ
ラグ格納部12Cに格納された遅延ヒットフラグは、遅
延処理でミスした文字が再び出現した場合にセットされ
るものである。このLRU遅延処理バッファ20におい
て管理することができる文字数は、通常は上記更に別の
実施例におけるメモリ資源の大きさ等を考慮して定めら
れるが、前記フォントキャッシュのエントリ数と同じで
あるか、または、これよりも少数であるようにされる。FIG. 24 is a block diagram showing the configuration of the LRU delay processing buffer 20 used in still another embodiment (for hit delay processing) of the present invention. In FIG. 24, the LRU delay processing buffer 20 includes a plurality of character drawing information storage units 12A and delay hit flag storage units 12C respectively corresponding to these, and the former character drawing information storage unit is stored. The information contained in section 12A is
It is information necessary for drawing a character on which a required delay process is performed (for example, information on a writing position on a predetermined page buffer), and the delay stored in each flag storage unit 12C. The hit flag is set when the character missed by the delay processing appears again. The number of characters that can be managed in the LRU delay processing buffer 20 is normally determined in consideration of the size of memory resources in the above-mentioned further embodiment, but is the same as the number of entries in the font cache, Or it is made to be less than this.
【0034】図25は、上記更に別の実施例における、
遅延処理バッファ20と遅延処理用ハッシュテーブル4
1Aとの関連の例示図である。この図25において、遅
延処理用ハッシュテーブル41Aは、フォントキャッシ
ュ5(図1)においてミスがあった文字が再び現れるこ
とをチェックするためのものであり、遅延処理の結果と
して登録される文字が該テーブル41Aに登録されてい
るか否かのチェックを行い、その結果が遅延処理バッフ
ァ20における遅延ヒットフラグ12Cに反映される。
この図25においては、遅延処理バッファ20の第3列
(3)における遅延ヒットフラグ12Cがセットされ
て、ここに格納された文字は当該遅延処理バッファ20
の他のいずれかの場所に格納された文字と同じであるこ
とが示されている。FIG. 25 shows another embodiment of the above.
Delay processing buffer 20 and delay processing hash table 4
It is an illustration figure of a relation with 1A. In FIG. 25, the delay processing hash table 41A is used to check that a character having a mistake appears again in the font cache 5 (FIG. 1), and the character registered as a result of the delay processing is It is checked whether or not it is registered in the table 41A, and the result is reflected in the delay hit flag 12C in the delay processing buffer 20.
In FIG. 25, the delay hit flag 12C in the third column (3) of the delay processing buffer 20 is set, and the character stored here is the delay processing buffer 20 concerned.
It is shown to be the same as a character stored anywhere else in.
【0035】図26は、上記更に別の実施例におけるフ
ォントキャッシュ5を管理するために用いられるLRU
管理用エントリ400のデータ構造の例示図である。こ
の図26において、前記LRU管理用エントリ400
は、フォントキャッシュ5に格納される文字パターンに
対応する文字情報(例えば、文字コード)格納部31;
LRU管理用の前方ポインタ格納部32;LRU管理用
の後方ポインタ格納部33;および、該当の文字パター
ンデータに対するポインタ格納部34;から構成されて
いる。FIG. 26 is an LRU used for managing the font cache 5 in the above another embodiment.
FIG. 6 is an exemplary diagram of a data structure of a management entry 400. In FIG. 26, the LRU management entry 400
Is a character information (eg, character code) storage unit 31 corresponding to a character pattern stored in the font cache 5;
The LRU management front pointer storage unit 32; the LRU management rear pointer storage unit 33; and the pointer storage unit 34 for the corresponding character pattern data.
【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に対応するものである。FIG. 27 shows another embodiment of the above.
It is an illustration figure regarding the relation between the LRU management entry (400A-400C) managed by the hash table 41B for font caches, and the corresponding character pattern data (43A-43C). In FIG. 27, L corresponding to the font cache entry (LRU list)
The RU management entries (400A to 400C) manage erasure candidate entries in the case of a cache miss with a bidirectional list structure. The list of erasure candidate entries is managed by the LRU algorithm, and the character patterns stored in the font cache are referred to and are linked in the order of new reference to old reference. That is, the most recently referenced character (corresponding to the character pattern data 43A) is at the head of the list by the pointer 32A to the LRU management head entry, and the character of the oldest reference time (character pattern data 43C) is used. (Corresponding to) is designated as an erasure candidate by the pointer 33A to the LRU management final entry. The character pattern data storage area 4 shown in FIG.
3 also functionally corresponds to the font cache 5 in FIG.
【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)のイメージ格納領域に相当す
るものである。FIG. 28 is an exemplary diagram used for explaining the operation in the above-mentioned still another embodiment. This FIG. 28 is a simplified view of the related items of FIG. 25 and FIG. 27, the hash table 41B is omitted, and a predetermined number of digits (here, three digits) is set. L
The RU delay processing buffer 20 and a certain number of cache entries (LRU list) 61 are included. The cache entry 61 here is the LRU management entry (400 which has the list structure in FIG. 27).
A to 400C). Then, in the state shown in FIG. 28, in the character pattern data storage area 43 corresponding to the font cache 5 of FIG. 1, "[o] [ni] [year] [] ... []" Character pattern data corresponding to such characters is stored. The area 6A in FIG. 28 corresponds to the image storage area of the character output page buffer 6 (FIG. 1).
【0038】図29は、上記更に別の実施例における動
作の説明に用いられる別の例示図である。この図29に
おいては、[近]なる1文字がLRU遅延処理バッファ
20に格納されている。そして、この場合における
[近]の文字パターンはキャッシュにヒットしておら
ず、対応の文字情報だけがLRU遅延処理バッファ20
に登録されることになる。そして、前記文字出力用ペー
ジバッファ6におけるイメージ格納用領域6Aはブラン
クの状態に留まっている。FIG. 29 is another illustrative view used for explaining the operation in the above still another embodiment. In FIG. 29, one character [near] is stored in the LRU delay processing buffer 20. In this case, the [near] character pattern does not hit the cache, and only the corresponding character information is stored in the LRU delay processing buffer 20.
Will be registered in. The image storage area 6A in the character output page buffer 6 remains blank.
【0039】図30は、上記更に別の実施例における動
作の説明に用いられる別の例示図である。この図30に
おいては、前記図29に示された状態に続けて、文字
[年]について所要のLRU処理を施すようにされてい
る。この場合における[年]の文字パターンはキャッシ
ュにヒットしており、このために、関連のエントリがL
RUリスト61の先頭に移動される。そして、文字パタ
ーンデータ格納領域43(図1のフォントキャッシュ
5)から対応の文字パターンを取り出して、これを前記
文字出力用ページバッファ6におけるイメージ格納用領
域6Aの所定箇所に転記するようにされる。FIG. 30 is another illustrative view used for explaining the operation in the above still another embodiment. In FIG. 30, after the state shown in FIG. 29, the required LRU processing is performed on the character [year]. The character pattern of [Year] in this case hits the cache, so that the associated entry is L
It is moved to the head of the RU list 61. Then, the corresponding character pattern is taken out from the character pattern data storage area 43 (the font cache 5 in FIG. 1) and is transcribed to a predetermined portion of the image storage area 6A in the character output page buffer 6. .
【0040】図31は、上記更に別の実施例における動
作の説明に用いられる別の例示図である。この図31に
おいては、前記図30に示された状態に続けて、例え
ば、「における電子技術の進歩は、既存通信メディア
の」なる文字列が処理され、LRU遅延処理バッファ2
0がフルにされた([の]以外はキャッシュにヒットし
た)状態が示されている。ここで、前記文字列の中の最
初の文字[の]がキャッシュにヒットしなかったとする
と、これに対応する文字情報がLRU遅延処理バッファ
20に登録される。そして、2番目に出現した文字
[の]については、遅延ヒットフラグがセットされた状
態の文字情報が前記LRU遅延処理バッファ20に登録
されることになる。このような状態においては、文字出
力用ページバッファ6におけるイメージ格納用領域6A
には、文字[近]および文字[の]はいずれもまだ描画
されていない。FIG. 31 is another illustrative view used for explaining the operation in the above still another embodiment. In FIG. 31, after the state shown in FIG. 30, for example, a character string “Advancement of electronic technology in existing communication media is processed” is processed, and the LRU delay processing buffer 2 is processed.
The state where 0 is full (the cache is hit except for []) is shown. Here, if the first character [no] in the character string does not hit the cache, the character information corresponding to this is registered in the LRU delay processing buffer 20. Then, for the character [no] that appears second, the character information with the delay hit flag set is registered in the LRU delay processing buffer 20. In such a state, the image storage area 6A in the character output page buffer 6
In the figure, neither the character [near] nor the character [no] has been drawn.
【0041】図32は、上記更に別の実施例における動
作の説明に用いられる別の例示図である。この図32に
おいては、前記図31に示された状態に続けて、文字
[近]を格納する領域を確保するため、図1のフォント
キャッシュ5に相当する文字パターンデータ格納領域4
3から不用の文字パターンデータを消去することができ
る消去候補エントリを選択することが例示されている。
この時点で処理された文字列においてヒットしたもの
は、ヒットしたLRUの先頭位置(即ち、消去候補とは
なり難い位置)に移動されている。従って、ここでの消
去候補エントリの選択に際しては、消去候補エントリと
されているものの中で最左端にあるエントリが選択され
ることになる。なお、ここでの選択の仕方については特
別な手法は採用されていない。選択が必要とされるタイ
ミングをできるだけ遅延させ、それまでにLRUリスト
の順番が最適化するようにされている。FIG. 32 is another illustrative view used for explaining the operation in the above still another embodiment. 32, in order to secure an area for storing the character [near] after the state shown in FIG. 31, the character pattern data storage area 4 corresponding to the font cache 5 in FIG.
It is exemplified to select an erasure candidate entry from which unnecessary character pattern data can be erased from 3.
The hit character string processed at this point has been moved to the head position of the hit LRU (that is, a position that is unlikely to be an erasure candidate). Therefore, when the erasure candidate entry is selected here, the leftmost entry among the erasure candidate entries is selected. Note that no special method is adopted for the selection method here. The timing required for selection is delayed as much as possible, and the order of the LRU list is optimized by then.
【0042】図33は、上記更に別の実施例における動
作の説明に用いられる別の例示図である。この図33に
おいては、前記図32に示された状態に続けて、文字
[近]および文字[い]に対応する文字パターンデータ
の展開を実行してから、LRUリスト61について所要
の更新をするようにされる。また、遅延ヒットフラグが
セットされたLRU遅延処理バッファ20内の2番目の
文字[の]に対する展開処理も行われることになるが、
最初の文字[の]に対する展開が既に文字パターンデー
タ格納領域43(図1のフォントキャッシュ5)で実行
されているために、前記展開処理を実行することなく、
前記の文字パターンデータ格納領域43から対応の文字
パターンデータを検索し、この検索の結果に基づいて所
要の描画処理を施すようにされる。そして、この結果と
して、文字出力用ページバッファ6におけるイメージ格
納用領域6Aには、前述の「における電子技術の進歩
は、既存通信メディアの」なる文字列が描画される。FIG. 33 is another illustrative view used for explaining the operation in the above still another embodiment. In FIG. 33, following the state shown in FIG. 32, the expansion of the character pattern data corresponding to the character [near] and the character [i] is executed, and then the LRU list 61 is updated as required. To be done. Further, although the expansion processing is performed on the second character [of] in the LRU delay processing buffer 20 in which the delay hit flag is set,
Since the expansion for the first character [] has already been executed in the character pattern data storage area 43 (font cache 5 in FIG. 1), the expansion processing is not executed,
The corresponding character pattern data is retrieved from the character pattern data storage area 43, and a required drawing process is performed based on the retrieval result. As a result, in the image storage area 6A of the character output page buffer 6, the above-mentioned character string "The advance of electronic technology in existing communication media" is drawn.
【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以降の処理を継続するようにされ
る。FIG. 34 is a flow chart for explaining the operation of the above still another embodiment, and is for explaining the output of the document illustrated in FIG. 5 from the state of FIG. 28. is there. In FIG. 34, S1: extraction of character code to be printed; first, LRU
It is checked whether the delay processing buffer 20 is in the full state. Then, when the LRU delay processing buffer 20 is not in the full state, the character code to be printed is taken out. Further, with respect to the character code to be printed here, it is determined whether it is a cache hit or a cache miss. Here, when it is determined that the cache hit is [1], the processes of S2 and S3 are performed. On the other hand, when it is determined that the cache miss is [2], the steps S2 and S3 are skipped and the process of S4 is performed. S2: When a hit occurs for the target character in S1;
Font cache 5 (character pattern data storage area 4
3), a cache entry (LRU management entry 400A for managing the hit character pattern data)
(Corresponding one in 400C) and moves it to the head of the LRU list 61. S3: The character pattern acquired based on the cache entry in which the hit has occurred is copied to an appropriate place of the character output page buffer 6. S4: When an error occurs with respect to the target character in S1; information required later in the actual drawing process, that is,
It is necessary to copy the character pattern to the character output page buffer 6 in the actual drawing process (for example,
Information (such as for specifying the position of the corresponding character) is registered in the LRU delay processing buffer 20. At this time, the corresponding entry of the LRU delay processing buffer 20 is registered in the delay processing hash table 41A. After that, as long as there are characters to be processed, the process returns to the previous step S1 and the necessary processing is repeated. Then, the LRU delay processing buffer 2
When there are no more characters to be processed before 0 becomes full, the processes in and after step S5 are executed to output the characters in the LRU delay processing buffer 20. S5: post-processing after the delay processing when the LRU delay processing buffer 20 is full; when the LRU delay processing buffer 20 is full or when there are no characters to be output, LRU delay When a character registered in the processing buffer 20 exists, the actual drawing process is performed on the character registered in the buffer. In this step S5, L
The RU delay processing buffer 20 is selected from the beginning. Then, it is checked from the head of this buffer whether or not the delay hit flag is set. Here, when the delay hit flag corresponding to [1] is set, that is, when the required character pattern is registered in the font cache 5 according to the expansion processing in steps S11 to S13, which will be described later, the operations in and after step S6. Will be executed. On the contrary,
[2] When the corresponding delay hit flag is not set, that is, when the corresponding character pattern is not stored in the font cache 5 (character pattern data storage area 43), the operation of the character pattern of step S11 and thereafter is performed. The expansion processing is executed. S6: Drawing processing when the delay hit flag is set; at this time, a cache entry corresponding to the corresponding character code is obtained from the font cache 5 (character pattern data storage area 43) side. S7: The cache entry registered in the LRU delay processing buffer 20 is moved to the head of the LRU list 61. S8: Obtain a required character pattern from the cache entry registered in the LRU delay processing buffer 20 and copy it to the character output page buffer 6 (ie,
Perform the required drawing process). At this time, it is copied to the corresponding position of the character output page buffer 6 based on the predetermined character drawing information registered in the LRU delay processing buffer 20. S9: Only one of the LRU delay processing buffers 20 for which the predetermined processing has been completed is cleared. S10: Select the next buffer. That is, after the step S9, it is checked whether or not the next buffer exists, and when it is determined that the buffer exists, the operation in step S10 is performed. After that, when the character information registered in the LRU delay processing buffer 20 still exists, the character information is selected, and then the processing of step S6 or S11 and subsequent steps is performed. When the drawing processing in the LRU delay processing buffer 20 is completed and there is still a character to be processed, the process returns to step S1 and the LRU delay processing buffer 2 is returned.
The delay process at 0 is restarted. On the other hand, if there is no character to be processed, the process for printing is ended. S11: An entry as an erasure candidate in the LRU list 61 is selected. An area for expanding a corresponding character pattern is required for drawing a character for which no cache hit has occurred, and an entry as an erase candidate in the LRU list 61 is selected to secure such an area. To be done. S12: The character pattern registered in the entry selected in step S11 is erased, and the corresponding area is released. S13: A required character pattern expansion process is executed. Here, using the area released in step S12, L
Expansion processing is performed on the characters to be drawn registered in the RU delay processing buffer 20 (S13). And
The character pattern corresponding to this is registered in the font cache 5. For subsequent processing, step S5
In order to execute the same processing as the entry hit in, the processing after step S7 is continued.
【0044】[0044]
【発明の効果】以上説明されたように、この発明に係る
フォントキャッシュ制御装置によれば、LRU遅延処理
バッファが設けられており、キャッシュヒットまたはキ
ャッシュミスがあった文字に対するLRUリストの更新
を遅延させることが可能になる。このために、短い期間
内に複数回出現した文字に対するLRUリストの更新を
まとめて実行することが可能にされて、無用なLRUリ
ストの更新を省略することができるという効果が奏せら
れる。また、この発明に係るフォントキャッシュ制御装
置によれば、LRU遅延処理バッファが設けられてお
り、所定の予約フラグを用いるようにされていることか
ら、実際の文字パターンの展開やフォントキャッシュの
更新を遅延させることが可能となり、更に、近い将来に
使用される可能性のある文字の消去を防止することも可
能となる。特に、処理中のフォントキャッシュの状態や
印字すべき文字の出現順に応じて、最適の消去候補を該
フォントキャッシュから選択することができるために、
限られた容量のメモリ資源をもって最適のフォントキャ
ッシュ制御をすることができる。これに加えて、ホスト
側からの特別な指示を何も必要としないという利点もあ
る。As described above, according to the font cache control device of the present invention, the LRU delay processing buffer is provided, and the update of the LRU list for the character having the cache hit or the cache miss is delayed. It is possible to let For this reason, it is possible to collectively update the LRU list for characters that appear multiple times within a short period, and it is possible to omit unnecessary update of the LRU list. Further, according to the font cache control device of the present invention, since the LRU delay processing buffer is provided and the predetermined reservation flag is used, the actual expansion of the character pattern and the update of the font cache are performed. It becomes possible to delay, and furthermore, it becomes possible to prevent erasure of characters which may be used in the near future. In particular, in accordance with the state of the font cache being processed and the appearance order of characters to be printed, the optimum erasure candidate can be selected from the font cache.
Optimal font cache control can be performed with a limited amount of memory resources. In addition to this, it has the advantage of not requiring any special instructions from the host side.
【図1】この発明の実施例であるフォントキャッシュ制
御装置を中心とする概略的な構成を例示するブロック図
である。FIG. 1 is a block diagram illustrating a schematic configuration centering on a font cache control device that is an embodiment of the present invention.
【図2】上記実施例であるフォントキャッシュ制御装置
の構成例示図である。FIG. 2 is a diagram illustrating a configuration of a font cache control device according to the above embodiment.
【図3】上記実施例において用いられるLRU遅延処理
バッファ11の構成例示図である。FIG. 3 is a diagram illustrating a configuration of an LRU delay processing buffer 11 used in the above embodiment.
【図4】上記実施例におけるフォントキャッシュ5を管
理するために用いられるエントリのデータ構造の例示図
である。FIG. 4 is a view showing an example of a data structure of entries used for managing the font cache 5 in the above embodiment.
【図5】上記実施例において、ハッシュテーブル41で
管理されるフォントキャッシュエントリと文字パターン
データおよびLRU遅延処理バッファの関係の例示図で
ある。FIG. 5 is a view showing an example of a relationship between a font cache entry managed by a hash table 41, character pattern data, and an LRU delay processing buffer in the above embodiment.
【図6】上記実施例における動作の説明に用いられる出
力文書51の例示図である。FIG. 6 is a view showing an example of an output document 51 used for explaining the operation in the above embodiment.
【図7】上記実施例における動作の説明に用いられる例
示図である。FIG. 7 is an exemplary diagram used to describe an operation in the above embodiment.
【図8】上記実施例における動作の説明に用いられる別
の例示図である。FIG. 8 is another exemplary diagram used for explaining the operation in the above-described embodiment.
【図9】上記実施例における動作の説明に用いられる別
の例示図である。FIG. 9 is another exemplary diagram used for explaining the operation in the above-described embodiment.
【図10】上記実施例における動作の説明に用いられる
別の例示図である。FIG. 10 is another exemplary diagram used for explaining the operation in the above-described embodiment.
【図11】上記実施例における動作の説明に用いられる
別の例示図である。FIG. 11 is another exemplary diagram used for explaining the operation in the above-described embodiment.
【図12】上記実施例の動作を説明するためのフローチ
ャートである。FIG. 12 is a flow chart for explaining the operation of the above embodiment.
【図13】この発明の(予約フラグが適用される)別の
実施例において用いられるLRU遅延処理バッファ11
の構成例示図である。FIG. 13 is an LRU delay processing buffer 11 used in another embodiment (to which a reservation flag is applied) of the present invention.
FIG.
【図14】上記別の実施例におけるフォントキャッシュ
5を管理するために用いられるLRU管理用エントリ3
00のデータ構造の例示図である。FIG. 14 is an LRU management entry 3 used for managing the font cache 5 in the above-mentioned another embodiment.
It is an illustration figure of the data structure of 00.
【図15】上記別の実施例において、ハッシュテーブル
41で管理されるLRU管理用エントリ(300A〜3
00C)と対応の文字パターンデータ(43A〜43
C)およびLRU遅延処理バッファ20の間の関係に関
する例示図である。15 is an LRU management entry (300A to 3) managed by the hash table 41 in the above-described another embodiment. FIG.
00C) and corresponding character pattern data (43A to 43A)
FIG. 6 is an exemplary diagram regarding a relationship between C) and the LRU delay processing buffer 20.
【図16】上記別の実施例における動作の説明に用いら
れる例示図である。FIG. 16 is an exemplary diagram used for explaining an operation in the another embodiment.
【図17】上記別の実施例における動作の説明に用いら
れる例示図である。FIG. 17 is an exemplary diagram used to describe an operation in the another embodiment.
【図18】上記別の実施例における動作の説明に用いら
れる別の例示図である。FIG. 18 is another exemplary diagram used for description of the operation in the another example.
【図19】上記別の実施例における動作の説明に用いら
れる別の例示図である。FIG. 19 is another exemplary diagram used for explaining the operation in the another example.
【図20】上記別の実施例における動作の説明に用いら
れる別の例示図である。FIG. 20 is another exemplary diagram used for description of the operation in the another example.
【図21】上記別の実施例における動作の説明に用いら
れる別の例示図である。FIG. 21 is another exemplary diagram used for description of the operation in the another example.
【図22】上記別の実施例における動作の説明に用いら
れる別の例示図である。FIG. 22 is another exemplary diagram used for explaining the operation in the another example.
【図23】上記別の実施例の動作を説明するためのフロ
ーチャートである。FIG. 23 is a flow chart for explaining the operation of the another embodiment.
【図24】この発明の(ヒット時遅延処理のための)更
に別の実施例において用いられるLRU遅延処理バッフ
ァ12の構成例示図である。FIG. 24 is a configuration diagram of an LRU delay processing buffer 12 used in still another embodiment (for hit delay processing) of the present invention.
【図25】上記更に別の実施例における、遅延処理バッ
ファ20と遅延処理用ハッシュテーブル41Aとの関連
の例示図である。FIG. 25 is a view showing an example of the relationship between the delay processing buffer 20 and the delay processing hash table 41A in yet another embodiment.
【図26】上記更に別の実施例におけるフォントキャッ
シュ5を管理するために用いられるLRU管理用エント
リ400のデータ構造の例示図である。FIG. 26 is a view showing an example of the data structure of an LRU management entry 400 used for managing the font cache 5 in yet another embodiment.
【図27】上記更に別の実施例において、フォントキャ
ッシュ用のハッシュテーブル41Aで管理されるLRU
管理用エントリ(400A〜400C)と対応の文字パ
ターンデータ(43A〜43C)との間の関係に関する
例示図である。FIG. 27 is an LRU managed by a font cache hash table 41A in yet another embodiment.
It is an illustration figure regarding the relationship between the entry for management (400A-400C) and corresponding character pattern data (43A-43C).
【図28】上記更に別の実施例における動作の説明に用
いられる例示図である。FIG. 28 is an exemplary view used for explaining an operation in the yet another embodiment.
【図29】上記更に別の実施例における動作の説明に用
いられる別の例示図である。FIG. 29 is another exemplary diagram used for explaining the operation in the yet another embodiment.
【図30】上記更に別の実施例における動作の説明に用
いられる別の例示図である。FIG. 30 is another exemplary diagram used for explaining the operation in the yet another embodiment.
【図31】上記更に別の実施例における動作の説明に用
いられる別の例示図である。FIG. 31 is another illustrative diagram used for explaining the operation in the yet another embodiment.
【図32】上記更に別の実施例における動作の説明に用
いられる別の例示図である。FIG. 32 is another illustrative diagram used for explaining the operation in the yet another embodiment.
【図33】上記更に別の実施例における動作の説明に用
いられる別の例示図である。FIG. 33 is another exemplary view used for explaining the operation in the yet another embodiment.
【図34】上記更に別の実施例の動作を説明するための
フローチャートである。FIG. 34 is a flow chart for explaining the operation of the yet another embodiment.
【符号の説明】 1−−文字コード入力受付装置;2−−展開用文字デー
タ記憶装置;3−−文字パターン展開装置;4−−フォ
ントキャッシュ制御装置;5−−フォントキャッシュ;
6−−文字出力用ページバッファ;7−−文字出力装
置。[Explanation of Codes] 1-Character code input acceptance device; 2--Development character data storage device; 3--Character pattern development device; 4--Font cache control device; 5--Font cache;
6 --- Page buffer for character output; 7 --- Character output device.
Claims (6)
ファ管理データメモリを備えており、キャッシュヒット
に対応させてキャッシュバッファ管理データを書き換え
ることにより、該キャッシュバッファがフルであるとき
の空き領域作成処理に備える処理を行うことが可能にさ
れたフォントキャッシュ制御装置において、 キャッシュヒット処理遅延バッファ、 キャッシュヒット時にキャッシュヒット処理遅延バッフ
ァに登録を行う手段、および、 一括してキャッシュヒット処理を行う手段、 を含んでなることを特徴とするフォントキャッシュ制御
装置。1. A cache buffer and a cache buffer management data memory are provided, and a process for preparing a free area when the cache buffer is full is provided by rewriting the cache buffer management data in response to a cache hit. A font cache control device that is enabled to include a cache hit processing delay buffer, means for registering in the cache hit processing delay buffer at the time of a cache hit, and means for collectively performing cache hit processing. A font cache control device characterized by.
ラグが含まれており、キャッシュヒット処理遅延バッフ
ァに登録を行う手段は同時に予約フラグをセットするも
のであり、一括してキャッシュヒット処理を行う手段は
その処理に対応させて予約フラグをリセットし、キャッ
シュバッファがフルであるときの空き領域作成処理は、
予約フラグのセットされていないデータエントリのみを
消去の対象とすることを特徴とする、 請求項1に記載のフォントキャッシュ制御装置。2. The cache buffer management data includes a reservation flag, the means for registering in the cache hit processing delay buffer sets the reservation flag at the same time, and the means for collectively performing cache hit processing is The free space creation process when the reservation flag is reset corresponding to that process and the cache buffer is full,
The font cache control device according to claim 1, wherein only a data entry for which a reservation flag is not set is targeted for deletion.
管理データメモリおよび出力バッファを備えており、要
求されたデータ識別子別に対応するデータを出力バッフ
ァに書き込むようにされた、フォントキャッシュ制御の
機能が随伴されるデータ出力装置のためのフォントキャ
ッシュ制御装置であって、 データのキャッシングを行う装置において、キャッシュ
バッファ管理データを参照して必要なデータの有無を判
断する手段、 キャッシュヒット時にはキャッシュにあるデータを出力
バッファに書き込む手段、 キャッシュミスヒット処理遅延バッファ、 キャッシュミスヒット時にはキャッシュミスヒット処理
遅延バッファに登録する手段、 一括してキャッシュミスヒット処理(データの入力、展
開や出力バッファへの書き込み)を行う手段、 が含まれてなることを特徴とする、フォントキャッシュ
制御の機能が随伴されるデータ出力装置のためのフォン
トキャッシュ制御装置。3. Data accompanied by a font cache control function, comprising a cache buffer, a cache buffer management data memory and an output buffer, and adapted to write the corresponding data for each requested data identifier into the output buffer. A font cache control device for an output device, which is a device for caching data, which refers to the cache buffer management data to determine whether or not there is necessary data, and when a cache hit occurs, the data in the cache is output to the output buffer. Writing means, cache miss hit processing delay buffer, means for registering in cache miss hit processing delay buffer at the time of cache miss, cache miss hit processing (data input, expansion and writing to output buffer) collectively Stage, characterized by comprising contains font cache controller for the data output apparatus function of font cache control is associated.
管理データメモリとを備えており、キャッシュヒットに
対応させて該キャッシュバッファ管理データメモリ内の
キャッシュバッファ管理データを書き換えることによ
り、キャッシュバッファがフルであるときの空き領域作
成処理に備える処理を実行するフォントキャッシュ制御
装置の適用方法であって、 同じ対象に対するキャッシュヒットが複数回生じたとき
に、該当のキャッシュヒット処理の実行を遅延させるこ
と、 前記同じ対象に対するキャッシュヒットが複数回生じた
ときに、LRU処理遅延バッファに対してその旨を登録
すること、および、 キャッシュヒットが複数回生じた前記同じ対象に対し
て、一括してキャッシュヒット処理を実行すること、 を含んでなることを特徴とする、フォントキャッシュ制
御装置の適用方法。4. A cache buffer and a cache buffer management data memory are provided, and when the cache buffer is full when the cache buffer management data in the cache buffer management data memory is rewritten in response to a cache hit. A method of applying a font cache control device for executing a process for preparing a free area, wherein when the cache hit to the same target occurs a plurality of times, the execution of the corresponding cache hit process is delayed. When a cache hit occurs a plurality of times, registering the fact to the LRU processing delay buffer, and executing the cache hit process collectively for the same target where a cache hit occurs a plurality of times. Characterized by comprising, A method of applying a font cache control device.
予約フラグのセットは、キャッシュヒット処理遅延バッ
ファに登録を行う手段によって実行されること、 前記予約フラグのリセットは、一括して行われるキャッ
シュヒット処理に対応して実行されること、および、 キャッシュバッファがフルであるときの空き領域作成処
理は、該予約フラグがセットされていないデータエント
リだけを消去の対象として選択されること、 を特徴とする、請求項4に記載のフォントキャッシュ制
御装置の適用方法。5. The setting of the reservation flag included in the cache buffer management data is executed by means for registering in the cache hit processing delay buffer, and the resetting of the reservation flag is performed in a batch of cache hit processing. Correspondingly, and the free area creation processing when the cache buffer is full is characterized in that only data entries for which the reservation flag is not set are selected for deletion. A method of applying the font cache control device according to claim 4.
管理データメモリおよび出力バッファを備えており、要
求されたデータ識別子別に対応するデータを出力バッフ
ァに書き込むようにされた、フォントキャッシュ制御の
機能が随伴されるデータ出力装置のためのフォントキャ
ッシュ制御装置の適用方法であって、 データのキャッシングを実行するときに、キャッシュバ
ッファ管理データを参照して必要なデータの有無を判断
すること、 キャッシュヒット時においては、キャッシュに存在する
データを出力バッファに書き込むこと、 キャッシュミスヒット時においては、その旨をキャッシ
ュミスヒット処理遅延バッファに登録すること、およ
び、 一括してキャッシュミスヒット処理(データの入力、展
開や出力バッファへの書き込み)を実行すること、 が含まれてなることを特徴とする、フォントキャッシュ
制御の機能が随伴されるデータ出力装置のためのフォン
トキャッシュ制御装置の適用方法。6. Data accompanied by a font cache control function, comprising a cache buffer, a cache buffer management data memory and an output buffer, and adapted to write the data corresponding to each requested data identifier to the output buffer. A method of applying a font cache control device for an output device, comprising: determining whether or not there is necessary data by referring to cache buffer management data when executing data caching. Existing data in the output buffer, in the case of a cache miss, register that fact in the cache mishit processing delay buffer, and collectively in the cache mishit processing (data input, expansion and output buffer Write to) A method of applying a font cache control device for a data output device accompanied by a function of font cache control, characterized in that:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5100049A JPH06289838A (en) | 1993-04-05 | 1993-04-05 | Font cache controller and its applying method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5100049A JPH06289838A (en) | 1993-04-05 | 1993-04-05 | Font cache controller and its applying method |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06289838A true JPH06289838A (en) | 1994-10-18 |
Family
ID=14263650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5100049A Pending JPH06289838A (en) | 1993-04-05 | 1993-04-05 | Font cache controller and its applying method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06289838A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1113413A2 (en) * | 1999-12-28 | 2001-07-04 | 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/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1113413A2 (en) * | 1999-12-28 | 2001-07-04 | GE Medical Systems Global Technology Company LLC | Workstation with text font cache |
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 |
---|---|---|
US7769792B1 (en) | Low overhead thread synchronization system and method for garbage collecting stale data in a document repository without interrupting concurrent querying | |
US7634517B1 (en) | System and method for dynamically updating a document repository without interrupting concurrent querying | |
US7617226B1 (en) | Document treadmilling system and method for updating documents in a document repository and recovering storage space from invalidated documents | |
JP4344898B2 (en) | Image processing apparatus, image processing method, and image forming apparatus | |
EP1035477B1 (en) | Improved cache memory and system | |
JP3973129B2 (en) | Cache memory device and central processing unit using the same | |
CN116991761A (en) | Data processing method, device, computer equipment and storage medium | |
JPH06289838A (en) | Font cache controller and its applying method | |
JPH06106810A (en) | Method for forming image and its device | |
JP2933486B2 (en) | How to search all databases simultaneously | |
JP2000250518A (en) | Character processor and processing method for character data, and storage medium | |
JP3473287B2 (en) | Font management device | |
JP4131579B2 (en) | Data management system and data management method | |
JPH02234287A (en) | Font pattern forming device | |
JPH05261983A (en) | Character data control device | |
JPH08263044A (en) | Character processor | |
JPH091875A (en) | Image output apparatus | |
CN112835716A (en) | CPU (Central processing Unit) cache allocation method and terminal for 5G communication virtualization network element | |
JPH06183093A (en) | Printing equipment | |
JPH03113492A (en) | Document processor | |
JPH0659831A (en) | Font cache controller | |
JPH06175636A (en) | Document processor | |
JPH1016319A (en) | Print data-developing apparatus | |
JP2002007096A (en) | Cache memory controller | |
JPH1131148A (en) | Whole sentence retrieval device and its method |