(57)【特許請求の範囲】
【請求項１】
２つのプロセッサから任意にアクセスすることのできる２つのメモリを設け、これら各プロセッサにより前記メモリに対して所定のデータ列を記録するとともに、このメモリに記録されたデータ列を読み込んで所定の処理を行なうためのデータ処理方法であって、前記各メモリの先頭および末尾にそれぞれ少なくとも１つのデータ列以上の容量を有している先頭マージンエリアおよび末尾マージンエリアを設け、一方のプロセッサにより、一方のメモリの先頭マージンエリアを空けて記録領域の先頭からデータ列を順次記録し、この一方のプロセッサにより当該メモリの末尾マージンエリアにデータ列の区切りが来ると判断した場合に、このメモリの末尾マージンエリアに記録されるデータ列を他方のメモリの先頭マージンエリアに複製して、一方のメモリの末尾マージンエリアの記録内容と他方のメモリの先頭マージンエリアの記録内容とを同一の内容とし、他方のプロセッサにより、前記一方のメモリから順次データ列を読み込んで所定の処理を行ない、このメモリのデータの処理中に当該メモリの末尾マージンエリアで、データ列の区切りを検出したら、当該メモリの処理を終了し、他方のメモリの先頭マージンエリアに切り換え、当該先頭マージンエリアに記録されているデータ列のうち、前記一方の末尾マージンエリアの既に処理が完了しているデータ列を飛ばしてデータ処理を継続するようにしてメモリのデータ処理を行なうようにしたことを特徴とするデータ処理方法。
【請求項２】
２つのプロセッサから任意にアクセスすることのできる２つのメモリを設け、これら各プロセッサにより前記メモリに対して所定のデータ列を記録するとともに、このメモリに記録されたデータ列を読み込んで所定の処理を行なうためのデータ処理方法であって、前記各メモリの先頭および末尾にそれぞれ少なくとも１つのデータ列以上の容量を有している先頭マージンエリアおよび末尾マージンエリアを設け、一方のプロセッサにより一方のメモリの先頭マージンエリアを空けて記録領域の先頭からデータ列を順次記録し、このメモリの末尾マージンエリアの末尾まで、データ列が記録されたら、メモリを他方のメモリに切り換えて、このメモリの先頭マージンエリアを空けて記録領域の先頭からデータ列を記録し、他方のプロセッサにより、前記一方のメモリから順次データ列を読み込んで所定の処理を行ない、このメモリのデータ列を処理中に末尾マージンエリアでデータ列の区切りが来ると判断した場合に、このデータ列の区切りからこのメモリの末尾マージンエリアの末尾までのデータ列を、プロセッサの占有メモリに一時的に退避させ、このメモリから他方のメモリに切り換えた後、前記占有メモリに退避しておいたデータ列を他方のメモリの先頭マージンエリアに複写し、当該複写したデータ列よりメモリのデータ処理を行なうようにしたことを特徴とするデータ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ処理方法に係り、特に、２つのプロセッサから任意にアクセスすることのできる２つのメモリを設け、これら各プロセッサにによりメモリに対して所定のデータ列を記録するとともに、このメモリに記録されたデータ列を読み込んで所定の処理を行なうためのデータ処理方法に関するものである。
【０００２】
【従来の技術】
一般に、２つのプロセッサをバスを介して２つのメモリにそれぞれ接続し、各プロセッサから各メモリに対してそれぞれ任意にアクセスして各メモリの書き込みおよび読み込みを行なうことができるいわゆるデュアルポートメモリシステムが用いられている。
【０００３】
このような従来のデュアルポートメモリシステムを用いて所定のデータ列を書き込む場合、例えば、一方のプロセッサにより、まず、一方のメモリの先頭の記録領域からデータ列を順次書き込む。そして、このデータ列を書き込むことにより、メモリの記録領域の末尾までデータ列が書き込まれ、データ列を書き込むことができなくなると、他方のメモリの先頭領域からデータ列の続きのデータを書き込むようになっている。そのため、一方のメモリの末尾の記録領域と他方のメモリの先頭の記録領域との２つの領域に１つのデータ列が分断されて記録されてしまうことがある。
【０００４】
そして、他方のプロセッサによりメモリに書き込まれたデータ列を読み込む場合は、プロセッサによりメモリに書き込まれたデータ列を記録領域の先頭から順次読み込むようになっており、この読み込んだデータ列に応じて所定の処理を行なうようになっている。この場合に、他方のプロセッサがこのデータ列を処理する際に、メモリの末尾に分断されたデータ列を検出したら、このデータ列をプロセッサの有するメモリに一時的に取り込むとともに、他方のメモリの先頭の分断されたデータ列を一時的に取り込み、これら各分断されたデータ列を１つのデータ列として再構成し、このデータ列に従って、所定の処理を行なうようになっている。
【０００５】
【発明が解決しようとする課題】
しかしながら、このような従来のデータ処理方法においては、メモリにデータ列を順次書き込み、このメモリに書き込むことができなくなったら、別のメモリに順次データ列の書き込みを行なうようにしているので、データ列の分断が生じてしまい、プロセッサによりこれら分断されたデータ列の再構成を行なった後、データ列に従って処理を行なう必要があるので、データ列の処理動作に時間がかかってしまい、処理速度の低下を招いてしまうという問題を有している。
【０００６】
本発明は前述した点に鑑みてなされたもので、プロセッサの負担を軽くして、処理時間の短縮化を図るとともに、処理速度を高めることのできるデータ処理方法を提供することを目的とするものである。
【０００７】
【課題を解決するための手段】
前記目的を達成するため本発明に係るデータ処理方法は、２つのプロセッサから任意にアクセスすることのできる２つのメモリを設け、これら各プロセッサにより前記メモリに対して所定のデータ列を記録するとともに、このメモリに記録されたデータ列を読み込んで所定の処理を行なうためのデータ処理方法であって、前記各メモリの先頭および末尾にそれぞれ少なくとも１つのデータ列以上の容量を有している先頭マージンエリアおよび末尾マージンエリアを設け、一方のプロセッサにより、一方のメモリの先頭マージンエリアを空けて記録領域の先頭からデータ列を順次記録し、この一方のプロセッサにより当該メモリの末尾マージンエリアにデータ列の区切りが来ると判断した場合に、このメモリの末尾マージンエリアに記録されるデータ列を他方のメモリの先頭マージンエリアに複製して、一方のメモリの末尾マージンエリアの記録内容と他方のメモリの先頭マージンエリアの記録内容とを同一の内容とし、他方のプロセッサにより、前記一方のメモリから順次データ列を読み込んで所定の処理を行ない、このメモリのデータの処理中に当該メモリの末尾マージンエリアで、データ列の区切りを検出したら、当該メモリの処理を終了し、他方のメモリの先頭マージンエリアに切り換え、当該先頭マージンエリアに記録されているデータ列のうち、前記一方の末尾マージンエリアの既に処理が完了しているデータ列を飛ばしてデータ処理を継続するようにしてメモリのデータ処理を行なうようにしたことを特徴とするものである。
【０００８】
この発明によれば、一方のプロセッサにより一方のメモリの末尾マージンエリアに記録されるデータ列を他方のメモリの先頭マージンエリアに複製し、一方のメモリの末尾マージンエリアの記録内容と他方のメモリの先頭マージンエリアの記録内容を同一の内容とするようにしているので、処理を行なう他方のプロセッサは、データ列の再構成を行なうことなく、メモリを切り換えるだけで、データ列の読み込みおよび処理を行なうことができる。その結果、一方のプロセッサは重複してデータ列を書き込む必要があるものの、他方のプロセッサの負担を著しく軽くすることができ、処理時間の短縮化を図ることができ、処理速度を著しく高めることができる。
【０００９】
また、他の発明は、２つのプロセッサから任意にアクセスすることのできる２つのメモリを設け、これら各プロセッサにより前記メモリに対して所定のデータ列を記録するとともに、このメモリに記録されたデータ列を読み込んで所定の処理を行なうためのデータ処理方法であって、前記各メモリの先頭および末尾にそれぞれ少なくとも１つのデータ列以上の容量を有している先頭マージンエリアおよび末尾マージンエリアを設け、一方のプロセッサにより一方のメモリの先頭マージンエリアを空けて記録領域の先頭からデータ列を順次記録し、このメモリの末尾マージンエリアの末尾まで、データ列が記録されたら、メモリを他方のメモリに切り換えて、このメモリの先頭マージンエリアを空けて記録領域の先頭からデータ列を記録し、他方のプロセッサにより、前記一方のメモリから順次データ列を読み込んで所定の処理を行ない、このメモリのデータ列を処理中に末尾マージンエリアでデータ列の区切りが来ると判断した場合に、このデータ列の区切りからこのメモリの末尾マージンエリアの末尾までのデータ列を、プロセッサの占有メモリに一時的に退避させ、このメモリから他方のメモリに切り換えた後、前記占有メモリに退避しておいたデータ列を他方のメモリの先頭マージンエリアに複写し、当該複写したデータ列よりメモリのデータ処理を行なうようにしたことを特徴とするものである。
【００１０】
この発明によれば、一方のプロセッサにより各メモリの先頭マージンエリアを空けるようにデータ列を記録し、他方のプロセッサにより、一方のメモリのデータ列を処理中に末尾マージンエリアでデータ列の区切りを見つけたときは、このデータ列の区切りから一方のメモリの末尾マージンエリアの末尾までのデータ列を、他方のメモリの先頭マージンエリアに複写してから、このメモリのデータ処理を行なうようにしているので、データ列を記録するプロセッサは、先頭マージンエリアを空けて記録するだけでよく、プロセッサの負担を軽くすることができる。また、他方のプロセッサもデータ列の複写は必要であるが、データ列を複写することにより、データ列の再構成を行なうことができるので、従来の方法と比較して、処理時間の短縮化を図ることができ、処理速度を著しく高めることができる。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態を図１から図６を参照して説明する。
【００１２】
図１は本発明に係るデータ処理方法に適用されるデータ処理装置の実施の一形態を示したもので、本実施形態においては、プロセッサＡ１およびプロセッサＢ２の２つのプロセッサを有しており、これら各プロセッサＡ１およびプロセッサＢ２には、それぞれバス３を介してメモリＡ４およびメモリＢ５がそれぞれ接続されている。前記各プロセッサ１，２は、それぞれバス３を介して各メモリ４，５に任意にアクセスすることができるようになっている。
【００１３】
また、本実施形態においては、図２に示すように、前記各メモリ４，５の記録領域６の先頭部分および末尾部分には、それぞれ先頭マージンエリア７および末尾マージンエリア８が設けられている。これら各マージンエリア７，８は、少なくとも１つのデータ列以上の容量を有している。そして、このデータ列としては、例えば、プリンタにおける処理を行なう場合には、印刷データを１バンド分まとめたものが１データ列となる。
【００１４】
次に、本発明に係るデータ処理方法について図３および図４を参照して説明する。
【００１５】
本実施形態においては、プロセッサＡ１によりデータ列の記録を行なうとともに、プロセッサＢ２によりデータ列の処理を行なう場合の処理について説明する。
【００１６】
まず、プロセッサＡ１によりメモリＡ４に所定のデータ列を書き込む場合は、図３に示すように、プロセッサＡ１によりメモリＡ４の先頭マージンエリア７を空けて記録領域６の先頭からデータ列を順次記録していく（ＳＴ１）。そして、プロセッサＡ１によりメモリＡ４の末尾マージンエリア８にデータ列の区切りが来るか否かを判断し（ＳＴ２）、データ列の区切りが来ると判断した場合には、このメモリＡ４の末尾マージンエリア８に記録されるデータ列をメモリＢ５の先頭マージンエリア７に複写し、メモリＡ４の末尾マージンエリア８の記録内容とメモリＢ５の先頭マージンエリア７の記録内容を同一の内容としておく（ＳＴ３）。
【００１７】
その後、メモリＡ４からメモリＢ５に切り換えて、メモリＢ５の先頭マージンエリア７に複製されたデータ列に続けてデータ列を記録していく（ＳＴ４）。
【００１８】
また、プロセッサＢ２により、各メモリに記録されたデータ列の処理を行なう場合は、図４に示すように、メモリＡ４から順次データ列を読み込んで所定の処理を行ない（ＳＴ５）、このメモリＡ４のデータの処理中にメモリＡ４の末尾マージンエリア８で、データ列の区切りを検出したら（ＳＴ６）、メモリＡ４の処理を終了し、メモリＢ５に切り換え（ＳＴ７）、メモリＢ５のデータ列を読み込んでデータ処理を開始する（ＳＴ８）。この場合に、メモリＢ５の先頭マージンエリア７に記録されているデータ列のうち、メモリＡ４の末尾マージンエリア８の既に処理が完了しているデータ列を飛ばしてデータ処理を継続するようになっている。
【００１９】
したがって、本実施形態においては、プロセッサＡ１によりメモリＡ４の末尾マージンエリア８に記録されるデータ列をメモリＢ５の先頭マージンエリア７に複製し、メモリＡ４の末尾マージンエリア８の記録内容とメモリＢ５の先頭マージンエリア７の記録内容を同一の内容とするようにしているので、処理を行なうプロセッサＢ２は、データ列の再構成を行なうことなく、メモリを切り換えるだけで、データ列の読み込みおよび処理を行なうことができる。その結果、プロセッサＡ１は重複してデータ列を書き込む必要があるものの、プロセッサＢ２の負担を著しく軽くすることができ、処理時間の短縮化を図ることができ、処理速度を著しく高めることができる。
【００２０】
また、図５および図６は本発明の他の実施形態を示したもので、本実施形態においても前記実施形態と同様に、図１に示す構成のプロセッサおよびメモリを有している。
【００２１】
本実施形態においても、プロセッサＡ１によりデータ列の記録を行なうとともに、プロセッサＢ２によりデータ列の処理を行なう場合の処理について説明する。
【００２２】
まず、プロセッサＡ１によりメモリＡ４に所定のデータ列を書き込む場合は、図５に示すように、プロセッサＡ１によりメモリＡ４の先頭マージンエリア７を空けて記録領域６の先頭からデータ列を順次記録していく（ＳＴ９）。そして、メモリＡ４の末尾マージンエリア８の末尾まで、データ列が記録されたら（ＳＴ１０）、メモリＡ４をメモリＢ５に切り換えて、メモリＢ５の先頭マージンエリア７を空けて記録領域６の先頭からデータ列を記録していく（ＳＴ１１）。すなわち、本実施形態においては、各メモリ４，５の先頭マージンエリア７にはデータ列を記録せずに空けておくようになっている。
【００２３】
また、プロセッサＢ２により、各メモリ４，５に記録されたデータ列の処理を行なう場合は、図６に示すように、プロセッサＢ２は、メモリＡ４から順次データ列を読み込んで所定の処理を行ない（ＳＴ１２）、このメモリＡ４のデータの処理中にメモリＡ４の末尾マージンエリア８で、データ列の区切りを検出したら（ＳＴ１３）、このデータ列の区切りからメモリＡ４の末尾マージンエリア８の末尾までのデータ列を、例えば、プロセッサＢ２が占有する他の占有メモリに一時的に退避させ（ＳＴ１４）、メモリＡ４からメモリＢ５に切り換えた後（ＳＴ１５）、占有メモリに退避しておいたデータ列をメモリＢ５の先頭マージンエリア７に複写し（ＳＴ１６）、メモリＢ５のデータ処理を継続するようになっている（ＳＴ１７）。
【００２４】
したがって、本実施形態においては、プロセッサＡ１により各メモリ４，５の先頭マージンエリア７を空けるようにデータ列を記録し、プロセッサＢ２により、メモリＡ４のデータ列を処理中に末尾マージンエリア８でデータ列の区切りを見つけたときは、このデータ列の区切りからメモリＡ４の末尾マージンエリア８の末尾までのデータ列を、メモリＢ５の先頭マージンエリア７に複写してから、メモリＢ５のデータ処理を行なうようにしているので、データ列を記録するプロセッサＡ１は、先頭マージンエリア７を空けて記録するだけでよく、プロセッサＡ１の負担を軽くすることができる。また、プロセッサＢ２もデータ列の複写は必要であるが、データ列を複写することにより、データ列の再構成を行なうことができるので、従来の方法と比較して、処理時間の短縮化を図ることができ、処理速度を著しく高めることができる。
【００２５】
なお、本発明は、前記実施の形態に限定されるものではなく、必要に応じて変更することができる。
【００２６】
【発明の効果】
以上述べたように本発明に係るデータ処理方法は、一方のプロセッサにより一方のメモリの末尾マージンエリアに記録されるデータ列を他方のメモリの先頭マージンエリアに複製し、一方のメモリの末尾マージンエリアの記録内容と他方のメモリの先頭マージンエリアの記録内容を同一の内容とするようにしているので、処理を行なう他方のプロセッサは、データ列の再構成を行なうことなく、メモリを切り換えるだけで、データ列の読み込みおよび処理を行なうことができ、その結果、処理時間の短縮化を図ることができ、処理速度を著しく高めることができる。
【００２７】
また、他の発明は、一方のプロセッサにより各メモリの先頭マージンエリアを空けるようにデータ列を記録し、他方のプロセッサにより、一方のメモリのデータ列を処理中に末尾マージンエリアでデータ列の区切りを見つけたときは、このデータ列の区切りから一方のメモリの末尾マージンエリアの末尾までのデータ列を、他方のメモリの先頭マージンエリアに複写してから、このメモリのデータ処理を行なうようにしているので、データ列を記録するプロセッサは、先頭マージンエリアを空けて記録するだけでよく、プロセッサの負担を軽くすることができ、また、他方のプロセッサもデータ列を複写することにより、データ列の再構成を行なうことができるので、従来の方法と比較して、処理時間の短縮化を図ることができ、処理速度を著しく高めることができる等の効果を奏する。
【図面の簡単な説明】
【図１】  本発明に係るデータ処理方法に適用されるデータ処理装置の実施の一形態を示すブロック図
【図２】  本発明のデータ処理装置に用いられるメモリの概念図
【図３】  本発明のデータ処理方法の一実施形態による書き込み処理を示すフローチャート
【図４】  本発明のデータ処理方法の一実施形態による読み込み処理を示すフローチャート
【図５】  本発明のデータ処理方法の他の実施形態による書き込み処理を示すフローチャート
【図６】  本発明のデータ処理方法の他の実施形態による読み込み処理を示すフローチャート
【符号の説明】
１  プロセッサＡ
２  プロセッサＢ
４  メモリＡ
５  メモリＢ
６  記録領域
７  先頭マージンエリア
８  末尾マージンエリア
【図１】
0003828746.tif 000002
【図２】
0003828746.tif 000003
【図３】
0003828746.tif 000004
【図４】
0003828746.tif 000005
【図５】
0003828746.tif 000006
【図６】
0003828746.tif 000007