JP2009134499A - データ処理装置及びデータ処理装置の制御方法 - Google Patents

データ処理装置及びデータ処理装置の制御方法 Download PDF

Info

Publication number
JP2009134499A
JP2009134499A JP2007309902A JP2007309902A JP2009134499A JP 2009134499 A JP2009134499 A JP 2009134499A JP 2007309902 A JP2007309902 A JP 2007309902A JP 2007309902 A JP2007309902 A JP 2007309902A JP 2009134499 A JP2009134499 A JP 2009134499A
Authority
JP
Japan
Prior art keywords
branch
instruction
program
data processing
signal
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
JP2007309902A
Other languages
English (en)
Other versions
JP5112831B2 (ja
Inventor
Hitoshi Suzuki
均 鈴木
Yukihiko Akaike
幸彦 赤池
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 JP2007309902A priority Critical patent/JP5112831B2/ja
Priority to US12/292,259 priority patent/US8069338B2/en
Publication of JP2009134499A publication Critical patent/JP2009134499A/ja
Application granted granted Critical
Publication of JP5112831B2 publication Critical patent/JP5112831B2/ja
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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

【課題】従来のデータ処理装置では、周辺装置において発生する例外を適切に処理できずシステムが誤動作する問題があった。
【解決手段】本発明のデータ処理装置は、実行するプログラムに基づいて周辺装置20、30に対して操作指示信号を与え、分岐指示信号を受けて分岐動作を実行するプログラム実行部11と、分岐指示信号と、周辺装置20、30において行われている操作が実行中であるか否かを示す周辺装置状態通知信号と、が入力される分岐待ち合せ操作部15と、を有し、分岐待ち合せ部15は、周辺装置状態通知信号が周辺装置20、30の操作が実行中であることを示すアクティブ状態である期間に分岐指示信号が入力された場合に、プログラム実行部11に対して分岐動作の待機を指示する命令発行停止信号を出力するデータ処理装置である。
【選択図】図1

Description

本発明はデータ処理装置及びデータ処理装置の制御方法に関し、特に、実行するプログラムに基づいて周辺装置に対して操作指示信号を与え、分岐指示信号を受けて分岐動作を実行するプログラム実行部を備えるデータ処理装置及びデータ処理装置の制御方法に関する。
近年、マイコン等のデータ処理装置では、処理性能を向上させるために、プログラムの並列処理が行われている。例えば、データ処理装置では、プログラムに基づき命令を実行するプログラム実行部と、プログラム実行部からの操作指示に基づき動作する周辺装置(例えばコプロセッサ)とを有する。そして、プログラム実行部において実行中のプログラムにおいてコプロセッサを利用する命令が生じた場合に、プログラム実行部は、コプロセッサに操作指示を出すとともに、その操作指示に続く命令を実行する。このような構成とすることで、プログラム実行部とコプロセッサは、互いに並列に処理を実行することができる。このような並列処理を行うデータ処理装置の一例が特許文献1に開示されている。
特許文献1に開示されているデータ処理装置100のブロック図を図10に示す。図10に示すように、データ処理装置100は、CPU(Central Processing Unit)101、コプロセッサ102、主記憶装置103、アドレスバス104、データバス105を有している。データ処理装置100は、CPU101、コプロセッサ102、主記憶装置103がそれぞれアドレスバス104及びデータバス105を介して互いに接続される。アドレスバス104は、データの送受信先を示すアドレスを転送するバスである。データバス105は、送受信するデータを転送するバスである。データ訴処理装置100では、主記憶装置102に格納されているプログラムをCPU10が実行する。また、CPU101は、プログラムに応じてコプロセッサ102に対する操作指示を出力する。コプロセッサ102は、ステータスポート121、コマンドポート122、オペランドポート123、実行ユニット124を有する。ステータスポート121は、コプロセッサ102の実行処理の結果、例外が発生した場合にその内容をCPU101に出力するポートである。コマンドポート122は、コプロセッサ102に対する命令の内容をCPU101が書き込むためのポートである。オペランドポート123は、コプロセッサ102の処理において必要なオペランドデータをCPU101が与える必要があるとき、又は、コプロセッサ102からCPU101に書き戻す必要があるときに用いるポートである。実行ユニット124は、コマンドポート122、オペランドポート123を介して与えられるデータに基づき処理を実行する。そして、実行ユニット124は、処理の実行状態に応じて、CPU101に対してCPEND信号、CPERR信号、BUSY信号を出力する。
データ処理装置100の動作を示すタイミングチャートを図11に示す。図11に示すように、CPU101は、コプロセッサ102に対して転送すべき命令が発生すると、アドレスバス104を用いてコマンドポート122を指定し、データバス105を介してコマンドポート122にオペランドコードを送信する。そして、コプロセッサ102では、BUSY信号をアクティブにして、CPU101から送信されるオペランドコードを受信し、処理を開始する。また、コプロセッサ102は、オペランドコードの受信が正しく完了したことをCPERR信号をインアクティブにすることでCPU101に通知する。一方、CPU101では、コプロセッサに対する命令発行が完了すると、次のプログラム処理を続ける。このように、データ処理装置100では、コプロセッサ102に命令を転送した後に、CPU101がプログラムの処理を継続することで、CPU101とコプロセッサ101の並列処理を実現する。
また、データ処理装置100のコプロセッサ102において実行されている処理で例外が発生した場合のデータ処理装置100の動作について説明する。図11に示すように、コプロセッサ102において実行されている処理において例外が発生すると、コプロセッサは例外をステータスポート121に保留した状態で休止した状態となる。このような場合であっても、CPU101は、コプロセッサ102に対して転送すべき命令が発生すると、アドレスバス104を用いてコマンドポート122を指定し、データバス105を介してコマンドポート122にオペランドコードを送信する。そして、コプロセッサ102では、BUSY信号をアクティブにして、CPU101から送信されるオペランドコードを受信する。しかし、この場合、コプロセッサ102は、例外が前の処理において発生しているためCPERR信号をアクティブに保つ。また、CPU101は、オペランドコードの転送時に、コプロセッサ102が出力するCPEND信号がインアクティブであることを読み取り、コプロセッサ102の処理が未だ完了していないことを認識する。そして、CPU101は、BUSY信号の立ち上がりに応じて、アドレスバス104を用いてステータスポート121を指定し、データバス105を介してステータス情報を読み取る。これにより、CPU101は、コプロセッサ102において前回処理した内容に関し例外が発生していることを認識し、前回処理に対する例外処理を行う。
特開平1−109466号公報
しかしながら、データ処理装置では、分岐動作によって実行するプログラムを現在実行中のプログラムとは異なるプログラムに切り替えることがある。この分岐動作が行われる前に実行されていたプログラムを分岐元プログラムと称し、分岐動作によって新たに実行されるプログラムを分岐先プログラムあるいは割り込みプログラムと称す。このように、分岐動作が行われるデータ処理装置では、分岐元プログラムが指示した周辺装置に対する命令に関して例外が発生し、その例外通知を分岐先プログラムの実行中に受け取った場合、データ処理装置が本来正常に動作している分岐先プログラムに異常が発生していると誤認識する場合がある。
また、データ処理装置において実行されている分岐先プログラムがクリティカルセクションと呼ばれる割り込み禁止状態で動作している場合、図12のプログラム処理フローに示す問題が発生する。この場合、分岐先プログラムのクリティカルセクションの終了後にその例外処理が行われる。また、コプロセッサは例外発生と同時に休止状態となる。そのため、クリティカルセクションで動作する割り込みプログラムが例外を通知したコプロセッサを利用する場合、割り込みプログラムはコプロセッサに正しくアクセスできない。そのため分岐先プログラムは、誤った処理結果を出力することがある。このように、分岐先プログラムが誤った処理結果を出力した場合、誤った処理結果によってメモリ上に格納されたデータが破壊されてしまうことがある。データが破壊された場合、データの復旧は困難であるため、データ処理装置の動作を復旧するためにはリセット等の初期化を実行しなければならない。このように、データ処理装置では、周辺装置において発生した例外が分岐先プログラムや割り込みプログラムの実行中に通知された場合、分岐先プログラムや割り込みプログラムの処理を正しく終了できない、あるいは、分岐元のプログラムの不具合が分岐先プログラムや割り込みプログラムに伝搬する問題がある。
特許文献1に記載のデータ処理装置100においてされる例外通知は、このようなプログラムの分岐動作を考慮していないため、データ処理装置100では上述した問題が発生する。つまり、データ処理装置100では、プログラムの分岐動作と、そのときに発生する例外処理との関係により、分岐動作に関する信頼性を確保できない問題がある。
本発明の一態様は、実行するプログラムに基づいて周辺装置に対して操作指示信号を与え、分岐指示信号を受けて分岐動作を実行するプログラム実行部と、前記分岐指示信号と、前記周辺装置において行われている操作が実行中であるか否かを示す周辺装置状態通知信号と、が入力される分岐待ち合せ操作部と、を有し、前記分岐待ち合せ部は、前記周辺装置状態通知信号が前記周辺装置の操作が実行中であること示すアクティブ状態である期間に前記分岐指示信号が入力された場合に、前記プログラム実行部に対して前記分岐動作の待機を指示する命令発行停止信号を出力するデータ処理装置である。
また、本発明の別の態様は、実行するプログラムに基づいて周辺装置に対して操作指示信号を与え、分岐指示信号を受けて分岐動作を実行するデータ処理装置の制御方法であって、前記分岐指示信号と、前記周辺装置において行われている操作が実行中であるか否かを示す周辺装置状態通知信号と、を受信し、前記周辺装置状態通知信号が前記周辺装置の操作が実行中であること示すアクティブ状態である期間に前記分岐指示信号が入力された場合に、前記分岐動作の待機をさせるデータ処理装置の制御方法である。
本発明におけるデータ処理装置及びデータ処理装置の制御方法によれば、周辺装置が処理を実行している間に分岐動作が発生した場合であっても、周辺装置における処理が完了するまでは分岐動作が待機される。つまり、本発明におけるデータ処理装置及びその制御方法では、分岐動作のあとに例外が通知されることがない。従って、本発明におけるデータ処理装置及びその制御方法は、分岐先プログラム又は割り込みプログラムが分岐元プログラムの不具合に基づき誤動作することがない。
本発明におけるデータ処理装置及びその制御方法によれば、データ処理装置の分岐動作に関する動作の信頼性を向上させることができる。
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。図1に本実施の形態にかかるデータ処理装置1のブロック図を示す。図1に示すように、データ処理装置1は、CPU10、コプロセッサ20、メモリコントローラ30、OR回路40、割り込み制御部50を有している。本実施の形態では、CPU10、コプロセッサ20、メモリコントローラ30、OR回路40、割り込み制御部50は、それぞれ個別の半導体基板上に形成されているものとして説明する。しかし、本実施の形態は、CPU10、コプロセッサ20、メモリコントローラ30、OR回路40、割り込み制御部50が1つの半導体基板上に形成されるものを除外するものではない。つまり、本発明は、1つの半導体基板上にCPU10、コプロセッサ20、メモリコントローラ30、OR回路40、割り込み制御部50のいずれが組み合わされて形成されていても適用可能である。また、以下の説明では、周辺装置として、コプロセッサ20とメモリコントローラ30とを用いるが、周辺装置はこれに限られるものではない。
CPU10は、図示しないメモリ又は記憶装置からプログラムを読み出し、読み出したプログラムに基づき命令を実行する。CPU10は、プログラム実行部11、分岐待ち合せ操作部15を有しいている。さらに、プログラム実行部11は、命令発行部12、主命令実行部13、分岐命令実行部14を有している。命令発行部12は、プログラムに基づき次に実行する命令を選択し、主命令実行部13及び分岐命令実行部14に選択した命令を命令発行信号として発行する。また、命令発行部12は、分岐指示信号A(例えば、分岐要求信号)、分岐指示信号B(例えば、割り込み要求信号)又は、システムコールが入力され、分岐指示信号A又は分岐指示信号Bに基づき実行するプログラムを切り替える分岐動作を行う。さらに、命令発行部12には、例外通知信号と命令発行停止信号が入力される。例外通知信号が入力された場合、命令発行部12は、例外通知をした処理に関する例外処理を行う。また、命令発行部12は、命令発行停止信号に基づき命令発行を待機する。なお、以下の説明では、システムコールにつての説明は省略するが、システムコールは分岐命令の1つであって、プログラム実行部11において実行されているプログラムがOS(Operating System)等の複数のプログラムにおいて共通に用いられる管理プログラムの機能を呼び出すときに生成されるものである。
分岐待ち合せ制御部主命令実行部13は、命令発行部12が発行する命令のうち分岐命令以外の命令を実行する。また、主命令実行部13は、命令の種類に応じてコプロセッサ20及びメモリコントローラ30に操作指示を与える操作指示信号を出力する。分岐命令実行部14は、命令発行部12から出力される命令が分岐命令であった場合に、分岐先プログラムのアドレスと分岐命令を実行したことを通知する分岐要求信号を出力する。この分岐要求信号はプログラム実行部11及び分岐待ち合せ操作部15に送信される。
待ち合せ操作部15は、分岐指示信号と、周辺装置において行われている操作が実行中であるか否かを示す周辺装置状態通知信号と、例外通知信号とが入力される。そして、分岐待ち合せ部14は、周辺辺装置状態通知信号が周辺装置の操作が実行中であることを示している周辺装置処理期間に分岐指示信号が入力された場合には、プログラム実行部11に対して分岐動作の待機を指示する命令発行停止信号を出力する。なお、分岐指示信号には、分岐命令実行部14が出力する分岐要求信号と、割り込み制御部50が出力する割り込み要求信号が含まれるものとする。また、以下の説明では、命令発行停止信号が分岐動作の待機を指示する状態を命令発行停止信号のアクティブ状態とし、命令発行停止信号が分岐動作の待機の解除を指示する状態を命令発行停止信号のインアクティブ状態とする。
コプロセッサ20は、主命令実行部13から出力される操作指示信号に基づきCPU10とは異なる処理を行う。例えば、コプロセッサ20では、浮動小数点演算が行われる。そして、コプロセッサ20は、処理の実行中にアクティブ状態となる操作中信号Aを出力する。また、コプロセッサ20は、実行する処理において例外が発生した場合、例外が発生したことを例外通知信号をアクティブにすることでCPU10に通知する。
メモリコントローラ30は、主命令実行部13から出力される操作指示信号に基づき図示しないメモリへのデータの書き込み又はメモリからのデータの読み出しを行う。そして、メモリコントローラ30は、処理の実行中にアクティブ状態となる操作中信号Bを出力する。また、メモリコントローラ30は、実行する処理において例外が発生した場合、例外が発生したことを例外通知信号をアクティブにすることでCPU10に通知する。
OR回路40は、操作中信号A、Bが入力され、操作中信号A、Bの少なくとも一方がアクティブ状態である場合にアクティブ状態を示す周辺装置状態通知信号を出力する。この周辺装置状態通知信号は、CPU10の分岐待ち合せ操作部15に入力される。割り込み制御部50は、図示しない他の周辺装置から出力される割り込み要求信号に基づき、CPU10に与える割り込み要求信号を出力する。
次に、本実施の形態におけるデータ処理装置1の動作について説明する。以下の説明では、プログラム実行部11が分岐指示信号に基づき分岐動作を行ない、実行するプログラムを切り替える場合について説明する。以下の説明では、分岐指示信号のうち分岐要求信号に基づき分岐動作が行われる例について説明するが、割り込み要求信号に基づき分岐動作が行われる場合であっても、実質的に同じ動作となる。ここで、分岐動作によるプログラムの切り替わりにおいて、分岐動作の前に実行されているプログラムを分岐元プログラムと称す。また、分岐動作後に実行されるプログラムを分岐先プログラムと称す。
データ処理装置1の動作の第1の動作例の説明として、分岐要求信号により分岐動作が行なわれる場合におけるデータ処理装置1のプログラムの処理フローを図2に示す。図2に示すように、データ処理装置1では、プログラム実行部11において処理されている分岐元プログラムに基づきコプロセッサ命令が発行されるとコプロセッサ20に操作指示が通知される。そして、この操作指示に基づきコプロセッサ20が操作を開始する。このとき、プログラム実行11では、コプロセッサ20で行なわれている処理と並列に分岐元プログラムが処理されており、分岐元プログラムにおいてメモリ操作命令が発行されるとメモリコントローラ30に操作指示が通知される。そして、この操作指示に基づきメモリコントローラ30が操作を開始する。このとき、このとき、プログラム実行11では、コプロセッサ20で行なわれている処理と並列に分岐元プログラムが処理され、プログラム実行部11ではメモリ操作命令に続く分岐命令が実行される。
この分岐命令に基づき分岐命令実行部14は、分岐要求信号を出力する。この分岐要求信号は、命令発行部12に通知され、命令発行部12は、分岐要求信号に基づき分岐先プログラムの命令を発行する準備をする。しかし、本実施の形態では、コプロセッサ20又はメモリコントローラ30が動作している期間に分岐要求信号が発生すると分岐待ち合せ操作部15が命令発行部12に対してアクティブ状態の命令発行停止信号を出力するため、命令実行部12は、分岐先プログラムに基づく命令の発行を待機させる。そして、コプロセッサ20及びメモリコントローラ30の動作が完了すると、命令発行停止信号がインアクティブ状態となるため、これに応じて命令発行部12は、準備していた分岐先プログラムの命令を発行する。
ここで、第1の動作例における処理フローを更に詳しく説明するために、第1の動作例におけるデータ処理装置1の動作を示すタイミングチャートを図3に示す。図3では、データ処理装置1において実行されるプログラムにおける命令処理の時間単位をサイクルで示した。
図3に示すように、サイクル1で、プログラム実行部11においてコプロセッサ命令が実行されると、サイクル2からコプロセッサ20の操作が開始され、コプロセッサ20の操作中信号Aがインアクティブ状態からアクティブ状態になる。図3に示す例では、コプロセッサ20の操作はサイクル4までかかるものとする。そのため、コプロセッサ20の操作中信号Aはサイクル2からサイクル4までの期間にアクティブ状態となる。なお、第1の動作例では、コプロセッサ20は例外を発生しないため、コプロセッサ20の例外通知信号はインアクティブ状態を維持する。
次に、サイクル2で、プログラム実行部11においてメモリ操作命令が実行されると、サイクル3からメモリコントローラ30の操作が開始され、メモリコントローラ30の操作中信号Bがインアクティブ状態からアクティブ状態になる。図3に示す例では、メモリコントローラ30の操作はサイクル5までかかるものとする。そのため、メモリコントローラ30の操作中信号Bはサイクル3からサイクル5までの期間にアクティブ状態となる。なお、第1の動作例では、メモリコントローラ30は例外を発生しないため、メモリコントローラ30の例外通知信号はインアクティブ状態を維持する。
そして、サイクル3で、プログラム実行部11において分岐命令が実行される。この分岐命令の実行に伴いサイクル3で分岐要求信号がインアクティブ状態からアクティブ状態になる。また、分岐命令の実行に伴い、命令発行部12はサイクル4から分岐先プログラムの命令を発行するために、分岐先プログラムの命令発行準備をする。このとき、サイクル2からサイクル5の期間は操作中信号A、Bとに基づき周辺装置状態通知信号がアクティブ状態であるため、分岐待ち合せ操作部15はサイクル4から命令発行停止信号をインアクティブ状態からアクティブ状態に切り替える。従って、サイクル4では、命令発行部12は、準備した分岐先プログラムの発行を待機させる。
その後、サイクル4でコプロセッサ20の操作が完了し、サイクル5でメモリコントローラ30の操作が完了するため、サイクル6では周辺装置状態通知信号がインアクティブ状態となる。そのため、サイクル6では命令発行停止信号がインアクティブ状態となる。この命令発行停止信号のインアクティブ状態への切り替わりに応じて、命令発行部12は分岐先プログラムの命令を発行し、プログラム実行部11では分岐先プログラムに基づく動作が開始される。
図2、3に示す第1の動作例では、コプロセッサ20及びメモリコントローラ30のいずれも例外を発生させることなく操作を完了した場合の例について説明した。以下では、図2及び図3に示した動作に対して、メモリコントローラ30において例外が発生する第2の動作例について説明する。第2の動作例にかかるプログラム処理フローを図4に示す。
図4に示すように、データ処理装置1では、プログラム実行部11において処理されている分岐元プログラムに基づきコプロセッサ命令が発行されるとコプロセッサ20に操作指示が通知される。そして、この操作指示に基づきコプロセッサ20が操作を開始する。このとき、プログラム実行11では、コプロセッサ20で行なわれている処理と並列に分岐元プログラムが処理されており、分岐元プログラムにおいてメモリ操作命令が発行されるとメモリコントローラ30に操作指示が通知される。そして、この操作指示に基づきメモリコントローラ30が操作を開始する。このとき、このとき、プログラム実行11では、コプロセッサ20で行なわれている処理と並列に分岐元プログラムが処理され、プログラム実行部11ではメモリ操作命令に続く分岐命令が実行される。
この分岐命令に基づき分岐命令実行部14は、分岐要求信号を出力する。この分岐要求信号は、命令発行部12に通知され、命令発行部12は、分岐要求信号に基づき分岐先プログラムの命令を発行する準備をする。しかし、本実施の形態では、コプロセッサ20又はメモリコントローラ30が動作している期間に分岐要求信号が発生すると分岐待ち合せ操作部15が命令発行部12に対してアクティブ状態の命令発行停止信号を出力するため、命令実行部12は、分岐先プログラムに基づく命令の発行を待機させる。
このとき、図4に示す第2の動作例では、コプロセッサ20の動作は例外なく完了する。一方、メモリコントローラ30では例外が発生した状態で動作が完了し、その後例外を保持した状態で無効状態となる。データ処理装置1では、このような例外が発生した場合、分岐先プログラムの実行前に、メモリコントローラ30の例外処理を行う。そして、例外処理が完了すると、メモリコントローラ30の無効状態を解除し、さらに、分岐先プログラムの実行を開始する。なお、分岐先プログラムは廃棄することも可能である。例えば、例外処理の結果、分岐先プログラムを正常に開始することができない場合は、分岐先プログラムを廃棄することが好ましい。
ここで、第2の動作例における処理フローを更に詳しく説明するために、第2の動作例におけるデータ処理装置1の動作を示すタイミングチャートを図5に示す。図5では、データ処理装置1において実行されるプログラムにおける命令処理の時間単位をサイクルで示した。
図5に示すように、サイクル1で、プログラム実行部11においてコプロセッサ命令が実行されると、サイクル2からコプロセッサ20の操作が開始され、コプロセッサ20の操作中信号Aがインアクティブ状態からアクティブ状態になる。図5に示す例では、コプロセッサ20の操作はサイクル4までかかるものとする。そのため、コプロセッサ20の操作中信号Aはサイクル2からサイクル4までの期間にアクティブ状態となる。なお、第2の動作例では、コプロセッサ20は例外を発生しないため、コプロセッサ20の例外通知信号はインアクティブ状態を維持する。
次に、サイクル2で、プログラム実行部11においてメモリ操作命令が実行されると、サイクル3からメモリコントローラ30の操作が開始され、メモリコントローラ30の操作中信号Bがインアクティブ状態からアクティブ状態になる。図5に示す例では、メモリコントローラ30の操作はサイクル5までかかるものとする。そのため、メモリコントローラ30の操作中信号Bはサイクル3からサイクル5までの期間にアクティブ状態となる。第2の動作例では、メモリコントローラ30は、サイクル5において例外が発生するため、サイクル5において例外通知信号をアクティブ状態にする。
そして、サイクル3で、プログラム実行部11において分岐命令が実行される。この分岐命令の実行に伴いサイクル3で分岐要求信号がインアクティブ状態からアクティブ状態になる。また、分岐命令の実行に伴い、命令発行部12はサイクル4から分岐先プログラムの命令を発行するために、分岐先プログラムの命令発行準備をする。このとき、サイクル2からサイクル5の期間は操作中信号A、Bとに基づき周辺装置状態通知信号がアクティブ状態であるため、分岐待ち合せ操作部15はサイクル4、5では命令発行停止信号をインアクティブ状態からアクティブ状態に切り替える。従って、サイクル4、5では、命令発行部12は、準備した分岐先プログラムの発行を待機させる。また、サイクル5でメモリコントローラ30の例外通知信号がアクティブ状態となったことに応じて、プログラム実行部11は、サイクル6でメモリコントローラ30に対する例外処理を行う準備をする。従って、サイクル6で行われる処理はメモリコントローラ30に対する例外処理となる。
その後、サイクル4でコプロセッサ20の操作が完了し、サイクル5でメモリコントローラ30の操作が完了するため、サイクル6では周辺装置状態通知信号がインアクティブ状態となる。そのため、サイクル6では命令発行停止信号がインアクティブ状態となる。この命令発行停止信号のインアクティブ状態への切り替わりに応じて、命令発行部12は分岐先プログラムの命令に代えて、メモリコントローラ30に対する例外処理を実行するための命令を発行し、プログラム実行部11では分岐先プログラムを実行する前にメモリコントローラ30の例外処理を実行する。
図2、3に示す第1の動作例では、コプロセッサ20及びメモリコントローラ30のいずれも例外を発生させることなく操作を完了した場合の例について説明した。以下では、図2及び図3に示した動作に対して、メモリコントローラ30よりも速く動作が完了するコプロセッサ20において例外が発生する第3の動作例について説明する。第3の動作例にかかるプログラム処理フローを図6に示す。
図6に示すように、データ処理装置1では、プログラム実行部11において処理されている分岐元プログラムに基づきコプロセッサ命令が発行されるとコプロセッサ20に操作指示が通知される。そして、この操作指示に基づきコプロセッサ20が操作を開始する。このとき、プログラム実行11では、コプロセッサ20で行なわれている処理と並列に分岐元プログラムが処理されており、分岐元プログラムにおいてメモリ操作命令が発行されるとメモリコントローラ30に操作指示が通知される。そして、この操作指示に基づきメモリコントローラ30が操作を開始する。このとき、このとき、プログラム実行11では、コプロセッサ20で行なわれている処理と並列に分岐元プログラムが処理され、プログラム実行部11ではメモリ操作命令に続く分岐命令が実行される。
この分岐命令に基づき分岐命令実行部14は、分岐要求信号を出力する。この分岐要求信号は、命令発行部12に通知され、命令発行部12は、分岐要求信号に基づき分岐先プログラムの命令を発行する準備をする。しかし、本実施の形態では、コプロセッサ20又はメモリコントローラ30が動作している期間に分岐要求信号が発生すると分岐待ち合せ操作部15が命令発行部12に対してアクティブ状態の命令発行停止信号を出力するため、命令実行部12は、分岐先プログラムに基づく命令の発行を待機させる。
このとき、図6に示す第3の動作例では、メモリコントローラ30の動作は例外なく完了する。一方、コプロセッサ20では例外が発生した状態で動作が完了し、その後例外を保持した状態で無効状態となる。データ処理装置1では、このような例外が発生した場合、メモリコントローラ30の動作が完了するまで、コプロセッサ20に対する例外処理を待機させる。そして、メモリコントローラ30の動作が完了した後にコプロセッサ20の例外処理を行う。そして、例外処理が完了すると、コプロセッサ20の無効状態を解除し、さらに、分岐先プログラムの実行を開始する。なお、分岐先プログラムは廃棄することも可能である。例えば、例外処理の結果、分岐先プログラムを正常に開始することができない場合は、分岐先プログラムを廃棄することが好ましい。
ここで、第3の動作例における処理フローを更に詳しく説明するために、第3の動作例におけるデータ処理装置1の動作を示すタイミングチャートを図7に示す。図7では、データ処理装置1において実行されるプログラムにおける命令処理の時間単位をサイクルで示した。
図7に示すように、サイクル1で、プログラム実行部11においてコプロセッサ命令が実行されると、サイクル2からコプロセッサ20の操作が開始され、コプロセッサ20の操作中信号Aがインアクティブ状態からアクティブ状態になる。図7に示す例では、コプロセッサ20の操作はサイクル4までかかるものとする。そのため、コプロセッサ20の操作中信号Aはサイクル2からサイクル4までの期間にアクティブ状態となる。第2の動作例では、コプロセッサ20は、サイクル4において例外が発生するため、サイクル4において例外通知信号をアクティブ状態にする。
次に、サイクル2で、プログラム実行部11においてメモリ操作命令が実行されると、サイクル3からメモリコントローラ30の操作が開始され、メモリコントローラ30の操作中信号Bがインアクティブ状態からアクティブ状態になる。図7に示す例では、メモリコントローラ30の操作はサイクル5までかかるものとする。そのため、メモリコントローラ30の操作中信号Bはサイクル3からサイクル5までの期間にアクティブ状態となる。なお、第2の動作例では、メモリコントローラ30は例外を発生しないため、メモリコントローラコプロセッサ30の例外通知信号はインアクティブ状態を維持する。
そして、サイクル3で、プログラム実行部11において分岐命令が実行される。この分岐命令の実行に伴いサイクル3で分岐要求信号がインアクティブ状態からアクティブ状態になる。また、分岐命令の実行に伴い、命令発行部12はサイクル4から分岐先プログラムの命令を発行するために、分岐先プログラムの命令発行準備をする。このとき、このとき、サイクル2からサイクル5の期間は操作中信号A、Bとに基づき周辺装置状態通知信号がアクティブ状態であるため、分岐待ち合せ操作部15はサイクル4から命令発行停止信号をインアクティブ状態からアクティブ状態に切り替える。従って、サイクル4では、命令発行部12は、準備した分岐先プログラムの発行を待機させる。また、サイクル4でコプロセッサ20の例外通知信号がアクティブ状態となったことに応じて、プログラム実行部11は、サイクル5でコプロセッサ20に対する例外処理を行う準備をする。そのため、サイクル5では、コプロセッサ20に対する例外処理が待機されることになる。
その後、サイクル4でコプロセッサ20の操作が完了し、サイクル5でメモリコントローラ30の操作が完了するため、サイクル6では周辺装置状態通知信号がインアクティブ状態となる。そのため、サイクル6では命令発行停止信号がインアクティブ状態となる。この命令発行停止信号のインアクティブ状態への切り替わりに応じて、命令発行部12は分岐先プログラムの命令に代えて、コプロセッサ20に対する例外処理を実行するための命令を発行し、プログラム実行部11では分岐先プログラムを実行する前にコプロセッサ20の例外処理を実行する。
上記説明より、本実施の形態にかかるデータ処理装置1では、分岐待ち合せ操作部15によって、周辺装置が動作中は分岐動作を待機させることができる。つまり、データ処理装置1は、分岐動作によってプログラム実行部11が分岐先プログラムを実行する前に、周辺装置において発生した例外を処理することができる。これにより、分岐先プログラムの実行中に、分岐元プログラムによってなされた操作指示に基づき周辺装置において発生した例外がプログラム実行部11に通知されることはない。
このような動作を行うことで、データ処理装置1は、分岐元プログラムによってなされた操作指示に基づき周辺装置において発生した例外を、例外の発生原因となった不具合を有する分岐元プログラムによって処理することができる。つまり、データ処理装置1は、周辺装置において発生した例外を発生原因となった不具合に基づいて適切に処理することができる。
また、データ処理装置1では、分岐先プログラムは、分岐元プログラムの動作が正常にかつ完全に終了した後で実行されるため、分岐元プログラムの不具合が分岐先プログラムの動作に伝搬することを防止することができる。これにより、データ処理装置1のリセット動作等の初期化を行うことなく、分岐元プログラムの再実行などによりプログラムの復旧することができる。つまり、本実施の形態にかかるデータ処理装置1では、分岐元プログラムの不具合又は誤動作を分岐先プログラムに伝搬させることがないため、システム全体の信頼性を向上させることができる。
本実施の形態にかかるデータ処理装置1は、様々なベンダーにより複数のプログラムが提供されるシステムにおいてより有効である。例えば、プログラム1は、本実施の形態のデータ処理装置1のために設計されたプログラムであり、プログラム2は、他のCPUに用いられていたプログラムの流用であって、このプログラム1、2をデータ処理装置1で動作させる場合である。このような場合、プログラム2は、分岐動作に関して、プログラム1の動作を考慮して設計されていない。つまり、プログラム1を実行中にプログラム2から割り込み要求があった場合、プログラム2はプログラム1の完了を待って待機することなく実行される。そのため、プログラム2の実行中にプログラム1に起因する例外が発生することがある。プログラム1、2がこのような動作を行った場合、プログラム2は正常であるにもかかわらず、異常終了してしまうことがある。
しかし、本実施の形態にかかるデータ処理装置1では、分岐待ち合せ操作部15によって、プログラム1の動作が完了した後にプログラム2を実行するため、上記のような問題は発生しない。つまり、本実施の形態にかかるデータ処理装置1は、実行されるプログラムの種類に依存することなくシステムの信頼性を向上させることが可能である。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、プログラム実行部11の構成は、上記実施の形態に限られたものではなくシステムに応じて適宜変更することが可能である。
実施の形態1にかかるデータ処理装置のブロック図である。 実施の形態1にかかるデータ処理装置の第1の動作例に関するプログラム処理フローである。 実施の形態1にかかるデータ処理装置の第1の動作例に関する動作を示すタイミングチャートである。 実施の形態1にかかるデータ処理装置の第2の動作例に関するプログラム処理フローである。 実施の形態1にかかるデータ処理装置の第2の動作例に関する動作を示すタイミングチャートである。 実施の形態1にかかるデータ処理装置の第3の動作例に関するプログラム処理フローである。 実施の形態1にかかるデータ処理装置の第3の動作例に関する動作を示すタイミングチャートである。 従来例にかかるデータ処理装置のブロック図である。 従来例にかかるデータ処理装置の動作を示すタイミングチャートである。 従来例にかかるデータ処理装置の課題を説明するためのプログラム処理フローである。
符号の説明
1 データ処理装置
10 CPU
11 プログラム実行部
12 命令発行部
13 主命令実行部
14 分岐命令実行部
15 分岐待ち合せ操作部
20 コプロセッサ
30 メモリコントローラ
40 OR回路
50 割り込み制御部

Claims (9)

  1. 実行するプログラムに基づいて周辺装置に対して操作指示信号を与え、分岐指示信号を受けて分岐動作を実行するプログラム実行部と、
    前記分岐指示信号と、前記周辺装置において行われている操作が実行中であるか否かを示す周辺装置状態通知信号と、が入力される分岐待ち合せ操作部と、を有し、
    前記分岐待ち合せ部は、
    前記周辺装置状態通知信号が前記周辺装置の操作が実行中であること示すアクティブ状態である期間に前記分岐指示信号が入力された場合に、前記プログラム実行部に対して前記分岐動作の待機を指示する命令発行停止信号を出力するデータ処理装置。
  2. 前記プログラム実行部は、前記命令発行停止信号による前記分岐動作の待機が解除された後に前記分岐動作を実行する請求項1に記載のデータ処理装置。
  3. 前記プログラム実行部は、前記命令発行停止信号が前記分岐動作の待機を指示している期間に、前記周辺機器において処理の例外が発生したことを通知する例外通知信号を受信した場合、前記命令発行停止信号による前記分岐動作の待機の解除に基づき前記分岐動作の前に前記例外通知信号に基づく例外処理を実行する請求項1又は2に記載のデータ処理装置。
  4. 前記分岐通知信号は、前記プログラム実行部において実行されたプログラムに基づき生成される分岐要求信号と、前記プログラム実行部とは別のブロックとして設けられる割り込み制御部から出力される割り込み要求信号と、前記プログラム実行部において実行されたプログラムに基づき生成されるシステムコールとを含む請求項1乃至3のいずれか1項に記載のデータ処理装置。
  5. 前記周辺装置状態通知信号は、前記操作指示信号にもとづき動作する複数の周辺装置がある場合、前記複数の周辺装置の少なくとも1つが操作を実行中であることを示す場合にアクティブ状態となる請求項1乃至4のいずれか1項に記載のデータ処理装置。
  6. 実行するプログラムに基づいて周辺装置に対して操作指示信号を与え、分岐指示信号を受けて分岐動作を実行するデータ処理装置の制御方法であって、
    前記分岐指示信号と、前記周辺装置において行われている操作が実行中であるか否かを示す周辺装置状態通知信号と、を受信し、
    前記周辺装置状態通知信号が前記周辺装置の操作が実行中であること示すアクティブ状態である期間に前記分岐指示信号が入力された場合に、前記分岐動作の待機させるデータ処理装置の制御方法。
  7. 前記データ処理装置は、前記分岐動作の待機が解除された後に前記分岐動作を実行する請求項6に記載のデータ処理装置の制御方法。
  8. 前記データ処理装置は、前記分岐動作の待機が指示されている期間に、前記周辺機器から処理の例外が発生したことが通知された場合、前記前記分岐動作の待機の解除に基づき前記分岐動作の前に前記周辺装置に対する例外処理を実行する請求項6又は7に記載のデータ処理装置の制御方法。
  9. 前記分岐通知信号は、前記データ処理装置において実行されたプログラムに基づき生成される分岐要求信号と、他の周辺装置からの割り込み要求を制御する割り込み制御部から出力される割り込み要求信号とを含む請求項6乃至8のいずれか1項に記載のデータ処理装置の制御方法。
JP2007309902A 2007-11-30 2007-11-30 データ処理装置及びデータ処理装置の制御方法 Active JP5112831B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007309902A JP5112831B2 (ja) 2007-11-30 2007-11-30 データ処理装置及びデータ処理装置の制御方法
US12/292,259 US8069338B2 (en) 2007-11-30 2008-11-14 Data processing device and control method for preventing an exception caused by an instruction sent to a peripheral device by a branch source program from occurring during execution of a branch destination program or interrupt program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007309902A JP5112831B2 (ja) 2007-11-30 2007-11-30 データ処理装置及びデータ処理装置の制御方法

Publications (2)

Publication Number Publication Date
JP2009134499A true JP2009134499A (ja) 2009-06-18
JP5112831B2 JP5112831B2 (ja) 2013-01-09

Family

ID=40676919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007309902A Active JP5112831B2 (ja) 2007-11-30 2007-11-30 データ処理装置及びデータ処理装置の制御方法

Country Status (2)

Country Link
US (1) US8069338B2 (ja)
JP (1) JP5112831B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344049B (zh) * 2018-08-17 2020-10-16 华为技术有限公司 测试数据处理系统的方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61250748A (ja) * 1985-04-27 1986-11-07 Nec Eng Ltd 情報処理装置のメモリアクセス方式
JPH03158928A (ja) * 1989-11-16 1991-07-08 Mitsubishi Electric Corp データ処理装置
JPH07129414A (ja) * 1993-11-08 1995-05-19 Fujitsu Ltd データ処理装置
JPH10247161A (ja) * 1997-03-04 1998-09-14 Nec Corp メモリ管理方式
JPH11154096A (ja) * 1997-11-21 1999-06-08 Oki Electric Ind Co Ltd フラッシュメモリの管理装置及びフラッシュメモリの管理方法、割り込み管理装置及び割り込み管理方法
JP2002073332A (ja) * 2000-08-25 2002-03-12 Sanyo Electric Co Ltd 演算実行装置及び方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341482A (en) * 1987-03-20 1994-08-23 Digital Equipment Corporation Method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions
JPH0679307B2 (ja) * 1987-10-22 1994-10-05 日本電気株式会社 コプロセッサの並行動作制御方式
US5109514A (en) * 1988-07-28 1992-04-28 Sun Microsystems, Inc. Method and apparatus for executing concurrent CO processor operations and precisely handling related exceptions
US5134693A (en) * 1989-01-18 1992-07-28 Intel Corporation System for handling occurrence of exceptions during execution of microinstructions while running floating point and non-floating point instructions in parallel
US5257216A (en) * 1992-06-10 1993-10-26 Intel Corporation Floating point safe instruction recognition apparatus
US5559977A (en) * 1992-08-04 1996-09-24 Intel Corporation Method and apparatus for executing floating point (FP) instruction pairs in a pipelined processor by stalling the following FP instructions in an execution stage
US5898864A (en) * 1995-09-25 1999-04-27 International Business Machines Corporation Method and system for executing a context-altering instruction without performing a context-synchronization operation within high-performance processors
US5884062A (en) * 1996-08-30 1999-03-16 Texas Instruments Incorporated Microprocessor with pipeline status integrity logic for handling multiple stage writeback exceptions
US5961630A (en) * 1997-12-30 1999-10-05 Intel Corporation Method and apparatus for handling dynamic structural hazards and exceptions by using post-ready latency
US6910122B1 (en) * 2000-02-18 2005-06-21 Hewlett-Packard Development Company, L.P. Method and apparatus for preserving pipeline data during a pipeline stall and for recovering from the pipeline stall
US7310723B1 (en) * 2003-04-02 2007-12-18 Transmeta Corporation Methods and systems employing a flag for deferring exception handling to a commit or rollback point

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61250748A (ja) * 1985-04-27 1986-11-07 Nec Eng Ltd 情報処理装置のメモリアクセス方式
JPH03158928A (ja) * 1989-11-16 1991-07-08 Mitsubishi Electric Corp データ処理装置
JPH07129414A (ja) * 1993-11-08 1995-05-19 Fujitsu Ltd データ処理装置
JPH10247161A (ja) * 1997-03-04 1998-09-14 Nec Corp メモリ管理方式
JPH11154096A (ja) * 1997-11-21 1999-06-08 Oki Electric Ind Co Ltd フラッシュメモリの管理装置及びフラッシュメモリの管理方法、割り込み管理装置及び割り込み管理方法
JP2002073332A (ja) * 2000-08-25 2002-03-12 Sanyo Electric Co Ltd 演算実行装置及び方法

Also Published As

Publication number Publication date
US8069338B2 (en) 2011-11-29
JP5112831B2 (ja) 2013-01-09
US20090144454A1 (en) 2009-06-04

Similar Documents

Publication Publication Date Title
JP5323828B2 (ja) 仮想計算機制御装置、仮想計算機制御プログラム及び仮想計算機制御回路
CN102473169B (zh) 动态系统重新配置
JP2006351008A (ja) マルチスレッドプロセッサのディスパッチ時にスレッドをブロックする方法、コンピュータプログラム、および装置(精細なマルチスレッドディスパッチロックメカニズム)
JP2008225858A (ja) Biosストール障害時の復旧装置、その方法及びそのプログラム
US10379931B2 (en) Computer system
JP4569934B2 (ja) 情報処理装置、例外制御回路及び例外制御方法
WO2007088816A1 (ja) マルチプロセッサシステム及びマルチプロセッサシステムの制御方法をコンピュータに実行させるためのプログラム
JP4653838B2 (ja) 演算処理装置、演算処理装置の制御方法及び制御プログラム
WO2012120573A1 (ja) デッドロック回避方法、デッドロック回避機構
JP5112831B2 (ja) データ処理装置及びデータ処理装置の制御方法
JP2010191886A (ja) 被起動オペレーティングシステム(os)動作計算機、計算機のos起動方法およびos起動プログラム
JPH06332747A (ja) マルチプロセッサシステムのプログラムデバッグ方法
US8516303B2 (en) Arithmetic device for concurrently processing a plurality of threads
JP5215655B2 (ja) データ処理装置及びデータ処理装置におけるバスアクセス制御方法
JP5678347B2 (ja) Itシステムの構成方法、そのコンピュータプログラムおよびitシステム
JP6726136B2 (ja) データアクセス装置及びアクセスエラーの通知方法
WO2007094460A1 (ja) 並列処理装置及び排他制御方法
JP2007316986A (ja) システムlsi
JPH11175108A (ja) 二重化コンピュータ装置
JP2008225710A (ja) コンピュータシステム及び該システムで用いられるプロセス切替え方法
JP2008299740A (ja) 非同期マイクロプロセッサ、電子情報装置
JP2009116445A (ja) 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ
JP5194360B2 (ja) 情報処理装置およびその制御方法
JP2006309566A (ja) メモリバックアップ装置
JP2003242129A (ja) プロセッサ増減設方法及び計算機システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120709

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

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121011

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

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5112831

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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