JPH08314870A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH08314870A
JPH08314870A JP11486095A JP11486095A JPH08314870A JP H08314870 A JPH08314870 A JP H08314870A JP 11486095 A JP11486095 A JP 11486095A JP 11486095 A JP11486095 A JP 11486095A JP H08314870 A JPH08314870 A JP H08314870A
Authority
JP
Japan
Prior art keywords
access right
unit
access
processing
shared memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11486095A
Other languages
English (en)
Inventor
Makoto Kaai
信 河相
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP11486095A priority Critical patent/JPH08314870A/ja
Publication of JPH08314870A publication Critical patent/JPH08314870A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 共有メモリ1を介した迅速なデータ交換を可
能にする。 【構成】 CPUユニット2がアクセス制御部4からア
クセス権を獲得して、共有メモリ1にアクセスしている
際に、周辺ユニット3が共有メモリ1へのアクセスの必
要性が生じたためアクセス制御部4にアクセス権獲得要
求を送るが、アクセス制御部4にアクセス権がないた
め、アクセス権予約レジスタ42にアクセス権付与の予
約をする。CPUユニット2は、共有メモリ1へのアク
セスが終了すると、アクセス権をアクセス制御部4に解
放すると共に、そのアクセス権予約レジスタ42を見て
予約が入っていれば、その予約をした周辺ユニット3に
アクセス権の解放を通知する。すると、周辺ユニット3
は、CPUユニット2からの割込みにより、CPUユニ
ット2がアクセス権を解放したことを知り、アクセス制
御部4からアクセス権を獲得して、共有メモリ1へアク
セスする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数の処理ユニットが
共有メモリを共有し、アクセス制御部からアクセス権を
獲得した処理ユニットのみが共有メモリにアクセスする
データ処理装置に関する。
【0002】
【従来の技術】複数の処理ユニットが共有メモリを共有
するプログラマブルコントローラ等のデータ処理装置で
は、従来、共有メモリへのアクセス権を、各処理ユニッ
トにおける共有メモリへのアクセスの必要性とは関係な
く、各処理ユニット間で交換して、アクセス権を獲得し
た処理ユニットでは、アクセス権を所有している間のみ
共有メモリへアクセスしてデータ交換等の処理を行い、
そのアクセス終了後にアクセス権を他の処理ユニットに
送っていた。
【0003】なお、従来の場合、各処理ユニット間にお
けるアクセス権の交換タイミングは、各処理ユニットの
処理サイクルにおけるデータ交換処理終了時に、共有メ
モリへのアクセス処理の有無にかかわらず、他の処理ユ
ニットにアクセス権を渡すようにし、これを共有メモリ
を共有している各処理ユニット間で順次行うようにして
いた。
【0004】
【発明が解決しようとする課題】しかし、このような従
来のデータ処理装置では、共有メモリへのアクセスの必
要性に関係なく各処理ユニット間でアクセス権を交換し
ていたため、共有メモリへアクセスしない処理ユニット
がアクセス権を長く所有する場合や、それとは逆に共有
メモリへアクセスする必要のある処理ユニットがアクセ
ス権を所有していない場合が多く生じていた。
【0005】このような場合、共有メモリへアクセスす
る必要の有る処理ユニットが、共有メモリが空いている
にもかかわらず、アクセス権を所有していないために共
有メモリへアクセスできないという状態が生じ、共有メ
モリを介した迅速なデータ交換処理ができない、という
問題があった。
【0006】特に、共有メモリを共有する処理ユニット
の台数が増えた場合や、ある共有ユニットの処理サイク
ルが長くなった場合には、このような問題が発生しやす
くなり、またデータリンク処理等の場合には、CPUユ
ニットと周辺ユニットとの間でデータの同期をとる必要
がないのに、共有メモリのアクセス権を共有メモリを共
有する各処理ユニット間で交換していたのでは、共有メ
モリへのアクセスに無駄が生じ、迅速な処理ができてい
なかった。
【0007】本発明は、このような問題に着目してなさ
れたもので、複数の処理ユニットが共有メモリを共有し
ている場合でも、各処理ユニットが迅速かつ無駄なく共
有メモリにアクセスして、共有メモリを介したデータ交
換を迅速に行うことができるデータ処理装置を提供する
ことを目的とする。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明では、複数の処理ユニットが共
有メモリを共有し、アクセス制御部からアクセス権を獲
得した処理ユニットのみが共有メモリにアクセスするデ
ータ処理装置であって、各処理ユニットは、共有メモリ
へアクセスする場合のみ、アクセス権獲得要求を上記ア
クセス制御部へ送出し、アクセス権を獲得できた場合は
共有メモリへアクセスすると共に、そのアクセス終了後
直ちに上記アクセス制御部へアクセス権を解放する一
方、アクセス制御部は、各処理ユニットからのアクセス
権獲得要求に対し排他的に1の処理ユニットにアクセス
権を付与する、ことを特徴とする。
【0009】また、請求項2記載の発明では、請求項1
記載のデータ処理装置において、アクセス制御部は、各
処理ユニットからのアクセス権獲得要求に対し排他的に
1の処理ユニットにアクセス権を付与し、かつ、1の処
理ユニットにアクセス権を付与している際に、他の処理
ユニットからアクセス権獲得要求がきた場合には、当該
他の処理ユニットへのアクセス権付与の予約をして、上
記1の処理ユニットがアクセス権を解放したときには上
記アクセス権付与の予約をした当該他の処理ユニットに
アクセス権を付与する、ことを特徴とする。
【0010】また、請求項3記載の発明では、請求項1
または請求項2記載のデータ処理装置において、複数の
処理ユニットは、共有メモリへのアクセス終了後直ちに
上記アクセス制御部へアクセス権を解放すると共に、ア
クセス制御部に他の処理ユニットからアクセス権付与の
予約が入っているか否かを検出して、他の処理ユニット
からアクセス権付与の予約が入っている場合には、当該
他の処理ユニットへアクセス権が解放されたことを通知
する、ことを特徴とする。
【0011】また、請求項4記載の発明では、請求項
1、請求項2または請求項3記載のデータ処理装置にお
いて、複数の処理ユニットは、各々の処理サイクルでサ
イクリックに処理を繰り返し行うもので、その処理サイ
クル中に共有メモリへのアクセスの必要性が生じた場合
には、各々の処理サイクル中のデータ交換時のみ共有メ
モリへアクセス権獲得要求をアクセス制御部へ送出し
て、共有メモリへのアクセスを行う、ことを特徴とす
る。
【0012】また、請求項5記載の発明では、請求項4
記載のデータ処理装置において、複数の処理ユニット
が、自ユニットの処理サイクルでサイクリックにCPU
処理を繰り返し行うCPUユニットと、自ユニットの処
理サイクルでサイクリックにCPU処理以外の周辺処理
を繰り返し行うCPUユニット以外の周辺ユニットであ
る、ことを特徴とする。
【0013】また、請求項6記載の発明では、請求項
1、請求項2、請求項3、請求項4、請求項5記載のデ
ータ処理装置が、ユーザプログラムを実行して被制御機
器の動作を制御するプログラマブルコントローラであ
る、ことを特徴とする。
【0014】
【作用】本発明では、各処理ユニットは、共有メモリへ
アクセスする場合のみ、アクセス権獲得要求をアクセス
制御部へ送出し、アクセス権を獲得できた場合には共有
メモリへアクセスし、そのアクセス終了後直ちにアクセ
ス制御部へアクセス権を解放するようにする。
【0015】その際、アクセス制御部では、各処理ユニ
ットからのアクセス権獲得要求に対し排他的に1の処理
ユニットにアクセス権を付与するようにし、1の処理ユ
ニットにアクセス権を付与している際に、他の処理ユニ
ットからアクセス権獲得要求がきた場合には、当該他の
処理ユニットへのアクセス権付与の予約をして、上記1
の処理ユニットがアクセス権を解放したときには上記ア
クセス権付与の予約をした当該他の処理ユニットにアク
セス権を付与するようにする。
【0016】また、各処理ユニットは、共有メモリへの
アクセス終了後直ちにアクセス制御部へアクセス権を解
放するが、その際、アクセス制御部に他の処理ユニット
からアクセス権付与の予約が入っているか否かを検出し
て、他の処理ユニットからアクセス権付与の予約が入っ
ている場合には、当該他の処理ユニットへアクセス権が
解放されたことを通知するようにしても良い。
【0017】
【実施例】以下、本発明に係るデータ処理装置の実施例
を図面に基づいて説明する。
【0018】図1に、本発明に係るデータ処理装置の実
施例の構成を機能的に示す。
【0019】このデータ処理装置は、ユーザプログラム
を実行して非制御機器の動作等を制御するプログラマブ
ルコントローラであって、図に示すように、シングルポ
ートの共有メモリ1と、共有メモリ1を共有する複数台
(本実施例では、説明の便宜上、2台とする。)の処理
ユニットであるCPU処理を行うCPUユニット2、お
よびCPU処理以外の周辺処理を行う周辺ユニット3
と、共有メモリ1へのアクセス権を制御するアクセス制
御部4とから構成されている。
【0020】処理ユニットであるCPUユニット2およ
び周辺ユニット3は、各々、自ユニットの処理サイクル
におけるデータ交換処理時に、共有メモリ1へのアクセ
スの必要が生じた場合のみ共有メモリ1にアクセスをす
るが、その際、共有メモリ1へのアクセス権を要求する
アクセス権要求信号をアクセス制御部4へ送出して、ア
クセス制御部4からアクセス権が送られてアクセス権を
獲得できた場合のみ、共有メモリ1へアクセスしてデー
タの読書き等のデータ交換処理を行うと共に、共有メモ
リ1へのアクセス終了後は直ちにアクセス権を解放等す
るように構成されている。
【0021】ここで、CPUユニット2および周辺ユニ
ット3において共有メモリ1へアクセスの必要が生じた
場合とは、例えば、各々の処理サイクル中にプログラム
の実行等をして、共有メモリ1へ書込むデータが発生し
た場合とか、共有メモリ1の書込まれたデータを定期的
に読出す場合とか、共有メモリ1のイベント(不定期)
データ発生フラグ等をイベント的にチェックし、当該フ
ラグがセットされていた場合に共有メモリ1に書込まれ
たイベントデータを読出す場合等をいう。
【0022】アクセス制御部4は、各処理ユニットから
のアクセス権獲得要求に対し排他的に1の処理ユニット
にアクセス権を付与するアクセス権付与部41と、アク
セス権付与部41によって1の処理ユニットがアクセス
権を所有している際に、他の処理ユニットからアクセス
権獲得要求がきた場合に、フラグのセット等によって当
該他の処理ユニットにアクセス権付与の予約を行い、そ
の1の処理ユニットがアクセス権を解放したときにはア
クセス権付与の予約をした当該他の処理ユニットにアク
セス権を付与するようにアクセス権付与部41をロック
するアクセス権予約レジスタ42とを有する。
【0023】なお、本実施例では、処理ユニットが2台
しかないため、アクセス権予約レジスタ42は、フラグ
エリアを1つ有していれば十分だが、処理ユニットが3
台以上ある場合は、各処理ユニットに対応してフラグエ
リアを有するようにし、アクセス権を予約した順にアク
セス権を各処理ユニットに付与するようにする。
【0024】図2に、このデータ処理装置のCPUユニ
ット2あるいは周辺ユニット3側のアクセス権獲得要求
およびアクセス権の流れを示す。
【0025】この図2は、CPUユニット2側がアクセ
ス制御部4からアクセス権を獲得して共有メモリ1にア
クセスしている際に、周辺ユニット3がアクセス権獲得
要求をアクセス制御部4へ出力した場合を示している。
【0026】つまり、まず、CPUユニット2側では、
例えば内部で共有メモリ1へ書込み等すべきデータが発
生して、共有メモリ1へアクセスの必要性が生じたた
め、アクセス制御部4にアクセス権獲得要求を出力する
(図中)。
【0027】そして、アクセス制御部4では、アクセス
権付与部41がそのアドレス権獲得要求を受けて、アク
セス権が空いていたのでCPUユニット2へアドレス権
を解放し、CPUユニット2側がそのアクセス権を獲得
して、共有メモリ1にアクセスしてデータ読書き処理を
行う。
【0028】尚、図中、破線の矢印で、アクセス権の流
れを示している。
【0029】一方、周辺ユニット側3では、CPUユニ
ット2がアクセス権を所有している際に、CPUユニッ
ト2と同様に例えば内部で共有メモリ1へ書込み等すべ
きデータが発生して、共有メモリ1へのアクセスの必要
性が生じた場合には、アクセス制御部4にアクセス権獲
得要求を送出するが(図中)、アクセス制御部4のア
クセス権付与部41は既にアクセス権をCPU2に付与
しており、現在はアクセス権を所有していないため、ア
クセス権予約レジスタ42の自ユニットの領域にフラグ
をセット等してアクセス権付与の予約をする。
【0030】このようにすると、アクセス権予約レジス
タ42に、あるユニットがアクセス権付与の予約をする
と、そのユニットは、次にアクセス権が空いたときに、
他のユニットからアクセス権付与部41にアクセス権獲
得要求が入った場合でも、優先的にアクセス権を得るこ
とができ、複数の予約が入った場合も最初に予約をした
ユニットから優先的にアクセス権を得ることができる。
【0031】そして、CPUユニット2は、共有メモリ
1へのアクセス処理が終了すると、共有メモリ1へのア
クセス権をアクセス制御部4のアクセス権付与部41に
解放すると共に、アクセス権付与レジスタ42をチェッ
クして、フラグがセットされているか否か、すなわち他
のユニットである周辺ユニット3からアクセス権付与の
予約が入っているかを判断する。ここで、アクセス権付
与レジスタ42にその周辺ユニット3からアクセス件付
与の予約が入っていると判断した場合、CPUユニット
2は、その予約をした周辺ユニット3に割込みによっ
て、今まで所有していたアクセス権を解放したことを通
知する(図中)。
【0032】すると、周辺ユニット3では、CPUユニ
ット2側からの割込みにより、CPUユニット2がアク
セス権を解放して、アクセス制御部4のアクセス権付与
部41にアクセス権が有ることを知ることができるの
で、続いてこの周辺ユニット3の処理サイクル中の共有
メモリ1アクセス時に、アクセス権獲得要求をアクセス
制御部4のアクセス権付与部41に送出して(図中
)、アクセス権付与部41から優先的にアクセス権を
獲得し、共有メモリ1へアクセスしてデータの読書き処
理等を行う。
【0033】そして、周辺ユニット3は、共有メモリ1
へのデータ読書き処理が終了すると、アクセス制御部4
のアクセス権付与部41に対しアクセス権を解放すると
共に(図中)、アクセス権予約レジスタ42の自ユニ
ット領域のフラグをリセットして、アクセス権の予約を
解除するようにする。
【0034】なお、以上の処理は、CPUユニット2が
アクセス権を獲得して共有メモリ1にアクセスしている
際に、周辺ユニット3がアクセス権獲得要求を出力した
場合を示しているが、これとは逆に、周辺ユニット3が
アクセス権を獲得して共有メモリ1にアクセスしている
際に、CPUユニット2がアクセス権獲得要求を出力し
た場合も同様である。
【0035】従って、本実施例によれば、各処理ユニッ
ト2,3は共有メモリ1へアクセスする場合のみアクセ
ス権獲得要求をアクセス制御部4へ送出し、アクセス制
御部4は、各処理ユニット2,3からのアクセス権獲得
要求に対し排他的にアクセス権を付与して、アクセス権
を獲得できた処理ユニットのみ共有メモリ1へアクセス
し、そのアクセス終了後直ちにアクセス制御部4へアク
セス権を解放するようにしたため、共有メモリ1を共有
している各処理ユニット2,3が、非同期で共有メモリ
1へアクセスすることが可能になる。
【0036】このため、共有メモリ1のアクセス権を各
処理ユニット2,3間で交換していた従来の場合と比べ
て、共有メモリ1をアクセスする必要のない処理ユニッ
トがアクセス権を所有しているという状態がなくなり、
各ユニットにおけるアクセス権の所有に無駄がなくなっ
て共有メモリ1へを介しての迅速などデータ交換等が可
能になると共に、多数の処理ユニットで共有メモリ1を
共有した場合でも共有メモリ1を介してのデータ交換速
度の低下を防止できる。
【0037】また、本実施例では、アクセス制御部4
は、例えばCPUユニット2がアクセス権を所有してい
る際に、他の周辺ユニット3からアクセス権獲得要求が
きた場合には、その周辺ユニット3へのアクセス権付与
の予約をし、CPUユニット2がアクセス権を解放した
ときには、アクセス権付与の予約をしたその周辺ユニッ
ト3に優先的にアクセス権を付与するようにしたため、
周辺ユニット3がアクセス権を獲得できるまでアクセス
権獲得要求を繰り返し何回も出さずに済むと共に、また
それ以外の処理ユニット(図示せず)からのアクセス権
獲得要求が先にアクセス制御部4へ入ることもなくな
り、共有メモリ1へのアクセスを効率良く行うことが可
能になる。
【0038】さらに、本実施例では、各処理ユニット
2,3は、共有メモリ1へのアクセス終了後直ちにアク
セス制御部1へアクセス権を解放するだけでなく、アク
セス権予約レジスタ42の他のユニットによるアクセス
権付与の予約状態をチェックして、予約があれば、その
予約をした他の処理ユニットにアクセス権を解放したこ
とを通知するようにしたため、より迅速かつ効率の良い
共有メモリ1を介したデータ交換処理が可能になる。
【0039】次に、従来方式と本発明に係る本実施例の
方式との共有メモリ1を介したユニット間の最大データ
伝送遅延時間を比較して性能の比較をする。
【0040】まず、従来方式による共有メモリ1を介し
たユニット間の最大データ伝送遅延時間を説明する。
【0041】図3は、従来方式によるCPUユニット2
´から周辺ユニット3´への共有メモリ1を介してのデ
ータの流れ、およびそのデータ交換処理に要する時間を
示しており、そのデータ交換時間が最も遅延する場合を
示している。
【0042】なお、図において、Taは、CPUユニッ
ト2´の共有メモリ1へのアクセスサイクルであるデー
タ交換サイクルタイム、Tbは、周辺ユニット3´の共
有メモリ1へのアクセスサイクルであるデータ交換サイ
クルタイム、Tcは、CPUユニット2´のデータ交換
(データリンク)処理時間である共有メモリ1の占有時
間、Tdは、周辺ユニット3´のデータ交換(データリ
ンク)処理時間である共有メモリ1の占有時間、TCA,
TPAは、各々、CPUユニット2´あるいは周辺ユニッ
ト3´におけるアクセス権の獲得時間、を示すものと
し、この符号は他の図でも同じ意味で使用する。
【0043】また、CPUユニット2´側のデータ交換
処理タイミングTaは、周辺ユニット3´側のデータ交
換処理タイミングTbより小さい、すなわちTa<Tb
の関係が成立しているものとする。
【0044】図3に示す従来方式を説明すると、従来の
CPUユニット2´および周辺ユニット3´は、原則と
して、各々、Ta,Tbのサイクルでデータ交換タイミ
ングが発生し、そのタイミングから各々の共有メモリ1
占有時間Tc,Tdを経過した後に、相手ユニットにア
クセス権を渡すようにしている。
【0045】ところで、図3では、データ交換時間の最
大遅延時間を想定しているため、CPUユニット2´側
において最初のアクセス権所有時間TCA1 に共有メモリ
1へ書込むべきデータ(Data)が発生したが、ほん
の少し前にデータ交換タイミングを過ぎているため、こ
のデータ交換タイミングではそのデータを共有メモリ1
へ書き込めず、いったん周辺ユニット3´にアクセス権
を渡して、次に周辺ユニット3´側からアクセス権がき
て、そのアクセス権所有時間TCA2 内のデータ交換タイ
ミングでデータを共有メモリ1に書き込むようにする。
【0046】一方、周辺ユニット3´では、CPUユニ
ット2´がその共有メモリ1へのデータ交換後共有メモ
リ1へのアクセス権を周辺ユニット3´側に送ってくる
ため、CPUユニット2´側からアクセス権が送られて
きて、アクセス権所有状態となったアクセス権所有時間
TPA2 内のデータ交換タイミングで、CPUユニット2
´が共有メモリ1に書込んだデータを取り込むようにす
る。
【0047】従って、この従来方式によるCPUユニッ
ト2´から周辺ユニット3´への共有メモリ1を介して
のデータの交換による最大データ伝送遅延時間は、図に
示すように、2Tb+Tc+Tdとなる。
【0048】尚、上述の通り、CPUユニット2´側の
データ交換処理タイミングTaは、周辺ユニット3´側
のデータ交換処理タイミングTbより小さく、Ta<T
bの関係が成立しているものとする。
【0049】図4は、従来方式による周辺ユニット3´
からCPUユニット2´への共有メモリ1を介してのデ
ータの流れ、およびそのデータ交換処理に要する時間を
示しており、そのデータ交換時間が最も遅延する場合を
示している。
【0050】つまり、この図4では、実質的に図3と同
じ状態が周辺ユニット3´側で発生しており、周辺ユニ
ット3´側において最初のアクセス権所有時間TPA1 に
共有メモリ1へ書込むべきデータ(Data)が発生し
たが、すでにデータ交換タイミングを過ぎているため、
このタイミングではデータを共有メモリ1へ書き込め
ず、いったんCPUユニット2´にアクセス権を渡し
て、次にCPUユニット2´側からアクセス権がきた場
合のアクセス権所有時間TPA2 内のデータ交換タイミン
グでデータを共有メモリ1に書き込むようにする。
【0051】一方、CPUユニット2´側では、周辺ユ
ニット3´がその共有メモリ1へのデータ交換後共有メ
モリ1へのアクセス権を周辺ユニット3´側に送ってく
るため、アクセス権所有状態となり、そのアクセス権所
有時間TCA2 内のデータ交換タイミングで、周辺ユニッ
ト3´が共有メモリ1に書込んだデータを取り込むよう
にする。
【0052】従って、この場合には、周辺ユニット3´
からCPUユニット2´への共有メモリ1を介したデー
タの交換による最大データ伝送遅延時間は、図に示すよ
うに、Ta+Tb+Tc+Tdとなる。
【0053】尚、図3に示す場合と同様、CPUユニッ
ト2´側のデータ交換処理タイミングTaは、周辺ユニ
ット3´側のデータ交換処理タイミングTbより小さ
く、Ta<Tbの関係が成立しているものとする。
【0054】図5に、従来方式による共有メモリ1を介
したデータ交換処理の最大データ伝送遅延時間を示す。
【0055】なお、図3、図4で説明したのは、CPU
ユニット2´側のデータ交換処理タイミングTaが周辺
ユニット3´側のデータ交換処理タイミングTbより小
さい、すなわちTa<Tbの関係が成立している場合で
あり、CPUユニット2´側のデータ交換処理タイミン
グTaが周辺ユニット3´側のデータ交換処理タイミン
グTbより大きい、すなわちTa>Tbの関係が成立し
ている場合の最大データ伝送遅延時間は、図5に示すよ
うに、Ta<Tbの関係の場合のデータ交換方向を逆に
した場合の最大データ伝送遅延時間と等しくなる。
【0056】次に、本実施例による共有メモリ1を介し
たCPUユニットおよび周辺ユニット間の最大データ伝
送遅延時間を説明する。
【0057】図6は、本実施例によるCPUユニット2
から周辺ユニット3への共有メモリ1を介してのデータ
の流れ、およびそのデータ交換処理に要する時間を示し
ており、そのデータ交換時間が最も遅延する場合を示し
ている。
【0058】なお、本実施例では、ユニット間でアクセ
ス権の獲得競合が発生した場合、アクセス競合で待たさ
れているユニットに対しては、アクセス権を所有してい
るユニット側からアクセス権解放の割込み通知がされる
が、その割込み通知の時間は、データ交換遅延時間に対
して無視できるほど小さいものとする。
【0059】図6に示す本実施例によるデータ交換方式
を説明すると、この場合も、図3に示す従来方式の場合
と同様で、データ交換時間の最大遅延時間を想定してい
るため、CPUユニット2側において最初のアクセス権
所有時間TCA1 に共有メモリ1へ書込むべきデータ(D
ata)が発生したが、このアクセス権所有時間TCA1
はそのデータより前に発生したデータを交換するために
アクセス権をアクセス制御部4から獲得したもので、す
でにデータ交換タイミングも過ぎていることから、この
タイミングではそのデータを共有メモリ1へ書き込ま
ず、前のデータの書込み終了後に、いったんアクセス制
御部4にアクセス権を解放する。
【0060】そして、CPUユニット2は、次のデータ
交換タイミングで、先ほど入ったデータを共有メモリ1
へ書込むため、アクセス権獲得要求信号をアクセス制御
部へ送出するが、そのCPUユニット2によるアクセス
権獲得要求信号の送出前に、周辺ユニット3側で共有メ
モリ1へのアクセスの必要性が生じて、ほんのわずか早
くアクセス権獲得要求信号をアクセス制御部4へ送出し
ているものとする。
【0061】このため、CPUユニット2は、、アクセ
ス制御部4のアクセス権付与部41からアクセス権を獲
得することができず、アクセス制御部4のアクセス権予
約レジスタ42にアクセス権付与の予約をして、周辺ユ
ニット3がアクセス権を解放するのを待つ。
【0062】一方、周辺ユニット3では、その時点でア
クセス権を獲得してアクセス権所有状態となっており、
そのアクセス権所有時間TPA1 内に共有メモリ1にデー
タを書込み等して、その書込み処理等の終了後にアクセ
ス権を解放して、アクセス制御部4のアクセス権付与部
41に戻すと共に、CPUユニット2にアクセス権解放
通知を割込み信号により通知する。
【0063】すると、CPUユニット2は、そのアクセ
ス権解放通知を受けて、周辺ユニット3がアクセスを解
放し、かつ、アクセス制御部4のアクセス権付与部41
にアクセス権が有ることを認識できるため、直ぐにアク
セス制御部4にアクセスして、アクセス権を獲得し、そ
のアクセス権所有時間TCA2 内に共有メモリ1にデータ
を書込むようにする。
【0064】ところで、周辺ユニット2では、共有メモ
リ1に読み込むべきデータが格納されたため、そのタイ
ミングからデータ交換タイミングTbだけ経過した次の
タイミングでアクセス権獲得要求信号をアクセス制御部
4へ送出するが、上述のようにデータ交換時間の最大遅
延時間を想定しているため、この場合も、周辺ユニット
3によるアクセス権獲得要求信号の送出前に、CPUユ
ニット2側で共有メモリ1へのアクセスの必要性が生じ
て、ほんのわずか早くアクセス権獲得要求信号をアクセ
ス制御部へ送出しているのとする。
【0065】このため、周辺ユニット3は、アクセス制
御部4にアクセス権付与の予約をして、CPUユニット
2がアクセス権を解放してアクセス権解放通知を割込み
で送ってくるのを待機する。
【0066】そして、CPUユニット2がそのアクセス
権所有時間TCA4 内に共有メモリ1にデータの書込み処
理等をして、その書込み処理等の終了後にアクセス権を
アクセス制御部4に解放し、周辺ユニット3に対しアク
セス権解放通知を割込みにより通知してきた場合、周辺
ユニット3は、そのアクセス権解放通知を受けて、アク
セス制御部4にアクセス権が有ることを認識できるた
め、直ぐにアクセス制御部4にアクセスして、アクセス
権を獲得して、そのアクセス権所有時間TPA2 内に共有
メモリ1からCPUユニット21がそのアクセス権所有
時間TCA2 で書込んだデータを読み込むようにする。
【0067】従って、本実施例のデータ処理装置による
場合、周辺ユニット3からCPUユニット2への共有メ
モリ1を介したデータの交換による最大データ伝送遅延
時間は、図に示すように、Ta+Tb+Tc+Tdとな
る。
【0068】尚、図3に示す場合と同様、CPUユニッ
ト2側のデータ交換処理タイミングTaは、周辺ユニッ
ト側のデータ交換処理タイミングTbより小さく、Ta
<Tbの関係が成立しているものとするが、アクセス権
解放を相手ユニットに割込みで通知するようにしている
ため、Ta>Tbの場合も同様の最大データ伝送遅延時
間となる。
【0069】図7に、本実施例のデータ処理装置による
最大データ伝送遅延時間を示す。
【0070】この図に示すように、本実施例では、アク
セス権解放を相手ユニットに割込みで通知するようにし
ているため、TaとTbの大小にかかわらずCPUユニ
ット2から周辺ユニット3へのデータ交換の場合も、周
辺ユニット3からCPUユニット2へのデータ交換の場
合も同様の最大データ伝送遅延時間、Ta+Tb+Tc
+Tdとなる。
【0071】図8に、従来方式と、本発明に係る本実施
例の方法との最大データ伝送遅延時間の性能の比較結果
を示す。
【0072】つまり、この図は、図5に示す従来方式に
よる最大データ伝送遅延時間と、図7に示す本実施例に
よる最大データ伝送遅延時間とを比較したもので、この
図8から明らかなように、Ta<Tbの場合で周辺ユニ
ット3,3´からCPUユニット2,2´へのデータ交
換、およびTa>Tbの場合でCPUユニット2,2´
から周辺ユニット3,3´へのデータ交換の場合は、最
大データ伝送遅延時間という点で本実施例による方式は
従来方式と同等であり、Ta<Tbの場合でCPUユニ
ット2,2´から周辺ユニット3,3´へのデータ交換
の場合は本実施例のほうがTb−Taだけ高速であり、
Ta>Tbの場合で周辺ユニット3,3´からCPUユ
ニット2,2´へのデータ交換の場合は本実施例のほう
がTa−Tbだけ高速であることがわかる。
【0073】このため、本実施例によるデータ交換方式
のほうが、従来方式と比べて、最大データ伝送遅延時間
という点では、少なくとも同等か、あるいは高速なこと
が分かる。
【0074】従って、例えば、本装置によりリモートI
/Oシステムを構築した場合、CPUユニット2の処理
サイクルに比べて周辺ユニット3の通信サイクルが小さ
く、すなわちTa>Tbとなることが多いため、このよ
うな場合には、従来方式と比べ本実施例のほうが、周辺
ユニット3が収集した最新データをCPUユニット2へ
高速に送信することができる。
【0075】また、例えば、本装置によりデータリンク
システムを構築した場合、CPUユニット2の処理サイ
クルに比べて周辺ユニット3の通信サイクルが大きく、
すなわちTa<Tbとなることが多いため、このような
場合には、従来方式と比べて、CPUユニット2が加工
した最新データを周辺ユニット3へ高速に送信すること
ができる。
【0076】尚、上記実施例では、一方のユニットが、
アクセス権を獲得して共有メモリ1へアクセスし、その
アクセスが終了した場合には、そのアクセス権をアクセ
ス制御部4に解放すると共に、アクセス制御部4のアク
セス権予約レジスタ42のフラグを見に行って他のユニ
ットからアクセス権の予約が入っていない判断して、予
約が入っていれば、その予約をした他の処理ユニットに
対し割込みでアクセス権解放通知を行うように説明した
が、本発明では、アクセス権を解放した後のアクセス権
解放通知を他のユニットに行わないようにしても良い。
【0077】ただし、この場合には、最大データ伝送遅
延時間という点では、図5に示す従来方式と同じ結果に
なるが、共有メモリ1を所有しているユニットの台数が
増大した場合や、各ユニットの処理サイクルが長くなっ
た場合における通常の共有メモリ1を介してデータ交換
サイクルは無駄がなくなるので、通常のデータ交換は高
速化することができる。
【0078】また、上記実施例では、共有メモリ1を周
辺ユニットであるCPUユニット2と、周辺ユニット3
とが共有しているものとして説明したが、本発明では、
これに限られることはなく、複数台のCPUユニット2
のみが共有メモリ1を共有するマルチプロセッサを構成
する場合でも、複数台の周辺ユニットとのみが共有メモ
リ1を共有しても、さらには複数台のCPUユニット2
と複数台の周辺ユニットとが共有メモリ1を共有する場
合でも良く、共有メモリ1を共有する処理ユニットの台
数が増大すれば、増大するだけ各処理ユニットにおける
アクセス権の所有に無駄がなくなるので、従来方式と比
べて共有メモリを介した高速なデータ交換処理が可能に
なる。
【0079】
【発明の効果】以上説明したように、本発明では、各処
理ユニットは共有メモリへアクセスする場合のみアクセ
ス権獲得要求をアクセス制御部へ送出して、アクセス制
御部は、各処理ユニットからのアクセス権獲得要求に対
し排他的にアクセス権を付与して、アクセス権を獲得で
きた処理ユニットのみ共有メモリへアクセスし、そのア
クセス終了後直ちにアクセス制御部へアクセス権を解放
するようにしたため、共有メモリを共有している各処理
ユニットが、非同期で共有メモリへアクセスすることが
可能になる。
【0080】このため、共有メモリのアクセス権を各処
理ユニット間で交換していた従来の場合と比べて、共有
メモリをアクセスする必要のない処理ユニットがアクセ
ス権を所有しているという状態がなくなり、各ユニット
におけるアクセス権の所有に無駄がなくなって、共有メ
モリへを介しての迅速などデータ交換等が可能になると
共に、多数の処理ユニットで共有メモリを共有した場合
でも、共有メモリを介してのデータ交換速度の低下を防
止できる。
【0081】また、本実施例では、アクセス制御部は、
例えばある処理ユニットがアクセス権を所有している際
に、他の処理ユニットからアクセス権獲得要求がきた場
合、その他の処理ユニットへのアクセス権付与の予約を
して、処理ユニットがアクセス権を解放した際に、アク
セス権付与の予約をした当該他の処理ユニットに優先的
にアクセス権を付与するようにしたため、当該他の処理
ユニットがアクセス権を獲得できるまでアクセス権獲得
要求を繰り返し何回も出さずに済むと共に、またそれ以
外の処理ユニットからのアクセス権獲得要求が先にアク
セス制御部へ入ることもなくなり、共有メモリへのアク
セスを効率良く行うことが可能になる。
【0082】さらに、本発明では、各処理ユニットは、
共有メモリへのアクセス終了後直ちにアクセス制御部へ
アクセス権を解放するだけでなく、他のユニットによる
アクセス権付与の予約状態をチェックして、予約があれ
ば、その予約をした他の処理ユニットにアクセス権を解
放したことを通知するようにしたため、より迅速かつ効
率の良い共有メモリを介したデータ交換処理が可能にな
る。
【図面の簡単な説明】
【図1】本発明に係るデータ処理装置の構成を機能的に
示すブロック図。
【図2】本実施例によるデータ読書き処理を示す説明
図。
【図3】従来方式によるCPUユニットから周辺ユニッ
トへの共有メモリを介してのデータの流れを示す説明
図。
【図4】従来方式による周辺ユニットからCPUユニッ
トへの共有メモリを介してのデータの流れを示す説明
図。
【図5】従来方式による最大データ伝送遅延時間を示す
説明図。
【図6】本実施例によるデータ交換時間が最も遅延する
場合を示す説明図。
【図7】本実施例による最大データ伝送遅延時間を示す
説明図。
【図8】従来方式と本実施例の方法との最大データ伝送
遅延時間についての比較結果を示す説明図。
【符号の説明】
1 共有メモリ1 2 CPUユニット2(処理ユニット) 3 周辺ユニット(処理ユニット) 4 アクセス制御部 41 アクセス権付与部 42 アクセス権予約レジスタ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 複数の処理ユニットが共有メモリを共有
    し、アクセス制御部からアクセス権を獲得した処理ユニ
    ットのみが共有メモリにアクセスするデータ処理装置で
    あって、 各処理ユニットは、共有メモリへアクセスする場合の
    み、アクセス権獲得要求を上記アクセス制御部へ送出
    し、アクセス権を獲得できた場合は共有メモリへアクセ
    スすると共に、そのアクセス終了後直ちに上記アクセス
    制御部へアクセス権を解放する一方、 アクセス制御部は、各処理ユニットからのアクセス権獲
    得要求に対し排他的に1の処理ユニットにアクセス権を
    付与する、 ことを特徴とするデータ処理装置。
  2. 【請求項2】 アクセス制御部は、 各処理ユニットからのアクセス権獲得要求に対し排他的
    に1の処理ユニットにアクセス権を付与し、かつ、1の
    処理ユニットにアクセス権を付与している際に、他の処
    理ユニットからアクセス権獲得要求がきた場合には、当
    該他の処理ユニットへのアクセス権付与の予約をして、
    上記1の処理ユニットがアクセス権を解放したときには
    上記アクセス権付与の予約をした当該他の処理ユニット
    にアクセス権を付与する、 ことを特徴とする請求項1記載のデータ処理装置。
  3. 【請求項3】 複数の処理ユニットは、 共有メモリへのアクセス終了後直ちに上記アクセス制御
    部へアクセス権を解放すると共に、アクセス制御部に他
    の処理ユニットからアクセス権付与の予約が入っている
    か否かを検出して、他の処理ユニットからアクセス権付
    与の予約が入っている場合には、当該他の処理ユニット
    へアクセス権が解放されたことを通知する、 ことを特徴とする請求項1または請求項2記載のデータ
    処理装置。
  4. 【請求項4】 複数の処理ユニットは、 各々の処理サイクルでサイクリックに処理を繰り返し行
    うもので、その処理サイクル中に共有メモリへのアクセ
    スの必要性が生じた場合には、各々の処理サイクル中の
    データ交換時のみ共有メモリへアクセス権獲得要求をア
    クセス制御部へ送出して、共有メモリへのアクセスを行
    う、 ことを特徴とする請求項1、請求項2または請求項3記
    載のデータ処理装置。
  5. 【請求項5】 複数の処理ユニットは、 自ユニットの処理サイクルでサイクリックにCPU処理
    を繰り返し行うCPUユニットと、 自ユニットの処理サイクルでサイクリックにCPU処理
    以外の周辺処理を繰り返し行うCPUユニット以外の周
    辺ユニットである、 ことを特徴とする請求項4記載のデータ処理装置。
  6. 【請求項6】 請求項1、請求項2、請求項3、請求項
    4または請求項5記載のデータ処理装置は、ユーザプロ
    グラムを実行して被制御機器の動作を制御するプログラ
    マブルコントローラである、ことを特徴とするデータ処
    理装置。
JP11486095A 1995-05-12 1995-05-12 データ処理装置 Pending JPH08314870A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11486095A JPH08314870A (ja) 1995-05-12 1995-05-12 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11486095A JPH08314870A (ja) 1995-05-12 1995-05-12 データ処理装置

Publications (1)

Publication Number Publication Date
JPH08314870A true JPH08314870A (ja) 1996-11-29

Family

ID=14648517

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11486095A Pending JPH08314870A (ja) 1995-05-12 1995-05-12 データ処理装置

Country Status (1)

Country Link
JP (1) JPH08314870A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100886179B1 (ko) * 2007-02-02 2009-02-27 엠텍비젼 주식회사 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100886179B1 (ko) * 2007-02-02 2009-02-27 엠텍비젼 주식회사 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치

Similar Documents

Publication Publication Date Title
EP0196331B1 (en) Method of and arrangement for ordering of multiprocessor operations in a multiprocessor system
US6141715A (en) Method and system for avoiding live lock conditions on a computer bus by insuring that the first retired bus master is the first to resubmit its retried transaction
US6490642B1 (en) Locked read/write on separate address/data bus using write barrier
US5257356A (en) Method of reducing wasted bus bandwidth due to slow responding slaves in a multiprocessor computer system
EP0581335B1 (en) Data processing system having units competing for access to shared resources and arbitration unit responsive to the status of the shared resources
KR100192529B1 (ko) 원격버스상의 중재를 고정시키는 방법 및 장치
JP6129976B2 (ja) 高効率アトミック演算を使用した方法および装置
JPH04312160A (ja) マルチプロセッサシステムおよびそのメッセージ送受信制御装置
US5649209A (en) Bus coupling information processing system for multiple access to system bus
JP2002304369A (ja) バスシステム
JPH08314870A (ja) データ処理装置
JP2972491B2 (ja) バス制御機構及び計算機システム
JPH03150654A (ja) キヤツシユを有するプロセツサのための優先制御システム
KR100243868B1 (ko) 주 전산기에서의 중재로직 방법
JPS63286949A (ja) バス制御方式
JPH06266657A (ja) 情報処理装置
JPH1055341A (ja) バスインタフェース制御方式
JPH05289987A (ja) バス権調停回路
KR19980026521A (ko) 멀티 포트 메모리 비동기 중재 방법
JP2504552B2 (ja) マルチプロセッサコンピュ―タシステムにおいてシステムリソ―スへの充分なアクセスを確保するコマンダノ―ド方法及び装置
JP2004062333A (ja) 画像処理装置
JPH064462A (ja) バス結合方式
JPH0281254A (ja) マルチプロセッサ制御装置
JPH11353286A (ja) マルチプロセッサおよびそのバス使用権の決定方法
JPH03167652A (ja) 共通資源へのアクセス競合制御方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031226