JP2009289269A6 - バッファメモリにおけるメモリの割り当て方法 - Google Patents

バッファメモリにおけるメモリの割り当て方法 Download PDF

Info

Publication number
JP2009289269A6
JP2009289269A6 JP2009129097A JP2009129097A JP2009289269A6 JP 2009289269 A6 JP2009289269 A6 JP 2009289269A6 JP 2009129097 A JP2009129097 A JP 2009129097A JP 2009129097 A JP2009129097 A JP 2009129097A JP 2009289269 A6 JP2009289269 A6 JP 2009289269A6
Authority
JP
Japan
Prior art keywords
input range
buffer
buffers
local
bus interface
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
JP2009129097A
Other languages
English (en)
Other versions
JP2009289269A (ja
Inventor
ヴェーバー カール
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.)
Siemens AG
Original Assignee
Siemens AG
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
Priority claimed from EP08009727A external-priority patent/EP2128725B1/de
Application filed by Siemens AG filed Critical Siemens AG
Publication of JP2009289269A publication Critical patent/JP2009289269A/ja
Publication of JP2009289269A6 publication Critical patent/JP2009289269A6/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】3つのバッファのうちその都度1つの占有が改善された自由度を可能にする方法を提供する。
【解決手段】処理ユニットおよびバスインターフェースを備えたモジュールの少なくとも3つのバッファを含むバッファメモリの割り当て方法において、各バッファが、「入力範囲ローカル」、「ローカル」、「入力範囲外部」および「外部」なる4つのステータスのうちの1つをとることができ、バスインターフェースか処理ユニットかのいずれかが3つのバッファのうちの1つを次の戦略によって占有することを試みる。すなわち、既に3つのバッファの1つが割り当てられている場合には、このバッファが使用され、そうでない場合には、「入力範囲外部」もしくは「入力範囲ローカル」なるステータスを持っているバッファの1つが使用され、そのために当該バッファに「外部」もしくは「ローカル」なる状態が割り当てられる。
【選択図】図4

Description

本発明は、処理ユニットおよびバスインターフェースを備えたモジュール、特に技術的プロセスの自動化の際に使用するために設けられたモジュールにおける少なくとも3つのバッファを含むバッファメモリの割り当て方法に関する。この種のモジュールは、技術的プロセスの制御装置または監視装置において、その際に使用されるアプリケーションと通信基盤設備との間のデータ交換のために設けられている。この種のデータ交換のためには、アプリケーションが停止されることなく高速かつ高密度のアクセスを可能にする資源が自由に使用可能にされなければならない。以下において、アプリケーションとは、モジュール上に設けられた処理ユニットのことを言い表す。処理ユニットは、例えばプロセッサであるか、またはプロセッサの機能を提供し、したがってアプリケーションの実行、すなわち自動化解決策の実行に用いるように決められかつそれに適している。
モジュールは好ましくはいわゆる分散周辺装置モジュールである。というのは、自動化技術において、それぞれの通信基盤設備、つまり例えばバス、とりわけフィールドバスにより相互に通信接続されている分散システムがますます使用されるからである。分散周辺装置モジュールによって、公知のやり方で、それぞれの技術的プロセスから入力信号が読み込まれ、ローカルに処理または前処理され、そして少なくとも部分的に上位のユニット、例えばプログラマブルコントローラの中央ユニット、ホストコンピュータなどに伝送される。その際に上位のユニットは受け取った入力信号を処理し、入力信号から場合によっては中央ユニット内部値を用いて出力信号を求める。出力信号は再び通信基盤設備を介して個別のまたは全体の分散周辺装置モジュールに伝送される。技術的プロセスへの作用は、周辺装置モジュールまたは個別の周辺装置モジュールが、この経路で受け取った出力信号をそれぞれの技術的プロセスに出力し、それにともなってプロセス内にあるアクチュエータ、例えばモータ、弁などに影響を与えることによって行なわれる。
技術的プロセスからの入力信号の読み込みおよび技術的プロセスへの出力信号の出力は、周辺装置モジュールにおいてそれに含まれている処理ユニットによりいわゆるサイク時間内に行なわれる。一般に、このサイクル時間は、それぞれの周辺装置モジュールに対する上位ユニットの2つのアクセス時間の間において経過する時間と明らかに相違する。したがって、入力信号および出力信号は即座に転送または処理されるのではなくて、周辺装置モジュールにおいて中間記憶されなければならない。そのためのバッファ回路は公知である(例えば、特許文献1参照)。この公知のバッファ回路の場合には、そこに示された周辺装置モジュールに含まれている一方での処理ユニットおよび他方でのバスインターフェースが、バッファメモリ内で、3つのメモリ領域(バッファ)のうちの1つを占有するので、どの時点でも処理ユニットおよびバスインターフェースのために確実に、バッファメモリ内において直接的に予め書き込まれたデータを上書きすることなく新たなデータを書き込むことができるバッファが使用され得る。しかしながら、前記特許文献1での試みに付随して現れる、一方での処理ユニットおよび他方でのバスインターフェースに対するその都度2つのバッファの固定の関係が、自由度に関して更に改善できることが分かった。
欧州特許第0843843号明細書
したがって、本発明の課題は、特許文献1から出発して、処理ユニットおよびバスインターフェースを備えたモジュールにおける少なくとも3つのバッファを含むバッファメモリの割り当て方法であって、その都度3つのバッファのうちの1つの占有が改善された自由度をもたらすようにした方法を提供することにある。
この課題は、請求項1において定義されている方法により解決される。そのために、処理ユニットおよびバスインターフェースを備えたモジュールの少なくとも3つのバッファを含むバッファメモリの割り当て方法であって、モジュールがバスインターフェースを介してデータを送出しまたは受け取り、処理ユニットによって、バスインターフェースを介して送出するためのデータを発生し、かつバスインターフェースを介して受け取ったデータを処理し、したがって一方でバスインターフェースが、他方で処理ユニットが、バッファメモリを介して進行させられる通信関係において、製作者もしくは使用者として働き、各バッファが、4つのステータス、すなわち「入力範囲ローカル」、「ローカル」、「入力範囲外部」および「外部」のうちの1つをとることができ、バスインターフェースか処理ユニットかのいずれかが(以下において、その都度「ユニット」とも呼ぶ。)、3つのバッファのうちの1つを次の戦略によって占有することを試み、既に3つのバッファの1つが割り当てられている場合には、このバッファが使用され、そうでない場合には、「入力範囲外部」(バスインターフェースによる占有の場合)もしくは「入力範囲ローカル」(処理ユニットによる占有の場合)なるステータスを持っているバッファの1つが使用され、そのために当該バッファに「外部」もしくは「ローカル」なる状態が割り当てられる。この場合に、常にバッファの1つがバスインターフェースに、そして他のバッファが処理ユニットに割り当てられている特許文献1における状況とは違って、バスインターフェースまたは処理ユニットに、またはバスインターフェースおよび処理ユニットに、一時的にバッファが割り当てられていないことも起こり得る。
「ローカル」および「外部」なるステータスは、特許文献1においてこの種のステータス管理が言及されてはいないが、既述の従来技術において遂行された占有戦略にほぼ対応する。そこにおいて処理ユニットかバスインターフェースかのいずれかがそこのバッファメモリのバッファの1つを占有するや否や、これらはこの種のステータスを受け付けたものと解釈される。占有されないバッファメモリは、例えば「フリー」と呼ばれ得る中間ステータスを持つ。それゆえ、ステータスの移行は、「ローカル」または「外部」から「フリー」への移行および「フリー」から「ローカル」または「外部」への移行が可能である。
本発明の場合には付加的なステータスが使用され、処理ユニットおよびバスインターフェースが必要な場合にのみその都度バッファメモリのバッファの1つを占有するのに対して、特許文献1の場合には処理ユニットおよびバスインターフェースが常に3つのバッファのうちの1つを占有する。バッファメモリの使用は、循環的に基本的には、先ず例えば処理ユニットがその都度のバッファを使用し、それからこれはバスインターフェースによって使用され、その後で再び処理ユニットによって使用されるというように行なわれる。処理ユニットかバスインターフェースかのいずれかが1つのバッファを占有するようになる前に、1つ以上のバッファが処理ユニットかバスインターフェースかのいずれかによる使用のためにフリー状態にされる。このようなバッファは、いわばその都度のユニットの「入力範囲」に割り当てられ、もちろんバッファの空間的配列は変更できないので、これは相応のステータス、すなわち「入力範囲ローカル」または「入力範囲外部」によって識別される。その都度の入力範囲からその都度のユニットが「セルフサービス」をする。その都度の入力範囲に相応のステータス授与によって割り当てられているバッファがない場合にだけ、例外処理が、例えば相補的なユニットの入力範囲から、まだ実行または処理されてないバッファのうちの1つが改めて占有され、それによりいわば取り戻される。
既に説明しかつ以下に更に説明する方法は、ソフトウェアにて実現されていることが好ましい。したがって、本発明は、個々の方法ステップまたは方法ステップ列を実行可能にするためのコンピュータプログラム命令を含むこの種の方法を実行するためのコンピュータプログラム、このようなコンピュータプログラムを有するデータ媒体およびこの種のコンピュータプログラムがロードされているコンピュータシステムにも関し、したがって冒頭に述べた如きモジュール、特にいわゆる分散周辺装置モジュール、あるいはここにまたは以下において詳細に説明されている機能を有するバッファメモリ割り当て論理を備えたモジュール内蔵のバッファメモリにも関する。
本発明の有利な構成は従属請求項の対象である。この場合に使用される従属関係は、その都度の従属請求項の特徴による主請求項の対象の更なる発展を指し示す。それらは、従属請求項の特徴組み合わせに関する独立した対象保護の獲得に対する放棄として理解すべきではない。更に、特許請求の範囲の解釈に顧慮して、下位に置かれた請求項における特徴のより詳しい具象化は、その都度先行する請求項にこの種の制限が存在しないことから出発している。
厳密に1つのバッファが状態「ローカル」を、厳密に1つのバッファが状態「外部」を、そして最大3つのバッファが状態「入力範囲ローカル」を、そして同様に最大3つのバッファが状態「入力範囲外部」を取ることができるならば十分であることが分かった。更に、このような解決策は、特許文献1に記載されているハードウェアの適合化なしに、したがってそこに既に設けられている3つのバッファを用いて使用可能であり、その限りでは、既存の自動化解決策に関しては完全にそこの通信基盤設備およびそれにともなって使用される周辺装置とともに使用可能である。
バスインターフェースか処理ユニットかのいずれかによる3つのバッファのうちの1つの占有に続いて、当該バッファに、バスインターフェースによる「外部」の占有の場合に「入力範囲ローカル」なる状態が、もしくは処理ユニットによる「ローカル」の占有の場合に「入力範囲外部」なる状態が割り当てられ、それにより相補的なユニットの入力範囲における転送が達成される。
「入力範囲外部」もしくは「入力範囲ローカル」なるステータスを持つバッファの使用時に、このステータスを持った使用可能なバッファが多数ある場合にはこのステータスを最も長く保持しているバッファが使用される。このやり方で、その都度のバッファにおいて1つのユニットから他のユニットへ転送されるデータがそれらの受取または発生の時点に応じて処理されることが保証される。
既に述べたバッファの取り戻しのためには次のようにすることが好ましい。すなわち、バスインターフェースにとって「入力範囲外部」ステータスを有するバッファが全く使用できない場合、そして処理ユニットにとって「入力範囲ローカル」なるステータスを有するバッファが全く使用できない場合に、バスインターフェースまたは処理ユニットが「入力範囲ローカル」もしくは「入力範囲外部」なるステータスを有する1つのバッファを占有し、しかもそこにおいてこのステータスを最も短い時間保持しているバッファを占有することである。それによって少なくとも製作者または使用者のために1つのバッファが使用可能にされ、最後に使用されたバッファ、すなわちその都度のステータスを最も短い時間保持しているバッファが取り戻され/再び使用されることによって、既に使用されたバッファの再度の使用が特に良好に代行可能であることが保証される。
どのバッファが特定のステータスを最も長くまたは最も短く保持しているかを認識するために、「入力範囲ローカル」または「入力範囲外部」なる状態を有する最大3つのバッファを管理すべくデータ構造が設けられていて、そのデータ構造によりそのような期間がデータ構造内の位置によってコード化可能である。この種のデータ構造の例は、例えばいわゆる「アレイ」様式による静的なデータ構造またはリスト様式、特に単純または二重リンクのリスト様式による動的なデータ構造のような領域である。当該バッファが特定のステータスを保持している時間に応じたバッファ使用の優先順位付けに類似して、バスインターフェースか処理ユニットかのいずれかによるバッファの占有に続いて、当該バッファに、「入力範囲ローカル」もしくは「入力範囲外部」なる状態が割り当てられ、データ構造内において最後の自由位置に登録される。これによってこの場合にもその都度のステータスの時間とデータ構造内における位置との間の相関がもたらされる。代替として、上述の4つの状態を8つの状態に拡張することも可能である。「入力範囲外部」および「入力範囲ローカル」なる両基礎状態のより細密表現化による状態の個数の増加は、例えば、「入力範囲ローカル1」、「入力範囲ローカル2」、「入力範囲ローカル3」および「入力範囲外部1」、「入力範囲外部2」、「入力範囲外部3」としてもたらされる。3つよりも多いバッファの場合には、常に設けられる基礎状態に基づいて、相応に増加された個数の個別状態がもたらされる。このような基礎状態の細密表現化の場合には、特定の状態の時間のコード化のために使用可能な(上述の如き)データ構造は省略可能である。例えば、最も長く「入力範囲ローカル」に割り当てられているバッファに「入力範囲ローカル3」が割り当てられ、これに対して「入力範囲ローカル2」なるステータスは2番目に長く「入力範囲ローカル」に割り当てられているバッファを示すという具合である。用意される割り当てが、バッファに状態(基礎状態または基礎状態の細密表現化)の1つが割り当てられるやり方で行なわれるか、それとも状態に1つのバッファが割り当てられるやり方で行なわれるかは重要なことではなく、全体的には等価である。
図1は分散周辺装置を含む自動化システム内でのデータ交換時における割り当て可能な資源として多数の内部形成されるバッファを有するバッファメモリを含む分散周辺装置を備えた技術的プロセスを制御するための自動化システムの概略図である。 図2はスイッチとして働く周辺装置に接続された多数の周辺装置を有する自動化システムの部分図である。 図3は自動化システムにおけるデータ転送時において図2に示されているようなスイッチでの有限の転送時間の場合に生じる時間的ずれを示す概略図である。 図4は内部形成されるバッファを有するバッファメモリとそれの占有および使用を示す概略図である。 図5はバッファメモリの使用時における瞬間を表わす概略図である。 図6はバッファメモリの使用時における他の瞬間を表わす概略図である。
以下において図面に基づいて本発明の実施例を説明する。互いに対応する対象または要素には全ての図において同じ符号が付されている。
実施例または各実施例は本発明の限定として解釈すべきではない。むしろここでの開示の枠内において数多くの変更および部分変更が可能であり、特に次のような変形および組み合わせが可能である。すなわち、例えば一般的または特殊な記載部分に関連して記載されかつ請求項または図面に含まれている個々の特徴もしくは要素または方法ステップの組み合わせまたは変形によって課題解決を顧慮して当業者にとって引き出し可能である変形および組み合わせであり、そして組み合わせ可能な特徴によって新たな対象または新たな方法ステップもしくは方法ステップ列をもたらす変形および組み合わせである。
図1は全体として10にて示されかつ概略的に示された自動化システムを示す。自動化システム10は、例えばプログラマブルコントローラの中央ユニットである上位ユニット12と、モジュールと呼ばれる1つ以上の周辺装置14,16とを含む。自動化システム10は詳しくは示されていない技術的プロセス18の制御ないし監視のために設けられている。更に、特に周辺装置14−16は、次のように技術的プロセス18とのデータ交換を行なう。すなわち、公知のやり方で、技術的プロセス18内に設けられた例えばリミットスイッチ、測定値検出器などの如きセンサからセンサ信号を入力信号として取得し、そして出力信号を技術的プロセス18内にある例えばモータ、弁などの如きアクチュエータに供給することによってデータ交換を行なう。
自動化システム10のユニット群、すなわち1つ以上の上位ユニットおよび各周辺装置14−16は、通信可能にそのために設けられた通信基盤設備、例えばバス、特にいわゆるフィールドバス20を介して接続されている。フィールドバス20は、ここでは、有り得るデータの流れを考慮して非常に簡略化されて図示されているにすぎない。
周辺装置14−16のうち1つのみが更に詳しく示されている。基本的に、本発明による方法への参加のために設けられているかぎり、周辺装置14−16の全てが同じまたは少なくとも同じような構成を持つ。したがって、自動化システム10は、データ交換が特許文献1に記載されている試みにしたがって行なわれる周辺装置も十分に含み得る。図1には周辺装置14−16の細部として処理ユニット22、バスインターフェース24およびバッファメモリ26が示されている。
図2は図1による自動化システム10の細部を簡略化して示し、特にこのような自動化システムが一般に多数の周辺装置14を含むことが示されている。図2には、自動化システム10がスイッチまたはルータとして働く少なくとも1つの周辺装置16を含んでいて、この周辺装置16に、フィールドバス20に属する4つのライン28,30,32,34において多数の周辺装置モジュール14が接続されていることが具体的に示されている。スイッチとして働く周辺装置16の入力側には、フィールドバス20を介して転送されるデータがパケット状に伝達されることが簡略化されて示されていて、このことが図2には4つのいわゆるフレーム36,38,40,42によって具体的に示されている。それによって含まれるデータを自動化システム10(図1)において分配するために、フレーム36−42がスイッチとして働く周辺装置16によって有限の時間にて順々に個々のライン28−34に与えられ、そこに接続されている周辺装置14によって受け取られる。
図3はそれに関してライン28−34(図2)へのフレーム36−42の伝送の際における瞬間描写を示し、図3におけるフレーム36−42の列状の配列は図2に示されたライン28−34に対応するものである。書き込まれた垂直線は、例えば上位のユニット12(図1)によって実行される自動化解決手法のサイクル時間44の開始および終了を具体的に示すものである。図3において、スイッチとして働く周辺装置16がフレーム36−42を有限な時間だけで個々のライン28−34へ転送することができるので、フレーム36−42によって含まれるデータの使用可能性に関する時間ずれが個々の周辺装置14においてもたらされることが明白である。これは、個々の周辺装置14が、他の周辺装置14がその後に続くバスサイクル44においてようやく受け取るフレーム36−42を既に受け取っているということをもたらす。これは、周辺装置14において存在するデータまたは周辺装置14から供給されるデータの同時性が保証され得ないことをもたらす。この作用の回避の可能性は、接続されている周辺装置14の全てについて、フレーム36−42によって含まれるデータが同じバスサイクル44の期間中に完全に受け取られることが保証され得るように、サイクル時間44を延長することにある。しかし、これは不利なやり方では事情によってはバスサイクルの著しい延長につながり、このことは、例えば調節過程において、減らされた個数の実際値しか取得できず、それによって再び調節過程の精度が被害を受けることをもたらす。今や、本発明により、全ての周辺装置モジュールにおいて、受け取られたフレーム36−42に基づいてそこで受け入られるデータが、次のような事態なしに同時処理が可能であるように中間記憶されることが可能である。すなわち、例えばまだ評価されていないデータが新たなデータによって上書きされ、それにより、確かに古くはなっているがそれでもなお調節過程の動特性を描出する測定値が評価されないという事態である。
図4は、そのために、周辺装置14−16(図1)に含まれているバッファメモリ26を示す。バッファメモリ26は、内部に形成される少なくとも3つのバッファ46,48,50を有する。バッファ46−50が、バスインターフェース24か処理ユニット22かのいずれかによる占有のために使用される。処理ユニット22は、以下において、「モジュールローカル」として解釈され、したがって、バッファ46−50の1つを処理ユニット22による使用または処理ユニット22のために使用可能であるということを示すステータスが「ローカル」もしくは「入力範囲ローカル」と呼ばれ、それに関して参照のために図では参照符号52および54が使用される。これとは違って、バスインターフェース24は、外部データが受け取られるかまたはデータが外部へ伝達されるかのいずれかであるので、区別のために「モジュール外部」として解釈され、個々のバッファメモリ46−50をバスインターフェース24による使用またはバスインターフェース24のために使用可能であるということを示すステータスが「外部」もしくは「入力範囲外部」と呼ばれ、それに関して参照のために図では参照符号56および58が使用される。
図4はそのために可能な構成設定を示す。この構成設定においては処理ユニット22がバッファ46−50を占有していて(ステータス:「ローカル」52)。他のバッファ46−50が処理ユニット22のために使用可能であり(ステータス:「入力範囲ローカル」54)、そして他のバッファ46−50がバスインターフェース24のために使用可能である(ステータス:「入力範囲外部」58)。基本的には、3つのバッファ46−50のどれがその都度使用されるかは重要ではないが、しかしもちろんその都度1つのバッファ46−50の排他的使用が本質的である。
例えば処理ユニット22が使用バッファ46−50の占有を放棄するや否や、当該バッファはステータスを先のステータス「ローカル」52から新しいステータス「入力範囲外部」58に変更し、したがってバッファは、いわばバスインターフェース24の「影響範囲」内に移行する。バスインターフェース24が(図4における表示から出発して)そこにおいて既にバスインターフェース24による使用のためにしるしを付けられたバッファ46−50を占有していなかった場合には、このステップ後にバスインターフェース24のために2つのバッファ46−50が使用される。図5はそれに基づいて生じる構成設定を示す。
定められた時点でバスインターフェース24がバッファ46−50の1つを占有し、そのために、ステータス「入力範囲外部」が割り当てられている1つのバッファ46−50を選択する。この選択の際に一般にこのステータスを最も長く保持しているバッファが優先される。例外のケース、例えば「入力範囲外部」がない場合、つまり「入力範囲外部」に属することを証明するステータスを持っているバッファが一つもない場合には、最後に入力範囲に登録されたバッファが選ばれる。最も簡単には、バッファ46−50が定められたステータスを保持する間の期間のコード化およびそれに基づく選択が次の場合に可能である。すなわち、その都度の状態の管理のために、この種の観点がコード化可能であるデータ構造、すなわち領域、リストなどが使用される場合である。図4および図5は、「入力範囲ローカル」54および「入力範囲外部」58のためのこのようなデータ構造の領域様相をグラフ表示することを、またはより細密表現化によってこれらの両基礎状態をグラフ表示することを既に試みた。グラフ表示は、同様にこの種の細密表現化であると理解することができる。
選択されるバッファ46−50がその都度のステータスを保持している期間に応じて、多数の使用可能なバッファ46−50からの、すなわち「入力範囲ローカル」54からかまたは「入力範囲外部」58からのバッファ46−50の選択後に、データ構造において、先ず最大の期間がコード化されている位置が自由にされるので、次に他のバッファ46−50の正しい受け入れのために、これらが状態を変更する場合には、このステータスを有するこれまでのバッファが最大の期間をコード化する位置の方向へ押しやられる(図6参照;そこにおいて特に破線の垂直矢印参照)。
簡単な関連付けのために、個々のステータスが「F」,「U」,「N」,「D」として示されていて、そのために用意されたデータ構造が「1」,「2」,「3」により示されている。
図3に示された状態へ転用するならば、これは、バスサイクル44内において完全には受け取られないデータのために、付加的なバッファ46−50が、ステータス「入力範囲ローカル」54または「入力範囲外部」58をとることを意味する。たとえデータがまだ読み取りまたは書き込みされていなくても、入力側または出力側のために、すなわち処理ユニット22またはバスインターフェース24のために常に1つのバッファ46−50が使用され、当該バッファにはステータス「入力範囲ローカル」54または「入力範囲外部」58を割り当てることができる。その都度のバッファ46−50に含まれているデータの処理をまだ行なうことができない場合には、複数のバッファ46−50を入力または出力する入力範囲(「入力範囲ローカル」54もしくは「入力範囲外部」58)に割り当てることもでき、しかも極端な場合にはバッファメモリ26に含まれる全てのバッファ46−50、したがって3つのバッファ46−50を割り当てることもできる。
したがって、本発明は次のとおり要約することができる。処理ユニット22およびバスインターフェース24を備えたモジュール14−16の少なくとも3つのバッファ46,48,50を含むバッファメモリ26の割り当て方法において、モジュール14−16がバスインターフェース24を介してデータを送出し、または受け取り、処理ユニット22によって、バスインターフェース24を介して送出するためのデータを発生し、かつバスインターフェース24を介して受け取ったデータを処理し、したがって一方でバスインターフェース24が、他方で処理ユニット22が、バッファメモリ26を介して進行させられる通信関係において、製作者もしくは使用者として働く。その際各バッファ46,48,50が、「入力範囲ローカル」54、「ローカル」52、「入力範囲外部」58および「外部」56なる4つのステータスのうちの1つをとることができ、バスインターフェース24か処理ユニット22かのいずれかが3つのバッファ46、48、50のうちの1つを次の戦略によって占有することを試みる。すなわち、既に3つのバッファ46、48、50の1つが割り当てられている場合には、このバッファ46、48、50が使用され、そうでない場合には、「入力範囲外部」58もしくは「入力範囲ローカル」54なるステータスを持っているバッファ46、48、50の1つが使用され、そのために当該バッファ46、48、50に「外部」56もしくは「ローカル」52なる状態が割り当てられる。
10 自動化システム
12 上位ユニット
14−16 周辺装置
18 プロセッサ
20 フィールドバス
22 処理ユニット
24 バスインターフェース
26 バッファメモリ
28−34 ライン
36−42 フレーム
44 バスサイクル時間
46−50 バッファ
52 ステータス「ローカル」
54 ステータス「入力範囲ローカル」
56 ステータス「外部」
58 ステータス「入力範囲外部」

Claims (10)

  1. 処理ユニット(22)およびバスインターフェース(24)を備えたモジュール(14−16)の少なくとも3つのバッファ(46,48,50)を含むバッファメモリ(26)の割り当て方法であって、
    モジュール(14−16)がバスインターフェース(24)を介してデータを送出し、または受け取り、処理ユニット(22)によって、バスインターフェース(24)を介して送出するためのデータを発生し、かつバスインターフェース(24)を介して受け取ったデータを処理し、したがって一方でバスインターフェース(24)が、他方で処理ユニット(22)が、バッファメモリ(26)を介して進行させられる通信関係において、製作者もしくは使用者として働き、
    各バッファ(46,48,50)が、「入力範囲ローカル」(54)、「ローカル」(52)、「入力範囲外部」(58)および「外部」(56)なる4つのステータスのうちの1つをとることができ、
    バスインターフェース(24)か処理ユニット(22)かのいずれかが3つのバッファ(46、48、50)のうちの1つを次の戦略によって占有することを試み、
    既に3つのバッファ(46、48、50)の1つが割り当てられている場合には、このバッファ(46、48、50)が使用され、
    そうでない場合には、「入力範囲外部」(58)もしくは「入力範囲ローカル」(54)なるステータスを持っているバッファ(46、48、50)の1つが使用され、そのために当該バッファ(46、48、50)に「外部」(56)もしくは「ローカル」(52)なる状態が割り当てられる方法。
  2. 厳密に1つのバッファ(46、48、50)が状態「ローカル」(52)を、厳密に1つのバッファ(46、48、50)が状態「外部」(56)を、そして最大3つのバッファ(46、48、50)が状態「入力範囲ローカル」(54)を、そして同様に最大3つのバッファ(46、48、50)が状態「入力範囲外部」(58)をとることができる請求項1記載の方法。
  3. バスインターフェース(24)か処理ユニット(22)かのいずれかによる3つのバッファ(46、48、50)のうちの1つの占有に続いて、当該バッファ(46、48、50)に「入力範囲ローカル」(54)もしくは「入力範囲外部」(58)なる状態が割り当てられる請求項1又は2記載の方法。
  4. 「入力範囲外部」(58)または「入力範囲ローカル」(54)なるステータスを持つバッファ(46、48、50)の使用時に、このステータスを持つ多数の使用可能なバッファ(46、48、50)がある場合には、このステータスを最も長く保持しているバッファ(46、48、50)が使用される請求項1乃至3の1つに記載の方法。
  5. バスインターフェース(24)または処理ユニット(22)が、「入力範囲外部」(58)もしくは「入力範囲ローカル」(54)なるステータスを有するバッファ(46、48、50)が全く使用できない場合に、「入力範囲ローカル」(54)もしくは「入力範囲外部」(58)を有する1つのバッファ(46、48、50)を占有し、しかもそこにおいてこのステータスを最も短い時間保持しているバッファを占有する請求項1乃至4の1つに記載の方法。
  6. どのバッファ(46、48、50)が特定のステータスを最も長くまたは最も短く保持しているかを認識するために、「入力範囲ローカル」(54)または「入力範囲外部」(58)なる状態を有する最大3つのバッファ(46、48、50)を管理すべくデータ構造が設けられていて、そのデータ構造によりそのような期間がデータ構造内の位置によってコード化可能である請求項4または5記載の方法。
  7. バスインターフェース(24)か処理ユニット(22)かのいずれかによるバッファ(46、48、50)の占有に続いて、当該バッファ(46、48、50)に、「入力範囲ローカル」(54)もしくは「入力範囲外部」(58)なる状態が割り当てられ、データ構造内において最後のフリーな位置に登録される請求項3および請求項6記載の方法。
  8. コンピュータプログラムがコンピュータ上で実行されるときに請求項1乃至7の1つに記載の方法を実行可能にするためのコンピュータによって実行可能なプログラムコード命令を備えたコンピュータプログラム。
  9. コンピュータによって実行可能な請求項8によるコンピュータプログラムを備えた記憶手段。
  10. 請求項8記載のコンピュータプログラムがロードされているコンピュータシステム
JP2009129097A 2008-05-28 2009-05-28 バッファメモリにおけるメモリの割り当て方法 Pending JP2009289269A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP08009727.2 2008-05-28
EP08009727A EP2128725B1 (de) 2008-05-28 2008-05-28 Verfahren zur Zuteilung von Speicher in einem Pufferspeicher

Publications (2)

Publication Number Publication Date
JP2009289269A JP2009289269A (ja) 2009-12-10
JP2009289269A6 true JP2009289269A6 (ja) 2010-02-18

Family

ID=39817021

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009129097A Pending JP2009289269A (ja) 2008-05-28 2009-05-28 バッファメモリにおけるメモリの割り当て方法

Country Status (4)

Country Link
US (1) US7979599B2 (ja)
EP (1) EP2128725B1 (ja)
JP (1) JP2009289269A (ja)
CN (1) CN101593155A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3013927B1 (fr) * 2013-11-22 2017-03-31 Schneider Electric Ind Sas Dispositif de commande pouvant se connecter a un reseau de communication reliant une interface de commande a un equipement

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3178474B2 (ja) * 1991-03-12 2001-06-18 横河電機株式会社 通信制御装置
DE19529718C2 (de) * 1995-08-11 2000-03-23 Siemens Ag Auf einer Baugruppe angeordnete Pufferschaltung
JP2001282650A (ja) * 2000-03-29 2001-10-12 Mitsubishi Electric Corp データバッファリング装置およびこのデータバッファリング装置を用いた分散制御システム
DE10048747B4 (de) * 2000-09-29 2007-05-10 Siemens Ag Verfahren und Verarbeiten von Prozesssignalen
JP2004272373A (ja) * 2003-03-05 2004-09-30 Mitsubishi Electric Corp バッファリング装置
US7707320B2 (en) * 2003-09-05 2010-04-27 Qualcomm Incorporated Communication buffer manager and method therefor
WO2008008662A2 (en) * 2006-07-11 2008-01-17 Harman International Industries, Incorporated External memory interface engine and serial communication input output interface engine

Similar Documents

Publication Publication Date Title
JP2011028720A (ja) ストレージシステムにおける電力割当てのための方法及び装置
CN103543954A (zh) 一种数据存储管理方法和装置
CN100533417C (zh) 片上系统的数据传输方法及直接存储器访问控制器
JP5888050B2 (ja) 半導体集積回路およびそのdma制御方法
US8549181B2 (en) Semiconductor memory device and method of operating the semiconductor memory device
JP5469066B2 (ja) データを交換する方法及びシステム
EP2704009B1 (en) Information processing apparatus, information processing method, and program
JP7394185B2 (ja) 通信システム
US9208008B2 (en) Method and apparatus for multi-chip reduced pin cross triggering to enhance debug experience
JP2009289269A6 (ja) バッファメモリにおけるメモリの割り当て方法
JP2009289269A (ja) バッファメモリにおけるメモリの割り当て方法
CN101939733A (zh) 外部设备存取装置、其控制方法及系统大规模集成电路
JP5456434B2 (ja) パイプ調停回路、パイプ調停方法
JP6981290B2 (ja) スレーブ装置、制御システム、レスポンスデータの通信方法、および、レスポンスデータの通信プログラム
CN105591729B (zh) 网络设备和用于网络设备中的时间戳获取方法
JP7047728B2 (ja) コントローラ、およびコントローラの制御方法
US8713205B2 (en) Data transfer device and data transfer method
CN112154419A (zh) 性能监测装置、方法、片上系统、可移动平台及相机
KR100819968B1 (ko) 반도체 메모리 시스템 및 반도체 메모리 칩
JP2010016764A (ja) 信号処理装置、信号処理方法及び中継装置
KR101660022B1 (ko) 버스 인터페이스 효율을 향상시키기 위한 장치 및 방법
JP2007241922A (ja) 共有資源利用のための調停方法及びその調停装置
JP6631370B2 (ja) マイクロコンピュータ及び電子制御装置
JP2022044302A (ja) 通信制御機器および通信制御機器の制御方法
CN117891761A (zh) 一种直接内存访问系统及数据搬运方法