JP6744806B2 - マルチプロセッサ - Google Patents
マルチプロセッサ Download PDFInfo
- Publication number
- JP6744806B2 JP6744806B2 JP2016230039A JP2016230039A JP6744806B2 JP 6744806 B2 JP6744806 B2 JP 6744806B2 JP 2016230039 A JP2016230039 A JP 2016230039A JP 2016230039 A JP2016230039 A JP 2016230039A JP 6744806 B2 JP6744806 B2 JP 6744806B2
- Authority
- JP
- Japan
- Prior art keywords
- core
- debug
- register information
- control unit
- data
- 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
Links
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/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- 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/362—Software debugging
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)
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 (4)
- 複数のコアと、
デバッグ制御部と、
退避領域と、
を備えるマルチプロセッサであって、
前記複数のコアのうち一部は、
前記デバッグ制御部からレジスタ情報を参照及び更新可能に接続されたデバッグ用コアであり、
前記デバッグ制御部は、
前記デバッグ用コア内のレジスタ情報を前記退避領域へ転送した後に、前記複数のコアのうちデバッグ対象である第1のコア内のレジスタ情報を、前記デバッグ用コアに転送する
マルチプロセッサ。 - 前記デバッグ制御部は、
デバッグ対象を前記複数のコアのうち第2のコアに変更した場合、前記デバッグ用コア内のレジスタ情報を前記第1のコアへ転送し、
前記第2のコア内のレジスタ情報を、前記デバッグ用コアに転送する
請求項1に記載のマルチプロセッサ。 - 前記デバッグ制御部は、
デバッグ対象を前記第2のコアに変更した場合、前記デバッグ用コア内のレジスタ情報が書き換えられているか否かを判定し、
前記デバッグ用コア内のレジスタ情報が書き換えられていると判定した場合に、当該レジスタ情報を前記第1のコアへ転送する
請求項2に記載のマルチプロセッサ。 - 複数のコアと、
デバッグ制御部と、
を備えるマルチプロセッサであって、
前記複数のコアのうち一部は、
前記デバッグ制御部からレジスタ情報を参照及び更新可能に接続されたデバッグ用コアであり、
前記デバッグ制御部は、
前記複数のコアのうちデバッグ対象である第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 JP2018088048A (ja) | 2018-06-07 |
JP6744806B2 true 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) |
Families Citing this family (4)
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 |
JP7378254B2 (ja) * | 2019-09-19 | 2023-11-13 | キヤノン株式会社 | マルチプロセッサデバイス |
CN116340188B (zh) * | 2023-05-26 | 2023-08-04 | 深流微智能科技(深圳)有限公司 | Gpu芯片渲染任务的调试方法及系统 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08147189A (ja) * | 1994-11-25 | 1996-06-07 | Hitachi Ltd | 並列計算機のオペレーティングシステムのデバッグ方法 |
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 |
EP2690558B1 (en) * | 2011-03-24 | 2020-01-22 | Renesas Electronics Corporation | Semiconductor device |
JP5660010B2 (ja) * | 2011-11-21 | 2015-01-28 | トヨタ自動車株式会社 | 情報処理装置、データ復帰方法 |
CN102880536B (zh) * | 2012-09-07 | 2015-06-03 | 杭州中天微系统有限公司 | 一种多核处理器的jtag调试方法 |
US9404970B2 (en) * | 2014-11-14 | 2016-08-02 | Cavium, Inc. | Debug interface for multiple CPU cores |
-
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
Also Published As
Publication number | Publication date |
---|---|
US10489271B2 (en) | 2019-11-26 |
JP2018088048A (ja) | 2018-06-07 |
EP3327573B1 (en) | 2023-09-06 |
EP3327573A1 (en) | 2018-05-30 |
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) | マルチプロセッサ | |
CN104598402A (zh) | 一种闪存控制器和闪存控制器的控制方法 | |
US9043806B2 (en) | Information processing device and task switching method | |
JP5499987B2 (ja) | 共有キャッシュメモリ装置 | |
US9606923B2 (en) | Information processing device with shared memory, memory order guarantee method using counters fence instructions in relation to cache-oriented requests, and recording medium storing program | |
JP2012018626A (ja) | メモリ制御装置、メモリ装置および停止制御方法 | |
JP4653838B2 (ja) | 演算処理装置、演算処理装置の制御方法及び制御プログラム | |
WO2017036101A1 (zh) | 一种更新寄存器的方法及装置 | |
US10216679B2 (en) | Semiconductor device and control method thereof | |
JP2004151761A (ja) | 記憶装置の制御装置、及び記憶装置の制御装置の制御方法 | |
JP2011113240A (ja) | 二重化処理装置 | |
WO2007088582A1 (ja) | 共有メモリ型マルチプロセッサにおける非同期遠隔手続き呼び出し方法、非同期遠隔手続き呼び出しプログラムおよび記録媒体 | |
US20080282069A1 (en) | Method and system for designing a flexible hardware state machine | |
US20080133838A1 (en) | Data processing device | |
JP2008158699A (ja) | プロセッサ | |
JP6217386B2 (ja) | マルチプロセッサ用プログラム生成方法 | |
JP4747062B2 (ja) | デバイスの移行方式、デバイスの移行方法、移行制御装置、及びプログラム | |
JP2007087244A (ja) | コプロセッサ及びコンピュータシステム | |
JP2023051319A (ja) | 制御システムおよび処理装置 | |
JP2012003671A (ja) | デバッグ装置、デバッグ方法及びデバッガプログラム | |
JP2019020896A (ja) | プロセッサ及びメモリモジュール | |
JP2008217659A (ja) | Dma転送起動方法 | |
US20130212338A1 (en) | Multicore processor | |
JP5782389B2 (ja) | エミュレーションシステム、エミュレーションシステムの制御方法、エミュレーション装置、プログラム | |
JP2020057251A (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 |