JP2018088048A - マルチプロセッサ及びマルチプロセッサシステム - Google Patents
マルチプロセッサ及びマルチプロセッサシステム Download PDFInfo
- Publication number
- JP2018088048A JP2018088048A JP2016230039A JP2016230039A JP2018088048A JP 2018088048 A JP2018088048 A JP 2018088048A JP 2016230039 A JP2016230039 A JP 2016230039A JP 2016230039 A JP2016230039 A JP 2016230039A JP 2018088048 A JP2018088048 A JP 2018088048A
- Authority
- JP
- Japan
- Prior art keywords
- core
- debug
- register information
- control unit
- multiprocessor
- 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
Links
- 238000012546 transfer Methods 0.000 abstract description 32
- 238000000034 method Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 23
- 238000012545 processing Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
- Microcomputers (AREA)
Abstract
Description
図1は、本実施の形態1にかかるマルチプロセッサ101及びデバッガシステム102の構成を示すブロック図である。デバッガシステム102は、マルチプロセッサ101と接続してマルチプロセッサ101上で動作するプログラムのデバッグを行う。デバッガシステム102は、例えば、コンピュータ等の情報処理システムであり、デバッガ108を備える。デバッガ108は、デバッガシステム102上で動作するデバッグプログラムであり、ユーザからの指示を受け付けて、マルチプロセッサ101に対してデバッグに関する指示を行い、デバッグの結果等を出力する。
プログラムをある命令アドレスで停止させる場合、各コアにブレークポイントを設定する。具体的には、まず、デバッガ108は、デバッグ作業者からプログラム内のある命令アドレスの指定を受け付けて、その命令アドレスをブレークポイントに設定する指示(ブレークポイント設定指示)をデバッグ制御部103へ出力する(200)。デバッグ制御部103は、ブレークポイント設定指示に応じて各コアのブレークポイント1044に命令アドレスを書き込み、ブレークポイントの設定を行う(210)。
デバッグ対象のコアをコア0_104とは異なるコアに変更する場合、デバッグ対象のコアの固有データをコア0_104へ転送する。これにより、デバッグ制御部103に接続されていないコアで動いているプログラムの箇所のデバッグが可能になる。
ステップ実行を行なう場合、デバッガ108は、デバッグ作業者からの指示に応じて、ステップ実行の指示(ステップ実行指示)をデバッグ制御部103へ出力する(205)。その指示を受けてデバッグ制御部103は、ステップ実行するステップ数を設定し、実行モードへ移行する(214)。コア0_104は、214で設定したステップ数だけプログラムを実行(222)し、その後、停止し(223)、デバッグ制御部103へ停止したことを通知する。
プログラムを再開させる場合、デバッガ108は、デバッグ作業者からの指示に応じて、プログラムの再開の指示(プログラム再開指示)をデバッグ制御部103へ出力する(207)。その指示を受けてデバッグ制御部103は、実行モードへ移行(216)し、コア0_104からコア3_107にプログラムの実行を再開させる(224)。
本実施の形態2は、上述した実施の形態1の改良例である。本実施の形態2にかかるマルチプロセッサは、退避領域をさらに備え、前記デバッグ制御部は、前記デバッグ用コア内のレジスタ情報を前記退避領域へ転送した後に、前記第1のコア内のレジスタ情報を、前記デバッグ用コアに転送するものである。これにより、実施形態1と比べて、データ入れ替え処理時間を均一化できるため、デバッグ時の動作の平均速度を高速化できる。
本実施の形態3は、上述した実施の形態2の改良例である。本実施の形態3にかかるデバッグ制御部は、デバッグ対象を前記複数のコアのうち第2のコアに変更した場合、前記デバッグ用コア内のレジスタ情報を前記第1のコアへ転送し、前記第2のコア内のレジスタ情報を、前記デバッグ用コアに転送するものである。これにより、実施形態2と比べて、コアのデータ入れ替え処理を高速化できる。
本実施の形態4は、上述した実施の形態1から3の変形例である。すなわち、実施の形態1乃至3のいずれかのマルチプロセッサと、前記複数のコアの夫々に対応し、各コア内のレジスタ情報を記憶するための複数の退避領域を有するメモリと、を備えるマルチプロセッサシステムである。つまり、コアのレジスタ情報の退避領域に既存のメモリを利用するものである。
また、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、CPU(Central Processing Unit)等のプロセッサにコンピュータプログラムを実行させることにより実現することも可能である。
101 マルチプロセッサ
101a マルチプロセッサ
101b マルチプロセッサ
102 デバッガシステム
103 デバッグ制御部
104 コア0
105 コア1
106 コア2
107 コア3
108 デバッガ
301 I/F0
302 I/F1
303 I/F2
304 I/F3
1040 レジスタ情報
1041 レジスタ
1042 プログラムカウンタ(PC)
1043 ステータスレジスタ
1044 ブレークポイント
3011 受信バッファ
3012 送信バッファ
501 退避領域
901 メモリ
902 コア0データ
903 コア1データ
904 コア2データ
905 コア3データ
Claims (8)
- 複数のコアと、
デバッグ制御部と、
を備えるマルチプロセッサであって、
前記複数のコアのうち一部は、
前記デバッグ制御部からレジスタ情報を参照及び更新可能に接続されたデバッグ用コアであり、
前記デバッグ制御部は、
前記複数のコアのうちデバッグ対象である第1のコア内のレジスタ情報を、前記デバッグ用コアに転送する
マルチプロセッサ。 - 前記デバッグ用コアは、
前記転送されたレジスタ情報を用いて、前記第1のコアで実行対象のプログラムのデバッグを行う
請求項1に記載のマルチプロセッサ。 - 前記マルチプロセッサは、退避領域をさらに備え、
前記デバッグ制御部は、
前記デバッグ用コア内のレジスタ情報を前記退避領域へ転送した後に、前記第1のコア内のレジスタ情報を、前記デバッグ用コアに転送する
請求項1に記載のマルチプロセッサ。 - 前記デバッグ制御部は、
デバッグ対象を前記複数のコアのうち第2のコアに変更した場合、前記デバッグ用コア内のレジスタ情報を前記第1のコアへ転送し、
前記第2のコア内のレジスタ情報を、前記デバッグ用コアに転送する
請求項3に記載のマルチプロセッサ。 - 前記デバッグ制御部は、
デバッグ対象を前記第2のコアに変更した場合、前記デバッグ用コア内のレジスタ情報が書き換えられているか否かを判定し、
前記デバッグ用コア内のレジスタ情報が書き換えられていると判定した場合に、当該レジスタ情報を前記第1のコアへ転送する
請求項4に記載のマルチプロセッサ。 - 前記複数のコアは、リング状に接続され、
前記デバッグ制御部は、
前記デバッグ用コア内のレジスタ情報が、デバッグ対象の前記第1のコアのものでない場合、当該レジスタ情報を当該デバッグ用コアと隣接するコアへ転送する
請求項1に記載のマルチプロセッサ。 - 前記レジスタ情報は、プログラムカウンタ値又はステータスレジスタ値を含む、
請求項1に記載のマルチプロセッサ。 - 請求項1に記載のマルチプロセッサと、
前記複数のコアの夫々に対応し、各コア内のレジスタ情報を記憶するための複数の退避領域を有するメモリと、
を備えるマルチプロセッサシステム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016230039A JP6744806B2 (ja) | 2016-11-28 | 2016-11-28 | マルチプロセッサ |
TW106132524A TW201820169A (zh) | 2016-11-28 | 2017-09-22 | 多工處理器及多工處理器系統 |
EP17195337.5A EP3327573B1 (en) | 2016-11-28 | 2017-10-06 | Multi-processor and multi-processor system |
US15/792,480 US10489271B2 (en) | 2016-11-28 | 2017-10-24 | Multi-processor and multi-processor system for code debugging |
CN201711202502.2A CN108121686B (zh) | 2016-11-28 | 2017-11-27 | 多处理器和多处理器系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016230039A JP6744806B2 (ja) | 2016-11-28 | 2016-11-28 | マルチプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018088048A true JP2018088048A (ja) | 2018-06-07 |
JP6744806B2 JP6744806B2 (ja) | 2020-08-19 |
Family
ID=60043048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016230039A Active JP6744806B2 (ja) | 2016-11-28 | 2016-11-28 | マルチプロセッサ |
Country Status (5)
Country | Link |
---|---|
US (1) | US10489271B2 (ja) |
EP (1) | EP3327573B1 (ja) |
JP (1) | JP6744806B2 (ja) |
CN (1) | CN108121686B (ja) |
TW (1) | TW201820169A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021047729A (ja) * | 2019-09-19 | 2021-03-25 | キヤノン株式会社 | マルチプロセッサデバイス |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897714B (zh) * | 2018-07-03 | 2022-05-24 | 中国人民解放军国防科技大学 | 一种区域自治的多核或众核处理器芯片 |
US10824540B2 (en) | 2018-12-28 | 2020-11-03 | Datalogic Ip Tech S.R.L. | Terminal failure buster |
CN116340188B (zh) * | 2023-05-26 | 2023-08-04 | 深流微智能科技(深圳)有限公司 | Gpu芯片渲染任务的调试方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08147189A (ja) * | 1994-11-25 | 1996-06-07 | Hitachi Ltd | 並列計算機のオペレーティングシステムのデバッグ方法 |
WO2012127955A1 (ja) * | 2011-03-24 | 2012-09-27 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP2013109559A (ja) * | 2011-11-21 | 2013-06-06 | Toyota Motor Corp | 情報処理装置、データ復帰方法 |
US9404970B2 (en) * | 2014-11-14 | 2016-08-02 | Cavium, Inc. | Debug interface for multiple CPU cores |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000076199A (ja) | 1998-08-28 | 2000-03-14 | Nec Corp | デバッグ端子を有するマルチプロセッサ装置 |
KR100802606B1 (ko) * | 2001-04-13 | 2008-02-13 | 엘지전자 주식회사 | 데이터의 천이 상태에 따른 디버깅 장치 및 방법 |
US7080283B1 (en) * | 2002-10-15 | 2006-07-18 | Tensilica, Inc. | Simultaneous real-time trace and debug for multiple processing core systems on a chip |
US20050262396A1 (en) * | 2004-04-26 | 2005-11-24 | Agilent Technologies, Inc | Apparatus and method for automated test setup |
US7627784B1 (en) * | 2005-04-06 | 2009-12-01 | Altera Corporation | Modular processor debug core connection for programmable chip systems |
JP4600134B2 (ja) | 2005-04-25 | 2010-12-15 | 富士通セミコンダクター株式会社 | マルチプロセッサシステム |
US7665002B1 (en) * | 2005-12-14 | 2010-02-16 | Advanced Micro Devices, Inc. | Multi-core integrated circuit with shared debug port |
US8533530B2 (en) * | 2006-11-15 | 2013-09-10 | Qualcomm Incorporated | Method and system for trusted/untrusted digital signal processor debugging operations |
CN101710300B (zh) * | 2009-11-03 | 2011-11-02 | 龙芯中科技术有限公司 | 实现多核处理器ejtag可调试性的装置及系统 |
CN102117241A (zh) * | 2009-12-30 | 2011-07-06 | 华为技术有限公司 | 一种多核系统调试方法和多核系统 |
TW201145016A (en) * | 2010-06-15 | 2011-12-16 | Nat Univ Chung Cheng | Non-intrusive debugging framework for parallel software based on super multi-core framework |
TW201235833A (en) * | 2011-02-16 | 2012-09-01 | Ind Tech Res Inst | System and method for multi-core synchronous debugging of a multi-core platform |
CN102880536B (zh) * | 2012-09-07 | 2015-06-03 | 杭州中天微系统有限公司 | 一种多核处理器的jtag调试方法 |
-
2016
- 2016-11-28 JP JP2016230039A patent/JP6744806B2/ja active Active
-
2017
- 2017-09-22 TW TW106132524A patent/TW201820169A/zh unknown
- 2017-10-06 EP EP17195337.5A patent/EP3327573B1/en active Active
- 2017-10-24 US US15/792,480 patent/US10489271B2/en active Active
- 2017-11-27 CN CN201711202502.2A patent/CN108121686B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08147189A (ja) * | 1994-11-25 | 1996-06-07 | Hitachi Ltd | 並列計算機のオペレーティングシステムのデバッグ方法 |
WO2012127955A1 (ja) * | 2011-03-24 | 2012-09-27 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP2013109559A (ja) * | 2011-11-21 | 2013-06-06 | Toyota Motor Corp | 情報処理装置、データ復帰方法 |
US9404970B2 (en) * | 2014-11-14 | 2016-08-02 | Cavium, Inc. | Debug interface for multiple CPU cores |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021047729A (ja) * | 2019-09-19 | 2021-03-25 | キヤノン株式会社 | マルチプロセッサデバイス |
JP7378254B2 (ja) | 2019-09-19 | 2023-11-13 | キヤノン株式会社 | マルチプロセッサデバイス |
Also Published As
Publication number | Publication date |
---|---|
US10489271B2 (en) | 2019-11-26 |
EP3327573B1 (en) | 2023-09-06 |
EP3327573A1 (en) | 2018-05-30 |
JP6744806B2 (ja) | 2020-08-19 |
CN108121686A (zh) | 2018-06-05 |
US20180150386A1 (en) | 2018-05-31 |
CN108121686B (zh) | 2023-06-09 |
TW201820169A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6744806B2 (ja) | マルチプロセッサ | |
US9043806B2 (en) | Information processing device and task switching method | |
CN104598402A (zh) | 一种闪存控制器和闪存控制器的控制方法 | |
CN107273245B (zh) | 运算装置与运作方法 | |
CN111679794A (zh) | 多控存储系统中进行数据同步的方法和装置 | |
JP4829370B1 (ja) | メモリ制御装置、メモリ装置および停止制御方法 | |
CN107315449B (zh) | 计算机设备、读取时间的方法和写入时间的方法 | |
CN105138308A (zh) | 一种更新寄存器的方法及装置 | |
US10216679B2 (en) | Semiconductor device and control method thereof | |
JP2004151761A (ja) | 記憶装置の制御装置、及び記憶装置の制御装置の制御方法 | |
JP2008234116A (ja) | 仮想計算機制御装置 | |
US7447874B1 (en) | Method and system for designing a flexible hardware state machine | |
JP7273176B2 (ja) | シーケンス処理ユニットを備えたメモリ制御システム | |
JP2008140124A (ja) | データ処理装置 | |
JP2008158699A (ja) | プロセッサ | |
JP4747062B2 (ja) | デバイスの移行方式、デバイスの移行方法、移行制御装置、及びプログラム | |
TW201905720A (zh) | 運算裝置與運作方法 | |
JP5231496B2 (ja) | 情報処理装置及びそのサスペンド/リジューム方法 | |
JP6730691B2 (ja) | 制御装置、ディスクアレイ装置、ストレージシステム、情報処理方法、プログラム | |
JP2018073005A (ja) | 情報処理装置とその制御方法、及びプログラム | |
JP2019020896A (ja) | プロセッサ及びメモリモジュール | |
JP5782389B2 (ja) | エミュレーションシステム、エミュレーションシステムの制御方法、エミュレーション装置、プログラム | |
JP2023051319A (ja) | 制御システムおよび処理装置 | |
JP2008217659A (ja) | Dma転送起動方法 | |
JP2012003671A (ja) | デバッグ装置、デバッグ方法及びデバッガプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190412 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200317 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200511 |
|
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: 20200728 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200731 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6744806 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |