JP5054558B2 - マルチコアlsi - Google Patents

マルチコアlsi Download PDF

Info

Publication number
JP5054558B2
JP5054558B2 JP2008033030A JP2008033030A JP5054558B2 JP 5054558 B2 JP5054558 B2 JP 5054558B2 JP 2008033030 A JP2008033030 A JP 2008033030A JP 2008033030 A JP2008033030 A JP 2008033030A JP 5054558 B2 JP5054558 B2 JP 5054558B2
Authority
JP
Japan
Prior art keywords
output
cpu
shared bus
access
request 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.)
Active
Application number
JP2008033030A
Other languages
English (en)
Other versions
JP2009193305A (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.)
Renesas Electronics Corp
Original Assignee
Renesas 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2008033030A priority Critical patent/JP5054558B2/ja
Priority to US12/366,718 priority patent/US7890685B2/en
Publication of JP2009193305A publication Critical patent/JP2009193305A/ja
Priority to US12/985,227 priority patent/US8108586B2/en
Priority to US13/342,804 priority patent/US8370556B2/en
Application granted granted Critical
Publication of JP5054558B2 publication Critical patent/JP5054558B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Description

本発明は、複数のCPUを同一のLSI上に搭載したマルチコアLSIに関する。
複数のCPUを同一のLSI上に搭載したマルチコアLSIにおいて、複数のCPUがそれぞれ独立に動作するようなソフトウェアのデバッグをしている時に、プログラムの暴走(意図しない領域へのアクセスなど)により共有バスがハングアップした場合、どのCPUのどのアクセスによりハングアップしたかを特定できず、ソフトウェアのデバッグが困難になる。
他のCPUが正常に動作する中で或るCPUが暴走して共有バスをハングアップさせた場合が、上記の場合に該当する。この場合では、共有バスのハングアップにより、デバッグ対象のCPUが停止するだけでなく、他の正常なCPUもアクセスができなくなり停止する。そのため、マルチコアLSIでは、これまでのシングルコアLSI(1個のCPUを搭載したLSI)でのデバッグの手法を用いても、有効にソフトウエアのデバッグができなかった。
シングルコアLSIでのデバッグの技術として、下記(1)(2)が知られている。
(1)システムコントローラによって、共有バスを監視して所定時間経過してもアクセスが終了しない場合(即ちCPUが暴走した場合)は、それを検出して、共有バスに疑似応答信号を出力して、アクセス中のCPUの当該アクセスを終了させると同時に、CPUに割込処理を入れる。その後、そのCPUの動作を解析して、その割込処理がプログラムのどの箇所で処理されたかを確認することで、CPUがプログラムの何処で暴走したかを特定する(従来技術1)。
(2)ソフトウェア上の処理の中の一定の処理期間に対するタイムアウトを検出する機能として、WDT(ウォッチドックタイマ)が知られている。この場合は、WDTによって、タイムアウトを検出してCPUに割込処理を入れることで、CPUがプログラムの何処で暴走したかを特定する(従来技術2)。
尚、タイムアウトを検出する先行技術文献としては、特許文献1が知られている。
特開2001−167067号公報
上記の従来技術1をマルチコアLSIに拡張した場合は、割込処理の要求信号をどの様に各々のCPUに出力するか、どのCPUのアクセスによりハングアップしたのかをどのように特定するのかという点において、現在では有効な手法が無い状況である。
また上記の従来技術2をマルチコアLSIに使用した場合は、そもそも共有バスがハングアップした場合に、WDTによって、それを検出して他の正常なCPUに割込処理をさせようとしても、デバッグ対象のCPUがバス権の開放を行わない限り、その正常なCPUは割込処理を実行できない。
以上の事から、従来では、マルチコアLSIにおいて、共有バスのハングアップが発生しても、そのハングアップが、どのCPUのどのアクセスにより発生したかの特定ができないので、プログラムの開発効率が良くないという問題点があった。
また、或るCPUが暴走して共有バスをハングアップすると、他の正常なCPUがアクセスできなくなって他の正常なCPUも停止するので、LSIの動作上の安定性が良くないという問題点があった。
この発明は、上記のような問題点を解決するためになされたものであり、第1に、動作の安定性を向上できるマルチコアLSIを提供すること、第2に、更に、プログラムの開発効率を向上できるマルチコアLSIを提供する目的としている。
上記課題を解決する為に、本発明の第1の形態は、第1の共有バスに接続された複数のCPUと、第2の共有バスに接続された1個以上のモジュールと、前記第1の共有バスと前記第2の共有バスとの間に接続され、前記複数のCPUの前記モジュールへのアクセスを調停する共有バス制御部と、アクセス先の前記モジュールから、前記CPUのアクセス要求信号に対する応答信号が出力されたか否かを監視するシステムコントローラとを備え、前記システムコントローラは、前記共有バス制御部から前記第2の共有バスに前記アクセス要求信号が出力されてから所定時間経過しても、アクセス先の前記モジュールから前記応答信号が出力されない場合は、前記共有バス制御部を介して前記第1の共有バスに疑似応答信号を出力して、アクセス中の前記CPUの当該アクセスを終了させ、前記システムコントローラは、所定の外部装置からの終了要求信号を受けた場合には、前記所定時間が経過する前でも、前記共有バス制御部を介して前記第1の共有バスに疑似応答信号を出力して、前記アクセス中のCPUの当該アクセスを終了させるものである。
本発明の第1の形態によれば、システムコントローラは、共有バス制御部から第2の共有バスにアクセス要求信号が出力されてから所定時間経過するまでに、アクセス先のモジュールから応答信号が出力されない場合は、共有バス制御部を介して第1の共有バスに疑似応答信号を出力して、アクセス中のCPUの当該アクセスを終了させる。これにより、バグ等の発生により、アクセス先のモジュールから応答信号が出力されない場合でも、アクセス中のCPUが共有バスを長期に占有してマルチコアLSIの動作が停止する事を防止でき、マルチコアLSIの動作の安定性を向上できる。
実施の形態1.
<全体構成>
この実施の形態に係るマルチコアLSI1は、図1の様に、複数(例えば2個)のCPU#0,#1と、各CPU#0,#1のアクセスを調停する共有バス制御部3と、それら各構成要素#0,#1,3が接続された共有バスb1と、ROMやRAM等の1個以上(例えばn個)のモジュールm1〜mnと、外部バスgbとのインターフェースである外部バス制御部5と、各CPU#0,#1に割込処理を発生させる割り込みコントローラ7と、それら各構成要素m1〜mn,3,5が接続された共有バスb2と、共有バスb2を監視するシステムコントローラ9とを備える。
各共有バスb1,b2はそれぞれ、アクセス先のアドレスが送信されるアドレスバスと、コマンド(例えば読み出し(read)、書き込み(write)および応答信号など)が送信されるコマンドバスと、データが送信されるデータバスと、アクセス元のCPU#0,#1のIDが送信されるCPUIDバスとから構成される。
各CPU#0,#1は、一般的なものであって、デバッグ機能dbと、1次キャッシュL1と、システムコントローラ9からの各種の割込処理の要求信号である、NMI(ノンマスカブル割り込み)、INT(マスカブル割り込み)、およびDBI(デバッグ割り込み)を備える。
デバッグ機能dbは、一般的なデバッグ機能であって、例えば、当該CPU#0,#1のプログラムの実行制御、ブレークポイント制御、CPU内部レジスタ表示や、外部からの要求信号に応じて当該CPU#0,#1の実行履歴を外部に出力する機能などといった、プログラムのデバッグに必要な機能を、外部装置と通信を行い実現するものである。
入力信号NMIは、ノンマスカブル割込処理(Non-maskable Interrupt)の要求信号を表している。入力信号DBIは、デバッグ割込処理(Debug Interrupt)の要求信号を表している。入力信号INTは、マスカブル割込処理(maskable Interrupt)の要求信号を表している。各CPU#0,#1はそれぞれ、各入力部NMI,DBI,INTに入力された要求信号に応じて各種の割込処理を実行する。
各CPU#0,#1は、各モジュールm1〜mnまたは外部バスgbに接続された各外部デバイスgd1,gd2にアクセスする場合は、アクセス要求信号として、共有バスb1のアドレスバス、コマンドバス、CPUIDバスにそれぞれアクセス先のアドレス、読み出しまたは書き込みのコマンド、アクセス元のCPU#0または#1のID(CPUID)を出力すると共に前記コマンドが書き込みの場合は更に共有バスb1のデータバスに書込対象のデータを出力する。
また各CPU#0,#1は、アクセス要求信号の共有バスb1への出力でアクセスを開始し、そのアクセス要求信号に対する応答信号を共有バスb1を通じて取得すると、そのアクセスを終了する。
共有バス制御部3は、2次キャッシュL2を備えることも可能である。以降は2次キャッシュL2を備えた場合について説明する。
また共有バス制御部3は、共有バスb1を通じて各CPU#0または#1からのアクセス要求信号を受信すると、2次キャッシュL2にアクセスして、その読出対象のデータが2次キャッシュL2に保存されているかを確認する。そして保存されている場合は、アクセス元のCPU#0または#1に対して、アクセス要求信号のコマンドが読み出しの場合は、その保存されているデータを共有バスb1を通じて出力すると共にそのアクセス要求信号に対する応答信号を共有バスb1を通じて出力し、アクセス要求信号のコマンドが書き込みの場合は、L2キャッシュに書き込みをすると共に、そのアクセス要求信号に対する応答信号を共有バスb1を通じて出力する。
また共有バス制御部3は、その対象のデータが2次キャッシュに保存されていない場合、共有バスb1を通じて受信した当該アクセス要求信号を共有バスb2に出力する。
また共有バス制御部3は、共有バスb2から、各モジュールm1〜mnまたは外部バス制御部5からの応答信号および読出対象のデータを受信した場合、その応答信号および読出対象のデータを共有バスb1に出力する。
また共有バス制御部3は、システムコントローラ9から専用配線12を通じて後述の疑似応答信号が入力されると、その疑似応答信号を、共有バスb1に出力して、その際にアクセス中のCPU#0または#1に受信させて当該アクセスを強制的に終了させる。尚、上記の疑似応答信号とは、アクセス要求信号のアクセス先が応答信号を出力しない場合に、システムコントローラ9が、その代わりに出力する応答信号である。
各モジュールm1〜mnは、共有バスb2を通じて自身へのアクセス要求信号を受信すると、そのアクセス要求信号に対する応答信号を共有バスb2に出力すると共に、専用配線11を通じてシステムコントローラ9にも応答信号を出力する。
尚、専用配線11は、例えば、OR回路11aを備え、OR回路11aの複数の入力部には、各モジュールm1〜mnおよび外部バス制御部5の各々の応答信号出力部が配線接続され、OR回路11aの出力部には、システムコントローラ9の応答信号入力部が配線接続されて構成されている。OR回路11aは、その複数の入力部のうちの何れかに応答信号が入力されると、その出力部から応答信号を出力する。
外部バス制御部5は、外部バスgbに接続された外部デバイスgd1,gd2と、各CPU#0,#1nとの間の通信を中継する。
割り込みコントローラ7は、各モジュールm1〜mnまたは外部デバイス(不図示)から各種の割込処理の要求信号が入力されると、システムコントローラ9を介して各CPU#0,#1の各入力信号NMI,DBI,INTを出力して、各CPU#0,#1に当該各種の割込処理を実行させる。
システムコントローラ9は、共有バスb2中のアクセス要求信号を監視する。そしてシステムコントローラ9は、共有バス制御部3から共有バスb2にアクセス要求信号が出力されてから所定時間経過するまでに、そのアクセス要求信号のアクセス先から共有バスb2にそのアクセス要求信号に対する応答信号が出力されたか否かを監視する。
そしてシステムコントローラ9は、上記の所定時間経過するまでに当該応答信号が共有バス2に出力されない場合は、上記の所定時間経過したときに(即ちタイムアウトが発生したときに)、バグ等の発生により共有バスb1,b2がハングアップしたと判定し、下記の処理(1)(2)(3)を行う。
即ち処理(1)として、疑似応答信号を例えば専用配線12を介して共有バス制御部3に出力し、その疑似応答信号を、共有バス制御部3から共有バスb1に出力させてアクセス元のCPU#0または#1に取得させ、そのアクセスを強制的に終了させる。
また処理(2)として、アクセス中のCPU#0,#1が当該アクセスの際に出力したCPUID、読み出しまたは書き込みのコマンド、およびアドレスのうちの少なくとも1つを保存する。
また処理(3)として、CPU#0,#1の入力信号MNI,DBI,INTに信号を出力してCPU#0,#1に各種の割込処理を実行させる。これにより、バグの発生箇所を推定することが可能となる。
またシステムコントローラ9は、外部装置からの終了要求信号が入力されると、疑似応答信号を共有バス制御部3に出力して、上記の所定時間経過する前でも、アクセス中のCPU#0,#1の当該アクセスを強制的に終了させる。
<システムコントローラ9の構成>
システムコントローラ9は、図2の様に、アドレスレジスタ9aと、コマンドレジスタ9bと、CPUIDレジスタ9cと、各CPU#0,#1毎に設けられた割り込み制御レジスタ9d,9eと、カウンタ9fと、制御部9gとを備える。
アドレスレジスタ9aは、共有バスb2のアドレスバスq1に接続され、コマンドレジスタ9bは、共有バスb2のコマンドバスq2に接続され、CPUIDレジスタ9cは、共有バスb2のCPUIDバスq3に接続され、割り込み制御レジスタ9d,9eは、共有バスb2のデータバスq4に接続されている。
各レジスタ9a,9b,9cはそれぞれ、制御部9fの制御に応じて、共有バス制御部3から共有バスb2に出力されたアクセス要求信号のアドレス,コマンド,CPUIDを格納する。
制御部9gは、共有バスb2のコマンドバスq2にアクセス要求信号のコマンド(読み出しまたは書き込みのコマンド)が出力されたか否かを監視する。そして制御部9gは、共有バスb2のコマンドバスq2にアクセス要求信号のコマンドが出力された事を検知すると、共有バス制御部3から共有バスb2にアクセス要求信号が出力されたと判定して、カウント9fに所定時間の計時を開始させる。
そして制御部9gは、カウンタ9fが所定時間を計時し終えるまでに、専用配線11を通じて自身に当該アクセス要求信号のアクセス先から応答信号が入力されたか否か(即ちアクセス先から共有バスb2に当該アクセス要求信号に対する応答信号が出力されたか否か)を監視する。
そして制御部9gは、カウンタ9fが所定時間を計時し終えるまでに、専用配線11を通じて応答信号が自身に入力された場合は、アクセス先から共有バスb2に当該アクセス要求信号に対する応答信号が出力された(即ちバグの発生無し)と判定し、カウンタ9による所定時間の計時を中止させる。
他方、制御部9gは、専用配線11を通じて応答信号が自身に入力される前にカウンタ9fが所定時間を計時し終えた場合(即ちタイムアウトが発生した場合)は、バグ等が発生して共有バスb1,b2がハングアップしたと判定し、下記の処理(1)(2)(3)を行う。
即ち処理(1)として、制御部9gは、例えば専用配線12を介して疑似応答信号を共有バス制御部3に出力し、その疑似応答信号を、共有バス制御部3から共有バスb1に出力させてアクセス中のCPU#0,#1に取得させ、そのアクセスを強制的に終了させる。
また処理(2)として、制御部9gは、共有バスb2から当該アクセス要求信号のアドレス,読み出しまたは書き込みのコマンド、およびCPUIDを取得し、それらをそれぞれ各レジスタ9a,9b,9cに格納する。尚、この格納されたアドレス、コマンドおよびCPUIDは、どのCPU#0,#1のどのアクセスによりバグ等が発生したかを特定するのに役立てられる。
また処理(3)として、制御部9gは、CPUIDレジスタ9cに格納された上記のCPUIDおよび割り込み制御レジスタ9d,9eに予め格納された設定データに応じて、各CPU#0,#1に対して割込処理の要求信号NMI,DBI,INTを出力して、各CPU#0,#1に各種の割込処理を実行させる。
尚、割り込み制御レジスタ9d,9eに格納された設定データを変更することで、バグ発生時に各CPU#0,#1に実行させる割込処理の種類を変更できる。割り込み制御レジスタ9d,9eに格納された設定データの変更は、例えば、外部から割り込みコントローラ7およびシステムコントローラ9を介してCPU#0または#1の入力部NMI,DBI,INTに割込処理の要求信号を出力し、そのCPU#0または#1の割込処理により行われる。
<制御部9bの構成>
図3は、制御部9gに於ける、CPU#0,#1の割込処理の要求信号NMIの出力を制御する部分の論理回路10aを示した図である。
この論理回路10aは、OR回路13aと、AND回路14a,15aと、出力回路16とを備える。
出力回路16は、1つの入力部t1と2つの出力部t2,t3とを有し、入力部t1には、CPUIDレジスタ9c内のCPUID(#0または#1)が入力され、そのCPUIDが#0の場合は、各出力部t2,t3からそれぞれ「0」,「1」が出力され、他方、そのCPUIDが#1の場合は、各出力部t2,t3からそれぞれ「1」,「0」が出力される。
AND回路14aは、1つの出力部t4と3つの入力部t5〜t7を有し、入力部t5には、割り込み制御レジスタ9b内の所定のビット位置(例えばb5)のビット値(「0」または「1」)が入力され、入力部t6には、出力回路16の出力部t2からの出力が入力され、入力部t7には、カウンタ9fの出力が入力される。尚、カウンタ9fの出力は、カウンタ9fが所定時間を計時し終えるまでは「0」を出力し、カウンタ9fが所定時間を計時し終えると(即ちタイムアップが発生すると)「1」を出力する。
AND回路15aは、1つの出力部t8と3つの入力部t9〜t11を有し、入力部t9には、割り込み制御レジスタ9b内の所定のビット位置(例えばb0)のビット値(「0」または「1」)が入力され、入力部t10には、出力回路16の出力部t3からの出力が入力され、入力部t11には、カウンタ9fの出力が入力される。
OR回路13aは、1つの出力部t12と3つの入力部t13〜t15とを有し、出力部t12の出力は、CPU#0の入力部NMIに出力され、各入力部t13,t14にはそれぞれ、AND回路14a,15aの出力部t4,t8からの出力が入力され、入力部t15には、割り込みコントローラ7からのノンマスカブル(NMI)割込処理の要求信号が入力される(尚、NMI割込処理の要求信号の入力が有る場合は「1」が入力され、NMI割込処理の要求信号の入力が無い場合「0」が入力される)。
同様に、CPU#1の割込処理の要求信号NMIの出力を制御する部分の論理回路10bは、OR回路13bと、AND回路14b,15bと、出力回路16とを備える。
AND回路14bは、1つの出力部t16と3つの入力部t17〜t19とを有し、入力部t17には、割り込み制御レジスタ9e内の所定のビット位置(例えばb3)のビット値(「0」または「1」)が入力され、入力部t18には、出力回路16の出力部t3の出力が入力され、出力部t19には、カウンタ9fの出力が入力される。
AND回路15bは、1つの出力部t20と3つの入力部t21〜t23とを有し、入力部t21には、割り込み制御レジスタ9e内の所定のビット位置(例えばb0)のビット値(「0」または「1」)が入力され、出力部t22には、出力回路16の出力部t2の出力が入力され、出力部t23には、カウンタ9fの出力が入力される。
OR回路13bは、1つの出力部t24と3つの入力部t25〜t27とを有し、出力部t24の出力は、CPU#1の割込処理の要求信号NMIに出力され、各入力部t25,t26にはそれぞれ、AND回路14b,15bの出力部t16,t20の出力が入力され、入力部t27には、割り込みコントローラ7からのノンマスカブル(NMI)割込処理の要求信号の出力が入力される。
またCPU#0の入力部INTへの割込処理の要求信号の出力を制御する部分の論理回路は、図示省略するが、論理回路10aにおいて、下記(1a)〜(4a)の変更を行って他の部分を同様に構成することで、構成される。
(1a)OR回路13aの出力部t12の出力をCPU#0の割込処理の要求信号INTに入力する。
(2a)AND回路14aの入力部t5には、割り込み制御レジスタ9dのビット位置b4のビット値を入力する。
(3a)AND回路15aの入力部t9には、割り込み制御レジスタ9dのビット位置b1のビット値を入力する。
(4a)OR回路13aの入力部t15には、割り込みコントローラ7からのマスカブル(INT)割込処理の要求信号が入力される(尚、INT割込処理の要求信号の入力が有る場合は「1」が入力され、INT割込処理の要求信号の入力が無い場合「0」が入力される)。
またCPU#1の割込処理の要求信号INTへの割込処理の要求信号の出力を制御する部分の論理回路は、図示省略するが、論理回路10bにおいて、下記(1b)〜(4b)の変更を行って他の部分を同様に構成することで、構成される。
(1b)OR回路13bの出力部t24の出力をCPU#1の割込処理の要求信号INTに入力する。
(2b)AND回路14bの入力部t17には、割り込み制御レジスタ9eのビット位置b4のビット値を入力する。
(3b)AND回路15bの入力部t21には、割り込み制御レジスタ9eのビット位置b1のビット値を入力する。
(4b)OR回路13bの入力部t27には、割り込みコントローラ7からのマスカブル(INT)割込処理の要求信号が入力される。
またCPU#0の割込処理の要求信号DBIへの出力を制御する部分の論理回路は、図示省略するが、論理回路10aにおいて、下記(1c)〜(4c)の変更を行って他の部分を同様に構成することで、構成される。
(1c)OR回路13aの出力部t12の出力をCPU#0の割込処理の要求信号DBIに入力する。
(2c)AND回路14aの入力部t5には、割り込み制御レジスタ9dのビット位置b5のビット値を入力する。
(3c)AND回路15aの入力部t9には、割り込み制御レジスタ9dのビット位置b2のビット値を入力する。
(4c)OR回路13aの入力部t15には、割り込みコントローラ7からのデバッグ(DBI)割込処理の要求信号が入力される(尚、DBI割込処理の要求信号の入力が有る場合は「1」が入力され、DBI割込処理の要求信号の入力が無い場合「0」が入力される)。
またCPU#1の割込処理の要求信号DBIへの出力を制御する部分の論理回路は、図示省略するが、論理回路10bにおいて、下記(1d)〜(4d)の変更を行って他の部分を同様に構成することで、構成される。
(1d)OR回路13bの出力部t24の出力をCPU#1の割込処理の要求信号DBIに入力する。
(2d)AND回路14bの入力部t17には、割り込み制御レジスタ9eのビット位置b5のビット値を入力する。
(3d)AND回路15bの入力部t21には、割り込み制御レジスタ9eのビット位置b2のビット値を入力する。
(4d)OR回路13bの入力部t27には、割り込みコントローラ7からのデバッグ(DBI)割込処理の要求信号の出力が入力される。
尚、各AND回路14a,15a,14b,15bはそれぞれ、その全ての入力部に「1」が入力された場合のみ、その出力部から「1」を出力する。各OR回路13a,13bはそれぞれ、その各入力部のうちの1つ以上のものに「1」が入力された場合のみ、その出力部から「1」を出力する。各CPU#0,#1は、その割込処理の要求信号NMIに「1」が入力されると、ノンマスカブル割込処理を実行し、またその割込処理の要求信号INTに「1」が入力されると、マスカブル割込処理を実行し、またその割込処理の要求信号DBIに「1」が入力されると、デバッグ割込処理を実行する。
この構成により、例えば、割り込み制御レジスタ9dの各ビット位置b5〜b3,b2〜b0のビット値を001,000と設定し、割り込み制御レジスタ9eの各ビット位置b5〜b3,b2〜b0のビット値を001,000と設定した場合(モード1)は、以下の動作する。即ちCPUIDレジスタ9cにCPUIDとして#0が格納され、且つカウンタ9fが所定時間を計時し終えて「1」を出力すると、OR回路13bの出力部t24のみから「1」が出力され、その出力がCPU#1の割込処理の要求信号NMIに入力されて、CPU#1によりノンマスカブル割込処理が実行される。他方、CPUIDレジスタ9cにCPUIDとして#1が格納され、且つカウンタ9fが所定時間を計時し終えて「1」を出力すると、OR回路13aの出力部t12のみから「1」が出力され、その出力がCPU#0の割込処理の要求信号NMIに入力されて、CPU#0によりノンマスカブル割込処理が実行される。
<割り込み制御レジスタ9d,9eの仕様>
割り込み制御レジスタ9d,9eは、図4の様に、32ビットのデータが格納可能に構成されている。割り込み制御レジスタ9d,9eのビット位置b31〜b6にはそれぞれ、例えば0が固定で設定されている。各ビット位置b31〜b6は、読み出し(R)および書き込み(W)もできない様になっている。ビット位置b5〜b3には、000,001,010,100の何れかのビット列が格納される。各ビット位置b5〜b3は、読み出し(R)および書き込み(W)が可能になっている。
尚、ビット位置b5〜b3に000,001,010または100が格納された場合に実行される割込処理およびその割込処理を実行するCPUは、図4の機能の欄の通りである。またビット位置b2〜b0に000,001,010または100が格納された場合に実行される割込処理およびその割込処理を実行するCPUも、図4の機能の欄の通りである。
<割り込み制御レジスタ9d,9eへの設定データの設定例>
図5は、割り込み制御レジスタ9d,9eの各ビット位置b5〜b3,b2〜b0に設定するビット値(設定データ)の例と、それら各設定の場合に実行される割込処理の種類およびその割込処理を実行するCPUとの対応表を示したものである。
モード1では、上述の通り、割り込み制御レジスタ9dの各ビット位置b5〜b3,b2〜b0には001,000が設定され、割り込み制御レジスタ9eの各ビット位置b5〜b3,b2〜b0には001,000が設定される。このモードでは、カウンタ9fが所定時間を計時し終えると、CPU#0のアクセス中で発生した場合は、CPU#0のみにノンマスカブル割込要求信号を出力し、(他のCPU#1には割込要求信号を出力しない。)、他方、CPU#1のアクセス中で発生した場合は、CPU#1のみにノンマスカブル割込要求信号を出力する(他のCPU#0には割込要求信号を出力しない。)。
モード2では、割り込み制御レジスタ9dの各ビット位置b5〜b3,b2〜b0には010,000が設定され、割り込み制御レジスタ9eの各ビット位置b5〜b3,b2〜b0には010,000が設定される。このモードでは、カウンタ9fが所定時間を計時し終えると、CPU#0のアクセス中で発生した場合は、CPU#0のみにマスカブル割込要求信号を出力し(他のCPU#1には割込要求信号を出力しない。)、他方、CPU#1のアクセス中で発生した場合は、CPU#1にのみにマスカブル割込要求信号を出力する(他のCPU#0には割込要求信号を出力しない。)。
モード3では、割り込み制御レジスタ9dの各ビット位置b5〜b3,b2〜b0には100,000が設定され、割り込み制御レジスタ9eの各ビット位置b5〜b3,b2〜b0には100,000が設定される。このモードでは、カウンタ9fが所定時間を計時し終えると、CPU#0のアクセス中で発生した場合は、CPU#0のみにデバッグ割込要求信号を出力し(他のCPU#1には割込要求信号を出力しない。)、他方、CPU#1のアクセスで発生した場合は、CPU#1にデバッグ割込要求信号を出力する(他のCPU#0には割込要求信号を出力しない。)。
モード4では、割り込み制御レジスタ9dの各ビット位置b5〜b3,b2〜b0には001,001が設定され、割り込み制御レジスタ9eの各ビット位置b5〜b3,b2〜b0には001,001が設定される。このモードでは、カウンタ9fが所定時間を計時し終えると、CPU#0のアクセスで発生した場合も、CPU#1のアクセスで発生した場合も、全てのCPU#0,#1にノンマスカブル割込要求信号を出力する。
モード5では、割り込み制御レジスタ9dの各ビット位置b5〜b3,b2〜b0には010,010が設定され、割り込み制御レジスタ9eの各ビット位置b5〜b3,b2〜b0には010,010が設定される。このモードでは、カウンタ9fが所定時間を計時し終えると、CPU#0のアクセスで発生した場合も、CPU#0のアクセスで発生した場合も、全てのCPU#0,#1にマスカブル割込要求信号を出力する。
モード6では、割り込み制御レジスタ9dの各ビット位置b5〜b3,b2〜b0には100,100が設定され、割り込み制御レジスタ9eの各ビット位置b5〜b3,b2〜b0には100,100が設定される。このモードでは、カウンタ9fが所定時間を計時し終えると、CPU#0のアクセスで発生した場合も、CPU#1のアクセスで発生した場合も、全てのCPU#0,#1にデバッグ割込要求信号を出力する。
モード7では、割り込み制御レジスタ9dの各ビット位置b5〜b3,b2〜b0には001,010が設定され、割り込み制御レジスタ9eの各ビット位置b5〜b3,b2〜b0には001,010が設定される。このモードでは、カウンタ9fが所定時間を計時し終えると、CPU#0のアクセスで発生した場合は、CPU#0にはノンマスカブル割込要求信号を出力し、他のCPU#1にはマスカブル割込要求信号を出力し、他方、CPU#1のアクセスで発生した場合は、CPU#1にはノンマスカブル割込要求信号を出力し、他のCPU#0にはマスカブル割込要求信号を出力する。
モード8では、割り込み制御レジスタ9dの各ビット位置b5〜b3,b2〜b0には100,010が設定され、割り込み制御レジスタ9eの各ビット位置b5〜b3,b2〜b0には100,010が設定される。このモードでは、カウンタ9fが所定時間を計時し終えると、CPU#0のアクセスで発生した場合は、CPU#0にはデバッグ割込要求信号を出力し、他のCPU#1にはマスカブル割込要求信号を出力し、他方、CPU#1のアクセスで発生した場合は、CPU#1もはデバッグ割込要求信号を出力し、他のCPU#0にはマスカブル割込要求信号を出力する。
<マルチコアLSI1の動作説明>
まず本発明の特徴を理解するための参考として、図6〜図8に基づき、例えば2個のCPU#0,#1を有する従来型のマルチコアLSIの動作の概要を説明する。
ここでは、CPU#0による処理A、CPU#1による処理B、CPU#0による処理C、CPU#1による処理Dがこの順に行われる場合で説明する。
尚、処理Aは、アドレスAAのモジュールに保存されたデータDAを読み出す処理である。処理Bは、アドレスABのモジュールにデータDBを書き込む処理である。処理Cは、アドレスACのモジュールにデータDCを書き込む処理である。処理Dは、アドレスADのモジュールに保存されたデータDDを読み出す処理である。
まず図6に基づき正常時の動作を説明する。まず処理AがCPU#0により実行される。即ちCPU#0から共有バスに、アクセス要求信号として、CPUIDとして#0、コマンドとして読み出し(Read)、アドレスとしてAAが出力される(図6のT1)。そして、そのアクセス要求信号がアドレスAAのモジュールに取得されると(図6のT2)、そのモジュールから共有バスに、読出対象のデータDAおよびそのアクセス要求信号に対する応答信号r1が出力され(図6のT3)、そのデータDAと共に応答信号r1がCPU#0に取得されると、処理Aが終了し、次の処理BがCPU#1により同様に実行される。そしてアドレスABのモジュールから、処理Bのアクセス要求信号に対する応答信号r2が出力されると(図6のT4)、処理Bの処理が終了して次の処理Cが同様に実行され、処理Cのアクセス要求信号a3に対する応答信号r3が出力されると、処理Cの処理が終了して次の処理Dが同様に実行される(図8(a)参照)。
この様な従来型のマルチコアLSIでは、図7および図8(b)の様に、例えば処理BがCPU#1により実行された場合において、その際のアクセス要求信号に対する応答信号r2が、バグ等の何らかの原因によりアクセス先のモジュールから出力されない場合は、処理Bが終了できず、次の処理Cが実行できなくなり、動作が停止する。この様に、バグ等を含む処理が実行されてアクセス先から応答信号が出力されないと、その処理を実行したCPU(例えば#1)が共有バスを長期に占有し、他の問題の無いCPU(例えば#0)が次の処理を実行できなくなり、当該マルチコアLSIの動作が停止する。
また従来型のマルチコアLSIでは、上記の様に動作が停止した場合、CPUが複数有るので、シングルコアLSIの様に簡単に、どのCPU#0,#1のどのアクセスにより動作が停止したのか(即ちバグ等が発生したのか)を特定するのが困難である。
次に図1および図9に基づき、この実施の形態に係るマルチコアLSI1の動作を説明する。
上述と同様、CPU#0による処理A、CPU#1による処理B、CPU#0による処理C、CPU#1による処理Dがこの順に行われる場合で説明する。各処理A,B,C,Dの内容は、上述と同じである。
まず処理AがCPU#0により実行される。即ちCPU#0から共有バスb1に、アクセス要求信号として、CPUIDとして#0、コマンドとして読み出し(read)、アドレスとしてAAが出力される(図9のS1)。
そして共有バスb1に出力された前記アクセス要求信号は、共有バス制御部3に取得されて共有バスb2に出力される。そして共有バスb2に出力された前記アクセス要求信号は、アドレスAAのモジュール(例えばm1)に取得されると共に、そのコマンド(read)がシステムコントローラ9により取得される。そしてシステムコントローラ9では、上記のコマンドの取得により、カウンタ9fによる所定時間の計時が開始される(ここでは15から0まで計時される)(図9のS2)。
そしてカウンタ9fが所定時間を計時し終える前に、アドレスAAのモジュールm1から、共有バスb2に前記アクセス要求信号に対する応答信号および読出対象のデータDAが出力されると共に専用配線11を通じてシステムコントローラ9に応答信号が出力されると(図9のS3)、 その応答信号が入力されたシステムコントローラ9では、バグ等による共有バスb1,b2のハングアップは無いと判定され、カウンタ9fによる所定時間の計時が中止される(図9のS4)。
また、アドレスAAのモジュールm1から共有バスb2に出力された応答信号およびデータDAは、共有バス制御部3に取得されて共有バスb1に出力されてアクセス中のCPU#0に取得され、処理Aが終了する。
そして次の処理BがCPU#1により実行される。即ち処理Aと同様に、CPU#1から共有バスb1にアクセス要求信号が出力される(図9のS5)。そのアクセス要求信号は、共有バス制御部3に取得されて共有バスb2に出力され、アドレスABのモジュール(例えはm2)に取得されると共に、そのコマンド(write)がシステムコントローラ9により取得される。そしてシステムコントローラ9では、上記のコマンドの取得により、カウンタ9fによる所定時間の計時が開始される(図9のS6)。
そして、アドレスABのモジュールm2から、共有バスb2に前記アクセス要求信号に対する応答信号および読出対象のデータDAが出力されると共に専用配線11を通じてシステムコントローラ9に応答信号が出力される前に、カウンタ9fにより所定時間が計時し終わると(図9のS7)、その旨の信号(タイムアウト信号)がカウンタ9gから出力され(図9のS8)、その出力により、システムコントローラ9により、バグ等の発生により共有バスb1,b2がハングアップしたと判定される。
そしてこの判定により、システムコントローラ9から共有バス制御部3に例えば専用配線12を通じて疑似応答信号が出力され(図9のS9)、その疑似応答信号が共有バス制御部3から共通バスb1に出力されてアクセス中のCPU#1に取得され、処理Bが強制的に終了される。そして次の処理CがCPU#0により実行される(図9のS12)。
また上記の判定により、システムコントローラ9により、共有バスb2から前記アクセス要求信号のアドレス(AB)、コマンド(書き込み(write))およびCPUID(#1)が取得され、それぞれシステムコントローラ9の各レジスタ9a,9b,9cに格納される(図9のS10)。
そしてシステムコントローラ9により、CPUIDレジスタ9cに格納された上記のCPUIDおよび割り込み制御レジスタ9d,9eに予め格納された設定データに応じて、各CPU#0,#1の割り込み入力信号であるNMI,DBI,INTに対して割込処理の要求信号が出力される(図9のS11)。そして、この割込要求信号により、CPU#0,#1に各種の割込処理が実行される。そして同様にして順次次の処理C,Dが実行される。
この様に、この実施の形態に係るマルチコアLSI1では、従来型のマルチコアLSIと比べて、アクセス要求信号が共有バスb2に出力されてから所定時間経過するまでに、アクセス先のモジュールから当該アクセス要求信号に対する応答信号が出力されない場合は、システムコントローラ9から疑似応答信号が出力され、その疑似応答信号によりアクセス中のCPU#0,#1の当該アクセスが強制的に終了させられて次の処理が実行されるので、マルチコアLSI1の動作が停止する事を防止できる。
また疑似応答信号の他に、システムコントローラ9からCPU#0,#1に各種の割込処理の要求信号が出力されるので、CPU#0,#1によるその割込処理の実行箇所を確認することで、バグ等の発生により共有バスb1,b2がハングアップした場合に、どのCPU#0,#1のどのアクセスによりハングアップが発生したかを特定できる。
<主要な効果>
以上の様に構成されたマルチコアLSI1によれば、システムコントローラ9は、共有バス制御部3から共有バスb2にアクセス要求信号が出力されてから所定時間経過するまでに、アクセス先のモジュールm1〜mnまたは外部バス制御部9から応答信号が出力されない場合は、共有バス制御部3を介して共有バスb1に疑似応答信号を出力して、アクセス中のCPU#0または#1の当該アクセスを終了させる。これにより、バグ等の発生により、アクセス先のモジュールから応答信号が出力されない場合でも、アクセス中のCPU#0または#1が共有バスb1,b2を長期に占有してマルチコアLSI1の動作が停止する事を防止でき、マルチコアLSIの動作の安定性を向上できる。
またシステムコントローラ9は、共有バス制御部3から共有バスb2にアクセス要求信号が出力されてから所定時間経過するまでに、アクセス先のモジュールm1〜mnまたは外部バス制御部9から応答信号が出力されない場合は、更に、当該アクセス中のCPU#0または#1に割込処理を実行させる。これにより、当該CPU#0または#1によるその割込処理の実行箇所を確認することで、バグ等が発生して共有バスb1,b2がハングアップした場合に、どのCPU#0,#1のどのアクセスによりバグ等が発生したかを特定でき、プログラムの開発効率を向上できる。
またシステムコントローラ9は、割込処理として、当該アクセス中のCPU#0または#1にノンマスカブル割込処理、マスカブル割込処理またはデバック割込処理を実行させる。これにより、割込処理の種類に応じて割込処理の優先度を設定できる。
またシステムコントローラ9は、共有バス制御部3から共有バスb2にアクセス要求信号が出力されてから所定時間経過するまでに、アクセス先のモジュールm1〜mnまたは外部バス制御部9から応答信号が出力されない場合は、全てのCPU#0,#1に割込処理を実行させる。これにより、バグ等が発生したCPUだけでなく正常なCPUによるその割込処理の実行箇所を確認することで、バグ等が発生して共有バスb1,b2がハングアップした場合に、どのCPU#0,#1のどのアクセスによりバグ等が発生したかを一層容易に特定でき、プログラムの開発効率を向上できる。
またシステムコントローラ9において、上記の割込処理として、当該アクセス中のCPU#0または#1にはノンマスカブル割込処理を実行させ、他のCPU#1または#0にはマスカブル割込処理を実行させる様に設定できる。これにより、バグ等の発生したCPUかまたは正常なCPUかに応じて、割込処理の優先度を変えることができる。
またシステムコントローラ9において、上記の割込処理として、当該アクセス中のCPU#0または#1にはデバッグ割込処理を実行させ、他のCPU#1または#0にはマスカブル割込処理を実行させる様にできる。これにより、バグ等の発生したCPUかまたは正常なCPUかに応じて、割込処理の優先度を変えることができる。
またシステムコントローラ9において、共有バス制御部3から共有バスb2にアクセス要求信号が出力されてから所定時間経過するまでに、アクセス先のモジュールm1〜mnまたは外部バス制御部5から応答信号が出力されない場合は、更に、アクセス中のCPU#0または#1が当該アクセスの際に出力したCPUID、読み出し・書き込みのコマンドおよびアドレスのうちの少なくとも1つ(動作説明では例えば3つとも保存する場合で説明した。)を保存する。これにより、バグ等が発生して共有バスb1,b2がハングアップした場合に、その保存したCPUID、コマンドまたはアドレスにより、どのCPU#0,#1のどのアクセスによりバグ等が発生したかを一層容易に特定でき、プログラムの開発効率を向上できる。
またシステムコントローラ9は、所定の外部装置からの終了要求信号を受けた場合には、カウンタ9fによる当該所定時間が経過する前でも、共有バス制御部3を介して共有バスb1に疑似応答信号を出力して、アクセス中のCPU#0または#1の当該アクセスを終了させる。これにより、所定の外部装置からの終了要求信号により、当該所定時間が経過する前でも、アクセス中のCPU#0または#1の当該アクセスを強制終了させる事ができる。
実施の形態2.
上記のマルチコアLSIの構成は、共有バスb1,b2がパケットトランザクション又はスプリットトランザクションのバス構成である場合においても有効である。
これらのバス構成では、例えばCPU#0が共有バスb1を介してメモリ等にアクセスをする場合、メモリへのアクセスコマンドの発行をする際に共有バスb1のバス権を確保してアクセスコマンドを発行し、一旦共有バスb1のバス権を開放する。そのため、他のCPU#1はバス権解放後の共有バスb1にアクセスをすることが可能になる。
この場合、CPU#0へのメモリアクセスが不正なアドレスへのアクセスであり、上記の共有バスb1又はb2がハングアップするような場合であっても、CPU#1は共有バスb1及びb2へアクセスをすることが可能である。しかしながらかかる場合であっても、例えばSMP(Symmetric Multi Processing)構成である場合は、CPU#0がメモリからの応答待ちとして停止しているためにCPU#0の処理が完了せず、CPU#1で実行する処理にも影響を生じることになる。
システムコントローラ9がCPU#0でのメモリアクセスに対して擬似応答信号を発行することによりCPU#0が停止状態から回復し、CPU#0は正しいアドレスを指定してのメモリアクセスの再発行を行うことが可能となり、マルチコアLSI全体としてのシステム安定を維持することが可能になる。またそのような不正なメモリアクセスが頻発していることがその保存したCPUID、コマンドまたはアドレスにより判明することから、どのCPU#0,#1のどのアクセスによりバグ等が発生したかを一層容易に特定でき、プログラムの開発効率を向上できる。
この発明は、複数のCPUを同一のLSI上に搭載したマルチコアLSIに利用可能であり、デバッガによるデバッグ時だけでなく、通常動作時にも有効である。
実施の形態1に係るマルチコアLSIの構成図である。 図1のシステムコントローラ9の構成概略図である。 図2の制御部9gのうちのノンマスカブル割込処理の要求信号を出力する部分の論理回路の構成概略図である。 図2の割り込み制御レジスタ9d,9eの仕様を説明する図である。 図2の割り込み制御レジスタ9d,9eへの設定データの設定例を説明する図である。 従来型のマルチコアLSIの正常時の動作の概要を説明する図である。 従来型のマルチコアLSIのタイムアウト発生時(バグ発生時)の動作の概要を説明する図である。 従来型のマルチコアLSIの正常時およびタイムアウト発生時の動作の概要を説明する他の図である。 実施の形態1に係るマルチコアLSIの動作を説明する図である。
符号の説明
1 マルチコアLSI、3 共有バス制御部、5 外部バス制御部、7 割り込みコントローラ、9 システムコントローラ、9a アドレスレジスタ、9b コマンドレジスタ、9c CPUIDレジスタ、9d,9e 割り込み制御レジスタ、9f カウンタ、9g 制御部、10a CPU#0の入力部NMIへの割込処理の要求信号の出力を制御する部分の論理回路、10b CPU#1の入力部NMIへの割込処理の要求信号の出力を制御する部分の論理回路、11,12 専用配線、13a,13b OR回路、14a,14b,15a,15b AND回路、#0,#1 CPU、b1,b2 共有バス、gb 外部バス、m1〜mn モジュール、L1 1次キャッシュ、L2 2次キャッシュ、q1 アドレスバス、q2 コマンドバス、q3 データバス、q4 CPUIDバス。

Claims (7)

  1. 第1の共有バスに接続された複数のCPUと、
    第2の共有バスに接続された1個以上のモジュールと、
    前記第1の共有バスと前記第2の共有バスとの間に接続され、前記複数のCPUの前記モジュールへのアクセスを調停する共有バス制御部と、
    アクセス先の前記モジュールから、前記CPUのアクセス要求信号に対する応答信号が出力されたか否かを監視するシステムコントローラとを備え、
    前記システムコントローラは、前記共有バス制御部から前記第2の共有バスに前記アクセス要求信号が出力されてから所定時間経過するまでに、前記アクセス先のモジュールから前記応答信号が出力されない場合は、前記共有バス制御部を介して前記第1の共有バスに疑似応答信号を出力して、アクセス中の前記CPUの当該アクセスを終了させ
    前記システムコントローラは、所定の外部装置からの終了要求信号を受けた場合には、前記所定時間が経過する前でも、前記共有バス制御部を介して前記第1の共有バスに疑似応答信号を出力して、前記アクセス中のCPUの当該アクセスを終了させることを特徴とするマルチコアLSI。
  2. 前記システムコントローラは、前記共有バス制御部から前記第2の共有バスに前記アクセス要求信号が出力されてから所定時間経過するまでに、前記アクセス先のモジュールから前記応答信号が出力されない場合は、更に、前記アクセス中のCPUに割込処理を実行させることを特徴とする請求項1に記載のマルチコアLSI。
  3. 前記システムコントローラは、前記割込処理として、前記アクセス中のCPUにノンマスカブル割込処理、マスカブル割込処理またはデバック割込処理を実行させることを特徴とする請求項2に記載のマルチコアLSI。
  4. 前記システムコントローラは、前記共有バス制御部から前記第2の共有バスに前記アクセス要求信号が出力されてから所定時間経過するまでに、前記アクセス先のモジュールから前記応答信号が出力されない場合は、全ての前記CPUに割込処理を実行させることを特徴とする請求項1または請求項2に記載のマルチコアLSI。
  5. 前記システムコントローラは、前記割込処理として、前記アクセス中のCPUにはノンマスカブル割込処理を実行させ、他の前記CPUにはマスカブル割込処理を実行させることを特徴とする請求項4に記載のマルチコアLSI。
  6. 前記システムコントローラは、前記割込処理として、前記アクセス中のCPUにはデバッグ割込処理を実行させ、他の前記CPUにはマスカブル割込処理を実行させることを特徴とする請求項4に記載のマルチコアLSI。
  7. 前記システムコントローラは、前記共有バス制御部から前記第2の共有バスに前記アクセス要求信号が出力されてから所定時間経過するまでに、前記アクセス先のモジュールから前記応答信号が出力されない場合は、更に、前記アクセス中のCPUが当該アクセスの際に出力したCPUID、読み出し・書き込みのコマンドおよびアドレスのうちの少なくとも1つを保存することを特徴とする請求項1または請求項2に記載のマルチコアLSI。
JP2008033030A 2008-02-14 2008-02-14 マルチコアlsi Active JP5054558B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008033030A JP5054558B2 (ja) 2008-02-14 2008-02-14 マルチコアlsi
US12/366,718 US7890685B2 (en) 2008-02-14 2009-02-06 Multi-core data processor
US12/985,227 US8108586B2 (en) 2008-02-14 2011-01-05 Multi-core data processor
US13/342,804 US8370556B2 (en) 2008-02-14 2012-01-03 Multi-core data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008033030A JP5054558B2 (ja) 2008-02-14 2008-02-14 マルチコアlsi

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012165655A Division JP5416257B2 (ja) 2012-07-26 2012-07-26 マルチコアlsi

Publications (2)

Publication Number Publication Date
JP2009193305A JP2009193305A (ja) 2009-08-27
JP5054558B2 true JP5054558B2 (ja) 2012-10-24

Family

ID=40956161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008033030A Active JP5054558B2 (ja) 2008-02-14 2008-02-14 マルチコアlsi

Country Status (2)

Country Link
US (3) US7890685B2 (ja)
JP (1) JP5054558B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5229747B2 (ja) * 2010-05-28 2013-07-03 エヌイーシーコンピュータテクノ株式会社 情報処理装置及び情報処理装置の実行制御方法
US20130326539A1 (en) * 2011-03-24 2013-12-05 Renesas Electronics Corporation Semiconductor device
US9372500B2 (en) 2014-02-27 2016-06-21 Applied Micro Circuits Corporation Generating a timeout signal based on a clock counter associated with a data request
JP2018522357A (ja) * 2015-07-29 2018-08-09 メイコム コネクティビティ ソリューションズ,エルエルシーMacom Connectivity Solutions,Llc データリクエストに関連するクロックカウンタに基づくタイムアウト信号の生成
CN108804380A (zh) * 2018-05-21 2018-11-13 南京大学 矢量运算硬件加速器多核级联的周期精确模型

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241627A (en) * 1987-04-09 1993-08-31 Tandem Computers Incorporated Automatic processor module determination for multiprocessor systems for determining a value indicating the number of processors
JPH01138144U (ja) 1988-03-15 1989-09-21
JPH02289020A (ja) * 1989-03-17 1990-11-29 Fujitsu Ltd 情報処理装置のタイムアウト処理方式
JPH0581059A (ja) * 1991-09-24 1993-04-02 Toshiba Corp マルチプロセツサシステム
US6078976A (en) * 1997-06-24 2000-06-20 Matsushita Electric Industrial Co., Ltd. Bridge device that prevents decrease in the data transfer efficiency of buses
JPH1196084A (ja) * 1997-09-16 1999-04-09 Anritsu Corp 障害検出装置
US6701407B1 (en) * 1999-12-13 2004-03-02 Fujitsu Limited Multiprocessor system with system modules each having processors, and a data transfer method therefor
JP2001167067A (ja) 1999-12-13 2001-06-22 Fujitsu Ltd マルチプロセッサシステム及びデータ転送方法

Also Published As

Publication number Publication date
US20090210598A1 (en) 2009-08-20
US7890685B2 (en) 2011-02-15
US20110099303A1 (en) 2011-04-28
JP2009193305A (ja) 2009-08-27
US8370556B2 (en) 2013-02-05
US8108586B2 (en) 2012-01-31
US20120173780A1 (en) 2012-07-05

Similar Documents

Publication Publication Date Title
JP4222370B2 (ja) デバッグ支援装置及びデバッグ処理方法をコンピュータに実行させるためのプログラム
JP6382446B2 (ja) デッドロック回避のための方法及び回路
JP5054558B2 (ja) マルチコアlsi
JP5756554B2 (ja) 半導体装置
US8843728B2 (en) Processor for enabling inter-sequencer communication following lock competition and accelerator registration
JP5269067B2 (ja) プログラム実行装置およびその制御方法
US7552269B2 (en) Synchronizing a plurality of processors
JP5416257B2 (ja) マルチコアlsi
US8032673B2 (en) Transaction ID filtering for buffered programmed input/output (PIO) write acknowledgements
JP4818820B2 (ja) バスシステムおよびバススレーブならびにバス制御方法
JP2006285872A (ja) マルチcpuシステム
JP6089492B2 (ja) システム制御装置、情報処理システム、システム制御装置の制御方法およびシステム制御装置の制御プログラム
JP2006185365A (ja) 半導体装置およびデバッグ方法
US9342359B2 (en) Information processing system and information processing method
JP5811544B2 (ja) 集積装置、情報処理システム、および、処理方法
JP2005010995A (ja) マルチプロセッサシステム及びそのライトバックの障害処理方法
US7206926B2 (en) Programmable unit including program operation unit and associated stopping device
JPH04199336A (ja) マイクロコンピュータ
JP2003173362A (ja) システムlsiの検証装置
JP2002312163A (ja) 情報処理装置、情報処理方法
JP2012118769A (ja) インサーキットエミュレータ

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100524

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120412

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5054558

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

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