JP2008242593A - マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス保護方法 - Google Patents

マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス保護方法 Download PDF

Info

Publication number
JP2008242593A
JP2008242593A JP2007079160A JP2007079160A JP2008242593A JP 2008242593 A JP2008242593 A JP 2008242593A JP 2007079160 A JP2007079160 A JP 2007079160A JP 2007079160 A JP2007079160 A JP 2007079160A JP 2008242593 A JP2008242593 A JP 2008242593A
Authority
JP
Japan
Prior art keywords
access
unit
multiprocessor system
processor element
protection
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
JP2007079160A
Other languages
English (en)
Other versions
JP5308629B2 (ja
Inventor
Masayuki Daito
正行 大東
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2007079160A priority Critical patent/JP5308629B2/ja
Priority to US12/076,941 priority patent/US8893142B2/en
Publication of JP2008242593A publication Critical patent/JP2008242593A/ja
Application granted granted Critical
Publication of JP5308629B2 publication Critical patent/JP5308629B2/ja
Priority to US14/533,870 priority patent/US20150067277A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)

Abstract

【課題】従来のマルチプロセッサシステムでは、共有リソースに対するアクセス権を柔軟に変更することができなかった。
【解決手段】本発明にかかるマルチプロセッサシステムは、第1プロセッサエレメントPE−A、第2のプロセッサエレメントPE−Bを有し、それぞれが独立してプログラムを実行するマルチプロセッサシステムであって、第1のプロセッサエレメントPE−Aは、プログラムに基づき演算処理を行う中央演算装置CPUaと、第1のプロセッサエレメントPE−Aと第2のプロセッサエレメントPE−Bの間で共有される共有リソース18aと、中央演算装置CPUaが指定するアクセス保護範囲設定値に基づき第2のプロセッサエレメントPE−Bから共有リソース18aへのアクセス要求を制限するガードユニット16aと、を有するものである。
【選択図】図1

Description

本発明はマルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス保護方法に関し、特に各プロセッサが他のプロセッサと共有される共有リソースを有するマルチプロセッサシステム及び当該マルチプロセッサシステムにおけるアクセス保護方法に関する。
近年、複数のプロセッサの間でメモリ等のリソースを共有するマルチプロセッサシステムが多く用いられている。このようなマルチプロセッサシステムでは、他プロセッサが実行しているタスクの暴走によって、自プロセッサが利用するメモリ領域の情報を誤って上書きしてしまう問題が発生する。このような問題が発生すると、自プロセッサが実行しているタスクの正常な動作が阻害され、システムの動作に不具合が生じる。
そこで、複数のプロセッサ間においてタスクの暴走の影響を互いに防ぐマルチプロセッサシステムに関する技術が特許文献1(以下、従来例1と称す)に開示されている。従来例1に開示されているマルチプロセッサシステム100のブロック図を図9に示す。図9に示すように、マルチプロセッサシステム100は、第1のプロセッサ101Aと第2のプロセッサ101Bとがシステムバス105で接続される。そして、第1のプロセッサ101Aと第2のプロセッサ101Bは、それぞれCPUボード101、メモリボード103を有している。CPUボード101は、アドレス生成部102を含み、メモリボード103とローカルバス104で接続される。マルチプロセッサシステム100では、第1のプロセッサ101Aから第2のプロセッサ101Bのメモリボード103にアクセスを行う場合、このアドレス生成部102にてアドレス変換を行う。これによって、第2のプロセッサ101Bに搭載されるメモリボード103において第2のプロセッサ101Bが使用する領域を、第1のプロセッサ101Aからのアクセスによって侵害しないように制御する。
従来例1では、レジスタに予め固定的に設定されたアクセス保護範囲設定値を参照してアドレス生成部が他のプロセッサ上のメモリボードへのアクセスを制御する。また、特許文献2(以下、従来例2と称す)には、従来例1のレジスタとしてPLD(Programmable Logic Device)を利用して、製造後であってもアクセス保護範囲設定値を変更できる構成が開示されている。
特開平9−297711号公報 特開2002−32352号公報
しかしながら、従来例2におていも、プロセッサの利用状況に応じてアクセス保護範囲設定値を変更することができない。つまり、プロセッサが実行するプログラムに応じて動的にアクセス保護範囲を設定することができない。このようなことから、従来例1、2で開示されるマルチプロセッサシステムでは、柔軟なリソースの共有ができない問題がある。
本発明にかかるマルチプロセッサシステムは、第1、第2のプロセッサエレメントを有し、前記第1、第2のプロセッサエレメントが独立してプログラムを実行するマルチプロセッサシステムであって、前記第1のプロセッサエレメントは、プログラムに基づき演算処理を行う中央演算装置と、前記第1、第2のプロセッサエレメントの間で共有される共有リソースと、前記中央演算装置が指定するアクセス保護範囲設定値に基づき前記第2のプロセッサエレメントから前記共有リソースへのアクセス要求を制限するガードユニットと、を有するものである。
本発明にかかるマルチプロセッサシステムは、中央演算装置が指定するアクセス範囲設定値に基づきガードユニットが第2のプロセッサエレメントからのアクセスを制限する。つまり、アクセス保護範囲設定値を中央演算装置が実行するプログラムに応じて変更することが可能である。このことより、本発明にかかるマルチプロセッサシステムによれば、第2のプロセッサエレメントから第1のプロセッサエレメント内の共有リソースへのアクセス制限を第1のプロセッサエレメントが実行している処理に基づき設定することが可能である。また、共有リソースにおいて第1のプロセッサエレメントが使用する領域を第2のプロセッサエレメントで実行されているプログラムによって侵害されることを防ぐことが可能である。
また、本発明にかかるマルチプロセッサシステムにおけるアクセス保護方法は、第1、第2のプロセッサエレメントを有し、前記第1、第2のプロセッサエレメントが独立してプログラムを実行するマルチプロセッサシステムにおけるアクセス保護方法であって、前記第2のプロセッサエレメントは、前記第1のプロセッサエレメントが有する共有リソースに対してアクセス要求を送信し、前記第1のプロセッサエレメントは、ガードユニットにて前記アクセス要求を受信し、前記アクセス要求が前記第1のプロセッサエレメント内の中央演算装置が指定するアクセス保護範囲設定値の範囲内である場合、前記第2のプロセッサエレメントに対してアクセス違反値値の返信と、前記アクセス要求の無効化と、前記中央演算装置に対する例外アクセス発生の通知と、を行うものである。
本発明にかかるマルチプロセッサシステムにおけるアクセス保護方法は、アクセス要求がアクセス保護範囲内にある場合、アクセス要求を送信した第2のプロセッサエレメントに対してアクセス違反値を返信する。これによって、第2のプロセッサエレメントは、第2のプロセッサエレメントにおいて実行しているプログラムに基づくタスクに違反が生じていることを検出することができる。また、本発明にかかるマルチプロセッサシステムにおけるアクセス保護方法は、アクセス要求がアクセス保護範囲内にある場合、アクセス要求を無効化して、さらに第1のプロセッサエレメントに対して例外アクセス発生を通知する。これによって、第1のプロセッサエレメントは、第2のプロセッサエレメントから例外アクセスがあったことを知ることが可能になる。
本発明にかかるマルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス保護方法によれば、プロセッサエレメントでそれぞれ実行されるプログラムの信頼性を向上させることが可能である。
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。図1に実施の形態1にかかるマルチプロセッサシステム1のブロック図を示す。図1に示すように、マルチプロセッサシステム1は、第1のプロセッサエレメントPE−Aと第2のプロセッサエレメントPE−Bとがバスを介して接続される。
第1のプロセッサエレメントPE−Aは、中央演算装置CPUa、ROM(Read Only Memory)15a、ガードユニット16a、リソースコントローラ17a、共有リソース18aを有している。なお、本実施の形態では、第2のプロセッサエレメントPE−Bは、第1のプロセッサエレメントPE−Aと同一の構成を有するものである。第2のプロセッサエレメントPE−Bにおいて中央演算装置CPUbは中央演算装置CPUaに対応するものであり、ROM15bはROM15aに対応するものであり、ガードユニット16bはガードユニット16aに対応するものであり、リソースコントローラ17bは、リソースコントローラ17aに対応するものであり、共有リソース18bは共有リソース18aに対応するものである。従って、本実施の形態では、第1のプロセッサエレメントを例にプロセッサエレメントの構成について説明する。なお、上記プロセッサエレメントは、それぞれ中央演算装置、ガードユニット、共有リソースが同一の半導体基板上に形成されたものであっても良く、複数のプロセッサエレメントが同一の半導体基板上に形成されるものであっても良い。
中央演算装置CPUaは、制御部11aと実行部12aを有している。制御部11aは、例えば実行部12aで実行されるプログラムの実行単位であるタスクが使用するデータが格納されるメモリ領域を指定し、データ保存領域の管理を行う。この管理は、MMU(Memory Management Unit)13aが行う。実行部12aは、プログラムを読み込んでタスク毎に各種処理を行う。また、実行部12aは、ロード/ストアユニット(図中のLO/STユニット)14aを有している。ロード/ストアユニット14aは、MMU13aの指示するメモリ管理情報に従い判断し、リソースコントローラ17aに対してタスクが使用するデータのリード又はライトのアクセスを行う。
ROM15aは、中央演算装置CPUaが読み込むプログラムの格納領域である。なお、本実施の形態では、プログラム格納領域としてROM15aを用いるが、プログラム格納領域はROM15aに限らず、CPUaがアクセス可能な領域であれば良い。
ガードユニット16aは、第2のプロセッサエレメントPE−Bとバスを介して接続されており、第2のプロセッサエレメントから送信されるアクセス要求を受信する。また、ガードユニット16aは、中央演算装置CPUaから保護情報設定バスを介してアクセス保護範囲設定値SEaが入力される。アクセス保護範囲設定値SEaは、保護情報設定バスを介して第1のプロセッサエレメントPE−Aからのみ設定可能である。ガードユニット16aは、このアクセス保護範囲設定値SEaとアクセス要求から得られる情報とに基づき、第2のプロセッサエレメントPE−Bから送信されたアクセスが許可されるべきものなのか、拒絶すべきものなのかを判断する。つまり、ガードユニット16aは、第2のプロセッサエレメントPE−Bから第1のプロセッサエレメントPE−Aへのアクセスを制御する。ガードユニット16aは、このアクセス制御に加えて、アクセス制御に基づいてアクセスが拒絶するものであると判断した場合、第1のプロセッサエレメントPE−Aと第2のプロセッサエレメントPE−Bとの双方に例外アクセスの発生を例外アクセス通知Eaなど用いて通知する。ガードユニット16aについての詳細は後述する。
リソースコントローラ17aは、共有リソース18aの制御装置であって、本実施の形態ではRAM(Random Access Memory)を制御する。リソースコントローラ17aは、中央演算装置CPUaから送信されるアクセス要求又はガードユニット16aを通過して受信したアクセス要求とに基づき共有リソース18aへの制御信号を生成する。このとき、リソースコントローラ17aは、中央演算装置CPUaから送信されるアクセス要求とガードユニット16aを通過して受信したアクセス要求との間の調停処理と、アクセス要求に含まれる情報から共有リソース18aに対する制御信号の生成を行う。アクセス要求に含まれる情報としては、例えばアクセスアドレス情報、リードやライトなどのアクセス属性を指定する情報がある。また、中央演算装置CPUaから送信されるアクセス要求が第2のプロセッサユニットPE−Bへのアクセス要求であった場合、第2のプロセッサユニットPE−Bに対してアクセス要求を送信する。
共有リソース18aは、第1のプロセッサエレメントPE−Aと第2のプロセッサエレメントPE−Bとの間で共通して用いられるリソースである。本実施の形態ではメモリを共有リソースとして使用する。従って、本実施の形態にかかる共有リソース18aは、RAM181aを有している。またRAM181aには、PE−A専用領域182aが定義されている。PE−A専用領域182aは、上記アクセス保護範囲設定値SEaによって定義される保護領域であって、アクセス保護範囲設定値SEaの値によって変動する。
ここで、ガードユニット16aについて詳細に説明する。図2にガードユニット16aのブロック図を示す。図2に示すように、ガードユニット16aは、保護設定ユニット21、判定ユニット22、アクセス無効化ユニット23、レスポンス生成ユニット24、例外アクセス発生通知ユニット25を有している。
保護設定ユニット21は、複数の設定情報保持レジスタを有している。そして、複数の設定情報保持レジスタには、中央演算装置CPUaが出力するアクセス保護範囲設定値SEaの情報がそれぞれ記憶される。この保護設定ユニット21の概略図を図3に示し、複数の設定情報保持レジスタについてさらに詳細に説明する。図3の例は、16個の設定情報保持レジスタを有する場合について示している。図3に示すように、複数の設定情報保持レジスタは、それぞれ保護範囲設定レジスタ、イネーブルフラグレジスタ、保護属性レジスタを有している。保護範囲設定レジスタには、アクセス保護範囲であるメモリ上のアドレス値の範囲が格納される。この保護範囲設定レジスタで示される保護範囲を第1のプロセッサエレメントPE−Aの専用領域とする。イネーブルフラグレジスタには、フラグ値ENが格納される。例えば、フラグ値ENが"1"であれば当該保護範囲設定レジスタに格納された保護範囲の設定が有効であることを示し、フラグ値ENが"0"であれば当該保護範囲設定レジスタに格納された保護範囲の設定が無効であることを示す。保護属性レジスタは、保護範囲設定レジスタに格納されるアドレス範囲に対して行われたアクセス要求がどのようなアクセス属性であった場合にアクセスを拒否するかを設定するためのアクセス属性が格納される。アクセス属性としては、例えばWrite(書き込み)、Read(読み出し)、Read/Write(読み書き)などがある。この保護属性レジスタの設定内容は、必ずしも変更可能である必要はなく、例えば書き込み属性などに固定されていても良い。
判定ユニット22は違反検出器221を有している。違反検出器221は、有効である保護設定範囲レジスタの値と、入力されるアクセス要求(アクセスアドレス及びストローブ)とを比較して、アクセス要求がアクセス保護範囲内であるか否かを判定する。この判定の結果、アクセス要求がアクセス保護範囲内である場合、違反検出器221は、エラー通知信号を拒否状態とする。なお、全ての保護設定範囲レジスタ内のイネーブルフラグレジスタのフラグ値が無効を示す場合、違反検出器221は、エラー通知信号を出力せずに、ガードユニット16aのアクセス制御機能は無効となる。
アクセス無効化ユニット23は、エラー通知信号に応じて第2のプロセッサエレメントPE−Bから送信されるアクセス要求を通過させるか、アクセス無効値を出力するかを選択するセレクタSEL1を有している。セレクタSEL1は、エラー通知信号が許可状態である場合に、第2のプロセッサエレメントPE−Bから送信されるアクセス要求を通過させる。一方、セレクタSEL1は、エラー通知信号が拒否状態である場合、アクセス無効値を出力する。アクセス無効値は、例えばリソースコントローラ17aに接続されるバス上のIdleコマンドなどであって、リソースコントローラ17aにアクセスがないことを示すコマンドである。
レスポンス生成ユニット24は、エラー通知信号に応じて第1のプロセッサエレメントPE−Aの共有リソース18aから出力されるメモリレスポンスを通過させるか、アクセス違反値を出力するかを選択するセレクタSEL2を有している。セレクタSEL2は、エラー通知信号が許可状態である場合に、リソースコントローラ17aから出力されるレスポンス情報(例えば、ready、メモリアクセスエラー、データなどのメモリレスポンス)を通過させる。一方、セレクタSEL2は、エラー通知信号が拒否状態である場合、アクセス違反値を出力する。このアクセス違反値は、メモリレスポンスの1つであるメモリアクセスエラーとは異なる値であって、第2のプロセッサエレメントPE−Bにアクセス要求がアクセス違反であったことを通知する値である。第1のプロセッサエレメントPE−A、又は、第2のプロセッサエレメントPE−Bが、アクセス違反値を受信すると、アクセス違反値に基づく処理が当該プロセッサエレメントで実行中の処理にかかわらず優先的に割り込み処理される。
例外アクセス発生通知ユニット25は、エラー通知信号に応じて中央演算装置CPUaに対して例外アクセスが発生したことを通知する割り込み要求信号などの例外アクセス発生通知信号を生成する。この割り込み要求信号は、中央演算装置CPUaが実行している処理に応じて適切な時期に受け付けられる。
また、ガードユニット16aは、アクセス要求とともに送信される共有リソース18aへの書き込みデータを通過させる配線を有する。この配線は、データ入力端子DINと内部入力端子DIINとの間に接続される。
次に、第1のプロセッサエレメントPE−Aでアクセス要求が発生した場合におけるマルチプロセッサシステム1の動作を例にしてマルチプロセッサシステムの動作について説明する。この場合におけるマルチプロセッサシステム1の動作を示すフローチャートを図4に示す。図4に示すように、中央演算装置CPUa内部のLO/STユニット14aからアクセス要求が発生すると、MMU13aが発生したアクセスが許可されるものか否かを判断する(ステップS1)。ステップS1にてアクセスが違反するものであると判断された場合、アクセス違反が発生したことを通知する例外発生通知が中央演算装置CPUaに対して行われる。これによって、中央演算装置CPUaは、例えば実行中のタスクを再起動する、あるいは実行しているプログラム自体を再起動する。一方、ステップS1にてアクセス要求が許可された場合、リソースコントローラ17aにてアクセスの対象メモリが判定される(ステップS2)。
ステップS2にて対象メモリが第1のプロセッサエレメントPE−A上のRAM181aと判断されると、リソースコントローラ17aは、RAM181aにデータを書き込む。一方、ステップS2にて対象メモリが第2のプロセッサエレメントPE−B上のRAM181bと判断されると、リソースコントローラ17aは、第2のプロセッサエレメントPE−B上のガードユニット16bにアクセス要求を送信する。
ガードユニット16bでは、第1のプロセッサエレメント側から送信されたアクセス要求が第2のプロセッサエレメントPE−Bの中央演算装置CPUbが指定するアクセス保護範囲内であるかどうかを判断する(ステップS3)。ステップS3にて、第1のプロセッサエレメント側から送信されたアクセス要求がアクセス保護範囲外(許可)であった場合、第1のプロセッサエレメントPE−Aは第2のプロセッサエレメントPE−BのRAM181bにアクセスを行う。一方、第1のプロセッサエレメント側から送信されたアクセス要求がアクセス保護範囲内(違反)であった場合、ガードユニット16bは、第2のプロセッサエレメントPE−Bのリソースコントローラ17bにアクセス無効値を出力し、中央演算装置CPUbに例外アクセス発生通知を行う。また、これらの処理を行うとともに、ガードユニット16bは、第1のプロセッサエレメントPE−Aにアクセス違反値を出力する。第1のプロセッサエレメントPE−Aがアクセス違反値を受信すると、中央演算装置CPUaに通知され、中央演算装置CPUaは、実行中の処理にかかわらず、アクセス違反値に基づく割り込み処理を優先実行する。これによって、第1のプロセッサエレメントPE−Aは、違反の発生を検知して実行中のタスクを再起動(もしくは停止)する、あるいは実行しているプログラム自体を再起動(もしくは停止)する。また、第2のプロセッサエレメントPE−Bは、第1のプロセッサエレメントPE−Aで異常が発生していることを検出できるため、異常発生に対して保護範囲を広げる、あるいは保護範囲を利用するタスクのみを継続する等の処理を行うことが可能である。
上記ステップS3のガードユニット16bにおいて行われる処理のフローチャートを図5に示す。この図5を参照して、ガードユニット16bの動作について詳細に説明する。まず、ガードユニット16bに対するアクセス要求が発生すると違反検出器221は、全ての保護範囲設定レジスタを参照し、有効であるレジスタの値を読み込む(ステップS4)。このとき、全ての保護範囲設定レジスタが無効であった場合(YESの枝)、ガードユニット16bは、第1のプロセッサエレメントPE−Aからのアクセス要求を第2のプロセッサエレメントPE−Bのリソースコントローラ17bに通過させる(ステップS6)。次に、リソースコントローラ17bは、アクセス要求の実行結果をメモリレスポンスとしてガードユニット16bを介して第1のプロセッサエレメントPE−Aに返信する(ステップS7)。これによって、第1のプロセッサエレメントPE−Aのバスサイクルが完了する(ステップS8)。
一方、ステップS4で有効な保護範囲設定レジスタがあった場合(NOの枝)、違反検出器221は、有効な保護範囲設定レジスタの値を参照して、アクセス要求がアクセス許可範囲内かを判断する(ステップS5)。ステップS5にて、アクセス要求がアクセス許可範囲内であった場合(YESの枝)、上記ステップS6〜S8を実行する。一方、ステップS5にて、アクセス要求がアクセス許可範囲外であった場合(NOの枝)、アクセス無効化ユニット23は、アクセス要求に変えてアクセス無効値をリソースコントローラ17bに送信することでアクセス要求を無効化する(ステップS9)。また、レスポンス生成ユニット24は、アクセス違反値を第1のプロセッサエレメントPE−Aに返信する(ステップS10)。さらに、例外アクセス発生通知ユニット25は、例外アクセス通知信号を中央演算装置CPUbに出力する(ステップS11)。
上記説明より、本実施の形態にかかるプロセッサエレメントは、同じプロセッサエレメントに配置される中央演算装置によってアクセス保護範囲が設定されるガードユニットを有している。そして、ガードユニットよって他のプロセッサエレメントからのアクセス要求がアクセス保護範囲内であるか否かを判断して、制限すべきアクセス要求を遮断する。これによって、それぞれのプロセッサエレメントは、自プロセッサエレメントが使用する専用のメモリ領域を確保しながら、専用領域として使用されない領域を共有領域として他のプロセッサエレメントと共有することができる。また、本実施の形態にかかるプロセッサエレメントでは、アクセス保護範囲設定値を自プロセッサエレメントが指定し、それを格納する保護情報設定レジスタを有している。このようなことから、本実施の形態にかかるプロセッサエレメントは、柔軟に保護範囲の設定を変更することが可能である。例えば、自プロセッサエレメントで行われている処理の状態に応じて、保護範囲を変更することが可能である。
さらに、専用領域に対して発行されるアクセス要求はガードユニットにて無効化されるため、専用領域に格納されるデータが他のプロセッサエレメントで実行されるタスクによって侵害されることがない。このようなことから、本実施の形態のプロセッサエレメントは、自プロセッサエレメントで実行しているタスクの信頼性を向上させることが可能である。
また、従来のマルチプロセッサシステムでは、他プロセッサエレメントが自プロセッサエレメントに対して起こしたアクセス違反を他プロセッサエレメントに通知することができなかった。このようなことから、従来のマルチプロセッサシステムでは、他プロセッサエレメントは、プロセッサエレメント間で発生した異常に対して、タスクの再起動などを行って動作を復旧することができなかった。
これに対して、本実施の形態にかかるガードユニットは、他プロセッサエレメントから例外アクセスが生じた場合に、自プロセッサエレメントに対して例外アクセス発生通知信号を生成し、さらに他プロセッサエレメントに対してアクセス違反値を返信する。このことから、自プロセッサエレメント及び他プロセッサエレメントはともに例外アクセスの発生を知ることができる。このように例外アクセスの発生を検知できれば、それぞれのプロセッサエレメントは例外アクセスに対して、それぞれ異常拡大の防止、異常タスクの復旧、又は、安全と判明しているタスクのみによる継続動作を行うことが可能である。つまり、自プロセッサエレメントにおいては他プロセッサエレメントで発生した異常に対する防御レベルの変更を行い自プロセッサエレメントで実行しているタスクを保護することが可能である。また、他プロセッサエレメントにおいては、タスクに異常が発生した時点でそのタスクを再起動するなどして、早期に異常状態からシステムを復旧することが可能である。このようなことから、本実施の形態にかかるプロセッサエレメントを有するマルチプロセッサシステムは、信頼性を向上させることが可能である。
実施の形態2
実施の形態2にかかるマルチプロセッサシステム2のブロック図を図6に示す。図6に示すように、マルチプロセッサシステム2では、第1のプロセッサエレメントPE−A2が共有リソース18aとしてI/Oインタフェース183aを有している。マルチプロセッサシステム2においても、第2のプロセッサエレメントPE−Bの構成は実施の形態1と同じである。
実施の形態2におけるリソースコントローラ17aは、I/Oインタフェース183aをアクセスアドレスに基づき制御する。I/Oインタフェース183aには、例えばエアバッグなどの被制御デバイス30が接続される。ここで、第2のプロセッサエレメントPE−Bは、I/Oインタフェース183aに対するアクセス権を有していないものとする。
このようなマルチプロセッサシステム2に搭載される第1のプロセッサエレメントPE−A2に対してガードユニット16aを設けることで、第2のプロセッサエレメントPE−Bのタスクが暴走してI/Oインタフェース183aに対するアクセス要求が発生したとしても、このアクセス要求はガードユニット16aで無効化される。これによって、マルチプロセッサシステム2は、他プロセッサエレメントのタスクの暴走に対して、エアバッグが誤動作することを防止することが可能である。
つまり、共有リソース18aとしては、メモリだけに限られず様々なリソースを設定することが可能である。また、このような共有リソースを有するマルチプロセッサシステムにおいてガードユニットを設けることでマルチプロセッサシステムの信頼性を向上させることが可能である。
実施の形態3
実施の形態3にかかるマルチプロセッサシステム3のブロック図を図7に示す。図7に示すように、マルチプロセッサシステム3では、第1のプロセッサエレメントPE−Aと同じ構成を有する第2のプロセッサエレメントPE−B及び第3のプロセッサエレメントPE−Cを有している。そして、第1のプロセッサエレメントPE−A、第2のプロセッサエレメントPE−B及び第3のプロセッサエレメントPE−Cは、互いにバスを介して接続される。このような場合であっても、カードユニットによって、実施の形態1と同様にシステムの信頼性を向上させることが可能である。
マルチプロセッサシステム3ように、2つ以上のプロセッサエレメントを接続する場合、バス構造として複数のプロセッサエレメントがそれぞれマスタとなるマルチマスタバス等を用いることが可能である。
実施の形態4
実施の形態4にかかるマルチプロセッサシステム4のブロック図を図8に示す。図8に示すようにマルチプロセッサシステム4は、第2のプロセッサエレメントとしてガードユニット及び共有リソースを有さないコプロセッサ40を使用する。この場合、コプロセッサにて実行されるタスクに異常が発生して、アクセス保護範囲に対してアクセス要求がであっても、第1のプロセッサエレメントPE−Aのガードユニットがこのアクセス要求を無効化する。本実施の形態では、第1のプロセッサエレメントPE−Aがガードユニットを有していることで、第1のプロセッサユニットPE−Aで実行されるタスクを保護される。
つまり、本発明にかかるマルチプロセッサシステムは、複数のプロセッサエレメントによって構成されるマルチプロセッサシステムにおいて、少なくとも1つのプロセッサエレメントに対してガードユニットが搭載されていれば、マルチプロセッサシステムの信頼性の向上が可能である。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、保護設定ユニットに格納される保護情報は、上記実施の形態のアクセス保護範囲設定値に限られず、システムに応じて適宜変更することが可能である。
実施の形態1にかかるマルチプロセッサシステムのブロック図である。 実施の形態1におけるガードユニットのブロック図である。 実施の形態1にかかる保護情報保持ユニットの概略図である。 実施の形態1にかかるマルチプロセッサシステムの動作を示すフローチャートである。 実施の形態1におけるガードユニットの動作を示すフローチャートである。 実施の形態2にかかるマルチプロセッサシステムのブロック図である。 実施の形態3にかかるマルチプロセッサシステムのブロック図である。 実施の形態4にかかるマルチプロセッサシステムのブロック図である。 従来例にかかるマルチプロセッサシステムのブロック図である。
符号の説明
1、2、3、4 マルチプロセッサシステム
11a、11b 制御部
12a、12b 実行部
13a、13b MMU
14a、14b ロード/ストアユニット
16a、16b、16c ガードユニット
17a、17b、17c リソースコントローラ
181a、181b、181c RAM
182a、182b 専用領域
183a I/Oインタフェース
21 保護設定ユニット
22 判定ユニット
221 違反検出器
23 アクセス無効化ユニット
24 レスポンス生成ユニット
25 例外アクセス発生通知ユニット
30 被制御デバイス
40 コプロセッサ
CPUa、CPUb、CPUc 中央演算装置
SEa、SEb、SEc アクセス保護範囲設定値
Ea、Eb、Ec 例外アクセス発生通知
PE−A、PE−B、PE−C プロセッサエレメント
SEL1、SEL2 セレクタ
SWa〜SWc バススイッチ

Claims (21)

  1. 第1、第2のプロセッサエレメントを有し、前記第1、第2のプロセッサエレメントが独立してプログラムを実行するマルチプロセッサシステムであって、
    前記第1のプロセッサエレメントは、
    プログラムに基づき演算処理を行う中央演算装置と、
    前記第1、第2のプロセッサエレメントの間で共有される共有リソースと、
    前記中央演算装置が指定するアクセス保護範囲設定値に基づき前記第2のプロセッサエレメントから前記共有リソースへのアクセス要求を制限するガードユニットと、
    を有するマルチプロセッサシステム。
  2. 前記共有リソースは、メモリであって、前記アクセス保護範囲設定値に基づき設定される前記第1のプロセッサエレメントのための専用領域と前記第1、第2のプロセッサエレメントで共有される共有領域とを有する請求項1に記載のマルチプロセッサシステム。
  3. 前記共有リソースは、前記アクセス保護範囲設定値に基づきアクセス権が設定される前記第1のプロセッサエレメントのための専用外部インタフェースを有する請求項1に記載のマルチプロセッサシステム。
  4. 前記ガードユニットは、前記中央演算装置から保護情報設定バスを介して送信される前記アクセス保護範囲設定値を保持する保護設定ユニットと、前記保護設定ユニットに保持されている情報に基づき前記アクセス要求が前記アクセス保護範囲設定値の範囲内か否かを判断する判定ユニットと、を有する請求項1乃至3のいずれか1項に記載のマルチプロセッサシステム。
  5. 前記保護設定ユニットは、それぞれに異なる設定を保持する複数の設定情報保持レジスタを有し、前記複数の設定情報保持レジスタは、それぞれ保護するアクセス範囲を保持する保護範囲設定レジスタと、前記設定情報保持レジスタの値の有効・無効を示すフラグ値を保持するイネーブルフラグレジスタとを有する請求項4に記載のマルチプロセッサシステム。
  6. 前記保護設定ユニットは、さらに前記アクセス範囲に対するアクセス属性を保持する保護属性レジスタを有する請求項5に記載のマルチプロセッサシステム。
  7. 前記判定ユニットは、前記複数の設定情報保持レジスタのうち前記フラグ値が有効を示すレジスタに保持されたアクセス保護範囲設定値に基づき前記アクセス要求を判断し、全ての前記フラグ値が無効を示す場合、前記ガードユニットによるアクセス要求の制限を解除する請求項5に記載のマルチプロセッサシステム。
  8. 前記ガードユニットは、前記アクセス要求が前記アクセス保護範囲設定値の範囲内であった場合に前記中央演算装置に例外アクセス通知信号を出力する例外アクセス発生通知ユニットを有し、前記例外アクセス発生通知信号は、前記中央演算装置において割り込み処理される請求項1乃至7のいずれか1項に記載のマルチプロセッサシステム。
  9. 前記ガードユニットは、前記アクセス要求が前記アクセス保護範囲設定値の範囲内であった場合に前記アクセス要求に代えてアクセス無効値を当該第1のプロセッサエレメント内に出力し、前記アクセス要求が前記アクセス保護範囲設定値の範囲外であった場合に前記アクセス要求を通過させる無効化ユニットを有する請求項1乃至8のいずれか1項に記載のマルチプロセッサシステム。
  10. 前記ガードユニットは、前記アクセス要求が前記アクセス保護範囲設定値の範囲外であった場合に前記共有リソースが出力するレスポンス情報を通過させ、前記アクセス要求が前記アクセス保護範囲設定値の範囲内であった場合にアクセス違反値を前記第2のプロセッサエレメントに対して出力するレスポンス生成ユニットを有する請求項1乃至9のいずれか1項に記載のマルチプロセッサシステム。
  11. 前記第2のプロセッサエレメントは、前記第1のプロセッサエレメントから前記アクセス違反値が返信された場合、前記中央演算処理装置が実行中の処理にかかわらず前記アクセス違反値に基づく処理を優先的に割り込み処理する請求項10に記載のマルチプロセッサシステム。
  12. 前記第1のプロセッサエレメントは、前記中央演算装置と、前記共有リソースと、前記ガードユニットとが同一の半導体基板上に形成される請求項1乃至11のいずれか1項に記載のマルチプロセッサシステム。
  13. 前記第1のプロセッサエレメントと前記第2のプロセッサエレメントとが同一の半導体基板上に形成される請求項1乃至12のいずれか1項に記載のマルチプロセッサシステム。
  14. 第1、第2のプロセッサエレメントを有し、前記第1、第2のプロセッサエレメントが独立してプログラムを実行するマルチプロセッサシステムにおけるアクセス保護方法であって、
    前記第2のプロセッサエレメントは、前記第1のプロセッサエレメントが有する共有リソースに対してアクセス要求を送信し、
    前記第1のプロセッサエレメントは、ガードユニットにて前記アクセス要求を受信し、前記アクセス要求が前記第1のプロセッサエレメント内の中央演算装置が指定するアクセス保護範囲設定値の範囲内である場合、
    前記第2のプロセッサエレメントに対してアクセス違反値の返信と、
    前記アクセス要求の無効化と、
    前記中央演算装置に対する例外アクセス発生の通知と、
    を行うマルチプロセッサシステムにおけるアクセス保護方法。
  15. 前記ガードユニットは、前記中央演算装置から保護情報設定バスを介して送信される前記アクセス制限設定値を保持する保護設定ユニットと、前記保護設定ユニットに保持されている情報に基づき前記アクセス要求が前記アクセス制限設定値の範囲内か否かを判断する判定ユニットと、を有する請求項14に記載のマルチプロセッサシステムにおけるアクセス保護方法。
  16. 前記保護設定ユニットは、それぞれに異なる設定を保持する複数の設定情報保持レジスタを有し、前記複数の設定情報保持レジスタは、それぞれ保護するアクセス範囲を保持する保護範囲設定レジスタと、前記設定情報保持レジスタの値の有効・無効を示すフラグ値を保持するイネーブルフラグレジスタとを有する請求項15に記載のマルチプロセッサシステムにおけるアクセス保護方法。
  17. 前記保護設定ユニットは、さらに前記アクセス範囲に対するアクセス属性を保持する保護属性レジスタを有する請求項16に記載のマルチプロセッサシステムにおけるアクセス保護方法。
  18. 前記判定ユニットは、前記複数の設定情報保持レジスタのうち前記フラグ値が有効を示すレジスタに保持されたアクセス保護範囲設定値に基づき前記アクセス要求を判断し、全ての前記フラグ値が無効を示す場合、前記ガードユニットによるアクセス要求の制限を解除する請求項16に記載のマルチプロセッサシステムにおけるアクセス保護方法。
  19. 前記ガードユニットは、前記アクセス要求が前記アクセス保護範囲設定値の範囲内であった場合に前記中央演算装置に例外アクセス通知信号を出力する例外アクセス発生通知ユニットを有し、前記例外アクセス発生通知信号は、中央演算装置において割り込み処理される請求14乃至18のいずれか1項に記載のマルチプロセッサシステムにおけるアクセス保護方法。
  20. 前記ガードユニットは、前記アクセス要求が前記アクセス保護範囲設定値の範囲内であった場合にアクセス無効値を出力し、前記アクセス要求が前記アクセス保護範囲設定値の範囲外であった場合に前記アクセス要求を通過させる無効化ユニットを有する請求項14乃至19のいずれか1項に記載のマルチプロセッサシステムにおけるアクセス保護方法。
  21. 前記ガードユニットは、前記アクセス要求が前記アクセス保護範囲設定値の範囲外であった場合に前記共有リソースが出力するレスポンス情報を通過させ、前記アクセス要求が前記アクセス保護範囲設定値の範囲内であった場合にアクセス違反値を出力するレスポンス生成ユニットを有する請求項14乃至20のいずれか1項に記載のマルチプロセッサシステムにおけるアクセス保護方法。
JP2007079160A 2007-03-26 2007-03-26 マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス保護方法 Active JP5308629B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007079160A JP5308629B2 (ja) 2007-03-26 2007-03-26 マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス保護方法
US12/076,941 US8893142B2 (en) 2007-03-26 2008-03-25 Multiprocessor system for restricting an access request to a shared resource
US14/533,870 US20150067277A1 (en) 2007-03-26 2014-11-05 Multiprocessor system for restricting an access request to a shared resource

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007079160A JP5308629B2 (ja) 2007-03-26 2007-03-26 マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス保護方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013111003A Division JP5651209B2 (ja) 2013-05-27 2013-05-27 マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JP2008242593A true JP2008242593A (ja) 2008-10-09
JP5308629B2 JP5308629B2 (ja) 2013-10-09

Family

ID=39796595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007079160A Active JP5308629B2 (ja) 2007-03-26 2007-03-26 マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス保護方法

Country Status (2)

Country Link
US (2) US8893142B2 (ja)
JP (1) JP5308629B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010238193A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd 情報処理プログラム、情報処理装置および情報処理方法
JP2012238089A (ja) * 2011-05-10 2012-12-06 Fujitsu Semiconductor Ltd 集積回路装置、検証装置及び検証方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9037824B2 (en) * 2009-03-26 2015-05-19 Micron Technology, Inc. Password accessible microelectronic memory
US8255723B2 (en) * 2009-07-24 2012-08-28 Freescale Semiconductor, Inc. Device having multiple instruction execution modules and a management method
US20120179898A1 (en) * 2011-01-10 2012-07-12 Apple Inc. System and method for enforcing software security through cpu statistics gathered using hardware features
CN103201750B (zh) * 2011-09-08 2016-12-28 松下电器(美国)知识产权公司 计算机系统、计算机系统控制方法及集成电路
GB2540206B (en) 2015-07-10 2018-02-07 Advanced Risc Mach Ltd Apparatus and method for executing instruction using range information associated with a pointer
DE102015223335A1 (de) * 2015-11-25 2017-06-01 Robert Bosch Gmbh Verfahren zum Betreiben eines Mikrocontrollers

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5036041A (ja) * 1973-07-11 1975-04-04
JPS5164335A (en) * 1972-09-20 1976-06-03 Hitachi Ltd shukiokusochihogohoshiki
JPS61195442A (ja) * 1985-02-26 1986-08-29 Mitsubishi Electric Corp 記憶保護装置
JPS6231441A (ja) * 1985-05-10 1987-02-10 タンデム コンピユ−タ−ズ インコ−ポレ−テツド 高レベル自己検査式知能i/oコントロ−ラ
JPH03141446A (ja) * 1989-10-27 1991-06-17 Hitachi Ltd メモリ保護回路
JPH0695974A (ja) * 1992-09-10 1994-04-08 Fujitsu Ltd メモリ保護方式
JP2004259298A (ja) * 2004-04-21 2004-09-16 Toshiba Corp 仮想記憶管理方法
WO2005022301A2 (en) * 2003-09-02 2005-03-10 Sirf Technology, Inc. Memory reallocation and sharing in electronic systems
JP2006323675A (ja) * 2005-05-19 2006-11-30 Fujitsu Ltd 情報処理装置、情報処理方法及びコンピュータプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09297711A (ja) 1996-05-01 1997-11-18 Mitsubishi Electric Corp マルチプロセッサシステムにおけるメモリボードの記憶保護装置
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
JP2002032352A (ja) 2000-07-17 2002-01-31 Mitsubishi Electric Corp マルチプロセッサシステム
US7120755B2 (en) * 2002-01-02 2006-10-10 Intel Corporation Transfer of cache lines on-chip between processing cores in a multi-core system
EP1619572A1 (en) * 2004-07-23 2006-01-25 Texas Instruments Incorporated System and method of identifying and preventing security violations within a computing system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5164335A (en) * 1972-09-20 1976-06-03 Hitachi Ltd shukiokusochihogohoshiki
JPS5036041A (ja) * 1973-07-11 1975-04-04
JPS61195442A (ja) * 1985-02-26 1986-08-29 Mitsubishi Electric Corp 記憶保護装置
JPS6231441A (ja) * 1985-05-10 1987-02-10 タンデム コンピユ−タ−ズ インコ−ポレ−テツド 高レベル自己検査式知能i/oコントロ−ラ
JPH03141446A (ja) * 1989-10-27 1991-06-17 Hitachi Ltd メモリ保護回路
JPH0695974A (ja) * 1992-09-10 1994-04-08 Fujitsu Ltd メモリ保護方式
WO2005022301A2 (en) * 2003-09-02 2005-03-10 Sirf Technology, Inc. Memory reallocation and sharing in electronic systems
JP2007513390A (ja) * 2003-09-02 2007-05-24 サーフ テクノロジー インコーポレイテッド 電子システムにおけるメモリの再割り当ておよび共有
JP2004259298A (ja) * 2004-04-21 2004-09-16 Toshiba Corp 仮想記憶管理方法
JP2006323675A (ja) * 2005-05-19 2006-11-30 Fujitsu Ltd 情報処理装置、情報処理方法及びコンピュータプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010238193A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd 情報処理プログラム、情報処理装置および情報処理方法
JP2012238089A (ja) * 2011-05-10 2012-12-06 Fujitsu Semiconductor Ltd 集積回路装置、検証装置及び検証方法

Also Published As

Publication number Publication date
US20150067277A1 (en) 2015-03-05
US8893142B2 (en) 2014-11-18
US20080244608A1 (en) 2008-10-02
JP5308629B2 (ja) 2013-10-09

Similar Documents

Publication Publication Date Title
JP5308629B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス保護方法
US10489332B2 (en) System and method for per-task memory protection for a non-programmable bus master
JP5975629B2 (ja) メモリ保護ユニットおよび記憶素子へのアクセスコントロール方法
EP1977363B1 (en) Protection system and method of operation therein
US20070277023A1 (en) Method For Switching Over Between At Least Two Operating Modes Of A Processor Unit, As Well Corresponding Processor Unit
JP2008518310A (ja) マルチプロセッサシステム内のメモリユニットを監視する方法および装置
JP2009251967A (ja) マルチコアシステム
JP2020004108A (ja) 半導体装置、制御システムおよび半導体装置の制御方法
JP2016516228A (ja) システムオンチップ内のスレーブユニットへの、コントロール下でのアクセス方法および回路装置
WO2015045507A1 (ja) 車両用制御装置
JP5651209B2 (ja) マルチプロセッサシステム
CN111213144B (zh) 单芯片系统,用于运行单芯片系统的方法及机动车
JP2010186242A (ja) 計算機システム
JP2011065528A (ja) マルチプロセッサシステム
JP2018067047A (ja) 制御装置
JP5999216B2 (ja) データ処理装置
JP2008186212A (ja) データ処理システム
JP2009069963A (ja) マルチプロセッサシステム
JP5699896B2 (ja) 情報処理装置、異常判定方法
KR20160045699A (ko) 시간 집약적 명령의 처리
JPH11338833A (ja) マルチプロセッサ型コントローラ及びスケーラブルコントローラシステム
JP2012133458A (ja) マイコン、リソース割り当て方法
JP6349444B2 (ja) 車両用制御装置
JP4340669B2 (ja) 入出力制御装置,入出力制御方法,プロセス制御装置及びプロセス制御方法
JP2005234744A (ja) マルチプロセッサシステム及び障害処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130527

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130701

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5308629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350