JP5307796B2 - 処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路 - Google Patents
処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路 Download PDFInfo
- Publication number
- JP5307796B2 JP5307796B2 JP2010503778A JP2010503778A JP5307796B2 JP 5307796 B2 JP5307796 B2 JP 5307796B2 JP 2010503778 A JP2010503778 A JP 2010503778A JP 2010503778 A JP2010503778 A JP 2010503778A JP 5307796 B2 JP5307796 B2 JP 5307796B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- output
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1072—Decentralised address translation, e.g. in distributed shared memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
Description
この方法では、各プロセッサが用いる共有データの同一性を保つことが容易であるという利点がある一方で、プロセッサの数が増えるにつれ、共有メモリに対するアクセス競合が発生しやすくなり、システム全体の処理効率が低下してしまうという問題がある。
この問題を解決する方法として、プロセッサ毎に専用メモリを設け、各専用メモリにそれぞれ共有データの複製を格納し、各プロセッサは、自己の専用メモリにアクセスする方法(いわゆる疎結合マルチプロセッサシステム)が知られている(例えば、特許文献1、2)。
同図に示す専用メモリ3Aはプロセッサ1A用の、専用メモリ3Bはプロセッサ1B用の、専用メモリ3Cはプロセッサ1C用のメモリであり、各専用メモリには、共有データの複製を格納するための共有領域が予め確保されている。
例えば、プロセッサ1Aからのアクセス要求が共有領域に対する書き込み要求である場合には、書き込み対象のデータを専用メモリ3A〜3Cの各共有領域に書き込むようにバス選択回路5A〜5Cを制御する。また、プロセッサ1Aからのアクセス要求が共有領域以外の領域に対する書き込み要求や、いずれかの領域に対する読み出し要求である場合には、専用メモリ3Aのみにアクセスするようにバス選択回路5A〜5Cを制御する。
例えば、上述のプロセッサ1A〜1Cのうち、プロセッサ1Aと1Bとの間で共有する必要があり、プロセッサ1Cには不要であるデータであっても、そのデータは、プロセッサ1Cの専用メモリ3Cに格納されることになる。
また、前記処理装置は、更に前記共有データ記憶手段に記憶されているデータブロック毎に、ブロック識別情報と、当該データブロックの格納領域を示すアドレス情報とを対応付けて記憶する管理情報記憶手段を備え、前記出力手段は、前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が、前記管理情報記憶手段が記憶する各アドレス情報が示す格納領域のいずれかに対する書き込み要求である場合に前記出力を行い、前記入力手段は、外部処理装置により出力されたブロック識別情報と一致するブロック識別情報が前記管理情報記憶手段に記憶されている場合に肯定的な判定を行い、当該ブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを記憶させることとしてもよい。
また、前記管理情報記憶手段は、更に、前記共有データ記憶手段に記憶されているデータブロックのうち、外部処理装置により更新されるデータブロック毎に、当該データブロックの出力元である外部処理装置の装置識別情報を対応付けて記憶しており、前記出力手段は、前記出力の際に、更に自装置の装置識別情報を出力し、前記入力手段は、外部処理装置により出力された装置識別情報及びブロック識別情報と一致する装置識別情報及びブロック識別情報が前記管理情報記憶手段に対応付けて記憶されている場合にのみ前記肯定的な判定を行うこととしてもよい。
また、前記処理装置は、アクセス要求に基づいて、前記共有データ記憶手段に対するアクセスを行う共有データアクセス手段を備え、前記出力手段は、前記共有データ記憶手段に対する前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記共有データアクセス手段に送出し、前記入力手段は、肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込む旨のアクセス要求を前記共有データアクセス手段に送出し、前記共有データアクセス手段は、前記入力手段からアクセス要求を受領した場合において、前記出力手段からもアクセス要求を受領したときは、当該出力手段からのアクセス要求よりも先に、当該入力手段からのアクセス要求に基づくアクセスを行うこととしてもよい。
これにより、本発明に係る処理装置は、自装置が備えるプロセッサにより更新された管理情報記憶手段における情報に基づいて、外部処理装置とのデータ共有を行うことができるので、この情報を更新するための外部更新装置等を別途設けることなく、外部処理装置とのデータ共有を行うことができる。
また、前記アクセス制御手段は、アクセス要求を受領した場合に、当該アクセス要求に係るデータについての前記共有データ記憶手段上の格納領域が、前記バッファメモリに既に記憶されているデータについての当該共有データ記憶手段上の格納領域と一致するか否かに応じて、前記共有データ記憶手段と前記バッファメモリとのいずれかに対し当該アクセス要求に基づくアクセスを行うこととしてもよい。
ここで、アクセス後のデータとは、アクセス要求がデータの読み出し要求の場合には、バッファから読み出したデータのことをいい、アクセス要求がデータの書き込み要求の場合には、書き込み対象のデータのことをいう。
また、前記共有データ記憶手段は、1以上の外部処理装置と共有するデータブロックのうち、自装置のみが更新する1以上のデータブロックを記憶する第1メモリと、前記自装置のみが更新する1以上のデータブロック以外の外部処理装置と共有する1以上のデータブロックを記憶する第2メモリとを含み、前記処理装置は、更にアクセス要求に基づいて、前記第1メモリ又は前記第2メモリに対するアクセスを行うメモリアクセス手段とを備え、前記出力手段は、前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記メモリアクセス手段に送出し、前記入力手段は、肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込むためのアクセス要求を前記メモリアクセス手段に送出し、前記メモリアクセス手段は、前記第1メモリと第2メモリとに対し並行してアクセスすることが可能であり、前記入力手段からアクセス要求を受領した際に、前記出力手段からもアクセス要求を受領した場合において、当該出力手段からのアクセス要求に係るデータの格納領域が、前記第1メモリ上の格納領域であるときは、当該第1メモリに対し当該アクセス要求に基づくアクセスを行うのと並行して前記第2メモリに対し前記入力手段からのアクセス要求に基づくアクセスを行うこととしてもよい。
また、前記処理装置は、更に外部処理装置から出力されたデータを記憶するバッファメモリを備え、前記メモリアクセス手段は、前記第2メモリ上の格納領域に対するアクセス要求を受領した場合に、当該格納領域が、前記バッファメモリに既に記憶されているデータについての前記第2メモリ上の格納領域と一致するか否かに応じて、前記第2メモリと前記バッファメモリとのいずれかに対し当該アクセス要求に基づくアクセスを行うこととしてもよい。
また、各処理装置は、更に前記共有データ記憶手段に記憶されているデータブロック毎に、当該データブロックの出力元である処理装置の装置識別情報と、ブロック識別情報と、当該データブロックの格納領域を示すアドレス情報とを対応付けて記憶する管理情報記憶手段を備え、前記出力手段は、前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が前記管理情報記憶手段が記憶する各アドレス情報が示す格納領域のいずれかに対する書き込み要求である場合に前記出力を行うと共に、当該出力に係るブロック識別情報と対応付けて記憶されている装置識別情報を前記共通バスに出力し、前記入力手段は、他の処理装置により出力された装置識別情報及びブロック識別情報と一致する装置識別情報及びブロック識別情報が前記管理情報記憶手段に対応付けて記憶されている場合に肯定的な判定を行い、当該ブロック識別情報と対応付けられているアドレス情報が示す格納領域に、他の処理装置により出力されたデータを記憶させ、いずれか一の処理装置における前記プロセッサは、既定のプログラムを実行することにより、各管理情報記憶手段に記憶する各情報を生成し、各処理装置に記憶させることとしてもよい。
≪実施の形態1≫
<構成>
まず、実施の形態1に係る処理システム1000の構成について説明する。
図1は、実施の形態1に係る処理システム1000のシステム構成図である。
なお、同図では、5つの計算機(100A〜100E)を図示しているが、これは一例であり、計算機の数は同図に示す例に限られず、2つ以上であればいくつでもよい。また、同図では各計算機は各メモリと1対1に接続する例を示しているが、2以上のメモリと接続していてもよい。これらの点については、以下の各実施の形態においても同様である。
各メモリ(110A〜110E)は、接続先の計算機内の各プロセッサが用いるプログラムやデータを記憶するものであり、このデータには、接続先の計算機のみが使用するデータと、計算機間で共有する共有データとが含まれる。
各計算機は同様の構成を有するため、以下では、計算機100Aを例に説明する。
計算機100Aは、プロセッサ120A〜120Cと、調停部130と、出力管理部140と、入力管理部150と、選択部160と、メモリ制御部170とを備える。
このメモリアクセス要求信号は、アクセス種別(読み出し又は書き込み)やアクセス対象となるメモリ110A上の格納領域のアドレスを指定する信号であり、特にアクセス種別が「書き込み」の場合には、書き込み対象データを含むものである。
なお、調停部130は、出力管理部140に送出するメモリアクセス要求信号が、メモリ110Aからデータを読み出すことを要求する読み出し要求信号(つまりアクセス種別が「読み出し」であるメモリアクセス要求信号)である場合には、その読み出し要求信号の送出と共に、その要求元であるプロセッサの識別情報を送出する。
出力管理部140は、調停部130から受領したメモリアクセス要求信号等を選択部160に送出すると共に、特に、このメモリアクセス要求信号が共有データに対する書き込みを要求する書き込み要求信号(つまりアクセス種別が「書き込み」であるメモリアクセス要求信号)である場合に、書き込み対象データ及びこのデータの識別情報等を共通バス101に出力する回路である。なお、この出力は、共通バス調停部102から共通バス101の使用権を得た後に行う。出力管理部140の構成(図2参照)については後に詳しく説明する。
次に、出力管理部140の構成について説明する。
図2は、出力管理部140の機能ブロック図である。
同図に示すように、出力管理部140は、出力管理情報保持部141と、内部バス制御部142と、出力判定部143と、共通バス制御部144とを備える。
内部バス制御部142は、調停部130から受領したメモリアクセス要求信号を出力判定部143に送出する機能と、出力判定部143の指示に従って、受領しているメモリアクセス要求信号等を選択部160へ送出する機能と、このメモリアクセス要求信号に含まれる書き込み対象データを共通バス101に出力する機能とを有する。
より詳細には、メモリアクセス要求信号が共有データに対する書き込み要求信号である場合には、書き込み対象データの識別情報等を共通バス制御部144に送出し、共有データに対する書き込み要求信号でない場合には、メモリアクセス要求信号等の選択部160への送出を指示する信号を内部バス制御部142に送出する。
共通バス制御部144は、出力判定部143から書き込み対象データの識別情報等を受領する毎に、共通バス調停部102から共通バス101の使用権を得て、この識別情報等を共通バス101に出力すると共に、この識別情報等を出力した旨の出力完了信号を出力判定部143に送出する機能を有する。
図3は、入力管理部150の機能ブロック図である。
同図に示すように、入力管理部150は、入力管理情報保持部151と、入力判定部152と、内部バス制御部153とを備える。
ここで、入力管理情報保持部151は、入力管理情報テーブル190(図4(b)参照)を記憶するためのメモリ領域である。入力管理情報テーブル190については、後述する。
<データ>
各計算機により使用されるデータを、計算機100Aの場合を例に説明する。
まず、出力管理情報テーブル180について説明する。
図4(a)は、出力管理情報テーブル180のデータ構成及び内容例を示す図である。
出力管理情報保持部141に記憶されている出力管理情報テーブル180は、同図に示すように、自機が他の計算機に対し送出すべき共有データ毎に、Valid181、Master ID182、Data ID183、Start Address184、End Address185を対応付けて構成される情報である。
出力管理情報テーブル180は、計算機内のプロセッサからのメモリアクセス要求信号が共有データに対するメモリアクセス要求信号であるか否かを出力判定部143が判定する際に用いられる。
Master ID182は、対応する共有データを共通バス101へ送出する計算機の識別情報であり、以下では、一例として、計算機100A〜100EのMaster IDが「0」〜「4」であるものとして説明する。
Data ID183は、対応する共有データの識別情報であり、他のData IDとは重複しないものである。
同図は、例えば、メモリ110AにおいてStart Addressが「0x0000」で、End Addressが「0x00ff」である格納領域に格納されているデータは他の計算機に送出すべき共有データであり、そのData IDは「0」であり、このデータを共通バス101へ出力する計算機のMaster IDは「0」(つまり計算機100A)であることを示している。
出力管理情報テーブル180へのデータの登録は、まず、処理システム1000の運用開始前に行われる。
具体的には、処理システム1000における任意の計算機内の1つのプロセッサが、自機が接続するメモリに記憶されているプログラムを実行することにより、各計算機の出力管理情報テーブル180に登録すべき出力管理情報を生成し、各計算機を相互に接続するテーブル設定用のバス(不図示)を介して、各計算機の出力管理情報テーブル180に有効な出力管理情報(つまり、Validが「1」)を登録する。この出力管理情報の生成は、Master ID及びData IDの組み合わせが、他のMaster ID及びData IDの組み合わせと重複しないように行われる。
次に、入力管理情報テーブル190について説明する。
図4(b)は、入力管理情報テーブル190のデータ構成及び内容例を示す図である。
入力管理情報保持部151に記憶されている入力管理情報テーブル190は、同図に示すように、自機が他の計算機から受領すべき共有データ毎に、Valid191、Master ID192、Data ID193、Start Address194、End Address195を対応付けて構成される情報である。
入力管理情報テーブル190は、他の計算機によって共通バス101に出力された書き込み対象データを受領すべきか否かを入力判定部152が判定する際に用いられる。
他の計算機により共通バス101に出力された共有データのうち、Validが「1」である入力管理情報に対応する共有データが、メモリ110Aに記憶されることになる。
同図は、例えば、Master IDは「1」(つまり、計算機100B)であり、Data IDは「0」であるデータは、自機が他の計算機から受領すべき共有データであり、この共有データは、メモリ110AのStart Addressが「0x0000」で、End Addressが「0x007f」である格納領域に格納されることを示している。
<動作>
次に、上記構成を備え、上記データを取り扱う各計算機の動作を説明する。
<出力管理部の動作>
まず、出力管理部140による出力判定処理について説明する。
なお、以下のステップS100〜S108の処理は繰り返し実行されるものとする。
出力管理部140の出力判定部143は、内部バス制御部142を介して調停部130からメモリアクセス要求信号を受領したか否かを判定し(ステップS100)、受領していない場合には(ステップS100:NO)、何も行わず出力判定処理を終了する。
例えば、書き込み先のアドレスが「0x0001」である場合に、このアドレスは、図4(a)に示す出力管理情報テーブル180において、Start Address「0x0000」とEndAddress「0x00ff」との範囲に含まれるので、肯定的な判定がなされることになる。また、書き込み先のアドレスが「0x0400」である場合には、このアドレスは、出力管理情報テーブル180における有効な出力管理情報のいずれのStart AddressとEndAddressとの範囲にも含まれないので、否定的な判定がなされることになる。
続いて、Master ID等を受領した共通バス制御部144は、共通バス101の使用権を得るために、共通バス調停部102に共通バスアクセス要求信号を送出する(ステップS104)。この共通バスアクセス要求信号を受領した共通バス調停部102は、共通バス101に対しデータの送出を要求する各計算機からの要求を調停の上、この受領した共通バスアクセス要求信号の送信元である計算機に共通バス101の使用権を与える旨の共通バスアクセス許可信号を送信する。
一方、共通バスアクセス許可信号を受領した場合には(ステップS105:YES)、共通バス制御部144は、出力判定部143から受領しているMaster ID、Data ID、及びオフセットを共通バス101に出力すると共に、Master ID等を出力した旨の出力完了信号を出力判定部143に送出する(ステップS106)。
次に、入力管理部150による入力判定処理について説明する。
図6は、入力管理部150による入力判定処理を示すフローチャートである。
なお、以下のステップS110〜S115の処理は繰り返し実行されるものとする。
入力管理部150の入力判定部152は、他の計算機から共通バス101上にMaster ID等が出力されているか否かを判定し(ステップS110)、出力されていない場合には(ステップS110:NO)、何も行わず入力判定処理を終了する。
入力判定部152は、受領したMaster ID及びData IDに基づいて、他の計算機から共通バス101に出力された書き込み対象のデータが、自機が受領すべき共有データであるか否かを判定する(ステップS112)。
例えば、受領したMaster IDが「1」、Data IDが「0」である場合には、図4(b)に示す入力管理情報テーブル190に該当の入力管理情報が登録されているので、肯定的な判定がなされることになる。また、例えば、受領したMaster IDが「1」でData IDが「2」である場合には、該当の入力管理情報が登録されていないので否定的な判定がなされることになる。
<選択部及びメモリ制御部の動作>
次に、選択部160によるメモリアクセス要求信号の送出処理とメモリ制御部170によるメモリアクセス処理とについて説明する。
まず、選択部160の処理について説明する。
なお、以下のステップS120〜S124の処理は繰り返し実行されるものとする。
選択部160は、出力管理部140と入力管理部150との両方からメモリアクセス要求信号(入力管理部150については、特に書き込み要求信号である)を受領したか否かを判定し(ステップS120)、受領した場合には(ステップS120:YES)、まず、入力管理部150からのメモリアクセス要求信号をメモリ制御部170に送出する(ステップS121)。
一方、ステップS120において、出力管理部140と入力管理部150との両方からはメモリアクセス要求信号を受領していない場合には(ステップS120:NO)、選択部160は、出力管理部140と入力管理部150とのいずれか一方からメモリアクセス要求信号を受領しているか否かを判定する(ステップS123)。
なお、以下のステップS130、S131の処理は繰り返し実行されるものとする。
メモリ制御部170は、選択部160が送出したメモリアクセス要求信号(上述のステップS121、S122、S124で送出したもの)を受領したか否かを判定し(ステップS130)、受領していない場合には(ステップS130:NO)、何も行わずメモリアクセス処理を終了する。
まず、実施の形態1に係る処理システム1000を、MPEG(Moving Picture Experts Group)のデコード機能を有するデジタル放送受信器1000Aに適用した例を説明する。
<構成>
図8は、適用例1に係るデジタル放送受信器1000Aの構成図である。
なお、以下では、説明を簡略化するために、各計算機は1つのプロセッサ120Aのみを備えるものとすると共に、共通バス調停部102による共通バス101の使用権の調停処理については、ここでは特に言及しないものとする(同図においても省略している)。
即ち、計算機100Aは、アンテナからチューナを介して受信したMPEGストリーム(符号化ストリーム)から、AudioデータとVideoデータとを切り出し、Audioデータのデコード処理と、デコードされたAudioデータをスピーカに出力させる処理を行う機能を有する。
一般的に、Videoデータのデコード処理はAudioデータのデコード処理と比較して演算量及び処理データ量が多い。従って、本適用例では、3つの計算機100B〜100Dが、Videoデータのデコード処理を分担して行うこととしている。具体的には、図9に示すように、1つの画像(フレーム)を垂直方向に3等分したV1領域を計算機100Bが、V2領域を計算機100Cが、V3領域を計算機100Dがそれぞれデコードする。
<各メモリ上のデータ>
次に、図8に基づいて、各メモリに格納されるデータについて説明する。
同図の各メモリの左側に表記されている0及びアルファベットは、各メモリにおけるアドレス値を示している。例えば、メモリ110Aにおいては、StAの格納領域は0〜a−1番地であることを示している。なお、この適用例では、各メモリの「0」番地から各データを格納するものとして説明しているが、これは一例であり、任意のアドレスに各データを格納してもよい。これらの点については、以降の各適用例においても同様である。
また、メモリ110AにおけるStV1、StV2、StV3それぞれは、計算機100Aが受信したMPEGストリームから切り出したVideoデータを各領域(V1〜V3領域)に対応するように分割した分割Videoデータである。
また、メモリ110BにおけるDecV1は、計算機100Bがメモリ110BにおけるStV1をデコードした結果であるデコード後の分割Videoデータを示している。また、メモリ110CにおけるDecV2及びメモリ110DにおけるDecV3も、計算機100C、100DそれぞれがStV2、StV3をデコードした結果であるデコード後の分割Videoデータを示している。
また、一般的に、MPEGにおけるVideoストリームのデコード処理では、動き補償処理やデブロックフィルタ処理などのために、デコード済みの画像データの参照が必要になる。
ここで、計算機100B〜100Dそれぞれが分担している領域(V1〜V3領域)をデコードする際に、どの範囲のデコード済み画像を参照する必要があるかは、一般的に、符号化の際に指定されたプロファイルとレベルで規定される動きベクトルの最大値により決定されるが、ここでは説明の簡略化のため、隣接する全ての領域の分割画像を参照すると仮定して説明を行う。
<管理情報テーブル>
次に、各計算機が保持する出力管理情報テーブル180と入力管理情報テーブル190の内容例を説明する。
例えば、同図に示す計算機100Aにおける出力管理情報テーブル180の出力管理情報186は、メモリ110Aにおいて、Start Addressが「a」で、End Addressが「b−1」である格納領域に格納されている共有データ(つまり、StV1)のData IDは「0」であり、この共有データを送信する計算機のMaster IDは「0」(つまり計算機100A)であることを示している。
また、計算機100Bは、DecV1をメモリ110Bに、計算機100CはDecV2をメモリ110Cに、計算機100DはDecV3をメモリ110Dにそれぞれ書き込む際に、これらのデータを、対応するMaster ID等と共に共通バス101に出力することになる。
例えば、同図に示す計算機100Bにおける入力管理情報テーブル190の入力管理情報196は、Master IDは「0」(つまり、計算機100A)であり、Data IDは「0」であるデータ(つまり、StV1)は自機が他の計算機から受領すべき共有データであり、この共有データは、メモリ110BのStart Addressが「0」で、End Addressが「f−1」である格納領域に格納されることを示している。
また、同様に、計算機100Cは、共通バス101にStV2、DecV1、DecV3が出力されると、計算機100Dは、StV3、DecV2が出力されると、計算機100Eは、DecV1、DecV2、DecV3が出力されるとこれらをそれぞれのメモリの対応する領域に書き込むことになる。
<従来との比較>
以下、従来の方法(特許文献1等の方法)により各計算機がデータを共有するデジタル放送受信器10Aにおいて、各メモリに保持されるデータを説明する。
同図に示す計算機6A〜6Eの機能は、上述の計算機100A〜100Eと同様であり、メモリ7A〜7Eも上述のメモリ110A〜110Eと同様のメモリである。
従来の方法では、システム全体で必要となる全ての共有データを全てのメモリに格納するので、同図に示すように、システム全体の共有データ(StV1、StV2、StV3、DecV1、DecV2、DecV3)が各メモリに格納される。
また、例えば、計算機6AがStV2をメモリ7Aに書き込む際に、このStV2が各メモリに書き込まれることになるので、各メモリに対する接続先の計算機からのアクセスと競合が生じる可能性が高まる。
各計算機は、必要なデータのみを各メモリに格納するので、領域が無駄に消費されることはなく(図8参照)、かつ無駄なアクセス競合も生じない。
<適用例2>
次に、実施の形態1で説明した各計算機間のデータ共有方法を、上述のデジタル放送受信器1000Aにおける各計算機の同期制御に適用した例を説明する。
まず、各メモリに格納されるデータについて説明する。
図13(a)は、適用例2に係るデジタル放送受信器1000Aの各メモリにおけるデータ配置を示す図である。
なお、上述の適用例1に係るデジタル放送受信器1000Aは、5つの計算機(100A〜100E)を備えるものとして説明したが、以下では、4つの計算機100A〜100Dを備えるものとして説明する。
なお、各フラグは「0」又は「1」の値を取るものとして説明しているが、これは一例であり、他の値であってもよい。
次に、各計算機が保持する出力管理情報テーブル180と入力管理情報テーブル190の内容例を説明する。
図14(a)は、適用例2に係る各計算機における出力管理情報テーブル180の内容例を示す図である。
また、計算機100B〜100Dは、それぞれStatus flag1〜3を書き込む際に、これらのデータを、対応するMaster ID等と共に共通バス101に出力することになる。
同図に示すように、各計算機における入力管理情報テーブル190を設定することにより、計算機100B、100C、100Dは、共通バス101にStart flagが出力されるとこれを受領し、メモリ110BのStatus flag1の領域に、メモリの110CのStatus flag2の領域に、メモリ110DのStatus flag3の領域にそれぞれ書き込むことになる。
<動作>
以下、各計算機の動作を具体的に説明する。
なお、同図では、データの流れを矢印で示し、各メモリ内のデータのうち、書き込まれたデータを太字で表記している。これは、以下の各適用例においても同様である。
計算機100Aは、計算機100B〜100Dに同期処理を実行させる必要が生じた場合に、まず、メモリ110Aに格納されているEnd flag1〜3が「0」であること、つまり、計算機100B〜100Dが同期処理を実行中でないことを確認する(同図(a)参照)。
計算機100B〜100Dそれぞれは、共通バス101に出力されているMaster ID「0」、Data ID「0」と、自機が記憶する入力管理情報テーブル190とに基づいて、このStart flag「1」を受領する判定を行い、メモリ110B〜110DのStatus flag1〜3の各領域に「1」を書き込む(同図(b)参照)。
最後に計算機100Aは、メモリ110Aに格納されているEnd flag1〜3が「0」であること、つまり、計算機100B〜100Dが同期処理を完了したことを確認する。
図13(b)は、従来方式によりデータを共有するデジタル放送受信器10Aにおける各計算機に同期処理を行わせる場合の各メモリにおけるデータ配置を示す図である。
これと比較して、デジタル放送受信器1000Aは、同図(a)に示すように、各メモリの格納領域に無駄が生じておらず、また、無駄な書き込みが行われないので、無駄なアクセス競合が生じないといえる。
例えば、計算機100Bと100Cのみに同期処理を行わせ、計算機100Dには行わせない場合には、計算機100Dが保持する入力管理情報テーブル190におけるStatus flag3についての入力管理情報を無効にすればよい(Validを「0」に設定する)。
例えば、計算機100Bと100Cとには同じタイミングT1で、計算機100Dはこれとは異なるタイミングT2で同期処理を開始させる場合に、計算機100Aは、タイミングT1用のStart flag1と、タイミングT2用のStart flag2をメモリ110Aに格納するようにし、それぞれを「1」に更新したときに共通バス101に出力するように、計算機100Aの出力管理情報テーブル180を設定しておく。
<適用例3>
次に、実施の形態1に係る処理システム1000を、各計算機が他の計算機の処理結果を用いて処理を行う連携処理システムに適用した例を説明する。
<連携処理の流れ>
図16は、適用例3における連携処理の流れを説明するための図である。
なお、以下では、処理A〜Dを、それぞれ計算機100A〜100Dが行うものとして説明する。また、計算機100Dによる処理Dが完了すると、計算機100Aは、次の処理Aを開始するものとする。
図17(a)は、適用例3に係る各メモリのデータ配置を示す図である。
ここで、各メモリにおけるStatus0〜3は、各計算機に対応する処理を開始させるための起動フラグであり、各計算機は、このフラグが自機のMaster IDと一致する場合に対応する処理を開始し、その処理が完了すると次の処理を行う計算機のMaster IDを書き込む。
<管理情報テーブル>
図18(a)は、適用例3に係る各計算機の出力管理情報テーブル180の内容例を示す図である。
図18(b)は、適用例3に係る各計算機の入力管理情報テーブル190の内容例を示す図である。
<動作>
図19は、適用例3に係る各計算機の動作を説明するための図である。
計算機100Aは、処理Aを完了すると、メモリ110Aの該当領域にData0を書き込むと共に、自機が記憶する出力管理情報テーブル180に基づいて、共通バス101にData0を出力する(Master ID「0」、Data ID「1」等も共に出力する)。
その後、計算機100Aは、メモリ110AのStatus0の領域に「1」を書き込むと共に、自機が記憶する出力管理情報テーブル180に基づいて、共通バス101にStatus0「1」を出力する(Master ID「0」、Data ID「0」等も共に出力する)。
この結果、計算機100Bは、Status1が自機のMaster ID「1」と一致するので処理Bを開始し、処理Bが完了すると、メモリ110Bの該当領域にData1を書き込むと共に、自機が記憶する出力管理情報テーブル180に基づいて、共通バス101にData1を出力する(Master ID「1」、Data ID「1」等も共に出力する)。
その後、計算機100Bは、メモリ110BのStatus1の領域に「2」を書き込むと共に、自機が記憶する出力管理情報テーブル180に基づいて、共通バス101にStatus1「2」を出力する(Master ID「1」、Data ID「0」等も共に出力する)。
<従来との比較>
図17(b)は、従来方式によりデータを共有して連携処理を行う連携処理システムにおける各メモリのデータ配置を示す図である。
なお、本適用例においては、説明を簡略化するために、処理A→処理B→処理C→処理Dといったように順番に連携処理を行うものとして、各メモリに1世代分のStatusとDataを格納する領域を設ける例を説明したが、複数世代分のStatusとDataとを格納するようにして各計算機が各処理を並列して行うようにすることも可能である。
上述の適用例3に係る連携処理システムに、定常時においてアイドル状態である計算機100Eを加え、他の計算機100B〜100Dの処理負荷に応じて、その計算機の処理の一部をこの計算機100Eが分担する例を説明する。
図20は、適用例4に係る各計算機の動作を説明するための図である。
なお、同図は、計算機100Aが処理Aを完了し、Data0を共通バス101に出力した後の状態を示しており、計算機100Aの図示を省略している。
同図(a)に示すように、定常時においては、計算機100B〜100Dがそれぞれ処理B〜Dを行っており、計算機100Eはアイドル状態である。
図21(a)は、適用例4に係る定常時における各計算機の出力管理情報テーブル180の内容例を示す図である。
同図に示すように、各計算機における出力管理情報テーブル180を設定することにより、計算機100B、100Cは、それぞれData1、Data2を書き込む際に、このData1、Data2を、対応するMaster ID等と共に共通バス101に出力することになる。
なお、同図においても、計算機100Aの入力管理情報テーブル190の記載を省略している。
同図に示すように、各計算機における入力管理情報テーブル190を設定することにより、計算機100B〜100Dは、それぞれ共通バス101にData0〜Data2が出力されるとこれを受領し、メモリ110B〜110Dの対応する領域に書き込むことになる。
その後、処理に必要なData1が、計算機100Eのメモリ110Eに蓄積されると、図21(d)、(e)に示すように、計算機100Dの入力管理情報テーブル190に入力管理情報197を登録し、また、計算機100Eの出力管理情報を登録する。
なお、処理Cを計算機100Cと100Eが分担して行う際に、例えば、Data1を2等分した前半部分を用いて計算機100Cが処理Cを行ってData2の前半部分を出力し、Data1の後半部分を用いて計算機100Eが処理Cを行ってData2の後半部分を出力するものとする。つまり、計算機100Cから出力されるData2の前半部分と計算機100Eから出力されるData2の後半部分とをあわせてData2を構成するように、メモリ110Dの対応する領域に書き込まれることになる。
また、定常時において計算機100Eは、他の計算機100A〜100Cが共通バス101に出力したデータをメモリ110Eに書き込むことはないので、定常時に、計算機100A〜100Dとのデータの授受を必要としないような処理を計算機100Eに実行させるようにした場合には、計算機100Eは、メモリ110Eの格納領域を専有し、かつアクセス競合を生じることなく効率的に処理を行うことができる。
また、本適用例では、計算機100Eは、定常時においては、他の計算機100A〜100CからのData0〜2を受領しないよう、計算機100Eの入力管理情報テーブル190を設定していたが、定常時においても受領するようにしておいてもよい。計算機100C、100Dにおいても、それぞれ計算機100EからData1、Data2及び3を受領するように、計算機100C、100Dの入力管理情報テーブル190を設定してもよい(図22(a)、(b)参照)。
これにより、計算機100A〜100Cが生成した最新のData0〜2が計算機100Eのメモリ110Eに常時反映されるため、計算機100Eが処理B〜Dのいずれの分担処理を開始する際にも、出力管理情報テーブル180及び入力管理情報テーブル190を設定しなおす必要がなく、より高速に分担処理を開始させることができる。
実施の形態1で説明した各計算機間のデータ共有方法を、各計算機の初期化処理に適用した例を説明する。
<各メモリ上のデータ配置>
図23(a)は、適用例5に係る各メモリのデータ配置を示す図である。
図23(b)は、適用例5に係る各計算機の出力管理情報テーブル180の内容例を示す図である。
同図に示すように、各計算機における出力管理情報テーブル180を設定することにより、計算機100Aは、Init all、Init1〜3、Init12、Init23、Init31をメモリ110Aに書き込む際に、これらを、対応するMaster ID等と共に共通バス101に出力することになる。
図23(c)は、適用例5に係る各計算機の入力管理情報テーブル190の内容例を示す図である。
上述のように、各計算機の出力管理情報テーブル180及び入力管理情報テーブル190を設定することによって、計算機100Aが各初期データ(Init all、Init1〜3、Init12、Init23、Init31)をメモリ110Aに書き込むだけで、メモリ110B〜110Dに他の計算機(100B〜100D)が使用する初期データがそれぞれ書き込まれることになるため、システム全体の初期化を高速に行うことができる。
即ち、マルチプロセッサシステムにおいて、外部記憶装置と接続するためのインタフェース部を計算機100Aのみに設ければ足りるため、システム全体のコストを削減することができる。
≪実施の形態2≫
実施の形態1に係る各計算機の選択部160は、出力管理部140からのメモリアクセス要求信号と入力管理部150からの書き込み要求信号との両方を受領した場合に、入力管理部150からの書き込み要求信号を優先的にメモリ制御部170に送出するものとして説明した。
そこで、以下では、各計算機に、入力管理部150からの書き込み要求に係るデータ等を一時的に格納するためのバッファを設けることにより、計算機内のプロセッサからのメモリアクセスをより高速に行わせるように変えた一実施例を、上述の実施の形態1からの変更部分を中心に説明する。
図24は、実施の形態2に係る処理システム1100のシステム構成図である。
処理システム1100は、同図に示すとおり、実施の形態1に係る処理システム1000における各計算機に代えて、計算機200A〜200Cを備える。
計算機200A〜200Cはそれぞれ、実施の形態1に係る各計算機の選択部160に代えて共有データ制御部220を備え、更にバッファ210を備える。
ここで、バッファ210は、共有データ制御部220が入力管理部150を介して受領した書き込み要求信号に係るデータを一時的に記憶するためのメモリ領域である。より詳細には、共有データ制御部220により、書き込み対象データと、そのデータを書き込む先となるメモリ110Aのアドレスと、そのデータがメモリ110Aへの書き込みが完了しているか否かを示すフラグとが対応付けて記録される。
<動作>
以下、共有データ制御部220の動作を説明する。
なお、以下のステップS201〜S216の処理は繰り返し実行されるものとする。
共有データ制御部220は、出力管理部140からメモリアクセス要求信号を受領したか否かを判定し(ステップS201)、受領した場合には(ステップS201:YES)、そのアクセス要求に係るメモリ110A上のアドレスが一致し、かつ、メモリ110Aへの書き込みが完了していないデータがバッファ210に格納されているか否かを判定する(ステップS202)。より詳細には、アクセス要求に係るメモリ110A上のアドレスと一致するアドレス及びメモリ110Aへの書き込みが完了していない旨のフラグと対応付けられているデータがバッファ210に格納されている場合にのみ肯定的な判定を行う。
続いて、共有データ制御部220は、入力管理部150から書き込み要求信号を受領したか否かを判定し(ステップS204)、受領していない場合には(ステップS204:NO)、アクセス制御処理を終了し、受領した場合には(ステップS204:YES)、入力管理部150からの書き込み要求信号に含まれる書き込み対象データと、対応するメモリ110Aのアドレスと、書き込みが完了していない旨を示すフラグとを対応付けてバッファ210に書き込み(ステップS205)、アクセス制御処理を終了する。
また、ステップS201において、出力管理部140からメモリアクセス要求信号を受領していない場合には(ステップS201:NO)、共有データ制御部220は、入力管理部150からメモリアクセス要求信号(書き込み要求信号)を受領したか否かを判定し(ステップS210)、受領していない場合には(ステップS210:NO)、メモリ110Aへの書き込みが完了していないデータがバッファ210に格納されているか否かを判定する(ステップS211)。より詳細には、メモリ110Aへの書き込みが完了していない旨のフラグと対応付けられているデータがバッファ210に格納されている場合に肯定的な判定を行う。
また、ステップS213において、アドレスが一致し、かつメモリ110Aへの書き込みが完了していないデータがバッファ210に格納されている場合には(ステップS213:YES)、共有データ制御部220は、そのデータをバッファ210から読み出す(ステップS215)。
≪実施の形態3≫
以下では、各計算機内のプロセッサが処理に用いるデータを、このプロセッサのみが用いるデータと、共有データとに分け、物理的に異なる2つのメモリ(固有メモリと共有メモリ)にそれぞれのデータを格納することで、各計算機内のプロセッサからのメモリアクセスを待たせることなく、より高速に行わせるように変えた一実施例を、上述の実施の形態1からの変更部分を中心に説明する。
処理システム1200は、同図に示すとおり、実施の形態1に係る処理システム1000における各計算機に代えて、計算機300A〜300Cを備える。
計算機300A〜300Cは、実施の形態1に係る各計算機の選択部160に代えてメモリ選択制御部330を、メモリ制御部170に代えて固有メモリ制御部340と共有メモリ制御部350とを備える。
各計算機(300A〜300C)は、同様の構成を有するため、以下では、計算機300Aを例に説明する。なお、同図において太線で示す箇所は、特に、実施の形態1に係る計算機100Aと異なる箇所であることを示している。
より詳細には、出力管理部140から受領したメモリアクセス要求信号が、固有メモリ310Aに対するアクセス要求信号である場合には、この信号を固有メモリ制御部340に送出し、共有メモリ320Aに対するアクセス要求信号である場合には、この信号を共有メモリ制御部350に送出する。また、入力管理部150から受領した書き込み要求信号は、全て共有メモリ制御部350に送出する。特に、出力管理部140からの共有メモリ320Aに対するアクセス要求信号と、入力管理部150からの書き込み要求信号とを共に受領した場合には、入力管理部150からの書き込み要求信号を優先的に共有メモリ制御部350に送出する。つまり、この場合、プロセッサからの共有メモリ320Aへのアクセスは待たされることになる。
また、その他の方法として、各プロセッサが調停部130に送出するメモリアクセス要求信号を、固有メモリ310Aと共有メモリ320Aのいずれに対するアクセス要求信号であるかを指定する情報を含むように変更してもよい。
このように、他の計算機と共有する必要のないデータを固有メモリ310Aに記憶し、共有データを共有メモリ320Aに記憶させるようにしたので、固有メモリ310Aと共有メモリ320Aとに同時にアクセスすることが可能になる。つまり、計算機内のプロセッサからのアクセス要求が固有メモリ310Aに対するアクセス要求である場合には、このアクセス要求と、他の計算機との共有データ(書き込み対象データ)に係る共有メモリ320Aに対する書き込み要求との競合を防ぐことができる。
≪実施の形態4≫
以下では、実施の形態2及び実施の形態3における特徴的な構成を組み合わせた一実施例を、実施の形態3からの変更部分を中心に説明する。
処理システム1300は、同図に示すとおり、実施の形態3に係る計算機300A〜300Cに代えて計算機400A〜400Cを備える。
計算機400A〜400Cは、実施の形態3に係る各計算機のメモリ選択制御部330に代えてメモリ選択制御部410を備えると共に、実施の形態2に係るバッファ210及び共有データ制御部220を備える。
ここで、メモリ選択制御部410は、出力管理部140から受領した共有メモリ320Aに対するアクセス要求信号及び入力管理部150から受領した書き込み要求信号を、共有データ制御部220に送出する点で実施の形態3に係るメモリ選択制御部330と異なる。
≪変形例≫
以下では、各計算機内の出力管理部140が自計算機内の特定のプロセッサからの書き込み要求信号を受領した場合にのみ共通バス101に書き込み対象のデータを出力するように変えた一変形例について説明する。
具体的には、変形例に係る調停部は、各プロセッサによるメモリ110Aに対するアクセス要求を調停し、1つのメモリアクセス要求信号を変形例に係る出力管理部に送出する際に、その信号の送信元であるプロセッサの識別情報(後述するProcessor ID)も変形例に係る出力管理部に送出する。
特に、この例では、各計算機内のプロセッサ120Aがそれぞれ処理A〜Dを行うものとすると共に、計算機100Bによる処理Bの負荷が高くなると、計算機100Aのプロセッサ120Bが処理Bを分担処理するものとして説明する。なお、この例に係る計算機500B〜500Dは、適用例5と同様に、1つの前の処理結果(Data0〜2)が書き込まれた場合に、これらのデータを用いた処理B〜Dを開始するものとする。
同図に示すように、変形例に係る出力管理情報テーブルの出力管理情報には、実施の形態1に係る出力管理情報テーブル180の出力管理情報に含まれる各データに加え、Processor IDが含まれる。
同図に示すように、各計算機における出力管理情報テーブルを設定することにより、計算機500Aは、Processor IDが「0」と「1」とである各プロセッサ(つまりプロセッサ120Aと120B)の書き込み要求信号に係るデータ(Data0とData1)をメモリ110Aに書き込む際に、これらを、対応するMaster ID等と共に共通バス101に出力する。
図28(b)は、変形例に係る各計算機の入力管理情報テーブル190の内容例を示す図である。
図29は、変形例に係る各計算機の動作を説明するための図である。
同図(a)〜(c)は、定常時における各計算機の動作を示している。これについては、上述の適用例3と同様であるため詳細な説明は省略する。
計算機500Bは、処理Bの負荷が一定以上(例えば、処理Bの開始から終了までの処理時間が所定時間以上)になると、計算機500Aに処理Bの分担処理を指示し、計算機500Aのプロセッサ120Bは、この指示を受けて処理Bの分担処理を開始する。
また、計算機500Bは、計算機500Aのプロセッサ120Bによる処理Bの実行と並行して、例えば、メモリ110Bに格納されているData0の前半部分を用いて処理Bを行って、この結果(Data1の前半部分)を、この処理Bに用いたData0の前半部分が格納されていた領域に書き込む。
計算機500Cは、共通バス101に出力されているMaster ID等と自機が記憶する入力管理情報テーブル190とに基づいて、Data1を受領する判定を行い、メモリ110Cの対応する領域に書き込み、処理Cを開始することになる。
なお、適用例3で説明したように、各メモリに複数世代分のDataを格納するようにすることで、各計算機が各処理を並列して行うようにすることも可能である。
<補足>
以上、本発明に係る処理システムについて、各実施の形態及び変形例に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した各実施の形態及び変形例に示したとおりの処理システムに限られないことは勿論である。
(2)各実施の形態及び変形例においては、出力管理情報テーブルと入力管理情報テーブルとを別個に設けるものとして説明したが、1つの入出力管理テーブルに出力管理情報及び入力管理情報を登録するようにし、出力管理部の出力判定部143及び入力管理部の入力判定部152は、判定の際に、入出力管理テーブルを参照するようにしてもよい。この際、入出力管理テーブルには、出力管理情報及び入力管理情報を区別するためのフラグを登録しておく。
また、既に登録済みの出力管理情報及び入力管理情報の有効又は無効の設定(つまり、Validの更新)を、各計算機内のプロセッサが行うようにしてもよい。
(5)各実施の形態及び変形例においては、各計算機の出力管理情報テーブルにおける各出力管理情報には、その計算機のMaster IDが含まれるものとして説明したが、各計算機は、自機のMaster IDを別途記憶しておくようにし、Master IDについては各出力管理情報には含めないようにしてもよい。
(b)算出した書き込み先のアドレスから、その格納領域のアドレス空間分を引いたアドレスを格納先として、その格納領域内で折り返す制御とする。
(c)特定の固定アドレスへのアクセスに変換する制御する。
(8)各実施の形態及び変形例では、出力管理情報及び入力管理情報における格納領域の指定をStart AddressとEnd Addresssとで行うものとして説明したが、これに限らず、例えば、End Addressの代わりに、領域サイズを用いてもよい。
この場合、バースト転送中に、出力管理情報テーブルにて設定されている格納領域の境界を跨るようなアクセスが発生した場合には、そのアクセス要求を、非共有データアクセスと、共有データアクセスに分割して、それぞれに対応した処理を行う制御や、共通バス調停部102において、調停単位を1バースト転送とするために、共通バス101へのデータ転送が完了したことを通知する信号を、出力管理部が共通バス調停部102に送出する制御を行う等、いくつか改良が必要であるが、これらは既存の実装技術を用いて対応できるため、ここでは詳細な説明を省略する。
これにより、他の計算機から受領した共有データのうち、更新が最も古いものから優先してメモリに反映できるため、他計算機から受領してからメモリに反映されるまでの期間を短くすることが可能となる。
即ち、プロセッサからの読み出し要求信号に係るデータが、バッファ210にメモリへの未書込データとして格納されていた場合には、この未書込データをメモリに書き込んだ後に、読み出し要求信号に係るデータをメモリから読み出すようにしてもよい。
また、入力管理部150からの書き込み要求信号に係るデータが、バッファ210にメモリへの未書込データとして格納されていた場合には、この未書込データをメモリに書き込む処理と、書き込み要求信号に係るデータをバッファ210に書き込む処理とを並行して行うようにしてもよい。
(18)変形例に係る出力管理部は、Processor IDについては共通バス101に出力しないものとして説明したが、各入力管理情報にもProcessor IDを含めるように変形し、各計算機は、Processor IDにも基づいて自機が共有すべきデータか否かを判断するようにしてもよい。
(20)各実施の形態及び変形例において説明した各計算機の各機能ブロックは、典型的には集積回路であるLSI(Large Scale Integration)として実現される。これらは個別に1チップ化されてもよいし、一部、又は全てを含むように1チップ化されても良い。
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路、又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
(21)各実施の形態及び変形例においては、各メモリは、各計算機の外部にあるものとして図示されているが、メモリは、各計算機の内部にあってもよい。また前述したように、LSIの構成単位としては、様々な形態が存在するが、それぞれの実装形態において、各計算機のメモリは、構成されるLSIの内部、外部どちらに存在してもよく、さらには、混在する形態であっても適用可能である。
(23)各実施の形態及び変形例において、出力管理部及び入力管理部は回路であるとして説明したが、例えば、各計算機に含まれる1つのプロセッサが所定のプログラムを実行することにより、出力管理部及び入力管理部の機能を実現するようにしてもよいし、別個のプロセッサが出力管理部と入力管理部の機能を実現するようにしてもよい。
また、本発明に係る処理装置における共有データ記憶手段は、各実施の形態及び変形例に係るメモリ又は共有メモリに相当し、出力手段、入力手段、及び管理情報記憶手段は出力管理部及び入力管理部に相当し、共有データアクセス手段は選択部及びメモリ制御部に相当し、バッファメモリはバッファに相当し、アクセス制御手段は共有データ制御部及びメモリ制御部に相当し、固有データ記憶手段は固有メモリに相当し、データアクセス手段はメモリ選択制御部、固有メモリ制御部、及び共有メモリ制御部に相当し、第1メモリは固有メモリに相当し、第2メモリは共有メモリに相当し、メモリアクセス手段は、メモリ選択制御部、固有メモリ制御部、共有データ制御部、及び共有メモリ制御部に相当する。
101 共通バス
102 共通バス調停部
110A〜E メモリ
120A〜C プロセッサ
130 調停部
140 出力管理部
141 出力管理情報保持部
142 内部バス制御部
143 出力判定部
144 共通バス制御部
150 入力管理部
151 入力管理情報保持部
152 入力判定部
153 内部バス制御部
160 選択部
170 メモリ制御部
210 バッファ
220 共有データ制御部
310A〜C 固有メモリ
320A〜C 共有メモリ
330 メモリ選択制御部
340 固有メモリ制御部
350 共有メモリ制御部
410 メモリ選択制御部
1000、1100、1200、1300 処理システム
1000A デジタル放送受信器
Claims (26)
- 1以上の他の処理装置との間でデータを共有して処理する処理装置であって、
処理手段と、
前記他の処理装置と共有する1以上のデータブロックを記憶する共有データ記憶手段と、
前記共有データ記憶手段に対する前記処理手段によるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが格納されるべきデータブロックのブロック識別情報と書き込み要求に係るデータとを出力する出力手段と、
他の処理装置により出力されたブロック識別情報に基づいて、当該他の処理装置により出力されたデータが、自装置が共有すべきデータか否かを判定し、肯定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させ、否定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させない入力手段とを備える
ことを特徴とする処理装置。 - 前記処理装置は、更に
前記共有データ記憶手段に記憶されているデータブロック毎に、ブロック識別情報と、当該データブロックの格納領域を示すアドレス情報とを対応付けて記憶する管理情報記憶手段を備え、
前記出力手段は、
前記共有データ記憶手段に対する前記処理手段によるアクセス要求が、前記管理情報記憶手段が記憶する各アドレス情報が示す格納領域のいずれかに対する書き込み要求である場合に前記出力を行い、
前記入力手段は、
他の処理装置により出力されたブロック識別情報と一致するブロック識別情報が前記管理情報記憶手段に記憶されている場合に肯定的な判定を行い、当該ブロック識別情報と対応付けられているアドレス情報が示す格納領域に、他の処理装置により出力されたデータを記憶させる
ことを特徴とする請求項1記載の処理装置。 - 前記管理情報記憶手段は、更に、
前記共有データ記憶手段に記憶されているデータブロックのうち、他の処理装置により更新されるデータブロック毎に、当該データブロックの出力元である他の処理装置の装置識別情報を対応付けて記憶しており、
前記出力手段は、前記出力の際に、更に自装置の装置識別情報を出力し、
前記入力手段は、
他の処理装置により出力された装置識別情報及びブロック識別情報と一致する装置識別情報及びブロック識別情報が前記管理情報記憶手段に対応付けて記憶されている場合にのみ前記肯定的な判定を行う
ことを特徴とする請求項2記載の処理装置。 - 前記処理装置は、
アクセス要求に基づいて、前記共有データ記憶手段に対するアクセスを行う共有データアクセス手段を備え、
前記出力手段は、
前記共有データ記憶手段に対する前記処理手段によるアクセス要求がある毎に、当該アクセス要求を前記共有データアクセス手段に送出し、
前記入力手段は、
肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、他の処理装置により出力されたデータを書き込む旨のアクセス要求を前記共有データアクセス手段に送出し、
前記共有データアクセス手段は、
前記入力手段からアクセス要求を受領した場合において、前記出力手段からもアクセス要求を受領したときは、当該出力手段からのアクセス要求よりも先に、当該入力手段からのアクセス要求に基づくアクセスを行う
ことを特徴とする請求項2記載の処理装置。 - 前記管理情報記憶手段に記憶されている各情報は、前記処理手段が既定のプログラムを実行することにより更新される
ことを特徴とする請求項2記載の処理装置。 - 前記処理装置は、更に
バッファメモリと、
アクセス要求に基づいて、前記共有データ記憶手段又は前記バッファメモリに対するアクセスを行うアクセス制御手段とを備え、
前記出力手段は、
前記共有データ記憶手段に対する前記処理手段によるアクセス要求がある毎に、当該アクセス要求を前記アクセス制御手段に送出し、
前記入力手段は、
肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、他の処理装置により出力されたデータを書き込むためのアクセス要求を前記アクセス制御手段に送出し、
前記アクセス制御手段は、
前記入力手段からアクセス要求を受領した場合において、前記出力手段からもアクセス要求を受領したときは、当該入力手段からアクセス要求に基づき、当該アクセス要求に係るデータを前記バッファメモリに記憶させ、当該バッファメモリに記憶されているデータを、アクセス要求を受領していないときに前記共有データ記憶手段に反映させる
ことを特徴とする請求項1記載の処理装置。 - 前記アクセス制御手段は、
アクセス要求を受領した場合に、当該アクセス要求に係るデータについての前記共有データ記憶手段上の格納領域が、前記バッファメモリに既に記憶されているデータについての当該共有データ記憶手段上の格納領域と一致するか否かに応じて、前記共有データ記憶手段と前記バッファメモリとのいずれかに対し当該アクセス要求に基づくアクセスを行う
ことを特徴とする請求項6記載の処理装置。 - 前記アクセス制御手段は、
受領したアクセス要求に基づく前記バッファメモリへのアクセスが完了した後にも、当該アクセス後のデータを前記共有データ記憶手段に反映させる
ことを特徴とする請求項7記載の処理装置。 - 前記処理装置は、更に
他の処理装置と共有する必要がない1以上のデータブロックを記憶する固有データ記憶手段と、
アクセス要求に基づいて、前記共有データ記憶手段又は前記固有データ記憶手段に対するアクセスを行うデータアクセス手段とを備え、
前記出力手段は、
前記処理手段によるアクセス要求がある毎に、当該アクセス要求を前記データアクセス手段に送出し、
前記入力手段は、
肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、他の処理装置により出力されたデータを書き込むためのアクセス要求を前記データアクセス手段に送出し、
前記データアクセス手段は、
前記共有データ記憶手段と固有データ記憶手段とに対し並行してアクセスすることが可能であり、
前記入力手段からアクセス要求を受領した際に、前記出力手段からもアクセス要求を受領した場合において、当該出力手段からのアクセス要求に係るデータの格納領域が、前記固有データ記憶手段上の格納領域であるときは、当該固有データ記憶手段に対し当該アクセス要求に基づくアクセスを行うのと並行して、前記共有データ記憶手段に対し前記入力手段からのアクセス要求に基づくアクセスを行う
ことを特徴とする請求項1記載の処理装置。 - 前記共有データ記憶手段は、
他の処理装置と共有するデータブロックのうち、自装置のみが更新する1以上のデータブロックを記憶する第1メモリと、
前記自装置のみが更新する1以上のデータブロック以外の他の処理装置と共有する1以上のデータブロックを記憶する第2メモリとを含み、
前記処理装置は、更に
アクセス要求に基づいて、前記第1メモリ又は前記第2メモリに対するアクセスを行うメモリアクセス手段とを備え、
前記出力手段は、
前記処理手段によるアクセス要求がある毎に、当該アクセス要求を前記メモリアクセス手段に送出し、
前記入力手段は、
肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込むためのアクセス要求を前記メモリアクセス手段に送出し、
前記メモリアクセス手段は、
前記第1メモリと第2メモリとに対し並行してアクセスすることが可能であり、
前記入力手段からアクセス要求を受領した際に、前記出力手段からもアクセス要求を受領した場合において、当該出力手段からのアクセス要求に係るデータの格納領域が、前記第1メモリ上の格納領域であるときは、当該第1メモリに対し当該アクセス要求に基づくアクセスを行うのと並行して前記第2メモリに対し前記入力手段からのアクセス要求に基づくアクセスを行う
ことを特徴とする請求項1記載の処理装置。 - 前記処理装置は、更に
他の処理装置から出力されたデータを記憶するバッファメモリを備え、
前記メモリアクセス手段は、
前記第2メモリ上の格納領域に対するアクセス要求を受領した場合に、当該格納領域が、前記バッファメモリに既に記憶されているデータについての前記第2メモリ上の格納領域と一致するか否かに応じて、前記第2メモリと前記バッファメモリとのいずれかに対し当該アクセス要求に基づくアクセスを行う
ことを特徴とする請求項10記載の処理装置。 - データを共有するために共通バスを介して相互に接続する複数の処理装置を含む処理システムであって、
各処理装置は、
処理手段と、
他の処理装置と共有する1以上のデータブロックを記憶する共有データ記憶手段と、
前記共有データ記憶手段に対する前記処理手段によるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが記憶されるべきデータブロックのブロック識別情報と書き込み要求に係るデータとを前記共通バスに出力する出力手段と、
他の処理装置により前記共通バスに出力されたブロック識別情報に基づいて、当該他の処理装置により当該共通バスに出力されたデータが、自装置が共有すべきデータか否かを判定し、肯定的な判定を行った場合に当該データを前記共有データ記憶手段に記憶させる入力手段とを備える
ことを特徴とする処理システム。 - 各処理装置は、更に
前記共有データ記憶手段に記憶されているデータブロック毎に、当該データブロックの出力元である処理装置の装置識別情報と、ブロック識別情報と、当該データブロックの格納領域を示すアドレス情報とを対応付けて記憶する管理情報記憶手段を備え、
前記出力手段は、
前記共有データ記憶手段に対する前記処理手段によるアクセス要求が前記管理情報記憶手段が記憶する各アドレス情報が示す格納領域のいずれかに対する書き込み要求である場合に前記出力を行うと共に、当該出力に係るブロック識別情報と対応付けて記憶されている装置識別情報を前記共通バスに出力し、
前記入力手段は、
他の処理装置により出力された装置識別情報及びブロック識別情報と一致する装置識別情報及びブロック識別情報が前記管理情報記憶手段に対応付けて記憶されている場合に肯定的な判定を行い、当該ブロック識別情報と対応付けられているアドレス情報が示す格納領域に、他の処理装置により出力されたデータを記憶させ、
いずれか一の処理装置における前記処理手段は、既定のプログラムを実行することにより、各管理情報記憶手段に記憶する各情報を生成し、各処理装置に記憶させる
ことを特徴とする請求項12記載の処理システム。 - 前記共通バスと前記複数の処理装置が1チップ化されている
ことを特徴とする請求項12または13記載の処理システム。 - 1以上の他の処理装置との間でデータを共有して処理する処理装置におけるデータ共有処理方法であって、
前記処理装置は、
処理手段と、
他の処理装置と共有する1以上のデータブロックを記憶する共有データ記憶手段とを備え、
前記データ共有処理方法は、
前記共有データ記憶手段に対する前記処理手段によるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが格納されるべきデータブロックのブロック識別情報と書き込み要求に係るデータとを出力する出力ステップと、
他の処理装置により出力されたブロック識別情報に基づいて、当該他の処理装置により出力されたデータが、自装置が共有すべきデータか否かを判定し、肯定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させ、否定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させない入力ステップとを含む
ことを特徴とするデータ共有処理方法。 - 1以上の他の処理装置との間でデータを共有して処理するデータ共有処理用集積回路であって、
処理手段と、
他の処理装置と共有する1以上のデータブロックを記憶する共有データ記憶手段と、
前記共有データ記憶手段に対する前記処理手段によるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが格納されるべきデータブロックのブロック識別情報と書き込み要求に係るデータとを出力する出力手段と、
他の処理装置により出力されたブロック識別情報に基づいて、当該他の処理装置により出力されたデータが、自装置が共有すべきデータか否かを判定し、肯定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させ、否定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させない入力手段とを備える
ことを特徴とするデータ共有処理用集積回路。 - 1以上の他の処理装置との間でデータを共有して処理する処理装置であって、
処理手段と、
前記他の処理装置と共有する1以上のデータブロックを記憶する共有データ記憶手段と、
前記共有データ記憶手段に対する前記処理手段によるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが格納されるべきデータブロックのブロック識別情報と書き込み要求に係るデータとを出力する出力手段と、
他の処理装置により出力されたブロック識別情報に基づいて、当該他の処理装置により出力されたデータが、自装置が共有すべきデータか否かを判定する入力判定手段とを備える
ことを特徴とする処理装置。 - 1以上の他の処理装置との間でデータを共有して処理する処理装置であって、
処理手段と、
前記他の処理装置と共有する1以上のデータブロックを記憶する共有データ記憶手段と、
他の処理装置により出力されたブロック識別情報に基づいて、当該他の処理装置により出力されたデータが、自装置が共有すべきデータか否かを判定する入力判定手段とを備える
ことを特徴とする処理装置。 - 前記入力判定手段で肯定的な判定を行った場合には、前記他の処理装置により出力されたデータを前記共有データ記憶手段に記憶させる入力手段を更に備える
ことを特徴とする請求項17または18記載の処理装置。 - 前記入力判定手段が判定に用いるブロック識別情報は、自装置の識別情報を含まない
ことを特徴とする請求項17〜19の何れか一項に記載の処理装置。 - 前記入力判定手段における判定基準である入力管理情報を記憶する入力管理情報保持手段と、
前記入力管理情報を更新する手段とを更に備える
ことを特徴とする請求項17〜20の何れか一項に記載の処理装置。 - 前記出力手段が出力するブロック識別情報は、前記書き込み要求に係るデータが共有されるべき、他の処理装置の識別情報を含まない
ことを特徴とする請求項17記載の処理装置。 - 前記書き込み要求に係るデータが格納されるべきデータブロックのブロック識別情報に基づいて、当該書き込み要求に係るデータが、他の処理装置と共有されるべきデータか否かを判定する出力判定手段を更に備え、
前記出力手段は、前記出力判定手段で肯定的な判定を行った場合には、前記ブロック識別情報と前記書き込み要求に係るデータとを出力する
ことを特徴とする請求項17または22記載の処理装置。 - データを共有するために共通バスを介して相互に接続する複数の処理装置を含む処理システムであって
前記複数の処理装置は、それぞれ、
処理手段と、
他の処理装置と共有する1以上のデータブロックを記憶する共有データ記憶手段とを備え、
前記複数の処理装置のうち少なくとも1つの処理装置は、
前記共有データ記憶手段に対する前記処理手段によるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが格納されるべきデータブロックのブロック識別情報と書き込み要求に係るデータとを出力する出力手段を更に備え、
前記複数の処理装置のうち少なくとも1つの処理装置は、
他の処理装置により出力されたブロック識別情報に基づいて、当該他の処理装置により出力されたデータが、自装置が共有すべきデータか否かを判定する入力判定手段を更に備える
ことを特徴とする処理システム。 - 1以上の他の処理装置との間でデータを共有して処理する処理装置におけるデータ共有処理方法であって、
前記処理装置は、
処理手段と、
他の処理装置と共有する1以上のデータブロックを記憶する共有データ記憶手段とを備え、
前記データ共有処理方法は、
前記共有データ記憶手段に対する前記処理手段によるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが格納されるべきデータブロックのブロック識別情報と書き込み要求に係るデータとを出力する出力ステップと、
他の処理装置により出力されたブロック識別情報に基づいて、当該他の処理装置により出力されたデータが、自装置が共有すべきデータか否かを判定する入力判定ステップとを含む
ことを特徴とするデータ共有処理方法。 - 1以上の他の処理装置との間でデータを共有して処理するデータ共有処理用集積回路であって、
処理手段と、
他の処理装置と共有する1以上のデータブロックを記憶する共有データ記憶手段と、
前記共有データ記憶手段に対する前記処理手段によるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが格納されるべきデータブロックのブロック識別情報と書き込み要求に係るデータとを出力する出力手段と、
他の処理装置により出力されたブロック識別情報に基づいて、当該他の処理装置により出力されたデータが、自装置が共有すべきデータか否かを判定する入力判定手段とを備える
ことを特徴とするデータ共有処理用集積回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010503778A JP5307796B2 (ja) | 2008-03-19 | 2009-03-18 | 処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008070998 | 2008-03-19 | ||
JP2008070998 | 2008-03-19 | ||
JP2010503778A JP5307796B2 (ja) | 2008-03-19 | 2009-03-18 | 処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路 |
PCT/JP2009/001205 WO2009116279A1 (ja) | 2008-03-19 | 2009-03-18 | 処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2009116279A1 JPWO2009116279A1 (ja) | 2011-07-21 |
JP5307796B2 true JP5307796B2 (ja) | 2013-10-02 |
Family
ID=41090694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010503778A Expired - Fee Related JP5307796B2 (ja) | 2008-03-19 | 2009-03-18 | 処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9176891B2 (ja) |
JP (1) | JP5307796B2 (ja) |
CN (1) | CN101681345B (ja) |
WO (1) | WO2009116279A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102804150B (zh) | 2011-03-16 | 2016-01-20 | 松下电器产业株式会社 | 数据处理装置、数据处理方法及数据共享系统 |
KR101949417B1 (ko) * | 2011-12-02 | 2019-02-20 | 삼성전자주식회사 | 프로세서, 명령어 생성 장치 및 방법 |
US9647667B1 (en) * | 2014-04-30 | 2017-05-09 | Altera Corporation | Hybrid architecture for signal processing and signal processing accelerator |
US10169274B1 (en) * | 2017-06-08 | 2019-01-01 | Qualcomm Incorporated | System and method for changing a slave identification of integrated circuits over a shared bus |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003316753A (ja) * | 2002-04-26 | 2003-11-07 | Fujitsu Ltd | マルチプロセッサ装置 |
JP2005267392A (ja) * | 2004-03-19 | 2005-09-29 | Nec Corp | 共有データ処理回路、情報処理装置、情報処理システム、共有データ処理方法、共有データ処理プログラム |
JP2008015617A (ja) * | 2006-07-03 | 2008-01-24 | Nippon Telegr & Teleph Corp <Ntt> | 分散共有メモリを用いた同報通信方法および装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US621059A (en) * | 1899-03-14 | fuller | ||
US281255A (en) * | 1883-07-17 | Folding or cabinet bath-tub | ||
US3127248A (en) * | 1964-03-31 | Catalyst tube assembly | ||
CH624817B (de) * | 1979-09-04 | Balzers Hochvakuum | Verfahren zur herstellung goldfarbener ueberzuege. | |
JPS61122771A (ja) | 1984-11-20 | 1986-06-10 | Nec Corp | マルチマイクロプロセサシステム |
JPS621059A (ja) | 1985-06-26 | 1987-01-07 | Nippon Signal Co Ltd:The | マルチ・マイクロプロセツサシステムにおける共有メモリアクセス法 |
JP2813182B2 (ja) | 1988-09-19 | 1998-10-22 | 株式会社日立製作所 | マルチプロセッサコンピュータ複合装置 |
JPH03127248A (ja) | 1989-10-13 | 1991-05-30 | Toshiba Corp | 複合計算機システム |
JPH04333962A (ja) | 1991-05-10 | 1992-11-20 | Nec Corp | メモリ制御方式 |
JPH0619785A (ja) * | 1992-03-27 | 1994-01-28 | Matsushita Electric Ind Co Ltd | 分散共有仮想メモリーとその構成方法 |
US5950228A (en) * | 1997-02-03 | 1999-09-07 | Digital Equipment Corporation | Variable-grained memory sharing for clusters of symmetric multi-processors using private and shared state tables |
US6105122A (en) * | 1998-02-06 | 2000-08-15 | Ncr Corporation | I/O protocol for highly configurable multi-node processing system |
CN1329857C (zh) * | 2003-10-23 | 2007-08-01 | 华为技术有限公司 | 多处理单元环境下统一输入输出方法 |
US20050273571A1 (en) * | 2004-06-02 | 2005-12-08 | Lyon Thomas L | Distributed virtual multiprocessor |
JP4765003B2 (ja) | 2006-03-15 | 2011-09-07 | 富士電機株式会社 | マルチプロセッサシステム |
JP2008225906A (ja) | 2007-03-13 | 2008-09-25 | Toyota Motor Corp | 情報処理システム及びその情報処理システムを構成するコア識別コントローラ |
-
2009
- 2009-03-18 CN CN2009800003596A patent/CN101681345B/zh not_active Expired - Fee Related
- 2009-03-18 JP JP2010503778A patent/JP5307796B2/ja not_active Expired - Fee Related
- 2009-03-18 WO PCT/JP2009/001205 patent/WO2009116279A1/ja active Application Filing
- 2009-03-18 US US12/594,246 patent/US9176891B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003316753A (ja) * | 2002-04-26 | 2003-11-07 | Fujitsu Ltd | マルチプロセッサ装置 |
JP2005267392A (ja) * | 2004-03-19 | 2005-09-29 | Nec Corp | 共有データ処理回路、情報処理装置、情報処理システム、共有データ処理方法、共有データ処理プログラム |
JP2008015617A (ja) * | 2006-07-03 | 2008-01-24 | Nippon Telegr & Teleph Corp <Ntt> | 分散共有メモリを用いた同報通信方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2009116279A1 (ja) | 2009-09-24 |
US9176891B2 (en) | 2015-11-03 |
CN101681345B (zh) | 2013-09-11 |
US20100077156A1 (en) | 2010-03-25 |
JPWO2009116279A1 (ja) | 2011-07-21 |
CN101681345A (zh) | 2010-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6820187B2 (en) | Multiprocessor system and control method thereof | |
US20180329841A1 (en) | Memory access control device and control method of memory access | |
JP2001117859A (ja) | バス制御装置 | |
JP2007133456A (ja) | 半導体装置 | |
JP5307796B2 (ja) | 処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路 | |
US20160034332A1 (en) | Information processing system and method | |
US7822952B2 (en) | Context switching device | |
US20160275028A1 (en) | Semiconductor device | |
WO2016132416A1 (ja) | 情報処理装置、情報処理方法、メインプロセッサコア、プログラム、情報処理方法、サブプロセッサコア | |
JP2002041449A (ja) | バスシステム及びその実行順序の調整方法 | |
CN102065073B (zh) | 向协议层直接提供数据消息 | |
US20060253662A1 (en) | Retry cancellation mechanism to enhance system performance | |
TWI324755B (en) | Processing modules with multilevel cache architecture | |
US20090138634A1 (en) | Semiconductor integrated circuit device which executes data transfer between a plurality of devices connected over network, and data transfer method | |
JP2001333137A (ja) | 自主動作通信制御装置及び自主動作通信制御方法 | |
JP6115455B2 (ja) | 並列計算機システム、並列計算機システムの制御方法、情報処理装置、演算処理装置および通信制御装置 | |
JP5168800B2 (ja) | マルチプロセッサシステム | |
US20050135402A1 (en) | Data transfer apparatus | |
US20220300421A1 (en) | Memory Sharing | |
JP2813182B2 (ja) | マルチプロセッサコンピュータ複合装置 | |
JP4924970B2 (ja) | データ処理システム | |
JP4965974B2 (ja) | 半導体集積回路装置 | |
US11010318B2 (en) | Method and apparatus for efficient and flexible direct memory access | |
JP5555514B2 (ja) | プロセッサシステム | |
US9009412B2 (en) | Information processing apparatus and control method of information processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120125 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130402 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130508 |
|
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: 20130604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130627 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |