(57)【要約】【課題】従来、複数プロセッサが共有メモリの共通資源にアクセスする際に排他制御が必要で、アクセスした共通資源がロック中の場合、ロック解除をポーリングするので共通バスが輻輳し、又解除待ちで処理時間が長くなっていた。【解決手段】プロセッサ１、４が共通バス８を通じ共通メモリ９の共通資源へアクセスする方式で、各プロセッサのローカルバス３、６に接続されたデュアルポートＲＡＭ７と、各共通資源の管理情報を含み、プロセッサ１は書込アクセス時、デュアルポートＲＡＭ７にタグ番号を対応させ書込データを予め格納し、管理情報がロックオフであればタグ番号を管理情報に設定し書込処理をし、この間のプロセッサ４の読出アクセスは、管理情報よりタグ番号を読み出しデュアルポートＲＡＭ７からデータを読み出し、書込アクセスでは同様に予め格納した書込データ対応タグ番号を管理情報に設定し、プロセッサ１がこの書込処理もする。【選択図】      図１
2004206369.tif 000002
【特許請求の範囲】
【請求項１】
２台のプロセッサが共通バスを通じ共通メモリ上の共通資源へアクセスする方式であって、
各プロセッサがローカルバスを通じアクセス可能なデュアルポートメモリと、共通資源管理記憶とを含み、
各プロセッサが使用する複数のユニークなタグ番号を、初期値や複数の所定値を除いて、又プロセッサ識別が出来る様に定義し、前記デュアルポートメモリ上にはこのタグ番号に対応したバッファを有し、
前記共通資源管理記憶には、共通資源のロックフラグも兼ねた前記タグ番号、ロックフラグオフを示す前記初期値、或いはロックフラグオン且つリード中であることをプロセッサ別に示す前記複数の所定値を管理情報として共通資源毎に保持し、プロセッサが、共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックし、初期値即ちロックフラグオフであれば、管理情報を前記タグ番号に更新後、共通資源への書込を行い、管理情報のタグ番号を初期化、即ちロックフラグオフする手段と、
共通資源への読出に際し、アクセス対象の管理情報をチェックし、初期値か何れかの所定値、即ちロックフラグオフかリード中であれば、管理情報を自分の所定値に更新し、共通資源からの読出を行い、管理情報が更新されてなければこれを初期化する手段と、
前記チェックでタグ番号がセットされていればそれが示すデュアルポートメモリのバッファよりデータを読出す手段を有することを特徴とする共通資源へのアクセス方式。
【請求項２】
前記プロセッサが、共通資源への書込に際し、タグ番号を決め書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックし、初期値であれば、管理情報を前記タグ番号に更新し、共通資源への書込を行い、管理情報を確認し別のタグ番号に更新されていればデュアルポートメモリのそのタグ番号対応のバッファより書込データを取り出し共通資源への書込を行なってから管理情報を初期化する手段と、前記チェックで、管理情報にタグ番号か何れかの所定値が設定されていれば即ちロックオンであれば、管理情報を前記書込データのデュアルポートメモリへの格納時のタグ番号に更新する手段と、
共通資源への読出に際し、アクセス対象の管理情報をチェックし、初期値か何れかの所定値であれば、これを自分の所定値に更新し、共通資源からの読出を行い、管理情報を確認し、更新されてなければ直ぐに、タグ番号に更新されていればデュアルポートメモリのそのタグ番号対応のバッファより書込データを取り出し共通資源への書込を行なってから、それぞれ管理情報を初期化する手段と、
前記チェックで管理情報にタグ番号がセットされていればそれが示すデュアルポートメモリのバッファよりデータを読出す手段を有することを特徴とする請求項１記載の共通資源へのアクセス方式。
【請求項３】
２台のプロセッサが共通バスを通じ共通メモリ上の共通資源へアクセスする方式であって、
各プロセッサがローカルバスを通じアクセス可能なデュアルポートメモリと、共通資源管理記憶とを含み、
各プロセッサが使用する複数のユニークなタグ番号を定義し、前記デュアルポートメモリ上にはこのタグ番号に対応したバッファを有し、
前記共通資源管理記憶には、ロックフラグとリード中フラグとプロセッサ番号とタグ番号を含む管理情報を共通資源毎に保持し、
プロセッサが、共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックしロックフラグがオフであれば、これをオンとしプロセッサ番号は自番号としタグ番号エリアは前記タグ番号として管理情報を更新し、共通資源への書込を行い、管理情報のロックフラグをオフする手段と、
共通資源への読出に際し、アクセス対象の管理情報をチェックし、ロックフラグがオフかリード中フラグがオンであれば、ロックフラグとリード中フラグをオンとしプロセッサ番号を自番号として管理情報を更新し、共通資源からの読出を行い、管理情報を確認しプロセッサ番号が更新されてなければロックフラグやリード中フラグをクリアする手段と、
前記管理情報チェックでロックフラグがオンでリード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファよりデータを読出す手段を有することを特徴とする共通資源へのアクセス方式。
【請求項４】
前記プロセッサが、共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックしロックフラグがオフであれば、これをオンとしプロセッサ番号は自番号としタグ番号エリアは前記タグ番号として管理情報を更新し、共通資源への書込を行い、管理情報を確認しタグ番号が更新されていればデュアルポートメモリの対応バッファより書込データを取り出し共通資源への書込を行なってからロックフラグをオフする手段と、
前記チェックでロックフラグがオンであれば管理情報のタグ番号を書込データのデュアルポートメモリへの格納時のタグ番号に更新しリード中フラグをオフする手段と、
共通資源への読出に際し、アクセス対象の管理情報をチェックし、ロックフラグがオフかリード中フラグがオンであれば、ロックフラグとリード中フラグをオンとしプロセッサ番号は自番号として管理情報を更新し、共通資源からの読出を行い、管理情報を確認し、更新されてなければ直ぐに、ロックフラグやリード中フラグをクリアし、リード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファより書込データを取り出し、共通資源に書込んでからロックフラグをオフする手段と、
前記管理情報チェックでロックフラグがオンでリード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファよりデータを読出す手段を有することを特徴とする請求項３記載の共通資源へのアクセス方式。
【請求項５】
プロセッサが、次回用タグ番号を記憶する記憶域と、共通資源への書込発生時前記記憶域より読出したタグ番号をデュアルポートメモリへの格納時タグ番号とする手段と、書込要求の処理終了で前記記憶域のタグ番号をインクリメントないし開始値に循環させ更新する手段を有し、自プロセッサに割り当てられたタグ番号を番号順に循環使用することを特徴とする請求項１、２、３、又は４記載の共通資源へのアクセス方式。
【請求項６】
前記デュアルポートメモリ上にはタグ番号毎にその番号或いは有効性表示フラグを保持するタグエリアも有し、
プロセッサが、次回用タグ番号を記憶する記憶域と、共通資源への書込発生時前記記憶域より読出したタグ番号の空きを前記タグエリアを参照し確認し、空きでなければ空き番号になるまでインクリメントや循環し前記記憶域を更新してからそれぞれ決定タグ番号とする手段と、デュアルポートメモリのタグ番号対応バッファへの書込データ格納を終えるとタグエリアの対応タグ番号を有効化し、デュアルポートメモリのタグ番号対応バッファの書込データを共通資源に格納し終えるとタグエリアの対応タグ番号を無効化する手段と、書込要求の処理終了で前記記憶域のタグ番号をインクリメントないし開始値に循環させ更新する手段を有することを特徴とする請求項２、又は４記載の共通資源へのアクセス方式。
【請求項７】
前記２台のプロセッサをＮ台のプロセッサとし、前記デュアルポートメモリをＮポートメモリとすることを特徴とする請求項１乃至６の何れかに記載の共通資源へのアクセス方式。
【請求項８】
２台のプロセッサが共通バスを通じアクセスする共通メモリ上の共通資源への書込に際し、タグ番号を決め、各プロセッサのローカルバスが接続されたデュアルポートメモリにアクセスし、書込データを前記タグ番号対応のバッファに予め格納し、アクセス対象の共通資源の管理情報をチェックし、初期値即ちロックフラグオフであれば、管理情報を前記タグ番号に更新後、共通資源への書込を行い、管理情報のタグ番号を初期化即ちロックフラグオフする手順と、
前記共通資源への読出に際し、アクセス対象の共通資源の管理情報をチェックし初期値か何れかの所定値、即ちロックフラグオフかリード中であれば、管理情報を自分の所定値に更新し、共通資源からの読出を行い、管理情報が更新されてなければこれを初期化する手順と、
前記チェックでタグ番号がセットされていればそれが示す前記デュアルポートメモリのバッファよりデータを読出す手順とを有することを特徴とする共通資源へのアクセスプログラム。
【請求項９】
前記共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の共通資源の管理情報をチェックし、初期値であれば、管理情報を前記タグ番号に更新し、共通資源への書込を行ない、管理情報を確認し別のタグ番号に更新されていればデュアルポートメモリのそのタグ番号に対応したバッファより書込データを取り出し共通資源への書込を行なってから管理情報を初期化する手順と、
前記チェックで、管理情報がタグ番号か何れかの所定値即ちロックオンであれば、管理情報を前記書込データのデュアルポートメモリへの格納時のタグ番号に更新する手順と、
前記共通資源への読出に際し、アクセス対象の管理情報をチェックし、初期値か何れかの所定値であれば、これを自分の所定値に更新し、共通資源からの読出を行い、管理情報を確認し、更新されてなければ直ぐに、タグ番号に更新されていればデュアルポートメモリのそのタグ番号対応のバッファより書込データを取り出し共通資源への書込を行なってから、それぞれ管理情報を初期化する手順と、前記チェックで管理情報にタグ番号がセットされていればそれが示すデュアルポートメモリのバッファよりデータを読出す手順とを有することを特徴とする請求項８記載の共通資源へのアクセスプログラム。
【請求項１０】
２台のプロセッサが共通バスを通じアクセスする共通メモリ上の共通資源への書込に際し、タグ番号を決め、各プロセッサのローカルバスが接続されたデュアルポートメモリにアクセスし、書込データを前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックしロックフラグがオフであれば、これをオンとしプロセッサ番号は自番号としタグ番号エリアは前記タグ番号として管理情報を更新し、共通資源への書込を行い、管理情報のロックフラグをオフする手順と、
共通資源への読出に際し、アクセス対象の管理情報をチェックし、ロックフラグがオフかリード中フラグがオンであれば、ロックフラグとリード中フラグをオンとしプロセッサ番号を自番号として管理情報を更新し、共通資源からの読出を行い、管理情報を確認しプロセッサ番号が更新されてなければロックフラグやリード中フラグをクリアする手順と、
前記管理情報チェックでロックフラグがオンでリード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファよりデータを読出す手順を有することを特徴とする共通資源へのアクセスプログラム。
【請求項１１】
前記共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックしロックフラグがオフであれば、これをオンとしプロセッサ番号は自番号としタグ番号エリアは前記タグ番号として管理情報を更新し、共通資源への書込を行い、管理情報を確認しタグ番号が更新されていればデュアルポートメモリの対応バッファより書込データを取り出し共通資源への書込を行なってからロックフラグをオフする手順と、
前記チェックでロックフラグがオンであれば管理情報のタグ番号を書込データのデュアルポートメモリへの格納時のタグ番号に更新しリード中フラグをオフする手順と、
前記共通資源への読出に際し、アクセス対象の管理情報をチェックし、ロックフラグがオフかリード中フラグがオンであれば、ロックフラグとリード中フラグをオンとしプロセッサ番号は自番号として管理情報を更新し、共通資源からの読出を行い、管理情報を確認し、更新されてなければ直ぐに、ロックフラグやリード中フラグをクリアし、リード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファより書込データを取り出し、共通資源に書込んでからロックフラグをオフする手順と、
前記管理情報チェックでロックフラグがオンでリード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファよりデータを読出す手順を有することを特徴とする請求項１０記載の共通資源へのアクセスプログラム。
【請求項１２】
前記共通資源への書込に際し、次回用タグ番号記憶域より読出したタグ番号を前記デュアルポートメモリへの格納時タグ番号とする手順と、書込要求の処理終了で前記記憶域のタグ番号をインクリメントないし開始値に循環させ更新する手順を有し、自プロセッサに割り当てられたタグ番号を番号順に循環使用することを特徴とする請求項８、９、１０、又は１１記載の共通資源へのアクセスプログラム。
【請求項１３】
前記共通資源への書込に際し、次回用タグ番号記憶域より読出したタグ番号の空きを、デュアルポートメモリ上のタグ番号管理エリアを参照して確認し、空きでなければ空き番号になるまでインクリメントや循環し前記記憶域の更新をしてからそれぞれ決定タグ番号とする手順と、デュアルポートメモリのタグ番号対応バッファへの書込データ格納を終えると前記タグ番号管理エリアの対応タグ番号を有効化し、デュアルポートメモリのタグ番号対応バッファの書込データを共通資源に格納し終えると前記タグ番号管理エリアの対応タグ番号を無効化する手順と、書込要求の処理終了で次回用タグ番号記憶域の番号をインクリメントないし開始値に循環させ更新する手順を有することを特徴とする請求項９、又は１１記載の共通資源へのアクセスプログラム。
【請求項１４】
前記共通資源をＮ台のプロセッサが共通バスを通じアクセスする共通メモリ上の共通資源とし、前記デュアルポートメモリをＮ台のプロセッサのローカルバスに接続されたＮポートメモリとすることを特徴とする請求項８乃至１３の何れかに記載の共通資源へのアクセスプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は複数のプロセッサに共通使用される共通メモリ上の共通資源へのアクセス方式及びアクセスプログラムに関する。
【０００２】
【従来の技術】
マルチプロセッサが共通メモリを有し、共通メモリ内の共通資源にアクセスする場合、複数のプロセッサが同時に同じ共通資源を変更しない様に、一般的には共通資源毎にロックフラグを用いて排他的処理を行う。
【０００３】
最初に共通資源にアクセスしたプロセッサ（例えば第一のプロセッサとする）はロックフラグを立てて、他のプロセッサがこの共通資源へアクセスするのを禁止する。ロックフラグを立てた第一のプロセッサは共通資源へのアクセスが終わるとロックフラグをクリアする。
【０００４】
他のプロセッサが共通資源にアクセスしたときにロックフラグが立っていたら、共通資源にアクセスができないので、他のプロセッサはロックフラグがクリアされるまで待たなければならない。ロックフラグはいつクリアされるか分からないので、他のプロセッサは常にロックフラグをポーリングしなければならない。
【０００５】
この様な複数のプロセッサがバスを介しメモリ上の共有データにアクセスするマルチプロセッサシステムの例として、一方のプロセッサがメモリの共有データをアクセスしている間に、他方のプロセッサからの上記共有データへのメモリアクセス要求の受付を拒絶する一方、他方のプロセッサからの上記共有データのアドレスと異なるアドレスへのメモリアクセス要求を受け付けるメモリアクセス制御回路を備えたマルチプロセッサシステムがある（例えば特許文献１参照。）。
【０００６】
【特許文献１】
特開平５−２１０６４０号公報（第２頁第２行から第１４、段落［００８６］）
【０００７】
【発明が解決しようとする課題】
上記マルチプロセッサの例では、他方のプロセッサが排他制御されたデータアクセスを行うタスクやジョブを一時保留し、排他制御されてないデータにアクセスする様なタスクやジョブに切り替えることでマルチプロセッサシステムのスループット低下を低減するものである。
【０００８】
従って、他方のプロセッサがリアルタイム処理を要求するジョブには適用出来ない。即ち、排他制御で待たされるジョブの処理時間は長くなるという問題がある。
【０００９】
又、他方のプロセッサが対象の共有データへのアクセス要求の受付が許可されるタイミングを教えるものでなく、上記ポーリングを大幅に低減するものではない。
【００１０】
一般的に、共通メモリは共通バスに接続されており、共通バスはバス調停が必要なこと、及び線路長が長いことによってアクセススピードが遅い。従って、複数のプロセッサが共用して使用する共通バスが輻輳し、システム全体の能力を低下させてしまうという問題もある。
【００１１】
【課題を解決するための手段】
本発明の第１の共通資源へのアクセス方式は、２台のプロセッサが共通バスを通じ共通メモリ上の共通資源へアクセスする方式であって、各プロセッサがローカルバスを通じアクセス可能なデュアルポートメモリと、共通資源管理記憶とを含み、各プロセッサが使用する複数のユニークなタグ番号を、初期値や複数の所定値を除いて、又プロセッサ識別が出来る様に定義し、前記デュアルポートメモリ上にはこのタグ番号に対応したバッファを有し、前記共通資源管理記憶には、共通資源のロックフラグも兼ねた前記タグ番号、ロックフラグオフを示す前記初期値、或いはロックフラグオン且つリード中であることをプロセッサ別に示す前記複数の所定値を管理情報として共通資源毎に保持し、プロセッサが、共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックし、初期値即ちロックフラグオフであれば、管理情報を前記タグ番号に更新後、共通資源への書込を行い、管理情報のタグ番号を初期化、即ちロックフラグオフする手段と、共通資源への読出に際し、アクセス対象の管理情報をチェックし、初期値か何れかの所定値、即ちロックフラグオフかリード中であれば、管理情報を自分の所定値に更新し、共通資源からの読出を行い、管理情報が更新されてなければこれを初期化する手段と、前記チェックでタグ番号がセットされていればそれが示すデュアルポートメモリのバッファよりデータを読出す手段を有することを特徴とする。
【００１２】
本発明の第２の共通資源へのアクセス方式は、前記第１の共通資源へのアクセス方式に於いて、前記プロセッサが、共通資源への書込に際し、タグ番号を決め書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックし、初期値であれば、管理情報を前記タグ番号に更新し、共通資源への書込を行い、管理情報を確認し別のタグ番号に更新されていればデュアルポートメモリのそのタグ番号対応のバッファより書込データを取り出し共通資源への書込を行なってから管理情報を初期化する手段と、前記チェックで、管理情報にタグ番号か何れかの所定値が設定されていれば即ちロックオンであれば、管理情報を前記書込データのデュアルポートメモリへの格納時のタグ番号に更新する手段と、共通資源への読出に際し、アクセス対象の管理情報をチェックし、初期値か何れかの所定値であれば、これを自分の所定値に更新し、共通資源からの読出を行い、管理情報を確認し、更新されてなければ直ぐに、タグ番号に更新されていればデュアルポートメモリのそのタグ番号対応のバッファより書込データを取り出し共通資源への書込を行なってから、それぞれ管理情報を初期化する手段と、前記チェックで管理情報にタグ番号がセットされていればそれが示すデュアルポートメモリのバッファよりデータを読出す手段を有することを特徴とする。
【００１３】
本発明の第３の共通資源へのアクセス方式は、２台のプロセッサが共通バスを通じ共通メモリ上の共通資源へアクセスする方式であって、各プロセッサがローカルバスを通じアクセス可能なデュアルポートメモリと、共通資源管理記憶とを含み、各プロセッサが使用する複数のユニークなタグ番号を定義し、前記デュアルポートメモリ上にはこのタグ番号に対応したバッファを有し、前記共通資源管理記憶には、ロックフラグとリード中フラグとプロセッサ番号とタグ番号を含む管理情報を共通資源毎に保持し、プロセッサが、共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックしロックフラグがオフであれば、これをオンとしプロセッサ番号は自番号としタグ番号エリアは前記タグ番号として管理情報を更新し、共通資源への書込を行い、管理情報のロックフラグをオフする手段と、共通資源への読出に際し、アクセス対象の管理情報をチェックし、ロックフラグがオフかリード中フラグがオンであれば、ロックフラグとリード中フラグをオンとしプロセッサ番号を自番号として管理情報を更新し、共通資源からの読出を行い、管理情報を確認しプロセッサ番号が更新されてなければロックフラグやリード中フラグをクリアする手段と、前記管理情報チェックでロックフラグがオンでリード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファよりデータを読出す手段を有することを特徴とする。
【００１４】
本発明の第４の共通資源へのアクセス方式は、前記第３の共通資源へのアクセス方式に於いて、前記プロセッサが、共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックしロックフラグがオフであれば、これをオンとしプロセッサ番号は自番号としタグ番号エリアは前記タグ番号として管理情報を更新し、共通資源への書込を行い、管理情報を確認しタグ番号が更新されていればデュアルポートメモリの対応バッファより書込データを取り出し共通資源への書込を行なってからロックフラグをオフする手段と、前記チェックでロックフラグがオンであれば管理情報のタグ番号を書込データのデュアルポートメモリへの格納時のタグ番号に更新しリード中フラグをオフする手段と、共通資源への読出に際し、アクセス対象の管理情報をチェックし、ロックフラグがオフかリード中フラグがオンであれば、ロックフラグとリード中フラグをオンとしプロセッサ番号は自番号として管理情報を更新し、共通資源からの読出を行い、管理情報を確認し、更新されてなければ直ぐに、ロックフラグやリード中フラグをクリアし、リード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファより書込データを取り出し、共通資源に書込んでからロックフラグをオフする手段と、前記管理情報チェックでロックフラグがオンでリード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファよりデータを読出す手段を有することを特徴とする。
【００１５】
本発明の第５の共通資源へのアクセス方式は、前記第１、第２、第３、又は第４の共通資源へのアクセス方式に於いて、プロセッサが、次回用タグ番号を記憶する記憶域と、共通資源への書込発生時前記記憶域より読出したタグ番号をデュアルポートメモリへの格納時タグ番号とする手段と、書込要求の処理終了で前記記憶域のタグ番号をインクリメントないし開始値に循環させ更新する手段を有し、自プロセッサに割り当てられたタグ番号を番号順に循環使用することを特徴とする。
【００１６】
本発明の第６の共通資源へのアクセス方式は、前記第２、又は第４の共通資源へのアクセス方式に於いて、前記デュアルポートメモリ上にはタグ番号毎にその番号或いは有効性表示フラグを保持するタグエリアも有し、プロセッサが、次回用タグ番号を記憶する記憶域と、共通資源への書込発生時前記記憶域より読出したタグ番号の空きを前記タグエリアを参照し確認し、空きでなければ空き番号になるまでインクリメントや循環し前記記憶域を更新してからそれぞれ決定タグ番号とする手段と、デュアルポートメモリのタグ番号対応バッファへの書込データ格納を終えるとタグエリアの対応タグ番号を有効化し、デュアルポートメモリのタグ番号対応バッファの書込データを共通資源に格納し終えるとタグエリアの対応タグ番号を無効化する手段と、書込要求の処理終了で前記記憶域のタグ番号をインクリメントないし開始値に循環させ更新する手段を有することを特徴とする。
【００１７】
本発明の第７の共通資源へのアクセス方式は、前記第１乃至第６の何れかの共通資源へのアクセス方式に於いて、前記２台のプロセッサをＮ台のプロセッサとし、前記デュアルポートメモリをＮポートメモリとすることを特徴とする。
【００１８】
本発明の第１の共通資源へのアクセスプログラムは、２台のプロセッサが共通バスを通じアクセスする共通メモリ上の共通資源への書込に際し、タグ番号を決め、各プロセッサのローカルバスが接続されたデュアルポートメモリにアクセスし、書込データを前記タグ番号対応のバッファに予め格納し、アクセス対象の共通資源の管理情報をチェックし、初期値即ちロックフラグオフであれば、管理情報を前記タグ番号に更新後、共通資源への書込を行い、管理情報のタグ番号を初期化即ちロックフラグオフする手順と、前記共通資源への読出に際し、アクセス対象の共通資源の管理情報をチェックし初期値か何れかの所定値、即ちロックフラグオフかリード中であれば、管理情報を自分の所定値に更新し、共通資源からの読出を行い、管理情報が更新されてなければこれを初期化する手順と、前記チェックでタグ番号がセットされていればそれが示す前記デュアルポートメモリのバッファよりデータを読出す手順とを有することを特徴とする。
【００１９】
本発明の第２の共通資源へのアクセスプログラムは、前記第１の共通資源へのアクセスプログラムに於いて、前記共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の共通資源の管理情報をチェックし、初期値であれば、管理情報を前記タグ番号に更新し、共通資源への書込を行ない、管理情報を確認し別のタグ番号に更新されていればデュアルポートメモリのそのタグ番号に対応したバッファより書込データを取り出し共通資源への書込を行なってから管理情報を初期化する手順と、前記チェックで、管理情報がタグ番号か何れかの所定値即ちロックオンであれば、管理情報を前記書込データのデュアルポートメモリへの格納時のタグ番号に更新する手順と、前記共通資源への読出に際し、アクセス対象の管理情報をチェックし、初期値か何れかの所定値であれば、これを自分の所定値に更新し、共通資源からの読出を行い、管理情報を確認し、更新されてなければ直ぐに、タグ番号に更新されていればデュアルポートメモリのそのタグ番号対応のバッファより書込データを取り出し共通資源への書込を行なってから、それぞれ管理情報を初期化する手順と、前記チェックで管理情報にタグ番号がセットされていればそれが示すデュアルポートメモリのバッファよりデータを読出す手順とを有することを特徴とする。
【００２０】
本発明の第３の共通資源へのアクセスプログラムは、２台のプロセッサが共通バスを通じアクセスする共通メモリ上の共通資源への書込に際し、タグ番号を決め、各プロセッサのローカルバスが接続されたデュアルポートメモリにアクセスし、書込データを前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックしロックフラグがオフであれば、これをオンとしプロセッサ番号は自番号としタグ番号エリアは前記タグ番号として管理情報を更新し、共通資源への書込を行い、管理情報のロックフラグをオフする手順と、共通資源への読出に際し、アクセス対象の管理情報をチェックし、ロックフラグがオフかリード中フラグがオンであれば、ロックフラグとリード中フラグをオンとしプロセッサ番号を自番号として管理情報を更新し、共通資源からの読出を行い、管理情報を確認しプロセッサ番号が更新されてなければロックフラグやリード中フラグをクリアする手順と、前記管理情報チェックでロックフラグがオンでリード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファよりデータを読出す手順を有することを特徴とする。
【００２１】
本発明の第４の共通資源へのアクセスプログラムは、前記第３の共通資源へのアクセスプログラムに於いて、前記共通資源への書込に際し、タグ番号を決め、書込データをデュアルポートメモリの前記タグ番号対応のバッファに予め格納し、アクセス対象の管理情報をチェックしロックフラグがオフであれば、これをオンとしプロセッサ番号は自番号としタグ番号エリアは前記タグ番号として管理情報を更新し、共通資源への書込を行い、管理情報を確認しタグ番号が更新されていればデュアルポートメモリの対応バッファより書込データを取り出し共通資源への書込を行なってからロックフラグをオフする手順と、前記チェックでロックフラグがオンであれば管理情報のタグ番号を書込データのデュアルポートメモリへの格納時のタグ番号に更新しリード中フラグをオフする手順と、前記共通資源への読出に際し、アクセス対象の管理情報をチェックし、ロックフラグがオフかリード中フラグがオンであれば、ロックフラグとリード中フラグをオンとしプロセッサ番号は自番号として管理情報を更新し、共通資源からの読出を行い、管理情報を確認し、更新されてなければ直ぐに、ロックフラグやリード中フラグをクリアし、リード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファより書込データを取り出し、共通資源に書込んでからロックフラグをオフする手順と、前記管理情報チェックでロックフラグがオンでリード中フラグがオフであれば管理情報のタグ番号が示すデュアルポートメモリのバッファよりデータを読出す手順を有することを特徴とする。
【００２２】
本発明の第５の共通資源へのアクセスプログラムは、前記第１、第２、第３、又は第４の共通資源へのアクセスプログラムに於いて、前記共通資源への書込に際し、次回用タグ番号記憶域より読出したタグ番号を前記デュアルポートメモリへの格納時タグ番号とする手順と、書込要求の処理終了で前記記憶域のタグ番号をインクリメントないし開始値に循環させ更新する手順を有し、自プロセッサに割り当てられたタグ番号を番号順に循環使用することを特徴とする。
【００２３】
本発明の第６の共通資源へのアクセスプログラムは、前記第２、又は第４の共通資源へのアクセスプログラムに於いて、前記共通資源への書込に際し、次回用タグ番号記憶域より読出したタグ番号の空きを、デュアルポートメモリ上のタグ番号管理エリアを参照して確認し、空きでなければ空き番号になるまでインクリメントや循環し前記記憶域の更新をしてからそれぞれ決定タグ番号とする手順と、デュアルポートメモリのタグ番号対応バッファへの書込データ格納を終えると前記タグ番号管理エリアの対応タグ番号を有効化し、デュアルポートメモリのタグ番号対応バッファの書込データを共通資源に格納し終えると前記タグ番号管理エリアの対応タグ番号を無効化する手順と、書込要求の処理終了で次回用タグ番号記憶域の番号をインクリメントないし開始値に循環させ更新する手順を有することを特徴とする。
【００２４】
本発明の第７の共通資源へのアクセスプログラムは、前記第１乃至第６の何れかの共通資源へのアクセスプログラムに於いて、前記共通資源をＮ台のプロセッサが共通バスを通じアクセスする共通メモリ上の共通資源とし、前記デュアルポートメモリをＮ台のプロセッサのローカルバスに接続されたＮポートメモリとすることを特徴とする。
【００２５】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。先ず本発明の第１の実施例を説明する。
【００２６】
図１は本発明の共通資源へのアクセス方式を含むマルチプロセッサシステムの構成を示した図である。
【００２７】
図１を参照し、二つのマルチプロセッサの例で説明する。第一のプロセッサ１は第一のプロセッサ１専用のローカルＲＡＭ・ブートＲＯＭ２がローカルバス３を介して接続されている。
【００２８】
同様に第二のプロセッサ４は第二のプロセッサ４専用のローカルＲＡＭ・ブートＲＯＭ５がローカルバス６を介して接続されている。
【００２９】
第一のプロセッサ１と第二のプロセッサ４が共通に使用する共通メモリ９が共通バス８を介して接続されている。共通バス８は第一のプロセッサ１と第二のプロセッサ４が共通に使用するため、バスアクセスが重ならない様にバス調停されている。
【００３０】
第一のプロセッサ１と第二のプロセッサ４間に高速でデータのやり取りを行うためのデュアルポートＲＡＭ７を備えている。第一のプロセッサ１、第二のプロセッサ４はそれぞれローカルバス３、６を通じデュアルポートＲＡＭ７にアクセスする。アクセスはそれぞれ独立して並行に行なえる。
【００３１】
第一のプロセッサ１或いは第二のプロセッサ４が共通バス８を介して共通メモリ９の共通資源にライトアクセスしているときは相手のプロセッサが同一の共通資源にアクセスしない様に、共通資源にロックフラグを立てて、相手プロセッサがアクセスするのを禁止している。
【００３２】
また、相手プロセッサが同一の共通資源にアクセスすることを想定し、各プロセッサはデュアルポートＲＡＭ７にも同一の情報を予めライトしておく。デュアルポートＲＡＭ７の情報と共通資源の情報との関連付けを行うために、デュアルポートＲＡＭ７のデータと、共通メモリ９上の共通資源のデータには共通のタグを付けておく。
【００３３】
このとき、相手プロセッサが同じ共通資源にリードアクセスした場合、ロックビットが立っているので、相手プロセッサは共通メモリ９上の共通資源に付随しているタグを確認し、デュアルポートＲＡＭ７上で同一タグを検索し、デュアルポートＲＡＭ７上のデータを共通メモリ９上の共通資源として読み取る。
【００３４】
またこのとき、相手プロセッサが、デュアルポートＲＡＭ７上に共通メモリ９に書くべきデータを書いてから、同じ共通資源にライトアクセスした場合、ロックビットが立っているので、相手プロセッサは共通メモリ９上の共通資源に付随しているタグを自分用のタグ番号に変更して変更があったことを示す。
【００３５】
最初のプロセッサは共通メモリ９の共通資源へのアクセスが完了したら、共通資源のタグ番号が書き換わっていないかをチェックし、書き換わっていれば、デュアルポートＲＡＭ７上の該当タグ番号に付随するデータを共通メモリ９の該当資源にコピーし、共通資源のロックフラグを解除する。
【００３６】
尚、上記共通資源へのアクセス制御処理は、第一のプロセッサ１や第二のプロセッサ４のプログラムで実現できる。
【００３７】
次に図２を参照し、共通メモリの内容例を説明する。共通メモリ９は共通資源（０）９２−０、・・、共通資源（ｍ）９２−ｍを含む共通資源エリア９２と、これら各共通資源の共通資源（０）管理・アドレス情報９１−０、・・、共通資源（ｍ）管理・アドレス情報９１−ｍを含む資源管理エリア９１を持つ。
【００３８】
各共通資源の管理・アドレス情報は管理情報と共通資源のポンイタアドレスを含む。管理情報は通常は０にクリアされているがロック状態ではロックフラグを兼ねたタグ番号が設定される。
【００３９】
タグ番号は、その共通資源への書き込みを行う前に予めデュアルポートＲＡＭ７上に書き込んだ書込データを識別する為の番号であり、ロックフラグを兼ねる様０以外の番号とし、又何れのプロセッサが設定した番号かが分かる様にしておく。
【００４０】
更に、共通資源の管理情報には第一のプロセッサ１、第二のプロセッサ４がそれぞれリード中であることを示す所定値９９、９８（リードタイプの疑似的タグ番号）も設定するので書込データ識別の番号としては除外しておく。
【００４１】
タグ番号数は共通メモリの資源に同時にアクセスする可能性がある数によって決まる。例えば同時にアクセスする可能性があるのが６個程度ならマージンを見てタグ番号は１０個を用意する。
【００４２】
第一のプロセッサと第二のプロセッサで別々にタグ番号は管理されるので、区別するためにユニークな番号としなければならない。例えば、第一のプロセッサのタグ番号は１０〜１９を使用し、第二のプロセッサは２０〜２９を使用する。
【００４３】
使用方法は第一のプロセッサの例では、最初のタグ番号は１０、次は１１、１２，・・・と使用して行き、１９になったら、次は１０に戻る。
【００４４】
第二のプロセッサも同様にタグ番号は２０〜２９を用意し、２０、２１、２２・・・・と使用し、２９になったら２０に戻る。
【００４５】
デュアルポートＲＡＭ７の確保するバッファはタグ番号分を用意する。つまり第一のプロセッサ用で１０個、第二のプロセッサ用で１０個分を確保する。
【００４６】
図３はデュアルポートＲＡＭ７の内容例を示した図である。タグエリア７１にはタグ番号が設定される。バッファエリア７２には、各タグ番号に対応したバッファ（１０）７２−１０、・・・、バッファ（２９）７２−２９を持つ。
【００４７】
タグ番号が一周したら、デュアルポートＲＡＭ７上の各バッファで古いデータは上書きされる。また、デュアルポートＲＡＭ７でのタグ検索を容易にするため、タグ番号はタグエリア７１に纏められている。
【００４８】
又、各バッファのデュアルポートＲＡＭ７上のアドレスはタグ番号から容易に作成できる様にしておく。
【００４９】
尚、タグエリア７１へのタグ番号設定はタグ番号を書き込む代わりに番号に対応するエリアの有効性表示ビットを設定するようにしてもよい。
【００５０】
次に、本発明の第１の実施例の動作について図面を参照して説明する。図４に第一のプロセッサ１が共通メモリ９の共通資源にライトし、且つ第二のプロセッサ４が共通メモリ９の同じ共通資源をリードする場合のフローチャートを示す。
【００５１】
第一のプロセッサはこの共通資源に割り当てるタグ番号を決定し、共通資源に書くべきデータと同じデータをデュアルポートＲＡＭ７のタグ番号対応のバッファに書き、タグ番号をタグエリア７１に書いておく（ステップＷ１）。
【００５２】
尚、各プロセッサは今回使用したタグ番号を共通資源アクセス終了時にインクリメント或いは循環させローカルＲＡＭ等の所定エリア（次回用タグ番号記憶域）に記憶しており、これを読み出し上記タグ番号としてもよい。
【００５３】
更に、上記読み出したタグ番号が空きであるかをタグエリア７１を参照し、確認し、タグ番号がすでに存在すれば次の番号の空きを確認し、空いてる最初の番号を決定タグ番号としてもよい。この場合決定タグ番号で上記次回用タグ番号記憶域を更新しておく。
【００５４】
第一のプロセッサ１は共通メモリの資源管理エリア９１にアクセスし、アクセス対象の共通資源の管理情報をチェックする（ステップＷ２）。
【００５５】
ロックフラグオフであれば、オンにし同時にタグ番号も書く（ステップＷ３）。
【００５６】
ロックフラグの読み取り判定及びタグ番号の書き換えは分割不可のアクセス（チェックアンドロック等）で行い、第二のプロセッサのロックフラグアクセスとのすれ違いを防止する。
【００５７】
ロックフラグとタグ番号は同時に書く必要があり、タグ番号はロックフラグも兼ねる。即ちタグ番号が０の場合はロックフラグクリア状態、０以外の場合はロックフラグが立っていると定義されている。
【００５８】
第二のプロセッサがここで同じ共通資源の管理情報にアクセスし、管理情報をチェックしてロックフラグが立っていた場合（ステップＲ１’）、そのタグ番号を読み取り、これがライトタイプ（９９や９８を除いたタグ番号）につき共通資源のデータには直接アクセスできないと判定し、デュアルポートＲＡＭ７で、該当タグ番号を検索する。
【００５９】
タグ番号が見つかるとそれに付随するデータを共通資源のデータとして読み取り（ステップＲ８’）、第二のプロセッサの動作は終了する。
【００６０】
第一のプロセッサは共通メモリの共通資源にデータを書く（ステップＷ４）。
【００６１】
第一のプロセッサは共通資源のタグ番号が書き換えられていないか管理情報を確認し（ステップＷ５）、書き換えられていなければ共通メモリの共通資源の管理情報（ロックフラグ）をクリアし、デュアルポートＲＡＭ７の使用したタグ番号もクリアし（ステップＷ７）、一連の動作を終了する。
【００６２】
ここで管理情報（ロックフラグ）のクリアはチェックアンドクリアにて行う。即ちチェックにてロックフラグの書き換えが行われていないことを確認し、書き換えがない場合のみクリアを行う。これらの動作は分割不可のアクセスで行う。
【００６３】
ステップＷ５でタグ番号が書き換わっていれば、デュアルポートＲＡＭ７の該当タグ番号に付随するデータを共通メモリ９の共通資源にコピーし、デュアルポートＲＡＭ７のタグエリア７１の該当タグ番号をクリアする（ステップＷ６）。この後、タグ番号が更に書き換わってないことを確認し（ステップＷ５）、書き換わってなければステップＷ７に進む。
【００６４】
第一のプロセッサはステップＷ２でアクセス対象の共通資源のロックフラグがオンであっても、共通資源の管理情報のタグ番号を先のデュアルポートＲＡＭ７に設定したタグ番号に書き換え（ステップＷ８）、動作を終了する。
【００６５】
図５に第一のプロセッサが共通メモリの共通資源にライトし、且つ第二のプロセッサが共通メモリの共通資源にライトする場合のフローチャートを示す。
【００６６】
第一のプロセッサは前記ステップＷ１〜Ｗ７と同様の処理をする。第二のプロセッサが自分用のタグ番号を付けデュアルポートＲＡＭ７に、共通資源に書くべきデータと同じデータを書き（ステップＷ１’）、共通資源の管理情報（ロックビット）をチェックする（ステップＷ２’）。
【００６７】
第二のプロセッサの処理の方が多少遅れていれば、ロックフラグはオン（タグ番号が設定済み）しているので、共通資源のタグ番号を自分がデュアルポートＲＡＭ７に設定したタグ番号に書き換え（ステップＷ８’）、動作を終了する。
【００６８】
第二のプロセッサの処理の方が多少早ければ、ロックフラグはオフであり、前記第一のプロセッサの処理（ステップＷ３〜Ｗ７）と同様に処理し、動作を終了する。
【００６９】
図６に第一のプロセッサが共通メモリの共通資源からリードし、且つ第二のプロセッサが共通メモリの共通資源にライトする場合のフローチャートを示す。
【００７０】
第一のプロセッサは共通メモリの資源管理エリア９１にアクセスし、アクセス対象の共通資源の管理情報（ロックフラグ）をチェックする（ステップＲ１）。ロックフラグがオフであればこの共通資源に割り当てるタグ番号を決定する。
【００７１】
リードアクセスなので、他プロセッサが同時に共通資源を読み取ることが可能になっていることを示すためにタグ番号はリードタイプのタグ番号とする。例えば９９とする。
【００７２】
第一のプロセッサは共通メモリの共通資源にロックフラグを立て（リードタイプタグ番号を書く（ステップＲ２）。
【００７３】
又、ロックフラグの読み取り判定（ステップＲ１）とタグ番号の書き換え（ステップＲ２）とは分割不可のアクセス（チェックアンドロック等）で行い、第二のプロセッサのロックフラグアクセスとのすれ違いを防止する。
【００７４】
第二のプロセッサがここで同じ共通資源にライトするデータを自分のタグ番号を付けデュアルポートＲＡＭ７に書込み（ステップＷ１’）、管理情報をチェックしロックフラグオンであれば、共通資源のデータには直接アクセスできないので、共通資源のタグ部分を自分の前記タグ番号に書き換え（ステップＷ８’）、第二のプロセッサの動作は終了する。
【００７５】
第一のプロセッサは共通メモリの共通資源からデータを読み取る（ステップＲ３）。第一のプロセッサは共通資源のタグ番号が書き換えられていないか確認する（ステップＲ４）。
【００７６】
書き換えられていなければ共通メモリの共通資源の管理情報（タグ番号）をクリアし（ステップＲ７）、一連の動作を終了する。
【００７７】
ここで管理情報のクリアはチェックアンドクリアにて行う。即ちチェックにてロックフラグの書き換えが行われていないことを確認し、書き換えがない場合のみ、クリアを行う。これらの動作は分割不可のアクセスで行う。
【００７８】
書き換えられていた場合は、そのタグ番号がライトタイプであれば（ステップＲ５）、デュアルポートＲＡＭ７のデータを共通メモリの共通資源にコピーし、デュアルポートＲＡＭ７のコピー元タグ番号をクリアする（ステップＲ６）。
【００７９】
ステップＲ４に戻り、再度の書き換えがないか確認してから、共通メモリの共通資源の管理情報をクリアして一連の動作を終了する。
【００８０】
第一のプロセッサは前記ステップＲ１でロックフラグがオンであれば、設定されたタグ番号を読み取り、ライトタイプと判定される（第二のプロセッサがライト）ので、デュアルポートＲＡＭ７の該当タグ番号に付随するデータを代わりに読み取る（ステップＲ８）。
【００８１】
図７は第一のプロセッサが共通メモリの共通資源からリードし、且つ第二のプロセッサも共通メモリの共通資源からリードする場合のフローチャートである。
【００８２】
第一のプロセッサは前記と同様にステップＲ１でロックフラグオフであれば、ステップＲ２〜Ｒ３の制御処理をする。
【００８３】
タグ番号が書き換わっていなければ（ステップＲ４）、共通資源のロックフラグをクリアする（ステップＲ７）。
【００８４】
タグ番号が書き換わっていればライトタイプか判定するが、同時処理の第二のプロセッサもリードであり、ライトタイプでなく（ステップＲ５）動作を終了する。
【００８５】
第二のプロセッサが同じ共通資源にリードアクセス開始し、管理情報（ロックビット）をチェックする（ステップＲ１’）。
【００８６】
第一のプロセッサのアクセスより多少遅れていれば、ロックフラグがオンしており（タグ番号が設定されており）、第二のプロセッサは設定されたタグ番号を読み取り、リードタイプと判定される（第一のプロセッサがリード）ので、共通資源からデータをリードする（ステップＲ８’）。尚、上記判定直後にタグ番号を第二のプロセッサ用のリードタイプタグ番号（例えば９８）に更新しておく。
【００８７】
第一のプロセッサのアクセスより多少早ければ、ロックフラグがオフであり、前記ステップＲ２以降と同様に処理する。
【００８８】
この場合の第一のプロセッサの処理は、ステップＲ８の処理となるが、設定済みのタグ番号がリードタイプなので共通資源からデータをリードする。
【００８９】
次に本発明の第２の実施例を説明する。本実施例では共通資源の管理情報のタグ番号がロックフラグ等を兼ねていない点が前記第１の実施例と相違する。
【００９０】
管理情報はロックフラグ、リード中フラグ、プロセッサ番号、タグ番号の各エリアないしビットエリアを持つ。タグ番号エリアには前記ライトタイプタグ番号のみセットする。
【００９１】
各プロセッサはライトアクセスではロック状態でなければロックフラグと自プロセッサ番号とタグ番号をそれぞれのエリアにセットする。共通資源にデータを書込み、タグ番号エリアをチェックしタグ番号がセットされていればこれを読出し、デュアルポートＲＡＭ７の対応バッファよりデータを取り出し、共通資源に書き込む。タグ番号がセットされていなければロックフラグをオフする。
【００９２】
また、既にロック状態であれば、タグ番号のセットとリード中フラグのオフを行う。
【００９３】
各プロセッサはリードアクセスではロック状態でなければロックフラグと自プロセッサ番号とリード中フラグを管理情報の対応エリアにセットする。共通資源よりデータを読み出し、管理情報のリード中フラグをチェックしオフであればタグ番号を読出し、デュアルポートＲＡＭ７の対応バッファよりデータを取り出し、共通資源に書き込む。
【００９４】
リード中フラグがオンのままであれば、プロセッサ番号が書き換わってないことを確認し、ロックフラグとリード中フラグをオフする。
【００９５】
また、リードアクセス時既にロック状態であれば、リード中フラグオフであればタグ番号エリアにセットされているタグ番号を読出し、デュアルポートＲＡＭ７の対応バッファよりデータを読み出す。
【００９６】
リード中フラグオンであればプロセッサ番号を自プロセッサ番号に書き換え共通資源よりデータを読み出す。
【００９７】
次に本発明の第３の実施例を説明する。本実施例では各プロセッサは共通資源のライトアクセスで、管理情報のタグ番号が０（ロックフラグオフ）でなければタグ番号の書き換えを行わず待ち合わせる（ステップＷ８を行わない）。
【００９８】
従って、ライトやリードアクセス中に後続のライトは待つので、ステップＷ５やＷ６の処理はない。又、ステップＲ６の処理もない。
【００９９】
又デュアルポートＲＡＭ７上のタグエリア７１も必要としない。各プロセッサは今回使用したタグ番号を共通資源アクセス終了時にインクリメント或いは循環させローカルＲＡＭ等の所定エリア（次回用タグ番号記憶域）に記憶している。
【０１００】
プロセッサは共通資源への書込アクセスに際し、これを読み出しタグ番号とする。書込データをデュアルポートＲＡＭ７のタグ番号対応のアドレスにあるバッファに格納する。又管理情報から読み出したタグ番号でデュアルポートＲＡＭ７上のアドレスを作成しそのバッファよりデータを読み出す。
【０１０１】
以上の説明ではプロセッサを２台としたが、デュアルポートＲＡＭ７を４ポートメモリにし、タグ番号を設定したプロセッサが識別出来るように定義、即ち第三のプロセッサ、第四のプロセッサにもそれぞれ３０〜３９、４０〜４９のタグ番号を割り当てる。この様にすれば４台のプロセッサ間でマルチプロセッサを構成することもできる。
【０１０２】
同様にデュアルポートＲＡＭ７をＮ（２以上の整数）台のプロセッサのそれぞれのローカルバスからアクセスできるＮポートメモリとし、プロセッサが識別出来るようタグ番号を定義することでＮ台のマルチプロセッサ構成でも本発明を適用することができる。
【０１０３】
【発明の効果】
以上説明した様に、本発明によればあるプロセッサがアクセス中の共通資源に他プロセッサがアクセスしロックフラグが立っていた場合、他プロセッサはアクセスが読出であれば、先行アクセス読出にオーバラップし共通資源からの読出を行い、先行アクセスが書込であればデュアルポートメモリ（或いはＮポートメモリ）からデータを読出す。
【０１０４】
又、他プロセッサはアクセスが書込であれば、予めデュアルポートメモリに格納した書込データの識別（タグ番号）を管理情報に格納し、アクセス中のプロセッサが共通資源への書込処理をする。
【０１０５】
従って、他プロセッサはロックフラグオフをポーリングしなくてよいので、共通バスの輻輳を防止出来る。
【０１０６】
また、他プロセッサはロックフラグオフまで処理を待たなくてよいので、次の処理に進むことができ処理効率を向上出来る。またこれらによりシステム全体の処理能力を向上出来る。
【図面の簡単な説明】
【図１】本発明の共通資源へのアクセス方式を含むマルチプロセッサシステムの構成を示した図。
【図２】図１の共通メモリ９の内容例を示した図。
【図３】図１のデュアルポートＲＡＭ７の内容例を示した図。
【図４】本発明の第１実施例で、第一のプロセッサが共通資源にライトし、第二のプロセッサが同じ共通資源をリードする場合の動作を示したフローチャート。
【図５】本発明の第１実施例で、第一のプロセッサが共通資源にライトし、第二のプロセッサが同じ共通資源をライトする場合の動作を示したフローチャート。
【図６】本発明の第１実施例で、第一のプロセッサが共通資源にリードし、第二のプロセッサが同じ共通資源をライトする場合の動作を示したフローチャート。
【図７】本発明の第１実施例で、第一のプロセッサが共通資源にリードし、第二のプロセッサが同じ共通資源をリードする場合の動作を示したフローチャート。
【符号の説明】
１    第一のプロセッサ
２、５    ローカルＲＡＭ・ブートＲＯＭ
３、６    ローカルバス
４    第二のプロセッサ
７    デュアルポートＲＡＭ
７１    タグエリア
７２    バッファエリア
７２−１０    バッファ（１０）
７２−２９    バッファ（２９）
８    共通バス
９    共通メモリ
９１    資源管理エリア
９１−０    共通資源（０）管理・アドレス情報
９１−ｍ    共通資源（ｍ）管理・アドレス情報
９２    共通資源エリア
９２−０    共通資源（０）
９２−ｍ    共通資源（ｍ）
【図１】
2004206369.tif 000003
【図２】
2004206369.tif 000004
【図３】
2004206369.tif 000005
【図４】
2004206369.tif 000006
【図５】
2004206369.tif 000007
【図６】
2004206369.tif 000008
【図７】
2004206369.tif 000009