JP2001005720A - 共有メモリアクセス管理装置 - Google Patents

共有メモリアクセス管理装置

Info

Publication number
JP2001005720A
JP2001005720A JP2000003464A JP2000003464A JP2001005720A JP 2001005720 A JP2001005720 A JP 2001005720A JP 2000003464 A JP2000003464 A JP 2000003464A JP 2000003464 A JP2000003464 A JP 2000003464A JP 2001005720 A JP2001005720 A JP 2001005720A
Authority
JP
Japan
Prior art keywords
data
value
control
control flag
transfer
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
JP2000003464A
Other languages
English (en)
Other versions
JP3790653B2 (ja
Inventor
Masayori Matsuoka
雅順 松岡
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2000003464A priority Critical patent/JP3790653B2/ja
Publication of JP2001005720A publication Critical patent/JP2001005720A/ja
Application granted granted Critical
Publication of JP3790653B2 publication Critical patent/JP3790653B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 共有メモリに対してハードウェアによる排他
制御を行わなくても、当該共有メモリを用いて複数のプ
ロセスが行う処理に誤動作が発生することのない共有メ
モリアクセス管理装置を提供する。 【解決手段】 プロセスA、Bが協同して行う処理の進
行状況に沿って、制御用フラグエリア11の値が「符号
間距離=1」で遷移するように両プロセスによる制御用
フラグエリア11設定の手順を定め、また、制御用フラ
グエリア11の参照を行う側のプロセスは、制御用フラ
グエリア11の値を所定の値と検出するまで制御用フラ
グエリア11の参照のみを行って、作業の進行に関わる
動作は行わず、一方、制御用フラグエリア11の更新を
行う側のプロセスは、作業の進行に関わる動作を行った
上で、1ビットのみフラグを更新する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のプロセスで
共有される共有メモリに対するアクセスを制御する共有
メモリアクセス管理装置に関する。
【0002】
【従来の技術】従来、コンピュータで並行して実行中の
複数のプロセスが協同して何らかの処理を行う場合、こ
の処理実行に必要な情報を、共有メモリを介してやりと
りする。例えば、プロセスAがプロセスBにデータを渡
す場合であれば、プロセスAが共有メモリにデータを書
き込み、その後、プロセスBがこのデータを読み出す、
という手順となる。ただし、この手順を正しく進行させ
るには、互いのプロセスが自身の処理の進行状況を応じ
て相手側の動作を制御する必要がある。プロセスAはデ
ータ書き込みの完了をプロセスBに通知することが必要
であるし、プロセスBの側も、データの読み出し完了を
プロセスAに通知しないと、その後のプロセスAによる
共有メモリへの新たなデータ書き込みができない。
【0003】そして、こうした制御を行うためにはフラ
グが用いられる。上記の例では、フラグがOFFの状態
からプロセスAがデータの書き込みを開始し、書き込み
を完了した段階でフラグをONに設定する。プロセスB
はフラグがOFFの間は共有メモリにはアクセスせず、
フラグがONになると共有メモリからのデータ読み出し
を開始し、読み出しを完了するとフラグをOFFに設定
する。すると、プロセスAは、次のデータ書き込みが可
能になったことを認識できる。
【0004】こうしたフラグは上の例の通り複数プロセ
スによって設定/参照されるので、やはり共有メモリの
中に設けられることになる。つまり、複数プロセスが共
有メモリを用いてデータのやり取りをしながら処理を行
う場合、共有メモリには、データの書き込み/読み出し
のためのエリア(以下「データエリア」)と、処理の進
行を制御するためのフラグが設けられたエリア(以下
「制御用フラグエリア」)とが混在する。
【0005】プロセスA、Bは定期的に制御フラグエリ
アを参照(以下「ポーリング」という)しながら、その
値に従って動作する。ただし、共有メモリが、プロセス
からのアクセスを受け付けるポートを複数有するデュア
ルポート型のものである場合、共有メモリを用いた処理
についてプロセスの正しい動作を保証するためには、複
数プロセスからのアクセス(write:データの書き込
み、および制御フラグの更新、read:データの読み出
し、および制御フラグの参照)が衝突するのを防止しな
ければならない。衝突とは、メモリ内の同じアドレスの
エリアに複数のプロセスが同時にアクセスすることであ
り、デュアルポート型のメモリでなければ発生しない。
【0006】共有メモリへのプロセスのアクセスが競合
した場合に発生するのは以下のパターンである。 ・パターン1:writeとwriteと(データ書き込み同士、
又はフラグ更新同士)が衝突する。複数のプロセスがメ
モリの同一箇所に同時に書き込み又は更新を行おうとす
る状態。メモリセルが破壊されるおそれがある。 ・パターン2:writeとread(データの書き込みと読み
出し、又はフラグの更新と参照)とが衝突する。Read側
のプロセスが読み出した内容が不定となってしまい、読
み出した内容をもとに行われる動作の結果が不正となる
おそれがある。
【0007】上記の例の場合、プロセスA、Bの動作手
順の内容から、データエリアについても制御フラグエリ
アについてもパターン1は発生しない。パターン2につ
いても、データエリアに関して言えば、制御フラグの読
み出し結果に間違いがない限り発生しない。しかし、制
御フラグエリアに関しては、パターン2の発生を防止で
きない。フラグの更新と参照とが衝突してフラグの内容
が不定となると、読み出されたフラグは「0」、「1」
のいずれにも認識されうる。
【0008】そして、パターン2発生の結果、読み出さ
れた制御フラグの値が不定となった場合、プロセスが誤
動作するおそれがある。以下に誤動作の一例を挙げる。
プロセスAがプロセスBに対して、データエリアを介し
てデータを渡した上でデータの加工を行わせる。加工の
パターンは2通りあって、プロセスAはそのいずれかを
フラグによって指示する、という処理を考えてみる。制
御フラグエリアには、上述のデータ書き込み完了を示す
フラグに加えて、加工パターンを示すフラグが設けられ
る。
【0009】制御フラグエリアの値と、それに応じた両
プロセスの動作とを以下に示す。上位1ビットは加工パ
ターン(0:第1の加工パターン、1:第2の加工パタ
ーン)を、下位1ビットはデータ書き込み完了を、それ
ぞれ示すフラグである。 (1)00:プロセスAがデータエリアにデータ書き込
み中。 (2)01:プロセスAがデータ書き込みを完了。プロ
セスBはデータを読み出し、第1の加工パターンで加工
する。 (3)11:プロセスAがデータ書き込みを完了。プロ
セスBはデータを読み出し、第2の加工パターンで加工
する。
【0010】ここで、プロセスAは、データエリアへの
データ書き込みを完了した時点で、プロセスBに対し第
2加工パターンでのデータ加工を指示するために、制御
用ビットエリアの値を2ビットとも書きかえて「00」
から「11」に変更する。その変更の瞬間にプロセスB
による制御用ビットエリアの参照が行われると、更新さ
れていた2ビットのフラグは両方とも不定となってしま
う。そのため、プロセスBはビット列の値を、「0
0」、「01」、「10」、「11」のいずれにも認識
しうる。
【0011】正しく「11」と読み取った場合はもちろ
ん問題なく、「00」と読み取った場合もプロセスBは
ポーリングを繰り返し、次回の参照の際は値を正しく
「11」と認識するので、やはり問題ない。しかし、
「01」と判断した場合、プロセスBは、第1加工プロ
セスでデータ加工するという誤動作を行うことになる。
更に、「10」というありえないパターンとして認識す
ると、最悪の場合、異常事態の発生と判断して処理を停
止してしまうおそれもある。
【0012】また、上記の例には該当しないが、制御用
フラグの値が読み違えられることでデータエリアへの書
き込みアクセスが衝突する事態が発生すると、データエ
リア内のデータの破壊などの深刻な結果につながること
も考えられる。こうした誤動作を確実に防止するには、
誤動作の原因となりうるアクセスの衝突を防止すればよ
く、そのための手段が共有メモリに対する排他制御であ
る。
【0013】排他制御の手法として代表的なものが、信
号を用いて一つのプロセスにだけアクセスを許すセマフ
ォ管理方法である。その具体的な方法としては、ハード
ウェアによるものがあり、ハードウェアによる排他制御
の一般的な例として、共有メモリのハードウェアとして
の実体であるメモリデバイスが排他制御用信号を発生さ
せるものがある。メモリデバイスは、あるプロセスがメ
モリにアクセスしている間、ビジー信号を発生させ、他
のプロセスによるメモリへのアクセスを制限する。ビジ
ー信号は、プロセス実行の主体であるデバイス(CPU
など)のWAIT信号線を介してプロセスに伝えられ、プロ
セスはWAIT信号線からビジー信号が入力される間は共有
メモリへのアクセスを行わない。よって誤動作の原因と
なるアクセスの衝突は発生しない。
【0014】なお、共有メモリの排他制御に制御用フラ
グを用いる手法もあるが、制御用フラグ自体が共有メモ
リに設けられるもので、フラグについてはアクセスの衝
突を確実には排除できない。確実な排他制御の手段とし
てはハードウェアを用いざるを得ない。
【0015】
【発明が解決しようとする課題】しかしながら、ハード
ウェアによる排他制御については、専用のハードウェア
としてビジー信号を発生させるメモリデバイスが必要と
なり、また、プロセスの実行主体であるデバイスがこの
ようなビジー信号による排他制御に対応する機能を備え
ていない場合、当該デバイス外部に排他制御用の回路を
別途設けないと排他制御が実現できないなど、コストの
上昇を招く傾向がある。また、組み合わされるデバイス
の排他制御に関する仕様によっては、異常事態も発生し
うる。例えば、プロセスの実行デバイスが、アクセス実
行中のプロセスを停止させる場合、メモリに排他制御の
解除(ビジー信号の停止)を指示しないで停止してしま
う仕様となっており、メモリデバイスの側もこうした状
況に対応する機能を備えていない場合、ビジー信号によ
って待機させられている他のプロセスは、待機を続けた
末にタイムアウトで停止してしまう。
【0016】本発明は上記課題に鑑み、制御用フラグが
設けられる共有メモリに対してハードウェアによる排他
制御を行わず、その結果プロセスが読み出した制御用フ
ラグの値が不定となっても、プロセスを正しく動作させ
ることのできる共有メモリアクセス管理装置を提供する
ことを目的とする。
【0017】
【課題を解決するための手段】本発明の共有メモリアク
セス管理装置は、上記の目的を達成するために、デュア
ルポート型メモリを共有する複数のプロセスが前記メモ
リを用いながら協同して処理を行う環境において、各プ
ロセスが、自プロセスの前記メモリへのアクセスを管理
するために備える共有メモリアクセス管理装置であっ
て、前記メモリには、複数ビットから成って、前記複数
のプロセスが協同して行う処理の進行に従って値が更新
される制御情報が含まれており、共有メモリアクセス管
理装置は、前記制御情報の値を検出する検出手段と、前
記制御情報の値を更新する更新手段と、前記検出手段が
検出する制御情報の値が他プロセスによって更新されて
所定の値に変化するまで前記検出手段に前記制御情報の
値を検出する動作を繰り返させ、前記検出手段が検出し
た値が前記所定の値に変化すると、自プロセスに指示し
て前記処理に関わる動作を行わせ、前記自プロセスによ
る動作が完了すると前記更新手段に指示して前記制御情
報のうち前記動作に関わる1のビットを更新させる指示
手段、とから成ることを特徴とする。
【0018】これにより、制御用情報を更新する際には
一度に1ビットしか更新せず、制御情報の読み出しを行
う際には、制御用情報の値が所定値になる(更新され
る)までは制御用情報の読み出しだけを行うので、アク
セスの衝突によって読み出された制御用情報の値が不定
となる場合でも、制御用情報の値は、正しい更新後の値
または更新前の値のいずれかに認識される。正しく更新
後の値として検出した場合はもちろん問題はなく、更新
前の値として検出した場合でも、制御情報の参照をもう
一度実行し、この参照では正しく更新後の値として認識
するので、やはり問題は発生しない。よって、共有メモ
リの制御用情報に対してはハードウェアによる排他制御
を行わなくとも、アクセスの衝突が原因でプロセスが誤
動作することを防止できる。
【0019】
【発明の実施の形態】次に、本発明の共有メモリアクセ
ス管理装置に関する実施の形態について図面を参照しな
がら説明する。本実施の形態における共有メモリは、デ
ータエリアと制御用フラグエリアとに分かれ、2つのプ
ロセスの間のデータ受け渡しおよび制御情報の設定/参
照のために用いられる。
【0020】図1は、本実施の形態において、2つのプ
ロセスが共有メモリを用いて行う処理の内容を示す模式
図である。プロセスAは、転送対象のデータを生成して
プロセスBに渡し、プロセスBはこのデータを加工した
上でデータ転送先に出力するというデータ転送処理であ
る。ただし、プロセスBがデータを転送先に出力するタ
イミングは、プロセスAが、上位プロセス(図外)の指
示を受けて決定し、プロセスBに指示する。
【0021】そして、転送データおよび出力タイミング
指示は、両プロセス間で共有メモリ10を介してやりと
りされる。転送データは共有メモリ内のデータエリア1
2に、出力タイミング指示は制御用フラグエリア12
に、それぞれ書き込まれる。制御用フラグエリア11に
は、両プロセスがそれぞれの処理の進行状況を相手側に
伝えるためのフラグが設けられており、前記出力タイミ
ングもこうしたフラグで指示される。
【0022】プロセスA、Bとも、その動作の内容から
管理部とデータ処理部とに分けられる。プロセスA側の
データ処理部A1は、転送すべきデータの生成・書き込
み、出力タイミング決定、そして、転送終了後の共有メ
モリ12の初期化を行う。プロセスB側のデータ処理部
B1は、転送データの読み出し、データの加工、データ
の転送を行う。
【0023】プロセスA側の管理部A2およびプロセス
B側の管理部B2は、それぞれが処理の進行に応じて制
御用フラグエリア11内のフラグの更新/参照を行う。
このデータ転送処理は、以下の4段階に分けることがで
きる。 ・第1段階:プロセスAによる共有メモリ12へのデー
タ書き込みが終るまで。 ・第2段階:プロセスAによるデータ書き込みが終って
からプロセスAがデータ転送開始をプロセスBに指示す
るまで。 ・第3段階:プロセスBがデータ転送を終えるまで。 ・第4段階:プロセスAが後処理を終える(共有メモリ
12を初期状態に戻す)まで。
【0024】図2は、共有メモリ10の構成を示す模式
図である。共有メモリ10は、制御用フラグエリア11
とデータエリア12とから成り、そのハードウェアとし
ての実体は、デュアルポート型のメモリデバイスであ
る。データエリア12には、転送対象データが書き込ま
れる。書き込みを行うのは書き込み側プロセスAであ
り、読み出し側プロセスBが読み出す。
【0025】制御用フラグエリア11は、各プロセスの
動作の内容やタイミングを制御するためのフラグが設け
られるエリアであり、ここでは2種類のフラグから成
る。これら2種類のフラグは、1つが「有効フラグ11
1」であり、もう1つが「変化フラグ112」である。
有効フラグ111は、プロセスAがプロセスBに対し
て、データエリア12内のデータの読み出しおよび転送
先への転送のタイミングを指示するためのものである。
設定はON設定、OFF設定ともプロセスAが行う。プ
ロセスAは、上位プロセスからの指示をもとにプロセス
Bにデータ転送を開始させるタイミングを決め、有効フ
ラグ111をONに設定する。そして、書き込んだ転送
データについてプロセスBが読み出し・転送が完了した
のを検知すると、有効フラグ111をOFFに設定す
る。(読み出し完了の検知は変化フラグ112による。
変化フラグ112の詳細は以下に述べる。) 変化フラグ112は、データエリア12における転送対
象データの有無を示す。データ書き込み側のプロセスA
が情報部へのデータ書き込みを完了した時点でプロセス
AによってONに設定され、プロセスBが書き込まれた
転送データを転送完了した時点で、プロセスBによって
OFFに設定される。つまり、変化フラグ112は、デ
ータエリア12についてプロセスAによるデータ書き込
みとプロセスBによるデータ読み出しとが衝突しないよ
うにするための、データエリア12用の「排他制御」フ
ラグである。
【0026】プロセスAとプロセスBとは、いずれも、
定期的に制御用フラグエリア11にアクセスして値を参
照(ポーリング)する。そして、制御用フラグエリア1
1の値に応じて動作する。上記2種類のフラグの組合わ
せによって、制御用フラグエリア11の値は以下の4パ
ターンとなる。これらパターンは、上述した転送処理の
4つの段階に対応して以下のように遷移する。
【0027】00→ 01→ 11→ 10→ 00 遷移のいずれの段階においても、制御用フラグエリア1
1にある2ビットのフラグのうち、値が変わるのは1つ
のフラグのみである(一度に2つのフラグ両方の値が変
わることがない)。こうした遷移の形を、「符号間距離
が1」で遷移すると言う。これは、フラグの更新と参照
とが衝突して制御用フラグエリア11の値が不定となる
場合でも、不定となるのは1つのフラグ(ビット)のみ
であることを示す。 (転送処理シーケンス)以下、データ転送処理の進行お
よび処理の進行に応じてプロセスAとプロセスBが行う
動作、そして処理の進行にともなう制御用フラグエリア
11の状態遷移を、シーケンス図を参照しながら説明す
る。
【0028】図3は、本実施の形態におけるデータ転送
処理の進行と、それにともなう共有メモリ10の内容の
変化とを示すシーケンス図である。プロセスAとプロセ
スBとは、いずれも、定期的に共有メモリ10の制御用
フラグエリア11をポーリングして制御用フラグエリア
11の値を読み出し、読み出したフラグの値に応じて動
作する。
【0029】先ず、制御用フラグエリア11の値が「0
0」の状態であるが、これはプロセスAによるデータエ
リア12への転送データの書き込みが完了していない状
態(書き込み開始前あるいは書き込み途中の状態)であ
る。この状態においては、プロセスAは転送データのデ
ータエリア12への書き込みを行い、プロセスBは制御
用フラグエリア11へのポーリングのみ行っている。
【0030】この状態で、プロセスAの側に転送データ
が発生する。すると、プロセスAは、ポーリングの結
果、制御用フラグエリア11の値を「00」と検出した
タイミング(図中)で、データエリア12にアクセス
して転送データ120の書き込みを開始する(図中
)。なお、制御用フラグエリア11の値が「00」以
外の場合、プロセスAはデータエリア12へのアクセス
は行わず、制御用フラグエリア11の値を「00」と検
出するまでポーリングを繰り返す。
【0031】そして、プロセスAは、データエリア12
への転送データ120の書き込みを続け、書き込みが終
了すると、変化フラグ112をON設定する(制御用フ
ラグエリア11の値を「01」に変える(図中))。
次いで、制御用フラグエリア11の値が「01」の状態
であるが、これは、プロセスAによるデータエリア12
への転送データの書き込みが完了しているが、プロセス
Bによる転送データの読み出し・転送開始のタイミング
に達していない状態である。この状態においては、プロ
セスAはプロセスBによる転送データの読み出し・転送
を認めるタイミングを測っており、プロセスBは制御用
フラグエリア11へのポーリングのみ行っている。
【0032】その後、プロセスAは、上位プロセスから
の指示によってデータ転送開始のタイミングを測り、転
送開始のタイミングに達したと判断すると、プロセスB
に転送データ読み出し・転送を指示するために有効フラ
グ111をON設定する(制御用フラグエリア11の値
を「11」に変える。図中)。そして、制御用フラグ
エリア11の値は「11」となるが、これは、プロセス
Bによる転送データの読み出し・転送が認められた状態
である。この状態になるまで(上記の〜の間)、プ
ロセスBは制御用フラグエリア11へのポーリングのみ
行っているが、ポーリングの結果、制御用フラグエリア
11の値が「11」になっているのを検出すると(図中
)、プロセスBはデータエリア12にアクセスして転
送データ120を読み出し、加工した上で転送先プロセ
ス(図1参照)に転送する(図中)。一方、プロセス
Aは、制御用フラグエリア11へのポーリングのみ行っ
ている。
【0033】プロセスBは、転送データ120の読み出
し・転送を完了すると、変化フラグ112をOFF設定
する(制御用フラグエリア11の値を「10」に変え
る。図中)。そして、制御用フラグエリア11の値は
「10」となるが、これは、プロセスBによるデータエ
リア12からの転送データの読み出し・転送が終了した
状態である。
【0034】これに対し、プロセスAは、ポーリングで
制御用フラグエリア11の値を「10」と検出すると
(図中)、プロセスBによるデータ転送が完了したこ
とを認識して、データエリア12を初期化したうえで、
制御用フラグエリア11の値を初期値である「00」に
戻す(有効フラグ111をOFF設定する(図中
))。これによって、一連のデータ転送処理は完了す
る。なお、この状態においては、プロセスBは制御用フ
ラグエリア11へのポーリングのみ行っている。
【0035】このように、制御用フラグエリア11の状
態に応じて上記の順序で両プロセスが動作し、データ転
送処理が行われる。 (プロセスの動作)次に、本実施の形態のデータ転送処
理におけるプロセスA、B各々の動作について、管理部
A2、B2を中心に図面を参照しながら説明する。
【0036】図4は、プロセスAの動作を示すフローチ
ャートである。先ず、プロセスAの起動に合わせて、管
理部A2は制御用フラグエリア11へのポーリングを開
始し、制御用フラグエリア11の値を「00」と検出す
るまでポーリングを繰り返す(S401:Yes)。そし
て、データ処理部A1に指示して転送用データの生成と
データエリア12への書き込みを行わせ(S402)、
データ処理部A1からの書き込み完了の通知を待って
(S403:Yes)、変化フラグ112をON設定
(「00」→「01」)する(S404)。
【0037】次いで、管理部A2は、データ処理部A1
からの出力タイミング決定の通知を待って(S405:
Yes)、有効フラグ111をON設定(「01」→「1
1」)する(S406)。その後、管理部A2は制御用
フラグエリア11のポーリングを再開し、その値を「1
0」と検出すまで繰り返す(S407)。そして。「1
0」と検出すると、データ処理部A1に指示してデータ
エリア12の初期化を行わせ(S408)、データ処理
部A1からの初期化完了の通知を待って(S409:Ye
s)、有効フラグ111をOFF設定(「10」→「0
0」)する(S410)。
【0038】図5は、プロセスBの動作を示すフローチ
ャートである。先ず、プロセスBの起動に合わせて、管
理部B2は制御用フラグエリア11へのポーリングを開
始し、制御用フラグエリア11の値を「11」と検出す
るまでポーリングを繰り返す(S501:Yes)。そし
て、データ処理部B1に指示して、転送用データのデー
タエリア12からの読み出し、加工、転送先への転送と
いう一連の処理を行わせ(S502)、データ処理部B
1から転送まで完了の通知を待って(S503:Ye
s)、変化フラグ112をOFF設定(「11」→「1
0」)する(S504)。
【0039】プロセスA、Bは上記の動作を行うことで
データ転送処理を実現するが、ここでは、両プロセスの
共有メモリ10へのアクセスについて、ハードウェアの
ビジー信号などによる排他制御は行っていない。そのた
め、制御用フラグエリア11の更新と参照(ポーリン
グ)とが衝突して、参照された値が不定となる事態が生
じる。上記データ転送処理が正しく行われるには、制御
用ビット部12の更新と参照とが衝突して参照された制
御用ビットの値が不定となっても、それが原因でデータ
転送処理の手順が狂ってしまう(例えば、プロセスAに
よるデータの書き込みが終っていない時点でプロセスB
によるデータ読み出しが始まってしまう)などの誤動作
が発生しないことが前提条件となる。 (動作の検証)本実施例においては、処理の進行状況に
沿って制御用フラグエリア11の値が「符号間距離=
1」で遷移するように、処理の進行状況と制御用フラグ
エリア11の値とを対応づけることで、参照された制御
用ビットの値が不定となっても誤動作が発生しないよう
にしている。
【0040】以下、制御用フラグエリア11の値が更新
されるタイミングごとに、フラグ更新とフラグ参照とが
衝突した場合の両プロセスの動作を検証し、参照された
制御用フラグエリア11の値が不定となっても誤動作が
発生しないことを確認する。制御用フラグエリア11の
値の更新は4ヵ所で行われるので、順次検証していく。 (1)「00」→「01」のタイミング 図6は、プロセスAが、データエリア12への転送デー
タ書き込み開始時点で変化フラグ112をON設定する
際に(図3の)、プロセスBのポーリングによる制御
用フラグエリア11の参照が衝突した場合を示す。
【0041】この場合、制御用フラグエリア11のうち
更新対象の変化フラグ112の値のみが不定になるの
で、プロセスBは、制御用フラグエリア11の値を「0
0」または「01」と認識する。プロセスBは、有効フ
ラグ111がONとなっている場合に限ってデータエリ
ア12へのアクセスが可能なので、上記いずれのパター
ンに読み取っても、プロセスBは制御用フラグエリア1
1へのポーリングを繰り返すのみである。よって、誤動
作は発生しない。
【0042】(2)「01」→「11」のタイミング 図7は、プロセスAが、データエリア12への転送デー
タ書き込みを完了した時点で有効フラグ111をON設
定する際に、プロセスBによる制御用フラグエリア11
の参照が衝突した場合を示す。
【0043】この場合、制御用フラグエリア11のうち
更新対象の有効フラグ111の値のみが不定になるの
で、プロセスBは、制御用フラグエリア11の値を「0
1」または「11」と認識する。「11」と認識した場
合、有効フラグ111がONなので、プロセスBは手順
通りにデータエリア12にアクセスしてデータの読み出
し・転送を開始する。この時点では、実際に転送データ
のデータエリア12への書き込みは完了しているので、
転送データを正しく読み出すことができ、誤動作は発生
しない。
【0044】逆に「01」と認識した場合、プロセスB
はアクセス衝突の前の状態に戻るが、有効フラグ111
がOFFなので、その後も一定の時間間隔で制御用フラ
グエリア11の参照を繰り返す。次回のポーリングで
は、制御用フラグエリア11の値はもはや不定ではな
く、プロセスBは、制御用フラグエリア11の値を正し
く「11」と読み出して、手順通りに転送データの読み
出し・転送を開始することになり、誤動作は発生しな
い。
【0045】(3)「11」→「10」のタイミング 図8は、プロセスBが、データエリア12からの転送デ
ータ読み出しを完了した時点で変化フラグ112をOF
F設定する際に、プロセスAのポーリングによる制御用
フラグエリア11の参照処理が衝突した場合を示す。
【0046】この場合、制御用フラグエリア11のうち
更新対象の変化フラグ112の値のみが不定になるの
で、プロセスAは、制御用フラグエリア11の値を「1
1」または「10」と認識する。「10」と認識した場
合、変化フラグ112がOFFなので、プロセスAは、
プロセスBによる転送データ読み出し・転送が完了した
と判断して、共有メモリ10を初期化(データエリア1
1のクリアおよび有効フラグ111のOFF設定)を行
い、データ転送処理を終了させる。この時点では、転送
データの読み出し・転送は実際に完了しているので、共
有メモリ10を初期化して処理を終了させても問題は発
生しない。
【0047】逆に「11」と認識した場合、プロセスA
は、アクセス衝突の前の状態に戻り、プロセスBによる
転送データ読み出し・転送が未だに完了していないもの
と判断して、その後もポーリングによる制御用フラグエ
リア11の参照を繰り返し、制御用フラグエリア11の
値が「10」となるのを待ち続ける。次回のポーリング
では、制御用フラグエリア11の値はもはや不定ではな
く、プロセスAは、制御用フラグエリア11の値を正し
く「10」と認識して、手順通りに共有メモリ10の初
期化を行うことになるので、誤動作は発生しない。
【0048】(4)「10」→「00」のタイミング 図9は、プロセスBによるデータ読み出し・転送が終了
したと判定したプロセスAが、有効フラグ111をOF
F設定する際に、プロセスBによる制御用フラグエリア
11の参照が衝突した場合を示す。
【0049】この場合は、制御用フラグエリア11のう
ち更新対象の有効フラグ111の値のみが不定になり、
プロセスBは、制御用フラグエリア11の値を「10」
または「00」と認識する。いずれの場合においても、
プロセスBは、図3を参照しながらすでに説明した通
り、制御用フラグエリア11へのポーリングのみ行うの
で、誤動作が発生することはない。 (まとめ)このように、本実施の形態においては、アク
セスの衝突によって参照された制御用フラグエリア11
の値が不定となっても、それが誤動作につながることが
ないよう、両プロセス、特にその中の管理部A2、B2
の動作が規定されているので、ハードウェアによる排他
制御がなくてもデータ転送処理は正しく行われる。その
規定の内容とその意味とについて、以下、図面を参照し
ながら説明する。
【0050】図10は、本実施の形態における両プロセ
スの共有メモリ10へのアクセスの内容を、制御用フラ
グエリア11の遷移にそって表形式で示した図である。
図11は、本変形例における制御用フラグエリア11の
状態遷移を示す図である。これまでの説明と図10、1
1から分かるように、本実施の形態では、2つのプロセ
スが、共同してデータ転送処理を行う。両プロセスは、
転送処理の4段階の進行状況に沿って制御用フラグエリ
ア11の値も「符号間距離=1」で遷移させている。そ
のために、転送処理の進行から考えると必ずしも設ける
必要のない「01」(データ書き込みのみ完了、読み出
し・加工は許可せず)という状態を設けている。これに
よって、制御用フラグエリア11の値が「00」→「1
1」と更新されて2ビットの値が不定となることを防止
しているのである。
【0051】「符号間距離=1」で制御用フラグエリア
11の値を遷移させる、という規則を設定したことで、
一方のプロセスによる制御用フラグエリア11更新動作
にもう一方のプロセスによる制御用フラグエリア11の
参照が衝突した場合、1ビットの値しか不定にならな
い。そのため、参照側プロセスは制御用フラグエリア1
1の値を必ず2つのパターンのいずれかに認識すること
になる。1つは正しい値(フラグ更新側のプロセスが意
図した通りの更新後の値)であり、もう1つはフラグ更
新側のプロセスが更新を行う前の値である。
【0052】しかるに、図10に示すように、各段階に
おいて制御用フラグエリア11の参照を行う側のプロセ
スは、制御用フラグエリア11の値を所定の値と検出す
るまで制御用フラグエリア11の参照(ポーリング)の
みを行って、転送処理の進行に関わる動作は行わず、一
方、制御用フラグエリア11の更新を行う側のプロセス
は、転送処理の進行に関わる動作を完了した上で、制御
用フラグエリア11の値を1ビットだけ更新するように
なっている。
【0053】その結果、正しい値に認識した場合は当
然、参照側プロセスは手順通りにその後の動作を行う。
一方、更新前の値に認識した場合、読み出し側プロセス
は衝突が発生したフラグ参照動作を行う前の状態に戻る
ことになり、制御用フラグエリア11の参照を再び行
う。そして次回の参照では、制御用フラグエリア11の
値を正しく更新後の値に認識して手順通りに次の動作を
行うことになる。
【0054】誤動作とは、参照側のプロセスが制御用フ
ラグの値を誤って認識した結果、フラグを更新した側の
プロセスの意図と異なる動作を行ったり、手順と異なる
動作を行ったりすることである。しかし、本実施の形態
の場合、上記の通り、参照側プロセスがフラグを誤って
更新前の値に認識しても、フラグ参照動作(ポーリン
グ)を1回多く行うだけで、最終的にはフラグ更新側プ
ロセスの意図を正しく認識して手順通りの動作を行うの
で、誤動作は発生しないのである。
【0055】なお、本実施の形態においては、更に、共
有メモリ10の中には、制御情報以外の情報を設定する
ためのエリア(データエリア12)も存在するが、この
エリアについては一部の制御用フラグ(変化フラグ11
2)によって誤動作の原因となるアクセスの衝突を防止
している。つまり、共有メモリ10のうちデータエリア
12については制御用フラグエリア11に設定した情報
でアクセスの衝突を防止し、制御用フラグエリア11の
値については、上記の通り、アクセスが衝突して読み出
した値が不定となっても誤動作が発生しないようにして
ある。
【0056】これは、本実施の形態によれば、共有メモ
リ内に制御用フラグエリアしか存在しない場合はもちろ
ん、制御用フラグ以外の情報が設定されるエリアと混在
する場合にも、共有メモリへのハードウェアによる排他
制御なしで、誤動作なく処理を実行することができる、
ということを示している。また、本実施の形態では、制
御情報に含まれる個々のビットをフラグとして使用する
こととなっているが、制御情報をフラグの集まりとして
でなく、複数ビットのビットパターンとして参照する場
合でも、処理の進行に伴うビットパターンの遷移が、
「符号間距離=1」という規則に従ってさえいれば、本
実施の形態と同様の効果を得ることが可能である。
【0057】また、上記実施の形態における制御用フラ
グエリアは2ビットであったが、本発明は3ビット以上
の制御用フラグエリアを用いる場合にも適用できる。例
えば、上記実施の形態において「データ転送」実施タイ
ミングの指示である有効フラグ111を、「加工パター
ンAまたは加工パターンBで加工の上転送させる」指示
である転送指示ビット列(2ビット、01:パターンA
で加工・転送、10:パターンBで加工・転送)に置き
換えた場合を考えてみる。
【0058】本変形例におけるデータ転送処理の流れを
制御用フラグエリアの値の変化とともに説明する。実施
の形態と同じ部分については説明を省略する。 000: プロセスAによるデータエリア12への転
送データの書き込みが完了していない状態であることを
示す。実施の形態における「00」(図3参照)と同
じ。 001: プロセスAによるデータエリア12への転
送データの書き込みが完了しているが、プロセスBによ
る転送データの読み出し・転送は認められない状態であ
ることを示す。実施の形態における「01」(図3参
照)と同じ。 011または101: プロセスBによる転送データ
の読み出し・転送が認められた状態。実施の形態におけ
る「11」(図3参照)に対応する。プロセスBは、転
送データを読み出して、「011」の場合はパターンA
で、「101」の場合はパターンBで加工して転送先へ
転送する。 010または100: プロセスBによるデータエリ
ア12からの転送データの読み出し・転送が終了した状
態。実施の形態における「10」(図3参照)に対応す
る。ここからプロセスAが共有メモリを初期化して、
に戻る。
【0059】図12は、本変形例における制御用フラグ
エリアの状態遷移を示す図である。同図に示すように、
本変形例においても制御用フラグエリアの値は、「0
00」→「001」→「101」→「100」→
「000」または、「000」→「001」→
「011」→「010」→「000」と、符号間距
離「1」で遷移する。また、制御用フラグエリア11の
参照を行う側のプロセスは、制御用フラグエリアの値を
所定の値と検出するまで制御用フラグエリアの参照のみ
を行って、作業の進行に関わる動作は行わない点は上記
実施の形態と同じである。よって、実施の形態で述べた
通り、共有メモリへの排他制御を行わなくとも誤動作は
発生しない。
【0060】なお、上記の実施の形態および変形例にお
いては、複数プロセスが行う処理としてデータ転送処理
を取り上げて説明したが、これは一例として挙げたもの
で、本発明の範囲をデータ転送処理に限定するものでは
ない。例えば、あるプロセスが他のプロセスに対してデ
ータを渡し、そのデータに何らかの加工をさせた上で返
させる、といった処理も考えられる。この場合、制御用
情報は加工前後のデータ受け渡しのタイミングや、加工
の種類などを指示するのに使われる。しかし、処理内容
がどのようなものであっても、その進行を「符号間距離
=1」で遷移する制御用情報と対応づけて管理すること
のできる内容であれば適用可能である。
【0061】
【発明の効果】以上説明したように、本発明の共有メモ
リアクセス管理装置は、デュアルポート型メモリを共有
する複数のプロセスが前記メモリを用いながら協同して
処理を行う環境において、各プロセスが、自プロセスの
前記メモリへのアクセスを管理するために備える共有メ
モリアクセス管理装置であって、前記メモリには、複数
ビットから成って、前記複数のプロセスが協同して行う
処理の進行に従って値が更新される制御情報が含まれて
おり、共有メモリアクセス管理装置は、前記制御情報の
値を検出する検出手段と、前記制御情報の値を更新する
更新手段と、前記検出手段が検出する制御情報の値が他
プロセスによって更新されて所定の値に変化するまで前
記検出手段に前記制御情報の値を検出する動作を繰り返
させ、前記検出手段が検出した値が前記所定の値に変化
すると、自プロセスに指示して前記処理に関わる動作を
行わせ、前記自プロセスによる動作が完了すると前記更
新手段に指示して前記制御情報のうち前記動作に関わる
1のビットを更新させる指示手段とから成る、という特
徴を有するので、共有メモリ内の複数ビットから成る制
御用情報については、ハードウェアによる排他制御を行
わなくとも、制御用情報を用いて前記複数のプロセスが
実行する処理に誤動作が発生することはない。
【0062】さらに、前記共有メモリは、前記複数のプ
ロセスが前記制御情報以外のデータを受け渡しするため
に用いるデータ部を含み、前記制御情報は、前記データ
部に対する排他制御のための排他制御用フラグを1以上
含み、前記複数のプロセスが協同して行う処理は、前記
データ部を介して行われるデータの受け渡しであり、前
記指示手段は、前記検知手段が検知した前記排他制御用
フラグの値に基づいて、前記データの受け渡しに関する
動作を前記プロセスに行わせ、前記動作が完了すると、
前記更新手段に指示して前記排他制御用フラグ1ビット
を更新させる、とすることもできる。これにより、共有
メモリに制御用情報とそれ以外のデータを格納するエリ
アとが混在する場合は、制御用情報以外のデータを格納
するエリアについては制御用情報の一部として設定され
る排他制御用情報によって排他制御を実現し、制御用情
報を設定するエリアについては、排他制御なしでも誤動
作が発生することはないので、共有メモリ全体について
もハードウェアによる排他制御を行う必要はなく、それ
によって前記複数のプロセスが実行する処理に誤動作が
発生することもない。
【0063】なお、上記の効果を確実に得るために、前
記指示手段が前記自プロセスに行わせた動作が完了した
後に前記制御情報の複数ビットを反転させる場合、前記
複数のビットの各々について、順次前記更新手段に指示
して反転させること、としてもよい。そして、デュアル
ポート型メモリを共有する複数のプロセスが前記メモリ
を用いてデータ通信を行うデータ通信方法であって、前
記メモリには、データ通信の進行に従って前記複数のプ
ロセスによって値が更新される複数ビットから成るフラ
グが含まれ、前記データ通信方法は、一のプロセスが前
記メモリにデータを書き込む書き込みステップと、前記
書き込みステップを終えた前記一のプロセスが、前記フ
ラグに含まれる一のビットを反転させる第1の反転ステ
ップと、前記第1の反転ステップを終えた前記一のプロ
セスが、前記フラグに含まれる他の一のビットを反転さ
せる第2の反転ステップと、他の一のプロセスが、前記
一のビットおよび前記他の一のビットの反転を検知する
検知ステップと、前記検知ステップを終えた前記他の一
のプロセスが、前記メモリに書き込まれたデータを読み
出す読み出しステップとを含むことを特徴とするデータ
通信方法とすれば、ハードウェアによる共有メモリへの
排他制御を行わなくとも、誤動作なくデータ通信を実行
できる
【図面の簡単な説明】
【図1】本発明に関わる共有メモリアクセス管理装置の
実施の形態において、複数プロセスが共有メモリを用い
て行う転送処理の概要を示す模式図である。
【図2】同実施の形態における共有メモリの構成を示す
図である。
【図3】同実施の形態における転送処理の進行とそれに
伴なう共有メモリの内容の遷移とを示す模式図である。
【図4】同実施の形態におけるプロセスAの動作を示す
フローチャートである。
【図5】同実施の形態におけるプロセスBの動作を示す
フローチャートである。
【図6】同実施の形態における制御用フラグエリアへの
アクセスの衝突の結果を示す模式図である。
【図7】同実施の形態における制御用フラグエリアへの
アクセスの衝突の結果を示す模式図である。
【図8】同実施の形態における制御用フラグエリアへの
アクセスの衝突の結果を示す模式図である。
【図9】同実施の形態における制御用フラグエリアへの
アクセスの衝突の結果を示す模式図である。
【図10】同実施の形態における制御用フラグエリアの
値と複数プロセスによる共有メモリアクセスの内容との
関係を表形式で示す図である。
【図11】同実施の形態における制御用フラグエリアの
値の遷移を示す状態遷移図である。
【図12】同実施の形態の変形例における制御用フラグ
エリアの値の遷移を示す状態遷移図である。
【符号の説明】
1 共有メモリ 11 制御用フラグエリア 111 有効フラグ 112 変化フラグ 12 データエリア 120 データ A、B プロセス A1、B1 データ処理部 A2、B2 管理部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 デュアルポート型メモリを共有する複数
    のプロセスが前記メモリを用いながら協同して処理を行
    う環境において、各プロセスが、自プロセスの前記メモ
    リへのアクセスを管理するために備える共有メモリアク
    セス管理装置であって、 前記メモリには、複数ビットから成って、前記複数のプ
    ロセスが協同して行う処理の進行に従って値が更新され
    る制御情報が含まれており、 前記共有メモリアクセス管理装置は、 前記制御情報の値を検出する検出手段と、 前記制御情報の値を更新する更新手段と、 前記検出手段が検出する制御情報の値が他プロセスによ
    って更新されて所定の値に変化するまで前記検出手段に
    前記制御情報の値を検出する動作を繰り返させ、前記検
    出手段が検出した値が前記所定の値に変化すると、自プ
    ロセスに指示して前記処理に関わる動作を行わせ、前記
    自プロセスによる動作が完了すると、前記更新手段に指
    示して前記制御情報のうち1のビットのみ反転させて前
    記他プロセスに前記処理の進行を伝達する指示手段、 とから成ることを特徴とする共有メモリアクセス管理装
    置。
  2. 【請求項2】 前記共有メモリは、前記複数のプロセス
    が前記制御情報以外のデータを受け渡しするために用い
    るデータ部を含み、 前記制御情報は、前記データ部に対する排他制御のため
    の排他制御用フラグを1以上含み、 前記複数のプロセスが協同して行う処理は、前記データ
    部を介して行われるデータの受け渡しであり、 前記指示手段は、前記検知手段が検知した前記排他制御
    用フラグの値に基づいて、前記データの受け渡しに関す
    る動作を前記自プロセスに行わせ、前記動作が完了する
    と、前記更新手段に指示して前記排他制御用フラグ1ビ
    ットを反転させることを特徴とする請求項1に記載の共
    有メモリアクセス管理装置。
  3. 【請求項3】 前記指示手段は、前記自プロセスに行わ
    せた動作が完了した後に前記制御情報の複数ビットを反
    転させる場合、前記複数のビットの各々について、順次
    前記更新手段に指示して反転させることを特徴とする請
    求項1または2に記載の共有メモリアクセス管理装置。
  4. 【請求項4】 デュアルポート型メモリを共有する複数
    のプロセスが前記メモリを用いてデータ通信を行うデー
    タ通信方法であって、 前記メモリには、データ通信の進行に従って前記複数の
    プロセスによって値が更新される複数ビットから成るフ
    ラグが含まれ、 前記データ通信方法は、 一のプロセスが前記メモリにデータを書き込む書き込み
    ステップと、 前記書き込みステップを終えた前記一のプロセスが、前
    記フラグに含まれる一のビットを反転させる第1の反転
    ステップと、 前記第1の反転ステップを終えた前記一のプロセスが、
    前記フラグに含まれる他の一のビットを反転させる第2
    の反転ステップと、 他の一のプロセスが、前記一のビットおよび前記他の一
    のビットの反転を検知する検知ステップと、 前記検知ステップを終えた前記他の一のプロセスが、前
    記メモリに書き込まれたデータを読み出す読み出しステ
    ップとを含むことを特徴とするデータ通信方法。
JP2000003464A 1999-04-19 2000-01-12 共有メモリアクセス管理装置 Expired - Fee Related JP3790653B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000003464A JP3790653B2 (ja) 1999-04-19 2000-01-12 共有メモリアクセス管理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11072399 1999-04-19
JP11-110723 1999-04-19
JP2000003464A JP3790653B2 (ja) 1999-04-19 2000-01-12 共有メモリアクセス管理装置

Publications (2)

Publication Number Publication Date
JP2001005720A true JP2001005720A (ja) 2001-01-12
JP3790653B2 JP3790653B2 (ja) 2006-06-28

Family

ID=26450279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000003464A Expired - Fee Related JP3790653B2 (ja) 1999-04-19 2000-01-12 共有メモリアクセス管理装置

Country Status (1)

Country Link
JP (1) JP3790653B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228435B2 (en) 2001-11-08 2007-06-05 Nec Corporation Program executing method in service system and program executing apparatus for the same
JP2008276321A (ja) * 2007-04-25 2008-11-13 Sony Computer Entertainment Inc 情報処理システムおよび情報処理方法
WO2009040932A1 (ja) * 2007-09-28 2009-04-02 Fujitsu Limited 制御装置,制御方法,電子機器および伝送装置
JP2012160202A (ja) * 2004-03-31 2012-08-23 Intel Corp ユーザーレベルのマルチスレッドを提供する方法およびシステム
US8447933B2 (en) 2007-03-06 2013-05-21 Nec Corporation Memory access control system, memory access control method, and program thereof
JP2020506465A (ja) * 2017-01-17 2020-02-27 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングRobert Bosch Gmbh 制御装置を作動させるための方法および装置、コンピュータプログラム、ならびにコンピュータプログラムを生成するための方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228435B2 (en) 2001-11-08 2007-06-05 Nec Corporation Program executing method in service system and program executing apparatus for the same
US9189230B2 (en) 2004-03-31 2015-11-17 Intel Corporation Method and system to provide concurrent user-level, non-privileged shared resource thread creation and execution
JP2012160202A (ja) * 2004-03-31 2012-08-23 Intel Corp ユーザーレベルのマルチスレッドを提供する方法およびシステム
JP2014222533A (ja) * 2004-03-31 2014-11-27 インテル コーポレイション ユーザーレベルのマルチスレッドを提供する方法およびシステム
US9442721B2 (en) 2004-03-31 2016-09-13 Intel Corporation Method and system to provide user-level multithreading
US10585667B2 (en) 2004-03-31 2020-03-10 Intel Corporation Method and system to provide user-level multithreading
US10613858B2 (en) 2004-03-31 2020-04-07 Intel Corporation Method and system to provide user-level multithreading
US10628153B2 (en) 2004-03-31 2020-04-21 Intel Corporation Method and system to provide user-level multithreading
US10635438B2 (en) 2004-03-31 2020-04-28 Intel Corporation Method and system to provide user-level multithreading
US8447933B2 (en) 2007-03-06 2013-05-21 Nec Corporation Memory access control system, memory access control method, and program thereof
JP2008276321A (ja) * 2007-04-25 2008-11-13 Sony Computer Entertainment Inc 情報処理システムおよび情報処理方法
WO2009040932A1 (ja) * 2007-09-28 2009-04-02 Fujitsu Limited 制御装置,制御方法,電子機器および伝送装置
JP2020506465A (ja) * 2017-01-17 2020-02-27 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングRobert Bosch Gmbh 制御装置を作動させるための方法および装置、コンピュータプログラム、ならびにコンピュータプログラムを生成するための方法
US11500679B2 (en) 2017-01-17 2022-11-15 Robert Bosch Gmbh Operating a controller in a motor vehicle according to different time slots

Also Published As

Publication number Publication date
JP3790653B2 (ja) 2006-06-28

Similar Documents

Publication Publication Date Title
JP4640126B2 (ja) サイドバンド・バス設定回路
CN110580235B (zh) 一种sas扩展器通信方法及装置
JP2007525766A (ja) マルチポートメモリシステムにおける衝突検出
EP2225652B1 (en) Read status controller
US6430710B1 (en) Data processing system with RAS data acquisition function
US7934043B2 (en) Data processing apparatus for controlling access to a memory based upon detection of completion of a DMA bus cycle
JPH0626336B2 (ja) 制御リンク
JP2001005720A (ja) 共有メモリアクセス管理装置
US10838654B2 (en) Semiconductor device including UFS system for data transfer
KR100815004B1 (ko) 제어 방법 및 전자 장치
CN115033394B (zh) 一种多核mcu访问共享外设的控制系统及相关设备
US7313646B2 (en) Interfacing of functional modules in an on-chip system
JP6112412B2 (ja) 入出力制御回路及び入出力制御回路における同期制御方法
JP2002215557A (ja) Pciバスの障害解析容易化方式
JP2001229120A (ja) チェーン式dmaの処理誤り検出方法及びdmaコントローラ
CN112445744A (zh) I2c通信
US20030061300A1 (en) Dual port RAM communication protocol
JPH0238969B2 (ja)
US7600041B2 (en) Industrial or domestic local network
US7415554B2 (en) System and method for parallel data transmission
JPS63228856A (ja) 通信制御装置
JP2003337758A (ja) 二重化メモリシステム
JP2003345676A (ja) 二重化メモリシステム
CN116361233A (zh) 一种微控制器
JP2002288048A (ja) ワンチップマイクロコントローラ及びそのシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060307

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: 20060322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060403

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3790653

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100407

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110407

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120407

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130407

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130407

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140407

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees