JP2004206369A - Access method and access program to common resource - Google Patents

Access method and access program to common resource Download PDF

Info

Publication number
JP2004206369A
JP2004206369A JP2002374065A JP2002374065A JP2004206369A JP 2004206369 A JP2004206369 A JP 2004206369A JP 2002374065 A JP2002374065 A JP 2002374065A JP 2002374065 A JP2002374065 A JP 2002374065A JP 2004206369 A JP2004206369 A JP 2004206369A
Authority
JP
Japan
Prior art keywords
tag number
management information
common resource
processor
dual port
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.)
Granted
Application number
JP2002374065A
Other languages
Japanese (ja)
Other versions
JP4122968B2 (en
Inventor
Masao Murai
政夫 村井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2002374065A priority Critical patent/JP4122968B2/en
Publication of JP2004206369A publication Critical patent/JP2004206369A/en
Application granted granted Critical
Publication of JP4122968B2 publication Critical patent/JP4122968B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To resolve a problem of prolonged processing time because of convergence of a common bus for poling lock release and waiting for release in the case that accessing common resource is locked in a conventional method which needs an exclusive process at the time a plurality of processors access to the common resource of a common memory. <P>SOLUTION: Processors 1, 4 access to the common resource of the common memory 9 via a common bus 8 in the method which includes a dual port RAM 7 connected to local buses 3, 6 of each processor and management information of each common resource. The processor 1 matches a tag number to the dual port RAM 7 and stores writing data beforehand at the time of accessing for writing and the tag number is set to the management information and a writing process is executed if the management information is lock-off. As for accessing for reading of the processor 4 during the above period of time, the tag number is read from the management information and data are read from the dual port RAM 7. With the access for writing, the tag number corresponding to writing data stored beforehand is set to the management information as well. This writing process is achieved also by the processor 1. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は複数のプロセッサに共通使用される共通メモリ上の共通資源へのアクセス方式及びアクセスプログラムに関する。
【0002】
【従来の技術】
マルチプロセッサが共通メモリを有し、共通メモリ内の共通資源にアクセスする場合、複数のプロセッサが同時に同じ共通資源を変更しない様に、一般的には共通資源毎にロックフラグを用いて排他的処理を行う。
【0003】
最初に共通資源にアクセスしたプロセッサ(例えば第一のプロセッサとする)はロックフラグを立てて、他のプロセッサがこの共通資源へアクセスするのを禁止する。ロックフラグを立てた第一のプロセッサは共通資源へのアクセスが終わるとロックフラグをクリアする。
【0004】
他のプロセッサが共通資源にアクセスしたときにロックフラグが立っていたら、共通資源にアクセスができないので、他のプロセッサはロックフラグがクリアされるまで待たなければならない。ロックフラグはいつクリアされるか分からないので、他のプロセッサは常にロックフラグをポーリングしなければならない。
【0005】
この様な複数のプロセッサがバスを介しメモリ上の共有データにアクセスするマルチプロセッサシステムの例として、一方のプロセッサがメモリの共有データをアクセスしている間に、他方のプロセッサからの上記共有データへのメモリアクセス要求の受付を拒絶する一方、他方のプロセッサからの上記共有データのアドレスと異なるアドレスへのメモリアクセス要求を受け付けるメモリアクセス制御回路を備えたマルチプロセッサシステムがある(例えば特許文献1参照。)。
【0006】
【特許文献1】
特開平5−210640号公報(第2頁第2行から第14、段落[0086])
【0007】
【発明が解決しようとする課題】
上記マルチプロセッサの例では、他方のプロセッサが排他制御されたデータアクセスを行うタスクやジョブを一時保留し、排他制御されてないデータにアクセスする様なタスクやジョブに切り替えることでマルチプロセッサシステムのスループット低下を低減するものである。
【0008】
従って、他方のプロセッサがリアルタイム処理を要求するジョブには適用出来ない。即ち、排他制御で待たされるジョブの処理時間は長くなるという問題がある。
【0009】
又、他方のプロセッサが対象の共有データへのアクセス要求の受付が許可されるタイミングを教えるものでなく、上記ポーリングを大幅に低減するものではない。
【0010】
一般的に、共通メモリは共通バスに接続されており、共通バスはバス調停が必要なこと、及び線路長が長いことによってアクセススピードが遅い。従って、複数のプロセッサが共用して使用する共通バスが輻輳し、システム全体の能力を低下させてしまうという問題もある。
【0011】
【課題を解決するための手段】
本発明の第1の共通資源へのアクセス方式は、2台のプロセッサが共通バスを通じ共通メモリ上の共通資源へアクセスする方式であって、各プロセッサがローカルバスを通じアクセス可能なデュアルポートメモリと、共通資源管理記憶とを含み、各プロセッサが使用する複数のユニークなタグ番号を、初期値や複数の所定値を除いて、又プロセッサ識別が出来る様に定義し、前記デュアルポートメモリ上にはこのタグ番号に対応したバッファを有し、前記共通資源管理記憶には、共通資源のロックフラグも兼ねた前記タグ番号、ロックフラグオフを示す前記初期値、或いはロックフラグオン且つリード中であることをプロセッサ別に示す前記複数の所定値を管理情報として共通資源毎に保持し、プロセッサが、共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックし、初期値即ちロックフラグオフであれば、管理情報を前記タグ番号に更新後、共通資源への書込を行い、管理情報のタグ番号を初期化、即ちロックフラグオフする手段と、共通資源への読出に際し、アクセス対象の管理情報をチェックし、初期値か何れかの所定値、即ちロックフラグオフかリード中であれば、管理情報を自分の所定値に更新し、共通資源からの読出を行い、管理情報が更新されてなければこれを初期化する手段と、前記チェックでタグ番号がセットされていればそれが示すデュアルポートメモリのバッファよりデータを読出す手段を有することを特徴とする。
【0012】
本発明の第2の共通資源へのアクセス方式は、前記第1の共通資源へのアクセス方式に於いて、前記プロセッサが、共通資源への書込に際し、タグ番号を決め書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックし、初期値であれば、管理情報を前記タグ番号に更新し、共通資源への書込を行い、管理情報を確認し別のタグ番号に更新されていればデュアルポートメモリのそのタグ番号対応のバッファより書込データを取り出し共通資源への書込を行なってから管理情報を初期化する手段と、前記チェックで、管理情報にタグ番号か何れかの所定値が設定されていれば即ちロックオンであれば、管理情報を前記書込データのデュアルポートメモリへの格納時のタグ番号に更新する手段と、共通資源への読出に際し、アクセス対象の管理情報をチェックし、初期値か何れかの所定値であれば、これを自分の所定値に更新し、共通資源からの読出を行い、管理情報を確認し、更新されてなければ直ぐに、タグ番号に更新されていればデュアルポートメモリのそのタグ番号対応のバッファより書込データを取り出し共通資源への書込を行なってから、それぞれ管理情報を初期化する手段と、前記チェックで管理情報にタグ番号がセットされていればそれが示すデュアルポートメモリのバッファよりデータを読出す手段を有することを特徴とする。
【0013】
本発明の第3の共通資源へのアクセス方式は、2台のプロセッサが共通バスを通じ共通メモリ上の共通資源へアクセスする方式であって、各プロセッサがローカルバスを通じアクセス可能なデュアルポートメモリと、共通資源管理記憶とを含み、各プロセッサが使用する複数のユニークなタグ番号を定義し、前記デュアルポートメモリ上にはこのタグ番号に対応したバッファを有し、前記共通資源管理記憶には、ロックフラグとリード中フラグとプロセッサ番号とタグ番号を含む管理情報を共通資源毎に保持し、プロセッサが、共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックしロックフラグがオフであれば、これをオンとしプロセッサ番号は自番号としタグ番号エリアは前記タグ番号として管理情報を更新し、共通資源への書込を行い、管理情報のロックフラグをオフする手段と、共通資源への読出に際し、アクセス対象の管理情報をチェックし、ロックフラグがオフかリード中フラグがオンであれば、ロックフラグとリード中フラグをオンとしプロセッサ番号を自番号として管理情報を更新し、共通資源からの読出を行い、管理情報を確認しプロセッサ番号が更新されてなければロックフラグやリード中フラグをクリアする手段と、前記管理情報チェックでロックフラグがオンでリード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファよりデータを読出す手段を有することを特徴とする。
【0014】
本発明の第4の共通資源へのアクセス方式は、前記第3の共通資源へのアクセス方式に於いて、前記プロセッサが、共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックしロックフラグがオフであれば、これをオンとしプロセッサ番号は自番号としタグ番号エリアは前記タグ番号として管理情報を更新し、共通資源への書込を行い、管理情報を確認しタグ番号が更新されていればデュアルポートメモリの対応バッファより書込データを取り出し共通資源への書込を行なってからロックフラグをオフする手段と、前記チェックでロックフラグがオンであれば管理情報のタグ番号を書込データのデュアルポートメモリへの格納時のタグ番号に更新しリード中フラグをオフする手段と、共通資源への読出に際し、アクセス対象の管理情報をチェックし、ロックフラグがオフかリード中フラグがオンであれば、ロックフラグとリード中フラグをオンとしプロセッサ番号は自番号として管理情報を更新し、共通資源からの読出を行い、管理情報を確認し、更新されてなければ直ぐに、ロックフラグやリード中フラグをクリアし、リード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファより書込データを取り出し、共通資源に書込んでからロックフラグをオフする手段と、前記管理情報チェックでロックフラグがオンでリード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファよりデータを読出す手段を有することを特徴とする。
【0015】
本発明の第5の共通資源へのアクセス方式は、前記第1、第2、第3、又は第4の共通資源へのアクセス方式に於いて、プロセッサが、次回用タグ番号を記憶する記憶域と、共通資源への書込発生時前記記憶域より読出したタグ番号をデュアルポートメモリへの格納時タグ番号とする手段と、書込要求の処理終了で前記記憶域のタグ番号をインクリメントないし開始値に循環させ更新する手段を有し、自プロセッサに割り当てられたタグ番号を番号順に循環使用することを特徴とする。
【0016】
本発明の第6の共通資源へのアクセス方式は、前記第2、又は第4の共通資源へのアクセス方式に於いて、前記デュアルポートメモリ上にはタグ番号毎にその番号或いは有効性表示フラグを保持するタグエリアも有し、プロセッサが、次回用タグ番号を記憶する記憶域と、共通資源への書込発生時前記記憶域より読出したタグ番号の空きを前記タグエリアを参照し確認し、空きでなければ空き番号になるまでインクリメントや循環し前記記憶域を更新してからそれぞれ決定タグ番号とする手段と、デュアルポートメモリのタグ番号対応バッファへの書込データ格納を終えるとタグエリアの対応タグ番号を有効化し、デュアルポートメモリのタグ番号対応バッファの書込データを共通資源に格納し終えるとタグエリアの対応タグ番号を無効化する手段と、書込要求の処理終了で前記記憶域のタグ番号をインクリメントないし開始値に循環させ更新する手段を有することを特徴とする。
【0017】
本発明の第7の共通資源へのアクセス方式は、前記第1乃至第6の何れかの共通資源へのアクセス方式に於いて、前記2台のプロセッサをN台のプロセッサとし、前記デュアルポートメモリをNポートメモリとすることを特徴とする。
【0018】
本発明の第1の共通資源へのアクセスプログラムは、2台のプロセッサが共通バスを通じアクセスする共通メモリ上の共通資源への書込に際し、タグ番号を決め、各プロセッサのローカルバスが接続されたデュアルポートメモリにアクセスし、書込データを前記タグ番号対応のバッファに予め格納し、アクセス対象の共通資源の管理情報をチェックし、初期値即ちロックフラグオフであれば、管理情報を前記タグ番号に更新後、共通資源への書込を行い、管理情報のタグ番号を初期化即ちロックフラグオフする手順と、前記共通資源への読出に際し、アクセス対象の共通資源の管理情報をチェックし初期値か何れかの所定値、即ちロックフラグオフかリード中であれば、管理情報を自分の所定値に更新し、共通資源からの読出を行い、管理情報が更新されてなければこれを初期化する手順と、前記チェックでタグ番号がセットされていればそれが示す前記デュアルポートメモリのバッファよりデータを読出す手順とを有することを特徴とする。
【0019】
本発明の第2の共通資源へのアクセスプログラムは、前記第1の共通資源へのアクセスプログラムに於いて、前記共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の共通資源の管理情報をチェックし、初期値であれば、管理情報を前記タグ番号に更新し、共通資源への書込を行ない、管理情報を確認し別のタグ番号に更新されていればデュアルポートメモリのそのタグ番号に対応したバッファより書込データを取り出し共通資源への書込を行なってから管理情報を初期化する手順と、前記チェックで、管理情報がタグ番号か何れかの所定値即ちロックオンであれば、管理情報を前記書込データのデュアルポートメモリへの格納時のタグ番号に更新する手順と、前記共通資源への読出に際し、アクセス対象の管理情報をチェックし、初期値か何れかの所定値であれば、これを自分の所定値に更新し、共通資源からの読出を行い、管理情報を確認し、更新されてなければ直ぐに、タグ番号に更新されていればデュアルポートメモリのそのタグ番号対応のバッファより書込データを取り出し共通資源への書込を行なってから、それぞれ管理情報を初期化する手順と、前記チェックで管理情報にタグ番号がセットされていればそれが示すデュアルポートメモリのバッファよりデータを読出す手順とを有することを特徴とする。
【0020】
本発明の第3の共通資源へのアクセスプログラムは、2台のプロセッサが共通バスを通じアクセスする共通メモリ上の共通資源への書込に際し、タグ番号を決め、各プロセッサのローカルバスが接続されたデュアルポートメモリにアクセスし、書込データを前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックしロックフラグがオフであれば、これをオンとしプロセッサ番号は自番号としタグ番号エリアは前記タグ番号として管理情報を更新し、共通資源への書込を行い、管理情報のロックフラグをオフする手順と、共通資源への読出に際し、アクセス対象の管理情報をチェックし、ロックフラグがオフかリード中フラグがオンであれば、ロックフラグとリード中フラグをオンとしプロセッサ番号を自番号として管理情報を更新し、共通資源からの読出を行い、管理情報を確認しプロセッサ番号が更新されてなければロックフラグやリード中フラグをクリアする手順と、前記管理情報チェックでロックフラグがオンでリード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファよりデータを読出す手順を有することを特徴とする。
【0021】
本発明の第4の共通資源へのアクセスプログラムは、前記第3の共通資源へのアクセスプログラムに於いて、前記共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックしロックフラグがオフであれば、これをオンとしプロセッサ番号は自番号としタグ番号エリアは前記タグ番号として管理情報を更新し、共通資源への書込を行い、管理情報を確認しタグ番号が更新されていればデュアルポートメモリの対応バッファより書込データを取り出し共通資源への書込を行なってからロックフラグをオフする手順と、前記チェックでロックフラグがオンであれば管理情報のタグ番号を書込データのデュアルポートメモリへの格納時のタグ番号に更新しリード中フラグをオフする手順と、前記共通資源への読出に際し、アクセス対象の管理情報をチェックし、ロックフラグがオフかリード中フラグがオンであれば、ロックフラグとリード中フラグをオンとしプロセッサ番号は自番号として管理情報を更新し、共通資源からの読出を行い、管理情報を確認し、更新されてなければ直ぐに、ロックフラグやリード中フラグをクリアし、リード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファより書込データを取り出し、共通資源に書込んでからロックフラグをオフする手順と、前記管理情報チェックでロックフラグがオンでリード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファよりデータを読出す手順を有することを特徴とする。
【0022】
本発明の第5の共通資源へのアクセスプログラムは、前記第1、第2、第3、又は第4の共通資源へのアクセスプログラムに於いて、前記共通資源への書込に際し、次回用タグ番号記憶域より読出したタグ番号を前記デュアルポートメモリへの格納時タグ番号とする手順と、書込要求の処理終了で前記記憶域のタグ番号をインクリメントないし開始値に循環させ更新する手順を有し、自プロセッサに割り当てられたタグ番号を番号順に循環使用することを特徴とする。
【0023】
本発明の第6の共通資源へのアクセスプログラムは、前記第2、又は第4の共通資源へのアクセスプログラムに於いて、前記共通資源への書込に際し、次回用タグ番号記憶域より読出したタグ番号の空きを、デュアルポートメモリ上のタグ番号管理エリアを参照して確認し、空きでなければ空き番号になるまでインクリメントや循環し前記記憶域の更新をしてからそれぞれ決定タグ番号とする手順と、デュアルポートメモリのタグ番号対応バッファへの書込データ格納を終えると前記タグ番号管理エリアの対応タグ番号を有効化し、デュアルポートメモリのタグ番号対応バッファの書込データを共通資源に格納し終えると前記タグ番号管理エリアの対応タグ番号を無効化する手順と、書込要求の処理終了で次回用タグ番号記憶域の番号をインクリメントないし開始値に循環させ更新する手順を有することを特徴とする。
【0024】
本発明の第7の共通資源へのアクセスプログラムは、前記第1乃至第6の何れかの共通資源へのアクセスプログラムに於いて、前記共通資源をN台のプロセッサが共通バスを通じアクセスする共通メモリ上の共通資源とし、前記デュアルポートメモリをN台のプロセッサのローカルバスに接続されたNポートメモリとすることを特徴とする。
【0025】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。先ず本発明の第1の実施例を説明する。
【0026】
図1は本発明の共通資源へのアクセス方式を含むマルチプロセッサシステムの構成を示した図である。
【0027】
図1を参照し、二つのマルチプロセッサの例で説明する。第一のプロセッサ1は第一のプロセッサ1専用のローカルRAM・ブートROM2がローカルバス3を介して接続されている。
【0028】
同様に第二のプロセッサ4は第二のプロセッサ4専用のローカルRAM・ブートROM5がローカルバス6を介して接続されている。
【0029】
第一のプロセッサ1と第二のプロセッサ4が共通に使用する共通メモリ9が共通バス8を介して接続されている。共通バス8は第一のプロセッサ1と第二のプロセッサ4が共通に使用するため、バスアクセスが重ならない様にバス調停されている。
【0030】
第一のプロセッサ1と第二のプロセッサ4間に高速でデータのやり取りを行うためのデュアルポートRAM7を備えている。第一のプロセッサ1、第二のプロセッサ4はそれぞれローカルバス3、6を通じデュアルポートRAM7にアクセスする。アクセスはそれぞれ独立して並行に行なえる。
【0031】
第一のプロセッサ1或いは第二のプロセッサ4が共通バス8を介して共通メモリ9の共通資源にライトアクセスしているときは相手のプロセッサが同一の共通資源にアクセスしない様に、共通資源にロックフラグを立てて、相手プロセッサがアクセスするのを禁止している。
【0032】
また、相手プロセッサが同一の共通資源にアクセスすることを想定し、各プロセッサはデュアルポートRAM7にも同一の情報を予めライトしておく。デュアルポートRAM7の情報と共通資源の情報との関連付けを行うために、デュアルポートRAM7のデータと、共通メモリ9上の共通資源のデータには共通のタグを付けておく。
【0033】
このとき、相手プロセッサが同じ共通資源にリードアクセスした場合、ロックビットが立っているので、相手プロセッサは共通メモリ9上の共通資源に付随しているタグを確認し、デュアルポートRAM7上で同一タグを検索し、デュアルポートRAM7上のデータを共通メモリ9上の共通資源として読み取る。
【0034】
またこのとき、相手プロセッサが、デュアルポートRAM7上に共通メモリ9に書くべきデータを書いてから、同じ共通資源にライトアクセスした場合、ロックビットが立っているので、相手プロセッサは共通メモリ9上の共通資源に付随しているタグを自分用のタグ番号に変更して変更があったことを示す。
【0035】
最初のプロセッサは共通メモリ9の共通資源へのアクセスが完了したら、共通資源のタグ番号が書き換わっていないかをチェックし、書き換わっていれば、デュアルポートRAM7上の該当タグ番号に付随するデータを共通メモリ9の該当資源にコピーし、共通資源のロックフラグを解除する。
【0036】
尚、上記共通資源へのアクセス制御処理は、第一のプロセッサ1や第二のプロセッサ4のプログラムで実現できる。
【0037】
次に図2を参照し、共通メモリの内容例を説明する。共通メモリ9は共通資源(0)92−0、・・、共通資源(m)92−mを含む共通資源エリア92と、これら各共通資源の共通資源(0)管理・アドレス情報91−0、・・、共通資源(m)管理・アドレス情報91−mを含む資源管理エリア91を持つ。
【0038】
各共通資源の管理・アドレス情報は管理情報と共通資源のポンイタアドレスを含む。管理情報は通常は0にクリアされているがロック状態ではロックフラグを兼ねたタグ番号が設定される。
【0039】
タグ番号は、その共通資源への書き込みを行う前に予めデュアルポートRAM7上に書き込んだ書込データを識別する為の番号であり、ロックフラグを兼ねる様0以外の番号とし、又何れのプロセッサが設定した番号かが分かる様にしておく。
【0040】
更に、共通資源の管理情報には第一のプロセッサ1、第二のプロセッサ4がそれぞれリード中であることを示す所定値99、98(リードタイプの疑似的タグ番号)も設定するので書込データ識別の番号としては除外しておく。
【0041】
タグ番号数は共通メモリの資源に同時にアクセスする可能性がある数によって決まる。例えば同時にアクセスする可能性があるのが6個程度ならマージンを見てタグ番号は10個を用意する。
【0042】
第一のプロセッサと第二のプロセッサで別々にタグ番号は管理されるので、区別するためにユニークな番号としなければならない。例えば、第一のプロセッサのタグ番号は10〜19を使用し、第二のプロセッサは20〜29を使用する。
【0043】
使用方法は第一のプロセッサの例では、最初のタグ番号は10、次は11、12,・・・と使用して行き、19になったら、次は10に戻る。
【0044】
第二のプロセッサも同様にタグ番号は20〜29を用意し、20、21、22・・・・と使用し、29になったら20に戻る。
【0045】
デュアルポートRAM7の確保するバッファはタグ番号分を用意する。つまり第一のプロセッサ用で10個、第二のプロセッサ用で10個分を確保する。
【0046】
図3はデュアルポートRAM7の内容例を示した図である。タグエリア71にはタグ番号が設定される。バッファエリア72には、各タグ番号に対応したバッファ(10)72−10、・・・、バッファ(29)72−29を持つ。
【0047】
タグ番号が一周したら、デュアルポートRAM7上の各バッファで古いデータは上書きされる。また、デュアルポートRAM7でのタグ検索を容易にするため、タグ番号はタグエリア71に纏められている。
【0048】
又、各バッファのデュアルポートRAM7上のアドレスはタグ番号から容易に作成できる様にしておく。
【0049】
尚、タグエリア71へのタグ番号設定はタグ番号を書き込む代わりに番号に対応するエリアの有効性表示ビットを設定するようにしてもよい。
【0050】
次に、本発明の第1の実施例の動作について図面を参照して説明する。図4に第一のプロセッサ1が共通メモリ9の共通資源にライトし、且つ第二のプロセッサ4が共通メモリ9の同じ共通資源をリードする場合のフローチャートを示す。
【0051】
第一のプロセッサはこの共通資源に割り当てるタグ番号を決定し、共通資源に書くべきデータと同じデータをデュアルポートRAM7のタグ番号対応のバッファに書き、タグ番号をタグエリア71に書いておく(ステップW1)。
【0052】
尚、各プロセッサは今回使用したタグ番号を共通資源アクセス終了時にインクリメント或いは循環させローカルRAM等の所定エリア(次回用タグ番号記憶域)に記憶しており、これを読み出し上記タグ番号としてもよい。
【0053】
更に、上記読み出したタグ番号が空きであるかをタグエリア71を参照し、確認し、タグ番号がすでに存在すれば次の番号の空きを確認し、空いてる最初の番号を決定タグ番号としてもよい。この場合決定タグ番号で上記次回用タグ番号記憶域を更新しておく。
【0054】
第一のプロセッサ1は共通メモリの資源管理エリア91にアクセスし、アクセス対象の共通資源の管理情報をチェックする(ステップW2)。
【0055】
ロックフラグオフであれば、オンにし同時にタグ番号も書く(ステップW3)。
【0056】
ロックフラグの読み取り判定及びタグ番号の書き換えは分割不可のアクセス(チェックアンドロック等)で行い、第二のプロセッサのロックフラグアクセスとのすれ違いを防止する。
【0057】
ロックフラグとタグ番号は同時に書く必要があり、タグ番号はロックフラグも兼ねる。即ちタグ番号が0の場合はロックフラグクリア状態、0以外の場合はロックフラグが立っていると定義されている。
【0058】
第二のプロセッサがここで同じ共通資源の管理情報にアクセスし、管理情報をチェックしてロックフラグが立っていた場合(ステップR1’)、そのタグ番号を読み取り、これがライトタイプ(99や98を除いたタグ番号)につき共通資源のデータには直接アクセスできないと判定し、デュアルポートRAM7で、該当タグ番号を検索する。
【0059】
タグ番号が見つかるとそれに付随するデータを共通資源のデータとして読み取り(ステップR8’)、第二のプロセッサの動作は終了する。
【0060】
第一のプロセッサは共通メモリの共通資源にデータを書く(ステップW4)。
【0061】
第一のプロセッサは共通資源のタグ番号が書き換えられていないか管理情報を確認し(ステップW5)、書き換えられていなければ共通メモリの共通資源の管理情報(ロックフラグ)をクリアし、デュアルポートRAM7の使用したタグ番号もクリアし(ステップW7)、一連の動作を終了する。
【0062】
ここで管理情報(ロックフラグ)のクリアはチェックアンドクリアにて行う。即ちチェックにてロックフラグの書き換えが行われていないことを確認し、書き換えがない場合のみクリアを行う。これらの動作は分割不可のアクセスで行う。
【0063】
ステップW5でタグ番号が書き換わっていれば、デュアルポートRAM7の該当タグ番号に付随するデータを共通メモリ9の共通資源にコピーし、デュアルポートRAM7のタグエリア71の該当タグ番号をクリアする(ステップW6)。この後、タグ番号が更に書き換わってないことを確認し(ステップW5)、書き換わってなければステップW7に進む。
【0064】
第一のプロセッサはステップW2でアクセス対象の共通資源のロックフラグがオンであっても、共通資源の管理情報のタグ番号を先のデュアルポートRAM7に設定したタグ番号に書き換え(ステップW8)、動作を終了する。
【0065】
図5に第一のプロセッサが共通メモリの共通資源にライトし、且つ第二のプロセッサが共通メモリの共通資源にライトする場合のフローチャートを示す。
【0066】
第一のプロセッサは前記ステップW1〜W7と同様の処理をする。第二のプロセッサが自分用のタグ番号を付けデュアルポートRAM7に、共通資源に書くべきデータと同じデータを書き(ステップW1’)、共通資源の管理情報(ロックビット)をチェックする(ステップW2’)。
【0067】
第二のプロセッサの処理の方が多少遅れていれば、ロックフラグはオン(タグ番号が設定済み)しているので、共通資源のタグ番号を自分がデュアルポートRAM7に設定したタグ番号に書き換え(ステップW8’)、動作を終了する。
【0068】
第二のプロセッサの処理の方が多少早ければ、ロックフラグはオフであり、前記第一のプロセッサの処理(ステップW3〜W7)と同様に処理し、動作を終了する。
【0069】
図6に第一のプロセッサが共通メモリの共通資源からリードし、且つ第二のプロセッサが共通メモリの共通資源にライトする場合のフローチャートを示す。
【0070】
第一のプロセッサは共通メモリの資源管理エリア91にアクセスし、アクセス対象の共通資源の管理情報(ロックフラグ)をチェックする(ステップR1)。ロックフラグがオフであればこの共通資源に割り当てるタグ番号を決定する。
【0071】
リードアクセスなので、他プロセッサが同時に共通資源を読み取ることが可能になっていることを示すためにタグ番号はリードタイプのタグ番号とする。例えば99とする。
【0072】
第一のプロセッサは共通メモリの共通資源にロックフラグを立て(リードタイプタグ番号を書く(ステップR2)。
【0073】
又、ロックフラグの読み取り判定(ステップR1)とタグ番号の書き換え(ステップR2)とは分割不可のアクセス(チェックアンドロック等)で行い、第二のプロセッサのロックフラグアクセスとのすれ違いを防止する。
【0074】
第二のプロセッサがここで同じ共通資源にライトするデータを自分のタグ番号を付けデュアルポートRAM7に書込み(ステップW1’)、管理情報をチェックしロックフラグオンであれば、共通資源のデータには直接アクセスできないので、共通資源のタグ部分を自分の前記タグ番号に書き換え(ステップW8’)、第二のプロセッサの動作は終了する。
【0075】
第一のプロセッサは共通メモリの共通資源からデータを読み取る(ステップR3)。第一のプロセッサは共通資源のタグ番号が書き換えられていないか確認する(ステップR4)。
【0076】
書き換えられていなければ共通メモリの共通資源の管理情報(タグ番号)をクリアし(ステップR7)、一連の動作を終了する。
【0077】
ここで管理情報のクリアはチェックアンドクリアにて行う。即ちチェックにてロックフラグの書き換えが行われていないことを確認し、書き換えがない場合のみ、クリアを行う。これらの動作は分割不可のアクセスで行う。
【0078】
書き換えられていた場合は、そのタグ番号がライトタイプであれば(ステップR5)、デュアルポートRAM7のデータを共通メモリの共通資源にコピーし、デュアルポートRAM7のコピー元タグ番号をクリアする(ステップR6)。
【0079】
ステップR4に戻り、再度の書き換えがないか確認してから、共通メモリの共通資源の管理情報をクリアして一連の動作を終了する。
【0080】
第一のプロセッサは前記ステップR1でロックフラグがオンであれば、設定されたタグ番号を読み取り、ライトタイプと判定される(第二のプロセッサがライト)ので、デュアルポートRAM7の該当タグ番号に付随するデータを代わりに読み取る(ステップR8)。
【0081】
図7は第一のプロセッサが共通メモリの共通資源からリードし、且つ第二のプロセッサも共通メモリの共通資源からリードする場合のフローチャートである。
【0082】
第一のプロセッサは前記と同様にステップR1でロックフラグオフであれば、ステップR2〜R3の制御処理をする。
【0083】
タグ番号が書き換わっていなければ(ステップR4)、共通資源のロックフラグをクリアする(ステップR7)。
【0084】
タグ番号が書き換わっていればライトタイプか判定するが、同時処理の第二のプロセッサもリードであり、ライトタイプでなく(ステップR5)動作を終了する。
【0085】
第二のプロセッサが同じ共通資源にリードアクセス開始し、管理情報(ロックビット)をチェックする(ステップR1’)。
【0086】
第一のプロセッサのアクセスより多少遅れていれば、ロックフラグがオンしており(タグ番号が設定されており)、第二のプロセッサは設定されたタグ番号を読み取り、リードタイプと判定される(第一のプロセッサがリード)ので、共通資源からデータをリードする(ステップR8’)。尚、上記判定直後にタグ番号を第二のプロセッサ用のリードタイプタグ番号(例えば98)に更新しておく。
【0087】
第一のプロセッサのアクセスより多少早ければ、ロックフラグがオフであり、前記ステップR2以降と同様に処理する。
【0088】
この場合の第一のプロセッサの処理は、ステップR8の処理となるが、設定済みのタグ番号がリードタイプなので共通資源からデータをリードする。
【0089】
次に本発明の第2の実施例を説明する。本実施例では共通資源の管理情報のタグ番号がロックフラグ等を兼ねていない点が前記第1の実施例と相違する。
【0090】
管理情報はロックフラグ、リード中フラグ、プロセッサ番号、タグ番号の各エリアないしビットエリアを持つ。タグ番号エリアには前記ライトタイプタグ番号のみセットする。
【0091】
各プロセッサはライトアクセスではロック状態でなければロックフラグと自プロセッサ番号とタグ番号をそれぞれのエリアにセットする。共通資源にデータを書込み、タグ番号エリアをチェックしタグ番号がセットされていればこれを読出し、デュアルポートRAM7の対応バッファよりデータを取り出し、共通資源に書き込む。タグ番号がセットされていなければロックフラグをオフする。
【0092】
また、既にロック状態であれば、タグ番号のセットとリード中フラグのオフを行う。
【0093】
各プロセッサはリードアクセスではロック状態でなければロックフラグと自プロセッサ番号とリード中フラグを管理情報の対応エリアにセットする。共通資源よりデータを読み出し、管理情報のリード中フラグをチェックしオフであればタグ番号を読出し、デュアルポートRAM7の対応バッファよりデータを取り出し、共通資源に書き込む。
【0094】
リード中フラグがオンのままであれば、プロセッサ番号が書き換わってないことを確認し、ロックフラグとリード中フラグをオフする。
【0095】
また、リードアクセス時既にロック状態であれば、リード中フラグオフであればタグ番号エリアにセットされているタグ番号を読出し、デュアルポートRAM7の対応バッファよりデータを読み出す。
【0096】
リード中フラグオンであればプロセッサ番号を自プロセッサ番号に書き換え共通資源よりデータを読み出す。
【0097】
次に本発明の第3の実施例を説明する。本実施例では各プロセッサは共通資源のライトアクセスで、管理情報のタグ番号が0(ロックフラグオフ)でなければタグ番号の書き換えを行わず待ち合わせる(ステップW8を行わない)。
【0098】
従って、ライトやリードアクセス中に後続のライトは待つので、ステップW5やW6の処理はない。又、ステップR6の処理もない。
【0099】
又デュアルポートRAM7上のタグエリア71も必要としない。各プロセッサは今回使用したタグ番号を共通資源アクセス終了時にインクリメント或いは循環させローカルRAM等の所定エリア(次回用タグ番号記憶域)に記憶している。
【0100】
プロセッサは共通資源への書込アクセスに際し、これを読み出しタグ番号とする。書込データをデュアルポートRAM7のタグ番号対応のアドレスにあるバッファに格納する。又管理情報から読み出したタグ番号でデュアルポートRAM7上のアドレスを作成しそのバッファよりデータを読み出す。
【0101】
以上の説明ではプロセッサを2台としたが、デュアルポートRAM7を4ポートメモリにし、タグ番号を設定したプロセッサが識別出来るように定義、即ち第三のプロセッサ、第四のプロセッサにもそれぞれ30〜39、40〜49のタグ番号を割り当てる。この様にすれば4台のプロセッサ間でマルチプロセッサを構成することもできる。
【0102】
同様にデュアルポートRAM7をN(2以上の整数)台のプロセッサのそれぞれのローカルバスからアクセスできるNポートメモリとし、プロセッサが識別出来るようタグ番号を定義することでN台のマルチプロセッサ構成でも本発明を適用することができる。
【0103】
【発明の効果】
以上説明した様に、本発明によればあるプロセッサがアクセス中の共通資源に他プロセッサがアクセスしロックフラグが立っていた場合、他プロセッサはアクセスが読出であれば、先行アクセス読出にオーバラップし共通資源からの読出を行い、先行アクセスが書込であればデュアルポートメモリ(或いはNポートメモリ)からデータを読出す。
【0104】
又、他プロセッサはアクセスが書込であれば、予めデュアルポートメモリに格納した書込データの識別(タグ番号)を管理情報に格納し、アクセス中のプロセッサが共通資源への書込処理をする。
【0105】
従って、他プロセッサはロックフラグオフをポーリングしなくてよいので、共通バスの輻輳を防止出来る。
【0106】
また、他プロセッサはロックフラグオフまで処理を待たなくてよいので、次の処理に進むことができ処理効率を向上出来る。またこれらによりシステム全体の処理能力を向上出来る。
【図面の簡単な説明】
【図1】本発明の共通資源へのアクセス方式を含むマルチプロセッサシステムの構成を示した図。
【図2】図1の共通メモリ9の内容例を示した図。
【図3】図1のデュアルポートRAM7の内容例を示した図。
【図4】本発明の第1実施例で、第一のプロセッサが共通資源にライトし、第二のプロセッサが同じ共通資源をリードする場合の動作を示したフローチャート。
【図5】本発明の第1実施例で、第一のプロセッサが共通資源にライトし、第二のプロセッサが同じ共通資源をライトする場合の動作を示したフローチャート。
【図6】本発明の第1実施例で、第一のプロセッサが共通資源にリードし、第二のプロセッサが同じ共通資源をライトする場合の動作を示したフローチャート。
【図7】本発明の第1実施例で、第一のプロセッサが共通資源にリードし、第二のプロセッサが同じ共通資源をリードする場合の動作を示したフローチャート。
【符号の説明】
1 第一のプロセッサ
2、5 ローカルRAM・ブートROM
3、6 ローカルバス
4 第二のプロセッサ
7 デュアルポートRAM
71 タグエリア
72 バッファエリア
72−10 バッファ(10)
72−29 バッファ(29)
8 共通バス
9 共通メモリ
91 資源管理エリア
91−0 共通資源(0)管理・アドレス情報
91−m 共通資源(m)管理・アドレス情報
92 共通資源エリア
92−0 共通資源(0)
92−m 共通資源(m)
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method and an access program for accessing a common resource on a common memory commonly used by a plurality of processors.
[0002]
[Prior art]
When a multiprocessor has a common memory and accesses a common resource in the common memory, exclusive processing is generally performed using a lock flag for each common resource so that multiple processors do not change the same common resource at the same time. I do.
[0003]
The processor that first accesses the common resource (eg, the first processor) sets a lock flag and inhibits other processors from accessing this common resource. The first processor that has set the lock flag clears the lock flag when access to the common resource ends.
[0004]
If the lock flag is set when another processor accesses the common resource, the other resource must wait until the lock flag is cleared because the common resource cannot be accessed. Other processors must always poll the lock flag because it is not known when the lock flag will be cleared.
[0005]
As an example of such a multiprocessor system in which a plurality of processors access shared data in a memory via a bus, while one processor is accessing shared data in a memory, the other processor can access the shared data from the other processor. There is a multiprocessor system including a memory access control circuit that rejects the memory access request of the other processor and receives a memory access request from the other processor to an address different from the address of the shared data (for example, see Patent Document 1). ).
[0006]
[Patent Document 1]
JP-A-5-210640 (page 2, line 2 to 14, paragraph [0086])
[0007]
[Problems to be solved by the invention]
In the above multiprocessor example, the other processor temporarily suspends a task or job that performs data access under exclusive control, and switches to a task or job that accesses data that is not under exclusive control. This is to reduce the decrease.
[0008]
Therefore, it cannot be applied to a job that requires real-time processing by the other processor. In other words, there is a problem that the processing time of the job waiting in the exclusive control becomes longer.
[0009]
Further, it does not teach the timing when the other processor is permitted to receive an access request to the target shared data, and does not significantly reduce the polling.
[0010]
Generally, a common memory is connected to a common bus, and the common bus has a low access speed due to the need for bus arbitration and a long line length. Therefore, there is also a problem that a common bus shared by a plurality of processors is congested and the performance of the entire system is reduced.
[0011]
[Means for Solving the Problems]
A first common resource access method according to the present invention is a method in which two processors access a common resource on a common memory through a common bus, wherein each processor can access a common resource through a local bus; A plurality of unique tag numbers used by each processor are defined except for an initial value and a plurality of predetermined values, and are defined so that the processor can be identified. The common resource management storage has a buffer corresponding to a tag number, and stores, in the common resource management storage, the tag number also serving as a lock flag of the common resource, the initial value indicating that the lock flag is off, or that the lock flag is on and being read. The plurality of predetermined values indicated for each processor are stored as management information for each common resource, and when writing to the common resource, the processor The write data is stored in the buffer corresponding to the tag number of the dual port memory in advance, the management information to be accessed is checked, and if the initial value, that is, the lock flag is off, the management information is updated to the tag number. After that, writing to the common resource and initializing the tag number of the management information, that is, the means for turning off the lock flag, and at the time of reading to the common resource, checking the management information to be accessed and checking the initial value or any of A predetermined value, that is, if the lock flag is off or being read, the management information is updated to its own predetermined value, reading from the common resource is performed, and if the management information is not updated, the means for initializing the management information is provided. If the tag number is set by the check, there is provided a means for reading data from the buffer of the dual port memory indicated by the tag number.
[0012]
According to a second access method to the common resource of the present invention, in the access method to the first common resource, the processor determines a tag number when writing to the common resource and transfers the write data to the dual port. It is stored in advance in a buffer corresponding to the tag number in the memory, the management information to be accessed is checked, and if it is an initial value, the management information is updated to the tag number, written to a common resource, and the management information is written. Means for retrieving the write data from the buffer corresponding to the tag number of the dual port memory if it has been updated to another tag number and writing it to the common resource, and then initializing the management information; If the tag number or any predetermined value is set in the management information, that is, if the lock is on, the management information is updated to the tag number when the write data is stored in the dual port memory. Means, when reading out to the common resource, check the management information to be accessed, and if it is an initial value or any predetermined value, update it to its own predetermined value, read from the common resource, and Check the information, and if it has not been updated, immediately extract the write data from the buffer corresponding to the tag number of the dual port memory if it has been updated to the tag number and write it to the common resource. And means for reading data from the buffer of the dual port memory indicated by the tag number if the tag number is set in the management information by the check.
[0013]
A third method of accessing a common resource according to the present invention is a method in which two processors access a common resource on a common memory through a common bus, wherein each processor can access a common resource through a local bus; A common resource management storage, a plurality of unique tag numbers used by each processor are defined, a buffer corresponding to the tag number is provided on the dual port memory, and a lock is provided in the common resource management storage. A management information including a flag, a reading flag, a processor number and a tag number is held for each common resource, and the processor determines a tag number when writing to the common resource, and writes the tag number of the dual port memory in the dual port memory. Store in the corresponding buffer in advance, check the management information of the access target, and if the lock flag is off, turn it on and Means for updating the management information, writing to the common resource, and turning off the lock flag of the management information, and for reading out to the common resource, Check the management information, if the lock flag is off or the reading flag is on, turn on the lock flag and reading flag, update the management information with the processor number as its own number, read from the common resource, and perform management. Means for confirming the information and clearing the lock flag or the read flag if the processor number is not updated; and dual means indicated by the tag number of the management information if the lock flag is on and the read flag is off in the management information check. It is characterized by having means for reading data from the buffer of the port memory.
[0014]
According to a fourth common resource access method of the present invention, in the third common resource access method, the processor determines a tag number when writing to the common resource, and writes the write data to the dual resource. The management information to be accessed is stored in advance in a buffer corresponding to the tag number in the port memory, and if the lock flag is off, the lock flag is turned on, the processor number is set to the own number, and the tag number area is the management information as the tag number. Is updated, the common resource is written, the management information is checked, and if the tag number is updated, the write data is taken out from the corresponding buffer of the dual port memory, written to the common resource, and then the lock flag is set. Means for turning off the tag number of the management information if the lock flag is on in the above check, and the tag number when the write data is stored in the dual port memory. Means to turn off the read flag and to check the management information of the access target when reading to the common resource. If the lock flag is off or the read flag is on, the lock flag and the read flag are turned on. The processor number updates the management information as its own number, reads from the common resource, checks the management information, and if it is not updated, immediately clears the lock flag and the reading flag, and turns off the reading flag. If there is, the write data is taken out from the buffer of the dual port memory indicated by the tag number of the management information, written into the common resource, and then the lock flag is turned off. If it is off, there must be means for reading data from the buffer of the dual port memory indicated by the tag number of the management information. And butterflies.
[0015]
According to a fifth access method to a common resource of the present invention, in the first, second, third, or fourth access method to a common resource, the processor is a storage area for storing a next-use tag number. Means for setting the tag number read from the storage area when writing to a common resource occurs as the tag number when storing the data in the dual port memory, and incrementing or starting the tag number of the storage area upon completion of the processing of the write request It has means for circulating and updating the values, and the tag numbers assigned to the own processor are cyclically used in numerical order.
[0016]
A sixth access method to the common resource according to the present invention is the access method to the second or fourth common resource, wherein the tag or the validity display flag is stored in the dual port memory for each tag number. The processor also refers to the tag area to check the storage area for storing the tag number for the next time, and the tag area read from the storage area when writing to the common resource occurs, by referring to the tag area. If it is not empty, the storage area is incremented or circulated until an empty number is reached, and the storage area is updated and then set as the determined tag number. When the write data of the tag number corresponding buffer of the dual port memory is stored in the common resource, the corresponding tag number of the tag area is invalidated. And having means, the means for updating is circulated tag number of the storage is incremented to the start value at the end of processing write requests.
[0017]
According to a seventh aspect of the present invention, there is provided the access method to any one of the first to sixth common resources, wherein the two processors are N processors, Is an N-port memory.
[0018]
The first access program to the common resource of the present invention determines the tag number when writing to the common resource on the common memory accessed by the two processors through the common bus, and the local bus of each processor is connected. The dual port memory is accessed, the write data is stored in advance in the buffer corresponding to the tag number, the management information of the common resource to be accessed is checked, and if the initial value, that is, the lock flag is off, the management information is stored in the tag number. After the update, the common resource is written and the tag number of the management information is initialized, that is, the lock flag is turned off. In reading the common resource, the management information of the common resource to be accessed is checked and the initial value is checked. If any one of the predetermined values, that is, the lock flag is off or being read, the management information is updated to its own predetermined value, read from the common resource, and the management information is There the procedure for initializing this Without being updated, and having a said dual-port read the file data from the buffer memory associated with it if the tag number is set in the check.
[0019]
The second access program for a common resource according to the present invention, in the access program for the first common resource, determines a tag number when writing to the common resource, and writes the write data to the dual port memory. The management information of the common resource to be accessed is stored in advance in the buffer corresponding to the tag number, and if it is the initial value, the management information is updated to the tag number, and the management information is written to the common resource. Confirming that the tag has been updated to another tag number, and taking out write data from the buffer corresponding to the tag number of the dual port memory, writing it to the common resource, and then initializing the management information; If it is determined in the check that the management information is the tag number or any predetermined value, that is, lock-on, the management information is updated to the tag number when the write data is stored in the dual port memory. When reading to the common resource, the management information to be accessed is checked, and if it is an initial value or any predetermined value, this is updated to its own predetermined value, and reading from the common resource is performed. Check the management information, and if it has not been updated, immediately retrieve the write data from the buffer corresponding to that tag number in the dual port memory if it has been updated to the tag number, write it to the common resource, and then manage each It is characterized by having a procedure for initializing information and a procedure for reading data from the buffer of the dual port memory indicated by the tag number if the tag number is set in the management information in the check.
[0020]
According to the third access program to the common resource of the present invention, the tag number is determined at the time of writing to the common resource on the common memory accessed by the two processors through the common bus, and the local bus of each processor is connected. The dual port memory is accessed, the write data is stored in the buffer corresponding to the tag number in advance, the management information to be accessed is checked, and if the lock flag is off, this is turned on, the processor number is set to the own number, and the tag number is set. The area updates the management information as the tag number, writes in the common resource, turns off the lock flag of the management information, and checks the management information to be accessed when reading out the common resource, and checks the lock flag. Is off or the reading flag is on, the lock flag and reading flag are turned on, and the processor number is managed as the own number. Procedure for updating information, reading from common resources, checking management information and clearing the lock flag or reading flag if the processor number has not been updated, and reading the management information check when the lock flag is on and the lock flag is on If the flag is off, a procedure for reading data from the buffer of the dual port memory indicated by the tag number of the management information is provided.
[0021]
The fourth common resource access program according to the present invention, in the third common resource access program, determines a tag number when writing to the common resource, and writes the write data to the dual port memory. The control information is stored in advance in the buffer corresponding to the tag number, and the management information to be accessed is checked. If the lock flag is off, this is turned on, the processor number is set to the own number, and the tag number area updates the management information as the tag number. Write to the common resource, check the management information, and if the tag number has been updated, take out the write data from the corresponding buffer of the dual port memory, write to the common resource, and turn off the lock flag. If the lock flag is on in the procedure and the check above, the tag number of the management information is stored in the dual port memory. The procedure of updating and turning off the reading flag and checking the management information of the access target at the time of reading to the common resource, and if the lock flag is off or the reading flag is on, the lock flag and the reading flag are turned on. The processor number updates the management information as its own number, reads from the common resource, checks the management information, and if it is not updated, immediately clears the lock flag and the reading flag, and turns off the reading flag. If there is any, the write data is taken out from the buffer of the dual port memory indicated by the tag number of the management information, written into the common resource, and then the lock flag is turned off. If off, have a procedure to read data from the dual port memory buffer indicated by the tag number in the management information And it features.
[0022]
The fifth common resource access program according to the present invention is the first, second, third, or fourth common resource access program, wherein the next common tag is used when writing to the common resource. There is a procedure for using the tag number read from the number storage area as a tag number when storing in the dual port memory, and a procedure for incrementing or circulating the tag number of the storage area to a start value and updating at the end of processing of a write request. The tag numbers assigned to the own processor are cyclically used in numerical order.
[0023]
The sixth access program to the common resource according to the present invention is the program for accessing the second or fourth common resource, which is read from the next tag number storage area when writing to the common resource. Check the vacancy of the tag number by referring to the tag number management area on the dual port memory, and if not, increment or circulate until the vacant number is reached and update the storage area, and then set the determined tag number respectively. After completing the procedure and storing the write data in the buffer corresponding to the tag number of the dual port memory, the corresponding tag number in the tag number management area is validated, and the write data of the buffer corresponding to the tag number of the dual port memory is stored in the common resource. When the writing is completed, the corresponding tag number in the tag number management area is invalidated, and the number of the next tag number storage area is entered upon completion of the write request processing. And having a decrement or procedure for updating is circulated to the starting value.
[0024]
A seventh common resource access program according to the present invention is the common memory access program according to any of the first to sixth common resources, wherein the common resources are accessed by N processors through a common bus. The dual port memory may be an N port memory connected to a local bus of N processors as the above common resource.
[0025]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings. First, a first embodiment of the present invention will be described.
[0026]
FIG. 1 is a diagram showing a configuration of a multiprocessor system including an access method to a common resource according to the present invention.
[0027]
An example of two multiprocessors will be described with reference to FIG. The first processor 1 has a local RAM / boot ROM 2 dedicated to the first processor 1 connected via a local bus 3.
[0028]
Similarly, the second processor 4 has a local RAM / boot ROM 5 dedicated to the second processor 4 connected via a local bus 6.
[0029]
A common memory 9 commonly used by the first processor 1 and the second processor 4 is connected via a common bus 8. Since the common bus 8 is used commonly by the first processor 1 and the second processor 4, bus arbitration is performed so that bus accesses do not overlap.
[0030]
A dual port RAM 7 for exchanging data between the first processor 1 and the second processor 4 at high speed is provided. The first processor 1 and the second processor 4 access the dual port RAM 7 through the local buses 3 and 6, respectively. Access can be performed independently and in parallel.
[0031]
When the first processor 1 or the second processor 4 is performing write access to the common resource of the common memory 9 via the common bus 8, it is locked to the common resource so that the other processor does not access the same common resource. A flag is set to prohibit access by the partner processor.
[0032]
Also, assuming that the partner processor accesses the same common resource, each processor writes the same information in the dual port RAM 7 in advance. In order to associate the information of the dual port RAM 7 with the information of the common resource, the data of the dual port RAM 7 and the data of the common resource on the common memory 9 are tagged in common.
[0033]
At this time, if the other processor has read-accessed the same common resource, the lock bit is set. Therefore, the other processor checks the tag attached to the common resource on the common memory 9 and reads the same tag on the dual port RAM 7. And reads the data on the dual port RAM 7 as a common resource on the common memory 9.
[0034]
At this time, if the partner processor writes data to be written to the common memory 9 on the dual port RAM 7 and then performs write access to the same common resource, the lock bit is set. The tag attached to the common resource is changed to its own tag number to indicate that the change has been made.
[0035]
When the access to the common resource of the common memory 9 is completed, the first processor checks whether the tag number of the common resource has been rewritten. If the tag number has been rewritten, the data associated with the tag number on the dual port RAM 7 Is copied to the corresponding resource in the common memory 9, and the lock flag of the common resource is released.
[0036]
Note that the access control processing for the common resource can be realized by a program of the first processor 1 or the second processor 4.
[0037]
Next, an example of the contents of the common memory will be described with reference to FIG. The common memory 9 includes a common resource area 92 including common resources (0) 92-0,..., Common resources (m) 92-m, and common resource (0) management / address information 91-0 of these common resources. .., Common resource (m) management ・ has a resource management area 91 including address information 91-m.
[0038]
The management / address information of each common resource includes the management information and the pointer of the common resource. The management information is normally cleared to 0, but in the locked state, a tag number also serving as a lock flag is set.
[0039]
The tag number is a number for identifying write data previously written in the dual port RAM 7 before writing to the common resource, and is set to a number other than 0 so as to also serve as a lock flag. Make sure that the number is the set number.
[0040]
Further, in the common resource management information, predetermined values 99 and 98 (pseudo tag numbers of read type) indicating that the first processor 1 and the second processor 4 are respectively reading are set. It is excluded as an identification number.
[0041]
The number of tag numbers is determined by the number that may simultaneously access the resources of the common memory. For example, if there are about six that may be accessed simultaneously, ten tag numbers are prepared by looking at the margin.
[0042]
Since the tag numbers are managed separately by the first processor and the second processor, they must be unique numbers to distinguish them. For example, the tag number of the first processor uses 10 to 19, and the second processor uses 20 to 29.
[0043]
In the example of the use of the first processor, the first tag number is 10, the next is 11, 12,..., And when it becomes 19, the next returns to 10.
[0044]
Similarly, the second processor prepares tag numbers 20 to 29 and uses them as 20, 21, 22,..., And returns to 20 when the tag number reaches 29.
[0045]
The buffer for the dual port RAM 7 is prepared for the tag number. That is, ten units are reserved for the first processor and ten units are reserved for the second processor.
[0046]
FIG. 3 is a diagram showing an example of the contents of the dual port RAM 7. A tag number is set in the tag area 71. The buffer area 72 has buffers (10) 72-10,..., Buffers (29) 72-29 corresponding to the respective tag numbers.
[0047]
When the tag number has completed one round, old data is overwritten in each buffer on the dual port RAM 7. Further, in order to facilitate tag search in the dual port RAM 7, tag numbers are collected in a tag area 71.
[0048]
Also, the address of each buffer on the dual port RAM 7 should be easily created from the tag number.
[0049]
Note that the tag number setting in the tag area 71 may set the validity indication bit of the area corresponding to the number instead of writing the tag number.
[0050]
Next, the operation of the first embodiment of the present invention will be described with reference to the drawings. FIG. 4 shows a flowchart in the case where the first processor 1 writes to the common resource of the common memory 9 and the second processor 4 reads the same common resource of the common memory 9.
[0051]
The first processor determines the tag number to be assigned to the common resource, writes the same data as the data to be written to the common resource in the buffer corresponding to the tag number of the dual port RAM 7, and writes the tag number in the tag area 71 (step). W1).
[0052]
Each processor increments or circulates the tag number used this time at the end of access to the common resource and stores the tag number in a predetermined area (the next-time tag number storage area) such as a local RAM.
[0053]
Furthermore, the tag area 71 is checked to see if the read tag number is empty, and if the tag number already exists, the next number is checked for empty, and the first empty number is determined as the determined tag number. Good. In this case, the next tag number storage area is updated with the determined tag number.
[0054]
The first processor 1 accesses the resource management area 91 of the common memory and checks the management information of the common resource to be accessed (step W2).
[0055]
If the lock flag is off, it is turned on and the tag number is written at the same time (step W3).
[0056]
Lock flag reading determination and tag number rewriting are performed by non-divisionable access (such as check and lock) to prevent passing by the second processor lock flag access.
[0057]
The lock flag and the tag number must be written at the same time, and the tag number also serves as the lock flag. That is, when the tag number is 0, the lock flag is cleared, and when the tag number is other than 0, the lock flag is set.
[0058]
Here, the second processor accesses the management information of the same common resource, checks the management information, and if the lock flag is set (step R1 '), reads the tag number and reads the tag number of the write type (99 or 98). It is determined that the common resource data cannot be directly accessed for the (excluding tag number), and the corresponding tag number is searched in the dual port RAM 7.
[0059]
When the tag number is found, the data accompanying the tag number is read as the data of the common resource (step R8 '), and the operation of the second processor ends.
[0060]
The first processor writes data in the common resource of the common memory (step W4).
[0061]
The first processor checks the management information to determine whether the tag number of the common resource has been rewritten (step W5). If the tag number has not been rewritten, the first processor clears the management information (lock flag) of the common resource in the common memory. Is also cleared (step W7), and the series of operations ends.
[0062]
Here, the management information (lock flag) is cleared by checking and clearing. That is, it is confirmed that the lock flag has not been rewritten by the check, and the clear is performed only when there is no rewrite. These operations are performed by non-divisionable access.
[0063]
If the tag number has been rewritten in step W5, the data associated with the corresponding tag number in the dual port RAM 7 is copied to the common resource of the common memory 9, and the corresponding tag number in the tag area 71 of the dual port RAM 7 is cleared (step S5). W6). Thereafter, it is confirmed that the tag number has not been rewritten further (step W5), and if not, the process proceeds to step W7.
[0064]
Even if the lock flag of the common resource to be accessed is on in step W2, the first processor rewrites the tag number of the management information of the common resource to the tag number set in the dual port RAM 7 (step W8), and operates. To end.
[0065]
FIG. 5 shows a flowchart in the case where the first processor writes to the common resource of the common memory and the second processor writes to the common resource of the common memory.
[0066]
The first processor performs the same processing as in steps W1 to W7. The second processor assigns its own tag number, writes the same data as the data to be written to the common resource in the dual port RAM 7 (step W1 '), and checks the management information (lock bit) of the common resource (step W2'). ).
[0067]
If the processing of the second processor is slightly delayed, the lock flag is on (the tag number has been set), and the tag number of the common resource is rewritten to the tag number set in the dual port RAM 7 ( Step W8 '), the operation ends.
[0068]
If the processing of the second processor is somewhat earlier, the lock flag is off, and the processing is performed in the same manner as the processing of the first processor (steps W3 to W7), and the operation ends.
[0069]
FIG. 6 shows a flowchart when the first processor reads from the common resource of the common memory and the second processor writes to the common resource of the common memory.
[0070]
The first processor accesses the resource management area 91 of the common memory, and checks management information (lock flag) of the common resource to be accessed (step R1). If the lock flag is off, the tag number assigned to this common resource is determined.
[0071]
Since this is a read access, the tag number is a read type tag number to indicate that another processor can read the common resource at the same time. For example, 99.
[0072]
The first processor sets a lock flag in the common resource of the common memory (writes the read type tag number (step R2).
[0073]
In addition, the read determination of the lock flag (step R1) and the rewriting of the tag number (step R2) are performed by non-divisionable access (check and lock, etc.) to prevent the second processor from passing the lock flag access.
[0074]
The second processor writes the data to be written to the same common resource here with its own tag number and writes it to the dual port RAM 7 (step W1 '), checks the management information, and if the lock flag is on, the data of the common resource contains Since direct access is not possible, the tag portion of the common resource is rewritten with its own tag number (step W8 '), and the operation of the second processor ends.
[0075]
The first processor reads data from the common resource of the common memory (step R3). The first processor checks whether the tag number of the common resource has been rewritten (step R4).
[0076]
If it has not been rewritten, the management information (tag number) of the common resource in the common memory is cleared (step R7), and a series of operations ends.
[0077]
Here, the management information is cleared by checking and clearing. That is, it is confirmed that the lock flag has not been rewritten by the check, and the clear is performed only when the rewrite has not been performed. These operations are performed by non-divisionable access.
[0078]
If the tag number has been rewritten, if the tag number is of the write type (step R5), the data of the dual port RAM 7 is copied to the common resource of the common memory, and the copy source tag number of the dual port RAM 7 is cleared (step R6). ).
[0079]
Returning to step R4, it is checked whether rewriting has been performed again. Then, the management information of the common resources in the common memory is cleared, and a series of operations ends.
[0080]
If the lock flag is on in step R1, the first processor reads the set tag number and determines that the tag type is the write type (the second processor is writing). The data to be read is read instead (step R8).
[0081]
FIG. 7 is a flowchart in the case where the first processor reads from the common resource of the common memory and the second processor also reads from the common resource of the common memory.
[0082]
If the lock flag is off in step R1 as in the above, the first processor performs control processing in steps R2 to R3.
[0083]
If the tag number has not been rewritten (step R4), the lock flag of the common resource is cleared (step R7).
[0084]
If the tag number has been rewritten, it is determined whether it is a write type. However, the second processor for simultaneous processing is also a read, and the operation is terminated instead of the write type (step R5).
[0085]
The second processor starts read access to the same common resource and checks management information (lock bit) (step R1 ').
[0086]
If the access is slightly delayed from the access of the first processor, the lock flag is on (the tag number is set), and the second processor reads the set tag number and determines that the read type is set ( Since the first processor reads), data is read from the common resource (step R8 '). Immediately after the determination, the tag number is updated to a read type tag number (for example, 98) for the second processor.
[0087]
If the access is slightly earlier than the access of the first processor, the lock flag is off, and the processing is performed in the same manner as in step R2 and thereafter.
[0088]
In this case, the process of the first processor is the process of step R8, but the data is read from the common resource because the set tag number is of the read type.
[0089]
Next, a second embodiment of the present invention will be described. This embodiment is different from the first embodiment in that the tag number of the common resource management information does not serve as a lock flag or the like.
[0090]
The management information has a lock flag, a reading flag, a processor number, and a tag number area or bit area. Only the light type tag number is set in the tag number area.
[0091]
Each processor sets a lock flag, its own processor number, and a tag number in each area if it is not in the locked state in the write access. The data is written to the common resource, the tag number area is checked, and if the tag number is set, this is read, the data is taken out from the corresponding buffer of the dual port RAM 7, and written to the common resource. If the tag number is not set, the lock flag is turned off.
[0092]
If it is already locked, the tag number is set and the reading flag is turned off.
[0093]
Each processor sets a lock flag, its own processor number, and a reading flag in the corresponding area of the management information if the read access is not in the locked state. The data is read from the common resource, the reading flag of the management information is checked, and if it is off, the tag number is read, the data is taken out from the corresponding buffer of the dual port RAM 7, and written to the common resource.
[0094]
If the reading flag remains on, it is confirmed that the processor number has not been rewritten, and the lock flag and the reading flag are turned off.
[0095]
If the read access is already in the locked state and the reading flag is OFF, the tag number set in the tag number area is read, and the data is read from the corresponding buffer of the dual port RAM 7.
[0096]
If the reading flag is on, the processor number is rewritten to the own processor number and data is read from the common resource.
[0097]
Next, a third embodiment of the present invention will be described. In this embodiment, each processor waits without rewriting the tag number unless the tag number of the management information is 0 (lock flag off) in the write access of the common resource (step W8 is not performed).
[0098]
Therefore, since the subsequent write waits during the write or read access, there is no step W5 or W6. Also, there is no processing in step R6.
[0099]
Also, the tag area 71 on the dual port RAM 7 is not required. Each processor increments or circulates the tag number used this time at the end of the common resource access, and stores the tag number in a predetermined area (the next tag number storage area) such as a local RAM.
[0100]
The processor uses this as a read tag number when writing access to the common resource. The write data is stored in the buffer of the dual port RAM 7 at the address corresponding to the tag number. Further, an address on the dual port RAM 7 is created based on the tag number read from the management information, and data is read from the buffer.
[0101]
In the above description, two processors are used. However, the dual-port RAM 7 is a four-port memory, and is defined so that the processor to which the tag number is set can be identified, that is, the third processor and the fourth processor have 30 to 39 processors, respectively. , 40 to 49 are assigned. In this way, a multiprocessor can be configured between four processors.
[0102]
Similarly, the present invention can be applied to an N multiprocessor configuration by defining the dual port RAM 7 as an N port memory accessible from the local bus of each of N (2 or more integers) processors and defining a tag number so that the processors can be identified. Can be applied.
[0103]
【The invention's effect】
As described above, according to the present invention, when another processor accesses a common resource being accessed by a certain processor and the lock flag is set, the other processor overlaps the preceding access read if the access is a read. Reading is performed from the common resource, and if the preceding access is writing, data is read from the dual port memory (or N port memory).
[0104]
If the access is for writing, the other processor stores the identification (tag number) of the write data stored in the dual port memory in advance in the management information, and the accessing processor performs a writing process to the common resource. .
[0105]
Therefore, other processors do not need to poll for the lock flag off, so that congestion of the common bus can be prevented.
[0106]
Further, the other processor does not have to wait for the processing until the lock flag is turned off, so that it can proceed to the next processing and the processing efficiency can be improved. In addition, the processing capacity of the entire system can be improved by these.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a multiprocessor system including a method of accessing a common resource according to the present invention.
FIG. 2 is a view showing an example of contents of a common memory 9 of FIG. 1;
FIG. 3 is a view showing an example of contents of a dual port RAM 7 of FIG. 1;
FIG. 4 is a flowchart showing an operation when a first processor writes to a common resource and a second processor reads the same common resource in the first embodiment of the present invention.
FIG. 5 is a flowchart showing an operation when a first processor writes to a common resource and a second processor writes to the same common resource in the first embodiment of the present invention.
FIG. 6 is a flowchart showing an operation when a first processor reads a common resource and a second processor writes the same common resource in the first embodiment of the present invention.
FIG. 7 is a flowchart showing an operation when a first processor reads a common resource and a second processor reads the same common resource in the first embodiment of the present invention.
[Explanation of symbols]
1 First processor
2,5 Local RAM / Boot ROM
3, 6 Local bus
4 Second processor
7 Dual Port RAM
71 Tag Area
72 buffer area
72-10 buffer (10)
72-29 Buffer (29)
8 common bus
9 Common memory
91 Resource Management Area
91-0 Common resource (0) management / address information
91-m Common resource (m) management / address information
92 Common Resource Area
92-0 common resource (0)
92-m common resource (m)

Claims (14)

2台のプロセッサが共通バスを通じ共通メモリ上の共通資源へアクセスする方式であって、
各プロセッサがローカルバスを通じアクセス可能なデュアルポートメモリと、共通資源管理記憶とを含み、
各プロセッサが使用する複数のユニークなタグ番号を、初期値や複数の所定値を除いて、又プロセッサ識別が出来る様に定義し、前記デュアルポートメモリ上にはこのタグ番号に対応したバッファを有し、
前記共通資源管理記憶には、共通資源のロックフラグも兼ねた前記タグ番号、ロックフラグオフを示す前記初期値、或いはロックフラグオン且つリード中であることをプロセッサ別に示す前記複数の所定値を管理情報として共通資源毎に保持し、プロセッサが、共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックし、初期値即ちロックフラグオフであれば、管理情報を前記タグ番号に更新後、共通資源への書込を行い、管理情報のタグ番号を初期化、即ちロックフラグオフする手段と、
共通資源への読出に際し、アクセス対象の管理情報をチェックし、初期値か何れかの所定値、即ちロックフラグオフかリード中であれば、管理情報を自分の所定値に更新し、共通資源からの読出を行い、管理情報が更新されてなければこれを初期化する手段と、
前記チェックでタグ番号がセットされていればそれが示すデュアルポートメモリのバッファよりデータを読出す手段を有することを特徴とする共通資源へのアクセス方式。
A method in which two processors access a common resource on a common memory through a common bus,
A dual port memory accessible by each processor through a local bus, and a common resource management storage;
A plurality of unique tag numbers used by each processor are defined except for an initial value and a plurality of predetermined values so that the processor can be identified, and a buffer corresponding to the tag number is provided on the dual port memory. And
The common resource management storage manages the tag number also serving as a lock flag of a common resource, the initial value indicating that the lock flag is off, or the plurality of predetermined values that indicate that the lock flag is on and the reading is being performed for each processor. The information is held for each common resource, the processor determines the tag number when writing to the common resource, stores the write data in advance in the buffer corresponding to the tag number of the dual port memory, and stores the management information to be accessed. Checking the initial value, that is, if the lock flag is off, updating the management information to the tag number, then writing to the common resource, and initializing the tag number of the management information, that is, means for turning off the lock flag;
At the time of reading to the common resource, the management information to be accessed is checked, and if the initial value or any predetermined value, that is, if the lock flag is off or reading is being performed, the management information is updated to its own predetermined value, and Means for reading the management information and initializing the management information if it has not been updated;
An access method to a common resource, comprising means for reading data from a buffer of the dual port memory indicated by the tag number if the tag number is set in the check.
前記プロセッサが、共通資源への書込に際し、タグ番号を決め書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックし、初期値であれば、管理情報を前記タグ番号に更新し、共通資源への書込を行い、管理情報を確認し別のタグ番号に更新されていればデュアルポートメモリのそのタグ番号対応のバッファより書込データを取り出し共通資源への書込を行なってから管理情報を初期化する手段と、前記チェックで、管理情報にタグ番号か何れかの所定値が設定されていれば即ちロックオンであれば、管理情報を前記書込データのデュアルポートメモリへの格納時のタグ番号に更新する手段と、
共通資源への読出に際し、アクセス対象の管理情報をチェックし、初期値か何れかの所定値であれば、これを自分の所定値に更新し、共通資源からの読出を行い、管理情報を確認し、更新されてなければ直ぐに、タグ番号に更新されていればデュアルポートメモリのそのタグ番号対応のバッファより書込データを取り出し共通資源への書込を行なってから、それぞれ管理情報を初期化する手段と、
前記チェックで管理情報にタグ番号がセットされていればそれが示すデュアルポートメモリのバッファよりデータを読出す手段を有することを特徴とする請求項1記載の共通資源へのアクセス方式。
The processor, upon writing to a common resource, determines a tag number, stores write data in advance in a buffer corresponding to the tag number of the dual port memory, checks management information to be accessed, and if it is an initial value, Updates the management information to the tag number, writes to the common resource, checks the management information, and if updated to another tag number, retrieves the write data from the buffer corresponding to that tag number in the dual port memory Means for initializing the management information after writing to the common resource; and, if the check information indicates that a tag number or any predetermined value is set in the management information, that is, if the lock is on, the management information is initialized. Means for updating the write data to a tag number at the time of storage in the dual port memory;
At the time of reading to the common resource, the management information to be accessed is checked, and if it is an initial value or any one of the predetermined values, it is updated to its own predetermined value, read from the common resource, and the management information is confirmed. If it has not been updated, immediately, if it has been updated to the tag number, fetch the write data from the buffer corresponding to the tag number of the dual port memory, write it to the common resource, and initialize the management information respectively Means to
2. A method according to claim 1, further comprising means for reading data from a buffer of a dual port memory indicated by a tag number set in the management information in the check.
2台のプロセッサが共通バスを通じ共通メモリ上の共通資源へアクセスする方式であって、
各プロセッサがローカルバスを通じアクセス可能なデュアルポートメモリと、共通資源管理記憶とを含み、
各プロセッサが使用する複数のユニークなタグ番号を定義し、前記デュアルポートメモリ上にはこのタグ番号に対応したバッファを有し、
前記共通資源管理記憶には、ロックフラグとリード中フラグとプロセッサ番号とタグ番号を含む管理情報を共通資源毎に保持し、
プロセッサが、共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックしロックフラグがオフであれば、これをオンとしプロセッサ番号は自番号としタグ番号エリアは前記タグ番号として管理情報を更新し、共通資源への書込を行い、管理情報のロックフラグをオフする手段と、
共通資源への読出に際し、アクセス対象の管理情報をチェックし、ロックフラグがオフかリード中フラグがオンであれば、ロックフラグとリード中フラグをオンとしプロセッサ番号を自番号として管理情報を更新し、共通資源からの読出を行い、管理情報を確認しプロセッサ番号が更新されてなければロックフラグやリード中フラグをクリアする手段と、
前記管理情報チェックでロックフラグがオンでリード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファよりデータを読出す手段を有することを特徴とする共通資源へのアクセス方式。
A method in which two processors access a common resource on a common memory through a common bus,
A dual port memory accessible by each processor through a local bus, and a common resource management storage;
A plurality of unique tag numbers used by each processor are defined, and the dual port memory has a buffer corresponding to the tag number,
The common resource management storage holds management information including a lock flag, a reading flag, a processor number, and a tag number for each common resource,
When writing to the common resource, the processor determines the tag number, pre-stores the write data in the buffer corresponding to the tag number of the dual port memory, checks the access target management information, and if the lock flag is off. Means for turning on this, updating the management information as the processor number and the tag number area as the tag number, writing the common resource, and turning off the lock flag of the management information;
When reading to the common resource, the management information to be accessed is checked, and if the lock flag is off or the reading flag is on, the lock flag and the reading flag are turned on, and the management information is updated with the processor number as its own number. Means for reading from the common resource, checking the management information, and clearing the lock flag or the reading flag if the processor number is not updated;
An access method to a common resource, comprising: means for reading data from a buffer of the dual port memory indicated by the tag number of the management information if the lock flag is on and the reading flag is off in the management information check.
前記プロセッサが、共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックしロックフラグがオフであれば、これをオンとしプロセッサ番号は自番号としタグ番号エリアは前記タグ番号として管理情報を更新し、共通資源への書込を行い、管理情報を確認しタグ番号が更新されていればデュアルポートメモリの対応バッファより書込データを取り出し共通資源への書込を行なってからロックフラグをオフする手段と、
前記チェックでロックフラグがオンであれば管理情報のタグ番号を書込データのデュアルポートメモリへの格納時のタグ番号に更新しリード中フラグをオフする手段と、
共通資源への読出に際し、アクセス対象の管理情報をチェックし、ロックフラグがオフかリード中フラグがオンであれば、ロックフラグとリード中フラグをオンとしプロセッサ番号は自番号として管理情報を更新し、共通資源からの読出を行い、管理情報を確認し、更新されてなければ直ぐに、ロックフラグやリード中フラグをクリアし、リード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファより書込データを取り出し、共通資源に書込んでからロックフラグをオフする手段と、
前記管理情報チェックでロックフラグがオンでリード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファよりデータを読出す手段を有することを特徴とする請求項3記載の共通資源へのアクセス方式。
The processor determines a tag number when writing to a common resource, pre-stores write data in a buffer corresponding to the tag number of the dual port memory, checks management information to be accessed, and determines whether a lock flag is off. If this is turned on, the processor number is set to its own number, the tag number area updates the management information as the tag number, writes to the common resource, checks the management information, and if the tag number is updated, the dual port Means for taking out write data from the corresponding buffer of the memory, writing the data to the common resource, and then turning off the lock flag;
Means for updating the tag number of the management information to the tag number at the time of storing the write data in the dual port memory and turning off the reading flag if the lock flag is on in the check,
When reading to the common resource, the management information to be accessed is checked, and if the lock flag is off or the reading flag is on, the lock flag and the reading flag are turned on, and the management information is updated with the processor number being the own number. , Read from the common resource, check the management information, immediately clear the lock flag or read flag if not updated, and if the read flag is off, the dual port memory indicated by the tag number of the management information Means for taking out write data from the buffer and writing it to the common resource and then turning off the lock flag;
4. The common resource according to claim 3, further comprising means for reading data from a buffer of the dual port memory indicated by the tag number of the management information if the lock flag is on and the reading flag is off in the management information check. Access method to.
プロセッサが、次回用タグ番号を記憶する記憶域と、共通資源への書込発生時前記記憶域より読出したタグ番号をデュアルポートメモリへの格納時タグ番号とする手段と、書込要求の処理終了で前記記憶域のタグ番号をインクリメントないし開始値に循環させ更新する手段を有し、自プロセッサに割り当てられたタグ番号を番号順に循環使用することを特徴とする請求項1、2、3、又は4記載の共通資源へのアクセス方式。Means for the processor to store a tag number for the next use, means for making the tag number read from the storage area when writing to the common resource occurs when storing the tag number in the dual port memory, and processing of the write request 4. The method according to claim 1, further comprising means for updating the tag number of the storage area by incrementing or starting at the end and updating the tag number assigned to the own processor in numerical order. Or the access method to the common resource described in 4. 前記デュアルポートメモリ上にはタグ番号毎にその番号或いは有効性表示フラグを保持するタグエリアも有し、
プロセッサが、次回用タグ番号を記憶する記憶域と、共通資源への書込発生時前記記憶域より読出したタグ番号の空きを前記タグエリアを参照し確認し、空きでなければ空き番号になるまでインクリメントや循環し前記記憶域を更新してからそれぞれ決定タグ番号とする手段と、デュアルポートメモリのタグ番号対応バッファへの書込データ格納を終えるとタグエリアの対応タグ番号を有効化し、デュアルポートメモリのタグ番号対応バッファの書込データを共通資源に格納し終えるとタグエリアの対応タグ番号を無効化する手段と、書込要求の処理終了で前記記憶域のタグ番号をインクリメントないし開始値に循環させ更新する手段を有することを特徴とする請求項2、又は4記載の共通資源へのアクセス方式。
The dual port memory also has a tag area for holding the number or validity display flag for each tag number,
The processor refers to the tag area to check the storage area for storing the tag number for the next time and the tag number read from the storage area when writing to the common resource occurs. Means for incrementing or circulating the storage area to update the storage area and then setting the determined tag number, and when storing the write data in the tag number corresponding buffer of the dual port memory is completed, the corresponding tag number in the tag area is validated, and the dual Means for invalidating the corresponding tag number of the tag area when the write data of the buffer corresponding to the tag number of the port memory is stored in the common resource, and incrementing or starting the tag number of the storage area at the end of the processing of the write request. 5. A method for accessing a common resource according to claim 2, further comprising means for circulating and updating the common resource.
前記2台のプロセッサをN台のプロセッサとし、前記デュアルポートメモリをNポートメモリとすることを特徴とする請求項1乃至6の何れかに記載の共通資源へのアクセス方式。7. The method according to claim 1, wherein the two processors are N processors, and the dual port memory is an N port memory. 2台のプロセッサが共通バスを通じアクセスする共通メモリ上の共通資源への書込に際し、タグ番号を決め、各プロセッサのローカルバスが接続されたデュアルポートメモリにアクセスし、書込データを前記タグ番号対応のバッファに予め格納し、アクセス対象の共通資源の管理情報をチェックし、初期値即ちロックフラグオフであれば、管理情報を前記タグ番号に更新後、共通資源への書込を行い、管理情報のタグ番号を初期化即ちロックフラグオフする手順と、
前記共通資源への読出に際し、アクセス対象の共通資源の管理情報をチェックし初期値か何れかの所定値、即ちロックフラグオフかリード中であれば、管理情報を自分の所定値に更新し、共通資源からの読出を行い、管理情報が更新されてなければこれを初期化する手順と、
前記チェックでタグ番号がセットされていればそれが示す前記デュアルポートメモリのバッファよりデータを読出す手順とを有することを特徴とする共通資源へのアクセスプログラム。
When writing to a common resource on a common memory accessed by two processors through a common bus, a tag number is determined, a dual port memory connected to a local bus of each processor is accessed, and write data is stored in the tag number. The management information of the common resource to be accessed is stored in advance in a corresponding buffer, and if the initial value, that is, the lock flag is off, the management information is updated to the tag number and then written to the common resource. A procedure for initializing the tag number of information, that is, for turning off the lock flag;
At the time of reading to the common resource, the management information of the common resource to be accessed is checked, and if the initial value or any predetermined value, that is, the lock flag is off or being read, the management information is updated to its own predetermined value, A procedure for reading from the common resource and initializing the management information if it has not been updated;
Reading a data from the buffer of the dual port memory indicated by the tag number if the tag number is set in the check.
前記共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の共通資源の管理情報をチェックし、初期値であれば、管理情報を前記タグ番号に更新し、共通資源への書込を行ない、管理情報を確認し別のタグ番号に更新されていればデュアルポートメモリのそのタグ番号に対応したバッファより書込データを取り出し共通資源への書込を行なってから管理情報を初期化する手順と、
前記チェックで、管理情報がタグ番号か何れかの所定値即ちロックオンであれば、管理情報を前記書込データのデュアルポートメモリへの格納時のタグ番号に更新する手順と、
前記共通資源への読出に際し、アクセス対象の管理情報をチェックし、初期値か何れかの所定値であれば、これを自分の所定値に更新し、共通資源からの読出を行い、管理情報を確認し、更新されてなければ直ぐに、タグ番号に更新されていればデュアルポートメモリのそのタグ番号対応のバッファより書込データを取り出し共通資源への書込を行なってから、それぞれ管理情報を初期化する手順と、前記チェックで管理情報にタグ番号がセットされていればそれが示すデュアルポートメモリのバッファよりデータを読出す手順とを有することを特徴とする請求項8記載の共通資源へのアクセスプログラム。
At the time of writing to the common resource, a tag number is determined, write data is stored in advance in a buffer corresponding to the tag number of the dual port memory, and management information of the common resource to be accessed is checked. The management information is updated to the tag number, writing to the common resource is performed, the management information is confirmed, and if the tag is updated to another tag number, the write data is read from the buffer corresponding to the tag number in the dual port memory. A procedure for extracting management information after writing the information to a common resource,
A step of updating the management information to the tag number at the time of storing the write data in the dual port memory, if the management information indicates that the management information is a tag number or any predetermined value, that is, lock-on;
At the time of reading to the common resource, the management information to be accessed is checked, and if it is an initial value or any predetermined value, it is updated to its own predetermined value, read from the common resource, and the management information is updated. Confirm, if not updated immediately, if it has been updated to the tag number, fetch the write data from the buffer corresponding to the tag number in the dual port memory, write it to the common resource, and initialize the management information respectively. 9. The method according to claim 8, further comprising: a step of reading data from a buffer of the dual port memory indicated by the tag number set in the management information in the check if the tag number is set in the check. Access program.
2台のプロセッサが共通バスを通じアクセスする共通メモリ上の共通資源への書込に際し、タグ番号を決め、各プロセッサのローカルバスが接続されたデュアルポートメモリにアクセスし、書込データを前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックしロックフラグがオフであれば、これをオンとしプロセッサ番号は自番号としタグ番号エリアは前記タグ番号として管理情報を更新し、共通資源への書込を行い、管理情報のロックフラグをオフする手順と、
共通資源への読出に際し、アクセス対象の管理情報をチェックし、ロックフラグがオフかリード中フラグがオンであれば、ロックフラグとリード中フラグをオンとしプロセッサ番号を自番号として管理情報を更新し、共通資源からの読出を行い、管理情報を確認しプロセッサ番号が更新されてなければロックフラグやリード中フラグをクリアする手順と、
前記管理情報チェックでロックフラグがオンでリード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファよりデータを読出す手順を有することを特徴とする共通資源へのアクセスプログラム。
When writing to a common resource on a common memory accessed by two processors through a common bus, a tag number is determined, a dual port memory connected to a local bus of each processor is accessed, and write data is stored in the tag number. The management information to be accessed is stored in advance in a corresponding buffer, and the management information to be accessed is checked. If the lock flag is off, this is turned on, the processor number is updated to the own number, the tag number area is updated as the tag number, and the management information is updated. To write to the server and turn off the lock flag of the management information;
When reading to the common resource, the management information to be accessed is checked, and if the lock flag is off or the reading flag is on, the lock flag and the reading flag are turned on, and the management information is updated with the processor number as its own number. A step of reading from the common resource, checking the management information, and clearing the lock flag or the reading flag if the processor number is not updated;
A program for accessing a common resource, comprising a step of reading data from a buffer of a dual port memory indicated by a tag number of the management information if the lock flag is on and the reading flag is off in the management information check.
前記共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックしロックフラグがオフであれば、これをオンとしプロセッサ番号は自番号としタグ番号エリアは前記タグ番号として管理情報を更新し、共通資源への書込を行い、管理情報を確認しタグ番号が更新されていればデュアルポートメモリの対応バッファより書込データを取り出し共通資源への書込を行なってからロックフラグをオフする手順と、
前記チェックでロックフラグがオンであれば管理情報のタグ番号を書込データのデュアルポートメモリへの格納時のタグ番号に更新しリード中フラグをオフする手順と、
前記共通資源への読出に際し、アクセス対象の管理情報をチェックし、ロックフラグがオフかリード中フラグがオンであれば、ロックフラグとリード中フラグをオンとしプロセッサ番号は自番号として管理情報を更新し、共通資源からの読出を行い、管理情報を確認し、更新されてなければ直ぐに、ロックフラグやリード中フラグをクリアし、リード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファより書込データを取り出し、共通資源に書込んでからロックフラグをオフする手順と、
前記管理情報チェックでロックフラグがオンでリード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファよりデータを読出す手順を有することを特徴とする請求項10記載の共通資源へのアクセスプログラム。
When writing to the common resource, a tag number is determined, write data is stored in advance in a buffer corresponding to the tag number of the dual port memory, access target management information is checked, and if the lock flag is off, Is turned on, the processor number is set to its own number, the tag number area updates the management information as the tag number, writes to the common resource, checks the management information, and if the tag number is updated, supports the dual port memory A procedure for taking out write data from the buffer, writing to the common resource, and then turning off the lock flag;
A step of updating the tag number of the management information to the tag number when the write data is stored in the dual port memory and turning off the reading flag if the lock flag is on in the check;
At the time of reading to the common resource, the management information to be accessed is checked, and if the lock flag is off or the reading flag is on, the lock flag and the reading flag are turned on, and the processor number is updated as the own number as the processor number. Then, read from the common resource, check the management information, and immediately clear the lock flag or reading flag if it is not updated. If the reading flag is off, specify the dual port indicated by the tag number of the management information. A procedure for taking out write data from a memory buffer, writing the data to a common resource, and then turning off a lock flag;
11. The common resource according to claim 10, further comprising a step of reading data from a buffer of the dual port memory indicated by the tag number of the management information if the lock flag is on and the reading flag is off in the management information check. Access program to.
前記共通資源への書込に際し、次回用タグ番号記憶域より読出したタグ番号を前記デュアルポートメモリへの格納時タグ番号とする手順と、書込要求の処理終了で前記記憶域のタグ番号をインクリメントないし開始値に循環させ更新する手順を有し、自プロセッサに割り当てられたタグ番号を番号順に循環使用することを特徴とする請求項8、9、10、又は11記載の共通資源へのアクセスプログラム。At the time of writing to the common resource, the tag number read from the tag number storage area for the next time is used as the tag number at the time of storage in the dual port memory. 12. The access to the common resource according to claim 8, further comprising a procedure of updating the value by incrementing or starting from the starting value, and circulating the tag numbers assigned to the own processor in numerical order. program. 前記共通資源への書込に際し、次回用タグ番号記憶域より読出したタグ番号の空きを、デュアルポートメモリ上のタグ番号管理エリアを参照して確認し、空きでなければ空き番号になるまでインクリメントや循環し前記記憶域の更新をしてからそれぞれ決定タグ番号とする手順と、デュアルポートメモリのタグ番号対応バッファへの書込データ格納を終えると前記タグ番号管理エリアの対応タグ番号を有効化し、デュアルポートメモリのタグ番号対応バッファの書込データを共通資源に格納し終えると前記タグ番号管理エリアの対応タグ番号を無効化する手順と、書込要求の処理終了で次回用タグ番号記憶域の番号をインクリメントないし開始値に循環させ更新する手順を有することを特徴とする請求項9、又は11記載の共通資源へのアクセスプログラム。At the time of writing to the common resource, the vacancy of the tag number read from the next-use tag number storage area is checked by referring to the tag number management area on the dual port memory. And circulating and updating the storage area, and then setting the determined tag number, and when the write data storage in the tag number corresponding buffer of the dual port memory is completed, the corresponding tag number in the tag number management area is validated. When the write data of the buffer corresponding to the tag number of the dual port memory is stored in the common resource, the corresponding tag number in the tag number management area is invalidated, and the next tag number storage area is stored when the processing of the write request is completed. 12. The method according to claim 9, further comprising a step of updating the number of the common resource by incrementing or starting the number. It is programmed. 前記共通資源をN台のプロセッサが共通バスを通じアクセスする共通メモリ上の共通資源とし、前記デュアルポートメモリをN台のプロセッサのローカルバスに接続されたNポートメモリとすることを特徴とする請求項8乃至13の何れかに記載の共通資源へのアクセスプログラム。2. The method according to claim 1, wherein the common resource is a common resource on a common memory accessed by N processors through a common bus, and the dual port memory is an N port memory connected to a local bus of the N processors. 14. A program for accessing a common resource according to any one of 8 to 13.
JP2002374065A 2002-12-25 2002-12-25 Common resource access method, common resource access method, and program Expired - Fee Related JP4122968B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002374065A JP4122968B2 (en) 2002-12-25 2002-12-25 Common resource access method, common resource access method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002374065A JP4122968B2 (en) 2002-12-25 2002-12-25 Common resource access method, common resource access method, and program

Publications (2)

Publication Number Publication Date
JP2004206369A true JP2004206369A (en) 2004-07-22
JP4122968B2 JP4122968B2 (en) 2008-07-23

Family

ID=32812194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002374065A Expired - Fee Related JP4122968B2 (en) 2002-12-25 2002-12-25 Common resource access method, common resource access method, and program

Country Status (1)

Country Link
JP (1) JP4122968B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008115869A1 (en) * 2007-03-22 2008-09-25 Qualcomm Incorporated Shared buffer management for processing audio files
JP2009258937A (en) * 2008-04-16 2009-11-05 Sony Corp Information processor, information processing method and computer program
WO2012014287A1 (en) * 2010-07-27 2012-02-02 富士通株式会社 Multi-core processor system, control program and control method
JP2014038656A (en) * 2013-10-24 2014-02-27 Fujitsu Ltd Multi-core processor system, control program, and control method
JP2016519371A (en) * 2013-04-19 2016-06-30 クロノ−セイフ Task time allocation method enabling deterministic error recovery in real time
WO2016184201A1 (en) * 2015-10-28 2016-11-24 中兴通讯股份有限公司 Method for managing hardware resources in multi-core system, and corresponding multi-core system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008115869A1 (en) * 2007-03-22 2008-09-25 Qualcomm Incorporated Shared buffer management for processing audio files
US7723601B2 (en) 2007-03-22 2010-05-25 Qualcomm Incorporated Shared buffer management for processing audio files
JP2010522361A (en) * 2007-03-22 2010-07-01 クゥアルコム・インコーポレイテッド Shared buffer management for processing audio files
JP2009258937A (en) * 2008-04-16 2009-11-05 Sony Corp Information processor, information processing method and computer program
US8099531B2 (en) 2008-04-16 2012-01-17 Sony Corporation Information processing method and computer program comprising network card wherein a plurality of processors switches use of network card related to setting of resource flag
WO2012014287A1 (en) * 2010-07-27 2012-02-02 富士通株式会社 Multi-core processor system, control program and control method
JP5397546B2 (en) * 2010-07-27 2014-01-22 富士通株式会社 Multi-core processor system, control program, and control method
JP2016519371A (en) * 2013-04-19 2016-06-30 クロノ−セイフ Task time allocation method enabling deterministic error recovery in real time
JP2014038656A (en) * 2013-10-24 2014-02-27 Fujitsu Ltd Multi-core processor system, control program, and control method
WO2016184201A1 (en) * 2015-10-28 2016-11-24 中兴通讯股份有限公司 Method for managing hardware resources in multi-core system, and corresponding multi-core system

Also Published As

Publication number Publication date
JP4122968B2 (en) 2008-07-23

Similar Documents

Publication Publication Date Title
US6708256B2 (en) Memory-to-memory copy and compare/exchange instructions to support non-blocking synchronization schemes
JP4065586B2 (en) Link list formation method
US5095424A (en) Computer system architecture implementing split instruction and operand cache line-pair-state management
US6748501B2 (en) Microprocessor reservation mechanism for a hashed address system
US7757044B2 (en) Facilitating store reordering through cacheline marking
US6141734A (en) Method and apparatus for optimizing the performance of LDxL and STxC interlock instructions in the context of a write invalidate protocol
US5265233A (en) Method and apparatus for providing total and partial store ordering for a memory in multi-processor system
US6564301B1 (en) Management of caches in a data processing apparatus
US6473845B1 (en) System and method for dynamically updating memory address mappings
JP3900025B2 (en) Hit determination control method for shared cache memory and hit determination control method for shared cache memory
JPH0950400A (en) Multiprocessor system
JP4122968B2 (en) Common resource access method, common resource access method, and program
US5241639A (en) Method for updating data from a cache address location to main memory and maintaining the cache address in registration memory
US7627734B2 (en) Virtual on-chip memory
CN115454502B (en) Method for scheduling return data of SIMT architecture processor and corresponding processor
JPH06139149A (en) Multiple virtual space control device
US20080209085A1 (en) Semiconductor device and dma transfer method
US7073004B2 (en) Method and data processing system for microprocessor communication in a cluster-based multi-processor network
JP3381079B2 (en) Exclusive control system using cache memory
EP0271187A2 (en) Split instruction and operand cache management
JPH06187239A (en) Data coincidence control system for multi-layered cache memory
JPS6285372A (en) Comparing and swapping system in multi-processor system
JPH06103477B2 (en) Parallel cache memory
JPH0773035A (en) Multiprocessor system
JP3219810B2 (en) Data processing device

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051017

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080408

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080421

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140516

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees