JP5689487B2 - 使用時に初期化が必要なシリアルバスを備えるデータ処理装置 - Google Patents

使用時に初期化が必要なシリアルバスを備えるデータ処理装置 Download PDF

Info

Publication number
JP5689487B2
JP5689487B2 JP2013016901A JP2013016901A JP5689487B2 JP 5689487 B2 JP5689487 B2 JP 5689487B2 JP 2013016901 A JP2013016901 A JP 2013016901A JP 2013016901 A JP2013016901 A JP 2013016901A JP 5689487 B2 JP5689487 B2 JP 5689487B2
Authority
JP
Japan
Prior art keywords
boot
boot program
processor
memory
bus
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.)
Active
Application number
JP2013016901A
Other languages
English (en)
Other versions
JP2014149598A (ja
Inventor
中村 稔
稔 中村
高史 三好
高史 三好
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FANUC Corp
Original Assignee
FANUC 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 FANUC Corp filed Critical FANUC Corp
Priority to JP2013016901A priority Critical patent/JP5689487B2/ja
Priority to DE201410001144 priority patent/DE102014001144A1/de
Priority to CN201410044181.8A priority patent/CN103970689B/zh
Priority to US14/168,955 priority patent/US9223585B2/en
Publication of JP2014149598A publication Critical patent/JP2014149598A/ja
Application granted granted Critical
Publication of JP5689487B2 publication Critical patent/JP5689487B2/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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)

Description

本発明は、使用時に初期化が必要なシリアルバスを備えるデータ処理装置に関する。
CNC(数値制御装置)、ロボットコントローラ等に代表されるデータ処理装置は、1個以上のプロセッサ、プロセッサと共同して所定の機能を実現するチップセット、プロセッサとチップセットとの間のデータのやり取りを行うためのバス、データ処理装置の電源投入後の初期化を行うためのブートプログラムを格納したブートROM等を備える。このようなデータ処理装置が備えるバスとしては、パラレルバスが従来用いられている(例えば、特許文献1,2)。
特開2002−140205号公報 特開2003−114800号公報
近年、プロセッサとチップセットとの間のデータのやり取りを更に迅速に行うために、パラレルバスの代わりにPCI Express等のシリアルバスがデータ処理装置のバスとして用いられる傾向がある。プロセッサをルートコンプレックスとするPCI Expressに代表されるシリアルバスは、使用時にチップセット側からの初期化ができないことがあり、使用時にプロセッサがブートプログラムに基づいて初期化する必要があるので、プロセッサは、当該シリアルバスを通じてブートプログラムを取得することができない。したがって、プロセッサがデータ処理装置の電源投入後に初期化を行うためには、使用時にブートプログラムに基づいた初期化が不要であるブートバスを用いてプロセッサにブートROMを外付けする必要がある。
使用時にブートプログラムに基づいた初期化が必要なシリアルバスをデータ処理装置で用いた場合、シリアルバスを初期化するためには、データ処理装置に設けられるプロセッサの個数の増加に従ってブートROMの個数が増加する必要があり、このために、ブートROMの実装面積及びコストが増大するという不都合がある。
本発明の目的は、使用時にブートプログラムに基づいた初期化が必要なシリアルバスを用いてもプロセッサの個数の増加に従ってブートROMの個数を増加することなくシリアルバスを初期化することができるデータ処理装置を提供することである。
本発明によるデータ処理装置は、電源投入後の初期化を行うための第1のブートプログラムに基づいた初期化を行う1個以上の第1の個数の第1のプロセッサと、第1のプロセッサに接続され、使用時に第1のブートプログラムに基づいた初期化が必要である第1のバスと、第1のブートプログラムを記憶した1個以上かつ第1の個数以下の第2の個数の第1のメモリ及び第1のメモリに記憶された第1のブートプログラムを読み出すメモリコントローラを有するチップセットと、メモリコントローラが読み出した第1のブートプログラムを第1のプロセッサに供給するためにメモリコントローラと第1のプロセッサとの間に介在し、使用時に第1のブートプログラムに基づいた初期化が不要である第1の個数の第2のバスと、を備えることを特徴とする。
好適には、チップセットは、第1のプロセッサの起動のタイミングの制御、第1のプロセッサの再起動のタイミングの制御及び第2のバスへのアクセス制御のうちの少なくとも一つを行うブート制御部を更に有する。
好適には、本発明によるデータ処理装置は、電源投入後の初期化を行うための第2のブートプログラムを記憶した不揮発性の第2のメモリと、第2のメモリに記憶した第2のブートプログラムを第1のプロセッサに供給するために第2のメモリと第1のプロセッサとの間に介在し、使用時に第1のプロセッサによるブートプログラムに基づいた初期化が不要である第3のバスと、を更に備え、ブート制御部は、第1のプロセッサが第1のブートプログラムと第2のブートプログラムのうちのいずれか一方を起動時に実行するために、第1のメモリに記憶された第1のブートプログラムと第2のメモリに記憶された第2のブートプログラムのうちのいずれか一方を選択する。
好適には、本発明によるデータ処理装置は、電源投入後の初期化を行うための第2のブートプログラムを記憶した不揮発性の第2のメモリを更に備え、第2のバスのうちの少なくとも一つは、メモリコントローラが読み出した第1のブートプログラムを第1のプロセッサに供給するためにメモリコントローラと第1のプロセッサとの間に介在する第1の部分と、第2のメモリに記憶した第2のブートプログラムを第1のプロセッサに供給するために第1の部分と第1のプロセッサとの間に介在する第2の部分と、を有し、ブート制御部は、第1のプロセッサが第1のブートプログラムと第2のブートプログラムのうちのいずれか一方を起動時に実行するために、第1のメモリに記憶された第1のブートプログラムと第2のメモリに記憶された第2のブートプログラムのうちのいずれか一方を選択する。
好適には、本発明によるデータ処理装置は、電源投入後の初期化を行うための第2のブートプログラムを記憶した不揮発性の第2のメモリと、第2のメモリに記憶した第2のブートプログラムを第1のプロセッサに供給するために第2のメモリとメモリコントローラとの間に介在し、使用時に第1のプロセッサによるブートプログラムに基づいた初期化が不要である第3のバスと、を更に備え、ブート制御部は、第1のプロセッサが第1のブートプログラムと第2のブートプログラムのうちのいずれか一方を起動時に実行するために、第1のメモリに記憶された第1のブートプログラムと第2のメモリに記憶された第2のブートプログラムのうちのいずれか一方を選択する。
好適には、前記第1のブートプログラムは、前記第2のメモリに前記第2のブートプログラムの書き込みを行うプログラムである。
好適には、第1のメモリは、メモリコントローラによる書換えが可能なメモリであり、1個以上の第3の個数の第2のプロセッサと、メモリコントローラが第1のメモリに書き込む第1のブートプログラムを第2のプロセッサからメモリコントローラに供給するために第2のプロセッサとメモリコントローラとの間に介在する第3の個数の第4のバスと、を更に備える。
好適には、前記第1のメモリは、メモリコントローラによる書換えが可能なメモリであり、1個以上の第4の個数のLSIと、LSIとメモリコントローラとの間に介在する第5のバスと、を更に備え、メモリコントローラが第1のメモリに書き込む第1のブートプログラムをLSIから第5のバスを介してメモリコントローラに供給する。
好適には、無線又は有線による通信を行うトランシーバを更に備え、前記第1のブートプログラムを格納した外部機器から送信された前記第1のブートプログラムを、前記トランシーバが受信して前記LSI、前記第5のバス及び前記メモリコントローラを介して前記第1のメモリに格納し、外部機器から送信された指令を、前記トランシーバが受信して前記LSI及び前記第5のバスを介して前記ブート制御部に伝達し、前記第1のプロセッサは、前記指令に従って前記第1のブートプログラムを実行する。
本発明によれば、使用時にブートプログラムに基づいた初期化が必要なシリアルバスを用いてもプロセッサの個数の増加に従ってブートROMの個数を増加することなくシリアルバスを初期化することができる。
本発明によるデータ処理装置の第1の実施の形態のブロック図である。 本発明によるデータ処理装置の第2の実施の形態のブロック図である。 本発明によるデータ処理装置の第3の実施の形態のブロック図である。 本発明によるデータ処理装置の第4の実施の形態のブロック図である。 本発明によるデータ処理装置の第5の実施の形態のブロック図である。 本発明によるデータ処理装置の第6の実施の形態のブロック図である。 本発明によるデータ処理装置の第7の実施の形態のブロック図である。
本発明によるデータ処理装置を、図面を参照しながら説明する。図面中、同一構成要素には同一符号を付す。
図1は、本発明によるデータ処理装置の第1の実施の形態のブロック図である。図1に示すデータ処理装置1は、CNCであり、第1の個数としてのn(nは2以上の整数)個の第1のプロセッサとしてのプロセッサ2−1,...,2−nと、n個の第1のバスとしてのシリアルバス3−1,...,3−nと、チップセット4と、n個の第2のバスとしてのブートバス5−1,...,5−nと、を備える。
プロセッサ2−1,...,2−nはそれぞれ、データ処理装置1の電源投入後の初期化を行うための後に説明する第1のブートプログラムとしてのブートプログラムP1,...,Pmに基づいた初期化、プロセッサ2−1,...,2−nによって実行されるプログラム(例えば、ブートプログラムP1,...,Pm)に障害があるか否かを調べる試験プログラムに基づいた試験等を含む各種処理を行う。本実施の形態では、プロセッサ2−nがメインプロセッサとして機能し、それ以外のプロセッサがサブプロセッサとして機能する。シリアルバス3−1,...,3−nは、プロセッサ2−1,...,2−nがRAM等の外部回路6とデータのやり取りを行うために対応するプロセッサ2−1,...,2−n及び外部回路6に接続した外部バスとして機能する。また、シリアルバス3−1,...,3−nは、使用時にプロセッサによるブートプログラムに基づいた初期化が必要であるシリアルバスによって構成される。例えば、シリアルバス3−1,...,3−nはPCI Expressであり、プロセッサ2−1,...,2−nはPCI ExpressのRoot Complexである。PCI ExpressはRoot Complexのみにより初期化されるシリアルバスである。また、ブートプログラムP1,...,Pmは、全て同一でもよく、全て同一でなくてもよい。
チップセット4は、プロセッサと共同してデータの読出し及び書込み等の所定の機能を実現し、第2の個数としてのm(mは2以上かつn未満の整数)個の第1のメモリとしてのメモリ4a−1,...,4a−mと、メモリコントローラ4bと、ブート制御部4cと、を有する。
メモリ4a−1,...,4a−mはそれぞれ、ブートプログラムP1,...,Pmを記憶する。また、メモリ4a−1,...,4a−mはそれぞれ、DRAM、SRAM等の書換え可能なメモリによって構成される。メモリコントローラ4bは、メモリ4a−1,...,4a−mからブートプログラムP1,...,Pmの命令コードを読み出す。ブート制御部4cは、プロセッサ2−1,...,2−nの起動のタイミングの制御、プロセッサ2−1,...,2−nの再起動のタイミングの制御及びブートバス5−1,...,5−nへのアクセス制御のうちの少なくとも一つを行う。
本実施の形態では、メモリ4a−1,...,4a−mをチップセット4に内蔵することによって、メモリ4a−1,...,4a−mの実装面積及びコストを節約することができる。
ブートバス5−1,...,5−nは、メモリコントローラ4bが読み出したブートプログラムP1,...,Pmの命令コードをプロセッサ2−1,...,2−nにそれぞれ供給するためにメモリコントローラ4bとプロセッサ2−1,...,2−nとの間に介在する。また、ブートバス5−1,...,5−nは、使用時にプロセッサによるブートプログラムに基づいた初期化が不要である。ブートバス5−1,...,5−nは、SPI,I2C等のシリアルバスとNOR型フラッシュメモリのインタフェース等に用いられる8ビット汎用バス、16ビット汎用バス等のパラレルバスのいずれであってもよい。
本実施の形態では、プロセッサ2−1,...,2−nはそれぞれ、シリアルバス3−1,...,3−nの使用時に対応するプロセッサ2−1,...,2−nの起動時に、ブートバス5−1,...,5−nを通じてメモリコントローラ4bにブートプログラム読出し要求を出す。メモリコントローラ4bは、ブートプログラム読出し要求に応じて、ブートプログラムP1,...,Pmの命令コードを、メモリ4a−1,...,4a−mのうちの対応するメモリからそれぞれ読み出し、読み出した命令コードをブートバス5−1,...,5−nを通じてプロセッサ2−1,...,2−nにそれぞれ供給する。そして、プロセッサ2−1,...,2−nはそれぞれ、ブートプログラムP1,...,Pmを実行することによってシリアルバス3−1,...,3−nの初期化を行う。プロセッサ2−1,...,2−nがメモリ4a−1,...,4a−mのうちのどのメモリからブートプログラムを読み出すかについては、予め決定され又はチップセットの設定等に応じて決定される。
また、本実施の形態では、ブートプログラム読出し要求を出すために、ブート制御部4cは、プロセッサ2−1,...,2−nの起動のタイミングの制御、プロセッサ2−1,...,2−nの再起動のタイミングの制御及びブートバス5−1,...,5−nへのアクセス制御のうちの少なくとも一つを行う。このために、ブート制御部4cは、プロセッサ2−1,...,2−nの起動のタイミングの制御、プロセッサ2−1,...,2−nの再起動のタイミングの制御及びブートバス5−1,...,5−nへのアクセス制御のうちの少なくとも一つをそれぞれ行うためのブート制御信号V1,...,Vnを、信号ラインS1−1,...,S1−nとブートバス5−1,...,5−nのうちの少なくとも一方を介してプロセッサ2−1,...,2−nにそれぞれ供給する。ブート制御信号V1,...,Vnとしては、プロセッサ2−1,...,2−nへのリセット信号とプロセッサ2−1,...,2−nからブートバス5−1,...,5−nへのアクセスを許可するブートバス使用許可信号のうちの少なくとも一方を用いる。図1では、リセット信号として用いられるブート制御信号V1,...,Vnが信号ラインS1−1,...,S1−nを介してブート制御部4cからプロセッサ2−1,...,2−nに供給される場合について示すが、ブート制御信号V1,...,Vnとしてブートバス使用許可信号を用いる場合には、ブート制御信号V1,...,Vnがブートバス5−1,...,5−nを介してブート制御部4cからプロセッサ2−1,...,2−nに供給される。また、ブート制御部4cがプロセッサ2−1,...,2−nの起動のタイミングの制御、プロセッサ2−1,...,2−nの再起動のタイミングの制御及びブートバス5−1,...,5−nへのアクセス制御のうちの少なくとも一つを行うために、メモリコントローラ4bとブート制御部4cとの間の情報のやり取りを、信号ラインS2を介して行う。
ブート制御信号V1,...,Vnとしてリセット信号のみを使用する場合、ブート制御部4cがリセット信号をアサートすることによって、プロセッサ2−1,...,2−nは実行中のプログラムの命令コードの読出しを停止し、プロセッサ2−1,...,2−nの内部状態は初期状態に移行する。プロセッサ2−1,...,2−nの内部状態が初期状態であるときに、メモリコントローラ4bは、命令コードの読出し停止時にレジスタ及びメモリ(いずれも図示せず)に記憶されていたデータからなるブートプログラムP1,...,Pmをメモリ4a−1,...,4a−mにそれぞれ格納する。
一方、ブート制御部4cがリセット信号をネゲート(パワーオンリセット解除)することによって、プロセッサ2−1,...,2−nは、ブートバス5−1,...,5−nに読み出し要求を出す。メモリコントローラ4bは、読出し要求に応じて、ブートプログラムP1,...,Pmをメモリ4a−1,...,4a−mから読み出す。読み出されたブートプログラムP1,...,Pmは、ブートバス5−1,...5−nを介してメモリコントローラ4bからプロセッサ2−1,...,2−nに供給され、プロセッサ2−1,...,2−nがブートプログラムP1,...,Pmを実行することによって、シリアルバス3−1,...,3−nの初期化を行う。
ブート制御信号V1,...,Vnとしてブートバス使用許可信号のみを使用する場合、ブート制御部4cがブートバス使用許可信号をネゲートすることによって、メモリコントローラ4bは、プロセッサ2−1,...,2−nが実行中のプログラムの命令コードの読出しを一時的に停止する。命令コードの読出しの一時的な停止中に、メモリコントローラ4bはブートプログラムP1,...,Pmをメモリ4a−1,...,4a−mにそれぞれ格納する。
一方、ブート制御部4cがブートバス使用許可信号をアサートすることによって、プロセッサ2−1,...,2−nは、ブートバス5−1,...,5−nに読み出し要求を出す。メモリコントローラ4bは、読出し要求に応じて、ブートプログラムP1,...,Pmをメモリ4a−1,...,4a−mから読み出す。読み出されたブートプログラムP1,...,Pmは、ブートバス5−1,...,5−nを介してメモリコントローラ4bからプロセッサ2−1,...,2−nに供給され、プロセッサ2−1,...,2−nがブートプログラムP1,...,Pmを実行することによって、シリアルバス3−1,...,3−nの初期化を行う。
ブート制御信号V1,...,Vnとしてリセット信号とブートバス使用許可信号の両方を使用する場合、ブート制御部4cがブートバス使用許可信号をネゲートすることによって、プロセッサ2−1,...,2−nは実行中のプログラムの命令コードの読出しを一時的に停止し、その後、ブート制御部4cがリセット信号をアサートすることによって、プロセッサ2−1,...,2−nの内部状態は初期状態に移行する。プロセッサ2−1,...,2−nの内部状態が初期状態であるときにメモリコントローラ4bは、ブートプログラムP1,...,Pmをメモリ4a−1,...,4a−mにそれぞれ格納する。
一方、ブート制御部4cがリセット信号をネゲートし、その後、ブート制御部4cがブートバス使用許可信号をアサートすることによって、プロセッサ2−1,...,2−nは、ブートバス5−1,...,5−nに読み出し要求を出す。メモリコントローラ4bは、読出し要求に応じて、ブートプログラムP1,...,Pmをメモリ4a−1,...,4a−mから読み出す。読み出されたブートプログラムP1,...,Pmは、ブートバス5−1,...5−nを介してメモリコントローラ4bからプロセッサ2−1,...,2−nに供給され、プロセッサ2−1,...,2−nがブートプログラムP1,...,Pmを実行することによって、シリアルバス3−1,...,3−nの初期化を行う。
本実施の形態によれば、シリアルバス3−1,...,3−nの初期化を行うために、プロセッサに外付けされるブートROMの代わりにチップセット4に内蔵されたメモリ4a−1,...,4a−mを用いている。したがって、プロセッサの個数の増加に従ってブートROMの個数を増加することなくシリアルバスを初期化することができ、プロセッサの個数の増加に伴うブートROMの個数の増加による実装面積及びコストの増大を回避することができる。
図2は、本発明によるデータ処理装置の第2の実施の形態のブロック図である。図2に示すデータ処理装置1aは、CNCであり、プロセッサ2−1,...,2−nと、シリアルバス3−1,...,3−nと、チップセット4と、ブートバス5−1,...,5−nと、第2のメモリとしてのメモリ6と、第3のバスとしてのブートバス7と、を備える。本実施の形態では、プロセッサ2−nがメインプロセッサとして機能し、それ以外のプロセッサがサブプロセッサとして機能する。
メモリ6は、電源投入後の初期化を行うための第2のブートプログラムとしてのブートプログラムP’の命令コードが記憶された不揮発性のメモリである。メモリ6にブートプログラムP’の命令コードを記憶するために、ブートプログラムP’の命令コードが予め記憶されている書換えのできないメモリと、ブートプログラムP’の命令コードがプロセッサ2−nによって書き込まれる書換え可能なメモリのいずれを用いてもよい。メモリ6としてブートプログラムP’の命令コードがプロセッサ2によって書き込まれる書き換え可能なメモリを用いる場合、ブートプログラムP1,...,Pmは、メモリ6にブートプログラムP’を書き込むプログラムの役割も果たす。プログラムP’は、プログラムPと同一のプログラム又はプログラムPと異なるプログラムであり、プログラムP’がプログラムPと異なる場合、プロセッサ2−nは、異なる初期化プログラムを実行することができる。
ブートバス7は、メモリ6に記憶したブートプログラムP’の命令コードをプロセッサ2−nに供給するためにメモリ6とプロセッサ2−nとの間に介在する。また、ブートバス7は、使用時にプロセッサによるブートプログラムに基づいた初期化が不要である。
本実施の形態では、ブート制御部4cは、プロセッサ2−nがメモリ4a−1,...,4a−mのうちの対応するメモリに記憶されたブートプログラムP1,...,Pmとメモリ6に記憶されたブートプログラムP’のうちのいずれか一方を起動時に実行するために、メモリ4a−1,...,4a−mのうちの対応するメモリに記憶されたブートプログラムPとメモリ6に記憶されたブートプログラムP’のうちのいずれか一方を選択する。このために、ブート制御部4cは、メモリ4a−1,...,4a−mのうちの対応するメモリに記憶されたブートプログラムP1,...,Pmとメモリ6に記憶されたブートプログラムP’のうちのいずれか一方を選択するためのブートプログラム選択信号Vsを、ブートバス5−1,...,5−nを介してプロセッサ2−1,...,2−nにそれぞれ供給する。図2において、明瞭のためにブート制御部4cからプロセッサ2−1,...,2−nへのブートプログラム選択信号Vsの供給を信号ラインS3で示す。例えば、メモリ6が故障しているためにプロセッサ2−nがブートプログラムP’を読み出せない場合、ブートプログラムP1,...,Pm(例えば、メモリ4a−1,...,4a−mのうちの対応するメモリに記憶されたブートプログラムP1,...,Pm)を選択する。
メモリ6が故障し、ブート制御信号V1,...,Vnとしてリセット信号のみを使用する場合、ブート制御部4cがリセット信号をアサートすることによって、プロセッサ2−1,...,2−nは実行中のプログラムの命令コードの読出しを停止し、プロセッサ2−1,...,2−nの内部状態は初期状態に移行する。プロセッサ2−1,...,2−nの内部状態が初期状態であるときに、メモリコントローラ4bは、ブートプログラムP1,...,Pmを対応するメモリ4a−1,...,4a−mに格納する。
一方、ブート制御部4cがリセット信号をネゲート(パワーオンリセット解除)することによって、プロセッサ2−1,...,2−nは、ブートバス5−1,...,5−nに読み出し要求を出す。メモリコントローラ4bは、読出し要求に応じて、ブートプログラムP1,...,Pmを対応するメモリから読み出す。読み出されたこれらの命令コード及びデータは、ブートバス5−1,...,5−nを介してメモリコントローラ4bからプロセッサ2−1,...,2−nにそれぞれ供給され、プロセッサ2−1,...,2−nがブートプログラムP1,...,Pmをそれぞれ実行することによって、シリアルバス3−1,...,3−nの初期化をそれぞれ行う。
メモリ6が故障し、ブート制御信号V1,...,Vnとしてブートバス使用許可信号のみを使用する場合、ブート制御部4cがブートバス使用許可信号をネゲートすることによって、プロセッサ2−1,...,2−nは実行中のプログラムの命令コードの読出しを一時的に停止する。命令コードの読出しの一時的な停止中に、メモリコントローラ4bはブートプログラムP1,...,Pmをメモリ4a−1,...,4a−mにそれぞれ格納する。
一方、ブート制御部4cがブートバス使用許可信号をアサートすることによって、プロセッサ2−1,...,2−nは、ブートバス5−1,...,5−nに読み出し要求を出す。メモリコントローラ4bは、読出し要求に応じて、ブートプログラムP1,...,Pmをメモリ4a−1,...,4a−mから読み出す。読み出されたブートプログラムP1,...,Pmは、ブートバス5−1,...,5−nを介してメモリコントローラ4bからプロセッサ2−1,...,2−nに供給され、プロセッサ2−1,...,2−nがブートプログラムP1,...,Pmを実行することによって、シリアルバス3−1,...,3−nの初期化を行う。
メモリ6が故障し、ブート制御信号V1,...,Vnとしてリセット信号とブートバス使用許可信号の両方を使用する場合、ブート制御部4cがブートバス使用許可信号をネゲートすることによって、プロセッサ2−1,...,2−nは実行中のプログラムの命令コードの読出しを一時的に停止し、その後、ブート制御部4cがリセット信号をアサートすることによって、プロセッサ2−1,...,2−nの内部状態は初期状態に移行する。プロセッサ2−1,...,2−nの内部状態が初期状態であるときにメモリコントローラ4bは、ブートプログラムP1,...,Pmをメモリ4a−1,...,4a−mにそれぞれ格納する。
一方、ブート制御部4cがリセット信号をネゲートし、その後、ブート制御部4cがブートバス使用許可信号をアサートすることによって、プロセッサ2−1,...,2−nは、ブートバス5−1,...,5−nに読み出し要求を出す。メモリコントローラ4bは、読出し要求に応じて、ブートプログラムP1,...,Pmをメモリ4a−1,...,4a−mから読み出す。読み出されたブートプログラムP1,...,Pmは、ブートバス5−1,...5−nを介してメモリコントローラ4bからプロセッサ2−1,...,2−nに供給され、プロセッサ2−1,...,2−nがブートプログラムP1,...,Pmを実行することによって、シリアルバス3−1,...,3−nの初期化を行う。
本実施の形態によれば、メモリ6が故障した場合でも、プロセッサ2−1,...,2−nは、メモリ4a−1,...,4a−mに格納されたブートプログラムP1,...,Pmを実行することができるので、シリアルバス3−1,...,3−nの初期化を行うことができる。これによって、メモリ6が故障したか否かに関係なくプロセッサ2−1,...,2−nに任意の試験プログラムを実行させることができ、プロセッサ2−1,...,2−nによって実行されるプログラムの障害箇所を特定することができる。
図3は、本発明によるデータ処理装置の第3の実施の形態のブロック図である。図3に示すデータ処理装置1bは、CNCであり、プロセッサ2−1,...,2−nと、シリアルバス3−1,...,3−nと、チップセット4と、ブートバス5−1,...,5’−nと、メモリ6と、を備える。本実施の形態では、プロセッサ2−nがメインプロセッサとして機能し、それ以外のプロセッサがサブプロセッサとして機能する。
ブートバス5’−nは、メモリコントローラ4bが読み出したブートプログラムP1,...,Pmをプロセッサ2−nに供給するためにメモリコントローラ4bとプロセッサ2−nとの間に介在する第1の部分5’−n−1と、メモリ6に記憶したブートプログラムP’をプロセッサ2−nに供給するためにメモリ6とプロセッサ2−nとの間に介在する第2の部分5’−n−2と、を有する。また、ブートバス5’−nは、使用時にプロセッサによるブートプログラムに基づいた初期化が不要である。
本実施の形態によれば、上記第3の実施の形態と同様に、メモリ6が故障した場合でも、プロセッサ2−1,...,2−nは、メモリ4a−1,...,4a−mに格納されたブートプログラムP1,...,Pmを実行することができるので、シリアルバス3−1,...,3−nの初期化を行うことができる。これによって、メモリ6が故障したか否かに関係なくプロセッサ2−1,...,2−nに任意の試験プログラムを実行させることができ、プロセッサ2−1,...,2−nによって実行されるプログラムの障害箇所を特定することができる。
図4は、本発明によるデータ処理装置の第4の実施の形態のブロック図である。図4に示すデータ処理装置1cは、CNCであり、プロセッサ2−1,...,2−nと、シリアルバス3−1,...,3−nと、チップセット4と、ブートバス5−1,...,5−nと、第2のメモリとしてのメモリ8と、第3のバスとしてのブートバス9と、を備える。本実施の形態では、プロセッサ2−nがメインプロセッサとして機能し、それ以外のプロセッサがサブプロセッサとして機能する。
メモリ8は、ブートプログラムP’の命令コードが記憶された不揮発性のメモリである。メモリ8にブートプログラムP1,...,Pmの命令コードを記憶するために、ブートプログラムP’の命令コードが予め記憶されている書換えのできないメモリと、ブートプログラムP’の命令コードがプロセッサ2−nによって書き込まれる書換え可能なメモリのいずれを用いてもよい。メモリ8としてブートプログラムP’の命令コードがプロセッサ2によって書き込まれる書き換え可能なメモリを用いる場合、ブートプログラムP1,...,Pmは、メモリ8にブートプログラムP’を書き込むプログラムの役割も果たす。
ブートバス9は、メモリ10に記憶したブートプログラムP’をメモリコントローラ4bに供給するためにメモリ10とメモリコントローラ4bとの間に介在する。また、ブートバス9は、使用時にプロセッサによるブートプログラムに基づいた初期化が不要である。
本実施の形態では、ブート制御部4cは、プロセッサ2−nがブートプログラムを起動時に実行するためにメモリ4a−1,...,4a−mのうちの対応するメモリに記憶されたブートプログラムP1,...,Pmとメモリ8に記憶されたブートプログラムP’のうちのいずれか一方を選択する。例えば、メモリ8が故障しているためにプロセッサ2−nがブートプログラムP’を読み出せない場合、ブートプログラムP1,...,Pm(例えば、メモリ4a−1,...,4a−mのうちの対応するメモリに記憶されたブートプログラムP1,...,Pm)を選択する。
メモリ8が故障し、ブート制御信号V1,...,Vnとしてリセット信号のみを使用する場合、ブート制御部4cがリセット信号をアサートすることによって、プロセッサ2−1,...,2−nは実行中のプログラムの命令コードの読出しを一時的に停止する。命令コードの読出しの一時的な停止中に、メモリコントローラ4bは、ブートプログラムP1,...,Pmを対応するメモリに格納する。
一方、ブート制御部4cがリセット信号をネゲート(パワーオンリセット解除)することによって、プロセッサ2−1,...,2−nは、ブートバス5−1,...5−nに読み出し要求を出す。メモリコントローラ4bは、読出し要求に応じて、ブートプログラムP1,...,Pmを対応するメモリから読み出す。読み出されたこれらの命令コード及びデータは、ブートバス5−1,...,5−nを介してメモリコントローラ4bからプロセッサ2−1,...,2−nにそれぞれ供給され、プロセッサ2−1,...,2−nがブートプログラムP1,...,Pmをそれぞれ実行することによって、シリアルバス3−1,...,3−nの初期化をそれぞれ行う。
メモリ8が故障し、ブート制御信号V1,...,Vnとしてブートバス使用許可信号のみを使用する場合、ブート制御部4cがブートバス使用許可信号をネゲートすることによって、プロセッサ2−1,...,2−nは実行中のプログラムの命令コードの読出しを一時的に停止する。命令コードの読出しの一時的な停止中に、メモリコントローラ4bはブートプログラムP1,...,Pmをメモリ4a−1,...,4a−mにそれぞれ格納する。
一方、ブート制御部4cがブートバス使用許可信号をアサートすることによって、メモリコントローラ4bは、ブートプログラムP1,...,Pmをメモリ4a−1,...,4a−mから読み出す。読み出されたブートプログラムP1,...,Pmは、ブートバス5−1,...,5−nを介してメモリコントローラ4bからプロセッサ2−1,...,2−nに供給され、プロセッサ2−1,...,2−nがブートプログラムP1,...,Pmを実行することによって、シリアルバス3−1,...,3−nの初期化を行う。
メモリ8が故障し、ブート制御信号V1,...,Vnとしてリセット信号とブートバス使用許可信号の両方を使用する場合、ブート制御部4cがブートバス使用許可信号使用許可信号をネゲートすることによって、プロセッサ2−1,...,2−nは実行中のプログラムの命令コードの読出しを一時的に停止し、その後、ブート制御部4cがリセット信号をアサートすることによって、プロセッサ2−1,...,2−nの内部状態は初期状態に移行する。プロセッサ2−1,...,2−nの内部状態が初期状態であるときにメモリコントローラ4bは、ブートプログラムP1,...,Pmをメモリ4a−1,...,4a−mにそれぞれ格納する。
一方、ブート制御部4cがリセット信号をネゲートし、その後、ブート制御部4cがブートバス使用許可信号をアサートすることによって、プロセッサ2−1,...,2−nは、ブートバス5−1,...5−nに読み出し要求を出す。メモリコントローラ4bは、読出し要求に応じて、ブートプログラムP1,...,Pmをメモリ4a−1,...,4a−mから読み出す。読み出されたこれらの命令コード及びデータは、ブートバス5−1,...5−nを介してメモリコントローラ4bからプロセッサ2−1,...,2−nに供給され、プロセッサ2−1,...,2−nがブートプログラムP1,...,Pmを実行することによって、シリアルバス3−1,...,3−nの初期化を行う。
本実施の形態によれば、メモリ4a−1,...,4a−mに記憶されたブートプログラムP1,...,Pmとメモリ8に記憶されたブートプログラムP’のうちのいずれか一方に誤りがある場合でも、プロセッサ2−1,...,2−nはシリアルバス3−1,...,3−nの初期化を行うことができ、これによって、プロセッサ2−1,...,2−nによって実行されるプログラムの障害箇所を特定することができる。
図5は、本発明によるデータ処理装置の第5の実施の形態のブロック図である。図5に示すデータ処理装置1dは、CNCであり、プロセッサ2−1,...,2−nと、シリアルバス3−1,...,3−nと、チップセット4と、ブートバス5−1,...,5−nと、第3の個数としてのl(lは1以上の整数)個の第2のプロセッサとしてのプロセッサ10−1,...,10−lと、l個の第4のバスとしてのバス12−1,...,11−lと、メモリ12と、ブートバス13と、を備える。
プロセッサ10−1,...,10−lはそれぞれ、データ処理装置1dの電源投入後の初期化を行うためのブートプログラムPに基づいた初期化、プロセッサ10−1,...,10−lによって実行されるプログラム(例えば、ブートプログラムP)に障害があるか否かを調べる試験プログラムに基づいた試験等を含む各種処理を行う。本実施の形態では、プロセッサ2−1,...,2−nは、デジタルシグナルプロセッサ(DSP)として機能し、プロセッサ10−lは、メインプロセッサとして機能し、それ以外のプロセッサは、サブプロセッサとして機能する。バス11−1,...,11−lは、メモリコントローラ4bがメモリ4a−1,...,4a−mに書き込むブートプログラムP1,...,Pmをプロセッサ10−lからメモリコントローラ4bに供給するためにプロセッサ10−lとメモリコントローラ4bとの間に介在する。また、バス11−1,...,11−lは、使用時にプロセッサによるブートプログラムに基づいた初期化が必要であっても不要であってもよく、シリアルバスであってもパラレルバスであってもよい。
メモリ12は、ブートプログラムPの命令コードが記憶された不揮発性のメモリである。メモリ12にブートプログラムPの命令コードを記憶するために、ブートプログラムPの命令コードが予め記憶されている書換えのできないメモリと、ブートプログラムPの命令コードがプロセッサ10−lによって書き込まれる書換え可能なメモリのいずれを用いてもよい。
ブートバス13は、メモリ12に記憶したブートプログラムPをプロセッサ10−lに供給するためにメモリ12とプロセッサ10−lとの間に介在する。また、ブートバス13は、使用時にプロセッサによるブートプログラムに基づいた初期化が不要である。
また、メモリコントローラ4bに供給されたプログラムPの命令コード及びメモリコントローラ4bが読み出した更新ブートプログラムのデータは、ブートバス5−1,...,5−nを介してメモリコントローラ4bからプロセッサ2−1,...,2−nにそれぞれ供給され、プロセッサ2−1,...,2−nがブートプログラムP1,...,Pm及び更新ブートプログラムをそれぞれ実行することによって、シリアルバス3−1,...,3−nの初期化をそれぞれ行う。
本実施の形態によれば、メモリ12に記憶されたブートプログラムPを、ROMライタ等の専用の設備及び専用の設備を用いた書込み作業を行うことなくメモリ4a−1,...,4a−mに書き込むことができる。
図6は、本発明によるデータ処理装置の第6の実施の形態のブロック図である。図6に示すデータ処理装置1eは、CNCであり、プロセッサ2−1,...,2−nと、シリアルバス3−1,...,3−nと、チップセット4と、ブートバス5−1,...,5−nと、第4の個数としての1個の第2のLSI14−1と、第5のバスとしてのシステムバス15と、プロセッサ16と、メモリ17と、バス18と、ブートバス19と、を備える。
LSI14−1は、バス19とシステムバス15の間のブリッジとして機能し、LSI14−1をスレーブとするバス19上のトランザクションの全部又は一部を、LSI14−1をマスタとするシステムバス15上のトランザクションに変換する。また、LSI14−1をスレーブとするシステムバス15上のトランザクションの全部又は一部を、LSI14−1をマスタとするバス19上のトランザクションに変換する。
システムバス15は、メモリコントローラ4bがメモリ4a−1,...,4a−mに書き込むブートプログラムP1,...,Pmの命令コードをLSI14−1からメモリコントローラ4bに供給するためにLSI14−1とメモリコントローラ4bとの間に介在する。また、システムバス15には、図6に示すようにLSI14−1以外のLSI14−2,14−3も接続されていてもよい。
プロセッサ16は、データ処理装置1eの電源投入後の初期化を行うためのブートプログラムPに基づいた初期化、プロセッサ16によって実行されるプログラム(例えば、ブートプログラムP)に障害があるか否かを調べる試験プログラムに基づいた試験等を含む各種処理を行う。本実施の形態では、プロセッサ2−1,..,2−nは、DSPとサブプロセッサのうちのいずれか一方として機能し、プロセッサ16は、メインプロセッサとして機能する。
メモリ17は、メモリ4a−1,...,4a−mに書き込むブートプログラムP1,...,Pmのいずれかに対応するブートプログラムPの命令コードが記憶された不揮発性のメモリである。メモリ17にブートプログラムPの命令コードを記憶するために、ブートプログラムPの命令コードが予め記憶されている書換えのできないメモリと、ブートプログラムPの命令コードがメモリコントローラ4bによって書き込まれる書換え可能なメモリのいずれを用いてもよい。
ブートバス18は、メモリ17に記憶したブートプログラムPの命令コードをプロセッサ16に供給するためにメモリ17とプロセッサ16との間に介在する。バス19は、プロセッサ16に供給されたブートプログラムPの命令コードをLSI14−1に供給するためにプロセッサ16とLSI14−1との間に介在する。また、ブートバス18は、使用時にプロセッサ16によるブートプログラムPに基づいた初期化が不要である。
本実施の形態では、ブートプログラム読出し要求を出すために、ブート制御部4cは、プロセッサ16からのバス19、LSI14−1及びシステムバス15を経由した指令により、プロセッサ2−1,...,2−nの起動のタイミングの制御、プロセッサ2−1,...,2−nの再起動のタイミングの制御及びブートバス5−1,...,5−nへのアクセス制御のうちの少なくとも一つを行う。このために、ブート制御部4cは、プロセッサ2−1,...,2−nの起動のタイミングの制御、プロセッサ2−1,...,2−nの再起動のタイミングの制御及びブートバス5−1,...,5−nへのアクセス制御のうちの少なくとも一つをそれぞれ行うためのブート制御信号V1,...,Vnを、信号ラインS1−1,...,S1−nを介してプロセッサ2−1,...,2−nにそれぞれ供給する。ブート制御信号V1,...,Vnとしては、プロセッサ2−1,...,2−nへのリセット信号とプロセッサ2−1,...,2−nからブートバス5−1,...,5−nへのアクセスを許可するブートバス使用許可信号のうちの少なくとも一方を用いる。また、ブート制御部4cがプロセッサ2−1,...,2−nの起動のタイミングの制御、プロセッサ2−1,...,2−nの再起動のタイミングの制御及びブートバス5−1,...,5−nへのアクセス制御のうちの少なくとも一つを行うために、メモリコントローラ4bとブート制御部4cとの間の情報のやり取りを、信号ラインS2を介して行う。
ブート制御信号V1,...,Vnとしてリセット信号のみを使用する場合、プロセッサ16からのバス19、LSI14−1及びシステムバス15を経由した指令に応じて、ブート制御部4cがリセット信号をアサートすることによって、プロセッサ2−1,...,2−nは実行中のプログラムの命令コードの読出しを停止し、プロセッサ2−1,...,2−nの内部状態は初期状態に移行する。プロセッサ2−1,...,2−nの内部状態が初期状態であるときに、システムバス15上のデバイスに内蔵されたDMAコントローラとプロセッサコアのうちのいずれか一方又はプロセッサ16は、不揮発性メモリ17から又はシステムバス15上のデバイスに内蔵又は接続された不揮発性メモリからメモリコントローラ4bへブートプログラムPを転送する。メモリコントローラ4bはブートプログラムPをメモリ4a−1,...,4a−mの全部又は一部に格納する。
一方、プロセッサ16からのバス19、LSI14−1及びシステムバス15を経由した指令に応じて、ブート制御部4cがリセット信号をネゲート(パワーオンリセット解除)すると、プロセッサ2−1,...,2−nは、ブートプログラムP1,...,Pmの命令コードを、ブートバス5−1,...,5−nを介してメモリ4a−1,...,4a−mから読み出して実行することによって、シリアルバス3−1,...,3−nの初期化をそれぞれ行う。
ブート制御信号V1,...,Vnとしてブートバス使用許可信号のみを使用する場合、プロセッサ16からのバス19、LSI14−1及びシステムバス15を経由した指令に応じて、ブート制御部4cがブートバス使用許可信号をネゲートすると、プロセッサ2−1,...,2−nは実行中のプログラムの命令コードの読出しを停止する。プロセッサ2−1,...,2−nが命令コードの読み出しを停止している間に、システムバス15上のデバイスに内蔵されたDMAコントローラとプロセッサコアのうちのいずれか一方又はプロセッサ16は、不揮発性メモリ17から又はシステムバス15上のデバイスに内蔵又は接続された不揮発性メモリからメモリコントローラ4bへブートプログラムPを転送する。メモリコントローラ4bはブートプログラムPをメモリ4a−1,...,4a−mの全部又は一部に格納する。
一方、プロセッサ16からのバス19とLSI14−1とシステムバス15を経由した指令に応じて、ブート制御部4cがブートバス使用許可信号をアサートすると、プロセッサ2−1,...,2−nは、ブートプログラムP1,...,Pmの命令コードを、ブートバス5−1,...,5−nを介してメモリ4a−1,...,4a−mから読み出して実行することによって、シリアルバス3−1,...,3−nの初期化をそれぞれ行う。
ブート制御信号V1,...,Vnとしてリセット信号とブートバス使用許可信号の両方を使用する場合、プロセッサ16からのバス19、LSI14−1及びシステムバス15を経由した指令に応じて、ブート制御部4cがブートバス使用許可信号をネゲートすると、プロセッサ2−1,...,2−nは実行中のプログラムの命令コードの読出しを一時的に停止する。その後、ブート制御部4cがリセット信号をアサートすると、プロセッサ2−1,...,2−nの内部状態は初期状態に移行する。プロセッサ2−1,...,2−nの内部状態が初期状態であるときに、システムバス15上のデバイスに内蔵されたDMAコントローラとプロセッサコアのうちのいずれか一方又はプロセッサ16は、不揮発性メモリ17から又はシステムバス15上のデバイスに内蔵又は接続された不揮発性メモリからメモリコントローラ4bへブートプログラムPを転送する。メモリコントローラ4bは、ブートプログラムPをメモリ4a−1,...,4a−mにそれぞれ格納する。
一方、プロセッサ16からのバス19、LSI14−1及びシステムバス15を経由した指令に応じて、ブート制御部4cがリセット信号をネゲートし、その後、ブート制御部4cがブートバス使用許可信号をアサートすることによって、プロセッサ2−1,...,2−nは、ブートプログラムP1,...,Pmの命令コードを、ブートバス5−1,...,5−nを介してメモリ4a−1,...,4a−mから読み出して実行することによって、シリアルバス3−1,...,3−nの初期化をそれぞれ行う。
本実施の形態によれば、メモリ17に記憶されたブートプログラムP又はシステムバス15上のデバイスに内蔵又は接続された不揮発性メモリに記憶されたブートプログラムP1,...,Pmの命令コードを、ROMライタ等の専用の設備及び専用の設備を用いた書込み作業を行うことなくメモリ4a−1,...,4a−mに書き込むことができる。
図7は、本発明によるデータ処理装置の第7の実施の形態のブロック図である。図7に示すデータ処理装置1fは、CNCであり、プロセッサ2−1,...,2−nと、シリアルバス3−1,...,3−nと、チップセット4と、ブートバス5−1,...,5−nと、LSI14−1と、システムバス15と、トランシーバ20と、を備える。本実施の形態では、プロセッサ2−nがメインプロセッサとして機能し、それ以外のプロセッサがサブプロセッサとして機能する。
外部機器としてのパーソナルコンピュータ21に格納されたブートプログラムPは、メモリ4a−1,...,4a−mに書き込むブートプログラムP1,...,Pmのいずれかに対応する。パーソナルコンピュータ21に格納されたブートプログラムPをLSI14−1、システムバス15及びメモリコントローラ4bを介してメモリ4a−1,...,4a−mに格納するとともに、パーソナルコンピュータ21から送信された指令をLSI14−1及びシステムバス15を介してブート制御部4cに伝達するために、トランシーバ20は、有線による通信経路22を介して、パーソナルコンピュータ21とデータの送受信を行う。これによって、プロセッサ2−1,...,2−nは、パーソナルコンピュータ21から送信された指令に従ってブートプログラムP1,...,Pmの命令コードを実行する。
例えば、LSI14−1は、高速シリアル通信(HSSB)制御LSIであり、トランシーバ20は、光コネクタであり、通信経路22は、高速シリアル通信バスである。
ブート制御信号V1,...,Vnとしてリセット信号のみを使用する場合、パーソナルコンピュータ21からの通信経路22、トランシーバ20、LSI14−1及びシステムバス15を経由した指令に応じて、ブート制御部4cがリセット信号をアサートすると、プロセッサ2−1,...,2−nは実行中のプログラムの命令コードの読出しを停止して、プロセッサ2−1,...,2−nの内部状態は初期状態に移行する。プロセッサ2−1,...,2−nの内部状態が初期状態であるときに、システムバス15上のデバイスに内蔵されたDMAコントローラとプロセッサコアのうちのいずれか一方又はパーソナルコンピュータ21は、システムバス15上のデバイスから又はパーソナルコンピュータ21に内蔵又は接続された不揮発性メモリからメモリコントローラ4bへブートプログラムPを転送する。メモリコントローラ4bはブートプログラムPをメモリ4a−1,...,4a−mにそれぞれ格納する。
一方、パーソナルコンピュータ21からの通信経路22、トランシーバ20、LSI14−1及びシステムバス15を経由した指令に応じて、ブート制御部4cがリセット信号をネゲート(パワーオンリセット解除)すると、プロセッサ2−1,...,2−nは、ブートプログラムP1,...,Pmの命令コードを、ブートバス5−1,...,5−nを介してメモリ4a−1,...,4a−mから読み出して実行することによって、シリアルバス3−1,...,3−nの初期化をそれぞれ行う。
ブート制御信号V1,...,Vnとしてブートバス使用許可信号のみを使用する場合、パーソナルコンピュータ21からの通信経路22、トランシーバ20、LSI14−1及びシステムバス15を経由した指令に応じて、ブート制御部4cがブートバス使用許可信号をネゲートすると、プロセッサ2−1,...,2−nは、実行中のプログラムの命令コードの読出しを停止する。プロセッサ2−1,...,2−nが命令コードの読み出しを停止している間に、システムバス15上のデバイスに内蔵されたDMAコントローラとプロセッサコアのうちのいずれか一方又はパーソナルコンピュータ21は、システムバス15上のデバイスから又はパーソナルコンピュータ21に内蔵又は接続された不揮発性メモリからメモリコントローラ4bへブートプログラムPを転送する。メモリコントローラ4bはブートプログラムPをメモリ4a−1,...,4a−mにそれぞれ格納する。
一方、パーソナルコンピュータ21からの通信経路22とトランシーバ20、LSI14−1、システムバス15を経由した指令に応じて、ブート制御部4cがブートバス使用許可信号をアサートすると、プロセッサ2−1,...,2−nは、ブートプログラムP1,...,Pmの命令コードを、ブートバス5−1,...,5−nを介してメモリ4a−1,...,4a−mから読み出して実行することによって、シリアルバス3−1,...,3−nの初期化をそれぞれ行う。
ブート制御信号V1,...,Vnとしてリセット信号とブートバス使用許可信号使用許可信号の両方を使用する場合、パーソナルコンピュータ21からの通信経路22、トランシーバ20、LSI14−1及びシステムバス15を経由した指令に応じて、ブート制御部4cがブートバス使用許可信号をネゲートすると、プロセッサ2−1,...,2−nは、実行中のプログラムの命令コードの読出しを一時的に停止し、その後、ブート制御部4cがリセット信号をアサートすることによって、プロセッサ2−1,...,2−nの内部状態は初期状態に移行する。プロセッサ2−1,...,2−nの内部状態が初期状態であるときに、システムバス15上のデバイスに内蔵されたDMAコントローラとプロセッサコアのうちのいずれか一方又はパーソナルコンピュータ21は、システムバス15上のデバイスから又はパーソナルコンピュータ21に内蔵又は接続された不揮発性メモリからメモリコントローラ4bへブートプログラムPを転送する。メモリコントローラ4bは、ブートプログラムPをメモリ4a−1,...,4a−mにそれぞれ格納する。
一方、パーソナルコンピュータ21からの通信経路22とトランシーバ20、LSI14−1、システムバス15を経由した指令に応じて、ブート制御部4cがリセット信号をネゲートし、その後、ブート制御部4cがブートバス使用許可信号をアサートすることによって、プロセッサ2−1,...,2−nは、ブートプログラムP1、...,Pmの命令コードを、ブートバス5−1,...,5−nを介してメモリ4a−1,...,4a−mから読み出して実行することによって、シリアルバス3−1,...,3−nの初期化をそれぞれ行う。
本実施の形態によれば、プロセッサ2−1,...,2−nを、パーソナルコンピュータ21から供給するブートプログラムP1,...,Pmで起動することができる。また、図7に示さない図2のメモリ6又は図4のメモリ8にブートプログラムP’を書き込むプログラムをブートプログラムとして実行させることにより、ROMライタ等の専用の設備及び専用の設備を用いた書込み作業を行うことなくメモリ6又はメモリ8に書き込むことができる。
本発明は、上記実施の形態に限定されるものではなく、幾多の変更及び変形が可能である。例えば、上記第1〜7の実施の形態において、データ処理装置1,1a,1b,1c,1d,1e,1fがCNCである場合について説明したが、データ処理装置1,1a,1b,1c,1d,1e,1fは、ロボットコントローラ等であってもよい。
上記第1〜7の実施の形態において、nが2以上の整数である場合について説明したが、nは1であってもよい。また、上記第1〜7の実施の形態において、mが2以上かつn未満の整数である場合について説明したが、mは1又は2以上かつnと同一の整数であってもよい。また、上記第5の実施の形態において、lが2以上の整数である場合について説明したが、lは1であってもよい。
また、上記第1〜7の実施の形態において、シリアルバス3−1,...,3−nをチップセット4に接続する場合について説明したが、シリアルバス3−1,...,3−nをチップセット4以外の構成要素に接続することもできる。
プロセッサ2−1,...,2−n,10−1,...,10−l,17を、プロセッサコア又はDMAコントローラを内蔵したSoC(System-on-a-chip)によって構成することもできる。この場合、プロセッサ2−1,...,2−nからシリアルバス3−1,...,3−nにアクセスするために、プロセッサコア又はDMAコントローラからシリアルバス3−1,...,3−nにアクセスする。
上記第1の実施の形態において、メモリ4a−1,...,4a−mがそれぞれDRAM、SRAM等の書換え可能なメモリによって構成する場合について説明したが、メモリ4a−1,...,4a−mをそれぞれ書換え可能でないメモリによって構成することもできる。
ブート制御信号V1,...,Vn,Vl’としてリセット信号とブートバス使用許可信号の両方を使用する際に、ブートバス使用許可信号のアサート、リセット信号のネゲート、ブートバス使用許可信号のネゲート及びリセット信号のアサートを順に行う場合について説明したが、ブートバス使用許可信号のネゲート、リセット信号のアサート、リセット信号のネゲート及びブートバス使用許可信号のアサートを順に行い、リセット信号のアサート、ブートバス使用許可信号のネゲート、リセット信号のネゲート及びブートバス使用許可信号のアサートを順に行うこともできる。また、電源投入直後のデフォルトの状態がブートバス使用許可信号がネゲートであるとともにリセット信号がアサートである状態であるときに、リセット信号のネゲート及びブートバス使用許可信号のアサートを順に行うこともでき、電源投入直後のデフォルトの状態がブートバス使用許可信号及びリセット信号がネゲートであるときに、ブートバス使用許可信号のアサートを行うことができる。
上記第1〜7の実施の形態において、シリアルバス3−1,..,3−nが同一プロトコルである場合について説明したが、シリアルバス3−1,..,3−nが同一プロトコルでなくてもよい。また、ブート制御信号V1,...,Vn,Vl’として、プロセッサの電源準備完了信号、ブートバスのデータ準備完了信号、バスのクロック信号等を用いることもできる。
プロセッサ2−1,...,2−n,10−1,...,10−l,17に2本のブートバスが接続される場合には、ブートバス使用許可信号として、一方のブートバスのみを制御する信号、2本のブートバスを個別に制御する信号及び2本のブートバスを同時に制御する信号のうちのいずれの信号を用いてもよい。また、上記第1〜7の実施の形態において、プロセッサ2−1,...,2−n,10−1,...,10−l,17に1本又は2本のブートバスを接続する場合について説明したが、プロセッサ2−1,...,2−n,10−1,...,10−l,17に3本以上のブートバスを接続することもできる。
上記第2〜4の実施の形態において、ブートプログラムPを記憶した不揮発性のメモリをプロセッサ2−nのみにブートバスを介して接続した場合について説明したが、ブートプログラムPを記憶した不揮発性のメモリをプロセッサ2−n以外のプロセッサのうちの少なくとも一つにブートバスを介して接続することもできる。また、上記第5〜7の実施の形態において、ブートプログラムPを記憶した不揮発性のメモリをプロセッサ2−1,...,2−nのうちの少なくとも一つにブートバスを介して接続することができる。
上記第5〜7の実施の形態において、ブートプログラムPの命令コードをバス11−1,...,11−l又はシステムバス15を介してメモリコントローラ4bに供給する場合について説明したが、ブートプログラムP以外のプログラム(例えば、試験プログラム)の命令コード、各種データ等を、ブートプログラムPの命令コードと同時又はブートプログラムPの命令コードとは別にバス11−1,...,11−l又はシステムバス15を介してメモリコントローラ4bに供給することもできる。
上記第6及び7の実施の形態において、ブートプログラムPを、LSI14−1に接続された不揮発性メモリ、LSI14−1に内蔵された不揮発性メモリ、LSI14−2とLSI14−3のうちのいずれか一方に接続された不揮発性メモリ又はLSI14−2とLSI14−3のうちのいずれか一方に内蔵された不揮発性メモリから読み出すことができ、メモリコントローラ4bに対するメモリ4a−1,...,4a−mへのブートプログラムPの書込み指示を、LSI14−1に内蔵されたDMAコントローラ、チップセット4に内蔵されたDMAコントローラ又はLSI14−2とLSI14−3のうちのいずれか一方に内蔵されたDMAコントローラによって行うこともできる。
上記第6の実施の形態において、プロセッサ16を、LSI14−1に内蔵されるプロセッサコアの形態とすることもでき、メモリ17をLSI14−1又はプロセッサ16に内蔵することもでき、メモリ17をプロセッサ16の代わりにLSI14−1に接続することもできる。また、上記第6の実施の形態において、データ処理装置1eは、図6に示すLSI14−1、第5のバスとしてのシステムバス15、プロセッサ16、メモリ17、バス18及びブートバス19を備えることができる。また、上記第7の実施の形態において、有線による通信経路22の代わりに無線による通信経路を設けることもできる。さらに、上記第6の実施の形態において、データ処理装置1eは、図7に示すLSI14−1、システムバス15及びトランシーバ20を備えることができる。
1,1a,1b,1c,1d,1e,1f データ処理装置
2−1,...,2−n,10−1,...,10−l,16 プロセッサ
3−1,..,3−n シリアルバス
4 チップセット
4a−1,...,4a−m,6,8,12,17 メモリ
4b メモリコントローラ
4c ブート制御部
5−1,...,5−n,5−n’,7,9,13,19 ブートバス
5’−n−1 第1の部分
5’−n−2 第2の部分
10−1,...,10−l,18 バス
14−1,14−2,14−3 LSI
15 システムバス
20 トランシーバ
21 通信路
22 パーソナルコンピュータ
P,P’,P1,...,Pm ブートプログラム
S1−1,...,S1−n,S2 信号ライン
V1,...,Vn ブート制御信号
Vs ブートプログラム選択信号

Claims (9)

  1. 電源投入後の第1のバスの初期化を行うための第1または第2のブートプログラムに基づいた初期化を行う1個以上の第1の個数の第1のプロセッサと、
    前記第1のプロセッサに接続され、使用時に前記第1または前記第2のブートプログラムに基づいた初期化が必要である前記第1のバスと、
    前記第1のブートプログラムを記憶した1個以上かつ前記第1の個数以下の第2の個数の第1のメモリ及び前記第1のメモリに記憶された前記第1のブートプログラムを読み出すメモリコントローラを有するチップセットと、
    前記メモリコントローラが読み出した前記第1のブートプログラムを前記第1のプロセッサに供給するために前記メモリコントローラと前記第1のプロセッサとの間に介在し、使用時に前記第1のブートプログラムに基づいた初期化が不要である前記第1の個数の第2のバスと、
    を備え、
    前記チップセットは、前記第1のプロセッサの起動のタイミングの制御、前記第1のプロセッサの再起動のタイミングの制御及び前記第2のバスへのアクセス制御のうちの少なくとも一つを行うブート制御部を更に有し、
    電源投入後の前記第1のバスの初期化を行うための前記第2のブートプログラムを記憶した不揮発性の第2のメモリと、
    前記第2のメモリに記憶した前記第2のブートプログラムを前記第1のプロセッサに供給するために前記第2のメモリと前記第1のプロセッサとの間に介在し、使用時に前記第1のプロセッサによる前記第2のブートプログラムに基づいた初期化が不要である第3のバスと、
    を更に備え、
    前記ブート制御部は、前記第1のプロセッサが前記第1のブートプログラムと前記第2のブートプログラムのうちのいずれか一方を起動時に実行するために、前記第1のメモリに記憶された前記第1のブートプログラムと前記第2のメモリに記憶された前記第2のブートプログラムのうちのいずれか一方を選択する、
    ことを特徴とするデータ処理装置。
  2. 電源投入後の第1のバスの初期化を行うための第1または第2のブートプログラムに基づいた初期化を行う1個以上の第1の個数の第1のプロセッサと、
    前記第1のプロセッサに接続され、使用時に前記第1または前記第2のブートプログラムに基づいた初期化が必要である前記第1のバスと、
    前記第1のブートプログラムを記憶した1個以上かつ前記第1の個数以下の第2の個数の第1のメモリ及び前記第1のメモリに記憶された前記第1のブートプログラムを読み出すメモリコントローラを有するチップセットと、
    前記メモリコントローラが読み出した前記第1のブートプログラムを前記第1のプロセッサに供給するために前記メモリコントローラと前記第1のプロセッサとの間に介在し、使用時に前記第1のブートプログラムに基づいた初期化が不要である前記第1の個数の第2のバスと、
    を備え、
    前記チップセットは、前記第1のプロセッサの起動のタイミングの制御、前記第1のプロセッサの再起動のタイミングの制御及び前記第2のバスへのアクセス制御のうちの少なくとも一つを行うブート制御部を更に有し、
    電源投入後の前記第1のバスの初期化を行うための前記第2のブートプログラムを記憶した不揮発性の第2のメモリを更に備え、
    前記第2のバスのうちの少なくとも一つは、前記メモリコントローラが読み出した前記第1のブートプログラムを前記第1のプロセッサに供給するために前記メモリコントローラと前記第1のプロセッサとの間に介在する第1の部分と、前記第2のメモリに記憶した前記第2のブートプログラムを前記第1のプロセッサに供給するために前記第1の部分と前記第1のプロセッサとの間に介在する第2の部分と、を有し、
    前記ブート制御部は、前記第1のプロセッサが前記第1のブートプログラムと前記第2のブートプログラムのうちのいずれか一方を起動時に実行するために、前記第1のメモリに記憶された前記第1のブートプログラムと前記第2のメモリに記憶された前記第2のブートプログラムのうちのいずれか一方を選択する、
    ことを特徴とするデータ処理装置。
  3. 電源投入後の第1のバスの初期化を行うための第1または第2のブートプログラムに基づいた初期化を行う1個以上の第1の個数の第1のプロセッサと、
    前記第1のプロセッサに接続され、使用時に前記第1または前記第2のブートプログラムに基づいた初期化が必要である前記第1のバスと、
    前記第1のブートプログラムを記憶した1個以上かつ前記第1の個数以下の第2の個数の第1のメモリ及び前記第1のメモリに記憶された前記第1のブートプログラムを読み出すメモリコントローラを有するチップセットと、
    前記メモリコントローラが読み出した前記第1のブートプログラムを前記第1のプロセッサに供給するために前記メモリコントローラと前記第1のプロセッサとの間に介在し、使用時に前記第1のブートプログラムに基づいた初期化が不要である前記第1の個数の第2のバスと、
    を備え、
    前記チップセットは、前記第1のプロセッサの起動のタイミングの制御、前記第1のプロセッサの再起動のタイミングの制御及び前記第2のバスへのアクセス制御のうちの少なくとも一つを行うブート制御部を更に有し、
    電源投入後の前記第1のバスの初期化を行うための前記第2のブートプログラムを記憶した不揮発性の第2のメモリと、
    前記第2のメモリに記憶した前記第2のブートプログラムを前記第1のプロセッサに供給するために前記第2のメモリと前記メモリコントローラとの間に介在し、使用時に前記第1のプロセッサによる前記第2のブートプログラムに基づいた初期化が不要である第3のバスと、
    を更に備え、
    前記ブート制御部は、前記第1のプロセッサが前記第1のブートプログラムと前記第2のブートプログラムのうちのいずれか一方を起動時に実行するために、前記第1のメモリに記憶された前記第1のブートプログラムと前記第2のメモリに記憶された前記第2のブートプログラムのうちのいずれか一方を選択する、
    ことを特徴とするデータ処理装置。
  4. 前記第1のブートプログラムは、前記第2のメモリに前記第2のブートプログラムの書き込みを行うプログラムである請求項からのうちのいずれか1項に記載のデータ処理装置。
  5. 電源投入後の第1のバスの初期化を行うための第1のブートプログラムに基づいた初期化を行う1個以上の第1の個数の第1のプロセッサと、
    前記第1のプロセッサに接続され、使用時に前記第1のブートプログラムに基づいた初期化が必要である前記第1のバスと、
    前記第1のブートプログラムを記憶した1個以上かつ前記第1の個数以下の第2の個数の第1のメモリ及び前記第1のメモリに記憶された前記第1のブートプログラムを読み出すメモリコントローラを有するチップセットと、
    前記メモリコントローラが読み出した前記第1のブートプログラムを前記第1のプロセッサに供給するために前記メモリコントローラと前記第1のプロセッサとの間に介在し、使用時に前記第1のブートプログラムに基づいた初期化が不要である前記第1の個数の第2のバスと、
    を備え、
    前記チップセットは、前記第1のプロセッサの起動のタイミングの制御、前記第1のプロセッサの再起動のタイミングの制御及び前記第2のバスへのアクセス制御のうちの少なくとも一つを行うブート制御部を更に有し、
    前記第1のメモリは、前記メモリコントローラによる書換えが可能なメモリであり、
    1個以上の第3の個数の第2のプロセッサと、
    前記メモリコントローラが前記第1のメモリに書き込む前記第1のブートプログラムを前記第2のプロセッサから前記メモリコントローラに供給するために前記第2のプロセッサと前記メモリコントローラとの間に介在する前記第3の個数の第4のバスと、
    を更に備える、
    ことを特徴とするデータ処理装置。
  6. 前記第1のメモリは、前記メモリコントローラによる書換えが可能なメモリであり、
    1個以上の第3の個数の第2のプロセッサと、
    前記メモリコントローラが前記第1のメモリに書き込む前記第1のブートプログラムを前記第2のプロセッサから前記メモリコントローラに供給するために前記第2のプロセッサと前記メモリコントローラとの間に介在する前記第3の個数の第4のバスと、
    を更に備える、請求項からのうちのいずれか1項に記載のデータ処理装置。
  7. 電源投入後の第1のバスの初期化を行うための第1のブートプログラムに基づいた初期化を行う1個以上の第1の個数の第1のプロセッサと、
    前記第1のプロセッサに接続され、使用時に前記第1のブートプログラムに基づいた初期化が必要である前記第1のバスと、
    前記第1のブートプログラムを記憶した1個以上かつ前記第1の個数以下の第2の個数の第1のメモリ及び前記第1のメモリに記憶された前記第1のブートプログラムを読み出すメモリコントローラを有するチップセットと、
    前記メモリコントローラが読み出した前記第1のブートプログラムを前記第1のプロセッサに供給するために前記メモリコントローラと前記第1のプロセッサとの間に介在し、使用時に前記第1のブートプログラムに基づいた初期化が不要である前記第1の個数の第2のバスと、
    を備え、
    前記チップセットは、前記第1のプロセッサの起動のタイミングの制御、前記第1のプロセッサの再起動のタイミングの制御及び前記第2のバスへのアクセス制御のうちの少なくとも一つを行うブート制御部を更に有し、
    前記第1のメモリは、前記メモリコントローラによる書換えが可能なメモリであり、
    1個以上の第4の個数のLSIと、
    前記LSIと前記メモリコントローラとの間に介在する第5のバスと、
    を更に備え、前記メモリコントローラが前記第1のメモリに書き込む前記第1のブートプログラムを前記LSIから前記第5のバスを介して前記メモリコントローラに供給する、
    ことを特徴とするデータ処理装置。
  8. 前記第1のメモリは、前記メモリコントローラによる書換えが可能なメモリであり、
    1個以上の第4の個数のLSIと、
    前記LSIと前記メモリコントローラとの間に介在する第5のバスと、
    を更に備え、前記メモリコントローラが前記第1のメモリに書き込む前記第1のブートプログラムを前記LSIから前記第5のバスを介して前記メモリコントローラに供給する、請求項からのうちのいずれか1項に記載のデータ処理装置。
  9. 無線又は有線による通信を行うトランシーバを更に備え、前記第1のブートプログラムを格納した外部機器から送信された前記第1のブートプログラムを、前記トランシーバが受信して前記LSI、前記第5のバス及び前記メモリコントローラを介して前記第1のメモリに格納し、外部機器から送信された指令を、前記トランシーバが受信して前記LSI及び前記第5のバスを介して前記ブート制御部に伝達し、前記第1のプロセッサは、前記指令に従って前記第1のブートプログラムを実行する請求項7または8に記載のデータ処理装置。
JP2013016901A 2013-01-31 2013-01-31 使用時に初期化が必要なシリアルバスを備えるデータ処理装置 Active JP5689487B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013016901A JP5689487B2 (ja) 2013-01-31 2013-01-31 使用時に初期化が必要なシリアルバスを備えるデータ処理装置
DE201410001144 DE102014001144A1 (de) 2013-01-31 2014-01-28 Datenverarbeitungsanlage mit seriellem Bus, der vor seiner Verwendung eine Initialisierung erfordert
CN201410044181.8A CN103970689B (zh) 2013-01-31 2014-01-30 具备在使用时需要初始化的串行总线的数据处理装置
US14/168,955 US9223585B2 (en) 2013-01-31 2014-01-30 Data processing device with serial bus that needs initialization before use

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013016901A JP5689487B2 (ja) 2013-01-31 2013-01-31 使用時に初期化が必要なシリアルバスを備えるデータ処理装置

Publications (2)

Publication Number Publication Date
JP2014149598A JP2014149598A (ja) 2014-08-21
JP5689487B2 true JP5689487B2 (ja) 2015-03-25

Family

ID=51163637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013016901A Active JP5689487B2 (ja) 2013-01-31 2013-01-31 使用時に初期化が必要なシリアルバスを備えるデータ処理装置

Country Status (4)

Country Link
US (1) US9223585B2 (ja)
JP (1) JP5689487B2 (ja)
CN (1) CN103970689B (ja)
DE (1) DE102014001144A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5996513B2 (ja) * 2013-11-27 2016-09-21 京セラドキュメントソリューションズ株式会社 電子機器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5938742A (en) * 1995-08-18 1999-08-17 General Magic, Inc. Method for configuring an intelligent low power serial bus
US6535974B1 (en) * 1999-06-18 2003-03-18 Accelent Systems Inc. Device and method for noninvasive, user replacement of an inoperable boot program
JP2002140205A (ja) 2000-10-31 2002-05-17 Canon Inc データ処理装置およびデータ処理装置のブート処理方法
JP2003114800A (ja) 2001-10-04 2003-04-18 Ricoh Co Ltd ブート仲介プログラム、ブート方法及び記憶装置
JP2007233534A (ja) * 2006-02-28 2007-09-13 Toshiba Corp 情報処理装置およびメモリアドレス空間割り当て方法
US20100017587A1 (en) * 2008-07-16 2010-01-21 Wiginton Scotty M Method and system for securing an option ROM configuration
US8340120B2 (en) * 2009-09-04 2012-12-25 Brocade Communications Systems, Inc. User selectable multiple protocol network interface device
JP2012216108A (ja) * 2011-04-01 2012-11-08 Nec Corp 情報処理装置およびプログラム転送方法
JP2013020500A (ja) * 2011-07-12 2013-01-31 Lenovo Singapore Pte Ltd 冷却システム、携帯型情報機器、外部装置、携帯型情報機器の温度制御方法、及びコンピュータが実行可能なプログラム

Also Published As

Publication number Publication date
US20140215200A1 (en) 2014-07-31
CN103970689B (zh) 2016-06-29
JP2014149598A (ja) 2014-08-21
DE102014001144A1 (de) 2014-07-31
US9223585B2 (en) 2015-12-29
CN103970689A (zh) 2014-08-06

Similar Documents

Publication Publication Date Title
US9858084B2 (en) Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory
US20190235858A1 (en) Apparatus and method for configuring or updating programmable logic device
JP6005392B2 (ja) ルーティングのための方法及び装置
JP2007206885A (ja) コンピュータシステム及びシステム起動方法
JP5400443B2 (ja) 集積回路、デバッグ回路、デバッグコマンド制御方法
US11281618B2 (en) Methods and circuits for deadlock avoidance
CN108304334B (zh) 应用处理器和包括中断控制器的集成电路
JP6602579B2 (ja) 半導体装置およびシステム
CN101206626A (zh) 对共用总线进行控制的方法和设备
TWI570627B (zh) 使用先進先出之介面仿真器
US20150046759A1 (en) Semiconductor integrated circuit device
KR20140083530A (ko) 하드웨어를 디버깅하는 부트 쉘을 포함하는 시스템온칩 및 이의 구동 방법
JP5689487B2 (ja) 使用時に初期化が必要なシリアルバスを備えるデータ処理装置
TWI506453B (zh) 伺服器系統
RU2454739C1 (ru) Способ программирования имс flash-памяти типа nand и устройство для его реализации
US9934045B1 (en) Embedded system boot from a storage device
JPH05173985A (ja) プログラマブルコントローラ
WO2010047059A1 (ja) カードホストlsi、およびこれを有するセット機器
TWI739853B (zh) 運算裝置與運作方法
TWI676104B (zh) 記憶體控制器與資料儲存裝置
CN112912958A (zh) 使用内置自测控制器测试只读存储器
JP2015191606A (ja) 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム
US10002087B1 (en) Communication between an external processor and FPGA controller
JP2007102544A (ja) デジタルシグナルプロセッサシステムおよびそのブート方法。
TWI517166B (zh) 非揮發性記憶體裝置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140714

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140902

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141202

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20141209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150128

R150 Certificate of patent or registration of utility model

Ref document number: 5689487

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150