TW201820169A - 多工處理器及多工處理器系統 - Google Patents

多工處理器及多工處理器系統 Download PDF

Info

Publication number
TW201820169A
TW201820169A TW106132524A TW106132524A TW201820169A TW 201820169 A TW201820169 A TW 201820169A TW 106132524 A TW106132524 A TW 106132524A TW 106132524 A TW106132524 A TW 106132524A TW 201820169 A TW201820169 A TW 201820169A
Authority
TW
Taiwan
Prior art keywords
core
debug
information
control unit
processor
Prior art date
Application number
TW106132524A
Other languages
English (en)
Inventor
高畠志秦
塩田恒
中村淳
千葉雄司
Original Assignee
日商瑞薩電子股份有限公司
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 日商瑞薩電子股份有限公司 filed Critical 日商瑞薩電子股份有限公司
Publication of TW201820169A publication Critical patent/TW201820169A/zh

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/177Initialisation or configuration control

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)
  • Microcomputers (AREA)
  • Multi Processors (AREA)

Abstract

本發明之課題在於相對於處理器核心數之增加而抑制安裝尺寸之增加。 本發明之多工處理器係具備複數個核心及調試控制部者。複數個核心中之一部分包含以可自調試控制部參照及更新暫存器資訊之方式與其連接之調試用核心。調試控制部將複數個核心中作為調試對象之第1核心內之暫存器資訊向調試用核心傳送。調試用核心使用經傳送之暫存器資訊,在第1核心中進行執行對象之程式之調試。

Description

多工處理器及多工處理器系統
本發明係關於一種多工處理器及多工處理器系統,例如,係關於一種用於調試在核心處理器中執行之程式的多工處理器及多工處理器系統。
在專利文獻1中,揭示了關於具有調試端子之多工處理器裝置之技術。專利文獻1之多工處理器裝置就每一處理器具有調試介面(I/F)。 在專利文獻2中,揭示了關於多工處理器系統之技術。專利文獻2之多工處理器系統就每一處理器具有調試功能部,且,在控制電路中具有調試功能部。 [先前技術文獻] [專利文獻] [專利文獻1]日本特開2000-76199號公報 [專利文獻2]日本特開2006-302162號公報
[發明所欲解決之問題] 然而,在專利文獻1及2中,為了直接調試各處理器核心,而具有調試I/F或調試功能部等之調試控制部。因此,相應於處理器核心數之增加,而有處理器之安裝尺寸變大之問題點。 本發明之其他課題與新穎之特徵可由本說明書之記述及附圖而明確化。 [解決問題之技術手段] 根據一個實施形態,多工處理器所具備之調試控制部係將複數個核心中作為調試對象之第1核心內之暫存器資訊傳送至以可自調試控制部參照及更新暫存器資訊之方式與其連接之調試用核心者。 [發明之效果] 根據前述一個實施形態,可針對處理器核心數之增加而抑制安裝尺寸之增加。
以下,針對適用為了解決上述課題之手段的具體實施形態,一邊參照圖式一邊詳細地進行說明。在各圖式中,針對相同要件賦予相同符號,為了說明之明確化,根據需要而省略重複說明。 在下述之實施形態中,為了便於說明,在有必要時係分割為複數個部分或實施形態而說明,除特別明示之情形以外,其等並非係彼此無關者,而是其一者為其他者之一部分或全部之變化例、應用例、細節說明、補充說明等之關係。又,在下述之實施形態中,在言及要件之數目等(包含個數、數值、量、範圍等)時,除特別明示之情形及在原理上明確地限定於特定之數目之情形等以外,並不限定於該特定之數目,即可為特定之數目以上亦可為以下。 再者,在下述之實施形態中,其構成要件(亦包含動作步驟等)除特別明示之情形及被認為在原理上明確為必須之情形外,並不一定為必須者。相同地,在下述之實施形態中,在言及構成要件等之形狀、位置關係等時,除特別明示之情形及被認為在原理上明確地並非如此之情形外,係包含實質上與其形狀等近似或類似者等。此一事宜針對上述數等(包含個數、數值、量、範圍等)亦相同。 此處,說明想到下述實施形態之經過。作為面向車載資訊系統SoC(System on a Chip,晶片上系統)之一例,有處理來自相機之圖像而用於辨識人或車等之圖像辨識處理處理器。該圖像辨識處理處理器係持有多數個核心處理器(核心)之並行處理處理器。為了進行在多數個核心上動作之程式之調試,而有必要在程式之執行中途同時地調查複數個核心之狀態。因此,較佳者係使各核心具有調試功能,但在安裝後之情形下電路尺寸變大。而另一方面,由於處理器之安裝尺寸直接關係到製造成本,故尺寸有必要儘量減小。因此,發現了下述實施形態。 〔實施形態1〕 圖1係顯示本實施形態1之多工處理器101及調試器系統102之構成之方塊圖。調試器系統102與多工處理器101連接而進行在多工處理器101上動作之程式之調試。調試器系統102係例如電腦等之資訊處理系統,具備調試器108。調試器108係在調試器系統102上動作之調試程式,受理來自使用者之指示,對多工處理器101進行有關調試之指示,且輸出調試之結果等。 多工處理器101具備:調試控制部103、核心0_104、核心1_105、核心2_106、及核心3_107。又,核心之數目無須為4個,只要為至少2個以上即可。調試控制部103以能夠參照及更新作為調試用核心之核心0_104之內部之暫存器資訊之方式與其連接。調試控制部103為了進行在核心0_104內動作之程式之調試而控制核心0_104。調試控制部103將複數個核心中作為調試對象之第1核心內之暫存器資訊傳送至調試用核心。 核心0_104至核心3_107分別在內部之暫存器、程式計數器、狀態暫存器等內儲存暫存器資訊。暫存器資訊被稱作核心固有資料。核心0_104至核心3_107藉由環形匯流排而環狀地連接。 圖2係顯示本實施形態1之多工處理器101之核心0_104之內部構成之方塊圖。核心0_104具備:暫存器資訊1040、斷點1044、及I/F 0_301。暫存器資訊1040如上述所述般,係儲存在暫存器1041、程式計數器(PC)1042及狀態暫存器1043等之值。又,調試控制部103針對暫存器1041、PC 1042及狀態暫存器1043以能夠參照及更新之方式與其連接。 斷點1044係儲存在調試開始前所設定之程式之中途停止部位之命令位址的區域。I/F 0_301具備接收緩衝器3011及發送緩衝器3012。接收緩衝器3011係接收自相鄰之其他核心(例如,核心3_107)傳送之固有資料,且暫時地保持之記憶區域。發送緩衝器3012係用於將核心0_104之固有資料、亦即暫存器資訊1040朝相鄰之其他核心(例如,核心1_105)傳送而暫時地保持之記憶區域。亦即,在核心0_104傳送暫存器資訊1040時,將儲存於暫存器1041、PC 1042及狀態暫存器1043之暫存器資訊1040儲存於發送緩衝器3012。而後,將儲存於接收緩衝器3011之暫存器資訊覆寫至暫存器1041、PC 1042及狀態暫存器1043並保存。 又,由於核心1_105、核心2_106及核心3_107之內部構成除了不與調試控制部103能夠參照及更新暫存器資訊地連接之點以外,與圖2相同,故省略圖示及說明。 圖3係顯示本實施形態1之多工處理器101之核心間之環形匯流排之構成之方塊圖。核心0_104、核心1_105、核心2_106及核心3_107分別具備:匯流排之介面即I/F 0_301、I/F 1_302、I/F 2_303及I/F 3_304。具體而言,I/F 0_301與I/F 1_302及I/F 3_304連接,I/F 1_302與I/F 0_301及I/F 2_303連接,I/F 2_303與I/F 1_302及I/F 3_304連接,I/F 3_304與I/F 0_301及I/F 2_303連接。亦即,各核心藉由匯流排之I/F而環狀地與相鄰之核心連接。而且,各核心之固有資料朝圖3之箭頭之方向傳送。另外,箭頭之方向為例示,即便為反方向亦無妨。此外,核心之連接順序亦不限定於此。 各核心若自調試控制部103受理核心之固有資料之替換指示,則分別朝相鄰之一個核心以特定之順序傳送自身之固有資料。具體而言,核心0_104之固有資料經由I/F 0_301之發送緩衝器朝I/F 1_302之接收緩衝器傳送。又,核心1_105之固有資料經由I/F 1_302之發送緩衝器朝I/F 2_303之接收緩衝器傳送。又,核心2_106之固有資料經由I/F 2_303之發送緩衝器朝I/F 3_304之接收緩衝器傳送。又,核心3_107之固有資料經由I/F 3_304之發送緩衝器朝I/F 0_301之接收緩衝器傳送。而後,各核心將儲存於各I/F之接收緩衝器之固有資料儲存至內部之暫存器。 圖4係顯示本實施形態1之調試處理之流程之流程圖。在圖4中,各種事件係由箭頭連結,遵照箭頭之朝向以時間序列顯示事件產生。又,在圖4中,根據各個事件發生之場所而將其等事件分類為調試器108與調試控制部103、核心0_104。 在調試時獲得程式的程式之執行狀態中具有模式,具體而言,程式具有執行中之執行模式及調試中之調試模式。在圖4之例中,由於自調試器108而流動開始,故模式為調試模式。 又,調試時之作業一般而言有:(1)斷點之設定、(2)調試對象之核心之變更、(3)步驟執行、及(4)程式之再次執行。而在(1)至(4)各者中,分別進行核心之資訊之參照及更新(讀出及寫入)。 此處,所謂(2)調試對象之核心之變更係指調試器108將所操作之核心變更為調試作業者所指定之核心。在調試時,首先進行此變更,決定要對在哪一核心上動作之程式之部位進行調試,然後,使該核心進行步驟執行之處理,或設定斷點,而使該核心之程式之執行進展至斷點為止。圖4之流程為其一例。 (1)斷點之設定 要使程式在某一命令位址停止的情形時,在各核心設定斷點。具體而言,首先,調試器108自調試作業者受理程式內之某一命令位址之指定,且朝調試控制部103輸出將該命令位址設定為斷點之指示(斷點設定指示)(200)。調試控制部103根據斷點設定指示而在各核心之斷點1044寫入命令位址,進行斷點之設定(210)。 其後,調試器108根據來自調試作業者之指示朝調試控制部103輸出執行程式之指示(程式執行指示)(201)。調試控制部103將模式轉移至執行模式(211),而在核心0_104使程式執行(220)。此時,在其他核心1_105至核心3_107中亦並行執行程式。 於在核心0_104中動作之程式到達斷點之命令位址時,核心0_104停止(221),且對調試控制部103通知已經停止。接受到通知之調試控制部103將模式轉移至調試模式(212),使全部的核心停止,且對調試器108通知已經停止。 接受到通知之調試器108經由調試控制部103參照及更新所停止之核心0_104之暫存器資訊(202)。 (2)調試對象之核心之變更 要將調試對象之核心變更為與核心0_104不同之核心的情形時,朝核心0_104傳送調試對象之核心之固有資料。藉此,能夠調試在未與調試控制部103連接之核心上動作之程式之部位。 具體而言,調試器108根據來自調試作業者之指示朝調試控制部103輸出要變更成為調試對象之核心的指示(調試對象變更指示)(203)。接受該指示後調試控制部103進行核心之資料之替換(213)。另外,針對核心資料之替換方法之細節將於後述。該替換之結果為:調試器108經由調試控制部103參照及更新所停止之核心0_104之暫存器資訊(204)。此時,核心0_104之暫存器資訊成為調試對象之核心之暫存器資訊。 (3)步驟執行 在進行步驟執行時,調試器108根據來自調試作業者之指示,朝調試控制部103輸出步驟執行之指示(步驟執行指示)(205)。接受該指示後調試控制部103設定步驟執行之步驟數,且朝執行模式轉移(214)。核心0_104以在214中所設定之步驟數執行程式(222),其後停止(223),且對調試控制部103通知已經停止事宜。 接受到通知之調試控制部103將模式朝調試模式轉移(215),且朝調試器108通知轉移至調試模式之事宜。接受到通知之調試器108經由調試控制部103參照及更新步驟執行後之核心0_104之暫存器資訊(206)。 (4)程式之再次執行 在使程式再次執行時,調試器108根據來自調試作業者之指示,朝調試控制部103輸出程式之再次執行之指示(程式再次執行指示)(207)。接受該指示後調試控制部103朝執行模式轉移(216),且使核心0_104至核心3_107再次執行程式之執行(224)。 於在核心0_104中動作之程式到達斷點之命令位址時,核心0_104停止(225),且對調試控制部103通知已停止事宜。接受到通知後調試控制部103使模式轉移至調試模式(217),而使全部核心停止,且對調試器108通知已經停止事宜。 接受到通知之調試器108經由調試控制部103參照及更新核心0_104之暫存器資訊(208)。又,若在225中未到達斷點,則核心0_104至核心3_107持續動作,直至程式之執行結束為止。藉由反覆進行該處理,而實現對核心0_104傳送調試對象之核心之固有資料之處理。 圖5係顯示本實施形態1之處理器之核心之資料替換處理之流程的流程圖。圖5相當於圖4之213之核心資料替換處理。首先,調試控制部103參照核心0_104之暫存器資訊1040,判定是否為調試對象核心之固有資料(401)。此處,在暫存器資訊1040內,包含有原來之核心之識別資訊。而後,在判定為不是調試對象之核心之固有資料時,核心0_104對各核心指示朝相鄰之核心傳送固有資料(402)。而後,返回401。在401中,在判定為是調試對象之核心之固有資料時,由於自調試控制部103能夠參照及更新之暫存器資訊係調試對象之核心,故結束核心資料替換處理。亦即,固有資料在環狀地連接之核心間被朝相鄰之核心傳送,直至調試對象之核心之固有資料被傳送至核心0_104為止,如桶接力般將調試對象之核心之固有資料朝核心0_104傳送。 如此般,在本實施形態中,針對複數個核心中一個調試用核心,調試控制部能夠參照及更新暫存器資訊。而且,環狀地連接諸個核心,而能夠在核心間傳送固有之資料即暫存器資訊。因此,即便是調試控制部無法參照等之核心之暫存器資訊,藉由朝調試用核心依次傳送,而可在調試用核心上實現實質上在調試對象之核心上動作的程式之部位之調試。而且,由於調試控制部為一個即可,故即便在核心數為多之情形下,仍可將處理器之安裝尺寸抑制為較小。 又,本實施形態可如下述般表述。亦即,多工處理器具備:複數個核心及調試控制部。前述複數個核心中之一部分係以可自前述調試控制部參照及更新暫存器資訊之方式與其連接之調試用核心。前述調試控制部將前述複數個核心中作為調試對象之第1核心內之暫存器資訊傳送至前述調試用核心。藉此,可針對處理器核心數之增加而抑制安裝尺寸之增加。 又,前述調試用核心使用前述被傳送之暫存器資訊,在前述第1核心進行執行對象之程式之調試。藉此,可進行實質上在第1核心中之調試。 前述複數個核心係環狀地連接,前述調試控制部當前述調試用核心內之暫存器資訊非調試對象之前述第1核心之暫存器資訊的情形時,朝與該調試用核心相鄰之核心傳送該暫存器資訊。藉此,即便是調試控制部無法直接參照及更新之暫存器資訊,亦可經由調試用核心而進行參照及更新。 〔實施形態2〕 本實施形態2係上述之實施形態1之改良例。本實施形態2之多工處理器進一步具備保存區,前述調試控制部係在朝前述保存區傳送前述調試用核心內之暫存器資訊之後,將前述第1核心內之暫存器資訊傳送至前述調試用核心。藉此,與實施形態1相比,由於可使資料替換處理時間均一化,故可使調試時之動作之平均速度高速化。 圖6係顯示本實施形態2之多工處理器101a及調試器系統102之構成之方塊圖。多工處理器101a具備:調試控制部103、核心0_104、核心1_105、核心2_106、核心3_107、及保存區501。保存區501係能夠保持核心固有資料即暫存器資訊之記憶區域。此處,核心0_104至核心3_107與保存區501分別由匯流排連接。亦即,能夠進行任意之核心間之核心固有資料之傳送,且能夠進行任意之核心與保存區501之間之核心固有資料之傳送。 又,調試時之處理流程大致與實施形態1之圖4相同,但213之核心之資料替換處理不同。圖7係顯示本實施形態2之處理器之核心之資料替換處理之流程的流程圖。圖7係使用保存區501,更換核心0_104之固有資料與調試對象之核心之固有資料的程序。 首先,調試控制部103判定所連接之核心0_104之暫存器資訊是否為調試對象之核心之固有資料,且判定是否進行資料之替換(601)。若判定為要進行資料之替換,調試控制部103將核心0_104內之暫存器資訊朝保存區501複製而保存資料(602)。其次,調試控制部103以將調試對象之核心之暫存器資訊朝核心0_104複製之方式進行指示(603)。亦即,調試控制部103朝調試用核心傳送調試對象之核心之固有資料。而後,調試控制部103以將儲存於保存區501之資料朝調試對象之核心複製之方式進行指示(604)。亦即,朝調試對象之核心傳送保存資料。又,在601中,若判定為核心0_104之暫存器資訊係調試對象之核心之固有資料,結束資料替換處理。 如此般,在本實施形態2中具有保存區501,其保存調試用核心之原來之固有資料;及匯流排,其連接各核心彼此之間,且連接各核心與保存區501之間。在上述之實施形態1中,在核心數為多,且調試對象之核心位於遠離調試用核心之場所時,資料之替換次數(傳送次數)變多,而存在調試時之動作變慢之可能性。相對於此,在本實施形態2中,由於資料之替換處理中資料傳送次數成為3次,故可使資料替換處理時間均一化。因此,與實施形態1相比可使調試時之動作之平均速度高速化。 〔實施形態3〕 本實施形態3係上述之實施形態2之改良例。本實施形態3之調試控制部在將調試對象變更為前述複數個核心中之第2核心時,朝前述第1核心傳送前述調試用核心內之暫存器資訊,且將前述第2核心內之暫存器資訊傳送至前述調試用核心。藉此,與實施形態2相比,可使核心之資料替換處理高速化。 又,前述調試控制部在將調試對象變更為前述第2核心時,判定前述調試用核心內之暫存器資訊是否已經被改寫,在判定為前述調試用核心內之暫存器資訊已經被改寫時,朝前述第1核心傳送該暫存器資訊。因此,由於在暫存器資訊未被改寫時,不進行暫存器資訊之傳送,故可減少傳送次數,而可進一步高速化。 又,構成圖與實施形態2之圖6相同,調試時之處理流程大致與實施形態1之圖4相同。惟,圖4之213之核心之資料替換處理、以及211及216之執行模式轉移時之處理係不同。 在上述之實施形態2中,在調試對象之核心之變更時,需要經常地進行圖7之602、603及604之3次資料傳送。亦即,在實施形態2中,在調試用核心之核心0_104與調試對象之核心之間更換了資料。相對於此,在本實施形態3中,設想複數次替換調試對象之核心之情形。首先,將核心0_104之固有資料預先保存於保存區501,而朝核心0_104傳送調試對象之核心之固有資料。而後,在讀寫了核心0_104之暫存器資訊之後,將該暫存器資訊即核心固有資料回寫至原來之調試對象之核心。 圖8顯示本實施形態3之多工處理器101a之核心之資料替換處理之流程的流程圖。首先,調試控制部103判定調試對象是否為核心0_104(701)。若調試對象係核心0_104則前進至702,若不是則前進至706。 在701中,在調試對象係核心0_104時,調試控制部103判定核心0_104內之暫存器資訊是否為核心0_104之固有資料(702)。若核心0_104內之暫存器資訊係核心0_104之固有資料,則結束該處理。其理由在於:核心0_104所具有之暫存器資訊係核心0_104之固有資料,由於可利用核心0_104之固有資料進行調試,故無替換之必要。 另一方面,在702中,在核心0_104內之暫存器資訊不是核心0_104之固有資料時,調試控制部103判定是否自調試器108對核心0_104之暫存器資訊進行了改寫(703)。此處,調試器108經由調試控制部103進行核心0_104之暫存器資訊之改寫(更新)。因此,調試控制部103可判定有無暫存器資訊之改寫。 在703中,若未改寫,則前進至705。其理由在於:若未改寫,則由於核心0_104所具有之暫存器資訊與原來之調試對象之核心之暫存器資訊相同,故無須回寫而可進行調試。 另一方面,在703中,在自調試器108對核心0_104之暫存器資訊進行了改寫時,調試控制部103朝原來之調試對象之核心傳送在核心0_104中所改寫之暫存器資訊而返回資料(704)。 其後,調試控制部103朝核心0_104傳送保存於保存區501之核心0_104之暫存器資訊(固有資料)(705)。 繼之,在701中,在調試對象不是核心0_104時,調試控制部103判定核心0_104內之暫存器資訊是否為核心0_104之固有資料(706)。若核心0_104內之暫存器資訊係核心0_104之固有資料,則前進至710,若不是固有資料則前進至707。 在706中,若核心0_104內之暫存器資訊不是核心0_104之固有資料時,調試控制部103判定是否自調試器108對核心0_104之暫存器資訊進行了改寫(707)。 在707中,若未改寫,則前進至705。其理由在於:若未改寫,則由於核心0_104所具有之暫存器資訊與原來之調試對象之核心之暫存器資訊相同,故無須回寫而可進行調試。 另一方面,在707中,在自調試器108對核心0_104之暫存器資訊進行了改寫時,調試控制部103朝原來之調試對象之核心傳送在核心0_104中所改寫之暫存器資訊而返回資料(708)。 其後,調試控制部103朝核心0_104傳送事先保存於保存區501之核心0_104之暫存器資訊(固有資料)(709)。 在706中,在核心0_104內之暫存器資訊係核心0_104之固有資料時,調試控制部103將核心0_104之暫存器資訊朝保存區501複製而保存(710)。其後,前進至709。 此處,說明採用圖8之流程之調試之例。具體而言,係以核心1_105為調試對象讀出核心1_105之固有資料,其後,以核心2_106為調試對象讀出核心2_106之固有資料之例。 首先,在701中,由於調試對象係核心1_105,故前進至706。其次,在706中,由於核心0_104所具有之暫存器資訊係核心0_104之固有資料,故前進至710。而後,在710中,核心0_104之固有資料向保存區501保存。 其後,前進至709,朝核心0_104傳送調試對象之核心1_105之固有資料。藉此,以核心1_105之固有資料為對象而經由與核心0_104連接之調試控制部103,調試器108可進行固有資料之讀出。如是,至此為止之資料傳送之次數成為2次。 其後,若以核心2_106為調試對象,則在701中,由於調試對象係核心2_106,故前進至706。而後,由於核心0_104所具有之暫存器資訊係核心1_105之固有資料,故前進至707。 在707中,由於核心0_104所具有之核心1_105之固有資料未被改寫,故前進至709。而後,在709中,朝核心0_104傳送核心2_106之固有資料。 藉此,以核心2_106之固有資料為對象而經由與核心0_104連接之調試控制部103,調試器108可進行固有資料之讀出。如是,在將調試對象自核心1_105朝核心2_106變更時之資料傳送之次數成為1次。 在圖8之流程中在已替換調試對象之核心之資料之情形下,核心0_104之固有資料僅在保存區501。因此,為了再執行程式,而有必要朝核心0_104傳送保存資料。因此,圖9係顯示本實施形態3之處理器之程式之再執行前之處理之流程的流程圖。 首先,調試控制部103判定自調試器108對核心0_104之暫存器資訊是否進行了改寫(801)。在801中,若未改寫,則前進至803。另一方面,在801中,在自調試器108對核心0_104之暫存器資訊進行了改寫時,調試控制部103朝原來之調試對象之核心傳送在核心0_104中所改寫之暫存器資訊而返回資料(802)。 其後,調試控制部103朝核心0_104傳送預先保存於保存區501之核心0_104之暫存器資訊(固有資料)(803)。藉此,可返回全部核心之固有資料,而能夠進行程式之再執行。 如上述所述般,在實施形態2中,為了替換調試對象之核心之固有資料與核心0_104之固有資料,而經常地進行3次資料傳送。相對於此,在本實施形態3中,若僅在參照及更新核心內之暫存器資訊之情形下,則進行朝保存區501之傳送及自調試對象之核心朝核心0_104之傳送此2次即足夠。又,在進一步變更為別的調試對象之核心時,若無對核心0_104所具有之調試對象之核心之固有資料進行改寫則進行1次傳送即可完成,又,即便有改寫藉由進行2次傳送即可完成。 惟,在使程式再執行時,需要自保存區501朝核心0_104之資料傳送,若無對核心0_104所具有之調試對象之核心之固有資料進行改寫則進行1次傳送,又,若有改寫則進行2次傳送而有必要進行追加。亦即,在變更調試對象,再執行程式時,存在最大有必要進行4次資料傳送之情形。 本實施形態3在程式停止時,在參照複數個核心內之資料之情形下為有效,藉由將資料之傳送次數與實施形態2相比進行削減,而可使調試時之動作高速化。 〔實施形態4〕 本實施形態4係上述之實施形態1至3之變化例。亦即,是一種多工處理器系統,其具備:如實施形態1至3中任一者之多工處理器;及記憶體,其具有與前述複數個核心分別對應且用於記憶各核心內之暫存器資訊之複數個保存區。換言之,係將現有之記憶體用於核心之暫存器資訊之保存區者。 圖10係顯示本實施形態4之多工處理器系統100之構成之方塊圖。多工處理器系統100具備:多工處理器101b、及記憶體901。多工處理器101b具備:調試控制部103、核心0_104、核心1_105、核心2_106、及核心3_107。核心0_104至核心3_107與記憶體901分別由匯流排連接。 記憶體901係相對於多工處理器101b之外置記憶體裝置,儲存有程式等(未圖示)。再者,記憶體901儲存有核心0資料902、核心1資料903、核心2資料904、及核心3資料905。核心0資料902係核心0_104之暫存器資訊被覆製之資料。相同地,核心1資料903係核心1_105之暫存器資訊、核心2資料904係核心2_106之暫存器資訊、核心3資料905係核心3_107之暫存器資訊分別被覆製之資料。 調試控制部103在調試時對各核心指示朝記憶體901保存暫存器資訊。藉此,調試控制部103可經由核心0_104對記憶體901內之核心0資料902至核心3資料905進行參照及更新。 <6.其他實施形態> 另外,在上述之實施形態中,係以本發明為硬體之構成而進行了說明,但本發明並不限定於此。本發明亦能夠藉由使CPU(Central Processing Unit,中央處理單元)等之處理器執行電腦程式而實現任意之處理。 在上述之例中,程式可使用各種類型之非暫時性電腦可讀取媒體(non-transitory computer readable medium)而儲存,並可提供給電腦。非暫時性電腦可讀取媒體包含具有各種類型之實體的記錄媒體(tangible storage medium,有形儲存媒體)。非暫時性電腦可讀取媒體之例包含磁記錄媒體(例如:軟碟片、磁帶、硬碟機)、光磁記錄媒體(例如光磁碟)、CD-ROM(唯讀記憶體)CD-R、CD-R/W、半導體記憶體(例如:遮罩唯讀記憶體、PROM(可程式化唯讀記憶體)、EPROM(可清除可程式唯讀記憶體)、快閃記憶體、RAM(隨機存取記憶體))。此外,程式亦可由各種類型之暫時性電腦可讀取媒體(transitory computer readable medium)提供給電腦。暫時性電腦可讀取媒體之例包含電信號、光信號、及電磁波。暫時性電腦可讀取媒體能夠經由電線及光纖等之有線通信路徑、或無線通信路徑而將程式提供給電腦。 以上,基於實施形態具體地說明了本發明者所完成之發明,但本發明並非限定於前述實施形態,應瞭解在不脫離本發明之要旨之範圍內可進行各種變更。
100‧‧‧多工處理器系統
101‧‧‧多工處理器
101a‧‧‧多工處理器
101b‧‧‧多工處理器
102‧‧‧調試器系統
103‧‧‧調試控制部
104‧‧‧核心0
105‧‧‧核心1
106‧‧‧核心2
107‧‧‧核心3
108‧‧‧調試器
301‧‧‧I/F(介面)0
302‧‧‧I/F(介面)1
303‧‧‧I/F(介面)2
304‧‧‧I/F(介面)3
501‧‧‧保存區
901‧‧‧記憶體
902‧‧‧核心0資料
903‧‧‧核心1資料
904‧‧‧核心2資料
905‧‧‧核心3資料
1040‧‧‧暫存器資訊
1041‧‧‧暫存器
1042‧‧‧程式計數器(PC)
1043‧‧‧狀態暫存器
1044‧‧‧斷點
3011‧‧‧接收緩衝器
3012‧‧‧發送緩衝器
圖1係顯示本實施形態1之多工處理器及調試器系統之構成之方塊圖。 圖2係顯示本實施形態1之多工處理器之核心之內部構成之方塊圖。 圖3係顯示本實施形態1之多工處理器之核心間之環形匯流排之構成之方塊圖。 圖4係顯示本實施形態1之調試處理之流程之流程圖。 圖5係顯示本實施形態1之多工處理器之核心之資料替換處理之流程的流程圖。 圖6係顯示本實施形態2之多工處理器及調試器系統之構成之方塊圖。 圖7係顯示本實施形態2之多工處理器之核心之資料替換處理之流程的流程圖。 圖8係顯示本實施形態3之多工處理器之核心之資料替換處理之流程的流程圖。 圖9係顯示本實施形態3之多工處理器之程式之再執行前之處理之流程的流程圖。 圖10係顯示本實施形態4之多工處理器系統之構成之方塊圖。

Claims (8)

  1. 一種多工處理器,其具備: 複數個核心,及 調試控制部,且 前述複數個核心中之一部分 係以可自前述調試控制部參照及更新暫存器資訊之方式與其連接之調試用核心, 前述調試控制部係將前述複數個核心之中作為調試對象之第1核心內之暫存器資訊向前述調試用核心傳送。
  2. 如請求項1之多工處理器,其中 前述調試用核心係使用前述被傳送之暫存器資訊,在前述第1核心進行執行對象之程式之調試。
  3. 如請求項1之多工處理器,其中 前述多工處理器進一步具備保存區, 前述調試控制部係在向前述保存區傳送前述調試用核心內之暫存器資訊之後,將前述第1核心內之暫存器資訊向前述調試用核心傳送。
  4. 如請求項3之多工處理器,其中前述調試控制部 若已將調試對象變更為前述複數個核心中之第2核心的情形時,向前述第1核心傳送前述調試用核心內之暫存器資訊,且 將前述第2核心內之暫存器資訊向前述調試用核心傳送。
  5. 如請求項4之多工處理器,其中前述調試控制部 若已將調試對象變更為前述第2核心的情形時,判定前述調試用核心內之暫存器資訊是否已經被改寫,且 若判定為前述調試用核心內之暫存器資訊已被改寫,向前述第1核心傳送該暫存器資訊。
  6. 如請求項1之多工處理器,其中前述複數個核心係環狀地連接, 前述調試控制部 若前述調試用核心內之暫存器資訊非調試對象之前述第1核心之暫存器資訊,向與該調試用核心相鄰之核心傳送該暫存器資訊。
  7. 如請求項1之多工處理器,其中前述暫存器資訊包含程式計數器值或狀態暫存器值。
  8. 一種多工處理器系統,其具備: 如請求項1之多工處理器,及 記憶體,其具有分別與前述複數個核心對應且用於記憶各核心內之暫存器資訊之複數個保存區。
TW106132524A 2016-11-28 2017-09-22 多工處理器及多工處理器系統 TW201820169A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016230039A JP6744806B2 (ja) 2016-11-28 2016-11-28 マルチプロセッサ
JP??2016-230039 2016-11-28

Publications (1)

Publication Number Publication Date
TW201820169A true TW201820169A (zh) 2018-06-01

Family

ID=60043048

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106132524A TW201820169A (zh) 2016-11-28 2017-09-22 多工處理器及多工處理器系統

Country Status (5)

Country Link
US (1) US10489271B2 (zh)
EP (1) EP3327573B1 (zh)
JP (1) JP6744806B2 (zh)
CN (1) CN108121686B (zh)
TW (1) TW201820169A (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
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 (14)

* Cited by examiner, † Cited by third party
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调试方法
US9404970B2 (en) * 2014-11-14 2016-08-02 Cavium, Inc. Debug interface for multiple CPU cores

Also Published As

Publication number Publication date
JP6744806B2 (ja) 2020-08-19
CN108121686A (zh) 2018-06-05
US20180150386A1 (en) 2018-05-31
EP3327573A1 (en) 2018-05-30
JP2018088048A (ja) 2018-06-07
CN108121686B (zh) 2023-06-09
EP3327573B1 (en) 2023-09-06
US10489271B2 (en) 2019-11-26

Similar Documents

Publication Publication Date Title
TW201820169A (zh) 多工處理器及多工處理器系統
JP4529063B2 (ja) システムシミュレータ、シミュレーション方法及びシミュレーションプログラム
CN104598402A (zh) 一种闪存控制器和闪存控制器的控制方法
WO2012077704A1 (ja) デバッグスタブサーバ、デバッグ方法およびプログラム
CN107315449B (zh) 计算机设备、读取时间的方法和写入时间的方法
JP4653838B2 (ja) 演算処理装置、演算処理装置の制御方法及び制御プログラム
JP4600601B1 (ja) デバッグ支援装置、デバッグ支援方法及びデバッグ支援プログラム
CN105138308A (zh) 一种更新寄存器的方法及装置
JP5641181B2 (ja) 二重化処理装置
US20080133838A1 (en) Data processing device
CN109358903B (zh) 数据访问设备和访问错误通知方法
JP2008158699A (ja) プロセッサ
CN112802527B (zh) 嵌入式闪存高速编程的实现方法、嵌入式闪存的编程系统
JP2004021751A (ja) デバッグ装置、デバッグプログラム、およびデバッグプログラム記録媒体
US11269922B2 (en) Database server, database management method, and storage medium
JP2023051319A (ja) 制御システムおよび処理装置
JP2012003671A (ja) デバッグ装置、デバッグ方法及びデバッガプログラム
JP2021026648A (ja) 動作トレース装置
JP2008022116A (ja) 伝送装置
JP2014206807A (ja) ソフトウェア検査方法及びプログラム
JP5782389B2 (ja) エミュレーションシステム、エミュレーションシステムの制御方法、エミュレーション装置、プログラム
JP2007128413A (ja) プログラマブルコントローラ
JP2019204196A (ja) デバッグシステム及びデバッグプログラム
JP2019020896A (ja) プロセッサ及びメモリモジュール
JP2000122882A (ja) マルチスレッドプロセッサおよびデバッグ装置